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

一种基于分布式数据库的备份还原方法与流程

2022-04-30 10:37:41 来源:中国专利 TAG:
1.本发明涉及计算机编码软件数据
技术领域
:,具体地说是一种基于分布式数据库的备份还原方法。
背景技术
::2.数据里的删除操作都是不可修复的,有时可能因为误操作删除了数据表里的数据,或者因为其他原因数据库崩溃了,所有数据丢失了,尤其是数据库里存在大量的有用数据的时候,这时你要是从头再录入一遍数据那是不可能的了,这就是备份数据库的作用,把数据库备份,当出现上面的情况后,可以通过备份文件,恢复以前的数据库。当前的数据库大部分只支持数据库表,模式和数据库的备份还原,对于这些对象的备份还原是能够支持的,但是对于其他比较常见的对象,例如视图和序列等,对于这些数据库中比较常见的数据,我们也是希望能够进行类似表的备份还原的,通过备份还原多种对象的操作,我们可以把还原重新加以使用。技术实现要素:3.本发明的技术任务是针对以上不足之处,提供一种基于分布式数据库的备份还原方法,能够更好的备份数据库更多的对象,也能够对多种对象进行相应的备份还原,能够让国产数据库更加完善,备份还原体系也更加健全合理。4.本发明解决其技术问题所采用的技术方案是:5.一种基于分布式数据库的备份还原方法,该方法备份还原的对象是序列和视图,在实现备份还原数据库的时候,视图和序列也同样能够被备份还原,且备份还原后的对象所存在的依赖关系依然存在,并可通过参数设置跳过所述的视图和序列的还原,只还原数据表;6.所述视图和序列的备份,将需要备份的对象以descriptor的形式进行返回,并进行进行相关的权限的检查;7.所述视图和序列的还原,根据备份的文件,解析出需要还原的对象,根据解析出来的descriptor进行重写及权限检查。8.本方法基于国产的分布式数据库znbase的语法规则,主要是针对数据库的序列和视图两种对象,在数据库中没有对他们完成备份还原的方法,只有对表进行相关的备份还原,该方法就是在对表进行备份还原的基础上,实现对数据库视图及序列进行备份还原,从而实现了多种对象的备份还原。9.同时在整库整模式的备份还原中,也实现了对其中序列和视图的备份还原,使得整体备份还原的对象更加完善,不仅仅局限于数据表。10.优选的,对于视图备份,序列的操作中,类比备份表的操作语法:dumpviewv1……的语法格式,将所需要的视图进行相应的备份;对于序列备份,采用的语法也是类似的:dumpsequences1……的语法格式,进行序列的备份;11.对于视图还原,序列的操作中,同样的类比的是还原表的操作:loadviewv1……的语法格式,但是如果还原回来的视图所依赖的表不存在的时候,会导致还原的操作不成功,则提示依赖的表不存在;对于序列说,采用loadsequences1……的语法格式,进行序列的还原。12.进一步的,视图和序列的具体备份过程如下:13.s1、检查备份的命令和语句的合理性;14.s2、开始进行备份的工作,获取对象条件信息,包括是否需要加密、压缩;15.s3、获取需要备份的对象,判断需要的对象类型,是表、视图还是等targets等其他的对象;16.s4、将需要备份的对象以descriptor的形式进行返回,包括视图或序列;17.s5、进行权限的检查,对步骤s4的对象进行相关的权限的检查,备份的对象需要拥有规定的权限才能够进行;18.s6、开始进行备份;19.s7、进行审计工作和打印日志,将备份的信息进行相关的整理,包括备份的对象类型,对象的id,备份的语句、节点;进行审计和打印日志的操作。20.优选的,所述检查备份的命令和语句的合理性,备份的格式只支持sst格式,对格式进行相应的检查,如果格式不正确的情况直接报错,不再执行。21.进一步的,视图和序列的具体还原过程如下:22.s1、进行相关的还原的准备工作,进行语法的相关的检查,不正确的情况下会报错,退出还原的流程;23.s2、检查压缩、加密的相关信息,如果备份的时候是加密的,那么还原的时候也必须有相应的加密密码和压缩的格式,如果不正确,则会报出相关的错误;24.s3、获取需要还原的对象,根据备份的文件,解析出需要还原的对象类型,是序列还是视图,或者是其他的对象;根据解析出来的descriptor进行接下来的操作,重写和检查等;25.s4、权限的检查,对于想要还原的对象,视图和序列等,进行相关的权限检查;26.s5、重写对象的id;对于还原来说,重写对象是很关键的一步,因为还原操作,还原回来的对象的id和备份出去的id是不一样的,所以需要重新写入;27.s6、进行相关的还原,同时进行相关的重写的id的检查;28.s7、重写相关的依赖,还原的视图,它所依赖的那个表的id不变,但是所依赖的表的dependonby,代表附着的视图的id,应该是需要重新写入,重新添加依赖关系;29.s8、进行审计工作和打印日志,将还原的信息进行相关的整理,包括备份的对象类型,对象的id,还原的语句、节点;进行审计和打印日志的操作。30.优选的,所述备份中的权限检查,整库的备份必须是root用户才能进行;31.则还原中的权限检查,整库的还原需要root用户,对于单表,单视图和单序列的话,则需要该用户在所在模式的usage权限。32.优选的,设置skip_missing_sequences和skip_missing_views参数,用于跳过还原的序列和视图。33.优选的,在备份还原视图序列的时候,可设置加密和压缩的参数。34.本发明还要求保护一种基于分布式数据库的备份还原装置,包括:至少一个存储器和至少一个处理器;35.所述至少一个存储器,用于存储机器可读程序;36.所述至少一个处理器,用于调用所述机器可读程序,执行上述的基于分布式数据库的备份还原方法。37.本发明还要求保护计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行上述的基于分布式数据库的备份还原方法。38.本发明的一种基于分布式数据库的备份还原方法与现有技术相比,具有以下有益效果:39.本方法具有多样性、适应性和安全性的特点,40.能够更好的备份数据库更多的对象,也能够对多种对象进行相应的备份还原,能够让国产数据库更加完善,备份还原体系也更加健全合理;41.能够更加适应相关的需求,备份还原的对象种类更加的丰富。42.能够对更多的对象进行备份还原,其实也是一种提高容灾能力的体现。提高系统的高可用性和灾难可恢复性,在数据库系统崩溃的时候,有数据库备份就可以找到数据。数据库备份是一种防范灾难于未然的强力手段。附图说明43.图1是本发明实施例提供的基于分布式数据库的备份还原方法备份视图和序列的流程示图;44.图2是本发明实施例提供的基于分布式数据库的备份还原方法还原视图和序列的流程示图。具体实施方式45.下面结合附图和具体实施例对本发明作进一步说明。46.本发明实施例提供一种基于分布式数据库的备份还原方法,该方法备份还原的对象是序列和视图,在实现备份还原数据库的时候,视图和序列也同样能够被备份还原,且备份还原后的对象所存在的依赖关系依然存在,并可通过参数设置跳过所述的视图和序列的还原,只还原数据表。47.本方法主要是针对数据库的序列和视图两种对象,在数据库中没有对他们完成备份还原的方法,只有对表进行相关的备份还原,该方法就是在对表进行备份还原的基础上,实现对数据库视图及序列进行备份还原,从而实现了多种对象的备份还原。48.同时在整库整模式的备份还原中,也实现了对其中序列和视图的备份还原,使得整体备份还原的对象更加完善,不仅仅局限于数据表。49.序列是数据库中的一个可以为多个用户产生唯一数值的数据库对象,它主要用于提供共享的主键值。序列定义存储在数据字典中,序列通过提供唯一数值的顺序表用于简化程序设计工作。主流的数据库oracle、db2、postgresql等都是支持序列的,我们一般使用序列来实现主键自增的功能。50.视图是从一个或几个基本表(或视图)中导出的虚拟的表。视图是从一个或多个实际表中获得的。一个视图也可以从另一个视图中产生。视图的定义存在数据库中,与此定义相关的数据并没有再存一份于数据库中。通过视图看到的数据存放在基表中。视图看上去非常像数据库的物理表,对它的操作同任何其它的表一样。当通过视图修改数据时,实际上是在改变基表中的数据;相反地,基表数据的改变也会自动反映在由基表产生的视图中。51.分布式数据库系统通过网络,将位于不同地点的许多计算机互相连接,共同组成一个完整的、全局的逻辑上集中、物理上分布的大型数据库。52.分布式数据库在逻辑上是一个统一的整体,在物理上则是分别存储在不同的物理节点上。一个应用程序可以通过网络访问分布在不同地理位置的数据库。数据库的分布性体现在数据库中的数据不是存储在同一场地,更确切地讲,不是存储在同一计算机的存储设备上,而是存储在计算机网络的多个场地上。这就是分布式数据库与集中式数据库最主要的区别。从用户的角度来看,分布式数据库系统在逻辑上和集中式数据库系统一样,用户可以在任何一个场地执行全局应用。就好像数据是存储在同一台计算机上,由单个数据库管理系统管理一样,用户感觉没有什么区别。53.分布式数据库系统适合于单位分散的部门,允许各个部门将其常用的数据存储在本地,实施就地存放本地使用,从而提高响应速度,降低通信费用。分布式数据库系统与集中式数据库系统相比具有可扩展性,通过增加适当的数据冗余,提高系统的可靠性。54.具体的,如图1所示,本方法中视图和序列的具体备份过程如下:55.s1、dumpplanhook:检查备份的命令和语句的合理性,备份的格式只支持sst格式,对格式进行相应的检查,如果格式不正确的情况直接报错,不再执行;56.s2、startdumpjob:开始进行备份的工作,对于备份视图和对象等多种对象进行了检查,是否需要加密,压缩等条件信息进行获取;57.s3、resolvetargetstodescriptors:获取需要备份的对象,判断需要的对象是表,视图还是等targets等其他的对象;58.s4、findmatcheddescriptors:将需要备份的对象以descriptor的形式进行返回,包括视图或序列;59.s5、进行权限的检查,对步骤4的对象进行相关的权限的检查,备份的对象需要拥有规定的权限才能够进行,例如整库的备份必须是root用户才能进行;60.s6、startjob,开始进行备份;61.s7、最后,进行审计工作和打印日志,将备份的信息进行相关的整理,包括备份的对象类型,对象的id,备份的语句,节点等信息;进行审计和打印日志的操作。62.如图2所示,视图和序列的具体还原过程如下:63.s1、restoreplanhook:进行相关的还原的准备工作,进行语法的相关的检查,不正确的情况下会报错,退出还原的流程;64.s2、dorestoreplan:进行还原视图,序列等对象的时候,检查压缩,加密的相关信息,如果备份的时候是加密的,那么还原的时候也必须有相应的加密密码和压缩的格式,如果不正确,则会报出相关的错误;65.s3、selecttargetsobject:获取需要还原的对象,根据备份的文件,解析出需要还原的对象,是序列还是视图,或者是其他的对象,根据解析出来的descriptor进行接下来的操作,重写和检查等;66.s4、权限的检查,对于想要还原的对象,视图和序列等,也都需要相关的权限检查,整库的还原就需要root用户,对于单表,单视图和单序列的话,则需要该用户在所在模式的usage权限;67.s5、rewritetabledescs:对于还原来说,重写对象是很关键的一步,重写对象的id,因为在我们还原操作,还原回来的对象的id和备份出去的id是不一样的,是需要我们重新写入的;68.s6、restore:进行相关的还原,同时也会进行相关的重写的id的检查;69.s7、writetabledescs:会重写相关的依赖,还原的视图,它所依赖的那个表的id不变,但是所依赖的表的dependonby,代表附着的视图的id,应该是需要重新写入,重新添加依赖关系;70.s8、最后,进行审计工作和打印日志,将还原的信息进行相关的整理,包括备份的对象类型,对象的id,还原的语句,节点等信息;进行审计和打印日志的操作。71.在备份视图,序列的操作中,类比备份表的操作语法:dumpviewv1……的语法格式,将所需要的视图进行相应的备份;对于序列备份,采用的语法也是类似的:dumpsequences1……的语法格式,通过这样的方式进行序列的备份;72.对于视图还原,序列的操作中,同样的类比的是还原表的操作:loadviewv1……的语法格式,但是如果还原回来的视图所依赖的表不存在的时候,会导致还原的操作不成功,并提示依赖的表不存在;对于序列说,采用loadsequences1……的语法格式,通过这样的方式进行序列的还原。73.如果不想还原视图和序列的话,也同样可以添加参数进行跳过,本实施例中,设置skip_missing_sequences和skip_missing_views参数,用于跳过还原的序列和视图。74.在备份还原视图序列的时候,还可设置加密和压缩的参数。75.本发明实施例还提供了一种基于分布式数据库的备份还原装置,包括:至少一个存储器和至少一个处理器;76.所述至少一个存储器,用于存储机器可读程序;77.所述至少一个处理器,用于调用所述机器可读程序,执行本发明上述实施例中所述的的基于分布式数据库的备份还原方法。78.本发明实施例还提供了一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行本发明上述实施例中所述的基于分布式数据库的备份还原方法。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。79.在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。80.用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上下载程序代码。81.此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。82.此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的cpu等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。83.上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。当前第1页12当前第1页12
再多了解一些

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

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

相关文献