一种基于分布式数据库的备份还原方法技术

技术编号:33288735 阅读:22 留言:0更新日期:2022-05-01 00:02
本发明专利技术公开了一种基于分布式数据库的备份还原方法,涉及计算机编码软件数据技术领域,该方法备份还原的对象是序列和视图,在实现备份还原数据库的时候,视图和序列也同样能够被备份还原,且备份还原后的对象所存在的依赖关系依然存在,并可通过参数设置跳过所述的视图和序列的还原,只还原数据表;所述视图和序列的备份,将需要备份的对象以Descriptor的形式进行返回,并进行进行相关的权限的检查;所述视图和序列的还原,根据备份的文件,解析出需要还原的对象,根据解析出来的descriptor进行重写及权限检查。本发明专利技术能够更好的备份数据库更多的对象,也能够对多种对象进行相应的备份还原,能够让国产数据库更加完善。能够让国产数据库更加完善。能够让国产数据库更加完善。

【技术实现步骤摘要】
一种基于分布式数据库的备份还原方法


[0001]本专利技术涉及计算机编码软件数据
,具体地说是一种基于分布式数据库的备份还原方法。

技术介绍

[0002]数据里的删除操作都是不可修复的,有时可能因为误操作删除了数据表里的数据,或者因为其他原因数据库崩溃了,所有数据丢失了,尤其是数据库里存在大量的有用数据的时候,这时你要是从头再录入一遍数据那是不可能的了,这就是备份数据库的作用,把数据库备份,当出现上面的情况后,可以通过备份文件,恢复以前的数据库。当前的数据库大部分只支持数据库表,模式和数据库的备份还原,对于这些对象的备份还原是能够支持的,但是对于其他比较常见的对象,例如视图和序列等,对于这些数据库中比较常见的数据,我们也是希望能够进行类似表的备份还原的,通过备份还原多种对象的操作,我们可以把还原重新加以使用。

技术实现思路

