[发明专利]一种基于分布式实时数据库系统的事务提交方法及装置有效
申请号: | 201310364982.8 | 申请日: | 2013-08-20 |
公开(公告)号: | CN103399790A | 公开(公告)日: | 2013-11-20 |
发明(设计)人: | 李德文;陈挺;姚杰;李龙 | 申请(专利权)人: | 浙江中控技术股份有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F17/30 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 310053 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 分布式 实时 数据库 系统 事务 提交 方法 装置 | ||
技术领域
本申请涉及数据库事务提交领域,特别涉及一种基于分布式实时数据库系统的事务提交方法及装置。
背景技术
分布式数据库系统,是把一组相关的数据分布在计算机网络中,由分布式数据库管理系统统一管理的数据库。
随着实时应用的普及,在分布式数据库系统的基础上引入了执行期限,得到分布实时数据库系统。
提交数据库事务是所采用的一种方法为二阶段提交方法。在二阶段提交方法中,参与者在接收到协调者发送的准备消息后,参与者向协调者发送提交消息或夭折消息,以告知协调者是否可以提交各自的子事务。参与者向协调者发送夭折消息后,参与者会终止当前处理的子事务,并释放当前处理的子事务关联的数据资源和锁;参与者向协调者发送提交消息后,参与者当前处理的子事务进入预提交状态,并锁定当前处理的子事务关联的数据资源和锁,直至接收到协调者的全局夭折消息或全局提交消息时,才相应转到终止状态或提交状态。
在由二阶段提交方法实现数据库事务提交处理时,当参与者当前处理的子事务处于预提交状态,且协调者发生故障时,参与者当前处理的子事务关联的全部锁和全部数据资源不会释放,使得其他数据库事务不能使用未被释放的数据资源,导致其他数据库事务的阻塞,降低了其他事务提交的实时性。
由上可见,二阶段提交方法在应用于分布式实时数据库系统时,在任意一次事务提交过程中,当参与者当前处理的子事务处于预提交状态,协调者发生故障时,会导致其他数据库事务阻塞的概率达到100%,从而降低了其他数据库事务提交的实时性。
发明内容
为解决上述技术问题,本申请提供一种基于分布式实时数据库系统的事务提交方法及装置,以达到降低阻塞的概率,从而提高事务提交的实时性的目的,技术方案如下:
一种基于分布式实时数据库系统的事务提交方法,包括:
协调者在接收到所有参与者的完成数据操作的消息后,将第一个发送完成数据操作的消息的参与者作为候选协调者,并向所述候选协调者发送准备消息和任命消息;
所述协调者发送准备消息至普通参与者和所述协调者本身;其中,所述普通参与者为除所述候选协调者之外的参与者;
所述协调者接收并依据所述候选协调者、所述普通参与者和所述协调者本身在接收到所述准备消息后,各自处理各自的子事务后所得到的各自的处理反馈消息,发送最终决定消息至所述候选协调者、普通参与者和所述协调者本身;
所述候选协调者、所述普通参与者和所述协调者本身在预设时间内均未接收到所述最终决定消息的情况下,所述候选协调者自动转换为协调者,返回执行接收所有参与者的完成数据操作的消息这一步骤。
优选的,所述处理反馈消息包括:提交消息或夭折消息。
优选的,所述候选协调者、所述普通参与者和所述协调者本身在接收到所述准备消息后,各自处理各自的子事务后所得到的各自的处理反馈消息,发送最终决定消息至所述候选协调者、普通参与者和所述协调者本身,包括:
所述协调者判断接收到的各个处理反馈消息中是否存在夭折消息;
若是,所述协调者发送全局夭折消息至所述候选协调者、所述普通参与者和所述协调者本身;
若否,所述协调者发送全局提交消息至所述候选协调者、所述普通参与者和所述协调者本身。
优选的,所述协调者在发送所述准备消息、所述任命消息或所述最终决定消息时,还包括:
将所述准备消息、所述任命消息和所述最终决定消息记录在所述协调者的日志中。
优选的,所述候选协调者、所述普通参与者和所述协调者本身在得到各自的处理反馈信息后,还包括:
将各自的处理反馈信息记录在各自的日志中。
一种基于分布式实时数据库系统的事务提交装置,包括:
第一发送单元,用于协调者在接收到所有参与者的完成数据操作的消息后,将第一个发送完成数据操作的消息的参与者作为候选协调者,并向所述候选协调者发送准备消息和任命信息;
第二发送单元,用于所述协调者发送准备消息至普通参与者和所述协调者本身;其中,所述普通参与者为除所述候选协调者之外的参与者;
接收单元,用于所述协调者接收所述候选协调者、所述普通参与者和所述协调者本身在接收到所述准备消息后,各自处理各自的子事务后所得到的各自的处理反馈消息;
第三发送单元,用于所述协调者依据所述接收单元接收到的各个处理反馈信息,发送最终决定消息至所述候选协调者、普通参与者和所述协调者本身;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江中控技术股份有限公司,未经浙江中控技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310364982.8/2.html,转载请声明来源钻瓜专利网。