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