[发明专利]分布式事务处理系统中有保证的提交结果有效
申请号: | 201780014395.2 | 申请日: | 2017-01-27 |
公开(公告)号: | CN108701157B | 公开(公告)日: | 2022-03-01 |
发明(设计)人: | C·科尔雷恩;S·H·罗艾斯科;T·J·利特尔;P·帕金森 | 申请(专利权)人: | 甲骨文国际公司 |
主分类号: | G06F16/2458 | 分类号: | G06F16/2458 |
代理公司: | 中国贸促会专利商标事务所有限公司 11038 | 代理人: | 边海梅 |
地址: | 美国加*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 事务处理 系统 保证 提交 结果 | ||
1.一种方法,包括:
在通过与全局事务的数据库服务器的多个数据库会话用所述数据库服务器发起的一个或多个本地事务内:
在特定数据库会话内,对于所述全局事务的特定本地事务,从事务管理器接收执行所述全局事务的提交命令的请求;
接收对在不同数据库会话内的提交命令的结果的请求;
通过确定针对所述特定本地事务的特定本地事务控制是有效的,确定所述数据库服务器保证对所述全局事务的提交命令的结果的确定;以及
响应于确定所述特定本地事务控制是有效的,返回所述全局事务的提交命令的结果。
2.如权利要求1所述的方法,其中对所述提交命令的结果的请求包括所述特定本地事务的本地事务句柄。
3.如权利要求2所述的方法,其中确定针对所述特定本地事务的所述特定本地事务控制是有效的包括分析所述特定本地事务的所述本地事务句柄的状态信息。
4.如权利要求1所述的方法,还包括:
在所述特定数据库会话内接收对所述全局事务的特定全局事务分支的全局启动事务请求;
响应于接收到所述全局启动事务请求,使所述特定本地事务控制失效。
5.如权利要求1所述的方法,还包括:
在所述特定数据库会话内接收对所述全局事务的特定全局事务分支的全局结束事务请求;
响应于接收到所述全局结束事务请求,使所述特定本地事务控制生效。
6.如权利要求1所述的方法,还包括:
在所述特定数据库会话内接收对所述全局事务的特定全局事务分支的全局准备事务请求;
响应于接收到所述全局准备事务请求,使所述特定本地事务控制失效。
7.如权利要求1所述的方法,还包括:
利用有效的本地事务控制通过所述特定数据库会话接收对所述全局事务的全局提交事务请求;
确定所述全局提交事务请求指定一阶段提交优化;以及
响应于确定所述全局提交事务请求指定所述一阶段提交优化,用所述特定数据库会话的本地事务句柄在所述数据库服务器上提交所述全局事务。
8.如权利要求7所述的方法,还包括:
响应于确定所述全局提交事务请求指定所述一阶段提交优化,将所述特定数据库会话的所述本地事务句柄与所述有效的本地事务控制相关联地存储在所述数据库服务器上作为该提交的一部分,并且然后递增并向所述数据库服务器返回新的有效的本地事务句柄,以由后续事务使用。
9.如权利要求7所述的方法,还包括:
在所述特定本地事务内接收到对所述全局事务的特定全局事务分支的全局提交事务请求之前,接收对所述全局事务的第一全局事务分支的全局准备事务请求;
确定为所述第一全局事务分支执行的命令是只读的;
响应于接收到对所述第一全局事务分支的所述全局准备事务请求,返回指示所述第一全局事务分支是只读的数据。
10.如权利要求1所述的方法,还包括:
在第一数据库会话中接收在第一本地事务内执行第一提交命令的本地事务请求;
响应于接收到所述本地事务请求,使针对所述第一本地事务的第一本地事务控制生效。
11.如权利要求10所述的方法,其中使针对所述第一本地事务的第一本地事务控制生效是用所述第一提交命令原子地执行的。
12.如权利要求10所述的方法,还包括:
响应于所述第一本地事务中的错误,在与所述第一数据库会话不同的第二数据库会话中发出对所述第一提交命令的结果的请求;
确定针对所述第一本地事务的所述第一本地事务控制是有效的还是无效的;以及
响应于确定第一本地事务控制是有效的,返回所述第一本地事务的提交命令的结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于甲骨文国际公司,未经甲骨文国际公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201780014395.2/1.html,转载请声明来源钻瓜专利网。