CN101577731A - Tcp连接主备倒换和h323连接主备倒换的方法及装置 - Google Patents

Tcp连接主备倒换和h323连接主备倒换的方法及装置 Download PDF

Info

Publication number
CN101577731A
CN101577731A CNA2009100870278A CN200910087027A CN101577731A CN 101577731 A CN101577731 A CN 101577731A CN A2009100870278 A CNA2009100870278 A CN A2009100870278A CN 200910087027 A CN200910087027 A CN 200910087027A CN 101577731 A CN101577731 A CN 101577731A
Authority
CN
China
Prior art keywords
backup
module
tcp
protocol stack
application
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.)
Granted
Application number
CNA2009100870278A
Other languages
English (en)
Other versions
CN101577731B (zh
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.)
New H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies 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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN2009100870278A priority Critical patent/CN101577731B/zh
Publication of CN101577731A publication Critical patent/CN101577731A/zh
Application granted granted Critical
Publication of CN101577731B publication Critical patent/CN101577731B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提出一种TCP连接主备倒换和H323连接主备倒换的方法及装置,其中TCP连接主备倒换的方法包括:主板正常工作时,主钩子函数单元获取经由主网络协议栈模块收发的TCP数据包,将所述TCP数据包发送至主虚拟连接模块;主虚拟连接模块分析所述TCP数据包,获取所述主板与终端设备之间的旧的TCP连接的相关信息,将所述旧的TCP连接的相关信息发送至备份虚拟连接模块;主板出现故障时,所述备份虚拟连接模块根据接收的旧的TCP连接的相关信息,代替所述终端设备与所述备份应用层软件模块建立新的TCP连接。本发明能够实现TCP连接主备倒换过程对终端设备的完全透明。

Description

