CN104281486A - 一种虚拟机处理方法和装置 - Google Patents
一种虚拟机处理方法和装置 Download PDFInfo
- Publication number
- CN104281486A CN104281486A CN201410505494.9A CN201410505494A CN104281486A CN 104281486 A CN104281486 A CN 104281486A CN 201410505494 A CN201410505494 A CN 201410505494A CN 104281486 A CN104281486 A CN 104281486A
- Authority
- CN
- China
- Prior art keywords
- file
- server
- fileinfo
- specified file
- specified
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种虚拟机处理方法和装置,属于计算机技术领域。所述方法包括:获取VM接收的指定文件启动指令,启动指令中包括指定文件的文件信息;根据获取的指定文件的文件信息和VM所在第一服务器内存中已启动文件的文件信息,判断内存中是否包含指定文件;若确定内存中包含指定文件,则读取缓存在内存中的指定文件,启动指定文件。本发明提供的虚拟机处理方法和装置,在多个VM先后启动同一文件的情况下,在后启动该文件的VM只需读取在先启动该文件的VM缓存在内存中的文件数据,就可以启动文件,无需读取第二服务器的存储空间中的文件数据,大大提高了文件的启动效率。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种虚拟机处理方法和装置。
背景技术
VM(Virtual Machine,虚拟机)技术常应用于数据中心、集群计算场合。该技术让多个操作系统可以运行在同一个物理机上,并提供了可靠的隔离,大大提高了物理资源的复用性。在现有技术中,用户通过登录云计算服务器的VM来共享云计算服务器上的硬件、文件资源和服务,完成自身的工作。而云计算服务器中的文件资源如操作系统和各类应用软件都存储在云计算服务器为各VM分配的存储空间中,在用户想要使用VM中的文件时,则向VM发出启动VM中文件的指令,启动VM的存储空间中存储的文件。
目前存在的VM中文件的启动过程,当用户想要启动VM的某个文件时,用户会向VM发出该文件的启动指令,VM在得到该文件的启动指令后,会先从所分配的存储空间中获取该文件相应的文件数据,将获取的文件数据读取到内存中,完成该文件的启动操作。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
当多个用户向各自对应的VM发出启动同一文件的启动指令时,各个VM都会先从各自的存储空间中获取待启动文件,然后将待启动文件读入到云计算服务器的内存中,完成文件的启动,但这种文件的启动方式效率较低。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种虚拟机处理方法和装置。所述技术方案如下:
第一方面,本发明实施例提供了一种虚拟机处理方法,所述方法包括:
获取VM接收的指定文件启动指令,所述启动指令中包括所述指定文件的文件信息;
根据获取的所述指定文件的文件信息和所述VM所在第一服务器内存中已启动文件的文件信息,判断所述内存中是否包含所述指定文件;
若确定所述内存中包含所述指定文件,则读取所述内存中的指定文件,启动所述指定文件。
在第一方面的第一种可能的实现方式中,在所述获取VM接收的指定文件启动指令步骤之前,所述方法还包括:
获取所述指定文件的文件信息;
根据获取到的所述指定文件的文件信息,判断第二服务器中是否存储有所述指定文件;
若确定所述第二服务器中未存储有指定文件,则将所述指定文件和指定文件的文件信息存储到所述第二服务器中,否则舍弃所述指定文件。
在第一方面的第二种可能的实现方式中,所述方法还包括:
获取第一文件拷贝指令,所述第一文件拷贝指令包括待拷贝文件的文件信息和源VM标识;
获取所述第二服务器中预先存储的VM标识集合;
根据获取到的所述源VM标识和所述VM标识集合,判断源VM和目的VM是否连接同一第二服务器;
若确定所述源VM和所述目的VM连接同一第二服务器,则存储所述文件拷贝指令携带的文件信息。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述根据获取到的所述源VM标识和所述VM标识集合,判断源VM和目的VM是否连接同一第二服务器步骤,包括:
根据获取到的所述源VM标识,对所述VM标识集合中存储的VM标识进行遍历操作;
通过对所述VM标识集合中存储的VM标识进行遍历操作,确定所述源VM和所述目的VM是否连接同一第二服务器。
在第一方面的第四种可能的实现方式中,所述方法还包括:
获取目的VM接收的第二文件拷贝指令,所述第二文件拷贝指令包括待拷贝文件的文件名和保存路径;
根据获取到的所述待拷贝文件的文件名和保存路径查询预先存储的文件信息列表中与所述待拷贝文件的文件名和保存路径一致的文件信息;
将查询到的文件信息返回给所述目的VM进行存储。
在第一方面的第五种可能的实现方式中,所述文件信息是元数据。
第二方面,本发明实施例提供了一种虚拟机处理装置,所述装置包括:
第一获取模块,用于获取VM接收的指定文件启动指令,所述启动指令中包括所述指定文件的文件信息;
第一判断模块,用于根据获取的所述指定文件的文件信息和所述VM所在第一服务器内存中已启动文件的文件信息,判断所述内存中是否包含所述指定文件;
启动模块,用于若确定所述内存中包含所述指定文件,则读取所述内存中的指定文件,启动所述指定文件。
在第二方面的第一种可能的实现方式中,所述装置还包括:
第二获取模块,用于获取所述指定文件的文件信息;
第二判断模块,用于根据获取到的所述指定文件的文件信息,判断第二服务器中是否存储有所述指定文件;
处理模块,用于若确定所述第二服务器中未存储有指定文件,则将所述指定文件和指定文件的文件信息都存储到所述第二服务器中,否则舍弃所述指定文件。
在第二方面的第二种可能的实现方式中,所述装置还包括:
第三获取模块,用于获取第一文件拷贝指令,所述第一文件拷贝指令包括待拷贝文件的文件信息和源VM标识;
第四获取模块,用于获取所述第二服务器中预先存储的VM标识集合;
第三判断模块,用于根据获取到的所述源VM标识和所述VM标识集合,判断源VM和目的VM是否连接同一第二服务器;
存储模块,用于若确定所述源VM和所述目的VM连接同一第二服务器,则存储所述文件拷贝指令携带的文件信息。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,
所述第三判断模块,用于:
根据获取到的所述源VM标识,对所述VM标识集合中存储的VM标识进行遍历操作;
通过对所述VM标识集合中存储的VM标识进行遍历操作,确定所述源VM和所述目的VM是否连接同一第二服务器。
在第二方面的第四种可能的实现方式中,所述装置还包括:
第五获取模块,用于获取目的VM接收的第二文件拷贝指令,所述第二文件拷贝指令包括待拷贝文件的文件名和保存路径;
查询模块,用于根据获取到的所述待拷贝文件的文件名和保存路径查询预先存储的文件信息列表中与所述待拷贝文件的文件名和保存路径一致的文件信息;
传输模块,用于将查询到的文件信息返回给所述目的VM进行存储。
在第二方面的第五种可能的实现方式中,所述文件信息是元数据。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例提供的虚拟机处理方法和装置,在启动指定文件之前,先通过获取的指定文件的文件信息和VM所在第一服务器内存中已启动文件的文件信息,判断第一服务器的内存中是否包含指定文件;若确定内存中包含指定文件,则读取缓存在内存中的指定文件,启动指定文件;在多个VM先后启动同一文件的情况下,在后启动该文件的VM只需读取在先启动该文件的VM缓存在内存中的文件数据,就可以启动文件,无需读取第二服务器的存储空间中的文件数据,大大提高了文件的启动效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的虚拟机处理方法所涉及的一种实施环境的结构示意图;
图2是本发明实施例提供的虚拟机处理方法所涉及的另一种实施环境的结构示意图;
图3是本发明实施例一提供的虚拟机处理方法流程图;
图4是本发明实施例二提供的虚拟机处理方法流程图;
图5是本发明实施例二提供的虚拟机处理方法中在VM之间进行数据拷贝的流程图;
图6是本发明实施例二提供的虚拟机处理方法中在VM和第二服务器之间进行数据拷贝的流程图;
图7是本发明实施例三提供的虚拟机处理装置结构示意图;
图8是本发明实施例四提供的虚拟机处理装置结构示意图;
图9是本发明实施例五提供的虚拟机处理装置结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另作定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本发明专利申请说明书以及权利要求书中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”或者“一”等类似词语也不表示数量限制,而是表示存在至少一个。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也相应地改变。
参见图1,其示出了本发明实施例提供的虚拟机处理方法所涉及的一种实施环境的结构示意图,该环境包括:第一服务器100、和与第一服务器100连接的第二服务器110。第一服务器100设置有文件共享客户端120,第一服务器100通过文件共享客户端120连接第二服务器110。
其中,第一服务器100和第二服务器110是2个独立的服务器。
其中,第一服务器100可以是任何可以设置多个VM(如图1所示,第一服务器100包括:虚拟机A、虚拟机B和虚拟机C)的网络服务器、本地服务器或者云计算服务器。
第二服务器110,可以是任何用于存储以及共享文件的服务器。第二服务器中共享的文件可供第一服务器上设置的多个VM读取使用。
虚拟机A、虚拟机B和虚拟机C分别设置有文件系统代理软件D、文件系统代理软件E、文件系统代理软件F,文件系统代理软件D、文件系统代理软件E、文件系统代理软件F通过第一服务器100设置的文件共享客户端120读取第二服务器110中存储的文件,文件共享客户端120将读取的文件缓存到内存中。
进一步地,文件系统代理软件可以记录VM访问文件的统计信息,然后将形成的统计信息发送给第二服务器进行保存,以便后续研究使用。访问文件的统计信息包括但不限于:访问的次数和访问的时间等。
可选地,参见图2,其示出了本发明实施例提供的虚拟机处理方法所涉及的另一种实施环境的结构示意图,该实施场景下第二服务器110以一功能模块的形式设置在第一服务器100中。
实施例一
参见图3,本发明实施例提供一种虚拟机处理方法,方法流程包括:
步骤200、第一服务器中的文件系统代理软件获取VM接收的指定文件启动指令,启动指令中包括指定文件的文件信息。
其中,指定文件包括但不限于:操作系统和在操作系统上面运行的各种软件;指定文件的文件信息包括但不限于:指定文件的文件名、指定文件的版本信息、指定文件的保存路径和指定文件的大小中的至少一项;指定文件的文件信息用于表征指定文件。
步骤201、第一服务器中的文件共享客户端根据获取的指定文件的文件信息和VM所在第一服务器内存中已启动文件的文件信息,判断内存中是否包含指定文件。
具体地,当用户在VM上想要打开指定文件时,可以通过VM的输入设备触发指定文件的启动指令,而VM在接收到用户触发的指定文件启动指令后,会获取所在第一服务器的CPU和内存、网络等配置信息,然后根据获取到的第一服务器的配置信息,启动自身的文件系统代理软件,文件系统代理软件通过文件共享客户端启动指定文件,文件共享客户端将指定文件从第二服务器读取到第一服务器的内存中,完成指定文件的启动。从启动指定文件的过程可以看出,已启动文件都缓存在第一服务器的内存中。
步骤202、若确定内存中包含指定文件,则第一服务器中的文件共享客户端读取内存中的指定文件,启动指定文件。
具体地,第一服务器的文件共享客户端在确定内存中包含指定文件时,先获取内存缓存指定文件的内存地址,然后根据获取到的内存地址,读取与获取到的内存地址对应的内存缓冲区中的指定文件,完成指定文件的启动。
通过以上描述,在多个VM先后启动同一文件的情况下,在后启动该文件的VM只需读取在先启动该文件的VM缓存在内存中的文件数据,就可以启动文件,无需读取第二服务器存储空间中的文件数据,大大提高了文件的启动效率。
实施例二
本发明实施例提供了一种虚拟机处理方法,参见图4,方法流程包括:
步骤300、第一服务器获取指定文件的文件信息。
具体地,指定用户在想要存储指定文件时,会触发VM的指定文件存储指令,VM在得到指定用户发出的指定文件存储指令后,会触发第一服务器发出从存储指定文件的存储设备中获取指定文件的文件信息的指令。而第一服务器在得到获取指定文件的文件信息的指令后,会从存储指定文件的存储设备中获取指定文件的文件信息。
其中,存储指定文件的存储设备可以是网络上任意存储指定文件的计算机、网盘、或者服务器,也可以是任意便携存储装置,如:U盘或者移动硬盘。
进一步地,文件信息可以是元数据。元数据包括但不限于:文件的文件名、文件的保存路径和文件的大小等数据信息。
步骤301、根据获取到的指定文件的文件信息,第一服务器判断第二服务器中是否存储有指定文件。
如果第二服务器中存储有指定文件,则执行步骤302。
如果第二服务器中未存储有指定文件,则执行步骤303。
具体地,第一服务器在获取到指定文件的文件信息后,从第二服务器获取文件信息列表,然后根据指定文件的文件信息中记录的指定文件的文件名和版本信息,遍历文件信息列表,逐条查询文件信息列表中的各条文件信息的文件名和版本信息是否与指定文件的文件名和版本信息相一致。
可选地,第一服务器也可以预先存储文件信息列表,在获取到指定文件的文件信息后,直接对文件信息列表进行遍历,逐条查询文件信息列表中的各条文件信息的文件名和版本信息是否与指定文件的文件名和版本信息相一致,而无需再实时从第二服务器中获取文件信息列表。
其中,文件信息列表预先设置在第一服务器或者第二服务器中,第二服务器中存储的所有文件的文件信息存储在文件信息列表中。文件信息列表用于维护第二服务器中存储的文件。
步骤302、若确定第二服务器中未存储有指定文件,第一服务器将指定文件和指定文件的文件信息都存储到第二服务器中。
具体地,第一服务器在文件信息列表中逐条查询各条文件信息的文件名和版本信息,判断各条文件信息的文件名和版本信息是否与指定文件的文件名和版本信息相一致,得到一查询结果,如果查询结果指示文件信息列表中没有文件名和版本信息与指定文件相一致的文件信息,那么就会向第二服务器发出指定文件接收指令,并将指定文件的文件信息发送到第二服务器。而第二服务器将第一服务器发出的指定文件的文件信息存储到文件信息列表中,并在接收到第一服务器发出的指定文件接收指令后,从存储指定文件的存储设备中获取指定文件,并将获取到的指定文件存储在第二服务器的存储空间中。
在指定文件的文件信息中,指定文件的文件名、版本信息和文件的大小都是指定文件的自身属性,不会因为指定文件的存储位置的改变而改变。但是指定文件的文件信息中的指定文件的保存路径是用于标识指定文件在不同存储设备中的逻辑存储地址的,所以指定文件的保存路径会根据指定文件在不同存储设备上不同的逻辑存储地址而改变。
因此,在本发明实施例中,在第二服务器存储指定文件后,根据指定文件的存储位置对指定文件的文件信息进行修改。
具体地,将指定文件的文件信息中的指定文件的保存路径修改为该指定文件在第二服务器的逻辑存储地址。
比如,指定文件在某个存储设备中的文件信息是:文件名是WIN7、文件版本信息是SP1、保存路径是该存储设备的D盘根目录、指定文件的大小是10千兆字节。在指定文件从该存储设备存储到第二服务器后,指定文件的逻辑存储地址是第二服务器的E盘根目录,那么指定文件的文件信息修改为:文件名是WIN7、文件版本信息是SP1、保存路径是第二服务器的E盘根目录、指定文件的大小是10千兆字节。
步骤303、若确定第二服务器中存储有指定文件,则第一服务器命令第二服务器放弃存储指定文件。
具体地,如果查询结果指示文件信息列表中存在文件名和版本信息与指定文件相一致的文件信息,则第一服务器就可以确定第二服务器中存储有指定文件,那么第一服务器向第二服务器发出指定文件放弃指令,第二服务器就不会接收和存储指定文件。
通过步骤300至步骤303的描述,在第二服务器存储指定文件之前,根据指定文件的文件名和版本信息判断第二服务器中是否存储有指定文件,如果判断结果指示第二服务器中未存储有指定文件,那么第二服务器存储指定文件,如果判断结果指示第二服务器中已存储有指定文件,那么第二服务器就不会存储指定文件,因此,在第二服务器中只会存储唯一的指定文件,大大节约了第二服务器的存储空间,也避免了在第二服务器存储空间不够的情况下,又要费时费力的对第二服务器存储空间中存储的文件进行查重,然后将重复存储的文件进行删除操作的缺陷。
步骤304、第一服务器中的文件系统代理软件获取VM接收的指定文件启动指令,启动指令中包括指定文件的文件信息。
具体地,用户要启动某一指定文件时,通过VM的输入设备向VM发出启动指定文件的指令,VM在接收到指定文件启动指令后,将指定文件启动指令发送到自己的文件系统代理软件中,接收到指定文件启动指令VM的文件系统代理软件根据获取到的指定文件启动指令,通过文件共享客户端启动指定文件。
其中,VM可以通过预先设置的任意接口接收用户通过VM的输入设备向VM发出启动指定文件的指令,然后通过该接口将指定文件启动指令发送到自己的文件系统代理软件中。
其中,VM的输入设备包括但不限于:鼠标、键盘、触摸屏等。也可以是其他现有的输入设备,这里不再一一赘述。
比如,以指定文件是操作系统为例对本步骤的内容做进一步说明,用户想要启动虚拟机B的操作系统时,可以通过虚拟机B的电源键向虚拟机B发出操作系统启动指令,虚拟机B将操作系统启动指令传输到文件系统代理软件B中。文件系统代理软件B在得到操作系统启动指令后,通过文件共享客户端加载操作系统的文件,进行虚拟机B中操作系统的启动操作。
步骤305、第一服务器中的文件共享客户端根据获取的指定文件的文件信息和VM所在第一服务器内存中已启动文件的文件信息,判断第一服务器的内存中是否包含指定文件。
如果第一服务器的内存中包含指定文件,那么执行步骤306。
如果第一服务器的内存中未包含指定文件,那么执行步骤307。
具体地,第一服务器中的文件共享客户端先获取接收到指定文件启动指令VM的文件系统代理软件传输过来的指定文件启动指令,从指定文件启动指令中获取到文件信息,然后获取第一服务器中已启动文件的进程列表,查询进程列表中的各条文件信息中是否有与指定文件的文件信息相一致的文件信息,来对第一服务器的内存中是否包含指定文件进行判断。
其中,当第一服务器中的任意VM在启动某个文件时,都会将该文件缓存在内存中,并将该文件的文件信息写入到预先设定的进程列表中。
其中,若确定第一服务器的内存中包含指定文件,说明指定文件已由第一服务器中的任意VM启动。
步骤306、若确定内存中包含指定文件,第一服务器中的文件共享客户端读取内存中的指定文件,启动指定文件。
具体地,第一服务器中的文件共享客户端在进程列表中的各条文件信息中查询到与指定文件的文件信息相一致的文件信息,则确定第一服务器的进程列表中存在指定文件的文件信息,那么说明指定文件已经缓存在第一服务器的内存中,则文件共享客户端会先获取第一服务器缓存指定文件的内存地址,然后根据获取到的内存地址读取缓存在第一服务器内存中的指定文件,启动指定文件,完成接收指定文件启动指令的VM对指定文件的启动。
从内存中启动指定文件,使得后续启动指定文件的VM性能极高,在几百甚至几十微秒的时间内就可以启动指定文件,相对于现有从第二服务器的存储空间中启动指定文件需要几秒或者几十秒的启动时间来说,启动效率提升了千倍以上,大大减小了用户等待指定文件启动的时间。
步骤307、若确定第一服务器的内存中未包含指定文件,第一服务器中的文件共享客户端读取第二服务器中的指定文件,启动指定文件。
具体地,第一服务器中的文件共享客户端在进程列表中的各条文件信息中未查询到与指定文件的文件信息相一致的文件信息,则确定第一服务器的内存中未包含指定文件,则从第二服务器中获取指定文件,将从第二服务器中获取指定文件缓存到第一服务器的内存中,启动指定文件,完成接收指定文件启动指令的VM对指定文件的启动。
在同一第一服务器中的不同VM之间在进行数据迁移、或者进行数据备份时,都需要将某一VM的数据拷贝到同一第一服务器中的另一VM中。
进一步地,在本发明实施例中,参见图5,该虚拟机处理方法还包括以下步骤:
步骤400、第一服务器中目的VM的文件系统代理软件获取第一文件拷贝指令,第一文件拷贝指令包括待拷贝文件的文件信息和源VM标识。
具体地,当用户想要从源VM上拷贝文件时,可以通过目的VM的输入设备触发第一文件拷贝指令,然后目的VM将第一文件拷贝指令传输到自己的文件系统代理软件中。
步骤401、第一服务器中目的VM的文件系统代理软件获取第二服务器中预先存储的VM标识集合。
其中,第一服务器中目的VM与第二服务器相连接。第二服务器会将与它连接的虚拟机的VM标识存储在一个VM标识集合中;比如虚拟机B与某一第二服务器相连接,那么该第二服务器的VM标识集合中一定存储有虚拟机B的VM标识。
步骤402、根据获取到的源VM标识和VM标识集合,第一服务器中目的VM的文件系统代理软件判断源VM和目的VM是否连接同一第二服务器。
如果源VM和目的VM连接同一第二服务器,那么执行步骤403。
如果源VM和目的VM未连接同一第二服务器,那么执行步骤404。
具体地,步骤402的流程由步骤4021-步骤4022具体描述。
步骤4021、根据获取到的源VM标识,第一服务器中目的VM的文件系统代理软件对VM标识集合中存储的VM标识进行遍历操作。
步骤4022、通过对VM标识集合中存储的VM标识进行遍历操作,第一服务器中目的VM的文件系统代理软件确定源VM和目的VM是否连接同一第二服务器。
通过步骤402的描述,只需通过遍历操作,确定源VM标识是否存在于第二服务器的VM标识集合中,就可以确定源VM和目的VM是否连接同一第二服务器,无需进行复杂的计算,这大大降低了确定源VM和目的VM是否连接同一第二服务器所消耗的时间,进一步提高了文件的拷贝效率。
步骤403、若确定源VM和目的VM连接同一第二服务器,则第一服务器中目的VM的文件系统代理软件存储文件拷贝指令携带的文件信息。
具体地,如果第一服务器中的目的VM的文件系统代理软件通过对VM标识集合的遍历操作,确定源VM标识存在于第二服务器的VM标识集合中,那么存储文件拷贝指令携带的文件信息。
其中,源VM和目的VM连接同一第二服务器,说明源VM和目的VM共享同一个第二服务器中存储的文件,那么源VM能够从第二服务器中读取的文件,目的VM也可以从第二服务器中读取,所以在这种情况下,目的VM从源VM拷贝文件时,目的VM只需通过文件系统代理软件存储待拷贝文件的文件信息,无需拷贝文件本身,就可以完成待拷贝文件的拷贝。
步骤404、若确定源VM和目的VM未连接同一第二服务器,第一服务器中目的VM的文件系统代理软件则存储文件拷贝指令携带的文件信息,并将从源VM所连接的第二服务器中获取的待拷贝文件存储到目的VM所连接的第二服务器中。
具体地,如果目的VM的文件系统代理软件通过对VM标识集合的遍历操作,确定源VM标识不存在于第二服务器的VM标识集合中,那么目的VM的文件系统代理软件先对文件拷贝指令携带的文件信息进行存储,然后第一服务器向源VM所连接的第二服务器发出文件获取指令,将待拷贝文件和待拷贝文件的文件信息从源VM所连接的第二服务器拷贝到目的VM所连接的第二服务器中,完成从源VM到目的VM的文件拷贝。
通过步骤400-步骤404的描述,在进行VM之间的数据拷贝时,只需将待拷贝文件的文件信息存储到发出文件拷贝指令的目的VM中即可,无需进行文件的数据拷贝,大大提高了文件拷贝的效率,减小了VM占用的云计算服务器的存储空间。而且,由于这种数据的拷贝方式只要将待拷贝文件的文件信息进行拷贝就可以了,在同一云计算服务器中的VM之间进行数据迁移时,可以大大缩短VM之间进行数据迁移的时间,提高数据迁移的效率。
当用户在想使用某个未在第一服务器的各VM上存储、而仅在第二服务器上存储的文件时,需要从第二服务器中拷贝该文件的文件信息。
进一步地,在本发明实施例中,参见图6,该虚拟机处理方法还包括以下步骤:
步骤500、第二服务器获取目的VM接收的第二文件拷贝指令,第二文件拷贝指令包括待拷贝文件的文件名和保存路径。
具体地,目的VM在接收到用户发出的第二文件拷贝指令后,将第二文件拷贝指令通过自身设置的文件系统代理软件、和文件共享客户端发送到第二服务器。
步骤501、第二服务器根据获取到的待拷贝文件的文件名和保存路径查询预先存储的文件信息列表中与待拷贝文件的文件名和保存路径一致的文件信息。
具体地,第二服务器根据获取的待拷贝文件的文件名和保存路径,对预先存储的文件信息列表进行遍历操作,查询文件信息列表中与待拷贝文件的文件名和保存路径一致的文件信息。
步骤502、第二服务器将查询到的文件信息返回给目的VM进行存储。
具体地,第二服务器将查询到的待拷贝文件的文件信息返回给目的VM,目的VM将第二服务器返回的文件信息存储在目的VM的文件系统代理软件中。
通过步骤500-步骤502的描述,在用户向目的VM发出文件拷贝指令后,第二服务器就会通过简单的遍历操作得到待拷贝文件的文件信息,在很短的一段时间内,通常是几秒钟,就可以将待拷贝文件的文件信息返回给目的VM,而无需目的VM从第二服务器长时间的拷贝文件并进行文件的安装操作,节省了获取文件的时间,大大提高了文件的存储效率。
通过以上两种文件存储方式的描述,从VM的用户看来,VM的存储空间中已经存储了用户想要启动的文件,而实际上,VM中只存储了文件的文件信息,不必对文件进行直接存储,实际上文件存储在第二服务器中,当第一服务器中的VM想要启动指定文件时,可以根据指定文件的文件信息,从第二服务器或者第一服务器的内存中对指定文件进行启动。
基于上述描述,本发明实施例提供的虚拟机处理方法,在启动指定文件之前,先通过获取的指定文件的文件信息和VM所在第一服务器内存中已启动文件的文件信息,判断第一服务器的内存中是否包含指定文件;若确定内存中包含指定文件,则读取缓存在内存中的指定文件,启动指定文件;在多个VM先后启动同一文件的情况下,在后启动该文件的VM只需读取在先启动该文件的VM缓存在内存中的文件数据,就可以启动文件,无需读取第二服务器的存储空间中的文件数据,大大提高了文件的启动效率。
实施例三
参见图7,本发明实施例提供了一种虚拟机处理装置,该装置包括:第一获取模块601、第一判断模块602和启动模块603。其中,第一获取模块601,用于获取VM接收的指定文件启动指令,启动指令中包括指定文件的文件信息;第一获取模块601和第一判断模块602相连接,该第一判断模块602用于根据获取的指定文件的文件信息和VM所在第一服务器内存中已启动文件的文件信息,判断内存中是否包含指定文件;该第一判断模块602和启动模块603相连接,该启动模块603用于若确定内存中包含指定文件,则读取内存中的指定文件,启动指定文件。
基于上述描述,本发明实施例提供的虚拟机处理装置,在启动指定文件之前,先通过获取的指定文件的文件信息和VM所在第一服务器内存中已启动文件的文件信息,判断第一服务器的内存中是否包含指定文件;若确定内存中包含指定文件,则读取缓存在内存中的指定文件,启动指定文件;在多个VM先后启动同一文件的情况下,在后启动该文件的VM只需读取在先启动该文件的VM缓存在内存中的文件数据,就可以启动文件,无需读取第二服务器的存储空间中的文件数据,大大提高了文件的启动效率。
实施例四
参见图8,本发明实施例提供了一种虚拟机处理装置,该装置包括:第一获取模块701、第一判断模块702、启动模块703、第二获取模块704、第二判断模块705、处理模块706、第三获取模块707、第四获取模块708、第三判断模块709、存储模块710、第五获取模块711、查询模块712和传输模块713。
具体地,第二获取模块704,用于获取指定文件的文件信息;第二获取模块704和第二判断模块705相连接,该第二判断模块705用于根据获取到的指定文件的文件信息,判断第二服务器中是否存储有指定文件;第二判断模块705和处理模块706相连接,用于若确定第二服务器中未存储有指定文件,则将指定文件和指定文件的文件信息都存储到第二服务器中,否则舍弃指定文件;处理模块706和第一获取模块701相连接,该第一获取模块701用于获取VM接收的指定文件启动指令,启动指令中包括指定文件的文件信息;第一获取模块701和第一判断模块702相连接,该第一判断模块702用于根据获取的指定文件的文件信息和VM所在第一服务器内存中已启动文件的文件信息,判断内存中是否包含指定文件;该第一判断模块702和启动模块703相连接,该启动模块703用于若确定内存中包含指定文件,则从内存中读取指定文件,启动指定文件;启动模块703和第三获取模块707相连接,该第三获取模块707用于获取第一文件拷贝指令,第一文件拷贝指令包括待拷贝文件的文件信息和源VM标识;第三获取模块707和第四获取模块708相连接,第四获取模块708,用于获取第二服务器中预先存储的VM标识集合;第四获取模块708和第三判断模块709相连接,该第三判断模块709用于根据获取到的源VM标识和VM标识集合,判断源VM和目的VM是否连接同一第二服务器;第三判断模块709和存储模块710相连接,该存储模块710用于若确定源VM和目的VM连接同一第二服务器,则存储文件拷贝指令携带的文件信息;启动模块703还和第五获取模块711相连接,该第五获取模块用于获取目的VM接收的第二文件拷贝指令,第二文件拷贝指令包括待拷贝文件的文件名和保存路径;第五获取模块711和查询模块712相连接,查询模块712用于根据获取到的待拷贝文件的文件名和保存路径查询预先存储的文件信息列表中与待拷贝文件的文件名和保存路径一致的文件信息;查询模块712和传输模块713相连接,传输模块用于将查询到的文件信息返回给目的VM进行存储。
具体地,第三判断模块709,用于:
根据获取到的源VM标识,对VM标识集合中存储的VM标识进行遍历操作;
通过对VM标识集合中存储的VM标识进行遍历操作,确定源VM和目的VM是否连接同一第二服务器。
进一步地,文件信息是元数据。
基于上述描述,本发明实施例提供的虚拟机处理装置,在启动指定文件之前,先通过获取的指定文件的文件信息和VM所在第一服务器内存中已启动文件的文件信息,判断第一服务器的内存中是否包含指定文件;若确定内存中包含指定文件,则读取缓存在内存中的指定文件,启动指定文件;在多个VM先后启动同一文件的情况下,在后启动该文件的VM只需读取在先启动该文件的VM缓存在内存中的文件数据,就可以启动文件,无需读取第二服务器的存储空间中的文件数据,大大提高了文件的启动效率。
实施例五
参见图9,本发明实施例提供了一种虚拟机处理装置,包括有存储器800,处理器900以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器800中,且经配置以由处理器900执行一个或者一个以上程序包含用于进行以下操作的指令:
获取VM接收的指定文件启动指令,启动指令中包括指定文件的文件信息;
根据获取的指定文件的文件信息和VM所在第一服务器内存中已启动文件的文件信息,判断内存中是否包含指定文件;
若确定内存中包含指定文件,则读取内存中的指定文件,启动指定文件。
基于上述描述,本发明实施例提供的虚拟机处理装置,在启动指定文件之前,先通过获取的指定文件的文件信息和VM所在第一服务器内存中已启动文件的文件信息,判断第一服务器的内存中是否包含指定文件;若确定内存中包含指定文件,则读取缓存在内存中的指定文件,启动指定文件;在多个VM先后启动同一文件的情况下,在后启动该文件的VM只需读取在先启动该文件的VM缓存在内存中的文件数据,就可以启动文件,无需读取第二服务器的存储空间中的文件数据,大大提高了文件的启动效率。
需要说明的是:上述实施例三、实施例四和实施例五提供的虚拟机处理装置在处理VM的业务时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的虚拟机处理装置与虚拟机处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (12)
1.一种虚拟机VM处理方法,其特征在于,所述方法包括:
获取VM接收的指定文件启动指令,所述启动指令中包括所述指定文件的文件信息;
根据获取的所述指定文件的文件信息和所述VM所在第一服务器内存中已启动文件的文件信息,判断所述内存中是否包含所述指定文件;
若确定所述内存中包含所述指定文件,则读取所述内存中的指定文件,启动所述指定文件。
2.根据权利要求1所述的虚拟机处理方法,其特征在于,在所述获取VM接收的指定文件启动指令步骤之前,所述方法还包括:
获取所述指定文件的文件信息;
根据获取到的所述指定文件的文件信息,判断第二服务器中是否存储有所述指定文件;
若确定所述第二服务器中未存储有指定文件,则将所述指定文件和指定文件的文件信息存储到所述第二服务器中,否则舍弃所述指定文件。
3.根据权利要求1所述的虚拟机处理方法,其特征在于,所述方法还包括:
获取第一文件拷贝指令,所述第一文件拷贝指令包括待拷贝文件的文件信息和源VM标识;
获取所述第二服务器中预先存储的VM标识集合;
根据获取到的所述源VM标识和所述VM标识集合,判断源VM和目的VM是否连接同一第二服务器;
若确定所述源VM和所述目的VM连接同一第二服务器,则存储所述文件拷贝指令携带的文件信息。
4.根据权利要求3所述的虚拟机处理方法,其特征在于,
所述根据获取到的所述源VM标识和所述VM标识集合,判断源VM和目的VM是否连接同一第二服务器步骤,包括:
根据获取到的所述源VM标识,对所述VM标识集合中存储的VM标识进行遍历操作;
通过对所述VM标识集合中存储的VM标识进行遍历操作,确定所述源VM和所述目的VM是否连接同一第二服务器。
5.根据权利要求1所述的虚拟机处理方法,其特征在于,所述方法还包括:
获取目的VM接收的第二文件拷贝指令,所述第二文件拷贝指令包括待拷贝文件的文件名和保存路径;
根据获取到的所述待拷贝文件的文件名和保存路径查询预先存储的文件信息列表中与所述待拷贝文件的文件名和保存路径一致的文件信息;
将查询到的文件信息返回给所述目的VM进行存储。
6.根据权利要求1-5任一项所述的虚拟机处理方法,其特征在于,所述文件信息是元数据。
7.一种虚拟机处理装置,其特征在于,所述装置包括:
第一获取模块,用于获取VM接收的指定文件启动指令,所述启动指令中包括所述指定文件的文件信息;
第一判断模块,用于根据获取的所述指定文件的文件信息和所述VM所在第一服务器内存中已启动文件的文件信息,判断所述内存中是否包含所述指定文件;
启动模块,用于若确定所述内存中包含所述指定文件,则读取所述内存中的指定文件,启动所述指定文件。
8.根据权利要求7所述的虚拟机处理装置,其特征在于,所述装置还包括:
第二获取模块,用于获取所述指定文件的文件信息;
第二判断模块,用于根据获取到的所述指定文件的文件信息,判断第二服务器中是否存储有所述指定文件;
处理模块,用于若确定所述第二服务器中未存储有指定文件,则将所述指定文件和指定文件的文件信息都存储到所述第二服务器中,否则舍弃所述指定文件。
9.根据权利要求7所述的虚拟机处理装置,其特征在于,所述装置还包括:
第三获取模块,用于获取第一文件拷贝指令,所述第一文件拷贝指令包括待拷贝文件的文件信息和源VM标识;
第四获取模块,用于获取所述第二服务器中预先存储的VM标识集合;
第三判断模块,用于根据获取到的所述源VM标识和所述VM标识集合,判断源VM和目的VM是否连接同一第二服务器;
存储模块,用于若确定所述源VM和所述目的VM连接同一第二服务器,则存储所述文件拷贝指令携带的文件信息。
10.根据权利要求9所述的虚拟机处理装置,其特征在于,
所述第三判断模块,用于:
根据获取到的所述源VM标识,对所述VM标识集合中存储的VM标识进行遍历操作;
通过对所述VM标识集合中存储的VM标识进行遍历操作,确定所述源VM和所述目的VM是否连接同一第二服务器。
11.根据权利要求7所述的虚拟机处理装置,其特征在于,所述装置还包括:
第五获取模块,用于获取目的VM接收的第二文件拷贝指令,所述第二文件拷贝指令包括待拷贝文件的文件名和保存路径;
查询模块,用于根据获取到的所述待拷贝文件的文件名和保存路径查询预先存储的文件信息列表中与所述待拷贝文件的文件名和保存路径一致的文件信息;
传输模块,用于将查询到的文件信息返回给所述目的VM进行存储。
12.根据权利要求7-11任一项所述的虚拟机处理装置,其特征在于,所述文件信息是元数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410505494.9A CN104281486B (zh) | 2014-09-26 | 2014-09-26 | 一种虚拟机处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410505494.9A CN104281486B (zh) | 2014-09-26 | 2014-09-26 | 一种虚拟机处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104281486A true CN104281486A (zh) | 2015-01-14 |
CN104281486B CN104281486B (zh) | 2018-04-20 |
Family
ID=52256387
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410505494.9A Active CN104281486B (zh) | 2014-09-26 | 2014-09-26 | 一种虚拟机处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104281486B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106156031A (zh) * | 2015-03-24 | 2016-11-23 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN110147266A (zh) * | 2019-04-29 | 2019-08-20 | 腾讯科技(深圳)有限公司 | 虚拟机启动方法和装置、存储介质及电子装置 |
CN111241040A (zh) * | 2020-01-10 | 2020-06-05 | 阿里巴巴集团控股有限公司 | 信息获取方法、装置、电子设备及计算机存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102033755A (zh) * | 2009-09-30 | 2011-04-27 | 国际商业机器公司 | 用于运行虚拟机镜像的方法和系统 |
CN103092678A (zh) * | 2013-01-22 | 2013-05-08 | 华中科技大学 | 一种多增量虚拟机内存管理系统和方法 |
CN103902401A (zh) * | 2014-03-14 | 2014-07-02 | 汉柏科技有限公司 | 基于监控的虚拟机容错方法及装置 |
-
2014
- 2014-09-26 CN CN201410505494.9A patent/CN104281486B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102033755A (zh) * | 2009-09-30 | 2011-04-27 | 国际商业机器公司 | 用于运行虚拟机镜像的方法和系统 |
CN103092678A (zh) * | 2013-01-22 | 2013-05-08 | 华中科技大学 | 一种多增量虚拟机内存管理系统和方法 |
CN103902401A (zh) * | 2014-03-14 | 2014-07-02 | 汉柏科技有限公司 | 基于监控的虚拟机容错方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106156031A (zh) * | 2015-03-24 | 2016-11-23 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN106156031B (zh) * | 2015-03-24 | 2019-10-29 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN110147266A (zh) * | 2019-04-29 | 2019-08-20 | 腾讯科技(深圳)有限公司 | 虚拟机启动方法和装置、存储介质及电子装置 |
CN110147266B (zh) * | 2019-04-29 | 2024-03-15 | 腾讯科技(深圳)有限公司 | 虚拟机启动方法和装置、存储介质及电子装置 |
CN111241040A (zh) * | 2020-01-10 | 2020-06-05 | 阿里巴巴集团控股有限公司 | 信息获取方法、装置、电子设备及计算机存储介质 |
CN111241040B (zh) * | 2020-01-10 | 2023-04-18 | 阿里巴巴集团控股有限公司 | 信息获取方法、装置、电子设备及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104281486B (zh) | 2018-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105893139B (zh) | 在云存储环境中用于向租户提供存储服务的方法和装置 | |
US10346248B2 (en) | Failure resistant volume creation in a shared storage environment | |
US10983908B1 (en) | Method and system for garbage collection of data protection virtual machines in cloud computing networks | |
US9497257B1 (en) | File level referrals | |
CN111901294A (zh) | 一种构建在线机器学习项目的方法及机器学习系统 | |
US20150095597A1 (en) | High performance intelligent virtual desktop infrastructure using volatile memory arrays | |
CN109983431B (zh) | 用于存储设备中的列表检索的系统和方法 | |
CN104020961A (zh) | 分布式数据存储方法、装置及系统 | |
CN105205143A (zh) | 一种文件存储及处理方法、设备和系统 | |
WO2017095820A1 (en) | Methods and devices for acquiring data using virtual machine and host machine | |
KR101765725B1 (ko) | 대용량 방송용 빅데이터 분산 병렬처리를 위한 동적 디바이스 연결 시스템 및 방법 | |
CN105446794A (zh) | 一种基于虚拟机的磁盘操作方法、装置及系统 | |
CN104601666A (zh) | 日志服务方法及云平台 | |
CN104281486A (zh) | 一种虚拟机处理方法和装置 | |
US8930967B2 (en) | Shared versioned workload partitions | |
CN110352410A (zh) | 跟踪索引节点的访问模式以及预提取索引节点 | |
CN104517067A (zh) | 访问数据的方法、装置及系统 | |
US9239860B1 (en) | Augmenting virtual directories | |
CN107832097B (zh) | 数据加载方法及装置 | |
JP6418419B2 (ja) | ハードディスクがアプリケーションコードを実行するための方法および装置 | |
CN111444148A (zh) | 基于MapReduce的数据传输方法和装置 | |
US9256648B2 (en) | Data handling in a cloud computing environment | |
CN105069081A (zh) | 一种共享资源的访问方法及装置 | |
US20190050455A1 (en) | Adaptive page rendering for a data management system | |
CN118056183A (zh) | 优化即时编译过程 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |