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

一種集群實(shí)例多數(shù)據(jù)源綁定的故障轉(zhuǎn)移方法

文檔序號(hào):8472863閱讀:545來(lái)源:國(guó)知局
一種集群實(shí)例多數(shù)據(jù)源綁定的故障轉(zhuǎn)移方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種多數(shù)據(jù)源故障轉(zhuǎn)移的方法,尤其涉及一種集群實(shí)例多數(shù)據(jù)源綁定 的故障轉(zhuǎn)移方法。
【背景技術(shù)】
[0002] WebLogicServer為多數(shù)據(jù)源提供了故障轉(zhuǎn)移算法,以便在數(shù)據(jù)源故障時(shí)(例如, 在數(shù)據(jù)庫(kù)管理系統(tǒng)崩潰時(shí)),系統(tǒng)可繼續(xù)運(yùn)行。一個(gè)多數(shù)據(jù)源可被視為一組數(shù)據(jù)源。多數(shù) 據(jù)源最適用于具有高可用性的數(shù)據(jù)庫(kù)系統(tǒng)(如冗余數(shù)據(jù)庫(kù)或OracleRealApplication Clusters,簡(jiǎn)稱RAC)的節(jié)點(diǎn)之間的故障轉(zhuǎn)移或負(fù)載平衡。故障轉(zhuǎn)移算法提供了一個(gè)用于滿 足連接請(qǐng)求的數(shù)據(jù)源的有序列表。通常情況下,每一個(gè)對(duì)這種類型的多數(shù)據(jù)源發(fā)出的連接 請(qǐng)求都由該列表中的第一個(gè)數(shù)據(jù)源提供服務(wù)。如果某個(gè)數(shù)據(jù)源連接未能通過(guò)測(cè)試,并且該 連接無(wú)法被替換,或者如果該數(shù)據(jù)源已掛起,則會(huì)從該列表中的下一個(gè)數(shù)據(jù)源開(kāi)始,按順序 查找連接。但是,在某些發(fā)生了故障的情況下,當(dāng)未正在使用多數(shù)據(jù)源時(shí),發(fā)生在某個(gè)RAC 實(shí)例(該實(shí)例不是在其上啟動(dòng)了某個(gè)事務(wù)的實(shí)例)上的事務(wù)處理(數(shù)據(jù)更改)將會(huì)丟失, 而不會(huì)發(fā)出任何通知或引發(fā)任何異常。在下列情況下,某些數(shù)據(jù)更改將會(huì)丟失:
[0003]l、server2和RACl之間的網(wǎng)絡(luò)連接已丟失,這導(dǎo)致了server2上cpl中的數(shù)據(jù)庫(kù) 連接故障轉(zhuǎn)移到RAC2。serverl上的相同數(shù)據(jù)源仍然具有與RACl的連接。
[0004] 2、在serverl上,某個(gè)應(yīng)用程序啟動(dòng)了一個(gè)事務(wù)并使用來(lái)自cpl的連接(與RACl 的連接)進(jìn)行數(shù)據(jù)更改。
[0005] 3、該應(yīng)用程序調(diào)用了server2上的某個(gè)EJB,該EJB使用了server2上cpl中的某 個(gè)數(shù)據(jù)庫(kù)連接(與RAC2的連接)進(jìn)行數(shù)據(jù)更改。
[0006] 4、該應(yīng)用程序在serverl上完成了該事務(wù)。
[0007] 結(jié)果如下:RACl上的數(shù)據(jù)更改被提交。RAC2上的數(shù)據(jù)更改被忽略。WebLogicServer事務(wù)管理器會(huì)調(diào)用資源上的準(zhǔn)備和提交。在此情況下,由于各數(shù)據(jù)源具有相同名稱, 因此,它們被視為同一個(gè)資源,這樣,就只會(huì)在該數(shù)據(jù)源的一個(gè)實(shí)例上進(jìn)行調(diào)用。由于各數(shù) 據(jù)源包含與不同RAC實(shí)例的連接,因此,一個(gè)RAC實(shí)例上數(shù)據(jù)更改會(huì)被提交,但其他RAC實(shí) 例上的更改都會(huì)丟失。
[0008] 針對(duì)這種情況,一定要確保提供WebLogicServer實(shí)例和OracleRAC之間的冗余 網(wǎng)絡(luò)硬件可避免網(wǎng)絡(luò)故障,但是網(wǎng)絡(luò)故障是不可控的。雖然使用了多數(shù)據(jù)源和RAC來(lái)確保 數(shù)據(jù)庫(kù)單節(jié)點(diǎn)異常時(shí)可以故障轉(zhuǎn)移,但是如果出現(xiàn)網(wǎng)絡(luò)故障,這種故障轉(zhuǎn)移將會(huì)失效,并導(dǎo) 致數(shù)據(jù)丟失,影響業(yè)務(wù)。

