一种数据切片方法、装置和系统制造方法及图纸

技术编号:35932598 阅读:13 留言:0更新日期:2022-12-14 10:18
本发明专利技术公开了一种数据切片方法、装置和系统,其中,数据切片方法包括获取待切片的目标数据流;从目标数据流中获取切片起始位置的目标字符,并从预设数组中查找与目标字符相对应的数值,其中,在预设数组中,至少部分字符对应的数值不相同;及根据目标字符对应的数值,确定切片长度,并从切片起始位置开始,按照切片长度,对目标数据流进行切片。可以提高重删率。可以提高重删率。可以提高重删率。

【技术实现步骤摘要】
一种数据切片方法、装置和系统


[0001]本专利技术涉及性能测试领域,具体涉及一种数据切片方法、装置和系统。

技术介绍

[0002]随着数据备份技术的成熟和广泛应用,备份数据量在最近几年中呈现出爆发性的增长。研究表明,大型企业中的备份数据每年以40%到60%的速度增长,许多公司的备份数据规模每年会增加一倍甚至更多。这些备份数据中,存在很多相同的数据块,这大大增加了企业的成本和存储空间浪费。
[0003]目前,可以通过数据重删技术将部分重复数据删除,以达到减少存储容量的目的。其中,数据重删技术是指将数据流或者文件根据某种方式进行切片(又称为切块),以数据块为单位进行hash计算,以此找到相同的数据块进行删除。通过数据重删技术可以压缩存储系统的重复数据,减少存储容量。目前该技术广泛应用于备份系统。
[0004]当前,一些技术采用定长切片的方法对数据流进行切片。其中,定长切片就是定义一个固定的切片长度(比如2个字节为一个数据块),然后按照定义的切片长度,将数据流分割为相同长度的数据块进行存储。这种切片方法对于一些新增、删除场景下的数据流来说,重删率不高。比如数据流A相对于数据流B来说,只是在数据流B的前端新增了一个字符,但通过定长切片的方法对这两个数据流进行切片时,切出的数据块差别较大,重删率不高。

技术实现思路

[0005]有鉴于此,本专利技术实施方式提供了一种数据切片方法、数据切片装置、数据切片系统和计算机可读存储介质,可以提高数据重删率。
[0006]本专利技术一方面提供了一种数据切片方法,所述方法包括:
[0007]获取待切片的目标数据流;
[0008]从所述目标数据流中获取切片起始位置的目标字符,并从预设数组中查找与所述目标字符相对应的数值,其中,在所述预设数组中,至少部分字符对应的数值不相同;及
[0009]根据所述目标字符对应的数值,确定切片长度,并从所述切片起始位置开始,按照所述切片长度,对所述目标数据流进行切片。
[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]图1示出了一些技术中的数据切片的示意图;
[0039]图2示出了本申请的一个实施例提供的数据切片方法的流程示意图;
[0040]图3示出了本申请的一个实施例提供的一个目标数据流的示意图;
[0041]图4示出了本申请的一个实施例提供数据切片的示意图;
[0042]图5示出了本申请的一个实施例提供的数据切片的流程图;
[0043]图6示出了本申请的另一个实施例提供的数据切片的流程图;
[0044]图7示出了本申请的另一个实施例提供的数据切片的流程图;
[0045]图8示出了本申请的一个实施例提供的数据切片装置的模块示意图;
[0046]图9示出了本申请的一个实施例提供的数据切片系统的示意图。
具体实施方式
[0047]为使本专利技术实施方式的目的、技术方案和优点更加清楚,下面将结合本专利技术实施方式本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据切片方法,其特征在于,所述方法包括:获取待切片的目标数据流;从所述目标数据流中获取切片起始位置的目标字符,并从预设数组中查找与所述目标字符相对应的数值,其中,在所述预设数组中,至少部分字符对应的数值不相同;及根据所述目标字符对应的数值,确定切片长度,并从所述切片起始位置开始,按照所述切片长度,对所述目标数据流进行切片。2.如权利要求1所述的方法,其特征在于,所述从预设数组中查找与所述目标字符相对应的数值,包括:从预设字符表中查找所述目标字符的字符编号,其中,所述预设字符表包括字符和字符编号的对应关系,不同字符的字符编号不同;将所述目标字符的字符编号作为索引,从所述预设数组中查找与所述目标字符相对应的数值。3.如权利要求1所述的方法,其特征在于,所述根据所述目标字符相对应的数值,确定切片长度,包括:对所述目标字符相对应的数值进行运算,得到对应的中间值;若得到的中间值小于片长阈值,针对所述切片起始位置后的字符依次执行如下操作,直至确定切片结束位置,并将所述切片结束位置和所述切片起始位置之间的长度作为所述切片长度:从所述预设数组中查找与所述字符相对应的数值;对查找到的数值进行运算,得到对应的中间值;若得到的中间值大于或等于所述片长阈值,将所述字符所在位置确定为所述切片结束位置。4.如权利要求3所述的方法,其特征在于,针对从所述预设数组中查找到的任一数值,基于如下方法确定对应的中间值:将该数值与预设变量的值进行异或运算,得到第一中间值;将所述第一中间值减去预设值,得到第二中间值;将所述第一中间值和所述第二中间值进行异或运算,得到对应的中间值。5.如权利要求4所述的方法,其特征在于,在每次计算得到所述第一中间值后,所述方法还包括:将所述预...

【专利技术属性】
技术研发人员:刘利姚栋赵真李丽赵龙飞杨思源
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

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

1