CN107168646B - 一种分布式数据存储控制方法及服务器 - Google Patents

一种分布式数据存储控制方法及服务器 Download PDF

Info

Publication number
CN107168646B
CN107168646B CN201710220241.0A CN201710220241A CN107168646B CN 107168646 B CN107168646 B CN 107168646B CN 201710220241 A CN201710220241 A CN 201710220241A CN 107168646 B CN107168646 B CN 107168646B
Authority
CN
China
Prior art keywords
virtual machine
physical disk
disk
disks
small
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710220241.0A
Other languages
English (en)
Other versions
CN107168646A (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.)
Foshan University
Original Assignee
Foshan University
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 Foshan University filed Critical Foshan University
Priority to CN201710220241.0A priority Critical patent/CN107168646B/zh
Publication of CN107168646A publication Critical patent/CN107168646A/zh
Application granted granted Critical
Publication of CN107168646B publication Critical patent/CN107168646B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0667Virtualisation aspects at data level, e.g. file, record or object virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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/45562Creating, deleting, cloning virtual machine instances
    • 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/45575Starting, stopping, suspending or resuming virtual machine instances
    • 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/45587Isolation or security of virtual machine instances

Abstract

本发明实施例公开了一种分布式数据存储控制方法及服务器;应用于包含J个物理磁盘的分布式系统中的虚拟机控制器,虚拟机控制器获取小物理磁盘的分配状态,以及所述J个物理磁盘的活跃程度;从处于未分配状态的小物理磁盘中选择K个小物理磁盘作为目标物理磁盘;安装虚拟操作系统,在所述虚拟操作系统中指定了:在所述虚拟机运行过程中若有数据存储需求,则由所述虚拟机获得所述目标物理磁盘的标识,并向所述目标物理磁盘对应的物理磁盘分别发送活跃度查询请求。方便后续物理磁盘的查找;可以减少拥塞;另外,减少了数据拥塞的可能性,提高数据存储的并行度,可以提高数据存储的安全性。

Description

