專利名稱:媒體流在線服務遷移的方法和裝置的制作方法
技術領域:
本發(fā)明涉及網(wǎng)絡通信領域,尤其涉及一種媒體流在線服務遷移的方法和 裝置。
背景技術:
近年來,隨著網(wǎng)絡帶寬的提高和用戶規(guī)模的增加,寬帶網(wǎng)絡以及各種新
業(yè)務得到了很大的發(fā)展。IPTV (交互式網(wǎng)絡電視)作為寬帶網(wǎng)絡中的新一代 業(yè)務越來越受到重視,IPTV代表了基于IP網(wǎng)絡的新型視頻傳播業(yè)務的發(fā)展方 向。在IPTV中,主要通過流^ 某體服務器等核心部件來保證可靠的傳輸質(zhì)量和 完美的顯示效果,流媒體服務器擔負著視頻文件的存儲,和將視頻文件以流 的方式推送到網(wǎng)絡中去的任務,因此,流媒體服務器需要有很高的性能和可 靠性要求。
單 一 的流媒體服務器難以滿足I PTV業(yè)務的數(shù)據(jù)處理量大、數(shù)據(jù)吞吐量 高、視頻播放實時性、客戶連接請求數(shù)目大、連接時間長等需求。為了提高 流媒體服務器的性能和可靠性,目前主要采用負載均衡的松散耦合集群方式 的流媒體服務器系統(tǒng),該流媒體服務器系統(tǒng)的 一種結構示意圖如圖1所示, 該流媒體服務器系統(tǒng)中的一種基本的媒體流點播的處理流程如圖2所示。具 體處理過程如下
用戶客戶端首先向設置在負載均衡器上的RTSP (Real-Time Streaming Protocol,實時流媒體協(xié)議)代理發(fā)送媒體流Operation (操作)請求,該操 作包括Option (選擇),Describe (描述),Setup (建立),Play (播放),Pause (暫停),Teardown (下載)等RTSP方法,RTSP代理將接收
到的媒體流操作請求轉(zhuǎn)發(fā)給流媒體服務器。流媒體服務器對接收到的媒體流 操作請求進行處理后,向RTSP代理返回媒體流操作響應,RTSP代理將接收 到的媒體流操作響應再轉(zhuǎn)發(fā)給用戶客戶端。整個流媒體服務器系統(tǒng)(包括負 載均衡器和后臺的流媒體服務器)對外只顯示一個ip地址(即Rtsp代理的ip 地址)。
在媒體服務器系統(tǒng)中,用戶/應用程序?qū)γ襟w流的需求被映射成為服務。 采用集群方式的媒體服務器系統(tǒng)主要存在著以下兩個問題
1、 當媒體內(nèi)容在各個流媒體服務器節(jié)點上分布不合理時,會引起媒體流 服務分布不合理,從而造成部分流媒體服務器發(fā)生性能瓶頸。
2、 即使媒體內(nèi)容在各個流媒體服務器節(jié)點上分布不合理,但是由于請求 調(diào)度技術不完善以及用戶終止流服務等操作,也會51起媒體流服務分布的不 合理,造成部分流媒體服務器發(fā)生性能瓶頸。
在集群系統(tǒng)中,目前研究的遷移技術是進程遷移。在進程運行過程中, 根據(jù)系統(tǒng)的負載情況,通過將進程從負載較重的節(jié)點轉(zhuǎn)移到另 一 負載較輕的 節(jié)點繼續(xù)運行,可以有效的實現(xiàn)負載動態(tài)均衡。進程遷移技術使得動態(tài)調(diào)度 成為可能。但是由于目前的絕大多數(shù)應用是面向服務的,采用進程遷移往往 是不合適的。比如服務器A通過創(chuàng)建的5個線程正在對5個用戶提供服務,如 果通過進程遷移把該進程遷移到服務器B上,則5個用戶需要全部遷移走。但 是5個用戶可能播放的進度不一樣,并且集群系統(tǒng)可能只需要遷移一個用 戶,就能達到負載的平衡。
發(fā)明內(nèi)容
本發(fā)明實施例的目的是提供一種媒體流在線服務遷移的方法和裝置,從 而可以解決現(xiàn)有進程遷移的方法將造成媒體流傳送的中斷的問題。本發(fā)明實施例的目的是通過以下技術方案實現(xiàn)的 一種媒體流在線服務遷移的方法,包括
負載均衡器向正在向用戶提供媒體流服務的第一流媒體服務器發(fā)送服務 遷移消息,所述第 一流媒體服務器根據(jù)所述服務遷移消息中指示的數(shù)據(jù)包的 位置信息,停止向所述用戶提供媒體流服務;
所述負載均衡器向第二流媒體服務器發(fā)送媒體流操作請求,所述第二流 媒體服務器根據(jù)所述媒體流操作請求中指示的數(shù)據(jù)包的位置信息,向所述用 戶提供媒體流服務。
一種負載均衡器,包括
服務遷出模塊,用于向正在向用戶提供媒體流服務的第 一流媒體服務器 發(fā)送服務遷出消息,所述第一流媒體服務器根據(jù)所述服務遷移消息中指示的 數(shù)據(jù)包的位置信息,停止向用戶提供媒體流服務;
服務遷入模塊,用于向第二流媒體服務器發(fā)送媒體流操作請求,所述第 二流媒體服務器根據(jù)所述媒體流操作請求中指示的數(shù)據(jù)包的位置信息,向所 述用戶提供媒體流服務。
一種流纟某體服務器,包括
服務遷移消息解析模塊,用于接收負載均衡器發(fā)送的服務遷移消息,對 該服務遷移消息進行解析,獲取所述服務遷移消息中攜帶的數(shù)據(jù)包的位置信 息,將該位置信息傳遞給遷出服務實現(xiàn)模塊;
遷出服務實現(xiàn)模塊,用于在向用戶發(fā)送的數(shù)據(jù)包的位置達到所述服務遷 移消息解析模塊所獲取的位置信息時,停止向用戶提供媒體流服務。
一種流纟某體服務器,包括
媒體流操作請求解析模塊,用于接收負載均衡器發(fā)送的媒體流操作請 求,對該媒體流操作請求進行解析,獲取所述媒體流操作請求中攜帶的數(shù)據(jù)包的位置信息、媒體流同步資源、時間偏移和用戶信息,并傳遞給遷入服務實現(xiàn)模塊;遷入服務實現(xiàn)模塊,用于根據(jù)所述媒體流操作請求解析模塊所傳遞過來 的信息,從所述媒體流同步資源獲取相應的媒體流信息,從所述時間偏移指 示的時間開始,根據(jù)數(shù)據(jù)包的位置信息向所述用戶發(fā)送媒體流。由上述本發(fā)明實施例提供的技術方案可以看出,本發(fā)明可以使媒體流在 服務過程中,從當前服務節(jié)點實時遷移到指定的服務節(jié)點,從而實現(xiàn)動態(tài)的 負載均衡服務,提高系統(tǒng)資源的利用率。
圖1為現(xiàn)有的流媒體服務器系統(tǒng)的 一種結構示意圖;圖2為現(xiàn)有的流媒體服務器系統(tǒng)中的一種基本的媒體流點播的處理流程圖;圖3為以采用了負載均衡器的流媒體服務器系統(tǒng)為例,本發(fā)明實施例提出的媒體流在線服務遷移的方法的處理流程圖;圖4為本發(fā)明實施例提出的媒體流服務遷出的具體處理流程圖; 圖5為本發(fā)明實施例提出的媒體流服務遷入的具體處理流程圖; 圖6為本發(fā)明提供的負載均衡器的實施例的結構示意圖; 圖7為本發(fā)明提供的一種流j泉體服務器的實施例的結構示意圖; 圖8為本發(fā)明提供的另 一種流媒體服務器的實施例的結構示意圖。
具體實施方式
在本發(fā)明實施例中,提出了在線服務遷移的概念,服務遷移是指一個服 務從當前服務節(jié)點移動到指定的服務節(jié)點上。也就是說,流媒體服務器集群 系統(tǒng)中的各個服務器節(jié)點不再是一個孤立的節(jié)點,而是整個系統(tǒng)中的 一個有機的部分。并且在進行服務遷移的過程中,能保證媒體流不中斷,對客戶端 不造成任何影響。以采用了負載均衡器的流媒體服務器系統(tǒng)為例,本發(fā)明實施例提出的媒體流服務遷移的方法的處理流程如圖3所示,包括如下處理步驟步驟31、用戶終端首先向設置在負載均衡器上的RtspProxy ( RTSP代 理)發(fā)送媒體流Operation (操作)請求,該操作包括Option, Describe, Setup, Play等RTSP方法,RtspProxy將接收到的媒體流操作請求轉(zhuǎn)發(fā)給源 流媒體服務器。源流媒體服務器對接收到的媒體流操作請求進行處理后,向 RTSP代理返回媒體流操作響應,RtspProxy將接收到的媒體流操作響應再轉(zhuǎn) 發(fā)給用戶客戶端。步驟32、當負載均衡器發(fā)現(xiàn)上述源流媒體服務器的負載比較大或媒體流 分布不合理時,決定將該源流媒體服務器上的給上述用戶終端提供的媒體流 傳送服務,遷移到其他能夠提供所請求的服務且負載比較輕或者能使得媒體 流分布更合理的流媒體服務器上。于是,負載均衡器根據(jù)各個流媒體服務器 的負載情況,選擇一個合理的目標流^f某體服務器。RtspProxy向源流媒體服務器發(fā)送Handoff (遷移)命令,源流媒體服務 器對上述Handoff命令進行處理后,向負載均衡器返回Handoff命令的響應, 從而實現(xiàn)媒體流服務的遷出,該媒體流服務遷出的具體處理流程如圖4所 示,具體處理過程為在流媒體服務器中, 一個媒體流的數(shù)據(jù)幀首先被封裝成一個sample (采 樣),該sample再被分成多個packet (包),然后通過rtp協(xié)議發(fā)送給用戶終 端。因jt匕,可以通過sampleSeq (sample序歹'J號)+packetSeq (包序歹'J號) 來定位出每個包的具體位置,這樣在服務遷移的時候可以將粒度精確到 一個 包。RtspProxy在決定遷移服務時,向源流媒體服務器上的RtspSession (會 話處理)模塊發(fā)出Handoff (遷移)命令,RtspSession模塊是流媒體服務器 的核心模塊之一,其主要功能是維護客戶與服務器連接期間的不同狀態(tài),并 對這些不同的狀態(tài)做出相應的反應,例如用戶請求解析的時候,它會調(diào)用請 求解析的函數(shù)解析請求。上述Handoff命令包含如下參數(shù)Handoff:用來表示這是一個Handoff命令。CSeq:用來表示需要保持依次遞增。Session:用來表示表示會i舌ID。SampleNum, PacketNum:用來表示采樣凄t值和包凄t值,這兩個字賴: 表示接收到HandoffStop命令后,經(jīng)過多少個幀和包后結束發(fā)送數(shù)據(jù),兩個字 段需要同時設置。可選參數(shù)Interval:用來表示接受到Handoff命令后,經(jīng)過多久后結束發(fā)送數(shù)據(jù), 該參數(shù)以什ame為粒度。RtspSession模塊在收到遷移"Handoff'命令后,首先檢查遷移命令是否 有效,如果有效,則通過調(diào)用新增的接口函數(shù)向源流媒體服務器上的 QTRTPFile (流化處理)模塊發(fā)送通知消息。QTRTPFile模塊是流媒體服務 器的核心模塊之一,其主要功能將媒體文件流化為數(shù)據(jù)包,并將數(shù)據(jù)包發(fā)送 給其它的調(diào)用模塊。上述通知消息中攜帶上述Handoff命令中包含的 SampleNum, PacketNum,以及l(fā)nterval參數(shù)信息。QTRTPFile模塊接收到上述通知消息后,根據(jù)上述SampleNum , PacketNum,以及l(fā)nterval參數(shù)信息,定位出具體的數(shù)據(jù)幀和數(shù)據(jù)包的位置, 在向用戶發(fā)送的數(shù)據(jù)包到該位置后,停止向用戶發(fā)送數(shù)據(jù)包。RtspSession 模塊也根據(jù)上述SampleNum, PacketNum,以及l(fā)nterval參數(shù)信息,定位出具體的數(shù)據(jù)幀和數(shù)據(jù)包的位置,并向RtspProxy發(fā)送攜帶該位置信息的 Handoff response消息。上述Handoff Response命令包含如下參數(shù)RTSP/1.0 200OK\r\n:用來表示遷出服務成功;Cseq:用來表示相應的Cseq;Session:用來表示會i舌ID;SSRCV:用來表示視頻track的SSRC;TimeStampOffsetV:用來表示時間戳的初始偏移;SSRCA:用來表示音頻track的SSRC;TimeStampOffsetV:用來表示時間戳的初始偏移;SampleSeqA:用來表示下一個數(shù)據(jù)包所處的sample的序列號;PacketSeqA:用來表示下一個數(shù)據(jù)包的序列號;packetCount:用來表示發(fā)送的數(shù)據(jù)包數(shù)目;byteCount:用來表示發(fā)送的字節(jié)數(shù)PlayTime:用來表示代表源服務器的系統(tǒng)時鐘時間;在Handoff命令無效或者定位數(shù)據(jù)幀和數(shù)據(jù)包的位置出錯的情況下, RtspSession模塊發(fā)送給RtspProxy的Handoff Response命令包含的參數(shù)為RTSP/1.0 xxx \r\n :用來表示出現(xiàn)錯誤。步驟33、當負載均衡器中的RtspProxy接收到上述攜帶遷出服務成功參 數(shù)的Handoff Response命令后,向上述目標流媒體服務器發(fā)送媒體流操作請 求,目標流媒體服務器對接收到的媒體流操作請求進行處理后,向 RtspProxy返回媒體流操作響應,實現(xiàn)媒體流服務遷入。然后,目標流媒體 服務器代替上述源流媒體服務器向用戶發(fā)送媒體流。上述媒體流服務遷入的 具體處理流程如圖5所示,具體處理過程為將媒體流服務遷入當作一個新的點播請求,RtspProxy先分別向目標流媒 體服務器中的RtspSession模塊發(fā)送Option, Describe操作,目標流媒體服務 器向RtspProxy返回Option, Describe操作的響應。然后,RtspProxy向目標 流媒體服務器發(fā)送擴展后的Setup命令,在Setup命令的TransportHeader中 添加如下參數(shù)SSRC (同步資源,Synchronization source )、 SampleSeq 、 PacketSeq 、 TimeStampOffset(時間{扁移)、ClientlP 、 PacketCount (報文數(shù))、byteCount (字節(jié)數(shù))、playTJme (播放時間)。 把這些參數(shù)放到。RtspSession在接收到上述擴展的Setup命令后,通過擴展的 ParseTransportHeader()函數(shù)獲取該擴展的Setup命令中的上述參數(shù)值,根據(jù) SampleSeq 、 PacketSeq 、 TimeStampOffset參數(shù)信息,定位出具體的數(shù)據(jù) 幀和數(shù)據(jù)包的位置,該位置為目標流媒體服務器向用戶發(fā)送的媒體流的數(shù)據(jù) 包的起始位置。向目標流媒體服務器中的QTRTPFile模塊發(fā)送該位置信息、 時間偏移的值和SSRC的值,向RtspProxy返回上述擴展的Setup命令的相 應。然后,RtspProxy向目標流媒體服務器中的RtspSession模塊發(fā)送Play操 作,RtspSession才莫塊向RtspProxy返回Play才喿作的相應。i某體流服務遷入過 程結束。之后,目標流媒體服務器中的QTRTPFile模塊從同步資源中獲取媒體流 信息,從所述時間偏移指示的時間開始,根據(jù)數(shù)據(jù)包的位置信息向所述用戶 發(fā)送媒體流。本發(fā)明提供的負載均衡器的實施例的結構示意圖如圖6所示,包括如下模塊服務遷出模塊,用于向正在向用戶提供媒體流服務的第 一流媒體服務器 發(fā)送服務遷出消息,所述第一流媒體服務器根據(jù)所述服務遷移消息中指示的 數(shù)據(jù)包的位置信息,停止向用戶提供媒體流服務;服務遷入模塊,用于向第二流媒體服務器發(fā)送媒體流操作請求,所述第 二流媒體服務器根據(jù)所述媒體流操作請求中指示的數(shù)據(jù)包的位置信息,向所 述用戶提供媒體流服務。本發(fā)明實施例涉及到對流媒體服務器的修改,主要包括消息解析、消息 傳遞和功能實現(xiàn)等三方面的修改。對于消息解析部分,它接收RTSP請求, 解析出新添加的字段參數(shù),并按照流媒體服務器的規(guī)則,將其保存在相應的數(shù)據(jù)結構中;對于消息傳遞部分,它依據(jù)已有的RTSP命令的處理流程,添 加一整套新的Handoff請求的處理流程,包括參數(shù)的提取及設置,響應消息的 字段拼接;對于功能實現(xiàn)部分,根據(jù)傳遞過來的參數(shù)實現(xiàn)x幀后停止播放或者 從某個包開始播放的功能。下面分別介紹對這三個部分的修改。(1) 消息解析部分包含"遷出"和"遷入"兩套消息解析。消息解析過程 的入口點都在Server.tproj/ RTSPRequest.cpp中。對于"遷出"的消息解析, 首先解析RTSP請求的第一行,包括Method (方法)、URI (統(tǒng)一資源標 識)和Version (版本)。然后解析對應的請求頭,但是在解析請求頭的函凄t 中,需要添加語句,以解析HANDOFF請求頭以及sampleNum 、 packetNum、 interval的值,并將它們存入字典中。對于"遷入"的消息解析, 在解析請求頭的函數(shù)中,需要添加語句以解析HANDOFF頭,取出 HANDOFF頭信息以及sampleSeq 、 packetSeq 、 timestampOffset 、 seqOffset和ssrc的值,并將它們存入字典中。(2) 消息傳遞部分本部分也包含"遷出"和"遷入"兩套對應的消息傳遞 機制。消息傳遞過程的入 口 點在文件位于 APIModules/QTSSFileModule/QTSSFileModule.cpp中。對于"遷出"的消息傳 遞部分,在負責根據(jù)RTSP命令進行相應處理的函數(shù)ProcessRTSPRequest 中需要添加針對HANDOFF的相關代碼,并在該文件中添加處理HANDOFF 的函數(shù),它用來獲取RtspProxy在RTSP命令中發(fā)送的并在RtspRequest中解析出來的相關參數(shù)(參數(shù)的功能是為了實現(xiàn)在X幀之后停止播放),并將這些參數(shù)傳遞給QTRTPFile ,同時給RtspProxy發(fā)送響應。數(shù)也需要做相應的修改,添加上遷移指令的response部分。在類 RTPSession添力口函凄史SendHandoffResponse()來發(fā)送HANDOFFp向應。在 Server.tproj/RTPStream.cpp及其相應的頭文件中添力口新的函數(shù) AppendHandoff()來完成報文的拼接工作。對于"遷入"的消息傳遞部分,需要 對QTSSFileModule.cpp文件中的DoSetup()函數(shù)中進行擴展,在提取參數(shù)時 需要4是耳又theSampleSeq 、 thePacketSeq 、 theTimeStampOffset和 theSeqOffset;在RTPSession中的AddStream函數(shù),會在內(nèi)部創(chuàng)建一個隨機 的不重復的ssrc值;在AddRTPStream函數(shù)中判斷流程是"遷入"的流程還是普 通的點播的流程,如果是"遷入"流程,則取出相應的SSRC;最后依據(jù) theSampleSeq、 thePacketSeq等參數(shù),設置遷移完成后播放的起始位置。(3)功能實現(xiàn)部分該部分也有"遷出"和"遷入"兩部分功能實現(xiàn)。對于 "遷出"的功能實現(xiàn)部分,需要增加設置HandoffSample()的函數(shù),它是設置指 定媒體流要停止的幀的序號。在該函數(shù)中,首先取出RTPStream,再把遷移 幀的值設置到RTPStream的屬性以及每個track中去,然后,在 GetNextPacket函數(shù)中,比哞交耳又出來的包的幀號和HandoffSampleNumber, 如果前者小于后者,則繼續(xù)發(fā)包,否則說明此媒體流要停止,跳轉(zhuǎn)到下一個 流,再繼續(xù)判斷下一個流是否小于該流的HandoffSampleNumber,是的話繼 續(xù)發(fā)包,否則返回一個比影片時間大的值,讓其停止。對于"遷入"的功能實 現(xiàn)部分,需要新增加一個根據(jù)時間戳和順序號位置偏移量得出的Track,并且 需要增加一個設置HANDOFF起始點(包括起始位置幀號和數(shù)據(jù)包號等)的 函數(shù),還要增加函數(shù)以便在"遷入"流程時第一次獲取報文數(shù)據(jù),以后的每次 報文數(shù)據(jù)是通過PrefetchNextPacket()函數(shù)獲取。本發(fā)明提供的 一種流媒體服務器的實施例的結構示意圖如圖7所示,包括如下模塊服務遷移消息解析模塊,用于接收負載均衡器發(fā)送的服務遷移消息,對 該服務遷移消息進行解析,獲取所述服務遷移消息中攜帶的數(shù)據(jù)包的位置信 息,將該位置信息傳遞給遷出服務實現(xiàn)模塊;遷出服務實現(xiàn)模塊,用于在向用戶發(fā)送的數(shù)據(jù)包的位置達到所述服務遷 移消息解析模塊所獲取的位置信息時,停止向用戶提供媒體流服務。本發(fā)明提供的另 一種流媒體服務器的實施例的結構示意圖如圖8所示, 包括如下模塊媒體流操作請求解析模塊,用于接收負載均衡器發(fā)送的媒體流操作請 求,對該媒體流操作請求進行解析,獲取所述媒體流操作請求中攜帶的數(shù)據(jù) 包的位置信息、媒體流同步資源、時間偏移和用戶信息,并傳遞給遷入服務 實現(xiàn)模塊;遷入服務實現(xiàn)模塊,用于根據(jù)所述媒體流操作請求解析模塊所傳遞過來 的信息,從所述媒體流同步資源獲取相應的媒體流信息,從所述時間偏移指 示的時間開始,根據(jù)數(shù)據(jù)包的位置信息向所述用戶發(fā)送々某體流。綜上所述,應用本發(fā)明所述裝置和方法后,可以使媒體流在服務過程 中,從當前服務節(jié)點實時遷移到指定的服務節(jié)點。可以實現(xiàn)動態(tài)的負載均衡 服務,提高系統(tǒng)資源的利用率,實現(xiàn)對集群系統(tǒng)中的媒體資源進行優(yōu)化部 署。并且在進行動態(tài)調(diào)整的過程中,能保證媒體流不中斷,對客戶端不造成 任何影響。因而,可以透明的達到系統(tǒng)中各個節(jié)點的負載均衡,使得各個服 務器節(jié)點協(xié)同工作。以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不 局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內(nèi),可 輕易想到的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明 的保護范圍應該以權利要求的保護范圍為準。
權利要求
1、一種媒體流在線服務遷移的方法,其特征在于,包括負載均衡器向正在向用戶提供媒體流服務的第一流媒體服務器發(fā)送服務遷移消息,所述第一流媒體服務器根據(jù)所述服務遷移消息中指示的數(shù)據(jù)包的位置信息,停止向所述用戶提供媒體流服務;所述負載均衡器向第二流媒體服務器發(fā)送媒體流操作請求,所述第二流媒體服務器根據(jù)所述媒體流操作請求中指示的數(shù)據(jù)包的位置信息,向所述用戶提供媒體流服務。
2、 根據(jù)權利要求1所述的方法,其特征在于,所述的數(shù)據(jù)包的位置信息 包括數(shù)據(jù)幀對應的采樣序列號和該采樣中數(shù)據(jù)包序列號。
3、 根據(jù)權利要求1所述的方法,其特征在于,所述的服務遷移消息中指 示的數(shù)據(jù)包的位置信息和所述媒體流操作請求中指示的數(shù)據(jù)包的位置信息相 同。
4、 根據(jù)權利要求1所述的方法,其特征在于,所述第一流媒體服務器根 據(jù)所述服務遷移消息中指示的數(shù)據(jù)包的位置信息,停止向用戶提供媒體流服 務,具體包括所述第一流媒體服務器中的會話處理模塊接收所述服務遷移消息,將所 述服務遷移消息中指示的數(shù)據(jù)包的位置信息發(fā)送給所述第 一流媒體服務器中 的流化處理模塊;所述流化處理模塊在發(fā)送的數(shù)據(jù)包的位置達到所述位置信息時,停止向用戶提供媒體流服務,所述會話處理模塊向負載均衡器返回服務遷移響應消 臺、
5、 根據(jù)權利要求4所述的方法,其特征在于,所述方法還包括所述第 一流媒體服務器中的會話處理模塊如果檢查出所述服務遷移消息 無效或者所述數(shù)據(jù)包的位置信息錯誤,所述會話處理模塊向負載均衡器返回 錯誤信息。
6、 根據(jù)權利要求1至5任一項所述的方法,其特征在于,負載均衡器向第二流媒體服務器發(fā)送媒體流操作請求,所述第二流媒體服務器根據(jù)所述媒 體流操作請求中指示的數(shù)據(jù)包的位置信息,向所述用戶提供媒體流服務,具體包括負載均衡器向第二流媒體服務器發(fā)送攜帶數(shù)據(jù)包的位置、媒體流同步資 源、時間偏移和用戶信息的媒體流建立操作,所述第二流媒體服務器中的會 話處理模塊接收所述媒體流建立操作,將所述數(shù)據(jù)包的位置信息、媒體流同 步資源和時間偏移信息發(fā)送給所述第二流媒體服務器中的流化處理模塊;所述會話處理模塊向所述負載均衡器返回媒體流建立操作的響應,所述 流化處理模塊從所述媒體流同步資源獲取相應的媒體流信息,從所述時間偏 移指示的時間開始,才艮據(jù)數(shù)據(jù)包的位置信息向所述用戶發(fā)送J^某體流。
7、 根據(jù)權利要求1至5任一項所述的方法,其特征在于,所述方法適用 于集群方式的流媒體服務器系統(tǒng)。
8、 一種負載均衡器,其特征在于,包括服務遷出模塊,用于向正在向用戶提供媒體流服務的第一流媒體服務器 發(fā)送服務遷出消息,所述第 一流媒體服務器根據(jù)所述服務遷移消息中指示的 數(shù)據(jù)包的位置信息,停止向用戶提供媒體流服務;服務遷入模塊,用于向第二流媒體服務器發(fā)送媒體流操作請求,所述第 二流媒體服務器根據(jù)所述媒體流操作請求中指示的數(shù)據(jù)包的位置信息,向所 述用戶提供媒體流服務。
9、 一種流媒體服務器,其特征在于,包括服務遷移消息解析模塊,用于接收負載均衡器發(fā)送的服務遷移消息,對 該服務遷移消息進行解析,獲取所述服務遷移消息中攜帶的數(shù)據(jù)包的位置信息,將該位置信息傳遞給遷出服務實現(xiàn)模塊;遷出服務實現(xiàn)模塊,用于在向用戶發(fā)送的數(shù)據(jù)包的位置達到所述服務遷 移消息解析模塊所獲取的位置信息時,停止向用戶提供媒體流服務。
10、 一種流媒體服務器,其特征在于,包括媒體流操作請求解析模塊,用于接收負載均衡器發(fā)送的媒體流操作請 求,對該媒體流操作請求進行解析,獲取所述媒體流操作請求中攜帶的數(shù)據(jù) 包的位置信息、媒體流同步資源、時間偏移和用戶信息,并傳遞給遷入服務 實現(xiàn)模塊;遷入服務實現(xiàn)模塊,用于根據(jù)所述媒體流操作請求解析模塊所傳遞過來 的信息,從所述媒體流同步資源獲取相應的媒體流信息,從所述時間偏移指 示的時間開始,根據(jù)數(shù)據(jù)包的位置信息向所述用戶發(fā)送々某體流。
全文摘要
本發(fā)明提供了一種媒體流在線服務遷移的方法和裝置。該方法主要包括負載均衡器向正在向用戶提供媒體流服務的第一流媒體服務器發(fā)送服務遷移消息,所述第一流媒體服務器根據(jù)所述服務遷移消息中指示的數(shù)據(jù)包的位置信息,停止向所述用戶提供媒體流服務;所述負載均衡器向第二流媒體服務器發(fā)送媒體流操作請求,所述第二流媒體服務器根據(jù)所述媒體流操作請求中指示的數(shù)據(jù)包的位置信息,向所述用戶提供媒體流服務。利用本發(fā)明,可以使媒體流在服務過程中,從當前服務節(jié)點實時遷移到指定的服務節(jié)點,從而實現(xiàn)動態(tài)的負載均衡服務,提高系統(tǒng)資源的利用率。
文檔編號H04L29/06GK101252546SQ20081010408
公開日2008年8月27日 申請日期2008年4月15日 優(yōu)先權日2008年4月15日
發(fā)明者奚宏生, 靖 李, 堅 楊, 殷保群, 趙兵選 申請人:中國科學技術大學