重复数据删除:块级技术VS.字节级技术

  重复数据删除技术能够识别重复的数据,消除冗余,减少需转移或存储的数据的总体容量。在本文中,我将分别对这两种技术加以评论。与块级技术相比,字节级删除技术对数据的检查更加细微,精度更高,但同时需要更加了解备份流,才能完成任务。

块级技术

块级重复数据删除技术将数据流分割成块,检查数据块,并判定之前是否碰到相同的数据块(通常对每个数据块执行散列算法,形成数字签名或独特的标识符)。如果数据块是唯一的,就被写入磁盘,其标识符也存入索引中;否则,仅存入指针,指向存储相同数据块的原始位置。这种方法用小容量的指针替代重复的数据块,而不是将重复数据块再次存储,这样就节省了磁盘存储空间。

块级技术的缺点为:1)利用散列算法计算独一无二的ID,可能产生错误;2)将唯一的ID存入索引中,当索引扩大,需要磁盘I/O时,检查过程就会变慢(除非控制索引大小,在存储器中完成数据比较工作)。

利用散列算法判断重复数据时,散列之间的冲突可能引发错误。MD5、SHA-1等散列算法都是针对检查的数据块,形成唯一的编码。虽然有可能发生散列冲突和数据损坏,但几率较小。

字节级重复数据删除

从字节级别上分析数据流是重复数据删除的另外一种方法。将新数据流和已存储的数据流挨个比较字节,能够实现更高的精度。使用这种技术的重复数据删除产品具有一个共同点:可能之前已见过流入的数据流,因此就会检查其是否与之前接收的数据相符。

采用字节级技术的产品通常能“识别内容”,也就是说,供应商对备份程序的数据流执行了逆向工程,从而了解如何检索文件名、文件种类、日期/时间戳记等信息。在判断重复数据时,这种方法能够减少计算量。警告呢?这种方法通常在后处理阶段发挥作用——备份完成后,判断备份数据是否重复。因此,需要备份整个磁盘的数据,必须具有磁盘缓存,才能执行重复数据删除过程。而且,重复数据删除过程可能仅局限于某个备份组的备份数据流,而不是应用到整个备份组中。

完成了重复数据删除过程后,字节级技术能收回磁盘空间。在收回空间之前,应执行一致性检验,以保证删除重复数据以后,仍能满足原始数据的目标。保留最后一次的完全备份,这样恢复过程就不必依赖重构后的数据,加快恢复过程。

哪种方法效果最佳?

块级和字节级删除技术都能优化存储容量。针对你的备份环境及其需求,核定执行删除过程的时间、位置和方法,然后再决定选择哪种方法。核定内容还包括:参考那些与你的公司具有相似特征和需求的公司。

  作者:佚名
 
来源:51CTO
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 原因:org.apache.ibatis.builder.BuilderException:创建文档实例时出错。原因:com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException:1字节的UTF-8序列的第1个字节无效。 ### 回答2: 这个错误提示是在使用MyBatis构建映射文件时发现的。其中包含了两个问题: 1. org.apache.ibatis.builder.builderexception:在生成文档实例时发生错误 2. com.sun.org.apache.xerces.internal.impl.io.malformedbytesequenceexception:发现了无效的UTF-8编码序列 这个错误通常意味着XML文件存在问题。MyBatis使用XML文件作为映射器,来指定数据库表和Java对象之间的映射关系。当MyBatis构建XML文件时,它会尝试创建一个XML文档实例,如果出现问题,就会抛出“org.apache.ibatis.builder.builderexception: error creating document instance”的异常。 此外,也可能存在无效的UTF-8编码序列,MyBatis使用的是utf-8编码格式。当读取这个XML文件时,可能会出现“com.sun.org.apache.xerces.internal.impl.io.malformedbytesequenceexception: 1 字节的 utf-8 序列的字节 1 无效”异常,提示xml中存在无效的utf-8编码。 要解决这个问题,我们需要检查XML文件是否存在语法错误,并确保XML文件使用的是UTF-8编码。可以使用文本编辑器来执行此操作。在编辑XML文件时,我们还需要确保所有标记都正确地关闭并嵌套,并且每个属性都使用正确的引号。可以使用XML验证器工具来帮助确保XML文件使用正确的语法。最后,如果您确定XML文件存在问题,最好将其替换为新的XML文件,确保新文件是符合规范的。 ### 回答3: 这个错误产生的根本原因是在构建 MyBatis 的 XML 映射文件的过程中,出现了一个不合法的字节序列,导致无法成功创建 XML 文档实例。具体来说,这个错误的产生可能有多种原因: 1. XML 映射文件本身存在编码问题,例如使用了不支持的编码方式或者存在中英文混合等问题。 2. XML 映射文件中存在特殊字符,例如非 ASCII 字符或者实体字符,这些字符可能会影响 XML 解析过程,导致解析失败。 3. 底层的 XML 解析器存在漏洞或者不支持某些编码方式,导致在解析 XML 文档时出现错误。 要解决这个错误,我们可以采取以下一些方法: 1. 检查 XML 映射文件的编码方式是否正确,并确保所有的特殊字符都被正确地转义。 2. 使用更加可靠的 XML 解析库,例如 Apache Xerces 或者 JAXP,确保可以正确解析所有的 XML 文档。 3. 对于特殊的字符或者编码情况,可以采取预处理的方式,在读取 XML 文档之前对其进行过滤或者转换。 最后,需要注意的是,在遇到这个错误时,一定要及时定位问题所在,以避免出现更加严重的后果。正确地解决这个错误对于系统的稳定性和可靠性至关重要。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值