【技術實現步驟摘要】
一種計算船舶網關任務優先級的方法
技術介紹
[0001]本專利技術涉及設計網關系統任務調度策略領域,具體為一種計算船舶網關任務優先級的方法。
[0002]隨著計算機技術、傳感器技術、信息處理技術的迅速發展,電力系統自動化水平不斷提升,船舶電網結構日趨復雜,網關作為一種重要的通信設備。將各種通訊方式或通信協議轉換為統一格式并發送給上位機程序或將各命令下達給各設備,不僅要完成正常的通信協議轉換功能,還要保證傳輸數據的實時性,可靠性。
[0003]為保證數據傳輸的有效性,網關必須在規定時間內完成任務,合適的調度策略可以提高CPU利用率,提高網關執行效率。合理分配任務的優先級不僅能保證在截止期限之前完成任務,還能減少任務響應時間保證實時性,減少CPU空閑時間,提高設備性能。
[0004]常用的調度算法分為靜態調度算法和動態調度算法。靜態調度算法是指在任務執行過程中,每個任務的優先級不會改變,動態調度算法是指在任務執行過程中,某些任務的優先級會改變。靜態調度算法建立在確定性系統模型基礎上,它要求對任務集和任務約束有確定的了解,如任務的截止期限、執行時間等。該算法的特點是在系統運行過程中,無法對調度分配進行修正,任務的優先級在調度過程中固定不變。網關接收各設備發送的報文周期固定,采用靜態調度算法為主。
[0005]常用的靜態調度算法有先來先服務算法(first come first served,FCFS)、輪詢(polling server,PS)算法、速率單調(Rate Monotonic,簡稱RM) ...
【技術保護點】
【技術特征摘要】
1.一種計算船舶網關任務優先級的方法,其特征在于,具體步驟為:S1:創建初始種群:隨機設定網關執行的各任務的優先級構成一個任務優先級分配任務集作為初始種群,所述各任務符合自身優先級范圍要求;S2:適應度計算:依據S1設定的任務優先級分配任務集,計算網關中各任務所需的響應時間,并計算得到任務集中所有任務完成所需的最大響應時間即適應度;S3:獲得最優的任務優先級分配任務集:利用遺傳算法分析S2得到的適應度判斷是否為最優的任務優先級分配任務集,若是則輸出結果;若不是,更改S1中任務優先級分配任務集的優先級來降低適應度;具體通過遺傳算法中選擇、雜交、變異算法得到最優的任務優先級分配任務集,即本次計算的適應度最優;S4:迭代:重復S2
?
S3步驟進行迭代計算最終得到最優的任務優先級分配任務集;S5:網關CPU執行基于S4得到的最優的任務優先級分配任務集。2.由權利要求1所述的一種計算船舶網關任務優先級的方法,其特征在于,所述S1中的初始種群包括任務集Γ={τ
i
|1≤i≤n}和任務集中單個任務的優先級,所述任務集為網關中各模塊包含的所有任務,所述單個任務τ
i
中的信息包括該任務的周期T
i
、執行時間C
i
、截止期限D
i
。3.由權利要求2所述的一種計算船舶網關任務優先級的方法,其特征在于,所述截止期限D
i
可以小于等于周期T
i
,也可以大于周期T
i
;所述任務τ
i
的第k次請求稱為任務實例τ
ik
,k從1開始,所述任務實例為每一次執行的任務。4.由權利要求2所述的一種計算船舶網關任務優先級的方法,其特征在于,所述任務集中的任務優先級按照從低到高的順序排列,即若i<j,則τ
i
的優先級低于τ
j
,若兩個任務優先級相等,則采用輪詢調度算法計算該任務的最大響應時間,輪詢的時間片大小為20ms。5.由權利要求3所述的一種計算船舶網關任務優先級的方法,其特征在于,任務實例τ
ik
的截止期限為d
ik
、到達時刻為a
ik
、釋放時刻為r
ik
、完成時刻為F
i
(k)、響應時間為R
i
(k);其中,d
ik
、a
ik
、R
i
(k)的計算方法為,d
ik
=(1
?
1)*T
i
+D
i
a
ik
=(k
?
1)*T
i
R
i
(k)=F
i
(k)
?
a
ik
所述k為第k次任務請求,所述Ti為第i個任務的周期。6.由權利要求5所述的一種計算船舶網關任務優先級的方法,其特征在于,計算S2中網關的各模塊任務中第一次任務的響應時間R
i
(k)的方法為,(k)的方法為,其中,C
i
為該任務實例執行時間、π
i
(t)為累計剩余執行時間、r
ik
為任務實例釋放時刻、F
i
(k)為任務實例完成時刻、I
i
(t1,t2)為在[t1,t2]時間段內優先級高于等于i的任務實例τ
ik
所需要的CPU時間、hp(i)表示優先級高于i的任務集合、為t2除以T
j
向上取整,為t1除以T
j
向上取整,C
j
為任務優先級為j的任務的執行時間。7.由權利要求6所述的一種計算船舶網關任務優先級的方法,其特征在于,當F
i
(k
?
1)<r
ik
時,表示上一個任務實例已經完成且不會對本次任務造成影響;當F
i
(k
?
1)≥r
ik
時,表示上一個任務實例還未完成,本次任務實例又釋放。8.由權利要求6所述的一種計算船舶網關任務優先級的方法,其特征在于,所述π
i
(t)為在時刻t時,t之前釋放的所有優先級高于等于i的任務實例還需要的CPU時間;當t=0時,不存在高優先級任務實例未執行完的情況,即π
i
(t)=0;當t≠0時,若高優先級任務實例在時刻t還未執行完,則會推遲在t時刻釋放的低優先級任務實例的執行。9.由權利要求6所述的一種計算船舶網關任務優先級的方法,其特征在于,R
i
表示任務τ
i
在最壞情況下的響應時間,即最大響應時間,通過迭代可以求出所述最大響應時間:R...
【專利技術屬性】
技術研發人員:王永臻,
申請(專利權)人:上海船舶運輸科學研究所有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。