CN110928704B - 消息处理方法、消息处理系统、服务器及计算机存储介质 - Google Patents
消息处理方法、消息处理系统、服务器及计算机存储介质 Download PDFInfo
- Publication number
- CN110928704B CN110928704B CN201811103287.5A CN201811103287A CN110928704B CN 110928704 B CN110928704 B CN 110928704B CN 201811103287 A CN201811103287 A CN 201811103287A CN 110928704 B CN110928704 B CN 110928704B
- Authority
- CN
- China
- Prior art keywords
- server
- information
- message processing
- operation information
- processing method
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- 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/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/566—Grouping or aggregating service requests, e.g. for unified processing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请提供了一种消息处理方法、消息处理系统、服务器及计算机存储介质。该消息处理方法应用于消息处理系统,消息处理系统包括至少一个客户端、第一服务器和至少一个第二服务器;客户端与第一服务器建立通信连接,第一服务器与第二服务器建立通信连接;该消息处理方法包括:第二服务器订阅第一服务器的主题;客户端发送与主题相关的消息给第一服务器,其中,消息包括操作信息;在第二服务器监听到第一服务器接收的操作信息时,第二服务器发送请求信息给第一服务器;第一服务器根据请求信息将操作信息发送给第二服务器。通过上述消息处理方法,省略第三方消息队列的扩展和部署,降低成本。
Description
技术领域
本申请涉及计算机应用技术领域,特别是涉及一种消息处理方法、消息处理系统、服务器及计算机存储介质。
背景技术
在计算机科学中,消息队列是一种进程间通信或同一进程的不同线程间的通信方式。消息队列模型提供了异步的通信协议,可以使通信参与者在空间和时间上解耦。消息的生产者和消费者无需直接通信,消息被发送到一个队列进行保存,知道消费者从这个队列中取走消息。在消息队伍模型中,每一条消息只会被一个消费者消费,即一条消息有且只被消费一次。
采用消息队列这种通信方式,需要加入第三方的消息队列。当前技术中,第三方消息队列大多设计架构重,扩展及部署门槛较高,且跨平台调用麻烦,使用成本和维护成本高。
发明内容
本申请提供了一种消息处理方法、消息处理系统、服务器及计算机存储介质,主要解决的技术问题是如何降低通信中消息处理的成本。
为解决上述技术问题,本申请提供了一种消息处理方法,所述消息处理方法应用于消息处理系统,所述消息处理系统包括至少一个客户端、第一服务器和至少一个第二服务器;所述客户端与所述第一服务器建立通信连接,所述第一服务器与所述第二服务器建立通信连接;
所述消息处理方法包括:
所述第二服务器订阅所述第一服务器的主题;
所述客户端发送与所述主题相关的消息给所述第一服务器,其中,所述消息包括操作信息;
在所述第二服务器监听到所述第一服务器接收的所述操作信息时,所述第二服务器发送请求信息给所述第一服务器;
所述第一服务器根据所述请求信息将所述操作信息发送给所述第二服务器。
为解决上述技术问题,本申请还提供了一种消息处理系统,所述消息处理系统包括至少一个客户端、第一服务器和至少一个第二服务器;所述客户端与所述第一服务器建立通信连接,所述第一服务器与所述第二服务器建立通信连接;
所述第二服务器用于订阅所述第一服务器的主题;
所述客户端用于发送与所述主题相关的消息给所述第一服务器,其中,所述消息包括操作信息;
所述第二服务器还用于监听所述第一服务器接收的所述操作信息,并发送请求信息给所述第一服务器;
所述第一服务器根据所述请求信息将所述操作信息发送给所述第二服务器。
为解决上述技术问题,本申请还提供了另一种消息处理方法,所述消息处理方法应用于第一服务器;其中,所述第一服务器分别与至少一个所述客户端和至少一个所述第二服务器建立通信连接;
所述消息处理方法包括:
所述第一服务器设置至少一个主题;
所述第一服务器接收所述客户端发送的与所述主题相关的消息,其中,所述消息包括操作信息;
所述第一服务器接收所述第二服务器的请求信息,并根据所述请求信息将所述操作信息发送给所述第二服务器,其中,所述第二服务器成功订阅所述第一服务器的所述主题。
为解决上述技术问题,本申请还提供了一种服务器,所述服务器包括通信器和处理器,其中,所述通信器与所述处理器耦接;
所述通信器用于通信连接至少一个所述客户端和至少一个所述第二服务器;
所述处理器用于:
设置至少一个主题;
接收所述客户端发送的与所述主题相关的消息,其中,所述消息包括操作信息;
接收所述第二服务器的请求信息,并根据所述请求信息将所述操作信息发送给所述第二服务器,其中,所述第二服务器成功订阅所述第一服务器的所述主题。
为解决上述技术问题,本申请还提供了一种计算机存储介质,所述计算机存储介质存储有程序数据,所述程序数据能够被执行以实现上述的消息处理方法。
与现有技术相比,本申请的有益效果是:第二服务器订阅第一服务器的主题;客户端发送与主题相关的消息给第一服务器,其中,消息包括操作信息;在第二服务器监听到第一服务器接收的操作信息时,第二服务器发送请求信息给第一服务器,当第一服务器接收到操作信息时,第二服务器主动发送请求信息到第一服务器,请求执行对应操作信息;第一服务器根据请求信息将操作信息发送给第二服务器。通过上述消息处理方法,本申请能够省略第三方消息队列的扩展和部署,降低成本。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1是本申请消息处理方法第一实施例的流程示意图;
图2是图1中消息处理系统的结构示意图;
图3是本申请消息处理方法第二实施例的流程示意图;
图4是本申请消息处理方法第三实施例的流程示意图;
图5是本申请消息处理方法第四实施例的流程示意图;
图6是本申请消息处理系统一实施例的结构示意图;
图7是本申请服务器一实施例的结构示意图;
图8是本申请服务器又一实施例的结构示意图;
图9是本申请计算机存储介质一实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提出了一种消息处理方法,具体请参见图1和图2,图1是本申请消息处理方法第一实施例的流程示意图;图2是图1中消息处理系统的结构示意图。
本实施例的消息处理方法应用于消息处理系统20,如图2所示,消息处理系统20包括至少一个客户端21、第一服务器22和至少一个第二服务器23。其中,客户端21与第一服务器22建立通信连接,第一服务器22与第二服务器23建立通信连接。
在本实施例中,客户端21作为消息的生产者,可为手机、电脑、掌上电脑或其它智能设备。用户通过客户端21输入用户指令,从而选择所需要的业务功能,客户端21根据用户指令生成消息,并发送给第一服务器22。
第一服务器22作为消息管理器,用于管理客户端21的消息,并将消息发送给对应的第二服务器23。
第二服务器23作为消息的消费者,用于消费客户端21的消息,并将消费结果直接反馈给对应的客户端21,或者通过第一服务器22将消费结果反馈给对应的客户端21。
如图1所示,该消息处理方法包括以下步骤:
S11:第二服务器订阅第一服务器的主题。
其中,第二服务器23订阅第一服务器22的一个或多个主题。
具体地,消息处理系统20中包括多个第二服务器23,其中,多个第二服务器23均与第一服务器22建立通信连接。第一服务器22设置了多个主题,每个第二服务器23均可订阅一个或多个主题,同样地,多个第二服务器23可订阅同一主题。
当第二服务器23成功订阅第一服务器22的一个或多个主题时,第二服务器23与订阅的主题构成了一种订阅关系,第二服务器23监听第一服务器22中与订阅的主题相关的操作信息。具体地,当第一服务器22接收到与订阅的主题相关的操作信息时,第一服务器22无需发送信息通知第二服务器23,对应的第二服务器23能够通过监听的方法及时获悉此情况,该方式能够有效提高消息处理系统20的工作效率。
S12:客户端发送与主题相关的消息给第一服务器,其中,消息包括操作信息。
其中,客户端21发送与主题相关的操作信息给第一服务器22。
例如,当用户需要进行业务消费时,客户端21接收对应的用户指令,并根据用户指令生成对应的操作信息。客户端21将操作信息发送给第一服务器22。
第一服务器22接收操作信息,并将操作信息与主题信息进行匹配,判断该客户端21发送的操作信息对应的主题。
S13:第二服务器监听到第一服务器接收的操作信息时,第二服务器发送请求信息给第一服务器。
其中,当第二服务器23订阅了操作信息对应的主题时,第二服务器23能够监听到第一服务器22接收的操作信息。
当第二服务器23处于空闲状态,即第二服务器23能执行操作信息对应的操作时,第二服务器23发送请求信息给第一服务器22,请求允许消费该操作信息。
S14:第一服务器根据请求信息将操作信息发送给第二服务器。
其中,第一服务器22接收到第二服务器23的请求信息后,第一服务器22根据请求信息将操作信息发送给第二服务器23,第二服务器23被允许消费该操作信息,即执行操作信息对应的操作。
在本实施例的消息处理方法中,第二服务器23通过订阅第一服务器22中的一个或多个主题,与第一服务器22直接建立通信连接,无需通过第三方消息队列进行连接,由此省略第三方消息队列的扩展和部署,有效降低消息处理系统20的搭建成本和占用空间。进一步地,第二服务器23与第一服务器22建立订阅关系后,当操作信息进入第一服务器22时,第二服务器23能够立即得到响应,进而对操作信息进行消费,有效提高了消息处理系统20的工作效率,实现毫秒级消费。
本申请提出了另一种消息处理方法,具体请参见图3,图3是本申请消息处理方法第二实施例的流程示意图。本实施例的消息处理方法同样应用于消息管理系统20,具体请参见图2,在此不再赘述。
如图3所示,在第一实施例所揭示的消息处理方法的基础上,步骤S13和步骤S14进一步包括以下步骤:
S31:至少一个第二服务器发送第一请求信息给第一服务器。
其中,当监听到第一服务器22中接收到与订阅主题相关的操作信息时,第二服务器23发送第一请求信息给第一服务器22,请求获取消费该操作信息的权限信息。
具体地,由于消息处理系统20中允许多个第二服务器23订阅同一主题,在多个第二服务器23分布式部署的情况下,第一服务器22设置了消费锁。其中,消费锁对应消费订阅主题的权限信息。
消费锁的实现机制具体如下:例如,服务器A、服务器B和服务器C同时订阅了同一主题,当第一服务器22中接收到与该主题相关的操作信息时,服务器A、服务器B和服务器C竞争消费锁。第一服务器22将消费锁分配给其中一个服务器(例如,服务器A)。当服务器A获得消费锁时,服务器B和服务器C不能消费该主题下的操作信息,服务器A消费完成后释放消费锁,服务器A、服务器B和服务器C重新竞争与该主题相关的消费锁。当服务器A消费超时,消息处理系统20自动释放消费锁后,服务器A、服务器B和服务器C重新竞争与该主题相关的消费锁。消费锁的机制能够有效避免多个服务器重复消费同一操作信息,提高消息处理系统20的利用率。
S32:第一服务器根据第一请求信息发送权限信息给第二服务器。
其中,第一服务器22接收多个第二服务器23的第一请求信息,并按照预设规则将权限信息发送给其中一个第二服务器23。
例如,第一服务器22记录多个第二服务器23发送第一请求信息的时间,然后将记录的多个时间进行排序,获取最早的时间,第一服务器22将权限信息发送给最早的时间对应的第二服务器23;第一服务器22接收多个第二服务器23的状态信息。其中,第二服务器23的状态包括空闲状态、繁忙状态和离线状态,第一服务器22将权限信息发送给处于空闲状态的一个第二服务器23;第一服务器22接收多个第二服务器23的可用内存信息,并将权限信息发送给可用内存最大的一个第二服务器23。在其它实施例中,第一服务器22也可以根据其它预设规则将权限信息发送给其中一个第二服务器23,在此不再赘述。
S33:第二服务器根据权限信息发送第二请求信息给第一服务器。
其中,接收到权限信息的第二服务器23获得消费该操作信息的权限,该第二服务器23发送第二请求信息给第一服务器22,请求获取操作信息。
S34:第一服务器根据第二请求信息将操作信息发送给第二服务器。
其中,第一服务器22根据第二请求信息将操作信息发送给第二服务器23。
S35:第二服务器根据操作信息执行与操作信息对应的操作。
其中,第二服务器23接收到操作信息后,消费该操作信息,即执行与操作信息对应的操作。
以充值订单处理为例,本实施例的消息处理方法为:
客户端21通过消息处理系统20进行充值,第二服务器23需要给客户端21进行道具发货。由于客户端21进行充值的事件随时发生,且为了解耦客户端21和第二服务器23,采用本实施例的消息处理方法进行主题订阅消费。
具体地,客户端21进行充值时,第一服务器22调用订阅服务,在充值主题写入一条客户端21的充值记录。第一服务器22对充值记录进行处理,按主题类型写入缓存中。第二服务器23订阅预设在第一服务器22的充值主题,并对充值主题进行实时监听。当监听到缓存中存储对应充值主题的充值记录时,第二服务器23立即发起消息消费。
由于第二服务器23采用集群部署方式,为了避免重复消费,订阅服务提供消费锁竞争机制。具体地,由首先竞争成功的第二服务器23获得消费锁并进行充值记录消费,对客户端21进行道具发货。发货逻辑处理完成后,消息处理系统20释放消费锁,多个第二服务器23重新监听主题,并准备消费竞争。
在本实施例的消息处理方法中,第二服务器23监听到第一服务器22接收的操作信息后,第二服务器23需要请求获取该操作信息的权限信息;第一服务器22按照预设规则将权限信息发送给其中一个第二服务器23,保证该操作信息不会重复消费,提高了消息处理系统20的利用率。进一步地,由于客户端21与第二服务器23没有建立直接的通信关系,对于消息处理系统20而言,不需要区分客户端21和第二服务器23的语言平台或架构平台,只需要通过第一服务器22将操作信息进行转发,使用简易。
本申请提出了又一种消息处理方法,具体请参见图4,图4是本申请消息处理方法第三实施例的流程示意图。本实施例的消息处理方法同样应用于消息管理系统20,具体请参见图2,在此不再赘述。
进一步地,消息管理系统20中的第一服务器22包括数据库(图中未示出),数据库用于存储第一服务器22设置的多个主题对应的主题信息和客户端21发送的操作信息。
在本实施例中,数据库为Redis数据库。在其它实施例中,数据库也可为Hbase数据库、Mysql数据库或Sybase数据库等。
如图4所示,本实施例的消息处理方法包括以下步骤:
S41:第二服务器发送订阅请求给第一服务器,其中,订阅请求包括主题信息。
其中,第二服务器23发送订阅请求给第一服务器22,其中,订阅请求包括主题信息。
具体地,第二服务器23需要消费某一主题相关的操作信息时,第二服务器23发送给订阅请求第一服务器22,请求订阅主题信息对应的主题。
S42:在第一服务器根据主题信息获取数据库中与主题信息对应的主题时,第一服务器产生订阅信息,并发送订阅信息给第二服务器。
其中,第一服务器22接收到订阅请求中的主题信息后,第一服务器22获取数据库中与主题信息对应的主题。第一服务器22根据主题信息对应的主题产生订阅信息,并将订阅信息发送给第二服务器23,其中,订阅信息至少包括主题IP地址。
S43:第二服务器根据订阅信息成功订阅数据库的主题。
其中,第二服务器23接收订阅信息,并根据订阅信息中的主题IP地址与第一服务器22建立订阅关系。
第二服务器23成功订阅数据库的主题后,第二服务器23实时监听数据库中的主题IP地址。当有操作信息被写入该主题IP地址,第二服务器23能够立刻得到响应,进而对操作信息进行消费。
S44:在第二服务器监听到数据库的操作信息时,第二服务器发送请求信息给第一服务器。
其中,在第二服务器23监听到主题IP地址对应的缓存空间写入操作信息时,第二服务器23发送请求信息给第一服务器22,请求消费该操作信息。
S45:第一服务器根据请求信息将操作信息发送给第二服务器。
其中,本实施例的步骤S45与第一实施例中的步骤S14相同,在此不再赘述。
在本实施例的消息处理方法中,第二服务器23通过订阅第一服务器22中的一个或多个主题,与第一服务器22的数据库建立订阅关系;成功建立订阅关系后,第二服务器23能够实时监听数据库;当数据库写入与主题相关的操作信息时,第二服务器23能够立刻响应,进而对操作信息进行消费,提高消费管理系统20的工作效率;进一步地,消息处理系统20只需要缓存数据库,省略了第三方消息队列的搭建,有效降低了系统搭建成本。
本申请提出了再一种消息处理方法,具体请参见图5,图5是本申请消息处理方法第四实施例的流程示意图。本实施例的消息处理方法同样应用于消息管理系统20,具体请参见图2,在此不再赘述。
在上述实施例所揭示的消息处理方法的基础上,本实施例的消息处理方法还包括:
S51:第一服务器周期性检测数据库的状态是否处于正常工作的状态。
其中,由于本实施例的消息处理方法中采用了缓存数据库作为操作信息的载体,当数据库出现宕机或者实时更新等情况时,可能会对消息处理系统20的正常运行产生影响。
对此,消息处理系统20设置了自动恢复程序,自动恢复程序的机制请参见步骤S52。在启动自动恢复程序前,第一服务器22周期性检测数据库的状态是否处于正常工作的状态,若检测到数据库处于正常工作的状态,则消息处理系统20正常运行;若检测到数据库不处于正常工作的状态,则进入步骤S52。
S52:第一服务器刷新数据库,并恢复数据库中的主题信息和操作信息。
其中,本实施例的数据库采用主从多AZ(Available Zone,可用区)部署。具体地,第一服务器22部署有主数据库和至少一个从数据库,主数据库接入消息处理系统20,从数据库中备份有主数据库的主题信息和操作信息。
当第一服务器22检测到主数据库不可用时,第一服务器22立即进行主数据库的刷新,并通过从数据库将主题信息和操作信息拷贝到刷新后的主数据库,实现秒级恢复服务。其中,主数据库刷新包括DNS刷新、主数据库拉起等操作。
在本实施例的消息处理方法中,消息处理系统20设置了自动恢复程序;第一服务器22周期性检测数据库是否能够正常工作,提高消息处理系统20的可用性;当数据库不能正常工作时,第一服务器22启动自动恢复程序,立即刷新数据库,实现秒级恢复服务。
本申请提供了一种消息处理系统,具体请参见图6,图6是本申请消息处理系统一实施例的结构示意图。
本实施例的消息处理系统60包括至少一个客户端61、第一服务器62和至少一个第二服务器63。其中,客户端61与第一服务器62建立通信连接,第一服务器62同时也与第二服务器63建立通信连接。
客户端41用于发送业务请求指令给第一服务器42,其中,业务请求指令至少包括业务功能信息和用户信息;
第二服务器63用于订阅第一服务器62的主题;
客户端61用于发送与主题相关的消息给第一服务器62,其中,消息包括操作信息;
第二服务器63还用于监听第一服务器62接收的操作信息,并发送请求信息给第一服务器62;
第一服务器62根据请求信息将操作信息发送给第二服务器63。
本申请还提供了一种服务器,具体请参见图7,图7是本申请服务器一实施例的结构示意图。
服务器700为上述实施例所揭示的第一服务器22,服务器700分别与客户端和第一服务器建立通信连接。如图7所示,服务器700包括收发模块71和处理模块72,其中,收发模块71与处理模块72建立连接。
其中,处理模块72用于设置至少一个主题。
收发模块71用于接收客户端发送的与主题相关的消息,其中,消息包括操作信息。
收发模块71还用于接收第二服务器的请求信息,并根据请求信息将操作信息发送给第二服务器,其中,第二服务器成功订阅服务器700的主题。
本申请还提供另一种服务器,具体请参见图8,图8是本申请服务器又一实施例的结构示意图。
服务器800为上述实施例所揭示的第一服务器22,服务器700分别与客户端和第一服务器建立通信连接。如图7所示,服务器700包括通信器81和处理器82,其中,通信器81与处理器82建立连接。
其中,通信器81用于通信连接至少一个客户端和至少一个第二服务器;
处理器82用于:
设置至少一个主题;
接收所述客户端发送的与所述主题相关的消息,其中,所述消息包括操作信息;
接收所述第二服务器的请求信息,并根据所述请求信息将所述操作信息发送给所述第二服务器,其中,所述第二服务器成功订阅所述第一服务器的所述主题。
在本实施例中,处理器82还可以称为CPU(Central Processing Unit,中央处理单元)。处理器82可能是一种集成电路芯片,具有信号的处理能力。处理器82还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器82也可以是任何常规的处理器等。
本申请还提供一种计算机存储介质,如图9所示,计算机存储介质900存储有程序数据,程序数据能够被执行以实现如本申请消息处理方法实施例中所述的方法。
本申请消息处理方法实施例中所涉及到的方法,在实现时以软件功能单元的形式存在并作为独立的产品销售或使用时,可以存储在装置900中,例如一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (9)
1.一种消息处理方法,其特征在于,所述消息处理方法应用于消息处理系统,所述消息处理系统包括至少一个客户端、第一服务器和至少一个第二服务器;所述客户端与所述第一服务器建立通信连接,所述第一服务器与所述第二服务器建立通信连接;
所述消息处理方法包括:
所述第二服务器订阅所述第一服务器的主题;
所述客户端发送与所述主题相关的消息给所述第一服务器,其中,所述消息包括操作信息;
在多个所述第二服务器监听到所述第一服务器接收的所述操作信息时,
多个所述第二服务器发送第一请求信息给所述第一服务器;
所述第一服务器接收多个所述第二服务器的第一请求信息,并按照预设规则将权限信息发送给其中一个第二服务器;
所述其中一个第二服务器根据所述权限信息发送第二请求信息给所述第一服务器;
所述第一服务器根据所述第二请求信息将所述操作信息发送给所述其中一个第二服务器。
2.根据权利要求1所述的消息处理方法,其特征在于,所述第二服务器订阅所述第一服务器的主题的步骤,进一步包括:
所述第二服务器发送订阅请求给所述第一服务器,其中,所述订阅请求包括主题信息;
在所述第一服务器根据所述主题信息获取与所述主题信息对应的主题时,所述第一服务器产生订阅信息,并发送所述订阅信息给所述第二服务器;
所述第二服务器根据所述订阅信息成功订阅所述第一服务器的所述主题。
3.根据权利要求2所述的消息处理方法,其特征在于,所述第一服务器包括数据库,所述数据库用于存储所述主题对应的主题信息和所述操作信息;
在所述第二服务器监听到所述第一服务器接收的所述操作信息时,所述第二服务器发送请求信息给所述第一服务器的步骤,进一步包括:
在所述第二服务器监听到所述数据库的所述操作信息时,所述第二服务器发送请求信息给所述第一服务器;
所述第二服务器根据所述订阅信息成功订阅所述第一服务器的所述主题的步骤,进一步包括:
所述第二服务器根据所述订阅信息成功订阅所述数据库的所述主题。
4.根据权利要求3所述的消息处理方法,其特征在于,所述消息处理方法还包括:
所述第一服务器周期性检测所述数据库的状态是否处于正常工作状态;
若否,则所述第一服务器刷新所述数据库,并恢复所述数据库中的所述主题信息和所述操作信息。
5.根据权利要求1所述的消息处理方法,其特征在于,所述第一服务器根据所述请求信息将所述操作信息发送给所述第二服务器的步骤之后,所述消息处理方法还包括:
所述第二服务器根据所述操作信息执行与所述操作信息对应的操作。
6.一种消息处理系统,其特征在于,所述消息处理系统包括至少一个客户端、第一服务器和至少一个第二服务器;所述客户端与所述第一服务器建立通信连接,所述第一服务器与所述第二服务器建立通信连接;
所述第二服务器用于订阅所述第一服务器的主题;
所述客户端用于发送与所述主题相关的消息给所述第一服务器,其中,所述消息包括操作信息;
多个所述第二服务器还用于监听所述第一服务器接收的所述操作信息,并发送第一请求信息给所述第一服务器;
所述第一服务器用于根据所述第一请求信息按照预设规则将权限信息发送给其中一个第二服务器;
所述其中一个第二服务器用于根据所述权限信息发送第二请求信息给所述第一服务器;
所述第一服务器用于根据所述第二请求信息将所述操作信息发送给所述其中一个第二服务器。
7.一种消息处理方法,其特征在于,所述消息处理方法应用于第一服务器;其中,所述第一服务器分别与至少一个客户端和至少一个第二服务器建立通信连接;
所述消息处理方法包括:
所述第一服务器设置至少一个主题;
所述第一服务器接收所述客户端发送的与所述主题相关的消息,其中,所述消息包括操作信息;
所述第一服务器接收多个所述第二服务器的第一请求信息,按照预设规则将权限信息发送给其中一个第二服务器,接受所述其中一个第二服务器的第二请求信息,并根据所述第二请求信息将所述操作信息发送给所述其中一个第二服务器,其中,所述其中一个第二服务器成功订阅所述第一服务器的所述主题。
8.一种服务器,其特征在于,所述服务器包括通信器和处理器,其中,所述通信器与所述处理器耦接;
所述通信器用于通信连接至少一个客户端和至少一个第二服务器;
所述处理器用于:
设置至少一个主题;
接收所述客户端发送的与所述主题相关的消息,其中,所述消息包括操作信息;
接收多个所述第二服务器的第一请求信息,并根据所述第一请求信息按照预设规则将权限信息发送给其中一个第二服务器,接受所述其中一个第二服务器的第二请求信息,并根据所述第二请求信息将所述操作信息发送给所述其中一个第二服务器,其中,所述其中一个第二服务器成功订阅所述服务器的所述主题。
9.一种计算机存储介质,其特征在于,所述计算机存储介质存储有程序数据,所述程序数据能够被执行以实现权利要求1~5任一项或权利要求7中所述的消息处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811103287.5A CN110928704B (zh) | 2018-09-20 | 2018-09-20 | 消息处理方法、消息处理系统、服务器及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811103287.5A CN110928704B (zh) | 2018-09-20 | 2018-09-20 | 消息处理方法、消息处理系统、服务器及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110928704A CN110928704A (zh) | 2020-03-27 |
CN110928704B true CN110928704B (zh) | 2023-06-23 |
Family
ID=69855585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811103287.5A Active CN110928704B (zh) | 2018-09-20 | 2018-09-20 | 消息处理方法、消息处理系统、服务器及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110928704B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111711663A (zh) * | 2020-05-26 | 2020-09-25 | 北京金山云网络技术有限公司 | 发布及订阅服务的处理方法、装置及电子设备 |
CN112035231A (zh) * | 2020-09-01 | 2020-12-04 | 中国银行股份有限公司 | 一种数据处理系统、方法及服务器群 |
CN113315839B (zh) * | 2021-05-28 | 2023-05-02 | 武汉悦学帮网络技术有限公司 | 消息处理方法、系统、装置、计算机设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104079614A (zh) * | 2013-03-29 | 2014-10-01 | 国际商业机器公司 | 用于分布式发布订阅系统消息有序获取的方法和系统 |
CN106572146A (zh) * | 2015-10-13 | 2017-04-19 | 腾讯科技(深圳)有限公司 | 消息发送方法及消息发送装置 |
CN107273224A (zh) * | 2017-06-15 | 2017-10-20 | 北京大生在线科技有限公司 | 基于订阅触发的消息队列控制系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7836123B2 (en) * | 2008-05-13 | 2010-11-16 | International Business Machines Corporation | System and method for non-HTTP session based publish/subscribe support using pre-emptive subscriptions |
CN101848236A (zh) * | 2010-05-06 | 2010-09-29 | 北京邮电大学 | 具有分布式网络架构的实时数据分发系统及其工作方法 |
KR101705279B1 (ko) * | 2010-06-01 | 2017-02-09 | 삼성전자 주식회사 | 단말 관리 서비스를 제공하는 서버 및 방법 그리고 상기 단말 관리 서비스를 제공받는 단말 |
CN103685363A (zh) * | 2012-09-07 | 2014-03-26 | 中国科学院计算机网络信息中心 | 一种高效可靠的多任务处理方法及系统 |
CN104811459A (zh) * | 2014-01-23 | 2015-07-29 | 阿里巴巴集团控股有限公司 | 用于消息服务的处理方法、装置及系统、消息服务系统 |
CN104092767B (zh) * | 2014-07-21 | 2017-06-13 | 北京邮电大学 | 一种增加消息队列模型的发布/订阅系统及其工作方法 |
US20160210313A1 (en) * | 2015-01-16 | 2016-07-21 | Futurewei Technologies, Inc. | System for high-throughput handling of transactions in a data-partitioned, distributed, relational database management system |
CN107872473B (zh) * | 2016-09-23 | 2021-01-19 | 阿里巴巴集团控股有限公司 | 消息处理方法、装置以及系统 |
CN106953901B (zh) * | 2017-03-10 | 2020-04-07 | 重庆邮电大学 | 一种提高消息传递性能的集群通信系统及其方法 |
CN108494815A (zh) * | 2018-02-06 | 2018-09-04 | 北京极智感科技有限公司 | 一种传输消息的方法和系统 |
-
2018
- 2018-09-20 CN CN201811103287.5A patent/CN110928704B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104079614A (zh) * | 2013-03-29 | 2014-10-01 | 国际商业机器公司 | 用于分布式发布订阅系统消息有序获取的方法和系统 |
CN106572146A (zh) * | 2015-10-13 | 2017-04-19 | 腾讯科技(深圳)有限公司 | 消息发送方法及消息发送装置 |
CN107273224A (zh) * | 2017-06-15 | 2017-10-20 | 北京大生在线科技有限公司 | 基于订阅触发的消息队列控制系统 |
Non-Patent Citations (2)
Title |
---|
Dimitris Dedousis等.On the Fly Load Balancing to Address Hot Topics in Topic-Based Pub/Sub Systems.《2018 IEEE 38th International Conference on Distributed Computing Systems (ICDCS)》.2018,第76-86页. * |
李政等.基于分布式消息队列的企业级全文检索模型研究.《计算机应用与软件》.2017,第34卷(第6期),第292-295页. * |
Also Published As
Publication number | Publication date |
---|---|
CN110928704A (zh) | 2020-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10838777B2 (en) | Distributed resource allocation method, allocation node, and access node | |
CN108449410B (zh) | 一种云平台中消息管理方法、系统及相关装置 | |
US8015249B2 (en) | Mitigating data usage in messaging applications | |
WO2020259354A1 (zh) | 队列调整方法、装置、设备及计算机可读存储介质 | |
CN110928704B (zh) | 消息处理方法、消息处理系统、服务器及计算机存储介质 | |
CN112579148B (zh) | 基于业务代理的业务消息处理方法、装置及电子设备 | |
CN110968603B (zh) | 一种数据访问方法及装置 | |
CN105338086A (zh) | 一种分布式的消息转发方法 | |
CN110719311B (zh) | 分布式协调服务方法、系统及计算机可读存储介质 | |
CN111541762B (zh) | 数据处理的方法、管理服务器、设备及存储介质 | |
CN113285884B (zh) | 流量控制方法及系统 | |
CN105554142A (zh) | 消息推送的方法、装置及系统 | |
CN111865632B (zh) | 分布式数据存储集群的切换方法及切换指令发送方法和装置 | |
CN111200606A (zh) | 深度学习模型任务处理方法、系统、服务器及存储介质 | |
CN114844809B (zh) | 基于网络心跳和内核磁盘心跳的多因子仲裁方法、装置 | |
CN114827171B (zh) | 信息同步方法、装置、计算机设备和存储介质 | |
CN105830029B (zh) | 用于在计算环境中支持自适应忙等待的系统和方法 | |
CN102970355A (zh) | 通过挂起承租人来管理数据中心的容量 | |
CN111427689B (zh) | 集群保活方法、装置及存储介质 | |
CN113032139A (zh) | 请求处理方法、装置、计算机可读存储介质及电子设备 | |
CN111835809B (zh) | 工单消息分配方法、装置、服务器及存储介质 | |
CN116347467B (zh) | 5g网络中udr进行用户数据管理方法及系统 | |
CN112631756A (zh) | 一种应用于航天测控软件的分布式调控方法及装置 | |
CN112463514A (zh) | 分布式缓存集群的监测方法和装置 | |
WO2019201111A1 (zh) | 信息处理方法、装置、设备及计算机可读存储介质 |
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 |