一种有效数据索引方法、系统、装置及存储介质制造方法及图纸

技术编号:33773851 阅读:15 留言:0更新日期:2022-06-12 14:26
本发明专利技术公开了一种有效数据索引方法、系统、装置及存储介质。有效数据索引方法包括:将第一块号的值设置为零;解压第一二元组,获取第二块号和第一块数;计算第二块号和第一块号的差值;将第二块号的值设置为第一块号的值;根据差值和第一块数生成第二二元组;确认第一二元组未完全解压,返回解压第一二元组,获取第二块号和第一块数这一步骤;确认第一二元组已完全解压,根据第二二元组完成有效数据的索引。本发明专利技术在原有的第一二元组的基础上,通过计算差值减小了块号的数值,使得表示块号所需的bit数减少;通过有效数据块的块数与对应的块号生成第二二元组,进一步减少了通过各个第二二元组索引其中的有效数据块所需的bit数。二二元组索引其中的有效数据块所需的bit数。二二元组索引其中的有效数据块所需的bit数。

【技术实现步骤摘要】
一种有效数据索引方法、系统、装置及存储介质


[0001]本申请涉及计算机
,尤其是一种有效数据索引方法、系统、装置及存储介质。

技术介绍

[0002]数据库数据、操作系统备份数据以及虚拟机数据通常稀疏(sparse)存储于文件或块设备,如数据库的数据文件、操作系统分区(Partition)的块设备和虚拟机镜像文件。为了节约存储空间,在备份以上数据时通常仅备份已使用或曾使用的数据块,即有效数据块。因此,在备份以上数据时,需要在原始数据中找到有效数据块的位置,即需要进行有效数据的索引。传统的有效数据索引方法通过位图或者位置向量记录有效数据在原始数据中的位置。其中,位图中的每个bit表示一块固定长度的数据,当bit置1时表示对应的数据块为有效数据块。通过若干的bit构成的位图即可表示一组有效数据块;位置向量为二元组构成的数组,将连续的若干有效数据块表示为二元组,该二元组包括起始块地址和连续有效数据块的长度。
[0003]然而,一方面,当原始数据非常多,并且有效数据非常少时,位图将由大量0位填充,位图的有效利用率不高。而且位图本身的大小只与原始数据的大小相关,不会因有效数据分布和大小而改变;另一方面,当原始数据非常多,并且有效数据块非常离散,即连续的有效数据块较少或碎片化严重时,位置向量中的二元组个数将非常多。极端情况下,每个有效数据块对应一个二元组。因此,传统的有效数据索引方法索引每个有效数据块所需的bit数较多,资源占用大。

技术实现思路

