專利名稱:Tcp連接主備倒換和h323連接主備倒換的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻會議技術(shù)領(lǐng)域,特別涉及一種TCP連接主備倒換和基 于TCP連接主備倒換的H323連接主備倒換的方法及裝置。
背景技術(shù):
視頻會議系統(tǒng)通過網(wǎng)絡(luò)通信技術(shù)實現(xiàn)虛擬會議,將物理上分散的用戶聚集 在一起,通過聲音、圖像等多種方式交流信息,開展協(xié)同工作。視頻會議系統(tǒng) 在很大程度上縮短了空間距離,方便協(xié)作成員之間實時、直觀的交流。典型的 視頻會議系統(tǒng)如圖l所示,其中包括多個終端設(shè)備、傳輸網(wǎng)絡(luò)和多點控制單元 (MCU)等幾個部分。
在圖1所示的系統(tǒng)中,當(dāng)MCU召開視頻會議時,終端設(shè)備與MCU建立連 接,加入到視頻會議中。在視頻會議中,MCU接收終端設(shè)備發(fā)送來的視音頻媒 體碼流,根據(jù)會議控制的需要,將碼流進(jìn)行處理后,再給各終端設(shè)備發(fā)送對應(yīng) 的-見音頻碼流。通過該操作,就可以組織各終端設(shè)備之間互相觀看和交流,進(jìn) 行正常的會議。
目前,視頻會議系統(tǒng)中終端設(shè)備與MCU之間的連接一般是基于H323協(xié)議 棧,H323協(xié)議棧主要包括H225協(xié)議和H245協(xié)議;H323連接又是基于TCP 連接進(jìn)行的,每個H323連接包括一條基于TCP連接的H225連接和一條基于 TCP連接的H245連接?;贖323的視頻會議系統(tǒng)中,建立H323連接的過程 如下首先,通信雙方建立一條TCP連接;之后,通信雙方在該TCP連接的 基礎(chǔ)上交換H225信令,建立H225連接;然后,通信雙方建立另 一條TCP連 接,在該TCP連接的基礎(chǔ)上交換H245信令,建立H245連接,在該H245連接 上進(jìn)行編解碼能力的協(xié)商等操作。MCU與^L頻會議系統(tǒng)中的終端設(shè)備分別建立H323連接后,MCU就可以 組織系統(tǒng)中的終端設(shè)備進(jìn)行視頻會議。
為了提供不間斷的可靠服務(wù),MCU —般會使用主備倒換技術(shù)。如圖2所示, 圖2為現(xiàn)有技術(shù)中提供主備倒換功能的MCU的結(jié)構(gòu)示意圖。在該MCU中,包 括主板和備份板,在主板發(fā)生故障的情況下,備份板會主動接替主板的工作, 使該MCU對外提供持續(xù)的服務(wù)。
目前的主備倒換MCU中,主板正常工作時,會將應(yīng)用層的業(yè)務(wù)信息實時 備份到備份板上。主板和備份板各自通過某種方式(如心跳方式)檢測對方工 作狀態(tài)。如果檢測到主板失效,備份板則通過之前實時備份的會議信息重新召 集會議。
現(xiàn)有技術(shù)的主備倒換過程僅在應(yīng)用層上備份了應(yīng)用層的業(yè)務(wù)信息,簡單地 利用備份的應(yīng)用層業(yè)務(wù)信息重新召開會議。這種情況會導(dǎo)致所有與MCU已經(jīng) 建立TCP連接終端設(shè)備都要斷開連接、之后再重新建立TCP連接,這種先斷 開再重連的過程會使終端用戶會感知到故障的發(fā)生,降低終端用戶的使用體驗。 如何保證TCP連接相對用戶來說不斷開,如何保證基于該TCP連接的H323連 接不斷開就成了本發(fā)明需解決的問題。
發(fā)明內(nèi)容
本發(fā)明實施例提出 一種TCP連接主備倒換的方法及裝置,實現(xiàn)TCP連 接主備倒換過程對終端設(shè)備的完全透明。
本發(fā)明實施例還提出 一種基于TCP連接主備倒換的H323連接主備倒換 的方法和使用該方法的多媒體裝置,用于實現(xiàn)TCP連接主備倒換及H323連 接主備倒換過程對終端設(shè)備的完全透明。
本發(fā)明實施例的技術(shù)方案是這樣實現(xiàn)的
一種TCP連接主備倒換的方法,該方法應(yīng)用于包括主板和備份板的裝置中, 其中,主板包括主應(yīng)用層軟件模塊、主網(wǎng)絡(luò)協(xié)議棧模塊和主虛擬連接模塊,所 述主網(wǎng)絡(luò)協(xié)議棧模塊包括主鉤子函數(shù)單元;備份板包括備份應(yīng)用層軟件模塊、備份網(wǎng)絡(luò)協(xié)議棧模塊和備份虛擬連接模塊,所述備份網(wǎng)絡(luò)協(xié)議棧模塊包括備份
鉤子函數(shù)單元;所述方法包括
主板正常工作時,主鉤子函數(shù)單元獲取經(jīng)由主網(wǎng)絡(luò)協(xié)議棧模塊收發(fā)的TCP 數(shù)據(jù)包,將所述TCP數(shù)據(jù)包發(fā)送至主虛擬連接模塊;
主虛擬連接模塊分析所述TCP數(shù)據(jù)包,獲取所述主板與終端設(shè)備之間的舊 的TCP連接相關(guān)信息,將所述舊的TCP連接相關(guān)信息發(fā)送至備份虛擬連接模 塊;
主板出現(xiàn)故障時,所述備份虛擬連接模塊根據(jù)接收的舊的TCP連接相關(guān)信 息,代替所述終端設(shè)備與所述備份應(yīng)用層軟件模塊建立新的TCP連接。
一種基于TCP連接主備倒換的H323連接主備倒換的方法,該方法應(yīng)用于 包括主板和備份板的多媒體裝置中,其中,主板包括主H323協(xié)議棧模塊、主 網(wǎng)絡(luò)協(xié)議棧模塊和主虛擬連接模塊,所述主網(wǎng)絡(luò)協(xié)議棧模塊包括主鉤子函數(shù)單 元;備份板包括備份H323協(xié)議棧模塊、備份網(wǎng)絡(luò)協(xié)議棧模塊和備份虛擬連接 模塊,所述備份網(wǎng)絡(luò)協(xié)議棧模塊包括備份鉤子函數(shù)單元;所述方法包括
主板正常工作時,主鉤子函數(shù)單元獲取經(jīng)由主網(wǎng)絡(luò)協(xié)議棧模塊收發(fā)的TCP 數(shù)據(jù)包,將所述TCP數(shù)據(jù)包發(fā)送至主虛擬連接模塊;
主虛擬連接模塊分析所述TCP數(shù)據(jù)包,獲取所述主板與終端設(shè)備之間舊的 TCP連接相關(guān)信息和舊的H323連接相關(guān)信息,將所述舊的TCP連接相關(guān)信息 和舊的H323連接相關(guān)信息發(fā)送至備份虛擬連接模塊;
主板出現(xiàn)故障時,所述備份虛擬連接模塊根據(jù)接收到的舊的TCP連接相關(guān) 信息,代替所述終端設(shè)備與備份H323協(xié)議棧模塊建立新的TCP連接;根據(jù)接 收到的舊的H323連接相關(guān)信息,代替所述終端設(shè)備與所述備份H323協(xié)議棧模 塊建立基于新的TCP連接的新的H323連接。
一種TCP連接主備倒換的裝置,該裝置包括主板和備份板,其中,主板包 括主應(yīng)用層軟件模塊、主網(wǎng)絡(luò)協(xié)議棧模塊和主虛擬連接模塊,所述主網(wǎng)絡(luò)協(xié)議 棧模塊包括主鉤子函數(shù)單元;備份板包括備份應(yīng)用層軟件模塊、備份網(wǎng)絡(luò)協(xié)議 棧模塊和備份虛擬連接模塊,所述備份網(wǎng)絡(luò)協(xié)議棧模塊包括備份鉤子函數(shù)單元;所述主鉤子函數(shù)單元,用于在所述主板正常工作時,獲取經(jīng)由主網(wǎng)絡(luò)協(xié)議
棧模塊收發(fā)的TCP數(shù)據(jù)包,將所述TCP數(shù)據(jù)包發(fā)送至主虛擬連接模塊;
所述主虛擬連接模塊,用于分析所述TCP數(shù)據(jù)包,獲取所述主板與終端設(shè) 備之間的舊的TCP連接相關(guān)信息,將所述舊的TCP連接相關(guān)信息發(fā)送至備份 虛擬連接模塊;
所述備份虛擬連接模塊,用于在所述主板出現(xiàn)故障時,根據(jù)接收的舊的TCP 連接相關(guān)信息,代替所述終端設(shè)備與所述備份應(yīng)用層軟件模塊建立新的TCP連接。
一種H323連接主備倒換的多媒體裝置,該多媒體裝置包括主板和備份板, 其中,主板包括主H323協(xié)議棧模塊、主網(wǎng)絡(luò)協(xié)議棧模塊和主虛擬連接模塊, 所述主網(wǎng)絡(luò)協(xié)議棧模塊包括主鉤子函數(shù)單元;備份板包括備份H323協(xié)議棧模 塊、備份網(wǎng)絡(luò)協(xié)議棧模塊和備份虛擬連接模塊,所述備份網(wǎng)絡(luò)協(xié)議棧模塊包括 備份鉤子函數(shù)單元;
所述主鉤子函數(shù)單元,用于在所述主板正常工作時,獲取經(jīng)由主網(wǎng)絡(luò)協(xié)議 棧模塊收發(fā)的TCP數(shù)據(jù)包,將所述TCP數(shù)據(jù)包發(fā)送至主虛擬連接模塊;
所述主虛擬連接模塊,用于分析所述TCP數(shù)據(jù)包,獲取所述主板與終端設(shè) 備之間舊的TCP連接相關(guān)信息和舊的H323連接相關(guān)信息,將所述舊的TCP連 接相關(guān)信息和舊的H323連接相關(guān)信息發(fā)送至備份虛擬連接模塊;
所述備份虛擬連接模塊,用于在所述主板出現(xiàn)故障時,根據(jù)接收到的舊的 TCP連接相關(guān)信息,代替所述終端設(shè)備與備份H323協(xié)議棧模塊建立新的TCP 連接;根據(jù)接收到的舊的H323連接相關(guān)信息,代替所述終端設(shè)備與所述備份 H323協(xié)議棧模塊建立基于新的TCP連接的新的H323連接。
可見,本發(fā)明提出的TCP連接主備倒換方法和裝置、以及基于TCP連接
主備倒換的H323連接主備倒換的方法和多媒體裝置,在備份板中設(shè)置備份虛
擬連接模塊,其中備份了主板與終端設(shè)備的TCP連接的相關(guān)信息,在主板發(fā)生
故障時,備份虛擬連接模塊代替終端設(shè)備與備份板中的備份應(yīng)用層軟件模塊建
立虛擬的TCP連接,這種基于虛擬連接的TCP連接主備倒換方案可以實現(xiàn)對終端設(shè)備的完全透明。進(jìn)一步地,在備份虛擬連接模塊上可以備份主板與終端
設(shè)備的H323連接的相關(guān)信息,在TCP連接主備倒換的基礎(chǔ)上實現(xiàn)H323連接 的主備倒換,并且H323連接主備倒換的過程對終端設(shè)備完全透明。
圖1現(xiàn)有技術(shù)中典型的視頻會議系統(tǒng)結(jié)構(gòu)示意圖;-圖2為現(xiàn)有技術(shù)中提供主備倒換功能的MCU的結(jié)構(gòu)示意圖; 圖3為本發(fā)明裝置實施例的結(jié)構(gòu)示意圖; 圖4為本發(fā)明實施例TCP連接主備倒換的實現(xiàn)流程圖; 圖5為本發(fā)明實施例TCP連接的主備倒換和H323連接的主備倒換階段 的數(shù)據(jù)包交互流程圖。
具體實施例方式
本發(fā)明的提出的TCP連接主備方法應(yīng)用于如圖3所示的裝置中,如圖3所 示,圖3為本發(fā)明裝置實施例的結(jié)構(gòu)示意圖,包括主板310和備份板320;
其中,
主板310包括主應(yīng)用層軟件模塊312、主網(wǎng)絡(luò)協(xié)議棧模塊313和主虛擬連 接模塊314;其中,主網(wǎng)絡(luò)協(xié)議棧模塊313包括主鉤子函數(shù)單元313';
備份板包括備份應(yīng)用層軟件模塊322、備份網(wǎng)絡(luò)協(xié)議棧模塊323和備份虛 擬連接模塊324;其中備份網(wǎng)絡(luò)協(xié)議棧模塊323包括備份鉤子函數(shù)單元323'。
本發(fā)明的實現(xiàn)原理是當(dāng)主板310正常工作時,主應(yīng)用層軟件模塊312與 終端設(shè)備之間建立TCP連接(為方便描述,將該TCP連接稱為舊的TCP連接); 由于用于建立舊的TCP連接的所有TCP數(shù)據(jù)包都一定會經(jīng)由主網(wǎng)絡(luò)協(xié)議棧模 塊313進(jìn)行收發(fā),因此,本發(fā)明可以在主網(wǎng)絡(luò)協(xié)議棧模塊313中設(shè)置主鉤子函 數(shù)單元313',用來獲取主網(wǎng)絡(luò)協(xié)議棧模塊313收發(fā)的所有TCP數(shù)據(jù)包,并傳 遞給主虛擬連接模塊314;主虛擬連接模塊314對接收的TCP數(shù)據(jù)包進(jìn)行分析, 獲取舊的TCP連接的相關(guān)信息,將舊的TCP連接的相關(guān)信息發(fā)送至備份虛擬連接模塊324;當(dāng)主板310出現(xiàn)故障時,該裝置需要進(jìn)行主備倒換,由備份板 320代替主板310進(jìn)行工作,此時,首先需要進(jìn)行虛擬的TCP連接主備倒換。 所謂"虛擬"的TCP連接主備倒換,其含義是由備份板320中的備份虛擬連 接模塊324代替終端設(shè)備與備份板320中的備份應(yīng)用層軟件模塊322建立新的 TCP連接,根據(jù)之前接收的舊的TCP連接的相關(guān)信息,使該新的TCP連接的 相關(guān)屬性與舊的TCP連接的相關(guān)屬性相同;這樣,對于備份應(yīng)用層軟件模塊322 來說,其會感知到終端設(shè)備與自身重新建立了 TCP連接,因而不會影響到后續(xù) 過程中備份板320代替主板310進(jìn)行的工作;對于遠(yuǎn)端終端設(shè)備來說,由于備 份板320能夠正常地與遠(yuǎn)端終端設(shè)備進(jìn)行通信,因此遠(yuǎn)端終端設(shè)備并不會感知 到TCP連接的中斷,不會對遠(yuǎn)端終端設(shè)備中TCP程序的運行產(chǎn)生任何影響, 實現(xiàn)了 TCP連接的無縫倒換。應(yīng)用到多媒體領(lǐng)域,上述裝置可以是多媒體裝置, 進(jìn)一步地應(yīng)用到視頻會議領(lǐng)域中,上述裝置可以具體為MCU。主應(yīng)用層軟件模 塊312可以具體為主H323協(xié)議棧模塊,備份應(yīng)用層軟件模塊322可以具體為 備份H323協(xié)議棧模塊。在上述TCP連接主備倒換的基礎(chǔ)上進(jìn)一步實現(xiàn)H323 連接的主備倒換,可以實現(xiàn)H323連接的主備倒換過程對終端設(shè)備的完全透明, 保證H323連接倒換過程中視頻會議的正常進(jìn)行。
本發(fā)明提出一種TCP連接主備倒換的方法,參見圖4,圖4為本發(fā)明實施 例TCP連接主備倒換的實現(xiàn)流程圖,在本實施例中,實現(xiàn)TCP主備倒換的裝 置具體為多媒體裝置,主應(yīng)用層軟件模塊具體為主H323協(xié)議棧模塊,備份應(yīng) 用層軟件模塊具體為備份H323協(xié)議棧模塊,該實施例包括
步驟401:多媒體裝置的主板正常工作時,主鉤子函數(shù)單元獲取經(jīng)由主網(wǎng) 絡(luò)協(xié)議棧模塊收發(fā)的TCP數(shù)據(jù)包,將所述TCP數(shù)據(jù)包發(fā)送至主虛擬連接模塊;
步驟402:主虛擬連接模塊分析所述TCP數(shù)據(jù)包,獲取所述主板與終端設(shè) 備之間的舊的TCP連接的相關(guān)信息,將所述舊的TCP連接的相關(guān)信息發(fā)送至 備份虛擬連接模塊;
步驟403:多媒體裝置的主板出現(xiàn)故障時,所述備份虛擬連接模塊根據(jù)接 收的舊的TCP連接的相關(guān)信息,代替所述終端設(shè)備與備份H323協(xié)議棧模塊建立新的TCP連接。
上述實施例是將實現(xiàn)TCP主備倒換的裝置具體為多媒體裝置,并將應(yīng)用層 軟件模塊具體為H323協(xié)議棧模塊進(jìn)行說明的,容易理解的是,上述裝置可以 是實現(xiàn)TCP主備倒換的其它裝置,應(yīng)用層軟件模塊也可以是基于TCP協(xié)議的
其它模塊。
通過上述步驟,實現(xiàn)了 TCP連接的主備倒換,本發(fā)明可以進(jìn)一步實現(xiàn)基于 TCP連接主備倒換的H323連接主備倒換,即
上述方法中,步驟402中,主虛擬連接模塊分析TCP數(shù)據(jù)包,可以進(jìn)一步 獲取主板與終端設(shè)備之間的舊的H323連接的相關(guān)信息,將所述舊的H323連接 的相關(guān)信息發(fā)送至備份虛擬連接模塊;
步驟403之后,該方法可以進(jìn)一步包括步驟404:備份虛擬連接模塊根據(jù) 接收的舊的H323連接的相關(guān)信息,代替所述終端設(shè)備與所述備份H323協(xié)議棧 模塊建立基于新的TCP連接的新的H323連接。
至此,實現(xiàn)了 H323連接的主備倒換。將上述多媒體裝置具體為MCU,在 實現(xiàn)了 H323連接的主備倒換的基礎(chǔ)上,MCU的備份板就可以代替主板組織終 端設(shè)備進(jìn)行視頻會議,具體地,主板310進(jìn)一步包括主應(yīng)用程序模塊311,該 主應(yīng)用程序模塊311包括第一應(yīng)用程序備份單元311';備份板320進(jìn)一步包 括備份應(yīng)用程序模塊321,該備份應(yīng)用程序模塊321包括第二應(yīng)用程序備份單 元321';
在上述步驟401中,MCU的主板正常工作時,可以進(jìn)一步包括第一應(yīng)用 程序備份單元保存主板當(dāng)前組織的視頻會議的應(yīng)用層業(yè)務(wù)信息,將該應(yīng)用層業(yè) 務(wù)信息發(fā)送至所述第二應(yīng)用程序備份單元;
步驟404之后,該方法可以進(jìn)一步包括步驟405:備份板的備份應(yīng)用程序 模塊根據(jù)其中的第二應(yīng)用程序備份單元所接收的應(yīng)用層業(yè)務(wù)信息,完成應(yīng)用層 業(yè)務(wù)的倒換工作,然后繼續(xù)組織終端設(shè)備進(jìn)行之前已經(jīng)進(jìn)行的視頻會議。
在上述步驟403和步驟404中,備份虛擬連接模塊與備份H323協(xié)議棧模 塊之間建立的新的TCP連接和H323連接必須保持與之前建立的舊的TCP連接和H323連接的屬性一致,并且,由于該新的TCP連接和H323連接都是在備 份板內(nèi)部的虛擬連接,因此,對于步驟403和步驟404中建立新的TCP連接和 H323連接的過程需要有一些特殊的處理,具體如下
(1 )在現(xiàn)有技術(shù)中,每個TCP數(shù)據(jù)包都包含timestamps選項,用于計算 網(wǎng)絡(luò)中的環(huán)回時間(RRT);在本發(fā)明中,由于建立的新的TCP連接是虛擬連 接,計算RRT沒有實際意義,故建立新的TCP連接的TCP數(shù)據(jù)包中不應(yīng)包含 timestamps選項。具體實現(xiàn)方式可以為進(jìn)行所述主備倒換之前,可以由備份 板的第二應(yīng)用程序備份單元設(shè)置/proc/sys/net/ipv4目錄下的top—timestamps變量 為0,使備份H323協(xié)議棧模塊發(fā)送的TCP連接的TCP數(shù)據(jù)包中不包含 timestamps選項;在主備倒換完成后,設(shè)置tcp—timestamps變量為1,重新啟動 TCP數(shù)據(jù)包中的timestamps選項。
(2) 現(xiàn)有技術(shù)中,TCP數(shù)據(jù)包中包括SEQ、 ACK等字段,通信兩端收發(fā) 的TCP數(shù)據(jù)包中的SEQ、 ACK等字段必須與之前TCP數(shù)據(jù)包中的SEQ、 ACK 分別保持連續(xù),如果SEQ或ACK不連續(xù),通信終端就會認(rèn)為TCP連接出錯; 因此,新建立的TCP連接之后,備份板的備份H323協(xié)議棧模塊與遠(yuǎn)端終端設(shè) 備之間發(fā)送的TCP數(shù)據(jù)包的SEQ、ACK字段必須分別與舊的TCP連接的SEQ、 ACK字段保持連續(xù),這樣備份H323協(xié)議棧模塊和遠(yuǎn)端終端設(shè)備才不會因感知 到SEQ、 ACK字段不連續(xù)而認(rèn)為之后發(fā)送的TCP數(shù)據(jù)包錯誤。具體實現(xiàn)方式 可以為備份鉤子函數(shù)單元對建立新的TCP連接時收發(fā)的TCP數(shù)據(jù)包中的SEQ 和/或ACK字段分別進(jìn)行修改,使新舊TCP連接的SEQ和/或ACK字段分別保 持一致。
(3) 由于備份板的收包、發(fā)包程序運行在當(dāng)前進(jìn)程的上下文環(huán)境中,如果 備份虛擬連接模塊直接在當(dāng)前進(jìn)程中發(fā)送TCP連接的數(shù)據(jù)包,將會引發(fā)錯誤。 因此,可以由備份虛擬連接模塊維護(hù)一個新的內(nèi)核線程,該內(nèi)核線程用于向所 述備份H323協(xié)議棧模塊發(fā)送新的TCP連接的數(shù)據(jù)包。
(4 )由于用于建立H323連接的H323連接信令包中也存在一些特殊字段, 在建立新的H323連接時,必須保證新H323連接的信令包中的這些特殊字段與舊H323連接的信令包中的特殊字段相同,使新舊H323連接保持一致。因此, 在備份虛擬連接模塊與備份H323協(xié)議棧模塊建立新H323連接時,可以由備份 板中的第二應(yīng)用程序備份單元在備份H323協(xié)議棧模塊內(nèi)部修改相關(guān)數(shù)據(jù)結(jié)構(gòu), 使新H323連接的屬性與主板和終端設(shè)備之間建立的舊H323連接的屬性一致。 (5 )在主板正常工作時,主板發(fā)送了 一個TCP數(shù)據(jù)包(簡稱last_pack包), 備份板保存了這一TCP數(shù)據(jù)包的相關(guān)信息;如果此時主板出現(xiàn)故障,啟動主備 倒換,備份板接替原來的主板開始運行。此時,遠(yuǎn)端終端設(shè)備有可能沒有收到 last_pack包(有可能Iast_pack包還沒有發(fā)送網(wǎng)絡(luò)中,或者在網(wǎng)絡(luò)中丟失了 ),
所以之后建立的TCP虛擬連接會導(dǎo)致這條TCP連接上的SEQ、 ACK號的不連 續(xù),從而使備份板不能正常運行??梢姡谥靼逑蜻h(yuǎn)端終端設(shè)備的發(fā)送方向上, 每條TCP連接的最后一個TCP數(shù)據(jù)包有丟失并造成備份板不能正常運行的風(fēng) 險。解決這一問題的方式為在備份虛擬連接模塊與備份H323協(xié)議棧模塊建 立新的TCP連接后,可以由備份虛擬連接模塊判斷主板發(fā)送給遠(yuǎn)端終端設(shè)備的 最后一個TCP數(shù)據(jù)包是否丟失,如果丟失,則備份虛擬連接模塊向遠(yuǎn)端終端設(shè) 備重新發(fā)送該最后一個TCP數(shù)據(jù)包;當(dāng)然,如果判斷不出最后一個TCP數(shù)據(jù) 包是否丟失,也可以直接重發(fā)該TCP數(shù)據(jù)包,因為遠(yuǎn)端終端設(shè)備的TCP協(xié)議 棧能夠正確處理重復(fù)收到的TCP數(shù)據(jù)包,所以這里直接重發(fā)TCP數(shù)據(jù)包不會 對遠(yuǎn)端終端設(shè)備造成不良影響。另外,根據(jù)最后一個數(shù)據(jù)包的類型,可能處理 方法有所不同,比如最后一個包是roundTripDelayRequest信令時,可以簡單的 直接丟棄,如果是roundTripDelayResponse信令時,就需要重傳。
(6)當(dāng)前主板召開了一個會議,必須將針對這次會議或該會議其中一個呼 叫的應(yīng)用層業(yè)務(wù)信息備份到備份板上,才能在主備倒換時對這次會議進(jìn)行主備 倒換;但是,主備倒換有可能會發(fā)生在這個備份過程中,所以需要處理備份不 完整時倒換這種特殊情況。解決方式可以為主板的第一應(yīng)用程序備份單元以 會議或呼叫為單位,保存主板當(dāng)前組織的視頻會議的應(yīng)用層業(yè)務(wù)信息,將該應(yīng) 用層業(yè)務(wù)信息發(fā)送至備份板的第二應(yīng)用程序備份單元;在某個會議或呼叫的所有應(yīng)用層業(yè)務(wù)信息正確傳遞到備份板之前,如果當(dāng)前主控板出現(xiàn)故障(或被拔 掉),則認(rèn)為針對這次會議或呼叫的備份操作失敗,在發(fā)生主備倒換時,備份板 將不會對這次會議或呼叫進(jìn)行備份恢復(fù)。
以下以H323主動呼叫過程為例,詳細(xì)介紹TCP連接的主備倒換和H323 連接的主備倒換。參見圖5,圖5為本發(fā)明實施例TCP連接的主備倒換和H323 連接的主備倒換階段的數(shù)據(jù)包交互流程圖。
在圖5所示的主備倒換之前,主板的主H323協(xié)議棧模塊與終端設(shè)備已經(jīng) 建立過舊的TCP連接和H323連接,在建立舊的TCP連接和H323連接的過程 中,備份板的虛擬備份連接模塊已經(jīng)備份了舊的TCP連接的相關(guān)信息和H323 連接的相關(guān)信息。
圖5所示的過程中,建立新的H323連接的過程包括建立H225連接和建 立II245連接兩個階4殳,其中,建立H225連接和建立H245連接之前分別要建 立一個TCP連接。圖5中,步驟501 步驟503為建立新的TCP連接的過程; 步驟504 步驟506為在該TCP連接的基礎(chǔ)上建立新的H225連接的過程;步驟 507 步驟509為建立另一個新的TCP連接的過程;步驟510 步驟521為在該 新的TCP連接的基礎(chǔ)上建立新的H245連接的過程,其中包括終端能力設(shè)置和 主從設(shè)置等過程;新的H245連接建立完成之后,新的H323連接即建立成功, 之后,通信雙方周期性的發(fā)送往返延遲請求(RTDR, Round Trip Delay Request) 信令和往返延遲應(yīng)答(RTDR, Round Trip Delay Response )信令,維護(hù)已經(jīng)建 立成功的H323連接,具體如步驟522 步驟525。
由圖5的流程可見,備份板中的備份虛擬連接模塊維護(hù)一個內(nèi)核線程,專 門用于向備份板中的備份H323協(xié)議棧模塊發(fā)送TCP數(shù)據(jù)包和H323信令;在 與備份H323協(xié)議棧模塊建立新的TCP連接和新的H323連接的過程中,發(fā)送 的TCP數(shù)據(jù)包和H323信令都是根據(jù)之前保存的TCP連接的相關(guān)信息和H323 連接的相關(guān)信息構(gòu)造的,以保證新建立的TCP連接和H323連接與主備倒換之 前主板與終端設(shè)備建立的舊的TCP連接和H323連接屬性相同。另外,在備份 虛擬連接模塊和備份H323協(xié)議棧模塊建立新的H323連接時,備份板中的第二應(yīng)用程序模塊在備份H323協(xié)議棧內(nèi)部修改相關(guān)數(shù)據(jù)結(jié)構(gòu),使得該新H323連接 的屬性與主板和遠(yuǎn)端終端設(shè)備建立的舊H323連接的屬性一致;具體地,如圖5 中所示的步驟501之前修改H225通道的TCP連接的本地端口 ,步驟504之前 修改建立(setup)信令的呼叫相關(guān)值(Call Reference Value)和會議標(biāo)識符 (Conference ID ) /呼叫標(biāo)識符(Call Identifier ),步驟507之前修改H245通道 TCP連接的本地端口 ,步驟512之前修改主從決定(Master Slave Determination ) 信令的隨機(jī)數(shù),步驟518之前修改打開邏輯通道(Open Logical Channel, OLC) 信令的會話標(biāo)識(Session ID )和實時傳輸協(xié)議(RTP )端口 ,步驟520之前修 改OLCAck信令的Session ID和RTP/實時傳輸控制協(xié)議(RTCP )端口 ,步驟 522之前修改往返延遲請求(Round Trip Delay R叫uest )信令的序列號( Number)等。
本發(fā)明實施例還提出一種TCP連接主備倒換的裝置,包括主板和備份板, 其中,主板包括主應(yīng)用層軟件模塊、主網(wǎng)絡(luò)協(xié)議棧模塊和主虛擬連接模塊,所 述主網(wǎng)絡(luò)協(xié)議棧模塊包括主鉤子函數(shù)單元;備份板包括備份應(yīng)用層軟件模塊、 備份網(wǎng)絡(luò)協(xié)議棧模塊和備份虛擬連接模塊,所述備份網(wǎng)絡(luò)協(xié)議棧模塊包括備份 鉤子函數(shù)單元;
主鉤子函數(shù)單元,用于在主板正常工作時,獲取經(jīng)由主網(wǎng)絡(luò)協(xié)議棧模塊收 發(fā)的TCP數(shù)據(jù)包,將所述TCP數(shù)據(jù)包發(fā)送至主虛擬連接模塊;
主虛擬連接模塊,用于分析所述TCP數(shù)據(jù)包,獲取所述主板與終端設(shè)備之 間的舊的TCP連接相關(guān)信息,將所述舊的TCP連接相關(guān)信息發(fā)送至備份虛擬 連接模塊;
備份虛擬連接模塊,用于在主板出現(xiàn)故障時,根據(jù)接收的舊的TCP連接相 關(guān)信息,代替所述終端設(shè)備與所述備份應(yīng)用層軟件模塊建立新的TCP連接。
本發(fā)明實施例還提出一種H323連接主備倒換的多^ 某體裝置,包括主板和 備份板,其中,主板包括主H323協(xié)議棧模塊、主網(wǎng)絡(luò)協(xié)議棧模塊和主虛擬連 接模塊,所述主網(wǎng)絡(luò)協(xié)議棧模塊包括主鉤子函數(shù)單元;備份板包括備份H323 協(xié)議棧模塊、備份網(wǎng)絡(luò)協(xié)議棧模塊和備份虛擬連接模塊"所述備份網(wǎng)絡(luò)協(xié)議棧模塊包括備份鉤子函數(shù)單元;
主鉤子函數(shù)單元,用于在所述主板正常工作時,獲取經(jīng)由主網(wǎng)絡(luò)協(xié)議棧模
塊收發(fā)的TCP數(shù)據(jù)包,將所述TCP數(shù)據(jù)包發(fā)送至主虛擬連接模塊;
主虛擬連接模塊,用于分析所述TCP數(shù)據(jù)包,獲取所述主板與終端設(shè)備之 間舊的TCP連接相關(guān)信息和舊的H323連接相關(guān)信息,將所述舊的TCP連接相 關(guān)信息和舊的H323連接相關(guān)信息發(fā)送至備份虛擬連接模塊;
備份虛擬連接模塊,用于在所述主板出現(xiàn)故障時,根據(jù)接收到的舊的TCP 連接相關(guān)信息,代替所述終端設(shè)備與備份H323協(xié)議棧模塊建立新的TCP連接; 根據(jù)接收到的舊的H323連接相關(guān)信息,代替所述終端設(shè)備與所述備份H323協(xié) 議棧模塊建立基于新的TCP連接的新的H323連接。
對于上述H323連接主備倒換的多媒體裝置,其中的主板可以進(jìn)一步包括 主應(yīng)用程序模塊,所述主應(yīng)用程序模塊包括第一應(yīng)用程序備份單元;備份板可 以進(jìn)一步包括備份應(yīng)用程序模塊,所述備份應(yīng)用程序模塊包括第二應(yīng)用程序備 份單元;
第一應(yīng)用程序備份單元,用于在主板正常工作時,保存主板當(dāng)前組織的視 頻會議的應(yīng)用層業(yè)務(wù)信息,將應(yīng)用層業(yè)務(wù)信息發(fā)送至所述第二應(yīng)用程序備份單
元;
備份應(yīng)用程序模塊,用于在備份虛擬連接模塊與備份H323協(xié)議棧模塊建 立新的H323連接之后,根據(jù)第二應(yīng)用程序備份單元接收的應(yīng)用層業(yè)務(wù)信息組 織終端設(shè)備進(jìn)行視頻會議。
上述第二應(yīng)用程序備份單元,還可以用于在備份虛擬連接模塊與備份H323 協(xié)議棧模塊建立新的H323連接時,在備份H323協(xié)議棧模塊內(nèi)部修改數(shù)據(jù)結(jié)構(gòu), 使所述新的H323連接的屬性與舊的H323連接的屬性一致。
上述第 一應(yīng)用程序備份單元以會議或呼叫為單位,保存所述主板當(dāng)前組織 的視頻會議的應(yīng)用層業(yè)務(wù)信息;
備份應(yīng)用程序模塊,可以用于當(dāng)?shù)诙?yīng)用程序備份單元接收到以會議或呼 叫為單位的應(yīng)用層業(yè)務(wù)信息時,組織所述終端設(shè)備進(jìn)行視頻會議。對于上述TCP連接主備倒換的裝置或H323連接主備倒換的多媒體裝置, 主板可以進(jìn)一步包括主應(yīng)用程序模塊,所述主應(yīng)用程序模塊包括第 一應(yīng)用程序 備份單元;備份板可以進(jìn)一步包括備份應(yīng)用程序模塊,所述備份應(yīng)用程序模塊 包括第二應(yīng)用程序備份單元;
第二應(yīng)用程序備份單元,可以用于在主板出現(xiàn)故障時,設(shè)置 /proc/sys/net/ipv4目錄下的tcp—timestamps變量,使新的TCP連接的TCP數(shù)據(jù) 包中不包含timestamps選項。
上述備份鉤子函數(shù)單元,可以用于對建立新的TCP連接時收發(fā)的TCP數(shù) 據(jù)包中的SEQ和/或ACK字段分別進(jìn)行修改,使新的TCP連接與舊的TCP連 接中的SEQ和/或ACK字段分別保持一致。
上述備份虛擬連接模塊還可以用于,在建立新的TCP連接之后,判斷主板 正常工作時發(fā)送給終端設(shè)備的最后一個TCP數(shù)據(jù)包是否丟失,如果丟失,則向 終端設(shè)備重新發(fā)送該最后一個TCP數(shù)據(jù)包。
可見,本發(fā)明提出的TCP連接主備倒換方法和裝置、以及基于TCP連接 主備倒換的H323連接主備倒換的方法和多媒體裝置,在備份板中設(shè)置備份虛 擬連接模塊,其中備份了主板與終端設(shè)備的舊的TCP連接的相關(guān)信息,在主板 發(fā)生故障時,備份虛擬連接模塊代替終端設(shè)備與備份板中的備份應(yīng)用層軟件模 塊建立虛擬的新的TCP連接,這種基于虛擬連接的TCP主備倒換方案可以實 現(xiàn)應(yīng)用層TCP連接的無縫倒換,使該TCP連接的終端設(shè)備程序完全看不到TCP 連接的中斷,不會對終端設(shè)備TCP程序的運行產(chǎn)生任何影響。應(yīng)用到視頻會議 領(lǐng)域中,多^ 某體裝置可以具體為MCU,應(yīng)用層軟件^^莫塊可以具體為H323協(xié)議 棧模塊,在TCP連接主備倒換的基礎(chǔ)上實現(xiàn)的H323連接的主備倒換方案,可 以實現(xiàn)H323連接的主備倒換過程對會議終端的完全透明,在倒換過程中,不 會出現(xiàn)異常的會議中止和音視頻碼流停頓的現(xiàn)象。使用本發(fā)明方案實現(xiàn)主備倒 換的H323會議系統(tǒng),具有良好的兼容性,可以在接入任意廠商終端的會議召 開過程中進(jìn)行主備倒換操作。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在 本發(fā)明保護(hù)的范圍之內(nèi)。
權(quán)利要求
1、一種TCP連接主備倒換的方法,其特征在于,該方法應(yīng)用于包括主板和備份板的裝置中,其中,主板包括主應(yīng)用層軟件模塊、主網(wǎng)絡(luò)協(xié)議棧模塊和主虛擬連接模塊,所述主網(wǎng)絡(luò)協(xié)議棧模塊包括主鉤子函數(shù)單元;備份板包括備份應(yīng)用層軟件模塊、備份網(wǎng)絡(luò)協(xié)議棧模塊和備份虛擬連接模塊,所述備份網(wǎng)絡(luò)協(xié)議棧模塊包括備份鉤子函數(shù)單元;所述方法包括主板正常工作時,主鉤子函數(shù)單元獲取經(jīng)由主網(wǎng)絡(luò)協(xié)議棧模塊收發(fā)的TCP數(shù)據(jù)包,將所述TCP數(shù)據(jù)包發(fā)送至主虛擬連接模塊;主虛擬連接模塊分析所述TCP數(shù)據(jù)包,獲取所述主板與終端設(shè)備之間的舊的TCP連接相關(guān)信息,將所述舊的TCP連接相關(guān)信息發(fā)送至備份虛擬連接模塊;主板出現(xiàn)故障時,所述備份虛擬連接模塊根據(jù)接收的舊的TCP連接相關(guān)信息,代替所述終端設(shè)備與所述備份應(yīng)用層軟件模塊建立新的TCP連接。
2、 一種基于TCP連接主備倒換的H323連接主備倒換的方法,其特征在于, 該方法應(yīng)用于包括主板和備份板的多媒體裝置中,其中,主板包括主H323協(xié) 議棧模塊、主網(wǎng)絡(luò)協(xié)議棧模塊和主虛擬連接模塊,所述主網(wǎng)絡(luò)協(xié)議棧模塊包括 主鉤子函數(shù)單元;備份板包括備份H323協(xié)議棧模塊、備份網(wǎng)絡(luò)協(xié)議棧模塊和 備份虛擬連接模塊,所述備份網(wǎng)絡(luò)協(xié)議棧模塊包括備份鉤子函數(shù)單元;所述方 法包括主板正常工作時,主鉤子函數(shù)單元獲取經(jīng)由主網(wǎng)絡(luò)協(xié)議棧模塊收發(fā)的TCP 數(shù)據(jù)包,將所述TCP數(shù)據(jù)包發(fā)送至主虛擬連接模塊;主虛擬連接模塊分析所述TCP數(shù)據(jù)包,獲取所述主板與終端設(shè)備之間舊的 TCP連接相關(guān)信息和舊的H323連接相關(guān)信息,將所述舊的TCP連接相關(guān)信息 和舊的H323連接相關(guān)信息發(fā)送至備份虛擬連接模塊;主板出現(xiàn)故障時,所述備份虛擬連接模塊根據(jù)接收到的舊的TCP連接相關(guān) 信息,代替所述終端設(shè)備與備份H323協(xié)議棧模塊建立新的TCP連接;根據(jù)接收到的舊的H323連接相關(guān)信息,代替所述終端設(shè)備與所述備份H323協(xié)議棧模 塊建立基于新的TCP連接的新的H323連接。
3、 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述主板進(jìn)一步包括主應(yīng)用 程序模塊,所述主應(yīng)用程序模塊包括第一應(yīng)用程序備份單元;所述備份板進(jìn)一 步包括備份應(yīng)用程序模塊,所述備份應(yīng)用程序模塊包括第二應(yīng)用程序備份單元;當(dāng)主板正常工作時,所述第一應(yīng)用程序備份單元保存所述主板當(dāng)前組織的 視頻會議的應(yīng)用層業(yè)務(wù)信息,將所述應(yīng)用層業(yè)務(wù)信息發(fā)送至所述第二應(yīng)用程序 備份單元;所述備份虛擬連接模塊與備份H323協(xié)議棧模塊建立新的H323連接之后, 進(jìn)一步包括備份應(yīng)用程序模塊根據(jù)所述第二應(yīng)用程序備份單元接收的應(yīng)用層 業(yè)務(wù)信息,組織所述終端設(shè)備進(jìn)行視頻會議。
4、 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述方法進(jìn)一步包括所述 備份虛擬連接模塊與備份H323協(xié)議棧模塊建立新的H323連接時,第二應(yīng)用程 序備份單元在備份H323協(xié)議棧模塊內(nèi)部修改數(shù)據(jù)結(jié)構(gòu),使所述新的H323連接 的屬性與舊的H323連接的屬性一致。
5、 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述第一應(yīng)用程序備份單元 以會議或呼叫為單位,保存所述主板當(dāng)前組織的視頻會議的應(yīng)用層業(yè)務(wù)信息, 將所述應(yīng)用層業(yè)務(wù)信息發(fā)送至所述第二應(yīng)用程序備份單元;所述備份虛擬連接模塊與備份H323協(xié)議棧模塊建立新的H323連接之后, 進(jìn)一步包括當(dāng)所述第二應(yīng)用程序備份單元接收到以會議或呼叫為單位的應(yīng)用 層業(yè)務(wù)信息時,備份應(yīng)用程序模塊組織所述終端設(shè)備進(jìn)行視頻會議。
6、 根據(jù)權(quán)利要求l或2所述的方法,其特征在于,所述主板進(jìn)一步包括主 應(yīng)用程序模塊,所述主應(yīng)用程序模塊包括第一應(yīng)用程序備份單元;所述備份板 進(jìn)一步包括備份應(yīng)用程序模塊,所述備份應(yīng)用程序模塊包括第二應(yīng)用程序備份 單元,當(dāng)主板出現(xiàn)故障時,所述第二應(yīng)用程序備份單元設(shè)置/proc/sys/net/ipv4目 錄下的tcp—timestamps變量,使新的TCP連接的TCP數(shù)據(jù)包中不包含timestamps 選項。
7、 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述方法還包括 所述備份鉤子函數(shù)單元對所述建立新的TCP連接時收發(fā)的TCP數(shù)據(jù)包中的序列SEQ和/或確認(rèn)ACK字段分別進(jìn)行修改,使所述新的TCP連接與舊的 TCP連接中的SEQ和/或ACK字段分別保持一致。
8、 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,建立新的TCP連接之 后進(jìn) -步包括備份虛擬連接模塊判斷所述主板正常工作時發(fā)送給終端設(shè)備的 最后一個TCP數(shù)據(jù)包是否丟失,如果丟失,則備份虛擬連接模塊向終端設(shè)備重 新發(fā)送該最后一個TCP數(shù)據(jù)包。
9、 一種TCP連接主備倒換的裝置,其特征在于,該裝置包括主板和備份 板,其中,主板包括主應(yīng)用層軟件模塊、主網(wǎng)絡(luò)協(xié)議棧模塊和主虛擬連接模塊, 所述主網(wǎng)絡(luò)協(xié)議棧模塊包括主鉤子函數(shù)單元;備份板包括備份應(yīng)用層軟件模塊、 備份網(wǎng)絡(luò)協(xié)議棧模塊和備份虛擬連接模塊,所述備份網(wǎng)絡(luò)協(xié)議棧模塊包括備份 鉤子函數(shù)單元;所述主鉤子函數(shù)單元,用于在所述主板正常工作時,獲取經(jīng)由主網(wǎng)絡(luò)協(xié)議 棧模塊收發(fā)的TCP數(shù)據(jù)包,將所述TCP數(shù)據(jù)包發(fā)送至主虛擬連接模塊;所述主虛擬連接模塊,用于分析所述TCP數(shù)據(jù)包,獲取所述主板與終端設(shè) 備之間的舊的TCP連接相關(guān)信息,將所述舊的TCP連接相關(guān)信息發(fā)送至備份 虛擬連接4莫塊;所述備份虛擬連接模塊,用于在所述主板出現(xiàn)故障時,根據(jù)接收的舊的TCP 連接相關(guān)信息,代替所述終端設(shè)備與所述備份應(yīng)用層軟件模塊建立新的TCP連接。
10、 一種H323連接主備倒換的多媒體裝置,其特征在于,該多媒體裝置 包括主板和備份板,其中,主板包括主H323協(xié)議棧模塊、主網(wǎng)絡(luò)協(xié)議棧模塊 和主虛擬連接模塊,所述主網(wǎng)絡(luò)協(xié)議棧模塊包括主鉤子函數(shù)單元;備份板包括 備份H323協(xié)議棧模塊、備份網(wǎng)絡(luò)協(xié)議棧模塊和備份虛擬連接模塊,所述備份 網(wǎng)絡(luò)協(xié)議棧模塊包括備份鉤子函數(shù)單元;所述主鉤子函數(shù)單元,用于在所述主板正常工作時,獲:f又經(jīng)由主網(wǎng)絡(luò)協(xié)議棧模塊收發(fā)的TCP數(shù)據(jù)包,將所述TCP數(shù)據(jù)包發(fā)送至主虛擬連接模塊;所述主虛擬連接模塊,用于分析所述TCP數(shù)據(jù)包,獲取所述主板與終端設(shè) 備之間舊的TCP連接相關(guān)信息和舊的H323連接相關(guān)信息,將所述舊的TCP連 接相關(guān)信息和舊的H323連接相關(guān)信息發(fā)送至備份虛擬連接模塊;所述備份虛擬連接模塊,用于在所述主板出現(xiàn)故障時,根據(jù)接收到的舊的 TCP連接相關(guān)信息,代替所述終端設(shè)備與備份H323協(xié)議棧模塊建立新的TCP 連接;根據(jù)接收到的舊的H323連接相關(guān)信息,代替所述終端設(shè)備與所述備份 H323協(xié)議棧模塊建立基于新的TCP連接的新的H323連接。
11、 根據(jù)權(quán)利要求IO所述的多媒體裝置,其特征在于,所述主板進(jìn)一步包 括主應(yīng)用程序模塊,所述主應(yīng)用程序模塊包括第一應(yīng)用程序備份單元;所述備 份板進(jìn)一步包括備份應(yīng)用程序模塊,所述備份應(yīng)用程序模塊包括第二應(yīng)用程序 備份單元;所述第一應(yīng)用程序備份單元,用于在主板正常工作時,保存所述主板當(dāng)前 組織的視頻會議的應(yīng)用層業(yè)務(wù)信息,將所述應(yīng)用層業(yè)務(wù)信息發(fā)送至所述第二應(yīng) 用程序備份單元; ,所述備份應(yīng)用程序模塊,用于在備份虛擬連接模塊與備份H323協(xié)議棧模 塊建立新的H323連接之后,根據(jù)所述第二應(yīng)用程序備份單元接收的應(yīng)用層業(yè) 務(wù)信息組織所述終端設(shè)備進(jìn)行視頻會議。
12、 根據(jù)權(quán)利要求11所述的多媒體裝置,其特征在于,所述第二應(yīng)用程序 備份單元,還用于在備份虛擬連接模塊與備份H323協(xié)議棧模塊建立新的H323 連接時,在備份H323協(xié)議棧模塊內(nèi)部修改數(shù)據(jù)結(jié)構(gòu),使所述新的H323連接的 屬性與舊的H323連接的屬性一致。
13、 根據(jù)權(quán)利要求11所述的多媒體裝置,其特征在于,所述第一應(yīng)用程序 備份單元以會議或呼叫為單位,保存所述主板當(dāng)前組織的視頻會議的應(yīng)用層業(yè) 務(wù)信息;所述備份應(yīng)用程序模塊,用于當(dāng)?shù)诙?yīng)用程序備份單元接收到以會議或呼 叫為單位的應(yīng)用層業(yè)務(wù)信息時,組織所述終端設(shè)備進(jìn)行視頻會議。
14、 根據(jù)權(quán)利要求9或IO所述的裝置,其特征在于,所述主板進(jìn)一步包括 主應(yīng)用程序模塊,所述主應(yīng)用程序模塊包括第一應(yīng)用程序備份單元;所述備份 板進(jìn)一步包括備份應(yīng)用程序模塊,所述備份應(yīng)用程序模塊包括第二應(yīng)用程序備 份單元;所述第二應(yīng)用程序備份單元,用于在主板出現(xiàn)故障時,設(shè)置 /proc/sys/net/ipv4目錄下的tcp—timestamps變量,使新的TCP連接的TCP數(shù)據(jù) 包中不包含timestamps選項。
15、 根據(jù)權(quán)利要求9或IO所述的裝置,其特征在于,所述備份鉤子函數(shù)單 元,用于對建立新的TCP連接時收發(fā)的TCP數(shù)據(jù)包中的SEQ和/或ACK字段 分別進(jìn)行修改,使所述新的TCP連接與舊的TCP連接中的SEQ和/或ACK字 段分別保持一致。
16、 根據(jù)權(quán)利要求9或IO所述的多媒體裝置,其特征在于,所述備份虛擬 連接模塊還用于,在建立新的TCP連接之后,判斷所述主板正常工作時發(fā)送給 終端設(shè)備的最后一個TCP數(shù)據(jù)包是否丟失,如果丟失,則向終端設(shè)備重新發(fā)送 該最后一個TCP數(shù)據(jù)包。
全文摘要
本發(fā)明提出一種TCP連接主備倒換和H323連接主備倒換的方法及裝置,其中TCP連接主備倒換的方法包括主板正常工作時,主鉤子函數(shù)單元獲取經(jīng)由主網(wǎng)絡(luò)協(xié)議棧模塊收發(fā)的TCP數(shù)據(jù)包,將所述TCP數(shù)據(jù)包發(fā)送至主虛擬連接模塊;主虛擬連接模塊分析所述TCP數(shù)據(jù)包,獲取所述主板與終端設(shè)備之間的舊的TCP連接的相關(guān)信息,將所述舊的TCP連接的相關(guān)信息發(fā)送至備份虛擬連接模塊;主板出現(xiàn)故障時,所述備份虛擬連接模塊根據(jù)接收的舊的TCP連接的相關(guān)信息,代替所述終端設(shè)備與所述備份應(yīng)用層軟件模塊建立新的TCP連接。本發(fā)明能夠?qū)崿F(xiàn)TCP連接主備倒換過程對終端設(shè)備的完全透明。
文檔編號H04N7/15GK101577731SQ20091008702
公開日2009年11月11日 申請日期2009年6月15日 優(yōu)先權(quán)日2009年6月15日
發(fā)明者余恒樂, 輝 汪 申請人:杭州華三通信技術(shù)有限公司