CN108563492A - 数据获取方法、虚拟机以及电子设备 - Google Patents

数据获取方法、虚拟机以及电子设备 Download PDF

Info

Publication number
CN108563492A
CN108563492A CN201810426287.2A CN201810426287A CN108563492A CN 108563492 A CN108563492 A CN 108563492A CN 201810426287 A CN201810426287 A CN 201810426287A CN 108563492 A CN108563492 A CN 108563492A
Authority
CN
China
Prior art keywords
data
virtual machine
electronic equipment
continue
read request
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.)
Granted
Application number
CN201810426287.2A
Other languages
English (en)
Other versions
CN108563492B (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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201810426287.2A priority Critical patent/CN108563492B/zh
Publication of CN108563492A publication Critical patent/CN108563492A/zh
Application granted granted Critical
Publication of CN108563492B publication Critical patent/CN108563492B/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
    • 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/45595Network integration; Enabling network access in virtual machine instances

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)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明实施例提供了数据获取方法、虚拟机以及电子设备,第二虚拟机没有访问第二电子设备存储的数据的访问权限,第一虚拟机具有访问该数据的访问权限,若第二虚拟机需要获得第二电子设备中的数据,则需要通过第一虚拟机获得,第一虚拟机接收到第二虚拟机发送的第一数据读请求后,可以获取第一虚拟机与第二电子设备之间的预设通信媒介;并生成第二数据读请求;通过预设通信媒介将第二数据读请求发送至第二电子设备;由于第二数据读请求中携带有第二虚拟机的通信地址,因此,第二电子设备可以将待读数据直接发送至第二虚拟机,而无需通过第一虚拟机传输待读数据,从而节约了网络资源。

Description

