專利名稱:資源分配方法和系統(tǒng)以及邊緣資源管理器和會話管理器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字電視技術(shù),尤其涉及資源分配方法和系統(tǒng)以及邊緣資源管理器和
會話管理器。
背景技術(shù):
隨著有線數(shù)字電視接入和應(yīng)用業(yè)務(wù)的高速發(fā)展,交互業(yè)務(wù)的推廣,業(yè)務(wù)運(yùn)營規(guī)模的擴(kuò)大,IPQAM (Internet Protocol Quadrature Amplitude Modulation,互聯(lián)網(wǎng)協(xié)議正交幅度調(diào)制)的數(shù)量也在不斷擴(kuò)大,對QAM (Quadrature Amplitude Modulation,正交幅度調(diào)制)資源的使用也日趨復(fù)雜?;谙乱淮曨l點(diǎn)播NGOD (Next Generation On DemandVideo Architectur)架構(gòu)的數(shù)字電視視頻點(diǎn)播系統(tǒng)的邊緣資源的會話管理方案得到廣泛應(yīng)用。通過在視頻點(diǎn)播系統(tǒng)中引用邊緣資源管理器ERM,有效降低了帶寬資源的無謂消耗, 使邊緣設(shè)備資源得以有效利用,能更好地處理用戶請求。NGOD提出邊緣架構(gòu)的概念,邊緣架構(gòu)中定義的主要模塊有邊緣資源管理器(ERM),邊緣資源管理重定向器(ERMR)和邊緣設(shè)備(ED)。其中,ERM負(fù)責(zé)管理ED中的QAM資源,ERMR服務(wù)于上層的會話管理器(SM),當(dāng)存在多個ERM時負(fù)責(zé)ERM的重定向。ERM是NGOD架構(gòu)標(biāo)準(zhǔn)中的一個模塊,主要用于有效管理和調(diào)度邊緣QAM資源。當(dāng)點(diǎn)播客戶端發(fā)起點(diǎn)播請求時,通過會話管理器SM (Session Manager)建立一個會話,SM則會向ERM發(fā)起資源請求,ERM則會收集符合標(biāo)準(zhǔn)的IPQAM的資源信息返回給SM。當(dāng)SM收到資源信息后會結(jié)合資源的其他情況完成會話過程,使得視頻服務(wù)器能和IPQAM有效配合完成點(diǎn)播。現(xiàn)有技術(shù)中,SM通過S6接口和和ERM之間建立了 TCP長連接后,進(jìn)行資源請求的Session信令交互,此接口基于RTSP協(xié)議,包括Setup / Teardown / Announce信令。點(diǎn)播客戶端發(fā)起點(diǎn)播請求時,SM會建立會話,并通過S6接口向ERM發(fā)送資源請求Setup,ERM選擇好合適的資源后會給SM發(fā)送Response回應(yīng)。具體的消息流程,如圖Ia所示,包括如下步驟SlOl SM向ERM發(fā)送建立會話消息Setup消息。該Setup消息中包括一組QAM的信息和會話建立所需要的帶寬信息,即包括一組QAM的名稱(QAM Name)和帶寬信息。S102 =ERM收到SM發(fā)送來的Setup消息后,根據(jù)Setup消息選擇QAM資源,并返回會話建立響應(yīng)消息Setup Response消息給SM。具體地,ERM從Setup消息中解析出QAM名字列表,從QAM名字列表中根據(jù)一定的算法選擇出一個QAM資源并確定該資源,最后查詢該QAM資源對應(yīng)的QAM索引號(SessionId)、IP信息和頻點(diǎn)、節(jié)目號信息,作為資源信息攜帶于Setup Response消息中向SM返回。會話建立后,在會話過程中,SM會定時向ERM發(fā)送Get_Parameter消息,ERM接收到Get_Parameter消息后認(rèn)為SM在繼續(xù)使用該QAM資源,則為其保持該QAM資源。在ERM接收到SM發(fā)送的結(jié)束會話消息Teardown消息后,確認(rèn)SM不再使用該QAM資源,則釋放該QAM資源;或者,在因?yàn)槟承┰驅(qū)е耂M與ERM之間的TCP連接斷開后,ERM釋放該QAM資源。本發(fā)明的發(fā)明人發(fā)現(xiàn),現(xiàn)有技術(shù)的QAM資源獲取方法會増加ERM的負(fù)擔(dān),原因如下在現(xiàn)有技術(shù)的QAM資源獲取方法中,SM與ERM建立TCP長連接后,在ERM中ー個TCP長連接對應(yīng)于ー個QAM資源的申請、保持和釋放過程。正常情況下使用QAM資源完畢,接著釋放資源,然后再斷開TCP連接。但是,如果異常情況下TCP連接斷開了,然而SM申請的資源仍然需要使用,則SM需要重復(fù)上述的申請過程,重新申請?jiān)換AM資源。SM重新申請QAM資源后,ERM需要重新為SM分配QAM資源,這會導(dǎo)致ERM進(jìn)行業(yè)務(wù)的重啟,從而增加了 ERM的負(fù)擔(dān),并導(dǎo)致ERM為SM提供QAM資源的低效。因此,現(xiàn)有技術(shù)的QAM資源提供方法使得ERM負(fù)擔(dān)較大,在連接異常斷開后,SM繼續(xù)使用QAM資源的過程效率低。
發(fā)明內(nèi)容
本發(fā)明的實(shí)施例提供了一種資源分配方法和系統(tǒng)以及邊緣資源管理器和會話管理器,用以減輕ERM負(fù)擔(dān),在連接異常斷開后,提高SM繼續(xù)使用QAM資源的效率。根據(jù)本發(fā)明的ー個方面,提供了一種資源分配方法,包括在邊緣資源管理器ERM為會話管理器SM分配了正交幅度調(diào)制QAM資源后,若所述ERM與所述SM之間的連接異常斷開,則所述ERM為所述SM保持所述QAM資源一段時間;若在所述一段時間內(nèi),所述ERM接收到所述SM發(fā)送的參數(shù)請求Get_Parameter消息,則向所述SM返回為其分配的QAM資源繼續(xù)有效的確認(rèn)消息;否則,所述ERM釋放所述QAM資源;其中,所述Get_Parameter消息中攜帶有所述QAM資源的QAM索引號。其中,所述ERM為所述SM保持所述QAM資源一段時間具體為在所述ERM檢測到所述ERM與SM之間的連接異常斷開后,確定所述QAM資源的使用情況信息中的時間戳;從所述時間戳所指示的時間點(diǎn)延長設(shè)定時間段后得到的時間點(diǎn),作為保持所述QAM資源的時間終點(diǎn);所述ERM為所述SM保持所述QAM資源到所述時間終點(diǎn)。所述ERM接收到所述SM發(fā)送的參數(shù)請求Get_Parameter消息,則向所述SM返回為其分配的QAM資源繼續(xù)有效的確認(rèn)消息具體包括所述ERM接收到所述SM發(fā)送的參數(shù)請求Get_Parameter消息,在確認(rèn)該Get_Parameter消息中攜帶的點(diǎn)播會話標(biāo)識OnDemandSessionId等于所述QAM資源的使用情況信息中對應(yīng)于該QAM索引號的OnDemandSessionId,該Get_Parameter消息中攜帶的QAM索引號對應(yīng)的QAM資源的使用情況信息中的分配情況標(biāo)識設(shè)置為“使用狀態(tài)”后,向所述SM返回為其分配的QAM資源繼續(xù)有效的確認(rèn)消息。進(jìn)ー步,在所述確認(rèn)該Get_Parameter消息中攜帶的點(diǎn)播會話標(biāo)識OnDemandSessionId等于所述QAM資源的使用情況信息中對應(yīng)于該QAM索引號的OnDemandSessionId,該Get_Parameter消息中攜帶的QAM索引號對應(yīng)的QAM資源的使用情況信息中的分配情況標(biāo)識設(shè)置為“使用狀態(tài)”后,還包括所述ERM更新該QAM資源的使用情況信息中的時間戳為當(dāng)前時間。
5
其中,所述ERM釋放所述QAM資源具體為所述ERM將所述QAM資源的使用情況信息中的分配情況標(biāo)識設(shè)置為“空閑狀態(tài)”。進(jìn)一步,在所述ERM與SM之間的連接異常斷開之前,還包括所述ERM為所述SM分配所述QAM資源的過程所述SM向所述ERM發(fā)送建立會話Setup消息;所述ERM在接收到所述Setup消息后,根據(jù)所述Setup消息為所述SM分配所述QAM資源后,向所述SM返回會話建立響應(yīng)Setup Response消息;并所述ERM在確認(rèn)所述Setup消息中攜帶有重連模式的指示信息后,將所述QAM資源的使用情況信息中的重連標(biāo)識設(shè)置為“是”。較佳地,所述ERM與SM之間的連接異常斷開,則所述ERM為所述SM保持所述QAM·資源一段時間,具體包括所述ERM與SM之間的連接異常斷開后,所述ERM在確認(rèn)所述QAM資源的使用情況信息中的重連標(biāo)識為“是”后,為所述SM保持所述QAM資源一段時間。進(jìn)一步,在所述ERM與SM之間的連接異常斷開后,還包括若所述ERM在確認(rèn)所述QAM資源的使用情況信息中的重連標(biāo)識為“否”,則釋放所述QAM資源。根據(jù)本發(fā)明的另一個方面,還提供了一種邊緣資源管理器,包括資源分配模塊,用于為SM分配QAM資源;異常斷開檢測模塊,用于在檢測到所述邊緣資源管理器ERM與所述SM之間的連接異常斷開后,發(fā)送連接斷開通知;資源維持模塊,用于接收到所述異常斷開檢測模塊發(fā)送的連接斷開通知后,為所述SM保持所述QAM資源一段時間;若在所述一段時間內(nèi),接收到所述SM發(fā)送的參數(shù)請求Get_Parameter消息,則向所述SM返回為其分配的QAM資源繼續(xù)有效的確認(rèn)消息;否則,釋放所述QAM資源;其中,所述Get_Parameter消息中攜帶有所述QAM資源的QAM索引號。其中,所述資源維持模塊具體包括資源保持單元,用于在接收到所述連接斷開通知后,確定所述QAM資源的使用情況信息中的時間戳;從所述時間戳所指示的時間點(diǎn)延長設(shè)定時間段后得到的時間點(diǎn),作為保持所述QAM資源的時間終點(diǎn);為所述SM保持所述QAM資源到所述時間終點(diǎn);資源繼續(xù)有效確認(rèn)單元,用于根據(jù)所述Get_Parameter消息,在確認(rèn)該Get_Parameter消息中攜帶的點(diǎn)播會話標(biāo)識OnDemandSessionId等于所述QAM資源的使用情況信息中對應(yīng)于該QAM索引號的OnDemandSessionId,該Get_Parameter消息中攜帶的QAM索引號對應(yīng)的QAM資源的使用情況信息中的分配情況標(biāo)識設(shè)置為“使用狀態(tài)”后,向所述SM返回為其分配的QAM資源繼續(xù)有效的確認(rèn)消息,并且更新該QAM資源的使用情況信息中的時間戳為當(dāng)前時間。所述資源保持單元具體包括時間終點(diǎn)確定子單元,用于在接收到所述連接斷開通知后,確定所述QAM資源的使用情況信息中的時間戳;從所述時間戳所指示的時間點(diǎn)延長設(shè)定時間段后得到的時間點(diǎn),作為保持所述QAM資源的時間終點(diǎn);資源釋放子單元,用于在所述時間終點(diǎn)到達(dá)時,確定所述資源繼續(xù)有效確認(rèn)單元沒有接收到所述GetParameter消息,則將所述QAM資源的使用情況信息中的分配情況標(biāo)識設(shè)置為“空閑狀態(tài)”。所述資源分配模塊具體包括分配確認(rèn)消息返回単元,用于根據(jù)所述SM發(fā)送的Setup消息為所述SM分配所述QAM資源后,向所述SM返回Setup Response消息;重連標(biāo)識設(shè)置單元,用于在確認(rèn)所述Setup消息中攜帯有重連模式的指示信息后,將所述QAM資源的使用情況信息中的重連標(biāo)識設(shè)置為“是”;否則,將所述QAM資源的使用情況信息中的重連標(biāo)識設(shè)置為“否”;以及所述資源保持単元還用于在為所述SM保持所述QAM資源一段時間之前,確認(rèn)所述QAM資源的使用情況信息中的重連標(biāo)識為“是”。根據(jù)本發(fā)明的另ー個方面,還提供了一種會話管理器,包括 資源申請模塊,用于向ERM發(fā)送Setup消息,并接收所述ERM返回的SetupResponse消息;其中,所述Setup消息中攜帶有點(diǎn)播會話標(biāo)識,所述Setup Response消息中攜帯有為所述會話管理器SM分配的QAM資源的QAM索引號;異常斷開檢測模塊,用于在檢測到所述SM與所述ERM之間的連接異常斷開后,發(fā)送連接斷開通知;重連模塊,用于接收到所述異常斷開檢測模塊發(fā)送的連接斷開通知后,向所述ERM發(fā)送攜帶有所述點(diǎn)播會話標(biāo)識和所述QAM索引號的Get_Parameter消息,并在接收到所述ERM返回的確認(rèn)消息后,確認(rèn)所述QAM資源的繼續(xù)有效性。進(jìn)ー步,所述資源申請模塊還用于在所述發(fā)送Setup消息之前,在所述Setup消息中攜帯重連模式的指示信息。根據(jù)本發(fā)明的另ー個方面,還提供了一種資源分配系統(tǒng),包括邊緣資源管理器ERM和會話管理器SM ;其中,所述ERM為SM分配了 QAM資源后,若所述ERM與所述SM之間的連接異常斷開,則所述ERM為所述SM保持所述QAM資源一段時間;若在所述一段時間內(nèi),所述ERM接收到所述SM發(fā)送的參數(shù)請求Get_Parameter消息,則向所述SM返回為其分配的QAM資源繼續(xù)有效的確認(rèn)消息;否則,所述ERM釋放所述QAM資源;其中,所述Get_Parameter消息中攜帶有所述QAM資源的QAM索引號。本發(fā)明實(shí)施例的技術(shù)方案,由于在SM與ERM之間的TCP連接異常斷開后,ERM為SM持續(xù)保留其申請的QAM資源一段時間沒有進(jìn)行釋放,從而SM可以通過發(fā)送GetParameter消息到ERM,ERM可以允許SM繼續(xù)使用該QAM資源;從而SM不需要發(fā)送Setup消息來重新申請?jiān)換AM資源,ERM也不必進(jìn)行業(yè)務(wù)重啟,重新為SM分配QAM資源,從而既減少了 ERM的負(fù)擔(dān),也減少了交互過程節(jié)約了網(wǎng)絡(luò)資源,還提高了 SM繼續(xù)使用QAM資源的效率。
圖Ia為現(xiàn)有技術(shù)的SM向ERM申請QAM資源的信令流程圖;圖Ib為本發(fā)明實(shí)施例的QAM資源分配系統(tǒng)的示意圖;圖2a、2b為本發(fā)明實(shí)施例的ERM為SM分配QAM資源的方法流程7
圖3為本發(fā)明實(shí)施例的另一種QAM資源分配系統(tǒng)的示意圖;圖4a、4b為本發(fā)明實(shí)施例的另一種ERM為SM分配QAM資源的方法流程圖;圖5為本發(fā)明實(shí)施例的ERM的內(nèi)部結(jié)構(gòu)框圖;圖6為本發(fā)明實(shí)施例的SM的內(nèi)部結(jié)構(gòu)框圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉出優(yōu)選實(shí)施例,對本發(fā)明進(jìn)一步詳細(xì)說明。然而,需要說明的是,說明書中列出的許多細(xì)節(jié)僅僅是為了使讀者對本發(fā)明的一個或多個方面有一個透徹的理解,即便沒有這些特定的細(xì)節(jié)也可以實(shí)現(xiàn)本發(fā)明的這些方面。本申請使用的“模塊”、“系統(tǒng)”等術(shù)語旨在包括與計(jì)算機(jī)相關(guān)的實(shí)體,例如但不限 于硬件、固件、軟硬件組合、軟件或者執(zhí)行中的軟件。例如,模塊可以是,但并不僅限于處理器上運(yùn)行的進(jìn)程、處理器、對象、可執(zhí)行程序、執(zhí)行的線程、程序和/或計(jì)算機(jī)。舉例來說,計(jì)算設(shè)備上運(yùn)行的應(yīng)用程序和此計(jì)算設(shè)備都可以是模塊。一個或多個模塊可以位于執(zhí)行中的一個進(jìn)程和/或線程內(nèi),一個模塊也可以位于一臺計(jì)算機(jī)上和/或分布于兩臺或更多臺計(jì)算機(jī)之間。本發(fā)明的發(fā)明人基于對現(xiàn)有技術(shù)的QAM資源獲取方法中,ERM負(fù)擔(dān)大、重新分配QAM資源效率低的原因的分析,則在本發(fā)明實(shí)施例的ERM中,若檢測到與SM的連接異常斷開,則保留該SM申請的QAM資源一段時間;在這段時間內(nèi),ERM不釋放該QAM資源,若再次接收到SM對該SM的資源,則允許該SM繼續(xù)使用已經(jīng)申請的QAM資源,而不必重新申請;這樣,ERM也不必進(jìn)行業(yè)務(wù)的重啟,重新分配QAM資源,從而減小了 ERM的負(fù)擔(dān),并提高了 ERM為SM提供QAM資源的效率。下面結(jié)合附圖詳細(xì)說明本發(fā)明實(shí)施例的技術(shù)方案。本發(fā)明實(shí)施例提供的QAM資源分配系統(tǒng),如圖Ib所示,包括:SM101、ERM102。本發(fā)明實(shí)施例的ERM為SM分配QAM資源的系統(tǒng)中,SMlOl向ERM102申請QAM資源、ERM102為SMlOl分配QAM資源的方法流程,如圖2a、2b所示,包括如下步驟S201 :SMlOI 向 ERM102 發(fā)送 Setup 消息。具體地,SMlOl與ERM102建立TCP長連接后,向ERM102發(fā)送Setup消息,該Setup消息中包括一組QAM名稱(QAM Name)、會話建立所需要的帶寬信息,以及點(diǎn)播會話標(biāo)識OnDemandSessionId0S202 ERM102收到SMlOl發(fā)送來的Setup消息后,根據(jù)Setup消息選擇QAM資源,并返回Setup Response消息給SM101,更改分配給SMlOl的QAM資源的使用情況信息。具體地,ERM102從Setup消息中解析出QAM的名稱,根據(jù)解析出的QAM的名稱依據(jù)一定的算法選擇出一個OAM資源分配給SMlOl :查詢該QAM資源對應(yīng)的QAM索引號(SessionId)、IP信息和頻點(diǎn)、節(jié)目號信息,作為資源信息攜帶于Setup Response消息中向SMlOl返回;并且,在將該QAM資源分配給SMlOl后,ERM102更改分配給SMlOl的QAM資源的使用情況信息,即在該QAM資源的使用情況信息中記錄下相關(guān)信息。QAM資源的使用情況信息中,包括該QAM資源的QAM索引號、對應(yīng)于該QAM索引號的OnDemandSessionId,以及該QAM資源的分配情況標(biāo)識、時間戳。在將該QAM資源分配給SMlOl后,ERM102在該QAM資源的使用情況信息中,對應(yīng)于QAM索引號記錄下Setup消息中攜帶的OnDemandSessionId,并將該QAM資源的分配情況標(biāo)識設(shè)置為“使用狀態(tài)”(“used”),““使用狀態(tài)”(“Used”)標(biāo)識表明該QAM資源已被分配使用,不能再分配給其它SM使用。如果QAM資源的分配情況標(biāo)識設(shè)置為“空閑狀態(tài)”(“idle”),“空閑狀態(tài)”(“idle”)標(biāo)識表明該QAM資源已被釋放,處于空閑狀態(tài),可以分配給其它SM使用。此外,在該QAM資源的使用情況信息中的時間戳記錄為分配該QAM資源分配給SMlOl的時間點(diǎn)的信息。S203 SMlOl 向 ERM102 發(fā)送參數(shù)請求 Get_Parameter 消息。一般而言,QAM資源的使用情況信息中的時間戳被用于超時計(jì)時;即在ERM102接收到SMlOl發(fā)送的Get_Parameter消息后,使用接收Get_Parameter消息的時間來更新時間戳后,依據(jù)更新后的時間戳進(jìn)行超時計(jì)吋。若在時間戳所指示的時間點(diǎn)后的規(guī)定時間段(比如180s)內(nèi)ERM102沒有接收到SMlOl發(fā)送的Get_Parameter消息,則認(rèn)為超時,將釋放掉SMlOl之前申請的QAM資源,即將SMlOl之前申請的QAM資源的使用情況信息中的分配情況標(biāo)識設(shè)置為“idle”,可以分配給其它SM使用。S204 ERM102向SMlOl返回為其分配的QAM資源繼續(xù)有效的確認(rèn)消息2000K消息。具體地,ERM102若在時間戳所指示的時間點(diǎn)后的規(guī)定時間段內(nèi)接收到SMlOl發(fā)送的Get_Parameter消息,則向SMlOl返回2000K確認(rèn)消息,以向SMlOl確認(rèn)為其分配的QAM資源繼續(xù)有效,即SMlOl可以繼續(xù)使用該QAM資源。S205 ERM102若檢測到連接異常斷開,則為SMlOl保持其申請的QAM資源一段時間。具體地,在ERM102為SMlOl分配了 QAM資源后,若因?yàn)槟撤N原因?qū)е耂MlOl與ERM102之間的TCP連接異常斷開,即在SMlOl向ERM102發(fā)送Teardown消息之前,SMlOl與ERM102之間的TCP連接斷開,ERM102在檢測到連接異常斷開后,將繼續(xù)為SMlOl保持其申請的QAM資源一段時間ERM102確定SMlOl所申請的QAM資源的使用情況信息中的時間戳;從所述時間戳所指示的時間點(diǎn)延長設(shè)定時間段后,得到的時間點(diǎn)作為保持所述QAM資源的時間終點(diǎn);ERM102為SMlOl保持該QAM資源到所述時間終點(diǎn)。在SMlOl與ERM102之間的TCP連接異常斷開后,SMlOl可能還需要繼續(xù)使用該QAM資源,則可依據(jù)以下步驟為SMlOl高效地繼續(xù)提供該QAM資源S206 :SMlOI 向 ERM102 發(fā)送 Get_Parameter 消息。具體地,在SMlOl與ERM102之間的TCP連接異常斷開后,若SMlOl仍然需要繼續(xù)使用上述過程中所申請的QAM資源,則重新與ERM102建立TCP連接后,向ERM102發(fā)送攜帶有所述QAM資源的QAM索引號和OnDemandSessionId的Get_Parameter消息,該OnDemandSessionId等于SMlOl在申請?jiān)換AM資源時發(fā)送的Setup消息中攜帶的OnDemancbessionld0S207 ERM102向SMlOl返回為其分配的QAM資源繼續(xù)有效的確認(rèn)消息2000K消息。具體地,在上述步驟S205中提到若ERM102若檢測到連接異常斷開,ERM102會為SMlOl保持其申請的QAM資源一段時間;
在本步驟中,若在所述一段時間內(nèi)ERM102接收到SMlOl發(fā)送的參數(shù)請求Get_Parameter消息,并確認(rèn)該Get_Parameter消息中攜帶的OnDemandSessionId等于QAM資源的使用情況信息中對應(yīng)于該QAM索引號的OnDemandSessionId,該Get_Parameter消息中攜帶的QAM索引號對應(yīng)的QAM資源的使用情況信息中的分配情況標(biāo)識設(shè)置為“used”,則ERM102向SMlOl返回為其分配的QAM資源繼續(xù)有效的確認(rèn)消息2000K消息,用以告知SMlOl可以繼續(xù)使用該QAM資源;而且,ERM102更新該QAM資源的使用情況信息中的時間戳為當(dāng)前時間。這樣,在SMlOl與ERM102之間的TCP連接異常斷開后,若SMlOl仍然需要繼續(xù)使用上述過程中所申請的QAM資源,由于ERM102為SMlOl持續(xù)保留了該QAM資源一段時間沒有進(jìn)行釋放,從而在SMlOl再次發(fā)送Get_Parameter消息后,ERM102可以允許SMlOl繼續(xù)使用該QAM資源,而不必需要SMlOl發(fā)送Setup消息來重新申請QAM資源,ERM102也不必進(jìn)行業(yè)務(wù)重啟,重新為SMlOl分配QAM資源,從而既減少了 ERM的負(fù)擔(dān),也減少了交互過程節(jié)約了網(wǎng)絡(luò)資源,還提高了 SM繼續(xù)使用QAM資源的效率。如果ERM102為SMlOl保持其申請的QAM資源一段時間內(nèi),ERM102沒有接收到攜·帶有所述QAM資源的QAM索引號的Get_Parameter消息;或者,接收的Get_Parameter消息中攜帶的OnDemandSessionId不等于QAM資源的使用情況信息中對應(yīng)于該QAM索引號的OnDemandSessionld,則ERM102在所述QAM資源的時間終點(diǎn)到達(dá)時,將該QAM資源的使用情況信息中的分配情況標(biāo)識設(shè)置為“idle”,釋放該QAM資源,從而其它SM可以申請使用該OAM資源。為了可以兼容現(xiàn)有技術(shù),本發(fā)明提供的另一種QAM資源分配系統(tǒng),如圖3所示,包括本發(fā)明的SM301、本發(fā)明的ERM302,以及現(xiàn)有技術(shù)中的SM。ERM302為SM301分配QAM資源的方法流程,如圖4a、4b所示,包括如下步驟S401 SM301向ERM302發(fā)送Setup消息,該Setup消息中攜帶有重連模式的指示信息。具體地,SM301與ERM302建立TCP長連接后,向ERM302發(fā)送Setup消息,該Setup消息中包括一組QAM的信息和會話建立所需要的帶寬信息,此外,還包括重連模式的指示信息。一種具體的Setup消息可以在其Transport字段中攜帶重連模式的指示信息SETUP rtsp: //10. O. 64. 3:554RTSP/1. OCSeq: IRequire: com. comcast. ngod. s6SessionGroup: SMTransport:MP2T/DVBC/QAM ;unicast ;tcp_reconnect ;client=04F 123456DE ;bandwidth=l ;qam_name=101 ;modulation=qam64OnDemandSessionld:be014250-cc5a_lId9-8cd5-0b00200c9a66Policy: lowdelay = I上述的Setup消息中,Transport字段中的tcp_reconnect即為重連模式的指示信息。S402 ERM302接收到SM301發(fā)送來的Setup消息后,根據(jù)Setup消息選擇QAM資源,返回Setup Response消息,并根據(jù)Setup消息中攜帶的重連模式的指示信息,更改分配給SM301的QAM資源的使用情況信息。具體地,ERM302接收到SM301發(fā)送來的Setup消息后,根據(jù)Setup消息選擇QAM資源,返回Setup Response消息與上述步驟S202中介紹的相同,此處不再贅述;此外,QAM資源的使用情況信息中還包括重連標(biāo)識。ERM302若確認(rèn)接收的Setup消息中攜帶有重連模式的指示信息,則將所述QAM資源的使用情況信息中的重連標(biāo)識設(shè)置為“是”,用以指示使用該QAM資源的SM支持重連模式;ERM302若確認(rèn)接收的Setup消息中沒有攜帶重連模式的指示信息,則將所述QAM資源的使用情況信息中的重連標(biāo)識設(shè)置為“否”,用以指示使用該QAM資源的SM不支持重連模式,為現(xiàn)有技術(shù)的SM。S403 ERM302在檢測到連接異常斷開后,根據(jù)重連標(biāo)識決定保持還是釋放QAM資源。具體地,在ERM302為SM301分配了 QAM資源后,若因?yàn)槟撤N原因?qū)е耂M301與ERM302之間的TCP連接異常斷開,則ERM102在檢測到連接異常斷開后,檢測SM301所申請的QAM資源的使用情況信息中的重連標(biāo)識;若該QAM資源的使用情況信息中的重連標(biāo)識為“是”,表明使用該QAM資源的SM支持重連模式,則決定為該SM保持其申請的QAM資源一段時間;若該QAM資源的使用情況信息中的重連標(biāo)識為“否”,表明使用該QAM資源的SM不支持重連模式,不必為該SM保持QAM資源,則決定釋放該QAM資源將該QAM資源進(jìn)行釋放:將該QAM資源的使用情況信息中的分配情況標(biāo)識設(shè)置為“idle”。在決定保持該QAM資源一段時間后,ERM302繼續(xù)為SM301保持其申請的QAM資源一段時間ERM302確定SM301所申請的QAM資源的使用情況信息中的時間戳;從所述時間戳所指示的時間點(diǎn)延長設(shè)定時間段后,得到的時間點(diǎn)作為保持所述QAM資源的時間終點(diǎn);ERM302為SM301保持該QAM資源到所述時間終點(diǎn)。在SM301與ERM302之間的TCP連接異常斷開后,SM301可能還需要繼續(xù)使用該QAM資源,則可依據(jù)以下步驟為SM301高效地繼續(xù)提供該QAM資源S404 SM301 向 ERM302 發(fā)送 Get_Parameter 消息。具體地,在SM301與ERM302之間的TCP連接異常斷開后,若SM301仍然需要繼續(xù)使用上述過程中所申請的QAM資源,則重新與ERM302建立TCP連接后,向ERM302發(fā)送攜帶有所述QAM資源的QAM索引號和OnDemandSessionId的Get_Parameter消息,該OnDemandSessionId等于SM301在申請?jiān)換AM資源時發(fā)送的Setup消息中攜帶的OnDemandSessionld0S405 ERM302向SM301返回為其分配的QAM資源繼續(xù)有效的確認(rèn)消息2000K消息。具體地,若上述步驟S403中ERM302繼續(xù)為SM301保持其申請的QAM資源一段時間;在本步驟中,若在所述一段時間內(nèi)ERM302接收到SM301發(fā)送的參數(shù)請求Get_Parameter消息,并確認(rèn)該Get_Parameter消息中攜帶的OnDemandSessionId等于QAM資源的使用情況信息中對應(yīng)于該QAM索引號的OnDemandSessionId,該Get_Parameter消息中攜帯的QAM索引號對應(yīng)的QAM資源的使用情況信息中的分配情況標(biāo)識設(shè)置為“used”,則ERM302向SM301返回為其分配的QAM資源繼續(xù)有效的確認(rèn)消息2000K消息,用以告知SM301可以繼續(xù)使用該QAM資源;而且,ERM302更新該QAM資源的使用情況信息中的時間戳為當(dāng)前時間。
如果ERM302為SM301保持其申請的QAM資源一段時間內(nèi),ERM302沒有接收到攜帶有所述QAM資源的QAM索引號的Get_Parameter消息;或者,接收的Get_Parameter消息中攜帶的OnDemandSessionId不等于QAM資源的使用情況信息中對應(yīng)于該QAM索引號的OnDemandSessionld,則ERM302在所述QAM資源的時間終點(diǎn)到達(dá)時,將該QAM資源的使用情況信息中的分配情況標(biāo)識設(shè)置為“idle”,釋放該QAM資源,從而其它SM可以申請使用該QAM資源。本發(fā)明實(shí)施例提供的ERM的一種具體內(nèi)部結(jié)構(gòu)可以如圖5所示,包括資源分配模塊501、異常斷開檢測模塊502、資源維持模塊503。資源分配模塊501用于為SM分配QAM資源;異常斷開檢測模塊502用于在檢測到本ERM與所述SM之間的連接異常斷開后,向資源維持模塊503發(fā)送連接斷開通知;資源維持模塊503用于接收到異常斷開檢測模塊502發(fā)送的連接斷開通知后,為 所述SM保持所述QAM資源一段時間;若在所述一段時間內(nèi),接收到所述SM發(fā)送的參數(shù)請求Get_Parameter消息,則向所述SM返回為其分配的QAM資源繼續(xù)有效的確認(rèn)消息;否則,釋放所述QAM資源;其中,所述Get_Parameter消息中攜帶有所述QAM資源的QAM索引號。進(jìn)一步,資源維持模塊503具體包括資源保持單元511、資源繼續(xù)有效確認(rèn)單元512。其中,資源保持單元511用于在接收到所述連接斷開通知后,確定所述QAM資源的使用情況信息中的時間戳;從所述時間戳所指示的時間點(diǎn)延長設(shè)定時間段后得到的時間點(diǎn),作為保持所述QAM資源的時間終點(diǎn);為所述SM保持所述QAM資源到所述時間終點(diǎn);資源繼續(xù)有效確認(rèn)單元512用于根據(jù)所述SM發(fā)送的Get_Parameter消息,在確認(rèn)該Get_Parameter消息中攜帶的點(diǎn)播會話標(biāo)識OnDemandSessionId等于所述QAM資源的使用情況信息中對應(yīng)于該QAM索引號的OnDemandSe s s i on I d,該Ge t_Par ame t er消息中攜帶的QAM索引號對應(yīng)的QAM資源的使用情況信息中的分配情況標(biāo)識設(shè)置為“使用狀態(tài)”后,向所述SM返回為其分配的QAM資源繼續(xù)有效的確認(rèn)消息,并且更新該QAM資源的使用情況信息中的時間戳為當(dāng)前時間。進(jìn)一步,資源保持單元511具體包括時間終點(diǎn)確定子單元和資源釋放子單元。其中,時間終點(diǎn)確定子單元用于在接收到所述連接斷開通知后,確定所述QAM資源的使用情況信息中的時間戳;從所述時間戳所指示的時間點(diǎn)延長設(shè)定時間段后得到的時間點(diǎn),作為保持所述QAM資源的時間終點(diǎn);資源釋放子單元用于在所述時間終點(diǎn)到達(dá)時,確定資源繼續(xù)有效確認(rèn)單元512沒有接收到所述Get_Parameter消息,則將所述QAM資源的使用情況信息中的分配情況標(biāo)識設(shè)置為“空閑狀態(tài)”,釋放所述QAM資源。進(jìn)一步,資源分配模塊501具體包括分配確認(rèn)消息返回單元521、重連標(biāo)識設(shè)置單元522。分配確認(rèn)消息返回單元521用于根據(jù)所述SM發(fā)送的Setup消息為所述SM分配所述QAM資源后,向所述SM返回Setup Response消息;重連標(biāo)識設(shè)置單元522用于在確認(rèn)所述Setup消息中攜帶有重連模式的指示信息后,將所述QAM資源的使用情況信息中的重連標(biāo)識設(shè)置為“是”;否則,將所述QAM資源的使用情況信息中的重連標(biāo)識設(shè)置為“否”。進(jìn)一歩,資源保持単元511還用于在為所述SM保持所述QAM資源一段時間之前,確認(rèn)所述QAM資源的使用情況信息中的重連標(biāo)識為“是”。即資源保持単元511在確認(rèn)所述QAM資源的使用情況信息中的重連標(biāo)識為“是”后,保持所述QAM資源一段時間;否則,釋放所述QAM資源。本發(fā)明實(shí)施例提供的SM的ー種具體內(nèi)部結(jié)構(gòu)可以如圖6所示,包括資源申請模塊601、異常斷開檢測模塊602、重連模塊603。資源申請模塊601用于向ERM發(fā)送Setup消息,并接收所述ERM返回的SetupResponse消息;其中,所述Setup消息中攜帶有點(diǎn)播會話標(biāo)識,所述Setup Response消息中攜帯有為所述會話管理器SM分配的QAM資源的QAM索引號;進(jìn)一歩,資源申請模塊601還可以在發(fā)送Setup消息之前,在所述Setup消息中攜帶重連模式的指示信息。異常斷開檢測模塊602用于在檢測到所述SM與所述ERM之間的連接異常斷開后,發(fā)送連接斷開通知;重連模塊603用于接收到異常斷開檢測模塊602發(fā)送的連接斷開通知后,向所述ERM發(fā)送攜帶有所述點(diǎn)播會話標(biāo)識和所述QAM索引號的Get_Parameter消息,并在接收到所述ERM返回的確認(rèn)消息后,確認(rèn)所述OAM資源的繼續(xù)有效性。具體地,重連模塊603接收到異常斷開檢測模塊602發(fā)送的連接斷開通知后,從資源申請模塊601獲取所述點(diǎn)播會話標(biāo)識和所述QAM索引號,并生成攜帶所述點(diǎn)播會話標(biāo)識和所述QAM索引號的Get_Parameter消息向所述ERM發(fā)送;在接收到所述ERM返回的確認(rèn)消息后,確認(rèn)所述QAM資源的繼續(xù)有效性,即本SM可以繼續(xù)使用該QAM資源。本發(fā)明實(shí)施例的技術(shù)方案,由于在SM與ERM之間的TCP連接異常斷開后,ERM為SM持續(xù)保留其申請的QAM資源一段時間沒有進(jìn)行釋放,從而SM可以通過發(fā)送GetParameter消息到ERM,ERM可以允許SM繼續(xù)使用該QAM資源;從而SM不需要發(fā)送Setup消息來重新申請?jiān)換AM資源,ERM也不必進(jìn)行業(yè)務(wù)重啟,重新為SM分配QAM資源,從而既減少了 ERM的負(fù)擔(dān),也減少了交互過程節(jié)約了網(wǎng)絡(luò)資源,還提高了 SM繼續(xù)使用QAM資源的效率。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲于ー計(jì)算機(jī)可讀取存儲介質(zhì)中,如R0M/RAM、磁碟、光盤等。以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種資源分配方法,包括 在邊緣資源管理器ERM為會話管理器SM分配了正交幅度調(diào)制QAM資源后,若所述ERM與所述SM之間的連接異常斷開,則 所述ERM為所述SM保持所述QAM資源一段時間; 若在所述一段時間內(nèi),所述ERM接收到所述SM發(fā)送的參數(shù)請求Get_Parameter消息,則向所述SM返回為其分配的QAM資源繼續(xù)有效的確認(rèn)消息;否則,所述ERM釋放所述QAM資源;其中,所述Get_Parameter消息中攜帶有所述QAM資源的QAM索引號。
2.如權(quán)利要求I所述的方法,其特征在于,所述ERM為所述SM保持所述QAM資源一段時間具體為 在所述ERM檢測到所述ERM與SM之間的連接異常斷開后,確定所述QAM資源的使用情況信息中的時間戳;從所述時間戳所指示的時間點(diǎn)延長設(shè)定時間段后得到的時間點(diǎn),作為保持所述QAM資源的時間終點(diǎn); 所述ERM為所述SM保持所述QAM資源到所述時間終點(diǎn)。
3.如權(quán)利要求2所述的方法,其特征在于,所述ERM接收到所述SM發(fā)送的參數(shù)請求Get_Parameter消息,則向所述SM返回為其分配的QAM資源繼續(xù)有效的確認(rèn)消息具體包括 所述ERM接收到所述SM發(fā)送的參數(shù)請求Get_Parameter消息,在確認(rèn)該Get_Parameter消息中攜帶的點(diǎn)播會話標(biāo)識OnDemandSessionId等于所述QAM資源的使用情況信息中對應(yīng)于該QAM索引號的OnDemandSessionId,該Get_Parameter消息中攜帶的QAM索引號對應(yīng)的QAM資源的使用情況信息中的分配情況標(biāo)識設(shè)置為“使用狀態(tài)”后,向所述SM返回為其分配的QAM資源繼續(xù)有效的確認(rèn)消息。
4.如權(quán)利要求3所述的方法,其特征在于,在所述ERM與SM之間的連接異常斷開之前,還包括所述ERM為所述SM分配所述QAM資源的過程 所述SM向所述ERM發(fā)送建立會話Setup消息; 所述ERM在接收到所述Setup消息后,根據(jù)所述Setup消息為所述SM分配所述QAM資源后,向所述SM返回會話建立響應(yīng)Setup Response消息;并 所述ERM在確認(rèn)所述Setup消息中攜帶有重連模式的指示信息后,將所述QAM資源的使用情況信息中的重連標(biāo)識設(shè)置為“是”。
5.如權(quán)利要求4所述的方法,其特征在于,所述ERM與SM之間的連接異常斷開,則所述ERM為所述SM保持所述QAM資源一段時間,具體包括 所述ERM與SM之間的連接異常斷開后,所述ERM在確認(rèn)所述QAM資源的使用情況信息中的重連標(biāo)識為“是”后,為所述SM保持所述QAM資源一段時間。
6.一種邊緣資源管理器,包括 資源分配模塊,用于為SM分配QAM資源; 異常斷開檢測模塊,用于在檢測到所述邊緣資源管理器ERM與所述SM之間的連接異常斷開后,發(fā)送連接斷開通知; 資源維持模塊,用于接收到所述異常斷開檢測模塊發(fā)送的連接斷開通知后,為所述SM保持所述QAM資源一段時間;若在所述一段時間內(nèi),接收到所述SM發(fā)送的參數(shù)請求Get_Parameter消息,則向所述SM返回為其分配的QAM資源繼續(xù)有效的確認(rèn)消息;否則,釋放所述QAM資源;其中,所述Get_Parameter消息中攜帶有所述QAM資源的QAM索引號。
7.如權(quán)利要求6所述的邊緣資源管理器,其特征在于,所述資源維持模塊具體包括 資源保持単元,用于在接收到所述連接斷開通知后,確定所述QAM資源的使用情況信息中的時間戳;從所述時間戳所指示的時間點(diǎn)延長設(shè)定時間段后得到的時間點(diǎn),作為保持所述QAM資源的時間終點(diǎn);為所述SM保持所述QAM資源到所述時間終點(diǎn); 資源繼續(xù)有效確認(rèn)單元,用于根據(jù)所述Get_Parameter消息,在確認(rèn)該Get_Parameter消息中攜帶的點(diǎn)播會話標(biāo)識OnDemandSessionId等于所述QAM資源的使用情況信息中對應(yīng)于該QAM索引號的OnDemandSessionId,該Get_Parameter消息中攜帶的QAM索引號對應(yīng)的QAM資源的使用情況信息中的分配情況標(biāo)識設(shè)置為“使用狀態(tài)”后,向所述SM返回為其分配的OAM資源繼續(xù)有效的確認(rèn)消息,并且更新該QAM資源的使用情況信息中的時間戳為當(dāng)前時間。
8.一種會話管理器,包括 資源申請模塊,用于向ERM發(fā)送Setup消息,并接收所述ERM返回的Setup Response消息;其中,所述Setup消息中攜帶有點(diǎn)播會話標(biāo)識,所述Setup Response消息中攜帶有為所述會話管理器SM分配的QAM資源的QAM索引號; 異常斷開檢測模塊,用于在檢測到所述SM與所述ERM之間的連接異常斷開后,發(fā)送連接斷開通知; 重連模塊,用于接收到所述異常斷開檢測模塊發(fā)送的連接斷開通知后,向所述ERM發(fā)送攜帶有所述點(diǎn)播會話標(biāo)識和所述QAM索引號的Get_Parameter消息,并在接收到所述ERM返回的確認(rèn)消息后,確認(rèn)所述QAM資源的繼續(xù)有效性。
9.如權(quán)利要求8所述的會話管理器,其特征在干, 所述資源申請模塊還用于在所述發(fā)送Setup消息之前,在所述Setup消息中攜帶重連模式的指示信息。
10.一種資源分配系統(tǒng),包括邊緣資源管理器ERM和會話管理器SM ;其中,所述ERM為SM分配了 QAM資源后,若所述ERM與所述SM之間的連接異常斷開,則 所述ERM為所述SM保持所述QAM資源一段時間; 若在所述一段時間內(nèi),所述ERM接收到所述SM發(fā)送的參數(shù)請求Get_Parameter消息,則向所述SM返回為其分配的QAM資源繼續(xù)有效的確認(rèn)消息;否則,所述ERM釋放所述QAM資源;其中,所述Get_Parameter消息中攜帶有所述QAM資源的QAM索引號。
全文摘要
本發(fā)明公開了一種資源分配方法和系統(tǒng)以及邊緣資源管理器和會話管理器,所述方法包括在ERM為SM分配了QAM資源后,若ERM與SM之間的連接異常斷開,則ERM為SM保持QAM資源一段時間;其間若ERM接收到SM發(fā)送的Get_Parameter消息,則向SM返回為其分配的QAM資源繼續(xù)有效的確認(rèn)消息;否則,ERM釋放QAM資源。由于在SM與ERM之間的TCP連接異常斷開后,ERM為SM持續(xù)保留QAM資源一段時間不釋放,從而ERM可以允許SM繼續(xù)使用該QAM資源;從而SM不需要發(fā)送Setup消息,ERM也不必重新為SM分配QAM資源減少了ERM的負(fù)擔(dān)。
文檔編號H04N21/2385GK102916927SQ20121035527
公開日2013年2月6日 申請日期2012年9月21日 優(yōu)先權(quán)日2012年9月21日
發(fā)明者馬宇堅(jiān) 申請人:青島海信傳媒網(wǎng)絡(luò)技術(shù)有限公司