CN103618780B - 一种实现多虚拟机挂载外设部件的方法及装置 - Google Patents

一种实现多虚拟机挂载外设部件的方法及装置 Download PDF

Info

Publication number
CN103618780B
CN103618780B CN201310596635.8A CN201310596635A CN103618780B CN 103618780 B CN103618780 B CN 103618780B CN 201310596635 A CN201310596635 A CN 201310596635A CN 103618780 B CN103618780 B CN 103618780B
Authority
CN
China
Prior art keywords
identification code
virtual machine
external components
terminal
server
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
CN201310596635.8A
Other languages
English (en)
Other versions
CN103618780A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310596635.8A priority Critical patent/CN103618780B/zh
Publication of CN103618780A publication Critical patent/CN103618780A/zh
Priority to PCT/CN2014/078077 priority patent/WO2015074391A1/zh
Application granted granted Critical
Publication of CN103618780B publication Critical patent/CN103618780B/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 Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种实现多虚拟机挂载外设部件方法及装置,该方法包括:服务器接收到一终端发送的建立外设部件连接的第一消息后,从所述第一消息中获取唯一标示所述外设部件的识别码;服务器与所述终端建立连接,使得服务器访问所述外设部件,并将所述外设部件连接到对应的虚拟机中,实现所述虚拟机的外设部件挂载;根据所述识别码存储所述虚拟机与所述终端的对应关系,使得服务器根据接收到的识别码确定对应的虚拟机。本发明公开的方法和装置解决现有服务器无法区分每一个终端内容,同一个主机只能有一个虚拟机挂载光驱进行操作系统的安装,所以导致用户易用性不高的问题。

Description

