技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种事务日志的处理方法、存储介质与设备与流程  >  正文

一种事务日志的处理方法、存储介质与设备与流程

  • 国知局
  • 2024-09-14 14:44:51

本发明涉及数据库技术,特别是涉及一种事务日志的处理方法、存储介质与设备。

背景技术:

1、在kingbasees数据库(简称kes数据库)中,事务日志其实指的是xlog日志。在一些场景中,xlog日志量较大,大量的xlog日志会占用较多带宽。因此,在这些场景下,需要压缩xlog日志以减小xlog日志量。目前kes数据库采用的压缩算法(例如,pglz压缩算法)完成对xlog日志的压缩操作和解压操作。

2、然而,目前的压缩方法一般仅保留压缩后的数据长度,目前kes数据库采用的压缩算法,在获取不到xlog日志在压缩前后的尺寸数据的情况下,无法进行正确的解压操作,降低了数据库对xlog日志的读取工作的准确性。

技术实现思路

1、鉴于上述问题,提出了一种克服上述问题或者至少部分地解决上述问题的事务日志的处理方法、存储介质与设备。

2、本发明的一个目的是要提供一种事务日志的处理方法,可以提高解压事务日志的准确性。

3、本发明一个进一步的目的是要实现对已压缩的事务日志的精准解压。

4、本发明另一个进一步的目的是要减少解压场景。

5、特别地,本发明提供了一种事务日志的处理方法,包括:

6、在事务日志的写流程,记录事务日志在压缩前的长度以及压缩后的长度;

7、在事务日志的读流程,获取已压缩的事务日志在压缩前的长度和压缩后的长度;

8、根据已压缩的事务日志在压缩前的长度和压缩后的长度,对已压缩的事务日志进行解压操作,以得到已解压的事务日志。

9、可选地,已压缩的事务日志包括未压缩区间和已压缩区间;并且

10、根据已压缩的事务日志在压缩前的长度和压缩后的长度,对已压缩的事务日志进行解压操作,以得到已解压的事务日志的步骤包括:

11、根据已压缩的事务日志在压缩前的长度和压缩后的长度,计算已压缩区间在压缩前的长度和压缩后的长度;

12、根据已压缩区间在压缩前的长度和压缩后的长度,对已压缩区间内的压缩数据进行解压,得到压缩数据压缩前的原始数据;

13、将原始数据和未压缩区间内的数据组合,得到已解压的事务日志。

14、可选地,已压缩的事务日志包括顺序排列的xlogrecord结构体、除了xlogrecord结构体之外的剩余事务日志部分以及增设的存储空间;其中

15、未压缩区间包括xlogrecord结构体所在的数据区域以及增设的存储空间所在的数据区域;并且

16、压缩数据为压缩后的剩余事务日志部分的数据;

17、增设的存储空间内存储有已压缩的事务日志在压缩前的长度。

18、可选地,根据已压缩的事务日志在压缩前的长度和压缩后的长度,计算已压缩区间在压缩前的长度和压缩后的长度的步骤包括:

19、根据已压缩的事务日志在压缩前的长度、xlogrecord结构体的长度以及增设的存储空间的长度,计算已压缩区间在压缩前的长度;

20、根据已压缩的事务日志在压缩后的长度、xlogrecord结构体的长度以及增设的存储空间的长度,计算已压缩区间的长度。

21、可选地,在记录事务日志在压缩前的长度以及压缩后的长度的步骤之前,处理方法还包括:

22、根据事务日志的压缩前的剩余事务日志部分的长度,确定增设的存储空间的长度。

23、可选地,根据事务日志的压缩前的剩余事务日志部分的长度,确定增设的存储空间的长度的步骤包括:

24、将事务日志的压缩前的剩余事务日志部分的长度与预设的长度阈值区间进行比对,其中不同长度阈值区间分别按照存储空间不同长度下所能存储的数值设定;

25、将与事务日志的压缩前的剩余事务日志部分的长度所属的长度阈值区间相对应的存储空间的长度作为增设的存储空间的长度。

26、可选地,增设的存储空间内还存储有增设的存储空间的长度。

27、可选地,在获取已压缩的事务日志在压缩前的长度和压缩后的长度的步骤之前,处理方法还包括:

28、获取事务日志;

29、判断获取的事务日志是否被标记;

30、若是,则确认获取的事务日志为已压缩的事务日志。

31、根据本发明的另一个方面,还提供了一种机器可读存储介质,其上存储有机器可执行程序,机器可执行程序被处理器执行时实现上述任一种的事务日志的处理方法。

