本發(fā)明屬于智能家居領域,更具體的說涉及一種智能家居系統(tǒng)控制總線的性能優(yōu)化系統(tǒng)。
背景技術:
智能家居是以住宅為平臺,利用綜合布線技術、網(wǎng)絡通信技術、安全防范技術、自動化控制技術等將家居生活有關的設備集成,構建高效的住宅設施與家庭日常事務的管理系統(tǒng)。智能家居讓用戶以更方便的手段來管理家庭設備,比如,通過觸摸屏、手持遙控器、電話、互聯(lián)網(wǎng)來控制家用設備,更可以執(zhí)行情景操作,使多個設備形成聯(lián)動;另一方面,智能家居內的各種設備相互間可以通訊,不需要用戶指揮也能根據(jù)不同的狀態(tài)互動運行,從而給用戶帶來最大程度的方便、高效、安全與舒適。
智能家居系統(tǒng)一般由若干個控制器及終端模塊設備構成,以控制器為核心,終端模塊為節(jié)點,相互間可以使用rs485總線連接組網(wǎng)。系統(tǒng)工作時,控制器可以通過數(shù)據(jù)總線將控制請求發(fā)給終端模塊,由終端模塊完成預期的控制行為,以便完成系統(tǒng)的控制流程;同時,終端模塊也可以將采集到的信息通過數(shù)據(jù)總線發(fā)給控制器,由此完成外部環(huán)境的監(jiān)測。
智能家居控制系統(tǒng)在工程布線時,經(jīng)常需要使用長距離控制總線,例如rs485總線。為了降低總線上受到的電磁干擾,通常使用較低的總線傳輸波特率,例如9600、38400等。然而在較低的波特率下傳輸信息,傳輸數(shù)據(jù)的速率會受到較大的限制。同時基于總線固有傳輸方式等原因,請求通常由智能家居控制器發(fā)起,終端模塊在收到請求后應答回復,完成一次信息交互。在某些應用場景下,控制器需要在短時間內發(fā)送大量請求到若干個終端模塊。此時,由于總線低速率通訊效率限制,請求會大量堆積在智能家居控制器發(fā)送接口上,極限情況下會導致丟包等情況的發(fā)生。
技術實現(xiàn)要素:
針對以上情況,為解決由于總線通訊效率低下導致的信息阻塞,而導致的總線通信效率低下的技術問題而提供的一種智能家居系統(tǒng)控制總線的性能優(yōu)化系統(tǒng)。
為了解決上述技術問題,本發(fā)明的技術方案為:一種智能家居系統(tǒng)控制總線的性能優(yōu)化系統(tǒng),包括控制器,所述控制器通過rs485總線與若干個終端模塊相連;所述控制器包括:
邏輯核心:產(chǎn)生控制信息,并將控制信息依次放入發(fā)送隊列;
發(fā)送隊列:保存控制信息,所有從邏輯核心進入發(fā)送模塊的信息按放入發(fā)送隊列時間順序依次進行排列;
發(fā)送模塊:發(fā)送控制信息,發(fā)送模塊直接與rs485總線相連,當發(fā)送模塊檢測到rs485總線處于閑時狀態(tài)時,從發(fā)送隊列頭部取出單條控制信息并通過rs485總線發(fā)出,并等待終端模塊回復信息,然后完成單次通訊交互流程;
管理模塊:監(jiān)控發(fā)送隊列,并對發(fā)送隊列內的控制信息進行優(yōu)化。
由于控制器內邏輯核心、發(fā)送隊列、發(fā)送模塊以及管理模塊的設置,通過整理合并單位時間內發(fā)往同一目標終端模塊的控制信息,減少控制器與終端模塊設備之間的交互次數(shù),增加單次交互的數(shù)據(jù)信息量,有效提升了智能家居控制總線的性能。
作為優(yōu)選,所述管理模塊在控制信息進入發(fā)送隊列時,建立起該控制信息與該控制信息同屬于一個終端模塊的相鄰信息之間的連接關系,使管理模塊通過隊列頭部的一個信息找到相鄰的下一個同屬于一個終端模塊的消息。
將共同發(fā)送給一個終端模塊的控制信息依次建立連接關系,而且連接關系只位于相鄰的兩個共同發(fā)送給一個終端模塊的控制信息之間,為之后的優(yōu)化動作做準備。
作為優(yōu)選,管理模塊檢測發(fā)送隊列的信息數(shù)量,若發(fā)送隊列里的信息總量小于優(yōu)化門限數(shù)量時,不進行優(yōu)化動作,若發(fā)送隊列的信息總量超過優(yōu)化門限數(shù)量時,啟動優(yōu)化流程,優(yōu)化門限數(shù)量取決于rs485總線的負載能力。
使得rs485總線處于負載能力內時,不選擇優(yōu)化動作,只有當超過負載能力時,才進行優(yōu)化動作,使得優(yōu)化動作的效率達到最大化。
作為優(yōu)選,管理模塊以固定時間間隔監(jiān)控發(fā)送隊列,取出位于消息隊列頭部的控制信息,并從頭至尾依次掃描發(fā)送隊列,以取出的控制信息與發(fā)送隊列中的其他控制信息進行比較,若當前發(fā)送隊列中的控制信息與取出的控制信息的時間間隔小于或等于t時間時,啟動優(yōu)化流程;若當前發(fā)送隊列中的控制信息與取出的控制信息的時間間隔大于t時間時,停止優(yōu)化流程。
通過控制時間t,使管理模塊只對在t時間的控制信息進行優(yōu)化,時間t可以自行設置,使得用戶根據(jù)情況自行設定。
作為優(yōu)選,管理模塊記錄當前一段時間內的發(fā)送隊列中信息增長或減少的幅度值來動態(tài)調整t的值,若發(fā)送隊列中信息增長,則t值增大,若發(fā)送隊列中信息減小,則t值減小,并且幅度值越大,t值的變動幅度越大。
管理模塊根據(jù)當前一段內的發(fā)送隊列中信息增長或減少的幅度值來動態(tài)調整t的值,使得t值始終隨著發(fā)送隊列中的信息數(shù)量而動態(tài)改變,使發(fā)送隊列在最需要優(yōu)化時進行優(yōu)化。
作為優(yōu)選,所述管理模塊啟動優(yōu)化流程時,管理模塊統(tǒng)計發(fā)送隊列中發(fā)往各個終端模塊的控制信息的數(shù)量,確定需要優(yōu)化的終端模塊,并從發(fā)送隊列的頭部開始依次向后尋找直至找到第一個對應該終端模塊的消息。
統(tǒng)計發(fā)送到每個終端模塊的控制信息的數(shù)量,根據(jù)實際情況,選擇對超過一定數(shù)量的終端模塊進行優(yōu)化動作,或者也可因為此時終端模塊的重要性,而確定此終端模塊,而選擇對此終端模塊進行優(yōu)化,找到此終端模塊的第一個控制信息。
作為優(yōu)選,所述管理模塊確定需要優(yōu)化的終端模塊后,啟動優(yōu)化流程,以第一個對應該終端模塊的消息為起始,當找個對應該終端模塊的下一個消息時,將當前控制信息內包含的內容并入下一個控制信息內,同時將當前控制信息從發(fā)送隊列中去除,并依次循環(huán),直到找到該終端模塊的最后一個消息為止。
確定好需要優(yōu)化的終端模塊后,將共同發(fā)送到同一個終端模塊的控制信息,按照其連接關系進行優(yōu)化,從第一個控制信息開始,依次將當前控制信息內包含的內容并入下一個控制信息內,同時將當前控制信息從發(fā)送隊列中去除,并依次循環(huán),直到找到該終端模塊的最后一個消息為止,減少控制信息的個數(shù),進而減少控制器與終端模塊設備之間的交互次數(shù),增加單次交互的數(shù)據(jù)信息量。
本發(fā)明的有益效果是:提高了智能家居系統(tǒng)的可靠性,降低了系統(tǒng)信息交互的延遲及丟失,提高了系統(tǒng)控制的時效性。
附圖說明
圖1為本發(fā)明控制器與終端模塊連接關系圖;
圖2為本發(fā)明控制器的內部結構關系圖。
具體實施方式
下面結合附圖對本發(fā)明的具體實施方式作進一步說明。在此需要說明的是,對于這些實施方式的說明用于幫助理解本發(fā)明,但并不構成對本發(fā)明的限定。此外,下面所描述的本發(fā)明各個實施方式中所涉及的技術特征只要彼此之間未構成沖突就可以相互組合。
如圖1、2所示的一種智能家居系統(tǒng)控制總線的性能優(yōu)化系統(tǒng),包括控制器,所述控制器通過rs485總線與若干個終端模塊相連;所述控制器包括:
邏輯核心:產(chǎn)生控制信息,并將控制信息依次放入發(fā)送隊列;
發(fā)送隊列:保存控制信息,所有從邏輯核心進入發(fā)送模塊的信息按放入發(fā)送隊列時間順序依次進行排列;
發(fā)送模塊:發(fā)送控制信息,發(fā)送模塊直接與rs485總線相連,當發(fā)送模塊檢測到rs485總線處于閑時狀態(tài)時,從發(fā)送隊列頭部取出單條控制信息并通過rs485總線發(fā)出,并等待終端模塊回復信息,然后完成單次通訊交互流程;
管理模塊:監(jiān)控發(fā)送隊列,并對發(fā)送隊列內的控制信息進行優(yōu)化。
由于控制器內邏輯核心、發(fā)送隊列、發(fā)送模塊以及管理模塊的設置,通過整理合并單位時間內發(fā)往同一目標終端模塊的控制信息,減少控制器與終端模塊設備之間的交互次數(shù),增加單次交互的數(shù)據(jù)信息量,有效提升了智能家居控制總線的性能。
作為優(yōu)選,所述管理模塊在控制信息進入發(fā)送隊列時,建立起該控制信息與該控制信息同屬于一個終端模塊的相鄰信息之間的連接關系,使管理模塊通過隊列頭部的一個信息找到相鄰的下一個同屬于一個終端模塊的消息。
將共同發(fā)送給一個終端模塊的控制信息依次建立連接關系,而且連接關系只位于相鄰的兩個共同發(fā)送給一個終端模塊的控制信息之間,為之后的優(yōu)化動作做準備。
作為優(yōu)選,管理模塊檢測發(fā)送隊列的信息數(shù)量,若發(fā)送隊列里的信息總量小于優(yōu)化門限數(shù)量時,不進行優(yōu)化動作,若發(fā)送隊列的信息總量超過優(yōu)化門限數(shù)量時,啟動優(yōu)化流程,優(yōu)化門限數(shù)量取決于rs485總線的負載能力。
使得rs485總線處于負載能力內時,不選擇優(yōu)化動作,只有當超過負載能力時,才進行優(yōu)化動作,使得優(yōu)化動作的效率達到最大化。
作為優(yōu)選,管理模塊以固定時間間隔監(jiān)控發(fā)送隊列,取出位于消息隊列頭部的控制信息,并從頭至尾依次掃描發(fā)送隊列,以取出的控制信息與發(fā)送隊列中的其他控制信息進行比較,若當前發(fā)送隊列中的控制信息與取出的控制信息的時間間隔小于或等于t時間時,啟動優(yōu)化流程;若當前發(fā)送隊列中的控制信息與取出的控制信息的時間間隔大于t時間時,停止優(yōu)化流程。
通過控制時間t,使管理模塊只對在t時間的控制信息進行優(yōu)化,時間t可以自行設置,使得用戶根據(jù)情況自行設定。
作為優(yōu)選,管理模塊記錄當前一段時間(以△t來表示)內的發(fā)送隊列中信息增長或減少的幅度值來動態(tài)調整t的值,若發(fā)送隊列中信息增長,則t值增大,若發(fā)送隊列中信息減小,則t值減小,并且幅度值越大,t值的變動幅度越大。
管理模塊根據(jù)一段時間△t(恒定的一段時間,可自由設定)內的發(fā)送隊列中信息增長或減少的幅度值來動態(tài)調整t的值,使得t值始終隨著發(fā)送隊列中的信息數(shù)量而動態(tài)改變,使發(fā)送隊列在最需要優(yōu)化時進行優(yōu)化。
作為優(yōu)選,所述管理模塊啟動優(yōu)化流程時,管理模塊統(tǒng)計發(fā)送隊列中發(fā)往各個終端模塊的控制信息的數(shù)量,確定需要優(yōu)化的終端模塊,并從發(fā)送隊列的頭部開始依次向后尋找直至找到第一個對應該終端模塊的消息。
統(tǒng)計發(fā)送到每個終端模塊的控制信息的數(shù)量,根據(jù)實際情況,選擇對超過一定數(shù)量的終端模塊進行優(yōu)化動作,或者也可因為此時終端模塊的重要性,而確定此終端模塊,而選擇對此終端模塊進行優(yōu)化,找到此終端模塊的第一個控制信息。
作為優(yōu)選,所述管理模塊確定需要優(yōu)化的終端模塊后,啟動優(yōu)化流程,以第一個對應該終端模塊的消息為起始,當找個對應該終端模塊的下一個消息時,將當前控制信息內包含的內容并入下一個控制信息內,同時將當前控制信息從發(fā)送隊列中去除,并依次循環(huán),直到找到該終端模塊的最后一個消息為止。
確定好需要優(yōu)化的終端模塊后,將共同發(fā)送到同一個終端模塊的控制信息,按照其連接關系進行優(yōu)化,從第一個控制信息開始,依次將當前控制信息內包含的內容并入下一個控制信息內,同時將當前控制信息從發(fā)送隊列中去除,并依次循環(huán),直到找到該終端模塊的最后一個消息為止,減少控制信息的個數(shù),進而減少控制器與終端模塊設備之間的交互次數(shù),增加單次交互的數(shù)據(jù)信息量。
本發(fā)明的有益效果是:提高了智能家居系統(tǒng)的可靠性,降低了系統(tǒng)信息交互的延遲及丟失,提高了系統(tǒng)控制的時效性。
以上結合附圖對本發(fā)明的實施方式作了詳細說明,但本發(fā)明不限于所描述的實施方式。對于本領域的技術人員而言,在不脫離本發(fā)明原理和精神的情況下,對這些實施方式進行多種變化、修改、替換和變型,仍落入本發(fā)明的保護范圍內。