一种基于分布式软总线实现远程设备本地化虚拟与访问的方法与流程

文档序号:36088757发布日期:2023-11-18 06:55阅读:46来源:国知局
一种基于分布式软总线实现远程设备本地化虚拟与访问的方法与流程

本发明涉及一种方法,具体涉及一种基于分布式软总线实现远程设备本地化虚拟与访问的方法,属于计算机。


背景技术:

1、传统计算机设备由处理器、存储器、控制器、输入设备和输出设备组成,五大部件通过总线共同协作完成信息处理。总线是可以将多个功能单元连接在一起并提供数据交换的通路,外部设备也可以相应的接口电路与系统总线相连接,成为整个系统新的功能单元。随着计算、存储、通信等技术的不断发展,计算机设备的形态越来越多样,每种计算机设备根据其使用场景配备了不同外部设备,比如网关计算机cpu资源更强大,工业控制领域计算机则外挂了多种多样的摄像、传感设备。如何让不同计算机的设备之间高效互联,发挥不同计算设备的优势一直被思考和探索领域。分布式软总线借鉴传统总线思路,可以在不同的计算机设备之间完成自主发现、连接以及组网,并且支持多设备多协议间数据传输。


技术实现思路

1、本发明正是针对现有技术中存在的问题,提供一种基于分布式软总线实现远程设备本地化虚拟与访问的方法,该技术方案本发明通过分布式软总线技术和linux设备驱动框架将远程独立设备模拟成本地主机的虚拟硬件文件,使得用户可以通过该虚拟硬件文件对远程独立设备进行设置、控制以及数据读写等操作。该方法可以有效降低物联网应用开发成本,开发者不再关注远程设备、通信协议、网络状况等因素,而是通过本地虚拟设备文件来控制和访问远程物理设备。

2、为了实现上述目的,本发明的技术方案如下,

3、一种基于分布式软总线实现远程设备本地化虚拟与访问的方法,所述方法采用分布式总体技术架构实现远程设备的本地化虚拟与访问控制,所述分布式总体技术架构包括业务应用、代理模块、文件接口模块、驱动模块以及分布式软总线模块,其中

4、所述业务应用,用于使能设备功能且满足使用需求的业务功能组件集合;

5、所述代理模块,分为主控制端代理与被控制端代理两个部分。用于配置并启动分布式软总线,并基于软总线完成设备间发现、连接、组网、以及为后续业务应用控制和访问远程物理设备提供传输与通信信道,其具备设备管理、注册服务、发现服务等能力;

6、所述文件接口,为业务应用与代理模块等引用层提供统一的用户态调用接口;

7、所述驱动模块,分为主控制端驱动与被控制端驱动两个部分。主控制端驱动不仅用于生成虚拟设备文件及其访问接口api,还与上层接口共同为业务应用和代理模块提供服务;被控制端驱动主要用于被控设备主机使能该硬件设备,驱动是被添加于操作系统中的特殊程序,其中包含有关硬件设备的信息。

8、所述分布式软总线模块,用于为前述代理模块提供主控设备与被控设备之间的发现、组网以及多协议通信提供基础能力服务,同时提供数据的加密与解密接口。

9、基于上述内容,本发明所述方法具体包括以下步骤(参见图2):

10、步骤1:主控制端与被控制端分别基于分布式软总线能力建立安全通信信道;

11、步骤2:被控制端基于分布式软总线发布硬件服务能力集,并完成分布式软总线数据通信接口与物理设备文件访问接口映射;

12、步骤3:主控制端基于分布式软总线发现远程硬件设备及对外提供的能力集;

13、步骤4:主控制端参考远程硬件设备能力集创建本地虚拟设备文件与其驱动程序,并完成虚拟设备文件访问接口与分布式软总线数据通信接口映射;

14、步骤5:主控制端业务应用基于标准输入/输出api接口访问和控制远程设备。

15、其中步骤1具体如下:

16、1-1)被控制端配置并启动分布式软总线,并通过指定网口监听多播信息;

