1. 程式人生 > >萬物共享的物聯網架構

萬物共享的物聯網架構

前言

作為物聯網領域最貼近使用者的一個分支,智慧家居行業在這兩年持續火熱。但是,除了智慧家居外,物聯網領域還有很多重要的組成部分:車聯物流、智慧醫療、智慧社群、公共基礎服務、智慧農業等。由於物聯網的第一批先驅者往往都是從某個具體子行業轉型過來的,對於物聯網的認知也如盲人摸象,管中窺豹,很難有全域性性的眼光。

基於國外物聯網大神Daniel Karzel, Hannelore Marginean, Tuan-Si Tran的文章《A Reference Architecture for the Internet of Things》,結合作者在實際工作中的幾個物聯網專案,本文將描述一種物聯網領域的層次結構,希望能幫助大家對物聯網這個概念有更清晰的瞭解。

什麼是物聯網?

物聯網的英文名稱是”Internet of Things”,也就是我們經常看到的IOT,從字面意思上來看是“物物相連的網際網路”。網際網路解決的是人人互聯的問題,而物聯網解決的不僅是物物互聯,還有人物互聯。

物(Thing)是一個抽象的概念,它既可以代表一個溫度感測器、一個開關面板,也可以代表一部空調、一臺挖掘機,甚至可以代表一個小區、一座城市:物的定義取決於我們的用例。

在作者看來,物聯網是一個現實世界與虛擬世界的交叉口,它從本質上解決的是虛擬操作和現實聯動的行為對映關係。

物聯網的基本物件

1.    從功能屬性上來看,物聯網的基本物件是物的行為:

物(Thing) = n * 行為(Action)

行為是用來衡量物能力的重要引數,它決定了物本身可以實現什麼、可以為其他物提供什麼、可以從外界獲取什麼。

行為(Action) = n * 情境(Situation) + 目標(Goal)

情境是在特定環境下,物表現出的自然屬性,目標則表述了這個自然屬性的意義,如2016年4月19日星期二,在杭州市西湖區XXX街道XXX號的王麻子家中,溫度感測器顯示25℃;而單純一個溫度感測器顯示25℃的資訊是沒有任何的參考價值的。

正是由於行為概念的引入,我們實現了虛擬和現實的第一次對映。

2.    從自然屬性上來看,物聯網的基本物件是構成物的裝置:

物(Thing) = n * 裝置(Device)

裝置大致分為感測器(Sensor)、控制器(Controller)、運算器(Calculator)、儲存器(Memory)和標誌(Tag)五種,它們以某種的方式進行組合,組成了一個完整的物。

裝置是物聯網的起點和終點,所有行為的發生和完成都離不開裝置——情境就是裝置在一定條件下的表現。

物聯網的層次結構


圖描述的是一種“兩頭開放,縱向分層,橫向管理”的物聯網層次結構,可以描繪出非常多元化的業務場景。

裝置接入層、裝置管理層和資料倉庫一般發生在閘道器或者是PAAS伺服器上,主要用途是資料採集;行為管理層、物物互聯層一般位於SAAS伺服器上,用來實現某些具體的資料模型;服務整合層是對資料進行變現,可以是一個APP也可以是一個O2O服務。

為了方便理解,可以將這個模型巢狀在智慧家居行業上,人->物的流程可以認為是單控,物->物物互聯層->物的流程可以認為是場景聯動。

1.    裝置接入層


裝置管理層主要是解決最底層的接入和通訊問題,包含裝置發現、裝置驅動和裝置通訊三大元件。

裝置發現又分為兩個部分:主動發現,接到高層次下發的搜尋裝置指令,在當前環境下搜尋附近的裝置;被動發現,裝置通過某種協議向裝置接入層傳送入網請求。智慧家居系統的新增裝置基本是兩種方式的混編:裝置上電或者重置後向系統傳送入網請求,並等待使用者確認;閘道器或者手機也主動或定時掃描附近裝置。

