镜像存储方法、装置、存储介质以及电子设备与流程

文档序号:29213802发布日期:2022-03-12 10:29阅读:132来源:国知局
镜像存储方法、装置、存储介质以及电子设备与流程

1.本发明涉及计算机领域,具体而言,涉及一种镜像存储方法、装置、存储介质以及电子设备。


背景技术:

2.现有技术中,在上传镜像到存储空间中时,一般将镜像存储到分布式存储器中或者将镜像存储到第三方存储器中,现有技术中还没有在存储区域网络中上传镜像的方法,造成存储镜像的效率低。


技术实现要素:

3.本发明实施例提供了一种镜像存储方法、装置、存储介质以及电子设备,以至少解决存储镜像效率低的技术问题。
4.根据本发明实施例的一个方面,提供了一种存储区域网络的镜像存储方法,包括:接收客户端的镜像上传请求,其中,上述镜像上传请求用于请求上传目标镜像;向云磁盘管理模块发送创建请求,其中,上述创建请求用于请求上述云磁盘管理模块在存储区域网络中创建用于存储上述目标镜像的第一存储空间;在上述云磁盘管理模块创建上述第一存储空间后,将上述第一存储空间与上述客户端本地连接;将客户端本地的上述目标镜像的镜像数据写入到上述第一存储空间中;在上述镜像数据写入完成后,断开上述第一存储空间与上述客户端本地的连接,将上述目标镜像的镜像元数据写入到数据库中。
5.根据本发明实施例的另一方面,提供了一种存储区域网络的镜像存储装置,包括:接收模块,用于接收客户端的镜像上传请求,其中,上述镜像上传请求用于请求上传目标镜像;发送模块,用于向云磁盘管理模块发送创建请求,其中,上述创建请求用于请求上述云磁盘管理模块在存储区域网络中创建用于存储上述目标镜像的第一存储空间;第一创建模块,用于在上述云磁盘管理模块创建上述第一存储空间后,将上述第一存储空间与上述客户端本地连接;写入模块,用于将客户端本地的上述目标镜像的镜像数据写入到上述第一存储空间中;处理模块,用于在上述镜像数据写入完成后,断开上述第一存储空间与上述客户端本地的连接,将上述目标镜像的镜像元数据写入到数据库中。
6.作为一种可选的示例,上述处理模块包括:第一处理单元,用于在上述镜像数据的最后一个字节写入完成时,断开上述连接,将上述镜像数据的镜像元数据写入到数据库中;或者第二处理单元,用于在上述镜像数据的最后一个字节写入完成后的预定时长后,断开上述连接,将上述镜像数据的镜像元数据写入到数据库中。
7.作为一种可选的示例,上述创建模块包括:识别单元,用于识别上述镜像上传请求中的目标字段,其中,上述目标字段用于标志创建上述第一存储空间的目标对象;发送单元,用于在上述目标字段指示上述目标对象为上述云磁盘管理模块的情况下,向上述云磁盘管理模块发送上述创建请求。
8.作为一种可选的示例,上述装置还包括:配置模块,用于在配置文件中配置字段与
对象的对应关系;
9.保存模块,用于在接收到新增上述对应关系的新增指令的情况下,将新增的对应关系保存到上述配置文件中;或者删除模块,用于在接收到删除上述对应关系的删除指令的情况下,将上述配置文件中删除指令所指示的对应关系删除。
10.作为一种可选的示例,上述装置还包括:获取模块,用于在将客户端本地的上述目标镜像的镜像数据写入到上述第一存储空间中之后,获取创建请求,其中,上述创建请求用于请求创建虚拟机;确定模块,用于在上述存储区域网络中的所有镜像中,确定用于创建上述虚拟机的第一镜像;第二创建模块,用于使用上述第一镜像创建上述虚拟机。
11.作为一种可选的示例,上述确定模块包括:查找单元,用于根据上述创建请求中所包含的镜像的目标标志,在上述存储区域网络中的所有镜像中,查找镜像的镜像标志与上述目标标志相同的镜像;确定单元,用于将查找到的镜像确定为上述第一镜像。
12.作为一种可选的示例,上述第二创建模块包括:映射单元,用于将上述第一存储空间中的上述第一镜像映射到第二存储空间中,从而创建上述虚拟机。
13.在本发明实施例中,采用了接收客户端的镜像上传请求,其中,上述镜像上传请求用于请求上传目标镜像;向云磁盘管理模块发送创建请求,其中,上述创建请求用于请求上述云磁盘管理模块在存储区域网络中创建用于存储上述目标镜像的第一存储空间;在上述云磁盘管理模块创建上述第一存储空间后,将上述第一存储空间与上述客户端本地连接;将客户端本地的上述目标镜像的镜像数据写入到上述第一存储空间中;在上述镜像数据写入完成后,断开上述第一存储空间与上述客户端本地的连接,将上述目标镜像的镜像元数据写入到数据库中的方法,由于在上述方法中,在存储镜像时,是向云磁盘管理模块发送创建请求,由云磁盘管理模块发送创建请求在存储区域网络中开辟第一存储空间,在第一存储空间与客户端之间建立连接,将镜像写入第一存储空间来存储镜像,从而实现了提高存储镜像效率的目的,进而解决了存储镜像效率低的技术问题。
附图说明
14.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
15.图1是根据本发明实施例的一种可选的存储区域网络的镜像存储方法的流程图;
16.图2是根据本发明实施例的另一种可选的存储区域网络的镜像存储方法的流程图;
17.图3是根据本发明实施例的一种可选的存储区域网络的镜像存储方法的上传镜像示意图;
18.图4是根据本发明实施例的一种可选的存储区域网络的镜像存储方法的生成虚拟机示意图;
19.图5是根据本发明实施例的一种可选的存储区域网络的镜像存储装置的结构示意图。
具体实施方式
20.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的
附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
21.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
22.根据本发明实施例的第一方面,提供了一种存储区域网络的镜像存储方法,可选地,如图1所示,上述方法包括:
23.s102,接收客户端的镜像上传请求,其中,镜像上传请求用于请求上传目标镜像;
24.s104,向云磁盘管理模块发送创建请求,其中,创建请求用于请求云磁盘管理模块在存储区域网络中创建用于存储目标镜像的第一存储空间;
25.s106,在云磁盘管理模块创建第一存储空间后,将第一存储空间与客户端本地连接;
26.s108,将客户端本地的目标镜像的镜像数据写入到第一存储空间中;
27.s110,在镜像数据写入完成后,断开第一存储空间与客户端本地的连接,将目标镜像的镜像元数据写入到数据库中。
28.可选地,本实施例可以但不限于应用于存储镜像的过程中。本实施例中的镜像可以为一种已经安装好操作系统用于创建虚拟机的模板,通过镜像可以批量创建虚拟机。
29.可选地,本实施例中的存储区域网络(storage area network,简称为san)采用光纤通道(fibre channel)技术,通过光纤通道交换机连接存储阵列和服务器主机,建立专用于数据存储的区域网络。
30.可选地,本实施例中,在客户端要上传镜像时,可以接收客户端的镜像上传请求,然后向云磁盘管理模块发送创建请求,由云磁盘管理模块在存储区域网络中创建第一存储空间,然后将第一存储空间和客户端连接,连接后可以将客户端的镜像数据写入到第一存储空间中。写入完成后,断开连接,将镜像元数据写入数据库。
31.由于在上述方法中,在存储镜像时,是向云磁盘管理模块发送创建请求,由云磁盘管理模块发送创建请求在存储区域网络中开辟第一存储空间,在第一存储空间与客户端之间建立连接,将镜像写入第一存储空间来存储镜像,从而实现了提高存储镜像效率的目的。
32.作为一种可选的示例,在镜像数据写入完成后,断开第一存储空间与客户端本地的连接,将目标镜像的镜像元数据写入到数据库中包括:
33.在镜像数据的最后一个字节写入完成时,断开连接,将镜像数据的镜像元数据写入到数据库中;或者
34.在镜像数据的最后一个字节写入完成后的预定时长后,断开连接,将镜像数据的镜像元数据写入到数据库中。
35.可选地,本实施例中,如果目标镜像上传到第一存储空间之后,可以立即断开连接关系,也可以在预定时长后断开连接关系。立即断开连接关系可以减少带宽的占用,预定时长后断开连接关系可以提高上传目标镜像的准确度。
36.作为一种可选的示例,向云磁盘管理模块发送创建请求包括:
37.识别镜像上传请求中的目标字段,其中,目标字段用于标志创建第一存储空间的目标对象;
38.在目标字段指示目标对象为云磁盘管理模块的情况下,向云磁盘管理模块发送创建请求。
39.本实施例中,可以在分配语句中的字符标志来标记所要分配第一存储空间的存储位置。例如,解析分配语句,解析出分配语句中的字符标志,如果字符标志为目标字符标志,则在存储区域网络中分配第一存储空间。如果字符标志为其他字符标志,例如为第一字符标志,则在分布式网络中分配第一存储空间。例如字符标志为第二字符标志,则在直连式存储器中分配第一存储空间等。通过在分配语句中设置不同的字符标志,来确定在哪里分配第一存储空间存储目标镜像。
40.可选地,本实施例中,还可以根据分配语句中的字符,来确定第一存储空间在存储区域网络的位置或第一存储空间的大小。不同的字符对应不同的位置或大小。
41.作为一种可选的示例,上述方法还包括:
42.在配置文件中配置字段与对象的对应关系;
43.在接收到新增对应关系的新增指令的情况下,将新增的对应关系保存到配置文件中;或者
44.在接收到删除对应关系的删除指令的情况下,将配置文件中删除指令所指示的对应关系删除。
45.可选地,本实施例中的配置文件中包括有分配语句,分配语句中的字符标志可以被调整。本实施例中可以在分配第一存储空间之前,将分配语句中的字符标志调整为目标字符标志,从而调整后的分配语句可以用于为目标镜像分配第一存储空间。可以根据新增指令和删除指令修改配置文件中的内容。
46.作为一种可选的示例,在将客户端本地的目标镜像的镜像数据写入到第一存储空间中之后,上述方法还包括:
47.获取创建请求,其中,创建请求用于请求创建虚拟机;
48.在存储区域网络中的所有镜像中,确定用于创建虚拟机的第一镜像;
49.使用第一镜像创建虚拟机。
50.可选地,本实施例中,在将目标镜像存储到第一存储空间中之后,可以接收创建请求,创建请求用于请求创建虚拟机。在接收到创建虚拟机的创建请求之后,可以确定所要创建的虚拟机对应的镜像。不同的镜像对应创建不同的虚拟机。根据创建请求确定出要创建虚拟机的第一镜像,然后通过第一镜像创建虚拟机。
51.作为一种可选的示例,在存储区域网络中的所有镜像中,确定用于创建虚拟机的第一镜像包括:
52.根据创建请求中所包含的镜像的目标标志,在存储区域网络中的所有镜像中,查找镜像的镜像标志与目标标志相同的镜像;
53.将查找到的镜像确定为第一镜像。
54.可选地,本实施例中,可以根据创建请求中包含的镜像的目标标志,来确定创建虚拟机所要使用的第一镜像。在获取到创建请求之后,获取到创建请求中的镜像的目标标志,然后将该标志与所有镜像的镜像标志进行比对,从所有镜像中确定出标志与目标标志相同的镜像,作为第一镜像,来创建虚拟机。
55.作为一种可选的示例,使用第一镜像创建虚拟机包括:
56.将第一存储空间中的第一镜像映射到第二存储空间中,从而创建虚拟机。
57.可选地,本实施例中,在确定了创建虚拟机的第一镜像之后,第一镜像存储在第一存储空间中。可以将第一镜像映射到第二存储空间中,从而创建虚拟机。
58.可选地,本实施例中,管理系统包括有glance服务,该服务用来管理镜像,还包括有cinder组件,该组件用来管理云磁盘。云磁盘(volume)为可以为虚拟机提供存储空间的硬盘设备。
59.图2为本实施例的一种流程图。如图2中的s202到s212,在接收到客户端发送的上传镜像的请求后,glance根据上述的glance.conf文件读取到store配置是cinder,给cinder发送创建volume请求,等待cinder创建volume完成,glance将volume连接到本地,然后把镜像文件数据写入到volume,写入完毕断开volume连接同时将镜像元数据写入数据库。镜像元数据保存有写入到volume中的镜像文件的属性信息,属性信息可以包括镜像文件的大小、存储位置、存储日期等各项属性。
60.本实施例中,可以配置glance.conf文件,将default_store=cinder。glance.conf文件是用于确定存储空间的文件,即上述的配置文件,default_store=cinder语句即为上述的分配语句,cinder为目标字符标志。
61.配置代码如下:
62.[glance_store]
[0063]
#which backend scheme should glance use by default is not
[0064]
#in a request to add a new image to glance?known schemes
[0065]
#by the stores option below
[0066]
#default:

