CN110431824A - 通过对等消息彼此通信的节点的计算机网络以及关联的用于使节点之间互连的方法 - Google Patents
通过对等消息彼此通信的节点的计算机网络以及关联的用于使节点之间互连的方法 Download PDFInfo
- Publication number
- CN110431824A CN110431824A CN201780086742.2A CN201780086742A CN110431824A CN 110431824 A CN110431824 A CN 110431824A CN 201780086742 A CN201780086742 A CN 201780086742A CN 110431824 A CN110431824 A CN 110431824A
- Authority
- CN
- China
- Prior art keywords
- node
- message
- generation side
- consumer nodes
- interconnection
- 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
- 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
- H04L67/104—Peer-to-peer [P2P] networks
-
- 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
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1046—Joining mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/005—Discovery of network devices, e.g. terminals
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及通过对等消息彼此通信的节点(1、2)的计算机网络,消息生成方节点(1)将其生成的消息发送到消息消费方节点(2),在网络(6)的另一级别处消费方节点(2)还能够是生成方节点(1),其中,每个消息生成方节点(1):从在网络中被登记为有效的节点(1、2)中选择该消息生成方节点的消费方节点(2),以便与所选择的消费方节点互连;使其互连的消费方节点(2)的列表保持最新;通过下述方式来管理其生成的消息到其互连的消费方节点(2)的负载分配,所述方式为根据其互连的消费方节点(2)对其生成的消息的处理时间,将其生成的消息首先发送到具有低处理时间的其互连的消费方节点;并且,通过下述方式来修改其互连的消费方节点(2)的列表,所述方式为根据其互连的消费方节点(2)对其生成的消息的处理时间,从其列表中至少暂时地删除其互连的消费方节点(2)中的那些太慢的消费方节点。
Description
技术领域
本发明涉及经由对等消息彼此通信的节点的网络领域,并且涉及用于使经由对等消息彼此通信的节点的网络中的节点之间互连的方法的领域。
所讨论的节点的网络例如是微服务架构,其中的微服务分别分布在可能的多个机器上,该多个机器例如具有彼此不同的地址,例如不是全部位于同一网络上,并且例如具有不同的计算能力。此外,每个微服务可以具有可能无限的寿命。该微服务架构的异构特性使其关于无法估量的事件诸如局部失效较脆弱,并因此难以管理。
背景技术
节点的网络将首先在初始阶段中使节点彼此互连,以便允许其节点彼此通信,然后将随后在网络的生命期间在更新阶段中维护和调整网络的节点之间的互连。
例如,消息分配系统将使微服务通过消息传递系统彼此通信。为此,该消息分配系统可以使用以消息代理为中心的实现方案。
从现有技术中获知第一类型的交换对等消息的节点的网络和关联的互连方法,该网络和方法都是由中心互连设备管理的。该第一类型的现有技术网络和方法的一个缺点是该中心互连设备是网络中的薄弱环节(即单点失效或者SPF),中心互连设备的失效将破坏网络的运行并且显著地降低该网络关于如何有效地传输和处理消息的性能,即使这种失效是临时的也是如此。
例如,基于消息代理的系统可以是集中式的(诸如例如在“RabbitMQ”或者“ActiveMQ”中),但是这种系统之后具有很大的限制,因为该集中式系统将是可能破坏网络的运行并降低该网络的能力的单点失效。
还从现有技术中获知第二类型的交换对等消息的节点的网络和关联的互连方法,该网络和方法都是完全分布式的。该第二类型的现有技术网络和方法的一个缺点是:一旦在网络内交换的消息的大小变大,归因于特别是交换对等消息的节点的网络中的这种完全分布式的特性的鲁棒性就变成弱点,因为对等通信网络中的大量完全分布式的数据交换将具有使网络饱和并因此还使该网络关于如何有效地传输和处理消息的性能降低的趋势。
例如,基于消息代理的系统可以是分布式的(例如在“Kafka”中),但是其具有很大的限制,因为一旦需要传递的消息的大小和量变得太大,这种分布式系统将在运行上变得受限制。
发明内容
本发明的目的是提供至少部分地缓解上述缺点的节点网络和/或互连方法。
更具体地,本发明旨在提供在下述两方面之间实现良好折衷的节点网络和/或互连方法,所述两方面中的一方面是网络的运行的鲁棒性,所述两方面中的另一方面是该网络的运行效率。
具体地,一方面,网络的运行的鲁棒性将允许节点网络继续运行,即允许该网络的节点继续彼此交换消息,即使给定的部件例如中心部件失效——至少在最常见的临时失效的情况下——也是如此。
另一方面,该网络的运行效率将允许网络节点继续优化传输和处理交换的消息所花费的时间,即使给定的部件例如中心部件失效——至少在最常见的临时失效的情况下——也是如此。
为了在网络的运行鲁棒性和运行效率之间实现这种折衷,本发明提出了一种网络,其中,一方面生成方(producer,生产者、发送方、生成器)节点各自生成其自己的消费方(consumer,消费者、使用方、消费器)节点本身的列表,从而保证生成方节点关于网络中的潜在失效点的自主性,并且另一方面,每个生成方节点通过下述方式来优化该生成方节点的消费方节点的列表,所述方式为根据处理其生成的消息所花费的时间,从其列表中至少暂时地删除太慢而不能处理从与该列表对应的生成方节点接收的所生成的消息的消费方节点。
为此目的,本发明提出了经由对等消息彼此通信的节点的计算机网络,消息生成方节点将其生成的消息发送到消息消费方节点,在网络的另一级别处消费方节点还可以是生成方节点,其中,每个消息生成方节点:从在网络中被登记为有效(active,有作用的)的节点中选择该消息生成方节点的消费方节点,以便与所选择的消费方节点互连;使该消息生成方节点的互连的消费方节点的列表保持最新(keep up-to-date,不断更新);通过下述方式来管理该消息生成方节点生成的消息的负载在其互连的消费方节点之间的分配,所述方式为根据由其互连的消费方节点处理其生成的消息所花费的时间,将其生成的消息首先发送到处理时间最短的其互连的消费方节点;通过下述方式来修改其互连的消费方节点的列表,所述方式为根据由其互连的消费方节点处理其生成的消息所花费的时间,从其列表中至少暂时地删除太慢的其互连的消费方节点。
为此目的,本发明还提出了根据本发明的用于在计算机网络中的节点之间进行互连和通信的方法。
为此目的,本发明还提出了用于在经由对等消息彼此通信的节点的计算机网络中的节点之间进行互连的方法,消息生成方节点将其生成的消息发送到消息消费方节点,在网络的另一级别处消费方节点还可以是生成方节点,其中,每个消息生成方节点:从在网络中被登记为有效的节点中选择该消息生成方节点的消费方节点,以便与所选择的消费方节点互连;使该消息生成方节点的互连的消费方节点的列表保持最新;通过下述方式来修改该消息生成方节点的互连的消费方节点的列表,所述方式为根据由该消息生成方节点的消费方节点处理该消息生成方节点生成的消息所花费的时间,从该消息生成方节点的列表中至少暂时地删除太慢的其互连的消费方节点。
根据本发明的优选实施方式,交换的数据的非常大量的特性和处理这些交换的数据的关键实时特性使得使用根据本发明的节点网络和关联的互连方法特别有利。
根据本发明的优选实施方式,网络将使用自适应的并且高度地能复原的对等消息传递系统。该系统将允许经由功能上与数据总线相同的通信信道在微服务之间建立通信,但其的实现是基于微服务本身之间的直接通信。在该架构中,每个微服务负责维护其在网络中的对等体的列表,并且用于在分配消息期间在这些对等体之间分配负载。该系统使得可以在能够抵抗标度变化、甚至是相当大的标度变化的微服务之间创建数据流,同时保留对节点的消失或者网络中通信链路的断路的高复原性。
根据优选的实施方式,本发明包括下述特征中的一个或多个特征,其可以被单独使用、或者与本发明的上述主题中的任一个主题部分地组合在一起或者全部组合在一起使用。
优选地,节点向网络中的集中式登记方(register,寄存器)登记为在网络中有效,该登记方至少向网络的所有有效生成方节点并且优选地向网络的所有有效节点广播网络的至少所有有效消费方节点的列表,并且优选地广播网络的所有有效节点的列表。广播是与交换对等消息不同的通信模式。
优选地,所述登记方不为给定的特定生成方节点建立其互连的消费方节点的列表,并且所述登记方不向给定的特定生成方节点发送其互连的消费方节点的列表。
一个优点是,一旦形成,节点的网络关于登记方服务变得自主,没有该登记方服务,该网络可以在该登记方的有限持续时间的失效期间暂时正常地运行。
与此相反,登记方的正确运行至少在一些时间仍然有用,只要仅登记方可以向各个生成方节点发信号通知网络的拓扑中已经发生的改变,从而允许这些生成方节点各自更新其消费方节点的列表,以这种方式允许每个生成方节点利用在关于节点网络的瞬时拓扑的效率方面被优化的消费方节点的列表运行。替代性地,由各个生成方节点以分布式的方式管理网络的拓扑变化仍然是可能的,但是这降低了网络的运行效率。
因此,向每个生成方节点分配其消费方节点的列表的管理一方面使网络的单个拓扑的集中式管理与其连续更新关联,并且另一方面在网络的运行鲁棒性与运行效率之间的折衷中实现了大量附加改进。
优选地,只要节点能够处理消息,则节点在网络中就周期性地向登记方登记为有效,登记周期优选地短于或等于10秒,错过至少两个登记周期并且优选地至少一个登记周期的任何有效节点被登记方从有效节点的列表中删除。因此,即使这种周期性登记对每个消费方节点有点冗余,但相比之下其允许进一步改进网络的运行鲁棒性和运行效率之间的折衷,只要其具有下述效果:暂时地删除任何失效的消费方节点,并且删除任何失效的消费方节点仅达在一个登记周期的持续时间内的时间长度、等同于该消费方节点的失效的持续时间的时间长度。
优选地,每个消息生成方节点能够通过下述方式来修改其互连的消费方节点的列表:所述方式为如果新登记的消费方节点能够消费由所述生成方节点生成的消息,则能够向其列表添加新登记的消费方节点。因此,每个生成方节点允许其消费方节点的列表被实时改进,并且因此允许该生成方节点在被发送的所生成的消息方面的负载管理也被实时改进。
优选地,每个消费方节点至少针对从生成方节点接收的某些消息发送处理这些消息所花费的时间,或者实际上发送代表处理这些消息所花费的时间的权重,上述所花费的时间代表这些消息到达所述消费方节点的时间与这些消息在经转换后可能从所述消费方节点离开的时间之间的差,每个生成方节点优选地将处理时间评估请求添加到该生成方节点发送给各个其互连的消费方节点的消息中的所有消息或一些消息。这样,每个消费方节点可以更新其列表中的所有消费方节点的性能,并且相应地调整对其生成的消息的负载的管理,并且可以按其喜欢经常这样做,要实现这一点,该生成方节点要做的就是选择其生成的消息中被添加处理时间评估请求的消息所占的比例。
优选地,每个消息生成方节点通过下述方式来管理其生成的消息的负载在其互连的消费方节点之间的分配:所述方式为根据由其互连的消费方节点发送的处理时间或者实际上权重,将较多生成的消息发送到处理时间最短的或者实际上其权重对应于最短的处理时间的互连的消费方节点。因此,每个生成方节点改进其生成的消息的负载的管理,从而改进在网络中传输生成的消息以及处理生成的消息的整体效率。
优选地,每个生成方节点针对其互连的消费方节点中的每个消费方节点随时间推移计算移动平均权重,生成方节点使用该移动平均权重来管理其生成的消息的负载在其互连的消费方节点之间的分配。以这种方式,计算出的参数非常能代表由消费方节点接收的所生成的消息被处理的速度,而不太能代表该参数的偶然变化被平滑化,降低了由于该参数的变化引起的不稳定性风险和控制偏差风险。
优选地,每个生成方节点以加权随机方式加载其互连的消费方节点,使得其互连的消费方节点将接收由所述生成方节点生成的消息的概率取决于通过所述互连的消费方节点的权重加权的随机抽取。在避免使非常高性能的消费方节点过载以防止它们倒下——网络不稳定性的因素——的同时,这种加权随机负载管理在下述两方面之间实现了良好折衷,所述两方面中的一方面是所有可用的消费方节点的公平和分布式使用,其为改进网络的操作运行的鲁棒性的因素,所述两方面中的另一方面是网络的运行效率,最快的消费方节点被优先和最经常使用。
优选地,每个节点是与至少一个其他节点交换消息的微服务,每个微服务是:处理器,该处理器处理从网络的节点接收的数据,以便然后将这些经处理的数据发送到网络的另一节点,所述处理优选地限于在这些数据上执行的单个处理任务;或者源,该源生成要被注入到网络中到达至少一个处理器的数据;或者接收器(sink,转发器、变换器),该接收器将由至少一个处理器处理的数据导出到作为网络的第三方的系统。这种类型的网络特别适合于使用本发明,只要其节点对许多数据执行很多相对简单的操作。
优选地,处理器中的至少一个处理器、优选地处理器中的大多数处理器、并且甚至更优选地处理器中的所有处理器过滤接收的数据,然后将它们路由到网络中的不同类型的节点。这是在大量的数据上执行大量简单操作的特别有代表性的示例。
优选地,一种类型的生成方节点是根据标准的满足将接收的消息分开的过滤器,以便根据所述标准被满足、还是所述标准没有被满足、还是所述标准可能被满足,来相应地将接收到的消息路由到三种类型的消费方节点。再次,这是一种简单的操作,但是是一种必须非常快速并且很多次执行的操作。
在第一优选实施方式中,消息代表银行交易,并且标准是银行交易的欺诈特性或非欺诈特性。交换的数据的非常大量的特性和处理这些交换的数据的关键实时特性使得使用根据本发明的节点的网络和关联的互连方法特别有利。
在第二优选实施方式中,消息代表由视频监控摄像机拍摄的图像,标准是存在或者不存在与由这些视频监控摄像机拍摄的图像或者拍摄的图像序列的内容相关的品行不端风险。交换的数据的非常大量的特性和处理这些交换的数据的关键实时特性使得使用根据本发明的节点的网络和关联的互连方法特别有利。
通过阅读本发明的一个优选实施方式的以下描述,本发明的其他特征和优点将变得明显,该描述是通过示例并参考附图给出的。
附图说明
图1示意性地示出了根据本发明的一个实施方式的网络的一部分的示例。
图2示意性地示出了根据本发明的一个实施方式的网络的一部分的示例。
图3示意性地示出了根据本发明的一个实施方式的网络的一部分的示例。
图4示意性地示出了求和的权重的示例比例,其允许管理根据本发明的一个实施方式的网络中的消费方节点的权重。
具体实施方式
图1示意性地示出了根据本发明的一个实施方式的网络的一部分的示例。
网络6包括生成方节点1和消费方节点2。在网络6中,示出了节点A、B、C和D。这里,节点A是生成方节点1。与网络6中的节点A和B之间的链路同级别(level,级、水平)时,节点B是消费方节点2,而与网络6中的节点B和C之间的链路同级别时以及与网络6中的节点B和D之间的链路同级别时,同一节点B是生成方节点1。取决于讨论中的网络6的级别,节点B是生成方节点1或者实际上是消费方节点2。与此相反,节点A仅是生成方节点1,而节点C和D仅是消费方节点2。
登记方3最初向网络6的所有节点A、B、C和D广播网络6的原始拓扑,之后向上述所有节点广播在网络6的生命期间该拓扑的每次更新。与网络6中的节点A和B之间的链路同级别时,由生成方节点A生成的消息去往消费方节点B并且仅在该方向上传递,以便被消费方节点B消费。与网络6中的节点B和C之间的链路同级别时,由生成方节点B生成的消息去往消费方节点C并且仅在该方向上传递,以便被消费方节点C消费。与网络6中的节点B和D之间的链路同级别时,由生成方节点B生成的消息去往消费方节点D并且仅在该方向上传递,以便被消费方节点D消费。
每个生成方节点1维护消费方节点2的列表,在该生成方节点所属的流的背景下该生成方节点可能必须向该消费方节点传输消息。在图1的流中,节点A知晓节点B,节点A向节点B传输节点A生成的消息。节点B知晓节点C和节点D,节点B向节点C和节点D传输节点B生成的消息,每个消息被发送到节点C或者节点D。
该消费方节点2的列表通过对登记方3的请求被初始化,每个生成方节点1或者消费方节点2在其实例化时向该登记方订阅。仅当节点的拓扑发生变化时,该登记方3才是有用的。因此,如果登记方3消失,例如如果它劣化或者它与网络6的链路变得失效(faulty,有故障),图1中示出的流的运行不受影响。
每个生成方节点1或者消费方节点2在其实例化时向登记方3订阅。随后每个生成方节点或者消费方节点将每隔一定时间例如每5秒或10秒向登记方3发送新的登记请求。这样,如果登记方3变得失效,则该节点1或者节点2将在该登记方3重新实例化时快速接收节点网络6的完整拓扑。
图2示意性地示出了根据本发明的一个实施方式的网络的一部分的示例。首先在时间T0然后在时间T1示出网络6的该部分。
在时间T0,节点A与节点B互连,并且节点B与节点C互连。节点A将消息发送到节点B,节点B将消息发送到节点C。
接下来,登记方3广播节点D已经向其登记的信息。节点A和节点C都不与节点D互连。相反,节点B与节点D互连。在时间T1,节点A与节点B互连,并且节点B与节点C以及节点D互连。节点A将消息发送到节点B,节点B将消息发送到节点C或者节点D。
登记方3的作用是向它知晓的网络6的所有节点1和2广播它处理的所有事件。因此,当新节点1或2声明其自身时,所有其他节点1或2都被告知有该新节点,并且生成方节点1根据该新节点是否形成该生成方节点的流的一部分来选择连接到该新节点与否。
在图2中,例如在时间T1,节点D声明自身,并且登记方3广播该信息。节点A不连接到节点D,但节点B确实连接到节点D,因为节点D形成包括在其流中的服务类型的一部分。
每个消费方节点2在N个消息发送的移动窗口中维护中值响应时间,该时间称为Tmed。当消息被发送到消费方节点2时,如果该目标消费方节点2在2*Tmed结束时没有响应,则请求被放弃。该请求将在相同条件下被立即重新发送。在一定数量的这样的重新发送结束时,例如在2次或者3次重新发送结束时,认为消息发送失败,并且从消费方节点2的列表中移除被已经无结果地尝试向其发送消息的生成方节点1作为目标的目标消费方节点2。该运行模式允许其响应时间变得异常高的消费方节点2被快速地删除。然后,在这些被删除的消费方节点2再次变得可运行并且再次能够保证将在合理的时间内处理从生成方节点1接收的消息时,它们将随后能够向登记方3再登记。登记方3将广播该信息,该信息又将被消息发送生成方节点1拦截。因此,该机制允许暂时排除已经变得失效或者突然太慢的消费方节点2,之后一旦该消费方节点已经再次变得可运行,就将其重新整合到流中。
在微服务架构——其微服务被组织成流并彼此通信使得每个消息生成方微服务管理其自己的消息消费方微服务列表——的网络6中,至少暂时地失去登记方3对网络6的运行没有影响。登记方3用于将拓扑的知识分配给微服务,但是一旦已经获取所述知识,网络6的运行变为自主的,并且仅当网络6的拓扑改变时,才再次需要登记方3。
图3示意性地示出了根据本发明的一个实施方式的网络的一部分的示例。
网络6包括生成方节点1和消费方节点2。在网络6中,示出了节点P1、P2、C1、C2和C3。这里,在与讨论中的链路同级别时,节点P1和P2是生成方节点1。这里,在与讨论中的链路同级别时,节点C1、C2和C3是消费方节点2。
登记方3最初向网络6的所有节点P1、P2、C1、C2和C3广播网络6的原始拓扑,之后广播在网络6的生命期间该拓扑的每次更新。
由生成方节点P1生成的消息去往消费方节点C1和C2,并且仅在该方向上传递,以便被消费方节点C1和C2消费。由生成方节点P2生成的消息去往消费方节点C1、C2和C3,并且仅在该方向上传递,以便被消费方节点C1、C2和C3消费。
在拥有N个生成方节点1即发送消息的节点和M个消费方节点2即接收这些消息的节点的这种架构中,在各个节点之间智能地分配工作负载是有益的。负载分配是由相当大的网络使用以便平衡服务器上的应力的技术。根据本发明的网络6动态地、智能地并适应性地分配负载。
每个生成方节点1例如生成方微服务1拥有负载分配模块,该负载分配模块被移植到该生成方节点的输出接口上,并且该负载分配模块与消费方节点2的列表中的每个消费方节点例如消费方微服务2的输入接口通信。N个生成方节点1中的每个生成方节点都知晓该生成方节点的在M个消费方节点2之中的消费方节点2的列表,所有M个消费方节点2在初始化时拥有相同的权重,例如值1。
每q秒,例如每5秒,每个生成方节点1将在其生成和发送的消息中的某些消息的内部中放置标头,该标头指定对处理讨论中的消息所花费的时间进行评估的请求。因此,消费方节点2将具有动态的权重,因为所述权重被定期地重新计算。
每个消费方节点2拥有要处理的消息队列,以及一个接一个地消费这些消息的处理功能。
一旦将包含处理时间评估请求的消息插入到队列中,就用其到达的系统时间标记该消息,并且一旦从处理功能中输出该消息,就用其离开的系统时间标记该消息,该离开的系统时间与该到达的系统时间之间的差与通过该消费方节点2处理该消息所花费的时间对应。
作为确认消息,消费方节点2通过已发送经处理的消息对生成方节点1作出响应,优选地通过向该生成方节点发送回代表该消息的离开时间与该消息的到达时间之间的差的参数,例如权重,或者实际上替代性地处理时间本身。
这里,根据该差,生成与消费方节点2的运行速度成比例的权重。
即,消费方节点i的权重:
这对应于公式(1)。
在讨论中的生成方节点的消费方节点的表格中更新该权重。每个生成方节点独立地从每个消费方节点收集负载信息。因此,每个生成方节点维护其自己的消费方节点权重表格,因此该表格可以与其他生成方节点的表格不同。
为了获得精确的权重,本发明优选地使用移动平均权重的概念,该权重由时间窗口δ中的权重的平均值定义,该时间窗口定义了允许计算移动平均值的迭代次数,对于一个消费方节点,该迭代次数特别地通过下述公式给出:
δi∶{Wi0,Wi1,Wi2,…,Win}
这对应于公式(2)。
对于一组大小为n的测度,让消费方i的被表示为Wigliss的移动平均权重为:
这对应于公式(3)。
该移动权重用于对用于选择将接收下一消息的消费方节点的随机抽取进行加权。
通过将抽取的值与标度(scale,标定、比例)进行比较来对抽取进行加权,在该标度上根据消费方节点的权重定位该消费方节点。
该标度为从0到Wigliss的总和的值。根据前面限制的求和值计算标度的每个限制的值。
对于N——消费方节点的数量:
对于i从0到N-1:Limiti=Limiti-1+Wigliss并且Limit0=0
例如,如果考虑图3的网络部分,则获得以下计算。
在初始化网络之后,生成方节点P1和P2都具有相同的权重表格:
表格1
P1 | P2 | |
C1 | 1 | 1 |
C2 | 1 | 1 |
C3 | 1 | 1 |
在第一次迭代中,将权重按标度求和,并获得表格2。
表格2
为了发送其下一个消息,生成方节点P1和P2抽取0至3之间的值。如果该值在0至1之间,则下一个消息将被发送到消费方节点C1,如果该值在1至2之间,则该消息将被发送到消费方节点C2,如果该值在2至3之间,则该消息将被发送到消费方节点C3。按照惯例,如果该值正好是1,则其将被发送到消费方节点C1,并且如果该值正好是2,则其将被发送到消费方节点C2。
考虑为生成方节点P1抽取的值为1.5并且为生成方节点P2抽取的值为2.2的示例。因此,生成方节点P1将其消息发送到消费方节点C2,而生成方节点P2将其消息发送到消费方节点C3。
消费方节点C2在5秒内对生成方节点P1作出响应,并且消费方节点C3在2秒内对生成方节点P2作出响应。
通过应用上面呈现的公式(1)、(2)和(3),对于生成方节点P1获得以下:
δc2∶{0.2}
并且对于生成方节点P2:
δc3∶{0.5}
现在,生成方节点P1和P2对于消费方节点C1、C2和C3中的每个消费方节点具有不同的权重,这给出了表格3。
表格3
P1 | P2 | |
C1 | 1 | 1 |
C2 | 0.2 | 1 |
C3 | 1 | 0.5 |
在第二次迭代中,权重按被更新的标度求和,并且获得表格4。
表格4
新的随机抽取对生成方节点P1给出的值为1.1并且对生成方节点P2给出的值为0.3。
因此,生成方节点P1将其消息发送到消费方节点C2,并且生成方节点P2将其消息发送到消费方节点C1。
消费方节点C2在2秒内对生成方节点P1作出响应,并且消费方节点C1在10秒内对生成方节点P2作出响应。
通过再次将公式(1)、(2)和(3)应用于生成方节点P1,获得以下:
δc2∶{0.2,0.5}
并且对于生成方节点P2,获得以下:
δc1∶{0.1}
现在,生成方节点P1和P2对于消费方节点C1、C2和C3具有新修改的权重,这给出了表格5。
表格5
P1 | P2 | |
C1 | 1 | 0.1 |
C2 | 0.35 | 1 |
C3 | 1 | 0.5 |
在第三次迭代中,权重按被更新的标度求和,并且获得表格6。
表格6
因此,用于消费方节点C1至C3的最终权重是动态移动的平均权重。
图4示意性地示出了经求和的权重的标度的示例,其使得可以管理根据本发明的一个实施方式的网络中的消费方节点的权重。
经求和的权重的标度表示在树中在时间t0处的三个消费方节点C1、C2和C3,每个消费方节点都由包括节点名称和该节点的权重值的一个叶子4表示。
经求和的权重的标度表示在同一树中在时间t1处的三个消费方节点C1、C2和C3,每个消费方节点都由包括节点的名称和该节点的权重值的一个叶子5表示,该值可能已经被修改。
经求和的权重标度经由区域树以求和权重表格的形式被存储,这给予该技术平均O(log(n))的复杂度。
树的叶子对应于间隔的限制。树结构允许快速地访问给定间隔中的值,并且权重的重新计算涉及已知算法。
可以看出,对于节点C1、C2、C3,间隔的限制在时间t0处分别为1/2/3,在时间t1处分别为1/1.2/2.2。
存储该经求和的权重标度的该树数据结构不仅允许解决值的标度的存储问题,而且还具有提供关于访问和修改存储在该树数据结构中的值的非常良好的性能的附加有用优点。
当然,本发明不限于所描述和示出的示例和实施方式,本领域技术人员可以得到其许多变体。
Claims (16)
1.一种经由对等消息彼此通信的节点(1、2)的计算机网络,消息生成方节点(1)将其生成的消息发送到消息消费方节点(2),在网络(6)的另一级别处消费方节点(2)还能够是生成方节点(1),其特征在于,每个消息生成方节点(1):
从在所述网络中被登记为有效的所述节点(1、2)中选择该消息生成方节点的消费方节点(2),以便与所选择的消费方节点互连,
使该消息生成方节点的互连的消费方节点(2)的列表保持最新,
通过下述方式来管理该消息生成方节点生成的消息的负载在该消息生成方节点的互连的消费方节点(2)之间的分配:所述方式为根据由该消息生成方节点的互连的消费方节点(2)处理该消息生成方节点生成的消息所花费的时间,将该消息生成方节点生成的消息首先发送到该消息生成方节点的处理时间最短的互连的消费方节点(2),
通过下述方式来修改该消息生成方节点的互连的消费方节点(2)的列表:所述方式为根据由该消息生成方节点的互连的消费方节点(2)处理该消息生成方节点生成的消息所花费的时间,从该消息生成方节点的列表中至少暂时地删除该消息生成方节点的互连的消费方节点(2)中的那些太慢的消费方节点。
2.根据权利要求1所述的计算机网络,其特征在于,所述节点(1、2)向所述网络(6)中的集中式的登记方(3)登记为在所述网络中有效,所述登记方至少向所述网络(6)的所有有效的生成方节点(1)并且优选地向所述网络(6)的所有有效的节点(1、2)广播所述网络(6)的至少所有有效的消费方节点(2)的列表,并且优选地广播所述网络(6)的所有有效的节点(1、2)的列表。
3.根据权利要求2所述的计算机网络,其特征在于,所述登记方(3)不为给定的特定生成方节点(1)建立该给定的特定生成方节点的互连的消费方节点(2)的列表,并且不向给定的特定生成方节点(1)发送该给定的特定生成方节点的互连的消费方节点(2)的列表。
4.根据权利要求2和3中任一项所述的计算机网络,其特征在于,只要所述节点(1、2)能够处理消息,所述节点在所述网络(6)中就周期性地向所述登记方(3)登记为有效,登记周期优选地短于或者等于10秒,错过至少两个登记周期并且优选地错过至少一个登记周期的任何有效的节点(1、2)被所述登记方(3)从所述有效的节点(1、2)的列表中删除。
5.根据前述权利要求中任一项所述的计算机网络,其特征在于,每个消息生成方节点(1)能够通过下述方式来修改该消息生成方节点的互连的消费方节点(2)的列表:所述方式为如果新登记的消费方节点(2)能够消费由所述生成方节点(1)生成的消息,则能够向该消息生成方节点的互连的消费方节点的列表添加所述新登记的消费方节点。
6.根据前述权利要求中任一项所述的计算机网络,其特征在于,每个消费方节点(2)至少针对从生成方节点(1)接收的某些消息发送该消费方节点处理这些消息所花费的时间,或者实际上发送代表该消费方节点处理这些消息所花费的时间的权重,所述所花费的时间代表这些消息到达所述消费方节点(2)的时间与这些消息在经转换后能够从所述消费方节点(2)离开的时间之间的差,每个生成方节点(1)优选地将处理时间评估请求添加到该生成方节点向各个其互连的消费方节点(2)发送的消息中的所有消息或一些消息。
7.根据权利要求6所述的计算机网络,其特征在于,每个消息生成方节点(1)通过下述方式来管理该消息生成方节点生成的消息的负载在该消息生成方节点的互连的消费方节点(2)之间的分配:所述方式为根据由该消息生成方节点的互连的消费方节点(2)发送的所述处理时间或者实际上所述权重,将较多的生成的消息发送到处理时间最短的所述互连的消费方节点(2)或者发送到实际上其权重对应于最短的处理时间的所述互连的消费方节点。
8.根据权利要求7所述的计算机网络,其特征在于,每个生成方节点(1)针对该生成方节点的互连的消费方节点(2)中的每个消费方节点随时间推移计算移动平均权重,每个生成方节点使用所述移动平均权重来管理该生成方节点生成的消息的负载在该生成方节点的互连的消费方节点(2)之间的分配。
9.根据权利要求7或者8所述的计算机网络,其特征在于,每个生成方节点(1)以加权随机方式加载该生成方节点的互连的消费方节点(2),使得该生成方节点的互连的消费方节点(2)将接收由所述生成方节点(1)生成的消息的概率取决于通过所述互连的消费方节点(2)的权重进行加权的随机抽取。
10.根据前述权利要求中任一项所述的计算机网络,其特征在于:
每个节点(1、2)是与至少一个其他节点(1、2)交换消息的微服务,
每个微服务是:
o处理器,所述处理器处理从所述网络(6)的节点(1、2)接收的数据,以便然后将这些经处理的数据发送到所述网络(6)的另一节点(1、2),所述处理优选地限于在这些数据上执行的单个处理任务,或者
o源,所述源生成要被注入到所述网络(6)中到达至少一个处理器的数据,或者
o接收器,所述接收器将由至少一个处理器处理的数据导出到作为所述网络(6)的第三方的系统。
11.根据权利要求10所述的计算机网络,其特征在于,所述处理器中的至少一个处理器、优选地所述处理器中的大多数处理器、并且甚至更优选地所述处理器中的所有处理器过滤接收到的数据,并且然后将经过滤的数据路由到所述网络(6)中的不同类型的节点(1、2)。
12.根据前述权利要求中任一项所述的计算机网络,其特征在于,一种类型的生成方节点(1)是根据标准的满足将接收到的消息分开的过滤器,以便根据所述标准被满足、还是所述标准没有被满足、还是所述标准可能被满足,来相应地将所述接收到的消息路由到三种类型的消费方节点(2)。
13.根据权利要求12所述的计算机网络,其特征在于,所述消息代表银行交易,并且所述标准是银行交易的欺诈特性或者非欺诈特性。
14.根据权利要求12所述的计算机网络,其特征在于,所述消息代表由视频监控摄像机拍摄的图像,所述标准是存在或者不存在与由这些视频监控摄像机拍摄的图像或者拍摄的图像序列的内容相关的行为失检风险。
15.用于在根据前述权利要求中任一项所述的计算机网络(6)中的节点(1、2)之间进行互连和通信的方法。
16.一种用于在经由对等消息彼此通信的节点(1、2)的计算机网络(6)中的节点(1、2)之间进行互连的方法,消息生成方节点(1)将其生成的消息发送到消息消费方节点(2),在所述网络(6)的另一级别处消费方节点(2)还能够是生成方节点(1),其特征在于,每个消息生成方节点(1):
从在所述网络(6)中被登记为有效的所述节点(1、2)中选择该消息生成方节点的消费方节点(2),以便与所选择的消费方节点互连,
使该消息生成方节点的互连的消费方节点(2)的列表保持最新,
通过下述方式来修改该消息生成方节点的互连的消费方节点(2)的列表:所述方式为根据由该消息生成方节点的消费方节点(2)处理该消息生成方节点生成的消息所花费的时间,从该消息生成方节点的列表中至少暂时地删除该消息生成方节点的互连的消费方节点(2)中的那些太慢的消费方节点。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1663408 | 2016-12-27 | ||
FR1663408A FR3061391B1 (fr) | 2016-12-27 | 2016-12-27 | Reseau informatique de noeuds communiquant entre eux par messages en pair a pair et procede d'interconnexion entre noeuds associe |
PCT/FR2017/053853 WO2018122533A1 (fr) | 2016-12-27 | 2017-12-27 | Reseau informatique de noeuds communiquant entre eux par messages en pair a pair et procede d'interconnexion entre noeuds associe |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110431824A true CN110431824A (zh) | 2019-11-08 |
CN110431824B CN110431824B (zh) | 2022-05-10 |
Family
ID=58737663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780086742.2A Active CN110431824B (zh) | 2016-12-27 | 2017-12-27 | 通过对等消息彼此通信的节点的计算机网络以及关联的用于使节点之间互连的方法 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP3563558A1 (zh) |
CN (1) | CN110431824B (zh) |
FR (1) | FR3061391B1 (zh) |
WO (1) | WO2018122533A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112019689A (zh) * | 2019-05-29 | 2020-12-01 | 北京奇虎科技有限公司 | 来电秀业务处理系统及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070097986A1 (en) * | 2005-11-02 | 2007-05-03 | Abu-Amara Hosame H | Peer-to-peer communication architecture and terminals |
US20080046554A1 (en) * | 2003-10-20 | 2008-02-21 | Datta Glen V | Peer-to-peer relay network |
EP1903816A1 (en) * | 2006-09-22 | 2008-03-26 | Nokia Siemens Networks Gmbh & Co. Kg | Method for operating an access node and access node thereof |
US20100135168A1 (en) * | 2007-07-10 | 2010-06-03 | Yi-Ping Chen | Method for automatically determining a group of pairs located close to another pair in a communication network and associated server, analysis device and communication device |
US20110276633A1 (en) * | 2008-12-30 | 2011-11-10 | Telecom Italia S.P.A. | Method and system for data management in peer-to- peer network |
CN105898388A (zh) * | 2016-04-05 | 2016-08-24 | 合网络技术(北京)有限公司 | 一种节点下载调度方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9786164B2 (en) * | 2008-05-23 | 2017-10-10 | Leverage Information Systems, Inc. | Automated camera response in a surveillance architecture |
-
2016
- 2016-12-27 FR FR1663408A patent/FR3061391B1/fr not_active Expired - Fee Related
-
2017
- 2017-12-27 CN CN201780086742.2A patent/CN110431824B/zh active Active
- 2017-12-27 EP EP17838185.1A patent/EP3563558A1/fr not_active Withdrawn
- 2017-12-27 WO PCT/FR2017/053853 patent/WO2018122533A1/fr unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080046554A1 (en) * | 2003-10-20 | 2008-02-21 | Datta Glen V | Peer-to-peer relay network |
US20070097986A1 (en) * | 2005-11-02 | 2007-05-03 | Abu-Amara Hosame H | Peer-to-peer communication architecture and terminals |
EP1903816A1 (en) * | 2006-09-22 | 2008-03-26 | Nokia Siemens Networks Gmbh & Co. Kg | Method for operating an access node and access node thereof |
US20100135168A1 (en) * | 2007-07-10 | 2010-06-03 | Yi-Ping Chen | Method for automatically determining a group of pairs located close to another pair in a communication network and associated server, analysis device and communication device |
US20110276633A1 (en) * | 2008-12-30 | 2011-11-10 | Telecom Italia S.P.A. | Method and system for data management in peer-to- peer network |
CN105898388A (zh) * | 2016-04-05 | 2016-08-24 | 合网络技术(北京)有限公司 | 一种节点下载调度方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2018122533A1 (fr) | 2018-07-05 |
CN110431824B (zh) | 2022-05-10 |
FR3061391B1 (fr) | 2019-05-31 |
FR3061391A1 (fr) | 2018-06-29 |
EP3563558A1 (fr) | 2019-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Beraldi et al. | Distributed load balancing for heterogeneous fog computing infrastructures in smart cities | |
CN111181715B (zh) | 一种基于一致性哈希共识协议的多方跨链方法 | |
CN105959232B (zh) | 一种基于软件定义网络控制点优化的卫星网络路由方法 | |
CN103001875B (zh) | 一种量子密码网络动态路由方法 | |
Wang et al. | FastChain: Scaling blockchain system with informed neighbor selection | |
KR101443414B1 (ko) | 정보 로드를 밸런싱하는 시스템 및 방법 | |
CN108351882A (zh) | 用于网络内的分布式数据库的方法和装置 | |
CN106685724B (zh) | 基于选举的节点服务器管理方法、装置及系统 | |
Avarikioti et al. | Towards secure and efficient payment channels | |
US20210326879A1 (en) | Blockchain protocol and a blockchain network | |
CN110400140A (zh) | 基于Fabric的分层分片交易信息处理方法及应用 | |
CN113282348A (zh) | 一种基于区块链的边缘计算任务卸载系统及方法 | |
Li et al. | Cost-minimizing bandwidth guarantee for inter-datacenter traffic | |
CN110275873A (zh) | 文件存储方法、装置、存储管理设备及存储介质 | |
CN101667961A (zh) | 基于栅格服务的策略路由系统及动态策略生成方法 | |
Yi et al. | Satellite constellation of MEO and IGSO network routing with dynamic grouping | |
CN110431824A (zh) | 通过对等消息彼此通信的节点的计算机网络以及关联的用于使节点之间互连的方法 | |
WO2020042929A1 (zh) | 一种区块链系统 | |
KR20130060270A (ko) | 네트워크 정보 처리 시스템, 네트워크 정보 처리 장치, 및 정보 처리 방법 | |
US20150127799A1 (en) | Hierarchical distribution of control information in a massively scalable network server | |
JP2020003848A (ja) | 分散深層学習システム、分散深層学習方法、およびコンピューティングインタコネクト装置 | |
JP4391960B2 (ja) | リソース管理装置、システムおよび方法 | |
Mighan et al. | On block delivery time in Ethereum network | |
Weintraub et al. | Structural attacks on local routing in payment channel networks | |
Ming et al. | Blockcloud: A blockchain-based service-centric network stack |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |