基于快照的重删指纹阈值的测试方法、装置、设备、介质与流程

文档序号:32517950发布日期:2022-12-13 17:20阅读:23来源:国知局
基于快照的重删指纹阈值的测试方法、装置、设备、介质与流程

1.本发明涉及数据重删技术领域,具体涉及一种基于快照的重删指纹阈值的测试方法、装置、设备、介质。


背景技术:

2.snapshot,也就是快照技术,在备份容灾时被广泛采用。快照是特定数据集的一个完整可用拷贝,该数据集包含源数据在拷贝点的静态映象;快照可以是数据再现的一个副本或者复制。按照snia的定义,快照有全量快照和增量快照两种类型,其中又各自使用了不同的快照技术。cow称为写时拷贝,或者写前拷贝。创建快照以后,如果源卷的数据发生了变化,那么快照系统会首先将原始数据拷贝到快照卷上对应的数据块中,然后再对源卷进行改写。row称为写即重定向。与cow是相对的概念。创建快照以后,快照系统把对数据卷的写请求重定向给了快照预留的存储空间,直接将新的数据写入快照卷上层业务读源卷时,创建快照前的数据从源卷读,创建快照后产生的数据,从快照卷读。它可以避免两次写操作引起的性能损失。
3.针对重删卷数据写入,一份数据写入记录一个逻辑地址(lba),物理地址(pba)和指纹锁(hba)。重删技术根本在于针对写入数据进行指纹计算,只保留一份数据(pba)和对应元数据(也就是说,元数据保存数据写入时对应逻辑地址lba到物理地址pba的映射关系l—》p)和指纹锁(hba)数据,重复数据即可以删除,记录元数据(l-p),重复数据删除多少一般存在上限,即重删率有最大规格。例如浪潮mcs系统设置重删指纹锁阈值为32。超出32个重复数据后,会在记录新的指纹数据。当源卷中开启重删功能,然后再进行row快照处理,此时涉及到数据的重删处理,元数据和指纹锁数据,row快照中的元数据读写。
4.当前针对row快照和重删卷的测试,一般都是采用io读写工具如vdbench,调整重删率参数进行读写。为提高测试的准确性,一般都是采用大量数据写入,加长写入时长,写入数据量的办法,以提高写入时触发概率。针对重删阈值在row快照这种场景下时,在测试过程中不能精确的测试到重删数据到达阈值时的处理情况,只能是加大测试力度,大量重复测试,以提高概率,不能保证必定能测试到该处理过程。


技术实现要素:

