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