本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
File Transfer 校验和
File Transfer 在后台执行上传校验和,以根据 S3 存储桶中的文件验证磁盘上文件的完整性。系统会为您上传的每个文件计算校验和,并将校验和值存储在 File Transfer 数据库中。
下面介绍了 File Transfer 的本机校验和过程:
-
校验和是针对您上传的文件计算的。
-
如果 S3 存储桶中不存在上传文件,则会将校验和添加到 File Transfer 数据库中,并将相关文件上传到 Amazon S3 存储桶。
-
如果 S3 存储桶中已存在上传文件,则会根据 File Transfer 数据库中的校验和检查上传文件的校验和。
-
如果校验和匹配,则不会上传文件,因为它与 S3 存储桶中的文件相同。
-
如果校验和不匹配,说明上传文件已修改并会上传到 S3 存储桶。会将新的校验和添加到 File Transfer 数据库中。
-
如果要跳过 File Transfer 中的本机校验和过程,请将媒体哈希列表 (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 资源供其他进程使用。