[發(fā)明專(zhuān)利]利用內(nèi)存數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)查詢(xún)的方法及系統(tǒng)有效
| 申請(qǐng)?zhí)枺?/td> | 201310717225.4 | 申請(qǐng)日: | 2013-12-23 |
| 公開(kāi)(公告)號(hào): | CN103761248B | 公開(kāi)(公告)日: | 2018-04-17 |
| 發(fā)明(設(shè)計(jì))人: | 謝足琦;樊進(jìn);張宏偉;賴(lài)洪波 | 申請(qǐng)(專(zhuān)利權(quán))人: | 遠(yuǎn)光軟件股份有限公司 |
| 主分類(lèi)號(hào): | G06F17/30 | 分類(lèi)號(hào): | G06F17/30 |
| 代理公司: | 廣東朗乾律師事務(wù)所44291 | 代理人: | 楊煥軍 |
| 地址: | 519808 廣東*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 利用 內(nèi)存 數(shù)據(jù)庫(kù) 進(jìn)行 數(shù)據(jù) 查詢(xún) 方法 系統(tǒng) | ||
1.利用內(nèi)存數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)查詢(xún)的方法,其特征在于,包括以下步驟:
1)建立監(jiān)控服務(wù),在監(jiān)控服務(wù)中設(shè)置實(shí)體,以及實(shí)體的加載SQL、加載策略,加載SQL為實(shí)體加載時(shí)在該實(shí)體所在的業(yè)務(wù)庫(kù)執(zhí)行的SQL,加載策略為實(shí)體的數(shù)據(jù)選擇條件;
2)針對(duì)每一個(gè)實(shí)體,結(jié)合對(duì)應(yīng)的加載策略,使用對(duì)應(yīng)的加載SQL從該實(shí)體所在的業(yè)務(wù)庫(kù)中選擇該實(shí)體中相應(yīng)的數(shù)據(jù),加載到內(nèi)存數(shù)據(jù)庫(kù)中,所述內(nèi)存數(shù)據(jù)庫(kù)采用異機(jī)部署;
3)接收查詢(xún)命令,在內(nèi)存數(shù)據(jù)庫(kù)中找出與查詢(xún)命令相應(yīng)的數(shù)據(jù)返回;
在步驟2)中,內(nèi)存數(shù)據(jù)庫(kù)中相應(yīng)地生成一實(shí)體狀態(tài)表,該實(shí)體狀態(tài)表記載有被加載到內(nèi)存數(shù)據(jù)庫(kù)中的每個(gè)實(shí)體的屬性,屬性包括實(shí)體名稱(chēng)、加載SQL、加載策略;
在步驟2)具體為監(jiān)控服務(wù)中的每個(gè)實(shí)體進(jìn)行以下操作:首先根據(jù)實(shí)體名稱(chēng)來(lái)判斷該實(shí)體在實(shí)體狀態(tài)表中有沒(méi)有記錄,如果沒(méi)有記錄則將該實(shí)體相應(yīng)的數(shù)據(jù)加載到內(nèi)存數(shù)據(jù)庫(kù)中,在實(shí)體狀態(tài)表記載該實(shí)體的屬性;如果有記錄則判斷該實(shí)體的此次加載策略是否與實(shí)體狀態(tài)表中對(duì)應(yīng)實(shí)體的加載策略一致;如果一致,則該實(shí)體的此次加載不需要進(jìn)行;如果不一致,則將內(nèi)存數(shù)據(jù)庫(kù)中該實(shí)體的數(shù)據(jù)刪除,并將該實(shí)體此次需要加載的數(shù)據(jù)加載到內(nèi)存數(shù)據(jù)庫(kù)中,同時(shí)更新實(shí)體狀態(tài)表中該實(shí)體的加載次數(shù)、最近加載時(shí)間、加載SQL、加載策略。
2.根據(jù)權(quán)利要求1所述的利用內(nèi)存數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)查詢(xún)的方法,其特征在于,在步驟1)中的監(jiān)控服務(wù)中設(shè)置實(shí)體的加載次序;在步驟2)中,按所述加載次序?qū)γ總€(gè)實(shí)體進(jìn)行有次序地加載。
3.根據(jù)權(quán)利要求1所述的利用內(nèi)存數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)查詢(xún)的方法,其特征在于,在步驟1)和步驟2)之間還包括步驟1’):遍歷實(shí)體表上所有實(shí)體,根據(jù)實(shí)體的最近加載時(shí)間、加載次數(shù)、實(shí)體大小計(jì)算出每一個(gè)實(shí)體的加載頻率,然后根據(jù)加載頻率從高到底依次將實(shí)體加載進(jìn)內(nèi)存數(shù)據(jù)庫(kù)。
4.根據(jù)權(quán)利要求1所述的利用內(nèi)存數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)查詢(xún)的方法,其特征在于,所述屬性還包括加載實(shí)體的實(shí)體行記錄數(shù)、實(shí)體行記錄大小;在步驟2)中,在每一次加載實(shí)體之前,判斷實(shí)體的預(yù)加載量與內(nèi)存數(shù)據(jù)庫(kù)的當(dāng)前使用量之和是否大于內(nèi)存閥值,如果大于則從內(nèi)存數(shù)據(jù)庫(kù)中將符合刪除條件的實(shí)體刪除,同時(shí)在實(shí)體狀態(tài)表中將與這些實(shí)體對(duì)應(yīng)的屬性刪除;實(shí)體預(yù)加載量=當(dāng)前加載實(shí)體的實(shí)體行記錄數(shù)×實(shí)體行記錄大小×計(jì)算誤差比率,計(jì)算誤差比=實(shí)際耗用內(nèi)存與計(jì)算值的比率。
5.根據(jù)權(quán)利要求1所述的利用內(nèi)存數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)查詢(xún)的方法,其特征在于,還包括定時(shí)刪除數(shù)據(jù)步驟:每隔一定時(shí)間,當(dāng)判斷到內(nèi)存數(shù)據(jù)庫(kù)的當(dāng)前使用量大于內(nèi)存閥值從內(nèi)存數(shù)據(jù)庫(kù)中將符合刪除條件的實(shí)體的數(shù)據(jù)刪除,同時(shí)在實(shí)體狀態(tài)表中將與這些符合刪除條件的實(shí)體對(duì)應(yīng)的屬性刪除。
6.利用內(nèi)存數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)查詢(xún)的系統(tǒng),其特征在于,包括:
1)設(shè)置模塊,用于建立監(jiān)控服務(wù),在監(jiān)控服務(wù)中設(shè)置實(shí)體,以及實(shí)體的加載SQL、加載策略,加載SQL為實(shí)體加載時(shí)在該實(shí)體所在的業(yè)務(wù)庫(kù)執(zhí)行的SQL,加載策略為實(shí)體的數(shù)據(jù)選擇條件;
2)加載模塊,用于對(duì)每一個(gè)實(shí)體,結(jié)合對(duì)應(yīng)的加載策略,使用對(duì)應(yīng)的加載SQL從該實(shí)體所在的業(yè)務(wù)庫(kù)中選擇該實(shí)體中相應(yīng)的數(shù)據(jù),加載到內(nèi)存數(shù)據(jù)庫(kù)中,所述內(nèi)存數(shù)據(jù)庫(kù)采用異機(jī)部署;
3)查詢(xún)模塊,用于接收查詢(xún)命令,在內(nèi)存數(shù)據(jù)庫(kù)中找出與查詢(xún)命令相應(yīng)的數(shù)據(jù)返回;
在加載模塊中,內(nèi)存數(shù)據(jù)庫(kù)中相應(yīng)地生成一實(shí)體狀態(tài)表,該實(shí)體狀態(tài)表記載有被加載到內(nèi)存數(shù)據(jù)庫(kù)中的每個(gè)實(shí)體的屬性,屬性包括實(shí)體名稱(chēng)、加載SQL、加載策略;
在加載模塊中為監(jiān)控服務(wù)中的每個(gè)實(shí)體進(jìn)行以下操作:首先根據(jù)實(shí)體名稱(chēng)來(lái)判斷該實(shí)體在實(shí)體狀態(tài)表中有沒(méi)有記錄,如果沒(méi)有記錄則將該實(shí)體相應(yīng)的數(shù)據(jù)加載到內(nèi)存數(shù)據(jù)庫(kù)中,在實(shí)體狀態(tài)表記載該實(shí)體的屬性;如果有記錄則判斷該實(shí)體的此次加載策略是否與實(shí)體狀態(tài)表中對(duì)應(yīng)實(shí)體的加載策略一致;如果一致,則該實(shí)體的此次加載不需要進(jìn)行;如果不一致,則將內(nèi)存數(shù)據(jù)庫(kù)中該實(shí)體的數(shù)據(jù)刪除,并將該實(shí)體此次需要加載的數(shù)據(jù)加載到內(nèi)存數(shù)據(jù)庫(kù)中,同時(shí)更新實(shí)體狀態(tài)表中該實(shí)體的加載次數(shù)、最近加載時(shí)間、加載SQL、加載策略。
7.根據(jù)權(quán)利要求6所述的利用內(nèi)存數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)查詢(xún)的系統(tǒng),其特征在于,在設(shè)置模塊中的監(jiān)控服務(wù)中設(shè)置實(shí)體的加載次序;在加載步驟中,按所述加載次序?qū)γ總€(gè)實(shí)體進(jìn)行有次序地加載。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于遠(yuǎn)光軟件股份有限公司,未經(jīng)遠(yuǎn)光軟件股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310717225.4/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F17-00 特別適用于特定功能的數(shù)字計(jì)算設(shè)備或數(shù)據(jù)處理設(shè)備或數(shù)據(jù)處理方法
G06F17-10 .復(fù)雜數(shù)學(xué)運(yùn)算的
G06F17-20 .處理自然語(yǔ)言數(shù)據(jù)的
G06F17-30 .信息檢索;及其數(shù)據(jù)庫(kù)結(jié)構(gòu)
G06F17-40 .數(shù)據(jù)的獲取和記錄
G06F17-50 .計(jì)算機(jī)輔助設(shè)計(jì)
- 數(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í)行方法及裝置
- 請(qǐng)求沒(méi)有進(jìn)行IMS注冊(cè)的用戶進(jìn)行注冊(cè)的方法
- 對(duì)要進(jìn)行紋理操作的像素進(jìn)行分組
- 對(duì)餐盤(pán)進(jìn)行溫度調(diào)節(jié)和進(jìn)行分配的獨(dú)立小車(chē)
- 對(duì)圖像進(jìn)行編碼
- 對(duì)任務(wù)進(jìn)行調(diào)度
- 對(duì)任務(wù)進(jìn)行調(diào)度
- 蛋糕(甜蜜進(jìn)行時(shí))
- 對(duì)定位輔助數(shù)據(jù)進(jìn)行分級(jí)和分組以進(jìn)行廣播
- 對(duì)物體進(jìn)行分離和定向以進(jìn)行供料
- 對(duì)工件進(jìn)行評(píng)價(jià)以進(jìn)行加工的方法





