最近中文字幕2019高清,亚洲人成高清在线播放,男生淦哭男生图片动漫有字,国产亚洲精品九九久在线观看,无码av专区丝袜专区

解決方案:IoT 物聯(lián)網(wǎng)場(chǎng)景中數據采集-存儲-分析最佳實(shí)踐

優(yōu)采云 發(fā)布時(shí)間: 2022-11-26 12:55

  解決方案:IoT 物聯(lián)網(wǎng)場(chǎng)景中數據采集-存儲-分析最佳實(shí)踐

  近年來(lái),物聯(lián)網(wǎng)技術(shù)的快速發(fā)展已廣泛應用于智慧出行、智慧工業(yè)、智能家居等場(chǎng)景,無(wú)論何種應用場(chǎng)景,都離不開(kāi)數據的“采集-處理-存儲-分析”過(guò)程。但是,不同的應用程序具有非常不同的數據特征和業(yè)務(wù)需求,因此實(shí)現上述流程所需的產(chǎn)品組件也是如此。一般來(lái)說(shuō),我們可以根據應用和數據特性將場(chǎng)景分為三類(lèi):時(shí)間序列數據、消息數據和元數據。

  以智能汽車(chē)場(chǎng)景為例,車(chē)輛會(huì )定期更新當前的最新?tīng)顟B(tài)信息,如當前發(fā)動(dòng)機轉速、當前車(chē)速等,這些描述車(chē)輛最新?tīng)顟B(tài)信息的數據稱(chēng)為元數據。在智能汽車(chē)的行駛過(guò)程中,車(chē)輛的狀態(tài)數據會(huì )隨著(zhù)時(shí)間的推移而變化,例如車(chē)輛在一段時(shí)間內的速度和胎壓,這些描述車(chē)輛歷史狀態(tài)信息的數據稱(chēng)為時(shí)間序列數據。

  還有一個(gè)數據場(chǎng)景是命令消息即控制車(chē)輛

  的行為,如調節車(chē)輛空調溫度的命令和車(chē)輛執行命令后的結果反饋,這些控制指令的上下稱(chēng)為消息數據。不同類(lèi)型的數據應用程序有不同的場(chǎng)景,因此對存儲系統的要求也不同。

  本文分析了設備元數據方案的業(yè)務(wù)需求,以及如何選擇合適的存儲組件和實(shí)現解決方案。

  物聯(lián)網(wǎng)數據方案要求

  首先,以工業(yè)設備元數據場(chǎng)景為例,分析有哪些具體的業(yè)務(wù)需求。

  在工業(yè)生產(chǎn)過(guò)程中,設備通常以固定周期(或事件觸發(fā))上報最新的運行狀態(tài)信息,即上述設備元數據,如設備ID、當前工作溫度、濕度、壓力值等。在業(yè)務(wù)中,設備基于設備元數據進(jìn)行管理,例如查詢(xún)設備的當前運行狀態(tài),在線(xiàn)搜索具有多個(gè)條件的設備,以及“圈出”符合條件的設備集合。通過(guò)分析設備元數據,實(shí)時(shí)監控設備的運行狀態(tài),及時(shí)響應異常情況,避免故障。

  讓我們簡(jiǎn)要總結一下業(yè)務(wù)需求:

  a. 定期上報設備狀態(tài)數據,并通過(guò)數據網(wǎng)關(guān)存儲在云中。

  二.存儲端需要能夠支持*敏*感*詞*設備元數據的實(shí)時(shí)更新。

  三.存儲端需要支持基于任何設備索引作為條件的搜索設備。如果查詢(xún)設備數量較少,我們稱(chēng)之為“設備檢索”;如果您一次找到的設備數量非常大,我們稱(chēng)之為“設備標記”。

  d.設備狀態(tài)更新后,存儲端需要支持異常狀態(tài)的實(shí)時(shí)監控。

  物聯(lián)網(wǎng)數據技術(shù)難點(diǎn)

  根據以上場(chǎng)景需求,我們可以總結一下存儲端幾個(gè)功能的需求:存儲

  規模:支持海量設備元數據存儲,可能達到數千萬(wàn)甚至數億。

  實(shí)時(shí)更新:支持高并發(fā)、低延遲的數據更新。

  任意字段組合

  檢索:可以根據一個(gè)或多個(gè)字段值組合條件檢索設備元數據支持并發(fā)檢索

 ?。涸谠O備標記量較大的場(chǎng)景下,需要并發(fā)檢索來(lái)提高標記性能。數據更新的實(shí)時(shí)計算

 ?。耗軌驒z測數據更新并對更新的數據執行實(shí)時(shí)計算。

  物聯(lián)網(wǎng)數據存儲選擇

  元數據存儲場(chǎng)景對數據庫規模、性能、查詢(xún)能力等方面都有很高的要求。一般來(lái)說(shuō),關(guān)系型數據庫MySQL是存儲選擇的首選,因為MySQL是最通用和熟悉的數據庫產(chǎn)品。但是,MySQL 在小規模數據存儲(千萬(wàn)級)和低并發(fā)數據更新(QPS 在 10,000 以?xún)龋┓矫嫫毡楸憩F良好,當規模變大時(shí),MySQL 的性能會(huì )急劇下降,這顯然不符合元數據存儲的要求。此時(shí),

  你可能會(huì )想到使用開(kāi)源數據庫HBase,因為HBase的分布式架構可以支持*敏*感*詞*的數據存儲和寫(xiě)入,可以滿(mǎn)足此時(shí)元數據存儲的需求。但是,HBase 僅支持基于主鍵 (RowKey) 的查詢(xún),無(wú)法在屬性列上構建索引查詢(xún),因此檢索和標記設備的效率極低,在極端情況下,可能會(huì )以全表掃描和數據過(guò)濾的方式查詢(xún)數據,無(wú)法滿(mǎn)足上述要求。

  最后,我們來(lái)看看表格存儲 Tablestore,這是一款云原生無(wú)服務(wù)器結構化數據存儲,原生具有*敏*感*詞*數據存儲和低延遲數據更新,并提供多種索引功能,可以支持任意字段組合檢索,是物聯(lián)網(wǎng)平臺所依賴(lài)的核心數據存儲系統,支持數億臺設備的元數據管理。下面總結了上述存儲產(chǎn)品在實(shí)現元數據存儲方案方面的功能:

  表格存儲技術(shù)介紹

  表格存儲 Tablestore是一款云上的結構化數據存儲產(chǎn)品,具有極其豐富的產(chǎn)品功能和生態(tài),提供物聯(lián)網(wǎng)存儲Iotstore、寬表引擎、多索引等能力,滿(mǎn)足時(shí)序數據、消息數據、元數據場(chǎng)景的需求。本文不介紹時(shí)序和消息數據方案的解決方案。我們來(lái)看看表格存儲提供了哪些能力來(lái)滿(mǎn)足元數據存儲場(chǎng)景的需求。表格存儲采用多引擎存儲架構,不同場(chǎng)景的實(shí)現原理不同,我們來(lái)看一個(gè)圖:

  寬表引擎是負責存儲和更新設備元數據的分布式數據表。寬表引擎采用多個(gè)分區的分布式結構,每個(gè)分區對應一個(gè)worker。在元數據寫(xiě)入過(guò)程中,路由節點(diǎn)根據主鍵的范圍將寫(xiě)入請求路由到不同的分區進(jìn)行處理,當一個(gè)分區的負載達到瓶頸時(shí),服務(wù)器會(huì )自動(dòng)拆分為多個(gè)分區,這樣寬表引擎的整體吞吐能力可以線(xiàn)性提升。如下圖所示:

  與寬表引擎相比,索引引擎在底層采用倒排索引、空間索引等存儲結構,可支持任意數據組合檢索和聚合。索引引擎提供兩個(gè)查詢(xún)接口:搜索和并行掃描。

  Tablestore 提供了連接 Flink 實(shí)時(shí)計算的能力,可以作為 Flink 的數據源表,將實(shí)時(shí)變化的設備元數據推送到 Flink 進(jìn)行計算,從而實(shí)現元數據檢測的業(yè)務(wù)場(chǎng)景。同時(shí)支持將計算結果寫(xiě)入表格存儲的數據表,記錄異常數據結果。

  共享元數據的要求后存儲場(chǎng)景

  和表格存儲的技術(shù)原理,我們來(lái)看看如何為設備元數據場(chǎng)景構建物聯(lián)網(wǎng)架構。物聯(lián)網(wǎng)數據上報網(wǎng)關(guān)后,根據不同的應用類(lèi)型,一般有三種數據流:應用服務(wù)器訂閱消費、持久存儲和轉發(fā)到消息隊列。設備元數據的主要要求是存儲和計算,因此我們可以列出一個(gè)簡(jiǎn)單的數據流過(guò)程:網(wǎng)關(guān)>存儲>流計算。下面將通過(guò)物聯(lián)網(wǎng)平臺+表格存儲+Flink來(lái)介紹元數據管理平臺。

  物聯(lián)網(wǎng) + 表格存儲 + Flink

  下圖顯示了基于云構建的元數據管理平臺的架構

  上面的架構圖收錄

