基于多中心的消息发布方法、装置、电子设备和存储介质制造方法及图纸

技术编号:37233025 阅读:21 留言:0更新日期:2023-04-20 23:15
本发明专利技术实施例提供了基于多中心的消息发布方法、装置、电子设备和存储介质。该方法包括:从多个多中心消息中间件中确定目标中心消息中间件;发布方消息组件从预先创建的多中心实例汇总集合中确定目标多中心实例集合,从目标多中心实例集合中确定目标中心实例;目标中心实例为目标多中心实例集合中通过连通性探测的中心实例;发布方消息组件根据目标中心实例将发布消息发送至目标中心消息中间件。本发明专利技术实施例在消息发布时,可以从多中心实例汇总集合中的目标多中心实例集合中获取目标中心实例,当其中目标中心实例出现故障时,可以根据其他的中心实例发布消息,以解决当某个中心消息中间件出现故障时,导致整个系统故障瘫痪、不可用的问题。不可用的问题。不可用的问题。

【技术实现步骤摘要】
基于多中心的消息发布方法、装置、电子设备和存储介质


[0001]本专利技术涉及消息发布
,特别是涉及一种基于多中心的消息发布方法、一种基于多中心的消息发布装置、一种电子设备和一种计算机可读存储介质。

技术介绍

[0002]消息发布是将多媒体消息根据消息的内容发布给对应的用户,使用户可以及时进行查阅,随着人民群众生活水平的不断提高,对各个消息服务部门消息发布质量和可靠性的需求也越来越高,城市规模的不断扩大,用户数的激增都给消息服务部门的服务质量带来很大的挑战。
[0003]在现有技术中,按照传统消息组件的设计模式,发布者发布消息至单中心消息中间件供消费者消费,当中心消息中间件出现网络故障或者中心节点软硬件故障时,将导致整个系统故障瘫痪,直接导致整个系统不可用,后续业务将直接中断。因此,急需一种可以在中心消息中间件出现网络故障或者中心节点软硬件故障时,也能进行正常交易的方法,保证即使出现故障也不影响业务进行,从而达到系统高可用性。

技术实现思路

[0004]鉴于上述问题,提出了本专利技术实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于多中心的消息发布方法、一种基于多中心的消息发布装置、一种电子设备和一种计算机可读存储介质。
[0005]为了解决上述问题,本专利技术实施例公开了一种基于多中心的消息发布方法,所述方法应用于发布方服务器,所述发布方服务器与多个多中心消息中间件通信连接,多个所述多中心消息中间件与消费方服务器通信连接,所述发布方服务器包括发布方应用系统和发布方消息组件,所述消费方服务器包括消费方消息组件和消费方应用系统,所述方法包括:
[0006]所述发布方应用系统向所述发布方消息组件发送发布消息;
[0007]所述发布方消息组件根据所述发布消息从多个所述多中心消息中间件中确定目标中心消息中间件;
[0008]所述发布方消息组件从预先创建的多中心实例汇总集合中确定目标多中心实例集合,从所述目标多中心实例集合中确定目标中心实例;所述目标中心实例为所述目标多中心实例集合中通过连通性探测的中心实例;
[0009]所述发布方消息组件根据所述目标中心实例将所述发布消息发送至所述目标中心消息中间件,以使所述消费方消息组件从所述目标中心消息中间件中获取所述发布消息,进而使得所述消费方应用系统消费所述发布消息。
[0010]可选地,所述从所述目标多中心实例集合中确定目标中心实例,包括:
[0011]所述发布方消息组件从所述目标多中心实例集合中获取上一次发布消息使用的中心实例;
[0012]若获取到所述上一次发布消息使用的中心实例,则对所述上一次发布消息使用的中心实例进行连通性探测;
[0013]若连通性探测通过,则将所述上一次发布消息使用的中心实例确定为目标中心实例。
[0014]可选地,所述从所述目标多中心实例集合中确定目标中心实例,还包括:
[0015]若未获取到所述上一次发布消息使用的中心实例,或,所述上一次发布消息使用的中心实例的连通性探测未通过,则从所述目标多中心实例集合中获取主中心实例,并对所述主中心实例进行连通性探测;
[0016]若所述主中心实例连通性探测通过,则将所述主中心实例确定为目标中心实例。
[0017]可选地,所述从所述目标多中心实例集合中确定目标中心实例,还包括:
[0018]若所述主中心实例的连通性探测未通过,则从所述目标多中心实例集合中获取从中心实例,并对所述从中心实例进行连通性探测;
[0019]若所述从中心实例连通性探测通过,则将所述从中心实例确定为目标中心实例;
[0020]若所述从中心实例连通性探测未通过,则依次从所述目标多中心实例集合中获取下一个从中心实例,并对所述下一个从中心实例进行连通性探测,重复上一步骤的过程;
[0021]若所述目标多中心实例集合中所有从中心实例的连通性探测都未通过,则向所述发布方应用系统返回发布失败的消息。
[0022]可选地,所述发布方应用系统向所述发布方消息组件发送发布消息之前,所述方法还包括:
[0023]所述发布方消息组件启动多中心管理模块;
[0024]所述多中心管理模块加载所述发布方消息组件的配置文件,并根据所述配置文件中每个中心实例的状态消息创建多个中心实例;所述状态消息包括是否为主中心实例标识、中间件类型、中间件地址;
[0025]所述多中心管理模块将每个所述配置文件中的所述多个中心实例储存到内存空间的所述目标多中心实例集合中,将多个所述配置文件对应的多个所述目标多中心实例集合储存到内存空间的多中心实例汇总集合中。
[0026]可选地,所述发布消息包括文件名,所述发布方消息组件根据所述发布消息从多个所述多中心消息中间件中确定目标中心消息中间件,包括:
[0027]所述发布方消息组件将所述发布消息中的所述文件名与多个所述多中心消息中间件中的每一个多中心消息中间件的文件名进行匹配,将匹配成功的中心消息中间件确定为目标中心消息中间件。
[0028]可选地,所述若获取到所述上一次发布消息使用的中心实例,则对所述上一次发布消息使用的中心实例进行连通性探测,包括:
[0029]所述发布方消息组件通过所述上一次发布消息使用的中心实例,向所述目标中心消息中间件发送获取状态请求;
[0030]所述发布方消息组件判断所述获取状态请求是否发送成功,若所述获取状态请求未发送成功,则所述连通性探测不通过;
[0031]若所述获取状态请求发送成功,则所述目标中心消息中间件获取自身的状态消息,并将所述状态消息发送至所述发布方消息组件;
[0032]所述发布方消息组件对所述状态消息进行判断,若所述状态消息为不可用,则所述连通性探测不通过,若所述状态消息为可用,则所述连通性探测通过。
[0033]可选地,所述方法还包括:
[0034]所述发布方消息组件判断所述目标中心实例是否为主中心实例;
[0035]若不是,则在不影响消息发布过程的情况下,对所述主中心实例的网络和所述主中心实例对应的多中心消息中间件的状态消息进行探测;
[0036]若探测通过,则将上一次发布消息使用的中心实例确定为所述主中心实例;
[0037]若探测不通过,则每隔预设时间,对所述主中心实例的网络和所述主中心实例对应的多中心消息中间件的状态消息进行探测。
[0038]可选地,所述发布消息包括文件名,所述发布方消息组件根据所述发布消息从多个所述多中心消息中间件中确定目标中心消息中间件,包括:
[0039]所述发布方消息组件对所述目标中心消息中间件进行检测;
[0040]若所述目标中心消息中间件故障,则从所述多中心管理模块选择一个从中心消息中间件,对所述从中心消息中间件进行检测;
[0041]若所述从中心消息中间件无故障,则将所述从中心消息中间件确定为目标中心消息中间件。
[0042]相应的,本专利技术实施例还公开了一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于多中心的消息发布方法,其特征在于,所述方法应用于发布方服务器,所述发布方服务器与多个多中心消息中间件通信连接,多个所述多中心消息中间件与消费方服务器通信连接,所述发布方服务器包括发布方应用系统和发布方消息组件,所述消费方服务器包括消费方消息组件和消费方应用系统,所述方法包括:所述发布方应用系统向所述发布方消息组件发送发布消息;所述发布方消息组件根据所述发布消息从多个所述多中心消息中间件中确定目标中心消息中间件;所述发布方消息组件从预先创建的多中心实例汇总集合中确定目标多中心实例集合,从所述目标多中心实例集合中确定目标中心实例;所述目标中心实例为所述目标多中心实例集合中通过连通性探测的中心实例;所述发布方消息组件根据所述目标中心实例将所述发布消息发送至所述目标中心消息中间件,以使所述消费方消息组件从所述目标中心消息中间件中获取所述发布消息,进而使得所述消费方应用系统消费所述发布消息。2.根据权利要求1所述的方法,其特征在于,所述从所述目标多中心实例集合中确定目标中心实例,包括:所述发布方消息组件从所述目标多中心实例集合中获取上一次发布消息使用的中心实例;若获取到所述上一次发布消息使用的中心实例,则对所述上一次发布消息使用的中心实例进行连通性探测;若连通性探测通过,则将所述上一次发布消息使用的中心实例确定为目标中心实例。3.根据权利要求2所述的方法,其特征在于,所述从所述目标多中心实例集合中确定目标中心实例,还包括:若未获取到所述上一次发布消息使用的中心实例,或,所述上一次发布消息使用的中心实例的连通性探测未通过,则从所述目标多中心实例集合中获取主中心实例,并对所述主中心实例进行连通性探测;若所述主中心实例连通性探测通过,则将所述主中心实例确定为目标中心实例。4.根据权利要求3所述的方法,其特征在于,所述从所述目标多中心实例集合中确定目标中心实例,还包括:若所述主中心实例的连通性探测未通过,则从所述目标多中心实例集合中获取从中心实例,并对所述从中心实例进行连通性探测;若所述从中心实例连通性探测通过,则将所述从中心实例确定为目标中心实例;若所述从中心实例连通性探测未通过,则依次从所述目标多中心实例集合中获取下一个从中心实例,并对所述下一个从中心实例进行连通性探测,重复上一步骤的过程;若所述目标多中心实例集合中所有从中心实例的连通性探测都未通过,则向所述发布方应用系统返回发布失败的消息。5.根据权利要求1所述的方法,其特征在于,所述发布方应用系统向所述发布方消息组件发送发布消息之前,所述方法,还包括:所述发布方消息组件启动多中心管理模块;所述多中心管理模块加载所述发布方消息组件的配置文件,并根据所述配置文件中每
个中心实例的状态消息创建多个中心实例;所述状态消息包括是否为主中心实例标识、中间件类型、中间件地址;所述多中心管理模块将每个所述配置文件中的所述多个中心实例储存到内存空间的所述目标多中心实例集合中,将多个所述配置文件对应的多个所述目标多中心实例集合储存到内存空间的多中心实例汇总集合中。6.根据权利要求1所述的方法,其特征在于,所述发布消息包括文件名,所述发布方消息组件根据所述发布消息从多个所述多中心消息中间件中确定目标中心消息中间件,包括:所述发布方消息组件将所述发布消息中的所述文件名与多个所...

【专利技术属性】
技术研发人员:董滨陈应龙肖方陈金涛
申请(专利权)人:北京先进数通信息技术股份公司
类型:发明
国别省市:

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

1