又大又粗又猛免费视频久久_国产理论在线播放_久久男人av资源网站免费软件_99国产精品无码

iot 物聯(lián)網(wǎng)大數(shù)據(jù)平臺軟件開發(fā)架構(gòu)案例解析以及定制開發(fā)(物聯(lián)網(wǎng) iot studio應(yīng)用開發(fā))

1 前言

有人說物聯(lián)網(wǎng)是引領(lǐng)信息技術(shù)的第三次浪潮。第一次浪潮是個人電腦的出現(xiàn),開創(chuàng)了信息時代的第一次革命,此次浪潮成就了微軟、IBM等巨頭。第二次浪潮是以信息傳輸為特征的互聯(lián)網(wǎng)及移動互聯(lián)網(wǎng),實現(xiàn)了計算機與人的聯(lián)通,此次浪潮成就了Google、Facebook,以及國內(nèi)的BAT等巨頭。第三次浪潮是以信息感知為特征的物聯(lián)網(wǎng),實現(xiàn)了物與物、人與物的全面聯(lián)通,這次浪潮還沒有形成寡頭,但是隨著傳感技術(shù)、通信技術(shù)以及大數(shù)據(jù)處理技術(shù)的發(fā)展,物聯(lián)網(wǎng)已經(jīng)在公共事務(wù)管理、公共社會服務(wù)和經(jīng)濟發(fā)展建設(shè)等領(lǐng)域中遍地開花,涉及到的行業(yè)也越來越多,如交通管理、節(jié)能環(huán)保、物流零售等。

2 背景

萬物互聯(lián)的時代正逐步到來,據(jù)權(quán)威報告預(yù)測,2020年全球物聯(lián)網(wǎng)連接的終端數(shù)將達到500億,數(shù)據(jù)呈現(xiàn)爆發(fā)式增長。這個數(shù)據(jù)究竟有多大呢?舉個典型的例子:

某個工程機械集團,擁有10萬臺工程機械設(shè)備,

每臺設(shè)備上的采集終端每隔10秒上傳一次數(shù)據(jù),每條數(shù)據(jù)大小1K,

一年的數(shù)據(jù)量為365天*8.6億=3000億,

一年占用的存儲為3000億*1K=300TB。

我們通常為了保證高可用,會對數(shù)據(jù)做3份冗余存儲,也就是說,這樣一個企業(yè)一年的數(shù)據(jù)存儲量就可以達到1PB,而1PB就相當(dāng)于50個國家圖書館的總信息量。

物聯(lián)網(wǎng)的數(shù)據(jù)中蘊含的價值也是非常高的,比如:利用車載終端上傳的數(shù)據(jù),可以提前預(yù)測群體出行的時間、方式和路線,可以為城市車輛調(diào)度提供決策幫助;在工業(yè)設(shè)備上安裝的傳感器,實時收集工業(yè)設(shè)備的使用狀況,可以進行設(shè)備診斷、能耗分析、質(zhì)量事故分析等;通過各種環(huán)保傳感器采集的數(shù)據(jù),可以輔助空氣質(zhì)量改善、水污染控制等。

3 傳統(tǒng)架構(gòu)的瓶頸

面對如此海量的物聯(lián)網(wǎng)數(shù)據(jù),傳統(tǒng)技術(shù)架構(gòu)已經(jīng)難以應(yīng)對。

首先,傳統(tǒng)架構(gòu)都嚴(yán)重依賴于關(guān)系型數(shù)據(jù)庫,而關(guān)系型數(shù)據(jù)庫的索引結(jié)構(gòu)基本上都是類B 樹,隨著終端數(shù)量增大,數(shù)據(jù)庫讀寫壓力劇增,讀寫延遲增大,數(shù)據(jù)庫面臨崩潰。其次,難以支持海量數(shù)據(jù)的存儲,傳統(tǒng)數(shù)據(jù)庫無法水平擴展,所以擴容成本非常高,難以滿足PB/EB級數(shù)據(jù)的讀取和寫入。最后,難以進行大規(guī)模數(shù)據(jù)處理,傳統(tǒng)情況下依賴數(shù)據(jù)庫的SQL或者存儲過程來進行數(shù)據(jù)分析的模式,無法對數(shù)據(jù)做分布式處理,經(jīng)常一個SQL能把整個數(shù)據(jù)庫拖垮。

