C# 多个客户端和中央服务器之间的.Net数据同步
我的客户是一家金融服务提供商,他们的软件部署在500多个客户上 他们的应用程序是用C#编写的,并使用SQL Server作为数据库后端。他们希望从所有客户机数据库收集数据,并将少量数据发送回客户机。有几个要求:C# 多个客户端和中央服务器之间的.Net数据同步,c#,.net,sql-server,multi-tenant,C#,.net,Sql Server,Multi Tenant,我的客户是一家金融服务提供商,他们的软件部署在500多个客户上 他们的应用程序是用C#编写的,并使用SQL Server作为数据库后端。他们希望从所有客户机数据库收集数据,并将少量数据发送回客户机。有几个要求: 数据同步针对500多个客户机,这些客户机在7个不同版本的软件中有7个稍微不同的数据库模式 随着时间的推移,他们的软件可能会有具有不同模式的新版本,而这些新版本不能因为等待更新此数据同步机制而延迟。基本上,数据同步需要灵活,以支持任何模式,并从一个中心位置进行控制,而不是将其更改绑定到应用
有没有关于多租户系统或数据同步的好书/文章可以阅读,这些书/文章提供了一些关于如何创建这样一个系统的好观点?不确定是否存在除同步之外的现有框架,我之前也有类似的要求,但无法使用MS sync,因为我没有使用mssql 这就是我做的,一些自定义代码 我们将对模式更改方法进行一些假设
- 可以添加新字段/属性
- 不会删除现有字段(即,您不必迁移 (现有数据)
- 客户端和服务器上的时钟使用UTC并同步
- 表名
- 版本
- 上次同步日期
- 第1项,第1/1/13项,服务器
- 项目2,2/2/13,客户1
如果您想复制ms syncing概念,还可以查看它。事件源技术将对您有很大帮助,但它需要从客户端应用程序发布有意义的事件。您可能需要考虑使用XML来适应变量和更改模式。它为您提供了一种收集不同数据并(尝试)在以后整理细节的方法,只要您始终包含足够的信息来标识模式版本。