海量数据处理方法和系统的制作方法

文档序号:6486509阅读:176来源:国知局
海量数据处理方法和系统的制作方法
【专利摘要】本发明公开了一种海量数据处理方法和系统,涉及数据处理领域,包括并行采集多个数据文件;将每个所述数据文件划分成多个独立的数据块,分别存储所述数据块;对每个所述数据块进行清洗;将清洗后的每个所述数据块保存到数据仓库。本发明通过并行采集和分散存储的数据处理方式,有效解决了数据输入的瓶颈限制,提高数据输入的效率,并且数据块分散存储为后续的并行处理提供了前提条件。
【专利说明】海量数据处理方法和系统
【技术领域】
[0001]本发明涉及数据处理领域,特别涉及一种海量数据处理方法和系统。
【背景技术】
[0002]随着电信业务的不断发展,电信业务从语音业务的⑶R (Call Detail Record,呼叫详细记录)发展为数据业务的UDR (User Data Record,用户数据记录),记录规模从千万条增长100倍发展到数十亿条,数据处理规模正由TB (TeraByte,太字节)级别向PB(PetaByte)级别发展。
[0003]对于海量数据,如用户上网行为的UDR海量日志,传统的ETUExtract TransformLoad,抽取转换装载)数据处理方法采用串行处理方式,也就是将海量数据文件逐个的采集到本地服务器,然后逐个完成数据文件的字段提取、格式转换等数据清洗的工作,最后通过传统数据仓库提供的单个数据访问点,将清洗后的数据文件串行的导入数据仓库,完成海量数据处理。
[0004]上述传统的海量数据处理方法采用串行处理方式,存在处理时间较长、处理效率较低、处理速度较慢的问题。

【发明内容】

[0005]本发明实施例所要解决的技术问题是:提供一种海量数据处理方法和系统,以解决传统海量数据处理方法存在的处理时间较长、处理效率较低、处理速度较慢的问题。
[0006]根据本发明实施例的一个方面提供的一种海量数据处理方法,包括:并行采集多个数据文件;将每个所述数据文件划分成多个独立的数据块,分别存储所述数据块;对每个所述数据块进行清洗;将清洗后的每个所述数据块保存到数据仓库。
[0007]可选的,所述并行采集多个数据文件包括:同时启动多个采集子任务,多个所述采集子任务并行采集多个所述数据文件。
[0008]可选的,所述分别存储所述数据块包括:将多个所述数据块分散存储到云平台的分布式文件系统上。
[0009]可选的,所述对每个所述数据块进行清洗包括:同时启动多个数据处理子任务,多个所述数据处理子任务并行对多个所述数据块进行数据读取、字段提取和格式转换。
[0010]可选的,所述将清洗后的每个所述数据块保存到数据仓库包括:利用所述数据仓库提供的多个数据访问点,同时将清洗后的每个所述数据块保存到所述数据仓库。
[0011]根据本发明实施例的另一个方面提供的一种海量数据处理系统,包括:并行采集装置,用于并行采集多个数据文件;分散存储装置,用于将每个所述数据文件划分成多个独立的数据块,分别存储所述数据块;清洗装置,用于对每个所述数据块进行清洗;入库装置,用于将清洗后的每个所述数据块保存到数据仓库。
[0012]可选的,所述并行采集装置,用于同时启动多个采集子任务,多个所述采集子任务并行采集多个所述数据文件。[0013]可选的,所述分散存储装置,用于将每个所述数据文件划分成多个独立的数据块,并将多个所述数据块分散存储到云平台的分布式文件系统上。
[0014]可选的,所述清洗装置,用于同时启动多个数据处理子任务,多个所述数据处理子任务并行对多个所述数据块进行数据读取、字段提取和格式转换。
[0015]可选的,所述入库装置,用于利用所述数据仓库提供的多个数据访问点,同时将清洗后的每个所述数据块保存到所述数据仓库。
[0016]基于本发明提供的海量数据处理方法和系统,通过并行采集和分散存储的数据处理方式,有效解决了数据输入的瓶颈限制,提高数据输入的效率,并且数据块分散存储为后续的并行处理提供了前提条件;通过多个数据块并行清洗的方式,解决了数据清洗过程中的串行限制,提升了数据清洗的效率;通过多个数据访问点,可以将海量数据并行导入数据仓库,节省了数据加载的时间。
[0017]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
【专利附图】

