一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种云平台共享文件存储的通用克隆方法及装置与流程

2022-02-19 00:56:40 来源:中国专利 TAG:


1.本发明属于云存储技术领域,具体涉及一种云平台共享文件存储的通用克隆方法及装置。


背景技术:

2.基于多架构的云平台,通过计算服务实现不同硬件架构上的多种虚拟化的统一管理和调度,提供统一的云服务资源池,快速动态进行资源伸缩,实现对业务服务需求的快速响应。
3.基于多架构的云平台上,首先manila是openstack中的一个重要组件,为openstack提供共享文件存储服务,供云主机方便地使用共享文件系统。
4.在云平台操作系统上,用户可以通过manila服务方便地创建文件存储类型,不同的存储类型可以对应不同的底层存储,选择任意一个文件存储类型,最终通过对应驱动完成底层共享文件目录的创建。若想在云主机内使用该文件存储,需要进入云主机,linux系统手动执行挂载命令,将文件存储导出路径挂载到本地目录才能使用;windows系统需要手动映射一个网络驱动器到一个分区,并且需要账号密码认证才能够使用。
5.随着云平台上一个文件存储的使用,由于业务原因,会出现将某个文件存储克隆一份出来供其他项目的云主机使用的需求。但是云平台目前没有针对共享文件存储的通用的克隆方法,只能手动挂载到一个云主机拷贝,拷贝速度慢且步骤繁琐;而且如果底层存储不同,无法做到跨底层存储克隆文件存储,且无法自动设置相关参数。
6.此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种云平台共享文件存储的通用克隆方法及装置,是非常有必要的。


技术实现要素:

7.针对现有技术的上述现云平台没有针对共享文件存储的通用克隆方法,而只能手动挂载拷贝,速度慢,且无法跨底层存储克隆,以及无法自动设置相关参数的缺陷,本发明提供一种云平台共享文件存储的通用克隆方法及装置,以解决上述技术问题。
8.第一方面,本发明提供一种云平台共享文件存储的通用克隆方法,包括如下步骤:
9.s1.基于云平台创建文件存储类型,并通过文件存储类型创建源文件存储;
10.s2.获取用户的文件存储克隆请求,解析出源文件存储类型及目标文件存储类型,并判断源文件存储类型与目标文件存储类型是否对应相同的后端存储;
11.若是,进入步骤s3;
12.若否,进入步骤s4;
13.s3.根据源文件存储创建第一临时快照,并通过第一临时快照创建新的文件存储,以及通过源文件存储的访问控制信息对新文件存储的访问控制信息进行设置;
14.s4.对源文件存储创建第二临时快照,并通过第二临时快照创建第一共享文件存储,以及创建第二共享文件存储,然后挂载第一共享文件存储及第二共享文件存储到临时
目录,并在第二共享文件存储创建文件夹,对第一共享文件存储进行复制,在复制完成后设置第二共享文件存储的访问控制信息。
15.进一步地,步骤s1具体步骤如下:
16.s11.基于云平台创建文件存储类型,不同文件存储类型对应不同后端存储;
17.s12.选择文件存储类型,使用选择的文件存储类型创建源文件存储。文件存储类型与后端存储为一一对应关系。
18.进一步地,步骤s2具体步骤如下:
19.s21.在云平台操作系统内选择一个源文件存储,指定目标文件存储类型,生成文件存储克隆请求,并将文件存储克隆请求发送到manila的api接口;
20.s22.manila的api接口对文件存储克隆请求进行校验,并在校验通过后,将文件存储克隆请求通过消息队列发送到manila的分享组件;
21.s23.判断源文件存储类型与目标文件存储类型是否对应相同的后端存储;
22.若是,进入步骤s3;
23.若否,进入步骤s4。用于通过云平台选择要进行克隆的源文件存储以及制定目标文件的所在后端存储应存储类型。manila的分享组件用于实施克隆过程,进行临时快照创建、数据拷贝、元数据拷贝、权限重写以及数据校验,从而保证克隆文件的完整性。
24.进一步地,步骤s22具体步骤如下:
25.s221.manila的api接口判断源文件存储是否支持快照创建;
26.若是,进入步骤s225;
27.若否,进入步骤s222;
28.s222.manila的api接口判断文件存储的状态是否可用;
29.若是,进入步骤s223;
30.若否,进入步骤s225;
31.s223.manila的api接口解析文件存储克隆请求的参数生成消息,并消息通过消息队列发送到manila调度器;
32.s224.manila调度器通过容量调度,将消息发送到对应的manila的分享组件,进入步骤s23;
33.s225.manila的api接口返回报错,结束。manila调度器通过容量调度选择合适的manila分享组件进行克隆。
34.进一步地,步骤s3具体步骤如下:
35.s31.manila的分享组件对源文件存储创建第一临时快照,并使用第一临时快照创建新的文件存储;
36.s32.manila的分享组件读取源文件存储的访问控制信息,并通过克隆接口设置新的文件存储的访问控制信息;
37.s33.源文件存储到新的文件存储克隆完成,删除第一临时快照。对于相同后端存储的克隆,通过临时快照创建文件存储,从而减少克隆时间。
38.进一步地,步骤s4具体步骤如下:
39.s41.manila的分享组件对源文件存储创建第二临时快照,使用第二临时快照在源文件存储的后端存储创建第一共享文件存储,同时在目标文件存储的厚度存储创建第二共
享文件存储;
40.s42.manila的分享组件通过读取配置文件获取宿主机的临时挂载目录,将临时挂载目录生成消息,再通过消息队列将消息发送给manila的数据组件;
41.s43.manila的数据组件挂载第一共享文件存储和第二共享文件存储到宿主机的临时挂载目录,再通过拷贝命令将第一共享文件存储的数据拷贝到第二共享文件存储;
42.s44.持续查询克隆进程的回显信息,获取到拷贝数据的进度,判断文件迁移是否完成;
43.若是,进入步骤s45;
44.若否,返回步骤s44;
45.s45.manila的数据组件在宿主机上卸载第一共享文件存储和第二共享文件存储的挂载点;
46.s46.manila的分享组件删除第二临时快照和第一共享文件存储,并读取源文件存储的访问控制信息,设置第二共享文件存储的访问控制信息。对于不同后端存储,通过云平台作为中间层,消除不同后端存储间的差异,从而完成共享文件存储在底层后端存储间的克隆。
47.第二方面,本发明提供一种云平台共享文件存储的通用克隆装置,包括:
48.源文件存创建模块,用于基于云平台创建文件存储类型,并通过文件存储类型创建源文件存储;
49.后端存储判断模块,用于获取用户的文件存储克隆请求,解析出源文件存储类型及目标文件存储类型,并判断源文件存储类型与目标文件存储类型是否对应相同的后端存储;
50.同类型后端存储克隆模块,用于当源文件存储类型与目标文件存储类型为相同的后端存储时,根据源文件存储创建第一临时快照,并通过第一临时快照创建新的文件存储,以及通过源文件存储的访问控制信息对新文件存储的访问控制信息进行设置;
51.不同类型后端存储克隆模块,用于当源文件存储类型与目标文件存储类型为不同的后端存储时,对源文件存储创建第二临时快照,并通过第二临时快照创建第一共享文件存储,以及创建第二共享文件存储,然后挂载第一共享文件存储及第二共享文件存储到临时目录,并在第二共享文件存储创建文件夹,对第一共享文件存储进行复制,在复制完成后设置第二共享文件存储的访问控制信息。
52.进一步地,源文件存创建模块包括:
53.文件存储类型创建单元,用于基于云平台创建文件存储类型,不同文件存储类型对应不同后端存储;
54.源文件存创建单元,用于选择文件存储类型,使用选择的文件存储类型创建源文件存储;
55.后端存储判断模块包括:
56.克隆请求发送单元,用于在云平台操作系统内选择一个源文件存储,指定目标文件存储类型,生成文件存储克隆请求,并将文件存储克隆请求发送到manila的api接口;
57.克隆请求校验单元,用于通过manila的api接口对文件存储克隆请求进行校验,并在校验通过后,将文件存储克隆请求通过消息队列发送到manila的分享组件;
58.后端存储判断单元,用于判断源文件存储类型与目标文件存储类型是否对应相同的后端存储。
59.进一步地,同类型后端存储克隆模块包括:
60.新文件存储创建单元,用于通过manila的分享组件对源文件存储创建第一临时快照,并使用第一临时快照创建新的文件存储;
61.访问控制信息第一克隆单元,用于通过manila的分享组件读取源文件存储的访问控制信息,并通过克隆接口设置新的文件存储的访问控制信息;
62.第一临时快照删除单元,用于在源文件存储到新的文件存储克隆完成时,删除第一临时快照。
63.进一步地,不同类型后端存储克隆模块包括:
64.两个共享文件存储创建单元,用于通过manila的分享组件对源文件存储创建第二临时快照,使用第二临时快照在源文件存储的后端存储创建第一共享文件存储,同时在目标文件存储的厚度存储创建第二共享文件存储;
65.临时挂载目录获取单元,用于通过manila的分享组件读取配置文件获取宿主机的临时挂载目录,将临时挂载目录生成消息,再通过消息队列将消息发送给manila的数据组件;
66.拷贝启动单元,用于manila的数据组件挂载第一共享文件存储和第二共享文件存储到宿主机的临时挂载目录,再通过拷贝命令将第一共享文件存储的数据拷贝到第二共享文件存储;
67.拷贝进程查询及文件迁移判断单元,用于持续查询克隆进程的回显信息,获取到拷贝数据的进度,判断文件迁移是否完成;
68.挂载点卸载单元,用于文件迁移完成时,通过manila的数据组件在宿主机上卸载第一共享文件存储和第二共享文件存储的挂载点;
69.第二临时快照删除及访问控制信息克隆单元,用于通过manila的分享组件删除第二临时快照和第一共享文件存储,并读取源文件存储的访问控制信息,设置第二共享文件存储的访问控制信息。
70.本发明的有益效果在于,
71.本发明提供的云平台共享文件存储的通用克隆方法及装置,基于云平台针对不同后端存储的共享文件存进行无差不别的数据克隆,针对相同后端存储的共享文件存储利用存储能力加速克隆;本发明实现用户通过云平台层面进行底层共享文件存储的乐控,屏蔽掉底层存储差异,并可将云平台层面的元数据、访问控制信息进行同步克隆,提高云平台的通用性和可用性。
72.此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
73.由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
74.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而
言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
75.图1是本发明的云平台共享文件存储的通用克隆方法实施例1流程示意图。
76.图2是本发明的云平台共享文件存储的通用克隆方法实施例2流程示意图。
77.图3是本发明的云平台共享文件存储的通用克隆装置示意图。
78.图中,1

