[发明专利]一种基于Epoll异步服务器的高效响应方法有效
申请号: | 201710660691.1 | 申请日: | 2017-08-04 |
公开(公告)号: | CN107479955B | 公开(公告)日: | 2020-04-17 |
发明(设计)人: | 江汀;赵万亮;姜思远;王月铭 | 申请(专利权)人: | 南京华飞数据技术有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F11/30 |
代理公司: | 南京品智知识产权代理事务所(普通合伙) 32310 | 代理人: | 奚晓宁;杨陈庆 |
地址: | 210019 江苏省南京市建邺*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明一种基于Epoll异步服务器的高效响应方法涉及应用服务器技术领域,特别是一种高效的Epoll异步服务器响应方法。包括:初始化,和启动监控调度线程。通过级联Epoll监听线程,将传统的Epoll监听处理线程,从处理中完全释放出来,仅负责监听和分发功能,从而能够及时监听并响应高并发事件。而处理的功能则交由二级Epoll器,实质为线程组。同时通过创建多个环形队列,将原来一个队列的压力进行分摊,避免在高并发性情况下,导致一个队列容易队列满的情况。为了进一步优化功能,提供优先级的功能,进而根据优先级划分能够根据请求事件的轻重缓急处理事件,对优先级高的时间优先响应,这样做更为高效、合理。 | ||
搜索关键词: | 一种 基于 epoll 异步 服务器 高效 响应 方法 | ||
【主权项】:
一种基于Epoll异步服务器的高效响应方法,其特征在于,包括以下步骤:1)初始化,所述初始化过程包括,1‑1)主进程创建一级Epoll监听器和二级Epoll监听器;1‑2)初始化二级Epoll监听器,根据配置值,循环创建二级Epoll监听器并初始化;1‑3)初始化一级Epoll监听器,即初始化Epoll和EpollHandler接口类,建立服务端socket,同时在一级Epoll监听器对服务端的fd注册event事件;所述fd表示文件描述符;1‑4)通过一级Epoll监听器的EpollHandler注册接口,向一级Epoll监听器注册二级Epoll监听器,使一级Epoll监听器能够与二级Epoll监听器对接;1‑5)创建并初始化环形队列;1‑6)启动监控调度线程,循环扫描判断步骤(1‑5)的环形队列是否有一个不为空,不为空则进入步骤(1‑7);1‑7)创建线程池,并启动K个空闲线程并挂入空闲线程链表;所述K值为预设值;2)启动监控调度线程,具体包括;2‑1)启动二级Epoll监听器的相应线程,线程数量通过配置来完成;2‑2)启动一级Epoll监听器,即启动相应线程;2‑3)当一级Epoll监听器监听到高并发的客户端请求事件后,循环遍历每一请求事件,并立即根据相应的策略分发到对应的二级Epoll监听器;一级Epoll监听器循环分发完请求事件后立即返回,继续监听客户端的高并发事件;2‑4)二级Epoll监听器监听到步骤(2‑3)中一级Epoll监听器分发的事件后,根据客户端携带的私有信息,判断客户端请求事件的优先级,根据优先级PUSH进相应的待处理环形队列;2‑5)监控调度线程按照环形队列的优先级,从高优先级到低优先级,依次POP出客户端请求事件,从线程池空闲线程链上取出空闲线程处理客户端请求事件。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京华飞数据技术有限公司,未经南京华飞数据技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710660691.1/,转载请声明来源钻瓜专利网。