一种USB设备网络共享自动适配的方法及系统与流程

文档序号:31131278发布日期:2022-08-13 05:54阅读:174来源:国知局
一种USB设备网络共享自动适配的方法及系统与流程
一种usb设备网络共享自动适配的方法及系统
技术领域
1.本发明属于计算机网络技术领域,特别涉及一种usb设备网络共享自动适配的方法及系统。


背景技术:

2.usb/ip作为一个基于ip网络的通用usb设备网络共享系统,为了在计算机之间共享具有完整功能的usb设备,usb/ip将“usb i/o消息”封装到tcp/ip有效负载中,并在计算机之间传输。原始usb设备驱动程序和应用程序也可用于远程usb设备,而无需对其进行任何修改。计算机可以使用远程usb设备,就好像它们是直接连接的一样。
3.现有技术中,基于linux系统实现usb设备网络共享时,一般需要用户在手动启动后台程序,并将需要共享的usb设备端口一一绑定。这种方法虽然能够解决usb设备网络共享的问题,但是终端业务应用程序无法自动识别网络中哪些usb设备能够共享,需要用户手动选择共享设备。


技术实现要素:

4.基于此,本发明提供了一种usb设备网络共享自动适配的方法,还提供一种usb设备网络共享自动适配的系统,解决了现有技术中实现usb设备网络共享时,终端业务应用程序需要用户手动选择共享设备,无法自动识别的问题。
5.本发明提供一种usb设备网络共享自动适配的方法,该方法包括与usb设备连接的多个终端设备,多个所述终端设备通过以太网接口连接在同一网段内,每个所述终端设备上均设有usb设备管理程序和业务应用程序。
6.进一步地,本地主机上安装有上位机软件,所述业务应用程序与所述上位机软件通讯连接,所述业务应用程序将所述上位机软件传送的ip地址列表文件存储到所述终端设备中。
7.进一步地,所述usb设备管理程序,包括:
8.获取所述终端设备上的所述ip地址列表文件;
9.依次扫描所述ip地址列表文件中的可共享的所述usb设备,并生成共享设备列表;
10.根据用户业务需求在所述共享设备列表中选择可共享的所述usb设备进行附着并自动挂载;
11.根据所述用户业务需求和所述共享设备列表创建本地设备文件,所述本地设备文件能够供所述业务应用程序读写。
12.进一步地,以预设第一时间间隔周期获取所述终端设备上的所述ip地址列表文件。
13.进一步地,所述业务应用程序,包括:
14.根据所述用户业务需求查询所述本地设备文件;
15.判断所述本地设备文件中的所述共享设备列表是否发生变化:
16.若所述共享设备列表发生变化,则根据预定的业务逻辑增加或删除相应的所述usb设备的访问功能;
17.若所述共享设备列表未发生变化,则继续根据所述用户业务需求查询所述本地设备文件。
18.进一步地,以预设第二时间间隔周期查询所述本地设备文件。
19.本发明还提供了一种usb设备网络共享自动适配系统,该系统包括与usb设备连接的多个终端设备,多个所述终端设备通过以太网接口连接在同一网段内,每个所述终端设备上均设有usb设备管理模块和业务应用模块。
20.进一步地,本地主机上安装有上位机软件,所述业务应用模块与所述上位机软件通讯连接,所述业务应用模块将所述上位机软件传送的ip地址列表文件存储到所述终端设备中。
21.进一步地,所述usb设备管理模块,包括:
22.获取模块,用于以预设第一时间间隔周期获取所述终端设备上的所述ip地址列表文件;
23.扫描模块,用于依次扫描所述ip地址列表文件中的可共享的所述usb设备,并生成共享设备列表;
24.挂载模块,用于根据用户业务需求在所述共享设备列表中选择可共享的所述usb设备进行附着并自动挂载;
25.链接模块,用于根据所述用户业务需求和所述共享设备列表创建本地设备文件,所述本地设备文件能够供所述业务应用模块读写。
26.进一步地,所述业务应用模块,包括:
27.查询模块,用于根据所述用户业务需求以预设第二时间间隔周期查询所述本地设备文件;
28.功能模块,用于判断所述本地设备文件中的所述共享设备列表是否发生变化:
29.若所述共享设备列表发生变化,则根据预定的业务逻辑增加或删除相应的所述usb设备的访问功能;
30.若所述共享设备列表未发生变化,则继续通过所述查询模块根据所述用户业务需求查询所述本地设备文件。
31.本发明提供的技术方案通过以太网接口共享usb设备自动适配的方法,实现了任意终端之间的功能模块共享。具体地,usb设备管理程序通过获取所有usb设备的ip地址列表,实现了自动扫描局域网中存在的可共享的usb设备,并且能够根据用户业务需求自动附着及挂载可共享的usb设备,无需用户手动选择。而业务应用程序根据预设的业务逻辑对共享设备列表查询中的差异项做相应处理,实现了usb设备的自动适配。在本发明中,业务应用程序和usb设备管理程序低耦合,不需要额外的进程间通讯协议。本发明同时还提供了一种usb设备网络共享自动适配系统,具有上述有益效果,在此不再赘述。
附图说明
32.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领
域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
33.图1为本发明实施例中的终端设备的连接示意图;
34.图2为本发明实施例中的usb设备识别框图;
35.图3为本发明实施例中的usb设备管理程序的网络设备自动适配程序流程图;
36.图4为本发明实施例中的业务应用程序识别设备流程图。
具体实施方式
37.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
38.本发明中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。本发明实施例中所有方向性指示(诸如上、下、左、右、前、后
……
)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
39.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
40.请参阅图1,本发明提供了一种usb设备网络共享自动适配的方法,包括与usb设备连接的多个终端设备,多个所述终端设备通过以太网接口连接在同一网段内,每个所述终端设备上均设有usb设备管理程序和业务应用程序。在本实施例中,多个所述终端设备通过网络交换机或路由器连接,以确保多个所述终端设备能够处于同一网段内,实现相互通信。具体地,每个所述终端设备上均设有与usb设备连接的usb模组,所述usb模组的数量为多个,多个所述终端设备通过以太网接口连接的方式实现网络共享。所述usb设备管理程序和所述业务应用程序均能够对所有与所述usb模组连接的usb设备进行识别和管理,并且所述业务应用程序和所述usb设备管理程序低耦合,不需要额外的进程间通讯协议。
41.在本实施例中,本地主机上安装有上位机软件,所述业务应用程序与所述上位机软件通讯连接,所述业务应用程序将所述上位机软件传送的ip地址列表文件存储到所述终端设备中。具体地,所述业务应用程序收到所述上位机软件传送的所述ip地址列表文件后,所述业务应用程序会将所述ip地址列表文件拷贝到所述终端设备的/tmp目录下。
42.请参阅图3,图3为本发明实施例提供的usb设备管理程序的网络设备自动适配程
序流程图。所述usb设备管理程序包括以下步骤:
43.s101:以预设第一时间间隔周期获取所述终端设备上的所述ip地址列表。
44.可选地,用户可以根据实际需求预设所述第一时间间隔周期,其具体可以为由用户指定的一段时间间隔,如三十分钟、一小时等,本发明对此不做具体限定。所述usb设备管理程序在获取所述ip地址列表文件后,还会判断所述ip地址列表文件是否配置:若所述ip地址列表文件已经配置,则所述ip地址列表文件包括与所述本地主机同网段的具有usb设备共享功能的主机ip地址列表;若所述ip地址列表文件未配置,则所述ip地址列表文件包括由所述usb设备管理程序生成的与所述本地主机同网段的主机ip地址列表。在本实施例中,与所述本地主机同网段的主机ip地址列表能够通过本地主机的ip地址和子网掩码推算得到,例如本地主机的ip地址为192.168.1.123,其子网掩码为255.255.255.0,网关地址为192.168.1.1,则本网段的ip地址范围就是192.168.1.2-192.168.1.254,在该范围内去掉本地主机的ip地址,即为与本地主机同网段的主机ip地址列表。
45.s102:依次扫描所述ip地址列表文件中的可共享的所述usb设备,并生成共享设备列表。
46.可选地,所述usb设备管理程序在定期读取所述终端设备的/tmp目录下所述ip地址列表文件时,用户能够通过“usbip list