TCP连接主备倒换和H323连接主备倒换的方法及装置
技术领域
本发明涉及视频会议技术领域,特别涉及一种TCP连接主备倒换和基于TCP连接主备倒换的H323连接主备倒换的方法及装置。
背景技术
视频会议系统通过网络通信技术实现虚拟会议,将物理上分散的用户聚集在一起,通过声音、图像等多种方式交流信息,开展协同工作。视频会议系统在很大程度上缩短了空间距离,方便协作成员之间实时、直观的交流。典型的视频会议系统如图1所示,其中包括多个终端设备、传输网络和多点控制单元(MCU)等几个部分。
在图1所示的系统中,当MCU召开视频会议时,终端设备与MCU建立连接,加入到视频会议中。在视频会议中,MCU接收终端设备发送来的视音频媒体码流,根据会议控制的需要,将码流进行处理后,再给各终端设备发送对应的视音频码流。通过该操作,就可以组织各终端设备之间互相观看和交流,进行正常的会议。
目前,视频会议系统中终端设备与MCU之间的连接一般是基于H323协议栈,H323协议栈主要包括H225协议和H245协议;H323连接又是基于TCP连接进行的,每个H323连接包括一条基于TCP连接的H225连接和一条基于TCP连接的H245连接。基于H323的视频会议系统中,建立H323连接的过程如下:首先,通信双方建立一条TCP连接;之后,通信双方在该TCP连接的基础上交换H225信令,建立H225连接;然后,通信双方建立另一条TCP连接,在该TCP连接的基础上交换H245信令,建立H245连接,在该H245连接上进行编解码能力的协商等操作。
MCU与视频会议系统中的终端设备分别建立H323连接后,MCU就可以组织系统中的终端设备进行视频会议。
为了提供不间断的可靠服务,MCU一般会使用主备倒换技术。如图2所示,图2为现有技术中提供主备倒换功能的MCU的结构示意图。在该MCU中,包括主板和备份板,在主板发生故障的情况下,备份板会主动接替主板的工作,使该MCU对外提供持续的服务。
目前的主备倒换MCU中,主板正常工作时,会将应用层的业务信息实时备份到备份板上。主板和备份板各自通过某种方式(如心跳方式)检测对方工作状态。如果检测到主板失效,备份板则通过之前实时备份的会议信息重新召集会议。
现有技术的主备倒换过程仅在应用层上备份了应用层的业务信息,简单地利用备份的应用层业务信息重新召开会议。这种情况会导致所有与MCU已经建立TCP连接终端设备都要断开连接、之后再重新建立TCP连接,这种先断开再重连的过程会使终端用户会感知到故障的发生,降低终端用户的使用体验。如何保证TCP连接相对用户来说不断开,如何保证基于该TCP连接的H323连接不断开就成了本发明需解决的问题。
发明内容
本发明实施例提出一种TCP连接主备倒换的方法及装置,实现TCP连接主备倒换过程对终端设备的完全透明。
本发明实施例还提出一种基于TCP连接主备倒换的H323连接主备倒换的方法和使用该方法的多媒体装置,用于实现TCP连接主备倒换及H323连接主备倒换过程对终端设备的完全透明。
本发明实施例的技术方案是这样实现的:
一种TCP连接主备倒换的方法,该方法应用于包括主板和备份板的装置中,其中,主板包括主应用层软件模块、主网络协议栈模块和主虚拟连接模块,所述主网络协议栈模块包括主钩子函数单元;备份板包括备份应用层软件模块、备份网络协议栈模块和备份虚拟连接模块,所述备份网络协议栈模块包括备份钩子函数单元;所述方法包括:
主板正常工作时,主钩子函数单元获取经由主网络协议栈模块收发的TCP数据包,将所述TCP数据包发送至主虚拟连接模块;
主虚拟连接模块分析所述TCP数据包,获取所述主板与终端设备之间的旧的TCP连接相关信息,将所述旧的TCP连接相关信息发送至备份虚拟连接模块;
主板出现故障时,所述备份虚拟连接模块根据接收的旧的TCP连接相关信息,代替所述终端设备与所述备份应用层软件模块建立新的TCP连接。
一种基于TCP连接主备倒换的H323连接主备倒换的方法,该方法应用于包括主板和备份板的多媒体装置中,其中,主板包括主H323协议栈模块、主网络协议栈模块和主虚拟连接模块,所述主网络协议栈模块包括主钩子函数单元;备份板包括备份H323协议栈模块、备份网络协议栈模块和备份虚拟连接模块,所述备份网络协议栈模块包括备份钩子函数单元;所述方法包括:
主板正常工作时,主钩子函数单元获取经由主网络协议栈模块收发的TCP数据包,将所述TCP数据包发送至主虚拟连接模块;
主虚拟连接模块分析所述TCP数据包,获取所述主板与终端设备之间旧的TCP连接相关信息和旧的H323连接相关信息,将所述旧的TCP连接相关信息和旧的H323连接相关信息发送至备份虚拟连接模块;
主板出现故障时,所述备份虚拟连接模块根据接收到的旧的TCP连接相关信息,代替所述终端设备与备份H323协议栈模块建立新的TCP连接;根据接收到的旧的H323连接相关信息,代替所述终端设备与所述备份H323协议栈模块建立基于新的TCP连接的新的H323连接。
一种TCP连接主备倒换的装置,该装置包括主板和备份板,其中,主板包括主应用层软件模块、主网络协议栈模块和主虚拟连接模块,所述主网络协议栈模块包括主钩子函数单元;备份板包括备份应用层软件模块、备份网络协议栈模块和备份虚拟连接模块,所述备份网络协议栈模块包括备份钩子函数单元;
所述主钩子函数单元,用于在所述主板正常工作时,获取经由主网络协议栈模块收发的TCP数据包,将所述TCP数据包发送至主虚拟连接模块;
所述主虚拟连接模块,用于分析所述TCP数据包,获取所述主板与终端设备之间的旧的TCP连接相关信息,将所述旧的TCP连接相关信息发送至备份虚拟连接模块;
所述备份虚拟连接模块,用于在所述主板出现故障时,根据接收的旧的TCP连接相关信息,代替所述终端设备与所述备份应用层软件模块建立新的TCP连接。
一种H323连接主备倒换的多媒体装置,该多媒体装置包括主板和备份板,其中,主板包括主H323协议栈模块、主网络协议栈模块和主虚拟连接模块,所述主网络协议栈模块包括主钩子函数单元;备份板包括备份H323协议栈模块、备份网络协议栈模块和备份虚拟连接模块,所述备份网络协议栈模块包括备份钩子函数单元;
所述主钩子函数单元,用于在所述主板正常工作时,获取经由主网络协议栈模块收发的TCP数据包,将所述TCP数据包发送至主虚拟连接模块;
所述主虚拟连接模块,用于分析所述TCP数据包,获取所述主板与终端设备之间旧的TCP连接相关信息和旧的H323连接相关信息,将所述旧的TCP连接相关信息和旧的H323连接相关信息发送至备份虚拟连接模块;
所述备份虚拟连接模块,用于在所述主板出现故障时,根据接收到的旧的TCP连接相关信息,代替所述终端设备与备份H323协议栈模块建立新的TCP连接;根据接收到的旧的H323连接相关信息,代替所述终端设备与所述备份H323协议栈模块建立基于新的TCP连接的新的H323连接。
可见,本发明提出的TCP连接主备倒换方法和装置、以及基于TCP连接主备倒换的H323连接主备倒换的方法和多媒体装置,在备份板中设置备份虚拟连接模块,其中备份了主板与终端设备的TCP连接的相关信息,在主板发生故障时,备份虚拟连接模块代替终端设备与备份板中的备份应用层软件模块建立虚拟的TCP连接,这种基于虚拟连接的TCP连接主备倒换方案可以实现对终端设备的完全透明。进一步地,在备份虚拟连接模块上可以备份主板与终端设备的H323连接的相关信息,在TCP连接主备倒换的基础上实现H323连接的主备倒换,并且H323连接主备倒换的过程对终端设备完全透明。
附图说明
图1现有技术中典型的视频会议系统结构示意图;
图2为现有技术中提供主备倒换功能的MCU的结构示意图;
图3为本发明装置实施例的结构示意图;
图4为本发明实施例TCP连接主备倒换的实现流程图;
图5为本发明实施例TCP连接的主备倒换和H323连接的主备倒换阶段的数据包交互流程图。
具体实施方式
本发明的提出的TCP连接主备方法应用于如图3所示的装置中,如图3所示,图3为本发明装置实施例的结构示意图,包括:主板310和备份板320;其中,
主板310包括主应用层软件模块312、主网络协议栈模块313和主虚拟连接模块314;其中,主网络协议栈模块313包括主钩子函数单元313′;
备份板包括备份应用层软件模块322、备份网络协议栈模块323和备份虚拟连接模块324;其中备份网络协议栈模块323包括备份钩子函数单元323′。
本发明的实现原理是:当主板310正常工作时,主应用层软件模块312与终端设备之间建立TCP连接(为方便描述,将该TCP连接称为旧的TCP连接);由于用于建立旧的TCP连接的所有TCP数据包都一定会经由主网络协议栈模块313进行收发,因此,本发明可以在主网络协议栈模块313中设置主钩子函数单元313′,用来获取主网络协议栈模块313收发的所有TCP数据包,并传递给主虚拟连接模块314;主虚拟连接模块314对接收的TCP数据包进行分析,获取旧的TCP连接的相关信息,将旧的TCP连接的相关信息发送至备份虚拟连接模块324;当主板310出现故障时,该装置需要进行主备倒换,由备份板320代替主板310进行工作,此时,首先需要进行虚拟的TCP连接主备倒换。所谓“虚拟”的TCP连接主备倒换,其含义是:由备份板320中的备份虚拟连接模块324代替终端设备与备份板320中的备份应用层软件模块322建立新的TCP连接,根据之前接收的旧的TCP连接的相关信息,使该新的TCP连接的相关属性与旧的TCP连接的相关属性相同;这样,对于备份应用层软件模块322来说,其会感知到终端设备与自身重新建立了TCP连接,因而不会影响到后续过程中备份板320代替主板310进行的工作;对于远端终端设备来说,由于备份板320能够正常地与远端终端设备进行通信,因此远端终端设备并不会感知到TCP连接的中断,不会对远端终端设备中TCP程序的运行产生任何影响,实现了TCP连接的无缝倒换。应用到多媒体领域,上述装置可以是多媒体装置,进一步地应用到视频会议领域中,上述装置可以具体为MCU。主应用层软件模块312可以具体为主H323协议栈模块,备份应用层软件模块322可以具体为备份H323协议栈模块。在上述TCP连接主备倒换的基础上进一步实现H323连接的主备倒换,可以实现H323连接的主备倒换过程对终端设备的完全透明,保证H323连接倒换过程中视频会议的正常进行。
本发明提出一种TCP连接主备倒换的方法,参见图4,图4为本发明实施例TCP连接主备倒换的实现流程图,在本实施例中,实现TCP主备倒换的装置具体为多媒体装置,主应用层软件模块具体为主H323协议栈模块,备份应用层软件模块具体为备份H323协议栈模块,该实施例包括:
步骤401:多媒体装置的主板正常工作时,主钩子函数单元获取经由主网络协议栈模块收发的TCP数据包,将所述TCP数据包发送至主虚拟连接模块;
步骤402:主虚拟连接模块分析所述TCP数据包,获取所述主板与终端设备之间的旧的TCP连接的相关信息,将所述旧的TCP连接的相关信息发送至备份虚拟连接模块;
步骤403:多媒体装置的主板出现故障时,所述备份虚拟连接模块根据接收的旧的TCP连接的相关信息,代替所述终端设备与备份H323协议栈模块建立新的TCP连接。
上述实施例是将实现TCP主备倒换的装置具体为多媒体装置,并将应用层软件模块具体为H323协议栈模块进行说明的,容易理解的是,上述装置可以是实现TCP主备倒换的其它装置,应用层软件模块也可以是基于TCP协议的其它模块。
通过上述步骤,实现了TCP连接的主备倒换,本发明可以进一步实现基于TCP连接主备倒换的H323连接主备倒换,即:
上述方法中,步骤402中,主虚拟连接模块分析TCP数据包,可以进一步获取主板与终端设备之间的旧的H323连接的相关信息,将所述旧的H323连接的相关信息发送至备份虚拟连接模块;
步骤403之后,该方法可以进一步包括步骤404:备份虚拟连接模块根据接收的旧的H323连接的相关信息,代替所述终端设备与所述备份H323协议栈模块建立基于新的TCP连接的新的H323连接。
至此,实现了H323连接的主备倒换。将上述多媒体装置具体为MCU,在实现了H323连接的主备倒换的基础上,MCU的备份板就可以代替主板组织终端设备进行视频会议,具体地,主板310进一步包括主应用程序模块311,该主应用程序模块311包括第一应用程序备份单元311′;备份板320进一步包括备份应用程序模块321,该备份应用程序模块321包括第二应用程序备份单元321′;
在上述步骤401中,MCU的主板正常工作时,可以进一步包括:第一应用程序备份单元保存主板当前组织的视频会议的应用层业务信息,将该应用层业务信息发送至所述第二应用程序备份单元;
步骤404之后,该方法可以进一步包括步骤405:备份板的备份应用程序模块根据其中的第二应用程序备份单元所接收的应用层业务信息,完成应用层业务的倒换工作,然后继续组织终端设备进行之前已经进行的视频会议。
在上述步骤403和步骤404中,备份虚拟连接模块与备份H323协议栈模块之间建立的新的TCP连接和H323连接必须保持与之前建立的旧的TCP连接和H323连接的属性一致,并且,由于该新的TCP连接和H323连接都是在备份板内部的虚拟连接,因此,对于步骤403和步骤404中建立新的TCP连接和H323连接的过程需要有一些特殊的处理,具体如下:
(1)在现有技术中,每个TCP数据包都包含timestamps选项,用于计算网络中的环回时间(RRT);在本发明中,由于建立的新的TCP连接是虚拟连接,计算RRT没有实际意义,故建立新的TCP连接的TCP数据包中不应包含timestamps选项。具体实现方式可以为:进行所述主备倒换之前,可以由备份板的第二应用程序备份单元设置/proc/sys/net/ipv4目录下的tcp_timestamps变量为0,使备份H323协议栈模块发送的TCP连接的TCP数据包中不包含timestamps选项;在主备倒换完成后,设置tcp_timestamps变量为1,重新启动TCP数据包中的timestamps选项。
(2)现有技术中,TCP数据包中包括SEQ、ACK等字段,通信两端收发的TCP数据包中的SEQ、ACK等字段必须与之前TCP数据包中的SEQ、ACK分别保持连续,如果SEQ或ACK不连续,通信终端就会认为TCP连接出错;因此,新建立的TCP连接之后,备份板的备份H323协议栈模块与远端终端设备之间发送的TCP数据包的SEQ、ACK字段必须分别与旧的TCP连接的SEQ、ACK字段保持连续,这样备份H323协议栈模块和远端终端设备才不会因感知到SEQ、ACK字段不连续而认为之后发送的TCP数据包错误。具体实现方式可以为:备份钩子函数单元对建立新的TCP连接时收发的TCP数据包中的SEQ和/或ACK字段分别进行修改,使新旧TCP连接的SEQ和/或ACK字段分别保持一致。
(3)由于备份板的收包、发包程序运行在当前进程的上下文环境中,如果备份虚拟连接模块直接在当前进程中发送TCP连接的数据包,将会引发错误。因此,可以由备份虚拟连接模块维护一个新的内核线程,该内核线程用于向所述备份H323协议栈模块发送新的TCP连接的数据包。
(4)由于用于建立H323连接的H323连接信令包中也存在一些特殊字段,在建立新的H323连接时,必须保证新H323连接的信令包中的这些特殊字段与旧H323连接的信令包中的特殊字段相同,使新旧H323连接保持一致。因此,在备份虚拟连接模块与备份H323协议栈模块建立新H323连接时,可以由备份板中的第二应用程序备份单元在备份H323协议栈模块内部修改相关数据结构,使新H323连接的属性与主板和终端设备之间建立的旧H323连接的属性一致。
(5)在主板正常工作时,主板发送了一个TCP数据包(简称last_pack包),备份板保存了这一TCP数据包的相关信息;如果此时主板出现故障,启动主备倒换,备份板接替原来的主板开始运行。此时,远端终端设备有可能没有收到last_pack包(有可能last_pack包还没有发送网络中,或者在网络中丢失了),而此时备份板上的第二应用程序备份单元却认为last_pack包已经发送出去了,所以之后建立的TCP虚拟连接会导致这条TCP连接上的SEQ、ACK号的不连续,从而使备份板不能正常运行。可见,在主板向远端终端设备的发送方向上,每条TCP连接的最后一个TCP数据包有丢失并造成备份板不能正常运行的风险。解决这一问题的方式为:在备份虚拟连接模块与备份H323协议栈模块建立新的TCP连接后,可以由备份虚拟连接模块判断主板发送给远端终端设备的最后一个TCP数据包是否丢失,如果丢失,则备份虚拟连接模块向远端终端设备重新发送该最后一个TCP数据包;当然,如果判断不出最后一个TCP数据包是否丢失,也可以直接重发该TCP数据包,因为远端终端设备的TCP协议栈能够正确处理重复收到的TCP数据包,所以这里直接重发TCP数据包不会对远端终端设备造成不良影响。另外,根据最后一个数据包的类型,可能处理方法有所不同,比如最后一个包是roundTripDelayRequest信令时,可以简单的直接丢弃,如果是roundTripDelayResponse信令时,就需要重传。
(6)当前主板召开了一个会议,必须将针对这次会议或该会议其中一个呼叫的应用层业务信息备份到备份板上,才能在主备倒换时对这次会议进行主备倒换;但是,主备倒换有可能会发生在这个备份过程中,所以需要处理备份不完整时倒换这种特殊情况。解决方式可以为:主板的第一应用程序备份单元以会议或呼叫为单位,保存主板当前组织的视频会议的应用层业务信息,将该应用层业务信息发送至备份板的第二应用程序备份单元;在某个会议或呼叫的所有应用层业务信息正确传递到备份板之前,如果当前主控板出现故障(或被拔掉),则认为针对这次会议或呼叫的备份操作失败,在发生主备倒换时,备份板将不会对这次会议或呼叫进行备份恢复。
以下以H323主动呼叫过程为例,详细介绍TCP连接的主备倒换和H323连接的主备倒换。参见图5,图5为本发明实施例TCP连接的主备倒换和H323连接的主备倒换阶段的数据包交互流程图。
在图5所示的主备倒换之前,主板的主H323协议栈模块与终端设备已经建立过旧的TCP连接和H323连接,在建立旧的TCP连接和H323连接的过程中,备份板的虚拟备份连接模块已经备份了旧的TCP连接的相关信息和H323连接的相关信息。
图5所示的过程中,建立新的H323连接的过程包括建立H225连接和建立H245连接两个阶段,其中,建立H225连接和建立H245连接之前分别要建立一个TCP连接。图5中,步骤501~步骤503为建立新的TCP连接的过程;步骤504~步骤506为在该TCP连接的基础上建立新的H225连接的过程;步骤507~步骤509为建立另一个新的TCP连接的过程;步骤510~步骤521为在该新的TCP连接的基础上建立新的H245连接的过程,其中包括终端能力设置和主从设置等过程;新的H245连接建立完成之后,新的H323连接即建立成功,之后,通信双方周期性的发送往返延迟请求(RTDR,Round Trip Delay Request)信令和往返延迟应答(RTDR,Round Trip Delay Response)信令,维护已经建立成功的H323连接,具体如步骤522~步骤525。
由图5的流程可见,备份板中的备份虚拟连接模块维护一个内核线程,专门用于向备份板中的备份H323协议栈模块发送TCP数据包和H323信令;在与备份H323协议栈模块建立新的TCP连接和新的H323连接的过程中,发送的TCP数据包和H323信令都是根据之前保存的TCP连接的相关信息和H323连接的相关信息构造的,以保证新建立的TCP连接和H323连接与主备倒换之前主板与终端设备建立的旧的TCP连接和H323连接属性相同。另外,在备份虚拟连接模块和备份H323协议栈模块建立新的H323连接时,备份板中的第二应用程序模块在备份H323协议栈内部修改相关数据结构,使得该新H323连接的属性与主板和远端终端设备建立的旧H323连接的属性一致;具体地,如图5中所示的步骤501之前修改H225通道的TCP连接的本地端口,步骤504之前修改建立(setup)信令的呼叫相关值(Call Reference Value)和会议标识符(Conference ID)/呼叫标识符(Call Identifier),步骤507之前修改H245通道TCP连接的本地端口,步骤512之前修改主从决定(Master Slave Determination)信令的随机数,步骤518之前修改打开逻辑通道(Open Logical Channel,OLC)信令的会话标识(Session ID)和实时传输协议(RTP)端口,步骤520之前修改OLCAck信令的Session ID和RTP/实时传输控制协议(RTCP)端口,步骤522之前修改往返延迟请求(Round Trip Delay Request)信令的序列号(sequenceNumber)等。
本发明实施例还提出一种TCP连接主备倒换的装置,包括主板和备份板,其中,主板包括主应用层软件模块、主网络协议栈模块和主虚拟连接模块,所述主网络协议栈模块包括主钩子函数单元;备份板包括备份应用层软件模块、备份网络协议栈模块和备份虚拟连接模块,所述备份网络协议栈模块包括备份钩子函数单元;
主钩子函数单元,用于在主板正常工作时,获取经由主网络协议栈模块收发的TCP数据包,将所述TCP数据包发送至主虚拟连接模块;
主虚拟连接模块,用于分析所述TCP数据包,获取所述主板与终端设备之间的旧的TCP连接相关信息,将所述旧的TCP连接相关信息发送至备份虚拟连接模块;
备份虚拟连接模块,用于在主板出现故障时,根据接收的旧的TCP连接相关信息,代替所述终端设备与所述备份应用层软件模块建立新的TCP连接。
本发明实施例还提出一种H323连接主备倒换的多媒体装置,包括主板和备份板,其中,主板包括主H323协议栈模块、主网络协议栈模块和主虚拟连接模块,所述主网络协议栈模块包括主钩子函数单元;备份板包括备份H323协议栈模块、备份网络协议栈模块和备份虚拟连接模块,所述备份网络协议栈模块包括备份钩子函数单元;
主钩子函数单元,用于在所述主板正常工作时,获取经由主网络协议栈模块收发的TCP数据包,将所述TCP数据包发送至主虚拟连接模块;
主虚拟连接模块,用于分析所述TCP数据包,获取所述主板与终端设备之间旧的TCP连接相关信息和旧的H323连接相关信息,将所述旧的TCP连接相关信息和旧的H323连接相关信息发送至备份虚拟连接模块;
备份虚拟连接模块,用于在所述主板出现故障时,根据接收到的旧的TCP连接相关信息,代替所述终端设备与备份H323协议栈模块建立新的TCP连接;根据接收到的旧的H323连接相关信息,代替所述终端设备与所述备份H323协议栈模块建立基于新的TCP连接的新的H323连接。
对于上述H323连接主备倒换的多媒体装置,其中的主板可以进一步包括主应用程序模块,所述主应用程序模块包括第一应用程序备份单元;备份板可以进一步包括备份应用程序模块,所述备份应用程序模块包括第二应用程序备份单元;
第一应用程序备份单元,用于在主板正常工作时,保存主板当前组织的视频会议的应用层业务信息,将应用层业务信息发送至所述第二应用程序备份单元;
备份应用程序模块,用于在备份虚拟连接模块与备份H323协议栈模块建立新的H323连接之后,根据第二应用程序备份单元接收的应用层业务信息组织终端设备进行视频会议。
上述第二应用程序备份单元,还可以用于在备份虚拟连接模块与备份H323协议栈模块建立新的H323连接时,在备份H323协议栈模块内部修改数据结构,使所述新的H323连接的属性与旧的H323连接的属性一致。
上述第一应用程序备份单元以会议或呼叫为单位,保存所述主板当前组织的视频会议的应用层业务信息;
备份应用程序模块,可以用于当第二应用程序备份单元接收到以会议或呼叫为单位的应用层业务信息时,组织所述终端设备进行视频会议。
对于上述TCP连接主备倒换的装置或H323连接主备倒换的多媒体装置,主板可以进一步包括主应用程序模块,所述主应用程序模块包括第一应用程序备份单元;备份板可以进一步包括备份应用程序模块,所述备份应用程序模块包括第二应用程序备份单元;
第二应用程序备份单元,可以用于在主板出现故障时,设置/proc/sys/net/ipv4目录下的tcp_timestamps变量,使新的TCP连接的TCP数据包中不包含timestamps选项。
上述备份钩子函数单元,可以用于对建立新的TCP连接时收发的TCP数据包中的SEQ和/或ACK字段分别进行修改,使新的TCP连接与旧的TCP连接中的SEQ和/或ACK字段分别保持一致。
上述备份虚拟连接模块还可以用于,在建立新的TCP连接之后,判断主板正常工作时发送给终端设备的最后一个TCP数据包是否丢失,如果丢失,则向终端设备重新发送该最后一个TCP数据包。
可见,本发明提出的TCP连接主备倒换方法和装置、以及基于TCP连接主备倒换的H323连接主备倒换的方法和多媒体装置,在备份板中设置备份虚拟连接模块,其中备份了主板与终端设备的旧的TCP连接的相关信息,在主板发生故障时,备份虚拟连接模块代替终端设备与备份板中的备份应用层软件模块建立虚拟的新的TCP连接,这种基于虚拟连接的TCP主备倒换方案可以实现应用层TCP连接的无缝倒换,使该TCP连接的终端设备程序完全看不到TCP连接的中断,不会对终端设备TCP程序的运行产生任何影响。应用到视频会议领域中,多媒体装置可以具体为MCU,应用层软件模块可以具体为H323协议栈模块,在TCP连接主备倒换的基础上实现的H323连接的主备倒换方案,可以实现H323连接的主备倒换过程对会议终端的完全透明,在倒换过程中,不会出现异常的会议中止和音视频码流停顿的现象。使用本发明方案实现主备倒换的H323会议系统,具有良好的兼容性,可以在接入任意厂商终端的会议召开过程中进行主备倒换操作。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (16)

