亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)的事務(wù)提交方法及裝置與流程

文檔序號(hào):12040214閱讀:253來(lái)源:國(guó)知局
一種基于分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)的事務(wù)提交方法及裝置與流程
本申請(qǐng)涉及數(shù)據(jù)庫(kù)事務(wù)提交領(lǐng)域,特別涉及一種基于分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)的事務(wù)提交方法及裝置。

背景技術(shù):
分布式數(shù)據(jù)庫(kù)系統(tǒng),是把一組相關(guān)的數(shù)據(jù)分布在計(jì)算機(jī)網(wǎng)絡(luò)中,由分布式數(shù)據(jù)庫(kù)管理系統(tǒng)統(tǒng)一管理的數(shù)據(jù)庫(kù)。隨著實(shí)時(shí)應(yīng)用的普及,在分布式數(shù)據(jù)庫(kù)系統(tǒng)的基礎(chǔ)上引入了執(zhí)行期限,得到分布實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)。提交數(shù)據(jù)庫(kù)事務(wù)是所采用的一種方法為二階段提交方法。在二階段提交方法中,參與者在接收到協(xié)調(diào)者發(fā)送的準(zhǔn)備消息后,參與者向協(xié)調(diào)者發(fā)送提交消息或夭折消息,以告知協(xié)調(diào)者是否可以提交各自的子事務(wù)。參與者向協(xié)調(diào)者發(fā)送夭折消息后,參與者會(huì)終止當(dāng)前處理的子事務(wù),并釋放當(dāng)前處理的子事務(wù)關(guān)聯(lián)的數(shù)據(jù)資源和鎖;參與者向協(xié)調(diào)者發(fā)送提交消息后,參與者當(dāng)前處理的子事務(wù)進(jìn)入預(yù)提交狀態(tài),并鎖定當(dāng)前處理的子事務(wù)關(guān)聯(lián)的數(shù)據(jù)資源和鎖,直至接收到協(xié)調(diào)者的全局夭折消息或全局提交消息時(shí),才相應(yīng)轉(zhuǎn)到終止?fàn)顟B(tài)或提交狀態(tài)。在由二階段提交方法實(shí)現(xiàn)數(shù)據(jù)庫(kù)事務(wù)提交處理時(shí),當(dāng)參與者當(dāng)前處理的子事務(wù)處于預(yù)提交狀態(tài),且協(xié)調(diào)者發(fā)生故障時(shí),參與者當(dāng)前處理的子事務(wù)關(guān)聯(lián)的全部鎖和全部數(shù)據(jù)資源不會(huì)釋放,使得其他數(shù)據(jù)庫(kù)事務(wù)不能使用未被釋放的數(shù)據(jù)資源,導(dǎo)致其他數(shù)據(jù)庫(kù)事務(wù)的阻塞,降低了其他事務(wù)提交的實(shí)時(shí)性。由上可見(jiàn),二階段提交方法在應(yīng)用于分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)時(shí),在任意一次事務(wù)提交過(guò)程中,當(dāng)參與者當(dāng)前處理的子事務(wù)處于預(yù)提交狀態(tài),協(xié)調(diào)者發(fā)生故障時(shí),會(huì)導(dǎo)致其他數(shù)據(jù)庫(kù)事務(wù)阻塞的概率達(dá)到100%,從而降低了其他數(shù)據(jù)庫(kù)事務(wù)提交的實(shí)時(shí)性。

