[发明专利]一种数据恢复方法、装置、设备及存储介质有效
| 申请号: | 202010071604.0 | 申请日: | 2020-01-21 |
| 公开(公告)号: | CN111290881B | 公开(公告)日: | 2023-09-19 |
| 发明(设计)人: | 王海龙;王蒙蒙;韩朱忠 | 申请(专利权)人: | 上海达梦数据库有限公司 |
| 主分类号: | G06F11/14 | 分类号: | G06F11/14 |
| 代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
| 地址: | 201203 上海*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 数据 恢复 方法 装置 设备 存储 介质 | ||
本发明公开了一种数据恢复方法、装置、设备及存储介质。该方法包括:当故障排除后,数据库重新启动时,从联机日志文件中读取并行日志包;获取所述并行日志包的自描述信息,其中,所述自描述信息包括:每路并行日志在并行日志包内的写入起始位置、并行日志包内存放的并行日志数、并行日志包内的最小日志序列值、最大日志序列值、并行日志包序号和并行日志包的长度;根据所述自描述信息对所述并行日志进行排序,根据排序后的并行日志依次进行数据恢复,通过本发明的技术方案,能够完全规避系统正常运行时的并行日志排序动作,仅在数据库故障重启时通过自描述信息对并行日志包内的并行日志进行排序,在高并发高压力的运行场景下,可以有效地提升系统性能。
技术领域
本发明实施例涉及数据库领域,尤其涉及一种数据恢复方法、装置、设备及存储介质。
背景技术
数据库系统在运行过程中,有可能会碰到各种故障情况,比如操作系统故障或者硬件故障等,在故障排除后,数据库重新启动时依靠REDO日志可以将系统恢复到故障前的时刻。
REDO日志用来记录数据库对数据执行的修改操作,每次数据修改生成REDO日志时会使用一个新的LSN(Log Sequence Number,日志序列值)来标识,每写入一次REDO日志LSN值会自动加1,一个LSN值代表一次数据库修改操作,LSN的大小关系可以表示数据库的修改顺序,在重演REDO日志时必须要按照LSN从小到大的顺序进行重演。
数据库系统产生的REDO日志首先会放到日志缓存区中,在日志缓存区写满或者事务提交时再写入联机日志文件,在高并发的情况下,所有会话都向同一个日志缓存区中写日志会产生较高的并发冲突,一种常见的优化方式是采用并行日志,为每个工作线程单独分配一片日志缓存区,每个工作线程产生的REDO日志写入各自的日志缓存区中,最后再合并到一起刷入联机日志。由于LSN是全局唯一的,因此每个日志缓存区中的REDO日志不能保证LSN是连续递增的,在写入联机日志之前,必须要对所有日志缓存区中的日志按照LSN大小进行排序,在系统压力比较高、产生大量REDO日志的场景下,这个排序动作会成为性能瓶颈。
发明内容
本发明实施例提供一种数据恢复方法、装置、设备及存储介质,能够完全规避系统正常运行时的并行日志排序动作,仅在数据库故障重启时通过自描述信息对并行日志包内的各路并行日志进行排序,在高并发高压力的运行场景下,可以有效地提升系统性能。
第一方面,本发明实施例提供了一种数据恢复方法,包括:
当故障排除后,数据库重新启动时,从联机日志文件中读取并行日志包;
获取所述并行日志包的自描述信息,其中,所述自描述信息包括:每路并行日志在并行日志包内的写入起始位置、并行日志包内存放的并行日志数、并行日志包内的最小日志序列值、最大日志序列值、并行日志包序号和并行日志包的长度;
根据所述自描述信息对所述并行日志进行排序,根据排序后的并行日志依次进行数据恢复。
进一步的,获取所述并行日志包的自描述信息包括:
获取存储于所述并行日志包的包头的自描述信息。
进一步的,当故障排除后,数据库重新启动时,从联机日志文件中读取并行日志包之前,还包括:
当任意一个日志包缓存区写满时,创建一个并行日志包,并为所述并行日志包分配并行日志包序号;
将日志包缓存区中的数据库日志依次拷贝到所述并行日志包中;
统计并记录所述并行日志包的自描述信息;
将所述自描述信息写入所述并行日志包的包头,并将并行日志包写入联机日志文件。
进一步的,当任意一个日志包缓存区写满时,创建一个并行日志包之前,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海达梦数据库有限公司,未经上海达梦数据库有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010071604.0/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