1、一种TCP连接主备倒换的方法,其特征在于,该方法应用于包括主板和备份板的装置中,其中,主板包括主应用层软件模块、主网络协议栈模块和主虚拟连接模块,所述主网络协议栈模块包括主钩子函数单元;备份板包括备份应用层软件模块、备份网络协议栈模块和备份虚拟连接模块,所述备份网络协议栈模块包括备份钩子函数单元;所述方法包括:
主板正常工作时,主钩子函数单元获取经由主网络协议栈模块收发的TCP数据包,将所述TCP数据包发送至主虚拟连接模块;
主虚拟连接模块分析所述TCP数据包,获取所述主板与终端设备之间的旧的TCP连接相关信息,将所述旧的TCP连接相关信息发送至备份虚拟连接模块;
主板出现故障时,所述备份虚拟连接模块根据接收的旧的TCP连接相关信息,代替所述终端设备与所述备份应用层软件模块建立新的TCP连接。
2、一种基于TCP连接主备倒换的H323连接主备倒换的方法,其特征在于,该方法应用于包括主板和备份板的多媒体装置中,其中,主板包括主H323协议栈模块、主网络协议栈模块和主虚拟连接模块,所述主网络协议栈模块包括主钩子函数单元;备份板包括备份H323协议栈模块、备份网络协议栈模块和备份虚拟连接模块,所述备份网络协议栈模块包括备份钩子函数单元;所述方法包括:
主板正常工作时,主钩子函数单元获取经由主网络协议栈模块收发的TCP数据包,将所述TCP数据包发送至主虚拟连接模块;
主虚拟连接模块分析所述TCP数据包,获取所述主板与终端设备之间旧的TCP连接相关信息和旧的H323连接相关信息,将所述旧的TCP连接相关信息和旧的H323连接相关信息发送至备份虚拟连接模块;
主板出现故障时,所述备份虚拟连接模块根据接收到的旧的TCP连接相关信息,代替所述终端设备与备份H323协议栈模块建立新的TCP连接;根据接收到的旧的H323连接相关信息,代替所述终端设备与所述备份H323协议栈模块建立基于新的TCP连接的新的H323连接。
3、根据权利要求2所述的方法,其特征在于,所述主板进一步包括主应用程序模块,所述主应用程序模块包括第一应用程序备份单元;所述备份板进一步包括备份应用程序模块,所述备份应用程序模块包括第二应用程序备份单元;
当主板正常工作时,所述第一应用程序备份单元保存所述主板当前组织的视频会议的应用层业务信息,将所述应用层业务信息发送至所述第二应用程序备份单元;
所述备份虚拟连接模块与备份H323协议栈模块建立新的H323连接之后,进一步包括:备份应用程序模块根据所述第二应用程序备份单元接收的应用层业务信息,组织所述终端设备进行视频会议。
4、根据权利要求3所述的方法,其特征在于,所述方法进一步包括:所述备份虚拟连接模块与备份H323协议栈模块建立新的H323连接时,第二应用程序备份单元在备份H323协议栈模块内部修改数据结构,使所述新的H323连接的属性与旧的H323连接的属性一致。
5、根据权利要求3所述的方法,其特征在于,所述第一应用程序备份单元以会议或呼叫为单位,保存所述主板当前组织的视频会议的应用层业务信息,将所述应用层业务信息发送至所述第二应用程序备份单元;
所述备份虚拟连接模块与备份H323协议栈模块建立新的H323连接之后,进一步包括:当所述第二应用程序备份单元接收到以会议或呼叫为单位的应用层业务信息时,备份应用程序模块组织所述终端设备进行视频会议。
6、根据权利要求1或2所述的方法,其特征在于,所述主板进一步包括主应用程序模块,所述主应用程序模块包括第一应用程序备份单元;所述备份板进一步包括备份应用程序模块,所述备份应用程序模块包括第二应用程序备份单元,当主板出现故障时,所述第二应用程序备份单元设置/proc/sys/net/ipv4目录下的tcp_timestamps变量,使新的TCP连接的TCP数据包中不包含timestamps选项。
7、根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述备份钩子函数单元对所述建立新的TCP连接时收发的TCP数据包中的序列SEQ和/或确认ACK字段分别进行修改,使所述新的TCP连接与旧的TCP连接中的SEQ和/或ACK字段分别保持一致。
8、根据权利要求1或2所述的方法,其特征在于,建立新的TCP连接之后进一步包括:备份虚拟连接模块判断所述主板正常工作时发送给终端设备的最后一个TCP数据包是否丢失,如果丢失,则备份虚拟连接模块向终端设备重新发送该最后一个TCP数据包。
9、一种TCP连接主备倒换的装置,其特征在于,该装置包括主板和备份板,其中,主板包括主应用层软件模块、主网络协议栈模块和主虚拟连接模块,所述主网络协议栈模块包括主钩子函数单元;备份板包括备份应用层软件模块、备份网络协议栈模块和备份虚拟连接模块,所述备份网络协议栈模块包括备份钩子函数单元;
所述主钩子函数单元,用于在所述主板正常工作时,获取经由主网络协议栈模块收发的TCP数据包,将所述TCP数据包发送至主虚拟连接模块;
所述主虚拟连接模块,用于分析所述TCP数据包,获取所述主板与终端设备之间的旧的TCP连接相关信息,将所述旧的TCP连接相关信息发送至备份虚拟连接模块;
所述备份虚拟连接模块,用于在所述主板出现故障时,根据接收的旧的TCP连接相关信息,代替所述终端设备与所述备份应用层软件模块建立新的TCP连接。
10、一种H323连接主备倒换的多媒体装置,其特征在于,该多媒体装置包括主板和备份板,其中,主板包括主H323协议栈模块、主网络协议栈模块和主虚拟连接模块,所述主网络协议栈模块包括主钩子函数单元;备份板包括备份H323协议栈模块、备份网络协议栈模块和备份虚拟连接模块,所述备份网络协议栈模块包括备份钩子函数单元;
所述主钩子函数单元,用于在所述主板正常工作时,获取经由主网络协议栈模块收发的TCP数据包,将所述TCP数据包发送至主虚拟连接模块;
所述主虚拟连接模块,用于分析所述TCP数据包,获取所述主板与终端设备之间旧的TCP连接相关信息和旧的H323连接相关信息,将所述旧的TCP连接相关信息和旧的H323连接相关信息发送至备份虚拟连接模块;
所述备份虚拟连接模块,用于在所述主板出现故障时,根据接收到的旧的TCP连接相关信息,代替所述终端设备与备份H323协议栈模块建立新的TCP连接;根据接收到的旧的H323连接相关信息,代替所述终端设备与所述备份H323协议栈模块建立基于新的TCP连接的新的H323连接。
11、根据权利要求10所述的多媒体装置,其特征在于,所述主板进一步包括主应用程序模块,所述主应用程序模块包括第一应用程序备份单元;所述备份板进一步包括备份应用程序模块,所述备份应用程序模块包括第二应用程序备份单元;
所述第一应用程序备份单元,用于在主板正常工作时,保存所述主板当前组织的视频会议的应用层业务信息,将所述应用层业务信息发送至所述第二应用程序备份单元;
所述备份应用程序模块,用于在备份虚拟连接模块与备份H323协议栈模块建立新的H323连接之后,根据所述第二应用程序备份单元接收的应用层业务信息组织所述终端设备进行视频会议。
12、根据权利要求11所述的多媒体装置,其特征在于,所述第二应用程序备份单元,还用于在备份虚拟连接模块与备份H323协议栈模块建立新的H323连接时,在备份H323协议栈模块内部修改数据结构,使所述新的H323连接的属性与旧的H323连接的属性一致。
13、根据权利要求11所述的多媒体装置,其特征在于,所述第一应用程序备份单元以会议或呼叫为单位,保存所述主板当前组织的视频会议的应用层业务信息;
所述备份应用程序模块,用于当第二应用程序备份单元接收到以会议或呼叫为单位的应用层业务信息时,组织所述终端设备进行视频会议。
14、根据权利要求9或10所述的装置,其特征在于,所述主板进一步包括主应用程序模块,所述主应用程序模块包括第一应用程序备份单元;所述备份板进一步包括备份应用程序模块,所述备份应用程序模块包括第二应用程序备份单元;
所述第二应用程序备份单元,用于在主板出现故障时,设置/proc/sys/net/ipv4目录下的tcp_timestamps变量,使新的TCP连接的TCP数据包中不包含timestamps选项。
15、根据权利要求9或10所述的装置,其特征在于,所述备份钩子函数单元,用于对建立新的TCP连接时收发的TCP数据包中的SEQ和/或ACK字段分别进行修改,使所述新的TCP连接与旧的TCP连接中的SEQ和/或ACK字段分别保持一致。
16、根据权利要求9或10所述的多媒体装置,其特征在于,所述备份虚拟连接模块还用于,在建立新的TCP连接之后,判断所述主板正常工作时发送给终端设备的最后一个TCP数据包是否丢失,如果丢失,则向终端设备重新发送该最后一个TCP数据包。
CN2009100870278A 2009-06-15 2009-06-15 Tcp连接主备倒换和h323连接主备倒换的方法及装置 Active CN101577731B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100870278A CN101577731B (zh) 2009-06-15 2009-06-15 Tcp连接主备倒换和h323连接主备倒换的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100870278A CN101577731B (zh) 2009-06-15 2009-06-15 Tcp连接主备倒换和h323连接主备倒换的方法及装置

