一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据版本管理系统、方法、设备以及存储介质与流程

2021-10-24 06:20:00 来源:中国专利 TAG:例数 管理系统 版本 实施 方法


1.本发明实施例涉及数据处理技术,尤其涉及一种数据版本管理系统、方法、设备以及存储介质。


背景技术:

2.复合结构的数据表示由多部分数据组合成一个整体,例如组织机构树就可以理解为复合结构,是由多个组织组合而成,再例如员工信息可以理解为由基本信息、家庭信息、职位信息等部分组合而成。
3.现有技术中对复合结构的数据的版本管理方案为:
4.方案一:对每一版的历史快照,都保存一份整体结构的数据。
5.方案二:对每一版的历史快照,只保存变动部分,并记录一个版本号字段。
6.上述方案存在如下缺陷:
7.方案一:对没有变动的部分也进行重复保存,空间浪费很大。
8.方案二:组装快照数据比较复杂,需要根据全量数据进行分析,版本对照也比较复杂。


技术实现要素:

9.本发明实施例提供一种数据版本管理系统、方法、设备以及存储介质,以减少空间浪费和组装数据的复杂度。
10.第一方面,本发明实施例提供了一种数据版本管理系统,所述数据版本管理系统包括服务层和存储层;
11.存储层使用设定类型的数据库对待管理数据的数据模型进行保存,该层支持数据的变更和查询,所述待管理数据为复合结构的数据;
12.服务层与所述存储层连接,用于对存储层保存的待管理数据进行管理;
13.服务层包括逻辑子层和模型子层,模型子层定义了待管理数据的数据模型;逻辑子层用于对待管理数据进行管控;
14.其中,模型子层存储有数据分支表,该表记录有待管理数据中各数据分支的数据内容、关联关系以及各数据分支的起始版本编号和终止版本编号;
15.所述逻辑子层包括快照组装模块,所述快照组装模块与所述模型子层连接,用于根据各数据分支的起始版本编号和终止版本编号,以及各数据分支的数据内容和关联关系,组合指定版本的待管理数据。
16.第二方面,本发明实施例还提供了一种数据版本管理方法,应用于本发明实施例中任一所述的快照组装模块,所述方法包括:
17.响应目标版本的数据组装请求,根据目标版本编号、各数据分支的起始版本编号和终止版本编号,从记录待管理数据的各版本中确定目标版本关联的各数据分支的数据内容;
18.组合目标版本关联的各数据分支的数据内容,得到目标版本的待管理数据。
19.第三方面,本发明实施例还提供了一种数据版本管理方法,应用于本发明实施例中任一所述的版本管理模块,所述方法包括:
20.初始化数据模型,加载待管理数据的各数据分支;
21.根据创建数据分支的版本信息,设置数据分支的起始版本编号;
22.根据废弃数据分支的版本信息,设置数据分支的终止版本编号;
23.记录待管理数据的变化信息,以及变化信息所属的数据分支,并更新该数据分支的初始版本编号或终止版本编号。
24.第四方面,本发明实施例还提供一种数据版本管理方法,应用于本发明实施例中任一所述的快照对比模块,所述方法包括:
25.响应第一版本与第二版本间的数据变化信息请求,根据第二版本编号、各数据分支的起始版本编号和终止版本编号,从待管理数据的各版本数据中确定第一版本与第二版本间的数据变化信息;
26.其中第一版本编号小于第二版本编号。
27.第五方面,本发明实施例还提供一种设备,所述设备包括:
28.一个或多个处理器;
29.存储装置,用于存储一个或多个程序,
30.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例中任一所述的方法。
31.第六方面,本发明实施例还提供一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任一所述的方法。
32.本发明实施例通过在模型子层存储数据分支表,该表记录待管理数据中各数据分支的数据内容、关联关系以及各数据分支的起始版本编号和终止版本编号;快照组装模块根据各数据分支的起始版本编号和终止版本编号,以及各数据分支的数据内容和关联关系,组合指定版本的待管理数据,因为每次仅进行变化信息的记录,所以本方法可以避免对重复信息的保存,从而减少空间浪费。
33.通过根据各数据分支的起始版本编号和终止版本编号,确定各数据分支的目标版本,组合各数据分支的目标版本,得到指定版本的待管理数据。该方法无需逐版本回引,从而减少组装数据的复杂度。
附图说明
34.图1为本发明实施例一提供的一种数据版本管理系统的结构示意图;
35.图2是本发明实施例二提供的一种数据版本管理方法的流程图;
36.图3是本发明实施例三提供的一种数据版本管理方法的流程图;
37.图4是本发明实施例五提供的一种北分机构树的初始结构示意图;
38.图5是本发明实施例五提供的一种北分机构树的增加结构示意图;
39.图6是本发明实施例五提供的一种北分机构树的修改结构示意图;
40.图7是本发明实施例五提供的一种北分机构树的删除结构示意图;
41.图8为本发明实施例六提供的一种设备的结构示意图。
具体实施方式
42.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
43.实施例一
44.图1为本发明实施例一提供的一种数据版本管理系统的结构示意图。本实施例可适用于对复合结构的数据进行历史版本管理的情况。参见图1,本技术实施例提供的数据版本管理系统包括:服务层和存储层;
45.存储层使用设定类型的数据库对待管理数据的数据模型进行保存,该层支持数据的变更和查询,所述待管理数据为复合结构的数据;
46.服务层与所述存储层连接,用于对存储层保存的待管理数据进行管理;
47.服务层包括逻辑子层和模型子层,模型子层定义了待管理数据的数据模型;逻辑子层用于对待管理数据进行管控;
48.其中,模型子层存储有数据分支表,该表记录有待管理数据中各数据分支的数据内容、关联关系以及各数据分支的起始版本编号和终止版本编号;
49.所述逻辑子层包括快照组装模块,所述快照组装模块与所述模型子层连接,用于根据各数据分支的起始版本编号和终止版本编号,以及各数据分支的数据内容和关联关系,组合指定版本的待管理数据。
50.其中,起始版本表示当前记录是在当前机构树哪个版本创建的,终止版本记录的是当前记录在当前机构树的哪个版本废弃的。
51.为实现对待管理数据的变化信息记录以及对两版本间待管理数据的差异信息的确定,所述逻辑子层还包括:版本管理模块和快照对比模块;
52.其中,版本管理模块,与所述模型子层连接,用于记录待管理数据的版本变化信息;
53.快照对比模块,与所述模型子层连接,用于对比两个版本间待管理数据的差异信息。
54.可选地,数据库的类型可以是任意类型,待管理数据的数据模型为复合结构的任意模型,典型地,所述数据库的类型为关系数据库;所述待管理数据的数据模型为机构树。
55.本发明实施例通过在模型子层存储数据分支表,该表记录待管理数据中各数据分支的数据内容、关联关系以及各数据分支的起始版本编号和终止版本编号;快照组装模块根据各数据分支的起始版本编号和终止版本编号,以及各数据分支的数据内容和关联关系,组合指定版本的待管理数据,因为每次仅进行变化信息的记录,所以本方法可以避免对重复信息的保存,从而减少空间浪费。
56.实施例二
57.图2是本发明实施例二提供的一种数据版本管理方法的流程图。本实施例可适用于对复合结构的数据进行历史版本管理的情况。该方法可应用于上述实施例中所述的快照组装模块,参见图2所述方法包括:
58.s110、响应目标版本的数据组装请求,根据目标版本编号、各数据分支的起始版本编号和终止版本编号,从记录待管理数据的各版本中确定目标版本关联的各数据分支的数
据内容。
59.s120、组合目标版本关联的各数据分支的数据内容,得到目标版本的待管理数据。
60.具体地,若版本编号是从1开始递增的,则所述根据目标版本编号、各数据分支的起始版本编号和终止版本编号,从记录待管理数据的各版本中确定目标版本关联的各数据分支的数据内容,包括:
61.比较目标版本编号与各数据分支的起始版本编号,以及目标版本编号与各数据分支的终止版本编号;
62.根据比较结果从数据分支表中提取起始版本编号小于或等于目标版本编号,且终止版本编号大于目标版本编号或终止版本号为空标识的数据分支,并将提取的数据分支的数据内容作为目标版本关联的各数据分支的数据内容。
63.本发明实施例的技术方案通过根据各数据分支的起始版本编号和终止版本编号,确定各数据分支的目标版本,组合各数据分支的目标版本,得到指定版本的待管理数据。该方法无需逐版本回引,从而减少组装数据的复杂度。
64.实施例三
65.图3是本发明实施例三提供的一种数据版本管理方法的流程图。本实施例可适用于对待管理数据进行变化信息记录的情况。该方法应用于上述实施例中的版本管理模块,参见图3所述方法包括:
66.s210、初始化数据模型,加载待管理数据的各数据分支。
67.s220、根据创建数据分支的版本信息,设置数据分支的起始版本编号。
68.s230、根据废弃数据分支的版本信息,设置数据分支的终止版本编号。
69.s240、记录待管理数据的变化信息,以及变化信息所属的数据分支,并更新该数据分支的初始版本编号或终止版本编号。
70.本发明实施例通过根据创建数据分支的版本信息,设置数据分支的起始版本编号。根据废弃数据分支的版本信息,设置数据分支的终止版本编号。记录待管理数据的变化信息,以及变化信息所属的数据分支,并更新该数据分支的初始版本编号或终止版本编号,从而实现对待管理数据的变化信息记录。
71.实施例四
72.本实施例可适用于对比两版本间数据差异的情况。该方法可以应用于本发明实施例中任一所述的快照对比模块,所述方法包括:
73.响应第一版本与第二版本间的数据变化信息请求,根据第二版本编号、各数据分支的起始版本编号和终止版本编号,从待管理数据的各版本数据中确定第一版本与第二版本间的数据变化信息;
74.其中第一版本编号小于第二版本编号。
75.具体地,若版本编号是从1开始递增的,则所述根据第二版本编号、各数据分支的起始版本编号和终止版本编号,从待管理数据的各版本数据中确定第一版本与第二版本间的数据变化信息,包括:
76.比较所述第二版本编号与各数据分支的起始版本编号,以及所述第二版本编号与各数据分支的终止版本编号;
77.根据比较结果从数据分支表中提取起始版本编号等于目标版本编号,或终止版本
编号等于目标版本编号的数据分支,并将提取的数据分支的数据内容作为第一版本与第二版本间的数据变化信息。
78.本发明实施例的技术方案,通过根据第二版本编号、各数据分支的起始版本编号和终止版本编号,从待管理数据的各版本数据中确定第一版本与第二版本间的数据变化信息,从而实现两版本间数据差异的确定。
79.实施例五
80.本发明实施例是在上述实施例的基础上以数据类型为关系数据库,数据模型为机构树为例提供的一种可选方案。本发明实施例用于对上述数据版本管理系统中各模块结构和功能分析:
81.1、数据模型
82.数据模型主要包括两个表,参见表1第一个是机构版本表,每个机构树的每一次调整会在该表中对应一条记录,该表有三个字段,机构树字段记录的是当前修改对应的机构树,变动描述字段是对变动的描述,主要包括初始化、增加机构、修改机构、删除机构四种类型的变动,版本号是机构树变动的编号,每个机构树都是从1开始递增的。参见表2第二个是机构表,一个机构可能在此表中存在多条记录,每次修改会增加一条,该表的字段主要包括机构号、父机构号、基本信息、其他信息、起始版本、终止版本,起始版本表示当前记录是在当前机构树哪个版本创建的,终止版本记录的是当前记录在当前机构树的哪个版本废弃的,如果当前记录还没被废弃,则置为null。
83.表1
[0084][0085]
表2
[0086][0087]
2、版本管理
[0088]
初始化机构树:机构树版本表增加一条记录,版本号置为1,在机构表中增加所有机构,起始版本号都置为1,终止版本号都置为null。
[0089]
增加一个机构:机构树版本表增加一条记录,版本号加1,在机构表中增加新机构,起始版本置为当前机构树加1后的版本,终止版本置为null。
[0090]
修改一个机构:机构树版本表增加一条记录,版本号加1,机构表中找到终止版本为null的要修改机构,把终止版本置为机构树加1后的版本,插入修改后的机构数据,起始版本置为机构树加1后的版本,终止版本置为null。
[0091]
删除一个机构:机构树版本表增加一条记录,版本号加1,机构表中找到终止版本为null的要删除机构,把终止版本置为机构树版本加1后版本号。
[0092]
3、快照组装:快照组装就是要查出某机构树指定版本的所有数据,并组装成树结构,只要查出起始版本小于等于指定版本,且终止版本大于指定版本或为null的所有数据,然后组装即可,具体如下
[0093]
select*from org
[0094]
where起始版本<=指定版本
[0095]
and(终止版本>指定版本||终止版本==null)
[0096]
4、快照对比:快照对比就是要查出两个快照间的变化部分,例如要查出版本为2和3的机构树快照差异,只要查询起始版本或终止版本为3的机构即可,具体如下
[0097]
select*from org
[0098]
where起始版本==指定版本
[0099]
or终止版本==指定版本
[0100]
5、版本管理推演:
[0101]
参见图4对北分机构树初始化,初始化后的机构表如表3:
[0102]
表3
[0103][0104]
参见图5,增加l机构,对应的机构表如表4:
[0105]
表4
[0106]
父机构基本信息其他信息起始版本终止版本 null北分

