结构化对象数据的版本处理方法、装置和电子设备制造方法及图纸

技术编号:35152391 阅读:18 留言:0更新日期:2022-10-05 10:31
本申请公开了一种结构化对象数据的版本处理方法、装置和电子设备。其中,该方法包括:确定存储结构化对象数据的历史版本数据的版本数据空间,其中,版本数据空间至少存储有对象版本快照表、对象索引快照表和工程版本信息表;生成任意结构化对象数据的新版本数据并写入版本数据空间;生成整个工程的新版本数据并写入版本数据空间;从对象版本快照表中确定目标对象历史版本的原始结构数据;从对象索引快照表和工程版本信息表中确定目标工程版本的对象索引列表。本申请解决了现有技术在对结构化对象数据进行版本管理时,存在新版本和历史版本混合在一起,影响系统正常访问的技术问题。题。题。

【技术实现步骤摘要】
结构化对象数据的版本处理方法、装置和电子设备


[0001]本申请涉及数据管理领域,具体而言,涉及一种结构化对象数据的版本处理方法、装置和电子设备。

技术介绍

[0002]在控制系统领域,需要对控制器进行编程,需要对控制信号进行映射,需要对监控画面进行绘制、需要对报警进行定义,这些行为称之为组态过程,组态过程产生的数据通常是结构化数据,这些数据的存档称之为组态存档,组态存档需要发布到生产环境中进行调试和运行。组态过程和生产过程是分离的,生产环境通常使用最新版本的组态存档进行生产,同时工程师还可以持续地对组态存档进行调整和优化,因此组态存档需要进行版本管理,将每次发布到生产环境的组态存档作为一个版本存储和管理起来,使正在进行的组态修改不影响生产环境的组态存档,还可以在新修改错误的情况下还原到某个历史版本。在工程师进行调试环节,需要对组态存档进行频繁地修改和发布,如果每次发布时简单粗暴地将整个组态存档打包备份,这样太过浪费存储空间,也使得发布过程变得很慢,非常不利于调试过程的实施。
[0003]而对于结构化数据的版本管理,通常是在数据库中增加一个版本号字段,当产生新版本时,插入一条新版本号的记录,这样导致最新版本和历史版本混合在了一起,当数据体量本身就很大,再加上历史版本时,数据体量的问题将严重影响系统的正常访问。
[0004]针对上述的问题,目前尚未提出有效的解决方案。

技术实现思路

