FLYabroad 技术移民 - FLYabroadVisa.com

Microsoft Sync Framework 系列(四):微软同步框架中的基本概念

同步要解决的基本问题:
源(source)记录更改,把更改传输目标(destination),目标(destination)检测并处理冲突,把更改应用到(apply)本地。

如何记录更改,如何检查并处理冲突是同步框架要解决的核心问题。
要合理高效的解决这些问题,需要做很多细致工作,微软同步框架对这些通性问题进行了抽象,Sync Framework使用元数据(Metadata)来跟踪更改并检查冲突。

元数据包括如下基本概念:
记录更改首先要明确是对谁的更改,因此提出了复本(replica),单元(unit),条目(Item)的概念;
如何标志这些更改,提出了弹性标志符(Flexible identifier),全局标志符(Global identifier)等概念;
同时使用版本(Version)概念来记录更改,在MSF中,版本使用键(key)和逻辑时钟(tick count)表示。
MSF使用知识(Knowledge)概念来高效的记录更改,它力争使跟踪变化的操作和需要在网络上传输的数据最小。
同时使用批等概念,提升同步处理的效率。
下面是这些基本概念的简单解释,后面的系列会详细的介绍重要的概念。

批(Batching)
可以将一批更改作为一个整体一次发送,而不是一个一个的发送,以提升性能。

更改单元(Change Unit)
用于跟踪存储更改的最小单元。更改单元(change unit)保含在条目(item)中,例如通讯簿条目中的姓名和地址自动。在更改传播的过程中,只有该更改单元(change unit)必须发送。在冲突检测过程中,只有对同一更改单元的修改被认为是冲突。

客户端(Client)
想要与 Sync Framework 架构集成的服务,应用,或者设备都叫做Client。

时钟向量(Clock Vector)
由key/tick count对组成,代表对复本(replica)的所有更新(updates),在 0 到 tick count 之间的更改都包含在时钟向量中。

冲突解决方法(Conflict resolution method)
用于决定当发生冲突时哪个更改将写入存储。典型的冲突解决方法包括:最后写入的胜出(last writer wins),源胜出(source wins),目标胜出(destination wins),自定义(custom), 延期处理(deferred)。

一致单元(Consistency unity)
需要被一起发送的最小单元,并且该单元应该作为一个事务(要么全部成功,要么全部不成功),发送过程中不能因为被中断而产生不一致。

弹性标志符(Flexible identifier)
该种类型的标志符可以被分配给各种同步实体,例如复本(replica),标志符可以定长也可以变长。

全局标志符(Global identifier)
全局标志符(Global identifier)也是一个弹性标志符(Flexible identifier),但要保证在所有客户端中唯一。

条目(Item)
代表一个被同步单元,可以是数据单元也可以是元数据单元。

知识(Knowledge)
参与者用于描述自身更改的元数据。

参与者(Participant)
提供者及其相关的复本(replica)。

范围(Range)
连续的条目标志符,通过起始值(starting point),终止值(ending point),及一个适用于该范围所有ID的 clock vector(时钟向量)。

复本(replica)
特定的用于同步的信息存储(A particular repository of information to be synchronized),通过 Replica ID 唯一标志,

作用域(Scope)
正在同步的数据集。

同步应用(Synchronization application)
宿主(host)同步会话并且调用同步框架提供者对不同数据存储进行同步的软件组件。

同步提供者(Synchronization provider)
代表一个同步副本的软件组件。作为源(source),枚举复本上的更改。作为目标,在复本(replica)上应用更改。对于数据格式不匹配,执行必要的模式转换。

同步会话(Synchronization session)
一次单向同步,源枚举并发送数据更改,目标接受并应用(apply)这些更改。

滴答计数值(tick count)
一个单调递增的数值(A monotonically increasing number),与复本键值(replica key)组成一个版本。

墓碑(Tombstone)
用来标记已经删除的条目。

版本(Version)
标志一个条目的版本元数据。包含该条目的复本键值(replica key)和复本的滴答计数值(tick count)。

posted on 2008-05-20 18:19  FLYabroad  阅读(3368)  评论(1编辑  收藏  举报

导航

FLYabroad 签证工作室 - FLYabroadVisa.com