CN102447632A - 一种具有数据容错能力的网络传输方法 - Google Patents

一种具有数据容错能力的网络传输方法 Download PDF

Info

Publication number
CN102447632A
CN102447632A CN2011104521201A CN201110452120A CN102447632A CN 102447632 A CN102447632 A CN 102447632A CN 2011104521201 A CN2011104521201 A CN 2011104521201A CN 201110452120 A CN201110452120 A CN 201110452120A CN 102447632 A CN102447632 A CN 102447632A
Authority
CN
China
Prior art keywords
main frame
judge
information
network
machine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2011104521201A
Other languages
English (en)
Inventor
胡术
莫思特
邱敦国
李晓峰
刘洪�
李新胜
刘舒
刘宇
黄戈
丁明
殷源
李科磊
陈虹宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Chuanda Zhisheng Software Co Ltd
Wisesoft Co Ltd
Original Assignee
Sichuan Chuanda Zhisheng Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sichuan Chuanda Zhisheng Software Co Ltd filed Critical Sichuan Chuanda Zhisheng Software Co Ltd
Priority to CN2011104521201A priority Critical patent/CN102447632A/zh
Publication of CN102447632A publication Critical patent/CN102447632A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明提供了适用于中小型网络系统的一种具有数据容错能力的网络传输方法,涉及计算机应用及网络通信领域。包括通道检测,信息缓存、信息转发、直接通信四个步骤;所述的通道检测步骤主要用于检测本机到其它主机是否能够通信,并形成本机到系统中各主机的通信通道,这些通道有的可以直接通信,有的需要经过其它主机的转发;信息缓存步骤用于对发送的数据进行缓存,以便在发生线路故障的情况下,能够提取数据进行补发;信息转发步骤用于通过转发主机将信息转发到目标主机;直接通信步骤用于在两主机通信恢复时将通信恢复到两主机直接通信的状态。解决了多主机多网段情况下的数据传输容错问题,在最大限度保证所有主机相互间的通信畅通。

Description

