CN109271265A - 基于消息队列的请求处理方法、装置、设备及存储介质 - Google Patents
基于消息队列的请求处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN109271265A CN109271265A CN201811151515.6A CN201811151515A CN109271265A CN 109271265 A CN109271265 A CN 109271265A CN 201811151515 A CN201811151515 A CN 201811151515A CN 109271265 A CN109271265 A CN 109271265A
- Authority
- CN
- China
- Prior art keywords
- message
- server
- request
- service
- user
- 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.)
- Granted
Links
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
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (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)
- Information Transfer Between Computers (AREA)
Abstract
一种基于消息队列的请求处理方法,包括:当接收到用户请求时,将用户请求封装成相应的消息后发送至第一服务器;根据消息中的位置标识号,通过第一服务器将消息存储于消息队列中,同时通过第一服务器将消息同步至多个第二服务器;根据所述多个第二服务器当前的负载,筛选出当前的负载低于预设负载阈值的第二服务器;通过所筛选出的第二服务器建立相应的线程池处理消息。本发明还提供一种基于消息队列的请求处理装置、设备及存储介质。本发明基于云传输技术,通过引入第一服务器中的消息队列,使用消息队列同步通知第二服务器对消息进行处理,能够进行服务器分离,脱离数据库,提升系统运行的效率。
Description
技术领域
本发明涉及互联网技术领域,具体涉及一种基于消息队列的请求处理方法、装置、设备及存储介质。
背景技术
随着公司业务量越来越大,传统的出单系统的架构已经不能满足当前的业务需求。传统的架构中,针对非主流程的功能,例如证件影像上传,投保书生成等功能,均采取异步任务的处理方式。而且为了防止数据脏读,异步任务的处理方式从数据库中读取数据时通常采取数据加锁读取。在业务量少,开启的线程池少的情况下,传统的架构没有问题。但是一旦业务量增长,需要开启更多的线程来消化任务数据时,加锁读取任务数据的方式会造成数据库锁等待,从而导致数据库出现瓶颈、线程出现等待、处理效率低下,设置当前业务量无法及时完成等问题的发生。
发明内容
鉴于以上内容,有必要提出一种基于消息队列的请求处理方法、装置、设备及存储介质,通过引入第一服务器中的消息队列,使用消息队列同步通知第二服务器对消息进行处理,能够进行服务器分离,脱离数据库,提升系统运行效率。
本发明的第一方面提供一种基于消息队列的请求处理方法,所述方法包括:
当接收到用户请求时,根据预设报文格式将所述用户请求封装成相应的消息;
将封装后的消息发送至第一服务器,所述消息中携带有位置标识号、请求的服务类型及请求的服务数量;
根据所述位置标识号,通过所述第一服务器将所述消息存储于所述第一服务器的消息队列中,同时通过所述第一服务器将所述消息同步至多个第二服务器;
根据所述多个第二服务器当前的负载,在所述多个第二服务器中筛选出当前的负载低于预设负载阈值的第二服务器;
根据所述请求的服务类型及请求的服务数量,通过所筛选出的第二服务器建立相应的线程池对所述消息进行处理。
根据本发明的一个优选实施例,所述根据预设报文格式将所述用户请求封装成相应的消息包括:
根据所述预设报文格式将所述用户请求封装为http请求或者https请求;
根据http请求协议将所封装的所述http请求或者所述https请求封装为相应的消息。
根据本发明的一个优选实施例,在所述第一服务器接收到所述消息后,所述方法还包括:
判断消息队列的长度是否超过预设最大阈值;
当确定所述消息队列的长度超过所述预设最大阈值时,执行第一预设操作。
根据本发明的一个优选实施例,当确定所述消息队列的长度没有超过所述预设最大阈值时,所述方法还包括:
执行第二预设操作且将所述消息同步至所述第二服务器。
根据本发明的一个优选实施例,所述第一预设操作为以下一种或多种的组合:
抛弃用户请求;
跳转到错误页面;
向用户返回消息接收失败的结果。
所述第二预设操作为:响应用户请求,向用户返回消息接收成功的结果。
根据本发明的一个优选实施例,所述根据所述请求的服务类型及请求的服务数量,通过所述第二服务器建立相应的线程池对所述消息进行处理包括:
对所述消息进行解析;
识别解析后的消息对应的请求的服务类型及请求的服务数量;
根据所述请求的服务数量建立相应的线程池;
根据所述服务类型通过所述线程池对所述消息进行处理。
根据本发明的一个优选实施例,在所述第二服务器接收到所述消息后,所述方法还包括:
查询redis对应的消息主键是否有成功执行;
如果查询到redis对应的消息主键已成功执行,则不通过所述第二服务器根据所述消息执行相应的操作;
如果没有查询到redis对应的消息主键被执行的记录,则通过所述第二服务器根据所述消息执行相应的操作,并在执行成功后将对应的消息主键写入redis。
本发明的第二方面提供一种基于消息队列的请求处理装置,所述装置包括:
封装模块,用于当接收到用户请求时,根据预设报文格式将所述用户请求封装成相应的消息;
发送模块,用于将封装后的消息发送至第一服务器,所述消息中携带有位置标识号、请求的服务类型及请求的服务数量;
存储模块,用于根据所述位置标识号,通过所述第一服务器将所述消息存储于所述第一服务器的消息队列中;
所述发送模块,还用于同时通过所述第一服务器将所述消息同步至多个第二服务器;
筛选模块,用于根据所述多个第二服务器当前的负载,在所述多个第二服务器中筛选出当前的负载低于预设负载阈值的第二服务器;
处理模块,用于根据所述请求的服务类型及请求的服务数量,通过所筛选出的第二服务器建立相应的线程池对所述消息进行处理。
本发明的第三方面提供一种设备,所述设备包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现所述基于消息队列的请求处理方法。
本发明的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述基于消息队列的请求处理方法。
本发明所述的基于消息队列的请求处理方法、装置、设备及存储介质,当接收到用户请求时,根据预设报文格式将所述用户请求封装成相应的消息;将封装后的消息发送至第一服务器,所述消息中携带有位置标识号、请求的服务类型及请求的服务数量;根据所述位置标识号,通过所述第一服务器将所述消息存储于所述第一服务器的消息队列中,同时通过所述第一服务器将所述消息同步至多个第二服务器;根据所述多个第二服务器当前的负载,在所述多个第二服务器中筛选出当前的负载低于预设负载阈值的第二服务器;根据所述请求的服务类型及请求的服务数量,通过所筛选出的第二服务器建立相应的线程池对所述消息进行处理。本发明通过引入第一服务器中的消息队列,使用消息队列同步通知第二服务器对消息进行处理,能够进行服务器分离,脱离数据库,提升系统运行的效率。另外,根据消息队列中的待处理的消息创建相应的线程,并动态配置线程池的大小,做到了生产者和消费者相分离,能够有效的防止高并发时数据请求压力过大导致系统瘫痪的问题的发生。同时第一服务器对消息队列的长度与预设最大阈值之间进行比较,根据比较的结果选择执行不同的操作,如此可快速的向用户返回相应的结果,节省用户的等待时间,提升用户的使用体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明实施例一提供的基于消息队列的请求处理方法的流程图。
图2是本发明实施例二提供的基于消息队列的请求处理装置的功能模块图。
图3是本发明实施例三提供的设备的示意图。
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
本发明实施例的基于消息队列的请求处理方法应用在由设备和通过网络与所述设备进行连接的服务器所构成的硬件环境中,由服务器和设备共同执行。网络包括但不限于:广域网、城域网或局域网。
所述设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。
所述服务器可以包括:第一服务器及第二服务器,其中,第一服务器可以是消息队列服务器。所述消息队列服务器是指为客户端计算机提供消息队列、路由选择和目录服务的计算机。所述第二服务器可以是处理消息的服务器。
所述设备与第一服务器及第二服务器通过网络通讯连接,设备接收到用户的请求时,发送消息给第一服务器,由第一服务器将所述消息存储于自身的消息队列中,同时第一服务器还同步将所述消息发送至第二服务器,由第二服务器根据所述消息执行相应的操作。即使用消息队列同步通知第二服务器对消息进行处理,从而将第一服务器和第二服务器进行了分离,并脱离了设备自身的数据库,提升了系统运行的效率。所述对于需要进行基于消息队列的请求处理方法的电子设备,可以直接在电子设备上集成本发明的方法所提供的基于消息队列的请求处理功能,或者安装用于实现本发明的方法的客户端。再如,本发明所提供的方法还可以以软件开发工具包(Software Development Kit,SDK)的形式运行在服务器等设备上,以SDK的形式提供基于消息队列的请求处理功能的接口,服务器或其他设备通过提供的接口即可实现基于消息队列的请求处理功能。
实施例一
图1是本发明实施例一提供的基于消息队列的请求处理方法的流程图。根据不同的需求,该流程图中的执行顺序可以改变,某些步骤可以省略。
S11:当接收到用户请求时,根据预设报文格式将所述用户请求封装成相应的消息。
本实施例中,用户可以通过设备发送请求,所述设备是指具有数据处理能力的电子设备,例如客户端计算机。
用户请求可以包括,但不限于:注册,登录,上传证件或投保等。系统接收到所述用户请求后,根据预设报文格式将所述用户请求封装成相应的消息。例如,系统接收到用户的注册请求后,根据预设报文格式将所述注册请求封装成相应的注册消息;系统接收到用户的登录请求后,根据预设报文格式将所述登录请求封装成相应的登录消息;系统接收到用户的上传证件请求后,根据预设报文格式将所述上传证件请求封装成相应的上传证件消息;系统接收到用户的投保请求后,根据预设报文格式将所述投保请求封装成相应的投保消息。
本实施例中,根据预设报文格式将所述用户请求封装成相应的消息可以包括:
根据所述预设报文格式将所述用户请求封装为http请求或者https请求;
根据http请求协议将所封装的http请求或者https请求封装为相应的消息。
所述预设报文格式可以包括:报文类型、报文版本、报文长度及报文实体等信息。
通过接收用户请求并将用户请求按照预设报文格式进行封装可以使得用户请求变得统一,便于系统管理与处理。
S12:将封装后的消息发送至所述第一服务器,所述消息中携带有位置标识号、请求的服务类型及请求的服务数量。
所述第一服务器可以是消息队列服务器。所述消息队列服务器是指为客户端计算机提供消息队列、路由选择和目录服务的计算机。
本实施例中,封装后的消息中还可以携带有位置标识号和参数信息等。所述位置标识号用以表明存储的消息队列的位置信息。例如,位置标识号为1时,表明将所述消息存储于所述第一服务器的第一消息队列中。位置标识号为2时,表明将所述消息存储于所述第一服务器的第二消息队列中。所述参数信息可以包括:所述请求的服务类型及所述请求的服务数量等。所述请求的服务类型是指请求的业务类型,所述请求的服务数量是指处理所请求的业务类型对应的业务时需要建立的线程池。
S13:根据所述位置标识号,通过所述第一服务器将所述消息存储于所述第一服务器的消息队列中,同时通过所述第一服务器将所述消息同步至多个第二服务器。
本实施例中,所述第一服务器接收到消息时,根据所述位置标识号将所述消息存储于第一服务器的消息队列中。所述位置标识号表明存储的消息队列的位置信息,因而可以直接根据所述位置标识号将所述消息存储于对应所述位置标识号的消息队列中。
示例性的,所述第一服务器接收到注册消息时,根据所述注册消息中携带的位置标识号“1”,将所述消息存储于的第一消息队列中;所述第一服务器接收到登录消息时,根据所述注册消息中携带的位置标识号“2”,将所述消息存储于的第二消息队列中;所述第一服务器接收到上传证件消息时,根据所述注册消息中携带的位置标识号“3”,将所述消息存储于的第三消息队列中;所述第一服务器接收到投保消息时,根据所述投保消息中携带的位置标识号“4”,将所述消息存储于的第四消息队列中。
第一服务器可以在将所述消息存储于自身的消息队列时,同步将所接收到的所述消息发送至多个第二服务器。
第一服务器还可以每隔预设时间段,将存储于所述消息队列中的消息同步至多个第二服务器。即在当前预设时间段将上一个预设时间段周期内的存储于所述消息队列中的消息同步至多个第二服务器。所述预设时间段,可以是2小时,或者1天。示例性的,假设预设时间段为1天,则第一服务器在第2天将第1天存储于所述消息队列中的消息同步至多个第二服务器,第一服务器在第3天将第2天存储于所述消息队列中的消息同步至多个第二服务器。
本实施例中,所述多个第二服务器可以是处理消息的服务器。
优选的,所述第一服务器接收到所述消息后,还可以包括:
判断消息队列的长度是否超过预设最大阈值;
当确定所述消息队列的长度超过所述预设最大阈值时,执行第一预设操作;
当确定所述消息队列的长度没有超过所述预设最大阈值时,执行第二预设操作且将所述消息同步至第二服务器。
本实施例中,所述第一预设操作可以为以下一种或多种的组合:
1)抛弃用户请求;
2)跳转到错误页面;
3)向用户返回消息接收失败的结果。
本实施例中,所述第二预设操作可以为:响应用户请求,向用户返回消息接收成功的结果。
通过第一服务器对消息队列的长度与预设最大阈值之间进行比较,根据比较的结果选择执行不同的操作,如此可快速的向用户返回相应的结果,节省用户的等待时间,提升用户的使用体验。
S14:根据所述多个第二服务器当前的负载,在所述多个第二服务器中筛选出当前的负载低于预设负载阈值的第二服务器。
本实施例中,多个第二服务器可以通过集群的方式进行搭建。第一服务器将消息发送到第二服务器时,在获取多个第二服务器当前的负载,然后从所述多个第二服务器中筛选出当前的负载低于预设负载阈值的第二服务器。
预设负载阈值为预先设置的负载临界值,是指第二服务器所能处理的最佳负载强度。
在通过第一服务器将消息发送至第二服务器时,先通过集群的负载均衡设备,根据每台第二服务器的负载情况,选择负载均衡低的第二服务器处理相应请求。对于当前负载均衡高的第二服务器,不处理所述消息。可以将消息自动分配给负载低的第二服务器,便于第二服务器负载均衡。
S15:根据所述请求的服务类型及请求的服务数量,通过所筛选出的第二服务器建立相应的线程池对所述消息进行处理。
本实施例中,所述根据所述请求的服务类型及请求的服务数量,通过所述第二服务器建立相应的线程池对所述消息进行处理包括:
对所述消息进行解析;
识别解析后的消息对应的请求的服务类型及请求的服务数量;
根据所述请求的服务数量建立相应的线程池;
根据所述服务类型通过所述线程池对所述消息进行处理。
本实施例中,所述第二服务器中可以预先配置有与所述消息相对应的配置表及对应的请求的服务类型。所述配置表可以包括:完成数据请求所需要的系统服务名、系统服务物理路由、系统服务后续流程条件码、条件码对应后续服务等信息。对所述消息进行解析就是通过检索配置表,解释其中内容,以确定具体服务内容,并确定系统服务名、系统服务物理路由、后续流程条件码、条件码对应后续服务等。
本实施例中,所述第二服务器响应所述消息对应的http请求并执行相应的操作。
本实施例中,所述第二服务器根据所述请求的服务数量建立相应的线程池对所述消息进行处理,一个消息队列对应一个线程池,每个线程池固定消费对应的消息队列中的待处理的消息,不同的线程池之间相互不干扰。例如,线程池1只负责消费第一消息队列中的待处理的消息,线程池2只负责消费第二消息队列中的待处理的消息。
根据所述请求的服务数量建立相应的线程池,能够实现根据所述消息中的请求服务的数量执行不同的并发控制,从而有效的节约资源,进一步提升消息处理的效率。
本实施例中,所述根据所述服务类型通过所述线程池对所述消息进行处理可以包括以下一种或者多种的组合:
1)当识别所述消息中的所述请求的服务类型为注册时,所筛选出的所述第二服务器将所述用户请求对应填写的注册信息记录于预设数据库中。
2)当识别所述消息中的所述请求的服务类型为登录时,所筛选出的所述第二服务器将所述用户请求对应输入的用户名及密码与所述预设数据库中的用户名及密码进行匹配,并在匹配成功后显示登录界面。
3)当识别所述消息中的所述请求的服务类型为上传证件时,所筛选出的所述第二服务器读取所述预设数据库中的证件并完成上传操作。
4)当识别所述消息中的所述请求的服务类型为投保时,所筛选出的所述第二服务器读取所述预设数据库中的相应内容并生成保单。
需要说明的是,上述所列举的请求的服务类型仅为举例,并不限制本发明,任何适合的服务类型均可引用于此。
本实施例中,所述预设数据库为预先设置的只读数据库,所述只读数据库是指仅有读取权限的数据库,只读数据库能够保持大量的数据,且可以防止数据被篡改。
本实施例中,可以在第一服务器中预先设置配置策略,将不同的消息封装为不同的请求后发送到第二服务器。为防止第一服务器重复发送消息,导致第二服务器多次执行,还可以在第二服务器中引入redis防重复机制。所述redis防重复机制为现有技术,本文在此不再赘述。
所述防重复机制是第二服务在执行消息时,先查询redis对应的消息主键是否有成功执行,如果查询到redis对应的消息主键已成功执行,则不通过所述第二服务器根据所述消息执行相应的操作;如果没有查询到redis对应的消息主键被执行的记录,则通过所述第二服务器根据所述消息执行相应的操作,并在执行成功后将对应的消息主键写入redis。
综上所述,本发明实施例中所述的基于消息队列的请求处理方法,当接收到用户请求时,根据预设报文格式将所述用户请求封装成相应的消息;将封装后的消息发送至第一服务器,所述消息中携带有位置标识号、请求的服务类型及请求的服务数量;根据所述位置标识号,通过所述第一服务器将所述消息存储于所述第一服务器的消息队列中,同时通过所述第一服务器将所述消息同步至多个第二服务器;根据所述多个第二服务器当前的负载,在所述多个第二服务器中筛选出当前的负载低于预设负载阈值的第二服务器;根据所述请求的服务类型及请求的服务数量,通过所筛选出的第二服务器建立相应的线程池对所述消息进行处理。本发明通过引入第一服务器中的消息队列,使用消息队列同步通知第二服务器对消息进行处理,能够进行服务器分离,脱离数据库,提升系统运行的效率。另外,根据消息队列中的待处理的消息创建相应的线程,并动态配置线程池的大小,做到了生产者和消费者相分离,能够有效的防止高并发时数据请求压力过大导致系统瘫痪的问题的发生。同时第一服务器对消息队列的长度与预设最大阈值之间进行比较,根据比较的结果选择执行不同的操作,如此可快速的向用户返回相应的结果,节省用户的等待时间,提升用户的使用体验。
以上所述,仅是本发明的具体实施方式,但本发明的保护范围并不局限于此,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出改进,但这些均属于本发明的保护范围。
下面结合第2至3图,分别对实现上述基于消息队列的请求处理方法的设备的功能模块及硬件结构进行介绍。
实施例二
图2为本发明基于消息队列的请求处理装置较佳实施例中的功能模块图。
在一些实施例中,所述基于消息队列的请求处理装置20运行于服务器中。所述基于消息队列的请求处理装置20可以包括多个由程序代码段所组成的功能模块。所述基于消息队列的请求处理装置20中的各个程序段的程序代码可以存储于存储器中,并由至少一个处理器所执行,以执行(详见图1及其相关描述)基于消息队列的请求处理的方法。
本实施例中,所述基于消息队列的请求处理装置20根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:封装模块201、发送模块202、存储模块203、判断模块204、执行模块205、筛选模块206及处理模块207。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在一些实施例中,关于各模块的功能将在后续的实施例中详述。
封装模块201,用于当接收到用户请求时,根据预设报文格式将所述用户请求封装成相应的消息。
本实施例中,用户可以通过设备发送请求,所述设备是指具有数据处理能力的电子设备,例如客户端计算机。
用户请求可以包括,但不限于:注册,登录,上传证件或投保等。系统接收到所述用户请求后,根据预设报文格式将所述用户请求封装成相应的消息。例如,系统接收到用户的注册请求后,根据预设报文格式将所述注册请求封装成相应的注册消息;系统接收到用户的登录请求后,根据预设报文格式将所述登录请求封装成相应的登录消息;系统接收到用户的上传证件请求后,根据预设报文格式将所述上传证件请求封装成相应的上传证件消息;系统接收到用户的投保请求后,根据预设报文格式将所述投保请求封装成相应的投保消息。
本实施例中,根据预设报文格式将所述用户请求封装成相应的消息可以包括:
根据所述预设报文格式将所述用户请求封装为http请求或者https请求;
根据http请求协议将所封装的http请求或者https请求封装为相应的消息。
所述预设报文格式可以包括:报文类型、报文版本、报文长度及报文实体等信息。
通过接收用户请求并将用户请求按照预设报文格式进行封装可以使得用户请求变得统一,便于系统管理与处理。
发送模块202,用于将封装后的消息发送至所述第一服务器,所述消息中携带有位置标识号、请求的服务类型及请求的服务数量。
所述第一服务器可以是消息队列服务器。所述消息队列服务器是指为客户端计算机提供消息队列、路由选择和目录服务的计算机。
本实施例中,封装后的消息中还可以携带有位置标识号和参数信息等。所述位置标识号用以表明存储的消息队列的位置信息。例如,位置标识号为1时,表明将所述消息存储于所述第一服务器的第一消息队列中。位置标识号为2时,表明将所述消息存储于所述第一服务器的第二消息队列中。所述参数信息可以包括:所述请求的服务类型及所述请求的服务数量等。所述请求的服务类型是指请求的业务类型,所述请求的服务数量是指处理所请求的业务类型对应的业务时需要建立的线程池。
存储模块203,用于根据所述位置标识号,通过所述第一服务器将所述消息存储于所述第一服务器的消息队列中。同时所述发送模块202还用于通过所述第一服务器将所述消息同步至多个第二服务器。
本实施例中,所述第一服务器接收到消息时,根据所述位置标识号将所述消息存储于第一服务器的消息队列中。所述位置标识号表明存储的消息队列的位置信息,因而可以直接根据所述位置标识号将所述消息存储于对应所述位置标识号的消息队列中。
示例性的,所述第一服务器接收到注册消息时,根据所述注册消息中携带的位置标识号“1”,将所述消息存储于的第一消息队列中;所述第一服务器接收到登录消息时,根据所述注册消息中携带的位置标识号“2”,将所述消息存储于的第二消息队列中;所述第一服务器接收到上传证件消息时,根据所述注册消息中携带的位置标识号“3”,将所述消息存储于的第三消息队列中;所述第一服务器接收到投保消息时,根据所述投保消息中携带的位置标识号“4”,将所述消息存储于的第四消息队列中。
第一服务器可以在将所述消息存储于自身的消息队列时,同步将所接收到的所述消息发送至多个第二服务器。
第一服务器还可以每隔预设时间段,将存储于所述消息队列中的消息同步至多个第二服务器。即在当前预设时间段将上一个预设时间段周期内的存储于所述消息队列中的消息同步至多个第二服务器。所述预设时间段,可以是2小时,或者1天。示例性的,假设预设时间段为1天,则第一服务器在第2天将第1天存储于所述消息队列中的消息同步至多个第二服务器,第一服务器在第3天将第2天存储于所述消息队列中的消息同步至多个第二服务器。
本实施例中,所述多个第二服务器可以是处理消息的服务器。
优选的,所述第一服务器接收到所述消息后,所述基于消息队列的请求处理装置20还可以包括:
判断模块204,用于判断消息队列的长度是否超过预设最大阈值。
执行模块205,用于当所述判断模块204确定所述消息队列的长度超过所述预设最大阈值时,执行第一预设操作;
执行模块205,还用于当所述判断模块204确定所述消息队列的长度没有超过所述预设最大阈值时,执行第二预设操作且将所述消息同步至第二服务器。
本实施例中,所述第一预设操作可以为以下一种或多种的组合:
1)抛弃用户请求;
2)跳转到错误页面;
3)向用户返回消息接收失败的结果。
本实施例中,所述第二预设操作可以为:响应用户请求,向用户返回消息接收成功的结果。
通过第一服务器对消息队列的长度与预设最大阈值之间进行比较,根据比较的结果选择执行不同的操作,如此可快速的向用户返回相应的结果,节省用户的等待时间,提升用户的使用体验。
筛选模块206,用于根据所述多个第二服务器当前的负载,在所述多个第二服务器中筛选出当前的负载低于预设负载阈值的第二服务器。
本实施例中,多个第二服务器可以通过集群的方式进行搭建。第一服务器将消息发送到第二服务器时,在获取多个第二服务器当前的负载,然后从所述多个第二服务器中筛选出当前的负载低于预设负载阈值的第二服务器。
预设负载阈值为预先设置的负载临界值,是指第二服务器所能处理的最佳负载强度。
在通过第一服务器将消息发送至第二服务器时,先通过集群的负载均衡设备,根据每台第二服务器的负载情况,选择负载均衡低的第二服务器处理相应请求。对于当前负载均衡高的第二服务器,不处理所述消息。可以将消息自动分配给负载低的第二服务器,便于第二服务器负载均衡。
处理模块207,用于根据所述请求的服务类型及请求的服务数量,通过所筛选出的第二服务器建立相应的线程池对所述消息进行处理。
本实施例中,所述处理模块207根据所述请求的服务类型及请求的服务数量,通过所述第二服务器建立相应的线程池对所述消息进行处理包括:
对所述消息进行解析;
识别解析后的消息对应的请求的服务类型及请求的服务数量;
根据所述请求的服务数量建立相应的线程池;
根据所述服务类型通过所述线程池对所述消息进行处理。
本实施例中,所述第二服务器中可以预先配置有与所述消息相对应的配置表及对应的请求的服务类型。所述配置表可以包括:完成数据请求所需要的系统服务名、系统服务物理路由、系统服务后续流程条件码、条件码对应后续服务等信息。对所述消息进行解析就是通过检索配置表,解释其中内容,以确定具体服务内容,并确定系统服务名、系统服务物理路由、后续流程条件码、条件码对应后续服务等。
本实施例中,所述第二服务器根据所述请求的服务数量建立相应的线程池对所述消息进行处理,一个消息队列对应一个线程池,每个线程池固定消费对应的消息队列中的待处理的消息,不同的线程池之间相互不干扰。例如,线程池1只负责消费第一消息队列中的待处理的消息,线程池2只负责消费第二消息队列中的待处理的消息。
根据所述请求的服务数量建立相应的线程池,能够实现根据所述消息中的请求服务的数量执行不同的并发控制,从而有效的节约资源,进一步提升消息处理的效率。
本实施例中,所述根据所述服务类型通过所述线程池对所述消息进行处理可以包括以下一种或者多种的组合:
1)当识别所述消息中的所述请求的服务类型为注册时,所筛选出的所述第二服务器将所述用户请求对应填写的注册信息记录于预设数据库中。
2)当识别所述消息中的所述请求的服务类型为登录时,所筛选出的所述第二服务器将所述用户请求对应输入的用户名及密码与所述预设数据库中的用户名及密码进行匹配,并在匹配成功后显示登录界面。
3)当识别所述消息中的所述请求的服务类型为上传证件时,所筛选出的所述第二服务器读取所述预设数据库中的证件并完成上传操作。
4)当识别所述消息中的所述请求的服务类型为投保时,所筛选出的所述第二服务器读取所述预设数据库中的相应内容并生成保单。
需要说明的是,上述所列举的请求的服务类型仅为举例,并不限制本发明,任何适合的服务类型均可引用于此。
本实施例中,所述预设数据库为预先设置的只读数据库,所述只读数据库是指仅有读取权限的数据库,只读数据库能够保持大量的数据,且可以防止数据被篡改。
本实施例中,可以在第一服务器中预先设置配置策略,将不同的消息封装为不同的请求后发送到第二服务器。为防止第一服务器重复发送消息,导致第二服务器多次执行,还可以在第二服务器中引入redis防重复机制。所述redis防重复机制为现有技术,本文在此不再赘述。
所述防重复机制是第二服务在执行消息时,先查询redis对应的消息主键是否有成功执行,如果查询到redis对应的消息主键已成功执行,则不通过所述第二服务器根据所述消息执行相应的操作;如果没有查询到redis对应的消息主键被执行的记录,则通过所述第二服务器根据所述消息执行相应的操作,并在执行成功后将对应的消息主键写入redis。
综上所述,本发明实施例中所述的基于消息队列的请求处理装置,当接收到用户请求时,根据预设报文格式将所述用户请求封装成相应的消息;将封装后的消息发送至第一服务器,所述消息中携带有位置标识号、请求的服务类型及请求的服务数量;根据所述位置标识号,通过所述第一服务器将所述消息存储于所述第一服务器的消息队列中,同时通过所述第一服务器将所述消息同步至多个第二服务器;根据所述多个第二服务器当前的负载,在所述多个第二服务器中筛选出当前的负载低于预设负载阈值的第二服务器;根据所述请求的服务类型及请求的服务数量,通过所筛选出的第二服务器建立相应的线程池对所述消息进行处理。本发明通过引入第一服务器中的消息队列,使用消息队列同步通知第二服务器对消息进行处理,能够进行服务器分离,脱离数据库,提升系统运行的效率。另外,根据消息队列中的待处理的消息创建相应的线程,并动态配置线程池的大小,做到了生产者和消费者相分离,能够有效的防止高并发时数据请求压力过大导致系统瘫痪的问题的发生。同时第一服务器对消息队列的长度与预设最大阈值之间进行比较,根据比较的结果选择执行不同的操作,如此可快速的向用户返回相应的结果,节省用户的等待时间,提升用户的使用体验。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,双屏设备,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分。
实施例三
图3为本发明实施例三提供的设备的示意图。
所述设备3包括:存储器31、至少一个处理器32、存储在所述存储器31中并可在所述至少一个处理器32上运行的计算机程序33及至少一条通讯总线34。
所述至少一个处理器32执行所述计算机程序33时实现上述基于消息队列的请求处理方法实施例中的步骤。
示例性的,所述计算机程序33可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器31中,并由所述至少一个处理器32执行。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序33在所述设备3中的执行过程。
所述设备3可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。本领域技术人员可以理解,所述示意图3仅仅是设备3的示例,并不构成对设备3的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述设备3还可以包括输入输出设备、网络接入设备、总线等。
所述至少一个处理器32可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。该处理器32可以是微处理器或者该处理器32也可以是任何常规的处理器等,所述处理器32是所述设备3的控制中心,利用各种接口和线路连接整个设备3的各个部分。
所述存储器31可用于存储所述计算机程序33和/或模块/单元,所述处理器32通过运行或执行存储在所述存储器31内的计算机程序和/或模块/单元,以及调用存储在存储器31内的数据,实现所述设备3的各种功能。所述存储器31可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据设备3的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器31可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
具体的,所述存储器31中存储的计算机程序被处理器32执行时,实现以下功能:
当接收到用户请求时,根据预设报文格式将所述用户请求封装成相应的消息;
将封装后的消息发送至第一服务器,所述消息中携带有位置标识号、请求的服务类型及请求的服务数量;
根据所述位置标识号,通过所述第一服务器将所述消息存储于所述第一服务器的消息队列中,同时通过所述第一服务器将所述消息同步至多个第二服务器;
根据所述多个第二服务器当前的负载,在所述多个第二服务器中筛选出当前的负载低于预设负载阈值的第二服务器;
根据所述请求的服务类型及请求的服务数量,通过所筛选出的第二服务器建立相应的线程池对所述消息进行处理。
进一步的,所述根据预设报文格式将所述用户请求封装成相应的消息包括:
根据所述预设报文格式将所述用户请求封装为http请求或者https请求;
根据http请求协议将所封装的所述http请求或者所述https请求封装为相应的消息。
在所述第一服务器接收到所述消息后,所述处理器32还用于:
判断消息队列的长度是否超过预设最大阈值;
当确定所述消息队列的长度超过所述预设最大阈值时,执行第一预设操作。
进一步的,当确定所述消息队列的长度没有超过所述预设最大阈值时,所述处理器32还用于:
执行第二预设操作且将所述消息同步至所述第二服务器。
进一步的,所述第一预设操作为以下一种或多种的组合:
抛弃用户请求;
跳转到错误页面;
向用户返回消息接收失败的结果。
所述第二预设操作为:响应用户请求,向用户返回消息接收成功的结果。
进一步的,所述根据所述请求的服务类型及请求的服务数量,通过所述第二服务器建立相应的线程池对所述消息进行处理包括:
对所述消息进行解析;
识别解析后的消息对应的请求的服务类型及请求的服务数量;
根据所述请求的服务数量建立相应的线程池;
根据所述服务类型通过所述线程池对所述消息进行处理。
进一步的,在所述第二服务器接收到所述消息后,所述处理器32还用于:
查询redis对应的消息主键是否有成功执行;
如果查询到redis对应的消息主键已成功执行,则不通过所述第二服务器根据所述消息执行相应的操作;
如果没有查询到redis对应的消息主键被执行的记录,则通过所述第二服务器根据所述消息执行相应的操作,并在执行成功后将对应的消息主键写入redis。
所述设备3集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
在本发明所提供的几个实施例中,应该理解到,所揭露的服务器和方法,可以通过其它的方式实现。例如,以上所描述的服务器实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
另外,在本发明各个实施例中的各功能单元可以集成在相同处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在相同单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神范围。
Claims (10)
1.一种基于消息队列的请求处理方法,其特征在于,所述方法包括:
当接收到用户请求时,根据预设报文格式将所述用户请求封装成相应的消息;
将封装后的消息发送至第一服务器,所述消息中携带有位置标识号、请求的服务类型及请求的服务数量;
根据所述位置标识号,通过所述第一服务器将所述消息存储于所述第一服务器的消息队列中,同时通过所述第一服务器将所述消息同步至多个第二服务器;
根据所述多个第二服务器当前的负载,在所述多个第二服务器中筛选出当前的负载低于预设负载阈值的第二服务器;
根据所述请求的服务类型及请求的服务数量,通过所筛选出的第二服务器建立相应的线程池对所述消息进行处理。
2.如权利要求1所述的方法,其特征在于,所述根据预设报文格式将所述用户请求封装成相应的消息包括:
根据所述预设报文格式将所述用户请求封装为http请求或者https请求;
根据http请求协议将所封装的所述http请求或者所述https请求封装为相应的消息。
3.如权利要求1所述的方法,其特征在于,在所述第一服务器接收到所述消息后,所述方法还包括:
判断消息队列的长度是否超过预设最大阈值;
当确定所述消息队列的长度超过所述预设最大阈值时,执行第一预设操作。
4.如权利要求3所述的方法,其特征在于,当确定所述消息队列的长度没有超过所述预设最大阈值时,所述方法还包括:
执行第二预设操作且将所述消息同步至所述第二服务器。
5.如权利要求4所述的方法,其特征在于,
所述第一预设操作为以下一种或多种的组合:
抛弃用户请求;
跳转到错误页面;
向用户返回消息接收失败的结果。
所述第二预设操作为:响应用户请求,向用户返回消息接收成功的结果。
6.如权利要求1所述的方法,其特征在于,所述根据所述请求的服务类型及请求的服务数量,通过所述第二服务器建立相应的线程池对所述消息进行处理包括:
对所述消息进行解析;
识别解析后的消息对应的请求的服务类型及请求的服务数量;
根据所述请求的服务数量建立相应的线程池;
根据所述服务类型通过所述线程池对所述消息进行处理。
7.如权利要求1所述的方法,其特征在于,在所述第二服务器接收到所述消息后,所述方法还包括:
查询redis对应的消息主键是否有成功执行;
如果查询到redis对应的消息主键已成功执行,则不通过所述第二服务器根据所述消息执行相应的操作;
如果没有查询到redis对应的消息主键被执行的记录,则通过所述第二服务器根据所述消息执行相应的操作,并在执行成功后将对应的消息主键写入redis。
8.一种基于消息队列的请求处理装置,其特征在于,所述装置包括:
封装模块,用于当接收到用户请求时,根据预设报文格式将所述用户请求封装成相应的消息;
发送模块,用于将封装后的消息发送至第一服务器,所述消息中携带有位置标识号、请求的服务类型及请求的服务数量;
存储模块,用于根据所述位置标识号,通过所述第一服务器将所述消息存储于所述第一服务器的消息队列中;
所述发送模块,还用于同时通过所述第一服务器将所述消息同步至多个第二服务器;
筛选模块,用于根据所述多个第二服务器当前的负载,在所述多个第二服务器中筛选出当前的负载低于预设负载阈值的第二服务器;
处理模块,用于根据所述请求的服务类型及请求的服务数量,通过所筛选出的第二服务器建立相应的线程池对所述消息进行处理。
9.一种设备,其特征在于,所述设备包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现如权利要求1至7中任意一项所述的基于消息队列的请求处理方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述的基于消息队列的请求处理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811151515.6A CN109271265B (zh) | 2018-09-29 | 2018-09-29 | 基于消息队列的请求处理方法、装置、设备及存储介质 |
PCT/CN2019/077913 WO2020062793A1 (zh) | 2018-09-29 | 2019-03-13 | 基于消息队列的请求处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811151515.6A CN109271265B (zh) | 2018-09-29 | 2018-09-29 | 基于消息队列的请求处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109271265A true CN109271265A (zh) | 2019-01-25 |
CN109271265B CN109271265B (zh) | 2023-09-15 |
Family
ID=65195874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811151515.6A Active CN109271265B (zh) | 2018-09-29 | 2018-09-29 | 基于消息队列的请求处理方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109271265B (zh) |
WO (1) | WO2020062793A1 (zh) |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020062793A1 (zh) * | 2018-09-29 | 2020-04-02 | 平安科技(深圳)有限公司 | 基于消息队列的请求处理方法、装置、设备及存储介质 |
CN111143093A (zh) * | 2019-12-31 | 2020-05-12 | 中国银行股份有限公司 | 异步消息分布式处理方法、装置、设备及存储介质 |
CN111161085A (zh) * | 2019-11-28 | 2020-05-15 | 泰康保险集团股份有限公司 | 业务请求处理方法、装置、电子设备及计算机可读介质 |
CN111277626A (zh) * | 2020-01-07 | 2020-06-12 | 平安科技(深圳)有限公司 | 服务器升级方法、装置、电子设备及介质 |
CN111309466A (zh) * | 2020-02-22 | 2020-06-19 | 苏州浪潮智能科技有限公司 | 一种基于云平台多线程调度的方法、系统、设备及介质 |
CN111309500A (zh) * | 2020-02-26 | 2020-06-19 | 中国联合网络通信集团有限公司 | 业务处理方法、装置、设备及存储介质 |
CN111400059A (zh) * | 2020-03-09 | 2020-07-10 | 五八有限公司 | 一种数据处理方法以及数据处理装置 |
CN111427700A (zh) * | 2020-03-03 | 2020-07-17 | 云知声智能科技股份有限公司 | 一种物联网消息服务方法及服务器 |
CN111652605A (zh) * | 2020-06-08 | 2020-09-11 | 山东汇贸电子口岸有限公司 | 公有云业务创建云服务套餐的创建系统及创建方法 |
CN111885105A (zh) * | 2020-06-16 | 2020-11-03 | 广州三七互娱科技有限公司 | 任务执行方法、装置、系统、计算机设备和存储介质 |
CN112015805A (zh) * | 2019-05-29 | 2020-12-01 | 中移(苏州)软件技术有限公司 | 一种用户消息同步方法、装置、服务器及计算机存储介质 |
CN112019689A (zh) * | 2019-05-29 | 2020-12-01 | 北京奇虎科技有限公司 | 来电秀业务处理系统及方法 |
CN112311812A (zh) * | 2020-11-20 | 2021-02-02 | 北京百家科技集团有限公司 | 一种服务系统、方法、装置、计算机设备及存储介质 |
CN112333177A (zh) * | 2020-10-29 | 2021-02-05 | 杭州迪普科技股份有限公司 | 扫描报告生成方法及装置 |
CN112380040A (zh) * | 2021-01-18 | 2021-02-19 | 北京美摄网络科技有限公司 | 一种消息处理的方法、装置、电子设备及存储介质 |
CN112685190A (zh) * | 2020-12-30 | 2021-04-20 | 平安普惠企业管理有限公司 | 基于消息队列的同步调用方法、系统及计算机设备 |
CN112702250A (zh) * | 2019-10-22 | 2021-04-23 | 上海淘票儿信息科技有限公司 | 云桥、云上业务系统及云下系统 |
CN112836838A (zh) * | 2021-02-10 | 2021-05-25 | 北京声智科技有限公司 | 预约请求处理方法、装置、设备及存储介质 |
CN113032123A (zh) * | 2021-04-02 | 2021-06-25 | 深圳市大富网络技术有限公司 | 一种远程npl运行环境的线程调度方法、系统及相关装置 |
CN113259430A (zh) * | 2021-05-11 | 2021-08-13 | 京东数字科技控股股份有限公司 | 一种消息调用方法和装置、电子设备及存储介质 |
CN113342764A (zh) * | 2021-06-12 | 2021-09-03 | 四川虹美智能科技有限公司 | 不同云端服务器之间的数据同步方法及装置 |
CN113422739A (zh) * | 2021-06-21 | 2021-09-21 | 上海哔哩哔哩科技有限公司 | 数据传输方法、发送端及数据传输系统 |
CN114020464A (zh) * | 2021-11-05 | 2022-02-08 | 江苏安超云软件有限公司 | 一种动态处理虚拟化资源的方法、装置及存储介质 |
CN114584566A (zh) * | 2022-02-16 | 2022-06-03 | 深圳金融电子结算中心有限公司 | 基于消息队列的数据处理方法、装置、设备及存储介质 |
CN114881236A (zh) * | 2022-06-02 | 2022-08-09 | 广联达科技股份有限公司 | 一种模型推理系统、方法及设备 |
CN118069755A (zh) * | 2024-04-25 | 2024-05-24 | 浪潮云信息技术股份公司 | 数据库超大事件信息同步方法及装置、介质、设备 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111666145A (zh) * | 2020-06-24 | 2020-09-15 | 深圳壹账通智能科技有限公司 | 消息队列的消息处理方法、系统和计算机设备 |
CN112486701A (zh) * | 2020-11-26 | 2021-03-12 | 中国人寿保险股份有限公司 | 一种消息异步处理方法及其设备 |
CN112905358B (zh) * | 2021-02-05 | 2024-06-21 | 中国工商银行股份有限公司 | 分布式系统的软件分发方法、装置及系统 |
CN114338381B (zh) * | 2021-12-29 | 2024-10-01 | 中国邮政储蓄银行股份有限公司 | 消息的单元化处理方法、消息网关与消息的处理系统 |
CN114048108A (zh) * | 2022-01-12 | 2022-02-15 | 中科星图智慧科技有限公司 | 多源异构数据的自动化治理方法及装置 |
CN114827171B (zh) * | 2022-03-23 | 2023-12-15 | 青岛中科曙光科技服务有限公司 | 信息同步方法、装置、计算机设备和存储介质 |
CN115767448B (zh) * | 2022-12-07 | 2024-06-18 | 京东科技信息技术有限公司 | 一种消息发送方法、装置、设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5758184A (en) * | 1995-04-24 | 1998-05-26 | Microsoft Corporation | System for performing asynchronous file operations requested by runnable threads by processing completion messages with different queue thread and checking for completion by runnable threads |
CN101147146A (zh) * | 2005-03-31 | 2008-03-19 | 瑞士银行股份有限公司 | 根据/利用第一数据库构建、同步和/或操作第二数据库的计算机网络及过程 |
US20120254300A1 (en) * | 2007-03-30 | 2012-10-04 | Vivek Rai | Load balancing utilizing adaptive thresholding |
CN102880475A (zh) * | 2012-10-23 | 2013-01-16 | 上海普元信息技术股份有限公司 | 计算机软件系统中基于云计算的实时事件处理系统及方法 |
CN107301091A (zh) * | 2016-04-14 | 2017-10-27 | 北京京东尚科信息技术有限公司 | 资源分配方法和装置 |
CN108134830A (zh) * | 2017-12-20 | 2018-06-08 | 马上消费金融股份有限公司 | 基于消息队列的负载均衡方法、系统、装置及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10755362B2 (en) * | 2015-10-30 | 2020-08-25 | Intuit Inc. | Escrow personalization system |
CN109271265B (zh) * | 2018-09-29 | 2023-09-15 | 平安科技(深圳)有限公司 | 基于消息队列的请求处理方法、装置、设备及存储介质 |
-
2018
- 2018-09-29 CN CN201811151515.6A patent/CN109271265B/zh active Active
-
2019
- 2019-03-13 WO PCT/CN2019/077913 patent/WO2020062793A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5758184A (en) * | 1995-04-24 | 1998-05-26 | Microsoft Corporation | System for performing asynchronous file operations requested by runnable threads by processing completion messages with different queue thread and checking for completion by runnable threads |
CN101147146A (zh) * | 2005-03-31 | 2008-03-19 | 瑞士银行股份有限公司 | 根据/利用第一数据库构建、同步和/或操作第二数据库的计算机网络及过程 |
US20120254300A1 (en) * | 2007-03-30 | 2012-10-04 | Vivek Rai | Load balancing utilizing adaptive thresholding |
CN102880475A (zh) * | 2012-10-23 | 2013-01-16 | 上海普元信息技术股份有限公司 | 计算机软件系统中基于云计算的实时事件处理系统及方法 |
CN107301091A (zh) * | 2016-04-14 | 2017-10-27 | 北京京东尚科信息技术有限公司 | 资源分配方法和装置 |
CN108134830A (zh) * | 2017-12-20 | 2018-06-08 | 马上消费金融股份有限公司 | 基于消息队列的负载均衡方法、系统、装置及存储介质 |
Cited By (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020062793A1 (zh) * | 2018-09-29 | 2020-04-02 | 平安科技(深圳)有限公司 | 基于消息队列的请求处理方法、装置、设备及存储介质 |
CN112019689A (zh) * | 2019-05-29 | 2020-12-01 | 北京奇虎科技有限公司 | 来电秀业务处理系统及方法 |
CN112015805B (zh) * | 2019-05-29 | 2022-12-13 | 中移(苏州)软件技术有限公司 | 一种用户消息同步方法、装置、服务器及计算机存储介质 |
CN112015805A (zh) * | 2019-05-29 | 2020-12-01 | 中移(苏州)软件技术有限公司 | 一种用户消息同步方法、装置、服务器及计算机存储介质 |
CN112702250A (zh) * | 2019-10-22 | 2021-04-23 | 上海淘票儿信息科技有限公司 | 云桥、云上业务系统及云下系统 |
CN111161085A (zh) * | 2019-11-28 | 2020-05-15 | 泰康保险集团股份有限公司 | 业务请求处理方法、装置、电子设备及计算机可读介质 |
CN111161085B (zh) * | 2019-11-28 | 2023-08-22 | 泰康保险集团股份有限公司 | 业务请求处理方法、装置、电子设备及计算机可读介质 |
CN111143093A (zh) * | 2019-12-31 | 2020-05-12 | 中国银行股份有限公司 | 异步消息分布式处理方法、装置、设备及存储介质 |
CN111143093B (zh) * | 2019-12-31 | 2024-04-19 | 中国银行股份有限公司 | 异步消息分布式处理方法、装置、设备及存储介质 |
CN111277626A (zh) * | 2020-01-07 | 2020-06-12 | 平安科技(深圳)有限公司 | 服务器升级方法、装置、电子设备及介质 |
CN111277626B (zh) * | 2020-01-07 | 2023-08-22 | 平安科技(深圳)有限公司 | 服务器升级方法、装置、电子设备及介质 |
CN111309466A (zh) * | 2020-02-22 | 2020-06-19 | 苏州浪潮智能科技有限公司 | 一种基于云平台多线程调度的方法、系统、设备及介质 |
CN111309500A (zh) * | 2020-02-26 | 2020-06-19 | 中国联合网络通信集团有限公司 | 业务处理方法、装置、设备及存储介质 |
CN111427700A (zh) * | 2020-03-03 | 2020-07-17 | 云知声智能科技股份有限公司 | 一种物联网消息服务方法及服务器 |
CN111427700B (zh) * | 2020-03-03 | 2023-05-05 | 云知声智能科技股份有限公司 | 一种物联网消息服务方法及服务器 |
CN111400059B (zh) * | 2020-03-09 | 2023-11-14 | 五八有限公司 | 一种数据处理方法以及数据处理装置 |
CN111400059A (zh) * | 2020-03-09 | 2020-07-10 | 五八有限公司 | 一种数据处理方法以及数据处理装置 |
CN111652605A (zh) * | 2020-06-08 | 2020-09-11 | 山东汇贸电子口岸有限公司 | 公有云业务创建云服务套餐的创建系统及创建方法 |
CN111885105A (zh) * | 2020-06-16 | 2020-11-03 | 广州三七互娱科技有限公司 | 任务执行方法、装置、系统、计算机设备和存储介质 |
CN112333177A (zh) * | 2020-10-29 | 2021-02-05 | 杭州迪普科技股份有限公司 | 扫描报告生成方法及装置 |
CN112311812A (zh) * | 2020-11-20 | 2021-02-02 | 北京百家科技集团有限公司 | 一种服务系统、方法、装置、计算机设备及存储介质 |
CN112685190A (zh) * | 2020-12-30 | 2021-04-20 | 平安普惠企业管理有限公司 | 基于消息队列的同步调用方法、系统及计算机设备 |
CN112380040B (zh) * | 2021-01-18 | 2021-05-07 | 北京美摄网络科技有限公司 | 一种消息处理的方法、装置、电子设备及存储介质 |
CN112380040A (zh) * | 2021-01-18 | 2021-02-19 | 北京美摄网络科技有限公司 | 一种消息处理的方法、装置、电子设备及存储介质 |
CN112836838A (zh) * | 2021-02-10 | 2021-05-25 | 北京声智科技有限公司 | 预约请求处理方法、装置、设备及存储介质 |
CN113032123A (zh) * | 2021-04-02 | 2021-06-25 | 深圳市大富网络技术有限公司 | 一种远程npl运行环境的线程调度方法、系统及相关装置 |
CN113032123B (zh) * | 2021-04-02 | 2024-05-14 | 深圳市大富网络技术有限公司 | 一种远程npl运行环境的线程调度方法、系统及相关装置 |
CN113259430A (zh) * | 2021-05-11 | 2021-08-13 | 京东数字科技控股股份有限公司 | 一种消息调用方法和装置、电子设备及存储介质 |
CN113342764A (zh) * | 2021-06-12 | 2021-09-03 | 四川虹美智能科技有限公司 | 不同云端服务器之间的数据同步方法及装置 |
CN113422739A (zh) * | 2021-06-21 | 2021-09-21 | 上海哔哩哔哩科技有限公司 | 数据传输方法、发送端及数据传输系统 |
CN114020464A (zh) * | 2021-11-05 | 2022-02-08 | 江苏安超云软件有限公司 | 一种动态处理虚拟化资源的方法、装置及存储介质 |
CN114584566A (zh) * | 2022-02-16 | 2022-06-03 | 深圳金融电子结算中心有限公司 | 基于消息队列的数据处理方法、装置、设备及存储介质 |
CN114881236A (zh) * | 2022-06-02 | 2022-08-09 | 广联达科技股份有限公司 | 一种模型推理系统、方法及设备 |
CN118069755A (zh) * | 2024-04-25 | 2024-05-24 | 浪潮云信息技术股份公司 | 数据库超大事件信息同步方法及装置、介质、设备 |
CN118069755B (zh) * | 2024-04-25 | 2024-08-09 | 浪潮云信息技术股份公司 | 数据库超大事件信息同步方法及装置、介质、设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109271265B (zh) | 2023-09-15 |
WO2020062793A1 (zh) | 2020-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109271265A (zh) | 基于消息队列的请求处理方法、装置、设备及存储介质 | |
CN109274731B (zh) | 基于多租户技术的web服务的部署、调用方法和装置 | |
US10116507B2 (en) | Method of and system for managing computing resources | |
CN112165391A (zh) | 基于工业互联网标识解析的大数据决策分析系统及方法 | |
US9367359B2 (en) | Optimized resource management for map/reduce computing | |
CN110650347B (zh) | 多媒体数据的处理方法及装置 | |
US20160205202A1 (en) | Service broker for computational offloading and improved resource utilization | |
CN109918184A (zh) | 图片处理系统、方法及相关装置和设备 | |
CN105103506A (zh) | 用于为云计算网络中的非均匀带宽请求分配带宽的方法和系统 | |
CN108073402A (zh) | 基于Linux系统的kafka集群自动部署方法和装置 | |
CN114265703B (zh) | 云服务器跨区域算力调度方法、系统及设备 | |
CN104699537A (zh) | 程序控制方法与活动组件调度方法及其相应的装置 | |
CN109298950A (zh) | 企业服务总线系统、数据处理方法、终端及存储介质 | |
CN109271259A (zh) | 企业服务总线系统、数据处理方法、终端及存储介质 | |
CN112148458A (zh) | 任务调度方法、装置 | |
CN110944067B (zh) | 一种负载均衡方法和服务器 | |
CN115392501A (zh) | 数据采集方法、装置、电子设备及存储介质 | |
CN112019596B (zh) | 基于消息路由配置的消息推送方法、装置和电子设备 | |
CN109040491A (zh) | 挂机行为处理方法、装置、计算机设备及存储介质 | |
CN108512688A (zh) | 网络节点配置方法和终端 | |
CN108874798A (zh) | 一种大数据排序方法和系统 | |
CN113760403A (zh) | 状态机联动方法和装置 | |
CN104702663A (zh) | 云处理装置和方法 | |
CN110688504A (zh) | 图像数据管理方法、装置、系统、设备及介质 | |
CN108234349A (zh) | 提高soa系统健壮性的方法和装置 |
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 |