一種數(shù)據(jù)庫集群重建連接高可用的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)庫集群的訪問技術(shù),尤其涉及一種數(shù)據(jù)庫集群重建連接高可用的方法。
【背景技術(shù)】
[0002]隨著信息化技術(shù)的快速發(fā)展,一個企業(yè)的用戶數(shù)量、數(shù)據(jù)量均呈現(xiàn)爆炸式增長,在業(yè)務(wù)量提高的同時,數(shù)據(jù)庫的訪問量和數(shù)據(jù)量快速增長對數(shù)據(jù)庫處理能力和計算強(qiáng)度也相應(yīng)增大,使得單一節(jié)點數(shù)據(jù)庫根本無法承擔(dān)。在這樣一個背景下,大型分布式數(shù)據(jù)庫集群產(chǎn)生了,所謂數(shù)據(jù)庫集群,是指利用兩臺或多臺數(shù)據(jù)庫服務(wù),構(gòu)成一個虛擬單一數(shù)據(jù)庫邏輯映像,像單數(shù)據(jù)庫那樣,向客戶端提供透明的數(shù)據(jù)服務(wù)。
[0003]目前,有兩種主流的數(shù)據(jù)庫集群架構(gòu),帶中心節(jié)點的集群架構(gòu)和不帶中心節(jié)點的MPP架構(gòu)。帶中心節(jié)點的集群架構(gòu),所有應(yīng)用系統(tǒng)從中心節(jié)點接入數(shù)據(jù)庫集群,并獲得數(shù)據(jù)庫集群提供的服務(wù);不帶中心節(jié)點的MPP架構(gòu),每個集群節(jié)點均可提供接入服務(wù),應(yīng)用系統(tǒng)可以從任意集群節(jié)點接入數(shù)據(jù)庫集群,并獲得一致的據(jù)庫集群服務(wù)。對于不帶中心節(jié)點的MPP架構(gòu)的數(shù)據(jù)庫集群,雖然應(yīng)用系統(tǒng)可以從任意集群節(jié)點接入數(shù)據(jù)庫集群,但是當(dāng)應(yīng)用系統(tǒng)基于現(xiàn)有的數(shù)據(jù)庫接口驅(qū)動與某個集群節(jié)點重建連接時,如果該集群節(jié)點宕機(jī)不能提供服務(wù),那么就必須由操作者選擇其他的集群節(jié)點與應(yīng)用系統(tǒng)重建連接。在這種情況下,如果無人值守,那么雖然數(shù)據(jù)庫集群是可用的,但應(yīng)用系統(tǒng)無法通過一個不能提供服務(wù)的集群節(jié)點訪問數(shù)據(jù)庫集群,造成使用上的不便。
【發(fā)明內(nèi)容】
[0004]本發(fā)明提供的一種數(shù)據(jù)庫集群重建連接高可用的方法,通過在數(shù)據(jù)庫集群中新增會話保持實體,并結(jié)合數(shù)據(jù)庫接口驅(qū)動,實現(xiàn)連接高可用,在數(shù)據(jù)庫集群可用的情況下,確保應(yīng)用系統(tǒng)在連接斷開后能夠重新建立到數(shù)據(jù)庫集群的連接,且業(yè)務(wù)不被中斷。采用本發(fā)明中的方法,提高了數(shù)據(jù)庫集群高可用性,保證應(yīng)用系統(tǒng)的業(yè)務(wù)連續(xù)性。
[0005]本發(fā)明實施例提供了一種數(shù)據(jù)庫集群重建連接高可用的方法,包括:
[0006]應(yīng)用系統(tǒng)通過數(shù)據(jù)庫集群中的一個集群節(jié)點與數(shù)據(jù)庫集群建立連接,向數(shù)據(jù)庫集群發(fā)送業(yè)務(wù)請求;
[0007]數(shù)據(jù)庫集群在會話保持實體中記錄應(yīng)用系統(tǒng)的業(yè)務(wù)請求;
[0008]如果應(yīng)用系統(tǒng)連接的集群節(jié)點停止服務(wù),應(yīng)用系統(tǒng)與集群節(jié)點間的連接中斷;
[0009]應(yīng)用系統(tǒng)重新向數(shù)據(jù)庫集群建立連接;
[0010]數(shù)據(jù)庫集群通過會話保持實體獲取到該應(yīng)用系統(tǒng)連接中斷之前的業(yè)務(wù)請求,將其關(guān)聯(lián)到應(yīng)用系統(tǒng)當(dāng)前的連接,本次重建連接完成。
[0011 ]本發(fā)明具有的優(yōu)點和積極效果是:
[0012]1、重建連接高可用:應(yīng)用系統(tǒng)與數(shù)據(jù)庫集群的連接中斷時,可以通過數(shù)據(jù)庫接口驅(qū)動獲取其他的集群節(jié)點IP地址,然后重新建立到集群的連接,在集群可用的情況下,可以繼續(xù)訪問到集群提供的服務(wù);
[0013]2、保持業(yè)務(wù)連續(xù)性:應(yīng)用系統(tǒng)不僅重新建立了到數(shù)據(jù)庫集群的連接,同時在數(shù)據(jù)庫集群的會話保持實體的作用下,可以繼續(xù)執(zhí)行連接斷開之前的業(yè)務(wù),從而避免了因為連接中斷而造成正在執(zhí)行的業(yè)務(wù)失敗,保證了應(yīng)用系統(tǒng)的業(yè)務(wù)連續(xù)性,提高客戶體驗;
[0014]3、提高數(shù)據(jù)庫重建連接的易用性:只需要在接口驅(qū)動的配置中寫入多個集群節(jié)點IP以及相應(yīng)的策略,就可以使得應(yīng)用系統(tǒng)即使在出現(xiàn)連接中斷的情況下,也能輕松訪問多個集群節(jié)點組成的數(shù)據(jù)庫集群。
【附圖說明】
[0015]圖1是本發(fā)明的實施例一提供的一種數(shù)據(jù)庫集群重建連接高可用的方法的流程圖;
[0016]圖2是本發(fā)明的實施例一提供的一種數(shù)據(jù)庫集群重建連接高可用的方法中應(yīng)用系統(tǒng)重新建立到數(shù)據(jù)庫集群的流程圖;
[0017]圖3是本發(fā)明的實施例一提供的一種數(shù)據(jù)庫集群重建連接高可用的系統(tǒng)的結(jié)構(gòu)框圖。
【具體實施方式】
[0018]下面結(jié)合附圖和實施例對本發(fā)明作進(jìn)一步的詳細(xì)說明??梢岳斫獾氖?,此處所描述的具體實施例僅僅用于解釋本發(fā)明,而非對本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部結(jié)構(gòu)。
[0019]實施例一
[0020]圖1為本發(fā)明實施例一提供的數(shù)據(jù)庫集群重建連接高可用的方法的流程圖,所述的方法通過數(shù)據(jù)庫集群重建連接高可用的系統(tǒng)來執(zhí)行,其中該裝置通過軟件和/或硬件來實現(xiàn),可作為服務(wù)器的一部分置于服務(wù)器中,
[0021]如圖3所示,所述系統(tǒng)包括:
[0022]數(shù)據(jù)庫集群,該數(shù)據(jù)庫集群至少包括兩個集群節(jié)點;
[0023]應(yīng)用系統(tǒng),用于調(diào)用數(shù)據(jù)庫接口驅(qū)動,向數(shù)據(jù)庫集群發(fā)起建立連接請求,并向數(shù)據(jù)庫集群發(fā)送業(yè)務(wù)請求;
[0024]數(shù)據(jù)庫接口驅(qū)動,用于獲取及選擇數(shù)據(jù)庫集群中集群節(jié)點的IP地址,并向選擇的IP地址發(fā)起建立連接請求,同時判斷該建立連接是否成功;
[0025]會話保持實體,用于記錄和保存業(yè)務(wù)請求信息與應(yīng)用ID關(guān)聯(lián)信息。
[0026]如圖1所示,所述的方法包括:
[0027]S101:應(yīng)用系統(tǒng)通過數(shù)據(jù)庫接口驅(qū)動向數(shù)據(jù)庫集群建立連接;
[0028]S102:應(yīng)用系統(tǒng)向數(shù)據(jù)庫集群請求注冊應(yīng)用ID,該應(yīng)用ID唯一標(biāo)識該應(yīng)用;
[0029]S103:數(shù)據(jù)庫集群在會話保持實體中保存該應(yīng)用ID,保存成功后向應(yīng)用系統(tǒng)發(fā)送響應(yīng)消息;
[0030]S104:數(shù)據(jù)庫集群在會話保持實體中記錄應(yīng)用系統(tǒng)的業(yè)務(wù)請求;
[0031]S105:如果應(yīng)用系統(tǒng)連接的集群節(jié)點停止服務(wù),應(yīng)用系統(tǒng)與集群節(jié)點間的連接中斷;
[0032]S106:應(yīng)用系統(tǒng)重新向數(shù)據(jù)庫集群建立連接;
[0033]S107:應(yīng)用系統(tǒng)重新向數(shù)據(jù)庫集群發(fā)起注冊應(yīng)用ID請求;
[0034]S108:數(shù)據(jù)庫集群接收到應(yīng)用系統(tǒng)的注冊應(yīng)用ID請求,在會話保持實體中重新注冊應(yīng)用ID,并通過會話保持實體中的記錄信息獲取應(yīng)用ID連接中斷前的相關(guān)業(yè)務(wù)請求信息,重新建立與該應(yīng)用ID的關(guān)聯(lián);
[0035]S109:應(yīng)用系統(tǒng)繼續(xù)中斷連接前的業(yè)務(wù),本次重建連接完成。
[0036]進(jìn)一步,數(shù)據(jù)庫集群在會話保持實體中記錄應(yīng)用系統(tǒng)的業(yè)務(wù)請求,包含:數(shù)據(jù)集群接收到應(yīng)用系統(tǒng)發(fā)起的業(yè)務(wù)請求后,將該業(yè)務(wù)請求信息與應(yīng)用ID