一种具有数据容错能力的网络传输方法
技术领域
本发明涉及计算机应用及网络通信领域,尤其是适用于中小型网络系统中数据传输容错的一种具有数据容错能力的网络传输方法。
背景技术
在中小型网络系统中,网络系统由多个主机、多台交换机组成,每个主机可以配置多块网卡,每块网卡连接到一台交换机上,每个交换机上连接的各主机的网卡处于一个网段,有几台交换机,就有几个网段。但是每个主机可以不一定配置所有的网卡,每个主机的多块网卡配置IP时,组成IP地址的最后一个字节相同。这样,通过这个字节可以确定是那台主机。例如附图示意图1所示,系统中两台主机联在3台交换机上,每个主机上有三块网卡,分别配置于“168.1.3”,“168.1.4.”,“168..1.5.”网段并连接于三台交换机上,同交换机连接的网段一致,如交换机1上连接的均为“168.1.3”,每个主机网卡的配置的IP地址是一致的。在运行要求苛刻的网络系统中,可以让每个主机配有多块网卡,每个网卡配置在不同网段上连接到系统中的不同交换机上,当某个主机到某个交换机的网络出现问题时,信息仍然可以通过工作正常的主机、工作正常的交换机到主机的通信线路实现数据的正常通信;显然这就就涉及到解决多主机多网段情况下的数据传输容错问题。本技术方案设计的方法可以在多台主机组成的中小型网络系统中,自动侦测网络错误并实现对数据的不间断发送,在网络修复时,可以改回原有线路进行通信,尤其适用于对网络通信容错要求较高的系统。
发明内容
本发明的目的是提供一种具有数据容错能力的网络传输方法,以期解决多主机多网段情况下的数据传输容错问题;支持多台主机组成的中小型网络系统,以期在系统运行时,最大限度保证所有主机相互间的通信畅通。
实现本发明目的之技术方案如下:一种具有数据容错能力的网络传输方法,包括通道检测,信息缓存、信息转发、直接通信四个步骤;所述的通道检测步骤主要用于检测本机到其它主机是否能够通信,并形成本机到系统中各主机的通信通道,这些通道有的可以直接通信,有的需要经过其它主机的转发;信息缓存步骤用于对发送的数据进行缓存,以便在发生线路故障的情况下,能够提取数据进行补发;信息转发步骤用于通过转发主机将信息转发到目标主机;直接通信步骤用于在两主机通信恢复时将通信恢复到两主机直接通信的状态。
所述通道检测步骤实现的方式如下:
2.1)对各网卡发送类型为1的报文,在指定端口侦听;
2.2)判断是否收到其它主机的心跳,如果判断是N,返回上一步;如果判断是Y,则进入下一步;
2.3)判断主机是否在连接表link_list中,如果判断是N,将该主机IP最后一个字节加入连接表link_list中,如果判断是Y,则进入下一步;
2.4)判断收到的心跳报文的源地址是否在通道表TabChannel中,如果判断是N,将该源地址加入通道表TabChannel中,如果判断是Y,则进入下一步;
2.5)判断主机是否在系统主机连接信息sysLinklist中,如果判断是N,将该源地址加入通道表TabChannel中,如果判断是Y,则进入下一步;
2.6)判断该主机是在连接信息sysLinklist的信息是否与以前一致,如果判断是N,将新的连接表信息更新sysLinklist,更新本机发送表Transinfo的内容,如果判断是Y,则进入下一步;
2.7)判断是否运行了2倍心跳时间,如果判断是N,则返回步骤2.2),如果判断是Y,则进入下一步;
2.8)定时发送类型为1的心跳报文,将本机收到的各主机连接表随心跳报文发出,同时返回到步骤2.2)。
实现本机发送表Transinfo中是否存在到达目标主机的转发通道的步骤如下:
3.1)解析某个主机的连接表link_list;
3.2)判断是否与当前保存的一致,如果判断是Y,则返回上一步,如果判断是N,则进入下一步;
3.3)判断主机是否在连接表link_list中,如果判断是N,将该主机IP最后一个字节加入连接表link_list中,如果判断是Y,则进入下一步;
3.4)判断收到的心跳报文中源地址是否在通道表TabChannel中,如果判断是N,将该源地址加入通道表TabChannel中,如果判断是Y,则进入下一步;
3.5)判断该主机是否存在连接信息于sysLinklist中,如果判断是N,将该源地址加入通道表TabChannel中,如果判断是Y,则进入下一步;
3.6)判断该主机是在连接信息sysLinklist的信息是否与之前一致,如果判断是N,将新的连接表信息更新sysLinklist,更新Transinfo表的内容,如果判断是Y,则进入下一步;
3.7)判断是否运行了2倍心跳时间,如果判断是N,返回到3.2)步骤,如果判断是Y,则进入下一步;
3.8)定时发送类型为1的心跳报文,将本机收到的各主机连接表随心跳报文发出,同时返回到3.2)步骤。
所述检查通道表TabChannel时,如果发现本机最近一次收到某个主机的某个网段的心跳时间与当前时间超过心跳时间3倍时,则认为该主机的该网段连接故障,并从通道表TabChannel中删除该网段信息。
当本主机的连接表link_list连接信息发生变化时,需要重新计算连接信息;连接信息计算用于计算本机到系统中某台主机的转发通道,对于本机的连接表link_list中的主机,因为它们和本机有直接连接的关系,可以直接选择发送,发送时查询通道表TabChannel,找到的第一个对方的通道即对方IP地址可以用于直接发送。
如果目标主机不在本机的连接表link_list中,就需要检查发送表Transinfo中是否存在达到该主机的转发通道,如果存在,则使用该通道进行发送。
所述信息转发是指根据通道检测得到的系统中各主机的连接表信息,找出可以到达目的主机需要进行数据转发的主机列表,并使用转发主机将数据最终送到目的主机;实现的步骤如下:假设最坏情况下,一个有n台交换机的容错网络中,如果1号主机只有1网段网卡连接到1号交换机、2网段网卡连接到2号交换机,2号主机只有2,3两个网段的网卡工作….n-1号主机只有n-1、n这两个网段工作,那么1号主机到n-1号主机的通信需要经过2、3……n-2号机的接力转发才能最后到达n-1号主机。
与现有技术比较,本发明具有显著优点与积极效果:
1、本方法的最大优点是在极端情况下,即上文提到的最坏情况,可以保证TCP报文不丢失;对系统交换机整机关闭的情况,由于原有的使用该交换机的主机仍然可以采用系统中剩余的运行良好的交换机通信,所以除故障开始时的检测时间外,以后的通信不受影响。
2、解决并实现中小型网络系统中由于单台交换机或主机到某台交换机的线路故障导致的传输数据丢失问题,使系统网络传输具有一定的冗余性。
3、目前使用该方法扩展的中间件在多个实际系统中稳定运行例如空中交通管制系统,运行效果良好。
附图说明
图1是本发明所述一个由两台主机三台交换机组成的网络系统运行环境示意图。
图2是本发明所述的通道检测步骤流程框图示意图。
图3是本发明所述的发送表Transinfo形成流程框图示意图。
图4是所述发送表Transinfo中存在发送通道时的发送步骤示意图。
图5是本发明所述的四台主机间信息转发通道示意图。
图6是本发明所述的以目标主机为单位建立信息缓存,完成丢失数据补发步骤示意图。
具体实施方式
结合附图给出实施例对本发明做进一步的说明。
参见图1、图2可知,本发明所述的多主机多网卡、交换机配置的网络系统运行环境是指网络系统由多个主机、多台交换机组成,每个主机可以配置多块网卡,每块网卡连接到一台交换机上,每个交换机上连接的各主机的网卡处于一个网段有几台交换机,就有几个网段,但每个主机可以不一定配置所有的网卡,每个主机的多块网卡配置IP时,组成IP地址的最后一个字节相同。这样通过这个字节可以确定是那台主机。
图1示意了系统中两台主机联在3台交换机上,每个主机上有三块网卡,分别配置于“168.1.3”,“168.1.4.”,“168..1.5.”网段并连接于三台交换机上,同交换机连接的网段一致,如交换机1上连接的均为“168.1.3”,每个主机网卡的配置的IP地址是一致的。在这种网络系统运行环境下,本发明所述的方法包括通道检测,信息缓存、信息转发、直接通信四个步骤;通道检测主要用于检测本机到其他主机是否能够通信,并形成本机到系统中各主机的通信通道,这些通道有的可以直接通信,有的需要经过其它主机的转发;信息缓存用于对发送的数据进行缓存,以便在发生线路故障的情况下,能够提取数据进行补发;信息转发用于在两主机间线路故障的情况下,对要发送的信息进行缓存,并通过转发主机将信息转发到目标主机,同时可能的丢失数据进行补发;直接通信步骤用于在两主机通信恢复时将通信恢复到两主机直接通信的状态。下面表1~表4是数据链表的功能分类:
  名称 作用 描述
