CN101414309A - 大规模数据信息排重处理*** - Google Patents

大规模数据信息排重处理*** Download PDF

Info

Publication number
CN101414309A
CN101414309A CNA2008102034399A CN200810203439A CN101414309A CN 101414309 A CN101414309 A CN 101414309A CN A2008102034399 A CNA2008102034399 A CN A2008102034399A CN 200810203439 A CN200810203439 A CN 200810203439A CN 101414309 A CN101414309 A CN 101414309A
Authority
CN
China
Prior art keywords
data
module
large scale
data information
high speed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA2008102034399A
Other languages
English (en)
Inventor
韩定一
周云庆
袁若石
薛贵荣
俞勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CNA2008102034399A priority Critical patent/CN101414309A/zh
Publication of CN101414309A publication Critical patent/CN101414309A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及的是一种信息处理技术领域的大规模数据信息排重处理***,包括输入模块、数字编码模块、多点检验模块、输出模块,输入模块接收需要进行排重的原始数据,即数据实例;数字编码模块将输入模块获得的数据实例进行重新编码,将数据空间压缩到与待解问题实际数据实例的规模相当或稍大的空间;多点检验模块对新编码进行多次采样,并与高速存储的地址建立映射关系,通过控制高速存储相应地址的标志位来记录是否已经出现过某一个数据实例,从而实现排重功能;输出模块将经过排重的数据返回给用户。本发明具有高效性及可处理数据量大等特点。

Description

