為了保障物聯網數據的充分流動和有效利用,除了通信技術本身的連接能力外,還需要打通物聯網各層架構之間的壁壘,才能實現數據采集、傳輸、處理、分析全生命周期的管理,進而讓數據真正發揮“物聯網時代石油”的價值。EMQ映云科技是一家在物聯網數據基礎設施領域深耕多年的企業,在2021中國AIoT產業年會上,EMQ映云科技解決方案VP余杰霖為大家帶來了題為《EMQ:AIoT的數據基礎設施》的精彩演講。以下是其演講全文分享:
我今天分享的主題是《AIoT的數據基礎設施》,這是我在產業互聯網行業過去十年來所積累的經驗和對行業趨勢的判斷,希望對大家有所幫助。
EMQ是一家開源物聯網數據基礎設施軟件供應商,我們一直以開源為核心,產品覆蓋了消息和流處理,以及邊緣端的能力,主要目的是解決實時數據的移動、流處理和分析,希望服務產業的數字化、實時化、智能化轉型。
在運營商的努力下,我們現在面對的AIoT物聯網架構基本解決了連接的問題。在端側,有很多異構設備在實時產生數據,這些數據通過一個小網關進行初步匯聚,經過邊緣基站接入到核心網絡后,再進入到云數據中心,對數據分析處理后反饋到各個端——這是目前所看到的大部分物聯網架構的模型。
但是連接的問題解決了,數據與信息之間還是有很大的區別,即空有數據但不產生價值,物聯網數據并沒有真正反哺到業務層。現在中國大部分AIoT企業的應用也只是停留在數據化的階段,而非數字化、信息化。
EMQ認為,物聯網時代的數字化轉型有四個趨勢:
一是全面的云原生轉向,從原來的業務上云、數據上云,轉變為無論是應用服務還是數據基礎設施應用服務,都逐步向云原生靠攏。不論是研發、部署,還是運維、測試,云原生理念目前已深入行業內部。
二是數據逐漸從云端下沉到邊緣端,如數據量比較高的V2X以及對于邊緣端的設備數據采集有要求的應用,使得邊緣計算開始崛起。但邊緣計算本身并不是完美的,其可能存在碎片化的問題也帶來了云邊協同的困難。
三是分布式云的發展,很多互聯網平臺和AIoT應用的開發者將原有的云原生技術向邊緣發展,把之前集中在公有云上的內容逐漸放到了分布式云中。
四是數據的類型也在發生變化,從移動互聯網時代由手機產生的具有明顯波峰波谷的交易型數據、事務型數據,轉變成由機器產生的連續不斷的分析型數據。
接下來,我將詳細闡述物聯網全連接時代數據的范式變化。
數據生產主體和產生方式
數據產生主體從人類轉變為機器。人類行為產生的交易型數據可以有諸如雙十一、雙十二這種明顯的波峰波谷變化,而對于物聯網設備來說,往往每分鐘甚至每秒都在上報數據,沒有明顯的波峰波谷,而且這些數據具有非常明顯的時空上下文特征。
數據類型
對AIoT領域的數據來說,其產生的那一刻價值最大。例如當你使用充電樁時某一刻充電失敗了,這背后失敗的原因,對用戶來說才是價值最高的,所以需要從事務型數據轉變為流式數據,以進行實時的分析處理。
數據體量
在連接的問題解決之后,數據連接量就迎來了井噴式增長。根據最新的報告,全球的物聯網數據未來會達到ZB級別,這意味著大部分大型的物聯網平臺以后面對的數據量將從原來的GB時代過渡到PB、EB時代。
數據處理
對于海量數據并發連接的需求,同時又要做到實時的流式計算,原有的大數據架構必然要發生改變。之前是從數據的源頭把數據錄入到事先設計好的表中,在需要分析的時候從數據庫里把數據讀出來進行分析。而現在面對的數據很多都是半結構化、非結構化的,比如視頻、音頻之類的數據,對于這一類數據,往往在產生的那一刻不知道該怎么分析,需要有查詢的能力,才能把數據的價值發揮到最大,這就要求從原先的批處理方式過渡為流式計算,自然會產生新的數據庫。
綜合以上幾點,我們提出了四個原則,我們的產品也是基于這四個原則來設計和開發的:
第一,移動計算優先。在半導體產業發展中我們看到了共享內存的設計,數據在信息層面的復制成本是很低的,但在物理層面對它進行搬運和存儲的復制成本非常高,特別是在海量數據情況下。所以我們盡量把價值高的計算移動到離數據產生更近的地方,讓計算和數據產生更大的價值。
第二,數據流可復用。在任何的AIoT設備中,一個數據源都不會只對接一個系統,很可能因為業務的發展,需要數據能夠一次接入,多次復用。
第三,全場景可適配。面對物聯網設備端的系統,包括設備協議里需要具有的能力,任何一個適合的互聯網IoT架構,都需要有一個組件來彌合碎片化協議的接入。
第四,分布式云原生。未來很多數據會從中心化的云端轉變為在分布式的邊緣云進行處理。
AIoT對數據提出最大的要求就是互操作性。之前數據存儲進去后再讀取出來的成本是很高的,原本可能有非常多的設備對應一個應用,如果之后增加更多的應用,就會造成很復雜的架構耦合,帶來的結果就是架構不可橫向擴展。
如果有一個統一的數據命名空間,所有的數據在內部互相共享,并對不同的數據模型進行隔離,讓真正的AI和IoT應用不用關心數據的內部路由,才是最適合IoT時代的架構。
對于這個作為命名空間使用的統一數據接入層,我們提出了四個要求:
一是要能夠承受持續穩定的海量超高并發連接,而且這個連接量是以前移動互聯網時代前所未見的。
二是對于一些需要防控的場景,需要保證鏈路的QoS支持,特別是OTA場景,必須能夠和端側建立可靠的數據傳輸通道以及雙向QoS支持。
三是對于大數據量,要同時滿足超低延時的有狀態流式處理與分析數據,這樣在數據產生的時候就能直接進行計算產生價值。
四是數據的可重用,需要流虛擬化,降低數據重用成本,快速的從海量的數據中找到所需數據,才能在數據平臺上發展出更多的應用。
基于以上這些原則,我們的產品也在不斷地迭代。首先是解決數據在云端海量連接和移動存儲的架構。
EMQ X是我們最早開始做的一個彈性、可靠、多協議的產品,前端可以接受標準的協議,內部是一個消息路由層的規則引擎,能夠和別的開源組件或者應用系統無縫集成,讓數據多次存儲快速消費,同時也可以在云原生中部署,各種架構部署都非常友好。
HstreamDB流式數據庫,可以針對多個數據流合成一個數據的虛擬流,這個虛擬流能在上面針對分析模型產生實時的視圖,幫助任務決策,同時也提供插件和大數據架構的AI應用集成。
講AIoT的部分,不可不說到邊緣計算。因為數據在邊緣,無邊緣計算就沒有連接也沒有數據,但邊緣計算在方案交付過程中有幾個挑戰:
首先就是邊緣的異構設備和協議接入問題,其次是異構設備和碎片化帶來的邊緣數據之間缺乏互操作性的問題,即有的設備是藍牙接入,也有是2G、3G、4G接入,在邊緣端就需要有一個能支持云邊協同的組件,能自己識別到設備所處的狀態,按照現在的邊緣設備所處的情況進行邊緣數據自治。
對于大部分云端或者軟件開發者來說,邊緣端的硬件環境始終還是陌生的,而且這個環境對于他們來說非常掣肘,難以用原有的開發模式。在各種垂直行業里,不同的協議都有自己的一席之地,我們必須有邊緣端的接入層彌合不同的碎片化協議和設備接入。
在邊緣端,一邊是不斷上漲的設備連接量和計算需求,另外一邊是捉襟見肘的邊緣硬件的資源和成本限制。
這里結合一個背景,在云數據中心的發展趨勢里,多核處理器已經是主流了,我們可以確信在邊緣端也能實現這個趨勢。未來勢必會有更多的邊緣多核處理器來支撐更高的設備連接量和計算需求。這對傳統的邊緣端嵌入式開發者的習慣和編程模型都提出了新的挑戰。
基于邊緣碎片化協議的問題,首先我們開發了工業協議網關軟件Neuron,來應對工業4.0的背景下對于不同垂直行業的設備統一接入和協議轉換的需求。
Neuron 2.0做得非常輕量化,很容易在各個不同的硬件平臺上進行移植使用,甚至可以移植到模組上,可以解決互操作性難的問題。它還可以部署在各種各樣單核、多核的芯片架構系統之上。另外我們也很好地平衡了在邊緣端對硬件多核性能的利用,以及對軟件產品可移植性和可多載性的保證。
對于嵌入式編程領域,如何高效而正確地使用多核硬件進行并行算法的實現,達到高性能的同時又兼顧易移植、易適配的特性,是一直以來存在的問題。而NanoMQ通過內部改進后的NNG異步I/O很好地解決了這一點。
NanoMQ 是 EMQ 今年剛剛發布的面向 IoT&5G 邊緣計算場景的下一代輕量級高性能 MQTT 消息服務引擎,也是國內第一款開源的邊緣輕量級MQTT Broker。NanoMQ 具備高性能的消息總線能力,彌合邊緣硬件和云端的架構差異,連接物理世界與數字智能。賦予邊緣消息匯聚再分發能力,解決了邊緣端接入層的海量并發問題,進而為邊緣計算應用開發提供便利。
為了解決邊緣端計算卸載和與AI系統對接的能力,我們推出了eKuiper,將Flink在邊緣端做了輕量化實踐。例如這里展示了一個簡單的應用例子:前端接一個攝像頭,通過一個插件就能形成在邊緣端的數據推理。
綜上所述,EMQ映云科技在數據的連接、移動、存儲、處理和分析鏈路上提供了完善的產品矩陣,實現云邊端統一數據的閉環,以便在最靠近數據產生的地方為數據創造最大的價值。
我們既有邊緣端的消息數據服務Neuron與NanoMQ,以及用于流式分析的eKuiper,還在云端有支持海量連接的EMQ X,以及支持流式數據處理分析的HSreamDB。
基于這些產品,我們可以為行業打造一個架構。首先在邊緣部分把它想象成一個網關,連接不同的工業協議,如果有邊緣端的AI應用,可以用eKuiper進行流式處理,然后再通過邊緣的云端進行橋接,從而把數據打通,形成數據從誕生到邊緣匯聚、存儲分析全鏈路的覆蓋。
有了數據的全鏈路追蹤和覆蓋能力,就可以形成數據的閉環,將數據轉變成信息和業務的洞察能力,從而實現數據反哺到業務的流程。
EMQ希望通過我們自己的世界級開源軟件,為IoT行業企業數字化轉型升級提供一些幫助,真正服務于產業與社會。謝謝!