[发明专利]用于为工作单元提供原子性的方法、系统和计算机程序有效
申请号: | 200680010037.6 | 申请日: | 2006-04-06 |
公开(公告)号: | CN101151630A | 公开(公告)日: | 2008-03-26 |
发明(设计)人: | J·E·加尔扎;S·J·霍布森;M·马尔霍兰;S·鲍威尔 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06Q10/00 | 分类号: | G06Q10/00 |
代理公司: | 北京市金杜律师事务所 | 代理人: | 朱海波 |
地址: | 美国纽*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 工作 单元 提供 原子 方法 系统 计算机 程序 | ||
技术领域
本发明涉及一种用于为工作单元提供原子性的方法、系统和计算机程序。
背景技术
在事务处理领域中,通常要求工作单元具备ACID性质。ACID是代表四种工作单元性质的首字母缩写词:原子性、一致性、隔离性和耐久性。原子性要求务必使工作单元的所有操作都发生或者务必使工作单元的操作无一发生。一致性要求工作单元保持它所操作的数据的一致性。隔离性要求工作单元不得读取另一事务的中间结果。耐久性要求使被提交(commit)的工作单元的结果持久并且即使在系统故障的情况下仍然能够确保其它ACID属性。然而,用以保证这些性质的职责落在不同部件上。例如,如果工作单元是事务,则事务协调器提供原子性,应用提供一致性,资源管理器提供隔离性和耐久性。另外,在一些工作单元中,并非所有这样的性质都会得到遵循,例如对于作为长期运行(延展)的事务并且包括数个事务的工作单元而言没有遵循隔离性。
例如,一种公知和理解的工作单元是事务,而事务协调器或者中间件的作用在于提供原子性。由此,例如如果应用在事务中涉及到两个操作并随后请求事务协调器提交该事务,则事务协调器必须保证两个操作均提交(成功)。可选地,如果该应用请求事务协调器收回(back out)事务,则事务协调器必须保证两个操作均被收回(失败)。
提供原子性的主要问题是即使在事务协调器执行于其上的系统发生故障的情况下仍然必须确保原子性。例如,如果事务涉及到两个操作并随后进行提交,则系统可能在事务协调器已经提交第一操作之后、但是在尚未提交第二操作之前发生故障。结果,当系统重启时,事务协调器必须保证第二操作也提交。为了提供这一功能,事务协调器有必要维护经历了系统故障而留存下来的并且记录各事务的进度的非易失性日志。例如,事务协调器将在该日志中维护对各事务中涉及到的操作以及该事务的进度状态的顺序记录。另外,在事务中的某些点,在事务协调器保证日志记录已经被写到非易失性存储器的同时必须保持该事务。然而,写入日志是耗费时间的。
发明内容
根据第一方面,提供一种用于为涉及到多个参与器的工作单元提供原子性的方法,该方法包括以下步骤:将预备请求发送到至少一个参与器,其中该请求包括为了恢复工作单元而需要的数据;以及在恢复工作单元时,恢复工作单元,包括:从至少一个参与器获得数据;以及使用获得的数据来恢复和保留工作单元的原子性。
优选地,数据包括如下细节,根据该细节能够确定工作单元的结果。更优选地,该数据包括工作单元中其它参与器的列表。更优选地,向预备请求被发送到的最后参与器发送的数据包括提交工作单元的结果的指示。
在优选实施例中,恢复工作单元的步骤还包括:响应于获得的数据包含提交工作单元的结果的指示,将提交请求发送到至少一个参与器。优选地,该方法还包括以下步骤:将遗忘请求发送到至少一个参与器。更优选地,从至少一个参与器获得数据的步骤包括:将对数据的请求发送到至少一个参与器。更优选地,从至少一个参与器获得数据的步骤包括:从至少一个参与器接收消息,该消息包括数据。
根据第二方面,提供一种用于参与工作单元的方法,该方法包括以下步骤:从工作单元的协调器接收预备请求,该预备请求包括代表协调器进行存储的数据;以及处理预备请求,该处理步骤包括以下步骤:确定能够完成更新;在非易失性存储器中存储数据;以及对预备请求做出响应,该响应包括能够完成更新这一指示。
优选地,该方法还包括以下步骤:从协调器接收对数据的请求;以及响应于接收到请求,将数据提供给协调器。更优选地,该方法还包括以下步骤:将数据发送到协调器。更优选地,发送数据的步骤对确定与协调器失去联系做出响应。
根据第三方面,提供一种用于为涉及到多个参与器的工作单元提供原子性的协调器,该协调器包括:用于将预备请求发送到至少一个参与器的装置,其中该请求包括为了恢复工作单元而需要的数据;以及用于在恢复工作单元时恢复工作单元的装置,包括:用于从至少一个参与器获得数据的装置;以及用于使用获得的数据来恢复和保留工作单元的原子性的装置。
根据第四方面,提供一种用于参与工作单元的参与器,该参与器包括:用于从工作单元的协调器接收预备请求的装置,该预备请求包括代表协调器进行存储的数据;以及用于处理预备请求的装置,包括:用于确定能够完成更新的装置;用于存储数据的非易失性存储器;以及用于对预备请求做出响应的装置,该响应包括能够完成更新这一指示
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200680010037.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:空间接触面加大的冷却塔填料的制造工艺
- 下一篇:一种免拆洗抽油烟机
- 同类专利
- 专利分类
G06Q 专门适用于行政、商业、金融、管理、监督或预测目的的数据处理系统或方法;其他类目不包含的专门适用于行政、商业、金融、管理、监督或预测目的的处理系统或方法
G06Q10-00 行政;管理
G06Q10-02 .预定,例如用于门票、服务或事件的
G06Q10-04 .预测或优化,例如线性规划、“旅行商问题”或“下料问题”
G06Q10-06 .资源、工作流、人员或项目管理,例如组织、规划、调度或分配时间、人员或机器资源;企业规划;组织模型
G06Q10-08 .物流,例如仓储、装货、配送或运输;存货或库存管理,例如订货、采购或平衡订单
G06Q10-10 .办公自动化,例如电子邮件或群件的计算机辅助管理