為了能夠把眾多行業(yè)的物聯(lián)網(wǎng)大數(shù)據(jù)價值發(fā)揮出來,視云智慧推出了一個企業(yè)級的物聯(lián)網(wǎng)大數(shù)據(jù)平臺。

4 SCloud IOT架構(gòu)解析

那么SCloud IOT到底是什么呢?它是一個面向物聯(lián)網(wǎng)的開放的數(shù)據(jù)處理平臺,涵蓋了數(shù)據(jù)接入、計算、存儲、交換和管理。用戶基于這個平臺,可以很輕松地打造自己的物聯(lián)網(wǎng)解決方案。下圖可以展現(xiàn)出SCloud IOT的定位:

iot 物聯(lián)網(wǎng)大數(shù)據(jù)平臺軟件開發(fā)架構(gòu)案例解析以及定制開發(fā)(物聯(lián)網(wǎng) iot studio應(yīng)用開發(fā))

圖1 SCloud IOT的定位

SCloud IOT主要是為了解決什么問題呢?下面的這幾個都是典型的物聯(lián)網(wǎng)應(yīng)用場景:

  • 物聯(lián)網(wǎng)安全,解決了從數(shù)據(jù)接入到最終展現(xiàn)給用戶的每個環(huán)節(jié)的安全防護;
  • 實時接入,解決了百萬級別的物聯(lián)網(wǎng)終端,以很高的頻率發(fā)送的數(shù)據(jù)能夠?qū)崟r的接入到系統(tǒng)中;
  • 當(dāng)前狀態(tài),解決了在百萬級別的物聯(lián)網(wǎng)終端中,快速地獲取到某個終端的當(dāng)前的狀態(tài);
  • 歷史狀態(tài),解決了在百萬級別的物聯(lián)網(wǎng)終端中,快速地獲取到某個終端在過去的某個時間段內(nèi)的狀態(tài)參數(shù);
  • 下發(fā)指令,解決了如何給一個或者多個物聯(lián)網(wǎng)終端下發(fā)指令,從而可以實現(xiàn)遠程控制和參數(shù)調(diào)校等。

4.1架構(gòu)圖

iot 物聯(lián)網(wǎng)大數(shù)據(jù)平臺軟件開發(fā)架構(gòu)案例解析以及定制開發(fā)(物聯(lián)網(wǎng) iot studio應(yīng)用開發(fā))

圖2 SCloud IOT架構(gòu)圖

最底層是設(shè)備層,可以全部采用X86通用服務(wù)器,無需采購小型機等昂貴的計算設(shè)備和高端存儲設(shè)備,從整體上可以大幅拉低成本。

最上層是業(yè)務(wù)層,主要是物聯(lián)網(wǎng)的各種應(yīng)用和第三方系統(tǒng)。業(yè)務(wù)層無需對數(shù)據(jù)進行處理和分析,只是通過查詢接口獲取到平臺層中已經(jīng)處理過的數(shù)據(jù)并在界面進行展示。

中間的這一層就是TIZA STAR, 包含了數(shù)據(jù)接入服務(wù)、數(shù)據(jù)存儲服務(wù)、數(shù)據(jù)計算服務(wù)(包括實時計算和離線計算)、監(jiān)控報警服務(wù)、平臺管理服務(wù)、數(shù)據(jù)交換服務(wù)。下面會對每個模塊詳細介紹。

4.2數(shù)據(jù)接入

數(shù)據(jù)接入時,傳感器或者采集終端通過無線或者有線的方式發(fā)送到平臺端,平臺端通過軟負載均衡(LVS)或者硬負載均衡(F5等)將流量均勻的負載到各個可水平擴展的網(wǎng)關(guān),每個網(wǎng)關(guān)都是基于netty實現(xiàn)的高性能的網(wǎng)絡(luò)接入程序。

