当前位置: 首页 > 专利查询>伊姆西公司专利>正文

用于分布式数据处理的方法和设备技术

技术编号:15763131 阅读:222 留言:0更新日期:2017-07-06 00:07
本公开的实施例提供了一种用于分布式数据处理的方法和设备。所述方法包括:从一个或多个上游节点接收附接有共享计数的一个或多个输入消息,其中所述共享计数被用于确定与所述一个或多个输入消息相关联的根消息的处理状态;处理所述一个或多个输入消息以生成一个或多个新消息;基于接收到的所述共享计数,向每个新消息分配新共享计数;以及向一个或多个下游节点发送附接有相应的新共享计数的所述一个或多个新消息。与现有技术相比,根据本公开的实施例的用于分布式数据处理的方法和设备,能够有效降低网络流量上的开销以及所消耗的CPU和存储器资源,并且针对不同分布式数据处理系统的拓扑结构具有可扩展性。

Method and apparatus for distributed data processing

Embodiments of the present disclosure provide a method and apparatus for distributed data processing. The method includes: from one or more upstream node receives the attachment of one or more input message Share count, wherein the share count is used to determine the processing condition associated with the one or more input message message associated with the root; processing the one or more. The message to generate one or more new information sharing; counting the received message to each new allocation based on new share count; and to one or more downstream node attached with the corresponding new share count of one or more of the new news. Compared with the existing technology, according to the method and apparatus for distributed data processing in the embodiment of the public, can effectively reduce the network traffic overhead and the consumption of CPU and memory resources, and according to the different topology of distributed data processing system is scalable.

