本發(fā)明涉及物聯(lián)網(wǎng)領(lǐng)域,具體地,涉及一種多元數(shù)據(jù)感知計(jì)算引擎及其中間件數(shù)據(jù)處理方法。
背景技術(shù):
目前,在物聯(lián)網(wǎng)應(yīng)用中,采集的傳感信息主要是以流的形式輸入到智能分析系統(tǒng)中,對(duì)于此類數(shù)據(jù)的處理、存儲(chǔ)與查詢相對(duì)于傳統(tǒng)數(shù)據(jù)庫中的靜態(tài)數(shù)據(jù)操作具有很大的區(qū)別。數(shù)據(jù)流是連續(xù)、實(shí)時(shí)、快速、大量、不可預(yù)測(cè)的一段數(shù)據(jù)項(xiàng)的序列。在物聯(lián)網(wǎng)應(yīng)用中,部署在應(yīng)用環(huán)境中的傳感器種類是多種多樣的,所采集的數(shù)據(jù)也具有很強(qiáng)的異構(gòu)性。多元數(shù)據(jù)感知計(jì)算是進(jìn)行智能分析控制和專家診斷的首要條件。通過傳感器對(duì)整個(gè)園區(qū)的生態(tài)環(huán)境進(jìn)行檢測(cè),從而及時(shí)掌握影響園區(qū)環(huán)境的一些參數(shù),并根據(jù)參數(shù)變化適時(shí)調(diào)控如灌溉系統(tǒng)、保溫系統(tǒng)等,確保農(nóng)作物有最好的生長環(huán)境,以提高產(chǎn)量、保證質(zhì)量。例如在保溫系統(tǒng)中,通過采集、分析和控制土壤濕度、土壤成分、pH值、降水量、溫度、空氣濕度和氣壓、光照強(qiáng)度、CO2濃度等來獲得作物生長的最佳條件,將生物信息獲取方法應(yīng)用于無線傳感器節(jié)點(diǎn),為溫室精準(zhǔn)調(diào)控提供科學(xué)依據(jù)。而數(shù)據(jù)流的特性使的數(shù)據(jù)流處理中存在以下問題,一方面,傳感數(shù)據(jù)流海量性的特征對(duì)數(shù)據(jù)存儲(chǔ)提出了很大挑戰(zhàn),如果將所有數(shù)據(jù)放入數(shù)據(jù)庫中進(jìn)行靜態(tài)存儲(chǔ),不僅造成了存儲(chǔ)空間的浪費(fèi),同時(shí)也降低了查詢效率。另一方面,數(shù)據(jù)流快速、連續(xù)、實(shí)時(shí)的特點(diǎn)使得對(duì)傳感數(shù)據(jù)的分析不能只停留在對(duì)靜態(tài)采樣值數(shù)據(jù)的查詢上。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于,針對(duì)上述問題,提出一種多元數(shù)據(jù)感知計(jì)算引擎及其中間件數(shù)據(jù)處理方法,以實(shí)現(xiàn)對(duì)采樣值進(jìn)行篩選并在有限空間內(nèi)進(jìn)行實(shí)時(shí)、連續(xù)、快速響應(yīng)查詢的優(yōu)點(diǎn)。
為實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案是:
一種多元數(shù)據(jù)感知計(jì)算引擎的中間件數(shù)據(jù)處理方法,包括,通過適配器將接收的不同的數(shù)據(jù)流分流管理;
對(duì)適配器進(jìn)行分流管理后的數(shù)據(jù)流進(jìn)行預(yù)處理并按照預(yù)先設(shè)定的查詢聲明對(duì)數(shù)據(jù)流進(jìn)行連續(xù)查詢;
將連續(xù)查詢所得的結(jié)果按照不同的主題發(fā)布到數(shù)據(jù)總線。
優(yōu)選的,所述對(duì)適配器進(jìn)行分流管理后的數(shù)據(jù)流進(jìn)行預(yù)處理,具體包括標(biāo)準(zhǔn)化處理和錯(cuò)誤值處理,
所述標(biāo)準(zhǔn)化處理,即將接收的數(shù)據(jù),轉(zhuǎn)換為統(tǒng)一的標(biāo)準(zhǔn)格式;
所述錯(cuò)誤值處理:即接收的數(shù)據(jù)包在解包后,首先對(duì)數(shù)據(jù)有效性進(jìn)行判定,如果數(shù)據(jù)不在正常值范圍之內(nèi),則判斷該數(shù)據(jù)包為錯(cuò)誤數(shù)據(jù)包,錯(cuò)誤數(shù)據(jù)包被拋棄,正常值范圍由用戶根據(jù)不同的檢測(cè)值類型而設(shè)置。
優(yōu)選的,所述按照預(yù)先設(shè)定的查詢聲明對(duì)數(shù)據(jù)流進(jìn)行連續(xù)查詢,具體包括為:異常數(shù)據(jù)處理和數(shù)據(jù)統(tǒng)計(jì),
所述異常數(shù)據(jù)處理,即經(jīng)過標(biāo)準(zhǔn)化和錯(cuò)誤值處理后,得到的正確數(shù)據(jù)包實(shí)時(shí)到達(dá)形成數(shù)據(jù)流,中間件內(nèi)的異常值監(jiān)測(cè)聲明對(duì)數(shù)據(jù)流進(jìn)行查詢,異常值監(jiān)測(cè)聲明根據(jù)設(shè)置的安全范圍將異常數(shù)據(jù)提取出來;
所述數(shù)據(jù)統(tǒng)計(jì),即通過在數(shù)據(jù)流中建立數(shù)據(jù)快照,對(duì)快照內(nèi)的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,并將分析的數(shù)據(jù)輸出。
優(yōu)選的,所述異常數(shù)據(jù)處理具體數(shù)據(jù)流程為:
中間件接收的數(shù)據(jù)包內(nèi)存儲(chǔ)了傳感器ID、發(fā)送時(shí)間與感應(yīng)數(shù)值,數(shù)據(jù)包實(shí)時(shí)到達(dá)形成數(shù)據(jù)流進(jìn)入數(shù)據(jù)流中間件中,中間件利用異常值監(jiān)測(cè)聲明對(duì)數(shù)據(jù)流進(jìn)行查詢,異常值監(jiān)測(cè)聲明建立了兩個(gè)層次的窗口,首先為每一個(gè)獨(dú)立傳感器節(jié)點(diǎn)建立了一個(gè)單獨(dú)的數(shù)據(jù)流,在此基礎(chǔ)之上,異常值監(jiān)測(cè)聲明建立一個(gè)長度為3分鐘的基于時(shí)間的跳躍窗口,既每3分鐘更新窗口內(nèi)數(shù)據(jù)進(jìn)行重新匹配,在此數(shù)據(jù)窗口基礎(chǔ)上,異常值監(jiān)測(cè)聲明對(duì)每個(gè)傳感器的感應(yīng)數(shù)據(jù)的安全范圍進(jìn)行設(shè)置,將所有異常數(shù)據(jù)提取出來,為了與錯(cuò)誤數(shù)據(jù)相區(qū)別,異常值監(jiān)測(cè)聲明中明確只有3分鐘內(nèi)出現(xiàn)三次以上的異常數(shù)值,該傳感器節(jié)點(diǎn)才會(huì)被記錄,所有記錄下的傳感器節(jié)點(diǎn)信息被按照ID分組,并將3分鐘內(nèi)傳感器感應(yīng)數(shù)據(jù)中的最大值與最小值提取并進(jìn)行重新打包。
優(yōu)選的,將連續(xù)查詢所得的結(jié)果按照不同的主題發(fā)布到數(shù)據(jù)總線,具體為通過事件流輸出適配器發(fā)布到數(shù)據(jù)總線。
同時(shí)本發(fā)明技術(shù)方案還公開一種多元數(shù)據(jù)感知計(jì)算引擎,包括,傳感器數(shù)據(jù)流中間件、傳感器數(shù)據(jù)服務(wù)器和采樣值數(shù)據(jù)庫集群;
所述傳感器數(shù)據(jù)流中間件接收的來自傳感器網(wǎng)絡(luò)的數(shù)據(jù)按照本發(fā)明技術(shù)方案公開的方法處理后,發(fā)布到數(shù)據(jù)總線,傳感器數(shù)據(jù)服務(wù)器對(duì)發(fā)布到數(shù)據(jù)總線的不同主題的結(jié)果進(jìn)行訂閱,傳感器數(shù)據(jù)服務(wù)器將不同主題的數(shù)據(jù)分開存儲(chǔ)與處理,所述采樣值數(shù)據(jù)庫集群與傳感器數(shù)據(jù)服務(wù)器通信連接。
優(yōu)選的,所述傳感器數(shù)據(jù)服務(wù)器將不同主題的數(shù)據(jù)分開存儲(chǔ)與處理,具體為對(duì)于數(shù)據(jù)統(tǒng)計(jì)得到的采樣值統(tǒng)計(jì)數(shù)據(jù),傳感器數(shù)據(jù)服務(wù)器將其保存在采樣值數(shù)據(jù)庫集群當(dāng)中或直接用于實(shí)時(shí)數(shù)據(jù)展示;
對(duì)于異常數(shù)據(jù)處理得到的異常值預(yù)警數(shù)據(jù),傳感器數(shù)據(jù)服務(wù)器調(diào)用相關(guān)的預(yù)警模塊對(duì)事件進(jìn)行處理。
本發(fā)明的技術(shù)方案具有以下有益效果:
本發(fā)明技術(shù)方案,通過中間件對(duì)采樣值進(jìn)行篩選,剔除錯(cuò)誤與冗余采樣值數(shù)據(jù)。而傳感器數(shù)據(jù)以動(dòng)態(tài)的方式傳入中間件,通過建立動(dòng)態(tài)查詢條件,實(shí)現(xiàn)在有限空間內(nèi)進(jìn)行實(shí)時(shí)、連續(xù)、快速響應(yīng)查詢的功能,從而達(dá)到對(duì)采樣值進(jìn)行篩選并在有限空間內(nèi)進(jìn)行實(shí)時(shí)、連續(xù)、快速響應(yīng)查詢的目的。完成對(duì)傳感器動(dòng)態(tài)數(shù)據(jù)進(jìn)行錯(cuò)誤處理,數(shù)據(jù)去冗余,數(shù)據(jù)概況分析與異常數(shù)據(jù)預(yù)警等功能。
下面通過附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
附圖說明
圖1為本發(fā)明實(shí)施例中的多元數(shù)據(jù)感知計(jì)算引擎數(shù)據(jù)處理過程流程圖;
圖2為本發(fā)明實(shí)施例中的數(shù)據(jù)流異常值檢測(cè)流程示意圖;
圖3為本發(fā)明實(shí)施例中的數(shù)據(jù)統(tǒng)計(jì)聲明返回?cái)?shù)據(jù)示意圖;
圖4為本發(fā)明實(shí)施例中的多元數(shù)據(jù)感知計(jì)算引擎的用戶界面設(shè)計(jì)示意圖。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
一種多元數(shù)據(jù)感知計(jì)算引擎的中間件數(shù)據(jù)處理方法,包括,通過適配器將接收的不同的數(shù)據(jù)流分流管理;
對(duì)適配器進(jìn)行分流管理后的數(shù)據(jù)流進(jìn)行預(yù)處理并按照預(yù)先設(shè)定的查詢聲明對(duì)數(shù)據(jù)流進(jìn)行連續(xù)查詢;
將連續(xù)查詢所得的結(jié)果按照不同的主題發(fā)布到數(shù)據(jù)總線。
優(yōu)選的,對(duì)適配器進(jìn)行分流管理后的數(shù)據(jù)流進(jìn)行預(yù)處理,具體包括標(biāo)準(zhǔn)化處理和錯(cuò)誤值處理,
標(biāo)準(zhǔn)化處理,即將接收的數(shù)據(jù),轉(zhuǎn)換為統(tǒng)一的標(biāo)準(zhǔn)格式;
錯(cuò)誤值處理:即接收的數(shù)據(jù)包在解包后,首先對(duì)數(shù)據(jù)有效性進(jìn)行判定,如果數(shù)據(jù)不在正常值范圍之內(nèi),則判斷該數(shù)據(jù)包為錯(cuò)誤數(shù)據(jù)包,錯(cuò)誤數(shù)據(jù)包被拋棄,正常值范圍由用戶根據(jù)不同的檢測(cè)值類型而設(shè)置。
優(yōu)選的,按照預(yù)先設(shè)定的查詢聲明對(duì)數(shù)據(jù)流進(jìn)行連續(xù)查詢,具體包括為:異常數(shù)據(jù)處理和數(shù)據(jù)統(tǒng)計(jì),
異常數(shù)據(jù)處理,即經(jīng)過標(biāo)準(zhǔn)化和錯(cuò)誤值處理后,得到的正確數(shù)據(jù)包實(shí)時(shí)到達(dá)形成數(shù)據(jù)流,中間件內(nèi)的異常值監(jiān)測(cè)聲明對(duì)數(shù)據(jù)流進(jìn)行查詢,異常值監(jiān)測(cè)聲明根據(jù)設(shè)置的安全范圍將異常數(shù)據(jù)提取出來;
數(shù)據(jù)統(tǒng)計(jì),即通過在數(shù)據(jù)流中建立數(shù)據(jù)快照,對(duì)快照內(nèi)的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,并將分析的數(shù)據(jù)輸出。
優(yōu)選的,異常數(shù)據(jù)處理具體數(shù)據(jù)流程為:
中間件接收的數(shù)據(jù)包內(nèi)存儲(chǔ)了傳感器ID、發(fā)送時(shí)間與感應(yīng)數(shù)值,數(shù)據(jù)包實(shí)時(shí)到達(dá)形成數(shù)據(jù)流進(jìn)入數(shù)據(jù)流中間件中,中間件利用異常值監(jiān)測(cè)聲明對(duì)數(shù)據(jù)流進(jìn)行查詢,異常值監(jiān)測(cè)聲明建立了兩個(gè)層次的窗口,首先為每一個(gè)獨(dú)立傳感器節(jié)點(diǎn)建立了一個(gè)單獨(dú)的數(shù)據(jù)流,在此基礎(chǔ)之上,異常值監(jiān)測(cè)聲明建立一個(gè)長度為3分鐘的基于時(shí)間的跳躍窗口,既每3分鐘更新窗口內(nèi)數(shù)據(jù)進(jìn)行重新匹配,在此數(shù)據(jù)窗口基礎(chǔ)上,異常值監(jiān)測(cè)聲明對(duì)每個(gè)傳感器的感應(yīng)數(shù)據(jù)的安全范圍進(jìn)行設(shè)置,將所有異常數(shù)據(jù)提取出來,為了與錯(cuò)誤數(shù)據(jù)相區(qū)別,異常值監(jiān)測(cè)聲明中明確只有3分鐘內(nèi)出現(xiàn)三次以上的異常數(shù)值,該傳感器節(jié)點(diǎn)才會(huì)被記錄,所有記錄下的傳感器節(jié)點(diǎn)信息被按照ID分組,并將3分鐘內(nèi)傳感器感應(yīng)數(shù)據(jù)中的最大值與最小值提取并進(jìn)行重新打包。
優(yōu)選的,將連續(xù)查詢所得的結(jié)果按照不同的主題發(fā)布到數(shù)據(jù)總線,具體為通過事件流輸出適配器發(fā)布到數(shù)據(jù)總線。
同時(shí)本發(fā)明技術(shù)方案還公開一種多元數(shù)據(jù)感知計(jì)算引擎,包括,傳感器數(shù)據(jù)流中間件、傳感器數(shù)據(jù)服務(wù)器和采樣值數(shù)據(jù)庫集群;
傳感器數(shù)據(jù)流中間件接收的來自傳感器網(wǎng)絡(luò)的數(shù)據(jù)按照本發(fā)明技術(shù)方案公開的方法處理后,發(fā)布到數(shù)據(jù)總線,傳感器數(shù)據(jù)服務(wù)器對(duì)發(fā)布到數(shù)據(jù)總線的不同主題的結(jié)果進(jìn)行訂閱,傳感器數(shù)據(jù)服務(wù)器將不同主題的數(shù)據(jù)分開存儲(chǔ)與處理,所述采樣值數(shù)據(jù)庫集群與傳感器數(shù)據(jù)服務(wù)器通信連接。
優(yōu)選的,傳感器數(shù)據(jù)服務(wù)器將不同主題的數(shù)據(jù)分開存儲(chǔ)與處理,具體為對(duì)于數(shù)據(jù)統(tǒng)計(jì)得到的采樣值統(tǒng)計(jì)數(shù)據(jù),傳感器數(shù)據(jù)服務(wù)器將其保存在采樣值數(shù)據(jù)庫集群當(dāng)中或直接用于實(shí)時(shí)數(shù)據(jù)展示;
對(duì)于異常數(shù)據(jù)處理得到的異常值預(yù)警數(shù)據(jù),傳感器數(shù)據(jù)服務(wù)器調(diào)用相關(guān)的預(yù)警模塊對(duì)事件進(jìn)行處理。
具體的以開發(fā)工具:Eclipse Java EE IDE for Web Developers;Esper 4.6.0對(duì)本發(fā)明技術(shù)方案進(jìn)行以下具體說明:應(yīng)該理解,本領(lǐng)域技術(shù)人員采用本發(fā)明技術(shù)方案的原理而使用別的開發(fā)工具從而達(dá)到本發(fā)明技術(shù)效果的具體實(shí)施例應(yīng)該視為下列具體實(shí)施例的等同。
傳感器數(shù)據(jù)的采集與預(yù)處理主要發(fā)生在系統(tǒng)的接入層。在實(shí)現(xiàn)上,數(shù)據(jù)流中間件采用了開源的Esper復(fù)雜事件處理引擎(CEP:Complex Event Processing)作為核心的數(shù)據(jù)流引擎。Esper提供了強(qiáng)大的事件流過濾、分析與處理能力,并支持通過可定制聲明(Statements)對(duì)事件流進(jìn)行動(dòng)態(tài)的連續(xù)查詢。
如圖1所示,首先,部署在業(yè)務(wù)場(chǎng)景中的傳感器子節(jié)點(diǎn)會(huì)按照一定頻率通過無線傳感器網(wǎng)絡(luò)提交數(shù)據(jù)給主節(jié)點(diǎn)。主節(jié)點(diǎn)再按照預(yù)先設(shè)定的發(fā)送頻率和格式通過GPRS、3G、Internet等多種形式遞交數(shù)據(jù)給數(shù)據(jù)流中間件。數(shù)據(jù)流中間件通過適配器將不同的數(shù)據(jù)流分流管理,對(duì)數(shù)據(jù)進(jìn)行預(yù)處理并按照預(yù)先設(shè)定的查詢聲明對(duì)數(shù)據(jù)流進(jìn)行連續(xù)查詢。連續(xù)查詢所得的結(jié)果會(huì)按照不同的主題(Topic)發(fā)布到數(shù)據(jù)總線,而傳感器數(shù)據(jù)服務(wù)器同樣在數(shù)據(jù)總線對(duì)主題進(jìn)行訂閱。傳感器數(shù)據(jù)服務(wù)器會(huì)將不同的數(shù)據(jù)分開存儲(chǔ)與處理。對(duì)于采樣值統(tǒng)計(jì)數(shù)據(jù),傳感器數(shù)據(jù)服務(wù)器會(huì)將其保存在采樣值數(shù)據(jù)庫集群當(dāng)中或直接用于實(shí)時(shí)數(shù)據(jù)展示。對(duì)于異常值預(yù)警數(shù)據(jù),傳感器數(shù)據(jù)服務(wù)器會(huì)調(diào)用相關(guān)的預(yù)警模塊對(duì)事件進(jìn)行處理。
錯(cuò)誤值處理:
傳入傳感器數(shù)據(jù)流中間件的數(shù)據(jù)包在解包后,會(huì)首先對(duì)數(shù)據(jù)有效性進(jìn)行判定。如果數(shù)據(jù)不在正常值范圍之內(nèi),則判斷該數(shù)據(jù)包為錯(cuò)誤數(shù)據(jù)包,這樣的包將被系統(tǒng)拋棄而不作為事件傳入數(shù)據(jù)流引擎。正常值范圍由用戶根據(jù)不同的檢測(cè)值類型而設(shè)置。
異常數(shù)據(jù)處理:
異常值預(yù)警是傳感器數(shù)據(jù)管理系統(tǒng)中一項(xiàng)非常重要的功能。由于傳感器數(shù)據(jù)海量實(shí)時(shí)的特性,對(duì)靜態(tài)數(shù)據(jù)進(jìn)行異常值查詢不僅效率偏低也會(huì)影響到預(yù)警的效果。而對(duì)數(shù)據(jù)流的連續(xù)查詢使得實(shí)時(shí)的預(yù)警成為可能。通過設(shè)定檢測(cè)值得相應(yīng)正常值范圍聲明,中間件可以在異常值數(shù)據(jù)流經(jīng)過的瞬間拋出警報(bào)給服務(wù)層以進(jìn)行相應(yīng)的處理。傳感器數(shù)據(jù)的異常值需要與采集傳輸中造成的錯(cuò)誤值相區(qū)分。所以在編寫連續(xù)查詢語句時(shí),會(huì)忽略偶爾出現(xiàn)的波動(dòng)值,而是針對(duì)一段時(shí)間內(nèi)多次出現(xiàn)的異常值進(jìn)行匹配。
例如,下面假設(shè)通過溫濕度傳感器對(duì)溫室內(nèi)的溫度以及濕度進(jìn)行異常值監(jiān)測(cè)。監(jiān)測(cè)過程如圖2所示。
傳感器數(shù)據(jù)包內(nèi)存儲(chǔ)了傳感器ID、發(fā)送時(shí)間與溫濕度數(shù)值。數(shù)據(jù)包實(shí)時(shí)到達(dá)形成數(shù)據(jù)流進(jìn)入數(shù)據(jù)流中間件中,中間件利用如圖所示異常值監(jiān)測(cè)聲明對(duì)數(shù)據(jù)流進(jìn)行查詢。該聲明建立了兩個(gè)層次的窗口,首先利用std:groupwin()聲明為每一個(gè)獨(dú)立傳感器節(jié)點(diǎn)建立了一個(gè)單獨(dú)的數(shù)據(jù)流view。在此基礎(chǔ)之上,聲明通過win:time_batch()方法建立了一個(gè)長度為3分鐘的基于時(shí)間的跳躍窗口,既每三分鐘更新窗口內(nèi)數(shù)據(jù)進(jìn)行重新匹配。在此數(shù)據(jù)窗口基礎(chǔ)上,聲明對(duì)每個(gè)傳感器的溫度安全范圍進(jìn)行了設(shè)置。通過not in語句,所有異常數(shù)據(jù)被提取出來。為了與錯(cuò)誤數(shù)據(jù)相區(qū)別,聲明中明確了只有三分鐘內(nèi)出現(xiàn)三次以上的異常數(shù)值,該傳感器節(jié)點(diǎn)才會(huì)被記錄。所有記錄下的傳感器節(jié)點(diǎn)信息被按照ID分組,并將3分鐘內(nèi)的溫濕度最大值與最小值提取進(jìn)行重新打包,生成MapData。數(shù)據(jù)通過消息總線傳遞給異常值預(yù)警模塊。模塊則針對(duì)不同的情況采取措施。在聲明中,溫濕度正常范圍、時(shí)間窗口長度、以及異常判別次數(shù)均可以由用戶設(shè)置并且可以通過statement update進(jìn)行實(shí)時(shí)更改。這增加了異常值監(jiān)控的靈活性,也使其用途更加廣泛。
數(shù)據(jù)統(tǒng)計(jì):
傳感器數(shù)據(jù)往往具有很強(qiáng)的穩(wěn)定性,如果不是發(fā)生異常,數(shù)據(jù)往往維持在某一點(diǎn)不變。所以在上層應(yīng)用的實(shí)時(shí)數(shù)據(jù)查詢中,如果返回?cái)?shù)據(jù)流中的每一個(gè)文件包的數(shù)據(jù),應(yīng)用需要處理大量的數(shù)據(jù)更新。這樣做大量消耗了系統(tǒng)的性能,但是數(shù)據(jù)卻并沒有明顯的波動(dòng),得不償失。所以,傳感器數(shù)據(jù)的統(tǒng)計(jì)對(duì)數(shù)據(jù)的實(shí)時(shí)展示具有很重要的意義。數(shù)據(jù)流引擎通過在數(shù)據(jù)流中建立數(shù)據(jù)快照(Data SnapShot),對(duì)快照內(nèi)的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,并將真正對(duì)上層應(yīng)用有意義的內(nèi)容返回。例如,在檢測(cè)溫室內(nèi)溫濕度時(shí),中間件可以每五分鐘返回一組當(dāng)前溫室內(nèi)溫濕度的平均值、最大值與最小值,給服務(wù)層一個(gè)全面的數(shù)據(jù)概覽。
假設(shè)如下傳感器的數(shù)據(jù)包結(jié)構(gòu)與上述一致,下面的數(shù)據(jù)統(tǒng)計(jì)聲明返回了溫室內(nèi)每個(gè)傳感器在過去五分鐘內(nèi)溫濕度的最大值、最小值與平均值。如圖3所示。在得到統(tǒng)計(jì)數(shù)據(jù)后,中間件將數(shù)據(jù)同樣包裝成為MapData發(fā)布到消息總線上。傳感器數(shù)據(jù)服務(wù)器從消息總線獲取統(tǒng)計(jì)數(shù)據(jù)包,將數(shù)據(jù)存儲(chǔ)或應(yīng)用于進(jìn)一步的實(shí)時(shí)數(shù)據(jù)展示。
用戶界面設(shè)計(jì):
如圖4所示,界面主要提供了便捷的方式供用戶對(duì)中間件進(jìn)行設(shè)置和操作。同時(shí)也提供日志展示中間件的系統(tǒng)與業(yè)務(wù)運(yùn)行狀態(tài)。用戶界面主要包括了如下幾個(gè)部分。
1、業(yè)務(wù)日志:展示經(jīng)過中間件連續(xù)查詢后輸出的業(yè)務(wù)事件。例如:傳感器數(shù)據(jù)統(tǒng)計(jì)結(jié)果,異常數(shù)據(jù)預(yù)警信息等。
2、系統(tǒng)日志:展示中間件系統(tǒng)信息。例如:中間件啟動(dòng)、暫停、接受數(shù)據(jù)包、拋棄錯(cuò)誤數(shù)據(jù)包等。
3、系統(tǒng)參數(shù)設(shè)置區(qū):設(shè)置中間件連續(xù)查詢條件參數(shù)。例如,參數(shù)正常值范圍,統(tǒng)計(jì)時(shí)間間隔等。
4、中間件啟動(dòng)按鈕:控制中間件的啟動(dòng)與停止。
最后應(yīng)說明的是:以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,對(duì)于本領(lǐng)域的技術(shù)人員來說,其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。