一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种ARINC664网络接收终端时间完整性校验方法与流程

2022-11-30 09:05:36 来源:中国专利 TAG:

一种arinc664网络接收终端时间完整性校验方法
技术领域
1.本发明属于arinc664网络高完整性设计技术领域,尤其涉及一种 arinc664网络接收终端时间完整性校验方法。


背景技术:

2.在基于飞机数据网络中传输层服务机制进行数据通信过程中,任何的数据传输错误都将对上层应用产生严重的后果,因此数据传输过程中消息接收端不能无期限地等待消息,在等待一定的时间之后,若消息仍未被收到,则不应再接收该消息,确保消息在有效的延迟时间范围内被接收,这一过程被称为时间完整性校验。因为a664网络中的终端均为异步终端,均有各自的时钟源,所以必须计算发送终端与接收终端之间的时钟偏差,因此需要定义一种源终端和目的终端之间的时钟偏差计算方法,并完成消息时间完整性校验。


技术实现要素:

3.本发明技术方案针对背景技术中的问题,提供一种arinc664网络接收终端时间完整性校验方法,保证消息在网络中传输时的时间完整性。
4.为达到上述目的,本发明采用如下技术方案予以实现。
5.一种arinc664网络接收终端时间完整性校验方法,所述方法包括:
6.s1,获取消息的第一个字节离开发送终端的时刻dts;
7.s2,计算发送终端与接收终端之间的时间偏差tos;
8.s3,获取消息在交换机网络中的延迟上界t_worst;
9.s4,消息第一个字节到达接收终端时的接收端时钟若在dts tos t_worst 的上界之内,则认为该消息的时间完整性校验通过;当接收端时钟超过 dts tos t_worst的上界之后,则认为该消息的时间完整性校验失败,接收终端丢弃该消息。
10.本发明技术方案的特点和进一步的改进为:
11.(1)s1具体为:
12.在消息第一个字节离开发送终端的时刻进行打时间戳的方式获取该数据 dts。
13.(2)s2,计算发送终端与接收终端之间的时间偏差tos时:
14.s21,首先在arinc664网络中某个通用处理模块gpm上驻留一个应用软件,用来构造并发送时间请求消息,并将该通用处理模块gpm作为时间服务端server;
15.s22,arinc664网络中其他能够进行网络通信的设备均设置为时间客户端 client,每个时间客户端均驻留一个应用软件,负责构造时间响应消息并发送时间响应消息给时间服务端server;
16.s23,定义时间服务端server在消息第一个字节离开发送终端的时刻给消息打时间戳,时间客户端client在接收时间请求消息第一个字节的时刻给该消息打戳;
17.s24,然后时间客户端client构造时间响应消息,并把时间戳两个时间戳的值均记录在时间响应消息内,再将时间响应消息发送给时间服务端server;
18.s25,时间服务端server接收到时间响应消息之后,构造时间戳列表消息,将从每个时间客户端client收集到的时间戳数据均放入时间戳列表消息,再将时间戳列表消息发送给每个时间客户端client,最后时间客户端client进行时间偏差计算。
19.(3)s2中,记时间服务端连接的终端作为发送终端,时间客户端client1 和client2连接的终端作为接收终端;
20.假设时间服务端server、第一时间客户端client1、第二时间客户端client2 的本地时钟之间时间偏差满足如下关系:
21.第一时间客户端client1的时间比时间服务端server的时间快δ1;第二时间客户端client2的时间比时间服务端server的时间快δ2;且第一时间客户端client1的时间快于第二时间客户端client2的时间,则第一时间客户端client1 与第二时间客户端client2之间的时间偏差tos=δ1-δ2。
22.(4)记d1表示时间服务端server到第一时间客户端client1的交换机网络路径延迟,d3表示时间服务端server到第二时间客户端client2的交换机网络路径延迟;
23.时间服务端server给第一时间客户端client1发送时间请求消息,并在时间请求消息第一个字节离开时给消息打时间戳,记为t1,第一时间客户端 client1在接收时间请求消息第一个字节的时刻给该消息打戳,记为t2;
24.时间服务端server给第二时间客户端client2发送时间请求消息,并在时间请求消息第一个字节离开时给消息打时间戳,记为t1',第二时间客户端 client2在接收时间请求消息第一个字节的时刻给该消息打戳,记为t2';
25.则:
[0026][0027]
所以第一时间客户端client1与第二时间客户端client2之间的时间偏差为:
[0028]
tos=δ1-δ2
[0029]
=t2-t1-d1-(t2'-t1'-d3)
[0030]
=t2-t1-(t2'-t1')-d1 d3
[0031]
(5)tos的最大值为:
[0032]
tos
max
=t2-t1-(t2'-t1')-sc1delay
min
sc2delay
max
[0033]
其中,sc1delay
min
表示时间服务端server到第一时间客户端client1的交换机网络最小延迟,sc2delay
max
表示时间服务端server到第二时间客户端client2 的交换机网络最大延迟。
[0034]
(6)arinc664交换机网络由多台交换机组成;s3,获取消息在交换机网络中的延迟上界t_worst,具体为:
[0035]
s31,确定数据帧的第一个字节到达某一交换机的输入端口的时间到该数据帧的最后一个字节到达该交换机的输入端口的最大时间间隔,记为l1;
[0036]
s32,确定该数据帧的最后一个字节到达该交换机的输入端口的时间到该数据帧的第一个字节到达该交换机公共缓冲区的时间间隔,记为l2;
[0037]
s33,确定该数据帧在该交换机输出端口的最大延迟,记为l3;
[0038]
s34,根据l1、l2、l3之和,计算该数据帧在该交换机的最大延迟;
[0039]
s35,根据所述arinc664交换机网络包含的交换机数量,以及数据帧在每台交换机内的最大延迟,确定所述arinc664交换机网络内数据帧的延迟上界。
[0040]
(7)虚拟链路定义了一个逻辑上单向的连接,从一个源终端到一个或多个目标终端,一条虚拟链路有多少个目标终端就有多少条vl path,从源终端到一个目标终端视为一条vl path;
[0041]
s31中:
[0042][0043]
其中,vli表示第i条虚拟链路,node表示交换机的某一个输出端口,称为交换机节点,vli∈node表示从该交换机节点通过的虚拟链路集合,是第i条虚拟链路允许的最大帧长,ci是第i条虚拟链路在其输入端口的带宽;
[0044]
s32中:l2的值为交换机配置的最大抖动时间。
[0045]
(8)s33中,计算l3的具体过程如下:
[0046]
(a)计算每条vlpath的到达曲线,对于每条vlpath,一跳表示从一个设备的出口到下一个设备的出口;
[0047]
单个虚拟链路到达曲线表示为:α(t)=σ ρt
[0048]
其中,σ是突发流量中可以到达的最大流量,ρ是流量增长的斜率上限;
[0049]
(b)计算每个交换机的服务曲线,所述服务曲线包含:高优先级数据帧的服务曲线βh(t)和低优先级数据帧的服务曲线β
l
(t);
[0050]
βh(t)=r[t-t]

,r=c,
[0051]
β
l
(t)=r[t-t]

,
[0052]
其中,[t-t]

表示当t-t大于零时,[t-t]

等于t-t,当t-t小于或者等于零时, [t-t]

等于零,为从同一节点输出的所有低优先级虚拟链路的最大帧长的最大值,为通过该节点的所有高优先级虚拟链路的带宽之和,为通过该节点的所有高优先级虚拟链路的突发数据量之和,t
tech
是交换机的技术延迟,c为交换机输出端口的带宽;
[0053]
(c)确定经过同一输出端口的单个输入端口内所有虚拟链路的聚合到达曲线α
sl
(t);
[0054][0055]
其中,sl表示通过同一交换机节点的一个交换机输入端口的所有虚拟链路,i∈sl表示通过该输入端口的虚拟链路vli;
[0056]
该聚合曲线的拐点e表示为:
[0057][0058]
其中,σi是第i条虚拟链路vli通过该输入端口的突发流量;ρi是第i条虚拟链路vli的带宽;c是该输入端口的速率;
[0059]
(d)使用分组技术按升序对所有经过同一输出端口的n个输入端口的到达曲线的拐点进行排序,排序后的拐点标识为eg(g=1,2,...,n),n为交换机端口数量;经分组升序排序后的输入端口聚合数据流在交换机节点处汇聚,得到在交换机节点的到达曲线;
[0060]
通过计算交换机节点的到达曲线和服务曲线之间的最大水平距离可以得到数据流在交换机节点处排队竞争引起的最大水平延迟d
max
,记为t3。
[0061]
(9)(a)计算每条vlpath的到达曲线,具体为:
[0062]
(a1)每条vlpath的第一跳到达曲线:
[0063][0064][0065][0066]
其中,s
max
表示虚拟链路允许的最大帧长,bag为虚拟链路的固有参数最小帧间隔,max_jitter表示在虚拟链路上的最大抖动时间,在第一跳交换机时 max_jitter为jitter
es
,表示虚拟链路在源终端内已有的抖动;
[0067]
从第二跳开始使用下面步骤得到的公式作为虚拟链路的到达曲线;
[0068]
(a2)计算vlpath下一跳的到达曲线:
[0069]
表示进入交换机节点n的流量的到达曲线,是第n 个节点之后经过的下一个节点的到达曲线;它们满足以下关系:
[0070][0071]
其中,是节点中聚合到达曲线的最大等待时间,是节点中聚合到达曲线的最大等待时间,
[0072]
(10)最大水平延迟d
max
的计算过程为:
[0073]
存在拐点e
x
,在e
x
的左边,交换机的到达曲线的斜率大于等于服务曲线斜率,在e
x
的右边,交换机的到达曲线的斜率小于服务曲线斜率;
[0074]
当t=e
x
时,得到交换机节点的到达曲线和服务曲线的最大水平距离d
max
,作为数据帧在交换机输出端口的最大延迟:
[0075]
其中,t和r是交换机的服务曲线的参数;根据以下式子计算中间参数y:
[0076][0077]
式中,m1是交换机中10mbps端口的数量,m2是交换机中100mbps端口的数量,m1 m2=n-s 1,m2先随着s加1而减1,当m2减到0后,m1开始随着s加1而减1,c1是10mbps,c2是100mbps,r0=e0=0。
[0078]
(11)先计算vl path在一台交换机内的最大延迟,vli通过的交换机的最大延迟应根据以下公式计算:其中,表示vli经过交换机 j的最大延迟。
[0079]
(12)一条vl path在交换机网络内的端到端延迟上限等于该vl path通过的所有交换机的最大延迟之和:
[0080][0081]
其中,swj∈pathi表示第i条vlpathi经过的交换机集;表示第i条vlpathi通过第j台交换机的最大延迟。
[0082]
本发明通过定义时间管理功能,设计的arinc664网络接收终端时间完整性校验方法,使得消息在合理的延迟范围内被接收,避免了一定的数据传输错误,保障了arinc664网络终端的时间完整性。
附图说明
[0083]
图1为本发明实施例提供的时间管理功能示意图;
[0084]
图2为本发明实施例提供的时间服务端与时间客户端交互过程示意图;
[0085]
图3为本发明实施例提供的时间服务端与时间客户端时间轴示意图;
[0086]
图4为本发明实施例提供的虚拟链路在终端系统输出端口的到达曲线示意图;
[0087]
图5为本发明实施例提供的穿过相同入口的聚合流的到达曲线示意图;
[0088]
图6为本发明实施例提供的聚合流拐点排序示意图;
[0089]
图7为本发明实施例提供的使用分组技术后的到达曲线示意图;
[0090]
图8为本发明实施例提供的e
x
≥t时的延迟计算示意图;
[0091]
图9为本发明实施例提供的e
x
《t时的延迟计算示意图。
具体实施方式
[0092]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0093]
本发明为在a664网络端到端数据传输过程中为保证接收终端时间完整性,定义一种规则:消息第一个字节到达接收终端时的接收端时钟若在 dts tos t_worst的上界之内,则认为该消息的时间完整性校验通过;当接收端时钟超过dts tos t_worst的上界之后,则认为该消息的时间完整性校验失败,接收终端丢弃该消息。其中:dts表示消息第一个字节离开发送终端的时刻,可在消息第一个字节离开发送终端的时刻进行打时间戳的方式
获取该数据, t_worst表示消息在交换机网络中的延迟上界,在进行时间完整性校验时, t_worst表示非时间管理消息从发送端到接收端所经过的交换机网络的最大延迟,计算方法将在下文介绍。本发明中的出现的时间请求消息,时间响应消息,时间戳列表消息统称时间管理消息,且时间请求消息和时间响应消息为单帧数据。
[0094]
为计算时钟偏差tos,本发明先构造一种网络时间管理功能,如图1所示,首先在a664网络中某个通用处理模块(gpm)上驻留一个应用软件,用来构造并发送时间请求消息,此时将该gpm作为时间服务端(server),a664网络中其他能够进行网络通信的设备均设置为时间客户端(client),每个时间客户端均驻留一个应用软件,负责构造时间响应消息并发送时间响应消息给时间服务端。定义时间服务端在消息第一个字节离开发送终端的时刻给消息打时间戳,记为t1,时间客户端在接收时间请求消息第一个字节的时刻给该消息打戳,记为t2,然后时间客户端构造时间响应消息,并把时间戳t1、t2的值均记录在时间响应消息内,再将时间响应消息发送给时间服务端,时间服务端接收到时间响应消息之后,构造时间戳列表消息,将从每个时间客户端收集到的时间戳t1、 t2数据均放入时间戳列表消息(例如:client1t1,client1t2;client2t1,client2t2;client3t1,client3t2;

),再将时间戳列表消息发送给每个时间客户端,最后时间客户端执行时间偏差计算功能。
[0095]
下面介绍本发明中时钟偏差的具体计算过程。
[0096]
假设server、client1、client2的本地时钟之间时间偏差满足如下关系: client1的时间比server的时间快,即,计时值大了δ1;client2的时间比server 的时间快,即,计时值大了δ2;且client1快于client2。(其他情况推导方式类似)则client1与client2之间的时间偏差为tos=δ1-δ2。如图3所示,假设δ1为e点到b点的长度,a点为t1的时刻,c点为t2的时刻,d点为时间客户端打时间戳t2时时间客户端对应的时间点,即路径延迟为a点到d点的长度,也为b点到c点的长度,又由图2所示,d1表示服务端到客户端1 的路径延迟,d3表示服务端到客户端2的路径延迟,可以得到:
[0097][0098]
所以client1与client2之间的时间偏差为:
[0099]
tos=δ1-δ2
[0100]
=t2-t1-d1-(t2'-t1'-d3)
[0101]
=t2-t1-(t2'-t1')-d1 d3 (2)
[0102]
公式中d1和d3为交换机网络路径延迟,均无法精确测量,又因为a664 网络拓扑和帧的网络路由确定之后,帧在交换机网络中传播产生的路径延迟既又可能是最大延迟(排在队列最后),也有可能是最小延迟(排在队列最前),此时若要使接收终端时间完整性校验更合理,即考虑接收终端何时不再等待消息更合理,则将时间偏差计算公式中的d3放大到从server到client2所经过的交换机网络的最大延迟,d1缩小到从server到client1所经过的交换机网络的最小延迟。
[0103]
此时定义消息第一个字节到达接收终端时的接收端时钟若在 dts tos t_worst的上界之内,则认为该消息的时间完整性校验通过;当接收端时钟超过dts tos t_worst的上界之后,则认为该消息的时间完整性校验失败,接收终端丢弃该消息。此时考虑计算tos的上界tos
max
,计算公式如下:
[0104]
tos
max
=t2-t1-(t2'-t1')-sc1delay
min
sc2delay
max
ꢀꢀꢀꢀꢀ
(3)
[0105]
其中,sc1delay
min
表示时间服务端server到第一时间客户端client1的交换机网络最小延迟,sc2delay
max
表示时间服务端server到第二时间客户端client2 的交换机网络最大延迟。
[0106]
交换机网络的最大延迟和最小延迟具体计算过程如下所示:
[0107]
计算数据帧在交换机网络进行数据传输时产生的延迟上界,即计算数据帧在交换机网络中任意一条vl path上的端到端延迟上界,定义为以下两个事件的时间之差:
[0108]
(1)数据帧的第一个字节进入到vl path的第一台交换机的输入端口;
[0109]
(2)数据帧的第一个字节从vl path的最后一台交换机的输出端口离开。
[0110]
涉及术语节点(node),对节点的解释如下:
[0111]
起始节点:vl的源终端;终止节点:vl的目的终端;交换机节点:vl 经过的交换机的某一输出端口,每台交换机有n个节点。
[0112]
具体的,交换机系统传输数据的时延主要分为三部分,
[0113]
第一部分是交换机数据接收模块的延迟,记为l1,描述以下两个事件之间的持续时间:
[0114]
(1)帧的第一个字节(包括前序的20个字节、帧分隔符的开头和帧间间隙)到达交换机的输入端口;
[0115]
(2)帧的最后一个字节到达交换机的输入端口(包括前序的20个字节、帧分隔符的开始和帧间间隙);
[0116]
l1表示持续时间的最大值.
[0117]
通过一个交换机输出端口(交换机节点)的帧可以来自一个或多个具有不同带宽的交换机输入端口。可以按以下公式计算l1:
[0118][0119]
vli∈node表示vli从该交换机节点通过,是vli的最大帧长,ci是vli在交换机输入端口的带宽。
[0120]
第二部分是交换机所有端口同时有最大帧长的数据帧输入时,交换机内部需要依次进行错误过滤和流量管制,并把这些数据帧保存到公共缓冲区,等待其它端口数据帧处理过程会引入延迟,记为l2,描述的是如下两个事件的持续时间:
[0121]
(1)帧的最后一个字节到达交换机的输入端口;
[0122]
(2)帧的第一个字节到达公共缓冲区;
[0123]
l2表示在此持续时间内由于帧之间竞争而导致的最大抖动,为固定值,这部分与交换机设计相关。
[0124]
第三部分是交换机输出端口的延时,记为l3,输出缓冲区收集到所有从该端口输出的vl,每个输出端口由两个队列组成,一个用于缓存高优先级vl的数据帧流量,一个用于缓存低优先级vl的数据帧流量。在这一模块,帧均采用先进先出的调度模式。对于任一优先级均可采用网络演算算法,分别给出高优先级和低优先级流量的服务曲线。在高低优先级队列中,所有高低优先级vl 都各自聚合成一个数据流:即对于每个优先级,输出队列被建
模为聚合服务器,它提供了一条到达曲线,以聚集该优先级内的所有vl。
[0125]
步骤一:计算每条vl path的第一跳的到达曲线,对于每条vl path,一跳表示从一个设备(交换机或终端系统)的出口到下一个设备的出口。
[0126]
单个虚拟链路到达曲线可以用下面的形式表示:α(t)=σ ρt(5)
[0127]
其中:σ是突发流量中可以到达的最大流量,ρ是流量增长的斜率上限。
[0128]
图4为虚拟链路在源终端输出端口的到达曲线,此处对曲线的上移是对到达流量的合理化放大,可以得到vl path的第一次到达曲线为:
[0129][0130][0131][0132]
其中:s
max
是表示最大帧长,bag为虚拟链路的固有参数帧间隔,max_jitter 在第一跳交换机时应为jitter
es
,表示vli在源终端内已有的抖动。从第二跳开始则应该使用步骤四得到的公式作为vl的到达曲线。
[0133]
步骤二:计算每个交换机结点的服务曲线,在一个交换机节点,对于高优先级vl的聚合数据流,由于非抢占性的原因,需要等待一个正在发送的低优先级的帧;对于低优先级vl的聚合数据流,需要等待所有的高优先级vl聚合数据流发送完,因此得到如下每个优先级vl的聚合数据流的服务曲线:
[0134][0135][0136]
其中,l∈l表示通过同一节点的低优先级的vli,l∈h表示通过同一节点的高优先级的vli;当0≤t≤t
tech
时,当t》t
tech
时,t
tech
为交换机的技术延迟,为固定值,由交换机设计决定。
[0137]
每个优先级的服务曲线可以写成以下的形式:
[0138]
βh(t)=r[t-t]

,r=c,
[0139]
β
l
(t)=r[t-t]

,
[0140]
其中,为从同一节点输出的所有低优先级vl的最大帧长的最大值;为通过的该节点的所有高优先级vli的带宽之和(字节/ms)。t
tech
是交换机的技术延迟。c为该节点的带宽。
[0141]
步骤三:计算每个节点的聚合到达曲线。对于交换机的输出端口,不同虚拟链路不能同时传输,因此,数据传输在此处不仅受到链路带宽的约束,还受聚合到达曲线的约束,在同一节点上遍历的数据流可以作为一个聚合流,如图 5所示为穿过相同交换输入端口的vl聚合流的到达曲线α
sl
(t),表示为:
[0142][0143]
其中,sl表示通过同一交换机节点的一个交换机输入端口的所有虚拟链路,i∈sl表示通过该输入端口的虚拟链路vli。
[0144]
拐点e表示为:
[0145][0146]
其中:σi是vli通过该输入端口的突发流量;ρi是vli的带宽;c是该输入端口的速率。
[0147]
在计算聚合到达曲线时,使用分组技术按升序对所有经过同一输出端口的 n个输入端口的到达曲线的拐点进行排序,排序后的拐点记为eg(g=1,2,...,n)(n 为交换机的物理端口数量),如图6所示。经分组升序排序后的输入端口聚合数据流在交换机节点处汇聚,可以得到在交换机节点的到达曲线,如图7所示,其中
[0148]
这样,交换机节点的到达曲线和服务曲线都求出来了,通过计算到达曲线和服务曲线之间的最大水平距离可以得到数据流在交换机节点出排队竞争引起的最大延迟,如图7和图8所示,该延迟记为d
max

[0149]
图8和图9中都有一拐点e
x
,在ex的左边,到达曲线的斜率大于等于服务曲线斜率,在ex的右边,到达曲线的斜率小于服务曲线斜率。
[0150]
当t=ex时,可以得到到达曲线和服务曲线之间的最大水平距离d
max
,即为l3。
[0151][0152]
t和r是交换机节点的服务曲线(β(t)=r[t-t]

)的参数。
[0153]
根据以下式子计算中间参数y:
[0154][0155]
式中:m1是交换机中10mbps端口的数量,m2交换机中100mbps端口的数量,m1 m2=n-s 1,m2先随着s加1而减1,当m2减到0后,m1开始随着s加1而减1,c1是10mbps,c2是100mbps,r0=e0=0。
[0156]
步骤四:计算下一个结点的到达曲线。用表示进入节点n 的vli数据流的到达曲线,用表示vli数据流离开节点n的到达曲线,也就是经过节点n后
进入下一个节点的到达曲线。它们满足以下关系:
[0157][0158]
其中,是节点n的d
max
,则可以得到:
[0159]
其中,
[0160]
步骤五:先计算vl path在一台交换机内的最大延迟,vli通过的交换机的最大延迟应根据以下公式计算:
[0161]
其中,表示vli经过交换机j的最大延迟,l1表示交换机的输入模块中帧延迟的上限;l2表示地址队列中帧抖动的上限;l3表示在交换机节点出到达曲线与服务曲线之间的最大水平距离d
max

[0162]
一条vl path在交换机网络内的端到端延迟上限应等于该vl path通过的所有交换机的最大延迟之和,即:
[0163]
swj∈pathi表示vlpathi经过的交换机集。
[0164]
交换机最小延迟是考虑帧在交换机中通过时没有虚拟链路竞争的情况,此时l1、l2计算方法与上相同,l3为0。
[0165]
本发明通过定义时间管理功能,设计出一种arinc664网络接收终端时间完整性校验方法,使得消息在合理的延迟范围内被接收,避免了一定的数据传输错误,保障了arinc664网络终端的时间完整性。
[0166]
上面对本发明技术方案的较佳实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域的普通技术人员所具备的知识范围内,还可以在不脱离本专利宗旨的前提下作出各种变化。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献