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