CN103514222A - 虚拟机映像的存储方法、管理方法、存储管理装置及*** - Google Patents

虚拟机映像的存储方法、管理方法、存储管理装置及*** Download PDF

Info

Publication number
CN103514222A
CN103514222A CN201210222670.9A CN201210222670A CN103514222A CN 103514222 A CN103514222 A CN 103514222A CN 201210222670 A CN201210222670 A CN 201210222670A CN 103514222 A CN103514222 A CN 103514222A
Authority
CN
China
Prior art keywords
virtual machine
machine image
metadata
bucket
key
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
CN201210222670.9A
Other languages
English (en)
Other versions
CN103514222B (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.)
Wuxi Jiangnan Computing Technology Institute
Original Assignee
Wuxi Jiangnan Computing Technology Institute
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 Wuxi Jiangnan Computing Technology Institute filed Critical Wuxi Jiangnan Computing Technology Institute
Priority to CN201210222670.9A priority Critical patent/CN103514222B/zh
Publication of CN103514222A publication Critical patent/CN103514222A/zh
Application granted granted Critical
Publication of CN103514222B publication Critical patent/CN103514222B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种基于分布式键-值型数据库的虚拟机映像存储方法、管理方法、存储管理装置及***。所述存储方法包括为各虚拟机映像分配唯一的识别码;将各虚拟机映像分别存储于所述分布式键-值型数据库为其分配的存储桶中,所述存储桶以所述虚拟机映像的识别码命名。所述管理方法包括接收来自虚拟机的操作请求;根据操作请求中的识别码,在所述分布式键-值型数据库中找到相应的存储桶;对存储桶内的数据进行相应操作。所述存储管理装置包括分配单元、映像存储单元。所述***包括分布式键-值型数据库***、虚拟机、虚拟机映像存储管理装置。本发明采用分布式键-值型数据库存储虚拟机映像,具有构建灵活、可用性高、容错性高的特点。

Description