一种实现多虚拟机挂载外设部件的方法及装置
技术领域
本发明涉及通信网络技术领域,尤其涉及一种多虚拟机挂载光驱方法及装置。
背景技术
云计算(Cloud Computing)作用是将计算资源(CPU、内存)、网络和存储资源简化为同水电一样易用的资源,用户通过网络即可方便的使用。
虚拟化技术是云计算的一种重要支撑技术,通过虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。通过CPU、内存、网络的虚拟化技术可以允许一个平台同时运行多个虚拟机,并且每一个虚拟机都可以独立运行而互不影响,从而显著提高工作效率。
当云平台搭建完成后,需要首先创建出一个虚拟机模板或者镜像,通过此模板和镜像可以批量部署并发放虚拟机。
目前创建虚拟机模板或者镜像的通用方式是首先创建一个带有裸卷的虚拟机,然后给虚拟机挂载便携电脑或者服务器的镜像为虚拟机光驱后进行操作系统的安装。
而挂载光驱的方式有多种,包括基于共享的通用Internet文件系统(CommonInternet File System,CIFS)协议和基于浏览方式的小封装(Small Form Factor,SFF)协议。现有技术中如果多个终端同时连接服务器端后,服务器无法区分每一个终端内容,最终表现同一个主机只能有一个虚拟机挂载光驱进行操作系统的安装,所以导致用户易用性不高。
发明内容
本发明提供一种实现多虚拟机挂载外设部件的方法及装置,本发明所提供的方法和装置解决现有技术中服务器无法区分每一个终端内容,最终表现同一个主机只能有一个虚拟机挂载光驱进行操作系统的安装,所以导致用户易用性不高的问题。
第一方面,提供一种实现多虚拟机挂载外设部件的方法,该方法包括:
服务器接收到一终端发送的建立外设部件连接的第一消息后,从所述第一消息中获取唯一标示所述外设部件的识别码;其中,所述第一消息为基于小封装SFF协议的消息,所述消息包括至少1个扩展字节,所述扩展字节用于承载所述识别码;服务器与所述终端建立连接,使得服务器访问所述外设部件,并将所述外设部件连接到对应的虚拟机中,实现所述虚拟机的外设部件挂载;
根据所述识别码存储所述虚拟机与所述终端的对应关系,使得服务器根据接收到的识别码确定对应的虚拟机。
结合第一方面,在第一种可能的实现方式中,所述第一消息中包括:
标识信息,用于指示所述外设部件的类型;
识别码,用于唯一标示挂载在服务器上的所述外设部件。
结合第一方面或者第一方面的第一种可能的实现方式,在第二种可能的实现方式中,从所述第一消息中获取唯一标示所述外设部件的识别码包括:
从指定标志位获取识别码的长度值,从预设位置开始获取所述长度值对应的识别码,所述预设位置为所述消息的第12个字节;或者
从预设位置获取存储识别码的起始位置和所述识别码的长度值,从所述起始位置开始读取与所述长度值对应的识别码。
结合第一方面,或者第一方面的第一至二种可能的实现方式,在第三种可能的实现方式中,该方法还包括:
当接收到多个访问终端同时对不同虚拟机进行访问的第二请求时,从所述第二请求中获取识别码,并根据获取到的识别码确定每个访问终端对应访问的目标虚拟机。
结合第一方面,或者第一方面的第一至三种可能的实现方式,在第四种可能的实现方式中,根据获取到的识别码确定每个访问终端对应访问的目标虚拟机之后,进一步包括:
服务器发送访问请求到所述目标虚拟机对应的目标终端,并接收目标终端针对所述访问请求返回的数据流,并将所述数据流反馈给所述访问终端。
第二方面,提供一种服务器,该服务器包括:
获取模块,用于接收到一终端发送的建立外设部件连接的第一消息后,从所述第一消息中获取唯一标示所述外设部件的识别码;其中,所述第一消息为基于小封装SFF协议的消息,所述消息包括至少1个扩展字节,所述扩展字节用于承载所述识别码;
挂载模块,用于与所述终端建立连接,使得服务器访问所述外设部件,并将所述外设部件连接到对应的虚拟机中,实现所述虚拟机的外设部件挂载;
存储模块,用于根据所述识别码存储所述虚拟机与所述终端的对应关系,使得服务器根据接收到的识别码确定对应的虚拟机。
结合第二方面,在第一种可能的实现方式中,获取模块从所述第一消息中获取唯一标示所述外设部件的识别码包括:
从指定标志位获取识别码的长度值,从预设位置开始获取所述长度值对应的识别码,所述预设位置为所述消息的第12个字节;或者,从预设位置获取存储识别码的起始位置和所述识别码的长度值,从所述起始位置开始读取与所述长度值对应的识别码。
结合第二方面或者第二方面的第一种可能的实现方式,在第二种可能的实现方式中,该服务器还包括:
访问接收模块,用于接收到多个访问终端同时对不同虚拟机进行访问的第二请求时,从所述第二请求中获取识别码,并根据获取到的识别码确定每个访问终端对应访问的目标虚拟机。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,访问接收模块还用于发送访问请求到所述目标虚拟机对应的目标终端,并接收目标终端针对所述访问请求返回的数据流,并将所述数据流反馈给所述访问终端。
上述技术方案中的一个或两个,至少具有如下技术效果:
本发明实施例所提供的方法和装置进行虚拟机光驱挂载时通过唯一标示终端的识别码区分每个终端,从而使得服务器能够根据识别码区分各虚拟机,并且还能根据终端携带的识别码确定终端需要访问的虚拟机,所以多个终端同时给多个虚拟机挂载光驱之后,不同终端可以是同时对虚拟机进行操作(该操作包括:安装操作系统或者软件拷贝等)。
附图说明
图1为本发明实施例一种实现多虚拟机挂载外设部件的方法的流程示意图;
图1A为本发明实施例一种实现多虚拟机挂载外设部件的方法具体应用时的流程示意图;
图2为本发明实施例一种服务器的结构示意图;
图3为本发明实施例一种实现多虚拟机挂载外设部件的装置的结构示意图。
具体实施方式
因为现有技术中,SFF协议由于消息格式长度和内存相同,多个Client同时连接Server端后,服务器无法区分每一个Client端内容,最终表现同一个主机只能有一个虚拟机挂载光驱进行操作系统的安装,所以导致用户易用性不高。
为了克服现有技术中的上述问题,本发明提供一种实现多虚拟机挂载外设部件方法,该方法包括:
服务器接收到一终端发送的建立外设部件连接的第一消息后,从所述第一消息中获取唯一标示所述外设部件的识别码;
服务器与所述终端建立连接,使得服务器访问所述外设部件,并将所述外设部件连接到对应的虚拟机中,实现所述虚拟机的外设部件挂载;
根据所述识别码存储所述虚拟机与所述终端的对应关系,使得服务器根据接收到的识别码确定对应的虚拟机。
在本发明实例中,进行虚拟机光驱挂载时通过唯一标示终端的识别码区分每个终端,从而使得服务器能够根据识别码区分各虚拟机,并且还能根据终端携带的识别码确定终端需要访问的虚拟机,所以多个终端同时给多个虚拟机挂载光驱之后,不同终端可以是同时对虚拟机进行操作(该操作包括:安装操作系统或者软件拷贝等)。
下文具体实施方式的某些部分是以算法的形式展现的,这些算法包括对于计算机存储器内储存的数据进行的操作。算法大体上是指造成所需结果的操作的自洽序列。这些操作通常需要或涉及到物理操纵或物理量。通常(但不是必然),这些量采取电信号或磁信号的形式,这些信号能够被储存、传输、合并、比较和以其他方式受到操纵。业已证明,有时(主要是为了通常使用的原因),将这些信号称为位、值、元素、符号、字符、项、数等等是方便的。
但是应当牢记,这些以及类似的所有术语是与适当的物理量相关联的,并且仅仅是应用于这些量的方便的标号。除非下文中明显地以其他形式另有说明外,整个说明书中使用诸如“处理”或“计算”或“判定”或“显示”等术语所进行的说明可以指数据处理系统或类似电子装置进行的动作和处理,所述动作和处理操纵计算机的寄存器和存储器内以物理(电子)量表示的数据并将其转换成该系统的存储器或寄存器(或其他这类信息存储、传输或显示的装置)内类似地以物理量的形式表示的其他数据。
本发明可以涉及用于执行本申请中所述操作中的一项或多项操作的设备。该设备可以为所需的目的而专门构造,或者也可以包括通用计算机,所述通用计算机由储存在该计算机中的计算机程序选择性地激活(activate)或重构(reconfigure)。这样的计算机程序可以被储存在机器(例如计算机)可读介质中或者存储在适于储存电子指令并分别耦联到总线的任何类型介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、光盘、CD-ROM、和磁光盘)、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存、磁性卡片或光学卡片。
机器可读介质包括用于以由机器(例如计算机)可读的形式储存或传输信息的任何机构。例如,机器可读介质包括只读存储器(ROM);随机存取存储器(RAM)、磁盘储存介质、光学储存介质、闪存装置、以电的、光的、声的或其他的形式传播的信号(例如载波、红外信号、数字信号等)等。
实施例一,本发明实施例提供一种实现多虚拟机挂载外设部件方法,下面结合说明书附图对本发明的具体实施方式进行详细说明(如图1所示):
步骤101,服务器接收到一终端发送的建立外设部件连接的第一消息后,从所述第一消息中获取唯一标示所述外设部件的识别码;
在本发明实施例中,所述外设部件可以是:光驱、软驱以及USB等等设备。如果所述外设部件是光驱,则所述第一消息可以是建立光驱连接消息。
步骤102,服务器与所述终端建立连接,使得服务器访问所述外设部件,并将所述外设部件连接到对应的虚拟机中,实现所述虚拟机的外设部件挂载;
步骤103,根据所述识别码存储所述虚拟机与所述终端的对应关系,使得服务器根据接收到的识别码确定对应的虚拟机。
在本发明实施例中,同一主机(即服务器)可以设置有多个虚拟机,而且多个终端对应为所述多个虚拟机挂载外设部件,因为在挂载外设部件的时候服务器根据每个外设部件的识别码确定了外设部件与虚拟机的对应关系,所以如果挂载成功后,用户终端想要访问对应的虚拟机,则可以在访问请求中携带识别码,从而服务器就可以根据携带的识别码对应的找到需要访问的虚拟机。解决多个终端同时对应给多个虚拟机挂载外设部件后,服务器无法识别的问题。
多个终端同时给多个虚拟机挂载光驱后,如果终端同时安装操作系统或者是软件拷贝的具体实现可以是:
当接收到多个访问终端同时对不同虚拟机进行访问的第二请求时,从所述第二请求中获取识别码,并根据获取到的识别码确定每个访问终端对应访问的目标虚拟机。
为了
服务器发送访问请求到所述目标虚拟机对应的目标终端,并接收目标终端针对所述访问请求返回的数据流,并将所述数据流反馈给所述访问终端。
在本发明实施例中,终端在为虚拟机挂载外设部件的时候用识别码区分每个终端和虚拟机,所以当虚拟机挂载外设部件完成后,服务器就可以根据终端访问虚拟机的请求中携带的识别码确定终端需要访问的虚拟机,从而使得多个终端可以同时对对应的虚拟机安装操作系统或者是软件拷贝。
为了更详细的说明本发明实施例所提供的方案,以下以光驱挂载为例对本发明方案做进一步详细的说明:
如表1所示,现有技术SFF协议中建立光驱连接消息的结构,其中,SFF协议建立光驱连接消息大小为12字节(Byte),一般第0个字节代表该消息是建立光驱连接消息;第1个字节代表该消息是为了实现光驱挂载;该消息中后面2-11个字节全0,无表示。这样每一个Client发送的建立光驱连接消息格式和长度均相同,所以当多个Client建立连接后,Server端无法确定挂载光驱之后形成的镜像文件属于哪一个Client。
0(byte) 1 2 …… 11
Device_Type Device_Type_CDrom 0 …… 0
表1
基于现有技术的上述问题,本发明实施例所提供的方法是对SFF协议的建立连接消息进行修改,修改的主要目的是在所述立连接消息中添加区分各终端的和镜像文件的识别码,其中修改后的所述建立光驱连接消息中包括:
标识信息(表1中第0字节的Device_Type和第1字节的Device_Type_CDrom),用于指示所述外设部件的类型;
在本发明实施例中,因为外设部件的类型包括多种,例如:光驱、软驱和USB等。而且每个类型的外设部件还可以包括多种类型。所以所述标识信息可以是包括两部分:
第一部分用于标示所述外设部件的大概分类,例如挂载的外设部件为光驱或软驱。
第二部分用于标示在所述大概分类的基础上,进一步的确定挂载的外设部件的具体类型,例如:光驱分类下所述外设部件为CD光驱或者是iso文件。
识别码,用于唯一标示挂载在服务器上的所述外设部件。
在本发明实施例中,因为只要所述建立连接消息中包含用于区分镜像文件和终端的识别码就可以实现不同用户终端同时对对应的虚拟机执行操作系统安装以及软件拷贝的操作,所以以下提供了几种最优化的实现方式修改现有建立连接消息,修改后的建立连接消息能够携带所述识别码,具体修改的方法包括:
A,修改所述建立光驱连接消息的长度,并将所述识别码添加到原建立光驱连接消息的最后;
例如:本发明实施例中所提供的识别码为通用唯一识别码(Universally UniqueIdentifier,UUID),并且UUID的长度取36字节,则本发明实施例所提供的方法中所述建立光驱连接消息的具体格式可以是(如表2所示):
表2
在本发明实施例中可以将SFF协议建立光驱连接消息(或称为建立光驱连接消息)扩展为长度48字节(Byte)的消息,其中第0个字节和第1个字节与原消息所携带的内容相同,即第0个字节代表建立光驱连接消息,第1个字节代表挂载光驱的具体类型,后面2、3、8、9、10、11个字节为0,无表示。
在该实施例中为了方便服务器确定识别码(可以是UUID)的内容,可以默认新添加的UUID是添加在原消息的尾部的,所以在该实施例中只要在原有消息结构中(即第2个字节到第11个字节)指示UUID的长度即可。在本实施例中选择第4~7这四个字节(为了适应不同识别码的长度该实例中设定使用四字节标示识别码的长度,并不限定只能使用四字节)标示UUID的长度,具体环境中也可以是第5~第8、第6~第9等等。因为UUID的长度比较长,所以可以通过16进制来表示UUID的长度。在该实例中UUID的长度为36,则修改后的建立光驱连接的消息则可以是:
010000240000—xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
在该实施例中,服务器为了从形成的所述建立光驱连接消息中获取唯一标示所述第一终端的第一识别码的具体实现方式包括:
从指定标志位获取识别码的长度值,从预设位置开始获取所述长度值对应的识别码。
针对上述实例A所形成的建立光驱连接消息中读取UUID具体实现可以是:Server识别消息第4-7个字节(在具体的实现环境中可以是第2~11的两个或多个字节,其中字节的个数根据识别码的长度确定)的内容为0x24(十六进制),则可以确定从建立光驱连接的消息的第12个字节开始读取0x24个字节为UUID内容(即上述实例中x代表了新添加UUID的具体内容),即唯一标识挂载光驱的UUID长度为36字节。36字节UUID由消息中的第12到第47字节进行表示。
B,在建立光驱连接消息中添加标识指示识别码的起始位置和长度,将所述识别码添加到建立光驱连接消息中;
例如:本发明实施例中所提供的识别码为通用唯一识别码(Universally UniqueIdentifier,UUID),并且UUID的长度取36字节,则本发明实施例所提供的方法中所述建立光驱连接消息的具体格式可以是(如表3所示):
表3
在本发明实施例中可以将SFF协议建立光驱连接消息(或称为建立光驱连接消息)扩展为长度48字节(Byte)的消息,其中第0个字节和第1个字节与原消息所携带的内容相同,即第0个字节代表建立光驱连接消息,第1个字节代表该消息用于光驱挂载,后面2、3、8、9、10、11个字节为0,无表示。
在该实施例中为了方便服务器确定识别码(即UUID)的内容,在所述建立光驱连接消息中添加标志位用于指示添加的UUID的起始位置和长度,即表3中第4~7字节中的内容,在该实施例中只要在原有消息结构中(即第2个字节到第11个字节)指示UUID的起始位置和长度服务器即可通过这两个信息定位添加的UUID。在本实施例中选择第4~7这四个字节标示UUID的起始位置和长度,具体环境中也可以是5~8、6~9等等。在该实例中,可以是第4和5字节标示存储UUID的起始位置,第6和7字节标示UUID的长度。因为在该实施例中标示了UUID的长度和起始位置,所以UUID的起始位置可以是所述建立光驱连接消息的任一位置(如果UUID并不是从第12字节开始,则所述连接消息的长度会有对应的调整)。
在该实例中UUID的长度为36,并且UUID的起始位置是第12字节,所以对应的第4~7字节对应的为:0C24(0C对应起始位置12;24对应UUID的长度36)则修改后的建立光驱连接消息则可以是:
01000C240000—xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
在该实施例中,服务器为了从形成的所述建立光驱连接消息中获取唯一标示所述第一终端的第一识别码的具体实现方式包括:
从预设位置获取识别码的存储起始位置和长度值,从所述存储起始位置开始读取所述长度值对应的识别码。
针对上述实例B所形成的建立光驱连接消息中读取UUID具体实现可以是:Server识别消息第4-7个字节的内容为0C24(十六进制),则可以确定从建立光驱连接的消息的第12个字节开始读取36个字节为UUID内容(即上述实例中x代表了新添加UUID的具体内容),即唯一标识光驱的UUID长度为36字节,并且36字节UUID由消息中的第12到第47字节进行表示。
本发明实施例所提供的方法,即使每一个终端发送的连接消息长度相同(均为48字节长度),但是由于每一个终端的UUID不同,所以当多个终端建立连接后,Server端根据UUID判断并确定每个终端,这样多个终端就可以同时给多个虚拟机挂载光驱,从而方便不同用户同时安装操作系统或者软件拷贝。可以达到同一个协议下,不同厂商的客户端和服务器可以进行无缝链接。
如图1A所示,为了达到终端的镜像文件不需要开放共享、终端不需要关闭本机的防火墙、主机访问终端时不需要输入镜像的URL以及主机访问终端时不需要输入用户名和密码的效果,实现上述外设部件挂载时,服务器端和终端之间的交互可以通过SFF协议实现,具体实现步骤包括:
步骤1A01,服务器和终端之间进行互信验证;
进行互信验证时,客户端(或称为用户终端)根据算法生成一个安全ID,并将ID发送到服务端进行验证。由于服务端和客户端生成安全ID的算法一致,所以服务器端在对客户端发送来的安全ID进行验证后,即可以保证客户端是可依赖的。所以,在保证了互信验证后,不需要额外的互信操作,例如:输入服务端的用户名和密码进行互信验证等。
步骤1A02,客户端会和服务器端通过TCP协议建立一个链接,客户端同时将本地的ISO文件或者光驱映射到服务端,形成虚拟机;
在虚拟机形成后,服务端就可以通过访问所述虚拟机来访问客户端的ISO文件或者光驱。这样服务器只需要访问本地设备而不需要访问共享的远端URL,所以能够达到主机访问客户端时不需要输入镜像的URL的效果。
步骤1A03,服务器访问设备时,客户端会读取本地ISO或者光驱的数据流发送到服务端。
步骤1A04,数据传输完成后,客户端会发送消息断开链接
步骤1A05,服务端开放一个端口号供客户端访问,所以客户端可以不需要关闭服务端防火墙即可访问服务端。
本发明实施例所提供的上述外设部件的挂载方法,通过SFF协议实现客户端与服务器端的交互,所以可以达到便携电脑的镜像文件不需要开放共享、便携电脑不需要关闭本机的防火墙、主机访问时不需要输入镜像的URL以及主机访问时不需要输入用户名和密码的效果。
如图2所示,本发明实施例还提供一种服务器,该服务器包括:
获取模块201,用于接收到一终端发送的建立外设部件连接的第一消息后,从所述第一消息中获取唯一标示所述外设部件的识别码;
在本发明实施例中,所述外设部件可以是:光驱、软驱以及USB等等设备。如果所述外设部件是光驱,则所述第一消息可以是建立光驱连接消息。
挂载模块202,用于与所述终端建立连接,使得服务器访问所述外设部件,并将所述外设部件连接到对应的虚拟机中,实现所述虚拟机的外设部件挂载;
存储模块203,用于根据所述识别码存储所述虚拟机与所述终端的对应关系,使得服务器根据接收到的识别码确定对应的虚拟机。
多个终端同时给多个虚拟机挂载光驱后,如果终端同时安装操作系统或者是软件拷贝,则该服务器还用于将多个终端的访问请求对应的转到对应的虚拟机上,所以该服务器还包括:
访问接收模块204,用于接收到多个访问终端同时对不同虚拟机进行访问的第二请求时,从所述第二请求中获取识别码,并根据获取到的识别码确定每个访问终端对应访问的目标虚拟机。
另外,为了挂载外设部件时终端不需要关闭本机的防火墙的目的,所述访问接收模块204还用于接收到多个访问终端同时对不同虚拟机进行访问的第二请求时,从所述第二请求中获取识别码,并根据获取到的识别码确定每个访问终端对应访问的目标虚拟机。
在本发明实施例中,因为只要所述建立连接消息中包含用于区分外设部件和终端的识别码就可以实现不同用户终端同时对对应的虚拟机执行操作系统安装以及软件拷贝的操作,所从包含识别码的建立连接消息中获取识别码的具体实现方式可以是:
所述201获取模块从所述第一消息中获取唯一标示所述外设部件的识别码包括:
从指定标志位获取识别码的长度值,从预设位置开始获取所述长度值对应的识别码;或者,从预设位置获取存储识别码的起始位置和所述识别码的长度值,从所述起始位置开始读取与所述长度值对应的识别码。
如图3所示,本发明还提供另一种实现多虚拟机挂载外设部件的装置,用于执行前述各个实施例中的实现多虚拟机挂载外设部件的方法,包括至少一个处理器301(例如CPU),至少一个网络接口302或者其他通信接口,存储器303,和至少一个通信总线304,用于实现这些装置之间的连接通信。处理器301用于执行存储器303中存储的可执行模块,例如计算机程序。存储器303可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个网络接口302(可以是有线或者无线)实现该系统网关与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
在一些实施方式中,本发明所提供的装置可以应用于一欲自建立X2接口的本对端基站中,则该装置中的存储器存储了程序3031,程序可以被处理器执行,这个程序包括:接收到一终端发送的建立外设部件连接的第一消息后,从所述第一消息中获取唯一标示所述外设部件的识别码;与所述终端建立连接,使得该装置访问所述外设部件,并将所述外设部件连接到对应的虚拟机中,实现所述虚拟机的外设部件挂载;根据所述识别码存储所述虚拟机与所述终端的对应关系,使得该装置根据接收到的识别码确定对应的虚拟机。
本申请实施例中的上述一个或多个技术方案,至少具有如下的技术效果:
在本发明实例中,进行虚拟机光驱挂载时通过唯一标示终端的识别码区分每个终端,从而使得服务器能够根据识别码区分各虚拟机,并且还能根据终端携带的识别码确定终端需要访问的虚拟机,所以多个终端同时给多个虚拟机挂载光驱之后,不同终端可以是同时对虚拟机进行操作(该操作包括:安装操作系统或者软件拷贝等)。
本发明所述的方法并不限于具体实施方式中所述的实施例,本领域技术人员根据本发明的技术方案得出其它的实施方式,同样属于本发明的技术创新范围。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (9)