【附图说明】
[0018]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0019]图1为本发明海量数据处理方法一个实施例的流程图;
[0020]图2为本发明一个实施例并行采集和分散存储的流程图;
[0021]图3为本发明一个实施例并行清洗和并行入库的流程图;
[0022]图4为本发明海量数据处理方法一个实施例的流程图;
[0023]图5为本发明海量数据处理方法一个实施例的时序图;
[0024]图6为本发明海量数据处理系统一个实施例的结构示意图;
[0025]图7为本发明海量数据处理系统另一个实施例的架构示意图。
【具体实施方式】
[0026]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0027]图1为本发明海量数据处理方法一个实施例的流程图。如图1所示,该实施例的海量数据处理方法采用了并行采集和分散存储的方式,可以由多个计算机节点执行,包括:
[0028]S102,并行采集多个数据文件,多个数据文件可以是海量数据文件,例如,用户上网行为的m)R海量日志等;
[0029]S104,将每个数据文件划分成多个独立的数据块,分别存储数据块,数据块的大小可以设置,每个数据块可以被上层应用独立访问,例如,可以将多个数据块分散存储到云平台的 HDFS (Hadoop Distributed File System,分布式文件系统)上;
[0030]S106,对每个数据块进行清洗;[0031]S108,将清洗后的每个数据块保存到数据仓库。
[0032]上述实施例中,通过并行采集和分散存储的数据处理方式,有效解决了数据输入的瓶颈限制,提高数据输入的效率,并且数据块分散存储为后续的并行处理提供了前提条件;并且由多个计算机节点进行并行处理,可以充分利用每个计算机节点的资源,数据处理效率更闻。
[0033]图2为本发明一个实施例并行采集和分散存储的流程图。如图2所示,并行采集和分散存储包括:
[0034]S202,流程开始;
[0035]S204,基于云计算的MapReduce (映射简化)并行计算算法,启动数据采集任务;
[0036]S206,针对每个数据文件启动一个采集子任务,同时启动多个采集子任务,例如启动采集子任务1-Ν ;
[0037]S208,多个采集子任务并行采集多个数据文件1、;
[0038]S210,将每个数据文件划分成多个独立的数据块,例如数据块lfNN,将多个数据块分散存储到云平台的HDFS上。
[0039]S212,流程结束。
[0040]在对数据块进行清洗处理和入库处理时,可以采用并行处理方式。图3为本发明一个实施例并行清洗和并行入库的流程图。如图3所示,并行清洗和并行入库可以由多个计算机节点执行,包括:
[0041]S302,流程开始;
[0042]S304,基于云计算的MapReduce并行计算算法,启动数据处理子任务,针对每个数据块启动一个数据处理子任务,同时启动多个数据处理子任务lfNN,对于用户上网行为的UDR海量日志等海量数据,可以同时并发上千个数据处理子任务,极大地提供数据处理速度;
[0043]S306,多个数据处理子任务并行读取多个数据块IfNN ;
[0044]S308,多个数据处理子任务并行提取多个数据块中的有效字段,有效字段可以根据实际需要灵活设定,例如,一个数据块包括时间、地点、操作项等字段,可以提取其中的时间字段;
[0045]S310,多个数据处理子任务并行对多个数据块进行格式转换,可以主要将上述提取的有效字段进行格式转换,例如,将时间字段统一成20120619格式等;
[0046]S312,利用数据仓库提供的多个数据访问点,同时将清洗后的每个数据块保存到数据仓库;
[0047]S314,流程结束。
[0048]上述实施例中,通过多个数据块并行清洗的方式,解决了数据清洗过程中的串行限制,提升了数据清洗的效率;通过多个数据访问点,可以将海量数据并行导入数据仓库,节省了数据加载的时间;并且由多个计算机节点进行并行处理,可以充分利用每个计算机节点的资源,数据处理效率更高。
[0049]图4为本发明海量数据处理方法一个实施例的流程图。如图4所示,该实施例的海量数据处理方法采用了并行采集和分散存储,以及并行清洗和并行入库的方式,可以由多个计算机节点执行,包括:[0050]S402,流程开始;
[0051]S404,基于云计算的MapReduce并行计算算法,启动数据采集任务,同时启动多个采集子任务,例如启动采集子任务1-Ν ;
[0052]S406,多个采集子任务并行采集多个数据文件1-Ν,将每个数据文件划分成多个独立的数据块,例如数据块IfNN,将多个数据块分散存储到云平台的HDFS上;
[0053]S408,基于云计算的MapReduce并行计算算法,启动数据处理子任务,同时启动多个数据处理子任务IfNN ;
[0054]S410,利用数据仓库提供的多个数据访问点,同时将清洗后的每个数据块保存到数据仓库;
[0055]S412,流程结束。
[0056]上述实施例中,通过并行采集和分散存储的数据处理方式,有效解决了数据输入的瓶颈限制,提高数据输入的效率,并且数据块分散存储为后续的并行处理提供了前提条件;通过多个数据块并行清洗的方式,解决了数据清洗过程中的串行限制,提升了数据清洗的效率;通过多个数据访问点,可以将海量数据并行导入数据仓库,节省了数据加载的时间。并且由多个计算机节点进行并行处理,可以充分利用每个计算机节点的资源,数据处理效率更闻。
[0057]图5为本发明海量数据处理方法一个实施例的时序图。如图5所示,该实施例的海量数据处理方法采用了并行采集和分散存储,以及并行清洗和并行入库的方式,可以由多个计算机节点执行,包括:
[0058]S502,启动采集任务;
[0059]S504,同时启动多个采集子任务,并发执行采集子任务1-Ν ;
[0060]S506,采集完成后发出数据存储请求1-n;
[0061]S508,将每个数据文件划分成多个独立的数据块,分散存储数据块IfNN ;
[0062]S510,存储完成后发出数据清洗请求IfNN ;
[0063]S512,并发读取数据块IfNN ;
[0064]S514,并发提取数据块IfNN中的有效字段;
[0065]S516,并发对数据块IfNN进行格式转换;
[0066]S518,清洗完成后发出数据入库请求IfNN ;
[0067]S520,将数据块IfNN并发存入数据仓库。
[0068]上述实施例中,通过并行采集和分散存储的数据处理方式,有效解决了数据输入的瓶颈限制,提高数据输入的效率,并且数据块分散存储为后续的并行处理提供了前提条件;通过多个数据块并行清洗的方式,解决了数据清洗过程中的串行限制,提升了数据清洗的效率;通过多个数据访问点,可以将海量数据并行导入数据仓库,节省了数据加载的时间。并且由多个计算机节点进行并行处理,可以充分利用每个计算机节点的资源,数据处理效率更闻。
[0069]图6为本发明海量数据处理系统一个实施例的结构示意图。如图6所示,该系统包括:并行采集装置602,用于并行采集多个数据文件;分散存储装置604,用于将每个数据文件划分成多个独立的数据块,分别存储数据块;清洗装置606,用于对每个数据块进行清洗;入库装置608,用于将清洗后的每个数据块保存到数据仓库。[0070]上述并行采集装置602、分散存储装置604、清洗装置606、或者入库装置608可以包括多个计算机节点。
[0071]作为海量数据处理系统另一个实施例,并行采集装置602,具体用于同时启动多个采集子任务,多个采集子任务并行采集多个数据文件。
[0072]作为海量数据处理系统另一个实施例,分散存储装置604,具体用于将每个数据文件划分成多个独立的数据块,并将多个数据块分散存储到云平台的分布式文件系统上。
[0073]作为海量数据处理系统另一个实施例,清洗装置606,具体用于同时启动多个数据处理子任务,多个数据处理子任务并行对多个数据块进行数据读取、字段提取和格式转换。
[0074]作为海量数据处理系统另一个实施例,入库装置608,具体用于利用数据仓库提供的多个数据访问点,同时将清洗后的每个数据块保存到数据仓库。
[0075]图7为本发明海量数据处理系统另一个实施例的架构示意图。如图7所示,该系统包括:并行处理装置702和分布式计算引擎704,并行处理装置702可以包括多个计算机节点;并行处理装置702包括并行采集装置7022,用于并行采集多个数据文件;分散存储装置7024,用于将每个数据文件划分成多个独立的数据块,分别存储数据块;清洗装置7026,用于同时启动多个数据处理子任务,多个数据处理子任务并行对多个数据块进行数据读取、字段提取和格式转换;以及入库装置7028,用于利用数据仓库提供的多个数据访问点,同时将清洗后的每个数据块保存到数据仓库;分布式计算引擎704包括MapReduce并行计算引擎7042,用于基于云计算的MapReduce并行计算算法,同时启动多个数据采集子任务进行并行数据采集,或者同时启动多个数据处理子任务进行并行数据清洗;以及HDFS引擎7044,用于对数据块进行分散存储。
[0076]上述实施例中,通过并行采集和分散存储的数据处理方式,有效解决了数据输入的瓶颈限制,提高数据输入的效率,并且数据块分散存储为后续的并行处理提供了前提条件;通过多个数据块并行清洗的方式,解决了数据清洗过程中的串行限制,提升了数据清洗的效率;通过多个数据访问点,可以将海量数据并行导入数据仓库,节省了数据加载的时间。并且由多个计算机节点进行并行处理,可以充分利用每个计算机节点的资源,数据处理效率更闻。
[0077]本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0078]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种海量数据处理方法,其特征在于,所述方法包括: 并行采集多个数据文件; 将每个所述数据文件划分成多个独立的数据块,分别存储所述数据块; 对每个所述数据块进行清洗; 将清洗后的每个所述数据块保存到数据仓库。
2.根据权利要求1所述的方法,其特征在于,所述并行采集多个数据文件包括: 同时启动多个采集子任务,多个所述采集子任务并行采集多个所述数据文件。
3.根据权利要求1所述的方法,其特征在于,所述分别存储所述数据块包括: 将多个所述数据块分散存储到云平台的分布式文件系统上。
4.根据权利要求1所述的方法,其特征在于,所述对每个所述数据块进行清洗包括: 同时启动多个数据处理子任务,多个所述数据处理子任务并行对多个所述数据块进行数据读取、字段提取和格式转换。
5.根据权利要求1所述的方法,其特征在于,所述将清洗后的每个所述数据块保存到数据仓库包括: 利用所述数据仓库提供的多个数据访问点,同时将清洗后的每个所述数据块保存到所述数据仓库。
6.一种海量数据处理系统,其特征在于,所述系统包括: 并行采集装置,用于并行采集多个数据文件; 分散存储装置,用于将每个所述数据文件划分成多个独立的数据块,分别存储所述数据块; 清洗装置,用于对每个所述数据块进行清洗; 入库装置,用于将清洗后的每个所述数据块保存到数据仓库。
7.根据权利要求6所述的系统,其特征在于,所述并行采集装置,用于同时启动多个采集子任务,多个所述采集子任务并行采集多个所述数据文件。
8.根据权利要求6所述的系统,其特征在于,所述分散存储装置,用于将每个所述数据文件划分成多个独立的数据块,并将多个所述数据块分散存储到云平台的分布式文件系统上。
9.根据权利要求6所述的系统,其特征在于,所述清洗装置,用于同时启动多个数据处理子任务,多个所述数据处理子任务并行对多个所述数据块进行数据读取、字段提取和格式转换。
10.根据权利要求6所述的系统,其特征在于,所述入库装置,用于利用所述数据仓库提供的多个数据访问点,同时将清洗后的每个所述数据块保存到所述数据仓库。
【文档编号】G06F17/30GK103514205SQ201210215717
【公开日】2014年1月15日 申请日期:2012年6月27日 优先权日:2012年6月27日
【发明者】闻剑峰, 贺仁龙, 石屹嵘, 龚德志, 段勇 申请人:中国电信股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1