gpt4 book ai didi

amazon-s3 - 如果文件存储在云中,像 Dropbox 这样的服务如何实现增量编码?

转载 作者:行者123 更新时间:2023-11-30 23:49:33 25 4
gpt4 key购买 nike

Dropbox 声称,在同步过程中,仅将更改的部分文件传输回主服务器,这显然是一个很棒的功能,但是它们如何对存储在 Amazon S3 云中的文件执行更改呢?例如,假设用户桌面上的 30 页文档仅包含对第 4 页的更改。Dropbox 现在同步表示更改的 block ,如果它们存储在云中的文件在后端会发生什么?这是否意味着他们必须将存储在 S3 中的 30 页文档下载到他们的服务器,然后执行代表第 4 页的 block 的替换,然后再上传回云端?我怀疑会是这种情况,因为那会有些低效。我能想到的另一个选择是,如果 Amazon S3 根据字节范围提供存储在云中的文件的更新,例如,从字节 100-200 向文件 X 发出 PUT 请求,这将替换从 100 到 200 的所有字节具有 PUT 请求的值。所以我很好奇使用亚马逊等其他云服务的公司是如何实现这种同步的。

谢谢

最佳答案

由于 S3 和类似存储不提供文件系统功能,因此任何假装存储文件和目录的东西都需要模拟文件系统。并且在执行此操作时,通常会将文件拆分为一定大小的页面,其中每个页面存储在存储中的单独文件中。这样,更改的 block 只需要上传一页(例如)而不是整个文件。我应该注意,对于像办公文档这样的文件,如果文件大小发生变化,这种方法可能会出错 - 例如,如果您在开头插入一页或删除一页,那么整个文件将被更改,并且需要完整的文件要重新上传。我们没有具体分析 Dropbox 是如何工作的,我只是描述了常见的场景。还存在不同的“补丁算法”,可以在本地创建补丁(如果 Dropbox 在缓存中有较旧的本地副本),然后将其应用于服务器上的一个或多个 block 。

关于amazon-s3 - 如果文件存储在云中,像 Dropbox 这样的服务如何实现增量编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6163549/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com