32、根据本发明的又一个方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并在处理器上运行的机器可执行程序,并且处理器执行机器可执行程序时实现上述任一种的事务日志的处理方法。

33、本发明的事务日志的处理方法,通过在事务日志的写流程,记录事务日志在压缩前的长度以及压缩后的长度,保证了在后续流程中,可直接读取到事务日志在压缩前的长度以及压缩后的长度。另外,本发明的事务日志的处理方法还通过在事务日志的读流程,获取已压缩的事务日志在压缩前的长度和压缩后的长度,并根据已压缩的事务日志在压缩前的长度和压缩后的长度,对已压缩的事务日志进行解压操作,以得到已解压的事务日志,实现了根据已压缩的事务日志在压缩前后的一组长度数据,来对已压缩的事务日志进行解压,提高了解压事务日志的准确性。

34、进一步地,本发明的事务日志的处理方法中的已压缩的事务日志包括未压缩区间和已压缩区间。另外,本发明的事务日志的处理方法通过根据已压缩的事务日志在压缩前的长度和压缩后的长度,计算已压缩区间在压缩前的长度和压缩后的长度,并根据已压缩区间在压缩前的长度和压缩后的长度,对已压缩区间内的压缩数据进行解压,得到压缩数据压缩前的原始数据,最后将原始数据和未压缩区间内的数据组合,得到已解压的事务日志,实现了针对性地对已压缩的事务日志内需要解压的数据进行解压,实现了对已压缩的事务日志的精准解压。读取事务日志,判断读取的事务日志是否被标记,并在读取的事务日志被标记的情况下,将读取的事务日志作为已压缩的事务日志,以实现已压缩的事务日志的获取,提高了准确地根据事务日志的标记情况,识别出已压缩的事务日志,提高了获取已压缩的事务日志的准确性,从而实现了仅针对已压缩的事务日志进行解压操作,进而进一步保证了解压事务日志的准确性。

35、更进一步地,本发明的事务日志的处理方法,通过在对事务日志进行解压操作之前,获取事务日志,判断获取的事务日志是否被标记,并在获取的事务日志被标记的情况下,确认获取的事务日志为已压缩的事务日志,实现了仅对已压缩的事务日志执行解压操作,减少了解压场景,同时也避免了无效的解压操作,从而有效降低了数据库的资源消耗。

36、根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。

技术特征:

1.一种事务日志的处理方法,包括:

2.根据权利要求1所述的事务日志的处理方法,其中,所述已压缩的事务日志包括未压缩区间和已压缩区间;并且

3.根据权利要求2所述的事务日志的处理方法,其中,所述已压缩的事务日志包括顺序排列的xlogrecord结构体、除了xlogrecord结构体之外的剩余事务日志部分以及增设的存储空间;其中

4.根据权利要求3所述的事务日志的处理方法,其中,

5.根据权利要求3所述的事务日志的处理方法,其中,

6.根据权利要求5所述的事务日志的处理方法,其中,

7.根据权利要求3所述的事务日志的处理方法,其中,

8.根据权利要求1所述的事务日志的处理方法,其中,

9.一种机器可读存储介质,其上存储有机器可执行程序,所述机器可执行程序被处理器执行时实现根据权利要求1至8任一项所述的事务日志的处理方法。

10.一种计算机设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的机器可执行程序,并且所述处理器执行所述机器可执行程序时实现根据权利要求1至8任一项所述的事务日志的处理方法。

技术总结本发明涉及数据库技术,特别是涉及一种事务日志的处理方法、存储介质与设备。该事务日志的处理方法包括:在事务日志的写流程,记录事务日志在压缩前的长度以及压缩后的长度;在事务日志的读流程,获取已压缩的事务日志在压缩前的长度和压缩后的长度;根据已压缩的事务日志在压缩前的长度和压缩后的长度,对已压缩的事务日志进行解压操作,以得到已解压的事务日志。本发明的事务日志的处理方法,根据已压缩的事务日志在压缩前的长度和压缩后的长度,实现了对已压缩的事务日志的正确解压,避免了因事务日志压缩后的长度缺失导致的解压不准确的问题,提高了解压事务日志的准确性。技术研发人员:沈志伟受保护的技术使用者:北京人大金仓信息技术股份有限公司技术研发日:技术公布日:2024/9/12

本文地址:https://www.jishuxx.com/zhuanli/20240914/295779.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。