基于图形数据库的联机事务处理系统及数据插入方法

文档序号:6356828阅读:149来源:国知局
专利名称:基于图形数据库的联机事务处理系统及数据插入方法
技术领域
本发明涉及数据处理领域,特别是涉及基于图形数据库的联机事务处理系统及数据插入方法。
背景技术
数据库(Database)可以认为是按照数据结构来组织、存储和管理数据的仓库,而图形数据库(graphic database)是利用计算机将点、线、面等图形基本元素按一定数据结构进行存储的数据集合。而关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据。在关系数据库中,采用单一的数据结构即是关系来描述数据,即是关系数据库中的数据之间的各种联系均用关系来表示。数据的逻辑结构可以采用二维表来实现。通常在数据库系统中,事务是工作的离散单位。例如,一个数据库事务可以是修改一个用户的帐户平衡或库存项的写操作。联机事务处理系统(On-Line Transaction Processing, 0LTP)实时地采集处理与事务相连的数据以及共享数据库和其它文件的地位的变化,在联机事务处理中,事务是被立即执行的,一批事务被存储一段时间,然后再被执行,假设这些事务可以完成,OLTP的结果可以在这个数据库中立即获得。联机事务处理以实时的方式发生。例如民航定票系统和银行ATM机是联机事务处理系统的例子。在单一用户、单一数据库环境下执行事务是简单的,这是因为没有冲突问题或对数据库间同步的需求。一般情况下,大多数OLTP系统在大型计算机系统上实现,如果一个事务必须在多个场地进行修改,那么就需要管理机制来防止重写数据并提供同步。而在一个分布式环境下,写操作经常并行地在多个数据库服务器上发生,这样的并发事务处理需要一个“卷回” 机制,以保证在一次写操作中系统失效的情况下,仍保证数据库的完整性。这就导致了事务可能一起确认也可能放弃的结果。而如果一个或多个与事务有关的系统响应不一致,就意味着系统或通信可能出现了故障,因而就会放弃一个事务。可以从上述过程中看出,当多个用户试图同时改变数据的同一块时,就出现了冲突问题。进一步的,不管是事务一起确认还是放弃,都会导致数据库中数据的不完整。

