买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明公布】一种时态图数据库分布式事务解决系统_北京航空航天大学_202011130789.4 

申请/专利权人:北京航空航天大学

申请日:2020-10-21

公开(公告)日:2021-01-12

公开(公告)号:CN112214649A

主分类号:G06F16/901(20190101)

分类号:G06F16/901(20190101);G06F16/903(20190101)

优先权:

专利状态码:有效-授权

法律状态:2022.02.15#授权;2021.01.29#实质审查的生效;2021.01.12#公开

摘要:本发明通过人工智能领域的方法,实现了一种时态图数据库分布式事务解决系统,设置客户端、master中心节点,Coordinator,participant结构,通过设计改进两阶段提交对时态图数据库分布式事务进行扩展,并设计时态图数据库在分布式环境中的并发控制机制以及故障恢复机制,对两阶段流程的改进与内存MVCC的设计,提升了在分布式环境中对时态图数据操作的速度,并与现有其他支持事务的分布式数据库TiDB相比有更好的性能,在时态图数据的存储上可以很好的提高读写的并发性能,同时缩小事务执行的时间。

主权项:1.一种时态图数据库分布式事务解决系统,其特征在于:单纯的事务解决方法有属于纯逻辑算法,不符合专利法25条发明的保护客体要求的嫌疑,因此应当将方案变为一个有输入与输出,可以对外交互的系统,目前方案对外交互部分的输入输出内容不明确,最好将数据库信息从客户端输入至存储到介质的过程明确下,系统设置客户端、Coordinator、master、participant,所述master为中心节点,用于维持心跳并提供全局唯一版本号,所述Coordinator为第二阶段选取的存储节点来指挥其他存储节点进行统一提交,所述participant为其他存储节点,通过设计改进两阶段提交对时态图数据库分布式事务进行扩展,并设计时态图数据库在分布式环境中的并发控制机制以及故障恢复机制;具体地,所述改进两阶段提交包括:系统在用户接口层面提供时态图读写接口,通过网络通信将操作发送到对应的存储节点,并且在存储节点底层调用时态图数据库存储模块接口执行操作,系统采用改进两阶段提交的方式对时态图数据库分布式事务进行统一的提交或回滚,由客户端发起,在事务的第一阶段,发起事务的客户端先从master处获取开始版本号,随后将事务发送到各参与事务的存储节点,存储节点第一阶段完成一致性验证与写日志,当存储节点完成第一阶段后将操作结果同时返回给客户端与Coordinator,返回结果后,事务进入第二阶段,若所有存储节点都返回成功,则客户端返回事务成功,后续统一提交将由Coordinator统一指挥完成提交时coordinator先从master获取结束版本号,随后发送提交请求通知其他participant提交,若有存储节点返回事务失败,则由Coordinator统一协调进行回滚;所述并发控制机制包括多版本并发控制过程以及用于解决读写并发的内存MVCC机制;所述多版本迸发控制过程进行并发控制时,数据库维护一个数据的多个版本,每一个版本的数据会附带许多额外的版本信息,保持版本链,同时每个事务携带一个版本号,通过事务之间版本号进行并发协商,随着版本号增大,小的版本号会逐渐退出并发控制,作为历史版本被保存,所述内存MVCC机制只在内存中维护多个版本对象数据,磁盘中仅维护最大版本数据,当系统认为不需要该版本数据进行并发控制时内存即清理所述版本数据,所述内存中维护的数据的格式包括TGraphkey信息、Startversion、endversion、Value字段,所述TGraphkey信息包括存储节点和边的id,属性名称,Startversion、endversion字段分别为事务开始和结束时从中心节点获取的版本号,所述Value为属性值;所述内存MVCC机制分为写机制和读机制,所述写机制中,事务第一阶段开始时和第二阶段提交时各获取一次版本号作为事务起始版本号,数据在写入时进行判断,如果是最新版本数据,则将带版本号的数据写入内存,同时更新所述磁盘的数据,否则不需要更新所述磁盘,所述读机制中,如果数据只存在于所述磁盘,则读取所述磁盘数据,而如果内存中有多版本数据,则选择结束版本号小于该操作版本号且开始版本号小于并最接近该操作版本号的数据;所述故障恢复机制采用中心日志的方式,由coordinator集中存储整个事务的完整redo日志,当集群节点出现故障时,coordinator协调指挥其进行恢复,通过coordinator的中心日志保证故障时数据持一致,所述redo日志包括:TransactionId、Version、Status、Operation四个字段,所述TransactionId为事务唯一标识ID、所述Version为事务对应的开始版本号、所述Status为事务当前的状态所述、Operation对应则是整个事务的操作集和,事务状态划分为firstdone、success与rollback,其中事务在第一阶段完成时写入日志,故在coordinator写入日志时默认写入状态为firstdone,完成第一阶段的事务随后进入第二阶段,进行统一的回滚或者提交,若收到所有机器反馈的成功,则提交事务,完成提交的时候coordinator再次更新日志状态为success,若事务在第二阶段完成了回滚,则将日志状态更新为rollback;所述master与集群维护有心跳,当机器短暂故障并重启时不会影响集群整体的运行,若故障并超时未恢复,所述master将发出指令让所有机器停止运行,在宕机期间发起的与故障节点相关的事务全部失败,对于正运行的事务因为机器故障被打断,则会在机器重启后进行恢复,并通过redo日志解决系统故障,进而对redo日志设置检查点,检查点对应事务版本号,事务每清理一次内存版本,则更新一次检查点,检查点之前的事务都是已完成的事务,系统在重启时从检查点开始,依照版本号大小往后读取事务日志并恢复。

全文数据:

权利要求:

百度查询: 北京航空航天大学 一种时态图数据库分布式事务解决系统

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。