本发明专利技术公开了一种重复数据的检查处理方法,该方法包括:A、获取待校验数据,初始化待校验数据的数据结构;B、计算获得待校验数据中各条数据的散列码;C、根据各条数据的散列码,检查各条数据之间是否存在重复数据,并根据检查结果更新各条数据的标记码;D、将已更新标记码的各条数据发送到各分布式计算节点中,以供各分布式计算节点比对所述已更新标记码的各条数据与本地数据之间是否存在重复数据;E、将各分布式计算节点比对后的各条数据发送到汇总节点。采用本发明专利技术实施例,能缩短海量数据的对比时间,提高数据查找和清理的效率。
【技术实现步骤摘要】
【专利摘要】本专利技术公开了,该方法包括:A、获取待校验数据,初始化待校验数据的数据结构;B、计算获得待校验数据中各条数据的散列码;C、根据各条数据的散列码,检查各条数据之间是否存在重复数据,并根据检查结果更新各条数据的标记码;D、将已更新标记码的各条数据发送到各分布式计算节点中,以供各分布式计算节点比对所述已更新标记码的各条数据与本地数据之间是否存在重复数据;E、将各分布式计算节点比对后的各条数据发送到汇总节点。采用本专利技术实施例,能缩短海量数据的对比时间,提高数据查找和清理的效率。【专利说明】
本专利技术涉及计算机
,尤其涉及。
技术介绍
随着移动互联网络、物联网和企业信息化的快速发展,企业每天产生的数据数以 万计,数据规模呈现海量增长趋势,对企业在数据存储和处理方面都提出了更高的要求。而 找出重复数据进行清除是减少数据存储进而降低处理要求的一种方式。 重复数据清理技术旨在清除冗余的备份数据、确保只有"独有的"数据存储在磁盘 上。即容量优化保护技术。重复数据清理技术的关键是只保留唯一的数据实例,有效地解 决了"容量膨胀"的效率问题。而由于中文数据之间没有空格进行分割,造成数据查找识别 上的困难,因此,现有大部分的研究都只是针对英文数据的清除处理。 对中文重复数据的检查清理首先需要将数据进行查找,筛选出重复数据,再进行 清除或其他处理。而重复数据的查找最直观的方法是将每一个记录与数据库中其余记录逐 个进行对比,该方法精确度高。但是没有考虑到字段不等长、中文字段语义重点偏后等重复 记录特点。面对海量数据时,由于其匹配时间较长,无法实时得到处理结果,实用性差。 现有的解决方法是采用邻近排序算法(SNM)进行排序匹配。SNM算法能有效克服 直观对比方法的缺点,大大提高了重复记录的匹配效率和重复记录清理的完成效率。但是, S匪算法存在以下缺陷:其匹配结果严重依赖于排序关键字的选择和滑动窗口大小的选取 很难控制。由于在S匪算法里记录只能与窗口内的纪录进行比较,当滑动窗口太小时或排 序的关键字选择不当时,会造成漏配;而当滑动窗口太大时又会产生很多没有必要的比较, 因此恰当大小的滑动窗口难以获得。故亟需一种对海量结构化数据进行重复数据检查处理 的解决方案。
技术实现思路
本专利技术实施例提出,能缩短海量数据的对比时间, 提高数据查找和清理的效率。 本专利技术实施例提供了,包括: A、获取待校验数据,初始化所述待校验数据的数据结构; B、计算获得所述待校验数据中各条数据的散列码; C、根据所述各条数据的散列码,检查所述各条数据之间是否存在重复数据,并根 据检查结果更新所述各条数据的标记码; D、将所述已更新标记码的各条数据发送到各分布式计算节点中,以供各分布式计 算节点比对所述已更新标记码的各条数据与本地数据之间是否存在重复数据; E、将各分布式计算节点比对后的各条数据发送到汇总节点。 进一步的,所述步骤A具体为: 获取待校验数据,初始化所述待校验数据的数据结构,将所述待校验数据转换为 JSON结构的数据; 每条所述JSON结构的数据包括:各字段的字段名、各字段对应的值、散列码和标 记码。 进一步的,所述步骤B具体为: B1、取出所述待校验数据的第i条数据;其中,所述待校验数据包括N条数据,i的 初始值为1,i和N均为正整数; B2、将所述第i条数据的各字段名和各字段对应的值组成一个字符串; B3、对所述第i条数据的字符串采用MD5算法,计算获得所述第i条数据的散列 码,并更新保存所述第i条数据的散列码; B4、将i的值加1,重复所述步骤B2和B3,直到所述待校验数据的N条数据均被更 新保存散列码。 进一步的,所述步骤C具体为: Cl、检查第m条数据的散列码与第m+n条数据的散列码是否相同,若是,则将第m 条数据的标记码更新为1,并直接执行步骤C3,若否,则将所述第m条数据的标记码更新为 〇,并执行步骤C2 ; C2、将n的数值加1重复步骤Cl,直至m+n的值大于N ; C3、将m的值加1,并将n的值设置为初始值,重复步骤Cl直至m = N ;其中,m和 n的初始值均为1,m和m均为正整数。 进一步的,在所述步骤C之后,步骤D之前还包括: 根据所述各条数据更新后的标记码,将所述各条数据分为第一数据集合和第二数 据集合,所述第一数据集合内各条数据的标记码均为1,所述第二数据集合内各条数据的标 记码均为〇 ; 其中,所述第一数据集合与所述第二数据集合均为JSON结构的数据。 进一步的,所述步骤D具体为: 采用分布式发送的方式,将所述已更新标记码的各条数据依次发送到各分布式计 算节点。 进一步的,所述各分布计算节点比对所述已更新标记码的各条数据与本地数据之 间是否存在重复数据,具体为: 取出第二数据集合内的第j条数据,将所述第j条数据的散列码依次与本地数据 中各条数据的散列码进行一一比对,若存在相同的散列码,则将所述第j条数据从第二数 据集合内移除,并将所述第j条数据存入第一数据集合;若各条数据的比对均不存在相同 散列码,则将j的值加1,重复比对,直至所述第二数据集合内所有数据均比对完成,其中, 所述j为初始值为1的正整数。 进一步的,在所述步骤E之后,还包括步骤F : F、汇总合并各分布计算节点发送的各条数据,获得不重复数据集合和重复数据集 合。 进一步的,所述步骤F之后,还包括步骤G : G、将不重复数据集合存储到分布式集群中各计算节点的数据库中,将重复数据集 合删除。 可见,实施本专利技术实施例,具有如下有益效果: 本专利技术实施例提供的,将待校验数据初始化为统一 结构的数据,并对数据进行压缩,将比对内容统一为固定的字符长度能减少各条数据间的 内容对比时间。在数据对比时,采用分布式处理的方式,使得多个计算节点同时进行对比计 算,相比于现有技术采用逐个对比的直观方法,采用本专利技术技术方案能大大缩短了海量数 据的对比时间,使得海量数据的重复比对在拥有操作简单的基础上,拥有效率高、实时性强 和可扩展等优点。 【专利附图】【附图说明】 图1是本专利技术提供的重复数据的检查处理方法的一种实施例的流程示意图; 图2是本专利技术提供的重复数据的检查处理方法的另一种实施例的流程示意图。 【具体实施方式】 下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于 本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本专利技术保护的范围。 参见图1,图1是本专利技术提供的重复数据的检查处理方法的一种实施例的流程示 意图,该方法包括以下步骤: 步骤A :获取待校验数据,初始化所述待校验数据的数据结构。 在本实施例中,在源数据中获取待校验的数据,初始化待校验数据的数据结构,将 待校验数据转换为JSON结构的数据。每条JSON结构的数据包括各字段的字段名、各字段 对应的值、散列码和标记码。 在本实施例中,JSON结构如下:本文档来自技高网...
【技术保护点】
一种重复数据的检查处理方法,其特征在于,包括:A、获取待校验数据,初始化所述待校验数据的数据结构;B、计算获得所述待校验数据中各条数据的散列码;C、根据所述各条数据的散列码,检查所述各条数据之间是否存在重复数据,并根据检查结果更新所述各条数据的标记码;D、将所述已更新标记码的各条数据发送到各分布式计算节点中,以供各分布式计算节点比对所述已更新标记码的各条数据与本地数据之间是否存在重复数据;E、将各分布式计算节点比对后的各条数据发送到汇总节点。
【技术特征摘要】
【专利技术属性】
技术研发人员:李爱民,陈承志,龙庆麟,梁国辉,熊道勇,
申请(专利权)人:广州科腾信息技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。