[發明專利]數據庫連接池的控制方法在審
| 申請號: | 201310586676.9 | 申請日: | 2013-11-20 |
| 公開(公告)號: | CN103605571A | 公開(公告)日: | 2014-02-26 |
| 發明(設計)人: | 陳清水;李海;劉紅超;張健 | 申請(專利權)人: | 國家電網公司;北京許繼電氣有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F17/30 |
| 代理公司: | 北京立成智業專利代理事務所(普通合伙) 11310 | 代理人: | 李想 |
| 地址: | 100017 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據庫連接 控制 方法 | ||
1.一種數據庫連接池的控制方法,用于對外提供數據連接,包括:
根據預設的優先級范圍,規范化傳入的線程優先級參數,得到規范化參數優先級;
判斷當前連接池是否為空,如果連接池不為空,取出第一個數據連接,設置當前狀態為忙,返回該數據連接;
如果連接池為空,判斷當前外部程序使用中未歸還的數據連接個數是否已經達到了連接池內最大連接個數,如果未達到,增加數據連接,并加入當前數據庫連接池,返回數據庫連接池的第一個數據連接;
如果當前外部程序使用中未歸還的數據連接個數達到連接池內最大連接個數,設置當前線程的優先級為規范化參數優先級,獲取當前時間作為第一時間,循環判斷當前連接池是否為空,數據庫連接池進入等待狀態;
循環判斷當前連接池是否為空包括:獲取當前時間作為第二時間,如果第二時間大于所述第一時間加上最大等待時間,則把數據連接超時信息寫入日志,并返回空值;如果第二時間小于第一時間加上最大等待時間,數據庫連接池繼續等待;如果連接池不為空,即有新釋放的數據連接時,取出第一個數據連接,設置數據連接狀態為忙,并返回該數據連接。
2.根據權利要求1所述的數據庫連接池的控制方法,其中,增加數據連接包括:
根據連接池擴展時每次增加數據連接個數和當前連接池可增加的數據連接個數進行對比,取其中的最小值作為要增加的數據連接數。
3.根據權利要求1所述的數據庫連接池的控制方法,還包括:數據庫連接池定期檢查數據庫連接是否有效,如果無效,會通知連接池清理數據連接。
4.根據權利要求1所述的數據庫連接池的控制方法,還包括:數據庫連接池定期檢查數據庫連接池大小,如果連接池為空,同時正在使用的數據連接個數小于連接池最小數據連接個數,則連接池加大數據連接到連接池最小連接個數。
5.根據權利要求1所述的數據庫連接池的控制方法,還包括:數據庫連接池定期檢查數據庫連接配置文件最后修改時間,如果最后修改時間在當前時間減去數據庫檢查時間范圍內,則數據庫配置文件已被修改,調用數據庫連接池工廠刷新數據庫連接池配置。
6.根據權利要求1所述的數據庫連接池的控制方法,還包括:數據庫連接池循環數據庫連接池內的數據連接,如果數據連接空閑,且空閑時間大于最大空閑時間,則關閉該數據連接;
其中,關閉數據連接包括:將該數據庫連接歸還到數據庫連接池,以便下回外部程序獲取數據連接時能再次取出該連接。
7.一種數據庫連接池的控制方法,用于對內進行任務調度,包括:
判斷配置文件是否已經修改;
如果數據庫配置文件有修改,調用數據庫連接池工廠,刷新當前數據庫連接池配置信息,并終止后續任務調度;
如果數據庫配置文件沒有修改,則判斷當前數據庫連接池內的數據連接個數是否大于0;如果大于0,則讀取第一個數據連接,并測試該數據連接是否有效;如果測試數據連接無效,則清除當前連接池內的所有數據連接,重新初始化數據連接池并返回;如果測試數據連接有效,則遍歷當前數據庫連接池內的所有數據連接,判斷每一個數據連接是否超過最大空閑時間,如果不超過則取出下一個數據連接,如果超過最大空閑時間則從數據庫層釋放該數據連接;
如果連接池內數據連接個數為0,則判斷當前外部程序使用的數據連接個數是否已經到達連接池內最小數據連接數,如果未達到連接池內最小數據連接數,則增加數據連接個數到達連接池內最小數據連接數,并加入當前數據庫連接池后返回。
8.根據權利要求7所述的數據庫連接池的控制方法,測試數據連接是否有效方法包括:根據當前數據連接的數據庫類型,采用合適的sql語句進行測試。
9.根據權利要求7所述的數據庫連接池的控制方法,判斷配置文件是否已經修改包括:
獲取當前時間和數據庫配置文件的最后修改時間,如果配置文件的最后修改時間大于當前時間減去數據庫檢查周期,表示已修改。
10.根據權利要求7所述的數據庫連接池的控制方法,其中,數據庫配置文件包括:
數據源名稱、數據庫驅動類名、數據庫訪問路徑、連接池內最小數據連接個數、連接池內最大數據連接個數、數據庫檢查周期。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于國家電網公司;北京許繼電氣有限公司,未經國家電網公司;北京許繼電氣有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310586676.9/1.html,轉載請聲明來源鉆瓜專利網。