r《ip地址》”命令逐一扫描所述ip地址列表文件中的可共享的所述usb设备的id列表,并根据可共享的所述usb设备的id列表生成所述共享设备列表。
47.s103:根据用户业务需求在所述共享设备列表中选择可共享的所述usb设备进行附着并自动挂载。
48.可选地,在用户通过usbip list命令查看所述ip地址列表文件中的可共享的所述usb设备时,若检测到某主机上存在可共享的所述usb设备,则通过“usbip attach-r《ip地址》-b《设备id》”的命令将检测到的可共享的所述usb设备逐一附着在所述终端设备上。在本实施例中,usbip attach命令的作用相当于对网络上的可共享的所述usb设备实现模拟其物理插拔。在附着完成后,linux系统会触发uevent事件,自动识别出存在的可共享的所述usb设备,完成对可共享的所述usb设备的枚举后,调用对应的usb设备驱动对可共享的所述usb设备进行自动挂载。具体地,所述usb设备管理程序会在所述终端设备的/dev目录下生成对应的名称为ttyusbx的设备文件。
49.s104:根据所述用户业务需求和所述共享设备列表创建本地设备文件,所述本地设备文件能够供所述业务应用程序读写。
50.可选地,请参阅图2,图2为本发明实施例提供的一种usb设备识别框图。所述usb设备管理程序在对可共享的所述usb设备进行附着并自动挂载后,能够检测到可共享的所述usb设备的插入或拔出。具体地,当检测到所述usb设备插入时,根据所述/dev/目录下的设备名称和所述终端设备中sys/bus/usb/devices目录下usb设备信息找到新设备的“product”字段名称,并将“product”字段名称作为产品类型名称,以“/tmp/dev/产品类型名称_槽位_虚拟串口通道序号”的命名方式在所述终端设备的/tmp/dev/目录下创建与所述/dev/目录下设备名称相关联的软连接,例如,“ln

