本發(fā)明涉及智能設備控制領域,尤其涉及一種智能家居管理系統(tǒng)及其管理方法。
背景技術:
智能家居系統(tǒng)由各種智能設備組成,為了統(tǒng)一管理這些智能設備,在用戶端需要增加一個智能網關設備,所有的智能家居設備都由這個智能網關統(tǒng)一管理。用戶控制智能家居設備時,可以使用手機應用程序給智能家居后臺管理系統(tǒng)發(fā)送控制指令。智能家居后臺管理系統(tǒng)把用戶指令發(fā)送給用戶端的智能網關設備,由智能網關管理具體的智能設備。智能網關也需要把智能設備實時狀態(tài)反饋給后臺管理系統(tǒng),后臺管理系統(tǒng)進行處理后交由手機呈現(xiàn)最新的智能設備狀態(tài)。
如申請?zhí)枮閏n201510265376.x的專利文獻提供的“一種基于運營服務的智能家居管理系統(tǒng)”,該發(fā)明公開了一種基于運營服務的智能家居管理系統(tǒng),包括智能家居運營平臺、客戶終端、智能網關和受控設備。智能家居運營平臺通過以太網與智能網關進行通信,無需固定ip地址用戶即可通過運營平臺對家庭中的設備進行遠程操作。通過運營平臺對用戶開戶注冊、使用、注銷、設備更改、系統(tǒng)設置等功能進行管理。提供完整穩(wěn)定的智能家居遠程控制解決方案。客戶終端,通過internet網訪問智能家居運營平臺的服務端,獲取智能家居遠程操作服務。智能網關,負責本地組網管理與網絡啟動,通過運營平臺對家庭中的設備進行遠程操作。
又如申請?zhí)枮閏n201610087803.4的專利文獻公開的“一種移動終端與后臺管理系統(tǒng)任務關聯(lián)的方法”,該發(fā)明涉及一種移動終端與后臺管理系統(tǒng)任務關聯(lián)的方法,包括如下步驟:s1、移動終端接受后臺管理系統(tǒng)發(fā)來的工作指令,該工作指令是由后臺管理系統(tǒng)接收到內外部工作任務請求或既定工作計劃后生成的,并且將該工作指令和后臺管理系統(tǒng)生成的文件夾進行了關聯(lián);s2、移動終端自動生成一個同樣與工作指令相關聯(lián)的文件包;s3、移動終端產生需要上傳到后臺管理系統(tǒng)的信息后,將欲上傳的信息一并打包并自動存儲于文件包內,然后上傳。
智能網關與后臺管理系統(tǒng)進行信息交換時,需要考慮到以下幾個問題:大量的智能網關設備與后臺管理系統(tǒng)處于連接狀態(tài),智能網關只能接受后臺管理系統(tǒng)發(fā)送的指令,每種智能設備與后臺管理系統(tǒng)交互的內容根據(jù)是不同的。
現(xiàn)有技術的缺點是智能網關與后臺管理系統(tǒng)使用http協(xié)議進行信息交互。使用http協(xié)議雖然開發(fā)及維護簡單,但有一些缺點:
1.由于增加了http的私有包頭,造成發(fā)送的數(shù)據(jù)包長度過大,占用帶寬。
2.為了實現(xiàn)智能網關與后臺管理系統(tǒng)實時信息交互,需要使用基于http的長連接方案,智能網關首先發(fā)起一個http請求,后臺管理系統(tǒng)獲取請求后,如果沒有數(shù)據(jù)返回,http連接一直存在。當有數(shù)據(jù)返回時,后臺管理系統(tǒng)返回數(shù)據(jù)給智能網關,http連接中斷。智能網關獲取后臺數(shù)據(jù)后再次發(fā)起與后臺管理系統(tǒng)的連接,這種方式非常的消耗系統(tǒng)資源。
技術實現(xiàn)要素:
針對上述現(xiàn)有技術的現(xiàn)狀,本發(fā)明提供一種技術方案,用于解決智能網關后臺管理系統(tǒng)通過智能網關控制智能家居時,在后端管理系統(tǒng)與智能家居指令交互過程中系統(tǒng)運行的安全性和穩(wěn)定性問題。
本發(fā)明解決上述技術問題所采用的技術方案為:
一種智能家居管理系統(tǒng)的管理方法,包括:
s1.建立與一智能網關的tcp連接;
s2.接收并解析所述智能網關發(fā)送的設備報文,所述設備報文包括所述智能網關管理的智能設備信息;
s3.根據(jù)自定義數(shù)據(jù)包格式,將控制智能設備的指令信息轉換為二字制字節(jié)流,并將所述二字制字節(jié)流發(fā)送至智能網關。
進一步地,步驟s1中,采用ssl數(shù)字證書認證方式對后臺管理系統(tǒng)及智能網關進行安全認證。
進一步地,步驟s2之后還包括:
向智能網關發(fā)送返回報文,所述返回報文為后臺管理系統(tǒng)對智能網關發(fā)送設備報文的回復。
進一步地,步驟s3中,所述發(fā)送控制智能設備的指令報文的步驟具體為:
s31.生成控制智能設備的指令信息;
s32.根據(jù)自定義數(shù)據(jù)包格式將所述指令信息轉換為二字制字節(jié)流;
s33.將所述二字制字節(jié)流發(fā)送至智能網關。
進一步地,步驟s32中,根據(jù)自定義數(shù)據(jù)包格式將所述指令信息轉換成二字制字節(jié)流;
所述自定義數(shù)據(jù)包格式包括:數(shù)據(jù)長度、保留字節(jié)、數(shù)據(jù)段;
所述數(shù)據(jù)長度為二字節(jié);
所述保留字節(jié)為二字節(jié);
所述數(shù)據(jù)段為后臺管理系統(tǒng)的指令信息,所述指令信息為json格式定義。
進一步地,步驟s3之后還包括:
智能網關接收所述指令報文后,向后臺管理系統(tǒng)發(fā)送指令接收報文,所述指令接收報文為智能網關對后臺管理系統(tǒng)發(fā)送指令報文的回復。
進一步地,還包括:
檢測智能網關與后臺管理系統(tǒng)的tcp連接是否超時:
若智能網關與后臺管理系統(tǒng)不存在報文交互的時間大于預設時間,則判斷為連接超時,斷開后臺管理系統(tǒng)與智能網關的tcp連接。
一種智能家居管理系統(tǒng),包括:
后臺管理系統(tǒng),用于發(fā)送指令信息至智能網關;
智能網關,用于根據(jù)后臺管理系統(tǒng)發(fā)送的指令信息控制智能設備。
進一步地,所述后臺管理系統(tǒng)包括:
連接模塊,用于建立與智能網關的tcp連接;
接收模塊,接收并解析所述智能網關發(fā)送的設備報文,所述設備報文包括所述智能網關管理的智能設備信息;
發(fā)送模塊,用于根據(jù)自定義數(shù)據(jù)包格式,將控制智能設備的指令信息轉換為二字制字節(jié)流,并將所述二字制字節(jié)流發(fā)送至智能網關。
進一步地,所述后臺管理系統(tǒng)還包括:
超時檢測模塊,用于檢測智能網關與后臺管理系統(tǒng)的連接是否超時:
若智能網關與后臺管理系統(tǒng)不存在指令交互的時間大于預設時間,則判斷為連接超時,斷開后臺管理系統(tǒng)建立與智能網關的tcp連接。
本發(fā)明優(yōu)點在于:
1.使用自定義數(shù)據(jù)包格式,數(shù)據(jù)傳送效率更高,節(jié)省帶寬資源;
2.通過ssl數(shù)字證書保證數(shù)據(jù)的保密性;
3.使用json格式發(fā)送指令內容,減少數(shù)據(jù)包的長度;
4.使用異步事件驅動的非阻塞的nio方式實現(xiàn)網絡連接,提高連接能力。
附圖說明
圖1為本發(fā)明實施例一中一種智能家居管理系統(tǒng)的管理方法流程圖;
圖2為本發(fā)明實施例一中一種智能家居管理系統(tǒng)結構圖;
圖3為本發(fā)明實施例三中一種智能家居管理系統(tǒng)的管理方法流程圖;
圖4為本發(fā)明實施例三中發(fā)送模塊結構圖;
圖5為本發(fā)明實施例四中一種智能家居管理系統(tǒng)的管理方法流程圖;
圖6為本發(fā)明實施例四中一種智能家居管理系統(tǒng)結構圖。
具體實施方式
以下是本發(fā)明的具體實施例并結合附圖,對本發(fā)明的技術方案作進一步的描述,但本發(fā)明并不限于這些實施例。
當智能網關后臺管理系統(tǒng)同時管理大量智能網關設備時,網絡連接的性能顯得非常的重要,本發(fā)明系統(tǒng)使用異步事件驅動的非阻塞的nio方式實現(xiàn)網絡連接,使用面向連接的,可靠的,基于字節(jié)流的tcp通訊協(xié)議,保證信息交換的可靠性。在智能網關和后臺管理系統(tǒng)之間,采用ssl數(shù)字證書對通信雙方進行認證,保證數(shù)據(jù)的保密性以及數(shù)據(jù)的安全傳輸。為了減少在網絡上傳送的數(shù)據(jù)包的大小,通過自定義數(shù)據(jù)幀的內容減少需要傳送的字節(jié)流量,同時減輕后臺管理系統(tǒng)的通信壓力。信息的具體內容使用json格式實現(xiàn)提供信息內容的可變性。
以下為本發(fā)明具體實施例。
實施例一
如圖1所示為本實施例中一種智能家居管理系統(tǒng)的管理方法流程圖,該方法包括:
s1.建立與一智能網關的tcp連接;
本步驟中,首先建立智能網關與后臺管理系統(tǒng)的通信連接,后臺管理系統(tǒng)使用netty作為網絡連接框架,以完成通信連接的建立。
netty是由jboss提供的一個java開源框架,是一套在javanio的基礎上封裝的便于用戶開發(fā)網絡應用程序的api(applicationprogramminginterface,應用程序編程接口)。netty是非阻塞事件驅動框架,結合線程組的概念,可以很好的支持高并發(fā),慢連接的場景。
netty提供異步的、事件驅動的網絡應用程序框架和工具,用以快速開發(fā)高性能、高可靠性的網絡服務器和客戶端程序。
本步驟中,智能網關與后臺管理系統(tǒng)的通信連接為tcp連接。
tcp(transmissioncontrolprotocol傳輸控制協(xié)議)是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議,由ietf的rfc793定義。
tcp連接是互聯(lián)網連接協(xié)議集的一種。
tcp通信最重要的特征是:有序和可靠。
s2.接收并解析智能網關發(fā)送的設備報文,所述設備報文包括所述智能網關管理的智能設備信息;
本步驟中,當智能網關與后臺管理系統(tǒng)的tcp連接建立完成后,智能網關向后臺管理系統(tǒng)發(fā)送設備報文,所述設備報文包括所述智能網關管理的智能設備信息,即智能網關把它管理的智能設備發(fā)送給后臺管理系統(tǒng)。
后臺管理系統(tǒng)接收智能網關發(fā)送的設備報文,并對所述設備報文進行解析,獲取所述設備報文中包含的智能網關管理的智能設備信息。
s3.向智能網關發(fā)送控制智能設備的指令報文。
本步驟中,后臺管理系統(tǒng)接收并解析智能網關發(fā)送的設備報文步驟完成后,后臺管理系統(tǒng)向所述智能網關發(fā)送控制智能網關管理的智能設備的指令報文。
如圖2所示為本實施例中一種智能家居管理系統(tǒng)結構圖,該系統(tǒng)包括:
后臺管理系統(tǒng)100、智能網關200;
后臺管理系統(tǒng)100包括:
連接模塊110,用于建立與智能網關的tcp連接;
接收模塊120,用于接收并解析智能網關發(fā)送的設備報文,所述設備報文包括智能網關管理的智能設備信息;
發(fā)送模塊130,用于向智能網關發(fā)送控制智能設備的指令報文。
本實施例提供一種技術方案,用于解決后臺管理系統(tǒng)通過智能網關控制智能家居的指令交互問題。
實施例二
本實施例與之前的實施例不同之處在于,本實施例中還包括:智能網關或后臺管理系統(tǒng)在收到對方報文后,會向對方發(fā)送報文接收成功的反饋信息。
本實施例中一種智能家居管理系統(tǒng)的管理方法包括:
s1.建立與智能網關的tcp連接;
s2.接收并解析智能網關發(fā)送的設備報文,所述設備報文包括所述智能網關管理的智能設備信息;
本步驟中,當后臺管理系統(tǒng)成功接收智能網關發(fā)送的設備報文后,還包括:
向智能網關發(fā)送返回報文,所述返回報文為后臺管理系統(tǒng)對智能網關發(fā)送設備報文的回復。
s3.向智能網關發(fā)送控制智能設備的指令報文。
本步驟中,當智能網關接收到后臺管理系統(tǒng)發(fā)送的控制智能設備的指令報文后,還包括:
智能網關接收所述指令報文后,向后臺管理系統(tǒng)發(fā)送指令接收報文,所述指令接收報文為智能網關對后臺管理系統(tǒng)發(fā)送指令報文的回復。
本實施例為對實施例一中一種智能家居管理系統(tǒng)的管理方法的補充。
實施例三
本實施例與之前的實施例不同之處在于,本實施例中還包括:采用ssl數(shù)字證書認證方式對后臺管理系統(tǒng)及智能網關進行安全認證;根據(jù)自定義數(shù)據(jù)包格式發(fā)送指令信息。
如圖3所示為本實施例中一種智能家居管理系統(tǒng)的管理方法流程圖,該方法包括:
s1.建立與智能網關的tcp連接;
本步驟中,采用ssl數(shù)字證書認證方式對后臺管理系統(tǒng)及智能網關進行安全認證。
ssl(securesocketslayer安全套接層)是為網絡通信提供安全及數(shù)據(jù)完整性的一種安全協(xié)議,由netscape研發(fā),用以保障在internet上數(shù)據(jù)傳輸之安全,利用數(shù)據(jù)加密(encryption)技術,可確保數(shù)據(jù)在網絡上之傳輸過程中不會被截取及竊聽。
ssl可用于:
1)認證用戶和服務器,確保數(shù)據(jù)發(fā)送到正確的客戶機和服務器;
2)加密數(shù)據(jù)以防止數(shù)據(jù)中途被竊?。?/p>
3)維護數(shù)據(jù)的完整性,確保數(shù)據(jù)在傳輸過程中不被改變
為了保證通信的安全性,本實施例使用netty的ssl功能,保證智能網關和后臺管理系統(tǒng)在通信時實現(xiàn)雙向驗證和加密
s2.接收并解析智能網關發(fā)送的設備報文,所述設備報文包括所述智能網關管理的智能設備信息;
s3.根據(jù)自定義數(shù)據(jù)包格式,將控制智能設備的指令信息轉換為二字制字節(jié)流,并將所述二字制字節(jié)流發(fā)送至智能網關。
本步驟中,所述發(fā)送控制智能設備的指令報文的步驟具體為:
s31.生成控制智能設備的指令信息;
s32.根據(jù)自定義數(shù)據(jù)包格式將所述指令信息轉換為二字制字節(jié)流;
s33.將所述二字制字節(jié)流發(fā)送至智能網關。
步驟s32中,根據(jù)自定義數(shù)據(jù)包格式將所述指令信息轉換成二字制字節(jié)流;
本實施例中,智能網關與后臺管理系統(tǒng)使用自定義數(shù)據(jù)包格式,最大程度的減少通信過程中信息的長度。
所述自定義數(shù)據(jù)包格式包括:數(shù)據(jù)長度、保留字節(jié)、數(shù)據(jù)段;
所述數(shù)據(jù)長度為二字節(jié);
所述保留字節(jié)為二字節(jié);
所述數(shù)據(jù)段為后臺管理系統(tǒng)的指令信息,所述指令信息為json格式定義。
json(javascriptobjectnotation,js對象標記)是一種輕量級的數(shù)據(jù)交換格式。它基于ecmascript規(guī)范的一個子集,采用完全獨立于編程語言的文本格式來存儲和表示數(shù)據(jù)。簡潔和清晰的層次結構使得json成為理想的數(shù)據(jù)交換語言。易于人閱讀和編寫,同時也易于機器解析和生成,并有效地提升網絡傳輸效率。
一個完整的指令字節(jié)流可能會被tcp拆分成多個包進行發(fā)送,也可能把幾個小的指令封裝成一個大的數(shù)據(jù)包發(fā)送,系統(tǒng)在處理時,需要考慮到tcp的粘包和拆包問題。
處理方案如下:
從tcp接收緩沖區(qū)獲取字節(jié)流時,如果字節(jié)流長度超過512字節(jié),認為指令異常,給智能網關發(fā)送異常信息,關閉連接,等候智能網關重新連接。
如果緩沖區(qū)字節(jié)流長度大于4個字節(jié)(兩字節(jié)數(shù)據(jù)長度+兩位保留字節(jié)),讀取前兩個字節(jié),轉換成short型,獲取數(shù)據(jù)段長度。
如果緩沖區(qū)字節(jié)流長度少于當前指令字節(jié)流的長度(2+2+數(shù)據(jù)段長度),返回重新讀取字節(jié)流。否則從字節(jié)流中獲取數(shù)據(jù)段內容,轉換成json對象。
智能網關與后臺管理系統(tǒng)之間的指令通過json格式定義,它具有方便傳輸,較少冗余字符,方便轉換,易于閱讀的優(yōu)點。
以下為智能網關與后臺管理系列指令交互的具體描述:
1.智能網關向后臺管理系統(tǒng)發(fā)送設備報文:智能網關把它管理的智能
設備發(fā)送給后臺管理系統(tǒng)
2.后臺管理系統(tǒng)向智能網關發(fā)送返回報文:后臺管理系統(tǒng)對智能網關發(fā)送設備報文的回復
3.后臺管理系統(tǒng)向智能網關發(fā)送指令報文:后臺管理系統(tǒng)控制智能設備命令
4.智能網關向后臺管理系統(tǒng)發(fā)送指令接受報文:智能網關接收指令后,給后臺管理系統(tǒng)返回已接收指令信息
本實施例中一種智能家居管理系統(tǒng)包括:
后臺管理系統(tǒng)100、智能網關200;
后臺管理系統(tǒng)100包括:
連接模塊110;
接收模塊120;
發(fā)送模塊130。
如圖4所示為本實施例中發(fā)送模塊130結構圖,該模塊包括:
指令生成單元131,用于生成控制智能設備的指令信息;
指令轉換單元132,用于將所述指令信息轉換為二字制字節(jié)流;
指令發(fā)送單元133,用于將所述二字制字節(jié)流發(fā)送至智能網關。
本實施例優(yōu)點在于:
1.使用自定義數(shù)據(jù)包格式,數(shù)據(jù)傳送效率更高,節(jié)省帶寬資源;
2.通過ssl數(shù)字證書保證數(shù)據(jù)的保密性;
3.使用json格式發(fā)送指令內容,減少數(shù)據(jù)包的長度;
4.使用異步事件驅動的非阻塞的nio方式實現(xiàn)網絡連接,提高連接能力。
實施例四
本實施例與之前的實施例不同之處在于,本實施例中還包括智能網關與后臺管理系統(tǒng)的連接超時檢測。
如圖5所示為本實施例中一種智能家居管理系統(tǒng)的管理方法流程圖,該方法包括:
s1.建立與智能網關的tcp連接;
s2.接收并解析智能網關發(fā)送的設備報文,所述設備報文包括所述智能網關管理的智能設備信息;
s3.根據(jù)自定義數(shù)據(jù)包格式,將控制智能設備的指令信息轉換為二字制字節(jié)流,并將所述二字制字節(jié)流發(fā)送至智能網關。
本實施例中,步驟s3之后還包括:
s4.檢測智能網關與后臺管理系統(tǒng)的tcp連接是否超時:
若智能網關與后臺管理系統(tǒng)不存在報文交互的時間大于預設時間,則判斷為連接超時,斷開后臺管理系統(tǒng)與智能網關的tcp連接。
本步驟中,增加檢測智能網關的連接超時功能,超過時間可以認為雙方連接中斷,清除智能網關占用的資源,關閉連接通道。
如圖6所示為本實施例中一種智能家居管理系統(tǒng)結構圖,該系統(tǒng)包括:
后臺管理系統(tǒng)100、智能網關200;
后臺管理系統(tǒng)100包括:
連接模塊110;
接收模塊120;
發(fā)送模塊130。
本實施例中,后臺管理系統(tǒng)100還包括:
超時檢測模塊140,用于檢測智能網關與后臺管理系統(tǒng)的連接是否超時:
若智能網關與后臺管理系統(tǒng)不存在指令交互的時間大于預設時間,則判斷為連接超時,斷開后臺管理系統(tǒng)建立與智能網關的tcp連接。
本實施例優(yōu)點在于,當智能網關與后臺管理系統(tǒng)不存在指令交互的時間超過預設值時,自動斷開連接,節(jié)省資源。
本文中所描述的具體實施例僅僅是對本發(fā)明精神作舉例說明。本發(fā)明所屬技術領域的技術人員可以對所描述的具體實施例做各種各樣的修改或補充或采用類似的方式替代,但并不會偏離本發(fā)明的精神或者超越所附權利要求書所定義的范圍。