[发明专利]一种通用的热插拔检测方法有效
| 申请号: | 201810749691.3 | 申请日: | 2018-07-10 |
| 公开(公告)号: | CN109101281B | 公开(公告)日: | 2021-07-02 |
| 发明(设计)人: | 廖昀;冯万健;江虎 | 申请(专利权)人: | 厦门亿联网络技术股份有限公司 |
| 主分类号: | G06F9/4401 | 分类号: | G06F9/4401;G06F13/40;H04L12/24 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 361009 福建省厦门市*** | 国省代码: | 福建;35 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 通用 热插拔 检测 方法 | ||
本发明涉及一种通用的热插拔检测方法,其通过在主设备内核层实现一个热插拔消息缓存驱动,用来在用户层生成可供多用户读写的设备节点,而通过在主设备用户层实现一个热插拔服务程序来监听linux系统的热插拔消息;当热插拔服务程序监听到热插拔消息时,该消息会被写入热插拔消息缓存生成的设备节点中,用户可以通过多个应用读取设备节点,由此获取热插拔事件。因此,本发明有效解决了多用户使用问题和热插拔消息丢失的问题。
技术领域
本发明涉及一种Linux嵌入式系统技术领域,具体涉及一种通用的热插拔检测方法。
背景技术
在Linux系统中,应用获取外设的插拔消息一般通过Netlink机制来获取。但其具有如下缺点:
一、每个应用获取插拔消息都需要编码实现Netlink机制,这部分代码相对冗长,属于重复造轮子;
二、当应用意外崩溃重启或者多用户不是同时打开时,会丢失插拔消息;
三、无法获知远程系统的外设插拔消息。
发明内容
本发明提供一种通用的热插拔检测方法,其通过消息缓存的方法解决消息丢失问题。
为实现上述目的,本发明采用的技术方案是:
一种通用的热插拔检测方法,所述检测方法在主设备内核层实现一个热插拔消息缓存驱动,用来生成一个可供多用户读写的设备节点;在主设备应用层实现一个热插拔服务程序,用来监听Linux系统的热插拔消息;所述检测方法具体如下:
主设备的热插拔服务程序通过netlink套接字机制监听Linux系统的热插拔消息,当热插拔服务程序监听到主设备的热插拔消息时,根据识别协议将热插拔消息转化为特定的消息格式;
主设备的热插拔服务程序将特定消息格式的热插拔消息写入热插拔消息缓存驱动生成的设备节点中;
通过主设备的应用层上的应用读取热插拔消息缓存驱动生成的设备节点,获取缓存在设备节点中的热插拔消息,并根据识别协议对该热插拔消息进行解析,获取热插拔事件。
所述主设备连接有从设备,在从设备的应用层实现一个热插拔服务程序,用来监听从设备的热插拔消息,且将其监听到的热插拔消息发送至主设备的热插拔服务程序中;具体如下:
从设备的热插拔服务程序通过netlink套接字机制监听从设备的Linux系统的热插拔消息,当监听到热插拔消息时,根据识别协议将热插拔消息转化为特定的消息格式;
从设备将特定消息格式的热插拔消息通过网络发送给主设备的热插拔服务程序,主设备的热插拔服务程序将接收到的热插拔消息类型添加远程设备标识,再把该消息写入热插拔消息缓存驱动生成的设备节点中;
通过主设备应用层上的应用读取设备节点,获取缓存在设备节点中的热插拔消息,并根据识别协议对该热插拔消息进行解析,获取远程系统的热插拔事件。
所述特定的消息格式为{action,port,type,major,minor},其中,action表示插入、拔出动作;port表示第几个端口的设备;type表示设备的类型,major表示主设备号;minor表示次设备号。
所述热插拔消息缓存驱动为USB插拔消息缓存驱动,所述热插拔服务程序为USB插拔服务程序。
采用上述方案后,本发明通过在内核层实现一个热插拔消息缓存驱动,用来在用户层生成可供多用户读写的设备节点,而通过在用户层实现一个热插拔服务程序来监听Linux系统的热插拔消息;当热插拔服务程序监听到热插拔消息时,该消息会被写入热插拔消息缓存生成的设备节点中,用户可以通过多个应用读取设备节点,由此获取热插拔事件。当主设备的应用出现崩溃重启时,主设备的热插拔消息仍存储在热插拔消息缓存生成的设备节点。因此,本发明有效解决了多用户使用问题和热插拔消息丢失的问题。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门亿联网络技术股份有限公司,未经厦门亿联网络技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810749691.3/2.html,转载请声明来源钻瓜专利网。





