CN103389884A - 处理输入/输出请求的方法、宿主机、服务器和虚拟机 - Google Patents
处理输入/输出请求的方法、宿主机、服务器和虚拟机 Download PDFInfo
- Publication number
- CN103389884A CN103389884A CN2013103229906A CN201310322990A CN103389884A CN 103389884 A CN103389884 A CN 103389884A CN 2013103229906 A CN2013103229906 A CN 2013103229906A CN 201310322990 A CN201310322990 A CN 201310322990A CN 103389884 A CN103389884 A CN 103389884A
- Authority
- CN
- China
- Prior art keywords
- data
- file
- write
- host
- fileinfo
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/188—Virtual file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供处理I/O请求的方法和服务器。该方法包括:从虚拟机接收输入/输出I/O写请求;将该I/O写请求所请求写入的第一数据写入本地持久化存储区域;确定第一数据所属的文件的文件类型;如果第一数据所属的文件的文件类型为用户文件或系统文件,则将第一数据写入远端共享存储区域。本发明实施例中,通过确定本地持久化存储区域存储的第一数据所属的文件的文件类型,在第一数据所属的文件为用户文件或系统文件的情况下将本地持久化存储区域中存储的第一数据写入远端共享存储区域中,能够降低对远端共享存储区域的访问量。
Description
技术领域
本发明涉及信息技术领域,并且具体地,涉及处理输入/输出(input/output,I/O)请求的方法、宿主机、服务器和虚拟机。
背景技术
用户异地工作时能够快捷地访问平时的桌面环境成为新的需求,因此桌面云解决方案得到了越来越广泛的应用。在桌面云方案中,用户可以通过瘦客户机、平板电脑或者其它与网络连接的设备来访问跨平台的应用程序或者整个客户桌面,能够获得与传统的个人电脑一样的体验。
在桌面云方案中,通常采用虚拟桌面基础架构(Virtual DesktopInfrastructure,VDI)形式。这种VDI形式采用“集中计算,分布显示”的原则,支持客户端桌面工作负载托管在数据中心,比如操作系统、应用程序和用户数据等。用户可以通过支持远程桌面协议的客户端设备与数据中心的虚拟机进行通信来实现对虚拟桌面环境的访问。由于虚拟磁盘由数据中心的远端共享存储统一管理,因此在用户发起对虚拟桌面环境的写请求时,每个虚拟机需要在远端共享存储中更新虚拟磁盘,I/O路径较长,从而导致I/O写请求处理延迟,影响用户体验。
发明内容
本发明实施例提供处理I/O请求的方法、宿主机、服务器和虚拟机,能够降低对远端共享存储区域的访问量,并能够减少I/O写请求的延迟,提升用户体验。
第一方面,提供了一种处理输入/输出请求的方法,包括:从虚拟机接收输入/输出I/O写请求;将所述I/O写请求所请求写入的第一数据写入本地持久化存储区域;确定所述第一数据所属的文件的文件类型,其中,所述文件类型包括:临时文件、用户文件和系统文件;如果所述第一数据所属的文件的文件类型为用户文件或系统文件,则将所述第一数据写入远端共享存储区域。
结合第一方面,在第一种可能的实现方式中,所述确定第一数据所属的文件的文件类型,包括:从内存虚拟镜像中读取镜像元数据,所述内存虚拟镜像用于存储镜像元数据,所述镜像元数据用于描述虚拟磁盘的数据属性信息和文件系统的类型;根据所述镜像元数据、所述I/O写请求在所述虚拟磁盘上所对应的起始扇区以及所述第一数据的大小,确定所述第一数据所属的文件的文件类型。
结合第一方面,在第二种可能的实现方式中,所述确定第一数据所属的文件的文件类型,包括:获取所述I/O写请求中携带的第一文件信息,其中所述第一文件信息是由所述虚拟机确定的,且所述第一文件信息用于指示所述第一数据所属的文件;根据所述第一文件信息,确定所述第一数据所属的文件的文件类型。
结合第一方面或第一方面的第一种可能的实现方式或第二种可能的实现方式,在第三种可能的实现方式中,所述将所述第一数据写入远端共享存储区域,包括:将所述第一数据与所述本地持久化存储区域中存储的第二数据进行聚合以得到聚合后的数据,其中第二数据所属的文件的文件类型也为用户文件或系统文件;将所述聚合后的数据写入所述远端共享存储区域。
结合第一方面或第一方面的第一种可能的实现方式至第三种可能的实现方式中任一实现方式,在第四种可能的实现方式中,在所述将所述第一数据写入远端共享存储区域之后,还包括:若所述第一数据所属的文件为用户文件或系统文件,且所述第一数据的使用频率大于或等于第一阈值,则将所述第一数据写入本地缓存区域。
结合第一方面或第一方面的第一种可能的实现方式至第三种可能的实现方式中任一实现方式,在第五种可能的实现方式中,还包括:从所述虚拟机接收I/O读请求;依次在本地缓存区域、所述本地持久化存储区域和所述远端共享存储区域查找所述I/O读请求所请求读取的第三数据,直到查找到所述第三数据为止;向所述虚拟机发送查找到的所述第三数据。
结合第一方面的第五种可能的实现方式,在第六种可能的实现方式中,在所述向所述虚拟机发送查找到的所述第三数据之后,还包括:确定所述第三数据所属的文件的文件类型;在所述第三数据所属的文件的文件类型为用户文件或系统文件,且所述第三数据的使用频率大于或等于第二阈值时,将所述第三数据写入所述本地缓存区域中。
结合第一方面的第六种可能的实现方式,在第七种可能的实现方式中,所述确定所述第三数据所属的文件的文件类型,包括:从内存虚拟镜像中读取镜像元数据,所述内存虚拟镜像用于存储镜像元数据,所述镜像元数据用于描述虚拟磁盘的数据属性信息和文件系统的类型;根据所述镜像元数据、在所述虚拟磁盘上所述I/O读请求所对应的起始扇区以及所述第三数据的大小,确定所述第三数据所属的文件的文件类型。
结合第一方面的第六种可能的实现方式,在第八种可能的实现方式中,所述确定所述第三数据所属的文件的文件类型,包括:获取所述I/O读请求中携带的所述第二文件信息,其中所述第二文件信息是所述虚拟机确定的,所述第二文件信息用于指示所述第三数据所属的文件;根据所述第二文件信息,确定所述第三数据所属的文件的文件类型。
结合第一方面的第一种可能的实现方式或第七种可能的实现方式,在第九种可能的实现方式中,在所述从内存虚拟镜像中读取镜像元数据之前,还包括:生成所述内存虚拟镜像。
第二方面,提供了一种处理输入/输出请求的方法,包括:确定输入/输出I/O写请求对应的第一文件信息,所述第一文件信息用于指示所述I/O写请求所请求写入的第一数据所属的文件;向宿主机host发送所述I/O写请求,所述I/O写请求携带所述第一文件信息,以便所述宿主机host在将所述I/O写请求所请求写入的第一数据写入本地持久化存储区域之后,根据所述第一文件信息确定所述第一数据所属的文件的文件类型,并在确定所述第一数据所属的文件的文件类型为用户文件或系统文件时,将所述第一数据写入远端共享存储区域。
结合第二方面,在第一种可能的实现方式中,还包括:确定I/O读请求对应的第二文件信息,所述第二文件信息用于指示所述I/O读请求所请求读取的第三数据所属的文件;向所述宿主机host发送所述I/O读请求,所述I/O读请求携带所述第二文件信息,以使所述宿主机host依次在本地缓存区域、所述本地持久化存储区域和所述远端共享存储区域查找所述I/O读请求所请求读取的第三数据,直到查找到所述第三数据为止;接收所述宿主机host发送的所述第三数据。
第三方面,提供了一种宿主机,包括:接收单元,用于从虚拟机接收输入/输出I/O写请求;存储单元,用于将所述I/O写请求所请求写入的第一数据写入本地持久化存储区域;确定单元,用于确定所述存储单元写入到本地持久化存储区域中的第一数据所属的文件的文件类型,其中,所述文件类型包括:临时文件、用户文件和系统文件;所述存储单元,还用于在所述第一数据所属的文件的文件类型为用户文件或系统文件的情况下,将所述第一数据写入远端共享存储区域。
结合第三方面,在第一种可能的实现方式中,所述确定单元具体用于:从内存虚拟镜像中读取镜像元数据,所述内存虚拟镜像用于存储镜像元数据,所述镜像元数据用于描述虚拟磁盘的数据属性信息和文件系统的类型;根据所述镜像元数据、所述I/O写请求在所述虚拟磁盘上所对应的起始扇区以及所述第一数据的大小,确定所述第一数据所属的文件的文件类型。
结合第三方面,在第二种可能的实现方式中,所述确定单元具体用于:获取所述I/O写请求中携带的所述第一文件信息,其中所述第一文件信息是所述虚拟机确定的,且所述第一文件信息用于指示所述第一数据所属的文件;根据所述第一文件信息,确定所述第一数据所属的文件的文件类型。
结合第三方面或第三方面的第一种可能的实现方式或第二种可能的实现方式,在第三种可能的实现方式中,所述存储单元具体用于:将所述第一数据与所述本地持久化存储区域中的第二数据进行聚合以得到聚合后的数据,其中第二数据所属的文件的文件类型也为用户文件或系统文件;将所述聚合后的数据写入所述远端共享存储区域。
结合第三方面或第三方面的第一种可能的实现方式至第三种可能的实现方式中任一实现方式,在第四种可能的实现方式中,所述存储单元还用于在所述将所述第一数据写入远端共享存储区域之后,若所述第一数据所属的文件为用户文件或系统文件,且所述第一数据的使用频率大于或等于预设的第一阈值,则将所述第一数据写入本地缓存区域。
结合第三方面或第三方面的第一种可能的实现方式至第四种可能的实现方式中任一实现方式,在第五种可能的实现方式中,还包括:接收单元,还用于从所述虚拟机接收I/O读请求;查找单元,用于依次在本地缓存区域、所述本地持久化存储区域和所述远端共享存储区域查找所述I/O读请求所请求读取的第三数据,直到查找到所述第三数据为止;发送单元,用于向所述虚拟机发送查找到的所述第三数据。
结合第三方面的第五种可能的实现方式,在第六种可能的实现方式中,所述确定单元,还用于在所述向所述虚拟机发送查找到的所述第三数据之后,确定所述第三数据所属的文件的文件类型;所述存储单元,还用于在所述第三数据所属的文件的文件类型为用户文件或系统文件,且所述第三数据的使用频率大于或等于第二阈值时,将所述第三数据写入所述本地缓存区域中。
结合第三方面的第六种可能的实现方式,在第七种可能的实现方式中,所述确定单元具体用于:从内存虚拟镜像中读取镜像元数据,所述内存虚拟镜像用于存储镜像元数据,所述镜像元数据用于描述虚拟磁盘的数据属性信息和文件系统的类型;根据所述镜像元数据、在所述虚拟磁盘上所述I/O读请求所对应的起始扇区以及所述第三数据的大小,确定所述第三数据所属的文件的文件类型。
结合第三方面的第六种可能的实现方式,在第八种可能的实现方式中,所述确定单元具体用于获取所述I/O读请求中携带的所述第二文件信息,其中所述第二文件信息是所述虚拟机确定的,所述第二文件信息用于指示所述第三数据所属的文件;根据所述第二文件信息,确定所述第三数据所属的文件的文件类型。
结合第三方面的第一种可能的实现方式或第七种可能的实现方式,在第九种可能的实现方式中,还包括:生成单元,用于在从内存虚拟镜像中读取镜像元数据之前,生成所述内存虚拟镜像。
第四方面,提供了一种服务器,包括:硬件层、运行在所述硬件层之上的宿主机Host、以及运行在所述Host之上的虚拟机VM,其中,所述硬件层包括输入/输出I/O设备、本地持久化存储区域;其中,所述宿主机Host,用于从所述虚拟机接收I/O写请求,所述I/O写请求是客户端通过I/O设备发送给所述虚拟机的;将所述I/O写请求所请求写入的第一数据写入所述本地持久化存储区域,确定所述第一数据所属的文件的文件类型,其中,所述文件类型包括:临时文件、用户文件和系统文件;如果所述第一数据所属的文件的文件类型为用户文件或系统文件,则将所述第一数据写入所述服务器连接的远端共享存储区域。
结合第四方面,在第一种可能的实现方式中,所述宿主机Host具体用于:从内存虚拟镜像中读取镜像元数据,所述内存虚拟镜像用于存储镜像元数据,所述镜像元数据用于描述所述虚拟机的虚拟磁盘的数据属性信息和文件系统的类型;根据所述镜像元数据、所述I/O写请求在所述虚拟磁盘上所对应的起始扇区以及所述第一数据的大小,确定所述第一数据所属的文件的文件类型。
结合第四方面,或第四方面的第一种可能的实现方式,在第二种可能的实现方式中,所述宿主机Host具体用于:将所述第一数据与所述本地持久化存储区域中的第二数据进行聚合以得到聚合后的数据,其中第二数据所属的文件的文件类型也为用户文件或系统文件;将所述聚合后的数据写入所述远端共享存储区域。
第五方面,提供了一种虚拟机,包括:确定单元,用于确定输入/输出I/O写请求对应的第一文件信息,所述第一文件信息用于指示所述I/O写请求所请求写入的第一数据所属的文件;发送单元,用于向宿主机host发送所述I/O写请求,所述I/O写请求携带所述第一文件信息,以便所述宿主机host在将所述I/O写请求所请求写入的第一数据写入本地持久化存储区域之后,根据所述第一文件信息确定所述第一数据所属的文件的文件类型,并在确定所述第一数据所属的文件的文件类型为用户文件或系统文件时,将所述第一数据写入远端共享存储区域。
本发明实施例提供的以上技术方案,通过确定本地持久化存储区域存储的第一数据所属的文件的文件类型,在第一数据所属的文件为用户文件或系统文件的情况下将本地持久化存储区域中存储的第一数据写入远端共享存储区域中,而非将所有类型的数据均写入远端共享存储区域中,能够降低对远端共享存储区域的访问量,从而能够减少I/O写请求的延迟,提升用户体验。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是可应用本发明实施例的一个场景的示意图;
图2是根据本发明实施例的处理输入/输出请求的方法的流程图;
图3是根据本发明实施例的内存虚拟镜像的结构的示意框图;
图4a是根据本发明一个实施例的服务器的结构示意图;
图4b是根据本发明另一实施例的服务器的结构示意图;
图5是根据本发明一个实施例的处理输入/输出请求的方法流程图;
图6是根据本发明另一实施例的处理输入/输出请求的方法流程图;
图7是根据本发明另一实施例的处理输入/输出请求的方法流程图;
图8是根据本发明一个实施例的服务器的示意框图;
图9是根据本发明实施例的虚拟机的示意框图;
图10是根据本发明另一实施例的服务器的示意框图;
图11是根据本发明另一实施例的服务器的示意框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
为了方便理解本发明实施例,首先在此介绍本发明实施例描述中会引入的几个要素;
虚拟机VM:通过虚拟机软件可以在一台物理计算机或服务器上模拟出一台或者多台虚拟的计算机,而这些虚拟机就像真正的计算机那样进行工作,虚拟机上可以安装操作系统和应用程序,虚拟机还可访问网络资源。对于在虚拟机中运行的应用程序而言,虚拟机就像是在真正的计算机中进行工作。
硬件层:虚拟化环境运行的硬件平台。其中,硬件层可包括多种硬件,例如某服务器的硬件层可包括CPU和内存,还可以包括网卡、存储器、高速/低速输入/输出(I/O,Input/Output)设备,及具有特定处理功能的其它设备,如输入输出内存管理单元(IOMMU,Input/Output Memory ManagementUnit),其中IOMMU可用于虚拟机物理地址和Host物理地址的转换。
宿主机(Host):作为管理层,用以完成硬件资源的管理、分配;为虚拟机呈现虚拟硬件平台;实现虚拟机的调度和隔离。更具体地,在本发明的所有实施例中宿主机(Host)是指服务器中具有虚拟磁盘服务功能的系统组件,比如,Host可能是一个特权虚拟机,也可以是虚拟机监控器(VMM);此外,有时VMM和一个特权虚拟机配合,两者结合组成Host,在不同的虚拟化架构中,其名称可能有差异,本发明实施例不做特别的限定。其中,虚拟硬件平台对其上运行的各个虚拟机提供各种硬件资源,如提供虚拟CPU、内存、虚拟磁盘、虚拟网卡等等。其中,该虚拟磁盘可对应Host的一个文件或者一个逻辑块设备。
图1是可应用本发明实施例的一个场景的示意图。
如图1所示,该场景可以包括计算集群池和存储集群池。计算集群池可以包括一组服务器,如图1所示,计算集群池可以包括服务器110a、110b、110c和110d。服务器110a至110d之间可以通过松散集成的计算机软件和/或硬件连接起来协同作业。每个服务器上可以运行一个或多个虚拟机,同时还部署有宿主机host,用以实现虚拟磁盘服务功能。另外,每个服务器可以具有本地存储,本地存储可以包括本地缓存和本地持久化存储。每个服务器可以在自己的本地存储上进行数据的读写操作。
存储集群池可以包括多个存储集群,如图1所示的存储集群120a和120b。每个存储集群可以包括多个存储设备,多个存储设备的存储空间可以形成一个共享存储池,能够给计算集群池中的服务器提供统一访问接口和管理界面。因此,相对于服务器的本地存储而言,存储集群池可以称为远端共享存储。
如图1所示,计算集群池的服务器110a至110d均可以访问存储集群池中的存储设备来进行数据的读写操作。例如,服务器110a至110d可以通过标准的网络拓扑结构与存储集群池连接,这种情况下,存储集群池可以称为网络附加存储(Network Attached Storage,NAS)。或者,服务器110a至110d可以通过光纤通道技术与存储集群池连接,这种情况下,存储集群池可以称为存储区域网络(Storage Area Network,SAN)。
因此,本发明实施例中,存储方式可以包括本地持久化存储和远端共享存储等方式。本地持久化存储区域可以实现本地持久化存储的方式。本地持久化存储方式具有访问速度较快和数据非易失等特点。本地持久化存储区域可以包括固态存储产品(Solid Storage Disk,SDD)或硬盘驱动器(Hard DiskDriver,HDD)等。远端共享存储区域可以实现远端共享存储的方式。远端共享存储方式具有访问速度较慢、数据非易失和多服务器共享等特点。远端共享存储区域可以包括NAS或网际协议存储区域网络(Internet ProtocolStorage Area Network,IPSAN)。
图2是根据本发明实施例的处理I/O请求的方法的示意性流程图。图2的方法由服务器执行,例如可以由图1所示的服务器110a至110d之一执行,或者更确切地说,由服务器的宿主机host,或虚拟磁盘服务组件来执行。
210,从虚拟机接收I/O写请求;
220,将该I/O写请求所请求写入的第一数据写入本地持久化存储区域;
例如,在客户端设备向虚拟机发起访问虚拟桌面的写请求时,虚拟机可以基于客户端设备的写请求,向服务器(或者更具体地是服务器的虚拟磁盘服务系统组件)发送I/O写请求。服务器可以在接收到虚拟机的I/O写请求之后,将第一数据写入本地持久化存储区域中。
230,确定本地持久化存储区域中存储的第一数据所属的文件的文件类型,其中,文件类型包括:临时文件、用户文件和系统文件。
例如,对于新技术文件系统(New Technology File System,NTFS)来说,第一数据所属的文件可以是$Boot、$MFT或\xxx\aaa.txt等。比如,$Boot和$MFT文件可以为系统文件。\xxx\aaa.txt文件可以为用户文件。
240,如果第一数据所属的文件的文件类型为用户文件或系统文件,则将第一数据写入远端共享存储区域。
由上述可见,现有技术中,无论何种类型的数据均要写入远端共享存储区域中。本发明实施例中,将第一数据写入本地持久化存储区域中,然后在第一数据所属的文件类型为用户文件或系统文件的情况下,再将本地持久化存储的第一数据写入远端共享存储区域。如果第一数据所属的文件为临时文件,则可以仅存储在本地,而无需写入远端共享存储区域。因此本发明实施例能够降低对远端共享存储区域的访问量,从而能够减少I/O写请求的延迟,提升用户体验。
本发明实施例中,通过确定本地持久化存储区域存储的第一数据所属的文件的文件类型,在第一数据所属的文件为用户文件或系统文件的情况下将本地持久化存储区域中存储的第一数据写入远端共享存储区域中,而非将所有类型的数据均写入远端共享存储区域中,能够降低对远端共享存储区域的访问量,从而能够减少I/O写请求的延迟,提升用户体验。
可选地,作为一个实施例,在步骤230之前,可以生成内存虚拟镜像,内存虚拟镜像用于存储镜像元数据,镜像元数据用于描述虚拟磁盘的数据属性信息和文件系统的类型。
内存虚拟镜像可以包括元数据区,元数据区用于存储镜像元数据。镜像元数据可以用于描述虚拟磁盘的数据属性信息以及文件系统类型。
远端共享存储区域可以包括数据区和上述元数据区,远端共享存储区域上的数据区和元数据区可以称为虚拟磁盘。虚拟磁盘的数据的载体可以是普通文件、块设备或其它格式的虚拟机镜像文件等。虚拟磁盘的数据属性信息可以用于指示虚拟磁盘的数据的属性。虚拟磁盘的文件系统类型可以为现有技术中各种文件系统的类型,例如NTFS。
下面以文件系统为NTFS为例,说明内存虚拟镜像的结构。图3是根据本发明实施例的内存虚拟镜像的结构的示意框图。
如图3所示,在文件系统为NTFS时,内存虚拟镜像可以包括多个虚拟分区(Virtual Partition)、虚拟主引导记录(Virtual Master Boot Record,VMBR)和虚拟磁盘分区表(Virtual Disk Partition Table,VDPT)。在各个虚拟分区中,可以包括虚拟卷(Virtual Volume)启动扇区(Boot Sector)、虚拟主文件表(Virtual Master File Table,VMFT)和虚拟数据(Virtual DATA,VDATA)等部分。每个部分可以由一个或多个块区(Block Region,BR)组成。每个BR可以表示内存虚拟镜像中某数据段的真实存放路径和文件系统的相关特性。镜像元数据可以存储在各个BR中。
可选地,作为另一实施例,在步骤230中,可以从内存虚拟镜像中读取镜像元数据,根据镜像元数据、I/O写请求在虚拟磁盘上所对应的起始扇区以及第一数据的大小,确定第一数据所属的文件的文件类型。
具体地,服务器通过从内存虚拟镜像读取镜像元数据,可以解析虚拟磁盘的布局。然后根据I/O写请求所对应的起始扇区和第一数据的大小,确定在文件系统中第一数据的类型。此处,第一数据的大小是指第一数据所需要占用的存储空间,其具体可以使用字节(byte)或比特(bit)等常用的单位来衡量。例如,对于文件系统类型为NTFS的虚拟磁盘来说,第一数据的类型可以为Boot Sector(启动扇区)、文件元数据或文件数据等。根据第一数据的类型,可以确定第一数据所属的文件。例如,对于文件系统类型为NTFS的虚拟磁盘来说,第一数据所属的文件可以为$Boot、$MFT或\xxx\aaa.txt等,从而确定第一数据所属的文件的文件类型。
具体地,在Xen架构下,服务器上可以运行多个虚拟域(domain),虚拟域可以包括特权域和非特权域。特权域通常指在服务器上运行的第一个虚拟域,能够对服务器上的其它域进行管理和控制。在本发明实施例中,我们称特权域为宿主机(host),非特权域为虚拟机。
例如,可以在服务器的特权域的文件系统上添加驱动层,由驱动层完成上述确定第一文件信息的过程。图4a是根据本发明一个实施例的服务器的结构示意图。如图4a所示,在特权域的文件系统上增加了驱动层,通过驱动层可以完成上述确定第一文件信息的过程。
可选地,作为另一实施例,在步骤230中,可以获取I/O写请求中携带的第一文件信息,其中第一文件信息用于指示第一数据所属的文件。然后可以根据第一文件信息,确定第一数据所属的文件的文件类型。
具体地,虚拟机可以将文件信息和I/O请求进行关联。例如,可以在虚拟机的文件系统和块设备层上下分别添加驱动层来实现文件信息和I/O请求之间的关联。图4b是根据本发明另一实施例的服务器的结构示意图。如图4b所示,在非特权域(也就是虚拟机)的文件系统上面添加了驱动层,并在非特权域的块设备层下面添加了驱动层。这样,非特权域,也就是虚拟机,可以通过两个驱动层,完成确定第一文件信息的过程,并将第一文件信息发送给特权域。第一文件信息可以用于指示第一数据所属的文件。服务器的特权域可以直接从I/O写请求获取第一文件信息,从而确定第一数据所属的文件的文件类型。
可选地,作为另一实施例,可以将本地持久化存储区域中存储的第一数据与本地持久化存储区域中的第二数据进行聚合以得到聚合后的数据,其中第二数据所属的文件的文件类型也为用户文件或系统文件,然后将聚合后的数据写入远端共享存储区域。
宿主机可以将本地持久化存储区域中的第一数据与其它所属文件为用户文件或系统文件的数据进行聚合,也就是将本地持久化存储区域中的第一数据与第二数据进行聚合。该聚合可以是指对第一数据对应的上述I/O写请求与第二数据对应的I/O写请求聚合。例如,第二数据和第一数据可以是地址连续的数据,通过聚合得到聚合后的数据,然后可以通过一次I/O写请求将聚合后的数据写入远端共享存储区域中。该操作也可以称为写I/O聚合。服务器可以定期或不定期地执行该操作。
本发明实施例中,可以将本地持久化存储区域中存储的第一数据与本地持久化存储区域中的多份第二数据进行聚合。例如,在本地持久化存储区域中,第一数据的起始地址为5,大小为10,第一份第二数据的起始地址为20,大小为5,第二份第二数据的起始地址为15,大小为10,可以将第一数据和两份第二数据聚合得到聚合后的数据,聚合后的数据的起始地址为5,大小为25,这样可以通过一次I/O写请求将聚合后的数据写入远端共享存储区域。
本发明实施例中,通过将本地持久化存储区域中的第一数据与属于用户文件或系统文件的第二数据聚合后再写入远端共享存储区域,能够进一步降低远端共享存储区域的访问量,提升用户体验。
可选地,作为另一实施例,在步骤230之后,若第一数据所属的文件的文件类型为用户文件或系统文件,且第一数据的使用频率大于或等于第一阈值,则可以将第一数据写入本地缓存区域。
上述存储方式还可以包括本地缓存方式。本地缓存方式具有访问速度快和数据易失等特点。本地缓存区域可以用于实现本地缓存方式。本地缓存区域可以使用内存等存储介质。
如果第一数据属于用户文件或系统文件,而且是常用的数据,那么可以将第一数据也写入本地缓存区域中,从而能够提升数据访问速度。
上述第一阈值可以是宿主机根据第一数据的使用情况以及其它数据的使用情况确定的,因此,第一阈值可以是变化的。例如,服务器经过一段时间的统计发现第一数据的使用频率为40%以上,而其它数据的使用频率均小于40%,那么可以将第一阈值设置为40%。
可选地,作为另一实施例,可以从虚拟机接收I/O读请求,依次在本地缓存区域、本地持久化存储区域和远端共享存储区域查找I/O读请求所请求读取的第三数据,直到查找到第三数据为止,并向虚拟机发送查找到的第三数据。
具体地,宿主机可以根据虚拟机的I/O读请求,首先在本地缓存区域中查找第三数据。如果在本地缓存区域中查找到第三数据,则向虚拟机返回第三数据,如果未找到,则在本地持久化存储区域中查找第三数据。如果在本地持久化存储区域中找到第三数据,则向虚拟机返回第三数据,如果未找到,则在远端共享存储区域中查找第三数据,然后将查找到的第三数据发送给虚拟机。
因此,本发明实施例中,由于依次在本地缓存区域、本地持久化存储区域和远端共享存储区域查找I/O读请求所请求读取的第三数据,如果在本地找到第三数据,那么就能够降低对远端共享存储的访问量,从而能够减少I/O读请求的延迟,提升用户体验。
可选地,作为另一实施例,可以在向虚拟机发送查找到的第三数据之后,确定第三数据所属的文件的文件类型。在第三数据所属的文件的文件类型为用户文件或系统文件,且第三数据的使用频率大于或等于第二阈值时,可以将第三数据写入本地缓存区域中。
具体地,在第三数据是在本地持久化存储区域或远端共享存储区域中查找到的情况下,如果第三数据属于用户文件或系统文件,而且是常用的数据,那么可以将第三数据存储在本地缓存区域中,从而能够提升数据访问速度。
第二阈值也可以是宿主机根据第三数据的使用情况以及其它数据的使用情况确定的。确定方式类似于第一阈值的确定方式。
可选地,作为另一实施例,可以从内存虚拟镜像中读取镜像元数据,并根据镜像元数据、在虚拟磁盘上I/O读请求所对应的起始扇区以及第三数据的大小,确定第三数据所属的文件的文件类型。
该过程类似于确定第一数据所属的文件的文件类型的过程,不再赘述。
可选地,作为另一实施例,可以获取I/O读请求中携带的第二文件信息,其中第二文件信息是虚拟机根据文件信息与I/O读请求之间的对应关系确定的。
图5是根据本发明一个实施例的处理I/O写请求的方法的过程的示意性流程图,图5的方法由服务器执行,例如可以由图1所示的服务器110a至110d之一执行,或者更确切地说,由服务器的宿主机host,或虚拟磁盘服务组件来执行。
501,将I/O写请求所请求写入的第一数据写入本地持久化存储区域。
502,确定本地持久化存储区域存储的第一数据所属的文件的文件类型,文件类型可以包括:临时文件、用户文件和系统文件。
503,确定第一数据所属的文件的文件类型是否为用户文件或系统文件。
如果第一数据所属的文件的文件类型为用户文件或系统文件,转到步骤504。
如果第一数据所属的文件的文件类型为临时文件,流程结束。
504,如果第一数据所属文件的文件类型为用户文件或系统文件,将本地持久化存储区域中的第一数据写入远端共享存储区域。
在步骤503之后,可以根据实际情况执行步骤504,例如可以立即执行步骤504,也可以在一段时间后执行步骤504。例如,服务器可以在其系统空闲时,或者每隔一段时间,或者本地持久化存储区域中的数据量超过一定阈值时,将本地化存储区域中的第一数据写入远端共享存储区域。
可选地,可以将本地持久化存储区域中的第一数据与本地持久化存储区域中的第二数据聚合得到聚合后的数据,然后将聚合后的数据写入远端共享存储区域。第二数据所属的文件的文件类型也为用户文件或系统文件。
505,如果第一数据所属文件的文件类型为用户文件或系统文件,确定第一数据的使用频率是否大于或等于第一阈值。
如果第一数据的使用频率大于或等于第一阈值,转到步骤506。
如果第一数据的使用频率小于第一阈值,流程结束。
506,如果第一数据的使用频率大于或等于第一阈值,则将本地持久化存储区域中的第一数据写入本地缓存区域。
在将本地持久化存储区域中的第一数据写入本地缓存区域之后,流程结束。
本发明实施例中,通过确定本地持久化存储区域存储的第一数据所属的文件的文件类型,在第一数据所属的文件为用户文件或系统文件的情况下将本地持久化存储区域中存储的第一数据写入远端共享存储区域中,而非将所有类型的数据均写入远端共享存储区域中,能够降低对远端共享存储区域的访问量,从而能够减少I/O写请求的延迟,提升用户体验。
图6是根据本发明另一实施例的处理I/O读请求的方法的过程的示意性流程图,其中,图6的方法由服务器执行,例如可以由图1所示的服务器110a至110d之一执行,或者更确切地说,由服务器的宿主机host,或虚拟磁盘服务组件来执行。
601,根据从虚拟机接收到的I/O读请求,在本地缓存区域中查找I/O读请求所请求读取的第三数据。
602,判断是否在本地缓存区域中查找到第三数据。
603,如果在本地缓存区域中查找到第三数据,向虚拟机发送第三数据。
604,如果在本地缓存区域中没有查找到第三数据,则在本地持久化存储区域中查找第三数据。
605,判断是否在本地持久化存储区域中查找到第三数据。
606,如果在本地持久化存储区域中查找到第三数据,则向虚拟机发送第三数据。
607,确定第三数据所属的文件的文件类型。
例如,第三数据所属的文件的文件类型可以为临时文件、用户文件或系统文件。
608,判断第三数据所属的文件的文件类型是否为用户文件或系统文件,且第三数据的使用频率是否大于或等于第二阈值。
如果第三数据所属的文件的文件类型不为用户文件或系统文件,或者第三数据的使用频率小于第二阈值,则流程结束。
609,如果第三数据所属的文件的文件类型为用户文件或系统文件,且第三数据的使用频率大于或等于第二阈值,则将第三数据写入本地缓存区域。
610,如果在本地持久化存储区域中没有查找到第三数据,则在远端共享存储区域中查找第三数据。
611,判断是否在远端共享存储区域中查找到第三数据。
612,如果在远端共享存储区域中查找到第三数据,则向虚拟机发送第三数据。
步骤613至615与步骤607至609类似,为了避免重复,不再赘述。
本发明实施例中,由于依次在本地缓存区域、本地持久化存储区域和远端共享存储区域查找I/O读请求所请求读取的第三数据,如果在本地找到第三数据,那么就能够降低对远端共享存储的访问量,从而能够减少I/O读请求的延迟,提升用户体验。
图7是根据本发明另一实施例的处理I/O请求的方法的示意性流程图。图7的方法由虚拟机执行,例如可以由图1所示的服务器110a至110b之一上运行的虚拟机执行。
710,确定输入/输出I/O写请求对应的第一文件信息,第一文件信息用于指示I/O写请求所请求写入的第一数据所属的文件。
例如,如图4b所示,在虚拟机的文件系统上面添加了驱动层,并在虚拟机的块设备层下面添加了驱动层。这样,虚拟机可以通过两个驱动层,完成确定第一文件信息的过程。
720,向宿主机host发送I/O写请求,I/O写请求携带第一文件信息,以便宿主机host在将所述I/O写请求所请求写入的第一数据写入本地持久化存储区域之后,根据第一文件信息确定第一数据所属的文件的文件类型,并在第一数据所属的文件的文件类型为用户文件或系统文件的情况下,将第一数据写入远端共享存储区域。
虚拟机可以向宿主机host发送I/O写请求,以便宿主机host对该I/O写请求进行处理。例如,宿主机host可以将I/O写请求所请求写入的第一数据写入本地持久化存储区域中。并且宿主机host可以根据该I/O写请求携带的第一文件信息确定第一数据所属的文件的文件类型。这样在第一数据所属的文件为用户文件或系统文件的情况下,将本地持久化存储区域中存储的第一数据写入远端共享存储区域。
本发明实施例中,通过确定用于指示I/O写请求所请求写入的第一数据的文件的第一文件信息,并向宿主机host发送携带第一文件信息的I/O写请求,使得宿主机host在第一数据所属的文件为用户文件或系统文件的情况下将本地持久化存储区域中存储的第一数据写入远端共享存储区域中,而非将所有类型的数据均写入远端共享存储区域中,能够降低对远端共享存储区域的访问量,从而能够减少I/O写请求的延迟,提升用户体验。
可选地,作为一个实施例,虚拟机可以确定I/O读请求对应的第二文件信息,第二文件信息用于指示I/O读请求所请求读取的第三数据所属的文件,并可以向宿主机host发送I/O读请求,I/O读请求携带第二文件信息。
类似与确定第一文件信息的过程,虚拟机可以通过文件系统上面所添加的驱动层以及块设备层下面所添加的驱动层,完成确定第二文件信息的过程。宿主机host可以根据第二文件信息确定第三数据所属的文件的文件类型。在第三数据是在本地持久化存储区域或远端共享存储区域中查找到的情况下,如果第三数据属于用户文件或系统文件,而且是常用的数据,那么可以将第三数据存储在本地缓存区域中,从而能够提升数据访问速度。
图8是根据本发明一个实施例的宿主机的示意框图。例如,图8的宿主机器800可以为图1所示的服务器110a、110b、110c或110d上的特权虚拟机或虚拟磁盘服务组件。宿主机800包括接收单元810、确定单元820和存储单元830,其中:
接收单元810从虚拟机接收I/O写请求。存储单元830将该I/O写请求所请求写入的第一数据写入宿主机800的本地持久化存储区域。确定单元820确定本地持久化存储区域中存储的第一数据所属的文件的文件类型,其中,文件类型包括:临时文件、用户文件和系统文件。存储单元830在第一数据所属的文件的文件类型为用户文件或系统文件的情况下,将第一数据写入远端共享存储区域。
可见,本发明实施例中,通过确定本地持久化存储区域中存储的第一数据所属的文件的文件类型,在第一数据所属的文件为用户文件或系统文件的情况下将本地持久化存储区域中存储的第一数据写入远端共享存储区域中,而非将所有类型的数据均写入远端共享存储区域中,能够降低对远端共享存储区域的访问量,从而能够减少I/O写请求的延迟,提升用户体验。
可选地,作为一个实施例,确定单元820可以用于从内存虚拟镜像中读取镜像元数据,内存虚拟镜像用于存储镜像元数据,镜像元数据用于描述虚拟磁盘的数据属性信息和文件系统的类型。然后确定单元820可以根据镜像元数据、I/O写请求在虚拟磁盘上所对应的起始扇区以及第一数据的大小,确定第一数据的所属的文件的文件类型。
可选地,作为另一实施例,确定单元820可以用于获取I/O写请求中携带的第一文件信息,其中第一文件信息是虚拟机确定的,第一文件信息可以用于指示第一数据所属的文件。确定单元820可以根据第一文件信息,确定第一数据所属的文件的文件类型。
可选地,作为另一实施例,存储单元830可以用于将本地持久化存储区域中存储的第一数据与本地持久化存储区域中的第二数据进行聚合以得到聚合后的数据,其中第二数据所属的文件的文件类型也为用户文件或系统文件,并将聚合后的数据写入远端共享存储区域。
可选地,作为另一实施例,存储单元830还可以用于将第一数据写入远端共享存储区域之后,若第一数据所属的文件的文件类型为用户文件或系统文件,且第一数据的使用频率大于或等于第一阈值,则将第一数据写入本地缓存区域。
可选地,作为另一实施例,宿主机800还可以包括接收单元830、查找单元840和发送单元850,其中:
接收单元830还可以用于从虚拟机接收I/O读请求。查找单元840可以依次在本地缓存区域、本地持久化存储区域和远端共享存储区域查找I/O读请求所请求读取的第三数据,直到查找到第三数据为止。发送单元850可以向虚拟机发送查找到的第三数据。
可选地,作为另一实施例,确定单元820还可以用于确定第三数据所属的文件的文件类型。
存储单元830还可以用于在第三数据所属的文件的文件类型为用户文件或系统文件,且第三数据的使用频率大于或等于第二阈值时,将第三数据写入本地缓存区域中。
可选地,作为另一实施例,确定单元820可以用于从内存虚拟镜像中读取镜像元数据,内存虚拟镜像用于存储镜像元数据,镜像元数据用于描述虚拟磁盘的数据属性信息和文件系统的类型。然后确定单元820可以根据镜像元数据、在虚拟磁盘上I/O读请求所对应的起始扇区以及第三数据的大小,确定第三数据所属的文件的文件类型。
可选地,作为另一实施例,确定单元820可以用于获取I/O读请求中携带的第二文件信息,其中第二文件信息是虚拟机确定的,第二文件信息可以用于指示第三数据所属的文件。确定单元820可以根据第二文件信息,确定第三数据所属的文件的文件类型。
可选地,作为另一实施例,宿主机800还可以包括生成单元860。生成单元860可以用于在确定单元820从内存虚拟镜像中读取镜像元数据之前,生成内存虚拟镜像。
宿主机800的其它功能和操作可以参照上面图1至图6的方法实施例的过程,为了避免重复,此处不再赘述。
图9是根据本发明一个实施例的虚拟机的示意框图。图9的虚拟机900为部署在物理主机上的虚拟机,即部署在上述服务器上的虚拟机。例如,虚拟机900可以为图1所示的服务器110a至110d上部署的虚拟机。虚拟机900包括确定单元910和发送单元920。
确定单元910用于确定I/O写请求对应的第一文件信息,第一文件信息用于指示I/O写请求所请求写入的第一数据所属的文件。
发送单元920用于向宿主机host发送I/O写请求,I/O写请求携带第一文件信息,以便宿主机host根据第一文件信息确定第一数据所属的文件的文件类型,并在第一数据所属的文件的文件类型为用户文件或系统文件的情况下,将第一数据写入远端共享存储区域。
可见,本发明实施例中,通过确定用于指示I/O写请求所请求写入的第一数据的文件的第一文件信息,并向宿主机host发送携带第一文件信息的I/O写请求,使得宿主机host在第一数据所属的文件为用户文件或系统文件的情况下将本地持久化存储区域中存储的第一数据写入远端共享存储区域中,而非将所有类型的数据均写入远端共享存储区域中,能够降低对远端共享存储区域的访问量,从而能够减少I/O写请求的延迟,提升用户体验。
可选地,作为一个实施例,确定单元910还可以确定I/O读请求对应的第二文件信息,第二文件信息用于指示I/O读请求所请求读取的第三数据所属的文件。发送单元920还可以向宿主机host发送I/O读请求,I/O读请求携带第二文件信息,以使宿主机host依次在虚拟机900所在服务器的本地缓存区域、本地持久化存储区域和远端共享存储区域查找该I/O读请求所请求读取的第三数据,直到查找到第三数据为止;
相应地,虚拟机900还包括:接收单元930,用于接收宿主机host发送的查找到的第三数据。
虚拟机900的其它功能和操作可以参照上面图7的方法实施例的过程,为了避免重复,此处不再赘述。
图10是根据本发明另一实施例的服务器的示意框图。图10的服务器1000也可以称为物理主机。图10的服务器1000包括存储器1010和处理器1020。
存储器1010可以包括随机存储器、闪存、只读存储器、可编程只读存储器、非易失性存储器或寄存器等。处理器1020可以是中央处理器(CentralProcessing Unit,CPU)。
存储器1010用于存储可执行指令。处理器1020可以执行存储器410中存储的可执行指令,用于:接收输入/输出I/O写请求,将该I/O写请求所请求写入的第一数据写入本地持久化存储区域,确定第一数据所属的文件的文件类型,其中,文件类型包括:临时文件、用户文件和系统文件;在第一数据所属的文件的文件类型为用户文件或系统文件的情况下,将第一数据写入远端共享存储区域。
可见,本发明实施例中,通过确定本地持久化存储区域中存储的第一数据所属的文件的文件类型,在第一数据所属的文件为用户文件或系统文件的情况下将本地持久化存储区域中存储的第一数据写入远端共享存储区域中,而非将所有类型的数据均写入远端共享存储区域中,能够降低对远端共享存储区域的访问量,从而能够减少I/O写请求的延迟,提升用户体验。
可选地,作为另一实施例,处理器1020可以用于从内存虚拟镜像中读取镜像元数据,内存虚拟镜像用于存储镜像元数据,镜像元数据用于描述虚拟磁盘的数据属性信息和文件系统的类型,并可以根据镜像元数据、I/O写请求在虚拟磁盘上所对应的起始扇区以及第一数据的大小,确定第一数据所属的文件的文件类型。
可选地,作为另一实施例,处理器1020可以用于获取I/O写请求中携带的第一文件信息,其中第一文件信息是虚拟机确定的,第一文件信息可以用于指示第一数据所属的文件。处理器1020可以根据第一文件信息,确定第一数据所属的文件的文件类型。
可选地,作为另一实施例,处理器1020可以用于将本地持久化存储区域中存储的第一数据与本地持久化存储区域中的第二数据进行聚合以得到聚合后的数据,其中第二数据所属的文件的文件类型也为用户文件或系统文件,并将聚合后的数据写入远端共享存储区域。
可选地,作为另一实施例,处理器1020还可以用于在将第一数据写入远端共享存储区域中之后,若第一数据所属的文件为用户文件或系统文件,且第一数据的使用频率大于或等于预设的第一阈值,则将第一数据写入本地缓存区域。
可选地,作为另一实施例,服务器1000还可以包括接收器1030和发送器1040。
接收器1030还可以用于接收I/O读请求。处理器1020可以依次在本地缓存区域、本地持久化存储区域和远端共享存储区域查找I/O读请求所请求读取的第三数据,直到查找到第三数据为止。发送器1040可以向虚拟机发送查找到的第三数据。
可选地,作为另一实施例,处理器1020还可以用于确定第三数据所属的文件的文件类型。
处理器1020还可以用于在第三数据所属的文件的文件类型为用户文件或系统文件,且第三数据的使用频率大于或等于第二阈值时,将第三数据写入本地缓存区域中。
可选地,作为另一实施例,处理器1020可以用于从内存虚拟镜像中读取镜像元数据,内存虚拟镜像用于存储镜像元数据,镜像元数据用于描述虚拟磁盘的数据属性信息和文件系统的类型,并可以根据镜像元数据、在虚拟磁盘上I/O读请求所对应的起始扇区以及第三数据的大小,确定第三数据所属的文件的文件类型。
可选地,作为另一实施例,处理器1020可以用于获取I/O读请求中携带的第二文件信息,其中第二文件信息是虚拟机确定的,第二文件信息可以用于指示第三数据所属的文件。处理器1020可以用于根据第二文件信息,确定第三数据所属的文件的文件类型。
可选地,作为一个实施例,处理器1020可以在从内存虚拟镜像中读取镜像元数据之前,生成内存虚拟镜像。
服务器1000的其它功能和操作可以参照上面图1至图6的方法实施例的过程,为了避免重复,此处不再赘述。
图11是根据本发明另一实施例的服务器的示意框图。
如图11所示,本发明实施例还提供一种服务器,根据图11,服务器1200包括:
硬件层、运行在所述硬件层之上的VMM(Virtual Machine Monitor,虚拟机监视器),以及运行在VMM之上的宿主机Host1201和虚拟机(VM,Virtual Machine)1202,其中,硬件层包括I/O设备、本地持久化存储区域;
其中,宿主机Host1201,用于从虚拟机1202接收I/O写请求,该I/O写请求是客户端通过I/O设备发送给虚拟机1202的;将该I/O写请求所请求写入的第一数据写入本地持久化存储区域1203,确定第一数据所属的文件的文件类型,其中,文件类型包括:临时文件、用户文件和系统文件;如果第一数据所属的文件的文件类型为用户文件或系统文件,则将第一数据写入所述服务器连接的远端共享存储区域1204。
在一个实施例中,宿主机Host1201从内存虚拟镜像中读取镜像元数据,;根据该镜像元数据、该I/O写请求在该虚拟磁盘上所对应的起始扇区以及第一数据的大小,确定第一数据所属的文件的文件类型;其中,内存虚拟镜像用于存储镜像元数据,镜像元数据用于描述虚拟机的虚拟磁盘的数据属性信息和文件系统的类型。
在另一个实施例中,宿主机Host1201获取I/O写请求中携带的第一文件信息,其中第一文件信息是虚拟机确定的,且第一文件信息用于指示第一数据所属的文件;根据第一文件信息,确定第一数据所属的文件的文件类型。优选地,宿主机Host可以采用如下方式将第一数据写入远端共享存储区域1204:将第一数据与本地持久化存储区域1203中的第二数据进行聚合以得到聚合后的数据,其中第二数据所属的文件的文件类型也为用户文件或系统文件;将聚合后的数据写入远端共享存储区域1204。
优选地,服务器1200的硬件层还包括有本地缓存区域(cache),宿主机Host1201在所述将所述第一数据写入远端共享存储区域之后,若所述第一数据所属的文件的文件类型为用户文件或系统文件,且所述第一数据的使用频率大于或等于第一阈值的情况下,还将所述第一数据写入本地缓存区域。
上述第一阈值可以是宿主机根据第一数据的使用情况以及其它数据的使用情况确定的,因此,第一阈值可以是变化的。例如,宿主机经过一段时间的统计发现第一数据的使用频率为40%以上,而其它数据的使用频率均小于40%,那么可以将第一阈值设置为40%。
需要说明的是,服务器1200的其它功能和操作可以参照上面图1至图6的方法实施例的过程,为了避免重复,此处不再赘述。
可见,本发明实施例中,通过确定本地持久化存储区域中存储的第一数据所属的文件的文件类型,在第一数据所属的文件为用户文件或系统文件的情况下将本地持久化存储区域中存储的第一数据写入远端共享存储区域中,而非将所有类型的数据均写入远端共享存储区域中,能够降低对远端共享存储区域的访问量,从而能够减少I/O写请求的延迟,提升用户体验。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (29)
1.一种处理输入/输出请求的方法,其特征在于,包括:
从虚拟机接收输入/输出I/O写请求;
将所述I/O写请求所请求写入的第一数据写入本地持久化存储区域;
确定所述第一数据所属的文件的文件类型,其中,所述文件类型包括:临时文件、用户文件和系统文件;
如果所述第一数据所属的文件的文件类型为用户文件或系统文件,则将所述第一数据写入远端共享存储区域。
2.根据权利要求1所述的方法,其特征在于,所述确定所述第一数据所属的文件的文件类型,包括:
从内存虚拟镜像中读取镜像元数据,所述内存虚拟镜像用于存储镜像元数据,所述镜像元数据用于描述所述虚拟机的虚拟磁盘的数据属性信息和文件系统的类型;
根据所述镜像元数据、所述I/O写请求在所述虚拟磁盘上所对应的起始扇区以及所述第一数据的大小,确定所述第一数据所属的文件的文件类型。
3.根据权利要求1所述的方法,其特征在于,所述确定所述第一数据所属的文件的文件类型,包括:
获取所述I/O写请求中携带的第一文件信息,其中所述第一文件信息用于指示所述第一数据所属的文件;
根据所述第一文件信息,确定所述第一数据所属的文件的文件类型。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述将所述第一数据写入远端共享存储区域,包括:
将所述第一数据与所述本地持久化存储区域中存储的第二数据进行聚合以得到聚合后的数据,其中第二数据所属的文件的文件类型也为用户文件或系统文件;
将所述聚合后的数据写入所述远端共享存储区域。
5.根据权利要求1至4中任一项所述的方法,其特征在于,在将所述第一数据写入远端共享存储区域之后,还包括:
若所述第一数据所属的文件的文件类型为用户文件或系统文件,且所述第一数据的使用频率大于或等于第一阈值,则将所述第一数据写入本地缓存区域。
6.根据权利要求1至5中任一项所述的方法,其特征在于,还包括:
从所述虚拟机接收I/O读请求;
依次在本地缓存区域、所述本地持久化存储区域和所述远端共享存储区域查找所述I/O读请求所请求读取的第三数据,直到查找到所述第三数据为止;
向所述虚拟机发送查找到的所述第三数据。
7.根据权利要求6所述的方法,其特征在于,在所述向所述虚拟机发送查找到的所述第三数据之后,还包括:
确定所述第三数据所属的文件的文件类型;
在所述第三数据所属的文件的文件类型为用户文件或系统文件,且所述第三数据的使用频率大于或等于第二阈值时,将所述第三数据写入所述本地缓存区域中。
8.根据权利要求7所述的方法,其特征在于,所述确定所述第三数据所属的文件的文件类型,包括:
从内存虚拟镜像中读取镜像元数据,所述内存虚拟镜像用于存储镜像元数据,所述镜像元数据用于描述虚拟磁盘的数据属性信息和文件系统的类型;
根据所述镜像元数据、在所述虚拟磁盘上所述I/O读请求所对应的起始扇区以及所述第三数据的大小,确定所述第三数据所属的文件的文件类型。
9.根据权利要求7所述的方法,其特征在于,所述确定所述第三数据所属的文件的文件类型,包括:
获取所述I/O读请求中携带的所述第二文件信息,其中所述第二文件信息是所述虚拟机确定的,所述第二文件信息用于指示所述第三数据所属的文件;
根据所述第二文件信息,确定所述第三数据所属的文件的文件类型。
10.根据权利要求2或8所述的方法,其特征在于,在所述从内存虚拟镜像中读取镜像元数据之前,还包括:
生成所述内存虚拟镜像。
11.一种处理输入/输出请求的方法,其特征在于,包括:
确定输入/输出I/O写请求对应的第一文件信息,所述第一文件信息用于指示所述I/O写请求所请求写入的第一数据所属的文件;
向宿主机host发送所述I/O写请求,所述I/O写请求携带所述第一文件信息,以便所述宿主机host在将所述I/O写请求所请求写入的第一数据写入本地持久化存储区域之后,根据所述第一文件信息确定所述第一数据所属的文件的文件类型,并在确定所述第一数据所属的文件的文件类型为用户文件或系统文件时,将所述第一数据写入远端共享存储区域。
12.根据权利要求11所述的方法,其特征在于,还包括:
确定I/O读请求对应的第二文件信息,所述第二文件信息用于指示所述I/O读请求所请求读取的第三数据所属的文件;
向所述宿主机host发送所述I/O读请求,所述I/O读请求携带所述第二文件信息,以使所述宿主机host依次在本地缓存区域、所述本地持久化存储区域和所述远端共享存储区域查找所述I/O读请求所请求读取的第三数据,直到查找到所述第三数据为止;
接收所述宿主机host发送的所述第三数据。
13.一种宿主机,其特征在于,包括:
接收单元,用于从虚拟机接收输入/输出I/O写请求;
存储单元,用于将所述I/O写请求所请求写入的第一数据写入本地持久化存储区域;
确定单元,用于确定所述存储单元写入到本地持久化存储区域中的第一数据所属的文件的文件类型,其中,所述文件类型包括:临时文件、用户文件和系统文件;
所述存储单元,还用于在所述第一数据所属的文件的文件类型为用户文件或系统文件的情况下,将所述第一数据写入远端共享存储区域。
14.根据权利要求13所述的宿主机,其特征在于,所述确定单元具体用于:从内存虚拟镜像中读取镜像元数据,所述内存虚拟镜像用于存储镜像元数据,所述镜像元数据用于描述虚拟磁盘的数据属性信息和文件系统的类型;根据所述镜像元数据、所述I/O写请求在所述虚拟磁盘上所对应的起始扇区以及所述第一数据的大小,确定所述第一数据所属的文件的文件类型。
15.根据权利要求13所述的宿主机,其特征在于,所述确定单元具体用于:获取所述I/O写请求中携带的所述第一文件信息,其中所述第一文件信息是所述虚拟机确定的,且所述第一文件信息用于指示所述第一数据所属的文件;根据所述第一文件信息,确定所述第一数据所属的文件的文件类型。
16.根据权利要求13至15中任一项所述的宿主机,其特征在于,所述存储单元具体用于:将所述第一数据与所述本地持久化存储区域中的第二数据进行聚合以得到聚合后的数据,其中第二数据所属的文件的文件类型也为用户文件或系统文件;将所述聚合后的数据写入所述远端共享存储区域。
17.根据权利要求13至16中任一项所述的宿主机,其特征在于,
所述存储单元还用于在所述将所述第一数据写入远端共享存储区域之后,若所述第一数据所属的文件的文件类型为用户文件或系统文件,且所述第一数据的使用频率大于或等于第一阈值的情况下,则将所述第一数据写入本地缓存区域。
18.根据权利要求13至17中任一项所述的宿主机,其特征在于,还包括:
接收单元,还用于从所述虚拟机接收I/O读请求;
查找单元,用于依次在本地缓存区域、所述本地持久化存储区域和所述远端共享存储区域查找所述I/O读请求所请求读取的第三数据,直到查找到所述第三数据为止;
发送单元,用于向所述虚拟机发送查找到的所述第三数据。
19.根据权利要求18所述的宿主机,其特征在于,
所述确定单元,还用于在所述向所述虚拟机发送查找到的所述第三数据之后,确定所述第三数据所属的文件的文件类型;
所述存储单元,还用于在所述第三数据所属的文件的文件类型为用户文件或系统文件,且所述第三数据的使用频率大于或等于第二阈值时,将所述第三数据写入所述本地缓存区域中。
20.根据权利要求19所述的宿主机,其特征在于,所述确定单元具体用于:从内存虚拟镜像中读取镜像元数据,所述内存虚拟镜像用于存储镜像元数据,所述镜像元数据用于描述虚拟磁盘的数据属性信息和文件系统的类型;根据所述镜像元数据、在所述虚拟磁盘上所述I/O读请求所对应的起始扇区以及所述第三数据的大小,确定所述第三数据所属的文件的文件类型。
21.根据权利要求19所述的宿主机,其特征在于,所述确定单元具体用于:获取所述I/O读请求中携带的所述第二文件信息,其中所述第二文件信息是所述虚拟机确定的,所述第二文件信息用于指示所述第三数据所属的文件;根据所述第二文件信息,确定所述第三数据所属的文件的文件类型。
22.根据权利要求14或20所述的宿主机,其特征在于,还包括:
生成单元,用于在从内存虚拟镜像中读取镜像元数据之前,生成所述内存虚拟镜像。
23.一种服务器,其特征在于,包括:
硬件层、运行在所述硬件层之上的虚拟机监视器,以及运行在所述虚拟机监视器之上的宿主机Host和虚拟机VM,其中,所述硬件层包括输入/输出I/O设备、本地持久化存储区域;
其中,所述宿主机Host,用于从所述虚拟机接收I/O写请求,所述I/O写请求是客户端通过I/O设备发送给所述虚拟机的;将所述I/O写请求所请求写入的第一数据写入所述本地持久化存储区域,确定所述第一数据所属的文件的文件类型,其中,所述文件类型包括:临时文件、用户文件和系统文件;如果所述第一数据所属的文件的文件类型为用户文件或系统文件,则将所述第一数据写入所述服务器连接的远端共享存储区域。
24.根据权利要求23所述的服务器,其特征在于,所述宿主机Host具体用于:从内存虚拟镜像中读取镜像元数据,所述内存虚拟镜像用于存储镜像元数据,所述镜像元数据用于描述所述虚拟机的虚拟磁盘的数据属性信息和文件系统的类型;根据所述镜像元数据、所述I/O写请求在所述虚拟磁盘上所对应的起始扇区以及所述第一数据的大小,确定所述第一数据所属的文件的文件类型。
25.根据权利要求23所述的服务器,其特征在于,所述宿主机Host具体用于:获取所述I/O写请求中携带的所述第一文件信息,其中所述第一文件信息是所述虚拟机确定的,且所述第一文件信息用于指示所述第一数据所属的文件;根据所述第一文件信息,确定所述第一数据所属的文件的文件类型。
26.根据权利要求23-25任一项所述的服务器,其特征在于,所述宿主机Host具体用于:将所述第一数据与所述本地持久化存储区域中的第二数据进行聚合以得到聚合后的数据,其中第二数据所属的文件的文件类型也为用户文件或系统文件;将所述聚合后的数据写入所述远端共享存储区域。
27.根据权利要求26所述的服务器,其特征在于,所述硬件层还包括:本地缓存;
所述宿主机Host,还用于在所述将所述第一数据写入远端共享存储区域之后,若所述第一数据所属的文件的文件类型为用户文件或系统文件,且所述第一数据的使用频率大于或等于第一阈值的情况下,则将所述第一数据写入本地缓存区域。
28.一种虚拟机,其特征在于,包括:
确定单元,用于确定输入/输出I/O写请求对应的第一文件信息,所述第一文件信息用于指示所述I/O写请求所请求写入的第一数据所属的文件;
发送单元,用于向宿主机host发送所述I/O写请求,所述I/O写请求携带所述第一文件信息,以便所述宿主机host在将所述I/O写请求所请求写入的第一数据写入本地持久化存储区域之后,根据所述第一文件信息确定所述第一数据所属的文件的文件类型,并在确定所述第一数据所属的文件的文件类型为用户文件或系统文件时,将所述第一数据写入远端共享存储区域。
29.根据权利要求28所述的虚拟机,其特征在于,所述确定单元还用于,确定I/O读请求对应的第二文件信息,所述第二文件信息用于指示所述I/O读请求所请求读取的第三数据所属的文件;向所述宿主机host发送所述I/O读请求,所述I/O读请求携带所述第二文件信息,以使所述宿主机host依次在本地缓存区域、所述本地持久化存储区域和所述远端共享存储区域查找所述I/O读请求所请求读取的第三数据,直到查找到所述第三数据为止;
所述虚拟机还包括:接收单元,用于接收所述宿主机host发送的所述第三数据。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013103229906A CN103389884A (zh) | 2013-07-29 | 2013-07-29 | 处理输入/输出请求的方法、宿主机、服务器和虚拟机 |
PCT/CN2014/070915 WO2015014109A1 (zh) | 2013-07-29 | 2014-01-20 | 处理输入/输出请求的方法、宿主机、服务器和虚拟机 |
EP14814667.3A EP2857952A4 (en) | 2013-07-29 | 2014-01-20 | METHOD FOR PROCESSING INPUT / OUTPUT INQUIRIES, HOST, SERVER AND VIRTUAL MACHINE |
US14/581,506 US10496613B2 (en) | 2013-07-29 | 2014-12-23 | Method for processing input/output request, host, server, and virtual machine |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013103229906A CN103389884A (zh) | 2013-07-29 | 2013-07-29 | 处理输入/输出请求的方法、宿主机、服务器和虚拟机 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103389884A true CN103389884A (zh) | 2013-11-13 |
Family
ID=49534166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013103229906A Pending CN103389884A (zh) | 2013-07-29 | 2013-07-29 | 处理输入/输出请求的方法、宿主机、服务器和虚拟机 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10496613B2 (zh) |
EP (1) | EP2857952A4 (zh) |
CN (1) | CN103389884A (zh) |
WO (1) | WO2015014109A1 (zh) |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103491193A (zh) * | 2013-09-30 | 2014-01-01 | 华为技术有限公司 | 一种文件共享的方法和设备 |
CN103631537A (zh) * | 2013-11-29 | 2014-03-12 | 华为技术有限公司 | 一种虚拟磁盘的管理方法及装置 |
WO2014101870A1 (en) * | 2012-12-29 | 2014-07-03 | Huawei Technologies Co., Ltd. | Virtual Desktop Infrastructure (VDI) Login Acceleration |
CN104166583A (zh) * | 2014-08-11 | 2014-11-26 | 香港理工大学深圳研究院 | 一种基于移动设备虚拟化环境的数据存储方法及装置 |
WO2015014109A1 (zh) * | 2013-07-29 | 2015-02-05 | 华为技术有限公司 | 处理输入/输出请求的方法、宿主机、服务器和虚拟机 |
WO2016041501A1 (zh) * | 2014-09-16 | 2016-03-24 | 华为技术有限公司 | 一种内存分配的方法及装置 |
CN105447203A (zh) * | 2015-12-31 | 2016-03-30 | 杭州华为数字技术有限公司 | 一种共享文件的访问方法、系统及相关设备 |
CN105573816A (zh) * | 2015-12-11 | 2016-05-11 | 北京奇虎科技有限公司 | 虚拟输入的方法、装置及系统 |
WO2016155266A1 (zh) * | 2015-03-27 | 2016-10-06 | 中兴通讯股份有限公司 | 虚拟桌面的数据共享方法和装置 |
CN106484633A (zh) * | 2016-10-08 | 2017-03-08 | 广州华多网络科技有限公司 | 一种缓存数据的方法及装置 |
CN106817388A (zh) * | 2015-11-30 | 2017-06-09 | 阿里巴巴集团控股有限公司 | 虚拟机、宿主机获取数据的方法、装置及访问数据的系统 |
WO2017097114A1 (zh) * | 2015-12-09 | 2017-06-15 | 华为技术有限公司 | 一种共享文件的访问方法、系统及相关设备 |
CN107168767A (zh) * | 2016-03-08 | 2017-09-15 | 深圳市深信服电子科技有限公司 | 存储设备的数据处理方法和装置 |
WO2017167056A1 (zh) * | 2016-03-29 | 2017-10-05 | 阿里巴巴集团控股有限公司 | 一种虚拟机的数据存储方法和装置 |
CN107391269A (zh) * | 2016-03-28 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 一种用于通过持久化队列处理消息的方法与设备 |
CN107438834A (zh) * | 2016-12-08 | 2017-12-05 | 深圳前海达闼云端智能科技有限公司 | 虚拟机功能服务的实现方法、装置、电子设备和计算机程序产品 |
CN107656877A (zh) * | 2017-09-15 | 2018-02-02 | 联想(北京)有限公司 | 信息处理方法及其设备 |
CN108023914A (zh) * | 2016-11-03 | 2018-05-11 | 阿里巴巴集团控股有限公司 | 一种内存数据共享系统、内存数据的写入以及读取方法 |
WO2018145228A1 (en) * | 2017-02-13 | 2018-08-16 | Pivotal Software, Inc. | Quality of access reports in distributed storage systems |
CN108701048A (zh) * | 2017-09-29 | 2018-10-23 | 华为技术有限公司 | 数据加载方法及装置 |
CN109067833A (zh) * | 2014-05-22 | 2018-12-21 | 华为技术有限公司 | 一种节点互连装置、资源控制节点和服务器系统 |
CN109753226A (zh) * | 2017-11-07 | 2019-05-14 | 阿里巴巴集团控股有限公司 | 数据处理系统、方法及电子设备 |
CN111258705A (zh) * | 2018-11-30 | 2020-06-09 | 华为技术有限公司 | 用于检测云硬盘输入输出io邻位干扰的方法和装置 |
CN111638854A (zh) * | 2020-05-26 | 2020-09-08 | 北京同有飞骥科技股份有限公司 | Nas构建的性能优化方法、装置及san堆栈块设备 |
CN111857943A (zh) * | 2019-04-30 | 2020-10-30 | 华为技术有限公司 | 数据处理的方法、装置与设备 |
WO2023050857A1 (zh) * | 2021-09-30 | 2023-04-06 | 华为技术有限公司 | 一种计算节点集群、数据聚合方法和相关设备 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10257274B2 (en) * | 2014-09-15 | 2019-04-09 | Foundation for Research and Technology—Hellas (FORTH) | Tiered heterogeneous fast layer shared storage substrate apparatuses, methods, and systems |
US11237727B2 (en) * | 2015-10-05 | 2022-02-01 | Weka.IO Ltd. | Electronic storage system |
US20190004841A1 (en) * | 2017-06-30 | 2019-01-03 | Microsoft Technology Licensing, Llc | Memory Sharing For Virtual Machines |
US10929233B2 (en) * | 2017-10-27 | 2021-02-23 | Vmware, Inc. | Application high availability via application transparent battery-backed replication of persistent data |
CN114676117B (zh) * | 2022-05-27 | 2022-08-16 | 成都明途科技有限公司 | 一种岗位数据存储方法、装置及岗位机器人 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591702A (zh) * | 2011-12-31 | 2012-07-18 | 华为技术有限公司 | 虚拟化处理方法及相关装置和计算机系统 |
CN102708060A (zh) * | 2012-05-14 | 2012-10-03 | 华为技术有限公司 | 一种镜像文件访问方法、装置及系统 |
US20130097377A1 (en) * | 2011-10-18 | 2013-04-18 | Hitachi, Ltd. | Method for assigning storage area and computer system using the same |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7430571B2 (en) * | 2004-04-30 | 2008-09-30 | Network Appliance, Inc. | Extension of write anywhere file layout write allocation |
US7730012B2 (en) * | 2004-06-25 | 2010-06-01 | Apple Inc. | Methods and systems for managing data |
US8131825B2 (en) * | 2005-10-07 | 2012-03-06 | Citrix Systems, Inc. | Method and a system for responding locally to requests for file metadata associated with files stored remotely |
US20090049132A1 (en) * | 2007-08-15 | 2009-02-19 | Moshe Livne Gutovski | Device, system, and method of routing electronic mail |
US9760725B2 (en) * | 2008-06-11 | 2017-09-12 | Ca, Inc. | Content transfer control |
US9087066B2 (en) * | 2009-04-24 | 2015-07-21 | Swish Data Corporation | Virtual disk from network shares and file servers |
NO330773B1 (no) * | 2009-12-18 | 2011-07-11 | Vetco Gray Scandinavia As | Transformator |
US8972690B2 (en) * | 2010-01-05 | 2015-03-03 | Deric Horn | Methods and apparatuses for usage based allocation block size tuning |
US8140735B2 (en) * | 2010-02-17 | 2012-03-20 | Novell, Inc. | Techniques for dynamic disk personalization |
US8413142B2 (en) * | 2010-03-30 | 2013-04-02 | Citrix Systems, Inc. | Storage optimization selection within a virtualization environment |
US8312471B2 (en) * | 2010-04-26 | 2012-11-13 | Vmware, Inc. | File system independent content aware cache |
US8832035B2 (en) * | 2011-08-30 | 2014-09-09 | Netapp, Inc. | System and method for retaining deduplication in a storage object after a clone split operation |
US20130086579A1 (en) * | 2011-09-30 | 2013-04-04 | Virtual Bridges, Inc. | System, method, and computer readable medium for improving virtual desktop infrastructure performance |
CN106095524B (zh) * | 2011-12-22 | 2019-04-02 | 中国移动通信集团公司 | 一种虚拟机部署方法、系统和装置 |
US8676764B1 (en) * | 2012-03-31 | 2014-03-18 | Emc Corporation | File cluster creation |
US8924720B2 (en) * | 2012-09-27 | 2014-12-30 | Intel Corporation | Method and system to securely migrate and provision virtual machine images and content |
US9183103B2 (en) * | 2013-05-31 | 2015-11-10 | Vmware, Inc. | Lightweight remote replication of a local write-back cache |
CN103389884A (zh) * | 2013-07-29 | 2013-11-13 | 华为技术有限公司 | 处理输入/输出请求的方法、宿主机、服务器和虚拟机 |
-
2013
- 2013-07-29 CN CN2013103229906A patent/CN103389884A/zh active Pending
-
2014
- 2014-01-20 EP EP14814667.3A patent/EP2857952A4/en not_active Withdrawn
- 2014-01-20 WO PCT/CN2014/070915 patent/WO2015014109A1/zh active Application Filing
- 2014-12-23 US US14/581,506 patent/US10496613B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130097377A1 (en) * | 2011-10-18 | 2013-04-18 | Hitachi, Ltd. | Method for assigning storage area and computer system using the same |
CN102591702A (zh) * | 2011-12-31 | 2012-07-18 | 华为技术有限公司 | 虚拟化处理方法及相关装置和计算机系统 |
CN102708060A (zh) * | 2012-05-14 | 2012-10-03 | 华为技术有限公司 | 一种镜像文件访问方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
MOHAMMAD SHAMMA 等: "Capo: Recapitulating Storage for Virtual Desktops", 《PROCEEDINGS OF FAST ’11: 9TH USENIX CONFERENCE ON FILE AND STORAGE TECHNOLOGIES》 * |
Cited By (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014101870A1 (en) * | 2012-12-29 | 2014-07-03 | Huawei Technologies Co., Ltd. | Virtual Desktop Infrastructure (VDI) Login Acceleration |
US8819139B2 (en) | 2012-12-29 | 2014-08-26 | Futurewei Technologies, Inc. | Virtual desktop infrastructure (VDI) login acceleration |
US8924478B2 (en) | 2012-12-29 | 2014-12-30 | Futurewei Technologies, Inc. | Virtual desktop infrastructure (VDI) login acceleration |
WO2015014109A1 (zh) * | 2013-07-29 | 2015-02-05 | 华为技术有限公司 | 处理输入/输出请求的方法、宿主机、服务器和虚拟机 |
US10496613B2 (en) | 2013-07-29 | 2019-12-03 | Huawei Technologies Co., Ltd. | Method for processing input/output request, host, server, and virtual machine |
CN103491193A (zh) * | 2013-09-30 | 2014-01-01 | 华为技术有限公司 | 一种文件共享的方法和设备 |
CN103631537B (zh) * | 2013-11-29 | 2016-09-14 | 华为技术有限公司 | 一种虚拟磁盘的管理方法及装置 |
CN103631537A (zh) * | 2013-11-29 | 2014-03-12 | 华为技术有限公司 | 一种虚拟磁盘的管理方法及装置 |
US11023143B2 (en) | 2014-05-22 | 2021-06-01 | Huawei Technologies Co., Ltd. | Node interconnection apparatus, resource control node, and server system |
US11789619B2 (en) | 2014-05-22 | 2023-10-17 | Huawei Technologies Co., Ltd. | Node interconnection apparatus, resource control node, and server system |
CN109067833A (zh) * | 2014-05-22 | 2018-12-21 | 华为技术有限公司 | 一种节点互连装置、资源控制节点和服务器系统 |
US11899943B2 (en) | 2014-05-22 | 2024-02-13 | Huawei Technologies Co., Ltd. | Node interconnection apparatus, resource control node, and server system |
CN109067833B (zh) * | 2014-05-22 | 2021-06-22 | 华为技术有限公司 | 一种节点互连装置、资源控制节点和服务器系统 |
CN104166583B (zh) * | 2014-08-11 | 2017-08-04 | 香港理工大学深圳研究院 | 一种基于移动设备虚拟化环境的数据存储方法及装置 |
CN104166583A (zh) * | 2014-08-11 | 2014-11-26 | 香港理工大学深圳研究院 | 一种基于移动设备虚拟化环境的数据存储方法及装置 |
WO2016041501A1 (zh) * | 2014-09-16 | 2016-03-24 | 华为技术有限公司 | 一种内存分配的方法及装置 |
US10990303B2 (en) | 2014-09-16 | 2021-04-27 | Huawei Technologies Co., Ltd. | Memory allocation method and apparatus |
US10353609B2 (en) | 2014-09-16 | 2019-07-16 | Huawei Technologies Co., Ltd. | Memory allocation method and apparatus |
WO2016155266A1 (zh) * | 2015-03-27 | 2016-10-06 | 中兴通讯股份有限公司 | 虚拟桌面的数据共享方法和装置 |
CN106817388A (zh) * | 2015-11-30 | 2017-06-09 | 阿里巴巴集团控股有限公司 | 虚拟机、宿主机获取数据的方法、装置及访问数据的系统 |
CN106817388B (zh) * | 2015-11-30 | 2020-07-28 | 阿里巴巴集团控股有限公司 | 虚拟机、宿主机获取数据的方法、装置及访问数据的系统 |
WO2017097114A1 (zh) * | 2015-12-09 | 2017-06-15 | 华为技术有限公司 | 一种共享文件的访问方法、系统及相关设备 |
CN105573816B (zh) * | 2015-12-11 | 2018-12-21 | 北京奇虎科技有限公司 | 虚拟输入的方法、装置及系统 |
CN105573816A (zh) * | 2015-12-11 | 2016-05-11 | 北京奇虎科技有限公司 | 虚拟输入的方法、装置及系统 |
CN105447203A (zh) * | 2015-12-31 | 2016-03-30 | 杭州华为数字技术有限公司 | 一种共享文件的访问方法、系统及相关设备 |
CN105447203B (zh) * | 2015-12-31 | 2019-03-26 | 杭州华为数字技术有限公司 | 一种共享文件的访问方法、系统及相关设备 |
CN107168767A (zh) * | 2016-03-08 | 2017-09-15 | 深圳市深信服电子科技有限公司 | 存储设备的数据处理方法和装置 |
CN107168767B (zh) * | 2016-03-08 | 2020-07-10 | 深信服科技股份有限公司 | 存储设备的数据处理方法和装置 |
CN107391269B (zh) * | 2016-03-28 | 2021-04-20 | 阿里巴巴集团控股有限公司 | 一种用于通过持久化队列处理消息的方法与设备 |
CN107391269A (zh) * | 2016-03-28 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 一种用于通过持久化队列处理消息的方法与设备 |
TWI735542B (zh) * | 2016-03-29 | 2021-08-11 | 香港商阿里巴巴集團服務有限公司 | 一種虛擬機器的資料儲存方法和裝置 |
CN107239319B (zh) * | 2016-03-29 | 2021-05-28 | 阿里巴巴集团控股有限公司 | 一种虚拟机的数据存储方法和装置 |
WO2017167056A1 (zh) * | 2016-03-29 | 2017-10-05 | 阿里巴巴集团控股有限公司 | 一种虚拟机的数据存储方法和装置 |
CN107239319A (zh) * | 2016-03-29 | 2017-10-10 | 阿里巴巴集团控股有限公司 | 一种虚拟机的数据存储方法和装置 |
CN106484633A (zh) * | 2016-10-08 | 2017-03-08 | 广州华多网络科技有限公司 | 一种缓存数据的方法及装置 |
CN108023914A (zh) * | 2016-11-03 | 2018-05-11 | 阿里巴巴集团控股有限公司 | 一种内存数据共享系统、内存数据的写入以及读取方法 |
CN107438834A (zh) * | 2016-12-08 | 2017-12-05 | 深圳前海达闼云端智能科技有限公司 | 虚拟机功能服务的实现方法、装置、电子设备和计算机程序产品 |
CN107438834B (zh) * | 2016-12-08 | 2021-10-12 | 深圳前海达闼云端智能科技有限公司 | 虚拟机功能服务的实现方法、装置、电子设备和计算机程序产品 |
WO2018145228A1 (en) * | 2017-02-13 | 2018-08-16 | Pivotal Software, Inc. | Quality of access reports in distributed storage systems |
CN107656877B (zh) * | 2017-09-15 | 2021-06-15 | 联想(北京)有限公司 | 信息处理方法及其设备 |
CN107656877A (zh) * | 2017-09-15 | 2018-02-02 | 联想(北京)有限公司 | 信息处理方法及其设备 |
CN108701048B (zh) * | 2017-09-29 | 2020-09-11 | 华为技术有限公司 | 数据加载方法及装置 |
US10838829B2 (en) | 2017-09-29 | 2020-11-17 | Huawei Technologies Co., Ltd. | Method and apparatus for loading data from a mirror server and a non-transitory computer readable storage medium |
CN108701048A (zh) * | 2017-09-29 | 2018-10-23 | 华为技术有限公司 | 数据加载方法及装置 |
CN109753226A (zh) * | 2017-11-07 | 2019-05-14 | 阿里巴巴集团控股有限公司 | 数据处理系统、方法及电子设备 |
CN111258705A (zh) * | 2018-11-30 | 2020-06-09 | 华为技术有限公司 | 用于检测云硬盘输入输出io邻位干扰的方法和装置 |
CN111258705B (zh) * | 2018-11-30 | 2023-12-08 | 华为技术有限公司 | 用于检测云硬盘输入输出io邻位干扰的方法和装置 |
WO2020220790A1 (zh) * | 2019-04-30 | 2020-11-05 | 华为技术有限公司 | 数据处理的方法、装置与设备 |
CN111857943B (zh) * | 2019-04-30 | 2024-05-17 | 华为技术有限公司 | 数据处理的方法、装置与设备 |
CN111857943A (zh) * | 2019-04-30 | 2020-10-30 | 华为技术有限公司 | 数据处理的方法、装置与设备 |
CN111638854A (zh) * | 2020-05-26 | 2020-09-08 | 北京同有飞骥科技股份有限公司 | Nas构建的性能优化方法、装置及san堆栈块设备 |
WO2023050857A1 (zh) * | 2021-09-30 | 2023-04-06 | 华为技术有限公司 | 一种计算节点集群、数据聚合方法和相关设备 |
Also Published As
Publication number | Publication date |
---|---|
EP2857952A1 (en) | 2015-04-08 |
US20150154227A1 (en) | 2015-06-04 |
US10496613B2 (en) | 2019-12-03 |
WO2015014109A1 (zh) | 2015-02-05 |
EP2857952A4 (en) | 2015-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103389884A (zh) | 处理输入/输出请求的方法、宿主机、服务器和虚拟机 | |
US10628043B1 (en) | Systems and methods for implementing a horizontally federated heterogeneous cluster | |
AU2016398043B2 (en) | Efficient live-migration of remotely accessed data | |
US20200192593A1 (en) | Distributed host copy migration in a cluster environment using changed block tracking | |
US9720952B2 (en) | Virtual block devices | |
CN103797770B (zh) | 一种共享存储资源的方法和系统 | |
US9075820B2 (en) | Distributed file system at network switch | |
US20150293836A1 (en) | Creating software performance testing environment based on virtual machine | |
CN102708060B (zh) | 一种镜像文件访问方法、装置及系统 | |
JP2009276969A (ja) | ストレージシステム及び管理装置を用いたストレージシステムの管理方法 | |
US8732702B2 (en) | File system for storage area network | |
US9460009B1 (en) | Logical unit creation in data storage system | |
US8868877B2 (en) | Creating encrypted storage volumes based on thin-provisioning mode information | |
KR20160025606A (ko) | 데이터 프로세싱 | |
US10824513B1 (en) | Processing input/output operations while snapshot and extent copy operations are in progress for a logical storage volume | |
US11016691B2 (en) | Migrating data from a large extent pool to a small extent pool | |
CN111026510A (zh) | 一种云环境下虚拟机跨存储热迁移方法 | |
US20140082275A1 (en) | Server, host and method for reading base image through storage area network | |
US9830110B2 (en) | System and method to enable dynamic changes to virtual disk stripe element sizes on a storage controller | |
Xie et al. | Two-mode data distribution scheme for heterogeneous storage in data centers | |
US8838768B2 (en) | Computer system and disk sharing method used thereby | |
US9069471B2 (en) | Passing hint of page allocation of thin provisioning with multiple virtual volumes fit to parallel data access | |
US9348513B2 (en) | SAS virtual tape drive | |
CN102622352A (zh) | 一种实现共享文件的方法、服务器及系统 | |
US10394585B2 (en) | Managing guest partition access to physical devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20131113 |