[发明专利]事务变换有效
申请号: | 200680014092.2 | 申请日: | 2006-04-20 |
公开(公告)号: | CN101542457A | 公开(公告)日: | 2009-09-23 |
发明(设计)人: | B·M·奥勒尼科;C·A·西泽伯斯基;D·G·亨特;A·F·阿玛德;T·D·泽默豪尔;Y·瑞彻金恩 | 申请(专利权)人: | 微软公司 |
主分类号: | G06F15/16 | 分类号: | G06F15/16;G06F15/173 |
代理公司: | 上海专利商标事务所有限公司 | 代理人: | 陈 斌 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 事务 变换 | ||
背景技术
当构建应用时,软件开发者通常通过使用诸如C#的开放语言来编写“命令代 码”来创建软件组件。在创建命令代码、即对软件组件给出其函数的软件代码中, 开发者必须在通过调用或其它构件在所有部件之间创建链接。对于由应用提供的任 何功能,软件开发者通常为执行应用专用函数的所有不同软件组件创建代码并对彼 此依赖以完成任务的软件组件之间的互连进行手动编码。软件开发者创建用户接 口、数据构件和所有所需操作用于用户和应用之间的交互。
在大多数应用中,用户接口、操作和数据构件是应用专用的。因此,为了创 建应用,软件开发者通常创建大量代码来实现特定用户接口、操作和/或其它构件。 此外,软件开发者通常在不同软件片段之间组织和创建所有相互关系。结果,为了 创建任何应用,软件开发者必须能非常熟练地使用用于创建应用的下层语言。
在处理事务时出现特别复杂的应用开发问题。事务相关于客户端与服务器之 间或者如本文预期的数据客户端和数据存储之间的通信(以及通常的数据转移), 其中,数据客户端是允许对一个或多个数据存储中数据进行访问的UI元件。通过 事务操控这种数据的应用经常使用“原子”事务(atomictransaction)。原子事务是 遵循“全有或全无”原则的一组操作,其中要么成功执行全部操作,要么没有操作 被执行。例如,在进行金钱转移的系统中,必须确保信息被全部更新。如果在两个 账户之间转移资金,则在一账户没有借出等量资金的情况下另一个账户不能存入。 因此,记录存入并记录相应的借出需要原子、“全有或全无”的操作委托 (committal)。
以前,为了进行原子事务,通常应用依赖于两阶段提交模型。在这种情况下, 对委托暂时保持/缓冲数据。在第一阶段,寻找所缓冲的数据可原子地提交给保持 该数据的所有数据存储的保证。在第二阶段,如果收到保证,则保持该数据的所有 数据存储将提交改变。如果数据存储的一个或多个不能提交,则操作被中止且数据 视图中的更新丢失,其中数据视图是提供对数据库中的数据进行读和/或写访问的 一种类型的数据客户端。丢失这种数据使用户不得不再次输入数据,浪费时间和资 源。
本发明正是针对这些因素和其它因素作出的。
发明概述
提供发明概述来以简化形式引入在以下详细描述中将进一步描述的概念选 择。发明概述不旨在标识权利要求的主题的关键特征或本质特征。
根据本发明,提供用于在应用中维护隔离数据的计算机实现方法。接收该数 据以及与执行相关于该数据的控制操作的请求。执行控制操作,并更新关于该数据 以及控制操作的状态信息。
根据其它方面,本发明涉及一种可由计算系统访问且编码有用于构建能够隔 离局域化数据的应用的计算机程序的计算机可读介质。接收应用规范、标识需要隔 离的一个或多个数据实体、并对各个数据实体实现一个或多个事务变换。
根据再其它方面,本发明涉及应用中数据隔离的系统。控制模块执行各种控 制操作。缓冲模块存储缓冲数据并维护相关于该缓冲数据以及相关于控制操作的状 态信息。可任选地,策略模块允许缓冲和/或控制操作性能的进一步精细化。
通过阅读以下详细描述和关联附图的评述,表征本发明的这些和各种其它特 征以及优点将变得显而易见。
附图说明
图1示出其中已实现本发明一实施方式的应用环境示例。
图2示出可在其上实现本发明一实施方式的适当计算系统环境的示例。
图3是示出根据本发明一实施方式的XML应用框架(XAF)应用的示例性实 施方式的功能图,其中应用组件连接于一个或多个UI和一个或多个数据存储。
图4示出在本发明一实施方式中执行的操作的操作流程。
图5示出在本发明一实施方式中执行的操作的操作流程。
图6示出在本发明一实施方式中执行的操作的操作流程。
详细描述
可通过使用一个或多个“事务变换”将数据客户端中的数据选择性地与数据 存储隔离。图1示出其中已实现事务变换114的应用环境示例。事务变换114包括 存储隔离数据和关于该数据的状态信息的缓冲模块116以及结合缓冲模块116使用 两阶段提交协议使得失败的提交不造成数据丢失的控制模块118。以下更加详细地 描述缓冲模块116和控制模块118。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200680014092.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:可卸式燃烧器
- 下一篇:用于机械座封可收回的封隔器的弹簧激励碎屑屏障