[发明专利]高并发全局网关实现方法及装置在审
申请号: | 202110885361.9 | 申请日: | 2021-08-03 |
公开(公告)号: | CN113590296A | 公开(公告)日: | 2021-11-02 |
发明(设计)人: | 李靖;罗丹;马金秀;王白英;周宝琛;甘桉妮 | 申请(专利权)人: | 中国银行股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 刘乐 |
地址: | 100818 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 并发 全局 网关 实现 方法 装置 | ||
本发明提供一种高并发全局网关实现方法及装置,在对目标系统注册其线程对应的通道后,能够在前端系统发起请求报文时,基于被激活的第一通道获取该请求报文,进而调用相应的第一线程处理请求报文,确定后端系统后,能够确定后端系统的第二通道,并调用相应的第二线程继续处理请求报文,以此完成请求报文向后端系统的发送,在通过第二通道获取到后端系统返回的响应报文后,又能调用第二线程处理响应报文,确定第一通道、调用第一线程再次处理响应报文,以此完成响应报文向前端系统的发送。基于本发明能够建立线程对所有连接的管理,避免过多的多线程开发,减少线程切换所来的开销,提高全局网关的业务处理性能。
技术领域
本发明涉及软件技术领域,更具体地说,涉及一种高并发全局网关实现方法及装置。
背景技术
在银行系统中,连接渠道与交易处理系统一般需要一个全局网关进行交易分发,起到接口规范、路由选择、负载均衡等作用。随着银行业务发展,渠道种类、交易处理系统都变得多样化,交易吞吐量要求也越来越高,这对于网关的并发量也就有了极高的要求。
目前网关全局网关的设计是采用主子进程的方式。这种方式要求每个系统都存在一个主进程、及其多个子进程。同时,多个进程在处理报文请求时使用的是阻塞的方式,一旦需要较高的并发就必须创建很多子进程来处理。如果进程数量不足,可能出现大量交易堆积等待而网关又在等后端系统处理的情况,而一旦进程数量过多,又存在内存管理及上下文切换的问题。
发明内容
有鉴于此,为解决上述问题,本发明提供一种高并发全局网关实现方法及装置,技术方案如下:
本发明一方面提供一种高并发全局网关实现方法,所述方法应用于全局网关,所述方法包括:
与目标系统建立连接,并基于所述目标系统的线程注册该连接对应的通道,线程与通道一一对应;
基于被激活的第一通道获取前端系统发起的请求报文,并调用所述第一通道对应的第一线程对所述请求报文进行处理,以确定后端系统;
确定所述后端系统的第二通道,调用所述第二通道对应的第二线程对第一次处理后的所述请求报文进行处理,并将第二次处理后的所述请求报文发送至所述后端系统;
通过所述第二通道获取所述后端系统返回的响应报文,调用所述第二线程对所述响应报文进行处理;
确定所述第一通道,调用所述第一线程对第一次处理后的所述响应报文进行处理,并将第二次处理的所述响应报文发送至所述前端系统。
优选的,所述与目标系统建立连接,包括:
与第一目标系统建立长连接,所述第一目标系统的线程预先指定;
为第二目标系统配置指定端口,通过监听所述指定端口主动与所述第二目标系统建立短连接,所述第二目标系统的线程由所述指定端口指定。
优选的,所述确定所述后端系统的第二通道,包括:
获取所述后端系统的连接属性;
在所述连接属性为短连接的情况下,与所述后端系统建立短连接、从所述后端系统已注册的通道中选取一个通道作为所述第二通道,并缓存链路信息,所述链路信息包括所述第一通道、所述第二通道和所述请求报文的识别号;
在所述连接属性为长连接的情况下,从所述后端系统已注册的通道中选取一个通道作为所述第二通道,并缓存链路信息,所述链路信息包括所述第一通道、所述第二通道和所述请求报文的识别号;
相应的,所述确定所述第一通道,包括:
调取已缓存的所述链路信息,基于所述请求报文的识别号确定与所述第二通道相对应的所述第一通道。
优选的,所述从所述后端系统已注册的通道中选取一个通道作为所述第二通道,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国银行股份有限公司,未经中国银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110885361.9/2.html,转载请声明来源钻瓜专利网。