數(shù)據(jù)接入?yún)f(xié)議分兩個層次,在通訊層次上,支持TCP、UDP、HTTP和WEBSOCKET等通訊協(xié)議;在數(shù)據(jù)協(xié)議層次上,支持MQTT、JSON、SOAP和自定義二進制協(xié)議。通過這兩個層次的互相搭配,可以輕松實現(xiàn)任何物聯(lián)網(wǎng)終端、任何協(xié)議的數(shù)據(jù)接入。

iot 物聯(lián)網(wǎng)大數(shù)據(jù)平臺軟件開發(fā)架構(gòu)案例解析以及定制開發(fā)(物聯(lián)網(wǎng) iot studio應(yīng)用開發(fā))

圖3 SCloud IOT數(shù)據(jù)接入?yún)f(xié)議

網(wǎng)關(guān)接收到數(shù)據(jù),并完成解包之后,將數(shù)據(jù)包發(fā)送到消息中間件中,可以有效地應(yīng)對“井噴流量”和下游服務(wù)短暫不可用的問題。在消息中間件的選擇上,我們比較了Kafka、RabbitMQ和ActiveMQ,最后選擇了Kafka,因為在分布式環(huán)境下Kafka的吞吐性能非常優(yōu)秀,并且其持久化和訂閱/發(fā)布的功能與物聯(lián)網(wǎng)的場景非常匹配。

4.3數(shù)據(jù)存儲

TIZA STAR綜合使用了多種存儲引擎,包括HDFS、HBase、RDBMS和Redis。其中HDFS非常適合于非結(jié)構(gòu)化數(shù)據(jù)的存儲,支持數(shù)據(jù)的備份、恢復(fù)和遷移,在系統(tǒng)中主要用于存儲原始數(shù)據(jù)和需要進行離線分析的數(shù)據(jù)。

  • HBase適合于存儲半結(jié)構(gòu)化的數(shù)據(jù),可以很好的支持海量物聯(lián)網(wǎng)終端的歷史數(shù)據(jù)的查詢,在系統(tǒng)中主要用于存儲終端的歷史軌跡和狀態(tài)等體量比較大的數(shù)據(jù)。
  • RDBMS適合于存儲結(jié)構(gòu)化的數(shù)據(jù),通常根據(jù)具體的數(shù)據(jù)庫采用不同的高可用部署方案,在系統(tǒng)中主要用來存儲終端基礎(chǔ)數(shù)據(jù)、字典數(shù)據(jù)和數(shù)據(jù)分析的結(jié)果等。
  • Redis是基于內(nèi)存的KV數(shù)據(jù)庫,在系統(tǒng)中通常用來緩存需要頻繁更新和訪問的數(shù)據(jù),比如物聯(lián)網(wǎng)終端的當(dāng)前狀態(tài)等。在多種KV數(shù)據(jù)庫中我們最后選擇了Redis,主要是看重Redis為多種數(shù)據(jù)類型以及多種數(shù)據(jù)操作提供了很好的內(nèi)嵌支持。

4.4數(shù)據(jù)處理

數(shù)據(jù)處理包括實時計算和離線計算兩種。

實時計算我們比較了Storm和Spark-streaming,最后選擇了Storm,主要考慮兩點:一方面是因為Storm的實時性更好一些,另一方面是因為在物聯(lián)網(wǎng)的場景中需要支持對終端數(shù)據(jù)的全局分組,而Spark-streaming只能在每個RDD中做分組。所以最后我們選擇了Storm作為我們的實時處理引擎,在它的基礎(chǔ)上我們包裝了自己的實時計算服務(wù),可以支持應(yīng)用層的調(diào)度和管理。基于實時計算服務(wù)可以很容易實現(xiàn)對物聯(lián)網(wǎng)數(shù)據(jù)的清洗、解析、報警等實時的處理。

