[发明专利]分布式事务处理系统中有保证的提交结果有效
申请号: | 201780014395.2 | 申请日: | 2017-01-27 |
公开(公告)号: | CN108701157B | 公开(公告)日: | 2022-03-01 |
发明(设计)人: | C·科尔雷恩;S·H·罗艾斯科;T·J·利特尔;P·帕金森 | 申请(专利权)人: | 甲骨文国际公司 |
主分类号: | G06F16/2458 | 分类号: | G06F16/2458 |
代理公司: | 中国贸促会专利商标事务所有限公司 11038 | 代理人: | 边海梅 |
地址: | 美国加*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 事务处理 系统 保证 提交 结果 | ||
描述了用于为全局事务提供有保证的提交结果的技术,这些全局事务通过使用优化将提交处理推迟到资源管理器(诸如DBMS)来进行优化。“分布式事务处理:XA规范”标准规范对于由DBMS管理的事务的提交结果是不明确的,从而导致实现该标准的供应商的错误结果。所描述的技术在使用优化时提供有保证的提交结果,从而在事务管理器和资源管理器之间发生通信错误或超时的时候创建安全重放全局事务的机会,并消除到达应用和最终用户的不明确的事务结果。
技术领域
本发明涉及电子数据库管理领域。
背景技术
客户端应用可能响应于发出提交(commit)命令集的请求而从资源管理器接收到错误(诸如超时错误)。通常,客户端应用通过会话与服务器交互。如果对与服务器的会话的访问丢失,则应用将只能生成指示通信已经失败的错误消息。应用将无法向其可能包括其它应用的用户通知服务器是否已执行任何所请求的命令(并且如果是的话,则执行是否导致任何数据修改),或者甚至还有服务器是否继续执行从客户端应用断开的所请求的命令。
在没有以有保证和可扩展的方式确定命令的结果的情况下,在错误(诸如通信损失或超时或任何其它错误)之后,应用将不知道所请求的命令的执行发生了什么。应用或用户可能尝试重试命令,这可能会通过递交重复的执行请求而导致逻辑损坏。
本部分中所描述的方法是可以追求的方法,但不一定是先前已经构思或追求的方法。因此,除非另有指示,否则不应该认为本部分中所描述的任何方法仅仅因为它们被包含在本部分中而有资格作为现有技术。
附图说明
在某些实施例的附图中,其中相同的附图标记在通篇的图中指代对应的部分:
图1A是图示实施例中的分布式事务处理系统(DTPS)的框图。
图1B图示了在实施例中用于在DTPS中处理全局分布式事务的示例步骤。
图2是描绘在实施例中用于管理本地事务中的命令的执行的处理的流程图。
图3是描绘在实施例中用于管理全局两阶段事务的处理的流程图。
图4是描绘在实施例中用于管理单个阶段事务的处理的流程图。
图5是描绘在实施例中用于管理只读优化全局事务的处理的流程图。
图6是描绘在实施例中用于管理可提升事务的处理的流程图。
图7是图示可以在其上实现本发明的实施例的计算机系统的框图。
具体实施方式
在以下描述中,出于解释的目的,阐述了许多具体细节以便提供对本发明的透彻理解。但是,显而易见的是,可以在没有这些具体细节的情况下实践本发明。在其它情况下,结构和设备以框图形式示出,以避免不必要地模糊本发明。
总体概述
本方法描述确定全局事务的结果,特别是当管理全局事务的事务管理器(TM)使用针对全局事务的优化时。如本文所引用的,“事务”是被提交(即,使其永久)或回滚(rollback)的原子(atomic)工作单元。事务可以包括可以包含用户界面、数据检索和通信的许多计算任务。事务可以是本地的和/或全局的。“全局事务”是指在分布式事务处理系统(DTPS)中由任何数量的RM(“资源管理器”)执行的需要以原子方式提交的工作单元。“本地事务”是指要在单个RM上执行的工作单元,其可以包括被发送用于在与RM的本地会话中执行的命令集,使得命令当/如果在本地会话中执行时,将导致本地会话中针对RM的一个或多个事务。在本地会话中执行该命令集可能有助于正在进行的全局事务。如本文所引用的,资源管理器(RM)是管理共享计算资源并通过在系统上运行的服务向连接客户端应用(诸如TM)提供对共享资源的访问的系统。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于甲骨文国际公司,未经甲骨文国际公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201780014395.2/2.html,转载请声明来源钻瓜专利网。