裝置驅動是負責定義特定的通訊協議和控制協議,以保證裝置可以正常執行。在某些使用雲端透傳技術的系統中,裝置驅動只需要定義通訊協議。

裝置通訊起到了裝置接入層和裝置管理層互動的橋樑作用,同時需要與裝置組建互動,對通訊內容進行解析。

對於大多數的物來講,往往是多個裝置通過內部的預處理統一了介面,所以接入過程較為簡單。

2.    裝置管理層


裝置管理層主要負責控制裝置和獲取裝置狀態,並轉化為標準資料,由設備註冊、裝置通訊和協議轉換三大元件組成。

設備註冊是在系統中註冊已連線上的裝置,包括分配空間、新增描述和基本資訊等。

裝置通訊用以下達控制指令和獲取裝置狀態。

協議轉換是一個非常重要的元件,負責將裝置元資料轉化為標準資料,用作上層組織業務、資料分析等。協議轉換需要跟透傳模組結合,在PAAS雲配置指令碼解析模組,採用Wifi/GPRS方式聯網,是目前最普適、輕量的裝置智慧化解決方案。

裝置管理層是物聯網系統中最重要的一層,直接決定了系統的強度。這一層在實現上通常會帶來一個問題:雲核心還是閘道器核心?這個答案要根據具體要實現的業務決定:對於智慧家居來說,使用者所希望的一種更方便的生活方式,網關係統的區域網叢集控制、基於機器學習的自動化等特性會帶來更好的體驗;對於車聯物流來說,車與車之間的空間距離較大,車本身產生的內容有限,雲核心無論從成本還是效果都是一個不錯的解決方案。

對於市面上多數的雲服務提供商,實際上解決的也是裝置管理層的問題,並提供了一些簡單的業務處理邏輯,幫助廠商進行簡單的智慧化改造。

3.    資料倉庫


資料倉庫儲存著關於物的所有資料,既包括裝置資料又包括行為資料。

從實現角度上,資料倉庫可以不唯一:裝置資料一個倉庫,行為資料一個倉庫。裝置資料作為物聯網系統的基本資料,可以供多個行為甚至是服務進行呼叫,具有唯一性;而行為資料更多是根據業務需求所設定的,具有多元性。例,三合一感測器的移動感測器資料,可以作為回家模式的聯動條件、也可以作為安防模式的觸發條件。

4.    行為管理層


行為管理層定義了系統的核心業務邏輯,由規則定義、情境定義、情境池、行為定義和行為池組成。

規則定義明確了建立情境、行為的標準,並評估各情境、各行為之間是否可以整合。

情境定義建立了一個具體的情境,並存入資料倉庫,釋出到情境池中。

情境池儲存著已經建立成功的情境,供其他情境整合組成行為。

行為定義建立了一個具體的行為,行為中可以包含多個情境,但只能有一個目標。例,冰箱冷藏室溫度調到6度,需要溫度感測器和製冷機的配合。

行為池儲存著已經穿件成功的行為,供物物互聯組成具體的業務邏輯。

到了這一層,我們可以完整的描述一個物的形態、能力和運作模式,為物物互聯提供了基礎。對於一個物來說,規則定義衡量了其智慧化的水平,對於簡單的感測、開關類物,規則定義只需要定義其控制點和感測點;而對於複雜的物比如冰箱、汽車等,規則定義就會相對繁瑣;對於更高階的物,如機器人等,規則定義甚至需要人工智慧、資料發掘等高階演算法。

對於智慧家居行業來說,行為既可以包括單控、又可以包括聯動。無論是單控還是聯動,都是描述物本身能力的屬性,特別是體現於功能較為複雜的黑白電上。

5.    物物互聯層


物物互聯層解決了物物之間的發現和通訊問題,從本質上來講是實現管理維度。包含物物通訊、行為匹配、發現機制和標籤系統四大元件。

發現機制負責找到其他物並建立關聯。

行為匹配用以判定物物之間的整合深度。

物物通訊負責進行物和物之間的通訊,並進行協議轉化。

