System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于EPOLL模型的处理网络连接高效方法、设备及介质技术_技高网

一种基于EPOLL模型的处理网络连接高效方法、设备及介质技术

技术编号:41131480 阅读:12 留言:0更新日期:2024-04-30 18:01
一种基于EPOLL模型的处理网络连接高效方法、设备及介质,涉及linux操作系统信息传输领域,通过设置定时功能及时处理活跃与非活跃连接,对非活跃连接进行删除,活跃连接进行重新的定时操作,并且定时器也通过有序链表方式进行管理,能动态创建管理。处理的所有事件都通过epoll方式进行管理,有效的提升了系统的工作性能,及时响应连接请求。

【技术实现步骤摘要】

本专利技术涉及linux 操作系统信息传输领域,具体涉及一种基于epoll模型的处理网络连接高效方法、设备及介质。


技术介绍

1、随着近些年互联网与物联网的发展,对服务端并发处理大量的连接请求提出了更高要求。在大量的连接中,服务端需要管理活跃的与非活跃连接,保持整个系统高效运行。传统的方法管理连接的方法存在一定的缺陷,不对非活跃连接处理或处理的不及时,造成大量的系统资源被浪费,影响系统的运行效率。


技术实现思路

1、本专利技术为了克服以上技术的不足,提供了一种有效解决传统管理连接请求效率不高问题,提高处理数据响应的并发效率的基于epoll模型的处理网络连接高效方法、设备及介质。

2、本专利技术克服其技术问题所采用的技术方案是:

3、一种基于epoll模型的处理网络连接高效方法,包括如下步骤:

4、s01.创建用于epoll模型监听的文件描述符、创建pipe无名管道描述符、创建一个包含客服端文件描述符变量;

5、s02.将服务端监听的socket、pipe无名管道文件描述加入到epoll事件中;

6、s03.调用捕捉sigalrm信号、sigpipe信号,设置信号处理函数,信号处理函数发送信息;

7、s04.服务端接收来自网络端的请求,并添加进epoll的epollin监听事件中;

8、s05.处理epoll监听的客户端socket描述符,接收epollin事件后,对epollin事件进行读取客户端socket数据操作,根据读取的客户端socket数据内容做出对应的响应,如响应需要进行写数据返回,则进行epollout事件注册;

9、s06.处理epoll监听的客户端socket描述符,接收到epollout事件,将需要发送的数据内容获取得到后进行下发;

10、s07.处理epoll监听的pipe无名管道描述符,当接收到sigalrm信号时,对未响应的客户端文件描述符在链表进行删除操作。

11、进一步的,步骤s03中通过sigaction系统调用捕捉sigalrm信号、sigpipe信号。

12、进一步的,步骤s03中信号处理函数使用pipe描述符发送信息。

13、进一步的,步骤s01中创建timer定时器的链表,timer定时器定时时间到后,发出一个sigalrm信号,信号捕捉函数通过pipe发送消息时发出一个sigpipe信号。

14、进一步的,步骤s04中服务端通过创建的listen socket接收来自网络端的请求,服务端成功接收请求后保存请求中的客户端socket并为新的socket添加定时任务,通过timer定时器的链表管理为新的socket添加的定时任务,将为新的socket添加的定时任务添加进epoll的epollin监听事件中。

15、进一步的,步骤s04中每一个客户端的socket均有自己的定时时间,timer定时器的链表为一个有序链表,timer定时器的链表根据定时剩余时间长度降序排序。

16、进一步的,步骤s05中进行epollout事件注册的同时调整定时器重新开始定时。

17、一种基于epoll模型的处理网络连接高效的设备,包括:

18、至少一个处理器,以及

19、与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:

20、创建用于epoll模型监听的文件描述符、创建pipe无名管道描述符、创建一个包含客服端文件描述符变量;

21、将服务端监听的socket、pipe无名管道文件描述加入到epoll事件中;

22、调用捕捉sigalrm信号、sigpipe信号,设置信号处理函数,信号处理函数发送信息;

23、服务端接收来自网络端的请求,并添加进epoll的epollin监听事件中;

24、处理epoll监听的客户端socket描述符,接收epollin事件后,对epollin事件进行读取客户端socket数据操作,根据读取的客户端socket数据内容做出对应的响应,如响应需要进行写数据返回,则进行epollout事件注册;

