CN110708175B - 分布式网络中消息同步的方法 - Google Patents

分布式网络中消息同步的方法 Download PDF

Info

Publication number
CN110708175B
CN110708175B CN201910966479.7A CN201910966479A CN110708175B CN 110708175 B CN110708175 B CN 110708175B CN 201910966479 A CN201910966479 A CN 201910966479A CN 110708175 B CN110708175 B CN 110708175B
Authority
CN
China
Prior art keywords
group
members
message
messages
vector
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.)
Active
Application number
CN201910966479.7A
Other languages
English (en)
Other versions
CN110708175A (zh
Inventor
姚宏宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING YOYO TIANYU SYSTEM TECHNOLOGY CO LTD
Original Assignee
BEIJING YOYO TIANYU SYSTEM TECHNOLOGY CO LTD
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BEIJING YOYO TIANYU SYSTEM TECHNOLOGY CO LTD filed Critical BEIJING YOYO TIANYU SYSTEM TECHNOLOGY CO LTD
Priority to CN201910966479.7A priority Critical patent/CN110708175B/zh
Publication of CN110708175A publication Critical patent/CN110708175A/zh
Application granted granted Critical
Publication of CN110708175B publication Critical patent/CN110708175B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1881Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with schedule organisation, e.g. priority, sequence management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1895Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for short real-time information, e.g. alarms, notifications, alerts, updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2876Pairs of inter-processing entities at each side of the network, e.g. split proxies

Abstract

本发明涉及一种高鲁棒性高容错的消息同步方法。该方法可以广泛应用于通过不可靠网络连接的分布式计算机系统中,实现通讯群组内消息同步,确保在线群组成员收到相同的给定顺序意义的广播消息。本方法通过引入多回合同步过程,实现高效容错的消息同步,避免了死锁的发生。

Description

分布式网络中消息同步的方法
技术领域
本发明主要涉及分布式计算,具体的,涉及使用主设备和从设备的容错分布式计算。
背景技术
本文的群组通信是指在群组成员之间的数据/消息交换,在通过诸如局域网(LAN)和因特网之类的网络互连的计算机或设备上呈现为软件应用程序或模块。在群组通信中,群组成员将消息发送给群组中的所有成员。这些群组通信原语(其将被称为“广播”)可以使用单播,多播,对等网络或其他传输协议来实现。这些网络本质上是不可靠的异步互连,其可能遭受物理链路,交换机和路由器的拥塞或中断。群组通信的性能可能受到群组成员之间和/或其互连的故障的严重影响。在群组通信中合适的故障处理是其成功的关键。
虚拟同步模型是一种高性能的群组通信系统,它采用状态机复制来实现容错。其目的在于高效容错的实现在异步网络上,实现从应用程序角度而言的类似同步网络的消息一致性,即每个群组成员收到给定意义下相同时序的消息。虚拟同步系统将网络端点组织到群组中,并通过弱化消息的时序要求以换取更高的性能。虚拟同步将群组的成员集合定义为视图。在虚拟同步模型中,消息可能不会在到达时立即传递,因为如果成员在完成广播之前死亡,则立即传递可能导致违反状态机复制模型的排序属性和安全属性要求。刚收到的消息,被认为是不稳定消息。通过随后接收消息中含有的各成员事件计数,成员可以判断哪些接收到的消息已经为所有成员接收,这时这些消息就被认为转化成稳定消息,成员可以马上把稳定消息释放给应用程序。这样群组通讯就可以异步的传输一致的消息而不需要明确的对每个广播消息进行同步,从而可以极大的提高效率。
刷新的主要目的就是在群组视图变化时,强制原视图在线成员实行同步,从而避免破坏新视图里的排序属性和安全属性的要求。刷新算法将强制阻止应用程序向群组发送新的消息,直到群组中已有的不稳定消息都转化为稳定消息或者被剔除。美国专利7,782,801公开了一种用于支持虚拟同步模型的刷新方法。该专利采用两阶段的算法。第一阶段是让群组成员发出所有处于等待发送状态的消息。第二阶段群组成员交换消息实现同步。该专利并没有给出消息交换的算法以及如何处理刷新过程中出现的群组成员失联或出错的的情形。然而,如何在不可靠网络下,高效容错的实现刷新是群组通讯的核心问题。因此,需要开发一种计算机实现的方法,在允许部分群组成员失联或出错的条件下,确保群组中的所有在线成员收到给定顺序意义下的相同的消息,实现消息同步。本发明公开的内容不同于专利7,782,801的两阶段算法,不要求群组成员先发出所有处于等待状态的消息,能够很好的满足了容错和其他需求。
发明内容
本文描述的是一种支持用于群组通信的虚拟同步模型的消息处理方法,其可以处理群组成员或网络的故障。在一个实施例中,应用程序编程接口(API)被配置用于接收和发送消息。API提供了多轮刷新协议,以确保一旦启动,视图中群组所有在线成员在接收到在给定顺序意义下相同的消息。
本发明提供了一种由计算机实现的方法、用于确保群组中的所有在线成员传递给定意义下的相同的消息,该方法包括:
a.群组成员进入刷新同步状态后,向所有群组成员广播其本地向量时钟;
b.从所有在线群组成员接收其向量时钟;
c.根据从其他群组成员接收的向量时钟计算承诺向量时钟。具有来自故障成员最多消息的群组成员将丢失的消息广播到群组以确保每个在线群组成员收到相同的消息;
d.根据承诺向量等待接收所有缺失消息;
e.通过向进程组的所有成员广播完成消息来确认消息同步的完成;和
f.在退出刷新方法的执行之前等待来自进程组其余成员的完成消息。
本方法可用于消息同步,特别是当群组成员资格被更改时,即当新成员加入群组或现有成员离开群组时。
本专利所述向量时钟含有群组成员的本地事件计数以及其他群组成员通过夹带在发来消息中的向量时钟包含的事件计数更新出来的非本地事件计数。所述承诺向量时钟代表的是每个成员应该具有的消息。在刷新完成前,群组中的所有成员需要阻塞发送应用程序的新消息。在刷新过程中,群组中的所有在线成员需要广播包含轮次计数和向量时钟的消息。当在刷新方法执行期间发现群组的其他故障成员时,群组成员需要重新启动刷新方法并使用递增的轮次计数来通知进程组的所有成员丢弃上一轮次刷新方法的执行。在等待丢失消息或完成消息的同时接收到包含更高轮次计数的消息后,该专利方案将重新启动刷新方法并更新轮次计数。需要强调的是,在承诺向量之后得到的消息在当前视图中不传递。
本发明可以在分布式系统中,实现高效容错的消息同步。进一步的,通过引入多回合同步过程,每个回合必然有群组成员的减少,该方法最终的结果是要么最终在线群组成员达成消息同步,要么群组成员减少到不需要进行同步,从而避免了死锁。
附图说明
通过以下参照附图对本申请实施例的描述,本申请的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1是天宇数流控制系统架构的示意图;
图2是天宇数流控制系统消息传输的示意图;
图3是群组通信系统的模块,应用程序接口(API)和消息路由;
图4是支持虚拟同步模型的刷新方法的框图。
具体实施方式
在以下描述中,呈现了本发明的许多细节。然而,本领域技术人员可以在没有这些具体细节的情况下实施本发明。本领域技术人员使用方法的说明书和实施例来有效地将他们的工作内容呈现给类似的技术人员。
图1示出了实现本发明的高性能数据分配系统的示例性网络架构。友友核心库(Yoyo Core Library)提供跨平台的可移植库。天宇数流控制系统库实现了先进的传输协议,并为网络虚拟化提供基础支持。它支持统一的逻辑网络地址,允许用户定义逻辑网络结构和路由。天宇数流控制系统库还提供会话层支持,包括使用发布者/订阅者模型的群组通信模块和传统消息服务。在天宇数流控制系统C库之上,天宇数流控制系统C++/Java库提供应用程序接口(API),用于使用C++和Java中的高性能数据分布式系统构建客户应用程序。代理模块用作本地消息中心,其负责从/向客户端中继消息并使用诸如TCP,可靠UDP和多播之类的较低级别传输协议在代理之间路由客户端消息。
图2示出了天宇数流控制系统中使用的消息传输机制。代理充当本地客户端的中介。客户端通过代理发布和/或订阅消息主题。代理负责路由消息。某些天宇数流控制系统功能,诸如故障检测,群组监控和成员资格,通过群组守护进程处理。
图3示出了在天宇数流控制控制系统中实现的群组通信。客户端使用代理作为中介来访问群组通信基础结构。当多个客户端在同一代理上订阅同一个通道时,与点对点消息路由相比,可以大大减少在代理之间路由所需的消息。群组守护进程用于群组管理信息的存储,例如群组成员列表。代理通过单独的,更高优先级的群组守护进程发布/订阅通道与群组守护进程通信。
本发明在天宇数流控制系统C库的群组通信模块中实现,以便为作为天宇数流控制系统中的客户端的群组成员之间的通信消息缓冲器同步提供刷新服务。
群组通信
状态机复制
状态机复制是一种通用的确定性技术,可在不牺牲强一致性的情况下提供容错功能。状态机复制由各群组成员保有的状态机的一组副本组成,该状态机在各网络端点上运行的。状态机具有有限的一组定义的状态,并且在任何给定时间仅处于这些状态之一。只有在接收到符合相应标准的外部输入时才会触发从一种状态到另一种状态的改变,或称为转换。所有副本都进行相同的转换。
虚拟同步模型
分布式计算系统的期望服务之一是从用户的角度提供执行同步。在状态机复制中,同步执行意味着当用户以相同的状态启动并获得相同的顺序输入时,结果状态应该相同。获得相同的顺序输入意味着完全有序的消息。如果放宽严格的总顺序要求,则可以实现更好的性能。这称为“虚拟同步模型”。在实践中,虚拟同步系统通常为四种类型的消息顺序提供服务:(1)群组多播设置由原语gbcast()提供的新视图,(2)原子顺序或由原语abcast()提供的总顺序,(3)由原语cbcast()提供的所有接收消息的临时顺序,(4)由原语fbcast()提供的先进先出(FIFO)顺序。FIFO顺序保证来自同一发送者的消息将按发送的顺序传递。临时顺序保证如果进程2响应来自进程1的消息A而发送消息B。进程3将在消息B之前接收消息A。总顺序保证每个进程将以相同的顺序接收消息。通过在消息上设置适当的标志来指定消息顺序。在天宇数流控制TM系统中,客户端是虚拟同步模型中的进程。
视图
视图是特定时间群组的成员资格。视图中发送的消息将在同一视图中接收。当进程加入群组或进程离开群组时,会发生视图改变。该进程可以自愿或非自愿地离开该群组,例如通过自身的死亡或被踢出小组。当发生视图改变时,群组通信将确保使用本发明中描述的刷新方法将该视图中发送的消息传递给所有其他活动进程。如果有新进程加入,则还需要执行状态转换。通常的做法是,视图中排名最低的进程将被指定为协调者。
协调者
协调者协调群组成员。在天宇数流控制系统群组通信中,协调者负责监视来自所有群组成员的心跳消息。其他群组成员通常仅监视来自协调者的心跳消息。协调者还负责通过向所有群组成员广播通知消息来启动刷新过程。
阻塞
当发生视图改变时,将请求阻塞进程。被阻塞时,进程无法发送新消息。该进程可以通过立即调用原语block()来给予阻塞,或者可以等待适当的时间来给予阻塞。刷新方法完成后,将通过解阻塞事件通知应用程序。为了获得更好的性能,该进程应尽快给予阻塞。
故障检测
心跳消息是由群组成员产生的周期性消息,用于指示正常操作。通过检查其心跳消息来识别故障进程。心跳收集服务由监视代理状态的群组外独立的守护进程提供。通常在进程组中,协调者将检查每个人的心跳,而其他群组成员只检查协调者的心跳。如果群组成员的周期性心跳消息丢失或超时,则群组成员将向群组守护进程发送质疑(SUSPECT)消息。然后,群组守护程序将验证故障进程并向群组发出群组视图更新消息。
向量时钟
向量时钟是各群组成员保有的一组包含所有群组成员的事件计数数列。每个事件计数可以被认为是一种逻辑时钟。向量时钟在群组通讯开启时初始化为零。每个群组成员都维护向量时钟的一本地拷贝。当进程经历包括内部事件,发送和接收消息的事件时,该进程自己的事件计数增加1。通过保存消息中带的向量时钟包含的所有群组成员事件计数和对应本地向量时钟的事件计数两者的最大值,成员可以在接收群组成员的消息时非直接的更新向量时钟。向量时钟可用于检测分布式系统中的临时顺序。一个事件的时钟向量的所有事件计数都不小于另一个事件的时钟向量的对应的事件计数(只要一个事件计数是大于),这就等价于该事件发生在另一个事件之后。如果无法确认两个事件的先后顺序,那么就可以认为这两事件是并发的。
稳定消息收集
群组成员必须保留它在缓冲存储器中收到的每条消息,或称为“不稳定消息”,直到可以确定所有其他群组成员都收到了所述消息。当所有群组成员收到一消息时,该消息将被称为“稳定消息”。群组成员的本地向量时钟可以用来判断该消息是否为所有群组成员接收。稳定消息将被移除缓存并提供给上层应用程序,从而实现虚拟同步消息传输。刷新算法的目的主要就是要把各个群组成员缓冲存储器中的不稳定消息队列进行同步,尽可能的将其转化为稳定消息,做到只要一个群组成员收到信息,那么所有群组成员都将收到该信息。
承诺向量
在从群组成员接收到所有向量时钟时,可以通过找到每个群组成员的最高事件计数来计算承诺向量。通过与本地向量时钟进行比较,该群组成员可以确定是否需要广播丢失消息。根据承诺向量,如果群组成员具有来自故障成员的最多的消息,则该群组成员负责将丢失消息从其接收缓冲存储器重新发送到其他群组成员。
刷新方法
刷新方法的状态机框图如图4所示。每个群组成员为发送的每条消息维护自己的事件计数。刷新方法的状态机由四个中间状态组成。
(1)等待客户端阻塞(WAIT_CLIENT_BLOCK)状态:收到刷新开始消息(_FLUSH.BEGIN)后,群组成员进入等待客户阻塞(WAIT_CLIENT_BLOCK)状态。
(2)等待确认(WAIT_COMMITTED)状态:一旦处于等待客户端阻塞(WAIT_CLIENT_BLOCK)状态,进程将调用原语函数block()以防止客户端发送新消息给群组。原语函数block()完成后,它会将刷新确认消息(_FLUSH.COMMITTED)广播到群组并进入等待确认(WAIT_COMMITTED)状态。为了处理多个故障,首次进入等待确认(WAIT_COMMITTED)状态时,轮次计数(_FLUSH.COMMIT_ID)变量被初始化。刷新确认消息(_FLUSH.COMMITTED)包含轮次计数和本地向量时钟。群组成员将根据其他群组成员发来的向量时钟计算承诺向量。发来的消息如果不能确认发生在本地向量时钟之前,将被保存在不稳定消息队列中。当该群组成员处于等待确认(WAIT_COMMITTED)状态时,
a.如果群组成员从所有其他群组成员接收到刷新确认消息(_FLUSH.COMMITTED),它将进入等待确认状态稳定(WAIT_STABLE)状态。
b.如果通过从群组守护进程接收通知消息以检测到另一个故障群组成员,则该群组成员将更新其群组成员列表并增加轮次计数(_FLUSH.COMMIT_ID)。然后它会将刷新确认消息(_FLUSH.COMMITTED)广播到群组并再次进入等待确认(WAIT_COMMITTED)状态。
c.如果进程收到带有更高轮次计数(_FLUSH.COMMIT_ID)的刷新确认消息(_FLUSH.COMMITTED),它将轮次计数(_FLUSH.COMMIT_ID)替换为收到的具有更高值的轮次计数(_FLUSH.COMMIT_ID)。然后它会将刷新确认消息(_FLUSH.COMMITTED)广播到群组并再次进入等待确认(WAIT_COMMITTED)状态。
(3)等待确认状态稳定(WAIT_STABLE)状态:一旦处于等待确认(WAIT_COMMITED)状态,该群组成员将等待当前视图中成员的刷新确认(_FLUSH.COMMITTED)消息。该进程将一直等到它从所有群组成员获得向量时钟。然后它将计算承诺向量时钟(_FLUSH.COMMITTED_VECTOR),该变量表示每个成员应具有的消息。如果群组成员发现其拥有最多的来自出错或者失联群组成员的消息,它将为代为发送其他群组成员缺失的消息。计算承诺向量时钟(_FLUSH.COMMITTED_VECTOR)后,群组成员将处理不稳定消息队列中的消息。群组成员收到承诺向量时钟(_FLUSH.COMMITTED_VECTOR)之外的消息,将被移出不稳定消息队列。然后该进程进入等待确认状态稳定(WAIT_STABLE)状态。当进程处于等待确认状态稳定(WAIT_STABLE)状态时,
a.如果群组成员根据承诺向量时钟(_FLUSH.COMMITTED_VECTOR)收到所有消息,则它将进入等待所有完成(WAIT_ALL_DONE)状态。
b.如果通过从群组守护进程接收通知消息以检测到另一个故障群组成员,则该群组成员将更新其群组成员列表并增加轮次计数(_FLUSH.COMMIT_ID)。然后它会将刷新确认消息(_FLUSH.COMMITTED)广播到群组并再次进入等待确认(WAIT_COMMITTED)状态。
c.如果进程收到含有有更高轮次计数(_FLUSH.COMMIT_ID)的刷新确认消息(_FLUSH.COMMITTED),它将轮次计数(_FLUSH.COMMIT_ID)替换为收到的具有更高值的轮次计数(_FLUSH.COMMIT_ID)。然后它会将刷新确认消息(_FLUSH.COMMITTED)广播到群组并再次进入等待确认(WAIT_COMMITTED)状态。
(4)等待所有完成(WAIT_ALL_DONE)状态:在从群组中的所有成员接收到具有相同轮次计数(_FLUSH.COMMIT_ID)的刷新确认消息(_FLUSH.COMMITTED)后,进程将在进入等待所有完成(WAIT_ALL_DONE)状态之前发送刷新完成消息(_FLUSH.DONE)。当群组成员处于等待所有完成(WAIT_ALL_DONE)状态时,
a.如果群组从所有活动进程接收到刷新完成消息(_FLUSH.DONE),则刷新方法结束(END)。
b.如果群组成员收到带有更高轮次计数(_FLUSH.COMMIT_ID)的刷新确认消息(_FLUSH.COMMITTED),它将轮次计数(_FLUSH.COMMIT_ID)替换为收到的具有更高值的轮次计数(_FLUSH.COMMIT_ID)。然后它会将刷新确认消息(_FLUSH.COMMITTED)广播到群组并再次进入等待确认(WAIT_COMMITTED)状态。
因此,本文给出了能够支持处理多个故障的虚拟同步的刷新方法。由于在任何状态和所涉及的所有实体(例如客户,代理或网络等)的刷新过程中都可能发生故障,因此可能需要多轮次来完成刷新过程。关键点是确保刷新过程不会停滞。在本发明中,通过来自群组守护进程的故障检测消息触发轮次计数增加时,群组成员的数量在相应减少。在天宇数流控制系统中,不及时响应的群组成员被视为故障。因此,在最坏的情况下,群组成员的数量可以减少到一个且不需要消息缓冲区同步。
此外,本申请实施例中,可以通过硬件处理器(hardware processor)来实现上述各个步骤。包括:处理器,用于存储处理器可执行指令的存储器;其中,该处理器被配置为执行上述方法,在此不再重复说明。
本领域的技术人员应明白,本申请的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
应理解,以上描述是说明性的而非限制性的。因此,本发明的范围由所附权利要求以及这些权利要求的等同者的全部范围来确定。

Claims (10)

1.一种由计算机实现的方法,用于异步群组通讯中确保群组中的所有在线群组成员实现同步,该同步的定义为所有在线群组成员接收到给定顺序的相同的消息,该方法使用了状态机模型,每个群组成员执行的步骤包括:
1.1.群组成员进入刷新同步状态后,向所有群组成员广播其本地向量时钟;
1.2.从所有在线群组成员接收其向量时钟;
1.3.根据从其他群组成员接收的向量时钟计算承诺向量时钟,所述承诺向量时钟表示每个群组成员达到同步应具有的向量时钟,具有来自故障成员最多消息的群组成员将丢失的消息广播到群组以确保每个在线群组成员收到相同的消息;
1.4.根据承诺向量等待接收所有缺失消息;
1.5.通过向群组的所有成员广播完成消息来确认消息同步的完成;
1.6.在退出刷新方法的执行之前等待来自进程组其余成员的完成消息。
2.根据权利要求1所述的方法,其特征在于:所述向量时钟由群组成员的本地事件计数以及所有其他群组成员的事件计数组成,这些事件计数通过该群组成员接受的消息中含有的向量时钟来更新。
3.根据权利要求1所述的方法,其特征在于:承诺向量时钟含有每一个群组成员在开启刷新同步前本地事件计数,承诺向量也用于发现来自故障成员的丢失消息。
4.根据权利要求1所述的方法,其特征在于:开始刷新进程后,群组中的所有成员阻塞其进程发送应用程序的新消息,在计算了承诺向量时钟后,群组成员可以继续接收本地向量时钟以后直到承诺向量时钟之间的消息。
5.根据权利要求1所述的方法,其特征在于:群组中的所有成员广播包含其执行轮次计数和本地向量时钟的消息。
6.根据权利要求1所述的方法,其特征在于:在刷新方法执行期间发现群组的其他故障成员时,该方法重新启动刷新方法,广播含有递加的轮次计数和本地向量时钟的消息来通知群组的所有成员丢弃上一轮次刷新方法的执行。
7.根据权利要求1所述的方法,其特征在于:在等待丢失消息或完成消息的同时接收到包含更高执行轮次标识的消息后,该方法将重新启动刷新方法并更新执行轮次标识。
8.根据权利要求1所述的方法,其特征在于:在承诺向量之后得到的消息在当前视图中不传递。
9.一种计算机设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为通过执行所述存储器中的可执行指令实现权利要求1至8任一项所述的方法。
10.一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1至8任一项所述的方法。
CN201910966479.7A 2019-10-12 2019-10-12 分布式网络中消息同步的方法 Active CN110708175B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910966479.7A CN110708175B (zh) 2019-10-12 2019-10-12 分布式网络中消息同步的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910966479.7A CN110708175B (zh) 2019-10-12 2019-10-12 分布式网络中消息同步的方法

Publications (2)

Publication Number Publication Date
CN110708175A CN110708175A (zh) 2020-01-17
CN110708175B true CN110708175B (zh) 2021-11-30

Family

ID=69198528

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910966479.7A Active CN110708175B (zh) 2019-10-12 2019-10-12 分布式网络中消息同步的方法

Country Status (1)

Country Link
CN (1) CN110708175B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112738240B (zh) * 2020-12-29 2023-02-03 航天科工网络信息发展有限公司 一种大规模分布式网络数据传输和协同的方法
CN115842691B (zh) * 2023-02-21 2023-05-23 北京友友天宇系统技术有限公司 分布式群组通信的消息顺序性保证方法、装置和设备
CN116015995B (zh) * 2023-02-21 2023-06-13 北京友友天宇系统技术有限公司 应用于分布式群组通信的消息原子性保证方法、装置和设备
CN116527617B (zh) * 2023-06-29 2023-10-03 北京华龙通科技有限公司 用于容迟容断网络的即时通信方法、系统、设备及介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7548972B2 (en) * 2002-10-23 2009-06-16 Cisco Technology, Inc. Method and apparatus for providing likely updates to views of group members in unstable group communication systems
US20080148275A1 (en) * 2006-10-30 2008-06-19 Alexander Krits Efficient Order-Preserving Delivery of Concurrent Messages
US7782801B2 (en) * 2007-05-29 2010-08-24 Red Hat, Inc. Flush support for virtual synchrony
US20090083441A1 (en) * 2007-09-24 2009-03-26 Microsoft Corporation Synchronization of web service endpoints in a multi-master synchronization environment
US20150172412A1 (en) * 2012-07-06 2015-06-18 Cornell University Managing dependencies between operations in a distributed system
CN102981928B (zh) * 2012-10-30 2015-07-15 清华大学 一种状态机复制方法
US9634918B2 (en) * 2012-12-13 2017-04-25 Level 3 Communications, Llc Invalidation sequencing in a content delivery framework
WO2015108520A1 (en) * 2014-01-16 2015-07-23 Hewlett-Packard Development Company, L. P. Node cluster synchronization
US20160378291A1 (en) * 2015-06-26 2016-12-29 Haworth, Inc. Object group processing and selection gestures for grouping objects in a collaboration system

Also Published As

Publication number Publication date
CN110708175A (zh) 2020-01-17

Similar Documents

Publication Publication Date Title
CN110708175B (zh) 分布式网络中消息同步的方法
US20220303367A1 (en) Concurrent process execution
CN110297801B (zh) 基于容错fpga的事务系统的正好一次事务语义的系统和方法
US5704032A (en) Method for group leader recovery in a distributed computing environment
US8743881B2 (en) Link data transmission method, node and system
US5748958A (en) System for utilizing batch requests to present membership changes to process groups
US20140280398A1 (en) Distributed database management
JP3589378B2 (ja) 分散コンピューティング環境におけるグループ・リーダ回復のためのシステム
JPH1040222A (ja) 分散コンピューティング環境におけるプロセッサ・グループへの加入を管理するための方法
EP0805393A2 (en) Method and apparatus for managing membership of a group of processors in a distributed computing environment
CN104620558A (zh) 用于支持分布式数据网格集群中的消息预处理的系统和方法
US6912713B2 (en) Program product for an application programming interface unifying multiple mechanisms
JPH1040229A (ja) 分散コンピューティング環境におけるプロセッサ・グループへの加入を管理するためのシステム
US7953837B2 (en) Persistent group membership in a distributing computing system
US8428065B2 (en) Group communication system achieving efficient total order and state synchronization in a multi-tier environment
US20160337467A1 (en) Method and system for information exchange utilizing an asynchronous persistent store protocol
Dolev et al. The design of the Transis system
JP2003067215A (ja) 分散システム、同システムの多重化制御方法および時刻管理方法
Jia Implementation of a reliable multicast protocol
JP4054323B2 (ja) 分散システムおよび同システムの時刻管理方法
Miedes et al. Dynamic Switching of Total-Order Broadcast Protocols.
Liu et al. IBRMP: A Reliable Multicast Protocol for InfiniBand
Arai et al. Group Protocol for Delivering Requests to Replicas
Kim et al. Epidemic-style causal order broadcasting only using partial view
Arnon et al. An Analysis of a Virtually Synchronous Protocol

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
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: The method of message synchronization in distributed network

Effective date of registration: 20230106

Granted publication date: 20211130

Pledgee: Xiamen International Bank Co.,Ltd. Beijing Branch

Pledgor: BEIJING YOYO TIANYU SYSTEM TECHNOLOGY Co.,Ltd.

Registration number: Y2023990000047