数据处理方法及列车网络系统的利记博彩app
【专利摘要】本发明公开了一种数据处理方法及列车网络系统,属于列车通信【技术领域】,解决了现有的以太网通信模型不能满足列车通信的服务质量的技术问题。该数据处理方法,包括:判断数据任务的类型;根据预设条件,获取所述数据任务的类型相应的优先级;根据所述优先级,执行所述数据任务。本发明可用于列车通信系统。
【专利说明】数据处理方法及列车网络系统
【技术领域】
[0001]本发明涉及列车通信【技术领域】,具体地说,涉及一种数据处理方法及列车网络系统。
【背景技术】
[0002]在列车通信网络中,列车的实时数据通信要求准确、有效以及快速。以太网的OSI七层模型中,每一次应用数据的发送,都要依次通过应用层,TCP/IP协议栈,驱动层等多层模型才能形成以太网帧在线路上进行传送,CPU需要对该复杂的过程进行处理,对于操作系统而言,不同的数据长度、通信周期、任务调度机制都将在很大程度上影响CPU负荷。
[0003]服务质量(Quality of Service,简称QoS)用于衡量一个网络服务的满意度,在网络服务中,OSI参考模型面向功能的QoS参数主要有吞吐率、传输延迟、出错率、重置率等。其中,比较典型的技术有集成服务、资源预留、多协议标签交换协议、约束路由等。但是,在列车通信系统中,根据IEC61375标准的规范,列车数据包含过程数据、消息数据、流媒体数据等多种类型的数据,这些数据对通信的实时性、吞吐率、丢包率等要求不尽相同,而现有的以太网通信模型都不能满足列车通信的服务质量。
【发明内容】
[0004]本发明的目的在于提供一种数据处理方法及列车网络系统,以解决现有的以太网通信模型不能满足列车通信的服务质量的技术问题。
[0005]本发明提供一种数据处理方法,包括:
[0006]判断数据任务的类型;
[0007]根据预设条件,获取所述数据任务的类型相应的优先级;
[0008]根据所述优先级,执行所述数据任务。
[0009]其中,所述数据任务的类型包括过程数据任务、消息数据任务和流媒体数据任务;
[0010]所述预设条件为,过程数据任务的优先级高于消息数据任务,消息数据任务的优先级高于流媒体数据任务。
[0011]进一步,所述过程数据任务包括过程数据接收和过程数据发送,过程数据接收的优先级高于过程数据发送;
[0012]所述消息数据任务包括消息数据接收和消息数据发送,消息数据接收的优先级高于消息数据发送;
[0013]所述流媒体数据任务包括流媒体数据接收和流媒体数据发送,流媒体数据接收的优先级高于流媒体数据发送。
[0014]进一步,所述过程数据任务的优先级低于系统任务。
[0015]优选的,当所述执行所述数据任务,为过程数据发送时,具体包括:
[0016]每经过一个时间片,判断是否有到达发送周期的发送端口 ;
[0017]如果有,则由所述到达发送周期的发送端口发送数据;
[0018]其中,时间片的长度为任务的调度周期T,发送周期为C的多个端口依次分配在循环的η个时间片中,n = C/T,且η为整数。
[0019]进一步,有新增的发送周期为C的端口时,将该新增的端口分配在所述η个时间片中包含的端口数最少的时间片中,具体为:
[0020]在任意两个相邻的时间片中,如果后一时间片中包含的端口数小于前一时间片中包含的端口数;
[0021 ] 则将该新增的端口分配在该后一时间片中。
[0022]进一步,当所述η个时间片中的某个时间片删除了一个发送周期为C的端口后,如果该删除端口的时间片中包含的端口数,小于与其相邻的后一时间片中包含的端口数;
[0023]则将所述后一时间片中的一个发送周期为C的端口分配在所述删除端口的时间片中。
[0024]优选的,当所述执行所述数据任务,为消息数据发送时,具体为:
[0025]将大包数据分为若干个分包;
[0026]将各个所述分包进行发送;
[0027]其中,每个所述分包中包括分包协议,所述分包协议的内容包括大包序号、大包总长度、分包序号和分包偏移。
[0028]本发明还提供一种列车网络系统,包括列车骨干网,以及与所述列车骨干网连接的编组环网,所述编组环网由多个编组网组成,所述编组网连接终端设备,所述终端设备中采用上述的数据处理方法。
[0029]优选的,所述编组环网中包括主控设备;
[0030]所述主控设备用于,将本编组环网待发送至其他编组环网的数据整合成一个或多个数据包。
[0031 ] 进一步,所述主控设备还用于,将来自其他编组环网的数据包发送至本编组环网连接的所有终端设备。
[0032]本发明带来了以下有益效果:本发明提供的数据处理方法及列车网络系统中,首先根据预设条件获取数据任务的类型相应的优先级,再根据优先级对数据任务进行接收、发送等执行操作。其中的预设条件,也就是判断优先级的标准,根据列车通信中各类型数据任务的特性设置。例如,可以优先执行实时性要求高的数据任务,而对于实时性要求较低,吞吐率要求高的数据任务可以稍微延后执行,或等待网络负载较低的时候再执行。因此,本发明提供的技术方案,更加符合列车通信的特性,从而提高了列车通信的服务质量。
[0033]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
【专利附图】
【附图说明】
[0034]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要的附图做简单的介绍:
[0035]图1是本发明实施例提供的数据处理方法中端口的分配示意图;
[0036]图2是现有的端口的分配示意图;
[0037]图3a和图3b是本发明实施例提供的数据处理方法中端口删除过程的示意图;
[0038]图4是本发明实施例提供的列车网络系统的示意图。
【具体实施方式】
[0039]以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
[0040]本发明实施例提供一种数据处理方法,可应用于列车通信中。该数据处理方法包括:
[0041]SlOl:判断数据任务的类型。
[0042]S102:根据预设条件,获取数据任务的类型相应的优先级。
[0043]S103:根据优先级,执行数据任务。
[0044]具体的,数据任务的类型包括过程数据任务、消息数据任务和流媒体数据任务等。本实施例中的预设条件为,过程数据任务的优先级高于消息数据任务,消息数据任务的优先级高于流媒体数据任务。
[0045]进一步,过程数据任务包括过程数据接收和过程数据发送,其中,过程数据接收的优先级高于过程数据发送。消息数据任务包括消息数据接收和消息数据发送,其中,消息数据接收的优先级高于消息数据发送。流媒体数据任务包括流媒体数据接收和流媒体数据发送,其中,流媒体数据接收的优先级高于流媒体数据发送。
[0046]上述各个数据任务的优先级的值设置如下(操作系统中优先级的值越小,优先级越闻):
[0047]过程数据接收的优先级设为P ;
[0048]过程数据发送的优先级设为P+1 ;
[0049]消息数据接收的优先级设为P+2 ;
[0050]消息数据发送的优先级设为P+3 ;
[0051]流媒体数据接收的优先级设为P+Q ;
[0052]流媒体数据发送的优先级设为P+Q+1。
[0053]其中,过程数据接收的优先级最高,并且P的值应当大于系统任务(系统内核生成任务)的优先级的值,即过程数据接收的优先级要低于系统任务的优先级;P+3应小于其他应用程序生成任务的优先级的值,即消息数据发送的优先级要高于其他应用程序生成任务的优先级。
[0054]另外,由于流媒体数据一般用于某些媒体数据的传输,各个应用有所不同,所以Q的值可根据应用的重要性确定,但是必须保证Q > 4,即流媒体数据接收的优先级必须低于消息数据发送的优先级。
[0055]如果操作系统中优先级的值越大,优先级越高,则将上述各值中的加号改为减号即可。
[0056]本发明实施例中,采用基于优先级的抢占式任务调度算法,即系统中的每个任务都有一个优先级。任一时刻,系统内核会将CPU分配给处于准备状态的优先级最高的任务。一旦系统内核发现有一个比当前正在运行的任务的优先级更高的任务转变为准备状态时,系统内核立即保存当前任务的上下文,切换到该更高优先级的任务去执行。
[0057]因此,当列车通信系统中有过程数据任务需要执行时,由于其优先级最高,所以可以打断消息数据任务、流媒体数据任务及其他数据任务,从而优先得到执行,能够保证过程数据任务的实时性。同样,消息数据任务可以打断流媒体数据任务及其他数据任务,而有过程数据任务时则让过程数据任务优先执行。
[0058]本发明实施例提供的数据处理方法中,首先根据预设条件获取数据任务的类型相应的优先级,再根据优先级对数据任务进行接收、发送等执行操作。其中的预设条件,也就是判断优先级的标准,根据列车通信中各类型数据任务的特性设置,使得实时性要求高的过程数据任务可以优先执行,而对于实时性要求较低,吞吐率要求高的消息数据任务、流媒体数据任务等可以稍微延后执行,或等待网络负载较低的时候再执行。因此,本发明实施例提供的数据处理方法,更加符合列车通信的特性,为不同种类的数据任务提供不同的服务质量保证,确保不同种类的数据通信性能满足列车通信的要求,从而提高了列车通信的服务质量。
[0059]作为一个优选方案,当所执行数据任务,为过程数据发送、消息数据发送或流媒体数据发送时,采用多端口周期性数据传输的时间片均衡控制策略,具体方法如下:
[0060]每经过一个时间片,判断是否有到达发送周期的发送端口。如果有,则由到达发送周期的发送端口发送数据。
[0061]其中,时间片的长度为任务的调度周期T,发送周期(sendCycle)同为C的多个端口依次分配在循环的η个时间片中,n = C/T,且η为整数。如图1所示,本实施例中以η =3为例,发送周期同为C的端口共有5个(端口 a至端口 e)。端口 a、端口 b、端口 c依次分配在时间片1、时间片2、时间片3中,端口 d、端口 e再依次分配在时间片1、时间片2中,则时间片I和时间片2均分配有2个端口,时间片3分配有I个端口,使发送周期为C的5个端口尽可能平均的分配在3个时间片中。
[0062]现有技术中,是将发送周期同为C(C = 3T)的5个端口分配在一个时间片中,如图2所示。对于发送端,在时间片I中,系统将5个端口的数据全部进行发送,而在时间片2和时间片3中,系统处于空闲状态。在下一个时间片I中,系统再次将5个端口的数据全部进行发送。对于接收端也与此相同,在某一时刻,会连续接收5个数据包,在接下来较长时间里,一个数据包都没有接收,之后又在某一时刻会连续收到5个数据包。
[0063]从上分析可知,现有技术中存在如下问题:发送端某一时刻发送任务负载较高,此时CPU负荷也高,CPU负荷太高就会影响系统中其他任务的调度。接收端也存在同样问题,某一时刻需要处理大量数据,其他时刻又较空闲。因此,整个网络的负荷时高时低,使网络负载非常不均衡。
[0064]相比于现有技术,本发明实施例中,将发送周期为C的5个端口尽可能平均的分配在3个时间片中,在各端口的发送周期不变的情况下,实现了发送任务的负荷的均衡化,同时接收端接收任务的负荷及网络负荷也实现了均衡化,不会出现某一时刻负荷超高,其他时间又十分空闲的情况。
[0065]进一步,有新增的发送周期为C的端口时,将该新增的端口分配在η个时间片中包含的端口数最少的时间片中。具体过程为:在任意两个相邻的时间片中,如果后一时间片中包含的端口数小于前一时间片中包含的端口数,则将该新增的端口分配在该后一时间片中。
[0066]以图1所示的情况为例,目前已有5个发送周期为C的端口。当出现了新增的第6个端口时,比较相邻的时间片I和时间片2中包含的端口数。因为时间片I和时间片2中包含的端口数均为两个,所以继续比较时间片2和时间片3中包含的端口数。因为时间片3中包含的端口数为I个,小于时间片2中包含的端口数,所以将该新增的端口分配在时间片3中,使得增加端口之后,仍然能够将发送周期为C的多个端口尽可能平均的分配在3个时间片中。
[0067]如果经过比较,所有时间片中包含的端口数均相等,则可以将新增的端口分配在任意一个时间片中,通常可以将新增的端口分配在时间片I中。
[0068]另一方面,有时候也会有某个端口被删除。当η个时间片中的某个时间片删除了一个发送周期为C的端口后,如果该删除端口的时间片中包含的端口数,小于与其相邻的后一时间片中包含的端口数,则将后一时间片中的一个发送周期为C的端口分配在删除端口的时间片中。
[0069]Itia,图1中时间片I中的端口 d被删除之后,变为图3a所示的状况。比较时间片I与时间片2中包含的端口数,因为时间片I中包含的端口数小于时间片I中包含的端口数,所以将时间片2中的端口 b (或端口 e)分配在时间片I中,如图3b所示,使得有端口被删除后,剩余的端口也能够尽可能平均的分配在3个时间片中。
[0070]当然,由于时间片2中的端口 b分配在了时间片I中,也相当于时间片2中的端口b被删除,所以还要比较时间片2与时间片3中包含的端口数。因为时间片2与时间片3中包含的端口数相等,所以就不需要再将时间片3中的端口分配在时间片2中了。
[0071]在消息数据的发送过程中,当所要发送的数据包较大时,本发明实施例中采用用户数据报协议(User Datagram Protocol,简称UDP)进行大包发送,而不采用IP分片的方法,以避免网络负荷较高时传输控制协议(Transmiss1n Control Protocol,简称TCP)有可能造成的不确定性。
[0072]具体分包方法为:将大包数据分为若干个分包,然后将各个分包进行发送。每个分包中包括分包协议,分包协议可以增加在应用数据外层,分包协议的内容包括大包序号、大包总长度、分包序号和分包偏移。其中,大包序号为大包的序号;大包总长度为该分包所处的大包总的字节数;分包序号为该分包在大包内的序号;分包偏移为该分包在原大包内的字节数的偏移量。
[0073]发送端将大包按照上述分包协议进行拆包,接收端在接收到分包后按照上述分包协议进行组包。
[0074]优选的,为了确保数据的有效性,接收端在收到数据后需发送一个确认包给发送端,其超时值可由列车通信配置文件进行配置。如果达到该超时值,发送端还未收到确认包,则需要向接收端重新发送分包,其最大发送次数也可在列车通信配置文件内进行配置。这样即可通过配置文件进行控制,避免网络负荷的增加的不确定性。
[0075]采用以上方法,可以在无需IP分片的情况下,采用UDP进行大包发送,以降低网络负荷,并避免网络负荷较高时TCP有可能造成的不确定性。具体步骤如下:
[0076]S201:在配置列车通信数据流时,对每一端口可配置接收确认超时时间ackTimeout和最大重发次数maxResend。
[0077]S202:发送端按照上述分包协议,将大包拆分为多个分包,并将各个分包发送至接收端。如果ackTimeout为O,则表示不需要接收端发送确认包。如果ackTimeout为非O,则发送端在对每一分包发送完毕后开始计时。如果在ackTimeout时间内未收到确认包,且此时的已重发次数hasResendCount彡maxResend,则通知应用层发送失败,否则重新发送该分包。当然,最大重发次数maxResend也可以设置为0,表示不重发分包。
[0078]S203:接收端接收到分包后,按照上述分包协议进行组包。如果该端口配置的ackTimeout为O,则不发送确认包;如果ackTimeout为非O,则向发送端发送确认包。
[0079]如图4所示,本发明实施例还提供一种列车网络系统,包括列车骨干网11,以及与列车骨干网11连接的编组环网,编组环网由多个编组网12组成,编组网12连接终端设备13,终端设备13中采用上述实施例提供的数据处理方法。
[0080]因为本发明实施例提供的列车网络系统,与本发明上述实施例提供的数据处理方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
[0081]优选的,在每个编组环网中包括主控设备14。主控设备14用于,将本编组环网待发送至其他编组环网的数据整合成一个或多个数据包。
[0082]进一步,主控设备14还用于,将来自其他编组环网的数据包发送至本编组环网连接的所有终端设备13。
[0083]当终端设备13需要通过本编组环网与其他编组环网下的终端设备13通信时,需要进行跨编组通信。当多个终端设备13需要跨编组通信时,由于跨编组通信的实时性要求比编组内通信的实时性要求低,因此主控设备将需要通信的数据进行整合,统一进行转发,具体过程如下:
[0084]S301:编组环网中设置一个主控设备14,如图4所示,该主控设备14与一个编组网12相连,并且与主控设备14相连的编组网12必须与列车骨干网11连接。
[0085]S302:当有(多个)终端设备13需要跨编组通信时,先将数据发送至主控设备14,主控设备14将这些数据整合成一个或多个数据包,再通过列车骨干网11发送至其他编组的主控设备14。
[0086]S303:其他编组的主控设备14收到数据包后,将数据包以多播方式发送至其编组内的所有终端设备13,各终端设备13解析得到各自需要的相应数据包。
[0087]这样,通过设置主控设备14对其他终端设备13的数据进行集成整合,就能够有效减少网络内的数据包的数量,从而降低网络负荷。
[0088]虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属【技术领域】内的技术人员,在不脱离本发明所公开的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
【权利要求】
1.一种数据处理方法,其特征在于,包括: 判断数据任务的类型; 根据预设条件,获取所述数据任务的类型相应的优先级; 根据所述优先级,执行所述数据任务。
2.如权利要求1所述的数据处理方法,其特征在于, 所述数据任务的类型包括过程数据任务、消息数据任务和流媒体数据任务; 所述预设条件为,过程数据任务的优先级高于消息数据任务,消息数据任务的优先级高于流媒体数据任务。
3.如权利要求2所述的数据处理方法,其特征在于,所述过程数据任务包括过程数据接收和过程数据发送,过程数据接收的优先级高于过程数据发送; 所述消息数据任务包括消息数据接收和消息数据发送,消息数据接收的优先级高于消息数据发送; 所述流媒体数据任务包括流媒体数据接收和流媒体数据发送,流媒体数据接收的优先级高于流媒体数据发送。
4.如权利要求2所述的数据处理方法,其特征在于,所述过程数据任务的优先级低于系统任务。
5.如权利要求1所述的数据处理方法,其特征在于,当所述执行所述数据任务,为过程数据发送时,具体包括: 每经过一个时间片,判断是否有到达发送周期的发送端口 ; 如果有,则由所述到达发送周期的发送端口发送数据; 其中,时间片的长度为任务的调度周期I,发送周期为的多个端口依次分配在循环的II个时间片中,II =',且II为整数。
6.如权利要求5所述的数据处理方法,其特征在于,有新增的发送周期为(:的端口时,将该新增的端口分配在所述II个时间片中包含的端口数最少的时间片中。
7.如权利要求6所述的数据处理方法,其特征在于,将该新增的端口分配在所述II个时间片中包含的端口数最少的时间片中,具体为: 在任意两个相邻的时间片中,如果后一时间片中包含的端口数小于前一时间片中包含的端口数; 则将该新增的端口分配在该后一时间片中。
8.如权利要求5所述的数据处理方法,其特征在于,当所述!1个时间片中的某个时间片删除了一个发送周期为¢:的端口后,如果该删除端口的时间片中包含的端口数,小于与其相邻的后一时间片中包含的端口数; 则将所述后一时间片中的一个发送周期为¢:的端口分配在所述删除端口的时间片中。
9.如权利要求1所述的数据处理方法,其特征在于,当所述执行所述数据任务,为消息数据发送时,具体为: 将大包数据分为若干个分包; 将各个所述分包进行发送; 其中,每个所述分包中包括分包协议,所述分包协议的内容包括大包序号、大包总长度、分包序号和分包偏移。
10.一种列车网络系统,其特征在于,包括列车骨干网,以及与所述列车骨干网连接的编组环网,所述编组环网由多个编组网组成,所述编组网连接终端设备,所述终端设备中采用如权利要求1至9任一项所述的数据处理方法。
11.如权利要求10所述的列车网络系统,其特征在于,所述编组环网中包括主控设备; 所述主控设备用于,将本编组环网待发送至其他编组环网的数据整合成一个或多个数据包。
12.如权利要求11所述的列车网络系统,其特征在于,所述主控设备还用于,将来自其他编组环网的数据包发送至本编组环网连接的所有终端设备。
【文档编号】H04L29/08GK104363216SQ201410614024
【公开日】2015年2月18日 申请日期:2014年11月4日 优先权日:2014年11月4日
【发明者】杨卫峰, 唐军, 冯江华, 李思源, 邹智荣 申请人:南车株洲电力机车研究所有限公司