CN102193981A - 图形数据库联机事务中事务过期机制的实现方法 - Google Patents

图形数据库联机事务中事务过期机制的实现方法 Download PDF

Info

Publication number
CN102193981A
CN102193981A CN2011100729535A CN201110072953A CN102193981A CN 102193981 A CN102193981 A CN 102193981A CN 2011100729535 A CN2011100729535 A CN 2011100729535A CN 201110072953 A CN201110072953 A CN 201110072953A CN 102193981 A CN102193981 A CN 102193981A
Authority
CN
China
Prior art keywords
affairs
record
data
node
transaction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011100729535A
Other languages
English (en)
Other versions
CN102193981B (zh
Inventor
陈升
于洪方
井卫军
蒋建平
陈晞
刘健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Century Broadband Internet Data Center Co., Ltd.
Original Assignee
BEIJING CLOUDEX SOFTWARE SERVICE Co Ltd
BEIJING BANYANO DATA CENTER SOLUTIONS Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BEIJING CLOUDEX SOFTWARE SERVICE Co Ltd, BEIJING BANYANO DATA CENTER SOLUTIONS Ltd filed Critical BEIJING CLOUDEX SOFTWARE SERVICE Co Ltd
Priority to CN 201110072953 priority Critical patent/CN102193981B/zh
Publication of CN102193981A publication Critical patent/CN102193981A/zh
Application granted granted Critical
Publication of CN102193981B publication Critical patent/CN102193981B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及图形数据库联机事务中事务过期机制的实现方法,包括步骤:检查事务是否过期,过期则将该条记录存入待处理队列;计算待处理事务队列;如果没有待处理的事务则等待;否则,处理的过程为:依次取出事务队列中的每一条记录,如果该事务未过期、未提交、未回滚、未锁定,则标记事务过期状态、恢复事务锁定的数据记录、删除脏数据、删除事务记录,完成本条事务的过期恢复操作。否则放弃本条记录,处理下一条记录。本发明提供了简单、可靠的数据事务过期自检机制,自检中触发的数据恢复操作具有任意断点持续性,恢复操作开始后,在数据恢复开始至完成的任意时间点的意外执行中断,均可在再次启动系统后继续执行,直至恢复完成。

Description

图形数据库联机事务中事务过期机制的实现方法
技术领域
本发明涉及一种图形数据库联机事务中事务过期机制的实现方法。
背景技术
通常在数据库系统中,事务是工作的离散单位。例如,一个数据库事务可以是修改一个用户的帐户平衡或库存项的写操作。联机事务处理系统实时地采集处理与事务相连的数据以及共享数据库和其它文件的地位的变化。在联机事务处理中,事务是被立即执行的。在单一用户、单一数据库环境下执行事务是简单的,这是因为没有冲突问题或对数据库间同步的需求。在一个分布式环境下,写操作经常并行地在多个数据库服务器上发生。这样的并发事务处理需要一个“卷回”机制,以保证在一次写操作中系统失效的情况下,仍保证数据库的完整性。事务要么一起确认,要么放弃。如果一个或多个与事务有关的系统响应不一致,这意味着系统或通信可能出现了故障,因而就会放弃一个事务。可以看出,当多个用户试图同时改变数据的同一块时,就出现了冲突问题。
发明内容
为了解决上述问题,本发明提出了一种图形数据库联机事务中事务过期机制的实现方法,以实现事务的过期机制。
本发明采用的技术方案如下:
一种图形数据库联机事务中事务过期机制的实现方法,其特征在于:
联机事务处理自上而下分为三层:
最上层为暴露给外部调用程序的API;
中间层为事务逻辑控制层,按操作类别分为同步区与非同步区,同步区意味着在同一时间只能有一个操作进行,其他操作在进入同步区之间均处于等待状态,该机制利用Java语言的线程同步锁定特性实现,非同步区的操作则不受限制,在任何时间均可以进行;
最下层为存储数据的DataSet操作抽象层,在DataSet中,保存有联机事务自身的状态信息,以及数据的事务状态属性信息;
将图形数据库中联机事务的状态数据存储在名称为graphic_db_tx_def的数据集DataSet中,该DataSet的数据结构如下:
Figure BDA0000052009510000011
Figure BDA0000052009510000021
将图形数据库中的每一个节点Node的定义信息保存在名称为graphic_db_node_def的数据集DataSet中,该DataSet的数据结构如下:
 列名称   数据类型   说明
 node_id   Number   全局唯一的ID
 name   String   用于保存Node的名称
在图形数据库中每个Node均有一个数据集DataSet,该DataSet中缺省内置如下两个列:
Figure BDA0000052009510000022
用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),重复执行事务过期检查操作。
进一步地:
在所述步骤1)中,检查事务是否已过期的方法是:读取名为graphic_db_tx_def的DataSet,依次检查各条记录,将当前的系统时间与记录中的start_time进行比较,如果当前时间与start_time的差大于设定的事务过期时间,则意味着该条记录已过期。
在所述步骤5)中,检查事务是否已标记过期的方法是:检查当前事务记录中is_timeout列的值,如果值为-1,则意味着该条记录代表的事务还没有过期。
在所述步骤6)中,检查事务是否已标记提交的方法是:检查当前事务记录中is_commit列的值,如果值为-1,则意味着该条记录代表的事务尚没有进行提交。
在所述步骤7)中,检查事务是否已标记回滚的方法是:检查当前事务记录中is_rollback列的值,如果值为-1,则意味着该条记录代表的事务尚没有进行回滚。
在所述步骤8)中,检查事务是否已锁定的方法是:检查当前事务记录中processing列的值,如果值为-1,则意味着在该条记录代表的事务没有被标记锁定。
在所述步骤10)中,恢复事务锁定的数据记录的方法是:读取当前事务记录的associate_node列中的记录,获取当前事务操作中相关联的节点名称,然后依次查找各关联节点数据中_tx_no列的值与当前事务记录tx_no列中值相等,且_dirty列值为-1的数据记录,将这些记录的_tx_no列的值设为null;查询graphic_db_relation_record_def,查找数据中_tx_no列的值与当前事务记录tx_no列中值相等,且_dirty列值为-1的记录,将这些记录的_tx_no列的值设为null。
在所述步骤11)中,删除脏数据的方法是:读取当前事务记录的associate_node列中的记录,获取当前事务操作中相关联的节点名称,然后依次查找各关联节点数据中_tx_no列的值与当前事务记录tx_no列中值相等,且_dirty列值为1的数据记录,将这些记录从DataSet中物理删除;查询graphic_db_relation_record_def,查找数据中_tx_no列的值与当前事务记录tx_no列中值相等,且_dirty列值为-1的记录,将这些记录从DataSet中物理删除。
本发明的优点在于:提供了一种简单、可靠的数据事务过期自检机制,自检中触发的数据恢复操作具有任意断点持续性,恢复操作开始后,在数据恢复开始至完成的任意时间点的意外执行中断,均可在再次启动系统后继续执行,直至恢复完成。
附图说明
图1为图形数据库的架构;
图2为节点之间的关系图;
图3为数据在DataSet中的存储方式;
图4为节点之间的引用图;
图5为联机事务处理流程;
图6联机事务处理的结构;
图7为事务过期机制实现方法的处理流程。
具体实施方式
本发明提出了一种图形数据库联机事务中事务过期机制的实现方法,下面结合附图详细说明。
图形数据库概述
本发明图形数据库的架构自上而下可以分为三层。如图1所示,最上层为图形数据中各种概念对象的组织与实现。中间层为抽象的数据物理存储接口层,将物理存储的数据抽象为若干个数据集DataSet。底层为物理存储实现层,由程序借助现有的存储引擎实现,比如:传统的关系数据库,XML文件等等。
DataSet(数据集)
DataSet是图形数据库中数据的逻辑存储单元,图形数据库中的数据以及数据库自身的逻辑定义均存储在DataSet中,DataSet是一个抽象的接口,真实的数据可以通过遵循DataSet接口的实现程序存储在关系数据库、XML或自定义格式的文件中。每一个DataSet由一个全局唯一的名称和若干个列(Column)组成。DataSet中的列表支持如下两种数据类型:
  类型   说明
  String   用于保存文本性的描述信息
  Number  用于保存整数、浮点数等数字信息,或用来保存布尔值信息,用1表示true,用-1表示false.
