亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        SQLite在飛艇監(jiān)控中的應(yīng)用與優(yōu)化?

        2014-03-21 08:27:55王春艷
        雷達科學(xué)與技術(shù) 2014年6期
        關(guān)鍵詞:數(shù)據(jù)庫系統(tǒng)

        王春艷,李 帥

        (中國電子科技集團公司第三十八研究所,安徽合肥230088)

        0 引言

        隨著現(xiàn)代科學(xué)技術(shù)的進步,臨近空間獨特的資源優(yōu)勢已成為各國關(guān)注的熱點,平流層飛艇運行在臨近空間底部,依靠空氣靜浮力駐空,具有可定點和機動巡航、駐空時間長、載重量大、可重復(fù)使用等特點,在區(qū)域防災(zāi)減災(zāi)、環(huán)境監(jiān)測、城市安全監(jiān)控、高分辨率實時區(qū)域監(jiān)視、預(yù)警和導(dǎo)彈防御、區(qū)域通信等方面具有重要的用途,作為一種新型信息平臺,引起了世界上發(fā)達國家的廣泛關(guān)注。

        利用計算機網(wǎng)絡(luò)技術(shù)實現(xiàn)對飛艇運行遠程監(jiān)視和測控,確保飛艇的安全運行是目前研究的重要方向。在飛艇飛行任務(wù)中,飛艇姿態(tài)的數(shù)據(jù)監(jiān)測和測控實時處理顯得尤為重要,能夠協(xié)助工程技術(shù)人員準確地掌握飛艇運行態(tài)勢,正確地分析運行過程和有效地指揮控制飛艇運行。數(shù)據(jù)庫負責整個監(jiān)控系統(tǒng)的數(shù)據(jù)存儲工作[1],是整個測控系統(tǒng)的重要組成部分。通常情況下,商業(yè)數(shù)據(jù)庫需要專業(yè)的數(shù)據(jù)庫管理系統(tǒng)進行管理且系統(tǒng)龐大,非常占用系統(tǒng)資源,使得設(shè)計系統(tǒng)復(fù)雜,影響了系統(tǒng)的運行效率,考慮飛艇遠程監(jiān)控系統(tǒng)的設(shè)計需求和整個系統(tǒng)的性能,本文提出了在飛艇監(jiān)控中使用輕量級數(shù)據(jù)庫系統(tǒng)SQLite的方案。

        1 飛艇測控系統(tǒng)設(shè)計要求

        飛艇測控系統(tǒng)應(yīng)實現(xiàn)以下幾種功能:

        (1)數(shù)據(jù)采集和存儲。數(shù)據(jù)采集主要是由艇上飛控系統(tǒng)完成,通過兩塊飛控計算機(主控和備控)板,將采集的各種參數(shù)信息定時通過無線網(wǎng)絡(luò)傳輸?shù)降孛鏈y控計算機上的嵌入式服務(wù)器中進行分析和存儲。

        (2)歷史數(shù)據(jù)查詢。根據(jù)用戶輸入的查詢信息,查找數(shù)據(jù)庫中的相關(guān)數(shù)據(jù),提供給管理人員分析,對當前能源系統(tǒng)的使用狀態(tài)和壽命進行評估,對各執(zhí)行機構(gòu)的能效進行風險評估,預(yù)測出當前存在的潛在危險,在飛艇失效時進行故障診斷、歸零分析,輔助尋找故障根源。

        (3)遠程控制功能。在系統(tǒng)遙控模式下,用戶遠程對設(shè)備進行控制,通過無線傳輸向艇上飛控系統(tǒng)發(fā)生控制指令,并將控制信息和回饋信息進行存儲。

        (4)設(shè)備自控參數(shù)設(shè)置。完成在自控模式下對設(shè)備的臨界值進行設(shè)定,如果監(jiān)測數(shù)據(jù)超出了臨界范圍,發(fā)送報警信號或作出相應(yīng)的控制。

        (5)整機狀態(tài)監(jiān)測。實現(xiàn)遠程監(jiān)視整機運行狀態(tài),包括飛艇各姿態(tài)數(shù)據(jù)顯示、各氣囊壓力指示,能源余量預(yù)估顯示以及全部設(shè)備運行狀態(tài)與告警。

        (6)用戶信息管理。用戶信息管理是系統(tǒng)中所需實現(xiàn)的一項最基本的功能,為系統(tǒng)提供了安全保障,可以有效防止非法用戶進入系統(tǒng)查看數(shù)據(jù)。

        遠程測控系統(tǒng)的總體目標是實現(xiàn)系統(tǒng)數(shù)據(jù)的結(jié)構(gòu)化管理[2],最大化共享網(wǎng)絡(luò)資源,最終達到異地實時遠程測控的目的,通過簡單的控制和操作完成遠程測控功能,運行時的各種狀態(tài)參數(shù)數(shù)據(jù)和控制參數(shù)實時存儲、分析,輔助工程技術(shù)人員提前決策。

        2 SQLite數(shù)據(jù)庫在飛艇監(jiān)控中的設(shè)計

        2.1 SQLite數(shù)據(jù)庫技術(shù)

        SQLite是一個輕量級的關(guān)系數(shù)據(jù)庫,具有三級模式的結(jié)構(gòu)體系,即用戶模式、邏輯模式和存儲模式。相對于傳統(tǒng)數(shù)據(jù)庫,SQLite具有更好的實時性、系統(tǒng)開銷小、底層控制能力強。SQLite能夠高效地利用有限資源,提高數(shù)據(jù)的存取速度,增強系統(tǒng)的安全性,并具有如下關(guān)鍵特點:

        (1)零配置。SQLite在使用前不需要安裝設(shè)置,不需要進程來啟動、停止或配置,不需要管理員去創(chuàng)建新數(shù)據(jù)庫或分配用戶權(quán)限,在系統(tǒng)崩潰或失電之后自動恢復(fù)。

        (2)支持絕大多數(shù)SQL-92標準的SQL命令,支持視圖、觸發(fā)器,支持嵌套SQL,具有事務(wù)處理功能,自動維護事務(wù)的完整性、原子性等特性,支持實體完整性和參照完整性。

        (3)零配置的數(shù)據(jù)庫引擎和安裝。使用SQLite時,訪問數(shù)據(jù)庫的程序直接從磁盤上的數(shù)據(jù)庫文件讀寫,沒有中間的服務(wù)器進程。

        (4)支持多種開發(fā)語言和數(shù)據(jù)庫平臺無關(guān)性,支持大多數(shù)計算機語言,支持 Windows/Linux/Unix/Mac OS等主流的操縱系統(tǒng),可實現(xiàn)數(shù)據(jù)庫文件在機器之間自由共享。

        (5)精簡性與簡單訪問。優(yōu)化后整個SQLite庫小于225 KB。一個SQLite數(shù)據(jù)庫是一個單獨的普通磁盤文件,能夠被定位在路徑層次的任何地方。

        (6)數(shù)據(jù)存儲量大。數(shù)據(jù)存儲在單個物理文件中,支持2 TB的數(shù)據(jù)存儲。

        (7)源碼完全開放。使用者可用于任何非商業(yè)和商業(yè)用途。

        2.2 SQLite數(shù)據(jù)庫體系結(jié)構(gòu)

        SQLite采用模塊化的設(shè)計,主要由4個部分組成:內(nèi)核(Core)、SQL編譯器(SQL Compiler)、后端(Backend)以及附件(Accessories),內(nèi)部結(jié)構(gòu)如圖1所示[3]。

        圖1 SQLite體系結(jié)構(gòu)圖

        SQLite接口是一些已經(jīng)編寫好的C庫,SQL語句通過接口進入到高效的SQL編譯器,由標記處理器分解成分析器可以識別的各個標志符,然后由分析器重新組合標志符并調(diào)用代碼生成器生成虛擬機器碼,交由虛擬機去執(zhí)行,最終完成SQL語句指定的任務(wù)。虛擬機是SQLite內(nèi)部結(jié)構(gòu)的核心,不僅完成與數(shù)據(jù)操作相關(guān)的全部操作,而且還是客戶和存儲之間信息進行交換的中間單元。數(shù)據(jù)庫按照B樹(Btree)的形式存儲在磁盤上,通過可調(diào)整的頁面緩沖獲得對數(shù)據(jù)的快速查找和存儲。為了方便移植,SQLite使用一個抽象層接口(OS interface)與不同操作系統(tǒng)進行對接。

        2.3 SQLite數(shù)據(jù)庫在監(jiān)控系統(tǒng)中的部署

        SQLite數(shù)據(jù)庫直接部署在測控系統(tǒng)節(jié)點上,如圖2所示。艇上部署兩個飛控計算機,相互作為備份控制,將艇上采集的各類傳感器數(shù)據(jù)定時傳輸給地面測控系統(tǒng),遙控模式下接收地面測控計算機發(fā)來的人工干預(yù)指令,控制各分系統(tǒng)設(shè)備,并將參數(shù)回送給地面測控計算機;自控模式下根據(jù)測控系統(tǒng)設(shè)置的臨界值進行自動控制各設(shè)備。測控系統(tǒng)中所有接收的檢測數(shù)據(jù)和發(fā)送的控制操作均作為關(guān)鍵數(shù)據(jù),保存到數(shù)據(jù)庫服務(wù)器中。操作人員可以使用不同的終端登錄,查詢和分析整機監(jiān)測數(shù)據(jù)[4]。

        圖2 測控系統(tǒng)數(shù)據(jù)庫部署

        3 數(shù)據(jù)庫優(yōu)化

        直接使用SQLite執(zhí)行一條SQL的插入語句時延范圍在100 ms以上,實驗表明在頻繁記錄采集數(shù)據(jù)時,這樣的數(shù)據(jù)錄入效率將嚴重影響記錄節(jié)點的運行[5],錄入過程耗時過長,對于長時間的數(shù)據(jù)采集任務(wù),有內(nèi)存消耗過多或內(nèi)存不足的潛在問題[5]。

        本文重點從以下三個方面進行優(yōu)化處理:

        (1)對大批量數(shù)據(jù)入庫操作進行綜合優(yōu)化,縮短數(shù)據(jù)錄入時間;

        (2)優(yōu)化數(shù)據(jù)庫單次插入數(shù)據(jù)的延時;

        (3)采用多線程并發(fā)處理技術(shù),數(shù)據(jù)采集處理和數(shù)據(jù)存儲同時進行。

        3.1 內(nèi)存數(shù)據(jù)庫

        SQLite的內(nèi)存數(shù)據(jù)庫模式就是直接將數(shù)據(jù)庫創(chuàng)建在內(nèi)存中,相對于磁盤,內(nèi)存的數(shù)據(jù)讀寫速度要高出幾個數(shù)量級,將數(shù)據(jù)保存在內(nèi)存中相比從磁盤上訪問能夠極大地提高應(yīng)用的性能。

        采用內(nèi)存數(shù)據(jù)庫,在不進行任何優(yōu)化時的單次數(shù)據(jù)錄入時間與優(yōu)化后的磁盤數(shù)據(jù)庫基本相當。因此在存儲采集數(shù)據(jù)時采用內(nèi)存數(shù)據(jù)庫的模式實現(xiàn)數(shù)據(jù)的實時錄入。

        3.2 使用事物

        在數(shù)據(jù)庫管理系統(tǒng)中,事務(wù)(Transaction)被定義為對特定數(shù)據(jù)庫的一組SQL操作,這組對數(shù)據(jù)庫的操作要么全部執(zhí)行,要么都不執(zhí)行。在SQLite中每一條插入/更新(INSERT/UPDATE)語句都默認的被當作一個事務(wù)執(zhí)行,每一次執(zhí)行就涉及一次打開數(shù)據(jù)庫、寫數(shù)據(jù)庫、關(guān)閉數(shù)據(jù)庫的操作,大大延長了數(shù)據(jù)庫操作的時間,因此,可以將批量的插入/更新操作顯式的定義為一組事務(wù),在批量錄入之前指定事務(wù)開始處理,執(zhí)行語句為:sqlite3_exec(pSQLiteDB,"BEGIN",0,0,&zErr Msg);在所有數(shù)據(jù)錄入完畢之后指定事物提交處理,執(zhí)行語句為:sqlite3_exec(pSQLiteDB,"BEGIN",0,0,&zErr Msg),其中pSQLiteDB表示數(shù)據(jù)庫連接對象,"BEGIN"表示開始事物處理,"COMMIT"表示提交事物處理。

        3.3 關(guān)閉synchronous選項

        SQLite支持事物的一個重要特性就是“原子提交”,意味著一個事物中的所有操作動作要么全部發(fā)生,要么都不發(fā)生。SQLite的同步(synchronous)選項相當于一種同步IO機制,所有對數(shù)據(jù)庫的修改都必須等待本次操作寫入到磁盤上后才返回。當頻繁地對數(shù)據(jù)庫進行INSERT/UPDATE操作時,可以選擇關(guān)閉同步選項,執(zhí)行語句為:SQLite3_exec(pSQLiteDB,"PRAGMASYNCHRONOUS=OFF",NULL,NULL,&zErr Msg),待所有事物提交后一次性更新磁盤數(shù)據(jù)庫。

        經(jīng)過測試證明,關(guān)閉同步選項后,數(shù)據(jù)錄入操作時間可再縮短100 ms左右。

        3.4 更改日志記錄模式

        SQLite中日志是在系統(tǒng)遇到關(guān)機或斷電時用來恢復(fù)數(shù)據(jù)庫,保持數(shù)據(jù)庫完整性的措施,默認情況下日志是隨著對數(shù)據(jù)庫的操作一起寫入磁盤的,SQLite中日志記錄模式修改為內(nèi)存記錄模式“MEMORY”,即不產(chǎn)生任何單獨的數(shù)據(jù)庫日志文件,所有的操作日志存儲于內(nèi)存中,更改SQLite默認日志模式為內(nèi)存記錄模式,執(zhí)行語句為:“SQLite3_exec(pSQLiteDB,"PRAGMA JOURNAL_MODE=MEMORY",NULL,NULL,&zErr Msg)”,可以提高單次INSERT操作的效率。

        4 結(jié)束語

        嵌入式數(shù)據(jù)庫SQLite在飛艇運行監(jiān)控系統(tǒng)中的應(yīng)用克服了使用傳統(tǒng)商業(yè)數(shù)據(jù)庫時系統(tǒng)開發(fā)難度大,使用維護不方便[6]。由于SQLite數(shù)據(jù)庫使用簡單,不需要專門的數(shù)據(jù)庫管理引擎,存取速度快,性能穩(wěn)定,完全滿足了飛艇監(jiān)控系統(tǒng)管理監(jiān)控數(shù)據(jù)的需求。本文通過三點優(yōu)化策略切實地提高SQLite數(shù)據(jù)庫訪問速度的方案,使SQLite數(shù)據(jù)庫的性能滿足飛艇飛行遠程監(jiān)控中實時數(shù)據(jù)錄入需求。同時也證明了SQLite在功能和性能上可以很好地取代目前使用傳統(tǒng)商業(yè)數(shù)據(jù)庫,降低了商業(yè)投入成本和維護成本。

        [1]蔡勇,王勇.嵌入式數(shù)據(jù)庫SQLite在測控系統(tǒng)設(shè)計中的應(yīng)用[J].電子測試,2011(10):89-93.

        [2]陳曉東,曹奇英.嵌入式數(shù)據(jù)庫SQLite的遠程可視化維護管理工具的設(shè)計與實現(xiàn)[J].計算機應(yīng)用與軟件,2011,28(8):106-107.

        [3](美)ALLEN G,OWENS M.SQLite權(quán)威指南(第2版)[M].北京:電子工業(yè)出版社,2012:21-137.

        [4]李海貴,孫俊平.通用雷達數(shù)據(jù)處理系統(tǒng)仿真測試平臺設(shè)計[J].雷達科學(xué)與技術(shù),2010,8(4):339-342.

        [5]周帆.SQLite在半實物仿真系統(tǒng)中的應(yīng)用與優(yōu)化[J].彈箭與制導(dǎo)學(xué)報,2013,33(1):167-170.

        [6]黃德才.數(shù)據(jù)庫原理及其應(yīng)用(第3版)[M].北京:科學(xué)出版社,2010:19-154.

        猜你喜歡
        數(shù)據(jù)庫系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機系統(tǒng)
        ZC系列無人機遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        基于PowerPC+FPGA顯示系統(tǒng)
        半沸制皂系統(tǒng)(下)
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        數(shù)據(jù)庫
        財經(jīng)(2017年15期)2017-07-03 22:40:49
        數(shù)據(jù)庫
        財經(jīng)(2017年2期)2017-03-10 14:35:35
        數(shù)據(jù)庫
        財經(jīng)(2016年15期)2016-06-03 07:38:02
        數(shù)據(jù)庫
        財經(jīng)(2016年3期)2016-03-07 07:44:46
        2021国产精品一区二区在线| 亚洲日韩国产精品不卡一区在线 | 亚洲高清中文字幕视频| 国产精品国产三级国产专播| 精品无码人妻一区二区三区| 亚洲福利天堂网福利在线观看| 亚洲福利网站在线一区不卡| 一区二区三区精品少妇| 久久久受www免费人成| 在线免费毛片| 中文字幕一区二区三区在线不卡| 免费看男女啪啪的视频网站| 蜜桃精品人妻一区二区三区| 激情第一区仑乱| 午夜短视频日韩免费| 美女偷拍一区二区三区| 韩国av一区二区三区不卡| 狠狠噜天天噜日日噜视频麻豆| 国产精品成人午夜久久| 久久精品国产亚洲av试看| 一本无码中文字幕在线观| 亚洲av无码1区2区久久| 999久久久免费精品国产牛牛| 少妇被猛烈进入中文字幕| 99久久99久久久精品齐齐| 免费无码av片在线观看| 一级无码啪啪| 亚洲天堂av中文字幕在线观看 | 久久99亚洲网美利坚合众国| 久久精品国产亚洲av麻豆床戏 | 亚洲一区二区三区99| 免费1级做爰片1000部视频| 亚洲AV激情一区二区二三区| 男女视频在线观看一区二区| 色婷婷一区二区三区四区成人网| 三上悠亚久久精品| 宅宅午夜无码一区二区三区| 在线观看午夜视频国产| 国产亚洲欧美精品久久久| 国产AV无码专区亚洲AV桃花庵| av网址在线一区二区|