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

主備數(shù)據(jù)庫的管理方法、系統(tǒng)及其設(shè)備與流程

文檔序號(hào):11519668閱讀:208來源:國知局
主備數(shù)據(jù)庫的管理方法、系統(tǒng)及其設(shè)備與流程

本申請(qǐng)涉及信息安全技術(shù)領(lǐng)域,尤其涉及一種主備數(shù)據(jù)庫的管理方法、系統(tǒng)及其設(shè)備。



背景技術(shù):

數(shù)據(jù)庫是金融、商業(yè)、交通等領(lǐng)域乃至整個(gè)社會(huì)的關(guān)鍵基礎(chǔ)設(shè)施,數(shù)據(jù)庫的持續(xù)可用是金融、商業(yè)等領(lǐng)域可持續(xù)向用戶正常進(jìn)行服務(wù)的保障。為了避免單個(gè)數(shù)據(jù)庫發(fā)生故障,提升數(shù)據(jù)庫的可用性,數(shù)據(jù)庫通常會(huì)采用主備配置,當(dāng)主數(shù)據(jù)庫故障的時(shí)候,切換到備份數(shù)據(jù)庫繼續(xù)進(jìn)行服務(wù)。

相關(guān)技術(shù)中,主備數(shù)據(jù)庫可采用自動(dòng)切換的方式進(jìn)行切換,即對(duì)主數(shù)據(jù)庫部署監(jiān)控系統(tǒng),一旦發(fā)現(xiàn)主數(shù)據(jù)路異常即發(fā)出警報(bào)并同時(shí)發(fā)出命令進(jìn)行主備數(shù)據(jù)庫的切換。

