System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据库,具体涉及一种云原生数据库的备份和恢复方法、装置、电子设备及介质。
技术介绍
1、传统的数据库备份和恢复方式主要有两种,一种是“备份-还原”,另一种是“数据实时同步与恢复”。“备份-还原”是比较常用的数据备份和恢复方式,但是其可能存在停机、冷备份、冷还原、全量数据恢复长、增量恢复对比时间消耗多等问题;“数据实时同步与恢复”解决了实时性问题,但可能面临额外引入数据库同步资源和无法指定时间点还原的问题。因此,现有的数据库备份和恢复方法不能同时解决实时性问题和指定时间点还原的问题。
技术实现思路
1、有鉴于此,有必要提供一种云原生数据库的备份和恢复方法、装置、电子设备及介质,用以解决现有的数据库不能同时解决实时性问题和指定时间点还原的技术问题。
2、为了解决上述问题,一方面,本专利技术提供了一种云原生数据库的备份和恢复方法,包括:
3、基于数据写入语句生成日志事件,并将所述日志事件写入rodo日志文件;
4、基于所述数据写入语句,将对应的数据页写入缓冲池;
5、将所述缓冲池中修改的数据页刷新到云原生数据库的数据持久层上的数据文件中,基于所述rodo日志文件和所述数据持久层上的数据文件,生成备份用的数据快照链;
6、在需要恢复所述云原生数据库的情况下,基于闪回快照将所述云原生数据库恢复至快照创建时的状态。
7、在一种可能的实现方式中,所述基于数据写入语句生成日志事件,包括:
8、获取数据
9、在一种可能的实现方式中,所述基于所述rodo日志文件和所述数据持久层上的数据文件,生成备份用的数据快照链,包括:
10、基于所述rodo日志文件发送刷盘事件消息至数据持久层,以基于所述数据持久层根据所述数据文件对应的源数据生成快照;
11、发送刷盘结束消息至所述数据持久层,以基于所述数据持久层对生成的快照进行拼接,得到数据快照链。
12、在一种可能的实现方式中,所述基于所述rodo日志文件发送刷盘事件消息至数据持久层,以基于所述数据持久层根据所述数据文件对应的源数据生成快照,包括:
13、基于所述云原生数据库生成刷盘线程,在所述刷盘线程中,基于所述rodo日志文件发送刷盘事件消息至所述数据持久层,以基于所述数据持久层根据所述数据文件对应的源数据生成快照。
14、在一种可能的实现方式中,所述基于所述数据持久层根据所述数据文件对应的源数据生成快照,包括:
15、基于所述数据持久层并采用写时复制的方式,将所述数据文件对应的源数据生成快照。
16、在一种可能的实现方式中,所述基于闪回快照将所述云原生数据库恢复至快照创建时的状态,包括:
17、基于所述云原生数据库生成闪回线程,基于所述闪回线程,读取需恢复的时间点的快照信息;
18、将需恢复的时间点的快照信息对应的数据写入所述云原生数据库,以将所述云原生数据库恢复至快照创建时的状态。
19、在一种可能的实现方式中,所述将需恢复的时间点的快照信息对应的数据写入所述云原生数据库,以将所述云原生数据库恢复至快照创建时的状态,还包括:
20、在读取需恢复的时间点的快照信息后,锁住所述云原生数据库的源卷;
21、确定需恢复的时间点的快照信息对应的逻辑地址,在基于所述逻辑地址将需恢复的时间点的快照信息对应的数据写入所述源卷后,解锁所述源卷。
22、另一方面,本专利技术还提供一种云原生数据库的备份和恢复装置,包括:
23、日志生成模块,用于基于数据写入语句生成日志事件,并将所述日志事件写入rodo日志文件;
24、缓存模块,用于基于所述数据写入语句,将对应的数据页写入缓冲池;
25、快照生成模块,用于将所述缓冲池中修改的数据页刷新到云原生数据库的数据持久层上的数据文件中,基于所述rodo日志文件和所述数据持久层上的数据文件,生成备份用的数据快照链;
26、闪回模块,用于在需要恢复所述云原生数据库的情况下,基于闪回快照将所述云原生数据库恢复至快照创建时的状态。
27、另一方面,本专利技术还提供一种电子设备,包括存储器和处理器,其中,
28、所述存储器,用于存储程序;
29、所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以实现如上述任意一项所述的云原生数据库的备份和恢复方法的步骤。
30、另一方面,本专利技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的云原生数据库的备份和恢复方法的步骤。
31、采用上述实现方式的有益效果是:本专利技术提供的云原生数据库的备份和恢复方法、装置、电子设备及介质,通过云原生数据库快照闪回技术,通过对云原生数据库的存储进行快照支持,加上对数据库redo日志实时刷盘前置和后置实时通知机制的支持,可以更动态、更实时的获取数据库数据变化,从而做出快照操作,从而完成数据备份。而快照,仅仅是对数据存储的数据位置标记,每个快照对象都包含一个指向前一个快照的引用,当对数据进行修改时,新的快照对象将只包含这些修改的数据,而不会改变之前快照对象的内容,这种方式实现了快照的增量存储,使得快照链高效,并且可以创建大量的快照而不会占用过多的存储空间,速度非常快。进行闪回时,即是将数据切换至指定时间点的位置,速度也非常快,以此快照闪回技术完成了云原生数据库的备份和恢复操作。因而本专利技术解决了现有的数据库不能同时解决实时性问题和指定时间点还原的技术问题。
本文档来自技高网...【技术保护点】
1.一种云原生数据库的备份和恢复方法,其特征在于,包括:
2.根据权利要求1所述的云原生数据库的备份和恢复方法,其特征在于,所述基于数据写入语句生成日志事件,包括:
3.根据权利要求1所述的云原生数据库的备份和恢复方法,其特征在于,所述基于所述RODO日志文件和所述数据持久层上的数据文件,生成备份用的数据快照链,包括:
4.根据权利要求3所述的云原生数据库的备份和恢复方法,其特征在于,所述基于所述RODO日志文件发送刷盘事件消息至数据持久层,以基于所述数据持久层根据所述数据文件对应的源数据生成快照,包括:
5.根据权利要求3所述的云原生数据库的备份和恢复方法,其特征在于,所述基于所述数据持久层根据所述数据文件对应的源数据生成快照,包括:
6.根据权利要求1-5任一项所述的云原生数据库的备份和恢复方法,其特征在于,所述基于闪回快照将所述云原生数据库恢复至快照创建时的状态,包括:
7.根据权利要求6所述的云原生数据库的备份和恢复方法,其特征在于,所述将需恢复的时间点的快照信息对应的数据写入所述云原生数据库,以将所
8.一种云原生数据库的备份和恢复装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括存储器和处理器,其中,
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的云原生数据库的备份和恢复方法的步骤。
...【技术特征摘要】
1.一种云原生数据库的备份和恢复方法,其特征在于,包括:
2.根据权利要求1所述的云原生数据库的备份和恢复方法,其特征在于,所述基于数据写入语句生成日志事件,包括:
3.根据权利要求1所述的云原生数据库的备份和恢复方法,其特征在于,所述基于所述rodo日志文件和所述数据持久层上的数据文件,生成备份用的数据快照链,包括:
4.根据权利要求3所述的云原生数据库的备份和恢复方法,其特征在于,所述基于所述rodo日志文件发送刷盘事件消息至数据持久层,以基于所述数据持久层根据所述数据文件对应的源数据生成快照,包括:
5.根据权利要求3所述的云原生数据库的备份和恢复方法,其特征在于,所述基于所述数据持久层根据所述数据文件对应的源数据生成...
【专利技术属性】
技术研发人员:朱红超,陶天林,季武雄,
申请(专利权)人:武汉达梦数据技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。