虚拟机映像的存储方法、管理方法、存储管理装置及***
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于分布式键-值型数据库虚拟机映像的存储方法、管理方法、存储管理装置及***。
背景技术
虚拟机(Virtual Machine,VM)指通过软件模拟的具有完整硬件***功能的、运行在一个完全隔离环境中的完整计算机***。在虚拟机上运行所面对的不是实际的物理硬件设备,实际物理设备的实现对虚拟机来说是透明的,可以用不同的方法为虚拟机提供虚拟硬件环境。其中,宿主机可访问一个或若干个文件,作为虚拟机运行所需的虚拟硬盘,这种虚拟硬盘称为虚拟机映像(Virtual Machine Image,VMI)。
虚拟机映像管理技术包含两方面的内容,一是映像的存储技术,二是映像的组织管理技术。虚拟机映像载体为一个大文件,虚拟机映像存储技术本质上是文件存储技术。虚拟机映像的组织管理技术则针对虚拟机映像的特点,记录维护其相关的特殊属性,诸如所属用户、文件类型,所拥有的权限等。
在虚拟机映像存储技术方面有很多方法,比如构建全局存储***,或是采用数据库***等。但是,专业的全局存储***构建不灵活,通常需要专业人士进行部署并维护,并不是针对虚拟机映像存储专门设计的。而虚拟机映像通常较大,也不太适合存储在传统的关系型数据库中。
还有一种方法是将大文件分块存储在分布式的服务器上,设置一定的文件冗余,同时维护分块元数据信息,便于利用元数据重组虚拟机映像。但是,将文件切块设置冗余并维护元数据的方式不利于存储***的动态扩减容,增加或去除存储节点或元数据存储节点都会对***带来巨大的冲击。
在虚拟机映像组织管理技术方面一般采用数据库来维护虚拟机映像的相关信息,通过操作数据库,结合虚拟机映像存储来共同完成对虚拟机映像的管理。
无论采用分块存储和元数据服务器的存储方案,还是采用集中数据库管理的方案都有可用性差、容错性不高的缺陷。上述方法都存在单一故障点。元数据服务器或者数据库服务器的失效都会造成整个***失效。
授权公告号为CN101419535B的中国专利提供了一种为虚拟机提供分布式存储的***。但该***不是针对上述问题的,而是为了满足虚拟机存储的某些特殊需求。
因此如何灵活构建虚拟机映像存储管理***,同时提高可用性和容错性,成为本领域技术人员亟待解决的问题。
发明内容
本发明所要解决的技术问题是要解决虚拟机映像存储管理***的灵活构建、高可用和高容错问题。
为了解决上述问题,一种基于分布式键-值型数据库的虚拟机映像存储方法,包括:
为各虚拟机映像分配唯一的识别码;
将各虚拟机映像分别存储于所述分布式键-值型数据库为其分配的存储桶中,所述存储桶以所述虚拟机映像的识别码命名。
可选的,所述存储方法还包括:将所有虚拟机映像的元数据集中存储于所述分布式键-值型数据库中的元数据桶内,所述元数据桶通过命名与所述存储桶相区分。
可选的,所述元数据以键-值的形式存储于所述元数据桶内,所述键为各虚拟机映像的属性识别码,所述值为各虚拟机映像元数据中所述属性的值。
可选的,所述将各虚拟机映像分别存储于存储桶中,包括:
为各虚拟机映像分别分配以所述虚拟机映像的识别码命名的存储桶;
将各虚拟机映像分为多个固定粒度的文件块,为每个文件块生成一个位置偏移量;
向所述分布式键-值型数据库发出上传请求;
请求获响应后,将所述文件块以键-值的形式依次上传至所述存储桶中,所述键为位置偏移量,所述值为文件块所存储的数据内容。
可选的,所述存储方法还包括:
获得各虚拟机映像的元数据;
找到分布式键-值型数据库中的元数据桶,根据获得的元数据对桶内元数据进行更新。
可选的,所述文件块的分块粒度能调整。
本发明还提供了一种基于分布式键-值型数据库的虚拟机映像管理方法,所述虚拟机映像以上述存储方法存储于所述分布式键-值型数据库中,所述管理方法接收来自虚拟机的操作请求;根据操作请求中的识别码,在所述分布式键-值型数据库中找到相应的存储桶;对存储桶内的数据进行相应操作。
可选的,所述虚拟机映像管理方法还包括:
接收来自虚拟机的元数据操作请求;
在所述分布式键-值型数据库中找到元数据桶;
根据元数据操作请求,对元数据桶内的元数据进行相应操作。
可选的,所述元数据操作请求为查询请求时,所述相应操作包括:
在元数据桶内,基于键-值的简单查找实现按字段匹配查询;
对匹配上述值中对应的字段求交集,获得查询结果。
可选的,所述操作请求为下载请求时,所述相应操作包括:
获取所述存储桶中所有的键,并按键值进行排序;
向所述分布式键-值型数据库发出下载请求;
请求获响应后,按照排序后的键,找到对应的值,并下载其中存储的数据内容;
将下载的数据内容在本地按序写入,完成所述虚拟机映像的重组。
可选的,所述操作请求为删除请求时,所述相应操作包括:
删除所述存储桶。
可选的,所述操作请求为删除请求时,所述相应操作还包括:
删除所述分布式键-值型数据库中元数据桶内该虚拟机映像的元数据。
本发明还提供了一种虚拟机映像存储管理装置,包括:分配单元,用于在分布式键-值型数据库中为虚拟机映像分配存储桶;
映像存储单元,用于将虚拟机映像存储于所述存储桶中。
可选的,所述虚拟机映像存储管理装置还包括:元数据存储单元,用于将所有虚拟机映像的元数据集中存储于所述分布式键-值型数据库中的元数据桶内。
可选的,所述虚拟机映像存储管理装置还包括:查询单元,用于根据虚拟机的查询请求,实现查询;
下载单元,用于根据虚拟机的下载请求,下载虚拟机映像;
删除单元,用于根据虚拟机的删除请求,删除虚拟机映像。
可选的,所述映像存储单元还包括分块粒度设定单元,用于设定文件块的分块粒度。
可选的,所述映像存储单元和/或下载单元还包括报警单元,所述报警单元用于在完成存储和/或下载后,将本地的文件块数量和分布式键-值型数据库中的文件块数量进行比较,当两者不相同时,发出报警。
本发明还提供了一种基于分布式键-值型数据库的虚拟机映像存储管理***,包括分布式键-值型数据库***、虚拟机、虚拟机映像存储管理装置;所述虚拟机映像存储管理装置为上述虚拟机映像存储管理装置。
可选的,所述虚拟机映像存储管理装置与所述虚拟机之间具有网络数据通道。
与现有技术相比,本发明的技术方案具有以下优点:
1、本发明摈弃了传统的集中式存储***,而采用分布式键-值型数据存储。分布式键-值型数据存储是分布式、无中心节点的,其存储的是数据值的原始格式,不识别任何数据结构,几乎可以处理所有的数据类型。相比传统的集中式存储***,本发明的存储***具有高可用性及良好容错性的优点。
2、本发明为每一个虚拟机映像分配独立的存储桶(bucket),任两个虚拟机映像之间不会相互影响,使得存储***的构建更灵活。
3、可选方案中,将虚拟机映像的数据内容与元数据分开存储。在进行查询时,仅在元数据中进行按字段匹配,然后再对匹配的字段求交集,获得查询结果,弥补了简单键-值型存储***不支持复杂查询的缺陷,可实现与SQL等同的复杂查询。
附图说明
图1为本发明虚拟机映像存储方法中存储桶的一种具体实施方式的结构示意图;
图2为本发明的虚拟机映像存储方法的一种具体实施方式的流程示意图;
图3为使用本发明虚拟机映像存储方法一实施例的虚拟机映像结构示意图;
图4为本发明的虚拟机映像管理方法中实现下载的一种具体实施方式的流程示意图;
图5为使用本发明的虚拟机映像管理方法实现下载的一实施例的虚拟机映像结构示意图;
图6为本发明的虚拟机映像管理方法中实现删除的一种具体实施方式的流程示意图;
图7为本发明的虚拟机映像管理方法中实现查询的一种具体实施方式的流程示意图;
图8为本发明的虚拟机映像存储管理装置一种具体实施方式的结构示意图;
图9为本发明的虚拟机映像存储管理***一种具体实施方式的***结构图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。
其次,本发明利用示意图进行详细描述,在详述本发明实施例时,为便于说明,所述示意图只是实例,其在此不应限制本发明保护的范围。
为了解决背景技术中的技术问题,本发明提供了一种基于分布式键-值型数据库的虚拟机映像存储方法。图1本发明虚拟机映像存储方法中存储桶的一种具体实施方式的结构示意图。如图1所示,本虚拟机映像存储方法为每个虚拟机映像提供唯一的识别码(Universally Unique Identifier,UUID)。该虚拟机映像存储在键-值数据库为其分配的存储桶(Bucket)中,该存储桶以该识别码(UUID)命名。该虚拟机映像以固定大小文件块的形式存储于分布式键-值数据库中,每个文件块的键为位置偏移量,对应的值为需存储的数据内容。
需要说明的是,本实施例中默认固定粒度为1MB。但该粒度大小是可调的。粒度大,虚拟机映像的文件块数量较少,在查找上的开销相对较少,但一旦在上传或下载过程中某文件块出现错误,则重新上传或下载的数据量就较大。粒度小,虚拟机映像被分成了较多的文件块,在查找上开销较大,但出错时重传的数据量就较小。默认的1MB仅仅是在综合考虑了速度和效率基础上的优选值。在其他实施例中,可以根据实际应用的场景进行调整,比如在出错率较高的环境中设置较小的粒度,或者在查询频繁的环境中设置较高的粒度。
分布式键-值型数据库还为各虚拟机映像的元数据分配了独立的存储空间。所谓元数据,是描述数据的数据,主要描述数据属性,用来支持如指示存储位置、历史资料、资源查找、文件纪录等功能。这些元数据被存储于元数据桶内,该元数据桶通过特殊命名与其他存储桶相区分。比如本实施例中的元数据桶的命名为vmi_metadata,其它存储桶的命名均以image开头。
之所以要将元数据与虚拟机映像分开存储,是为了实现复杂查询。因为采用简单的键-值方式存储数据,存储的是数据值的原始形式,即以位(bit)的形式存储,是无法反映数据结构的,所以一般的键-值型数据库仅能根据键查找对应的值,即仅能提供简单查询,无法提供组合条件的复杂查询。本发明将描述数据属性的元数据独立存储,查询时可在元数据桶内对元数据进行多字段匹配,以实现基本等同于SQL的复杂查询。
图2为本发明的虚拟机映像存储方法的一种具体实施方式的流程示意图,至少包括以下步骤:
步骤S201,为虚拟机映像生成一个唯一的识别码;
步骤S202,在分布式键-值型数据库中,创建一个存储桶,所述存储桶以唯一的识别码命名;
步骤S203,将虚拟机映像分成固定大小的文件块,为每一个文件块生成一个位置偏移量;
步骤S204,向分布式键-值型数据库发出上传请求;
步骤S205,请求获响应后,将所有文件块按照顺序上传至所述存储桶,所述文件块的键为所述位置偏移量,所述文件块的值为需存储的数据内容;
步骤S206,获得虚拟机映像的元数据;
步骤S207,找到所述分布式键-值型数据库中存储元数据的元数据桶,根据获得的元数据对桶内元数据进行更新。
图3为使用本发明虚拟机映像存储方法一实施例的虚拟机映像结构示意图。下面结合图2、图3对本发明的技术方案做进一步说明。
执行步骤S201,为该虚拟机映像生成一个唯一的识别码image0;
执行步骤S202,在分布式键-值型数据库中,创建一个名为image0的存储桶,用以存储虚拟机映像image0;
执行步骤S203,将虚拟机映像分成固定大小的文件块,为每一个文件块生成一个位置偏移量。本实施例中的虚拟机映像容量为4MB,分块粒度为1MB,因此虚拟机映像被分成4块,分别以块1至块4命名,每文件块容量均为1MB。同时,为每个文件块生成一个位置偏移量,即将该文件块的初始位置与整个虚拟机映像的初始位置比较,差值为所述位置偏移量。比如:块1为首文件块,其初始位置与虚拟机映像的初始位置重合,因此块1的位置偏移量为0。块2的初始位置与整个虚拟机映像初始位置的差值为块1的容量,块1容量为1MB,因此块2位置偏移量为1MB,简记为1。同理,块3的位置偏移量为2,块4的位置偏移量为3。
执行步骤S204,向分布式键-值型数据库发出上传请求;
执行步骤S205,请求获响应后,将文件块1至块4按照顺序上传至存储桶image0中,文件块1至块4的键为各自的位置偏移量,文件块1至块4的值为需存储的数据内容;
执行步骤S206,获得虚拟机映像image0的元数据;
执行步骤S207,找到分布式键-值型数据库中名为vmi_metadata的元数据桶,对vmi_metadata桶内的元数据进行更新,将虚拟机映像image0的元数据加入其中。
本发明还提供了一种基于分布式键-值型数据库的虚拟机映像管理方法,接收来自虚拟机的操作请求;根据操作请求中的识别码,在所述分布式键-值型数据库中找到相应的存储桶;对存储桶内的数据进行相应操作。
所述操作请求可包括下载请求、删除请求及查询请求。
图4为本发明的虚拟机映像管理方法中实现下载的一种具体实施方式的流程示意图,下载包括以下步骤:
步骤S401,根据识别码,在分布式键-值型数据库中找到存储该虚拟机映像的存储桶;
步骤S402,获取存储桶中所有的键,并按键值进行排序;
步骤S403,向分布式键-值型数据库发出下载请求;
步骤S404,请求获响应后,按照排序后的键,找到对应的值,并下载其中存储的数据内容;
步骤S405,将下载的数据内容在本地按序写入,完成所述虚拟机映像的重组。
图5为使用本发明的虚拟机映像管理方法实现下载的一实施例的虚拟机映像结构示意图。下面结合图4、图5对本发明的技术方案做进一步说明。本实施例中识别码为image1的虚拟机映像存储在分布式键-值型数据库中名为image1的存储桶中,分为4块存储,每块的粒度为1MB。
执行步骤S401,根据虚拟机映像的识别码image1,在分布式键-值型数据库中找到名为image1的存储桶;
执行步骤S 402,获取image1存储桶中所有的键2、1、3、0,并按键值进行排序,排序结果为0、1、2、3;
执行步骤S403,向分布式键-值型数据库发出下载请求;
执行步骤S404,请求获响应后,按照排序后的键,找到对应的值,并下载其中存储的数据内容。首个键为0,其对应的值为块1,下载块1的数据内容。按排序结果0、1、2、3,依次下载后续块2、块3、块4。
执行步骤S405,将块1至块4在本地按序写入,完成识别码为image1的虚拟机映像的重组。
因为下载是对虚拟机映像的复制过程,不涉及元数据的改变。所以不需要对存储元数据的元数据桶进行操作。
图6为本发明的虚拟机映像管理方法中实现删除的一种具体实施方式的流程示意图,删除包括以下步骤:
步骤S601,根据识别码,在分布式键-值型数据库中找到存储该虚拟机映像的存储桶;结合到本实施例,在分布式键值型数据库中找到名为image1的存储桶。
步骤S602,删除所述存储桶;结合到本实施例,删除image1存储桶。
步骤S603,更新所述分布式键-值型数据库中元数据桶内的元数据。结合到本实施例,删除vmi_metadata元数据桶内关于image1存储桶的元数据。
需要说明的是,删除虚拟机映像的过程是异步的,虚拟机发出删除请求后可继续执行后续命令,不需要等待存储***把实际存储的数据清除掉。
图7为本发明的虚拟机映像管理方法中实现查询的一种具体实施方式的流程示意图,查询包括以下步骤:
步骤S701,找到分布式键-值型数据库中存储元数据的元数据桶;
步骤S702,在元数据桶内,基于键-值的简单查找实现按字段匹配查询;
步骤S703,对匹配上述值中对应的字段求交集,获得查询结果。
由于本发明在上传时已将各虚拟机映像的元数据提取出来,单独存储。所以,查询方法仅涉及存储元数据的元数据桶。
本发明通过上述查询方法,可基本实现复杂查询。所谓的复杂查询是指传统SQL数据库的SQL命令查询。键-值存储采用简单的键-值对,不反映数据结构,能实现的查询就是通过键查找对应的值,即仅能提供简单查询,无法提供组合条件的复杂查询。本发明为了实现与SQL基本等同的复杂查询功能,增加一个元数据桶来存储关于虚拟机的全部元数据,然后基于键-值的简单查找实现按字段匹配查询,再对匹配的字段求交集获得查询结果。
例如:在本实施例的vmi_metadata元数据桶中存储了不同操作***的虚拟机映像识别码,以os_type为键,典型的值形如{‘Linux’:[1,2,3],‘Windows’:[4,6,7],….};同时还存储了不同容量的虚拟机映像识别码,以img_size为键,典型的值形如{‘20G’:[1,5,6],‘30G’:[2,9],…..}。假如要查询容量为30G的安装Linux***的虚拟机映像,则先通过键os_type,查询对应值为‘Linux’的虚拟机映像识别码,获得虚拟机映像1、2、3的操作***为Linux***。再通过键img_size,查询对应值为‘30G’的虚拟机映像识别码,获得虚拟机映像2、9的容量为30G。接着对两次查询结果“虚拟机映像1、2、3”和“虚拟机映像2、9”求交集,得知容量为30G的安装Linux***的虚拟机映像为虚拟机映像2。
需要说明的是,元数据桶中的值为复杂结构,可根据实际需求定义值的数据结构,比如:多字段、数据字典等。
需要说明的是,本领域技术人员可以理解,上述具体实施方式的虚拟机映像存储及管理方法的全部或部分可以通过程序来指令相关的硬件完成,所述的程序可被固定于计算机可读存储介质中,所述存储介质包括ROM、RAM、磁碟、光盘等。
图8为本发明的虚拟机映像存储管理装置一种具体实施方式的结构示意图。如图8所示,虚拟机映像存储管理装置U8介于虚拟机与分布式键-值数据库***之间,通过虚拟机映像存储管理装置U8,可实现虚拟机与分布式键-值数据库***之间的数据交换。虚拟机映像存储管理装置U8包括分配单元U80、映像存储单元U81、下载单元U82、删除单元U83、查询单元U84、元数据存储单元U85,均与所述虚拟机、所述分布式键-值数据库***相连。映像存储单元U81中还包括分块粒度设定单元U811,以提供虚拟机自定义分块粒度的功能。映像存储单元U81中还包括报警单元U812,以实现在上传过程中出现错误时发出报警。报警单元U812用于在完成上传后,将本地映像文件的文件块数量和分布式键-值型数据库中的文件块数量进行比较,当两者不相同时,发出报警。
在下载单元U82中也包括报警单元U821,以实现在下载过程中出现错误时发出报警,其功能及实现方法与报警单元U812类似,此处不再赘述。
映像存储单元U81、下载单元U82、删除单元U83、查询单元U84、元数据存储单元U85,使用上述虚拟机映像存储方法或管理方法,在此不再赘述。
图9为本发明的虚拟机映像存储管理***一种具体实施方式的***结构图。如图9所示,虚拟机映像存储管理***包括分布式键-值型数据库***、虚拟机、虚拟机映像存储管理装置。所述虚拟机映像与所述虚拟机通过网络实现数据交换。本实施方式中的网络采用以太网标准,但本发明对网络标准不做限定。本实施方式中分布式键-值型数据库***中存储了各虚拟机映像和全部的元数据。所述虚拟机映像为上述虚拟机映像,所述虚拟机映像存储管理装置为上述虚拟机映像存储管理装置,此处不再赘述。虚拟机、虚拟机映像存储管理装置均安装于物理上的计算机上。本发明的虚拟机映像存储管理***适用于中小规模IAAS平台,尤其适用于一次上传多次下载的使用模式。
本发明将分布式键-值型数据库应用到虚拟机映像的存储上,相比传统的集中式存储***,具有高可靠性、高可用性及良好容错性的优点。本发明为每一个虚拟机映像分配独立的存储桶(bucket),任两个虚拟机映像之间不会相互影响,使得存储***的构建更灵活。本发明还通过将虚拟机映像的数据内容与元数据分开存储,对元数据进行按字段匹配再求交集的方式,基本实现与SQL等同的复杂查询,弥补了简单键-值型存储***不支持复杂查询的缺陷。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。

