本發(fā)明涉及一種基于工況集的工程機械物聯(lián)網(wǎng)數(shù)據(jù)解析和動態(tài)顯示方法,屬于數(shù)據(jù)解析和動態(tài)顯示技術(shù)領(lǐng)域。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展與大數(shù)據(jù)時代的來臨,工程機械物聯(lián)網(wǎng)越來越受到工程機械行業(yè)的重視,國內(nèi)幾大工程機械公司都建立了相應(yīng)的物聯(lián)網(wǎng)平臺。目前,在工程機械行業(yè)中,隨著傳感器技術(shù)、數(shù)據(jù)采集技術(shù)的發(fā)展,終端設(shè)備種類越來越多,需要采集的工況信息越來越豐富,給客戶展示信息層次也越來越多樣化。在工程機械物聯(lián)網(wǎng)開發(fā)的過程中,系統(tǒng)后臺接收到終端采集的信息要根據(jù)車輛的類型、終端類型等進行數(shù)據(jù)解析,并將解析得到的數(shù)據(jù)存入到數(shù)據(jù)存儲設(shè)備中,系統(tǒng)前臺則顯示這些信息。其中,解析、存儲、讀取、顯示等功能都是對一種工況信息的操作,一方面需要對工況信息進行整理、學(xué)習(xí)、設(shè)計,存在重復(fù)性工作,效率低;另一方面,需要前臺開發(fā)人員、后臺開發(fā)人員,甚至整個項目開發(fā)團體深入學(xué)習(xí)傳輸協(xié)議、不同類型工程車輛的工況信息,學(xué)習(xí)成本高。當(dāng)某種類型的車輛工況信息發(fā)生變更,或者新增一種工況數(shù)據(jù),或者前臺工況信息展示發(fā)生變更,或系統(tǒng)加入新型號的工程車輛,需要獲取新的工況信息時,需要對系統(tǒng)前后端進行修改,在解析、存儲、讀取、展示增加相關(guān)的信息,可能帶來信息解析、存儲、讀取、展示模塊的反復(fù)修改、編譯和發(fā)布,修改難度大,維護成本高,同時影響了系統(tǒng)的穩(wěn)定和展示效果。
技術(shù)實現(xiàn)要素:
針對上述現(xiàn)有技術(shù)存在的問題,本發(fā)明提供一種基于工況集的工程機械物聯(lián)網(wǎng)數(shù)據(jù)解析和動態(tài)顯示方法,引入工況集思想,通過對工況集的配置使用,實現(xiàn)通過物聯(lián)網(wǎng)獲取不同類型工程機械車輛工況信息的動態(tài)解析、存儲、及動態(tài)展示,讓系統(tǒng)擁有極強的動態(tài)擴展性及易維護性。
為了實現(xiàn)上述目的,本發(fā)明采用的一種基于工況集的工程機械物聯(lián)網(wǎng)數(shù)據(jù)解析和動態(tài)顯示方法,其具體步驟是:
步驟一、配置包含工程機械車輛工況信息的工況集,并存入系統(tǒng):
步驟二、前端采集器與工況集綁定;
步驟三、車輛與前端采集器綁定;
步驟四、數(shù)據(jù)動態(tài)解析:前端采集器采集到的數(shù)據(jù)通過電信運營商進行數(shù)據(jù)傳輸,物聯(lián)網(wǎng)平臺網(wǎng)關(guān)接到數(shù)據(jù)后進行解析,得到發(fā)送該數(shù)據(jù)的前端采集器的編碼,即可查到前端采集器對應(yīng)的工程車輛,及車輛對應(yīng)的工況集,系統(tǒng)即可根據(jù)工況集對該數(shù)據(jù)進行動態(tài)解析、存儲;
步驟五、前臺動態(tài)展示:客戶查看工程車輛工況信息時,依據(jù)車輛類型對應(yīng)的工況集進行動態(tài)展示。
上述工況集包括數(shù)據(jù)包解析配置項、數(shù)據(jù)平臺存儲配置項和數(shù)據(jù)展示配置項,數(shù)據(jù)包解析配置項,用來配置工程機械物聯(lián)網(wǎng)平臺數(shù)據(jù)包的解析規(guī)則;數(shù)據(jù)平臺存儲配置項,用來配置解析的數(shù)據(jù)存入hadoop大數(shù)據(jù)平臺的規(guī)則;數(shù)據(jù)展示配置項,用來配置數(shù)據(jù)展示的規(guī)則。
優(yōu)選地,所述前端采集器包含gps定位器、車輛工況信息采集器、傳輸器,使用移動電信網(wǎng)絡(luò)接入物聯(lián)網(wǎng)數(shù)據(jù)平臺,前端采集器在系統(tǒng)中有一個唯一編碼,與其內(nèi)的移動電信運營商的唯一sim卡號進行綁定;系統(tǒng)內(nèi)的每一輛工程車輛有一個唯一編碼,它與前端采集器進行綁定,裝在工程車上的前端采集器與車輛在系統(tǒng)中進行了唯一綁定。
優(yōu)選地,工況集以車輛類型為單位進行綁定,每輛車都有車輛類型,每輛工程車輛都有對應(yīng)的工況集配置項。
上述工況集包含的重要元素有工況包標(biāo)識,工況包數(shù)據(jù)長度,英文標(biāo)識名稱,中文標(biāo)識名稱,解析數(shù)據(jù)類型,解析開始位置,解析長度,解析開始位置,解析長度,數(shù)據(jù)加工算法,存儲表名稱,存儲字段名稱,存儲字段類型,單位,數(shù)據(jù)類型,顯示方式,是否顯示,權(quán)限級別,車輛類型,以及終端類型。
優(yōu)選地,數(shù)據(jù)動態(tài)解析的具體步驟是:
步驟a、系統(tǒng)預(yù)加載全部工況集配置到內(nèi)存中,以便解析的時候調(diào)用;
步驟b、系統(tǒng)網(wǎng)關(guān)接收到前端采集器傳輸?shù)臄?shù)據(jù)包,進行預(yù)處理,把工況數(shù)據(jù)包存入kafkatopic中,存入的數(shù)據(jù)包即待解析的工況原始數(shù)據(jù);
步驟c、系統(tǒng)基于storm進行數(shù)據(jù)解析,依次將kafkatopic中的原始工況數(shù)據(jù)包進行解析;
步驟d、取出一條原始數(shù)據(jù)包,遍歷該數(shù)據(jù)包找到與預(yù)加載工況集配置中工況標(biāo)識相同的數(shù)據(jù)塊k,根據(jù)工況集配置中工況數(shù)據(jù)長度來確定該工況項的數(shù)據(jù)長度l,取出k后面l個字節(jié)數(shù)據(jù),即待解析的單個工況塊的原始數(shù)據(jù)kd;
步驟e、根據(jù)工況集配置項中解析開始位置來確定需要解析的單個工況數(shù)據(jù)在原始數(shù)據(jù)kd的字節(jié)位bytes,根據(jù)工況集配置項中解析長度來確定需要解析的單個工況數(shù)據(jù)的字節(jié)長度bytel,從kd中第bytes位取出長度為bytel的數(shù)據(jù)sd,即待解析的單個工況項的原始數(shù)據(jù)sd;
步驟f、根據(jù)工況集配置項中解析開始位置來確定需要解析的單個工況數(shù)據(jù)在原始數(shù)據(jù)sd的開始位bits,根據(jù)工況集配置項中解析長度來確定需要解析的單個工況數(shù)據(jù)的字節(jié)長度bitl,從sd中第bits位取出長度為byitl的數(shù)據(jù)bd,即待解析的單個工況項的原始數(shù)據(jù)bd;
步驟g、根據(jù)工況集配置項中解析數(shù)據(jù)類型,將bd解析成對應(yīng)的數(shù)據(jù)類型的數(shù)據(jù)md;
步驟h、根據(jù)工況集配置項中數(shù)據(jù)加工算法,將md進行相應(yīng)的運算,得到最終單個工況項的實際數(shù)據(jù)fd;
步驟i、系統(tǒng)將該數(shù)據(jù)fd存入hbase、hdfs、關(guān)系數(shù)據(jù)庫;
步驟j、存入關(guān)系數(shù)據(jù)庫時,根據(jù)工況集配置項中存儲表名稱,存儲字段名稱,存儲字段類型,將數(shù)據(jù)存入相應(yīng)的表中;
至此一個工況項的數(shù)據(jù)完成了從原始數(shù)據(jù),依據(jù)工況集的動態(tài)解析及存儲過程。
優(yōu)選地,前臺動態(tài)展示的具體步驟是:
步驟一、系統(tǒng)預(yù)加載全部工況集配置到內(nèi)存中,以便需要的時候調(diào)用;
步驟二、系統(tǒng)前臺需要展示某輛車,找到該類型車對應(yīng)的全部工況集配置信息,查詢存入當(dāng)前緩存中;
步驟三、獲取當(dāng)前登錄用戶的安全級別,與緩存中的工況集配置信息中的權(quán)限級別進行比較,工況集配置信息中的權(quán)限級別大于用戶的安全級別的工況集配置信息會從緩存中刪除;
步驟四、遍歷緩存中的工況集配置信息,是否顯示為0的會從緩存中刪除;
步驟五、根據(jù)工況集配置項存儲表名稱,存儲字段名稱,存儲字段類型,在關(guān)系數(shù)據(jù)庫中取出相應(yīng)的工況信息,依據(jù)數(shù)據(jù)類型,將數(shù)據(jù)轉(zhuǎn)換成相應(yīng)的數(shù)據(jù)類型;
步驟六、拼裝前臺展示代碼,依據(jù)工況集配置項中文標(biāo)識名稱為該項工況顯示的標(biāo)識名稱,依據(jù)工況集配置項顯示方式生成對應(yīng)的前臺展示的代碼;
步驟七、將所有的前臺展示代碼拼裝一起在前臺動態(tài)展示。
與現(xiàn)有技術(shù)相比,本發(fā)明通過引入工況集的思想,把每種型號的工程機械的公況信息的解析規(guī)則、存儲形式、顯示形式放在工況集里統(tǒng)一管理,對于接入物聯(lián)網(wǎng)系統(tǒng)的工程機械相關(guān)工況信息的擴展和維護更加高效;工程機械相關(guān)工況信息對與開發(fā)人員的可讀性大大提高,減少項目開發(fā)過程中不同開發(fā)人員的學(xué)習(xí)成本和重復(fù)性工作,提高開發(fā)效率。最終具有如下優(yōu)點:
1.本發(fā)明提供的基于工況集的工程機械物聯(lián)網(wǎng)平臺的主體框架穩(wěn)定,當(dāng)業(yè)務(wù)需求變更時,只需要修改相應(yīng)的工況集,不用反復(fù)修改系統(tǒng)主體、編譯和發(fā)布,從而加強了系統(tǒng)穩(wěn)定;
2.基于工況集的工程機械物聯(lián)網(wǎng)平臺有極強的動態(tài)擴展性、易維護性、兼容性,兼容性:可以接入不同類型的前端采集器,接入不同類型的工程機械車輛;動態(tài)擴展性:工況信息的解析、存儲及展示都是依據(jù)工況集動態(tài)完成的,;易維護性:主體框架確定后,只需要維護工況集,即可滿足業(yè)務(wù)變更;
3.系統(tǒng)開發(fā)周期快,上線后變更及維護成本理想;使用xml的配置項屬性,把繁瑣的車輛工況信息解析規(guī)則配置成可讀的信息,方便讓開發(fā)人員閱讀,引入工況集的概念,工況信息解析、展示、命名等規(guī)則的規(guī)范化、統(tǒng)一化管理,項目開發(fā)團體只需要專人負(fù)責(zé)維護工況集,其他開發(fā)人員只需要使用工況集,可讀性大大提高,減少項目開發(fā)過程中不同開發(fā)人員的學(xué)習(xí)成本和重復(fù)性工作,大大提高開發(fā)效率。
附圖說明
圖1為本發(fā)明的總體流程圖;
圖2為本發(fā)明的解析流程圖;
圖3為本發(fā)明的動態(tài)顯示流程圖。
具體實施方式
下面結(jié)合附圖和實施例對本發(fā)明作進一步說明。
如圖1至圖3所示,一種基于工況集的工程機械物聯(lián)網(wǎng)數(shù)據(jù)解析和動態(tài)顯示方法,其具體步驟是:
步驟一、配置包含工程機械車輛工況信息的工況集,并存入系統(tǒng):
步驟二、前端采集器與工況集綁定;
步驟三、車輛與前端采集器綁定;
步驟四、數(shù)據(jù)動態(tài)解析:前端采集器采集到的數(shù)據(jù)通過電信運營商進行數(shù)據(jù)傳輸,物聯(lián)網(wǎng)平臺網(wǎng)關(guān)接到數(shù)據(jù)后進行解析,得到發(fā)送該數(shù)據(jù)的前端采集器的編碼,即可查到前端采集器對應(yīng)的工程車輛,及車輛對應(yīng)的工況集,系統(tǒng)即可根據(jù)工況集對該數(shù)據(jù)進行動態(tài)解析、存儲;即收到前端采集器數(shù)據(jù)包,讀取綁定的工況集進行解析,存入數(shù)據(jù)平臺;
步驟五、前臺動態(tài)展示:客戶查看工程車輛工況信息時,依據(jù)車輛類型對應(yīng)的工況集進行動態(tài)展示,即讀取車輛對應(yīng)的工況信息,根據(jù)工況集配置讀取相應(yīng)信息,根據(jù)工況集配置信息顯示工況信息。
上述工況集包括數(shù)據(jù)包解析配置項、數(shù)據(jù)平臺存儲配置項和數(shù)據(jù)展示配置項,數(shù)據(jù)包解析配置項,用來配置工程機械物聯(lián)網(wǎng)平臺數(shù)據(jù)包的解析規(guī)則;數(shù)據(jù)平臺存儲配置項,用來配置解析的數(shù)據(jù)存入hadoop大數(shù)據(jù)平臺的規(guī)則;數(shù)據(jù)展示配置項,用來配置數(shù)據(jù)展示的規(guī)則。hadoop是指一個分布式系統(tǒng)基礎(chǔ)架構(gòu)。
優(yōu)選地,所述前端采集器包含gps定位器、車輛工況信息采集器、傳輸器,使用移動電信網(wǎng)絡(luò)接入物聯(lián)網(wǎng)數(shù)據(jù)平臺,前端采集器在系統(tǒng)中有一個唯一編碼,與其內(nèi)的移動電信運營商的唯一sim卡號進行綁定;系統(tǒng)內(nèi)的每一輛工程車輛有一個唯一編碼,它與前端采集器進行綁定,裝在工程車上的前端采集器與車輛在系統(tǒng)中進行了唯一綁定。
優(yōu)選地,工況集以車輛類型為單位進行綁定,每輛車都有車輛類型,每輛工程車輛都有對應(yīng)的工況集配置項。
物聯(lián)網(wǎng)平臺接收到來自終端采集器的數(shù)據(jù)后,跟據(jù)配置的工況集對收到的數(shù)據(jù)進行解析,將解析得到的工況信息數(shù)據(jù)存入到大數(shù)據(jù)平臺中;在前臺展示工況信息時,本文描述的物聯(lián)網(wǎng)系統(tǒng)會根據(jù)配置的工況集進行動態(tài)的顯示,其中,上述工況集包含的重要元素有工況包標(biāo)識,工況包數(shù)據(jù)長度,英文標(biāo)識名稱,中文標(biāo)識名稱,解析數(shù)據(jù)類型,解析開始位置,解析長度,解析開始位置,解析長度,數(shù)據(jù)加工算法,存儲表名稱,存儲字段名稱,存儲字段類型,單位,數(shù)據(jù)類型,顯示方式,是否顯示,權(quán)限級別,車輛類型,以及終端類型。其中,各個重要元素的詳細(xì)說明如下:
1、工況包標(biāo)識為字節(jié)數(shù)據(jù),例子:“df001002”,即數(shù)據(jù)包中“df001002”后面的一部分?jǐn)?shù)據(jù)表示該工況塊的內(nèi)容。
2、工況包數(shù)據(jù)長度,例子:“2”,即該工況數(shù)據(jù)的長度為2個字節(jié)。
3、英文標(biāo)識名稱,例子:“speed”,一個工況標(biāo)識塊會包含多個工況項,每個工況項的英文標(biāo)識不同,解析位置不同。
4、中文標(biāo)識名稱,例子:“速度”。
5、解析數(shù)據(jù)類型,例子:“decimal”,字節(jié)數(shù)據(jù)轉(zhuǎn)換成decimal類型的數(shù)據(jù)再進行處理。
6、解析開始位置(字節(jié)),例子:“0”,即從工況標(biāo)識后的第一個字節(jié)開始,因為一個字節(jié)內(nèi)可能包含多個工況信息,一個位就可以表示一種工況狀態(tài),所以用具體到位的解析位置來注明。
7、解析長度(字節(jié)),例子“1”,長度為一個字節(jié)。
8、解析開始位置(位),例子:“2”,即該字節(jié)的第3位開始。
9、解析長度(位),例子“2”,即長度為2個位。
10、數(shù)據(jù)加工算法,例子:“%s*1+0”即把解析得到的數(shù)據(jù)再此加工成為真實工況信息的算法,解析得到的數(shù)據(jù)再乘以1,加上0。
11、存儲表名稱例子:“gpsinfo”存儲到關(guān)系數(shù)據(jù)庫的表名稱。
12、存儲字段名稱例子:“speed”存儲到關(guān)系數(shù)據(jù)庫的字段名稱。
13、存儲字段類型例子:“decimal”存儲到關(guān)系數(shù)據(jù)庫的數(shù)據(jù)字段類型。
14、單位,例子:“公里/小時”。
15、數(shù)據(jù)類型,例子:“decimal”,字節(jié)數(shù)據(jù)轉(zhuǎn)換成decimal類型的數(shù)據(jù)再進行處理。
16、顯示方式,例子:“0”,0代表前臺以儀表盤的形式顯示、1代表前臺以下拉框的形式,2代表以文本框形式,.......。
17、是否顯示,例子:“0”,0代表不顯示,1代表顯示。
18、權(quán)限級別,例子:“3”,代表前臺數(shù)據(jù)的安全級別。
優(yōu)選地,如圖2所示,數(shù)據(jù)動態(tài)解析的具體步驟是:
步驟a、系統(tǒng)預(yù)加載全部工況集配置到內(nèi)存中,以便解析的時候調(diào)用;
步驟b、系統(tǒng)網(wǎng)關(guān)接收到前端采集器傳輸?shù)臄?shù)據(jù)包,進行預(yù)處理,把工況數(shù)據(jù)包存入kafkatopic中,存入的數(shù)據(jù)包即待解析的工況原始數(shù)據(jù);
步驟c、系統(tǒng)基于storm進行數(shù)據(jù)解析,依次將kafkatopic中的原始工況數(shù)據(jù)包進行解析;
步驟d、取出一條原始數(shù)據(jù)包,遍歷該數(shù)據(jù)包找到與預(yù)加載工況集配置中工況標(biāo)識相同的數(shù)據(jù)塊k,根據(jù)工況集配置中工況數(shù)據(jù)長度來確定該工況項的數(shù)據(jù)長度l,取出k后面l個字節(jié)數(shù)據(jù),即待解析的單個工況塊的原始數(shù)據(jù)kd;
步驟e、根據(jù)工況集配置項中解析開始位置來確定需要解析的單個工況數(shù)據(jù)在原始數(shù)據(jù)kd的字節(jié)位bytes,根據(jù)工況集配置項中解析長度來確定需要解析的單個工況數(shù)據(jù)的字節(jié)長度bytel,從kd中第bytes位取出長度為bytel的數(shù)據(jù)sd,即待解析的單個工況項的原始數(shù)據(jù)sd;
步驟f、根據(jù)工況集配置項中解析開始位置來確定需要解析的單個工況數(shù)據(jù)在原始數(shù)據(jù)sd的開始位bits,根據(jù)工況集配置項中解析長度來確定需要解析的單個工況數(shù)據(jù)的字節(jié)長度bitl,從sd中第bits位取出長度為byitl的數(shù)據(jù)bd,即待解析的單個工況項的原始數(shù)據(jù)bd;
步驟g、根據(jù)工況集配置項中解析數(shù)據(jù)類型,將bd解析成對應(yīng)的數(shù)據(jù)類型的數(shù)據(jù)md;
步驟h、根據(jù)工況集配置項中數(shù)據(jù)加工算法,將md進行相應(yīng)的運算,得到最終單個工況項的實際數(shù)據(jù)fd;
步驟i、系統(tǒng)將該數(shù)據(jù)fd存入hbase、hdfs、關(guān)系數(shù)據(jù)庫;
步驟j、存入關(guān)系數(shù)據(jù)庫時,根據(jù)工況集配置項中存儲表名稱,存儲字段名稱,存儲字段類型,將數(shù)據(jù)存入相應(yīng)的表中;
至此一個工況項的數(shù)據(jù)完成了從原始數(shù)據(jù),依據(jù)工況集的動態(tài)解析及存儲過程。
數(shù)據(jù)動態(tài)解析實施例:以車輛的當(dāng)前行駛速度為例
s1.系統(tǒng)預(yù)加載全部工況集配置到內(nèi)存中,車輛行駛速度的工況集配置項加載到內(nèi)存中;工況包標(biāo)識為:“df001002”,長度為“8”,英文標(biāo)識名稱為“speed”,解析數(shù)據(jù)類型為:“decimal”,解析開始位置(字節(jié))為:“0”,解析長度(字節(jié))為:“1”,長度為一個字節(jié),解析開始位置(位)為:“0”,解析長度(位)為:“8”,數(shù)據(jù)加工算法為:“%s*1+0”。。。。。。(只提供了解析用到的部分項);
s2.系統(tǒng)網(wǎng)關(guān)收到前端采集器傳輸?shù)臄?shù)據(jù),進行預(yù)處理并存入kafkatopic中,該工況原始數(shù)據(jù)為:
...6000a9300bc0002575000b4330000004000000002101001300020b5abf06fce24100000034100c06072e2f210300910c18fef100ff0064f114df0010023f0040068afaf1027065aaf0cf0030011c85a347823c81318feef00c86464c8ffffff6418feee0064781027ffffffff18fedf00a...
s3.遍歷該數(shù)據(jù)包找到與預(yù)加載工況集配置中工況標(biāo)識相同的數(shù)據(jù)塊k,即查詢原始數(shù)據(jù)中包含“df001002”的數(shù)據(jù)塊,如上紅色字體,工況集配置中“工況數(shù)據(jù)長度”為2,取出“df001002”數(shù)據(jù)塊后面的8個字節(jié)的數(shù)據(jù),即:3f0040068afaf102;
s4.工況集配置項中“解析開始位置(字節(jié))”為0,“解析長度(字節(jié))”為1,從3f0040068afaf102中第1位開始取1個字節(jié)的數(shù)據(jù),即3f;
s5.工況集配置項中“解析開始位置(位)”為0,“解析長度(位)”為8,將3f轉(zhuǎn)換為位形式,即00111111,從00111111中第0位取出長度為8的數(shù)據(jù),即00111111;
s6.工況集配置項中“解析數(shù)據(jù)類型”為decimal,將00111111解析成decimal的數(shù)據(jù),即63.00;
s7.工況集配置項中“數(shù)據(jù)加工算法”為%s*1+0,將63.00*1+0=63.00;
s8.系統(tǒng)將該數(shù)據(jù)63.00存入hbase、hdfs、關(guān)系數(shù)據(jù)庫;
s9.存入關(guān)系數(shù)據(jù)庫時,存入“gpsinfo”表中,字段為“speed”,數(shù)據(jù)類型為“decimal”;
至此解析得到車輛當(dāng)前行駛速度的為63公里/小時;
如圖3所示,前臺動態(tài)展示的具體步驟是:
步驟一、系統(tǒng)預(yù)加載全部工況集配置到內(nèi)存中,以便需要的時候調(diào)用;
步驟二、系統(tǒng)前臺需要展示某輛車,找到該類型車對應(yīng)的全部工況集配置信息,查詢存入當(dāng)前緩存中;
步驟三、獲取當(dāng)前登錄用戶的安全級別,與緩存中的工況集配置信息中的權(quán)限級別進行比較,工況集配置信息中的權(quán)限級別大于用戶的安全級別的工況集配置信息會從緩存中刪除;
步驟四、遍歷緩存中的工況集配置信息,是否顯示為0的會從緩存中刪除;
步驟五、根據(jù)工況集配置項存儲表名稱,存儲字段名稱,存儲字段類型,在關(guān)系數(shù)據(jù)庫中取出相應(yīng)的工況信息,依據(jù)數(shù)據(jù)類型,將數(shù)據(jù)轉(zhuǎn)換成相應(yīng)的數(shù)據(jù)類型;
步驟六、拼裝前臺展示代碼,依據(jù)工況集配置項中文標(biāo)識名稱為該項工況顯示的標(biāo)識名稱,依據(jù)工況集配置項顯示方式生成對應(yīng)的前臺展示的代碼;
步驟七、將所有的前臺展示代碼拼裝一起在前臺動態(tài)展示。
前臺動態(tài)展示實施例:以車輛的當(dāng)前行駛速度為例
s1.系統(tǒng)預(yù)先加載工況集配置項到內(nèi)存中,以行駛速度工況集為例:“英文標(biāo)識名稱”:speed,“中文標(biāo)識名稱”:速度,“存儲表名稱”:gpsinfo,“存儲字段名稱”:“speed”,“存儲字段類型”:“decimal”,“單位”:公里/小時,“數(shù)據(jù)類型”:“decimal”,“顯示方式”:0,“是否顯示”1,“權(quán)限級別”:3,“車輛類型”:qy25;……(只提供了動態(tài)展示用到的部分項);
s2.客戶a登錄系統(tǒng)要查看車輛的當(dāng)前工況信息,客戶a的安全級別為4,車輛的類型為qy25,系統(tǒng)查詢出全部的“車輛類型”為qy25、“是否顯示”為1、“權(quán)限級別”小于等于4的工況集信息,存入緩存中;
s3.遍歷緩存中所有的工況集項,根據(jù)工況集項“存儲表名稱”:gpsinfo,“存儲字段名稱”:“speed”,“存儲字段類型”:“decimal”取出相應(yīng)的數(shù)據(jù),為“63.00”;
s4.“顯示方式”為0,即儀表盤顯示,“中文標(biāo)識名稱”為速度,寫出相應(yīng)的展示代碼(代碼略)進行動態(tài)展示,展示結(jié)果。
綜上所述,本發(fā)明通過引入工況集的思想,把每種型號的工程機械的公況信息的解析規(guī)則、存儲形式、顯示形式放在工況集里統(tǒng)一管理,對于接入物聯(lián)網(wǎng)系統(tǒng)的工程機械相關(guān)工況信息的擴展和維護更加高效;工程機械相關(guān)工況信息對與開發(fā)人員的可讀性大大提高,減少項目開發(fā)過程中不同開發(fā)人員的學(xué)習(xí)成本和重復(fù)性工作,提高開發(fā)效率。
通過對工況集的配置使用,實現(xiàn)通過物聯(lián)網(wǎng)獲取不同類型工程機械車輛工況信息的動態(tài)解析、存儲、及動態(tài)展示。工況集是基于xml的工程機械車輛工況信息配置項集合,包括數(shù)據(jù)包解析配置項、數(shù)據(jù)平臺存儲配置項和數(shù)據(jù)展示配置項。首先前端采集器與工況集綁定,物聯(lián)網(wǎng)平臺獲取到前端采集器發(fā)送的數(shù)據(jù)包后,依據(jù)綁定的工況集的數(shù)據(jù)包解析配置項對數(shù)據(jù)包進行解析,并依據(jù)數(shù)據(jù)平臺存儲配置項存入hadoop大數(shù)據(jù)平臺,前臺物聯(lián)網(wǎng)平臺依據(jù)數(shù)據(jù)展示配置項動態(tài)生成展示信息。
最終,本發(fā)明提供的方法可以讓工程機械物聯(lián)網(wǎng)平臺擁有以下明顯優(yōu)點:主體框架穩(wěn)定;有極強的動態(tài)擴展性、易維護性、兼容性;系統(tǒng)開發(fā)周期快,成本理想,具體如下:
1.本發(fā)明提供的基于工況集的工程機械物聯(lián)網(wǎng)平臺的主體框架穩(wěn)定,當(dāng)業(yè)務(wù)需求變更時,只需要修改相應(yīng)的工況集,不用反復(fù)修改系統(tǒng)主體、編譯和發(fā)布,從而加強了系統(tǒng)穩(wěn)定;
2.基于工況集的工程機械物聯(lián)網(wǎng)平臺有極強的動態(tài)擴展性、易維護性、兼容性,兼容性:可以接入不同類型的前端采集器,接入不同類型的工程機械車輛;動態(tài)擴展性:工況信息的解析、存儲及展示都是依據(jù)工況集動態(tài)完成的,;易維護性:主體框架確定后,只需要維護工況集,即可滿足業(yè)務(wù)變更;
3.系統(tǒng)開發(fā)周期快,上線后變更及維護成本理想;使用xml的配置項屬性,把繁瑣的車輛工況信息解析規(guī)則配置成可讀的信息,方便讓開發(fā)人員閱讀,引入工況集的概念,工況信息解析、展示、命名等規(guī)則的規(guī)范化、統(tǒng)一化管理,項目開發(fā)團體只需要專人負(fù)責(zé)維護工況集,其他開發(fā)人員只需要使用工況集,可讀性大大提高,減少項目開發(fā)過程中不同開發(fā)人員的學(xué)習(xí)成本和重復(fù)性工作,大大提高開發(fā)效率。