图形数据库非联机事务中插入数据的控制方法

文档序号:6655036阅读:177来源:国知局
专利名称:图形数据库非联机事务中插入数据的控制方法
技术领域
本发明涉及一种图形数据库非联机事务中插入数据的控制方法。
背景技术
通常在数据库系统中,事务是工作的离散单位。例如,一个数据库事务可以是修改一个用户的帐户平衡或库存项的写操作。联机事务处理系统实时地采集处理与事务相连的数据以及共享数据库和其它文件的地位的变化。在联机事务处理中,事务是被立即执行的。 在单一用户、单一数据库环境下执行事务是简单的,这是因为没有冲突问题或对数据库间同步的需求。在一个分布式环境下,写操作经常并行地在多个数据库服务器上发生。这样的并发事务处理需要一个“卷回”机制,以保证在一次写操作中系统失效的情况下,仍保证数据库的完整性。事务要么一起确认,要么放弃。如果一个或多个与事务有关的系统响应不一致,这意味着系统或通信可能出现了故障,因而就会放弃一个事务。可以看出,当多个用户试图同时改变数据的同一块时,就出现了冲突问题。

发明内容
为了解决上述问题,本发明提出了一种图形数据库非联机事务中插入数据的控制方法,它可在图形数据库未开启事务时插入数据。本发明采用的技术方案如下一种图形数据库非联机事务中插入数据的控制方法,其特征在于非联机事务处理自上而下分为三层最上层为暴露给外部调用程序的API ;中间层为事务逻辑控制层,按操作类别分为同步区与非同步区,同步区意味着在同一时间只能有一个操作进行,其他操作在进入同步区之间均处于等待状态,该机制利用 Java语言的线程同步锁定特性实现,非同步区的操作则不受限制,在任何时间均可以进行;最下层为存储数据的DataSet操作抽象层,在DataSet中,保存有联机事务自身的状态信息,以及数据的事务状态属性信息;将图形数据库中的每一个节点Node的定义信息保存在名称为graphiC_db_n0de_ def的数据集DatMet中,该DatMet的数据结构如下
权利要求
1. 一种图形数据库非联机事务中插入数据的控制方法,其特征在于 非联机事务处理自上而下分为三层 最上层为暴露给外部调用程序的API ;中间层为事务逻辑控制层,按操作类别分为同步区与非同步区,同步区意味着在同一时间只能有一个操作进行,其他操作在进入同步区之间均处于等待状态,该机制利用Java 语言的线程同步锁定特性实现,非同步区的操作则不受限制,在任何时间均可以进行;最下层为存储数据的DataSet操作抽象层,在DataSet中,保存有联机事务自身的状态信息,以及数据的事务状态属性信息;将图形数据库中的每一个节点Node的定义信息保存在名称为graphiC_db_n0de_def 的数据集DatMet中,该DatMet的数据结构如下
2.如权利要求1所述的图形数据库非联机事务中插入数据的控制方法,其特征在于 在所述步骤1)中,API传入的参数包括将要插入新数据的节点的名称nodmame和将要插入的新数据data。
3.如权利要求2所述的图形数据库非联机事务中插入数据的控制方法,其特征在于 在所述步骤幻中,检查目标节点是否存在的方法是查询名称为graphiC_db_n0de_def的Datakt,查找该DataSet的name列中的值与API中传入的node_name值相等的数据记录,如果找到相应记录,则说明目标节点存在。
4.如权利要求3所述的图形数据库非联机事务中插入数据的控制方法,其特征在于 在所述步骤幻中,检查待插入数据是否合法的详细步骤如下a.gi旬名称为 graphic_db_node_def 的 DataSet,查找i亥 DataSet 的 name 歹[J中的ft与 API中传入的nodejame值相等的数据记录,获取数据的node_id ;b.gi旬名称为 graphic_db_node_attr_def 的 DataSet,查找i亥 DataSet 的 node_id 歹Ij 的值与刚才在步骤a中获取的nodejd值相等的记录,匹配的记录集保存着当前节点的属性列信息;c.依据步骤b中获取的属性列信息记录集,检查API传入的data中的各属性列是否在记录集中存在,如果不存在,则说明传入的数据不合法;d.通过属性列的检查后,依据步骤b中获取的属性列信息记录集,再次检查API传入的data中的各属性值的数据类型是否与记录集中的定义相符,如果不相符,则说明传入的数据不合法;e.通过上述检查确认为合法数据后,继续执行后续的步骤,否则退出。
全文摘要
本发明涉及一种图形数据库非联机事务中插入数据的控制方法,包括以下步骤1)客户程序调用API,将参数数据传给图形数据库;2)检查欲插入数据的目标节点是否存在,若目标节点存在,则继续执行下面的步骤,否则退出;3)检查待插入数据是否合法,若合法,则继续执行下面的步骤,否则退出;4)进入同步区;5)生成一个全局唯一的记录标识RID;6)插入数据,将调用API时传入的数据data增至与指定的节点对应的同名DataSet中;7)退出同步区。本发明的优点是相对于联机事务中的数据插入,非联机事务中插入数据避免了大量的数据锁定,执行效率更高。非联机事务中插入数据的操作为不可分割的原子型操作,不受联机事务锁定、提交、回滚的影响。
文档编号G06F17/30GK102193980SQ20111007294
公开日2011年9月21日 申请日期2011年3月25日 优先权日2011年3月25日
发明者于洪方, 井卫军, 刘健, 蒋建平, 陈升, 陈晞 申请人:北京世纪互联工程技术服务有限公司, 北京云快线软件服务有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1