物聯網進入雲端年代、從 1980 年開始探討物聯網發展
物聯網盡管被提及多年,也得到各方力量的推動,但是產業的發展相對比較緩慢,而且目前只有少數企業能在這個領域賺到收益。究其原因,一些行業分析師認為,想要讓每個場景中的裝置實現物聯網化,孤軍作戰難以實現,整個物聯網行業缺乏平台的支撐。這句話講到了重點。但是,有能力做物聯網平台的企業並不多,能夠下決心專注物聯網領域的更是少之又少,而今次我們帶大家看看知名的物聯網(Wind River),她們可算是有實力的物聯網平台中的一個。
VxWorks成長歷程
結合VxWorks的發展經歷不難看出,從1980年到2010年,VxWorks推出了四代產品。1980年代,為裝置開發了32位處理器,而且裝置中有了操作系統。1990年代,越來越多的裝置開始數碼化,互聯網也開始興起。VxWorks來到5時代。2000年代,Wind River 推出了VxWorks 6版本,除了多核裝置不斷推出之外,很多裝置開始需要有一些特定的增強性,不管是在安全性還是在防禦性能上。進入2010年代,Wind River推出了VxWorks 7,除了看到物聯網的一些新機會外,更多的是不限於一個裝置上使用,開始探討從端到端,還有中間的雲端部分,因此,要分配和管理的裝置越來越多,而且每個裝置之間的互聯、性能的分配、操作也越來越復雜。
物聯網的每一個裝置就是大大小小的傳感器,開始連到複雜的雲端時,中間經過了很多層。在這麼多的層數裡,VxWorks 7最關注其中的三點:擴展性、延展性、安全性。
除此之外,平台還有特別增強的重點。如下:
第一,連接性。裝置之間互聯互通的協議不同,需要更好的管理。
第二,圖像化。顯示方式已經從指令式的文字模式進入到圖像式的顯示,過去不需要靠圖像來操作的界面,如今都要適應圖像化的操作需求。因此,VxWorks7在圖像支援方面比以往做的更好。
第三,虛擬化。虛擬化帶來很多新機遇,也帶來很多新挑戰。虛擬化讓整個軟硬件的運用更有效,但同時虛擬化增加了受攻擊的可能性。所以,VxWorks 7在虛擬化方面也進行了強化。
過去,VxWorks是一個集中化的管理方式,整個平台架構像一把鎖一樣,全部功能都包含其中,不論是編譯器還是一些編譯工具。而且,一旦推出新版本,需要對整個平台進行重新測試,這樣使平台不容易升級。
VxWorks 7如何求變?
1、架構創新。相比過去的平台版本,VxWorks 7最重要的變化是整個平台架構保持三年穩定不變,每個功能類似於安裝包一樣。不管是文件系統管理還是網絡系統管理,都是一個個功能包,好處在於,合作伙伴不需要跟隨VxWorks的改版而升級他們的版本,客戶擁有一個更加穩定的平台,為她們的客戶的產品開發提供更大的方便性。
在穩定的平台上,客戶的產品在不同的版本上可以同時存在。例如,最開始推出的1.0版,接著是1.1版,再後來是1.2版,就像打補丁一樣。一旦文件系統出現問題,只需要更新文件系統部分,無需改動整個平台。客戶原先做的開發不會因改動了平台的一個部分,導致整個產品都要更改,將干擾和開發延誤的影響降到最低,此部份跟 OOP 的編程概念相似。
通過打補丁的做法將功能模組化,只需一兩周就可以更正之前發現的問題,大大縮短了修復舊功能和新功能上線的時間。
2、囊括所有版本的標準認證要求。過去根據客戶的實際需求,開發不同認證要求的版本。現在VxWorks 7平台是把需要認證的版本全部納入。例如,醫療行業是IC62304標準,工業控制是IC61508標準,航空是DO178標準,鐵道是IC50128標準,當然還有其他標準。
採用隔離的方式,例如,在認證要求上,哪些代碼需要通過認證,通過認證時具有哪些功能,把它隔離到某塊模組中。例如把有強烈的安全要求放在一起,根據要求更新。不需要換的部分固定在另外一塊模組上。
在安全增強方面通過四大基礎功能:1、從一開始的系統設計上,在最底層有防止惡意襲擊的自我保護功能。2、在開機讀代碼的時候,也做了保護層。3、實際裝置運作時也有防止惡意攻擊的部分。4、裝置關閉時,對記憶體內仍存有運作數據,或者裝置使用時留下來的數據內容都有保護。所以,從一開始到最後,在關機以及休息時都可以有效保護數據以及裝置的運作。
3、突出圖形化的重要性。iPhone帶來了很多使用習慣上的變化,大部分新裝置都有相對應的圖形界面提示。硬件對圖形的要求已經越來越多,所以VxWorks 7在軟件上做的支援也會越來越多。
做物聯網開發如何突破?
最近,筆者經常和一些開發者進行溝通,他們對新技術一方面充滿期待,另一方面苦於找不到突破方法,陷入轉型的困境中。靠改變才能順應時代的需求,因此不僅開發者需要轉變,VxWorks同樣如此。很多時候是在挑戰過去、推翻過去。從人才方面,為了打破員工一貫的思維方式,管理層需下定決心,引入了一些新的成員,最終讓物聯網方案成功落實;而 Wind River 同樣採取相同的策略。
Wind River 產品經理 Stephen Olsen 認為,對開發者來說,從最小的裝置端到雲端服務,代碼編寫的方式有很多,但相對應的API有一些是通用的。例如,C++開發者參與物聯網每個環節的編程方式大同小異,關鍵要看切入點在哪裡,每個環節都可能成為開發者步入物聯網的缺口。
盡管Java開發者從事物聯網開發的優勢相對較少。但物聯網不只是物,還有聯網、數據分析及整個調度。Java開發者,同樣要結合自己擅長的技能找到切入點。整個物聯網帶來的熱潮,不會對行業帶來很強的限制性,每個人都可以看到自己的機會,選擇轉到物聯網領域。
結論
VxWorks 7在最底層的可擴展性和安全上做了加強,而且在圖形和存儲方面也有進一步提升。另外,就是它有不同的連接性。過去一個新的硬件要配一個相對應的BSP。現在,有很多固定下來的BSP就不太需要變化,只在不同的方面改變即可。因為把通用部分都集合起來,有很多可以在代碼行上做一些改變。另外,大幅降低了文件管理所需要的代碼,有很多通用的部分全部固定下來,每個差異之間有一點細微變化。這樣保證了客戶在做產品開發和生態系統建設的時候,能有更好的方式來進行並完成。