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

        ?

        嵌入式數(shù)據(jù)庫SQLite在邊境管控系統(tǒng)中的應(yīng)用

        2014-12-23 06:05:56陳雷
        中國信息化 2014年15期
        關(guān)鍵詞:嵌入式數(shù)據(jù)庫功能

        文|陳雷

        我國是個邊疆遼闊的國家,與多個國家相鄰,過境線較長,而且地域跨度大,地形起伏多變,況且隨著改革開放的不斷深入,邊境線的形勢日趨復(fù)雜,走私偷渡形勢比較嚴(yán)峻,這些都給官兵的執(zhí)勤增加了難度。筆者在邊防工作多年,深知掌握復(fù)雜多變的邊境形勢對官兵的難度。因此開發(fā)一個基于數(shù)據(jù)庫的手持設(shè)備很有必要,這樣可以使官兵隨時獲取所需的準(zhǔn)確邊境信息,增強(qiáng)執(zhí)勤效果,有力打擊走私偷渡者,保證邊境的安全。

        嵌入式數(shù)據(jù)庫技術(shù)具有把數(shù)據(jù)庫表嵌入到應(yīng)用程序進(jìn)程中,并使應(yīng)用程序能夠進(jìn)行本地直接訪問以獲取數(shù)據(jù)庫信息,從而得到所需結(jié)果的顯著特點。在邊境管控系統(tǒng)構(gòu)建中,可以充分利用嵌入式數(shù)據(jù)庫SQLite的這特點,實現(xiàn)在任何環(huán)境下對邊境信息資源的使用需求,提高軍事應(yīng)用中的服務(wù)效率。本文主要著眼在任何環(huán)境下邊境信息訪問問題的解決,重點討論研究基于SQLite構(gòu)建一個邊境管控信息數(shù)據(jù)庫的初步方法。

        嵌入式數(shù)據(jù)庫SQLite簡介

        1 關(guān)于SQLite特點

        2000年,D.Richard Hipp立足小型、快速和最小化管理的設(shè)計思想,開發(fā)出一個基于C語言實現(xiàn)的小型數(shù)據(jù)庫:SQLite,主要通過實現(xiàn)了一個獨立的、嵌入式的、零配置的SQL數(shù)據(jù)庫引擎,達(dá)成能夠?qū)榍度胧较到y(tǒng)服務(wù)的設(shè)計目的。

        SQLite主要特點:

        完全免費:SQLite的源代碼無任何版權(quán)限制,具有完全免費的特點,既可以減少產(chǎn)品的開發(fā)和生產(chǎn)成本,也可以為后期產(chǎn)品的穩(wěn)定運行和維護(hù)修改提供較為徹底的解決方法。

        易于共享:SQLite數(shù)據(jù)庫很容易實現(xiàn)文件被共享。一方面,一個單獨、普通的磁盤文件就可以是整個SQLite的存放形式;另一方面,SQLite由于以C庫的形式提供給應(yīng)用程序調(diào)用,從而沒有服務(wù)進(jìn)程,確保使用SQLite的應(yīng)用進(jìn)程能夠通過直接讀寫磁盤數(shù)據(jù)庫文件來訪問數(shù)據(jù)庫。

        理想平衡:SQLite數(shù)據(jù)庫以其最小能夠小于170KB的代碼空間,既具備非常緊湊的代碼體積,又提供數(shù)據(jù)庫系統(tǒng)最常用的功能,在代碼體積大小與系統(tǒng)功能之間實現(xiàn)了一個理想的平衡。

        2 關(guān)于SQLite體系結(jié)構(gòu)

        BackendCoreinterfaceSQL Command processerVirtual MachineTokenizerB-TreePagerOS InterfaceParserCode GeneratorUtilitiesTest CodeAccessoriesSQLcompiler SQLite的各個模塊之間及總的體系結(jié)構(gòu)的相互關(guān)系。

        接口層(Interface):SQLite通過位于頂層的接口層(Interface)向應(yīng)用程序提供服務(wù),主要包括接收來自于應(yīng)用程序的SQL語句字符串,并將所接收的SQL語句字符串傳送給標(biāo)記分析器(Tokenizer)和語法解析器(Parser)進(jìn)行分析,在此分析基礎(chǔ)上,代碼生成器(Code Generator)生成虛擬機(jī)指令碼使用能在虛擬機(jī)(Virtual Machine)上執(zhí)行。

        虛擬機(jī):虛擬機(jī)是SQLite的核心,是一個抽象計算環(huán)境,專為管理數(shù)據(jù)庫文件而設(shè)計,能夠通過其中指令的執(zhí)行,確保SQLite完成SQL語句所請求的相關(guān)功能。

        B-樹(B-Tree):SQLite數(shù)據(jù)庫的維護(hù)實現(xiàn)通過使用B-樹(B-Tree)在磁盤上進(jìn)行。相同的磁盤文件存放所有的B-樹,一個單獨的B-樹可供數(shù)據(jù)庫中的每個表和索引使用。B-樹模塊從磁盤請求調(diào)用固定大小的數(shù)據(jù)塊,高速頁緩存(PageCache)負(fù)責(zé)讀寫和緩存數(shù)據(jù)塊,同時提供回退、原子操作及對數(shù)據(jù)庫文件加鎖等。通過高速頁緩存提供的緩沖機(jī)制,避免了頻繁進(jìn)行I/O操作而降低應(yīng)用程序的性能。

        操作系統(tǒng)抽象接口層:移植工作最關(guān)心的層次是最底層的操作系統(tǒng)抽象接口層。為了屏蔽底層不同操作系統(tǒng)的具體實現(xiàn),操作系統(tǒng)抽象層接口在os.h中定義統(tǒng)一的抽象接口供高速頁緩存調(diào)用。

        總之,遵從軟件工程的分層設(shè)計思想,SQLite的設(shè)計將整個數(shù)據(jù)庫系統(tǒng)分成幾個不同層次的模塊分別進(jìn)行實現(xiàn),其設(shè)計思路清楚,模塊功能劃分明確,既方便維護(hù)升級,也便于不同計算平臺間的移植。

        邊境管控系統(tǒng)的需求分析

        邊境管控系統(tǒng)功能主要體現(xiàn)在對數(shù)據(jù)的查詢與更新上。邊防官兵是系統(tǒng)的使用者,他們在執(zhí)勤過程中運用它要能隨時隨地的對邊境信息進(jìn)行查詢操作。這里存放的信息主要分為我方和對方兩種,因為不是一個國家,擁有的信息是不同的。這個系統(tǒng)并不是任何人都有權(quán)力使用,所有能夠使用的官兵都擁有被授權(quán)的登陸用戶名和密碼,這樣才能有效地防止失泄密。系統(tǒng)還有一個超級管理員用戶,他能夠根據(jù)近期邊境信息的變化情況對系統(tǒng)進(jìn)行不定期的更新操作,使這個系統(tǒng)能夠把上級及友鄰單位傳遞過來的信息能夠及時地更新到這個系統(tǒng)中,同時他還有權(quán)限添加普通使用者的用戶名及密碼。在這個系統(tǒng)中,使用者可以根據(jù)想了解的分類標(biāo)題進(jìn)行選擇,最后生成一個信息的報表。

        為了達(dá)到上述的要求,必須在便攜式設(shè)備中裝入嵌入式數(shù)據(jù)庫,所有邊境信息都首先存入該數(shù)據(jù)庫中,由數(shù)據(jù)庫統(tǒng)一管理和存儲,以保證執(zhí)勤官兵能夠隨時隨地的對邊境信息的查詢。當(dāng)邊境形勢有新的情況變化時超級管理員可以及時對其進(jìn)行更新操作,以保證該設(shè)備中的數(shù)據(jù)最新。由此可見,在邊境管控系統(tǒng)中裝載嵌入式數(shù)據(jù)庫可以大大提高設(shè)備的易用性和易維護(hù)性,發(fā)揮小型設(shè)備的最大效能,增強(qiáng)官兵的執(zhí)勤效果。

        SQLite在邊境管控系統(tǒng)中的應(yīng)用研究

        1.系統(tǒng)功能的框架設(shè)計

        邊境管控信息系統(tǒng)功能設(shè)計:系統(tǒng)的功能主要包括信息瀏覽、信息更新、選擇國別、系統(tǒng)退出四個模塊。

        信息瀏覽功能:

        信息瀏覽是邊境管理信息系統(tǒng)的基本功能之一,主要是根據(jù)個人需要查看相應(yīng)的邊境信息,一般包含連隊情況、界標(biāo)情況、越境情況、當(dāng)?shù)孛袂榈人膫€方面的內(nèi)容,其中系統(tǒng)默認(rèn)瀏覽中國信息。

        信息瀏覽功能還應(yīng)包括信息查找子功能,通過建立“系統(tǒng)功能”菜單實現(xiàn)相應(yīng)操作的選擇。信息查找功能是在當(dāng)前數(shù)據(jù)表中輸入查找與文本框內(nèi)容相關(guān)的信息,并將搜索到的相關(guān)信息顯示在列表框中,其中查找信息的文本框設(shè)置為非空。

        信息更新功能:

        信息更新功能主要是基于數(shù)據(jù)庫可視化的后臺管理,分為數(shù)據(jù)庫內(nèi)容和結(jié)構(gòu)維護(hù)。首先,設(shè)置登錄權(quán)限,區(qū)分普通管理員和超級管理員,其中普通管理員僅能夠?qū)?shù)據(jù)庫內(nèi)容進(jìn)行瀏覽,而超級管理員既能夠?qū)?shù)據(jù)庫的內(nèi)容進(jìn)行瀏覽和修改,還能夠?qū)?shù)據(jù)庫的結(jié)構(gòu)進(jìn)行修改。

        2.數(shù)據(jù)庫SQLite的框架設(shè)計

        邊境管理信息系統(tǒng)的后臺數(shù)據(jù)庫應(yīng)當(dāng)立足存儲邊境信息的數(shù)據(jù)庫、記錄系統(tǒng)所有數(shù)據(jù)庫信息的數(shù)據(jù)庫和用戶信息數(shù)據(jù)庫等進(jìn)行框架設(shè)計。

        邊境信息數(shù)據(jù)庫包括了所有的信息索引數(shù)據(jù)表和信息內(nèi)容數(shù)據(jù)表。用戶信息數(shù)據(jù)庫是用來保存用戶信息,包括數(shù)據(jù)表登陸窗口。登陸窗口包括用戶名、密碼和權(quán)限。記錄系統(tǒng)所有數(shù)據(jù)信息數(shù)據(jù)庫是用來記錄系統(tǒng)所有的數(shù)據(jù)庫名和相應(yīng)的數(shù)據(jù)表名。

        3.數(shù)據(jù)庫SQLite的功能實現(xiàn)

        下面我們通過SQLite在邊境管控信息查詢系統(tǒng)中的用戶登陸信息數(shù)據(jù)庫來講解一下SQLite的具體應(yīng)用。首先我們需要建立數(shù)據(jù)庫,具體數(shù)據(jù)庫的形式如下:

        CREATE TABLE login (

        id integer primary key ,

        usrtname varchar(40),

        password integer,

        authority varchar(40),

        );

        這里有兩種選擇,可以在sqlite提示符下建立數(shù)據(jù)庫,也可以用c語言調(diào)用sqlite_exec()實現(xiàn);接下來調(diào)用sqlite_open()打開數(shù)據(jù)庫;然后調(diào)用sqlite_prepare()和sqlite_step(),sqlite _finalize()從數(shù)據(jù)庫中取回數(shù)據(jù)送界面窗口與輸入比較;最后調(diào)用sqlite _close()關(guān)閉數(shù)據(jù)庫。

        主函數(shù)如下:

        main()

        {

        int rc;

        rc=sqlite3_open(str,&db);//打開名為 str 的數(shù)據(jù)庫,如果不存在,就新建數(shù)據(jù)庫

        if(rc){

        fprintf(stderr,“打開數(shù)據(jù)庫錯誤 !”,sqlite3_errmsg(db));

        sqlite3_close(db); //關(guān)閉數(shù)據(jù)庫

        return 1;

        }

        else

        return 0;

        sql=”select username,password,authority from login”;

        rc=sqlite3_prepare(db,sql,strlen(sql),&stmt,&tail);

        if (rc !=SQLITE_OK){

        fprintf(stderr,”SQL error: %s n%s ”,sqlite3_errmsg(db));

        }

        rc=sqlite3_step(stmt);

        ncols=sqlite3_column_count(stmt);

        while(rc== SQLITE_ROW){

        for(i=0,i

        fprintf(stderr,”%s ”,sqlite3_column_text(stmt,i));

        }

        fprintf(stderr,” ”);

        rc=sqlite3_step(stmt);

        }

        sqlite3_finalize(stmt);

        sqlite3_close(db);

        return 0;

        }

        結(jié)束語

        總之,本文著眼SQLite數(shù)據(jù)庫占用資源少、性能良好和零管理成本等顯著特點,著力發(fā)揮嵌入式數(shù)據(jù)庫在軍事方面應(yīng)用,通過利用嵌入式數(shù)據(jù)庫SQLite實現(xiàn)了對過境管控信息資源的有效管理,在一定程度上較好地滿足了任何環(huán)境下對邊境信息資源及時方便查詢與更新的需求。

        猜你喜歡
        嵌入式數(shù)據(jù)庫功能
        也談詩的“功能”
        中華詩詞(2022年6期)2022-12-31 06:41:24
        搭建基于Qt的嵌入式開發(fā)平臺
        關(guān)于非首都功能疏解的幾點思考
        數(shù)據(jù)庫
        財經(jīng)(2017年2期)2017-03-10 14:35:35
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        數(shù)據(jù)庫
        財經(jīng)(2016年15期)2016-06-03 07:38:02
        數(shù)據(jù)庫
        財經(jīng)(2016年3期)2016-03-07 07:44:46
        數(shù)據(jù)庫
        財經(jīng)(2016年6期)2016-02-24 07:41:51
        Altera加入嵌入式視覺聯(lián)盟
        中西醫(yī)結(jié)合治療甲狀腺功能亢進(jìn)癥31例
        成年女人vr免费视频| av成人资源在线播放| 丝袜美腿在线观看视频| 玩弄放荡人妻一区二区三区| 国产午夜精品视频在线观看| 亚洲熟女综合色一区二区三区 | 中文字幕人成乱码中文| 99视频一区二区日本| 国产女人好紧好爽| 熟妇人妻av中文字幕老熟妇| 精品国产高清一区二区广区| 人妻av不卡一区二区三区| av在线播放男人天堂| 黄网站欧美内射| 亚洲AⅤ无码日韩AV中文AV伦| 国产av无码专区亚洲草草| 国产自拍三级黄片视频| 免费不卡无码av在线观看| 久久老子午夜精品无码怎么打| 偷窥村妇洗澡毛毛多| 国产日韩午夜视频在线观看| 精品国产一区二区三区av免费| 国产精品中文久久久久久久 | 欧美日韩精品久久久免费观看| 日本精品一区二区三区在线视频| 久久国产亚洲中文字幕| 日韩一区二区三区精品视频| 人人妻人人澡人人爽人人dvd| 欧美巨大巨粗黑人性aaaaaa| 国产另类综合区| 免费视频成人 国产精品网站 | 人片在线观看无码| 男的和女的打扑克的视频| 加勒比日韩视频在线观看| 日韩内射美女片在线观看网站| 精产国品一二三产区m553麻豆| 亚洲综合网站精品一区二区| 亚洲国产区中文在线观看| 久久www免费人成精品| 久久精品国波多野结衣| 午夜亚洲精品视频网站|