我将从我最感兴趣的场景开始:
我们有多个设备(2 - 10)都需要了解 不断增长的数据集(数千到数十万个小块, 比方说100-1000字节。 可以在任何设备上生成数据 希望每个设备都能够获取所有数据(编辑:.. 最终。设备始终没有连接和/或联机,但它们会不时同步)无需数据 被删除或修改。
当然,有一些天真的方法可以解决这个问题,但我认为 他们都有一些主要的缺点。天真地发送我的一切 对于其他所有人来说,使用大量旧数据会导致性能不佳 被一次又一次地发送。首先发送库存然后再发货 其他设备要求他们缺少的东西对小的不会有什么好处 数据。所以也许让每台设备记住他们与谁交谈的时间和对象 可能值得权衡吗?只要合作伙伴的数量 是相对较小的保存我们上次同步的日期不会那么多 空间,但是从那时起发送已添加的内容应该很容易。
但这只是猜想 这可能非常广泛 主题和我也对整个问题感兴趣:(分散)版本控制可能做类似的事情 我想要的,就像一块 软件将用户智能手机,平板电脑和相机中的照片同步到在线 存储,等等。 不知何故,它们各有不同,并且有许多因素,如数据大小,带宽,一致性要求,处理能力或有多少设备在同步之间汇总新数据,请记住,那么这个理论是什么? 我在哪里寻找 论文以及有关哪些有效,哪些无效,或者每种情况都是如此 与其他所有人不同的是,没有好的全面解决方案?
澄清:我不是在寻找现成的软件解决方案/产品。这更像是用于在图中查找路径的搜索算法的问题。计算机科学书籍可能会告诉你它取决于图形的特征(定向?加权?超图?欧几里得?)或者你最终是否需要所有可能的路径或只是少数。无论您需要什么,都有不同的算法。我还考虑在https://cs.stackexchange.com/上发布此问题。