System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据处理,尤其涉及一种应用于临时文件的数据处理方法、装置和设备。
技术介绍
1、在当前的环境下,互联中每时每刻都在产生着海量的数据,因此,企业的数据库中保存的数据量呈现着日益递增的趋势。企业在大数据场景下,使用数据库进行数据排序操作时,由于需要处理海量的数据,就很可能出现内存使用率过高,从而影响其它业务的情况。此时,一般可以通过生成临时文件,来进行外部排序,从而避免内存占用过大影响其它业务的问题。
2、但是,在外部排序时,由外部排序所生成的临时文件中,存储的临时结果集通常是明文存储的,这就使临时文件中存储的数据存在数据泄露的风险,存在一定数据安全问题。
技术实现思路
1、本申请提供一种应用于临时文件的数据处理方法、装置和设备,用以解决现有技术中在使用临时文件进行外部排序时,存在数据泄露风险的问题。
2、第一方面,本申请提供一种应用于临时文件的数据处理方法,包括:
3、响应于对临时文件的数据写入指令,从所述临时文件中获取待写入数据块;其中,所述数据写入指令中包括待写数据;
4、确定所述待写入数据块的空闲空间,并将所述空闲空间,与所述数据写入指令中所包括的待写数据,进行比较,得到数据比较结果;其中,所述数据比较结果用于表征所述待写入数据块能否写入全部的所述待写数据;
5、若基于所述数据比较结果,确定出所述待写入数据块能写入全部的所述待写数据,则将所述待写数据写入所述待写入数据块,并对所述待写入数据块进行数据对齐处理,
6、基于加密密钥,对所述对齐后的目标数据块中的数据,进行加密处理,得到加密的数据,并将所述加密的数据,存储至所述临时文件中。
7、一个示例中,所述待写入数据块中包括页头数据;其中,所述页头数据表征所述待写入数据块内已写入数据的数据量;所述确定所述待写入数据块的空闲空间,包括:
8、基于所述待写入数据块的数据空间与所述页头数据,确定所述待写入数据块的空闲空间。
9、一个示例中,所述方法还包括:
10、若基于所述待写入数据块的数据空间与所述页头数据,确定出所述待写入数据块不存在空闲空间,则确定所述待写入数据块是否带有目标标识;其中,所述目标标识表征所述待写入数据块内的数据与磁盘中的数据不相同;
11、若确定出所述待写入数据块带有所述目标标识,则对所述待写入数据块进行刷盘处理;否则,清空所述待写入数据块中的数据。
12、一个示例中,所述对所述待写入数据块进行数据对齐处理,得到对齐后的目标数据块,包括:
13、若确定出所述待写入数据块在写入待写数据之后,仍存在剩余空间,则对所述剩余空间进行补零处理,得到对齐后的目标数据块。
14、一个示例中,所述方法还包括:
15、响应于对临时文件的数据读取指令,从磁盘中获取待读取数据块;其中,所述待读取数据块表征加密的数据块;
16、基于解密密钥,对所述待读取数据块进行解密处理,得到解密后的数据块;并将所述解密后的数据块中的数据加载至内存中。
17、一个示例中,所述方法还包括:
18、若确定出加载至内存中的数据不满足预设长度要求的情况下,生成并展示错误提示信息。
19、一个示例中,所述方法还包括:
20、响应于数据库启动指令,生成对称密钥;并将所述对称密钥存储在与所述数据库的数据库类型相匹配的目标堆区中;其中,所述对称密钥用于对数据块中的数据进行加密和解密;所述数据库类型表征所述数据库所包含进程的类型。
21、第二方面,本申请提供一种应用于临时文件的数据处理装置,包括:
22、响应单元,用于响应于对临时文件的数据写入指令,从所述临时文件中获取待写入数据块;其中,所述数据写入指令中包括待写数据;
23、确定单元,用于确定所述待写入数据块的空闲空间,并将所述空闲空间,与所述数据写入指令中所包括的待写数据,进行比较,得到数据比较结果;其中,所述数据比较结果用于表征所述待写入数据块能否写入全部的所述待写数据;
24、写入单元,用于若基于所述数据比较结果,确定出所述待写入数据块能写入全部的所述待写数据,则将所述待写数据写入所述待写入数据块,并对所述待写入数据块进行数据对齐处理,得到对齐后的目标数据块;其中,所述对齐后的目标数据块表征包含预设长度数据的数据块;
25、存储单元,用于基于加密密钥,对所述对齐后的目标数据块中的数据,进行加密处理,得到加密的数据,并将所述加密的数据,存储至所述临时文件中。
26、一个示例中,所述待写入数据块中包括页头数据;其中,所述页头数据表征所述待写入数据块内已写入数据的数据量;此时,确定单元,包括:
27、空间确定模块,用于基于所述待写入数据块的数据空间与所述页头数据,确定所述待写入数据块的空闲空间。
28、一个示例中,确定单元,包括:
29、空间清理模块,用于若基于所述待写入数据块的数据空间与所述页头数据,确定出所述待写入数据块不存在空闲空间,则确定所述待写入数据块是否带有目标标识;其中,所述目标标识表征所述待写入数据块内的数据与磁盘中的数据不相同;
30、若确定出所述待写入数据块带有所述目标标识,则对所述待写入数据块进行刷盘处理;否则,清空所述待写入数据块中的数据。
31、一个示例中,确定单元,包括:
32、数据对齐模块,用于若确定出所述待写入数据块在写入待写数据之后,仍存在剩余空间,则对所述剩余空间进行补零处理,得到对齐后的目标数据块。
33、一个示例中,该装置还包括:
34、加载单元,用于响应于对临时文件的数据读取指令,从磁盘中获取待读取数据块;其中,所述待读取数据块表征加密的数据块;
35、基于解密密钥,对所述待读取数据块进行解密处理,得到解密后的数据块;并将所述解密后的数据块中的数据加载至内存中。
36、一个示例中,该装置还包括:
37、报错单元,用于若确定出加载至内存中的数据不满足预设长度要求的情况下,生成并展示错误提示信息。
38、一个示例中,该装置还包括:
39、密钥生成单元,用于响应于数据库启动指令,生成对称密钥;并将所述对称密钥存储在与所述数据库的数据库类型相匹配的目标堆区中;其中,所述对称密钥用于对数据块中的数据进行加密和解密;所述数据库类型表征所述数据库所包含进程的类型。
40、第三方面,本申请提供一种计算机设备,包括:处理器,以及与所述处理器通信连接的存储器;
41、所述存储器存储计算机执行指令;
42、所述处理器执行所述存储器存储的计算机执行指令,以实现第一方面所述的方法。
43、第四方面,本申请提供一种计算机可读存储介质,所本文档来自技高网...
【技术保护点】
1.一种应用于临时文件的数据处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述待写入数据块中包括页头数据;其中,所述页头数据表征所述待写入数据块内已写入数据的数据量;所述确定所述待写入数据块的空闲空间,包括:
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,对所述待写入数据块进行数据对齐处理,得到对齐后的目标数据块,包括:
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述方法还包括:
8.一种应用于临时文件的数据处理装置,其特征在于,包括:
9.一种计算机设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至7任一
...【技术特征摘要】
1.一种应用于临时文件的数据处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述待写入数据块中包括页头数据;其中,所述页头数据表征所述待写入数据块内已写入数据的数据量;所述确定所述待写入数据块的空闲空间,包括:
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,对所述待写入数据块进行数据对齐处理,得到对齐后的目标数据块,包括:
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
【专利技术属性】
技术研发人员:陈立鹏,杨尚,孙文奇,
申请(专利权)人:北京人大金仓信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。