[發明專利]數據庫游標的控制方法與數據庫系統有效
| 申請號: | 201710323310.0 | 申請日: | 2017-05-09 |
| 公開(公告)號: | CN107145582B | 公開(公告)日: | 2022-01-04 |
| 發明(設計)人: | 劉遠鳳 | 申請(專利權)人: | 深圳TCL新技術有限公司 |
| 主分類號: | G06F16/21 | 分類號: | G06F16/21 |
| 代理公司: | 深圳市世紀恒程知識產權代理事務所 44287 | 代理人: | 宋朝政 |
| 地址: | 518052 廣東省深圳市南山區中*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據庫 游標 控制 方法 系統 | ||
本發明公開了一種數據庫游標的控制方法和數據庫系統,該數據庫游標的控制方法包括:當檢測到數據庫激活游標時,記錄激活的游標及其游標級別,以獲得所有已激活游標的排序列表;當檢測到排序列表中存在已激活且閑置的低級別游標時,釋放低級別游標占用的內存資源。本發明在內存資源不足時,根據游標級別關閉游標進行資源釋放,有效解決數據庫游標導致的內存泄露。
技術領域
本發明涉及數據庫技術領域,尤其涉及一種數據庫游標的控制方法與數據庫系統。
背景技術
在數據庫系統中,經常存在無法回收的內存資源或正在使用的內存資源過多,造成系統中的可用內存越來越少,導致系統運行不流暢。
在數據庫系統中通常會應用到游標,當游標被引用后沒有及時關閉,容易增大內存溢出機率,這樣會導致系統運行越來越慢,直到宕機。目前內存泄露工具一般采用內存檢查工具分析出系統的靜態內存錯誤,但無法實時監測并關閉游標,這將導致數據庫系統在出現內存資源不足的情況時,系統會因缺少內存運行資源而出現卡頓、宕機甚至系統崩潰等問題。
發明內容
本發明的主要目的在于提供一種數據庫游標的控制方法與數據庫系統,旨在解決數據庫系統因游標未關閉造成系統內存資源不足,導致系統無法正常運行的技術問題。
為實現上述目的,本發明實施例提供一種數據庫游標的控制方法,所述游標設置有游標級別,其中包括低級別游標,所述數據庫游標的控制方法包括:
當檢測到數據庫激活游標時,記錄激活的游標及其游標級別,以獲得所有已激活游標的排序列表;
當檢測到排序列表中存在已激活且閑置的低級別游標時,釋放低級別游標占用的內存資源。
可選地,所述當檢測到排序列表中存在已激活且閑置的低級別游標時,釋放低級別游標占用的內存資源的步驟之后還包括:
統計當前數據庫系統的閑置內存資源,以獲得對應的統計參數;
當檢測到統計參數小于預設閾值時,釋放排序列表中所有已激活游標占用的內存資源。
可選地,所述當檢測到統計參數小于預設閾值時,釋放排序列表中所有已激活游標占用的內存資源的步驟之后還包括:
存儲本次釋放內存資源的所有事件信息,以作為內存資源優化的依據。
可選地,所述當檢測到統計參數小于預設閾值時,釋放所述排序列表中所有已激活游標占用的內存資源的步驟包括:
當檢測到統計參數小于預設閾值時,顯示當前排序列表中所有的已激活游標,以供用戶選擇;
基于用戶選擇的預選游標,釋放預選游標占用的內存資源。
可選地,所述當檢測到統計參數小于預設閾值時,釋放所述排序列表中所有已激活游標占用的內存資源的步驟包括:
當檢測到統計參數小于預設閾值時,獲取排序列表中所有已激活游標的內存資源的釋放權限;
當檢測到釋放權限未能成功釋放所有已激活游標占用的內存資源時,強制獲取數據庫系統的最高權限;
基于最高權限釋放所有已激活游標占用的內存資源。
此外,為實現上述目的,本發明還提供一種數據庫系統,所述數據庫系統中設置有游標,且所述游標設置有游標級別,其中包括低級別游標,所述數據庫系統包括:
記錄模塊,用于當檢測到數據庫激活游標時,記錄激活的游標及其游標級別,以獲得所有已激活游標的排序列表;
第一釋放模塊,用于當檢測到排序列表中存在已激活且閑置的低級別游標時,釋放低級別游標占用的內存資源。
可選地,所述數據庫系統還包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳TCL新技術有限公司,未經深圳TCL新技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710323310.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種帶有干燥裝置的戶外充電樁
- 下一篇:免手扶吸奶器





