[發明專利]數據庫連接管理方法及系統有效
| 申請號: | 201310050150.9 | 申請日: | 2013-02-06 |
| 公開(公告)號: | CN103970807B | 公開(公告)日: | 2017-04-19 |
| 發明(設計)人: | 董旗宇;朱宏華 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京潤澤恒知識產權代理有限公司11319 | 代理人: | 蘇培華 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據庫連接 管理 方法 系統 | ||
技術領域
本申請涉及計算機數據處理技術領域,特別是涉及一種數據庫連接管理方法及系統。
背景技術
軟件系統的數據操作通常都是在數據庫中,當需要進行數據讀寫操作時,通過與數據庫建立連接的方式來實現。通常情況下,軟件系統與數據庫都是采用在需要時建立連接,而不需要時關閉連接的方式。在實際應用中,軟件系統運行時通常具有高峰期和低谷期,而軟件系統使用數據庫時通常會配置最大連接數和最小連接數。這個連接數配置通常都是針對高峰時期來設置的,對于低谷期來說,被使用的連接可能會很少,因此,針對高峰期配置的最大連接數和最小連接數會造成較大的資源浪費。特別的,對于某些數據庫的連接數是需要購買的時候,此種配置方式無疑會增加使用成本,同時連接數的實際利用率很低。
為了提高連接的利用率,通常會建立數據庫連接管理系統來對數據庫的連接進行管理,一個數據庫管理系統對應一個數據庫。在管理系統中建立工作線程或者連接池的方式,通過將SQL請求分配到工作線程上執行或者通過連接池進行SQL請求的管理。此種方式在一定程度上提高了連接的利用率,但是,因為每一個數據庫是獨立的,當有多個軟件系統以及多個數據庫時,無法實現數據庫連接的共享,連接的利用率還是無法得到提高。
發明內容
本申請提供一種數據庫連接管理方法及系統,能夠解決數據庫連接利用率低的問題。
為了解決上述問題,本申請公開了一種數據庫連接管理方法,其特征在于,包括:
在代理服務器與應用服務器連接后,代理服務器接收應用服務器轉發的客戶端信息,代理服務器進入數據庫連接管理步驟,所述數據庫連接管理步驟包括:
接收應用服務器轉發的客戶端的SQL請求;
當判斷所述SQL請求是初次接收的針對結果集的SQL請求時,從未綁定的連接中取出一個連接,通過所述連接從對應數據庫獲取當前查詢段的查詢結果;
將所述查詢結果和所述連接進行綁定,為所述連接分配連接ID,并將所述查詢結果和連接ID一起發送給客戶端;所述連接ID用于攜帶在所述客戶端再次針對同一結果集發送后續的SQL請求中;
當判斷所述SQL請求是針對結果集的SQL請求但不是初次接收的SQL請求時,提取對應所述SQL請求的連接ID并根據所述連接ID查找對應的連接,通過所述連接從對應數據庫獲取當前查詢段的查詢結果。
優選的,還包括:針對同一結果集,當判斷所述結果集的SQL請求不需要繼續綁定所述連接后,將所述連接與查詢結果解綁。
優選的,針對同一結果集,當判斷所述結果集的SQL請求不需要繼續綁定所述連接后,將所述連接與查詢結果解綁包括:
通過所述連接向數據庫請求得到的當前查詢段的查詢結果后,判斷針對所述結果集的所有數據全部取出,則將所述連接與查詢結果解綁。
優選的,針對同一結果集,當判斷所述結果集的SQL請求不需要繼續綁定所述連接后,將所述連接與查詢結果解綁包括:
記錄所述連接的綁定時間,當所述綁定時間超過閾值時,則將所述連接與查詢結果解綁。
本申請還公開了一種數據庫連接管理方法,包括:
在代理服務器與應用服務器連接后,代理服務器接收應用服務器轉發的客戶端信息,代理服務器進入數據庫連接管理步驟,所述數據庫連接管理步驟包括:
接收應用服務器轉發的客戶端的SQL請求;
當判斷所述SQL請求是初次接收的針對事務的SQL請求時,從未綁定的連接中選擇一個連接與對應所述事務SQL請求的事務綁定,并通過所述連接接到對應數據庫處理所述SQL請求;
為所述連接分配一個連接ID,并將所述連接ID返回給客戶端;所述連接ID用于攜帶在所述客戶端再次針對同一事務發送后續的SQL請求中;
當判斷所述SQL請求是針對事務的SQL請求但不是初次接收的SQL請求時,提取對應所述事務SQL請求的連接ID;并根據所述連接ID提取對應的連接,并通過所述連接接到對應數據庫處理所述SQL請求。
優選的,還包括:針對同一事務,當判斷所述事務的SQL請求不需要繼續使用所述連接后,將所述連接與所述事務解綁。
優選的,針對同一事務,當判斷所述事務的SQL請求不需要繼續使用所述連接后,將所述連接與所述事務解綁包括:
當客戶端發送的SQL請求中包括事務結束命令時,則判斷所述事務的SQL請求或者結果集分段SQL請求不需要繼續使用所述連接。
本申請還公開了一種數據庫連接管理系統,包括:
代理服務器,應用服務器,數據庫;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310050150.9/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種緩速器電磁線圈防火裝置
- 下一篇:一種產生數據的方法和裝置