数据获取方法、虚拟机以及电子设备
技术领域
本发明涉及通信技术领域,更具体涉及数据获取方法、虚拟机以及电子设备。
背景技术
虚拟化是指通过虚拟化技术将一台电子设备虚拟为多台虚拟机。不同的电子设备中的虚拟机或同一台电子设备中的不同虚拟机可以进行通信,例如,存储有数据的电子设备为不同的虚拟机设置的访问权限不同,例如,设置的不同虚拟机能够访问的存储区域不同,因此,一个虚拟机在从存储有数据的电子设备中读取数据时,可能就需要通过其他具有相应访问权限的虚拟机来获取。下面以一具体例子,对各虚拟机之间读取数据的方法进行说明。
假设虚拟机vm1需要从存储数据的电子设备中读取数据,但是虚拟机vm1不具备访问该电子设备的访问权限,或者,不具备访问该电子设备中存储待读数据的存储区域的访问权限,而虚拟机vm2具有该访问权限,那么,虚拟机vm1可以将读数据的请求发送至虚拟机vm2,再由虚拟机vm2从该电子设备中获取待读数据;并由虚拟机vm2将待读数据发送至虚拟机vm1。
综上,读数据请求的传输路径为:虚拟机vm1→虚拟机vm2→电子设备;待读数据的传输路径为:电子设备→虚拟机vm2→虚拟机vm1;上述待读数据的传输方式占用了大量的网络资源。
发明内容
有鉴于此,本发明提供了一种数据获取方法、虚拟机以及电子设备,以克服现有技术中待读数据的传输方式占用大量网络资源的问题。
为实现上述目的,本发明提供如下技术方案:
一种数据获取方法,应用于第一电子设备中的第一虚拟机,所述数据获取方法包括:
接收第一数据读请求,所述第一数据读请求包括待读数据的存储位置信息以及第二虚拟机的通信地址,所述存储位置信息包括:存储所述待读数据的第二电子设备的信息,以及,所述待读数据在所述第二电子设备的位置,所述第二虚拟机为至少通过所述第一虚拟机从所述第二电子设备中获取所述待读数据的虚拟机;
基于所述第二电子设备的信息,获取所述第一虚拟机与所述第二电子设备之间的预设通信媒介;
基于所述待读数据在所述第二电子设备的位置以及所述第二虚拟机的通信地址,生成第二数据读请求;
通过所述预设通信媒介将所述第二数据读请求发送至所述第二电子设备;以使得所述第二电子设备将所述待读数据直接发送至所述第二虚拟机。
一种数据获取方法,应用第二电子设备,所述数据获取方法包括:
通过预设通信媒介获得第一虚拟机发送的第二数据读请求,所述第二数据读请求包括:待读数据在所述第二电子设备的第一存储区域的位置以及第二虚拟机的通信地址,所述第二虚拟机为至少通过所述第一虚拟机从所述第二电子设备中获取所述待读数据的虚拟机,所述第一存储区域为所述第二电子设备设置的至少使得所述第一虚拟机能够访问的存储区域;
基于所述待读数据在所述第一存储区域的位置,获取所述待读数据;
基于所述第二虚拟机的通信地址,将所述待读数据发送至所述第二虚拟机。
一种第一虚拟机,包括:
第一接收模块,用于接收第一数据读请求,所述第一数据读请求包括待读数据的存储位置信息以及第二虚拟机的通信地址,所述存储位置信息包括:存储所述待读数据的第二电子设备的信息,以及,所述待读数据在所述第二电子设备的位置,所述第二虚拟机为至少通过所述第一虚拟机从所述第二电子设备中获取所述待读数据的虚拟机;
第一获取模块,用于基于所述第二电子设备的信息,获取所述第一虚拟机与所述第二电子设备之间的预设通信媒介;
第一生成模块,用于基于所述待读数据在所述第二电子设备的位置以及所述第二虚拟机的通信地址,生成第二数据读请求;
第一发送模块,用于通过所述预设通信媒介将所述第二数据读请求发送至所述第二电子设备;以使得所述第二电子设备将所述待读数据直接发送至所述第二虚拟机。
一种第二虚拟机,包括;
第一获取模块,用于通过预设通信媒介获得第一虚拟机发送的第二数据读请求,所述第二数据读请求包括:待读数据在所述第二电子设备的第一存储区域的位置以及第二虚拟机的通信地址,所述第二虚拟机为至少通过所述第一虚拟机从所述第二电子设备中获取所述待读数据的虚拟机,所述第一存储区域为所述第二电子设备设置的至少使得所述第一虚拟机能够访问的存储区域;
第二获取模块,用于基于所述待读数据在所述第一存储区域的位置,获取所述待读数据;
第一发送模块,用于基于所述第二虚拟机的通信地址,将所述待读数据发送至所述第二虚拟机。
一种第一电子设备,包括:
存储器,用于存储程序;
处理器,用于执行所述程序,所述程序具体用于:
接收第一数据读请求,所述第一数据读请求包括待读数据的存储位置信息以及第二虚拟机的通信地址,所述存储位置信息包括:存储所述待读数据的第二电子设备的信息,以及,所述待读数据在所述第二电子设备的位置,所述第二虚拟机为至少通过所述第一虚拟机从所述第二电子设备中获取所述待读数据的虚拟机;
基于所述第二电子设备的信息,获取所述第一虚拟机与所述第二电子设备之间的预设通信媒介;
基于所述待读数据在所述第二电子设备的位置以及所述第二虚拟机的通信地址,生成第二数据读请求;
通过所述预设通信媒介将所述第二数据读请求发送至所述第二电子设备;以使得所述第二电子设备将所述待读数据直接发送至所述第二虚拟机。
一种第二电子设备,包括:
存储器,用于存储程序;
处理器,用于执行所述程序,所述程序具体用于:
通过预设通信媒介获得第一虚拟机发送的第二数据读请求,所述第二数据读请求包括:待读数据在所述第二电子设备的第一存储区域的位置以及第二虚拟机的通信地址,所述第二虚拟机为至少通过所述第一虚拟机从所述第二电子设备中获取所述待读数据的虚拟机,所述第一存储区域为所述第二电子设备设置的至少使得所述第一虚拟机能够访问的存储区域;
基于所述待读数据在所述第一存储区域的位置,获取所述待读数据;
基于所述第二虚拟机的通信地址,将所述待读数据发送至所述第二虚拟机。
一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述任一项所述应用于第一电子设备中的第一虚拟机的数据获取方法的各个步骤。
一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述任一项所述应用于第二电子设备中的数据获取方法的各个步骤。
经由上述的技术方案可知,与现有技术相比,本发明实施例提供了一种数据获取方法,第二虚拟机没有访问第二电子设备存储的数据的访问权限,第一虚拟机具有访问第二电子设备存储的该数据的访问权限,第二虚拟机向第一虚拟机发送第一数据读请求,该第一数据读请求包括待读数据的存储位置信息以及第二虚拟机的通信地址,第一虚拟机可以基于第二电子设备的信息,获取第一虚拟机与第二电子设备之间的预设通信媒介;基于待读数据在第二电子设备的位置以及所述第二虚拟机的通信地址,生成第二数据读请求;通过预设通信媒介将第二数据读请求发送至第二电子设备;由于第二数据读请求中携带有第二虚拟机的通信地址,因此,第二电子设备可以将待读数据直接发送至第二虚拟机,而无需通过第一虚拟机传输待读数据,从而节约了网络资源。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的数据获取***的一种实现方式的结构图;
图2为本发明实施例提供的数据获取方法的一种实现方式的信令图;
图3为本发明实施例提供的数据获取方法中生成第二数据读请求的一种实现方式的流程图;
图4为本发明实施例提供的第二数据读请求的格式示意图;
图5为本发明实施例提供的相对位置与绝对位置的关系示意图;
图6为本发明实施例提供的数据获取方法的另一实现方式的信令图;
图7为本发明实施例提供了第一虚拟机的一种实现方式的结构图;
图8为本发明实施例提供的第二虚拟机的一种实现方式的结构图;
图9本发明实施例提供的第一电子设备的一种实现方式的结构图;
图10为本发明实施例提供的第二电子设备的一种实现方式的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种数据获取方法,该数据获取方法需要至少两个虚拟机协同工作才能实现。上述至少两个虚拟机可以属于同一电子设备,也可以属于不同的电子设备。该数据获取方法可以应用于数据获取***。如图1所示,为本发明实施例提供的数据获取***的一种实现方式的结构图。
数据获取***包括:第一电子设备11、第二电子设备12以及第三电子设备13;其中:
第一电子设备11中的第一虚拟机111具有访问第二电子设备12中存储的数据的访问权限。第二电子设备12存储有数据。第三电子设备13中的第二虚拟机131需要访问第二电子设备存储的数据,但是第二虚拟机131没有访问第二电子设备12的权限。
第一电子设备11与第二电子设备12可以为同一电子设备,也可以为不同的电子设备。
第二虚拟机131向第一虚拟机111发送第一数据读请求,第一数据读请求包括第二虚拟机131的通信地址;第一虚拟机111会基于第一数据读请求生成第二数据读请求,第二数据读请求包括第二虚拟机131的通信地址;第一虚拟机111将第二数据读请求发送至第三电子设备13;第三电子设备13会将数据直接传输至第二虚拟机131。
在一可选实施例中,第二虚拟机131向第一虚拟机111发送第一数据读请求包括:第二虚拟机131可以直接向第一虚拟机111发送第一数据读请求,或者,第二虚拟机131通过至少一个虚拟机将第一数据读请求发送至第一虚拟机111。
如图1所示,第二电子设备12可以将待读数据直接发送至第二虚拟机131,而无需通过第一虚拟机111传输待读数据,从而节约了网络资源。
结合图1所示的数据获取***,下面对数据获取方法进行说明,如图2所示为本发明实施例提供的数据获取方法的一种实现方式的信令图,该方法包括:
步骤S201:第三电子设备的第二虚拟机131向第一电子设备11中的第一虚拟机111(后续简称第二虚拟机131向第一虚拟机111)发送第一数据读请求。
第一数据读请求包括:待读数据的存储位置信息以及第二虚拟机131的通信地址。
待读数据的存储位置信息包括:存储所述待读数据的第二电子设备的信息,以及,所述待读数据在所述第二电子设备的位置。在一可选实施例中,存储位置信息包括:第二电子设备中存储待读数据的磁盘名称、偏移位置以及待读取数据的长度;通信地址包括:IP(Internet ProtocolAddress,网际协议地址)地址以及端口号,或者,IP地址。
在一可选实施例中,第一数据读请求的格式可以如下:
步骤S202:第一虚拟机111接收第一数据读请求,基于所述第二电子设备的信息,获取所述第一虚拟机与所述第二电子设备之间的预设通信媒介。
第二电子设备为不同的虚拟机设置的访问权限不同,例如,不同虚拟机能够访问的存储区域不同。预设通信媒介对应第二电子设备允许第一虚拟机能够访问的存储区域。
在一可选实施例中,第一虚拟机可以访问多个电子设备(包含第二电子设备)中存储的数据,针对不同的电子设备具有相应的预设通信媒介。
步骤S203:第一虚拟机111基于所述待读数据在所述第二电子设备的位置以及所述第二虚拟机的通信地址,生成第二数据读请求。
在一可选实施例中,第二数据读请求的格式可以如下:
步骤S204:第一虚拟机111通过所述预设通信媒介将所述第二数据读请求发送至所述第二电子设备12。
图2中用阴影部分表示预设通信媒介。
步骤S205:第二电子设备12基于所述待读数据在所述第二电子设备的位置,获得待读数据,将待读数据发送至第二虚拟机131。
在一可选实施例中,第一电子设备11与所述第二电子设备12可以为不同电子设备;此时,待读数据存储在第二电子设备12的第一存储区域,第一存储区域为第二电子设备设置的至少使得第一虚拟机111能够访问的存储区域。
在一可选实施例中,第一电子设备11与所述第二电子设备12属于同一电子设备;所述待读数据存储在所述第一电子设备11的第二存储区域,所述第二存储区域为所述第一电子设备11设置的至少使得所述第一虚拟机能够访问的存储区域。
本发明实施例中,第二数据读请求携带有第二虚拟机131的通信地址,使得第二电子设备可以知道是第二虚拟机131需要获得该待读数据,因此,可以由第二电子设备直接将待读数据发送至第二虚拟机131,从而无需经过第一虚拟机。
现有技术中,第一虚拟机接收到第一数据读请求后,直接基于待读数据在第二电子设备的位置,从第二电子设备中获得待读数据。因此,第二电子设备12只能将待读数据传输至第一虚拟机,第一虚拟机再转发至第二虚拟机。因为第一虚拟机无法将第二虚拟机的通信地址携带在第二数据读请求中。
下面详细说明本发明实施例是如何克服现有技术中的难题,生成携带有第二虚拟机的通信地址的第二数据读请求的过程。
如图3所示,为本发明实施例提供的数据获取方法中生成第二数据读请求的一种实现方式的流程图,该方法包括:
步骤S301:第一虚拟机111在用户态将第二虚拟机的通信地址进行拆分,得到预设数目个子通信地址。
步骤S302:第一虚拟机111将所述预设数目个子通信地址按照预设规则分别存储在至少一个所述预设变量的第二位置。
本发明实施例中预设变量的数目可能为多个,每个预设变量的第一位置承载有待读数据的部分位置信息。例如,预设变量的数目为2,且分别为待读数据的偏移位置变量(用offset表示)以及,待读数据的长度变量(用length表示)。
预设数目与预设变量的数目有关,预设数目小于或等于预设变量的数目。
在一可选实施例中,假设预设变量为待读数据的偏移位置变量,以及,待读数据的长度变量,假设预设数目为2,假设第二虚拟机131的通信地址为IP地址——175.188.188.100,假设IP地址被划分为:175.188以及188.100两个子通信地址。
在一可选实施例中,预设规则可以为将第二虚拟机的IP地址的子通信地址175.188存储至offset变量的第二位置,将第二虚拟机的IP的子通信地址188.100储至length的第二位置,如图4所示,为本发明实施例提供的第二数据读请求的格式示意图。
Offset变量包含至少两部分,第一位置存储有待读数据的偏移位置,第二位置存储有IP地址的子通信地址175.188;length变量包括至少两个部分,第一位置存储有待读数据的长度变量,第二位置存储有IP地址的子通信地址188.100。
图4所示的第一位置位于第二位置之前,在一可选实施例中,第二位置可以位于第一位置之前;在一可选实施例中,第一位置和第二位置可以不相邻。
本发明实施例中的“预设规则”用于指示第二虚拟机的通信地址的各子通信地址的存储位置,或,用于指示第二虚拟机的通信地址的各子通信地址的存储位置以及各子通信地址之间的顺序关系。
步骤S303:第一虚拟机111调用用于传输所述至少一个预设变量的读接口,将所述至少一个预设变量发送至用于控制访问硬件资源的内核态程序。
存储待读数据的存储区域为硬件存储区域,因此,需要调用标准读接口,将所述至少一个预设变量传输至用于控制访问硬件资源的内核态程序。由于标准读接口只能传输预设变量,不能传输第二虚拟机的通信地址,因此,本发明实施例巧妙的将第二虚拟机的通信地址进行拆分,并存储至预设变量中,从而实现了在不被标准读接口“发现”的情况下,通过标准读接口传输第二虚拟机的通信地址。即本发明实施例将第二虚拟机的通信地址“伪装”成了预设变量。
步骤S304:第一虚拟机111在内核态基于所述至少一个预设变量以及所述预设规则,获得所述第二虚拟机的通信地址和所述待读数据的位置信息。
在第二虚拟机的通信地址通过标准读接口后,就可以还原第二虚拟机的通信地址以及待读数据的位置信息。
通过预设规则就知道第二虚拟机的通信地址在预设变量中的位置,若第二虚拟机的通信地址被划分为多个子通信地址,则通过预设规则就知道各子通信地址之间的顺序,从而可以还原出第二虚拟机的通信地址。
步骤S305:第一虚拟机111基于所述第二虚拟机的通信地址以及所述待读数据在所述第二电子设备的位置,生成所述第二数据读请求。
第一虚拟机11可以基于待读数据在第二电子设备的位置,得到待读数据所在至少一个物理块的块地址,以及,所述至少一个物理块分别对应的偏移地址,以及,所述至少一个物理块分别对应的长度信息。
在一可选实施例中,假设待读数据位于3个物理块中,假设3个物理块分别为物理块1、物理块2以及物理块3,其中,物理块1、物理块2以及物理块3的块地址分别为:id1、id2以及id3;假设,物理块1的偏移地址offset1,长度length1的数据为部分待读数据;物理块2的偏移地址offset2,长度length2的数据为部分待读数据;物理块3的偏移地址offset3,长度length3的数据为部分待读数据。
在一可选实施例中,第二数据读请求的格式可以如下:
本发明实施例中,第二电子设备12接收到第二数据读请求后,可以基于第二数据读请求获得待读数据,在一可选实施例中,若第二数据读请求携带的偏移地址是相对于第一虚拟机111能够访问属于第二电子设备12的第一存储区域而言,则第二电子设备12还需要基于待读数据在第一存储区域的相对位置,得到待读数据在第二电子设备中的绝对位置。如图5所示,为本发明实施例提供的相对位置与绝对位置的关系示意图。
如图5,假设第二电子设备12用于存储数据的存储区域为存储区域51,第一存储区域52为存储区域51的部分存储区域。若第二数据读请求携带的相对于第一存储区域52的偏移位置53和长度,若直接将该偏移位置53作为相对于存储区域51的偏移位置,则就会获得以如图5所示的相对于51的偏移位置54为起始位置的相应长度的数据,如阴影1所示,而本发明实施例实际要得到的待读数据的位置如阴影2所示。因此需要将相对位置转换成绝对位置。
以如下第二数据读请求为例进行说明:
需要将待读数据在物理块1的偏移位置1转换为待读数据在第二电子设备的存储区域51的绝对位置1;将将待读数据在物理块2的偏移位置2转换为待读数据在第二电子设备的存储区域51的绝对位置2;将待读数据在物理块3的偏移位置3转换为待读数据在第二电子设备的存储区域51的绝对位置3。
第二电子设备12基于待读数据在第二电子设备的绝对位置,获得待读数据。
在一可选实施例中,由于第一虚拟机111、第二虚拟机131、第二电子设备12之间交互数据,为了表征是针对同一获取数据操作,在第一数据读请求、第二数据读请求以及第二电子设备12向第二虚拟机131反馈的待读数据中均包含事物标识(例如上述的事务ID);同一获取数据操作对应的第一数据读请求、第二数据读请求以及第二电子设备12向第二虚拟机131反馈的待读数据均包含相同的事物标识。
在一可选实施例中,为了避免第二虚拟机131接收到“伪”第二电子设备发送的待读数据,第二虚拟机131接收到待读数据后,还需要等待第一虚拟机111发送的应答消息,第二虚拟机131接收到第一虚拟机111发送的应答消息后,确定接收待读数据完毕。具体方法如图6所示,图6为本发明实施例提供的数据获取方法的另一实现方式的信令图,该方法包括如图2所示的方法,该还包括:
步骤S601:第二电子设备向第一虚拟机111发送第一应答消息,第一应答消息包括:用于表征已经成功将所述待读数据发送至所述第二虚拟机的消息,以及,所述事务标识。
步骤S602:第一虚拟机111收到第一应答消息后,生成第二应答消息,所述第二应答消息包括:用于表征已经成功将所述待读数据发送至所述第二虚拟机的消息,以及,所述事务标识。
步骤S603:第一虚拟机111将第二应答消息发送至第二虚拟机131。
如图7所示,为本发明实施例提供了第一虚拟机的一种实现方式的结构图,该第一虚拟机包括:
第一接收模块71,用于接收第一数据读请求,所述第一数据读请求包括待读数据的存储位置信息以及第二虚拟机的通信地址,所述存储位置信息包括:存储所述待读数据的第二电子设备的信息,以及,所述待读数据在所述第二电子设备的位置,所述第二虚拟机为至少通过所述第一虚拟机从所述第二电子设备中获取所述待读数据的虚拟机;
第一获取模块72,用于基于所述第二电子设备的信息,获取所述第一虚拟机与所述第二电子设备之间的预设通信媒介;
第一生成模块73,用于基于所述待读数据在所述第二电子设备的位置以及所述第二虚拟机的通信地址,生成第二数据读请求;
第一发送模块74,用于通过所述预设通信媒介将所述第二数据读请求发送至所述第二电子设备;以使得所述第二电子设备将所述待读数据直接发送至所述第二虚拟机。
在一可选实施例中,所述待读数据的位置信息承载在至少一个预设变量的第一位置,第一生成模块73包括:
第一获取单元,用于将所述第二虚拟机的通信地址进行拆分,得到预设数目个子通信地址;
存储单元,用于将所述预设数目个子通信地址按照预设规则分别存储在至少一个所述预设变量的第二位置;
发送单元,用于调用用于传输所述至少一个预设变量的读接口,将所述至少一个预设变量发送至用于控制访问硬件资源的内核态程序;
所述内核态程序用于:
基于所述至少一个预设变量以及所述预设规则,获得所述第二虚拟机的通信地址和所述待读数据的位置信息;
基于所述第二虚拟机的通信地址以及所述待读数据在所述第二电子设备的位置,生成所述第二数据读请求。
在一可选实施例中,所述第二虚拟机的通信地址包括所述第二虚拟机的IP地址,或,所述第二虚拟机的通信地址包括所述第二虚拟机的IP地址以及端口号。
在一可选实施例中,所述第一电子设备与所述第二电子设备为不同电子设备;所述待读数据存储在所述第二电子设备的第一存储区域,所述第一存储区域为所述第二电子设备设置的至少使得所述第一虚拟机能够访问的存储区域;
或,
所述第一电子设备与所述第二电子设备属于同一电子设备;所述待读数据存储在所述第一电子设备的第二存储区域,所述第二存储区域为所述第一电子设备设置的至少使得所述第一虚拟机能够访问的存储区域。
在一可选实施例中,所述第一数据读请求还包括用于表征与所述第一数据读请求相对应的事务标识;所述第二数据读请求还包括所述事务标识;还包括:
第二接收模块,用于接收所述第二电子设备反馈的第一应答消息,所述第一应答消息包括:用于表征已经成功将所述待读数据发送至所述第二虚拟机的消息,以及,所述事务标识;
第二生成模块,用于生成第二应答消息,所述第二应答消息包括:用于表征已经成功将所述待读数据发送至所述第二虚拟机的消息,以及,所述事务标识;
第二发送模块,用于将所述第二应答消息发送至所述第二虚拟机。
如图8所示,为本发明实施例提供的第二虚拟机的一种实现方式的结构图,该第二虚拟机包括:
第一获取模块81,用于通过预设通信媒介获得第一虚拟机发送的第二数据读请求,所述第二数据读请求包括:待读数据在所述第二电子设备的第一存储区域的位置以及第二虚拟机的通信地址,所述第二虚拟机为至少通过所述第一虚拟机从所述第二电子设备中获取所述待读数据的虚拟机,所述第一存储区域为所述第二电子设备设置的至少使得所述第一虚拟机能够访问的存储区域;
第二获取模块82,用于基于所述待读数据在所述第一存储区域的位置,获取所述待读数据;
第一发送模块83,用于基于所述第二虚拟机的通信地址,将所述待读数据发送至所述第二虚拟机。
在一可选实施例中,第二获取模块包括:
第一获取单元,用于基于所述待读数据在所述第一存储区域的相对位置,获得所述待读数据在所述第二电子设备中的绝对位置;
第二获取单元,用于基于所述待读数据在所述第二电子设备中的绝对位置,获取所述待读数据。
在一可选实施例中,所述第二数据读请求包括用于表征与所述第二数据读请求相对应的事务标识,还包括:
生成模块,用于生成第一应答消息,所述第一应答消息包括:用于表征已经成功将所述待读数据发送至所述第二虚拟机的消息,以及,所述事务标识;
第二发送模块,用于将所述第一应答消息分别发送至所述第一虚拟机。
如图9所示,为本发明实施例提供的第一电子设备的一种实现方式的结构图,该第一电子设备包括:
存储器91,用于存储程序;
处理器92,用于执行所述程序,所述程序具体用于:
接收第一数据读请求,所述第一数据读请求包括待读数据的存储位置信息以及第二虚拟机的通信地址,所述存储位置信息包括:存储所述待读数据的第二电子设备的信息,以及,所述待读数据在所述第二电子设备的位置,所述第二虚拟机为至少通过所述第一虚拟机从所述第二电子设备中获取所述待读数据的虚拟机;
基于所述第二电子设备的信息,获取所述第一虚拟机与所述第二电子设备之间的预设通信媒介;
基于所述待读数据在所述第二电子设备的位置以及所述第二虚拟机的通信地址,生成第二数据读请求;
通过所述预设通信媒介将所述第二数据读请求发送至所述第二电子设备;以使得所述第二电子设备将所述待读数据直接发送至所述第二虚拟机。
处理器92可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
可选的,第一电子设备还可以包括通信总线93以及通信接口94,其中,存储器91、处理器92、通信接口94、通过通信总线93完成相互间的通信;
可选的,通信接口94可以为通信模块的接口,如GSM模块的接口。
如图10所示,为本发明实施例提供的第二电子设备的一种实现方式的结构图,该第二电子设备包括:
存储器1001,用于存储程序;
处理器1002,用于执行所述程序,所述程序具体用于:
通过预设通信媒介获得第一虚拟机发送的第二数据读请求,所述第二数据读请求包括:待读数据在所述第二电子设备的第一存储区域的位置以及第二虚拟机的通信地址,所述第二虚拟机为至少通过所述第一虚拟机从所述第二电子设备中获取所述待读数据的虚拟机,所述第一存储区域为所述第二电子设备设置的至少使得所述第一虚拟机能够访问的存储区域;
基于所述待读数据在所述第一存储区域的位置,获取所述待读数据;
基于所述第二虚拟机的通信地址,将所述待读数据发送至所述第二虚拟机。
处理器1002可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
可选的,第二电子设备还可以包括通信总线1003以及通信接口1004,其中,存储器1001、处理器1002、通信接口1004、通过通信总线1003完成相互间的通信;
可选的,通信接口1004可以为通信模块的接口,如GSM模块的接口。
一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述任一项所述应用于第一电子设备中的第一虚拟机的数据获取方法的各个步骤。
一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述任一项所述应用于第二电子设备中的数据获取方法的各个步骤。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求
或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,
术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种数据获取方法,其特征在于,应用于第一电子设备中的第一虚拟机,所述数据获取方法包括:
接收第一数据读请求,所述第一数据读请求包括待读数据的存储位置信息以及第二虚拟机的通信地址,所述存储位置信息包括:存储所述待读数据的第二电子设备的信息,以及,所述待读数据在所述第二电子设备的位置,所述第二虚拟机为至少通过所述第一虚拟机从所述第二电子设备中获取所述待读数据的虚拟机;
基于所述第二电子设备的信息,获取所述第一虚拟机与所述第二电子设备之间的预设通信媒介;
基于所述待读数据在所述第二电子设备的位置以及所述第二虚拟机的通信地址,生成第二数据读请求;
通过所述预设通信媒介将所述第二数据读请求发送至所述第二电子设备;以使得所述第二电子设备将所述待读数据直接发送至所述第二虚拟机。
2.根据权利要求1所述数据获取方法,其特征在于,所述待读数据的位置信息承载在至少一个预设变量的第一位置,所述生成第二数据读请求包括:
将所述第二虚拟机的通信地址进行拆分,得到预设数目个子通信地址;
将所述预设数目个子通信地址按照预设规则分别存储在至少一个所述预设变量的第二位置;
调用用于传输所述至少一个预设变量的读接口,将所述至少一个预设变量发送至用于控制访问硬件资源的内核态程序;
所述内核态程序用于:
基于所述至少一个预设变量以及所述预设规则,获得所述第二虚拟机的通信地址和所述待读数据的位置信息;
基于所述第二虚拟机的通信地址以及所述待读数据在所述第二电子设备的位置,生成所述第二数据读请求。
3.根据权利要求1所述数据获取方法,其特征在于,
所述第一电子设备与所述第二电子设备为不同电子设备;所述待读数据存储在所述第二电子设备的第一存储区域,所述第一存储区域为所述第二电子设备设置的至少使得所述第一虚拟机能够访问的存储区域;
或,
所述第一电子设备与所述第二电子设备属于同一电子设备;所述待读数据存储在所述第一电子设备的第二存储区域,所述第二存储区域为所述第一电子设备设置的至少使得所述第一虚拟机能够访问的存储区域。
4.根据权利要求1所述数据获取方法,其特征在于,所述第一数据读请求还包括用于表征与所述第一数据读请求相对应的事务标识;所述第二数据读请求还包括所述事务标识;所述数据获取方法还包括:
接收所述第二电子设备反馈的第一应答消息,所述第一应答消息包括:用于表征已经成功将所述待读数据发送至所述第二虚拟机的消息,以及,所述事务标识;
生成第二应答消息,所述第二应答消息包括:用于表征已经成功将所述待读数据发送至所述第二虚拟机的消息,以及,所述事务标识;
将所述第二应答消息发送至所述第二虚拟机。
5.一种数据获取方法,其特征在于,应用第二电子设备,所述数据获取方法包括:
通过预设通信媒介获得第一虚拟机发送的第二数据读请求,所述第二数据读请求包括:待读数据在所述第二电子设备的第一存储区域的位置以及第二虚拟机的通信地址,所述第二虚拟机为至少通过所述第一虚拟机从所述第二电子设备中获取所述待读数据的虚拟机,所述第一存储区域为所述第二电子设备设置的至少使得所述第一虚拟机能够访问的存储区域;
基于所述待读数据在所述第一存储区域的位置,获取所述待读数据;
基于所述第二虚拟机的通信地址,将所述待读数据发送至所述第二虚拟机。
6.根据权利要求5所述数据获取方法,其特征在于,所述第二数据读请求包括用于表征与所述第二数据读请求相对应的事务标识,所述数据获取方法还包括:
生成第一应答消息,所述第一应答消息包括:用于表征已经成功将所述待读数据发送至所述第二虚拟机的消息,以及,所述事务标识;
将所述第一应答消息分别发送至所述第一虚拟机。
7.一种第一虚拟机,其特征在于,包括:
第一接收模块,用于接收第一数据读请求,所述第一数据读请求包括待读数据的存储位置信息以及第二虚拟机的通信地址,所述存储位置信息包括:存储所述待读数据的第二电子设备的信息,以及,所述待读数据在所述第二电子设备的位置,所述第二虚拟机为至少通过所述第一虚拟机从所述第二电子设备中获取所述待读数据的虚拟机;
第一获取模块,用于基于所述第二电子设备的信息,获取所述第一虚拟机与所述第二电子设备之间的预设通信媒介;
第一生成模块,用于基于所述待读数据在所述第二电子设备的位置以及所述第二虚拟机的通信地址,生成第二数据读请求;
第一发送模块,用于通过所述预设通信媒介将所述第二数据读请求发送至所述第二电子设备;以使得所述第二电子设备将所述待读数据直接发送至所述第二虚拟机。
8.一种第二虚拟机,其特征在于,包括;
第一获取模块,用于通过预设通信媒介获得第一虚拟机发送的第二数据读请求,所述第二数据读请求包括:待读数据在所述第二电子设备的第一存储区域的位置以及第二虚拟机的通信地址,所述第二虚拟机为至少通过所述第一虚拟机从所述第二电子设备中获取所述待读数据的虚拟机,所述第一存储区域为所述第二电子设备设置的至少使得所述第一虚拟机能够访问的存储区域;
第二获取模块,用于基于所述待读数据在所述第一存储区域的位置,获取所述待读数据;
第一发送模块,用于基于所述第二虚拟机的通信地址,将所述待读数据发送至所述第二虚拟机。
9.一种第一电子设备,其特征在于,包括:
存储器,用于存储程序;
处理器,用于执行所述程序,所述程序具体用于:
接收第一数据读请求,所述第一数据读请求包括待读数据的存储位置信息以及第二虚拟机的通信地址,所述存储位置信息包括:存储所述待读数据的第二电子设备的信息,以及,所述待读数据在所述第二电子设备的位置,所述第二虚拟机为至少通过所述第一虚拟机从所述第二电子设备中获取所述待读数据的虚拟机;
基于所述第二电子设备的信息,获取所述第一虚拟机与所述第二电子设备之间的预设通信媒介;
基于所述待读数据在所述第二电子设备的位置以及所述第二虚拟机的通信地址,生成第二数据读请求;
通过所述预设通信媒介将所述第二数据读请求发送至所述第二电子设备;以使得所述第二电子设备将所述待读数据直接发送至所述第二虚拟机。
10.一种第二电子设备,其特征在于,包括:
存储器,用于存储程序;
处理器,用于执行所述程序,所述程序具体用于:
通过预设通信媒介获得第一虚拟机发送的第二数据读请求,所述第二数据读请求包括:待读数据在所述第二电子设备的第一存储区域的位置以及第二虚拟机的通信地址,所述第二虚拟机为至少通过所述第一虚拟机从所述第二电子设备中获取所述待读数据的虚拟机,所述第一存储区域为所述第二电子设备设置的至少使得所述第一虚拟机能够访问的存储区域;
基于所述待读数据在所述第一存储区域的位置,获取所述待读数据;
基于所述第二虚拟机的通信地址,将所述待读数据发送至所述第二虚拟机。
CN201810426287.2A 2018-05-07 2018-05-07 数据获取方法、虚拟机以及电子设备 Active CN108563492B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810426287.2A CN108563492B (zh) 2018-05-07 2018-05-07 数据获取方法、虚拟机以及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810426287.2A CN108563492B (zh) 2018-05-07 2018-05-07 数据获取方法、虚拟机以及电子设备