一种分布式数据存储控制方法及服务器
技术领域
本发明涉及信息技术领域,特别涉及一种分布式数据存储控制方法及服务器。
背景技术
分布式存储系统,是将数据分散存储在多台独立的设备上。
传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
虚拟系统通过生成现有操作系统的全新虚拟镜像,它具有真实windows系统完全一样的功能,进入虚拟系统后,所有操作都是在这个全新的独立的虚拟系统里面进行,可以独立安装运行软件,保存数据,拥有自己的独立桌面,不会对真正的系统产生任何影响,而且具有能够在现有系统与虚拟镜像之间灵活切换的一类操作系统。虚拟系统和传统的虚拟机(Parallels Desktop,Vmware,VirtualBox,Virtual pc)不同在于:虚拟系统不会降低电脑的性能,启动虚拟系统不需要像启动windows系统那样耗费时间,运行程序更加方便快捷;虚拟系统只能模拟和现有操作系统相同的环境,而虚拟机则可以模拟出其他种类的操作系统;而且虚拟机需要模拟底层的硬件指令,所以在应用程序运行速度上比虚拟系统慢得多。
在分布式系统存储系统中,需要将数据存储到多个独立的设备上,在这个过程中,经常出现拥塞导致存储速度慢,因此整个数据存储效率较低。
发明内容
本发明实施例提供了一种分布式数据存储控制方法、及服务器,用于减少数据拥塞的几率,并且提高数据存储的安全性。
一方面本发明实施例提供了一种分布式数据存储控制方法,应用于包含J个物理磁盘的分布式系统中的虚拟机控制器,所述服务器包含所述虚拟机控制器,所述J个物理磁盘中每个物理磁盘的存储空间被分为大小相等的小物理磁盘,每个物理磁盘内的小物理磁盘的序号按照地址从低到高排序;所述J个物理磁盘各自具有大物理磁盘标识,各小物理磁盘具有小物理磁盘标识,所述小物理磁盘标识由所述大物理磁盘标识与所述小物理磁盘的序号组合得到,所述方法包括:
所述虚拟机控制器获取小物理磁盘的分配状态,以及所述J个物理磁盘的活跃程度;
所述虚拟机控制器在接收到虚拟机创建请求后,确定将要创建的虚拟机的存储空间需求;依据所述小物理磁盘的分配状态确定处于未分配状态的小物理磁盘;从处于未分配状态的小物理磁盘中选择K个小物理磁盘作为目标物理磁盘,所述K个小物理磁盘的存储空间之和满足所述存储空间需求;所述K为2的L次方,所述L大于或等于3;所述K个小物理磁盘各自位于不同的物理磁盘;
所述虚拟机控制器响应所述虚拟机创建请求在所述目标物理磁盘中安装虚拟操作系统构建虚拟机;在所述虚拟操作系统中指定了:在所述虚拟机运行过程中若有数据存储需求,则由所述虚拟机获得所述目标物理磁盘的标识,并向所述目标物理磁盘对应的物理磁盘分别发送活跃度查询请求,在所述活跃度查询请求中携带所述目标物理磁盘的标识;在所述虚拟机接收所述目标物理磁盘对应的物理磁盘返回的活跃程度后;由所述虚拟机将需要存储的数据拆分为大于2且小于或等于K/2个目标数据,按照所述目标物理磁盘对应的物理磁盘的活跃程度从低到高,将各目标数据分别存储到所述目标物理磁盘中的各小物理磁盘。
在一个可选的实现方式中,所述大物理磁盘标识为P位的二进制字符串,所述小物理磁盘标识为Q位的二进制字符串;所述小物理磁盘的序号为位于小物理磁盘标识的低位部分,每个小物理磁盘的存储空间为R位;所述方法还包括:
所述虚拟机控制器接收所述虚拟机发送的查询请求,在所述查询请求中包含访存操作指定的虚拟地址;所述目标物理磁盘由其包含的各小物理磁盘按照所述各小物理磁盘所在的大物理磁盘标识从低到高依次排序组成,所述虚拟地址以所述目标物理磁盘的起始地址为起始虚拟地址顺序编号获得;在所述虚拟机控制器中存储有地址映射表,所述地址映射表的表项包含:虚拟盘序号、小物理磁盘标识;
所述虚拟机控制器计算所述虚拟地址与所述R的商取整得到所述虚拟地址的虚拟盘序号,计算所述虚拟地址与所述R的商取余得到偏移量;
所述虚拟机控制器查找所述地址映射表获得包含所述虚拟地址的虚拟盘序号的表项,并确定该表项中包含的小物理磁盘标识作为目标小物理磁盘标识;
所述虚拟机控制器截取所述小物理磁盘标识的前P位作为目标大物理磁盘标识,向所述目标大物理磁盘标识对应的物理磁盘发送读请求,在所述读请求中包含所述小物理磁盘标识以及所述偏移量,使所述小物理磁盘标识对应的小物理磁盘返回在所述小物理磁盘的起始位置偏移所述偏移量对应物理地址的数据;
所述虚拟机控制器向所述虚拟机发送所述小物理磁盘标识对应的小物理磁盘返回的数据。
在一个可选的实现方式中,所述虚拟机控制器计算所述虚拟地址与所述R的商取整得到所述虚拟地址的虚拟盘序号,计算所述虚拟地址与所述R的商取余得到偏移量包括:
所述虚拟机控制器截取所述虚拟地址的前R位得到所述虚拟盘序号,截取所述虚拟地址的剩余位得到所述偏移量。
在一个可选的实现方式中,在所述虚拟机被创建之后,所述方法还包括:
所述虚拟机控制器接收虚拟机删除请求,所述虚拟机删除请求用于请求删除所述虚拟机;
所述虚拟机控制器将所述目标物理磁盘中包含的各小物理磁盘的分配状态设置为未分配状态,不删除所述目标物理磁盘中包含的各小物理磁盘已经被写入的数据。
在一个可选的实现方式中,在所述虚拟机控制器将所述目标物理磁盘中包含的各小物理磁盘的分配状态设置为未分配状态之后,所述方法还包括:
所述虚拟机控制器记录所述目标物理磁盘中包含的各小物理磁盘,在下一次创建新虚拟机时,以随机方式获取所述新虚拟机所需的小物理磁盘,并确定获取到的小物理磁盘中少于或等于两个小物理磁盘属于所述目标物理磁盘中包含的小物理磁盘。
第二方面,本发明实施例提供了一种服务器,所述服务器包含所述虚拟机控制器,应用于包含所述虚拟机控制器、虚拟机和J个物理磁盘的分布式存储系统;所述J个物理磁盘中每个物理磁盘的存储空间被分为大小相等的小物理磁盘,每个物理磁盘内的小物理磁盘的序号按照地址从低到高排序;所述J个物理磁盘各自具有大物理磁盘标识,各小物理磁盘具有小物理磁盘标识,所述小物理磁盘标识由所述大物理磁盘标识与所述小物理磁盘的序号组合得到,所述虚拟机控制器包括:
监测单元,用于获取小物理磁盘的分配状态,以及所述J个物理磁盘的活跃程度;
接收单元,用于接收虚拟机创建请求;接收来自所述虚拟机的活跃度查询请求;所述活跃度查询请求由所述虚拟机在启动并运行后,在运行过程中有数据存储需求时发送;
处理器单元,用于在接收到虚拟机创建请求后,确定将要创建的虚拟机的存储空间需求;依据所述小物理磁盘的分配状态确定处于未分配状态的小物理磁盘;从处于未分配状态的小物理磁盘中选择K个小物理磁盘作为目标物理磁盘,所述K个小物理磁盘的存储空间之和满足所述存储空间需求;所述K为2的L次方,所述L大于或等于3;所述K个小物理磁盘各自位于不同的物理磁盘;响应所述虚拟机创建请求在所述目标物理磁盘中安装虚拟操作系统构建虚拟机;在所述虚拟操作系统中指定了:在所述虚拟机运行过程中若有数据存储需求,则由所述虚拟机获得所述目标物理磁盘的标识,并向所述目标物理磁盘对应的物理磁盘分别发送活跃度查询请求,在所述活跃度查询请求中携带所述目标物理磁盘的标识;在所述虚拟机接收所述目标物理磁盘对应的物理磁盘返回的活跃程度后;由所述虚拟机将需要存储的数据拆分为大于2且小于或等于K/2个目标数据,按照所述目标物理磁盘对应的物理磁盘的活跃程度从低到高,将各目标数据分别存储到所述目标物理磁盘中的各小物理磁盘。
在一个可选的实现方式中,所述大物理磁盘标识为P位的二进制字符串,所述小物理磁盘标识为Q位的二进制字符串;所述小物理磁盘的序号为位于小物理磁盘标识的低位部分,每个小物理磁盘的存储空间为R位;
所述接收单元,还用于接收所述虚拟机发送的查询请求,在所述查询请求中包含访存操作指定的虚拟地址;所述目标物理磁盘由其包含的各小物理磁盘按照所述各小物理磁盘所在的大物理磁盘标识从低到高依次排序组成,所述虚拟地址以所述目标物理磁盘的起始地址为起始虚拟地址顺序编号获得;在所述虚拟机控制器中存储有地址映射表,所述地址映射表的表项包含:虚拟盘序号、小物理磁盘标识;
所述处理器单元,还用于计算所述虚拟地址与所述R的商取整得到所述虚拟地址的虚拟盘序号,计算所述虚拟地址与所述R的商取余得到偏移量;查找所述地址映射表获得包含所述虚拟地址的虚拟盘序号的表项,并确定该表项中包含的小物理磁盘标识作为目标小物理磁盘标识;截取所述小物理磁盘标识的前P位作为目标大物理磁盘标识;所述虚拟机控制器还包括:
发送单元,用于向所述目标大物理磁盘标识对应的物理磁盘发送读请求,在所述读请求中包含所述小物理磁盘标识以及所述偏移量,使所述小物理磁盘标识对应的小物理磁盘返回在所述小物理磁盘的起始位置偏移所述偏移量对应物理地址的数据;向所述虚拟机发送所述小物理磁盘标识对应的小物理磁盘返回的数据。
在一个可选的实现方式中,所述处理器单元,用于计算所述虚拟地址与所述R的商取整得到所述虚拟地址的虚拟盘序号,计算所述虚拟地址与所述R的商取余得到偏移量包括:
截取所述虚拟地址的前R位得到所述虚拟盘序号,截取所述虚拟地址的剩余位得到所述偏移量。
在一个可选的实现方式中,所述接收单元,还用于在所述虚拟机被创建之后,接收虚拟机删除请求,所述虚拟机删除请求用于请求删除所述虚拟机;
所述处理器单元,还用于将所述目标物理磁盘中包含的各小物理磁盘的分配状态设置为未分配状态,不删除所述目标物理磁盘中包含的各小物理磁盘已经被写入的数据。
在一个可选的实现方式中,所述处理器单元,还用于在所述虚拟机控制器将所述目标物理磁盘中包含的各小物理磁盘的分配状态设置为未分配状态之后,记录所述目标物理磁盘中包含的各小物理磁盘,在下一次创建新虚拟机时,以随机方式获取所述新虚拟机所需的小物理磁盘,并确定获取到的小物理磁盘中少于或等于两个小物理磁盘属于所述目标物理磁盘中包含的小物理磁盘。
从以上技术方案可以看出,本发明实施例具有以下优点:特别设定了物理磁盘的标识组成方式,方便后续物理磁盘的查找;另外,虚拟机的物理磁盘分配过程中充分考虑了各物理磁盘的活跃度,使得虚拟机能够分配到较为合适的物理磁盘,相对较为不活跃的磁盘可以减少拥塞;另外,将需要存储的数据进行了拆分,按照物理磁盘的活跃度再次进行数据分配,一方面进一步减少了数据拥塞的可能性,提高数据存储的并行度,另外还能够降低数据被整体存储到同一小物理磁盘导致可能被窃取的可能性,因此可以提高数据存储的安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例方法流程示意图;
图2为本发明实施例小物理磁盘标识组成结构示意图;
图3为本发明实施例系统结构示意图;
图4为本发明实施例服务器结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例提供了一种分布式数据存储控制方法,应用于包含J个物理磁盘的分布式系统中的虚拟机控制器,服务器包含所述虚拟机控制器,上述J个物理磁盘中每个物理磁盘的存储空间被分为大小相等的小物理磁盘,每个物理磁盘内的小物理磁盘的序号按照地址从低到高排序;上述J个物理磁盘各自具有大物理磁盘标识,各小物理磁盘具有小物理磁盘标识,上述小物理磁盘标识由上述大物理磁盘标识与上述小物理磁盘的序号组合得到,如图1所示,包括:
小物理磁盘标识的结构请参阅图2所示;
101:上述虚拟机控制器获取小物理磁盘的分配状态,以及上述J个物理磁盘的活跃程度;
活跃程度可以用物理磁盘当前或者综合历史数据统计得到的平均数据吞吐量,或者平均数据吞吐量占对应物理磁盘的数据存储能力的比例。越活跃的物理磁盘其数据存储压力越大,形成拥塞的可能性也将会越大。
102:上述虚拟机控制器在接收到虚拟机创建请求后,确定将要创建的虚拟机的存储空间需求;依据上述小物理磁盘的分配状态确定处于未分配状态的小物理磁盘;从处于未分配状态的小物理磁盘中选择K个小物理磁盘作为目标物理磁盘,上述K个小物理磁盘的存储空间之和满足上述存储空间需求;上述K为2的L次方,上述L大于或等于3;上述K个小物理磁盘各自位于不同的物理磁盘;
虚拟机创建请求可以是任意设备发出的,假定我们的系统应用于大型公司员工的虚拟机创建,那么可以是管理者发出的。对于不同的虚拟机可能会有不同的存储空间需求,例如:做业务的员工和做软件开发的员工,对存储空间的需求是不一样的。在本实施例中,可以假定每个小物理磁盘是500M,假定需要5000M的存储空间,那么可以分成10个小物理磁盘。这10个小物理磁盘从那些相对较为空闲的物理磁盘中选取。由于不同的虚拟机被使用的可能性是不同的,因此通过对小物理磁盘的选择性分配可以达到第一次均衡。
103:上述虚拟机控制器响应上述虚拟机创建请求在上述目标物理磁盘中安装虚拟操作系统构建虚拟机;在所述虚拟操作系统中指定了:在所述虚拟机运行过程中若有数据存储需求,则由所述虚拟机获得所述目标物理磁盘的标识,并向所述目标物理磁盘对应的物理磁盘分别发送活跃度查询请求,在所述活跃度查询请求中携带所述目标物理磁盘的标识;在所述虚拟机接收所述目标物理磁盘对应的物理磁盘返回的活跃程度后;由所述虚拟机将需要存储的数据拆分为大于2且小于或等于K/2个目标数据,按照所述目标物理磁盘对应的物理磁盘的活跃程度从低到高,将各目标数据分别存储到所述目标物理磁盘中的各小物理磁盘。
基于本发明实施例的实现方案,在虚拟机一侧需要保存所述目标物理磁盘中各小物理磁盘的小物理磁盘分别对应到哪一个物理磁盘;基于此,虚拟机查询活跃度可以不必经由虚拟机控制器来查询。
在虚拟机被创建以后,虚拟机的操作系统被安装,那么将会成为一个真正的虚拟机。虚拟机会获知自己被分配的目标物理磁盘,以及这些目标物理磁盘所处的位置。
在虚拟机上执行的步骤将会是如下:
104:所述虚拟机启动并运行,在所述虚拟机运行过程中若有数据存储需求,则向所述目标物理磁盘对应的物理磁盘分别发送活跃度查询请求,在所述活跃度查询请求中携带所述目标物理磁盘的标识;
基于本发明实施例的实现方案,在虚拟机一侧需要保存所述目标物理磁盘中各小物理磁盘的小物理磁盘分别对应到哪一个物理磁盘;基于此,虚拟机查询活跃度可以不必经由虚拟机控制器来查询。
105:所述虚拟机接收所述目标物理磁盘对应的物理磁盘返回的活跃程度;
106:所述虚拟机将需要存储的数据拆分为大于2且小于或等于K/2个目标数据,按照所述目标物理磁盘对应的物理磁盘的活跃程度从低到高,将各目标数据分别存储到所述目标物理磁盘中的各小物理磁盘。
需要说明的是,虚拟机控制器仅需要在安装虚拟机时候配置可以执行上述104~106的系统就可以了,以上104~106并不是虚拟机控制器一侧需要执行的步骤。
本步骤中,设定目标数据的数量,一方面可以保持数据被分的目标数据较多,提高安全性和存储并行度;另一方面考虑到需要存储到那些比较空闲的物理磁盘中,减少出现拥塞的可能性。
在本发明实施例中,特别设定了物理磁盘的标识组成方式,方便后续物理磁盘的查找;另外,虚拟机的物理磁盘分配过程中充分考虑了各物理磁盘的活跃度,使得虚拟机能够分配到较为合适的物理磁盘,相对较为不活跃的磁盘可以减少拥塞;另外,将需要存储的数据进行了拆分,按照物理磁盘的活跃度再次进行数据分配,一方面进一步减少了数据拥塞的可能性,提高数据存储的并行度,另外还能够降低数据被整体存储到同一小物理磁盘导致可能被窃取的可能性,因此可以提高数据存储的安全性。
优选地,如图2所示,上述虚拟机控制器接收上述虚拟机发送的查询请求,在上述查询请求中包含访存操作指定的虚拟地址;上述目标物理磁盘由其包含的各小物理磁盘按照上述各小物理磁盘所在的大物理磁盘标识从低到高依次排序组成,上述虚拟地址以上述目标物理磁盘的起始地址为起始虚拟地址顺序编号获得;在上述虚拟机控制器中存储有地址映射表,上述地址映射表的表项包含:虚拟盘序号、小物理磁盘标识;
上述虚拟机控制器计算上述虚拟地址与上述R的商取整得到上述虚拟地址的虚拟盘序号,计算上述虚拟地址与上述R的商取余得到偏移量;
上述虚拟机控制器查找上述地址映射表获得包含上述虚拟地址的虚拟盘序号的表项,并确定该表项中包含的小物理磁盘标识作为目标小物理磁盘标识;
上述虚拟机控制器截取上述小物理磁盘标识的前P位作为目标大物理磁盘标识,向上述目标大物理磁盘标识对应的物理磁盘发送读请求,在上述读请求中包含上述小物理磁盘标识以及上述偏移量,使上述小物理磁盘标识对应的小物理磁盘返回在上述小物理磁盘的起始位置偏移上述偏移量对应物理地址的数据;
上述虚拟机控制器向上述虚拟机发送上述小物理磁盘标识对应的小物理磁盘返回的数据。
在本实施例中,设定了一个特别的大物理磁盘标识、小物理磁盘标识,这样可以设定一个地址映射表,方便后续迅速查到到对应的物理磁盘。由于在目标物理磁盘中,虚拟机会认为该目标物理磁盘是一个真实的物理磁盘,这样地址应该是目标物理磁盘中是连续的,然而实际上目标物理磁盘中的存储空间位于不同的物理磁盘,因此物理地址实际上是不同的;因此需要对虚拟地址进行转换;虚拟地址的使用是为了在虚拟机中方便应用,例如:软件编程等。虚拟地址是把上述目标物理磁盘看作是一个整体的物理磁盘后获得的地址,因为该虚拟地址并不与实际的物理磁盘地址对应,因此称为虚拟地址。通过本发明实施例方案,可以迅速查到的对应的物理磁盘和对应的物理地址,因此可以快速存储数据,相应地,也可以快速读取数据。
进一步地,鉴于本发明实施例所设定的特殊映射表,本发明实施例可以使用如下方式进行计算:上述虚拟机控制器计算上述虚拟地址与上述R的商取整得到上述虚拟地址的虚拟盘序号,计算上述虚拟地址与上述R的商取余得到偏移量包括:
上述虚拟机控制器截取上述虚拟地址的前R位得到上述虚拟盘序号,截取上述虚拟地址的剩余位得到上述偏移量。
本发明实施例使用截取的方式得到结果,可以减少大量的逻辑运算,因此可以减少运算量,提高数据存储的效率。
进一步地,本发明实施例还提供了虚拟机删除的方案,如下:在上述虚拟机被创建之后,上述方法还包括:
上述虚拟机控制器接收虚拟机删除请求,上述虚拟机删除请求用于请求删除上述虚拟机;
上述虚拟机控制器将上述目标物理磁盘中包含的各小物理磁盘的分配状态设置为未分配状态,不删除上述目标物理磁盘中包含的各小物理磁盘已经被写入的数据。
在本发明实施例中,由于数据存储的方式是将数据拆分了存储,这样安全性较高,在删除虚拟机的时候,可以仅标记小物理磁盘的分配状态,不进行数据删除操作;一方面可以保证数据安全性,另一方面还可以减少物理磁盘的擦写次数,提高物理磁盘的寿命。
本发明实施例还提供了后续再次分配物理磁盘的可选实现方案,如下:在上述虚拟机控制器将上述目标物理磁盘中包含的各小物理磁盘的分配状态设置为未分配状态之后,上述方法还包括:
上述虚拟机控制器记录上述目标物理磁盘中包含的各小物理磁盘,在下一次创建新虚拟机时,以随机方式获取上述新虚拟机所需的小物理磁盘,并确定获取到的小物理磁盘中少于或等于两个小物理磁盘属于上述目标物理磁盘中包含的小物理磁盘。
采用本实施例方案,可以进一步提高数据安全性。这是基于数据被存储到多个物理磁盘,虽然这些小物理磁盘中的数据并不具有连续性,但是如果这些物理磁盘又被分配到同一虚拟机,鉴于本发明实施例所使用的特殊小物理磁盘组成目标物理磁盘的方案,则有可能被恢复出来;为了避免这种情况的发生,提出了本实施例实现方案。
本发明实施例还提供了一种分布式存储系统,如图3所示,可以一并参阅图1所示,包括:虚拟机控制器、虚拟机和J个物理磁盘;上述J个物理磁盘中每个物理磁盘的存储空间被分为大小相等的小物理磁盘,每个物理磁盘内的小物理磁盘的序号按照地址从低到高排序;上述J个物理磁盘各自具有大物理磁盘标识,各小物理磁盘具有小物理磁盘标识,上述小物理磁盘标识由上述大物理磁盘标识与上述小物理磁盘的序号组合得到,其特征在于,
上述虚拟机控制器,用于获取小物理磁盘的分配状态,以及上述J个物理磁盘的活跃程度;在接收到虚拟机创建请求后,确定将要创建的虚拟机的存储空间需求;依据上述小物理磁盘的分配状态确定处于未分配状态的小物理磁盘;从处于未分配状态的小物理磁盘中选择K个小物理磁盘作为目标物理磁盘,上述K个小物理磁盘的存储空间之和满足上述存储空间需求;上述K大于或等于8;上述K个小物理磁盘各自位于不同的物理磁盘;响应所述虚拟机创建请求在所述目标物理磁盘中安装虚拟操作系统构建虚拟机;在所述虚拟操作系统中指定了:在所述虚拟机运行过程中若有数据存储需求,则由所述虚拟机获得所述目标物理磁盘的标识,并向所述目标物理磁盘对应的物理磁盘分别发送活跃度查询请求,在所述活跃度查询请求中携带所述目标物理磁盘的标识;在所述虚拟机接收所述目标物理磁盘对应的物理磁盘返回的活跃程度后;由所述虚拟机将需要存储的数据拆分为大于2且小于或等于K/2个目标数据,按照所述目标物理磁盘对应的物理磁盘的活跃程度从低到高,将各目标数据分别存储到所述目标物理磁盘中的各小物理磁盘。
小物理磁盘标识的结构请参阅图2所示;
活跃程度可以用物理磁盘当前或者综合历史数据统计得到的平均数据吞吐量,或者平均数据吞吐量占对应物理磁盘的数据存储能力的比例。越活跃的物理磁盘其数据存储压力越大,形成拥塞的可能性也将会越大。
虚拟机创建请求可以是任意设备发出的,假定我们的系统应用于大型公司员工的虚拟机创建,那么可以是管理者发出的。对于不同的虚拟机可能会有不同的存储空间需求,例如:做业务的员工和做软件开发的员工,对存储空间的需求是不一样的。在本实施例中,可以假定每个小物理磁盘是500M,假定需要5000M的存储空间,那么可以分成10个小物理磁盘。这10个小物理磁盘从那些相对较为空闲的物理磁盘中选取。由于不同的虚拟机被使用的可能性是不同的,因此通过对小物理磁盘的选择性分配可以达到第一次均衡。
在虚拟机被创建以后,虚拟机的操作系统被安装,那么将会成为一个真正的虚拟机。虚拟机会获知自己被分配的目标物理磁盘,以及这些目标物理磁盘所处的位置。
本实施例中,设定目标数据的数量,一方面可以保持数据被分的目标数据较多,提高安全性和存储并行度;另一方面考虑到需要存储到那些比较空闲的物理磁盘中,减少出现拥塞的可能性。
在本发明实施例中,特别设定了物理磁盘的标识组成方式,方便后续物理磁盘的查找;另外,虚拟机的物理磁盘分配过程中充分考虑了各物理磁盘的活跃度,使得虚拟机能够分配到较为合适的物理磁盘,相对较为不活跃的磁盘可以减少拥塞;另外,将需要存储的数据进行了拆分,按照物理磁盘的活跃度再次进行数据分配,一方面进一步减少了数据拥塞的可能性,提高数据存储的并行度,另外还能够降低数据被整体存储到同一小物理磁盘导致可能被窃取的可能性,因此可以提高数据存储的安全性。
优选地,如图2所示,上述大物理磁盘标识为P位的二进制字符串,上述小物理磁盘标识为Q位的二进制字符串;上述小物理磁盘的序号为位于小物理磁盘标识的低位部分,每个小物理磁盘的存储空间为R位;
上述虚拟机,还用于在确定需要进行访存操作后,确定上述访存操作指定的虚拟地址;上述目标物理磁盘由其包含的各小物理磁盘按照上述各小物理磁盘所在的大物理磁盘标识从低到高依次排序组成,上述虚拟地址以上述目标物理磁盘的起始地址为起始虚拟地址顺序编号获得;在上述虚拟机中存储有地址映射表,上述地址映射表的表项包含:虚拟盘序号、小物理磁盘标识;计算上述虚拟地址与上述R的商取整得到上述虚拟地址的虚拟盘序号,计算上述虚拟地址与上述R的商取余得到偏移量;查找上述地址映射表获得包含上述虚拟地址的虚拟盘序号的表项,并确定该表项中包含的小物理磁盘标识作为目标小物理磁盘标识;截取上述小物理磁盘标识的前P位作为目标大物理磁盘标识,向上述目标大物理磁盘标识对应的物理磁盘发送读请求,在上述读请求中包含上述小物理磁盘标识以及上述偏移量,使上述小物理磁盘标识对应的小物理磁盘返回在上述小物理磁盘的起始位置偏移上述偏移量对应物理地址的数据。
在本实施例中,设定了一个特别的大物理磁盘标识、小物理磁盘标识,这样可以设定一个地址映射表,方便后续迅速查到到对应的物理磁盘。由于在目标物理磁盘中,虚拟机会认为该目标物理磁盘是一个真实的物理磁盘,这样地址应该是目标物理磁盘中是连续的,然而实际上目标物理磁盘中的存储空间位于不同的物理磁盘,因此物理地址实际上是不同的;因此需要对虚拟地址进行转换;虚拟地址的使用是为了在虚拟机中方便应用,例如:软件编程等。虚拟地址是把上述目标物理磁盘看作是一个整体的物理磁盘后获得的地址,因为该虚拟地址并不与实际的物理磁盘地址对应,因此称为虚拟地址。通过本发明实施例方案,可以迅速查到的对应的物理磁盘和对应的物理地址,因此可以快速存储数据,相应地,也可以快速读取数据。
进一步地,鉴于本发明实施例所设定的特殊映射表,本发明实施例可以使用如下方式进行计算:上述虚拟机,用于计算上述虚拟地址与上述R的商取整得到上述虚拟地址的虚拟盘序号,计算上述虚拟地址与上述R的商取余得到偏移量包括:
截取上述虚拟地址的前R位得到上述虚拟盘序号,截取上述虚拟地址的剩余位得到上述偏移量。
本发明实施例使用截取的方式得到结果,可以减少大量的逻辑运算,因此可以减少运算量,提高数据存储的效率。
进一步地,本发明实施例还提供了虚拟机删除的方案,如下:上述虚拟机控制器,还用于在上述虚拟机被创建之后,接收虚拟机删除请求,上述虚拟机删除请求用于请求删除上述虚拟机;将上述目标物理磁盘中包含的各小物理磁盘的分配状态设置为未分配状态,不删除上述目标物理磁盘中包含的各小物理磁盘已经被写入的数据。
在本发明实施例中,由于数据存储的方式是将数据拆分了存储,这样安全性较高,在删除虚拟机的时候,可以仅标记小物理磁盘的分配状态,不进行数据删除操作;一方面可以保证数据安全性,另一方面还可以减少物理磁盘的擦写次数,提高物理磁盘的寿命。
本发明实施例还提供了后续再次分配物理磁盘的可选实现方案,如下:上述虚拟机控制器,还用于在将上述目标物理磁盘中包含的各小物理磁盘的分配状态设置为未分配状态之后,记录上述目标物理磁盘中包含的各小物理磁盘,在下一次创建新虚拟机时,以随机方式获取上述新虚拟机所需的小物理磁盘,并确定获取到的小物理磁盘中少于或等于两个小物理磁盘属于上述目标物理磁盘中包含的小物理磁盘。
采用本实施例方案,可以进一步提高数据安全性。这是基于数据被存储到多个物理磁盘,虽然这些小物理磁盘中的数据并不具有连续性,但是如果这些物理磁盘又被分配到同一虚拟机,鉴于本发明实施例所使用的特殊小物理磁盘组成目标物理磁盘的方案,则有可能被恢复出来;为了避免这种情况的发生,提出了本实施例实现方案。
本发明实施例还提供了一种服务器,所述服务器包含虚拟机控制器,应用于包含上述虚拟机控制器、虚拟机和J个物理磁盘的分布式存储系统;上述J个物理磁盘中每个物理磁盘的存储空间被分为大小相等的小物理磁盘,每个物理磁盘内的小物理磁盘的序号按照地址从低到高排序;上述J个物理磁盘各自具有大物理磁盘标识,各小物理磁盘具有小物理磁盘标识,上述小物理磁盘标识由上述大物理磁盘标识与上述小物理磁盘的序号组合得到,如图4所示,上述虚拟机控制器包括:
监测单元401,用于获取小物理磁盘的分配状态,以及上述J个物理磁盘的活跃程度;
接收单元402,用于接收虚拟机创建请求;接收来自上述虚拟机的活跃度查询请求;上述活跃度查询请求由上述虚拟机在启动并运行后,在运行过程中有数据存储需求时发送;
处理器单元403,用于在接收到虚拟机创建请求后,确定将要创建的虚拟机的存储空间需求;依据所述小物理磁盘的分配状态确定处于未分配状态的小物理磁盘;从处于未分配状态的小物理磁盘中选择K个小物理磁盘作为目标物理磁盘,所述K个小物理磁盘的存储空间之和满足所述存储空间需求;所述K为2的L次方,所述L大于或等于3;所述K个小物理磁盘各自位于不同的物理磁盘;响应所述虚拟机创建请求在所述目标物理磁盘中安装虚拟操作系统构建虚拟机;在所述虚拟操作系统中指定了:在所述虚拟机运行过程中若有数据存储需求,则由所述虚拟机获得所述目标物理磁盘的标识,并向所述目标物理磁盘对应的物理磁盘分别发送活跃度查询请求,在所述活跃度查询请求中携带所述目标物理磁盘的标识;在所述虚拟机接收所述目标物理磁盘对应的物理磁盘返回的活跃程度后;由所述虚拟机将需要存储的数据拆分为大于2且小于或等于K/2个目标数据,按照所述目标物理磁盘对应的物理磁盘的活跃程度从低到高,将各目标数据分别存储到所述目标物理磁盘中的各小物理磁盘。
小物理磁盘标识的结构请参阅图2所示;
活跃程度可以用物理磁盘当前或者综合历史数据统计得到的平均数据吞吐量,或者平均数据吞吐量占对应物理磁盘的数据存储能力的比例。越活跃的物理磁盘其数据存储压力越大,形成拥塞的可能性也将会越大。
虚拟机创建请求可以是任意设备发出的,假定我们的系统应用于大型公司员工的虚拟机创建,那么可以是管理者发出的。对于不同的虚拟机可能会有不同的存储空间需求,例如:做业务的员工和做软件开发的员工,对存储空间的需求是不一样的。在本实施例中,可以假定每个小物理磁盘是500M,假定需要5000M的存储空间,那么可以分成10个小物理磁盘。这10个小物理磁盘从那些相对较为空闲的物理磁盘中选取。由于不同的虚拟机被使用的可能性是不同的,因此通过对小物理磁盘的选择性分配可以达到第一次均衡。
在虚拟机被创建以后,虚拟机的操作系统被安装,那么将会成为一个真正的虚拟机。虚拟机会获知自己被分配的目标物理磁盘,以及这些目标物理磁盘所处的位置。
本实施例中,设定目标数据的数量,一方面可以保持数据被分的目标数据较多,提高安全性和存储并行度;另一方面考虑到需要存储到那些比较空闲的物理磁盘中,减少出现拥塞的可能性。
在本发明实施例中,特别设定了物理磁盘的标识组成方式,方便后续物理磁盘的查找;另外,虚拟机的物理磁盘分配过程中充分考虑了各物理磁盘的活跃度,使得虚拟机能够分配到较为合适的物理磁盘,相对较为不活跃的磁盘可以减少拥塞;另外,将需要存储的数据进行了拆分,按照物理磁盘的活跃度再次进行数据分配,一方面进一步减少了数据拥塞的可能性,提高数据存储的并行度,另外还能够降低数据被整体存储到同一小物理磁盘导致可能被窃取的可能性,因此可以提高数据存储的安全性。
优选地,如图2所示,和图5所示,上述大物理磁盘标识为P位的二进制字符串,上述小物理磁盘标识为Q位的二进制字符串;上述小物理磁盘的序号为位于小物理磁盘标识的低位部分,每个小物理磁盘的存储空间为R位;
上述接收单元402,还用于接收上述虚拟机发送的查询请求,在上述查询请求中包含访存操作指定的虚拟地址;上述目标物理磁盘由其包含的各小物理磁盘按照上述各小物理磁盘所在的大物理磁盘标识从低到高依次排序组成,上述虚拟地址以上述目标物理磁盘的起始地址为起始虚拟地址顺序编号获得;在上述虚拟机控制器中存储有地址映射表,上述地址映射表的表项包含:虚拟盘序号、小物理磁盘标识;
上述处理器单元403,还用于计算上述虚拟地址与上述R的商取整得到上述虚拟地址的虚拟盘序号,计算上述虚拟地址与上述R的商取余得到偏移量;查找上述地址映射表获得包含上述虚拟地址的虚拟盘序号的表项,并确定该表项中包含的小物理磁盘标识作为目标小物理磁盘标识;截取上述小物理磁盘标识的前P位作为目标大物理磁盘标识;所述虚拟机控制器还包括:
发送单元501,用于向上述目标大物理磁盘标识对应的物理磁盘发送读请求,在上述读请求中包含上述小物理磁盘标识以及上述偏移量,使上述小物理磁盘标识对应的小物理磁盘返回在上述小物理磁盘的起始位置偏移上述偏移量对应物理地址的数据;向上述虚拟机发送上述小物理磁盘标识对应的小物理磁盘返回的数据。
在本实施例中,设定了一个特别的大物理磁盘标识、小物理磁盘标识,这样可以设定一个地址映射表,方便后续迅速查到到对应的物理磁盘。由于在目标物理磁盘中,虚拟机会认为该目标物理磁盘是一个真实的物理磁盘,这样地址应该是目标物理磁盘中是连续的,然而实际上目标物理磁盘中的存储空间位于不同的物理磁盘,因此物理地址实际上是不同的;因此需要对虚拟地址进行转换;虚拟地址的使用是为了在虚拟机中方便应用,例如:软件编程等。虚拟地址是把上述目标物理磁盘看作是一个整体的物理磁盘后获得的地址,因为该虚拟地址并不与实际的物理磁盘地址对应,因此称为虚拟地址。通过本发明实施例方案,可以迅速查到的对应的物理磁盘和对应的物理地址,因此可以快速存储数据,相应地,也可以快速读取数据。
进一步地,鉴于本发明实施例所设定的特殊映射表,本发明实施例可以使用如下方式进行计算:上述处理器单元403,用于计算上述虚拟地址与上述R的商取整得到上述虚拟地址的虚拟盘序号,计算上述虚拟地址与上述R的商取余得到偏移量包括:
截取上述虚拟地址的前R位得到上述虚拟盘序号,截取上述虚拟地址的剩余位得到上述偏移量。
本发明实施例使用截取的方式得到结果,可以减少大量的逻辑运算,因此可以减少运算量,提高数据存储的效率。
进一步地,本发明实施例还提供了虚拟机删除的方案,如下:上述接收单元402,还用于在上述虚拟机被创建之后,接收虚拟机删除请求,上述虚拟机删除请求用于请求删除上述虚拟机;
上述处理器单元403,还用于将上述目标物理磁盘中包含的各小物理磁盘的分配状态设置为未分配状态,不删除上述目标物理磁盘中包含的各小物理磁盘已经被写入的数据。
在本发明实施例中,由于数据存储的方式是将数据拆分了存储,这样安全性较高,在删除虚拟机的时候,可以仅标记小物理磁盘的分配状态,不进行数据删除操作;一方面可以保证数据安全性,另一方面还可以减少物理磁盘的擦写次数,提高物理磁盘的寿命。
本发明实施例还提供了后续再次分配物理磁盘的可选实现方案,如下:上述处理器单元403,还用于在上述虚拟机控制器将上述目标物理磁盘中包含的各小物理磁盘的分配状态设置为未分配状态之后,记录上述目标物理磁盘中包含的各小物理磁盘,在下一次创建新虚拟机时,以随机方式获取上述新虚拟机所需的小物理磁盘,并确定获取到的小物理磁盘中少于或等于两个小物理磁盘属于上述目标物理磁盘中包含的小物理磁盘。
采用本实施例方案,可以进一步提高数据安全性。这是基于数据被存储到多个物理磁盘,虽然这些小物理磁盘中的数据并不具有连续性,但是如果这些物理磁盘又被分配到同一虚拟机,鉴于本发明实施例所使用的特殊小物理磁盘组成目标物理磁盘的方案,则有可能被恢复出来;为了避免这种情况的发生,提出了本实施例实现方案。
本领域普通技术人员可以理解实现上述各方法实施例中的全部或部分步骤是可以通过程序来指令相关的硬件完成,相应的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (8)

