Sync Framework 概述

Microsoft Sync Framework 是支持应用程序、服务和设备进行协作和脱机访问的一个综合性同步平台。Sync Framework 提供的技术和工具可以从不同地点访问数据、共享数据以及获取脱机数据。通过使用 Sync Framework,开发人员可以构建同步生态系统,通过在任意网络上使用任意协议,将任意应用程序与任意存储中的任意数据集成在一起。例如,个人信息管理 (PIM) 软件可以使用 Sync Framework 将 PIM 数据更新信息传播到所有参与者。共享诸如文档等数据的业务应用程序可以使用 Sync Framework 确保所有团队成员接收文档更新并正确处理所有并发更新冲突。在个人计算机上运行并管理移动设备上的媒体的媒体管理软件可以使用 Sync Framework 轻松地在设备上执行相应更新。

Sync Framework 技术

Sync Framework 融合了以下技术:

  • Sync Framework 核心组件:这些组件可用于为任何类型的数据存储创建同步提供程序。

  • Microsoft Sync Services for ADO.NET:可用于在脱机和协作方案中同步数据库。

  • Metadata Storage Service:可用于在轻量级数据存储中存储同步元数据。

  • Sync Services for File Systems:可用于同步文件系统中的文件和文件夹。

  • Sync Services for FeedSync:可用于将 RSS 和 Atom 馈送与本地存储中的数据进行同步。

使用元数据的优点

Sync Framework 使用包含执行同步所需的所有信息的元数据。元数据量小而高效,同时 Sync Framework 提供处理涉及元数据的众多任务的组件。使用元数据可以事先不指定同步数据类型并帮助均衡自由度、互操作性和简单程度。下表列出和描述了 Sync Framework 带来的一些元数据优点。

优点 说明

简洁

元数据很简洁,因为它不具有基于项版本的向量,却可以满足单主同步和多主同步的要求。

高效

元数据是高效的,因为它使用最少的变更枚举,甚至在循环中也是如此。

精确

Sync Framework 使用精确的冲突检测,不存在检测不足或过度检测的问题,也不会过度发送变更。它适用于非结构化数据(如文件)和结构化数据(如详细的变更跟踪)。

灵活

用户可以使用任何存储区和任何技术来存储元数据,可以将谓词添加到自己的协议,还可以使用自己的方法来优化同步操作。

可互操作

已就元数据达成一致。因此,可以支持任意拓扑。

易于操作

Sync Framework 提供标准工具包,可以处理多主同步的复杂情况。还可以对该工具包进行自定义,允许用户进行更改以获得更好的性能。

有用

Sync Framework 管理所需的足量元数据。例如,应用程序可以决定仅处理时间戳而让 Sync Framework 处理版本、知识和元数据存储。应用程序不必跟踪删除情况,因为 Sync Framework 可以从列表中估算此情况。应用程序也不必跟踪变更情况,因为 Sync Framework 可以通过哈希计算获知此情况。此外,在必要时 Sync Framework 可以为早期存储提供完全多主支持。

高级体系结构

通过将数据存储、传输机制和架构整合为一组构造块,Sync Framework 体系结构允许数据在任意数目的设备、服务和应用程序副本间流动。Sync Framework 构造块是运行时、元数据服务和提供程序。运行时驱动提供程序间的同步。提供程序使用元数据服务来处理和存储元数据。

下图显示了 Sync Framework 的高级体系结构。请注意,是通过向同步会话对象公开数据存储的提供程序接口来实现同步的。例如,通讯簿数据存储和设备数据存储都想同步**“公共联系人”**。同步会话通过使用元数据服务连接这两个提供程序并执行 API 调用以确定已变更的内容和要应用的内容。

体系结构概述

Sync Framework 结构概述

运行时

运行时通过启动、承载和取消同步会话来驱动同步。它还将状态、冲突和错误信息传送给客户端应用程序。运行时通过同步会话对象向提供程序发出请求,代表客户端应用程序来实现同步。托管和非托管接口都可以访问运行时。有关更多信息,请参见同步应用程序

元数据服务

此组件帮助应用程序使用同步元数据。它使得应用程序和提供程序不必了解元数据的内部工作细节(如知识结构),还为不具有逻辑位置的应用程序提供 Metadata Storage Service 这个可选元数据存储组件来存储同步元数据。Metadata Storage Service 使用轻量级数据存储并在客户端进程中运行。托管和非托管接口都可以访问元数据服务。有关更多信息,请参见元数据管理

提供程序

提供程序使用接口层隐藏运行时中数据存储的复杂性。提供程序是 Sync Framework 的主要集成点。对于同步自定义数据,开发任务主要围绕实现提供程序进行。提供程序可以实现接口的托管或非托管版本。有关更多信息,请参见同步提供程序

请参阅

参考

Microsoft.Synchronization

概念

Sync Framework 非托管参考
同步应用程序
元数据管理
同步提供程序

其他资源

Microsoft Sync Framework