[发明专利]图形数据库联机事务中事务过期机制的实现方法有效
申请号: | 201110072953.5 | 申请日: | 2011-03-25 |
公开(公告)号: | CN102193981A | 公开(公告)日: | 2011-09-21 |
发明(设计)人: | 陈升;于洪方;井卫军;蒋建平;陈晞;刘健 | 申请(专利权)人: | 北京世纪互联工程技术服务有限公司;北京云快线软件服务有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F9/46 |
代理公司: | 北京北新智诚知识产权代理有限公司 11100 | 代理人: | 张卫华 |
地址: | 100015 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及图形数据库联机事务中事务过期机制的实现方法,包括步骤:检查事务是否过期,过期则将该条记录存入待处理队列;计算待处理事务队列;如果没有待处理的事务则等待;否则,处理的过程为:依次取出事务队列中的每一条记录,如果该事务未过期、未提交、未回滚、未锁定,则标记事务过期状态、恢复事务锁定的数据记录、删除脏数据、删除事务记录,完成本条事务的过期恢复操作。否则放弃本条记录,处理下一条记录。本发明提供了简单、可靠的数据事务过期自检机制,自检中触发的数据恢复操作具有任意断点持续性,恢复操作开始后,在数据恢复开始至完成的任意时间点的意外执行中断,均可在再次启动系统后继续执行,直至恢复完成。 | ||
搜索关键词: | 图形 数据库 联机 事务 过期 机制 实现 方法 | ||
【主权项】:
一种图形数据库联机事务中事务过期机制的实现方法,其特征在于:联机事务处理自上而下分为三层:最上层为暴露给外部调用程序的API;中间层为事务逻辑控制层,按操作类别分为同步区与非同步区,同步区意味着在同一时间只能有一个操作进行,其他操作在进入同步区之间均处于等待状态,该机制利用Java语言的线程同步锁定特性实现,非同步区的操作则不受限制,在任何时间均可以进行;最下层为存储数据的DataSet操作抽象层,在DataSet中,保存有联机事务自身的状态信息,以及数据的事务状态属性信息;将图形数据库中联机事务的状态数据存储在名称为graphic_db_tx_def的数据集DataSet中,该DataSet的数据结构如下:将图形数据库中的每一个节点Node的定义信息保存在名称为graphic_db_node_def的数据集DataSet中,该DataSet的数据结构如下: 列名称 数据类型 说明 node_id Number 全局唯一的ID name String 用于保存Node的名称在图形数据库中每个Node均有一个数据集DataSet,该DataSet中缺省内置如下两个列:用Relation描述Node与Node之间的关系,每一个Relation均有一个全局唯一的名称、一个源Node、一个目标Node,由源Node到目标Node的方向,称之为正向,由目标Node到起始Node的方向称之为反向,将每一个Relation的定义信息保存在名称为graphic_db_relation_def的DataSet中,该DataSet的数据结构如下: 列名称 数据类型 说明 relation_id Number 全局唯一的ID name String 用于保存Relation的名称 source_node Number 源Node的ID target_node Number 目标Node的ID两个通过Relation连接的Node中的数据可以建立连接,将所有数据的连接信息保存在名称为graphic_db_relation_record_def的DataSet中,该DataSet的数据结构如下:执行以下步骤:1)检查事务是否已过期,若过期则将该条记录存入待处理队列;2)计算待处理事务队列,通过遍历队列,计算队列的长度;3)检查队列的长度,如果长度大于0,则意味着有待处理的事务,继续下面的步骤;否则转步骤13),进入等待状态;4)将事务队列中的第一条记录从队列中取出,作为当前事务记录进行处理;5)检查事务是否已标记过期,如已过期则放弃本条记录,返回步骤2),否则继续下面的步骤;6)检查事务是否已标记提交,如已提交则放弃本条记录,返回步骤2),否则继续下面的步骤;7)检查事务是否已标记回滚,如已回滚则放弃本条记录,返回步骤2),否则继续下面的步骤;8)检查事务是否已被锁定,如已锁定则放弃本条记录,返回步骤2),否则继续下面的步骤;9)标记事务过期状态,将当前事务记录is_timeout列的值置为1,标记该条记录已过期;10)恢复事务锁定的数据记录;11)删除脏数据;12)删除事务记录,将当前事务记录从名为graphic_db_tx_def的DataSet中删除,完成本条事务的过期恢复操作,返回步骤2);13)轮循程序的线程休眠一段时间;14)检查轮循程序在内存中的退出标识变量,如果该变量的值为true,则意味着图形数据库将要关闭,退出检查的循环,否则返回步骤1),重复执行事务过期检查操作。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京世纪互联工程技术服务有限公司;北京云快线软件服务有限公司,未经北京世纪互联工程技术服务有限公司;北京云快线软件服务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201110072953.5/,转载请声明来源钻瓜专利网。
- 上一篇:棉种加工脱绒渗透剂
- 下一篇:图形数据库非联机事务中删除数据的控制方法