1null a海淀

1null a朝阳

1null b中关村

1null b上地

1null c青年路

2null [0107]
参见图6,b机构的名称由海淀改为海淀区,对应的机构表如表5:
[0108]
表5
[0109]
机构父机构基本信息其他信息起始版本终止版本anull北分

1nullba海淀

13ca朝阳

1nulldb中关村

1nulleb上地

1nulllc青年路

2null
ba海淀区

3null
[0110]
参见图7,删除d机构,对应的机构表如表6:
[0111]
表6
[0112]
机构父机构基本信息其他信息起始版本终止版本anull北分

1nullba海淀

13ca朝阳

1nulldb中关村

14eb上地

1nulllc青年路

2nullba海淀区

3null
[0113]
以表五中的数据待管理数据,以目标组装版本是3为例,快照组装可以描述为:
[0114]
从表五中查找起始版本编号小于或等于3,且终止版本编号大于3或终止版本编号等于null的数据分支,也即a机构、c机构、d机构、e机构、l机构以及基本信息为海淀区的b机构对应的数据分支。组合这些数据分支,得到版本编号为3的待管理数据。
[0115]
以表五中的数据待管理数据,以待比较版本是2和3为例,快照对比可以描述为:
[0116]
从表五中查找起始版本编号等于3,或,终止版本等于3的数据分支,也即基础信息为海淀的b机构和基础信息为海淀区的b机构对应的数据分支。该两个数据分支对应的数据内容即为两版本的差异数据。
[0117]
实施例六
[0118]
图8为本发明实施例六提供的一种设备的结构示意图,如图8所示,该设备包括处理器80、存储器81、输入装置82和输出装置83;设备中处理器80的数量可以是一个或多个,图8中以一个处理器80为例;设备中的处理器80、存储器81、输入装置82和输出装置83可以通过总线或其他方式连接,图8中以通过总线连接为例。
[0119]
存储器81作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的数据版本管理方法对应的程序指令/模块。处理器80通过运行存储在存储器81中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的数据处理方法。
[0120]
存储器81可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器81可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器81可进一步包括相对于处理器80远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0121]
输入装置82可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置83可包括显示屏等显示设备。
[0122]
实施例七
[0123]
本发明实施例七还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种数据版本管理方法,该方法包括:
[0124]
响应目标版本的数据组装请求,根据目标版本编号、各数据分支的起始版本编号和终止版本编号,从记录待管理数据的各版本中确定目标版本关联的各数据分支的数据内容;
[0125]
组合目标版本关联的各数据分支的数据内容,得到目标版本的待管理数据。
[0126]
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的数据版本管理方法中的相关操作。
[0127]
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0128]
值得注意的是,上述搜索装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
[0129]
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