Claims (19)

1.一种基于分布式键-值型数据库的虚拟机映像存储方法,其特征在于,包括:
为各虚拟机映像分配唯一的识别码;
将各虚拟机映像分别存储于所述分布式键-值型数据库为其分配的存储桶中,所述存储桶以所述虚拟机映像的识别码命名。
2.如权利要求1所述的虚拟机映像存储方法,其特征在于,还包括:
将所有虚拟机映像的元数据集中存储于所述分布式键-值型数据库中的元数据桶内,所述元数据桶通过命名与所述存储桶相区分。
3.如权利要求2所述的虚拟机映像存储方法,其特征在于:
所述元数据以键-值的形式存储于所述元数据桶内,所述键为各虚拟机映像的属性识别码,所述值为各虚拟机映像元数据中所述属性的值。
4.如权利要求1或2所述虚拟机映像存储方法,其特征在于,所述将各虚拟机映像分别存储于存储桶中,包括:
为各虚拟机映像分别分配以所述虚拟机映像的识别码命名的存储桶;
将各虚拟机映像分为多个固定粒度的文件块,为每个文件块生成一个位置偏移量;
向所述分布式键-值型数据库发出上传请求;
请求获响应后,将所述文件块以键-值的形式依次上传至所述存储桶中,所述键为位置偏移量,所述值为文件块所存储的数据内容。
5.如权利要求4所述的虚拟机映像存储方法,其特征在于,所述存储方法还包括:
获得各虚拟机映像的元数据;
找到分布式键-值型数据库中的元数据桶,根据获得的元数据对元数据桶内元数据进行更新。
6.如权利要求4所述的虚拟机映像存储方法,其特征在于:
所述文件块的分块粒度能调整。
7.一种基于分布式键-值型数据库的虚拟机映像管理方法,所述虚拟机映像以如权利要求1所述的存储方法存储于分布式键-值型数据库中,其特征在于,包括:
接收来自虚拟机的操作请求;
根据操作请求中的识别码,在所述分布式键-值型数据库中找到相应的存储桶;
对存储桶内的数据进行相应操作。
8.如权利要求7所述的虚拟机映像管理方法,其特征在于,还包括:
接收来自虚拟机的元数据操作请求;
在所述分布式键-值型数据库中找到元数据桶;
根据元数据操作请求,对元数据桶内的元数据进行相应操作。
9.如权利要求8所述的虚拟机映像管理方法,其特征在于,所述元数据操作请求为查询请求时,所述相应操作包括:
在元数据桶内,基于键-值的简单查找实现按字段匹配查询;
对匹配上述值中对应的字段求交集,获得查询结果。
10.如权利要求7所述的虚拟机映像管理方法,其特征在于,所述操作请求为下载请求时,所述相应操作包括:
获取所述存储桶中所有的键,并按键值进行排序;
向所述分布式键-值型数据库发出下载请求;
请求获响应后,按照排序后的键,找到对应的值,并下载其中存储的数据内容;
将下载的数据内容在本地按序写入,完成所述虚拟机映像的重组。
11.如权利要求7所述的虚拟机映像管理方法,其特征在于,所述操作请求为删除请求时,所述相应操作包括:
删除所述存储桶。
12.如权利要求11所述的虚拟机映像管理方法,其特征在于,所述操作请求为删除请求时,所述相应操作还包括:
删除所述分布式键-值型数据库中元数据桶内该虚拟机映像的元数据。
13.一种虚拟机映像存储管理装置,其特征在于,包括:
分配单元,用于在分布式键-值型数据库中为虚拟机映像分配存储桶;
映像存储单元,用于将虚拟机映像存储于所述存储桶中。
14.如权利要求13所述的虚拟机映像存储管理装置,其特征在于,还包括:
元数据存储单元,用于将所有虚拟机映像的元数据集中存储于所述分布式键-值型数据库中的元数据桶内。
15.如权利要求13所述的虚拟机映像存储管理装置,其特征在于,还包括:
查询单元,用于根据虚拟机的查询请求,实现查询;
下载单元,用于根据虚拟机的下载请求,下载虚拟机映像;
删除单元,用于根据虚拟机的删除请求,删除虚拟机映像。
16.如权利要求13所述的虚拟机映像存储管理装置,其特征在于:所述映像存储单元还包括分块粒度设定单元,用于设定文件块的分块粒度。
17.如权利要求15所述的虚拟机映像存储管理装置,其特征在于:所述映像存储单元和/或下载单元还包括报警单元,所述报警单元用于在完成存储和/或下载后,将本地的文件块数量和分布式键-值型数据库中的文件块数量进行比较,当两者不相同时,发出报警。
18.一种基于分布式键-值型数据库的虚拟机映像存储管理***,其特征在于:包括分布式键-值型数据库***、虚拟机、虚拟机映像存储管理装置;所述虚拟机映像存储管理装置为如权利要求13至17所述的任一种虚拟机映像存储管理装置。
19.如权利要求18所述的基于分布式键-值型数据库的虚拟机映像存储管理***,其特征在于:所述虚拟机映像存储管理装置与所述虚拟机之间具有网络数据通道。
CN201210222670.9A 2012-06-29 2012-06-29 虚拟机映像的存储方法、管理方法、存储管理装置及*** Active CN103514222B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210222670.9A CN103514222B (zh) 2012-06-29 2012-06-29 虚拟机映像的存储方法、管理方法、存储管理装置及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210222670.9A CN103514222B (zh) 2012-06-29 2012-06-29 虚拟机映像的存储方法、管理方法、存储管理装置及***

