数据并行处理方法、装置及系统制造方法及图纸

技术编号:5132602 阅读:222 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及数据并行处理方法、装置及系统,所述方法包括:实时检测数据采集服务器中需要处理的数据;对检测到的数据进行分区和/或聚合处理,使其形成大小为预定值的数据分区;建立与各数据分区对应的描述信息,并将所述描述信息依次存入数据分区队列中;收到Hadoop系统中处理节点的Map任务的请求后,从所述数据分区队列中读取一个描述信息,并根据所述描述信息获取对应的数据分区中的数据;将获取的数据传送到Map任务的输入源。利用本发明专利技术,可以将数据从采集服务器上直接传送到MapReduce节点上进行处理,从而节省了存储空间,简化了处理流程,提高了数据处理效率及数据处理的可靠性。

【技术实现步骤摘要】

本专利技术涉及数据处理技术,具体涉及一种数据并行处理方法、装置及系统
技术介绍
Hadoop是基于shared-nothing架构的海量数据存储和计算的分布式系统,它由 若干个成员组成,主要包括HDFS (Hadoop Distributed File System,分布式文件系统)、 MapReduce (并行计算框架),HBase (Google BigTable的开源实现)等。其中,MapReduce作 为一套开放式的并行计算框架能够与目前流行的各种分布式产品结合实现灵活的并行计 算和分布式计算功能,可以将HDFS、HBase、Cassandra(—个混合型的非关系的数据库)等 平台的数据作为MapReduce的输入源进行并行加工处理,并将处理后的数据输出到HDFS、 HBase, Cassandra 等输出源中。MapReduce的计算过程简而言之,就是将大数据集分解为成百上千的小数据集,每 个或若干个数据集分别由集群中的一个节点(通常是一台普通的计算机)进行处理并生成 中间结果,然后这些中间结果又由大量的节点进行合并,形成最终结果。MapReduce计算模型的原理是利用一个输入key/value对来产生一个或一批输 出的key/value对,其核心是利用两个函数即Map和Reduce来表达这个计算,而函数Map 和Reduce由用户来实现。在MapReduce框架中,每一次计算请求被称为作业。在分布式计算MapReduce框 架中,分两步完成这个作业。首先是将该作业拆分成若干个Map任务,分配到不同的机器上 去执行,每一个Map任务将输入文件的一部分作为自己的输入,经过一些计算,生成某种格 式的中间文件,其格式与最终所需的文件格式完全一致,但是仅仅包含一部分数据。等到所 有Map任务完成后,进入下一个步骤,用以合并这些中间文件获得最后的输出文件。此时, 系统会生成若干个Reduce任务,同样也是分配到不同的机器去执行,它的目标就是将若干 个Map任务生成的中间文件为汇总到最后的输出文件中去。经过如上步骤,作业完成,所需 的目标文件生成。整个算法的关键,就在于增加了一个中间文件生成的流程,大大提高了灵 活性,使其分布式扩展性得到了保证。目前,要实现数据的分布式加工处理,由于采集系统采集文件存储在本地,无法直 接通过并行计算框架MapReduce进行处理,需要先将文件从采集服务器拷贝到HDFS上,然 后再通过MapReduce进行数据加工处理。这种处理方式至少存在以下缺点1.需要将文件从本地文件系统拷贝到分布式文件系统中;2.需要在分布式文件系统和本地文件系统中保留两份相同的数据,增加了不必要 的存储空间;3.对于数据一致性要求高的系统,需要确定拷贝过程中没有丢失数据和重复数 据,增加了数据一致性检查的难度;4.由于处理大量小文件的时候,需要为每个小文件启动一个任务来进行处理,增 加了任务多次启动和停止的额外开销,处理效率非常低。
技术实现思路
本专利技术实施例针对上述现有技术存在的缺点,提供一种数据并行处理方法、装置 及系统,以简化处理流程,节省存储空间,并提高数据处理效率及数据处理的可靠性。为此,本专利技术实施例提供如下技术方案一种数据并行处理方法,包括实时检测数据采集服务器中需要处理的数据;对检测到的数据进行分区和/或聚合处理,使其形成大小为预定值的数据分区;建立与各数据分区对应的描述信息,并将所述描述信息依次存入数据分区队列 中;收到Hadoop系统中处理节点的Map任务的请求后,从所述数据分区队列中读取一 个描述信息,并根据所述描述信息获取对应的数据分区中的数据;将获取的数据传送到Map任务的输入源。一种数据并行处理装置,包括检测单元,用于实时检测数据采集服务器中需要处理的数据;数据分区生成单元,用于对所述检测单元检测到的数据进行分区和/或聚合处 理,使其形成大小为预定值的数据分区;描述信息建立单元,用于建立与各数据分区对应的描述信息,并将所述描述信息 依次存入数据分区队列中;请求接收单元,用于接收Hadoop系统中处理节点的Map任务的请求;数据流处理器,用于在所述请求接收单元收到Hadoop系统中处理节点的Map任务 的请求后,从所述数据分区队列中读取一个描述信息,并根据所述描述信息获取对应的数 据分区中的数据;数据传送单元,用于将所述数据流处理器获取的数据传送到Map任务的输入源。一种数据并行处理系统,包括数据采集服务器、并行加载平台和Hadoop系统,所 述Hadoop系统包括处理节点和管理节点,其中所述数据采集服务器,用于采集需要处理的数据;所述并行加载平台,用于实时检测数据采集服务器中需要处理的数据;对检测到 的数据进行分区和/或聚合处理,使其形成大小为预定值的数据分区;建立与各数据分区 对应的描述信息,并将所述描述信息依次存入数据分区队列中;收到Hadoop系统中处理节 点的Map任务的请求后,从所述数据分区队列中读取一个描述信息,并根据所述描述信息 获取对应的数据分区中的数据;将获取的数据传送到Map任务的输入源。所述Hadoop系统,用于并行处理各处理节点的Map任务的输入源收到的数据,并 将处理后的数据输出。本专利技术实施例数据并行处理方法、装置及系统,应用于Hadoop系统的并行计算框 架MapReduce,将数据从采集服务器上直接传送到MapReduce节点上进行处理,无需将文件 从采集服务器拷贝到HDFS上,从而节省了存储空间,简化了处理流程,提高了数据处理效 率及数据处理的可靠性。进一步地,可以将MapReduce的输入扩展到应用程序的输出上,在不需将应用程6序的输出首先输出到文件系统的情况下,就可以并行处理应用程序的输出;并且可以将 MapReduce的输出扩展到应用程序的输入上,使MapReduce任务直接将处理后的数据输出 到应用程序。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他 的附图。图1是现有技术中MapReduce的一个典型处理流程示意图;图2是本专利技术实施例数据并行处理方法的流程图;图3是本专利技术实施例数据并行处理装置的一种结构示意图;图4是本专利技术实施例数据并行处理系统的组网示意图。具体实施例方式为了使本
的人员更好地理解本专利技术方案,下面结合附图和实施方式对本 专利技术作进一步的详细说明。本专利技术实施例数据并行处理方法、装置及系统应用于Hadoop的并行计算框架 MapReduce,为了更好地理解本专利技术方案,首先对现有技术中MapReduce的处理流程做简单 说明。在后面实施例的描述中,将保存在采集服务器端的文件称作本地文件。如图1所示,是现有技术中MapReduce的一个典型处理流程,其中Map任务通过相应的输入源类读取需要处理的数据,经过对数据进行收敛/聚合 处理后,由Reduce任务通过相应的输出源类输出。Hadoop可以处理多种不同的数据格式,存储在分布式文件系统上的文件到数据 库,但其无法直接提供对采集服务器端的本地文件系统(如日志式文件系统ex本文档来自技高网
...

【技术保护点】
一种数据并行处理方法,其特征在于,包括:实时检测数据采集服务器中需要处理的数据;对检测到的数据进行分区和/或聚合处理,使其形成大小为预定值的数据分区;建立与各数据分区对应的描述信息,并将所述描述信息依次存入数据分区队列中;收到Hadoop系统中处理节点的Map任务的请求后,从所述数据分区队列中读取一个描述信息,并根据所述描述信息获取对应的数据分区中的数据;将获取的数据传送到Map任务的输入源。

【技术特征摘要】
一种数据并行处理方法,其特征在于,包括实时检测数据采集服务器中需要处理的数据;对检测到的数据进行分区和/或聚合处理,使其形成大小为预定值的数据分区;建立与各数据分区对应的描述信息,并将所述描述信息依次存入数据分区队列中;收到Hadoop系统中处理节点的Map任务的请求后,从所述数据分区队列中读取一个描述信息,并根据所述描述信息获取对应的数据分区中的数据;将获取的数据传送到Map任务的输入源。2.根据权利要求1所述的方法,其特征在于,所述方法还包括收到Hadoop系统中处理节点的Reduce任务的请求后,获取Reduce任务的输出源输出 的数据;将输出的数据写到文件或者应用程序中。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括如果所述数据分区是经过分区处理形成的,则在该数据分区以及与该数据分区同属于 一个文件的其他数据分区都已被读取后,删除和/或备份所述文件;如果所述数据分区是经过聚合处理形成的,则在该数据分区被读取后,删除和/或备 份该数据分区中的数据所属的文件。4.根据权利要求2所述的方法,其特征在于,所述方法还包括利用一个或多个数据流处理线程处理所述Map任务的请求信号和Reduce任务的请求 信号。5.根据权利要求4所述的方法,其特征在于,所述方法还包括 周期性获取数据分区队列的长度;如果所述长度达到或超过设定的第一阈值,则增加一个数据流处理线程,并暂缓检测 需要处理的数据;如果所述长度达到或超过设定的第二阈值,则删除增加的数据流处理线程,并恢复检 测需要处理的数据。6.根据权利要求4所述的方法,其特征在于,所述需要处理的数据包括以下任意一种 或多种磁盘上存储的文件中的数据,实时数据、应用程序输出的数据。7.根据权利要求6所述的方法,其特征在于,所述方法还包括 Hadoop系统中管理节点获取数据流处理线程池中空闲的线程数;根据所述空闲的线程数为一个或多个所述处理节点分配任务,并指定该任务需要侦听 的IP地址和端口号;Hadoop系统中处理节点根据所述IP地址和端口号获取实时数据或者应用程序输出的 数据。8.一种数据并行处理装置,其特征在于,包括检测单元,用于实时检测数据采集服务器中需要处理的数据; 数据分区生成单元,用于对所述检测单元检测到的数据进行分区和/或聚合处理,使 其形成大小为预定值的数据分区;描述信息建立单元,用于建立与各数据分区对应的描述信息,并将所述描述信息依次 存入数据分区队列中;2请求接收单元,用于接收Hadoop系统中处理节点的Map任务的请求;数据流处理器,用于在所述请求接收单元收到Hadoop系统中处理节点的Map任务的请 求后,从所述数据分区队列中读取一个描述信息,并根据所述描述信息获取对应的数据分 区中的数据;数据传送单元,用于将所述数据流处理器获取的数据传送到Map任务的输入源。9.根据权利要求8所述的装置,其特征在于,所述请求接收单元...

【专利技术属性】
技术研发人员:温文全喻先兵
申请(专利权)人:广州从兴电子开发有限公司
类型:发明
国别省市:81[中国|广州]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1