表1 link_list 存储本机和其他主机间的连接关系,该表中的主机均可以与本机直接通信。 只存储IP地址的最后一个字节作为主机编号,按从小到达排列。
表2 TabChannel 存储本地和各主机间的通信通道信息。 存储本机到达该主机的多个网卡IP地址,和最近一次从该IP发出心跳的时间。
表3 sysLinklist 系统主机连接信息 存储收到的其他主机的link_list,并记录最近一次收到的时间。
表4 Transinfo 本地发送数据到系统中目标主机的通道 以目标主机为索引,将经过的主机编号存入数组保存。当sysLinklist变化时,Transinfo需要重新计算。
表1、连接表link_list:存储本机和其它主机间的连接关系,只存储系统中其它主机IP中最后一个字节,存入该表的主机均与本机可以通信,该表中的主机按IP地址最后一个字节的由小到大进行排序,该表中的主机均可以与本机直接通信,存储时采用链表结构。
表2、通道表TabChannel:存储本地和各主机间的通信通道信息,即可以通过本机的哪几块网卡与指定主机通信;
存储时采用C++ STL中的map<unsigned char node, list <channelinfo> channList > TabChannel进行存储,map的第一项node即索引项为为该主机IP地址最后一个字节,第二项为该主机的各网段的IP地址和最后接收到该网段心跳信息的时间的列表,其中channelinfo为如下结构体:
Struct channelinfo{
int ip_info;
time_t lastRecvTime;
};
插入时按IP地址从小到大排列,收到该主机从某网段发出的信息时需要刷新。
表3、系统主机连接信息sysLinklist:收到各主机报告的连接表信息以后,形成系统主机连接信息,存储时采用C++ STL中的map<unsigned char node, link_info hostList > sysLinklist进行存储,map的第一项node即索引项为该主机IP地址最后一个字节,第二项为该主机的连接表信息和时间信息,其中link_info为如下结构体:
Struct link_info{
 link_list link;
 time_t lastRecvTime;
};其中link为收到的某个主机link_list信息,lastRecvTime为最近一次收到该主机link_list信息的时间;
如果某个主机的link_list与上次收到的不同(注:含首次收到)时,形成表四即本地发送表。
表4、本机发送表Transinfo:表示本地发送数据到系统中某个主机的通道,存储时采用C++ STL中的map<unsigned char node, vector <unsigned char> trans_host > Transinfo进行存储,map的第一项为目标主机IP地址最后一个字节,第二项为本机将信息转发到目标主机所要经过的多个转发主机IP地址最后一个字节,使用C++ STL中的vector存储,按数据转发经过主机进行排列。如果trans_host的size即大小为0,表示该主机和本机之间直接可以通信。
图2示意了所述的通道检测步骤流程即心跳报文处理流程。本发明所述的通道检测指对网络中的两台主机间消息传递的通道进行检测,检测采用UDP的广播方式进行,由每台主机使用本机的多块网卡对各网卡所在网段的广播地址定时进行心跳信息广播;通道检测模块在目标端口上进行侦听,当收到系统中某个主机来自某个网段的心跳时,进行记录,纪录内容包括:源主机,源主机的网段,接收时间,当再一次收到同主机同网段的心跳时,用当前时间刷新接收时间。通道检测模块定时检查记录内容,对长时间例如心跳时间间隔的两倍,没有收到某主机某网段信息的记录予以删除。
通过检查记录的内容,可以知道是否可以从本机直接发送信息到系统中的某台主机。
心跳报文的格式为:
类型:0,1 0:为请求状态 1:为本机及关联主机连接表,报文中为本主机收到的其它主机的连接表和本机检测到的主机连接表。
通道检测过程如下:新加入的主机在各网卡发送心跳报文,初始开始发送的为类型为0的请求报文,在收到其他主机从不同网卡送来的心跳报文以后,将发送类型为1的报文。
如果一个主机一直不能收到来自其安装各网卡的任何报文,其心跳报文类型将一直是0即请求状态。
系统中每台主机收到某主机类型为1的报文时,将记录首次收到该主机该类型报文的时间,为了保证该主机的状态信息完整性,对各主机等待2个心跳间隔时间后,将这时的状态作为该主机的通道状态。
每个主机收到某主机类型为1(注:即本机状态播报的)报文后对比已经保存的该主机的状态,如果信息有变化及时更新该主机通道状态。
图3示意了所述的发送表Transinfo的实现流程:
3.1~3.2步骤:当收到一个主机的link_list以后,先和之前收到的摘要信息进行比较,结果一样不做处理,如果不一样,进入形成发送表Transinfo的过程。
3.3步骤:检查本机的link_list,将可以直接进行通信的主机放入发送表Transinfo中,如果某个主机发生故障,需要重新对发送表Transinfo中该主机的数据转发路径进行生成。生成方法步骤如下:
(a)先创建一个动态数组checknode,其长度大于系统中主机节点个数,这个数组记录已经检查过的并和本机可以通过转发或直接通信方式进行通信的主机节点;
(b)创建动态数组transcheck,作为找寻本机到达某个主机节点需要经过的转发主机;
(c)先将本机的link_list中的节点写入动态数据组中;
(d)检查已经写入的动态数组checknode的各主机节点在sysLinklist表中的link_list,检查时将被检查主机写入transcheck中,如果在对应link_list中的节点已经在checknode中,则检查下一个节点,同时transcheck中去掉该节点;如果被检查的位于link_list中的节点没有出现在checknode中,则将该节点加入checknode,表示为一个新的节点找到了从本机到该节点的转发主机列表这时trancheck中最后节点即为该节点,而trancheck中最后节点中记录的为从本机到该节点进行转发的一条转发通道的主机列表,这时只需要将trancheck中的内容作为新增加的记录加入trancheck中最后节点为第一项的Transinfo数据项中即可。
通过上述步骤,发送表Transinfo中存储了本机能够到达的系统中各主机的转发主机列表。
3.4~3.6步骤:本机定时检查TabChannel,当发现本机最近一次收到某个主机的某个网段的心跳时间与当前时间超过心跳时间3倍时,认为该主机的该网段连接故障,并从TabChannel删除该网段信息。
3.7~3.8步骤:一台主机开机运行2个心跳间隔时间以后,将本机所保存的link_list即连接表作为类型1心跳信息发送给系统中的其他主机;link_list发出时使用md5算法计算其摘要信息,摘要信息随心跳报文一并发出,使用摘要信息的好处是,接收方不用逐一比较link_list中的内容,只要摘要值相同认为前一次收到的link_list与这一次相同。
一台主机如果收到系统中其他主机类型为1的心跳报文,当发现某台主机的link_list发生变化时,需要重新计算连接信息。
当本主机的link_list连接信息发生变化时,需要重新计算连接信息。
连接信息计算用于计算本机到系统中某台主机的转发通道,对于本机的link_list中的主机,因为它们和本机有直接连接的关系,可以直接选择发送,发送时查询TabChannel,找到的第一个对方的通道即对方IP地址可以用于直接发送;如果目标主机不在本机的link_list中,就需要检查Transinfo中是否存在达到该主机的转发通道,如果存在使用该通道进行发送。
如果目标主机不在本机的link_list中,就需要检查Transinfo中是否存在达到该主机的转发通道,如果存在使用该通道进行发送,其发送步骤参见附图4示意图包括:4.1~4.2步骤:检查Transinfo中目标主机所在的trans_host信息,将trans_host存入发送发送报文的头部中,发送报文的头部包含转发主机个数和转发主机节点编号,本机将数据发出;4.3~4.4步骤:到达一台主机后,如果收到报文的主机机即为目的主机,转发结束;4.5~4.8步骤:如果报文头中收到报文的主机节点不为目的主机则将数据包发向转发表中该主机后面的主机节点,一直到目的主机收到报文为止。
参见图5可知,所述信息转发是指根据通道检测得到的系统中各主机的连接表信息,找出可以到达目的主机需要进行数据转发的主机列表,并使用转发主机将数据最终送到目标主机;实现的步骤是:假设最极端情况下,一个有n台交换机的容错网络中,如果1号主机只有1网段网卡连接到1号交换机、2网段网卡连接到2号交换机,2号主机只有2,3两个网段的网卡工作….n-1号主机只有n-1、n这两个网段工作,那么1号主机到n-1号主机的通信需要经过2、3……n-2号机的接力转发才能最后到达n-1号主机。图5示意的为一个三台交换机网络中4台主机间在网卡存在不完全连接的连接图,图中主机1与主机2之间仅有网卡1相连,主机2与主机3仅有网卡2相连,主机3与主机4仅有网卡3相连;图中除主机1和主机2,主机2和主机3,主机3和主机4之间的消息传递完全可以选择两个主机间连接直接通信外,其它主机间通信都必须经过转发,如主机1要将数据传送到主机4,需要将信息先传到2再传到3,最终送至目标主机4;而主机1和主机2,主机2和主机3,主机3和主机4之间的消息传递完全可以选择两个主机间连接直接通信。
为保证在发现本机到某个主机的通道故障的时候可以将之前可能丢失的数据进行补发,系统以目标机为索引,使用key-value数据库保存了本机发到该主机的报文,同时记录保存的时间;使用定时器对报文纪录的时间进行对比,对超过一定时间阈值的信息进行删除。
参见图6可知,本机发送到各主机的报文根据目标主机进行了编号,本机即源主机使用信息存储模块进行了缓存,缓存以目标主机为单位建立存储表进行,存储选用Berkeley DB作为存储引擎,Berkeley DB是一款key–value数据库,在实施报文缓存时,以从1开始的报文编号形成的字符串作为Key,如“1”,“2”….”998”等,Value中存储报文和发送时的时间戳,存储时如图6所示。目标主机定时广播收到各主机的数据信息摘要,即收到某主机编号为XXXX到YYY的数据,这里XXX和YYY均为数字。在下面两种情况下本机会将存储的报文删除,一是收到的摘要信息中该数据包已经被收到;而是超过一个指定的时间阈值,报文保留没有意义,该时间阈值一般选择为心跳信息时间间隔和摘要信息的定时发送时间间隔最小公倍数的n倍,其n可以根据实际项目需要设定,实际系统中设置为3-5;这时可以确认目标主机已经与当前发生通信关系的主机集合失去联系;如果有特殊需要,需要保证发给某主机的信息不丢失,本主机将保存数据,并在该主机再次出现时,将保存数据转发给该目标主机。
通过在一个只能在单网络上运行的消息中间件上加以容错功能扩展实现本发明的具体实例表明,使用3台交换主机,支持主机从20-40台不等,配置心跳间隔时间为2秒,最多支持网络中两台主机间通过另外两台主机转发,考虑到具体的应用,例如空管自动化软件的需要,对UDP报文的容错没有加上特别的处理,而是对使用TCP协议进行传输的数据进行了容错处理,由于经过主机转发同时发送前保存报文,速度会比直通速度慢,并会带来一定的延时,但是,可以保证TCP报文不丢失,解决了中小型网络系统中由于单台交换机或主机到某台交换机的线路故障导致的传输数据丢失问题。

