一种基于分布式实时数据库系统的事务提交方法及装置制造方法及图纸

技术编号:9356594 阅读:122 留言:0更新日期:2013-11-20 23:46
本申请提供了一种基于分布式实时数据库系统的事务提交方法,包括:协调者将第一个发送完成数据操作的消息的参与者作为候选协调者,并向候选协调者发送准备消息和任命消息;协调者发送准备消息至普通参与者和协调者本身;协调者接收并依据所述候选协调者、普通参与者和协调者本身在接收到所述准备消息后,各自处理各自的子事务后所得到的各自的处理反馈消息,发送最终决定消息至候选协调者、普通参与者和协调者本身;候选协调者、普通参与者和协调者本身在预设时间内均未接收到所述最终决定消息的情况下,候选协调者自动转换为协调者,返回执行接收所有参与者的完成数据操作的消息这一步骤。因此降低了阻塞的概率,提高了事务提交的实时性。

【技术实现步骤摘要】
一种基于分布式实时数据库系统的事务提交方法及装置
本申请涉及数据库事务提交领域,特别涉及一种基于分布式实时数据库系统的事务提交方法及装置。
技术介绍
分布式数据库系统,是把一组相关的数据分布在计算机网络中,由分布式数据库管理系统统一管理的数据库。随着实时应用的普及,在分布式数据库系统的基础上引入了执行期限,得到分布实时数据库系统。提交数据库事务是所采用的一种方法为二阶段提交方法。在二阶段提交方法中,参与者在接收到协调者发送的准备消息后,参与者向协调者发送提交消息或夭折消息,以告知协调者是否可以提交各自的子事务。参与者向协调者发送夭折消息后,参与者会终止当前处理的子事务,并释放当前处理的子事务关联的数据资源和锁;参与者向协调者发送提交消息后,参与者当前处理的子事务进入预提交状态,并锁定当前处理的子事务关联的数据资源和锁,直至接收到协调者的全局夭折消息或全局提交消息时,才相应转到终止状态或提交状态。在由二阶段提交方法实现数据库事务提交处理时,当参与者当前处理的子事务处于预提交状态,且协调者发生故障时,参与者当前处理的子事务关联的全部锁和全部数据资源不会释放,使得其他数据库事务不能使用未被释放的数据资源,导致其他数据库事务的阻塞,降低了其他事务提交的实时性。由上可见,二阶段提交方法在应用于分布式实时数据库系统时,在任意一次事务提交过程中,当参与者当前处理的子事务处于预提交状态,协调者发生故障时,会导致其他数据库事务阻塞的概率达到100%,从而降低了其他数据库事务提交的实时性。
技术实现思路
为解决上述技术问题,本申请提供一种基于分布式实时数据库系统的事务提交方法及装置,以达到降低阻塞的概率,从而提高事务提交的实时性的目的,技术方案如下:一种基于分布式实时数据库系统的事务提交方法,包括:协调者在接收到所有参与者的完成数据操作的消息后,将第一个发送完成数据操作的消息的参与者作为候选协调者,并向所述候选协调者发送准备消息和任命消息;所述协调者发送准备消息至普通参与者和所述协调者本身;其中,所述普通参与者为除所述候选协调者之外的参与者;所述协调者接收并依据所述候选协调者、所述普通参与者和所述协调者本身在接收到所述准备消息后,各自处理各自的子事务后所得到的各自的处理反馈消息,发送最终决定消息至所述候选协调者、普通参与者和所述协调者本身;所述候选协调者、所述普通参与者和所述协调者本身在预设时间内均未接收到所述最终决定消息的情况下,所述候选协调者自动转换为协调者,返回执行接收所有参与者的完成数据操作的消息这一步骤;所述各自处理各自的子事务后所得到的各自的处理反馈消息包括:所述候选协调者在处理本身当前子事务后得到的结果为可以提交当前子事务时,发送提交消息至所述协调者,所述候选协调者在处理本身当前子事务后得到的结果为不可以提交当前子事务时,发送夭折消息至所述协调者,并终止当前子事务;所述普通参与者在处理本身当前子事务后得到的结果为可以提交当前子事务时,发送提交消息至所述协调者,所述普通参与者在处理本身当前子事务后得到的结果为不可以提交当前子事务时,发送夭折消息至所述协调者,并终止当前子事务;所述协调者本身在处理本身当前子事务得到的结果为可以提交当前子事务时,发送提交消息至所述协调者,所述协调者本身在处理本身当前子事务后得到的结果为不可以提交当前子事务时,发送夭折消息至所述协调者,并终止当前子事务。优选的,所述候选协调者、所述普通参与者和所述协调者本身在接收到所述准备消息后,各自处理各自的子事务后所得到的各自的处理反馈消息,发送最终决定消息至所述候选协调者、普通参与者和所述协调者本身,包括:所述协调者判断接收到的各个处理反馈消息中是否存在夭折消息;若是,所述协调者发送全局夭折消息至所述候选协调者、所述普通参与者和所述协调者本身;若否,所述协调者发送全局提交消息至所述候选协调者、所述普通参与者和所述协调者本身。优选的,所述协调者在发送所述准备消息、所述任命消息或所述最终决定消息时,还包括:将所述准备消息、所述任命消息和所述最终决定消息记录在所述协调者的日志中。优选的,所述候选协调者、所述普通参与者和所述协调者本身在得到各自的处理反馈信息后,还包括:将各自的处理反馈信息记录在各自的日志中。一种基于分布式实时数据库系统的事务提交装置,包括:第一发送单元,用于协调者在接收到所有参与者的完成数据操作的消息后,将第一个发送完成数据操作的消息的参与者作为候选协调者,并向所述候选协调者发送准备消息和任命信息;第二发送单元,用于所述协调者发送准备消息至普通参与者和所述协调者本身;其中,所述普通参与者为除所述候选协调者之外的参与者;接收单元,用于所述协调者接收所述候选协调者、所述普通参与者和所述协调者本身在接收到所述准备消息后,各自处理各自的子事务后所得到的各自的处理反馈消息,所述各自处理各自的子事务后所得到的各自的处理反馈消息包括:所述候选协调者在处理本身当前子事务后得到的结果为可以提交当前子事务时,发送提交消息至所述协调者,所述候选协调者在处理本身当前子事务后得到的结果为不可以提交当前子事务时,发送夭折消息至所述协调者,并终止当前子事务;所述普通参与者在处理本身当前子事务后得到的结果为可以提交当前子事务时,发送提交消息至所述协调者,所述普通参与者在处理本身当前子事务后得到的结果为不可以提交当前子事务时,发送夭折消息至所述协调者,并终止当前子事务;所述协调者本身在处理本身当前子事务得到的结果为可以提交当前子事务时,发送提交消息至所述协调者,所述协调者本身在处理本身当前子事务后得到的结果为不可以提交当前子事务时,发送夭折消息至所述协调者,并终止当前子事务;第三发送单元,用于所述协调者依据所述接收单元接收到的各个处理反馈信息,发送最终决定消息至所述候选协调者、普通参与者和所述协调者本身;转换单元,用于所述候选协调者、所述普通参与者和所述协调者本身在预设时间内均未接收到所述最终决定消息的情况下,所述候选协调者自动转换为协调者。优选的,所述第三发送单元包括:判断单元,用于判断接收到的各个处理反馈消息中是否存在夭折消息,若是,执行第四发送单元,若否,执行第五发送单元;第四发送单元,用于发送全局夭折消息至所述候选协调者、所述普通参与者和所述协调者本身;第五发送单元,用于发送全局提交消息至所述候选协调者、所述普通参与者和所述协调者本身。优选的,还包括:第一记录单元,用于所述协调者在发送所述准备消息、所述任命消息或所述最终决定消息时,将所述准备消息、所述任命消息和所述最终决定消息记录在所述协调者的日志中;第二记录单元,用于所述协调者将所述协调者的处理反馈信息记录在所述协调者的日志中。优选的,还包括:第三记录单元,用于所述候选协调者将所述候选协调者的处理反馈信息记录在所述候选协调者的日志中;第四记录单元,用于所述普通参与者将所述普通参与者的处理反馈信息记录在所述普通参与者的日志中。与现有技术相比,本申请的有益效果为:在本申请中,协调者将第一个发送完成数据操作消息的参与者作为候选协调者,候选协调者、普通参与者和协调者本身在预设时间内均未接收到协调者发送的最终决定消息的情况下,候选协调者自动转换为协调者,返回执行接收所有参与者的完成数据操作的消息这一步骤,本文档来自技高网...
一种基于分布式实时数据库系统的事务提交方法及装置

