嵌入式系統(tǒng)的企業(yè)級(jí)應(yīng)用
掃描二維碼
隨時(shí)隨地手機(jī)看文章
目前嵌入式系統(tǒng)已經(jīng)從傳統(tǒng)的幕后角色比如飛機(jī)、工業(yè)儀器以及軍用設(shè)備的控制走向諸如醫(yī)療檢查、運(yùn)輸卡車甚至維修工的工具等大眾領(lǐng)域。
新技術(shù)的出現(xiàn)已經(jīng)模糊了企業(yè)和個(gè)人在移動(dòng)和桌面計(jì)算上的界限,以前僅針對(duì)企業(yè)級(jí)應(yīng)用的系統(tǒng)通過(guò)新的技術(shù)也可以面對(duì)有需要的個(gè)人?,F(xiàn)在研發(fā)者通過(guò)功能強(qiáng)勁價(jià)格適當(dāng)?shù)挠布梢栽诟〉脑O(shè)備上集成更多的功能、應(yīng)用和數(shù)據(jù),軟件開(kāi)發(fā)者緊隨其后,在這些新平臺(tái)上任意發(fā)揮,最終形成各種創(chuàng)意獨(dú)特的設(shè)備。
日常生活中的嵌入式
嵌入式系統(tǒng)看上去似乎神秘而復(fù)雜,但實(shí)際上從手機(jī)到車載GPS甚至MP3播放器,我們每天都在應(yīng)用它。將這些消費(fèi)類產(chǎn)品中的技術(shù)用到其他場(chǎng)合將會(huì)在更多的市場(chǎng)中增加效率和效用。
來(lái)看一個(gè)設(shè)備維修工。過(guò)去他們通過(guò)電話與分配中心、器件倉(cāng)庫(kù)以及其它資源中心聯(lián)系,現(xiàn)在他們?cè)诂F(xiàn)場(chǎng)只需要一個(gè)手持儀器,里面會(huì)含有從安排列表、診斷測(cè)試到器材庫(kù)存信息和賬單軟件等一切資料。有時(shí)這些設(shè)備還可以直接聯(lián)網(wǎng),作為一個(gè)完整的獨(dú)立系統(tǒng),它們可以獲取到針對(duì)某個(gè)特定應(yīng)用的所有信息,并在工作日結(jié)束后與主機(jī)保持同步。
嵌入式軟件的設(shè)計(jì)演變
長(zhǎng)久以來(lái),嵌入式設(shè)備的開(kāi)發(fā)者一直在努力壓縮軟件字節(jié)數(shù)目,降低CPU的消耗,以此來(lái)在有限的硬件能力上得到更多的性能提升。但是隨著功能更加強(qiáng)大的硬件系統(tǒng)和COTS商用嵌入式操作系統(tǒng)的不斷涌現(xiàn),中間件和數(shù)據(jù)管理系統(tǒng)在轉(zhuǎn)移重心。而幾年前,嵌入式的開(kāi)發(fā)者還在寫(xiě)自己的操作、文件和數(shù)據(jù)管理系統(tǒng)。這樣在時(shí)間上看上去不夠經(jīng)濟(jì),但是有人認(rèn)為這種針對(duì)特定應(yīng)用定制的軟件會(huì)比商用軟件更精簡(jiǎn)且更快。
在嵌入式中間件和嵌入式數(shù)據(jù)管理系統(tǒng)上也有同樣的趨勢(shì)。為了適應(yīng)空間和內(nèi)存的限制,傳統(tǒng)上這些中間件和管理系統(tǒng)只有有限的功能,占據(jù)幾十萬(wàn)字節(jié)的空間。而現(xiàn)在的系統(tǒng)在相同的限制下采用歸一化的功能,使得開(kāi)發(fā)者在核心功能的基礎(chǔ)上開(kāi)發(fā)不同的應(yīng)用方案。利用眾多的COTS系統(tǒng),開(kāi)發(fā)者有機(jī)會(huì)推出差異化的嵌入式設(shè)備。
但是隨著硬件和COTS系統(tǒng)的發(fā)展,也出現(xiàn)了新的問(wèn)題。嵌入式設(shè)備變得日益復(fù)雜,許多應(yīng)用都要共享和處理海量的數(shù)據(jù),有效處理這些數(shù)據(jù)使得用戶可以方便操作成為頭等大事。
具有定位功能的設(shè)備
GPS以及其它具有定位功能的技術(shù)的激增,促使開(kāi)發(fā)者開(kāi)始找尋一種仍舊基于工業(yè)級(jí)SQL的新的查詢方式,比如在空間或者多維情況下搜索數(shù)據(jù)。利用設(shè)備方位的應(yīng)用需要執(zhí)行多維搜索,并綜合設(shè)備上的其他空間數(shù)據(jù)。
回想一下我們的設(shè)備維修工。假設(shè)他提前完成了一個(gè)服務(wù),在進(jìn)行下一個(gè)預(yù)定計(jì)劃之前,不用打電話給分配中心,利用具有多維搜索功能的儀器,他就可以在當(dāng)前位置和下一個(gè)服務(wù)點(diǎn)間找到一個(gè)等待中的預(yù)約,在時(shí)間和設(shè)備都容許的情況下完成這個(gè)臨時(shí)加入的任務(wù)。通過(guò)他的這個(gè)具有定位搜索功能的強(qiáng)大設(shè)備,他節(jié)約了時(shí)間,減少了支出并有可能提高了客戶服務(wù)。
與這樣的搜索類似的企業(yè)級(jí)應(yīng)用包括常見(jiàn)的比如人員調(diào)配一直到比較專業(yè)應(yīng)用,比如位置識(shí)別與群體網(wǎng)絡(luò)的綜合。想象一下醫(yī)院里的群體網(wǎng)絡(luò)系統(tǒng),醫(yī)生可以與網(wǎng)絡(luò)里的其他人交互位置,這樣一個(gè)融合了個(gè)人聯(lián)絡(luò)數(shù)據(jù)和位置信息的系統(tǒng)方便于處理緊急情況下的查詢。
RDBMS中進(jìn)行空間搜索需要兩個(gè)主要的因素。第一個(gè)是將特定數(shù)據(jù)類型轉(zhuǎn)換為空間數(shù)據(jù),其次是有效索引數(shù)據(jù)的方式。最理想的數(shù)據(jù)類型應(yīng)該包括X、Y和Z三個(gè)坐標(biāo)分量。X和Y坐標(biāo)提供映射的矢量數(shù)據(jù),Z用于區(qū)分這些數(shù)據(jù)。
以上面的醫(yī)院網(wǎng)絡(luò)為例,Z屬性可以用來(lái)描述不同醫(yī)生的專業(yè)。對(duì)于設(shè)備維修工,XY用來(lái)確定維修地點(diǎn),Z可以用來(lái)描述待修設(shè)備的類型或者是否在保修期內(nèi)。為了提供這些差異化,Z屬性應(yīng)該可以分為不同的字節(jié)。
Z屬性是個(gè)32位的操作數(shù),可以進(jìn)行邏輯“與”“或”的操作。比如如果第五位代表餐館,第六位代表亞洲,那么通過(guò)第五和第六位的位屏蔽操作就可以找到亞洲的餐館。
有效的索引對(duì)于數(shù)據(jù)的搜索也很必要。最有效索引空間數(shù)據(jù)的方法是采用四叉樹(shù)。四叉樹(shù)將兩維空間分割為四個(gè)子空間,把象限遞歸細(xì)分到每個(gè)象限中只有一個(gè)點(diǎn)。這些象限變?yōu)闃?shù)形結(jié)構(gòu)的葉子。
字母數(shù)字搜索的幫手
即使是非定位式的設(shè)備,有效找到靜態(tài)數(shù)據(jù)的需求也會(huì)帶來(lái)數(shù)據(jù)檢索的問(wèn)題。地址、號(hào)碼、文件、客戶信息以及其他海量的數(shù)據(jù)的記錄都存儲(chǔ)于手持設(shè)備中,這使得用戶必須有系統(tǒng)的辦法輸入每個(gè)字母和數(shù)字。
現(xiàn)在新的嵌入式RDBMS技術(shù)可以混合增量文字搜索,它可以幫助用戶漸進(jìn)式的執(zhí)行搜索,隨著每個(gè)字符的輸入縮小搜索結(jié)果,并在每個(gè)搜索條目下指導(dǎo)用戶下一個(gè)可能的字母。在很多應(yīng)用中已經(jīng)采用了這個(gè)技術(shù)。
“別名”是一個(gè)更有用的技術(shù),它通過(guò)使用變化的名字來(lái)幫助使用者找到所需。例如,維修工可以輸入一個(gè)特定的類型號(hào)碼來(lái)檢索維修手冊(cè),或者是輸入簡(jiǎn)單的“洗碗機(jī)”來(lái)獲得一些待選的器具型號(hào)。別名搜索功能不僅可以通過(guò)描述文字來(lái)找到使用者的搜索對(duì)象,還可以更正誤拼寫(xiě),所以錯(cuò)誤敲入的“吸碗機(jī)”也可以得到正確的結(jié)果。
標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)結(jié)構(gòu)包含表格、橫向和縱向的數(shù)據(jù)。由每一列來(lái)定義數(shù)據(jù)的類型。例如,客戶地址可以細(xì)分為街道、城市以及州等多個(gè)列。橫行則是對(duì)應(yīng)與每一列的數(shù)據(jù)。為了實(shí)現(xiàn)別名的功能,RDBMS需要能夠建立重復(fù)的列。一個(gè)重復(fù)的列可以使每行具有相同特性的數(shù)據(jù)有不同的實(shí)現(xiàn)。比如對(duì)于維修工,這樣重復(fù)的列可以包含洗碗機(jī)、洗衣機(jī)、干衣機(jī)以及冰箱等多個(gè)選項(xiàng)。
大海撈針式的搜索
有時(shí)用戶并不知道他們到底要找什么。維修工對(duì)解決方案的最佳猜測(cè)沒(méi)能奏效,或者按照特定的方案沒(méi)能消除故障,此時(shí)怎么辦?搜索技術(shù)在這種情況下可以提供一些近似的答案,這會(huì)很有幫助。
“什么器件會(huì)引起同樣類型的問(wèn)題呢?有什么其他的病會(huì)有同樣的癥狀呢?什么藥會(huì)有效呢?”傳統(tǒng)的搜索對(duì)此類問(wèn)題無(wú)能為力。新的數(shù)據(jù)管理系統(tǒng)通過(guò)特定描述標(biāo)簽解決了這個(gè)問(wèn)題。
若要嵌入式RDBMS能夠大海撈針,它需要合理地索引文字?jǐn)?shù)據(jù)。有很多種方法實(shí)現(xiàn)這個(gè)目標(biāo)。第一種是只根據(jù)整個(gè)文字串來(lái)建立索引,這種方法有很多優(yōu)點(diǎn),但是返回結(jié)果很有限。因此,n元語(yǔ)法索引成為最佳方案,它將整個(gè)文字串根據(jù)n分為幾個(gè)唯一的小文字串,n通常在2到4之間。
關(guān)注嵌入式
新技術(shù)使得嵌入式設(shè)備的企業(yè)級(jí)應(yīng)用日新月異。隨著硬件變得日益強(qiáng)大,開(kāi)發(fā)者將會(huì)呈現(xiàn)出更多的創(chuàng)新性應(yīng)用和設(shè)備。
本文來(lái)源:EDN 作者:Dale Dasker