CN109819021B - 业务后台及其异步处理业务请求的方法 - Google Patents
业务后台及其异步处理业务请求的方法 Download PDFInfo
- Publication number
- CN109819021B CN109819021B CN201910021103.9A CN201910021103A CN109819021B CN 109819021 B CN109819021 B CN 109819021B CN 201910021103 A CN201910021103 A CN 201910021103A CN 109819021 B CN109819021 B CN 109819021B
- Authority
- CN
- China
- Prior art keywords
- target
- request
- response
- delivery point
- target service
- 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
Landscapes
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种业务后台及其异步处理业务请求的方法,属于通信技术领域。其中,业务后台包括前端网关集群、后端服务器集群和消息中间件。方法包括:前端网关集群在接收到目标客户端的目标业务请求时,向消息中间件发送响应投递点创建请求及目标业务请求;消息中间件根据响应投递点创建请求,创建与目标业务请求对应的目标响应投递点;后端服务器集群获取目标业务请求并生成目标业务响应,将目标业务响应投递至目标响应投递点;前端网关集群从目标响应投递点获取目标业务响应,并将目标业务响应发送至目标客户端。本发明能够减少设备资源的消耗,降低设备的读写负载。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种业务后台及其异步处理业务请求的方法。
背景技术
在同步处理模式下,业务后台的前端网关可以通过多条线程分别将接收到的多条业务请求发送给后端服务器,对于每条线程而言,后端服务器对当前业务请求进行业务处理,并通过该线程向前端网关返回业务响应后,前端网关才可以通过该线程向后端服务器发送下一业务请求。当业务请求大量并发时,一方面,由于后端服务器多线程并行处理的能力有限,多线程同时竞争后端服务器资源,后端服务器资源调度频繁使后端服务器有效的资源利用率低,进而使得后端服务器处理效率低,返回业务响应慢。另一方面,由于前端网关多线程并行处理的能力有限,如果所有线程都处于阻塞状态(前端网关未获取到业务响应),接下来的业务请求将在前端网关排队等待,导致前端网关发生拥堵,后端服务器不能及时获取到业务请求。业务后台的服务能力差,影响用户体验。
现有技术主要通过集群技术来提高业务后台的服务能力。一方面,业务后台可以通过后端服务器集群来处理业务请求以及返回业务响应,可以通过后端服务器集群的可扩展性,即不断将新的服务器加入业务后台当前的后端服务器集群中,并且采用分布式计算技术对业务请求进行处理,保证对处理难度更大、数量更多的业务请求的高效处理。另一方面,业务后台可以通过前端网关集群来接收业务请求,通过部署多个前端网关来提高前端网关多线程并行处理的能力,预防和缓解前端网关发生拥堵。
本专利申请的发明人,通过研究现有业务请求的处理过程发现,现有技术至少存在以下问题:一方面,后端服务器集群向前端网关集群广播业务响应,前端网关集群中的每个前端网关需要判断该业务响应是否与自身匹配,若是则接收该业务响应,否则丢弃该业务响应,后端服务器广播业务响应的方式使前端网关集群的读写负载重,有效的资源利用率低。另一方面,前端网关集群需要管理与后端服务器集群之间的大量请求线程与响应线程,由于前端网关集群和后端服务器集群规模的不断扩大,前端网关集群与后端服务器集群之间进行数据交互的逻辑越来越复杂。
发明内容
本申请的目的在于提供一种业务后台及其异步处理业务请求的方法,以解决现有技术存在的部分或全部问题。
为实现上述目的,本申请一方面提供了一种业务后台异步处理业务请求的方法,所述方法应用于业务后台,所述业务后台包括前端网关集群、后端服务器集群和消息中间件,所述方法包括:所述前端网关集群在接收到目标客户端的目标业务请求时,向所述消息中间件发送响应投递点创建请求及所述目标业务请求;所述消息中间件根据所述响应投递点创建请求,创建与所述目标业务请求对应的目标响应投递点;所述后端服务器集群从所述消息中间件获取所述目标业务请求并生成目标业务响应,将所述目标业务响应投递至所述目标响应投递点;所述前端网关集群从所述目标响应投递点获取所述目标业务响应,并将所述目标业务响应发送至所述目标客户端。
进一步的,所述前端网关集群在接收到目标客户端的目标业务请求时,向所述消息中间件发送响应投递点创建请求及所述目标业务请求的步骤包括:所述前端网关集群在接收到所述目标客户端的所述目标业务请求时,为所述目标业务请求生成请求标识符,并向所述消息中间件发送携带所述请求标识符的所述响应投递点创建请求及所述目标业务请求。所述消息中间件根据所述响应投递点创建请求,创建与所述目标业务请求对应的目标响应投递点的步骤包括:所述消息中间件获取所述响应投递点创建请求中携带的所述请求标识符,创建与所述目标业务请求的所述请求标识符对应的目标响应投递点。
进一步的,所述前端网关集群在接收到目标客户端的目标业务请求之后的步骤包括:所述前端网关集群将所述目标业务请求及所述请求标识符按照指定格式封装为目标请求消息,并将所述目标请求消息存储于所述消息中间件预设的请求消息队列中。
进一步的,所述后端服务器集群获取所述目标业务请求并生成目标业务响应,将所述目标业务响应投递至所述目标响应投递点的步骤包括:所述后端服务器集群从所述请求消息队列中获取所述目标请求消息,并对所述目标请求消息进行处理,生成目标响应消息;所述后端服务器集群将所述目标响应消息存储在与所述目标请求消息中携带的所述请求标识符对应的所述目标响应投递点中。
在一个实施例中,所述目标响应投递点及所述请求消息队列为Redis列表。
在一个实施例中,所述前端网关集群从所述目标响应投递点获取所述目标业务响应的步骤包括:所述前端网关集群从所述目标响应投递点获取所述目标响应消息,并将所述目标响应消息转化为所述目标业务响应。
在一个实施例中,所述前端网关集群从所述目标响应投递点获取所述目标业务响应之后的步骤包括:所述前端网关集群向所述消息中间件发送携带所述请求标识符的响应投递点删除请求;所述消息中间件根据所述响应投递点删除请求中携带的所述请求标识符,删除所述目标响应投递点。
在一个实施例中,所述方法还包括:若在预设超时时间内未从所述目标响应投递点获取到所述目标业务请求的业务响应,所述前端网关集群则向所述目标客户端返回业务超时响应,并向所述消息中间件发送所述目标响应投递点的删除请求;所述消息中间件根据所述删除请求删除所述目标响应投递点。
进一步的,所述后端服务器集群获取所述目标业务请求并生成所述目标业务响应之后的步骤还包括:若所述目标响应投递点已被删除,所述后端服务器集群则丢弃所述目标业务响应。
为实现上述目的,本申请另一方面提供了一种业务后台,所述业务后台包括前端网关集群、后端服务器集群和消息中间件,其中,所述前端网关集群,用于在接收到目标客户端的目标业务请求时,向所述消息中间件发送响应投递点创建请求及所述目标业务请求;所述消息中间件,用于根据所述响应投递点创建请求,创建与所述目标业务请求对应的目标响应投递点;所述后端服务器集群,用于从所述消息中间件获取所述目标业务请求并生成目标业务响应,将所述目标业务响应投递至所述目标响应投递点;所述前端网关集群,还用于从所述目标响应投递点获取所述目标业务响应,并将所述目标业务响应发送至所述目标客户端。
进一步的,所述前端网关集群在接收到目标客户端的目标业务请求时,所述前端网关集群,具体用于为所述目标业务请求生成请求标识符,并向所述消息中间件发送携带所述请求标识符的所述响应投递点创建请求及所述目标业务请求;所述消息中间件,具体用于获取所述响应投递点创建请求中携带的所述请求标识符,创建与所述目标业务请求的所述请求标识符对应的目标响应投递点。
在一个实施例中,所述前端网关集群、所述后端服务器集群和所述消息中间件共同实现上述的业务后台异步处理业务请求的方法。
由上可见,前端网关集群将业务请求存储于请求消息队列,后端服务器集群从请求消息队列中获取业务请求,并将业务响应存储于响应消息投递点,从而实现业务请求的异步处理。本发明相较于现有技术,在前端网关集群和后端服务器集群间添加了消息中间件,并由消息中间件为每个业务请求创建响应投递点,这样,通过消息中间件即可实现业务请求和业务响应的匹配,一方面,前端网关集群和后端服务器集群无需针对每个业务请求创建并管理请求线程和响应线程,消息发送者无需知道消息接收者是谁,简化了业务后台处理业务请求的过程,一定程度上减少了设备资源的消耗,另一方面,后端服务器集群不再向前端网关集群广播业务响应,前端网关集群中的每个前端网关也不必再判断由后端服务器集群广播而来的业务响应是否与自身匹配,降低了设备的读写负载。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种业务后台异步处理业务请求的方法的流程图;
图2为本发明实施例提供的一种业务后台的结构示意图。
具体实施方式
下面将结合附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种业务后台异步处理业务请求的方法。该方法可以应用于业务后台,业务后台包括前端网关集群、后端服务器集群和消息中间件。其中前端网关集群可以包括多个前端网关,前端网关可以是用于连接客户端与后端服务器集群的任意网关设备;后端服务器集群可以包括多个用于为用户提供业务服务的任意服务器;消息中间件可以包括一个或多个能够存储数据的任意计算机设备。本发明通过消息中间件实现前端网关集群与后端服务器集群进行异步通信,即前端网关集群在接收到用户的业务请求后,可以通过消息中间件将业务请求提供给后端服务器集群,而后端服务器集群在生成业务响应后,可以通过消息中间件将业务响应提供给前端网关集群。需要说明的是,前端网关集群所实现的处理均可以理解为由前端网关集群中实际的一台或多台网关设备具体执行,同理,后端服务器集群所实现的处理均可以理解为由后端服务器集群中实际的一台或多台服务器具体执行。
图1为本发明实施例提供的一种业务后台异步处理业务请求的方法的流程图。
S101,前端网关集群在接收到目标客户端的目标业务请求时,向消息中间件发送响应投递点创建请求及目标业务请求。
本实施例中,业务后台为用户提供业务服务时,所有客户端的所有业务请求均会先到达业务后台的前端网关集群,进而由前端网关集群将业务请求转发至消息中间件。以目标客户端发来的目标业务请求为例,前端网关集群在接收到来自目标客户端的目标业务请求时,可以将目标业务请求发送至消息中间件,并且,可以为目标业务请求生成一条响应投递点创建请求,并将响应投递点创建请求发送至消息中间件。
S102,消息中间件根据响应投递点创建请求,创建与目标业务请求对应的目标响应投递点。
本实施例中,消息中间件接收到前端网关集群发送的与目标业务请求对应的响应投递点创建请求后,可以根据该响应投递点创建请求来创建与目标业务请求对应的目标响应投递点。
可选的,前端网关集群可以为每个业务请求生成一个全局唯一的标识,消息中间件再通过全局唯一的标识来创建与每个业务请求对应的响应投递点。相应的,前端网关集群在接收到目标客户端的目标业务请求时,向消息中间件发送响应投递点创建请求及目标业务请求的步骤可以包括:所述前端网关集群在接收到所述目标客户端的所述目标业务请求时,为所述目标业务请求生成请求标识符,并向所述消息中间件发送携带所述请求标识符的所述响应投递点创建请求及所述目标业务请求。进一步的,消息中间件根据响应投递点创建请求,创建与目标业务请求对应的目标响应投递点的步骤可以包括:所述消息中间件获取所述响应投递点创建请求中携带的所述请求标识符,创建与所述目标业务请求的所述请求标识符对应的目标响应投递点。
在一个实施例中,当前端网关集群在接收到目标客户端发送的目标业务请求时,前端网关集群可以为目标业务请求生成一个应用在业务后台中的唯一的请求标识符。进一步的,前端网关集群可以将与目标业务请求对应的请求标识符添加至响应投递点创建请求以及目标业务请求中,并将添加有请求标识符的响应投递点创建请求以及目标业务请求发送至消息中间件。消息中间件接收到响应投递点创建请求后,获取响应投递点创建请求中携带的请求标识符,创建与请求标识符对应的目标响应投递点。需要说明的是,请求标识符可以是UUID(Universally Unique Identifier,通用唯一识别码),也可以是使用其他算法得到的序列号码,本发明对此不作限制。
可选的,消息中间件可以将目标业务请求以消息(Message)的形式存储在预先设置的请求消息队列中。相应的,前端网关集群在接收到目标客户端的目标业务请求之后的步骤包括:所述前端网关集群将所述目标业务请求及所述请求标识符按照指定格式封装为目标请求消息,并将所述目标请求消息存储于所述消息中间件预设的请求消息队列中。
在一个实施例中,当前端网关集群接收到目标客户端的目标业务请求,并为目标业务请求生成请求标识符之后,可以将基于网络协议(例如HTTP(HyperText TransferProtocol,超文本传输协议))的目标业务请求及与目标业务请求对应的请求标识符按照指定格式进行编码和封装,得到目标请求消息,然后将目标请求消息存储在消息中间件预设的请求消息队列中。这样,基于不同网络协议的业务请求可以以同一格式存储于请求消息队列中。另外,消息中间件可以预先设置一个或者多个请求消息队列来接收前端网关集群发送的业务请求,可以理解,前端网关集群中包括多个前端网关,不同的前端网关可以分别对应不同的请求消息队列,多个前端网关也可以共享一个请求消息队列,本发明对此不作限制。需要说明的是,目标请求消息可以仅包含消息体(Body)、消息类型(请求)及请求标识符。可以理解,后端服务器集群可以直接读取目标请求消息,并对目标请求消息进行处理生成目标响应消息,无需对业务请求的格式进行频繁转化,简化了后端服务器集群对业务请求的处理过程,缩短了后端服务器集群对业务请求的响应耗时。
可选的,消息中间件可以通过Redis的列表(List)属性来创建消息队列(MessageQueue,MQ),即目标响应投递点及请求消息队列可以为Redis列表。
在一个实施例中,响应投递点为可以容纳一条业务响应的消息队列,请求消息队列为可以容纳多条业务请求的消息队列,响应投递点和请求消息队列均可以采用Redis的消息队列模型创建。当然,消息中间件也可以通过其他技术来创建消息队列(包括响应投递点及请求消息队列),本发明对此不作限制。
S103,后端服务器集群从消息中间件获取目标业务请求并生成目标业务响应,将目标业务响应投递至目标响应投递点。
本实施例中,在前端网关集群向消息中间件发送目标业务请求之后,后端服务器集群可以通过轮询的方式从消息中间件获取到上述目标业务请求。之后,后端服务器集群可以按照预设的业务响应逻辑对目标业务请求进行处理,生成目标业务响应,然后将目标业务响应投递至消息中间件创建的与目标业务请求对应的目标响应投递点中。其中,后端服务器集群可以采用分布式计算技术对目标业务请求进行处理,本发明对此不作赘述。
可选的,后端服务器集群可以通过请求标识符将不同的业务响应投递至对应的响应投递点。相应的,后端服务器集群获取目标业务请求并生成目标业务响应,将目标业务响应投递至目标响应投递点的步骤包括:所述后端服务器集群从所述请求消息队列中获取所述目标请求消息,并对所述目标请求消息进行处理,生成目标响应消息;所述后端服务器集群将所述目标响应消息存储在与所述目标请求消息中携带的所述请求标识符对应的所述目标响应投递点中。
在一个实施例中,消息中间件将目标请求消息存储在请求消息队列之后,后端服务器集群可以通过轮询的方式从请求消息队列中获取目标请求消息,并对目标请求消息进行处理,生成目标响应消息。然后,后端服务器集群可以将目标响应消息返回给消息中间件,消息中间件将目标响应消息存储在与目标请求消息中携带的请求标识符对应的目标响应投递点中。可以理解,目标响应消息以与目标请求消息相同的编码格式存储于目标响应投递点中。
S104,前端网关集群从目标响应投递点获取目标业务响应,并将目标业务响应发送至目标客户端。
本实施例中,前端网关集群中的每个前端网关在接收到业务请求时,为各自接收到业务请求生成了全局唯一的请求标识符,并且消息中间件根据请求标识符来创建响应投递点。因此,前端网关集群中的每个前端网关可以通过请求标识符确认与各自接收到业务请求对应的响应投递点。进而,前端网关集群中接收目标业务请求的前端网关可以根据请求标识符,从目标响应投递点获取到目标业务响应,其中,前端网关集群可以通过轮询的方式从目标响应投递点获取目标业务响应,也可以通过阻塞目标响应投递点的方式从目标响应投递点获取目标业务响应,本发明对此不作限制。前端网关集群获取到目标业务响应后,将目标业务响应发送至目标客户端。
可选的,前端网关集群可以将目标响应消息按照指定格式进行编码和封装。相应的,前端网关集群从目标响应投递点获取目标业务响应的步骤包括:所述前端网关集群从所述目标响应投递点获取所述目标响应消息,并将所述目标响应消息转化为所述目标业务响应。
在一个实施例中,后端服务器集群按照指定格式生成目标响应消息之后,其中,目标响应消息可以仅包含消息体、消息类型(响应)及请求标识符,后端服务器集群根据请求标识符来确定目标响应投递点,并将将目标响应消息投递至目标响应投递点。前端网关集群从目标响应投递点获取目标响应消息后,需要将目标响应消息按照与目标业务请求相应的网络协议(例如HTTP)编码和封装,以便通过网络将目标业务响应发送给目标客户端。
可选的,在前端网关集群获取到目标业务响应后,消息中间件可以删除目标响应投递点。相应的,前端网关集群从所述目标响应投递点获取所述目标业务响应之后的步骤可以包括:所述前端网关集群向所述消息中间件发送携带所述请求标识符的响应投递点删除请求;所述消息中间件根据所述响应投递点删除请求中携带的所述请求标识符,删除所述目标响应投递点。
在一个实施例中,前端网关集群成功从目标响应投递点获取到目标业务响应之后,可以指示消息中间件删除对应的目标响应投递点。具体的,前端网关集群可以向消息中间件发送携带请求标识符的响应投递点删除请求。消息中间件获取到响应投递点删除请求后,可以根据响应投递点删除请求中携带的请求标识符,来确定并删除目标响应投递点。
可选的,若前端网关集群在预设超时时间内未从所述目标响应投递点获取到所述目标业务请求的业务响应,业务后台异步处理业务请求的方法还包括:所述前端网关集群向所述目标客户端返回业务超时响应,并向所述消息中间件发送所述目标响应投递点的删除请求;所述消息中间件根据所述删除请求删除所述目标响应投递点。
在一个实施例中,预设超时时间可以是客户端发来的业务请求中携带的,也可以是前端网关集群中的每个前端网关上预先设置的。由于业务请求在网络传输过程中发生延迟等原因,前端网关集群不能在客户端要求的超时时间内将目标业务请求的业务响应返回给客户端,则向客户端返回业务超时响应。如果客户端发来的业务请求中不携带超时时间,前端网关集群将以接收到目标业务响应的前端网关上预先设置的超时时间来计时。由于后端服务器集群当前负载过高等原因,如果后端服务器集群不能及时将业务响应投递至目标响应投递点,前端网关集群则不能在超时时间内向客户端返回业务响应,则向客户端返回业务超时响应。之后,前端网关集群可以向所述消息中间件发送目标响应投递点删除请求。这样,消息中间件在接收到上述目标响应投递点删除请求后,可以删除与目标业务请求对应的目标响应投递点。
可选的,当后端服务器集群获取目标业务请求并生成目标业务响应之后,若目标响应投递点已被删除,业务后台异步处理业务请求的方法还包括:所述后端服务器集群丢弃所述目标业务响应。
在一个实施例中,若业务后台不能在预设超时时间内将目标业务请求的业务响应返回给客户端,消息中间件可以删除目标响应投递点。后端服务器集群生成目标业务响应后,若目标响应投递点已被删除,后端服务器集群无法将目标业务响应通过目标响应投递点提供给前端网关集群,此时,后端服务器集群可以丢弃该目标业务响应。
需要说明的是,消息中间件可以通过预先设置的索引队列来记录请求消息在请求消息队列中的位置和大小,也可以通过预先设置的索引队列记录响应消息在响应投递点中的位置和大小,使得后端服务器集群及前端网关集群可以分别根据索引队列中记录的信息,获取到完整的消息。
由上可见,前端网关集群将业务请求存储于请求消息队列,后端服务器集群从请求消息队列中获取业务请求,并将业务响应存储于响应消息投递点,从而实现业务请求的异步处理。本发明相较于现有技术,在前端网关集群和后端服务器集群间添加了消息中间件,并由消息中间件为每个业务请求创建响应投递点,这样,通过消息中间件即可实现业务请求和业务响应的匹配,一方面,前端网关集群和后端服务器集群无需针对每个业务请求创建并管理请求线程和响应线程,消息发送者无需知道消息接收者是谁,简化了业务后台处理业务请求的过程,一定程度上减少了设备资源的消耗,另一方面,后端服务器集群不再向前端网关集群广播业务响应,前端网关集群中的每个前端网关也不必再判断由后端服务器集群广播而来的业务响应是否与自身匹配,降低了设备的读写负载。
图2为本发明实施例提供的一种业务后台的结构示意图。
基于相同的技术构思,本发明实施例还提供了一种业务后台,该业务后台包括前端网关集群、后端服务器集群和消息中间件,其中,前端网关集群,用于在接收到目标客户端的目标业务请求时,向消息中间件发送响应投递点创建请求及目标业务请求;消息中间件,用于根据响应投递点创建请求,创建与目标业务请求对应的目标响应投递点;后端服务器集群,用于从消息中间件获取目标业务请求并生成目标业务响应,将目标业务响应投递至目标响应投递点;前端网关集群,还用于从目标响应投递点获取目标业务响应,并将目标业务响应发送至目标客户端。
可选的,在接收到目标客户端的目标业务请求时,前端网关集群具体用于为目标业务请求生成请求标识符,并向消息中间件发送携带请求标识符的响应投递点创建请求及目标业务请求;消息中间件,具体用于获取响应投递点创建请求中携带的请求标识符,创建与目标业务请求的请求标识符对应的目标响应投递点。
可选的,前端网关集群在接收到目标客户端的目标业务请求之后,前端网关集群还用于将目标业务请求及请求标识符按照指定格式封装为目标请求消息,并用于将目标请求消息存储于消息中间件预设的请求消息队列中。
可选的,后端服务器集群具体用于从请求消息队列中获取目标请求消息,并对目标请求消息进行处理,生成目标响应消息;后端服务器集群具体还用于将目标响应消息存储在与目标请求消息中携带的请求标识符对应的目标响应投递点中。
可选的,目标响应投递点及请求消息队列为Redis列表。
可选的,前端网关集群具体用于从目标响应投递点获取目标响应消息,并将目标响应消息转化为目标业务响应。
可选的,前端网关集群具体用于向消息中间件发送携带请求标识符的响应投递点删除请求;消息中间件具体用于根据响应投递点删除请求中携带的请求标识符,删除目标响应投递点。
可选的,若在预设超时时间内未从目标响应投递点获取到目标业务请求的业务响应,前端网关集群还用于向目标客户端返回业务超时响应,并向消息中间件发送目标响应投递点的删除请求;消息中间件还用于根据删除请求删除目标响应投递点。
可选的,后端服务器集群获取目标业务请求并生成目标业务响应之后,若目标响应投递点已被删除,后端服务器集群还用于丢弃目标业务响应。
本实施例提供的前端网关集群、后端服务器集群和消息中间件共同实现上述的业务后台异步处理业务请求的方法。其实现原理和所要达到的技术效果上文中已有论述,在此不再赘述。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该业务后台异步处理业务请求的软件产品可以存储在服务器可读存储介质中,如ROM/RAM、磁碟、光盘等,包括存储若干指令用以使得一台服务器执行各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种业务后台异步处理业务请求的方法,其特征在于,所述方法应用于业务后台,所述业务后台包括前端网关集群、后端服务器集群和消息中间件,所述方法包括:
所述前端网关集群在接收到目标客户端的目标业务请求时,向所述消息中间件发送响应投递点创建请求及所述目标业务请求;
所述消息中间件根据所述响应投递点创建请求,创建与所述目标业务请求对应的目标响应投递点;
所述后端服务器集群从所述消息中间件获取所述目标业务请求并生成目标业务响应,将所述目标业务响应投递至所述目标响应投递点;
所述前端网关集群从所述目标响应投递点获取所述目标业务响应,并将所述目标业务响应发送至所述目标客户端。
2.如权利要求1所述的方法,其特征在于,
所述前端网关集群在接收到目标客户端的目标业务请求时,向所述消息中间件发送响应投递点创建请求及所述目标业务请求的步骤包括:
所述前端网关集群在接收到所述目标客户端的所述目标业务请求时,为所述目标业务请求生成请求标识符,并向所述消息中间件发送携带所述请求标识符的所述响应投递点创建请求及所述目标业务请求;
所述消息中间件根据所述响应投递点创建请求,创建与所述目标业务请求对应的目标响应投递点的步骤包括:
所述消息中间件获取所述响应投递点创建请求中携带的所述请求标识符,创建与所述目标业务请求的所述请求标识符对应的目标响应投递点。
3.如权利要求2所述的方法,其特征在于,所述前端网关集群在接收到目标客户端的目标业务请求之后的步骤包括:
所述前端网关集群将所述目标业务请求及所述请求标识符按照指定格式封装为目标请求消息,并将所述目标请求消息存储于所述消息中间件预设的请求消息队列中。
4.如权利要求3所述的方法,其特征在于,所述后端服务器集群获取所述目标业务请求并生成目标业务响应,将所述目标业务响应投递至所述目标响应投递点的步骤包括:
所述后端服务器集群从所述请求消息队列中获取所述目标请求消息,并对所述目标请求消息进行处理,生成目标响应消息;
所述后端服务器集群将所述目标响应消息存储在与所述目标请求消息中携带的所述请求标识符对应的所述目标响应投递点中。
5.如权利要求3所述的方法,其特征在于,所述目标响应投递点及所述请求消息队列为Redis列表。
6.如权利要求4所述的方法,其特征在于,所述前端网关集群从所述目标响应投递点获取所述目标业务响应的步骤包括:
所述前端网关集群从所述目标响应投递点获取所述目标响应消息,并将所述目标响应消息转化为所述目标业务响应。
7.如权利要求2所述的方法,其特征在于,所述前端网关集群从所述目标响应投递点获取所述目标业务响应之后的步骤包括:
所述前端网关集群向所述消息中间件发送携带所述请求标识符的响应投递点删除请求;
所述消息中间件根据所述响应投递点删除请求中携带的所述请求标识符,删除所述目标响应投递点。
8.如权利要求1所述的方法,其特征在于,所述方法还包括:
若在预设超时时间内未从所述目标响应投递点获取到所述目标业务请求的业务响应,所述前端网关集群则向所述目标客户端返回业务超时响应,并向所述消息中间件发送所述目标响应投递点的删除请求;
所述消息中间件根据所述删除请求删除所述目标响应投递点。
9.如权利要求8所述的方法,其特征在于,所述后端服务器集群获取所述目标业务请求并生成所述目标业务响应之后的步骤还包括:
若所述目标响应投递点已被删除,所述后端服务器集群则丢弃所述目标业务响应。
10.一种业务后台,其特征在于,所述业务后台包括前端网关集群、后端服务器集群和消息中间件,其中,所述前端网关集群,用于在接收到目标客户端的目标业务请求时,向所述消息中间件发送响应投递点创建请求及所述目标业务请求;
所述消息中间件,用于根据所述响应投递点创建请求,创建与所述目标业务请求对应的目标响应投递点;
所述后端服务器集群,用于从所述消息中间件获取所述目标业务请求并生成目标业务响应,将所述目标业务响应投递至所述目标响应投递点;
所述前端网关集群,还用于从所述目标响应投递点获取所述目标业务响应,并将所述目标业务响应发送至所述目标客户端。
11.如权利要求10所述的业务后台,其特征在于,
在接收到目标客户端的目标业务请求时,所述前端网关集群具体用于为所述目标业务请求生成请求标识符,并向所述消息中间件发送携带所述请求标识符的所述响应投递点创建请求及所述目标业务请求;
所述消息中间件,具体用于获取所述响应投递点创建请求中携带的所述请求标识符,创建与所述目标业务请求的所述请求标识符对应的目标响应投递点。
12.一种业务后台,其特征在于,所述业务后台包括前端网关集群、后端服务器集群和消息中间件,其中,所述前端网关集群,用于在接收到目标客户端的目标业务请求时,向所述消息中间件发送响应投递点创建请求及所述目标业务请求;
所述消息中间件,用于根据所述响应投递点创建请求,创建与所述目标业务请求对应的目标响应投递点;
所述后端服务器集群,用于从所述消息中间件获取所述目标业务请求并生成目标业务响应,将所述目标业务响应投递至所述目标响应投递点;
所述前端网关集群,还用于从所述目标响应投递点获取所述目标业务响应,并将所述目标业务响应发送至所述目标客户端;
所述前端网关集群、所述后端服务器集群和所述消息中间件共同实现如权利要求3至9任一项所述的业务后台异步处理业务请求的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910021103.9A CN109819021B (zh) | 2019-01-09 | 2019-01-09 | 业务后台及其异步处理业务请求的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910021103.9A CN109819021B (zh) | 2019-01-09 | 2019-01-09 | 业务后台及其异步处理业务请求的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109819021A CN109819021A (zh) | 2019-05-28 |
CN109819021B true CN109819021B (zh) | 2021-10-22 |
Family
ID=66604119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910021103.9A Active CN109819021B (zh) | 2019-01-09 | 2019-01-09 | 业务后台及其异步处理业务请求的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109819021B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110704207B (zh) * | 2019-09-11 | 2021-04-27 | 口碑(上海)信息技术有限公司 | 业务应用中间件的数据处理方法及装置、存储介质 |
CN112581069A (zh) * | 2019-09-27 | 2021-03-30 | 汇海汽车科技(天津)有限公司 | 处理任务的系统、方法、装置以及存储介质 |
CN110753129A (zh) * | 2019-10-29 | 2020-02-04 | 深圳前海微众银行股份有限公司 | 消息传输方法、系统、装置、设备及计算机可读存储介质 |
CN111176861A (zh) * | 2019-12-24 | 2020-05-19 | 深圳市优必选科技股份有限公司 | 异步业务处理方法、系统以及计算机可读存储介质 |
CN111953584B (zh) * | 2020-08-21 | 2021-06-29 | 北京一起教育信息咨询有限责任公司 | 一种实时消息通道流量的优化方法及系统 |
CN112653614A (zh) * | 2020-12-15 | 2021-04-13 | 建信金融科技有限责任公司 | 基于消息中间件的请求处理方法和装置 |
CN115396494A (zh) * | 2022-08-19 | 2022-11-25 | 北京银丰新融科技开发有限公司 | 基于流式计算的实时监控方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103188140A (zh) * | 2011-12-31 | 2013-07-03 | 国民技术股份有限公司 | 一种业务请求处理系统 |
CN103516673A (zh) * | 2012-06-21 | 2014-01-15 | 腾讯科技(深圳)有限公司 | 一种网络数据通信方法、系统及客户端和服务器 |
CN103716253A (zh) * | 2013-12-27 | 2014-04-09 | 广州华多网络科技有限公司 | 一种请求数据的方法及装置 |
CN103856440A (zh) * | 2012-11-29 | 2014-06-11 | 腾讯科技(深圳)有限公司 | 一种基于分布式总线的消息处理方法、服务器和系统 |
CN104378221A (zh) * | 2013-08-14 | 2015-02-25 | 沈阳中科博微自动化技术有限公司 | 应用于集成电路生产线监控系统的异步调用方法 |
CN106603598A (zh) * | 2015-10-15 | 2017-04-26 | 阿里巴巴集团控股有限公司 | 处理业务请求的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8645723B2 (en) * | 2011-05-11 | 2014-02-04 | Apple Inc. | Asynchronous management of access requests to control power consumption |
-
2019
- 2019-01-09 CN CN201910021103.9A patent/CN109819021B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103188140A (zh) * | 2011-12-31 | 2013-07-03 | 国民技术股份有限公司 | 一种业务请求处理系统 |
CN103516673A (zh) * | 2012-06-21 | 2014-01-15 | 腾讯科技(深圳)有限公司 | 一种网络数据通信方法、系统及客户端和服务器 |
CN103856440A (zh) * | 2012-11-29 | 2014-06-11 | 腾讯科技(深圳)有限公司 | 一种基于分布式总线的消息处理方法、服务器和系统 |
CN104378221A (zh) * | 2013-08-14 | 2015-02-25 | 沈阳中科博微自动化技术有限公司 | 应用于集成电路生产线监控系统的异步调用方法 |
CN103716253A (zh) * | 2013-12-27 | 2014-04-09 | 广州华多网络科技有限公司 | 一种请求数据的方法及装置 |
CN106603598A (zh) * | 2015-10-15 | 2017-04-26 | 阿里巴巴集团控股有限公司 | 处理业务请求的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109819021A (zh) | 2019-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109819021B (zh) | 业务后台及其异步处理业务请求的方法 | |
US20210311781A1 (en) | Method and system for scalable job processing | |
CN106603598B (zh) | 处理业务请求的方法及装置 | |
US20080177872A1 (en) | Managing aggregation and sending of communications | |
US8452833B2 (en) | Cached message distribution via HTTP redirects | |
US8244822B1 (en) | Push notification delivery system | |
KR101006114B1 (ko) | 콘텐츠 푸시 서비스 | |
EP2273721A1 (en) | Method, centralized control device and system for service accounting | |
CN113891114B (zh) | 转码任务调度方法及装置 | |
CN113747373B (zh) | 消息处理系统、装置和方法 | |
CN112104679B (zh) | 处理超文本传输协议请求的方法、装置、设备和介质 | |
CN111541555A (zh) | 群聊优化方法及相关产品 | |
CN111200606A (zh) | 深度学习模型任务处理方法、系统、服务器及存储介质 | |
CN109547333A (zh) | 即时通信方法及装置 | |
CN111049751B (zh) | 数据传输优化方法、装置、设备及可读存储介质 | |
WO2011150968A1 (en) | Communication method and device | |
CN116800787A (zh) | 一种基于以太网通讯协议的车载通信方法及系统 | |
CN116860466A (zh) | 一种基于mqtt的异步通信转同步通信方法 | |
CN109088907B (zh) | 文件传递方法及其设备 | |
CN102469038B (zh) | 文件夹传输方法及装置 | |
CN112202781B (zh) | 一种电商大数据量回执报文处理方法、装置和系统 | |
US20130205034A1 (en) | Methods for facilitating communications in a presence and messaging server and devices thereof | |
CN115086425B (zh) | 消息传输方法、装置、程序产品、介质及电子设备 | |
CN116737359B (zh) | 一种电子商务信息处理方法及系统 | |
CN115378930A (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 |