[发明专利]采用向量处理的同时分割在审
申请号: | 201680003266.9 | 申请日: | 2016-04-19 |
公开(公告)号: | CN107004031A | 公开(公告)日: | 2017-08-01 |
发明(设计)人: | 迈克尔·赫希;亚伊尔·托弗;大卫·叶赫那坦 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 采用 向量 处理 同时 分割 | ||
背景技术
本发明的一些实施例涉及输入数据流的分割,更具体地但不仅限于,涉及通过将输入数据流拆分成采用向量处理并行分割的多个子数据流来分割输入数据流。
当今是信息时代,需要在各地之间存储和/或传输的数据量迅速增加。考虑到用于存储数据的存储空间和/或用于传输数据的网络带宽,巨大的数据量可能主要带来成本和/或复杂性的挑战。
常用于减少存储和/或传输的数据的量的一种解决方案是重复数据删除(通常称为“智能压缩”或“单实例存储”),其是通过消除冗余数据来减少数据量的方法。虽然存在用于重复文件删除的方法,但是考虑到数据压缩,块重复删除可以呈现更好的结果。在块重复删除中,实际上只保留数据流的数据段(块)的唯一一个实例,而与已经保留的数据段相同的冗余数据段替换为指向保留数据段的副本的指针。块重复删除处理可包括多个数据类型例如,数据文件、媒体文件、流数据等的数据流,以识别一个或多个数据段(块)的唯一实例。使用Rabin-Karp滚动哈希和/或Buzhash等哈希算法为每个分段生成唯一的数(哈希值)。将针对每个分段生成的哈希值与针对先前分段生成的现有哈希值进行比较,并且若该哈希值等于现有哈希值,则该分段不保留,而由指向现有分段的副本的指针替代。此外,若该分段更新,可仅保留改变的数据,而不保留可能包括大量这种分段的剩余未改变数据。
主要挑战之一是有效地分割数据流,以使对分段的数据内容的改变尽可能少地影响分段。如业内已知,滚动哈希技术可以用于对数据流进行分割。使用滚动哈希,计算在数据流中对数据序列进行移位的哈希值(在每个滚动序列中删除结束数据项并插入新数据项)。检查所计算的哈希值是否符合预定义的一个或多个分割标准,且若识别出符合,将各个滚动序列的起始点指定为分段边界或切割点。
发明内容
根据本发明的第一方面,提供一种分割输入数据流的系统,包括:处理器,用于:将输入数据流拆分成多个子数据流,使得所述多个子数据流的每个子数据流与所述多个子数据流中与其相邻的子数据流具有重叠部分;在所述处理器的处理管线中同时分割所述多个子数据流以创建多个分割的子数据流;根据所述多个子数据流中的每两个连续子数据流的重叠部分的至少一个重叠分段同步所述多个分割的子数据流的每个分割的子数据流的排序,连接所述多个分割的子数据流以创建分割的数据流。
术语“同时”因此具有在持续时间中重叠的含义,还包括同时的,例如,发生在同一时间的含义。
在本发明第一方面的第一种实现方式中,所述处理器是单指令多数据(single-instruction-multiple-data,简称SIMD)处理器。
根据第一方面的第一种实现方式,在第一方面的第二种实现方式中,所述处理器用于:计算滚动序列的滚动哈希值;其中,所述滚动序列应用于所述多个子数据流中的每个子数据流的连续数据项的多个序列中的每个序列;当所述滚动哈希值符合至少一个分割标准时将序列指定为可变长分段以分割所述多个子数据流中的每个子数据流,其中,所述滚动序列包括序列的连续数据项的子集。
根据第一方面的第一或第二种实现方式中的任一种实现方式,在第一方面的第三种实现方式中,所述多个序列的每个序列包括预定义的最少连续数据项。
根据第一方面的第一至第三种实现方式中的任一种实现方式,在第一方面的第四种实现方式中,当在检测所述滚动哈希值对所述至少一个分割标准的符合性之前,所述多个序列中的至少一个大序列的连续数据项的数量超过预定义最大值,所述处理器用于将所述至少一个大序列指定为可变长分段。
根据第一方面的第一至第四种实现方式中的任一种实现方式,在第一方面的第五种实现方式中,所述处理器用于当所述同步失败时,依次分割所述输入数据流。
根据本发明的第二方面,提供一种分割输入数据流的方法,包括:将输入数据流拆分成多个子数据流,使得所述多个子数据流的每个子数据流与所述多个子数据流中与其相邻的子数据流具有重叠部分;在处理器的处理管线中同时分割所述多个子数据流以创建多个分割的子数据流;根据所述多个子数据流中的每两个连续子数据流的重叠部分的至少一个重叠分段同步所述多个分割的子数据流的每个分割的子数据流的排序,连接所述多个分割的子数据流以创建分割的数据流。
在本发明第二方面的第一种实现方式中,计算滚动序列的滚动哈希值;其中,所述滚动序列应用于所述多个子数据流的每个子数据流的连续数据项的多个序列中的每个序列的滚动序列;当所述滚动哈希值符合至少一个分割标准时将序列指定为可变长分段以分割所述多个子数据流中的每个子数据流,其中,所述滚动序列包括序列的连续数据项的子集。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201680003266.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种语料生成装置和方法
- 下一篇:用于在增材制造中定制物体的系统和方法