三個(gè)組件:物聯(lián)網(wǎng)平臺、表格存儲和實(shí)時(shí)計算 Flink。架構中每個(gè)模塊的角色和功能如下:

  開(kāi)發(fā)實(shí)踐

  假設某工業(yè)廠(chǎng)商擁有100萬(wàn)臺智能設備,每臺設備定期更新自己的溫度、濕度、壓力數據等狀態(tài)數據,并準備使用上述方案架構構建元數據管理平臺。

  數據大?。? 億行

  數據結構:如以下 SQL 語(yǔ)句所示:

  CREATE TABLE device_meta_data (

device_name varchar(100), -- 設備名

humidity decimal(5,2), -- 設備當前濕度

<p>

" />

pressure decimal(5,2), -- 設備當前壓力值

temperature decimal(5,2), -- 設備當前溫度

location varchar(20), -- 設備位置坐標

timestamp long -- 數據上報時(shí)間戳

);</p>

  1. 創(chuàng )建表格存儲實(shí)例

  首先,您需要在表格存儲中創(chuàng )建一個(gè)實(shí)例元數據-db(數據庫),并創(chuàng )建兩個(gè)device_meta_data名和device_errorResult_data名的數據表來(lái)存儲元數據和異常結果數據,如下圖所示。

  然后,創(chuàng )建元數據表和異常數據表。

  2. 創(chuàng )建物聯(lián)網(wǎng)設備

  在物聯(lián)網(wǎng)平臺控制臺創(chuàng )建產(chǎn)品(product_metadata)、TSM(默認模塊)和設備(test_deviceName)。產(chǎn)品相當于對同一類(lèi)型設備的抽象,而物理模型是設備上報的數據結構的定義。

  配置 TSL 模型

  注冊設備并獲取設備證書(shū)。

  在物聯(lián)網(wǎng)平臺創(chuàng )建解析器,將設備元數據更新主題寫(xiě)入表格存儲,經(jīng)自定義腳本處理后持久化存儲。如下圖所示:

  要創(chuàng )建解析器,您需要分別配置數據源、解析腳本和數據用途。通過(guò) TSL 上報的設備元數據將聚合到名為 /產(chǎn)品名稱(chēng)/設備名稱(chēng)/事物/事件/屬性/帖子的主題中作為數據源,也可以自定義主題。數據的目的是配置需要寫(xiě)入設備元數據的表格存儲實(shí)例名和表名??梢宰远x解析腳本,例如,在這種情況下,將設備的經(jīng)緯度信息組合成寫(xiě)入表格存儲的坐標字符串,如下圖所示:

  通常,設備數據上報

  是基于設備端SDK開(kāi)發(fā)程序向物聯(lián)網(wǎng)平臺上報數據,但為了快速實(shí)現解決方案,本文使用物聯(lián)網(wǎng)平臺提供的設備模擬器上報數據。模擬設備報告了一段數據,如下圖所示:

  3、設備數據的實(shí)時(shí)采集與分析

  設備元數據

  由解析器處理并存儲在表格存儲中,我們已經(jīng)完成了對設備元數據采集

