System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据库技术,特别是涉及一种事务日志的处理方法、存储介质与设备。
技术介绍
1、在kingbasees数据库(简称kes数据库)中,事务日志其实指的是xlog日志,xlog日志中可能包含有用户数据。如果不对包含有用户数据的xlog日志进行加密,一旦非法人员获取到这些未加密的含有用户数据的xlog日志,通过简单的xlog日志回放操作即可获得用户数据,从而导致用户信息泄漏。因此,为了防止从xlog日志泄漏用户信息,需要xlog日志密钥对xlog日志进行加密,以保护用户信息。现有一些加密和解密方法,开启xlog日志加密功能,以默认page页大小为单位对xlog日志写缓存中的数据进行加密和解密。但考虑到开启xlog日志加密功能会降低kes现有xlog日志写流程的效率,且加密的xlog日志在老版本的kes系统中无法正确读取的问题,一些场景是需要打开xlog日志加密功能,在另外一些不需要加密的场景,并不开启加密功能。
2、然而,在开启加密功能之后,需要对后续所有page进行加密,即使大部分page中并没有涉及需要加密的数据。而加密这些不需要加密的page会造成kes数据库的性能消耗过大的问题。另外,现有的加密和解密方法并未对已加密的page页进行标记,无法区分已加密的page页和未加密的page页,导致在xlog日志的读流程,对未加密的page页也进行解密操作,解密场景过多,不仅造成了数据库资源的浪费和性能的损耗,更可能会出现由于不必要的解密操作造成的数据信息读取错误的问题。
技术实现思路
1、鉴于上述问题,提出了一种克服上述问题或者至少部分地解决上述问题的事务日志的处理方法、存储介质与设备。
2、本专利技术的一个目的是要提供一种事务日志的处理方法,以将待加密的数据页和无需加密的数据页区分开来。
3、本专利技术一个进一步的目的是要改善标记方式,提高标记的简便性和准确性。
4、特别地,本专利技术提供了一种事务日志的处理方法,包括:
5、在事务日志的写流程,获取待加密的事务日志中待加密的数据页;
6、以预设的标记方式标记待加密的数据页;
7、获取待加密的数据页的待加密区间;
8、根据待加密区间,对待加密的数据页进行加密操作。
9、可选地,数据页包括page头部和数据区域,待加密区间不包括page头部;并且
10、以预设的标记方式标记待加密的数据页的步骤包括:
11、在待加密的数据页的page头部内写入数据页加密标记。
12、可选地,page头部内设有标志位;并且
13、在待加密的数据页的page头部内写入数据页加密标记的步骤包括:
14、将待加密的数据页的标志位内的数据标为预设参考值。
15、可选地,获取待加密的数据页的待加密区间的步骤包括:
16、根据数据区域是否包含空闲空间,将待加密的数据页作为待处理空间或划分为顺序排列的第一空间、空闲空间和第二空间;
17、判断待加密的数据页是否需要压缩;
18、若是,则对待处理空间或由第一空间和第二空间拼接得到的整体进行压缩,并将得到的压缩数据作为待加密区间;
19、若否,则将待处理空间或由第一空间和第二空间拼接得到的整体作为待加密区间。
20、可选地,根据数据区域是否包含空闲空间,将待加密的数据页作为待处理空间或划分为顺序排列的第一空间、空闲空间和第二空间的步骤包括:
21、判断待加密的数据页的数据区域是否包含空闲空间;
22、若是,则将数据区域划分为顺序排列的第一空间、空闲空间和第二空间;
23、若否,则将数据区域作为待处理空间。
24、可选地,根据待加密区间,对待加密的数据页进行加密操作的步骤包括:
25、对待加密区间进行数据对齐处理,以得到由待加密区间和加密对齐数据所在的区间连接组成的加密数据区;
26、对加密数据区的数据进行加密。
27、可选地,待加密的事务日志包括事务日志头部和事务日志数据区,事务日志数据区包括main data和/或至少一个block区,block区包含page data和/或tuple data,数据页包括page data对应的数据页和/或tuple data所在的数据页;并且
28、在判断待加密的数据页是否需要压缩的步骤之后,处理方法还包括:
29、在待加密的数据页需要压缩的情况下,将由page头部和压缩数据合并得到的整体作为一个page data;
30、在待加密的数据页不需要压缩且数据区域包含空闲空间的情况下,将由page头部和第一空间合并得到的整体作为一个page data,并将第二空间作为一个page data;以及
31、在待加密的数据页不需要压缩且数据区域不包含空闲空间的情况下,将由page头部和待处理空间合并得到的整体作为一个page data。
32、可选地,在对待加密的数据页进行加密操作的步骤之后,处理方法还包括:
33、在事务日志的读流程,判断待读取的事务日志是否包括page data;
34、若包括page data,判断page data对应的数据页是否被标记;
35、若被标记,则对page data进行解密操作。
36、根据本专利技术的另一个方面,还提供了一种机器可读存储介质,其上存储有机器可执行程序,机器可执行程序被处理器执行时实现上述任一种的事务日志的处理方法。
37、根据本专利技术的又一个方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并在处理器上运行的机器可执行程序,并且处理器执行机器可执行程序时实现上述任一种的事务日志的处理方法。
38、本专利技术的事务日志的处理方法,通过在事务日志的写流程获取待加密的事务日志中待加密的数据页,以预设的标记方式标记待加密的数据页,获取待加密的数据页的待加密区间,并根据待加密区间,对待加密的数据页进行加密操作,实现了在加密前对待加密的数据页进行标记,以将待加密的数据页和无需加密的日志页区分开来,保证了针对性地对需要加密的数据页进行加密。本专利技术的事务日志的处理方法通过对待加密的事务日志进行标记,实现了精准加密,避免了不必要的加密操作和后续不必要的解密操作,从而实现了在保证数据安全的同时,提高数据库的运行效率。
39、进一步地,本专利技术的事务日志的处理方法,通过在待加密的数据页的page头部内写入数据页加密标记,来实现对待加密的数据页的标记,实现了将数据页加密标记存储在待加密的数据页内,降低了数据页加密标记丢失的可能,提高了标记的准确性。另外,在本专利技术的事务日志的处理方法中,待加密区间不包括page头部,也就是说,将数据页加密标记存储在无需加密的区间内,保证了数据页加密标记以明文的形式存在,提高了标记的简便性和准确性。
<本文档来自技高网...【技术保护点】
1.一种事务日志的处理方法,包括:
2.根据权利要求1所述的事务日志的处理方法,其中,所述数据页包括page头部和数据区域,所述待加密区间不包括所述page头部;并且
3.根据权利要求2所述的事务日志的处理方法,所述page头部内设有标志位;并且
4.根据权利要求2所述的事务日志的处理方法,其中,
5.根据权利要求4所述的事务日志的处理方法,其中,
6.根据权利要求4所述的事务日志的处理方法,其中,
7.根据权利要求4所述的事务日志的处理方法,其中,所述待加密的事务日志包括事务日志头部和事务日志数据区,所述事务日志数据区包括main data和/或至少一个block区,所述block区包含page data和/或tupledata,所述数据页包括page data对应的数据页和/或tupledata所在的数据页;并且
8.根据权利要求7所述的事务日志的处理方法,其中,
9.一种机器可读存储介质,其上存储有机器可执行程序,所述机器可执行程序被处理器执行时实现根据权利要求1至8任一项所述的
10.一种计算机设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的机器可执行程序,并且所述处理器执行所述机器可执行程序时实现根据权利要求1至8任一项所述的事务日志的处理方法。
...【技术特征摘要】
1.一种事务日志的处理方法,包括:
2.根据权利要求1所述的事务日志的处理方法,其中,所述数据页包括page头部和数据区域,所述待加密区间不包括所述page头部;并且
3.根据权利要求2所述的事务日志的处理方法,所述page头部内设有标志位;并且
4.根据权利要求2所述的事务日志的处理方法,其中,
5.根据权利要求4所述的事务日志的处理方法,其中,
6.根据权利要求4所述的事务日志的处理方法,其中,
7.根据权利要求4所述的事务日志的处理方法,其中,所述待加密的事务日志包括事务日志头部和事务日志数据区,所述事务日志数据区包括main...
【专利技术属性】
技术研发人员:沈志伟,
申请(专利权)人:北京人大金仓信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。