專利名稱:基于移動終端的流媒體播放分發(fā)系統(tǒng)及其方法
技術領域:
本發(fā)明涉及無線網(wǎng)絡流媒體播放技術領域,更為具體地,涉及一種基于移動終端 的流媒體播放分發(fā)系統(tǒng)及其方法。
背景技術:
隨著社會的進步和技術的發(fā)展,人們越來越多地使用接入終端來以無線的方式接 入因特網(wǎng)或企業(yè)內部網(wǎng)絡來獲取信息。在這種情況下,現(xiàn)在,在手機等移動終端上進行流媒體播放即手機電視有很多實現(xiàn)方案,在實際 的應用中也都在市場上各自占有一席之地,這些方案的本身也各有千秋,下面就分別探討 一下一些主流的手機電視方案的優(yōu)缺點1、手機上帶有模擬天線這種手機可以免費接收廣播的模擬電視信號,但是,隨著數(shù)字電視的推廣和模擬 電視信號逐漸關閉,可以收看的模擬電視頻道越來越少,所以這種方案的實用性很有限。2. CMMB (中國移動多媒體廣播)這是一種廣播類型的數(shù)字手持電視,可以在手機這種移動終端上播放電視,但是 需要使用CMMB運營商的特定終端設備,不是任意的手機都能接收CMMB的信號,并且也不是 免費的。另外可以接收的電視頻道也有限,只能觀看用戶所簽約的CMMB運營商所提供的頻 道,對頻道的選擇上很不自由。3.基于移動互聯(lián)網(wǎng)的流媒體技術的手機電視目前這類的應用大多是將傳統(tǒng)互聯(lián)網(wǎng)上比較成熟的流媒體技術應用到移動互聯(lián) 網(wǎng)上,給用戶提供在手機上播放電視的業(yè)務。比較常用和成熟的流媒體技術是RTSP (Real Time Streaming Protocol,實時流 傳輸協(xié)議),這個協(xié)議比較復雜,底層傳輸使用到了 UDP (User DatagramProtocol,用戶數(shù)據(jù) 報協(xié)議),而UDP是ISO參考模型中一種無連接的傳輸層協(xié)議,提供面向事務的簡單不可靠 信息傳送服務,因此是一個傳輸不可靠的協(xié)議,雖然上層協(xié)議設計有可靠性機制,但是在移 動互聯(lián)網(wǎng)這種帶寬有限、傳輸錯誤率大的環(huán)境下,RTSP的效率受到了很大的挑戰(zhàn),特別是在 無線信號不佳、網(wǎng)絡繁忙可用帶寬有限的情況下,流媒體播放過程中會出現(xiàn)頻繁的緩沖,嚴 重的還會出現(xiàn)重復播放同一段視頻內容的現(xiàn)象,這就會造成用戶的體驗很不好。另外,當前基于移動互聯(lián)網(wǎng)流媒體技術的手機電視應用產品由于技術或者其他因 素的限制,在使用上有諸多的不便,給用戶的體驗也很不好。比如,gglive就不能在中國聯(lián) 通的GRPS網(wǎng)絡使用,中國移動的萬花筒只能是中國移動的手機用戶才能使用,中國聯(lián)通的 3G手機電視業(yè)務也只能是中國聯(lián)通的3G手機用戶才能使用,等等。所以,雖然市面上已經(jīng)有不少手機上使用的流媒體播放產品提供給用戶使用,但 是使用上的限制比較多,用戶體驗不好。因此,迫切需要一種能夠通過先進的流媒體播放技 術來解決上述用戶在流媒體使用過程中存在的可靠性差、使用限制多等問題的全新的流媒 體播放技術。
發(fā)明內容
鑒于上述問題,本發(fā)明的目的是提供一種基于移動終端的流媒體播放分發(fā)系統(tǒng)及 其方法。根據(jù)本發(fā)明的一個方面,提供了一種基于移動終端的流媒體播放分發(fā)服務器,包 括頻道單元,用于管理、存儲該頻道的流媒體分片數(shù)據(jù)信息;數(shù)據(jù)傳輸單元,用于接收流媒體請求信息和發(fā)送針對所述流媒體請求信息的反饋 信息,所述反饋信息包括響應所述流媒體請求信息的流媒體分片內容信息和與所述流媒體 分片相連的下一流媒體分片信息;線程池單元,用于為所述數(shù)據(jù)傳輸單元所接收的流媒體請求信息分配專用的處理 線程以為所述流媒體請求提供并發(fā)處理;頻道管理單元,用于對存儲流媒體分片數(shù)據(jù)信息的頻道單元進行管理,以流媒體 分片為單位為所述處理線程提供處理流媒體請求信息所需要的流媒體資源信息。根據(jù)本發(fā)明的另一方面,提供了一種基于移動終端的流媒體播放分發(fā)系統(tǒng),包括 移動終端和上述流媒體播放分發(fā)服務器。再一方面,本發(fā)明還提供一種基于移動終端的流媒體播放分發(fā)方法,包括S301 流媒體播放分發(fā)服務器根據(jù)移動終端的流媒體請求提取相應的流媒體分片 數(shù)據(jù)信息;S302:流媒體播放分發(fā)服務器根據(jù)所述流媒體分片數(shù)據(jù)信息構造請求反饋信息并 返回移動終端;S303 移動終端根據(jù)所述請求反饋信息獲取所述流媒體分片數(shù)據(jù)信息,并生成所 述獲取的流媒體分片的第一后續(xù)分片的流媒體請求信息并提交給流媒體播放分發(fā)服務器。根據(jù)本發(fā)明的目的,還提供一種基于移動終端的流媒體播放分發(fā)方法,包括移動終端向流媒體播放分發(fā)服務器提交流媒體播放服務請求;流媒體播放分發(fā)服務器在接收到移動終端的播放服務請求后,為所述播放服務請 求分配一獨立的處理線程;所述處理線程對該請求進行初始檢測,確定其是否存在于頻道管理單元中,然后 將初始檢測成功或者失敗的結果反饋給所述移動終端;移動終端在接收到初始檢測成功的反饋后,生成流媒體下載請求提交至流媒體播 放分發(fā)服務器;流媒體播放分發(fā)服務器將所述下載請求繼續(xù)分發(fā)給所述處理線程處理;所述處理線程根據(jù)所述下載請求收集相應的流媒體分片數(shù)據(jù)信息,并生成返回移 動終端的下載響應信息;移動終端根據(jù)所述下載響應信息播放流媒體分片并判斷是否有后續(xù)下載,如果 有,則繼續(xù)下載、播放流程,否則結束。利用本發(fā)明的上述技術方案,相比較于現(xiàn)有的手機電視,具有以下優(yōu)勢1.可以不需要特定終端,只要是智能手機就可以使用本發(fā)明的實現(xiàn)不需要特殊的硬件終端,只要是能運行手機軟件的智能手機就可以正常播放流媒體播放業(yè)務。這樣就可以減少用戶對終端的投入,吸引更多的用戶使用。2.對運營商的網(wǎng)絡沒有特殊要求,只要能上網(wǎng)就能使用本發(fā)明的技術不限定于哪種接入網(wǎng)絡,只要通過運營商的接入網(wǎng)絡能上網(wǎng)就可以 正常的使用,比如wifi、cmwap、cmnet、3G等。因此,適用的用戶面廣,各個移動運營商的手 機用戶都能使用,即使是沒有開通手機上網(wǎng)業(yè)務的用戶,在wifi環(huán)境下也能使用。另外,用戶使用起來也很方便,比如同一個用戶在免費的wifi環(huán)境下就可以通過 wifi的方式接入,節(jié)省了無線網(wǎng)絡流量的費用,當?shù)搅藳]有wifi的環(huán)境再切換成其他方式 使用,給用戶提供良好的使用體驗。3.用戶可訪問的直播頻道沒有限制,可以根據(jù)運營情況隨時動態(tài)擴充直播頻道每個頻道單元就對應一個頻道,所以只要運營商提供更多頻道,系統(tǒng)就可以動態(tài) 的增加頻道單元。直播頻道越多就越吸引用戶使用,所以系統(tǒng)在上線后總是必然要隨時動 態(tài)的調整頻道的,會根據(jù)需要動態(tài)的增加一些熱門頻道。不管頻道是增加還是減少,調整后 就會即時在系統(tǒng)中體現(xiàn)出來,不需要暫時中斷當前的直播服務。4.全新的分發(fā)技術提高用戶體驗采用本發(fā)明中的技術不會出現(xiàn)重復播放同一段視頻內容的現(xiàn)象,每個用戶的播放 請求都會得到及時、快速的響應,相比其他同類的產品可以在一定程度上改善用戶的體驗。為了實現(xiàn)上述以及相關目的,本發(fā)明的一個或多個方面包括后面將詳細說明并在 權利要求中特別指出的特征。下面的說明以及附圖詳細說明了本發(fā)明的某些示例性方面。 然而,這些方面指示的僅僅是可使用本發(fā)明的原理的各種方式中的一些方式。此外,本發(fā)明 旨在包括所有這些方面以及它們的等同物。
通過參考以下結合附圖的說明及權利要求書的內容,并且隨著對本發(fā)明的更全面 理解,本發(fā)明的其它目的及結果將更加明白及易于理解。在附圖中圖1示出了本發(fā)明中移動終端和流媒體播放分發(fā)服務器之間的信息交互流程示 意圖;圖2示出了根據(jù)本發(fā)明的基于移動終端的流媒體播放分發(fā)系統(tǒng)的方框示意圖;以 及圖3示出了根據(jù)本發(fā)明的基于移動終端的流媒體播放分發(fā)方法的流程示意圖;圖4示出了本發(fā)明基于移動終端的流媒體播放分發(fā)方法的一個具體實施方式
的 流程示意圖。在所有附圖中相同的標號指示相似或相應的特征或功能。
具體實施例方式以下將結合附圖對本發(fā)明的具體實施例進行詳細描述。本發(fā)明提供的基于移動終端的流媒體播放分發(fā)技術的實現(xiàn)采用互聯(lián)網(wǎng)中廣泛使 用的客戶端/服務器模式,流媒體在傳輸上使用可靠傳輸?shù)腍TTP協(xié)議,在HTTP協(xié)議的上層 應用層設計自己的高效的流媒體播放協(xié)議,并采用高效的流媒體分發(fā)技術將流媒體傳輸給 客戶端播放?;赥CP的可靠連接,因此本發(fā)明基于建立在TCP之上的HTTP協(xié)議所實現(xiàn)的流媒體播放分發(fā)方案是穩(wěn)定的。因此,本發(fā)明提供的基于移動終端的流媒體播放分發(fā)系統(tǒng)包括移動終端和流媒體 播放分發(fā)服務器兩部分,其中流媒體播放分發(fā)服務器進一步包括用于分配處理線程的線程 池單元和用于管理、檢索頻道的頻道管理單元。另外,流媒體播放分發(fā)服務器還包括頻道單元,用于管理、存儲屬于該頻道的、按 照時序排列的、若干流媒體分片,每個流媒體分片都可以描述為流媒體數(shù)據(jù)。從另一個角度 來說,本發(fā)明中的頻道單元就相當于一個頻道的流媒體數(shù)據(jù)庫,本發(fā)明所述的流媒體播放 分發(fā)系統(tǒng)中存在若干個頻道單元,這些頻道單元由頻道管理單元管理,而每個頻道中的流 媒體分片數(shù)據(jù)則由該頻道的頻道單元管理。換句話說,在本發(fā)明的系統(tǒng)結構中,一個頻道就對應一個流媒體,一個流媒體又是 由若干的流媒體分片組成,頻道單元管理該頻道對應的流媒體分片。頻道管理單元管理系 統(tǒng)中的所有頻道。頻道與移動終端沒有關系。頻道的流媒體分片(也即流媒體分片)是按 照時間順序排列保存在內存中,通常把保存分片的地方稱為緩沖器。隨著時間會不斷有新 的分片加入緩沖器排隊,原有的分片也會逐漸被淘汰,由此才體現(xiàn)出直播的實時效果。圖1示出了根據(jù)本發(fā)明中移動終端和流媒體播放分發(fā)服務器之間的信息交互流 程。如圖1所示,當用戶需要獲取流媒體播放服務時,首先通過移動終端與流媒體播放分發(fā) 服務器建立TCP連接,然后在HTTP請求的內容(content)部分填入自定義的開始請求消息 START,然后通過移動終端將該HTTP請求以post方式提交給流媒體播放分發(fā)服務器。流媒體播放分發(fā)服務器為了保障能夠對每個移動終端提交的HTTP請求都能做出 及時的響應,在接收到移動終端的HTTP請求后,從其線程池單元中分配一個獨立的處理線 程處理該HTTP請求,從而為所接收的所有HTTP請求提供并發(fā)處理。當然,上述線程分配 方案只是本發(fā)明實現(xiàn)能夠保障對每個移動終端提交的HTTP請求都做出及時的響應的一種 實現(xiàn)方案,但并不是唯一的方案,也可以采用其他能夠保障及時響應每個移動終端提交的 HTTP請求的方案,如并行處理方案等。新分配的處理線程首先對該請求進行初始檢測,確定其是否存在于流媒體播放分 發(fā)服務器中,然后將初始檢測結果反饋給移動終端。具體的,作為示例,新分配的線程從頻 道管理單元中查詢要求播放的頻道是否存在,如果不存在指定的頻道,則生成包含失敗結 果的請求反饋消息START_RESP,并將該消息填入HTTP響應的內容(content)中返回給移動 終端;如果存在指定的頻道,則生成包含了成功結果的請求反饋消息START_RESP,并將該 消息填入HTTP響應的content中返回給移動終端。在本發(fā)明中,為了保障每一個移動終端的請求在流媒體播放分發(fā)服務器的處理 的效率,不僅在線程池單元會對每一個請求分配一個獨立的處理線程,而且在頻道管理單 元支持多線程的同步機制,即當一個線程訪問該頻道管理單元時就先加鎖禁止其他線程訪 問,訪問完成后再解鎖,此后才允許其他線程訪問該頻道管理單元。上述多線程的同步機 制,從線程的角度來看,同步機制是同時在訪問;從被訪問的資源的角度來看,同步的處理 就是要加、解鎖,每個訪問的線程都需要搶鎖,這樣才能保證同步。沒有搶到鎖的線程就會 被掛起直到搶到鎖的線程解鎖后喚醒,然后重新開始搶鎖。移動終端在接收到成功的響應后,在新的HTTP請求的content部分填入下載請求 DOWNLOAD,在原來的TCP連接上通過post方式將該下載請求發(fā)送給流媒體播放分發(fā)服務器。流媒體播放分發(fā)服務器在接收到移動終端繼續(xù)發(fā)來的下載請求后,將其繼續(xù)分發(fā) 給線程池單元中原來處理該移動終端的開始請求消息START的處理線程處理,該處理線程 就根據(jù)下載請求DOWNLOAD下載請求收集相應的流媒體數(shù)據(jù)信息,即繼續(xù)向頻道管理單元 請求相應的流媒體數(shù)據(jù)信息,并根據(jù)頻道管理單元返回的流媒體數(shù)據(jù)信息生成返回移動終 端的下載響應信息。在本發(fā)明提供的流媒體播放分發(fā)技術中,頻道管理單元支持多線程同步機制,管 理著構成頻道流媒體的一系列流媒體分片,這些流媒體分片是流媒體按照一定時長分隔而 成的,按照時間的先后順序保存在緩沖器中,每個分片都有大小、時長和序號來描述。頻道 管理單元向處理線程返回的流媒體數(shù)據(jù)信息包括流媒體分片緩沖器中距離當前時間(即 系統(tǒng)在處理終端的請求時的時間)第二靠近的分片和這個分片的大小、時長和序號屬性, 處理線程將這些流媒體數(shù)據(jù)信息構造成針對移動終端的下載請求DOWNLOAD的下載響應信 息D0WNL0AD_RESP,填入HTTP響應的content部分并返回給移動終端。在本實施方式中,每個頻道的流媒體分片都是一個獨立可以播放的視頻,時長比 較短,一般在60秒左右(可設),該頻道的分片按照時序來排序,由于分片是按照時序在排 序的,所以排序的隊列的倒數(shù)第二個分片就是所述分片,之所以取倒數(shù)第二個分片是平衡 播放時出現(xiàn)緩沖現(xiàn)象和實時直播的折衷結果。客戶端第一次請求這個頻道時獲取的是分片 隊列倒數(shù)第二個分片,客戶端后續(xù)的請求獲取上次分片的序號的下一個分片,上次分片的 序號在客戶端的請求中發(fā)送給服務器。移動終端在接收到該下載響應信息D0WNL0AD_RESP后樣就獲取到了其所請求 的流媒體的第一個分片,就可以播放了。同時移動終端根據(jù)所接收到的下載響應信息 D0WNL0AD_RESP判斷是否有后續(xù)下載,如果沒有,則結束;如果有,則根據(jù)所接收到的下載 響應信息D0WNL0AD_RESP中的第二靠進的分片的序號生成新的下載請求DOWNLOAD,并填入 新的HTTP請求的content部分,繼續(xù)在原先的TCP連接上通過post方式發(fā)送給流媒體播 放分發(fā)服務器。同樣,還是由給線程池單元中同一個處理線程根據(jù)該信的下載請求DOWNLOAD中 的分片序號從頻道管理其單元中請求該序號的分片和下一個分片的大小、時長、序號參數(shù) 信息,然后根據(jù)這些流媒體數(shù)據(jù)信息生成新的下載響應信息D0WNL0AD_RESP,填入HTTP響 應的content部分并返回給移動終端。這樣移動終端就獲取到了跟已經(jīng)接收到的第一個分片連續(xù)的下一個分片和再下 一個分片的大小、時長以及序號的參數(shù)信息,依此類推,移動終端重復上述請求方式就可以 源源不斷的獲取構成所請求的流媒體的這個頻道上連續(xù)的分片,并一個接一個的播放就可 以給用戶流暢地展現(xiàn)流媒體播放頻道的內容。這種分發(fā)方式能夠有效保障在流媒體分發(fā)過 程中的次序性,不會出現(xiàn)重復播放同一段視頻內容的現(xiàn)象。通過上述表述可以看出,在本發(fā)明所提供的基于移動終端的流媒體播放分發(fā)技術 方案中,流媒體播放分發(fā)服務器提供一個專用的處理線程全程處理一個移動終端的一個從 開始請求到下載完畢的所有流媒體請求,在該移動終端所請求的流媒體下載完畢之前不會 處理其它的事務,如此就保障了用戶流媒體播放請求的連續(xù)性。并且流媒體播放分發(fā)服務 器中線程池單元和頻道管理單元的并發(fā)處理方式也保障了每個移動終端的流媒體播放請求都會得到及時、快速的響應,相比較于現(xiàn)有市場上的其它同類產品可以在一定程度上提 高用戶的體驗。如上參照圖1描述了根據(jù)本發(fā)明的基于移動終端的流媒體播放分發(fā)技術。本發(fā)明 的上述基于移動終端的流媒體播放分發(fā)技術,可以采用軟件實現(xiàn),也可以采用硬件實現(xiàn),或 采用軟件和硬件組合的方式實現(xiàn)。圖2示出了根據(jù)本發(fā)明的基于移動終端的流媒體播放分發(fā)系統(tǒng)的方框示意圖。如 圖2所示,基于移動終端的流媒體播放分發(fā)系統(tǒng)包括移動終端100和流媒體播放分發(fā)服務 器200兩部分,其中流媒體播放分發(fā)服務器200進一步包括頻道單元207、數(shù)據(jù)傳輸單元 201、線程池單元203和頻道管理單元205。頻道單元207用于管理、存儲流媒體分片信息數(shù)據(jù);數(shù)據(jù)傳輸單元201為流媒體播 放分發(fā)服務器200的數(shù)據(jù)傳輸接口,用于接收流媒體請求信息和發(fā)送針對所述流媒體請求 信息的反饋信息,該反饋信息包括響應所述流媒體請求信息的流媒體分片內容信息和與所 述流媒體分片相連的下一流媒體分片信息;線程池單元203用于為數(shù)據(jù)傳輸單元201所接 收的流媒體請求信息分配專用的處理線程,以為所述流媒體請求提供并發(fā)處理;頻道管理 單元205,用于對存儲流媒體分片數(shù)據(jù)信息的頻道單元進行管理,以流媒體分片為單位為所 述處理線程提供處理流媒體請求信息所需要的流媒體資源信息。當用戶需要通過移動終端100從流媒體播放分發(fā)服務器200獲得流媒體播放服務 時,在移動終端100與流媒體播放分發(fā)服務器200建立安全的TCP連接后,移動終端100將 開始請求的信息提交給流媒體播放分發(fā)服務器200 ;流媒體播放分發(fā)服務器200通過數(shù)據(jù) 傳輸單元201接收和發(fā)送數(shù)據(jù)信息,數(shù)據(jù)傳輸單元201接收到移動終端100的開始請求的 信息后,線程池單元203即為該開始請求的信息分配一個獨立的處理線程,該處理線程首 先對所述開始請求的信息進行初始檢測,判斷其所請求的流媒體數(shù)據(jù)是否存在于頻道單元 207中,并將初始檢測結果返回給移動終端100。其中,在判斷所請求的流媒體數(shù)據(jù)是否存在于頻道單元中的過程中,首先要從頻 道管理單元中檢查客戶端請求的頻道是否存在,如果存在所請求的頻道的話就從相應的頻 道單元獲取適當?shù)牧髅襟w分片,獲取分片的規(guī)則如前所述。移動終端100如果接到存在請求數(shù)據(jù)的反饋信息,則繼續(xù)生成下載所請求的流媒 體數(shù)據(jù)的下載請求信息并提交給流媒體播放分發(fā)服務器200,之前處理開始請求的信息的 同一處理線程繼續(xù)對該下載請求信息進行處理,即根據(jù)下載請求向頻道管理單元205請求 相應的媒體數(shù)據(jù)信息,通過頻道管理單元205從頻道單元調取相關的流媒體數(shù)據(jù)信息生成 下載請求反饋信息,并通過數(shù)據(jù)傳輸單元201將該反饋信息返回移動終端100 ;移動終端 100根據(jù)所接收的下載請求反饋信息(流媒體分片數(shù)據(jù)信息)進行流媒體分片的播放并判 斷是否具有后續(xù)下載,如果有,則繼續(xù)以向流媒體播放分發(fā)服務器200發(fā)送下載請求信息 的方式進行后續(xù)流媒體分片的下載播放。在本發(fā)明中,一個處理線程一旦啟動,流媒體播放分發(fā)服務器200的頻道單元207 中如果存在被請求的流媒體數(shù)據(jù),則該處理線程將始終為該流媒體下載請求服務直至下載 結束,線程池單元203不會再為其分配其它消息處理任務,從而為用戶流媒體播放請求的 連續(xù)性提供保障。具體的,作為示例,在本發(fā)明的一個具體實施方式
中,線程池單元203在為來自移動終端的請求信息分配處理線程時,首先判斷該請求信息是原始請求信息還是后續(xù)下載請 求信息,如果是原始請求信息,則直接為該信息分配一個空閑的處理線程;如果是后續(xù)下載 信息,則查詢該后續(xù)下載請求信息的原始請求信息及曾為其分配的原始處理線程,并將該 后續(xù)下載信息繼續(xù)分配給該原始處理線程處理。圖3是作為本發(fā)明的一個方面的基于移動終端的流媒體播放分發(fā)方法的流程圖, 如圖3所示,基于移動終端的流媒體播放分發(fā)方法,包括S301 流媒體播放分發(fā)服務器根據(jù)移動終端的流媒體請求提取相應的流媒體分片 數(shù)據(jù)信息;S302:流媒體播放分發(fā)服務器根據(jù)上述流媒體分片數(shù)據(jù)信息構造請求反饋信息并 返回移動終端;S303 移動終端根據(jù)上述請求反饋信息獲取所述流媒體分片數(shù)據(jù)信息,并生成所 獲取的流媒體分片的第一后續(xù)分片的流媒體請求信息并提交給流媒體播放分發(fā)服務器。其中,在步驟S303中,移動終端在根據(jù)所述請求反饋信息獲取所述流媒體分片數(shù) 據(jù)信息后,立即播放所述流媒體分片。更進一步,移動終端在根據(jù)所述請求反饋信息獲取所述流媒體分片數(shù)據(jù)信息后, 根據(jù)所獲取的流媒體分片數(shù)據(jù)信息進一步判斷是否還有后續(xù)分片;如果有后續(xù)分片,則根 據(jù)所獲取的流媒體分片數(shù)據(jù)信息生成已播放分片的第一后續(xù)分片的流媒體請求信息并提 交給流媒體播放分發(fā)服務器;如果沒有后續(xù)分片,則結束流媒體分發(fā)流程。具體地,作為示例,圖4示出了根據(jù)本發(fā)明的基于移動終端的流媒體播放分發(fā)方 法一個具體實施例的流程示意圖。如圖4所示,流媒體播放分發(fā)服務器根據(jù)移動終端的流 媒體請求提取相應的流媒體分片數(shù)據(jù)信息(步驟S401);流媒體播放分發(fā)服務器根據(jù)所述 流媒體分片數(shù)據(jù)信息構造請求反饋信息并返回移動終端(步驟S402);移動終端根據(jù)所述 請求反饋信息進行流媒體分片的播放(步驟S403)并判斷是否還有后續(xù)分片(步驟S404), 如果沒有,則結束流媒體分發(fā)流程;如果有后續(xù)分片,則根據(jù)所述請求反饋信息生成已播放 分片的第一后續(xù)分片的流媒體請求信息并提交給流媒體播放分發(fā)服務器(步驟S405),然 后轉至步驟S401,繼續(xù)進行流媒體分發(fā)流程,直至結束。另外,為了增強人機界面的友好性,在用戶通過移動終端向流媒體播放分發(fā)服務 器提交請求后,流媒體播放分發(fā)服務器首先對該請求進行初始檢測,判斷移動終端所請求 的流媒體信息是否存在,并將相應的判斷信息返回移動終端,給出“不存在,結束下載? ”、 “不存在,轉向其他下載? ”或者“存在,繼續(xù)下載? ”等提示信息,用戶可以根據(jù)提示信息在 移動終端進行下一步操作。在本發(fā)明的一個優(yōu)選實施方式中,為了保障了用戶流媒體播放請求能夠得到連續(xù) 性的處理響應,在流媒體播放分發(fā)服務器處理用戶流媒體播放請求的過程中,提供一個專 用的處理線程全程處理該請求從開始到下載完畢的所有流媒體請求,并且在該移動終端所 請求的流媒體下載完畢之前不會處理其它的事務。如上參照附圖以示例的方式描述根據(jù)本發(fā)明的基于移動終端的流媒體播放分發(fā) 技術。但是,本領域技術人員應當理解,對于上述本發(fā)明所提出的基于移動終端的流媒體播 放分發(fā),還可以在不脫離本發(fā)明內容的基礎上做出各種改進。因此,本發(fā)明的保護范圍應當 由所附的權利要求書的內容確定。
權利要求
1.一種基于移動終端的流媒體播放分發(fā)服務器,包括頻道單元,用于管理、存儲該頻道的流媒體分片數(shù)據(jù)信息;數(shù)據(jù)傳輸單元,用于接收流媒體請求信息和發(fā)送針對所述流媒體請求信息的反饋信 息,所述反饋信息包括響應所述流媒體請求信息的流媒體分片內容信息和與所述流媒體分 片相連的下一流媒體分片信息;線程池單元,用于為所述數(shù)據(jù)傳輸單元所接收的流媒體請求信息分配專用的處理線程 以為所述流媒體請求提供并發(fā)處理;頻道管理單元,用于對存儲流媒體分片數(shù)據(jù)信息的頻道單元進行管理,以流媒體分片 為單位為所述處理線程提供處理流媒體請求信息所需要的流媒體資源信息。
2.如權利要求1所述的基于移動終端的流媒體播放分發(fā)服務器,其中,所述專用的處理線程一旦啟動,則該處理線程將始終為同一個流媒體下載請求服務直 至下載結束,線程池單元不會再為其分配其它消息處理任務。
3.如權利要求2所述的基于移動終端的流媒體播放分發(fā)服務器,其中,所述線程池單元在為流媒體請求信息分配處理線程時,首先判斷該請求信息是原始請 求信息還是后續(xù)下載請求信息,如果是原始請求信息,則直接為所述原始請求信息分配一 個空閑的處理線程;如果是后續(xù)下載信息,則查詢所述后續(xù)下載請求信息的原始請求信息 及曾為其分配的原始處理線程,并將所述后續(xù)下載信息繼續(xù)分配給原始處理線程處理。
4.如權利要求1所述的基于移動終端的流媒體播放分發(fā)服務器,其中,所述頻道管理單元支持多線程同步機制,以一系列流媒體分片的方式管理所述頻道單 元中的流媒體數(shù)據(jù)信息,所述流媒體分片由流媒體按照一定時長分隔而成的,按照時間的 先后順序保存在頻道單元中。
5.如權利要求4所述的基于移動終端的流媒體播放分發(fā)服務器,其中,每個所述流媒體分片都采用大小、時長和序號的參數(shù)來描述。
6.一種基于移動終端的流媒體播放分發(fā)系統(tǒng),包括移動終端和流媒體播放分發(fā)服務 器,其中,所述流媒體播放分發(fā)服務器為如權利要求1 5中任一項所述的流媒體播放分發(fā) 服務器。
7.如權利要求6所述的流媒體播放分發(fā)系統(tǒng),其中,所述移動終端根據(jù)所述流媒體播 放分發(fā)服務器返回的流媒體分片進行播放并構造與所述播放的流媒體分片連續(xù)的下一個 流媒體分片的請求信息。
8.一種基于移動終端的流媒體播放分發(fā)方法,包括 S301 流媒體播放分發(fā)服務器根據(jù)移動終端的流媒體請求提取相應的流媒體分片數(shù)據(jù) fn息;S302:流媒體播放分發(fā)服務器根據(jù)所述流媒體分片數(shù)據(jù)信息構造請求反饋信息并返回 移動終端;S303 移動終端根據(jù)所述請求反饋信息獲取所述流媒體分片數(shù)據(jù)信息,并生成所述獲 取的流媒體分片的第一后續(xù)分片的流媒體請求信息并提交給流媒體播放分發(fā)服務器。
9.如權利要求8所述的基于移動終端的流媒體播放分發(fā)方法,其中,在步驟S303中,移 動終端在根據(jù)所述請求反饋信息獲取所述流媒體分片數(shù)據(jù)信息后,立即播放所述流媒體分 片。
10.如權利要求8所述的基于移動終端的流媒體播放分發(fā)方法,其中,在步驟S303中, 移動終端在根據(jù)所述請求反饋信息獲取所述流媒體分片數(shù)據(jù)信息后,根據(jù)所獲取的流媒體 分片數(shù)據(jù)信息進一步判斷是否還有后續(xù)分片;如果有后續(xù)分片,則根據(jù)所述獲取的流媒體分片數(shù)據(jù)信息生成已播放分片的第一后續(xù) 分片的流媒體請求信息并提交給流媒體播放分發(fā)服務器; 如果沒有后續(xù)分片,則結束流媒體分發(fā)流程。
11.根據(jù)權利要求8所述的基于移動終端的流媒體播放分發(fā)方法,其中,所述流媒體分片數(shù)據(jù)信息包括當前流媒體分片的內容信息和所述當前流媒體分片的 第一后續(xù)分片參數(shù)信息。
12.根據(jù)權利要求9所述的基于移動終端的流媒體播放分發(fā)方法,其中, 所述參數(shù)信息包括流媒體分片的大小、時長和序號。
13.一種基于移動終端的流媒體播放分發(fā)方法,包括移動終端向流媒體播放分發(fā)服務器提交流媒體播放服務請求; 流媒體播放分發(fā)服務器在接收到移動終端的播放服務請求后,為所述播放服務請求分 配一獨立的處理線程;所述處理線程對該請求進行初始檢測,確定其是否存在于流媒體播放分發(fā)服務器的頻 道管理單元中,然后將初始檢測成功或者失敗的結果反饋給所述移動終端;移動終端在接收到初始檢測成功的反饋后,生成流媒體下載請求提交至流媒體播放分 發(fā)服務器;流媒體播放分發(fā)服務器將所述下載請求繼續(xù)分發(fā)給所述處理線程處理; 所述處理線程根據(jù)所述下載請求收集相應的流媒體分片數(shù)據(jù)信息,并生成返回移動終 端的下載響應信息;移動終端根據(jù)所述下載響應信息播放流媒體分片并判斷是否有后續(xù)下載,如果有,則 繼續(xù)下載、播放流程,否則結束。
14.根據(jù)權利要求13所述的基于移動終端的流媒體播放分發(fā)方法,其中,所述流媒體分片數(shù)據(jù)信息包括當前流媒體分片的內容信息和所述當前流媒體分片的 第一后續(xù)分片參數(shù)信息。
15.根據(jù)權利要求14所述的基于移動終端的流媒體播放分發(fā)方法,其中, 所述參數(shù)信息包括流媒體分片的大小、時長和序號。
全文摘要
本發(fā)明提供了一種基于移動終端的流媒體播放分發(fā)服務器,包括頻道單元,用于管理、存儲該頻道的流媒體分片數(shù)據(jù)信息;數(shù)據(jù)傳輸單元,用于接收流媒體請求信息和發(fā)送針對所述流媒體請求信息的反饋信息,所述反饋信息包括響應流媒體請求信息的流媒體分片內容信息和與所述流媒體分片相連的下一流媒體分片信息;線程池單元,用于為數(shù)據(jù)傳輸單元所接收的流媒體請求信息分配專用的處理線程以為所述流媒體請求提供并發(fā)處理;頻道管理單元,用于對存儲流媒體分片數(shù)據(jù)信息的頻道單元進行管理,以流媒體分片為單位為處理線程提供處理流媒體請求信息所需要的流媒體資源信息。本發(fā)明應用限制少,并且能夠及時、快速的響應每個用戶的播放請求,改善用戶的體驗。
文檔編號H04L29/06GK102137278SQ20101061439
公開日2011年7月27日 申請日期2010年12月30日 優(yōu)先權日2010年12月30日
發(fā)明者吳堅, 梁捷 申請人:廣州市動景計算機科技有限公司