CN105306410A - 串并口映射的方法、云终端及虚拟机 - Google Patents
串并口映射的方法、云终端及虚拟机 Download PDFInfo
- Publication number
- CN105306410A CN105306410A CN201410256567.5A CN201410256567A CN105306410A CN 105306410 A CN105306410 A CN 105306410A CN 201410256567 A CN201410256567 A CN 201410256567A CN 105306410 A CN105306410 A CN 105306410A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- cloud terminal
- serial paralled
- paralled interface
- interface equipment
- 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.)
- Withdrawn
Links
- 238000013507 mapping Methods 0.000 title claims abstract description 43
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000004891 communication Methods 0.000 claims abstract description 36
- 238000005538 encapsulation Methods 0.000 claims description 9
- 230000003993 interaction Effects 0.000 claims description 8
- 230000000977 initiatory effect Effects 0.000 claims description 6
- 238000012790 confirmation Methods 0.000 claims description 5
- 230000002452 interceptive effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 6
- 230000001419 dependent effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 235000013599 spices Nutrition 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种串并口映射的方法,应用于云终端中,包括:当串并口设备插入云终端时,获取所述串并口设备的设备信息,并确认所述串并口设备是否需要映射到虚拟机中;若是,则发送一映射请求至虚拟机,绑定所述串并口设备并与所述虚拟机建立连接;获取所绑定的串并口设备的地址信息,将所述地址信息发送给所述虚拟机;当所述虚拟机利用所述地址信息与所述云终端建立网络通信后,接收所述虚拟机发送的获取所述设备信息的指令,根据所述指令将所述设备信息通过所述网络通信的方式发送给所述虚拟机。本发明还公开了另一种应用于虚拟机中的串并口映射的方法、云终端及虚拟机,本发明能够以网络通信的方式将云终端的串并口设备映射到虚拟机上。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种串并口映射的方法、云终端及虚拟机。
背景技术
在云终端连接虚拟机时,很多场景下虚拟机的用户都需要使用云终端的本地串并口设备。但现有技术中大多数的虚拟桌面协议对于云终端的串并口设备映射的支持比较匮乏,如远程桌面协议(RemoteDesktopProtocol,RDP)、虚拟机软件Pcoip协议及独立计算环境简单协议(SimpleProtocolforIndependentComputingEnvironment,SPICE)等虚拟桌面协议一般缺少对云终端的串并口设备映射的支持;还有一些虚拟桌面协议,如Citrix等虚拟桌面协议,虽然支持云终端的串并口设备映射,但是Citrix的支持程度较低,其应用往往受到限制,不能满足当下的需求。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于解决通过网络通信的方式将云终端的串并口设备映射到虚拟机上的技术问题。
为实现上述目的,本发明提供的一种串并口映射的方法,应用于云终端中,所述串并口映射的方法包括以下步骤:
当串并口设备插入云终端时,获取所述串并口设备的设备信息,并确认所述串并口设备是否需要映射到虚拟机中;
若是,则发送一映射请求至虚拟机,绑定所述串并口设备并与所述虚拟机建立连接;
获取所绑定的串并口设备的地址信息,将所述地址信息发送给所述虚拟机;
当所述虚拟机利用所述地址信息与所述云终端建立网络通信后,接收所述虚拟机发送的获取所述设备信息的指令,根据所述指令将所述设备信息通过所述网络通信的方式发送给所述虚拟机,以使所述串并口设备映射到所述虚拟机中。
优选地,所述当串并口设备插入云终端时,获取所述串并口设备的设备信息,并确认所述串并口设备是否需要映射到虚拟机中的步骤包括:
获取预先设置的配置信息;
判断所述配置信息是否与所述设备信息相对应;
若是,则确认所述串并口设备需要映射到所述虚拟机中。
优选地,所述绑定所述串并口设备并与所述虚拟机建立连接的步骤包括:
将所述云终端的串并口设备驱动替换为映射驱动,以绑定所述串并口设备;
利用虚拟桌面协议与所述虚拟机建立连接。
优选地,所述串并口映射的方法还包括:
接收所述虚拟机通过所述网络通信的方式发送的网络包,所述网络包中包括使用所述串并口设备的请求信息;
利用所述映射驱动对所述网络包进行解析,得到urb数据包;
将所述urb数据包发送给底层驱动,利用所述底层驱动根据所述urb数据包与所述串并口设备进行数据交互。
此外,为实现上述目的,本发明还提供一种串并口映射的方法,应用于虚拟机中,所述串并口映射的方法包括以下步骤:
当接收到云终端的映射请求时,与所述云终端建立连接,接收所述云终端发送的串并口设备的地址信息;
通过所述地址信息与所述云终端建立网络通信,并通过所述网络通信的方式向所述云终端发送获取所述串并口设备的设备信息的指令;
接收所述云终端根据所述指令发送的设备信息并显示,将虚拟机的串并口设备主控驱动替换为映射驱动,以使所述串并口设备映射到所述虚拟机中。
优选地,,所述串并口映射的方法还包括:
所述虚拟机的驱动通过所述网络通信的方式将网络包发送给所述云终端,所述网络包包括使用所述串并口设备的请求;
其中,所述虚拟机的驱动包括上层驱动及所述映射驱动,所述虚拟机的驱动通过所述网络通信的方式将网络包发送给所述云终端的步骤包括:
所述虚拟机的上层驱动发起使用所述串并口设备的请求,根据所述请求生成urb数据包,将所述urb数据包发送给所述映射驱动;
利用所述映射驱动将所述urb数据包封装为网络包;
通过所述网络通信的方式将所述网络包发送给所述云终端。
优选地,通过所述地址信息与所述云终端建立网络通信,并通过所述网络通信的方式向所述云终端发送获取所述并口设备的设备信息的指令的步骤包括:
通过IP地址及端口信息与所述云终端建立套接字通信,并通过所述套接字通信的方式向所述云终端发送获取所述并口设备的设备信息的指令。
此外,为实现上述目的,本发明还提供一种云终端,所述云终端包括:
确认模块,用于当串并口设备插入云终端时,获取所述串并口设备的设备信息,并确认所述串并口设备是否需要映射到虚拟机中;
绑定模块,用于若是,则发送一映射请求至虚拟机,绑定所述串并口设备并与所述虚拟机建立连接;
获取模块,用于获取所绑定的串并口设备的地址信息,将所述地址信息发送给所述虚拟机;
发送模块,用于当所述虚拟机利用所述地址信息与所述云终端建立网络通信后,接收所述虚拟机发送的获取所述设备信息的指令,根据所述指令将所述设备信息通过所述网络通信的方式发送给所述虚拟机,以使所述串并口设备映射到所述虚拟机中。
优选地,所述确认模块包括:
获取单元,用于获取预先设置的配置信息;
判断单元,用于判断所述配置信息是否与所述设备信息相对应;
确认单元,用于若是,则确认所述串并口设备需要映射到所述虚拟机中。
优选地,所述绑定模块包括:
替换单元,用于将所述云终端的串并口设备驱动替换为映射驱动,以绑定所述串并口设备;
连接单元,用于利用虚拟桌面协议与所述虚拟机建立连接。
优选地,所述云终端还包括:
接收模块,用于接收所述虚拟机通过所述网络通信的方式发送的网络包,所述网络包中包括使用所述串并口设备的请求信息;
解析模块,用于利用所述映射驱动对所述网络包进行解析,得到urb数据包;
交互模块,用于将所述urb数据包发送给底层驱动,利用所述底层驱动根据所述urb数据包与所述串并口设备进行数据交互。
此外,为实现上述目的,本发明还提供一种虚拟机,所述虚拟机包括:
接收模块,用于当接收到云终端的映射请求时,与所述云终端建立连接,接收所述云终端发送的串并口设备的地址信息;
建立模块,用于通过所述地址信息与所述云终端建立网络通信,并通过所述网络通信的方式向所述云终端发送获取所述串并口设备的设备信息的指令;
替换模块,用于接收所述云终端根据所述指令发送的设备信息并显示,将虚拟机的串并口设备主控驱动替换为映射驱动,以使所述串并口设备映射到所述虚拟机中。
优选地,所述虚拟机还包括:
发送模块,用于通过所述网络通信的方式将网络包发送给所述云终端,所述网络包包括使用所述串并口设备的请求;
其中,所述虚拟机的驱动包括上层驱动及所述映射驱动,所述发送模块包括:
请求单元,用于将所述虚拟机的上层驱动发起使用所述串并口设备的请求,根据所述请求生成urb数据包,将所述urb数据包发送给所述映射驱动;
封装单元,用于利用所述映射驱动将所述urb数据包封装为网络包;
发送单元,用于通过所述网络通信的方式将所述网络包发送给所述云终端。
优选地,所述建立模块具体用于通过IP地址及端口信息与所述云终端建立套接字通信,并通过所述套接字通信的方式向所述云终端发送获取所述并口设备的设备信息的指令。
本发明一种串并口映射的方法、云终端及虚拟机,通过预置于云终端中的配置信息来确认串并口设备是否要映射到虚拟机中,如果需要映射,则与虚拟机建立连接,通过该连接将串并口设备的地址信息发送给虚拟机,以便虚拟机与云终端建立网络通信,因此,本发明例基于网络通信的串并口映射方案,只要虚拟机和云终端的网络通信运行正常且安装了相应的应用程序即可实现串并口映射,不针对特定的虚拟机协议,其应用更加广泛。
附图说明
图1为本发明串并口映射的方法第一实施例的流程示意图;
图2为图1中步骤S101的细化流程示意图;
图3为图1中步骤S102的细化流程示意图;
图4为本发明串并口映射的方法第二实施例的流程示意图;
图5为本发明串并口映射的方法第三实施例的流程示意图;
图6为本发明串并口映射的方法第四实施例的流程示意图;
图7为图6中步骤S204的细化流程示意图;
图8为本发明云终端第一实施例的功能模块示意图;
图9为图8所示确认模块的功能模块示意图;
图10为图8所示绑定模块的功能模块示意图;
图11为本发明云终端第二实施例的功能模块示意图;
图12为本发明虚拟机第一实施例的功能模块示意图;
图13为本发明虚拟机第二实施例的功能模块示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种串并口映射的方法,应用于云终端中,参照图1,在一实施例中,该串并口映射的方法包括:
步骤S101,当串并口设备插入云终端时,获取所述串并口设备的设备信息,并确认所述串并口设备是否需要映射到虚拟机中;
本实施例中,在云终端上安装串并口检测程序,当串并口设备插入云终端时,串并口检测程序检测到有串并口设备插入,云终端获取串并口设备的设备信息,包括生产商ID(VendorID,VID)、产品ID(ProductID,PID)及产品类型等。
其中,本实施例在云终端中预置配置信息,该配置信息由用户预先进行设定,将配置信息与所获取的设备信息进行对比,并确定所述串并口设备是否需要映射到虚拟机中。
步骤S102,若是,则发送一映射请求至虚拟机,绑定所述串并口设备并与所述虚拟机建立连接;
其中,当确认串并口设备需要映射到虚拟机中时,向虚拟机发送映射请求,同时通过预先安装在云终端中的绑定应用程序将该串并口设备进行绑定,绑定具体包括:将云终端的自动加载的串并口设备驱动替换为映射所需的映射驱动,另外,可以利用现有的虚拟桌面协议与虚拟机建立连接,建立连接后形成一虚拟机通信渠道。
值得说明的是,本实施例不限定于利用现有的虚拟桌面协议与虚拟机建立连接,还可以使用其他的方式与虚拟机建立连接,本实施例云终端与虚拟机建立连接仅是方便云终端将绑定的串并口设备的地址信息发送给虚拟机。
本实施例中,映射所需的映射驱动可以为stub驱动。
步骤S103,获取所绑定的串并口设备的地址信息,将所述地址信息发送给所述虚拟机;
其中,地址信息包括IP地址及端口信息。
本实施例中,在获取了绑定的串并口设备的地址信息后,将地址信息通过现有的虚拟桌面协议与虚拟机建立的连接来发送给虚拟机,具体为通过虚拟机通信渠道来发送地址信息给虚拟机的串并口映射管理程序。
本实施例中通过虚拟机通信渠道发送地址信息给虚拟机,以便后续云终端与虚拟机建立网络通信,在后续流程中,云终端与虚拟机通信不再依赖于虚拟桌面协议,而是通过网络通信的方式进行通信,最终实现云终端的串并口设备到虚拟机的映射。
步骤S104,当所述虚拟机利用所述地址信息与所述云终端建立网络通信后,接收所述虚拟机发送的获取所述设备信息的指令,根据所述指令将所述设备信息通过所述网络通信的方式发送给所述虚拟机,以使所述串并口设备映射到所述虚拟机中。
虚拟机利用云终端发送的地址信息与云终端建立网络通信,具体为通过云终端发送的IP地址及端口信息与云终端建立通信,云终端中预先安装一等待映射输出程序,虚拟机可与该等待映射输出程序建立套接字socket通信。
当云终端与虚拟机建立socket通信后,云终端接收虚拟机发送的获取设备信息的指令,根据指令将设备信息通过socket通信发送给虚拟机,而不再使用虚拟机通信渠道。
因此,本实施例基于网络通信的串并口映射方案,只要虚拟机和云终端的网络通信运行正常,且在云终端与虚拟机安装上述的应用程序,即可实现串并口映射,不针对特定的虚拟机协议,其应用更加广泛。
与现有技术相比,本实施例通过预置于云终端中的配置信息来确认串并口设备是否要映射到虚拟机中,如果需要映射,则与虚拟机建立连接,通过该连接将串并口设备的地址信息发送给虚拟机,以便虚拟机与云终端建立网络通信,因此,本实施例基于网络通信的串并口映射方案,只要虚拟机和云终端的网络通信运行正常且安装了相应的应用程序即可实现串并口映射,不针对特定的虚拟机协议,其应用更加广泛。
在一优选的实施例中,如图2所示,在上述图1的实施例的基础上,步骤S101包括:
步骤S1011,获取预先设置的配置信息;
步骤S1012,判断所述配置信息是否与所述设备信息相对应,若是,则进入步骤S1013,否则,进入步骤S1014;
步骤S1013,确认所述串并口设备需要映射到所述虚拟机中。
步骤S1014,流程结束。
本实施例中,将配置信息与设备信息进行对比,若配置信息中包括所插入的串并口设备的设备信息,则确认该串并口设备需要映射到虚拟机中,否则,确认该串并口设备不需要映射到虚拟机中,结束流程。
本实施例中,由用户预先进行设定配置信息于云终端中,并可以通过修改配置信息来控制所插入的串并口设备是否能够映射到虚拟机中。
在一优选的实施例中,如图3所示,在上述图1的实施例的基础上,步骤S102包括:
步骤S1021,将所述云终端的串并口设备驱动替换为映射驱动,以绑定所述串并口设备;
步骤S1022,利用虚拟桌面协议与所述虚拟机建立连接。
本实施例中,将云终端的串并口设备驱动替换为映射驱动,以绑定串并口设备,其中,映射所需的映射驱动可以为stub驱动。
其中,可以利用现有的虚拟桌面协议与虚拟机建立连接,其不针对特定的虚拟桌面协议,建立连接后形成一虚拟机通信渠道。
值得说明的是,本实施例不限定于利用现有的虚拟桌面协议与虚拟机建立连接,还可以使用其他的方式与虚拟机建立连接,本实施例云终端与虚拟机建立连接仅是方便云终端将绑定的串并口设备的地址信息发送给虚拟机。
在一优选的实施例中,如图4所示,在上述图1的实施例的基础上,本串并口映射的方法还包括:
步骤S105,接收所述虚拟机通过所述网络通信的方式发送的网络包,所述网络包中包括使用所述串并口设备的请求信息;
步骤S106,利用所述映射驱动对所述网络包进行解析,得到urb数据包;
步骤S107,将所述urb数据包发送给底层驱动,利用所述底层驱动根据所述urb数据包与所述串并口设备进行数据交互。
本实施例中,云终端将设备信息通过网络通信的方式发送给虚拟机后,虚拟机进行一定的处理,就可以在虚拟机上显示对应的串并口设备已经连接上,虚拟机可以使用该串并口设备。
其中,虚拟机通过网络通信的方式发送网络包给云终端,网络包中包括使用串并口设备的请求信息。云终端接收到网络包后,利用stub驱动对网络包进行解析,得到urb数据包,将urb数据包发送给底层的串并口主控驱动,底层的串并口主控驱动根据所述urb数据包与串并口设备进行数据交互。
本发明还提供另一种串并口映射的方法,应用于虚拟机中,如图5所示,在一实施例中,该串并口映射的方法包括:
步骤S201,当接收到云终端的映射请求时,与所述云终端建立连接,接收所述云终端发送的串并口设备的地址信息;
本实施例中,当确定插入云终端中的串并口设备需要映射到虚拟机中时,虚拟机接收云终端的映射请求。本实施例可以利用现有的虚拟桌面协议与虚拟机建立连接,建立连接后形成一虚拟机通信渠道。
值得说明的是,本实施例不限定于利用现有的虚拟桌面协议与云终端建立连接,还可以使用其他的方式与云终端建立连接。
其中,地址信息包括IP地址及端口信息。
步骤S202,通过所述地址信息与所述云终端建立网络通信,并通过所述网络通信的方式向所述云终端发送获取所述串并口设备的设备信息的指令;
虚拟机利用云终端发送的地址信息与云终端建立网络通信,具体为通过云终端发送的IP地址及端口信息与云终端建立套接字通信,并通过所述套接字通信的方式向所述云终端发送获取所述并口设备的设备信息的指令。
当虚拟机与云终端建立socket通信后,虚拟机通过网络通信的方式向云终端发送获取并口设备的设备信息的指令,包括获取上述的VID、PID及产品类型。
步骤S203,接收所述云终端根据所述指令发送的设备信息并显示,将虚拟机的串并口设备主控驱动替换为映射驱动,以使所述串并口设备映射到所述虚拟机中。
其中,映射驱动为vhci驱动。
虚拟机接收云终端根据指令发送的设备信息并显示,至此,虚拟机上以图标的形式显示串并口设备的设备信息。
另外,本实施例还将将虚拟机的串并口设备主控驱动替换为映射驱动,以便后续虚拟机通过网络通信的形式请求使用所述串并口设备。
本实施例基于网络通信的串并口映射方案,只要虚拟机和云终端的网络通信运行正常,且在云终端与虚拟机安装上述的应用程序,即可实现串并口映射,不针对特定的虚拟机协议,其应用更加广泛。
在一优选的实施例中,如图6所示,在上述图5的实施例的基础上,本串并口映射的方法还包括:
步骤S204,所述虚拟机的驱动通过所述网络通信的方式将网络包发送给所述云终端,所述网络包包括使用所述串并口设备的请求;
其中,虚拟机的驱动包括上层驱动及所述映射驱动,如图7所示,步骤S204所述虚拟机的驱动通过所述网络通信的方式将网络包发送给所述云终端的步骤包括:
步骤S2041,所述虚拟机的上层驱动发起使用所述串并口设备的请求,根据所述请求生成urb数据包,将所述urb数据包发送给所述映射驱动,其中,映射驱动为vhci驱动;
步骤S2042,利用所述映射驱动将所述urb数据包封装为网络包;
步骤S2043,通过所述网络通信的方式将所述网络包发送给所述云终端。
本发明还提供一种云终端,如图8所示,在一实施例中,云终端包括:
确认模块301,用于当串并口设备插入云终端时,获取所述串并口设备的设备信息,并确认所述串并口设备是否需要映射到虚拟机中;
本实施例中,在云终端上安装串并口检测程序,当串并口设备插入云终端时,串并口检测程序检测到有串并口设备插入,云终端获取串并口设备的设备信息,包括生产商ID(VendorID,VID)、产品ID(ProductID,PID)及产品类型等。
其中,本实施例在云终端中预置配置信息,该配置信息由用户预先进行设定,将配置信息与所获取的设备信息进行对比,并确定所述串并口设备是否需要映射到虚拟机中。
绑定模块302,用于若是,则发送一映射请求至虚拟机,绑定所述串并口设备并与所述虚拟机建立连接;
其中,当确认串并口设备需要映射到虚拟机中时,向虚拟机发送映射请求,同时通过预先安装在云终端中的绑定应用程序将该串并口设备进行绑定,绑定具体包括:将云终端的自动加载的串并口设备驱动替换为映射所需的映射驱动,另外,可以利用现有的虚拟桌面协议与虚拟机建立连接,建立连接后形成一虚拟机通信渠道。
值得说明的是,本实施例不限定于利用现有的虚拟桌面协议与虚拟机建立连接,还可以使用其他的方式与虚拟机建立连接,本实施例云终端与虚拟机建立连接仅是方便云终端将绑定的串并口设备的地址信息发送给虚拟机。
本实施例中,映射所需的映射驱动可以为stub驱动。
获取模块303,用于获取所绑定的串并口设备的地址信息,将所述地址信息发送给所述虚拟机;
其中,地址信息包括IP地址及端口信息。
本实施例中,在获取了绑定的串并口设备的地址信息后,将地址信息通过现有的虚拟桌面协议与虚拟机建立的连接来发送给虚拟机,具体为通过虚拟机通信渠道来发送地址信息给虚拟机的串并口映射管理程序。
本实施例中通过虚拟机通信渠道发送地址信息给虚拟机,以便后续云终端与虚拟机建立网络通信,在后续流程中,云终端与虚拟机通信不再依赖于虚拟桌面协议,而是通过网络通信的方式进行通信,最终实现云终端的串并口设备到虚拟机的映射。
发送模块304,用于当所述虚拟机利用所述地址信息与所述云终端建立网络通信后,接收所述虚拟机发送的获取所述设备信息的指令,根据所述指令将所述设备信息通过所述网络通信的方式发送给所述虚拟机,以使所述串并口设备映射到所述虚拟机中。
虚拟机利用云终端发送的地址信息与云终端建立网络通信,具体为通过云终端发送的IP地址及端口信息与云终端建立通信,云终端中预先安装一等待映射输出程序,虚拟机可与该等待映射输出程序建立套接字socket通信。
当云终端与虚拟机建立socket通信后,云终端接收虚拟机发送的获取设备信息的指令,根据指令将设备信息,包括上述的VID、PID及产品类型通过socket通信发送给虚拟机,而不再使用虚拟机通信渠道。
因此,本实施例基于网络通信的串并口映射方案,只要虚拟机和云终端的网络通信运行正常,且在云终端与虚拟机安装上述的应用程序,即可实现串并口映射,不针对特定的虚拟机协议,其应用更加广泛。
在一优选的实施例中,如图9所示,在上述图8的实施例的基础上,确认模块301包括:
获取单元3011,用于获取预先设置的配置信息;
判断单元3012,用于判断所述配置信息是否与所述设备信息相对应;
确认单元3013,用于若是,则确认所述串并口设备需要映射到所述虚拟机中。
本实施例中,将配置信息与设备信息进行对比,若配置信息中包括所插入的串并口设备的设备信息,则确认该串并口设备需要映射到虚拟机中,否则,确认该串并口设备不需要映射到虚拟机中,结束流程。
本实施例中,由用户预先进行设定配置信息于云终端中,并可以通过修改配置信息来控制所插入的串并口设备是否能够映射到虚拟机中。
在一优选的实施例中,如图10所示,在上述图8的实施例的基础上,所述绑定模块302包括:
替换单元3021,用于将所述云终端的串并口设备驱动替换为映射驱动,以绑定所述串并口设备;
连接单元3022,用于利用虚拟桌面协议与所述虚拟机建立连接。
本实施例中,将云终端的串并口设备驱动替换为映射驱动,以绑定串并口设备,其中,映射所需的映射驱动可以为stub驱动。
其中,可以利用现有的虚拟桌面协议与虚拟机建立连接,其不针对特定的虚拟桌面协议,建立连接后形成一虚拟机通信渠道。
值得说明的是,本实施例不限定于利用现有的虚拟桌面协议与虚拟机建立连接,还可以使用其他的方式与虚拟机建立连接,本实施例云终端与虚拟机建立连接仅是方便云终端将绑定的串并口设备的地址信息发送给虚拟机。
在一优选的实施例中,如图11所示,在上述图8的实施例的基础上,云终端还包括:
接收模块305,用于接收所述虚拟机通过所述网络通信的方式发送的网络包,所述网络包中包括使用所述串并口设备的请求信息;
解析模块306,用于利用所述映射驱动对所述网络包进行解析,得到urb数据包;
交互模块307,用于将所述urb数据包发送给底层驱动,利用所述底层驱动根据所述urb数据包与所述串并口设备进行数据交互。
本实施例中,云终端将设备信息通过网络通信的方式发送给虚拟机后,虚拟机进行一定的处理,就可以在虚拟机上显示对应的串并口设备已经连接上,虚拟机可以使用该串并口设备。
其中,虚拟机通过网络通信的方式发送网络包给云终端,网络包中包括使用串并口设备的请求信息。云终端接收到网络包后,利用stub驱动对网络包进行解析,得到urb数据包,将urb数据包发送给底层的串并口主控驱动,底层的串并口主控驱动根据所述urb数据包与串并口设备进行数据交互。
本发明还提供一种虚拟机,如图12所示,在一实施例中,该虚拟机包括:
接收模块401,用于当接收到云终端的映射请求时,与所述云终端建立连接,接收所述云终端发送的串并口设备的地址信息;
本实施例中,当确定插入云终端中的串并口设备需要映射到虚拟机中时,虚拟机接收云终端的映射请求。本实施例可以利用现有的虚拟桌面协议与虚拟机建立连接,建立连接后形成一虚拟机通信渠道。
值得说明的是,本实施例不限定于利用现有的虚拟桌面协议与云终端建立连接,还可以使用其他的方式与云终端建立连接。
其中,地址信息包括IP地址及端口信息。
建立模块402,用于通过所述地址信息与所述云终端建立网络通信,并通过所述网络通信的方式向所述云终端发送获取所述串并口设备的设备信息的指令;
虚拟机利用云终端发送的地址信息与云终端建立网络通信,具体为通过云终端发送的IP地址及端口信息与云终端建立套接字通信,并通过所述套接字通信的方式向所述云终端发送获取所述并口设备的设备信息的指令。
当虚拟机与云终端建立socket通信后,虚拟机通过网络通信的方式向云终端发送获取并口设备的设备信息的指令,包括获取上述的VID、PID及产品类型。
替换模块403,用于接收所述云终端根据所述指令发送的设备信息并显示,将虚拟机的串并口设备主控驱动替换为映射驱动,以使所述串并口设备映射到所述虚拟机中。
其中,映射驱动为vhci驱动。
虚拟机接收云终端根据指令发送的设备信息并显示,至此,虚拟机上以图标的形式显示串并口设备的设备信息。
另外,本实施例还将将虚拟机的串并口设备主控驱动替换为映射驱动,以便后续虚拟机通过网络通信的形式请求使用所述串并口设备。
本实施例基于网络通信的串并口映射方案,只要虚拟机和云终端的网络通信运行正常,且在云终端与虚拟机安装上述的应用程序,即可实现串并口映射,不针对特定的虚拟机协议,其应用更加广泛。
在一优选的实施例中,如图13所示,在上述图12的实施例的基础上,虚拟机还包括:
发送模块404,用于通过所述网络通信的方式将网络包发送给所述云终端,所述网络包包括使用所述串并口设备的请求;
其中,所述虚拟机的驱动包括上层驱动及所述映射驱动,所述发送模块404包括:
请求单元,用于将所述虚拟机的上层驱动发起使用所述串并口设备的请求,根据所述请求生成urb数据包,将所述urb数据包发送给所述映射驱动;
封装单元,用于利用所述映射驱动将所述urb数据包封装为网络包;
发送单元,用于通过所述网络通信的方式将所述网络包发送给所述云终端。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (14)
1.一种串并口映射的方法,应用于云终端中,其特征在于,所述串并口映射的方法包括以下步骤:
当串并口设备插入云终端时,获取所述串并口设备的设备信息,并确认所述串并口设备是否需要映射到虚拟机中;
若是,则发送一映射请求至虚拟机,绑定所述串并口设备并与所述虚拟机建立连接;
获取所绑定的串并口设备的地址信息,将所述地址信息发送给所述虚拟机;
当所述虚拟机利用所述地址信息与所述云终端建立网络通信后,接收所述虚拟机发送的获取所述设备信息的指令,根据所述指令将所述设备信息通过所述网络通信的方式发送给所述虚拟机,以使所述串并口设备映射到所述虚拟机中。
2.如权利要求1所述的串并口映射的方法,其特征在于,所述当串并口设备插入云终端时,获取所述串并口设备的设备信息,并确认所述串并口设备是否需要映射到虚拟机中的步骤包括:
获取预先设置的配置信息;
判断所述配置信息是否与所述设备信息相对应;
若是,则确认所述串并口设备需要映射到所述虚拟机中。
3.如权利要求1或2所述的串并口映射的方法,其特征在于,所述绑定所述串并口设备并与所述虚拟机建立连接的步骤包括:
将所述云终端的串并口设备驱动替换为映射驱动,以绑定所述串并口设备;
利用虚拟桌面协议与所述虚拟机建立连接。
4.如权利要求3所述的串并口映射的方法,其特征在于,所述串并口映射的方法还包括:
接收所述虚拟机通过所述网络通信的方式发送的网络包,所述网络包中包括使用所述串并口设备的请求信息;
利用所述映射驱动对所述网络包进行解析,得到urb数据包;
将所述urb数据包发送给底层驱动,利用所述底层驱动根据所述urb数据包与所述串并口设备进行数据交互。
5.一种串并口映射的方法,应用于虚拟机中,其特征在于,所述串并口映射的方法包括以下步骤:
当接收到云终端的映射请求时,与所述云终端建立连接,接收所述云终端发送的串并口设备的地址信息;
通过所述地址信息与所述云终端建立网络通信,并通过所述网络通信的方式向所述云终端发送获取所述串并口设备的设备信息的指令;
接收所述云终端根据所述指令发送的设备信息并显示,将虚拟机的串并口设备主控驱动替换为映射驱动,以使所述串并口设备映射到所述虚拟机中。
6.如权利要求5所述的串并口映射的方法,其特征在于,所述串并口映射的方法还包括:
所述虚拟机的驱动通过所述网络通信的方式将网络包发送给所述云终端,所述网络包包括使用所述串并口设备的请求;
其中,所述虚拟机的驱动包括上层驱动及所述映射驱动,所述虚拟机的驱动通过所述网络通信的方式将网络包发送给所述云终端的步骤包括:
所述虚拟机的上层驱动发起使用所述串并口设备的请求,根据所述请求生成urb数据包,将所述urb数据包发送给所述映射驱动;
利用所述映射驱动将所述urb数据包封装为网络包;
通过所述网络通信的方式将所述网络包发送给所述云终端。
7.如权利要求5或6所述的串并口映射的方法,其特征在于,通过所述地址信息与所述云终端建立网络通信,并通过所述网络通信的方式向所述云终端发送获取所述并口设备的设备信息的指令的步骤包括:
通过IP地址及端口信息与所述云终端建立套接字通信,并通过所述套接字通信的方式向所述云终端发送获取所述并口设备的设备信息的指令。
8.一种云终端,其特征在于,所述云终端包括:
确认模块,用于当串并口设备插入云终端时,获取所述串并口设备的设备信息,并确认所述串并口设备是否需要映射到虚拟机中;
绑定模块,用于若是,则发送一映射请求至虚拟机,绑定所述串并口设备并与所述虚拟机建立连接;
获取模块,用于获取所绑定的串并口设备的地址信息,将所述地址信息发送给所述虚拟机;
发送模块,用于当所述虚拟机利用所述地址信息与所述云终端建立网络通信后,接收所述虚拟机发送的获取所述设备信息的指令,根据所述指令将所述设备信息通过所述网络通信的方式发送给所述虚拟机,以使所述串并口设备映射到所述虚拟机中。
9.如权利要求8所述的云终端,其特征在于,所述确认模块包括:
获取单元,用于获取预先设置的配置信息;
判断单元,用于判断所述配置信息是否与所述设备信息相对应;
确认单元,用于若是,则确认所述串并口设备需要映射到所述虚拟机中。
10.如权利要求8或9所述的云终端,其特征在于,所述绑定模块包括:
替换单元,用于将所述云终端的串并口设备驱动替换为映射驱动,以绑定所述串并口设备;
连接单元,用于利用虚拟桌面协议与所述虚拟机建立连接。
11.如权利要求10所述的云终端,其特征在于,所述云终端还包括:
接收模块,用于接收所述虚拟机通过所述网络通信的方式发送的网络包,所述网络包中包括使用所述串并口设备的请求信息;
解析模块,用于利用所述映射驱动对所述网络包进行解析,得到urb数据包;
交互模块,用于将所述urb数据包发送给底层驱动,利用所述底层驱动根据所述urb数据包与所述串并口设备进行数据交互。
12.一种虚拟机,其特征在于,所述虚拟机包括:
接收模块,用于当接收到云终端的映射请求时,与所述云终端建立连接,接收所述云终端发送的串并口设备的地址信息;
建立模块,用于通过所述地址信息与所述云终端建立网络通信,并通过所述网络通信的方式向所述云终端发送获取所述串并口设备的设备信息的指令;
替换模块,用于接收所述云终端根据所述指令发送的设备信息并显示,将虚拟机的串并口设备主控驱动替换为映射驱动,以使所述串并口设备映射到所述虚拟机中。
13.如权利要求12所述的虚拟机,其特征在于,所述虚拟机还包括:
发送模块,用于通过所述网络通信的方式将网络包发送给所述云终端,所述网络包包括使用所述串并口设备的请求;
其中,所述虚拟机的驱动包括上层驱动及所述映射驱动,所述发送模块包括:
请求单元,用于将所述虚拟机的上层驱动发起使用所述串并口设备的请求,根据所述请求生成urb数据包,将所述urb数据包发送给所述映射驱动;
封装单元,用于利用所述映射驱动将所述urb数据包封装为网络包;
发送单元,用于通过所述网络通信的方式将所述网络包发送给所述云终端。
14.如权利要求12或13所述的虚拟机,其特征在于,所述建立模块具体用于通过IP地址及端口信息与所述云终端建立套接字通信,并通过所述套接字通信的方式向所述云终端发送获取所述并口设备的设备信息的指令。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410256567.5A CN105306410A (zh) | 2014-06-10 | 2014-06-10 | 串并口映射的方法、云终端及虚拟机 |
PCT/CN2014/086371 WO2015188483A1 (zh) | 2014-06-10 | 2014-09-12 | 串并口映射的方法、云终端及虚拟机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410256567.5A CN105306410A (zh) | 2014-06-10 | 2014-06-10 | 串并口映射的方法、云终端及虚拟机 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105306410A true CN105306410A (zh) | 2016-02-03 |
Family
ID=54832793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410256567.5A Withdrawn CN105306410A (zh) | 2014-06-10 | 2014-06-10 | 串并口映射的方法、云终端及虚拟机 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105306410A (zh) |
WO (1) | WO2015188483A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107277163A (zh) * | 2017-07-21 | 2017-10-20 | 北京奇安信科技有限公司 | 一种设备远程映射方法及装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117591246B (zh) * | 2024-01-18 | 2024-05-03 | 杭州优云科技股份有限公司 | 一种kvm虚拟机web终端的实现方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090222814A1 (en) * | 2008-02-28 | 2009-09-03 | Sony Ericsson Mobile Communications Ab | Selective exposure to usb device functionality for a virtual machine |
CN101668022A (zh) * | 2009-09-14 | 2010-03-10 | 陈博东 | 一种建立在虚拟机上的虚拟网络隔离系统及实现方法 |
CN102789432A (zh) * | 2011-05-19 | 2012-11-21 | 中国电信股份有限公司 | Usb设备驱动方法和系统 |
CN103108046A (zh) * | 2013-02-05 | 2013-05-15 | 浪潮(北京)电子信息产业有限公司 | 云终端的虚拟机登录方法、装置和系统 |
-
2014
- 2014-06-10 CN CN201410256567.5A patent/CN105306410A/zh not_active Withdrawn
- 2014-09-12 WO PCT/CN2014/086371 patent/WO2015188483A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090222814A1 (en) * | 2008-02-28 | 2009-09-03 | Sony Ericsson Mobile Communications Ab | Selective exposure to usb device functionality for a virtual machine |
CN101668022A (zh) * | 2009-09-14 | 2010-03-10 | 陈博东 | 一种建立在虚拟机上的虚拟网络隔离系统及实现方法 |
CN102789432A (zh) * | 2011-05-19 | 2012-11-21 | 中国电信股份有限公司 | Usb设备驱动方法和系统 |
CN103108046A (zh) * | 2013-02-05 | 2013-05-15 | 浪潮(北京)电子信息产业有限公司 | 云终端的虚拟机登录方法、装置和系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107277163A (zh) * | 2017-07-21 | 2017-10-20 | 北京奇安信科技有限公司 | 一种设备远程映射方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2015188483A1 (zh) | 2015-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110808923B (zh) | 分布式网络的数据传输方法、装置、设备和存储介质 | |
CN102368214B (zh) | 界面自动生成方法及系统 | |
CN104199723A (zh) | 基于虚拟设备的摄像头映射方法 | |
CN105245418A (zh) | 一种智能家居设备的控制方法、设备及系统 | |
CN104283749A (zh) | 基于rs-485半双工总线的通信系统及业务盘通信升级方法 | |
CN109981360A (zh) | 物联网设备站点开通方法、装置、系统及存储介质 | |
CN104077163B (zh) | 一种安装包的安装方法、装置和终端 | |
CN103237071A (zh) | 一种无线EoC终端集中管理的方法 | |
CN107592360B (zh) | 一种基于混合云的物联网数据聚合方法及系统 | |
CN105306410A (zh) | 串并口映射的方法、云终端及虚拟机 | |
CN100518126C (zh) | 配置gre隧道的方法及路由器 | |
CN105827496B (zh) | 管理pe设备的方法及装置 | |
CN104883277A (zh) | 一种基于bmc的信息交互方法和系统 | |
CN111786989B (zh) | 通信处理方法、装置及电子设备 | |
CN107968725B (zh) | 家庭网关单元型终端设备配置信息返回及配置方法、设备 | |
CN106878419A (zh) | 一种基于虚拟通道的桌面云高效打印方法及系统 | |
CN104348728A (zh) | 生成转发信息的方法及设备 | |
CN102724333A (zh) | IPv6快速部署隧道的建立方法、装置及系统 | |
CN104539576A (zh) | 基于IPv6网络的通信方法与系统 | |
CN111404739A (zh) | 一种串口网络化属性配置的系统 | |
CN107277107B (zh) | 应用调试方法、装置及系统 | |
CN104570967A (zh) | 基于Android系统的远程控制方法及系统 | |
CN102821055A (zh) | 板间通信的方法 | |
CN106331051A (zh) | 文件传输方法和系统以及接收文件装置、发送文件装置 | |
CN103873284A (zh) | 设备管理系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20160203 |
|
WW01 | Invention patent application withdrawn after publication |