[0003]本专利技术的技术任务是针对以上不足之处,提供一种基于分布式数据库的备份还原方法,能够更好的备份数据库更多的对象,也能够对多种对象进行相应的备份还原,能够让国产数据库更加完善,备份还原体系也更加健全合理。
[0004]本专利技术解决其技术问题所采用的技术方案是:
[0005]一种基于分布式数据库的备份还原方法,该方法备份还原的对象是序列和视图,在实现备份还原数据库的时候,视图和序列也同样能够被备份还原,且备份还原后的对象所存在的依赖关系依然存在,并可通过参数设置跳过所述的视图和序列的还原,只还原数据表;
[0006]所述视图和序列的备份,将需要备份的对象以Descriptor的形式进行返回,并进行进行相关的权限的检查;
[0007]所述视图和序列的还原,根据备份的文件,解析出需要还原的对象,根据解析出来的descriptor进行重写及权限检查。
[0008]本方法基于国产的分布式数据库ZNBase的语法规则,主要是针对数据库的序列和视图两种对象,在数据库中没有对他们完成备份还原的方法,只有对表进行相关的备份还原,该方法就是在对表进行备份还原的基础上,实现对数据库视图及序列进行备份还原,从而实现了多种对象的备份还原。
[0009]同时在整库整模式的备份还原中,也实现了对其中序列和视图的备份还原,使得整体备份还原的对象更加完善,不仅仅局限于数据表。
[0010]优选的,对于视图备份,序列的操作中,类比备份表的操作语法:Dump view v1
……
的语法格式,将所需要的视图进行相应的备份;对于序列备份,采用的语法也是类似的:Dump sequence s1
……
的语法格式,进行序列的备份;
[0011]对于视图还原,序列的操作中,同样的类比的是还原表的操作:Load view v1
……
的语法格式,但是如果还原回来的视图所依赖的表不存在的时候,会导致还原的操作不成功,则提示依赖的表不存在;对于序列说,采用Load sequence s1
……
的语法格式,进行序列的还原。
[0012]进一步的,视图和序列的具体备份过程如下:
[0013]S1、检查备份的命令和语句的合理性;
[0014]S2、开始进行备份的工作,获取对象条件信息,包括是否需要加密、压缩;
[0015]S3、获取需要备份的对象,判断需要的对象类型,是表、视图还是等targets等其他的对象;
[0016]S4、将需要备份的对象以Descriptor的形式进行返回,包括视图或序列;
[0017]S5、进行权限的检查,对步骤S4的对象进行相关的权限的检查,备份的对象需要拥有规定的权限才能够进行;
[0018]S6、开始进行备份;
[0019]S7、进行审计工作和打印日志,将备份的信息进行相关的整理,包括备份的对象类型,对象的ID,备份的语句、节点;进行审计和打印日志的操作。
[0020]优选的,所述检查备份的命令和语句的合理性,备份的格式只支持SST格式,对格式进行相应的检查,如果格式不正确的情况直接报错,不再执行。
[0021]进一步的,视图和序列的具体还原过程如下:
[0022]S1、进行相关的还原的准备工作,进行语法的相关的检查,不正确的情况下会报错,退出还原的流程;
[0023]S2、检查压缩、加密的相关信息,如果备份的时候是加密的,那么还原的时候也必须有相应的加密密码和压缩的格式,如果不正确,则会报出相关的错误;
[0024]S3、获取需要还原的对象,根据备份的文件,解析出需要还原的对象类型,是序列还是视图,或者是其他的对象;根据解析出来的descriptor进行接下来的操作,重写和检查等;
[0025]S4、权限的检查,对于想要还原的对象,视图和序列等,进行相关的权限检查;
[0026]S5、重写对象的id;对于还原来说,重写对象是很关键的一步,因为还原操作,还原回来的对象的id和备份出去的id是不一样的,所以需要重新写入;
[0027]S6、进行相关的还原,同时进行相关的重写的id的检查;
[0028]S7、重写相关的依赖,还原的视图,它所依赖的那个表的id不变,但是所依赖的表的dependonby,代表附着的视图的id,应该是需要重新写入,重新添加依赖关系;
[0029]S8、进行审计工作和打印日志,将还原的信息进行相关的整理,包括备份的对象类型,对象的ID,还原的语句、节点;进行审计和打印日志的操作。
[0030]优选的,所述备份中的权限检查,整库的备份必须是root用户才能进行;
[0031]则还原中的权限检查,整库的还原需要root用户,对于单表,单视图和单序列的话,则需要该用户在所在模式的usage权限。
[0032]优选的,设置skip_missing_sequences和skip_missing_views参数,用于跳过还原的序列和视图。
[0033]优选的,在备份还原视图序列的时候,可设置加密和压缩的参数。
[0034]本专利技术还要求保护一种基于分布式数据库的备份还原装置,包括:至少一个存储器和至少一个处理器;
[0035]所述至少一个存储器,用于存储机器可读程序;
[0036]所述至少一个处理器,用于调用所述机器可读程序,执行上述的基于分布式数据库的备份还原方法。
[0037]本专利技术还要求保护计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行上述的基于分布式数据库的备份还原方法。
[0038]本专利技术的一种基于分布式数据库的备份还原方法与现有技术相比,具有以下有益效果:
[0039]本方法具有多样性、适应性和安全性的特点,
[0040]能够更好的备份数据库更多的对象,也能够对多种对象进行相应的备份还原,能够让国产数据库更加完善,备份还原体系也更加健全合理;
[0041]能够更加适应相关的需求,备份还原的对象本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于分布式数据库的备份还原方法,其特征在于,备份还原的对象是序列和视图,在实现备份还原数据库的时候,视图和序列也同样能够被备份还原,且备份还原后的对象所存在的依赖关系依然存在,并可通过参数设置跳过所述的视图和序列的还原,只还原数据表;所述视图和序列的备份,将需要备份的对象以Descriptor的形式进行返回,并进行进行相关的权限的检查;所述视图和序列的还原,根据备份的文件,解析出需要还原的对象,根据解析出来的descriptor进行重写及权限检查。2.根据权利要求1所述的一种基于分布式数据库的备份还原方法,其特征在于,对于视图备份,序列的操作中,采用Dump view v1
……
的语法格式,将所需要的视图进行相应的备份;对于序列备份,采用Dump sequence s1
……
的语法格式,进行序列的备份;对于视图还原,序列的操作中,采用Load view v1
……
的语法格式,但是如果还原回来的视图所依赖的表不存在的时候,导致还原的操作不成功,则提示依赖的表不存在;对于序列说,采用Load sequence s1
……
的语法格式,进行序列的还原。3.根据权利要求1或2所述的一种基于分布式数据库的备份还原方法,其特征在于,视图和序列的具体备份过程如下:S1、检查备份的命令和语句的合理性;S2、开始进行备份的工作,获取对象条件信息,包括是否需要加密、压缩;S3、获取需要备份的对象,判断需要的对象类型;S4、将需要备份的对象以Descriptor的形式进行返回,包括视图或序列;S5、对步骤S4的对象进行相关的权限的检查,备份的对象需要拥有规定的权限才能够进行;S6、开始进行备份;S7、进行审计工作和打印日志,将备份的信息进行相关的整理,包括备份的对象类型,对象的ID,备份的语句、节点。4.根据权利要求3所述的一种基于分布式数据库的备份还原方法,其特征在于,所述检查备份的命令和语句的合理性,备份的格式只支持SST格式,对格式进行相应的检查,如果格式不正...

【专利技术属性】
技术研发人员:刘文硕江磊田祥雨
申请(专利权)人:山东浪潮科学研究院有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1