一种消息调度方法及系统技术方案

技术编号:31323291 阅读:14 留言:0更新日期:2021-12-13 00:11
本发明专利技术提供一种消息调度方法及系统,方法包括:基于消息调度请求中的非周期消息执行请求,从非周期消息栈中逐一读取非周期消息并执行,直至所有非周期消息执行完毕;当满足循环开始条件时,从周期消息栈中逐一识别出目标周期消息并执行,直至周期消息栈中的所有目标周期消息执行完毕;其中,每一消息的执行时间间隔均为预设的第一消息间隔;根据每条周期消息的周期参数确定是否在本循环周期中对其执行。通过实施本发明专利技术方案,每条消息执行完后只需等待很小的片刻即可开始下一条消息的执行,从而有效提高了消息执行时带宽的利用率,避免了资源的浪费;栈循环周期和各条周期消息的循环周期互相独立设置,从而有效提高了周期消息设置的灵活性。的灵活性。的灵活性。

【技术实现步骤摘要】
一种消息调度方法及系统


[0001]本专利技术涉及网络通信
,尤其涉及一种消息调度方法、系统、电子设备及存储介质。

技术介绍

[0002]FC(Fiber Channel)是由美国标准化委员会(ANSI)提出的高速串行传输总线,由于其具备通道和网络的双重优势,具备高带宽、高可靠、抵抗电磁干扰等优点,能够提供非常稳定可靠的光纤连接,容易构建大型的数据传输和通信网络。FC

AE标准是一个应用到航空电子环境中的一组协议族,主要用于航空电子下各设备之间的数据通信,传输视频、指控、仪器仪表、传感器等数据,目前FC

AE网络在诸多航电网络和军工设备中得到了广泛的应用。
[0003]FC

AE

1553是Fiber Channel

Avionics Environment

UpperLayer Protocol MIL

STD

1553B Notice 2的简称,是在光纤通道的FC

4层实现对传统MIL

STD

1553B Notice 2总线协议的映射,以实现在实时的航空应用中,以命令/响应的模式进行具有确定性的通信。协议之所以在 FC

4 层实现对传统总线协议的映射,其目的在于使得现有的 MIL

STD

1553B网络设计、软件和硬件进行平滑升级。FC

AE

1553 网络既具有MIL

STD

1553B网络的基本特性,又具有光纤通道的良好网络性能,是对MIL

STD

1553B很好的传承。
[0004]FC

AE

1553通讯过程主要是通过消息的交换来实现的,而消息根据是否需要周期执行又可分为周期消息和非周期消息,周期消息一旦开启后则会根据循环周期循环执行,而非周期消息开启后执行一次就会被丢弃。
[0005]现有技术中,周期消息和非周期消息的调度机制如下所述:1、需预先设置一个周期消息的执行时间,该执行时间需要大于每条消息的实际执行时间,每条消息在执行完之后必须等待一段时间之后才能满足执行时间的要求,随后才能读取并执行下一条消息,如图2所示;2、需预先设置周期消息的循环周期和一个周期消息栈的循环周期,栈里面的消息全部运行完一次的时间应小于等于循环周期的时间,如果多条消息的循环周期不一致,需通过计算各条消息循环周期的公约数或者公倍数来设置周期消息栈的循环周期,如图3和图4所示。
[0006]现有技术的周期消息和非周期消息的调度机制存在以下缺点:1、因每条消息实际的执行时间差别较大,这样会导致有的消息在执行完之后需要等待很长的一段时间才能开始下一条消息的执行,会造成带宽资源的浪费;2、栈的循环周期与各条消息的循环周期密切相关,循环周期时间分度较大,循环周期设置需要综合考虑栈的循环周期与各条消息的循环周期,设置的灵活性不高。

技术实现思路

[0007]本专利技术提供一种消息调度方法、系统、电子设备及存储介质,用以解决上述技术问
题,能够提高消息执行时带宽的利用率,并提高周期消息的配置灵活性。
[0008]本专利技术提供一种消息调度方法,包括:响应消息调度请求,基于所述消息调度请求中的非周期消息执行请求,从非周期消息栈中逐一读取非周期消息并执行,直至所述非周期消息栈中的所有非周期消息执行完毕;判断当前时间是否满足预设的循环开始条件,若是,则记录当前循环次数,继而从周期消息栈中逐一识别出目标周期消息并执行,直至所述周期消息栈中的所有目标周期消息执行完毕;其中,所述非周期消息的执行间隔、所述目标周期消息的执行间隔均为预设的第一消息间隔;所述周期消息栈中的各个周期消息包含有周期参数,所述目标周期消息是周期参数与所述当前循环次数相匹配的周期消息。
[0009]根据本专利技术的消息调度方法,所述响应消息调度请求,基于所述消息调度请求中的非周期消息执行请求,从非周期消息栈中逐一读取非周期消息并执行,直至所述非周期消息栈中的所有非周期消息执行完毕,包括:响应消息调度请求,若判断所述消息调度请求中不具有非周期消息执行请求时,则跳转至判断当前时间是否满足预设的循环开始条件对应的步骤。
[0010]根据本专利技术的消息调度方法,所述目标周期消息的识别方式包括:读取所述周期消息的周期参数,若判断所述当前循环次数是所述周期参数的整数倍,则将该周期消息判定为目标周期消息。
[0011]根据本专利技术的消息调度方法,还包括:若在对所述周期消息栈中的目标周期消息进行执行的过程中监测到非周期消息,则将监测到的非周期消息依次添加至所述非周期消息栈;在所述周期消息栈中的所有目标周期消息执行完毕之后,生成非周期消息执行请求并添加至下一周期的消息调度请求中。
[0012]根据本专利技术的消息调度方法,所述判断当前时间是否满足预设的循环开始条件,包括:根据预设的最小循环周期判断当前时间是否满足预设的循环开始条件;若所述当前时间与所述最小循环周期相匹配,则判定为满足预设的循环开始条件;若所述当前时间与所述最小循环周期不匹配,则判定为不满足预设的循环开始条件。
[0013]根据本专利技术的消息调度方法,还包括:当判断当前时间不满足预设的循环开始条件时,重复执行响应消息调度请求对应的步骤,直至判断当前时间满足预设的循环开始条件。
[0014]根据本专利技术的消息调度方法,所述预设的最小循环周期大于所有周期消息的执行时间之和。
[0015]本专利技术还提供一种消息调度系统,包括:消息调度响应模块,用于响应消息调度请求,基于所述消息调度请求中的非周期
消息执行请求,从非周期消息栈中逐一读取非周期消息并执行,直至所述非周期消息栈中的所有非周期消息执行完毕;周期消息执行模块,用于判断当前时间是否满足预设的循环开始条件,若是,则记录当前循环次数,继而从周期消息栈中逐一识别出目标周期消息并执行,直至所述周期消息栈中的所有目标周期消息执行完毕;其中,所述非周期消息的执行间隔、所述目标周期消息的执行间隔均为预设的第一消息间隔;所述周期消息栈中的各个周期消息包含有周期参数,所述目标周期消息是周期参数与所述当前循环次数相匹配的周期消息。
[0016]本专利技术还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述消息调度方法的步骤。
[0017]本专利技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述消息调度方法的步骤。
[0018]本专利技术提供的消息调度方法、系统、电子设备及存储介质,通过设置统一的时间间隔,每条消息执行完后只需等待很小的片刻即可开始本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种消息调度方法,其特征在于,包括:响应消息调度请求,基于所述消息调度请求中的非周期消息执行请求,从非周期消息栈中逐一读取非周期消息并执行,直至所述非周期消息栈中的所有非周期消息执行完毕;判断当前时间是否满足预设的循环开始条件,若是,则记录当前循环次数,继而从周期消息栈中逐一识别出目标周期消息并执行,直至所述周期消息栈中的所有目标周期消息执行完毕;其中,所述非周期消息的执行间隔、所述目标周期消息的执行间隔均为预设的第一消息间隔;所述周期消息栈中的各个周期消息包含有周期参数,所述目标周期消息是周期参数与所述当前循环次数相匹配的周期消息。2.根据权利要求1所述的消息调度方法,其特征在于,所述响应消息调度请求,基于所述消息调度请求中的非周期消息执行请求,从非周期消息栈中逐一读取非周期消息并执行,直至所述非周期消息栈中的所有非周期消息执行完毕,包括:响应消息调度请求,若判断所述消息调度请求中不具有非周期消息执行请求时,则跳转至判断当前时间是否满足预设的循环开始条件对应的步骤。3.根据权利要求1所述的消息调度方法,其特征在于,所述目标周期消息的识别方式包括:读取所述周期消息的周期参数,若判断所述当前循环次数是所述周期参数的整数倍,则将该周期消息判定为目标周期消息。4.根据权利要求1所述的消息调度方法,其特征在于,还包括:若在对所述周期消息栈中的目标周期消息进行执行的过程中监测到非周期消息,则将监测到的非周期消息依次添加至所述非周期消息栈;在所述周期消息栈中的所有目标周期消息执行完毕之后,生成非周期消息执行请求并添加至下一周期的消息调度请求中。5.根据权利要求1所述的消息调度方法,其特征在于,所述判断当前时间是否满足预设的循环开...

【专利技术属性】
技术研发人员:崔炳林谢鹏黄若愚李龙威房亮曹丽剑
申请(专利权)人:北京国科天迅科技有限公司
类型:发明
国别省市:

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

1