設(shè)備聯(lián)動方法、裝置及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于信息技術(shù)領(lǐng)域,尤其涉及設(shè)備聯(lián)動方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002]設(shè)備聯(lián)動是通過各個設(shè)備協(xié)調(diào)運(yùn)作來更大地發(fā)揮單個設(shè)備的作用,使多個設(shè)備結(jié)合成為一個有機(jī)的整體?,F(xiàn)有的設(shè)備聯(lián)動采用硬編碼的方式,一套設(shè)備聯(lián)動規(guī)則僅適用于單一場景,靈活性較差,且數(shù)據(jù)量龐大,導(dǎo)致系統(tǒng)負(fù)擔(dān)較重,性能低下。
【發(fā)明內(nèi)容】
[0003]鑒于此,本發(fā)明實(shí)施例提供了一種設(shè)備聯(lián)動方法、裝置及系統(tǒng),以解決現(xiàn)有的設(shè)備聯(lián)動方式的靈活性較差,且數(shù)據(jù)量龐大,導(dǎo)致系統(tǒng)負(fù)擔(dān)較重的問題。
[0004]一方面,本發(fā)明實(shí)施例提供了一種設(shè)備聯(lián)動方法,包括:
[0005]獲取第一設(shè)備的事實(shí)數(shù)據(jù);
[0006]確定與所述第一設(shè)備關(guān)聯(lián)的聯(lián)動規(guī)則;
[0007]當(dāng)通過規(guī)則引擎確定所述事實(shí)數(shù)據(jù)滿足所述聯(lián)動規(guī)則的預(yù)設(shè)條件時,確定與所述聯(lián)動規(guī)則關(guān)聯(lián)的第二設(shè)備;
[0008]控制所述第二設(shè)備執(zhí)行所述聯(lián)動規(guī)則規(guī)定的動作。
[0009]第二方面,本發(fā)明實(shí)施例提供了一種設(shè)備聯(lián)動裝置,包括:
[0010]事實(shí)數(shù)據(jù)獲取單元,用于獲取第一設(shè)備的事實(shí)數(shù)據(jù);
[0011]聯(lián)動規(guī)則確定單元,用于確定與所述第一設(shè)備關(guān)聯(lián)的聯(lián)動規(guī)則;
[0012]聯(lián)動設(shè)備確定單元,用于當(dāng)通過規(guī)則引擎確定所述事實(shí)數(shù)據(jù)滿足所述聯(lián)動規(guī)則的預(yù)設(shè)條件時,確定與所述聯(lián)動規(guī)則關(guān)聯(lián)的第二設(shè)備;
[0013]動作執(zhí)行單元,用于控制所述第二設(shè)備執(zhí)行所述聯(lián)動規(guī)則規(guī)定的動作。
[0014]第三方面,本發(fā)明實(shí)施例提供了一種設(shè)備聯(lián)動系統(tǒng),包括:
[0015]設(shè)備聯(lián)動裝置,第一設(shè)備和第二設(shè)備;
[0016]所述第一設(shè)備,用于上傳所述第一設(shè)備的事實(shí)數(shù)據(jù)至所述設(shè)備聯(lián)動裝置;
[0017]所述設(shè)備聯(lián)動裝置,用于獲取所述第一設(shè)備的事實(shí)數(shù)據(jù),確定與所述第一設(shè)備關(guān)聯(lián)的聯(lián)動規(guī)則,當(dāng)通過規(guī)則引擎確定所述事實(shí)數(shù)據(jù)滿足所述聯(lián)動規(guī)則的預(yù)設(shè)條件時,確定與所述聯(lián)動規(guī)則關(guān)聯(lián)的所述第二設(shè)備,并控制所述第二設(shè)備執(zhí)行所述聯(lián)動規(guī)則規(guī)定的動作;
[0018]所述第二設(shè)備,用于執(zhí)行所述聯(lián)動規(guī)則規(guī)定的動作。
[0019]本發(fā)明實(shí)施例與現(xiàn)有技術(shù)相比存在的有益效果是:本發(fā)明實(shí)施例通過確定與第一設(shè)備關(guān)聯(lián)的聯(lián)動規(guī)則,并當(dāng)通過規(guī)則引擎確定第一設(shè)備的事實(shí)數(shù)據(jù)滿足聯(lián)動規(guī)則的預(yù)設(shè)條件時,確定與聯(lián)動規(guī)則關(guān)聯(lián)的第二設(shè)備,并控制第二設(shè)備執(zhí)行聯(lián)動規(guī)則規(guī)定的動作,由此通過動態(tài)可配置、易擴(kuò)展的規(guī)則引擎兼容不同的應(yīng)用場景,從而提高了設(shè)備聯(lián)動的靈活性,減輕了系統(tǒng)負(fù)擔(dān),提高了系統(tǒng)的性能。
【附圖說明】
[0020]為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0021]圖1是本發(fā)明實(shí)施例提供的設(shè)備聯(lián)動系統(tǒng)的架構(gòu)圖;
[0022]圖2是本發(fā)明實(shí)施例提供的設(shè)備聯(lián)動方法的實(shí)現(xiàn)流程圖;
[0023]圖3是本發(fā)明實(shí)施例提供的設(shè)備聯(lián)動裝置的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0024]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0025]圖1示出了本發(fā)明實(shí)施例提供的設(shè)備聯(lián)動系統(tǒng)的架構(gòu)圖,為了便于說明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分。參照圖1,該系統(tǒng)包括設(shè)備聯(lián)動裝置11、第一設(shè)備12和第二設(shè)備13。
[0026]第一設(shè)備12,用于上傳第一設(shè)備12的事實(shí)數(shù)據(jù)至設(shè)備聯(lián)動裝置11 ;
[0027]設(shè)備聯(lián)動裝置11,用于獲取第一設(shè)備12的事實(shí)數(shù)據(jù),確定與第一設(shè)備12關(guān)聯(lián)的聯(lián)動規(guī)則,當(dāng)通過規(guī)則引擎確定事實(shí)數(shù)據(jù)滿足聯(lián)動規(guī)則的預(yù)設(shè)條件時,確定與聯(lián)動規(guī)則關(guān)聯(lián)的第二設(shè)備13,并控制第二設(shè)備13執(zhí)行聯(lián)動規(guī)則規(guī)定的動作;
[0028]第二設(shè)備13,用于執(zhí)行聯(lián)動規(guī)則規(guī)定的動作。
[0029]優(yōu)選地,所述設(shè)備聯(lián)動裝置11還用于:
[0030]根據(jù)配置信息配置關(guān)系表以及規(guī)則表,所述關(guān)系表用于記錄聯(lián)動規(guī)則與所述第一設(shè)備12的關(guān)聯(lián)關(guān)系,所述規(guī)則表用于記錄聯(lián)動規(guī)則的預(yù)設(shè)條件以及聯(lián)動規(guī)則規(guī)定的動作。
[0031]可選地,設(shè)備聯(lián)動裝置11具體用于:
[0032]當(dāng)所述第一設(shè)備12的事實(shí)數(shù)據(jù)發(fā)生變化時,根據(jù)所述關(guān)系表找到與所述第一設(shè)備12關(guān)聯(lián)的聯(lián)動規(guī)則;
[0033]根據(jù)所述關(guān)系表確定與所述聯(lián)動規(guī)則的預(yù)設(shè)條件相關(guān)的全部所述第一設(shè)備12 ;
[0034]獲取與所述聯(lián)動規(guī)則的預(yù)設(shè)條件相關(guān)的全部所述第一設(shè)備12的事實(shí)數(shù)據(jù)。
[0035]可選地,設(shè)備聯(lián)動裝置11具體用于:
[0036]從分布式部署的數(shù)據(jù)庫中獲取第一設(shè)備12的事實(shí)數(shù)據(jù)。
[0037]可選地,第一設(shè)備12的事實(shí)數(shù)據(jù)記錄第一設(shè)備12的設(shè)備屬性、屬性數(shù)據(jù)以及數(shù)據(jù)生成時間。
[0038]本發(fā)明實(shí)施例通過設(shè)備聯(lián)動裝置確定與第一設(shè)備關(guān)聯(lián)的聯(lián)動規(guī)則,并當(dāng)通過規(guī)則引擎確定第一設(shè)備的事實(shí)數(shù)據(jù)滿足聯(lián)動規(guī)則的預(yù)設(shè)條件時,設(shè)備聯(lián)動裝置確定與聯(lián)動規(guī)則關(guān)聯(lián)的第二設(shè)備,并控制第二設(shè)備執(zhí)行聯(lián)動規(guī)則規(guī)定的動作,由此通過動態(tài)可配置、易擴(kuò)展的規(guī)則引擎兼容不同的應(yīng)用場景,從而提高了設(shè)備聯(lián)動的靈活性,減輕了系統(tǒng)負(fù)擔(dān),提高了系統(tǒng)的性能。
[0039]圖2示出了本發(fā)明實(shí)施例提供的設(shè)備聯(lián)動方法的實(shí)現(xiàn)流程圖,該流程圖的執(zhí)行主體可以為圖1中的設(shè)備聯(lián)動裝置11,該方法詳述如下:
[0040]在步驟S201中,獲取第一設(shè)備的事實(shí)數(shù)據(jù)。
[0041]作為本發(fā)明的一個實(shí)施例,由于設(shè)備聯(lián)動涉及的數(shù)據(jù)量與并發(fā)量非常大,而且對數(shù)據(jù)安全性的要求較低,因此,第一設(shè)備上報的事實(shí)數(shù)據(jù)可以記錄在NoSQL(非關(guān)系型數(shù)據(jù)庫)中,如記錄在Mongo DB中。又由于事實(shí)數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)較為簡單,因此,可以將第一設(shè)備上報的事實(shí)數(shù)據(jù)存儲在分布式部署的數(shù)據(jù)庫中,如不同的關(guān)系型數(shù)據(jù)庫和/或緩存數(shù)據(jù)庫中。
[0042]優(yōu)選地,第一設(shè)備的事實(shí)數(shù)據(jù)記錄第一設(shè)備的設(shè)備屬性、屬性數(shù)據(jù)以及數(shù)據(jù)生成時間。
[0043]例如,第一設(shè)備為溫度傳感器,設(shè)備屬性為溫度,屬性數(shù)據(jù)為31攝氏度,數(shù)據(jù)生成時間為2015年4月27日17點(diǎn)42分。
[0044]可選地,獲取第一設(shè)備的事實(shí)數(shù)據(jù)具體為:獲取第一設(shè)備的數(shù)據(jù)生成時間最新的事實(shí)數(shù)據(jù)。也就是說,對于同一設(shè)備屬性的屬性數(shù)據(jù),只獲取數(shù)據(jù)生成時間最新的屬性數(shù)據(jù)。
[0045]可選地,獲取第一設(shè)備的事實(shí)數(shù)據(jù)具體為:從分布式部署的數(shù)據(jù)庫中獲取第一設(shè)備的事實(shí)數(shù)據(jù)。若第一設(shè)備上報的事實(shí)數(shù)據(jù)存儲在分布式部署的數(shù)據(jù)庫中,則設(shè)備聯(lián)動裝置從分布式部署的數(shù)據(jù)庫中獲取第一設(shè)備的事實(shí)數(shù)據(jù)。
[0046]在步驟S202中,確定與第一設(shè)備關(guān)聯(lián)的聯(lián)動規(guī)則。
[0047]在步驟S203中,當(dāng)通過規(guī)則引擎確定該事實(shí)數(shù)據(jù)滿足該聯(lián)動規(guī)則的預(yù)設(shè)條件時,確定與該聯(lián)動規(guī)則關(guān)聯(lián)的第二設(shè)備。
[0048]在這里,動態(tài)可配置的規(guī)則引擎可以基于JavaScript引擎來實(shí)現(xiàn),也可以基于數(shù)據(jù)庫或者其他簡單的邏輯解析引擎來實(shí)現(xiàn),較為簡單通用。
[0049]在本發(fā)明實(shí)施例中,確定與該聯(lián)動規(guī)則關(guān)聯(lián)的第二設(shè)備具體為:確定與該聯(lián)動規(guī)則關(guān)聯(lián)的至少一個第二設(shè)備。
[0050]在步驟S202之后,步驟S203之前,該方法還包括:通過規(guī)則引擎判斷該事實(shí)數(shù)據(jù)是否滿足聯(lián)動規(guī)則的預(yù)設(shè)條件。在具體實(shí)現(xiàn)時,可通過JavaScript引擎的eval函數(shù)來判斷該事實(shí)數(shù)據(jù)是否滿足聯(lián)動規(guī)則的預(yù)設(shè)條件。
[0051]由于聯(lián)動規(guī)則的預(yù)設(shè)條件定義簡單,因此資源開銷小,減輕了系統(tǒng)負(fù)擔(dān)。且本發(fā)明實(shí)施例中運(yùn)用的規(guī)則引擎不對應(yīng)用場景產(chǎn)生依賴,可以兼容不同的應(yīng)用場景,適用于各種個性化的場景需求。
[0052]在步驟S204中