設計IoT應用程序就像蓋房子一樣:組織需要強大的基礎來支持應用程序的變化。對于物聯網,該基礎是流架構。
軟件架構師必須遵循一個藍圖,以確保他們在考慮沿IoT數據路徑的組件時不會失去對整體流程的跟蹤。物聯網流應用程序實時處理數據,以獲取見解,以用于日志分析,過程控制和物料處理應用程序等用途,其中事件處理對于確保工廠有效運行至關重要。這些應用程序的特征是不受控制的消息流(事件流),這些消息流描述了大多數IoT。
為了應對IoT流架構所帶來的挑戰,軟件架構師必須首先了解IoT數據流是什么:這是事件處理流程,其中一組源會生成事件。來源對處理延遲很敏感,并且在技術和地理位置上也各不相同。物聯網流架構由五個組件組成。
1.事件接收者
物聯網流傳輸架構始于事件接收器,其中物聯網傳感器發送事件。事件接收器以流的形式獲取各種數據格式,并將其轉換為單層組件可以處理的標準結構。如果事件不包含其自己的時間戳,則事件接收器將標記該事件。
事件接收器是一個層,而不是單個組件。它可以容納新設備和具有陳舊數據結構的舊設備,而這些數據結構需要廣泛使用的支持。IoT流體系結構通常為每個來源集合都配備事件接收器,并且對其進行了自定義以支持所服務的來源社區的事件格式。
2.本地控制器
有時,軟件架構師會將事件控制器與本地控制器結合在一起。許多流式IoT事件需要事件源和控制現實世界過程的IoT設備之間的閉合控制回路,例如打開燈或打開大門。本地控制器可以在流處理的后期放寬對實時操作的延遲限制。
3.事件分類器和序列化器
事件分類器和序列化器根據需要對事件進行盡可能詳細的分類,以為事件分配處理優先級并沿著正確的處理路徑移動它們。基于標準化事件數據模型添加到每個事件的數據結構中的分類將在整個流程的其余部分跟蹤該事件。
序列化片段將多個事件流的集合處理到單個上下文流中以進行處理。當事件來自多個本地域時,序列化是必不可少的,但必須跨域關聯才能進行正確處理。如果應用程序不需要跨域處理,則可能不需要序列化。例如,如果每個本地域僅創建事務記錄以進行歷史分析,則應用程序不使用序列化。
一些物聯網部署將記錄或排隊此步驟的結果,以供以后的步驟使用。當數據需要進一步的實時處理時,此步驟將基于分類啟動流程工作流程,然后繼續進行IoT流架構中的下一步。
4.事件關聯和交易
事件關聯和事務處理步驟將事件信號轉換為可操作的消息,稱為提取,轉換和加載過程。消息具有三個目的地:
他們以流的形式轉到另一個流程工作流。
可以將它們格式化為事務,并輸入到組織已使用的事務處理舊版應用程序中。
它們可以存儲在數據庫中,以便以后進行分析和處理。
單個相關事件可以到達任何或所有目的地。組織可能需要實時性能分析,重點是性能,例如
NoSQL。
5.事件后處理和分析
事件后處理和分析步驟支持不需要實時處理和分析的所有應用程序。某些物聯網應用程序不涉及控制環路的任何擴展,除了對本地事件進行本地響應(例如打開門)外。其他應用程序至少需要事件記錄。有些要求對事件及其相關動作進行后處理。這些步驟和分析工具擴展了傳統的IT應用程序和數據庫,而不是事件處理。
-
物聯網
+關注
關注
2909文章
44557瀏覽量
372800 -
IOT
+關注
關注
187文章
4202瀏覽量
196699
發布評論請先 登錄
相關推薦
評論