Publications (2)

Publication Number Publication Date
CN101577731A true CN101577731A (zh) 2009-11-11
CN101577731B CN101577731B (zh) 2011-12-21

Family

ID=41272517

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100870278A Active CN101577731B (zh) 2009-06-15 2009-06-15 Tcp连接主备倒换和h323连接主备倒换的方法及装置

Country Status (1)

Country Link
CN (1) CN101577731B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102510408A (zh) * 2011-11-30 2012-06-20 武汉烽火网络有限责任公司 实现tcp应用主备热倒换的方法
CN103023942A (zh) * 2011-09-27 2013-04-03 奇智软件(北京)有限公司 一种服务器负载均衡方法、装置及系统
CN104580215A (zh) * 2015-01-09 2015-04-29 烽火通信科技股份有限公司 一种tcp连接热备份的实现方法
WO2015070615A1 (zh) * 2013-11-14 2015-05-21 中兴通讯股份有限公司 一种视频会议恢复方法及系统
US9049230B2 (en) 2011-01-06 2015-06-02 Huawei Technologies Co., Ltd. Backup method and backup device for TCP connection
CN104780065A (zh) * 2015-04-01 2015-07-15 福建星网锐捷网络有限公司 一种tcp热备份方法和系统
CN105119747A (zh) * 2015-08-27 2015-12-02 福建三元达通讯股份有限公司 一种LTE Femto网关的SCTP协议栈的热备份方法
CN107800695A (zh) * 2017-10-17 2018-03-13 郑州云海信息技术有限公司 基于Samba协议的文件访问方法、装置、系统
CN113079357A (zh) * 2021-04-08 2021-07-06 天地伟业技术有限公司 一种实现音视频交互的编码器及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6018360A (en) * 1998-09-09 2000-01-25 Motorola, Inc. Method of switching a call to a multipoint conference call in a H.323 communication compliant environment
CN1109416C (zh) * 2000-04-25 2003-05-21 华为技术有限公司 交换机的主备倒换方法及其实现装置
CN1199366C (zh) * 2002-08-28 2005-04-27 华为技术有限公司 一种实现主控板热备份的方法
CN100502384C (zh) * 2003-07-02 2009-06-17 西安大唐电信有限公司 一种主备用双机进行tcp连接倒换的方法
CN101132347A (zh) * 2006-08-24 2008-02-27 华为技术有限公司 一种实现tcp连接备份的系统及方法
CN101163029B (zh) * 2007-11-21 2010-06-16 杭州华三通信技术有限公司 多点控制单元主备倒换的方法和设备

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9049230B2 (en) 2011-01-06 2015-06-02 Huawei Technologies Co., Ltd. Backup method and backup device for TCP connection
CN103023942A (zh) * 2011-09-27 2013-04-03 奇智软件(北京)有限公司 一种服务器负载均衡方法、装置及系统
CN102510408A (zh) * 2011-11-30 2012-06-20 武汉烽火网络有限责任公司 实现tcp应用主备热倒换的方法
CN102510408B (zh) * 2011-11-30 2015-01-14 武汉烽火网络有限责任公司 实现tcp应用主备热倒换的方法
WO2015070615A1 (zh) * 2013-11-14 2015-05-21 中兴通讯股份有限公司 一种视频会议恢复方法及系统
CN104580215A (zh) * 2015-01-09 2015-04-29 烽火通信科技股份有限公司 一种tcp连接热备份的实现方法
CN104780065A (zh) * 2015-04-01 2015-07-15 福建星网锐捷网络有限公司 一种tcp热备份方法和系统
CN105119747A (zh) * 2015-08-27 2015-12-02 福建三元达通讯股份有限公司 一种LTE Femto网关的SCTP协议栈的热备份方法
CN105119747B (zh) * 2015-08-27 2018-12-11 福建三元达科技有限公司 一种LTE Femto网关的SCTP协议栈的热备份方法
CN107800695A (zh) * 2017-10-17 2018-03-13 郑州云海信息技术有限公司 基于Samba协议的文件访问方法、装置、系统
CN113079357A (zh) * 2021-04-08 2021-07-06 天地伟业技术有限公司 一种实现音视频交互的编码器及系统