sf/dev/ttyusb0/tmp/dev/ttyrs485_0”。
51.可选地,usb设备管理程序还具备设备删除功能。
52.在本实施例中,usb/ip协议将可共享的所述usb设备附着在所述终端设备上后,会在所述终端设备的所述/dev目录下生成标准的ttyusb0、ttyusb1等等名称为ttyusbx的设备文件。如上所述,所述usb设备管理程序会在所述/tmp/dev目录下创建与所述/dev/目录下设备名称相关联的软连接,所述/tmp/dev目录下的设备名称会以模组的类型名称来命名,比如带有4路rs485通讯模组,会将其重新命名为ttyrs485_0、ttyrs485_1、ttyrs485_2、ttyrs485_3,这样所述业务应用程序再次扫描接入的端口时只需要匹配“ttyrs485”这几个关键字,就能快速实现对可共享的所述usb设备的访问。当模组被拔出或者网络通讯中断时,该设备将会被卸载,即所述usb设备管理程序将会删除所述/tmp/dev目录下相对应的软连接。
53.请参阅图4,图4为本发明实施例提供了一种业务应用程序识别设备流程图。所述业务应用程序包括以下步骤:
54.s201:根据所述用户业务需求以预设第二时间间隔周期查询所述本地设备文件。
55.可选地,这里提到的第二时间间隔,其具体可以为由用户指定的一段时间间隔,如三十分钟、一小时等,本发明对此不做具体限定。ls命令是linux系统列举文件或文件目录的命令,用户可以使用该命令进行查询,例如:ls/tmp/dev-l|grep"rs485"|awk-f:'{print$nf}'|awk-f”'{print$2,$4}'),这条命令的含义为:使用“产品类型名称”作为关键字查询所述/tmp/dev目录下是否存在以“产品类型名称”命名的文件,如果有的话会以列表的型式返回,没有的话就会返回空。在实施例中,假设插入了rs485通讯模组的话,则命令返回如下:
56.ttyrs485_0
57.ttyrs485_1
58.ttyrs485_2
59.ttyrs485_3
60.如上,本实施例举例说明的是采用4路rs485通讯模组时的命令实现过程,但本技术对此并不做限定。
61.s202:判断所述本地设备文件中的所述共享设备列表是否发生变化:
62.若所述共享设备列表发生变化,则根据预定的业务逻辑增加或删除相应的可共享的所述usb设备的访问功能;
63.若所述共享设备列表未发生变化,则继续根据所述用户业务需求查询所述本地设备文件。
64.可选地,所述业务应用程序能够定期通过ls命令获取所述/tmp/dev目录下的文件列表,在与上一次获取的列表做简单比对后就能够发现再次获取后的所述共享设备列表中的差异项,所述业务应用程序会根据预定的业务逻辑对所述共享列表中的差异项做相应地处理,即如果所述共享设备列表中的可共享的所述usb设备增加或减少,就相应地增加或删除其访问功能。所述业务应用程序通过手动配置或自动扫描的方式,实现对不同终端之间的usb设备的共享及自动快速适配。
65.本发明还提供了一种usb设备网络共享自动适配系统,该系统包括与usb设备连接的多个终端设备,多个所述终端设备通过以太网接口连接在同一网段内,每个所述终端设备上均设有usb设备管理模块和业务应用模块。
66.可选地,本地主机上安装有上位机软件,所述业务应用模块与所述上位机软件通讯连接,所述业务应用模块将所述上位机软件传送的ip地址列表文件存储到所述终端设备中。
67.可选地,所述usb设备管理模块,包括:
68.获取模块,用于以预设第一时间间隔周期获取所述终端设备上的所述ip地址列表文件;
69.扫描模块,用于依次扫描所述ip地址列表文件中的可共享的所述usb设备,并生成共享设备列表;
70.挂载模块,用于根据用户业务需求在所述共享设备列表中选择可共享的所述usb设备进行附着并自动挂载;
71.链接模块,用于根据所述用户业务需求和所述共享设备列表创建本地设备文件,所述本地设备文件能够供所述业务应用模块读写。
72.可选地,所述业务应用模块,包括:
73.查询模块,用于根据所述用户业务需求以预设第二时间间隔周期查询所述本地设备文件;
74.功能模块,用于判断所述本地设备文件中的所述共享设备列表是否发生变化:
75.若所述共享设备列表发生变化,则根据预定的业务逻辑增加或删除相应的所述usb设备的访问功能;
76.若所述共享设备列表未发生变化,则继续通过所述查询模块根据所述用户业务需求查询所述本地设备文件。
77.由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
78.本领域普通技术人员能够理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序指令来完成,不需要升级或更改硬件。所述的计算机程序可存储于非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。
79.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
80.以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1