天天看點

解密IoT物聯網平台裝置如何快速上雲、實作全球就近接入一、名詞解釋二、 目前面臨的問題三、如何解決這些問題四、總結

轉自HaaS技術社群

近年來,物聯網技術正以指數級的速度日漸成熟,并潛移默化的改變着人們的生活。根據國際資料公司IDC的預測估計,到2025年,将有416億台聯網的IoT裝置或“物”,生成79.4 ZB的資料。同時IDC中國研究資料顯示,2020年全球物聯網支出達到6904.7億美元,其中中國市場占比23.6%。IDC預測,到2025年全球物聯網市場将達到1.1萬億美元,年均複合增長11.4%,其中中國市場占比将提升到25.9%,物聯網市場規模全球第一。

解密IoT物聯網平台裝置如何快速上雲、實作全球就近接入一、名詞解釋二、 目前面臨的問題三、如何解決這些問題四、總結
解密IoT物聯網平台裝置如何快速上雲、實作全球就近接入一、名詞解釋二、 目前面臨的問題三、如何解決這些問題四、總結

阿裡雲企業物聯網平台基于阿裡雲的基礎架構,提供裝置接入、裝置管理、監控運維、資料流轉、資料管理、處理分析等物聯網建構能力,協助企業在數字化轉型時擁有更完整的生産資料。而對于第一步裝置如何快速上雲并且實作全球就近接入尤其重要,下面筆者将詳細介紹阿裡雲物聯網平台的裝置分發服務是如何實作裝置全球快速就近接入的。

一、名詞解釋

物聯網平台:是阿裡雲的一個物聯網管理平台,為裝置提供安全可靠的連接配接通信能力和管理能力,支援裝置資料采集上雲,規則引擎流轉資料和雲端資料下發裝置端。

Alink通信協定:Alink協定是阿裡雲物聯網平台的通信協定,該協定使裝置與雲端擁有上下行指令接受與下發的能力,并且為裝置端與雲端提供上下行通信的信道。

裝置三元組:每台裝置擁有productKey(産品辨別),pruductSecret(産品秘鑰),deviceName(裝置名稱辨別),deviceSecret(裝置秘鑰),productKey和deviceName唯一辨別一台裝置,即一個産品下可以有多台裝置。我們通常稱productKey、deviceName和deviceSecret為裝置的三元組資訊。

裝置接入點:裝置連雲需要指定接入點,接入點包含執行個體id資訊${instanceId}.mqtt.iothub.aliyuncs.com

執行個體:物聯網平台的産品模式,使用者以執行個體的形式購買,可以分為獨享執行個體(獨享的計算資源)和公共執行個體(和其它租戶共享的計算資源)

Bootstrap:裝置引導服務

IHV(Independent Hardware Vendor):獨立硬體開發商

ISV(Independent Software Vendors):獨立軟體開發商

SI(Service Integrator):服務內建商

二、 目前面臨的問題

物聯網平台的裝置分發服務要解決什麼問題?先來看如下兩個典型的業務場景:

場景一

使用者軟硬分離,IHV需要将裝置傳遞給SI/ISV管理:IHV對裝置進行模組化和開發,并線下量産裝置;ISV/SI在阿裡雲物聯網平台批量生成裝置三元組資訊;ISV/SI線下向IHV購買裝置,同時把自己執行個體下建立的三元組資訊和裝置接入接入點資訊提供給IHV;IHV用上一步驟的三元組和執行個體資訊燒錄裝置,并傳遞裝置給ISV/SI;ISV/SI內建軟體并部署使用裝置。目前的場景存在的問題:

  • 由于裝置開發者和裝置使用者(ISV/SI)在不同的執行個體下,而裝置接入又要燒錄目标的執行個體id接入點,導緻裝置開發者無法提前備貨提前将三元組和連接配接點資訊進行燒錄,需要使用者下單後才能拿到裝置真正要接入的執行個體資訊;
  • 由于裝置要傳遞給最終的使用者(ISV/SI)所在的執行個體進行管理,是以裝置使用者需要在自己的執行個體内生成裝置三元組并提供執行個體id資訊給裝置開發者燒錄,最終裝置資料才能在所在執行個體進行管理,操作繁瑣;
解密IoT物聯網平台裝置如何快速上雲、實作全球就近接入一、名詞解釋二、 目前面臨的問題三、如何解決這些問題四、總結

場景二

廠商是軟硬一體的開發者,可以自己開發裝置并內建軟體。廠商在自己的執行個體内生成的裝置三元組資訊,同時産線燒錄三元組資訊和執行個體接入點資訊,然後将裝置賣給C類使用者,裝置可能被使用者帶到不同的國家進行使用。目前的場景也存在一些問題:

  • 廠商的三元組資訊是在指定的執行個體下生成的,也就是這一批裝置燒錄的是一個固定的執行個體接入點,如果使用者把裝置帶到不同的國家,那麼裝置隻能接入燒錄的指定接入點,無法就近選擇機房,就會導緻裝置和雲端通信延遲增加;
  • 由于裝置會被使用者帶到不同的國家使用,但是裝置連接配接的始終是一個執行個體的資料中心,是以也可能存在資料合規問題;

三、如何解決這些問題

抽象一下我們要解決的三個問題:

  • 解決裝置跨執行個體跨region跨租戶的歸屬:由于物聯網的複雜場景,裝置的開發者和使用者往往不是同一個使用者,需要提供一種方式解決跨執行個體跨region的裝置歸屬問題;
  • 裝置可以提前燒錄備貨:無需在裝置出廠時對不同region和不同執行個體的連接配接資訊進行寫死,裝置統一燒錄全球統一接入點資訊即可(無region資訊),解決裝置提前備貨;
  • 裝置可以全球就近低延時的接入:由于裝置可能被使用者帶到任意region,希望裝置可以連接配接到就近region的阿裡雲物聯網平台的使用者執行個體下,避免資料合規和連接配接指定燒錄執行個體接入點造成的高延時問題。

針對于以上三個問題,阿裡雲物聯網平台提出了裝置分發的概念:物聯網平台通過裝置分發實作裝置跨地域、跨執行個體或跨賬号的分發。分發後,雲端下發新的連接配接位址給裝置,裝置本地固化收到的資訊之後,直接連接配接新的位址,免去二次燒錄裝置資訊。裝置分發主要解決的就是兩個問題:裝置的全球接入,裝置的歸屬關系。

先來看一下裝置分發服務的整體架構:

解密IoT物聯網平台裝置如何快速上雲、實作全球就近接入一、名詞解釋二、 目前面臨的問題三、如何解決這些問題四、總結

物聯網平台在全球8個region部有中心機房,裝置分發服務整體上是分為兩個階段的:

  • 配置階段:使用者通過開放接口或者控制台對要分發的裝置進行資訊配置;
  • 接入階段:裝置通過Bootstrap引導服務上雲,觸發配置,完成接入;
解密IoT物聯網平台裝置如何快速上雲、實作全球就近接入一、名詞解釋二、 目前面臨的問題三、如何解決這些問題四、總結

下面将具體看一下上述提出的三個問題是如何解決的:

1.裝置跨執行個體跨region跨租戶的歸屬問題

而裝置分發服務的第一個任務就是打通了阿裡雲内部的所有網絡環境,對使用者隻暴露執行個體間的操作屏蔽底層複雜的網絡和隔離政策。對于跨賬号的操作,分發服務采用短信鑒權,并打通了國内站和國際站間賬号的操作,使用者隻需要關心要分發到哪個賬号下的哪個執行個體即可。

網絡打通後就是如何在這個鍊路上實作資料高可靠的傳輸,由于跨region和跨庫的資料通路可能會遭遇網絡抖動或中間件通路逾時等異常流;針對這些問題,系統除了有異常自動重試政策外還在業務上做了跨庫的事務復原,最大程度上保證業務資料的一緻性。

由于裝置資料的分發操作都是采用長任務進行處理,是以為了防止伺服器當機或者重新開機導緻的任務中斷,系統内置了故障轉移機制,來保證任務一定會走到狀态機終态,其核心思路就是采用心跳包和單機定時檢測(quartz)來實作伺服器的故障轉移。下圖示範了server1接收請求并,如果出現故障,是如何轉移到server2當中的。

解密IoT物聯網平台裝置如何快速上雲、實作全球就近接入一、名詞解釋二、 目前面臨的問題三、如何解決這些問題四、總結

2.裝置提前燒錄備貨問題

由于上雲需要指定執行個體的接入點,是以對于裝置不确定交由給哪個企業執行個體使用者連接配接哪個企業執行個體的場景就沒有辦法提前燒錄接入點,提前備貨。

是以對于裝置端通過燒錄的global域名可以去中心環境請求分發服務,裝置通過請求分發中心的bootstrap服務,該服務會傳回裝置引導資訊,包含裝置真正要接入的物聯網平台執行個體的接入點資訊,裝置拿到目标接入點通過mqtt直連即可連接配接到目标使用者的執行個體即可。

考慮裝置還可能發生重配的情況,即裝置已經連接配接在目标執行個體,但是使用者在控制台重新配置了裝置的目标執行個體接入點,這時候如果裝置已經連雲處于線上狀态,服務端會推送一條mqtt消息給裝置,告訴裝置的接入資訊發生變化請重新連接配接。如果裝置不線上使用者重配後,裝置建連仍然走下面的流程依舊可以連接配接到目标執行個體。

3.裝置全球就近低延時的接入問題

對于分發裝置的接入政策服務端提供兩種:指定地域和就近接入。這兩種有各自的使用場景,對于指定地域政策如果使用者明确裝置要分發到哪個執行個體下使用可以選擇指定地域政策,裝置可以選擇配置到指定執行個體進行接入,典型的場景是裝置開發商在自己的執行個體下量産裝置,然後将裝置分發到管道商的執行個體下,裝置的目标執行個體是固定的,而且希望隻連接配接在固定的執行個體下。

對于就近接入政策,例如裝置廠商是軟硬一體的,在指定的執行個體開發并量産了裝置,但是裝置售賣到C端使用者手中會被使用者帶到全球任意region使用,這時裝置廠商可以在物聯網平台支援的每一個region購買一個執行個體,并配置就近接入政策,這樣裝置在移動到特定region請求bootstrap服務的時候,分發服務會根據裝置的出口ip資訊,動态的将裝置身份分發到就近region使用者的執行個體下進行連接配接。

裝置隻需要燒錄一個全球域名iot-auth-global.aliyuncs.com,在解決了就近接入的同時,分發服務配置了ADNS智能域名解析。實作了全球就近低延時接入目标執行個體。

解密IoT物聯網平台裝置如何快速上雲、實作全球就近接入一、名詞解釋二、 目前面臨的問題三、如何解決這些問題四、總結

四、總結

阿裡雲IoT企業物聯網平台的萬級裝置可以實作跨賬号、跨執行個體、跨region在阿裡雲各物聯網平台任意的分發;同時平台對分發的裝置提供了多種資料高可靠的保障政策;提供多種分發政策,滿足不同業務場景的需求;裝置bootstrap服務接入無額外鑒權,簡化了裝置接入流程;一次配置,裝置就可以實作毫秒級的全球就近接入;

繼續閱讀