【發(fā)明內(nèi)容】

[0009] 本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種集群實(shí)例多數(shù)據(jù)源綁定的故障轉(zhuǎn)移方法, 能夠確保集群里的應(yīng)用實(shí)例連接在RAC數(shù)據(jù)庫(kù)的同一節(jié)點(diǎn)上,避免因網(wǎng)絡(luò)故障導(dǎo)致集群結(jié) 構(gòu)里的實(shí)例對(duì)同一數(shù)據(jù)源連接在不同的RAC數(shù)據(jù)庫(kù)節(jié)點(diǎn)上,最終導(dǎo)致其他RAC實(shí)例上的更 改都丟失。
[0010] 本發(fā)明為解決上述技術(shù)問(wèn)題而采用的技術(shù)方案是提供一種集群實(shí)例多數(shù)據(jù)源綁 定的故障轉(zhuǎn)移方法,包括如下步驟:a)將同一應(yīng)用程序分布部署在多個(gè)集群服務(wù)器上,并 為該應(yīng)用程序的所有集群實(shí)例至少配置連接兩個(gè)數(shù)據(jù)庫(kù)實(shí)例;b)定時(shí)探測(cè)所有集群實(shí)例 與當(dāng)前數(shù)據(jù)庫(kù)實(shí)例之間的網(wǎng)絡(luò)連接狀態(tài);c)如果某一集群實(shí)例與當(dāng)前數(shù)據(jù)庫(kù)實(shí)例網(wǎng)絡(luò)斷 連,則確認(rèn)該集群實(shí)例與下一數(shù)據(jù)庫(kù)實(shí)例之間的連接是否正常;d)如果連接正常則自動(dòng)轉(zhuǎn) 移連接到下一數(shù)據(jù)庫(kù)實(shí)例上,并強(qiáng)制集群內(nèi)所有其他實(shí)例轉(zhuǎn)移連接到下一數(shù)據(jù)庫(kù)實(shí)例上。
[0011] 上述的集群實(shí)例多數(shù)據(jù)源綁定的故障轉(zhuǎn)移方法,其中,所述步驟a)中的數(shù)據(jù)庫(kù)實(shí) 例為OracleRAC,所述數(shù)據(jù)庫(kù)實(shí)例的數(shù)目為兩個(gè),其中,一個(gè)數(shù)據(jù)庫(kù)實(shí)例作為當(dāng)前工作數(shù)據(jù) 庫(kù)節(jié)點(diǎn),另一數(shù)據(jù)庫(kù)實(shí)例作為備用數(shù)據(jù)庫(kù)節(jié)點(diǎn),所述兩個(gè)數(shù)據(jù)庫(kù)實(shí)例通過(guò)共享存儲(chǔ)連接至 同一數(shù)據(jù)庫(kù)。
[0012] 上述的集群實(shí)例多數(shù)據(jù)源綁定的故障轉(zhuǎn)移方法,其中,所述步驟b)中定時(shí)記錄所 有集群實(shí)例與所有數(shù)據(jù)庫(kù)實(shí)例之間的網(wǎng)絡(luò)連接狀態(tài),并將狀態(tài)存入數(shù)據(jù)庫(kù)中記錄,每一記 錄包括集群實(shí)例、數(shù)據(jù)源、數(shù)據(jù)庫(kù)實(shí)例、故障轉(zhuǎn)移標(biāo)識(shí)以及轉(zhuǎn)移成功標(biāo)識(shí);當(dāng)出現(xiàn)某一集群 實(shí)例與當(dāng)前數(shù)據(jù)庫(kù)實(shí)例網(wǎng)絡(luò)斷連,所述步驟c)設(shè)置故障轉(zhuǎn)移標(biāo)識(shí)為T(mén)RUE,并拋出異常信息 通知集群內(nèi)其他實(shí)例,當(dāng)該集群實(shí)例轉(zhuǎn)移連接到下一數(shù)據(jù)庫(kù)實(shí)例后,所述步驟d)設(shè)置轉(zhuǎn)移 成功標(biāo)識(shí)為T(mén)RUE,確認(rèn)集群中的其他實(shí)例進(jìn)行故障轉(zhuǎn)移。
[0013] 上述的集群實(shí)例多數(shù)據(jù)源綁定的故障轉(zhuǎn)移方法,其中,所述步驟b)通過(guò)判斷集群 實(shí)例所在服務(wù)器與數(shù)據(jù)庫(kù)實(shí)例所在服務(wù)器之間的物理連接狀態(tài)來(lái)確認(rèn)集群實(shí)例與數(shù)據(jù)庫(kù) 實(shí)例的連接狀態(tài);所述步驟c)通過(guò)發(fā)送測(cè)試SQL語(yǔ)句,測(cè)試該集群實(shí)例與下一數(shù)據(jù)庫(kù)實(shí)例 之間的連接是否正常,若SQL測(cè)試正常則設(shè)置轉(zhuǎn)移成功標(biāo)識(shí)為T(mén)RUE。
[0014] 上述的集群實(shí)例多數(shù)據(jù)源綁定的故障轉(zhuǎn)移方法,其中,所述步驟d)通過(guò)向集群中 的其他實(shí)例發(fā)送網(wǎng)絡(luò)故障的假信號(hào),讓其他實(shí)例主動(dòng)關(guān)閉與當(dāng)前數(shù)據(jù)庫(kù)實(shí)例的連接,并全 部轉(zhuǎn)移連接到下一數(shù)據(jù)庫(kù)實(shí)例上;所述步驟d)收到該集群實(shí)例與當(dāng)前數(shù)據(jù)庫(kù)實(shí)例的斷連 信息后,接著通過(guò)判斷物理連接,確認(rèn)該集群實(shí)例已經(jīng)成功轉(zhuǎn)移連接到下一數(shù)據(jù)庫(kù)實(shí)例后, 再?gòu)?qiáng)制斷開(kāi)集群中所有其他實(shí)例與當(dāng)前數(shù)據(jù)庫(kù)實(shí)例的連接,使得所有集群實(shí)例都轉(zhuǎn)移連接 到在下一數(shù)據(jù)庫(kù)實(shí)例上。
[0015] 本發(fā)明對(duì)比現(xiàn)有技術(shù)有如下的有益效果:本發(fā)明提供的集群實(shí)例多數(shù)據(jù)源綁定的 故障轉(zhuǎn)移方法,在發(fā)生單集群實(shí)例與數(shù)據(jù)庫(kù)節(jié)點(diǎn)網(wǎng)絡(luò)故障時(shí),能夠讓集群所有實(shí)例連接在 同一個(gè)節(jié)點(diǎn)上,確保所有實(shí)例的數(shù)據(jù)庫(kù)操作都能正常提交,避免數(shù)據(jù)丟失。
【附圖說(shuō)明】
[0016] 圖1為本發(fā)明使用的集群實(shí)例多數(shù)據(jù)源連接結(jié)構(gòu)示意圖;
[0017] 圖2為集群實(shí)例多數(shù)據(jù)源故障轉(zhuǎn)移數(shù)據(jù)丟失示意圖;
[0018] 圖3為本發(fā)明集群實(shí)例多數(shù)據(jù)源綁定的故障轉(zhuǎn)移流程示意圖;
[0019] 圖4為本發(fā)明集群實(shí)例多數(shù)據(jù)源綁定故障轉(zhuǎn)移示意圖。
【具體實(shí)施方式】
[0020] 下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步的描述。
[0021] 圖1
當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1