[发明专利]基于openGauss平台的高速数据导入导出方法在审

专利信息
申请号: 202111214816.0 申请日: 2021-10-19
公开(公告)号: CN113886395A 公开(公告)日: 2022-01-04
发明(设计)人: 张文龙;何小栋 申请(专利权)人: 广州海量数据库技术有限公司
主分类号: G06F16/22 分类号: G06F16/22;G06F16/242;G06F16/23;G06F21/60
代理公司: 北京尚钺知识产权代理事务所(普通合伙) 11723 代理人: 王海荣
地址: 510510 广东省广州市天河区建*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 opengauss 平台 高速 数据 导入 导出 方法
【权利要求书】:

1.一种基于openGauss平台的高速数据导入导出方法,其特征在于:

所述高速数据导出方法包括:首先通过SQL命令查询所需要导出对象的元数据,并将这些元数据保存到元数据文件中;然后根据表对象的oid,在源库的数据目录下,找到与其对应的表数据文件、可见性映射文件和空闲空间映射文件,最后以文件的方式将上述文件拷贝到导出的目录中;

所述高速数据导入方法包括:首先进行元数据导入,在新库中创建表对象;之后再将表数据文件、可见性映射文件和空闲空间映射文件拷贝到对应数据目录下,替换导入元数据时生成的表数据文件。

2.根据权利要求1所述的高速数据导入导出方法,其特征在于,在进行高速数据导入的过程中,当表数据文件导入后,对数据文件中所有记录进行可见性更新,以确保导入的数据可以正常使用;最后对导入的表重建索引,生成索引数据文件。

3.根据权利要求1所述的高速数据导入导出方法,其特征在于,所述方法具体包括以下步骤:

高速数据导出方法包括:

步骤一:输入导出命令与控制参数,解析该命令与参数;通过连接参数连接数据库,并将其他参数设置为本次导出的属性;

步骤二:判断导出属性选择相应的导出策略,导出策略分两种,一种是仅导出元数据,即对象定义;另一种是将元数据与表数据全部导出,该导出策略通过传入的参数项来判定;

步骤三:若选择第一种策略,则先通过SQL命令从系统表中查询所需要导出对象的元数据,并将这些元数据转换为DDL语言,然后按照指定格式进行存储,相同的对象类型为一类,对应一份元数据文件;

步骤四:若选择第二种策略,则先根据策略一的方案,进行元数据的导出,并保存成元数据文件;之后再导出关联的表数据文件,在源库目录下,直接将所涉及的表数据文件拷贝至导出目录下,一个表对象对应至少一个表数据文件,如果有多个表数据文件,则需要全部拷贝;

步骤五:导出元数据和表数据之后,根据表的oid标识,生成表对象与表数据文件的映射关系文件,即一个oid标识对应多个以该oid为前缀的表数据文件的关系,并在导入的过程中进行使用;

步骤六:对于索引对象,只导出其元数据文件,并将之转换成DDL语言,不导出索引数据文件;

步骤七:对导出的元数据文件、表数据文件以及表对象与表数据文件的映射关系文件进行加密;

步骤八:对加密之后的表数据文件进行压缩处理,减少大表数据文件对磁盘空间的占用;

步骤九:对上述加密压缩之后的文件进行统一的打包处理,以便在其他设备上进行导入操作;

高速数据导入方法包括:

步骤A:输入导入命令与控制参数,解析该命令与参数;通过连接参数连接数据库;

步骤B:先对需要导入的文件进行解压处理,获得加密的元数据DDL文件、表数据文件以及表对象与表数据文件的映射关系文件;然后对上述三类文件进行解密,获得解密后的文件;

步骤C:通过SQL命令先导入元数据文件,在此过程中,导入除索引以外的元数据,并通过DDL定义来创建相关对象;

步骤D:检查当前导入的对象中是否有表,以及是否存在对应的表数据文件;若不存在表数据文件,则完成当前元数据的导入;若存在表数据文件,则根据导入参数判断,是否需要导入表数据文件;

步骤E:若不需要导入表数据文件,则完成当前元数据的导入;若需要导入表数据文件,则根据表对象与表数据文件的映射关系,将对应的所有表数据文件拷贝到导入目标库的数据目录下,替换在创建表对象时新生成的空数据文件;

步骤F:如果导入的对象与目标库中的现有对象名称冲突,根据命令参数来判断是否覆盖旧的对象,若不覆盖则跳过不进行导入,若覆盖,则先删除之前的对象,再使用DDL语句进行新对象的创建及文件覆盖;

步骤G:根据openGauss的MVCC特性,获取目标库当前最新事务id,并获取改表的共享锁,启用多线程对数据文件中所有元组进行可见性更新,修改元组信息中创建元组的事务id标识,以确保数据导入后,其元组对未来事务的可见性与源库一致,更新完所有数据文件的元组信息后,释放共享锁;

步骤H:导入索引元数据,重建相应表对象上的索引信息,自动生成新的索引数据文件;

步骤I:最后调用vacuum命令,对新导入的表进行惰性清理操作,将该表中的无效元组进行清除,并生成最新的可见性映射文件oid_vm,以及空闲空间映射文件oid_fsm,以提高导入的表在目标库中的元组扫描效率。

4.权利要求1-3任一项所述的高速数据导入导出方法在数据库管理系统中的应用。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州海量数据库技术有限公司,未经广州海量数据库技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202111214816.0/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top