CN103744783A - 重复数据删除性能测试方法和装置 - Google Patents
重复数据删除性能测试方法和装置 Download PDFInfo
- Publication number
- CN103744783A CN103744783A CN201410002975.8A CN201410002975A CN103744783A CN 103744783 A CN103744783 A CN 103744783A CN 201410002975 A CN201410002975 A CN 201410002975A CN 103744783 A CN103744783 A CN 103744783A
- Authority
- CN
- China
- Prior art keywords
- data
- memory block
- size
- memory
- sample data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明实施例提供一种重复数据删除性能测试方法和装置,一种重复数据删除性能测试方法包括:按指定分布选取存储样本数据的内存空间中m个连续内存块中的数据,每一内存块的大小为a;根据所述样本数据的修改记录比特图,将所述m个连续的内存块中的数据分别加上各自内存块的修改次数;将所述m个连续的内存块中的m/k个内存块中的数据加1,生成待发送的数据,并在所述样本数据的修改记录比特图中所述m/k个内存块对应的位置加1,k为重删率;将所述待发送的数据发送至待测试存储***;统计所述待发送的数据的发送速率,以得到对所述待测试存储***的重复数据删除性能进行测试结果。
Description
技术领域
本发明实施例涉及数据存储技术,尤其涉及一种重复数据删除性能测试方法和装置。
背景技术
数据缩减是目前存储领域非常流行的技术,重复数据删除(以下简称重删)是数据缩减技术中的重要技术之一,应用重复数据删除技术的数据存储***可以将一个数据文件中多段重复的数据仅存储一段,仅将其它重复数据段的起始位置和长度记录下来,这样可以大大缩减存储数据文件所需的存储空间。重删性能的优劣对数据存储***的数据读写速度将产生影响。
为了对数据存储***的重删性能进行测试,现有技术采用生成一个随机的数据文件,并通过修改一定比例的一组文件内容来构造***重删率,然后将数据写入数据存储***来对数据存储***的重删性能进行测试。但上述方法仅能构造一定的***重删率,而对影响数据存储***的重删性能的其他参数都无法控制,并且在测试过程中,前后写入的数据差异较大,对重删性能的测试是不稳定的。
发明内容
本发明实施例提供一种重复数据删除性能测试方法和装置,用于稳定地测试数据存储***的重删性能。
第一方面提供一种重复数据删除性能测试方法,包括:
按指定分布选取存储样本数据的内存空间中m个连续内存块中的数据,每一内存块的大小为a;
根据所述样本数据的修改记录比特图,将所述m个连续的内存块中的数据分别加上各自内存块的修改次数;
将所述m个连续的内存块中的m/k个内存块中的数据加1,生成待发送的数据,并在所述样本数据的修改记录比特图中所述m/k个内存块对应的位置加1,k为重删率;
将所述待发送的数据发送至待测试存储***;
统计所述待发送的数据的发送速率,以得到所述待测试存储***的重复数据删除性能测试结果。
在第一方面第一种可能的实现方式中,所述按指定分布选取存储样本数据的内存空间中m个连续内存块中的数据之前,还包括:
申请存储空间大小为M的内存空间;
将所述存储空间大小为M的内存空间平均分割为大小为a的内存块,并在每一内存块中存入指定压缩率的随机数据;
将每一所述内存块中位置相同的n个比特中的数据扩展为扩展序列,以将每个大小为a的内存块中存储的数据扩展为大小为2n×a的样本数据,所述大小为M的内存空间共生成大小为2n×M的样本数据;
所述按指定分布选取存储样本数据的内存空间中m个连续内存块中的数据,每一内存块的大小为a,包括:
按指定分布选取所述大小为2n×M的样本数据中m个连续内存块中的数据。
结合第一方面第一种可能的实现方式,在第二种可能的实现方式中,所述将每一所述内存块中位置相同的n个比特中的数据扩展为存储扩展序列,以将每个大小为a的内存块中存储的数据扩展为大小为2n×a的样本数据,所述大小为M的内存空间共生成大小为2n×M的样本数据,包括:
将每一所述内存块中最高位的n个比特中的数据扩展为扩展序列,以将每个大小为a的内存块中存储的数据扩展为大小为2n×a的样本数据,所述大小为M的内存空间共生成大小为2n×M的样本数据。
结合第一方面至第一方面第二种可能的实现方式中任一种可能的实现方式,在第三种可能的实现方式中,所述根据所述样本数据的修改记录比特图,将所述m个连续的内存块中的数据分别加上各自内存块的修改次数,包括:
根据所述样本数据的修改记录比特图,将所述m个连续的内存块中最低位的t个比特中的数据分别加上各自内存块的修改次数;
所述将所述m个连续的内存块中的m/k个内存块中的数据加1,生成待发送的数据,并在所述样本数据的修改记录比特图中所述m/k个内存块对应的位置加1,k为重删率,包括:
将所述m个连续的内存块中的m/k个内存块中最低位的t个比特中的数据加1,生成待发送的数据,并在所述样本数据的修改记录比特图中所述m/k个内存块对应的位置加1,k为重删率。
结合第一方面至第一方面第三种可能的实现方式中任一种可能的实现方式,在第四种可能的实现方式中,所述方法还包括:
生成所述修改记录比特图,所述修改记录比特图用以记录所述大小为M的存储空间中每一内存块的修改次数。
结合第一方面至第一方面第四种可能的实现方式中任一种可能的实现方式,在第五种可能的实现方式中,所述指定分布包括帕累托Pareto分布或随机分布。
第二方面提供一种重复数据删除性能测试装置,包括:
选择模块,用于按指定分布选取存储样本数据的内存空间中m个连续内存块中的数据,每一内存块的大小为a;
修改模块,用于根据所述样本数据的修改记录比特图,将所述m个连续的内存块中的数据分别加上各自内存块的修改次数;
数据生成模块,用于将所述m个连续的内存块中的m/k个内存块中的数据加1,生成待发送的数据,并在所述样本数据的修改记录比特图中所述m/k个内存块对应的位置加1,k为重删率;
发送模块,用于将所述待发送的数据发送至待测试存储***;
统计模块,用于统计所述待发送的数据的发送速率,以得到所述待测试存储***的重复数据删除性能测试结果。
在第二方面第一种可能的实现方式中,所述重复数据删除性能测试装置还包括:
申请模块,用于申请存储空间大小为M的内存空间;
分割模块,用于将所述存储空间大小为M的内存空间平均分割为大小为a的内存块,并在每一内存块中存入指定压缩率的随机数据;
扩展模块,用于将每一所述内存块中位置相同的n个比特中的数据扩展为扩展序列,以将每个大小为a的内存块中存储的数据扩展为大小为2n×a的样本数据,所述大小为M的内存空间共生成大小为2n×M的样本数据;
所述选择模块,具体用于按指定分布选取存储所述大小为2n×M的数据的内存空间中m个连续内存块中的数据。
结合第二方面第一种可能的实现方式,在第二种可能的实现方式中,所述扩展模块,具体用于将每一所述内存块中最高位的n个比特中的数据扩展为扩展序列,以将每个大小为a的内存块中存储的数据扩展为大小为2n×a的样本数据,所述大小为M的内存空间共生成大小为2n×M的样本数据。
结合第二方面至第二方面第二种可能的实现方式中任一种可能的实现方式,在第三种可能的实现方式中,所述修改模块,具体用于根据所述样本数据的修改记录比特图,将所述m个连续的内存块中最低位的t个比特中的数据分别加上各自内存块的修改次数;
所述数据生成模块,具体用于将所述m个连续的内存块中的m/k个内存块中最低位的t个比特中的数据加1,生成待发送的数据,并在所述样本数据的修改记录比特图中所述m/k个内存块对应的位置加1,k为重删率。
结合第二方面至第二方面第三种可能的实现方式中任一种可能的实现方式,在第四种可能的实现方式中,所述重复数据删除性能测试装置还包括:
修改记录生成模块,具体用于生成所述修改记录比特图,所述修改记录比特图用以记录所述大小为M的存储空间中每一内存块的修改次数。
结合第二方面至第二方面第四种可能的实现方式中任一种可能的实现方式,在第五种可能的实现方式中,所述指定分布包括帕累托Pareto分布或随机分布。
本实施例提供的重复数据删除性能测试方法和装置,通过引入修改记录Bitmap记录存储样本数据的内存块的修改次数,并提供了生成测试数据的流程,使生成的测试数据可以对重删率、局部性、热点程度和引用计数分布等影响重删性能的参数进行控制,从而提供了一种性能稳定的重删性能测试方法。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的重复数据删除性能测试方法实施例一的流程图;
图2为本发明实施例提供的重复数据删除性能测试方法实施例二的流程图;
图3为本发明实施例提供的重复数据删除性能测试方法数据扩展和选择示意图;
图4为本发明实施例提供的重复数据删除性能测试装置实施例一的结构示意图;
图5为本发明实施例提供的重复数据删除性能测试装置实施例二的结构示意图;
图6为本发明实施例提供的重复数据删除性能测试装置实施例三的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的重复数据删除性能测试方法实施例一的流程图,如图1所示,本实施例的方法包括:
步骤S101,按指定分布选取存储样本数据的内存空间中m个连续内存块中的数据,每一内存块的大小为a。
具体地,为了对数据存储***的重删性能进行测试,首先需要生成一段数据,该数据具有一定的重删率、局部性、热点程度、引用计数分布等参数,将该数据发送至数据存储***后,根据该数据的发送速率,可以得到数据存储***存储该数据所需时间,从而可以得到数据存储***的重删性能。根据生成的数据对数据存储***存储的重删性能进行测试的方法仅涉及数据发送速率的统计,可以采用现有的任一种方法实现。但现有的对数据存储***的重删性能进行测试的方法中,由于存储空间大小的限制,仅能依靠生成的一段有限大小的随机数据进行测试,这样便于控制该数据的重删率,而对影响重删性能的其它参数则很难控制。因此本实施例提供的重复数据删除性能测试方法关注向数据存储***发送的数据的生成方法,而对于将生成的数据发送至数据存储***后对数据存储***重删性能的具体测试方法,则可以使用现有的任一种测试方法,本实施例不再赘述。
首先,在内存空间中存储有一段用于测试重删性能的样本数据,该样本数据根据一定的机制生成,由于样本数据是用于测试重删性能,因此需要将存储样本数据的内存空间平均分成多个内存块,每个内存块的容量大小为a,以每个内存块中存储的数据为单位进行测试。样本数据的容量可能很大,而在测试过程的每一时刻,只需使用样本数据中的一段,因此首先在存储样本数据的内存空间中选择连续的m个内存块中的数据。
步骤S102,根据样本数据的修改记录比特图,将m个连续的内存块中的数据分别加上各自内存块的修改次数。
具体地,在对数据存储***的重删性能进行测试的过程中,需要下发多次数据,而如果在每次下发数据时都生成新的数据,则需要消耗大量的内存空间。因此本实施例中引入修改记录比特图(Bitmap),在修改记录比特图中记录有存储样本数据的内存空间中每一内存块的修改次数,在每次读取存储空间中的m个连续内存块中的数据时,都在选择的m个连续的内存块中的数据中加入各自内存块的修改次数。这样就无需为测试的每次数据下发过程生成新的数据,而是可以使用较少的存储空间仅存储修改记录Bitmap,则可以使用有限的内存空间存储一段数据,而满足重删性能测试中多次数据生成的需要。
例如,步骤S101中从内存空间中选取了一段存储样本数据的内存块,对其进行处理后发送至数据存储***进行测试;当需要再次下发数据时,若选取的内存块与前次选取的数据块有重复,若按照相同的处理机制对数据进行处理,则重复的内存块中的数据会与前次完全相同。而采用本步骤的方法后,对每次选取并进行处理的内存块的修改次数进行记录,并在选取内存块后在该内存块中存储的数据中加入该内存块的修改次数,则每次选取的内存块中的数据都会不同,这样即避免了上述问题。并且,采用修改记录Bitmap的形式对内存块的修改次数进行记录,十分节约内存空间,例如采用1Byte记录一个内存块的修改次数,则可以记录28=256次修改记录,对于128GB的庞大数据而言,若一个内存块的大小为4KB,则一共仅需128GB/4KB*1B=32MB的内存空间存储修改记录Bitmap。
步骤S103,将m个连续的内存块中的m/k个内存块中的数据加1,生成待发送的数据,并在样本数据的修改记录比特图中该m/k个内存块对应的位置加1,k为重删率。
具体地,为了对重删性能进行测试,需要构造一定的重删率,因此在选定的m个连续的内存块中选择m/k个内存块,并将选定的内存块中的数据加1,而未选定的内存块中的数据不变,其中k为重删率,从而将m个内存块中的数据作为待发送的数据。另外,在对m/k个内存块中的数据进行修改后,需要在修改记录Bitmap中该些内存块对应的位置加1,以更新修改记录Bitmap。
步骤S104,将待发送的数据发送至待测试存储***。
步骤S105,统计待发送的数据的发送速率,以得到待测试存储***的重复数据删除性能测试结果。
具体地,将待发送的数据发送至待测试存储***时,可以对该数据的发送速率进行统计,根据该发送速率可以得到待测试存储***的重删性能。具体的统计测试方法此处不再赘述。
对于本实施例生成的待发送数据,在重删性能测试过程中,每次下发的数据恰有比率为(k-1)/k的重复块,比率1/k的新块,因此可以通过调整k的值来对控制重删新性能测试的重删率。另外,每次都读取m个连续的内存块中的数据,具有局部性,因此可以通过调整m的值来控制重删性能测试的局部性。通过调整指定分布的相关参数,可以控制重删性能测试的热点程度。每个内存块中的数据被选中下发时,有(k-1)/k的概率引用计数加1,有1/k的概率变成一个新块,因此引用计数的分布函数为:
可见重删新性能测试的引用计数分布服从指数分布。
因此采用本实施例的重复数据删除性能测试方法,可以对生成的数据的重删率、局部性、热点程度和引用计数分布等影响重删性能的参数进行控制,因此可以满足对数据存储***的重删性能进行测试的要求。
本实施例,通过引入修改记录Bitmap记录存储样本数据的内存块的修改次数,并提供了生成测试数据的流程,可以利用较小的内存空间生成一段测试数据,并且可以对生成的测试数据的重删率、局部性、热点程度和引用计数分布等影响重删性能的参数进行控制,从而提供了一种性能稳定、节约***资源的重删性能测试方法。
图2为本发明实施例提供的重复数据删除性能测试方法实施例二的流程图,如图2所示,本实施例的方法包括:
步骤S201,申请存储空间大小为M的内存空间。
具体地,由于数据存储***的性能越来越强大,因此对数据存储***的重删性能进行测试需要较大的样本数据,而存储较大的样本数据需要很大的内存空间。本实施例提供的方法在图1所示实施例的基础上,还用于试用较小的内存空间生成大规模的样本数据。
首先,申请存储空间大小为M的内存空间。
步骤S202,将存储空间大小为M的内存空间平均分割为大小为a的内存块,并在每一内存块中存入压缩率为c的随机数据。
具体地,将存储空间大小为M的内存空间平均分割为大小为a的内存块,内存块的大小a根据***处理能力决定。在每个数据块中存储入压缩率为c的随机数据。假如c表示压缩率,将每个大小为a的内存块平均分成c份,每一份都填充相同的随机数据,则理论上这个大小为a的内存块的压缩率就是c。
实际实行时因为压缩算法中要记录重复数据的起始位置和长度,会造成压缩率下降。压缩率越高,这种偏差越大,如果压缩率很低,这种偏差就很少。后续步骤对内存块的操作也有可能对压缩率产生影响,但是这种影响很小。所以压缩率c控制一个粗略的相对压缩率大小,实际测试时可以尝试多次调整压缩率c参数人工校正达到期望的压缩率。
步骤S203,将每一内存块中位置相同的n个比特中的数据扩展为扩展序列,以将每个大小为a的内存块中存储的数据扩展为大小为2n×a的样本数据,大小为M的内存空间共生成大小为2n×M的样本数据。
具体地,为了使大小为M的内存空间产生更多的样本数据,在每一内存块中选择一段长度为n比特的存储空间,并将该n个比特中的数据扩展为扩展序列,每一内存块中存储扩展序列的n个比特位于相同的位置。由于每个比特中可以存储两位数据,因此n个比特共可以存储2n个数据,每一大小为a的内存块可以扩展为大小为2n×a的数据,则大小为M的内存空间共可以生成大小为2n×M的样本数据。
例如申请大小为128MB的内存空间,在每个内存块中使用10个比特存储扩展序列,则128MB的内存空间共可以生成210×128MB=128GB的样本数据。
扩展序列的生成方法例如可以是,首先选定内存块中的n个比特,然后将该n个比特中已存储的数据分别加上1至2n-1的和共同作为扩展序列,这样即可将该n个比特中的数据扩展为2n个扩展序列,每个大小为a内存块中的数据被扩展为大小为2n×a的数据。
步骤S204,按指定分布选取大小为2n×M的样本数据的内存空间中m个连续内存块中的数据。
具体地,首先在扩展后的大小为2n×M的样本数据中按指定分布选取一个内存块的起始数据,然后以该起始数据为起点选择m个连续的内存块中的数据。具体的选择方法如图3所示,图3为本发明实施例提供的重复数据删除性能测试方法数据扩展和选择示意图,其中,存储空间30为从内存中申请的大小为M的内存空间,将存储空间30平均分割为若干大小为a的内存块,内存块301、内存块302和内存块303分别为存储空间30中大小为a的内存块,其中内存块301位于存储空间30头部,内存块303位于存储空间30尾部。在存储空间30中每一大小为a的内存块中分别存入指定压缩率的随机数据。然后在存储空间30中每一大小为a的内存块中选择位置相同的n个比特,对该n个比特中存储的数据加1,则可以认为得到了与存储空间30大小相同的存储空间31中的数据,其中内存块311与内存块301的区别在于有n个比特中的数据被加1,内存块312与内存块302的区别在于有n个比特中的数据被加1,内存块313与内存块303的区别在于有n个比特中的数据被加1。依次类推,将存储空间30中每一大小为a的内存块中该位置相同的n个比特中存储的数据加2,则可以认为得到了存储空间32中的数据,将存储空间30中每一大小为a的内存块中该位置相同的n个比特中存储的数据加2n-1,则可以认为得到了存储空间33中的数据。存储空间31到存储空间33只是虚拟出的存储空间,实际只使用了大小为M的存储空间30,但依据上述方法可以得到大小为2n×M的数据。当按照指定分布选取数据时,首先选择起始数据,例如起始数据为内存块301中的数据,然后选择连续的m个内存块中的数据,若m个连续的数据块在M大小的存储空间内,则在存储空间30中依次选择即可,若m个连续的数据块超过了M大小的存储空间,则在内存块303之后继续选择内存块311中的数据,即按照扩展序列的顺序依次向后选择。
步骤S205,根据样本数据的修改记录比特图,将m个连续的内存块中的数据分别加上各自内存块的修改次数。
具体地,本步骤与步骤S102相同。
步骤S206,将m个连续的内存块中的m/k个内存块中的数据加1,生成待发送的数据,并在样本数据的修改记录比特图中该m/k个内存块对应的位置加1,k为重删率。
具体地,本步骤与步骤S103相同。
步骤S207,将待发送的数据发送至待测试存储***。
具体地,本步骤与步骤S104相同。
步骤S208,统计待发送的数据的发送速率,以得到待测试存储***的重复数据删除性能测试结果。
具体地,本步骤与步骤S105相同。
本实施例,通过引入修改记录Bitmap记录存储样本数据的内存块的修改次数,并提供了生成测试数据的流程,可以利用较小的内存空间生成一段测试数据,并且可以对生成的测试数据重删率、局部性、热点程度和引用计数分布等影响重删性能的参数进行控制,从而提供了一种性能稳定、节约***资源的重删性能测试方法。进一步地,由于在内存块中引入了扩展序列,因此可以使用较小的内存空间存储大规模的样本数据,进一步地提高了对重删性能测试的可靠性以及节约了***资源。
进一步地,步骤S203中将每一内存块中位置相同的n个比特中的数据扩展为扩展序列,具体可以包括:将每一内存块中最高位的n个比特中的数据扩展为扩展序列。
具体地,为了保证每一内存块中存储扩展序列的位置相同,可以将每一内存块最高位的n个比特中的数据扩展为扩展序列。例如可以依次对每一内存块最高位的n个比特中的数据加1,加2,一直加到2n-1,则可以生成2n-1个新的样本数据,加上原有的样本数据,共计2n个样本数据。
进一步地,步骤S205中,根据样本数据的修改记录比特图,将所述m个连续的内存块中的数据分别加上各自内存块的修改次数,具体包括:根据样本数据的修改记录比特图,将m个连续的内存块中最低位的t个比特中的数据分别加上各自内存块的修改次数p。步骤S206中,将m个连续的内存块中的m/k个内存块中的数据加1,生成待发送的数据,具体包括:将m个连续的内存块中的m/k个内存块中最低位的t个比特中的数据加1,生成待发送的数据。
具体地,同样为了保证每一内存块中存储修改次数的位置相同,可以在每一内存块最低位的t个比特中存储修改次数,每次对内存块进行修改或从修改记录Bitmap中读取的修改次数都累加入每一内存块最低的t个比特中。
进一步地,本发明实施例提供的重复数据删除性能测试方法还包括:生成修改记录比特图,修改记录比特图用以记录大小为M的存储空间中每一内存块的修改次数。
具体地,需要在内存空间中申请额外的存储空间存储修改记录Bitmap,修改记录Bitmap的大小可以根据测试规模和内存资源来调整。若将大小为M的存储空间中的数据扩展为大小为2n×M的样本数据,则需要为2n×M大小的存储空间申请额外的存储空间存储修改记录Bitmap。例如采用1Byte记录一个内存块的修改次数,M=128MB,n=10的情况下,若一个内存块的大小为4KB,则一共仅需210×128MB/4KB*1B=32MB的内存空间存储修改记录Bitmap。
进一步地,上述各实施例中,所述指定分布包括Pareto分布或随机分布。
具体地,Pareto分布也称为二八定律或80/20法则,此法则指在众多现象中,80%的结果取决于20%的原因,而这一法则在很多方面被广泛的应用。如80%的劳动成果取决于20%的前期努力、20%的人做了80%的工作或者20%的维基人贡献了80%的维基条目等等。Pareto分布的分布函数为:
图4为本发明实施例提供的重复数据删除性能测试装置实施例一的结构示意图,如图4所示,本实施例的重复数据删除性能测试装置包括:
选择模块41,用于按指定分布选取存储样本数据的内存空间中m个连续内存块中的数据,每一内存块的大小为a。
修改模块42,用于根据所述样本数据的修改记录比特图,将所述m个连续的内存块中的数据分别加上各自内存块的修改次数p。
数据生成模块43,用于将所述m个连续的内存块中的m/k个内存块中的数据加1,生成待发送的数据,并在所述样本数据的修改记录比特图中所述m/k个内存块对应的位置加1,k为重删率。
发送模块44,用于将所述待发送的数据发送至待测试存储***。
统计模块45,用于统计所述待发送的数据的发送速率,以得到所述待测试存储***的重复数据删除性能测试结果。
本实施例提供的重复数据删除性能测试装置用于实现图1所示方法实施例的技术方法,其实现原理和技术效果类似,此处不再赘述。
图5为本发明实施例提供的重复数据删除性能测试装置实施例二的结构示意图,如图5所示,本实施例的重复数据删除性能测试装置在图4的基础上,还包括:
申请模块51,用于申请存储空间大小为M的内存空间。
分割模块52,用于将所述存储空间大小为M的内存空间平均分割为大小为a的内存块,并在每一内存块中存入压缩率为c的随机数据。
扩展模块53,用于将每一所述内存块中位置相同的n个比特中的数据扩展为扩展序列,以将每个大小为a的内存块中存储的数据扩展为大小为2n×a的样本数据,所述大小为M的内存空间共生成大小为2n×M的样本数据。
选择模块41,具体用于按指定分布选取所述大小为2n×M的样本数据中m个连续内存块中的数据。
本实施例提供的重复数据删除性能测试装置用于实现图2所示方法实施例的技术方法,其实现原理和技术效果类似,此处不再赘述。
进一步地,扩展模块53,具体用于将每一所述内存块中最高位的n个比特中的数据扩展为扩展序列,以将每个大小为a的内存块中存储的数据扩展为大小为2n×a的样本数据,所述大小为M的内存空间共生成大小为2n×M的样本数据。
进一步地,修改模块42,具体用于根据所述样本数据的修改记录比特图,将所述m个连续的内存块中最低位的t个比特中的数据分别加上各自内存块的修改次数p;
数据生成模块43,具体用于将所述m个连续的内存块中的m/k个内存块中最低位的t个比特中的数据加1,生成待发送的数据,并在所述样本数据的修改记录比特图中所述m/k个内存块对应的位置加1,k为重删率。
图6为本发明实施例提供的重复数据删除性能测试装置实施例三的结构示意图,如图6所示,本实施例的重复数据删除性能测试装置在图5的基础上,还包括:
修改记录生成模块61,具体用于生成所述修改记录比特图,所述修改记录比特图用以记录所述大小为M的存储空间中每一内存块的修改次数。
进一步地,图4至图6所示实施例中,所述指定分布包括Pareto分布或随机分布。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (12)
1.一种重复数据删除性能测试方法,其特征在于,包括:
按指定分布选取存储样本数据的内存空间中m个连续内存块中的数据,每一内存块的大小为a;
根据所述样本数据的修改记录比特图,将所述m个连续的内存块中的数据分别加上各自内存块的修改次数;
将所述m个连续的内存块中的m/k个内存块中的数据加1,生成待发送的数据,并在所述样本数据的修改记录比特图中所述m/k个内存块对应的位置加1,k为重删率;
将所述待发送的数据发送至待测试存储***;
统计所述待发送的数据的发送速率,以得到所述待测试存储***的重复数据删除性能测试结果。
2.根据权利要求1所述的方法,其特征在于,所述按指定分布选取存储样本数据的内存空间中m个连续内存块中的数据之前,还包括:
申请存储空间大小为M的内存空间;
将所述存储空间大小为M的内存空间平均分割为大小为a的内存块,并在每一内存块中存入指定压缩率的随机数据;
将每一所述内存块中位置相同的n个比特中的数据扩展为扩展序列,以将每个大小为a的内存块中存储的数据扩展为大小为2n×a的样本数据,所述大小为M的内存空间共生成大小为2n×M的样本数据;
所述按指定分布选取存储样本数据的内存空间中m个连续内存块中的数据,每一内存块的大小为a,包括:
按指定分布选取所述大小为2n×M的样本数据中m个连续内存块中的数据。
3.根据权利要求2所述的方法,其特征在于,所述将每一所述内存块中位置相同的n个比特中的数据扩展为扩展序列,以将每个大小为a的内存块中存储的数据扩展为大小为2n×a的样本数据,所述大小为M的内存空间共生成大小为2n×M的样本数据,包括:
将每一所述内存块中最高位的n个比特中的数据扩展为扩展序列,以将每个大小为a的内存块中存储的数据扩展为大小为2n×a的样本数据,所述大小为M的内存空间共生成大小为2n×M的样本数据。
4.根据权利要求1~3任一项所述的方法,其特征在于,所述根据所述样本数据的修改记录比特图,将所述m个连续的内存块中的数据分别加上各自内存块的修改次数,包括:
根据所述样本数据的修改记录比特图,将所述m个连续的内存块中最低位的t个比特中的数据分别加上各自内存块的修改次数;
所述将所述m个连续的内存块中的m/k个内存块中的数据加1,生成待发送的数据,并在所述样本数据的修改记录比特图中所述m/k个内存块对应的位置加1,k为重删率,包括:
将所述m个连续的内存块中的m/k个内存块中最低位的t个比特中的数据加1,生成待发送的数据,并在所述样本数据的修改记录比特图中所述m/k个内存块对应的位置加1,k为重删率。
5.根据权利要求1~4任一项所述的方法,其特征在于,还包括:
生成所述修改记录比特图,所述修改记录比特图用以记录所述大小为M的存储空间中每一内存块的修改次数。
6.根据权利要求1~5任一项所述的方法,其特征在于,所述指定分布包括帕累托Pareto分布或随机分布。
7.一种重复数据删除性能测试装置,其特征在于,包括:
选择模块,用于按指定分布选取存储样本数据的内存空间中m个连续内存块中的数据,每一内存块的大小为a;
修改模块,用于根据所述样本数据的修改记录比特图,将所述m个连续的内存块中的数据分别加上各自内存块的修改次数;
数据生成模块,用于将所述m个连续的内存块中的m/k个内存块中的数据加1,生成待发送的数据,并在所述样本数据的修改记录比特图中所述m/k个内存块对应的位置加1,k为重删率;
发送模块,用于将所述待发送的数据发送至待测试存储***;
统计模块,用于统计所述待发送的数据的发送速率,以得到所述待测试存储***的重复数据删除性能测试结果。
8.根据权利要求7所述的重复数据删除性能测试装置,其特征在于,还包括:
申请模块,用于申请存储空间大小为M的内存空间;
分割模块,用于将所述存储空间大小为M的内存空间平均分割为大小为a的内存块,并在每一内存块中存入指定压缩率的随机数据;
扩展模块,用于将每一所述内存块中位置相同的n个比特中的数据扩展为扩展序列,以将每个大小为a的内存块中存储的数据扩展为大小为2n×a的样本数据,所述大小为M的内存空间共生成大小为2n×M的样本数据;
所述选择模块,具体用于按指定分布选取所述大小为2n×M的样本数据中m个连续内存块中的数据。
9.根据权利要求8所述的重复数据删除性能测试装置,其特征在于,所述扩展模块,具体用于在每一所述内存块中最高位的n个比特中的数据扩展为扩展序列,以将每个大小为a的内存块中存储的数据扩展为大小为2n×a的样本数据,所述大小为M的内存空间共生成大小为2n×M的样本数据。
10.根据权利要求7~9任一项所述的重复数据删除性能测试装置,其特征在于,所述修改模块,具体用于根据所述样本数据的修改记录比特图,将所述m个连续的内存块中最低位的t个比特中的数据分别加上各自内存块的修改次数;
所述数据生成模块,具体用于将所述m个连续的内存块中的m/k个内存块中最低位的t个比特中的数据加1,生成待发送的数据,并在所述样本数据的修改记录比特图中所述m/k个内存块对应的位置加1,k为重删率。
11.根据权利要求7~10任一项所述的重复数据删除性能测试装置,其特征在于,还包括:
修改记录生成模块,具体用于生成所述修改记录比特图,所述修改记录比特图用以记录所述大小为M的存储空间中每一内存块的修改次数。
12.根据权利要求7~11任一项所述的重复数据删除性能测试装置,其特征在于,所述指定分布包括帕累托Pareto分布或随机分布。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410002975.8A CN103744783B (zh) | 2014-01-03 | 2014-01-03 | 重复数据删除性能测试方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410002975.8A CN103744783B (zh) | 2014-01-03 | 2014-01-03 | 重复数据删除性能测试方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103744783A true CN103744783A (zh) | 2014-04-23 |
CN103744783B CN103744783B (zh) | 2016-08-31 |
Family
ID=50501802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410002975.8A Active CN103744783B (zh) | 2014-01-03 | 2014-01-03 | 重复数据删除性能测试方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103744783B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107577549A (zh) * | 2017-08-24 | 2018-01-12 | 郑州云海信息技术有限公司 | 一种存储重删功能的测试方法 |
CN110908966A (zh) * | 2019-11-15 | 2020-03-24 | 浪潮电子信息产业股份有限公司 | 一种重删率计算方法、装置、设备及可读存储介质 |
CN111880743A (zh) * | 2020-07-29 | 2020-11-03 | 北京浪潮数据技术有限公司 | 一种数据存储方法、装置、设备及存储介质 |
CN112558885A (zh) * | 2020-12-24 | 2021-03-26 | 展讯半导体(成都)有限公司 | 功能手机的存储器使用方法及相关产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102262582A (zh) * | 2010-05-25 | 2011-11-30 | 芯讯通无线科技(上海)有限公司 | 移动终端及其内存泄露检测方法 |
CN102831222A (zh) * | 2012-08-24 | 2012-12-19 | 华中科技大学 | 一种基于重复数据删除的差量压缩方法 |
US20130326112A1 (en) * | 2012-05-31 | 2013-12-05 | Young-Jin Park | Computer system having non-volatile memory and method of operating the computer system |
-
2014
- 2014-01-03 CN CN201410002975.8A patent/CN103744783B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102262582A (zh) * | 2010-05-25 | 2011-11-30 | 芯讯通无线科技(上海)有限公司 | 移动终端及其内存泄露检测方法 |
US20130326112A1 (en) * | 2012-05-31 | 2013-12-05 | Young-Jin Park | Computer system having non-volatile memory and method of operating the computer system |
CN102831222A (zh) * | 2012-08-24 | 2012-12-19 | 华中科技大学 | 一种基于重复数据删除的差量压缩方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107577549A (zh) * | 2017-08-24 | 2018-01-12 | 郑州云海信息技术有限公司 | 一种存储重删功能的测试方法 |
CN110908966A (zh) * | 2019-11-15 | 2020-03-24 | 浪潮电子信息产业股份有限公司 | 一种重删率计算方法、装置、设备及可读存储介质 |
CN110908966B (zh) * | 2019-11-15 | 2022-06-10 | 浪潮电子信息产业股份有限公司 | 一种重删率计算方法、装置、设备及可读存储介质 |
CN111880743A (zh) * | 2020-07-29 | 2020-11-03 | 北京浪潮数据技术有限公司 | 一种数据存储方法、装置、设备及存储介质 |
CN112558885A (zh) * | 2020-12-24 | 2021-03-26 | 展讯半导体(成都)有限公司 | 功能手机的存储器使用方法及相关产品 |
CN112558885B (zh) * | 2020-12-24 | 2022-11-22 | 展讯半导体(成都)有限公司 | 功能手机的存储器使用方法及相关产品 |
Also Published As
Publication number | Publication date |
---|---|
CN103744783B (zh) | 2016-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3754515A1 (en) | Reshard method and system in distributed storage system | |
CN103744783A (zh) | 重复数据删除性能测试方法和装置 | |
CN104615594B (zh) | 一种数据更新方法及装置 | |
CN103744617A (zh) | 一种键-值存储***中数据文件的合并压缩方法及装置 | |
CN103150260B (zh) | 重复数据删除方法和装置 | |
CN103064792A (zh) | 数据写入方法及装置 | |
CN106990926A (zh) | 一种固态硬盘磨损均衡的处理方法 | |
CN109471843A (zh) | 一种元数据缓存方法、***及相关装置 | |
CN104699415A (zh) | 固态硬盘写入控制方法和装置 | |
WO2002035548A3 (en) | Storing device, storing control method and program | |
CN103092886B (zh) | 一种数据查询操作的实现方法、装置及*** | |
CN104951519A (zh) | 一种生成序列号的方法及装置 | |
Cichon et al. | Approximate counters for flash memory | |
CN103823634B (zh) | 一种支持无随机写模式的数据处理方法及*** | |
TWI534704B (zh) | 時間序列資料處理方法及其系統 | |
CN103577349B (zh) | 在高速缓存中选择数据进行刷盘的方法和装置 | |
CN109753446A (zh) | 一种存储***下刷缓存数据的方法 | |
US8983916B2 (en) | Configurable data generator | |
Langdon | How many Good Programs are there? How Long are they? | |
CN104123347A (zh) | 一种应用于boss***的数据重删方法及*** | |
CN106254270A (zh) | 一种队列管理方法及装置 | |
CN106777276A (zh) | 用户信息的索引存储及原生信息展示的方法和装置 | |
US9501414B2 (en) | Storage control device and storage control method for cache processing according to time zones | |
CN104794226B (zh) | 基于HBase数据库对数据的写操作方法及装置 | |
US11461299B2 (en) | Key-value index with node buffers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220907 Address after: No. 1899 Xiyuan Avenue, high tech Zone (West District), Chengdu, Sichuan 610041 Patentee after: Chengdu Huawei Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TR01 | Transfer of patent right |