[發(fā)明專利]一種基于SQLite快速加載技術(shù)的面向?qū)ο笥秒娦畔⒉杉K端有效
| 申請?zhí)枺?/td> | 201710201865.8 | 申請日: | 2017-03-30 |
| 公開(公告)號: | CN106874124B | 公開(公告)日: | 2023-04-14 |
| 發(fā)明(設(shè)計(jì))人: | 張翔;侯海濤;孫啟龍 | 申請(專利權(quán))人: | 光一科技股份有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50 |
| 代理公司: | 北京德崇智捷知識產(chǎn)權(quán)代理有限公司 11467 | 代理人: | 衛(wèi)麟 |
| 地址: | 211103 江*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 sqlite 快速 加載 技術(shù) 面向 對象 用電 信息 采集 終端 | ||
一種基于SQLite快速加載技術(shù)的面向?qū)ο笥秒娦畔⒉杉K端,包括用電信息數(shù)據(jù)接口、指令接口、用電信息存儲模塊、可動態(tài)分配內(nèi)存模塊、加速鏈存儲模塊,以及相應(yīng)的內(nèi)存加載控制模塊。本發(fā)明通過增設(shè)加速鏈存儲模塊,并配合相應(yīng)的內(nèi)存加載控制方法,在每次出現(xiàn)新的加載順序組合時,更新所述加速鏈存儲模塊中所存儲的相應(yīng)加速鏈;在加載過程中,通過查詢所述加速鏈存儲模塊內(nèi)相應(yīng)的加速鏈,來決定加載順序。由于主站在請求數(shù)據(jù)時,根據(jù)其工作需要,數(shù)據(jù)的加載順序存在一定規(guī)律。本發(fā)明可通過對加速鏈存儲模塊進(jìn)行更新,在主站請求數(shù)據(jù)的過程中逐漸固化這一順序規(guī)律。進(jìn)而提高內(nèi)存所加載的數(shù)據(jù)的命中率,提高所述用電信息采集終端的數(shù)據(jù)傳輸效率。
技術(shù)領(lǐng)域
本發(fā)明涉及用電信息采集技術(shù),尤其涉及一種能夠?qū)崿F(xiàn)快速加載的用電信息采集終端。
背景技術(shù)
SQLite數(shù)據(jù)庫至一種基于關(guān)系類型設(shè)計(jì)的文件數(shù)據(jù)庫。其設(shè)計(jì)目的主要針對嵌入式開發(fā),提供一種運(yùn)行空間小、占用資源低且安裝配置簡單的數(shù)據(jù)調(diào)用存儲方式。與現(xiàn)有用電信息采集系統(tǒng)中的數(shù)據(jù)庫不同,SQLite數(shù)據(jù)庫與個人用戶開發(fā)的應(yīng)用程序并不工作于同一種客戶端與服務(wù)器的交互模式。SQLite數(shù)據(jù)庫通過操作引擎,以動態(tài)數(shù)據(jù)庫的形式將數(shù)據(jù)連接到個人應(yīng)用程序中。因此,數(shù)據(jù)庫文件與用戶應(yīng)用程序之間的數(shù)據(jù)通信是在編程語言內(nèi)直接調(diào)用API實(shí)現(xiàn)的。然而,這種工作方式,在數(shù)據(jù)庫文件較大、數(shù)據(jù)量存儲較多的情況下,數(shù)據(jù)加載需要消耗大量時間。尤其,由于用電信息采集網(wǎng)絡(luò)中每個節(jié)點(diǎn)都需要采集大量數(shù)據(jù),這種數(shù)據(jù)庫讀取方式顯然并不適用。
為克服上述缺陷,現(xiàn)有的技術(shù)要么通過硬件方式,即選擇大容量內(nèi)存,把所有用到的數(shù)據(jù)都提前加載到內(nèi)存中,來加快終端運(yùn)行速度。這樣做效率最高,但同時帶來高成本。要么通過靜態(tài)加載,只加載靜態(tài)的數(shù)據(jù)到內(nèi)存。靜態(tài)加載中,只能加載默認(rèn)設(shè)置的數(shù)據(jù),沒有設(shè)置的數(shù)據(jù)將永遠(yuǎn)不會加載。這樣的加載效果過于死板,尤其實(shí)際用電信息采集現(xiàn)場情況千差萬別,不同時期數(shù)據(jù)需求不盡相同。靜態(tài)加載技術(shù)明顯不能滿足各種現(xiàn)場的運(yùn)行環(huán)境。
針對以上兩方案中硬件成本與加載效率的矛盾,如何在不增加硬件成本的情況下,實(shí)現(xiàn)動態(tài)的預(yù)測(預(yù)加載)將要加載的數(shù)據(jù)顯得尤為重要。尤其,考慮到用電信息采集現(xiàn)場數(shù)據(jù)需求不斷變化,如何實(shí)現(xiàn)隨著使用狀況的改變,及時改變加載策略,提高增加預(yù)測的準(zhǔn)確率,就顯得尤為重要。
發(fā)明內(nèi)容
為了解決現(xiàn)有技術(shù)存在的不足,本發(fā)明的目的在于提供一種基于SQLite數(shù)據(jù)庫快速加載技術(shù)的用電信息采集終端及其對應(yīng)的用電信息快速加載方法。
首先,為實(shí)現(xiàn)上述目的,提出一種基于SQLite數(shù)據(jù)庫的用電信息快速加載方法,包括以下步驟:
第一步,初始化:按照默認(rèn)加速鏈的順序,依次將相應(yīng)數(shù)據(jù)加載至可動態(tài)分配內(nèi)存模塊;然后跳轉(zhuǎn)至第二步;
其中,所述默認(rèn)的加速鏈基于本終端的使用場景而預(yù)設(shè),如果是新的使用場景,則默認(rè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é)點(diǎn)指針;
其中,所述加速鏈節(jié)點(diǎn)指針的起點(diǎn)為所述上一次輸出的數(shù)據(jù),指向所述第二步中輸出的數(shù)據(jù)。
第三步,更新加速鏈:查詢加速鏈存儲模塊,判斷是否存在與所述第二步中相同的加速鏈節(jié)點(diǎn)指針,若存在,則將所述加速鏈節(jié)點(diǎn)指針?biāo)鶎?yīng)的加載次數(shù)加1;否則,存儲所述第二步中的加速鏈節(jié)點(diǎn)指針,并將所述加速鏈節(jié)點(diǎn)指針?biāo)鶎?yīng)是加載次數(shù)設(shè)為1;然后跳轉(zhuǎn)至第四步。
該專利技術(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/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





