[發(fā)明專利]一種基于SQLite快速加載技術(shù)的面向?qū)ο笥秒娦畔⒉杉K端有效
| 申請?zhí)枺?/td> | 201710201865.8 | 申請日: | 2017-03-30 |
| 公開(公告)號: | CN106874124B | 公開(公告)日: | 2023-04-14 |
| 發(fā)明(設(shè)計)人: | 張翔;侯海濤;孫啟龍 | 申請(專利權(quán))人: | 光一科技股份有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50 |
| 代理公司: | 北京德崇智捷知識產(chǎn)權(quán)代理有限公司 11467 | 代理人: | 衛(wèi)麟 |
| 地址: | 211103 江*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 sqlite 快速 加載 技術(shù) 面向 對象 用電 信息 采集 終端 | ||
1.一種基于SQLite數(shù)據(jù)庫的用電信息快速加載方法,其特征在于,步驟包括:
第一步,初始化加速鏈:在加速鏈中存儲每一個加速鏈節(jié)點指針的起點信息、每一個加速鏈節(jié)點指針的指向信息、每一個加速鏈節(jié)點指針的加載次數(shù)以及每一個加速鏈節(jié)點指針的更新時間,按照默認(rèn)加速鏈的順序,依次將相應(yīng)數(shù)據(jù)加載至可動態(tài)分配內(nèi)存模塊;然后跳轉(zhuǎn)至第二步;
第二步,響應(yīng)數(shù)據(jù)加載請求:當(dāng)接收到數(shù)據(jù)加載請求后,
首先,判斷所請求的數(shù)據(jù)是否已加載至可動態(tài)分配內(nèi)存模塊:若已加載,則從所述可動態(tài)分配內(nèi)存模塊輸出所請求的數(shù)據(jù);否則,查詢用電信息存儲模塊,輸出所請求的數(shù)據(jù);
然后,記錄所述第二步中輸出的數(shù)據(jù)以及上一次輸出的數(shù)據(jù),形成加速鏈節(jié)點指針;
其中,所述加速鏈節(jié)點指針的起點為所述上一次輸出的數(shù)據(jù),指向所述第二步中輸出的數(shù)據(jù);
第三步,更新加速鏈:查詢加速鏈存儲模塊,判斷是否存在與所述第二步中相同的加速鏈節(jié)點指針,若存在,則將所述加速鏈節(jié)點指針?biāo)鶎?yīng)的加載次數(shù)加1;否則,跳轉(zhuǎn)至步驟301至303;然后跳轉(zhuǎn)至第四步;
步驟301,在存儲所述第二步中的加速鏈節(jié)點指針之前,先查詢與所述第二步中的加速鏈節(jié)點指針具有相同起點的加速鏈節(jié)點指針的數(shù)量,若所述加速鏈中具有相同起點的加速鏈節(jié)點指針的數(shù)量超過加速鏈節(jié)點分支數(shù)N,則跳轉(zhuǎn)至步驟302;否則直接存儲所述第二步中的加速鏈節(jié)點指針;
步驟302,刪除與所述第二步中的加速鏈節(jié)點指針具有相同起點的、更新時間最遠(yuǎn)的加速鏈節(jié)點指針,然后存儲所述第二步中的加速鏈節(jié)點指針;其中,加速鏈節(jié)點分支數(shù)N=5,即每個節(jié)點可存儲5條分支;所述更新時間的先后順序可直接由存儲加速鏈的堆棧結(jié)構(gòu)直接判定,或者,也可在存儲加速鏈節(jié)點指針時增加一維時間數(shù)據(jù),根據(jù)該時間數(shù)據(jù)進行判定;
步驟303存儲所述第二步中的加速鏈節(jié)點指針,并將所述加速鏈節(jié)點指針?biāo)鶎?yīng)是加載次數(shù)設(shè)為1;
第四步,加載新數(shù)據(jù):查詢所述加速鏈存儲模塊,查找以所述第二步中輸出的數(shù)據(jù)為起點,加載次數(shù)最多的加速鏈節(jié)點指針,將所述加速鏈節(jié)點指針?biāo)赶虻臄?shù)據(jù)加載至所述可動態(tài)分配內(nèi)存模塊;
當(dāng)接收到新的數(shù)據(jù)加載請求時,跳轉(zhuǎn)至第二步;否則,結(jié)束。
2.如權(quán)利要求1所述的基于SQLite數(shù)據(jù)庫的用電信息快速加載方法,其特征在于,所述第二步中,輸出所請求的數(shù)據(jù)之后,還包括判斷并響應(yīng)重復(fù)加載請求的步驟:若下一加載請求與本次加載請求相同,則保留將本次輸出的數(shù)據(jù)保存至所述可動態(tài)分配內(nèi)存模塊中;否則,刪除所述可動態(tài)分配內(nèi)存模塊中本次輸出的數(shù)據(jù)。
3.如權(quán)利要求1所述的基于SQLite數(shù)據(jù)庫的用電信息快速加載方法,其特征在于,所述第四步中,將所述加速鏈節(jié)點指針?biāo)赶虻臄?shù)據(jù)加載至所述可動態(tài)分配內(nèi)存模塊之前,還包括如下步驟:步驟401,判斷所述加速鏈節(jié)點指針?biāo)赶虻臄?shù)據(jù)是否能夠加載至所述可動態(tài)分配內(nèi)存模塊,若能,則加載所述加速鏈節(jié)點指針?biāo)赶虻臄?shù)據(jù),否則跳轉(zhuǎn)至步驟402;
步驟402,查找以無法加載的數(shù)據(jù)為起點、加載次數(shù)最多的加速鏈節(jié)點指針,然后跳轉(zhuǎn)至步驟401。
4.如權(quán)利要求1所述的基于SQLite數(shù)據(jù)庫的用電信息快速加載方法,其特征在于,所述第四步中,若加載次數(shù)最多的加速鏈節(jié)點指針不止一個,則將其中更新時間最近的加速鏈節(jié)點指針?biāo)赶虻臄?shù)據(jù)加載至所述可動態(tài)分配內(nèi)存模塊。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于光一科技股份有限公司,未經(jīng)光一科技股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710201865.8/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





