《阿里云:企業物聯網平臺技術白皮書(31頁).pdf》由會員分享,可在線閱讀,更多相關《阿里云:企業物聯網平臺技術白皮書(31頁).pdf(31頁珍藏版)》請在三個皮匠報告上搜索。
1、 產品版本:文檔版本:20220128文檔版本:202203 技術白皮書 1 1 05 10 14 17 21 24 03 03 1 行業趨勢 1.1.技術發展趨勢 1.2.面臨的業務挑戰 02 02 2 技術架構 2.1.背景信息 2.2.產品介紹 3 技術優勢 3.1.安全穩定連接 3.2.海量消息 3.3.物模型 3.4.大規模設備管理 3.5.監控運維 3.6.異常檢測 4 高可用能力 4.1.重要性 4.2.挑戰性 4.3.單元化架構 27 27 28 2 企業物聯網平臺 IoT Platform 1.1.技術發展趨勢 中國物聯網設備連接數在20162020年間,年同比增長率為46.
2、1%,經歷了高速增長,預計到2025年會達到80億。阿里云物聯網平臺的核心價值是幫助企業設備數字化、智能化,設備產生的海量數據與企業的業務數據融合之后會產生巨大的價值,能夠促進企業高效低成本地運營,進而提升整個社會生產效率。IoT在這波數字化浪潮中至關重要,讓所有設備從孤立的變成有生命的?;ヂ摼W時代和移動互聯網時代的本質都是人的在線化,物聯網時代百億規模設備的在線化和數字化將會對物理世界進行重塑,尤其在5G網絡的推動下會加速這個進程。1.2.面臨的業務挑戰 隨著大量物聯網場景開始涌現,海量碎片化設備和巨量時序數據給物聯網平臺帶來了一系列新的要求和新的技術挑戰。高可用 物聯網從早期2016年主要
3、應用在消費類智能家居場景,到最近幾年場景越來越豐富,從文旅、園區、地產、城市、農業,再到工業、汽車等場景,其可靠性要求從民用級上升到了企業級。物聯網平臺的高可用能力決定了能夠支撐客戶業務持續運行的底線,且在應對大量影響民生安全、工業制造、社會穩定的場景時,需要提供極近苛刻的高可用能力。性能 物聯網在互聯網消息鏈路上新引入了一端(設備端),且應用端通過云平臺到設備端的雙向通信能力非常關鍵,設備狀態的上報和呈現、設備指令的控制和執行,是物聯網遠程設備在線化、智能化的基線。隨著場景的豐富,設備和應用間雙向通信的RT、性能尤為關鍵,若指令延時過高,可能導致客戶資損、民生安全受到威脅等意想不到的問題。生
4、態化 物聯網由于涉及到傳統領域,鏈路長、角色多、終端多樣性導致碎片化非常嚴重,因此,很難有一個角色或一家公司能夠從頭到尾將物聯網升級全部完成。而物聯網生態化趨勢越來越明顯,促進了全行業全面數字化升級,需要越來越多的角色進入到產業鏈。例如軟件開發者、硬件開發者、模組商、芯片商、系統集成商、設備商等眾多角色,需要物聯網平臺作為橋梁促進萬物互通、標準化、以及生態化。智能化 所有場景數字化轉型最終的目標是為了智能化,從而利用大量數據分析進行經營提效、降低成本、創新業務。物聯網平臺隨著設備連接、管理、運維的發展,也開始逐步進入到數據智能的階段。如果一臺智能電表每隔15分鐘采集一次數據,每天自動生成96條
5、記錄,那么全國接近5億臺智能電表,每天就能生成近500億條記錄。聯網汽車、工業場景等設備上報數據會更頻繁,據預測,五年之內物聯網設備產生的數據將占世界數據總量的90%以上。超大規模數據為智能化帶來了技術挑戰,也帶來了巨大的發展空間。技術白皮書 3 2.1.背景信息 阿里云IoT為企業數字化轉型和設備智能化升級提供了一系列基礎產品,一個普通設備升級為智能設備需要覆蓋物聯網端、邊、網、云四大基礎路徑,解決設備通訊、計算、網絡、連接、管理、數據、應用等關鍵問題。阿里云IoT在端、邊、網、云上分別提供了相應的產品技術能力,包括AliOSThings操作系統、邊緣計算、物聯網卡及無線網絡、物聯網平臺等。
6、2.2.產品介紹 設備連接和管理服務屬于物聯網平臺最基礎的能力,幫助客戶設備實現在線化、數字化,讓客戶不需關心物聯網基礎設施,完全聚焦在自己的核心業務上。以光伏逆變器為例,如果客戶自己要實現設備在線化、數字化,需要面臨的問題有電站的采集器如何接入、采用什么數據傳輸協議、如何保障連接的安全和穩定;電表如何結構化建模、氣象數據如何實時采集、逆變器故障如何預警、風機如何進行遠程維護和固件升級;如何實現分銷商累計發電量統計、電站故障率統計等等。以上問題無疑為客戶智能化升級帶來了接入門檻高、接入周期長、管理運維搭建難等問題。4 企業物聯網平臺 IoT Platform 設備連接 設備的在線化,最核心技術
7、在于設備連接和消息通信。一方面是物聯網時代的設備連接,與互聯網、移動互聯網時代的PC、APP連接相比,有其特殊性,例如極度追求低功耗、低時延的資源受限設備;追求超高吞吐的海量點位場景;以及大量傳統三方協議及行業協議業務。另一方面是消息量規模大,且可靠性、延時性、訂閱靈活性與互聯網面向人或應用的消息特點不太一樣。設備管理 設備的數字化,最核心技術在于設備建模和設備全生命周期管理。設備建模將設備投影到云上產生孿生體,設備孿生體和物理設備保持狀態的一致性,并且能夠實時雙向通信,設備孿生體作為設備的抽象層,為上層應用屏蔽了物理設備的差異性。隨著設備場景越來越豐富,對建模能力提出了非常高的要求。同時相較
8、于互聯網移動端,物聯網設備存在地理位置廣泛性、網絡狀況的不確定性、設備資源的差異性、高可用要求的嚴苛性、海量規模的高并發性等特殊性,為設備全生命周期管理帶來了不一樣的挑戰,需要充分考慮可無人運維、大規模、數據異構、資源受限等因素。以下會從設備連接和管理服務中,選擇六個關鍵技術進行解讀,包括安全穩定連接、海量消息、物模型(設備建模)、大規模設備管理、監控運維、異常檢測。技術白皮書 5 3.1.安全穩定連接 3.1.1.核心技術挑戰 端側碎片化 物聯網場景覆蓋的“物”種類非常廣泛,必然導致碎片化,很難形成規?;透吒郊又?,而現在還沒有產品能覆蓋所有的場景,給物聯網的平臺企業帶來很大的技術挑戰。
9、物聯網平臺接入層嘗試用多樣性的連接方式來解決不同設備的上云問題。海量設備的連接穩定性 當并發連接數量達到千萬甚至億級時,對于任何一個平臺而言,保持連接的穩定性都是很大的技術挑戰。例如各種網絡問題、時鐘溢出導致的連接風暴、發布時導致的設備離線、設備端異常導致的死循環不停建連等,都是接入層需要解決的問題。設備的網絡質量 設備種類廣泛導致設備部署的位置不同,例如在地下、在高空、在荒野、在邊緣地區或在海外等,怎么讓不同設備都能有好的網絡質量,是接入層首要解決的問題。因為設備連接上云是IoT的基礎。設備的安全性 各種設備都聯網后,會給物聯網的安全性帶來更大的挑戰,例如汽車、門鎖、起搏器等受到安全攻擊,都
10、會對用戶的隱私、財產、生命等造成嚴重的威脅。6 企業物聯網平臺 IoT Platform 3.1.2.技術詳細描述 端側碎片化:接入的多樣性 針對碎片化的接入問題,通過不同的接入方式來適配不同的設備場景。直連設備:對于廣域網的設備,通過直連的方式直接上云。局域網設備:通過不同的局域網協議接入邊緣網關,有邊緣網關轉換協議、然后做數據處理,再通過MQTT協議接入物聯網平臺。LoRa設備:先接入LoRa網關,然后由LoRa網關通過MQTT協議接入阿里云物聯網平臺。NB-IoT設備:只能接入電信平臺,阿里云物聯網平臺通過云云對接的方式,先對接電信平臺,然后把設備接入到阿里云物聯網平臺。私有平臺的設備:
11、通過泛化接入的方式,把私有協議轉成標準的MQTT協議,然后接入到阿里云物聯網平臺。通道復用:對于邊緣網關,其下的子設備可以通過通道復用的方式上線和消息上下行通信,這類子設備與直連設備的能力對等。云網關:針對采用了標準MQTT協議的設備,但自定義了設備身份信息和消息通信Topic的設備,通過云網關接入方式解決身份和Topic的標準化。技術白皮書 7 海量設備的連接穩定性 1)連接限流能力 從外部請求限流和內部資源限流兩個維度設計的接入層限流。針對外部限流,有并發建連限流,單連接流量限流,背壓機制(結合業務層消費能力和TCP滑動窗口機制來實現),節流機制(溢出包丟棄)。針對內部資源限流,限制單進程
12、、單應用的TCP Session數量,針對TCP緩存的內存限制,針對單應用的CPU使用限制。通過內、外資源的限流策略來防止連接層的雪崩,同時減少對下游系統的沖擊。2)應用熱更新能力 在網絡代理發布時,會導致設備的TCP長連接斷開,對于設備而言,需要重建連接,同時在建連的過程中消息不能到達。對于長連接斷開,阿里云物聯網平臺支持了平滑遷移和緩慢下線的能力。通過老進程關閉listen fd,新進程接管listen fd,老進程維持24小時,讓設備重連后自動遷移到新進程。對于長時間不重連的設備,通過緩慢下線的策略逐步使設備下線重連,減少同時大量設備下線對用戶業務的影響。通過上述兩個策略配合使用,可減少
13、網絡代理發布時對設備連接的影響。3)Session轉移 網絡代理層跟協議層之間采用了TCP長連接,在協議層發布時會導致TCP長連接斷開,在協議層保存了本地Session信息,如果當前發布機器的Session信息丟失,連接斷開后需要設備重連才能恢復。針對上述情況,阿里云物聯網平臺設計了Session轉移功能,在協議層發布時,可以把TCP長連接和設備的Session信息轉移到其他未發布的機器上,此時協議層的發布可以做到對設備無感。4)快速容災 為了解決單故障導致的全平臺問題,阿里云物聯網平臺針對協議層、消息層部署了多個集群,同時會把不同的用戶放到不同的集群里,當某個集群的協議層或者消息層出現系統異
14、常的時候,網絡代理層可以通過路由能力和Session轉移能力把設備的連接轉移到不同的集群,從而保障單集群故障能快速恢復。8 企業物聯網平臺 IoT Platform 設備的網絡質量 設備網絡是連接穩定性的保障,阿里云物聯網平臺為了讓設備的網絡質量更好,采用了全球分發技術,不論設備在哪里生產和注冊,都可以在設備接入前把設備分發到離設備最近的地域,然后利用阿里云物聯網平臺的國內外8大地域部署的能力,讓設備就近快速接入。同時為了解決不同地域設備快速獲取就近接入點地址,物聯網平臺采用了全球加速的技術,在設備就近接入后,又采用BGP網絡來解決地域內的網絡質量問題。設備的安全性 技術白皮書 9 IoT平臺
15、基于四層安全設計和離線安全分析結合來保障設備的安全性。1)安全防御層 借助阿里云的DDoS、高防等能力,防止SYN洪水攻擊等,做到流量的有效清洗,可以防止1000 Gbps以上的流量攻擊。2)通道安全層 通過實現TLS、DTLS,X.509,ID等安全加密技術,實現傳輸層的加密,防止數據在傳輸過程中被篡改、偽造等,同時針對低功耗設備,提供PSK、SessionTicket等能力,解決TLS過程中的數據傳輸量和網絡RT的問題。3)身份安全 支持三種類型的設備身份,不同IoT場景可以使用不同的身份,保障每個設備都有唯一身份,同時對設備認證做了加簽,防止身份的偽造。4)數據安全 按單元隔離不同集合的
16、用戶,然后再按用戶維度和實例維度做更小粒度地隔離,保障數據在實例內、用戶內、單元內閉環,做到每個用戶只能看到自己的數據。5)離線數據分析 利用設備行為數據結合平臺的AI能力,分析每個設備的安全性,針對安全等級低的設備做預警,并且跟平臺安全層結合,針對攻擊類設備實現自動攔截的能力。3.1.3 核心技術點 技術 說明 安全能力 基于四層安全設計和離線 AI 分析能力,解決 IoT 平臺的設備安全問題。就近接入 通過全球設備分發能力和全球 8 大地域部署來支持設備的就近接入,做到國內地域內的設備接入的網絡平均 RT 在 40ms 內。多樣性接入方式 支持 7 種標準接入協議、多種網關,滿足不同網絡類
17、型、不同協議、不同功耗的設備接入。Session 轉移技術 支持百萬長連接的設備 Session 在分鐘內遷移,可用于容災、發布斷連等場景。熱更新能力 通過監聽端口轉移、24 小時新老進程長連接切換、緩慢下線三個技術手段來解決網絡層發布帶來的長連接平滑遷移問題。10 企業物聯網平臺 IoT Platform 3.2.海量消息 3.2.1.核心技術挑戰 海量Topic 傳統的MQ如Kafka、RocketMQ等能支持的Topic數量非常有限,隨著Topic數量的增加,吞吐量和性能會急劇下降。在IoT場景下,Topic數量是億級別的,IoT消息隊列必須支持海量的Topic。如何支持海量Topic,
18、以及如何做到高性能、高可用,是IoT消息隊列的核心挑戰,也是最基礎的能力。實時優先 傳統的MQ如Kafka、RocketMQ等,若出現了消息堆積,則必須等堆積的消息消費完畢后,后續的消息才能正常消費,這是典型的FIFO模式。但是在IoT場景下,FIFO模式是不合適的。尤其是下行控制設備,實時性要求是非常高的,不可能等到堆積的消息都處理完后再把指令下發到設備。如何做到實時優先,同時又能正常處理堆積的消息,也是IoT消息隊列的核心技術挑戰。規則引擎 與傳統的MQ不同,傳統的MQ往往聚焦于異步解耦、削峰填谷等。IoT消息隊列的規則引擎是一個十分重要的功能。對接入平臺的設備設定規則,在條件滿足所設定的
19、規則后,平臺會觸發相應的動作來滿足用戶的業務。典型業務有消息流轉、場景聯動等。面對各種復雜的業務場景,規則引擎如何設計、如何做到高性能、如何具備擴展性、如何保障穩定性,都是規則引擎的技術挑戰。高可用 與傳統的MQ相比,IoT消息隊列在高可用方面的挑戰更大。網絡抖動、設備故障等外部因素,可能導致設備大規模的斷網重連,進而造成消息流量洪峰。IoT消息隊列如何應對億級流量洪峰、億級消息堆積;如何保障消息不丟;如何保障消息的實時性;如何保障高性能,都是很大的技術挑戰。3.2.2.技術詳細描述 海量Topic:計算存儲分離技術白皮書 11 物聯網平臺消息隊列支持架構升級優化,針對傳統MQ的問題,結合Io
20、T場景的業務特性,做了計算存儲分離的架構。其中計算節點包括Broker和AMQP隊列網關,存儲采用NoSQL數據庫。在這種架構下,各個節點職責清晰,可分別支持水平擴展。1)Broker是無狀態的計算節點,職責明確只進行消息分發。2)AMQP隊列網關也是無狀態的計算節點,負責消息推送以及離線消息拉取。3)消息存儲采用NoSQL數據庫,支持高吞吐讀寫。通過以上計算存儲分離的架構,解決了傳統MQ無法支持海量Topic的問題。計算節點和存儲節點都可以水平擴展,架構具有良好的彈性。實時優先:推拉結合 傳統的MQ采用的拉模式,若出現消息堆積,后續的消息實時性會受到嚴重影響。IoT的業務場景對實時性要求很高
21、,因此采用推拉結合的模式。消費者通過AMQP協議與AMQP隊列網關建立連接,設備上報的消息到達Broker后,Broker直接通過AMQP隊列網關將消息實時推送給消費者,只有推送失敗了才會通過隊列進行重試。如果消費者不在線,則消息會堆積在隊列中,等待消費者重新上線后,AMQP隊列網關再從隊列中拉取堆積的消息。在這種架構下,推模式和拉模式結合了起來,鏈路上做了隔離,互不影響,并且保障了實時優先。12 企業物聯網平臺 IoT Platform 規則引擎 規則引擎提供了功能強大的SQL計算能力、消息過濾和加工的能力。通過規則引擎可以將設備上報的消息流轉到各類阿里云云產品中,如消息隊列、數據庫、函數計
22、算等。規則引擎內嵌了自研的SQL執行引擎,支持通過SQL語法處理JSON、二進制格式數據。SQL函數提供了數學運算、字符串操作、日期操作等數據操作。具體在規則匹配時,計算引擎會進行詞法分析、語法分析,解析出Action后交由規則引擎執行。高可用 通過容災、冗余、重試、隔離等多種技術手段保障高可用。支持百萬消息并發,億級消息堆積。技術白皮書 13 1)容災 IoT消息隊列擁有一套完備的容災能力,在面對億級的流量洪峰、億級消息堆積時,保障消息推送成功。目前的容災能力主要包括消息存儲容災、訂閱關系容災、消息推送容災。消息存儲容災:在存儲引擎出現故障時,消息存儲會不斷重試,確保消息最終存儲成功。訂閱關
23、系容災:消息推送的第一步就是查詢訂閱關系,如果存儲引擎出現故障,Broker內部會發起重試,確保推送流程最終能正常走下去。消息推送容災:消息推送給消費者時,如果消費者出現異常,云端同樣會發起重試,確保最終的消息推送成功。2)用戶隔離 用戶隔離是IoT消息流轉高可用建設核心的架構優化。針對不同用戶的SQL腳本、規則的復雜度等特性,用戶隔離引擎能動態感知各用戶規則計算的資源消耗,從而動態調整計算資源,保障負載均衡。用戶隔離引擎主要包括調度中心和狀態中心。調度中心實時監聽服務節點的狀態,做流量統計,然后根據動態的一致性Hash算法做資源分配。狀態中心則實時收集每個服務節點的狀態,提供給調度中心做決策
24、。最終調度中心決策出最優IP,指定IP調用。3.2.3.核心技術點 技術 說明 消息的可靠性 通過容災、冗余、重試、隔離等多種技術手段保障消息的到達率。千萬級并發消息 架構水平擴容,支持千萬級并發消息,萬億級消息堆積。計算存儲分離 消息存儲與消息推送分離,吞吐量與性能大幅度提升。億級Topic 計算存儲分離的架構,消息隊列可以支持億級Topic。推拉結合 支持消息實時推送,支持消息離線拉取,推拉結合,實時優先。計算能力 強大的SQL計算能力、自定義腳本能力、消息過濾與增強能力。14 企業物聯網平臺 IoT Platform 3.3.物模型 3.3.1.核心技術挑戰 物模型的普適性 隨著數字化的
25、普及,越來越多的企業意識到設備數據上云的重要性,不同行業的企業客戶,需要把海量的設備接入上云,借助物聯網平臺能力提升企業運行效率。不同行業場景設備復雜度、功能都不一樣,從簡單的智能家居設備(如智能燈泡),到工廠產線的復雜單體設備(如紡紗機),再到多種設備組成的復雜業務系統(如污水處理廠),設計一套足夠描述海量設備的方法是物模型建設面對的首要挑戰。規則執行效率和穩定性 針對業務場景完成復雜業務系統模型構建,每個數字孿生體支持萬級節點,每個節點支持300個屬性定義,每個物模型屬性又可配置10條數據計算規則。物理設備數據映射到孿生節點之后,自動觸發多級節點間的數據運算。如何保障孿生體數據規則執行的效
26、率和穩定性,為我們帶來了很高的技術挑戰。3.3.2.技術詳細描述 物模型的普適性 普適性要求物模型的能力要能覆蓋工業、生活、農業、交通等各行各業多種不同設備,這要求物模型支持設備最本質的共性,抽象出一套模型,而且具備足夠擴展性,可支持復雜的設備和場景的能力。1)首先想到面向對象的設計思路和開發語言。類比面向對象Java語言,用屬性和服務來描述物的狀態和行為,同時結合設備應用場景特性,抽象事件的概念。事件是一類需要客戶及時響應的特殊屬性,例如空調的故障告警,這類屬性實時性強,一般需要監控并及時響應。以一臺智能燈為例進行說明,其具備開關、色調、亮度、過溫告警、恢復出廠設置等功能,其中包含有傳感器采
27、集的狀態、有危險告警、和APP下發的控制指令。使用物模型屬性、事件、服務能輕松描述該設備具備的能力。技術白皮書 15 2)針對每種數據類型還定義了非常嚴謹的數據規范,還需要定義數據范圍、單位、步長等規范,例如當前智能燈的溫度值取值范圍為1至100攝氏度。3)聯合芯片、傳感器、模組、智能硬件等350多家IoT產業鏈合作伙伴,共同成立ICA事實標準聯盟,沉淀標準物模型品類1000多個。隨物聯網業務需求的發展,物模型的描述能力從單設備功能,逐步演進到描述某業務場景下不同類型多臺設備組成的復雜系統,抽象數字孿生體的概念,描述多級設備間的樹形關系結構,并配置運算規則,支持節點間數據運算。以某園區溫度統計
28、進行簡單說明:(使用圖數據庫構建的園區設備關系,通過溫度傳感器計算辦公區平均溫度。)1)用戶通過控制臺可拖拽的方式構建數字孿生體,每個孿生體節點代表業務場景中的一臺設備,每個節點可定制物模型功能定義和規則,物理設備采集數據可映射至孿生體不同節點,觸發節點數據的規則運算。2)構建復雜業務場景多層級設備關系,底層存儲從關系型數據庫升級至圖數據庫,從樹形關系結構升級至有向無環圖,當前支持如體育場館萬級設備節點關系構建。3)孿生節點的多維度數據檢索,包括節點ID、節點名稱、節點路徑、節點的動態屬性值等。4)孿生節點間關系檢索,借助圖數據庫邊節點屬性設置,支持祖先節點,子孫節點和兄弟節點檢索和統計。5)
29、可篩選符合業務規則的孿生節點進行批量控制。16 企業物聯網平臺 IoT Platform 孿生體節點規則執行效率和穩定性 1)通過異步數據流轉對整個鏈路進行解耦,降低物理設備數據上報和孿生規則運算相互影響,提高鏈路的穩定性,借助規則引擎現有功能把采集數據映射到孿生節點,觸發孿生節點規則運算,將運算結果數據寫入到父節點,再通過異步消息觸發父節點數據規則運算。通過異步消息對鏈路進行解耦,并借助運行態管控開關,調配系統負載和規則執行效率。2)避免規則環路檢查。在管控態創建孿生規則時進行嚴格檢查,避免出現規則環路,降低系統運行時風險。3)運行規則執行效率。通過規則索引表和多級緩存提升規則查詢效率,并引
30、入Aviator輕量規則引擎,對配置規則提前進行檢查,并把運算規則表達式翻譯成Java字節碼執行,提高單條規則的運算效率。借助MapReduce數據集的并行運算,提升孿生體多條并發規則的執行效率。4)增加單獨的監控預警能力,同時增加全局、用戶、孿生實例多維度限流和降級策略,保障整體鏈路運行時的穩定性。3.3.3.技術核心點 技術 說明 基礎數據能力 支持10種數據類型;支持2層復合數據類型嵌套。復雜場景建模能力 拓撲關系:有向圖;復雜度:10層;孿生節點:10000個。數據計算能力 內置函數:25個操作符32函數;支持規則編譯檢查;支持腳本計算。物模型描述語言 TSL描述語言。物模型生態 主導
31、ICA標準聯盟,沉淀1000+標準品類,提供AIoT設備中心,認證硬件即插即用。技術白皮書 17 3.4.大規模設備管理 3.4.1.核心技術挑戰 高效靈活的設備檢索 從設備管理運維的視角出發,除一般檢索產品應具備的低RT、高QPS、高穩定性外,物聯網平臺還需為用戶提供全面的數據、盡可能短的可見時延、靈活的查詢,所面臨的主要技術挑戰包括億級數據、數據高頻變更、數據的時序特性、無冷熱特征、結構松散和數據異構。海量設備的管理運維 物聯網場景下,連接上云的設備數越來越多,當設備規模達到一定量級,如何對大規模設備進行管理和控制,例如大規模設備控制和遠程升級,是一個非常大的挑戰。這涉及到設備圈選能力、設
32、備任務調度能力、云端向設備批量推送能力,并對系統穩定性也提出了更高的要求。設備全球分發 設備出廠常面臨兩個問題,一是在設備出廠時,需對設備的不同地域和不同實例的連接信息進行硬編碼,導致廠商無法進行提前備貨;另一個是設備生產者和使用者通常是不同的,需要解決設備的最終歸屬問題。所以我們面臨的主要技術挑戰是如何讓設備不需要硬編碼接入點信息就可以快速可靠地實現就近接入,以及如何實現跨租戶、地域、實例復雜網絡場景的大規模設備可靠分發的問題。3.4.2.技術詳細描述 設備動靜態檢索 IoT設備的大量靜態元數據、運行時時序數據,組成了海量異構數據,為了從大量數據中快速高效檢索出目標設備進行遠程管理,物聯網平
33、臺檢索能力同時提供了動靜態兩種能力。靜態檢索,是基于已有數據檢索符合條件的設備,動態檢索則,是利用規則圈選一批符合條件(包括未來符合條件)的設備。主要包括的關鍵技術有:萬級物模型索引配置、SQL-Like檢索語法、動態分組圈選。1)萬級物模型索引配置 雖然單個設備的物模型屬性數量是有限的,但是不同設備的物模型屬性數是完全不一樣的,這就導致最終設備的物模型的屬性是不可窮盡的。但是索引表的寬度是有限的,因此就需要用有限的索引列存儲無限的物模型數據。18 企業物聯網平臺 IoT Platform 主要的技術手段是通過結合物模型數據定義明確、整體數量不可窮盡、單設備可窮盡的特點,將單設備的物模型信息與
34、索引進行映射,多設備復用相同索引,實現物模型數據的檢索。2)SQL-Like檢索語法 為了降低用戶的使用成本,物聯網平臺提供了SQL-Like的檢索能力,用戶能夠像查詢數據庫一樣來檢索數據。與此同時,底層使用了多套檢索引擎,考慮到易用性在上層使用SQL檢索的方式來屏蔽底層引擎的差異。物聯網平臺設計了一套可以適配多引擎和業務自定義的SQL檢索框架。3)動態分組圈選 物聯網平臺支持基于產品、上傳的DeviceName文件列表、灰度、地理位置、SQL檢索、分組、標簽、物模型屬性、設備版本號等多種方式圈選設備發起OTA升級,提供豐富的圈選方式滿足用戶各種使用場景。除了使用到上述的SQL-Like檢索能
35、力外,還用到了基于動態分組的升級能力。例如建立一個分組是指定產品下電池電量大于80%的設備,OTA的升級策略是對該動態分組內的設備觸發升級,其中電池電量可以是一個物模型屬性,其技術難點是該分組下設備是隨著物模型屬性上報的實時值動態進行變化的,并非一個固定的設備分組。技術白皮書 19 大規模設備長任務的調度 大規模設備升級是一個典型的長任務,升級任務整體執行時間長,在升級過程中極易被中斷。為了保證整個設備升級過程的高可靠性,需要使用長任務調度和管理機制。OTA不僅要支持單個批次下大批量設備同時升級,同時還需要支持多個大批量設備升級的并發升級。這對長任務框架提出了更高的要求:必須從傳統的單機調度模
36、式演進到集群調度模式,并在升級任務的調度、推送、執行上有更靈活的策略。主要技術手段:1)動態調度 保證升級任務能夠有序被調度執行,避免某個時刻發起升級的任務數過多導致系統出現瓶頸,當單租戶下發起升級任務過多后會進入等待隊列,后續達到運行條件后可被調度執行。2)異常自動恢復 動態檢測運行中的任務,當發現任務被中斷后可自動進行恢復。3)分布式協同 充分利用集群能力處理大批量設備升級,其中設備圈選、升級任務初始化、推送升級消息三者可并發執行,從而可避免觸發單機瓶頸,使大規模設備升級時系統各項水位更加平穩。4)精細化推送 在實現每分鐘恒定推送速率的基礎上,支持每分鐘可變推送速率,可用于提高升級成功率。
37、20 企業物聯網平臺 IoT Platform 設備全球分發 設備全球分發解決了設備出廠時,無需對設備的不同地域和不同實例的連接信息進行硬編碼,僅需對設備統一燒錄全球統一接入點信息(無地域信息)。設備出廠后,在物聯網平臺控制臺對設備集中進行跨地域分發配置,實現設備全球就近接入。這里主要通過以下幾個關鍵技術解決:1)網絡互通 針對跨地域的場景通過跨域專線實現,針對跨VPC和經典網絡訪問通過反向VPC和AnyTunnel完成,實現了對用戶屏蔽不同實例間網絡的差異。2)分發任務管理 由于傳輸的數據量大且網絡環境復雜,為了保證鏈路可靠性,可通過長任務異?;謴蜋C制和事務來解決業務數據的最終一致性問題。3
38、)分發策略 針對不同的業務場景分發服務提供了靜態策略和就近接入策略,來解決設備跨租戶歸屬和全球接入的問題。4)就近接入 設備只需燒錄指定的全球接入點,請求Bootstrap服務,云端即可通過ADNS智能域名解析和CDN加速,將設備數據分發到就近地域并下發設備接入點域名。技術白皮書 21 3.4.3.核心技術點 技術 說明 設備檢索支持的字段數 100+。設備檢索的同步時延 10秒內。設備檢索性能 百毫秒級。設備任務調度規模 10萬。任務推送速率 10000 QPM。3.5.監控運維 3.5.1.核心技術挑戰 靈活多變的監控需求 物聯網平臺監控場景面臨的是上億級別的海量設備,相比傳統的IT運維,
39、被監控的對象數量增加了好幾個數量級。隨著業務的飛速發展,面對平臺動輒數十億甚至百億級別時序數據,我們該如何有效的監控與管理?而隨著物聯網時序數據量爆發式的增長,傳統的線圖、直方圖、散點圖等數據展示方法,很難直接讓運維人員找到數據背后的異?;螂[藏瓶頸。如何針對不同業務或者不同監控對象,找到更合適的數據看板以及展現形式,成為物聯網平臺必須解決的問題。PB級日志數據分析處理 物聯網平臺是一個復雜的分布式系統,設備消息上下行、設備控制鏈路都非常復雜,涉及到了非常多的云端系統。而傳統的日志信息也往往有多個來源,例如營銷活動打點、用戶訪問、應用日志,并且來自于ECS服務器、容器、移動端、網頁端等多種渠道,
40、需要多渠道、多維度、多種處理方法。物聯網場景中日志系統面臨著極大的規模挑戰,面對上億在線的設備所產生的數據,系統應具備利用這些日志快速解決問題的能力,這也就要求系統能處理大量數據,且實時性要求高。同時,為了充分發掘日志內容的業務價值,需要結合設備運維場景對多渠道日志做全面分析,監控異常設備指標,定位系統問題,分析出相應的異常調用鏈路。22 企業物聯網平臺 IoT Platform 3.5.2.技術詳細描述 自定義監控大盤 傳統的物聯網平臺提供了諸如實時在線設備、上下行消息總量、規則引擎消息流轉次數等有限幾個系統指標,只能滿足客戶的基本運維需求??蛻舾鶕煌臉I務需求,需要監控的數據指標往往存在
41、差異,傳統的實時監控指標很難滿足客戶的日常運維需求。物聯網平臺的自定義監控大盤提供了設備、消息、物模型、規則引擎和OTA升級相關指標數據的實時監控服務,指標維度可以選擇物聯網平臺的所有產品或指定的單個產品,指標聚合支持最小、最大和平均等聚合方法,聚合粒度可選擇不同的時間頻率,基本滿足了客戶日常運維的剛性需求。為保證客戶最佳的實時監控使用體驗,這里主要通過以下幾個關鍵技術,解決實時監控所面臨的數據規模和個性化所帶來的技術挑戰:1)鏈路的規范性 數據平臺對ODPS離線數據和SLS實時數據進行實時篩選、合并和計算,統一計算后將結果輸出給云監控,從而實現了系統指標和用戶自定義指標數據鏈路和指標計算的統
42、一性。2)計算的實時性 數據平臺引入實時數倉Hologres,對衍生指標和原始指標建立了全局加速表,實現了數據的全鏈路實時化改造,通過Flink將指標聚合計算做到了秒級延時,將原來報表的展示延時從30秒下降到1秒以內。3)診斷的聯動性 針對大盤指標提供了可配置可組合的下鉆能力,幫助精準圈選出故障相關的異常數據,讓數據下鉆和后續算法平臺輸出的根因分析模型形成了聯動,既可以幫助發現數據共性,同時還能縮小后續故障分析中的數據計算量,一定程度上提高計算效率。技術白皮書 23 消息軌跡 消息軌跡解決了上下行鏈路中問題定位的難題,客戶可根據TraceID或MessageId,追蹤任意一條消息在物聯網平臺流
43、轉的全路徑,還可根據出現的故障節點快速分析、定位問題。為保證最佳的鏈路診斷使用體驗,這里主要通過以下幾個關鍵技術,解決消息軌跡所面臨的日志存儲成本、時序錯位和查詢性能瓶頸所帶來的技術挑戰:1)鏈路業務抽象 物聯網平臺是一個復雜的分布式系統,設備數據上報、下行控制鏈路都非常復雜,涉及到了云端非常多的內部系統,這些復雜度無需暴露給用戶,用戶無法理解,對問題分析也會存在干擾。另外,系統內部的日志輸出內容較多占用了非常多的存儲,格式本身也不統一,隨時可能存在變化,從而無法針對日志做深入的分析。為消除用戶的理解成本,在分布式鏈路中,物聯網平臺梳理出了消息上下行鏈路中的關鍵系統,按照日志聚合規范輸出了關鍵
44、調用節點信息,面向客戶可理解的業務原語輸出了診斷信息,幫助客戶快速識別出鏈路上的異常節點,并根據錯誤碼的提示進行問題診斷和修復。2)推斷鏈路時序 全鏈路租戶日志信息來自于多個不同的分布式系統,打印日志的時間戳非常接近,消息軌跡采集的是按規范輸出的業務日志,將系統、模塊之間的調用邏輯順序通過規則配置沉淀下來,通過TraceId或MessageId獲取具體租戶業務日志時,可以根據邏輯順序重新繪制出調用鏈路時序,而無需依賴時間戳。3)提升查詢性能 租戶日志雖然是針對業務特性精簡過的日志,但物聯網平臺上下行鏈路每天都會產生巨大的日志量(PB級別),考慮到日志存儲成本當前物聯網平臺只會存儲7天的租戶日志
45、,即使這樣,在所有的租戶日志中查詢一條特定鏈路的信息也面臨精準性和性能的挑戰。針對租戶日志查詢條件,平臺對字段進行了索引加速查詢性能,同時也支持用戶將租戶日志導出到自己的SLS空間長期保存。24 企業物聯網平臺 IoT Platform 3.5.3.核心技術點 技術 說明 自定義監控大盤 提供監控指標近百個,支持包括總和、最大值、最小值、平均值4種常用的聚合類型,指標聚合計算可做到秒級內延時,支持基于物模型自定義指標,對指定設備進行精細化運維管理。消息軌跡 提供云端全鏈路日志查看設備通信消息軌跡功能,可根據TraceId或MessageId追蹤任意一條消息在物聯網平臺流轉的全路徑,還可根據出現
46、的故障節點快速分析、定位問題。故障診斷 離線分析設備大批掉線原因、離線設備區域分布以及掉線未重連列表,為運維人員后續處理提供決策依據;診斷設備異常情況全景并給出診斷報告,分析高頻的異常類型并予以排查方向建議。遠程隧道 Linux系統設備可直接集成SDK通過控制臺遠程SSH登錄,對于非Linux系統(如Windows、RTOS、uCOS等)可基于遠程隧道搭建設備遠程訪問能力,支持運維通道與數據通道的隔離,提升穩定性。3.6.異常檢測 3.6.1.核心技術挑戰 海量設備的實時流式檢測 物聯網平臺的接入設備數量極大,傳統的手工運維方式無論是準確性還是人力投入都無法滿足需求。近年出現的若干基于統計算法
47、的異常檢測模型,往往需要一個設備一個模型,設備數量較大時模型計算開銷極大,并且此類統計算法缺乏實時性,難以處理流式數據。為時序預測算法賦予時序檢測能力 基礎算法DeepAR的提出是為了解決時序預測的問題,屬于回歸分析。但在時序異常檢測中,最終的結果是Yes或No的異常判斷,是分類問題。在異常檢測中,歷史數據的噪音也會對檢測的結果造成影響。為了提高模型的0/1二分類能力,同時壓制數據噪音帶來的過擬合影響。非平穩時序數據的建模 無論是統計時序算法還是神經網絡時序算法,均要求時序數據的平穩性。然而在IoT場景下存在大量非平穩數據。3.6.2.技術詳細描述 為了應對第一個挑戰,需要設計一個能夠處理海量
48、設備,并針對IoT數據呈現流式時間序列的特點開發異常檢測算法?;诖丝紤]設計的人工神經網絡算法,通過提取歷史數據的時序特征,動態地計算上下限閾值邊界,將多設備、多指標統一到一個模型中,可以實時捕獲異常并進行報警,提高設備運維效率和質量。技術白皮書 25 系統分為離線訓練(offline)和在線推理(online)兩部分。離線訓練部分定期執行(如每日凌晨),從時序數據庫中抽取用戶近14天的歷史時序數據,輸入算法進行訓練得到模型。在線部分每分鐘實時調用,從時序數據庫中拉取用戶最近2小時的數據,經過標準化等操作后作為算法輸入,算法計算得到當前的基線值和上下限置信區間。如果當前真實值突破了置信區間,則
49、有較大的概率說明當前值不符合歷史趨勢,出現了跳變,從而觸發用戶告警,寫入消息隊列通知用戶。3.6.2.1.算法原理 模型采用基于概率自回歸的神經網絡,基礎框架來自于論文“DeepAR:Probabilistic Forecasting with Autoregressive Recurrent Networks“。算法框架主要包含三個主要步驟:26 企業物聯網平臺 IoT Platform 1)利用循環神經網絡LSTM對歷史時序數據進行特征提取。2)將提取的特征映射到高斯分布,并獲得位置參數和形狀參數。3)計算當前點的Gaussian log likelihood,采用極大似然法優化整個網絡的
50、參數。在應對算法開發的第二個技術挑戰中,我們在原始論文的gaussian log likelihood損失函數的基礎上,引入了基于bernoulli likelyhood的loss function。在實際中,與告警的敏感度相關,可以將其設為異常檢測的敏感度水平,如1%、3%、5%等,分別對應低、中、高敏感度。將b_log_likelihood加入基于高斯的g_log_likelihood,讓模型對二者進行同時優化,可以將模型的二分類穩定性大大提高,并且滿足我們預設的敏感度水平。此外,應對IoT非平穩數據的第三個挑戰中,我們對原始數據進行一階差分操作,讓神經網絡對一階差分后的平穩數據進行擬合。
51、對差分進行擬合后再進行積分操作(累加)進行還原便可以得到原始的預測。另外,為了進一步提高算法報警的精確性,降低誤報率,我們設計了算法的后處理操作,對誤報進行抑制。在大量的IoT時序數據中我們發現,許多跳變的尖刺發生后,時序會短時間恢復。但是時序預測算法的慣性會導致恢復過程被檢測為突變的異常。為此我們設計算法如果發現屬于時序恢復現象,則對告警進行過濾,消除誤報。超參數的選取對模型的最終結果有很大的影響。為此我們設置了超參數空間,并基于hyperopt對超參數進行自動篩選。超參數空間包括:1)模型自身參數:如層數,神經元數。2)訓練過程參數:批大小。3)防止過擬合參數:dropout,regula
52、rization等。訓練區間為過去14天到過去1天的歷史數據,驗證區間為最近1天,獲得最優參數后再進行模型重訓練。3.6.3.核心技術點 目前物聯網平臺統計報警的精確率和召回率分別在90%和75%左右。但是需要指出的是,異常判斷存在一定程度的主觀性,目前業界尚沒有一個完全通用的判斷標準。為此,我們在服務的設計中引入了多種敏感度的設定,讓用戶能夠控制、調整算法的策略,提高對最終結果的解釋性。隨著敏感度的提高,報警的召回率會不斷提高,而精確率會出現下降,這也是符合邏輯的。技術指標 告警級別:低 告警級別:中 告警級別:高 Precision精確率 0.978 0.905 0.79 Recall召回
53、率 0.71 0.77 0.82 技術白皮書 27 4.1.重要性 設備連接、管理和運維作為PaaS能力賦能物聯網客戶,設備所屬行業場景多,會被用于城市交通、工業制造、企業辦公、商場電梯等場景,若出故障,可能會導致工廠停產,公交癱瘓,電梯停運等情況,對社會秩序和民生安全有非常大的影響,穩定性要求要遠高于一般的互聯網場景。4.2.挑戰性 28 企業物聯網平臺 IoT Platform 1)端到端全鏈路長,移動互聯網在互聯網的基礎上擴展了APP端,物聯網又擴展了設備端,APP端、云端、設備端三端組成的鏈路非常長。例如一次下行控制指令,需要從APP到設備的一個來回,對全鏈路高可靠、可運維都帶來了很大
54、的挑戰。2)設備弱網、資源受限、端側固件異常、運營商網絡抖動等情況,都可能對這種大規模流量鏈路帶來雪崩效應,同時物聯網設備下行控制指令對實時性和到達率要求極高。3)設備上行消息典型的高頻寫、寫多讀少、時序性強,與互聯網應用流量讀多寫少完全不一樣。4)設備因碎片化和場景化特性本身差異性極大,不像移動互聯網手機相對標準,例如地理位置、網絡、資源、結構、固件等都會對穩定性產生影響。5)物聯網穩定性建設面對的角色也比較多樣,很多情況需要應對不同穩定性要求的角色提供不同的高可用能力,并且要充分考慮設備程序質量從而規避云端風暴。4.3.單元化架構 設備連接和管理服務除了在每個模塊進行獨立的穩定性建設,例如
55、連接的發布不斷連、消息的容災和重試、數據存儲的異構容災等之外,也升級了單元化的高可用架構,可通過單元化隔離和容災,降低故障爆炸半徑和應急快反速度,同時支持灰度、彈性、數據安全、藍綠發布等能力。4.3.1.技術挑戰 1)toB業務 toB業務的流量分片很容易帶來大租戶、流量不均衡等問題,大租戶問題會進一步引發分片容量規劃和水平擴展問題。2)物聯網設備 不同于互聯網業務,物聯網除了應用(Web/APP)、服務端外、還有設備端,北向應用和南向設備流量調度需要保持一致,單元化封閉需要考慮端到端全鏈路,同時容災切流也需要保障端到端全鏈路流量一致性。3)阿里云Region化架構 阿里云天然Region化架
56、構,本質上是一種特殊的單元化,不過Region粒度太粗,因此在Region化架構下,我們進一步支持了更細粒度的業務單元化,既遵循阿里云多Region模式,又擴展了業務單元做好彈性和隔離。4.3.2.核心思路 技術白皮書 29 在阿里云原有Region化架構下,將單Region流量進一步按照租戶或實例打散。原來單Region架構拆分為運行單元、HA單元、Region中心三個核心單元。運行單元運行的是租戶或實例內完全封閉的核心功能,Region中心承載部分無法分散到單元內的功能,例如跨租戶功能、管控能力,HA單元作為運行單元的容災能力,在運行單元出現異??梢钥焖貴O。4.3.3.核心技術點 技術
57、說明 百萬長連接分鐘級切換 物聯網平臺統一接入層實現了百萬長連接設備分鐘級切換能力,采用的是智能路由和Session遷移能力的組合,同時根據設備量和切換時間實時計算切流速度。API網關秒級路由 API網關實現北向流量按照租戶維度秒級切換,對短連接實現真正的秒級生效。流量調度 通過高可用運維服務實現故障快速檢測、故障感知以及單元流量切換,流量秒級切換能力已經具備。單元容災 通過部署HA單元,實現與運行單元雙副本互為FO,運行時支持數據同步,并做到嚴格的數據一致性保障,同時HA過程可以做到平滑切換,客戶應用和設備無感知。數據同步 通過流量標記方案,在業務側無感情況下做到低延遲數據雙向同步,無循環風暴,同時使用準實時的雙向緩存預熱和清理機制,保證容災單元緩存常熱,各單元緩存數據一致。30 企業物聯網平臺 IoT Platform 阿里云物聯網平臺:更快,更穩,更安全 主編:熊益群、王鵬飛、朱江、張宇 編委:李彬、張程、劉思謙、陳海濱、王霏、王明、葛成、王麥棋 監制:王進、何云飛、常司晨 設計統籌:仲祐民 市場推廣:林紫玉、張婉瑩、吳嫻斐 出品團隊:阿里云智能IoT事業部