一种消息处理方法、装置、系统、服务器及存储介质制造方法及图纸

技术编号:22333284 阅读:53 留言:0更新日期:2019-10-19 12:52
本发明专利技术实施例公开了一种消息处理方法、装置、系统、服务器及存储介质。其中,方法包括:消费服务器从队列存储服务器集群中的对应分布式消息队列中获取待处理消息进行处理,并更新与分布式消息队列匹配的消息处理时间;检测队列存储服务器集群中是否存在消息处理时间与当前系统时间的差值超过设定阈值的目标分布式消息队列;如果检测到存在目标分布式消息队列,则根据预设的接管规则判断是否接管目标分布式消息队列;如果确定接管目标分布式消息队列,则对目标分布式消息队列中的待处理消息进行处理。本发明专利技术实施例可以及时对消息处理时间与当前系统时间的差值超过设定阈值的目标分布式消息队列进行接管处理,提高消息处理效率。

A message processing method, device, system, server and storage medium

【技术实现步骤摘要】
一种消息处理方法、装置、系统、服务器及存储介质
本专利技术实施例涉及消息处理技术,尤其涉及一种消息处理方法、装置、系统、服务器及存储介质。
技术介绍
在面向消息的处理机制中,消息分发服务器将获取的待处理消息分发至消息队列。消费服务器从消息队列中获取待处理消息并进行相应的处理。现有技术中,一般预先设置消息队列和消费服务器的对应关系。例如,一个消息队列对应一个消费服务器。消息分发服务器根据预设消息分发规则,将获取的多个待处理消息分发至各个消息队列。消费服务器从对应的消息队列中获取待处理消息并进行相应的处理。专利技术人在实现本专利技术的过程中发现,现有技术的缺陷在于,未考虑到消费服务器应的实际处理能力。对于处理能力较低的消费服务器,容易导致与该处理能力较低的消费服务器对应的消息队列中的待处理消息大量积压,从而降低了消息处理的及时性,降低了消息处理效率。
技术实现思路
本专利技术实施例提供一种消息处理方法、装置、系统、服务器及存储介质,以优化现有的消息处理方法,提升消息处理效率。第一方面,本专利技术实施例提供了一种消息处理方法,包括:消费服务器从队列存储服务器集群中的对应分布式消息队列中获取待处理消息进行处理,并更新与分布式消息队列匹配的消息处理时间;消费服务器检测队列存储服务器集群中是否存在消息处理时间与当前系统时间的差值超过设定阈值的目标分布式消息队列;消费服务器如果检测到队列存储服务器集群中存在消息处理时间与当前系统时间的差值超过设定阈值的目标分布式消息队列,则根据预设的接管规则判断是否接管目标分布式消息队列;消费服务器如果确定接管目标分布式消息队列,则对目标分布式消息队列中的待处理消息进行处理。第二方面,本专利技术实施例还提供了一种消息处理装置,包括:消息处理模块,用于从队列存储服务器集群中的对应分布式消息队列中获取待处理消息进行处理,并对应更新与分布式消息队列匹配的消息处理时间;队列检测模块,用于检测队列存储服务器集群中是否存在消息处理时间与当前系统时间的差值超过设定阈值的目标分布式消息队列;规则判断模块,用于如果检测到队列存储服务器集群中存在消息处理时间与当前系统时间的差值超过设定阈值的目标分布式消息队列,则根据预设的接管规则判断是否接管目标分布式消息队列;消息接管模块,用于如果确定接管目标分布式消息队列,则对目标分布式消息队列中的待处理消息进行处理。第三方面,本专利技术实施例还提供了一种消息处理系统,包括:队列存储服务器集群,消息分发服务器以及至少一个消费服务器;队列存储服务器集群,用于存储与至少一个消费服务器对应的分布式消息队列;消息分发服务器,用于通过统一消息接口接收至少一条待处理消息,并根据待处理消息的消息类型,将待处理消息分发至队列存储服务器集群中对应的分布式消息队列中;至少一个消费服务器,用于执行如本专利技术实施例所述的消息处理方法。第四方面,本专利技术实施例还提供了一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如本专利技术实施例所述的消息处理方法。第五方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如本专利技术实施例所述的消息处理方法。本专利技术实施例的技术方案,通过消费服务器检测队列存储服务器集群中是否存在消息处理时间与当前系统时间的差值超过设定阈值的目标分布式消息队列,并在检测到队列存储服务器集群中存在目标分布式消息队列时,根据预设的接管规则判断消费服务器是否接管目标分布式消息队列,在消费服务器确定接管目标分布式消息队列后,由消费服务器对目标分布式消息队列中的待处理消息进行处理,可以对各个分布式消息队列的消息处理时间进行监控,可以及时对消息处理时间与当前系统时间的差值超过设定阈值的目标分布式消息队列进行接管处理,从而采用能够正常处理消息的消费服务器继续处理目标分布式消息队列中的待处理消息,防止目标分布式消息队列中的待处理消息大量积压,提高消息处理效率。附图说明图1为本专利技术实施例一提供的一种消息处理方法的流程图;图2为本专利技术实施例二提供的一种消息处理方法的流程图;图3为本专利技术实施例三提供的一种消息处理方法的流程图;图4为本专利技术实施例四提供的一种消息处理装置的结构示意图;图5为本专利技术实施例五提供的一种消息处理系统的结构示意图;图6为本专利技术实施例六提供的一种服务器的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。实施例一图1为本专利技术实施例一提供的一种消息处理方法的流程图。本实施例可适用于对消息进行处理的情况,该方法可以由本专利技术实施例提供的消息处理装置来执行,该装置可采用软件和/或硬件的方式实现,并一般可集成在消费服务器中。如图1所示,本实施例的方法具体包括:步骤101、消费服务器从队列存储服务器集群中的对应分布式消息队列中获取待处理消息进行处理,并更新与分布式消息队列匹配的消息处理时间。其中,消息分发服务器通过统一消息接口接收至少一条待处理消息,并根据待处理消息的消息类型,将待处理消息分发至队列存储服务器集群中对应的分布式消息队列中。可选的,队列存储服务器集群为一个Redis存储系统。Redis作为一种高性能的键值对(Key-Value)数据库,常用于实现对于数据的存储操作与查询操作。队列存储服务器集群中的服务器为Redis节点。为了增大数据的存储容量,同时部署多个Redis节点,构建出队列存储服务器集群。队列存储服务器集群用于存储与至少一个消费服务器对应的分布式消息队列。消费服务器是用于对待处理消息进行处理的服务器。预先建立分布式消息队列与消息类型的对应关系。同时建立分布式消息队列与消费服务器的对应关系。每一个分布式消息队列有对应的消息类型和消费服务器。具体的,当一条待处理消息的消息类型与某个分布式消息队列所对应的消息类型一致时,消息分发服务器将待处理消息分发至该分布式消息队列中。与该分布式消息队列对应的消费服务器对该分布式消息队列中的待处理消息进行处理。可选的,消费服务器从队列存储服务器集群中的对应分布式消息队列中获取待处理消息进行处理时,将与分布式消息队列匹配的消息处理时间更新为当前系统时间。步骤102、消费服务器检测队列存储服务器集群中是否存在消息处理时间与当前系统时间的差值超过设定阈值的目标分布式消息队列:若是,则执行步骤103;若否,则返回执行步骤101。可选的,消费服务器获取队列存储服务器集群中的每一个分布式消息队列的消息处理时间,计算每一个分布式消息队列的消息处理时间与当前系统时间的差值。针对每一个分布式消息队列,判断对应的消息处理时间与当前系统时间的差值是否超过本文档来自技高网...