1.一种实现多虚拟机挂载外设部件的方法,其特征在于,该方法包括:
服务器接收到一终端发送的建立外设部件连接的第一消息后,从所述第一消息中获取唯一标示所述外设部件的识别码;其中,所述第一消息为基于小封装SFF协议的消息,所述消息包括至少1个扩展字节,所述扩展字节用于承载所述识别码;
服务器与所述终端建立连接,使得服务器访问所述外设部件,并将所述外设部件连接到对应的虚拟机中,实现所述虚拟机的外设部件挂载;其中,所述服务器上运行有多个虚拟机,所述多个虚拟机中的每个虚拟机可以挂载至少一个终端的至少一个外设部件,所述多个虚拟机中的不同虚拟机可以挂载不同终端的外设部件;
根据所述识别码存储所述虚拟机与所述终端的对应关系,使得服务器根据接收到的识别码确定对应的虚拟机;
当接收到访问终端的访问请求时,从所述访问请求中获取识别码,并根据获取到的识别码以及存储的所述对应关系确定所述访问终端访问的目标虚拟机。
2.如权利要求1所述的方法,其特征在于,所述第一消息中包括:
标识信息,用于指示所述外设部件的类型;
识别码,用于唯一标示挂载在服务器上的所述外设部件。
3.如权利要求1~2任一所述的方法,其特征在于,从所述第一消息中获取唯一标示所述外设部件的识别码包括:
从指定标志位获取识别码的长度值,从预设位置开始获取所述长度值对应的识别码,所述预设位置为所述消息的第12个字节;或者
从预设位置获取存储识别码的起始位置和所述识别码的长度值,从所述起始位置开始读取与所述长度值对应的识别码。
4.如权利要求1~2任一所述的方法,其特征在于,该方法还包括:
当接收到多个访问终端同时对不同虚拟机进行访问的第二请求时,从所述第二请求中获取识别码,并根据获取到的识别码以及存储的所述对应关系确定每个访问终端对应访问的目标虚拟机。
5.如权利要求4所述的方法,其特征在于,根据获取到的识别码确定每个访问终端对应访问的目标虚拟机之后,进一步包括:
服务器发送访问请求到所述目标虚拟机对应的目标终端,并接收目标终端针对所述访问请求返回的数据流,并将所述数据流反馈给所述访问终端。
6.一种服务器,其特征在于,该服务器包括:
获取模块,用于接收到一终端发送的建立外设部件连接的第一消息后,从所述第一消息中获取唯一标示所述外设部件的识别码;其中,所述第一消息为基于小封装SFF协议的消息,所述消息包括至少1个扩展字节,所述扩展字节用于承载所述识别码;挂载模块,用于与所述终端建立连接,使得服务器访问所述外设部件,并将所述外设部件连接到对应的虚拟机中,实现所述虚拟机的外设部件挂载;其中,所述服务器上运行有多个虚拟机,所述多个虚拟机中的每个虚拟机可以挂载至少一个终端的至少一个外设部件,所述多个虚拟机中的不同虚拟机可以挂载不同终端的外设部件;
存储模块,用于根据所述识别码存储所述虚拟机与所述终端的对应关系,使得服务器根据接收到的识别码确定对应的虚拟机;
确定模块,用于在接收到访问终端的访问请求时,从所述访问请求中获取识别码,并根据获取到的识别码以及存储的所述对应关系确定所述访问终端访问的目标虚拟机。
7.如权利要求6所述的服务器,其特征在于,获取模块从所述第一消息中获取唯一标示所述外设部件的识别码包括:
从指定标志位获取识别码的长度值,从预设位置开始获取所述长度值对应的识别码,所述预设位置为所述消息的第12个字节;或者,从预设位置获取存储识别码的起始位置和所述识别码的长度值,从所述起始位置开始读取与所述长度值对应的识别码。
8.如权利要求6或7任一所述的服务器,其特征在于,该服务器还包括:
访问接收模块,用于接收到多个访问终端同时对不同虚拟机进行访问的第二请求时,从所述第二请求中获取识别码,并根据获取到的识别码以及存储的所述对应关系确定每个访问终端对应访问的目标虚拟机。
9.如权利要求8所述的服务器,其特征在于,访问接收模块还用于发送访问请求到所述目标虚拟机对应的目标终端,并接收目标终端针对所述访问请求返回的数据流,并将所述数据流反馈给所述访问终端。
CN201310596635.8A 2013-11-22 2013-11-22 一种实现多虚拟机挂载外设部件的方法及装置 Active CN103618780B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310596635.8A CN103618780B (zh) 2013-11-22 2013-11-22 一种实现多虚拟机挂载外设部件的方法及装置
PCT/CN2014/078077 WO2015074391A1 (zh) 2013-11-22 2014-05-22 一种实现多虚拟机挂载外设部件的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310596635.8A CN103618780B (zh) 2013-11-22 2013-11-22 一种实现多虚拟机挂载外设部件的方法及装置