和存儲的所有操作。由于設備模擬器只能模擬生成單個(gè)設備元數據的過(guò)程,為了更接近真實(shí)的業(yè)務(wù)場(chǎng)景,我們直接在表格存儲中生成了 1 億條設備元數據,用于后續步驟。從上面我們可以知道,設備檢索和標記需要依賴(lài) Tablestore 的多元索引函數,所以首先我們需要創(chuàng )建一個(gè)多元索引device_meta_data_index:

  表格存儲提供了多種數據訪(fǎng)問(wèn)方式,如SQL、控制臺、SDK。以SQL為例,首先確認設備元數據是否已通過(guò)SQL正確導入。

  select count(*) from `device_meta_data`;

  查詢(xún)設備元數據以查找 device_name=“test_deviceName”。

  select?*?from?`device_meta_data`?where?device_name?=?&#39;test_deviceName&#39;;

  4. 設備檢索和圈子

  設備檢索和標簽依賴(lài)于表格存儲的多索引功能,分別使用搜索和并行掃描界面。首先是設備檢索,

  設備檢索通常不會(huì )返回比較大的數據結果集,即使滿(mǎn)足查詢(xún)條件的數據量很大,也會(huì )通過(guò)分頁(yè)返回。針對該場(chǎng)景,表格存儲的多索引功能使用倒排索引、空間索引等數據結構來(lái)加快數據檢索速度,如下例所示:

  檢索溫度低于 20 攝氏度、壓力值介于 0.5 kpa 和 1.0 kpa、設備名稱(chēng)以“e3”開(kāi)頭的設備。

  select *