離線計算目前支持MapReduce和Hive,對Spark的支持也正在進行中,主要用于對物聯(lián)網(wǎng)數(shù)據(jù)做日/周/月/年等多個時間維度做報表分析和數(shù)據(jù)挖掘,并將結(jié)果輸出到關(guān)系數(shù)據(jù)庫中。

4.5數(shù)據(jù)交換接口

數(shù)據(jù)交換接口主要是為了簡化應(yīng)用層與平臺層之間的數(shù)據(jù)訪問而抽象了一層訪問接口,有了這層接口,應(yīng)用層就不需要直接調(diào)用Hadoop、HBase等原生API,可以快速地進行應(yīng)用開發(fā)。

目前數(shù)據(jù)交換接口支持:SQL、Restful、Thrift和Java API,用戶可以根據(jù)實際情況靈活選擇數(shù)據(jù)交換的方式。

數(shù)據(jù)交換的內(nèi)容包括:物聯(lián)網(wǎng)終端的當(dāng)前狀態(tài)、物聯(lián)網(wǎng)終端的歷史狀態(tài)/軌跡、指令下發(fā)、數(shù)據(jù)訂閱與發(fā)布等等。

4.6平臺管理

平臺管理包括監(jiān)控報警和管理UI。

監(jiān)控報警我們是用Ganglia和Nagios配合來做的,從三個級別來做:硬件級別(服務(wù)器、cpu、內(nèi)存、磁盤等)、進程級別(進程不存在、端口監(jiān)聽異常等)、關(guān)鍵業(yè)務(wù)指標(biāo)(中間隊列的元素數(shù)、網(wǎng)關(guān)建立的tcp連接數(shù)等)

管理UI包括界面化安裝部署、用戶管理、終端管理、集群管理、數(shù)據(jù)接入管理、實時和離線計算任務(wù)界面化管理。

4.7平臺SDK

平臺SDK是為了方便企業(yè)用戶基于TIZA STAR定制自己的物聯(lián)網(wǎng)應(yīng)用,我們提供了三個SDK:GW-sdk、RP-sdk、OP-sdk。

  • 其中基于GW-sdk可以快速新增一種新的物聯(lián)網(wǎng)終端協(xié)議的接入。
  • 基于RP-sdk可以快速開發(fā)一整條實時處理鏈,也可以快速開發(fā)處理鏈中的某個模塊。
  • 基于OP-sdk可以快速開發(fā)一個可周期性調(diào)度的MapReduce/Spark任務(wù)。

4.8平臺安全

物聯(lián)網(wǎng)安全也日益重要,前段時間發(fā)生的私家車被惡意遠程控制的事件就體現(xiàn)出了物聯(lián)網(wǎng)安全的重要性。TIZA STAR從鏈路安全、接入安全、網(wǎng)絡(luò)安全、存儲安全和數(shù)據(jù)防篡改這幾個方面來保證物聯(lián)網(wǎng)安全。

  • 通過SSL和TLS保證鏈路安全;
  • 通過秘鑰鑒權(quán)對數(shù)據(jù)的訪問有效進行控制;
  • 通過防火墻等硬件設(shè)備防止網(wǎng)絡(luò)攻擊;
  • 通過副本冗余保證數(shù)據(jù)的存儲安全;
  • 通過每512字節(jié)進行CRC校驗的機制保證數(shù)據(jù)的防篡改。

5 應(yīng)用案例

5.1數(shù)據(jù)流

接下來我們以車聯(lián)網(wǎng)為例,看一下TIZA STAR的數(shù)據(jù)流。

iot 物聯(lián)網(wǎng)大數(shù)據(jù)平臺軟件開發(fā)架構(gòu)案例解析以及定制開發(fā)(物聯(lián)網(wǎng) iot studio應(yīng)用開發(fā))

圖4 車聯(lián)網(wǎng)數(shù)據(jù)流