Also Published As

Publication number Publication date
CN101577731B (zh) 2011-12-21

Similar Documents

Publication Publication Date Title
CN101577731B (zh) Tcp连接主备倒换和h323连接主备倒换的方法及装置
CN100553322C (zh) 视讯会议的备份方法及装置
CN101136900B (zh) 一种面向服务的快速透明故障转移装置及实现方法
CN102510408B (zh) 实现tcp应用主备热倒换的方法
CN102316301B (zh) 会议切换的方法、系统及设备
US7835346B2 (en) Methods, systems, and computer program products for providing transcoder free operation (TrFO) and interworking between unlicensed mobile access (UMA) and universal mobile telecommunications system (UMTS) call legs using a media gateway
CN100518103C (zh) 一种利用sip软终端实现呼叫中心系统监听的方法及其系统
US20080232356A1 (en) Internet protocol compliant private branch electronic exchange and a method for redundantly configuring terminal interfaces
CN101163029B (zh) 多点控制单元主备倒换的方法和设备
CN101651706A (zh) 一种数据发送和接收方法以及系统和装置
CN102142978B (zh) 数据备份传输处理方法、装置及系统
CN102938833A (zh) 视频会议中的方法及装置、多点控制设备及视频会议系统
CN103795518A (zh) 一种设备间端口模式同步方法、设备及系统
CN101753339A (zh) 一种实现多点控制单元会议备份功能的方法及系统
CN102055605A (zh) 一种应用于aaa服务器的容灾系统及方法
CN100366080C (zh) 在会议电视系统中实现单画面和多画面切换的方法
CN102223371B (zh) 多媒体会议管理方法及设备
US20080019264A1 (en) System and method for maintaining state synchronization in redundant IMA group protection switching
CN102480366A (zh) 一种关于会议系统软件的双机热备份运行方法
CN102255716A (zh) 一种对协议状态的设备间备份的方法及系统
CN110716827B (zh) 适用于分布式系统的热备份方法及分布式系统
CA2590279A1 (en) Server apparatus
CN201467148U (zh) 一种混合调度装置和系统
CN101179691B (zh) 一种扩展会议电视系统中多点控制单元容量的方法
CN105530452A (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
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: Huasan Communication Technology Co., Ltd.

CP03 Change of name, title or address