表1
Node(节点)
Node为图形数据库中存储数据的逻辑单元,在图形数据库中,每一种记录实体均可抽象为Node,比如在表述一个计算机网络应用系统时,交换机中的端口、PC服务器的网卡、CPU、生产配件的厂商、我们为之提供服务的客户、系统中的用户、权限等等,每个Node拥有一个全局唯一的名称,和一些其特有的属性,用于记录配置信息,例如:相对于我们服务的客户,我们将其命名为Customer,其拥有如下属性:contractedAmount(合同总额)、industry(所属行业)、name(客户名称)、description(描述)等。在本发明中,Node的属性可以是如下类型的数据。
Figure BDA0000052009510000051
表2
每一个Node的定义信息均保存在名称为graphic_db_node_def的DataSet中,该DataSet的数据结构如下:
 列名称   数据类型   说明
 node_id   Number   全局唯一的ID
 name   String   用于保存Node的名称
表3
每一个Node中所定义的属性信息保存在名称为graphic_db_node_attr_def的DataSet中,该DataSet的数据结构如下:
表4
针对于Node的定义,物理存储的DataSet类似如下两个表:
Figure BDA0000052009510000053
Figure BDA0000052009510000061
表5
表6
每一个Node的数据信息保存在与其同名的DataSet中,假设我们有一个名称为Customer的Node,该Node有如下属性:
  属性名称   数据类型   说明
  RID   String   数据库内置
  name   String   客户名称
  contractedAmount   Number   合同金额
  industry   Reference   所属行业
  description   String   客户描述信息