Publications (2)

Publication Number Publication Date
CN103514222A true CN103514222A (zh) 2014-01-15
CN103514222B CN103514222B (zh) 2017-09-19

Family

ID=49896955

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210222670.9A Active CN103514222B (zh) 2012-06-29 2012-06-29 虚拟机映像的存储方法、管理方法、存储管理装置及***

Country Status (1)

Country Link
CN (1) CN103514222B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105389522A (zh) * 2015-12-23 2016-03-09 普华基础软件股份有限公司 一种虚拟机安全管理***及计算机终端
CN106339177A (zh) * 2015-07-13 2017-01-18 中兴通讯股份有限公司 一种创建虚拟机的方法和装置
CN107919033A (zh) * 2016-10-10 2018-04-17 北京七展国际数字科技有限公司 一种通过融合多媒体、微气候及生物景观的超感官生态体验***
CN111125002A (zh) * 2019-11-15 2020-05-08 卢万龙 一种基于分布式存储的数据备份归档方法和***
CN111291018A (zh) * 2018-12-07 2020-06-16 北京沃东天骏信息技术有限公司 数据管理方法、装置、设备及存储介质
CN111367869A (zh) * 2020-02-26 2020-07-03 北京三快在线科技有限公司 镜像文件处理方法、装置、存储介质及电子设备
CN111782150A (zh) * 2020-07-02 2020-10-16 深圳市瑞驰信息技术有限公司 一种基于对象存储的多桶存储***及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101243413A (zh) * 2005-06-24 2008-08-13 信科索尔特公司 用于对备份映像进行虚拟化的***和方法
CN101398768A (zh) * 2008-10-28 2009-04-01 北京航空航天大学 一种分布式虚拟机监视器***的构建方法
CN101652749A (zh) * 2007-04-05 2010-02-17 微软公司 用于虚拟机的网络组名
CN101751284A (zh) * 2009-12-25 2010-06-23 北京航空航天大学 一种分布式虚拟机监控器的i/o资源调度方法
CN102254021A (zh) * 2011-07-26 2011-11-23 北京市计算中心 基于虚拟机管理***的数据库构建方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101243413A (zh) * 2005-06-24 2008-08-13 信科索尔特公司 用于对备份映像进行虚拟化的***和方法
CN101652749A (zh) * 2007-04-05 2010-02-17 微软公司 用于虚拟机的网络组名
CN101398768A (zh) * 2008-10-28 2009-04-01 北京航空航天大学 一种分布式虚拟机监视器***的构建方法
CN101751284A (zh) * 2009-12-25 2010-06-23 北京航空航天大学 一种分布式虚拟机监控器的i/o资源调度方法
CN102254021A (zh) * 2011-07-26 2011-11-23 北京市计算中心 基于虚拟机管理***的数据库构建方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106339177A (zh) * 2015-07-13 2017-01-18 中兴通讯股份有限公司 一种创建虚拟机的方法和装置
CN105389522A (zh) * 2015-12-23 2016-03-09 普华基础软件股份有限公司 一种虚拟机安全管理***及计算机终端
CN105389522B (zh) * 2015-12-23 2022-03-04 普华基础软件股份有限公司 一种虚拟机安全管理***及计算机终端
CN107919033A (zh) * 2016-10-10 2018-04-17 北京七展国际数字科技有限公司 一种通过融合多媒体、微气候及生物景观的超感官生态体验***
CN111291018A (zh) * 2018-12-07 2020-06-16 北京沃东天骏信息技术有限公司 数据管理方法、装置、设备及存储介质
CN111125002A (zh) * 2019-11-15 2020-05-08 卢万龙 一种基于分布式存储的数据备份归档方法和***
CN111125002B (zh) * 2019-11-15 2023-10-27 卢万龙 一种基于分布式存储的数据备份归档方法和***
CN111367869A (zh) * 2020-02-26 2020-07-03 北京三快在线科技有限公司 镜像文件处理方法、装置、存储介质及电子设备
CN111782150A (zh) * 2020-07-02 2020-10-16 深圳市瑞驰信息技术有限公司 一种基于对象存储的多桶存储***及方法
CN111782150B (zh) * 2020-07-02 2024-05-31 深圳市瑞驰信息技术有限公司 一种基于对象存储的多桶存储***及方法

