[发明专利]针对分布式持久实例的锁定解决有效

专利信息
申请号: 201080054552.0 申请日: 2010-11-05
公开(公告)号: CN102640113A 公开(公告)日: 2012-08-15
发明(设计)人: N·A·艾伦;J·D·布朗 申请(专利权)人: 微软公司
主分类号: G06F9/44 分类号: G06F9/44;G06F15/16
代理公司: 上海专利商标事务所有限公司 31100 代理人: 胡利鸣
地址: 美国华*** 国省代码: 美国;US
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 针对 分布式 持久 实例 锁定 解决
【说明书】:

背景

计算机系统和相关技术影响社会的许多方面。的确,计算机系统处理信息的能力已转变了人们生活和工作的方式。计算机系统现在通常执行在计算机系统出现以前手动执行的许多任务(例如,文字处理、日程安排和会计等)。最近,计算机系统彼此耦合并耦合到其他电子设备以形成计算机系统和其他电子设备可以在其上传输电子数据的有线和无线计算机网络。因此,许多计算任务的执行分布在多个不同的计算机系统和/或多个不同的计算环境中。

长期运行的应用(如例如工作流应用)通常得益于周期性地持久保存其工作以允许应用在错误、崩溃或机器故障之后恢复。持久保存工作允许应用临时地变为空闲并且使它们的资源得到重新分配。为了持久保存工作,应用主机使持久保存的状态与运行时状态相协调以保证创建了一致的检查点。例如,持久保存的状态可能需要与应用事务、消息通知、锁定、本地状态高速缓存等进行协调。

计算机系统还基本上并行化地将工作在多个计算线程、核和处理器间划分,包括执行许多同时的长期运行的应用。因此,应用主机必须采用谨慎的薄记来允许多个同时执行线程与持久保存的状态和运行时状态交互。由于应用主机和状态持久保存系统可能位于不同的机器上,因此该协调可以进一步嵌入在分布式系统内。由此,即使在应用主机处对执行线程施加了绝对顺序,应用主机与状态持久保存系统之间的交互仍然可能经历重排序。此外,持久保存的状态可以由多种别名来标识,从而使得两个执行线程正在引用同一状态是不明显的。

这些条件(以及其他条件的组合)可共同造成创建了在顺序系统中不大可能的复杂度。例如,应用主机可以是如下若干功能类似的程序之一:所述程序竞争以在共享的状态持久保存系统中将修改应用于持久保存的状态。由于在这样的系统中可能存在固有的竞争,因此这些修改的一部分可能是冲突的。另外,由于这些复杂度以及无论是否使用谨慎和正确的薄记,应用主机都可以确定该应用主机与其自身冲突。

发明内容

本发明延及用于解决锁定冲突的方法、系统和计算机程序产品。本发明的实施例包括用于解决在两个或更多个尝试对存储在实例存储中的实例进行锁定的执行线程之间锁定冲突的方法。在一些实施例中,持久保存提供者从包括在应用主机中的第一执行线程接收第一命令。第一命令被配置为在一个或多个条件被满足时请求为第一实例获取锁定。持久保存提供者将第一命令记录在命令日志中。持久保存提供者将第一命令提交到实例存储。

持久保存提供者从包括在应用主机中的第二执行线程接收第二命令。第二命令被配置为请求将第二实例锁定到第二执行线程以供第二命令来处理。持久保存提供者将第二命令记录在命令日志中。持久保存提供者将第二命令提交到实例存储。

持久保存提供者从实例存储接收针对第二命令的锁定响应。该锁定响应指示:应用主机是第二实例的锁定的持有者。该锁定响应是在提交第一命令以后并在第一命令完成以前接收到的。

持久保存提供者引用命令日志以确定第一命令的当前解析提供的信息不足以确定:(a)第一命令是否获取了对第一实例的锁定;以及(b)第一实例和第二实例是否是同一实例。不足的信息导致不清楚第二命令所请求的锁定是否是之前由第一命令获取的锁定。持久保存提供者暂停第二命令的处理直到达到对第一命令的进一步解析。对第一命令的进一步解析至少提供关于一个或多个所满足的条件的附加信息。持久保存提供者基于所述附加信息来确定:第一命令获取了第二命令所请求的锁定。持久保存提供者响应于第一命令已经获取该锁定的确定而舍弃第二命令。

在一些实施例中,持久保存提供者从包括在应用主机中的第一执行线程接收第一命令。第一命令被配置为请求获取第一实例的锁定。持久保存提供者将第一命令提交到实例存储。持久保存提供者从实例存储接收针对第一命令的锁定响应。该锁定响应指示:应用主机已经获取了第一实例的锁定。第一实例的锁定是针对第一实例版本的。

持久保存提供者从包括在应用主机中的第二执行线程接收第二命令。第二命令被配置为请求将第二实例锁定到第二执行线程以供第二命令来处理。持久保存提供者将第二命令提交到实例存储。持久保存提供者从实例存储接收针对第二命令的锁定响应。该锁定响应指示:应用主机已经获取了第二实例的锁定。第二实例的锁定是针对第二实例版本的。

持久保存提供者确定:第一实例和第二实例是同一实例。持久保存提供者确定:第二实例版本是比第一实例版本更新的实例版本。持久保存提供者响应于确定第一命令正持有针对陈旧的实例版本的锁定而舍弃第一命令。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201080054552.0/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top