obs数据一致性校验-九游平台
应用场景
对象数据在上传下载过程中,有可能会因为网络劫持、数据缓存等原因,存在数据不一致的问题。
方案架构
obs提供通过计算md5值的方式对上传下载的数据进行一致性校验。默认情况下,obs不会进行一致性校验,您可以通过以下方式在上传下载时主动启用校验。

- 各种方式的一致性校验结果互通,即无论您使用以下何种方式在上传时通过了一致性校验,都可以使用其他方式在下载时校验一致性。
- 下载对象时,只有当待下载对象具有md5值时,md5校验才会生效。
- 启用md5进行数据一致性校验会影响上传下载性能。
方式 |
说明 |
操作指导 |
---|---|---|
obsutil |
命令行工具,可以通过简单的一行命令实现上传下载,并且在命令中选择是否采用md5校验。 |
|
obs browser |
图形化界面工具,可以一键开启或关闭md5校验,同时提供任务管理,方便查看校验状态。 |
|
obs sdk |
开发者可以通过obs sdk进行二次开发,自行判断md5校验结果,并根据实际业务进行结果处理。 |
|
上传对象时,obs会先在客户端计算出对象的md5值然后携带上传至obs,obs服务端再根据上传的对象内容计算出md5值,最终与携带上传的md5值进行对比,如果对比结果一致,对象上传成功,否则上传失败。使用md5值对上传数据进行一致性校验的示意图如图1所示。

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

校验上传对象的一致性
obsutil、obs browser 以及obs sdk都支持在上传对象时进行一致性校验,您可以根据自己的业务选择任意一种方式进行校验。本文分别介绍了几种方式在上传对象时进行一致性校验的操作指导。
校验下载对象的一致性
obs browser 、obsutil以及obs sdk都支持在下载对象时进行一致性校验,您可以根据自己的业务选择任意一种方式进行校验,本文就几种方式如何使用一致性校验进行了详细说明。
前提条件
待下载对象已有md5值,如果没有md5值,将不会进行一致性校验。对象的md5值需要在上传的时候计算并设置,详细操作请参见校验上传对象的一致性。
相关文档
意见反馈
文档内容是否对您有帮助?
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