熊慧+宋磊+魏東
摘 要:用嵌入式SQLite設(shè)計了測繪數(shù)據(jù)系統(tǒng)中的搜索模塊。因為測繪測繪數(shù)據(jù)數(shù)量龐大,而且還在不斷增加,而嵌入式SQLite正好適合對這樣的測繪數(shù)據(jù)進(jìn)行管理操作,該設(shè)計以嵌入式SQLite為基礎(chǔ),實現(xiàn)了對測繪數(shù)據(jù)的搜索功能,主要完成工作如下:介紹了嵌入式SQLite的特點和基本應(yīng)用方法。
關(guān)鍵詞:測繪成果 測繪數(shù)據(jù)庫 設(shè)計 入庫
中圖分類號:TU198 文獻(xiàn)標(biāo)識碼:A 文章編號:1674-098X(2014)06(b)-0053-02
1 嵌入式測繪數(shù)據(jù)庫SQLite概述
1.1 測繪數(shù)據(jù)的特點
地理數(shù)據(jù)的空間特征是地理數(shù)據(jù)與其他數(shù)據(jù)存在的明顯差異,作為一種處理空間數(shù)據(jù)的數(shù)據(jù)系統(tǒng),地理數(shù)據(jù)庫與與普通數(shù)據(jù)庫有很大的不同。在地理數(shù)據(jù)庫的搭建中,要求每個記錄都必須按照統(tǒng)一的地理坐標(biāo)系統(tǒng)進(jìn)行編碼,從而保證其對定位、定性、定量描述的準(zhǔn)確性。在GIS數(shù)據(jù)庫中,按照統(tǒng)一的地理坐標(biāo)來對地理數(shù)據(jù)進(jìn)行編碼管理的方法有兩種,一是柵格法,即將空間分為由一系列行列坐標(biāo)定位的像元,并對每個像元進(jìn)行獨立的編碼處理,并使其具有屬性特征;二是矢量法,即通過在三種主要的地理實體點、線、面中,將點狀地理物質(zhì)用一組(x,y)坐標(biāo)進(jìn)行表示,線狀地理物質(zhì)則用同一系列的(x,y)坐標(biāo)確定,而面狀地理物質(zhì)則是用一另一個系列的數(shù)據(jù)進(jìn)行首尾相連的(x,y)坐標(biāo)表示,再通過將每個實體數(shù)據(jù)賦予對應(yīng)的屬性值Z。雖然編碼是I工作數(shù)據(jù)技術(shù)類型工作,但它內(nèi)部所囊括的地理思想及其依賴的地理坐標(biāo)系都使其突顯出了明顯的地理性。現(xiàn)階段決定柵格單元代碼的主要方式主要包括面積占優(yōu)法、百分比法、中心點法和重要性法等4種方法,其中除了重要性法可能存在地理觀點的的影響外,其他方法都是從技術(shù)角度進(jìn)行考慮,這也在一定程度上反映了GIS在地理基礎(chǔ)理論方面的薄弱性。可是在實際應(yīng)用中,部分區(qū)域的數(shù)據(jù)處理方式完全可以從地理角度出發(fā)并按照趨勢法進(jìn)行分析與處理。
1.2 SQLite數(shù)據(jù)庫類型簡介
SQLite是現(xiàn)在應(yīng)用非常廣泛的一個小型的嵌入式測繪數(shù)據(jù)庫,從2000年開發(fā)出來后,得到了快速的發(fā)展,最為好用的是,它能夠支持Windows/Linux/Unix等多個的操作系統(tǒng)的開發(fā),同時,還能和當(dāng)前多種變成語言相結(jié)合,如C、PHP、Java等。經(jīng)過十幾年的發(fā)展,現(xiàn)在已經(jīng)發(fā)展到了SQLite 3的版本,功能也在不斷的增多,對于多表格,索引,試圖等各種接口的支持使其應(yīng)用起來非常簡單,由于自身的小巧,運行速度也是非常快速的。
SQLite是一個標(biāo)準(zhǔn)的設(shè)計體系,體系結(jié)構(gòu)簡單,一般的可以將其分成十個主要的子操作系統(tǒng),里面不發(fā)有關(guān)系型的測繪數(shù)據(jù)庫管理。具體情況如圖1。
由圖1可見,SQLite由編譯器、內(nèi)核、后臺程序和附件四大部分組成,其中內(nèi)核是運算處理的中心,由命令處理器完成接口接收的命令,并控制虛擬機進(jìn)行運行,命令處理器還控制編譯器中的標(biāo)記處理器和代碼生成器,從而進(jìn)行語句的編譯工作,而虛擬機最終又能控制到操作系統(tǒng)接口,從而實現(xiàn)對外的控制。附件部分為系統(tǒng)運行提供一些額外的保障。
針對我們數(shù)據(jù)查詢系統(tǒng)的要求,我們將要編寫的搜索模塊定義為“finder”,利用這個模塊,在我們的測繪數(shù)據(jù)庫中,我們可以利用一些命令來測試系統(tǒng)的運行情況。具體如下:
對存儲器創(chuàng)建測繪數(shù)據(jù)庫文件:create database/diska/test/media.db;
創(chuàng)建測繪數(shù)據(jù)信息表文件:cerate battle audio_flash(Artist VARCHER(30));
查找藝術(shù)家測繪數(shù)據(jù)并排序:select distinct Artist form audio_flash order by Artist;
查找測繪數(shù)據(jù)專輯名并排序:select distinct Album Title form audio_flash order by Album Title;
查找測繪數(shù)據(jù)名并排序:select distinct Song Title form audio_flash order by Song Title;
通過上述的實驗語句,我們得出了SQLite運行平穩(wěn),能夠在毫秒級的時間內(nèi)完成各種查找任務(wù),可以為我們的模塊設(shè)計服務(wù)。(見圖2)
2 查找模塊的設(shè)計
2.1 查找模塊的設(shè)計概述
查找模塊的整體設(shè)計結(jié)構(gòu)框架如圖所示。由圖2可見,三個層面的上的應(yīng)用從上而下,應(yīng)用層負(fù)責(zé)接口和管理的服務(wù),提供了查詢,播放等功能,并將應(yīng)用指向?qū)?yīng)的服務(wù)程序。
服務(wù)層是整個系統(tǒng)中的最主要的部分,其能夠提供允許多個請求同時應(yīng)用數(shù)據(jù)庫,但是如果一個進(jìn)程正在進(jìn)行讀寫操作的適合,其他的進(jìn)程是不能夠?qū)ζ溥M(jìn)行修改操作的,服務(wù)層對此提供了有效的解決方法;另外一點,服務(wù)層為應(yīng)用層提供命令的操作實現(xiàn)服務(wù),并且能夠禁止底層數(shù)據(jù)庫變化而帶來的對上層的影響,這大大方便了模塊化程序的適應(yīng)性;還有一點,服務(wù)層承擔(dān)了系統(tǒng)中模塊之間的通信服務(wù)功能,為各個模塊和各層之間的信息交流提供了有效保障。
2.2 功能模塊的設(shè)計
由查找模塊的整體構(gòu)架圖我們可以清晰的將整個搜索模塊分成七個主要的子模塊,分別是媒體查詢應(yīng)用程序(MF)、應(yīng)用程序服務(wù)接口(AUF)、元數(shù)據(jù)通信層(MCL)、元數(shù)據(jù)服務(wù)控制臺(MSF)、元數(shù)據(jù)分類服務(wù)(MCS)、元數(shù)據(jù)訪問服務(wù)(MAS)和元數(shù)據(jù)服務(wù)引擎(MSE)。下面對這幾部分如何設(shè)計和實現(xiàn)進(jìn)行詳細(xì)說明。
2.2.1 媒體查詢應(yīng)用程序(MF)的設(shè)計
媒體查詢應(yīng)用程序(MF)是一個應(yīng)用層模塊,其主要功能是實現(xiàn)瀏覽和管理存儲器中的測繪數(shù)據(jù)文件,具體可以分為:提供人機對話的窗口目標(biāo);顯示數(shù)據(jù)庫中瀏覽的信息;提供各種操作的信息管理;協(xié)調(diào)各個模塊之間的相互調(diào)用功能。
2.2.2 元數(shù)據(jù)服務(wù)控制臺(MSF)的結(jié)構(gòu)和功能設(shè)計
元數(shù)據(jù)服務(wù)控制臺(MSF)是服務(wù)層里面的主要進(jìn)程,MSC、元數(shù)據(jù)訪問服務(wù)(MAS)和元數(shù)據(jù)通信層(MCL)都受其控制,接收元數(shù)據(jù)服務(wù)控制臺(MSF)的消息,根據(jù)消息進(jìn)行不同的服務(wù),并讓消息進(jìn)行排隊處理,從而使多個請求有序進(jìn)行。具體功能包括:對MSC、元數(shù)據(jù)訪問服務(wù)(MAS)和元數(shù)據(jù)通信層(MCL)的線程的管理,讀取接口端的消息,按照消息要求轉(zhuǎn)發(fā)到MSC和元數(shù)據(jù)訪問服務(wù)(MAS)模塊,再把消息的執(zhí)行情況反饋給接口端。
2.2.3 應(yīng)用程序服務(wù)接口(AUF)的結(jié)構(gòu)設(shè)計
雖然應(yīng)用程序服務(wù)接口(AUF)與元數(shù)據(jù)通信層(MCL)關(guān)系緊密,雖然沒有處在同一個層,當(dāng)兩者之間進(jìn)行很多通信往來。應(yīng)用程序服務(wù)接口(AUF)是一個庫文件,當(dāng)對其進(jìn)行操作的適合,便需要與服務(wù)層進(jìn)行通信,達(dá)到相應(yīng)的數(shù)據(jù)庫操作,返回結(jié)果的作用。
3 結(jié)語
針對當(dāng)前測繪數(shù)據(jù)系統(tǒng)的特點,利用嵌入式SQLite設(shè)計了測繪數(shù)據(jù)系統(tǒng)中的搜索模塊。因為測繪數(shù)據(jù)數(shù)量龐大,而且還在不斷增加,而嵌入式SQLite正好適合對這樣的測繪數(shù)據(jù)進(jìn)行管理操作,本設(shè)計以嵌入式SQLite為基礎(chǔ),實現(xiàn)了對測繪數(shù)據(jù)的搜索功能,主要完成工作如下:介紹了嵌入式SQLite的特點和基本應(yīng)用方法。研究了功能模塊間的通信模式。設(shè)計了嵌入式SQLite基本模塊單元。
參考文獻(xiàn)
[1] 何光禹,李太全.基丁TC35GSM模塊的SMS設(shè)計和應(yīng)用[J].現(xiàn)代電子技術(shù),2010,33(16):157-159,163.
[2] 羅琳,叉樂南.多媒體調(diào)頻廣播系統(tǒng)[J].電子工程師,1999(12):17-18.endprint
摘 要:用嵌入式SQLite設(shè)計了測繪數(shù)據(jù)系統(tǒng)中的搜索模塊。因為測繪測繪數(shù)據(jù)數(shù)量龐大,而且還在不斷增加,而嵌入式SQLite正好適合對這樣的測繪數(shù)據(jù)進(jìn)行管理操作,該設(shè)計以嵌入式SQLite為基礎(chǔ),實現(xiàn)了對測繪數(shù)據(jù)的搜索功能,主要完成工作如下:介紹了嵌入式SQLite的特點和基本應(yīng)用方法。
關(guān)鍵詞:測繪成果 測繪數(shù)據(jù)庫 設(shè)計 入庫
中圖分類號:TU198 文獻(xiàn)標(biāo)識碼:A 文章編號:1674-098X(2014)06(b)-0053-02
1 嵌入式測繪數(shù)據(jù)庫SQLite概述
1.1 測繪數(shù)據(jù)的特點
地理數(shù)據(jù)的空間特征是地理數(shù)據(jù)與其他數(shù)據(jù)存在的明顯差異,作為一種處理空間數(shù)據(jù)的數(shù)據(jù)系統(tǒng),地理數(shù)據(jù)庫與與普通數(shù)據(jù)庫有很大的不同。在地理數(shù)據(jù)庫的搭建中,要求每個記錄都必須按照統(tǒng)一的地理坐標(biāo)系統(tǒng)進(jìn)行編碼,從而保證其對定位、定性、定量描述的準(zhǔn)確性。在GIS數(shù)據(jù)庫中,按照統(tǒng)一的地理坐標(biāo)來對地理數(shù)據(jù)進(jìn)行編碼管理的方法有兩種,一是柵格法,即將空間分為由一系列行列坐標(biāo)定位的像元,并對每個像元進(jìn)行獨立的編碼處理,并使其具有屬性特征;二是矢量法,即通過在三種主要的地理實體點、線、面中,將點狀地理物質(zhì)用一組(x,y)坐標(biāo)進(jìn)行表示,線狀地理物質(zhì)則用同一系列的(x,y)坐標(biāo)確定,而面狀地理物質(zhì)則是用一另一個系列的數(shù)據(jù)進(jìn)行首尾相連的(x,y)坐標(biāo)表示,再通過將每個實體數(shù)據(jù)賦予對應(yīng)的屬性值Z。雖然編碼是I工作數(shù)據(jù)技術(shù)類型工作,但它內(nèi)部所囊括的地理思想及其依賴的地理坐標(biāo)系都使其突顯出了明顯的地理性。現(xiàn)階段決定柵格單元代碼的主要方式主要包括面積占優(yōu)法、百分比法、中心點法和重要性法等4種方法,其中除了重要性法可能存在地理觀點的的影響外,其他方法都是從技術(shù)角度進(jìn)行考慮,這也在一定程度上反映了GIS在地理基礎(chǔ)理論方面的薄弱性。可是在實際應(yīng)用中,部分區(qū)域的數(shù)據(jù)處理方式完全可以從地理角度出發(fā)并按照趨勢法進(jìn)行分析與處理。
1.2 SQLite數(shù)據(jù)庫類型簡介
SQLite是現(xiàn)在應(yīng)用非常廣泛的一個小型的嵌入式測繪數(shù)據(jù)庫,從2000年開發(fā)出來后,得到了快速的發(fā)展,最為好用的是,它能夠支持Windows/Linux/Unix等多個的操作系統(tǒng)的開發(fā),同時,還能和當(dāng)前多種變成語言相結(jié)合,如C、PHP、Java等。經(jīng)過十幾年的發(fā)展,現(xiàn)在已經(jīng)發(fā)展到了SQLite 3的版本,功能也在不斷的增多,對于多表格,索引,試圖等各種接口的支持使其應(yīng)用起來非常簡單,由于自身的小巧,運行速度也是非常快速的。
SQLite是一個標(biāo)準(zhǔn)的設(shè)計體系,體系結(jié)構(gòu)簡單,一般的可以將其分成十個主要的子操作系統(tǒng),里面不發(fā)有關(guān)系型的測繪數(shù)據(jù)庫管理。具體情況如圖1。
由圖1可見,SQLite由編譯器、內(nèi)核、后臺程序和附件四大部分組成,其中內(nèi)核是運算處理的中心,由命令處理器完成接口接收的命令,并控制虛擬機進(jìn)行運行,命令處理器還控制編譯器中的標(biāo)記處理器和代碼生成器,從而進(jìn)行語句的編譯工作,而虛擬機最終又能控制到操作系統(tǒng)接口,從而實現(xiàn)對外的控制。附件部分為系統(tǒng)運行提供一些額外的保障。
針對我們數(shù)據(jù)查詢系統(tǒng)的要求,我們將要編寫的搜索模塊定義為“finder”,利用這個模塊,在我們的測繪數(shù)據(jù)庫中,我們可以利用一些命令來測試系統(tǒng)的運行情況。具體如下:
對存儲器創(chuàng)建測繪數(shù)據(jù)庫文件:create database/diska/test/media.db;
創(chuàng)建測繪數(shù)據(jù)信息表文件:cerate battle audio_flash(Artist VARCHER(30));
查找藝術(shù)家測繪數(shù)據(jù)并排序:select distinct Artist form audio_flash order by Artist;
查找測繪數(shù)據(jù)專輯名并排序:select distinct Album Title form audio_flash order by Album Title;
查找測繪數(shù)據(jù)名并排序:select distinct Song Title form audio_flash order by Song Title;
通過上述的實驗語句,我們得出了SQLite運行平穩(wěn),能夠在毫秒級的時間內(nèi)完成各種查找任務(wù),可以為我們的模塊設(shè)計服務(wù)。(見圖2)
2 查找模塊的設(shè)計
2.1 查找模塊的設(shè)計概述
查找模塊的整體設(shè)計結(jié)構(gòu)框架如圖所示。由圖2可見,三個層面的上的應(yīng)用從上而下,應(yīng)用層負(fù)責(zé)接口和管理的服務(wù),提供了查詢,播放等功能,并將應(yīng)用指向?qū)?yīng)的服務(wù)程序。
服務(wù)層是整個系統(tǒng)中的最主要的部分,其能夠提供允許多個請求同時應(yīng)用數(shù)據(jù)庫,但是如果一個進(jìn)程正在進(jìn)行讀寫操作的適合,其他的進(jìn)程是不能夠?qū)ζ溥M(jìn)行修改操作的,服務(wù)層對此提供了有效的解決方法;另外一點,服務(wù)層為應(yīng)用層提供命令的操作實現(xiàn)服務(wù),并且能夠禁止底層數(shù)據(jù)庫變化而帶來的對上層的影響,這大大方便了模塊化程序的適應(yīng)性;還有一點,服務(wù)層承擔(dān)了系統(tǒng)中模塊之間的通信服務(wù)功能,為各個模塊和各層之間的信息交流提供了有效保障。
2.2 功能模塊的設(shè)計
由查找模塊的整體構(gòu)架圖我們可以清晰的將整個搜索模塊分成七個主要的子模塊,分別是媒體查詢應(yīng)用程序(MF)、應(yīng)用程序服務(wù)接口(AUF)、元數(shù)據(jù)通信層(MCL)、元數(shù)據(jù)服務(wù)控制臺(MSF)、元數(shù)據(jù)分類服務(wù)(MCS)、元數(shù)據(jù)訪問服務(wù)(MAS)和元數(shù)據(jù)服務(wù)引擎(MSE)。下面對這幾部分如何設(shè)計和實現(xiàn)進(jìn)行詳細(xì)說明。
2.2.1 媒體查詢應(yīng)用程序(MF)的設(shè)計
媒體查詢應(yīng)用程序(MF)是一個應(yīng)用層模塊,其主要功能是實現(xiàn)瀏覽和管理存儲器中的測繪數(shù)據(jù)文件,具體可以分為:提供人機對話的窗口目標(biāo);顯示數(shù)據(jù)庫中瀏覽的信息;提供各種操作的信息管理;協(xié)調(diào)各個模塊之間的相互調(diào)用功能。
2.2.2 元數(shù)據(jù)服務(wù)控制臺(MSF)的結(jié)構(gòu)和功能設(shè)計
元數(shù)據(jù)服務(wù)控制臺(MSF)是服務(wù)層里面的主要進(jìn)程,MSC、元數(shù)據(jù)訪問服務(wù)(MAS)和元數(shù)據(jù)通信層(MCL)都受其控制,接收元數(shù)據(jù)服務(wù)控制臺(MSF)的消息,根據(jù)消息進(jìn)行不同的服務(wù),并讓消息進(jìn)行排隊處理,從而使多個請求有序進(jìn)行。具體功能包括:對MSC、元數(shù)據(jù)訪問服務(wù)(MAS)和元數(shù)據(jù)通信層(MCL)的線程的管理,讀取接口端的消息,按照消息要求轉(zhuǎn)發(fā)到MSC和元數(shù)據(jù)訪問服務(wù)(MAS)模塊,再把消息的執(zhí)行情況反饋給接口端。
2.2.3 應(yīng)用程序服務(wù)接口(AUF)的結(jié)構(gòu)設(shè)計
雖然應(yīng)用程序服務(wù)接口(AUF)與元數(shù)據(jù)通信層(MCL)關(guān)系緊密,雖然沒有處在同一個層,當(dāng)兩者之間進(jìn)行很多通信往來。應(yīng)用程序服務(wù)接口(AUF)是一個庫文件,當(dāng)對其進(jìn)行操作的適合,便需要與服務(wù)層進(jìn)行通信,達(dá)到相應(yīng)的數(shù)據(jù)庫操作,返回結(jié)果的作用。
3 結(jié)語
針對當(dāng)前測繪數(shù)據(jù)系統(tǒng)的特點,利用嵌入式SQLite設(shè)計了測繪數(shù)據(jù)系統(tǒng)中的搜索模塊。因為測繪數(shù)據(jù)數(shù)量龐大,而且還在不斷增加,而嵌入式SQLite正好適合對這樣的測繪數(shù)據(jù)進(jìn)行管理操作,本設(shè)計以嵌入式SQLite為基礎(chǔ),實現(xiàn)了對測繪數(shù)據(jù)的搜索功能,主要完成工作如下:介紹了嵌入式SQLite的特點和基本應(yīng)用方法。研究了功能模塊間的通信模式。設(shè)計了嵌入式SQLite基本模塊單元。
參考文獻(xiàn)
[1] 何光禹,李太全.基丁TC35GSM模塊的SMS設(shè)計和應(yīng)用[J].現(xiàn)代電子技術(shù),2010,33(16):157-159,163.
[2] 羅琳,叉樂南.多媒體調(diào)頻廣播系統(tǒng)[J].電子工程師,1999(12):17-18.endprint
摘 要:用嵌入式SQLite設(shè)計了測繪數(shù)據(jù)系統(tǒng)中的搜索模塊。因為測繪測繪數(shù)據(jù)數(shù)量龐大,而且還在不斷增加,而嵌入式SQLite正好適合對這樣的測繪數(shù)據(jù)進(jìn)行管理操作,該設(shè)計以嵌入式SQLite為基礎(chǔ),實現(xiàn)了對測繪數(shù)據(jù)的搜索功能,主要完成工作如下:介紹了嵌入式SQLite的特點和基本應(yīng)用方法。
關(guān)鍵詞:測繪成果 測繪數(shù)據(jù)庫 設(shè)計 入庫
中圖分類號:TU198 文獻(xiàn)標(biāo)識碼:A 文章編號:1674-098X(2014)06(b)-0053-02
1 嵌入式測繪數(shù)據(jù)庫SQLite概述
1.1 測繪數(shù)據(jù)的特點
地理數(shù)據(jù)的空間特征是地理數(shù)據(jù)與其他數(shù)據(jù)存在的明顯差異,作為一種處理空間數(shù)據(jù)的數(shù)據(jù)系統(tǒng),地理數(shù)據(jù)庫與與普通數(shù)據(jù)庫有很大的不同。在地理數(shù)據(jù)庫的搭建中,要求每個記錄都必須按照統(tǒng)一的地理坐標(biāo)系統(tǒng)進(jìn)行編碼,從而保證其對定位、定性、定量描述的準(zhǔn)確性。在GIS數(shù)據(jù)庫中,按照統(tǒng)一的地理坐標(biāo)來對地理數(shù)據(jù)進(jìn)行編碼管理的方法有兩種,一是柵格法,即將空間分為由一系列行列坐標(biāo)定位的像元,并對每個像元進(jìn)行獨立的編碼處理,并使其具有屬性特征;二是矢量法,即通過在三種主要的地理實體點、線、面中,將點狀地理物質(zhì)用一組(x,y)坐標(biāo)進(jìn)行表示,線狀地理物質(zhì)則用同一系列的(x,y)坐標(biāo)確定,而面狀地理物質(zhì)則是用一另一個系列的數(shù)據(jù)進(jìn)行首尾相連的(x,y)坐標(biāo)表示,再通過將每個實體數(shù)據(jù)賦予對應(yīng)的屬性值Z。雖然編碼是I工作數(shù)據(jù)技術(shù)類型工作,但它內(nèi)部所囊括的地理思想及其依賴的地理坐標(biāo)系都使其突顯出了明顯的地理性。現(xiàn)階段決定柵格單元代碼的主要方式主要包括面積占優(yōu)法、百分比法、中心點法和重要性法等4種方法,其中除了重要性法可能存在地理觀點的的影響外,其他方法都是從技術(shù)角度進(jìn)行考慮,這也在一定程度上反映了GIS在地理基礎(chǔ)理論方面的薄弱性。可是在實際應(yīng)用中,部分區(qū)域的數(shù)據(jù)處理方式完全可以從地理角度出發(fā)并按照趨勢法進(jìn)行分析與處理。
1.2 SQLite數(shù)據(jù)庫類型簡介
SQLite是現(xiàn)在應(yīng)用非常廣泛的一個小型的嵌入式測繪數(shù)據(jù)庫,從2000年開發(fā)出來后,得到了快速的發(fā)展,最為好用的是,它能夠支持Windows/Linux/Unix等多個的操作系統(tǒng)的開發(fā),同時,還能和當(dāng)前多種變成語言相結(jié)合,如C、PHP、Java等。經(jīng)過十幾年的發(fā)展,現(xiàn)在已經(jīng)發(fā)展到了SQLite 3的版本,功能也在不斷的增多,對于多表格,索引,試圖等各種接口的支持使其應(yīng)用起來非常簡單,由于自身的小巧,運行速度也是非常快速的。
SQLite是一個標(biāo)準(zhǔn)的設(shè)計體系,體系結(jié)構(gòu)簡單,一般的可以將其分成十個主要的子操作系統(tǒng),里面不發(fā)有關(guān)系型的測繪數(shù)據(jù)庫管理。具體情況如圖1。
由圖1可見,SQLite由編譯器、內(nèi)核、后臺程序和附件四大部分組成,其中內(nèi)核是運算處理的中心,由命令處理器完成接口接收的命令,并控制虛擬機進(jìn)行運行,命令處理器還控制編譯器中的標(biāo)記處理器和代碼生成器,從而進(jìn)行語句的編譯工作,而虛擬機最終又能控制到操作系統(tǒng)接口,從而實現(xiàn)對外的控制。附件部分為系統(tǒng)運行提供一些額外的保障。
針對我們數(shù)據(jù)查詢系統(tǒng)的要求,我們將要編寫的搜索模塊定義為“finder”,利用這個模塊,在我們的測繪數(shù)據(jù)庫中,我們可以利用一些命令來測試系統(tǒng)的運行情況。具體如下:
對存儲器創(chuàng)建測繪數(shù)據(jù)庫文件:create database/diska/test/media.db;
創(chuàng)建測繪數(shù)據(jù)信息表文件:cerate battle audio_flash(Artist VARCHER(30));
查找藝術(shù)家測繪數(shù)據(jù)并排序:select distinct Artist form audio_flash order by Artist;
查找測繪數(shù)據(jù)專輯名并排序:select distinct Album Title form audio_flash order by Album Title;
查找測繪數(shù)據(jù)名并排序:select distinct Song Title form audio_flash order by Song Title;
通過上述的實驗語句,我們得出了SQLite運行平穩(wěn),能夠在毫秒級的時間內(nèi)完成各種查找任務(wù),可以為我們的模塊設(shè)計服務(wù)。(見圖2)
2 查找模塊的設(shè)計
2.1 查找模塊的設(shè)計概述
查找模塊的整體設(shè)計結(jié)構(gòu)框架如圖所示。由圖2可見,三個層面的上的應(yīng)用從上而下,應(yīng)用層負(fù)責(zé)接口和管理的服務(wù),提供了查詢,播放等功能,并將應(yīng)用指向?qū)?yīng)的服務(wù)程序。
服務(wù)層是整個系統(tǒng)中的最主要的部分,其能夠提供允許多個請求同時應(yīng)用數(shù)據(jù)庫,但是如果一個進(jìn)程正在進(jìn)行讀寫操作的適合,其他的進(jìn)程是不能夠?qū)ζ溥M(jìn)行修改操作的,服務(wù)層對此提供了有效的解決方法;另外一點,服務(wù)層為應(yīng)用層提供命令的操作實現(xiàn)服務(wù),并且能夠禁止底層數(shù)據(jù)庫變化而帶來的對上層的影響,這大大方便了模塊化程序的適應(yīng)性;還有一點,服務(wù)層承擔(dān)了系統(tǒng)中模塊之間的通信服務(wù)功能,為各個模塊和各層之間的信息交流提供了有效保障。
2.2 功能模塊的設(shè)計
由查找模塊的整體構(gòu)架圖我們可以清晰的將整個搜索模塊分成七個主要的子模塊,分別是媒體查詢應(yīng)用程序(MF)、應(yīng)用程序服務(wù)接口(AUF)、元數(shù)據(jù)通信層(MCL)、元數(shù)據(jù)服務(wù)控制臺(MSF)、元數(shù)據(jù)分類服務(wù)(MCS)、元數(shù)據(jù)訪問服務(wù)(MAS)和元數(shù)據(jù)服務(wù)引擎(MSE)。下面對這幾部分如何設(shè)計和實現(xiàn)進(jìn)行詳細(xì)說明。
2.2.1 媒體查詢應(yīng)用程序(MF)的設(shè)計
媒體查詢應(yīng)用程序(MF)是一個應(yīng)用層模塊,其主要功能是實現(xiàn)瀏覽和管理存儲器中的測繪數(shù)據(jù)文件,具體可以分為:提供人機對話的窗口目標(biāo);顯示數(shù)據(jù)庫中瀏覽的信息;提供各種操作的信息管理;協(xié)調(diào)各個模塊之間的相互調(diào)用功能。
2.2.2 元數(shù)據(jù)服務(wù)控制臺(MSF)的結(jié)構(gòu)和功能設(shè)計
元數(shù)據(jù)服務(wù)控制臺(MSF)是服務(wù)層里面的主要進(jìn)程,MSC、元數(shù)據(jù)訪問服務(wù)(MAS)和元數(shù)據(jù)通信層(MCL)都受其控制,接收元數(shù)據(jù)服務(wù)控制臺(MSF)的消息,根據(jù)消息進(jìn)行不同的服務(wù),并讓消息進(jìn)行排隊處理,從而使多個請求有序進(jìn)行。具體功能包括:對MSC、元數(shù)據(jù)訪問服務(wù)(MAS)和元數(shù)據(jù)通信層(MCL)的線程的管理,讀取接口端的消息,按照消息要求轉(zhuǎn)發(fā)到MSC和元數(shù)據(jù)訪問服務(wù)(MAS)模塊,再把消息的執(zhí)行情況反饋給接口端。
2.2.3 應(yīng)用程序服務(wù)接口(AUF)的結(jié)構(gòu)設(shè)計
雖然應(yīng)用程序服務(wù)接口(AUF)與元數(shù)據(jù)通信層(MCL)關(guān)系緊密,雖然沒有處在同一個層,當(dāng)兩者之間進(jìn)行很多通信往來。應(yīng)用程序服務(wù)接口(AUF)是一個庫文件,當(dāng)對其進(jìn)行操作的適合,便需要與服務(wù)層進(jìn)行通信,達(dá)到相應(yīng)的數(shù)據(jù)庫操作,返回結(jié)果的作用。
3 結(jié)語
針對當(dāng)前測繪數(shù)據(jù)系統(tǒng)的特點,利用嵌入式SQLite設(shè)計了測繪數(shù)據(jù)系統(tǒng)中的搜索模塊。因為測繪數(shù)據(jù)數(shù)量龐大,而且還在不斷增加,而嵌入式SQLite正好適合對這樣的測繪數(shù)據(jù)進(jìn)行管理操作,本設(shè)計以嵌入式SQLite為基礎(chǔ),實現(xiàn)了對測繪數(shù)據(jù)的搜索功能,主要完成工作如下:介紹了嵌入式SQLite的特點和基本應(yīng)用方法。研究了功能模塊間的通信模式。設(shè)計了嵌入式SQLite基本模塊單元。
參考文獻(xiàn)
[1] 何光禹,李太全.基丁TC35GSM模塊的SMS設(shè)計和應(yīng)用[J].現(xiàn)代電子技術(shù),2010,33(16):157-159,163.
[2] 羅琳,叉樂南.多媒體調(diào)頻廣播系統(tǒng)[J].電子工程師,1999(12):17-18.endprint