一种业务请求的处理方法、装置、电子设备及存储介质制造方法及图纸

技术编号:33801146 阅读:17 留言:0更新日期:2022-06-16 10:06
本申请提供了一种业务请求的处理方法、装置、电子设备及存储介质,涉及网络通讯及消息处理领域。该方法包括:接收应用程序客户端发送的业务请求;基于所述业务请求创建请求对象,并将所述请求对象发送至所述应用程序客户端;接收所述应用程序客户端通过所述请求对象异步提交的请求内容;将所述请求内容发送至服务器端,并接收所述服务器端的响应内容;通过所述请求对象将所述响应内容返回所述应用程序客户端;当所述应用程序客户端接收所述响应内容完成时,向所述应用程序客户端发送所述业务请求处理完成的通知信息。本申请在开发接口开箱即用前提下,支持HTTP协议不同版本,默认自动解压响应数据,支持多线程可扩展性,且各个线程的负载相对均衡。个线程的负载相对均衡。个线程的负载相对均衡。

【技术实现步骤摘要】
一种业务请求的处理方法、装置、电子设备及存储介质


[0001]本申请涉及网络通讯及消息处理
,具体而言,本申请涉及一种业务请求的处理方法、装置、电子设备及计算机可读存储介质。

技术介绍

[0002]HTTP(Hypertext Transfer Protocol)协议是超文本传输协议的缩写,用于从万维网服务器传输超文本到本地浏览器的传送协议。超文本传输协议(HTTP)是面向事务的(Transaction

oriented),应用层协议规定了在浏览器和服务器之间的请求和响应的格式和规则,它是万维网上能够可靠交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础。HTTP是一个客户端与服务器请求和应答的标准(TCP),通常,由HTTP客户端发起一个请求,建立一个服务器指定端口的TCP连接,HTTP服务器则在那个端口监听客户端发来的请求。
[0003]随着移动电信进入5G时代,很多5G核心网络组建都使用HTTP/2作为通信协议,并且对相应性能(包括延迟情况)提出了较高要求,而与此同时又需要兼容一些老系统的HTTP/1.0和HTTP/1.1通信协议。在考察众多C/C++支持HTTP通信协议的客户端库后,发现要么不支持HTTP/2,要么不支持多线程模式(或支持的不好),要么没有多路复用的异步IO处理,要么对开发者学习梯度要求很高,要么功能不完善。

技术实现思路

