分布式数据处理方法及装置的制造方法

文档序号:9597880阅读:367来源:国知局
分布式数据处理方法及装置的制造方法
【技术领域】
[0001]本发明涉及数据处理技术,尤其涉及一种分布式数据处理方法及装置。
【背景技术】
[0002]近年来人们对于大数据的概念提及越来越多,大数据(big data),或称巨量资料、海量资料,是指无法在可承受的时间范围内用常规软件工具进行捕捉、管理和处理的数据集合。对大数据的有效处理,现在工业界和学术界中提出了一些新的并行数据处理技术与系统,按照数据的输入类型不同,我们可以将其分为批量数据处理和流式数据处理。
[0003]批量数据处理主要是针对静态数据集合,实现了大规模静态数据的高吞吐处理,以吞吐量大为显著特征,其典型的技术是MapReduce。流式数据处理主要针对持续产生的数据流的快速处理,分别实现不同数据结构、不同计算模式和不同响应时间的数据处理。与此相对应,近来工业界和学术界有把批量数据处理和流式数据处理进行综合的动力和趋势。
[0004]然而,随着大数据的深入应用,这种多系统并存的状况导致应用开发和运行管理的麻烦,例如开发人员在多个编程框架上编写应用,运维管理人员维护多个计算系统及其上的应用,抬高了大数据处理的资源成本、时间成本和人员成本。因此融合批量数据处理和流式数据处理的大数据处理成为一个亟待解决的问题。

【发明内容】

[0005]本发明提供一种分布式数据处理方法及装置,其目的就在于提供一种适用多种数据处理要求的数据处理模型,通过针对不同的数据处理需求预设合适的封装策略,对数据流进行封装和处理,可以满足不同的数据处理需求。
[0006]本发明实施例提供的分布式数据处理方法,可以应用于分布式数据处理系统,该数据处理系统包括至少一个输入适配和多个处理节点,其中输入适配与处理节点之间通过有向边连接。该方法包括:输入适配接收输入数据流;输入适配根据输入数据流的处理需求设定数据封装策略;输入适配根据数据封装策略将输入数据流封装为数据单元;输入适配将数据单元发送至处理节点进行处理。
[0007]本发明实施提供的分布式数据处理装置,可以为分布式数据处理系统中的输入适配,数据处理系统还包括多个处理节点,其中输入适配与处理节点之间通过有向边连接。输入适配包括:接收模块,用于接收输入数据流;设定模块,用于根据输入数据流的处理需求设定数据封装策略;封装模块,用于根据数据封装策略将输入数据流封装为数据单元;发送模块,用于将数据单元发送至处理节点进行处理。
[0008]基于上述,本发明实施例提供的分布式数据处理方法及装置,通过针对输入数据流的处理需求设定数据封装策略,根据该数据封装策略将输入数据流封装为数据单元,在后续数据处理过程中均以封装的数据单元为单位进行数据分发和处理。由于不同的数据封装策略实际上是对输入的数据流做不同的分段,小的分段能够降低延迟,但同时增加了附加开销,使系统的吞吐量降低;反之,大的分段能够提高系统的吞吐量,但会增加延迟。因此本发明通过针对不同的数据处理需求设置合适的封装策略,对数据流进行封装和处理,对于批量数据处理,可以进行大的分段,以实现较高的数据吞吐量;对于流式数据处理,可以进行小的分段,以实现较低的数据延时。
【附图说明】
[0009]为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0010]图1为一种分布式数据处理系统的逻辑模型示意图;
[0011]图2为本发明实施例提供的分布式数据处理方法流程图;
[0012]图3为本发明实施例提供的分布式数据处理方法的应用示意图;
[0013]图4为本发明实施例提供的分布式数据处理装置的示意图。
【具体实施方式】
[0014]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0015]随着互联网的发展和信息的爆炸性增长,为了应对大数据的海量数据处理需求,人们提出和改进新的分布式系统,利用大量廉价的机器提供更高性能的数据处理能力。从MapReduce及Hadoop被提出和广泛使用后,又出现了 Spark这种更适合迭代式计算和机器学习算法的批量分布式系统,以及S4、Storm等致力于提供更高实时处理能力的流式处理系统,它们针对于不同的应用场景,各有特点和优势。然而,目前尚没有一种统一的数据处理平台可以满足不同任务的实时性需求,因此,为了满足不同任务的实时性需求,同时实现更高的数据吞吐达到系统资源的有效利用,需要有一种可以灵活地调整系统实时处理能力的数据处理系统。
[0016]图1为一种分布式数据处理系统的逻辑模型示意图,如图1所示,该模型是一种基于可调的有向无环图(Tunable Directed Acyclic Graph,简称TDAG)的计算模型,在TDAG模型中,计算单元包含输入适配(Input Adapter)(即IAnIA2)和算子(Processor)(即P!、P2、P3、P4)两种,用于接收、处理、发送数据。每个计算单元都可以包括多个任务节点,可以并发执行数据处理任务,例如IAn、IA12、......1A1N以及IA21、ia22、......1A2N分别为输入适配ΙΑ。1^中的任务节点,P n、P12、……P1N以及P 21、P22、……P2N分别为算子P 1、P2中的任务节点。有向边代表了数据流,计算单元之间通过有向边发送消息。在本发明的下述实施例中,分布式数据处理系统的逻辑模型可以包括至少一个输入适配和多个处理节点,这里的处理节点即为算子,消息是一种以eBag为单元的流式数据片段,而每个eBag带有时序属性信息来表达数据单元之间的时序关系。下面我们将结合图2所示的流程图分别介绍输入适配、算子两种节点,阐述eBag数据流的封装控制策略,并简要说明数据处理的基本流程。
[0017]图2为本发明实施例提供的分布式数据处理方法流程图,该方法具体可以应用于图1所示的分布式数据处理系统,该方法具体以输入适配为执行主体。如图2所示,该方法可以包括以下步骤:
[0018]S21,接收输入数据流;
[0019]S22,根据输入数据流的处理需求设定数据封装策略;
[0020]S23,根据数据封装策略将输入数据流封装为eBag ;
[0021]S24,将eBag发送至处理节点进行处理。
[0022]需要说明的是,S21和S22不存在时序上的关系。由于输入的数据流就是待处理的数据流,针对不同的处理需求,可以先接收输入数据流,也可以先根据待处理的数据流的处理需求设定数据封装策略,或者,S21和S22同时进行。另外,还可以根据接收到的输入
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1