本技术涉及数据处理,特别是涉及一种元数据的克隆方法、装置、系统、计算机设备、存储介质和计算机程序产品。
背景技术:
1、在数据库中,元数据是数据内容的基础骨架。在读写分离、均衡负载、多活灾备、验证筹备等重要场景下,存在着大量支持高斯数据库用户在权限所属范围内,发起和掌控多类对象元数据克隆重建的需求。
2、以高斯数据库(gaussdb)为例,相关技术中采用数据库厂商自身提供的一种“gs_dump(导出)+gs_restore(导入)”工具进行数据导入和导出,该方案仅支持涵盖数据内容的整库备份迁移,导致资源消耗严重且存在数据泄露风险,数据安全性差。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够提高数据安全性的元数据的克隆方法、装置、系统、计算机设备、计算机可读存储介质和计算机程序产品。
2、第一方面,本技术提供了一种元数据的克隆方法,所述方法包括:
3、在满足元数据克隆工作流的启动条件时,针对所述元数据克隆工作流所指定的源端数据源及目的数据源,采用所述元数据克隆工作流指定的元数据对象属主连接所述源端数据源,并调用所述源端数据源中预先部署的待克隆对象清单提取函数,通过所述待克隆对象清单提取函数基于所述元数据对象属主及所述元数据克隆工作流所指定的元数据对象类型,从所述源端数据源中提取待克隆对象清单;
4、调用所述源端数据源中预先部署的元数据定义信息提取函数,通过所述元数据定义信息提取函数从所述源端数据源中提取各所述待克隆对象的元数据定义信息,将所述元数据定义信息存储至所述源端数据源中的第一元数据转储表中;
5、将所述第一元数据转储表中存储的目标元数据信息,传输至所述目的数据源中的第二元数据转储表中,并对所述第二元数据转储表中存储的元数据信息进行重建,得到目标元数据。
6、在其中一个实施例中,所述方法还包括:
7、响应于目标用户在工作流创建界面中针对各克隆参数项的输入操作,获取各所述克隆参数项的参数信息;
8、响应于目标用户在工作流创建界面中针对元数据克隆工作流的创建操作,调用工作流模版,基于所述工作流模版及各所述克隆参数项的参数信息,创建所述元数据克隆工作流。
9、在其中一个实施例中,所述克隆参数项包括:调度属主用户、归属调度项目、源端数据源、目的数据源、元数据对象类型、元数据对象属主。
10、在其中一个实施例中,所述方法还包括:
11、确定所述源端数据源及所述目的数据源中是否已创建元数据转储表,在所述源端数据源和/或所述目的数据源中未创建所述元数据转储表的情况下,在所述源端数据源和/或所述目的数据源中创建所述元数据转储表。
12、在其中一个实施例中,所述将所述第一元数据转储表中存储的目标元数据信息,传输至所述目的数据源中的第二元数据转储表中,包括:
13、针对所述第一元数据转储表中存储的任一目标元数据信息,确定所述目标数据源中的第二元数据转储表中是否存在与所述目标元数据信息重合的待更新元数据信息;
14、在所述第二元数据转储表中存在所述待更新元数据信息的情况下,根据所述目标元数据信息对所述待更新元数据信息进行更新处理;
15、在所述第二元数据转储表中不存在所述待更新元数据信息的情况下,将所述目标元数据信息存储至所述第二元数据转储表中。
16、在其中一个实施例中,所述克隆参数项还包括转储条件,所述方法还包括:
17、根据所述元数据克隆工作流所指定的转储条件,从所述第一元数据转储表中确定目标元数据信息。
18、第二方面,本技术还提供了一种元数据的克隆系统,所述系统包括:克隆设备、源端数据源、目标数据源,所述源端数据源中部署有待克隆对象提取模块和元数据定义信息提取模块,所述待克隆对象提取模块中部署有待克隆对象清单提取函数,所述元数据定义信息提取模块中部署有元数据定义信息提取函数,其中,
19、所述克隆设备,用于在满足所述元数据克隆工作流的启动条件时,针对所述元数据克隆工作流所指定的源端数据源及目的数据源,采用所述元数据克隆工作流指定的元数据对象属主连接所述源端数据源,并调用待克隆对象提取模块和所述元数据定义信息提取模块;
20、所述待克隆对象提取模块,用于基于所述元数据对象属主及所述元数据克隆工作流所指定的元数据对象类型,从所述源端数据源中提取得到待克隆对象清单,所述待克隆对象清单中包括至少一个待克隆对象;
21、所述元数据定义信息提取模块,用于从所述源端数据源中提取各所述待克隆对象的元数据定义信息,将所述元数据定义信息存储至所述源端数据源中的第一元数据转储表中;
22、所述克隆设备,还用于将所述第一元数据转储表中存储的目标元数据信息,传输至所述目的数据源中的第二元数据转储表中,并对所述第二元数据转储表中存储的元数据信息进行重建,得到目标元数据。
23、第三方面,本技术还提供了一种元数据的克隆装置,所述装置包括:
24、第一处理模块,用于在满足元数据克隆工作流的启动条件时,针对所述元数据克隆工作流所指定的源端数据源及目的数据源,采用所述元数据克隆工作流指定的元数据对象属主连接所述源端数据源,并调用所述源端数据源中预先部署的待克隆对象清单提取函数,通过所述待克隆对象清单提取函数基于所述元数据对象属主及所述元数据克隆工作流所指定的元数据对象类型,从所述源端数据源中提取得到待克隆对象清单,所述待克隆对象清单中包括至少一个待克隆对象;
25、第二处理模块,用于调用所述源端数据源中预先部署的元数据定义信息提取函数,通过所述元数据定义信息提取函数从所述源端数据源中提取各所述待克隆对象的元数据定义信息,将所述元数据定义信息存储至所述源端数据源中的第一元数据转储表中;
26、转储重建模块,用于将所述第一元数据转储表中存储的目标元数据信息,传输至所述目的数据源中的第二元数据转储表中,并对所述第二元数据转储表中存储的元数据信息进行重建,得到目标元数据。
27、在其中一个实施例中,所述装置还包括:
28、获取模块,用于响应于目标用户在工作流创建界面中针对各克隆参数项的输入操作,获取各所述克隆参数项的参数信息;
29、创建模块,用于响应于目标用户在工作流创建界面中针对元数据克隆工作流的创建操作,调用工作流模版,基于所述工作流模版及各所述克隆参数项的参数信息,创建所述元数据克隆工作流。
30、在其中一个实施例中,所述克隆参数项包括:调度属主用户、归属调度项目、源端数据源、目的数据源、元数据对象类型、元数据对象属主。
31、在其中一个实施例中,所述装置还包括:
32、第三处理模块,用于确定所述源端数据源及所述目的数据源中是否已创建元数据转储表,在所述源端数据源和/或所述目的数据源中未创建所述元数据转储表的情况下,在所述源端数据源和/或所述目的数据源中创建所述元数据转储表。
33、在其中一个实施例中,所述转储重建模块还用于:
34、针对所述第一元数据转储表中存储的任一目标元数据信息,确定所述目标数据源中的第二元数据转储表中是否存在与所述目标元数据信息重合的待更新元数据信息;
35、在所述第二元数据转储表中存在所述待更新元数据信息的情况下,根据所述目标元数据信息对所述待更新元数据信息进行更新处理;
36、在所述第二元数据转储表中不存在所述待更新元数据信息的情况下,将所述目标元数据信息存储至所述第二元数据转储表中。
37、在其中一个实施例中,所述克隆参数项还包括转储条件,所述装置还包括:
38、确定模块,用于根据所述元数据克隆工作流所指定的转储条件,从所述第一元数据转储表中确定目标元数据信息。
39、第四方面,本技术还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以上任一项元数据的克隆方法。
40、第五方面,本技术还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以上任一项元数据的克隆方法。
41、第六方面,本技术还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以上任一项元数据的克隆方法。
42、上述元数据的克隆方法、装置、系统、计算机设备、存储介质和计算机程序产品,可以在满足元数据克隆工作流的启动条件时,针对元数据克隆工作流所指定的源端数据源及目的数据源,采用元数据克隆工作流指定的元数据对象属主连接源端数据源,并调用源端数据源中预先部署的待克隆对象清单提取函数,通过待克隆对象清单提取函数基于元数据对象属主及元数据克隆工作流所指定的元数据对象类型,从源端数据源中提取得到待克隆对象清单;调用源端数据源中预先部署的元数据定义信息提取函数,通过元数据定义信息提取函数从源端数据源中提取待各待克隆对象的元数据定义信息,将元数据定义信息存储至源端数据源中的第一元数据转储表中;将第一元数据转储表中存储的目标元数据信息,传输至目的数据源中的第二元数据转储表中,并对第二元数据转储表中存储的元数据信息进行重建,得到目标元数据。采用本公开实施例提供的元数据的克隆方法、装置、系统、计算机设备、存储介质和计算机程序产品,可以创建工作流实现元数据克隆,通过该工作流能够实现在元数据克隆过程,仅对指定数据对象的元数据定义信息进行转出,即可重建得到元数据,导出数据量少可以降低资源消耗,且仅导出元数据定义信息,不涉及具体数据内容的导出,可以降低数据泄露的风险,大大提高数据安全性。