Publications (2)

Publication Number Publication Date
CN103618780A CN103618780A (zh) 2014-03-05
CN103618780B true CN103618780B (zh) 2017-10-10

Family

ID=50169484

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310596635.8A Active CN103618780B (zh) 2013-11-22 2013-11-22 一种实现多虚拟机挂载外设部件的方法及装置

Country Status (2)

Country Link
CN (1) CN103618780B (zh)
WO (1) WO2015074391A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103618780B (zh) * 2013-11-22 2017-10-10 华为技术有限公司 一种实现多虚拟机挂载外设部件的方法及装置
CN105354148B (zh) * 2014-08-21 2019-02-26 华为技术有限公司 一种数据处理方法及相关装置
CN107957900A (zh) * 2016-10-17 2018-04-24 中兴通讯股份有限公司 一种虚拟环境下对远程iso进行管控的方法及相关装置
CN108595245B (zh) * 2018-03-13 2021-08-13 深圳市文鼎创数据科技有限公司 Java卡外设访问方法及Java卡虚拟机
CN108563589A (zh) * 2018-04-08 2018-09-21 深圳市沃特沃德股份有限公司 终端设备获取输入设备类型的方法及装置
CN110086661B (zh) * 2019-04-18 2022-02-25 绿盟科技集团股份有限公司 一种识别虚拟终端的方法及装置
CN112506819B (zh) * 2019-08-26 2022-04-15 成都鼎桥通信技术有限公司 基于双系统的外接设备控制方法、装置、设备和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102523264A (zh) * 2011-12-06 2012-06-27 北京航空航天大学 面向虚拟机的usb设备远程共享方法和系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US8453142B2 (en) * 2007-04-26 2013-05-28 Hewlett-Packard Development Company, L.P. Virtual machine control
JP5154238B2 (ja) * 2008-01-18 2013-02-27 株式会社日立製作所 複合型計算機システムの管理方法及び複合型計算機システム
CN101419535B (zh) * 2008-11-19 2010-07-14 北京航空航天大学 虚拟机的分布式虚拟磁盘系统
CN101808128B (zh) * 2010-03-18 2012-12-26 卢伟 无线移动终端设备的开放无线结构虚拟系统
CN102170424A (zh) * 2010-12-13 2011-08-31 沈晖 基于三级安全体系架构的移动介质安全防护系统
WO2011127860A2 (zh) * 2011-05-18 2011-10-20 华为技术有限公司 启动应用的方法、服务器和系统
CN103618780B (zh) * 2013-11-22 2017-10-10 华为技术有限公司 一种实现多虚拟机挂载外设部件的方法及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102523264A (zh) * 2011-12-06 2012-06-27 北京航空航天大学 面向虚拟机的usb设备远程共享方法和系统

