数据同步方式 微软同步框架中的自定义数据同步基础
微软同步框架中的自定义数据同步基础
Microsoft Sync Framework(MSF)为我们提供了进行同步应用开发的基础框架和 API 这些 API 即有基于托管代码的 也有基于非托管代码的 也就是说我们既可以开发基于 NET平台使用托管 API 的同步应用 也可以开发基于WIN 平台非托管 API 的同步应用
MSF 只是一个框架 一个软件的半成品 它可以提供一些同步应用的通用基础功能 但是它没有办法知道我们要同步那里的数据 是单向 双向还是多向 冲突如何解决等问题 也没有办法了解我们业务系统的逻辑 所以我们的任务是使用 MSF 提供的基础来开发自定义的同步系统来满足我们自身系统同步的需要
使用 MSF 同步数据存储(replica)需要三个基本组件 synchronization session(同步会话 在本系列中简称 session)和两个 synchronization provider(同步提供者 在本系列中简称 provider)
同步时应用程序创建 session 并且传入相应的 source provider 和 destination provider 来初始化同步 同步过程中 session 使用 source provider 来获取 source replica 的变化 并将变化通过 destination provider 应用到 destination replica 创建自定义的同步 provider 是使用 MSF 的核心
provider 的职责
管理 replica 的 metadata 和 knowledge 同时还有每一个要被同步的 item 的 metadata
传输实际的 item 数据 从自己的 data store 中传出或者将其他 data store 的数据传入
使用 Sync Framework 中的 API 来 enumerate change (作为 source)或者 detect conflicts apply changes (作为 destination)
provider 是 MSF 框架的核心 主要的功能是管理元数据 Sync Framework 提供托管和非托管的 API 来帮助我们开发 Provider 这个以后实例中会讲到
同步算法

单向同步(one way synchronaztion)
session 取得 destination replica 的 knowledge 并发送给 source provider
source provider 利用 destination 的 knowledge 找出需要发送到 destination 的更改
source provider 将刚刚枚举出的更改传递给 session
session 利用 destination provider 来检测冲突并将源发送过来的变化(change)应用到 destination replica
两个 replica 之间的双向同步(Two way synchronization)可以通过两次单向同步完成
与一个计算机连接的 N 个 replicas 之间的多路同步(N way synchronization)执行过程
所有 replica 通过 one way synchronization 方式将自身数据同步到中心复本(central replica)
所有冲突在中心复本(central replica)上处理
所有 replica 通过 one way synchronization 方式从中心复本(central replica)同步到本地
lishixinzhi/Article/program/net/201311/13785- 上一篇
中原皇帝 鄰國皇帝從中原娶了一個十五歲少女,一年後,皇帝哭着向少女求饒
鄰國皇帝從中原娶了一個十五歲少女,一年後,皇帝哭着向少女求饒 朝鮮半島很長一段時間都是中原王朝的藩屬國,漢朝時候,朝鮮半島就成爲中原政權的一部分了,當時的朝鮮半島可以說就是中原政權的一個“省”,當時朝
- 下一篇
租门面房一般签几年合同合适 我在上海租了一门面房做生意,合同签三年,房子装修花了十几万,还差两年多到期,我能要求赔偿吗!
我在上海租了一门面房做生意,合同签三年,房子装修花了十几万,还差两年多到期,我能要求赔偿吗 我在上海租了一门面房做生意,合同签三年,房子装修花了十几万,还差两年多到期,我能要求赔偿吗如果是你提出退租,