[發(fā)明專(zhuān)利]數(shù)據(jù)庫(kù)游標(biāo)的控制方法與數(shù)據(jù)庫(kù)系統(tǒng)有效
| 申請(qǐng)?zhí)枺?/td> | 201710323310.0 | 申請(qǐng)日: | 2017-05-09 |
| 公開(kāi)(公告)號(hào): | CN107145582B | 公開(kāi)(公告)日: | 2022-01-04 |
| 發(fā)明(設(shè)計(jì))人: | 劉遠(yuǎn)鳳 | 申請(qǐng)(專(zhuān)利權(quán))人: | 深圳TCL新技術(shù)有限公司 |
| 主分類(lèi)號(hào): | G06F16/21 | 分類(lèi)號(hào): | G06F16/21 |
| 代理公司: | 深圳市世紀(jì)恒程知識(shí)產(chǎn)權(quán)代理事務(wù)所 44287 | 代理人: | 宋朝政 |
| 地址: | 518052 廣東省深圳市南山區(qū)中*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 數(shù)據(jù)庫(kù) 游標(biāo) 控制 方法 系統(tǒng) | ||
本發(fā)明公開(kāi)了一種數(shù)據(jù)庫(kù)游標(biāo)的控制方法和數(shù)據(jù)庫(kù)系統(tǒng),該數(shù)據(jù)庫(kù)游標(biāo)的控制方法包括:當(dāng)檢測(cè)到數(shù)據(jù)庫(kù)激活游標(biāo)時(shí),記錄激活的游標(biāo)及其游標(biāo)級(jí)別,以獲得所有已激活游標(biāo)的排序列表;當(dāng)檢測(cè)到排序列表中存在已激活且閑置的低級(jí)別游標(biāo)時(shí),釋放低級(jí)別游標(biāo)占用的內(nèi)存資源。本發(fā)明在內(nèi)存資源不足時(shí),根據(jù)游標(biāo)級(jí)別關(guān)閉游標(biāo)進(jìn)行資源釋放,有效解決數(shù)據(jù)庫(kù)游標(biāo)導(dǎo)致的內(nèi)存泄露。
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)庫(kù)技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)庫(kù)游標(biāo)的控制方法與數(shù)據(jù)庫(kù)系統(tǒng)。
背景技術(shù)
在數(shù)據(jù)庫(kù)系統(tǒng)中,經(jīng)常存在無(wú)法回收的內(nèi)存資源或正在使用的內(nèi)存資源過(guò)多,造成系統(tǒng)中的可用內(nèi)存越來(lái)越少,導(dǎo)致系統(tǒng)運(yùn)行不流暢。
在數(shù)據(jù)庫(kù)系統(tǒng)中通常會(huì)應(yīng)用到游標(biāo),當(dāng)游標(biāo)被引用后沒(méi)有及時(shí)關(guān)閉,容易增大內(nèi)存溢出機(jī)率,這樣會(huì)導(dǎo)致系統(tǒng)運(yùn)行越來(lái)越慢,直到宕機(jī)。目前內(nèi)存泄露工具一般采用內(nèi)存檢查工具分析出系統(tǒng)的靜態(tài)內(nèi)存錯(cuò)誤,但無(wú)法實(shí)時(shí)監(jiān)測(cè)并關(guān)閉游標(biāo),這將導(dǎo)致數(shù)據(jù)庫(kù)系統(tǒng)在出現(xiàn)內(nèi)存資源不足的情況時(shí),系統(tǒng)會(huì)因缺少內(nèi)存運(yùn)行資源而出現(xiàn)卡頓、宕機(jī)甚至系統(tǒng)崩潰等問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種數(shù)據(jù)庫(kù)游標(biāo)的控制方法與數(shù)據(jù)庫(kù)系統(tǒng),旨在解決數(shù)據(jù)庫(kù)系統(tǒng)因游標(biāo)未關(guān)閉造成系統(tǒng)內(nèi)存資源不足,導(dǎo)致系統(tǒng)無(wú)法正常運(yùn)行的技術(shù)問(wèn)題。
為實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例提供一種數(shù)據(jù)庫(kù)游標(biāo)的控制方法,所述游標(biāo)設(shè)置有游標(biāo)級(jí)別,其中包括低級(jí)別游標(biāo),所述數(shù)據(jù)庫(kù)游標(biāo)的控制方法包括:
當(dāng)檢測(cè)到數(shù)據(jù)庫(kù)激活游標(biāo)時(shí),記錄激活的游標(biāo)及其游標(biāo)級(jí)別,以獲得所有已激活游標(biāo)的排序列表;
當(dāng)檢測(cè)到排序列表中存在已激活且閑置的低級(jí)別游標(biāo)時(shí),釋放低級(jí)別游標(biāo)占用的內(nèi)存資源。
可選地,所述當(dāng)檢測(cè)到排序列表中存在已激活且閑置的低級(jí)別游標(biāo)時(shí),釋放低級(jí)別游標(biāo)占用的內(nèi)存資源的步驟之后還包括:
統(tǒng)計(jì)當(dāng)前數(shù)據(jù)庫(kù)系統(tǒng)的閑置內(nèi)存資源,以獲得對(duì)應(yīng)的統(tǒng)計(jì)參數(shù);
當(dāng)檢測(cè)到統(tǒng)計(jì)參數(shù)小于預(yù)設(shè)閾值時(shí),釋放排序列表中所有已激活游標(biāo)占用的內(nèi)存資源。
可選地,所述當(dāng)檢測(cè)到統(tǒng)計(jì)參數(shù)小于預(yù)設(shè)閾值時(shí),釋放排序列表中所有已激活游標(biāo)占用的內(nèi)存資源的步驟之后還包括:
存儲(chǔ)本次釋放內(nèi)存資源的所有事件信息,以作為內(nèi)存資源優(yōu)化的依據(jù)。
可選地,所述當(dāng)檢測(cè)到統(tǒng)計(jì)參數(shù)小于預(yù)設(shè)閾值時(shí),釋放所述排序列表中所有已激活游標(biāo)占用的內(nèi)存資源的步驟包括:
當(dāng)檢測(cè)到統(tǒng)計(jì)參數(shù)小于預(yù)設(shè)閾值時(shí),顯示當(dāng)前排序列表中所有的已激活游標(biāo),以供用戶選擇;
基于用戶選擇的預(yù)選游標(biāo),釋放預(yù)選游標(biāo)占用的內(nèi)存資源。
可選地,所述當(dāng)檢測(cè)到統(tǒng)計(jì)參數(shù)小于預(yù)設(shè)閾值時(shí),釋放所述排序列表中所有已激活游標(biāo)占用的內(nèi)存資源的步驟包括:
當(dāng)檢測(cè)到統(tǒng)計(jì)參數(shù)小于預(yù)設(shè)閾值時(shí),獲取排序列表中所有已激活游標(biāo)的內(nèi)存資源的釋放權(quán)限;
當(dāng)檢測(cè)到釋放權(quán)限未能成功釋放所有已激活游標(biāo)占用的內(nèi)存資源時(shí),強(qiáng)制獲取數(shù)據(jù)庫(kù)系統(tǒng)的最高權(quán)限;
基于最高權(quán)限釋放所有已激活游標(biāo)占用的內(nèi)存資源。
此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種數(shù)據(jù)庫(kù)系統(tǒng),所述數(shù)據(jù)庫(kù)系統(tǒng)中設(shè)置有游標(biāo),且所述游標(biāo)設(shè)置有游標(biāo)級(jí)別,其中包括低級(jí)別游標(biāo),所述數(shù)據(jù)庫(kù)系統(tǒng)包括:
記錄模塊,用于當(dāng)檢測(cè)到數(shù)據(jù)庫(kù)激活游標(biāo)時(shí),記錄激活的游標(biāo)及其游標(biāo)級(jí)別,以獲得所有已激活游標(biāo)的排序列表;
第一釋放模塊,用于當(dāng)檢測(cè)到排序列表中存在已激活且閑置的低級(jí)別游標(biāo)時(shí),釋放低級(jí)別游標(biāo)占用的內(nèi)存資源。
可選地,所述數(shù)據(jù)庫(kù)系統(tǒng)還包括:
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于深圳TCL新技術(shù)有限公司,未經(jīng)深圳TCL新技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/201710323310.0/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 上一篇:一種帶有干燥裝置的戶外充電樁
- 下一篇:免手扶吸奶器
- 數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)管理系統(tǒng)及數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)構(gòu)筑裝置、數(shù)據(jù)庫(kù)檢索裝置、數(shù)據(jù)庫(kù)裝置、數(shù)據(jù)庫(kù)構(gòu)筑方法、以及數(shù)據(jù)庫(kù)檢索方法
- 數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)處理方法
- 數(shù)據(jù)庫(kù)系統(tǒng)、數(shù)據(jù)庫(kù)更新方法、數(shù)據(jù)庫(kù)以及數(shù)據(jù)庫(kù)更新程序
- 容器數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)同步方法及數(shù)據(jù)庫(kù)
- 一種MongoDB數(shù)據(jù)庫(kù)對(duì)象復(fù)制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲(chǔ)方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 數(shù)據(jù)庫(kù)語(yǔ)句執(zhí)行方法及裝置
- 一種數(shù)據(jù)庫(kù)讀寫(xiě)分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





