CN110661849A - 一种请求处理方法、装置、电子设备及存储介质 - Google Patents

一种请求处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN110661849A
CN110661849A CN201910816807.5A CN201910816807A CN110661849A CN 110661849 A CN110661849 A CN 110661849A CN 201910816807 A CN201910816807 A CN 201910816807A CN 110661849 A CN110661849 A CN 110661849A
Authority
CN
China
Prior art keywords
message
request
queue
message queue
request message
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.)
Pending
Application number
CN201910816807.5A
Other languages
English (en)
Inventor
黎晋廷
邵利铎
鹿慧
何激
何栋
张鹏飞
尚凌瑞
于灏
何虎鸣
邓頔
李祎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PICC PROPERTY AND CASUALTY Co Ltd
Original Assignee
PICC PROPERTY AND CASUALTY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by PICC PROPERTY AND CASUALTY Co Ltd filed Critical PICC PROPERTY AND CASUALTY Co Ltd
Priority to CN201910816807.5A priority Critical patent/CN110661849A/zh
Publication of CN110661849A publication Critical patent/CN110661849A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/59Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种请求处理方法、装置、电子设备以及计算机可读存储介质。该方法包括:接收客户端发送的请求报文;根据所述请求报文对应的第一标识信息,确定传输所述请求报文的第一消息队列;将所述请求报文投递给所述第一消息队列,并通过所述第一消息队列向后端应用层的目标处理单元传输所述请求报文,所述第一消息队列用于供所述目标处理单元按顺序从第一消息队列中取出请求报文。

Description

