一种数据版本控制方法技术

技术编号:8682827 阅读:388 留言:0更新日期:2013-05-09 02:45
本发明专利技术涉及一种数据版本控制方法,该方法构建一种有色Petri网(CPN)模拟数据版本控制过程,有色Petri网库所包括数据版本库和操作员库,并用不同颜色的托肯表示数据的不同版本,当有操作员更新数据时,触发源变迁,使操作员库获得操作员的信息,并通过触发不同的变迁,模拟数据版本的形成过程,将形成的最新数据版本存放在最新数据版本库中,将历史数据版本都存放在历史数据版本库中,方便以后的查询,且通过触发冗余合并变迁,将冗余数据进行合并,有效地解决了数据版本更新过程中的并发、合并的问题,保证了数据的一致性和完整性,有效提高了历史数据的管理水平。

【技术实现步骤摘要】

本专利技术涉及。
技术介绍
在大型设备的状态数据库中,数据版本的管理不善可造成系统的混乱甚至崩溃,因此数据版本控制尤为重要。数据版本控制技术是对每次修改都做详细记录,尤其当多人同时开发一个数据库管理和应用系统时,采用合理的方法监控数据库中表、存储过程和视图等对象的变动。数据版本控制的核心是变更管理,主要目标和任务是记录并保存每个安全可靠的版本历史记录,并且保证每个客户端得到的都是最新版本。目前数据版本控制的主要方法有:差分编码、档案上锁、中央系统与分布式系统等。差分编码只保留档案相继版本之间的差异,该方法可以有效地储存数个版本的档案,节省大量空间,但是采用该方法时,版本恢复比较麻烦;档案上锁功能对高难度的合并,例如大幅更改大档案或档案群的许多部分,提供了一些保护,但其他开发者可以绕过版本控制系统改变档案(这本身就是很大问题);中央式系统是当多个客户端同时要改变同一个档案时,由中央权威管理存取权限“锁上”档案库中的档案,一次只让一个开发者工作,或是像分布式系统容许多个档案库开发者同时更动同一档案,而不需经中央权威许可,分布式系统仍然可以有档案上锁功能。现有的几种版本关系模型中线性版本模型能够很好地描述版本顺序产生的过程,但不能区分替换版本和修订版本的区别;树状版本模型虽然解决了对象模型的修订版本与替换版本之间的区别,但是不能描述版本合并这一实际情况;有向无环图尽管支持版本合并和变更的历史信息描述,但只能用节点序号描述版本的产生层次和来源,无法表示该版本的逻辑层次性,而且容易产生歧义;多色图的版本模型只考虑了同一版本的修订和变型关系。
技术实现思路
本专利技术的目的是提供,用以解决由于多人并发修改数据导致的数据库不一致的问题。为实现上述目的,本专利技术的方案是:,步骤如下:(I)建立基于有色Petri网的数据版本控制模型,该Petri网的库所包括数据版本库和操作员库,所述数据版本库包括最新数据版本库、历史数据版本库、更新的数据版本库和合并数据版本库,且不同的数据版本库由不同颜色的托肯来表示,所述最新数据版本库只能存放一个最新数据版本的托肯,所述历史数据版本库可以存放多个更新过的数据版本的托肯,所述托肯存放于Petri网的库所中,用于根据其动态变化表示库所中数据版本的状态;( 2)对步骤(I)中建立的模型进行初始化,使最新数据版本库和历史数据版本库各获得一个颜色相同的托肯,该托肯表示的是目前最新数据版本的信息,其他数据版本库为空;(3)当有操作员准备更新数据时,触发源变迁,使操作员库得到一个表示操作员信息的托肯;(4)当操作员更新数据时,触发更新操作变迁,并根据操作员库中的托肯信息和最新数据版本库中的托肯信息,产生一个表示更新后的数据版本信息的托肯存放在更新的数据版本库中,同时,操作员库中的托肯被删除;(5)根据更新的数据版本库和历史数据版本库中的托肯信息,判断是否需要合并去除冗余数据版本操作,如果需要,则触发冗余数据版本合并变迁,将更新的数据版本库和历史数据版本库进行合并,并将合并后产生的表示合并数据版本信息的托肯存放在合并数据版本库,如果不需要,则触发复制变迁,将步骤(3)中得到的更新的数据版本库中的托肯复制到合并数据版本库中,同时,更新的数据版本库中的托肯被删除;(6)触发提交更新变迁,将合并数据版本库中的托肯复制为两个,分别存放到所述最新数据版本库和历史数据版本库中,同时,合并数据版本库中的托肯被删除;(7)若有其他操作员要更新数据,则继续执行步骤(3) (6),如此循环,直到所述历史数据版本库中托肯数量达到它能存放的最大数量时,终止Petri网的运行。在(4广(6)任一步骤执行的过程中,若有其他操作员要更新数据库中的不同数据,则在前一操作员继续执行其数据操作步骤的同时,其他操作员开始执行步骤(3广(6),若有其他操作员要更新数据库中的相同数据,则要在前一操作员执行完提交更新变迁之后再开始执行步骤(3) (6)。所述数据版本库中托肯表不的信息包括:版本号、父版本号、修改时间、修改的内容和修改人,所述操作员库中的托肯信息包括:操作员编号、操作员姓名和要更新的内容。步骤(4)中触发更新操作变迁后产生两个不同颜色的托肯,其中一个颜色的托肯是原托肯的复制,存放于所述最新数据版本库中,另一个颜色的托肯为新托肯,存放于更新的数据版本库中。基于Petri网的数据版本控制模型初始化时,所述数据版本库中的托肯表示的信息只显示版本号,其余信息字段均为空。本专利技术达到的有益效果:(1)本专利技术构建了一种有色Petri网(CPN)模拟数据版本控制过程,用不同颜色的托肯表示数据的不同版本,在数据控制过程中,当有操作员更新数据时,触发源变迁,使操作员库获得操作员的信息,然后通过触发更新操作变迁,产生新的数据版本,并通过触发提交更新变迁,将形成的最新数据版本存放在最新数据版本库中,而且如果判断有冗余数据,可以触发冗余合并变迁,将冗余数据进行合并后再触发提交更新变迁将数据进行存储,有效地解决了数据版本更新过程中合并的问题,保证了数据的完整性;(2)当操作员I在对数据库进行操作时,若有操作员2也要更新数据库,如果操作员2与操作员I修改的数据不同,则继续触发源变迁,操作员库重新获得操作员2的信息,此时操作员I继续执行之后的过程,操作员2在对数据库中的数据进行更新后,最新数据版本库中最后存放的就是操作员2最后更新过的数据版本,如果操作员2和操作员I要修改的数据相同,那么操作员2要在操作员I修改的数据提交后才能进行其数据更新过程,这样就避免了由于多人并发修改数据导致的数据库不一致的问题。附图说明图1是本专利技术数据版本控制的有色Petri网模型;图2是本专利技术有色Petri网初始化模型;图3是触发产生操作变迁后的有色Petri网模型;图4是本专利技术触发更新操作变迁后的有色Petri网模型;图5是本专利技术触发复制变迁或冗余数据版本合并变迁后的有色Petri网模型;图6是本专利技术触发提交更新变迁后的有色Petri网模型。具体实施例方式下面结合附图对本专利技术做进一步详细的说明。本专利技术建立的有色Petri网Σ CPN= (P,T,F,M,D,C,I,G,K)用于构建数据版本控制模型,其具体定义如下:(I)P= {pi, p2, p3, p4, p5},P 是库所的有限集;(2)T={tl,t2,t3,t4,t5},T 是变迁的有限集;(3)F= (PXT) U (TXP),是网中有向弧集合;(4) D为颜色集;(5) C:P U T — Ψ (D), Ψ (D)为颜色集 D 的幂集合;(6) M:Ρ — DMS,是网的标识,标识Mi下的标识分量Mi (ρ)表示库所P中的托肯颜色集上的多重集,MO是初始标识;(7)G:变迁护卫函数,G:T —表达式;(8) I为F上的权函数,I:F — DMS,确定变迁发生后托肯的变化;(9) K为P上得容量函数,K =P- {1,2,3...},如果库所P没有定义容量函数,则默认 K (ρ) = °°。如图1,本实施例Petri网模型中的库所包括操作员库和数据版本库,图中的P1、P3、P4和P5为数据版本库,不同的数据版本库由不同颜色的托肯表示,数据版本库的库所中的托肯颜色为C(P1) = Ic1, CfC1J, C1, CfCn本文档来自技高网...

【技术保护点】
一种数据版本控制方法,其特征在于,步骤如下:(1)建立基于有色Petri网的数据版本控制模型,该Petri网的库所包括数据版本库和操作员库,所述数据版本库包括最新数据版本库、历史数据版本库、更新的数据版本库和合并数据版本库,且不同的数据版本库由不同颜色的托肯来表示,所述最新数据版本库只能存放一个最新数据版本的托肯,所述历史数据版本库可以存放多个更新过的数据版本的托肯,所述托肯存放于Petri网的库所中,用于根据其动态变化表示库所中数据版本的状态;(2)对步骤(1)中建立的模型进行初始化,使最新数据版本库和历史数据版本库各获得一个颜色相同的托肯,该托肯表示的是目前最新数据版本的信息,其他数据版本库为空;(3)当有操作员准备更新数据时,触发源变迁,使操作员库得到一个表示操作员信息的托肯;(4)当操作员更新数据时,触发更新操作变迁,并根据操作员库中的托肯信息和最新数据版本库中的托肯信息,产生一个表示更新后的数据版本信息的托肯存放在更新的数据版本库中,同时,操作员库中的托肯被删除;(5)根据更新的数据版本库和历史数据版本库中的托肯信息,判断是否需要合并去除冗余数据版本操作,如果需要,则触发冗余数据版本合并变迁,将更新的数据版本库和历史数据版本库进行合并,并将合并后产生的表示合并数据版本信息的托肯存放在合并数据版本库,如果不需要,则触发复制变迁,将步骤(3)中得到的更新的数据版本库中的托肯复制到合并数据版本库中,同时,更新的数据版本库中的托肯被删除;(6)触发提交更新变迁,将合并数据版本库中的托肯复制为两个,分别存放到所述最新数据版本库和历史数据版本库中,同时,合并数据版本库中的托肯被删除;(7)若有其他操作员要更新数据,则继续执行步骤(3)~(6),如此循环,直到所述历史数据版本库中托肯数量达到它能存放的最大数量时,终止Petri网的运行。...

【技术特征摘要】
1.种数据版本控制方法,其特征在于,步骤如下: (1)建立基于有色Petri网的数据版本控制模型,该Petri网的库所包括数据版本库和操作员库,所述数据版本库包括最新数据版本库、历史数据版本库、更新的数据版本库和合并数据版本库,且不同的数据版本库由不同颜色的托肯来表示,所述最新数据版本库只能存放一个最新数据版本的托肯,所述历史数据版本库可以存放多个更新过的数据版本的托肯,所述托肯存放于Petri网的库所中,用于根据其动态变化表示库所中数据版本的状态; (2)对步骤(I)中建立的模型进行初始化,使最新数据版本库和历史数据版本库各获得一个颜色相同的托肯,该托肯表示的是目前最新数据版本的信息,其他数据版本库为空; (3)当有操作员准备更新数据时,触发源变迁,使操作员库得到一个表示操作员信息的托肯; (4)当操作员更新数据时,触发更新操作变迁,并根据操作员库中的托肯信息和最新数据版本库中的托肯信息,产生一个表示更新后的数据版本信息的托肯存放在更新的数据版本库中,同时,操作员库中的托肯被删除; (5)根据更新的数据版本库和历史数据版本库中的托肯信息,判断是否需要合并去除冗余数据版本操作,如果需要,则触发冗余数据版本合并变迁,将更新的数据版本库和历史数据版本库进行合并,并将合并后产生的表示合并数据版本信息的托肯存放在合并数据版本库,如果不需要,则触发复制变迁,将步骤(3)中得到的更新的数据版本库中的托肯复...

【专利技术属性】
技术研发人员:李保福叶阳东佘维姬波刘文卢红星邵秋华梁经宛张静雍明超庄益诗路光辉
申请(专利权)人:辽宁省电力有限公司朝阳供电公司许继电气股份有限公司许昌许继软件技术有限公司国家电网公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1