Publications (2)

Publication Number Publication Date
CN108563492A true CN108563492A (zh) 2018-09-21
CN108563492B CN108563492B (zh) 2022-05-31

Family

ID=63538080

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810426287.2A Active CN108563492B (zh) 2018-05-07 2018-05-07 数据获取方法、虚拟机以及电子设备

Country Status (1)

Country Link
CN (1) CN108563492B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111597226A (zh) * 2020-04-26 2020-08-28 北京百度网讯科技有限公司 数据挖掘***、方法、装置、电子设备及存储介质
CN112187824A (zh) * 2020-10-13 2021-01-05 北京计算机技术及应用研究所 一种基于sdn的虚拟网络访问方法、装置及sdn控制器

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102467408A (zh) * 2010-11-12 2012-05-23 阿里巴巴集团控股有限公司 一种虚拟机数据的访问方法和设备
CN102763098A (zh) * 2009-12-14 2012-10-31 思杰***有限公司 用于在可信和不可信虚拟机之间通信的方法和***
US20130239004A1 (en) * 2012-03-08 2013-09-12 Oracle International Corporation System and method for providing an in-memory data grid application container
CN103944994A (zh) * 2014-04-25 2014-07-23 中国联合网络通信集团有限公司 分布式资源获取方法及装置
CN104469977A (zh) * 2014-09-10 2015-03-25 北京佰才邦技术有限公司 移动通信方法、装置和***
CN105282157A (zh) * 2015-10-22 2016-01-27 中国人民解放军装备学院 一种安全通信控制方法
CN107273186A (zh) * 2017-06-28 2017-10-20 深信服科技股份有限公司 访问虚拟机服务器的方法、物理主机以及虚拟机

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102763098A (zh) * 2009-12-14 2012-10-31 思杰***有限公司 用于在可信和不可信虚拟机之间通信的方法和***
CN102467408A (zh) * 2010-11-12 2012-05-23 阿里巴巴集团控股有限公司 一种虚拟机数据的访问方法和设备
US20130239004A1 (en) * 2012-03-08 2013-09-12 Oracle International Corporation System and method for providing an in-memory data grid application container
CN103944994A (zh) * 2014-04-25 2014-07-23 中国联合网络通信集团有限公司 分布式资源获取方法及装置
CN104469977A (zh) * 2014-09-10 2015-03-25 北京佰才邦技术有限公司 移动通信方法、装置和***
CN105282157A (zh) * 2015-10-22 2016-01-27 中国人民解放军装备学院 一种安全通信控制方法
CN107273186A (zh) * 2017-06-28 2017-10-20 深信服科技股份有限公司 访问虚拟机服务器的方法、物理主机以及虚拟机

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111597226A (zh) * 2020-04-26 2020-08-28 北京百度网讯科技有限公司 数据挖掘***、方法、装置、电子设备及存储介质
CN112187824A (zh) * 2020-10-13 2021-01-05 北京计算机技术及应用研究所 一种基于sdn的虚拟网络访问方法、装置及sdn控制器
CN112187824B (zh) * 2020-10-13 2022-11-22 北京计算机技术及应用研究所 一种基于sdn的虚拟网络访问方法、装置及sdn控制器

