一種通過(guò)第三方數(shù)據(jù)庫(kù)控制系統(tǒng)切換的方法及系統(tǒng)的制作方法
【專(zhuān)利摘要】本發(fā)明涉及一種通過(guò)第三方數(shù)據(jù)庫(kù)控制系統(tǒng)切換的方法,包括步驟1:調(diào)用主機(jī)地址,獲得數(shù)據(jù)庫(kù)狀態(tài)信息;步驟2:對(duì)數(shù)據(jù)庫(kù)設(shè)置數(shù)據(jù)庫(kù)標(biāo)簽,建立對(duì)應(yīng)數(shù)據(jù)庫(kù)標(biāo)簽的服務(wù);步驟3:將連接關(guān)系和數(shù)據(jù)庫(kù)標(biāo)簽存入共享內(nèi)存中;步驟4:調(diào)用一個(gè)服務(wù);步驟5:判斷調(diào)用的服務(wù)是否是長(zhǎng)連接,如果是,執(zhí)行步驟6;否則,執(zhí)行步驟8;步驟6:判斷當(dāng)前數(shù)據(jù)庫(kù)標(biāo)簽與共享內(nèi)存中的數(shù)據(jù)庫(kù)標(biāo)簽是否一致,如果是,完成連接,結(jié)束;否則,執(zhí)行步驟7;步驟7:關(guān)閉當(dāng)前數(shù)據(jù)庫(kù);步驟8:按照當(dāng)前服務(wù)對(duì)應(yīng)的數(shù)據(jù)庫(kù)標(biāo)簽打開(kāi)對(duì)應(yīng)的數(shù)據(jù)庫(kù),結(jié)束。本發(fā)明可實(shí)現(xiàn)系統(tǒng)間接入層、業(yè)務(wù)層、數(shù)據(jù)層的隨時(shí)切換,配置靈活,方便控制,同時(shí)還保證業(yè)務(wù)持續(xù)性,提高系統(tǒng)切換及時(shí)率。
【專(zhuān)利說(shuō)明】一種通過(guò)第三方數(shù)據(jù)庫(kù)控制系統(tǒng)切換的方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)庫(kù)切換的方法及系統(tǒng),尤其涉及一種通過(guò)第三方數(shù)據(jù)庫(kù)控制系統(tǒng)切換的方法及系統(tǒng),屬于通信【技術(shù)領(lǐng)域】。
【背景技術(shù)】
[0002]應(yīng)急系統(tǒng)改造項(xiàng)目中,要求系統(tǒng)登錄支持多庫(kù)單點(diǎn)登陸。
[0003]目前,移動(dòng)BOSS系統(tǒng)登陸支持指定數(shù)據(jù)庫(kù)的登陸,但是個(gè)別系統(tǒng)突發(fā)故障,會(huì)導(dǎo)致操作人員無(wú)法登陸系統(tǒng),看不到系統(tǒng)公告而不知所措。
【發(fā)明內(nèi)容】
[0004]本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種將系統(tǒng)登陸改造為多庫(kù)單點(diǎn)登陸的方式,只要多個(gè)數(shù)據(jù)庫(kù)中任意一個(gè)可以連接,即完成登陸要求的通過(guò)第三方數(shù)據(jù)庫(kù)控制系統(tǒng)切換的方法。
[0005]本發(fā)明解決上述技術(shù)問(wèn)題的技術(shù)方案如下:一種通過(guò)第三方數(shù)據(jù)庫(kù)控制系統(tǒng)切換的方法,具體包括以下步驟:
[0006]步驟1:調(diào)用一個(gè)或多個(gè)主機(jī)地址,獲得多個(gè)數(shù)據(jù)庫(kù)狀態(tài)信息;
[0007]步驟2:根據(jù)數(shù)據(jù)庫(kù)狀態(tài)信息,對(duì)一個(gè)或多個(gè)主機(jī)地址內(nèi)的處于可操作狀態(tài)的每個(gè)數(shù)據(jù)庫(kù)設(shè)置數(shù)據(jù)庫(kù)標(biāo)簽,建立分別對(duì)應(yīng)每個(gè)數(shù)據(jù)庫(kù)標(biāo)簽的多個(gè)服務(wù);
[0008]步驟3:將上述服務(wù)與數(shù)據(jù)庫(kù)的連接關(guān)系和數(shù)據(jù)庫(kù)標(biāo)簽存入共享內(nèi)存中;
[0009]步驟4:調(diào)用一個(gè)服務(wù);
[0010]步驟5:判斷調(diào)用的服務(wù)是否是長(zhǎng)連接,如果是,執(zhí)行步驟6 ;否則,執(zhí)行步驟8 ;
[0011]步驟6:判斷當(dāng)前服務(wù)對(duì)應(yīng)的數(shù)據(jù)庫(kù)標(biāo)簽與共享內(nèi)存中的數(shù)據(jù)庫(kù)標(biāo)簽是否一致,如果是,完成連接,結(jié)束;否則,執(zhí)行步驟7 ;
[0012]步驟7:關(guān)閉當(dāng)前數(shù)據(jù)庫(kù);
[0013]步驟8:按照共享內(nèi)存中的數(shù)據(jù)庫(kù)標(biāo)簽打開(kāi)對(duì)應(yīng)的數(shù)據(jù)庫(kù),完成數(shù)據(jù)庫(kù)切換,結(jié)束。
[0014]本發(fā)明的有益效果是:本發(fā)明提供的一種通過(guò)第三方數(shù)據(jù)庫(kù)控制系統(tǒng)切換的配置方法,可實(shí)現(xiàn)系統(tǒng)間接入層、業(yè)務(wù)層、數(shù)據(jù)層的隨時(shí)切換,配置靈活,方便控制,同時(shí)還保證業(yè)務(wù)持續(xù)性,提高系統(tǒng)切換及時(shí)率。
[0015]在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。
[0016]進(jìn)一步,所述服務(wù)包括長(zhǎng)連接服務(wù)和短連接服務(wù);
[0017]所述長(zhǎng)連接服務(wù)只有在啟動(dòng)時(shí)進(jìn)行數(shù)據(jù)庫(kù)連接,停止時(shí)關(guān)閉數(shù)據(jù)庫(kù)連接,而中間執(zhí)行業(yè)務(wù)時(shí)不再進(jìn)行數(shù)據(jù)庫(kù)的連接和關(guān)閉操作;所述的短連接服務(wù)在每次執(zhí)行業(yè)務(wù)時(shí)都要進(jìn)行數(shù)據(jù)庫(kù)的連接,每次業(yè)務(wù)執(zhí)行完畢后關(guān)閉數(shù)據(jù)庫(kù)連接。
[0018]進(jìn)一步,所述一個(gè)主機(jī)地址內(nèi)包含一個(gè)或多個(gè)數(shù)據(jù)庫(kù)。
[0019]進(jìn)一步,所述數(shù)據(jù)庫(kù)狀態(tài)信息內(nèi)保存的是數(shù)據(jù)庫(kù)狀態(tài),數(shù)據(jù)庫(kù)狀態(tài)包括可操作狀態(tài)和不可操作狀態(tài);只有設(shè)置為可操作狀態(tài)的數(shù)據(jù)庫(kù)可操作數(shù)據(jù)數(shù)據(jù)庫(kù)的連接操作。
[0020]本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種將系統(tǒng)登陸改造為多庫(kù)單點(diǎn)登陸的方式,只要多個(gè)數(shù)據(jù)庫(kù)中任意一個(gè)可以連接,即完成登陸要求的通過(guò)第三方數(shù)據(jù)庫(kù)控制系統(tǒng)切換的系統(tǒng)。
[0021]本發(fā)明解決上述技術(shù)問(wèn)題的技術(shù)方案如下:一種通過(guò)第三方數(shù)據(jù)庫(kù)控制系統(tǒng)切換的系統(tǒng),包括調(diào)用主機(jī)模塊、服務(wù)建立模塊、庫(kù)存模塊、調(diào)用服務(wù)模塊、服務(wù)判斷模塊、一致判斷模塊和數(shù)據(jù)庫(kù)切換模塊;
[0022]所述調(diào)用主機(jī)模塊用于調(diào)用一個(gè)或多個(gè)主機(jī)地址,獲得多個(gè)數(shù)據(jù)庫(kù)狀態(tài)信息;
[0023]所述服務(wù)建立模塊用于根據(jù)數(shù)據(jù)庫(kù)狀態(tài)信息,對(duì)一個(gè)或多個(gè)主機(jī)地址內(nèi)的處于可操作狀態(tài)的每個(gè)數(shù)據(jù)庫(kù)設(shè)置數(shù)據(jù)庫(kù)標(biāo)簽,建立分別對(duì)應(yīng)每個(gè)數(shù)據(jù)庫(kù)標(biāo)簽的多個(gè)服務(wù);
[0024]所述庫(kù)存模塊用于將上述服務(wù)與數(shù)據(jù)庫(kù)的連接關(guān)系和數(shù)據(jù)庫(kù)標(biāo)簽存入共享內(nèi)存中;
[0025]所述調(diào)用服務(wù)模塊用于調(diào)用一個(gè)服務(wù);
[0026]所述服務(wù)判斷模塊用于判斷調(diào)用的服務(wù)是否是長(zhǎng)連接,如果是,將所述服務(wù)發(fā)送到一致判斷模塊;否則,將所述服務(wù)發(fā)送到數(shù)據(jù)庫(kù)切換模塊;
[0027]所述一致判斷模塊用于判斷當(dāng)前服務(wù)對(duì)應(yīng)的數(shù)據(jù)庫(kù)標(biāo)簽與共享內(nèi)存中的數(shù)據(jù)庫(kù)標(biāo)簽是否一致,如果是,完成連接,結(jié)束;否則,關(guān)閉當(dāng)前數(shù)據(jù)庫(kù);
[0028]所述數(shù)據(jù)庫(kù)切換模塊用于按照共享內(nèi)存中的數(shù)據(jù)庫(kù)標(biāo)簽打開(kāi)對(duì)應(yīng)的數(shù)據(jù)庫(kù),完成數(shù)據(jù)庫(kù)切換,結(jié)束。
[0029]本發(fā)明的有益效果是:本發(fā)明提供的一種通過(guò)第三方數(shù)據(jù)庫(kù)控制系統(tǒng)切換的配置系統(tǒng),可實(shí)現(xiàn)系統(tǒng)間接入層、業(yè)務(wù)層、數(shù)據(jù)層的隨時(shí)切換,配置靈活,方便控制,同時(shí)還保證業(yè)務(wù)持續(xù)性,提高系統(tǒng)切換及時(shí)率。
[0030]在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。
[0031]進(jìn)一步,所述服務(wù)包括長(zhǎng)連接服務(wù)和短連接服務(wù);
[0032]所述長(zhǎng)連接服務(wù)只有在啟動(dòng)時(shí)進(jìn)行數(shù)據(jù)庫(kù)連接,停止時(shí)關(guān)閉數(shù)據(jù)庫(kù)連接,而中間執(zhí)行業(yè)務(wù)時(shí)不再進(jìn)行數(shù)據(jù)庫(kù)的連接和關(guān)閉操作;所述的短連接服務(wù)在每次執(zhí)行業(yè)務(wù)時(shí)都要進(jìn)行數(shù)據(jù)庫(kù)的連接,每次業(yè)務(wù)執(zhí)行完畢后關(guān)閉數(shù)據(jù)庫(kù)連接。
[0033]進(jìn)一步,所述一個(gè)主機(jī)地址內(nèi)包含一個(gè)或多個(gè)數(shù)據(jù)庫(kù)。
[0034]進(jìn)一步,所述數(shù)據(jù)庫(kù)狀態(tài)信息內(nèi)保存的是數(shù)據(jù)庫(kù)狀態(tài),數(shù)據(jù)庫(kù)狀態(tài)包括可操作狀態(tài)和不可操作狀態(tài);只有設(shè)置為可操作狀態(tài)的數(shù)據(jù)庫(kù)可操作數(shù)據(jù)數(shù)據(jù)庫(kù)的連接操作。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0035]圖1為本發(fā)明所述的一種通過(guò)第三方數(shù)據(jù)庫(kù)控制系統(tǒng)切換的方法流程圖;
[0036]圖2為本發(fā)明所述的一種通過(guò)第三方數(shù)據(jù)庫(kù)控制系統(tǒng)切換的系統(tǒng)結(jié)構(gòu)框圖。
[0037]附圖中,各標(biāo)號(hào)所代表的部件列表如下:
[0038]1、調(diào)用主機(jī)模塊,2、服務(wù)建立模塊,3、庫(kù)存模塊,4、調(diào)用服務(wù)模塊,5、服務(wù)判斷模塊,6、一致判斷模塊,7、數(shù)據(jù)庫(kù)切換模塊。
【具體實(shí)施方式】
[0039]以下結(jié)合附圖對(duì)本發(fā)明的原理和特征進(jìn)行描述,所舉實(shí)例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。
[0040]如圖1所示,為本發(fā)明所述的一種通過(guò)第三方數(shù)據(jù)庫(kù)控制系統(tǒng)切換的方法,具體包括以下步驟:
[0041]步驟1:調(diào)用一個(gè)或多個(gè)主機(jī)地址,獲得多個(gè)數(shù)據(jù)庫(kù)狀態(tài)信息;
[0042]步驟2:根據(jù)數(shù)據(jù)庫(kù)狀態(tài)信息,對(duì)一個(gè)或多個(gè)主機(jī)地址內(nèi)的處于可操作狀態(tài)的每個(gè)數(shù)據(jù)庫(kù)設(shè)置數(shù)據(jù)庫(kù)標(biāo)簽,建立分別對(duì)應(yīng)每個(gè)數(shù)據(jù)庫(kù)標(biāo)簽的多個(gè)服務(wù);
[0043]步驟3:將上述服務(wù)與數(shù)據(jù)庫(kù)的連接關(guān)系和數(shù)據(jù)庫(kù)標(biāo)簽存入共享內(nèi)存中;
[0044]步驟4:調(diào)用一個(gè)服務(wù);
[0045]步驟5:判斷調(diào)用的服務(wù)是否是長(zhǎng)連接,如果是,執(zhí)行步驟6 ;否則,執(zhí)行步驟8 ;
[0046]步驟6:判斷當(dāng)前服務(wù)對(duì)應(yīng)的數(shù)據(jù)庫(kù)標(biāo)簽與共享內(nèi)存中的數(shù)據(jù)庫(kù)標(biāo)簽是否一致,如果是,完成連接,結(jié)束;否則,執(zhí)行步驟7 ;
[0047]步驟7:關(guān)閉當(dāng)前數(shù)據(jù)庫(kù);
[0048]步驟8:按照共享內(nèi)存中的數(shù)據(jù)庫(kù)標(biāo)簽打開(kāi)對(duì)應(yīng)的數(shù)據(jù)庫(kù),完成數(shù)據(jù)庫(kù)切換,結(jié)束。
[0049]所述服務(wù)包括長(zhǎng)連接服務(wù)和短連接服務(wù);
[0050]所述長(zhǎng)連接服務(wù)只有在啟動(dòng)時(shí)進(jìn)行數(shù)據(jù)庫(kù)連接,停止時(shí)關(guān)閉數(shù)據(jù)庫(kù)連接,而中間執(zhí)行業(yè)務(wù)時(shí)不再進(jìn)行數(shù)據(jù)庫(kù)的連接和關(guān)閉操作;所述的短連接服務(wù)在每次執(zhí)行業(yè)務(wù)時(shí)都要進(jìn)行數(shù)據(jù)庫(kù)的連接,每次業(yè)務(wù)執(zhí)行完畢后關(guān)閉數(shù)據(jù)庫(kù)連接。
[0051]所述一個(gè)主機(jī)地址內(nèi)包含一個(gè)或多個(gè)數(shù)據(jù)庫(kù)。
[0052]所述數(shù)據(jù)庫(kù)狀態(tài)信息內(nèi)保存的是數(shù)據(jù)庫(kù)狀態(tài),數(shù)據(jù)庫(kù)狀態(tài)包括可操作狀態(tài)和不可操作狀態(tài);只有設(shè)置為可操作狀態(tài)的數(shù)據(jù)庫(kù)可操作數(shù)據(jù)數(shù)據(jù)庫(kù)的連接操作。
[0053]如圖2所示,為本發(fā)明所述的一種通過(guò)第三方數(shù)據(jù)庫(kù)控制系統(tǒng)切換的系統(tǒng),包括調(diào)用主機(jī)模塊1、服務(wù)建立模塊2、庫(kù)存模塊3、調(diào)用服務(wù)模塊4、服務(wù)判斷模塊5、一致判斷模塊6和數(shù)據(jù)庫(kù)切換模塊7 ;
[0054]所述調(diào)用主機(jī)模塊1用于調(diào)用一個(gè)或多個(gè)主機(jī)地址,獲得多個(gè)數(shù)據(jù)庫(kù)狀態(tài)信息;
[0055]所述服務(wù)建立模塊2用于根據(jù)數(shù)據(jù)庫(kù)狀態(tài)信息,對(duì)一個(gè)或多個(gè)主機(jī)地址內(nèi)的處于可操作狀態(tài)的每個(gè)數(shù)據(jù)庫(kù)設(shè)置數(shù)據(jù)庫(kù)標(biāo)簽,建立分別對(duì)應(yīng)每個(gè)數(shù)據(jù)庫(kù)標(biāo)簽的多個(gè)服務(wù);
[0056]所述庫(kù)存模塊3用于將上述服務(wù)與數(shù)據(jù)庫(kù)的連接關(guān)系和數(shù)據(jù)庫(kù)標(biāo)簽存入共享內(nèi)存中;
[0057]所述調(diào)用服務(wù)模塊4用于調(diào)用一個(gè)服務(wù);
[0058]所述服務(wù)判斷模塊5用于判斷調(diào)用的服務(wù)是否是長(zhǎng)連接,如果是,將所述服務(wù)發(fā)送到一致判斷模塊6 ;否則,將所述服務(wù)發(fā)送到數(shù)據(jù)庫(kù)切換模塊7 ;
[0059]所述一致判斷模塊6用于判斷當(dāng)前服務(wù)對(duì)應(yīng)的數(shù)據(jù)庫(kù)標(biāo)簽與共享內(nèi)存中的數(shù)據(jù)庫(kù)標(biāo)簽是否一致,如果是,完成連接,結(jié)束;否則,關(guān)閉當(dāng)前數(shù)據(jù)庫(kù);
[0060]所述數(shù)據(jù)庫(kù)切換模塊7用于按照共享內(nèi)存中的數(shù)據(jù)庫(kù)標(biāo)簽打開(kāi)對(duì)應(yīng)的數(shù)據(jù)庫(kù),完成數(shù)據(jù)庫(kù)切換,結(jié)束。
[0061 ] 所述服務(wù)包括長(zhǎng)連接服務(wù)和短連接服務(wù);
[0062]所述長(zhǎng)連接服務(wù)只有在啟動(dòng)時(shí)進(jìn)行數(shù)據(jù)庫(kù)連接,停止時(shí)關(guān)閉數(shù)據(jù)庫(kù)連接,而中間執(zhí)行業(yè)務(wù)時(shí)不再進(jìn)行數(shù)據(jù)庫(kù)的連接和關(guān)閉操作;所述的短連接服務(wù)在每次執(zhí)行業(yè)務(wù)時(shí)都要進(jìn)行數(shù)據(jù)庫(kù)的連接,每次業(yè)務(wù)執(zhí)行完畢后關(guān)閉數(shù)據(jù)庫(kù)連接。
[0063]所述一個(gè)主機(jī)地址內(nèi)包含一個(gè)或多個(gè)數(shù)據(jù)庫(kù)。
[0064]所述數(shù)據(jù)庫(kù)狀態(tài)信息內(nèi)保存的是數(shù)據(jù)庫(kù)狀態(tài),數(shù)據(jù)庫(kù)狀態(tài)包括可操作狀態(tài)和不可操作狀態(tài);只有設(shè)置為可操作狀態(tài)的數(shù)據(jù)庫(kù)可操作數(shù)據(jù)數(shù)據(jù)庫(kù)的連接操作。
[0065]本發(fā)明提供一種通過(guò)第三方數(shù)據(jù)庫(kù)控制系統(tǒng)切換的配置方法:在第三方數(shù)據(jù)庫(kù)上配置業(yè)務(wù)和服務(wù)的對(duì)應(yīng)關(guān)系,指定服務(wù)連接的數(shù)據(jù)庫(kù)標(biāo)簽,可調(diào)用的主機(jī)地址,以及系統(tǒng)狀態(tài)標(biāo)簽等信息。通過(guò)后臺(tái)將想要配置的信息寫(xiě)入共享內(nèi)存,實(shí)時(shí)讀取共享內(nèi)存信息,控制系統(tǒng)間快速切換,并且根據(jù)系統(tǒng)狀態(tài)“開(kāi)關(guān)”的變化,可通知網(wǎng)廳、短廳、IVR等外圍渠道進(jìn)行同步切換。由于此系統(tǒng)狀態(tài)標(biāo)簽存放在第三方數(shù)據(jù)庫(kù)上,可通過(guò)手工或者自動(dòng)兩種方式進(jìn)行隨時(shí)修改和控制。
[0066]本發(fā)明具體實(shí)施過(guò)程如下:
[0067]第一步:在第三方數(shù)據(jù)庫(kù)上配置業(yè)務(wù)和該業(yè)務(wù)提交時(shí)所調(diào)用服務(wù)的對(duì)應(yīng)關(guān)系,并指定該系統(tǒng)上服務(wù)連接的數(shù)據(jù)庫(kù)標(biāo)簽,一個(gè)標(biāo)簽可以唯一的確定一個(gè)數(shù)據(jù)庫(kù)實(shí)例下的一個(gè)用戶(hù),例如tudexo中間件中系統(tǒng)數(shù)據(jù)庫(kù)配置文件中會(huì)將待連接的每個(gè)數(shù)據(jù)庫(kù)下的不同用戶(hù)名進(jìn)行定義,該定義即可作為一個(gè)數(shù)據(jù)庫(kù)標(biāo)簽,可調(diào)用的主機(jī)地址,以及系統(tǒng)狀態(tài)標(biāo)簽等信息。
[0068]第二步:將上面提到的業(yè)務(wù)和服務(wù)的對(duì)應(yīng)關(guān)系、指定服務(wù)連接的數(shù)據(jù)庫(kù)標(biāo)簽、可調(diào)用的主機(jī)地址以及系統(tǒng)狀態(tài)標(biāo)簽等配置信息讀入共享內(nèi)存,即一種復(fù)雜的結(jié)構(gòu)體,該結(jié)構(gòu)體可存放配置的所有信息。
[0069]第三步:服務(wù)調(diào)用時(shí),判斷服務(wù)是長(zhǎng)連接還是短連接? TUXEDO的長(zhǎng)連接,短連接一般指在一個(gè)tpinit ()/tpterm()之間是否有多個(gè)tpcall ()/tpacall ()等,即如果建鏈一次,反復(fù)做業(yè)務(wù),為長(zhǎng)連接;如果每次做業(yè)務(wù)都要先建鏈,為短連接。而對(duì)于每個(gè)服務(wù)使用的是長(zhǎng)連接還是短連接,是根據(jù)辦理業(yè)務(wù)的使用頻率決定。
[0070]第四步:如果是短連接,直接通過(guò)共享內(nèi)存中指定的數(shù)據(jù)庫(kù)標(biāo)簽進(jìn)行連接。連接成功即表不系統(tǒng)切換成功。
[0071]第五步:如果是長(zhǎng)連接,要先校驗(yàn)當(dāng)前服務(wù)連接的標(biāo)簽與當(dāng)前共享內(nèi)存中的有效數(shù)據(jù)庫(kù)標(biāo)簽是否一致,如果一致,不需要再次連接,如果不一致,按照當(dāng)前有效標(biāo)簽進(jìn)行重新連接。
[0072]通過(guò)重復(fù)第一步、第二步,在不修改任何業(yè)務(wù)處理服務(wù)的基礎(chǔ)上即可實(shí)現(xiàn)數(shù)據(jù)庫(kù)切換。
[0073]以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種通過(guò)第三方數(shù)據(jù)庫(kù)控制系統(tǒng)切換的方法,其特征在于,具體包括以下步驟: 步驟1:調(diào)用一個(gè)或多個(gè)主機(jī)地址,獲得多個(gè)數(shù)據(jù)庫(kù)狀態(tài)信息; 步驟2:根據(jù)數(shù)據(jù)庫(kù)狀態(tài)信息,對(duì)一個(gè)或多個(gè)主機(jī)地址內(nèi)的處于可操作狀態(tài)的每個(gè)數(shù)據(jù)庫(kù)設(shè)置數(shù)據(jù)庫(kù)標(biāo)簽,建立分別對(duì)應(yīng)每個(gè)數(shù)據(jù)庫(kù)標(biāo)簽的多個(gè)服務(wù); 步驟3:將上述服務(wù)與數(shù)據(jù)庫(kù)的連接關(guān)系和數(shù)據(jù)庫(kù)標(biāo)簽存入共享內(nèi)存中; 步驟4:調(diào)用一個(gè)服務(wù); 步驟5:判斷調(diào)用的服務(wù)是否是長(zhǎng)連接,如果是,執(zhí)行步驟6 ;否則,執(zhí)行步驟8 ; 步驟6:判斷當(dāng)前服務(wù)對(duì)應(yīng)的數(shù)據(jù)庫(kù)標(biāo)簽與共享內(nèi)存中的數(shù)據(jù)庫(kù)標(biāo)簽是否一致,如果是,完成連接,結(jié)束;否則,執(zhí)行步驟7 ; 步驟7:關(guān)閉當(dāng)前數(shù)據(jù)庫(kù); 步驟8:按照共享內(nèi)存中的數(shù)據(jù)庫(kù)標(biāo)簽打開(kāi)對(duì)應(yīng)的數(shù)據(jù)庫(kù),完成數(shù)據(jù)庫(kù)切換,結(jié)束。
2.根據(jù)權(quán)利要求1所述的一種通過(guò)第三方數(shù)據(jù)庫(kù)控制系統(tǒng)切換的方法,其特征在于,所述服務(wù)包括長(zhǎng)連接服務(wù)和短連接服務(wù); 所述長(zhǎng)連接服務(wù)只有在啟動(dòng)時(shí)進(jìn)行數(shù)據(jù)庫(kù)連接,停止時(shí)關(guān)閉數(shù)據(jù)庫(kù)連接,而中間執(zhí)行業(yè)務(wù)時(shí)不再進(jìn)行數(shù)據(jù)庫(kù)的連接和關(guān)閉操作;所述的短連接服務(wù)在每次執(zhí)行業(yè)務(wù)時(shí)都要進(jìn)行數(shù)據(jù)庫(kù)的連接,每次業(yè)務(wù)執(zhí)行完畢后關(guān)閉數(shù)據(jù)庫(kù)連接。
3.根據(jù)權(quán)利要求2所述的一種通過(guò)第三方數(shù)據(jù)庫(kù)控制系統(tǒng)切換的方法,其特征在于,所述一個(gè)主機(jī)地址內(nèi)包含一個(gè)或多個(gè)數(shù)據(jù)庫(kù)。
4.根據(jù)權(quán)利要求1-3任一項(xiàng)所述的一種通過(guò)第三方數(shù)據(jù)庫(kù)控制系統(tǒng)切換的方法,其特征在于,所述數(shù)據(jù)庫(kù)狀態(tài)信息內(nèi)保存的是數(shù)據(jù)庫(kù)狀態(tài),數(shù)據(jù)庫(kù)狀態(tài)包括可操作狀態(tài)和不可操作狀態(tài);只有設(shè)置為可操作狀態(tài)的數(shù)據(jù)庫(kù)可操作數(shù)據(jù)數(shù)據(jù)庫(kù)的連接操作。
5.一種通過(guò)第三方數(shù)據(jù)庫(kù)控制系統(tǒng)切換的系統(tǒng),其特征在于,包括調(diào)用主機(jī)模塊、服務(wù)建立模塊、庫(kù)存模塊、調(diào)用服務(wù)模塊、服務(wù)判斷模塊、一致判斷模塊和數(shù)據(jù)庫(kù)切換模塊; 所述調(diào)用主機(jī)模塊用于調(diào)用一個(gè)或多個(gè)主機(jī)地址,獲得多個(gè)數(shù)據(jù)庫(kù)狀態(tài)信息; 所述服務(wù)建立模塊用于根據(jù)數(shù)據(jù)庫(kù)狀態(tài)信息,對(duì)一個(gè)或多個(gè)主機(jī)地址內(nèi)的處于可操作狀態(tài)的每個(gè)數(shù)據(jù)庫(kù)設(shè)置數(shù)據(jù)庫(kù)標(biāo)簽,建立分別對(duì)應(yīng)每個(gè)數(shù)據(jù)庫(kù)標(biāo)簽的多個(gè)服務(wù); 所述庫(kù)存模塊用于將上述服務(wù)與數(shù)據(jù)庫(kù)的連接關(guān)系和數(shù)據(jù)庫(kù)標(biāo)簽存入共享內(nèi)存中; 所述調(diào)用服務(wù)模塊用于調(diào)用一個(gè)服務(wù); 所述服務(wù)判斷模塊用于判斷調(diào)用的服務(wù)是否是長(zhǎng)連接,如果是,將所述服務(wù)發(fā)送到一致判斷模塊;否則,將所述服務(wù)發(fā)送到數(shù)據(jù)庫(kù)切換模塊; 所述一致判斷模塊用于判斷當(dāng)前服務(wù)對(duì)應(yīng)的數(shù)據(jù)庫(kù)標(biāo)簽與共享內(nèi)存中的數(shù)據(jù)庫(kù)標(biāo)簽是否一致,如果是,完成連接,結(jié)束;否則,關(guān)閉當(dāng)前數(shù)據(jù)庫(kù); 所述數(shù)據(jù)庫(kù)切換模塊用于按照共享內(nèi)存中的數(shù)據(jù)庫(kù)標(biāo)簽打開(kāi)對(duì)應(yīng)的數(shù)據(jù)庫(kù),完成數(shù)據(jù)庫(kù)切換,結(jié)束。
6.根據(jù)權(quán)利要求5所述的一種通過(guò)第三方數(shù)據(jù)庫(kù)控制系統(tǒng)切換的系統(tǒng),其特征在于,所述服務(wù)包括長(zhǎng)連接服務(wù)和短連接服務(wù); 所述長(zhǎng)連接服務(wù)只有在啟動(dòng)時(shí)進(jìn)行數(shù)據(jù)庫(kù)連接,停止時(shí)關(guān)閉數(shù)據(jù)庫(kù)連接,而中間執(zhí)行業(yè)務(wù)時(shí)不再進(jìn)行數(shù)據(jù)庫(kù)的連接和關(guān)閉操作;所述的短連接服務(wù)在每次執(zhí)行業(yè)務(wù)時(shí)都要進(jìn)行數(shù)據(jù)庫(kù)的連接,每次業(yè)務(wù)執(zhí)行完畢后關(guān)閉數(shù)據(jù)庫(kù)連接。
7.根據(jù)權(quán)利要求6所述的一種通過(guò)第三方數(shù)據(jù)庫(kù)控制系統(tǒng)切換的系統(tǒng),其特征在于,所述一個(gè)主機(jī)地址內(nèi)包含一個(gè)或多個(gè)數(shù)據(jù)庫(kù)。
8.根據(jù)權(quán)利要求5-7任一項(xiàng)所述的一種通過(guò)第三方數(shù)據(jù)庫(kù)控制系統(tǒng)切換的系統(tǒng),其特征在于,所述數(shù)據(jù)庫(kù)狀態(tài)信息內(nèi)保存的是數(shù)據(jù)庫(kù)狀態(tài),數(shù)據(jù)庫(kù)狀態(tài)包括可操作狀態(tài)和不可操作狀態(tài);只有設(shè)置為可操作狀態(tài)的數(shù)據(jù)庫(kù)可操作數(shù)據(jù)數(shù)據(jù)庫(kù)的連接操作。
【文檔編號(hào)】G06F17/30GK104462200SQ201410602672
【公開(kāi)日】2015年3月25日 申請(qǐng)日期:2014年10月31日 優(yōu)先權(quán)日:2014年10月31日
【發(fā)明者】陳冬雪 申請(qǐng)人:北京思特奇信息技術(shù)股份有限公司