表7
则该Node对应的DataSet结构为:
表8
物理存储的DataSet类似下表:
Figure BDA0000052009510000064
表9
RID(记录ID,Record ID)
在图形数据库中,每一个Node都会有一个名称为RID的属性,存储在Node中的每一条数据的RID值均是全局唯一的,作为该条记录在图形数据库中的标识。RID的数据类型为String型。每一个Node均含有该属性。RID格式为:Node名称+下划线+递增数字,一个典型的RID数值类似于如下形式:Industry_109。
Relation(关系)
每一类信息的实体均可以抽象为Node,在现实应用中,常常需要将这些Node按某种逻辑组织起来,Relation就是用来描述Node与Node之间的组织关系的。假设现在已有代表客户的Node:Customer,代表系统用户的Node:SysUser,在现实世界中,我们的一个销售人员会成为系统中的一个用户,并负责一些客户的销售、及沟通工作。因此,我们可以在SysUser与Customer之间建立一个名为SysUserServeCustomer的Relation来表述两者之间的关系。我们用图2来表述这种关系,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
表10
针对于Relation的定义,物理存储的DataSet类似下表:
Figure BDA0000052009510000071
表11
按照Relation的定义,两个通过Relation连接的Node中的数据可以建立连接。所有数据的连接信息保存在名称为graphic_db_relation_record_def的DataSet中,该DataSet的数据结构如下:
Figure BDA0000052009510000072
Figure BDA0000052009510000081
表12
在应用场景中,其物理存储的DataSet类似下表:
Figure BDA0000052009510000082
表13
Reference(引用)
在图形数据库抽象中,一些常用的Node会与其他大部分Node有关系,这些常用的Node数据量很有限、且基本不会发生变化,比如:国家、省、市等。如果采用Relation的方式来表述的话,则需要与其他Node之间建立的大量关系,这对后期的维护将会造成一定的困难。在此种情形下,可以考虑采用Reference的形式来表述关系。一个Node通过其所拥有的属性引用另外一个Node,在其实现形式上,很大程度与RDBMS(关系数据库)的Foreign Key(外键)相类似。某一条记录的Dictionary属性中保存的是另外一个Node中数据记录的RID。考虑之前我们讨论过的Node——Customer,拥有(industry)行业这一属性,假设在我们的应用场景中,行业的数量很有限,且不会经常发生变化。则可以用Reference属性的方式引用Industry这一Node中的某条记录。数据在DataSet中的存储方式如图3所示。
在本发明中我们用虚线表示Node之间的Reference,以区别于Relation,见图4。
联机事务与非联机事务
图形数据库中数据的操作可分为:“联机事务数据操作”与“非联机事务数据操作”。联机事务数据操作步骤依次为:创建联机事务、进行联机事务数据操作(在一个联机事务中该操作可以重复多次)、提交联机事务使操作生效或者回滚联机事务放弃操作。见图5所示。而非联机事务数据操作不受事务控制,直接调用图形数据库API即可,见图6所示。
如图7所示,本发明的联机事务处理自上而下分为三层:
最上层为暴露给外部调用程序的API。
中间层为事务逻辑控制层,按操作类别分为同步区与非同步区,同步区意味着在同一时间只能有一个操作进行,其他操作在进入同步区之间均处于等待状态,该机制利用Java语言的线程同步锁定特性实现。非同步区的操作则不受限制,在任何时间均可以进行。
最下层为存储数据的DataSet操作抽象层,在DataSet中,保存有联机事务自身的状态信息,以及数据的事务状态属性信息。
在图形数据库中,联机事务的状态数据存储在名称为graphic_db_tx_def的DataSet中,该DataSet的数据结构如下:
Figure BDA0000052009510000091
表14
在图形数据库中每一个Node均有一个相对应的同名的DataSet,数据之间的Relation信息保存在名称为graphic_db_relation_record_def的DataSet中。这些DataSet中均缺省内置如下两个列:
表15
事务过期机制的设计及实现
在图形数据库中,通过周期为10毫秒的轮循程序检查过期事务,轮循程序随图形数据库进程的启动而启动,随着图形数据库进程的停止而停止。其运行的生命周期与图形数库的主进程一致。事务过期机制的流程如图7:
(1)检查事务是否已过期。读取名为graphic_db_tx_def的DataSet,依次检查各条记录。将当前的系统时间与记录中的start_time进行比较,如果当前时间与start_time的差大于30000(30秒),则意味着该条记录已过期,将该条记录存入待处理队列。
(2)计算待处理事务队列。遍历队列,计算队列的长度。
(3)检查队列的长度,如果长度大于0,则意味着有待处理的事务。否则进入等待状态。
(4)将事务队列中的第一条记录从队列中取出,作为当前事务记录进行处理。
(5)检查事务是否已标记过期。检查当前事务记录中is_timeout列的值,如果值为-1,则意味着该条记录代表的事务还没有过期,继续执行接下来的逻辑,否则,放弃本条记录,回到事务队列。
(6)检查事务是否已标记提交。检查当前事务记录中is_commit列的值,如果值为-1,则意味着该条记录代表的事务尚没有进行提交,继续执行接下来的逻辑,否则,放弃本条记录,回到事务队列。
(7)检查事务是否已标记回滚。检查当前事务记录中is_rollback列的值,如果值为-1,则意味着该条记录代表的事务尚没有进行回滚,继续执行接下来的逻辑,否则,放弃本条记录,回到事务队列。
(8)检查事务是否已被锁定。检查当前事务记录中processing列的值,如果值为-1,则意味着在该条记录代表的事务没有被标记锁定,可以继续执行接下来的逻辑,否则,放弃本条记录,回到事务队列。
(9)标记事务过期状态。将当前事务记录is_timeout列的值置为1,标记该条记录已过期。
(10)恢复事务锁定的数据记录。
a.读取当前事务记录的associate_node列中的记录,获取当前事务操作中相关联的节点名称,然后依次查找各关联节点数据中_tx_no列的值与当前事务记录tx_no列中值相等,且_dirty列值为-1的数据记录。将这些记录的_tx_no列的值设为null。
b.查询graphic_db_relation_record_def,查找数据中_tx_no列的值与当前事务记录tx_no列中值相等,且_dirty列值为-1的记录。将这些记录的_tx_no列的值设为null。
(11)删除脏数据。
a.读取当前事务记录的associate_node列中的记录,获取当前事务操作中相关联的节点名称,然后依次查找各关联节点数据中_tx_no列的值与当前事务记录tx_no列中值相等,且_dirty列值为1的数据记录。将这些记录从DataSet中物理删除。
b.查询graphic_db_relation_record_def,查找数据中_tx_no列的值与当前事务记录tx_no列中值相等,且_dirty列值为-1的记录。将这些记录从DataSet中物理删除。
(12)删除事务记录。将当前事务记录从名为graphic_db_tx_def的DataSet中删除。完成本条事务的过期恢复操作。
(13)轮循程序的线程休眠10毫秒。
(14)检查轮循程序在内存中的退出标识变量,如果该变量的值为true,则意味着图形数据库将要关闭,退出检查的循环。否则重复执行事务过期检查操作。