Also Published As

Publication number Publication date
CN108563492B (zh) 2022-05-31

Similar Documents

Publication Publication Date Title
TWI701572B (zh) 資料存取的方法、系統及裝置
JP2779587B2 (ja) コンピュータシステムに用いる名前スペースの一部分を別の名前スペースの一部分として利用可能にするための装置及びその方法
CN105719329B (zh) 记账凭证生成方法和***
CN105812321B (zh) 一种基于用户信息管理文件资源的网络文件***和处理方法
CN107315972A (zh) 一种大数据非结构化文件动态脱敏方法及***
CN105117938A (zh) 一种基于模型视图控制器的电商构架请求数据分析方法
CN108427677B (zh) 一种对象访问方法、装置及电子设备
CN106648462B (zh) 数据存储方法及装置
CN109766199A (zh) 一种机器人操作***中的节点通信方法和装置
CN103685608A (zh) 一种自动配置安全虚拟机ip地址的方法及装置
CN114281484B (zh) 数据传输方法、装置、设备及存储介质
CN108243079A (zh) 一种基于vpc进行网络访问的方法与设备
CN108268609A (zh) 一种文件路径的建立、访问方法和装置
US20110246600A1 (en) Memory sharing apparatus
CN108563492A (zh) 数据获取方法、虚拟机以及电子设备
US8380806B2 (en) System and method for absolute path discovery by a storage virtualization system
CN106203141A (zh) 一种应用的数据处理方法和装置
CN107888663A (zh) 一种分发文件的方法、设备及计算机可读介质
CN107172061A (zh) 一种实现共享的方法和***
CN104571934B (zh) 一种内存访问的方法、设备和***
CN105897865B (zh) 一种协议无关的网络文件服务管理***和方法
CN113221165B (zh) 一种基于区块链的用户要素认证方法及装置
JP6755539B2 (ja) ネットワークに著作物を公開するための方法および装置
CN111200645A (zh) 业务请求处理方法、装置、设备及可读存储介质
CN106027632A (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