我們來探討物聯網時代的挑戰以及微服務架構如何成為解決這些挑戰的關鍵。在工業4.0的背景下,物聯網不僅帶來了無限的可能性,同時也帶來了前所未有的挑戰。其中最突出的就是設備異構性問題,這涉及到不同的通信協議、網絡和數據處理方式。
面對這些挑戰,我們通過SupconIoTP的微服務架構設計,不僅提高了系統的可擴展性和互操作性,還引入了動態服務組合和多用戶場景下的衝突解決策略。這種設計不僅應對了異構設備問題,也為物聯網系統提供了更大的靈活性和可靠性。
在接下來的演講中,我將深入探討相關研究,中間件的內部架構,以及我們如何在技術層面上實現這些創新的解決方案。
物聯網的迅速發展帶來了前所未有的機遇,同時也面臨諸多挑戰,特別是在設備異構性和系統複雜性方面。陳海明等學者的研究為我們提供了物聯網中間件的組織形式和服務類型的基本架構。他們將服務分為物理和虛擬實體,並深入探討了中間件層在服務註冊、發現和組合方面的作用。
然而,儘管面向服務的架構(SOA)在物聯網中間件的設計中取得了一定的進展,但它在動態部署應用和服務組合的可變性方面仍顯不足。此外,這些系統往往依賴於企業服務匯流排(ESB),導致開發和維護成本高昂,並且在異構設備的持續集成和動態擴展方面存在限制。
面對這些挑戰,微服務架構應運而生。與SOA相比,微服務架構在系統內部的組件化和服務化做得更為徹底,且微服務部署於獨立的操作系統進程中,允許使用不同的技術棧實現。微服務之間的輕量級通信協議取代了ESB,實現了真正的服務解耦。這種架構不僅降低了物聯網系統的複雜度,還增強了其擴展能力,並適應了物聯網應用快速部署和演化式擴展的需求。
這些研究在物聯網設備支持的通信協議、依賴的傳輸網絡、數據的解析和處理分級等方面存在差異,並且對多用戶場景下的服務衝突問題未給予足夠重視。因此,我們需要更深入地探討如何在微服務架構下有效地管理這些異構性和衝突。
我們將探討以微服務架構為基礎的物聯網中間件設計。中間件由多個關鍵微服務組成:安全微服務、用戶界面微服務、存儲微服務、服務管理微服務、規則微服務及設備微服務。這些微服務在容器技術的支援下實現快速部署和擴展,共同構築一個高效、靈活的物聯網系統。我們將逐一介紹每個微服務的功能和建構目標,從而深入了解這些微服務如何緊密協作,為物聯網設備提供無縫的通訊與高效的數據處理。
今天我們將探討在微服務架構下的關鍵服務設計。這種架構允許我們獨立部署服務,從而使物聯網系統能夠支持各種異構設備。然而,挑戰在於如何動態地將這些異構設備轉化為服務,並在服務化過程中解決可能出現的調用衝突。此外,我們還需要考慮如何在具體應用中有效地組合這些服務。這些挑戰的解決方案依賴於我們如何精心設計微服務組件。
設備微服務的核心職責是將實體設備轉化為數字化服務,並處理服務調用與設備請求間的轉換。為了達成這一目標,我們採用了統一的抽象機制,這使我們能夠完全屏蔽設備在通信協議、傳輸網絡、以及數據處理方面的異構特點。此外,我們還專注於解決可靠性、並發性支持和衝突控制等方面的挑戰。我們的設計包括了設備描述機制、設備模板和設備映像,這些組件共同構成了設備微服務的基礎。
設備微服務。我們如何將實體的物聯網設備轉化為高效、動態的數字服務?答案在於所謂的設備描述文件。這些文件不僅包含了設備的通信協議和數據解析方式,還涵蓋了設備在傳輸網絡上的特性,使我們能夠針對異構性設備進行個性化的管理。
關鍵在於,這些描述文件使我們能夠精確控制設備的訪問頻率,同時還可以設定數據處理的具體方式。此外,這一機制還為設備所有者提供了細粒度的訪問控制,允許他們根據不同的用戶需求展示不同的信息。
設備模板是微服務中關鍵的組件,由消息通信模塊、設備通信模塊、報文解析模塊和設備映像模塊動態組合而成。這種設計允許我們根據設備的通信協議來自動選擇合適的通信模塊,並根據用戶設定的參數來激活報文解析模塊。我們的系統已經集成了多種常見的通信協議,如TCP、HTTP、CoAP和MQTT,以滿足各種物聯網設備的連接需求。對於不具備通信能力的設備,我們提供了在現場建立通信服務器或添加額外通信模塊的解決方案,從而實現設備的連接和數據傳輸
當我們將設備轉化為微服務後,面臨的主要挑戰之一是確保服務的持續可用性,即使在面臨網絡波動和高並發請求的情況下。此時,設備映像模塊發揮了關鍵作用。它通過記錄設備的預期狀態,並在單次訪問周期內管理來自不同用戶的請求,確保了對設備的每次調用都能得到及時且一致的響應。這不僅提高了系統的效率,還降低了對網絡的依賴,使得即使是低功耗或記憶體受限的設備也能無縫地融入我們的物聯網解決方案中
今天我們來探討規則微服務,一個在物聯網中極為重要的組件。它基於訂閱和發布的通信模型,能夠與各種微服務進行交互,從而支持實時的規則制定和數據處理。這個模塊使我們能夠根據具體需求,組合不同的服務並進行高效的數據處理。它的靈活性體現在使用類似SQL的語句來定義數據的來源、處理方式和最終流向。這不僅提高了我們的自動化能力,還為實時監控和數據分析提供了強大的支持。
如用户界面微服务搭配使用可以監控資料的即時警報,與儲存微服務搭配使用可以自動去冗餘並記錄監測值等
我們將探索一個具體的實例驗證,基於Docker和Kubernetes的SupconIoTP中間件。我們將使用一款紅外物聯網設備來展示如何處理異構設備的接入和多用戶之間的服務衝突。這個設備透過HTTP協議來監控和記錄人流數據,並提供清零和數據查詢接口。我們將討論如何通過設備描述文件和規則微服務來有效管理這些數據,以及如何應對服務衝突,確保系統的穩定運行。
基於微服務架構的物聯網中間件。這個中間件不僅提高了物聯網的擴展能力,還通過設備描述文件有效管理異構設備,並且透過設備映像技術解決了多用戶環境下的服務衝突問題。我們注意到,在面臨網絡波動和大量設備接入時仍存在挑戰。因此,未來的工作將專注於與邊緣計算的協同發展,以進一步優化系統性能。