[0005]本申请实施例提供了一种结构化对象数据的版本处理方法、装置和电子设备,以至少解决现有技术在对结构化对象数据进行版本管理时,存在新版本和历史版本混合在一起,影响系统正常访问的技术问题。
[0006]根据本申请实施例的一个方面,提供了一种结构化对象数据的版本处理方法,包括:确定存储结构化对象数据的历史版本数据的版本数据空间,其中,版本数据空间至少存储有对象版本快照表、对象索引快照表和工程版本信息表,对象版本快照表用于存储每个对象的每个版本的对象版本快照信息,对象索引快照表用于存储工程的每个版本的所有结构化对象数据的索引快照信息,工程版本信息表用于存储工程的每个版本对应的版本提交信息;生成任意结构化对象数据的新版本数据,并将结构化对象数据的新版本数据写入版本数据空间;生成整个工程的新版本数据,并将整个工程的新版本数据写入版本数据空间,其中,整个工程的新版本数据由结构化对象数据的新版本数据组成;从对象版本快照表中获取目标对象历史版本对应的快照数据,依据快照数据确定目标对象历史版本的原始结构数据;从对象索引快照表和工程版本信息表中确定目标工程历史版本对应的对象索引快照数据指纹,依据对象索引快照数据指纹,确定目标工程版本的对象索引列表。
[0007]可选地,对象版本快照信息包括对象的ID、对象的版本号、对象的快照数据、对象
的快照数据的数据指纹;索引快照信息包括所有对象的ID、对象的版本号组成的对象列表的快照数据以及该快照数据的数据指纹;版本提交信息包括版本提交人、版本提交时间、工程版本号、版本提交备注以及该工程版本的对象索引快照数据的数据指纹。
[0008]可选地,生成任意结构化对象数据的新版本数据,并将结构化对象数据的新版本数据写入版本数据空间,包括:获取待生成新版本的对象,并为待生成新版本的对象生成新的版本号,其中,待生成新版本的对象为在工作环境中发生变化的对象;将新版本对象的原始结构数据进行序列化操作,得到新版本对象的序列化数据;将新版本对象的序列化数据进行编码压缩,得到新版本对象的快照数据;依据新版本对象的快照数据,确定快照数据的数据指纹;依据新版本对象的对象ID、版本号、快照数据和数据指纹,生成行数据,并将行数据存入版本数据空间的对象版本快照表中。
[0009]可选地,生成整个工程的新版本数据,并将整个工程的新版本数据写入版本数据空间,包括:遍历整个工程中的所有对象,确定工程对象索引列表,其中,工程对象索引列表包括所有对象的对象ID和版本号;对的工程对象索引列表进行序列化操作,生成工程对象索引列表的序列化数据;将工程对象索引列表的序列化数据进行编码压缩,生成对象索引的快照数据;依据对象索引快照数据,确定对象索引快照数据的数据指纹;将对象索引快照数据和对象索引快照的数据指纹作为行数据存入版本数据空间的对象索引快照表中。
[0010]可选地,方法还包括:将整个工程的新版本数据的提交人、提交时间、工程新版本号、新版本备注信息以及对象索引快照的数据指纹作为行数据存入版本数据空间的工程版本信息表中。
[0011]可选地,从对象版本快照表中获取目标对象历史版本对应的快照数据,依据快照数据确定目标对象历史版本的原始结构数据,包括:获取目标对象历史版本的第一信息或第二信息,其中,第一信息包括目标对象历史版本的对象ID和版本号,第二信息包括目标对象历史版本的数据指纹;从对象版本快照表中查询第一信息或第二信息对应的快照数据;解码第一信息或第二信息对应的快照数据,得到待加载对象历史版本的序列化数据;对待加载对象历史版本的序列化数据进行反序列操作,得到目标对象历史版本的原始结构数据。
[0012]可选地,获取目标对象历史版本的第一信息或第二信息,包括:获取目标对象的对象ID,其中,目标对象的对象ID为工程历史衍变过程中任意对象的对象ID;从对象版本快照表中查询对象ID对应的所有历史版本信息,其中,历史版本信息包含目标对象历史版本的版本号、目标对象历史版本的快照数据指纹。
[0013]可选地,确定目标工程版本的对象索引列表,包括:获取目标工程历史版本号,其中,目标工程历史版本号为工程版本信息表中任意一行数据中的版本号;从工程版本信息表中查询目标工程历史版本号对应的对象索引快照数据指纹;从对象索引快照中查询对象索引快照数据指纹对应的对象索引快照数据;解码对象索引快照数据,得到目标工程历史版本的对象索引列表。
[0014]根据本申请实施例的另一方面,还提供了一种结构化对象数据的版本处理装置,包括:确定模块,用于确定存储结构化对象数据的历史版本数据的版本数据空间,其中,版本数据空间至少存储有对象版本快照表、对象索引快照表和工程版本信息表,对象版本快照表用于存储每个对象的每个版本的对象版本快照信息,对象索引快照表用于存储工程的
每个版本的所有结构化对象数据的索引快照信息,工程版本信息表用于存储工程的每个版本对应的版本提交信息;第一生成模块,用于生成任意结构化对象数据的新版本数据,并将结构化对象数据的新版本数据写入版本数据空间;第二生成模块,用于生成整个工程的新版本数据,并将整个工程的新版本数据写入版本数据空间,其中,整个工程的新版本数据由结构化对象数据的新版本数据组成;第一确定模块,用于从对象版本快照表中获取目标对象历史版本对应的快照数据,依据快照数据确定目标对象历史版本的原始结构数据;第二确定模块,用于从对象索引快照表和工程版本信息表中确定目标工程历史版本对应的对象索引快照数据指纹,依据对象索引快照数据指纹,确定目标工程版本的对象索引列表。
[0015]根据本申请实施本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种结构化对象数据的版本处理方法,其特征在于,包括:确定存储结构化对象数据的历史版本数据的版本数据空间,其中,所述版本数据空间至少存储有对象版本快照表、对象索引快照表和工程版本信息表,所述对象版本快照表用于存储每个对象的每个版本的对象版本快照信息,所述对象索引快照表用于存储工程的每个版本的所有结构化对象数据的索引快照信息,所述工程版本信息表用于存储工程的每个版本对应的版本提交信息;生成任意结构化对象数据的新版本数据,并将所述结构化对象数据的新版本数据写入所述版本数据空间;生成整个工程的新版本数据,并将所述整个工程的新版本数据写入所述版本数据空间,其中,所述整个工程的新版本数据由所述结构化对象数据的新版本数据组成;从所述对象版本快照表中获取目标对象历史版本对应的快照数据,依据所述快照数据确定所述目标对象历史版本的原始结构数据;从所述对象索引快照表和所述工程版本信息表中确定目标工程历史版本对应的对象索引快照数据指纹,依据所述对象索引快照数据指纹,确定目标工程版本的对象索引列表。2.根据权利要求1所述的方法,其特征在于,所述对象版本快照信息包括对象的ID、对象的版本号、对象的快照数据、对象的快照数据的数据指纹;所述索引快照信息包括所有对象的ID、对象的版本号组成的对象列表的快照数据以及该快照数据的数据指纹;所述版本提交信息包括版本提交人、版本提交时间、工程版本号、版本提交备注以及该工程版本的对象索引快照数据的数据指纹。3.根据权利要求1所述的方法,其特征在于,生成任意结构化对象数据的新版本数据,并将所述结构化对象数据的新版本数据写入所述版本数据空间,包括:获取待生成新版本的对象,并为所述待生成新版本的对象生成新的版本号,其中,所述待生成新版本的对象为在工作环境中发生变化的对象;将所述新版本对象的原始结构数据进行序列化操作,得到所述新版本对象的序列化数据;将所述新版本对象的序列化数据进行编码压缩,得到所述新版本对象的快照数据;依据所述新版本对象的快照数据,确定所述快照数据的数据指纹;依据所述新版本对象的对象ID、版本号、快照数据和数据指纹,生成行数据,并将所述行数据存入所述版本数据空间的对象版本快照表中。4.根据权利要求1所述的方法,其特征在于,生成整个工程的新版本数据,并将所述整个工程的新版本数据写入所述版本数据空间,包括:遍历所述整个工程中的所有对象,确定工程对象索引列表,其中,所述工程对象索引列表包括所述所有对象的对象ID和版本号;对所述的工程对象索引列表进行序列化操作,生成工程对象索引列表的序列化数据;将所述工程对象索引列表的序列化数据进行编码压缩,生成对象索引的快照数据;依据所述对象索引快照数据,确定所述对象索引快照数据的数据指纹;将所述对象索引快照数据和所述对象索引快照的数据指纹作为行数据存入所述版本
数据空间的对象索引快照表中。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:将所述整个工程的新版本数据的提交人、提交时间、工程新版本号、新版本备注信息以及所述对象索引快照的数据指纹作为行数据存入所述版本数据空间的工程版本信息表中。6.根据权利要求1所述的方法,其特征在于,从所述对象版本快照表中获取目标对象历史版本对应的快照数据,依据所述快照数据确定所述目标对象历史版本的原始结构数据,包括:获取所述目标对象历史版本的第一信息或第二信息,其中,所述第一信息包括所述目标对象历史版本的对象ID和版本号,所述第二信息包括所述目标对象历史版本的数据指纹;从所述对象版本快照表中查询所述第一信息或所述第二信息对应的快照数据;解码所述第一信息或所述第二信息对应...

【专利技术属性】
技术研发人员:韦群跃吴欣徐伟强任远
申请(专利权)人:浙江中控技术股份有限公司
类型:发明
国别省市:

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

1