[發明專利]一種數據庫連接的管理方法及系統有效
| 申請號: | 201210103841.6 | 申請日: | 2012-04-10 |
| 公開(公告)號: | CN103365929A | 公開(公告)日: | 2013-10-23 |
| 發明(設計)人: | 謝宇 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京潤澤恒知識產權代理有限公司 11319 | 代理人: | 蘇培華 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 開曼群島;KY |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據庫連接 管理 方法 系統 | ||
技術領域
本申請涉及數據庫技術領域,特別是涉及一種數據庫連接的管理方法及系統。
背景技術
數據庫連接是一種關鍵的有限的昂貴的資源,這一點在多用戶的網頁應用程序中體現得尤為突出。對數據庫連接的管理能顯著影響到整個應用程序的伸縮性和健壯性,影響到程序的性能指標。
傳統的數據庫連接方式中,一個數據庫連接對象均對應一個物理數據庫連接,數據庫連接的建立以及關閉對系統而言是耗費系統資源的操作。
數據庫連接池正是針對這個問題提出來的。數據庫連接池在初始化時將創建一定數量的數據庫連接放到連接池中,數據庫連接池負責分配、管理和釋放這些數據庫連接。具體的,數據庫連接池允許應用程序重復使用一個現有的數據庫連接,而再不必重新建立一個;而且,通過釋放空閑時間超過最大空閑時間的數據庫連接,來避免因為沒有釋放數據庫連接而引起的數據庫連接遺漏。通過數據庫連接池,應用程序可以減少對數據庫連接操作,因此這項技術能明顯提高對數據庫操作的性能。
目前,一些大型或復雜的應用系統中,都會使用數據庫連接池技術來管理數據庫連接資源。現有技術中,通常一個數據庫對應建立一個連接池,各個連接池的管理都相互獨立。但是,隨著業務的增加,數據庫也會隨之增加,例如,互聯網應用的數據庫隨著業務的增加而不斷增加,并且不斷融入各種類型的數據庫,如RDBMS數據庫(Relational?DataBase?Management?System,關系型數據庫管理系統)、nosql數據庫(非關系型的數據庫)等,平均每年增加管理的連接池數量成百上千地增長。
在這種情況下,針對數以千計的數據庫連接池,如何控制連接資源以提高訪問效率,是后臺管理中非常關鍵的技術問題。
發明內容
本申請提供了一種數據庫連接的管理方法及系統,以解決很多個連接池資源的管理問題。
為了解決上述問題,本申請公開了一種數據庫連接的管理方法,包括:
接收客戶端發來的數據庫訪問請求,并從該請求的內容中獲取操作類型和目標連接的關鍵字;
在內存的連接池管理表中查詢與所述目標連接的關鍵字相匹配的連接池對象,并從查詢到的連接池對象中獲得連接資源;其中,所述內存的連接池管理表中記錄了對應每個數據庫建立的連接池對象,連接池對象中的每個連接資源都用于連接到該連接池對象對應的數據庫;
依據所述連接資源連接相應數據庫,并將本次連接記錄到數據庫連接管理表中;其中,所述數據庫連接管理表中保存了連接到每個數據庫的連接記錄;
依據所述操作類型執行相應的數據庫操作,并將操作結果返回;
檢測所述連接資源管理表,并依據該檢測對連接進行回收。
優選地,如果沒有查詢到與所述目標連接的關鍵字相匹配的連接池對象,則從查詢到的連接池對象中分配連接資源之前,還包括:從磁盤上查詢與所述目標連接的關鍵字相匹配的連接池配置信息,依據所述配置信息在內存建立新的連接池對象,并將所述新的連接池對象添加到所述連接池管理表中。
優選地,如果一個數據庫根據操作類型建立了多個連接池對象,則還包括:根據操作類型和目標連接的關鍵字查詢內存的連接池管理表中是否有相匹配的連接池對象。
優選地,所述連接池管理表采用“關鍵字-值”結構的哈希表管理所有已建立的連接池對象;則所述在內存的連接池管理表中查詢與所述目標連接的關鍵字相匹配的連接池對象,包括:查詢所述哈希表中與所述目標連接的關鍵字相匹配的哈希表關鍵字;該哈希表關鍵字對應的值指向內存中的一個連接池對象。
優選地,所述方法還包括:根據請求的內容判斷請求類型,所述請求類型包括單庫操作請求和分布式操作請求;如果是分布式操作請求,則:將所述請求內容進行拆分,并獲取對應每個單庫的操作類型和目標連接的關鍵字;在內存的連接池管理表中查詢與每個目標連接的關鍵字相匹配的連接池對象,并從查詢到的連接池對象中獲得連接資源;依據每個連接資源分別連接相應的數據庫,并將本次連接記錄到數據庫連接管理表中;依據每個操作類型分別執行相應的單庫操作,并將單庫的操作結果進行合并后返回;檢測所述連接資源管理表,并依據該檢測對連接進行回收。
優選地,所述檢測所述連接資源管理表,并依據該檢測對連接進行回收,包括:統計當前連接的最后一次訪問時間和訪問次數;檢測所述連接資源管理表中對應當前連接池對象的連接數量是否超過配置的上限,如果超過,則啟動異步線程進行連接的回收。
優選地,所述異步線程進行的連接的回收包括:檢測所述當前連接池對象中超時的連接,并將所述超時的連接放入第一回收列表中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210103841.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種新型雙鋼板混凝土連梁與混凝土剪力墻的組合節點
- 下一篇:一種道路檢測車