大规模数据信息排重处理***
技术领域
本发明涉及的是一种信息处理技术领域的***,具体地说,涉及的是一种大规模数据信息排重处理***。
背景技术
随着信息处理技术的不断发展,出现一些应用场景需要对大量数据进行排查重复出现的工作。例如:在搜索引擎***中需要判断哪些网页已经收录在***中。由于互联网络上的网页数量众多,须要有专门的***对新发现的网址进行判断,看看其是否已经被爬取和索引过,如果已经存在,也许需要后续进行更新索引的工作;而如果尚未存在,那么就可能要进行新建索引的后续工作。又如:在一些生物科学研究领域,需要对大量的基因信息进行分析比较。也需要判断基因信息是否已经做过相应的处理,并进行不同的后续工作。而在电信业务方面,也需要对大约几十亿条各种电信业务的记录数据进行判断重复记录的工作,以免出现多收费的情况。
在这些应用中的数据有如下三点共同特性。
首先,数据空间非常大。以网址这类数据为例,一般而言,其由数字、字母(大小写相关)、“-”和“.”组成,一般不超过100个字符(实际上扩展的网址可以由几乎所有的ASCII字符组成,并可以长达2000个字符)。这样的数据可能总共有64100(大约10180)个。一般***无法处理如此庞大的数据空间。
其次,实际数据所占的空间未必充满整个数据空间,或者在一个任务中可能出现的实际数据量并不是充满整个数据空间的。依然以网址作为例子,根据中国互联网信息中心统计,我国的网站数量在百万这个数量级上。而商业搜索引擎的索引页面数量大约在百亿这个数量级上。相对于10180个可能的网址而言,百亿实际上是一个非常小的数字。在数量级上差10170。可以说数据非常稀疏。
最后,实际数据所占的空间相对于目前的计算机***而言,又是一个很难完成的任务。以一百亿个网址来计算,假设平均每个网址长度为30个字符(每个字符4个字节),存储这些网址总共需要约1.2PB空间,是目前主流硬盘空间容量(500GB-1TB)的大约一千倍。而一百亿条记录对于单机数据库***来说要能迅速(毫秒级别)响应一个查询来判断一条网址是否已经存在也是几乎不可能的。因此目前已有的解决方案大都采用分布式构架,将存储、索引和计算负载分布到成百上千台机器上。通过并行处理若干被切分的小规模问题来共同完成一项任务。由于牵涉大量机器的网络通讯和工作同步问题,***的稳定性和可靠性都不十分理想。
经对现有技术的文献检索发现,中国专利申请《基于内存的海量话单快速交叉排重方法》(公开号CN1897629)提出一种采用基于内存的多级存储机制、基于二叉平衡树和键树的索引技术、基于BCD码和RLC算法的压缩技术和基于时间片的交叉排重方法相结合的过程。在IBM P650(16个1.5GHz CPU,32GB RAM)上处理45240988条记录费时4467秒。相对于传统的基于数据库的交叉排重测试所用的时间86669秒,提高速度约20倍。尽管如此,它依然采用了基于硬盘的第三级存储机制,这种机制仍然会对***速度的进一步提升带来影响。
发明内容
本发明的目的在于针对现有技术的不足,提供一种大规模数据信息排重处理***,它可以高效处理大规模可能重复数据的信息,其输出没有重复数据,以克服传统***的通用性设计带来的效率降低问题。
本发明是通过以下技术方案实现的,本发明包括四个模块:输入模块、数字编码模块、多点检验模块、输出模块。其中:
所述的输入模块接收需要进行排重的原始数据,即数据实例;
所述的数字编码模块将输入模块获得的数据实例进行重新编码,将数据空间压缩到与待解问题实际数据实例的规模相当或稍大的空间;
所述的多点检验模块对新编码进行多次采样,并与高速存储的地址建立映射关系,通过控制高速存储相应地址的标志位来记录是否已经出现过某一个数据实例,从而实现排重功能;
所述的输出模块将经过排重的数据返回给用户。
所述的输入模块,负责接收用户的数据实例,可以是文件输入,网络流输入等等,例如:接收从网页中发现的各种网址。这些数据实例没有特定的顺序要求,一个数据实例可能在接收时多次出现,中间夹杂其他数据实例。
所述的数字编码模块,将数据实例进行快速编码转换,可以采用MD5、SHA-1等哈希函数来实现。并将原始空间内的数据压缩到由k位01序列的数值空间。数字编码模块的编码位数应该略大于最终输出的数值数量。其中,k的取值通常是16或32的整数倍,需要根据实际问题进行适当的参数选择。比较常用的k值可以是128或160。
所述的多点检验模块,将由数字编码模块生成的数值和高速存储的地址建立多点对应关系(包括:多点对应关系和单点对应关系。如:将新编码的几部分分别映射为高速存储的地址,从而将一个新编码映射到高速存储的多个存储位置。或将新编码直接映射为高速存储的地址),并通过控制高速存储相应地址的标志位来记录是否已经出现过某一个数据实例的模块。它可以迅速查询高速存储装置中特定地址位是否均已标记过来判断数据进行是否已经出现过。另外,当需要处理的问题规模相对较小时,可以将多点检验简化为单点检验,以进一步提升***性能。
所述的输出模块,将多点检验模块判重以后,没有重复出现过的数据实例整理并最终返回给用户。
本发明中的数字编码模块的编码位数和多点检验模块中高速存储的地址位数是两个可以根据实际问题规模进行适当调整的参数。其中,数字编码模块的编码位数通常应该略大于最终输出的数值数量,以保证数字编码有足够的区分度;高速存储的地址位数(如计算机内存的寻址空间)决定了需要使用的高速存储的容量。
本发明可以高效地处理大规模的数据问题。由于经过快速的编码转换,数据空间得以压缩,并最终经过多点检验实现将数据都映射到高速存储的连续地址空间。一方面,数据空间的大规模压缩使得需要存储的信息量也得以相应地减少,从而使得在单台机器上存储所有实例是否出现过的信息变为可能。另一方面,这样的压缩还使得处理每个数据所需要的时间大幅缩减,整个***的效率也因此大幅提升。
附图说明
图1为本发明***结构框图。
图2为本发明工作流程图。
具体实施方式
下面结合附图对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式,但本发明的保护范围不限于下述的实施例。
以判断网址是否为重复出现问题为例。经过搜索引擎的爬虫收集到的网页内包含大量网址信息,并且可能会多次指向同一个网址的网页。因此有必要对这些网址信息进行排重工作,以免搜索引擎多次索引同一张网页。
如图1所示,本实施例包括四个模块:输入模块、数字编码模块、多点检验模块、输出模块。各个模块之间通过计算机的各种数据线或主板进行通讯。其中:
所述的输入模块接需要进行排重的原始数据,即数据实例;
所述的数字编码模块将输入模块获得的数据实例进行重新编码,将数据空间压缩到与相应问题的规模相当或稍大的空间;
所述的多点检验模块对新编码进行多次采样,并与高速存储的地址建立映射关系,通过控制高速存储相应地址的标志位来记录是否已经出现过某一个数据实例,从而实现排重功能;
所述的输出模块将经过排重的数据返回给用户。
如图2所示,本实施例开始工作时,先由输入模块接用户需要进行排重的原始数据,然后数字编码模块对数据实例进行重新编码,将数据空间压缩到与相应问题的规模相当或稍大的空间,多点检验模块对新编码进行多次采样,并与高速存储的地址建立映射关系,通过控制高速存储相应地址的标志位来记录是否已经出现过某一个数据实例,如果是,则滤去,如果不是,则通过输出模块返回给用户,此次排重工作终止。
本实施例中,输入模块可以是一个输入设备(比如计算机硬盘);输入模块还可以由网卡等其他设备组成,主要实现数据的批量读取功能,用于接收需要进行排重的数据,本实施例中,数据直接通过输入设备输入获得。
本实施例中,数字编码模块是一个主要占用计算机中央处理器的软件处理程序;数字编码模块采用MD5的哈希算法,将每一个网址迅速转变为128位的01字串,将网址的数据空间从10180压缩到2128(1038),既大副缩减了数据空间,又留有一定余地,保证在可以预见的一段时间内,网址数量不会超过这个空间可以容纳的数据总量。
本实施例中,多点检验模块是一个主要占用计算机内存的软件处理程序;
多点检验模块将每个网址的128位MD5值分解为4个32位的01串,使得数据空间可以进一步缩小到232(约43亿)位。使用512MB内存就可以建立一一对应的映射关系。
例如,以网址http://www.a.com来计算,其MD5值为1101 0001 0001 10110111 0000 0111 0001 0101 1010 1110 0110 1111 1111 0110 0101 1001 0100 01101000 0000 0110 1110 1111 1100 1100 1110 1110 1000 0011 1000 1001。
经过分解,变为1101 0001 0001 1011 0111 0000 0111 0001(D11B7071H)、0101 1010 1110 0110 1111 1111 0110 0101(5AE6FF65H)、1001 0100 0110 10000000 0110 1110 1111(946806EFH)和1100 1100 1110 1110 1000 001110001001(CCEE8389H)。
因此可以使用内存中的D11B7071H、5AE6FF65H、946806EFH和CCEE8389H来标记该网址是否出现过。首次出现的时候将4个内存地址的数据置为1。以后再次出现该网址的时候,只要发现这4个地址的数据均为1就可以判定为该网址已经出现。
本实施例中,输出模块是一个输出设备(比如计算机硬盘)。
本实施例在一台AMD 4400+双核CPU、8GB DDR2内存、AMD 780G主板、1TB硬盘的PC***上,处理1700万网址的排重工作,大约需要几十秒钟即可完成。