標籤系統提供了管理物的多種維度,通過自定義標籤達到對物的分類和管理,如位置標籤、時間標籤、功能標籤等,。

物物互聯層是真正實現物聯網概念的一層,這層以下可以完整的實現物物互聯的概念,甚至對於及其簡單的物和業務需求來說,這一層就可以解決問題。但是,物聯網的最終目的是服務於人,所以實際上還需要實際的人機互動進行內容的變現。

6.     服務整合層


服務整合層解決了人和物的互聯,分為人機介面、實體服務和服務模型三大元件。

服務模型定義了物進行內容變現的方式,如為人機介面提供藉口、資料提供給某個實體服務等。

人機介面提供了一種與使用者互動的方式,可以是一個APP、一個公眾號或是一個網頁。

實體服務是使用者實際上最希望得到變現模式,通過感知發現使用者需求,並直接選擇合適的實體服務,省區了繁瑣的使用者互動過程,一步到位:如感知到牛奶沒了,自動聯絡生鮮配送。

如同網際網路誕生了B2C,O2O,D2C等先進的商業模式一樣,物聯網本身只有一個平臺屬性,沒有服務模型的落地物聯網只是一紙空談,所以炒物聯網的概念是沒有意義的。

7.    安全機制

安全機制需要貫穿在整個物聯網系統裡,但是在各個層級的實現方式是不同的:

裝置接入層:體現在裝置本身的處理能力上,如果一個裝置本身就計量就是一個不準確的,也無法承擔加解密所需的計算能力,那麼安全根本無從可談。

裝置管理層:體現在通訊的安全,如通道加密、資料加密、金鑰、心跳連線和驗證、授權流程的複雜性。

資料倉庫:體現在資料的真實性,如資料同步、SQL注入等。

行為管理層:體現在情境和行為的可行性,如死迴圈檢測、互斥條件檢測、模糊條件等。

物物互聯層:體現在管理的有效性,如惡意裝置的加入、行為互動深度(無限執行某聯動,觸發其他物的效能極限)。

服務整合層:體現在使用者行為和邏輯服務的嚴謹性,如釣魚攻擊、資料堵塞、反向編譯程式碼、抓包等。

安全是阻礙物聯網發展的最核心因素之一,不僅關乎到使用者信任關係的建立,還直接影響到開發和運營的成本。安全機制的設定需要綜合權衡可行性、商業價值和實際需求等多方面因素。

8.    管理機制

管理機制的目的是提高系統的效能,各層對管理機制的大體思路是一致的:

採用“池”結構:採用資料池、連線池等快取常用的資料,優化建立和使用的邏輯。

統一標準:通過協議轉化統一元資料的標準,優化資料解析和封裝的時間,精簡資料結構。

連線複用:合併常用的介面,減少資料請求的浪費;將一個小生命週期的多個短連結請求合併為一個長連結,減少建立連線的時間。

快取機制:訊息快取、圖片快取、IO快取等。

管理機制是一個長期迭代的過程,效能標準會隨著系統的更新而不斷提高。

一種物聯網的雲平臺產品架構


上圖描述了一個物聯網的雲平臺產品結構,產品的模式是採用閘道器和雲端的雙核心,閘道器直接管理PAAS伺服器上註冊過的智慧硬體產品,以原生的方式展現在超級APP上;第三方的智慧硬體可以採取雲端透傳的方式傳送到SAAS伺服器解析,以HTML5的方式展現在超級APP上。

此產品結構的設計基本遵從物聯網的層次結構,同時根據眼下的市場和技術條件進行了一些優化,具體的設計和實現將在下一篇文章中描述。

小結

雖然智慧家居、車聯物流、智慧醫療等行業十分火熱,但是實際落地的專案卻不是很多,相關的關聯也基本沒有,似乎眾多廠商的終點還是在爭奪入口和標準上面。

物聯網的價值在於利用海量的資料給人服務,需要資料的共享才能發揮更大的價值,這是一場服務之爭而不是標準之爭。

作者的架構就是基於一種共享的理念建立的。