專利名稱:基于虛擬表服務(wù)器的快速訪問后臺(tái)數(shù)據(jù)庫(kù)的嵌入式系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種訪問后臺(tái)數(shù)據(jù)庫(kù)的嵌入式系統(tǒng),尤其涉及一種基于虛擬表服務(wù)器的快速訪問后臺(tái)數(shù)據(jù)庫(kù)的嵌入式系統(tǒng)。
背景技術(shù):
嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),并且軟硬件可裁剪,適用于應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。它一般由嵌入式微處理器、外圍硬件設(shè)備、嵌入式操作系統(tǒng)以及用戶的應(yīng)用程序等四個(gè)部分組成,用于實(shí)現(xiàn)對(duì)其它設(shè)備的控制、監(jiān)視或管理等功能。
嵌入式系統(tǒng)的硬件和軟件都必須高效率地設(shè)計(jì),量體裁衣,去除冗余,這樣才能在具體應(yīng)用中對(duì)處理器的選擇更具有競(jìng)爭(zhēng)力。
目前,嵌入式系統(tǒng)在通訊、自動(dòng)化控制、監(jiān)測(cè)等領(lǐng)域開發(fā)中起到重要作用。在這類系統(tǒng)中,嵌入式系統(tǒng)模塊往往扮演著信號(hào)采集、編碼、前期處理、終端實(shí)現(xiàn)等重要角色。而這類應(yīng)用,又往往涉及到大量而且結(jié)構(gòu)復(fù)雜的數(shù)據(jù)庫(kù)訪問操作。因此,嵌入式系統(tǒng)如何快速高效地訪問后臺(tái)數(shù)據(jù)庫(kù),就成為一個(gè)技術(shù)關(guān)鍵。這個(gè)關(guān)鍵直接決定了嵌入式系統(tǒng)的可用性、高效性、安全性和成本控制等各個(gè)方面。
數(shù)據(jù)庫(kù)中間件技術(shù),有效地解決了數(shù)據(jù)訪問的實(shí)效性,大大降低了后臺(tái)數(shù)據(jù)庫(kù)處理數(shù)據(jù)的負(fù)荷,同時(shí)也大大降低了客戶端訪問數(shù)據(jù)庫(kù)的復(fù)雜度。但是現(xiàn)有的數(shù)據(jù)庫(kù)中間件技術(shù),往往依托于較為復(fù)雜的軟硬件平臺(tái),體積大,功耗高,成本相對(duì)于嵌入式系統(tǒng)也顯得過高,而且不能夠?qū)崿F(xiàn)靈活的分布式配置,因此不能滿足嵌入式系統(tǒng)快速高效地訪問后臺(tái)數(shù)據(jù)庫(kù)的實(shí)際要求。
現(xiàn)代通訊領(lǐng)域,數(shù)據(jù)結(jié)構(gòu)日趨復(fù)雜,數(shù)據(jù)量越來越大,而且用戶需求變更更加頻繁;而通訊設(shè)備的集成度又越來越高,功能越來越強(qiáng)。因此,嵌入式系統(tǒng)在這一領(lǐng)域更是得到廣泛的運(yùn)用。由于通訊系統(tǒng)數(shù)據(jù)量往往很大,因此嵌入式系統(tǒng)快速高效地訪問后臺(tái)數(shù)據(jù)庫(kù)的實(shí)際要求就顯得尤為迫切。
綜上所述,目前廣泛采用的數(shù)據(jù)庫(kù)訪問技術(shù),已經(jīng)不能滿足日益增長(zhǎng)的嵌入式系統(tǒng)快速高效地訪問后臺(tái)數(shù)據(jù)庫(kù)的實(shí)際要求。而直接訪問后臺(tái)數(shù)據(jù)庫(kù),系統(tǒng)的效率過低。這些方法,尤其是在電信領(lǐng)域,難以滿足未來電信級(jí)產(chǎn)品的應(yīng)用。
發(fā)明內(nèi)容
本發(fā)明的目的就在于克服上述數(shù)據(jù)庫(kù)訪問方式的不足,從嵌入式系統(tǒng)的特點(diǎn)出發(fā),提供一種成本低、容量大、靈活度高的適用于各個(gè)領(lǐng)域的一種基于虛擬表服務(wù)器的快速訪問后臺(tái)數(shù)據(jù)庫(kù)的嵌入式系統(tǒng)。
本發(fā)明的目的是這樣實(shí)現(xiàn)的如圖1,本發(fā)明包括客戶端10和數(shù)據(jù)庫(kù)服務(wù)器30,客戶端10包含數(shù)據(jù)服務(wù)內(nèi)部接口模塊11;數(shù)據(jù)庫(kù)服務(wù)器30包含數(shù)據(jù)庫(kù)服務(wù)端口模塊31;設(shè)置有虛擬表服務(wù)器20;虛擬表服務(wù)器20包含虛擬表服務(wù)接口模塊21、虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22、臨時(shí)數(shù)據(jù)存儲(chǔ)模塊23、數(shù)據(jù)客戶端接口模塊24;數(shù)據(jù)服務(wù)內(nèi)部接口模塊11、虛擬表服務(wù)接口模塊21、數(shù)據(jù)客戶端接口模塊24、數(shù)據(jù)庫(kù)服務(wù)端口模塊31依次連通;在虛擬表服務(wù)接口模塊21、數(shù)據(jù)客戶端接口模塊24之間,通過虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22、臨時(shí)數(shù)據(jù)存儲(chǔ)模塊(23)完成系統(tǒng)的核心功能;所述的數(shù)據(jù)服務(wù)內(nèi)部接口模塊11是一個(gè)向數(shù)據(jù)客戶端提供完整數(shù)據(jù)操作的功能函數(shù)集合;所述的虛擬表服務(wù)接口模塊21完成數(shù)據(jù)的封裝和與數(shù)據(jù)服務(wù)內(nèi)部接口模塊(11)間的傳輸功能;同時(shí)該模塊也是虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22的數(shù)據(jù)來源和出口;所述的虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22完成數(shù)據(jù)表之間關(guān)聯(lián)關(guān)系的轉(zhuǎn)換工作,將數(shù)個(gè)有關(guān)聯(lián)的數(shù)據(jù)表轉(zhuǎn)換成一個(gè)與其它數(shù)據(jù)表無關(guān)聯(lián)的數(shù)據(jù)表,轉(zhuǎn)換后的數(shù)據(jù)表一般不遵守?cái)?shù)據(jù)庫(kù)設(shè)計(jì)的第三范式的要求。
所述的臨時(shí)數(shù)據(jù)存儲(chǔ)模塊23為整個(gè)系統(tǒng)提供臨時(shí)數(shù)據(jù)存儲(chǔ)服務(wù);所述的數(shù)據(jù)客戶端接口模塊24是一個(gè)和后臺(tái)數(shù)據(jù)庫(kù)30連通的標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)接口,這種標(biāo)準(zhǔn)接口可以是DCOM,或者是其它類似標(biāo)準(zhǔn)接口。
所述的數(shù)據(jù)庫(kù)服務(wù)端口模塊31是一個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)服務(wù)接口,這種標(biāo)準(zhǔn)接口依賴于所采用的數(shù)據(jù)庫(kù)服務(wù)器,一般由數(shù)據(jù)庫(kù)服務(wù)器廠家提供。
客戶端10作為整個(gè)系統(tǒng)的用戶直接通過數(shù)據(jù)服務(wù)內(nèi)部接口模塊11為整個(gè)系統(tǒng)提供數(shù)據(jù)庫(kù)訪問服務(wù);數(shù)據(jù)服務(wù)內(nèi)部接口模塊11起到將客戶端10與虛擬表服務(wù)器20聯(lián)系起來的作用。
數(shù)據(jù)庫(kù)服務(wù)端接口模塊31聯(lián)系數(shù)據(jù)庫(kù)服務(wù)器30和虛擬表服務(wù)器20,為整個(gè)系統(tǒng)提供數(shù)據(jù)存儲(chǔ)和基本檢索能力。
虛擬表服務(wù)器20完成整個(gè)系統(tǒng)的核心功能。
虛擬表服務(wù)接口模塊21從客戶端10接收數(shù)據(jù)。
虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22將后臺(tái)關(guān)系數(shù)據(jù)庫(kù)按照事先定義的轉(zhuǎn)換規(guī)則,轉(zhuǎn)換成易于被嵌入式系統(tǒng)所使用的結(jié)構(gòu),這種結(jié)構(gòu)接近自然的數(shù)據(jù)組織方式,而不用考慮數(shù)據(jù)項(xiàng)之間的依賴關(guān)系。轉(zhuǎn)換過程中的臨時(shí)數(shù)據(jù),保存到臨時(shí)數(shù)據(jù)存儲(chǔ)模塊23中;在系統(tǒng)關(guān)閉之前,這些數(shù)據(jù)中關(guān)于數(shù)據(jù)表映射的部分被保存到后臺(tái)數(shù)據(jù)庫(kù)服務(wù)器30中,在下次啟動(dòng)的時(shí)候,這些數(shù)據(jù)被讀取出來,重新構(gòu)建數(shù)據(jù)表映射表,從而保證了數(shù)據(jù)服務(wù)的連續(xù)性和一致性。
虛擬表服務(wù)接口模塊21將虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22輸出的數(shù)據(jù)按照一定的規(guī)則編碼打包,從而可以方便地通過網(wǎng)絡(luò)或其它傳送媒介,傳遞到嵌入式系統(tǒng)的客戶端10。這些數(shù)據(jù)由數(shù)據(jù)服務(wù)內(nèi)部接口模塊11接收并解碼,轉(zhuǎn)換成標(biāo)準(zhǔn)的數(shù)據(jù)結(jié)構(gòu)供嵌入式系統(tǒng)客戶端10使用。這個(gè)編碼、解碼過程保證了數(shù)據(jù)傳輸?shù)目煽啃?,高效性和安全性?br>
各模塊的功能和主要運(yùn)行過程如下1、數(shù)據(jù)服務(wù)內(nèi)部接口模塊11數(shù)據(jù)服務(wù)內(nèi)部接口模塊11為本地嵌入式系統(tǒng)提供數(shù)據(jù)訪問接口,將本地嵌入式系統(tǒng)的訪問請(qǐng)求按照一定的規(guī)則編碼打包,發(fā)送給虛擬表服務(wù)器20,由虛擬表服務(wù)接口模塊21接收;同時(shí),數(shù)據(jù)服務(wù)內(nèi)部接口模塊11接收虛擬表服務(wù)接口模塊21發(fā)送的數(shù)據(jù)回應(yīng)包,并解碼重新組織數(shù)據(jù)結(jié)構(gòu),向本地嵌入式系統(tǒng)提供按照標(biāo)準(zhǔn)的數(shù)據(jù)結(jié)構(gòu)組織的回應(yīng)數(shù)據(jù)。
2、虛擬表服務(wù)接口模塊21虛擬表服務(wù)接口模塊21為遠(yuǎn)端的嵌入式系統(tǒng)客戶端10提供數(shù)據(jù)訪問服務(wù)接口。該模塊工作在本地虛擬表服務(wù)器20上,將本地虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22輸出的數(shù)據(jù),按照一定的規(guī)則編碼打包,發(fā)送到遠(yuǎn)端的嵌入式系統(tǒng)客戶端10。同時(shí),該模塊也接收遠(yuǎn)端數(shù)據(jù)服務(wù)內(nèi)部接口模塊11發(fā)送的數(shù)據(jù)包,并解碼重新組織數(shù)據(jù)結(jié)構(gòu),向本地虛擬表服務(wù)器20提供按照標(biāo)準(zhǔn)的數(shù)據(jù)結(jié)構(gòu)組織的命令請(qǐng)求和命令數(shù)據(jù)。
3、虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22將后臺(tái)關(guān)系數(shù)據(jù)庫(kù)按照事先定義的轉(zhuǎn)換規(guī)則,轉(zhuǎn)換成易于被嵌入式系統(tǒng)所使用的結(jié)構(gòu)。這種結(jié)構(gòu)接近自然的數(shù)據(jù)組織方式,而不用考慮數(shù)據(jù)項(xiàng)之間的依賴關(guān)系。轉(zhuǎn)換規(guī)則被描述成一系列的關(guān)系數(shù)據(jù)表,存儲(chǔ)在后臺(tái)數(shù)據(jù)庫(kù)服務(wù)器中;在每次啟動(dòng)的時(shí)候,這些數(shù)據(jù)被讀取出來,構(gòu)建成數(shù)據(jù)關(guān)系映射表,從而保證了數(shù)據(jù)服務(wù)的連續(xù)性和一致性。映射表包括每個(gè)虛擬字段的相關(guān)信息,包括被轉(zhuǎn)換字段名稱(或ID),映射目的表名稱(或ID),映射目的字段缺省值。映射目的字段缺省值是在映射目的字段不存在的時(shí)候,作為映射值返回給虛擬表服務(wù)接口模塊21的數(shù)據(jù)。
虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22在內(nèi)部完成數(shù)據(jù)轉(zhuǎn)換,轉(zhuǎn)換過程中的臨時(shí)數(shù)據(jù)保存在臨時(shí)數(shù)據(jù)存儲(chǔ)模塊23中,轉(zhuǎn)換產(chǎn)生的結(jié)果輸出給虛擬表服務(wù)接口模塊21。
4、臨時(shí)數(shù)據(jù)存儲(chǔ)模塊23臨時(shí)數(shù)據(jù)存儲(chǔ)模塊23用來保存虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22在數(shù)據(jù)轉(zhuǎn)換過程中產(chǎn)生的臨時(shí)數(shù)據(jù),和虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22需要使用的數(shù)據(jù)關(guān)系映射表。
虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22在數(shù)據(jù)轉(zhuǎn)換過程中產(chǎn)生的臨時(shí)數(shù)據(jù)包括被轉(zhuǎn)換的原始數(shù)據(jù)表的名稱(或ID),被轉(zhuǎn)換的原始數(shù)據(jù)表的數(shù)據(jù)和結(jié)構(gòu)信息,轉(zhuǎn)換目的數(shù)據(jù)表的名稱(或ID),轉(zhuǎn)換目的數(shù)據(jù)表數(shù)據(jù)和結(jié)構(gòu)信息,轉(zhuǎn)換狀態(tài)標(biāo)示字段,訪問頻繁度標(biāo)示字段,數(shù)據(jù)緩沖閥值。
其中轉(zhuǎn)換狀態(tài)標(biāo)示字段用來標(biāo)示轉(zhuǎn)換過程的狀態(tài)信息,分為準(zhǔn)備轉(zhuǎn)換,正在轉(zhuǎn)換,轉(zhuǎn)換成功完成,轉(zhuǎn)換失敗完成,異常,共五個(gè)標(biāo)識(shí)。
訪問頻繁度標(biāo)示字段用來標(biāo)示每個(gè)轉(zhuǎn)換完成的數(shù)據(jù)表被虛擬表服務(wù)接口模塊21訪問的頻繁度。每次訪問完成轉(zhuǎn)換的數(shù)據(jù)表,則該數(shù)據(jù)表的訪問頻繁度加1;每次虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22接受到一個(gè)虛擬表服務(wù)接口模塊21發(fā)送來的新數(shù)據(jù)轉(zhuǎn)換請(qǐng)求命令,則每個(gè)已經(jīng)完成的數(shù)據(jù)表的訪問頻繁度減1。每個(gè)數(shù)據(jù)表訪問頻繁度標(biāo)示字段的初始值為100。當(dāng)數(shù)據(jù)訪問量過大,虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22檢測(cè)到數(shù)據(jù)量超過數(shù)據(jù)緩沖閥值的時(shí)候,虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22自動(dòng)釋放訪問頻繁度標(biāo)示字段最小的數(shù)據(jù)表臨時(shí)信息。如果有數(shù)個(gè)訪問頻繁度標(biāo)示字段數(shù)值一樣而且都是最小的,虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22自動(dòng)釋放全部這些數(shù)據(jù)表的臨時(shí)信息。
數(shù)據(jù)緩沖閥值用來表明虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22占用系統(tǒng)內(nèi)存的情況。這個(gè)閥值按照字節(jié)為單位。每次虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22開始新的數(shù)據(jù)表轉(zhuǎn)換之前,都會(huì)檢查當(dāng)前內(nèi)存占用和這個(gè)閥值之間的關(guān)系。當(dāng)虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22檢測(cè)到數(shù)據(jù)量超過數(shù)據(jù)緩沖閥值的時(shí)候,虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22自動(dòng)釋放訪問頻繁度標(biāo)示字段最小的數(shù)據(jù)表臨時(shí)信息。如果有數(shù)個(gè)訪問頻繁度標(biāo)示字段數(shù)值一樣而且都是最小的,虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22自動(dòng)釋放全部這些數(shù)據(jù)表的臨時(shí)信息。
本發(fā)明具有以下優(yōu)點(diǎn)和積極效果1、性價(jià)比高。在目前廣泛采用的數(shù)據(jù)庫(kù)訪問技術(shù)中,絕大部分是采用數(shù)據(jù)庫(kù)中間件的方式來實(shí)現(xiàn)的,而對(duì)于嵌入式系統(tǒng)要求小型化,經(jīng)濟(jì)化,低能耗而且集成度高的要求不能得到滿足。在本發(fā)明中,嵌入式終端系統(tǒng)采用內(nèi)建的接口,可以高速訪問結(jié)構(gòu)復(fù)雜而且數(shù)據(jù)量龐大的數(shù)據(jù)庫(kù),從而有效地控制了系統(tǒng)的復(fù)雜度和軟、硬件成本。因此,本發(fā)明可以有效地提高產(chǎn)品的性價(jià)比。
2、方法簡(jiǎn)單。采用本發(fā)明后,嵌入式終端系統(tǒng)訪問數(shù)據(jù)庫(kù)服務(wù)器的方法變得簡(jiǎn)單直接,這就可以非常明顯地提高研發(fā)的效率,降低研發(fā)過程中設(shè)計(jì),排錯(cuò),修正的周期。
3、適應(yīng)性好。本發(fā)明對(duì)傳遞的網(wǎng)絡(luò)結(jié)構(gòu)不作任何限制,也沒有對(duì)操作系統(tǒng)和硬件平臺(tái)作任何限制,因此本發(fā)明的適應(yīng)性好,可以有效地填補(bǔ)嵌入式系統(tǒng)訪問數(shù)據(jù)庫(kù)領(lǐng)域的技術(shù)空缺。
4、應(yīng)用廣泛。本發(fā)明主要用于基于軟交換的信令控制系統(tǒng)設(shè)計(jì),但同時(shí)也為工業(yè)控制,信號(hào)采集,實(shí)時(shí)檢測(cè)等領(lǐng)域提供了廣泛的數(shù)據(jù)庫(kù)訪問方式的支持。
圖1是本發(fā)明的結(jié)構(gòu)框圖;圖2是虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22中轉(zhuǎn)換規(guī)則示意圖。
其中10-客戶端,11-數(shù)據(jù)服務(wù)內(nèi)部接口模塊;20-虛擬表服務(wù)器,21-虛擬表服務(wù)接口模塊,22-虛擬表數(shù)據(jù)轉(zhuǎn)換模塊,23-臨時(shí)數(shù)據(jù)存儲(chǔ)模塊24-數(shù)據(jù)客戶端接口模塊;30-數(shù)據(jù)庫(kù)服務(wù)器,31-數(shù)據(jù)庫(kù)服務(wù)端口模塊。
具體實(shí)施例方式
下面對(duì)結(jié)合圖2對(duì)虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22詳細(xì)說明虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22按照原始數(shù)據(jù)表外鍵和被轉(zhuǎn)換數(shù)據(jù)表主鍵的關(guān)聯(lián),通過數(shù)據(jù)轉(zhuǎn)換控制的方法,自動(dòng)實(shí)現(xiàn)數(shù)據(jù)表的轉(zhuǎn)換和控制,從而達(dá)到易于被嵌入式系統(tǒng)所使用的設(shè)計(jì)目的。
所述數(shù)據(jù)轉(zhuǎn)換控制的方法采用轉(zhuǎn)換狀態(tài)標(biāo)示字段、頻繁度標(biāo)示字段和數(shù)據(jù)緩沖閥值自動(dòng)實(shí)現(xiàn)系統(tǒng)的優(yōu)化和控制。
1、本發(fā)明的第一個(gè)關(guān)鍵在于虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22的設(shè)計(jì)虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22依賴的轉(zhuǎn)換規(guī)則被描述成一系列的關(guān)系數(shù)據(jù)表,存儲(chǔ)在后臺(tái)數(shù)據(jù)庫(kù)服務(wù)器30中。這個(gè)轉(zhuǎn)換規(guī)則則是這個(gè)模塊設(shè)計(jì)的關(guān)鍵,它決定了該模塊轉(zhuǎn)換那些數(shù)據(jù)以及如何轉(zhuǎn)換數(shù)據(jù)等問題。
在數(shù)據(jù)庫(kù)設(shè)計(jì)中,我們給每個(gè)數(shù)據(jù)表的外鍵都建立了一個(gè)編號(hào)。該編號(hào)是唯一的,單獨(dú)保存到數(shù)據(jù)庫(kù)的一個(gè)表中。該編號(hào)是這個(gè)數(shù)據(jù)表的主鍵。在該表中每個(gè)記錄中同時(shí)還保存了各個(gè)數(shù)據(jù)表的外鍵所對(duì)應(yīng)的數(shù)據(jù)表的名稱(或編號(hào))。通過這個(gè)名稱(或編號(hào)),虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22就可以知道,每個(gè)數(shù)據(jù)表的外鍵和那個(gè)數(shù)據(jù)表的主鍵相關(guān)聯(lián)。
在數(shù)據(jù)轉(zhuǎn)換過程中,虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22查詢映射表的關(guān)聯(lián)關(guān)系,將待轉(zhuǎn)換的數(shù)據(jù)表和所有關(guān)聯(lián)數(shù)據(jù)表作并集操作,生成臨時(shí)數(shù)據(jù)表。該臨時(shí)數(shù)據(jù)表就是虛擬表。
2、本發(fā)明的第二個(gè)關(guān)鍵在于訪問頻繁度標(biāo)示字段及其調(diào)度算法。
該字段用來標(biāo)示每個(gè)轉(zhuǎn)換完成的數(shù)據(jù)表,即虛擬表,被虛擬表服務(wù)接口模塊21訪問的頻繁度。
該字段調(diào)度算法設(shè)計(jì)如下每次訪問虛擬表,則虛擬表的訪問頻繁度加一;每次虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22接受到一個(gè)虛擬表服務(wù)接口模塊21發(fā)送來的新數(shù)據(jù)轉(zhuǎn)換請(qǐng)求命令,則每個(gè)虛擬表的訪問頻繁度減一。每個(gè)數(shù)據(jù)表訪問頻繁度標(biāo)示字段的初始值為100。當(dāng)數(shù)據(jù)訪問量過大,虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22檢測(cè)到數(shù)據(jù)量超過數(shù)據(jù)緩沖閥值的時(shí)候,虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22自動(dòng)釋放訪問頻繁度標(biāo)示字段最小的數(shù)據(jù)表臨時(shí)信息。如果有數(shù)個(gè)訪問頻繁度標(biāo)示字段數(shù)值一樣而且都是最小的,虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22自動(dòng)釋放全部這些數(shù)據(jù)表的臨時(shí)信息。
3、本發(fā)明的第三個(gè)關(guān)鍵在于數(shù)據(jù)緩沖閥值的設(shè)計(jì)。
該閥值用來表明虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22占用系統(tǒng)內(nèi)存的情況。這個(gè)閥值按照字節(jié)為單位。每次虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22開始新的數(shù)據(jù)表轉(zhuǎn)換之前,都會(huì)檢查當(dāng)前內(nèi)存占用和這個(gè)閥值之間的關(guān)系。當(dāng)虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22檢測(cè)到數(shù)據(jù)量超過數(shù)據(jù)緩沖閥值的時(shí)候,虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22自動(dòng)釋放訪問頻繁度標(biāo)示字段最小的數(shù)據(jù)表臨時(shí)信息。如果有數(shù)個(gè)訪問頻繁度標(biāo)示字段數(shù)值一樣而且都是最小的,虛擬表數(shù)據(jù)轉(zhuǎn)換模塊22自動(dòng)釋放全部這些數(shù)據(jù)表的臨時(shí)信息。
通過調(diào)整訪問頻繁度標(biāo)示字段數(shù)值及數(shù)據(jù)緩沖閥值,可以達(dá)到優(yōu)化該系統(tǒng)的運(yùn)行效率的目的。同時(shí)對(duì)這兩個(gè)關(guān)鍵數(shù)據(jù)的調(diào)整,還可以使系統(tǒng)適應(yīng)不同的嵌入式系統(tǒng)硬件平臺(tái)和操作系統(tǒng)。
權(quán)利要求
1.一種基于虛擬表服務(wù)器的快速訪問后臺(tái)數(shù)據(jù)庫(kù)的嵌入式系統(tǒng),包括客戶端(10)和數(shù)據(jù)庫(kù)服務(wù)器(30),客戶端(10)包含數(shù)據(jù)服務(wù)內(nèi)部接口模塊(11),數(shù)據(jù)庫(kù)服務(wù)器(30)包含數(shù)據(jù)庫(kù)服務(wù)端口模塊(31);其特征在于設(shè)置有虛擬表服務(wù)器(20);虛擬表服務(wù)器(20)包含虛擬表服務(wù)接口模塊(21)、虛擬表數(shù)據(jù)轉(zhuǎn)換模塊(22)、臨時(shí)數(shù)據(jù)存儲(chǔ)模塊(23)、數(shù)據(jù)客戶端接口模塊(24);數(shù)據(jù)服務(wù)內(nèi)部接口模塊(11)、虛擬表服務(wù)接口模塊(21)、數(shù)據(jù)客戶端接口模塊(24)、數(shù)據(jù)庫(kù)服務(wù)端口模塊(31)依次連通;在虛擬表服務(wù)接口模塊(21)、數(shù)據(jù)客戶端接口模塊(24)之間,通過虛擬表數(shù)據(jù)轉(zhuǎn)換模塊(22)、臨時(shí)數(shù)據(jù)存儲(chǔ)模塊(23)完成系統(tǒng)的核心功能;所述的虛擬表服務(wù)接口模塊(21)完成數(shù)據(jù)的封裝和與數(shù)據(jù)服務(wù)內(nèi)部接口模塊(11)間的傳輸功能;所述的虛擬表數(shù)據(jù)轉(zhuǎn)換模塊(22)完成數(shù)據(jù)表之間關(guān)聯(lián)關(guān)系的轉(zhuǎn)換工作,將數(shù)個(gè)有關(guān)聯(lián)的數(shù)據(jù)表轉(zhuǎn)換成一個(gè)與其它數(shù)據(jù)表無關(guān)聯(lián)的數(shù)據(jù)表;所述的臨時(shí)數(shù)據(jù)存儲(chǔ)模塊(23)為整個(gè)系統(tǒng)提供臨時(shí)數(shù)據(jù)存儲(chǔ)服務(wù);所述的數(shù)據(jù)客戶端接口模塊(24)是一個(gè)和后臺(tái)數(shù)據(jù)庫(kù)30連通的標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)接口。
2.按權(quán)利要求1所述的嵌入式系統(tǒng),其特征在于虛擬表數(shù)據(jù)轉(zhuǎn)換模塊(22)按照原始數(shù)據(jù)表外鍵和被轉(zhuǎn)換數(shù)據(jù)表主鍵的關(guān)聯(lián),通過數(shù)據(jù)轉(zhuǎn)換控制的方法,自動(dòng)實(shí)現(xiàn)數(shù)據(jù)表的轉(zhuǎn)換和控制,從而達(dá)到易于被嵌入式系統(tǒng)所使用的設(shè)計(jì)目的。
3.按權(quán)利要求2所述的的嵌入式系統(tǒng),其特征在于所述數(shù)據(jù)轉(zhuǎn)換控制的方法采用轉(zhuǎn)換狀態(tài)標(biāo)示字段、頻繁度標(biāo)示字段和數(shù)據(jù)緩沖閥值自動(dòng)實(shí)現(xiàn)系統(tǒng)的優(yōu)化和控制。
全文摘要
本發(fā)明公開了一種基于虛擬表服務(wù)器的快速訪問后臺(tái)數(shù)據(jù)庫(kù)的嵌入式系統(tǒng),涉及一種訪問后臺(tái)數(shù)據(jù)庫(kù)的嵌入式系統(tǒng)。本發(fā)明包括客戶端(10)和數(shù)據(jù)庫(kù)服務(wù)器(30),客戶端(10)包含數(shù)據(jù)服務(wù)內(nèi)部接口模塊(11);數(shù)據(jù)庫(kù)服務(wù)器(30)包含數(shù)據(jù)庫(kù)服務(wù)端口模塊(31);設(shè)置有虛擬表服務(wù)器(20),虛擬表服務(wù)器(20)包含虛擬表服務(wù)接口模塊(21)、虛擬表數(shù)據(jù)轉(zhuǎn)換模塊(22)、臨時(shí)數(shù)據(jù)存儲(chǔ)模塊(23)、數(shù)據(jù)客戶端接口模塊(24);數(shù)據(jù)服務(wù)內(nèi)部接口模塊(11)、虛擬表服務(wù)接口模塊(21)、數(shù)據(jù)客戶端接口模塊(24)、數(shù)據(jù)庫(kù)服務(wù)端口模塊(31)依次連通;本發(fā)明性價(jià)比高,方法簡(jiǎn)單,適應(yīng)性好,應(yīng)用廣泛。
文檔編號(hào)H04L29/06GK1988458SQ20061012555
公開日2007年6月27日 申請(qǐng)日期2006年12月22日 優(yōu)先權(quán)日2006年12月22日
發(fā)明者景鋒 申請(qǐng)人:武漢市中光通信公司