源文件存创建模块;1.1

文件存储类型创建单元;1.2

源文件存创建单元;2

后端存储判断模块;2.1

克隆请求发送单元;2.2

克隆请求校验单元;2.3

后端存储判断单元;3

同类型后端存储克隆模块;3.1

新文件存储创建单元;3.2

访问控制信息第一克隆单元;3.3

第一临时快照删除单元;4

不同类型后端存储克隆模块;4.1

两个共享文件存储创建单元;4.2

临时挂载目录获取单元;4.3

拷贝启动单元;4.4

拷贝进程查询及文件迁移判断单元;4.5

挂载点卸载单元;4.6

第二临时快照删除及访问控制信息克隆单元。
具体实施方式
79.为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
80.api,application programming interface的简称,应用程序接口,是一些预先定义的接口。
81.实施例1:
82.如图1所示,本发明提供一种云平台共享文件存储的通用克隆方法,包括如下步骤:
83.s1.基于云平台创建文件存储类型,并通过文件存储类型创建源文件存储;
84.s2.获取用户的文件存储克隆请求,解析出源文件存储类型及目标文件存储类型,并判断源文件存储类型与目标文件存储类型是否对应相同的后端存储;
85.若是,进入步骤s3;
86.若否,进入步骤s4;
87.s3.根据源文件存储创建第一临时快照,并通过第一临时快照创建新的文件存储,以及通过源文件存储的访问控制信息对新文件存储的访问控制信息进行设置;
88.s4.对源文件存储创建第二临时快照,并通过第二临时快照创建第一共享文件存储,以及创建第二共享文件存储,然后挂载第一共享文件存储及第二共享文件存储到临时目录,并在第二共享文件存储创建文件夹,对第一共享文件存储进行复制,在复制完成后设置第二共享文件存储的访问控制信息。
89.实施例2:
90.如图2所示,本发明提供一种云平台共享文件存储的通用克隆方法,包括如下步骤:
91.s1.基于云平台创建文件存储类型,并通过文件存储类型创建源文件存储;具体步骤如下:
92.s11.基于云平台创建文件存储类型,不同文件存储类型对应不同后端存储;
93.s12.选择文件存储类型,使用选择的文件存储类型创建源文件存储;
94.s2.获取用户的文件存储克隆请求,解析出源文件存储类型及目标文件存储类型,并判断源文件存储类型与目标文件存储类型是否对应相同的后端存储;具体步骤如下:
95.s21.在云平台操作系统内选择一个源文件存储,指定目标文件存储类型,生成文件存储克隆请求,并将文件存储克隆请求发送到manila的api接口;
96.s22.manila的api接口对文件存储克隆请求进行校验,并在校验通过后,将文件存储克隆请求通过消息队列发送到manila的分享组件;消息队列采用rabbit mq消息队列;具体步骤如下:
97.s221.manila的api接口判断源文件存储是否支持快照创建;
98.若是,进入步骤s225;
99.若否,进入步骤s222;
100.s222.manila的api接口判断文件存储的状态是否可用;
101.若是,进入步骤s223;
102.若否,进入步骤s225;
103.s223.manila的api接口解析文件存储克隆请求的参数生成消息,并消息通过消息队列发送到manila调度器;
104.s224.manila调度器通过容量调度,将消息发送到对应的manila的分享组件,进入步骤s23;
105.s225.manila的api接口返回报错,结束;
106.s23.判断源文件存储类型与目标文件存储类型是否对应相同的后端存储;
107.若是,进入步骤s3;
108.若否,进入步骤s4;
109.s3.根据源文件存储创建第一临时快照,并通过第一临时快照创建新的文件存储,以及通过源文件存储的访问控制信息对新文件存储的访问控制信息进行设置;具体步骤如下:
110.s31.manila的分享组件对源文件存储创建第一临时快照,并使用第一临时快照创建新的文件存储;
111.s32.manila的分享组件读取源文件存储的访问控制信息,并通过克隆接口设置新的文件存储的访问控制信息;
112.s33.源文件存储到新的文件存储克隆完成,删除第一临时快照;
113.s4.对源文件存储创建第二临时快照,并通过第二临时快照创建第一共享文件存储,以及创建第二共享文件存储,然后挂载第一共享文件存储及第二共享文件存储到临时目录,并在第二共享文件存储创建文件夹,对第一共享文件存储进行复制,在复制完成后设置第二共享文件存储的访问控制信息;具体步骤如下:
114.s41.manila的分享组件对源文件存储创建第二临时快照,使用第二临时快照在源文件存储的后端存储创建第一共享文件存储,同时在目标文件存储的厚度存储创建第二共享文件存储;
115.s42.manila的分享组件通过读取配置文件获取宿主机的临时挂载目录,将临时挂载目录生成消息,再通过消息队列将消息发送给manila的数据组件;
116.s43.manila的数据组件挂载第一共享文件存储和第二共享文件存储到宿主机的临时挂载目录,再通过拷贝命令“partclone.dd

