基于值日志的数据库闪回查询方法、系统、存储介质及设备技术方案

技术编号:32127592 阅读:14 留言:0更新日期:2022-01-29 19:19
本发明专利技术公开了一种基于值日志的数据库闪回查询方法、系统、存储介质和设备,其中数据库闪回查询方法包括:S1、在将内存中的物理记录写入值日志文件中时,值日志主键索引保存所述物理记录在值日志文件中的偏移地址;S2、接收并解析闪回查询请求,确定闪回点;S3、从闪回点中确定闪回查询截止偏移地址,并通过索引检索值日志,查找偏移地址小于等于闪回查询截止偏移地址的数据。该方法能够使数据库实现自初始化到当前时刻的任意有效闪回点的闪回查询。化到当前时刻的任意有效闪回点的闪回查询。化到当前时刻的任意有效闪回点的闪回查询。

【技术实现步骤摘要】
基于值日志的数据库闪回查询方法、系统、存储介质及设备


[0001]本专利技术属于数据库
,具体涉及一种基于值日志的数据库闪回查询方法、系统、存储介质及设备。

技术介绍

[0002]闪回查询可以使数据库回退到指定时间点的状态。传统数据库如Oracle,闪回查询是基于回滚段来实现的。回滚段是磁盘上的一段空间,用于存储数据修改前的值。如Oracle要支持闪回查询,需要先设置回滚段为自动管理状态,然后设置回滚段的最大保留时间。Oracle默认回滚段的最大保留时间为15分钟,意味着设置回滚段为自动管理状态后,默认状态下,Oracle可以支持距离系统当前系统时间直到之前15分钟之内的闪回查询。由于回滚段的空间有限,只支持有限时间段内的闪回查询。如果需要修改回滚段的设置,还需要重启数据库服务器。

技术实现思路

[0003]专利技术目的:本专利技术提供了一种基于值日志的数据库闪回查询方法、系统、存储介质和设备,旨在能够使数据库实现自初始化到当前时刻的任意有效闪回点的闪回查询。
[0004]技术方案:本专利技术一方面提供了基于值日志的数据库闪回查询方法,包括:
[0005]S1、在将内存中的物理记录写入值日志文件中时,值日志主键索引保存所述物理记录在值日志文件中的偏移地址;
[0006]S2、接收并解析闪回查询请求,确定闪回点;
[0007]S3、从闪回点中确定闪回查询截止偏移地址,并通过索引检索值日志,查找偏移地址小于等于闪回查询截止偏移地址的数据。
[0008]作为优选,当闪回查询请求中包含的闪回点为截止LSN时,查询所述截止LSN对应的值日志文件数据块,在所述数据块内顺序扫描物理记录,得到截止LSN对应的物理记录的偏移地址,即为闪回查询截止偏移地址。
[0009]作为优选,值日志系统在值日志文件数据块的头部写入该数据块第一条物理记录写入的时间,和/或在值日志文件数块的尾部写入该数据块最后一条物理记录写入的时间;
[0010]当闪回查询请求中包含的闪回点为截止时间时,查找与所述截止时间对应的值日志文件数据块,查找到的数据块的偏移地址即为闪回查询截止偏移地址。
[0011]作为另一种优选,值日志系统建立与值日志文件相对应的时间表,定时在所述时间表中插入时间记录,所述时间记录包括当前时间以及与当前时间最接近的物理记录;
[0012]当闪回查询请求中包含的闪回点为截止时间时,查找时间表中与所述截止时间最接近的时间记录,所述时间记录中包含的物理记录的偏移地址即为闪回查询截止偏移地址。
[0013]作为另一种优选,值日志系统先将当前系统时间作为数据插入时间保存到物理记录中,再将物理记录写入值日志文件;
[0014]当闪回查询请求中包含的闪回点为截止时间时,查找数据插入时间与所述截止时间对应的物理记录,查找到的物理记录的偏移地址即为闪回查询截止偏移地址。
[0015]另一方面,本专利技术还公开了实现上述查询方法的基于值日志的数据库闪回查询系统,包括:
[0016]偏移地址保存模块,用于在将内存中的物理记录写入值日志文件中时,保存所述物理记录在值日志文件中的偏移地址;
[0017]闪回点确定模块,用于根据闪回查询请求确定闪回点;
[0018]闪回查询截止偏移地址确定模块,用于从闪回点中确定闪回查询截止偏移地址;
[0019]闪回查询操作模块,用于通过索引检索值日志,查找偏移地址小于等于闪回查询截止偏移地址的数据。
[0020]作为优选,当闪回查询请求中包含的闪回点为截止LSN时,所述闪回查询截止偏移地址确定模块确定闪回查询截止偏移地址的步骤为:
[0021]查询所述截止LSN对应的值日志文件数据块,在所述数据块内顺序扫描物理记录,得到截止LSN对应的物理记录的偏移地址,即为闪回查询截止偏移地址。
[0022]作为优选,值日志系统先将当前系统时间作为数据插入时间保存到物理记录中,再将物理记录写入值日志文件;
[0023]所述闪回查询截止偏移地址确定模块确定闪回查询截止偏移地址的步骤为:当闪回查询请求中包含的闪回点为截止时间时,查找数据插入时间与所述截止时间对应的物理记录,查找到的物理记录的偏移地址即为闪回查询截止偏移地址。
[0024]另一方面,本专利技术还公开了一种计算机可读取存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述数据库闪回查询方法。
[0025]另一方面,本专利技术还公开了一种数据库闪回查询设备,包括处理器及存储介质,所述存储介质为上述计算机可读取存储介质;所述处理器加载并执行所述存储介质中的指令及数据用于实现上述数据库闪回查询方法。
[0026]有益效果:本专利技术公开的基于值日志的数据库闪回查询方法根据值日志文件中物理记录的偏移地址进行闪回查询,可以闪回到自初始化数据库到当前适可而止的任意有效截止偏移地址所对应的时间,同时无需对系统做任何特殊设置,不受回滚段空间限制。
附图说明
[0027]图1为本专利技术公开基于值日志的数据库闪回查询方法的流程图;
[0028]图2为本专利技术公开基于值日志的数据库闪回查询系统的组成示意图;
[0029]图3为本专利技术公开基于值日志的数据库闪回查询设备的组成示意图。
具体实施方式
[0030]下面结合附图和具体实施方式,进一步阐明本专利技术。
[0031]实施例一:
[0032]申请号为2021107280253的中国专利技术专利申请中公开了一种数据和日志一体化的值日志实现方法,其中通过值日志实现了数据库和数据处理系统持久化过程中只有顺序写、避免写多份数据的优点。本专利技术基于前述专利技术专利申请,提出了一种基于值日志的数据
库闪回查询方法,如图1所示,包括:
[0033]S1、在将内存中的物理记录写入值日志文件中时,值日志主键索引保存所述物理记录在值日志文件中的偏移地址;
[0034]申请号为2021107280253的中国专利技术专利申请中,值日志的实现过程为:(1)数据处理系统中的工作线程或进程解析接收到的操作请求,确定操作类型;(2)当操作类型是数据更新操作时,工作线程或进程将删除、修改操作都转化为插入操作;(3)工作线程或进程在内存中执行插入操作并在内存中生成和最终写入到磁盘存储设备的相同格式的物理记录,随后将内存中的物理记录直接写入到值日志文件,或先写入到值日志缓冲区,等待写盘线程或进程刷盘,待刷盘完成后,把操作结果发送给客户端;(4)启用值日志缓冲区时,写盘线程或进程不断将值日志缓冲区的物理记录顺序写入到值日志文件末尾,并通知工作线程或进程完成刷盘任务。上述1

