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

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

  • 国知局
  • 2024-09-14 14:24:16

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

背景技术:

1、在kingbasees数据库(简称kes数据库)中,事务日志其实指的是xlog日志。在一些场景中,xlog日志量较大,大量的xlog日志会占用较多带宽。因此,在这些场景下,需要压缩xlog日志以减小xlog日志量。

2、然而,目前kes数据库的xlog日志写流程中只可对xlog日志中的部分数据(pagedata)进行压缩,并且由于xlog日志文件中的xlog日志内容都是按照固定的位置存储的,而压缩后的xlog日志长度与压缩前的xlog日志长度不一致,会导致记录xlog日志位置的信息不再可用。因此,现有的xlog日志处理方法在读取已压缩的xlog日志的过程中,难以准确解压xlog日志,降低了数据库对xlog日志的读取工作的准确性。

技术实现思路

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

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

3、本发明一个进一步的目的是要提高获取已压缩的事务日志的准确性,以仅针对已压缩的事务日志进行解压操作。

4、本发明另一个进一步的目的是要提高判断事务日志是否被标记的准确性。

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

6、在事务日志的读流程,获取已压缩的事务日志;

7、计算已压缩的事务日志中压缩数据的长度;

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

9、可选地,获取已压缩的事务日志的流程包括:

10、读取事务日志;

11、判断读取的事务日志是否被标记;

12、若是,则将读取的事务日志作为已压缩的事务日志。

13、可选地,已压缩的事务日志包括未压缩区间和已压缩区间,其中,未压缩区间内中预设有用于存储事务日志压缩标记的第一预设位置,已压缩区间为压缩数据所在的存储位置区间;并且

14、判断读取的事务日志是否被标记的步骤包括:

15、获取已压缩的事务日志的第一预设位置内的数据;

16、判断第一预设位置内的数据是否为事务日志压缩标记;

17、若是,则确定读取的事务日志被标记;

18、若否,则确定读取的事务日志未被标记。

19、可选地,已压缩的事务日志包括顺序排列的xlogrecord结构体和除了xlogrecord结构体之外的剩余事务日志部分;其中

20、未压缩区间为xlogrecord结构体所在的数据区域,压缩数据为压缩后的剩余事务日志部分的数据;并且

21、第一预设位置位于xlogrecord结构体中的预设变量内。

22、可选地,计算已压缩的事务日志中压缩数据的长度的步骤包括:

23、获取已压缩的事务日志的长度和xlogrecord结构体的长度;

24、计算已压缩的事务日志的长度与xlogrecord结构体的长度的差,得到压缩数据的长度。

25、可选地,在在事务日志的读流程之前,事务日志的处理方法还包括:

26、在事务日志的写流程,对待压缩的事务日志进行压缩操作;

27、计算并记录压缩后的事务日志的总长度。

28、可选地,在对待压缩的事务日志进行压缩操作的步骤之后,处理方法还包括:

29、在第一预设位置内写入事务日志压缩标记。

30、可选地,根据压缩数据的长度,对已压缩的事务日志进行解压操作,得到已解压的事务日志的步骤包括:

31、根据压缩数据的长度,从已压缩的事务日志中获取压缩数据;

32、解压压缩数据,得到压缩数据压缩前的原始数据;

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

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

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

36、本发明的事务日志的处理方法,通过在事务日志的读流程,获取已压缩的事务日志,计算已压缩的事务日志中压缩数据的长度,并根据压缩数据的长度,对已压缩的事务日志进行解压操作,得到已解压的事务日志,实现了根据压缩数据的长度来准确地获取到已压缩的事务日志内需要解压的数据,提高了解压事务日志的准确性。

37、进一步地,本发明的事务日志的处理方法,通过读取事务日志,判断读取的事务日志是否被标记,并在读取的事务日志被标记的情况下,将读取的事务日志作为已压缩的事务日志,以实现已压缩的事务日志的获取,提高了准确地根据事务日志的标记情况,识别出已压缩的事务日志,提高了获取已压缩的事务日志的准确性,从而实现了仅针对已压缩的事务日志进行解压操作,进而进一步保证了解压事务日志的准确性。

38、更进一步地,本发明的事务日志的处理方法中的已压缩的事务日志包括未压缩区间和已压缩区间,其中,未压缩区间内中预设有用于存储事务日志压缩标记的第一预设位置,已压缩区间为压缩数据所在的存储位置区间,实现了将已压缩的事务日志进行区域划分,并将事务日志压缩标记存储在无需压缩的数据区域内。在此基础上,本发明的事务日志的处理方法还通过获取已压缩的事务日志的第一预设位置内的数据,判断第一预设位置内的数据是否为事务日志压缩标记。在第一预设位置内的数据为事务日志压缩标记的情况下,确定读取的事务日志被标记,并在第一预设位置内的数据不是事务日志压缩标记的情况下,确定读取的事务日志未被标记,实现了根据事务日志压缩标记对读取的事务日志是否被标记进行判断,提高了判断事务日志是否被标记的准确性,从而提高了识别出已压缩的事务日志的准确性。

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

技术特征:

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

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

3.根据权利要求2所述的事务日志的处理方法,其中,所述已压缩的事务日志包括未压缩区间和已压缩区间,其中,所述未压缩区间内中预设有用于存储事务日志压缩标记的第一预设位置,所述已压缩区间为所述压缩数据所在的存储位置区间;并且

4.根据权利要求3所述的事务日志的处理方法,其中,所述已压缩的事务日志包括顺序排列的xlogrecord结构体和除了xlogrecord结构体之外的剩余事务日志部分;其中

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

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

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

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

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

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

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

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

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