Claims (7)

1.一种具有数据容错能力的网络传输方法,其特征在于,包括通道检测,信息缓存、信息转发、直接通信四个步骤;所述的通道检测步骤主要用于检测本机到其它主机是否能够通信,并形成本机到系统中各主机的通信通道,这些通道有的可以直接通信,有的需要经过其它主机的转发;信息缓存步骤用于对发送的数据进行缓存,以便在发生线路故障的情况下,能够提取数据进行补发;信息转发步骤用于通过转发主机将信息转发到目标主机;直接通信步骤用于在两主机通信恢复时将通信恢复到两主机直接通信的状态。
2.根据权利要求1所述的一种具有数据容错能力的网络传输方法,其特征在于,所述通道检测步骤实现的方式如下:
2.1)对各网卡发送类型为1的报文,在指定端口侦听;
2.2)判断是否收到其它主机的心跳,如果判断是N,返回上一步;如果判断是Y,则进入下一步;
2.3)判断主机是否在连接表link_list中,如果判断是N,将该主机IP最后一个字节加入连接表link_list中,如果判断是Y,则进入下一步;
2.4)判断收到的心跳报文的源地址是否在通道表TabChannel中,如果判断是N,将该源地址加入通道表TabChannel中,如果判断是Y,则进入下一步;
2.5)判断主机是否在系统主机连接信息sysLinklist中,如果判断是N,将该源地址加入通道表TabChannel中,如果判断是Y,则进入下一步;
2.6)判断该主机是在sysLinklist的信息是否与以前一致,如果判断是N,将新的连接表信息更新sysLinklist,更新本机发送表Transinfo的内容,如果判断是Y,则进入下一步;
2.7)判断是否运行了2倍心跳时间,如果判断是N,则返回步骤2.2),如果判断是Y,则进入下一步;
2.8)定时发送类型为1的心跳报文,将本机收到的各主机连接表随心跳报文发出,同时返回到步骤2.2)。
3.根据权利要求2所述的一种具有数据容错能力的网络传输方法,其特征在于,实现判断本机发送表Transinfo中是否存在到达目标主机的转发通道的步骤如下:
3.1)解析某个主机的连接表link_list;
3.2)判断是否与当前保存的一致,如果判断是Y,则返回上一步,如果判断是N,则进入下一步;
3.3)判断主机是否在连接表link_list中,如果判断是N,将该主机IP最后一个字节加入连接表link_list中,如果判断是Y,则进入下一步;
3.4)判断接收到的心跳报文的源地址是否在通道表TabChannel中,如果判断是N,将该源地址加入通道表TabChannel中,如果判断是Y,则进入下一步;
3.5)判断该主机是否存在于连接信息sysLinklist中,如果判断是N,将该源地址加入通道表TabChannel中,如果判断是Y,则进入下一步;
3.6)判断该主机是在连接信息sysLinklist的信息是否与之前一致,如果判断是N,将新的连接表信息更新sysLinklist,更新Transinfo表的内容,如果判断是Y,则进入下一步;
3.7)判断是否运行了2倍心跳时间,如果判断是N,返回到3.2)步骤,如果判断是Y,则进入下一步;
3.8)定时发送类型为1的心跳报文,将本机收到的各主机连接表随心跳报文发出,同时返回到3.2)步骤。
4.根据权利要求2所述的一种具有数据容错能力的网络传输方法,其特征在于,所述检查通道表TabChannel时,如果发现本机最近一次收到某个主机的某个网段的心跳时间与当前时间超过心跳时间3倍时,则认为该主机的该网段连接故障,并从通道表TabChannel中删除该网段信息。
5.根据权利要求2所述的一种具有数据容错能力的网络传输方法,其特征在于,当本主机的连接表link_list连接信息发生变化时,需要重新计算连接信息;连接信息计算用于计算本机到系统中某台主机的转发通道,对于本机的连接表link_list中的主机,因为它们和本机有直接连接的关系,可以直接选择发送,发送时查询通道表TabChannel,找到的第一个对方的通道即对方IP地址可以用于直接发送。
6.根据权利要求3所述的一种具有数据容错能力的网络传输方法,其特征在于,如果目标主机不在本机的连接表link_list中,就需要检查发送表Transinfo中是否存在达到该主机的转发通道,如果存在,则使用该通道进行发送。
7.根据权利要求1所述的一种具有数据容错能力的网络传输方法,其特征在于,所述信息转发是指根据通道检测得到的系统中各主机的连接表信息,找出可以到达目标主机需要进行数据转发的主机列表,并使用转发主机将数据最终送到目标主机;实现的步骤如下:假设最坏情况下,一个有n台交换机的容错网络中,如果1号主机只有1网段网卡连接到1号交换机、2网段网卡连接到2号交换机, 2号主机只有2,3两个网段的网卡工作….n-1号主机只有n-1、n这两个网段工作,那么1号主机到n-1号主机的通信需要经过2、3……n-2号机的接力转发才能最后到达n-1号主机。
CN2011104521201A 2011-12-30 2011-12-30 一种具有数据容错能力的网络传输方法 Pending CN102447632A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011104521201A CN102447632A (zh) 2011-12-30 2011-12-30 一种具有数据容错能力的网络传输方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011104521201A CN102447632A (zh) 2011-12-30 2011-12-30 一种具有数据容错能力的网络传输方法

