《一種數字家庭網路多任務並發執行裝置的並發執行方法》是中山大學於2006年1月9日申請的專利,該專利的申請號為2006100327080,授權公告號為CN100501682,授權公告日為2009年6月17日,發明人是羅笑南、林業。該發明屬於數字家庭網路技術及自動控制領域。
《一種數字家庭網路多任務並發執行裝置的並發執行方法》包括作為處理核心的控制模組、為控制模組和數字家庭網路的設備提供互動接口的通訊模組、觸發任務執行的任務觸發模組,所述控制模組設定有任務列表、設備使用表和設備執行佇列;通過該發明的裝置協同契約能夠使多個任務並發執行,縮短了多個任務的整體執行時間在並發執行的同時,能夠解決任務衝突的問題。
2013年10月,《一種數字家庭網路多任務並發執行裝置的並發執行方法》獲得第十五屆中國專利優秀獎。
(概述圖為《一種數字家庭網路多任務並發執行裝置的並發執行方法》摘要附圖)
基本介紹
- 中文名:一種數字家庭網路多任務並發執行裝置的並發執行方法
- 類別:發明專利
- 授權公告號:CN100501682
- 授權公告日:2009年6月17日
- 申請號:2006100327080
- 申請日:2006年1月9日
- 專利權人:中山大學
- 地址:廣東省廣州市新港西路135號
- 發明人:羅笑南、林業
- 分類號:G06F9/48(2006.01)I、G06F9/46(2006.01)I、H04L12/28(2006.01)N
- 專利代理機構:廣州粵高專利代理有限公司
- 代理人:禹小明
專利背景,發明內容,專利目的,技術方案,有益效果,附圖說明,權利要求,實施方式,操作方式,實施案例,榮譽表彰,
專利背景
截至2006年,網路基礎設施已經遍及全世界,Internet接入已不僅局限於個人計算機和工作站,各種電器也可以接入Internet。這得益於新的數字與網路技術,諸如空調、冰櫃、電視、洗衣機等許多消費電子設備以及印表機等辦公設備都已成為“網路化”設備,這些設備我們稱之為數字家庭網路設備。這將使家庭中的各個設備脫離孤立的運作狀態,數字家庭網路設備間的協同工作成為可能。
要實現數字家庭網路設備間能夠協同工作,首先用戶要定製任務。一個任務就是對多個設備進行不同操作的執行命令組合。一個任務要包含:觸發其執行的條件、任務的優先權和按順序排列的執行命令。這樣當觸發事件滿足該任務的觸發條件後,控制模組就會按照任務中的執行命令,順序的向不同的家庭設備傳送控制信號,使得設備間能夠協同的工作。
當用戶訂製的多個任務在同一時間段內相繼滿足觸發條件要進行任務的執行時,不同的任務可能會在相同的時間對同一個設備進行操作,這將不可避免地造成設備的設定混亂、系統的混亂,甚至可能造成網路的崩潰,這就是所謂的任務衝突。中國專利申請號為03147922.7,發明名稱為《一種防治家庭網路上環境模式衝突的方法》提供了一種解決家庭網路設備衝突的方案,其技術方案可歸納為:保證在任何時間內最多只有一個任務在執行,其他的任務進入執行佇列等待,執行完一個任務後,再從執行佇列中取出一個任務來執行。這種解決方案雖然避免了同一時刻多個任務同時採用同一設備的衝突,但是同一時間內只能有一個任務被執行,其他任務只能等待該任務執行完畢而不能同時執行,影響了所有要執行的任務的整體執行的時間。同時也降低了設備資源的利用率。
有鑒於此,有必要研製一種既能避免設備的衝突,又能同時使多個任務並發執行的技術。
發明內容
專利目的
《一種數字家庭網路多任務並發執行裝置的並發執行方法》的目的在於克服2006年以前技術的不足,提供一種在數字家庭網路中可實現多個任務並發執行,且能避免多個任務並發執行時在同一時間對同一設備進行操作的衝突的多任務並發執行裝置的並發執行方法。
技術方案
《一種數字家庭網路多任務並發執行裝置的並發執行方法》所述多任務並發執行裝置包括作為處理核心的控制模組、為控制模組和數字家庭網路的設備提供互動接口的通訊模組、觸發任務執行的任務觸發模組,所述控制模組設定有任務列表、設備使用表和設備執行佇列;
所述並發執行方法包括如下步驟:
(1)通過任務觸發模組觸發並啟動任務;
(2)根據任務列表中順序排列的該任務的命令集,判斷具體命令所需的設備是否空閒,如果空閒則執行步驟(6),否則執行步驟(3);
(3)判斷能否搶占該設備;如果可以,則執行步驟(5);否則執行步驟(4);
(4)將任務放入設備執行佇列;
(5)中斷正使用該設備的任務,將被中斷的任務放入設備執行佇列;
(6)占用設備,執行該命令;
(7)判斷該任務的命令集是否執行完畢;如果完畢則執行步驟(8);否則返回步驟(2);
(8)置設備的狀態為空閒,並結束該任務。
上述技術方案中,所述任務列表採用如下結構:![一種數字家庭網路多任務並發執行裝置的並發執行方法 一種數字家庭網路多任務並發執行裝置的並發執行方法](/img/7/f02/IWOjZmY4MzNxEDZjFTYkFWM1UmMjNDM1Q2MmlzNjJ2MmNGM3Q2M5MWOwYjNvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![一種數字家庭網路多任務並發執行裝置的並發執行方法 一種數字家庭網路多任務並發執行裝置的並發執行方法](/img/7/f02/IWOjZmY4MzNxEDZjFTYkFWM1UmMjNDM1Q2MmlzNjJ2MmNGM3Q2M5MWOwYjNvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
任務列表中包含了用戶所定製的所有任務。其中每個任務有一區別於其他任務的唯一的任務號、觸發條件以及任務執行的優先權。緊接這些信息之後的是該任務的順序排列的命令,每一個命令又包含設備號來確定控制哪一個設備,同時每一個命令還包括操作指令,來對指定的設備進行具體的操作。依次執行完這些命令就完成了一個任務的執行,也就達到了用戶定製任務來實現家庭設備自動、協同工作的目的。
所述設備使用表採用如下結構:
設備1 | 設備2 | 設備3 | …… | 設備m | 設備n |
任務x | 閒空 | 閒空 | …… | 任務y | 任務z |
設備使用表描述了家庭網路中所有設備的使用情況。如果當前時刻設備n被任務x所使用,那么在設備使用表中,設備n所對應的項標記為任務x占用,否則標記為空閒。
該發明所述任務觸發模組的觸發方式可採用按時間觸發、或按設備的空閒狀態觸發、或按條件觸發、或用戶人工觸發。任務觸發模組專門負責監視數字家庭中事件的發生,這些事件包括時間事件,每一個時間間隔都會產生一個這樣的事件,例如每秒都會產生一個時間事件;查詢設備狀態的事件,任務觸發模組循環地查詢所需監視設備的狀態,每查詢一個設備的狀態,就產生一個事件,例如當設備狀態為空閒時,當作一觸發事件觸發任務的執行;按條件觸發,例如探測到環境溫度高於設定的溫度時,觸發空調啟動製冷,或是探測到煙霧超標且溫度明顯上升時,觸發滅火裝置滅火等;用戶發出控制信號的事件,用戶通過發出控制信號以達到執行所需任務的目的時,就產生一個事件。當有事件產生時,該模組就會讀取任務列表的任務,將任務的觸發條件與產生的事件相比較,如果一致,則觸發該任務的執行。
所述通訊模組負責控制模組與被控制的設備的互動。具體包括把控制模組的任務對設備的操作指令傳送到指定的設備,使得設備執行任務所要求的操作。還包括設備執行完操作後,把操作結果、設備狀態等數據返回給控制模組,讓控制模組能夠根據這些結果進行該任務的下一個命令的處理。
所述並發執行方法的步驟(1)的任務觸發模組啟動後,還判斷所觸發的任務是否有效,所述判斷以任務列表是否有符合該觸發條件的任務為依據。
所述步驟(1)的觸發方式可採用按時間觸發、或按設備的空閒狀態觸發、或按條件觸發、或用戶人工觸發、或其相結合的方式實現。
所述步驟(3)以任務的優先權高低為標準,高優先權的任務可以搶占低優先權的任務正使用的設備。
所述按設備的空閒狀態觸發的方式,按照設備執行佇列中優先權的高低順序觸發任務。
有益效果
(1)《一種數字家庭網路多任務並發執行裝置的並發執行方法》能夠使多個任務並發執行,縮短了多個任務的整體執行時間,所謂並發執行就是多個任務能夠在同一時刻相互獨立的運行,每一個任務執行的結果不受其他任務的影響,其執行過程中也不能影響其他任務的執行結果。每一個任務在並發的多任務執行環境下執行的結果和在單一任務執行環境下的結果是一樣的。該發明的最大特點是能夠並發執行多個任務。這就使得受到觸發的任務不用等待正在執行的任務執行結束,而能夠立即執行。縮短了多個任務的整體執行時間,而且能夠提高設備資源的利用率。
(2)在並發執行的同時,能夠解決任務衝突的問題,該發明的另一個特點是對多個任務在同一時間對同一設備進行操作時會造成設備設定混亂、任務執行混亂以及網路崩潰的任務衝突問題給出了一個好的解決方案,能保證每個任務執行的正確性,同時也能保證網路的穩定性。
附圖說明
圖1為《一種數字家庭網路多任務並發執行裝置的並發執行方法》的多任務並發執行裝置結構示意圖;
圖2為該發明的工作流程圖;
圖3為該發明的觸發設備執行佇列的任務流程圖;
圖4為該發明的實施例任務列表示意圖;
圖5為該發明的設備執行佇列示意圖。
權利要求
1、《一種數字家庭網路多任務並發執行裝置的並發執行方法》其特徵在於所述多任務並發執行裝置包括作為處理核心的控制模組、為控制模組和數字家庭網路的設備提供互動接口的通訊模組、觸發任務執行的任務觸發模組,所述控制模組設定有任務列表、設備使用表和設備執行佇列。
所述並發執行方法包括如下步驟:
(1)通過任務觸發模組觸發並啟動任務;
(2)根據任務列表中順序排列的該任務的命令集,判斷具體命令所需的設備是否空閒,如果空閒則執行步驟(6),否則執行步驟(3);
(3)判斷能否搶占該設備;如果可以,則執行步驟(5);否則執行步驟(4);
(4)將任務放入設備執行佇列;
(5)中斷正使用該設備的任務,將被中斷的任務放入設備執行佇列;
(6)占用設備,執行該命令;
(7)判斷該任務的命令集是否執行完畢;如果完畢則執行步驟(8);否則返回步驟(2);
(8)置設備的狀態為空閒,並結束該任務。
2、根據權利要求1所述的數字家庭網路多任務並發執行裝置的並發執行方法,其特徵在於所述步驟(1)的任務觸發模組的觸發方式採用按時間觸發、或按設備的空閒狀態觸發、或按條件觸發、或用戶人工觸發、或其相結合的方式實現。
3、根據權利要求2所述的數字家庭網路多任務並發執行裝置的並發執行方法,其特徵在於所述步驟(3)以任務的優先權高低為標準,高優先權的任務可以搶占低優先權的任務正使用的設備。
4、根據權利要求2所述的數字家庭網路多任務並發執行裝置的並發執行方法,其特徵在於所述按設備的空閒狀態觸發的方式,按照設備執行佇列中優先權的高低順序觸發任務。
實施方式
操作方式
《一種數字家庭網路多任務並發執行裝置的並發執行方法》的多任務並發執行裝置的結構示意圖如附圖1所示,包括控制模組、任務觸發模組、通訊模組,以及任務列表、設備使用表、設備執行佇列。
該發明的工作流程圖如附圖2所示,具體描述為:
(1)通過任務觸發模組觸發並啟動任務;
(2)根據任務列表中順序排列的該任務的命令集,判斷具體命令所需的設備是否空閒,如果空閒則執行步驟(6),否則執行步驟(3);
(3)判斷能否搶占該設備;如果可以,則執行步驟(5);否則執行步驟(4);
(4)將任務放入設備執行佇列;
(5)中斷正使用該設備的任務,將被中斷的任務放入設備執行佇列;
(6)占用設備,執行該命令;
(7)判斷該任務的命令集是否執行完畢;如果完畢則執行步驟(8);否則返回步驟(2);
(8)置設備的狀態為空閒,並結束該任務。
步驟(8)置設備的狀態為空閒後,為符合任務觸發模組的觸發步驟(8)置設備的狀態為空閒後,為符合任務觸發模組的觸發方式的一種事件,故而任務觸發模組觸發在設備執行佇列排隊的其他任務執行,其流程如附圖3所示,控制模組在收到設備狀態為空閒的訊息後,啟動任務觸發模組觸發任務的啟動,此時判斷設備執行佇列是否為空,如果為空,表示沒有任務需要用到該設備,則結束整個過程,如果設備執行佇列不空,則從佇列中取出一個任務繼續執行,需要說明的是,在設備佇列中排隊的任務,往往都是由於優先權低而被迫中斷運行的,所以此時可在其中斷處繼續運行。
所述設備執行佇列如附圖5所示,佇列中的每一項表示等待使用該設備的一個任務。當設備空閒的時候,控制模組會從該佇列的一端取出一個任務來使用該設備,使得任務能夠繼續執行。當某一任務n試圖使用該設備,但設備被其他優先權更高任務m使用時,控制模組會把任務n放到該設備的執行佇列的另一端等待設備的使用權,而佇列中的排列順序以任務的優先權高低為標準。
實施案例
下面通過一個例子來對《一種數字家庭網路多任務並發執行裝置的並發執行方法》的運作進行說明。
假設現在時間是晚上7點整。在一個家庭里,用戶正在吃晚飯。此時產生一個時間事件,觸發了一個定時執行的任務a如附圖4所示,該任務是一個洗澡設定程式,包括的一系列命令分別為:向熱水器發出加熱到80度的指令、向音響設備發出播放指定的音頻數據的指令、向通向浴室的走廊的電燈發出開燈指令、向浴室內的電燈發出開燈指令。7點整的時候首先要執行第一條指令。控制模組所示首先通過設備使用表查看熱水器是否空閒,發現其空閒後占用熱水器設備並向其發出加熱到80度的指令。
7點10分,用戶吃晚飯後突然想聽音樂,就通過遙控器發出了個播放《貝多芬第九交響曲》曲目的請求。這個用戶發出控制信號的事件就觸發了任務b如附圖4所示,該任務包括一系列的命令:向客廳的電燈發出開燈的指令,向多媒體搜尋設備發出通過Internet獲取《貝多芬第九交響曲》數據的指令、向音響發出播放音頻數據的指令。這些設備都是空閒的,控制模組依次執行這些指令。很快的用戶就可以欣賞《第九交響曲》了。
7點15分的時候,熱水器水溫達到80度,任務a收到熱水器返回的結果後,就要向音響設備發出播放指定的音頻數據的指令。但由於音響正被任務b所使用,控制模組比較兩個任務的優先權,發現任務a的優先權較高,中斷了任務b,讓任務a通過音響播放音頻“您好,熱水器水溫已達指定溫度,歡迎使用”。任務a使用完音響後發出音響設備空閒的訊息,然後繼續執行接下來的命令。
控制模組收到音響設備空閒的訊息後,從音響設備的執行佇列中取出等待的任務b,繼續執行向音響發出播放《第九交響曲》的指令,可以繼續欣賞音樂。
榮譽表彰
2013年10月,《一種數字家庭網路多任務並發執行裝置的並發執行方法》獲得第十五屆中國專利優秀獎。