如圖4所示,物聯(lián)網(wǎng)終端通過無線/有線網(wǎng)絡(luò)發(fā)送到SCloud IOT平臺,經(jīng)過一系列的處理后存入到各種存儲引擎中,業(yè)務(wù)可以通過數(shù)據(jù)交換接口來訪問處理后的數(shù)據(jù)。具體流程如下:

  1. 車載設(shè)備或者傳感器設(shè)備通過網(wǎng)絡(luò)經(jīng)過LVS/F5負載均衡將數(shù)據(jù)發(fā)送至網(wǎng)關(guān);
  2. 網(wǎng)關(guān)接收到數(shù)據(jù)后進行公共協(xié)議解析,然后把解析后的數(shù)據(jù)發(fā)給Kafka,存放在原始數(shù)據(jù)Topic;
  3. 實時計算任務(wù)從原始數(shù)據(jù)Topic中讀取數(shù)據(jù)經(jīng)過數(shù)據(jù)清洗后發(fā)送至原始數(shù)據(jù)解析模塊;
  4. 原始數(shù)據(jù)解析模塊將解析出來的車輛的參數(shù)發(fā)送至Kafka解析數(shù)據(jù)Topic。然后將解析后的數(shù)據(jù)發(fā)送至報警判斷模塊;
  5. 報警判斷模塊根據(jù)已有規(guī)則進行預(yù)警,并將產(chǎn)生的結(jié)果分別發(fā)送至Kafka的報警數(shù)據(jù)Topic,同時把解析后的數(shù)據(jù)發(fā)送至當(dāng)前狀態(tài)分析模塊;
  6. 當(dāng)前狀態(tài)分析模塊對車輛當(dāng)前狀態(tài)進行分析,如果狀態(tài)有變化則更新至Redis;
  7. 數(shù)據(jù)導(dǎo)入模塊異步的將Kafka中的數(shù)據(jù)分別導(dǎo)入HBase和HDFS;
  8. 離線計算則周期性地從HDFS中讀取數(shù)據(jù)進行各種報表分析和數(shù)據(jù)挖掘;
  9. 用戶業(yè)務(wù)平臺和管理平臺可通過數(shù)據(jù)交換接口訪問SCloud IOT平臺數(shù)據(jù)。

5.2 性能對比

表1是視云智慧為某個大型工程機械集團做的平臺升級前后的性能指標(biāo)對比情況,其中老平臺是傳統(tǒng)的基于IOE的解決方案,硬件環(huán)境包括IBM的小型機、EMC的存儲和Oracle RAC,新平臺是基于SCloud IOT的解決方案,使用的硬件是30臺左右X86架構(gòu)服務(wù)器,服務(wù)器中自帶存儲。

該工程機械集團注冊終端數(shù)接近15萬,每個終端分布在全國各地,每隔30秒發(fā)送一條數(shù)據(jù)到平臺,上傳的數(shù)據(jù)包含工程機械設(shè)備的位置、工況等信息,該企業(yè)會對上報的數(shù)據(jù)進行分析,用于生產(chǎn)、經(jīng)營的改善。

iot 物聯(lián)網(wǎng)大數(shù)據(jù)平臺軟件開發(fā)架構(gòu)案例解析以及定制開發(fā)(物聯(lián)網(wǎng) iot studio應(yīng)用開發(fā))

表1 性能指標(biāo)對比

6 結(jié)束語

從研發(fā)到正式商用,耗時一年半, SCloud IOT經(jīng)歷了三個階段:

第一個階段是封閉研發(fā)階段。SCloud IOT平臺最初的研發(fā)緣于公司一個客戶的迫切需求,原有的數(shù)據(jù)平臺隨著業(yè)務(wù)量擴大,性能捉襟見肘,經(jīng)常出現(xiàn)宕機的情況,已經(jīng)無法支撐正常的業(yè)務(wù)需求。為了更好的為客戶服務(wù),我們決定對老平臺進行升級,目標(biāo)是用業(yè)界最新的大數(shù)據(jù)技術(shù)來解決老平臺的性能問題。經(jīng)過半年多的時間,我們發(fā)布了新平臺,為了不影響客戶業(yè)務(wù)的正常開展,決定新老平臺同時運行。幾個月后,經(jīng)過對比,新平臺在性能、高可用性、可運維性等方面都完勝老平臺。