然而,上述主備數(shù)據(jù)庫的切換方式中,可能會(huì)因?yàn)檎`判而導(dǎo)致主數(shù)據(jù)庫在沒有出現(xiàn)故障的時(shí)候發(fā)生切換,或者主數(shù)據(jù)庫發(fā)生了故障卻沒有進(jìn)行切換,從而導(dǎo)致影響了為用戶正常提供服務(wù)。



技術(shù)實(shí)現(xiàn)要素:

本申請(qǐng)的目的旨在至少在一定程度上解決上述的技術(shù)問題之一。

為此,本申請(qǐng)的第一個(gè)目的在于提出一種主備數(shù)據(jù)庫的管理方法,該方法在主數(shù)據(jù)庫在其持有的鎖到期之前,沒有發(fā)送續(xù)鎖請(qǐng)求,則判斷主數(shù)據(jù)庫持有的鎖失效,不能正常為用戶提供服務(wù),從而選擇一個(gè)備份數(shù)據(jù)成為新的主數(shù)據(jù)庫,提高了主備數(shù)據(jù)庫的切換速率和準(zhǔn)確率。

本申請(qǐng)的第二個(gè)目的在于提出一種鎖仲裁服務(wù)器。

本申請(qǐng)的第三個(gè)目的在于提出一種主數(shù)據(jù)庫服務(wù)器。

本申請(qǐng)的第四個(gè)目的在于提出一種備份數(shù)據(jù)庫服務(wù)器。

本申請(qǐng)的第五個(gè)目的在于提出一種主備數(shù)據(jù)庫的管理系統(tǒng)。

為達(dá)上述目的,本申請(qǐng)第一方面實(shí)施例的主備數(shù)據(jù)庫的管理方法包括:判斷主數(shù)據(jù)庫所持有的鎖是否到期,其中,所述主數(shù)據(jù)庫和備份數(shù)據(jù)庫共享所述鎖;如果判斷所述主數(shù)據(jù)庫所持有的鎖已到期,則判斷是否接收到所述主數(shù)據(jù)庫的續(xù)鎖請(qǐng)求;如果未收到所述主數(shù)據(jù)庫的續(xù)鎖請(qǐng)求,則從所述備份數(shù)據(jù)庫中選擇一個(gè)作為新的主數(shù)據(jù)庫,并控制所述主數(shù)據(jù)庫切換為備份數(shù)據(jù)庫。

本申請(qǐng)實(shí)施例的主備數(shù)據(jù)庫的管理方法,判斷主數(shù)據(jù)庫所持有的鎖是否到期,如果判斷主數(shù)據(jù)庫持有的鎖已經(jīng)到期,則判斷是否接收到主數(shù)據(jù)庫的續(xù)鎖請(qǐng)求,如果沒有接收到續(xù)鎖請(qǐng)求,則從備份數(shù)據(jù)庫中選擇一個(gè)新的主數(shù)據(jù)庫,并控制主數(shù)據(jù)庫切換為備份數(shù)據(jù)庫。該方法在主數(shù)據(jù)庫在其持有的鎖到期之前,沒有發(fā)送續(xù)鎖請(qǐng)求,則判斷主數(shù)據(jù)庫持有的鎖失效,不能正常為用戶提供服務(wù),從而選擇一個(gè)備份數(shù)據(jù)成為新的主數(shù)據(jù)庫,提高了主備數(shù)據(jù)庫的切換速率和準(zhǔn)確率。

另外,本申請(qǐng)實(shí)施例的主備數(shù)據(jù)庫的管理方法還具有如下附加的技術(shù)特征:

在本申請(qǐng)的一個(gè)實(shí)施例中,在判斷所述主數(shù)據(jù)庫所持有的鎖已到期之后,還包括:向所述備份數(shù)據(jù)庫發(fā)送鎖到期通知;接收所述備份數(shù)據(jù)根據(jù)所述鎖到

期通知發(fā)送的鎖請(qǐng)求,并記錄所述鎖請(qǐng)求的接收時(shí)間。

在本申請(qǐng)的一個(gè)實(shí)施例中,所述從所述備份數(shù)據(jù)庫中選擇一個(gè)作為主數(shù)據(jù)庫還用于:選擇接收時(shí)間最早的備份數(shù)據(jù)庫作為所述主數(shù)據(jù)庫。

在本申請(qǐng)的一個(gè)實(shí)施例中,所述主數(shù)據(jù)庫的優(yōu)先級(jí)高于所述備份數(shù)據(jù)庫的優(yōu)先級(jí)。

在本申請(qǐng)的一個(gè)實(shí)施例中,所述鎖的更新周期為t1,其中,所述主數(shù)據(jù)庫以周期t2發(fā)送查詢所述鎖的狀態(tài)的鎖請(qǐng)求,所述備份數(shù)據(jù)庫以周期t3發(fā)送查詢所述鎖的狀態(tài)的鎖請(qǐng)求,其中,t2小于t1,t3大于或等于t1。

在本申請(qǐng)的一個(gè)實(shí)施例中,所述備份數(shù)據(jù)庫包括熱備數(shù)據(jù)庫和災(zāi)備數(shù)據(jù)庫,其中,所述主數(shù)據(jù)庫和所述熱備數(shù)據(jù)庫位于同一數(shù)據(jù)中心,所述主數(shù)據(jù)庫和所述災(zāi)備數(shù)據(jù)庫位于不同的數(shù)據(jù)中心。

在本申請(qǐng)的一個(gè)實(shí)施例中,在原主數(shù)據(jù)庫恢復(fù)之后,還包括:接收所述原主數(shù)據(jù)庫發(fā)送的鎖請(qǐng)求,并在所述鎖到期之后控制所述鎖由所述原主數(shù)據(jù)庫持有以使所述原主數(shù)據(jù)庫恢復(fù)為主數(shù)據(jù)庫,且當(dāng)前主數(shù)據(jù)庫恢復(fù)為備份數(shù)據(jù)庫。

在本申請(qǐng)的一個(gè)實(shí)施例中,在從所述備份數(shù)據(jù)庫中選擇一個(gè)作為新的主數(shù)據(jù)庫之后,還包括:繼續(xù)判斷當(dāng)前主數(shù)據(jù)庫所持有的鎖是否到期;如果所述當(dāng)前主數(shù)據(jù)庫所持有的鎖已到期,則判斷是否收到原主數(shù)據(jù)庫、所述當(dāng)前主數(shù)據(jù)庫和其他備份數(shù)據(jù)庫的鎖請(qǐng)求;如果接收到所述原主數(shù)據(jù)庫的鎖請(qǐng)求,則將所述原主數(shù)據(jù)庫恢復(fù)為主數(shù)據(jù)庫,將所述當(dāng)前數(shù)據(jù)庫恢復(fù)為備份數(shù)據(jù)庫;如果未接收到所述原主數(shù)據(jù)庫的鎖請(qǐng)求,且接收到所述當(dāng)前主數(shù)據(jù)庫和其他備份數(shù)據(jù)庫的鎖請(qǐng)求,則保持所述當(dāng)前主數(shù)據(jù)庫作為主數(shù)據(jù)庫;如果未接收到所述原主數(shù)據(jù)庫和所述當(dāng)前主數(shù)據(jù)庫的鎖請(qǐng)求,且接收到其他備份數(shù)據(jù)庫的鎖請(qǐng)求,則從所述其他備份數(shù)據(jù)庫中選擇一個(gè)作為主數(shù)據(jù)庫,并將所述當(dāng)前主數(shù)據(jù)恢復(fù)為

備份數(shù)據(jù)庫。

為達(dá)上述目的,本申請(qǐng)第二方面實(shí)施例的鎖仲裁服務(wù)器,包括:第一判斷模塊,用于判斷主數(shù)據(jù)庫所持有的鎖是否到期,其中,所述主數(shù)據(jù)庫和備份數(shù)據(jù)庫共享所述鎖;第二判斷模塊,用于在所述主數(shù)據(jù)庫所持有的鎖已到期時(shí),判斷是否接收到所述主數(shù)據(jù)庫的續(xù)鎖請(qǐng)求;第一處理模塊,用于在未收到所述主數(shù)據(jù)庫的續(xù)鎖請(qǐng)求時(shí),從所述備份數(shù)據(jù)庫中選擇一個(gè)作為新的主數(shù)據(jù)庫,并控制所述主數(shù)據(jù)庫切換為備份數(shù)據(jù)庫。

根據(jù)本申請(qǐng)實(shí)施例的鎖仲裁服務(wù)器,判斷主數(shù)據(jù)庫所持有的鎖是否到期,如果判斷主數(shù)據(jù)庫持有的鎖已經(jīng)到期,則判斷是否接收到主數(shù)據(jù)庫的續(xù)鎖請(qǐng)求,如果沒有接收到續(xù)鎖請(qǐng)求,則從備份數(shù)據(jù)庫中選擇一個(gè)新的主數(shù)據(jù)庫,并控制主數(shù)據(jù)庫切換為備份數(shù)據(jù)庫。該服務(wù)器在主數(shù)據(jù)庫在其持有的鎖到期之前,沒有發(fā)送續(xù)鎖請(qǐng)求,則判斷主數(shù)據(jù)庫持有的鎖失效,不能正常為用戶提供服務(wù),從而選擇一個(gè)備份數(shù)據(jù)成為新的主數(shù)據(jù)庫,提高了主備數(shù)據(jù)庫的切換速率和準(zhǔn)確率。

另外,本申請(qǐng)實(shí)施例的鎖仲裁服務(wù)器,具有如下附加的區(qū)別技術(shù)特征:

在本申請(qǐng)的一個(gè)實(shí)施例中,所述第一處理模塊用于:選擇接收時(shí)間最早的備份數(shù)據(jù)庫作為所述主數(shù)據(jù)庫。

在本申請(qǐng)的一個(gè)實(shí)施例中,所述主數(shù)據(jù)庫的優(yōu)先級(jí)高于所述備份數(shù)據(jù)庫的優(yōu)先級(jí)。

在本申請(qǐng)的一個(gè)實(shí)施例中,所述鎖的更新周期為t1,所述主數(shù)據(jù)庫以周期t2發(fā)送查詢所述鎖的狀態(tài)的鎖請(qǐng)求,所述備份數(shù)據(jù)庫以周期t3發(fā)送查詢所述鎖的狀態(tài)的鎖請(qǐng)求,其中,t2小于t1,t3大于或等于t1。

在本申請(qǐng)的一個(gè)實(shí)施例中,所述備份數(shù)據(jù)庫包括熱備數(shù)據(jù)庫和災(zāi)備數(shù)據(jù)庫,其中,所述主數(shù)據(jù)庫和所述熱備數(shù)據(jù)庫位于同一數(shù)據(jù)中心,所述主數(shù)據(jù)庫和所述災(zāi)備數(shù)據(jù)庫位于不同的數(shù)據(jù)中心。

在本申請(qǐng)的一個(gè)實(shí)施例中,還包括:第一接收模塊,用于在原主數(shù)據(jù)庫恢復(fù)之后,接收所述原主數(shù)據(jù)庫發(fā)送的鎖請(qǐng)求;所述第一處理模塊,還用于在所述鎖到期之后控制所述鎖由所述原主數(shù)據(jù)庫持有以使所述原主數(shù)據(jù)庫恢復(fù)為主數(shù)據(jù)庫,且當(dāng)前主數(shù)據(jù)庫恢復(fù)為備份數(shù)據(jù)庫。

在本申請(qǐng)的一個(gè)實(shí)施例中,所述第一判斷模塊,還用于繼續(xù)判斷當(dāng)前主數(shù)據(jù)庫所持有的鎖是否到期;所述第二判斷模塊,還用于在所述當(dāng)前主數(shù)據(jù)庫所持有的鎖已到期時(shí),判斷是否收到原主數(shù)據(jù)庫、所述當(dāng)前主數(shù)據(jù)庫和其他備份數(shù)據(jù)庫的鎖請(qǐng)求;第二處理模塊,用于在接收到所述原主數(shù)據(jù)庫的鎖請(qǐng)求時(shí),將所述原主數(shù)據(jù)庫恢復(fù)為主數(shù)據(jù)庫,將所述當(dāng)前數(shù)據(jù)庫恢復(fù)為備份數(shù)據(jù)庫;第三處理模塊,用于在未接收到所述原主數(shù)據(jù)庫的鎖請(qǐng)求,且接收到所述當(dāng)前主數(shù)據(jù)庫和其他備份數(shù)據(jù)庫的鎖請(qǐng)求時(shí),保持所述當(dāng)前主數(shù)據(jù)庫作為主數(shù)據(jù)庫;第四處理模塊,用于在未接收到所述原主數(shù)據(jù)庫和所述當(dāng)前主數(shù)據(jù)庫的鎖請(qǐng)求,且接收到其他備份數(shù)據(jù)庫的鎖請(qǐng)求時(shí),從所述其他備份數(shù)據(jù)庫中選擇一個(gè)作為主數(shù)據(jù)庫,并將所述當(dāng)前主數(shù)據(jù)恢復(fù)為備份數(shù)據(jù)庫。

為達(dá)上述目的,本申請(qǐng)第三方面實(shí)施例的主數(shù)據(jù)庫服務(wù)器,包括:第二發(fā)送模塊,用于在持有的鎖到期時(shí),向鎖仲裁服務(wù)器發(fā)送續(xù)鎖請(qǐng)求,以便所述鎖仲裁服務(wù)器未收到所述續(xù)鎖請(qǐng)求時(shí)從備份數(shù)據(jù)庫中選擇一個(gè)作為新的主數(shù)據(jù)庫;切換模塊,用于控制所述主數(shù)據(jù)庫切換為備份數(shù)據(jù)庫。

根據(jù)本申請(qǐng)實(shí)施例的主數(shù)據(jù)服務(wù)器,在持有的鎖到期時(shí),向鎖仲裁服務(wù)器發(fā)送續(xù)鎖請(qǐng)求,以便鎖仲裁服務(wù)器未接收到續(xù)鎖請(qǐng)求時(shí),從備份數(shù)據(jù)庫中選擇一個(gè)作為新的數(shù)據(jù)庫,同時(shí)將主數(shù)據(jù)庫切換為備份數(shù)據(jù)庫。該主數(shù)據(jù)服務(wù)器在不能延展主數(shù)據(jù)庫持有鎖的有效期時(shí),將主數(shù)據(jù)庫切換為備份數(shù)據(jù)庫,并選擇一個(gè)備份數(shù)據(jù)成為新的主數(shù)據(jù)庫,提高了主備數(shù)據(jù)庫的切換速率和準(zhǔn)確率,保證了數(shù)據(jù)庫正常向用戶提供服務(wù),提升了用戶體驗(yàn)。

另外,本申請(qǐng)實(shí)施例的主數(shù)據(jù)服務(wù)器具有如下附加的技術(shù)特征:

在本申請(qǐng)的一個(gè)實(shí)施例中,所述主數(shù)據(jù)庫的優(yōu)先級(jí)高于所述備份數(shù)據(jù)庫的優(yōu)先級(jí)。

在本申請(qǐng)的一個(gè)實(shí)施例中,所述鎖的更新周期為t1,其中,所述主數(shù)據(jù)庫服務(wù)器以周期t2發(fā)送查詢所述鎖的狀態(tài)的鎖請(qǐng)求,所述備份數(shù)據(jù)庫以周期t3發(fā)送查詢所述鎖的狀態(tài)的鎖請(qǐng)求,其中,t2小于t1,t3大于或等于t1。

在本申請(qǐng)的一個(gè)實(shí)施例中,所述備份數(shù)據(jù)庫包括熱備數(shù)據(jù)庫和災(zāi)備數(shù)據(jù)庫,其中,所述主數(shù)據(jù)庫和所述熱備數(shù)據(jù)庫位于同一數(shù)據(jù)中心,所述主數(shù)據(jù)庫和所述災(zāi)備數(shù)據(jù)庫位于不同的數(shù)據(jù)中心。

在本申請(qǐng)的一個(gè)實(shí)施例中,所述主數(shù)據(jù)庫服務(wù)器還包括:

第三發(fā)送模塊,用于在原主數(shù)據(jù)庫恢復(fù)之后,向所述鎖仲裁服務(wù)器發(fā)送鎖請(qǐng)求,以便所述鎖仲裁服務(wù)器接收所述原主數(shù)據(jù)庫發(fā)送的鎖請(qǐng)求,并在所述鎖到期之后控制所述鎖由所述原主數(shù)據(jù)庫持有以使所述原主數(shù)據(jù)庫恢復(fù)為主數(shù)據(jù)庫,且當(dāng)前主數(shù)據(jù)庫恢復(fù)為備份數(shù)據(jù)庫。

為達(dá)上述目的,本申請(qǐng)第四方面實(shí)施例的備份數(shù)據(jù)庫服務(wù)器,包括:第四發(fā)送模塊,用于向鎖仲裁服務(wù)器發(fā)送鎖請(qǐng)求;第二接收模塊,用于接收所述鎖仲裁服務(wù)器發(fā)送的鎖確認(rèn)消息;第五處理模塊,用于根據(jù)所述鎖確認(rèn)消息切換為新的主數(shù)據(jù)庫。

根據(jù)本誰請(qǐng)實(shí)施例的備份數(shù)據(jù)庫服務(wù)器,向鎖仲裁服務(wù)器發(fā)送鎖請(qǐng)求,接收鎖仲裁服務(wù)器發(fā)送的鎖確認(rèn)消息,根據(jù)鎖確認(rèn)消息切換為新的主數(shù)據(jù)庫。該備份數(shù)據(jù)庫服務(wù)器在主數(shù)據(jù)庫不能延展主數(shù)據(jù)庫持有鎖的有效期時(shí),選擇一個(gè)備份數(shù)據(jù)成為新的主數(shù)據(jù)庫,將主數(shù)據(jù)庫切換為備份數(shù)據(jù)庫,提高了主備數(shù)據(jù)庫的切換速率和準(zhǔn)確率,保證了數(shù)據(jù)庫正常向用戶提供服務(wù),提升了用戶體驗(yàn)。

本申請(qǐng)實(shí)施例的備份數(shù)據(jù)庫服務(wù)器具有如下附加的技術(shù)特征:

在本申請(qǐng)的一個(gè)實(shí)施例中,所述備份數(shù)據(jù)庫服務(wù)器包括:第三接收模塊,用于接收所述鎖仲裁服務(wù)器判斷所述主數(shù)據(jù)庫所持有的鎖已到期之后發(fā)送的鎖到期通知,其中,所述第四發(fā)送模塊根據(jù)所述鎖到期通知發(fā)送的鎖請(qǐng)求向所述鎖仲裁服務(wù)器發(fā)送鎖請(qǐng)求。

在本申請(qǐng)的一個(gè)實(shí)施例中,所述主數(shù)據(jù)庫的優(yōu)先級(jí)高于所述備份數(shù)據(jù)庫的優(yōu)先級(jí)。

在本申請(qǐng)的一個(gè)實(shí)施例中,所述備份數(shù)據(jù)庫包括熱備數(shù)據(jù)庫和災(zāi)備數(shù)據(jù)庫,其中,所述主數(shù)據(jù)庫和所述熱備數(shù)據(jù)庫位于同一數(shù)據(jù)中心,所述主數(shù)據(jù)庫和所述災(zāi)備數(shù)據(jù)庫位于不同的數(shù)據(jù)中心。

在本申請(qǐng)的一個(gè)實(shí)施例中,所述備份數(shù)據(jù)庫服務(wù)器還包括:第六處理模塊,用于在所述鎖仲裁服務(wù)器接收所述原主數(shù)據(jù)庫發(fā)送的鎖請(qǐng)求,并在所述鎖到期之后控制所述鎖由所述原主數(shù)據(jù)庫持有以使所述原主數(shù)據(jù)庫恢復(fù)為主數(shù)據(jù)庫后,控制當(dāng)前主數(shù)據(jù)庫恢復(fù)為備份數(shù)據(jù)庫。

為達(dá)上述目的,本申請(qǐng)第五方面實(shí)施例的主備數(shù)據(jù)庫的管理系統(tǒng),包括本申請(qǐng)第二方面實(shí)施例所述的鎖仲裁服務(wù)器,本申請(qǐng)第三方面實(shí)施例所述的主數(shù)據(jù)庫服務(wù)器,本申請(qǐng)第四方面實(shí)施例所述的備份數(shù)據(jù)庫服務(wù)器。

本申請(qǐng)附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本申請(qǐng)的實(shí)踐了解到。

附圖說明

本申請(qǐng)的上述和/或附加的方面和優(yōu)點(diǎn)從結(jié)合下面附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中:

圖1是根據(jù)本申請(qǐng)一個(gè)實(shí)施例的主備數(shù)據(jù)庫的管理方法的流程圖;

圖2(a)-圖2(c)是根據(jù)本申請(qǐng)一個(gè)具體實(shí)施例的主備數(shù)據(jù)庫部署圖;

圖3是根據(jù)本申請(qǐng)另一個(gè)實(shí)施例的主備數(shù)據(jù)庫的管理方法的流程圖;

圖4是根據(jù)本申請(qǐng)又一個(gè)實(shí)施例的主備數(shù)據(jù)庫的管理方法的流程圖;

圖5是根據(jù)本申請(qǐng)一個(gè)實(shí)施例的鎖仲裁服務(wù)器的結(jié)構(gòu)示意圖;

圖6是根據(jù)本申請(qǐng)一個(gè)具體實(shí)施例的鎖仲裁服務(wù)器的結(jié)構(gòu)示意圖;

圖7是根據(jù)本申請(qǐng)另一個(gè)實(shí)施例的鎖仲裁服務(wù)器的結(jié)構(gòu)示意圖;

圖8是根據(jù)本申請(qǐng)又一個(gè)實(shí)施例的鎖仲裁服務(wù)器的結(jié)構(gòu)示意圖;

圖9是根據(jù)本申請(qǐng)一個(gè)實(shí)施例的主數(shù)據(jù)庫服務(wù)器的結(jié)構(gòu)示意圖;

圖10是根據(jù)本申請(qǐng)一個(gè)具體實(shí)施例的主數(shù)據(jù)庫服務(wù)器的結(jié)構(gòu)示意圖;

圖11是根據(jù)本申請(qǐng)一個(gè)實(shí)施例的備份數(shù)據(jù)庫的結(jié)構(gòu)示意圖;

圖12是根據(jù)本申請(qǐng)一個(gè)具體實(shí)施例的備份數(shù)據(jù)庫服務(wù)器的結(jié)構(gòu)示意圖;

圖13是根據(jù)本申請(qǐng)另一個(gè)實(shí)施例的備份數(shù)據(jù)庫服務(wù)器的結(jié)構(gòu)示意圖;以及

圖14是根據(jù)本申請(qǐng)一個(gè)實(shí)施例的主備數(shù)據(jù)庫的管理系統(tǒng)的結(jié)構(gòu)示意圖。

具體實(shí)施方式

下面詳細(xì)描述本申請(qǐng)的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,旨在用于解釋本申請(qǐng),而不能理解為對(duì)本申請(qǐng)的限制。

下面參考附圖描述本申請(qǐng)一個(gè)實(shí)施例的主備數(shù)據(jù)庫的管理方法、系統(tǒng)及其設(shè)備。

圖1是根據(jù)本申請(qǐng)一個(gè)實(shí)施例的主備數(shù)據(jù)庫的管理方法的流程圖,如圖1所示,該主備數(shù)據(jù)庫的管理方法包括:

s110,判斷主數(shù)據(jù)庫所持有的鎖是否到期,其中,主數(shù)據(jù)庫和備份數(shù)據(jù)庫共享鎖。

s120,如果判斷主數(shù)據(jù)庫所持有的鎖已到期,則判斷是否接收到主數(shù)據(jù)庫的續(xù)鎖請(qǐng)求;

可以理解,為了避免通過監(jiān)控系統(tǒng)監(jiān)控并控制主備數(shù)據(jù)庫的切換方式中,對(duì)主備數(shù)據(jù)庫的誤切換,比如對(duì)沒有故障的主數(shù)據(jù)庫進(jìn)行切換或者主數(shù)據(jù)發(fā)生故障卻不切換,本申請(qǐng)實(shí)施例的主備數(shù)據(jù)庫的管理方法中,引入一個(gè)外部的仲裁機(jī)制,通過該仲裁機(jī)制準(zhǔn)確判斷主數(shù)據(jù)庫是否發(fā)生故障,從而準(zhǔn)確控制主備數(shù)據(jù)庫之間的切換。

其中,根據(jù)具體應(yīng)用場景的不同,上述外部的仲裁機(jī)制可以有很多種,本申請(qǐng)實(shí)施例以該仲裁機(jī)制為鎖服務(wù)進(jìn)行詳細(xì)描述。

具體地,主數(shù)據(jù)和備份數(shù)據(jù)庫共享一把鎖,主數(shù)據(jù)庫和備份數(shù)據(jù)庫均會(huì)競爭鎖的所有權(quán),獲取鎖的數(shù)據(jù)庫為主數(shù)據(jù)庫,并且由于鎖具有互斥特征,所以同一時(shí)間只會(huì)有一個(gè)數(shù)據(jù)庫可為主數(shù)據(jù)庫。

主數(shù)據(jù)庫需要在有效期(通常為幾十秒)到期之前不斷更新鎖以延展其有效期。如果在有效期內(nèi),主數(shù)據(jù)庫發(fā)生故障或進(jìn)行升級(jí)維護(hù)等,則不能完成對(duì)鎖的更顯以延展鎖的有效期,從而其他的備份數(shù)據(jù)庫搶到鎖,升級(jí)為主數(shù)據(jù)庫,而主數(shù)據(jù)庫降級(jí)為備份數(shù)據(jù)庫。

具體而言,在實(shí)際應(yīng)用中,為了保護(hù)主數(shù)據(jù)庫的不變,避免其在沒有發(fā)生故障或進(jìn)行升級(jí)維護(hù)等操作時(shí)被切換為備份數(shù)據(jù)庫,主數(shù)據(jù)庫的優(yōu)先級(jí)高于備份數(shù)據(jù)庫的優(yōu)先級(jí),以保證在主數(shù)據(jù)庫沒有發(fā)生故障或進(jìn)行升級(jí)維護(hù)等操作的前提下,持有鎖的數(shù)據(jù)庫是主數(shù)據(jù)庫。

需要說明的是,上述主備數(shù)據(jù)庫的部署方式有多種,比如可以是一主一備的部署方式,也可是一主多備的部署方式等。

為了便于描述,在本申請(qǐng)的實(shí)施例中,以主備數(shù)據(jù)庫的部署方式為兩地三中心為例進(jìn)行描述,即備份數(shù)據(jù)庫包括熱備數(shù)據(jù)庫和災(zāi)備數(shù)據(jù)庫,其中,主數(shù)據(jù)庫和熱備數(shù)據(jù)庫位于同一數(shù)據(jù)中心,主數(shù)據(jù)庫和災(zāi)備數(shù)據(jù)庫位于不同的數(shù)據(jù)中心。

進(jìn)一步地,為了判斷持有鎖的主數(shù)據(jù)庫是否有故障,判斷其是否在有效期內(nèi)延展其對(duì)鎖持有的有效期。

具體而言,判斷主數(shù)據(jù)庫持有的鎖是否到期,如果判斷主數(shù)據(jù)庫所持有的鎖已到期,則判斷是否接收到主數(shù)據(jù)庫的續(xù)鎖請(qǐng)求。

s130,如果未收到主數(shù)據(jù)庫的續(xù)鎖請(qǐng)求,則從備份數(shù)據(jù)庫中選擇一個(gè)作為新的主數(shù)據(jù)庫,并控制主數(shù)據(jù)庫切換為備份數(shù)據(jù)庫。

具體而言,如果未收到主數(shù)據(jù)庫的續(xù)鎖請(qǐng)求,則表明主數(shù)據(jù)庫網(wǎng)絡(luò)或者電力等故障,不能完成對(duì)鎖的更新,從而為了正常為用戶提供服務(wù),從備份數(shù)據(jù)庫中選擇一個(gè)作為新的主數(shù)據(jù)庫,并控制主數(shù)據(jù)庫切換為備份數(shù)據(jù)庫。

其中,需要說明的是,根據(jù)具體應(yīng)用場景的不同,可采用不同的方式從備份數(shù)據(jù)庫中選擇一個(gè)作為主數(shù)據(jù)庫。比如,備份數(shù)據(jù)庫可按一定周期主動(dòng)查詢主數(shù)據(jù)庫的鎖到期時(shí),是否發(fā)出續(xù)鎖請(qǐng)求以延展其持有鎖的有效性,如果沒有,則備份數(shù)據(jù)庫發(fā)出鎖請(qǐng)求,以便能夠迅速獲取鎖并切換成主數(shù)據(jù)庫。

為了更加清楚的說明本申請(qǐng)實(shí)施例的主備數(shù)據(jù)庫的管理方法,下面結(jié)合圖2(a)-圖2(b)以數(shù)據(jù)庫部署方式為兩地三新部署方式為例進(jìn)行說明,即如圖2(a)所示,在同城的主機(jī)房和熱備機(jī)房同時(shí)部署兩個(gè)數(shù)據(jù)庫(主數(shù)據(jù)庫和熱備數(shù)據(jù)庫),在異地的災(zāi)備機(jī)房部署一個(gè)獨(dú)立的數(shù)據(jù)庫(災(zāi)備數(shù)據(jù)庫)。

在本示例中,外部仲裁機(jī)制服務(wù)gos本身可跨地部署,可以包容機(jī)房以及布局地區(qū)完全失效,或是網(wǎng)絡(luò)的故障,可始終提供不間斷的鎖服務(wù)。

圖2(b)是根據(jù)本申請(qǐng)一個(gè)實(shí)施例的主備數(shù)據(jù)庫切換示意圖。

如圖2(b)所示,如果主機(jī)房整體失效,比如主機(jī)房的機(jī)房損壞或者是網(wǎng)絡(luò)故障,則其無法發(fā)出續(xù)鎖請(qǐng)求,從而不能延展其持有鎖的有效期,其持有的鎖最終會(huì)失效,這個(gè)過程通常會(huì)持續(xù)幾十秒,在此期間,主數(shù)據(jù)庫無法正常為用戶提供服務(wù)。

在鎖的有效期過后,通常熱備機(jī)房會(huì)獲得新鎖,從而熱備數(shù)據(jù)庫會(huì)成為新的主數(shù)據(jù)庫,原來的主數(shù)據(jù)路自動(dòng)降級(jí)為備份數(shù)據(jù)庫,進(jìn)而熱備數(shù)據(jù)庫作為新的主數(shù)據(jù)庫為用戶提供服務(wù),災(zāi)備機(jī)房從新的主數(shù)據(jù)庫中獲取最新的數(shù)據(jù),并同步到本地。

綜上所述,本申請(qǐng)實(shí)施例的主備數(shù)據(jù)庫的管理方法,判斷主數(shù)據(jù)庫所持有的鎖是否到期,如果判斷主數(shù)據(jù)庫持有的鎖已經(jīng)到期,則判斷是否接收到主數(shù)據(jù)庫的續(xù)鎖請(qǐng)求,如果沒有接收到續(xù)鎖請(qǐng)求,則從備份數(shù)據(jù)庫中選擇一個(gè)新的主數(shù)據(jù)庫,并控制主數(shù)據(jù)庫切換為備份數(shù)據(jù)庫。該方法在主數(shù)據(jù)庫在其持有的鎖到期之前,沒有發(fā)送續(xù)鎖請(qǐng)求,則判斷主數(shù)據(jù)庫持有的鎖失效,不能正常為用戶提供服務(wù),從而選擇一個(gè)備份數(shù)據(jù)成為新的主數(shù)據(jù)庫,提高了主備數(shù)據(jù)庫的切換速率和準(zhǔn)確率。

基于上述實(shí)施例,主備數(shù)據(jù)庫管理方法中,主備數(shù)據(jù)庫的切換方式可以分為主動(dòng)切換和被動(dòng)切換兩種方式,具體說明如下:

作為一種示例,為了使得主數(shù)據(jù)庫能夠及時(shí)對(duì)鎖進(jìn)行更新,以及在主數(shù)據(jù)庫發(fā)生故障時(shí),其他備份數(shù)據(jù)庫能夠迅速獲取鎖,主數(shù)據(jù)庫可在鎖的更新周期內(nèi),以相對(duì)較短的周期發(fā)送查詢鎖的狀態(tài)請(qǐng)求,從而在鎖將要失效時(shí)及時(shí)對(duì)其更新,維持當(dāng)前的主數(shù)據(jù)庫的不變性。

同時(shí),備份數(shù)據(jù)庫以相對(duì)較長的周期主動(dòng)發(fā)送查詢鎖的狀態(tài)的鎖請(qǐng)求,從而在主數(shù)據(jù)庫的鎖失效時(shí),能夠迅速獲取鎖,進(jìn)而主動(dòng)切換成為新的主數(shù)據(jù)庫,不影響為用戶提供服務(wù)。

舉例而言,如果鎖的更新周期為t1,主數(shù)據(jù)庫以周期t2發(fā)送查詢鎖的狀態(tài)的鎖請(qǐng)求,備份數(shù)據(jù)庫以周期t3發(fā)送查詢鎖的狀態(tài)的鎖請(qǐng)求,其中,t2小于t1,t3大于或等于t1。

作為另一種示例,如果備份數(shù)據(jù)庫不是始終主動(dòng)以一定的周期,發(fā)送查詢鎖的狀態(tài)的鎖請(qǐng)求,則在主數(shù)據(jù)庫持有的鎖失效時(shí),主動(dòng)向其他備份數(shù)據(jù)庫發(fā)送鎖到期通知,以便備份數(shù)據(jù)庫根據(jù)鎖到期通知發(fā)送鎖請(qǐng)求,獲取鎖成為新的主數(shù)據(jù)庫。

具體而言,圖3是根據(jù)本申請(qǐng)另一個(gè)實(shí)施例的主備數(shù)據(jù)庫的管理方法的流程圖,如圖3所示,

s310,判斷主數(shù)據(jù)庫所持有的鎖是否到期,其中,主數(shù)據(jù)庫和備份數(shù)據(jù)庫共享鎖。

s320,如果判斷主數(shù)據(jù)庫所持有的鎖已到期,向備份數(shù)據(jù)庫發(fā)送鎖到期通知。

s330,接收備份數(shù)據(jù)根據(jù)鎖到期通知發(fā)送的鎖請(qǐng)求,并記錄鎖請(qǐng)求的接收時(shí)間。

s340,判斷是否接收到主數(shù)據(jù)庫的續(xù)鎖請(qǐng)求。

s350,如果未收到主數(shù)據(jù)庫的續(xù)鎖請(qǐng)求,選擇接收時(shí)間最早的備份數(shù)據(jù)庫作為主數(shù)據(jù)庫。

可以理解,主數(shù)據(jù)庫和備份數(shù)據(jù)庫之間的數(shù)據(jù)是進(jìn)行準(zhǔn)實(shí)時(shí)同步的,同步的速度取決于數(shù)據(jù)庫的備份速度,通常同城機(jī)房的延遲在幾毫秒,而異地機(jī)房的延時(shí)在數(shù)百毫秒。

并且如果主數(shù)據(jù)庫的切換時(shí)主動(dòng)發(fā)起的,比如是進(jìn)行版本升級(jí)或者是下線維護(hù),可以做到在主數(shù)據(jù)庫放棄主數(shù)據(jù)庫的身份之前,停止寫入數(shù)據(jù),熱備機(jī)房獲取鎖,熱備數(shù)據(jù)庫能夠同步更新完成所有的數(shù)據(jù),因此在一般情況下,熱備數(shù)據(jù)庫的數(shù)據(jù)較完整,因此有限將熱備數(shù)據(jù)庫作為下一個(gè)主數(shù)據(jù)庫。

具體而言,根據(jù)接收到的鎖請(qǐng)求的時(shí)間,判斷出距離主數(shù)據(jù)庫較近的備份數(shù)據(jù)庫。即由于不同的備份數(shù)據(jù)庫可能與當(dāng)前主數(shù)據(jù)庫的距離不同,比如熱備數(shù)據(jù)庫一般距離主數(shù)據(jù)庫較近,而災(zāi)備數(shù)據(jù)庫一般距離主數(shù)據(jù)較遠(yuǎn),因此其接收到鎖請(qǐng)求的時(shí)間不同,熱備數(shù)據(jù)庫接收到的請(qǐng)求的時(shí)間較早。

進(jìn)一步地,如果未接收到主數(shù)據(jù)庫的續(xù)鎖請(qǐng)求,表明當(dāng)前的數(shù)據(jù)庫出現(xiàn)故障或在進(jìn)行升級(jí)維護(hù)等,因此為了盡快正常為用戶提供服務(wù),選擇接收時(shí)間最早的備份數(shù)據(jù)庫作為主數(shù)據(jù)庫。

另外,應(yīng)當(dāng)理解的是,當(dāng)處于同一個(gè)數(shù)據(jù)中心的主數(shù)據(jù)庫和熱備數(shù)據(jù)庫出現(xiàn)災(zāi)難性的故障的時(shí)候,比如發(fā)生地震等,本申請(qǐng)實(shí)施例的主備數(shù)據(jù)庫的管理方法仍可實(shí)現(xiàn)。

如圖2(c)所示,當(dāng)主數(shù)據(jù)庫和熱備數(shù)據(jù)庫所在機(jī)房都發(fā)生故障,則主數(shù)據(jù)庫的鎖就會(huì)失效,而熱備數(shù)據(jù)庫也無法獲得鎖,因此,災(zāi)備數(shù)據(jù)庫將獲得鎖成為新的主數(shù)據(jù)庫,繼續(xù)為用戶提供服務(wù),整個(gè)過程無需人工參與。

綜上所述,本申請(qǐng)實(shí)施例的主備數(shù)據(jù)庫的管理方法,在主數(shù)據(jù)庫的鎖到期失效時(shí),備份數(shù)據(jù)庫迅速獲取鎖成為新的主數(shù)據(jù)庫,保證在較短的時(shí)間內(nèi),繼續(xù)為用戶正常的提供服務(wù),提升了用戶體驗(yàn)。

在實(shí)際應(yīng)用中,出現(xiàn)故障的原主數(shù)據(jù)庫經(jīng)過維修、升級(jí)等相關(guān)操作后,可為用戶繼續(xù)提供服務(wù),因此本申請(qǐng)實(shí)施例的主備數(shù)據(jù)庫的管理方法還包括,在原主數(shù)據(jù)庫恢復(fù)后,接收原主數(shù)據(jù)庫的鎖請(qǐng)求,以將其切換為主數(shù)據(jù)庫。

具體而言,在本示例中,在從備份數(shù)據(jù)庫中選擇一個(gè)作為新的主數(shù)據(jù)庫之后,始終檢測當(dāng)前主數(shù)據(jù)庫的鎖的有效性和原主數(shù)據(jù)的鎖請(qǐng)求,在當(dāng)前主數(shù)據(jù)庫鎖失效時(shí),再次從其他備份數(shù)據(jù)庫中選擇一個(gè)新的主數(shù)據(jù)庫,或者在接收到原主數(shù)據(jù)庫的鎖請(qǐng)求后,由于原主數(shù)據(jù)庫的優(yōu)先級(jí)較高,將原主數(shù)據(jù)庫切換為主數(shù)據(jù)庫,將當(dāng)前主數(shù)據(jù)庫降級(jí)為備份數(shù)據(jù)庫。

圖4是根據(jù)本申請(qǐng)又一個(gè)實(shí)施例的主備數(shù)據(jù)庫的管理方法的流程圖,如圖4所示,該主備數(shù)據(jù)庫的管理方法包括:

s410,繼續(xù)判斷當(dāng)前主數(shù)據(jù)庫所持有的鎖是否到期。

s420,如果當(dāng)前主數(shù)據(jù)庫所持有的鎖已到期,則判斷是否收到原主數(shù)據(jù)庫、當(dāng)前主數(shù)據(jù)庫和其他備份數(shù)據(jù)庫的鎖請(qǐng)求。

s430,如果接收到原主數(shù)據(jù)庫的鎖請(qǐng)求,則將原主數(shù)據(jù)庫恢復(fù)為主數(shù)據(jù)庫,將當(dāng)前數(shù)據(jù)庫恢復(fù)為備份數(shù)據(jù)庫。

具體而言,原主數(shù)據(jù)庫在恢復(fù)正常后,發(fā)送鎖請(qǐng)求,由于原主數(shù)據(jù)庫的優(yōu)先級(jí)較高,在接收到該鎖請(qǐng)求后,則將原主數(shù)據(jù)庫恢復(fù)為主數(shù)據(jù)庫,將當(dāng)前主數(shù)據(jù)庫恢復(fù)為備份數(shù)據(jù)庫。

s440,如果未接收到原主數(shù)據(jù)庫的鎖請(qǐng)求,且接收到當(dāng)前主數(shù)據(jù)庫和其他備份數(shù)據(jù)庫的鎖請(qǐng)求,則保持當(dāng)前主數(shù)據(jù)庫作為主數(shù)據(jù)庫。

具體而言,在未接收到原主數(shù)據(jù)庫的鎖請(qǐng)求,且當(dāng)前主數(shù)據(jù)庫正常更新鎖,則繼續(xù)保持當(dāng)前主數(shù)據(jù)庫作為主數(shù)據(jù)庫。

s450,如果未接收到原主數(shù)據(jù)庫和當(dāng)前主數(shù)據(jù)庫的鎖請(qǐng)求,且接收到其他備份數(shù)據(jù)庫的鎖請(qǐng)求,則從其他備份數(shù)據(jù)庫中選擇一個(gè)作為主數(shù)據(jù)庫,并將當(dāng)前主數(shù)據(jù)恢復(fù)為備份數(shù)據(jù)庫。

具體而言,如果未接收到原主數(shù)據(jù)庫和當(dāng)前主數(shù)據(jù)庫的鎖請(qǐng)求,則表明原主數(shù)據(jù)庫未回復(fù)正常,且當(dāng)前的主數(shù)據(jù)庫也出現(xiàn)故障或需要進(jìn)行升級(jí)操作等,因而為了為用戶正常提供服務(wù),需從發(fā)送鎖請(qǐng)求的其他備份數(shù)據(jù)庫中選擇一個(gè)作為主數(shù)據(jù)庫,并將當(dāng)前主數(shù)據(jù)恢復(fù)為備份數(shù)據(jù)庫。

綜上所述,本申請(qǐng)實(shí)施例的主備數(shù)據(jù)庫的管理方法,在從備份數(shù)據(jù)庫中選擇一個(gè)作為新的主數(shù)據(jù)庫后,繼續(xù)判斷當(dāng)前主數(shù)據(jù)庫是否接收到原主數(shù)據(jù)庫的鎖請(qǐng)求,以及當(dāng)前主數(shù)據(jù)庫是否進(jìn)行鎖的更新,當(dāng)接收到原主數(shù)據(jù)庫的鎖請(qǐng)求,則將原主數(shù)據(jù)庫恢復(fù)為當(dāng)前主數(shù)據(jù)庫,將當(dāng)前主數(shù)據(jù)庫恢復(fù)為備份數(shù)據(jù)庫,如果沒有接收到原主數(shù)據(jù)庫的鎖請(qǐng)求,則判斷前主數(shù)據(jù)庫是否有效進(jìn)行鎖的更新,如果沒有,則從其他備份數(shù)據(jù)庫中選擇一個(gè)作為主數(shù)據(jù)庫,并將當(dāng)前主數(shù)據(jù)恢復(fù)為備份數(shù)據(jù)庫。該方法保證了在原主數(shù)據(jù)庫恢復(fù)后,將其恢復(fù)為主數(shù)據(jù)庫,能夠更好的為用戶提供服務(wù),提高了本申請(qǐng)主備數(shù)據(jù)庫的管理方法的實(shí)用性。

為了實(shí)現(xiàn)上述實(shí)施例,本申請(qǐng)還提出了一種鎖仲裁服務(wù)器。圖5是根據(jù)本申請(qǐng)一個(gè)實(shí)施例的鎖仲裁服務(wù)器的結(jié)構(gòu)示意圖。

如圖5所示,該鎖仲裁服務(wù)器包括:

第一判斷模塊510,用于判斷主數(shù)據(jù)庫所持有的鎖是否到期,其中,主數(shù)據(jù)庫和備份數(shù)據(jù)庫共享鎖。

第二判斷模塊520,用于在主數(shù)據(jù)庫所持有的鎖已到期時(shí),判斷是否接收到主數(shù)據(jù)庫的續(xù)鎖請(qǐng)求。

第一處理模塊530,用于在未收到主數(shù)據(jù)庫的續(xù)鎖請(qǐng)求時(shí),從備份數(shù)據(jù)庫中選擇一個(gè)作為新的主數(shù)據(jù)庫,并控制主數(shù)據(jù)庫切換為備份數(shù)據(jù)庫。

具體而言,在實(shí)際應(yīng)用中,為了保護(hù)主數(shù)據(jù)庫的不變,避免其在沒有發(fā)生故障或進(jìn)行升級(jí)維護(hù)等操作時(shí)被切換為備份數(shù)據(jù)庫,主數(shù)據(jù)庫的優(yōu)先級(jí)高于備份數(shù)據(jù)庫的優(yōu)先級(jí),以保證在主數(shù)據(jù)庫沒有發(fā)生故障或進(jìn)行升級(jí)維護(hù)等操作的前提下,持有鎖的數(shù)據(jù)庫是主數(shù)據(jù)庫。

需要說明的是,上述主備數(shù)據(jù)庫的部署方式有多種,比如可以是一主一備的部署方式,也可是一主多備的部署方式等。

為了便于描述,在本申請(qǐng)的實(shí)施例中,以主備數(shù)據(jù)庫的部署方式為兩地三中心為例進(jìn)行描述,即備份數(shù)據(jù)庫包括熱備數(shù)據(jù)庫和災(zāi)備數(shù)據(jù)庫,其中,主數(shù)據(jù)庫和熱備數(shù)據(jù)庫位于同一數(shù)據(jù)中心,主數(shù)據(jù)庫和災(zāi)備數(shù)據(jù)庫位于不同的數(shù)據(jù)中心。

進(jìn)一步地,為了判斷持有鎖的主數(shù)據(jù)庫是否有故障,判斷其是否在有效期內(nèi)延展其對(duì)鎖持有的有效期。

具體而言,第一判斷模塊510判斷主數(shù)據(jù)庫持有的鎖是否到期,如果判斷主數(shù)據(jù)庫所持有的鎖已到期,第二判斷模塊520則判斷是否接收到主數(shù)據(jù)庫的續(xù)鎖請(qǐng)求。

進(jìn)而,如果未收到主數(shù)據(jù)庫的續(xù)鎖請(qǐng)求,則表明主數(shù)據(jù)庫網(wǎng)絡(luò)或者電力等故障,不能完成對(duì)鎖的更新,從而為了正常為用戶提供服務(wù),第一處理模塊530從備份數(shù)據(jù)庫中選擇一個(gè)作為新的主數(shù)據(jù)庫,并控制主數(shù)據(jù)庫切換為備份數(shù)據(jù)庫。

其中,需要說明的是,根據(jù)具體應(yīng)用場景的不同,第一處理模塊530可采用不同的方式從備份數(shù)據(jù)庫中選擇一個(gè)作為主數(shù)據(jù)庫。比如,備份數(shù)據(jù)庫可按一定周期主動(dòng)查詢主數(shù)據(jù)庫的鎖到期時(shí),是否發(fā)出續(xù)鎖請(qǐng)求以延展其持有鎖的有效性,如果沒有,則備份數(shù)據(jù)庫發(fā)出鎖請(qǐng)求,以便能夠迅速獲取鎖并切換成主數(shù)據(jù)庫。

綜上所述,本申請(qǐng)實(shí)施例的鎖仲裁服務(wù)器,判斷主數(shù)據(jù)庫所持有的鎖是否到期,如果判斷主數(shù)據(jù)庫持有的鎖已經(jīng)到期,則判斷是否接收到主數(shù)據(jù)庫的續(xù)鎖請(qǐng)求,如果沒有接收到續(xù)鎖請(qǐng)求,則從備份數(shù)據(jù)庫中選擇一個(gè)新的主數(shù)據(jù)庫,并控制主數(shù)據(jù)庫切換為備份數(shù)據(jù)庫。該鎖仲裁服務(wù)器在主數(shù)據(jù)庫在其持有的鎖到期之前,沒有發(fā)送續(xù)鎖請(qǐng)求,則判斷主數(shù)據(jù)庫持有的鎖失效,不能正常為用戶提供服務(wù),從而選擇一個(gè)備份數(shù)據(jù)成為新的主數(shù)據(jù)庫,提高了主備數(shù)據(jù)庫的切換速率和準(zhǔn)確率。

基于上述實(shí)施例,主備數(shù)據(jù)庫管理方法中,主備數(shù)據(jù)庫的切換方式可以分為主動(dòng)切換和被動(dòng)切換兩種方式,具體說明如下:

作為一種示例,為了使得主數(shù)據(jù)庫能夠及時(shí)對(duì)鎖進(jìn)行更新,以及在主數(shù)據(jù)庫發(fā)生故障時(shí),其他備份數(shù)據(jù)庫能夠迅速獲取鎖,主數(shù)據(jù)庫可在鎖的更新周期內(nèi),以相對(duì)較短的周期發(fā)送查詢鎖的狀態(tài)請(qǐng)求,從而在鎖將要失效時(shí)及時(shí)對(duì)其更新,維持當(dāng)前的主數(shù)據(jù)庫的不變性。

同時(shí),備份數(shù)據(jù)庫以相對(duì)較長的周期主動(dòng)發(fā)送查詢鎖的狀態(tài)的鎖請(qǐng)求,從而在主數(shù)據(jù)庫的鎖失效時(shí),能夠迅速獲取鎖,進(jìn)而主動(dòng)切換成為新的主數(shù)據(jù)庫,不影響為用戶提供服務(wù)。

舉例而言,如果鎖的更新周期為t1,主數(shù)據(jù)庫以周期t2發(fā)送查詢鎖的狀態(tài)的鎖請(qǐng)求,備份數(shù)據(jù)庫以周期t3發(fā)送查詢鎖的狀態(tài)的鎖請(qǐng)求,其中,t2小于t1,t3大于或等于t1。

作為另一種示例,如果備份數(shù)據(jù)庫不是始終主動(dòng)以一定的周期,發(fā)送查詢鎖的狀態(tài)的鎖請(qǐng)求,則在主數(shù)據(jù)庫持有的鎖失效時(shí),主動(dòng)向其他備份數(shù)據(jù)庫發(fā)送鎖到期通知,以便備份數(shù)據(jù)庫根據(jù)鎖到期通知發(fā)送鎖請(qǐng)求,獲取鎖成為新的主數(shù)據(jù)庫。

具體而言,圖6是根據(jù)本申請(qǐng)一個(gè)具體實(shí)施例的鎖仲裁服務(wù)器的結(jié)構(gòu)示意圖,如圖6所示,在如圖5所示的基礎(chǔ)上,該鎖仲裁服務(wù)器還包括:第一發(fā)送模塊540和記錄模塊550。

具體而言,第一發(fā)送模塊在第一判斷模塊510判斷主數(shù)據(jù)庫所有的鎖已到期后,向備份數(shù)據(jù)庫發(fā)送鎖到期通知,進(jìn)而記錄模塊550接收備份數(shù)據(jù)根據(jù)鎖到期通知發(fā)送的鎖請(qǐng)求,并記錄鎖請(qǐng)求的接收時(shí)間。

進(jìn)而,如果未接收到主數(shù)據(jù)庫的續(xù)鎖請(qǐng)求,表明當(dāng)前的數(shù)據(jù)庫出現(xiàn)故障或在進(jìn)行升級(jí)維護(hù)等,因此為了盡快正常為用戶提供服務(wù),第一處理模塊530選擇接收時(shí)間最早的備份數(shù)據(jù)庫作為主數(shù)據(jù)庫。

綜上所述,本申請(qǐng)實(shí)施例的鎖仲裁服務(wù)器,在主數(shù)據(jù)庫的鎖到期失效時(shí),備份數(shù)據(jù)庫迅速獲取鎖成為新的主數(shù)據(jù)庫,保證在較短的時(shí)間內(nèi),繼續(xù)為用戶正常的提供服務(wù),提升了用戶體驗(yàn)。

在實(shí)際應(yīng)用中,出現(xiàn)故障的原主數(shù)據(jù)庫經(jīng)過維修、升級(jí)等相關(guān)操作后,可為用戶繼續(xù)提供服務(wù),因此本申請(qǐng)實(shí)施例的鎖仲裁服務(wù)器還用于,在原主數(shù)據(jù)庫恢復(fù)后,接收原主數(shù)據(jù)庫的鎖請(qǐng)求,以將其切換為主數(shù)據(jù)庫。

圖7是根據(jù)本申請(qǐng)另一個(gè)實(shí)施例的鎖仲裁服務(wù)器的結(jié)構(gòu)示意圖。如圖7所示,在如圖5所示的基礎(chǔ)上,該鎖仲裁服務(wù)器還包括:第一接收模塊560。具體而言,在本示例中,第一處理模塊530在從備份數(shù)據(jù)庫中選擇一個(gè)作為新的主數(shù)據(jù)庫之后,第一接收模塊560始終接收原主數(shù)據(jù)的鎖請(qǐng)求,在第一接收模塊560接收到原主數(shù)據(jù)庫的鎖請(qǐng)求后,由于原主數(shù)據(jù)庫的優(yōu)先級(jí)較高,第一處理模塊530將原主數(shù)據(jù)庫切換為主數(shù)據(jù)庫,將當(dāng)前主數(shù)據(jù)庫降級(jí)為備份數(shù)據(jù)庫。

作為一種實(shí)現(xiàn)方式,圖8是根據(jù)本申請(qǐng)又一個(gè)實(shí)施例的鎖仲裁服務(wù)器的結(jié)構(gòu)示意圖。如圖8所示,在如圖5所示的基礎(chǔ)上,該鎖仲裁服務(wù)器還包括:第二處理模塊570,第三處理模塊580和第四處理模塊590。

具體而言,在從備份數(shù)據(jù)庫中選擇一個(gè)作為新的主數(shù)據(jù)庫之后,第一判斷模塊510繼續(xù)判斷當(dāng)前主數(shù)據(jù)庫所持有的鎖是否到期,第二判斷模塊520在當(dāng)前主數(shù)據(jù)庫所持有的鎖已到期,則判斷是否收到原主數(shù)據(jù)庫、當(dāng)前主數(shù)據(jù)庫和其他備份數(shù)據(jù)庫的鎖請(qǐng)求。

如果接收到原主數(shù)據(jù)庫的鎖請(qǐng)求,第二處理模塊570則將原主數(shù)據(jù)庫恢復(fù)為主數(shù)據(jù)庫,將當(dāng)前數(shù)據(jù)庫恢復(fù)為備份數(shù)據(jù)庫。

具體而言,原主數(shù)據(jù)庫在恢復(fù)正常后,發(fā)送鎖請(qǐng)求,由于原主數(shù)據(jù)庫的優(yōu)先級(jí)較高,在接收到該鎖請(qǐng)求后,則將原主數(shù)據(jù)庫恢復(fù)為主數(shù)據(jù)庫,第二處理模塊570將當(dāng)前主數(shù)據(jù)庫恢復(fù)為備份數(shù)據(jù)庫。

如果未接收到原主數(shù)據(jù)庫的鎖請(qǐng)求,且接收到當(dāng)前主數(shù)據(jù)庫和其他備份數(shù)據(jù)庫的鎖請(qǐng)求,第三處理模塊580則保持當(dāng)前主數(shù)據(jù)庫作為主數(shù)據(jù)庫。

具體而言,在未接收到原主數(shù)據(jù)庫的鎖請(qǐng)求,且當(dāng)前主數(shù)據(jù)庫正常更新鎖,第三處理模塊580則繼續(xù)保持當(dāng)前主數(shù)據(jù)庫作為主數(shù)據(jù)庫。

如果未接收到原主數(shù)據(jù)庫和當(dāng)前主數(shù)據(jù)庫的鎖請(qǐng)求,且接收到其他備份數(shù)據(jù)庫的鎖請(qǐng)求,第四處理模塊590則從其他備份數(shù)據(jù)庫中選擇一個(gè)作為主數(shù)據(jù)庫,并將當(dāng)前主數(shù)據(jù)恢復(fù)為備份數(shù)據(jù)庫。

具體而言,如果未接收到原主數(shù)據(jù)庫和當(dāng)前主數(shù)據(jù)庫的鎖請(qǐng)求,則表明原主數(shù)據(jù)庫未回復(fù)正常,且當(dāng)前的主數(shù)據(jù)庫也出現(xiàn)故障或需要進(jìn)行升級(jí)操作等,因而為了為用戶正常提供服務(wù),第四處理模塊590需從發(fā)送鎖請(qǐng)求的其他備份數(shù)據(jù)庫中選擇一個(gè)作為主數(shù)據(jù)庫,并將當(dāng)前主數(shù)據(jù)恢復(fù)為備份數(shù)據(jù)庫。

需要說明的是,本申請(qǐng)鎖仲裁服務(wù)器中未披露的細(xì)節(jié),參考上述結(jié)合附圖1-4描述的主備數(shù)據(jù)庫的管理方法的實(shí)施例,在此不再贅述。

綜上所述,本申請(qǐng)實(shí)施例的鎖仲裁服務(wù)器,在從備份數(shù)據(jù)庫中選擇一個(gè)作為新的主數(shù)據(jù)庫后,繼續(xù)判斷當(dāng)前主數(shù)據(jù)庫是否接收到原主數(shù)據(jù)庫的鎖請(qǐng)求,以及當(dāng)前主數(shù)據(jù)庫是否進(jìn)行鎖的更新,當(dāng)接收到原主數(shù)據(jù)庫的鎖請(qǐng)求,則將原主數(shù)據(jù)庫恢復(fù)為當(dāng)前主數(shù)據(jù)庫,將當(dāng)前主數(shù)據(jù)庫恢復(fù)為備份數(shù)據(jù)庫,如果沒有接收到原主數(shù)據(jù)庫的鎖請(qǐng)求,則判斷前主數(shù)據(jù)庫是否有效進(jìn)行鎖的更新,如果沒有,則從其他備份數(shù)據(jù)庫中選擇一個(gè)作為主數(shù)據(jù)庫,并將當(dāng)前主數(shù)據(jù)恢復(fù)為備份數(shù)據(jù)庫。該鎖仲裁服務(wù)器保證了在原主數(shù)據(jù)庫恢復(fù)后,將其恢復(fù)為主數(shù)據(jù)庫,能夠更好的為用戶提供服務(wù),提高了本申請(qǐng)主備數(shù)據(jù)庫的管理方法的實(shí)用性。

為了實(shí)現(xiàn)上述實(shí)施例,本申請(qǐng)還提出了一種主數(shù)據(jù)庫服務(wù)器。

圖9是根據(jù)本申請(qǐng)一個(gè)實(shí)施例的主數(shù)據(jù)庫服務(wù)器的結(jié)構(gòu)示意圖,如圖9所示,該主數(shù)據(jù)庫服務(wù)器包括:

第二發(fā)送模塊910,用于在持有的鎖到期時(shí),向鎖仲裁服務(wù)器發(fā)送續(xù)鎖請(qǐng)求,以便鎖仲裁服務(wù)器未收到續(xù)鎖請(qǐng)求時(shí)從備份數(shù)據(jù)庫中選擇一個(gè)作為新的主數(shù)據(jù)庫。

切換模塊920,用于控制主數(shù)據(jù)庫切換為備份數(shù)據(jù)庫。

具體而言,在實(shí)際應(yīng)用中,為了保護(hù)主數(shù)據(jù)庫的不變,避免其在沒有發(fā)生故障或進(jìn)行升級(jí)維護(hù)等操作時(shí)被切換為備份數(shù)據(jù)庫,主數(shù)據(jù)庫的優(yōu)先級(jí)高于備份數(shù)據(jù)庫的優(yōu)先級(jí),以保證在主數(shù)據(jù)庫沒有發(fā)生故障或進(jìn)行升級(jí)維護(hù)等操作的前提下,持有鎖的數(shù)據(jù)庫是主數(shù)據(jù)庫。

需要說明的是,上述主備數(shù)據(jù)庫的部署方式有多種,比如可以是一主一備的部署方式,也可是一主多備的部署方式等。

為了便于描述,在本申請(qǐng)的實(shí)施例中,以主備數(shù)據(jù)庫的部署方式為兩地三中心為例進(jìn)行描述,即備份數(shù)據(jù)庫包括熱備數(shù)據(jù)庫和災(zāi)備數(shù)據(jù)庫,其中,主數(shù)據(jù)庫和熱備數(shù)據(jù)庫位于同一數(shù)據(jù)中心,主數(shù)據(jù)庫和災(zāi)備數(shù)據(jù)庫位于不同的數(shù)據(jù)中心。

具體而言,第二發(fā)送模塊910在持有的鎖到期時(shí),向鎖仲裁服務(wù)器發(fā)送鎖請(qǐng)求,如果鎖仲裁服務(wù)器未收到鎖請(qǐng)求,則表示當(dāng)前主數(shù)據(jù)庫在進(jìn)行升級(jí)更新或者故障等從而不能正常為用戶提供服務(wù)器,從而鎖仲裁服務(wù)器從備份數(shù)據(jù)庫中選擇一個(gè)作為新的主數(shù)據(jù)庫,以為用戶盡快提供正常服務(wù),同時(shí)切換模塊920控制主數(shù)據(jù)庫切換為備份數(shù)據(jù)庫。

其中,應(yīng)當(dāng)理解的是,為了使得主數(shù)據(jù)庫能夠及時(shí)對(duì)鎖進(jìn)行更新,以及在主數(shù)據(jù)庫發(fā)生故障時(shí),其他備份數(shù)據(jù)庫能夠迅速獲取鎖,主數(shù)據(jù)庫可在鎖的更新周期內(nèi),以相對(duì)較短的周期發(fā)送查詢鎖的狀態(tài)請(qǐng)求,從而在鎖將要失效時(shí)及時(shí)對(duì)其更新,維持當(dāng)前的主數(shù)據(jù)庫的不變性。

同時(shí),備份數(shù)據(jù)庫以相對(duì)較長的周期主動(dòng)發(fā)送查詢鎖的狀態(tài)的鎖請(qǐng)求,從而在主數(shù)據(jù)庫的鎖失效時(shí),能夠迅速獲取鎖,進(jìn)而主動(dòng)切換成為新的主數(shù)據(jù)庫,不影響為用戶提供服務(wù)。

舉例而言,如果鎖的更新周期為t1,主數(shù)據(jù)庫以周期t2發(fā)送查詢鎖的狀態(tài)的鎖請(qǐng)求,備份數(shù)據(jù)庫以周期t3發(fā)送查詢鎖的狀態(tài)的鎖請(qǐng)求,其中,t2小于t1,t3大于或等于t1。

綜上所述,根據(jù)本申請(qǐng)實(shí)施例的主數(shù)據(jù)服務(wù)器,在持有的鎖到期時(shí),向鎖仲裁服務(wù)器發(fā)送續(xù)鎖請(qǐng)求,以便鎖仲裁服務(wù)器未接收到續(xù)鎖請(qǐng)求時(shí),從備份數(shù)據(jù)庫中選擇一個(gè)作為新的數(shù)據(jù)庫,同時(shí)將主數(shù)據(jù)庫切換為備份數(shù)據(jù)庫。該主數(shù)據(jù)服務(wù)器在不能延展主數(shù)據(jù)庫持有鎖的有效期時(shí),將主數(shù)據(jù)庫切換為備份數(shù)據(jù)庫,并選擇一個(gè)備份數(shù)據(jù)成為新的主數(shù)據(jù)庫,提高了主備數(shù)據(jù)庫的切換速率和準(zhǔn)確率,保證了數(shù)據(jù)庫正常向用戶提供服務(wù),提升了用戶體驗(yàn)。

在實(shí)際應(yīng)用中,出現(xiàn)故障的原主數(shù)據(jù)庫經(jīng)過維修、升級(jí)等相關(guān)操作后,可為用戶繼續(xù)提供服務(wù),因此本申請(qǐng)實(shí)施例的主備數(shù)據(jù)庫服務(wù)器還用于,在原主數(shù)據(jù)庫恢復(fù)后,接收原主數(shù)據(jù)庫的鎖請(qǐng)求,以將其切換為主數(shù)據(jù)庫。

圖10是根據(jù)本申請(qǐng)一個(gè)具體實(shí)施例的主數(shù)據(jù)庫服務(wù)器的結(jié)構(gòu)示意圖,如圖10所示,在如圖9所示的基礎(chǔ)上,該主數(shù)據(jù)服務(wù)器還包括:第三發(fā)送模塊930。

具體而言,原主數(shù)據(jù)庫在恢復(fù)正常后,通過第三發(fā)送模塊930發(fā)送鎖請(qǐng)求,由于原主數(shù)據(jù)庫的優(yōu)先級(jí)較高,在接收到該鎖請(qǐng)求后,鎖仲裁服務(wù)器接收原主數(shù)據(jù)庫發(fā)送的鎖請(qǐng)求,并在鎖到期之后控制鎖由原主數(shù)據(jù)庫持有以使原主數(shù)據(jù)庫恢復(fù)為主數(shù)據(jù)庫,且當(dāng)前主數(shù)據(jù)庫恢復(fù)為備份數(shù)據(jù)庫。

其中,需要強(qiáng)調(diào)的是,本申請(qǐng)主數(shù)據(jù)庫服務(wù)器中未披露的細(xì)節(jié),參照上述結(jié)合圖1-圖4對(duì)主備數(shù)據(jù)庫的管理方法的描述,在此不再贅述。

綜上所述,本申請(qǐng)實(shí)施例的主備數(shù)據(jù)庫服務(wù)器,保證了在原主數(shù)據(jù)庫恢復(fù)后,將其恢復(fù)為主數(shù)據(jù)庫,能夠更好的為用戶提供服務(wù),提升了用戶體驗(yàn)。

為了實(shí)現(xiàn)上述實(shí)施例,本申請(qǐng)還提出了一種備份數(shù)據(jù)庫服務(wù)器。圖11是根據(jù)本申請(qǐng)一個(gè)實(shí)施例的備份數(shù)據(jù)庫的結(jié)構(gòu)示意圖,如圖11所示,該備份數(shù)據(jù)庫包括:

第四發(fā)送模塊1010,用于向鎖仲裁服務(wù)器發(fā)送鎖請(qǐng)求。

第二接收模塊1020,用于接收鎖仲裁服務(wù)器發(fā)送的鎖確認(rèn)消息。

第五處理模塊1030,用于根據(jù)鎖確認(rèn)消息切換為新的主數(shù)據(jù)庫。

可以理解,在實(shí)際應(yīng)用中,為了保護(hù)主數(shù)據(jù)庫的不變,避免其在沒有發(fā)生故障或進(jìn)行升級(jí)維護(hù)等操作時(shí)被切換為備份數(shù)據(jù)庫,主數(shù)據(jù)庫的優(yōu)先級(jí)高于備份數(shù)據(jù)庫的優(yōu)先級(jí),以保證在主數(shù)據(jù)庫沒有發(fā)生故障或進(jìn)行升級(jí)維護(hù)等操作的前提下,持有鎖的數(shù)據(jù)庫是主數(shù)據(jù)庫。然而當(dāng)主數(shù)據(jù)庫不能有效延展其持有鎖的有效期時(shí),鎖仲裁服務(wù)器需要從備份數(shù)據(jù)庫中選擇一個(gè)作為主數(shù)據(jù)庫繼續(xù)為用戶提供服務(wù)。

具體地,第四發(fā)送模塊1010向鎖仲裁服務(wù)器發(fā)送鎖請(qǐng)求,以便于在主數(shù)據(jù)庫不能有效更新鎖時(shí),迅速搶到鎖,第二接收模塊1020接收鎖仲裁服務(wù)器發(fā)送的鎖確認(rèn)消息,從而第五處理模塊1030根據(jù)鎖的確認(rèn)消息切換為主數(shù)據(jù)庫。

需要說明的是,上述主備數(shù)據(jù)庫的部署方式有多種,比如可以是一主一備的部署方式,也可是一主多備的部署方式等。

為了便于描述,在本申請(qǐng)的實(shí)施例中,以主備數(shù)據(jù)庫的部署方式為兩地三中心為例進(jìn)行描述,即備份數(shù)據(jù)庫包括熱備數(shù)據(jù)庫和災(zāi)備數(shù)據(jù)庫,其中,主數(shù)據(jù)庫和熱備數(shù)據(jù)庫位于同一數(shù)據(jù)中心,主數(shù)據(jù)庫和災(zāi)備數(shù)據(jù)庫位于不同的數(shù)據(jù)中心。

綜上所述,本申請(qǐng)實(shí)施例的備份數(shù)據(jù)庫服務(wù)器,向鎖仲裁服務(wù)器發(fā)送鎖請(qǐng)求,在判斷主數(shù)據(jù)庫持有的鎖失效,不能正常為用戶提供服務(wù)時(shí),切換為新的主數(shù)據(jù)庫,提高了主備數(shù)據(jù)庫的切換速率和準(zhǔn)確率,保證為用戶正常提供服務(wù),提升了用戶體驗(yàn)。

基于以上實(shí)施例,如果備份數(shù)據(jù)庫服務(wù)器不是始終主動(dòng)以一定的周期,發(fā)送查詢鎖的狀態(tài)的鎖請(qǐng)求,則在主數(shù)據(jù)庫持有的鎖失效時(shí),主動(dòng)向其他備份數(shù)據(jù)庫發(fā)送鎖到期通知,以便備份數(shù)據(jù)庫服務(wù)器根據(jù)鎖到期通知發(fā)送鎖請(qǐng)求,獲取鎖成為新的主數(shù)據(jù)庫。

具體而言,圖12是根據(jù)本申請(qǐng)一個(gè)具體實(shí)施例的備份數(shù)據(jù)庫服務(wù)器的結(jié)構(gòu)示意圖,如圖12所示,在如圖11所示的基礎(chǔ)上,該備份數(shù)據(jù)庫服務(wù)器包括:第三接收模塊1040。

具體地,第三接收模塊1040接收鎖仲裁服務(wù)器判斷主數(shù)據(jù)庫所持有的鎖已到期之后發(fā)送的鎖到期通知,其中,第四發(fā)送模塊1010根據(jù)鎖到期通知發(fā)送的鎖請(qǐng)求向鎖仲裁服務(wù)器發(fā)送鎖請(qǐng)求。

進(jìn)而,如果在鎖到期時(shí),所仲裁服務(wù)器未接收到主數(shù)據(jù)庫的續(xù)鎖請(qǐng)求,表明當(dāng)前的數(shù)據(jù)庫出現(xiàn)故障或在進(jìn)行升級(jí)維護(hù)等,因此為了盡快正常為用戶提供服務(wù),鎖仲裁服務(wù)器選擇接收時(shí)間最早的備份數(shù)據(jù)庫作為主數(shù)據(jù)庫。

綜上所述,本申請(qǐng)實(shí)施例的備份數(shù)據(jù)庫服務(wù)器,在主數(shù)據(jù)庫的鎖到期失效時(shí),備份數(shù)據(jù)庫迅速獲取鎖成為新的主數(shù)據(jù)庫,保證在較短的時(shí)間內(nèi),繼續(xù)為用戶正常的提供服務(wù),提升了用戶體驗(yàn)。

在實(shí)際應(yīng)用中,出現(xiàn)故障的原主數(shù)據(jù)庫經(jīng)過維修、升級(jí)等相關(guān)操作后,可為用戶繼續(xù)提供服務(wù),因此本申請(qǐng)實(shí)施例的備份數(shù)據(jù)服務(wù)器還用于,在原主數(shù)據(jù)庫恢復(fù)后,切換為備份數(shù)據(jù)庫。

圖13是根據(jù)本申請(qǐng)另一個(gè)實(shí)施例的備份數(shù)據(jù)庫服務(wù)器的結(jié)構(gòu)示意圖,如圖13所示,在如圖11所示的基礎(chǔ)上,該備份數(shù)據(jù)庫服務(wù)器包括:第六處理模塊1050。

具體而言,原主數(shù)據(jù)庫在恢復(fù)正常后,發(fā)送鎖請(qǐng)求,由于原主數(shù)據(jù)庫的優(yōu)先級(jí)較高,鎖仲裁服務(wù)器在接收到該鎖請(qǐng)求后,則將原主數(shù)據(jù)庫恢復(fù)為主數(shù)據(jù)庫,第六處理模塊1050則將當(dāng)前主數(shù)據(jù)庫恢復(fù)為備份數(shù)據(jù)庫。

應(yīng)當(dāng)理解的是,本申請(qǐng)實(shí)施例的備份數(shù)據(jù)庫服務(wù)器中未披露的細(xì)節(jié),參照以上結(jié)合圖1-圖4描述的主備數(shù)據(jù)庫的管理方法的實(shí)施例,在此不再贅述。

綜上所述,本申請(qǐng)實(shí)施例的備份數(shù)據(jù)庫服務(wù)器,在原主數(shù)據(jù)庫恢復(fù)后,將其恢復(fù)為備份數(shù)據(jù)庫,并且仲裁服務(wù)器將原主數(shù)據(jù)庫恢復(fù)為主數(shù)據(jù)庫,能夠更好的為用戶提供服務(wù),提升了用戶體驗(yàn)。

為了實(shí)現(xiàn)上述實(shí)施例,本申請(qǐng)還提出了一種主備數(shù)據(jù)庫的管理系統(tǒng),圖14是根據(jù)本申請(qǐng)一個(gè)實(shí)施例的主備數(shù)據(jù)庫的管理系統(tǒng)的結(jié)構(gòu)示意圖,如圖14所示,該主備數(shù)據(jù)庫的管理系統(tǒng)包括:鎖仲裁服務(wù)器1000,主數(shù)據(jù)庫服務(wù)器2000和備份數(shù)據(jù)庫服務(wù)器3000。

需要說明的是,本申請(qǐng)中對(duì)鎖仲裁服務(wù)器1000,主數(shù)據(jù)庫服務(wù)器2000和備份數(shù)據(jù)庫服務(wù)器3000的描述,參照上述對(duì)鎖仲裁服務(wù)器,主數(shù)據(jù)庫服務(wù)器和備份數(shù)據(jù)庫服務(wù)器的描述,在此不再贅述。

綜上所述,本申請(qǐng)實(shí)施例的主備數(shù)據(jù)庫的管理系統(tǒng),判斷主數(shù)據(jù)庫所持有的鎖是否到期,如果判斷主數(shù)據(jù)庫持有的鎖已經(jīng)到期,則判斷是否接收到主數(shù)據(jù)庫的續(xù)鎖請(qǐng)求,如果沒有接收到續(xù)鎖請(qǐng)求,則從備份數(shù)據(jù)庫中選擇一個(gè)新的主數(shù)據(jù)庫,并控制主數(shù)據(jù)庫切換為備份數(shù)據(jù)庫。該系統(tǒng)在主數(shù)據(jù)庫在其持有的鎖到期之前,沒有發(fā)送續(xù)鎖請(qǐng)求,則判斷主數(shù)據(jù)庫持有的鎖失效,不能正常為用戶提供服務(wù),從而選擇一個(gè)備份數(shù)據(jù)成為新的主數(shù)據(jù)庫,提高了主備數(shù)據(jù)庫的切換速率和準(zhǔn)確率。

此外,術(shù)語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對(duì)重要性或者隱含指明所指示的技術(shù)特征的數(shù)量。由此,限定有“第一”、“第二”的特征可以明示或者隱含地包括至少一個(gè)該特征。在本申請(qǐng)的描述中,“多個(gè)”的含義是至少兩個(gè),例如兩個(gè),三個(gè)等,除非另有明確具體的限定。

在本說明書的描述中,參考術(shù)語“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本申請(qǐng)的至少一個(gè)實(shí)施例或示例中。在本說明書中,對(duì)上述術(shù)語的示意性表述不必須針對(duì)的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。此外,在不相互矛盾的情況下,本領(lǐng)域的技術(shù)人員可以將本說明書中描述的不同實(shí)施例或示例以及不同實(shí)施例或示例的特征進(jìn)行結(jié)合和組合。

盡管上面已經(jīng)示出和描述了本申請(qǐng)的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對(duì)本申請(qǐng)的限制,本領(lǐng)域的普通技術(shù)人員在本申請(qǐng)的范圍內(nèi)可以對(duì)上述實(shí)施例進(jìn)行變化、修改、替換和變型。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1