from device_meta_data

where temperature < 20

and?pressure?between?0.5?and?1.0?

and device_name like &#39;e3%&#39;;

  設備標記通常返回的數據量比較大,如果使用SQL,則只能以單并發(fā)方式查詢(xún)返回,顯然不高。針對此場(chǎng)景,表格存儲啟動(dòng)了并行掃描接口來(lái)實(shí)現,并行掃描接口的優(yōu)化如下圖所示:

  在執行設備元數據標記之前,首先調用 ComputeSplit 接口,根據多元索引中的數據量級計算最大可執行查詢(xún)并發(fā)數。然后,以多并發(fā)的方式分別查詢(xún)多個(gè)數據分區,每個(gè)并發(fā)只負責一部分數據的查詢(xún)和返回,可以大大提高數據包圍的速度。舉個(gè)例子:

  所有設備名稱(chēng)以“a”開(kāi)頭且設備溫度低于 10 攝氏度的設備都需要圈出。

  

  //獲取并發(fā)數

int splitsSize = client.computeSplits(computeSplitsRequest).getSplitsSize();

//多線(xiàn)程執行

run(){

ParallelScanRequestparallelScanRequest = ParallelScanRequest.newBuilder().tableName(tableName)

.indexName(indexName)

.scanQuery(ScanQuery.newBuilder()

.query(QueryBuilders.bool()

.must(QueryBuilders.wildcard("device_name","a*"))//查詢(xún)條件

.must(QueryBuilders.range("temperature").lessThan(10))

)

.maxParallel(splitsSize)

//返回當前并發(fā)命中的結果集

RowIterator iterator =client.createParallelScanIterator(parallelScanRequest);

}

  從上面代碼的運行結果可以看出,查詢(xún)的數據結果會(huì )以多并發(fā)的方式返回,每個(gè)并發(fā)收錄

查詢(xún)命中的一部分數據。在*敏*感*詞*數據捕獲和數據導出場(chǎng)景中,parallelScan API 的平均單并發(fā)可以達到 10000/s 以上的查詢(xún)返回速度,查詢(xún)數據量越大,并發(fā)次數越多,大大提高了數據包圍導出的速度。

  5. 設備實(shí)時(shí)監控

  設備的實(shí)時(shí)監控依賴(lài)于Tablestore的通道服務(wù)能力,通道服務(wù)可以直接連接實(shí)時(shí)計算Flink,實(shí)現元數據流計算,如下圖所示

  源表,

  結果表和流計算作業(yè)是在實(shí)時(shí)計算中創(chuàng )建的。源表依賴(lài)于在表格存儲中的設備元數據中創(chuàng )建的增量通道服務(wù),通道服務(wù)將設備元數據的實(shí)時(shí)變化數據推送到 Flink 計算引擎進(jìn)行流計算作業(yè)。本示例中,流計算作業(yè)將設備異常狀態(tài)數據保存到表格存儲的異常結果數據表中,然后通過(guò)異常數據結果表查詢(xún)設備的異常記錄信息。處理異常數據的另一個(gè)業(yè)務(wù)場(chǎng)景是將其推送到 Kafka 等消息隊列進(jìn)行處理,例如告警機制訪(fǎng)問(wèn)和短信通知。

  為了更直觀(guān)地看到流計算作業(yè)的效果,我們可以更新設備元數據表中的一段設備元數據:

  update `device_meta_data` set `pressure` = 2.0 where `device_name` = "test_deviceName"

  經(jīng)過(guò)流計算引擎處理后,數據被確定為異常數據并自動(dòng)寫(xiě)入異常結果數據表。

  select * from `device_errorResult_data` where `device_name` = "test_deviceName"

  總結

  本文分享設備元數據的特征和架構實(shí)踐。在設備元數據場(chǎng)景中,業(yè)務(wù)需求對存儲組件的存儲規模、查詢(xún)模式、計算性能都有很高的要求,從存儲、查詢(xún)、計算幾個(gè)維度對比了 MySQL、HBase、Tablestore 的三款產(chǎn)品,最終選擇表存儲 Tablestore 作為元數據場(chǎng)景的核心倉庫, 并利用Tablestore的上下游生態(tài),打造物聯(lián)網(wǎng)平臺+Tablestore+實(shí)時(shí)計算Flink組合為云架構,實(shí)現設備元數據存儲。

  最后,一張20元優(yōu)惠券邀請您加入中國最大的物聯(lián)網(wǎng)開(kāi)發(fā)者社區,獲取1000+行業(yè)資訊。

  過(guò)往建議

  ? 中國首只云計算股關(guān)閉物聯(lián)網(wǎng)云服務(wù)

  ?2022 年物聯(lián)網(wǎng)平臺趨勢:私有部署

  ? 國內單片機行業(yè)發(fā)展研究報告

  ?2021年4G通信模組企業(yè)排名

  ? 中國四大物聯(lián)網(wǎng)平臺選擇比較

  ? 云供應商的[物聯(lián)網(wǎng)平臺]不是很香嗎?

  多種方法:優(yōu)采云

采集優(yōu)勢以及使用方法.docx

  文檔介紹:優(yōu)采云

云采集優(yōu)勢及使用方法(含定時(shí)云采集)

  首先要說(shuō)明的是,云采集

是優(yōu)采云

采集器

終極版及以上版本的獨有功能,免費版和專(zhuān)業(yè)版沒(méi)有此功能。

  云采集是指使用優(yōu)采云

提供的服務(wù)器集群進(jìn)行工作,集群7*24小時(shí)不間斷工作??蛻?hù)端完成任務(wù)設置并提交至云服務(wù)進(jìn)行云端采集后,即可關(guān)閉軟件,關(guān)閉電腦進(jìn)行離線(xiàn)采集,真正做到無(wú)人值守。另外,云采集采用云服務(wù)器集群分布式部署方式,多個(gè)節點(diǎn)同時(shí)運行,可以提高采集效率,有效規避各種網(wǎng)站的IP封堵策略。

  云采集的優(yōu)點(diǎn):可以關(guān)機運行,也可以設置定時(shí)云采集,加快采集速度,增加采集量。

  云采集設置

  示例網(wǎng)址:

  

