我已经意识到,通过直接使用亚马逊S3服务,我可以节省一大笔钱。与其购买像GoodSync或丛林磁盘这样的客户端,我想创建我自己的Windows同步应用程序会很有趣,它可以将我的文件同步到S3上。
我发现我可以使用FileSystemWatcher来监控文件和目录的变化,但我正在寻找其他服务如Dropbox如何索引他们的文件背后的理论。例如,将文件的文件大小与客户端PC上某个索引中记录的大小进行比较,然后使用此信息来确定是否进行同步。
我正在使用C#,我可以使用的不同库或代码示例的引用将是有帮助的,但我主要是在寻找索引文件的最佳方法,并希望有人为我指明正确的方向。
谢谢
发布于 2011-03-02 09:34:34
我自己也走过这条路。事实上,现在Mozy放弃了他们的无限计划,Carbonite选择不备份某些files...like 3GP文件和*.dat文件,除非你经常进去手动添加它们,我对在线备份非常不满。
但你的问题是关于同步的。Dropbox做得最好。但是它很贵。但我不确定S3会不会更便宜。
不管怎样,你会有很多障碍。根据我的经验,我遇到的问题是:
1)传播删除
2) FileSystemWatcher只是遗漏了一些事件,例如快速将文件添加到文件夹,然后将其删除
3)等。
现在,关于如何再次解决这个问题,我有一些想法:
1)在本地为文件名/路径保留一个较小的SQLite db。2)在发送到S3之前,将文件复制到临时目录。3)在文件更改/更新/删除等时,将元信息存储在SQLite中
无论如何,只是一些想法。
https://stackoverflow.com/questions/4955240
复制相似问题