CN113515347B - 一种基于虚拟机的双系统数据传输方法及装置 - Google Patents

一种基于虚拟机的双系统数据传输方法及装置 Download PDF

Info

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
Application number
CN202110740072.XA
Other languages
English (en)
Other versions
CN113515347A (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.)
Huizhou Foryou General Electronics Co Ltd
Original Assignee
Huizhou Foryou General Electronics 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 Huizhou Foryou General Electronics Co Ltd filed Critical Huizhou Foryou General Electronics Co Ltd
Priority to CN202110740072.XA priority Critical patent/CN113515347B/zh
Publication of CN113515347A publication Critical patent/CN113515347A/zh
Application granted granted Critical
Publication of CN113515347B publication Critical patent/CN113515347B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/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所述的基于虚拟机的双系统数据传输装置,其特征在于,所述传输模式控制模块通过检测满足预设条件来生成传输模式切换指令。
CN202110740072.XA 2021-06-30 2021-06-30 一种基于虚拟机的双系统数据传输方法及装置 Active CN113515347B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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