我知道有几个程序可以通过网络同步文件。他们都没有做我一直在想的事情。让我解释一下我想要实现的目标......
在我的网络中,几台计算机共享相同的文件。例如,quickbooks 文件被多台计算机访问,它是一个大文件。也有来自outlook large 的pst 文件。每天晚上,我们都会通过网络创建已更改文件的备份。我认为如果有一些小的修改,复制整个 1 gb 文件是不明智的。所以我想提出一个算法来比较部分文件。
例如,假设 Outlook pst 文件由字节组成:
1, 2, 3, 4, 5, 6, 7, 8, 9
如果我收到一封电子邮件,字节现在将是:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10 for example
现在而不是发送整个文件,只发送字节 10 会更容易
所以实际上该文件有数千个字节,所以我将对文件的每一兆字节进行校验和,所以现在我的表应该如下所示:
aaa1, aaa2, aaa3, abf8, etc...
如果现在收到电子邮件时,pst 文件的表格如下:
aaa1, aaa2, aaa3, 7a8b, etc ... then I know that the first 3 megabits are the same and I should send just one megabite instead of the entire file...
我认为如果在文件末尾添加内容,这个算法会很好用,但实际上文件开头可能会更改一个字节,而我的算法将无法正常工作。例如,如果在文件开头添加一个字节,所有十六进制代码都会改变......
我怎样才能使算法更有效?如果我可以发送部分文件而不是整个文件,那就太好了