本發(fā)明涉及可視化技術(shù)領(lǐng)域,具體而言,涉及一種智能設(shè)備數(shù)據(jù)可視化方法及系統(tǒng)。
背景技術(shù):
隨著智能設(shè)備的普及,數(shù)據(jù)量越來(lái)越大,設(shè)備種類(lèi)越來(lái)越多,用戶(hù)的可視化需求越來(lái)越多樣化,傳統(tǒng)的數(shù)據(jù)可視化方法,在功能上和性能上越來(lái)越無(wú)法滿(mǎn)足客戶(hù)的需求?,F(xiàn)有的數(shù)據(jù)可視化方法具有如下缺點(diǎn):
(1)需要預(yù)先配置可視化需要的數(shù)據(jù)和模型,數(shù)據(jù)寫(xiě)入時(shí),根據(jù)數(shù)據(jù)模型實(shí)時(shí)計(jì)算得到可視化數(shù)據(jù),不能同時(shí)支持多種智能設(shè)備的各種復(fù)雜需求,只支持平均值,總數(shù)等簡(jiǎn)單需求;
(2)需要專(zhuān)用的數(shù)據(jù)查詢(xún)?cè)O(shè)備,從數(shù)據(jù)庫(kù)中獲取全量數(shù)據(jù),然后經(jīng)過(guò)處理后,返回給儀表盤(pán)或用戶(hù),不支持通用并且簡(jiǎn)單的數(shù)據(jù)查詢(xún)接口;
(3)無(wú)法滿(mǎn)足高頻率、大數(shù)據(jù)量的的可視化數(shù)據(jù)的查詢(xún)。
技術(shù)實(shí)現(xiàn)要素:
為解決上述問(wèn)題,本發(fā)明的目的在于提供一種智能設(shè)備數(shù)據(jù)可視化方法及系統(tǒng),既能滿(mǎn)足各種智能設(shè)備的多樣性功能需求,又能滿(mǎn)足各種智能設(shè)備大數(shù)據(jù)量的數(shù)據(jù)查詢(xún)需求。
本發(fā)明提供了一種智能設(shè)備數(shù)據(jù)可視化方法,該方法包括:
步驟1,寫(xiě)入多個(gè)智能設(shè)備待處理的原始數(shù)據(jù),包括時(shí)序數(shù)據(jù)和狀態(tài)數(shù)據(jù),將所述時(shí)序數(shù)據(jù)和所述狀態(tài)數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)存儲(chǔ)模塊中;
步驟2,根據(jù)預(yù)定義的預(yù)計(jì)算配置模型,將寫(xiě)入的多個(gè)智能設(shè)備最近的原始數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理,并將原始數(shù)據(jù)和預(yù)處理后的數(shù)據(jù)均寫(xiě)入數(shù)據(jù)緩存模塊中;
步驟3,用戶(hù)通過(guò)數(shù)據(jù)聚合模塊的數(shù)據(jù)查詢(xún)接口對(duì)原始數(shù)據(jù)進(jìn)行可視化查詢(xún),并將聚合查詢(xún)的結(jié)果數(shù)據(jù)緩存在所述數(shù)據(jù)緩存模塊中;
步驟4,在所述數(shù)據(jù)緩存模塊中查詢(xún)結(jié)果數(shù)據(jù)是否存在,如果結(jié)果數(shù)據(jù)在所述數(shù)據(jù)緩存模塊中存在,則直接從所述數(shù)據(jù)緩存模塊中獲取結(jié)果數(shù)據(jù),如果結(jié)果數(shù)據(jù)在所述數(shù)據(jù)緩存模塊中不存在,則執(zhí)行步驟5;
步驟5,從所述數(shù)據(jù)緩存模塊中獲取最近的原始數(shù)據(jù),如果原始數(shù)據(jù)存在,則直接從所述數(shù)據(jù)緩存模塊中獲取原始數(shù)據(jù),如果原始數(shù)據(jù)不存在,則執(zhí)行步驟6;
步驟6,用戶(hù)根據(jù)查詢(xún)條件從所述數(shù)據(jù)存儲(chǔ)模塊中查詢(xún)?cè)紨?shù)據(jù);
步驟7,把查詢(xún)到的原始數(shù)據(jù)通過(guò)所述數(shù)據(jù)聚合模塊的繪圖接口進(jìn)行可視化展示。
作為本發(fā)明進(jìn)一步的改進(jìn),步驟1中所述數(shù)據(jù)存儲(chǔ)模塊包括時(shí)序數(shù)據(jù)存儲(chǔ)系統(tǒng)和狀態(tài)數(shù)據(jù)存儲(chǔ)系統(tǒng),所述時(shí)序數(shù)據(jù)以追加的方式寫(xiě)入所述時(shí)序數(shù)據(jù)存儲(chǔ)系統(tǒng),所述狀態(tài)數(shù)據(jù)以更新的方式寫(xiě)入所述狀態(tài)數(shù)據(jù)存儲(chǔ)系統(tǒng)。
作為本發(fā)明進(jìn)一步的改進(jìn),所述時(shí)序數(shù)據(jù)存儲(chǔ)系統(tǒng)為基于lsm結(jié)構(gòu)的cassandra/hbase存儲(chǔ)系統(tǒng),所述狀態(tài)數(shù)據(jù)存儲(chǔ)系統(tǒng)為mysql關(guān)系數(shù)據(jù)庫(kù)。
作為本發(fā)明進(jìn)一步的改進(jìn),步驟3中的數(shù)據(jù)查詢(xún)接口為restful格式,可視化查詢(xún)的參數(shù)為:時(shí)間區(qū)間、時(shí)區(qū)、數(shù)據(jù)取樣間隔、數(shù)據(jù)過(guò)濾參數(shù)、可視化數(shù)據(jù)源和聚合方法。
作為本發(fā)明進(jìn)一步的改進(jìn),時(shí)間區(qū)間包括相對(duì)時(shí)間和絕對(duì)時(shí)間。
作為本發(fā)明進(jìn)一步的改進(jìn),聚合方法包括最小值方法、最大值方法、平均值方法、方差方法和分布方法。
作為本發(fā)明進(jìn)一步的改進(jìn),所述可視化數(shù)據(jù)源為寫(xiě)入的多個(gè)智能設(shè)備。
本發(fā)明還提供了一種智能設(shè)備數(shù)據(jù)可視化系統(tǒng),包括:
寫(xiě)入數(shù)據(jù)單元,用于寫(xiě)入多個(gè)智能設(shè)備待處理的原始數(shù)據(jù),包括時(shí)序數(shù)據(jù)和狀態(tài)數(shù)據(jù),將所述時(shí)序數(shù)據(jù)和所述狀態(tài)數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)存儲(chǔ)模塊中;
預(yù)計(jì)算配置單元,用于根據(jù)預(yù)定義的預(yù)計(jì)算配置模型,將寫(xiě)入的多個(gè)智能設(shè)備最近的原始數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理,并將這些原始數(shù)據(jù)寫(xiě)入數(shù)據(jù)緩存模塊中;
繪圖數(shù)據(jù)聚合單元,用戶(hù)通過(guò)數(shù)據(jù)聚合模塊的數(shù)據(jù)查詢(xún)接口對(duì)原始數(shù)據(jù)進(jìn)行可視化查詢(xún),并將聚合查詢(xún)的結(jié)果數(shù)據(jù)緩存在所述數(shù)據(jù)緩存模塊中;在所述數(shù)據(jù)緩存模塊中查詢(xún)結(jié)果數(shù)據(jù)緩存是否存在,如果結(jié)果數(shù)據(jù)緩存存在,則直接從所述數(shù)據(jù)緩存模塊中獲取結(jié)果數(shù)據(jù),如果結(jié)果數(shù)據(jù)緩存不存在,則從所述數(shù)據(jù)緩存模塊中獲取最近的原始數(shù)據(jù),如果原始數(shù)據(jù)存在,則直接從所述數(shù)據(jù)緩存模塊中獲取原始數(shù)據(jù),如果原始數(shù)據(jù)不存在,則用戶(hù)根據(jù)查詢(xún)條件從所述數(shù)據(jù)存儲(chǔ)模塊中查詢(xún)?cè)紨?shù)據(jù);把查詢(xún)到的原始數(shù)據(jù)通過(guò)所述數(shù)據(jù)聚合模塊的繪圖接口進(jìn)行可視化展示。
作為本發(fā)明進(jìn)一步的改進(jìn),所述數(shù)據(jù)存儲(chǔ)模塊包括時(shí)序數(shù)據(jù)存儲(chǔ)系統(tǒng)和狀態(tài)數(shù)據(jù)存儲(chǔ)系統(tǒng),所述時(shí)序數(shù)據(jù)以追加的方式寫(xiě)入所述時(shí)序數(shù)據(jù)存儲(chǔ)系統(tǒng),所述狀態(tài)數(shù)據(jù)以更新的方式寫(xiě)入所述狀態(tài)數(shù)據(jù)存儲(chǔ)系統(tǒng)。
作為本發(fā)明進(jìn)一步的改進(jìn),所述數(shù)據(jù)緩存模塊用于緩存智能設(shè)備的最近的原始數(shù)據(jù)或聚合查詢(xún)的結(jié)果數(shù)據(jù)。
本發(fā)明的有益效果為:
1、同時(shí)使用了兩套數(shù)據(jù)存儲(chǔ)系統(tǒng):時(shí)序數(shù)據(jù)存儲(chǔ)系統(tǒng)和狀態(tài)數(shù)據(jù)存儲(chǔ)系統(tǒng),使得在功能和性能上支持各種智能設(shè)備數(shù)據(jù)的可視化需求;
2、數(shù)據(jù)聚合功能支持多種可視化數(shù)據(jù)需求,包括:時(shí)間區(qū)間,時(shí)區(qū),取樣間隔,空值填充方法,可視化數(shù)據(jù)源,聚合方法等等;
3、預(yù)計(jì)算配置模型支持大量數(shù)據(jù)的可視化聚合需求;
4、根據(jù)設(shè)備數(shù)據(jù)可視化的特點(diǎn),設(shè)計(jì)了兩套緩存:結(jié)果數(shù)據(jù)緩存和最近原始數(shù)據(jù)緩存。
附圖說(shuō)明
圖1為本發(fā)明第一實(shí)施例所述的一種智能設(shè)備數(shù)據(jù)可視化方法的流程示意圖。
具體實(shí)施方式
下面通過(guò)具體的實(shí)施例并結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步的詳細(xì)描述。
實(shí)施例1,如圖1所示,本發(fā)明第一實(shí)施例所述的一種智能設(shè)備數(shù)據(jù)可視化方法,該方法包括:
步驟1,寫(xiě)入多個(gè)智能設(shè)備待處理的原始數(shù)據(jù),包括時(shí)序數(shù)據(jù)和狀態(tài)數(shù)據(jù),將時(shí)序數(shù)據(jù)和狀態(tài)數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)存儲(chǔ)模塊中;其中,數(shù)據(jù)存儲(chǔ)模塊包括時(shí)序數(shù)據(jù)存儲(chǔ)系統(tǒng)和狀態(tài)數(shù)據(jù)存儲(chǔ)系統(tǒng),時(shí)序數(shù)據(jù)以追加的方式寫(xiě)入時(shí)序數(shù)據(jù)存儲(chǔ)系統(tǒng),狀態(tài)數(shù)據(jù)以更新的方式寫(xiě)入狀態(tài)數(shù)據(jù)存儲(chǔ)系統(tǒng);時(shí)序數(shù)據(jù)存儲(chǔ)系統(tǒng)為基于lsm結(jié)構(gòu)的cassandra/hbase存儲(chǔ)系統(tǒng),這種系統(tǒng)容易擴(kuò)展,并且最新數(shù)據(jù)在內(nèi)存,適合存儲(chǔ)基于時(shí)間不斷增長(zhǎng),數(shù)據(jù)量大,并且有時(shí)效性的智能設(shè)備時(shí)序數(shù)據(jù);狀態(tài)數(shù)據(jù)存儲(chǔ)系統(tǒng)為mysql關(guān)系數(shù)據(jù)庫(kù),功能強(qiáng)大,用于支撐用戶(hù)對(duì)于最新數(shù)據(jù)的多維度的數(shù)據(jù)分析,狀態(tài)數(shù)據(jù)數(shù)據(jù)量較小。
步驟2,根據(jù)預(yù)定義的預(yù)計(jì)算配置模型,將寫(xiě)入的多個(gè)智能設(shè)備最近的原始數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理,并將這些原始數(shù)據(jù)寫(xiě)入數(shù)據(jù)緩存模塊中。
步驟3,用戶(hù)通過(guò)數(shù)據(jù)聚合模塊的數(shù)據(jù)查詢(xún)接口對(duì)原始數(shù)據(jù)進(jìn)行可視化查詢(xún),并將聚合查詢(xún)的結(jié)果數(shù)據(jù)緩存在數(shù)據(jù)緩存模塊中;其中,數(shù)據(jù)查詢(xún)接口為restful格式,可視化查詢(xún)的參數(shù)為:時(shí)間區(qū)間、時(shí)區(qū)、數(shù)據(jù)取樣間隔、數(shù)據(jù)過(guò)濾參數(shù)、可視化數(shù)據(jù)源和聚合方法,時(shí)間區(qū)間包括相對(duì)時(shí)間和絕對(duì)時(shí)間,聚合方法包括最小值方法、最大值方法、平均值方法、方差方法和分布方法,可視化數(shù)據(jù)源為寫(xiě)入的多個(gè)智能設(shè)備。
步驟4,在數(shù)據(jù)緩存模塊中查詢(xún)結(jié)果數(shù)據(jù)是否存在,如果結(jié)果數(shù)據(jù)在數(shù)據(jù)緩存模塊中存在,則直接從數(shù)據(jù)緩存模塊中獲取結(jié)果數(shù)據(jù),如果結(jié)果數(shù)據(jù)在數(shù)據(jù)緩存模塊中不存在,則執(zhí)行步驟5。
步驟5,從數(shù)據(jù)緩存模塊中獲取最近的原始數(shù)據(jù),如果原始數(shù)據(jù)存在,則直接從數(shù)據(jù)緩存模塊中獲取原始數(shù)據(jù),如果原始數(shù)據(jù)不存在,則執(zhí)行步驟6。
步驟6,用戶(hù)根據(jù)查詢(xún)條件從數(shù)據(jù)存儲(chǔ)模塊中查詢(xún)?cè)紨?shù)據(jù)。
步驟7,把查詢(xún)到的原始數(shù)據(jù)通過(guò)數(shù)據(jù)聚合模塊的繪圖接口進(jìn)行可視化展示。
實(shí)施例2,本發(fā)明第二實(shí)施例所述的一種智能設(shè)備數(shù)據(jù)可視化系統(tǒng),包括:
寫(xiě)入數(shù)據(jù)單元,用于寫(xiě)入多個(gè)智能設(shè)備待處理的原始數(shù)據(jù),包括時(shí)序數(shù)據(jù)和狀態(tài)數(shù)據(jù),將時(shí)序數(shù)據(jù)和狀態(tài)數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)存儲(chǔ)模塊中;數(shù)據(jù)存儲(chǔ)模塊包括時(shí)序數(shù)據(jù)存儲(chǔ)系統(tǒng)和狀態(tài)數(shù)據(jù)存儲(chǔ)系統(tǒng),時(shí)序數(shù)據(jù)以追加的方式寫(xiě)入時(shí)序數(shù)據(jù)存儲(chǔ)系統(tǒng),狀態(tài)數(shù)據(jù)以更新的方式寫(xiě)入狀態(tài)數(shù)據(jù)存儲(chǔ)系統(tǒng)。時(shí)序數(shù)據(jù)存儲(chǔ)系統(tǒng)支持基于單個(gè)智能設(shè)備在一個(gè)時(shí)區(qū)區(qū)間的的數(shù)據(jù)的可視化數(shù)據(jù)查詢(xún),如一個(gè)智能設(shè)備在最近一周的數(shù)據(jù)變化曲線;狀態(tài)數(shù)據(jù)存儲(chǔ)系統(tǒng)支持大量智能設(shè)備在最新時(shí)間點(diǎn)的數(shù)據(jù)可視化分析,如當(dāng)前所有智能設(shè)備的運(yùn)行狀態(tài)等。
預(yù)計(jì)算配置單元,用于根據(jù)預(yù)定義的預(yù)計(jì)算配置模型,將寫(xiě)入的多個(gè)智能設(shè)備最近的原始數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理,并將這些原始數(shù)據(jù)寫(xiě)入數(shù)據(jù)緩存模塊中;預(yù)計(jì)算配置單元可以支持工業(yè)智能設(shè)備大量的數(shù)據(jù)可視化需求,根據(jù)用戶(hù)提前配置的規(guī)則,在數(shù)據(jù)寫(xiě)入的時(shí)候,就完成計(jì)算,查詢(xún)時(shí),可以快速滿(mǎn)足用戶(hù)的需求。
數(shù)據(jù)聚合單元,用戶(hù)通過(guò)數(shù)據(jù)聚合模塊的數(shù)據(jù)查詢(xún)接口對(duì)原始數(shù)據(jù)進(jìn)行可視化查詢(xún),并將聚合查詢(xún)的結(jié)果數(shù)據(jù)緩存在數(shù)據(jù)緩存模塊中;在數(shù)據(jù)緩存模塊中查詢(xún)結(jié)果數(shù)據(jù)緩存是否存在,如果結(jié)果數(shù)據(jù)緩存存在,則直接從數(shù)據(jù)緩存模塊中獲取結(jié)果數(shù)據(jù),如果結(jié)果數(shù)據(jù)緩存不存在,則從數(shù)據(jù)緩存模塊中獲取最近的原始數(shù)據(jù),如果原始數(shù)據(jù)存在,則直接從數(shù)據(jù)緩存模塊中獲取原始數(shù)據(jù),如果原始數(shù)據(jù)不存在,則用戶(hù)根據(jù)查詢(xún)條件從數(shù)據(jù)存儲(chǔ)模塊中查詢(xún)?cè)紨?shù)據(jù);把查詢(xún)到的原始數(shù)據(jù)通過(guò)數(shù)據(jù)聚合模塊的繪圖接口進(jìn)行可視化展示。其中,數(shù)據(jù)緩存模塊用于緩存智能設(shè)備的最近的原始數(shù)據(jù)或聚合查詢(xún)的結(jié)果數(shù)據(jù),支持用戶(hù)對(duì)最近常用數(shù)據(jù)可視化查詢(xún)需求;數(shù)據(jù)聚合模塊支持各種復(fù)雜的可視化查詢(xún),如時(shí)間區(qū)間(相對(duì)時(shí)間,絕對(duì)時(shí)間)、聚合方法(最小值,最大值,平均值,方差,分布)、數(shù)據(jù)取樣、數(shù)據(jù)過(guò)濾規(guī)則等查詢(xún)。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。