CN113515347B - 一种基于虚拟机的双系统数据传输方法及装置 - Google Patents
一种基于虚拟机的双系统数据传输方法及装置 Download PDFInfo
- Publication number
- CN113515347B CN113515347B CN202110740072.XA CN202110740072A CN113515347B CN 113515347 B CN113515347 B CN 113515347B CN 202110740072 A CN202110740072 A CN 202110740072A CN 113515347 B CN113515347 B CN 113515347B
- Authority
- CN
- China
- Prior art keywords
- usb
- transmission mode
- operating system
- otg
- virtual machine
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 81
- 238000000034 method Methods 0.000 title claims abstract description 22
- 230000009977 dual effect Effects 0.000 claims abstract description 19
- 238000004891 communication Methods 0.000 claims description 6
- 230000003993 interaction Effects 0.000 claims description 6
- 230000001960 triggered effect Effects 0.000 claims description 6
- 238000005192 partition Methods 0.000 claims description 5
- 230000007246 mechanism Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明提供基于虚拟机的双系统数据传输方法及装置,方法包括:步骤1、接收传输模式切换指令,将传输模式切换到USB共享传输模式;步骤2、将双系统的USB OTG角色分别设置为Host和Gadget;步骤3、将USB OTG角色为Gadget的系统的设备类型切换为标准的USB存储设备;步骤4、USB OTG角色为Host的系统按照标准的USB存储设备读取方法从另一方系统中读取目标文件。本发明使得基于虚拟机的双系统的数据传输更加通用和快速。
Description
技术领域
本发明涉及虚拟机技术领域,尤其涉及一种基于虚拟机的双系统数据传输方法及装置。
背景技术
由于目前基于虚拟机管理器(例如Hypervisor)双系统中的宿主机系统(Host OS)和客户机系统(Guest OS)之间的数据传输均需要依赖特定的共享内存机制,需要两个操作系统修改、定制代码,通用性不高,并且传输速度不高,在需要传输较大的文件(例如升级文件)时往往需要较长时间。
因此,现有技术有待进一步改进。
发明内容
本发明提供一种基于虚拟机的双系统数据传输方法及装置,旨在解决现有技术中的缺陷,使得基于虚拟机的双系统的数据传输更加通用和快速。
为达到上述目的,本发明所采取的技术方案为:
本发明一方面提供一种基于虚拟机的双系统数据传输方法,包括:
步骤1、接收传输模式切换指令,将传输模式切换到USB共享传输模式;
步骤2、将双系统的USB OTG角色分别设置为Host和Gadget;
步骤3、将USB OTG角色为Gadget的系统的设备类型切换为标准的USB存储设备;
步骤4、USB OTG角色为Host的系统按照标准的USB存储设备读取方法从另一方系统中读取目标文件。
具体地,所述步骤2包括:
步骤201、第一操作系统释放其中一个USB通道的控制权,并通知第二操作系统申请对已被释放的USB通道的控制权,所述第一操作系统为USB通道控制权所有者操作系统;
步骤202、按照预设规则设置第一操作系统和第二操作系统中USB OTG的角色;
步骤203、控制第一USB OTG接口和第二USB OTG接口进行PIN对PIN短接。
具体地,所述预设规则为:将第一操作系统中的USB OTG角色设置为Gadget,将第二操作系统中的USB OTG角色设置为Host。
具体地,所述传输模式切换指令通过客户机系统或者宿主机系统人机交互界面触发。
具体地,所述传输模式切换指令通过检测预设条件是否满足来触发。
具体地,所述传输模式切换指令通过共享内存通讯机制发送给另一方操作系统。
本发明另一方面提供一种基于虚拟机的双系统数据传输装置,包括:
设置在硬件层的两个USB OTG接口;
与所述两个USB OTG接口相对应的两个USB控制器,所述USB控制器用于在外部USB设备接入时进行相应的处理;
系统程序存储器,至少划分为与操作系统数量相对应的分区,用于存储系统文件;
共享内存,用于双系统之间的通讯;
设置在软件层的双系统,其中一个系统在非USB共享传输模式下对两个USB控制器拥有控制权;
还包括:设置在硬件层的短接控制模块,用于当启动共享传输模式时,将两个USBOTG接口进行PIN对PIN短接;
设置在软件层的传输模式控制模块,用于启动、取消USB共享传输模式;
软件通道控制模块,用于在启动USB共享传输模式时,对USB通道进行卸载、挂载,并设置USB OTG角色。
具体地,所述软件通道控制模块在非USB共享传输模式下,将两个USB通道挂载在双系统其中一个上,在启动USB共享传输模式时,将两个USB通道中的一个挂载到另一方操作系统上。
具体地,所述传输模式控制模块通过接收人机交互指令生成传输模式切换指令。
具体地,所述传输模式控制模块通过检测满足预设条件来生成传输模式切换指令。
本发明的有益效果在于:本发明在传输模式切换到USB共享传输模式后,将双系统的USB OTG角色分别设置为Host和Gadget,将USB OTG角色为Gadget的系统的设备类型切换为标准的USB存储设备,USB OTG角色为Host的系统按照标准的USB存储设备读取方法从另一方系统中读取目标文件,使得基于虚拟机的双系统的数据传输更加通用和快速。
附图说明
图1是本发明的基于虚拟机的双系统数据传输方法的流程示意图;
图2是本发明的基于虚拟机的双系统数据传输装置的结构示意图。
具体实施方式
下面结合附图具体阐明本发明的实施方式,附图仅供参考和说明使用,不构成对本发明专利保护范围的限制。
本发明中的双系统在硬件层设置有至少2个USB OTG接口:第一USB OTG接口(OTG接口1)和第二USB OTG接口(OTG接口2),用于连接外部USB设备以实现相应的功能。
实施例1
如图1所示,本实施例提供一种基于虚拟机的双系统数据传输方法,包括:
步骤1、接收传输模式切换指令,将传输模式切换到USB共享传输模式。
在本实施例中,所述传输模式切换指令可以通过客户机系统或者宿主机系统人机交互界面触发。例如,点击预设的传输模式切换图标。
在本发明的另一个实施例中,所述传输模式切换指令也可以通过检测预设条件是否满足来触发。例如,当检测到系统或APP升级时自动切换到USB共享传输模式。
在本实施例中,所述传输模式切换指令通过共享内存通讯机制发送给另一方操作系统。
步骤2、将双系统的USB OTG角色分别设置为Host和Gadget。
步骤3、将USB OTG角色为Gadget的系统的设备类型切换为标准的USB存储设备。
通过上述步骤后,第一USB OTG通道被linux系统连接,第二USB OTG通道被QNX系统连接,linux系统被作为一个虚拟的外部USB存储设备挂载到了QNX系统上。
步骤4、USB OTG角色为Host的系统按照标准的USB存储设备读取方法从另一方系统中读取目标文件。
例如,用户要将linux系统中的升级文件发送到QNX系统中,则QNX系统将linux系统认为是一个标准的USB存储设备,按照标准的USB存储设备读取方法从linux系统中读取该升级文件即可。
实施例2
与实施例1不同的是,本实施例提供所述步骤2的一种具体实施方法,包括:
步骤201、第一操作系统释放其中一个USB通道(例如第二USB OTG通道)的控制权,并通知第二操作系统申请对已被释放的USB通道的控制权,所述第一操作系统为USB通道控制权所有者操作系统。
第一USB OTG接口和第二USB OTG接口分别对应2个USB通道:第一USB OTG通道、第二USB OTG通道。
第一USB OTG通道和第二USB OTG通道分别对应2个USB控制器:第一USB控制器、第二USB控制器。
在非切换到USB共享传输模式之前,第一操作系统拥有2个USB通道的控制权,也即对两个USB控制器拥有控制权。当然,也可以根据需要,将2个USB通道的控制权设置在第二操作系统。
USB通道的释放和申请在目前的操作系统中是容易实现的,例如linux系统释放USB通道的控制权只需要执行模块删除命令rmmod,即可完成USB通道的卸载;QNX系统申请USB通道的控制权只需要启动USB OTG相关进程(例如io-usb-otg)进程即可。
步骤202、按照预设规则设置第一操作系统和第二操作系统中USB OTG的角色。
在本提案中,所述预设规则为:将第一操作系统中的USB OTG角色设置为Gadget,将第二操作系统中的USB OTG角色设置为Host。
例如,Linux系统可以通过sysfs节点直接设置自身的USB OTG角色为Gadget,QNX系统可以通过io-usb-otg命令启动并设置自身的USB OTG角色为Host。
步骤203、控制第一USB OTG接口和第二USB OTG接口进行PIN对PIN短接。
所述PIN对PIN短接是指第一USB OTG接口中的信号线与第二USB OTG接口中的对应信号线一对一连接。
例如第一USB OTG接口的D+连接第二USB OTG接口的D+,第一USB OTG接口的D-连接连接第二USB OTG接口的D-,以此类推。
实施例3
如图2所示,本实施例提供一种基于虚拟机的双系统数据传输装置,包括:
设置在硬件层的两个USB OTG接口;
与所述两个USB OTG接口相对应的两个USB控制器,所述USB控制器用于在外部USB设备接入时进行相应的处理;
系统程序存储器,至少划分为与操作系统数量相对应的分区,用于存储系统文件;
共享内存,用于双系统之间的通讯;
设置在软件层的双系统,其中一个系统在非USB共享传输模式下对两个USB控制器拥有控制权;
还包括:设置在硬件层的短接控制模块,用于当启动共享传输模式时,将两个USBOTG接口进行PIN对PIN短接;
设置在软件层的传输模式控制模块,用于启动、取消USB共享传输模式;
软件通道控制模块,用于在启动USB共享传输模式时,对USB通道进行卸载、挂载,并设置USB OTG角色。
在本实施例中,USB OTG接口包括第一USB OTG接口(OTG接口1)和第二USB OTG接口(OTG接口2),用于连接外部USB设备以实现相应的功能。
例如,第一USB OTG接口(OTG接口1)用于连接U盘,第二USB OTG接口(OTG接口2)用于连接手机以实现Carplay功能。
在本实施例中,USB控制器包括第一USB控制器(USB控制器1)、第二USB控制器(USB控制器2),USB控制器用来对插入的USB设备进行检测、识别、数据传输等,第一USB控制器(USB控制器1)对应第一USB通道(USB通道1),第二USB控制器(USB控制器2)对应第二USB通道(USB通道2)。
在本实施例中,所述系统存储器为eMMC存储器,划分为QNX分区、linux分区,分别用于存储QNX系统文件、linux系统文件。
共享内存是设置在物理内存区域中一段连续的内存空间。
在本实施例中,所述双系统为QNX和linux,QNX系统为宿主机系统,linux系统为客户机系统,linux系统通过QNX的Hypervisor运行。
在本实施例中,所述软件通道控制模块在非USB共享传输模式下,将两个USB通道挂载在双系统其中一个上,在启动USB共享传输模式时,将两个USB通道中的一个挂载到另一方操作系统上。
在本实施例中,所述传输模式控制模块通过接收人机交互指令生成传输模式切换指令。
在本发明的另一个实施例中,所述传输模式控制模块通过检测满足预设条件来生成传输模式切换指令。
以上所揭露的仅为本发明的较佳实施例,不能以此来限定本发明的权利保护范围,因此依本发明申请专利范围所作的等同变化,仍属本发明所涵盖的范围。
Claims (7)
1.一种基于虚拟机的双系统数据传输方法,其特征在于,包括:
步骤1、接收传输模式切换指令,将传输模式切换到USB共享传输模式;
步骤2、将双操作系统的USB OTG角色分别设置为Host和Gadget;
步骤3、将USB OTG角色为Gadget的操作系统的设备类型切换为标准的USB存储设备;
步骤4、USB OTG角色为Host的操作系统按照标准的USB存储设备读取方法从另一方操作系统中读取目标文件;
所述步骤2包括:
步骤201、第一操作系统释放其中一个USB通道的控制权,并通知第二操作系统申请对已被释放的USB通道的控制权,所述第一操作系统为USB通道控制权所有者操作系统;
步骤202、按照预设规则设置第一操作系统和第二操作系统中USB OTG的角色,所述预设规则为:将第一操作系统中的USB OTG角色设置为Gadget,将第二操作系统中的USB OTG角色设置为Host;
步骤203、控制第一USB OTG接口和第二USB OTG接口进行PIN对PIN短接。
2.根据权利要求1所述的基于虚拟机的双系统数据传输方法,其特征在于,所述传输模式切换指令通过客户机操作系统或者宿主机操作系统人机交互界面触发。
3.根据权利要求1所述的基于虚拟机的双系统数据传输方法,其特征在于,所述传输模式切换指令通过检测预设条件是否满足来触发。
4.根据权利要求1所述的基于虚拟机的双系统数据传输方法,其特征在于,所述传输模式切换指令通过共享内存通讯机制发送给另一方操作系统。
5.一种基于虚拟机的双系统数据传输装置,其特征在于,包括:
设置在硬件层的两个USB OTG接口;
与所述两个USB OTG接口相对应的两个USB控制器,所述USB控制器用于在外部USB设备接入时进行相应的处理;
系统程序存储器,至少划分为与操作系统数量相对应的分区,用于存储操作系统文件;
共享内存,用于双操作系统之间的通讯;
设置在软件层的双操作系统,其中一个操作系统在非USB共享传输模式下对两个USB控制器拥有控制权;
还包括:设置在硬件层的短接控制模块,用于当启动USB共享传输模式时,将两个USBOTG接口进行PIN对PIN短接;
设置在软件层的传输模式控制模块,用于启动、取消USB共享传输模式;
软件通道控制模块,用于在启动USB共享传输模式时,对USB通道进行卸载、挂载,将两个USB通道中的一个挂载到另一方操作系统上,并设置USB OTG角色,包括:非USB共享传输模式下,将两个USB通道挂载在双系统其中一个上;在启动USB共享传输模式时,第一操作系统释放其中一个USB通道的控制权,并通知第二操作系统申请对已被释放的USB通道的控制权,将第一操作系统中的USB OTG角色设置为Gadget,将第二操作系统中的USB OTG角色设置为Host。
6.根据权利要求5所述的基于虚拟机的双系统数据传输装置,其特征在于,所述传输模式控制模块通过接收人机交互指令生成传输模式切换指令。
7.根据权利要求5所述的基于虚拟机的双系统数据传输装置,其特征在于,所述传输模式控制模块通过检测满足预设条件来生成传输模式切换指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110740072.XA CN113515347B (zh) | 2021-06-30 | 2021-06-30 | 一种基于虚拟机的双系统数据传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110740072.XA CN113515347B (zh) | 2021-06-30 | 2021-06-30 | 一种基于虚拟机的双系统数据传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113515347A CN113515347A (zh) | 2021-10-19 |
CN113515347B true CN113515347B (zh) | 2024-03-29 |
Family
ID=78066356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110740072.XA Active CN113515347B (zh) | 2021-06-30 | 2021-06-30 | 一种基于虚拟机的双系统数据传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113515347B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060024589A (ko) * | 2004-09-14 | 2006-03-17 | 에스케이 텔레콤주식회사 | 유에스비 오티지 모듈을 갖는 단말기 |
CN102135896A (zh) * | 2011-03-17 | 2011-07-27 | 中兴通讯股份有限公司 | 一种基于嵌入式系统实现软件升级的方法和系统 |
CN103559149A (zh) * | 2013-10-30 | 2014-02-05 | 上海斐讯数据通信技术有限公司 | Usb otg双角色设备工作方式切换的方法及系统 |
CN109857434A (zh) * | 2019-01-15 | 2019-06-07 | 厦门亿联网络技术股份有限公司 | 基于usb的软件升级方法 |
CN110147675A (zh) * | 2019-05-22 | 2019-08-20 | 杭州安恒信息技术股份有限公司 | 一种智能终端的安全检测方法及设备 |
CN111213293A (zh) * | 2017-10-12 | 2020-05-29 | 深圳传音通讯有限公司 | 一种用于智能设备的信号转接的控制方法及控制装置 |
CN111713176A (zh) * | 2018-05-16 | 2020-09-25 | 华为技术有限公司 | 一种数据传输方法及终端 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI544337B (zh) * | 2012-10-25 | 2016-08-01 | 緯創資通股份有限公司 | 共用通用串列匯流排(usb)裝置之雙作業系統架構,以及雙作業系統架構共用通用串列匯流排(usb)裝置之方法 |
US11604741B2 (en) * | 2019-02-15 | 2023-03-14 | Intel Corporation | Method for dynamically provisioning virtualized functions in a USB device by means of a virtual USB hub |
-
2021
- 2021-06-30 CN CN202110740072.XA patent/CN113515347B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060024589A (ko) * | 2004-09-14 | 2006-03-17 | 에스케이 텔레콤주식회사 | 유에스비 오티지 모듈을 갖는 단말기 |
CN102135896A (zh) * | 2011-03-17 | 2011-07-27 | 中兴通讯股份有限公司 | 一种基于嵌入式系统实现软件升级的方法和系统 |
CN103559149A (zh) * | 2013-10-30 | 2014-02-05 | 上海斐讯数据通信技术有限公司 | Usb otg双角色设备工作方式切换的方法及系统 |
CN111213293A (zh) * | 2017-10-12 | 2020-05-29 | 深圳传音通讯有限公司 | 一种用于智能设备的信号转接的控制方法及控制装置 |
CN111713176A (zh) * | 2018-05-16 | 2020-09-25 | 华为技术有限公司 | 一种数据传输方法及终端 |
CN109857434A (zh) * | 2019-01-15 | 2019-06-07 | 厦门亿联网络技术股份有限公司 | 基于usb的软件升级方法 |
CN110147675A (zh) * | 2019-05-22 | 2019-08-20 | 杭州安恒信息技术股份有限公司 | 一种智能终端的安全检测方法及设备 |
Non-Patent Citations (1)
Title |
---|
SEP6200平台上Linux内核的USB OTG驱动设计;杨廉萍,缪卫;《单片机与嵌入式系统应用》(第4期);22-24 * |
Also Published As
Publication number | Publication date |
---|---|
CN113515347A (zh) | 2021-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101751936B1 (ko) | 호스트 기반 단말 가상화 환경에서 공유 메모리를 이용한 입출력 디바이스 가상화 장치 및 방법 | |
EP3660686B1 (en) | Method and device for transmitting data processing request | |
CN110032413B (zh) | 一种桌面虚拟化方法、相关设备及计算机存储介质 | |
US20110307639A1 (en) | Virtual serial port management system and method | |
CN105183674B (zh) | Usb虚拟化网络映射方法、装置以及usb集线器 | |
US20090235249A1 (en) | Virtual computer system and method of controlling the same | |
US10656676B2 (en) | Docking device, electrical device, and MAC address cloning method | |
KR101825561B1 (ko) | 다중 운영 체제 디바이스에 대한 동적 재할당 | |
US8990439B2 (en) | Transport mode data transfer between a channel subsystem and input/output devices | |
CN112947857B (zh) | 一种数据搬移方法、装置、设备及计算机可读存储介质 | |
CN105975303A (zh) | 升级控制方法及装置 | |
TW202004492A (zh) | 電子存放裝置的任務管理方法、主機和存儲裝置 | |
CN112732616A (zh) | 一种基于spi控制器的bmc启动方法、装置及设备 | |
CN104516779B (zh) | 一种系统切换方法及芯片 | |
KR101366993B1 (ko) | 원격 디바이스 드라이버 제공 시스템 및 원격 디바이스 드라이버 제공 방법 | |
EP1916606B1 (en) | Storage interfacing method and apparatus | |
US20130282971A1 (en) | Computing system and data transmission method | |
CN113515347B (zh) | 一种基于虚拟机的双系统数据传输方法及装置 | |
CN116644011B (zh) | 一种i2c设备的快速识别方法、装置、设备及存储介质 | |
EP3373140A1 (en) | Method for processing ordered broadcast and electronic device | |
CN111857546A (zh) | 用于处理数据的方法、网络适配器和计算机程序产品 | |
CN113703914A (zh) | 测试方法和测试系统 | |
CN107066360B (zh) | 一种信息传输方法及服务器 | |
CN110740095A (zh) | 多媒体串流及路由装置及其运作方法 | |
CN113190393B (zh) | 模式切换装置、设备接口自动化测试的方法及系统 |
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 |