[发明专利]一种linux下扩展select模型管理能力的方法在审

专利信息
申请号: 201410674024.5 申请日: 2014-11-21
公开(公告)号: CN105653252A 公开(公告)日: 2016-06-08
发明(设计)人: 马黎明;刘凯 申请(专利权)人: 北京信威通信技术股份有限公司;深圳信威通信技术有限公司
主分类号: G06F9/44 分类号: G06F9/44
代理公司: 暂无信息 代理人: 暂无信息
地址: 100193 北京市海淀区*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 linux 扩展 select 模型 管理 能力 方法
【说明书】:

技术领域

发明涉及通信领域,尤其涉及一种linux操作系统中扩展select模型的管理能力的方法。

背景技术

在软件设计中,如何管理多文件描述符是我们要经常面临的问题,特别是在涉及基于TCP/IP的网络编程时,需要通过文件描述符对多条通信链路的IO进行管理。通常Linux操作系统提供了select、poll、epoll等文件描述符管理模型,用户可以方便的使用各种模型对多文件描述符进行管理。

众所周知,在很多软件中都使用了select模型对文件描述符进行管理,这种模型能满足文件描述符不大于1023的管理需求。但如果软件的功能发生变更,需要能够管理大于1023的文件描述符时,我们一般有两种方法:通过重新编译内核调整select管理数量大小;或者修改文件描述符管理模型。

如果重新编译内核,代码平台的通用性将存在风险,必须使用经过重新编译后的操作系统。如果修改文件描述符管理模型,也会带来一系列的问题:一方面,需要对原有代码的文件描述符管理框架进行修改,那么复杂的软件系统就需要花费很长时间进行模型改进,此外新代码还需要重新测试;另一方面,假如在多个模块中都使用了select模型,通过poll或者epoll模型对某个模块进行升级时,其它多个功能模块也需要进行代码升级,因为在同一进程中,select模型是不能与poll或epoll模型共存的,此缺陷是操作系统API的天然缺陷。

发明内容

为了解决上述技术问题,本发明提出一种linux操作系统中扩展select模型的管理能力的方法,该方法可以在不修改原文件描述符管理模型及功能代码,并且不需要对内核进行重新编译的情况下,通过巧妙的自定义数据结构,简单快速的对select模型的管理能力进行扩展,使得该模型满足大于1023bit文件描述符的管理需求。所述方法为:

自定义文件描述符集合数据结构fd_set,该数据结构支持文件描述符集合中的数据成员大于32个int元素,然后用自定义的fd_set替换系统定义的fd_set;

自定义清零宏,该宏兼容自定义的fd_set,然后用自定义的清零宏替换系统定义的清零宏。

优选的,自定义的fd_set可以具体如下:

其中,maxfd为需要支持的最大文件描述符。

优选的,定义的清零宏可以具体如下:

#defineFD_ZERO(p)memset(&sampset,0,sizeof(define_fd_set))。

本发明利用select模型对用户空间数据操作的本质,采用自定义数据结构,扩展了select模型所需要的读、写、例外集所占用内存的长度的范围,从而达到了扩展文件描述符数量的目的。本发明具有如下优点:1,能够支持大于1023的文件描述符的管理,快速满足软件需求;2,不需要修改原代码的文件描述符管理模型,节省了大量的代码重写工作;3,不需要对内核代码进行重新编译,保证运行平台的通用性;4,完整的兼容linux32位与linux64位。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是Linux系统定义的fd_set的结构图;

图2是本发明实施例定义的fd_set的结构图;

图3是本发明实施例的UDP链路的网络架构图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例;需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例:在Linux系统中通过select模型管理2000路一对一的UDP链路

本实施例中,select模型要管理大于1023的文件描述符,需要首先对相关的数据结构进行改造。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京信威通信技术股份有限公司;深圳信威通信技术有限公司,未经北京信威通信技术股份有限公司;深圳信威通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410674024.5/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top