【技术实现步骤摘要】
用于分布式数据处理的方法和设备
本公开的实施例总体涉及数据处理,具体涉及一种用于分布式数据处理的方法和设备。
技术介绍
分布式数据处理系统或者尤其是实时流系统正变得越来越流行。现代实时流系统,诸如Storm、PivotalSpringX、SparkStreaming、Samza等被广泛地应用于电子商务、大数据分析、数据抽取转换加载(ETL)中。提供可靠处理能力是相当普遍和重要的,以使得即使在节点或联网中存在故障也能保证每个消息得以被处理。这种分布式系统的一个关键挑战在于如何在最低成本和最小性能影响的情况下以高效的方式来检测系统中存在的故障,尤其对于具有成千上万个节点和节点间的互连的大型系统。现有技术中通常存在如下的方法以解决上述问题。一种方法是针对每个发出的消息从每个处理节点向跟踪任务报告状态,然后该跟踪任务通过跟踪每个发出的消息以及节点间的关系来维护该状态;在给定的超时设置的情况下,每个导出的消息将被处理。这种方法是直接的但是低效的,对于每个输入的消息每个节点将遭受额外的报告流量,并且跟踪任务的逻辑将会十分复杂导致其可能消耗大量中央处理单元(CPU)和存储器资源。如以下将结合图2进行描述的,另一种改进的方法被称为基于异或(XOR)的算法,该算法能够大大降低跟踪任务的复杂性和所消耗的存储器资源,但是仍然存在可扩展性限制、网络流量上的大量开销、端到端的延迟等各种问题。因此,本领域中需要一种更有效和更具可扩展性的方法来解决上述问题。
技术实现思路
本公开的实施例旨在提供一种用于分布式数据处理的方法和设备。根据本公开的第一方面,提供了一种用于在当前节点处的分布式数据处理的方法,包括:从一个或多个上游节点接收附接有共享计数的一个或多个输入消息,其中所述共享计数被用于确定与所述一个或多个输入消息相关联的根消息的处理状态;处理所述一个或多个输入消息以生成一个或多个新消息;基于接收到的所述共享计数,向每个新消息分配新共享计数;以及向一个或多个下游节点发送附接有相应的新共享计数的所述一个或多个新消息。在一些实施例中,当所述当前节点为根节点时,从所述一个或多个上游节点接收附接有共享计数的一个或多个输入消息包括:接收从外部进入的所述根消息;以及为所述根消息分配预定的共享计数。在一些实施例中,所述方法还包括:响应于接收到从外部进入的所述根消息,向跟踪任务报告第一状态信息。在一些实施例中,所述第一状态信息包括所述根消息的标识符、所述预定的共享计数以及第一操作码,其中所述第一操作码用于向所述跟踪任务指示所述预定的共享计数要被添加。在一些实施例中,所述方法还包括:当所述当前节点为叶节点时,响应于从所述一个或多个上游节点接收到附接有所述共享计数的所述一个或多个输入消息,向跟踪任务报告第二状态信息。在一些实施例中,所述第二状态信息包括根消息的标识符、所述叶节点接收到的所述共享计数以及第二操作码,其中所述第二操作码用于向所述跟踪任务指示所述共享计数要被减除。在一些实施例中,基于接收到的所述共享计数,向每个新消息分配新共享计数包括:基于在所述当前节点处配置的分配策略,向每个新消息分配新共享计数。在一些实施例中,所述分配策略包括以下的至少一种:基于所述一个或多个下游节点的个数,将所述共享计数平均分配给每个新消息;以及利用每个下游节点的权重来向每个新消息分配新共享计数。在一些实施例中,基于接收到的所述共享计数,向每个新消息分配新共享计数包括:向所述共享计数添加附加的共享计数,以利用添加后的总共享计数向每个新消息分配新共享计数。在一些实施例中,所述方法还包括:响应于向所述共享计数添加所述附加的共享计数,向跟踪任务报告第三状态信息。在一些实施例中,所述第三状态信息包括根消息的标识符、所述附加的共享计数以及第三操作码,其中所述第三操作码用于向所述跟踪任务指示所述附加的共享计数要被添加。根据本公开的第二方面,提供了一种用于分布式数据处理的方法,包括:从根节点和叶节点接收与根消息相关联的状态信息;基于从所述状态信息中提取的操作码,对包括在所述状态信息中的共享计数进行处理,以确定对应于所述根消息的总共享计数;以及基于所述总共享计数,确定所述根消息的处理状态。在一些实施例中,从根节点和叶节点接收与根消息相关联的状态信息包括:从所述根节点接收第一状态信息,其中所述第一状态信息包括所述根消息的标识符、为所述根消息分配的预定的共享计数以及第一操作码;以及从所述叶节点接收第二状态信息,其中所述第二状态信息包括所述根消息的标识符、所述叶节点接收到的共享计数以及第二操作码。在一些实施例中,基于从所述状态信息中提取的操作码,对包括在所述状态信息中的共享计数进行处理,以确定对应于所述根消息的总共享计数包括:基于所述第一操作码,向所述总共享计数添加为所述根消息分配的所述预定的共享计数;以及基于所述第二操作码,从所述总共享计数中减除所述叶节点接收到的所述共享计数。在一些实施例中,与所述根消息相对应的所述总共享计数的初始值被设定为零,并且基于所述总共享计数,确定所述根消息的处理状态包括:响应于所述总共享计数为零,确定所述根消息被成功处理;以及响应于所述总共享计数不为零,确定在所述根消息的处理中发生故障。在一些实施例中,所述方法还包括:从添加附加共享计数的节点接收第三状态信息,其中所述第三状态信息包括所述根消息的标识符、所述附加共享计数以及第三操作码。在一些实施例中,基于从所述状态信息中提取的操作码,对包括在所述状态信息中的共享计数进行处理,以确定对应于所述根消息的总共享计数包括:基于所述第三操作码,向所述总共享计数添加所述附加共享计数。根据本公开的第三方面,提供了一种用于在当前节点处的分布式数据处理的设备,包括:消息接收装置,被配置为从一个或多个上游节点接收附接有共享计数的一个或多个输入消息,其中所述共享计数被用于确定与所述一个或多个输入消息相关联的根消息的处理状态;消息处理装置,被配置为处理所述一个或多个输入消息以生成一个或多个新消息;共享计数分配装置,被配置为基于接收到的所述共享计数,向每个新消息分配新共享计数;以及消息发送装置,被配置为向一个或多个下游节点发送附接有相应的新共享计数的所述一个或多个新消息。在一些实施例中,当所述当前节点为根节点时,所述消息接收装置被配置为:接收从外部进入的所述根消息;以及为所述根消息分配预定的共享计数。在一些实施例中,所述设备还包括:第一报告装置,被配置为响应于接收到从外部进入的所述根消息,向跟踪任务报告第一状态信息。在一些实施例中,所述第一状态信息包括所述根消息的标识符、所述预定的共享计数以及第一操作码,其中所述第一操作码用于向所述跟踪任务指示所述预定的共享计数要被添加。在一些实施例中,所述设备还包括:第二报告装置,被配置为当所述当前节点为叶节点时,响应于从所述一个或多个上游节点接收到附接有所述共享计数的所述一个或多个输入消息,向跟踪任务报告第二状态信息。在一些实施例中,所述第二状态信息包括根消息的标识符、所述叶节点接收到的所述共享计数以及第二操作码,其中所述第二操作码用于向所述跟踪任务指示所述共享计数要被减除。在一些实施例中,所述共享计数分配装置被配置为:基于在所述当前节点处配置的分配策略,向每个新消息分配新本文档来自技高网...
用于分布式数据处理的方法和设备

【技术保护点】
一种用于当前节点处的分布式数据处理的方法,包括:从一个或多个上游节点接收附接有共享计数的一个或多个输入消息,其中所述共享计数被用于确定与所述一个或多个输入消息相关联的根消息的处理状态;处理所述一个或多个输入消息以生成一个或多个新消息;基于接收到的所述共享计数,向每个新消息分配新共享计数;以及向一个或多个下游节点发送附接有相应的新共享计数的所述一个或多个新消息。

