[发明专利]一种基于Hadoop云平台的海量数据比对方法及系统在审
申请号: | 201410602807.2 | 申请日: | 2014-10-31 |
公开(公告)号: | CN104317942A | 公开(公告)日: | 2015-01-28 |
发明(设计)人: | 何攀 | 申请(专利权)人: | 北京思特奇信息技术股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京轻创知识产权代理有限公司 11212 | 代理人: | 杨立 |
地址: | 100086 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 hadoop 平台 海量 数据 方法 系统 | ||
技术领域
本发明涉及海量数据处理技术领域,特别是涉及一种基于Hadoop云平台的海量数据比对方法及系统。
背景技术
目前随着电信产业的发展,数据业务高速发展,业务规则也变得相对复杂,各大运营商对数据质量要求也越来越高。但是由于业务规则不明确,业务受理入口和出口不统一,业务流程不规范,接口不稳定,缺乏数据稽核等原因导致各网元的用户数据和业务局数据产生差异,由于数据量巨大无法在短时间内稽核完成,如果多次或者拉长稽核周期,比对的数据又会存在时间差,造成比对结果不正确。
通过分析传统的数据比对方法发现,传统的比对方法基本上都是基于单主机来进行的,由于受限于单主机资源的限制,稽核效率大多都非常低,尤其随着各行业数据量增大,传统的数据稽核引擎根本无法达到用户的要求。
传统的比对方法主要为取出要比对的数据,每个结果集的每条记录有两个字段,第一个是索引字段,第二个是属性字段,如下所示:
那么比对算法是这样进行的,rst1、rst2获取第一行发现无差异,都往下进行;获取第二行,发现索引字段一样但是属性字段值不一样,则把索引值B和属性字段值2和0都记录下来,从结果集里边再取第三行,发现索引值不一样;接着再取第四行,发现rst1第四行的索引值与rst2的索引值一样,则确定rst1的第三行是比rst2多出的数据,记录rst1第三行的所有值,接着比对rst1第四行的属性字段值与rst2的属性字段值,发现属性值一样;接着两个结果集往下取,rst1的索引值段值F与rst2的索引字段值E不等,接着往下走,发现rst2已经游标到头了,所以就把rst1以后所有的数据记录下来,这些是rst1多出的,再记录rst2最后的数据,是rst2多出的数据。
因此,可知传统的比对都是机械地通过将大文件导入到数据库,然后在数据库中进行排序后从数据库读出来,在内存中进行比对,对数据库造成的压力太大,并发多了造成数据库假死。由于单台主机I/O有限,比对效率始终无法达到要求。
然而目前三大电信运营商需要比对的数据总量都算得上海量数据,比对效率越高,处理越及时,数据就越准确,能挽回收入就越高,投诉也越低,因此海量数据快速稽核就成为运营商稽核系统无法逾越的瓶颈之一。本发明特基于此,提出了一种基于Hadoop云平台的海量数据比对方法及系统。
发明内容
本发明所要解决的技术问题是提供一种基于Hadoop云平台的海量数据比对方法及系统,用于解决海量数据的一致性比对的问题。
本发明解决上述技术问题的技术方案如下:一种基于Hadoop云平台的海量数据比对方法,包括:
步骤1,将海量数据按区间标尺切分为若干份,并利用云比较引擎对每份数据进行排序,输出对应数量的内部有序的文件,再将该内部有序的文件放至基于Hadoop云平台的分布式文件系统中,作为源数据比对文件;
步骤2,当有比对任务时,分布式文件系统通过其主任务节点来调度和控制其余任务节点执行任务文件;
步骤3,每个任务节点找出其要执行的任务文件,与源数据比对文件进行比对,将比对的文件中的相同记录放至同一个文件中,并将比对的文件中的差异记录放到设定的差异文件中;
步骤4,各任务节点完成文件比对后,主任务节点对各任务节点的比对结果进行合并和输出。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述步骤1中将内部有序的文件放至分布式文件系统中具体包括:根据文件个数和用户自定义文件大小设计数据量分布算法,按数据量分布算法将内部有序的文件存储至分布式文件系统中。
进一步,所述步骤2还包括:所述主任务节点还用于监控其余任务节点的运行状况,当有任务节点出现故障时,主任务节点将出现故障的任务节点负责的任务转交给空闲的任务节点重新运行。
进一步,所述步骤3中比对文件是否有相同记录是通过比对文件的排序字段实现的,若排序字段相同则为相同记录,否则为差异记录。
进一步,累加所有存储相同记录的文件,若累加值大于设定值,则将所述相同记录单独输出至新建的另一个文件中。
进一步,所述步骤4中主任务节点对各任务节点的比对结果进行合并,具体包括:假定源数据比对文件为A,任务节点上要执行的任务文件为B,则将比对结果合并为三个文件,第一个文件用于存储相同记录,第二个文件用于存储A比B多和B除主键相同外属性不一致的数据,第三文件用于存储B比A多和A除主键相同外属性不一致的数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京思特奇信息技术股份有限公司,未经北京思特奇信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410602807.2/2.html,转载请声明来源钻瓜专利网。