Claims (8)

1.一种图形数据库联机事务中事务过期机制的实现方法,其特征在于:
联机事务处理自上而下分为三层:
最上层为暴露给外部调用程序的API;
中间层为事务逻辑控制层,按操作类别分为同步区与非同步区,同步区意味着在同一时间只能有一个操作进行,其他操作在进入同步区之间均处于等待状态,该机制利用Java语言的线程同步锁定特性实现,非同步区的操作则不受限制,在任何时间均可以进行;
最下层为存储数据的DataSet操作抽象层,在DataSet中,保存有联机事务自身的状态信息,以及数据的事务状态属性信息;
将图形数据库中联机事务的状态数据存储在名称为graphic_db_tx_def的数据集DataSet中,该DataSet的数据结构如下:
Figure FDA0000052009500000011
将图形数据库中的每一个节点Node的定义信息保存在名称为graphic_db_node_def的数据集DataSet中,该DataSet的数据结构如下:
 列名称   数据类型   说明  node_id   Number   全局唯一的ID  name   String   用于保存Node的名称
在图形数据库中每个Node均有一个数据集DataSet,该DataSet中缺省内置如下两个列:
Figure FDA0000052009500000012
用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的数据结构如下:
Figure FDA0000052009500000021
执行以下步骤:
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),重复执行事务过期检查操作。
2.如权利要求1所述的图形数据库联机事务中事务过期机制的实现方法,其特征在于:
在所述步骤1)中,检查事务是否已过期的方法是:读取名为graphic_db_tx_def的DataSet,依次检查各条记录,将当前的系统时间与记录中的start_time进行比较,如果当前时间与start_time的差大于设定的事务过期时间,则意味着该条记录已过期。
3.如权利要求1所述的图形数据库联机事务中事务过期机制的实现方法,其特征在于:
在所述步骤5)中,检查事务是否已标记过期的方法是:检查当前事务记录中is_timeout列的值,如果值为-1,则意味着该条记录代表的事务还没有过期。
4.如权利要求1所述的图形数据库联机事务中事务过期机制的实现方法,其特征在于:
在所述步骤6)中,检查事务是否已标记提交的方法是:检查当前事务记录中is_commit列的值,如果值为-1,则意味着该条记录代表的事务尚没有进行提交。
5.如权利要求1所述的图形数据库联机事务中事务过期机制的实现方法,其特征在于:
在所述步骤7)中,检查事务是否已标记回滚的方法是:检查当前事务记录中is_rollback列的值,如果值为-1,则意味着该条记录代表的事务尚没有进行回滚。
6.如权利要求1所述的图形数据库联机事务中事务过期机制的实现方法,其特征在于:
在所述步骤8)中,检查事务是否已锁定的方法是:检查当前事务记录中processing列的值,如果值为-1,则意味着在该条记录代表的事务没有被标记锁定。
7.如权利要求1所述的图形数据库联机事务中事务过期机制的实现方法,其特征在于:
在所述步骤10)中,恢复事务锁定的数据记录的方法是:
读取当前事务记录的associate_node列中的记录,获取当前事务操作中相关联的节点名称,然后依次查找各关联节点数据中_tx_no列的值与当前事务记录tx_no列中值相等,且_dirty列值为-1的数据记录,将这些记录的_tx_no列的值设为null;
查询graphic_db_relation_record_def,查找数据中_tx_no列的值与当前事务记录tx_no列中值相等,且_dirty列值为-1的记录,将这些记录的_tx_no列的值设为null。
8.如权利要求1所述的图形数据库联机事务中事务过期机制的实现方法,其特征在于:
在所述步骤11)中,删除脏数据的方法是:
读取当前事务记录的associate_node列中的记录,获取当前事务操作中相关联的节点名称,然后依次查找各关联节点数据中_tx_no列的值与当前事务记录tx_no列中值相等,且_dirty列值为1的数据记录,将这些记录从DataSet中物理删除;
查询graphic_db_relation_record_def,查找数据中_tx_no列的值与当前事务记录tx_no列中值相等,且_dirty列值为-1的记录,将这些记录从DataSet中物理删除。
CN 201110072953 2011-03-25 2011-03-25 图形数据库联机事务中事务过期机制的实现方法 Active CN102193981B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110072953 CN102193981B (zh) 2011-03-25 2011-03-25 图形数据库联机事务中事务过期机制的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110072953 CN102193981B (zh) 2011-03-25 2011-03-25 图形数据库联机事务中事务过期机制的实现方法

