Javascript 中两个字符串之间的网络效率差异

2024-03-20

我有一个网络应用程序,其中客户端编辑器正在编辑服务器端已知的非常大的文本。

客户可以对此文本进行任何类型的修改。

什么是最网络效率高如何以服务器理解的方式传输结果差异?另外,由于这将发生在客户端(Javascript),我也希望它“快”(或者至少不会明显慢)

一些场景:

  • 用户修改一个字符
  • 用户在随机位置修改多个句子
  • 用户删除所有内容并产生空白文本。

我不能使用类似 diff 的语法,因为它不是网络效率较高的语法,它会检查行,其中示例 1 和 3 将产生可怕的差异(尤其是最后一个,结果将比旧的本身更多)。

有人有这方面的经验吗?用户操作的数据非常大——大约 3-5MB 的文本,上传整个“新”内容是一个很大的禁忌。

需要明确的是,我正在寻找传输的“协议”,字符串比较不是问题。


我对这个主题不是很熟悉,但我可以向您介绍一个可能非常有用的开源(Apache License 2.0)项目。

它是由 Google 工程师用多种语言(包括 JavaScript)编写的 Diff、Match 和 Patch 库,并用于多种在线协作编辑服务。

以下是资源列表:

  • The 差异、匹配和补丁 http://code.google.com/p/google-diff-match-patch/ project
  • The MobWrite http://code.google.com/p/google-mobwrite/项目(编辑器基于上述项目实现)
  • “差分同步” http://www.youtube.com/watch?v=S2Hp_1jqpY8(工程师的 Google 技术讲座)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Javascript 中两个字符串之间的网络效率差异 的相关文章

随机推荐