• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種多數據庫的連接方法及裝置制造方法及圖紙

    技術編號:8271504 閱讀:194 留言:0更新日期:2013-01-31 03:45
    本發明專利技術公開了一種多數據庫的連接方法及裝置,包括:啟動時,加載配置中的全部數據庫連接池,以及,在所有數據庫連接池中,設置主用數據庫對應的連接池為當前使用連接池,設置剩余的備用數據庫對應的連接池為備用連接池;接到調用者發起的數據庫資源請求時,判斷主用數據庫是否能夠連接,如果是,則進行連接,如果否,則進行數據庫切換,在備用數據庫中選擇一個數據庫進行連接;使調用者獲得連接。本發明專利技術可以實現當數據庫群中的某數據庫無法正常響應時,自動選擇其他的有效數據庫作為數據庫的連接提供者,以提高應用系統的可靠性,提高了系統的穩定性,避免了數據庫停用。

    【技術實現步驟摘要】
    本專利技術涉及數據庫連接
    ,特別是涉及一種多數據庫的連接方法及裝置
    技術介紹
    在使用多數據庫作為數據提供者的情況下,普通數據庫連接池只能同時使用一個數據庫作為連接提供者,如果當前數據庫出現異常,需要停止應用直至數據庫恢復。現有的解決方案中,有通過設置主用數據庫和備用數據庫來解決上述問題的方案,備用數據庫的主要作用是用于數據備份,雖然能夠保證數據的不丟失,但是在主用數據庫出現問題時,卻很難保證系統繼續正常運行。如果系統要在短期內恢復訪問,需要手動修改數據庫配置,調 用備用數據庫,并重啟服務。當主用數據庫恢復正常以后,還要再次修改配置恢復對主用數據庫的訪問,整個過程會造成整個系統的不穩定甚至停用。
    技術實現思路
    本專利技術要解決的技術問題是提供一種多數據庫的連接方法及裝置,用以解決現有技術中數據庫出現問題時造成的系統不穩定甚至停用的問題。為解決上述技術問題,一方面,本專利技術提供一種多數據庫的連接方法,包括啟動時,加載配置中的全部數據庫連接池,以及,在所有數據庫連接池中,設置主用數據庫對應的連接池為當前使用連接池,設置剩余的備用數據庫對應的連接池為備用連接池;接到調用者發起的數據庫資源請求時,判斷主用數據庫是否能夠連接,如果是,則進行連接,如果否,則進行數據庫切換,在備用數據庫中選擇一個數據庫進行連接;使調用者獲得連接。進一步,啟動時,還啟動數據狀態監視器,用于對主用數據庫的健康參數進行監測,獲取主用數據庫的健康參數。進一步,判斷數據庫是否能夠連接,具體包括以下步驟首先判斷主用數據庫是否已經停止,如果是,則判定主用數據庫無法連接;如果否,其次判斷主用數據庫對應的當前使用連接池是否已經連接滿,如果是,則判定主用數據庫無法連接;如果否,最后判斷主用數據庫的健康參數是否達到預先設定的健康參數閾值,如果是,則判定主用數據庫無法連接;如果否,則判定主用數據庫可以連接。進一步,在調用者發起數據庫資源請求之后,對進入獲取連接的線程進行計數,當計數器達到預先設定的計數閾值,調用者還沒有獲得連接時,判定主用數據庫無法連接。進一步,在調用者獲得連接之后,還包括數據狀態監視器對當前連接的數據庫的健康參數進行監測,獲取當前連接數據庫的健康參數,并判斷是否達到預先設定的健康參數閾值,如果是,則修改當前連接的數據庫狀態為不可連接,進行數據庫切換;如果否,則保持連接。進一步,數據狀態監視器對當前連接的數據庫的健康參數進行監測,具體包括判斷當前連接的數據庫執行讀寫操作是否出現異常,如果是,則對當前連接的數據庫的健康參數減I ;如果否,則對當前連接的數據庫的健康參數加2 ;當前連接的數據庫出現壞連接,則對當前連接的數據庫的健康參數加4。另一方面,本專利技術還提供一種多數據庫的連接裝置,包括啟動配置模塊,用于啟動時,加載配置中的全部數據庫連接池,以及,在所有數據庫連接池中,設置主用數據庫對應的連接池為當前使用連接池,設置剩余的備用數據庫對應的連接池為備用連接池;連接切換模塊,用于接到調用者發起的數據庫資源請求時,判斷主用數據庫是否能夠連接,如果是,則進行連接,如果否,則進行數據庫切換,在備用數據庫中選擇一個數據庫進行連接;使調用者獲得連接。進一步,所述裝置還包括 數據狀態監視器,用于啟動后對主用數據庫的健康參數進行監測,獲取主用數據庫的健康參數;所述連接切換模塊首先判斷主用數據庫是否已經停止,如果是,則判定主用數據庫無法連接;如果否,其次判斷主用數據庫對應的當前使用連接池是否已經連接滿,如果是,則判定主用數據庫無法連接;如果否,最后判斷主用數據庫的健康參數是否達到預先設定的健康參數閾值,如果是,則判定主用數據庫無法連接;如果否,則判定主用數據庫可以連接;所述連接切換模塊在調用者發起數據庫資源請求之后,對進入獲取連接的線程進行計數,當計數器達到預先設定的計數閾值,調用者還沒有獲得連接時,判定主用數據庫無法連接。進一步,所述數據狀態監視器還用于對當前連接的數據庫的健康參數進行監測,獲取當前連接數據庫的健康參數,并判斷是否達到預先設定的健康參數閾值,如果是,則修改當前連接的數據庫狀態為不可連接,進行數據庫切換;如果否,則保持連接。進一步,所述數據狀態監視器判斷當前連接的數據庫執行讀寫操作是否出現異常,如果是,則對當前連接的數據庫的健康參數減I ;如果否,則對當前連接的數據庫的健康參數加2 ;當前連接的數據庫出現壞連接,則對當前連接的數據庫的健康參數加4。本專利技術有益效果如下本專利技術可以實現當數據庫群中的某數據庫無法正常響應時,自動選擇其他的有效數據庫作為數據庫的連接提供者,以提高應用系統的可靠性,提高了系統的穩定性,避免了數據庫停用。附圖說明圖I是本專利技術實施例中一種多數據庫的連接方法的流程圖;圖2是本專利技術實施例中一種多數據庫的連接裝置的結構示意圖。具體實施例方式以下結合附圖以及實施例,對本專利技術進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本專利技術,并不限定本專利技術。如圖I所示,本專利技術實施例涉及一種多數據庫的連接方法,包括步驟S101,系統啟動時,加載配置中的全部數據庫連接池,S卩,將系統中的所有數據庫在啟動時都加載進來。另外,還需要在所有數據庫連接池中,設置主用數據庫對應的連接池為當前使用連接池,設置剩余的備用數據庫對應的連接池為備用連接池。本步驟中,在系統啟動時,還啟動數據狀態監視器,用于對主用數據庫的健康參數進行監測,獲取主用數據庫的健康參數。步驟S102,系統接到調用者發起的數據庫資源請求時,判斷主用數據庫是否能夠連接,如果是,則進行連接,如果否,則進行數據庫切換,在備用數據庫中選擇一個數據庫進行連接;調用者獲得連接。本步驟中,判斷數據庫是否能夠連接,具體包括以下步驟·首先判斷主用數據庫是否已經停止,如果是,則判定主用數據庫無法連接;如果否,其次判斷主用數據庫對應的當前使用連接池是否已經連接滿,如果是,則判定主用數據庫無法連接;如果否,最后判斷主用數據庫的健康參數是否達到預先設定的健康參數閾值,如果是,則判定主用數據庫無法連接;如果否,則判定主用數據庫可以連接。在備用數據庫中選擇一個數據庫進行連接,可以在備用數據庫中隨機選擇一個數據庫進行連接,也可以根據預先設定的優先級或選取順序進行選擇。另外,在調用者發起數據庫資源請求之后,對進入獲取連接的線程進行計數,當計數器達到預先設定的計數閾值,調用者依然沒有獲得連接時,則直接返回空值,表示主用數據庫無法正常提供連接。這樣做的好處在于當存在η個數據庫時,所造成的影響僅為I/η,降低了因為數據庫故障造成的不利影響。對于當前連接的數據庫是備用數據庫時,調用者對當前連接的數據庫只能進行只讀操作,如果當前進行的操作不是只讀操作,則無法連接備用數據庫。當主用數據庫出現問題時,其他備用數據庫可以正常提供服務,不影響正常訪問,為恢復主用數據庫爭取時間。當主用數據庫的負載過大時,可以由其他備用數據庫提供查詢服務,這樣可以減小主用數據庫的負載壓力,當主用數據庫壓力下降時,當前連接的數據庫自動恢復為主用數據庫。步驟S103,在調用者獲得連接之后,數據狀態監視器對當前連接的數據庫的健康參數進行監測,獲取當前連接數據庫的健康參數,并判斷是否達到預先設定的健康參數閾值,如果是,則修改當前連接的數據庫狀態為不可連接,進行本文檔來自技高網...

    【技術保護點】
    一種多數據庫的連接方法,其特征在于,包括:啟動時,加載配置中的全部數據庫連接池,以及,在所有數據庫連接池中,設置主用數據庫對應的連接池為當前使用連接池,設置剩余的備用數據庫對應的連接池為備用連接池;接到調用者發起的數據庫資源請求時,判斷主用數據庫是否能夠連接,如果是,則進行連接,如果否,則進行數據庫切換,在備用數據庫中選擇一個數據庫進行連接;使調用者獲得連接。

    【技術特征摘要】
    1.一種多數據庫的連接方法,其特征在于,包括 啟動時,加載配置中的全部數據庫連接池,以及,在所有數據庫連接池中,設置主用數據庫對應的連接池為當前使用連接池,設置剩余的備用數據庫對應的連接池為備用連接池; 接到調用者發起的數據庫資源請求時,判斷主用數據庫是否能夠連接,如果是,則進行連接,如果否,則進行數據庫切換,在備用數據庫中選擇一個數據庫進行連接;使調用者獲得連接。2.如權利要求I所述的多數據庫的連接方法,其特征在于,啟動時,還啟動數據狀態監視器,用于對主用數據庫的健康參數進行監測,獲取主用數據庫的健康參數。3.如權利要求2所述的多數據庫的連接方法,其特征在于,判斷數據庫是否能夠連接,具體包括以下步驟 首先判斷主用數據庫是否已經停止,如果是,則判定主用數據庫無法連接;如果否,其次判斷主用數據庫對應的當前使用連接池是否已經連接滿,如果是,則判定主用數據庫無法連接;如果否,最后判斷主用數據庫的健康參數是否達到預先設定的健康參數閾值,如果是,則判定主用數據庫無法連接;如果否,則判定主用數據庫可以連接。4.如權利要求I或3所述的多數據庫的連接方法,其特征在于,在調用者發起數據庫資源請求之后,對進入獲取連接的線程進行計數,當計數器達到預先設定的計數閾值,調用者還沒有獲得連接時,判定主用數據庫無法連接。5.如權利要求3所述的多數據庫的連接方法,其特征在于,在調用者獲得連接之后,還包括 數據狀態監視器對當前連接的數據庫的健康參數進行監測,獲取當前連接數據庫的健康參數,并判斷是否達到預先設定的健康參數閾值,如果是,則修改當前連接的數據庫狀態為不可連接,進行數據庫切換;如果否,則保持連接。6.如權利要求5所述的多數據庫的連接方法,其特征在于,數據狀態監視器對當前連接的數據庫的健康參數進行監測,具體包括 判斷當前連接的數據庫執行讀寫操作是否出現異常,如果是,則對當前連接的數據庫的健康參數減I ;如果否,則對當前連接的數據庫的健康參數加2 ;...

    【專利技術屬性】
    技術研發人員:任軍柳忠偉
    申請(專利權)人:五八有限公司
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 狼人无码精华AV午夜精品| 无码国内精品久久人妻| 国产精品无码免费播放| 丰满亚洲大尺度无码无码专线 | 免费A级毛片无码A| 日韩精品无码人妻一区二区三区| 亚洲中文字幕无码不卡电影| 久久AV无码精品人妻糸列| 久久亚洲AV永久无码精品| 亚洲精品无码专区在线播放| av无码人妻一区二区三区牛牛| 少妇无码AV无码专区线| 久久亚洲精品成人av无码网站| 亚洲精品无码专区2| 无码熟熟妇丰满人妻啪啪软件| 亚洲大尺度无码专区尤物| 日产无码1区2区在线观看| 精品久久久久久无码人妻中文字幕 | 乱人伦中文无码视频在线观看| 亚洲人成无码网WWW| 亚洲AV成人无码网天堂| 色爱无码AV综合区| 亚洲VA成无码人在线观看天堂| 亚洲人成无码网WWW| 国产午夜无码片在线观看影院| 亚洲av无码专区亚洲av不卡| 人妻丰满熟妇岳AV无码区HD| 国产成人无码18禁午夜福利p| 久久久久亚洲AV无码专区桃色 | 久久国产精品无码HDAV| 国产精品三级在线观看无码| YW尤物AV无码国产在线观看| 人妻丰满?V无码久久不卡| 狠狠久久精品中文字幕无码| 无码夜色一区二区三区| 亚洲av无码偷拍在线观看| 成人免费无码大片a毛片| 国产成年无码v片在线| 精品久久久久久无码中文野结衣| 国产AV无码专区亚洲AV麻豆丫| 粉嫩大学生无套内射无码卡视频 |