[0004]本专利技术的目的在于至少一定程度上解决现有技术中存在的技术问题之一。
[0005]为此,本专利技术实施例的一个目的在于提供一种有效数据索引方法、系统、装置及存储介质,以减少索引每个有效数据块所需的bit数。
[0006]为了达到上述技术目的,本专利技术实施例所采取的技术方案包括:
[0007]第一方面,本专利技术实施例提供了一种有效数据索引方法,包括以下步骤:
[0008]将第一块号的值设置为零;
[0009]解压第一二元组,获取第二块号和第一块数,所述第二块号为各个所述第一二元组的起始块地址,所述第一块数为各个所述第一二元组中连续的有效数据块的块数;
[0010]计算所述第二块号和所述第一块号的差值;
[0011]将所述第二块号的值设置为所述第一块号的值;
[0012]根据所述差值和所述第一块数生成第二二元组;
[0013]确认所述第一二元组未完全解压,返回解压第一二元组,获取第二块号和第一块数这一步骤;
[0014]确认所述第一二元组已完全解压,根据所述第二二元组完成有效数据的索引。
[0015]本专利技术实施例的一种有效数据索引方法,通过在原有的第一二元组的基础上,将第一二元组的块号与其前一个第一二元组块号的差值作为新的块号,减小了块号的数值,使得表示块号所需的bit数减少;通过获取各个第一二元组中连续的有效数据块的块数,并与对应的块号生成第二二元组,进一步减少了通过各个第二二元组索引其中的有效数据块所需的bit数。
[0016]另外,根据本专利技术上述实施例的一种有效数据索引方法,还可以具有以下附加的技术特征:
[0017]进一步地,本专利技术实施例的一种有效数据索引方法中,所述根据所述差值和所述第一块数生成第二二元组,包括:
[0018]将所述差值传入pack函数,生成第三块号;
[0019]将所述第一块数传入pack函数,生成第二块数;
[0020]根据所述第三块号和所述第二块数生成所述第二二元组。
[0021]进一步地,在本专利技术的一个实施例中,所述将所述差值传入pack函数,生成第三块号,包括:
[0022]将所述差值传入pack函数,返回第一编码缓冲区;
[0023]将所述第一编码缓冲区写入目标缓冲区,生成所述第三块号。
[0024]进一步地,在本专利技术的一个实施例中,所述将所述第一块数传入pack函数,生成第二块数,包括:
[0025]将所述第一块数传入pack函数,返回第二编码缓冲区;
[0026]将所述第二编码缓冲区写入目标缓冲区,生成所述第二块数。
[0027]第二方面,本专利技术实施例提出了一种有效数据索引系统,包括:
[0028]第一块号赋值模块,用于将第一块号的值设置为零,并用于将所述第二块号的值设置为所述第一块号的值;
[0029]第一二元组解压模块,用于解压第一二元组,获取第二块号和第一块数;
[0030]差值计算模块,用于计算所述第二块号和所述第一块号的差值;
[0031]第二二元组生成模块,用于根据所述差值和所述第一块数生成第二二元组;
[0032]判断模块,用于确认所述第一二元组未完全解压,返回解压第一二元组,获取第二块号和第一块数这一步骤,并用于确认所述第一二元组已完全解压,根据所述第二二元组完成有效数据的索引。
[0033]进一步地,在本专利技术的一个实施例中,所述第二二元组生成模块包括:
[0034]第三块号生成模块,用于将所述差值传入pack函数,生成第三块号;
[0035]第二块数生成模块,用于将所述第一块数传入pack函数,生成第二块数。
[0036]进一步地,在本专利技术的一个实施例中所述第三块号生成模块包括:
[0037]第一编码缓冲区返回模块,用于将所述差值传入pack函数,返回第一编码缓冲区;
[0038]第一写入模块,用于将所述第一编码缓冲区写入目标缓冲区,生成所述第三块号。
[0039]进一步地,在本专利技术的一个实施例中,所述第二块数生成模块包括:
[0040]第二编码缓冲区返回模块,用于将所述第一块数传入pack函数,返回第二编码缓冲区;
[0041]第二写入模块,用于将所述第二编码缓冲区写入目标缓冲区,生成所述第二块数。
[0042]第三方面,本专利技术实施例提供了一种有效数据索引装置,包括:
[0043]至少一个处理器;
[0044]至少一个存储器,用于存储至少一个程序;
[0045]当所述至少一个程序被所述至少一个处理器执行时,使得所述至少一个处理器实现所述的一种有效数据索引方法。
[0046]第四方面,本专利技术实施例提供了一种存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于实现所述的一种有效数据索引方法。
[0047]本专利技术的优点和有益效果将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到:
[0048]本专利技术实施例通过在原有的第一二元组的基础上,将第一二元组的块号与其前一个第一二元组块号的差值作为新的块号,减小了块号的数值,使得表示块号所需的bit数减少;通过获取各个第一二元组中连续的有效数据块的块数,并与对应的块号生成第二二元组,进一步减少了通过各个第二二元组索引其中的有效数据块所需的bit数。
附图说明
[0049]为了更本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种有效数据索引方法,其特征在于,包括以下步骤:将第一块号的值设置为零;解压第一二元组,获取第二块号和第一块数,所述第二块号为各个所述第一二元组的起始块地址,所述第一块数为各个所述第一二元组中连续的有效数据块的块数;计算所述第二块号和所述第一块号的差值;将所述第二块号的值设置为所述第一块号的值;根据所述差值和所述第一块数生成第二二元组;确认所述第一二元组未完全解压,返回解压第一二元组,获取第二块号和第一块数这一步骤;确认所述第一二元组已完全解压,根据所述第二二元组完成有效数据的索引。2.根据权利要求1所述的一种有效数据索引方法,其特征在于,所述根据所述差值和所述第一块数生成第二二元组,包括:将所述差值传入pack函数,生成第三块号;将所述第一块数传入pack函数,生成第二块数;根据所述第三块号和所述第二块数生成所述第二二元组。3.根据权利要求2所述的一种有效数据索引方法,其特征在于,所述将所述差值传入pack函数,生成第三块号,包括:将所述差值传入pack函数,返回第一编码缓冲区;将所述第一编码缓冲区写入目标缓冲区,生成所述第三块号。4.根据权利要求1所述的一种有效数据索引方法,其特征在于,所述将所述第一块数传入pack函数,生成第二块数,包括:将所述第一块数传入pack函数,返回第二编码缓冲区;将所述第二编码缓冲区写入目标缓冲区,生成所述第二块数。5.一种有效数据索引系统,其特征在于,包括:第一块号赋值模块,用于将第一块号的值设置为零,并用于将所述第二块号的值设置为所述第一块号的值;第一二元组解压模块,用于解压第一二元组,获取第二块号和第一块数;差值计算模块,用于计算所述第二块号...

【专利技术属性】
技术研发人员:马立珂王贤达黄律棋王子骏
申请(专利权)人:广州鼎甲计算机科技有限公司
类型:发明
国别省市:

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

1