5.当前针对row快照和重删卷的测试,一般都是采用io读写工具如vdbench,调整重删率参数进行读写。为提高测试的准确性,一般都是采用大量数据写入,加长写入时长,写入数据量的办法,以提高写入时触发概率。针对重删阈值在row快照这种场景下时,在测试过程中不能精确的测试到重删数据到达阈值时的处理情况,只能是加大测试力度,大量重复测试,以提高概率,不能保证必定能测试到该处理过程,本发明提供一种基于快照的重删指纹阈值的测试方法、装置、设备、介质。
6.第一方面,本发明技术方案提供一种基于快照的重删指纹阈值的测试方法,包括以下步骤:
7.预设写入数据卷的重删数据文件;
8.复制重删数据文件并写入数据卷,写入时对数据卷做一次row快照并记录写入次数;
9.根据row快照判断当写入数据卷的重删数据文件与预设的重删数据文件一致时,判断记录的写入次数是否达到重删指纹阈值;
10.若否,执行步骤:复制重删数据文件并写入数据卷,写入时对数据卷做一次row快照并记录写入次数;
11.若是,复制重删数据文件并写入数据卷,写入时对数据卷做一次row快照,根据row快照判断当写入数据卷的重删数据文件与预设的重删数据文件一致时,对row快照中的元数据进行解析;
12.根据解析结果判断当元数据中存在两个物理地址时,输出测试通过,即重删指纹达到重删指纹阈值后的处理流程准确正常。
13.本技术中是向数据卷中写入数据(重删数据文件),做一次row快照,复制一次元数据映射,写入重复数据触发重删,在写入重复数据的次数达到重删指纹阈值时,继续写入重复数据,触发重删指纹阈值的切换过程。
14.进一步的,根据row快照判断当写入数据卷的重删数据文件与预设的重删数据文件一致时,判断记录的写入次数是否达到重删指纹阈值的步骤包括:
15.根据row快照中元数据地址映射关系读取写入数据卷的重删数据文件;
16.将获取的重删数据文件与预设的重删数据文件进行一致性校验;
17.当校验一致时,判断记录的写入次数是否达到重删指纹阈值。
18.进一步的,复制重删数据文件并写入数据卷,写入时对数据卷做一次row快照,根据row快照判断当写入数据卷的重删数据文件与预设的重删数据文件一致时,对row快照中的元数据进行解析的步骤中,对row快照中的元数据进行解析的步骤包括:
19.获取元数据中逻辑地址与物理地址的映射关系;
20.判断逻辑地址与物理地址是否是多对一的关系;
21.若是,元数据中存在一个物理地址;
22.若否,元数据中存在两个物理地址。
23.进一步的,将获取的重删数据文件与预设的重删数据文件进行一致性校验的步骤还包括:
24.当校验不一致时,输出写入异常提示信息。
25.在对数据卷做row快照时,通过写入数据和快照配合以测试数据卷的重删指纹阈值,不需要通过大量数据的持续写入来提高触发概率,本方法能够准确的测试到重删指纹阈值切换和处理机制,以判断在row快照中重删指纹处理机制是否能够正常处理。
26.第二方面,本发明技术方案还提供一种基于快照的重删指纹阈值的测试装置,包括预设模块、写入处理模块、第一判断模块、解析模块、测试结果输出模块;
27.预设模块,用于预设写入数据卷的重删数据文件;
28.写入处理模块,用于复制重删数据文件并写入数据卷,写入时对数据卷做一次row快照并记录写入次数;
29.第一判断模块,用于根据row快照判断当写入数据卷的重删数据文件与预设的重
删数据文件一致时,判断记录的写入次数是否达到重删指纹阈值;触发写入处理模块;
30.解析模块,用于第一判断模块判断写入次数达到重删指纹阈值触发写入处理模块,写入处理模块执行完成后,根据row快照判断当写入数据卷的重删数据文件与预设的重删数据文件一致时,对row快照中的元数据进行解析;
31.测试结果输出模块,用于根据解析结果判断当元数据中存在两个物理地址时,输出测试通过,即重删指纹达到重删指纹阈值后的处理流程准确正常。
32.本技术中是向数据卷中写入数据(重删数据文件),做一次row快照,复制一次元数据映射,写入重复数据触发重删,在写入重复数据的次数达到重删指纹阈值时,继续写入重复数据,触发重删指纹阈值的切换过程。
33.进一步的,该装置还包括一致性校验模块,具体包括读取单元和校验单元;
34.读取单元,根据row快照中元数据地址映射关系读取写入数据卷的重删数据文件;
35.校验单元,用于将获取的重删数据文件与预设的重删数据文件进行一致性校验;
36.第一判断模块,具体用于当校验单元输出校验一致时,判断记录的写入次数是否达到重删指纹阈值。
37.进一步的,解析模块包括获取单元、地址判断单元、解析结果输出单元;
38.获取单元,用于获取元数据中逻辑地址与物理地址的映射关系;
39.地址判断单元,判断逻辑地址与物理地址是否是多对一的关系,触发解析结果输出单元;
40.解析结果输出单元,用于根据地址判断单元的判断结果输出元数据中存在一个物理地址;或元数据中存在两个物理地址。
41.进一步的,测试结果输出模块,还用于当一致性校验模块输出校验不一致时,输出写入异常提示信息。
42.在对数据卷做row快照时,通过写入数据和快照配合以测试数据卷的重删指纹阈值,不需要通过大量数据的持续写入来提高触发概率,本方法能够准确的测试到重删指纹阈值切换和处理机制,以判断在row快照中重删指纹处理机制是否能够正常处理。
43.第三方面,本发明技术方案还提供一种电子设备,所述电子设备包括:
44.至少一个处理器;以及,
45.与所述至少一个处理器通信连接的存储器;其中,
46.存储器存储有可被至少一个处理器执行的计算机程序指令,所述计算机程序指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面所述的基于快照的重删指纹阈值的测试方法。
47.第四方面,本发明技术方案提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如第一方面所述的基于快照的重删指纹阈值的测试方法。
48.从以上技术方案可以看出,本发明具有以下优点:本发明使用的测试方法针对重删卷进行测试,验证数据重删后是否能够保证数据一致,验证重删的指纹达到阈值后的处理流程是否准确正常。不同于常规的测试方法,大数据量持续写入,概率性的测试,此方法能够精准的测试到重删达到阈值时的处理流程,以此验证row快照和重删数据的处理流程,从而提高产品的质量和稳定性。
49.此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
50.由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。
附图说明
51.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
52.图1是本发明一个实施例的方法的示意性流程图。
53.图2是本发明另一个实施例的方法的示意性流程图。
54.图3是本发明一个实施例的装置的示意性框图。
具体实施方式
55.针对重删卷数据写入,一份数据写入记录一个逻辑地址(lba),物理地址(pba)和指纹锁(hba)。重删技术根本在于针对写入数据进行指纹计算,只保留一份数据(pba)和对应元数据(也就是说,元数据保存数据写入时对应逻辑地址lba到物理地址pba的映射关系l—》p)和指纹锁(hba)数据,重复数据即可以删除,记录元数据(l-p),重复数据删除多少一般存在上限,即重删率有最大规格。例如浪潮mcs系统设置重删指纹锁阈值为32。超出32个重复数据后,会在记录新的指纹数据。当源卷中开启重删功能,然后再进行row快照处理,此时涉及到数据的重删处理,元数据和指纹锁数据,row快照中的元数据读写。
56.当前针对row快照和重删卷的测试,一般都是采用io读写工具如vdbench,调整重删率参数进行读写。为提高测试的准确性,一般都是采用大量数据写入,加长写入时长,写入数据量的办法,以提高写入时触发概率。针对重删阈值在row快照这种场景下时,在测试过程中不能精确的测试到重删数据到达阈值时的处理情况,只能是加大测试力度,大量重复测试,以提高概率,不能保证必定能测试到该处理过程。为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
57.如图1所示,本发明实施例提供一种基于快照的重删指纹阈值的测试方法,包括以下步骤:
58.步骤1:预设写入数据卷的重删数据文件;
59.步骤2:复制重删数据文件并写入数据卷,写入时对数据卷做一次row快照并记录写入次数;
60.步骤3:根据row快照判断当写入数据卷的重删数据文件与预设的重删数据文件一致时,判断记录的写入次数是否达到重删指纹阈值;
61.若否,执行步骤2;
62.若是,执行步骤4;
63.步骤4:复制重删数据文件并写入数据卷,写入时对数据卷做一次row快照,根据
row快照判断当写入数据卷的重删数据文件与预设的重删数据文件一致时,对row快照中的元数据进行解析;
64.步骤5:根据解析结果判断当元数据中存在两个物理地址时,输出测试通过,即重删指纹达到重删指纹阈值后的处理流程准确正常。
65.本技术中是向数据卷中写入数据(重删数据文件),做一次row快照,复制一次元数据映射,写入重复数据触发重删,在写入重复数据的次数达到重删指纹阈值时,继续写入重复数据,触发重删指纹阈值的切换过程。
66.如图2所示,本发明实施例提供一种基于快照的重删指纹阈值的测试方法,包括以下步骤:
67.s1:预设写入数据卷的重删数据文件;
68.s2:复制重删数据文件并写入数据卷,写入时对数据卷做一次row快照并记录写入次数;
69.s3:根据row快照中元数据地址映射关系读取写入数据卷的重删数据文件;
70.s4:将获取的重删数据文件与预设的重删数据文件进行一致性校验;
71.当校验一致时,执行步骤s5;当校验不一致时,执行步骤s8;
72.s5:判断记录的写入次数是否达到重删指纹阈值;
73.若否,执行步骤s2;
74.若是,执行步骤s6;
75.s6:复制重删数据文件并写入数据卷,写入时对数据卷做一次row快照,根据row快照判断当写入数据卷的重删数据文件与预设的重删数据文件一致时,对row快照中的元数据进行解析;本步骤中,对row快照中的元数据进行解析的步骤包括:获取元数据中逻辑地址与物理地址的映射关系;判断逻辑地址与物理地址是否是多对一的关系;若是,元数据中存在一个物理地址;若否,元数据中存在两个物理地址;
76.s7:根据解析结果判断当元数据中存在两个物理地址时,输出测试通过,即重删指纹达到重删指纹阈值后的处理流程准确正常。
77.s8:输出写入异常提示信息。
78.在对数据卷做row快照时,通过写入数据和快照配合以测试数据卷的重删指纹阈值,不需要通过大量数据的持续写入来提高触发概率,本方法能够准确的测试到重删指纹阈值切换和处理机制,以判断在row快照中重删指纹处理机制是否能够正常处理。
79.重删技术一般分为源端去重和宿端去重;源端去重首先在客户端计算待传输数据的指纹并通过与服务端进行指纹比对发现和消除重复内容,仅向服务端发送非重复数据内容,从而达到同时节约网络带宽和存储资源的目标。宿端去重直接将客户端的数据传输到服务端,并在服务端内部检测和消除重复内容。两种部署方式都能够提供存储空间效率,其主要区别在于源端去重通过消耗客户端计算资源换取网络传输效率的提升。
80.本文涉及到重删技术属于宿端去重。基于浪潮mcs存储软件系统,在线重删基于是一种基于池的重复数据检测和缩减技术,基于软件实现,不需要借助硬件加速卡。在数据写入硬盘之前,通过实时检测和删除重复数据来减少对ssd盘的写入次数和写入数据量,从而节约存储空间,减少对ssd盘的磨损,延长ssd盘的使用寿命。本发明实施例还提供一种针对row快照中重删指纹阈值的测试方法,在对重删卷做row快照时,通过写入数据和快照配合
以测试重删卷的指纹阈值,不需要通过大量数据的持续写入来提高触发概率,本方法能够准确的测试到重删指纹的阈值切换和处理机制,以判断在row快照中重删指纹处理机制是否能够正常处理。在浪潮mcs系统中,只有在全闪栈下才能支持row快照和重删功能,全闪栈基于log structure方式写入数据,由此可以实现将接收到的随机数据,在写盘时转换为顺序排布,并凑满raid满条带大小后再落盘。存储池创建后存储空间交由lsa卷(log structure)管理,数据下发保存在lsa卷中,元数据保存数据对应的精简卷地址(lba)到lsa卷地址(pba)的映射关系。具体实现过程如下:
81.具体实现过程如下:
82.1.准备写入数据卷的重删数据,例如文件file1,重复复制file1多次;
83.2.将文件file1第一次写入数据卷后,做一次row快照,此时复制一次元数据;
84.3.将文件file1的复制文件写入数据卷,再做一次row快照,此时复制元数据为第一次重删的元数据,此时重删率为2:1;
85.4.将文件file1的复制文件第二次写入数据卷,再做一次row快照,此时复制元数据为第二次重删的元数据,此时的重删率为3:1;
86.5.以此类推,第32次写入file1的复制文件后,重删指纹达到阈值;
87.6.达到阈值后第33次写入file1的复制文件,此时会触发重删指纹阈值的切换。
88.7.达到重删指纹阈值后写入重删数据,此时会记录新的指纹;
89.8.每次写入数据后都对源卷做一次row快照,复制一次元数据内容。通过row快照的回滚,进行数据一致性的校验,从而确定重删数据是否正确。第33次写入重复数据后做row快照,再进行快照数据的一致性校验,即可以验证指纹阈值的切换处理是否准确。
90.如图3所示,本发明实施例还提供一种基于快照的重删指纹阈值的测试装置,包括预设模块、写入处理模块、第一判断模块、解析模块、测试结果输出模块;
91.预设模块,用于预设写入数据卷的重删数据文件;
92.写入处理模块,用于复制重删数据文件并写入数据卷,写入时对数据卷做一次row快照并记录写入次数;
93.第一判断模块,用于根据row快照判断当写入数据卷的重删数据文件与预设的重删数据文件一致时,判断记录的写入次数是否达到重删指纹阈值;触发写入处理模块;
94.解析模块,用于第一判断模块判断写入次数达到重删指纹阈值触发写入处理模块,写入处理模块执行完成后,根据row快照判断当写入数据卷的重删数据文件与预设的重删数据文件一致时,对row快照中的元数据进行解析;
95.测试结果输出模块,用于根据解析结果判断当元数据中存在两个物理地址时,输出测试通过,即重删指纹达到重删指纹阈值后的处理流程准确正常。
96.本技术中是向数据卷中写入数据(重删数据文件),做一次row快照,复制一次元数据映射,写入重复数据触发重删,在写入重复数据的次数达到重删指纹阈值时,继续写入重复数据,触发重删指纹阈值的切换过程。
97.该装置还包括一致性校验模块,具体包括读取单元和校验单元;
98.读取单元,根据row快照中元数据地址映射关系读取写入数据卷的重删数据文件;
99.校验单元,用于将获取的重删数据文件与预设的重删数据文件进行一致性校验;
100.第一判断模块,具体用于当校验单元输出校验一致时,判断记录的写入次数是否
达到重删指纹阈值。
101.解析模块包括获取单元、地址判断单元、解析结果输出单元;
102.获取单元,用于获取元数据中逻辑地址与物理地址的映射关系;
103.地址判断单元,判断逻辑地址与物理地址是否是多对一的关系,触发解析结果输出单元;
104.解析结果输出单元,用于根据地址判断单元的判断结果输出元数据中存在一个物理地址;或元数据中存在两个物理地址。
105.测试结果输出模块,还用于当一致性校验模块输出校验不一致时,输出写入异常提示信息。
106.在对数据卷做row快照时,通过写入数据和快照配合以测试数据卷的重删指纹阈值,不需要通过大量数据的持续写入来提高触发概率,本方法能够准确的测试到重删指纹阈值切换和处理机制,以判断在row快照中重删指纹处理机制是否能够正常处理。
107.本发明实施例还提供一种电子设备,所述电子设备包括:处理器、通信接口、存储器和总线,其中,处理器,通信接口,存储器通过总线完成相互间的通信。总线可以用于电子设备与传感器之间的信息传输。处理器可以调用存储器中的逻辑指令,以执行如下方法:步骤1:预设写入数据卷的重删数据文件;步骤2:复制重删数据文件并写入数据卷,写入时对数据卷做一次row快照并记录写入次数;步骤3:根据row快照判断当写入数据卷的重删数据文件与预设的重删数据文件一致时,判断记录的写入次数是否达到重删指纹阈值;若否,执行步骤2;若是,执行步骤4;步骤4:复制重删数据文件并写入数据卷,写入时对数据卷做一次row快照,根据row快照判断当写入数据卷的重删数据文件与预设的重删数据文件一致时,对row快照中的元数据进行解析;步骤5:根据解析结果判断当元数据中存在两个物理地址时,输出测试通过,即重删指纹达到重删指纹阈值后的处理流程准确正常。
108.此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
109.本发明实施例提供一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令使计算机执行上述方法实施例所提供的方法,例如包括:s1:预设写入数据卷的重删数据文件;s2:复制重删数据文件并写入数据卷,写入时对数据卷做一次row快照并记录写入次数;s3:根据row快照中元数据地址映射关系读取写入数据卷的重删数据文件;s4:将获取的重删数据文件与预设的重删数据文件进行一致性校验;当校验一致时,执行步骤s5;当校验不一致时,执行步骤s8;s5:判断记录的写入次数是否达到重删指纹阈值;若否,执行步骤s2;若是,执行步骤s6;s6:复制重删数据文件并写入数据卷,写入时对数据卷做一次row快照,根据row快照判断当写入数据卷的重删数据文件与预设的重删数据文件一致时,对row快照中的元数据进行解析;本步骤中,对row快照中的元数据进
行解析的步骤包括:获取元数据中逻辑地址与物理地址的映射关系;判断逻辑地址与物理地址是否是多对一的关系;若是,元数据中存在一个物理地址;若否,元数据中存在两个物理地址;s7:根据解析结果判断当元数据中存在两个物理地址时,输出测试通过,即重删指纹达到重删指纹阈值后的处理流程准确正常。s8:输出写入异常提示信息。
110.尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1