gpt4 book ai didi

c# - 像 Dropbox 这样的同步服务,文件索引背后的理论?

转载 作者:太空宇宙 更新时间:2023-11-03 14:22:25 24 4
gpt4 key购买 nike

我已经意识到,通过直接使用 Amazon S3 服务,我可以为自己节省很多钱。与其购买像 GoodSync 或 Jungle Disk 这样的客户端,我认为创建我自己的 Windows 同步应用程序会很有趣,它将我的文件同步到 S3。

我发现我可以使用 FileSystemWatcher 来监视文件和目录的更改,但我正在寻找 Dropbox 等其他服务如何索引其文件背后的理论。例如将文件的文件大小与客户端 PC 某处的索引中记录的大小进行比较,然后使用此信息来确定是否同步。

我正在使用 C#,对我可以使用的不同库或代码示例的引用会有所帮助,但我主要是在寻找索引文件的最佳方式,并希望有人能为我指明正确的方向。

谢谢

最佳答案

我自己也走过这条路。事实上,既然 Mozy 放弃了他们的无限制计划并且 Carbonite 选择不备份某些文件......比如 3GP 文件和 *.dat 文件,除非你经常进入并手动添加它们,我对在线备份非常不满。

但是您的问题是关于同步的。 Dropbox 做得最好。但它很贵。但我不确定 S3 会便宜多少。

不管怎么说,你都会有很多障碍。根据我的经验,我遇到的问题是:

1) 传播删除

2) FileSystemWatcher 只是错过了一些事件,例如快速将文件添加到文件夹然后删除它们

3) 等..

现在关于将如何再次解决这个问题的一些想法:

1) 在本地为文件名/路径保留一个小型 SQLite 数据库2) 在发送到 S3 之前将文件复制到 tmp 目录。3) 在文件更改/更新/删除/等中将元信息存储在 SQLite 中

无论如何只是一些想法。

关于c# - 像 Dropbox 这样的同步服务,文件索引背后的理论?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4955240/

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