Claims (8)

1、一种大规模数据信息排重处理***,其特征在于包括四个模块:输入模块、数字编码模块、多点检验模块、输出模块,其中:
所述的输入模块接收需要进行排重的原始数据,即数据实例;
所述的数字编码模块将输入模块获得的数据实例进行重新编码,将数据空间压缩到与待解问题实际数据实例的规模相当或稍大的空间;
所述的多点检验模块对新编码进行多次采样,并与高速存储的地址建立映射关系,通过控制高速存储相应地址的标志位来记录是否已经出现过某一个数据实例,从而实现排重;
所述的输出模块将经过排重的数据返回给用户。
2、根据权利要求1所述的大规模数据信息排重处理***,其特征是,所述的输入模块负责接收用户的数据实例,数据实例是文件输入或者网络流输入,这些数据实例没有特定的顺序要求,一个数据实例可能在接收时多次出现,中间夹杂其他数据实例。
3、根据权利要求1所述的大规模数据信息排重处理***,其特征是,所述的数字编码模块采用哈希函数来实现数据实例的快速编码转换,并将原始空间内的数据压缩到由k位01序列的数值,数字编码模块的编码位数需大于最终输出的数值数量,以保证数字编码有足够的区分度。
4、根据权利要求3所述的大规模数据信息排重处理***,其特征是,所述k的取值是16或32的整数倍。
5、根据权利要求4所述的大规模数据信息排重处理***,其特征是,所述k的取值是128或160。
6、根据权利要求1所述的大规模数据信息排重处理***,其特征是,所述的多点检验模块,将由数字编码模块生成的数值和高速存储的地址建立多点对应关系,并通过控制高速存储相应地址的标志位来记录是否已经出现过某一个数据实例的模块,它能迅速查询高速存储装置中特定地址位是否均为标记过来对数据进行判断是否已经出现过。
7、根据权利要求1或6所述的大规模数据信息排重处理***,其特征是,所述的多点检验模块,在处理问题规模相对小的问题时,可简化为单点检验。
8、根据权利要求1所述的大规模数据信息排重处理***,其特征是,所述的输出模块,将多点检验模块判重以后没有重复出现过的数据实例最终返回给用户。
CNA2008102034399A 2008-11-27 2008-11-27 大规模数据信息排重处理*** Pending CN101414309A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2008102034399A CN101414309A (zh) 2008-11-27 2008-11-27 大规模数据信息排重处理***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2008102034399A CN101414309A (zh) 2008-11-27 2008-11-27 大规模数据信息排重处理***

