一种数据处理方法、装置及电子设备制造方法及图纸

技术编号:34545460 阅读:13 留言:0更新日期:2022-08-17 12:27
本发明专利技术实施例提供了一种数据处理方法、装置及电子设备,所述方法包括:接收数据删除请求,根据待删除数据的标识,从预设存储区域中读取待删除数据的偏移量和待删除数据的长度,根据待删除数据对象的标识,确定待删除数据对象对应的索引节点,根据待删除数据的偏移量和待删除数据的长度,修改索引节点中待删除数据对象与待删除数据对象对应page之间的关系。本发明专利技术,能够避免重写数据对象所造成的磁盘I/O浪费。浪费。浪费。

【技术实现步骤摘要】
一种数据处理方法、装置及电子设备


[0001]本专利技术涉及数据处理
,特别是涉及一种数据处理方法、装置及电子设备。

技术介绍

[0002]单机对象存储引擎通常负责在单机上存储数据对象,并支持对单机对象存储引擎上所存储的数据对象的读取、写入以及删除操作。在需要对存储引擎中数据对象包含的数据进行删除操作时,接收并执行针对数据对象中待删除数据的删除操作指令,以及对所删除数据进行偏移量和长度的标记,然后,重写该删除数据所属数据对象中除所标记删除数据之外的有效数据,以使得被删除数据所占用的存储空间得到释放。
[0003]因对存储引擎中数据对象包含的数据执行删除操作,释放存储空间的过程中,只有在重写删除数据所属数据对象中包含的有效数据之后才能够释放被删除数据所占用的存储空间。而在重写删除数据所属数据对象中包含的有效数据时,需要读取并重写有效数据,使得重写少量被删除数据所属数据对象时,需要搬运大量的有效数据,导致磁盘I/O(Input/Output,输入输出端口)的浪费。例如,数据对象中所有数据占存储空间大小为1024MB,删除数据占存储空间大小为1MB,为了释放删除数据所占的存储空间,需要对该数据对象中1024

1=1023MB的有效数据进行读取并重写。

技术实现思路