Also Published As

Publication number Publication date
WO2015074391A1 (zh) 2015-05-28
CN103618780A (zh) 2014-03-05

Similar Documents

Publication Publication Date Title
CN103618780B (zh) 一种实现多虚拟机挂载外设部件的方法及装置
US20210049137A1 (en) Building and managing data-processign attributes for modeled data sources
CN101151608B (zh) 开发人员容易地找出或扩展系统上周知位置的能力
CN102647438B (zh) 主机可容易进行数据收发的存储系统
CN108769109A (zh) 一种物联网异构设备数据的统一处理方法及系统
JP4328206B2 (ja) 無線パラメータデータ及び無線規制データへの構内接続及び遠隔接続、並びにその方法。
CN105993009A (zh) 通过非透明桥向PCIe集群中的计算资源传送MSI-X中断的方法和装置
CN104488324A (zh) 无线设备利用网络接入装备访问映射到当前所在空间的信息的方法及利用网络接入装备而访问映射到当前所在空间的信息的装置
CN106462423A (zh) 用于通过基于web的场境集成web和本地应用的系统和方法
US11212658B2 (en) Method for providing near filed communication device information for user and system therefor
CN108206750A (zh) 虚拟机网卡的配置方法及装置
CN110268687A (zh) 使用已定义的数据定义的数据处理
CN107078806A (zh) 光收发机设备和方法
CN103427989A (zh) 一种面向物联网环境的数据加密和身份认证方法
US20060265567A1 (en) Image forming apparatus and method of recognizing partitions in an external memory device connected thereto
CN106407151A (zh) 信息处理方法和装置
CN107396363B (zh) 一种用于对用户设备进行无线连接预授权的方法与设备
CN107924415A (zh) 从位置不可感知设备向搜索查询提供位置信息以提高用户交互性能
US20210294532A1 (en) USB based cloud disk and disk segment management system
JP7371410B2 (ja) 情報処理装置、及び、情報処理プログラム
CN112347046B (zh) 一种获取分布式系统中文件的创建时间的方法
CN106548088A (zh) 一种基于移动终端的保密存储区读取控制方法及移动终端
US9002870B2 (en) System, method and computer program product for EDI-to-EDI translations
CN110327626B (zh) 虚拟服务器创建方法及装置
CN106790616A (zh) 一种电子名片的传输方法、装置及系统、电子名片设备

Legal Events

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