首页> 中国专利> 一种基于TIPC协议实现双机热备的方法及系统

一种基于TIPC协议实现双机热备的方法及系统

摘要

本发明提供一种基于TIPC协议实现双机热备的方法,所述方法为1、将双机的两台设备的TIPC地址设置成能查找到彼此;2、设置等待TIPC连接建立事件上报的超时时间,判断一设备在所述超时时间内是否收到对端设备响应,否,则设置本设备为主机状态,是,则本设备为备机状态;3、主机状态的设备断线时,收到TIPC协议的事件响应,此时将备机状态的设备切换成主机工作。本发明使用TIPC协议不需要配置具体的IP端口,简化了配置流程和程序运行流程,大大缩短因主设备异常引起的服务中断时间。

著录项

  • 公开/公告号CN105871524A

    专利类型发明专利

  • 公开/公告日2016-08-17

    原文格式PDF

  • 申请/专利权人 福建三元达网络技术有限公司;

    申请/专利号CN201610307981.3

  • 发明设计人 凌铭;

    申请日2016-05-11

  • 分类号H04L1/22(20060101);H04L12/24(20060101);H04L29/06(20060101);

  • 代理机构福州市鼓楼区京华专利事务所(普通合伙);

  • 代理人宋连梅

  • 地址 350000 福建省福州市马尾区湖里路27号1#楼2-17J室(自贸试验区内)

  • 入库时间 2023-06-19 00:20:45

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-10-01

    专利权人的姓名或者名称、地址的变更 IPC(主分类):H04L1/22 变更前: 变更后: 申请日:20160511

    专利权人的姓名或者名称、地址的变更

  • 2019-06-21

    授权

    授权

  • 2016-09-14

    实质审查的生效 IPC(主分类):H04L1/22 申请日:20160511

    实质审查的生效

  • 2016-08-17

    公开

    公开

说明书

技术领域

本发明涉及通信技术领域,尤其涉及一种基于TIPC协议实现双机热备的方法及系统。

背景技术

