一種高并發(fā)可擴展的智能家居通信方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及智能家居領(lǐng)域,更具體地說,涉及一種高并發(fā)可擴展的智能家居通信方法。
【背景技術(shù)】
[0002]智能家居,是利用綜合布線技術(shù)、網(wǎng)絡(luò)通信技術(shù)、安全防范技術(shù)、自動控制技術(shù)和音視頻技術(shù)將家居生活有關(guān)的設(shè)施集成,構(gòu)建高效的住宅設(shè)施與家庭日程事務(wù)的管理系統(tǒng),提升家居安全性、便利性等性能并實現(xiàn)環(huán)保節(jié)能的居住環(huán)境。但是,當(dāng)前智能家居系統(tǒng)主要是通過互聯(lián)網(wǎng)通信方式控制和操作各個家居設(shè)備,客戶端和設(shè)備控制中心主機都要連接到通信服務(wù)器中,由通信服務(wù)器系統(tǒng)負(fù)責(zé)客戶端和設(shè)備控制中心主機之間的數(shù)據(jù)和命令發(fā)送,無法擴展其它模塊接入支持,只做到最基本的通信功能。
[0003]目前的相關(guān)技術(shù),如2014年I月29日公開的公開號為103543701的中國發(fā)明《一種基于智能控制終端的家居多業(yè)務(wù)控制系統(tǒng)》,其特征在于,包括家庭網(wǎng)關(guān)模板、智能控制終端管理控制模塊、指令收發(fā)模塊及多業(yè)務(wù)處理模塊,家庭網(wǎng)關(guān)模塊提供輸入輸出的網(wǎng)絡(luò)接口 ;智能控制終端管理控制模塊用于接收來自智能控制終端的控制指令并進行排序處理;指令收發(fā)模塊用于接收智能控制終端管理模塊處理后的指令;多業(yè)務(wù)處理模塊用于接收指令收發(fā)模塊下發(fā)的指令并執(zhí)行視頻實時瀏覽、錄像調(diào)閱、遠程實時控制、安防監(jiān)控、短彩信提示、手機瀏覽、網(wǎng)盤存儲、安防報警、可擴展的增值服務(wù)操作,指令收發(fā)模塊將對應(yīng)的操作指令通過家庭網(wǎng)關(guān)模塊發(fā)送到對應(yīng)的智能家居終端。該發(fā)明服務(wù)器與智能控制終端之間只實現(xiàn)簡單的通信與控制,智能控制終端只能支持智能家居既定的通用功能,無法通過服務(wù)器來擴展其它功能模塊的接入支持。而本發(fā)明的服務(wù)器能在智能家居通用功能上支持多業(yè)務(wù)處理,動態(tài)擴展。
【發(fā)明內(nèi)容】
[0004]本發(fā)明要解決的技術(shù)問題之一,在于提供一種高并發(fā)可擴展的智能家居通信方法,根據(jù)智能家居系統(tǒng)中業(yè)務(wù)需要,將客戶端(智能家居設(shè)備)發(fā)出的數(shù)據(jù)和命令按不同業(yè)務(wù)進行插件分類,服務(wù)器根據(jù)不同業(yè)務(wù)采用不同的插件處理,各個插件之間互相獨立,同時服務(wù)器給每個不同的客戶端都分配一個獨立線程處理,做到高并發(fā)的同時可動態(tài)擴展業(yè)務(wù)。
[0005]本發(fā)明之一是這樣實現(xiàn)的:一種高并發(fā)可擴展的智能家居通信方法,包括:
[0006]步驟10、服務(wù)器進行初始化設(shè)置并監(jiān)聽客戶端連接;所述初始化包括了加載各個插件并根據(jù)各所述插件對應(yīng)的插件標(biāo)識建立一插件列表;
[0007]步驟20、服務(wù)器接收客戶端發(fā)送的數(shù)據(jù)包;所述數(shù)據(jù)包中包含客戶端需要發(fā)送的消息對應(yīng)的數(shù)據(jù)和該所述消息所屬插件所對應(yīng)的插件標(biāo)識;
[0008]步驟30、服務(wù)器對所述數(shù)據(jù)包中的插件標(biāo)識進行解析;
[0009]步驟40、服務(wù)器將解析得到的插件標(biāo)識和所述插件列表進行對比,查找是否加載有與該插件標(biāo)識對應(yīng)的插件:若是,則把所述數(shù)據(jù)包發(fā)送給所對應(yīng)的插件,該插件解析所述數(shù)據(jù)包中所述消息對應(yīng)的數(shù)據(jù),根據(jù)所述消息進行相應(yīng)的業(yè)務(wù)處理;若否,則返回錯誤信息給客戶端;
[0010]步驟50、服務(wù)器將所述業(yè)務(wù)處理的結(jié)果發(fā)送給客戶端,告知客戶端已完成對所述消息的處理。
[0011]進一步的,所述步驟10還包括:服務(wù)器監(jiān)聽是否有客戶端發(fā)送連接請求并驗證請求連接的客戶端是否合法,若合法,則服務(wù)器發(fā)送消息給該所述客戶端告知連接成功;若不合法,則服務(wù)器拒絕連接該所述客戶端。
[0012]進一步的,各所述插件根據(jù)用戶需求進行配置,服務(wù)器能隨時添加或移除所述插件,同時所述插件列表也會隨著各所述插件的變化而更新。
[0013]進一步的,所述服務(wù)器給每個不同的客戶端都分配一個獨立線程處理,使得服務(wù)器能同時接收不同客戶端發(fā)送的消息并處理。
[0014]本發(fā)明要解決的技術(shù)問題之二,在于提供一種高并發(fā)可擴展的智能家居通信系統(tǒng),根據(jù)智能家居系統(tǒng)中業(yè)務(wù)需要,將客戶端(智能家居設(shè)備)發(fā)出的數(shù)據(jù)和命令按不同業(yè)務(wù)進行插件分類,服務(wù)器根據(jù)不同業(yè)務(wù)采用不同的插件處理,各個插件之間互相獨立,同時服務(wù)器給每個不同的客戶端都分配一個獨立線程處理,做到高并發(fā)的同時可動態(tài)擴展業(yè)務(wù)。
[0015]本發(fā)明之二是這樣實現(xiàn)的:一種高并發(fā)可擴展的智能家居通信系統(tǒng),包括連接模塊、接收模塊、處理模塊、插件過濾模塊和業(yè)務(wù)監(jiān)聽模塊,所述連接模塊、接收模塊、處理模塊、插件過濾模塊和業(yè)務(wù)監(jiān)聽模塊均位于服務(wù)器:
[0016]所述連接模塊:用于進行初始化設(shè)置并連接客戶端;所述初始化包括了加載各個插件并根據(jù)各所述插件對應(yīng)的插件標(biāo)識建立一插件列表;
[0017]所述接收模塊:用于接收客戶端發(fā)送的數(shù)據(jù)包;所述數(shù)據(jù)包中包含客戶端需要發(fā)送的消息對應(yīng)的數(shù)據(jù)和該所述消息所屬插件所對應(yīng)的插件標(biāo)識;
[0018]所述處理模塊:用于對所述數(shù)據(jù)包中的插件標(biāo)識進行解析并將該插件標(biāo)識發(fā)送到所述插件過濾模塊;
[0019]所述插件過濾模塊:用于將解析得到的插件標(biāo)識和所述插件列表進行對比,查找是否加載有與該插件標(biāo)識對應(yīng)的插件:若是,則把所述數(shù)據(jù)包發(fā)送給所對應(yīng)的插件,該插件解析所述數(shù)據(jù)包中所述消息對應(yīng)的數(shù)據(jù),根據(jù)所述消息進行相應(yīng)的業(yè)務(wù)處理;若否,則返回錯誤信息給客戶端;
[0020]所述業(yè)務(wù)監(jiān)聽模塊:用于將所述業(yè)務(wù)處理的結(jié)果發(fā)送給客戶端,告知客戶端已完成對所述消息的處理。
[0021]進一步的,所述連接模塊還包括監(jiān)聽單元:用于監(jiān)聽是否有客戶端發(fā)送連接請求并驗證請求連接的客戶端是否合法,若合法,則發(fā)送消息給該所述客戶端告知連接成功;若不合法,則拒絕連接該所述客戶端。
[0022]進一步的,各所述插件根據(jù)用戶需求進行配置,服務(wù)器能隨時添加或移除所述插件,同時所述插件列表也會隨著各所述插件的變化而更新。
[0023]進一步的,所述服務(wù)器給每個不同的客戶端都分配一個獨立線程處理,使得服務(wù)器能同時接收不同客戶端發(fā)送的消息并處理。
[0024]采用上述方案后,本發(fā)明具有如下優(yōu)點:
[0025]1、將客戶端發(fā)出的數(shù)據(jù)和命令按不同業(yè)務(wù)所屬插件進行分類,服務(wù)器根據(jù)不同業(yè)務(wù)采用不同的插件處理,且各個插件之間互相獨立,使得服務(wù)器能支持多業(yè)務(wù)處理,擴展業(yè)務(wù)功能;
[0026]2、服務(wù)器能隨時添加或移除插件,同時插件列表也會隨著各插件的變化而更新,這樣使得服務(wù)器能動態(tài)擴展,根據(jù)實際需求開發(fā)新的業(yè)務(wù)或淘汰過時的業(yè)務(wù),靈活性強;
[0027]3、服務(wù)器給每個不同的客戶端都分配一個獨立線程處理,這樣服務(wù)器就能同時接收不同客戶端發(fā)送的消息并處理,提高處理效率。
【附圖說明】
[0028]下面參照附圖結(jié)合實施例對本發(fā)明作進一步的說明。
[0029]圖1為本發(fā)明方法執(zhí)行流程圖。
[0030]圖2為本發(fā)明系統(tǒng)連接示意圖。
【具體實施方式】
[0031]請參閱圖1,本發(fā)明一種高并發(fā)可擴展的智能家居通信方法,包括:
[0032]步驟10、服務(wù)器進行初始化設(shè)置并監(jiān)聽客戶端連接(所述客戶端為智能家居設(shè)備,下同);所述初始化包括了加載各個插件并根據(jù)各所述插件對應(yīng)的插件標(biāo)識建立一插件列表;
[0033]步驟20、服務(wù)器接收客戶端發(fā)送的數(shù)據(jù)包;所述數(shù)據(jù)包中包含客戶端需要發(fā)送的消息對應(yīng)的數(shù)據(jù)和該所述消息所屬插件所對應(yīng)的插件標(biāo)識;
[0034]步驟30、服務(wù)器對所述數(shù)據(jù)包中的插件標(biāo)識進行解析;
[0035]步驟40、服務(wù)器將解析得到的插件標(biāo)識和所述插件列表進行對比,查找是否加載有與該插件標(biāo)識對應(yīng)的插件:若是,則把所述數(shù)據(jù)包發(fā)送給所對應(yīng)的插件,該插件解析所述數(shù)據(jù)包中所述消息對應(yīng)的數(shù)據(jù),根據(jù)所述消息進行相應(yīng)的業(yè)務(wù)處理;若否,則返回錯誤信息給客戶端;
[0036]步驟50、服務(wù)器將所述業(yè)務(wù)處理的結(jié)果發(fā)送給客戶端,告知客戶端已完成對所述消息的處理。
[0037]例如:以客戶端為智能家居主機為例,服務(wù)器與智能家居主機建立連接后,若智能家居主機此時收到安防節(jié)點設(shè)備報警,則智能家居主機將產(chǎn)生一個報警信息,并將該報警信息打包同時加入報警插件標(biāo)識一并發(fā)送給服務(wù)器,服務(wù)器接