Publications (2)

Publication Number Publication Date
CN102193981A true CN102193981A (zh) 2011-09-21
CN102193981B CN102193981B (zh) 2013-01-02

Family

ID=44602051

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110072953 Active CN102193981B (zh) 2011-03-25 2011-03-25 图形数据库联机事务中事务过期机制的实现方法

Country Status (1)

Country Link
CN (1) CN102193981B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104021043A (zh) * 2014-06-23 2014-09-03 中国银行股份有限公司 批量应用程序的中断重入方法及系统
CN107918620A (zh) * 2016-10-10 2018-04-17 阿里巴巴集团控股有限公司 一种数据库的写入方法及装置、电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5848241A (en) * 1996-01-11 1998-12-08 Openframe Corporation Ltd. Resource sharing facility functions as a controller for secondary storage device and is accessible to all computers via inter system links
CN101350022A (zh) * 2008-08-27 2009-01-21 中国工商银行股份有限公司 基于数据库逻辑锁的变更处理方法
CN101430687A (zh) * 2007-11-09 2009-05-13 阿里巴巴集团控股有限公司 基于oltp环境的统计表应用方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5848241A (en) * 1996-01-11 1998-12-08 Openframe Corporation Ltd. Resource sharing facility functions as a controller for secondary storage device and is accessible to all computers via inter system links
CN1250532A (zh) * 1997-01-09 2000-04-12 奥潘弗雷姆有限公司 数据共享方法和计算机体系结构
CN101430687A (zh) * 2007-11-09 2009-05-13 阿里巴巴集团控股有限公司 基于oltp环境的统计表应用方法及系统
CN101350022A (zh) * 2008-08-27 2009-01-21 中国工商银行股份有限公司 基于数据库逻辑锁的变更处理方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104021043A (zh) * 2014-06-23 2014-09-03 中国银行股份有限公司 批量应用程序的中断重入方法及系统
CN104021043B (zh) * 2014-06-23 2017-09-15 中国银行股份有限公司 批量应用程序的中断重入方法及系统
CN107918620A (zh) * 2016-10-10 2018-04-17 阿里巴巴集团控股有限公司 一种数据库的写入方法及装置、电子设备
US11640384B2 (en) 2016-10-10 2023-05-02 Alibaba Group Holding Limited Database processing method, apparatus, and electronic device

