[发明专利]图形数据库联机事务中事务过期机制的实现方法有效
申请号: | 201110072953.5 | 申请日: | 2011-03-25 |
公开(公告)号: | CN102193981A | 公开(公告)日: | 2011-09-21 |
发明(设计)人: | 陈升;于洪方;井卫军;蒋建平;陈晞;刘健 | 申请(专利权)人: | 北京世纪互联工程技术服务有限公司;北京云快线软件服务有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F9/46 |
代理公司: | 北京北新智诚知识产权代理有限公司 11100 | 代理人: | 张卫华 |
地址: | 100015 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 图形 数据库 联机 事务 过期 机制 实现 方法 | ||
1.一种图形数据库联机事务中事务过期机制的实现方法,其特征在于:
联机事务处理自上而下分为三层:
最上层为暴露给外部调用程序的API;
中间层为事务逻辑控制层,按操作类别分为同步区与非同步区,同步区意味着在同一时间只能有一个操作进行,其他操作在进入同步区之间均处于等待状态,该机制利用Java语言的线程同步锁定特性实现,非同步区的操作则不受限制,在任何时间均可以进行;
最下层为存储数据的DataSet操作抽象层,在DataSet中,保存有联机事务自身的状态信息,以及数据的事务状态属性信息;
将图形数据库中联机事务的状态数据存储在名称为graphic_db_tx_def的数据集DataSet中,该DataSet的数据结构如下:
将图形数据库中的每一个节点Node的定义信息保存在名称为graphic_db_node_def的数据集DataSet中,该DataSet的数据结构如下:
在图形数据库中每个Node均有一个数据集DataSet,该DataSet中缺省内置如下两个列:
用Relation描述Node与Node之间的关系,每一个Relation均有一个全局唯一的名称、一个源Node、一个目标Node,由源Node到目标Node的方向,称之为正向,由目标Node到起始Node的方向称之为反向,将每一个Relation的定义信息保存在名称为graphic_db_relation_def的DataSet中,该DataSet的数据结构如下:
两个通过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),重复执行事务过期检查操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京世纪互联工程技术服务有限公司;北京云快线软件服务有限公司,未经北京世纪互联工程技术服务有限公司;北京云快线软件服务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110072953.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:棉种加工脱绒渗透剂
- 下一篇:图形数据库非联机事务中删除数据的控制方法