本發(fā)明涉及控制科學、計算機科學、系統(tǒng)科學、電氣工程、數(shù)據(jù)采集、工業(yè)物聯(lián)網(wǎng)等應用領域,尤其涉及的是一種基于互聯(lián)網(wǎng)實時監(jiān)控系統(tǒng)的數(shù)據(jù)包調度方法。
背景技術:
傳統(tǒng)制造業(yè)通常將業(yè)務管理信息化與生產(chǎn)設備的自動化視為兩個獨立的領域,不同的企業(yè)部門創(chuàng)建滿足自身的一系列單一功能的信息系統(tǒng),各部門的信息系統(tǒng)之間很難實現(xiàn)信息的同步與交換,從而造成信息孤島和信息斷層等信息阻斷問題。對于制造業(yè)生產(chǎn)現(xiàn)場的物料、設備、庫存等實時狀態(tài)信息的監(jiān)控仍處于現(xiàn)場,基于b/s的web監(jiān)控沒有廣泛的應用;對于訂單信息、訂單進行狀態(tài)、訂單準確完成時間仍需要手工操作,無法將訂單信息實施準確的提供給客戶。特別是由于訂單狀態(tài)的改變、設備故障等原因造成的作業(yè)調整,無法將信息第一時間反饋給計劃管理層。如何實現(xiàn)制造信息的雙向通信仍是制造業(yè)各個企業(yè)信息化重點解決的問題。
在網(wǎng)絡數(shù)據(jù)包通信過程中,對于不同的系統(tǒng)和系統(tǒng)目標,通常采用不同的調度算法,由此產(chǎn)生很多調度算法。時間片輪輪詢調度算法工作原理是:將cpu的處理時間劃分為多個小時間片,對處于就緒隊列中的各個進程按照先來先服務原則依次使用cpu資源。時間片輪轉算法的性能受時間片的取值影響很大,如果時間片選取過大,時間片輪轉算法退化為先來先服務調度算法,無法滿足交互式用戶的需求;吐過時間片設置過小,處理機在各個進程之間頻分切換,處理機時間開銷過大,提供給用戶的程序的時間片減小,性能降低。多級反饋隊列調度算法是一種cpu處理機調度算法,結合了先來先服務、時間片輪轉調度算法、高優(yōu)先級有點調度算法和短作業(yè)優(yōu)先算法,不必事先知道各種作業(yè)完成所需的時間,而且可以滿足各種類型作業(yè)的需要,既能使高優(yōu)先級的作業(yè)得到響應又能使短作業(yè)迅速完成,是目前公認的一種較好的作業(yè)調度算法
因此,目前的基于互聯(lián)網(wǎng)實時監(jiān)控系統(tǒng)的數(shù)據(jù)包調度技術存在著很多缺陷,需要我們改進。
技術實現(xiàn)要素:
為了克服已有方法在互聯(lián)網(wǎng)環(huán)境下大數(shù)據(jù)量數(shù)據(jù)傳輸?shù)膶崟r性和準確性較差的不足,本發(fā)明提供一種在保證數(shù)據(jù)成功傳輸?shù)耐瑫r,能夠提高數(shù)據(jù)傳輸?shù)膶崟r性和準確的一種基于互聯(lián)網(wǎng)實時監(jiān)控系統(tǒng)的數(shù)據(jù)包調度方法。
本發(fā)明解決其技術問題所采用的技術方案是:
一種基于互聯(lián)網(wǎng)實時監(jiān)控系統(tǒng)的數(shù)據(jù)包調度方法,所述數(shù)據(jù)包調度方法包括以下步驟:
1)參數(shù)初始化:
1.1)設置數(shù)據(jù)包pi,其中i為數(shù)據(jù)包包編號;
1.2)設置數(shù)據(jù)包令牌循環(huán)時間tsettime,其中,數(shù)據(jù)包令牌循環(huán)時間表示數(shù)據(jù)包連續(xù)兩次獲得令牌的時間間隔,tsettime的定義域為dtsettime={tsettime|tsettime>0};
1.3)設置數(shù)據(jù)包令牌實際循環(huán)時間trealtime,且trealtime=0,其中,數(shù)據(jù)包令牌實際循環(huán)時間表示數(shù)據(jù)包從上一次獲得令牌時刻至本次獲得令牌時刻所經(jīng)歷的時間;
1.4)設置數(shù)據(jù)包令牌持有時間tholdtime,且tholdtime=0,其中,數(shù)據(jù)包令牌持有時間表示數(shù)據(jù)包從接收到令牌時刻可用于完成通信任務的時間;
1.5)設置數(shù)據(jù)包發(fā)送超時時間tot,其中,數(shù)據(jù)包發(fā)送超時時間表示從接收方發(fā)起當前數(shù)據(jù)包請求時刻,經(jīng)過tot時間,仍未接受到數(shù)據(jù)包,tot的定義域為dtot={tot|tot>0};
2)計算數(shù)據(jù)包令牌實際循環(huán)時間trealtime;
3)判斷數(shù)據(jù)包是否可以調度:
3.1)計算數(shù)據(jù)包令牌持有時間tholdtime=tsettime-trealtime;
3.2)如果tholdtime不為零,則當前數(shù)據(jù)包可以調度,否則當前數(shù)據(jù)包不可以調度。
進一步,所述步驟2)中,計算數(shù)據(jù)包令牌實際循環(huán)時間trealtime的方法如下:
2.1)獲取數(shù)據(jù)包通信等待時間twait,其中,數(shù)據(jù)包通信等待時間表示從數(shù)據(jù)接收方發(fā)出數(shù)據(jù)請求時刻至數(shù)據(jù)包發(fā)第一位數(shù)據(jù)真正被發(fā)送時刻為止所需的時間;
2.2)獲取第i個數(shù)據(jù)包的通信時間
2.3)獲取傳輸?shù)趇個數(shù)據(jù)包時,數(shù)據(jù)包超時重發(fā)的包數(shù)m;
2.4)計算傳輸?shù)趇個數(shù)據(jù)包時,數(shù)據(jù)包所花費的傳輸時間
2.5)計算數(shù)據(jù)包令牌實際循環(huán)時間trealtime=twait+ttrans。
本發(fā)明的技術構思為:首先,將基于實時監(jiān)控系統(tǒng)的數(shù)據(jù)包調度方法參數(shù)初始化;然后,獲取數(shù)據(jù)包通信等待時間、數(shù)據(jù)通通信時間、數(shù)據(jù)包重發(fā)時間;其次,計算數(shù)據(jù)包令牌實際循環(huán)時間;再次,計算數(shù)據(jù)包令牌持有時間;最后,判斷數(shù)據(jù)包是否可以調度。應用基于實時監(jiān)控系統(tǒng)的數(shù)據(jù)包調度方法,不僅提高了數(shù)據(jù)傳輸?shù)男?,而且保證了數(shù)據(jù)傳輸?shù)臏蚀_性。
本發(fā)明的有益效果為:在保證數(shù)據(jù)傳輸效率的基礎上,提高數(shù)據(jù)傳輸?shù)臏蚀_性和可靠性。
附圖說明
圖1是模塊化柔性制造綜合實訓系統(tǒng)示意圖。
具體實施方式
下面結合附圖對本發(fā)明作進一步描述。
參照圖1,一種基于互聯(lián)網(wǎng)實時監(jiān)控系統(tǒng)的數(shù)據(jù)包調度方法,包括以下步驟:
1)參數(shù)初始化:
1.1)設置數(shù)據(jù)包pi,其中i為數(shù)據(jù)包包編號;
1.2)設置數(shù)據(jù)包令牌循環(huán)時間tsettime,其中,數(shù)據(jù)包令牌循環(huán)時間表示數(shù)據(jù)包連續(xù)兩次獲得令牌的時間間隔,tsettime的定義域為
1.3)設置數(shù)據(jù)包令牌實際循環(huán)時間trealtime,且trealtime=0,其中,數(shù)據(jù)包令牌實際循環(huán)時間表示數(shù)據(jù)包從上一次獲得令牌時刻至本次獲得令牌時刻所經(jīng)歷的時間;
1.4)設置數(shù)據(jù)包令牌持有時間tholdtime,且tholdtime=0,其中,數(shù)據(jù)包令牌持有時間表示數(shù)據(jù)包從接收到令牌時刻可用于完成通信任務的時間;
1.5)設置數(shù)據(jù)包發(fā)送超時時間tot,其中,數(shù)據(jù)包發(fā)送超時時間表示從接收方發(fā)起當前數(shù)據(jù)包請求時刻,經(jīng)過tot時間,仍未接受到數(shù)據(jù)包,tot的定義域為dtot={tot|tot>0};
2)計算數(shù)據(jù)包令牌實際循環(huán)時間trealtime;
3)判斷數(shù)據(jù)包是否可以調度:
3.1)計算數(shù)據(jù)包令牌持有時間tholdtime=tsettime-trealtime;
3.2)如果tholdtime不為零,則當前數(shù)據(jù)包可以調度,否則當前數(shù)據(jù)包不可以調度。
進一步,所述步驟2)中,計算數(shù)據(jù)包令牌實際循環(huán)時間trealtime的方法:
2.1)獲取數(shù)據(jù)包通信等待時間twait,其中,數(shù)據(jù)包通信等待時間表示從數(shù)據(jù)接收方發(fā)出數(shù)據(jù)請求時刻至數(shù)據(jù)包發(fā)第一位數(shù)據(jù)真正被發(fā)送時刻為止所需的時間;
2.2)獲取第i個數(shù)據(jù)包的通信時間
2.3)獲取傳輸?shù)趇個數(shù)據(jù)包時,數(shù)據(jù)包超時重發(fā)的包數(shù)m;
2.4)計算傳輸?shù)趇個數(shù)據(jù)包時,數(shù)據(jù)包所花費的傳輸時間
2.5)計算數(shù)據(jù)包令牌實際循環(huán)時間trealtime=twait+ttrans。
本實施例以模塊化柔性制造綜合實訓系統(tǒng)為實施例,一種基于互聯(lián)網(wǎng)實時監(jiān)控系統(tǒng)的數(shù)據(jù)包調度方法,其中包含以下步驟:
1)參數(shù)初始化:
1.1)設置數(shù)據(jù)包pi,其中i為數(shù)據(jù)包包編號;
1.2)設置數(shù)據(jù)包令牌循環(huán)時間tsettime,其中,數(shù)據(jù)包令牌循環(huán)時間表示數(shù)據(jù)包連續(xù)兩次獲得令牌的時間間隔,tsettime的定義域為
1.3)設置數(shù)據(jù)包令牌實際循環(huán)時間trealtime,且trealtime=0,其中,數(shù)據(jù)包令牌實際循環(huán)時間表示數(shù)據(jù)包從上一次獲得令牌時刻至本次獲得令牌時刻所經(jīng)歷的時間;
1.4)設置數(shù)據(jù)包令牌持有時間tholdtime,且tholdtime=0,其中,數(shù)據(jù)包令牌持有時間表示數(shù)據(jù)包從接收到令牌時刻可用于完成通信任務的時間;
1.5)設置數(shù)據(jù)包發(fā)送超時時間tot,其中,數(shù)據(jù)包發(fā)送超時時間表示從接收方發(fā)起當前數(shù)據(jù)包請求時刻,經(jīng)過tot時間,仍未接受到數(shù)據(jù)包,tot的定義域為
2)計算數(shù)據(jù)包令牌實際循環(huán)時間trealtime;
3)判斷數(shù)據(jù)包是否可以調度:
3.1)計算數(shù)據(jù)包令牌持有時間tholdtime=tsettime-trealtime;
3.2)如果tholdtime不為零,則當前數(shù)據(jù)包可以調度,否則當前數(shù)據(jù)包不可以調度。
進一步,所述步驟2)中,計算數(shù)據(jù)包令牌實際循環(huán)時間trealtime的方法:
2.1)獲取數(shù)據(jù)包通信等待時間twait,其中,數(shù)據(jù)包通信等待時間表示從數(shù)據(jù)接收方發(fā)出數(shù)據(jù)請求時刻至數(shù)據(jù)包發(fā)第一位數(shù)據(jù)真正被發(fā)送時刻為止所需的時間;
2.2)獲取第i個數(shù)據(jù)包的通信時間
2.3)獲取傳輸?shù)趇個數(shù)據(jù)包時,數(shù)據(jù)包超時重發(fā)的包數(shù)m;
2.4)計算傳輸?shù)趇個數(shù)據(jù)包時,數(shù)據(jù)包所花費的傳輸時間
2.5)計算數(shù)據(jù)包令牌實際循環(huán)時間trealtime=twait+ttrans。
以上闡述的是本發(fā)明給出的一個實施例表現(xiàn)出來的優(yōu)良效果,顯然本發(fā)明不僅適合上述實施例,在不偏離本發(fā)明基本精神及不超出本發(fā)明實質內容所涉及內容的前提下可對其做種種變化加以實施。