我正在寻找一个可以帮助我“实时”保持服务器和GUI之间状态同步的库。我有消息和中间件排序(推送更新等),但我需要的是一个协议,它保证数据在一个合理有限的时间内保持同步 - 错误/丢弃的消息/异常可能导致数据离开syn几秒钟,但它应该重新同步或至少知道它在几秒钟内不同步。
这似乎应该是之前已经解决过的东西,但我似乎找不到合适的东西 - 任何帮助都非常感激
更多细节 - 我有一个富客户端(Silverlight,但很可能很快转向Javascript / C#或Java)由JMS类型中间件提供服务的GUI。 我希望重新设计一些数据交互,如下所示
每个用户对以下项目的几个相当小的数据集都有自己的视图:
所有这些数据集都可以随时在服务器上更改,数据应该尽快在客户端上更新。 通过服务器更改数据 - 客户端要求更改(例如取消请求),服务器根据权利和业务规则对其进行验证,并更新其内部数据集,然后将更改发送回GUI。为了提供用户反馈,可以在gui(取消提交或类似)上设置临时状态,该状态由服务器响应覆盖。
目前工作流程为:
我正在寻找一个可以改进此
的通用库我认为理想的解决方案可以像
那样使用感谢您的任何建议
答案 0 :(得分:0)
我有一个项目正在处理前端Javascipt中的同步方面。在Node.JS中写了一个测试服务器(一旦客户端被解决,它实际上很容易)。
基本上,数据按键存储在数据集中,并且每个单独的键都是版本化的。服务器具有所有数据的所有版本,客户端可以从服务器提供更改。在客户端和服务器上修改某些内容时的版本冲突由冲突解决回调处理。
它并不完整,事实上它目前只有内存商店,但会在新的一周左右发生变化。
实际的通知/下载和上传超出了库的范围,但您可以使用Sockets.IO。
它目前适用于jQuery,Dojo和NodeJS,实际上它几乎没有任何依赖。