当前位置: 首页 > 专利查询>BEA系统公司专利>正文

事务恢复机制制造技术

技术编号:2914213 阅读:198 留言:0更新日期:2012-04-11 18:40
根据实施例,提供了用于从未完成事务中恢复的机制和方法。当从服务器崩溃或其他灾难性事件中恢复时,这些机制和方法可使实施例能检测未完成事务。当已检测到未完成事务时,一些实施例可自动重建被中断的连接。实施例的检测未完成事务的能力可使恢复能在服务器重启和适配器重新部署后就基本上立即发起。

【技术实现步骤摘要】
【国外来华专利技术】优先权声明由Brian Christopher Chesebro等于2006年5月3日递交的申请号11/416,906(代理人案号BEAS-01786US0)、题为RECOVERYMECHANISM FOR TRANSACTIONS的美国专利申请。版权公告此专利文档的公开部分包含受版权保护的材料。由于本专利文档或本专利专利技术出现在专利商标局的专利文件或记录中,版权所有者不反对由任何人对本专利文档或本专利专利技术的复制,但是除此以外在任何情况下都保留所有的版权权利。
本专利技术一般地涉及用于提供在一个或多个应用服务器和一个或多个企业信息系统之间的互连性的技术,并且更具体而言涉及用于从未完成事务中恢复的机制。
技术介绍
自从在1995年创立以来,JavaTM编程语言已变得越来越流行。(JavaTM是太阳微系统公司(Sun Microsystems,Inc.)的商标)Java是解释语言,它使得能够创建可在种类繁多的平台上运行的应用。跨越各种不同的客户端平台发挥功能的这种能力,即平台无关性,以及Java的相对容易的网络应用的实现,已导致Java以及提供了平台无关性的其他编程语言在如个人网页一样基本的尝试到如大型的企业对企业的企业系统一样复杂的尝试中的使用。然而,因为应用以及应用连接到的企业信息系统(EIS)可由很多不-->同商家提供,所以需要使这些不同的计算机实体能互相通信的机制。Java2平台企业版(J2EE)是应对这样需要的规范。J2EE连接器体系结构提供了用于将符合J2EE的应用服务器与企业信息系统进行整合的机制。J2EE连接器体系结构定义了公用客户端接口(CCI)用于EIS接入。CCI定义了使客户端能与各种企业信息系统交互的客户端API。应用服务器,即应用可被部署于其上的服务器,以及企业信息系统仅需要遵循J2EE连接器体系结构规范以彼此互连。遗憾的是,J2EE规范没有解决所有的互连问题。例如,人们关心的一个方面是检测和补救可能发生在服务器崩溃或其他不可预见的中断事件中的未完成。事务应用经常使用试图协调对事务的处理的各种方法。然而这样的传统方法可能有一段时间不能检测到未完成事务的存在。此外,这样的传统方法在检查未完成事务的过程期间可能创建了不需要的连接。所需要的是用于从未完成事务中恢复的改进的机制。附图说明图1是示例计算环境的功能框图,在该示例计算环境中可实现实施例中的用于从未完成事务中恢复的技术。图2示出用于提交事务的两阶段提交过程的概况。图3是示出实施例中的用于从未完成事务中恢复的技术的高级概况的操作流程图。图4是示例计算机系统的硬件框图,该示例计算机系统可用来实施在实施例中的一个或多个组件。具体实施方式作为示例而非作为限制,在附图的图中例示本专利技术,在附图中类似的标记指示类似的元素。在本公开中,参考实施例未必参考同一实施例,而且这样的参考意味着参考至少一个实施例。虽然讨论了具体的实现,但是会理解的是这样做仅是出于例示的目的。相关领域的技术人员会意识到,在不脱离本专利技术的范围和精神的情况下可使用其他组件和配置。-->在以下描述中,陈述了许多具体细节以提供对本专利技术的透彻描述。然而,本领域的技术人员将会清楚的是,没有这些具体细节仍可实践本发明。在其他示例中,没有详细描述公知的特征以便不掩盖本专利技术。虽然示图可能将组件描绘为逻辑上分离的,但是这样的描绘仅出于例示的目的。本领域的技术人员可以清楚的是,所描绘的组件可被组合或划分成分离的软件、固件和/或硬件组件。例如,在此描述的一个或多个实施例可在诸如路由器之类的可访问网络的设备/电器中实现。此外,本领域的技术人员还可清楚的是,不管这样的组件是怎样组合或划分的,它们可在同一计算设备上执行,或者可被分布在通过一个或多个网络或其他合适的通信装置连接的不同计算设备中。根据实施例,提供了用于从未完成事务中恢复的机制和方法。当从服务器崩溃或其他灾难性事件中恢复时,这些机制和方法可使实施例能检测未完成事务。当已检测到未完成事务时,一些实施例可自动重建被中断的连接。实施例的检测未完成事务的能力可使恢复能在服务器重启和适配器重新部署后就基本上立即发起。可避免对于恢复来说不必要地创建真实的适配器连接。在一个实施例中,提供了用于从未完成事务中恢复的方法。一个方法的实施例包括创建伪资源(dummy resource),并且利用在服务器崩溃前就已在资源适配器的先前使用中所使用的名字,向事务管理器注册伪资源。事务管理器检查名字,以确定名字是否涉及在未解决的事务的。当事务管理器已确定名字涉及在未解决的事务中时,事务管理器调用伪资源以发起恢复。此处理可使实施例能提供通知机制,通过该通知机制使事务管理器能确定需要恢复。在一个实施例中,方法还可包括通过事务管理器创建经由资源适配器的真实连接。恢复请求被传递给与资源适配器相关联的资源管理器。将描述使用XA协议的实施例,以提供由本专利技术所提供技术的例示性的示例,XA协议是由X/Open DTP组织定义的两阶段提交(commit)协议。很多数据库(像OracleTM)和事务监视器(像TuxedoTM)固有地支持XA。为进一步了解关于XA协议的详情,可参考开放组织(The Open-->Group)编写的“Distributed Transactional Processing:The XASpecification”(《分布式事务处理:XA规范》)(1992)(可在http://www.openqroup.org/public/pubs/catalog/c193.htm获得,最后访问于2006年3月28日),它定义了对涉及在XA事务中的事务管理器和资源管理器的要求。虽然参考了在其中遵循XA协议来实现用于从被中断的连接中恢复的技术的实施例来描述本专利技术,但是本专利技术不限于XA协议。在不脱离所要求保护的实施例的范围的情况下,实施例可利用其他互连性规范或编程语言(即JSP等)而实践。(JavaTM是太阳微系统公司的商标)图1是实现了连接器体系结构的示例计算环境的功能框图,在该示例计算环境中可实现实施例中的用于从未完成事务中恢复的技术。如图1所示,连接器体系结构实现100包括应用服务器110,资源适配器120a、120b,资源130a和130b以及应用组件140。如在此所用,术语应用服务器被广义地定义为计算机网络中的专用于运行某些软件应用的服务器计算<本文档来自技高网...

【技术保护点】
一种用于从未完成事务中恢复的方法,所述方法包括: 创建伪资源,并且利用服务器崩溃前已在资源适配器的先前使用中所使用的名字向事务管理器注册所述伪资源; 由所述事务管理器检查所述名字以确定所述名字是否被涉及在未解决的事务中;以及   当所述事务管理器已确定所述名字被涉及在未解决的事务中时,调用所述伪资源以发起恢复;从而提供通知机制,通过所述通知机制使事务管理器能确定需要恢复。

【技术特征摘要】
【国外来华专利技术】US 2006-5-3 11/416,9061.一种用于从未完成事务中恢复的方法,所述方法包括:
创建伪资源,并且利用服务器崩溃前已在资源适配器的先前使用中所
使用的名字向事务管理器注册所述伪资源;
由所述事务管理器检查所述名字以确定所述名字是否被涉及在未解决
的事务中;以及
当所述事务管理器已确定所述名字被涉及在未解决的事务中时,调用
所述伪资源以发起恢复;从而提供通知机制,通过所述通知机制使事务管
理器能确定需要恢复。
2.如权利要求1所述的方法,还包括:
由所述事务管理器创建经由所述资源适配器的真实连接;并且将所述
恢复请求传递给与所述资源适配器相关联的资源管理器。
3.如权利要求1所述的方法,其中创建伪资源并且利用服务器崩溃前
已在资源适配器的先前使用中所使用的名字向事务管理器注册所述伪资源
包括:
通过向所述事务管理器注册不存在的资源适配器,使所述事务管理器
发起恢复处理。
4.如权利要求1所述的方法,其中由所述事务管理器检查所述名字以
确定所述名字是否被涉及在未解决的事务中包括:
检查事务日志以确定是否存在涉及相同名字的资源管理器的任何未解
决事务。
5.如权利要求1所述的方法,其中当所述事务管理器已确定所述名字
被涉及在未解决的事务中时调用所述伪资源以发起恢复包括:
由连接器容器检测指示需要恢复的所述通知机制;以及
创建经由所述资源适配器的真实连接,并且将所述恢复请求传递给与
所述资源适配器相关联的资源管理器。
6.一种载有用于从未完成事务中恢复的一个或多个序列的指令的机器
可读介质,所述指令当被一个或多个处理器执行时,使得所述一个或多个
处理器执行以下步骤:
创建伪资源,并且利用服务器崩溃前已在资源适配器的先前使用中所
使用的名字向事务管理器注册所述伪资源;
由所述事务管理器检查所述名字以确定所述名字是否被涉及在未解决
的事务中;以及
当所述事务管理器已...

【专利技术属性】
技术研发人员:布赖恩克里斯托弗柴瑟布洛詹姆斯威廉吉什金纳帕加纳帕蒂科丹达
申请(专利权)人:BEA系统公司
类型:发明
国别省市:US[美国]

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

1