【技术保护点】
一种基于分布式实时数据库系统的事务提交方法,其特征在于,包括:协调者在接收到所有参与者的完成数据操作的消息后,将第一个发送完成数据操作的消息的参与者作为候选协调者,并向所述候选协调者发送准备消息和任命消息;所述协调者发送准备消息至普通参与者和所述协调者本身;其中,所述普通参与者为除所述候选协调者之外的参与者;所述协调者接收并依据所述候选协调者、所述普通参与者和所述协调者本身在接收到所述准备消息后,各自处理各自的子事务后所得到的各自的处理反馈消息,发送最终决定消息至所述候选协调者、普通参与者和所述协调者本身;所述候选协调者、所述普通参与者和所述协调者本身在预设时间内均未接收到所述最终决定消息的情况下,所述候选协调者自动转换为协调者,返回执行接收所有参与者的完成数据操作的消息这一步骤。

【技术特征摘要】
1.一种基于分布式实时数据库系统的事务提交方法,其特征在于,包括:协调者在接收到所有参与者的完成数据操作的消息后,将第一个发送完成数据操作的消息的参与者作为候选协调者,并向所述候选协调者发送准备消息和任命消息;所述协调者发送准备消息至普通参与者和所述协调者本身;其中,所述普通参与者为除所述候选协调者之外的参与者;所述协调者接收并依据所述候选协调者、所述普通参与者和所述协调者本身在接收到所述准备消息后,各自处理各自的子事务后所得到的各自的处理反馈消息,发送最终决定消息至所述候选协调者、普通参与者和所述协调者本身;所述候选协调者、所述普通参与者和所述协调者本身在预设时间内均未接收到所述最终决定消息的情况下,所述候选协调者自动转换为协调者,返回执行接收所有参与者的完成数据操作的消息这一步骤;所述候选协调者、所述普通参与者和所述协调者本身在接收到所述准备消息后,各自处理各自的子事务后所得到的各自的处理反馈消息的发送过程包括:所述候选协调者在处理本身当前子事务后得到的结果为可以提交当前子事务时,发送提交消息至所述协调者,所述候选协调者在处理本身当前子事务后得到的结果为不可以提交当前子事务时,发送夭折消息至所述协调者,并终止当前子事务;所述普通参与者在处理本身当前子事务后得到的结果为可以提交当前子事务时,发送提交消息至所述协调者,所述普通参与者在处理本身当前子事务后得到的结果为不可以提交当前子事务时,发送夭折消息至所述协调者,并终止当前子事务;所述协调者本身在处理本身当前子事务得到的结果为可以提交当前子事务时,发送提交消息至所述协调者,所述协调者本身在处理本身当前子事务后得到的结果为不可以提交当前子事务时,发送夭折消息至所述协调者,并终止当前子事务。2.根据权利要求1所述的方法,其特征在于,所述候选协调者、所述普通参与者和所述协调者本身在接收到所述准备消息后,各自处理各自的子事务后所得到的各自的处理反馈消息,发送最终决定消息至所述候选协调者、普通参与者和所述协调者本身,包括:所述协调者判断接收到的各个处理反馈消息中是否存在夭折消息;若是,所述协调者发送全局夭折消息至所述候选协调者、所述普通参与者和所述协调者本身;若否,所述协调者发送全局提交消息至所述候选协调者、所述普通参与者和所述协调者本身。3.根据权利要求1所述的方法,其特征在于,所述协调者在发送所述准备消息、所述任命消息或所述最终决定消息时,还包括:将所述准备消息、所述任命消息和所述最终决定消息记录在所述协调者的日志中。4.根据权利要求1所述的方法,其特征在于,所述候选协调者、所述普通参与者和所述协调者本身在得到各自的处理反馈信息后,还包括:将各自的处理反馈信息记录在各自的日志中。5.一种基于分布式实时数据库系统的事务提交装置,其特征在于,包括:...

【专利技术属性】
技术研发人员:李德文陈挺姚杰李龙
申请(专利权)人:浙江中控技术股份有限公司
类型:发明
国别省市:

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

1