25、处理epoll监听的客户端socket描述符,接收到epollout事件,将需要发送的数据内容获取得到后进行下发;

26、处理epoll监听的pipe无名管道描述符,当接收到sigalrm信号时,对未响应的客户端文件描述符在链表进行删除操作。

27、一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:

28、创建用于epoll模型监听的文件描述符、创建pipe无名管道描述符、创建一个包含客服端文件描述符变量;

29、将服务端监听的socket、pipe无名管道文件描述加入到epoll事件中;

30、调用捕捉sigalrm信号、sigpipe信号,设置信号处理函数,信号处理函数发送信息;

31、服务端接收来自网络端的请求,并添加进epoll的epollin监听事件中;

32、处理epoll监听的客户端socket描述符,接收epollin事件后,对epollin事件进行读取客户端socket数据操作,根据读取的客户端socket数据内容做出对应的响应,如响应需要进行写数据返回,则进行epollout事件注册;

33、处理epoll监听的客户端socket描述符,接收到epollout事件,将需要发送的数据内容获取得到后进行下发;

34、处理epoll监听的pipe无名管道描述符,当接收到sigalrm信号时,对未响应的客户端文件描述符在链表进行删除操作。

35、本专利技术的有益效果是:通过设置定时功能及时处理活跃与非活跃连接,对非活跃连接进行删除,活跃连接进行重新的定时操作,并且定时器也通过有序链表方式进行管理,能动态创建管理。处理的所有事件都通过epoll方式进行管理,有效的提升了系统的工作性能,及时响应连接请求。

本文档来自技高网...

【技术保护点】

1.一种基于EPOLL模型的处理网络连接高效方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的基于EPOLL模型的处理网络连接高效方法,其特征在于:步骤S03中通过sigaction系统调用捕捉SIGALRM信号、SIGPIPE信号。

3.根据权利要求1所述的基于EPOLL模型的处理网络连接高效方法,其特征在于:步骤S03中信号处理函数使用pipe描述符发送信息。

4.根据权利要求1所述的基于EPOLL模型的处理网络连接高效方法,其特征在于:步骤S01中创建timer定时器的链表,timer定时器定时时间到后,发出一个SIGALRM信号,信号捕捉函数通过pipe发送消息时发出一个SIGPIPE信号。

5.根据权利要求4所述的基于EPOLL模型的处理网络连接高效方法,其特征在于:步骤S04中服务端通过创建的listen socket接收来自网络端的请求,服务端成功接收请求后保存请求中的客户端socket并为新的socket添加定时任务,通过timer定时器的链表管理为新的socket添加的定时任务,将为新的socket添加的定时任务添加进epoll的EPOLLIN监听事件中。

6.根据权利要求5所述的基于EPOLL模型的处理网络连接高效方法,其特征在于:步骤S04中每一个客户端的socket均有自己的定时时间,timer定时器的链表为一个有序链表,timer定时器的链表根据定时剩余时间长度降序排序。

7.根据权利要求4所述的基于EPOLL模型的处理网络连接高效方法,其特征在于:步骤S05中进行EPOLLOUT事件注册的同时调整定时器重新开始定时。

8.一种基于EPOLL模型的处理网络连接高效的设备,其特征在于,包括:

9.一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:

...

【技术特征摘要】

1.一种基于epoll模型的处理网络连接高效方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的基于epoll模型的处理网络连接高效方法,其特征在于:步骤s03中通过sigaction系统调用捕捉sigalrm信号、sigpipe信号。

3.根据权利要求1所述的基于epoll模型的处理网络连接高效方法,其特征在于:步骤s03中信号处理函数使用pipe描述符发送信息。

4.根据权利要求1所述的基于epoll模型的处理网络连接高效方法,其特征在于:步骤s01中创建timer定时器的链表,timer定时器定时时间到后,发出一个sigalrm信号,信号捕捉函数通过pipe发送消息时发出一个sigpipe信号。

5.根据权利要求4所述的基于epoll模型的处理网络连接高效方法,其特征在于:步骤s04中服务端通过创建的listen socket接收来自网络端的请...

【专利技术属性】
技术研发人员:李志远张涵李永民赵鲁波孟祥朋李鹏
申请(专利权)人:山东浪潮超高清视频产业有限公司
类型:发明
国别省市:

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

1