第二個階段是拓展階段。SCloud IOT平臺在第一個客戶成功上線后,公司開始在物聯(lián)網(wǎng)的諸多領(lǐng)域推廣這個產(chǎn)品,但推廣的過程不是很順利。一方面,由于目前物聯(lián)網(wǎng)領(lǐng)域還沒有一個統(tǒng)一的標(biāo)準(zhǔn),不同企業(yè)、不同物聯(lián)網(wǎng)終端都有自己的非標(biāo)協(xié)議,我們在數(shù)據(jù)接入、協(xié)議解析、存儲方面都要進行不同程度的定制。另一方面,隨著上線的案例越來越多,我們原來的平臺架構(gòu)也暴露出很多問題,針對這些問題,我們做了很多調(diào)整,比如將網(wǎng)絡(luò)通訊組件由Mina替換成Netty,引入了KV數(shù)據(jù)庫,對Hadoop、Hbase和Kafka等進行了大版本的升級。在這個階段,雖然SCloud IOT平臺在不同的行業(yè)都有成功案例,但團隊做的還是很辛苦。于是把物聯(lián)網(wǎng)平臺進行封裝以滿足大多數(shù)場景的需求就顯得迫在眉睫,SCloud IOT的產(chǎn)品化就此應(yīng)需而生。

第三個階段是產(chǎn)品化階段。在此階段,我們對數(shù)據(jù)接入、計算、存儲、交換等各個環(huán)節(jié)進行了封裝;累計開發(fā)了超過100種行業(yè)協(xié)議;抽象出了3個SDK,便于用戶基于平臺定制自己的新協(xié)議和業(yè)務(wù)處理模塊;完善了監(jiān)控和報警,形成一個完整的運維閉環(huán);實現(xiàn)了安裝部署、管理和運維的界面化操作;提供了標(biāo)準(zhǔn)版和簡化版來滿足不同規(guī)模的客戶需求。經(jīng)歷了半年多努力,SCloud IOT平臺終于實現(xiàn)了產(chǎn)品化。

在產(chǎn)品迭代的過程中,我們經(jīng)歷過產(chǎn)品初次上線成功的喜悅,也經(jīng)歷過產(chǎn)品拓展過程中的迷茫。項目組也從最初的五六人,到幾十個人初具規(guī)模的研發(fā)團隊。目前,SCloud IOT平臺正式注冊了商標(biāo),申請了軟件著作權(quán)和四項物聯(lián)網(wǎng)大數(shù)據(jù)領(lǐng)域的發(fā)明專利,產(chǎn)品在各個方面都有非常大的提升,希望今后可以給更多的企業(yè)提供物聯(lián)網(wǎng)平臺端解決方案。

7 定制開發(fā)附圖

iot 物聯(lián)網(wǎng)大數(shù)據(jù)平臺軟件開發(fā)架構(gòu)案例解析以及定制開發(fā)(物聯(lián)網(wǎng) iot studio應(yīng)用開發(fā))

iot 物聯(lián)網(wǎng)大數(shù)據(jù)平臺軟件開發(fā)架構(gòu)案例解析以及定制開發(fā)(物聯(lián)網(wǎng) iot studio應(yīng)用開發(fā))

iot 物聯(lián)網(wǎng)大數(shù)據(jù)平臺軟件開發(fā)架構(gòu)案例解析以及定制開發(fā)(物聯(lián)網(wǎng) iot studio應(yīng)用開發(fā))

8 關(guān)注加私信 "技術(shù)大牛"

iot 物聯(lián)網(wǎng)大數(shù)據(jù)平臺軟件開發(fā)架構(gòu)案例解析以及定制開發(fā)(物聯(lián)網(wǎng) iot studio應(yīng)用開發(fā))

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
在線咨詢
分享本頁
返回頂部