当前位置: 首页 > 专利查询>微软公司专利>正文

加强项目收敛(即数据收敛)的冲突判决传播系统和方法技术方案

技术编号:2921055 阅读:257 留言:0更新日期:2012-04-11 18:40
本发明专利技术的各种实施例针对用于在手动和自动冲突判决操作期间检测冲突和应用冲突判决的系统和方法。几个实施例针对防止以下两点:(a)冲突判决的不收敛,其中,合伙者可以结束于发散的稳定状态(即,在缺少显著冲突的情况下具有不同的数据);以及(b)合伙者之间的冲突判决的往复转换(会发生于某些无效率的解决方案,这些解决方案连续不断地更新每个冲突判决的元数据,无休无止)。本发明专利技术的某些特殊实施例针对一种用于维护知识的方法,即使当不同的合伙者应用不同的冲突判决时,它也保证数据的收敛。

【技术实现步骤摘要】

本专利技术一般涉及跨越计算机系统的数据同步,尤其涉及判决对等同步系统中的冲突,并且按确保项目收敛(即数据收敛)的方式来传播冲突判决(亦即,基于用于同步的变化单元的数据收敛)。
技术介绍
对等同步环境中的不同的同步合伙者可以用不同的方法来判决出现在同步期间的冲突。这里先前所述的“基础专利申请”中详细地揭示了一个这样的对等同步环境及其基础硬件/软件接口系统。总之,这些“基础专利申请”描述了一种硬件/软件接口系统(例如但不局限于,操作系统),其中,其它可存储信息(项目)的自主单元包括构成用于同步的基本数据变化元素的几个组件变化单元(CU)。每个CU具有关联的元数据,该元数据允许该同步系统跟踪需要在对等计算机系统上更新什么变化,以及应该应用从其它对等计算机系统接收的什么变化。通常按照存在于两个对等计算机系统上的项目的单个变化单元,来描述使用变化单元和同步元数据(或类似的结构)的系统的一种示例性基本同步形式。关于该单个变化单元,第一对等体—合伙者A(或更简单地说是“A”)通过向第二对等体—合伙者B(或更简单地说是“B”)发送涉及该变化单元的其复制品(CUa)的当前元数据(Ma),来向B请求变化。一接收到Ma(对应于CUa),合伙者B就将该元数据与关于同一变化单元的其复制品(CUb)的其自己的元数据(Mb)进行比较。然后,如果Mb反映在Ma中没有得到反映的、对CUb的任何更改,那么,B将CUb和Mb都发送给A;否则,B只将其Mb发送给A(或者,作为替代,将“无更新”指示符发送给A),因为CUa已反映对CUb作出的所有更新,从而将CUb从B复制到A是不必要的。根据B对其同步请求的响应,如果A只从B接收回Mb(或者,作为替代,是“无更新”指示符),而不是CUb,那么,A知道CUa要么与CUb相同,要么比CUb更新。但是,如果A从B接收回Mb和CUb,那么,A随后必须通过Ma和Mb的比较来确定CUb是否比CUa更新,或者,CUa和CUb是否具有冲突的变化。如果CUb比CUa更新,那么,A用CUb来更新CUa,A也用Mb来更新Ma。另一方面,如果CUa和CUb具有冲突的变化,那么,A根据其本地冲突判决程序来判决那个冲突。例如,如果A在此情况中的冲突判决程序是选择本地解决方案优于远程解决判决方案,那么,A将会继续保留CUa(拒绝CUb的变化),并更新Ma,以包括所有更新反映Ma和Mb(Ma和Mb的并集)。其后,当B随后使用该相同的程序(并且假定没有介入的额外的变化)来与A同步时,它将推断出CUa比CUb更新,并用CUa来更新CUb。这个基本的“变化单元和元数据(CUAM)”的同步方法对于二对等体同步团体而言简单、有效。但是,如果有三个或更多的对等体,这个简单的方法会导致该数据发散,以致两个系统可能会获得不同的冲突判决解决方案,但具有相同的元数据,这样,在该对等团体中既无法辨认该逻辑不一致性,也无法对其进行适当的纠正。(这里稍后提供该现象的详细的例子。)为了迫使所有对等体上的数据收敛,在本
中需要一种用于各种类型的同步系统的同步方法,以便正确地识别和传播同步团体中的各个对等体之间的特殊冲突判决,并在同一冲突的不同判决之间进行仲裁,以确保一致地收敛到跨越所有相关对等体的冲突的单一判决上。
技术实现思路
本专利技术的各种实施例针对用于在手动和自动冲突判决操作期间检测冲突和应用冲突判决的系统和方法。几个实施例针对防止以下两点(a)冲突判决的不收敛,其中,合伙者可以结束于发散的稳定状态(即,当缺少显著的冲突时,具有不同的数据);(b)合伙者之间的冲突判决的无尽往复转换(会发生于某些无效率的解决方案,这些解决方案连续不断地更新每个冲突判决的元数据,无休无止)。本专利技术的某些具体实施例针对一种用于维护知识的方法,即使当不同的合伙者应用不同的冲突判决时,它也保证数据的收敛。附图说明通过结合附图来进行阅读,会更好理解前面的概述以及较佳实施例的以下详细说明。出于展示本专利技术的目的,这些附图中示出了本专利技术的示例性结构;但是,本专利技术不局限于所揭示的这些具体的方法和手段。在这些附图中图1是表示了其中可以结合本专利技术的各个方面的计算机系统的框图;图2是基于表格的时间流程图,示出了最终导致冲突判决的不收敛的三对等体同步操作(其中,合伙者可以结束于发散的稳定状态);图3是示出了本专利技术的几个实施例所利用的改进的同步过程;图4是基于表格的时间流程图,示出了最终导致冲突判决的收敛的三对等体同步操作;以及,图5是表格,示出了关于从图4所示出的过程中产生的某些结束状态的特殊处理和冲突处理的结果元数据,以及涉及新的本地变化的元数据(出于比较的目的,因为新的本地变化不直接是同步操作的一部分)。具体实施例方式以细节描述了本专利技术,以符合法定要求。但是,该说明本身并不意在限制本专利的范围。相反,专利技术人构想所要求保护的本专利技术也可用其它方法来加以具体表现,以便结合其它目前的或将来的技术,来包括类似于本文档中所描述的步骤的不同的步骤或步骤组合。而且,虽然这里可以使用术语“步骤”来意味着所使用的方法的不同元素,但是,该术语不应该被解释为暗示这里所揭示的各种步骤之中或之间的任何特定顺序,除非和除了当明确地描述单独的步骤的顺序时以外。计算机环境本专利技术的众多实施例可以在计算机上执行。图1和下文意在简要、概括地描述其中可以执行本专利技术的合适的计算环境。虽然未作要求,但是,将在由计算机执行的计算机可执行指令(例如,程序模块)的一般上下文中描述本专利技术。通常,程序模块包括执行特殊任务或实现特殊的抽象数据类型的例程、程序、对象、组件、数据结构等。而且,本领域的技术人员将会理解,本专利技术可以利用其它计算机系统配置(包括手持设备、多处理器系统、基于微处理器的或可编程的消费者电子设备、网络PC、小型计算机、大型计算机等)来加以实践。也可以在分布式计算环境中实践本专利技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于本地和远程记忆存储设备中。如图1所示,示例性通用计算系统包括常规个人计算机20或类似物,它包括处理单元21、系统存储器22和系统总线23,系统总线23将包括系统存储器的各种系统组件耦合到处理单元21。系统总线23可以是几种类型的总线结构中的任何总线结构,包括存储总线或存储控制器、外围总线和使用各种总线构造中的任何总线构造的局部总线。系统存储器包括只读存储器(ROM)24和随机存取存储器(RAM)25。基本输入/输出系统26(BIOS)被存储在ROM 24中,该基本输入/输出系统包含有助于在个人计算机20内的各个元件之间传送信息(例如,在启动期间)的基本例程。个人计算机20还可以包括从硬盘(未示出)读取并对其写入的硬盘驱动器27、从可移动磁盘29读取或对其写入的磁盘驱动器28、以及从可移动光盘31(例如,CD ROM或其它光学介质)读取或对其写入的光盘驱动器30。硬盘驱动器27、磁盘驱动器28和光盘驱动器30分别通过硬盘驱动器接口32、磁盘驱动器接口33和光驱接口34而被连接到系统总线23。这些驱动器及其关联的计算机可读介质为个人计算机20提供计算机可读指令、数据结构、程序模块和其它数据的非易失存储。虽然这里所描述的示例性环境使用硬盘本文档来自技高网
...

【技术保护点】
一种用于使同步团体中的至少两个对等计算机系统之间的变化单元数据同步的方法,其特征在于,所述方法包括:使所述至少两个对等计算机系统之间的变化单元数据同步;以及通过使用对应于所述变化单元数据的元数据分量,来确保该同步团体中所述变 化单元数据的收敛,所述元数据分量包括一冲突判决版本分量。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:DB特里I胡迪斯L诺维克VJ杰哈弗瑞
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1