发明内容
本发明所要解决的技术问题是提供一种应用于图形数据库联机事务中的数据插入方法,用以解决现有技术中存在冲突以及冲突导致的数据库中数据不完整的技术问题。本发明的另一个目的是将上述构思应用于具体的应用环境中,提供一种应用于图形数据库联机事务中的数据插入系统,从而保证该方法的实现和应用。为解决上述技术问题,本发明实施例提供了一种基于图形数据库的数据插入方法,该方法包括预先创建一个新事务,接收所述新事务的事务标识、待插入数据和图形数据库中的目标数据集标识;
锁定所述事务标识对应的当前事务记录,以便于图形数据库的当前操作为所述新事务下的数据插入;所述数据插入具体包括将所述目标数据集标识添加至所述当前事务记录的关联节点字段中,并将所述待插入数据写入所述目标数据集;解锁所述事务标识对应的当前事务记录。优选的,所述创建一个新事务,具体包括生成一个全局唯一的事务标识,并获取第一系统时间;在事务的状态数据的数据集中插入一条当前事务记录,所述当前事务记录包括所述事务标识和第一系统时间。优选的,还包括当所述待插入数据插入完毕后,将所述第一系统时间更新为插入完毕时的第二系统时间。优选的,所述将所述待插入数据写入所述目标数据集,具体包括将所述目标数据集标识对应的目标数据记录标志为从属于所述新事务;将所述目标数据集的事务编号更新为所述新事务的事务标识。优选的,所述接收所述新事务的事务标识、待插入数据和目标数据集标识之后,还包括判断所述新事务是否有效,如果是,则执行所述按照所述事务标识锁定所述事务标识对应的当前事务记录的步骤,如果否,则结束本次数据插入过程。优选的,所述解锁所述事务标识对应的当前事务记录之后,还包括将所述事务标识对应的事务提交状态标识为有效;将目标数据集标识对应的目标数据记录标识为不从属于所述新事务;并将所述目标数据记录中的目标数据集标识的字段值更新为空;删除所述事务标识对应的当前事务记录。优选的,所述解锁所述事务标识对应的当前事务记录之后,还包括将所述事务标识对应的事务回滚状态标识为有效;删除与所述目标数据集标识对应目标数据记录;删除与所述事务标识对应的当前事务记录。本发明实施例还提供了一种基于图形数据库的联机事务处理系统,包括创建模块,用于创建一个新事务;接收模块,用于接收所述新事务的事务标识、待插入数据和图形数据库中的目标数据集标识;锁定模块,用于所述事务标识对应的当前事务记录,以便于图形数据库的当前操作为所述新事务下的数据插入;所述数据插入具体包括将所述目标数据集标识添加至所述当前事务记录的关联节点字段中,并将所述待插入数据写入所述目标数据集;解锁模块,用于解锁所述事务标识对应的当前事务记录。优选的,还包括标识提交状态模块,将所述事务标识对应的事务提交状态标识为有效;标识脏数据模块,用于将目标数据集标识对应的目标数据记录标识为不从属于所述新事务;并将所述目标数据记录中的目标数据集标识的字段值更新为空;
第一删除模块,用于删除所述事务标识对应的当前事务记录。优选的,还包括标识回滚状态模块,用于将所述事务标识对应的事务回滚状态标识为有效;第二删除模块,用于删除与所述目标数据集标识对应目标数据记录;删除与所述事务标识对应的当前事务记录。与现有技术相比,本发明具有以下优点在本发明实施例中,可以保证在基于图形数据库的联机事务处理系统中插入数据时,可以解决现有技术中存在冲突以及冲突导致的数据库中数据不完整的技术问题,因为在进行当前的数据插入时,会对当前事务记录进行锁定,此时即便有其他的数据插入操作, 也会处于等待状态。因此,本实施例所公开的数据插入方法,能够保证数据的完整性。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明中联机事务处理系统的分层结构示意图;图2为本发明的一种基于图形数据库的数据插入方法实施例1的流程图;图3是本发明方法实施例1中步骤201的流程图;图4是本发明的一种基于图形数据库的数据插入方法实施例2的流程图;图5是本发明的一种基于图形数据库的数据插入方法实施例3的流程图;图6是本发明的一种基于图形数据库的数据插入方法实施例4的流程图;图7是本发明的一种应用于图形数据库联机事务中的数据插入系统实施例1的结构示意图;图8是本发明的一种应用于图形数据库联机事务中的数据插入系统实施例2的结构示意图;图9是本发明的一种应用于图形数据库联机事务中的数据插入系统实施例3的结构示意图。
具体实施例方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本发明作进一步详细的说明。本发明的联机事务处理系统可以采用自上而下的三层结构实现,参考图1所示,为本发明中联机事务处理系统的分层结构示意图。最上层为面向外部调用程序的 API (Application Programming Interface,应用程序编程接口)。API 是一些预先定义的函数,目的是提供应用程序与用户基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。中间层为事务逻辑控制层,按操作类别分为同步区与非同步区,同步区中操作内容意味着在同一时间只能有一个操作进行,在该操作进行时其他操作在进入同步区之间均处理等待状态,该方式可以利用Java语言的线程同步锁定特性实现。同步区的操作包括事务过期检查、插入数据控制、删除数据控制、修改数据控制和灾难恢复。而非同步区的操作则不受限制,在任何时间均可以进行。非同步区的操作包括查询数据控制。最下层为存储数据的图形数据库中的数据集(DatMet)接口,在DatMet 中保存有联机事务自身的状态信息,以及数据的事务状态属性信息。在图形数据库中,联机事务的状态信息可以存储在名称为graphiC_db_tX_def的 DataSet中,该DataSet需要满足的数据结构可以如表1所示表 权利要求
1.一种基于图形数据库的数据插入方法,其特征在于,预先创建一个新事务,该方法包括接收所述新事务的事务标识、待插入数据和图形数据库中的目标数据集标识; 锁定所述事务标识对应的当前事务记录,以便于图形数据库的当前操作为所述新事务下的数据插入;所述数据插入具体包括将所述目标数据集标识添加至所述当前事务记录的关联节点字段中,并将所述待插入数据写入所述目标数据集; 解锁所述事务标识对应的当前事务记录。
2.如权利要求1所述的方法,其特征在于,所述创建一个新事务,具体包括 生成一个全局唯一的事务标识,并获取第一系统时间;在事务的状态数据的数据集中插入一条当前事务记录,所述当前事务记录包括所述事务标识和第一系统时间。
3.如权利要求2所述的方法,其特征在于,还包括当所述待插入数据插入完毕后,将所述第一系统时间更新为插入完毕时的第二系统时间。
4.如权利要求1所述的方法,其特征在于,所述将所述待插入数据写入所述目标数据集,具体包括将所述目标数据集标识对应的目标数据记录标志为从属于所述新事务; 将所述目标数据集的事务编号更新为所述新事务的事务标识。
5.如权利要求1所述的方法,其特征在于,所述接收所述新事务的事务标识、待插入数据和目标数据集标识之后,还包括判断所述新事务是否有效,如果是,则执行所述按照所述事务标识锁定所述事务标识对应的当前事务记录的步骤,如果否,则结束本次数据插入过程。
6.如权利要求1所述的方法,其特征在于,所述解锁所述事务标识对应的当前事务记录之后,还包括将所述事务标识对应的事务提交状态标识为有效;将目标数据集标识对应的目标数据记录标识为不从属于所述新事务;并将所述目标数据记录中的目标数据集标识的字段值更新为空; 删除所述事务标识对应的当前事务记录。
7.如权利要求1所述的方法,其特征在于,所述解锁所述事务标识对应的当前事务记录之后,还包括将所述事务标识对应的事务回滚状态标识为有效; 删除与所述目标数据集标识对应目标数据记录; 删除与所述事务标识对应的当前事务记录。
8.一种基于图形数据库的联机事务处理系统,其特征在于,包括 创建模块,用于创建一个新事务;接收模块,用于接收所述新事务的事务标识、待插入数据和图形数据库中的目标数据集标识;锁定模块,用于所述事务标识对应的当前事务记录,以便于图形数据库的当前操作为所述新事务下的数据插入;所述数据插入具体包括将所述目标数据集标识添加至所述当前事务记录的关联节点字段中,并将所述待插入数据写入所述目标数据集; 解锁模块,用于解锁所述事务标识对应的当前事务记录。
9.如权利要求8所述的系统,其特征在于,还包括标识提交状态模块,将所述事务标识对应的事务提交状态标识为有效; 标识脏数据模块,用于将目标数据集标识对应的目标数据记录标识为不从属于所述新事务;并将所述目标数据记录中的目标数据集标识的字段值更新为空; 第一删除模块,用于删除所述事务标识对应的当前事务记录。
10.如权利要求8所述的系统,其特征在于,还包括标识回滚状态模块,用于将所述事务标识对应的事务回滚状态标识为有效; 第二删除模块,用于删除与所述目标数据集标识对应目标数据记录; 删除与所述事务标识对应的当前事务记录。
全文摘要
本发明提供了基于图形数据库的联机事务处理系统及数据插入方法,所述方法包括预先创建一个新事务,接收所述新事务的事务标识、待插入数据和图形数据库中的目标数据集标识;锁定所述事务标识对应的当前事务记录,以便于图形数据库的当前操作为所述新事务下的数据插入;所述数据插入具体包括将所述目标数据集标识添加至所述当前事务记录的关联节点字段中,并将所述待插入数据写入所述目标数据集;解锁所述事务标识对应的当前事务记录。本发明实施例可以解决现有技术中存在冲突以及冲突导致的数据库中数据不完整的技术问题。
文档编号G06F17/30GK102193989SQ20111007379
公开日2011年9月21日 申请日期2011年3月25日 优先权日2011年3月25日
发明者于洪方, 井卫军, 刘健, 姚福源, 蒋建平, 陈升 申请人:北京世纪互联工程技术服务有限公司, 北京云快线软件服务有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1