考虑这样一个产品,其中客户端对文本文件所做的更改通过服务器广播到其他客户端。当在编辑器中进行更改的人按下一个按钮时,广播就会发生。其他客户端使用tcp\ip管道连接,因此不需要轮询
在我们目前的解决方案中,每次按下按钮,整个文本都会被发送和广播,接收者只需丢弃旧文本并替换为新文本
尽管这种方法非常简单,但当文本的大小增加,用户数量急剧增加,并且许多这样的用户组为了他们的需求而与同一服务器交谈时,就会出现问题
所以我们想要传递增量。然而,在接收端,它更像是合并增量。(它是一个HTML编辑器,所以即使是字体变化,颜色等列表都必须传输,当然人们也有删除东西的恼人习惯)我的问题是
1)文献中有没有众所周知的算法来解决这个问题(并且人类可以合理地实现)
2)是否有可以购买\license\opensource的收缩包装产品可以基本上解决此差异和合并问题
发布于 2009-10-21 16:29:21
我想你想看看operational transformation。它是google docs / google wave /等工具背后使用的算法。
你也可以看看Google mobwrite。
https://stackoverflow.com/questions/1599285
复制相似问题