1.一种分布式数据存储控制方法,其特征在于,应用于包含J个物理磁盘的分布式系统中的虚拟机控制器,所述虚拟机控制器包含在服务器内,所述J个物理磁盘中每个物理磁盘的存储空间被分为大小相等的小物理磁盘,每个物理磁盘内的小物理磁盘的序号按照地址从低到高排序;所述J个物理磁盘各自具有大物理磁盘标识,各小物理磁盘具有小物理磁盘标识,所述小物理磁盘标识由所述大物理磁盘标识与所述小物理磁盘的序号组合得到,所述方法包括:
所述虚拟机控制器获取小物理磁盘的分配状态,以及所述J个物理磁盘的活跃程度;
所述虚拟机控制器在接收到虚拟机创建请求后,确定将要创建的虚拟机的存储空间需求;依据所述小物理磁盘的分配状态确定处于未分配状态的小物理磁盘;从处于未分配状态的小物理磁盘中选择K个小物理磁盘作为目标物理磁盘,所述K个小物理磁盘的存储空间之和满足所述存储空间需求;所述K为2的L次方,所述L大于或等于3;所述K个小物理磁盘各自位于不同的物理磁盘;
所述虚拟机控制器响应所述虚拟机创建请求在所述目标物理磁盘中安装虚拟操作系统构建虚拟机;在所述虚拟操作系统中指定了:在所述虚拟机运行过程中若有数据存储需求,则由所述虚拟机获得所述目标物理磁盘的标识,并向所述目标物理磁盘对应的物理磁盘分别发送活跃度查询请求,在所述活跃度查询请求中携带所述目标物理磁盘的标识;在所述虚拟机一侧保存有所述目标物理磁盘中各小物理磁盘的小物理磁盘分别对应的物理磁盘;在所述虚拟机接收所述目标物理磁盘对应的物理磁盘返回的活跃程度后;由所述虚拟机将需要存储的数据拆分为大于2且小于或等于K/2个目标数据,按照所述目标物理磁盘对应的物理磁盘的活跃程度从低到高,将各目标数据分别存储到所述目标物理磁盘中的各小物理磁盘。
2.根据权利要求1所述方法,其特征在于,所述大物理磁盘标识为P位的二进制字符串,所述小物理磁盘标识为Q位的二进制字符串;所述小物理磁盘的序号为位于小物理磁盘标识的低位部分,每个小物理磁盘的存储空间为R位;所述方法还包括:
所述虚拟机控制器接收所述虚拟机发送的查询请求,在所述查询请求中包含访存操作指定的虚拟地址;所述目标物理磁盘由其包含的各小物理磁盘按照所述各小物理磁盘所在的大物理磁盘标识从低到高依次排序组成,所述虚拟地址以所述目标物理磁盘的起始地址为起始虚拟地址顺序编号获得;在所述虚拟机控制器中存储有地址映射表,所述地址映射表的表项包含:虚拟盘序号、小物理磁盘标识;
所述虚拟机控制器计算所述虚拟地址与所述R的商取整得到所述虚拟地址的虚拟盘序号,计算所述虚拟地址与所述R的商取余得到偏移量;或者,所述虚拟机控制器截取所述虚拟地址的前R位得到所述虚拟盘序号,截取所述虚拟地址的剩余位得到所述偏移量;
所述虚拟机控制器查找所述地址映射表获得包含所述虚拟地址的虚拟盘序号的表项,并确定该表项中包含的小物理磁盘标识作为目标小物理磁盘标识;
所述虚拟机控制器截取所述小物理磁盘标识的前P位作为目标大物理磁盘标识,向所述目标大物理磁盘标识对应的物理磁盘发送读请求,在所述读请求中包含所述小物理磁盘标识以及所述偏移量,使所述小物理磁盘标识对应的小物理磁盘返回在所述小物理磁盘的起始位置偏移所述偏移量对应物理地址的数据;
所述虚拟机控制器向所述虚拟机发送所述小物理磁盘标识对应的小物理磁盘返回的数据。
3.根据权利要求1至2任意一项所述方法,其特征在于,在所述虚拟机被创建之后,所述方法还包括:
所述虚拟机控制器接收虚拟机删除请求,所述虚拟机删除请求用于请求删除所述虚拟机;
所述虚拟机控制器将所述目标物理磁盘中包含的各小物理磁盘的分配状态设置为未分配状态,不删除所述目标物理磁盘中包含的各小物理磁盘已经被写入的数据。
4.根据权利要求3所述方法,其特征在于,在所述虚拟机控制器将所述目标物理磁盘中包含的各小物理磁盘的分配状态设置为未分配状态之后,所述方法还包括:
所述虚拟机控制器记录所述目标物理磁盘中包含的各小物理磁盘,在下一次创建新虚拟机时,以随机方式获取所述新虚拟机所需的小物理磁盘,并确定获取到的小物理磁盘中少于或等于两个小物理磁盘属于所述目标物理磁盘中包含的小物理磁盘。
5.一种服务器,所述服务器包含虚拟机控制器,应用于包含所述虚拟机控制器、虚拟机和J个物理磁盘的分布式存储系统;所述J个物理磁盘中每个物理磁盘的存储空间被分为大小相等的小物理磁盘,每个物理磁盘内的小物理磁盘的序号按照地址从低到高排序;所述J个物理磁盘各自具有大物理磁盘标识,各小物理磁盘具有小物理磁盘标识,所述小物理磁盘标识由所述大物理磁盘标识与所述小物理磁盘的序号组合得到,其特征在于,所述虚拟机控制器包括:
监测单元,用于获取小物理磁盘的分配状态,以及所述J个物理磁盘的活跃程度;
接收单元,用于接收虚拟机创建请求;
处理器单元,用于在接收到虚拟机创建请求后,确定将要创建的虚拟机的存储空间需求;依据所述小物理磁盘的分配状态确定处于未分配状态的小物理磁盘;从处于未分配状态的小物理磁盘中选择K个小物理磁盘作为目标物理磁盘,所述K个小物理磁盘的存储空间之和满足所述存储空间需求;所述K为2的L次方,所述L大于或等于3;所述K个小物理磁盘各自位于不同的物理磁盘;响应所述虚拟机创建请求在所述目标物理磁盘中安装虚拟操作系统构建虚拟机;在所述虚拟操作系统中指定了:在所述虚拟机运行过程中若有数据存储需求,则由所述虚拟机获得所述目标物理磁盘的标识,并向所述目标物理磁盘对应的物理磁盘分别发送活跃度查询请求,在所述活跃度查询请求中携带所述目标物理磁盘的标识;在所述虚拟机一侧保存有所述目标物理磁盘中各小物理磁盘的小物理磁盘分别对应的物理磁盘;在所述虚拟机接收所述目标物理磁盘对应的物理磁盘返回的活跃程度后;由所述虚拟机将需要存储的数据拆分为大于2且小于或等于K/2个目标数据,按照所述目标物理磁盘对应的物理磁盘的活跃程度从低到高,将各目标数据分别存储到所述目标物理磁盘中的各小物理磁盘。
6.根据权利要求5所述服务器,其特征在于,所述大物理磁盘标识为P位的二进制字符串,所述小物理磁盘标识为Q位的二进制字符串;所述小物理磁盘的序号为位于小物理磁盘标识的低位部分,每个小物理磁盘的存储空间为R位;
所述接收单元,还用于接收所述虚拟机发送的查询请求,在所述查询请求中包含访存操作指定的虚拟地址;所述目标物理磁盘由其包含的各小物理磁盘按照所述各小物理磁盘所在的大物理磁盘标识从低到高依次排序组成,所述虚拟地址以所述目标物理磁盘的起始地址为起始虚拟地址顺序编号获得;在所述虚拟机控制器中存储有地址映射表,所述地址映射表的表项包含:虚拟盘序号、小物理磁盘标识;
所述处理器单元,还用于计算所述虚拟地址与所述R的商取整得到所述虚拟地址的虚拟盘序号,计算所述虚拟地址与所述R的商取余得到偏移量;或者,截取所述虚拟地址的前R位得到所述虚拟盘序号,截取所述虚拟地址的剩余位得到所述偏移量;查找所述地址映射表获得包含所述虚拟地址的虚拟盘序号的表项,并确定该表项中包含的小物理磁盘标识作为目标小物理磁盘标识;截取所述小物理磁盘标识的前P位作为目标大物理磁盘标识;所述服务器还包括:
发送单元,用于向所述目标大物理磁盘标识对应的物理磁盘发送读请求,在所述读请求中包含所述小物理磁盘标识以及所述偏移量,使所述小物理磁盘标识对应的小物理磁盘返回在所述小物理磁盘的起始位置偏移所述偏移量对应物理地址的数据;向所述虚拟机发送所述小物理磁盘标识对应的小物理磁盘返回的数据。
7.根据权利要求5至6任意一项所述服务器,其特征在于,
所述接收单元,还用于在所述虚拟机被创建之后,接收虚拟机删除请求,所述虚拟机删除请求用于请求删除所述虚拟机;
所述处理器单元,还用于将所述目标物理磁盘中包含的各小物理磁盘的分配状态设置为未分配状态,不删除所述目标物理磁盘中包含的各小物理磁盘已经被写入的数据。
8.根据权利要求7所述服务器,其特征在于,
所述处理器单元,还用于在所述虚拟机控制器将所述目标物理磁盘中包含的各小物理磁盘的分配状态设置为未分配状态之后,记录所述目标物理磁盘中包含的各小物理磁盘,在下一次创建新虚拟机时,以随机方式获取所述新虚拟机所需的小物理磁盘,并确定获取到的小物理磁盘中少于或等于两个小物理磁盘属于所述目标物理磁盘中包含的小物理磁盘。
CN201710220241.0A 2017-03-22 2017-03-22 一种分布式数据存储控制方法及服务器 Active CN107168646B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710220241.0A CN107168646B (zh) 2017-03-22 2017-03-22 一种分布式数据存储控制方法及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710220241.0A CN107168646B (zh) 2017-03-22 2017-03-22 一种分布式数据存储控制方法及服务器