【技术特征摘要】
1.一种用于当前节点处的分布式数据处理的方法,包括:从一个或多个上游节点接收附接有共享计数的一个或多个输入消息,其中所述共享计数被用于确定与所述一个或多个输入消息相关联的根消息的处理状态;处理所述一个或多个输入消息以生成一个或多个新消息;基于接收到的所述共享计数,向每个新消息分配新共享计数;以及向一个或多个下游节点发送附接有相应的新共享计数的所述一个或多个新消息。2.根据权利要求1所述的方法,其中当所述当前节点为根节点时,从所述一个或多个上游节点接收附接有共享计数的一个或多个输入消息包括:接收从外部进入的所述根消息;以及为所述根消息分配预定的共享计数。3.根据权利要求2所述的方法,还包括:响应于接收到从外部进入的所述根消息,向跟踪任务报告第一状态信息。4.根据权利要求3所述的方法,其中所述第一状态信息包括所述根消息的标识符、所述预定的共享计数以及第一操作码,其中所述第一操作码用于向所述跟踪任务指示所述预定的共享计数要被添加。5.根据权利要求1所述的方法,还包括:当所述当前节点为叶节点时,响应于从所述一个或多个上游节点接收到附接有所述共享计数的所述一个或多个输入消息,向跟踪任务报告第二状态信息。6.根据权利要求5所述的方法,其中所述第二状态信息包括根消息的标识符、所述叶节点接收到的所述共享计数以及第二操作码,其中所述第二操作码用于向所述跟踪任务指示所述共享计数要被减除。7.根据权利要求1所述的方法,其中基于接收到的所述共享计数,向每个新消息分配新共享计数包括:基于在所述当前节点处配置的分配策略,向每个新消息分配新共享计数。8.根据权利要求7所述的方法,其中所述分配策略包括以下的至少一种:基于所述一个或多个下游节点的个数,将所述共享计数平均分配给每个新消息;以及利用每个下游节点的权重来向每个新消息分配新共享计数。9.根据权利要求1所述的方法,其中基于接收到的所述共享计数,向每个新消息分配新共享计数包括:向所述共享计数添加附加的共享计数,以利用添加后的总共享计数向每个新消息分配新共享计数。10.根据权利要求9所述的方法,还包括:响应于向所述共享计数添加所述附加的共享计数,向跟踪任务报告第三状态信息。11.根据权利要求10所述的方法,其中所述第三状态信息包括根消息的标识符、所述附加的共享计数以及第三操作码,其中所述第三操作码用于向所述跟踪任务指示所述附加的共享计数要被添加。12.一种用于分布式数据处理的方法,包括:从根节点和叶节点接收与根消息相关联的状态信息;基于从所述状态信息中提取的操作码,对包括在所述状态信息中的共享计数进行处理,以确定对应于所述根消息的总共享计数;以及基于所述总共享计数,确定所述根消息的处理状态。13.根据权利要求12所述的方法,其中从根节点和叶节点接收与根消息相关联的状态信息包括:从所述根节点接收第一状态信息,其中所述第一状态信息包括所述根消息的标识符、为所述根消息分配的预定的共享计数以及第一操作码;以及从所述叶节点接收第二状态信息,其中所述第二状态信息包括所述根消息的标识符、所述叶节点接收到的共享计数以及第二操作码。14.根据权利要求13所述的方法,其中基于从所述状态信息中提取的操作码,对包括在所述状态信息中的共享计数进行处理,以确定对应于所述根消息的总共享计数包括:基于所述第一操作码,向所述总共享计数添加为所述根消息分配的所述预定的共享计数;以及基于所述第二操作码,从所述总共享计数中减除所述叶节点接收到的所述共享计数。15.根据权利要求12所述的方法,其中与所述根消息相对应的所述总共享计数的初始值被设定为零,并且其中基于所述总共享计数,确定所述根消息的处理状态包括:响应于所述总共享计数为零,确定所述根消息被成功处理;以及响应于所述总共享计数不为零,确定在所述根消息的处理中发生故障。16.根据权利要求12所述的方法,还包括:从添加附加共享计数的节点接收第三状态信息,其中所述第三状态信息包括所述根消息的标识符、所述附加共享计数以及第三操作码。17.根据权利要求16所述的方法,其中基于从所述状态信息中提取的操作码,对包括在所述状态信息中的共享计数进行处理,以确定对应于所述根消息的总共享计数包括:基于所述第三操作码,向所述总共享计数添加所述附加...

【专利技术属性】
技术研发人员:赵军平张峰豪曹逾陶隽孙宇熙
申请(专利权)人:伊姆西公司
类型:发明
国别省市:美国,US

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

1