[发明专利]一种联合使用文件系统和RDBMS存储事务数据的方法在审
申请号: | 201710269586.5 | 申请日: | 2017-04-24 |
公开(公告)号: | CN107092685A | 公开(公告)日: | 2017-08-25 |
发明(设计)人: | 古勇华 | 申请(专利权)人: | 广州新盛通科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 510000 广东省广州市天河区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 联合 使用 文件系统 rdbms 存储 事务 数据 方法 | ||
技术领域
本发明涉及数据处理领域,具体是一种联合使用文件系统和RDBMS存储事务数据的方法。
背景技术
经典的OLTP(联机事务处理)系统通常会根据需要存储的数据,设计符合范式的关系模型,并使用RDBMS(关系型数据库管理系统)进行数据管理。OLTP(联机事务处理)的一个基本要求是事务的ACID属性,即事务的原子性、一致性、隔离性和持久性,而RDBMS(关系型数据库管理系统)的事务机制保障了这一点。
随着计算机技术的进步和普及,单一的结构化数据已经不能满足部分管理系统的需求,非结构化数据和结构化数据统一被管理的需求越来越普遍,例如政府机构面向企业的申报系统,一个申报事务数据既包含了结构化的表单数据,也可能包含word文档、pdf文档等非结构化数据。目前针对这种需求,现有解决方案有以下四种:第一种,使用RDBMS(关系型数据库管理系统)中的CLOB、BLOB等大文本、大二进制字段来存储非结构化的文档数据,对CLOB、BLOB的读写操作不包含进数据库事务。这种方法的优点是设计简单、数据库事务持续时间短,高并发环境下RDBMS(关系型数据库管理系统)响应速度不会显著下降;缺点是不能保障事务的ACID属性,对一些数据质量要求严苛的系统来说,是不可接受的;第二种,使用RDBMS(关系型数据库管理系统)中的CLOB、BLOB等大文本、大二进制字段来存储非结构化的文档数据,对CLOB、BLOB的读写操作包含进数据库事务。这种方法的优点是设计简单,能保障事务的ACID属性;缺点是当事务中包含大量(数量和大小)的文档数据时,数据库事务执行时间将大大增长,高并发环境下RDBMS(关系型数据库管理系统)响应速度将成指数下降;数据库日志和数据将急剧膨胀,导致数据库管理的难度和RDBMS(关系型数据库管理系统)对硬件平台的要求显著增高;第三种,使用文件系统来存储非结构化文档数据,使用RDBMS(关系型数据库管理系统)来存储结构化数据,建立结构化数据和文件的关联,对文件的读写操作不包含进数据库事务。这种方法的优点是简单、高并发环境下RDBMS(关系型数据库管理系统)响应速度不会下降;缺点是不能保障事务的ACID属性,对一些数据质量要求严苛的系统来说,是不可接受的;第四种,使用文件系统来存储非结构化文档数据,使用RDBMS(关系型数据库管理系统)来存储结构化数据,建立结构化数据和文件的关联,利用两阶段提交协议保障事务的ACID属性。这种方法的优点是能保障事务的ACID属性;缺点是当事务中包含大量(数量和大小)的文档数据时,两阶段提交事务执行时间将大大增长,高并发环境下RDBMS(关系型数据库管理系统)响应速度将成指数下降;要实现两阶段提交,需要使用特定的文件系统或文件中间件、事务协调服务等,并使用两阶段提交API进行编程,可能导致项目投资增加,程序员学习和编程周期增长。这些都为人们的使用带来了不便。
发明内容
本发明的目的在于提供一种联合使用文件系统和RDBMS存储事务数据的方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种联合使用文件系统和RDBMS存储事务数据的方法,具体步骤如下:
步骤一,在RBBMS(关系型数据库管理系统)中为结构化的事务数据建立表,以及映射表和逻辑删除表;
步骤二,编写新增、删除和更新事务数据的程序代码;
步骤三,编写用于事务数据(包含文件部分)读取和访问的程序代码;
步骤四,编写后台服务程序代码,定时为标记为逻辑删除的文件执行物理删除。
作为本发明进一步的方案:步骤一中,在RDBMS(关系型数据库管理系统)中建立映射表管理结构化事务数据和文件的对应关系。
作为本发明进一步的方案:步骤一中,在RDBMS(关系型数据库管理系统)中建立逻辑删除表来记录已经被逻辑删除文件的文件名和逻辑删除的时间。
作为本发明进一步的方案:步骤二中,新增事务数据的操作顺序是开始数据库事务,将要新增文件的文件名添加到逻辑删除表进行逻辑删除,提交数据库事务,新增文件,开始数据库事务,新增其他结构化数据,删除步骤一中插入的所有逻辑删除记录,提交数据库事务。
作为本发明进一步的方案:步骤二中删除事务数据操作并不物理删除事务对应的文件,而是将事务对应文件的文件名加入逻辑删除表。
作为本发明进一步的方案:步骤二中更新事务数据操作如果涉及文件更新,并不是在原文件上修改,而是将原文件逻辑删除,使用新文件/文件名保存更新后的数据,并使映射表中相应的记录指向新文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州新盛通科技有限公司,未经广州新盛通科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710269586.5/2.html,转载请声明来源钻瓜专利网。