Publications (1)

Publication Number Publication Date
CN101414309A true CN101414309A (zh) 2009-04-22

Family

ID=40594843

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2008102034399A Pending CN101414309A (zh) 2008-11-27 2008-11-27 大规模数据信息排重处理***

Country Status (1)

Country Link
CN (1) CN101414309A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101859316A (zh) * 2010-04-29 2010-10-13 北京无限立通通讯技术有限责任公司 一种对海量文件进行存取的方法及装置
CN106960052A (zh) * 2017-03-31 2017-07-18 深圳微众税银信息服务有限公司 一种征信数据采集方法与***

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101859316A (zh) * 2010-04-29 2010-10-13 北京无限立通通讯技术有限责任公司 一种对海量文件进行存取的方法及装置
CN101859316B (zh) * 2010-04-29 2012-07-11 北京无限立通通讯技术有限责任公司 一种对海量文件进行存取的方法及装置
CN106960052A (zh) * 2017-03-31 2017-07-18 深圳微众税银信息服务有限公司 一种征信数据采集方法与***
CN106960052B (zh) * 2017-03-31 2020-09-15 深圳微众信用科技股份有限公司 一种征信数据采集方法与***

Similar Documents

Publication Publication Date Title
JP6388655B2 (ja) 選択性用データビットインターリーブによるリレーショナルデータベースのマルチカラムインデックスの生成
EP2443564B1 (en) Data compression for reducing storage requirements in a database system
US11494339B2 (en) Multi-level compression for storing data in a data store
EP3299972B1 (en) Efficient query processing using histograms in a columnar database
CN112100219B (zh) 基于数据库查询处理的报表生成方法、装置、设备和介质
CN110297879B (zh) 一种基于大数据的数据去重的方法、装置及存储介质
CN101110074A (zh) 基于文件***缓存的数据加速查询方法
CN101996067A (zh) 一种数据导出的方法和装置
CN103345484A (zh) 基于动态域的报表处理***及方法
CN109471893B (zh) 网络数据的查询方法、设备及计算机可读存储介质
CN107729406A (zh) 一种数据分类存储方法及装置
US10482087B2 (en) Storage system and method of operating the same
CN106649368A (zh) 数据存储方法、装置和数据查询方法、装置
CN109901978A (zh) 一种Hadoop日志无损压缩方法和***
CN102508839B (zh) 数据处理装置和方法
CN101414309A (zh) 大规模数据信息排重处理***
CN112307004B (zh) 数据治理方法、装置、设备及存储介质
CN113157853A (zh) 问题挖掘方法、装置、电子设备及存储介质
EP3097644A1 (en) Optimized data condenser and method
CN110399396B (zh) 高效的数据处理
CN112328641B (zh) 多维度数据聚合方法、装置及计算机设备
CN109902851B (zh) 一种生产计划的确定方法以及装置
CN113722296A (zh) 一种农业信息处理方法、装置、电子设备及存储介质
CN106528718A (zh) 用于处理来自第三方的数据的方法及装置
CN112328960B (zh) 数据运算的优化方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20090422