说明:收录全网最新的团体标准 提供单次或批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211250467.2 (22)申请日 2022.10.13 (71)申请人 中国电子科技 集团公司第十五研究 所 地址 100083 北京市海淀区北四环中路21 1 号 (72)发明人 张立松 裘小晨 刘丽钦 魏明月  吕宁 王璐  (74)专利代理 机构 北京惟专知识产权代理事务 所(普通合伙) 16074 专利代理师 赵星 (51)Int.Cl. G06F 16/215(2019.01) G06F 16/22(2019.01) (54)发明名称 一种通过多层hash索引树过滤重复数据的 方法和系统 (57)摘要 本申请提出一种通过多层hash索引树过滤 重复数据的方法和系统, 其中, 方法包括: 在数据 源的采集数据库端建立基于B+树的索引树; 建立 临时存储所有同步到汇聚数据库的数据的同步 数据列表; 根据数据的关键字搜索索引树和比较 数据的Hash值, 记录判断数据的变更状态; 将变 更状态为新增、 修改和删除的数据进行同步, 临 时存储在同步数据列表; 将同步后的数据传递给 汇聚数据库, 汇聚数据库根据收到的数据进行数 据处理, 并清除同步数据列表的数据。 本发明具 有通过比较hash值, 判断采集数据是否相同, 而 不是通过逐字段比较采集数据, 判断数据是否相 同, 比较数据很快, 采集的所有数据源使用相同 的比较算法, 比较算法实现简单。 权利要求书2页 说明书8页 附图3页 CN 115328904 A 2022.11.11 CN 115328904 A 1.一种通过多层hash索引树过 滤重复数据的方法, 其特 征在于, 所述方法包括: 步骤S1、 在数据源的采集数据库端建立基于B+树的索引树; 步骤S2、 建立临时存 储所有同步到汇聚数据库的数据的同步数据列表; 步骤S3、 根据数据的关键字搜索所述索引树和比较所述数据的Hash值, 记录判断数据 的变更状态; 所述变更状态包括: 新增、 修改、 删除、 保持和未知; 步骤S4、 将变更状态为新增、 修改和删除的数据进行同步, 并临时存储在所述同步数据 列表; 步骤S5、 将同步后的数据传递给所述汇聚数据库, 所述汇聚数据库根据收到的所述数 据进行数据处理, 并清除所述同步数据列表的数据。 2.根据权利要求1所述的一种通过多层h ash索引树过滤重复数据的方法, 其特征在于, 在所述步骤S1中, 所述B+树要求除根节点以外的非叶子节点的子节点数为[M /2,M]; 所述非叶子节点记录了子节点的个数, 所述子节点对应的关键字和所述子节点中变更 的数据数量, 所有子节点包 含的变更 数据数量。 3.根据权利要求2所述的一种通过多层h ash索引树过滤重复数据的方法, 其特征在于, 在所述步骤S1 中, 所述B+树的索引树的叶子节 点对关键字、 关键字对应数据的hash值、 变更 状态和采集时间进行记录 。 4.根据权利要求1所述的一种通过多层h ash索引树过滤重复数据的方法, 其特征在于, 在所述步骤S2中, 所述同步数据列表记录同步数据的关键字、 同步数据、 同步数据的变更状 态、 同步数据的Hash值和同步数据的采集时间; 所述同步数据的变更状态包括: 新增、 修改 和删除。 5.根据权利要求3所述的一种通过多层h ash索引树过滤重复数据的方法, 其特征在于, 在所述步骤S3中, 所述根据数据的关键字搜索所述索引树和比较所述数据的Hash值, 记录 判断数据的变更状态的方法包括: 步骤S31、 遍历所述索引树, 检查所有叶子节点的变更状态是否都为未知, 如果不是, 都 改为未知; 步骤S32、 从数据源取一条 数据, 计算 这条数据的Hash值; 步骤S33、 根据数据的关键字搜索所述索引树, 如果找到了对应的数据, 比较所述数据 的Hash值, 如果所述Hash值相同, 表明数据没有修改, 更新叶子节点的变更状态为未变; 步骤S34、 如果所述Hash值不同, 说明所述数据进行了修改, 把所述数据插入到所述同 步数据列表中, 变更状态为修改, 并更新所述数据在索引树中的hash值, 变更状态改为修 改, 修改数据采集时间为当前时间, 依 次递归修改父节点中的变更子节点对应的数据变更 数+1和所有子节点的数据变更 数+1; 步骤S35、 如果在索引树中没有找到对应的数据, 说明数据是新增加的, 把所述数据插 入到同步数据列 表中, 变更状态为新增, 修改数据采集时间为当前时间; 按照索引树的要求 增加叶子节 点, 并在所述叶子节点中记录数据的关键字、 采集时间、 变更状态 为新增和Hash 值, 并把所述叶子节点加入到对应的父节点中, 依 次递归修改父节点的对应子节点的数据 变更数+1和所有子节点的数据变更 数+1; 步骤S36、 依次处 理所有从所述数据源获得的数据, 重复步骤S3 3‑S35, 直到处 理完成; 步骤S37、 所有数据处理完成后, 遍历所述索引树, 检查所有叶子节点的修改方式, 如果权 利 要 求 书 1/2 页 2 CN 115328904 A 2修改方式是未知, 表明源数据中已经没有这条数据, 已经被删除, 则把这条数据加到同步数 据列表中, 只包含被删除数据的关键字、 Hash值、 变更状态为删除和采集时间为当前时间, 被删除数据的数据内容为空; 叶子节点的变更状态改为删除和采集时间改为当前时间; 依 次修改父节点的对应子节点的数据变更 数+1和所有子节点的数据变更 数+1。 6.根据权利要求5所述的一种通过多层h ash索引树过滤重复数据的方法, 其特征在于, 在所述步骤S5中之后, 所述方法还 包括: 遍历所述索引树, 如果叶子节点的变更状态为新增、 修改和未变, 则把变更状态改为未 知; 如果叶子节点的变更状态 为删除, 则从索引树删除此叶子节点, 修改父节 点中对应子节 点的据数变更 数为0, 所有节点的数据变更 数为0。 7.根据权利要求1所述的一种通过多层h ash索引树过滤重复数据的方法, 其特征在于, 在所述步骤S3中, 所述索引树采用业 务数据库的主键作为关键 字。 8.一种用于通过多层hash索引树过 滤重复数据的系统, 其特 征在于, 所述系统包括: 第一处理模块, 被 配置为, 在数据源的采集数据库端建立基于B+树的索引树; 第二处理模块, 被配置为, 建立临时存储所有 同步到汇聚数据库的数据的同步数据列 表; 第三处理模块, 被配置为, 根据数据的关键字搜索所述索引树和比较所述数据的Hash 值, 记录判断数据的变更状态; 所述变更状态包括: 新增、 修改、 删除、 保持和未知; 第四处理模块, 被配置为, 将变更状态为新增、 修改和删除的数据进行同步, 临时存储 在所述同步数据列表; 第五处理模块, 被配置为, 将同步后的数据传递给所述汇聚数据库, 所述汇聚数据库根 据收到的所述数据进行 数据处理, 并清除所述同步数据列表的数据。 9.一种电子设备, 其特征在于, 所述电子设备包括存储器和处理器, 所述存储器存储有 计算机程序, 所述处理器执行所述计算机程序时, 实现权利要求1至7中任一项所述的一种 通过多层hash索引树过 滤重复数据的方法中的步骤。 10.一种计算机可读存储介质, 其特征在于, 所述计算机可读存储介质上存储有计算机 程序, 所述计算机程序被处理器执行时, 实现权利要求1至7中任一项所述的一种通过多层 hash索引树过 滤重复数据的方法中的步骤。权 利 要 求 书 2/2 页 3 CN 115328904 A 3

.PDF文档 专利 一种通过多层hash索引树过滤重复数据的方法和系统

文档预览
中文文档 14 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共14页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种通过多层hash索引树过滤重复数据的方法和系统 第 1 页 专利 一种通过多层hash索引树过滤重复数据的方法和系统 第 2 页 专利 一种通过多层hash索引树过滤重复数据的方法和系统 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 11:34:06上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。