文档首页 > > 最佳实践> OBS数据一致性校验> 概述

概述

分享
更新时间:2020/09/01 GMT+08:00

背景

对象数据在上传下载过程中,有可能会因为网络劫持、数据缓存等原因,存在数据不一致的问题。

方案

OBS提供通过计算MD5值的方式对上传下载的数据进行一致性校验。默认情况下,OBS不会进行一致性校验,您可以通过以下方式在上传下载时主动启用校验。

  • 各种方式的一致性校验结果互通,即无论您使用以下何种方式在上传时通过了一致性校验,都可以使用其他方式在下载时校验一致性。
  • 下载对象时,只有当待下载对象具有MD5值时,MD5校验才会生效。
表1 校验数据一致性的方式

方式

说明

操作指导

obsutil

命令行工具,可以通过简单的一行命令实现上传下载,并且在命令中选择是否采用MD5校验。

使用obsutil校验上传对象的一致性

使用obsutil校验下载对象的一致性

OBS Browser+

图形化界面工具,可以一键开启或关闭MD5校验,同时提供任务管理,方便查看校验状态。

使用OBS Browser+校验上传对象的一致性

使用OBS Browser+校验下载对象的一致性

OBS SDK

开发者可以通过OBS SDK进行二次开发,自行判断MD5校验结果,并根据实际业务进行结果处理。

使用OBS SDK校验上传对象的一致性

使用OBS SDK校验下载对象的一致性

上传对象时,OBS会先在客户端计算出对象的MD5值然后携带上传至OBS,OBS服务端再根据上传的对象内容计算出MD5值,最终与携带上传的MD5值进行对比,如果对比结果一致,对象上传成功,否则上传失败。使用MD5值对上传数据进行一致性校验的示意图如图1所示。

图1 校验上传对象的一致性

下载对象时,OBS会将对象已有的MD5值与根据下载的对象内容计算出来的MD5值进行对比,如果对比结果一致,对象下载成功,否则下载失败。使用MD5值对下载数据进行一致性校验的示意图如图2所示。

图2 校验下载对象的一致性

影响

启用MD5进行数据一致性校验会影响上传下载性能。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问