一种基于冗余网络通信的节点动态添加方法技术

技术编号:19328676 阅读:77 留言:0更新日期:2018-11-03 17:21
本发明专利技术涉及一种基于冗余网络通信的节点动态添加方法,包括以下步骤:1)将网络通信模块抽象为三层:信号层、冗余层和传输层,将应用层与通信层隔离;2)信号层处理消息,包括初始化、处理发送消息、处理接收消息;3)冗余层处理消息,包括初始化、处理发送消息、处理接收消息;4)传输层处理消息,包括初始化、发送消息、接收消息;5)验证并添加动态通信节点;6)查询动态节点,调用该功能后,将动态节点信息返回给应用:7)删除动态节点。与现有技术相比,本发明专利技术具有支持动态添加通信节点功能,降低了配置工作的复杂性,安全性和可靠性高等优点。

A dynamic node adding method based on redundant network communication

The invention relates to a dynamic node addition method based on redundant network communication, which includes the following steps: 1) abstracting network communication module into three layers: signal layer, redundant layer and transmission layer, isolating application layer from communication layer; 2) signal layer processing message, including initialization, processing sending message, processing receiving message; 3) redundancy; The remaining layer processes messages, including initialization, processing of sending and receiving messages; 4) the transport layer processes messages, including initialization, sending and receiving messages; 5) verifies and adds dynamic communication nodes; 6) queries dynamic nodes, and returns dynamic node information to applications after invoking this function; 7) deletes dynamic nodes. Compared with the prior art, the invention has the advantages of supporting dynamic addition of communication node functions, reducing the complexity of configuration work, high security and reliability.