Also Published As

Publication number Publication date
CN103514222B (zh) 2017-09-19

Similar Documents

Publication Publication Date Title
USRE49011E1 (en) Mapping in a storage system
US9584312B2 (en) Methods and systems for storing and retrieving data
US8856489B2 (en) Logical sector mapping in a flash storage array
EP2761420B1 (en) Variable length encoding in a storage system
US9582213B2 (en) Object store architecture for distributed data processing system
CN103514222A (zh) 虚拟机映像的存储方法、管理方法、存储管理装置及***
US10275179B2 (en) Distributed virtual block storage network
US20160098191A1 (en) Optimizing replication by distinguishing user and system write activity
US20080282047A1 (en) Methods and apparatus to backup and restore data for virtualized storage area
US20150301758A1 (en) Metadata for data storage array
US11263090B2 (en) System and method for data packing into blobs for efficient storage
US9256373B1 (en) Invulnerable data movement for file system upgrade
CN103902623A (zh) 用于在存储***上存取文件的方法和***
US10031682B1 (en) Methods for improved data store migrations and devices thereof
US10048885B1 (en) Managing reclaiming storage space in file systems
US11625192B2 (en) Peer storage compute sharing using memory buffer
US10521398B1 (en) Tracking version families in a file system
US20240119029A1 (en) Data processing method and related apparatus
CN113986117A (zh) 文件的存储方法、***、计算设备及存储介质
KR20130040415A (ko) 네트워크-결합 스토리지 장치 및 이의 동작 방법

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