一种带有层级关系数据定期增量同步方法及系统技术方案

技术编号:36782203 阅读:10 留言:0更新日期:2023-03-08 22:18
本发明专利技术公开了一种带有层级关系数据定期增量同步方法及系统,涉及it开发技术领域。该方法包括:构建树节点的数据结构;传入同步数据库和被同步数据库中的数据;查询同步数据库和被同步数据库中的数据,并利用树节点的数据结构将查询到的数据构建成对应数据库的层级关系树;将同步数据库的层级关系树和被同步数据库的层级关系树进行比对,以得到差异数据;将差异数据同步给同步数据库,使得同步数据库和被同步数据库的数据一致,完成同步。本发明专利技术可实现在精确同步数据的同时大大降低系统资源消耗,提高同步过程的安全性。提高同步过程的安全性。提高同步过程的安全性。

【技术实现步骤摘要】
一种带有层级关系数据定期增量同步方法及系统


[0001]本专利技术涉及it开发
,具体而言,涉及一种带有层级关系数据定期增量同步方法及系统。

技术介绍

[0002]普通的数据库数据同步只要把上次的更新时间到当前时间期间的数据增量同步即可,带有层级关系的数据同步比较特殊,因为树形结构数据除了新增删除,还可以更换父节点。以公司员工数据为例,有的公司会委托第三方公司分析员工入职率,离职率、调岗率之类的数据,因此涉及该技术,就会每个周期由第三方公司来同步本公司的员工数据,然后进行一系列的分析。因为此类特殊的数据需要快速精准的同步。
[0003]在增量同步例如菜单这种带有层级关系的树状结构时,难点就在于各个节点与上次同步相比,可能已经删除,或是删除,或者移动到其他节点下,因为有父节点的关系,所以要如何快速获取新旧数据差异,并将差异补充到需同步数据库中成为难点。

技术实现思路