s/mnt/source_dir

o/mnt/dest_dir”将第一共享文件存储的数据拷贝到第二共享文件存储;
117.s44.持续查询克隆进程partclone.dd的回显信息,获取到拷贝数据的进度,判断文件迁移是否完成;
118.若是,进入步骤s45;
119.若否,返回步骤s44;
120.s45.manila的数据组件在宿主机上卸载第一共享文件存储和第二共享文件存储的挂载点;
121.s46.manila的分享组件删除第二临时快照和第一共享文件存储,并读取源文件存储的访问控制信息,设置第二共享文件存储的访问控制信息。
122.实施例3:
123.如图3所示,本发明提供一种云平台共享文件存储的通用克隆装置,包括:
124.源文件存创建模块1,用于基于云平台创建文件存储类型,并通过文件存储类型创建源文件存储;源文件存创建模块1包括:
125.文件存储类型创建单元1.1,用于基于云平台创建文件存储类型,不同文件存储类型对应不同后端存储;
126.源文件存创建单元1.2,用于选择文件存储类型,使用选择的文件存储类型创建源文件存储;
127.后端存储判断模块2,用于获取用户的文件存储克隆请求,解析出源文件存储类型及目标文件存储类型,并判断源文件存储类型与目标文件存储类型是否对应相同的后端存储;后端存储判断模块2包括:
128.克隆请求发送单元2.1,用于在云平台操作系统内选择一个源文件存储,指定目标文件存储类型,生成文件存储克隆请求,并将文件存储克隆请求发送到manila的api接口;
129.克隆请求校验单元2.2,用于通过manila的api接口对文件存储克隆请求进行校验,并在校验通过后,将文件存储克隆请求通过消息队列发送到manila的分享组件;
130.后端存储判断单元2.3,用于判断源文件存储类型与目标文件存储类型是否对应相同的后端存储;
131.同类型后端存储克隆模块3,用于当源文件存储类型与目标文件存储类型为相同的后端存储时,根据源文件存储创建第一临时快照,并通过第一临时快照创建新的文件存储,以及通过源文件存储的访问控制信息对新文件存储的访问控制信息进行设置;同类型后端存储克隆模块3包括:
132.新文件存储创建单元3.1,用于通过manila的分享组件对源文件存储创建第一临时快照,并使用第一临时快照创建新的文件存储;
133.访问控制信息第一克隆单元3.2,用于通过manila的分享组件读取源文件存储的访问控制信息,并通过克隆接口设置新的文件存储的访问控制信息;
134.第一临时快照删除单元3.3,用于在源文件存储到新的文件存储克隆完成时,删除第一临时快照;
135.不同类型后端存储克隆模块4,用于当源文件存储类型与目标文件存储类型为不
同的后端存储时,对源文件存储创建第二临时快照,并通过第二临时快照创建第一共享文件存储,以及创建第二共享文件存储,然后挂载第一共享文件存储及第二共享文件存储到临时目录,并在第二共享文件存储创建文件夹,对第一共享文件存储进行复制,在复制完成后设置第二共享文件存储的访问控制信息;不同类型后端存储克隆模块4包括:
136.两个共享文件存储创建单元4.1,用于通过manila的分享组件对源文件存储创建第二临时快照,使用第二临时快照在源文件存储的后端存储创建第一共享文件存储,同时在目标文件存储的厚度存储创建第二共享文件存储;
137.临时挂载目录获取单元4.2,用于通过manila的分享组件读取配置文件获取宿主机的临时挂载目录,将临时挂载目录生成消息,再通过消息队列将消息发送给manila的数据组件;
138.拷贝启动单元4.3,用于manila的数据组件挂载第一共享文件存储和第二共享文件存储到宿主机的临时挂载目录,再通过拷贝命令将第一共享文件存储的数据拷贝到第二共享文件存储;
139.拷贝进程查询及文件迁移判断单元4.4,用于持续查询克隆进程的回显信息,获取到拷贝数据的进度,判断文件迁移是否完成;
140.挂载点卸载单元4.5,用于文件迁移完成时,通过manila的数据组件在宿主机上卸载第一共享文件存储和第二共享文件存储的挂载点;
141.第二临时快照删除及访问控制信息克隆单元4.6,用于通过manila的分享组件删除第二临时快照和第一共享文件存储,并读取源文件存储的访问控制信息,设置第二共享文件存储的访问控制信息。
142.尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献