" />

  啟動(dòng)云采集有三種方式(立即啟動(dòng),只運行一次)。

  方法一:任務(wù)字段配置完成后,點(diǎn)擊“全選”,點(diǎn)擊“采集以下數據”,選擇“保存并開(kāi)始采集”,進(jìn)入“運行任務(wù)”界面,選擇“開(kāi)始云采集”。在任務(wù)列表中,您將看到正在從云端采集

的任務(wù)。

  如何使用云采集(包括時(shí)序云采集)——圖1

  方法二:在任務(wù)列表頁(yè)面,每個(gè)任務(wù)名稱(chēng)右側都有“開(kāi)始云采集”選項。點(diǎn)擊后任務(wù)會(huì )立即開(kāi)始云采集。

  如何使用云采集(包括時(shí)序云采集)——圖2

  方法三:在任務(wù)列表頁(yè)面,每個(gè)任務(wù)名稱(chēng)右側都有“更多操作”選項。點(diǎn)擊后,在下拉選項中選擇云采集和啟動(dòng),任務(wù)會(huì )立即啟動(dòng)一次云采集。

  如何使用云采集(包括時(shí)序云采集)——圖3

  

" />

  時(shí)序云采集設置

  設置時(shí)序云采集有兩種方式:

  方法一:任務(wù)字段配置完成后,點(diǎn)擊“全選”,“采集以下數據”,“保存并開(kāi)始采集”,進(jìn)入“運行任務(wù)”界面,點(diǎn)擊“設置定時(shí)云采集”,“定時(shí)云采集” 采集

”會(huì )彈出Configuration頁(yè)面(圖4)。首先,如果需要保存時(shí)序設置,在“Saved Settings”輸入框中輸入名稱(chēng),然后保存配置。保存成功后,下次其他任務(wù)需要相同時(shí)序配置時(shí),可以選擇該配置(圖5)。其次,有4種定時(shí)設置,可以根據需要選擇啟動(dòng)方式和啟動(dòng)時(shí)間(圖5)。全部設置完成后,如果需要啟動(dòng)時(shí)序云采集,選擇“

  如何使用云采集(包括時(shí)序云采集)——圖4

  如何使用云采集(包括時(shí)序云采集)——圖5

  方法二:在任務(wù)列表頁(yè)面,每個(gè)任務(wù)名稱(chēng)右側都有“更多操作”選項。點(diǎn)擊后,在下拉選項中選擇云采集設置時(shí)間,也可以進(jìn)行上述操作。

  云采集

0 個(gè)評論

要回復文章請先登錄注冊


官方客服QQ群

微信人工客服

QQ人工客服


線(xiàn)

最近中文字幕2019高清,亚洲人成高清在线播放,男生淦哭男生图片动漫有字,国产亚洲精品九九久在线观看,无码av专区丝袜专区