[發明專利]一種數據庫連接的管理方法及系統有效
| 申請號: | 201210103841.6 | 申請日: | 2012-04-10 |
| 公開(公告)號: | CN103365929A | 公開(公告)日: | 2013-10-23 |
| 發明(設計)人: | 謝宇 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京潤澤恒知識產權代理有限公司 11319 | 代理人: | 蘇培華 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 開曼群島;KY |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據庫連接 管理 方法 系統 | ||
1.一種數據庫連接的管理方法,其特征在于,包括:
接收客戶端發來的數據庫訪問請求,并從該請求的內容中獲取操作類型和目標連接的關鍵字;
在內存的連接池管理表中查詢與所述目標連接的關鍵字相匹配的連接池對象,并從查詢到的連接池對象中獲得連接資源;其中,所述內存的連接池管理表中記錄了對應每個數據庫建立的連接池對象,連接池對象中的每個連接資源都用于連接到該連接池對象對應的數據庫;
依據所述連接資源連接相應數據庫,并將本次連接記錄到數據庫連接管理表中;其中,所述數據庫連接管理表中保存了連接到每個數據庫的連接記錄;
依據所述操作類型執行相應的數據庫操作,并將操作結果返回;
檢測所述連接資源管理表,并依據該檢測對連接進行回收。
2.根據權利要求1所述的方法,其特征在于,如果沒有查詢到與所述目標連接的關鍵字相匹配的連接池對象,則從查詢到的連接池對象中分配連接資源之前,還包括:
從磁盤上查詢與所述目標連接的關鍵字相匹配的連接池配置信息,依據所述配置信息在內存建立新的連接池對象,并將所述新的連接池對象添加到所述連接池管理表中。
3.根據權利要求1或2所述的方法,其特征在于,如果一個數據庫根據操作類型建立了多個連接池對象,則還包括:
根據操作類型和目標連接的關鍵字查詢內存的連接池管理表中是否有相匹配的連接池對象。
4.根據權利要求1所述的方法,其特征在于,所述連接池管理表采用“關鍵字-值”結構的哈希表管理所有已建立的連接池對象;
則所述在內存的連接池管理表中查詢與所述目標連接的關鍵字相匹配的連接池對象,包括:
查詢所述哈希表中與所述目標連接的關鍵字相匹配的哈希表關鍵字;
該哈希表關鍵字對應的值指向內存中的一個連接池對象。
5.根據權利要求1所述的方法,其特征在于,還包括:
根據請求的內容判斷請求類型,所述請求類型包括單庫操作請求和分布式操作請求;
如果是分布式操作請求,則:
將所述請求內容進行拆分,并獲取對應每個單庫的操作類型和目標連接的關鍵字;
在內存的連接池管理表中查詢與每個目標連接的關鍵字相匹配的連接池對象,并從查詢到的連接池對象中獲得連接資源;
依據每個連接資源分別連接相應的數據庫,并將本次連接記錄到數據庫連接管理表中;
依據每個操作類型分別執行相應的單庫操作,并將單庫的操作結果進行合并后返回;
檢測所述連接資源管理表,并依據該檢測對連接進行回收。
6.根據權利要求1所述的方法,其特征在于,所述檢測所述連接資源管理表,并依據該檢測對連接進行回收,包括:
統計當前連接的最后一次訪問時間和訪問次數;
檢測所述連接資源管理表中對應當前連接池對象的連接數量是否超過配置的上限,如果超過,則啟動異步線程進行連接的回收。
7.根據權利要求6所述的方法,其特征在于,所述異步線程進行的連接的回收包括:
檢測所述當前連接池對象中超時的連接,并將所述超時的連接放入第一回收列表中。
8.根據權利要求7所述的方法,其特征在于,如果所述當前連接池對象中未超時的連接數量仍超過配置的上限,則所述異步線程進行的連接的回收還包括:
計算預備回收數量;
檢測所述當前連接池對象中各連接的權重,并將符合所述預備回收數量的權重小的連接放入第二回收列表中;
將所述第一回收列表和第二回收列表進行合并,并將合并后的回收列表中的連接進行銷毀。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210103841.6/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種新型雙鋼板混凝土連梁與混凝土剪力墻的組合節點
- 下一篇:一種道路檢測車