【技术实现步骤摘要】
一种基于冗余网络通信的节点动态添加方法
本专利技术涉及一种通信网络中的节点添加方法,尤其是涉及一种基于冗余网络通信的节点动态添加方法。
技术介绍
轨道交通系统中的网络通信通常采用基于Socket底层API维护的通讯方式,采用双网冷备的方式组成冗余通信网,对于不同的设备模型需要用不同的方法实现,这些方法存在以下的不足:1)双网通讯采用冷备的方式,在网络切换时会出现瞬间的闪断和设备的重新初始化。2)对整个系统的转发和广播需要上层逻辑层自己处理相关的封装,一旦系统需要添加新的要求,相关的实现也要随之更改,耗时费力。3)本地与远端节点均需要配置对方的信息,否则无法进行通信,灵活性较差。4)当通信过程中出现故障时,无法在短时间查找故障的位置。
技术实现思路
本专利技术的目的就是为了克服上述现有技术存在的缺陷而提供一种基于冗余网络通信的节点动态添加方法,将系统的网络通信模块抽象成形成安全层、冗余层和传输层共三层,从而将应用层与通信层隔离,应用层只需维护应用逻辑,不用参与底层通信实现;采用红蓝双网热备传输数据,当一条网络发生故障时,另一条网络能正常传输,保证了系统的正常运行,提高了系统的可靠性;通过序列号过滤重复包,保证冗余网络数据的惟一性;根据节点的配置信息来拒绝非法连接,保证整个系统的安全连接;采用动态加载节点技术,使系统更具灵活性,减少复杂的配置工作。本专利技术的目的可以通过以下技术方案来实现:一种基于冗余网络通信的节点动态添加方法,其特征在于,包括以下步骤:1)将网络通信模块抽象为三层:信号层、冗余层和传输层,将应用层与通信层隔离;2)信号层处理消息,包括初始化、处理发送消息、处理接收消息;3)冗余层处理消息,包括初始化、处理发送消息、处理接收消息;4)传输层处理消息,包括初始化、发送消息、接收消息;5)验证并添加动态通信节点;本专利技术支持动态添加通信节点的功能,即与不在配置文件中节点进行通信。当本地节点A正确配置了远程节点B的信息,但B中并没有配置A的信息。当A向B发送消息时,B会对A进行验证,如果配置信息正确B会将A加入动态配置表,A和B可正常通信。6)查询动态节点,调用该功能后,将动态节点信息返回给应用7)删除动态节点,应用可指定要删除动态节点,本专利技术会将该节点从配置表中删除。所述的信号层负责发送应用层传送来的数据和接收远程数据并传到应用层;所述的冗余层作为信号层的下层,接收信号层消息包,并增加冗余层消息头,完成应用消息冗余组包和过滤收到的重复消息包;所述的传输层为冗余层的下层,负责将冗余层消息通过UDP协议冗余发送到远程和接收消息,维护本地和远程的红蓝网IP地址和端口信息。所述的信号层处理消息具体过程如下:1)初始化;2)等待调用接口,判断是发送消息还是接收消息,若为发送消息,执行步骤3),若为接收消息,执行步骤4):3)接收应用层数据组包成信号层消息后传输给冗余层;4)解包信号层消息,并进行验证,若验证通过,将解包后的消息传给应用层,否则将消息丢弃。所述的冗余层处理消息具体过程如下:1)初始化;2)等待调用接口,判断是发送消息还是接收消息,若为发送消息,执行步骤3),若为接收消息,执行步骤4);3)接收信号层消息组包冗余层消息后传输给传输层;4)解包冗余层消息,并进行验证,判断是否验证通过,若为是,执行步骤5),否则丢弃消息;5)判断该消息是否为冗余消息,若为是,将该消息传输给信号层,否则丢弃消息。所述的传输层处理消息具体过程如下:1)初始化;2)接收冗余层消息和红蓝网发送消息,同时接收消息线程循环侦听;3)对接收消息进行验证,判断是否验证通过,若为是,将接收消息传给冗余层,否则进行动态节点验证。所述的动态节点验证具体为:根据传输层配置信息进行验证,若失败则忽略该消息;若成功则调用冗余层验证函数,冗余层判断消息的目的节点设备ID和本地设备ID是否一致,若失败忽略该消息;若成功调用信号层验证函数,信号层验证消息的应用类型是否与本地一致,若成功则添加动态节点,若失败则忽略该消息。所述的添加动态节点具体为:本地节点的传输层、冗余层、信号层依次添加远程节点的信息,若失败则返回错误号,若成功则将该包消息传递给远程节点的应用。所述的红蓝网为红蓝双网热备冗余,一条网络故障各子系统可直接通过另一条网络通信。与现有技术相比,本专利技术具有以下优点:1)本专利技术是一种安全、冗余、灵活的通用网络通信模块,通过高度抽象实现应用层和网络通信层的隔离。2)通过安装两块以太网卡组成红蓝双网热备冗余,一条网络故障各子系统可直接通过另一条网络通信,无需切换网络,对系统不产生任何影响,提高整个网络系统的可靠性、易用性和可维护性。3)本专利技术支持动态添加通信节点功能,降低了配置工作的复杂性。同时保证整个动态节点的验证过程严格,这样不会降低系统的安全性和可靠性。目前该功能将用于联锁系统中SDM维护台与站点的通信。4)本专利技术提供错误号返回和错误回调函数功能,在初始化、发送、接收消息时,若发生错误,可返回相应的错误号给应用;在传输层验证消息失败时,将该条消息内容通过错误回调函数返回给应用。使用本专利技术可以提高软件调试的效率。附图说明图1为本专利技术的网络层次结构示意图;图2为本专利技术信号层消息处理流程图;图3为本专利技术冗余层消息处理流程图:图4为本专利技术传输层消息处理流程图;图5为本专利技术添加动态通信节点流程图。具体实施方式下面结合附图和具体实施例对本专利技术进行详细说明。实施例本专利技术的结构如图1所示,图2、图3、图4分别为信号层、冗余层、传输层的处理流程图,三层之间通过回调函数相互联系。图5为动态添加通信节点的流程图。结合附图对本专利技术具体实施进行详细说明:1)配置:本地节点A(节点设备ID=0x0101,应用类型=0x01,红网IP=192.168.0.1,PORT==10000,蓝网IP=192.168.1.1,PORT=20000)的配置文件中配置了远程节点B(节点设备ID=0x0202,应用类型=0x01,红网IP=192.168.0.2,PORT=10001,蓝网IP=192.168.1.2,PORT=20001)的信息,远程节点B未配置本地节点A的相关信息。2)初始化:本地节点A和远程节点B的应用分别调用信号层、冗余层和传输层的初始化接口,如果初始化失败返回错误号。3)发送消息:节点A应用调用信号层发送函数,将应用数据组包成信号层消息;信号层调用冗余层函数,组成N包冗余的消息(N>=1,具体数值由应用配置),消息的序列号SN=0,...,N-1;冗余层调用传输层发送函数,将N包冗余消息通过红蓝双网发送到远程节点B。4)接收消息:节点B传输层接收到节点A发来的消息,先在本地的配置表中进行查找节点A的配置信息,如果找到,直传递给冗余层,由冗余层根据SN将相同消息过滤,传递给信号层,信号层验证后传给应用层。如果没有找到A的信息,则执行步骤5)。5)验证动态节点:节点B根据传输层配置信息进行验证,若失败则忽略该消息;若成功则调用冗余层验证函数。冗余层判断消息的目的节点设备ID和本地设备ID是否一致,若失败忽略该消息;若成功调用信号层验证函数。信号层验证消息的应用类型是否与本地一致,若成功则执行步骤6),若失败则忽略该消息。6)添加动态节点:节点B的传输层、冗余层、信本文档来自技高网...

【技术保护点】
1.一种基于冗余网络通信的远程节点动态添加方法,其特征在于,包括以下步骤:1)将网络通信模块抽象为三层:信号层、冗余层和传输层;2)信号层处理消息,包括初始化、处理发送消息、处理接收消息;3)冗余层处理消息,包括初始化、处理发送消息、处理接收消息;4)传输层处理消息,包括初始化、发送消息、接收消息;5)验证并添加远程动态节点;6)查询远程动态节点,调用该功能后,将远程动态节点信息返回给应用;7)删除远程动态节点;所述的信号层负责发送应用层传送来的数据和接收远程数据并传到应用层,其中应用层只需维护应用,不用参与基于Socket底层API维护的通信;所述的冗余层作为信号层的下层,接收信号层消息包,并增加冗余层消息头,完成应用层传送过来的数据冗余组包和过滤从传输层接收到的重复消息包;所述的传输层为冗余层的下层,负责将冗余层消息通过UDP协议冗余发送到远程节点和接收远程消息,维护本地节点和远程节点的红蓝网IP地址和端口信息;所述的传输层处理消息具体过程如下:1)初始化;2)接收冗余层消息和红蓝网发送的远程消息,同时接收消息线程循环侦听;3)对接收的远程消息进行验证,判断是否验证通过,若为是,将接收的远程消息传给冗余层,否则进行远程动态节点验证;所述的远程动态节点验证具体为:根据传输层配置信息进行验证,若失败则忽略该远程消息;若成功则调用冗余层验证函数,冗余层判断远程消息的目的动态节点设备ID和本地设备ID是否一致,若失败忽略该远程消息;若成功调用信号层验证函数,信号层验证远程消息的应用类型是否与本地一致,若成功则添加动态节点,若失败则忽略该远程消息;所述的添加该远程动态节点具体为:本地节点的传输层、冗余层、信号层依次添加远程动态节点的信息,若失败则返回错误号,若成功则将远程动态节点的信息传递给远程动态节点的应用。...

【技术特征摘要】
1.一种基于冗余网络通信的远程节点动态添加方法,其特征在于,包括以下步骤:1)将网络通信模块抽象为三层:信号层、冗余层和传输层;2)信号层处理消息,包括初始化、处理发送消息、处理接收消息;3)冗余层处理消息,包括初始化、处理发送消息、处理接收消息;4)传输层处理消息,包括初始化、发送消息、接收消息;5)验证并添加远程动态节点;6)查询远程动态节点,调用该功能后,将远程动态节点信息返回给应用;7)删除远程动态节点;所述的信号层负责发送应用层传送来的数据和接收远程数据并传到应用层,其中应用层只需维护应用,不用参与基于Socket底层API维护的通信;所述的冗余层作为信号层的下层,接收信号层消息包,并增加冗余层消息头,完成应用层传送过来的数据冗余组包和过滤从传输层接收到的重复消息包;所述的传输层为冗余层的下层,负责将冗余层消息通过UDP协议冗余发送到远程节点和接收远程消息,维护本地节点和远程节点的红蓝网IP地址和端口信息;所述的传输层处理消息具体过程如下:1)初始化;2)接收冗余层消息和红蓝网发送的远程消息,同时接收消息线程循环侦听;3)对接收的远程消息进行验证,判断是否验证通过,若为是,将接收的远程消息传给冗余层,否则进行远程动态节点验证;所述的远程动态节点验证具体为:根据传输层配置信息进行验证,若失败则忽略该远程消息;若成功则调用冗余层验证函数,冗余层判断远程消息的目的动态节点设备ID和本地设备ID是否一致,若失败忽略该远程消息;若成功调用信号层...

【专利技术属性】
技术研发人员:夏伟蒋建金汪明新孙军峰江伟陈庆安
申请(专利权)人:卡斯柯信号有限公司
类型:发明
国别省市:上海,31

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

1