[發明專利]基于動態時間片的速率單調實時調度方法有效
| 申請號: | 201410079766.3 | 申請日: | 2014-03-05 |
| 公開(公告)號: | CN103885825B | 公開(公告)日: | 2018-01-05 |
| 發明(設計)人: | 張學軍;周浩 | 申請(專利權)人: | 南京郵電大學 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48 |
| 代理公司: | 南京知識律師事務所32207 | 代理人: | 汪旭東 |
| 地址: | 210003 江蘇*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 動態 時間 速率 單調 實時 調度 方法 | ||
技術領域
本發明涉及計算機無線通信技術領域,特別涉及一種基于動態時間片的速率單調實時調度方法。
背景技術
隨著城市規劃建設水平的提高和城市人口數量的劇增,高層以及超高層建筑的數量越來越多,這對家居智能化提出了更高的要求。作為家居智能化產業鏈中的一部分——智能抄表系統也同時得到了蓬勃發展。無線抄表系統作為服務于燃氣、電力、自來水行業的工具,它的出現大大減少了抄表人員的勞動量,提高了企業效率,并給住戶帶來了方便。但是傳統的無線抄表系統存在的數據重傳次數多、實時性差、傳輸效率低等缺點,若將實時調度方法應用于無線抄表系統中,能改進上述缺點。
實時調度方法是實時操作系統的核心,經典的實時調度方法主要有最早截止時間優先方法和速率單調優先調度方法兩種。
單調速率調度方法是一種典型的靜態優先級調度方法,它根據任務執行周期的長短來決定調度優先級,執行周期小的任務具有較高的優先級。這種調度方式主要適合周期性任務,對于突發性任務,無法預先估計執行時間,因而會導致系統的執行效率很低
最早截止時間優先調度方法是一種典型的動態優先級調度方法,它根據就緒隊列中各個任務的截止期限來分配優先級,具有最近截止期限的任務優先級最高。主要缺點是一旦發生瞬時任務過載,系統行為不可預測,可能發生多米諾骨牌現象,一個任務丟失時會引起一連串的任務接連丟失。而本發明能夠很好地解決上面的問題。
發明內容
本發明目的在于針對大多數實時調度方法在無線數據傳輸中應用的不足,提出了一種兼顧響應時間和傳輸速率的新型實時調度方法,該方法在優先級搶占方法的基礎上,結合了單調速率調度方法和時間片輪轉方法的優點,該方法將每個傳輸節點看作實時任務,設置多個隔離的就緒隊列,將任務分配到幾個不同級別的隊列中,每個隊列依據不同的優先級,依次進入處理機。任務隊列中每個任務的時間片依據信噪比動態調整。
本發明解決其技術問題所采取的技術方案是:本發明提供一種基于動態時間片的速率單調實時調度方法,該方法包括如下步驟:
步驟1:設置多個隔離的就緒隊列,依據不同的優先級,將實時任務分配到幾個不同級別的隊列中;
步驟2:各個隊列按照級別先后進入處理機,高優先級的隊列,任務的初始時間片設置的較短,低優先級的隊列,任務的初始時間片設置的較長;
步驟3:第一個任務時間片是初始時間片,每個隊列的初始時間片T與該序列的優先級P的關系為T=kP,其中k為常數;隊列中剩余的每個任務的時間片動態調整;若在時間片內,前一個任務完成,則將接下來任務的時間片減小0.05s,以此類推,漸次減小;若一旦遇到某個任務在時間片內無法完成,時間片的設置開始每次增大0.05s,以此類推,漸次減小;若一旦遇到某個任務在時間片內無法完成,時間片的設置開始每次增大0.05s,直到任務能夠完成;
步驟4:如果隊列上的某個實時任務運行超過分配運行時間,若繼續運行下去,有可能造成整個隊列的延時,則放棄該任務,并記錄其ID;
步驟5:在所有隊列均執行完畢后,對執行失敗的任務依據記錄的ID依次進行執行。
有益效果:
1、本發明實現了將實時調度方法應用于無線抄表系統中。
2、本發明的任務優先級能夠根據需要動態改變,更好地解決了系統適應性問題。
附圖說明
圖1為本發明方法流程圖。
圖2為本發明時間片動態設置示意圖。
圖3為本發明實施例的系統示意圖。
圖4為本發明實施例的時鐘電路原理圖。
圖5為本發明實施例的復位電路原理圖。
圖6為本發明實施例的JTAG調試電路原理圖。
具體實施方式
以下結合說明書附圖對本發明創造作進一步的詳細說明。
如圖3至圖6所示,本發明的平臺系統架構是采用μC/OS-II內核,該內核是開源、搶占式的,其包含了操作系統的任務調度、任務管理、時間管理、內存管理、定時管理以及任務通信與同步等基本的特性。其優先級搶占策略,能夠保證系統的實時性。μC/OS-II內核中,一般只需要移植os_cpu.h,os_cpu_a.asm和os_cpu_c.c文件。
在本發明的調度方法中,一個隊列對應多個任務,系統要構造一個結構體OS_line,用來控制隊列,稱作隊列控制塊,如表1所示,主要包含下列元素:
(1)OSPrio:隊列的優先級,占3bits。
(2)line_Stat:隊列的狀態,如果該隊列處于就緒狀態,那么這個變量就置為就緒,占2bits。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京郵電大學,未經南京郵電大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410079766.3/2.html,轉載請聲明來源鉆瓜專利網。