技術(shù)實(shí)現(xiàn)要素:
為解決上述技術(shù)問(wèn)題,本申請(qǐng)?zhí)峁┮环N基于分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)的事務(wù)提交方法及裝置,以達(dá)到降低阻塞的概率,從而提高事務(wù)提交的實(shí)時(shí)性的目的,技術(shù)方案如下:一種基于分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)的事務(wù)提交方法,包括:協(xié)調(diào)者在接收到所有參與者的完成數(shù)據(jù)操作的消息后,將第一個(gè)發(fā)送完成數(shù)據(jù)操作的消息的參與者作為候選協(xié)調(diào)者,并向所述候選協(xié)調(diào)者發(fā)送準(zhǔn)備消息和任命消息;所述協(xié)調(diào)者發(fā)送準(zhǔn)備消息至普通參與者和所述協(xié)調(diào)者本身;其中,所述普通參與者為除所述候選協(xié)調(diào)者之外的參與者;所述協(xié)調(diào)者接收并依據(jù)所述候選協(xié)調(diào)者、所述普通參與者和所述協(xié)調(diào)者本身在接收到所述準(zhǔn)備消息后,各自處理各自的子事務(wù)后所得到的各自的處理反饋消息,發(fā)送最終決定消息至所述候選協(xié)調(diào)者、普通參與者和所述協(xié)調(diào)者本身;所述候選協(xié)調(diào)者、所述普通參與者和所述協(xié)調(diào)者本身在預(yù)設(shè)時(shí)間內(nèi)均未接收到所述最終決定消息的情況下,所述候選協(xié)調(diào)者自動(dòng)轉(zhuǎn)換為協(xié)調(diào)者,返回執(zhí)行接收所有參與者的完成數(shù)據(jù)操作的消息這一步驟;所述各自處理各自的子事務(wù)后所得到的各自的處理反饋消息包括:所述候選協(xié)調(diào)者在處理本身當(dāng)前子事務(wù)后得到的結(jié)果為可以提交當(dāng)前子事務(wù)時(shí),發(fā)送提交消息至所述協(xié)調(diào)者,所述候選協(xié)調(diào)者在處理本身當(dāng)前子事務(wù)后得到的結(jié)果為不可以提交當(dāng)前子事務(wù)時(shí),發(fā)送夭折消息至所述協(xié)調(diào)者,并終止當(dāng)前子事務(wù);所述普通參與者在處理本身當(dāng)前子事務(wù)后得到的結(jié)果為可以提交當(dāng)前子事務(wù)時(shí),發(fā)送提交消息至所述協(xié)調(diào)者,所述普通參與者在處理本身當(dāng)前子事務(wù)后得到的結(jié)果為不可以提交當(dāng)前子事務(wù)時(shí),發(fā)送夭折消息至所述協(xié)調(diào)者,并終止當(dāng)前子事務(wù);所述協(xié)調(diào)者本身在處理本身當(dāng)前子事務(wù)得到的結(jié)果為可以提交當(dāng)前子事務(wù)時(shí),發(fā)送提交消息至所述協(xié)調(diào)者,所述協(xié)調(diào)者本身在處理本身當(dāng)前子事務(wù)后得到的結(jié)果為不可以提交當(dāng)前子事務(wù)時(shí),發(fā)送夭折消息至所述協(xié)調(diào)者,并終止當(dāng)前子事務(wù)。優(yōu)選的,所述候選協(xié)調(diào)者、所述普通參與者和所述協(xié)調(diào)者本身在接收到所述準(zhǔn)備消息后,各自處理各自的子事務(wù)后所得到的各自的處理反饋消息,發(fā)送最終決定消息至所述候選協(xié)調(diào)者、普通參與者和所述協(xié)調(diào)者本身,包括:所述協(xié)調(diào)者判斷接收到的各個(gè)處理反饋消息中是否存在夭折消息;若是,所述協(xié)調(diào)者發(fā)送全局夭折消息至所述候選協(xié)調(diào)者、所述普通參與者和所述協(xié)調(diào)者本身;若否,所述協(xié)調(diào)者發(fā)送全局提交消息至所述候選協(xié)調(diào)者、所述普通參與者和所述協(xié)調(diào)者本身。優(yōu)選的,所述協(xié)調(diào)者在發(fā)送所述準(zhǔn)備消息、所述任命消息或所述最終決定消息時(shí),還包括:將所述準(zhǔn)備消息、所述任命消息和所述最終決定消息記錄在所述協(xié)調(diào)者的日志中。優(yōu)選的,所述候選協(xié)調(diào)者、所述普通參與者和所述協(xié)調(diào)者本身在得到各自的處理反饋信息后,還包括:將各自的處理反饋信息記錄在各自的日志中。一種基于分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)的事務(wù)提交裝置,包括:第一發(fā)送單元,用于協(xié)調(diào)者在接收到所有參與者的完成數(shù)據(jù)操作的消息后,將第一個(gè)發(fā)送完成數(shù)據(jù)操作的消息的參與者作為候選協(xié)調(diào)者,并向所述候選協(xié)調(diào)者發(fā)送準(zhǔn)備消息和任命信息;第二發(fā)送單元,用于所述協(xié)調(diào)者發(fā)送準(zhǔn)備消息至普通參與者和所述協(xié)調(diào)者本身;其中,所述普通參與者為除所述候選協(xié)調(diào)者之外的參與者;接收單元,用于所述協(xié)調(diào)者接收所述候選協(xié)調(diào)者、所述普通參與者和所述協(xié)調(diào)者本身在接收到所述準(zhǔn)備消息后,各自處理各自的子事務(wù)后所得到的各自的處理反饋消息,所述各自處理各自的子事務(wù)后所得到的各自的處理反饋消息包括:所述候選協(xié)調(diào)者在處理本身當(dāng)前子事務(wù)后得到的結(jié)果為可以提交當(dāng)前子事務(wù)時(shí),發(fā)送提交消息至所述協(xié)調(diào)者,所述候選協(xié)調(diào)者在處理本身當(dāng)前子事務(wù)后得到的結(jié)果為不可以提交當(dāng)前子事務(wù)時(shí),發(fā)送夭折消息至所述協(xié)調(diào)者,并終止當(dāng)前子事務(wù);所述普通參與者在處理本身當(dāng)前子事務(wù)后得到的結(jié)果為可以提交當(dāng)前子事務(wù)時(shí),發(fā)送提交消息至所述協(xié)調(diào)者,所述普通參與者在處理本身當(dāng)前子事務(wù)后得到的結(jié)果為不可以提交當(dāng)前子事務(wù)時(shí),發(fā)送夭折消息至所述協(xié)調(diào)者,并終止當(dāng)前子事務(wù);所述協(xié)調(diào)者本身在處理本身當(dāng)前子事務(wù)得到的結(jié)果為可以提交當(dāng)前子事務(wù)時(shí),發(fā)送提交消息至所述協(xié)調(diào)者,所述協(xié)調(diào)者本身在處理本身當(dāng)前子事務(wù)后得到的結(jié)果為不可以提交當(dāng)前子事務(wù)時(shí),發(fā)送夭折消息至所述協(xié)調(diào)者,并終止當(dāng)前子事務(wù);第三發(fā)送單元,用于所述協(xié)調(diào)者依據(jù)所述接收單元接收到的各個(gè)處理反饋信息,發(fā)送最終決定消息至所述候選協(xié)調(diào)者、普通參與者和所述協(xié)調(diào)者本身;轉(zhuǎn)換單元,用于所述候選協(xié)調(diào)者、所述普通參與者和所述協(xié)調(diào)者本身在預(yù)設(shè)時(shí)間內(nèi)均未接收到所述最終決定消息的情況下,所述候選協(xié)調(diào)者自動(dòng)轉(zhuǎn)換為協(xié)調(diào)者。優(yōu)選的,所述第三發(fā)送單元包括:判斷單元,用于判斷接收到的各個(gè)處理反饋消息中是否存在夭折消息,若是,執(zhí)行第四發(fā)送單元,若否,執(zhí)行第五發(fā)送單元;第四發(fā)送單元,用于發(fā)送全局夭折消息至所述候選協(xié)調(diào)者、所述普通參與者和所述協(xié)調(diào)者本身;第五發(fā)送單元,用于發(fā)送全局提交消息至所述候選協(xié)調(diào)者、所述普通參與者和所述協(xié)調(diào)者本身。優(yōu)選的,還包括:第一記錄單元,用于所述協(xié)調(diào)者在發(fā)送所述準(zhǔn)備消息、所述任命消息或所述最終決定消息時(shí),將所述準(zhǔn)備消息、所述任命消息和所述最終決定消息記錄在所述協(xié)調(diào)者的日志中;第二記錄單元,用于所述協(xié)調(diào)者將所述協(xié)調(diào)者的處理反饋信息記錄在所述協(xié)調(diào)者的日志中。優(yōu)選的,還包括:第三記錄單元,用于所述候選協(xié)調(diào)者將所述候選協(xié)調(diào)者的處理反饋信息記錄在所述候選協(xié)調(diào)者的日志中;第四記錄單元,用于所述普通參與者將所述普通參與者的處理反饋信息記錄在所述普通參與者的日志中。與現(xiàn)有技術(shù)相比,本申請(qǐng)的有益效果為:在本申請(qǐng)中,協(xié)調(diào)者將第一個(gè)發(fā)送完成數(shù)據(jù)操作消息的參與者作為候選協(xié)調(diào)者,候選協(xié)調(diào)者、普通參與者和協(xié)調(diào)者本身在預(yù)設(shè)時(shí)間內(nèi)均未接收到協(xié)調(diào)者發(fā)送的最終決定消息的情況下,候選協(xié)調(diào)者自動(dòng)轉(zhuǎn)換為協(xié)調(diào)者,返回執(zhí)行接收所有參與者的完成數(shù)據(jù)操作的消息這一步驟,在預(yù)設(shè)時(shí)間內(nèi)均未接收到協(xié)調(diào)者的最終決定消息,說(shuō)明協(xié)調(diào)者在候選協(xié)調(diào)者、普通參與者和協(xié)調(diào)者本身等待接收最終決定消息的過(guò)程中發(fā)生故障,此時(shí),候選協(xié)調(diào)者自動(dòng)轉(zhuǎn)換為協(xié)調(diào)者。因此,只有候選協(xié)調(diào)者和協(xié)調(diào)者同時(shí)發(fā)生故障時(shí),才會(huì)導(dǎo)致其他數(shù)據(jù)庫(kù)事務(wù)的阻塞,又由于候選協(xié)調(diào)者和協(xié)調(diào)者同時(shí)發(fā)生故障的概率低于協(xié)調(diào)者單獨(dú)發(fā)生故障的概率,因此降低了阻塞的概率,從而提高了事務(wù)提交的實(shí)時(shí)性。附圖說(shuō)明為了更清楚地說(shuō)明本申請(qǐng)實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本申請(qǐng)的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本申請(qǐng)?zhí)峁┑囊环N基于分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)的事務(wù)提交方法的一種流程圖;圖2是本申請(qǐng)?zhí)峁┑囊环N的基于分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)的事務(wù)提交方法的一種子流程圖;圖3是本申請(qǐng)?zhí)峁┑囊环N基于分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)的事務(wù)提交方法的另一種流程圖;圖4是本申請(qǐng)?zhí)峁┑囊环N基于分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)的事務(wù)提交裝置的一種結(jié)構(gòu)示意圖;圖5是本申請(qǐng)?zhí)峁┑囊环N第三發(fā)送單元的一種結(jié)構(gòu)示意圖。具體實(shí)施方式下面將結(jié)合本申請(qǐng)實(shí)施例中的附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。本申請(qǐng)?zhí)峁┮环N基于分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)的事務(wù)提交方法,其中協(xié)調(diào)者在接收到所有參與者的完成數(shù)據(jù)操作的消息后,將第一個(gè)發(fā)送完成數(shù)據(jù)操作的消息的參與者作為候選協(xié)調(diào)者,并向所述候選協(xié)調(diào)者發(fā)送準(zhǔn)備消息和任命消息;所述協(xié)調(diào)者發(fā)送準(zhǔn)備消息至普通參與者和所述協(xié)調(diào)者本身;其中,所述普通參與者為除所述候選協(xié)調(diào)者之外的參與者;所述協(xié)調(diào)者接收并依據(jù)所述候選協(xié)調(diào)者、所述普通參與者和所述協(xié)調(diào)者本身在接收到所述準(zhǔn)備消息后,各自處理各自的子事務(wù)后所得到的各自的處理反饋消息,發(fā)送最終決定消息至所述候選協(xié)調(diào)者、普通參與者和所述協(xié)調(diào)者本身;所述候選協(xié)調(diào)者、所述普通參與者和所述協(xié)調(diào)者本身在預(yù)設(shè)時(shí)間內(nèi)均未接收到所述最終決定消息的情況下,所述候選協(xié)調(diào)者自動(dòng)轉(zhuǎn)換為協(xié)調(diào)者,返回執(zhí)行接收所有參與者的完成數(shù)據(jù)操作的消息這一步驟。以下將列舉實(shí)施例對(duì)本申請(qǐng)?zhí)峁┑囊环N基于分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)的事務(wù)提交方法進(jìn)行詳細(xì)說(shuō)明。一個(gè)實(shí)施例請(qǐng)參見(jiàn)圖1,其示出了本申請(qǐng)?zhí)峁┑囊环N基于分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)的事務(wù)提交方法的一種流程圖,可以包括以下步驟:步驟S11:協(xié)調(diào)者在接收到所有參與者的完成數(shù)據(jù)操作的消息后,將第一個(gè)發(fā)送完成數(shù)據(jù)操作的消息的參與者作為候選協(xié)調(diào)者,并向所述候選協(xié)調(diào)者發(fā)送準(zhǔn)備消息和任命消息。在分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)中,協(xié)調(diào)者和參與者各自進(jìn)行數(shù)據(jù)操作,在協(xié)調(diào)者和參與者均完成各自的數(shù)據(jù)操作后,由協(xié)調(diào)者決定數(shù)據(jù)庫(kù)事務(wù)的提交和數(shù)據(jù)庫(kù)事務(wù)的夭折。其中,在分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)中,數(shù)據(jù)庫(kù)事務(wù)包括多個(gè)子事務(wù),協(xié)調(diào)者處理多個(gè)子事務(wù)中的其中一個(gè)子事務(wù),而其他各個(gè)子事務(wù)則分別由不同的參與者進(jìn)行處理。在本實(shí)施例中,協(xié)調(diào)者接收到所有參與者的完成數(shù)據(jù)操作的消息后,協(xié)調(diào)者將第一個(gè)發(fā)送完成數(shù)據(jù)操作消息的參與者作為候選協(xié)調(diào)者,并向候選協(xié)調(diào)者發(fā)送準(zhǔn)備消息和任命消息。向候選協(xié)調(diào)者發(fā)送的準(zhǔn)備消息用于詢問(wèn)候選協(xié)調(diào)者是否可以提交候選協(xié)調(diào)者當(dāng)前處理的子事務(wù)。任命消息用于告知候選協(xié)調(diào)者,在協(xié)調(diào)者發(fā)生故障后,候選協(xié)調(diào)者可以自動(dòng)轉(zhuǎn)換為協(xié)調(diào)者,來(lái)決定數(shù)據(jù)庫(kù)事務(wù)的提交和數(shù)據(jù)庫(kù)事務(wù)的夭折。步驟S12:所述協(xié)調(diào)者發(fā)送準(zhǔn)備消息至普通參與者和所述協(xié)調(diào)者本身。在本實(shí)施例中,協(xié)調(diào)者向候選協(xié)調(diào)者發(fā)送準(zhǔn)備消息的同時(shí),向普通參與者和協(xié)調(diào)者本身發(fā)送準(zhǔn)備消息,以詢問(wèn)普通參與者和協(xié)調(diào)者本身是否可以提交各自當(dāng)前處理的子事務(wù)。其中,所述普通參與者為除所述候選協(xié)調(diào)者之外的參與者。協(xié)調(diào)者在發(fā)送準(zhǔn)備消息至候選協(xié)調(diào)者、普通參與者和協(xié)調(diào)者本身后,協(xié)調(diào)者等待候選協(xié)調(diào)者、普通參與者和協(xié)調(diào)者本身在接收到準(zhǔn)備消息后的回復(fù)消息。步驟S13:所述協(xié)調(diào)者接收并依據(jù)所述候選協(xié)調(diào)者、所述普通參與者和所述協(xié)調(diào)者本身在接收到所述準(zhǔn)備消息后,各自處理各自的子事務(wù)后所得到的各自的處理反饋消息,發(fā)送最終決定消息至所述候選協(xié)調(diào)者、普通參與者和所述協(xié)調(diào)者本身。候選協(xié)調(diào)者、普通參與者和協(xié)調(diào)者本身各自在接收到協(xié)調(diào)者發(fā)送的準(zhǔn)備消息后,各自處理各自的子事務(wù),并根據(jù)處理的結(jié)果返回處理反饋消息至協(xié)調(diào)者。其中,處理反饋消息包括:提交消息和夭折消息。候選協(xié)調(diào)者在處理本身當(dāng)前子事務(wù)后得到的結(jié)果為可以提交當(dāng)前子事務(wù)時(shí),發(fā)送提交消息至協(xié)調(diào)者;候選協(xié)調(diào)者在處理本身當(dāng)前子事務(wù)后得到的結(jié)果為不可以提交當(dāng)前子事務(wù)時(shí),發(fā)送夭折消息至協(xié)調(diào)者,并終止當(dāng)前子事務(wù)。普通參與者在處理本身當(dāng)前子事務(wù)后得到的結(jié)果為可以提交當(dāng)前子事務(wù)時(shí),發(fā)送提交消息至協(xié)調(diào)者;普通參與者在處理本身當(dāng)前子事務(wù)后得到的結(jié)果為不可以提交當(dāng)前子事務(wù)時(shí),發(fā)送夭折消息至協(xié)調(diào)者,并終止當(dāng)前子事務(wù)。協(xié)調(diào)者本身在處理本身當(dāng)前子事務(wù)得到的結(jié)果為可以提交當(dāng)前子事務(wù)時(shí),發(fā)送提交消息至協(xié)調(diào)者;協(xié)調(diào)者本身在處理本身當(dāng)前子事務(wù)后得到的結(jié)果為不可以提交當(dāng)前子事務(wù)時(shí),發(fā)送夭折消息至協(xié)調(diào)者,并終止當(dāng)前子事務(wù)。協(xié)調(diào)者接收候選協(xié)調(diào)者、普通參與者和協(xié)調(diào)者本身各自發(fā)送的處理反饋消息,并依據(jù)各個(gè)處理反饋消息,得到最終決定消息,并發(fā)送最終決定消息至候選協(xié)調(diào)者、普通參與者和協(xié)調(diào)者。步驟S14:所述候選協(xié)調(diào)者、所述普通參與者和所述協(xié)調(diào)者本身在預(yù)設(shè)時(shí)間內(nèi)均未接收到所述最終決定消息的情況下,所述候選協(xié)調(diào)者自動(dòng)轉(zhuǎn)換為協(xié)調(diào)者,返回執(zhí)行接收所有參與者的完成數(shù)據(jù)操作的消息這一步驟。在本實(shí)施例中,候選協(xié)調(diào)者、普通參與者和協(xié)調(diào)者本身各自在發(fā)送各自的處理反饋消息后,等待協(xié)調(diào)者發(fā)送的最終決定消息。如果候選協(xié)調(diào)者、普通參與者和協(xié)調(diào)者本身在預(yù)設(shè)時(shí)間內(nèi)均未接收到協(xié)調(diào)者發(fā)送的最終決定消息,說(shuō)明協(xié)調(diào)者發(fā)生故障,候選協(xié)調(diào)者則自動(dòng)轉(zhuǎn)換為協(xié)調(diào)者,返回執(zhí)行接收所有參與者的完成數(shù)據(jù)操作的消息這一步驟。協(xié)調(diào)者在故障恢復(fù)后,則轉(zhuǎn)換為參與者。在本申請(qǐng)中,協(xié)調(diào)者將第一個(gè)發(fā)送完成數(shù)據(jù)操作消息的參與者作為候選協(xié)調(diào)者,候選協(xié)調(diào)者、普通參與者和協(xié)調(diào)者本身在預(yù)設(shè)時(shí)間內(nèi)均未接收到協(xié)調(diào)者發(fā)送的最終決定消息的情況下,候選協(xié)調(diào)者自動(dòng)轉(zhuǎn)換為協(xié)調(diào)者,返回執(zhí)行接收所有參與者的完成數(shù)據(jù)操作的消息這一步驟,在預(yù)設(shè)時(shí)間內(nèi)均未接收到協(xié)調(diào)者的最終決定消息,說(shuō)明協(xié)調(diào)者在候選協(xié)調(diào)者、普通參與者和協(xié)調(diào)者本身等待接收最終決定消息的過(guò)程中發(fā)生故障,此時(shí),候選協(xié)調(diào)者自動(dòng)轉(zhuǎn)換為協(xié)調(diào)者。因此,只有候選協(xié)調(diào)者和協(xié)調(diào)者同時(shí)發(fā)生故障時(shí),才會(huì)導(dǎo)致其他數(shù)據(jù)庫(kù)事務(wù)的阻塞,又由于候選協(xié)調(diào)者和協(xié)調(diào)者同時(shí)發(fā)生故障的概率低于協(xié)調(diào)者單獨(dú)發(fā)生故障的概率,因此降低了阻塞的概率,從而提高了事務(wù)提交的實(shí)時(shí)性。進(jìn)一步的,由于石化、化工等流程工業(yè)領(lǐng)域?qū)?shù)據(jù)庫(kù)事務(wù)提交的實(shí)時(shí)性要求較高,因此本申請(qǐng)?zhí)岢龅囊环N基于分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)的事務(wù)提交方法可以更好的應(yīng)用在流程工業(yè)領(lǐng)域,滿足流程工業(yè)領(lǐng)域?qū)?shù)據(jù)進(jìn)行實(shí)時(shí)存取的特殊需求。另一個(gè)實(shí)施例在本實(shí)施例中,示出的是協(xié)調(diào)者接收并依據(jù)候選協(xié)調(diào)者、普通參與者和協(xié)調(diào)者本身在接收到準(zhǔn)備消息后,各個(gè)處理各自的子事務(wù)后所得到的各自的處理反饋消息,發(fā)送最終決定消息至候選協(xié)調(diào)者、普通參與者和協(xié)調(diào)者本身的具體過(guò)程,請(qǐng)參見(jiàn)圖2,圖2示出了本申請(qǐng)?zhí)峁┑囊环N的基于分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)的事務(wù)提交方法的一種子流程圖,可以包括以下步驟:步驟S21:所述協(xié)調(diào)者判斷接收到的各個(gè)處理反饋消息中是否存在夭折消息。在本實(shí)施例中,協(xié)調(diào)者判斷接收到的各個(gè)處理反饋消息中是否存在夭折消息中,各個(gè)處理反饋消息為候選協(xié)調(diào)者發(fā)送的處理反饋消息、普通參與者發(fā)送的處理反饋消息和協(xié)調(diào)者本身發(fā)送的處理反饋消息。如果協(xié)調(diào)者判斷接收到的各個(gè)處理反饋消息中存在夭折消息,則執(zhí)行步驟S22,如果協(xié)調(diào)者判斷接收到的各個(gè)處理反饋消息中不存在夭折消息,則執(zhí)行步驟S23。步驟S22:所述協(xié)調(diào)者發(fā)送全局夭折消息至所述候選協(xié)調(diào)者、所述普通參與者和所述協(xié)調(diào)者本身。協(xié)調(diào)者發(fā)送全局夭折消息至候選協(xié)調(diào)者、普通參與者和協(xié)調(diào)者本身,以停止當(dāng)前的數(shù)據(jù)庫(kù)事務(wù)。候選協(xié)調(diào)者、普通參與者和協(xié)調(diào)者本身在接收到全局夭折消息后,如果各自當(dāng)前的子事務(wù)處于等待提交的狀態(tài),則停止當(dāng)前子事務(wù),并釋放當(dāng)前子事務(wù)的資源。步驟S23:所述協(xié)調(diào)者發(fā)送全局提交消息至所述候選協(xié)調(diào)者、所述普通參與者和所述協(xié)調(diào)者本身。協(xié)調(diào)者發(fā)送全局提交消息至候選協(xié)調(diào)者、普通參與者和協(xié)調(diào)者本身,以提交當(dāng)前的數(shù)據(jù)庫(kù)事務(wù)。候選協(xié)調(diào)者、普通參與者和協(xié)調(diào)者本身在接收到全局提交消息后,則各自提交各自的當(dāng)前子事務(wù)。再一個(gè)實(shí)施例在本實(shí)施例中,在圖1所示的一種基于分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)的事務(wù)提交方法的基礎(chǔ)上擴(kuò)展出另一種基于分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)的事務(wù)提交方法,具體過(guò)程請(qǐng)參閱圖3。其中圖3示出的是本申請(qǐng)?zhí)峁┑囊环N基于分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)的事務(wù)提交方法的另一種流程圖,可以包括以下步驟:步驟S31:協(xié)調(diào)者在接收到所有參與者的完成數(shù)據(jù)操作的消息后,將第一個(gè)發(fā)送完成數(shù)據(jù)操作的消息的參與者作為候選協(xié)調(diào)者,并向所述候選協(xié)調(diào)者發(fā)送準(zhǔn)備消息和任命消息,同時(shí)將該準(zhǔn)備消息和任命消息存儲(chǔ)在協(xié)調(diào)者的日志中。協(xié)調(diào)者在接收到所有參與者的完成數(shù)據(jù)操作的消息后,將第一個(gè)發(fā)送完成數(shù)據(jù)操作的消息的參與者作為候選協(xié)調(diào)者,并向所述候選協(xié)調(diào)者發(fā)送準(zhǔn)備消息和任命消息的過(guò)程和圖1示出的一種基于分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)的事務(wù)提交方法中的步驟S11相同,在此不再贅述。步驟S32:所述協(xié)調(diào)者發(fā)送準(zhǔn)備消息至普通參與者和所述協(xié)調(diào)者本身,同時(shí)將發(fā)送至普通參與者和協(xié)調(diào)者本身的準(zhǔn)備消息記錄在協(xié)調(diào)者的日志中;其中,所述普通參與者為除所述候選協(xié)調(diào)者之外的參與者。所述協(xié)調(diào)者發(fā)送準(zhǔn)備消息至普通參與者和所述協(xié)調(diào)者本身的過(guò)程和圖1示出的一種基于分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)的事務(wù)提交方法中的步驟S12相同,在此不再贅述。步驟S33:所述協(xié)調(diào)者接收并依據(jù)所述候選協(xié)調(diào)者、所述普通參與者和所述協(xié)調(diào)者本身在接收到所述準(zhǔn)備消息后,各自處理各自的子事務(wù)后所得到的各自的處理反饋消息,發(fā)送最終決定消息至所述候選協(xié)調(diào)者、普通參與者和所述協(xié)調(diào)者本身,同時(shí)將所述最終決定消息存儲(chǔ)在協(xié)調(diào)者的日志中。所述協(xié)調(diào)者接收并依據(jù)所述候選協(xié)調(diào)者、所述普通參與者和所述協(xié)調(diào)者本身在接收到所述準(zhǔn)備消息后,各自處理各自的子事務(wù)后所得到的各自的處理反饋消息,發(fā)送最終決定消息至所述候選協(xié)調(diào)者、普通參與者和所述協(xié)調(diào)者本身的過(guò)程和圖1示出的一種基于分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)的事務(wù)提交方法中的步驟S13相同,在此不再贅述。在本實(shí)施例中,候選協(xié)調(diào)者、普通參與者和協(xié)調(diào)者本身在得到各自的處理反饋消息后,將各自的處理反饋消息記錄在各自的日志中。步驟S34:所述候選協(xié)調(diào)者、所述普通參與者和所述協(xié)調(diào)者本身在預(yù)設(shè)時(shí)間內(nèi)均未接收到所述最終決定消息的情況下,所述候選協(xié)調(diào)者自動(dòng)轉(zhuǎn)換為協(xié)調(diào)者,返回執(zhí)行接收所有參與者的完成數(shù)據(jù)操作的消息這一步驟。步驟S34和圖1示出的一種基于分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)的事務(wù)提交方法中的步驟S14相同,在此不再贅述。對(duì)于前述的各方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本申請(qǐng)并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本申請(qǐng),某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說(shuō)明書(shū)中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本申請(qǐng)所必須的。與上述方法實(shí)施例相對(duì)應(yīng),本申請(qǐng)?zhí)峁┝艘环N基于分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)的事務(wù)提交裝置的一種結(jié)構(gòu)示意圖,請(qǐng)參見(jiàn)圖4,基于分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)的事務(wù)提交裝置包括:第一發(fā)送單元41、第二發(fā)送單元42、接收單元43、第三發(fā)送單元44和轉(zhuǎn)換單元45。其中:第一發(fā)送單元41,用于協(xié)調(diào)者在接收到所有參與者的完成數(shù)據(jù)操作的消息后,將第一個(gè)發(fā)送完成數(shù)據(jù)操作的消息的參與者作為候選協(xié)調(diào)者,并向所述候選協(xié)調(diào)者發(fā)送準(zhǔn)備消息和任命信息。第二發(fā)送單元42,用于所述協(xié)調(diào)者發(fā)送準(zhǔn)備消息至普通參與者和所述協(xié)調(diào)者本身;其中,所述普通參與者為除所述候選協(xié)調(diào)者之外的參與者。接收單元43,用于所述協(xié)調(diào)者接收所述候選協(xié)調(diào)者、所述普通參與者和所述協(xié)調(diào)者本身在接收到所述準(zhǔn)備消息后,各自處理各自的子事務(wù)后所得到的各自的處理反饋消息。接收單元43接收到的處理反饋消息包括提交消息或夭折消息。第三發(fā)送單元44,用于所述協(xié)調(diào)者依據(jù)所述接收單元接收到的各個(gè)處理反饋信息,發(fā)送最終決定消息至所述候選協(xié)調(diào)者、普通參與者和所述協(xié)調(diào)者本身。第三發(fā)送單元44的具體結(jié)構(gòu)可以參見(jiàn)圖5,圖5示出了本申請(qǐng)?zhí)峁┑囊环N第三發(fā)送單元的一種結(jié)構(gòu)示意圖,包括:判斷單元51、第四發(fā)送單元52和第五發(fā)送單元53。其中:判斷單元51,用于判斷接收到的各個(gè)處理反饋消息中是否存在夭折消息,若是,執(zhí)行第四發(fā)送單元52,若否,執(zhí)行第五發(fā)送單元53。第四發(fā)送單元52,用于發(fā)送全局夭折消息至所述候選協(xié)調(diào)者、所述普通參與者和所述協(xié)調(diào)者本身。第五發(fā)送單元53,用于發(fā)送全局提交消息至所述候選協(xié)調(diào)者、所述普通參與者和所述協(xié)調(diào)者本身。轉(zhuǎn)換單元45,用于所述候選協(xié)調(diào)者、所述普通參與者和所述協(xié)調(diào)者本身在預(yù)設(shè)時(shí)間內(nèi)均未接收到所述最終決定消息的情況下,所述候選協(xié)調(diào)者自動(dòng)轉(zhuǎn)換為協(xié)調(diào)者。轉(zhuǎn)換單元45得到的協(xié)調(diào)者返回執(zhí)行接收所有參與者的完成數(shù)據(jù)操作的消息這一步驟。圖4示出的一種基于分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)的事務(wù)提交裝置還可以包括:第一記錄單元、第二記錄單元、第三記錄單元和第四記錄單元。其中:第一記錄單元,用于所述協(xié)調(diào)者在發(fā)送所述準(zhǔn)備消息、所述任命消息或所述最終決定消息時(shí),將所述準(zhǔn)備消息、所述任命消息和所述最終決定消息記錄在所述協(xié)調(diào)者的日志中。第二記錄單元,用于所述協(xié)調(diào)者將所述協(xié)調(diào)者的處理反饋信息記錄在所述協(xié)調(diào)者的日志中。第三記錄單元,用于所述候選協(xié)調(diào)者將所述候選協(xié)調(diào)者的處理反饋信息記錄在所述候選協(xié)調(diào)者的日志中。第四記錄單元,用于所述普通參與者將所述普通參與者的處理反饋信息記錄在所述普通參與者的日志中。需要說(shuō)明的是,本說(shuō)明書(shū)中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可。對(duì)于裝置類(lèi)實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。最后,還需要說(shuō)明的是,在本文中,諸如第一和第二等之類(lèi)的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。以上對(duì)本申請(qǐng)所提供的一種基于分布式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)的事務(wù)提交方法及裝置進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本申請(qǐng)的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本申請(qǐng)的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請(qǐng)的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書(shū)內(nèi)容不應(yīng)理解為對(duì)本申請(qǐng)的限制。
當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1