[發明專利]一種數據庫管理系統連接復用方法及裝置有效
| 申請號: | 201210453646.6 | 申請日: | 2012-11-13 |
| 公開(公告)號: | CN103810203B | 公開(公告)日: | 2018-02-27 |
| 發明(設計)人: | 程彬;李宇 | 申請(專利權)人: | 深圳市騰訊計算機系統有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 深圳市深佳知識產權代理事務所(普通合伙)44285 | 代理人: | 王仲凱 |
| 地址: | 518057 廣東省深圳市南*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據庫 管理 系統 連接 方法 裝置 | ||
技術領域
本發明屬于數據存儲技術領域,尤其涉及一種數據庫管理系統連接復用方法及裝置。
背景技術
在現有封裝mysql操作的客戶端庫或者實現mysql讀寫分離的代理模塊中,采取了基于線程的連接復用技術,將數據庫連接作為對象存儲在一個容器對象中,一旦數據庫連接建立后,不同的數據庫訪問請求就可以共享這些連接,這樣,通過復用這些已經建立的數據庫連接,減少建立數據庫連接的時間,極大的節省系統資源和時間,提高整個系統的性能。其中,mysql是一種關聯數據庫管理系統,關聯數據庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,增加了速度并提高了靈活性;連接復用技術為通過建立一個數據庫連接池以及一套連接使用、分配、管理策略,使得該連接池中的連接可以得到高效、安全的復用,避免了數據庫連接頻繁建立、關閉的開銷。連接復用主要機制包括:1、建立數據庫連接池(數據庫連接池負責分配、管理和釋放數據庫連接,它允許應用程序重復使用一個現有的數據庫連接,而再不是重新建立一個;釋放空閑時間超過最大空閑時間的數據庫連接來避免因為沒有釋放數據庫連接而引起的數據庫連接遺漏)對象并創建好指定數量的數據庫連接;2、對于一個數據庫訪問請求,從連接池中得到一個空閑連接,如果數據庫連接池中沒有空閑連接且連接數沒有超過閾值則創建一個新的數據庫連接。
現有基于線程的MySQL連接復用技術存在以下缺點:一、系統資源開銷大;采取每個MySQL連接使用一個線程的方式,由于線程切換和線程管理會帶來額外的系統資源開銷,從而影響總體性能;二、使用受到限制;在現有技術中,如果某個mysql連接不是空閑狀態(使用方沒有關閉或者交換連接),則該連接一直不能被復用,連接復用效果依賴于使用方,使用效率不高。
發明內容
本發明提供了一種數據庫管理系統連接復用方法及裝置,旨在解決現有基于線程的MySQL連接復用技術系統資源開銷大且使用效率不高的問題。
本發明是這樣實現的,一種數據庫管理系統連接復用方法,包括:
建立數據庫連接池對象,并創建數據庫連接請求;
分析結構化查詢語言,根據結構化查詢語言類型及處理狀態判斷數據庫連接池中是否存在空閑狀態的可復用連接,如果存在,執行下一步驟;
選取該空閑狀態的可復用連接進行復用。
本發明實施例的技術方案還包括:所述建立數據庫連接池對象步驟還包括:設置連接池連接數的閥值,所述創建數據庫連接請求步驟還包括:判斷連接池中的連接數是否超過閾值,如果連接池中的連接數沒有超過閾值,則創建一個新連接;如果連接池中的連接數超過閾值,則分析結構化查詢語言。
本發明實施例的技術方案還包括:所述根據結構化查詢語言類型及處理狀態判斷數據庫連接池中是否存在空閑狀態的可復用連接步驟還包括:分析結構化查詢語言類型,根據結構化查詢語言類型判斷數據庫連接池中是否存在可復用的連接,如果連接池中存在可復用的連接,分析該連接的結構化查詢語言處理狀態;如果連接池中不存在可復用的連接,結束本次連接。
本發明實施例的技術方案還包括:所述根據結構化查詢語言類型及處理狀態判斷數據庫連接池中是否存在空閑狀態的可復用連接步驟還包括:選取該可復用的連接,并分析連接的結構化查詢語言處理狀態,根據結構化查詢語言處理狀態判斷連接是否為空閑狀態,如果連接為空閑狀態,選取該空閑狀態的可復用連接進行復用;如果連接為非空閑狀態,結束本次連接。
本發明實施例的技術方案還包括:所述分析結構化查詢語言類型,根據結構化查詢語言類型判斷數據庫連接池中是否存在可復用的連接包括:根據結構化查詢語言類型設置連接是否為可復用連接,設置的準則是:如果結構化查詢語言類型具備上下文,則連接為不可復用的連接;如果結構化查詢語言類型不具備上下文,則連接為可復用的連接。
本發明實施例的技術方案還包括:所述分析該連接的結構化查詢語言處理狀態,根據結構化查詢語言處理狀態判斷該連接是否為空閑狀態包括:根據結構化查詢語言是否處理完畢來設置連接是否空閑,設置的準則是:如果結構化查詢語言處理完畢則該連接為空閑狀態;如果結構化查詢語言沒有處理完畢則該連接為非空閑狀態。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市騰訊計算機系統有限公司,未經深圳市騰訊計算機系統有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210453646.6/2.html,轉載請聲明來源鉆瓜專利網。





