[发明专利]用于操作排序的基于属性的依赖性识别有效
申请号: | 201780019615.0 | 申请日: | 2017-03-22 |
公开(公告)号: | CN108780465B | 公开(公告)日: | 2021-12-07 |
发明(设计)人: | B·D·琼斯 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F16/16 | 分类号: | G06F16/16;G06F16/178 |
代理公司: | 永新专利商标代理有限公司 72002 | 代理人: | 刘瑜;王英 |
地址: | 美国华*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 操作 排序 基于 属性 依赖性 识别 | ||
1.一种用于使本地对象模型与远程对象模型同步的系统,包括:
至少一个处理器;以及
存储器,可操作地连接到所述至少一个处理器并存储指令,所述指令在由所述至少一个处理器执行时使所述至少一个处理器:
接收与所述本地对象模型相关联的多个更改,其中,所述更改中的每个修改所述本地对象模型中的至少一个对象的至少一个属性状态,并且其中,所述更改已经通过对所述本地对象模型与所述本地对象模型的先前本版的比较而被识别;
识别由所述多个更改修改的对象的结果属性状态;
识别所述多个更改的所述对象的所需属性状态;
基于所识别的所需属性状态构建针对所述多个更改的依赖图,其中,所述依赖图包括第一节点和第二节点,其中,所述第一节点对应于所述多个更改中的第一更改并且所述第二节点对应于所述多个更改中的第二更改,当所述第一更改的第一所需属性状态与所述第二更改的第二结果属性状态相同时,所述第二节点被连接到所述第一节点;以及
基于所述依赖图来生成所述多个更改的有序列表,以用于使所述远程对象模型与所述本地对象模型同步。
2.如权利要求1所述的系统,其中,所述多个更改是通过将所述本地对象模型中的所述对象与在所述本地对象模型与所述远程对象模型之间的先前同步操作期间生成的快照进行比较来接收的。
3.如权利要求2所述的系统,其中,所述存储器还存储指令,所述指令在由所述至少一个处理器执行时使所述至少一个处理器将所述有序列表发送到基于网络的存储服务器以应用于所述远程对象模型。
4.如权利要求1所述的系统,其中,所述多个更改是从存储所述远程对象模型的基于网络的存储服务器接收的。
5.如权利要求4所述的系统,其中,所述存储器还存储指令,所述指令在由所述至少一个处理器执行时使所述至少一个处理器根据所述有序列表将所述更改应用于所述本地对象模型。
6.如权利要求1所述的系统,其中,所述依赖图包括至少一个从所述多个更改中的所述第一更改到所述多个更改中的所述第二更改的引用,所述引用指示所述第二更改的所述结果属性状态是所述第一更改的所需属性状态。
7.如权利要求1所述的系统,其中,所述存储器还存储指令,所述指令在由所述至少一个处理器执行时使所述至少一个处理器:
确定所述依赖图是否包含环;以及
当确定所述依赖图包含环时:
识别导致所述环的对象的属性状态;以及
生成与所述属性状态相关的附加更改以移除所述环。
8.如权利要求7所述的系统,其中,为了确定所述依赖图是否包括环,所述存储器还存储指令,所述指令当由所述至少一个处理器执行时使所述至少一个处理器执行以下操作:
以深度优先的方式遍历所述依赖图中的所述更改;以及
确定在所述遍历期间更改是否被访问多于一次。
9.如权利要求1所述的系统,其中,所识别的结果属性状态存储在关联数组中,所述关联数组将所识别的结果属性状态与所述更改相关联。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201780019615.0/1.html,转载请声明来源钻瓜专利网。