Publications (1)

Publication Number Publication Date
CN102447632A true CN102447632A (zh) 2012-05-09

Family

ID=46009733

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011104521201A Pending CN102447632A (zh) 2011-12-30 2011-12-30 一种具有数据容错能力的网络传输方法

Country Status (1)

Country Link
CN (1) CN102447632A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815483A (zh) * 2017-01-19 2017-06-09 深圳市新产业生物医学工程股份有限公司 一种提高控制端与仪器的数据传输的容错性的方法和装置
CN107454621A (zh) * 2017-09-13 2017-12-08 凌云天博光电科技股份有限公司 一种局域网设备的管理系统
CN107566176A (zh) * 2017-09-05 2018-01-09 郑州云海信息技术有限公司 一种服务器与客户端之间的通信方法及装置
CN114979313A (zh) * 2022-06-13 2022-08-30 深圳市宏电技术股份有限公司 一种通信设备数据补报方法、装置、通信设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1541466A (zh) * 2001-06-30 2004-10-27 ��˹��ŵ�� 用于在多跳无线网络中传递分组的设备和方法
CN1829197A (zh) * 2006-04-14 2006-09-06 迈普(四川)通信技术有限公司 一种动态选择出口路径的方法
CN101263686A (zh) * 2005-09-12 2008-09-10 微软公司 路由网络中的容错通信

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1541466A (zh) * 2001-06-30 2004-10-27 ��˹��ŵ�� 用于在多跳无线网络中传递分组的设备和方法
CN101263686A (zh) * 2005-09-12 2008-09-10 微软公司 路由网络中的容错通信
CN1829197A (zh) * 2006-04-14 2006-09-06 迈普(四川)通信技术有限公司 一种动态选择出口路径的方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815483A (zh) * 2017-01-19 2017-06-09 深圳市新产业生物医学工程股份有限公司 一种提高控制端与仪器的数据传输的容错性的方法和装置
CN107566176A (zh) * 2017-09-05 2018-01-09 郑州云海信息技术有限公司 一种服务器与客户端之间的通信方法及装置
CN107454621A (zh) * 2017-09-13 2017-12-08 凌云天博光电科技股份有限公司 一种局域网设备的管理系统
CN114979313A (zh) * 2022-06-13 2022-08-30 深圳市宏电技术股份有限公司 一种通信设备数据补报方法、装置、通信设备及存储介质