一种请求处理方法、装置、电子设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种请求处理方法、装置、系统、电子设备及存储介质。
背景技术
目前,随着业务量的快速增长,往往通过单元化架构对用户客户端发来的请求进行处理,在单元化架构中,会包含多个单元,一个单元对应某个分区的业务请求,通过多个单元对多个分区的业务请求进行处理。
现有的单元化架构方案中,用户前台请求通过超文本传输协议(HyperTextTransfer Protocol,HTTP)发出,然后路由到对应的处理单元,由对应的处理单元进行处理。现有的技术中,用户请求是基于HTTP的同步调用,利用七层反向代理根据HTTP请求的头部或URL参数进行导流转发,发往处理单元进行处理。
然而,在用户请求量较大的高峰期,用户请求数量往往是瞬间飙升,由于现有的用户请求是基于HTTP同步调用的,大量请求同时对处理单元发起冲击,处理同步请求的处理单元负载飙升,这种情况下系统容易产生宕机、服务不可用等问题。
发明内容
本说明书实施例提供一种请求处理方法、装置、系统、电子设备及存储介质,用以解决现有的单元化架构在用户请求高峰期容易产生宕机、服务不可用的问题。
本说明书实施例采用下述技术方案:
一种请求处理方法,包括:
接收客户端发送的请求报文;
根据所述请求报文对应的第一标识信息,确定传输所述请求报文的第一消息队列;
将所述请求报文投递给所述第一消息队列,并通过所述第一消息队列向后端应用层的目标处理单元传输所述请求报文,所述第一消息队列用于供所述目标处理单元按顺序从第一消息队列中取出请求报文。
一种请求处理方法,包括:
客户端向第一消息队列发送请求报文;
消息中间件接收客户端发送的请求报文,根据请求报文对应的第一标识信息确定第一消息队列,将所述请求报文投递给第一消息队列,并通过第一消息队列向后端应用层的目标处理单元传输所述请求报文;
目标处理单元监听所述第一消息队列,从第一消息队列中取出所述请求报文,根据请求报文中携带的应用标识和/或接口标识,确定用于处理所述请求报文的处理函数,并通过所述处理函数对所述请求报文进行处理;处理完成后,根据所述请求报文中携带的标识第二消息队列的第二标识信息,向第二消息队列发送携带有处理结果的响应报文;
消息中间件接收目标处理单元返回的响应报文,根据第二标识信息确定第二消息队列,将响应报文投递给第二消息队列,并通过第二消息队列向客户端传输所述响应报文;
客户端监听所述第二消息队列,当监听到响应报文时,从第二消息队列中取出响应报文,得到响应报文中的处理结果。
一种请求处理系统,包括客户端、消息中间件、目标处理单元,其中:
所述客户端向第一消息队列发送请求报文;
所述消息中间件接收客户端发送的请求报文,根据请求报文对应的第一标识信息确定第一消息队列,将所述请求报文投递给第一消息队列,并通过第一消息队列向后端应用层的目标处理单元传输所述请求报文;
所述目标处理单元监听所述第一消息队列,从第一消息队列中取出所述请求报文,根据请求报文中携带的应用标识和/或接口标识,确定用于处理所述请求报文的处理函数,并通过所述处理函数对所述请求报文进行处理;处理完成后,根据所述请求报文中携带的标识第二消息队列的第二标识信息,向第二消息队列发送携带有处理结果的响应报文;
所述消息中间件接收目标处理单元返回的响应报文,根据第二标识信息确定第二消息队列,将响应报文投递给第二消息队列,并通过第二消息队列向客户端传输所述响应报文;
所述客户端监听所述第二消息队列,当监听到响应报文时,从第二消息队列中取出响应报文,得到响应报文中的处理结果。
一种请求处理装置,包括:
第一接收单元,接收客户端发送的请求报文;
第一确定单元,根据所述请求报文对应的第一标识信息,确定传输所述请求报文的第一消息队列;
第一传输单元,将所述请求报文投递给所述第一消息队列,并通过所述第一消息队列向后端应用层的目标处理单元传输所述请求报文,所述第一消息队列用于供所述目标处理单元按顺序从第一消息队列中取出请求报文。
一种电子设备,包括:存储器、处理器及存储在所在存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现本说明书提供的任一项所述的请求处理方法的步骤。
一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的请求处理方法的步骤。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
客户端在发送请求消息时,并非通过HTTP协议发送HTTP请求,而是向消息队列发送,基于高级消息队列协议(Advanced Message Queuing Protocol,AMQP),通过消息中间件对客户端发送的请求报文进行传输,消息中间件会将请求报文投递给消息队列,通过第一消息队列传输请求报文给目标处理单元,目标处理单元在对消息进行处理后,通过中间件的第二消息队列将响应报文返回给客户端。在整个过程中,客户端的请求分为了请求报文和响应报文,每个处理单元可对应2条队列,分别用于传输请求报文和响应报文,消息中间件在对报文进行发送时,是根据报文对应的标识信息来选择消息队列,而消息队列与处理单元之间具备一一对应关系,由此,本说明书中,利用了消息中间件的队列特性,把不同处理单元的请求导流转发到不同单元所对应的的队列中,使各处理单元的应用层能各自消费其请求报文。
本说明书一个或多个实施例中,利用了消息中间件的缓冲特性,通过AMQP协议,消息队列中的消息先进先出,处理单元从消息队列中自主地按顺序取出请求报文进行处理,而现有技术基于HTTP同步调用请求在一瞬间处理单元会被分配大量请求,相比于现有技术而言,通过消息中间件将用户请求异步化,有利于把用户峰值产生的尖刺平滑化,同时通过消息中间件实现了异步投递处理单元的处理结果。避免应用层系统因为瞬间的负载飙升而导致服务不可用甚至宕机,保护应用层的持续健康运行。
本说明书一个或多个实施例中,利用了消息中间件高可用、消息不丢失的特性,确保用户的请求可被投递到应用层进行处理。即使经历了数据中心电力故障等事故,一旦恢复服务仍能继续处理积压在消息中间件中的用户请求。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本说明书实施例提供的请求处理方法的实现流程示意图;
图2为本说明书实施例提供的请求处理方法的实现流程示意图;
图3为本说明书实施例提供的请求处理装置的具体结构示意图;
图4为本说明书实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
本说明书一个或多个实施例提供的请求处理方法可应用于单元化架构中,一般的单元化架构可包括接入层、应用层、数据层和基础设施层。其中,应用层负责业务逻辑的处理,而接入层则作为前置模块,负责把前端发送过来的业务请求,按照分片维度分配到对应的应用层处理单元。接入层利用路由转发机制将访问流量路由到多个区域多个数据中心的处理单元,实现用户请求分发和流量控制。
本说明书一个或多个实施例中,可通过消息中间件,实现单元化架构中接入层请求报文的异步传输,将请求报文异步传输至处理单元,并实现了异步投递处理单元的处理结果,下面将进行详细描述。
为解决现有技术中单元化架构在用户请求高峰期容易产生宕机、服务不可用的问题,本说明书实施例提供了一种请求处理方法。该方法的流程示意图如图1所示,包括下述步骤:
步骤S11:客户端向第一消息队列发送请求报文;
前端的客户端在向第一消息队列发送请求报文时,可以先将请求报文发送给消息中间件的Exchange进行路由。
客户端在用户登录后,可以根据用户的标识信息确定将要往哪个消息队列推消息,并监听哪个消息队列来接收消息。如根据用户标识确定用户为山东用户,那么山东用户需要监听的队列的标识为“Q_OUT_3700_*”,同时推送消息的队列标识为“Q_IN_3700_*”。
为便于描述,本说明书中,将客户端确定的用于向处理单元推送请求报文的队列称为第一消息队列,将客户端确定的用于接收处理单元返回的响应报文的队列称为第二消息队列。
步骤S12:消息中间件接收客户端发送的请求报文,根据请求报文对应的第一标识信息确定第一消息队列,将所述请求报文投递给第一消息队列,并通过第一消息队列向后端应用层的目标处理单元传输所述请求报文;
消息中间件在接收到客户端发送的请求报文后,便会确定第一消息队列,具体在确定时,可以通过请求报文对应的第一标识信息来确定,在RabbitMQ中,该第一标识信息比如可以是Routing Key。
为了让请求报文进入到相应的消息队列,请求报文和响应报文对应的RoutingKey可等于消息队列的名字。这样,RabbitMQ的Exchange可以根据精确匹配策略把请求报文路由到对应的第一消息队列中,将响应报文路由到对应的第二消息队列中。
在根据第一标识确定出第一消息队列后,即可将请求报文投递给第一消息队列,并通过第一消息队列向后端应用层的目标处理单元传输请求报文。
在单元架构中,会存在很多单元,在本说明书一个或多个实施例中,根据单元化分区策略创建不同的消息队列,处理单元与消息队列具备对应关系,这样各个消息队列会将消息传递至与其对应的处理单元,那么,在通过消息队列发送请求报文时,通过请求报文和消息队列的对应关系选择消息队列来发送请求报文,即可将请求报文分发至各自对应的处理单元中,实现了对请求报文的路由,每个处理单元至少与一对消息队列对应,一对消息队列中包含发送消息的队列和接收消息的队列。
例如,对于山东分公司的业务,为每一个微服务创建2条队列,分别Q_IN_3700_*和Q_OUT_3700_*(*为微服务的代号,如应用A)。Q_IN队列用于传输请求报文,Q_OUT用来传输响应报文。
本说明书中,为方便描述,将第一消息队列对应的处理单元称之为目标处理单元。
步骤13:目标处理单元监听所述第一消息队列,从第一消息队列中取出所述请求报文;
目标处理单元对第一消息队列进行监听,由于消息队列中的消息遵循先进先出原则,目标处理单元可以有序地依次取出监听到的请求报文,然后一一进行处理,因此不会出现大量请求突然增大的情况,可避免产生宕机、服务不可用等问题。
步骤14:目标处理单元根据请求报文中携带的应用标识和/或接口标识,确定用于处理所述请求报文的处理函数,并通过所述处理函数对所述请求报文进行处理;
本说明书提供的一个或多个实施例中,请求报文中还携带有应用标识和/或接口标识,这样处理单元在接收到请求报文后,便可以根据应用标识和/或接口标识来确定用于处理所述请求报文的处理函数,并通过确定的处理函数对所述请求报文进行处理。
步骤15:目标处理单元在处理完成后,根据所述请求报文中携带的标识第二消息队列的第二标识信息,向第二消息队列发送携带有处理结果的响应报文;
本申请一个或多个实施例中,请求报文中还携带有用来标识第二消息队列的第二标识信息,以便于处理单元通过第二消息队列来返回响应报文,那么,目标处理单元在处理完成后,即可根据请求报文中携带的标识第二消息队列的第二标识信息,向第二消息队列发送携带有处理结果的响应报文。
目标处理单元在向第二消息队列发送响应报文时,可以先将响应报文发送给消息中间件的Exchange进行路由。
步骤16:消息中间件接收目标处理单元返回的响应报文,根据第二标识信息确定第二消息队列,将响应报文投递给第二消息队列,并通过第二消息队列向客户端传输所述响应报文;
消息中间件在接收到目标处理单元返回的响应报文后,便会确定第二消息队列,具体在确定时,可以通过第二标识信息来确定,在RabbitMQ中,该第二标识信息比如可以是Routing Key。
为了让返回报文进入到相应的消息队列,请求报文和响应报文对应的RoutingKey可等于消息队列的名字。这样,RabbitMQ的Exchange可以根据精确匹配策略把请求报文路由到对应的第一消息队列/第二消息队列中。
在根据第二标识确定出第二消息队列后,即可将请求报文投递给第二消息队列,并通过第二消息队列向客户端传输响应报文。
步骤17:客户端监听所述第二消息队列,当监听到响应报文时,从第二消息队列中取出响应报文,得到响应报文中的处理结果。
在步骤11中,已经说明了客户端可根据用户的标识确定要监听的第二消息队列,当监听到响应报文时,即可从第二消息队列中取出响应报文,得到响应报文中的处理结果。
本说明书提供的一个或多个实施例中,客户端在发送请求消息时,并非通过HTTP协议发送HTTP请求,而是向消息队列发送,基于高级消息队列协议(Advanced MessageQueuing Protocol,AMQP),通过消息中间件对客户端发送的请求报文进行传输,消息中间件会将请求报文投递给消息队列,通过第一消息队列传输请求报文给目标处理单元,目标处理单元在对消息进行处理后,通过中间件的第二消息队列将响应报文返回给客户端。在整个过程中,客户端的请求分为了请求报文和响应报文,每个处理单元可对应2条队列,分别用于传输请求报文和响应报文,消息中间件在对报文进行发送时,是根据报文对应的标识信息来选择消息队列,而消息队列与处理单元之间具备一一对应关系,由此,本说明书中,利用了消息中间件的队列特性,把不同处理单元的请求导流转发到不同单元所对应的的队列中,使各处理单元的应用层能各自消费其请求报文。
本说明书一个或多个实施例中,利用了消息中间件的缓冲特性,通过AMQP协议,消息队列中的消息先进先出,处理单元从消息队列中自主地按顺序取出请求报文进行处理,而现有技术基于HTTP同步调用请求在一瞬间处理单元会被分配大量请求,相比于现有技术而言,通过消息中间件将用户请求异步化,有利于把用户峰值产生的尖刺平滑化,同时通过消息中间件实现了异步投递处理单元的处理结果。避免应用层系统因为瞬间的负载飙升而导致服务不可用甚至宕机,保护应用层的持续健康运行。
本说明书一个或多个实施例中,利用了消息中间件高可用、消息不丢失的特性,确保用户的请求可被投递到应用层进行处理。即使经历了数据中心电力故障等事故,一旦恢复服务仍能继续处理积压在消息中间件中的用户请求。
本说明书一个或多个实施例中,若客户端检测到在设定时长内,还未接收到响应报文,则向用户发出通知,该通知用于告知用户请求报文已投送稍后返回结果。如,可通过文字“用户请求已投送,稍后返回结果”来告知用户。用户可以在这段时间内处理其他事情,待应用层完成请求的处理后,把结果推送到用户端,使用户体验更友好。而现有技术有可能会导致后台宕机、服务不可用等问题,因此并无法保证会返回结果,也无法告知用户请求报文已投送稍后返回结果。
为解决现有技术中单元化架构在用户请求高峰期容易产生宕机、服务不可用的问题,本说明书实施例提供了一种请求处理方法。该方法的执行主体可以是消息中间件,后文以执行主体为消息中间件为例,对该方法的实施方式进行介绍。可以理解,该方法的执行主体为消息中间件只是一种示例性的说明,并不应理解为对该方法的限定。该方法的流程示意图如图2所示,包括下述步骤:
步骤S21:接收客户端发送的请求报文。
步骤S22:根据所述请求报文对应的第一标识信息,确定传输所述请求报文的第一消息队列;
步骤S23:将所述请求报文投递给所述第一消息队列,并通过所述第一消息队列向后端应用层的目标处理单元传输所述请求报文,所述第一消息队列用于供所述目标处理单元按顺序从第一消息队列中取出请求报文。
在向后端应用层的目标处理单元传输所述请求报文后,所述方法还包括:
步骤S24:接收所述目标处理单元返回的响应报文;
步骤S25:根据所述响应报文对应的第二标识信息,确定传输所述响应报文的第二消息队列;
步骤S26:将所述响应报文投递给所述第二消息队列,并通过所述第二消息队列向客户端传输所述响应报文。
以上为本说明书实施例所提供的请求处理方法,基于相同的发明构思,本说明书实施例还提供了相应的请求处理装置。如图3所示,该装置具体包括:
第一接收单元41,接收客户端发送的请求报文;
第一确定单元42,根据所述请求报文对应的第一标识信息,确定传输所述请求报文的第一消息队列;
第一传输单元43,将所述请求报文投递给所述第一消息队列,并通过所述第一消息队列向后端应用层的目标处理单元传输所述请求报文,所述第一消息队列用于供所述目标处理单元按顺序从第一消息队列中取出请求报文。
在实际应用中,请求处理的具体实施方式有多种,在一种实施方式中,所述装置还包括:
第二接收单元,接收所述目标处理单元返回的响应报文;
第二确定单元,根据所述响应报文对应的第二标识信息,确定传输所述响应报文的第二消息队列;
第二传输单元,将所述响应报文投递给所述第二消息队列,并通过所述第二消息队列向客户端传输所述响应报文。
客户端在发送请求消息时,并非通过HTTP协议发送HTTP请求,而是向消息队列发送,基于高级消息队列协议(Advanced Message Queuing Protocol,AMQP),通过消息中间件对客户端发送的请求报文进行传输,消息中间件会将请求报文投递给消息队列,通过第一消息队列传输请求报文给目标处理单元,目标处理单元在对消息进行处理后,通过中间件的第二消息队列将响应报文返回给客户端。在整个过程中,客户端的请求分为了请求报文和响应报文,每个处理单元可对应2条队列,分别用于传输请求报文和响应报文,消息中间件在对报文进行发送时,是根据报文对应的标识信息来选择消息队列,而消息队列与处理单元之间具备一一对应关系,由此,本说明书中,利用了消息中间件的队列特性,把不同处理单元的请求导流转发到不同单元所对应的的队列中,使各处理单元的应用层能各自消费其请求报文。
基于相同的发明构思,本说明书实施例还提供了相应的请求处理系统,该系统包括客户端、消息中间件、目标处理单元,其中:
所述客户端向第一消息队列发送请求报文;
所述消息中间件接收客户端发送的请求报文,根据请求报文对应的第一标识信息确定第一消息队列,将所述请求报文投递给第一消息队列,并通过第一消息队列向后端应用层的目标处理单元传输所述请求报文;
所述目标处理单元监听所述第一消息队列,从第一消息队列中取出所述请求报文,根据请求报文中携带的应用标识和/或接口标识,确定用于处理所述请求报文的处理函数,并通过所述处理函数对所述请求报文进行处理;处理完成后,根据所述请求报文中携带的标识第二消息队列的第二标识信息,向第二消息队列发送携带有处理结果的响应报文;
所述消息中间件接收目标处理单元返回的响应报文,根据第二标识信息确定第二消息队列,将响应报文投递给第二消息队列,并通过第二消息队列向客户端传输所述响应报文;
所述客户端监听所述第二消息队列,当监听到响应报文时,从第二消息队列中取出响应报文,得到响应报文中的处理结果。
本说明书实施例提供的请求处理系统中,客户端在发送请求消息时,并非通过HTTP协议发送HTTP请求,而是向消息队列发送,基于高级消息队列协议(Advanced MessageQueuing Protocol,AMQP),通过消息中间件对客户端发送的请求报文进行传输,消息中间件会将请求报文投递给消息队列,通过第一消息队列传输请求报文给目标处理单元,目标处理单元在对消息进行处理后,通过中间件的第二消息队列将响应报文返回给客户端。在整个过程中,客户端的请求分为了请求报文和响应报文,每个处理单元可对应2条队列,分别用于传输请求报文和响应报文,消息中间件在对报文进行发送时,是根据报文对应的标识信息来选择消息队列,而消息队列与处理单元之间具备一一对应关系,由此,本说明书中,利用了消息中间件的队列特性,把不同处理单元的请求导流转发到不同单元所对应的的队列中,使各处理单元的应用层能各自消费其请求报文。
本说明书实施例提供的请求处理系统中,,利用了消息中间件的缓冲特性,通过AMQP协议,消息队列中的消息先进先出,处理单元从消息队列中自主地按顺序取出请求报文进行处理,而现有技术基于HTTP同步调用请求在一瞬间处理单元会被分配大量请求,相比于现有技术而言,通过消息中间件将用户请求异步化,有利于把用户峰值产生的尖刺平滑化,同时通过消息中间件实现了异步投递处理单元的处理结果。避免应用层系统因为瞬间的负载飙升而导致服务不可用甚至宕机,保护应用层的持续健康运行。
本说明书实施例提供的请求处理系统中,,利用了消息中间件高可用、消息不丢失的特性,确保用户的请求可被投递到应用层进行处理。即使经历了数据中心电力故障等事故,一旦恢复服务仍能继续处理积压在消息中间件中的用户请求。
本说明书实施例还提出了一种电子设备,示意图请参考图4,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成应用请求处理装置。处理器,执行存储器所存放的程序,并至少用于执行本申请一个或多个请求处理方法的操作:
上述如本申请图q所示实施例揭示的请求处理装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图3中请求处理装置执行的方法,并实现请求处理装置在图3所示实施例的功能,本说明书实施例在此不再赘述。
本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图3所示实施例中请求处理装置执行的方法,并至少用于执行:
接收客户端发送的请求报文;
根据所述请求报文对应的第一标识信息,确定传输所述请求报文的第一消息队列;
将所述请求报文投递给所述第一消息队列,并通过所述第一消息队列向后端应用层的目标处理单元传输所述请求报文,所述第一消息队列用于供所述目标处理单元按顺序从第一消息队列中取出请求报文。
该电子设备还用于执行本说明书一个或多个实施例中的请求处理方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其它数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其它类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其它内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其它光学存储、磁盒式磁带,磁带磁磁盘存储或其它磁性存储设备或任何其它非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括哪些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种请求处理方法,其特征在于,包括:
接收客户端发送的请求报文;
根据所述请求报文对应的第一标识信息,确定传输所述请求报文的第一消息队列;
将所述请求报文投递给所述第一消息队列,并通过所述第一消息队列向后端应用层的目标处理单元传输所述请求报文,所述第一消息队列用于供所述目标处理单元按顺序从第一消息队列中取出请求报文。
2.如权利要求1所述方法,其特征在于,在向后端应用层的目标处理单元传输所述请求报文后,所述方法还包括:
接收所述目标处理单元返回的响应报文;
根据所述响应报文对应的第二标识信息,确定传输所述响应报文的第二消息队列;
将所述响应报文投递给所述第二消息队列,并通过所述第二消息队列向客户端传输所述响应报文。
3.一种请求处理方法,其特征在于,包括:
客户端向第一消息队列发送请求报文;
消息中间件接收客户端发送的请求报文,根据请求报文对应的第一标识信息确定第一消息队列,将所述请求报文投递给第一消息队列,并通过第一消息队列向后端应用层的目标处理单元传输所述请求报文;
目标处理单元监听所述第一消息队列,从第一消息队列中取出所述请求报文,根据请求报文中携带的应用标识和/或接口标识,确定用于处理所述请求报文的处理函数,并通过所述处理函数对所述请求报文进行处理;处理完成后,根据所述请求报文中携带的标识第二消息队列的第二标识信息,向第二消息队列发送携带有处理结果的响应报文;
消息中间件接收目标处理单元返回的响应报文,根据第二标识信息确定第二消息队列,将响应报文投递给第二消息队列,并通过第二消息队列向客户端传输所述响应报文;
客户端监听所述第二消息队列,当监听到响应报文时,从第二消息队列中取出响应报文,得到响应报文中的处理结果。
4.如权利要求3所述方法,其特征在于,在客户端向第一消息队列发送请求报文后,所述方法还包括:
若客户端检测到在设定时长内,还未接收到响应报文,则向用户发出通知,所述通知用于告知用户请求报文已投送稍后返回结果。
5.如权利要求3所述方法,其特征在于:
所述第一标识信息与客户端的用户标识信息相关联;
所述第二标识消息与客户端的用户标识信息相关联。
6.一种请求处理系统,其特征在于,包括客户端、消息中间件、目标处理单元,其中:
所述客户端向第一消息队列发送请求报文;
所述消息中间件接收客户端发送的请求报文,根据请求报文对应的第一标识信息确定第一消息队列,将所述请求报文投递给第一消息队列,并通过第一消息队列向后端应用层的目标处理单元传输所述请求报文;
所述目标处理单元监听所述第一消息队列,从第一消息队列中取出所述请求报文,根据请求报文中携带的应用标识和/或接口标识,确定用于处理所述请求报文的处理函数,并通过所述处理函数对所述请求报文进行处理;处理完成后,根据所述请求报文中携带的标识第二消息队列的第二标识信息,向第二消息队列发送携带有处理结果的响应报文;
所述消息中间件接收目标处理单元返回的响应报文,根据第二标识信息确定第二消息队列,将响应报文投递给第二消息队列,并通过第二消息队列向客户端传输所述响应报文;
所述客户端监听所述第二消息队列,当监听到响应报文时,从第二消息队列中取出响应报文,得到响应报文中的处理结果。
7.一种请求处理装置,其特征在于,包括:
第一接收单元,接收客户端发送的请求报文;
第一确定单元,根据所述请求报文对应的第一标识信息,确定传输所述请求报文的第一消息队列;
第一传输单元,将所述请求报文投递给所述第一消息队列,并通过所述第一消息队列向后端应用层的目标处理单元传输所述请求报文,所述第一消息队列用于供所述目标处理单元按顺序从第一消息队列中取出请求报文。
8.如权利要求7所述装置,其特征在于,所述装置还包括:
第二接收单元,接收所述目标处理单元返回的响应报文;
第二确定单元,根据所述响应报文对应的第二标识信息,确定传输所述响应报文的第二消息队列;
第二传输单元,将所述响应报文投递给所述第二消息队列,并通过所述第二消息队列向客户端传输所述响应报文。
9.一种电子设备,其特征在于,包括:存储器、处理器及存储在所在存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至5中任一项所述的请求处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的请求处理方法的步骤。
CN201910816807.5A 2019-08-30 2019-08-30 一种请求处理方法、装置、电子设备及存储介质 Pending CN110661849A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910816807.5A CN110661849A (zh) 2019-08-30 2019-08-30 一种请求处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910816807.5A CN110661849A (zh) 2019-08-30 2019-08-30 一种请求处理方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN110661849A true CN110661849A (zh) 2020-01-07

