一种变更数据的存储方法、查询方法及相关产品技术

技术编号:37664560 阅读:47 留言:0更新日期:2023-05-26 04:21
本申请公开了一种变更数据的存储方法、查询方法及相关产品。在存储阶段主要采用了增量存储的方式替代全量存储的方式。目标数据被划分为多个数据块,响应于目标数据块的数据变更指令,更新目标数据块的MD5值并基于更新后的目标数据块的MD5值更新自平衡二叉树。存储的数据较少,仅涉及实质发生变化的数据以及数据块的新的MD5值,降低对存储空间的占用量。自平衡二叉树是以数据块的MD5值为节点构建而成,结构上便于快速索引定位数据块,有利于高效地完成查询任务,实现变更数据比对。基于MD5值的数据变更增量记录的措施以及从自平衡二叉树中遍历节点的方式,能够显著提升对目标数据块的确定速度,从而提升查询效率。从而提升查询效率。从而提升查询效率。

【技术实现步骤摘要】
一种变更数据的存储方法、查询方法及相关产品


[0001]本申请涉及数据存储与查询
,特别是涉及一种变更数据的存储方法、查询方法及相关产品。

技术介绍

[0002]目前,许多类型的数据受到多人协同编辑以及多次变更的操作。例如表单数据由用户A和用户B协同编辑,用户A变更其中特定的数据后,用户B也需要感知到由用户A变更的数据及其位置,从而了解由用户A在编辑过程产生的数据变更结果。在另一示例场景中,流程数据被用户C多次修改,多次的修改由人为去记录显然是十分考验记忆力的,当用户C需要对历史的修改进行回顾时,有必要查询历史操作产生的数据变更。
[0003]为了满足以上需求,当数据发生变更,为了进行准确的记录往往要对数据进行全量的存储。例如,当表单数据中部分内容发生变更后,将变更后的整个表单的数据存储下来。如此一来,一方面占用了较多的存储空间,另一方面使数据查询耗时较长,查询效率低。为此,有必要提供一种能够节省存储空间、提升变更数据查询效率的技术方案。

技术实现思路

[0004]基于上述问题,本申请提供了一种变更数据的存储方法、本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种变更数据的存储方法,其特征在于,包括:响应于目标数据块的数据变更指令,更新所述目标数据块的MD5值,其中,所述目标数据块为目标数据中的任一数据块;根据更新后的所述目标数据块的MD5值,更新以所述目标数据中多个数据块的MD5值构建的自平衡二叉树;根据更新后的所述目标数据块的MD5值和所述目标数据块的变更数据,形成所述目标数据的数据变更增量记录。2.根据权利要求1所述的变更数据的存储方法,其特征在于,所述根据更新后的所述目标数据块的MD5值,更新以所述目标数据中多个数据块的MD5值构建的自平衡二叉树,具体包括:将所述自平衡二叉树中所述目标数据块对应的节点删除,得到第一自平衡二叉树;以更新后的所述目标数据块的MD5值作为新节点加入至所述第一自平衡二叉树中,得到第二自平衡二叉树;对所述第二自平衡二叉树进行结构旋转调整和/或节点重着色调整,以得到满足预设自平衡条件的第三自平衡二叉树。3.根据权利要求2所述的变更数据的存储方法,其特征在于,所述自平衡二叉树和所述第三自平衡二叉树均包括第一颜色和第二颜色的节点;所述自平衡二叉树满足所述预设自平衡条件;所述预设自平衡条件,包括:树的根节点和叶子节点的颜色均为第一颜色;第二颜色的节点的子节点和父节点的颜色均为第一颜色;从根节点到叶子节点的所有路径上均不存在两个连续的第二颜色的节点;根节点到叶子节点的所有路径上包含的第一颜色的节点的数量一致。4.根据权利要求2或3所述的变更数据的存储方法,其特征在于,在所述目标数据块发生数据变更之前,所述方法还包括:存储所述目标数据块与所述目标数据块的MD5值的映射关系;在所述将所述自平衡二叉树中所述目标数据块对应的节点删除之前,所述方法还包括:基于所述映射关系获取所述目标数据块的MD5值;根据所述目标数据块的MD5值,从所述自平衡二叉树中确定所述目标数据块对应的节点。5.根据权利要求1

3任一项所述的变更数据的存储方法,其特征在于,所述根据更新后的所述目标数据块的MD5值和所述目标数据块的变更数据,形成所述目标数据的数据变更增量记录,具体包括:获取所述目标数据块的数据变更时间;根据所述目标数据块的数据变更时间、更新后的所述目标数据块的MD5值以及所述目标数据块的变更数据,形成所述目标数据的数据变更增量记录。6.一种变更数据的查询方法,其特征在于,包括:获取目标数据的数据变更增量记录;其中,所述数据变更增量记录为通过...

【专利技术属性】
技术研发人员:张永哲刘作坤吕昕东葛东
申请(专利权)人:东软集团股份有限公司
类型:发明
国别省市:

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

1