应用于分布式群组通信的消息原子性保证方法、装置和设备制造方法及图纸

技术编号:37359198 阅读:12 留言:0更新日期:2023-04-27 07:08
本申请的实施例提供了应用于分布式群组通信的消息原子性保证方法、装置、设备和计算机可读存储设备。所述方法包括群组内的成员接收到所述群组内任一成员发送的具有安全递交属性的消息后,将其放入缓存队列,向发送消息的成员发送应答消息;当所述发送消息的成员,接收到群组内其它所有成员发送的应答消息后,向群组内的其它所有成员发送安全送达消息;群组内的成员接收所述安全送达消息,将缓存中具有安全递交属性的消息递交给对应的应用。以此方式,解决了当前主备或主从的群组通信方式无法保障消息原子性问题,能够满足在实时的场景下,群组成员接收消息的原子性。群组成员接收消息的原子性。群组成员接收消息的原子性。

【技术实现步骤摘要】
应用于分布式群组通信的消息原子性保证方法、装置和设备


[0001]本申请的实施例涉及数据处理领域,尤其涉及应用于分布式群组通信的消息原子性保证方法、装置、设备和计算机可读存储设备。

技术介绍

[0002]在现代企业IT信息系统建设中,分布式系统越来越普遍且发挥着非常重要的作用。越来越多的系统需要靠分散在不同节点的软件共同完成某个相同的逻辑,利用分散资源提升总体逻辑的可靠性和性能等。在传统的解决方法中,软件能够利用的方法主要包括主备或主从(群成员中有一个为主,其他为从或备)。
[0003]但是,基于主备或主从的群组通信方式,在保障消息原子性时,容易出现性能瓶颈。每一次消息传递均需要保证所有成员都收到,所以需要跟每个成员都进行确认,完成之后再进行下一个消息,传输效率较低;同时,消息原子性保证需要保证群组成员收到消息的统一性(全收到或全收不到),现有的主备或主从的群组通信方式无法实现此需求,从而无法保障消息原子性问题。

技术实现思路

