CN113111015B - 一种无驱动虚拟设备管理方法 - Google Patents

一种无驱动虚拟设备管理方法 Download PDF

Info

Publication number
CN113111015B
CN113111015B CN202110337755.0A CN202110337755A CN113111015B CN 113111015 B CN113111015 B CN 113111015B CN 202110337755 A CN202110337755 A CN 202110337755A CN 113111015 B CN113111015 B CN 113111015B
Authority
CN
China
Prior art keywords
message
attribute
virtual
equipment
discrete
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110337755.0A
Other languages
English (en)
Other versions
CN113111015A (zh
Inventor
李孝成
韩辉
焦进星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Yihui Information Technology Co ltd
Original Assignee
Nanjing Yihui Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Yihui Information Technology Co ltd filed Critical Nanjing Yihui Information Technology Co ltd
Priority to CN202110337755.0A priority Critical patent/CN113111015B/zh
Publication of CN113111015A publication Critical patent/CN113111015A/zh
Application granted granted Critical
Publication of CN113111015B publication Critical patent/CN113111015B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Abstract

本发明公开了一种无驱动虚拟设备管理方法。计算机主体先发送一个广播报文,然后分立设备回一个属性与状态报文,计算机主体获取到报文后,构建一个虚拟设备,在建立虚拟设备时绑定接收到分立设备回应道的物理通道与逻辑链路,该设备提供读写接口与属性报文构建器,通过获取的设备信息就可以知晓建立的分立设备是属于哪一类设备,通过虚拟设备的读写接口写入分立设备属性或者控制。虚拟设备中的报文构建组件通过应用写入的属性进行报文构建并通过分立设备上报的通道进行属性报文的答复。分立端设备通过接收到的属性报文,控制自身进行功能响应。本发明实现应用软件本身与不同厂家外设解耦,同时不需要在系统层通过安装驱动来对分立设备进行控制。

Description

一种无驱动虚拟设备管理方法
技术领域
本发明涉及计算机技术领域,尤其涉及一种无驱动虚拟设备管理方法。
背景技术
随着物联网的发展,分立设备越来越多,在边缘计算机上需要实现对越来越多的分立外设进行管理。一般分立设备基本以通讯方式和边缘计算相连,比如以太网、WiFi、串口等。这些分立设备被边缘计算机中的应用程序使用需要经过链路层,网络层,最后才到达应用层,现在的解决方法基本是应用程序直接通过网络发送分立器件的报文从而达到对外设分立器件的控制 或者 通过在边缘计算机上实现驱动抽象,应用程序访问驱动提供的接口,然后驱动转换成报文从而实现对分立外设的控制。
目前计算机访问分立设备的方法有一下两种:
(1)计算机主体上安装驱动,然后构建设备,应用程序通过设备API来访问分立外设。
(2)计算机主机上的应用程序直接构建分立设备的报文,通过指定端口与协议实现与外部分立设备的通信控制。
但是,目前这两种方法都有各自的缺陷和不足
首先,在计算机主体上安装驱动存在如下几种不足:
(1)分立器件的种类一样,厂家不一样,可能导致的协议不一样,驱动需要手动管理,重复安装会导致驱动冲突,管理容易出错。
(2)驱动和厂家的耦合,会导致后续边缘侧设备维护的时候,更换新的分立外设,需要考虑新增驱动和更换驱动,边缘侧设备一般在室外,更换器件的人一般不具备跟换驱动的能力,所以驱动更新困难。
(3)同时如果安装驱动也会遇到器件与不同系统耦合的问题,也就是说A厂家的器件在linux系统上要实现一个驱动,在windows上也要实现一个驱动,在SylixOS上也要实现另一种驱动,工作量大,而且维护容易出错。
业界的另一种方案是应用程序直接构建应用报文,通过分立设备和计算机主机连接的网络发送到设备上,实现对设备的控制,该方法在计算机主机上不需要安装驱动,但是出现了分立外设与应用程序耦合的问题,该问题会导致应用程序无法实现一处编译到处运行的特性。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种无驱动虚拟设备管理方法,构建一种无驱动的虚拟机设备访问机制,实现应用软件本身与不同厂家外设解耦,同时不需要在系统层通过安全驱动来对分立设备进行控制。
为实现上述目的,本发明提供了一种无驱动虚拟设备管理方法,包括以下步骤:
步骤1、计算机主机以广播形式发送报文Discover消息;
步骤2、然后侦听等待分立设备返回的报文Updata消息,所述Updata消息至少包括设备名称、厂家信息、设备类型、设备型号、设备版本、设备是否是加密设备的信息;
步骤3、如果返回的报文不带加密标记,进入步骤5;
步骤4、如果返回报文携带加密标记,主机需要使用用户输入或者自动从云上获取的设备秘钥对分立设备进行对称秘钥鉴权;
步骤5、计算机主机使用设备管理系统直接构建虚拟设备
步骤6、计算机主机APP通过获取虚拟设备接口获取设备名称和种类,然后构建属性描述;
步骤7、写入属性描述到虚拟设备描述符,设备构建符合DDC框架的报文发送;
步骤8、分立设备接收到该DDC协议的报文,解析完毕后,按照属性进行工作,并按需返回属性应答报文。
优选的,所述虚拟设备的创建模板包括以下组件:
(1)设备接口模块:提供给应用程序使用的一组标准API,包括读、写、控制;
(2)数据组包模块:实现从接口层收到的属性描述到协议报文的组装;
(3)设备状态模块:实现设备相关信息记录;
(4)数据解包模块:实现收到数据包到属性描述内容的转换;
(5)数据加密模块:实现数据包的收发加解密;
(6)数据重传模块:实现可靠传输功能;
(7)链路管理模块:实现对分立设备通信涉及的物理链路、协议、端口信息的管理,实现应用层对具体通信链路的屏蔽。
优选的,所述计算机主机使用设备管理系统直接构建虚拟设备,具体为:
计算机主机的设备管理系统触发设备发现功能,然后发送Discover设备发现协议包,该协议包的发送的方式包括广播、组播或者在串行链路上单播;
分立设备接收到Discover包,然后整理当前单板的信息,以report包回复,report包中的设备属性,以属性描述的形式进行呈现;
设备管理系统获取到分立设备返回信息包括不限于名称、版本、型号的属性描述后,构建虚拟设备实例,在系统中形成虚拟设备实体。
优选的,所述虚拟设备的发送流程过程包括:
APP构建属性描述报文;
设备实例接收APP写入的属性描述;
加密属性描述内容;
组装成满足DDC格式的协议报文;
从设备的管理的通信链路发送至分立设备。
优选的,所述虚拟设备的接收流程过程包括:
计算机主机侦听相应接收端口,并受到DDC格式的数据包;
虚拟设备实例解析DDC报文到属性描述;
解密属性描述内容;
属性描述内容存放属性描述区;
通知或者等待APP调用设备的API获取属性描述。
优选的,所述虚拟设备与APP互动过程包括:
APP读取虚拟设备的信息,然后根据虚拟设备信息可以获知需要构建什么样的属性描述;
属性描述以json或者其他类自然描述语言格式进行描述;
然后把属性报文通过虚拟设备的写接口写入到虚拟设备中;
然后虚拟设备通过设备本身的属性到协议转换能力发送到分立设备上;
分立设备解析属性描述,并根据属性描述执行相关动作,并返回属性描述报文;
虚拟设备通过属性描述报文解析出属性描述应答,APP读取该属性应答描述。
本发明的有益效果是:
(1)分立外设能够主动发现,自动创建,提高系统动态管理设备的能力。
(2)能够隔离应用程序与分立设备的耦合,促进软件的更好发展。
(3)通过属性控制代替传统的报文控制,实现不同厂家同一类设备的统一方法控制。
(4)系统不再安装驱动,会促使系统设计和维护更简单,系统使用更安全。
(5)所有的分立设备都不需要在进行驱动开发,提高生产效率。
(6)厂家的差异由分立设备收到属性报文后自行进行各自的差异处理。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是本发明的方法流程图。
图2是本发明的分立设备与计算机主机之间的报文组成图。
图3是本发明的计算机主机虚拟设备包含组件图。
图4是本发明的计算机主机虚拟设备的创建工作过程图。
图5是本发明的虚拟设备的发送流程过程图。
图6是本发明的虚拟设备的接收流程过程图。
图7是本发明的计算机主机虚拟设备与APP互动过程图。
具体实施方式
如图1所示,本发明提供了一种无驱动虚拟设备管理方法,包括以下步骤:
步骤1、计算机主机以广播形式发送报文Discover消息;
步骤2、然后侦听等待分立设备返回的报文Updata消息,Updata消息至少包括设备名称、厂家信息、设备类型、设备型号、设备版本、设备是否是加密设备的信息;
步骤3、如果返回的报文不带加密标记,进入步骤5;
步骤4、如果返回报文携带加密标记,主机需要使用用户输入或者自动从云上获取的设备秘钥对分立设备进行对称秘钥鉴权;
步骤5、计算机主机使用设备管理系统直接构建虚拟设备
步骤6、计算机主机APP通过获取虚拟设备接口获取设备名称和种类,然后构建属性描述;
步骤7、写入属性描述到虚拟设备描述符,设备构建符合DDC框架的报文发送;
步骤8、分立设备接收到该DDC协议的报文,解析完毕后,按照属性进行工作,并按需返回属性应答报文。
图2说明了分立设备与计算机主机之间的报文组成(下文描述的DDC协议报文):
(1)Magic_ver 用来标识DDC协议的魔术字与版本;
(2)Flag_Type用来标识消息类型:包括请求,应答,加入,紧急等类型;
(3)Seq_no用来标识报文序列号,主要用来确定可靠传输涉及的重传使用的;
(4)uid用来标识DDC主体身份识别码,主要用来在应用层标识发送者身份;
(5)security主要是加密属性字段,该字段最高位标识是否使能加密,后面位标识加密类型;
(6)reserved 保留字段;
(7)length标识数据报长度;
(8)buff加密完成后的属性描述内容。
图3说明计算机主机虚拟设备包含组件,因为该发明里面不涉及驱动,所有设备都采用一个模型来创建不同实例,那么该虚拟设备的创建模板包括组件的说明如下:
(1)设备接口模块:主要提供给应用程序使用的一组标准API,包括读、写、控制;
(2)数据组包模块:实现从接口层收到的属性描述到协议报文的组装;
(3)设备状态模块:实现设备发现,离线,设备信息等记录;
(4)数据解包模块:实现收到数据包到属性描述内容的转换;
(5)数据加密模块:实现数据包的收发加解密;
(6)数据重传模块:实现可靠传输功能;
(7)链路管理模块:实现对分立设备通信涉及的物理链路、协议、端口信息的管理,实现应用层对具体通信链路的屏蔽。
图4说明计算机主机虚拟设备的创建工作过程。计算机主机使用设备管理系统直接构建虚拟设备,具体为:
计算机主机的设备管理系统触发设备发现功能,然后发送Discover设备发现协议包,该协议包的发送的方式包括广播、组播或者在串行链路上单播;
分立设备接收到Discover包,然后整理当前单板的信息,以report包回复,report包中的设备属性,以属性描述的形式进行呈现;
设备管理系统获取到分立设备反馈信息包括不限于名称、版本、型号的属性描述后,构建虚拟设备实例,在系统中形成虚拟设备实体。
图5说明虚拟设备的发送流程过程,虚拟设备的发送流程过程包括:
APP构建属性描述报文;
设备实例接收APP写入的属性描述;
加密属性描述内容;
组装成满足DDC格式的协议报文;
从设备的管理的通信链路发送至分立设备。
图6说明虚拟设备的接收流程过程,虚拟设备的接收流程过程包括:
计算机主机侦听相应接收端口,并受到DDC格式的数据包;
虚拟设备实例解析DDC报文到属性描述;
解密属性描述内容;
属性描述内容存放属性描述区;
通知或者等待APP调用设备的API获取属性描述。
图7说明计算机主机虚拟设备与APP互动过程,虚拟设备与APP互动过程包括:
APP读取虚拟设备的信息,然后根据虚拟设备信息可以获知需要构建什么样的属性描述;
属性描述以json或者其他类自然描述语言格式进行描述;
然后把属性报文通过虚拟设备的写接口写入到虚拟设备中;
然后虚拟设备通过设备本身的属性到协议转换能力发送到分立设备上;
分立设备解析属性描述,并根据属性描述执行相关动作,并返回属性描述报文;
虚拟设备通过属性描述报文解析出属性描述应答,APP读取该属性应答描述。
综上,本发明的工作过程为:计算机主体先发送一个广播报文,然后分立设备回一个属性与状态报文,计算机主体获取到报文后,构建一个虚拟设备,在建立虚拟设备时绑定接收到分立设备回应道的物理通道与逻辑链路,该设备提供读写接口与属性报文构建器,应用程序通过标准接口可以获取到设备类型,通过获取的设备信息就可以知晓建立的分立设备是属于哪一类设备,然后应用程序可以根据设备种类,通过虚拟设备的读写接口写入分立设备属性或者控制。虚拟设备中的报文构建组件通过应用写入的属性进行报文构建并通过分立设备上报的通道进行属性报文的答复。分立端设备通过接收到的属性报文,控制自身进行功能响应。本发明构建一种无驱动的虚拟机设备访问机制,实现应用软件本身与不同厂家外设解耦,同时不需要在系统层通过安全驱动来对分立设备进行控制。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

Claims (6)

1.一种无驱动虚拟设备管理方法,其特征在于,包括以下步骤:
步骤1、计算机主机以广播形式发送报文Discover消息;
步骤2、然后侦听等待分立设备返回的报文Updata消息,所述Updata消息至少包括设备名称、厂家信息、设备类型、设备型号、设备版本、设备是否是加密设备的信息;
步骤3、如果返回的报文不带加密标记,进入步骤5;
步骤4、如果返回报文携带加密标记,主机需要使用用户输入或者自动从云上获取的设备秘钥对分立设备进行对称秘钥鉴权;
步骤5、计算机主机使用设备管理系统直接构建虚拟设备
步骤6、计算机主机APP通过虚拟设备接口获取设备名称和种类,然后构建属性描述;
步骤7、写入属性描述到虚拟设备描述符,虚拟设备构建符合DDC框架的报文发送;
步骤8、分立设备接收到该DDC协议的报文,解析完毕后,按照属性进行工作,并按需返回属性应答报文。
2.如权利要求1所述的一种无驱动虚拟设备管理方法,其特征在于:所述虚拟设备的创建模板包括以下组件:
(1)设备接口模块:提供给应用程序使用的一组标准API,包括读、写、控制;
(2)数据组包模块:实现从接口层收到的属性描述到协议报文的组装;
(3)设备状态模块:实现设备状态信息记录;
(4)数据解包模块:实现收到数据包到属性描述内容的转换;
(5)数据加密模块:实现数据包的收发加解密;
(6)数据重传模块:实现可靠传输功能;
(7)链路管理模块:实现对分立设备通信涉及的物理链路、协议、端口信息的管理,实现应用层对具体通信链路的屏蔽。
3.如权利要求1所述的一种无驱动虚拟设备管理方法,其特征在于:所述计算机主机使用设备管理系统直接构建虚拟设备,具体为:
计算机主机的设备管理系统触发设备发现功能,然后发送Discover设备发现协议包,该协议包的发送的方式包括广播、组播或者在串行链路上单播;
分立设备接收到Discover包,然后整理当前单板的信息,以report包回复,report包中的设备属性,以属性描述的形式进行呈现;
设备管理系统获取到分立设备返回的信息,内容包括不限于名称、版本、型号的属性描述后,构建虚拟设备实例,在系统中形成虚拟设备实体。
4.如权利要求3所述的一种无驱动虚拟设备管理方法,其特征在于,所述虚拟设备的发送流程过程包括:
APP构建属性描述报文;
设备实例接收APP写入的属性描述;
加密属性描述内容;
组装成满足DDC格式的协议报文;
从设备的管理的通信链路发送至分立设备。
5.如权利要求3所述的一种无驱动虚拟设备管理方法,其特征在于,所述虚拟设备的接收流程过程包括:
计算机主机侦听相应接收端口,并收到DDC格式的数据包;
虚拟设备实例解析DDC报文到属性描述;
解密属性描述内容;
属性描述内容存放属性描述区;
通知或者等待APP调用设备的API获取属性描述。
6.如权利要求1所述的一种无驱动虚拟设备管理方法,其特征在于,所述虚拟设备与APP互动过程包括:
APP读取虚拟设备的信息,然后根据虚拟设备信息可以获知需要构建什么样的属性描述;
属性描述以json或者其他类自然描述语言格式进行描述;
然后把属性报文通过虚拟设备的写接口写入到虚拟设备中;
然后虚拟设备通过设备本身的属性到协议转换能力发送到分立设备上;
分立设备解析属性描述,并根据属性描述执行相关动作,并返回属性描述报文;
虚拟设备通过属性描述报文解析出属性描述应答,APP读取该属性应答描述。
CN202110337755.0A 2021-03-30 2021-03-30 一种无驱动虚拟设备管理方法 Active CN113111015B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110337755.0A CN113111015B (zh) 2021-03-30 2021-03-30 一种无驱动虚拟设备管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110337755.0A CN113111015B (zh) 2021-03-30 2021-03-30 一种无驱动虚拟设备管理方法

Publications (2)

Publication Number Publication Date
CN113111015A CN113111015A (zh) 2021-07-13
CN113111015B true CN113111015B (zh) 2024-03-19

Family

ID=76713098

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110337755.0A Active CN113111015B (zh) 2021-03-30 2021-03-30 一种无驱动虚拟设备管理方法

Country Status (1)

Country Link
CN (1) CN113111015B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6405265B1 (en) * 1996-05-08 2002-06-11 Mijenix Corporation Device driver for accessing computer files
CN101944062A (zh) * 2010-09-21 2011-01-12 中国人民解放军63961部队 一种通用虚拟仪器接口配置方法
CN104539632A (zh) * 2015-01-20 2015-04-22 中国人民解放军国防科学技术大学 一种基于虚拟地址空间的可编程网络设备管理控制方法
CN106130897A (zh) * 2016-06-08 2016-11-16 成都万纬信息技术有限公司 基于路由模拟的性能优化方法
CN108566319A (zh) * 2018-03-21 2018-09-21 中国科学院微电子研究所 一种接入网网络架构
CN111131435A (zh) * 2019-12-19 2020-05-08 浙江源创建筑智能科技有限公司 一种以太网链路层设备发现和配置的方法
CN111224855A (zh) * 2019-12-16 2020-06-02 武汉思为同飞网络技术股份有限公司 基于Linux的虚拟网卡实现方法、装置、设备及介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6405265B1 (en) * 1996-05-08 2002-06-11 Mijenix Corporation Device driver for accessing computer files
CN101944062A (zh) * 2010-09-21 2011-01-12 中国人民解放军63961部队 一种通用虚拟仪器接口配置方法
CN104539632A (zh) * 2015-01-20 2015-04-22 中国人民解放军国防科学技术大学 一种基于虚拟地址空间的可编程网络设备管理控制方法
CN106130897A (zh) * 2016-06-08 2016-11-16 成都万纬信息技术有限公司 基于路由模拟的性能优化方法
CN108566319A (zh) * 2018-03-21 2018-09-21 中国科学院微电子研究所 一种接入网网络架构
CN111224855A (zh) * 2019-12-16 2020-06-02 武汉思为同飞网络技术股份有限公司 基于Linux的虚拟网卡实现方法、装置、设备及介质
CN111131435A (zh) * 2019-12-19 2020-05-08 浙江源创建筑智能科技有限公司 一种以太网链路层设备发现和配置的方法

Also Published As

Publication number Publication date
CN113111015A (zh) 2021-07-13

Similar Documents

Publication Publication Date Title
WO2023284699A1 (zh) 基于Linux系统的协议栈数据传输方法、计算机设备和存储介质
US10515043B2 (en) Smart interface card control method and apparatus through a virtualized management interface
CN105183675A (zh) 对usb设备的访问方法、装置、终端、服务器及系统
WO2019019864A1 (zh) 嵌入式自助终端的通信系统、方法及装置
CN111683125B (zh) 基于mqtt协议的新型融合终端营配信息共享方法及系统
CN112612535A (zh) 基于xml和json的卫星接收系统网络通信编解码引擎方法
CN113596017B (zh) 一种协议解析方法、装置、软网关和存储介质
CN108449246A (zh) 一种基于即时通讯软件与物联网通信的智能家居系统
CN115357535A (zh) 一种虚拟串口设计方法及装置
CN106980531A (zh) 输入法操作处理方法和装置
CN105786732A (zh) 数据访问方法及装置
US8356298B2 (en) Method for data transmission
CN113111015B (zh) 一种无驱动虚拟设备管理方法
EP2189904A1 (en) Systems and methods for electronically routing data
JP2009134722A (ja) 電波識別応用インターフェース提供方法及びシステム
WO2015131553A1 (zh) 一种数据传输的方法和系统
CN112968919B (zh) 一种数据处理方法、装置、设备和存储介质
CN107172139B (zh) 一种无线协议栈及其实现方法
WO2023273799A1 (zh) 外接设备的通信方法、装置、电子设备和存储介质
CN111708568B (zh) 一种组件化开发解耦方法及终端
CN109600420A (zh) 一种基于树莓派技术实现在线远程控制的方法及系统
CN107070872B (zh) 一种用于客户端的数据处理方法和装置
KR102346793B1 (ko) IoT 기반의 디바이스와 서버 간 통신을 위한 프로토콜 컨버터 및 그 프로토콜 변환 방법
CN115022074A (zh) 用户认证授权方法、装置、介质及设备
CN108307286A (zh) 一种基于nfc实现安卓设备间通信的方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant