[發明專利]數據庫連接池的控制方法在審
| 申請號: | 201310586676.9 | 申請日: | 2013-11-20 |
| 公開(公告)號: | CN103605571A | 公開(公告)日: | 2014-02-26 |
| 發明(設計)人: | 陳清水;李海;劉紅超;張健 | 申請(專利權)人: | 國家電網公司;北京許繼電氣有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F17/30 |
| 代理公司: | 北京立成智業專利代理事務所(普通合伙) 11310 | 代理人: | 李想 |
| 地址: | 100017 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據庫連接 控制 方法 | ||
技術領域
本發明涉及計算機數據庫領域,尤其涉及一種數據庫連接池的控制方法。
背景技術
信息化應用程序一般都要頻繁地訪問數據庫,典型的一個業務場景如:從數據庫讀取業務數據,組裝成業務信息展現給用戶,同時把用戶對業務信息的修改內容保存到數據庫。
對于一個Web應用系統,應用服務器一般為每一個客戶端(即一個會話,session)訪問開辟一個獨立線程,以提高應用系統性能。此時,如果數據庫訪問采用單線程的建立、使用、關閉,就會嚴重阻塞多線程執行效率,并且,一個數據庫訪問的建立,會消耗較大的系統資源和時間,如果頻繁地建立和關閉數據庫訪問,會極大降低系統性能。
怎樣提升應用系統數據訪問性能,數據庫連接池就是針對這個問題提出來的。
一般地,當數據庫連接池建立時,初始化幾個數據連接,等待應用程序調用。應用程序調用一次,就取走一個數據連接,使用完了就歸還數據連接。當連接池內的數據連接取完了,就增加新數據連接,直到創建連接達到最大允許連接個數。若再取連接時,等待一段時間,若還沒有空閑連接就會拋出異常。這就是一般數據庫連接池的工作原理,采用數據庫連接池技術,能極大提升應用系統的數據訪問性能。
但是現有技術中缺少在高并發、多數據源環境下對于數據庫連接池的控制方法。
發明內容
本發明要解決的技術問題是,針對現有技術的不足,提供一種數據庫連接池的控制方法,在高并發、多數據源環境下,有效提高了數據訪問性能。
根據本發明一個方面,提供一種數據庫連接池的控制方法,用于對外提供數據連接,包括:
根據預設的優先級范圍,規范化傳入的線程優先級參數,得到規范化參數優先級;
判斷當前連接池是否為空,如果連接池不為空,取出第一個數據連接,設置當前狀態為忙,返回該數據連接;
如果連接池為空,判斷當前外部程序使用中未歸還的數據連接個數是否已經達到了連接池內最大連接個數,如果未達到,增加數據連接,并加入當前數據庫連接池,返回數據庫連接池的第一個數據連接;
如果當前外部程序使用中未歸還的數據連接個數達到連接池內最大連接個數,設置當前線程的優先級為規范化參數優先級,獲取當前時間作為第一時間,循環判斷當前連接池是否為空,數據庫連接池進入等待狀態;
循環判斷當前連接池是否為空包括:獲取當前時間作為第二時間,如果第二時間大于所述第一時間加上最大等待時間,則把數據連接超時信息寫入日志,并返回空值;如果第二時間小于第一時間加上最大等待時間,數據庫連接池繼續等待;如果連接池不為空,即有新釋放的數據連接時,取出第一個數據連接,設置數據連接狀態為忙,并返回該數據連接。
可選的,其中,增加數據連接包括:
根據連接池擴展時每次增加數據連接個數和當前連接池可增加的數據連接個數進行對比,取其中的最小值作為要增加的數據連接數。
可選的,所述的數據庫連接池的控制方法還包括:數據庫連接池定期檢查數據庫連接是否有效,如果無效,會通知連接池清理數據連接。
可選的,所述的數據庫連接池的控制方法還包括:數據庫連接池定期檢查數據庫連接池大小,如果連接池為空,同時正在使用的數據連接個數小于連接池最小數據連接個數,則連接池加大數據連接到連接池最小連接個數。
可選的,所述的數據庫連接池的控制方法還包括:數據庫連接池定期檢查數據庫連接配置文件最后修改時間,如果最后修改時間在當前時間減去數據庫檢查時間范圍內,則數據庫配置文件已被修改,調用數據庫連接池工廠刷新數據庫連接池配置。
可選的,所述的數據庫連接池的控制方法還包括:數據庫連接池循環數據庫連接池內的數據連接,如果數據連接空閑,且空閑時間大于最大空閑時間,則關閉該數據連接;
其中,關閉數據連接包括:將該數據庫連接歸還到數據庫連接池,以便下回外部程序獲取數據連接時能再次取出該連接。
根據本發明另一個方面,提供一種數據庫連接池的控制方法,用于對內進行任務調度,包括:
判斷配置文件是否已經修改;
如果數據庫配置文件有修改,調用數據庫連接池工廠,刷新當前數據庫連接池配置信息,并終止后續任務調度;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于國家電網公司;北京許繼電氣有限公司,未經國家電網公司;北京許繼電氣有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310586676.9/2.html,轉載請聲明來源鉆瓜專利網。





