1

我们正在着手开发一种解决方案来处理科学领域数据的收集和存储。

该解决方案应处理连接到通过蜂窝网络连接到中央 SQL 服务器的车辆(卡车、船只等)的多个厚 Windows PC 现场客户端。

客户端向中央服务器提供从设备收集的数据以及手动输入。客户端使用来自中央服务器的半静态数据,例如人员列表,以及与特定任务相关的预定义数据。

与服务器的连接不稳定,因此客户端应该能够在不连接中央服务器长达 3 小时的情况下完全运行。

我们将 MSMQ 和 Microsoft Sync Framework 视为处理客户端/服务器通信的选项。您可以提供的任何见解将不胜感激。

4

1 回答 1

1

通过 WCF 实现与同步框架的同步。这将允许您 (ao) 使用 WCf 行为压缩数据。而且您不必将您的 sql 服务器暴露在互联网上。 http://code.msdn.microsoft.com/Database-Sync-SQL-Server-7e88adabhttp://code.msdn.microsoft.com/Database-SyncSQL-Server-e97d1208

如果您可能发生冲突(在多个客户端上更新数据或同时在客户端和服务器上更新数据),请实施命令模式以将数据从客户端发送到服务器。在客户端本地更改数据,同时创建一条消息发送到服务器,该消息不使用同步框架,但可以由服务器处理,结果相同。这为您提供了更多的控制和灵活性。

我不知道msmq。您可以通过 WCF 获得可靠的消息传递,并且只要您从客户端发送的消息是幂等的并且您从服务器发送给客户端的数据被认为是最重要的事实,我认为不需要 msmq。

如果您可以在客户端上使用 sql express,我非常喜欢带有 sql server 更改跟踪的 sync fx 2.0 方法,但这是 Microsoft 不支持的方案。否则,使用元数据表的同步 fx 2.1 方法是可以的,只要你没有超过 n 个表,比如 50 个表。

如果您有更具体的问题,我可能会知道更多。

于 2014-04-24T13:30:14.827 回答