[0004]本专利技术实施例的目的在于提供一种数据处理方法、装置及电子设备,用以解决现有删除数据释放存储空间时,重写数据对象所造成的磁盘I/O浪费的问题。具体技术方案如下:
[0005]第一方面,本专利技术实施例提供了一种数据处理方法,应用于数据存储引擎,所述方法包括:
[0006]接收数据删除请求,所述数据删除请求中包括待删除数据的标识,以及待删除数据所在待删除数据对象的标识;
[0007]根据所述待删除数据的标识,从预设存储区域中读取待删除数据的偏移量和待删除数据的长度,其中,所述预设存储区域中待删除数据的偏移量和待删除数据的长度为:待删除数据在写入时存储至所述预设存储区域中的;
[0008]根据所述待删除数据对象的标识,确定待删除数据对象对应的索引节点,所述索引节点中包含所述待删除数据对象与所述待删除数据对象对应页page之间的关系;
[0009]根据所述待删除数据的偏移量和所述待删除数据的长度,修改所述索引节点中所述待删除数据对象与所述待删除数据对象对应page之间的关系。
[0010]可选地,所述方法还包括:
[0011]根据所述待删除数据对象的标识,确定所述待删除数据对象对应的第一索引文件;
[0012]遍历所述第一索引文件中的索引项,根据所述待删除数据的标识和所述待删除数
据的长度,从所述第一索引文件中确定所述待删除数据对应的第一索引项,以及所述第一索引项的偏移量和所述第一索引项的长度;
[0013]对所述第一索引项进行删除。
[0014]可选地,所述对所述第一索引项进行删除的步骤,包括:
[0015]基于第一索引文件的标识,以及所述第一索引项的偏移量和所述第一索引项的长度,调用预设函数,对所述第一索引项执行删除操作,所述预设函数用于对所述第一索引项进行删除,且不会留下空洞;
[0016]或者,
[0017]删除所述第一索引项,并将所述第一索引项标记为已删除,以及在删除的第一索引项占用的存储空间达到预设阈值时,重写所述第一索引文件。
[0018]可选地,所述方法还包括:
[0019]接收第一数据写入请求,所述第一数据写入请求中包括第一待写入数据的标识,第一待写入数据的长度以及第一待写入数据对象的标识;
[0020]将所述第一待写入数据的标识对应的第一待写入数据,写入所述第一待写入数据对象的标识所对应的第一待写入数据对象中;
[0021]将所述第一待写入数据的标识,第一待写入数据的偏移量和所述第一待写入数据的长度确定为第二索引项,并将所述第二索引项写入所述预设存储区域中;其中,所述第一待写入数据的偏移量,根据所述第一待写入数据对象中历史数据的总长度确定。
[0022]可选地,所述方法还包括:
[0023]根据所述第一待写入数据对象的标识,确定所述第一待写入数据对象对应的第二索引文件;
[0024]将所述第一待写入数据的标识和所述第一待写入数据的长度确定为第三索引项,并将所述第三索引项写入所述第二索引文件中。
[0025]可选地,所述方法还包括:
[0026]将所述第一待写入数据的长度,与所述第一待写入数据对象中历史数据的总长度之和,更新为所述第一待写入数据对象中历史数据的总长度。
[0027]可选地,所述方法还包括:
[0028]接收第一数据读取请求,所述第一数据读取请求中包括第一待读取数据的标识,以及第一待读取数据对象的标识;
[0029]根据所述第一待读取数据的标识,从所述预设存储区域中读取第一待读取数据的偏移量和第一待读取数据的长度;
[0030]根据所述第一待读取数据对象的标识,以及所述第一待读取数据的偏移量和所述第一待读取数据的长度,从所述第一待读取数据对象的标识所对应的第一待读取数据对象中确定第一待读取数据;
[0031]读取所述第一待读取数据,并将所读取的第一待读取数据发送至第一数据读取请求发送端。
[0032]第二方面,本专利技术实施例提供了一种数据处理方法,应用于数据存储引擎,所述方法包括:
[0033]接收第二数据写入请求,所述第二数据写入请求中包括第二待写入数据的标识,
第二待写入数据的长度以及第二待写入数据对象的标识;
[0034]将所述第二待写入数据的标识对应的第二待写入数据,写入所述第二待写入数据对象的标识所对应的第二待写入数据对象中;
[0035]将所述第二待写入数据的标识,第二待写入数据的偏移量和所述第二待写入数据的长度确定为第四索引项,并将所述第四索引项写入预设存储区域中;其中,所述第二待写入数据的偏移量,根据所述第二待写入数据对象中历史数据的总长度确定。
[0036]可选地,所述方法还包括:
[0037]根据所述第二待写入数据对象的标识,确定所述第二待写入数据对象对应的第三索引文件;
[0038]将所述第二待写入数据的标识和所述第二待写入数据的长度确定为第五索引项,并将所述第五索引项写入所述第三索引文件中。
[0039]可选地,所述方法还包括:
[0040]将所述第二待写入数据的长度,与所述第二待写入数据对象中历史数据的总长度之和,更新为所述第二待写入数据对象中历史数据的总长度。
[0041]可选地,所述方法还包括:
[0042]接收第二数据读取请求,所述第二数据读取请求中包括第二待读取数据的标识,以及第二待读取数据对象的标识;
[0043]根据所述第二待读取数据的标识,从所述预设存储区域中读取第二待读取数据的偏移量和第二待读取数据的长度;
[0044]根据所述第二待读取数据对象的标本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,应用于数据存储引擎,所述方法包括:接收数据删除请求,所述数据删除请求中包括待删除数据的标识,以及待删除数据所在待删除数据对象的标识;根据所述待删除数据的标识,从预设存储区域中读取待删除数据的偏移量和待删除数据的长度,其中,所述预设存储区域中待删除数据的偏移量和待删除数据的长度为:待删除数据在写入时存储至所述预设存储区域中的;根据所述待删除数据对象的标识,确定待删除数据对象对应的索引节点,所述索引节点中包含所述待删除数据对象与所述待删除数据对象对应页page之间的关系;根据所述待删除数据的偏移量和所述待删除数据的长度,修改所述索引节点中所述待删除数据对象与所述待删除数据对象对应page之间的关系。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:根据所述待删除数据对象的标识,确定所述待删除数据对象对应的第一索引文件;遍历所述第一索引文件中的索引项,根据所述待删除数据的标识和所述待删除数据的长度,从所述第一索引文件中确定所述待删除数据对应的第一索引项,以及所述第一索引项的偏移量和所述第一索引项的长度;对所述第一索引项进行删除。3.根据权利要求2所述的方法,其特征在于,所述对所述第一索引项进行删除的步骤,包括:基于第一索引文件的标识,以及所述第一索引项的偏移量和所述第一索引项的长度,调用预设函数,对所述第一索引项执行删除操作,所述预设函数用于对所述第一索引项进行删除,且不会留下空洞;或者,删除所述第一索引项,并将所述第一索引项标记为已删除,以及在删除的第一索引项占用的存储空间达到预设阈值时,重写所述第一索引文件。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收第一数据写入请求,所述第一数据写入请求中包括第一待写入数据的标识,第一待写入数据的长度以及第一待写入数据对象的标识;将所述第一待写入数据的标识对应的第一待写入数据,写入所述第一待写入数据对象的标识所对应的第一待写入数据对象中;将所述第一待写入数据的标识,第一待写入数据的偏移量和所述第一待写入数据的长度确定为第二索引项,并将所述第二索引项写入所述预设存储区域中;其中,所述第一待写入数据的偏移量,根据所述第一待写入数据对象中历史数据的总长度确定。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:根据所述第一待写入数据对象的标识,确定所述第一待写入数据对象对应的第二索引文件;将所述第一待写入数据的标识和所述第一待写入数据的长度确定为第三索引项,并将所述第三索引项写入所述第二索引文件中。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:将所述第一待写入数据的长度,与所述第一待写入数据对象中历史数据的总长度之
和,更新为所述第一待写入数据对象中历史数据的总长度。7.根据权利要求1

6任一项所述的方法,其特征在于,所述方法还包括:接收第一数据读取请求,所述第一数据读取请求中包括第一待读取数据的标识,以及第一待读取数据对象的标识;根据所述第一待读取数据的标识,从所述预设存储...

【专利技术属性】
技术研发人员:忻晨
申请(专利权)人:北京金山云网络技术有限公司
类型:发明
国别省市:

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

1