[0004]本申请提供了一种业务请求的处理方法、装置、电子设备及计算机可读存储介质,可以解决HTTP通信协议的客户端库不支持HTTP/2,不支持多线程模式(或支持的不好)的问题。所述技术方案如下:
[0005]第一方面,提供了一种业务请求的处理方法,应用于超文本传输客户端,该方法包括:
[0006]接收应用程序客户端发送的业务请求;
[0007]基于业务请求创建请求对象,并将请求对象发送至应用程序客户端;
[0008]接收应用程序客户端通过请求对象异步提交的请求内容;
[0009]将请求内容发送至服务器端,并接收服务器端的响应内容;
[0010]通过请求对象将响应内容返回应用程序客户端;
[0011]当应用程序客户端接收响应内容完成时,向应用程序客户端发送业务请求处理完成的通知信息。
[0012]优选的,接收应用程序客户端发来的业务请求,包括:
[0013]基于超文本传输客户端中的发起请求接口层接收业务请求;
[0014]通过发起请求接口层解析业务请求,得到业务请求的报文信息;
[0015]提取报文信息;
[0016]若提取报文信息成功,则从报文信息中获取统一资源定位URL信息、host信息、端
口信息以及使用的传输协议信息;
[0017]若提取报文信息失败,则生成异常信息。
[0018]优选的,基于业务请求创建请求对象,并将请求对象发送至应用程序客户端之前,包括:
[0019]通过发起请求接口层根据URL信息检查输入/输出IO线程池中是否存在对应的IO工作线程;
[0020]若是,则获取对应的IO工作线程;
[0021]若否,则从线程池中确定出目标IO工作线程;
[0022]IO工作线程池中的每个IO工作线程都基于非阻塞select/epoll技术。
[0023]优选的,基于业务请求创建请求对象,并将请求对象发送至应用程序客户端之前,还包括:
[0024]通过发起请求接口层根据URL信息检查连接池中是否存在到服务器端的连接;
[0025]若是,则获取已经存在的业务请求连接对象;
[0026]若否,则自动对对应的服务端发起异步传输控制协议连接请求,并获取新创建的连接对应的连接对象。
[0027]优选的,基于业务请求创建请求对象,并将请求对象发送至应用程序客户端,包括:
[0028]通过发起请求接口层基于业务请求创建请求对象,并将请求对象发送至应用程序客户端。
[0029]优选的,基于业务请求创建请求对象,并将请求对象发送至应用程序客户端之后,包括:
[0030]将请求对象与对应的连接对象绑定;
[0031]将连接对象与select/epoll过程对象绑定。
[0032]优选的,接收应用程序客户端通过请求对象异步提交的请求内容,包括:
[0033]基于超文本传输客户端中的请求处理器接收应用程序客户端通过请求对象异步提交的请求内容;
[0034]请求内容包括:超文本传输协议头参数、超文本传输协议请求体。
[0035]优选的,将请求内容发送至服务器端,并接收服务器端的响应内容,包括:
[0036]通过请求处理器根据与请求对象绑定的IO工作线程和连接对象,异步发起传输控制协议连接,连接对应服务器端。
[0037]优选的,将接收的请求内容发送至服务器端之后,还包括:
[0038]检测传输控制协议连接上是否包含待发送的请求;
[0039]若是,则依次根据传输协议信息对待发送的请求进行打包,得到数据包,并将数据包异步发送到对应服务端;
[0040]若否,则获取请求内容对应的响应内容。
[0041]优选的,异步发起传输控制协议连接,连接对应服务器端之后,包括:
[0042]接收来自服务器端响应的传输控制协议数据;
[0043]对传输控制协议数据进行解析,得到响应内容。
[0044]优选的,通过请求对象将响应内容返回应用程序客户端,包括:
[0045]请求处理器将响应内容通过请求对象异步返回给应用程序客户端。
[0046]优选的,当应用程序客户端接收响应内容完成时,向应用程序客户端发送业务请求处理完成的通知信息,包括:
[0047]通过请求结束通知函数向应用程序客户端发送业务请求处理完成的通知信息。
[0048]第二方面,提供了一种业务请求的处理装置,应用于超文本传输客户端,该装置包括:
[0049]第一处理模块,用于接收应用程序客户端发送的业务请求;
[0050]第二处理模块,用于基于业务请求创建请求对象,并将请求对象发送至应用程序客户端;
[0051]第三处理模块,用于接收应用程序客户端通过请求对象异步提交的请求内容;
[0052]第四处理模块,用于将请求内容发送至服务器端,并接收服务器端的响应内容;
[0053]第五处理模块,用于通过请求对象将响应内容返回应用程序客户端;
[0054]第六处理模块,用于当应用程序客户端接收响应内容完成时,向应用程序客户端发送业务请求处理完成的通知信息。
[0055]优选的,所述第一处理模块具体用于,基于超文本传输客户端中的发起请求接口层接收业务请求;通过发起请求接口层解析业务请求,得到业务请求的报文信息;
[0056]提取报文信息;若提取报文信息成功,则从报文信息中获取统一资源定位URL信息、host信息、端口本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种业务请求的处理方法,其特征在于,应用于超文本传输客户端,所述方法包括:接收应用程序客户端发送的业务请求;基于所述业务请求创建请求对象,并将所述请求对象发送至所述应用程序客户端;接收所述应用程序客户端通过所述请求对象异步提交的请求内容;将所述请求内容发送至服务器端,并接收所述服务器端的响应内容;通过所述请求对象将所述响应内容返回所述应用程序客户端;当所述应用程序客户端接收所述响应内容完成时,向所述应用程序客户端发送所述业务请求处理完成的通知信息。2.根据权利要求1所述的业务请求的处理方法,其特征在于,所述接收应用程序客户端发来的业务请求,包括:基于所述超文本传输客户端中的发起请求接口层接收所述业务请求;通过所述发起请求接口层解析所述业务请求,得到所述业务请求的报文信息;提取所述报文信息;若提取报文信息成功,则从所述报文信息中获取统一资源定位URL信息、host信息、端口信息以及使用的传输协议信息;若提取报文信息失败,则生成异常信息。3.根据权利要求2所述的业务请求的处理方法,其特征在于,所述基于所述业务请求创建请求对象,并将所述请求对象发送至所述应用程序客户端之前,包括:所述发起请求接口层根据所述URL信息检查输入/输出IO线程池中是否存在对应的IO工作线程;若是,则获取所述对应的IO工作线程;若否,则从线程池中确定出目标IO工作线程;所述IO工作线程池中的每个IO工作线程都基于非阻塞select/epoll技术。4.根据权利要求1或2所述的业务请求的处理方法,其特征在于,所述基于所述业务请求创建请求对象,并将所述请求对象发送至所述应用程序客户端之前,包括:通过所述发起请求接口层根据URL信息检查连接池中是否存在到服务器端的连接;若是,则获取已经存在的业务请求连接对象;若否,则自动对对应的服务端发起异步传输控制协议连接请求,并获取新创建的连接对应的连接对象。5.根据权利要求1所述的业务请求的处理方法,其特征在于,所述基于所述业务请求创建请求对象,并将所述请求对象发送至所述应用程序客户端,包括:通过所述发起请求接口层基于所述业务请求创建请求对象,并将所述请求对象发送至所述应用程序客户端。6.根据权利要求1所述的业务请求的处理方法,其特征在于,所述基于所述业务请求创建请求对象,并将所述请求对象发送至所述应用程序客户端之后,包括:将所述请求对象与对应的连接对象绑定;将所述连接对象与select/epoll过程对象绑定。7.根据权利要求1所述的业务请求的处理方法,其特征在于,所述接收所述应用程序客户端通过所述请求对象异步提交的请求内容,包括:
基于所述超文本传输客户端中的请求处理器接收所述应用程序客户端通...

【专利技术属性】
技术研发人员:温兴全韦昌太施怡旻
申请(专利权)人:亚信科技中国有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1