• <code id="qkqy2"><abbr id="qkqy2"></abbr></code>
    <dfn id="qkqy2"><dd id="qkqy2"></dd></dfn>
    <rt id="qkqy2"><em id="qkqy2"></em></rt>

    四川中衛(wèi)北斗科技有限公司

    在線咨詢
    微信

    微信掃一掃

    長按二維碼關(guān)注微信加好友

    淺談G7物聯(lián)網(wǎng)平臺(tái)架構(gòu)

    發(fā)布時(shí)間:2018-06-26 16:46

    說起軟件架構(gòu)總是一個(gè)很經(jīng)典的話題,軟件行業(yè)發(fā)展了很多年,從最早說的C/S,B/S,到IOC,AOP,設(shè)計(jì)模式這些概念,再到最近幾年的大數(shù)據(jù),CAP理論,微服務(wù)化,容器化??梢哉f近十多年來,隨著軟件行業(yè),尤其是互聯(lián)網(wǎng)行業(yè)的發(fā)展,軟件架構(gòu)在變得越來越復(fù)雜,從單機(jī)軟件架構(gòu),逐漸發(fā)展到了一個(gè)大規(guī)模分布式的架構(gòu),整個(gè)過程可以說是非常的精彩。

    今天,軟件行業(yè)最火的三個(gè)概念毫無疑問是物聯(lián)網(wǎng)、AI和區(qū)塊鏈。相比互聯(lián)網(wǎng)行業(yè),這三個(gè)行業(yè)的發(fā)展起步較晚,因此軟件架構(gòu)思想相對(duì)還不是那么成熟,也正因?yàn)榇?,給了從業(yè)技術(shù)人員一次探索和創(chuàng)造新技術(shù)的機(jī)會(huì)。我3年前有幸加入G7,隨著公司的快速發(fā)展也一起建設(shè)了G7的物聯(lián)網(wǎng)平臺(tái)架構(gòu)體系,一路走來心得體會(huì)不少,借此也做一次梳理。


    物聯(lián)網(wǎng)技術(shù)和互聯(lián)網(wǎng)技術(shù)有什么不同?


    百度百科對(duì)于物聯(lián)網(wǎng)的詞條里有一段話,說的比較精煉,我在此引用下:「物聯(lián)網(wǎng)是指通過各種信息傳感設(shè)備,實(shí)時(shí)采集任何需要監(jiān)控、連接、互動(dòng)的物體或過程等各種需要的信息,與互聯(lián)網(wǎng)結(jié)合形成的一個(gè)巨大網(wǎng)絡(luò)。其目的是實(shí)現(xiàn)物與物、物與人,所有的物品與網(wǎng)絡(luò)的連接,方便識(shí)別、管理和控制?!?/p>

    可以看出,物聯(lián)網(wǎng)的主要場景是對(duì)通過各種傳感器對(duì)物體進(jìn)行監(jiān)控,識(shí)別和控制。在物聯(lián)網(wǎng)之前,技術(shù)發(fā)展最成熟的無疑是互聯(lián)網(wǎng),我自己也是從互聯(lián)網(wǎng)行業(yè)出來的,因此在對(duì)物聯(lián)網(wǎng)技術(shù)的探索過程中,少不了和互聯(lián)網(wǎng)的技術(shù)去做比較,在我看來,由于業(yè)務(wù)場景的不同,二者的技術(shù)關(guān)注點(diǎn)還是不太一樣的。

    首先,傳統(tǒng)互聯(lián)網(wǎng)面對(duì)的是人,而物聯(lián)網(wǎng)面對(duì)的是物。這是本質(zhì)的不同,人有人的特點(diǎn),比如人的時(shí)間大多數(shù)是在看(獲取數(shù)據(jù)),而不是在寫(創(chuàng)造數(shù)據(jù)),這就決定了傳統(tǒng)互聯(lián)網(wǎng)是一個(gè)相對(duì)讀多寫少的場景。此外人白天得上班,晚上得睡覺,這就決定了互聯(lián)網(wǎng)的流量波動(dòng)會(huì)出現(xiàn)明顯的周期特征。

    而物聯(lián)網(wǎng)呢,我們要做的是對(duì)物體的監(jiān)控和控制,那么對(duì)這個(gè)物體的當(dāng)前狀態(tài),變化情況,都要變成數(shù)據(jù)傳輸?shù)椒?wù)器,相比之下,人去看這些數(shù)據(jù)倒成了一個(gè)低頻行為。與此同時(shí),這些物體產(chǎn)生的每個(gè)數(shù)據(jù)都和物體本身所在的時(shí)間和空間緊密相關(guān),所以我們稱這些數(shù)據(jù)具備明顯的時(shí)空屬性。        

    其次,相比傳統(tǒng)互聯(lián)網(wǎng),物聯(lián)網(wǎng)開發(fā)是一個(gè)更長鏈條的協(xié)作過程。做一個(gè)傳統(tǒng)互聯(lián)網(wǎng)軟件,我們通常是先基于業(yè)務(wù)設(shè)計(jì)數(shù)據(jù)庫結(jié)構(gòu),然后開發(fā)對(duì)數(shù)據(jù)庫操作的代碼和界面,整個(gè)過程是很容易在一個(gè)小團(tuán)隊(duì)里閉環(huán)的。而做一個(gè)物聯(lián)網(wǎng)平臺(tái),需要從設(shè)備研發(fā)做起,通過各種傳感器來將周邊的現(xiàn)實(shí)狀態(tài)轉(zhuǎn)化為數(shù)據(jù),再通過網(wǎng)絡(luò)將數(shù)據(jù)傳輸?shù)狡脚_(tái),平臺(tái)再這些數(shù)據(jù)進(jìn)行加工處理,變成業(yè)務(wù)所需要的結(jié)構(gòu)化數(shù)據(jù),最終再來開發(fā)對(duì)這些數(shù)據(jù)的展示,或者我們要操作一個(gè)現(xiàn)實(shí)中的物體,也是要完成從界面到平臺(tái)到設(shè)備,最后再到控制系統(tǒng)的協(xié)作過程。


    物聯(lián)網(wǎng)技術(shù)都包含什么東西?

    之前畫的一個(gè)物聯(lián)網(wǎng)技術(shù)體系的簡圖,從下往上有5個(gè)層次,分別是感知層、接入層、數(shù)據(jù)層、業(yè)務(wù)層和展現(xiàn)層,我下面簡單說下這5層分別需要什么能力。

    感知層

    感知層能力就是硬件能力,是物聯(lián)網(wǎng)最基礎(chǔ)的一層,是真正在創(chuàng)造原始數(shù)據(jù)的層面。如果沒有好的原始數(shù)據(jù),意味著我們的數(shù)據(jù)基礎(chǔ)是不可靠的。在一個(gè)不牢靠的基礎(chǔ)上,進(jìn)行的業(yè)務(wù)應(yīng)用和數(shù)據(jù)分析也是不可靠的。因此,如何保證穩(wěn)定準(zhǔn)確的數(shù)據(jù)感知和上報(bào),是這一層的重中之重。這其實(shí)是一個(gè)挺多維度的問題,包括采用的感知方案是否合理,安裝實(shí)施工藝是否簡易,信號(hào)接收是否穩(wěn)定,功耗情況是否合理等。硬件本身,從芯片選擇到主板設(shè)計(jì),每一個(gè)領(lǐng)域都需要精雕細(xì)琢。同時(shí),硬件之上的軟件設(shè)計(jì),如何快速,穩(wěn)定的在一個(gè)相對(duì)局限的資源里進(jìn)行計(jì)算,進(jìn)行數(shù)據(jù)的過濾,都是需要考慮的事情。

    接入層

    接入層能力是架構(gòu)和適配能力,關(guān)注的重點(diǎn)首先是可用性。接入層要連接大量的設(shè)備,這些設(shè)備每時(shí)每刻都在上報(bào)數(shù)據(jù),而且如前文談到的,設(shè)備是不會(huì)休息的,因此這種場景是24小時(shí)高強(qiáng)度的寫入。這就對(duì)接入層的穩(wěn)定性提出很大的挑戰(zhàn),需要通過很好的架構(gòu)和實(shí)現(xiàn),去支撐這種海量的數(shù)據(jù)上傳場景。

    另一個(gè)需要關(guān)注的重點(diǎn)是適配能力。我們會(huì)接入很多不同種類的設(shè)備,很多設(shè)備的功能是類似的。這個(gè)適配就要分為兩個(gè)問題去看:一個(gè)問題是如何快速的適配這些設(shè)備的協(xié)議,讓設(shè)備進(jìn)入我們的平臺(tái);另一個(gè)問題是,要如何把不同的設(shè)備協(xié)議,基于業(yè)務(wù)轉(zhuǎn)換成標(biāo)準(zhǔn)的數(shù)據(jù)結(jié)構(gòu),為后面的分析和挖掘工作打好數(shù)據(jù)基礎(chǔ)。

    數(shù)據(jù)層

    如果說感知層和接入層是在創(chuàng)造標(biāo)準(zhǔn)化的數(shù)據(jù),那么到這一層的重點(diǎn),就變成了要存儲(chǔ)和應(yīng)用這些數(shù)據(jù)。因此我們首先要考慮,如何存儲(chǔ)如此海量而且在不斷增加的數(shù)據(jù)量。我們的存儲(chǔ)架構(gòu)要考慮可擴(kuò)展性,數(shù)據(jù)安全性,數(shù)據(jù)的易用性,以及存儲(chǔ)這些數(shù)據(jù)的成本。同時(shí),我們?nèi)绾螌?duì)海量數(shù)據(jù)進(jìn)行計(jì)算,是一個(gè)典型的大數(shù)據(jù)問題。因此我們需要通過大數(shù)據(jù)架構(gòu)來支撐這些計(jì)算。對(duì)數(shù)據(jù)的分析,如果要變成對(duì)未來的預(yù)言和決策,機(jī)器學(xué)習(xí)算法也是必不可少的。換句話說,數(shù)據(jù)層是物聯(lián)網(wǎng)公司的技術(shù)核心層。這一層的技術(shù)積累深度,決定了我們能夠把數(shù)據(jù)價(jià)值發(fā)揮出多少。

    業(yè)務(wù)層

    業(yè)務(wù)層的主要工作是考慮如何利用數(shù)據(jù)和算法,解決具體的業(yè)務(wù)問題。業(yè)務(wù)層和數(shù)據(jù)層應(yīng)該是一個(gè)相互驅(qū)動(dòng)的關(guān)系。業(yè)務(wù)會(huì)基于用戶的需求,對(duì)數(shù)據(jù)層的技術(shù)提出更高的要求。技術(shù)也需要不斷提升,反向?yàn)闃I(yè)務(wù)去提供更好的架構(gòu)基礎(chǔ)、算法能力。因此,單純的技術(shù)驅(qū)動(dòng)和產(chǎn)品驅(qū)動(dòng)都是不夠的,只有技術(shù)和產(chǎn)品相結(jié)合才能發(fā)揮最大的價(jià)值。

    如果從技術(shù)層面看,業(yè)務(wù)層面對(duì)的技術(shù)壓力是來自于直接的用戶訪問。因此,傳統(tǒng)互聯(lián)網(wǎng)公司的微服務(wù)化,緩存策略,消息訂閱等技術(shù)在這一層是很適用的。同時(shí),物聯(lián)網(wǎng)的業(yè)務(wù)還是很有自身的特點(diǎn):比如會(huì)有大量的實(shí)時(shí)計(jì)算需求,去快速的給客戶反映當(dāng)前的情況。我們生成的各種事件報(bào)警,都離不開要設(shè)計(jì)實(shí)時(shí)流式處理的算法,需要不斷對(duì)一段時(shí)間的數(shù)據(jù)進(jìn)行統(tǒng)計(jì),也是一大特點(diǎn)。物聯(lián)網(wǎng)的數(shù)據(jù)有明顯的時(shí)間序列性和位置相關(guān)性。因此,基于這兩個(gè)特點(diǎn)的業(yè)務(wù)會(huì)特別多,都需要用專門的技術(shù)方案來支持。

    展現(xiàn)層

    展現(xiàn)層就是用戶界面。在G7這一層會(huì)更加偏重于數(shù)據(jù)的展現(xiàn)。回到剛才說到的物聯(lián)網(wǎng)數(shù)據(jù)兩大特性:時(shí)間序列性和位置相關(guān)性。實(shí)際上這兩個(gè)特性在從數(shù)據(jù)層開始,再到業(yè)務(wù)層和展現(xiàn)層,都在影響著我們的設(shè)計(jì)。因此,展現(xiàn)層需要去考慮:如何針對(duì)兩個(gè)特點(diǎn)去進(jìn)行數(shù)據(jù)UI組件的設(shè)計(jì)。另外,物聯(lián)網(wǎng)中有很多大數(shù)據(jù)分析,對(duì)大數(shù)據(jù)的直觀展現(xiàn),也是展現(xiàn)層需要考慮的問題。


    如何支持業(yè)務(wù)快速創(chuàng)新


    如上文所說,物聯(lián)網(wǎng)領(lǐng)域的技術(shù)開發(fā)是一個(gè)長鏈條,高復(fù)雜度的過程,而G7又是一家不斷的在進(jìn)行業(yè)務(wù)創(chuàng)新的公司,如何通過良好的架構(gòu)設(shè)計(jì)來支持快速的業(yè)務(wù)創(chuàng)新,是我們必須要去深入思考的問題。

    我們也在這個(gè)問題上經(jīng)過一段時(shí)間的探索,并得到了兩個(gè)基本認(rèn)知:

    • 小團(tuán)隊(duì)自包含是支持快速創(chuàng)新的唯一保證

    • 需要通過一個(gè)強(qiáng)大的平臺(tái)來提供小團(tuán)隊(duì)自包含所需要的各項(xiàng)能力

    第一點(diǎn)很容易理解,無論有多好的過程管理,跨團(tuán)隊(duì)協(xié)作也比不上一只自包含的團(tuán)隊(duì),我們需要思考的是如何讓這個(gè)團(tuán)隊(duì)真正的能做到自包含,需要為這個(gè)小團(tuán)隊(duì)提供什么能力來提高他們的速度。

    我們給出的答案是IoT PaaS平臺(tái)和IoT業(yè)務(wù)中臺(tái),下面分別解釋一下這兩個(gè)平臺(tái)的作用。


    IoT PaaS


    PaaS不是新的概念,但基于IoT的PaaS應(yīng)該如何打造,我們認(rèn)為IoT的PaaS應(yīng)該具備5個(gè)能力:

    • 設(shè)備接入能力:通過可自動(dòng)伸縮的容器化技術(shù),提供統(tǒng)一的的連接管理和監(jiān)控能力,僅僅把協(xié)議解析的核心代碼部分暴露出來給到業(yè)務(wù)方自行開發(fā)。

    • 數(shù)據(jù)獲取能力:通過一個(gè)統(tǒng)一的消息隊(duì)列來讓業(yè)務(wù)方能夠自行獲取數(shù)據(jù),業(yè)務(wù)可按照自己需要的方式來進(jìn)行處理。

    • 數(shù)據(jù)存儲(chǔ)能力:提供統(tǒng)一的數(shù)據(jù)庫存儲(chǔ)方案,集中為業(yè)務(wù)解決物聯(lián)網(wǎng)的海量時(shí)序數(shù)據(jù)存儲(chǔ)問題。

    • 實(shí)時(shí)計(jì)算能力:提供統(tǒng)一的流式計(jì)算平臺(tái),讓業(yè)務(wù)方可以在此之上自行進(jìn)行實(shí)時(shí)計(jì)算,不用考慮資源問題。

    • 離線計(jì)算能力:提供統(tǒng)一的離線計(jì)算平臺(tái),使大數(shù)據(jù)處理和任務(wù)調(diào)度也變得容易。

    為此,我們提供了5個(gè)平臺(tái)來提供上面所說的5個(gè)能力,分別是Eacoon, GMQ, CubeDB , GLink和GStove。

    所有平臺(tái)提供統(tǒng)一的運(yùn)維保障,而業(yè)務(wù)可以基于這一套平臺(tái)實(shí)現(xiàn)從接入到處理到存儲(chǔ)的一站式處理,真正實(shí)現(xiàn)小團(tuán)隊(duì)自包含。


    IoT業(yè)務(wù)中臺(tái)


    上一節(jié)中的IoT PaaS體系實(shí)現(xiàn)了創(chuàng)新業(yè)務(wù)的自包含開發(fā),但與此同時(shí),我們還要去抽取這些業(yè)務(wù)的共性部分,進(jìn)一步簡化業(yè)務(wù)開發(fā)的工作量,IoT業(yè)務(wù)中臺(tái)因此應(yīng)運(yùn)而生。

    IoT業(yè)務(wù)中臺(tái)是對(duì)IoT業(yè)務(wù)的高度抽象,從抽象程度的由低到高包含三層即:設(shè)備抽象,車輛抽象和物流業(yè)務(wù)抽象。

    設(shè)備抽象:目的是把遠(yuǎn)程的設(shè)備變成在平臺(tái)上的一個(gè)設(shè)備實(shí)體,可以簡單的對(duì)其進(jìn)行操控和數(shù)據(jù)的獲取。

    車輛抽象:在這個(gè)層面上我們開始忽略設(shè)備本身,設(shè)備只是去獲取車輛數(shù)據(jù)的方式,通過這個(gè)抽象我們能夠以車輛的維度來控制和獲取數(shù)據(jù),而無需關(guān)心上面裝了什么設(shè)備。

    物流業(yè)務(wù)抽象:在這個(gè)層面上我們通過對(duì)車上數(shù)據(jù)的理解,把其轉(zhuǎn)換成物流業(yè)務(wù)的維度,包括當(dāng)前站點(diǎn),任務(wù)狀態(tài),司機(jī)狀態(tài),道路偏離等。


    因此,G7的IOT業(yè)務(wù)中臺(tái),就是要把這幾層抽象不斷的完善,做到極致,通過這幾個(gè)層面的抽象,也能夠使得業(yè)務(wù)在開發(fā)的時(shí)候,能夠很多的現(xiàn)有的抽象可以使用,而不需要從頭做起,從而極大的提高業(yè)務(wù)開發(fā)的效率。

    總結(jié):

    本文總體介紹了物聯(lián)網(wǎng)平臺(tái)的技術(shù)特點(diǎn),也簡單闡述了一個(gè)成熟的物聯(lián)網(wǎng)架構(gòu)的基本思想和架構(gòu)方法,希望能夠使大家更加清楚一個(gè)合理的物聯(lián)網(wǎng)架構(gòu)的形態(tài),里面的細(xì)節(jié)我們后續(xù)再展開討論。

    作者簡介:趙云濤,從事軟件技術(shù)十多年,經(jīng)歷了企業(yè)開發(fā)、互聯(lián)網(wǎng)、移動(dòng)互聯(lián)網(wǎng)、物聯(lián)網(wǎng)+AI多個(gè)技術(shù)大潮。曾任職于搜狐,聯(lián)想,阿里巴巴,現(xiàn)為G7技術(shù)合伙人,負(fù)責(zé)G7 IoT平臺(tái)和管車軟件平臺(tái)研發(fā)。




    掃一掃在手機(jī)上閱讀本文章

    版權(quán)所有? 四川中衛(wèi)北斗科技有限公司    蜀ICP備14007264號(hào)-3    技術(shù)支持: 竹子建站
    国产精品无码2021在线观看,欧美一级特黄特黄大片连接,亚洲欧洲无码一区2区无码,国产精品无套内谢 国产AⅤ视频一区二区三区 欧美亚洲国产卡通
  • <code id="qkqy2"><abbr id="qkqy2"></abbr></code>
    <dfn id="qkqy2"><dd id="qkqy2"></dd></dfn>
    <rt id="qkqy2"><em id="qkqy2"></em></rt>