CN111585867B - 消息处理方法、装置、电子设备及可读存储介质 - Google Patents
消息处理方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN111585867B CN111585867B CN202010246268.9A CN202010246268A CN111585867B CN 111585867 B CN111585867 B CN 111585867B CN 202010246268 A CN202010246268 A CN 202010246268A CN 111585867 B CN111585867 B CN 111585867B
- Authority
- CN
- China
- Prior art keywords
- message
- target
- server
- service
- messages
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/07—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
- H04L51/18—Commands or executable codes
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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/14—Session management
- H04L67/141—Setup of application sessions
-
- 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/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供了一种消息处理方法、装置、电子设备及可读存储介质,其中的方法包括:接收生产服务器发送的第一消息,并将第一消息存储在与第一消息的业务类型对应的消息队列中,从消息队列中获取M个第一消息,采用M个第一线程将各第一消息写入到与第一目标业务标识对应的第一内存缓冲队列,确定与第一目标业务标识关联的第一目标服务地址,采用N个第二线程读取第一内存缓冲队列中的N个第一消息,并向第一目标服务地址对应的目标服务器发送N个第一请求消息,以调用N次目标服务器对应的服务对N个第一消息进行处理。从而可以实现较快的读取操作,在一定程度上避免消息队列中消息的积压,提高消息队列中消息的消费效率。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及消息处理方法、装置、电子设备及可读存储介质。
背景技术
由于基于微服务架构的***具有易于开发和维护等特点,目前已应用在较大项目的开发。同时为了实现微服务之间耦合、异步消息处理、限流削峰等功能,通常应用生产消费模式。
生产消费模式具体为:发布消息的服务器(生产服务器)向生产服务器集群中的消息队列(MQ,Message Queue)发布消息,一个消息队列即一个缓冲区,消费消息的服务器(消费服务器)从消息队列中取出消息,并对消息进行处理,处理完一个消息再继续取下一个消息。其中,该生产服务器集群中的各存储服务器中可以设置有一个消息队列或多个消息队列。
然而,当由于某种原因(例如,消费服务器处理消息耗时较长)使消息队列中大量消息滞留,此种情况下则需要生产服务器必须暂停等待一下(即阻塞生产者线程),从而影响消息队列中的消息的消费效率。
发明内容
本发明实施例的目的在于提供一种消息处理方法、装置、电子设备及可读存储介质,以实现提高消息队列中的消息的消费效率。具体技术方案如下:
在本发明实施的第一方面,首先提供了一种消息处理方法,执行于缓冲服务器,包括:
接收生产服务器发送的第一消息,并将所述第一消息存储在与所述第一消息的业务类型对应的消息队列中;
从所述消息队列中获取M个第一消息,并采用M个第一线程将所述M个第一消息写入到与第一目标业务标识对应的第一内存缓冲队列,其中,所述第一目标业务标识为与所述第一消息的业务类型对应的标识,所述M为大于等于1的整数;
确定与所述第一目标业务标识关联的第一目标服务地址;
采用N个第二线程读取所述第一内存缓冲队列中的N个第一消息,并向所述第一目标服务地址对应的目标服务器发送N个第一请求消息,以调用N次所述目标服务器对应的服务对所述N个第一消息进行处理,其中,每个所述第一请求消息中包括一个第一消息,所述N为大于所述M的整数。
在本发明实施的第二方面,还提供了一种消息处理装置,设置于缓冲服务器,包括:
接收模块,用于接收生产服务器发送的第一消息,并将所述第一消息存储在与所述第一消息的业务类型对应的消息队列中;
获取模块,用于从所述消息队列中获取M个第一消息,并采用M个第一线程将所述M个第一消息写入到与第一目标业务标识对应的第一内存缓冲队列,其中,所述第一目标业务标识为与所述第一消息的业务类型对应的标识,所述M为大于等于1的整数;
确定模块,用于确定与所述第一目标业务标识关联的第一目标服务地址;
发送模块,用于采用N个第二线程读取所述第一内存缓冲队列中的N个第一消息,并向所述第一目标服务地址对应的目标服务器发送N个第一请求消息,以调用N次所述目标服务器对应的服务对所述N个第一消息进行处理,其中,每个所述第一请求消息中包括一个第一消息,所述N为大于所述M的整数。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的消息处理方法。
在本发明实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的消息处理方法。
本发明实施例提供的消息处理方法,通过本实施例提供的消息处理方法,通过接收生产服务器发送的第一消息,并将所述第一消息存储在与所述第一消息的业务类型对应的消息队列中,从消息队列中获取M个第一消息,采用M个第一线程将M个第一消息写入到与第一目标业务标识对应的第一内存缓冲队列,确定与第一目标业务标识关联的第一目标服务地址,采用N个第二线程读取第一内存缓冲队列中的N个第一消息,并向第一目标服务地址对应的目标服务器发送N个第一请求消息,以调用N次目标服务器对应的服务对N个第一消息进行处理。由于N大于M,也即从第一内存缓冲队列中读取第一消息的第二线程的个数大于向第一内存缓冲队列中写入第一消息的第一线程的个数,从而可以实现较快的读取操作,也即从第一内存缓冲队列读取第一消息的速度大于将第一消息写入到第一内存缓冲队列的速度,避免第一内存缓冲队列中的第一消息的积压,进而可以保证缓冲服务器可以从消息队列中持续获取第一消息,并将获取的第一消息写入到第一内存缓冲队列,因此,可以避免消息队列中的第一消息的积压,提高消息队列的消费效率。并且,缓冲服务器不负责第一消息的处理,而是由目标服务器对应的业务对第一消息进行处理,也即缓冲服务器向目标服务器发送N个第一请求消息后,可以接着从第一内存缓冲队列中取第一消息,不用等待目标服务器是否处理完第一消息。因此,可以在一定程度上进一步提高消息队列中的消息的消费效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为现有技术中的一种***架构图;
图2为本发明实施例中提供的一种***架构图;
图3为本发明实施例中提供的一种消息处理方法的步骤流程图;
图4为本发明实施例中提供的另一种消息处理方法的步骤流程图;
图5为本发明实施例中提供的一种消息处理装置的结构示意图;
图6为本发明实施例中提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
参照图1,图1为现有技术中的一种***架构图,本***架构以包括生产服务器、存储服务器、消费服务器1、消费服务器2为例。生产服务器向存储服务器的消息队列中发布消息,存储服务器的消息队列可以为至少一个,每个消息队列存储一种业务类型的消息,每个业务类型即一种业务场景,比如消息队列1存储关于对视频进行点赞的消息,消息队列2存储关于对视频进行评论的消息。现有技术中如果消费服务器1配置为从消息队列1中取出消息,消费服务器2配置为从消息队列2中取出消息,则消费服务器1监听消息队列1中的消息,如果由于某种原因(例如,消费服务器的中央处理器的占用率、内存占用率较高等)导致消费服务器1处理消息耗时较长,则会导致消息队列1中的消息积压,从而影响消息队列1中的消息的消费效率。并且,在消息队列1中的消息积压的情况下,需要生产服务器必须暂停等待一下,即阻塞生产者线程,暂停向消息队列1中发布消息,因此影响消息队列中消息的消费效率。
为了解决上述技术问题,本发明实施例中提供了一种***架构图。参照图2,图2为本发明实施例中提供的一种***架构图。该***包括生产服务器、缓冲服务器、服务器1、服务器2、业务服务器1、业务服务器2、业务服务器3以及业务服务器4。其中,业务服务器1和业务服务器2组成一个集群1,业务服务器3和业务服务器4组成一个集群2。在实际应用中,生产服务器和缓冲服务器可以为多个,多个生产服务器组成一个生产服务器集群、多个缓冲服务器组成一个缓冲服务器集群。生产服务器可以将生产的某种业务类型的消息发送到缓冲服务器的与该业务类型对应的消息队列,缓冲服务器的写线程将消息队列中的消息写入到与该业务类型对应的内存缓冲队列,缓冲服务器的读线程监听到内存缓冲消息队列中的消息时,可以从内存缓冲队列中获取消息,并将获取到的消息发送给目标服务器,目标服务器可以服务器1或服务器2。
具体,缓冲服务器接收生产服务器发送的第一消息,并将所述第一消息存储在与所述第一消息的业务类型对应的消息队列中;从所述消息队列中获取M个第一消息,并采用M个第一线程将M个第一消息写入到与第一目标业务标识对应的第一内存缓冲队列,其中,第一目标业务标识为与第一消息的业务类型对应的标识;确定与第一目标业务标识对应的第一目标服务地址;采用N个第二线程读取第一内存缓冲队列中的N个第一消息,并向第一目标服务地址对应的目标服务器发送N个第一请求消息,以调用N次目标服务器对应的目标服务对N个消息进行处理,其中,每个第一请求消息中包括一个消息,N为大于M的整数。
需要说明的是,缓冲服务器中可以存储有业务标识与服务地址的关联关系,或者其它数据库服务器中存储有业务标识与服务地址的关联关系,例如,参照如下表1所示,表1中示出了业务标识与服务地址的关联关系。业务标识1与服务地址1关联,业务标识2与服务地址2关联。
表1
缓冲服务器可以根据本地存储的关联关系,或者其它数据数据库服务器中存储的关联关系,确定与第一目标业务标识关联的第一目标服务地址。如果服务器1的服务地址为服务地址1,服务器2的服务地址为服务地址2,第一目标业务标识为业务标识1,则与第一目标业务标识关联的第一目标服务地址为服务地址1,服务器1即为目标服务器。
缓冲服务器采用N个第二线程读取第一内存缓冲队列中的N个第一消息,并向目标服务器(服务器1)发送N个第一消息,相应的,服务器1接收缓冲服务器发送的N个第一请求消息,可以调用服务器1对应的目标服务对N个第一请求消息中包括的第一消息进行处理。
需要说明的是,服务器1上可以部署有服务,或者业务服务器1上部署一个该服务、业务服务器2上可以部署一个该服务,该服务例如为对点赞类型的消息进行处理的服务。当服务器1上部署有该服务时,该服务即为服务器1对应的服务。或者,服务器1上未部署有该服务,业务服务器1的服务和业务服务器2上的服务都为服务器1对应的服务,服务器1可以视为一个分发服务器,即服务器1可以将消息分发给业务服务器1,或将消息分发给业务服务器2。服务器1将消息分发给业务服务器1时,由业务服务器1上部署的服务对消息进行处理,服务器1将消息分发给业务服务器2时,由业务服务器2上部署的服务对消息进行处理。
综上,本实施例中提供的图2相对于现有技术的***架构图而言,缓冲服务器中增加了第一内存缓冲队列,缓冲服务器可以从消息队列中获取M个第一消息,并采用M个第一线程(第一线程为写线程)将M个第一消息写入到第一内存缓冲队列,而且采用更多的线程(N个第二线程,第二线程为读线程)从第一内存缓冲队列中读取N个第一消息,从而可以实现较快的读取操作,避免第一内存缓冲队列中的第一消息的积压,进而可以保证缓冲服务器可以从消息队列中持续获取第一消息,并将获取的第一消息写入到第一内存缓冲队列,因此,可以避免消息队列中的第一消息的积压,提高消息队列中的第一消息的消费效率。并且,缓冲服务器向第一目标服务地址对应的目标服务器发送N个第一请求消息,以调用N次目标服务器对应的服务对N个第一消息进行处理,也即缓冲服务器不负责第一消息的处理,而是调用目标服务器对应的服务对N个第一消息进行处理,从而可以避免现有技术中的消费服务器不但从消息队列中取消息,而且要对取出的消息进行处理,等待处理完毕后才能取下一个消息,但是由于消费服务器在CPU占用率高、内存占用率高的情况下,导致消息队列中的消息积压的问题。
而本发明实施例中,从第一内存缓冲队列读取第一消息的速度大于将第一消息写入到第一内存缓冲队列的速度,避免第一内存缓冲队列中的第一消息的积压,进而可以保证缓冲服务器可以从消息队列中持续获取第一消息,并将获取的第一消息写入到第一内存缓冲队列,因此,可以避免消息队列中的第一消息的积压,提高消息队列的消费效率。并且,缓冲服务器不负责第一消息的处理,而是由目标服务器对应的业务对第一消息进行处理,也即缓冲服务器向目标服务器发送N个第一请求消息后,可以接着从第一内存缓冲队列中取第一消息,不用等待目标服务器是否处理完第一消息。因此,可以在一定程度上进一步提高消息队列中的消息的消费效率。
基于图2,本发明实施例中提供了一种消息处理方法。参照图3,图3为本发明实施例中提供的一种消息处理方法的步骤流程图,该方法可以由缓冲服务器执行,该方法包括如下步骤:
步骤301、接收生产服务器发送的第一消息,并将第一消息存储在与第一消息的业务类型对应的消息队列中。
步骤302、从消息队列中获取M个第一消息,并采用M个第一线程将M个第一消息写入到与第一目标业务标识对应的第一内存缓冲队列,其中,第一目标业务标识为与第一消息的业务类型对应的标识,M为大于等于1的整数。
每种业务类型的消息对应一个业务标识,缓冲服务器可以采用M个第一线程将获取的M个消息同时写入到第一内存缓冲队列。其中,第一内存缓冲队列即内存级的缓冲队列,写入第一内存缓冲队列,从而可步骤304中采用更多的线程从第一内存缓冲队列中读取第一消息,也即采用的第二线程的个数大于第一线程的个数,实现更快的读取第一内存缓冲队里中存储的第一消息。
步骤303、确定与第一目标业务标识对应的第一目标服务地址。
步骤304、采用N个第二线程读取第一内存缓冲队列中的N个第一消息,并向第一目标服务地址对应的目标服务器发送N个第一请求消息,以调用N次目标服务器对应的服务对N个第一消息进行处理。
其中,每个第一请求消息中包括一个第一消息,N为大于M的整数。
每个第二线程读取第一内存缓冲队列中的一个第一消息,因此采用N个第二线程可以同时读取第一内存缓冲队列中的N个第一消息,并采用N个第二线程可以实现同时向目标服务器发送N个第一请求消息,以同时调用N次目标服务器对应的服务对N个消息进行处理。
本实施例提供的消息处理方法,通过接收生产服务器发送的第一消息,并将第一消息存储在与第一消息的业务类型对应的消息队列中,从消息队列中获取M个第一消息,采用M个第一线程将M个第一消息写入到与第一目标业务标识对应的第一内存缓冲队列,确定与第一目标业务标识关联的第一目标服务地址,采用N个第二线程读取第一内存缓冲队列中的N个第一消息,并向第一目标服务地址对应的目标服务器发送N个第一请求消息,以调用N次目标服务器对应的服务对N个第一消息进行处理。由于N大于M,也即从第一内存缓冲队列中读取第一消息的第二线程的个数大于向第一内存缓冲队列中写入第一消息的第一线程的个数,从而可以实现较快的读取操作,也即从第一内存缓冲队列读取第一消息的速度大于将第一消息写入到第一内存缓冲队列的速度,避免第一内存缓冲队列中的第一消息的积压,进而可以保证缓冲服务器可以从消息队列中持续获取第一消息,并将获取的第一消息写入到第一内存缓冲队列,因此,可以避免消息队列中的第一消息的积压,提高消息队列的消费效率。并且,缓冲服务器不负责第一消息的处理,而是由目标服务器对应的业务对第一消息进行处理,也即缓冲服务器向目标服务器发送N个第一请求消息后,可以接着从第一内存缓冲队列中取第一消息,不用等待目标服务器是否处理完第一消息。因此,可以在一定程度上进一步提高消息队列中的消息的消费效率。
基于图2,本实施例提供了另一种消息处理方法,参照图4,图4为本发明实施例中提供的另一种消息处理方法的步骤流程图,该方法包括如下步骤:
步骤401、服务器将业务类型、与业务类型对应的业务标识、以及业务标识对应的缓冲服务地址、队列标识和服务地址、以及缓冲服务地址对应的用户信息存储到数据库中。
可以将每个业务类型、与业务类型对应的业务标识、以及每个业务标识对应的缓冲服务地址、队列标识和服务地址、每个缓冲服务地址对应的用户信息存储到数据库中。例如,可以将业务类型、与业务类型对应的业务标识、业务标识对应的缓冲服务地址、缓冲服务地址对应的用户信息存储在数据库的表A中,将业务标识、业务标识对应的队列标识存储在数据库的表B中,将业务标识、业务标识对应的服务地址存储在数据库的表C中,也可以将上述信息存储在数据库中的一个表中。其中,用户信息可以包括用户名和密码。数据库可以部署在生产服务器或单独部署在一个服务器。每个业务类型对应一个业务标识,每个业务类型对应的业务标识不同,业务类型例如包括点赞业务类型、评论业务类型等。
需要说明的是,其中,步骤401中的服务器可以为生产服务器,即生产服务器上可以部署有数据库。或者将数据库单独部署在一个数据库服务器,数据库单独部署在数据库服务器时,步骤401中的服务器即为该数据库服务器。生产服务器可以从该数据库服务器获取数据库中存储的上述信息。
步骤402、生产服务器生产第一消息。
步骤403、生产服务器根据第一消息的目标业务类型,确定与目标业务类型对应的至少一个目标缓冲服务地址和目标队列标识、以及目标缓冲服务地址对应的用户信息。
与目标业务类型对应的目标缓冲服务地址可以为一个,或者为多个。
现有技术中,需要在生产服务器的配置文件中配置存储服务器的地址、以及配置与存储服务器的消息队列对应的消息队列标识。生产服务器根据本地配置文件,将消息发送到存储服务器中与消息队列标识对应的消息队列中,因此,存在配置错误问题,如果配置错误会导致生产服务器上线后消息的丢失。而本实施例中不需要通过配置文件配置与生产服务器的消息队列对应的消息队列标识,而是将与每个业务类型对应的各个缓冲服务地址、业务类型对应的队列标识、以及缓冲服务地址对应的用户信息存储在数据库中,集中管理消息的发送与接收,在一定程度上避免了配置错误的问题。
需要说明的是,生产服务器可以获取上述表A和表B中的数据,从而可以根据业务类型、业务类型对应的业务标识、以及业务标识对应的缓冲服务地址,确定与目标业务类型对应的至少一个目标缓冲服务地址;根据业务类型对应的业务标识、业务标识对应的队列标识,确定与目标业务类型对应的目标队列标识;根据缓冲服务地址、与缓冲服务地址对应的用户信息,确定与目标缓冲服务地址对应的用户信息。从而可以从数据库中获取与目标业务类型对应的至少一个目标缓冲服务地址和目标队列标识、以及目标缓冲服务地址对应的用户信息。
步骤404、生产服务器根据用户信息,与目标缓冲服务地址对应的目标缓冲服务器建立通信连接。
生产服务器可以向目标缓冲服务地址对应的目标缓冲服务器发送用户信息(用户信息例如包括用户名、密码信息),目标缓冲服务器可以根据用户信息校验生产服务器是否具有与目标缓冲服务器建立通信连接的权限。在生产服务器具有与目标缓冲服务器建立通信连接的权限的情况下,与生产服务器建立通信连接。目标缓冲服务器与生产服务器建立通信连接后,从而使目标缓冲服务器将生产服务器发送的第一消息存储在消息队列中,并在监听到消息队列中的消息时,缓冲服务器可以从消息队列中取出消息。
需要说明的是,如果目标缓冲服务器的CPU占用率较高、内存占用率较高等情况导致目标缓冲服务器的资源紧张时,可以在数据库中增加与目标业务类型对应的缓冲服务地址,也即一个业务类型可以对应多个缓冲服务地址,从而可以对应多个缓冲服务器。例如,目标业务类型对应的缓冲服务地址包括缓冲服务地址1和缓冲服务地址2,则缓冲服务地址1和缓冲服务地址2都为目标缓冲服务地址,从而可以使缓冲服务地址1对应的缓冲服务器1和缓冲服务地址2对应的缓冲服务器2都可以接收生产服务器发送的第一消息,并将接收的第一消息存储在消息队列中,并从各自的消息队列中取出消息,从而可以在一定程度上提高从消息队列中取出消息的效率,也即提高了消息队列中消息的消费效率。
而现有技术中在消费服务器的资源紧张导致消息队列中消息积压时,需要暂停生产服务器生产消息。或者增加消费服务器来消费消息队列中的消息。而本实施例中在目标缓冲服务器在资源紧张时,只需要在数据库中增加与业务类型对应的缓冲服务地址即可,例如,业务类型1对应的缓冲服务地址1,则可以通过在数据库中增加与业务类型1对应的缓冲服务地址2,即业务类型1对应缓冲服务地址1和缓冲服务地址2。并不需要暂停生产服务器生产消息,也不需要新增缓冲服务器。
步骤405、生产服务器根据目标缓冲服务地址、目标队列标识、以及用户信息,生成目标业务标识。
步骤406、生产服务器向目标缓冲服务器发送第一消息、以及目标业务标识,以供目标缓冲服务器将第一消息存储到与目标业务标识对应的消息队列。
相应的,目标缓冲服务器接收第一消息,并将第一消息存储到与目标业务标识对应的消息队列,由于目标业务标识与第一消息的业务类型对应,也即将第一消息存储到与第一消息的业务类型对应的消息队列。
步骤407、缓冲服务器从消息队列中获取M个第一消息,并采用M个第一线程将M个第一消息写入到与第一目标业务标识对应的第一内存缓冲队列。
本步骤中和下述步骤中的缓冲服务器可以视为目标缓冲服务器。
步骤408、缓冲服务器确定与第一目标业务标识关联的第一目标服务地址。
其中,还可以包括如下步骤:
缓冲服务器可以周期性获取业务标识与服务地址的关联关系,并将业务标识与服务地址的关联关系缓存在缓冲区,其中,每个业务标识关联一个不同的服务地址。具体的,缓冲服务器可以从数据库周期性获取业务标识与服务地址的关联关系,例如从数据库的表C中周期性获取业务标识与服务地址的关联关系。
相应的,步骤408可以通过如下步骤实现:
根据缓冲区缓存的业务标识与服务地址的关联关系,确定与第一目标业务标识关联的第一目标服务地址。
需要说明的是,也可以根据数据数据库中存储的业务标识、服务地址、以及业务标识与服务地址的关联关系,确定与第一目标业务标识关联的第一目标服务地址。通过将业务标识、服务地址、以及业务标识与服务地址的关联关系缓存在缓冲区,从而使缓冲服务器可以根据缓冲区缓存的业务标识、业务服务地址、以及业务标识与业务服务地址的关联关系,确定第一目标业务标识关联的第一目标服务地址。由于从缓冲区(内存)读取数据的速度比从数据库读取数据的速度要快很多倍,从而可以更快的确定出第一目标服务地址。
步骤409、采用N个第二线程读取第一内存缓冲队列中的N个第一消息,并向第一目标服务地址对应的目标服务器发送N个第一请求消息,以调用N次目标服务器对应的服务对N个第一消息进行处理。
其中,向第一目标服务地址对应的目标服务器发送N个第一请求消息,以调用N次目标服务器对应的服务对N个第一消息进行处理,目标服务器对应的服务对某个第一请求消息中包括的第一消息处理失败的情况下,向缓冲服务器回复该第一请求消息的失败响应消息,在对某个第一请求消息中包括的第一消息处理成功的情况下,向缓冲服务器回复该第一请求消息的成功响应消息。
需要说明的是,目标服务器收到N个第一请求消息后,例如,目标服务器为如图2所示的服务器1,服务器1可以根据负载均衡算法确定采用业务服务器1上部署的服务对N个第一消息进行处理,还是采用业务服务器2上部署的服务对N个第一消息进行处理,从而实现负载均衡。例如,现有技术中生产服务器将生产的消息发布到生产服务器集群中的消息队列中,消费服务器从消息队列取出消息,并对消息进行处理。现在单个生产服务器集群中设置有很多不同业务场景的消息队列(例如,用户针对一个视频的点赞消息对应一个消息队列、用户针对一个视频的评论消息对应一个消息队列),一个消费服务器固定的从一个消息队列或多个消息队列中消费消息,如果某个消费服务器对应的一个消息队列中的消息增多,而此时该消费服务器上部署的消费服务假死或者处理压力过大时,会导致消费服务处理消息耗时长,从而造成消息队列中消息的积压。而其他有能力消费消息的消费服务器并没有收到消息,则会造成各个消费服务器的负载不均衡的问题。而本实施例中目标服务器根据负载均衡算法确定采用哪个业务服务器上部署的服务对N个第一消息进行处理,因此,通过本实施例中的目标服务器可以实现负载均衡,避免现有技术中消费服务器在负载较大的情况下,如果监听到消息队列中的消息,也需要从消息队列中取出消息并对消息进行处理,造成消息队列中的消息积压以及负载不均衡的问题。
具体的,在向目标服务地址对应的目标服务器发送N个第一请求消息之后,还可以包括如下步骤:
判断在预设时间内是否能够收到N个第一请求消息中的目标请求消息的响应消息;
在预设时间内收到响应消息的情况下,判断响应消息是否为失败响应消息;
在响应消息为失败响应消息的情况下,向目标服务器周期性重传目标请求消息。
本发明实施例中,在收到的响应消息为失败响应消息的情况下,可以直接触发周期性重传目标请求消息。
可选的,还可以包括如下步骤:
在预设时间内未收到响应消息的情况下,向目标服务器周期性重传目标请求消息。
本发明实施例中,在预设时间内未收到响应消息的情况下,可以直接触发周期性重传目标请求消息。
可选的,还可以包括如下步骤:
在重传目标请求消息的重传次数大于第一预设阈值的情况下,将目标请求消息中的第一消息、以及目标请求消息中的第一消息的消息标识记录在日志中;
从日志中获取至少一个第二消息,并向目标服务器周期性重传第二消息,其中,第二消息为记录在日志中的第一消息。
当重传目标请求消息的重传次数大于第一预设阈值(第一预设阈值例如等于3)的情况下,将目标请求消息中的第一消息、以及目标请求消息中的第一消息的消息标识记录在日志中,在后续步骤中可以从日志中获取消息并再次进行重传。
可选的,还可以包括如下步骤:
在重传第二消息的重传次数大于或等于第二预设阈值的情况下,输出报警信息。
第二预设阈值可以与第一预设阈值相等,也可以不相等。
需要说明的是,通过重传日志中的消息,可以实现将日志中的第一消息进行再次处理,每进行一次处理,则将重试次数加一(重试次数初始值设置为0),当重试次数大于或等于预设阈值的情况下,输出报警信息,从而可以根据报警信息,人为干预处理,以排查消息处理失败的原因。例如,读取第二内存缓冲队列中的3个第二消息,如果3个第二消息包括消息1、消息2、以及消息3,消息1对应第二请求消息1,消息2对应第二请求消息2,消息3对应第二请求消息3。在第二预设时间内未收到第二请求消息3的成功响应消息的情况下,则将第二请求消息3对应的消息3的重试次数累加1,其中,消息3的重试次数的初始值等于0,如果第一次重试后,在第二预设时间内未收到第二请求消息3的成功响应消息的情况下,则将消息3的重试次数累加1后等于1。之后继续将消息3记录在第二日志中,并可以继续取出消息3进行处理,如果再次重试后失败,则重试次数累加到2。如果预设阈值为3,则可以再次进行重试,如果再次重试失败,则可以输出报警信息,人为分析消息3处理失败的原因。
可选的,还可以包括如下步骤:
在预设时间内未收到响应消息或收到的响应消息为失败响应消息的情况下,停止与目标请求消息对应的服务的调用,并将目标请求消息中的第一消息、以及目标请求消息中的第一消息的消息标识记录在日志中;
从日志中获取至少一个第三消息,并向目标服务器周期性重传第三消息,其中,第三消息为记录在日志中的第一消息;
在重传第三消息的重传次数大于或等于第三预设阈值的情况下,输出报警信息。
综上,在响应消息为成功响应消息的情况下,可以将目标请求消息中的第一消息、以及目标请求消息中的第一消息的消息标识可以记录专用于记录成功消息的日志中,该日志例如为第一日志;在响应消息为失败响应消息的情况下,将目标请求消息中的第一消息、以及目标请求消息中的第一消息的消息标识记录在专用于记录失败消息的日志中,例如该日志为第二日志。
例如,N个第一请求消息包括第一请求消息1和第一请求消息2,第一请求消息1中包括第一消息1,第一请求消息2中包括第一消息2。对于第一请求消息1,在调用一次目标服务器对应的服务对第一消息1进行处理时,如果在第二预设时间内收到第一请求消息1对应的响应消息1,在响应消息1为成功响应消息时,则将第一消息1和第一消息1的标识记录在第一日志中;在响应消息1不为成功响应消息(即响应消息为失败响应消息)时,则将第一消息1和第一消息1的标识记录在第二日志中。
需要说明的是,现有技术中需要在消费服务器的本地配置文件中配置存储服务器的地址、以及配置与存储服务器的消息队列对应的消息队列标识,消费服务器根据本地配置文件从存储服务器的与消息队列标识对应的消息队列中取出消息,并对消息进行处理。在消费服务器对消息处理失败的情况下,消费服务器将处理失败的消息记录在异常消息日志,在消费服务器的个数较多的情况下,每个消费服务器都维护了一个异常消息日志,因此维护成本比较高,并且不方便各业务团队获取到异常消息日志。
而本实施例中缓冲服务器读取第一内存缓冲队列中的N个第一消息,并向第一目标服务地址对应的目标服务器发送N个第一请求消息,以调用N次目标服务器对应的服务对N个第一消息进行处理,在目标服务器对应的服务向缓冲服务器发送的目标请求消息的响应消息为失败响应消息的情况下,将目标请求消息中的第一消息、以及目标请求消息中的第一消息的消息标识记录在第二日志中。也即由缓冲服务器将处理失败的第一消息记录在本地的第二日志中,由缓冲服务器统一对处理失败的消息进行管理,并不是由目标服务器对应的服务维护处理失败的消息因此,因此,在一定程度上降低了维护成本。方便各业务团队的负责人能够从缓冲服务器的第二日志中获取到处理失败的消息。同时由于对处理成功的第一消息也进行了记录,即将处理成功的目标请求消息中的第一消息的记录在第一日志中,便于查询处理成功的第一消息。
需要说明的是,在预设时间内未收到所述响应消息或收到的所述响应消息为失败响应消息的情况下,停止与所述目标请求消息对应的服务的调用,并将所述目标请求消息中的第一消息、以及所述目标请求消息中的第一消息的消息标识记录在日志中,例如记录在第二日志中。
例如,对于第一请求消息1,在调用一次目标服务器对应的服务对第一消息1进行处理时,如果在第二预设时间内未收到第一请求消息1对应的响应消息,则停止与所述目标请求消息(目标请求消息为第一请求消息1)对应的服务的调用,并将第一消息1和第一消息1的标识记录在第二日志中。而对于第一请求消息2,在调用一次目标服务器对应的服务对第一消息2进行处理时,如果在预设时间内收到第一请求消息1对应的响应消息2,且响应消息2为成功响应消息,则将第一消息2和第一消息2的标识记录在第一日志中。
现有技术中,消费服务器取出消息后,并对消息进行处理的情况下,此时如果重启消费服务器,则消费服务器上部署的消费服务则会被杀死并且重新加载新版本,处理中的消息就会丢失,即使将处理失败的消息记录在异常消息日志中,也会因为重启消费服务器的时间点未记录下,就会导致从异常消息日志中不容易找到处理失败的消息。
而本实施例中,在目标服务器对应的服务(例如业务服务器1上的服务)重启时导致缓冲服务器未在预设时间内接收到某个第一请求消息的响应消息,则会由缓冲服务器将该第一请求消息中的第一消息记录在第二日志中,从而通过第二日志可以方便找到未处理完成的消息。并且,通过停止与目标请求消息对应的服务的调用,可避免与目标请求消息对应的服务处理该目标请求消息中的第一消息时,由于该服务出现了资源紧张导致处理该第一消息耗时较长,或者该服务假死时导致需要较长时间才能收到该目标请求消息的响应消息,因此,在预设时间内未收到响应消息获收到失败响应消息的情况下,可以停止与目标请求消息对应的服务的调用,并将所述目标请求消息中的第一消息、以及所述目标请求消息中的第一消息的消息标识记录在日志中,从而可以避免缓冲服务器等待收到响应消息所需时间较长,影响继续从第一内存缓冲队列中取出第一消息的效率。
参照图5,图5为本发明实施例中提供的一种消息处理装置的结构示意图,该装置500设置于缓冲服务器,包括:
接收模块510,用于接收生产服务器发送的第一消息,并将所述第一消息存储在与所述第一消息的业务类型对应的消息队列中;
获取模块520,用于从所述消息队列中获取M个第一消息,并采用M个第一线程将所述M个第一消息写入到与第一目标业务标识对应的第一内存缓冲队列,其中,所述第一目标业务标识为与所述第一消息的业务类型对应的标识,所述M为大于等于1的整数;
确定模块530,用于确定与所述第一目标业务标识关联的第一目标服务地址;
发送模块540,用于采用N个第二线程读取所述第一内存缓冲队列中的N个第一消息,并向所述第一目标服务地址对应的目标服务器发送N个第一请求消息,以调用N次所述目标服务器对应的服务对所述N个第一消息进行处理,其中,每个所述第一请求消息中包括一个第一消息,所述N为大于所述M的整数。
本发明实施例提供的消息处理装置,通过接收生产服务器发送的第一消息,并将所述第一消息存储在与所述第一消息的业务类型对应的消息队列中,从消息队列中获取M个第一消息,采用M个第一线程将M个第一消息写入到与第一目标业务标识对应的第一内存缓冲队列,确定与第一目标业务标识关联的第一目标服务地址,采用N个第二线程读取第一内存缓冲队列中的N个第一消息,并向第一目标服务地址对应的目标服务器发送N个第一请求消息,以调用N次目标服务器对应的服务对N个第一消息进行处理。由于N大于M,也即从第一内存缓冲队列中读取第一消息的第二线程的个数大于向第一内存缓冲队列中写入第一消息的第一线程的个数,从而可以实现较快的读取操作,也即从第一内存缓冲队列读取第一消息的速度大于将第一消息写入到第一内存缓冲队列的速度,避免第一内存缓冲队列中的第一消息的积压,进而可以保证缓冲服务器可以从消息队列中持续获取第一消息,并将获取的第一消息写入到第一内存缓冲队列,因此,可以避免消息队列中的第一消息的积压,提高消息队列的消费效率。并且,缓冲服务器不负责第一消息的处理,而是由目标服务器对应的业务对第一消息进行处理,也即缓冲服务器向目标服务器发送N个第一请求消息后,可以接着从第一内存缓冲队列中取第一消息,不用等待目标服务器是否处理完第一消息。因此,可以在一定程度上进一步提高消息队列中的消息的消费效率。
可选的,还包括:
缓存模块,用于周期性获取业务标识与服务地址的关联关系,并将所述业务标识与所述服务地址的关联关系缓存在缓冲区,其中,每个所述业务标识关联一个不同的所述服务地址;
所述确定模块530,具体用于根据所述缓冲区缓存的所述业务标识与所述服务地址的关联关系,确定与所述第一目标业务标识关联的第一目标服务地址。
可选的,还包括:
第一判断模块,用于判断在预设时间内是否能够收到所述N个第一请求消息中的目标请求消息的响应消息;
第二判断模块,用于在所述预设时间内收到所述响应消息的情况下,判断所述响应消息是否为失败响应消息;
第一重传模块,用于在所述响应消息为失败响应消息的情况下,向所述目标服务器周期性重传所述目标请求消息。
可选的,所述第一重传模块,还用于在所述预设时间内未收到所述响应消息的情况下,向所述目标服务器周期性重传所述目标请求消息。
可选的,还包括:
第一记录模块,用于在重传所述目标请求消息的重传次数大于第一预设阈值的情况下,将所述目标请求消息中的第一消息、以及所述目标请求消息中的第一消息的消息标识记录在日志中;
第二重传模块,用于从所述日志中获取至少一个第二消息,并向所述目标服务器周期性重传所述第二消息,其中,所述第二消息为记录在所述日志中的第一消息。
可选的,所述第二重传模块,还用于在重传所述第二消息的重传次数大于或等于第二预设阈值的情况下,输出报警信息。
可选的,还包括:
第二记录模块,用于在预设时间内未收到所述响应消息或收到的所述响应消息为失败响应消息的情况下,停止与所述目标请求消息对应的服务的调用,并将所述目标请求消息中的第一消息、以及所述目标请求消息中的第一消息的消息标识记录在日志中;
第三重传模块,用于从所述日志中获取至少一个第三消息,并向所述目标服务器周期性重传所述第三消息,其中,所述第三消息为记录在所述日志中的第一消息;在重传所述第三消息的重传次数大于或等于第三预设阈值的情况下,输出报警信息。
本发明实施例还提供了一种电子设备,如图6所示,图6为本发明实施例中提供的一种电子设备的结构示意图,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:
接收生产服务器发送的第一消息,并将所述第一消息存储在与所述第一消息的业务类型对应的消息队列中;
从所述消息队列中获取M个第一消息,并采用M个第一线程将所述M个第一消息写入到与第一目标业务标识对应的第一内存缓冲队列,其中,所述第一目标业务标识为与所述第一消息的业务类型对应的标识,所述M为大于等于1的整数;
确定与所述第一目标业务标识关联的第一目标服务地址;
采用N个第二线程读取所述第一内存缓冲队列中的N个第一消息,并向所述第一目标服务地址对应的目标服务器发送N个第一请求消息,以调用N次所述目标服务器对应的服务对所述N个第一消息进行处理,其中,每个所述第一请求消息中包括一个第一消息,所述N为大于所述M的整数。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的消息处理方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的消息处理方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种消息处理方法,其特征在于,执行于缓冲服务器,包括:
接收生产服务器发送的第一消息,并将所述第一消息存储在与所述第一消息的业务类型对应的消息队列中;
从所述消息队列中获取M个第一消息,并采用M个第一线程将所述M个第一消息写入到与第一目标业务标识对应的第一内存缓冲队列,其中,所述第一目标业务标识为与所述第一消息的业务类型对应的标识,所述M为大于等于1的整数;
确定与所述第一目标业务标识关联的第一目标服务地址;
采用N个第二线程读取所述第一内存缓冲队列中的N个第一消息,并向所述第一目标服务地址对应的目标服务器发送N个第一请求消息,以调用N次所述目标服务器对应的服务对所述N个第一消息进行处理,其中,每个所述第一请求消息中包括一个第一消息,所述N为大于所述M的整数。
2.根据权利要求1所述的方法,其特征在于,还包括:
周期性获取业务标识与服务地址的关联关系,并将所述业务标识与所述服务地址的关联关系缓存在缓冲区,其中,每个所述业务标识关联一个不同的所述服务地址;
所述确定与所述第一目标业务标识关联的第一目标服务地址,包括:
根据所述缓冲区缓存的所述业务标识与所述服务地址的关联关系,确定与所述第一目标业务标识关联的第一目标服务地址。
3.根据权利要求1所述的方法,其特征在于,在所述向所述目标服务地址对应的目标服务器发送N个第一请求消息之后,还包括:
判断在预设时间内是否能够收到所述N个第一请求消息中的目标请求消息的响应消息;
在所述预设时间内收到所述响应消息的情况下,判断所述响应消息是否为失败响应消息;
在所述响应消息为失败响应消息的情况下,向所述目标服务器周期性重传所述目标请求消息。
4.根据权利要求3所述的方法,其特征在于,还包括:
在所述预设时间内未收到所述响应消息的情况下,向所述目标服务器周期性重传所述目标请求消息。
5.根据权利要求3或4所述的方法,其特征在于,还包括:
在重传所述目标请求消息的重传次数大于第一预设阈值的情况下,将所述目标请求消息中的第一消息、以及所述目标请求消息中的第一消息的消息标识记录在日志中;
从所述日志中获取至少一个第二消息,并向所述目标服务器周期性重传所述第二消息,其中,所述第二消息为记录在所述日志中的第一消息。
6.根据权利要求5所述的方法,其特征在于,还包括:
在重传所述第二消息的重传次数大于或等于第二预设阈值的情况下,输出报警信息。
7.根据权利要求3所述的方法,其特征在于,还包括:
在预设时间内未收到所述响应消息或收到的所述响应消息为失败响应消息的情况下,停止与所述目标请求消息对应的服务的调用,并将所述目标请求消息中的第一消息、以及所述目标请求消息中的第一消息的消息标识记录在日志中;
从所述日志中获取至少一个第三消息,并向所述目标服务器周期性重传所述第三消息,其中,所述第三消息为记录在所述日志中的第一消息;
在重传所述第三消息的重传次数大于或等于第三预设阈值的情况下,输出报警信息。
8.一种消息处理装置,其特征在于,设置于缓冲服务器,包括:
接收模块,用于接收生产服务器发送的第一消息,并将所述第一消息存储在与所述第一消息的业务类型对应的消息队列中;
获取模块,用于从所述消息队列中获取M个第一消息,并采用M个第一线程将所述M个第一消息写入到与第一目标业务标识对应的第一内存缓冲队列,其中,所述第一目标业务标识为与所述第一消息的业务类型对应的标识,所述M为大于等于1的整数;
确定模块,用于确定与所述第一目标业务标识关联的第一目标服务地址;
发送模块,用于采用N个第二线程读取所述第一内存缓冲队列中的N个第一消息,并向所述第一目标服务地址对应的目标服务器发送N个第一请求消息,以调用N次所述目标服务器对应的服务对所述N个第一消息进行处理,其中,每个所述第一请求消息中包括一个第一消息,所述N为大于所述M的整数。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-7任一所述的方法步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010246268.9A CN111585867B (zh) | 2020-03-31 | 2020-03-31 | 消息处理方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010246268.9A CN111585867B (zh) | 2020-03-31 | 2020-03-31 | 消息处理方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111585867A CN111585867A (zh) | 2020-08-25 |
CN111585867B true CN111585867B (zh) | 2022-04-19 |
Family
ID=72124257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010246268.9A Active CN111585867B (zh) | 2020-03-31 | 2020-03-31 | 消息处理方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111585867B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112149995A (zh) * | 2020-09-22 | 2020-12-29 | 京东数字科技控股股份有限公司 | 任务检查方法、装置、电子设备及存储介质 |
CN112256451A (zh) * | 2020-10-19 | 2021-01-22 | 北京达佳互联信息技术有限公司 | 定时业务消息生成方法、装置、电子设备及存储介质 |
CN112416717A (zh) * | 2020-11-27 | 2021-02-26 | 中国农业银行股份有限公司 | 一种批量执行结果上报方法、装置、设备及介质 |
CN112798090B (zh) * | 2020-12-29 | 2022-08-05 | 广东省科学院智能制造研究所 | 一种连续稳定称量物料的方法及装置 |
CN112346892A (zh) * | 2021-01-06 | 2021-02-09 | 全时云商务服务股份有限公司 | 一种mq负载均衡方法、装置、设备及存储介质 |
CN113515391A (zh) * | 2021-05-14 | 2021-10-19 | 北京字节跳动网络技术有限公司 | 消息处理的方法、装置、电子设备和计算机可读存储介质 |
CN113342764A (zh) * | 2021-06-12 | 2021-09-03 | 四川虹美智能科技有限公司 | 不同云端服务器之间的数据同步方法及装置 |
CN113467969B (zh) * | 2021-06-22 | 2024-01-23 | 上海星融汽车科技有限公司 | 一种处理消息堆积的方法 |
CN115914346A (zh) * | 2021-08-09 | 2023-04-04 | 中移物联网有限公司 | 物联网消息处理方法、装置、电子设备及存储介质 |
CN114463930B (zh) * | 2021-12-27 | 2024-04-16 | 北京中交兴路信息科技有限公司 | 报警事件的处理方法、装置、电子设备及介质 |
CN115002219B (zh) * | 2022-05-30 | 2023-07-25 | 广州市百果园网络科技有限公司 | 服务调用方法、装置、设备、***、存储介质及产品 |
CN116126563A (zh) * | 2023-02-20 | 2023-05-16 | 北京神州云合数据科技发展有限公司 | 一种基于事件总线的消息处理方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107656825A (zh) * | 2017-09-01 | 2018-02-02 | 上海艾融软件股份有限公司 | 消息处理方法、装置及*** |
CN108712501A (zh) * | 2018-05-28 | 2018-10-26 | 腾讯科技(北京)有限公司 | 信息的发送方法、装置、计算设备以及存储介质 |
CN108874562A (zh) * | 2018-06-21 | 2018-11-23 | 北京顺丰同城科技有限公司 | 分布式高并发消息队列推送*** |
CN109495308A (zh) * | 2018-11-27 | 2019-03-19 | 中国电子科技集团公司第二十八研究所 | 一种基于管理信息***的自动化运维*** |
CN110535787A (zh) * | 2019-07-25 | 2019-12-03 | 北京奇艺世纪科技有限公司 | 消息消费方法、装置及可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2869233C (en) * | 2013-11-01 | 2022-07-19 | Blair LIVINGSTON | System and method for distribution and consumption of content |
CN110321273B (zh) * | 2019-07-09 | 2023-10-03 | 政采云有限公司 | 一种业务统计方法及装置 |
CN110505162B (zh) * | 2019-08-08 | 2022-07-26 | 腾讯科技(深圳)有限公司 | 消息传输方法、装置及电子设备 |
-
2020
- 2020-03-31 CN CN202010246268.9A patent/CN111585867B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107656825A (zh) * | 2017-09-01 | 2018-02-02 | 上海艾融软件股份有限公司 | 消息处理方法、装置及*** |
CN108712501A (zh) * | 2018-05-28 | 2018-10-26 | 腾讯科技(北京)有限公司 | 信息的发送方法、装置、计算设备以及存储介质 |
CN108874562A (zh) * | 2018-06-21 | 2018-11-23 | 北京顺丰同城科技有限公司 | 分布式高并发消息队列推送*** |
CN109495308A (zh) * | 2018-11-27 | 2019-03-19 | 中国电子科技集团公司第二十八研究所 | 一种基于管理信息***的自动化运维*** |
CN110535787A (zh) * | 2019-07-25 | 2019-12-03 | 北京奇艺世纪科技有限公司 | 消息消费方法、装置及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111585867A (zh) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111585867B (zh) | 消息处理方法、装置、电子设备及可读存储介质 | |
KR102167613B1 (ko) | 메시지 푸시 방법 및 장치 | |
CN111046310A (zh) | 页面处理方法、装置、服务器及计算机可读存储介质 | |
CN110727560A (zh) | 云服务报警方法及装置 | |
CN110851290A (zh) | 一种数据同步方法、装置、电子设备及存储介质 | |
US20230030856A1 (en) | Distributed table storage processing method, device and system | |
CN110430070B (zh) | 一种服务状态分析方法、装置、服务器、数据分析设备及介质 | |
CN111414263A (zh) | 一种信息处理方法、装置、服务器及存储介质 | |
CN110311975B (zh) | 一种数据请求处理方法及装置 | |
CN111782431A (zh) | 一种异常的处理方法、装置、终端及存储介质 | |
CN110955581A (zh) | 线上软件异常告警方法、装置、电子设备及存储介质 | |
CN114218046A (zh) | 一种业务监控方法、介质、电子设备及可读存储介质 | |
CN113220342A (zh) | 中心化配置方法、装置、电子设备及存储介质 | |
CN112865927B (zh) | 消息送达验证方法、装置、计算机设备和存储介质 | |
CN112653736A (zh) | 一种并行回源方法、装置及电子设备 | |
CN110674153B (zh) | 一种数据一致性检测方法、装置及电子设备 | |
CN108390770B (zh) | 一种信息生成方法、装置及服务器 | |
CN116155539A (zh) | 一种基于信息流异步处理算法的自动化渗透测试方法、***、设备以及存储介质 | |
CN112671590B (zh) | 数据传输方法、装置、电子设备及计算机存储介质 | |
CN115190125A (zh) | 一种缓存集群的监控方法和装置 | |
CN114510398A (zh) | 异常监测方法、装置、设备、***和介质 | |
CN114090293A (zh) | 一种服务提供方法及电子设备 | |
CN111291127A (zh) | 一种数据同步方法、装置、服务器及存储介质 | |
CN112463514A (zh) | 分布式缓存集群的监测方法和装置 | |
CN110716841A (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 |