Publications (2)

Publication Number Publication Date
CN107168646A CN107168646A (zh) 2017-09-15
CN107168646B true CN107168646B (zh) 2020-07-28

Family

ID=59849888

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710220241.0A Active CN107168646B (zh) 2017-03-22 2017-03-22 一种分布式数据存储控制方法及服务器

Country Status (1)

Country Link
CN (1) CN107168646B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107832011A (zh) * 2017-11-02 2018-03-23 郑州云海信息技术有限公司 一种数据存储方法、装置、设备及计算机可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101526882A (zh) * 2008-03-03 2009-09-09 中兴通讯股份有限公司 独立磁盘冗余阵列子系统中逻辑单元重建的方法及装置
CN103049213A (zh) * 2011-10-17 2013-04-17 中国移动通信集团公司 一种磁盘调度方法及装置
CN104020961A (zh) * 2014-05-15 2014-09-03 深圳市深信服电子科技有限公司 分布式数据存储方法、装置及系统
CN105573660A (zh) * 2014-09-30 2016-05-11 伊姆西公司 用于改善分簇磁盘阵列的性能的方法和装置
CN105975329A (zh) * 2016-04-29 2016-09-28 北京奇虎科技有限公司 一种虚拟机的创建方法和装置
CN106060160A (zh) * 2016-07-07 2016-10-26 腾讯科技(深圳)有限公司 一种文件上传方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9841931B2 (en) * 2014-03-31 2017-12-12 Vmware, Inc. Systems and methods of disk storage allocation for virtual machines
US9501245B2 (en) * 2014-05-02 2016-11-22 Cavium, Inc. Systems and methods for NVMe controller virtualization to support multiple virtual machines running on a host

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101526882A (zh) * 2008-03-03 2009-09-09 中兴通讯股份有限公司 独立磁盘冗余阵列子系统中逻辑单元重建的方法及装置
CN103049213A (zh) * 2011-10-17 2013-04-17 中国移动通信集团公司 一种磁盘调度方法及装置
CN104020961A (zh) * 2014-05-15 2014-09-03 深圳市深信服电子科技有限公司 分布式数据存储方法、装置及系统
CN105573660A (zh) * 2014-09-30 2016-05-11 伊姆西公司 用于改善分簇磁盘阵列的性能的方法和装置
CN105975329A (zh) * 2016-04-29 2016-09-28 北京奇虎科技有限公司 一种虚拟机的创建方法和装置
CN106060160A (zh) * 2016-07-07 2016-10-26 腾讯科技(深圳)有限公司 一种文件上传方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HyperDomain: Enabling Inspection of Malicious VMM"s Misbehavior;Wenyin Yang, Li Ma;《2012 IEEE 11th International Conference on Trust, Security and Privacy in Computing and Communications》;20120906;588-595 *
面向虚拟机的分布式块存储系统设计及实现;贾博文;《中国优秀硕士学位论文全文数据库 信息科技辑》;20160315;1-60 *

