[發明專利]數據庫連接復用方法和裝置在審
| 申請號: | 201210275184.3 | 申請日: | 2012-08-03 |
| 公開(公告)號: | CN103577469A | 公開(公告)日: | 2014-02-12 |
| 發明(設計)人: | 程彬;李宇 | 申請(專利權)人: | 深圳市騰訊計算機系統有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京中博世達專利商標代理有限公司 11274 | 代理人: | 申健 |
| 地址: | 510075 廣東省深圳市南*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據庫連接 方法 裝置 | ||
技術領域
本發明涉及計算機技術領域,尤其涉及一種數據庫連接復用方法和裝置。
背景技術
SQL(Structured?Query?Language,結構化查詢語言)是一種數據庫查詢和程序設計語言,用于存取數據以及管理關系數據庫系統。MySQL是一種關系數據庫管理系統,關系數據庫基于關系數據模型將數據保存在不同的表中,在保證靈活性的同時又保持了一定的存取速度。
現有的MySQL中,通常采用基于線程的連接復用技術,即將數據庫連接作為對象存儲在一個容器中,數據庫連接建立后,不同的數據庫訪問請求就可以共享這些數據庫連接?;诰€程的連接復用技術的主要機制如下:首先建立數據庫連接池對象,并創建好指定數量的數據庫連接;為數據庫訪問請求在連接池中尋找一個空閑的連接;如果無法在數據庫連接池中找到空閑的數據庫連接,且數據庫連接的數量沒有超過預設的閾值,則創建一個新的數據庫連接。
復用已經建立的數據庫連接,雖然能減少建立數據庫連接的開銷,但發明人發現這種復用技術至少具有如下缺點:由于每個客戶端始終占用一個線程,如果客戶端沒有關閉或者斷開該連接,則該連接一直不能被復用,這樣往往會形成大量沒有數據庫操作的空閑時間,此外,線程的頻繁創建和調度會加大系統資源的開銷,影響了系統總體的性能。
發明內容
本發明的實施例所要解決的技術問題在于提供一種數據庫連接復用方法和裝置,能夠提高系統資源的利用率,從而提高系統總體的性能。
為解決上述技術問題,本發明的實施例采用如下技術方案:
一種數據庫連接復用方法,包括:
第一進程接收客戶端發送的第一連接請求信息,并將所述第一連接請求信息發送給第二進程;
所述第二進程根據所述第一連接請求信息處理連接復用邏輯,得到包含目的數據庫路徑的第二連接信息,并將所述第二連接信息發送給第三進程;
所述第三進程將所述第二連接信息發送給數據庫管理系統,以使所述數據庫管理系統根據所述第二連接信息返回請求的數據至所述客戶端;
所述第一進程、第二進程和所述第三進程之間的通信使用唯一的連接標識ID來標識每個連接。
所述第一進程與所述第二進程之間,以及所述第二進程與所述第三進程之間的通信方式均為異步通信方式。
在所述第一進程接收客戶端發送的數據庫連接請求后,還包括:
所述第一進程為每個連接分配唯一的連接標識ID(Identity)。
所述數據庫管理系統根據所述第二連接信息返回請求的數據至所述客戶端,包括:
所述第三進程接收所述數據庫管理系統返回的所述請求的數據,并將所述請求的數據發送給第二進程;
所述第二進程接收所述請求的數據,根據所述連接復用邏輯查找對應的所述客戶端,并將所述請求的數據發送至所述第一進程,以使所述第一進程將所述請求的數據發送給所述客戶端。
所述第一進程、第二進程和第三進程之間通過管道與共享內存進行進程間通信,所述第一進程將生成的所述ID發送至所述共享內存中,以使所述第二進程和第三進程從所述共享內存中讀取所述ID。
所述數據庫管理系統包括MySQL。
一種數據庫連接復用裝置,其特征在于,包括:
第一處理模塊,用于接收客戶端發送的第一連接請求信息,并將所述第一連接請求信息發送給第二處理模塊;
第二處理模塊,用于根據所述第一連接請求信息處理連接復用邏輯,得到包含目的數據庫路徑的第二連接信息,并將所述第二連接信息發送給第三處理模塊;
第三處理模塊,用于將所述第二連接信息發送給數據庫管理系統,以使所述數據庫管理系統根據所述第二連接信息返回請求的數據至所述客戶端;
所述第一進程、第二進程和所述第三進程之間的通信使用唯一的連接標識ID來標識每個連接。
所述第一處理模塊與所述第二處理模塊之間,以及所述第二處理模塊與所述第三處理模塊之間的通信方式均為異步通信方式。
所述第一處理模塊還用于為每個連接分配唯一的連接標識ID。
所述第一處理模塊、第二處理模塊和第三處理模塊之間通過管道與共享內存進行進程間通信,所述第一處理模塊將生成的所述ID發送至所述共享內存中,以使所述第二處理模塊和第三處理模塊從所述共享內存中讀取所述ID。
所述數據庫管理系統包括MySQL。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市騰訊計算機系統有限公司,未經深圳市騰訊計算機系統有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210275184.3/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種粉末冶金刀具及其制備方法
- 下一篇:中包水口定位器





