被監(jiān)控對象模板的動態(tài)定義方法及裝置的制造方法
【專利摘要】本發(fā)明公開了一種被監(jiān)控對象模板的動態(tài)定義方法,包括步驟:顯示預(yù)設(shè)的圖形化配置界面;獲取用戶基于所述圖形化配置界面選擇的被監(jiān)控量,根據(jù)選擇的所述被監(jiān)控量建立被監(jiān)控對象模板;將建立的所述被監(jiān)控對象模板序列化翻譯成被監(jiān)控對象模板的腳本程序,并發(fā)布至物聯(lián)網(wǎng)系統(tǒng)中。本發(fā)明還公開了一種被監(jiān)控對象模板的動態(tài)定義裝置。本發(fā)明降低了被監(jiān)控對象模板定義的難度,減少了開發(fā)成本。
【專利說明】
被監(jiān)控對象模板的動態(tài)定義方法及裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及物聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種被監(jiān)控對象模板的動態(tài)定義方法及裝置。
【背景技術(shù)】
[0002]物聯(lián)網(wǎng)(Internet Of Things,Ι0Τ)又稱傳感網(wǎng),是一種將所有物件串連在一起的智能網(wǎng)絡(luò),具體來說指的是將各種設(shè)備,如射頻識別(RFID)裝置、紅外感應(yīng)器、全球定位系統(tǒng)、激光掃描器等種種裝置與互聯(lián)網(wǎng)結(jié)合起來而形成的一個巨大網(wǎng)絡(luò),其目的是讓所有的物品都與網(wǎng)絡(luò)連接在一起,使任何智能化物體透過網(wǎng)絡(luò)進行信息交流,它把物理對象無縫集成到信息網(wǎng)絡(luò),方便識別和管理。
[0003]隨著物聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,物聯(lián)網(wǎng)中間件中需要接入和管理的被監(jiān)控對象也不斷的增加。在物聯(lián)網(wǎng)中間件中接入和管理被監(jiān)控對象過程中,用戶需要將每個被監(jiān)控對象的接入和管理的流程編寫成代碼,得到被監(jiān)控對象模板,根據(jù)被監(jiān)控對象模板實現(xiàn)對被監(jiān)控對象的接入和管理,同時,當(dāng)被監(jiān)控對象模板的需求改變時,例如,被監(jiān)控對象的監(jiān)控量增加或減少,或者接入系統(tǒng)之前不支持的被監(jiān)控對象時,就又不得不修改原來已經(jīng)編寫好的代碼,以更新被監(jiān)控對象模板,這將大大增加了維護難度、開發(fā)時間和開發(fā)成本,從而降低了在物聯(lián)網(wǎng)中間件中接入和管理被監(jiān)控對象的項目的推進速度,因此當(dāng)前通過代碼開發(fā)的方式在物聯(lián)網(wǎng)中定義被監(jiān)控對象模板,難度大且成本高。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的主要目的在于提供一種被監(jiān)控對象模板的動態(tài)定義方法及裝置,旨在解決當(dāng)前通過代碼開發(fā)的方式在物聯(lián)網(wǎng)中間件中定義被監(jiān)控對象模板,難度大且成本高的問題。
[0005]為實現(xiàn)上述目的,本發(fā)明提供的一種被監(jiān)控對象模板的動態(tài)定義方法,所述被監(jiān)控對象模板的動態(tài)定義方法包括:
[0006]顯示預(yù)設(shè)的圖形化配置界面;
[0007]獲取用戶基于所述圖形化配置界面選擇的被監(jiān)控量,根據(jù)選擇的所述被監(jiān)控量建立被監(jiān)控對象模板;
[0008]將建立的所述被監(jiān)控對象模板序列化翻譯成被監(jiān)控對象模板的腳本程序,并發(fā)布至物聯(lián)網(wǎng)系統(tǒng)中。
[0009 ]優(yōu)選地,所述將建立的所述被監(jiān)控對象模板序列化翻譯成被監(jiān)控對象模板的腳本程序,并發(fā)布至物聯(lián)網(wǎng)系統(tǒng)中的步驟之后,所述被監(jiān)控對象模板的動態(tài)定義方法還包括:
[0010]在接收到被監(jiān)控對象實例的生成指令時,確定被監(jiān)控對象的標(biāo)識信息;
[0011]根據(jù)預(yù)設(shè)的標(biāo)識信息與被監(jiān)控對象模板的關(guān)聯(lián)關(guān)系,獲取確定的標(biāo)識信息對應(yīng)的被監(jiān)控對象模板的腳本程序;
[0012]將所述被監(jiān)控對象模板的腳本程序反序列化成被監(jiān)控對象模板;
[0013]獲取所述被監(jiān)控對象模板中的各個被監(jiān)控量對應(yīng)的值;
[0014]根據(jù)各個被監(jiān)控量對應(yīng)的值與所述被監(jiān)控對象模板,生成被監(jiān)控對象實例。
[0015]優(yōu)選地,所述根據(jù)各個被監(jiān)控量對應(yīng)的值與所述被監(jiān)控對象模板,生成被監(jiān)控對象實例的步驟包括:
[0016]根據(jù)各個被監(jiān)控量對應(yīng)的值生成值列表;
[0017]將生成的所述值列表與所述被監(jiān)控對象模板關(guān)聯(lián)存儲,以得到被監(jiān)控對象實例。
[0018]優(yōu)選地,所述將建立的所述被監(jiān)控對象模板序列化翻譯成被監(jiān)控對象模板的腳本程序的步驟之后,所述被監(jiān)控對象模板的動態(tài)定義方法還包括:
[0019]在所述被監(jiān)控對象模板的腳本程序中提取出數(shù)據(jù)特征,以生成數(shù)字摘要;
[0020]對所述被監(jiān)控對象模板的腳本程序進行壓縮加密;
[0021]將壓縮加密后的腳本程序和所述數(shù)字摘要進行關(guān)聯(lián)存儲;
[0022]其中,所述將所述被監(jiān)控對象模板的腳本程序反序列化成被監(jiān)控對象模板的步驟之前,包括步驟:對壓縮加密后的腳本程序進行解壓解密,并基于所述腳本程序關(guān)聯(lián)的數(shù)字摘要檢測解壓解密后的腳本程序是否完整,若完整,則執(zhí)行將所述被監(jiān)控對象模板的腳本程序反序列化成被監(jiān)控對象模板的步驟。
[0023]優(yōu)選地,所述被監(jiān)控量包括:測量量、控制量、配置量或告警量。
[0024]此外,為實現(xiàn)上述目的,本發(fā)明還提供一種被監(jiān)控對象模板的動態(tài)定義裝置,所述被監(jiān)控對象模板的動態(tài)定義裝置包括:
[0025]顯示模塊,用于顯示預(yù)設(shè)的圖形化配置界面;
[0026]建立模塊,用于獲取用戶基于所述圖形化配置界面選擇的被監(jiān)控量,根據(jù)選擇的所述被監(jiān)控量建立被監(jiān)控對象模板;
[0027]處理模塊,用于將建立的所述被監(jiān)控對象模板序列化翻譯成被監(jiān)控對象模板的腳本程序,并發(fā)布至物聯(lián)網(wǎng)系統(tǒng)中。
[0028]優(yōu)選地,所述被監(jiān)控對象模板的動態(tài)定義裝置還包括:
[0029]確定模塊,用于在接收到被監(jiān)控對象實例的生成指令時,確定被監(jiān)控對象的標(biāo)識信息;
[0030]獲取模塊,用于根據(jù)預(yù)設(shè)的標(biāo)識信息與被監(jiān)控對象模板的關(guān)聯(lián)關(guān)系,獲取確定的標(biāo)識信息對應(yīng)的被監(jiān)控對象模板的腳本程序;
[0031]所述處理模塊,還用于將所述被監(jiān)控對象模板的腳本程序反序列化成被監(jiān)控對象模板;
[0032]所述獲取模塊,還用于獲取所述被監(jiān)控對象模板中的各個被監(jiān)控量對應(yīng)的值;
[0033]生成模塊,用于根據(jù)各個被監(jiān)控量對應(yīng)的值與所述被監(jiān)控對象模板,生成被監(jiān)控對象實例。
[0034]優(yōu)選地,所述生成模塊包括:
[0035]生成單元,用于根據(jù)各個被監(jiān)控量對應(yīng)的值生成值列表;
[0036]存儲單元,用于將生成的所述值列表與所述被監(jiān)控對象模板關(guān)聯(lián)存儲,以得到被監(jiān)控對象實例。
[0037]優(yōu)選地,所述被監(jiān)控對象模板的動態(tài)定義裝置還包括:
[0038]提取模塊,用于在所述被監(jiān)控對象模板的腳本程序中提取出數(shù)據(jù)特征,以生成數(shù)字摘要;
[0039]壓縮加密模塊,用于對所述被監(jiān)控對象模板的腳本程序進行壓縮加密;
[0040]存儲模塊,用于將壓縮加密后的腳本程序和所述數(shù)字摘要進行關(guān)聯(lián)存儲;
[0041]所述處理模塊,還用于對壓縮加密后的腳本程序進行解壓解密,并基于所述腳本程序關(guān)聯(lián)的數(shù)字摘要檢測解壓解密后的腳本程序是否完整,若完整,則將所述被監(jiān)控對象模板的腳本程序反序列化成被監(jiān)控對象模板。
[0042]優(yōu)選地,所述被監(jiān)控量包括:測量量、控制量、配置量或告警量。
[0043]本發(fā)明提出的被監(jiān)控對象模板的動態(tài)定義方法及裝置,先顯示預(yù)設(shè)的圖形化配置界面,然后獲取用戶基于所述圖形化配置界面選擇的被監(jiān)控量,再根據(jù)選擇的所述被監(jiān)控量建立被監(jiān)控對象模板,最終將建立的所述被監(jiān)控對象模板序列化翻譯成被監(jiān)控對象模板的腳本程序,并發(fā)布至物聯(lián)網(wǎng)系統(tǒng)中,實現(xiàn)了在預(yù)設(shè)的圖形化配置界面中動態(tài)定義被監(jiān)控對象模板,而無需開發(fā)代碼,從而降低了被監(jiān)控對象模板定義的難度,減少了開發(fā)成本。
【附圖說明】
[0044]圖1為本發(fā)明被監(jiān)控對象模板的動態(tài)定義方法第一實施例的流程示意圖;
[0045]圖2為本發(fā)明被監(jiān)控對象模板的動態(tài)定義方法第二實施例的流程示意圖;
[0046]圖3為圖2中步驟S80較佳實施例的流程示意圖;
[0047]圖4為本發(fā)明被監(jiān)控對象模板的動態(tài)定義裝置第一實施例的功能模塊示意圖;
[0048]圖5為本發(fā)明被監(jiān)控對象模板的動態(tài)定義裝置第二實施例的功能模塊示意圖;
[0049]圖6為圖5中生成模塊的細化功能模塊示意圖。
[0050]本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做進一步說明。
【具體實施方式】
[0051]應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0052]基于上述問題,本發(fā)明提供一種被監(jiān)控對象模板的動態(tài)定義方法。
[0053]參照圖1,圖1為本發(fā)明被監(jiān)控對象模板的動態(tài)定義方法第一實施例的流程示意圖。
[0054]在本實施例中,所述被監(jiān)控對象模板的動態(tài)定義方法包括:
[0055]步驟SlO,顯示預(yù)設(shè)的圖形化配置界面;
[0056]步驟S20,獲取用戶基于所述圖形化配置界面選擇的被監(jiān)控量,根據(jù)選擇的所述被監(jiān)控量建立被監(jiān)控對象模板;
[0057]步驟S30,將建立的所述被監(jiān)控對象模板序列化翻譯成被監(jiān)控對象模板的腳本程序,并發(fā)布至物聯(lián)網(wǎng)系統(tǒng)中。
[0058]在本實施例中,在顯示預(yù)設(shè)的圖形化配置界面之前,包括建立圖形化配置界面的步驟,所述建立圖形化配置界面的方式包括:建立一個空模板,指定空模板的名稱和ID,ID可以自動生成,也可以指定,模板有一些附加的字段如類別,等級等等,然后在所述模板中模板增加量(一般是多個量),其中包括量的類型、關(guān)聯(lián)量以及數(shù)據(jù)類型等等,最終,生成的整個模板包括:模板ID,模板名稱,模板信息,量的集合,量與量之間的關(guān)系,也就是說,所述預(yù)設(shè)的圖形化界面中包括上述的模板ID,模板名稱,模板信息,量的集合,量與量之間的關(guān)系等信息。
[0059]在本實施例中,先顯示預(yù)設(shè)的圖形化配置界面,值得注意的是,所述圖形化配置界面表示被監(jiān)控對象模板的框架,是用戶事先定義的。在顯示預(yù)設(shè)的圖形化配置界面時,獲取用戶基于所述圖形化配置界面選擇的被監(jiān)控量,其中,所述被監(jiān)控量包括如下字段:被監(jiān)控量ID、量名稱、量類型、數(shù)據(jù)類型、取值范圍、傳輸方式等等;而所述被監(jiān)控量的量類型包括:測量量(可以通過測量得到的量,比如空調(diào)器的溫度或濕度等,在本系統(tǒng)中測量量可以使用一個數(shù)值或一段數(shù)值描述,如視頻流就是一段數(shù)值)、控制量(可以進行控制的量,比如控制開機關(guān)燈等)、配置量(被監(jiān)控對象的一些固定的屬性,這些屬性一般不需要進行測量,而是由用戶輸入的,如建筑物的占地面積,郵政編碼等)或告警量(告警量是由測量量產(chǎn)生的,本系統(tǒng)把告警量作為一個專門的量,這是因為有些設(shè)備或傳感器是直接給出告警的,而不進行原始量的上報,比如煙感傳感器,之后上報煙霧告警,而不會上報煙霧濃度)等等,其中,配置量是指一旦配置后,就不會發(fā)生變化的量。被監(jiān)控量的數(shù)據(jù)類型包括:浮點、整形、枚舉或字符串等等;被監(jiān)控量的傳輸方式包括:數(shù)據(jù)塊或數(shù)據(jù)流方式。在獲取用戶基于所述圖形化配置界面選擇的所述被控制量之后,可以根據(jù)被監(jiān)控對象模板中事先定義好的關(guān)系,確定用戶基于所述圖形化配置界面選擇的各個被監(jiān)控量之間的關(guān)系,當(dāng)然,也可獲取用戶基于所述圖形化配置界面選擇的各個被監(jiān)控量,以及用戶選擇的各個被監(jiān)控量之間的關(guān)系,最終,根據(jù)各個被監(jiān)控量以及各個被監(jiān)控量之間的關(guān)系,即可建立被監(jiān)控對象模板。也就是說,在被監(jiān)控對象模板中獲取各個被監(jiān)控量,然后將各個被監(jiān)控量放在被監(jiān)控模板框架中,即可建立被監(jiān)控對象模板。
[0060]應(yīng)當(dāng)理解的是,被監(jiān)控量之間的關(guān)系包括:有關(guān)系的量的個數(shù),以及關(guān)系類型,其中,關(guān)系類型包括多種告警源關(guān)系(比如溫度過高的告警源是溫度,他們之間的關(guān)系是告警源關(guān)系,一般告警是由于測量量的值達到一定范圍后產(chǎn)生的,本關(guān)系就是描述這種關(guān)系)和控制測量關(guān)系(比如開空調(diào)和空調(diào)運行狀態(tài)之間的關(guān)系就是控制測量關(guān)系,控制量一般會和一些狀態(tài)量對應(yīng),比如開機和運行狀態(tài)之間的關(guān)系)。當(dāng)有關(guān)系的量的個數(shù)為兩個時,直接確定兩個量的關(guān)系即可,而對于I對多關(guān)系,使用多個I對I關(guān)系描述,例如溫度和溫度過高,溫度過低這3個量的關(guān)系為:關(guān)系I,溫度過高,溫度,告警源關(guān)系;關(guān)系2,溫度過低,溫度,告警源關(guān)系。
[0061]在本實施例中,在建立被監(jiān)控對象模板之后,可先將建立的所述被監(jiān)控對象模板序列化翻譯成被監(jiān)控對象模板的腳本程序,以便于保存,并將腳本程序用于發(fā)布,即將建立的被監(jiān)控對象模板發(fā)布至物聯(lián)網(wǎng)系統(tǒng)中。其中,被監(jiān)控對象模板包括如下字段:被監(jiān)控對象模板的標(biāo)識信息如Id、被監(jiān)控量列表、被監(jiān)控量之間的關(guān)系,以及被監(jiān)控對象模板的其他信息。如模板的類別、適用的應(yīng)用場景等等。本實施例中,值得注意的是,被監(jiān)控對象模板建立成功后,需要將被監(jiān)控對象和被監(jiān)控對象模板對應(yīng)起來,也就是說,需要建立被監(jiān)控對象和被監(jiān)控對象模板的關(guān)聯(lián)關(guān)系,具體地是將被監(jiān)控對象的標(biāo)識信息與所述被監(jiān)控對象模板的標(biāo)識信息關(guān)聯(lián)起來,后續(xù)即可根據(jù)被監(jiān)控對象的標(biāo)識獲取對應(yīng)的被監(jiān)控對象模板。本實施例中,所述被監(jiān)控對象和被監(jiān)控對象模板的對應(yīng)關(guān)系可以為I對I,也可以為多對I,優(yōu)選為多對I,這樣多個被監(jiān)控對象就可以根據(jù)一個被監(jiān)控對象模板創(chuàng)建被監(jiān)控對象實例。
[0062]本實施例提出的被監(jiān)控對象模板的動態(tài)定義方法,先顯示預(yù)設(shè)的圖形化配置界面,然后獲取用戶基于所述圖形化配置界面選擇的被監(jiān)控量,再根據(jù)選擇的所述被監(jiān)控量建立被監(jiān)控對象模板,最終將建立的所述被監(jiān)控對象模板序列化翻譯成被監(jiān)控對象模板的腳本程序,并發(fā)布至物聯(lián)網(wǎng)系統(tǒng)中,實現(xiàn)了在預(yù)設(shè)的圖形化配置界面中動態(tài)定義被監(jiān)控對象模板,而無需開發(fā)代碼,從而降低了被監(jiān)控對象模板定義的難度,減少了開發(fā)成本。進一步地,用戶可以方便的進行協(xié)議配置,不需要程序員參與,降低人力成本,配置通過圖形化完成,配置的操作明顯快于代碼研發(fā),無需文檔編寫,無需代碼編寫等,極大的縮短了協(xié)議定制時間。
[0063]進一步地,基于第一實施例提出本發(fā)明被監(jiān)控對象模板的動態(tài)定義方法的第二實施例,在本實施例,參照圖2,所述步驟S30之后,所述被監(jiān)控對象模板的動態(tài)定義方法還包括:
[0064]步驟S40,在接收到被監(jiān)控對象實例的生成指令時,確定被監(jiān)控對象的標(biāo)識信息;
[0065]步驟S50,根據(jù)預(yù)設(shè)的標(biāo)識信息與被監(jiān)控對象模板的關(guān)聯(lián)關(guān)系,獲取確定的標(biāo)識信息對應(yīng)的被監(jiān)控對象模板的腳本程序;
[0066]步驟S60,將所述被監(jiān)控對象模板的腳本程序反序列化成被監(jiān)控對象模板;
[0067 ]步驟S70,獲取所述被監(jiān)控對象模板中的各個被監(jiān)控量對應(yīng)的值;
[0068]步驟S80,根據(jù)各個被監(jiān)控量對應(yīng)的值與所述被監(jiān)控對象模板,生成被監(jiān)控對象實例。
[0069]在本實施例中,在接收到被監(jiān)控對象實例的生成指令時,先確定被監(jiān)控對象的標(biāo)識信息,優(yōu)選所述被監(jiān)控對象的標(biāo)識信息為被監(jiān)控對象的ID,當(dāng)然,也可以為其它唯一表示所述被監(jiān)控對象的信息。本實施例中,由于應(yīng)用場景是物聯(lián)網(wǎng),因此,所述被監(jiān)控對象表示空調(diào)或冰箱等家居設(shè)備。
[0070]然后,根據(jù)預(yù)設(shè)的標(biāo)識信息與被監(jiān)控對象模板的關(guān)聯(lián)關(guān)系,獲取確定的標(biāo)識信息對應(yīng)的被監(jiān)控對象模板的腳本程序,再將所述被監(jiān)控對象模板的腳本程序反序列化成被監(jiān)控對象模板。由于事先保存的是腳本程序,后續(xù)在使用時,先將所述被監(jiān)控對象模板的腳本程序反序列化成被監(jiān)控對象模板,然后再獲取所述被監(jiān)控對象模板。
[0071]而在得到被監(jiān)控對象模板之后,再獲取所述被監(jiān)控對象模板中的各個被監(jiān)控量對應(yīng)的值,具體的是根據(jù)所述被監(jiān)控對象的標(biāo)識信息,從協(xié)議中,獲取所述被監(jiān)控對象模板中的各個被監(jiān)控量對應(yīng)的值,也可以從傳感器中獲取所述被監(jiān)控對象模板中的各個被監(jiān)控量對應(yīng)的值,當(dāng)然,在獲取到各個被監(jiān)控量對應(yīng)的值之后,可以將各個被監(jiān)控量對應(yīng)的值存儲到數(shù)據(jù)庫中,下次可以直接在數(shù)據(jù)庫中獲取各個被監(jiān)控量對應(yīng)的值,而不用到傳感器或中協(xié)議中獲取,提高了各個被監(jiān)控量對應(yīng)的值的獲取效率。
[0072]在本實施中,根據(jù)各個被監(jiān)控量對應(yīng)的值與所述被監(jiān)控對象模板,生成被監(jiān)控對象實例,也就是將各個被監(jiān)控量對應(yīng)的值添加到被監(jiān)控對象模板中,一個值對應(yīng)一個被監(jiān)控量,即可生成被監(jiān)控對象實例。
[0073]進一步地,參照圖3,所述步驟S80包括:
[0074]步驟S81,根據(jù)各個被監(jiān)控量對應(yīng)的值生成值列表;
[0075]步驟S82,將生成的所述值列表與所述被監(jiān)控對象模板關(guān)聯(lián)存儲,以得到被監(jiān)控對象實例。
[0076]在本實施例中,在得到各個被監(jiān)控量對應(yīng)的值之后,可根據(jù)各個被監(jiān)控量對應(yīng)的值生成值列表,然后將生成的所述值列表與所述被監(jiān)控對象模板關(guān)聯(lián)存儲,以得到被監(jiān)控對象實例,應(yīng)當(dāng)理解的是,所述值列表是一個單獨的列表,由于被監(jiān)控對象模板可能適用于多個被監(jiān)控對象,而每一個被監(jiān)控對象中,被監(jiān)控量的某些參數(shù)不同,例如,在被監(jiān)控量為溫度時,不同的空調(diào)的溫度不同,而每個被監(jiān)控對象模板的格式已經(jīng)固定了,因此,后續(xù)直接將各個被即監(jiān)控對象的值列表與被監(jiān)控對象模板關(guān)聯(lián)存儲,即可得到各個被監(jiān)控對象實例,而不是每次都要將各個被監(jiān)控量對應(yīng)的值添加到被監(jiān)控對象模板中,生成被監(jiān)控對象實例,這樣的話需要復(fù)制被監(jiān)控對象模板,導(dǎo)致存儲空間的浪費,本發(fā)明中之間將值列表與被監(jiān)控對象模板關(guān)聯(lián)存儲,降低了存儲空間的占用率。
[0077]在本實施例中,所述被監(jiān)控實例主要是配置被監(jiān)控對象的名稱,ID(系統(tǒng)自動生成),配置配置量的數(shù)值以及配置新監(jiān)控對象與已有監(jiān)控對象的關(guān)系,如連接關(guān)系、從屬關(guān)系等,并且被監(jiān)控對象實例有生命周期的,根據(jù)系統(tǒng)運行時根據(jù)需要,可構(gòu)建并維護被監(jiān)控對象實例的生命周期。
[0078]在本實施例中,在接收到被監(jiān)控對象實例的生成指令時,先確定被監(jiān)控對象的標(biāo)識信息,然后根據(jù)預(yù)設(shè)的標(biāo)識信息與被監(jiān)控對象模板的關(guān)聯(lián)關(guān)系,獲取確定的標(biāo)識信息對應(yīng)的被監(jiān)控對象模板,再獲取所述被監(jiān)控對象模板中的各個被監(jiān)控量對應(yīng)的值,最終根據(jù)各個被監(jiān)控量對應(yīng)的值與所述被監(jiān)控對象模板,生成被監(jiān)控對象實例,由于被監(jiān)控對象的實例是通過被監(jiān)控對象模板和各個被監(jiān)控量對應(yīng)的值生成的,因此當(dāng)系統(tǒng)中需生成被監(jiān)控對象實例時,只需獲取被監(jiān)控對象模板,以及各個被監(jiān)控量對應(yīng)的值,即可生成該被監(jiān)控對象實例,而無需開發(fā)代碼,從而降低了生成被監(jiān)控對象的實例的難度,減少了發(fā)開成本。
[0079]可以理解,本實施例實質(zhì)上是描述了一種物聯(lián)網(wǎng)中間件的動態(tài)定義,與生成被監(jiān)控對象實例的方法,具體包括兩個方面:一是動態(tài)定義被監(jiān)控模板;二是系統(tǒng)通過被監(jiān)控對象模板將被監(jiān)控對象進行實例化,其中,使用動態(tài)定義被監(jiān)控對象模板的具體包括:
[0080](I)以圖形化的方式建立被監(jiān)控對象模板框架;
[0081](2)以圖形化的方式為被監(jiān)控對象模板框架配置被監(jiān)控量以及監(jiān)控量之間的關(guān)系,并將配置好的被監(jiān)控對象模板發(fā)布到物聯(lián)網(wǎng)系統(tǒng)中;
[0082](3)將物聯(lián)網(wǎng)系統(tǒng)中的被監(jiān)控對象和被監(jiān)控對象模板對應(yīng)起來,并將被監(jiān)控對象以及被監(jiān)控對象模板的對應(yīng)關(guān)系發(fā)布到物聯(lián)網(wǎng)系統(tǒng)中;
[0083]而通過被監(jiān)控對象模板將被監(jiān)控對象進行實例化的具體包括:
[0084](I)在被監(jiān)控對象實例中建立指向被監(jiān)控對象模板的引用;
[0085](2)根據(jù)被監(jiān)控對象模板中量的字段,生成量的值列表數(shù)據(jù)結(jié)構(gòu);
[0086](3)根據(jù)被監(jiān)控對象模板中量之間的關(guān)系字段,建立有關(guān)系的量之間的相互引用。
[0087]在本實施例中,使用圖形化配置的方法,動態(tài)定義物聯(lián)網(wǎng)系統(tǒng)中的被監(jiān)控對象模板,降低了對開發(fā)人員的技術(shù)要求,提升了開發(fā)效率,從降低了物聯(lián)網(wǎng)系統(tǒng)的開發(fā)成本,縮短了開發(fā)周期,然后直接根據(jù)各個被監(jiān)控量對應(yīng)的值與所述被監(jiān)控對象模板,生成被監(jiān)控對象實例,使得被監(jiān)控對象實例生成更便捷簡單。
[0088]進一步地,基于第二實施例提出本發(fā)明被監(jiān)控對象模板的動態(tài)定義方法的第三實施例,在本實施例,所述步驟S30之后,所述被監(jiān)控對象模板的動態(tài)定義方法還包括:
[0089]在所述被監(jiān)控對象模板的腳本程序中提取出數(shù)據(jù)特征,以生成數(shù)字摘要;
[0090]對所述被監(jiān)控對象模板的腳本程序進行壓縮加密;
[0091 ]將壓縮加密后的腳本程序和所述數(shù)字摘要進行關(guān)聯(lián)存儲;
[0092]其中,所述將所述被監(jiān)控對象模板的腳本程序反序列化成被監(jiān)控對象模板的步驟之前,包括步驟:對壓縮加密后的腳本程序進行解壓解密,并基于所述腳本程序關(guān)聯(lián)的數(shù)字摘要檢測解壓解密后的腳本程序是否完整,若完整,則執(zhí)行將所述被監(jiān)控對象模板的腳本程序反序列化成被監(jiān)控對象模板的步驟。
[0093]在本實施例中,在得到所述被監(jiān)控對象模板的腳本程序之后,在所述被監(jiān)控對象模板的腳本程序中提取出數(shù)據(jù)特征,以生成數(shù)字摘要,其中,數(shù)字摘要是根據(jù)安全HASH編碼法(SHA:Secure Hash Algorithm,安全哈希算法)處理得到的,用于對所要傳輸?shù)臄?shù)據(jù)進行運算生成信息摘要,它并不是一種加密機制,但卻能產(chǎn)生信息的數(shù)字“指紋”,能夠確保數(shù)據(jù)沒有被修改或變化,保證信息的完整性不被破壞,在生成數(shù)字摘要后,對所述被監(jiān)控對象模板的腳本程序進行壓縮加密,最終將壓縮加密后的腳本程序,以及所述數(shù)字摘要關(guān)聯(lián)存儲,應(yīng)當(dāng)理解,壓縮是為了減小腳本程序占用的存儲空間,加密是為了提高腳本程序存儲的安全性。
[0094]而在將建立的所述被監(jiān)控對象模板序列化翻譯成被監(jiān)控對象模板的腳本程序之前,則需要對壓縮加密后的腳本程序進行解壓解密,并基于所述數(shù)字摘要檢測解壓解密后的腳本程序是否完整,若完整,才將建立的所述被監(jiān)控對象模板序列化翻譯成被監(jiān)控對象模板的腳本程序。
[0095]在本實施例中,將壓縮加密后的腳本程序以及所述數(shù)字摘要關(guān)聯(lián)存儲,以便于應(yīng)用所述被監(jiān)控對象模板的腳本程序時,可以檢測所述被監(jiān)控對象模板的腳本程序是否完整,有沒有在運行過程中出現(xiàn)代碼的缺失等情況,防止了腳本程序出現(xiàn)代碼缺失時,導(dǎo)致所述被監(jiān)控對象模板實例的生成出現(xiàn)問題,從而提高了被監(jiān)控對象模板實例生成的準(zhǔn)確性。
[0096]本發(fā)明進一步提供一種被監(jiān)控對象模板的動態(tài)定義裝置。
[0097]參照圖4,圖4為本發(fā)明被監(jiān)控對象模板的動態(tài)定義裝置第一實施例的功能模塊示意圖。
[0098]需要強調(diào)的是,對本領(lǐng)域的技術(shù)人員來說,圖4所示功能模塊圖僅僅是一個較佳實施例的示例圖,本領(lǐng)域的技術(shù)人員圍繞圖4所示的被監(jiān)控對象模板的動態(tài)定義裝置的功能模塊,可輕易進行新的功能模塊的補充;各功能模塊的名稱是自定義名稱,僅用于輔助理解該被監(jiān)控對象模板的動態(tài)定義裝置的各個程序功能塊,不用于限定本發(fā)明的技術(shù)方案,本發(fā)明技術(shù)方案的核心是,各自定義名稱的功能模塊所要達成的功能。
[0099]本實施例提出一種被監(jiān)控對象模板的動態(tài)定義裝置,所述被監(jiān)控對象模板的動態(tài)定義裝置包括:
[0100]顯示模塊10,用于顯示預(yù)設(shè)的圖形化配置界面;
[0101]建立模塊20,用于獲取用戶基于所述圖形化配置界面選擇的被監(jiān)控量,根據(jù)選擇的所述被監(jiān)控量建立被監(jiān)控對象模板;
[0102]處理模塊30,用于將建立的所述被監(jiān)控對象模板序列化翻譯成被監(jiān)控對象模板的腳本程序,并發(fā)布至物聯(lián)網(wǎng)系統(tǒng)中。
[0103]在本實施例,所述圖形化配置界面由所述建立模塊20建立,具體的建立方式包括:所述建立模塊20建立一個空模板,指定空模板的名稱和ID,ID可以自動生成,也可以指定,模板有一些附加的字段如類別,等級等等,然后在所述模板中模板增加量(一般是多個量),其中包括量的類型、關(guān)聯(lián)量以及數(shù)據(jù)類型等等,最終,生成的整個模板包括:模板ID,模板名稱,模板信息,量的集合,量與量之間的關(guān)系,也就是說,所述預(yù)設(shè)的圖形化界面中包括上述的模板ID,模板名稱,模板信息,量的集合,量與量之間的關(guān)系等信息。
[0104]在本實施例中,所述顯示模塊10先顯示預(yù)設(shè)的圖形化配置界面,值得注意的是,所述圖形化配置界面表示被監(jiān)控對象模板的框架,是用戶事先定義的。在所述顯示模塊10顯示預(yù)設(shè)的圖形化配置界面時,獲取用戶基于所述圖形化配置界面選擇的被監(jiān)控量,其中,所述被監(jiān)控量包括如下字段:被監(jiān)控量ID、量名稱、量類型、數(shù)據(jù)類型、取值范圍、傳輸方式等等;而所述被監(jiān)控量的量類型包括:測量量(可以通過測量得到的量,比如空調(diào)器的溫度或濕度等,在本系統(tǒng)中測量量可以使用一個數(shù)值或一段數(shù)值描述,如視頻流就是一段數(shù)值)、控制量(可以進行控制的量,比如控制開機關(guān)燈等)、配置量(被監(jiān)控對象的一些固定的屬性,這些屬性一般不需要進行測量,而是由用戶輸入的,如建筑物的占地面積,郵政編碼等)或告警量(告警量是由測量量產(chǎn)生的,本系統(tǒng)把告警量作為一個專門的量,這是因為有些設(shè)備或傳感器是直接給出告警的,而不進行原始量的上報,比如煙感傳感器,之后上報煙霧告警,而不會上報煙霧濃度)等等,其中,配置量是指一旦配置后,就不會發(fā)生變化的量。被監(jiān)控量的數(shù)據(jù)類型包括:浮點、整形、枚舉或字符串等等;被監(jiān)控量的傳輸方式包括:數(shù)據(jù)塊或數(shù)據(jù)流方式。在獲取用戶基于所述圖形化配置界面選擇的所述被控制量之后,可以根據(jù)被監(jiān)控對象模板中事先定義好的關(guān)系,確定用戶基于所述圖形化配置界面選擇的各個被監(jiān)控量之間的關(guān)系,當(dāng)然,也可獲取用戶基于所述圖形化配置界面選擇的各個被監(jiān)控量,以及用戶選擇的各個被監(jiān)控量之間的關(guān)系,最終,所述建立模塊20根據(jù)各個被監(jiān)控量以及各個被監(jiān)控量之間的關(guān)系,即可建立被監(jiān)控對象模板。也就是說,在被監(jiān)控對象模板中獲取各個被監(jiān)控量,然后將各個被監(jiān)控量放在被監(jiān)控模板框架中,所述建立模塊20即可建立被監(jiān)控對象模板。
[0105]應(yīng)當(dāng)理解的是,被監(jiān)控量之間的關(guān)系包括:有關(guān)系的量的個數(shù),以及關(guān)系類型,其中,關(guān)系類型包括多種告警源關(guān)系(比如溫度過高的告警源是溫度,他們之間的關(guān)系是告警源關(guān)系,一般告警是由于測量量的值達到一定范圍后產(chǎn)生的,本關(guān)系就是描述這種關(guān)系)和控制測量關(guān)系(比如開空調(diào)和空調(diào)運行狀態(tài)之間的關(guān)系就是控制測量關(guān)系,控制量一般會和一些狀態(tài)量對應(yīng),比如開機和運行狀態(tài)之間的關(guān)系)。當(dāng)有關(guān)系的量的個數(shù)為兩個時,直接確定兩個量的關(guān)系即可,而對于I對多關(guān)系,使用多個I對I關(guān)系描述,例如溫度和溫度過高,溫度過低這3個量的關(guān)系為:關(guān)系I,溫度過高,溫度,告警源關(guān)系;關(guān)系2,溫度過低,溫度,告警源關(guān)系。
[0106]在本實施例中,在所述建立模塊20建立被監(jiān)控對象模板之后,所述處理模塊30可先將建立的所述被監(jiān)控對象模板序列化翻譯成被監(jiān)控對象模板的腳本程序,以便于保存,并將腳本程序用于發(fā)布,即所述處理模塊30將建立的被監(jiān)控對象模板發(fā)布至物聯(lián)網(wǎng)系統(tǒng)中。其中,被監(jiān)控對象模板包括如下字段:被監(jiān)控對象模板的標(biāo)識信息如Id、被監(jiān)控量列表、被監(jiān)控量之間的關(guān)系,以及被監(jiān)控對象模板的其他信息。如模板的類別、適用的應(yīng)用場景等等。本實施例中,值得注意的是,被監(jiān)控對象模板建立成功后,需要將被監(jiān)控對象和被監(jiān)控對象模板對應(yīng)起來,也就是說,需要建立被監(jiān)控對象和被監(jiān)控對象模板的關(guān)聯(lián)關(guān)系,具體地是將被監(jiān)控對象的標(biāo)識信息與所述被監(jiān)控對象模板的標(biāo)識信息關(guān)聯(lián)起來,后續(xù)即可根據(jù)被監(jiān)控對象的標(biāo)識獲取對應(yīng)的被監(jiān)控對象模板。本實施例中,所述被監(jiān)控對象和被監(jiān)控對象模板的對應(yīng)關(guān)系可以為I對I,也可以為多對I,優(yōu)選為多對I,這樣多個被監(jiān)控對象就可以根據(jù)一個被監(jiān)控對象模板創(chuàng)建被監(jiān)控對象實例。
[0107]本實施例提出的被監(jiān)控對象模板的動態(tài)定義裝置,先顯示預(yù)設(shè)的圖形化配置界面,然后獲取用戶基于所述圖形化配置界面選擇的被監(jiān)控量,再根據(jù)選擇的所述被監(jiān)控量建立被監(jiān)控對象模板,最終將建立的所述被監(jiān)控對象模板序列化翻譯成被監(jiān)控對象模板的腳本程序,并發(fā)布至物聯(lián)網(wǎng)系統(tǒng)中,實現(xiàn)了在預(yù)設(shè)的圖形化配置界面中動態(tài)定義被監(jiān)控對象模板,而無需開發(fā)代碼,從而降低了被監(jiān)控對象模板定義的難度,減少了開發(fā)成本。進一步地,用戶可以方便的進行協(xié)議配置,不需要程序員參與,降低人力成本,配置通過圖形化完成,配置的操作明顯快于代碼研發(fā),無需文檔編寫,無需代碼編寫等,極大的縮短了協(xié)議定制時間。
[0108]進一步地,基于第一實施例提出本發(fā)明被監(jiān)控對象模板的動態(tài)定義裝置的第二實施例,在本實施例,參照圖5,所述被監(jiān)控對象模板的動態(tài)定義裝置還包括:
[0109]確定模塊40,用于在接收到被監(jiān)控對象實例的生成指令時,確定被監(jiān)控對象的標(biāo)識信息;
[0110]獲取模塊50,用于根據(jù)預(yù)設(shè)的標(biāo)識信息與被監(jiān)控對象模板的關(guān)聯(lián)關(guān)系,獲取確定的標(biāo)識信息對應(yīng)的被監(jiān)控對象模板的腳本程序;
[0111]所述處理模塊30,還用于將所述被監(jiān)控對象模板的腳本程序反序列化成被監(jiān)控對象模板;
[0112]所述獲取模塊50,還用于獲取所述被監(jiān)控對象模板中的各個被監(jiān)控量對應(yīng)的值;
[0113]生成模塊60,用于根據(jù)各個被監(jiān)控量對應(yīng)的值與所述被監(jiān)控對象模板,生成被監(jiān)控對象實例。
[0114]在本實施例中,在接收到被監(jiān)控對象實例的生成指令時,所述確定模塊40先確定被監(jiān)控對象的標(biāo)識信息,優(yōu)選所述被監(jiān)控對象的標(biāo)識信息為被監(jiān)控對象的ID,當(dāng)然,也可以為其它唯一表示所述被監(jiān)控對象的信息。本實施例中,由于應(yīng)用場景是物聯(lián)網(wǎng),因此,所述被監(jiān)控對象表示空調(diào)或冰箱等家居設(shè)備。
[0115]然后,所述獲取模塊50根據(jù)預(yù)設(shè)的標(biāo)識信息與被監(jiān)控對象模板的關(guān)聯(lián)關(guān)系,獲取確定的標(biāo)識信息對應(yīng)的被監(jiān)控對象模板的腳本程序,所述處理模塊30再將所述被監(jiān)控對象模板的腳本程序反序列化成被監(jiān)控對象模板。由于事先保存的是腳本程序,后續(xù)在使用時,所述處理模塊30先將所述被監(jiān)控對象模板的腳本程序反序列化成被監(jiān)控對象模板,然后所述獲取模塊50再獲取所述被監(jiān)控對象模板。
[0116]而在得到被監(jiān)控對象模板之后,所述獲取模塊50再獲取所述被監(jiān)控對象模板中的各個被監(jiān)控量對應(yīng)的值,具體的是根據(jù)所述被監(jiān)控對象的標(biāo)識信息,從協(xié)議中,獲取所述被監(jiān)控對象模板中的各個被監(jiān)控量對應(yīng)的值,也可以從傳感器中獲取所述被監(jiān)控對象模板中的各個被監(jiān)控量對應(yīng)的值,當(dāng)然,在獲取到各個被監(jiān)控量對應(yīng)的值之后,可以將各個被監(jiān)控量對應(yīng)的值存儲到數(shù)據(jù)庫中,下次可以直接在數(shù)據(jù)庫中獲取各個被監(jiān)控量對應(yīng)的值,而不用到傳感器或中協(xié)議中獲取,提高了各個被監(jiān)控量對應(yīng)的值的獲取效率。
[0117]在本實施中,所述生成模塊60根據(jù)各個被監(jiān)控量對應(yīng)的值與所述被監(jiān)控對象模板,生成被監(jiān)控對象實例,也就是將各個被監(jiān)控量對應(yīng)的值添加到被監(jiān)控對象模板中,一個值對應(yīng)一個被監(jiān)控量,即可生成被監(jiān)控對象實例。
[0118]進一步地,參照圖6,所述生成模塊60包括:
[0119]生成單元61,用于根據(jù)各個被監(jiān)控量對應(yīng)的值生成值列表;
[0120]存儲單元62,用于將生成的所述值列表與所述被監(jiān)控對象模板關(guān)聯(lián)存儲,以得到被監(jiān)控對象實例。
[0121]在本實施例中,在得到各個被監(jiān)控量對應(yīng)的值之后,所述生成單元61根據(jù)各個被監(jiān)控量對應(yīng)的值生成值列表,然后所述存儲單元62將生成的所述值列表與所述被監(jiān)控對象模板關(guān)聯(lián)存儲,以得到被監(jiān)控對象實例,應(yīng)當(dāng)理解的是,所述值列表是一個單獨的列表,由于被監(jiān)控對象模板可能適用于多個被監(jiān)控對象,而每一個被監(jiān)控對象中,被監(jiān)控量的某些參數(shù)不同,例如,在被監(jiān)控量為溫度時,不同的空調(diào)的溫度不同,而每個被監(jiān)控對象模板的格式已經(jīng)固定了,因此,后續(xù)直接將各個被即監(jiān)控對象的值列表與被監(jiān)控對象模板關(guān)聯(lián)存儲,即可得到各個被監(jiān)控對象實例,而不是每次都要將各個被監(jiān)控量對應(yīng)的值添加到被監(jiān)控對象模板中,生成被監(jiān)控對象實例,這樣的話需要復(fù)制被監(jiān)控對象模板,導(dǎo)致存儲空間的浪費,本發(fā)明中之間將值列表與被監(jiān)控對象模板關(guān)聯(lián)存儲,降低了存儲空間的占用率。
[0122]在本實施例中,所述被監(jiān)控實例主要是配置被監(jiān)控對象的名稱,ID(系統(tǒng)自動生成),配置配置量的數(shù)值以及配置新監(jiān)控對象與已有監(jiān)控對象的關(guān)系,如連接關(guān)系、從屬關(guān)系等,并且被監(jiān)控對象實例有生命周期的,根據(jù)系統(tǒng)運行時根據(jù)需要,可構(gòu)建并維護被監(jiān)控對象實例的生命周期。
[0123]在本實施例中,在接收到被監(jiān)控對象實例的生成指令時,先確定被監(jiān)控對象的標(biāo)識信息,然后根據(jù)預(yù)設(shè)的標(biāo)識信息與被監(jiān)控對象模板的關(guān)聯(lián)關(guān)系,獲取確定的標(biāo)識信息對應(yīng)的被監(jiān)控對象模板,再獲取所述被監(jiān)控對象模板中的各個被監(jiān)控量對應(yīng)的值,最終根據(jù)各個被監(jiān)控量對應(yīng)的值與所述被監(jiān)控對象模板,生成被監(jiān)控對象實例,由于被監(jiān)控對象的實例是通過被監(jiān)控對象模板和各個被監(jiān)控量對應(yīng)的值生成的,因此當(dāng)系統(tǒng)中需生成被監(jiān)控對象實例時,只需獲取被監(jiān)控對象模板,以及各個被監(jiān)控量對應(yīng)的值,即可生成該被監(jiān)控對象實例,而無需開發(fā)代碼,從而降低了生成被監(jiān)控對象的實例的難度,減少了發(fā)開成本。
[0124]可以理解,本實施例實質(zhì)上是描述了一種物聯(lián)網(wǎng)中間件的動態(tài)定義,與生成被監(jiān)控對象實例的裝置,具體包括兩個方面:一是動態(tài)定義被監(jiān)控模板;二是系統(tǒng)通過被監(jiān)控對象模板將被監(jiān)控對象進行實例化,其中,使用動態(tài)定義被監(jiān)控對象模板的具體包括:
[0125](I)以圖形化的方式建立被監(jiān)控對象模板框架;
[0126](2)以圖形化的方式為被監(jiān)控對象模板框架配置被監(jiān)控量以及監(jiān)控量之間的關(guān)系,并將配置好的被監(jiān)控對象模板發(fā)布到物聯(lián)網(wǎng)系統(tǒng)中;
[0127](3)將物聯(lián)網(wǎng)系統(tǒng)中的被監(jiān)控對象和被監(jiān)控對象模板對應(yīng)起來,并將被監(jiān)控對象以及被監(jiān)控對象模板的對應(yīng)關(guān)系發(fā)布到物聯(lián)網(wǎng)系統(tǒng)中;
[0128]而通過被監(jiān)控對象模板將被監(jiān)控對象進行實例化的具體包括:
[0129](I)在被監(jiān)控對象實例中建立指向被監(jiān)控對象模板的引用;
[0130](2)根據(jù)被監(jiān)控對象模板中量的字段,生成量的值列表數(shù)據(jù)結(jié)構(gòu);
[0131](3)根據(jù)被監(jiān)控對象模板中量之間的關(guān)系字段,建立有關(guān)系的量之間的相互引用。
[0132]在本實施例中,使用圖形化配置,動態(tài)定義物聯(lián)網(wǎng)系統(tǒng)中的被監(jiān)控對象模板,降低了對開發(fā)人員的技術(shù)要求,提升了開發(fā)效率,從降低了物聯(lián)網(wǎng)系統(tǒng)的開發(fā)成本,縮短了開發(fā)周期,然后直接根據(jù)各個被監(jiān)控量對應(yīng)的值與所述被監(jiān)控對象模板,生成被監(jiān)控對象實例,使得被監(jiān)控對象實例生成更便捷簡單。
[0133]進一步地,基于第二實施例提出本發(fā)明被監(jiān)控對象模板的動態(tài)定義裝置的第三實施例,在本實施例,所述被監(jiān)控對象模板的動態(tài)定義裝置還包括:
[0134]提取模塊,用于在所述被監(jiān)控對象模板的腳本程序中提取出數(shù)據(jù)特征,以生成數(shù)字摘要;
[0135]壓縮加密模塊,用于對所述被監(jiān)控對象模板的腳本程序進行壓縮加密;
[0136]存儲模塊,用于將壓縮加密后的腳本程序和所述數(shù)字摘要進行關(guān)聯(lián)存儲;
[0137]所述處理模塊,還用于對壓縮加密后的腳本程序進行解壓解密,并基于所述腳本程序關(guān)聯(lián)的數(shù)字摘要檢測解壓解密后的腳本程序是否完整,若完整,則將所述被監(jiān)控對象模板的腳本程序反序列化成被監(jiān)控對象模板。
[0138]在本實施例中,在得到所述被監(jiān)控對象模板的腳本程序之后,所述提取模塊在所述被監(jiān)控對象模板的腳本程序中提取出數(shù)據(jù)特征,以生成數(shù)字摘要,其中,數(shù)字摘要是根據(jù)安全HASH編碼法(SHA:Secure Hash Algorithm,安全哈希算法)處理得到的,用于對所要傳輸?shù)臄?shù)據(jù)進行運算生成信息摘要,它并不是一種加密機制,但卻能產(chǎn)生信息的數(shù)字“指紋”,能夠確保數(shù)據(jù)沒有被修改或變化,保證信息的完整性不被破壞,在生成數(shù)字摘要后,所述壓縮加密模塊對所述被監(jiān)控對象模板的腳本程序進行壓縮加密,最終所述存儲模塊將壓縮加密后的腳本程序,以及所述數(shù)字摘要關(guān)聯(lián)存儲,應(yīng)當(dāng)理解,壓縮是為了減小腳本程序占用的存儲空間,加密是為了提高腳本程序存儲的安全性。
[0139]而在將建立的所述被監(jiān)控對象模板序列化翻譯成被監(jiān)控對象模板的腳本程序之前,則需要對壓縮加密后的腳本程序進行解壓解密,并基于所述數(shù)字摘要檢測解壓解密后的腳本程序是否完整,若完整,才將建立的所述被監(jiān)控對象模板序列化翻譯成被監(jiān)控對象模板的腳本程序。
[0140]在本實施例中,將壓縮加密后的腳本程序以及所述數(shù)字摘要關(guān)聯(lián)存儲,以便于應(yīng)用所述被監(jiān)控對象模板的腳本程序時,可以檢測所述被監(jiān)控對象模板的腳本程序是否完整,有沒有在運行過程中出現(xiàn)代碼的缺失等情況,防止了腳本程序出現(xiàn)代碼缺失時,導(dǎo)致所述被監(jiān)控對象模板實例的生成出現(xiàn)問題,從而提高了被監(jiān)控對象模板實例生成的準(zhǔn)確性。
[0141]需要說明的是,在本文中,術(shù)語“包括”、“包含”或者其任何其它變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者系統(tǒng)不僅包括那些要素,而且還包括沒有明確列出的其它要素,或者是還包括為這種過程、方法、物品或者系統(tǒng)所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括該要素的過程、方法、物品或者系統(tǒng)中還存在另外的相同要素。
[0142]上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
[0143]通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實施例方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如R0M/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機,計算機,月艮務(wù)器,空調(diào)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。
[0144]以上僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其它相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。
【主權(quán)項】
1.一種被監(jiān)控對象模板的動態(tài)定義方法,其特征在于,所述被監(jiān)控對象模板的動態(tài)定義方法包括以下步驟: 顯示預(yù)設(shè)的圖形化配置界面; 獲取用戶基于所述圖形化配置界面選擇的被監(jiān)控量,根據(jù)選擇的所述被監(jiān)控量建立被監(jiān)控對象模板; 將建立的所述被監(jiān)控對象模板序列化翻譯成被監(jiān)控對象模板的腳本程序,并發(fā)布至物聯(lián)網(wǎng)系統(tǒng)中。2.如權(quán)利要求1所述的被監(jiān)控對象模板的動態(tài)定義方法,其特征在于,所述將建立的所述被監(jiān)控對象模板序列化翻譯成被監(jiān)控對象模板的腳本程序,并發(fā)布至物聯(lián)網(wǎng)系統(tǒng)中的步驟之后,所述被監(jiān)控對象模板的動態(tài)定義方法還包括: 在接收到被監(jiān)控對象實例的生成指令時,確定被監(jiān)控對象的標(biāo)識信息; 根據(jù)預(yù)設(shè)的標(biāo)識信息與被監(jiān)控對象模板的關(guān)聯(lián)關(guān)系,獲取確定的標(biāo)識信息對應(yīng)的被監(jiān)控對象模板的腳本程序; 將所述被監(jiān)控對象模板的腳本程序反序列化成被監(jiān)控對象模板; 獲取所述被監(jiān)控對象模板中的各個被監(jiān)控量對應(yīng)的值; 根據(jù)各個被監(jiān)控量對應(yīng)的值與所述被監(jiān)控對象模板,生成被監(jiān)控對象實例。3.如權(quán)利要求2所述的被監(jiān)控對象模板的動態(tài)定義方法,其特征在于,所述根據(jù)各個被監(jiān)控量對應(yīng)的值與所述被監(jiān)控對象模板,生成被監(jiān)控對象實例的步驟包括: 根據(jù)各個被監(jiān)控量對應(yīng)的值生成值列表; 將生成的所述值列表與所述被監(jiān)控對象模板關(guān)聯(lián)存儲,以得到被監(jiān)控對象實例。4.如權(quán)利要求2所述的被監(jiān)控對象模板的動態(tài)定義方法,其特征在于,所述將建立的所述被監(jiān)控對象模板序列化翻譯成被監(jiān)控對象模板的腳本程序的步驟之后,所述被監(jiān)控對象模板的動態(tài)定義方法還包括: 在所述被監(jiān)控對象模板的腳本程序中提取出數(shù)據(jù)特征,以生成數(shù)字摘要; 對所述被監(jiān)控對象模板的腳本程序進行壓縮加密; 將壓縮加密后的腳本程序和所述數(shù)字摘要進行關(guān)聯(lián)存儲; 其中,所述將所述被監(jiān)控對象模板的腳本程序反序列化成被監(jiān)控對象模板的步驟之前,包括步驟:對壓縮加密后的腳本程序進行解壓解密,并基于所述腳本程序關(guān)聯(lián)的數(shù)字摘要檢測解壓解密后的腳本程序是否完整,若完整,則執(zhí)行將所述被監(jiān)控對象模板的腳本程序反序列化成被監(jiān)控對象模板的步驟。5.如權(quán)利要求1-4任一項所述的被監(jiān)控對象模板的動態(tài)定義方法,其特征在于,所述被監(jiān)控量包括:測量量、控制量、配置量或告警量。6.一種被監(jiān)控對象模板的動態(tài)定義裝置,其特征在于,所述被監(jiān)控對象模板的動態(tài)定義裝置包括: 顯示模塊,用于顯示預(yù)設(shè)的圖形化配置界面; 建立模塊,用于獲取用戶基于所述圖形化配置界面選擇的被監(jiān)控量,根據(jù)選擇的所述被監(jiān)控量建立被監(jiān)控對象模板; 處理模塊,用于將建立的所述被監(jiān)控對象模板序列化翻譯成被監(jiān)控對象模板的腳本程序,并發(fā)布至物聯(lián)網(wǎng)系統(tǒng)中。7.如權(quán)利要求6所述的被監(jiān)控對象模板的動態(tài)定義裝置,其特征在于,所述被監(jiān)控對象模板的動態(tài)定義裝置還包括: 確定模塊,用于在接收到被監(jiān)控對象實例的生成指令時,確定被監(jiān)控對象的標(biāo)識信息;獲取模塊,用于根據(jù)預(yù)設(shè)的標(biāo)識信息與被監(jiān)控對象模板的關(guān)聯(lián)關(guān)系,獲取確定的標(biāo)識信息對應(yīng)的被監(jiān)控對象模板的腳本程序; 所述處理模塊,還用于將所述被監(jiān)控對象模板的腳本程序反序列化成被監(jiān)控對象模板; 所述獲取模塊,還用于獲取所述被監(jiān)控對象模板中的各個被監(jiān)控量對應(yīng)的值; 生成模塊,用于根據(jù)各個被監(jiān)控量對應(yīng)的值與所述被監(jiān)控對象模板,生成被監(jiān)控對象實例。8.如權(quán)利要求7所述的被監(jiān)控對象模板的動態(tài)定義裝置,其特征在于,所述生成模塊包括: 生成單元,用于根據(jù)各個被監(jiān)控量對應(yīng)的值生成值列表; 存儲單元,用于將生成的所述值列表與所述被監(jiān)控對象模板關(guān)聯(lián)存儲,以得到被監(jiān)控對象實例。9.如權(quán)利要求7所述的被監(jiān)控對象模板的動態(tài)定義裝置,其特征在于,所述被監(jiān)控對象模板的動態(tài)定義裝置還包括: 提取模塊,用于在所述被監(jiān)控對象模板的腳本程序中提取出數(shù)據(jù)特征,以生成數(shù)字摘要; 壓縮加密模塊,用于對所述被監(jiān)控對象模板的腳本程序進行壓縮加密; 存儲模塊,用于將壓縮加密后的腳本程序和所述數(shù)字摘要進行關(guān)聯(lián)存儲; 所述處理模塊,還用于對壓縮加密后的腳本程序進行解壓解密,并基于所述腳本程序關(guān)聯(lián)的數(shù)字摘要檢測解壓解密后的腳本程序是否完整,若完整,則將所述被監(jiān)控對象模板的腳本程序反序列化成被監(jiān)控對象模板。10.如權(quán)利要求6-9任一項所述的被監(jiān)控對象模板的動態(tài)定義裝置,其特征在于,所述被監(jiān)控量包括:測量量、控制量、配置量或告警量。
【文檔編號】G06F9/45GK106020803SQ201610311581
【公開日】2016年10月12日
【申請日】2016年5月11日
【發(fā)明人】張巍, 謝斌, 張雪林, 唐李卉, 趙曉亮, 張亮
【申請人】深圳市麥斯杰網(wǎng)絡(luò)有限公司