我将定期从网页上推送一组基于文本的数据到服务器,可能以JSON格式发送。
每次推送时,可能有部分或全部数据发生了更改。为了减少要通过网络发送的数据量,我只想发送每个推送中更改的差异。
您是否知道任何预制解决方案/工具/库:
- 动态构建JSON的差异,随着对其进行更改(避免存储oldJson和newJson并在每次推送时执行完整差异)使用JavaScript编写(即客户端)
- 在服务器端使用JSON差异修补现有JSON块,在Java或.NET之外的任何平台上编写(需要在Linux上运行,因为Java不适用于我的环境,Mono也不适合)
此外,这是解决此特定问题的最佳方法吗?有没有更好的方法来推送文本数据块?
编辑:一些澄清:
- 可能的数据结构基本上是一个相当扁平的(在连接紧密的意义上,因此任何链接都将基于ID引用而不是实际嵌套数据)节点集合。节点包含树的集合,这些树的叶子包含实际的“基元”数据,例如数字,字符串和ID。大多数数据更改都将在叶子中发生。
- 大多数叶数据非常小(原语或少于一段文字)但有些非常长(页面的“富”文本)
- 目前我们可以严格考虑这是一对一的,即只有一个客户端与任何特定数据结构连接(读/写)。
- 希望服务器尽可能地保持最小复杂性--想法是尽可能远离拥有服务器。虽然HTML5仍然大多不支持,但我仍然需要一个用于存储数据的...
^ 这就是你会在随机共享托管上预期的内容。我指的是你喜爱的 PHP、Python、PERL、Ruby 等语言。或者,一些可以轻松安装在随机共享托管上的东西。