一种计算船舶网关任务优先级的方法技术

技术编号:36693764 阅读:21 留言:0更新日期:2023-02-27 20:03
本发明专利技术提供了一种计算船舶网关任务优先级的方法,该方法的具体步骤包括:S1:创建初始种群;S2:适应度计算:依据S1设定的任务优先级分配任务集,计算网关中各任务所需的响应时间,并计算得到任务集中所有任务完成所需的最大响应时间即适应度;S3:利用遗传算法更改S1中任务优先级分配任务集的优先级来降低适应度;S4:迭代:S5:网关CPU执行基于S4得到的最优的任务优先级分配任务集。本发明专利技术通过在进行分配策略时先计算适应度,保证遗传算法的有效性;再利用遗传算法选出最优的任务优先级分配任务集,相比于轮询调度、RM调度,适应度函数和遗传算法的配合使用使任务的平均响应时间更小,CPU使用效率更高,调度性能更优,处理任务的速度更快,更适合网关程序。更适合网关程序。更适合网关程序。

【技术实现步骤摘要】
一种计算船舶网关任务优先级的方法

技术介绍

[0001]本专利技术涉及设计网关系统任务调度策略领域,具体为一种计算船舶网关任务优先级的方法。


[0002]随着计算机技术、传感器技术、信息处理技术的迅速发展,电力系统自动化水平不断提升,船舶电网结构日趋复杂,网关作为一种重要的通信设备。将各种通讯方式或通信协议转换为统一格式并发送给上位机程序或将各命令下达给各设备,不仅要完成正常的通信协议转换功能,还要保证传输数据的实时性,可靠性。
[0003]为保证数据传输的有效性,网关必须在规定时间内完成任务,合适的调度策略可以提高CPU利用率,提高网关执行效率。合理分配任务的优先级不仅能保证在截止期限之前完成任务,还能减少任务响应时间保证实时性,减少CPU空闲时间,提高设备性能。
[0004]常用的调度算法分为静态调度算法和动态调度算法。静态调度算法是指在任务执行过程中,每个任务的优先级不会改变,动态调度算法是指在任务执行过程中,某些任务的优先级会改变。静态调度算法建立在确定性系统模型基础上,它要求对任务集和任务约束有确定的了解,如任务的截止本文档来自技高网...

【技术保护点】

【技术特征摘要】
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...

【专利技术属性】
技术研发人员:王永臻
申请(专利权)人:上海船舶运输科学研究所有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1