Family

ID=69038086

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910816807.5A Pending CN110661849A (zh) 2019-08-30 2019-08-30 一种请求处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN110661849A (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111556128A (zh) * 2020-04-24 2020-08-18 深圳警翼软件技术有限公司 一种数据传输方法和系统
CN112187785A (zh) * 2020-09-25 2021-01-05 北京自如信息科技有限公司 消息处理方法、装置、电子设备和存储介质
CN112202781A (zh) * 2020-09-30 2021-01-08 广东巴金斯科技有限公司 一种电商大数据量回执报文处理方法、装置和系统
CN112311812A (zh) * 2020-11-20 2021-02-02 北京百家科技集团有限公司 一种服务系统、方法、装置、计算机设备及存储介质
CN112751745A (zh) * 2020-12-28 2021-05-04 上海蓝云网络科技有限公司 一种消息提醒方法及装置
CN112953769A (zh) * 2021-02-10 2021-06-11 中国工商银行股份有限公司 数据传输方法、装置、计算机系统及可读存储介质
CN113296976A (zh) * 2021-02-10 2021-08-24 阿里巴巴集团控股有限公司 消息处理方法、装置、电子设备、存储介质及程序产品
CN113392343A (zh) * 2021-08-17 2021-09-14 深圳市信润富联数字科技有限公司 数据抽取方法、设备、介质及计算机程序产品
CN113590243A (zh) * 2021-06-30 2021-11-02 新奥数能科技有限公司 能源企业项目创建方法、装置、计算机设备及介质
CN113723991A (zh) * 2021-08-10 2021-11-30 上海原圈网络科技有限公司 一种营销文章影响的分析处理方法和装置
CN113742112A (zh) * 2021-09-15 2021-12-03 武汉联影智融医疗科技有限公司 心电图像的生成方法、系统和电子装置
CN114124847A (zh) * 2021-11-25 2022-03-01 中国银行股份有限公司 消息队列报文处理方法及装置
CN114448916A (zh) * 2021-12-24 2022-05-06 锐捷网络股份有限公司 Tipc报文处理方法、装置、设备和存储介质
CN114500423A (zh) * 2022-01-27 2022-05-13 中国农业银行股份有限公司 消息处理方法、装置、设备及存储介质
CN114584508A (zh) * 2022-03-02 2022-06-03 华云数据控股集团有限公司 基于Rabbit MQ双工通讯的方法及应用
CN115002218A (zh) * 2022-05-26 2022-09-02 平安银行股份有限公司 流量分发方法、装置、计算机设备及存储介质
CN115396494A (zh) * 2022-08-19 2022-11-25 北京银丰新融科技开发有限公司 基于流式计算的实时监控方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080077672A1 (en) * 2006-09-22 2008-03-27 Trumba Corporation Online messaging architecture
CN103188140A (zh) * 2011-12-31 2013-07-03 国民技术股份有限公司 一种业务请求处理系统
CN106888218A (zh) * 2017-04-01 2017-06-23 网易(杭州)网络有限公司 消息处理方法、装置、客户端及服务端
CN107656825A (zh) * 2017-09-01 2018-02-02 上海艾融软件股份有限公司 消息处理方法、装置及系统
CN109885410A (zh) * 2019-01-09 2019-06-14 广州视源电子科技股份有限公司 消息发送方法、装置、计算机设备和存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080077672A1 (en) * 2006-09-22 2008-03-27 Trumba Corporation Online messaging architecture
CN103188140A (zh) * 2011-12-31 2013-07-03 国民技术股份有限公司 一种业务请求处理系统
CN106888218A (zh) * 2017-04-01 2017-06-23 网易(杭州)网络有限公司 消息处理方法、装置、客户端及服务端
CN107656825A (zh) * 2017-09-01 2018-02-02 上海艾融软件股份有限公司 消息处理方法、装置及系统
CN109885410A (zh) * 2019-01-09 2019-06-14 广州视源电子科技股份有限公司 消息发送方法、装置、计算机设备和存储介质

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111556128B (zh) * 2020-04-24 2023-04-07 深圳警翼软件技术有限公司 一种数据传输方法和系统
CN111556128A (zh) * 2020-04-24 2020-08-18 深圳警翼软件技术有限公司 一种数据传输方法和系统
CN112187785B (zh) * 2020-09-25 2023-01-31 北京自如信息科技有限公司 消息处理方法、装置、电子设备和存储介质
CN112187785A (zh) * 2020-09-25 2021-01-05 北京自如信息科技有限公司 消息处理方法、装置、电子设备和存储介质
CN112202781A (zh) * 2020-09-30 2021-01-08 广东巴金斯科技有限公司 一种电商大数据量回执报文处理方法、装置和系统
CN112311812A (zh) * 2020-11-20 2021-02-02 北京百家科技集团有限公司 一种服务系统、方法、装置、计算机设备及存储介质
CN112751745A (zh) * 2020-12-28 2021-05-04 上海蓝云网络科技有限公司 一种消息提醒方法及装置
CN113296976A (zh) * 2021-02-10 2021-08-24 阿里巴巴集团控股有限公司 消息处理方法、装置、电子设备、存储介质及程序产品
CN112953769A (zh) * 2021-02-10 2021-06-11 中国工商银行股份有限公司 数据传输方法、装置、计算机系统及可读存储介质
CN113590243A (zh) * 2021-06-30 2021-11-02 新奥数能科技有限公司 能源企业项目创建方法、装置、计算机设备及介质
CN113723991A (zh) * 2021-08-10 2021-11-30 上海原圈网络科技有限公司 一种营销文章影响的分析处理方法和装置
CN113723991B (zh) * 2021-08-10 2024-04-19 上海原圈网络科技有限公司 一种营销文章影响的分析处理方法和装置
CN113392343A (zh) * 2021-08-17 2021-09-14 深圳市信润富联数字科技有限公司 数据抽取方法、设备、介质及计算机程序产品
CN113742112A (zh) * 2021-09-15 2021-12-03 武汉联影智融医疗科技有限公司 心电图像的生成方法、系统和电子装置
CN113742112B (zh) * 2021-09-15 2024-04-16 武汉联影智融医疗科技有限公司 心电图像的生成方法、系统和电子装置
CN114124847A (zh) * 2021-11-25 2022-03-01 中国银行股份有限公司 消息队列报文处理方法及装置
CN114448916A (zh) * 2021-12-24 2022-05-06 锐捷网络股份有限公司 Tipc报文处理方法、装置、设备和存储介质
CN114500423A (zh) * 2022-01-27 2022-05-13 中国农业银行股份有限公司 消息处理方法、装置、设备及存储介质
CN114500423B (zh) * 2022-01-27 2024-04-02 中国农业银行股份有限公司 消息处理方法、装置、设备及存储介质
CN114584508B (zh) * 2022-03-02 2024-02-06 华云数据控股集团有限公司 基于Rabbit MQ双工通讯的方法及应用
CN114584508A (zh) * 2022-03-02 2022-06-03 华云数据控股集团有限公司 基于Rabbit MQ双工通讯的方法及应用
CN115002218B (zh) * 2022-05-26 2023-08-04 平安银行股份有限公司 流量分发方法、装置、计算机设备及存储介质
CN115002218A (zh) * 2022-05-26 2022-09-02 平安银行股份有限公司 流量分发方法、装置、计算机设备及存储介质
CN115396494A (zh) * 2022-08-19 2022-11-25 北京银丰新融科技开发有限公司 基于流式计算的实时监控方法及系统

Similar Documents

Publication Publication Date Title
CN110661849A (zh) 一种请求处理方法、装置、电子设备及存储介质
CN111163130B (zh) 一种网络服务系统及其数据传输方法
CN111355971B (zh) 直播流传输方法、装置、cdn服务器及计算机可读介质
CN110336848B (zh) 一种访问请求的调度方法及调度系统、设备
CN109286578A (zh) 消息处理方法、装置、网关设备及存储介质
CN110769040B (zh) 一种访问请求的处理方法、装置、设备及存储介质
CN103971687A (zh) 一种语音识别系统中的负载均衡实现方法和装置
CN111694519B (zh) 一种裸金属服务器挂载云硬盘的方法、系统及服务器
CN106790354B (zh) 一种防数据拥堵的通信方法及其装置
CN113760559A (zh) 一种双核通信方法和电子设备
CN112437155A (zh) 服务数据的处理方法、装置以及服务端设备
CN109582242B (zh) 级联存储阵列系统的地址确定方法、装置、电子设备
CN109308219B (zh) 任务处理方法、装置及分布式计算机系统
CN114610765B (zh) 流计算方法、装置、设备及存储介质
CN110753006A (zh) 一种数据处理方法、装置及电子设备
EP3320658B1 (en) Technique for processing messages in a message-based communication scenario
CN114553727A (zh) 一种基于内容分发网络的数据处理方法及装置
CN113254097A (zh) 配置信息的下发方法和装置、电子设备和存储介质
CN115695395A (zh) 消息队列遥测传输网络接入方法、控制器及网关
CN109257227B (zh) 数据传输中的偶联管理方法、装置及系统
CN113965563A (zh) 基于模型的业务处理方法及装置、服务器
CN107528884B (zh) 一种聚合服务器的用户请求处理方法和装置
CN112583742A (zh) 一种消息处理方法及装置
CN110928944A (zh) 一种数据处理方法及其装置
CN113067685B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200107

RJ01 Rejection of invention patent application after publication