專利名稱:嵌入式分布式系統(tǒng)中報文發(fā)送方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技木,特別涉及網(wǎng)絡(luò)通信設(shè)備的嵌入式分布式系統(tǒng)中報文發(fā)送方法的技木。
背景技術(shù):
在嵌入式分布式軟件開發(fā)過程中,為了使各分布式部件間能夠協(xié)調(diào)、高效的運行。內(nèi)部報文的交互必不可少。而在實時的嵌入式系統(tǒng)中,執(zhí)行效率和靈活性是我們關(guān)注的因素之一,如果內(nèi)部分布式部件間報文的交互效率低下,必然會影響到上層應(yīng)用模塊的性能,而交由上層應(yīng)用模塊來容忍這樣的效率,必然帶來應(yīng)用模塊的復(fù)雜度;在嵌入式分布式系統(tǒng)中,內(nèi)部報文的交互是相當(dāng)頻繁的,其報文交互效率的高低直接影響設(shè)備的性能?,F(xiàn)有技術(shù)中,報文發(fā)送任務(wù)一般優(yōu)先級較高,所以如果上層應(yīng)用模塊有報文發(fā)送,就會調(diào)度報文發(fā) 送任務(wù),報文發(fā)送任務(wù)會頻繁的占用處理器資源進(jìn)行任務(wù)切換,而任務(wù)切換會損失系統(tǒng)的效率,所以在這種機制下報文的發(fā)送效率低下。
發(fā)明內(nèi)容
本發(fā)明的目的就是克服目前嵌入式分布式系統(tǒng)中報文交互效率低下的缺點,提供ー種嵌入式分布式系統(tǒng)中報文發(fā)送方法。本發(fā)明解決所述技術(shù)問題,采用的技術(shù)方案是,提供ー種嵌入式分布式系統(tǒng)中報文發(fā)送方法,包括以下步驟步驟I.創(chuàng)建ー個比所有上層應(yīng)用模塊任務(wù)的優(yōu)先級低的發(fā)送調(diào)度任務(wù);步驟2.上層應(yīng)用模塊任務(wù)在準(zhǔn)備好待發(fā)送的報文時,釋放全局的同步信號量,喚醒發(fā)送調(diào)度任務(wù);步驟3.系統(tǒng)根據(jù)優(yōu)先級對發(fā)送調(diào)度任務(wù)進(jìn)行調(diào)度后,發(fā)送調(diào)度任務(wù)喚醒報文發(fā)送任務(wù);步驟4.報文發(fā)送任務(wù)發(fā)送步驟2中待發(fā)送的報文。具體的,步驟2中,所述全局同步信號為全局的ニ進(jìn)制信號。進(jìn)ー步的,步驟2和步驟3之間還包括以下步驟步驟5.系統(tǒng)判斷是否超過設(shè)定的時間閾值后,發(fā)送調(diào)度任務(wù)沒有得到調(diào)度,如是,則自動喚醒報文發(fā)送任務(wù)并進(jìn)入步驟4,否則進(jìn)入步驟3。具體的,步驟5中,所述設(shè)定的時間閾值在30-120秒之間。具體的,步驟2包括以下步驟步驟21.上層應(yīng)用模塊任務(wù)在需要發(fā)送報文時,將報文添加到報文發(fā)送隊列中;步驟22.釋放全局同步信號,用于喚醒發(fā)送調(diào)度任務(wù),此時發(fā)送調(diào)度任務(wù)處于準(zhǔn)備狀態(tài)。再進(jìn)ー步的,步驟2和步驟3之間還包括以下步驟步驟6.系統(tǒng)判斷報文發(fā)送隊列是否已滿,如是,則系統(tǒng)自動喚醒報文發(fā)送任務(wù)并進(jìn)入步驟4,否則進(jìn)入步驟3。再進(jìn)ー步的,所述方法還包括以下步驟步驟7.系統(tǒng)為上層應(yīng)用模塊任務(wù)提供喚醒報文發(fā)送任務(wù)的接ロ,若上層應(yīng)用模塊任務(wù)未選擇喚醒報文發(fā)送任務(wù)則進(jìn)入步驟3,若上層應(yīng)用模塊任務(wù)選擇喚醒報文發(fā)送任務(wù)則喚醒報文發(fā)送任務(wù)并進(jìn)入步驟4。具體的,步驟4中,報文發(fā)送任務(wù)發(fā)送報文發(fā)送隊列中的所有報文。本發(fā)明的有益效果是,通過上述嵌入式分布式系統(tǒng)中報文發(fā)送方法,由于發(fā)送調(diào)度任務(wù)為低優(yōu)先級,必須在上層應(yīng)用模塊對應(yīng)的任務(wù)已處理完畢且系統(tǒng)空閑時才能獲得處理器資源從而喚醒高優(yōu)先級的報文發(fā)送任務(wù),進(jìn)而發(fā)送報文,避免了任務(wù)頻繁切換時損失系統(tǒng)的處理效率,即提高了報文發(fā)送效率,且在系統(tǒng)空 閑下來就立即進(jìn)行發(fā)送,避免在時間上的浪費,提高了嵌入式系統(tǒng)的效率。
圖I是本發(fā)明實施例的報文發(fā)送流程圖。
具體實施例方式下面結(jié)合實施例及附圖,詳細(xì)描述本發(fā)明的技術(shù)方案。本發(fā)明的嵌入式分布式系統(tǒng)中報文發(fā)送方法中,首先創(chuàng)建ー個低優(yōu)先級的發(fā)送調(diào)度任務(wù),用于喚醒應(yīng)用模塊的報文發(fā)送任務(wù),即該發(fā)送調(diào)度任務(wù)的優(yōu)先級比所有上層應(yīng)用模塊任務(wù)的優(yōu)先級都低,系統(tǒng)還要創(chuàng)建ー個較高優(yōu)先級的報文發(fā)送任務(wù),然后在上層應(yīng)用模塊任務(wù)在準(zhǔn)備好待發(fā)送的報文時,釋放ー個全局的同步信號量,用于喚醒發(fā)送調(diào)度任務(wù),此時由于發(fā)送調(diào)度任務(wù)為低優(yōu)先級,因此發(fā)送調(diào)度任務(wù)處于準(zhǔn)備狀態(tài),但由于發(fā)送調(diào)度任務(wù)的優(yōu)先級較低,所以不能保證被喚醒的發(fā)送調(diào)度任務(wù)立即可以調(diào)度。當(dāng)所有上層應(yīng)用模塊任務(wù)調(diào)度完畢后,且系統(tǒng)空閑時,系統(tǒng)根據(jù)優(yōu)先級對發(fā)送調(diào)度任務(wù)進(jìn)行調(diào)度,發(fā)送調(diào)度任務(wù)才能得到處理器資源開始執(zhí)行,從而喚醒報文發(fā)送任務(wù),最后報文發(fā)送任務(wù)發(fā)送報文。實施例本發(fā)明實施例的報文發(fā)送流程圖參見圖I。本實施例的嵌入式分布式系統(tǒng)中報文發(fā)送方法,包括以下步驟步驟101,創(chuàng)建ー個比所有上層應(yīng)用模塊任務(wù)的優(yōu)先級低的發(fā)送調(diào)度任務(wù)。步驟102,上層應(yīng)用模塊任務(wù)在準(zhǔn)備好待發(fā)送的報文時,釋放全局的同步信號量,喚醒發(fā)送調(diào)度任務(wù)。本步驟中,全局的同步信號量為ニ進(jìn)制信號量,在上層應(yīng)用模塊任務(wù)需要發(fā)送報文時,先將報文添加到報文發(fā)送隊列中,再釋放該全局的同步信號量,用于喚醒發(fā)送調(diào)度任務(wù),此時由于發(fā)送調(diào)度任務(wù)為低優(yōu)先級,因此發(fā)送調(diào)度任務(wù)處于準(zhǔn)備狀態(tài)。步驟103,統(tǒng)根據(jù)優(yōu)先級對發(fā)送調(diào)度任務(wù)進(jìn)行調(diào)度后,發(fā)送調(diào)度任務(wù)喚醒報文發(fā)送任務(wù);這里由于有可能出現(xiàn)系統(tǒng)持續(xù)繁忙狀態(tài)時,造成發(fā)送調(diào)度任務(wù)由于優(yōu)先級低會得不到處理器資源去運行,導(dǎo)致報文發(fā)送任務(wù)無法被調(diào)度去發(fā)送報文,因此為了優(yōu)化本發(fā)明的實施效果可以在步驟B與C之間加入如下步驟系統(tǒng)可以時刻判斷是否超過設(shè)定的時間閾值后,發(fā)送調(diào)度任務(wù)沒有得到調(diào)度,如是,則自動喚醒報文發(fā)送任務(wù)并進(jìn)入步驟104,否則進(jìn)入步驟103。該設(shè)定的時間閾值可以為30-120秒之間的范圍,例如設(shè)定為90秒,該具體值可以根據(jù)具體的系統(tǒng)資源情況進(jìn)行設(shè)置。優(yōu)選地,本發(fā)明實施例的嵌入式分布式系統(tǒng)中報文發(fā)送方法也可以加入如下步驟系統(tǒng)為上層應(yīng)用模塊任務(wù)提供喚醒報文發(fā)送任務(wù)的接ロ,若上層應(yīng)用模塊任務(wù)未選擇喚醒報文發(fā)送任務(wù)則進(jìn)入步驟103,若上層應(yīng)用模塊任務(wù)選擇喚醒報文發(fā)送任務(wù)則喚醒報文發(fā)送任務(wù)并進(jìn)入步驟104。優(yōu)選地,本發(fā)明實施例的嵌入式分布式系統(tǒng)中報文發(fā)送方法也可以加入如下步驟如是,則系統(tǒng)自動喚醒報文發(fā)送任務(wù)并進(jìn)入步驟4,否則進(jìn)入步驟3。當(dāng)然,也可以同時加入上述三個步驟以更好的避免系統(tǒng)持續(xù)繁忙而無法發(fā)出報文的情況。步驟104,報文發(fā)送任務(wù)發(fā)送報文發(fā)送隊列中的所有報文。
在分布式路由器中(以vxWorks操作系統(tǒng)為例),如上層應(yīng)用模塊組播的任務(wù)優(yōu)先級為120,分布式數(shù)據(jù)庫的任務(wù)優(yōu)先級為50,在沒有本發(fā)明的機制下,組播用戶會頻繁調(diào)用分布式數(shù)據(jù)庫發(fā)送任務(wù),此時報文是一個ー個發(fā)送到目的分布式部件上的;而使用本發(fā)明的任務(wù)調(diào)度機制后,只有當(dāng)組播用戶退出后,分布式數(shù)據(jù)庫的發(fā)送調(diào)度任務(wù)才會喚醒發(fā)送任務(wù),所以報文是批量下發(fā)的,報文發(fā)送效率得到大大的提高。
權(quán)利要求
1.嵌入式分布式系統(tǒng)中報文發(fā)送方法,其特征在于,包括以下步驟 步驟I.創(chuàng)建ー個比所有上層應(yīng)用模塊任務(wù)的優(yōu)先級低的發(fā)送調(diào)度任務(wù); 步驟2.上層應(yīng)用模塊任務(wù)在準(zhǔn)備好待發(fā)送的報文時,釋放全局的同步信號量,喚醒發(fā)送調(diào)度任務(wù); 步驟3.系統(tǒng)根據(jù)優(yōu)先級對發(fā)送調(diào)度任務(wù)進(jìn)行調(diào)度后,發(fā)送調(diào)度任務(wù)喚醒報文發(fā)送任務(wù); 步驟4.報文發(fā)送任務(wù)發(fā)送步驟2中待發(fā)送的報文。
2.如權(quán)利要求I所述的嵌入式分布式系統(tǒng)中報文發(fā)送方法,其特征在于,步驟2中,所述全局的同步信號量為ニ進(jìn)制信號量。
3.如權(quán)利要求I所述的嵌入式分布式系統(tǒng)中報文發(fā)送方法,其特征在干,步驟2和步驟3之間還包括以下步驟 步驟5.系統(tǒng)判斷是否超過設(shè)定的時間閾值后,發(fā)送調(diào)度任務(wù)沒有得到調(diào)度,如是,則自動喚醒報文發(fā)送任務(wù)并進(jìn)入步驟4,否則進(jìn)入步驟3。
4.如權(quán)利要求4所述的嵌入式分布式系統(tǒng)中報文發(fā)送方法,其特征在干,所述設(shè)定的時間閾值在30-120秒之間。
5.如權(quán)利要求1-4任一項所述的嵌入式分布式系統(tǒng)中報文發(fā)送方法,其特征在于,步驟2包括以下步驟 步驟21.上層應(yīng)用模塊任務(wù)在需要發(fā)送報文時,將報文添加到報文發(fā)送隊列中; 步驟22.釋放全局同步信號,喚醒發(fā)送調(diào)度任務(wù),發(fā)送調(diào)度任務(wù)進(jìn)入準(zhǔn)備狀態(tài)。
6.如權(quán)利要求5所述的嵌入式分布式系統(tǒng)中報文發(fā)送方法,其特征在干,步驟2和步驟3之間還包括以下步驟 步驟6.系統(tǒng)判斷報文發(fā)送隊列是否已滿,如是,則系統(tǒng)自動喚醒報文發(fā)送任務(wù)并進(jìn)入步驟4,否則進(jìn)入步驟3。
7.如權(quán)利要求5所述的嵌入式分布式系統(tǒng)中報文發(fā)送方法,其特征在干,還包括以下步驟 步驟7.系統(tǒng)為上層應(yīng)用模塊任務(wù)提供喚醒報文發(fā)送任務(wù)的接ロ,若上層應(yīng)用模塊任務(wù)未選擇喚醒報文發(fā)送任務(wù)則進(jìn)入步驟3,若上層應(yīng)用模塊任務(wù)選擇喚醒報文發(fā)送任務(wù)則喚醒報文發(fā)送任務(wù)并進(jìn)入步驟4。
8.如權(quán)利要求5所述的嵌入式分布式系統(tǒng)中報文發(fā)送方法,其特征在于,步驟4中,報文發(fā)送任務(wù)發(fā)送報文發(fā)送隊列中的所有報文。
全文摘要
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)。本發(fā)明解決了現(xiàn)有嵌入式分布式系統(tǒng)中報文交互效率低下的問題,提供了一種嵌入式分布式系統(tǒng)中報文發(fā)送方法,其技術(shù)方案可概括為首先創(chuàng)建一個比所有上層應(yīng)用模塊任務(wù)的優(yōu)先級低的發(fā)送調(diào)度任務(wù),然后上層應(yīng)用模塊任務(wù)在準(zhǔn)備好待發(fā)送的報文時,釋放全局的同步信號量,喚醒發(fā)送調(diào)度任務(wù),系統(tǒng)再根據(jù)優(yōu)先級對發(fā)送調(diào)度任務(wù)進(jìn)行調(diào)度后,發(fā)送調(diào)度任務(wù)喚醒報文發(fā)送任務(wù),最后報文發(fā)送任務(wù)發(fā)送待發(fā)送的報文。本發(fā)明的有益效果是提高了報文發(fā)送效率,適用于嵌入式分布式系統(tǒng)。
文檔編號H04L12/56GK102647344SQ20121008988
公開日2012年8月22日 申請日期2012年3月30日 優(yōu)先權(quán)日2012年3月30日
發(fā)明者萬維威, 梁暉 申請人:邁普通信技術(shù)股份有限公司