本發(fā)明屬于監(jiān)控領(lǐng)域,具體地涉及一種基于數(shù)據(jù)采集傳輸?shù)耐ㄓ嵪到y(tǒng)及通訊方法。
背景技術(shù):
現(xiàn)有的通訊系統(tǒng),包括相互通訊連接的多個(gè)設(shè)備控制器-中央服務(wù)器-客戶端,其中服務(wù)器和客戶端都需要安裝本地化軟件,而且本地化軟件對(duì)硬件要求較高,對(duì)安裝和使用造成了限制。另外,其數(shù)據(jù)采集和通訊中,控制器根據(jù)服務(wù)器的指令實(shí)時(shí)采集和發(fā)送數(shù)據(jù),數(shù)據(jù)的回傳與服務(wù)器指令發(fā)出之間存在時(shí)間滯后,服務(wù)器向客戶端發(fā)送數(shù)據(jù)緩慢,使得客戶端軟件在使用中出現(xiàn)數(shù)據(jù)加載緩慢的現(xiàn)象。
技術(shù)實(shí)現(xiàn)要素:
為了克服現(xiàn)有技術(shù)的缺陷,本發(fā)明的目的在于提供一種基于數(shù)據(jù)采集傳輸?shù)耐ㄓ嵪到y(tǒng)及通訊方法,其能夠減少冗余,對(duì)硬件要求也比較低,傳輸速度較快,并且通訊質(zhì)量好。
本發(fā)明是這樣實(shí)現(xiàn)的:
具體地,本發(fā)明提供一種通訊系統(tǒng),其包括多個(gè)控制器、中央服務(wù)器以及客戶端,所述控制器與所述中央服務(wù)器以及任意兩個(gè)控制器之間通過數(shù)據(jù)線通訊連接,所述中央服務(wù)器與所述客戶端通過網(wǎng)絡(luò)通訊連接,
所述控制器包括處理單元以及分別與所述處理單元通訊連接的人機(jī)交互單元、數(shù)據(jù)采集單元,存儲(chǔ)單元、編碼單元、優(yōu)先級(jí)排序單元以及第一通訊單元;所述中央服務(wù)器包括通訊連接的控制單元、解碼單元、檢測(cè)單元、組合單元、第二通訊單元以及網(wǎng)絡(luò)服務(wù)器;所述數(shù)據(jù)采集單元用于進(jìn)行數(shù)據(jù)采集,所述優(yōu)先級(jí)排序單元用于根據(jù)設(shè)定的數(shù)據(jù)優(yōu)先級(jí)別對(duì)采集的數(shù)據(jù)進(jìn)行優(yōu)先級(jí)排序;所述第一通訊單元與所述第二通訊單元進(jìn)行通訊,并根據(jù)數(shù)據(jù)的優(yōu)先級(jí)優(yōu)先傳輸優(yōu)先級(jí)較高的數(shù)據(jù);
所述控制器用于采集相關(guān)數(shù)據(jù)并根據(jù)設(shè)置的閾值條件主動(dòng)向所述中央服務(wù)器發(fā)送相關(guān)數(shù)據(jù);所述中央服務(wù)器接收相關(guān)數(shù)據(jù)并對(duì)相關(guān)數(shù)據(jù)進(jìn)行處理檢測(cè)后,將相關(guān)數(shù)據(jù)發(fā)送至網(wǎng)絡(luò)服務(wù)器,所述客戶端借助于與網(wǎng)絡(luò)服務(wù)器的通訊查看相關(guān)數(shù)據(jù)。
優(yōu)選地,所述存儲(chǔ)單元設(shè)置有嵌入式數(shù)據(jù)庫,所述嵌入式數(shù)據(jù)庫為Berkeley DB。
優(yōu)選地,所述網(wǎng)絡(luò)服務(wù)器為B/S架構(gòu)訪問。
優(yōu)選地,所述編碼單元對(duì)相關(guān)數(shù)據(jù)依次進(jìn)行拆分、編號(hào)以及壓縮編碼處理,壓縮編碼后數(shù)據(jù)借助于第一通訊單元與第二通訊單元發(fā)送至解碼單元,所述解碼單元對(duì)數(shù)據(jù)進(jìn)行解碼并按照編號(hào)進(jìn)行排序后發(fā)送至檢測(cè)單元,所述檢測(cè)單元對(duì)接收的多段數(shù)據(jù)進(jìn)行檢查,如發(fā)現(xiàn)某段數(shù)據(jù)缺失或錯(cuò)誤,則向控制器發(fā)送該段數(shù)據(jù)的傳輸指令,所述組合單元用于將接收到的多段數(shù)據(jù)進(jìn)行組合。
優(yōu)選地,所述數(shù)據(jù)壓縮算法為行程編碼壓縮算法和哈夫曼編碼算法,數(shù)據(jù)在從控制器向中央服務(wù)器傳輸時(shí)的壓縮比為8:1,從中央服務(wù)器向客戶端傳輸時(shí)的壓縮比為10:1。
優(yōu)選地,所述控制器設(shè)置有時(shí)鐘模塊,所述時(shí)鐘模塊為GPS授時(shí)模塊。
優(yōu)選地,所述人機(jī)交互單元包括顯示設(shè)備、外部輸入設(shè)備以及外部輸出設(shè)備,分別用于顯示工作狀態(tài)、輸入或輸出指令。
優(yōu)選地,所述閾值條件為時(shí)間閾值、溫度閾值、濕度閾值、煙霧報(bào)警閾值以及火災(zāi)報(bào)警閾值中的一種或多種。
優(yōu)選地,本發(fā)明還提供一種通訊方法,其包括以下步驟:
S1、控制器采集數(shù)據(jù)并將數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫內(nèi)部,根據(jù)設(shè)定的閾值條件定時(shí)向中央服務(wù)器發(fā)送數(shù)據(jù),在數(shù)據(jù)發(fā)送之前,優(yōu)先級(jí)排序單元首先對(duì)數(shù)據(jù)進(jìn)行優(yōu)先級(jí)排序,然后按照相關(guān)數(shù)據(jù)的優(yōu)先級(jí),依次將優(yōu)先級(jí)較高的數(shù)據(jù)發(fā)送至編碼單元;
S2、控制器的編碼單元對(duì)相關(guān)數(shù)據(jù)依次進(jìn)行拆分、編號(hào)以及壓縮編碼處理,壓縮編碼后數(shù)據(jù)借助于第一通訊單元與第二通訊單元發(fā)送至解碼單元;
S3、中央服務(wù)器的解碼單元對(duì)數(shù)據(jù)進(jìn)行解碼并按照編號(hào)進(jìn)行排序后發(fā)送至檢測(cè)單元,檢測(cè)單元對(duì)接收的多段數(shù)據(jù)進(jìn)行檢查,如發(fā)現(xiàn)某段數(shù)據(jù)缺失或錯(cuò)誤,則向控制器發(fā)送該段數(shù)據(jù)的傳輸指令,控制器重新發(fā)送該段數(shù)據(jù);
S4、多段數(shù)據(jù)均正確接收后,組合單元將接收到的多段數(shù)據(jù)進(jìn)行組合;
S5、客戶端通過訪問網(wǎng)絡(luò)服務(wù)器瀏覽相關(guān)數(shù)據(jù)。
優(yōu)選地,所述網(wǎng)絡(luò)服務(wù)器采用TCP或UDP通訊協(xié)議,并提供訪問數(shù)據(jù)的API接口。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
①數(shù)據(jù)由控制器主動(dòng)、定時(shí)或根據(jù)既定條件向服務(wù)器發(fā)送數(shù)據(jù),例如控制器僅在設(shè)備狀態(tài)異常時(shí)發(fā)送異常數(shù)據(jù)并設(shè)置其他需要發(fā)送數(shù)據(jù)的閾值定時(shí)發(fā)送。從而,數(shù)據(jù)可以直接由控制器主動(dòng)向服務(wù)器發(fā)送,減少了服務(wù)器發(fā)送指令以及數(shù)據(jù)回傳的通訊過程,使系統(tǒng)整體通訊效率提高;僅傳送異常數(shù)據(jù),降低了傳輸?shù)臄?shù)據(jù)量,減少了冗余操作。
②數(shù)據(jù)在從控制器向中央服務(wù)器傳輸時(shí)壓縮比達(dá)到8:1,中央服務(wù)器向客戶端傳輸時(shí)壓縮比達(dá)到10:1,同時(shí)數(shù)據(jù)按一定的優(yōu)先級(jí)別排序,因此系統(tǒng)傳輸數(shù)據(jù)的負(fù)荷降低,提升系統(tǒng)的響應(yīng)速度。
③由于以上設(shè)計(jì),使得系統(tǒng)的通訊負(fù)荷極低,客戶端在無特殊需要時(shí)無需發(fā)出數(shù)據(jù)請(qǐng)求,由控制器直接推送數(shù)據(jù),因此客戶端得以大大精簡(jiǎn),僅保留接收數(shù)據(jù)功能和遠(yuǎn)程訪問和修改服務(wù)器軟件的功能,因此客戶端可以僅僅為訪問服務(wù)器的瀏覽器用戶界面或手機(jī)APP等,對(duì)安裝的軟硬件環(huán)境要求大大降低。
④如任意一個(gè)中央服務(wù)器出現(xiàn)問題,可自動(dòng)查詢同級(jí)的或地址較小的中央服務(wù)器作為備用服務(wù)器,不影響系統(tǒng)的使用。
⑤在通信傳輸時(shí),主動(dòng)對(duì)數(shù)據(jù)進(jìn)行拆分,進(jìn)一步提高傳輸速度,減少數(shù)據(jù)通訊的時(shí)間,提高通訊的效率。
附圖說明
圖1為本發(fā)明的結(jié)構(gòu)示意圖;
圖2為本發(fā)明的結(jié)構(gòu)示意框圖。
具體實(shí)施方式
以下將參考附圖詳細(xì)說明本發(fā)明的示例性實(shí)施例、特征和方面。附圖中相同的附圖標(biāo)記表示功能相同或相似的元件。盡管在附圖中示出了實(shí)施例的各種方面,但是除非特別指出,不必按比例繪制附圖。
具體地,本發(fā)明提供一種通訊系統(tǒng),如圖1所示,其包括多個(gè)控制器1、中央服務(wù)器2以及客戶端3,控制器1與中央服務(wù)器2以及任意兩個(gè)控制器1之間通過數(shù)據(jù)線通訊連接,中央服務(wù)器2與客戶端3通過網(wǎng)絡(luò)通訊連接。
中央服務(wù)器通過通訊線與各個(gè)控制器連接,每個(gè)控制機(jī)可能會(huì)級(jí)聯(lián)其他控制器,控制器是作為數(shù)據(jù)采集的節(jié)點(diǎn),獲取相應(yīng)的數(shù)據(jù)信息。
由于控制器數(shù)量較多,為了布線等方面,常采用單總線方式,這樣會(huì)出現(xiàn)總線競(jìng)爭(zhēng)的問題,采用總線仲裁方式解決。
同時(shí)對(duì)數(shù)據(jù)進(jìn)行壓縮,降低數(shù)據(jù)傳輸負(fù)荷,例如:
①對(duì)特殊的字段名進(jìn)行簡(jiǎn)寫,如溫度,不使用漢字編碼,temperature單詞簡(jiǎn)寫為temp,有效減小數(shù)據(jù)量。
②對(duì)數(shù)據(jù)設(shè)置固定編碼結(jié)構(gòu),例如溫度濕度數(shù)據(jù)一起發(fā)送時(shí),制定前者為溫度,后者為數(shù)據(jù),用逗號(hào)間隔。
③采用數(shù)據(jù)壓縮算法,例如行程編碼壓縮算法和哈夫曼編碼算法。
簡(jiǎn)化通訊協(xié)議,不采用服務(wù)器輪詢控制器方式獲取數(shù)據(jù),采用控制器定時(shí)發(fā)送、條件發(fā)送方式,減少通訊交互,服務(wù)僅需要對(duì)控制器進(jìn)行好設(shè)置,或者直接對(duì)控制器設(shè)置,其余大部分工作時(shí)間,都是由控制器主動(dòng)上傳數(shù)據(jù)。
1、定時(shí)發(fā)送:控制器內(nèi)設(shè)置時(shí)鐘模塊,由中央服務(wù)器進(jìn)行同步,以保證時(shí)間的一致性,并設(shè)置發(fā)送周期,通過設(shè)定時(shí)間閾值,當(dāng)?shù)竭_(dá)時(shí)間閾值時(shí),控制器主動(dòng)將采集的數(shù)據(jù)向中央服務(wù)器進(jìn)行推送,而不必像現(xiàn)有技術(shù)一樣等待接收中央服務(wù)器的指令再進(jìn)行發(fā)送。
2、條件發(fā)送:例如溫度報(bào)警發(fā)送,當(dāng)控制器獲取的溫度測(cè)量值超過設(shè)定的溫度閾值時(shí),控制器主動(dòng)將采集的數(shù)據(jù)向中央服務(wù)器進(jìn)行推送,并向中央服務(wù)器發(fā)送報(bào)警信息。
如圖2所示,控制器1包括處理單元11以及分別與處理單元11通訊連接的人機(jī)交互單元12、數(shù)據(jù)采集單元16、存儲(chǔ)單元13、編碼單元14、優(yōu)先級(jí)排序單元17以及第一通訊單元15;中央服務(wù)器2包括通訊連接的控制單元21、解碼單元22、檢測(cè)單元23、組合單元24、第二通訊單元25以及網(wǎng)絡(luò)服務(wù)器26。
數(shù)據(jù)采集單元16用于進(jìn)行數(shù)據(jù)采集,優(yōu)先級(jí)排序單元17用于根據(jù)設(shè)定的數(shù)據(jù)優(yōu)先級(jí)別對(duì)采集的數(shù)據(jù)進(jìn)行優(yōu)先級(jí)排序;第一通訊單元與第二通訊單元進(jìn)行通訊,并根據(jù)數(shù)據(jù)的優(yōu)先級(jí)優(yōu)先傳輸優(yōu)先級(jí)較高的數(shù)據(jù)。優(yōu)選級(jí)別可以根據(jù)監(jiān)控?cái)?shù)據(jù)的重要程度進(jìn)行設(shè)定。
優(yōu)選地,所述人機(jī)交互單元包括顯示設(shè)備、外部輸入設(shè)備以及外部輸出設(shè)備,分別用于顯示工作狀態(tài)、輸入或輸出指令。
控制器1用于采集相關(guān)數(shù)據(jù)并根據(jù)設(shè)置的閾值條件主動(dòng)向中央服務(wù)器2發(fā)送相關(guān)數(shù)據(jù);中央服務(wù)器2接收相關(guān)數(shù)據(jù)并對(duì)相關(guān)數(shù)據(jù)進(jìn)行處理檢測(cè)后,將相關(guān)數(shù)據(jù)發(fā)送至網(wǎng)絡(luò)服務(wù)器,客戶端3借助于與網(wǎng)絡(luò)服務(wù)器的通訊查看相關(guān)數(shù)據(jù)。
優(yōu)選地,所述存儲(chǔ)單元設(shè)置有數(shù)據(jù)庫,所述數(shù)據(jù)庫為Berkeley DB數(shù)據(jù)庫,Berkeley DB是一個(gè)開放源代碼的內(nèi)嵌式數(shù)據(jù)庫管理系統(tǒng),能夠?yàn)閼?yīng)用程序提供高性能的數(shù)據(jù)管理服務(wù)。應(yīng)用它程序員只需要調(diào)用一些簡(jiǎn)單的API就可以完成對(duì)數(shù)據(jù)的訪問和管理。此外,還可以使用輕量級(jí)別數(shù)據(jù)庫SQLite、Empress數(shù)據(jù)庫、eXtremeDB數(shù)據(jù)庫、以及mSQL(mini SQL)中的任一種。
優(yōu)選地,網(wǎng)絡(luò)服務(wù)器為B/S架構(gòu)訪問。
優(yōu)選地,編碼單元對(duì)相關(guān)數(shù)據(jù)依次進(jìn)行拆分、編號(hào)以及壓縮編碼處理,壓縮編碼后數(shù)據(jù)借助于第一通訊單元與第二通訊單元發(fā)送至解碼單元,所述解碼單元對(duì)數(shù)據(jù)進(jìn)行解碼并按照編號(hào)進(jìn)行排序后發(fā)送至檢測(cè)單元,所述檢測(cè)單元對(duì)接收的多段數(shù)據(jù)進(jìn)行檢查,如發(fā)現(xiàn)某段數(shù)據(jù)缺失或錯(cuò)誤,則向控制器發(fā)送該段數(shù)據(jù)的傳輸指令,控制器重新向服務(wù)器發(fā)送該段數(shù)據(jù),直至所有數(shù)據(jù)接收完整正確,組合單元將接收到的多段數(shù)據(jù)進(jìn)行組合,得到完整數(shù)據(jù)。
優(yōu)選地,所述數(shù)據(jù)壓縮算法為行程編碼壓縮算法和哈夫曼編碼算法。數(shù)據(jù)在從控制器向服務(wù)器傳輸時(shí)壓縮比達(dá)到8:1,服務(wù)器向客戶端傳輸時(shí)壓縮比達(dá)到10:1,同時(shí)數(shù)據(jù)按一定的優(yōu)先級(jí)別排序,因此系統(tǒng)傳輸數(shù)據(jù)的負(fù)荷降低,提升系統(tǒng)的響應(yīng)速度;
優(yōu)選地,控制器1還設(shè)置有時(shí)鐘模塊16,所述時(shí)鐘模塊為GPS授時(shí)模塊。通過設(shè)定時(shí)間閾值,在相應(yīng)時(shí)間內(nèi),控制器1主動(dòng)向中央服務(wù)器2發(fā)送數(shù)據(jù)?;蛘咭部梢栽O(shè)置其他的條件,當(dāng)其余條件達(dá)到時(shí),觸發(fā)報(bào)警,控制器1主動(dòng)向中央服務(wù)器2發(fā)送數(shù)據(jù)。
在一個(gè)區(qū)域的多個(gè)中央服務(wù)器,如任意一個(gè)中央服務(wù)器出現(xiàn)問題,可自動(dòng)查詢同級(jí)的或地址較小的中央服務(wù)器作為備用服務(wù)器,不影響系統(tǒng)的使用,通過備用服務(wù)器向客戶端發(fā)送數(shù)據(jù)并提供查詢接口。
優(yōu)選地,本發(fā)明還提供一種通訊方法,其包括以下步驟:
S1、控制器采集數(shù)據(jù)并將數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫內(nèi)部,根據(jù)設(shè)定的閾值條件定時(shí)向中央服務(wù)器發(fā)送數(shù)據(jù);
S2、控制器的編碼單元對(duì)相關(guān)數(shù)據(jù)依次進(jìn)行拆分、編號(hào)以及壓縮編碼處理,壓縮編碼后數(shù)據(jù)借助于第一通訊單元與第二通訊單元發(fā)送至解碼單元;
S3、中央服務(wù)器的解碼單元對(duì)數(shù)據(jù)進(jìn)行解碼并按照編號(hào)進(jìn)行排序后發(fā)送至檢測(cè)單元,檢測(cè)單元對(duì)接收的多段數(shù)據(jù)進(jìn)行檢查,如發(fā)現(xiàn)某段數(shù)據(jù)缺失或錯(cuò)誤,則向控制器發(fā)送該段數(shù)據(jù)的傳輸指令,控制器重新發(fā)送該段數(shù)據(jù);
S4、多段數(shù)據(jù)均正確接收后,組合單元將接收到的多段數(shù)據(jù)進(jìn)行組合;
S5、客戶端通過訪問網(wǎng)絡(luò)服務(wù)器瀏覽相關(guān)數(shù)據(jù)。
優(yōu)選地,所述網(wǎng)絡(luò)服務(wù)器采用TCP或UDP通訊協(xié)議,并提供訪問數(shù)據(jù)的API接口。
本發(fā)明中,數(shù)據(jù)由控制器主動(dòng)、定時(shí)或根據(jù)既定條件向服務(wù)器發(fā)送數(shù)據(jù),例如控制器僅在設(shè)備狀態(tài)異常時(shí)發(fā)送異常數(shù)據(jù)并設(shè)置其他需要發(fā)送數(shù)據(jù)的閾值定時(shí)發(fā)送。從而,數(shù)據(jù)可以直接由控制器主動(dòng)向服務(wù)器發(fā)送,減少了服務(wù)器發(fā)送指令以及數(shù)據(jù)回傳的通訊過程,使系統(tǒng)整體通訊效率提高;僅傳送異常數(shù)據(jù),降低了傳輸?shù)臄?shù)據(jù)量,減少了冗余操作。
具體實(shí)施例
本發(fā)明的通訊系統(tǒng)應(yīng)用于樓宇空調(diào)系統(tǒng)的監(jiān)控,多個(gè)樓層均設(shè)置有控制器,通過設(shè)定時(shí)間閾值或者溫度閾值,中央服務(wù)器不再單獨(dú)向多個(gè)控制器發(fā)送采集指令,而是在時(shí)間閾值到達(dá)時(shí),例如可以設(shè)置每天早上8點(diǎn)、中午12點(diǎn)、晚上6點(diǎn)定時(shí)發(fā)送,或者設(shè)置溫度閾值,在溫度監(jiān)控裝置監(jiān)控的溫度達(dá)到溫度閾值時(shí),控制器主動(dòng)將采集的數(shù)據(jù)向中央服務(wù)器進(jìn)行數(shù)據(jù)發(fā)送,而不必像現(xiàn)有技術(shù)一樣等待接收中央服務(wù)器的指令再進(jìn)行發(fā)送,并且在達(dá)到溫度閾值時(shí),向中央服務(wù)器發(fā)送報(bào)警信息。同時(shí),出去溫度閾值,也可以設(shè)置其余閾值,例如濕度、火災(zāi)報(bào)警閾值等。
而平時(shí),控制器則可以將采集到的樓宇監(jiān)控?cái)?shù)據(jù)先存儲(chǔ)在嵌入式的數(shù)據(jù)庫中,在閾值條件達(dá)到時(shí),控制器主動(dòng)向中央服務(wù)器發(fā)送,中央服務(wù)器將數(shù)據(jù)推送至網(wǎng)絡(luò)服務(wù)器,而用戶通過用戶端借助于網(wǎng)絡(luò)接口即可快速訪問監(jiān)控?cái)?shù)據(jù)。
在數(shù)據(jù)傳輸過程中,需要對(duì)數(shù)據(jù)進(jìn)行壓縮,所述數(shù)據(jù)壓縮算法為行程編碼壓縮算法或哈夫曼編碼算法,數(shù)據(jù)在從控制器向中央服務(wù)器傳輸時(shí)的壓縮比為8:1,從中央服務(wù)器向客戶端傳輸時(shí)的壓縮比為10:1。同時(shí),在數(shù)據(jù)傳輸時(shí),用戶可以根據(jù)監(jiān)控?cái)?shù)據(jù)的重要性對(duì)數(shù)據(jù)進(jìn)行排序,數(shù)據(jù)按一定的優(yōu)先級(jí)別排序,對(duì)優(yōu)先級(jí)級(jí)別較高的數(shù)據(jù)進(jìn)行優(yōu)先傳送,因此系統(tǒng)傳輸數(shù)據(jù)的負(fù)荷降低,提升系統(tǒng)的響應(yīng)速度。
優(yōu)選級(jí)別可以根據(jù)監(jiān)控?cái)?shù)據(jù)的重要程度進(jìn)行設(shè)定。例如,樓宇監(jiān)控中,可以設(shè)定溫度數(shù)據(jù)優(yōu)先級(jí)別最高,濕度優(yōu)選級(jí)別較低等。
最后應(yīng)說明的是:以上所述的各實(shí)施例僅用于說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或全部技術(shù)特征進(jìn)行等同替換;而這些修改或替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。