首页> 中国专利> TCP连接主备倒换和H323连接主备倒换的方法及装置

TCP连接主备倒换和H323连接主备倒换的方法及装置

摘要

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

著录项

  • 公开/公告号CN101577731A

    专利类型发明专利

  • 公开/公告日2009-11-11

    原文格式PDF

  • 申请/专利权人 杭州华三通信技术有限公司;

    申请/专利号CN200910087027.8

  • 发明设计人 汪辉;余恒乐;

    申请日2009-06-15

  • 分类号H04L29/08(20060101);H04L12/18(20060101);H04N7/15(20060101);

  • 代理机构11018 北京德琦知识产权代理有限公司;

  • 代理人谢安昆;宋志强

  • 地址 310053 浙江省杭州市高新技术产业开发区之江科技工业园六和路310号华为杭州生产基地

  • 入库时间 2023-12-17 22:57:19

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-06-06

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

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

  • 2011-12-21

    授权

    授权

  • 2010-02-03

    实质审查的生效

    实质审查的生效

  • 2009-11-11

    公开

    公开

说明书

技术领域

本发明涉及视频会议技术领域,特别涉及一种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会议系统,具有良好的兼容性,可以在接入任意厂商终端的会议召开过程中进行主备倒换操作。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号