EPA网络中对高优先级消息进行调度的方法、设备和介质与流程
未命名
10-20
阅读:127
评论:0
epa网络中对高优先级消息进行调度的方法、设备和介质
技术领域
1.本公开总体上涉及通信技术领域,并且具体地,涉及epa网络中对高优先级消息进行调度的方法、设备和存储介质。
背景技术:
2.工业自动化以太网(ethernet for plant automation,简称为epa)是将ethernet、tcp/ip等商用计算机通信领域的主流技术直接应用于工业现场设备的开放网络通信平台。
3.在传统的epa网络的消息调度方案中,最小通信周期为宏周期,宏周期划分为周期时段和非周期时段,epa网络中的节点设备在周期时段中传输与周期消息有关的周期数据报文,在非周期时段中传输与非周期消息有关的非周期数据报文。
4.在传统的epa网络的消息调度方案中,在一个宏周期的非周期时段中所传输的非周期数据报文,其实质上对应于在该宏周期的前一个或多个宏周期中基于事件触发的对传输延时、处理响应时间不敏感的消息。然而,对于基于事件触发的对传输延时、处理响应时间敏感(例如,要求处理响应时间远小于宏周期)的高优先级消息,传统的epa网络的消息调度方案无法满足传输的实时性要求。
5.综上,传统的epa网络的消息调度方案的不足之处在于:无法满足高优先级消息的传输的实时性要求。
技术实现要素:
6.针对上述问题,本公开提供了一种epa网络中对高优先级消息进行调度的方法、设备和存储介质,至少能够降低高优先级消息处理响应时间,满足高优先级消息低传输时延的要求,并且还至少能够避免丢包。
7.根据本公开的第一方面,提供了一种epa网络中对高优先级消息进行调度的方法,方法包括:epa网络中的第一节点设备将高优先级消息封装为目标高优先级数据报文,并发起目标高优先级数据报文的传输任务;响应于目标高优先级数据报文的传输任务被发起并且第一节点设备的端口在传输周期数据报文或非周期数据报文,中断当前正在执行的周期数据报文传输或非周期数据报文传输,以传输目标高优先级数据报文;以及响应于目标高优先级数据报文传输完成,重新执行被中断的周期数据报文传输或非周期数据报文传输。
8.在一些实施例中,传输任务包括发送任务,方法还包括:响应于高优先级消息在第一节点设备处生成,第一节点设备发起目标高优先级数据报文的发送任务,以经由第一节点设备的端口发送目标高优先级数据报文。
9.在一些实施例中,传输任务包括转发任务,方法还包括:响应于高优先级消息经由第一节点设备的端口中的第一端口被接收到,第一节点设备发起目标高优先级数据报文的转发任务,以经由第一节点设备的端口中的第二端口转发目标高优先级数据报文。
10.在一些实施例中,方法还包括:第一节点设备发起目标高优先级数据报文的发送
或转发任务;判断第一节点设备的端口是否在转发或发送高优先级数据报文;若第一节点设备的端口在转发或发送高优先级数据报文,则等待高优先级数据报文转发或发送完成;若第一节点设备的端口未在转发或发送高优先级数据报文,则判断第一节点设备的端口是否在发送周期数据报文或非周期数据报文;若第一节点设备的端口未在发送周期数据报文或非周期数据报文,则开始发送或转发目标高优先级数据报文。
11.在一些实施例中,方法还包括:第一节点设备发起目标周期数据报文或目标非周期数据报文的发送任务;判断是否到达目标周期数据报文或目标非周期数据报文的预定发送时刻;若到达目标周期数据报文或目标非周期数据报文的预定发送时刻,则开始发送目标周期数据报文或目标非周期数据报文;若未到达目标周期数据报文或目标非周期数据报文的预定发送时刻,则判断是否转发无效报文和高优先级数据报文;若转发无效报文和高优先级数据报文,则计算无效报文所占用的时间长度和高优先级数据报文所占用的时间长度,并基于所计算的无效报文所占用的时间长度和所计算的高优先级数据报文所占用的时间长度来更新目标周期数据报文或目标非周期数据报文的预定发送时刻。
12.在一些实施例中,方法还包括:响应于开始发送目标周期数据报文或目标非周期数据报文,判断是否完成发送目标周期数据报文或目标非周期数据报文;若未完成发送目标周期数据报文或目标非周期数据报文,则判断是否请求发送或转发高优先级数据报文;若请求发送或转发高优先级数据报文,则中断发送目标周期数据报文或目标非周期数据报文,以开始发送或转发高优先级数据报文;判断是否完成发送或转发高优先级数据报文;若完成发送或转发高优先级数据报文,则重新发送目标周期数据报文或目标非周期数据报文。
13.在一些实施例中,方法还包括:第二节点设备监听第一节点设备所传输的无效报文和目标高优先级数据报文,并计算无效报文所占用的时间长度和目标高优先级数据报文所占用的时间长度;以及基于所计算的无效报文所占用的时间长度和所计算的高优先级数据报文所占用的时间长度,更新第二节点设备所对应的周期数据报文或非周期数据报文的预定发送时刻。
14.在一些实施例中,相邻的宏周期之间包括弹性时段。
15.根据本公开的第二方面,还提供了一种epa网络中的节点设备,节点设备包括:高优先级消息封装模块,被配置为将高优先级消息封装为目标高优先级数据报文,并发起目标高优先级数据报文的传输任务;端口,被配置为进行数据的收发;以及调度模块,被配置为响应于目标高优先级数据报文的传输任务被发起并且端口在传输周期数据报文或非周期数据报文,中断当前正在执行的周期数据报文传输或非周期数据报文传输,以调度节点设备以传输目标高优先级数据报文,以及被配置为响应于目标高优先级数据报文传输完成,调度节点设备以重新执行被中断的周期数据报文传输或非周期数据报文传输。
16.在一些实施例中,节点设备还包括:周期消息封装模块,被配置为将周期消息封装为目标周期数据报文,并发起目标周期数据报文的传输任务;以及非周期消息封装模块,被配置为将非周期消息封装为目标非周期数据报文,并发起目标非周期数据报文的传输任务。
17.根据本公开的第三方面,还提供了一种计算设备,计算设备包括:至少一个处理器;以及至少一个存储器,至少一个存储器被耦合到至少一个处理器并且存储用于由至少
一个处理器执行的指令,指令当由至少一个处理器执行时,使得计算设备执行根据本公开的第一方面所述的方法。
18.根据本公开的第四方面,还提供了一种计算机可读存储介质,其上存储有计算机程序代码,计算机程序代码在被运行时执行根据本公开的第一方面所述的方法。
19.提供发明内容部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的范围。
附图说明
20.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
21.图1图示了根据本公开实施例的epa网络中的节点设备的框图。
22.图2图示了根据本公开实施例的epa网络中对高优先级消息进行调度的方法的流程图。
23.图3图示了根据本公开实施例的发送或转发高优先级数据报文的方法的流程图。
24.图4图示了根据本公开实施例的发送周期数据报文或非周期数据报文的方法的流程图。
25.图5a图示了根据本公开实施例的epa网络的示意图。
26.图5b图示了图5a所示的epa网络中的节点设备的周期数据报文的调度的示意图。
27.图5c图示了图5a所示的epa网络中的节点设备的高优先级数据报文的调度的示意图。
28.图5d图示了图5b的部分调度的简化示意图。
29.图5e图示了图5c的部分调度的简化示意图。
30.图6图示了根据本公开实施例的epa网络的通信周期的示意图。
31.图7图示了用于实现本公开实施例的示例性的电子设备的框图。
具体实施方式
32.如前文所描述,传统的epa网络的消息调度方案无法满足高优先级消息的传输的实时性要求。
33.为了至少部分地解决上述问题以及其他潜在问题中的一个或多个,本公开提出了一种epa网络中对高优先级消息进行调度的技术方案。在本公开的技术方案中,通过epa网络中的第一节点设备将高优先级消息封装为目标高优先级数据报文,并发起目标高优先级数据报文的传输任务,响应于目标高优先级数据报文的传输任务被发起并且第一节点设备的端口在传输周期数据报文或非周期数据报文,中断当前正在执行的周期数据报文传输或非周期数据报文传输,以传输目标高优先级数据报文,至少能够使得epa网络中的节点设备及时地传输高优先级消息,从而降低高优先级消息处理响应时间,满足高优先级消息低传输时延的要求;并且,通过响应于目标高优先级数据报文传输完成,重新执行被中断的周期
数据报文传输或非周期数据报文传输,至少能够避免丢包。
34.进一步地,在本公开的实施例中,传输任务可以至少包括发送任务和转发任务,调度的最小单位为节点设备的端口,除了能够实现节点设备处的本地数据的调度处理,还至少能够实现节点设备处的转发数据的调度处理,从而适应性强,例如可以适应环型、星型、树型及其复合型的网络拓扑的epa网络。
35.进一步地,在本公开的实施例中,若未到达目标周期数据报文或目标非周期数据报文的预定发送时刻,判断是否转发无效报文和高优先级数据报文,若转发无效报文和高优先级数据报文,则计算无效报文所占用的时间长度和高优先级数据报文所占用的时间长度,并基于所计算的无效报文所占用的时间长度和所计算的高优先级数据报文所占用的时间长度来更新目标周期数据报文或目标非周期数据报文的预定发送时刻,第一节点设备在转发高优先级消息的情况下可以准确地调整其自身的目标周期数据报文或目标非周期数据报文的预定发送时刻,至少能够在不丢包的前提下进一步实现周期数据报文或非周期数据报文的确定性调度。
36.更进一步地,在本公开的实施例中,通过相邻的宏周期之间包括弹性时段,至少能够在epa网络中的节点设备触发高优先级数据报文传输时,不影响周期数据报文的调度与非周期数据报文的调度,以便于实现周期数据报文与非周期数据报文的确定性调度。
37.下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本公开一部分实施例,而不是全部的实施例,不能将它们理解为对本技术保护范围的限定。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
38.图1图示了根据本公开实施例的epa网络中的节点设备100的框图。如图1所示,节点设备100包括高优先级消息封装模块122、周期消息封装模块124、非周期消息封装模块126、调度模块140和端口160。
39.关于epa网络,其例如可以包括如节点设备100的多个节点设备。例如,多个节点设备以分布式方式布置,并且多个节点设备可以取决于实际情况,以环型、星型、树型及其复合型的网络拓扑等连接,本公开的实施例对此不作限制关于高优先级消息封装模块122,其被配置为将高优先级消息封装为高优先级数据报文,并发起高优先级数据报文的传输任务。例如,高优先级消息封装模块122可以被配置为向调度模块140请求高优先级数据报文的传输。需要说明的是,在本公开的实施例中,高优先级消息指代基于事件触发的对传输延时、处理响应时间敏感的消息。例如,高优先级消息的处理响应时间要求小于epa网络的一个宏周期。例如,高优先级消息可以包括急停指令、与保证财产生命安全有关的消息等。
40.关于周期消息封装模块124,其被配置为将周期消息封装为周期数据报文,并发起周期数据报文的传输任务。例如,周期消息封装模块124可以被配置为向调度模块140请求周期数据报文的传输。需要说明的是,在本公开的实施例中,周期消息指代间隔固定时间触发的消息,例如功能块执行指令、功能块周期采样数据等。
41.关于非周期消息封装模块126,其被配置为将非周期消息封装为非周期数据报文,并发起非周期数据报文的传输任务。例如,非周期消息封装模块126可以被配置为向调度模块140请求非周期数据报文的传输。需要说明的是,在本公开的实施例中,非周期消息指代
基于事件触发的对传输延时、处理响应时间不敏感的消息。例如,非周期消息的处理响应时间可以大于epa网络的一个宏周期。例如,非周期消息包括与设备配置、故障诊断、运行状态有关的消息。
42.例如,高优先级消息封装模块122、周期消息封装模块124和非周期消息封装模块126可以经由软件、硬件或固件的方式实现,本公开的实施例对此不作限制。
43.需要说明的是,在本公开的实施例中,高优先级消息封装模块122、周期消息封装模块124和非周期消息封装模块126封装消息的具体过程以及消息被封装成的数据的具体格式均可以取决于实情况而定,本公开的实施例对此不作限制。
44.关于调度模块140,其可以用于执行发送和转发不同类型的数据报文的调度管理。例如,调度模块140可以用于对节点设备100本身请求发送的高优先级数据报文、周期数据报文、非周期数据报文进行调度管理,以保证不同类型的数据报文的确定性传输。例如,调度模块140还可以用于对转发的高优先级数据报文进行调度管理,以保证转发的高优先级数据报文快速响应,并保证转发的高优先级数据报文与节点设备100本身请求发送的数据报文(例如,高优先级数据报文、周期数据报文、非周期数据报文)碰撞时不发生丢包。
45.例如,调度模块140可以被配置为响应于高优先级数据报文的传输任务被发起并且端口160在传输周期数据报文或非周期数据报文,中断当前正在执行的周期数据报文传输或非周期数据报文传输,以调度节点设备100以传输高优先级数据报文;以及被配置为响应于高优先级数据报文传输完成,调度节点设备100以重新执行被中断的周期数据报文传输或非周期数据报文传输。
46.关于端口160,其被配置为进行数据的收发。例如,端口160可以被配置为进行高优先级数据报文的接收、发送和转发,进行周期数据报文的接收、发送和转发,进行非周期数据报文的接收、发送和转发。在图1所示的实施例中,端口160包括第一端口162和第二端口164,这仅是示例性的,而不是对本公开的限制,端口160中所包括的端口的数量可以取决于实际情况而定。
47.需要说明的是,图1所示的节点设备100还可以包括未示出的部件和/或可以省略所示出的部件,本公开的范围在此方面不受限制。例如,节点设备100可以包括消息封装模块(未示出),消息封装模块包括图1所示的高优先级消息封装模块122、周期消息封装模块124和非周期消息封装模块126。又例如,节点设备100还可以包括数据存储模块(未示出),数据存储模块被配置为存储与节点设备100的消息调度有关的数据。
48.还需要说明的是,节点设备100可以执行后续结合图2、图3、图4等所描述的方法200、方法300和方法400中的至少部分步骤,在此不再赘述。
49.图2图示了根据本公开实施例的epa网络中对高优先级消息进行调度的方法200的流程图。例如,方法200可以由图1中所示的epa网络中的节点设备100执行,也可以由图7所示的电子设备700执行。应当理解的是,方法200还可以包括未示出的附加框和/或可以省略所示出的框,本公开的范围在此方面不受限制。
50.在步骤202,epa网络中的第一节点设备将高优先级消息封装为目标高优先级数据报文,并发起目标高优先级数据报文的传输任务。
51.关于epa网络,其中分布式地布置有多个节点设备,并且多个节点设备可以取决于实际情况,以环型、星型、树型及其复合型的网络拓扑等连接,本公开的实施例对此不作限
制关于第一节点设备,其指代epa网络中的多个节点设备中的任一个节点设备。例如,第一节点设备为结合图1所描述的节点设备100。
52.关于高优先级消息,其如在结合图1所描述的实施例中所述地,指代基于事件触发的对传输延时、处理响应时间敏感的消息。例如,高优先级消息的处理响应时间要求小于epa网络的一个宏周期。例如,在宏周期为1ms的情况下,高优先级消息要求在50us内从epa网络中的一个节点设备传输到另一个节点设备。
53.需要说明的是,在本公开的实施例中,在高优先级数据报文和后续提及的周期数据报文和非周期数据报文前面添加描述语“目标”,仅旨在用于说明该高优先级数据报文、周期数据报文和非周期数据报文是在所描述的相关过程中所主要讨论的或需要关注的,而不是对高优先级数据报文、周期数据报文和非周期数据报文的限制。
54.关于高优先级数据报文,其指代高优先级消息所被封装为的对应的数据报文。需要说明的是,高优先级数据报文的具体格式可以取决于实际情况而定,本公开的实施例对此不作限制。
55.关于传输任务,其例如包括发送任务和转发任务。例如,在传输任务为发送任务的情况下,响应于高优先级消息在第一节点设备处生成,第一节点设备发起目标高优先级数据报文的发送任务,以经由第一节点设备的端口发送目标高优先级数据报文。又例如,在传输任务为转发任务的情况下,响应于高优先级消息经由第一节点设备的端口中的第一端口(例如节点设备100的第一端口162)被接收到,第一节点设备发起目标高优先级数据报文的转发任务,以经由第一节点设备的端口中的第二端口(例如节点设备100的第二端口164)转发目标高优先级数据报文。
56.在步骤204,响应于目标高优先级数据报文的传输任务被发起并且第一节点设备的端口在传输周期数据报文或非周期数据报文,中断当前正在执行的周期数据报文传输或非周期数据报文传输,以传输目标高优先级数据报文。
57.关于中断当前正在执行的周期数据报文传输或非周期数据报文传输,其会产生无效报文,无效报文指代周期数据报文传输或非周期数据报文传输被中断之前已经传输了的部分周期数据报文或非周期数据报文。例如,无效报文可以参考后续结合图5a-图5e所描述的实施例。
58.需要说明的是,上述步骤202和204所描述的过程例如可以参考后续结合图3所描述的实施例,在此不再赘述。
59.在步骤206,响应于目标高优先级数据报文传输完成,重新执行被中断的周期数据报文传输或非周期数据报文传输。
60.关于重新执行被中断的周期数据报文传输或非周期数据报文传输,其指代重新传输周期数据报文或非周期数据报文的整体,而不是仅传输周期数据报文或非周期数据报文的除无效报文外的剩余部分。例如,可以参考后续结合图5a-图5e所描述的实施例,在此不再赘述。
61.在本公开的实施例中,通过epa网络中的第一节点设备将高优先级消息封装为目标高优先级数据报文,并发起目标高优先级数据报文的传输任务,响应于目标高优先级数据报文的传输任务被发起并且第一节点设备的端口在传输周期数据报文或非周期数据报
文,中断当前正在执行的周期数据报文传输或非周期数据报文传输,以传输目标高优先级数据报文,至少能够使得epa网络中的节点设备及时地传输高优先级消息,从而降低高优先级消息处理响应时间,满足高优先级消息低传输时延的要求;并且,在本公开的实施例中,通过响应于目标高优先级数据报文传输完成,重新执行被中断的周期数据报文传输或非周期数据报文传输,至少能够避免丢包。
62.另外,在本公开的实施例中,传输任务可以至少包括发送任务和转发任务,调度的最小单位为节点设备的端口,除了能够实现节点设备处的本地数据的调度处理,还至少能够实现节点设备处的转发数据的调度处理,从而适应性强,例如可以适应环型、星型、树型及其复合型的网络拓扑的epa网络。
63.图3图示了根据本公开实施例的发送或转发高优先级数据报文的方法300的流程图。例如,方法300可以由图1中所示的epa网络中的节点设备100执行,也可以由图7所示的电子设备700执行。应当理解的是,方法300还可以包括未示出的附加框和/或可以省略所示出的框,本公开的范围在此方面不受限制。
64.在步骤302,第一节点设备发起目标高优先级数据报文的发送或转发任务,并继续进行至步骤304。
65.在步骤304,判断第一节点设备的端口是否在转发或发送高优先级数据报文。若第一节点设备的端口在转发或发送高优先级数据报文,则等待高优先级数据报文转发或发送完成;若第一节点设备的端口未在转发或发送高优先级数据报文,则继续进行至步骤306。
66.例如,在第一节点设备发起目标高优先级数据报文的发送任务的情况下,判断第一节点设备的端口是否在转发高优先级数据报文。又例如,在第一节点设备发起目标高优先级数据报文的转发任务的情况下,判断第一节点设备的端口是否在发送高优先级数据报文。
67.在步骤306,判断第一节点设备的端口是否在发送周期数据报文或非周期数据报文,若第一节点设备的端口在发送周期数据报文或非周期数据报文,则继续进行至步骤308;若第一节点设备的端口未在发送周期数据报文或非周期数据报文,则跳转至步骤310。
68.在步骤308,中断当前正在执行的周期数据报文传输或非周期数据报文传输,并继续进行至步骤310。
69.例如,若第一节点设备的端口在发送周期数据报文,则中断当前正在执行的周期数据报文传输。又例如,若第一节点设备的端口在发送非周期数据报文,则中断当前正在执行的非周期数据报文传输。
70.在步骤310,开始发送或转发目标高优先级数据报文。
71.例如,在第一节点设备发起目标高优先级数据报文的发送任务的情况下,开始发送目标高优先级数据报文。又例如,在第一节点设备发起目标高优先级数据报文的转发任务的情况下,开始转发目标高优先级数据报文。
72.例如,上述步骤302可以由节点设备100的高优先级消息封装模块122执行,上述步骤304至310所涉及的相关调度可以由节点设备100的调度模块140执行。
73.图4图示了根据本公开实施例的发送周期数据报文或非周期数据报文的方法400的流程图。例如,方法400可以由图1中所示的epa网络中的节点设备100执行,也可以由图7所示的电子设备700执行。应当理解的是,方法400还可以包括未示出的附加框和/或可以省
略所示出的框,本公开的范围在此方面不受限制。
74.在步骤402,第一节点设备发起目标周期数据报文或目标非周期数据报文的发送任务,并继续进行至步骤404。
75.在步骤404,判断是否到达目标周期数据报文或目标非周期数据报文的预定发送时刻,若到达目标周期数据报文或目标非周期数据报文的预定发送时刻,则继续进行至步骤410;若未到达目标周期数据报文或目标非周期数据报文的预定发送时刻,则继续进行至步骤406。
76.在步骤406,判断是否转发无效报文和高优先级数据报文,若转发无效报文和高优先级数据报文,则继续进行至步骤408;若未转发无效报文和高优先级数据报文,则返回至步骤404。
77.在步骤408,计算无效报文所占用的时间长度和高优先级数据报文所占用的时间长度,并基于所计算的无效报文所占用的时间长度和所计算的高优先级数据报文所占用的时间长度来更新目标周期数据报文或目标非周期数据报文的预定发送时刻,并返回至步骤404。
78.例如,基于无效报文所占用的时间长度、高优先级数据报文所占用的时间长度、数据报文之间的时间间隔(该时间间隔通常为节点设备已知的固定值)得到延迟时间,将目标周期数据报文或目标非周期数据报文的预定发送时刻延迟该延迟时间。例如,可以参考后续结合图5a-图5e所描述的实施例,在此不再赘述。
79.在步骤410,开始发送目标周期数据报文或目标非周期数据报文,并继续进行至步骤412。
80.在步骤412,判断是否完成发送目标周期数据报文或目标非周期数据报文,若未完成发送目标周期数据报文或目标非周期数据报文,则继续进行至步骤414;若完成发送目标周期数据报文或目标非周期数据报文,则结束方法400的流程。
81.在步骤414,判断是否请求发送或转发高优先级数据报文,若请求发送或转发高优先级数据报文,则继续进行至步骤416;若未请求发送或转发高优先级数据报文,则返回至步骤412。
82.在步骤416,中断发送目标周期数据报文或目标非周期数据报文,以开始发送或转发高优先级数据报文,并继续进行至步骤418。
83.在步骤418,判断是否完成发送或转发高优先级数据报文。若完成发送或转发高优先级数据报文,则继续进行至步骤420;若未完成发送或转发高优先级数据报文,则继续进行步骤418。
84.在步骤420,重新发送目标周期数据报文或目标非周期数据报文,并返回至步骤412。
85.例如,上述步骤402可以由节点设备100的周期消息封装模块124或非周期消息封装模块126执行,上述步骤404至420所涉及的相关调度可以由节点设备100的调度模块140执行。
86.在结合图4所描述的实施例中,若未到达目标周期数据报文或目标非周期数据报文的预定发送时刻,判断是否转发无效报文和高优先级数据报文,若转发无效报文和高优先级数据报文,则计算无效报文所占用的时间长度和高优先级数据报文所占用的时间长
度,并基于所计算的无效报文所占用的时间长度和所计算的高优先级数据报文所占用的时间长度来更新目标周期数据报文或目标非周期数据报文的预定发送时刻,第一节点设备在转发高优先级消息的情况下可以准确地调整其自身的目标周期数据报文或目标非周期数据报文的预定发送时刻,至少能够在不丢包的前提下进一步实现周期数据报文或非周期数据报文的确定性调度。
87.需要说明的是,在上述结合图2至图4所描述的实施例,以第一节点设备为例进行说明仅是示例性的,epa网络中的其他节点设备也可以执行上述方法200、方法300和方法400。
88.例如,第二节点设备是epa网络中的与第一节点设备不同的节点设备,第二节点设备监听第一节点设备所传输的无效报文和目标高优先级数据报文,并计算无效报文所占用的时间长度和目标高优先级数据报文所占用的时间长度;以及基于所计算的无效报文所占用的时间长度和所计算的高优先级数据报文所占用的时间长度,更新第二节点设备所对应的周期数据报文或非周期数据报文的预定发送时刻。例如,可以参考以下结合图5a-图5e所描述的实施例。
89.图5a图示了根据本公开实施例的epa网络的示意图。图5b图示了图5a所示的epa网络中的节点设备的周期数据报文的调度的示意图。图5c图示了图5a所示的epa网络中的节点设备的高优先级数据报文的调度的示意图。图5d图示了图5b的部分调度的简化示意图。图5e图示了图5c的部分调度的简化示意图。
90.如图5a所示,epa网络包括节点设备500-1、节点设备500-2、节点设备500-3和节点设备500-4,节点设备500-1、节点设备500-2、节点设备500-3和节点设备500-4均包括端口a和端口b。在图5a所示的示例中,节点设备500-1、节点设备500-2、节点设备500-3和节点设备500-4以环型的网络拓扑相连接。图5a所示的epa网络中的节点设备500-1、节点设备500-2、节点设备500-3和节点设备500-4以顺时针顺序传输数据报文,例如从节点设备500-1的端口a至节点设备500-2的端口b,再至节点设备500-2的端口a,再至节点设备500-3的端口b,再至节点设备500-3的端口a,再至节点设备500-4的端口b,再至节点设备500-4的端口a,再至节点设备500-1的端口b。
91.如图5b所示,在周期时段内,节点设备500-1、节点设备500-2、节点设备500-3和节点设备500-4分别在不同的时间片发送各自所对应的周期数据报文。例如,在周期时段的第一时间片510中,节点设备500-1的端口a发送节点设备500-1所对应的周期数据报文,该周期数据报文将在epa网络中以顺时针顺序传输。例如,在周期时段的第二时间片520中,节点设备500-2的端口a发送节点设备500-2所对应的周期数据报文,该周期数据报文将在epa网络中以顺时针顺序传输。例如,在周期时段的第三时间片530中,节点设备500-3的端口a发送节点设备500-3所对应的周期数据报文,该周期数据报文将在epa网络中以顺时针顺序传输。例如,在周期时段的第四时间片540中,节点设备500-4的端口a发送节点设备500-4所对应的周期数据报文,该周期数据报文将在epa网络中以顺时针顺序传输。
92.如图5c所示,节点设备500-2在第二时间片520发送其自身所对应的周期数据报文的过程中触发高优先级数据报文发送,节点设备500-2首先中断当前正在执行的周期数据报文发送,在中断发送的过程中将会产生无效报文;中断后节点设备500-2紧接着开始发送高优先级数据报文;完成发送高优先级数据报文后,节点设备500-2重新执行被中断的周期
数据报文发送。无效报文、高优先级数据报文和重新发送的周期数据报文将在epa网络中以顺时针顺序传输。例如,节点设备500-3和节点设备500-4可以分别监听节点设备500-2所发送的无效报文、高优先级数据报文和节点设备500-2所重新发送的周期数据报文;可以分别将以下相加以得到延迟时间t1:节点设备500-2所发送的无效报文所占用的时间长度、节点设备500-2所发送的无效报文和节点设备500-2所发送的高优先级数据报文之间的时间间隔、节点设备500-2所发送的高优先级数据报文所占用的时间长度、节点设备500-2所发送的高优先级数据报文和节点设备500-2所重新发送的周期数据报文之间的时间间隔;以及可以分别将发送各自所对应的周期数据报文的预定发送时刻延迟该延迟时间t1,例如参考图5e。
93.如图5d所示,简化示意图图示了节点设备500-1在第一时间片510中所发送的其自身所对应的周期数据报文;节点设备500-2在第二时间片520中所发送的其自身所对应的周期数据报文;节点设备500-3在第三时间片530中所发送的其自身所对应的周期数据报文,以及预定发送时刻t1;节点设备500-4在第四时间片540中所发送的其自身所对应的周期数据报文,以及预定发送时刻t2。
94.如图5e所示,简化示意图图示了节点设备500-2触发了高优先级数据报文发送的情况下所发送的无效报文、高优先级数据报文和所重新发送的周期数据报文;节点设备500-3将发送其自身所对应的周期数据报文的预定发送时刻t1所延迟至的t1’,其中t1’=t1+t1;节点设备500-4将发送其自身所对应的周期数据报文的预定发送时刻t2所延迟至的t2’,其中t2’=t2+t1。
95.在本公开的实施例中,epa网络的相邻的宏周期之间可以包括弹性时段。例如,图6图示了根据本公开实施例的epa网络的通信周期的示意图。
96.如图6所示,第一宏周期610和第二宏周期620之间存在弹性时段630,该第一宏周期610和该第二宏周期620为epa网络中的任意相邻的宏周期。例如,弹性时段的长度可以为预先定义的长度。又例如,弹性时段可以根据第一宏周期610中的高优先级数据报文的数据量进行配置。
97.在本公开的实施例中,通过相邻的宏周期之间包括弹性时段,至少能够在epa网络中的节点设备触发高优先级数据报文传输时,不影响周期数据报文的调度与非周期数据报文的调度,以便于实现周期数据报文与非周期数据报文的确定性调度。
98.图7图示了用于实现本公开实施例的示例性的电子设备700的框图。如图所示,电子设备700包括中央处理单元(cpu)702,其可以根据存储在只读存储器(rom)704中的计算机程序指令或者从存储单元716加载到随机存取存储器(ram)706中的计算机程序指令,来执行各种适当的动作和处理。在随机存取存储器706中,还可存储电子设备700操作所需的各种程序和数据。中央处理单元702、只读存储器704以及随机存取存储器706通过总线708彼此相连。输入/输出(i/o)接口710也连接至总线708。
99.电子设备700中的多个部件连接至输入/输出接口710,包括:输入单元712,例如键盘、鼠标、麦克风等;输出单元714,例如各种类型的显示器、扬声器等;存储单元716,例如磁盘、光盘等;以及通信单元718,例如网卡、调制解调器、无线通信收发机等。通信单元718允许电子设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
100.上文所描述的各个过程和处理,例如方法200、方法300和方法400,可由中央处理单元702执行。例如,在一些实施例中,方法200、方法300和方法400可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元716。在一些实施例中,计算机程序的部分或者全部可以经由只读存储器704和/或通信单元718而被载入和/或安装到电子设备700上。当计算机程序被加载到随机存取存储器706并由中央处理单元702执行时,可以执行上文描述的方法200、方法300和方法400的一个或多个动作。
101.本公开涉及方法、装置、系统、电子设备、计算机可读存储介质和/或计算机程序产品。计算机程序产品可以包括用于执行本公开的各个方面的计算机可读程序指令。
102.计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是——但不限于——电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器、只读存储器、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽中凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
103.这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘计算设备。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
104.用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
105.这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
106.这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数
据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
107.也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
108.附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
109.以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
技术特征:
1.一种epa网络中对高优先级消息进行调度的方法,其特征在于,所述方法包括:epa网络中的第一节点设备将高优先级消息封装为目标高优先级数据报文,并发起目标高优先级数据报文的传输任务;响应于所述目标高优先级数据报文的传输任务被发起并且所述第一节点设备的端口在传输周期数据报文或非周期数据报文,中断当前正在执行的周期数据报文传输或非周期数据报文传输,以传输目标高优先级数据报文;以及响应于目标高优先级数据报文传输完成,重新执行被中断的周期数据报文传输或非周期数据报文传输。2.根据权利要求1所述的方法,其特征在于,所述传输任务包括发送任务,所述方法还包括:响应于所述高优先级消息在所述第一节点设备处生成,所述第一节点设备发起目标高优先级数据报文的发送任务,以经由第一节点设备的端口发送所述目标高优先级数据报文。3.根据权利要求1所述的方法,其特征在于,所述传输任务包括转发任务,所述方法还包括:响应于所述高优先级消息经由所述第一节点设备的端口中的第一端口被接收到,所述第一节点设备发起目标高优先级数据报文的转发任务,以经由第一节点设备的端口中的第二端口转发所述目标高优先级数据报文。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述第一节点设备发起目标高优先级数据报文的发送或转发任务;判断所述第一节点设备的端口是否在转发或发送高优先级数据报文;若所述第一节点设备的端口在转发或发送所述高优先级数据报文,则等待所述高优先级数据报文转发或发送完成;若所述第一节点设备的端口未在转发或发送所述高优先级数据报文,则判断所述第一节点设备的端口是否在发送周期数据报文或非周期数据报文;若所述第一节点设备的端口未在发送所述周期数据报文或所述非周期数据报文,则开始发送或转发所述目标高优先级数据报文。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述第一节点设备发起目标周期数据报文或目标非周期数据报文的发送任务;判断是否到达目标周期数据报文或目标非周期数据报文的预定发送时刻;若到达所述目标周期数据报文或目标非周期数据报文的预定发送时刻,则开始发送所述目标周期数据报文或目标非周期数据报文;若未到达所述目标周期数据报文或目标非周期数据报文的预定发送时刻,则判断是否转发无效报文和高优先级数据报文;若转发所述无效报文和所述高优先级数据报文,则计算所述无效报文所占用的时间长度和所述高优先级数据报文所占用的时间长度,并基于所计算的无效报文所占用的时间长度和所计算的高优先级数据报文所占用的时间长度来更新所述目标周期数据报文或目标非周期数据报文的预定发送时刻。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
响应于开始发送所述目标周期数据报文或目标非周期数据报文,判断是否完成发送所述目标周期数据报文或目标非周期数据报文;若未完成发送所述目标周期数据报文或目标非周期数据报文,则判断是否请求发送或转发高优先级数据报文;若请求发送或转发所述高优先级数据报文,则中断发送所述目标周期数据报文或目标非周期数据报文,以开始发送或转发所述高优先级数据报文;判断是否完成发送或转发所述高优先级数据报文;若完成发送或转发所述高优先级数据报文,则重新发送所述目标周期数据报文或目标非周期数据报文。7. 根据权利要求1所述的方法,其特征在于,所述方法还包括:第二节点设备监听所述第一节点设备所传输的无效报文和目标高优先级数据报文,并计算所述无效报文所占用的时间长度和所述目标高优先级数据报文所占用的时间长度;以及基于所计算的无效报文所占用的时间长度和所计算的高优先级数据报文所占用的时间长度,更新所述第二节点设备所对应的周期数据报文或非周期数据报文的预定发送时刻。8.根据权利要求1所述的方法,其特征在于,相邻的宏周期之间包括弹性时段。9.一种epa网络中的节点设备,其特征在于,所述节点设备包括:高优先级消息封装模块,被配置为将高优先级消息封装为目标高优先级数据报文,并发起目标高优先级数据报文的传输任务;端口,被配置为进行数据的收发;以及调度模块,被配置为响应于所述目标高优先级数据报文的传输任务被发起并且所述端口在传输周期数据报文或非周期数据报文,中断当前正在执行的周期数据报文传输或非周期数据报文传输,以调度所述节点设备以传输目标高优先级数据报文;以及被配置为响应于目标高优先级数据报文传输完成,调度所述节点设备以重新执行被中断的周期数据报文传输或非周期数据报文传输。10. 根据权利要求9所述的节点设备,其特征在于,所述节点设备还包括:周期消息封装模块,被配置为将周期消息封装为目标周期数据报文,并发起目标周期数据报文的传输任务;以及非周期消息封装模块,被配置为将非周期消息封装为目标非周期数据报文,并发起目标非周期数据报文的传输任务。11. 一种计算设备,包括:至少一个处理器;以及至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理器并且存储用于由所述至少一个处理器执行的指令,所述指令当由所述至少一个处理器执行时,使得所述计算设备执行根据权利要求1至8中任一项所述的方法。12.一种计算机可读存储介质,其上存储有计算机程序代码,所述计算机程序代码在被运行时执行根据权利要求1至8中任一项所述的方法。
技术总结
本公开涉及EPA网络中对高优先级消息进行调度的方法、设备和介质。该方法包括:EPA网络中的第一节点设备将高优先级消息封装为目标高优先级数据报文,并发起目标高优先级数据报文的传输任务;响应于目标高优先级数据报文的传输任务被发起并且第一节点设备的端口在传输周期数据报文或非周期数据报文,中断当前正在执行的周期数据报文传输或非周期数据报文传输,以传输目标高优先级数据报文;以及响应于目标高优先级数据报文传输完成,重新执行被中断的周期数据报文传输或非周期数据报文传输。由此,本公开至少能够降低高优先级消息处理响应时间,满足高优先级消息低传输时延的要求,并且还至少能够避免丢包。并且还至少能够避免丢包。并且还至少能够避免丢包。
技术研发人员:顾昊 苏梦鸻 陈建飞 仇光强
受保护的技术使用者:浙江国利信安科技有限公司
技术研发日:2023.09.05
技术公布日:2023/10/15
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