17、1-2)主控制端配置并启动分布式软总线,并以一定频率广播设备发现报文(discovery package);

18、1-3)被控制端构建包含设备信息,并单播响应主控制端的设备发现报文(ackpackage);1-4)主控制端收到返回的响应报文后进行解析,并将设备添加到设备连接表中;

19、1-5)通过过交换主控制端与被控制端设备的身份标识来建立点对点信任关系;具体认证方式可以自定义。

20、其中步骤2:

21、2-1)被控制端将硬件设备能力集抽象为符合分布式软总线服务发布接口的标准结构体publishinfo及成员;

22、

23、

24、2-2)将硬件本地驱动程序访问接口集映射为分布式软总线创建会话、打开会话、调整、发送、接收、关闭等标准api;

25、2-3)被控制端通过分布式软总线标准接口(publishservice)发布指定的服务,服务通过publicid和pkgname进行标识;

26、2-4)被控制端代理模块完成分布式软总线数据通信接口api与物理设备文件标准输入输出接口api的一一映射,具体映射关系参见下表;

27、

28、其中步骤3:

29、3-1)主控制端通过分布式软总线标准接口(startdiscovery)来发现和订阅被控制端已发布的服务;

30、3-2)解析远程设备提供的服务,并将该服务信息(infonode)添加到全局已发现服务列表(g_discoveryinfolist)中,以便后续业务应用调用。

31、其中步骤4:

32、4-1)主控制端创建本地虚拟设备文件;根据远程硬件设备的类型,区分为两种常用的设备文件,称为字符设备文件和块设备文件。它们之间的区别在于硬件可读取和写入的数据量。

33、4-2)主控制端加载内核态虚拟设备驱动程序,向用户态业务应用提供虚拟设备文件输入输出接口集(file_operations),具体映射关系参见下表;

34、

35、4-3)主控制端代理模块完成虚拟设备文件标准输入输出接口api与分布式软总线数据通信接口api的一一映射,具体映射关系参见下表;

36、

37、其中步骤5:

38、5-1)主控制端业务应用访问和控制远程设备时,控制与写数据流依次通过虚拟设备文件访问接口、虚拟设备文件及驱动、分布式软总线通信信道、物理文件访问接

39、口、物理设备;

40、5-2)主控制端业务应用访问和控制远程设备时,读数据流依次通过物理设备、物理文件访问接口、分布式软总线通信信道、虚拟设备文件及驱动、虚拟设备文件访问接口。

41、相对于现有技术,本发明具有如下优点,该技术方案分布式软总线主要解决设备间发现和连接、认证组网以及多设备多协议间如何信息传输与控制的问题。本发明通过分布式软总线的技术特点讲远程物理设备虚拟化为本地的普通文件,继而使得用户可以通过该虚拟硬件文件对远程独立设备进行设置、控制以及数据读写等操作。

42、本方法优势如下:

43、1)开发者不再关注远程设备、通信协议、网络状况等因素,该方法可以有效降低物联网应用开发成本。物联网生态系统的特点是设备数量多、通信协议繁杂、且交互形态多样,在传统开发模式中开发者需要适配不同网络协议和标准规范。通过将远程物理设备虚拟化为本地设备文件,开发者不再关心网络协议的差异性,从而更专注于业务逻辑开发。

44、2)业务应用视角不区分远程物理设备或本地虚拟设备的差异性,同时复用linux操作系统中文件作为设备驱动程序接口的机制,从而允许业务应用程序通过标准输入/输出系统调用使用其设备驱动程序与设备进行交互。因此,本方法可以实现业务代码在多设备间离线复用或平滑迁移,而不必做任何逻辑修改。

45、3)借助于分布式软总线的设备自发现和认证组网机制,可实现无感式的远程物理设备的本地虚拟化访问。具体由本地发现端(主控制端)使用广播coap报文,远程设备(被控制端)回复响应报文后即可进行验证组网。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1