[0004]为了克服上述问题或者至少部分地解决上述问题,本专利技术实施例提供一种带有层级关系数据定期增量同步方法及系统,可实现在精确同步数据的同时大大降低系统资源消耗,提高同步过程的安全性。
[0005]本专利技术的实施例是这样实现的:
[0006]第一方面,本专利技术实施例提供一种带有层级关系数据定期增量同步方法,包括以下步骤:
[0007]构建树节点的数据结构;
[0008]传入同步数据库和被同步数据库中的数据;
[0009]查询同步数据库和被同步数据库中的数据,并利用树节点的数据结构将查询到的数据构建成对应数据库的层级关系树;
[0010]将同步数据库的层级关系树和被同步数据库的层级关系树进行比对,以得到差异数据;
[0011]将差异数据同步给同步数据库,使得同步数据库和被同步数据库的数据一致,完成同步。
[0012]为了解决现有技术中的问题,本方法通过自建节点数据结构,利用该自建节点构建出带有层级关系节点数据树进行比较,收集比较差异结果方式,实现两个数据库的数据同步。传入两个列表数据,以及层级关系字段,根据该字段,把两个列表数据,自动构建成两棵树状数据结构,然后进行比对,再返回需要新增和删除的两个列表数据,用户只要对两个差异数据在数据库中进行批量操作即可。本专利技术可实现在精确同步数据的同时大大降低系统资源消耗,提高同步过程的安全性。
[0013]基于第一方面,在本专利技术的一些实施例中,上述数据结构为由双向链表和有序图
表组成的双向多叉树数据结构。
[0014]基于第一方面,在本专利技术的一些实施例中,上述利用树节点的数据结构将查询到的数据构建成对应数据库的层级关系树的方法包括以下步骤:
[0015]提取查询到的数据中的层级关系字段;
[0016]根据层级关系字段利用树节点的数据结构将查询到的数据构建成对应数据库的层级关系树。
[0017]基于第一方面,在本专利技术的一些实施例中,上述将同步数据库的层级关系树和被同步数据库的层级关系树进行比对的方法包括以下步骤:
[0018]利用宽度优先遍历算法将同步数据库的层级关系树和被同步数据库的层级关系树进行层层比对。
[0019]第二方面,本专利技术实施例提供一种带有层级关系数据定期增量同步系统,包括:自建节点模块、数据库传入模块、关系树构建模块、数据比对模块以及数据同步模块,其中:
[0020]自建节点模块,用于构建树节点的数据结构;
[0021]数据库传入模块,用于传入同步数据库和被同步数据库中的数据;
[0022]关系树构建模块,用于查询同步数据库和被同步数据库中的数据,并利用树节点的数据结构将查询到的数据构建成对应数据库的层级关系树;
[0023]数据比对模块,用于将同步数据库的层级关系树和被同步数据库的层级关系树进行比对,以得到差异数据;
[0024]数据同步模块,用于将差异数据同步给同步数据库,使得同步数据库和被同步数据库的数据一致,完成同步。
[0025]为了解决现有技术中的问题,本系统通过自建节点模块、数据库传入模块、关系树构建模块、数据比对模块以及数据同步模块等多个模块的配合,通过自建节点数据结构,利用该自建节点构建出带有层级关系节点数据树进行比较,收集比较差异结果方式,实现两个数据库的数据同步。传入两个列表数据,以及层级关系字段,根据该字段,把两个列表数据,自动构建成两棵树状数据结构,然后进行比对,再返回需要新增和删除的两个列表数据,用户只要对两个差异数据在数据库中进行批量操作即可。本专利技术可实现在精确同步数据的同时大大降低系统资源消耗,提高同步过程的安全性。
[0026]基于第二方面,在本专利技术的一些实施例中,上述数据结构为由双向链表和有序图表组成的双向多叉树数据结构。
[0027]基于第二方面,在本专利技术的一些实施例中,上述关系树构建模块包括字段提取单元和层级构建单元,其中:
[0028]字段提取单元,用于提取查询到的数据中的层级关系字段;
[0029]层级构建单元,用于根据层级关系字段利用树节点的数据结构将查询到的数据构建成对应数据库的层级关系树。
[0030]基于第二方面,在本专利技术的一些实施例中,上述数据比对模块包括遍历对比单元,用于利用宽度优先遍历算法将同步数据库的层级关系树和被同步数据库的层级关系树进行层层比对。
[0031]第三方面,本申请实施例提供一种电子设备,其包括存储器,用于存储一个或多个程序;处理器。当一个或多个程序被处理器执行时,实现如上述第一方面中任一项的方法。
[0032]第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面中任一项的方法。
[0033]本专利技术实施例至少具有如下优点或有益效果:
[0034]本专利技术实施例提供一种带有层级关系数据定期增量同步方法及系统,通过自建节点数据结构,利用该自建节点构建出带有层级关系节点数据树进行比较,收集比较差异结果方式,实现两个数据库的数据同步。传入两个列表数据,以及层级关系字段,根据该字段,把两个列表数据,自动构建成两棵树状数据结构,然后进行比对,再返回需要新增和删除的两个列表数据,用户只要对两个差异数据在数据库中进行批量操作即可。本专利技术可实现在精确同步数据的同时大大降低系统资源消耗,提高同步过程的安全性。
附图说明
[0035]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0036]图1为本专利技术实施例一种带有层级关系数据定期增量同步方法的流程图;
[0037]图2为现有的同步架构示意图;
[0038]图3为本专利技术实施例一种带有层级关系数据定期增量同步方法中数据库的同步数据的示意图;
[0039]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种带有层级关系数据定期增量同步方法,其特征在于,包括以下步骤:构建树节点的数据结构;传入同步数据库和被同步数据库中的数据;查询同步数据库和被同步数据库中的数据,并利用树节点的数据结构将查询到的数据构建成对应数据库的层级关系树;将同步数据库的层级关系树和被同步数据库的层级关系树进行比对,以得到差异数据;将差异数据同步给同步数据库,使得同步数据库和被同步数据库的数据一致,完成同步。2.根据权利要求1所述的一种带有层级关系数据定期增量同步方法,其特征在于,所述数据结构为由双向链表和有序图表组成的双向多叉树数据结构。3.根据权利要求1所述的一种带有层级关系数据定期增量同步方法,其特征在于,所述利用树节点的数据结构将查询到的数据构建成对应数据库的层级关系树的方法包括以下步骤:提取查询到的数据中的层级关系字段;根据层级关系字段利用树节点的数据结构将查询到的数据构建成对应数据库的层级关系树。4.根据权利要求1所述的一种带有层级关系数据定期增量同步方法,其特征在于,所述将同步数据库的层级关系树和被同步数据库的层级关系树进行比对的方法包括以下步骤:利用宽度优先遍历算法将同步数据库的层级关系树和被同步数据库的层级关系树进行层层比对。5.一种带有层级关系数据定期增量同步系统,其特征在于,包括:自建节点模块、数据库传入模块、关系树构建模块、数据比对模块以及数据同步模块,其中:自建节点模块,用于构建树节点的数据结构;数据库传入模块,用于传入同步数据库和被同步数据库中的数据;关系树构建...

【专利技术属性】
技术研发人员:杨柏辉
申请(专利权)人:天翼电子商务有限公司
类型:发明
国别省市:

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

1