[发明专利]一种网络请求处理系统和方法有效
申请号: | 202010059255.0 | 申请日: | 2020-01-19 |
公开(公告)号: | CN111314429B | 公开(公告)日: | 2021-07-13 |
发明(设计)人: | 李健;张泽宇;管海兵 | 申请(专利权)人: | 上海交通大学 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;G06F9/52;G06F9/54 |
代理公司: | 上海旭诚知识产权代理有限公司 31220 | 代理人: | 郑立 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 网络 请求 处理 系统 方法 | ||
本发明公开了一种网络处理请求系统,涉及Web服务领域。包括会话索引透传模块、消息元数据项保序模块、主动式事件通知模块;会话索引透传模块和消息元数据项保序模块并行执行;会话索引透传模块将会话索引作为NGINX使用的新文件描述符,NGINX将本身的原文件描述符作为新会话索引找到并访问会话;消息元数据项保序模块包括令牌编号和入队编号,在消息元数据项入队时检查其令牌编号和入队编号的一致性;主动式事件通知模块包括VPP工作线程主动唤醒NGINX工作进程和NGINX主进程主动唤醒NGINX工作进程,并主动查询用户态共享内存中的标记来确认是否有AF_UNIX域套接字epoll事件到来。本发明提高了网络请求处理性能,在无网络请求或请求量较少时,节省CPU资源并降低能耗。
技术领域
本发明涉及在Web服务领域中负责网络中心边缘处的网络请求处理和负载均衡的网络应用领域,尤其涉及一种网络请求处理系统和方法。
背景技术
得益于移动手机、智能手表、网络电视数量的日益增长,用户对各类网站的访问需求也不断增大。巨大的网站访问请求给网站带来了不小压力。目前很多网站都是用可以做请求转发的网络应用来做网络请求的负载均衡。NGINX是目前应用广泛的高性能HTTP请求转发、处理的网络应用,被很多知名网站用来做数据中心边缘处的负载均衡。NGINX的特点是能以较小内存占用即可维持数万连接。但是,针对NGINX内核限制问题,目前流行的解决方案之一是使用绕过内核的用户态网络协议栈对NGINX进行优化。
FD.io VPP(Vector Packet Processing)的用户态网络协议栈便是采用该解决方案的例子。让NGINX直接通过VPP LDP应用接口使用VPP从而加速网络请求处理。然而当NGINX直接使用VPP LDP应用接口时,接口采用的锁机制影响了NGINX并行处理请求时的性能。由于NGINX是多进行单线程应用,因此多个NGINX工作进程不会共享会话,所以锁机制可以去除。但是去除锁机制后,VPP事件队列中的控制事件消息的元数据项会出现乱序。同时,使用VPP LDP应用接口的网络应用,会通过轮询的方式不断检查应用事件队列和内核里的epoll事件队列,这种繁忙轮询方式会导致NGINX工作进程一直百分之百占用CPU,浪费CPU资源和电力能源。
另外,检查内核里的epoll事件队列需要通过系统调用进行,而频繁通过系统调用检查内核epoll事件队列会引起频繁上下文切换,影响请求处理性能。
因此,本领域的技术人员致力于开发一种网络处理请求系统和方法,提高请求处理性能和速率,在没有网络请求或请求量较少时,节省CPU资源并降低能耗。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是VPP LDP应用接口使用的锁机制影响NGINX可扩展性,同时在去锁后保证VPP事件队列中控制事件消息元数据项不乱序,以及VPP的epoll事件管理使用的繁忙轮询机制引起的能源浪费和频繁上下文切换。
为实现上述目的,本发明提供了一种网络请求处理系统,其特征在于,包括会话索引透传模块、消息元数据项保序模块、主动式事件通知模块;所述会话索引透传模块和所述消息元数据项保序模块并行执行;所述会话索引透传模块将会话索引作为NGINX使用到的新文件描述符,NGINX将本身的原文件描述符作为新会话索引找到并访问会话;所述消息元数据项保序模块包括令牌分配器持有的令牌编号和入队检查器持有的入队编号,在消息元数据项入队时检查其所述令牌编号和所述入队编号的一致性;所述主动式事件通知模块包括VPP工作线程主动唤醒NGINX工作进程和NGINX主进程主动唤醒NGINX工作进程,并NGINX工作进程主动查询用户态共享内存中的布尔变量标记U来确认是否有AF_UNIX域套接字的epoll事件到来。
进一步地,所述消息元数据项保序模块为每个VPP事件添加两个变量,分别表示所述令牌分配器持有的令牌编号和入队检查器持有的所述入队编号,所述令牌编号分配给新控制事件消息,所述入队编号用于对新消息元数据项进行入队检查。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010059255.0/2.html,转载请声明来源钻瓜专利网。