Also Published As

Publication number Publication date
CN107168646A (zh) 2017-09-15

Similar Documents

Publication Publication Date Title
US11082206B2 (en) Layout-independent cryptographic stamp of a distributed dataset
JP6882893B2 (ja) リソースを提供するためのシステム、方法、及び非一時的コンピュータ可読媒体
JP6542909B2 (ja) ファイル操作方法及び装置
US10838829B2 (en) Method and apparatus for loading data from a mirror server and a non-transitory computer readable storage medium
EP3432549A1 (en) Method and apparatus for processing user requests
US20090204718A1 (en) Using memory equivalency across compute clouds for accelerated virtual memory migration and memory de-duplication
US9612766B2 (en) Systems and methods for shadow migration progress estimation
CN105027069A (zh) 卷区域的重复数据删除
US10552089B2 (en) Data processing for managing local and distributed storage systems by scheduling information corresponding to data write requests
CN111488198A (zh) 一种超融合环境下的虚拟机调度方法、系统及介质
CN104572656A (zh) 一种磁盘镜像空间回收的方法及装置
CN110134338B (zh) 一种分布式存储系统及其数据冗余保护方法和相关设备
WO2019000949A1 (zh) 分布式存储系统中元数据存储方法、系统及存储介质
JP5780377B2 (ja) 情報処理システム、及びアプリケーションの移転方法
CN106970830B (zh) 一种分布式虚拟机的存储控制方法及虚拟机
CN108475201A (zh) 一种虚拟机启动过程中的数据获取方法和云计算系统
CN107153512B (zh) 一种数据迁移方法和装置
CN111638853A (zh) 数据存储方法、装置、存储集群、网关设备及主设备
EP4295235A1 (en) Cache indexing using data addresses based on data fingerprints
CN107329798B (zh) 数据复制的方法、装置和虚拟化系统
CN107168646B (zh) 一种分布式数据存储控制方法及服务器
CN107153513B (zh) 一种分布式系统服务器的存储控制方法及服务器
CN112631994A (zh) 数据迁移方法及系统
CN107145305B (zh) 一种分布式物理磁盘的使用方法及虚拟机
CN107066206B (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
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20170915

Assignee: Dongguan Zhaoyi Information Technology Co.,Ltd.

Assignor: FOSHAN University

Contract record no.: X2022990000868

Denomination of invention: A Distributed Data Storage Control Method and Server

Granted publication date: 20200728

License type: Common License

Record date: 20221031

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20170915

Assignee: FOSHAN VIRTUAL REALITY BIG DATA INDUSTRY RESEARCH INSTITUTE Co.,Ltd.

Assignor: FOSHAN University

Contract record no.: X2022990000895

Denomination of invention: A Distributed Data Storage Control Method and Server

Granted publication date: 20200728

License type: Common License

Record date: 20221104

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20170915

Assignee: Guangzhou Taipu Intelligent Technology Co.,Ltd.

Assignor: FOSHAN University

Contract record no.: X2023980043890

Denomination of invention: A Distributed Data Storage Control Method and Server

Granted publication date: 20200728

License type: Common License

Record date: 20231019

Application publication date: 20170915

Assignee: Guangzhou Qinfeng Technology Co.,Ltd.

Assignor: FOSHAN University

Contract record no.: X2023980043888

Denomination of invention: A Distributed Data Storage Control Method and Server

Granted publication date: 20200728

License type: Common License

Record date: 20231019

Application publication date: 20170915

Assignee: Guangzhou Xinghuo Information Technology Co.,Ltd.

Assignor: FOSHAN University

Contract record no.: X2023980043887

Denomination of invention: A Distributed Data Storage Control Method and Server

Granted publication date: 20200728

License type: Common License

Record date: 20231019

Application publication date: 20170915

Assignee: Guangzhou Tianke Technology Co.,Ltd.

Assignor: FOSHAN University

Contract record no.: X2023980043886

Denomination of invention: A Distributed Data Storage Control Method and Server

Granted publication date: 20200728

License type: Common License

Record date: 20231019

Application publication date: 20170915

Assignee: Guangzhou Dongling Technology Co.,Ltd.

Assignor: FOSHAN University

Contract record no.: X2023980043896

Denomination of invention: A Distributed Data Storage Control Method and Server

Granted publication date: 20200728

License type: Common License

Record date: 20231019

Application publication date: 20170915

Assignee: Laishi (Guangzhou) Digital Technology Co.,Ltd.

Assignor: FOSHAN University

Contract record no.: X2023980043892

Denomination of invention: A Distributed Data Storage Control Method and Server

Granted publication date: 20200728

License type: Common License

Record date: 20231019

EE01 Entry into force of recordation of patent licensing contract