當大數據遇上物聯網

某位互聯網大佬說過,未來20年最有發展潛力的三項技術分別是:區塊鏈、人工智能、物聯網。關於區塊鏈,現在可能是最有爭議也是最迷茫的時候;關於人工智能的價值,我們已經達成共識並穩步發展;而真正完成早期探索、處於突破臨界點的可能就是物聯網了。

物聯網確實也能給我們足夠的想象空間:萬物互聯,所有的一切設備都是智能的,它們通過互相通信,彼此聯繫;而人們也可以通過雲端的應用掌控一切,就像科幻電影描述的那樣。

最關鍵的是,相比人工智能和區塊鏈還在進行技術探索,物聯網的技術已經成熟,只待“臨門一腳”了。

物聯網應用場景分析

現在說“萬物互聯”也許爲時尚早,但是很多細分的垂直領域場景已經實現了物聯網。

1. 智能家居

智能家居可能是和我們最接近,也是目前最普及的物聯網。目前市面上銷售的各種大家電,很多都有上網和遠程控制功能。小米旗下的幾乎所有家電都可以通過網絡控制,這些設備和智能音箱聯通,我們可以通過語音控制檯燈、電飯煲、自動窗簾等。

下班回家,說一句“我回來了”,家裏的燈立即打開,空調開啓、窗簾關閉。要睡覺了,說聲“晚安”,大燈關閉、夜燈開啓、空氣淨化器進入夜間模式。是不是很酷?最重要的,這些技術和產品都已經成熟,而且價格低廉。

2. 車聯網

車聯網曾經被人們寄予厚望,Intel就在車聯網方面投入很多。我在Intel工作期間,有段時間每天去公司上班,一樓大廳都播放車聯網的美好場景:

道路上的車輛互相通信連接,前面車輛剎車,立即通知後面車輛,後面車輛也減速;路上發生車禍,警告其他車輛小心駕駛,車輛通過自己的攝像頭將車禍現場照片視頻自動上傳給交警和保險公司;進入停車場,車輛和泊位系統通信,自動引導到空車位。車輛和車輛之間、車輛和其他交通設施之間彼此通信,互相協作,構成一個網絡。

除此之外,物聯網還應用在農業領域,土壤傳感器探測土壤溼度,數據上傳雲端,雲端系統根據農作物特性遠程控制農田現場的噴淋裝置。在能源利用領域,攝像頭和紅外傳感器捕捉人們的活動,自動控制照明和空調系統,保證舒適和節能的平衡。

物聯網平臺架構

物聯網主要是將各種傳感器和智能設備連接起來,將數據上傳雲端,根據規則和機器學習模型進行遠程控制,並通過物聯網應用程序進行監控管理。一個典型的物聯網平臺架構如下圖所示。

終端傳感器實時採集數據,利用移動數據網絡將數據上傳給智能網關,智能網關進行初步的數據處理,根據規則和機器學習模型進行計算,再將計算結果通過移動數據網絡下發給可控制的終端智能設備。

由於傳感器可能部署在很多相距較遠的地方,而且數量龐大,所以不可能將傳感器數據直接接入雲端服務器,而且也不是所有的傳感器數據都需要實時上傳雲端。所以,需要有一個在傳感器現場的前置服務器進行現場管理。智能網關就是距離現場傳感器最近的一個計算機。

由於智能網關佈置在物聯網的作業現場,和傳感器距離很近,處於整個雲計算的邊緣,所以在智能網關上的計算也叫邊緣計算

我們看到,在科技領域隔一段時間就會造出一個新名詞,這可不是技術人員在沒事找事瞎歪歪。每一個能公開傳播的科技名詞背後都有巨大的經濟利益之爭。科技巨頭們爲了在爭奪市場份額,不斷拋出新的科技名詞,企圖主導科技的話語權,進而獲得經濟利益。而大衆也會審美疲勞,需要市場上不斷有新鮮的東西問世。

但是我們作爲科技從業人員,需要搞清楚這些新鮮熱鬧的科技新詞背後的技術本質,不要被這些紛紛擾擾的技術新名詞搞得迷失了方向。

智能網關進行現場數據處理後,也就是進行邊緣計算後,還要把數據上傳到雲端,即物聯網大數據平臺,將數據永久存儲,進行機器學習。還要將各個異地的傳感器數據統一彙總,進行全局性的計算並進行全局性的控制。

此外雲端還負責將各種數據推送給應用程序設備,工作人員可以實時監控整個物聯網的運行情況,並通過應用程序進行遠程控制。

大數據技術在物聯網中的應用

如果說互聯網連接的是人,那麼物聯網連接的就是物,是各種智能設備和傳感器。相對人的數量來說,智能設備的數量要多得多,人不會時刻都在上網,而智能設備則時刻都在聯網傳輸數據,所以物聯網更需要大數據技術。

物聯網裏大數據技術的應用,一方面是大數據的存儲和計算,另一方面就是邊緣計算管理。我們先看下物聯網大數據平臺的架構。

1.智能網關通過消息隊列將數據上傳到物聯網大數據平臺,Storm等流式計算引擎從消息隊列獲取數據,對數據的處理分三個方面。

  • 數據進行清理轉換後寫入到大數據存儲系統。

  • 調用規則和機器學習模型,對上傳數據進行計算,如果觸發了某種執行規則,就將控制信息通過設備管理服務器下發給智能網關,並進一步控制終端智能設備。

  • 將實時統計信息和應用程序監聽的數據發送給應用程序設備,供使用者查看管理。

2.Spark等離線計算引擎定時對寫入存儲系統的數據進行批量計算處理,進行全量統計分析和機器學習,並更新機器學習模型。

3.應用程序也可以通過設備管理服務器直接發送控制指令給智能網關,控制終端智能設備。

這樣就構成一個典型的物聯網“端-雲-端”架構,其中兩個端分別是傳感器與智能設備端,以及應用程序設備端,而云則是大數據雲計算平臺。

此外,邊緣計算也要執行大量的邏輯運算,主要是對傳感器數據進行處理和計算。運算邏輯代碼和處理規則可能會經常變化,特別是規則配置,隨時可能更新。

比較好的做法就是參考大數據計算框架的做法,即移動計算,將執行代碼和規則配置分發到智能網關服務器。

開發者將代碼和配置通過設備管理服務器分發給各個智能網關,智能網關熱加載這些代碼開始執行。這樣人們不但可以可以遠程控制智能設備,還可以控制智能設備的運行邏輯。

現在一些商業化的物聯網雲計算平臺提出函數即服務FaaS,在應用程序或者雲控制檯上編寫函數,分發到智能網關執行就可以,這也是目前比較火的Serverless的一種實現。

小結

物聯網的很多應用場景都會加上“智能”二字,比如智能家居、智能交通等。萬物互聯本身不是目的,讓萬物更智能,讓生活更美好纔是目的,而這些智能正是靠大數據技術實現的。不管是大規模傳感器數據的採集、傳輸、處理,還是關於這些數據的分析與機器學習,以及最後對現場智能設備控制的邊緣計算,背後都用到了大數據技術。

物聯網的概念從提出到現在也過去很多年了,最近兩年又重新開始火起來,我想應該跟大數據技術的普及有很大關係。

思考題

你瞭解的物聯網應用場景還有哪些?大數據在其中的作用是什麼?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章