CN106559166A - 用于分布式处理系统中基于指纹的状态检测方法及设备 - Google Patents
用于分布式处理系统中基于指纹的状态检测方法及设备 Download PDFInfo
- Publication number
- CN106559166A CN106559166A CN201510622302.7A CN201510622302A CN106559166A CN 106559166 A CN106559166 A CN 106559166A CN 201510622302 A CN201510622302 A CN 201510622302A CN 106559166 A CN106559166 A CN 106559166A
- Authority
- CN
- China
- Prior art keywords
- fingerprint
- node
- sent
- received
- message
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
- H04L1/0063—Single parity check
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开的实施例提供了一种分布式处理系统中基于指纹的状态检测方法和设备。所述方法包括:在根节点处,基于待传送的输出消息标识生成并发送初始指纹;在中间节点处,基于所接收的输入消息标识、待传送的输出消息标识以及所接收的指纹,生成并发送更新后的指纹;在叶节点处,将最终更新的指纹发送到任务跟踪点;以及在所述任务跟踪点处,基于所述最终更新的指纹获得状态信息。由于这种方法不从每个节点处产生流量,而是通常仅从叶节点处产生跟踪流量,因此所述方法在保证了对数据处理的可靠性的同时大幅降低了跟踪上的开销。
Description
技术领域
本公开的实施例涉及分布式数据处理领域,并更为具体地涉及用于分布式处理系统中基于指纹的状态检测方法及设备。
背景技术
分布式数据处理系统,特别是实时流系统(real-time streamingsystem)正受到广泛关注。诸如Pivotal SpringXD、Storm、SparkStreaming、Samza之类的现代实时流系统正被广泛地应用于电子商务、ETL、大数据分析等。提供一种处理能力可靠从而使得即使在节点处或网络中出现任何故障的情况下仍能确保对每个数据项目(或消息)的成功处理是十分重要的。对于这种分布式系统而言,特别是对于具有成千上万个节点或中间连接的大型系统而言,关键的挑战在于如何以高效的方式、最低的成本和对性能的最小影响来检测故障。
图1图示了一般性的分布式处理系统的拓扑图。
如图1所示的分布式处理系统的拓扑通常以有向非循环图(DAG)的方式行进。在所示的拓扑中:执行特定逻辑的节点被实施为过程/线程并被部署在多个主机中;边界表示待处理的消息。上游节点和下游节点具有“发布-订阅”的关系,可以添加更多的节点用于平衡或性能调节和/或处理流水线。存在下面两种具有不同作用的节点:
(a)根节点,其是从外部源(诸如,消息源、记录或数据库等)获取消息的任务。所获取的原始消息被称作根消息(RootMsg)。通常,拓扑具有一个根节点,根节点可能包含或可能不包含处理逻辑,并且将根消息分开或分派到下游工作节点;以及
(b)工作节点,其用于处理输入消息并通常生成用于进一步的处理的新消息。可根据特定要求配置节点之间的消息分布,所述特定要求包括诸如随机、打乱、哈希划分等。最为常见的是,除叶节点外,这些工作节点是内存中运行的进程,线程或者容器,其产生的中间数据往往不需要永久性保存。所述叶节点不包含新消息,并且可选地,所述叶节点将最终结果存储到永久性存储装置中,诸如存储在数据库或分布式文件系统(HDFS)中。
任务跟踪是一种中央监控任务,其跟踪每条RootMsg的处理状态以及其他系统层状态,如性能等。
关于可靠的数据处理,存在下面两种方式:
(a)“准确一次”的方式,其中在理想情况下,消息仅被准确地处理一次;以及
(b)“至少一次”的方式,其中消息被处理但可以被处理多于一次。
在实践中,“至少一次”的方式是更为实际的实现方式。具体而言,一旦检测到故障,则向分布式系统重该发根消息并对其进行重新处理。这种方式被一些应用(例如,满足幂等性的应用)所接受而可能不适于其他应用,例如,最终数据不能重复的应用,此时建议在叶节点处保存结果并构建逻辑以检测可能的任何重复处理并采取相应的动作(例如,丢弃重复处理的结果)。
上述两种方式的任意方式中,关键的挑战之一在于如何在最低成本情况下以可靠的且可调节的方式来检测进程故障,特别是考虑到可能存在成千上万、甚至更多的节点,且端到端(end-end)的响应时间是很重要的情况。
下面将呈现现有技术中的两种方法:
方法一是针对每一个输入消息、从每个工作节点汇报状态,然后任务跟踪点会通过跟踪每个发送的消息及其继承关系来监控状态。在分布式处理系统正常处理的情况下,在给定时间阈值(或超时设定)内,所有从消息源导出的消息(例如,如图1中所示的消息B、C、…M等)都应当被成功处理。这种方法简单直接但效率较低,这是因为每个输入消息都将承受额外的汇报流量,且任务跟踪逻辑在消息关系以及状态监控方面十分复杂,因此消耗了较多的内存和CPU。
方法二是一种改进的方法,也被称作基于异或(XOR)的算法,其大幅降低了任务跟踪的复杂性和内存使用。下面将详细说明该方法。
下面等式示出了该方法的思想:
A xor A xor B xor B xor C xor C…=0 (1)
其中,A、B或C等为“成对”出现的消息标识(或消息ID)。在理想情况下,每条消息都应准确地成对出现,即,发送出一次并接收到一次。只要没有超时(即,在预定的时间阈值内),接收顺序则不影响最终结果。在出现故障的情况下,例如,在某些消息丢失、节点崩溃、超时发生等的情况下,所监控到的状态一定为“非零”,从而将触发消息的重发。
图2图示了一个基于XOR运算的状态检查的具体示例。其中,0、1、2、…10为节点,并且A、B、…N为消息标识。
首先,需要指出如下方面:
·每个节点具有唯一标识;
·每一条信息(包括根信息和新获得的信息)都被分配有随机
生成的唯一标识(例如,64位标识);
·每一条新获得的消息具有嵌入在载荷中的元数据,诸如
<RootNodeID,RootMsgID>,其用于表示该消息的来源;并且
·Status是用来表示跟踪状态的值。
其次,可以注意到,作为常用的优化技术,可以在工作节点处成批地(或成组地)发送所处理的消息。如图2中所示,在节点9处,可以通过将例如消息标识聚集在一起来作为一个流量{J xor K xor Lxor M}来进行发送。
还可以注意到,可能会出现例如由于网络中断而无法发送某些汇报的情况,因此,基于上述规则,任务跟踪会将其视为失败(或故障),并对该根消息进行重发。但无论如何,通过设计可以使得每条消息都被至少处理一次,因此将不会忽视任何根消息发送失败的情况。
图2所示的方法示出了简单的架构设计。然而,虽然这种方法保证了对数据处理的可靠性,但这种在每个节点均需要汇报的方式使得仍存在对跟踪上的开销进行优化的空间。
总体而言,上述两种方法均产生大量额外的网络流量。因此,对于每条输入消息,每个节点将通过以太网发送小规模的跟踪流量(例如,几十个字节)。这总体上将导致多倍于消息数目的数据包。同时,随着节点和消息数目的增加,内部跟踪流量也将相应地增加,这在大规模拓扑中尤其需要引起注意。
此外,为将每条汇报流量发送,需要消耗额外的内存和CPU资源,因此,更多的中断和密集的小数据包对网卡并不友好。
此外,特别是由于从应用数据处理层到网卡缓冲器间的内存拷贝以及同步/异步处理等,使得从上游至下游的路径中的每个节点都会产生少量延迟。在具有成千上万的在运行的节点的情况下,累积的延迟可能相当大,因为对于实时流系统,端到端延迟是毫秒(ms)级的。
发明内容
为了解决上述问题,本公开的实施例提出了一种分布式处理系统中基于指纹(fingerprint,FP)的状态检测方法和设备。根据本公开的实施例的方法在保证了对数据处理的可靠性的同时大幅降低了跟踪上的开销。这种方法并不从每个节点处产生流量,而是通常仅从叶节点处产生跟踪流量。
本公开的第一方面提供了一种分布式处理系统中基于指纹的状态检测方法,包括:在根节点处,基于待传送的输出消息标识生成并发送初始指纹;在中间节点处,基于所接收的输入消息标识、待传送的输出消息标识以及所接收的指纹,生成并发送更新后的指纹;在叶节点处,将最终更新的指纹发送到任务跟踪点;以及在所述任务跟踪点处,基于所述最终更新的指纹获得状态信息。
根据本公开的示例性实施例,其中在根节点处,基于待传送的输出消息标识生成并发送初始指纹包括:接收根消息并且基于待传送的输出消息标识生成并发送初始指纹。以及在所述任务跟踪点处,基于所述最终更新的指纹获得状态信息还包括:基于所述状态信息,确定是否对所述根消息进行重新发送。
根据本公开的示例性实施例,其中所述指纹表示在所有节点处的针对输入消息标识和输出消息标识的上下文信息。
根据本公开的示例性实施例,其中所述输入消息标识和所述输出消息标识是由所述分布式处理系统指定的消息标识。
根据本公开的示例性实施例,其中在根节点处,基于待传送的输出消息标识生成并发送初始指纹包括:基于所述输出消息标识之间的异或运算生成所述初始指纹;并且将所述初始指纹连同所述输出消息标识发送到直接相连的下游节点。
根据本公开的示例性实施例,其中在中间节点处,基于所接收的输入消息标识、待传送的输出消息标识以及所接收的指纹,生成并发送更新后的指纹包括:以递归的方式,基于所接收的输入消息标识、待传送的输出消息标识以及所接收的指纹的异或运算结果,生成更新后的指纹;并且将所述更新后的指纹连同所述输出消息标识发送到直接相连的下游节点。
根据本公开的示例性实施例,其中在中间节点处,基于所接收的输入消息标识、待传送的输出消息标识以及所接收的指纹,生成并发送更新后的指纹包括:当与所述中间节点直接相连的下游节点的数目为偶数时,所述中间节点也向所述任务跟踪点发送所述更新后的指纹。
根据本公开的示例性实施例,其中在叶节点处,将最终更新的指纹发送到任务跟踪点包括:将在预定的时间阈值内接收到的最终更新的指纹连同所接收的输入消息标识发送到所述任务跟踪点处。
根据本公开的示例性实施例,其中在所述任务跟踪点处,基于所述最终更新的指纹获得状态信息包括:基于所接收的最终指纹与所接收的输入消息标识之间的异或运算获得状态信息。
根据本公开的示例性实施例,其中当与所述中间节点直接相连的下游节点的数目为偶数时,所接收的最终指纹还包括从所述中间节点处接收到的更新后的指纹。
根据本公开的示例性实施例,其中基于所述状态信息,确定是否对所述根消息进行重新发送包括:当接收到指示故障的状态信息时,重新发送所述根消息到所述根节点并重复上述方法。
本公开的第二方面提供了一种分布式处理系统中基于指纹的状态检测设备,包括:初始指纹生成装置,用于在根节点处,基于待传送的输出消息标识生成并发送初始指纹;指纹更新装置,用于在中间节点处,基于所接收的输入消息标识、待传送的输出消息标识以及所接收的指纹,生成并发送更新后的指纹;最终指纹发送装置,用于在叶节点处,将最终更新的指纹发送到任务跟踪点;以及状态确定装置,用于在所述任务跟踪点处,基于所述最终更新的指纹获得状态信息;
根据本公开的示例性实施例,其中所述设备还包括:接收装置,用于在根节点处,接收根消息;以及重发装置,用于在所述任务跟踪点处,基于所述状态信息,确定是否对所述根消息进行重新发送。
根据本公开的示例性实施例,其中所述指纹表示在所有节点处的针对输入消息标识和输出消息标识的上下文信息。
根据本公开的示例性实施例,其中所述输入消息标识和所述输出消息标识是由所述分布式处理系统指定的消息标识。
根据本公开的示例性实施例,其中所述初始指纹生成装置包括:指纹初始化单元,用于基于所述输出消息标识之间的异或运算生成所述初始指纹;以及第一发送单元,用于将所述初始指纹连同所述输出消息标识发送到直接相连的下游节点。
根据本公开的示例性实施例,其中所述指纹更新装置包括:指纹更新单元,用于以递归的方式,基于所接收的输入消息标识、待传送的输出消息标识以及所接收的指纹的异或运算结果,生成更新后的指纹;以及第二发送单元,用于将所述更新后的指纹连同所述输出消息标识发送到直接相连的下游节点。
根据本公开的示例性实施例,其中所述指纹更新装置包括:第三发送单元,用于当与所述中间节点直接相连的下游节点的数目为偶数时,从所述中间节点也向所述任务跟踪点发送所述更新后的指纹。
根据本公开的示例性实施例,其中所述最终指纹发送装置被配置为将在预定的时间阈值内接收到的最终更新的指纹连同所接收的输入消息标识发送到所述任务跟踪点处。根据本公开的示例性实施例,其中所述状态确定装置被配置为基于所接收的最终指纹与所接收的输入消息标识之间的异或运算获得状态信息。
根据本公开的示例性实施例,其中当与所述中间节点直接相连的下游节点的数目为偶数时,所接收的最终指纹还包括从所述中间节点处接收到的更新后的指纹。
根据本公开的示例性实施例,其中所述重发装置被配置为响应于接收到的指示故障的状态信息,重新发送所述根消息到所述根节点。
本公开的第三方面提供了一种用于分布式处理系统中基于指纹的状态检测的计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据本公开的第一方面所述的方法的步骤。
附图说明
此处所说明的附图用来提供对本公开的进一步理解,构成本申请的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。
图1图示了一般性的分布式处理系统的拓扑图。
图2图示了基于XOR运算的状态检查的示例。
图3示出了根据本公开的实施例的分布式处理系统中基于指纹的状态检测方法的一个示例的流程图。
图4示出了根据本公开的实施例的在一个节点处的指纹的生成的原理性示意图。
图5包括图5A和图5B,图5A图示了现有的基于XOR运算的状态检查的示例,并且图5B图示了根据本公开的实施例的基于指纹的状态检查的示例。
图6示出了根据本公开的实施例的分布式处理系统中基于指纹的状态检测方法的另一个示例的示意图。
图7示出了根据本公开的实施例的分布式处理系统中基于指纹的状态检测装置的方框图。
具体实施方式
下面将参考附图中示出的若干示例实施例来描述本公开的原理。虽然附图中显示了本公开的优选实施例,但应当理解,描述这些实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。
图3示出了根据本公开的实施例的分布式处理系统中基于指纹的状态检测方法300的一个示例的流程图。
如图3所示,方法300包括:
步骤S301:在根节点处,基于待传送的输出消息标识生成并发送初始指纹;
其中,步骤S301还可以包括向任务跟踪点发送RootMsg标识R并以此作为初始状态值,并且连同待传送的输出消息标识来共同生成并发送初始指纹;
步骤S302:在中间节点处,基于所接收的输入消息标识、待传送的输出消息标识以及所接收的指纹,生成并发送更新后的指纹;
步骤S303:在叶节点处,将最终更新的指纹发送到任务跟踪点;以及
步骤S304:在所述任务跟踪点处,基于所述最终更新的指纹获得状态信息。
需要指出,所述指纹表示在所有节点处的针对输入消息标识和输出消息标识的上下文信息。还需要指出,所述输入消息标识和所述输出消息标识是由所述分布式处理系统指定的唯一消息标识。例如,所述输入消息标识和所述输出消息标识可以是随机生成的64位标识,其可以在分布式系统中长年保持唯一性。
根据本公开的示例性实施例,步骤S301进一步包括:接收根消息并且基于待传送的输出消息标识生成并发送初始指纹。
根据本公开的示例性实施例,步骤S304进一步包括:基于所述状态信息,确定是否对所述根消息进行重新发送。
根据本公开的示例性实施例,在步骤S301处,在根节点处,基于待传送的输出消息标识生成并发送初始指纹包括:基于所述输出消息标识之间的XOR运算生成所述初始指纹;并且将所述初始指纹连同所述输出消息标识发送到直接相连的下游节点。
根据本公开的示例性实施例,步骤S302处,在中间节点处,基于所接收的输入消息标识、待传送的输出消息标识以及所接收的指纹,生成并发送更新后的指纹包括:以递归的方式,基于所接收的输入消息标识、待传送的输出消息标识以及所接收的指纹的异或运算结果,生成更新后的指纹;并且将所述更新后的指纹连同所述输出消息标识发送到直接相连的下游节点。
下面将通过图4详细地示出上述以递归的方式在整个分布式处理系统中更新指纹的步骤S302。
如图4所示,在给定的工作节点Ni和输入消息Mj的情况下,更新后的(或新的)指纹FPj+X包含了如下三个部分:
(1)向下游传递的被合并的指纹FPj:其表示上游消息发送状态;
(2)输入消息标识Mj:其表示输入消息Mj已被成功地处理;
(3)新获得的消息摘要(即,聚集的对消息标识的XOR运算):其表示当前节点处的消息标识的上下文信息。例如,在给定节点和输入的情况下,可以前摄地、成批地生成新的消息标识。因此,可以通过下面等式而一次性地计算消息摘要:
其中,FPj是节点Ni收到的向下传递的被聚集的指纹;Mj是输入消息标识;Mj+1、Mj+2、Mj+3等为新获得的消息的指纹,且被为所述消息摘要。
如上述等式(2)所描述的对指纹具有如下三个重要特性:
嵌入特性:作为元数据的一部分,指纹被嵌入在消息载荷中,在任意XOR运算之后其仍在内存中保持紧凑性(例如,内存开销一直保持为64位);
递归特性:上游指纹信息被包含并被继承到新生成的消息中;这种包含不仅仅是复制而是如下面所述的追加式更新;以及
追加更新特性:进行追加更新的方式使得可以抽象化当前节点的消息的上下文(其由聚合的消息标识的XOR运算所表示),并随后(通过XOR运算)将其与消息标识一起追加到继承的指纹中。这样,指纹信息可以递归地沿各层节点继续传递,并且每个消息都可以通过指纹意识到来自根节点的上下文信息。
注意到,可以将步骤S301中的在根节点处的基于待传送的输出消息标识生成并发送初始指纹的步骤视为S302的一种特殊情况。这是因为,在根节点处不存在上游消息,因此上游指纹FPj(即,等式(2)中的第一部分)为0,由此,在根节点处,仅仅基于待传送的输出消息标识(即,Mj+1、Mj+2、Mj+3等)和RootMsg标识(R)来生成初始指纹。
注意到,同样可以将步骤S303中的将在叶节点处的最终更新的指纹发送到任务跟踪点的步骤视为S302的一种特殊情况。这是因为,在叶节点处不再有新获得的消息出现,因此等式(2)中的第三部分为0,由此在叶节点处不存在更新的指纹。
图5(包括图5A和图5B)以示例方式具体地示出了现有的基于XOR运算(但不基于指纹)的状态检查(图5A)与根据本公开的实施例的基于指纹的状态检查(图5B)之间的比较。
图5A中,A’、B’、C’,以及A、B、C为消息标识,并且编号0、1、2、3、4为节点。这些节点中,0为根节点、4为叶及节点、且1、2、3为中间节点。如图中虚线所指示的,当每个节点对消息进行成功处理后,均向任务跟踪节点发送汇报消息。如图5A所示,基于所有汇报的XOR计算,表示最终状态的结果为0,即,每一条消息都被成功地发送一次并接收一次。但由于在每个节点处均需要向任务跟踪点发送汇报消息,因此,将导致多至7条汇报(尽管在A’、B’、C’作为一批而同时发送时,可以将汇报的数目降至5条)。
下面参考图5B,图5B中所示的拓扑与图5A中所示的拓扑完全相同,而不同之处在于,图5B中示出了根据本公开的实施例的基于指纹的状态检查的示例。其中,与图5A中相同的附图标记在图5B中指代相同的元素。
在图5B中,根据步骤S301和S302,可以在每个节点处产生指纹。具体而言,在根节点0处生成初始指纹并且在工作节点1、2和3处分别生成更新的指纹FP1、FP2和FP3。利用上述公式(2)可以得到:
接下来,方法进行到步骤S303。如图5B所示,仅在叶节点4处,将最终更新的指纹发送到任务跟踪点。
根据本公开的示例性实施例,在叶节点4处,将最终更新的指纹发送到任务跟踪点包括将在预定的时间阈值内接收到的最终更新的指纹(FP1、FP2和FP3)连同所接收的输入消息标识(A’、B’和C’)发送到所述任务跟踪点处。如上面所描述的,在出现例如由于网络中断而无法在预定的时间阈值内接收到某些汇报的情况时,任务跟踪点会将其视为失败(或故障),并触发对该根消息的重发。
接下来,方法进行到步骤S304。在步骤S304中,在所述任务跟踪点处,基于所述最终更新的指纹获得状态信息包括:基于所接收的最终指纹与所接收的输入消息标识之间的XOR运算获得状态信息。
根据本公开的示例性实施例,继续参考图5B,如果每个节点对消息均进行了成功的处理,则基于上述等式(2)的指纹计算方法以及上述方法的步骤,得到表示最终状态的结果为0,具体计算过程如下:其中R是根节点发送的初始状态值。
如果任意节点对任意消息的处理失败,则所监控到的状态肯定为“非零”。同样以图5B为例,如果A’未能处理成功,则仅存在2条来自节点4的汇报。这种情况下,表示最终状态的结果将一定不为零。具体计算过程如下:
又例如,如果所有节点都失败(一种极限情况),将没有汇报被发送到跟踪节点,则最终状态等于初始状态(R)同样不为零(≠0)。
根据本公开的示例性实施例,在中间节点处,基于所接收的输入消息标识、待传送的输出消息标识以及所接收的指纹,生成并发送更新后的指纹还包括:当与所述中间节点直接相连的下游节点的数目为偶数时,所述中间节点也向所述任务跟踪点发送所述更新后的指纹。并且,当与所述中间节点直接相连的下游节点的数目为偶数时,所接收的最终指纹还包括从所述中间节点处接收到的更新后的指纹。
图6示出了根据本公开的实施例的分布式处理系统中基于指纹的状态检测方法的另一个示例的示意图,其中中间节点2的下游节点数目为偶数(即,两个节点:节点7和节点8)。注意到,图6中所示的拓扑与图2中所示的拓扑相同。
这种情况下,还需从节点2处发送额外的指纹。这是因为需要确保一个指纹被分派奇数次(1、3、5等),这样,一旦所有新获得的消息被成功处理,它们都将隐含地包括一个完整的指纹,因此,最终所有指纹为偶数。具体计算结果如下:
则最终状态跟踪的结果为:
其中,
根据本公开的示例性实施例,基于所述状态信息,确定是否对所述根消息进行重新发送包括:当接收到指示故障的状态信息时,例如当最终状态结果不为零时,重新发送所述根消息到所述根节点并重复上述方法。
通过比较具有相同拓扑的图6与图2,传统的检测方法需要多至15条流量(如果在叶节点处不成批的处理),而本公开所述的方法仅需要7条流量(如图6中虚线所指示的),这使得流量减少了大约50%。另外,XOR运算的结合律和交换律使得汇报的顺序在本公开所述的方法中将不被限定,并且汇报消息可以自由组合。
图7示出了根据本公开的实施例的分布式处理系统中基于指纹的状态检测装置的方框图700。该装置包括:初始指纹生成装置701,用于在根节点处,基于待传送的输出消息标识生成并发送初始指纹;指纹更新装置702,用于在中间节点处,基于所接收的输入消息标识、待传送的输出消息标识以及所接收的指纹,生成并发送更新后的指纹;最终指纹发送装置703,用于在叶节点处,将最终更新的指纹发送到任务跟踪点;以及状态确定装置704,用于在所述任务跟踪点处,基于所述最终更新的指纹获得状态信息。
根据本公开的示例性实施例,所述设备700还包括:接收装置,用于在根节点处,接收根消息;以及重发装置,用于在所述任务跟踪点处,基于所述状态信息,确定是否对所述根消息进行重新发送。
需要指出,所述指纹表示在所有节点处的针对输入消息标识和输出消息标识的上下文信息。还需要指出,所述输入消息标识和所述输出消息标识是由所述分布式处理系统指定的消息标识。
根据本公开的示例性实施例,所述初始指纹生成装置701进一步包括:指纹初始化单元,用于基于所述输出消息标识之间的异或运算生成所述初始指纹;以及第一发送单元,用于将所述初始指纹连同所述输出消息标识发送到直接相连的下游节点。
根据本公开的示例性实施例,所述指纹更新装置702进一步包括:指纹更新单元,用于以递归的方式,基于所接收的输入消息标识、待传送的输出消息标识以及所接收的指纹的异或运算结果,生成更新后的指纹;以及第二发送单元,用于将所述更新后的指纹连同所述输出消息标识发送到直接相连的下游节点。
根据本公开的示例性实施例,所述指纹更新装置702还包括:第三发送单元,用于当与所述中间节点直接相连的下游节点的数目为偶数时,从所述中间节点也向所述任务跟踪点发送所述更新后的指纹。
根据本公开的示例性实施例,所述最终指纹发送装置703被配置为将在预定的时间阈值内接收到的最终更新的指纹连同所接收的输入消息标识发送到所述任务跟踪点处。
根据本公开的示例性实施例,所述状态确定装置704被配置为基于所接收的最终指纹与所接收的输入消息标识之间的异或运算获得状态信息。
根据本公开的示例性实施例,当与所述中间节点直接相连的下游节点的数目为偶数时,所接收的最终指纹还包括从所述中间节点处接收到的更新后的指纹。
根据本公开的示例性实施例,所述重发装置被配置为响应于接收到的指示故障的状态信息,重新发送所述根消息到所述根节点。
综上所述,本公开的各种实施例提供了一种分布式处理系统中基于指纹的状态检测方法和设备。由于这种方法不从每个节点处产生流量,而是通常仅从叶节点处产生跟踪流量,因此本公开的所述方法在保证了对数据处理的可靠性的同时大幅降低了跟踪上的开销。
以上所述仅为本公开的可选实施例,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等效替换、改进等,均应包含在本公开的保护范围之内。
Claims (23)
1.一种分布式处理系统中基于指纹的状态检测方法,包括:
在根节点处,基于待传送的输出消息标识生成并发送初始指纹;
在中间节点处,基于所接收的输入消息标识、待传送的输出消息标识以及所接收的指纹,生成并发送更新后的指纹;
在叶节点处,将最终更新的指纹发送到任务跟踪点;以及
在所述任务跟踪点处,基于所述最终更新的指纹获得状态信息。
2.根据权利要求1所述的方法,其中
在根节点处,基于待传送的输出消息标识生成并发送初始指纹包括:
接收根消息并且基于所述待传送的输出消息标识生成并发送所述初始指纹;
在所述任务跟踪点处,基于所述最终更新的指纹获得状态信息还包括:
基于所述状态信息,确定是否对所述根消息进行重新发送。
3.根据权利要求1所述的方法,其中所述指纹表示在所有节点处的针对输入消息标识和输出消息标识的上下文信息。
4.根据权利要求1所述的方法,其中所述输入消息标识和所述输出消息标识是由所述分布式处理系统指定的消息标识。
5.根据权利要求1所述的方法,其中在根节点处,基于待传送的输出消息标识生成并发送初始指纹包括:
基于所述输出消息标识之间的异或运算生成所述初始指纹;并且
将所述初始指纹连同所述输出消息标识发送到直接相连的下游节点。
6.根据权利要求1所述的方法,其中在中间节点处,基于所接收的输入消息标识、待传送的输出消息标识以及所接收的指纹,生成并发送更新后的指纹包括:
以递归的方式,基于所接收的输入消息标识、所述待传送的输出消息标识以及所接收的指纹的异或运算结果,生成所述更新后的指纹;并且
将所述更新后的指纹连同所述输出消息标识发送到直接相连的下游节点。
7.根据权利要求1所述的方法,其中在中间节点处,基于所接收的输入消息标识、待传送的输出消息标识以及所接收的指纹,生成并发送更新后的指纹包括:
当与所述中间节点直接相连的下游节点的数目为偶数时,所述中间节点也向所述任务跟踪点发送所述更新后的指纹。
8.根据权利要求1所述的方法,其中在叶节点处,将最终更新的指纹发送到任务跟踪点包括:
将在预定的时间阈值内接收到的最终更新的指纹连同所接收的输入消息标识发送到所述任务跟踪点处。
9.根据权利要求1所述的方法,其中在所述任务跟踪点处,基于所述最终更新的指纹获得状态信息包括:
基于所接收的最终指纹与所接收的输入消息标识之间的异或运算获得所述状态信息。
10.根据权利要求9所述的方法,其中当与所述中间节点直接相连的下游节点的数目为偶数时,所接收的最终指纹还包括从所述中间节点处接收到的更新后的指纹。
11.根据权利要求2所述的方法,其中基于所述状态信息,确定是否对所述根消息进行重新发送包括:
当接收到指示故障的状态信息时,重新发送所述根消息到所述根节点并重复上述方法。
12.一种分布式处理系统中基于指纹的状态检测设备,包括:
初始指纹生成装置,用于在根节点处,基于待传送的输出消息标识生成并发送初始指纹;
指纹更新装置,用于在中间节点处,基于所接收的输入消息标识、待传送的输出消息标识以及所接收的指纹,生成并发送更新后的指纹;
最终指纹发送装置,用于在叶节点处,将最终更新的指纹发送到任务跟踪点;以及
状态确定装置,用于在所述任务跟踪点处,基于所述最终更新的指纹获得状态信息。
13.根据权利要求12所述的设备,其中所述设备还包括:
接收装置,用于在根节点处,接收根消息;以及
重发装置,用于在所述任务跟踪点处,基于所述状态信息,确定是否对所述根消息进行重新发送。
14.根据权利要求12所述的设备,其中所述指纹表示在所有节点处的针对输入消息标识和输出消息标识的上下文信息。
15.根据权利要求12所述的设备,其中所述输入消息标识和所述输出消息标识是由所述分布式处理系统指定的消息标识。
16.根据权利要求12所述的设备,其中所述初始指纹生成装置包括:
指纹初始化单元,用于基于所述输出消息标识之间的异或运算生成所述初始指纹;以及
第一发送单元,用于将所述初始指纹连同所述输出消息标识发送到直接相连的下游节点。
17.根据权利要求12所述的设备,其中所述指纹更新装置包括:
指纹更新单元,用于以递归的方式,基于所接收的输入消息标识、所述待传送的输出消息标识以及所接收的指纹的异或运算结果,生成所述更新后的指纹;以及
第二发送单元,用于将所述更新后的指纹连同所述输出消息标识发送到直接相连的下游节点。
18.根据权利要求12所述的设备,其中所述指纹更新装置包括:
第三发送单元,用于当与所述中间节点直接相连的下游节点的数目为偶数时,从所述中间节点也向所述任务跟踪点发送所述更新后的指纹。
19.根据权利要求12所述的设备,其中所述最终指纹发送装置被配置为将在预定的时间阈值内接收到的最终更新的指纹连同所接收的输入消息标识发送到所述任务跟踪点处。
20.根据权利要求12所述的设备,其中所述状态确定装置被配置为基于所接收的最终指纹与所接收的输入消息标识之间的异或运算获得状态信息。
21.根据权利要求20所述的设备,其中当与所述中间节点直接相连的下游节点的数目为偶数时,所接收的最终指纹还包括从所述中间节点处接收到的更新后的指纹。
22.根据权利要求13所述的设备,其中所述重发装置被配置为响应于接收到的指示故障的状态信息,重新发送所述根消息到所述根节点。
23.一种用于分布式处理系统中基于指纹的状态检测的计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求1至11任一项所述的方法的步骤。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510622302.7A CN106559166B (zh) | 2015-09-25 | 2015-09-25 | 用于分布式处理系统中基于指纹的状态检测方法及设备 |
US15/271,357 US10491498B2 (en) | 2015-09-25 | 2016-09-21 | Method and device for fingerprint based status detection in a distributed processing system |
US16/659,972 US10862786B2 (en) | 2015-09-25 | 2019-10-22 | Method and device for fingerprint based status detection in a distributed processing system |
US16/696,538 US20200099604A1 (en) | 2015-09-25 | 2019-11-26 | Method and device for fingerprint based status detection in a distributed processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510622302.7A CN106559166B (zh) | 2015-09-25 | 2015-09-25 | 用于分布式处理系统中基于指纹的状态检测方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106559166A true CN106559166A (zh) | 2017-04-05 |
CN106559166B CN106559166B (zh) | 2020-07-17 |
Family
ID=58401287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510622302.7A Active CN106559166B (zh) | 2015-09-25 | 2015-09-25 | 用于分布式处理系统中基于指纹的状态检测方法及设备 |
Country Status (2)
Country | Link |
---|---|
US (3) | US10491498B2 (zh) |
CN (1) | CN106559166B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107947830A (zh) * | 2017-11-15 | 2018-04-20 | 电子科技大学 | 一种可抵抗多径干扰的射频指纹识别方法 |
CN111526068A (zh) * | 2020-04-29 | 2020-08-11 | 华为技术有限公司 | 故障上报方法及终端 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106559166B (zh) | 2015-09-25 | 2020-07-17 | 伊姆西Ip控股有限责任公司 | 用于分布式处理系统中基于指纹的状态检测方法及设备 |
US11379308B2 (en) * | 2018-12-10 | 2022-07-05 | Zoox, Inc. | Data processing pipeline failure recovery |
CN111064641B (zh) * | 2019-12-31 | 2021-07-02 | 上海焜耀网络科技有限公司 | 一种去中心化存储网络的节点性能检测系统及方法 |
CN113762910B (zh) * | 2020-11-27 | 2024-04-16 | 北京京东振世信息技术有限公司 | 一种单据监控方法和装置 |
CN113742075B (zh) * | 2021-09-07 | 2024-04-09 | 北京百度网讯科技有限公司 | 基于云端分布式系统的任务处理方法、装置及系统 |
CN115208954B (zh) * | 2022-06-07 | 2024-04-26 | 北京一流科技有限公司 | 用于分布式数据处理系统的并行策略预置系统及其方法 |
US11962558B1 (en) * | 2022-10-24 | 2024-04-16 | Amdocs Development Limited | System, method, and computer program for an exactly once messaging protocol in a publish-subscribe messaging system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110116719A1 (en) * | 2009-11-18 | 2011-05-19 | Auditude, Inc. | Media Identification System for Efficient Matching of Media Items Having Common Content |
US20130019061A1 (en) * | 2011-07-14 | 2013-01-17 | Dell Products L.P. | Data transfer reduction in scale out architectures |
US9042918B2 (en) * | 2011-10-03 | 2015-05-26 | Telefonaktiebolaget L M Ericsson (Publ) | Using fingerprints in proximity detection of wireless devices |
CN104657507A (zh) * | 2015-03-16 | 2015-05-27 | 华为技术有限公司 | 基于分布式系统的图数据的模式检测方法和装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8380630B2 (en) * | 2000-07-06 | 2013-02-19 | David Paul Felsher | Information record infrastructure, system and method |
WO2002005061A2 (en) * | 2000-07-06 | 2002-01-17 | David Paul Felsher | Information record infrastructure, system and method |
EP1622301B1 (en) * | 2002-09-17 | 2007-06-27 | Errikos Pitsos | Methods and system for providing a public key fingerprint list in a PK system |
US9818136B1 (en) * | 2003-02-05 | 2017-11-14 | Steven M. Hoffberg | System and method for determining contingent relevance |
CN102804861B (zh) * | 2009-06-24 | 2016-04-06 | 瑞典爱立信有限公司 | 蜂窝电信系统中的方法和布置 |
EP2842296A2 (en) * | 2012-04-27 | 2015-03-04 | Interdigital Patent Holdings, Inc. | Method and apparatuses for supporting proximity discovery procedures |
US9965608B2 (en) * | 2013-07-18 | 2018-05-08 | Samsung Electronics Co., Ltd. | Biometrics-based authentication method and apparatus |
US9754217B2 (en) * | 2015-05-01 | 2017-09-05 | Cirius Messaging Inc. | Data leak protection system and processing methods thereof |
US9955316B2 (en) * | 2015-07-20 | 2018-04-24 | Blackberry Limited | Indoor positioning systems and meeting room occupancy |
CN106559166B (zh) | 2015-09-25 | 2020-07-17 | 伊姆西Ip控股有限责任公司 | 用于分布式处理系统中基于指纹的状态检测方法及设备 |
-
2015
- 2015-09-25 CN CN201510622302.7A patent/CN106559166B/zh active Active
-
2016
- 2016-09-21 US US15/271,357 patent/US10491498B2/en active Active
-
2019
- 2019-10-22 US US16/659,972 patent/US10862786B2/en active Active
- 2019-11-26 US US16/696,538 patent/US20200099604A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110116719A1 (en) * | 2009-11-18 | 2011-05-19 | Auditude, Inc. | Media Identification System for Efficient Matching of Media Items Having Common Content |
US20130019061A1 (en) * | 2011-07-14 | 2013-01-17 | Dell Products L.P. | Data transfer reduction in scale out architectures |
US9042918B2 (en) * | 2011-10-03 | 2015-05-26 | Telefonaktiebolaget L M Ericsson (Publ) | Using fingerprints in proximity detection of wireless devices |
CN104657507A (zh) * | 2015-03-16 | 2015-05-27 | 华为技术有限公司 | 基于分布式系统的图数据的模式检测方法和装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107947830A (zh) * | 2017-11-15 | 2018-04-20 | 电子科技大学 | 一种可抵抗多径干扰的射频指纹识别方法 |
CN111526068A (zh) * | 2020-04-29 | 2020-08-11 | 华为技术有限公司 | 故障上报方法及终端 |
CN111526068B (zh) * | 2020-04-29 | 2023-07-11 | 华为技术有限公司 | 故障上报方法及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN106559166B (zh) | 2020-07-17 |
US10491498B2 (en) | 2019-11-26 |
US20200099604A1 (en) | 2020-03-26 |
US20200052990A1 (en) | 2020-02-13 |
US10862786B2 (en) | 2020-12-08 |
US20170093672A1 (en) | 2017-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106559166A (zh) | 用于分布式处理系统中基于指纹的状态检测方法及设备 | |
CN110445653B (zh) | 网络状态预测方法、装置、设备及介质 | |
US11294756B1 (en) | Anomaly detection in a network | |
US20220368626A1 (en) | Packet or frame replication and elimination with explict or implict notification to reset sequence number recovery | |
US20170324557A1 (en) | Information processing apparatus and method for authenticating message | |
Qin et al. | A survey on network tomography with network coding | |
CN106919622A (zh) | 用于分布式数据处理的方法和设备 | |
CN109032610B (zh) | 一种程序包部署方法、电子设备及分布式系统 | |
KR102147750B1 (ko) | 컴퓨터, 상기 컴퓨터를 포함하는 통신 유닛, 상기 유닛을 포함하는 철도 관리 시스템, 및 컴퓨터 내에서 데이터 신뢰도를 개선하는 방법 | |
Sohn et al. | Covert channel detection in the ICMP payload using support vector machine | |
CN103684684A (zh) | 用于处理端到端网络连接的无线段上的分组的方法和系统 | |
Zhang et al. | Service failure diagnosis in service function chain | |
Kumar et al. | Implementing♢ P with bounded messages on a network of ADD channels | |
US11398945B2 (en) | System and method for fault detection and root cause analysis in a network of network components | |
Poolsappasit et al. | A secure data aggregation based trust management approach for dealing with untrustworthy motes in sensor network | |
CN106332131B (zh) | 一种无线传感器网络的克隆节点检测方法和系统 | |
CN111669277A (zh) | 一种区块链上基于vrf和实用拜占庭算法的共识方法 | |
Viana et al. | Codiagnosability of timed networked discrete-event systems subject to event communication delays and intermittent loss of observation | |
CN107251519B (zh) | 用于检测通信网络上的假信息的攻击的系统、方法和介质 | |
JP2019029921A (ja) | 送信装置、受信装置、及び通信方法 | |
Khosravi et al. | Autonomous fault-diagnosis and decision-making algorithm for determining faulty nodes in distributed wireless networks | |
Pechenkin et al. | Modeling the search for vulnerabilities via the fuzzing method using an automation representation of network protocols | |
CN105471839A (zh) | 一种判断路由器数据是否被窜改的方法 | |
JP6310405B2 (ja) | サービス影響原因推定装置、サービス影響原因推定プログラム、及びサービス影響原因推定方法 | |
TWI516140B (zh) | A fault - tolerant method and network node for packet transmission of network nodes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200421 Address after: Massachusetts, USA Applicant after: EMC IP Holding Company LLC Address before: Ma Sazhusaizhou Applicant before: EMC Corp. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |