基于拥塞控制的非面向连接可靠冗余网络传输方法技术

技术编号:15519141 阅读:235 留言:0更新日期:2017-06-04 09:06
本发明专利技术涉及一种基于拥塞控制的非面向连接可靠冗余网络传输方法,该方法将网络通信模块抽象为三层:RUDP层、RMP层、UDP层,该方法包括以下步骤:RUDP层负责实现消息的可靠传输,增加RUDP层消息头,通过滑动窗口SWS发送,并校验接收包,回复确认序列,实现超时重发机制;RMP层负责接收RUDP层传来的消息,并增加冗余层消息头,实现了冗余层的管理协议,接收时负责过滤冗余消息;UDP层配置红蓝两个网络,将每一包RMP消息分别通过红蓝网发送出去,并负责将收到的消息传给RMP层。与现有技术相比,本发明专利技术具有安全、冗余、高效等优点。

【技术实现步骤摘要】
基于拥塞控制的非面向连接可靠冗余网络传输方法
本专利技术涉及一种轨道交通信号系统的网络传输技术,尤其是涉及一种基于拥塞控制的非面向连接可靠冗余网络传输方法。
技术介绍
轨道交通信号系统对通信网络要求具有高稳定性和高可靠性,目前通常采用基于Socket底层API维护的通讯方式,传输层一般采用传输控制协议TCP或者UDP,底层采用双网冷备的方式组成冗余通信网,这些方法存在以下的不足:1)双网通讯采用冷备的方式,在网络切换时会出现瞬间的闪断和设备的重新初始化。2)UDP是一种无连接的传输控制协议,无法保证数据的可靠传输。3)TCP协议是面向连接的传输协议,实时性比较差、效率低、占用系统资源高。4)当通信过程中发生故障,无法快速定位故障的问题所在。
技术实现思路
本专利技术的目的就是为了克服上述现有技术存在的缺陷而提供一种安全、冗余、高效的基于拥塞控制的非面向连接可靠冗余网络传输方法。本专利技术的目的可以通过以下技术方案来实现:一种基于拥塞控制的非面向连接可靠冗余网络传输方法,该方法将网络通信模块抽象为三层:RUDP层(可靠用户数据报协议层)、RMP层(冗余层)、UDP层(用户数据报协议层),该方法包括以下步骤:RUDP层负责实现消息的可靠传输,增加RUDP层消息头,通过滑动窗口SWS发送,并校验接收包,回复确认序列,实现超时重发机制;RMP层负责接收RUDP层传来的消息,并增加冗余层消息头,实现了冗余层的管理协议,接收时负责过滤冗余消息;UDP层配置红蓝两个网络,将每一包RMP消息分别通过红蓝网发送出去,并负责将收到的消息传给RMP层。所述的RUDP层的任务包括链接维护任务、发送任务和接收任务。所述的链接维护任务具体为:链接维护任务周期性判断各链接的状态,如果状态为断开则发送建立链接请求包,接收方收到后回复链接响应包,发送方回复确认包,通过三次握手建立通信链接;建立链接后定时发送心跳包消息维护链接,若不能收到对方的心跳回复包则断开链接。所述的发送任务具体为:a1)遍历所有链接状态为良好的通道,看是否有消息等待发送,如果有则执行步骤b1),如果没有则延时继续执行a1);b1)判断是否已收到对方回复的ReplySN,如果没有则执行c1),已收到则执行d1);c1)判断该通道等待时间是否已超时,如果已超时则判断重发次数是否超过阈值,超过则断开链接,如果未超过阈值则重发该分组消息;如果未超时,则继续等待,并返回步骤a1);d1)根据回复的ReplySN更新发送队列,执行拥塞控制算法,更新发送窗口SWS;e1)从发送队列中读取SWS包消息发送;f1)等待信号量Cond_Send,该信号量由接收任务收到ReplySN时释放。所述的接收任务具体为:a2)接收消息,判断当前收到消息对应链接状态是否为良好,若为是则执行步骤b2),否则丢弃该消息;b2)判断该消息是否为回复序列包,若为是则更新ReplySN=SN,释放信号量Cond_Send给发送任务,执行步骤a2);如果不是则执行步骤c2);c2)判断该消息SN是否大于已接收成功ReceivedSN,如果否则丢弃该消息,执行步骤a2);如果大于,则执行步骤d2);d2)判断临时接收队列是否已满,若为是则执行e2),未满则执行a2);e2)处理临时接收队列,校验有序包,将接收成功的消息传给应用层;f2)更新接收成功的ReceivedSN,并回复给发送方,清空临时接收队列,执行a2)。所述的拥塞控制算法具体为:a3)初始化发送滑动窗口SWS为设定值SWSinit,SWStotal=0,count=0;b3)更新SWStotal,count,计算平均SWSaver;c3)判断当前回复序列号ReplySN是否大于已发送的序列号SendedSN,若为是则执行e3),否则执行d3);d3)更新SWS=SWS/2,若SWS<1,则SWS=1,执行步骤b3);e3)判断若ReplySN>SendedSN+SWS,则重置SWS,执行步骤a3),否则执行步骤f3);f3)判断若ReplySN=SendedSN+SWS,执行步骤g3),否则更新SWS=ReplySN-SendedSN,执行步骤b3);g3)判断若SWS>SWSaver,SWS=SWS+1;否则SWS=SWSaver,执行步骤b3)。所述的RMP层处理消息的具体过程如下:1)初始化;2)等待调用接口,判断是发送消息还是接收消息,若为发送消息,执行步骤3),若为接收消息,执行步骤4);3)接收应用层消息组包成RMP消息,并复制为红蓝网两包消息,两包消息包含的应用数据、序列号SeqID完全一致,更新序列号SeqID=SeqID+1,调用发送回调函数传给RUDP层;4)解包RMP消息,并判断是否为重复的消息,若是则丢弃,若不是则将该消息SeqID写入接收记录表,并调用接收回调函数传给应用。所述的UDP层负责将消息发送到远端节点和接收远端发来的消息,包括发送接口和接收任务:1)发送消息时根据消息的冗余层消息头判断属于红网还是蓝网,然后通过对应的发送接口将其发送到远端节点;2)接收任务循环侦听是否有消息到来,收到消息后调用接收回调函数,将该消息传给RUDP层。与现有技术相比,本专利技术具有以下优点:1)本专利技术是一种安全、冗余、高效的通用网络通信模块,通过抽象分层实现,降低了各层之间的耦合性,同时也提高了灵活性和实用性。2)本专利技术的冗余层实现红蓝网热备冗余,两个网络同时工作,当出现单网故障不会对系统产生任何影响,提高了整个网络系统的可靠性。3)本专利技术的RUDP层通过引入三次握手建立链接,接收校验、超时重发、链接维护等机制,使面向无连接的UDP具有可靠数据传输,同时根据网络状态采用拥塞控制算法动态调整滑动窗口,能够明显提高通信的效率和速度。4)本专利技术提供错误日志追踪功能,在初始化、发送、接收消息时,若发生错误,会产生错误日志故障树,同时清晰的层次结构也有助于问题快速定位,使用本专利技术可以提高软件调试的效率。附图说明图1为本专利技术的通信网络层次结构示意图;图2为本专利技术RUDP三次握手建立链接示意图;图3为本专利技术RUDP发送任务处理流程图图;图4为本专利技术RUDP接收任务处理流程图;图5为本专利技术RUDP拥塞控制算法流程图;图6为本专利技术RMP消息处理流程图;图7为本专利技术UDP层消息处理流程图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术的一部分实施例,而不是全部实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本专利技术保护的范围。本专利技术的结构如图1所示,网络通信模块可以抽象为三层:RUDP层、冗余层(RMP)、UDP层。RUDP层负责实现消息的可靠传输,增加RUDP层消息头,通过滑动窗口(SWS)发送,并校验接收包,回复确认序列,实现超时重发机制;RMP层负责接收RUDP层传来的消息,并增加冗余层消息头,实现了冗余层的管理协议,接收时负责过滤冗余消息;UDP层配置红蓝两个网络,将每一包RMP消息分别通过红蓝网发送出去,并负责将收到的消息传给RMP层。一、RUDP层主要由链接维护任务、发送任务和接收任务组成,具体过程本文档来自技高网...
基于拥塞控制的非面向连接可靠冗余网络传输方法

【技术保护点】
一种基于拥塞控制的非面向连接可靠冗余网络传输方法,其特征在于,该方法将网络通信模块抽象为三层:RUDP层、RMP层、UDP层,该方法包括以下步骤:RUDP层负责实现消息的可靠传输,增加RUDP层消息头,通过滑动窗口SWS发送,并校验接收包,回复确认序列,实现超时重发机制;RMP层负责接收RUDP层传来的消息,并增加冗余层消息头,实现了冗余层的管理协议,接收时负责过滤冗余消息;UDP层配置红蓝两个网络,将每一包RMP消息分别通过红蓝网发送出去,并负责将收到的消息传给RMP层。

【技术特征摘要】
1.一种基于拥塞控制的非面向连接可靠冗余网络传输方法,其特征在于,该方法将网络通信模块抽象为三层:RUDP层、RMP层、UDP层,该方法包括以下步骤:RUDP层负责实现消息的可靠传输,增加RUDP层消息头,通过滑动窗口SWS发送,并校验接收包,回复确认序列,实现超时重发机制;RMP层负责接收RUDP层传来的消息,并增加冗余层消息头,实现了冗余层的管理协议,接收时负责过滤冗余消息;UDP层配置红蓝两个网络,将每一包RMP消息分别通过红蓝网发送出去,并负责将收到的消息传给RMP层。2.根据权利要求1所述的一种基于拥塞控制的非面向连接可靠冗余网络传输方法,其特征在于,所述的RUDP层的任务包括链接维护任务、发送任务和接收任务。3.根据权利要求2所述的一种基于拥塞控制的非面向连接可靠冗余网络传输方法,其特征在于,所述的链接维护任务具体为:链接维护任务周期性判断各链接的状态,如果状态为断开则发送建立链接请求包,接收方收到后回复链接响应包,发送方回复确认包,通过三次握手建立通信链接;建立链接后定时发送心跳包消息维护链接,若不能收到对方的心跳回复包则断开链接。4.根据权利要求2所述的一种基于拥塞控制的非面向连接可靠冗余网络传输方法,其特征在于,所述的发送任务具体为:a1)遍历所有链接状态为良好的通道,看是否有消息等待发送,如果有则执行步骤b1),如果没有则延时继续执行a1);b1)判断是否已收到对方回复的ReplySN,如果没有则执行c1),已收到则执行d1);c1)判断该通道等待时间是否已超时,如果已超时则判断重发次数是否超过阈值,超过则断开链接,如果未超过阈值则重发该分组消息;如果未超时,则继续等待,并返回步骤a1);d1)根据回复的ReplySN更新发送队列,执行拥塞控制算法,更新发送窗口SWS;e1)从发送队列中读取SWS包消息发送;f1)等待信号量Cond_Send,该信号量由接收任务收到ReplySN时释放。5.根据权利要求4所述的一种基于拥塞控制的非面向连接可靠冗余网络传输方法,其特征在于,所述的接收任务具体为:a2)接收消息,判断当前收到消息对应链接状态是否为良好,若为是则执行步骤b2),否则丢弃该消息;b2)判断该消息是否为回复序列包,若为是则更新ReplySN=SN,释放信号量Cond_Send给发送任务,执行步骤a2);如果不是则执行步骤c2);c2)判断该消息SN是否大于已接收成...

【专利技术属性】
技术研发人员:夏伟傅林泰周庭梁蒋建金黄邢陈周丹乔艳茹郑琼秦洁心
申请(专利权)人:卡斯柯信号有限公司
类型:发明
国别省市:上海,31

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

1