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