【技术实现步骤摘要】
一种基于DPDK技术的Nginx配置热更新系统和方法
本专利技术涉及DPDK
,尤其涉及一种基于DPDK技术的Nginx配置热更新系统和方法。
技术介绍
DPDK全称为Dateplanedevelopmentkit,是一个用来进行包数据处理加速的软件库。DPDK使用了轮询(polling)而不是中断来处理数据包。在收到数据包时,经DPDK重载的网卡驱动不会通过中断通知CPU,而是直接将数据包存入内存,交付应用层软件通过DPDK提供的接口来直接处理,这样节省了大量的CPU中断时间和内存拷贝时间。Nginx是一款高性能的HTTP和反向代理web服务器。Nginx具有占有内存少,并发能力强的优点,事实上Nginx的并发能力在同类型的网页服务器中表现较好,在互联网企业的网站中得到了较为广泛的应用。Nginx作为负载均衡服务:Nginx既可以在内部直接支持Rails和PHP程序对外进行服务,也可以支持作为HTTP代理服务对外进行服务。Nginx采用C进行编写,不论是系统资源开销还是CPU使用效率都比较好。传统的基于linux、Unix和windows等操作系统网络IO和协议栈的Nginx更新配置采用的方案是重启工作进程的方式使新配置生效(nginx–sreload),如图1所示。但当基于DPDK技术和用户态协议时,因为DPDK内存管理机制和进程管理机制的限制,Nginx重启工作进程时间较长,容易造成业务中断。
技术实现思路
为了解决上述问题,有必要提供一种基于DPDK技术的Nginx配 ...
【技术保护点】
1.一种基于DPDK技术的Nginx配置热更新系统,其特征在于,所述系统包括:用户态、内核态以及底层硬件模块;所述底层硬件模块用于存储Nginx配置文件;所述用户态包括Nginx应用层、用户态协议栈、DPDK驱动层;所述Nginx应用层,根据Nginx配置文件提供web服务和反向代理服务;所述用户态协议栈,用于对收发包进行协议解析或协议封装处理;所述DPDK驱动层,采用自身提供的数据面库绕过内核态协议栈,以进行收发包处理;所述内核态,根据所述用户态的需求,用于代替访问存储于所述底层硬件模块中的Nginx配置文件;/n当所述系统接收用户对Nginx原始配置文件的修改指令时,将生成Nginx更新配置文件,并产生相应的Nginx配置文件更新指令;/n由用户态的主进程接收所述Nginx配置文件更新指令,并将其通知给所述主进程管理的所有工作进程;/n由各个工作进程根据所述Nginx配置文件更新指令重读所述Nginx更新配置文件与Nginx原始配置文件;/n各个工作进程分别对比所述Nginx更新配置文件与Nginx原始配置文件,并确定出差异信息;/n所述Nginx应用层根据所述差异信息关闭无效的监 ...
【技术特征摘要】
1.一种基于DPDK技术的Nginx配置热更新系统,其特征在于,所述系统包括:用户态、内核态以及底层硬件模块;所述底层硬件模块用于存储Nginx配置文件;所述用户态包括Nginx应用层、用户态协议栈、DPDK驱动层;所述Nginx应用层,根据Nginx配置文件提供web服务和反向代理服务;所述用户态协议栈,用于对收发包进行协议解析或协议封装处理;所述DPDK驱动层,采用自身提供的数据面库绕过内核态协议栈,以进行收发包处理;所述内核态,根据所述用户态的需求,用于代替访问存储于所述底层硬件模块中的Nginx配置文件;
当所述系统接收用户对Nginx原始配置文件的修改指令时,将生成Nginx更新配置文件,并产生相应的Nginx配置文件更新指令;
由用户态的主进程接收所述Nginx配置文件更新指令,并将其通知给所述主进程管理的所有工作进程;
由各个工作进程根据所述Nginx配置文件更新指令重读所述Nginx更新配置文件与Nginx原始配置文件;
各个工作进程分别对比所述Nginx更新配置文件与Nginx原始配置文件,并确定出差异信息;
所述Nginx应用层根据所述差异信息关闭无效的监听端口,和/或,打开新增的监听端口。
2.根据权利要求1所述的一种基于DPDK技术的Nginx配置热更新系统,其特征在于,所述差异信息表征为:
所述Nginx更新配置文件相较于所述Nginx原始配置文件新增的部分配置信息;或
所述Nginx更新配置文件相较于所述Nginx原始配置文件减少的部分配置信息;或
所述Nginx更新配置文件相较于所述Nginx原始配置文件变更的部分配置信息。
3.根据权利要求1所述的一种基于DPDK技术的Nginx配置热更新系统,其特征在于,所述Nginx应用层和所述DPDK驱动层共享内核态的一个进程。
4.根据权利要求1所述的一种基于DPDK技术的Nginx配置热更新系统,其特征在于,所述底层硬件模块为硬盘和/或内存。
5.根据权利要求1所述的一种基于DPDK技术的Nginx配置热更新系统,其特征在于,所述工作进程至少为两个。...
【专利技术属性】
技术研发人员:侯田,冀博,李昭熹,马骥,孙晓鹏,彭金辉,廖正赟,
申请(专利权)人:郑州信大捷安信息技术股份有限公司,
类型:发明
国别省市:河南;41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。