警告,我希望我问的是正确的问题,请随时提出替代方案。
情况; 我有一个主要用 javascript 编写的网站,可以在固定和移动设备上运行。该网站的数据量很大。它映射了大量移动对象和其他交互。每个客户端每隔几秒就会收到来自服务器的数据更新,因此,我需要尽量减少发送的数据量。目前,服务器会发送一个相当大的散列,其中包含每次更新时所有对象的当前状态。这是非常低效的,因为大部分数据保持不变。
我相信,以最少的编码和测试对发送的数据量产生最大影响的方法是每次更新时只将更改发送到散列。
所以,我想知道是否有任何久经考验的方法可以将上次发送的数据(哈希)与将要发送的数据(哈希)进行比较,提取差异,然后将差异应用于哈希javascript方面?我希望这是有道理的?
当我说比较时,我指的是键和值。目前哈希没有以任何特定方式排序,但是如果需要的话,这不是问题。
我看过 Data::Compare 之类的东西,但它似乎只是告诉我哈希是否不同,而不是区别是什么(除非我读错了?)。