高可用性H.A.(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。HA系统是目前企业防止核心计算机系统因故障停机的最有效手段。

目前,市场上提供多种高可用性解决的软件解决方案。主要分为双机和多机的解决方案,主要原理是在提供硬件冗余的系统基础之上,运行高可靠性软件而构成。高可用性软件自动检测服务的运行状态,一旦服务在主机上出现故障,高可用性软件将自动地把服务转到另一台服务器上,从而让服务持续可用。对系统应用状态的监控和服务故障的恢复,由高可用软件自动完成,减少了人员的负担。传统监控技术主要是通过TCP/IP协议实现的,但在可信网络环境下,TCP/IP协议的很多操作是冗余的,例如三次握手,会导致通信效率下降,增加应用程序的通信时间,不利于对时间响应要求比较高的应用,处理集群成员节点由于重启或down机等各种原因导致的增加和减少。

其中,TIPC协议,即透明进程间通信协议,原本是为集群间通信特别设计的。它允许设计人员能够创建可以和其它应用快速可靠地通信应用,TIPC网络地址是和整个物理结点相关联的,地址模式映射到逻辑网络拓扑。TIPC网络地址使用<z.c.n>方式。Z(zone 8位),C(cluster,12位),N(node,12位),共32位。TIPC网络还使用网络ID(netid),这允许多个逻辑网络使用相同的物理媒介(例如,相同的以太网网线),并且不会相互干扰,因为每个节点仅仅识别来自相同网络ID节点的流量。当物理链接(如以太网)建立好了之后,TIPC会自动建立连接来和网络中其它节点通信,并且自动维护一张TIPC的路由表。应用程序在创建socket的时候在内核中注册自己的服务类型service type,那么在发送端,只需要指定服务类型就可以由内核路由到相应的socket。这个时候,对应用层来说,对端地址仅仅是一个服务类型service type,即由服务去查找socket。而每台设备都有这样的路由表,他们之间信息就像能够共享一样地为整个集群的TIPC socket服务。有了TIPC,应用之间的通讯都是透明的,不需要知道对端的IP和端口信息。

现有技术中公开了一种“高效的双机热备切换的设计方法”,见公开号为:CN101916096A,公开日为:2010-12-15的中国专利,该发明提供了一种高效的双机热备切换的设计方法及其在轨道交通综合监控系统(ISCS)中的应用,其特征在使用两个冗余FEP(FEP1和FEP2),以主/备配置方式运行,这种使用双机热备切换的方法,可以使地铁ISCS得到稳定的数据,大大降低了FEP产生故障对整个系统的影响。为ISCS系统正常稳定的工作提供了保障。

现有技术还公开了一种“网络地址转换设备的双机热备的方法及装置”,见公开号为:CN102447583A,公开日为:2012-05-09的中国专利,该方法包括:在主用设备和备用设备之间建立检测链路,主用设备切换到主状态,备用设备切换到备状态;在检测链路上建立备份通道;主用设备通过备份通道向备用设备备份信息。通过运用本发明,解决了相关技术中无法对CGN设备在三层网络环境下的业务数据进行备份的问题,进而在三层环境下可以进行CGN设备间的双机热备,有效的提高CGN设备的业务运行稳定性,进一步提升了系统的性能。该两个专利都不是通过本专利申请中记载的通过TIPC协议的设置来完成的,本专利申请是使用TIPC协议不需要配置具体的IP端口,简化了配置流程和程序运行流程。两个文献不是采用这种方式,所采用的技术方案不同。

发明内容

本发明要解决的技术问题之一,在于提供一种基于TIPC协议实现双机热备的方法,使用TIPC协议不需要配置具体的IP端口,简化了配置流程和程序运行流程,大大缩短因主设备异常引起的服务中断时间。

本发明问题之一是这样实现的:一种基于TIPC协议实现双机热备的方法,所述方法包括如下步骤:

步骤1、将双机的两台设备的TIPC地址设置成能查找到彼此;

步骤2、设置等待TIPC连接建立事件上报的超时时间,判断一设备在所述超时时间内是否收到对端设备响应,否,则设置本设备为主机状态,进入步骤3;是,则本设备为备机状态,进入步骤3;

步骤3、主机状态的设备断线时,收到TIPC协议的事件响应,此时将备机状态的设备切换成主机工作。

进一步的,所述步骤1具体为:设定两台设备A和B通讯用的接口都为eth0,用TIPC工具tipc-config执行配置命令,将设备A执行tipc-config-netid=网络ID值-addr=TIPC地址值-be=eth:eth0-lt eth/容忍时间值,设备B执行tipc-config-netid=网络ID值-addr=TIPC地址值-be=eth:eth0-lt eth/容忍时间值;所述将设备A的TIPC地址值与设备B的TIPC地址值不同,网络ID值相同,容忍时间值相同,所述容忍时间为通讯中断允许的最长时间,通过以上命令,使得双机的两台设备的TIPC地址设置成能查找到彼此。

进一步的,所述步骤2具体为:设定两台设备A和B中设备A先启动,此时由于没有其他设备存在,设备A创建绑定本机的TIPC套接字将不会收到任何事件,在发现对端设备B超时时间响应,此时设备A的监控模块将通告本机的应用为ACTIVE主状态;若设备B启动后,设备A的监控模块创建的TIPC套接字会收到TIPC_PUBLISHED事件上报,则有对端设备B服务存在,将通告本机应用为STANDBY备机状态。

进一步的,所述步骤3具体为:当ACTIVE主状态的设备出现异常断开时,备机状态的设备的监控模块TIPC套接字会在设置的容忍时间超时后,收到TIPC_WITHDRAWN事件上报,则对端设备服务已经撤出,此时通知备机状态的设备应用切换至ACTIVE主状态。

本发明要解决的技术问题之二,在于提供一种基于TIPC协议实现双机热备的系统,使用TIPC协议不需要配置具体的IP端口,简化了配置流程和程序运行流程,大大缩短因主设备异常引起的服务中断时间。

本发明问题之二是这样实现的:一种基于TIPC协议实现双机热备的系统,所述系统包括设置模块、判断模块、以及断线处理模块;

所述设置模块,用于将双机的两台设备的TIPC地址设置成能查找到彼此;

所述判断模块,用于设置TIPC连接建立事件上报的超时时间,判断一设备在所述超时时间内是否收到对端设备响应,否,则设置本设备为主机状态,执行断线处理模块;是,则本设备为备机状态,并执行断线处理模块;

所述断线处理模块,用于主机状态的设备断线时,收到TIPC协议的事件响应,此时将备机状态的设备切换成主机工作。

进一步的,所述设置模块具体为:设定两台设备A和B通讯用的接口都为eth0,用TIPC工具tipc-config执行配置命令,将设备A执行tipc-config-netid=网络ID值-addr=TIPC地址值-be=eth:eth0 -lt eth/容忍时间值,设备B执行tipc-config-netid=网络ID值-addr=TIPC地址值-be=eth:eth0 -lt eth/容忍时间值;所述将设备A的TIPC地址值与设备B的TIPC地址值不同,网络ID值相同,容忍时间值相同,所述容忍时间为通讯中断允许的最长时间,通过以上命令,使得双机的两台设备的TIPC地址设置成能查找到彼此。

进一步的,所述判断模块具体为:设定两台设备A和B中设备A先启动,此时由于没有其他设备存在,设备A创建绑定本机的TIPC套接字将不会收到任何事件,在发现对端设备B超时时间响应,此时设备A的监控模块将通告本机的应用为ACTIVE主状态;若设备B启动后,设备A的监控模块创建的TIPC套接字会收到TIPC_PUBLISHED事件上报,则有对端设备B服务存在,将通告本机应用为STANDBY备机状态。

进一步的,所述断线处理模块具体为:当ACTIVE主状态的设备出现异常断开时,备机状态的设备的监控模块TIPC套接字会在设置的容忍时间超时后,收到TIPC_WITHDRAWN事件上报,则对端设备服务已经撤出,此时通知备机状态的设备应用切换至ACTIVE主状态。

本发明具有如下优点:而本发明所采用TIPC协议,即透明进程间通信协议,无须考虑在其它需要通信的应用在机群环境中的位置它针对可信网络环境,减少了建立通信连接的步骤和寻址目标地址的操作(在TCP/IP协议里,完成这些操作节点间最少也需要9次包交换,而使用TIPC则可以减少到2次)。这可以提高节点间信息交换的频率以及减少节点间等待的时间。另外,本发明对应用程序来说,使用TIPC协议不需要配置具体的IP端口,简化了配置流程和程序运行流程。TIPC协议本身提供了容忍时间的配置功能,且能快速检测到对端设备断线状态,可以大大缩短因主设备异常引起的服务中断时间。

附图说明

图1为本发明方法流程示意图。

图2为本发明系统的结构示意图。

具体实施方式

请参阅图1所示,本发明的一种基于TIPC协议实现双机热备的方法,所述方法包括如下步骤:

步骤1、将双机的两台设备的TIPC地址设置成能查找到彼此;

所述步骤1具体为:设定两台设备A和B通讯用的接口都为eth0,用TIPC工具tipc-config执行配置命令,将设备A执行tipc-config-netid=网络ID值-addr=TIPC地址值-be=eth:eth0-lt eth/容忍时间值,设备B执行tipc-config -netid=网络ID值-addr=TIPC地址值-be=eth:eth0 -lt eth/容忍时间值;所述将设备A的TIPC地址值与设备B的TIPC地址值不同,网络ID值相同,容忍时间值相同,所述容忍时间为通讯中断允许的最长时间,通过以上命令,使得双机的两台设备的TIPC地址设置成能查找到彼此。例如:设备A执行tipc-config-netid=1234-addr=1.1.8-be=eth:eth0-lt eth/50,设备B执行tipc-config-netid=1234-addr=1.1.9-be=eth:eth0-lt eth/50。通过以上命令,将设备A的TIPC地址值设为1.1.8,设备B的TIPC地址值设为1.1.9,网络ID值都是1234,通讯接口都是eth0,容忍时间值为50ms(即通讯中断允许的最长时间)。

步骤2、设置等待TIPC连接建立事件上报的超时时间,判断一设备在所述超时时间内是否收到对端设备响应,否,则设置本设备为主机状态,进入步骤3;是,则设置本设备为备机状态,进入步骤3;

所述步骤2具体为:设定两台设备A和B中设备A先启动,此时由于没有其他设备存在,设备A创建绑定本机的TIPC套接字将不会收到任何事件,在发现对端设备B超时时间响应,此时设备A的监控模块将通告本机的应用为ACTIVE主状态;若设备B启动后,设备A的监控模块创建的TIPC套接字会收到TIPC_PUBLISHED事件上报,则有对端设备B服务存在,将通告本机应用为STANDBY备机状态。

步骤3、主机状态的设备断线时,收到TIPC协议的事件响应,此时将备机状态的设备切换成主机工作。

所述步骤3具体为:当ACTIVE主状态的设备出现异常断开时,备机状态的设备的监控模块TIPC套接字会在设置的容忍时间超时后,收到TIPC_WITHDRAWN事件上报,则对端设备服务已经撤出,此时通知备机状态的设备应用切换至ACTIVE主状态。

请参阅图2所示,本发明的一种基于TIPC协议实现双机热备的系统,其特征在于:所述系统包括设置模块、判断模块、以及断线处理模块;

所述设置模块,用于将双机的两台设备的TIPC地址设置成能查找到彼此;

所述设置模块具体为:设定两台设备A和B通讯用的接口都为eth0,用TIPC工具tipc-config执行配置命令,将设备A执行tipc-config-netid=网络ID值-addr=TIPC地址值-be=eth:eth0-lt eth/容忍时间值,设备B执行tipc-config-netid=网络ID值-addr=TIPC地址值-be=eth:eth0-lt eth/容忍时间值;所述将设备A的TIPC地址值与设备B的TIPC地址值不同,网络ID值相同,容忍时间值相同,所述容忍时间为通讯中断允许的最长时间,通过以上命令,使得双机的两台设备的TIPC地址设置成能查找到彼此。

所述判断模块,用于设置等待TIPC连接建立事件上报的超时时间,判断一设备在所述超时时间内是否收到对端设备响应,否,则设置本设备为主机状态,执行断线处理模块;是,则设置本设备为备机状态,并执行断线处理模块;

所述判断模块具体为:设定两台设备A和B中设备A先启动,此时由于没有其他设备存在,设备A创建绑定本机的TIPC套接字将不会收到任何事件,在发现对端设备B超时时间响应,此时设备A的监控模块将通告本机的应用为ACTIVE主状态;若设备B启动后,设备A的监控模块创建的TIPC套接字会收到TIPC_PUBLISHED事件上报,则有对端设备B服务存在,将通告本机应用为STANDBY备机状态。

所述断线处理模块,用于主机状态的设备断线时,收到TIPC协议的事件响应,此时将备机状态的设备切换成主机工作。

所述断线处理模块具体为:当ACTIVE主状态的设备出现异常断开时,备机状态的设备的监控模块TIPC套接字会在设置的容忍时间超时后,收到TIPC_WITHDRAWN事件上报,则对端设备服务已经撤出,此时通知备机状态的设备应用切换至ACTIVE主状态。

总之,本发明对应用程序来说,使用TIPC协议不需要配置具体的IP端口,简化了配置流程和程序运行流程。TIPC协议本身提供了容忍时间的配置功能,且能快速检测到对端设备断线状态,可以大大缩短因主设备异常引起的服务中断时间。

以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号