本申请涉及计算机技术领域,特别涉及一种虚拟卷的卷信息校验方法、系统、一种计算机可读存储介质及一种电子设备装置。
背景技术:
mcs系统是一种虚拟化存储系统,存储虚拟化是指一种在逻辑上对存储资源进行抽象,不会因为物理设备的局限性而受到限制,能达到消除不同类型资源之间的差异化的效果,让管理者认为所管理的资源都是来源于同一个资源池设备,并且提供更加丰富和先进的高级功能特性。mcs系统的存储的硬盘(控制柜和扩展柜的硬盘空间)组合成不同类型的raid或分布式raid,每一个raid或者分布式raid就是一个mdisk;自身存储的一块硬盘也可以组成一个mdisk,存储池是由一个或多个mdisk组成的,每个mdisk被划分为相同大小的extent数据块存放在存储池中的,卷是由存储池中划分出来的extent数据块组成的。
卷通过映射给主机供客户使用,卷又分为基本卷和自精简卷,自动精简配置是一项新的容量分配的技术,不会一次性分配足够大的存储空间给应用程序,而是根据该项应用实际所需要的容量,分多次、每次少量的分配给应用程序,当该项应用所产生的数据增长,分配的容量空间已不够的时候,存储系统会再次从后端存储池中补充分配一部分存储空间。若创建卷的信息不正确,会导致产品功能下降,导致客户体验不佳。
因此,如何实现对虚拟卷的卷信息进行校验,提高产品性能是本领域技术人员目前需要解决的技术问题。
技术实现要素:
本申请的目的是提供一种虚拟卷的卷信息校验方法、系统、一种计算机可读存储介质及一种电子设备,能够实现对虚拟卷的卷信息进行校验,提高产品性能。
为解决上述技术问题,本申请提供一种虚拟卷的卷信息校验方法,该卷信息校验方法包括:
接收虚拟卷创建信息并根据所述虚拟卷创建信息确定目标虚拟卷;
获取所述目标虚拟卷的卷信息;其中,所述卷信息包括id信息、容量信息、名称信息和属性信息;
判断所述卷信息是否符合预设标准;若是,则判定所述目标虚拟卷校验成功;若否,则判定所述目标虚拟卷校验失败。
可选的,在接收虚拟卷创建信息之前,还包括:
获取已创建的虚拟卷的第一虚拟卷数量;
判断所述第一虚拟卷数量是否大于预设数量;
若否,则创建所述目标虚拟卷,并生成所述虚拟卷创建信息。
可选的,在获取所述目标虚拟卷的卷信息之前,还包括:
确定所述目标虚拟卷的数量,获取当前已创建的虚拟卷的第二虚拟卷数量;
判断所述第二虚拟卷数量与第一虚拟卷数量的差是否为所述目标虚拟卷的数量;
若否,则判定所述目标虚拟卷创建失败。
可选的,判断所述卷信息是否符合预设标准包括:
判断所述id信息是否正确,得到第一判断结果;
判断所述容量信息是否正确,得到第二判断结果;
判断所述名称信息是否正确,得到第三判断结果;
判断所述属性信息是否正确,得到第四判断结果;
判断是否所述第一判断结果、所述第二判断结果、所述第三判断结果和所述第四判断结果均为是;
若是,则判定所述卷信息符合所述预设标准;若否,则判定所述卷信息不符合所述预设标准。
可选的,判断所述容量信息是否正确,得到第二判断结果,包括:
根据所述容量信息判断所述目标虚拟卷的容量单位是否为预设单位;
若为所述预设单位,则根据所述容量信息判断所述目标虚拟卷的容量显示值是否为设定值;若为所述设定值,则生成判断结果为是的第二判断结果;若不为所述设定值,则生成判断结果为否的第二判断结果。
可选的,判断所述名称信息是否正确,得到第三判断结果,包括:
当所述名称信息为自定义名称时,判断所述自定义名称是否正确;若是,则生成判断结果为是的第三判断结果;若否,则生成判断结果为否的第三判断结果;
当所述名称信息为默认名称时,判断所述默认名称是否正确;若是,则生成判断结果为是的第三判断结果;若否,则生成判断结果为否的第三判断结果。
可选的,判断所述属性信息是否正确,得到第四判断结果,包括:
根据所述属性信息判断所述目标虚拟卷是否为自精简卷;
若为所述自精简卷,则判断所述目标虚拟卷的warning值是否正确;若正确,则生成判断结果为是的第四判断结果;若否,则生成判断结果为否的第四判断结果。
本申请还提供了一种虚拟卷的卷信息校验系统,该卷信息校验系统包括:
目标卷确定模块,用于接收虚拟卷创建信息并根据所述虚拟卷创建信息确定目标虚拟卷;
信息获取模块,用于获取所述目标虚拟卷的卷信息;其中,所述卷信息包括id信息、容量信息、名称信息和属性信息;
校验模块,用于判断所述卷信息是否符合预设标准;若是,则判定所述目标虚拟卷校验成功;若否,则判定所述目标虚拟卷校验失败。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序执行时实现上述虚拟卷的卷信息校验方法执行的步骤。
本申请还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现上述虚拟卷的卷信息校验方法执行的步骤。
本申请提供了一种虚拟卷的卷信息校验方法,包括接收虚拟卷创建信息并根据所述虚拟卷创建信息确定目标虚拟卷;获取所述目标虚拟卷的卷信息;其中,所述卷信息包括id信息、容量信息、名称信息和属性信息;判断所述卷信息是否符合预设标准;若是,则判定所述目标虚拟卷校验成功;若否,则判定所述目标虚拟卷校验失败。
本申请在接收到虚拟卷创建信息后获取虚拟卷创建信息对应的目标虚拟卷的卷信息,获取的卷信息可以包括id信息、容量信息、名称信息和属性信息。通过将id信息、容量信息、名称信息和属性信息与各自的预设标准进行比对,若符合预设标准则判断目标虚拟卷的卷信息正确,即校验成功,反之子校验失败。本申请能够实现对虚拟卷的卷信息进行校验,提高产品性能。本申请同时还提供了一种虚拟卷的卷信息校验系统、一种计算机可读存储介质和一种电子设备,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种虚拟卷的卷信息校验方法的流程图;
图2为本申请实施例所提供的另一种虚拟卷的卷信息校验方法的流程图;
图3为本申请实施例所提供的一种虚拟卷的卷信息校验系统的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面请参见图1,图1为本申请实施例所提供的一种虚拟卷的卷信息校验方法的流程图。
具体步骤可以包括:
s101:接收虚拟卷创建信息并根据所述虚拟卷创建信息确定目标虚拟卷;
其中,本实施例时关于虚拟卷的卷信息校验的方法,可以应用于如mcs等任意一种虚拟化存储系统。在本步骤之前默认存在创建虚拟卷并在虚拟卷创建后生成虚拟卷创建信息的操作,在接收到虚拟卷创建信息后可以根据虚拟卷创建信息确定其指向的目标虚拟卷。
作为一种可行的实施方式,本实施例可以预先创建多个虚拟卷的列表,根据该列表逐个创建对应的虚拟卷,并在创建虚拟卷的同时生成对应的虚拟卷创建信息,以便执行本实施例中的卷信息检验过程。可以理解的是,上述提到的虚拟卷列表中可以存在预先设置好的各个虚拟卷的预期卷信息,即在虚拟卷创建过程中,根据该预期卷信息执行相关的虚拟卷创建操作,若虚拟卷创建构成中存在错误那么虚拟卷实际的卷信息与预期卷信息会不同,这也是本实施例进行卷信息校验的目的所在。
s102:获取所述目标虚拟卷的卷信息;
其中,本实施例建立在已经确定目标虚拟卷的基础上,获取目标虚拟卷的卷信息,所述卷信息可以包括id信息、容量信息、名称信息和属性信息中的任一项或任几项的组合。可以理解的是,在已经创建虚拟卷并确定该虚拟卷之后,获取虚拟卷的id信息、容量信息、名称信息和属性信息是现有技术中很成熟的操作,此处不对上述卷信息的获取流程进行具体的描述。
s103:判断所述卷信息是否符合预设标准;若是,则判定所述目标虚拟卷校验成功;若否,则判定所述目标虚拟卷校验失败。
其中,在获取目标虚拟卷的卷信息后,本步骤默认存在获取所述目标卷对应的预设标准的操作,可以理解的是,不同虚拟卷的预设标准可以存在不同,但每一虚拟卷均有与其对应的预设标准。
具体的,本步骤的判断过程可以包括以下几个判断:
(1)判断所述id信息是否正确,得到第一判断结果;
(2)判断所述容量信息是否正确,得到第二判断结果;
(3)判断所述名称信息是否正确,得到第三判断结果;
(4)判断所述属性信息是否正确,得到第四判断结果;
在存在上述四种判断的基础上,预设标准可以为判断第一判断结果、第二判断结果、第三判断结果和第四判断结果种判断结果为是的数量是否大于预设数量。作为一种优选的实施方式,可以判断是否所述第一判断结果、所述第二判断结果、所述第三判断结果和所述第四判断结果均为是;若是,则判定所述卷信息符合所述预设标准;若否,则判定所述卷信息不符合所述预设标准。
本实施例在接收到虚拟卷创建信息后获取虚拟卷创建信息对应的目标虚拟卷的卷信息,获取的卷信息可以包括id信息、容量信息、名称信息和属性信息。通过将id信息、容量信息、名称信息和属性信息与各自的预设标准进行比对,若符合预设标准则判断目标虚拟卷的卷信息正确,即校验成功,反之子校验失败。本实施例能够实现对虚拟卷的卷信息进行校验,提高产品性能。
下面请参见图2,图2为本申请实施例所提供的另一种虚拟卷的卷信息校验方法的流程图,本实施例的应用场景可以是需要创建预设数量个虚拟卷并对每一虚拟卷的卷信息进行校验,本实施例的具体步骤可以包括:
s201:获取已创建的虚拟卷的第一虚拟卷数量;
s202:判断所述第一虚拟卷数量是否大于预设数量;若是,则结束流程;若否,则进入s203;
其中,本步骤中的判断操作是用于检测创建虚拟卷的数量是否超过预设数量,若是,则可以直接结束流程;若否,则可以执行后续的操作步骤。
s203:创建所述目标虚拟卷,并生成所述虚拟卷创建信息。
本步骤不限定目标虚拟卷的数量,每一目标虚拟卷都有与其对应的虚拟卷创建信息。
s204:接收虚拟卷创建信息并根据所述虚拟卷创建信息确定目标虚拟卷;
s205:确定所述目标虚拟卷的数量,获取当前已创建的虚拟卷的第二虚拟卷数量;
其中,理论上当前已创建的虚拟卷的第二虚拟卷数量应为s201中第一虚拟卷数量与目标虚拟卷数量的和,但是当目标虚拟卷存在创建过程中存在故障时,将会导致创建的目标虚拟卷的数量少于s203所要创建的目标虚拟卷的数量。
s206:判断所述第二虚拟卷数量与第一虚拟卷数量的差是否为所述目标虚拟卷的数量;若是,则进入s207;若否,则判定所述目标虚拟卷创建失败。
s207:获取所述目标虚拟卷的卷信息;
s208:判断所述卷信息是否符合预设标准;若是,则判定所述目标虚拟卷校验成功;若否,则判定所述目标虚拟卷校验失败。
其中,判断所述卷信息是否符合预设标准可以包括以下步骤:
判断1:判断所述id信息是否正确,得到第一判断结果;
判断2:判断所述容量信息是否正确,得到第二判断结果;
判断3:判断所述名称信息是否正确,得到第三判断结果;
判断4:判断所述属性信息是否正确,得到第四判断结果;
判断是否所述第一判断结果、所述第二判断结果、所述第三判断结果和所述第四判断结果均为是;若是,则判定所述卷信息符合所述预设标准;若否,则判定所述卷信息不符合所述预设标准。此处不限定判断1、判断2、判断3和判断4的执行顺序,可以灵活调整。
作为可选的实施方式,上述判断所述容量信息是否正确的步骤可以包括:根据所述容量信息判断所述目标虚拟卷的容量单位是否为预设单位;若为所述预设单位,则根据所述容量信息判断所述目标虚拟卷的容量显示值是否为设定值;若为所述设定值,则生成判断结果为是的第二判断结果;若不为所述设定值,则生成判断结果为否的第二判断结果。
作为可选的实施方式,上述判断所述名称信息是否正确的步骤包括:当所述名称信息为自定义名称时,判断所述自定义名称是否正确;若是,则生成判断结果为是的第三判断结果;若否,则生成判断结果为否的第三判断结果;当所述名称信息为默认名称时,判断所述默认名称是否正确;若是,则生成判断结果为是的第三判断结果;若否,则生成判断结果为否的第三判断结果。
作为可选的实施方式,上述判断所述属性信息是否正确的步骤可以包括:根据所述属性信息判断所述目标虚拟卷是否为自精简卷;若为所述自精简卷,则判断所述目标虚拟卷的warning值是否正确;若正确,则生成判断结果为是的第四判断结果;若否,则生成判断结果为否的第四判断结果。
下面通过在实际应用中的实施例说明上述实施例描述的流程。
本实施例可以使用python语言编写相对应的脚本vdisk.py,脚本vdisk.py可实现创建且校对最大不同类型的vdisk(卷),从而大大节省了测试该功能的时间,提高了效率。该脚本总体思路流程如下:
1)初始化创建1024个卷的list;其中,在初始化创建1000个卷的清单中,可以显示当前的已有卷的数量及状态;创建n个的新卷;显示新增后的所有卷的数量及状态;判断卷的数量是否增加了预设的数量;逐一判断卷的id是否与预设各自预设的id相同。2)显示当前的已有卷的数量及状态;3)创建第i个新卷;4)显示新增后的所有卷的数量及状态;5)判断卷个数是否+1?若不是则报错;其中,本实施例默认一次只创建一个新卷。6)判断卷id是否正确?若不是则报错;若是,则进入下一步;7)判断创建卷容量单位为b或gb?若是b,则换算是gb;若否则报错;其中,当所有卷的id均与预设的卷id相同后,判断创建卷容量单位为b,还是未gb;若新增卷的容量单位为b,则换算是gb,这样统一了系统的卷容量单位。8)容量显示值与设定值一样?若不一样则报错;若一样则进入下一步骤;9)判断卷是否自定义name?若不是则判断是否为defaultname;10)判断卷name是否正确?若不正确则报错;其中,此处相当于判断卷的名字是否与预设卷名字相同,若不相同则报错。若相同则继续执行后续检测。11)判断卷是否为自精简卷;若是自精简卷则判断该卷的warning值是否正确,若不正确则报错;若正确,则判断卷信息校验通过。
请参见图3,图3为本申请实施例所提供的一种虚拟卷的卷信息校验系统的结构示意图;
该系统可以包括:
目标卷确定模块100,用于接收虚拟卷创建信息并根据所述虚拟卷创建信息确定目标虚拟卷;
信息获取模块200,用于获取所述目标虚拟卷的卷信息;其中,所述卷信息包括id信息、容量信息、名称信息和属性信息;
校验模块300,用于判断所述卷信息是否符合预设标准;若是,则判定所述目标虚拟卷校验成功;若否,则判定所述目标虚拟卷校验失败。
本实施例在接收到虚拟卷创建信息后获取虚拟卷创建信息对应的目标虚拟卷的卷信息,获取的卷信息可以包括id信息、容量信息、名称信息和属性信息。通过将id信息、容量信息、名称信息和属性信息与各自的预设标准进行比对,若符合预设标准则判断目标虚拟卷的卷信息正确,即校验成功,反之子校验失败。本实施例能够实现对虚拟卷的卷信息进行校验,提高产品性能。
进一步的,还包括:
虚拟卷创建信息生成模块,用于获取已创建的虚拟卷的第一虚拟卷数量;还用于判断所述第一虚拟卷数量是否大于预设数量;若否,则创建所述目标虚拟卷,并生成所述虚拟卷创建信息。
进一步的,还包括:
数量比对模块,用于确定所述目标虚拟卷的数量,获取当前已创建的虚拟卷的第二虚拟卷数量;还用于判断所述第二虚拟卷数量与第一虚拟卷数量的差是否为所述目标虚拟卷的数量;若否,则判定所述目标虚拟卷创建失败。
进一步的,所述校验模块300包括:
第一判断单元,用于判断所述id信息是否正确,得到第一判断结果;
第二判断单元,用于判断所述容量信息是否正确,得到第二判断结果;
第三判断单元,用于判断所述名称信息是否正确,得到第三判断结果;
第四判断单元,用于判断所述属性信息是否正确,得到第四判断结果;
判断单元,用于判断是否所述第一判断结果、所述第二判断结果、所述第三判断结果和所述第四判断结果均为是;若是,则判定所述卷信息符合所述预设标准;若否,则判定所述卷信息不符合所述预设标准。
进一步的,第二判断单元包括:
单位判断子单元,用于根据所述容量信息判断所述目标虚拟卷的容量单位是否为预设单位;
容量判断子单元,用于若为所述预设单位,则根据所述容量信息判断所述目标虚拟卷的容量显示值是否为设定值;若为所述设定值,则生成判断结果为是的第二判断结果;若不为所述设定值,则生成判断结果为否的第二判断结果。
进一步的,第三判断单元用于当所述名称信息为自定义名称时,判断所述自定义名称是否正确;若是,则生成判断结果为是的第三判断结果;若否,则生成判断结果为否的第三判断结果;还用于当所述名称信息为默认名称时,判断所述默认名称是否正确;若是,则生成判断结果为是的第三判断结果;若否,则生成判断结果为否的第三判断结果。
进一步的,所述第四判断单元用于根据所述属性信息判断所述目标虚拟卷是否为自精简卷;若为所述自精简卷,则判断所述目标虚拟卷的warning值是否正确;若正确,则生成判断结果为是的第四判断结果;若否,则生成判断结果为否的第四判断结果。
由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请还提供了一种电子设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述电子设备还可以包括各种网络接口,电源等组件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。