File Transfer 校验和 - Nimble Studio 文件传输功能

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

File Transfer 校验和

File Transfer 在后台执行上传校验和,以根据 S3 存储桶中的文件验证磁盘上文件的完整性。系统会为您上传的每个文件计算校验和,并将校验和值存储在 File Transfer 数据库中。

下面介绍了 File Transfer 的本机校验和过程:

  1. 校验和是针对您上传的文件计算的。

  2. 如果 S3 存储桶中不存在上传文件,则会将校验和添加到 File Transfer 数据库中,并将相关文件上传到 Amazon S3 存储桶。

  3. 如果 S3 存储桶中已存在上传文件,则会根据 File Transfer 数据库中的校验和检查上传文件的校验和。

    1. 如果校验和匹配,则不会上传文件,因为它与 S3 存储桶中的文件相同。

    2. 如果校验和不匹配,说明上传文件已修改并会上传到 S3 存储桶。会将新的校验和添加到 File Transfer 数据库中。

如果要跳过 File Transfer 中的本机校验和过程,请将媒体哈希列表 (MHL) 添加到与要上传的文件所在相同的文件夹或任何父文件夹。如果您提供自己的 MHL,则 File Transfer 会验证文件哈希是否与 MHL 匹配。本地 File Transfer 文件夹根目录中的单个 MHL 可以递归方式引用子文件夹中的文件。我们建议您使用一个 MHL 文件,该文件包含文件夹中大多数(如果不是全部)文件的校验和,而不是每个文件都有一个 MHL 文件。

以下是一些需要了解的有关 File Transfer 校验和的重要概念。

本机校验和

校验和是针对您上传的文件计算的。根据 File Transfer 数据库中的校验和检查这些校验和。如果校验和不匹配,File Transfer 将重新上传文件。如果在最初上传后更改了文件,则会出现校验和不匹配的情况。首次上传文件时,Amazon S3 中将没有 File Transfer 可用来比较的现有文件。CPU 计数会影响校验和性能。

MHL 校验和

如果要跳过 File Transfer 的本机校验和过程,请在上传目录中提供媒体哈希列表 (MHL) 文件。MHL 文件用于验证文件移动到不同位置时的完整性。

File Transfer 将 MHL 视为权威来源,并将校验和值附加到上传对象的元数据中。MHL 文件必须包含以下字段之一:<md5>HEXVALUE</md5><xxhash64>HEXVALUE</xxhash64><xxhash64be>HEXVALUE</xxhash64be>。要了解有关 MHL 规范的更多信息,请参阅关于媒体哈希列表

可配置校验和

默认情况下,File Transfer 使用比逻辑内核总数少一个的内核来同时计算校验和。此值是最大阈值。

例如,如果您的主机有 12 个逻辑内核,则最大阈值为 11。无论计算机中的内核数量如何,最小阈值都将始终为 1。默认一次运行 1 个校验和。有一种保障措施可以确保最大活动校验和的数量不超过最大阈值。

可以通过修改 max_active_checksums 配置属性来调整同时运行的校验和数量。例如,如果要减少 File Transfer 使用的资源量,就可能需要调整校验和的数量。这可以释放 CPU 资源供其他进程使用。