Similar Documents

Publication Publication Date Title
CN101459618B (zh) 虚拟机网络的数据包转发方法和装置
CN110417569B (zh) 一种网络链路故障处理方法和隧道端点设备
CN108173691B (zh) 一种跨设备聚合的方法及装置
CN104168193B (zh) 一种虚拟路由器冗余协议故障检测的方法及路由设备
CN102598590B (zh) 具有性能监测的主动多路径网络冗余
CN108259299B (zh) 一种转发表项生成方法、装置及机器可读存储介质
RU2388160C2 (ru) Кольцевая сеть, устройство связи и способ оперативного управления, используемый для кольцевой сети и устройства связи
CN102035688B (zh) 一种快速控制网络链路访问设计方法
CN106878164B (zh) 一种报文传输方法和装置
JP4918862B2 (ja) リンクトレースフレーム転送プログラム、リンクトレースフレーム転送装置、リンクトレースフレーム転送方法
US20100218034A1 (en) Method And System For Providing High Availability SCTP Applications
CN103501250A (zh) 分布式链路聚合网络中的数据流处理方法和装置
CN109088819A (zh) 一种报文转发方法、交换机及计算机可读存储介质
CN104023082A (zh) 一种集群负载均衡的实现方法
CN102447632A (zh) 一种具有数据容错能力的网络传输方法
CN104869081A (zh) 报文交换处理方法、业务板及网络交换系统
CN108833272B (zh) 一种路由管理方法和装置
CN102437960B (zh) 集群模式的检测处理方法、系统和网络设备
EP3183587A1 (en) Diagnostic routing system and method for a link access group
US20150229557A1 (en) Data processing system for changing massive paths time-deterministically and operating method of the data processing system
CN101588299A (zh) 分布式设备的报文转发方法及分布式设备和该设备的单板
US9571346B2 (en) Fault tolerant communication system, method, and device that uses tree searching
US6647430B1 (en) Geographically separated totem rings
CN102651712B (zh) 多处理器系统的节点路由方法、控制器及多处理器系统
CN107682257A (zh) 数据传输方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20120509