4步骤执行完毕后内存中修改的数据完成了写入磁盘的持久化操作。本专利技术实施例中,在步骤(3)中内存中的物理记录写入值日志文件中时,值日志主键索引保存所述物理记录在值日志文件中的偏移地址。由于物理记录是追加写入值日志文件尾部,因此物理记录的偏移地址随着不断地写入数据而增大。
[0035]S2、本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于值日志的数据库闪回查询方法,其特征在于,包括:S1、在将内存中的物理记录写入值日志文件中时,值日志主键索引保存所述物理记录在值日志文件中的偏移地址;S2、接收并解析闪回查询请求,确定闪回点;S3、从闪回点中确定闪回查询截止偏移地址,并通过索引检索值日志,查找偏移地址小于等于闪回查询截止偏移地址的数据。2.根据权利要求1所述的数据库闪回查询方法,其特征在于,当闪回查询请求中包含的闪回点为截止LSN时,查询所述截止LSN对应的值日志文件数据块,在所述数据块内顺序扫描物理记录,得到截止LSN对应的物理记录的偏移地址,即为闪回查询截止偏移地址。3.根据权利要求1所述的数据库闪回查询方法,其特征在于,值日志系统在值日志文件数据块的头部写入该数据块第一条物理记录写入的时间,和/或在值日志文件数块的尾部写入该数据块最后一条物理记录写入的时间;当闪回查询请求中包含的闪回点为截止时间时,查找与所述截止时间对应的值日志文件数据块,查找到的数据块的偏移地址即为闪回查询截止偏移地址。4.根据权利要求1所述的数据库闪回查询方法,其特征在于,值日志系统建立与值日志文件相对应的时间表,定时在所述时间表中插入时间记录,所述时间记录包括当前时间以及与当前时间最接近的物理记录;当闪回查询请求中包含的闪回点为截止时间时,查找时间表中与所述截止时间最接近的时间记录,所述时间记录中包含的物理记录的偏移地址即为闪回查询截止偏移地址。5.根据权利要求1所述的数据库闪回查询方法,其特征在于,值日志系统先将当前系统时间作为数据插入时间保存到物理记录中,再将物理记录写入值日志文件;当闪回查询请求中包含的闪回点为截止时间时,查找数据插入时间与所述截止时间对应的物理记录,查...

【专利技术属性】
技术研发人员:付新姜久文李庆春葛玉梅郭继红许雄凌张静修
申请(专利权)人:达梦数据技术江苏有限公司
类型:发明
国别省市:

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

1