file’[0067]
default_store=cinder
[0068]
通过上述代码可以配置字符标志为目标字符标志。
[0069]
图3是本实施例的一种接收上传请求存储目标镜像的示意图。图3中,客户端1和客户端2均向服务器发送镜像上传请求,服务器接收镜像上传请求,在存储区域网络中分别为客户端1和客户端2分配第一存储空间,在存储区域网络与客户端之间建立连接,将镜像上传到存储区域网络中。
[0070]
图4是本实施例的一种接收到创建请求创建虚拟机的示意图。图4中,当接收到创建请求后,从多个镜像中确定出用于创建虚拟机的第一镜像,使用第一镜像映射创建虚拟机。
[0071]
本实施例中,可以利用cinder组件作为glance的存放镜像驱动,cinder的存储驱动是san存储,每上传一个镜像glance会给cinder发送一个请求创建volume,然后镜像数据会写入到cinder创建好的volume,该方法实现了glance和cinder实质使用后端是同一种存
储,cinder可以根据用户创建虚拟机时选定镜像在san底层存储对应volume,虚拟机系统盘又可以直接从san存储镜像volume映射一个新volume,解决镜像存储存放的难题同时实现创建虚拟机秒级完成。
[0072]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0073]
根据本技术实施例的另一方面,还提供了一种存储区域网络的镜像存储装置,如图5所示,包括:
[0074]
接收模块502,用于接收客户端的镜像上传请求,其中,镜像上传请求用于请求上传目标镜像;
[0075]
发送模块504,用于向云磁盘管理模块发送创建请求,其中,创建请求用于请求云磁盘管理模块在存储区域网络中创建用于存储目标镜像的第一存储空间;
[0076]
第一创建模块506,用于在云磁盘管理模块创建第一存储空间后,将第一存储空间与客户端本地连接;
[0077]
写入模块508,用于将客户端本地的目标镜像的镜像数据写入到第一存储空间中;
[0078]
处理模块510,用于在镜像数据写入完成后,断开第一存储空间与客户端本地的连接,将目标镜像的镜像元数据写入到数据库中。
[0079]
可选地,本实施例可以但不限于应用于存储镜像的过程中。本实施例中的镜像可以为一种已经安装好操作系统用于创建虚拟机的模板,通过镜像可以批量创建虚拟机。
[0080]
可选地,本实施例中的存储区域网络(storage area network,简称为san)采用光纤通道(fibre channel)技术,通过光纤通道交换机连接存储阵列和服务器主机,建立专用于数据存储的区域网络。
[0081]
可选地,本实施例中,在客户端要上传镜像时,可以接收客户端的镜像上传请求,然后向云磁盘管理模块发送创建请求,由云磁盘管理模块在存储区域网络中创建第一存储空间,然后将第一存储空间和客户端连接,连接后可以将客户端的镜像数据写入到第一存储空间中。写入完成后,断开连接,将镜像元数据写入数据库。
[0082]
由于在上述方法中,在存储镜像时,是向云磁盘管理模块发送创建请求,由云磁盘管理模块发送创建请求在存储区域网络中开辟第一存储空间,在第一存储空间与客户端之间建立连接,将镜像写入第一存储空间来存储镜像,从而实现了提高存储镜像效率的目的。
[0083]
作为一种可选的实施方式,上述处理模块包括:
[0084]
第一处理单元,用于在镜像数据的最后一个字节写入完成时,断开连接,将镜像数据的镜像元数据写入到数据库中;或者
[0085]
第二处理单元,用于在镜像数据的最后一个字节写入完成后的预定时长后,断开连接,将镜像数据的镜像元数据写入到数据库中。
[0086]
可选地,本实施例中,如果目标镜像上传到第一存储空间之后,可以立即断开连接关系,也可以在预定时长后断开连接关系。立即断开连接关系可以减少带宽的占用,预定时长后断开连接关系可以提高上传目标镜像的准确度。
[0087]
作为一种可选的实施方式,上述创建模块包括:
[0088]
识别单元,用于识别镜像上传请求中的目标字段,其中,目标字段用于标志创建第一存储空间的目标对象;
[0089]
发送单元,用于在目标字段指示目标对象为云磁盘管理模块的情况下,向云磁盘管理模块发送创建请求。
[0090]
本实施例中,可以在分配语句中的字符标志来标记所要分配第一存储空间的存储位置。例如,解析分配语句,解析出分配语句中的字符标志,如果字符标志为目标字符标志,则在存储区域网络中分配第一存储空间。如果字符标志为其他字符标志,例如为第一字符标志,则在分布式网络中分配第一存储空间。例如字符标志为第二字符标志,则在直连式存储器中分配第一存储空间等。通过在分配语句中设置不同的字符标志,来确定在哪里分配第一存储空间存储目标镜像。
[0091]
可选地,本实施例中,还可以根据分配语句中的字符,来确定第一存储空间在存储区域网络的位置或第一存储空间的大小。不同的字符对应不同的位置或大小。
[0092]
作为一种可选的实施方式,上述装置还包括:
[0093]
配置模块,用于在配置文件中配置字段与对象的对应关系;
[0094]
保存模块,用于在接收到新增对应关系的新增指令的情况下,将新增的对应关系保存到配置文件中;或者
[0095]
删除模块,用于在接收到删除对应关系的删除指令的情况下,将配置文件中删除指令所指示的对应关系删除。
[0096]
可选地,本实施例中的配置文件中包括有分配语句,分配语句中的字符标志可以被调整。本实施例中可以在分配第一存储空间之前,将分配语句中的字符标志调整为目标字符标志,从而调整后的分配语句可以用于为目标镜像分配第一存储空间。可以根据新增指令和删除指令修改配置文件中的内容。
[0097]
作为一种可选的实施方式,上述装置还包括:
[0098]
获取模块,用于在将客户端本地的目标镜像的镜像数据写入到第一存储空间中之后,获取创建请求,其中,创建请求用于请求创建虚拟机;
[0099]
确定模块,用于在存储区域网络中的所有镜像中,确定用于创建虚拟机的第一镜像;
[0100]
第二创建模块,用于使用第一镜像创建虚拟机。
[0101]
可选地,本实施例中,在将目标镜像存储到第一存储空间中之后,可以接收创建请求,创建请求用于请求创建虚拟机。在接收到创建虚拟机的创建请求之后,可以确定所要创建的虚拟机对应的镜像。不同的镜像对应创建不同的虚拟机。根据创建请求确定出要创建虚拟机的第一镜像,然后通过第一镜像创建虚拟机。
[0102]
作为一种可选的实施方式,上述确定模块包括:
[0103]
查找单元,用于根据创建请求中所包含的镜像的目标标志,在存储区域网络中的所有镜像中,查找镜像的镜像标志与目标标志相同的镜像;
[0104]
确定单元,用于将查找到的镜像确定为第一镜像。
[0105]
可选地,本实施例中,可以根据创建请求中包含的镜像的目标标志,来确定创建虚拟机所要使用的第一镜像。在获取到创建请求之后,获取到创建请求中的镜像的目标标志,
然后将该标志与所有镜像的镜像标志进行比对,从所有镜像中确定出标志与目标标志相同的镜像,作为第一镜像,来创建虚拟机。
[0106]
作为一种可选的实施方式,上述第二创建模块包括:
[0107]
映射单元,用于将第一存储空间中的第一镜像映射到第二存储空间中,从而创建虚拟机。
[0108]
可选地,本实施例中,在确定了创建虚拟机的第一镜像之后,第一镜像存储在第一存储空间中。可以将第一镜像映射到第二存储空间中,从而创建虚拟机。
[0109]
根据本发明实施例的又一方面,还提供了一种用于实施上述存储区域网络的镜像存储方法的电子设备,该电子设备可以包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为通过计算机程序执行上述的存储区域网络的镜像存储方法中的步骤。
[0110]
根据本发明的实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述存储区域网络的镜像存储方法中的步骤。
[0111]
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-only memory,rom)、随机存取器(random access memory,ram)、磁盘或光盘等。
[0112]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0113]
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
[0114]
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0115]
在本技术所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0116]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0117]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单
元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0118]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1