CN114281802B - 一种数据处理方法及装置 - Google Patents
一种数据处理方法及装置 Download PDFInfo
- Publication number
- CN114281802B CN114281802B CN202111619833.2A CN202111619833A CN114281802B CN 114281802 B CN114281802 B CN 114281802B CN 202111619833 A CN202111619833 A CN 202111619833A CN 114281802 B CN114281802 B CN 114281802B
- Authority
- CN
- China
- Prior art keywords
- version
- target
- backtracking
- cost
- data
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 25
- 238000004364 calculation method Methods 0.000 claims abstract description 65
- 238000012545 processing Methods 0.000 claims abstract description 18
- 238000000034 method Methods 0.000 claims description 37
- 230000008569 process Effects 0.000 claims description 15
- 239000002243 precursor Substances 0.000 claims description 12
- 238000013500 data storage Methods 0.000 description 20
- 238000007726 management method Methods 0.000 description 15
- 230000008859 change Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 239000002131 composite material Substances 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据处理方法及装置,可以在目标产品的多个版本中,确定出一个待确定存储策略的目标版本;获得目标版本是否存在后继版本的判断结果;利用与判断结果相匹配的版本回溯代价计算模型,计算由目标版本回溯到基版本的版本回溯代价;确定版本回溯代价与预设的第一代价阈值的大小关系;确定与大小关系相匹配的对目标版本的版本数据的存储策略。本发明可以有效实现对目标版本的版本数据的存储管理。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据处理方法及装置。
背景技术
随着计算机科学与技术的发展,数据存储策略不断优化。
互联网企业在对互联网产品进行每一次版本更新的过程中,均会相应产生一个版本的数据。比如,互联网企业可以对其创建的应用程序进行版本更新,而每次版本更新均可以产生一个版本的数据;再比如,银行的故障分析流程,可以通过迭代式测试来获得最优的故障分析流程,而每一次迭代均可以产生一个版本的数据。
需要说明的是,现有技术可以采用存储策略对版本数据进行存储管理。比如,现有技术可以是采取对每个版本的数据均进行全量存储的策略来进行存储管理。由于不同版本的数据之间存在有大量的相同数据,因此全量存储策略可能会产生对大量数据的冗余存储,导致存储空间的利用率大大降低;
再比如,现有技术也可以是采用设置有基版本的增量存储策略来进行存储管理,如可以将初始版本视为基版本,保存初始版本的全量数据,而对后续版本的版本数据仅保存其相对于前驱版本的增量数据即可,此时在需要确定某个中间版本的全量数据时,可以通过对该版本的增量数据进行回溯,即基于该版本及其之前的各版本的增量数据,以及初始版本的版本数据来生成所需的全量数据,而该种增量存储策略的版本回溯代价可能较大,可能需要消耗较多的计算机资源。
但是,现有技术在对版本数据进行处理时,无法确定采用何种存储策略对其进行处理是较为有利的,导致无法有效的对版本数据进行存储管理。
发明内容
鉴于上述问题,本发明提供一种克服上述问题或者至少部分地解决上述问题的数据处理方法及装置,技术方案如下:
一种数据处理方法,包括:
在目标产品的多个版本中,确定出一个待确定存储策略的目标版本;
获得所述目标版本是否存在后继版本的判断结果;
利用与所述判断结果相匹配的版本回溯代价计算模型,计算由所述目标版本回溯到基版本的版本回溯代价;
确定所述版本回溯代价与预设的第一代价阈值的大小关系;
确定与所述大小关系相匹配的对所述目标版本的版本数据的存储策略。
可选的,所述确定与所述大小关系相匹配的对所述目标版本的版本数据的存储策略,包括:
如果所述版本回溯代价大于所述第一代价阈值,则设置所述目标版本为一个新的基版本,对所述目标版本的版本数据进行全量存储。
可选的,所述确定与所述大小关系相匹配的对所述目标版本的版本数据的存储策略,包括:
如果所述版本回溯代价不大于所述第一代价阈值,则基于所述目标版本的父版本或子版本,对所述目标版本的版本数据进行增量存储。
可选的,当所述目标产品的所述多个版本中存在有多个基版本时,所述计算由所述目标版本回溯到基版本的版本回溯代价,包括:
分别计算出由所述目标版本回溯到各所述基版本的版本回溯代价;
将各所述版本回溯代价中的最小版本回溯代价确定为目标版本回溯代价;
所述确定所述版本回溯代价与预设的第一代价阈值的大小关系,包括:
确定所述目标版本回溯代价与所述第一代价阈值的大小关系;
所述确定与所述大小关系相匹配的对所述目标版本的版本数据的存储策略,包括:
如果所述目标版本回溯代价大于所述第一代价阈值,则设置所述目标版本为一个新的基版本,对所述目标版本的版本数据进行全量存储;
如果所述目标版本回溯代价不大于所述第一代价阈值,则基于所述目标版本的父版本或子版本,对所述目标版本的版本数据进行增量存储。
可选的,所述目标产品的所述多个版本中的初始版本为所述基版本;所述在目标产品的多个版本中,确定出一个待确定存储策略的目标版本,包括:
在包括所述初始版本的一条版本链上,将所述初始版本的后继版本确定为当前的目标版本;
所述计算由所述目标版本回溯到基版本的版本回溯代价,包括:
计算由所述目标版本回溯到目标基版本的版本回溯代价,所述目标基版本为距离所述目标版本的版本深度最小的、为所述目标版本的前驱版本的基版本;
在所述确定与所述大小关系相匹配的对所述目标版本的版本数据的存储策略之后,将所述目标版本在所述版本链上的后继版本确定为当前的目标版本,返回执行所述获得所述目标版本是否存在后继版本的判断结果的步骤,直至确定出所述版本链上所有非所述初始版本的版本的存储策略。
可选的,所述目标产品的一个当前版本为所述基版本;所述在目标产品的多个版本中,确定出一个待确定存储策略的目标版本,包括:
在包括所述目标产品的初始版本和所述当前版本的版本链上,将所述当前版本的前驱版本确定为当前的目标版本;
所述计算由所述目标版本回溯到基版本的版本回溯代价,包括:
计算由所述目标版本回溯到目标基版本的版本回溯代价,所述目标基版本为距离所述目标版本的版本深度最小的、为所述目标版本的后继版本的基版本;
在所述确定与所述大小关系相匹配的对所述目标版本的版本数据的存储策略之后,将所述目标版本在所述版本链上的前驱版本确定为当前的目标版本,返回执行所述获得所述目标版本是否存在后继版本的判断结果的步骤,直至确定出所述版本链上所有非所述当前版本的版本的存储策略。
可选的,所述版本回溯代价计算模型中的版本参数至少包括:版本访问频率、版本继承值和版本深度;所述版本回溯代价模型包括第一计算模型;当所述判断结果为所述目标版本未存在后继版本时,所述利用与所述判断结果相匹配的版本回溯代价计算模型,计算由所述目标版本回溯到基版本的版本回溯代价,包括:
确定所述目标版本回溯到所述基版本过程中经历到的所有版本;
确定由所述目标版本回溯到所述基版本的版本深度;
在所述所有版本中,分别确定各版本的版本访问频率、版本继承值;
将所述所有版本中各版本的版本访问频率和版本继承值,以及所述版本深度输入到所述第一计算模型中;
获得所述第一计算模型输出的所述版本回溯代价。
可选的,所述版本回溯代价计算模型中的版本参数还包括:子版本数量,所述版本回溯代价模型还包括:第二计算模型;当所述判断结果为所述目标版本存在后继版本时,所述利用与所述判断结果相匹配的版本回溯代价计算模型,计算由所述目标版本回溯到基版本的版本回溯代价,还包括:
获得所述目标版本的子版本数量;
所述将所述所有版本中各版本的版本访问频率和版本继承值,以及所述版本深度输入到所述第一计算模型中,包括:
将所述所有版本中各版本的版本访问频率和版本继承值,以及所述版本深度和所述子版本数量输入到所述第二计算模型中;
所述获得所述第一计算模型输出的所述版本回溯代价,包括:
获得所述第二计算模型输出的所述版本回溯代价。
可选的,所述方法还包括:
根据版本回溯代价、版本检索效率、系统性能和/或数据规模,调整所述第一代价阈值的取值。
一种数据处理装置,包括:第一确定单元、获得单元、计算单元、第二确定单元和第三确定单元,其中:
所述第一确定单元,用于在目标产品的多个版本中,确定出一个待确定存储策略的目标版本;
所述获得单元,用于获得所述目标版本是否存在后继版本的判断结果;
所述计算单元,用于利用与所述判断结果相匹配的版本回溯代价计算模型,计算由所述目标版本回溯到基版本的版本回溯代价;
所述第二确定单元,用于确定所述版本回溯代价与预设的第一代价阈值的大小关系;
所述第三确定单元,用于确定与所述大小关系相匹配的对所述目标版本的版本数据的存储策略。
本实施例提出的数据处理方法及装置,可以在目标产品的多个版本中,确定出一个待确定存储策略的目标版本;获得目标版本是否存在后继版本的判断结果;利用与判断结果相匹配的版本回溯代价计算模型,计算由目标版本回溯到基版本的版本回溯代价;确定版本回溯代价与预设的第一代价阈值的大小关系;确定与大小关系相匹配的对目标版本的版本数据的存储策略。本发明可以在处理目标版本的版本数据,计算出由目标版本回溯到基版本的版本回溯代价,获得该版本回溯代价与第一代价阈值的大小关系,基于大小关系来确定与目标版本的版本数据对应的存储策略,按照确定出的存储策略来对目标版本的版本数据进行存储处理。本发明可以确定目标版本的版本回溯代价较大时,设置目标版本为一个新的基版本,对目标版本的版本数据进行全量存储,避免在需要检索目标版本的全量数据时,付出较大的版本回溯代价,减少检索资源消耗;本发明也可以在确定目标版本的版本回溯代价不大时,无需对目标版本的版本数据进行全量存储,而可以基于目标版本的父版本或子版本,对目标版本的版本数据进行增量存储,即目标版本的版本数据可以保存目标版本相对于父版本或子版本的增量数据,在付出较小的版本回溯代价的情况下,减小数据的冗余存储,降低对数据存储空间的占用,从而可以有效实现对目标版本的版本数据的存储管理。
上述说明仅是本发明技术方案的概述,为了能够更清楚地了解本发明的技术手段,可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1示出了本发明实施例提供的第一种数据处理方法的流程图;
图2示出了本发明实施例提供的一种版本树的结构示意图;
图3示出了本发明实施例提供的第五种数据处理方法的流程图;
图4示出了本发明实施例提供的一种数据处理装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
如图1所示,本实施例提出了第一种数据处理方法,该方法可以包括以下步骤:
S101、在目标产品的多个版本中,确定出一个待确定存储策略的目标版本;
其中,目标产品可以为需要对产品数据进行版本变更的网络产品,如操作系统、应用程序、针对业务的故障分析流程或某个文件。
需要说明的是,本发明可以对目标产品的某个版本的版本数据,确定出相应的存储策略,按照存储策略对该版本的版本数据进行存储管理。
具体的,目标产品的多个版本间存在有版本演变的关系,为更直观的说明各版本之间的关系,本发明可以使用版本树的方式来记录和描述同一目标产品的不同版本之间的版本关系,如图2所示的目标产品的一个版本树。
其中,版本树可以是由多个节点版本构成的。每个节点版本均表示目标产品的一个版本。如图2中的版本树,可以由V0、V01、V02、V03、V021、V0211、V0212、V0213、V0214、V031、V0311和V03111构成的。
其中,节点版本可以划分为叶子节点版本和非叶子节点版本。叶子节点版本可以是没有后继版本的某个节点版本,如图2所示版本树中的V01、V0211、V0212、V0213、V0214和V03111;非叶子节点版本可以是存在有后继版本的某个节点版本,如图2所示版本树中的V0、V02、V021、V03、V031和V0311。需要说明的是,初始版本即根版本可以为一个特别的非叶子节点版本,如图2所示版本树中的V0。
具体的,版本树中可以包括一条或多条版本链。一条版本链可以是由分别位于两端的根版本和一个叶子节点版本构成;一条版本链也可以是由分别位于两端的根版本和一个叶子节点版本,以及在根版本和该叶子节点版本之间的中间版本构成。如图2所示版本树中,可以包括版本链V0—V01、V0—V02—V021—V0211、V0—V02—V021—V0212、V0—V02—V021—V0213、V0—V02—V021—V0214、V0—V03—V031—V0311—V03111。
其中,父版本是某个版本的前驱版本,如图2中,V0可以为V01、V02和V03的父版本,V02可以为V021的父版本;子版本可以为父版本的后继版本,如图2中,V01、V02和V03均可以为V0的子版本,V021可以为V02的子版本。
具体的,基版本可以是版本数据进行全量存储的某个版本。同一版本树中可以包括一个或者多个基版本。比如,在图2中,如果V0的版本数据进行了全量存储,则V0可以为一个基版本,而如果V021的版本数据也进行了全量存储,则V021也可以为一个基版本。
可以理解的是,目标产品的已有版本中,可以是有至少一个版本进行了全量存储,即至少一个版本为基版本。比如,在图2所示的版本树中的各节点版本中,至少有一个节点版本为基版本。
需要说明的是,现有技术可以通过设置有基版本的增量存储策略来对版本树中各版本的数据进行存储管理。其中,设置有基版本的增量存储策略可以包括有第一存储策略、第二存储策略和第三存储策略。
其中,在第一存储策略中,现有技术可以选取版本树中的初始版本作为一个基版本,对初始版本的版本数据进行全量存储,之后产生的任一个后续版本,均可以确定出该后续版本的全量数据与初始版本的全量数据之间的差异数据,即该后续版本相对于初始版本的增量数据,该后续版本的版本数据仅存储该增量数据即可。第一存储策略在实现上对算法的要求较低,在需要检索某个版本的版本数据时,可以直接回溯初始版本,利用初始版本的全量数据与该版本的增量数据即可生成该版本的全量数据,速度较快,而且在一定程度上节约了存储空间,但是随着版本演变过程的增加,后续的版本和初始版本在演变关系中的关联性越来越弱,所以其相对初始版本的差异增多,即不同的数据也相对增加,收益会逐渐减少,而从安全性上考虑,由于非初始版本的所有版本的版本数据都是基于初始版本的全量数据进行增量存储,因此,一旦初始版本的版本数据被破坏,那么其他所有版本的版本数据都无法得到恢复,可靠性较低;
其中,第二种存储策略为正增量存储策略。在该种存储策略中,现有技术同样可以选取版本树中的初始版本作为一个基版本,对初始版本的版本数据进行全量存储,而当产生某个后续版本时,该后续版本的版本数据可以仅记录其全量数据与前驱版本(即该后续版本的父版本)的全量数据之间的差异数据,即后续版本相对于前驱版本的增量数据即可,如在图2中,当选取V0作为基版本时,V02的版本数据可以仅记录其全量数据相对于V0全量数据的差异数据,即V02相对于V0的增量数据;该种存储策略,增量数据来自具有父子关系的两个版本之间,相对没有父子关系的两个版本,差异数据较少,可以极大地减少了版本之间的信息冗余,减少了存储空间的浪费,提高了存储空间利用率。但是这种存储策略,在检索当前版本数据时,就需要从当前版本保存的增量数据开始回溯其所处版本链上的所有历史版本,直到初始版本为止。因此,在该种存储策略下,对当前版本的时间开销很大,随着版本增多,当前版本的检索代价明显增大,而且从初始版本开始记录版本差异,初始版本的数据损坏可能会导致后续所有版本的数据缺失,某一个版本的版本数据损坏可能会导致其所在版本链上的所有后续版本的数据缺失,缺乏可靠性;
其中,第三存储策略为逆增量存储策略,与第二存储策略刚好相反。在第三存储策略中,现有技术可以将当前版本作为一个基版本,对当前版本的版本数据进行全量存储,对于在当前版本之前的某个版本,可以确定该版本的全量数据相对于其子版本的全量数据的差异数据,即确定该版本相对于其子版本的增量数据,该版本的版本数据仅保存该增量数据即可,比如,当前版本的前驱版本(即父版本)的版本数据可以仅记录其全量数据相对于当前版本全量数据的差异数据,即该前驱版本相对于当前版本的增量数据,再比如,在图2中,当选取当前版本V03111作为一个基版本,对V03111的版本数据进行全量存储时,V0311的版本数据可以仅记录其全量数据相对于V03111全量数据的差异数据。需要说明的是,在该种存储策略中,如果某个节点版本存在有多个子版本,且该多个子版本均为当前版本,则该节点版本的版本数据可以存储其相对于差异性最小的子版本的增量数据,比如,V021存在有子版本V0211、V0212、V0213和V0214,且V0211、V0212、V0213和V0214均为当前版本,此时,如果V021与V0211的差异数据,是V021分别与V0211、V0212、V0213和V0214的差异数据中最少的,则V021的版本数据可以仅保存V021的全量数据与V0211全量数据之间的差异数据。此时,如果需要检索当前版本的版本数据,则可以直接得到其完整的版本数据;但是,当需要检索某个中间版本的全量数据时,则需要从当前版本开始,依据版本链与前驱版本逐个进行检索直至检索到该中间版本为止。同样地,随着版本链增长,这种检索代价明显增加,当前版本或者任一前驱版本数据损失,都会影响相应版本链上的版本数据,可靠性较低。
需要说明的是,本发明可以在对目标版本的版本数据进行存储管理时,可以先行计算出目标版本的版本回溯代价,根据版本回溯代价与预设代价阈值的大小关系,来决定对目标版本的存储策略,即确定是对目标版本的版本数据进行增量存储或是全量存储,以在减小数据存储冗余的情况下,减小检索代价,提高数据存储管理的可靠性。
可选的,目标版本可以是目标产品的多个版本中暂未确定存储策略的版本;
可选的,目标版本可以是目标产品的多个版本中当前已采取某种存储策略对其进行版本数据进行存储管理的版本;
可选的,目标版本可以是目标产品的多个版本中待优化存储策略的版本。
可选的,本发明可以从目标产品的多个版本中,任意选取出一个版本确定为目标版本。
可选的,本发明可以从目标产品的多个版本中,将待确定存储策略的一个版本确定为目标版本。具体的,目标版本可以为非叶子节点版本,也可以为叶子节点版本。
可选的,当目标产品的多个版本中包括有多个基版本时,目标版本可以为其中的某个基版本。
具体的,本发明可以在目标产品的版本树中,选取出一个节点版本作为目标版本。
需要说明的是,本发明可以使用版本标识来对目标产品的各版本进行标识。且,本发明可以保存每个版本的版本标识与其父版本和子版本的版本标识的对应关系,比如,对于第一版本,本发明可以保存第一版本的版本标识与其父版本和其子版本的版本标识的对应关系。此时,本发明可以通过版本标识来识别出某个版本,并可以通过该版本的版本标识对应的父版本或子版本的版本标识,来识别出该版本的父版本或子版本。
其中,版本标识可以是由数字、字母、汉字和符号等字符中的一种或几种构成。
具体的,本发明在选取目标版本时,可以通过选取版本标识来实现对目标版本的确定。可选的,本发明可以将目标产品的多个版本的版本标识保存至一个标识集中,之后在需要确定目标版本时,从该标识集中选取出一个版本标识作为目标版本标识,将该目标版本标识对应的版本确定为目标版本。
S102、获得目标版本是否存在后继版本的判断结果;
具体的,本发明可以在确定出目标版本后,判断该目标版本是否存在后继版本,获得判断结果。
可选的,判断结果可以为目标版本存在后继版本,此时,目标版本即可以为图2所示版本树上的非叶子节点版本;可选的,判断结果也可以为目标版本不存在后继版本,此时目标版本可以为图2所示版本树上的叶子节点版本。
S103、利用与判断结果相匹配的版本回溯代价计算模型,计算由目标版本回溯到基版本的版本回溯代价;
需要说明的是,经本发明的发明人研究发现,可以基于与版本回溯代价相关的参数,建立版本回溯代价计算模型,使用版本回溯代价计算模型来量化目标版本的版本回溯代价,即在假设目标版本的版本数据是存储增量数据的情况下,按照版本链中的前后版本关系,将目标版本回溯到基版本,利用目标版本的增量数据、回溯过程中经历的中间版本的增量数据以及基版本的全量数据,生成目标版本的全量数据,而从开始回溯直至生成目标版本的全量数据期间所消耗的资源即为目标版本的版本回溯代价。比如,在上述图2中,如果目标版本为V021,基版本为V0,且现有技术采用上述正增量存储策略对各版本的版本数据进行存储管理,则本发明在计算V021的版本回溯代价时,可以在V021—V02—V0的版本链上进行回溯,回溯过程经过V02,此时本发明可以基于V021的增量数据、V02的增量数据和V0的全量数据,来生成V021的全量数据,而从开始回溯直至生成V021的全量数据期间所消耗的资源即为V021的版本回溯代价;再比如,在上述图2中,如果目标版本为V0212,基版本为V03111,且现有技术采用上述逆增量存储策略对版本链V03111—V0311—V031—V03—V0中各版本的版本数据进行存储管理,并采用上述正增量存储策略对版本链V0—V02—V021—V0212中各版本的版本数据进行存储管理(此时V0可以不是基版本),则本发明在计算V021回溯到V03111的版本回溯代价时,可以在V03111—V0311—V031—V03—V0—V02—V021—V0212(由两个版本链构成)的复合版本链中进行回溯,此时本发明可以基于V03111的全量数据、V0311的增量数据、V031的增量数据、V03的增量数据、V0的增量数据、V02的增量数据、V021的增量数据和V0212的增量数据,来生成V021的全量数据,而从开始回溯直至生成V021的全量数据期间所消耗的资源即为V021的版本回溯代价;
需要说明的是,当目标产品的多个版本中可以存在多个基版本时,本发明在计算目标版本回溯到基版本的版本回溯代价时,可以分别计算目标版本与各基版本的版本回溯代价,并在计算出的目标版本与各基版本的版本回溯代价中,确定出最小版本回溯代价并将其作为最终版本回溯代价,之后再利用该最终版本回溯代价来确定相应的存储策略;
可选的,同一版本链上的版本间的差异数据,相较于不同版本链上的版本间的差异数据,常常是较小的,因此,当目标版本所在版本链上存在基版本时,本发明可以将目标版本与该基版本的版本回溯代价直接确定为最终版本回溯代价,而无需再去计算目标版本与其他版本链上的基版本的版本回溯代价;比如,在图2所示的版本树中,如果V021为目标版本,V0和V03111均为基版本,且版本链V0—V02—V021—V0212中各版本的版本数据是采用正增量存储策略进行存储管理,则此时本发明可以直接仅计算V021与V0的版本回溯代价,并将该版本回溯代价确定为用于确定存储策略的最终版本回溯代价,而无需再去计算V021与V03111的版本回溯代价;
可选的,当目标版本所在的版本链上存在有多个基版本时,本发明可以分别计算目标版本与该版本链上的多个基版本的版本回溯代价,并从中确定出最小版本回溯代价,将该最小版本回溯代价确定为用于确定存储策略的最终版本回溯代价;比如,在图2所示的版本树中,如果V021为目标版本,V0和V0212均为基版本,则本发明可以计算V021与V0的版本回溯代价,计算V021与V0212的版本回溯代价,并将计算出的该两个版本回溯代价进行比较,确定出最小版本回溯代价,之后将最小版本回溯代价确定为最终版本回溯代价。
可选的,版本数据的变更数量常与两个版本之间的版本深度相关。版本深度可以是两个版本之间的版本更新的次数,比如,在图2所示的版本树中,V021与V0的版本深度为可以为2,即从V0至V021经历了两次版本的更新;上述V03111—V0311—V031—V03—V0—V02—V021—V0212的复合版本链的版本深度可以为7,即从V03111至V212经历了7次版本的更新。当版本深度越大时,版本数据的变更数量常是越多的,此时版本回溯代价常是越多的。因此,当目标版本所在的版本链上存在有多个基版本时,本发明可以先行确定出目标版本距离各基版本的版本深度,确定出版本深度最小的基版本,计算目标版本与版本深度最小的基版本的版本回溯代价,并直接将该版本回溯代价确定为最终版本回溯代价,而无需再计算目标版本与该版本链上其他基版本的版本回溯代价。
需要说明的是,经提出本发明技术方案的发明人研究发现,版本回溯代价计算模型可以与版本访问频率、版本继承值、版本深度和/或子版本数量相关。因此,版本回溯代价计算模型中的版本参数可以包括:版本访问频率、版本继承值、版本深度和/或子版本数量。本发明可以基于版本访问频率、版本继承值、版本深度和/或子版本数量来进行版本回溯代价的计算。
可选的,版本回溯代价计算模型中的版本参数至少包括:版本访问频率、版本继承值和版本深度;版本回溯代价模型包括第一计算模型;当判断结果为目标版本未存在后继版本时,步骤S103可以包括:
确定目标版本回溯到基版本过程中经历到的所有版本;
确定由目标版本回溯到基版本的版本深度;
在所有版本中,分别确定各版本的版本访问频率、版本继承值;
将所有版本中各版本的版本访问频率和版本继承值,以及版本深度输入到第一计算模型中;
获得第一计算模型输出的版本回溯代价。
其中,版本访问频率可以为某个版本的被访问频率;
其中,版本继承值可以为某个版本从其从父版本中继承的对象数目,即某个版本的版本数据与其父版本的版本数据中相同元素的数目。比如,某个文档,其第一版本中有100个字,而其第一版本的父版本中也有100个字,第一版本相对于父版本改动了一个错别字,此时第一版本从其父版本中继承的对象数目可以为99。
可选的,第一计算模型可以为:
其中,j可以为目标版本的版本标识(如版本号),cost(j)可以目标版本对应的版本回溯代价;i可以为由目标版本回溯到基版本的某个中间版本的版本标识,fi可以为版本标识为i的版本的版本访问频率(0≤fi<1);Virt(i)表示版本标识为i的版本从父版本中继承的对象数目,lengthj即表示由目标版本回溯到基版本所产生的版本深度。
可选的,版本回溯代价计算模型中的版本参数还包括:子版本数量,版本回溯代价模型还包括:第二计算模型;当判断结果为目标版本存在后继版本时,步骤S103可以包括:
确定目标版本回溯到基版本过程中经历到的所有版本;
确定由目标版本回溯到基版本的版本深度;
在所有版本中,分别确定各版本的版本访问频率、版本继承值;
获得目标版本的子版本数量;
将所有版本中各版本的版本访问频率和版本继承值,以及版本深度和子版本数量输入到第二计算模型中;
获得第二计算模型输出的版本回溯代价。
其中,子版本数量可以为某个版本的子版本的数量。比如,在图2中,V0的子版本数量可以为3个(V0的子版本分别为V01、V02和V03)。
可选的,第二计算模型可以为:
其中,childcountj可以为目标版本的子版本数量。
S104、确定版本回溯代价与预设的第一代价阈值的大小关系;
其中,第一代价阈值可以由技术人员根据实际情况进行制定,本发明对此不作限定。
具体的,本发明可以在计算出目标版本的版本回溯代价之后,对目标版本的版本回溯代价与第一代价阈值进行大小关系的比较。
需要说明的是,目标版本的版本回溯代价与第一代价阈值的大小关系可以划分为多种。可选的,大小关系可以为目标版本的版本回溯代价大于第一代价阈值,也可以为目标版本的版本回溯代价不大于第一代价阈值;
可选的,大小关系可以为目标版本的版本回溯代价不小于第一代价阈值,也可以为目标版本的版本回溯代价小于第一代价阈值;
可选的,当目标版本的版本回溯代价大于第一代价阈值时,本发明可以认为基于目标版本进行版本回溯所需花费的代价较大,如大于存储目标版本的全量数据所需花费的存储代价;而当目标版本的版本回溯代价不大于第一代价阈值时,本发明可以认为基于目标版本进行版本回溯所需花费的代价不大;
可选的,当目标版本的版本回溯代价不小于第一代价阈值时,本发明可以认为基于目标版本进行版本回溯所需花费的代价较大,而当目标版本的版本回溯代价小于第一代价阈值时,本发明可以认为基于目标版本进行版本回溯所需花费的代价不大。
S105、确定与大小关系相匹配的对目标版本的版本数据的存储策略。
具体的,本发明可以在确定出目标版本的版本回溯代价与第一代价阈值的大小关系后,确定与大小关系相匹配的存储策略,采用该存储策略对目标版本的版本数据进行相应的数据处理,即对目标版本的版本数据进行全量存储,或者对目标版本的版本数据进行增量存储。
可选的,上述步骤S105可以具体为步骤S1051,步骤S1051可以为:
如果版本回溯代价大于第一代价阈值,则设置目标版本为一个新的基版本,对目标版本的版本数据进行全量存储。
具体的,本发明可以在目标版本的版本回溯代价大于第一代价阈值时,确定目标版本的版本回溯代价较大,此时本发明可以设置目标版本为一个新的基版本,对目标版本的版本数据进行全量存储,避免在需要检索目标版本的全量数据时,付出较大的版本回溯代价,减少资源消耗。
可选的,本发明在将目标版本确定为基版本,对目标版本的版本数据进行全量存储之后,可以采用正增量存储策略对目标版本所在版本链上的后续版本和前续版本进行增量存储处理;也可以采用逆增量存储策略对目标版本所在版本链上的后续版本和前续版本进行增量存储处理;也可以改变存储策略,使用改变后的存储策略对目标版本所在版本链上的后续版本和前续版本进行增量存储处理,也可以不改变存储策略,使用原存储策略对目标版本所在版本链上的后续版本和前续版本进行增量存储处理;当然,本发明也可以使用图1所示方法,将目标版本所在版本链上的后续版本或前续版本作为当前的目标版本,确定其存储策略。需要说明的是,本发明在确定目标版本的存储策略后,对于目标版本所在版本链上的前续版本和后续版本的存储策略的确定不作限定。
比如,如果现有技术是采用上述正增量存储策略对目标版本所在版本链进行存储管理,则本发明可以在将目标版本确定为基版本,对目标版本的版本数据进行全量存储之后,保持目标版本的前续版本的版本数据不变,根据目标版本对目标版本的后续版本继续进行正增量存储(此时保持后续版本的版本数据不变,即可以保持正增量存储策略的不变);如图2所示的版本树中,若V021为目标版本,V0为基版本,V0—V021—V02的版本链采用正增量存储策略进行存储管理,此时本发明可以在计算出V021与V0的版本回溯代价大于第一代价阈值时,将V021确定为一个新的基版本,对V021的版本数据进行全量存储,基于V021的全量数据,分别对V0211、V0212、V0213和V0214的版本数据进行正增量存储,保持V0和V02的版本数据不变;
再比如,如果现有技术是采用上述正增量存储策略对目标版本所在版本链进行存储管理,则本发明可以在将目标版本确定为基版本,对目标版本的版本数据进行全量存储之后,对目标版本的前续版本的存储策略进行改变,即由原来的正增量存储策略改变为逆增量存储策略,此时即可以根据目标版本的全量数据,对目标版本的前续版本的版本数据进行逆增量存储。
再比如,如果现有技术是采用上述逆增量存储策略对目标版本所在版本链进行存储管理,则本发明可以在将目标版本确定为基版本,对目标版本的版本数据进行全量存储之后,根据目标版本对目标版本的前续版本进行逆增量存储,保持目标版本的后续版本的存储策略;如图2所示的版本树中,若V031为目标版本,V03111为基版本,V03111—V0311—V031—V03—V0的版本链采用逆增量存储策略进行存储管理,此时本发明可以在计算出V031与V03111的版本回溯代价大于第一代价阈值时,将V031确定为一个新的基版本,对V031的版本数据进行全量存储,对V031的版本数据进行全量存储,并基于V031的全量数据,对在V031之前的版本V03和V0继续进行逆增量存储,此时V03的版本数据可以为其相对于V031的增量数据,V0的版本数据可以为其相对于V03的增量数据。
可选的,上述步骤S105可以具体为步骤S1052,步骤S1052可以为:
如果版本回溯代价不大于第一代价阈值,则基于目标版本的父版本或子版本,对目标版本的版本数据进行增量存储。
具体的,如果目标版本的版本回溯代价不大于第一代价阈值,则本发明可以确定目标版本的版本回溯代价不大,此时本发明可以设置目标版本为无需对目标版本的版本数据进行全量存储,而可以基于目标版本的父版本或子版本,对目标版本的版本数据进行增量存储,即目标版本的版本数据可以保存目标版本相对于父版本或子版本的增量数据,在付出较小的版本回溯代价的情况下,减小数据的冗余存储,降低对数据存储空间的占用。
可选的,如果计算出的最小版本回溯代价是目标版本与同一版本链上的某个后续版本计算出的,则本发明此时可以将目标版本相对于其子版本的增量数据作为目标版本的版本数据进行保存,以进一步减少目标版本的版本数据对于冗余数据的保存,减少对数据存储空间的占用,提高数据存储空间的利用率;
可选的,如果计算出的最小版本回溯代价是目标版本与同一版本链上的某个前续版本计算出的,则本发明此时可以将目标版本相对于其父版本的增量数据作为目标版本的版本数据进行保存,以进一步减少目标版本的版本数据对于冗余数据的保存,减少对数据存储空间的占用,提高数据存储空间的利用率;
可选的,如果计算出的最小版本回溯代价是目标版本与不同版本链上的某个基版本计算出的,则本发明此时可以将目标版本相对于其父版本的增量数据作为目标版本的版本数据进行保存,以进一步减少目标版本的版本数据对于冗余数据的保存,减少对数据存储空间的占用,提高数据存储空间的利用率。
需要说明的是,无论目标版本或其他版本采取了何种存储策略,或者存储策略发生了何种变化,各版本间的父子关系可以是保持不变的。比如,在图2所示的版本树中,对于V02、V021和V0211,无论三者的版本数据的存储策略是何种存储策略,该三者之间的父子关系不变,即V02始终为V021的父版本,V021始终为V0211的父版本。
本实施例提出的数据处理方法,可以在目标产品的多个版本中,确定出一个待确定存储策略的目标版本;获得目标版本是否存在后继版本的判断结果;利用与判断结果相匹配的版本回溯代价计算模型,计算由目标版本回溯到基版本的版本回溯代价;确定版本回溯代价与预设的第一代价阈值的大小关系;确定与大小关系相匹配的对目标版本的版本数据的存储策略。本发明可以在处理目标版本的版本数据,计算出由目标版本回溯到基版本的版本回溯代价,获得该版本回溯代价与第一代价阈值的大小关系,基于大小关系来确定与目标版本的版本数据对应的存储策略,按照确定出的存储策略来对目标版本的版本数据进行存储处理。本发明可以确定目标版本的版本回溯代价较大时,设置目标版本为一个新的基版本,对目标版本的版本数据进行全量存储,避免在需要检索目标版本的全量数据时,付出较大的版本回溯代价,减少检索资源消耗;本发明也可以在确定目标版本的版本回溯代价不大时,无需对目标版本的版本数据进行全量存储,而可以基于目标版本的父版本或子版本,对目标版本的版本数据进行增量存储,即目标版本的版本数据可以保存目标版本相对于父版本或子版本的增量数据,在付出较小的版本回溯代价的情况下,减小数据的冗余存储,降低对数据存储空间的占用,从而可以有效实现对目标版本的版本数据的存储管理。
基于图1所示步骤,本实施例提出第二种数据处理方法。当目标产品的多个版本中存在有多个基版本时,该方法可以包括:
S301、在目标产品的多个版本中,确定出一个待确定存储策略的目标版本;
需要说明的是,步骤S301与步骤S101的内容一致,相关说明不再进行赘述。
S302、获得目标版本是否存在后继版本的判断结果;
需要说明的是,步骤S302与步骤S102的内容一致,相关说明不再进行赘述。
S303、利用与判断结果相匹配的版本回溯代价计算模型,分别计算出由目标版本回溯到各基版本的版本回溯代价;
具体的,当目标产品的多个版本中存在有多个基版本时,本发明可以在确定出与判断结果相匹配的版本回溯代价计算模型之后,利用该版本回溯代价计算模型,分别计算出目标版本与各基版本的版本回溯代价。
S304、将各版本回溯代价中的最小版本回溯代价确定为目标版本回溯代价;
具体的,本发明可以在计算出的多个版本回溯代价中,确定出最小版本回溯代价,并将该最小版本回溯代价,确定为目标版本回溯代价。
需要说明的是,步骤S303和S304可以为上述步骤S103的一种具体实施方式。
S305、确定目标版本回溯代价与第一代价阈值的大小关系;
具体的,本发明可以在确定出目标版本回溯代价之后,确定目标版本回溯代价与第一代价阈值的大小关系。
需要说明的是,步骤S305可以为上述步骤S104的一种具体实施方式。
S306、如果目标版本回溯代价大于第一代价阈值,则设置目标版本为一个新的基版本,对目标版本的版本数据进行全量存储;
S307、如果目标版本回溯代价不大于第一代价阈值,则基于目标版本的父版本或子版本,对目标版本的版本数据进行增量存储。
需要说明的是,步骤S306和S307可以为上述步骤S105的一种具体实施方式。
本实施例提出的数据处理方法,可以在目标产品的多个版本中存在有多个基版本时,分别计算目标版本与多个基版本的版本回溯代价,从计算出的各版本回溯代价中确定出最小版本回溯代价,基于该最小版本回溯代价来确定对目标版本的版本数据的存储策略,可以提高存储策略的有效性。
基于图1所示步骤,本实施例提出第三种数据处理方法。在该方法中,目标产品的多个版本中的初始版本为基版本;此时,该方法可以包括:
S401、在包括初始版本的一条版本链上,将初始版本的后继版本确定为当前的目标版本;
需要说明的是,在目标产品的初始版本为基版本时,本发明可以在某条版本链上,将初始版本的后继版本即子版本确定为当前的目标版本,进行存储策略的确定。比如,在图2所示的版本树中,V0为初始版本且为基版本,在包括V0的版本链V0—V02—V021—V0212上,本发明可以将V0的后继版本即子版本V02确定为当前的目标版本,进行存储策略的确定。
S402、获得目标版本是否存在后继版本的判断结果;
需要说明的是,步骤S402与上述步骤S102的内容一致。
S403、利用与判断结果相匹配的版本回溯代价计算模型,计算由目标版本回溯到目标基版本的版本回溯代价,目标基版本为距离目标版本的版本深度最小的、为目标版本的前驱版本的基版本;
具体的,本发明可以在获得目标版本是否存在后继版本的判断结果后,确定与判断结果相匹配的版本回溯代价计算模型,利用该计算模型计算目标版本的版本回溯代价。
其中,本发明可以在目标版本所在的版本链上,将在目标版本之前的、且距离目标版本的版本深度最小的基版本,确定为与目标版本进行版本回溯代价计算的目标基版本。可以理解的是,当目标版本为初始版本的子版本时,目标基版本即可以为初始版本。
S404、确定版本回溯代价与预设的第一代价阈值的大小关系;
S405、确定与大小关系相匹配的对目标版本的版本数据的存储策略;
需要说明的是,步骤S404和S405分别与上述步骤S104和S105的内容一致。
S406、在确定与大小关系相匹配的对目标版本的版本数据的存储策略之后,将目标版本在版本链上的后继版本确定为当前的目标版本,返回执行步骤S402,直至确定出版本链上所有非初始版本的版本的存储策略。
具体的,本发明可以在将初始版本的子版本作为当前的目标版本,确定出当前的目标版本的存储策略之后,再将该子版本的子版本作为当前的目标版本,继续确定当前的目标版本的存储策略,直至确定出初始版本在选取的版本链上的所有后续版本的存储策略。比如,在图2所示的版本树上,对于版本链V0—V02—V021—V0212,V0为初始版本且为基版本,本发明可以在将V0的子版本V02作为当前的目标版本,确定出V02的存储策略后,再将V02的子版本V021作为当前的目标版本,确定出V021的存储策略,之后再将V021的子版本V0212作为当前的目标版本,确定出V0212的存储策略。
其中,如果目标版本与目标基版本的版本回溯代价较大,则本发明可以对目标版本的版本数据进行全量存储;比如,在图2所示的版本树上,对于版本链V0—V02—V021—V0212,V0为初始版本且为基版本,当V02作为目标版本,且V02与V0的版本回溯代价较大时,本发明可以对V02的版本数据进行全量存储;
如果目标版本与目标基版本的版本回溯代价不大,则本发明可以对目标版本的版本数据进行正增量存储;比如,在图2所示的版本树上,对于版本链V0—V02—V021—V0212,V0为初始版本且为基版本,当V02作为目标版本,且V02与V0的版本回溯代价不大时,本发明可以对V02的版本数据进行正增量存储,此时V02的版本数据可以保存V02相对于V0的增量数据。
可选的,本发明可以在目标产品的初始版本生成时,对初始版本的版本数据进行全量存储,而初始版本的后续版本均可以通过使用步骤S401、S402、S403、S404、S405和S406,来确定出相应的存储策略。此时,在需要确定一个新版本的存储策略时,本发明即可以将该新版本作为当前的目标版本,并执行步骤S402、S403、S404和S405,确定出该新版本的存储策略。
可选的,本发明可以在目标产品的初始版本为基版本时,将某条版本链作为目标版本链,通过使用步骤S401、S402、S403、S404、S405和S406,对目标版本链上的版本存储策略进行优化。
可选的,本发明可以依次对目标产品的各条版本链进行优化,从而实现对目标产品的除初始版本外的所有版本进行存储策略的优化。
本实施例提出的数据处理方法,可以对目标产品的版本的存储策略进行优化,有效实现对目标产品的版本数据的存储管理。
基于图1所示步骤,本实施例提出第四种数据处理方法。目标产品的一个当前版本为基版本;此时,该方法可以包括以下步骤:
S501、在包括目标产品的初始版本和当前版本的版本链上,将当前版本的前驱版本确定为当前的目标版本;
其中,目标产品的当前版本可以是某条版本链上最新发布的版本。
需要说明的是,在目标产品的当前版本为基版本时,本发明可以在该当前版本所处的版本链上,将当前版本的前续版本即父版本确定为当前的目标版本,进行存储策略的确定。比如,在图2所示的版本链V0—V02—V021—V0212中,V0212可以为目标产品的当前版本,本发明可以将V0212的前驱版本即父版本确定为当前的目标版本,进行存储策略的确定。
S502、获得目标版本是否存在后继版本的判断结果;
需要说明的是,步骤S502与上述步骤S102的内容一致。
S503、利用与判断结果相匹配的版本回溯代价计算模型,计算由目标版本回溯到目标基版本的版本回溯代价,目标基版本为距离目标版本的版本深度最小的、为目标版本的后继版本的基版本;
具体的,本发明可以在获得目标版本是否存在后继版本的判断结果后,确定与判断结果相匹配的版本回溯代价计算模型,利用该计算模型计算目标版本的版本回溯代价。
其中,本发明可以在目标版本所在的版本链上,将在目标版本之后的、且距离目标版本的版本深度最小的基版本,确定为与目标版本进行版本回溯代价计算的目标基版本。可以理解的是,当目标版本为当前版本的父版本时,目标基版本即可以为当前版本。
S504、确定版本回溯代价与预设的第一代价阈值的大小关系;
S505、确定与大小关系相匹配的对目标版本的版本数据的存储策略;
需要说明的是,步骤S504和S505分别与上述步骤S104和S105的内容一致。
S506、在确定与大小关系相匹配的对目标版本的版本数据的存储策略之后,将目标版本在版本链上的前驱版本确定为当前的目标版本,返回执行获得目标版本是否存在后继版本的判断结果的步骤,直至确定出版本链上所有非当前版本的版本的存储策略。
具体的,本发明可以在将当前版本的父版本作为当前的目标版本,确定出当前的目标版本的存储策略之后,再将该父版本的父版本作为当前的目标版本,继续确定当前的目标版本的存储策略,直至确定出当前版本在其所在版本链上的所有前续版本的存储策略。比如,在图2所示的版本树上,对于版本链V0—V02—V021—V0212,V0212为当前版本且为基版本,本发明可以在将V0212的父版本V021作为当前的目标版本,确定出V021的存储策略后,再将V021的父版本V02作为当前的目标版本,确定出V02的存储策略,之后再将V02的父版本V0作为当前的目标版本,确定出V0的存储策略。
其中,如果目标版本与目标基版本的版本回溯代价较大,则本发明可以对目标版本的版本数据进行全量存储;比如,在图2所示的版本树上,对于版本链V0—V02—V021—V0212,V0212为当前版本且为基版本,当V021作为目标版本,且V021与V0212的版本回溯代价较大时,本发明可以对V021的版本数据进行全量存储;
如果目标版本与目标基版本的版本回溯代价不大,则本发明可以对目标版本的版本数据进行逆增量存储;比如,在图2所示的版本树上,对于版本链V0—V02—V021—V0212,V0212为当前版本且为基版本,当V021作为目标版本,且V021与V0212的版本回溯代价不大时,本发明可以对V021的版本数据进行逆增量存储,此时V021的版本数据可以保存V021相对于V0212的增量数据。
可选的,本发明可以在目标产品生成某个当前版本时,对该当前版本的版本数据进行全量存储,而该当前版本所处版本链上的所有前续版本均可以通过使用步骤S501、S502、S503、S504、S505和S506,来确定出相应的存储策略。
可选的,本发明可以在目标产品的某个当前版本为基版本时,对当前版本所处版本链上的所有前续版本,通过使用步骤S501、S502、S503、S404、S505和S506,对版本链上的版本存储策略进行优化。
可选的,本发明可以依次对目标产品的各条版本链进行优化,实现对目标产品的当前版本之外的所有前续版本进行存储策略的优化。
本实施例提出的数据处理方法,可以对目标产品的版本的存储策略进行优化,有效实现对目标产品的版本数据的存储管理。
基于图1所示步骤,如图3所示,本实施例提出第五种数据处理方法。该方法还可以包括:
S601、根据版本回溯代价、版本检索效率、系统性能和/或数据规模,调整第一代价阈值的取值。
需要说明的是,第一代价阈值的取值大小可以决定进行全量存储的基版本的数量,对于所有版本的整体存储策略的结果有较大的影响作用。具体的,如果第一代价阈值的取值较大,则确定出的进行全量存储的基版本的数量会较少,整体的版本回溯代价会较大,使得版本数据的检索效率降低,增大版本检索的资源消耗;而如果第一代价阈值的取值较小,则确定出的进行全量存储的基版本的数量会较多,整体存储的冗余数据会较多,使得对数据存储空间的利用率降低。
可选的,本发明可以根据对整体的版本回溯代价进行评估,结合版本检索效率、系统性能和/或数据规模来调整确定第一代价阈值,以使得确定出的进行全量存储的基版本的数量适中,对整体版本回溯代价和数据存储空间的利用率进行平衡,更大限度的在降低整体版本回溯代价的情况下,提高数据存储空间的利用率,提高数据存储的可靠性。
可选的,第一代价阈值的调整也可以由技术人员采用估值评估的方式,结合系统性能和数据规模来进行调整。
本实施例提出的数据处理方法,可以通过对第一代价阈值进行调整,来对整体版本回溯代价和数据存储空间的利用率进行平衡,更大限度的在降低整体版本回溯代价的情况下,提高数据存储空间的利用率,提高数据存储的可靠性。
与图1所示方法相对应,如图4所示,本实施例提出一种数据处理装置。该装置可以包括:第一确定单元101、获得单元102、计算单元103、第二确定单元104和第三确定单元105,其中:
第一确定单元101,用于在目标产品的多个版本中,确定出一个待确定存储策略的目标版本;
获得单元102,用于获得目标版本是否存在后继版本的判断结果;
计算单元103,用于利用与判断结果相匹配的版本回溯代价计算模型,计算由目标版本回溯到基版本的版本回溯代价;
第二确定单元104,用于确定版本回溯代价与预设的第一代价阈值的大小关系;
第三确定单元105,用于确定与大小关系相匹配的对目标版本的版本数据的存储策略。
需要说明的是,第一确定单元101、获得单元102、计算单元103、第二确定单元104和第三确定单元105的具体处理过程及其带来的技术效果,可以分别参照图1中的步骤S101、S102、S103、S104和S105,相关说明不再赘述。
本实施例提出的数据处理装置,可以确定目标版本的版本回溯代价较大时,设置目标版本为一个新的基版本,对目标版本的版本数据进行全量存储,避免在需要检索目标版本的全量数据时,付出较大的版本回溯代价,减少检索资源消耗;本发明也可以在确定目标版本的版本回溯代价不大时,无需对目标版本的版本数据进行全量存储,而可以基于目标版本的父版本或子版本,对目标版本的版本数据进行增量存储,即目标版本的版本数据可以保存目标版本相对于父版本或子版本的增量数据,在付出较小的版本回溯代价的情况下,减小数据的冗余存储,降低对数据存储空间的占用,从而可以有效实现对目标版本的版本数据的存储管理。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (8)
1.一种数据处理方法,其特征在于,包括:
在目标产品的多个版本中,确定出一个待确定存储策略的目标版本;
获得所述目标版本是否存在后继版本的判断结果;
利用与所述判断结果相匹配的版本回溯代价计算模型,计算由所述目标版本回溯到基版本的版本回溯代价;
确定所述版本回溯代价与预设的第一代价阈值的大小关系;
确定与所述大小关系相匹配的对所述目标版本的版本数据的存储策略;
所述版本回溯代价计算模型中的版本参数至少包括:版本访问频率、版本继承值和版本深度;所述版本回溯代价计算模型包括第一计算模型;当所述判断结果为所述目标版本未存在后继版本时,所述利用与所述判断结果相匹配的版本回溯代价计算模型,计算由所述目标版本回溯到基版本的版本回溯代价,包括:确定所述目标版本回溯到所述基版本过程中经历到的所有版本;确定由所述目标版本回溯到所述基版本的版本深度;在所述所有版本中,分别确定各版本的版本访问频率、版本继承值;将所述所有版本中各版本的版本访问频率和版本继承值,以及所述版本深度输入到所述第一计算模型中;获得所述第一计算模型输出的所述版本回溯代价;
所述版本回溯代价计算模型中的版本参数还包括:子版本数量,所述版本回溯代价计算模型还包括:第二计算模型;当所述判断结果为所述目标版本存在后继版本时,所述利用与所述判断结果相匹配的版本回溯代价计算模型,计算由所述目标版本回溯到基版本的版本回溯代价,还包括:获得所述目标版本的子版本数量;所述将所述所有版本中各版本的版本访问频率和版本继承值,以及所述版本深度输入到所述第一计算模型中,包括:将所述所有版本中各版本的版本访问频率和版本继承值,以及所述版本深度和所述子版本数量输入到所述第二计算模型中;所述获得所述第一计算模型输出的所述版本回溯代价,包括:获得所述第二计算模型输出的所述版本回溯代价。
2.根据权利要求1所述的数据处理方法,其特征在于,所述确定与所述大小关系相匹配的对所述目标版本的版本数据的存储策略,包括:
如果所述版本回溯代价大于所述第一代价阈值,则设置所述目标版本为一个新的基版本,对所述目标版本的版本数据进行全量存储。
3.根据权利要求1所述的数据处理方法,其特征在于,所述确定与所述大小关系相匹配的对所述目标版本的版本数据的存储策略,包括:
如果所述版本回溯代价不大于所述第一代价阈值,则基于所述目标版本的父版本或子版本,对所述目标版本的版本数据进行增量存储。
4.根据权利要求1所述的数据处理方法,其特征在于,当所述目标产品的所述多个版本中存在有多个基版本时,所述计算由所述目标版本回溯到基版本的版本回溯代价,包括:
分别计算出由所述目标版本回溯到各所述基版本的版本回溯代价;
将各所述版本回溯代价中的最小版本回溯代价确定为目标版本回溯代价;
所述确定所述版本回溯代价与预设的第一代价阈值的大小关系,包括:
确定所述目标版本回溯代价与所述第一代价阈值的大小关系;
所述确定与所述大小关系相匹配的对所述目标版本的版本数据的存储策略,包括:
如果所述目标版本回溯代价大于所述第一代价阈值,则设置所述目标版本为一个新的基版本,对所述目标版本的版本数据进行全量存储;
如果所述目标版本回溯代价不大于所述第一代价阈值,则基于所述目标版本的父版本或子版本,对所述目标版本的版本数据进行增量存储。
5.根据权利要求1所述的数据处理方法,其特征在于,所述目标产品的所述多个版本中的初始版本为所述基版本;所述在目标产品的多个版本中,确定出一个待确定存储策略的目标版本,包括:
在包括所述初始版本的一条版本链上,将所述初始版本的后继版本确定为当前的目标版本;
所述计算由所述目标版本回溯到基版本的版本回溯代价,包括:
计算由所述目标版本回溯到目标基版本的版本回溯代价,所述目标基版本为距离所述目标版本的版本深度最小的、为所述目标版本的前驱版本的基版本;
在所述确定与所述大小关系相匹配的对所述目标版本的版本数据的存储策略之后,将所述目标版本在所述版本链上的后继版本确定为当前的目标版本,返回执行所述获得所述目标版本是否存在后继版本的判断结果的步骤,直至确定出所述版本链上所有非所述初始版本的版本的存储策略。
6.根据权利要求1所述的数据处理方法,其特征在于,所述目标产品的一个当前版本为所述基版本;所述在目标产品的多个版本中,确定出一个待确定存储策略的目标版本,包括:
在包括所述目标产品的初始版本和所述当前版本的版本链上,将所述当前版本的前驱版本确定为当前的目标版本;
所述计算由所述目标版本回溯到基版本的版本回溯代价,包括:
计算由所述目标版本回溯到目标基版本的版本回溯代价,所述目标基版本为距离所述目标版本的版本深度最小的、为所述目标版本的后继版本的基版本;
在所述确定与所述大小关系相匹配的对所述目标版本的版本数据的存储策略之后,将所述目标版本在所述版本链上的前驱版本确定为当前的目标版本,返回执行所述获得所述目标版本是否存在后继版本的判断结果的步骤,直至确定出所述版本链上所有非所述当前版本的版本的存储策略。
7.根据权利要求1所述的数据处理方法,其特征在于,所述方法还包括:
根据版本回溯代价、版本检索效率、系统性能和/或数据规模,调整所述第一代价阈值的取值。
8.一种数据处理装置,其特征在于,包括:第一确定单元、获得单元、计算单元、第二确定单元和第三确定单元,其中:
所述第一确定单元,用于在目标产品的多个版本中,确定出一个待确定存储策略的目标版本;
所述获得单元,用于获得所述目标版本是否存在后继版本的判断结果;
所述计算单元,用于利用与所述判断结果相匹配的版本回溯代价计算模型,计算由所述目标版本回溯到基版本的版本回溯代价;
所述第二确定单元,用于确定所述版本回溯代价与预设的第一代价阈值的大小关系;
所述第三确定单元,用于确定与所述大小关系相匹配的对所述目标版本的版本数据的存储策略;
所述版本回溯代价计算模型中的版本参数至少包括:版本访问频率、版本继承值和版本深度;所述版本回溯代价计算模型包括第一计算模型;当所述判断结果为所述目标版本未存在后继版本时,所述利用与所述判断结果相匹配的版本回溯代价计算模型,计算由所述目标版本回溯到基版本的版本回溯代价,包括:确定所述目标版本回溯到所述基版本过程中经历到的所有版本;确定由所述目标版本回溯到所述基版本的版本深度;在所述所有版本中,分别确定各版本的版本访问频率、版本继承值;将所述所有版本中各版本的版本访问频率和版本继承值,以及所述版本深度输入到所述第一计算模型中;获得所述第一计算模型输出的所述版本回溯代价;
所述版本回溯代价计算模型中的版本参数还包括:子版本数量,所述版本回溯代价计算模型还包括:第二计算模型;当所述判断结果为所述目标版本存在后继版本时,所述利用与所述判断结果相匹配的版本回溯代价计算模型,计算由所述目标版本回溯到基版本的版本回溯代价,还包括:获得所述目标版本的子版本数量;所述将所述所有版本中各版本的版本访问频率和版本继承值,以及所述版本深度输入到所述第一计算模型中,包括:将所述所有版本中各版本的版本访问频率和版本继承值,以及所述版本深度和所述子版本数量输入到所述第二计算模型中;所述获得所述第一计算模型输出的所述版本回溯代价,包括:获得所述第二计算模型输出的所述版本回溯代价。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111619833.2A CN114281802B (zh) | 2021-12-27 | 2021-12-27 | 一种数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111619833.2A CN114281802B (zh) | 2021-12-27 | 2021-12-27 | 一种数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114281802A CN114281802A (zh) | 2022-04-05 |
CN114281802B true CN114281802B (zh) | 2024-05-28 |
Family
ID=80876617
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111619833.2A Active CN114281802B (zh) | 2021-12-27 | 2021-12-27 | 一种数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114281802B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016059787A1 (ja) * | 2014-10-14 | 2016-04-21 | 日本電気株式会社 | 情報処理装置、情報処理方法、及び、記録媒体 |
CN111209444A (zh) * | 2020-01-06 | 2020-05-29 | 电子科技大学 | 一种基于时间序列多版本图拓扑数据的存储方法 |
CN112231291A (zh) * | 2019-07-15 | 2021-01-15 | 广联达科技股份有限公司 | 一种云端文件多分支版本管理的方法和装置 |
CN112486561A (zh) * | 2020-11-25 | 2021-03-12 | 北京电力交易中心有限公司 | 基于区块链的版本回溯方法、装置及相关设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018132416A1 (en) * | 2017-01-11 | 2018-07-19 | Mz Ip Holdings, Llc | System and method for managing dynamic design data for a virtual environment |
-
2021
- 2021-12-27 CN CN202111619833.2A patent/CN114281802B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016059787A1 (ja) * | 2014-10-14 | 2016-04-21 | 日本電気株式会社 | 情報処理装置、情報処理方法、及び、記録媒体 |
CN112231291A (zh) * | 2019-07-15 | 2021-01-15 | 广联达科技股份有限公司 | 一种云端文件多分支版本管理的方法和装置 |
CN111209444A (zh) * | 2020-01-06 | 2020-05-29 | 电子科技大学 | 一种基于时间序列多版本图拓扑数据的存储方法 |
CN112486561A (zh) * | 2020-11-25 | 2021-03-12 | 北京电力交易中心有限公司 | 基于区块链的版本回溯方法、装置及相关设备 |
Non-Patent Citations (2)
Title |
---|
基于NoSQL的PDM版本管理;夏秀峰 等;计算机技术与发展;20161031;26(10);第22-31页 * |
浅议空间数据的版本管理;金宝婷 等;科级情报开发与经济;20081115;第18卷(第32期);第158-160页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114281802A (zh) | 2022-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109753356A (zh) | 一种容器资源调度方法、装置及计算机可读存储介质 | |
Azzeh | A replicated assessment and comparison of adaptation techniques for analogy-based effort estimation | |
US8468153B2 (en) | Information service for facts extracted from differing sources on a wide area network | |
CN111597247A (zh) | 一种数据异常分析方法、装置及存储介质 | |
CN103336790A (zh) | 基于Hadoop的邻域粗糙集快速属性约简方法 | |
US20190310935A1 (en) | Intelligent garbage collector for containers | |
CN103699606A (zh) | 一种基于顶点切割与社区聚集的大规模图划分方法 | |
Jeong et al. | Anomaly teletraffic intrusion detection systems on hadoop-based platforms: A survey of some problems and solutions | |
CN103336791A (zh) | 基于Hadoop的粗糙集快速属性约简方法 | |
CN106407224A (zh) | 一种键值存储系统中文件压实的方法和装置 | |
Jiang et al. | Parallel K-Medoids clustering algorithm based on Hadoop | |
CN114138977A (zh) | 日志处理方法、装置、计算机设备和存储介质 | |
Zhao et al. | A survey of deep anomaly detection for system logs | |
CN114281802B (zh) | 一种数据处理方法及装置 | |
CN117472511A (zh) | 容器资源监控方法、装置、计算机设备和存储介质 | |
CN110971468B (zh) | 一种基于脏页预测的延迟拷贝增量式容器检查点处理方法 | |
CN110209742B (zh) | 一种基于区块链依据数据重要性分类存储系统及方法 | |
CN112348041A (zh) | 日志分类、日志分类训练方法及装置、设备、存储介质 | |
Gazzarri et al. | Progressive Entity Resolution over Incremental Data. | |
KR102425731B1 (ko) | 인공지능 기반의 하이퍼오토메이션 솔루션을 위한 프로세스 실행 요청 에이전트 시스템 | |
Jiang | Design and implementation of smart community big data dynamic analysis model based on logistic regression model | |
CN115759979A (zh) | 基于rpa和流程挖掘的流程智能处理方法和系统 | |
CN115269654A (zh) | 一种数据缓存补充方法、装置、设备及介质 | |
EP4339817A1 (en) | Anomalous command line entry detection | |
CN111428118B (zh) | 一种检测事件可靠性的方法及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |