[发明专利]基于消息中间件的请求处理方法和装置在审
申请号: | 202011482834.2 | 申请日: | 2020-12-15 |
公开(公告)号: | CN112653614A | 公开(公告)日: | 2021-04-13 |
发明(设计)人: | 尤见 | 申请(专利权)人: | 建信金融科技有限责任公司 |
主分类号: | H04L12/58 | 分类号: | H04L12/58;H04L29/08 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张效荣;冯培培 |
地址: | 200120 上海市自由*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 消息 中间件 请求 处理 方法 装置 | ||
本发明公开了一种基于消息中间件的请求处理方法和装置,涉及计算机技术领域。该请求处理方法的一具体实施方式包括:根据客户端发送的请求报文,查询业务数据库中是否存在与所述请求报文相关的业务数据;若业务数据库中存在与所述请求报文相关的业务数据,则向所述客户端发送响应报文,所述响应报文携带有所述业务数据;否则,将所述请求报文加入消息队列中。该实施方式通过引入消息中间件,减少了服务端轮询数据库的无效开销,节省了网络流量,可以避免客户端轮询服务端带来的运维压力以及服务端因长轮询连接请求挂起导致的资源浪费。
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于消息中间件的请求处理方法和装置。
背景技术
随着互联网、分布式、组件化等信息系统构架的发展,系统之间交互也越来越多。不同系统进行交互时,多采用长轮询或短轮询方式来处理请求。其中在短轮询场景下,服务端一般会即时响应请求。在长轮询场景下,服务端在一定时间内(设定的超时时间)通过轮询业务数据库或第三方以便于及时地获取业务数据。但是,以上方式均会造成轮询数据库的无效开销,浪费网络流量。
发明内容
有鉴于此,本发明实施例提供一种基于消息中间件的请求处理方法和装置,能够解决现有请求处理方式所存在的轮询数据库无效开销问题。
为实现上述目的,根据本发明实施例的一个方面,提供了一种基于消息中间件的请求处理方法。
本发明实施例的基于消息中间件的请求处理方法包括:
根据客户端发送的请求报文,查询业务数据库中是否存在与所述请求报文相关的业务数据;
若业务数据库中存在与所述请求报文相关的业务数据,则向所述客户端发送响应报文,所述响应报文携带有所述业务数据;
否则,将所述请求报文加入消息队列中。
可选地,所述请求报文至少包括:请求数据域和公共域;其中所述请求数据域用于指示每次请求的请求报文的请求信息,所述公共域用于指示服务框架控制信息。
可选地,根据客户端发送的请求报文,查询业务数据库中是否存在与所述请求报文相关的业务数据包括:
从客户端发送的请求报文中获取请求信息;
根据获取到的请求信息,查询业务数据库中是否存在与所述请求报文相关的业务数据。
可选地,所述请求信息至少包括:渠道代码;将所述请求报文加入消息队列中包括:
从所述请求信息中获取渠道代码;其中所述渠道代码用于表示渠道的标识信息,每个渠道对应设置有一个消息队列;
将所述请求报文按照所述渠道代码加入对应的消息队列中。
可选地,所述公共域至少包括以下一项或多项信息:全局跟踪号、服务编码、服务版本号和报文加密信息。
可选地,从客户端发送的请求报文中获取请求信息包括:
从所述请求报文的公共域中获取报文加密信息;
根据所述报文加密信息,对所述请求报文进行解密处理;
从解密后的请求报文的请求数据域中获取请求信息。
可选地,所述消息队列的设计参数包括:
每个渠道对应设置有一个消息队列;
渠道代码为路由关键字;
业务数据处理程序为生产者;
请求处理程序为消费者;
超时时间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于建信金融科技有限责任公司,未经建信金融科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011482834.2/2.html,转载请声明来源钻瓜专利网。