知识大全 微软同步框架中的自定义数据同步基础

Posted 框架

篇首语:种子牢记着雨滴献身的叮嘱,增强了冒尖的勇气。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 微软同步框架中的自定义数据同步基础相关的知识,希望对你有一定的参考价值。

  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)同步到本地

cha138/Article/program/net/201311/13785

相关参考

知识大全 同步两个SQLServer数据库

同步两个SQLServer数据库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  如何同步两个SQ

知识大全 关于OracleRac数据不同步

关于OracleRac数据不同步  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  现在有这样的环境

知识大全 如何通过触发器实现数据库的即时同步

问题如何通过触发器实现数据库的即时同步?  解答具体的解决方法请参考下文  即时同步两个表的示例如下:    测试环境如下:SQLSever数据库远程主机名:xz用户名:sa密码:无数据库名:test

知识大全 Java多线程共享数据、同步、通信

Java多线程共享数据、同步、通信  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一线程共享数据

知识大全 为什么要进行数据同步

Java多线程初学者指南(9):为什么要进行数据同步  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 SQL Server数据库同步问题

SQLServer数据库同步问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  我们可以通过数据

知识大全 使ACCESS数据库保持同步

使ACCESS数据库保持同步  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 解决不同字符集数据库间的数据同步问题

  解决不同字符集数据库间的数据同步问题  首先在原数据库上做一个视图对保存汉字的字段加包函数utl_raw_cast_to_raw(保存汉字的字段)  在新数据库上做个数据库连接连接指向原数据库之后

知识大全 MYSQL的master/slave数据同步配置

MYSQL的master/slave数据同步配置  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 两台SQL Server数据同步解决方案

两台SQLServer数据同步解决方案  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  复制的概念