[发明专利]一种Linux内核接管socket链接的方法和装置有效
申请号: | 201510377911.0 | 申请日: | 2015-06-30 |
公开(公告)号: | CN104932899B | 公开(公告)日: | 2019-03-15 |
发明(设计)人: | 李美欣;闫永刚 | 申请(专利权)人: | 浪潮(北京)电子信息产业有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/448 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 林桐苒;曲鹏 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 linux 内核 接管 socket 链接 方法 装置 | ||
本发明公开了一种Linux内核接管socket链接的方法和装置,包括在Linux用户空间创建socket链接,socket链接在Linux用户空间完成协商和认证等链路管理工作,设置Linux内核接管socket链接,Linux内核中使用socket链接传输Linux内核空间的数据。减少了Linux操作系统中socket链接资源的浪费,避免了多个socket链接相互关联的复杂性,更加符合Linux操作系统软件的设计原则。
技术领域
本发明涉及控制系统软件设计技术领域,具体涉及一种Linux内核接管socket链接的方法。
背景技术
在Linux操作系统上进行软件设计时,原则之一就是内核空间程序尽量精简,复杂的工作如果不是必须在Linux内核中处理的就尽量放到Linux用户空间去处理。
在数据通信时,采用socket链接建立的链路,为了确保通信双方参数设置的一致性,以及身份认证的安全性,等等相关链路管理工作是有必要的,并且此类处理更适合在Linux用户空间的程序中执行。如果通信双方被传输的数据都在Linux内核空间中,那么采用socket链接建立链路时,传统的做法一般有两种。一种方法是直接在Linux内核空间建立socket链接,并在Linux内核中完成协商、认证等一系列的链路管理工作,然后用此socket链接传输Linux内核空间中的数据。这种处理的缺点是使得Linux内核增加了不必要的复杂性,违背Linux内核空间程序尽量精简的原则。另一种方法是在Linux用户空间和Linux内核空间分别各建立一条socket链接,然后让这两条链接建立关联关系,协商、认证等链路管理工作由Linux用户空间的socket链接来完成,然后再有Linux内核空间的socket链接开始数据传输。这种处理方式缺点就是带来了socket资源的浪费。如果对该方法稍作改进,完成协商和认证等链路管理工作之后关闭Linux用户空间中socket链接,但仍然涉及多socket链路相互关联,增加了耦合性和复杂性,并且关闭socket链路的过程需要解除关联,增加了出现故障的概率。
发明内容
为了解决上述技术问题,本发明提供了一种Linux内核接管socket链接的方法和装置,在节约Linux系统资源的条件下,使得同一条socket链接既能在Linux用户空间完成协商和认证等链路管理性工作,又能承担Linux内核空间数据传输任务。
为了达到本发明目的,本发明提供了一种Linux内核接管socket链接的方法,其特征在于,包括:在用户空间,建立socket链接;在用户空间完成socket链路管理工作;设置Linux内核接管socket,将socket链接下发到内核空间;在内核中使用socket链接传输内核空间的数据。
进一步地,所述socket链路管理包括:链路协商、和/或身份认证。
进一步地,在需要内核数据传输前,进行链路协商、和/或身份认证的链路管理。
进一步地,如果链路协商、和/或身份认证不成功,则关闭socket链接。
进一步地,所述Linux内核接管包括:将Linux用户空间的socket链接的标识符传递到Linux内核;Linux内核根据socket链接的标识符,获得并标记此socket链接在Linux内核中使用;关闭Linux用户空间的socket。
进一步地,所述在内核中使用socket链接传输内核空间的数据是利用Linux内核中socket链接的数据发送和接收函数接口进行的。
为了达到本发明目的,本发明提供了一种用于Linux内核接管socket链接的装置,其特征在于,包括:socket链接建立单元402,用于在用户空间建立socket链接;socket链路管理单元404,用于在用户空间完成链路管理工作;socket链接接管单元406,用于设置socket链接的内核接管;数据传输单元408,用于进行Linux内核空间的数据传输。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮(北京)电子信息产业有限公司,未经浪潮(北京)电子信息产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510377911.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:刷机方法和系统
- 下一篇:一种基于平行签名唯一性的多维度的冗余编码方法