[0004]根据本申请的实施例,提供了一种应用于分布式群组通信的消息原子性保证方案。
[0005]在本申请的第一方面,提供了一种应用于分布式群组通信的消息原子性保证方法。该方法包括:群组内的成员接收到所述群组内任一成员发送的具有安全递交属性的消息后,将其放入缓存队列,向发送消息的成员发送应答消息;当所述发送消息的成员,接收到群组内其它所有成员发送的应答消息后,向群组内的其它所有成员发送安全送达消息;群组内的成员接收所述安全送达消息,将缓存中具有安全递交属性的消息递交给对应的应用。
[0006]进一步地,所述应答消息包括SAFE 应答消息。
[0007]进一步地,所述安全送达消息包括SAFE DELIVERY消息。
[0008]进一步地,所述分布式群组通过如下方式进行构建:接收新成员发送的加入群组请求,向群组内的成员发送Block事件;群组内的成员接收到所述Block事件后,调用Block请求;当群组内的所有成员均调用Block请求后,通过群组内的成员获取状态数据事件;所述新成员基于所述状态数据事件更新自身的状态数据,更新完成后,向系统发送设置状态完成消息;响应于所述设置状态完成消息,将所述新成员加入群组,向群组内的其它成员发送Unblock事件和群组视图的变更事件,完成分布式群组的构建。
[0009]进一步地,所述调用Block请求,之后还包括:群组内的成员响应于所述Block请求,对自身对应应用的状态进行调整。
[0010]进一步地,还包括:群组建立完成后,对群成员之间的存活状态进行探测。
[0011]进一步地,所述对群成员之间的存活状态进行探测包括:通过每个群组成员的心跳信息,检测群成员之间的存活状态。
[0012]在本申请的第二方面,提供了一种应用于分布式群组通信的消息原子性保证装置。该装置包括:第一发送模块,用于群组内的成员接收到所述群组内任一成员发送的具有安全递交属性的消息后,将其放入缓存队列,向发送消息的成员发送应答消息;第二发送模块,用于当所述发送消息的成员,接收到群组内其它所有成员发送的应答消息后,向群组内的其它所有成员发送安全送达消息;处理模块,用于群组内的成员接收所述安全送达消息,将缓存中具有安全递交属性的消息递交给对应的应用。
[0013]在本申请的第三方面,提供了一种电子设备。该电子设备包括:存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
[0014]在本申请的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如根据本申请的第一方面的方法。
[0015]本申请实施例提供的应用于分布式群组通信的消息原子性保证方法,通过群组内的成员接收到所述群组内任一成员发送的具有安全递交属性的消息后,将其放入缓存队列,向发送消息的成员发送应答消息;当所述发送消息的成员,接收到群组内其它所有成员发送的应答消息后,向群组内的其它所有成员发送安全送达消息;群组内的成员接收所述安全送达消息,将缓存中具有安全递交属性的消息递交给对应的应用,实现了消息原子性保障,如图1所示,针对同一消息,群组内的成员接收到的消息是统一的(全收到或全收不到)。
[0016]应当理解,
技术实现思路
部分中所描述的内容并非旨在限定本申请的实施例的关键或重要特征,亦非用于限制本申请的范围。本申请的其它特征将通过以下的描述变得容易理解。
附图说明
[0017]结合附图并参考以下详细说明,本申请各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:图1示出了根据本申请的实施例的原子性语义示意图;图2示出了根据本申请的实施例的应用于分布式群组通信的消息原子性保证方法的流程图;图3示出了根据本申请的实施例的保障消息原子性的流程图;图4示出了根据本申请的实施例的应用于分布式群组通信的消息原子性保证装置的方框图;图5示出了适于用来实现本申请实施例的终端设备或服务器的结构示意图。
实施方式
[0018]为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本公开保护的范围。
[0019]另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0020]图2示出了根据本公开实施例的应用于分布式群组通信的消息原子性保证方法的流程图。所述方法包括:S210,群组内的成员接收到所述群组内任一成员发送的具有安全递交属性的消息后,将其放入缓存队列,向发送消息的成员发送应答消息。
[0021]在一些实施例中,如图3所示,群组内的任一成员向组内发送一条带有安全递交属性的消息(Msg
k
),群组内的所有成员接收到所述Msg
k
后,将其放入缓存队列中(不递交应用进行处理);同时向发送SAFE应答消息,参考图3中的Msg
k
's SAFE ACK。
[0022]S220,当所述发送消息的成员,接收到群组内其它所有成员发送的应答消息后,向群组内的其它所有成员发送安全送达消息。
[0023]在一些实施例中,当所述发送消息的成员接收到群组内其它所有成员发送的SAFE应答消息后(表示所有成员均收到了具有安全递交属性的消息),向群组内的所有成员发送安全送达消息,即SAFE DELIVERY消息,参考图3中的Msgk's SAFE DELIVERY。
[0024]S230,群组内的成员接收所述安全送达消息,将缓存中具有安全本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用于分布式群组通信的消息原子性保证方法,其特征在于,包括:群组内的成员接收到所述群组内任一成员发送的具有安全递交属性的消息后,将其放入缓存队列,向发送消息的成员发送应答消息;当所述发送消息的成员,接收到群组内其它所有成员发送的应答消息后,向群组内的其它所有成员发送安全送达消息;群组内的成员接收所述安全送达消息,将缓存中具有安全递交属性的消息递交给对应的应用。2.根据权利要求1所述的方法,其特征在于,所述应答消息包括SAFE 应答消息。3.根据权利要求2所述的方法,其特征在于,所述安全送达消息包括SAFE DELIVERY消息。4.根据权利要求3所述的方法,其特征在于,所述分布式群组通过如下方式进行构建:接收新成员发送的加入群组请求,向群组内的成员发送Block事件;群组内的成员接收到所述Block事件后,调用Block请求;当群组内的所有成员均调用Block请求后,通过群组内的成员获取状态数据事件;所述新成员基于所述状态数据事件更新自身的状态数据,更新完成后,向系统发送设置状态完成消息;响应于所述设置状态完成消息,将所述新成员加入群组,向群组内的其它成员发送Unblock事件和群组视图的变更事件,完成分布式群组的构建。5.根据权利要求4所述的方...

【专利技术属性】
技术研发人员:姚宏宇
申请(专利权)人:北京友友天宇系统技术有限公司
类型:发明
国别省市:

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

1