CN111813322B - 存储池的创建方法、装置、设备及存储介质 - Google Patents
存储池的创建方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111813322B CN111813322B CN201910288611.3A CN201910288611A CN111813322B CN 111813322 B CN111813322 B CN 111813322B CN 201910288611 A CN201910288611 A CN 201910288611A CN 111813322 B CN111813322 B CN 111813322B
- Authority
- CN
- China
- Prior art keywords
- storage
- capacity
- volumes
- storage volume
- volume
- 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
Links
Images
Classifications
-
- 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/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to 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/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]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种存储池的创建方法、装置、设备及存储介质,属于数据存储技术领域。所述方法包括:接收存储池创建请求,该存储池创建请求携带待创建的存储池的存储池容量和存储属性信息;从已添加的所有存储卷中选择该存储属性信息对应的N个存储卷;根据存储池容量和N个存储卷的容量,从N个存储卷中确定至少一个目标存储卷,至少一个目标存储卷的总容量大于该存储池容量,且在N个存储卷的任意总容量大于存储池容量的第一存储卷组合中,至少一个目标存储卷的总容量与存储池容量之间的差值最小;在至少一个目标存储卷上创建存储池。由于在N个存储卷中该至少一个目标存储卷的总容量最接近存储池的容量需求,因此可以避免资源浪费。
Description
技术领域
本申请涉及数据存储技术领域,特别涉及一种存储池的创建方法、装置及存储介质。
背景技术
资源虚拟化技术在IT(Internet Technology互联网技术)业务数据存储领域得到广泛应用。资源虚拟化是指将资源的逻辑映像与物理存储分开,如此可以屏蔽物理设备的复杂性,为用户提供更易于透明控制的存储资源。
在具体实施中,一般是将资源虚拟为存储池,将存储池映射至物理磁盘上。当用户想要存储数据时,可以通过客户端向存储系统的虚拟资源管理节点发送存储池创建请求,该存储池创建请求中携带存储池的存储约束条件。如此,虚拟资源管理节点可以根据该存储约束条件,采用贪婪算法确定一个存储卷,并将存储池创建至该存储卷中。
然而,在上述实现方式中,由于贪婪算法具有局部最优特性,所以可能使得确定的存储卷并非最适合创建该存储池,从而会存在资源浪费等问题。
发明内容
本申请实施例提供了一种存储池的创建方法、装置、设备及存储介质,可以解决相关技术中存在资源浪费的问题。所述技术方案如下:
第一方面,提供了一种存储池的创建方法,所述方法包括:
接收存储池创建请求,所述存储池创建请求携带待创建的存储池的存储池容量和存储属性信息;
从已添加的所有存储卷中选择所述存储属性信息对应的N个存储卷,所述N为大于或等于1的整数;
根据所述存储池容量和所述N个存储卷的容量,从所述N个存储卷中确定至少一个目标存储卷,所述至少一个目标存储卷的总容量大于或等于所述存储池容量,且在所述N个存储卷的任意总容量大于所述存储池容量的第一存储卷组合中,所述至少一个目标存储卷的总容量与所述存储池容量之间的差值最小;
在所述至少一个目标存储卷上创建所述存储池。
可选地,所述根据所述存储池容量和所述N个存储卷的容量,从所述N个存储卷中确定至少一个目标存储卷,包括:
当所述N等于1且所述存储属性信息对应的存储卷的容量大于或等于所述存储池容量时,将所述存储属性信息对应的存储卷确定为所述至少一个目标存储卷;
当所述N大于1时,按照容量从小到大的顺序对所述N个存储卷进行排序,根据所述存储池容量和所述N个存储卷的容量,从排序后的N个存储卷中确定所述至少一个目标存储卷。
可选地,所述根据所述存储池容量和所述N个存储卷的容量,从排序后的N个存储卷中确定所述至少一个目标存储卷,包括:
将排序后的N个存储卷中的第N个存储卷的容量与所述存储池容量进行比较;
当所述第N个存储卷的容量不小于所述存储池容量时,按照存储卷的先后排列顺序依次将排序后的N个存储卷的容量与所述存储池容量进行遍历比较,如果遍历到所述N个存储卷中存在容量等于所述存储池容量的存储卷,则将遍历到的存储卷确定为所述至少一个目标存储卷。
可选地,所述按照存储卷的先后排列顺序依次将排序后的N个存储卷的容量与所述存储池容量进行遍历比较之后,还包括:
如果所述N个存储卷中不存在容量等于所述存储池容量的存储卷,则将大于所述存储池容量的容量中最小容量对应的存储卷确定为第一存储卷。
可选地,所述将排序后的N个存储卷中的第N个存储卷的容量与所述存储池容量进行比较之后,还包括:
当所述第N个存储卷的容量小于所述存储池容量,或者,所述第N个存储卷中存在容量不小于所述存储池容量的存储卷且不存在容量等于所述存储池容量的存储卷时,令M=2,如果排序后的N个存储卷中最后两个存储卷的总容量大于所述存储池容量,则将排序后的N个存储卷中的M个存储卷进行组合,将得到的第二存储卷组合的总容量与所述存储池容量进行比较;
当存在总容量等于所述存储池容量的第二存储卷组合时,将总容量等于所述存储池容量的第二存储卷组合中的存储卷确定为所述至少一个目标存储卷;
否则,当得到的第二存储卷组合的总容量均小于所述存储池容量时,令M=M+1,返回所述将排序后的N个存储卷中的M个存储卷进行组合,将得到的第二存储卷组合的总容量与所述存储池容量进行比较的步骤,直到所述M大于所述N时,结束组合操作;
当存在容量大于所述存储池容量的第二存储卷组合时,如果存在第一存储卷且大于所述存储池容量的总容量中的最小总容量小于所述第一存储卷的总容量,则将所述第一存储卷更新为所述最小总容量对应的第二存储卷组合中的存储卷,令M=M+1,返回所述将排序后的N个存储卷中的M个存储卷进行组合,将得到的第二存储卷组合的总容量与所述存储池容量进行比较的步骤;如果所述最小总容量大于所述第一存储卷的总容量,则将所述第一存储卷确定为所述至少一个目标存储卷。
可选地,所述将排序后的N个存储卷中的M个存储卷进行组合,将得到的第二存储卷组合的总容量与所述存储池容量进行比较,包括:
当所述M等于2时,将所述N个存储卷中的每M个存储卷进行排列组合,将每次排列组合后得到的第二存储卷组合的总容量与所述存储池容量进行比较,当每次排列组合后得到的第二存储卷组合的总容量大于所述存储池容量时,记录所述每次排列组合后得到的第二存储卷组合;直到某次排列组合后得到的第二存储卷组合的总容量等于所述存储池容量,或者,比较至排列组合的最后一组时,结束操作;
当所述M大于2时,令j=1;从所述N个存储卷中的第j个存储卷开始将每相邻的M个存储卷进行组合,将每次组合后得到的第二存储卷组合的总容量与所述存储池容量进行比较,当每次组合后得到的第二存储卷组合的总容量大于所述存储池容量时,记录所述每次组合后得到的第二存储卷组合;若每次组合后得到的第二存储卷组合的总容量小于所述存储池容量且所述j小于或等于(N-M-1),则令j=j+1返回所述从所述N个存储卷中的第j个存储卷开始将每相邻的M个存储卷进行组合,将组合后得到的第二存储卷组合的总容量与所述存储池容量进行比较的操作;直到某次组合后得到的第二存储卷组合的总容量等于所述存储池容量,或者,所述j大于(N-M-1)时,结束操作。
第二方面,提供了一种存储池的创建装置,所述装置包括:
接收模块,用于接收存储池创建请求,所述存储池创建请求携带待创建的存储池的存储池容量和存储属性信息;
选择模块,用于从已添加的所有存储卷中选择所述存储属性信息对应的N个存储卷,所述N为大于或等于1的整数;
确定模块,用于根据所述存储池容量和所述N个存储卷的容量,从所述N个存储卷中确定至少一个目标存储卷,所述至少一个目标存储卷的总容量大于或等于所述存储池容量,且在所述N个存储卷的任意总容量大于所述存储池容量的第一存储卷组合中,所述至少一个目标存储卷的总容量与所述存储池容量之间的差值最小;
创建模块,用于在所述至少一个目标存储卷上创建所述存储池。
可选地,所述确定模块用于:
当所述N等于1且所述存储属性信息对应的存储卷的容量大于或等于所述存储池容量时,将所述存储属性信息对应的存储卷确定为所述至少一个目标存储卷;
当所述N大于1时,按照容量从小到大的顺序对所述N个存储卷进行排序,根据所述存储池容量和所述N个存储卷的容量,从排序后的N个存储卷中确定所述至少一个目标存储卷。
可选地,所述确定模块用于:
将排序后的N个存储卷中的第N个存储卷的容量与所述存储池容量进行比较;
当所述第N个存储卷的容量不小于所述存储池容量时,按照存储卷的先后排列顺序依次将排序后的N个存储卷的容量与所述存储池容量进行遍历比较,如果遍历到所述N个存储卷中存在容量等于所述存储池容量的存储卷,则将遍历到的存储卷确定为所述至少一个目标存储卷。
可选地,所述确定模块用于:
如果所述N个存储卷中不存在容量等于所述存储池容量的存储卷,则将大于所述存储池容量的容量中最小容量对应的存储卷确定为第一存储卷。
可选地,所述确定模块用于:
当所述第N个存储卷的容量小于所述存储池容量,或者,所述第N个存储卷中存在容量不小于所述存储池容量的存储卷且不存在容量等于所述存储池容量的存储卷时,令M=2,如果排序后的N个存储卷中最后两个存储卷的总容量大于所述存储池容量,则将排序后的N个存储卷中的M个存储卷进行组合,将得到的第二存储卷组合的总容量与所述存储池容量进行比较;
当存在总容量等于所述存储池容量的第二存储卷组合时,将总容量等于所述存储池容量的第二存储卷组合中的存储卷确定为所述至少一个目标存储卷;
否则,当得到的第二存储卷组合的总容量均小于所述存储池容量时,令M=M+1,返回所述将排序后的N个存储卷中的M个存储卷进行组合,将得到的第二存储卷组合的总容量与所述存储池容量进行比较的步骤,直到所述M大于所述N时,结束组合操作;
当存在容量大于所述存储池容量的第二存储卷组合时,如果存在第一存储卷且大于所述存储池容量的总容量中的最小总容量小于所述第一存储卷的总容量,则将所述第一存储卷更新为所述最小总容量对应的第二存储卷组合中的存储卷,令M=M+1,返回所述将排序后的N个存储卷中的M个存储卷进行组合,将得到的第二存储卷组合的总容量与所述存储池容量进行比较的步骤;如果所述最小总容量大于所述第一存储卷的总容量,则将所述第一存储卷确定为所述至少一个目标存储卷。
可选地,所述确定模块用于:
当所述M等于2时,将所述N个存储卷中的每M个存储卷进行排列组合,将每次排列组合后得到的第二存储卷组合的总容量与所述存储池容量进行比较,当每次排列组合后得到的第二存储卷组合的总容量大于所述存储池容量时,记录所述每次排列组合后得到的第二存储卷组合;直到某次排列组合后得到的第二存储卷组合的总容量等于所述存储池容量,或者,比较至排列组合的最后一组时,结束操作;
当所述M大于2时,令j=1;从所述N个存储卷中的第j个存储卷开始将每相邻的M个存储卷进行组合,将每次组合后得到的第二存储卷组合的总容量与所述存储池容量进行比较,当每次组合后得到的第二存储卷组合的总容量大于所述存储池容量时,记录所述每次组合后得到的第二存储卷组合;若每次组合后得到的第二存储卷组合的总容量小于所述存储池容量且所述j小于或等于(N-M-1),则令j=j+1返回所述从所述N个存储卷中的第j个存储卷开始将每相邻的M个存储卷进行组合,将组合后得到的第二存储卷组合的总容量与所述存储池容量进行比较的操作;直到某次组合后得到的第二存储卷组合的总容量等于所述存储池容量,或者,所述j大于(N-M-1)时,结束操作。
第三方面,一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为实现上述第一方面所述的存储池的创建方法。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现上述第一方面所述的存储池的创建方法。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的存储池的创建方法。
本申请实施例提供的技术方案带来的有益效果是:
接收存储池创建请求,该存储池创建请求携带待创建的存储池的存储池容量和存储属性信息,以指示需要创建多大容量以及具有怎样存储属性的存储池。之后,从已添加的所有存储卷中选择具有该存储属性的N个存储卷,根据该存储池容量和选择的N个存储卷的容量,从该N个存储卷中确定至少一个目标存储卷,其中,该至少一个目标存储卷的总容量需要大于或等于该存储池容量,并且,在任意大于该存储池容量的第一存储卷组合中,该至少一个目标存储卷的总容量最接近该存储池容量。如此在该至少一个目标存储卷上创建该存储池可以保证充分利用存储卷,由于在该N个存储卷中该至少一个目标存储卷的总容量最接近存储池的容量需求,因此可以避免资源浪费。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种实施环境的示意图;
图2是根据一示例性实施例示出的一种存储池的创建方法流程图;
图3是根据一示例性实施例示出的一种存储池的创建装置的结构示意图;
图4是根据另一示例性实施例示出的一种计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在对本申请实施例提供的存储池的创建方法进行详细介绍之前,先对本申请实施例涉及的应用场景和实施环境进行简单介绍。
接下来,对本申请实施例涉及的实施环境进行简单介绍。
请参考图1,该图1是根据一示例性实施例示出的一种实施环境的示意图,该实施环境中包括虚拟资源管理节点110、客户端120和多个存储卷130。
其中,该虚拟资源管理节点110主要用于实现对虚拟资源进行管理,比如可以用于创建虚拟池,将虚拟池映射至存储卷上等。进一步地,该虚拟资源管理节点中可以配置有SAC(Storage Access Component,边缘域调度管理存储接入框架)软件,以通过该SAC来实现虚拟资源管理。在一些实施例中,该虚拟资源管理节点110可以为台式计算机、便携式计算机、笔记本电脑之类的设备。
其中,该客户端120可以与虚拟资源管理节点110进行交互,譬如,用户可以通过该客户端120向该虚拟资源管理节点110请求创建存储池,以及在创建成功后可以向该存储池存储数据等。在一些实施例中,该客户端120可以为独立存在的客户端,或者,也可以安装于诸如平板电脑、笔记本电脑、台式计算机、便携式计算机之类的设备中,本申请实施例对此不作限定。
在实施中,该多个存储卷130可以用于创建存储池,具体地,虚拟资源管理节点110可以根据存储池的创建条件,从该多个存储卷130中确定一个或者多个目标存储卷,然后将存储池映射至该一个或者多个目标存储卷中。
在一些实施例中,该多个存储卷130可以包括NVR(Network Video Recorder,网络硬盘录像机)磁盘和/或CVR(Central Video Recorder,视频中心存储)硬盘卷。
在介绍完本申请实施例涉及的实施环境后,接下来将结合附图对本申请实施例提供的存储池的创建方法进行详细介绍。
请参考图2,图2是根据一示例性实施例示出的一种存储池的创建方法流程图,这里以该存储池的创建方法应用于上述图1所示实施环境中为例进行说明,该存储池的创建方法可以包括如下几个步骤:
步骤201:接收存储池创建请求,该存储池创建请求携带待创建的存储池的存储池容量和存储属性信息。
在此之前,用户可以使用客户端向虚拟资源管理节点添加NVR和/或CVR存储设备,具体地,用户可以通过客户端向虚拟资源管理节点发送设备添加请求,该设备添加请求可以携带存储设备的IP(Intent Protocol,互联网协议)地址和端口。该虚拟资源管理节点接收该设备添加请求后,向存储设备获取存储卷信息,并为存储卷分配存储卷ID(Identification,身份信息)。其中,该存储卷ID可以用于唯一标识一个存储卷,譬如,当该存储卷为NVR磁盘时,存储卷ID为磁盘ID,当该存储卷为CVR硬盘卷时,该存储卷ID为硬盘卷ID。之后,该虚拟资源管理节点将每个IP地址、端口号、存储卷ID和存储卷信息进行对应存储。
其中,每个存储设备的存储卷信息可以包括该每个存储卷的容量和存储属性信息,在一些实施例中,该存储属性信息可以包括但不限于循环覆盖类型和数据安全类型,该循环覆盖类型可以包括不覆盖、周期覆盖和容量覆盖,该数据安全类型包括但不限于单盘存储和各种种类的raid(磁盘阵列)。
在一种可能的实现方式中,当存储卷信息包括存储卷的容量和存储属性信息时,虚拟资源管理节点可以将每个存储卷的IP地址、端口号、存储卷ID和存储卷信息对应存储为如下表1的形式:
表1
当用户想要创建存储池时,可以通过客户端向该虚拟资源管理节点发送存储池创建请求,并在该存储池创建请求中携带需要创建的存储池的存储池容量和存储属性信息,比如,该存储属性信息可以包括循环覆盖类型和数据安全类型。
步骤202:从已添加的所有存储卷中选择该存储属性信息对应的N个存储卷,该N为大于或等于1的整数。
虚拟资源管理节点基于预先存储的存储卷信息,从已添加的所有存储卷中选择存储池创建请求携带的存储属性信息对应的N个存储卷。比如,假设该存储属性信息包括循环覆盖类型和数据安全类型,当该存储池创建请求携带的循环覆盖类型为容量覆盖,数据安全类型为Raid6时,虚拟资源管理节点在所有的NVR磁盘和CVR硬盘卷中,选择该循环覆盖类型为容量覆盖以及数据安全类型为Raid6的NVR磁盘和CVR硬盘卷。
需要说明的是,本文是以已添加的所有存储卷中存在该存储属性信息对应的存储卷为例进行说明,当虚拟资源管理节点发现已添加的所有存储卷中不存在该存储属性信息对应的存储卷时,向客户端返回失败消息,该失败消息用于告知客户端存储池创建失败。
步骤203:根据该存储池容量和该N个存储卷的容量,从该N个存储卷中确定至少一个目标存储卷,该至少一个目标存储卷的总容量大于或等于该存储池容量,且在该N个存储卷的任意总容量大于该存储池容量的第一存储卷组合中,该至少一个目标存储卷的总容量与该存储池容量之间的差值最小。
虚拟资源管理节点根据存储池容量和该N个存储卷中每个存储卷的容量,从上述步骤选择的N个存储卷中继续挑选至少一个目标存储卷,使得该至少一个目标存储卷的总容量大于或等于存储池容量且最接近该存储池容量。在实施中,根据选择出的存储卷的数量不同,根据该存储池容量和该N个存储卷的容量,从该N个存储卷中确定至少一个目标存储卷的具体实现可以包括如下两种可能的情况:
第一种情况:当该N等于1且该存储属性信息对应的存储卷的容量大于或等于该存储池容量时,将该存储属性信息对应的存储卷确定为该至少一个目标存储卷。
也就是说,在已添加的所有存储卷中,可能仅存在一个存储卷的存储属性信息与存储池创建请求中携带的存储属性信息相同,此时,虚拟资源管理节点仅可以选择出一个存储卷,即N等于1。在该种情况下,判断该唯一的一个存储属性符合条件的存储卷的容量是否大于或等于该存储池容量,如果该存储卷的容量大于或等于该存储池容量,则将该存储卷确定为该至少一个目标存储卷,否则,如果选择出的该存储卷的容量小于该存储池容量,则虚拟资源管理节点确定存储池创建失败,在该种情况下向客户端返回失败消息。
第二种情况:当该N大于1时,按照容量从小到大的顺序对该N个存储卷进行排序,根据该存储池容量和该N个存储卷的容量,从排序后的N个存储卷中确定该至少一个目标存储卷。
当N大于1时,说明存储属性信息与存储池创建请求中携带的存储属性信息相同的存储卷包括多个,此时虚拟资源管理节点根据该存储池容量和多个存储卷中每个存储卷的容量,从多个存储卷中选择该至少一个目标存储卷。为此,虚拟资源管理节点可以按照容量从小到大的顺序对该N个存储卷进行排序。譬如,步骤202中选择的N个存储卷包括Disk11、Disk12、Disk21、Disk22、Volume11、Volume12、Volume21、Volume22,则根据表1中每个存储卷的容量信息对该N个存储卷进行排序后,排序结果为Disk11(100GB)、Disk12(100GB)、Disk21(100GB)、Disk22(200GB)、Volume11(500GB)、Volume12(1000GB)、Volume22(1000GB)、Volume21(1500GB)。
进一步地,可以将排序后的N个存储卷按照排序先后顺序进行编号,比如,排在第一个的存储卷可以编号为1,排在第二个的存储卷可以编号为2,以此类推,排在第N个的存储卷可以编号为N等。
然后,虚拟资源管理节点从排序后的N个存储卷中确定该至少一个目标存储卷。在一种可能的实现方式中,其可以包括如下几个实现步骤:
(1)将排序后的N个存储卷中的第N个存储卷的容量与存储池容量进行比较。
为了确定该N个存储卷中是否存在单个存储卷的容量大于或等于存储池容量,在实施中,虚拟资源管理节点可以将排序后的最后一个存储卷的容量与该存储池容量进行比较。
(2)当该第N个存储卷的容量不小于该存储池容量时,按照存储卷的先后排列顺序依次将排序后的N个存储卷的容量与该存储池容量进行遍历比较。
当该第N个存储卷的容量不小于该存储池容量时,说明该N个存储卷中存在容量大于或等于存储池容量的单个存储卷,为了进一步确定出该单个存储卷的容量是否最接近存储池容量,该虚拟资源管理节点按照存储卷的先后排列顺序,依次将排序后的N个存储卷中的每个存储卷的容量与该存储池容量进行遍历比较,然后进入如下步骤(3)。
进一步地,当该第N个存储卷的容量小于该存储池容量时,即该N个存储卷中容量最大的存储卷的容量小于该存储池容量,可以说明该N个存储卷中不存在单个存储卷的容量大于或等于该存储池容量,从而可以确定该N个存储卷中不存在能够支持创建该存储池的单个存储卷,此时虚拟资源管理节点直接进入如下步骤(4)。
(3)如果遍历到该N个存储卷中存在容量等于该存储池容量的存储卷,则将遍历到的存储卷确定为该至少一个目标存储卷。如果该N个存储卷中不存在容量等于该存储池容量的存储卷,则将大于该存储池容量的容量中最小容量对应的存储卷确定为第一存储卷。
不难理解,如果该N个存储卷中某个存储卷的容量等于该存储池容量,可以确定该存储卷的容量最接近该存储池容量,此时可以将容量等于该存储池容量的存储卷确定为该至少一个目标存储卷。
否则,如果该N个存储卷中不存在容量等于该存储池容量的存储卷,则将容量大于该存储池容量且与该存储池容量最接近的存储卷确定为第一存储卷,比如继续以上述例子为例,假设待创建的存储池的存储池容量为400GB,可以确定该第一存储卷为Volume11(500GB)。其中,该第一存储卷为暂时确定的存储卷,后续还需要进一步确定该第一存储卷的容量是否最接近该存储池容量,为此进入如下步骤(4)。
(4)当该第N个存储卷的容量小于该存储池容量,或者,该第N个存储卷中存在容量不小于该存储池容量的存储卷且不存在容量等于该存储池容量的存储卷时,令M=2,如果排序后的N个存储卷中最后两个存储卷的总容量大于存储池容量,则将排序后的N个存储卷中的M个存储卷进行组合,将得到的第二存储卷组合的总容量与该存储池容量进行比较。
也就是说,当该N个存储卷中的每个存储卷的容量均小于存储池容量时,或者,当该N个存储卷中不存在容量等于该存储池容量的单个存储卷时,虚拟资源管理节点检查该N个存储卷中任意M个存储卷的总容量与该存储池容量之间的大小关系。在实施中,当该M等于2时,检测排序后的N个存储卷中最后两个存储卷的总容量是否大于存储池容量,如果大于,说明该N个存储卷中存在两个存储卷的组合能够满足存储池容量的创建需求,此时将排序后的N个存储卷中的任意2个存储卷进行组合,将得到的第二存储卷组合的总容量与该存储池容量进行比较。其具体实现可以包括:将每次排列组合后得到的第二存储卷组合的总容量与该存储池容量进行比较,当每次排列组合后得到的第二存储卷组合的总容量大于该存储池容量时,记录该每次排列组合后得到的第二存储卷组合;直到某次排列组合后得到的第二存储卷组合的总容量等于该存储池容量,或者,比较至排列组合的最后一组时,结束操作。
在实施中,虚拟资源管理节点可以执行多轮组合比较操作,最多可以进行N·(N-1)/2轮组合比较。具体地,第一轮组合比较可以执行(N-1)次,第一轮的第一次组合是将排序后的第一个存储卷和第二存储卷进行组合,第二次组合是将排序后的第一个存储卷和第三个存储卷进行组合,以此类推,第一轮的最后一次是将排序后的第一个存储卷和第N个存储卷进行组合。每一次排序组合后该虚拟资源管理节点将组合得到的第二存储卷组合的总容量与存储池容量进行比较,如果当前比较的第二存储卷组合的总容量小于该存储池容量,则继续本轮的下一次组合比较,以此类推直到本轮的最后一次组合比较。否则,如果当前比较的第二存储卷组合的总容量等于存储池容量,说明已经找到总容量最接近存储池容量的第二存储卷组合,因此,可以结束所有组合比较操作,进入如下步骤(5);如果当前比较的第二存储卷组合的总容量大于存储池容量,则结束本轮组合比较,并记录当前比较的第二存储卷组合,比如可以将其记录至SelectVol1和SelectVol2中,假设分别为SelectVol1=A1,SelectVol2=B1,总容量记为CapA1B1,虚拟资源管理节点进入下一轮组合比较。
在第二轮组合比较中最多可以执行(N-2)次。第一次组合是将排序后的第二个存储卷和第三存储卷进行组合,第二次组合是将排序后的第二个存储卷和第四个存储卷进行组合,以此类推,最后一次组合是将排序后的第二个存储卷和第N个存储卷进行组合。同理,每一次组合后该虚拟资源管理节点将组合得到的第二存储卷组合与存储池容量进行比较,如果当前比较的第二存储卷组合的总容量小于该存储池容量,则继续第二轮的下一次组合比较,以此类推直到第二轮的最后一次组合比较。否则,如果当前比较的第二存储卷组合的总容量等于存储池容量,说明已经找到总容量最接近存储池容量的第二存储卷组合,因此,可以结束所有组合比较操作,进入如下步骤(5);如果当前比较的第二存储卷组合的总容量大于存储池容量,则结束第二轮组合比较,将第二轮确定第二存储卷组合的总容量与第一轮确定的第二存储卷组合的总容量进行比较。假设第二轮确定的第二存储卷组合包括存储卷A2和B2,总容量为CapA2B2,那么,如果CapA1B1≤CapA2B2,则SelectVol1=A1,SelectVol2=B1,否则SelectVol1=A2,SelectVol2=B2,进入下一轮组合比较。
最后一轮挑选只需要进行1次挑选,即将第N-1个存储卷和第N个存储卷进行组合,将组合得到的第二存储卷组合的总容量与上一轮确定的两个存储卷的总容量进行比较,若上一轮的总容量较小,则SelectVol1和SelectVol2分别是上一轮的记录结果,否则SelectVol1=N-1,SelectVol2=N。也即是,每一轮组合比较后确定的第二存储卷组合的总容量都需要与上一轮确定的第二存储卷组合的总容量进行比较,保留总容量大于存储池容量且较小的第二存储卷组合。
需要说明的是,如果排序后的N个存储卷中最后两个存储卷的总容量小于存储池容量,也即是,该N个存储卷中最大容量的两个存储卷的总容量小于存储池容量,可以确定该N个存储卷中不存在总容量大于该存储池容量的两个存储卷组合,此时令M=M+1,即令M等于3,然后执行将排序后的N个存储卷中的M个存储卷进行组合,将得到的第二存储卷组合的总容量与存储池容量进行比较的操作,以继续检测该N个存储卷中3个存储卷进行组合后的总容量与存储池容量之间的大小关系。
进一步地,如果排序后的N个存储卷中最后两个存储卷的总容量等于存储池容量,说明已经找到总容量最接近存储池容量的第二存储卷组合,此时进入如下步骤(5)。也即是,虚拟资源管理节点不需要再将2个及3个以上存储卷进行组合、比较,如此提高了存储卷的确定效率,从而提高了存储池的创建效率。
进一步地,如果排序后的N个存储卷中最后两个存储卷的总容量大于存储池容量,则在每一轮的每一次比较过程中,当检测到某两个存储卷的总容量等于存储池容量时,说明已经找到总容量最接近存储池容量的存储卷,此时可以结束组合比较操作,进入如下步骤(5)。
(5)当存在总容量等于该存储池容量的第二存储卷组合时,将总容量等于该存储池容量的第二存储卷组合中的存储卷确定为该至少一个目标存储卷。
不难理解,当某第二存储卷组合的总容量等于该存储池容量时,可以确定该第二存储卷组合的总容量最接近该存储池容量,因此可以将该第二存储卷组合中的存储卷确定为该至少一个目标存储卷。
否则,即当不存在总容量等于该存储池容量的第二存储卷组合时,包括如下(6)和(7)两种情况:
(6)当得到的第二存储卷组合的总容量均小于该存储池容量时,令M=M+1,返回该将排序后的N个存储卷中的M个存储卷进行组合,将得到的第二存储卷组合的总容量与该存储池容量进行比较的步骤,直到该M大于该N时,结束组合操作。
也即是,若该N个存储卷中任意M个存储卷的总容量都不等于该存储池容量,则当组合得到的第二存储卷组合的总容量均小于该存储池容量时,说明该N个存储卷中任意N个存储卷的总容量都不足够创建该存储池,此时,将M加1比如M等于3,然后,返回上述步骤(4)中将该排序后的N个存储卷中的M个存储卷进行组合的操作,以将任意3个存储卷的总容量与该存储池容量进行比较。
在一种可能的实现方式中,当M大于2时,将排序后的N个存储卷中的M个存储卷进行组合,将得到的第二存储卷组合的总容量与存储池容量进行比较的具体实现可以包括:令j=1,从该N个存储卷中的第j个存储卷开始将每相邻的M个存储卷进行组合,将每次组合后得到的第二存储卷组合的总容量与该存储池容量进行比较,当每次组合后得到的第二存储卷组合的总容量大于该存储池容量时,记录该每次组合后得到的第二存储卷组合;若每次组合后得到的第二存储卷组合的总容量小于该存储池容量且该j小于或等于(N-M-1),则令j=j+1返回该从该N个存储卷中的第j个存储卷开始将每相邻的M个存储卷进行组合,将组合后得到的第二存储卷组合的总容量与该存储池容量进行比较的操作;直到某次组合后得到的第二存储卷组合的总容量等于该存储池容量,或者,该j大于(N-M-1)时,结束操作。
譬如,当M等于3时,需要执行多次组合比较,第一次将第一个存储卷、第二个存储卷和第三个存储卷进行组合,然后将组合得到的第二存储卷组合的总容量与存储池容量进行比较。如果组合得到的第二存储卷组合的总容量大于该存储池容量,可以记录当前比较的第二存储卷组合。如果组合得到的第二存储卷组合的总容量等于该存储池容量,则结束组合比较操作,将该第二存储卷组合中的存储卷确定为至少一个目标存储卷。如果组合得到的第二存储卷组合的总容量小于存储池容量,则执行第二次比较,第二次将第二个存储卷、第三个存储卷和第四个存储卷进行组合,然后按照上述方法进行比较,直到进行第(N-M-1)次,结束将3个存储卷进行组合比较的操作,返回令M=M+1的操作,即将4个存储卷进行组合比。当M等于4时,也需要经过多次组合比较,每次将相邻四个存储卷进行组合比较。
最后一次组合比较是将所有存储卷进行组合比较,若所有存储卷的总容量小于该存储池容量,则返回失败消息,反之,若大于或等于存储池容量,则将所有存储卷确定为至少一个目标存储卷。
(7)当存在容量大于该存储池容量的第二存储卷组合时,如果存在第一存储卷且大于该存储池容量的总容量中的最小总容量小于该第一存储卷的总容量,则将该第一存储卷更新为该最小总容量对应的第二存储卷组合中的存储卷,令M=M+1,返回该将排序后的N个存储卷中的M个存储卷进行组合,将得到的第二存储卷组合的总容量与该存储池容量进行比较的步骤;如果该最小总容量大于该第一存储卷的总容量,则将该第一存储卷确定为该至少一个目标存储卷。
当存在容量大于该存储池容量的第二存储卷组合时,如果存在第一存储卷,则将该第二存储卷组合的总容量与之前暂定的第一存储卷的总容量比较,如果该第二存储卷组合的总容量小于该第一存储卷的总容量,说明相比于第一存储卷,该第二存储卷组合的总容量更接近存储池容量,因此,将该第一存储卷更新为该第二存储卷组合包括的存储卷,并令M=M+1,返回步骤(4)中将该N个存储卷中M个存储卷进行组合的操作,以将增加后的M个存储卷的总容量与存储池容量进行比较,以检查是否存在更接近存储池容量的存储卷组合。否则,如果该最小总容量大于该第一存储卷的总容量,说明该第一存储卷的总容量更接近存储池容量,且M个以上的存储卷组合不会存在总容量大于存储池容量但小于第一存储卷的总容量的情况,因此可以直接该第一存储卷确定为至少一个目标存储卷,终止组合比较操作。
譬如,继续以上述例子为例,在将任意两个存储卷进行组合后,确定结果为Disk11和Volume11,与单个第一存储卷比较容量,结果保留Volume11。检查3个相邻存储卷,选择结果为Disk12、Disk21、Disk22,由于该组合的总容量等于存储池量,因此,最终将Disk12、Disk21、Disk22确定为至少一个目标存储卷。
步骤204:在该至少一个目标存储卷上创建存储池。
也即是,该虚拟资源管理节点将存储池映射至该至少一个目标存储卷上,从而完成存储池的创建。由于该至少一个目标存储卷是符合条件的N个存储池中总容量最接近存储池容量的一个或多个存储卷,因此,所创建的存储池的存储池容量等于或者能够尽可能的接近用户期望值,提高了存储资源的利用率。
在本申请实施例中,接收存储池创建请求,该存储池创建请求携带待创建的存储池的存储池容量和存储属性信息,以指示需要创建多大容量以及具有怎样存储属性的存储池。之后,从已添加的所有存储卷中选择具有该存储属性的N个存储卷,根据该存储池容量和选择的N个存储卷的容量,从该N个存储卷中确定至少一个目标存储卷,其中,该至少一个目标存储卷的总容量需要大于或等于该存储池容量,并且,在任意大于该存储池容量的第一存储卷组合中,该至少一个目标存储卷的总容量最接近该存储池容量。如此在该至少一个目标存储卷上创建该存储池可以保证充分利用存储卷,由于在该N个存储卷中该至少一个目标存储卷的总容量最接近存储池的容量需求,因此可以避免资源浪费。
图3是根据一示例性实施例示出的一种存储池的创建装置的结构示意图。该存储池的创建装置可以包括:
接收模块310,用于接收存储池创建请求,所述存储池创建请求携带待创建的存储池的存储池容量和存储属性信息;
选择模块320,用于从已添加的所有存储卷中选择所述存储属性信息对应的N个存储卷,所述N为大于或等于1的整数;
确定模块330,用于根据所述存储池容量和所述N个存储卷的容量,从所述N个存储卷中确定至少一个目标存储卷,所述至少一个目标存储卷的总容量大于或等于所述存储池容量,且在所述N个存储卷的任意总容量大于所述存储池容量的第一存储卷组合中,所述至少一个目标存储卷的总容量与所述存储池容量之间的差值最小;
创建模块340,用于在所述至少一个目标存储卷上创建所述存储池。
可选地,所述确定模块330用于:
当所述N等于1且所述存储属性信息对应的存储卷的容量大于或等于所述存储池容量时,将所述存储属性信息对应的存储卷确定为所述至少一个目标存储卷;
当所述N大于1时,按照容量从小到大的顺序对所述N个存储卷进行排序,根据所述存储池容量和所述N个存储卷的容量,从排序后的N个存储卷中确定所述至少一个目标存储卷。
可选地,所述确定模块330用于:
将排序后的N个存储卷中的第N个存储卷的容量与所述存储池容量进行比较;
当所述第N个存储卷的容量不小于所述存储池容量时,按照存储卷的先后排列顺序依次将排序后的N个存储卷的容量与所述存储池容量进行遍历比较,如果遍历到所述N个存储卷中存在容量等于所述存储池容量的存储卷,则将遍历到的存储卷确定为所述至少一个目标存储卷。
可选地,所述确定模块330用于:
如果所述N个存储卷中不存在容量等于所述存储池容量的存储卷,则将大于所述存储池容量的容量中最小容量对应的存储卷确定为第一存储卷。
可选地,所述确定模块330用于:
当所述第N个存储卷的容量小于所述存储池容量,或者,所述第N个存储卷中存在容量不小于所述存储池容量的存储卷且不存在容量等于所述存储池容量的存储卷时,令M=2,如果排序后的N个存储卷中最后两个存储卷的总容量大于所述存储池容量,则将排序后的N个存储卷中的M个存储卷进行组合,将得到的第二存储卷组合的总容量与所述存储池容量进行比较;
当存在总容量等于所述存储池容量的第二存储卷组合时,将总容量等于所述存储池容量的第二存储卷组合中的存储卷确定为所述至少一个目标存储卷;
否则,当得到的第二存储卷组合的总容量均小于所述存储池容量时,令M=M+1,返回所述将排序后的N个存储卷中的M个存储卷进行组合,将得到的第二存储卷组合的总容量与所述存储池容量进行比较的步骤,直到所述M大于所述N时,结束组合操作;
当存在容量大于所述存储池容量的第二存储卷组合时,如果存在第一存储卷且大于所述存储池容量的总容量中的最小总容量小于所述第一存储卷的总容量,则将所述第一存储卷更新为所述最小总容量对应的第二存储卷组合中的存储卷,令M=M+1,返回所述将排序后的N个存储卷中的M个存储卷进行组合,将得到的第二存储卷组合的总容量与所述存储池容量进行比较的步骤;如果所述最小总容量大于所述第一存储卷的总容量,则将所述第一存储卷确定为所述至少一个目标存储卷。
可选地,所述确定模块330用于:
当所述M等于2时,将所述N个存储卷中的每M个存储卷进行排列组合,将每次排列组合后得到的第二存储卷组合的总容量与所述存储池容量进行比较,当每次排列组合后得到的第二存储卷组合的总容量大于所述存储池容量时,记录所述每次排列组合后得到的第二存储卷组合;直到某次排列组合后得到的第二存储卷组合的总容量等于所述存储池容量,或者,比较至排列组合的最后一组时,结束操作;
当所述M大于2时,令j=1;从所述N个存储卷中的第j个存储卷开始将每相邻的M个存储卷进行组合,将每次组合后得到的第二存储卷组合的总容量与所述存储池容量进行比较,当每次组合后得到的第二存储卷组合的总容量大于所述存储池容量时,记录所述每次组合后得到的第二存储卷组合;若每次组合后得到的第二存储卷组合的总容量小于所述存储池容量且所述j小于或等于(N-M-1),则令j=j+1返回所述从所述N个存储卷中的第j个存储卷开始将每相邻的M个存储卷进行组合,将组合后得到的第二存储卷组合的总容量与所述存储池容量进行比较的操作;直到某次组合后得到的第二存储卷组合的总容量等于所述存储池容量,或者,所述j大于(N-M-1)时,结束操作。
在本申请实施例中,接收存储池创建请求,该存储池创建请求携带待创建的存储池的存储池容量和存储属性信息,以指示需要创建多大容量以及具有怎样存储属性的存储池。之后,从已添加的所有存储卷中选择具有该存储属性的N个存储卷,根据该存储池容量和选择的N个存储卷的容量,从该N个存储卷中确定至少一个目标存储卷,其中,该至少一个目标存储卷的总容量需要大于或等于该存储池容量,并且,在任意大于该存储池容量的第一存储卷组合中,该至少一个目标存储卷的总容量最接近该存储池容量。如此在该至少一个目标存储卷上创建该存储池可以保证充分利用存储卷,由于在该N个存储卷中该至少一个目标存储卷的总容量最接近存储池的容量需求,因此可以避免资源浪费。
需要说明的是:上述实施例提供的存储池的创建装置在实现存储池的创建方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的存储池的创建装置与存储池的创建方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图4示出了本申请一个示例性实施例提供的计算机设备400的结构框图。该计算机设备400可以是:平板电脑、笔记本电脑或台式电脑。计算机设备400还可能被称为用户设备、便携式计算机设备、膝上型计算机设备、台式计算机设备等其他名称。
通常,计算机设备400包括有:处理器401和存储器402。
处理器401可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器401可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器401也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器401可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器401还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器402可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器402还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器402中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器401所执行以实现本申请中方法实施例提供的存储池的创建方法。
在一些实施例中,计算机设备400还可选包括有:外围设备接口403和至少一个外围设备。处理器401、存储器402和外围设备接口403之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口403相连。具体地,外围设备包括:射频电路404、触摸显示屏405、摄像头406、音频电路407、定位组件408和电源409中的至少一种。
外围设备接口403可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器401和存储器402。在一些实施例中,处理器401、存储器402和外围设备接口403被集成在同一芯片或电路板上;在一些其他实施例中,处理器401、存储器402和外围设备接口403中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路404用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路404通过电磁信号与通信网络以及其他通信设备进行通信。射频电路404将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路404包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路404可以通过至少一种无线通信协议来与其它计算机设备进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路404还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏405用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏405是触摸显示屏时,显示屏405还具有采集在显示屏405的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器401进行处理。此时,显示屏405还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏405可以为一个,设置计算机设备400的前面板;在另一些实施例中,显示屏405可以为至少两个,分别设置在计算机设备400的不同表面或呈折叠设计;在再一些实施例中,显示屏405可以是柔性显示屏,设置在计算机设备400的弯曲表面上或折叠面上。甚至,显示屏405还可以设置成非矩形的不规则图形,也即异形屏。显示屏405可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-EmittingDiode,有机发光二极管)等材质制备。
摄像头组件406用于采集图像或视频。可选地,摄像头组件406包括前置摄像头和后置摄像头。通常,前置摄像头设置在计算机设备的前面板,后置摄像头设置在计算机设备的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件406还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路407可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器401进行处理,或者输入至射频电路404以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在计算机设备400的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器401或射频电路404的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路407还可以包括耳机插孔。
定位组件408用于定位计算机设备400的当前地理位置,以实现导航或LBS(Location Based Service,基于位置的服务)。定位组件408可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源409用于为计算机设备400中的各个组件进行供电。电源409可以是交流电、直流电、一次性电池或可充电电池。当电源409包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,计算机设备400还包括有一个或多个传感器410。该一个或多个传感器410包括但不限于:加速度传感器411、陀螺仪传感器412、压力传感器413、指纹传感器414、光学传感器415以及接近传感器416。
加速度传感器411可以检测以计算机设备400建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器411可以用于检测重力加速度在三个坐标轴上的分量。处理器401可以根据加速度传感器411采集的重力加速度信号,控制触摸显示屏405以横向视图或纵向视图进行用户界面的显示。加速度传感器411还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器412可以检测计算机设备400的机体方向及转动角度,陀螺仪传感器412可以与加速度传感器411协同采集用户对计算机设备400的3D动作。处理器401根据陀螺仪传感器412采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器413可以设置在计算机设备400的侧边框和/或触摸显示屏405的下层。当压力传感器413设置在计算机设备400的侧边框时,可以检测用户对计算机设备400的握持信号,由处理器401根据压力传感器413采集的握持信号进行左右手识别或快捷操作。当压力传感器413设置在触摸显示屏405的下层时,由处理器401根据用户对触摸显示屏405的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器414用于采集用户的指纹,由处理器401根据指纹传感器414采集到的指纹识别用户的身份,或者,由指纹传感器414根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器401授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器414可以被设置计算机设备400的正面、背面或侧面。当计算机设备400上设置有物理按键或厂商Logo时,指纹传感器414可以与物理按键或厂商Logo集成在一起。
光学传感器415用于采集环境光强度。在一个实施例中,处理器401可以根据光学传感器415采集的环境光强度,控制触摸显示屏405的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏405的显示亮度;当环境光强度较低时,调低触摸显示屏405的显示亮度。在另一个实施例中,处理器401还可以根据光学传感器415采集的环境光强度,动态调整摄像头组件406的拍摄参数。
接近传感器416,也称距离传感器,通常设置在计算机设备400的前面板。接近传感器416用于采集用户与计算机设备400的正面之间的距离。在一个实施例中,当接近传感器416检测到用户与计算机设备400的正面之间的距离逐渐变小时,由处理器401控制触摸显示屏405从亮屏状态切换为息屏状态;当接近传感器416检测到用户与计算机设备400的正面之间的距离逐渐变大时,由处理器401控制触摸显示屏405从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图4中示出的结构并不构成对计算机设备400的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请实施例还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由计算机设备的处理器执行时,使得计算机设备能够执行上述实施例提供的存储池的创建方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例提供的存储池的创建方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (12)
1.一种存储池的创建方法,其特征在于,所述方法包括:
接收存储池创建请求,所述存储池创建请求携带待创建的存储池的存储池容量和存储属性信息;
从已添加的所有存储卷中选择所述存储属性信息对应的N个存储卷,所述N为大于或等于1的整数;
根据所述存储池容量和所述N个存储卷的容量,从所述N个存储卷中确定至少一个目标存储卷,所述至少一个目标存储卷的总容量大于或等于所述存储池容量,且在所述N个存储卷的任意总容量大于所述存储池容量的第一存储卷组合中,所述至少一个目标存储卷的总容量与所述存储池容量之间的差值最小;其中,在所述N大于1,且所述N个存储卷中不存在容量超过所述存储池容量的单个存储卷时,所述至少一个目标存储卷是从按照组合数量从2开始依次增大将所述N个存储卷进行组合后的存储卷组合中遍历得到的;
在所述至少一个目标存储卷上创建所述存储池;
其中,所述根据所述存储池容量和所述N个存储卷的容量,从所述N个存储卷中确定至少一个目标存储卷,包括:当所述N大于1时,按照容量从小到大的顺序对所述N个存储卷进行排序;将排序后的N个存储卷中的第N个存储卷的容量与所述存储池容量进行比较;当所述第N个存储卷的容量小于所述存储池容量,或者,所述N个存储卷中存在容量不小于所述存储池容量的存储卷且不存在容量等于所述存储池容量的存储卷时,令M=2,如果排序后的N个存储卷中最后两个存储卷的总容量大于所述存储池容量,则将排序后的N个存储卷中的M个存储卷进行组合,将得到的第二存储卷组合的总容量与所述存储池容量进行比较;当存在总容量等于所述存储池容量的第二存储卷组合时,将总容量等于所述存储池容量的第二存储卷组合中的存储卷确定为所述至少一个目标存储卷;否则,当得到的第二存储卷组合的总容量均小于所述存储池容量时,令M=M+1,返回所述将排序后的N个存储卷中的M个存储卷进行组合,将得到的第二存储卷组合的总容量与所述存储池容量进行比较的步骤,直到所述M大于所述N时,结束组合操作;当存在容量大于所述存储池容量的第二存储卷组合时,如果存在第一存储卷且大于所述存储池容量的总容量中的最小总容量小于所述第一存储卷的总容量,则将所述第一存储卷更新为所述最小总容量对应的第二存储卷组合中的存储卷,令M=M+1,返回所述将排序后的N个存储卷中的M个存储卷进行组合,将得到的第二存储卷组合的总容量与所述存储池容量进行比较的步骤;如果所述最小总容量大于所述第一存储卷的总容量,则将所述第一存储卷确定为所述至少一个目标存储卷。
2.如权利要求1所述的方法,其特征在于,所述根据所述存储池容量和所述N个存储卷的容量,从所述N个存储卷中确定至少一个目标存储卷,包括:
当所述N等于1且所述存储属性信息对应的存储卷的容量大于或等于所述存储池容量时,将所述存储属性信息对应的存储卷确定为所述至少一个目标存储卷。
3.如权利要求1所述的方法,其特征在于,所述将排序后的N个存储卷中的第N个存储卷的容量与所述存储池容量进行比较之后,所述方法还包括:
当所述第N个存储卷的容量不小于所述存储池容量时,按照存储卷的先后排列顺序依次将排序后的N个存储卷的容量与所述存储池容量进行遍历比较,如果遍历到所述N个存储卷中存在容量等于所述存储池容量的存储卷,则将遍历到的存储卷确定为所述至少一个目标存储卷。
4.如权利要求3所述的方法,其特征在于,所述将排序后的N个存储卷的容量与所述存储池容量进行遍历比较之后,还包括:
如果所述N个存储卷中不存在容量等于所述存储池容量的存储卷,则将大于所述存储池容量的容量中最小容量对应的存储卷确定为第一存储卷。
5.如权利要求1所述的方法,其特征在于,所述将排序后的N个存储卷中的M个存储卷进行组合,将得到的第二存储卷组合的总容量与所述存储池容量进行比较,包括:
当所述M等于2时,将所述N个存储卷中的每M个存储卷进行排列组合,将每次排列组合后得到的第二存储卷组合的总容量与所述存储池容量进行比较,当每次排列组合后得到的第二存储卷组合的总容量大于所述存储池容量时,记录所述每次排列组合后得到的第二存储卷组合;直到某次排列组合后得到的第二存储卷组合的总容量等于所述存储池容量,或者,比较至排列组合的最后一组时,结束操作;
当所述M大于2时,令j=1;从所述N个存储卷中的第j个存储卷开始将每相邻的M个存储卷进行组合,将每次组合后得到的第二存储卷组合的总容量与所述存储池容量进行比较,当每次组合后得到的第二存储卷组合的总容量大于所述存储池容量时,记录所述每次组合后得到的第二存储卷组合;若每次组合后得到的第二存储卷组合的总容量小于所述存储池容量且所述j小于或等于(N-M-1),则令j=j+1,返回所述从所述N个存储卷中的第j个存储卷开始将每相邻的M个存储卷进行组合,将组合后得到的第二存储卷组合的总容量与所述存储池容量进行比较的操作;直到某次组合后得到的第二存储卷组合的总容量等于所述存储池容量,或者,所述j大于(N-M-1)时,结束操作。
6.一种存储池的创建装置,其特征在于,所述装置包括:
接收模块,用于接收存储池创建请求,所述存储池创建请求携带待创建的存储池的存储池容量和存储属性信息;
选择模块,用于从已添加的所有存储卷中选择所述存储属性信息对应的N个存储卷,所述N为大于或等于1的整数;
确定模块,用于根据所述存储池容量和所述N个存储卷的容量,从所述N个存储卷中确定至少一个目标存储卷,所述至少一个目标存储卷的总容量大于或等于所述存储池容量,且在所述N个存储卷的任意总容量大于所述存储池容量的第一存储卷组合中,所述至少一个目标存储卷的总容量与所述存储池容量之间的差值最小;其中,在所述N大于1,且所述N个存储卷中不存在容量超过所述存储池容量的单个存储卷时,所述至少一个目标存储卷是从按照组合数量从2开始依次增大将所述N个存储卷进行组合后的存储卷组合中遍历得到的;
创建模块,用于在所述至少一个目标存储卷上创建所述存储池;
其中,所述确定模块用于:当所述N大于1时,按照容量从小到大的顺序对所述N个存储卷进行排序,根据所述存储池容量和所述N个存储卷的容量,从排序后的N个存储卷中确定所述至少一个目标存储卷;
所述确定模块用于:将排序后的N个存储卷中的第N个存储卷的容量与所述存储池容量进行比较;
所述确定模块用于:
当所述第N个存储卷的容量小于所述存储池容量,或者,所述N个存储卷中存在容量不小于所述存储池容量的存储卷且不存在容量等于所述存储池容量的存储卷时,令M=2,如果排序后的N个存储卷中最后两个存储卷的总容量大于所述存储池容量,则将排序后的N个存储卷中的M个存储卷进行组合,将得到的第二存储卷组合的总容量与所述存储池容量进行比较;
当存在总容量等于所述存储池容量的第二存储卷组合时,将总容量等于所述存储池容量的第二存储卷组合中的存储卷确定为所述至少一个目标存储卷;
否则,当得到的第二存储卷组合的总容量均小于所述存储池容量时,令M=M+1,返回所述将排序后的N个存储卷中的M个存储卷进行组合,将得到的第二存储卷组合的总容量与所述存储池容量进行比较的步骤,直到所述M大于所述N时,结束组合操作;
当存在容量大于所述存储池容量的第二存储卷组合时,如果存在第一存储卷且大于所述存储池容量的总容量中的最小总容量小于所述第一存储卷的总容量,则将所述第一存储卷更新为所述最小总容量对应的第二存储卷组合中的存储卷,令M=M+1,返回所述将排序后的N个存储卷中的M个存储卷进行组合,将得到的第二存储卷组合的总容量与所述存储池容量进行比较的步骤;如果所述最小总容量大于所述第一存储卷的总容量,则将所述第一存储卷确定为所述至少一个目标存储卷。
7.如权利要求6所述的装置,其特征在于,所述确定模块用于:
当所述N等于1且所述存储属性信息对应的存储卷的容量大于或等于所述存储池容量时,将所述存储属性信息对应的存储卷确定为所述至少一个目标存储卷。
8.如权利要求6所述的装置,其特征在于,所述确定模块用于:
在将排序后的N个存储卷中的第N个存储卷的容量与所述存储池容量进行比较后,当所述第N个存储卷的容量不小于所述存储池容量时,按照存储卷的先后排列顺序依次将排序后的N个存储卷的容量与所述存储池容量进行遍历比较,如果遍历到所述N个存储卷中存在容量等于所述存储池容量的存储卷,则将遍历到的存储卷确定为所述至少一个目标存储卷。
9.如权利要求8所述的装置,其特征在于,所述确定模块用于:
在将排序后的N个存储卷的容量与所述存储池容量进行遍历比较后,如果所述N个存储卷中不存在容量等于所述存储池容量的存储卷,则将大于所述存储池容量的容量中最小容量对应的存储卷确定为第一存储卷。
10.如权利要求6所述的装置,其特征在于,所述确定模块用于:
当所述M等于2时,将所述N个存储卷中的每M个存储卷进行排列组合,将每次排列组合后得到的第二存储卷组合的总容量与所述存储池容量进行比较,当每次排列组合后得到的第二存储卷组合的总容量大于所述存储池容量时,记录所述每次排列组合后得到的第二存储卷组合;直到某次排列组合后得到的第二存储卷组合的总容量等于所述存储池容量,或者,比较至排列组合的最后一组时,结束操作;
当所述M大于2时,令j=1;从所述N个存储卷中的第j个存储卷开始将每相邻的M个存储卷进行组合,将每次组合后得到的第二存储卷组合的总容量与所述存储池容量进行比较,当每次组合后得到的第二存储卷组合的总容量大于所述存储池容量时,记录所述每次组合后得到的第二存储卷组合;若每次组合后得到的第二存储卷组合的总容量小于所述存储池容量且所述j小于或等于(N-M-1),则令j=j+1,返回所述从所述N个存储卷中的第j个存储卷开始将每相邻的M个存储卷进行组合,将组合后得到的第二存储卷组合的总容量与所述存储池容量进行比较的操作;直到某次组合后得到的第二存储卷组合的总容量等于所述存储池容量,或者,所述j大于(N-M-1)时,结束操作。
11.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为实现权利要求1-5任一项所述方法的步骤。
12.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现权利要求1-5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910288611.3A CN111813322B (zh) | 2019-04-11 | 2019-04-11 | 存储池的创建方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910288611.3A CN111813322B (zh) | 2019-04-11 | 2019-04-11 | 存储池的创建方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111813322A CN111813322A (zh) | 2020-10-23 |
CN111813322B true CN111813322B (zh) | 2023-06-13 |
Family
ID=72843840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910288611.3A Active CN111813322B (zh) | 2019-04-11 | 2019-04-11 | 存储池的创建方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111813322B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113031875A (zh) * | 2021-03-31 | 2021-06-25 | 建信金融科技有限责任公司 | 一种存储卷管理方法、装置、存储介质及系统 |
CN114153399B (zh) * | 2021-12-07 | 2023-10-20 | 四川云从天府人工智能科技有限公司 | 存储系统的数据存储方法、装置、控制装置和介质 |
CN114296655B (zh) * | 2021-12-30 | 2024-02-02 | 杭州海康威视系统技术有限公司 | 一种针对分布式存储系统的数据存储方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201357A (zh) * | 2016-07-18 | 2016-12-07 | 浪潮(北京)电子信息产业有限公司 | 一种存储池的构建方法及系统 |
CN109032521A (zh) * | 2018-07-25 | 2018-12-18 | 星环信息科技(上海)有限公司 | 存储卷创建方法、装置、服务器及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5069011B2 (ja) * | 2007-01-29 | 2012-11-07 | 株式会社日立製作所 | ストレージモジュール及び容量プール空き容量調整方法 |
CN103838525B (zh) * | 2009-01-30 | 2017-08-08 | 株式会社日立制作所 | 存储系统 |
CN103365781B (zh) * | 2012-03-29 | 2016-05-04 | 国际商业机器公司 | 用于动态地重新配置存储系统的方法和设备 |
JP2015158711A (ja) * | 2014-02-21 | 2015-09-03 | 富士通株式会社 | ストレージ制御装置、仮想ストレージ装置、ストレージ制御方法、及びストレージ制御プログラム |
US10248319B2 (en) * | 2015-03-31 | 2019-04-02 | International Business Machines Corporation | Storage pool capacity management |
US10019202B2 (en) * | 2016-01-11 | 2018-07-10 | International Business Machines Corporation | Autonomic configuration of storage systems for virtualization |
US10296214B2 (en) * | 2016-10-31 | 2019-05-21 | International Business Machines Corporation | Storage pool selection for provisioning volumes in an over-allocation system |
-
2019
- 2019-04-11 CN CN201910288611.3A patent/CN111813322B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201357A (zh) * | 2016-07-18 | 2016-12-07 | 浪潮(北京)电子信息产业有限公司 | 一种存储池的构建方法及系统 |
CN109032521A (zh) * | 2018-07-25 | 2018-12-18 | 星环信息科技(上海)有限公司 | 存储卷创建方法、装置、服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111813322A (zh) | 2020-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108304265B (zh) | 内存管理方法、装置及存储介质 | |
CN110841285B (zh) | 界面元素的显示方法、装置、计算机设备及存储介质 | |
CN113127181B (zh) | 内存管理方法、装置及存储介质 | |
CN113127130B (zh) | 页面跳转方法、装置及存储介质 | |
CN108132790B (zh) | 检测无用代码的方法、装置及计算机存储介质 | |
CN111813322B (zh) | 存储池的创建方法、装置、设备及存储介质 | |
CN110673944B (zh) | 执行任务的方法和装置 | |
CN112181915B (zh) | 执行业务的方法、装置、终端和存储介质 | |
CN111383251B (zh) | 一种跟踪目标对象的方法、装置、监控设备和存储介质 | |
CN111580892B (zh) | 一种业务组件调用的方法、装置、终端和存储介质 | |
CN108831423B (zh) | 提取音频数据中主旋律音轨的方法、装置、终端及存储介质 | |
CN111275607A (zh) | 界面显示方法、装置、计算机设备及存储介质 | |
CN113949678B (zh) | 流量控制方法、装置、电子设备及计算机可读存储介质 | |
CN115344537A (zh) | 存储空间分配的方法、装置、文件系统和存储介质 | |
CN112990421B (zh) | 优化深度学习网络的运行过程的方法、装置及存储介质 | |
CN112052153B (zh) | 产品版本测试方法及装置 | |
CN111191254B (zh) | 访问校验方法、装置、计算机设备及存储介质 | |
CN111258673A (zh) | 快应用显示方法及终端设备 | |
CN112131340B (zh) | 字符串检测方法、装置及存储介质 | |
CN111382152B (zh) | 数据表处理方法、装置及存储介质 | |
CN113766043B (zh) | 配置目标容器的方法、装置、计算机设备及存储介质 | |
CN115379274B (zh) | 基于图片的互动方法、装置、电子设备及存储介质 | |
CN111125571B (zh) | 图片显示方法及装置 | |
CN112817768B (zh) | 动画处理方法、装置、设备及计算机可读存储介质 | |
CN112181938B (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 |