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

文档序号:7799975阅读:136来源:国知局
一种基于冗余网络通信的节点动态添加方法
【专利摘要】本发明涉及一种基于冗余网络通信的节点动态添加方法,包括以下步骤:1)将网络通信模块抽象为三层:信号层、冗余层和传输层,将应用层与通信层隔离;2)信号层处理消息,包括初始化、处理发送消息、处理接收消息;3)冗余层处理消息,包括初始化、处理发送消息、处理接收消息;4)传输层处理消息,包括初始化、发送消息、接收消息;5)验证并添加动态通信节点;6)查询动态节点,调用该功能后,将动态节点信息返回给应用:7)删除动态节点。与现有技术相比,本发明具有支持动态添加通信节点功能,降低了配置工作的复杂性,安全性和可靠性高等优点。
【专利说明】一种基于冗余网络通信的节点动态添加方法
【技术领域】
[0001]本发明涉及一种通信网络中的节点添加方法,尤其是涉及一种基于冗余网络通信的节点动态添加方法。
【背景技术】
[0002]轨道交通系统中的网络通信通常采用基于Socket底层API维护的通讯方式,采用双网冷备的方式组成冗余通信网,对于不同的设备模型需要用不同的方法实现,这些方法存在以下的不足:
[0003]I)双网通讯采用冷备的方式,在网络切换时会出现瞬间的闪断和设备的重新初始化。
[0004]2)对整个系统的转发和广播需要上层逻辑层自己处理相关的封装,一旦系统需要添加新的要求,相关的实现也要随之更改,耗时费力。
[0005]3)本地与远端节点均需要配置对方的信息,否则无法进行通信,灵活性较差。
[0006]4)当通信过程中出现故障时,无法在短时间查找故障的位置。

【发明内容】

[0007]本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于冗余网络通信的节点动态添加方法,将系统的网络通信模块抽象成形成安全层、冗余层和传输层共三层,从而将应用层与通信层隔离,应用层只需维护应用逻辑,不用参与底层通信实现;采用红蓝双网热备传输数据,当一条网络发生故障时,另一条网络能正常传输,保证了系统的正常运行,提高了系统的可靠性;通过序列号过滤重复包,保证冗余网络数据的惟一性;根据节点的配置信息来拒绝非法连接,保证整个系统的安全连接;采用动态加载节点技术,使系统更具灵活性,减少复杂的配置工作。
[0008]本发明的目的可以通过以下技术方案来实现:
[0009]一种基于冗余网络通信的节点动态添加方法,其特征在于,包括以下步骤:
[0010]I)将网络通信模块抽象为三层:信号层、冗余层和传输层,将应用层与通信层隔离;
[0011]2)信号层处理消息,包括初始化、处理发送消息、处理接收消息;
[0012]3)冗余层处理消息,包括初始化、处理发送消息、处理接收消息;
[0013]4)传输层处理消息,包括初始化、发送消息、接收消息;
[0014]5)验证并添加动态通信节点;本发明支持动态添加通信节点的功能,即与不在配置文件中节点进行通信。当本地节点A正确配置了远程节点B的信息,但B中并没有配置A的信息。当A向B发送消息时,B会对A进行验证,如果配置信息正确B会将A加入动态配置表,A和B可正常通信。
[0015]6)查询动态节点,调用该功能后,将动态节点信息返回给应用
[0016]7)删除动态节点,应用可指定要删除动态节点,本发明会将该节点从配置表中删除。
[0017]所述的信号层负责发送应用层传送来的数据和接收远程数据并传到应用层;
[0018]所述的冗余层作为信号层的下层,接收信号层消息包,并增加冗余层消息头,完成应用消息冗余组包和过滤收到的重复消息包;
[0019]所述的传输层为冗余层的下层,负责将冗余层消息通过UDP协议冗余发送到远程和接收消息,维护本地和远程的红蓝网IP地址和端口信息。
[0020]所述的信号层处理消息具体过程如下:
[0021]I)初始化;
[0022]2)等待调用接口,判断是发送消息还是接收消息,若为发送消息,执行步骤3),若为接收消息,执行步骤4):
[0023]3)接收应用层数据组包成信号层消息后传输给冗余层;
[0024]4)解包信号层消息,并进行验证,若验证通过,将解包后的消息传给应用层,否则将消息丢弃。
[0025]所述的冗余层处理消息具体过程如下:
[0026]I)初始化;
[0027]2)等待调用接口,判断是发送消息还是接收消息,若为发送消息,执行步骤3),若为接收消息,执行步骤4);
[0028]3)接收信号层消息组包冗余层消息后传输给传输层;
[0029]4)解包冗余层消息,并进行验证,判断是否验证通过,若为是,执行步骤5),否则丢弃消息;
[0030]5)判断该消息是否为冗余消息,若为是,将该消息传输给信号层,否则丢弃消息。
[0031]所述的传输层处理消息具体过程如下:
[0032]I)初始化;
[0033]2)接收冗余层消息和红蓝网发送消息,同时接收消息线程循环侦听;
[0034]3)对接收消息进行验证,判断是否验证通过,若为是,将接收消息传给冗余层,否则进行动态节点验证。
[0035]所述的动态节点验证具体为:
[0036]根据传输层配置信息进行验证,若失败则忽略该消息;若成功则调用冗余层验证函数,冗余层判断消息的目的节点设备ID和本地设备ID是否一致,若失败忽略该消息;若成功调用信号层验证函数,信号层验证消息的应用类型是否与本地一致,若成功则添加动态节点,若失败则忽略该消息。
[0037]所述的添加动态节点具体为:
[0038]本地节点的传输层、冗余层、信号层依次添加远程节点的信息,若失败则返回错误号,若成功则将该包消息传递给远程节点的应用。
[0039]所述的红蓝网为红蓝双网热备冗余,一条网络故障各子系统可直接通过另一条网络通信。
[0040]与现有技术相比,本发明具有以下优点:
[0041]I)本发明是一种安全、冗余、灵活的通用网络通信模块,通过高度抽象实现应用层和网络通信层的隔离。[0042]2)通过安装两块以太网卡组成红蓝双网热备冗余,一条网络故障各子系统可直接通过另一条网络通信,无需切换网络,对系统不产生任何影响,提高整个网络系统的可靠性、易用性和可维护性。
[0043]3)本发明支持动态添加通信节点功能,降低了配置工作的复杂性。同时保证整个动态节点的验证过程严格,这样不会降低系统的安全性和可靠性。目前该功能将用于联锁系统中SDM维护台与站点的通信。
[0044]4)本发明提供错误号返回和错误回调函数功能,在初始化、发送、接收消息时,若发生错误,可返回相应的错误号给应用;在传输层验证消息失败时,将该条消息内容通过错误回调函数返回给应用。使用本发明可以提高软件调试的效率。
【专利附图】

【附图说明】
[0045]图1为本发明的网络层次结构示意图;
[0046]图2为本发明信号层消息处理流程图;
[0047]图3为本发明冗余层消息处理流程图:
[0048]图4为本发明传输层消息处理流程图;
[0049]图5为本发明添加动态通信节点流程图。
【具体实施方式】
[0050]下面结合附图和具体实施例对本发明进行详细说明。
[0051]实施例
[0052]本发明的结构如图1所示,图2、图3、图4分别为信号层、冗余层、传输层的处理流程图,三层之间通过回调函数相互联系。图5为动态添加通信节点的流程图。结合附图对本发明具体实施进行详细说明:
[0053]I)配置:本地节点A(节点设备ID = 0x0101,应用类型=0x01,红网IP =192.168.0.LPORT == 10000,蓝网 IP = 192.168.1.LPORT = 20000)的配置文件中配置了远程节点B (节点设备ID = 0x0202,应用类型=0x01,红网IP = 192.168.0.2,PORT =10001,蓝网IP = 192.168.1.2,PORT = 20001)的信息,远程节点B未配置本地节点A的相
关信息。
[0054]2)初始化:本地节点A和远程节点B的应用分别调用信号层、冗余层和传输层的初始化接口,如果初始化失败返回错误号。
[0055]3)发送消息:节点A应用调用信号层发送函数,将应用数据组包成信号层消息;信号层调用冗余层函数,组成N包冗余的消息(N>= 1,具体数值由应用配置),消息的序列号SN = 0,...,N-1 ;冗余层调用传输层发送函数,将N包冗余消息通过红蓝双网发送到远程节点B。
[0056]4)接收消息:节点B传输层接收到节点A发来的消息,先在本地的配置表中进行查找节点A的配置信息,如果找到,直传递给冗余层,由冗余层根据SN将相同消息过滤,传递给信号层,信号层验证后传给应用层。如果没有找到A的信息,则执行步骤5)。
[0057]5)验证动态节点:节点B根据传输层配置信息进行验证,若失败则忽略该消息;若成功则调用冗余层验证函数。冗余层判断消息的目的节点设备ID和本地设备ID是否一致,若失败忽略该消息;若成功调用信号层验证函数。信号层验证消息的应用类型是否与本地一致,若成功则执行步骤6),若失败则忽略该消息。
[0058]6)添加动态节点:节点B的传输层、冗余层、信号层依次添加节点A的信息,若失败则返回错误号,若成功则将该包消息传递给节点B的应用。当B节点中已配置好A节点的信息后,A与B可以正常通信。
[0059]7)查询动态节点:将节点A的配置信息传给节点B的应用。
[0060]8)删除动态节点:节点B的应用根据设备ID和应用类型将节点A从B的配置表中删除。
【权利要求】
1.一种基于冗余网络通信的节点动态添加方法,其特征在于,包括以下步骤: 1)将网络通信模块抽象为三层:信号层、冗余层和传输层,将应用层与通信层隔离; 2)信号层处理消息,包括初始化、处理发送消息、处理接收消息; 3)冗余层处理消息,包括初始化、处理发送消息、处理接收消息; 4)传输层处理消息,包括初始化、发送消息、接收消息; 5)验证并添加动态通信节点; 6)查询动态节点,调用该功能后,将动态节点信息返回给应用; 7)删除动态节点。
2.根据权利要求1所述的一种基于冗余网络通信的节点动态添加方法,其特征在于,所述的信号层负责发送应用层传送来的数据和接收远程数据并传到应用层; 所述的冗余层作为信号层的下层,接收信号层消息包,并增加冗余层消息头,完成应用消息冗余组包的过滤; 所述的传输层为冗余层的下层,负责将冗余层消息通过UDP协议冗余发送到远程和接收消息,维护本地和远程的红蓝网IP地址和端口信息。
3.根据权利要求1所述的一种基于冗余网络通信的节点动态添加方法,其特征在于,所述的信号层处理消息具体过程如下: 1)初始化; 2)等待调用接口,判断是发送消息还是接收消息,若为发送消息,执行步骤3),若为接收消息,执行步骤4); 3)接收应用层数据组包成信号层消息后传输给冗余层; 4)解包信号层消息,并进行验证,若验证通过,将解包后的消息传给应用层,否则将消息丢弃。
4.根据权利要求1所述的一种基于冗余网络通信的节点动态添加方法,其特征在于,所述的冗余层处理消息具体过程如下: 1)初始化; 2)等待调用接口,判断是发送消息还是接收消息,若为发送消息,执行步骤3),若为接收消息,执行步骤4); 3)接收信号层消息组包冗余层消息后传输给传输层; 4)解包冗余层消息,并进行验证,判断是否验证通过,若为是,执行步骤5),否则丢弃消息; 5)判断该消息是否为冗余消息,若为是,将该消息传输给信号层,否则丢弃消息。
5.根据权利要求1所述的一种基于冗余网络通信的节点动态添加方法,其特征在于,所述的传输层处理消息具体过程如下: 1)初始化; 2)接收冗余层消息和红蓝网发送消息,同时接收消息线程循环侦听; 3)对接收消息进行验证,判断是否验证通过,若为是,将接收消息传给冗余层,否则进行动态节点验证。
6.根据权利要求5所述的一种基于冗余网络通信的节点动态添加方法,其特征在于,所述的动态节点验证具体为:根据传输层配置信息进行验证,若失败则忽略该消息;若成功则调用冗余层验证函数,冗余层判断消息的目的节点设备ID和本地设备ID是否一致,若失败忽略该消息;若成功调用信号层验证函数,信号层验证消息的应用类型是否与本地一致,若成功则添加动态节点,若失败则忽略该消息。
7.根据权利要求5所述的一种基于冗余网络通信的节点动态添加方法,其特征在于,所述的添加动态节点具体为: 本地节点的传输层、冗余层、信号层依次添加远程节点的信息,若失败则返回错误号,若成功则将该包消息传递给远程节点的应用。
8.根据权利要求5所述的一种基于冗余网络通信的节点动态添加方法,其特征在于,所述的红蓝网为红 蓝双网热备冗余,一条网络故障各子系统可直接通过另一条网络通信。
【文档编号】H04L12/24GK103888298SQ201410117386
【公开日】2014年6月25日 申请日期:2014年3月26日 优先权日:2014年3月26日
【发明者】夏伟, 蒋建金, 汪明新, 孙军峰, 江伟, 陈庆安 申请人:卡斯柯信号有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1