Also Published As

Publication number Publication date
CN102193981B (zh) 2013-01-02

Similar Documents

Publication Publication Date Title
CN105630863B (zh) 用于多版本并发提交状态的事务控制块
US8639677B2 (en) Database replication techniques for maintaining original linear request order for asynchronous transactional events
CN105608086B (zh) 分布式数据库系统的事务处理方法及装置
US10055440B2 (en) Database table re-partitioning using trigger-based capture and replay
US8713046B2 (en) Snapshot isolation support for distributed query processing in a shared disk database cluster
US9411866B2 (en) Replication mechanisms for database environments
US11210283B2 (en) Reducing update conflicts when maintaining views
CN108804112A (zh) 一种区块链落账处理方法及系统
US20090292745A1 (en) Database management system and method
CN109871386A (zh) 非易失性存储器中的多版本并发控制(mvcc)
CN101350022B (zh) 基于数据库逻辑锁的变更处理方法
Padhye et al. Scalable transaction management with snapshot isolation for NoSQL data storage systems
Kleppmann et al. Online event processing
Wei et al. Scalable transactions for web applications in the cloud
Ogunyadeka et al. A multi-key transactions model for NoSQL cloud database systems
CN102193981B (zh) 图形数据库联机事务中事务过期机制的实现方法
CN102193986B (zh) 图形数据库中联机事务的实现方法
CN102193975B (zh) 图形数据库联机事务中事务提交机制的实现方法
CN102193979B (zh) 图形数据库非联机事务中查询数据的控制方法
CN102193976B (zh) 图形数据库联机事务中事务回滚机制的实现方法
CN102193989A (zh) 基于图形数据库的联机事务处理系统及数据插入方法
CN102193977B (zh) 图形数据库非联机事务中增加节点数据关系的方法
CN102193982B (zh) 图形数据库联机事务中查询数据的控制方法
CN114168685B (zh) 一种基于区块链系统的新型数据库架构及运行方法
US20210303583A1 (en) Ranking filter algorithms

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Free format text: FORMER OWNER: BEIJING CLOUDEX SOFTWARE SERVICES CO., LTD.

Effective date: 20121022

Owner name: BEIJING CENTURY BROADBAND INTERNET DATA CENTER CO.

Free format text: FORMER OWNER: BEIJING BANYANO DATA CENTER SOLUTIONS LTD.

Effective date: 20121022

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20121022

Address after: 100015 No. 3, building 5, building 1, Jiuxianqiao East Road, Chaoyang District, Beijing

Applicant after: Beijing Century Broadband Internet Data Center Co., Ltd.

Address before: 100015 No. 3, building 5, building 1, Jiuxianqiao East Road, Chaoyang District, Beijing

Applicant before: Beijing BANYANO Data Center Solutions Ltd.

Applicant before: Beijing CloudEx Software Service Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant