[发明专利]基于缓冲管理的多链路冗余的实现方法有效
申请号: | 200710024381.7 | 申请日: | 2007-06-15 |
公开(公告)号: | CN101072087A | 公开(公告)日: | 2007-11-14 |
发明(设计)人: | 苗刚;陈文赛 | 申请(专利权)人: | 南京恩瑞特实业有限公司 |
主分类号: | H04L1/22 | 分类号: | H04L1/22;H04L12/56 |
代理公司: | 南京天华专利代理有限责任公司 | 代理人: | 徐冬涛;瞿网兰 |
地址: | 211110江苏省*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 缓冲 管理 多链路 冗余 实现 方法 | ||
技术领域
本发明涉及一种数据通讯保障方法,尤其是一种多路保障系统中确保数据成功发送接收的方法,具体地说是一种基于缓冲管理的多链路冗余的实现方法。
背景技术
在一些涉及重大人身和设备安全的自动控制系统领域,要求系统具有极高的通讯可靠性,为此,通常在需要通讯的两台设备之间设置两条或多条通讯链路,防止当其中某条链路发生故障的时候,设备之间的通讯中断。而多链路冗余系统也因此应运而生。以双链路冗余系统为例,在需要通讯的两台设备之间设置两条通讯链路。当其中一条链路出现故障时,另一条链路仍然能够保证通讯正常。
实现多链路冗余系统的核心技术是如何处理多条链路的数据传输问题,既不能让通讯数据在多链路冗余系统中丢失,也不能让通讯数据因为通过多链路冗余系统而产生多个副本。实现多链路冗余系统的方式有两种:一种是使得数据在任何时刻只通过多个链路中的某个链路进行通讯。该种方式的好处是不会产生同一个数据的多个副本,而且一次只选择一个链路进行通讯,管理较容易。但这种方式当正在通讯的链路故障时会产生数据丢失,当然可以通过超时重传的方法重新传输数据,但数据传输效率将受到影响。另一种方式是多个链路同时传输通讯数据的多个副本。在数据接收方对多个数据副本进行筛选,只保留其中一个。该种方式在多个链路中只要有一个链路中的数据安全到达接收方,则传输过程完成,传输效率较高,但该种方式对多链路的管理较为复杂。
发明内容
本发明的目的是提供一种基于缓冲管理的多链路冗余的实现方法。
本发明的技术方案是:
一种基于缓冲管理的多链路冗余的实现方法,其特征是:
首先为每个通讯链路设置一个独立的通讯管理任务,并使每个通讯链路独立工作,相互之间不设立关联;
其次在通讯时采用时标和回函机制,即发送方在发出的数据包中加入标记数据唯一识别码的数据编号、包括发送接收方的设备识别号的目的码、包括发送方的设备识别号的数据源码以及数据发送时的时标;接收方收到发送方发来的数据包后,对数据包进行处理并送入接收缓冲,然后发送包含有接收方数据的数据编号、目的码、数据源码及时标的回复数据包;
第三,发送方根据收到的回复数据包处理发送缓冲中的数据;
第四,使发送方和接收方按以下规则处理数据的发送和接收:
数据包发送过程:发送方先从发送缓冲中取出一个待发送的数据并对其进行打包,加入数据编号、目的码、数据源码以及数据发送时的时标,然后将数据包从通讯链路端口发出,但此时并不删除发送缓冲中相应的数据;
数据包接收过程:接收方收到数据包后,首先分离数据包中包含的数据编号、目的码、数据源码、数据发送时标以及应用数据,根据目的地码判断是否为自身所需数据,不是则丢弃,是则首先根据数据源码、数据编号以及数据发送时标搜索接收缓冲中匹配的数据,如果匹配成功再进一步比较数据包中报文的内容,如果内容也匹配则说明该数据已经通过另外的链路送达,此时将丢弃该数据,反之,在接收缓冲中未搜索到匹配的数据,则说明该数据是第一个抵达目的地的数据,将其连同数据源码、数据编号以及数据发送时标一同存入接收缓冲中,同时无论是保留还是丢弃数据,都将收到的数据编号作为回复数据发还给数据发送方;
回复数据包处理过程:当发送方当收到回复数据包时,取出数据编号并根据该数据编号搜索发送缓冲中相匹配的数据,如果搜索到则说明该回复数据包是自相应编号的数据发出后收到的第一个回复数据,且证明发送方已经正确接收了该编号的数据,此时从发送缓冲中删除该编号的数据,并结束对该回复数据的处理,如果没有匹配的数据,则说明在该回复数据到达前已经有另一个链路的回复数据已经到达,或者该回复数据是错误数据,此时直接结束该回复数据的处理。
所述的时标是指发送方数据发出前时刻的时间。
本发明的有益效果:
本发明以多任务操作系统为基础,通过独立的任务处理每个链路的数据通讯,并通过对缓冲的处理实现多链路冗余。无需复杂的硬件电路,可移植性极强;又由于通过缓冲的处理实现多链路冗余。与采用什么样的链路没有关系,且不同链路之间相互独立,没有关联,因此可匹配多种同构或异构链路的冗余,配置灵活,实用性高。
附图说明
图1是本发明多链路冗余实现方法的发送方发送数据示意图(双链路冗余);
图2是本发明多链路冗余实现方法的接收方接收数据示意图(双链路冗余);
图3是本发明多链路冗余实现方法的接收方拒收第二链路相同数据示意图(双链路冗余);
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京恩瑞特实业有限公司,未经南京恩瑞特实业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710024381.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种认证软件自动升级方法
- 下一篇:乙酸乙酯生产中冷却器的共用方法