【技术保护点】
1.一种消息处理方法,其特征在于,包括:消费服务器从队列存储服务器集群中的对应分布式消息队列中获取待处理消息进行处理,并更新与所述分布式消息队列匹配的消息处理时间;所述消费服务器检测所述队列存储服务器集群中是否存在消息处理时间与当前系统时间的差值超过设定阈值的目标分布式消息队列;所述消费服务器如果检测到所述队列存储服务器集群中存在消息处理时间与当前系统时间的差值超过设定阈值的目标分布式消息队列,则根据预设的接管规则判断是否接管所述目标分布式消息队列;所述消费服务器如果确定接管所述目标分布式消息队列,则对所述目标分布式消息队列中的待处理消息进行处理。

【技术特征摘要】
1.一种消息处理方法,其特征在于,包括:消费服务器从队列存储服务器集群中的对应分布式消息队列中获取待处理消息进行处理,并更新与所述分布式消息队列匹配的消息处理时间;所述消费服务器检测所述队列存储服务器集群中是否存在消息处理时间与当前系统时间的差值超过设定阈值的目标分布式消息队列;所述消费服务器如果检测到所述队列存储服务器集群中存在消息处理时间与当前系统时间的差值超过设定阈值的目标分布式消息队列,则根据预设的接管规则判断是否接管所述目标分布式消息队列;所述消费服务器如果确定接管所述目标分布式消息队列,则对所述目标分布式消息队列中的待处理消息进行处理。2.根据权利要求1所述的方法,其特征在于,所述根据预设的接管规则判断是否接管所述目标分布式消息队列,包括:所述消费服务器获取其他处于在线状态的消费服务器的当前负载;所述消费服务器判断所述消费服务器的当前负载是否是全部当前负载中最低的当前负载;所述消费服务器如果确定所述消费服务器的当前负载是全部当前负载中最低的当前负载,则接管所述目标分布式消息队列。3.根据权利要求1所述的方法,其特征在于,所述对所述目标分布式消息队列中的待处理消息进行处理,包括:所述消费服务器对从队列存储服务器集群中的对应分布式消息队列中获取的待处理消息以及所述目标分布式消息队列中的待处理消息,进行交替处理。4.根据权利要求1所述的方法,其特征在于,在消费服务器从队列存储服务器集群中的对应分布式消息队列中获取待处理消息进行处理之后,还包括:所述消费服务器在监听到所述队列存储服务器集群的消费服务器状态表中的下线状态时,根据预设的接管规则判断是否接管与所述下线状态对应的分布式消息队列;所述消费服务器如果确定接管与所述下线状态对应的分布式消息队列,则对与所述下线状态对应的分布式消息队列中的待处理消息进行处理。5.根据权利要求4所述的方法,其特征在于,还包括:所述消费服务器在正常下线前,将所述队列存储服务器集群的消费服务器状态表中,与所述消费服务器对应的在线状态更新为下线状态,以使其他消费服务器在监听到所述下线状态时,根据预设的接管规...

【专利技术属性】
技术研发人员:宋大伟张义
申请(专利权)人:苏州亿歌网络科技有限公司
类型:发明
国别省市:江苏,32

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

1