專利名稱:一種音視頻文件轉(zhuǎn)碼集群調(diào)度方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及移動(dòng)互聯(lián)網(wǎng)領(lǐng)域,尤其涉及一種音視頻文件轉(zhuǎn)碼集群調(diào)度方法及裝置。
背景技術(shù):
通?,F(xiàn)有技術(shù)中,音視頻文件轉(zhuǎn)碼過程中都是將文件從頭到尾一邊解碼,一邊轉(zhuǎn)碼。采用這種轉(zhuǎn)碼方法,首先,在應(yīng)用轉(zhuǎn)碼集群的時(shí)候,該方法的效率依賴于轉(zhuǎn)碼進(jìn)程的數(shù)量。因?yàn)槭寝D(zhuǎn)碼集群,所以,即便是采用多線程的編程方法。也無法保證所有計(jì)算資源
都處于使用中。其次,目前的視頻編碼復(fù)雜度一直呈幾何級(jí)數(shù)的方式遞增,在高分辨率和高碼率的編碼過程中,原有的轉(zhuǎn)碼過程難以實(shí)現(xiàn)轉(zhuǎn)碼的實(shí)時(shí)性。最后,轉(zhuǎn)碼任務(wù)的調(diào)度依賴于轉(zhuǎn)碼任務(wù)結(jié)束,靈活性非常低。因此,目前需要一種新的轉(zhuǎn)碼方法,能夠顆粒化轉(zhuǎn)碼任務(wù)。提高轉(zhuǎn)碼效率和靈活性。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例的目的在于提出一種音視頻文件轉(zhuǎn)碼集群調(diào)度方法及裝置。所述音視頻文件轉(zhuǎn)碼集群調(diào)度方法包括接收轉(zhuǎn)碼請(qǐng)求,根據(jù)所述將轉(zhuǎn)碼請(qǐng)求將對(duì)應(yīng)的轉(zhuǎn)碼任務(wù)進(jìn)行分片,生成轉(zhuǎn)碼任務(wù)分片;根據(jù)預(yù)先設(shè)置的任務(wù)優(yōu)先級(jí)生成轉(zhuǎn)碼任務(wù)分片調(diào)度信息;并根據(jù)所述轉(zhuǎn)碼任務(wù)分片調(diào)度信息將轉(zhuǎn)碼任務(wù)分配至轉(zhuǎn)碼集群進(jìn)行轉(zhuǎn)碼;判斷所有轉(zhuǎn)碼任務(wù)分片對(duì)應(yīng)的源文件是否已經(jīng)轉(zhuǎn)碼完成,若轉(zhuǎn)碼未完成且所述轉(zhuǎn)碼請(qǐng)求發(fā)自流服務(wù)器,則通知轉(zhuǎn)碼集群將轉(zhuǎn)碼后的源文件分片存放到緩存服務(wù)器;通知流服務(wù)器根據(jù)收到的VOD點(diǎn)播請(qǐng)求,將緩存在緩存服務(wù)器中對(duì)應(yīng)的已轉(zhuǎn)碼文件推送到移動(dòng)終端。所述音視頻文件轉(zhuǎn)碼集群調(diào)度裝置包括接收單元,分片單元、第一處理單元、判斷單元、第二處理單元;接收單元包括第一接收單元,第一接收單元,用于接收轉(zhuǎn)碼請(qǐng)求;分片單元,用于根據(jù)所述將轉(zhuǎn)碼請(qǐng)求對(duì)應(yīng)的轉(zhuǎn)碼任務(wù)進(jìn)行分片,生成轉(zhuǎn)碼任務(wù)分片;第一處理單元,用于根據(jù)預(yù)先設(shè)置的任務(wù)優(yōu)先級(jí)生成轉(zhuǎn)碼任務(wù)分片調(diào)度信息;并根據(jù)所述的轉(zhuǎn)碼任務(wù)分片調(diào)度信息將轉(zhuǎn)碼任務(wù)分配至轉(zhuǎn)碼集群進(jìn)行轉(zhuǎn)碼;判斷單元,包括第一判斷單元,所述第一判斷單元用于判斷是否所有轉(zhuǎn)碼任務(wù)分片對(duì)應(yīng)的源文件已經(jīng)轉(zhuǎn)碼完成;將結(jié)果則通知第二處理單元;
第二處理單元,用于當(dāng)?shù)谝慌袛鄦卧袛嗨修D(zhuǎn)碼任務(wù)分片對(duì)應(yīng)的源文件還未轉(zhuǎn)碼完成,并且所述轉(zhuǎn)碼請(qǐng)求發(fā)自流服務(wù)器,通知轉(zhuǎn)碼集群對(duì)轉(zhuǎn)碼任務(wù)分片對(duì)應(yīng)的源文件進(jìn)行轉(zhuǎn)碼,將轉(zhuǎn)碼后的源文件分片存放到緩存服務(wù)器;且通知流服務(wù)器根據(jù)收到的VOD點(diǎn)播請(qǐng)求,將緩存在緩存服務(wù)器中對(duì)應(yīng)的已轉(zhuǎn)碼文件,推送到移動(dòng)終端;當(dāng)?shù)谝慌袛鄦卧袛嗨修D(zhuǎn)碼任務(wù)分片對(duì)應(yīng)的源文件已經(jīng)轉(zhuǎn)碼完成,且所述轉(zhuǎn)碼請(qǐng)求發(fā)自流服務(wù)器,則將所有源文件轉(zhuǎn)碼后合成一個(gè)目標(biāo)文件,存放至主存服務(wù)器。通過所述方法與裝置,本發(fā)明通過將音視頻文件顆?;?,使得轉(zhuǎn)碼的任務(wù)單位更小;從而可以靈活分配計(jì)算資源,快速輸出優(yōu)先級(jí)高的轉(zhuǎn)碼文件,提高系統(tǒng)響應(yīng)。并且使用現(xiàn)有技術(shù)的轉(zhuǎn)碼集群調(diào)度方法,服務(wù)器需要采用較高的配置才能勝任轉(zhuǎn)碼任務(wù),通過使用本發(fā)明的方法,降低了服務(wù)器門檻,從而降低了服務(wù)的成本。
圖I是本發(fā)明實(shí)施例I的音視頻文件的轉(zhuǎn)碼方法流程圖;
圖2是本發(fā)明實(shí)施例2的音視頻文件的轉(zhuǎn)碼方法流程圖;圖3是本發(fā)明實(shí)施例3的音視頻文件的轉(zhuǎn)碼方法流程圖;圖4是本發(fā)明實(shí)施例4的音視頻文件的轉(zhuǎn)碼裝置結(jié)構(gòu)圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明,為了便于說明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分。應(yīng)當(dāng)理解,此處所描寫的具體實(shí)施例,僅僅用于解釋本發(fā)明,并不用以限制本發(fā)明。實(shí)施例1,本發(fā)明提供一種音視頻文件集群調(diào)度方法,參見圖1,該方法包括步驟101 :接收轉(zhuǎn)碼請(qǐng)求,根據(jù)所述的轉(zhuǎn)碼請(qǐng)求,將轉(zhuǎn)碼請(qǐng)求對(duì)應(yīng)的轉(zhuǎn)碼任務(wù)進(jìn)行分片,生成轉(zhuǎn)碼任務(wù)分片;所述的“接收轉(zhuǎn)碼請(qǐng)求,根據(jù)所述的轉(zhuǎn)碼請(qǐng)求,將轉(zhuǎn)碼請(qǐng)求對(duì)應(yīng)的轉(zhuǎn)碼任務(wù)進(jìn)行分片,生成轉(zhuǎn)碼任務(wù)分片”具體為查找所述的轉(zhuǎn)碼請(qǐng)求中文件名對(duì)應(yīng)的任務(wù)描述文件;若查找到,則通過所述的任務(wù)描述文件,獲取轉(zhuǎn)碼任務(wù)信息;通過所述的轉(zhuǎn)碼任務(wù)信息讀取源文件,并獲取源文件的編碼信息;根據(jù)所述的源文件的編碼信息,獲取I幀間隔時(shí)間和輸出碼率,將所述轉(zhuǎn)碼任務(wù)信息對(duì)應(yīng)的轉(zhuǎn)碼任務(wù)進(jìn)行分片,生成轉(zhuǎn)碼任務(wù)分片;步驟102 :根據(jù)預(yù)先設(shè)置的任務(wù)優(yōu)先級(jí)生成轉(zhuǎn)碼任務(wù)分片調(diào)度信息;并根據(jù)所述的轉(zhuǎn)碼任務(wù)分片調(diào)度信息將轉(zhuǎn)碼任務(wù)分配至轉(zhuǎn)碼集群進(jìn)行轉(zhuǎn)碼;步驟103 :判斷是否所有轉(zhuǎn)碼任務(wù)分片對(duì)應(yīng)的源文件已經(jīng)轉(zhuǎn)碼完成,若否,并且所述轉(zhuǎn)碼請(qǐng)求發(fā)自流服務(wù)器,則執(zhí)行步驟104 ;若是,并且所述轉(zhuǎn)碼請(qǐng)求發(fā)自流服務(wù)器,則執(zhí)行步驟105 ;若否,并且所述轉(zhuǎn)碼請(qǐng)求發(fā)自CMS,則執(zhí)行步驟106 ;若是,并且所述轉(zhuǎn)碼請(qǐng)求發(fā)自CMS,則執(zhí)行步驟107 ;步驟104 :通知轉(zhuǎn)碼集群將轉(zhuǎn)碼任務(wù)分片對(duì)應(yīng)的源文件轉(zhuǎn)碼后,分片存放到緩存服務(wù)器;且通知流服務(wù)器根據(jù)收到的VOD點(diǎn)播請(qǐng)求,將緩存在緩存服務(wù)器中對(duì)應(yīng)的已轉(zhuǎn)碼文件,推送到移動(dòng)終端;步驟105 :則將所有源文件轉(zhuǎn)碼后合成一個(gè)目標(biāo)文件,存放至主存服務(wù)器;結(jié)束本流程;步驟106 :將分段的源文件轉(zhuǎn)碼后,分片存放至緩存服務(wù)器;步驟107 :將所有的源文件轉(zhuǎn)碼后合成一個(gè)目標(biāo)文件,存放至主存服務(wù)器,通知CMS轉(zhuǎn)碼完成;結(jié)束本流程。為了更詳細(xì)的說明本發(fā)明的實(shí)現(xiàn)方法,下面分別從流服務(wù)器將轉(zhuǎn)碼請(qǐng)求發(fā)送至音視頻文件轉(zhuǎn)碼集群調(diào)度裝置、CMS發(fā)送轉(zhuǎn)碼請(qǐng)求至音視頻文件轉(zhuǎn)碼集群調(diào)度裝置來進(jìn)行說明
實(shí)施例2,本發(fā)明提供一種音視頻文件轉(zhuǎn)碼集群調(diào)度方法,該方法為流服務(wù)器像音視頻文件轉(zhuǎn)碼集群調(diào)度裝置發(fā)送轉(zhuǎn)碼請(qǐng)求,參見圖2,該方法具體為步驟201 :移動(dòng)終端向流服務(wù)器發(fā)起VOD (Video On Demand視頻點(diǎn)播服務(wù))點(diǎn)播請(qǐng)求;所述VOD點(diǎn)播請(qǐng)求中攜帶需要點(diǎn)播的文件名,所述文件名即預(yù)定義的目標(biāo)文件的文件名;步驟202 :流服務(wù)器接收所述的VOD點(diǎn)播請(qǐng)求,并判斷是否接收到SEEK (重定位)請(qǐng)求,若接收到,則執(zhí)行步驟203 ;若沒有接收到則執(zhí)行步驟204 ;步驟203 :將所述的SEEK請(qǐng)求發(fā)送至音視頻文件轉(zhuǎn)碼集群調(diào)度裝置;執(zhí)行步驟213 ;步驟204 ;流服務(wù)器接收所述的VOD點(diǎn)播請(qǐng)求后,根據(jù)所述的文件名,在轉(zhuǎn)碼結(jié)果文件中進(jìn)行搜索;若檢索到,則執(zhí)行步驟205 ;若未檢索到,則執(zhí)行步驟206 ;步驟205 :檢索到則直接將所述點(diǎn)播請(qǐng)求對(duì)應(yīng)的轉(zhuǎn)碼結(jié)果文件反饋給移動(dòng)終端,即向移動(dòng)終端提供點(diǎn)播服務(wù);結(jié)束本流程;步驟206 :流服務(wù)器未檢索到文件名對(duì)應(yīng)的轉(zhuǎn)碼結(jié)果文件,則向音視頻文件轉(zhuǎn)碼集群調(diào)度裝置發(fā)送轉(zhuǎn)碼請(qǐng)求;步驟207 :音視頻文件轉(zhuǎn)碼集群調(diào)度裝置接收到轉(zhuǎn)碼請(qǐng)求后,查找所述的轉(zhuǎn)碼請(qǐng)求中文件名對(duì)應(yīng)的任務(wù)描述文件,若未查找到執(zhí)行步驟208 ;若查找到執(zhí)行步驟209 ;步驟208 :通知流服務(wù)器文件不存在;步驟209 :音視頻文件轉(zhuǎn)碼集群調(diào)度裝置通過所述的任務(wù)描述文件,獲取轉(zhuǎn)碼任務(wù)信息;其中所述的轉(zhuǎn)碼任務(wù)信息包括源文件地址信息和轉(zhuǎn)碼參數(shù);其中轉(zhuǎn)碼參數(shù)包括編碼方式、分辨率、幀率、碼率,轉(zhuǎn)碼起止時(shí)間,轉(zhuǎn)碼優(yōu)先級(jí)等;步驟210 :音視頻文件轉(zhuǎn)碼集群調(diào)度裝置通過所述的轉(zhuǎn)碼任務(wù)信息讀取源文件,并獲取源文件的編碼信息;其中,所述的源文件的編碼信息包括編碼方式、分辨率、幀率、碼率、視頻文件長(zhǎng)度等;步驟211 :音視頻文件轉(zhuǎn)碼集群調(diào)度裝置根據(jù)所述的源文件的編碼信息,獲取I幀間隔時(shí)間和輸出碼率,將所述轉(zhuǎn)碼任務(wù)信息對(duì)應(yīng)的轉(zhuǎn)碼任務(wù)進(jìn)行分片,生成轉(zhuǎn)碼任務(wù)分片;
其中進(jìn)行分片的方法可以為(碼率*1幀間隔時(shí)間的值)不大于閥值MB;也就是說取整數(shù)個(gè)I幀周期作為轉(zhuǎn)碼任務(wù)分片;其中*為做乘法運(yùn)算;步驟212 : 音視頻文件轉(zhuǎn)碼集群調(diào)度裝置根據(jù)預(yù)先設(shè)置的任務(wù)優(yōu)先級(jí)(立即需要轉(zhuǎn)碼、新聞?lì)悷狳c(diǎn)視頻、是否熱點(diǎn)等)生成轉(zhuǎn)碼任務(wù)分片調(diào)度信息;執(zhí)行步驟217其中,所述的任務(wù)優(yōu)先級(jí)是音視頻文件轉(zhuǎn)碼集群調(diào)度裝置根據(jù)不同的情況進(jìn)行設(shè)置的,比如立即需要轉(zhuǎn)碼的就設(shè)置成優(yōu)先級(jí)最高的第一優(yōu)先級(jí);新聞?lì)悷狳c(diǎn)視頻設(shè)置為優(yōu)先級(jí)次高的第二優(yōu)先級(jí)。步驟213 :音視頻文件轉(zhuǎn)碼集群調(diào)度裝置接收SEEK請(qǐng)求后,根據(jù)所述的SEEK請(qǐng)求中攜帶的播放的開始時(shí)間,找到SEEK請(qǐng)求中對(duì)應(yīng)的第一轉(zhuǎn)碼任務(wù)分片;步驟214 ;音視頻文件轉(zhuǎn)碼集群調(diào)度裝置判斷所述的第一轉(zhuǎn)碼任務(wù)分片是否應(yīng)存在于轉(zhuǎn)碼任務(wù)隊(duì)列,如果是,則執(zhí)行步驟215 ;如果否,則執(zhí)行步驟216 ;步驟215 :通知流服務(wù)器正在轉(zhuǎn)碼,可以嘗試讀取數(shù)據(jù),結(jié)束本流程;步驟216 :提高該第一轉(zhuǎn)碼任務(wù)分片的優(yōu)先級(jí);執(zhí)行步驟217 ;步驟217 :音視頻文件轉(zhuǎn)碼集群調(diào)度裝置根據(jù)所述的轉(zhuǎn)碼任務(wù)分片調(diào)度信息,并根據(jù)轉(zhuǎn)碼任務(wù)分片調(diào)度信息將轉(zhuǎn)碼任務(wù)分配至轉(zhuǎn)碼集群進(jìn)行轉(zhuǎn)碼;其中,所述的“并根據(jù)轉(zhuǎn)碼任務(wù)分片調(diào)度信息將轉(zhuǎn)碼任務(wù)分配至轉(zhuǎn)碼集群”可以為音視頻文件轉(zhuǎn)碼集群調(diào)度裝置選取優(yōu)先級(jí)最高的第一轉(zhuǎn)碼任務(wù)分片調(diào)度信息,并將所述第一轉(zhuǎn)碼任務(wù)分片調(diào)度信息對(duì)應(yīng)的第一轉(zhuǎn)碼任務(wù)分配到轉(zhuǎn)碼集群;或者音視頻文件轉(zhuǎn)碼集群調(diào)度裝置將正在執(zhí)行低于第一優(yōu)先級(jí)的轉(zhuǎn)碼任務(wù)的轉(zhuǎn)碼集群的當(dāng)前任務(wù)終止,再將所述低于第一優(yōu)先級(jí)的轉(zhuǎn)碼任務(wù)的第二轉(zhuǎn)碼任務(wù)分配至該轉(zhuǎn)碼集群;步驟218 :判斷是否所有轉(zhuǎn)碼任務(wù)分片對(duì)應(yīng)的源文件已經(jīng)轉(zhuǎn)碼完成,若是則執(zhí)行步驟219 ;若否則執(zhí)行步驟220 ;步驟219 :音視頻文件轉(zhuǎn)碼集群調(diào)度裝置將所有源文件轉(zhuǎn)碼后合成一個(gè)目標(biāo)文件,存放至主存服務(wù)器;步驟220 :音視頻文件轉(zhuǎn)碼集群調(diào)度裝置判斷轉(zhuǎn)碼請(qǐng)求發(fā)自流服務(wù)器,通知轉(zhuǎn)碼集群將轉(zhuǎn)碼任務(wù)分片對(duì)應(yīng)的源文件轉(zhuǎn)碼后,分片存放到緩存服務(wù)器;且通知流服務(wù)器根據(jù)收到的VOD點(diǎn)播請(qǐng)求,將緩存在緩存服務(wù)器中對(duì)應(yīng)的已轉(zhuǎn)碼文件,推送到移動(dòng)終端。實(shí)施例3,實(shí)施例2提供的技術(shù)方案中主要介紹的是流服務(wù)器發(fā)送的轉(zhuǎn)碼請(qǐng)求;還有一種情況是從CMS (Content Management System中文名稱是網(wǎng)站內(nèi)容管理系統(tǒng))直接發(fā)送轉(zhuǎn)碼請(qǐng)求至音視頻文件轉(zhuǎn)碼集群調(diào)度裝置。參見圖3.該方法具體為步驟301 =CMS向音視頻文件轉(zhuǎn)碼集群調(diào)度裝置發(fā)送轉(zhuǎn)碼請(qǐng)求;所述轉(zhuǎn)碼請(qǐng)求中攜帶預(yù)定義的目標(biāo)文件的文件名,即預(yù)定義的將源文件轉(zhuǎn)碼完成、轉(zhuǎn)碼結(jié)果的文件名;步驟302 :音視頻文件轉(zhuǎn)碼集群調(diào)度裝置接收到轉(zhuǎn)碼請(qǐng)求后,查找所述的轉(zhuǎn)碼請(qǐng)求中文件名對(duì)應(yīng)的任務(wù)描述文件,若未查找到執(zhí)行步驟303 ;若查找到執(zhí)行步驟304 ;步驟303 :通知CMS文件不存在;步驟304 :音視頻文件轉(zhuǎn)碼集群調(diào)度裝置通過所述的任務(wù)描述文件,獲取轉(zhuǎn)碼任務(wù)信息;其中所述的轉(zhuǎn)碼任務(wù)信息包括源文件地址信息和轉(zhuǎn)碼參數(shù);其中轉(zhuǎn)碼參數(shù)包括編碼方式、分辨率、幀率、碼率,轉(zhuǎn)碼起止時(shí)間,轉(zhuǎn)碼優(yōu)先級(jí)等;步驟305 :音視頻文件轉(zhuǎn)碼集群調(diào)度裝置通過所述的轉(zhuǎn)碼任務(wù)信息讀取源文件,并獲取源文件的編碼信息;其中,所述的源文件的編碼信息包括編碼方式、分辨率、幀率、碼率、視頻文件長(zhǎng)度等;步驟306 :音視頻文件轉(zhuǎn)碼集群調(diào)度裝置根據(jù)所述的源文件的編碼信息,獲取I幀 間隔時(shí)間和輸出碼率,將所述轉(zhuǎn)碼任務(wù)信息對(duì)應(yīng)的轉(zhuǎn)碼任務(wù)進(jìn)行分片,生成轉(zhuǎn)碼任務(wù)分片。其中進(jìn)行分片的方法可以為(碼率*1幀間隔時(shí)間的值)不大于閥值MB;也就是說取整數(shù)個(gè)I幀周期作為轉(zhuǎn)碼任務(wù)分片;其中*為做乘法運(yùn)算;步驟307 :音視頻文件轉(zhuǎn)碼集群調(diào)度裝置根據(jù)設(shè)置的任務(wù)優(yōu)先級(jí)(立即需要轉(zhuǎn)碼、新聞?lì)悷狳c(diǎn)視頻、是否熱點(diǎn)等)生成轉(zhuǎn)碼任務(wù)分片調(diào)度信息。其中,所述的任務(wù)優(yōu)先級(jí)是音視頻文件轉(zhuǎn)碼集群調(diào)度裝置根據(jù)不同的情況進(jìn)行設(shè)置的,比如立即需要轉(zhuǎn)碼的就設(shè)置成優(yōu)先級(jí)最高的第一優(yōu)先級(jí);新聞?lì)悷狳c(diǎn)視頻設(shè)置為優(yōu)先級(jí)次高的第二優(yōu)先級(jí)。步驟308 :音視頻文件轉(zhuǎn)碼集群調(diào)度裝置根據(jù)所述的轉(zhuǎn)碼任務(wù)分片調(diào)度信息,并根據(jù)轉(zhuǎn)碼任務(wù)分片調(diào)度信息將轉(zhuǎn)碼任務(wù)分配至轉(zhuǎn)碼集群進(jìn)行轉(zhuǎn)碼;其中,所述的“并根據(jù)轉(zhuǎn)碼任務(wù)分片調(diào)度信息將轉(zhuǎn)碼任務(wù)分配至轉(zhuǎn)碼集群”可以為音視頻文件轉(zhuǎn)碼集群調(diào)度裝置選取優(yōu)先級(jí)最高的第一轉(zhuǎn)碼任務(wù)分片調(diào)度信息,并將所述第一轉(zhuǎn)碼任務(wù)分片調(diào)度信息對(duì)應(yīng)的第一轉(zhuǎn)碼任務(wù)分配到轉(zhuǎn)碼集群;或者音視頻文件轉(zhuǎn)碼集群調(diào)度裝置將正在執(zhí)行低于第一優(yōu)先級(jí)的轉(zhuǎn)碼任務(wù)的轉(zhuǎn)碼集群的當(dāng)前任務(wù)終止,再將所述低于第一優(yōu)先級(jí)的轉(zhuǎn)碼任務(wù)的第二轉(zhuǎn)碼任務(wù)分配至該轉(zhuǎn)碼集群;步驟309 :判斷是否所有轉(zhuǎn)碼任務(wù)分片對(duì)應(yīng)的源文件已經(jīng)轉(zhuǎn)碼完成,若是則執(zhí)行步驟310 ;若否則執(zhí)行步驟312 ;步驟310 :音視頻文件轉(zhuǎn)碼集群調(diào)度裝置將所有的源文件轉(zhuǎn)碼后合成一個(gè)目標(biāo)文件,存放至主存服務(wù)器;步驟311 :音視頻文件轉(zhuǎn)碼集群調(diào)度裝置判斷轉(zhuǎn)碼請(qǐng)求發(fā)自CMS,則音視頻文件轉(zhuǎn)碼集群調(diào)度裝置通知CMS轉(zhuǎn)碼完成;結(jié)束本流程;步驟312 :轉(zhuǎn)碼集群將分段的源文件轉(zhuǎn)碼后,分片存放到緩存服務(wù)器。實(shí)施例4,本發(fā)明還提供一種音視頻文件轉(zhuǎn)碼集群調(diào)度裝置,參見圖4,所述裝置包括接收單元包括第一接收單元,第一接收單元,用于接收轉(zhuǎn)碼請(qǐng)求;分片單元,用于根據(jù)所述將轉(zhuǎn)碼請(qǐng)求對(duì)應(yīng)的轉(zhuǎn)碼任務(wù)進(jìn)行分片,生成轉(zhuǎn)碼任務(wù)分片;
第一處理單元,用于根據(jù)預(yù)先設(shè)置的任務(wù)優(yōu)先級(jí)生成轉(zhuǎn)碼任務(wù)分片調(diào)度信息;并根據(jù)所述的轉(zhuǎn)碼任務(wù)分片調(diào)度信息將轉(zhuǎn)碼任務(wù)分配至轉(zhuǎn)碼集群進(jìn)行轉(zhuǎn)碼;判斷單元,包括第一判斷單元,所述第一判斷單元用于判斷是否所有轉(zhuǎn)碼任務(wù)分片對(duì)應(yīng)的源文件已經(jīng)轉(zhuǎn)碼完成;將結(jié)果則通知第二處理單元;第二處理單元,用于當(dāng)?shù)谝慌袛鄦卧袛嗨修D(zhuǎn)碼任務(wù)分片對(duì)應(yīng)的源文件還未轉(zhuǎn)碼完成,并且所述轉(zhuǎn)碼請(qǐng)求發(fā)自流服務(wù)器,通知轉(zhuǎn)碼集群將轉(zhuǎn)碼后的源文件分片存放到緩存服務(wù)器;且通知流服務(wù)器根據(jù)收到的VOD點(diǎn)播請(qǐng)求,將緩存在緩存服務(wù)器中對(duì)應(yīng)的已轉(zhuǎn)碼文件,推送到移動(dòng)終端;當(dāng)?shù)谝慌袛鄦卧袛嗨修D(zhuǎn)碼任務(wù)分片對(duì)應(yīng)的源文件已經(jīng)轉(zhuǎn)碼完成,且所述轉(zhuǎn)碼請(qǐng)求發(fā)自流服務(wù)器,則將所有源文件轉(zhuǎn)碼后合成一個(gè)目標(biāo)文件,存放至主存服務(wù)器。其中分片單元包括查找單元、讀取單元、第一分片單元;查找單元包括第一查找單元,第一查找單元,用于查找所述的轉(zhuǎn)碼請(qǐng)求中文件名 對(duì)應(yīng)的任務(wù)描述文件;若查找到,則通過所述的任務(wù)描述文件,獲取轉(zhuǎn)碼任務(wù)信息;讀取單元,用于通過所述的轉(zhuǎn)碼任務(wù)信息讀取源文件,并獲取源文件的編碼信息;第一分片單元,根據(jù)所述的源文件的編碼信息,獲取I幀間隔時(shí)間和輸出碼率,將所述轉(zhuǎn)碼任務(wù)信息對(duì)應(yīng)的轉(zhuǎn)碼任務(wù)進(jìn)行分片,生成轉(zhuǎn)碼任務(wù)分片。其中,接收單元進(jìn)一步包括第二接收單元;所述查找單元包括第二查找單元;所述判斷單元進(jìn)一步包括第二判斷單元;所述裝置進(jìn)一步包括第三處理單元;第二接收單元,用于接收SEEK請(qǐng)求;第二查找單元,用于根據(jù)所述的SEEK請(qǐng)求中攜帶的播放的開始時(shí)間,找到SEEK請(qǐng)求中對(duì)應(yīng)的第一轉(zhuǎn)碼任務(wù)分片;判斷單元進(jìn)一步包括第二判斷單元,所述第二判斷單元,用于判斷所述的第一轉(zhuǎn)碼任務(wù)分片是否應(yīng)存在于轉(zhuǎn)碼任務(wù)隊(duì)列;將結(jié)果則通知第三處理單元;第三處理單元,用于當(dāng)?shù)谝晦D(zhuǎn)碼任務(wù)分片存在于轉(zhuǎn)碼任務(wù)隊(duì)列,通知流服務(wù)器正在轉(zhuǎn)碼,嘗試讀取數(shù)據(jù),結(jié)束本流程;當(dāng)?shù)谝晦D(zhuǎn)碼任務(wù)分片不存在于轉(zhuǎn)碼任務(wù)隊(duì)列,則提高該第一轉(zhuǎn)碼任務(wù)分片的優(yōu)先級(jí),通知第一處理單元繼續(xù)處理。其中,所述的接收單元進(jìn)一步包括第三接收單元;所述裝置進(jìn)一步包括第四處理單元第三接收單元,用于接收CMS發(fā)送的轉(zhuǎn)碼請(qǐng)求;所述轉(zhuǎn)碼請(qǐng)求中攜帶預(yù)定義的目標(biāo)文件的文件名;第四處理單元,用于當(dāng)?shù)诘谝慌袛鄦卧袛嗨修D(zhuǎn)碼任務(wù)分配對(duì)應(yīng)的源文件還未轉(zhuǎn)碼完成,且所述轉(zhuǎn)碼請(qǐng)求發(fā)自CMS,則分段的源文件轉(zhuǎn)碼后,分片存放至緩存服務(wù)器;當(dāng)?shù)谝慌袛鄦卧袛嗨修D(zhuǎn)碼任務(wù)分配對(duì)應(yīng)的源文件已經(jīng)轉(zhuǎn)碼完成,且所述轉(zhuǎn)碼請(qǐng)求發(fā)自CMS,則所有的源文件轉(zhuǎn)碼后合成一個(gè)目標(biāo)文件,存放至主存服務(wù)器,通知CMS轉(zhuǎn)碼完成;結(jié)束本流程。本發(fā)明通過該方法,將音視頻文件顆?;?,使得轉(zhuǎn)碼的任務(wù)單位更??;可以靈活分配計(jì)算資源,快速輸出優(yōu)先級(jí)高的轉(zhuǎn)碼文件,提高系統(tǒng)響應(yīng)。并且使用現(xiàn)有技術(shù)的方法,月艮務(wù)器需要采用較高的配置才能勝任轉(zhuǎn)碼任務(wù),通過使用本發(fā)明的方法,降低了服務(wù)器門檻,因此降低了服務(wù)的成本。本領(lǐng)域的普通技術(shù)人員可以理解,實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以通過程序指令相關(guān)硬件來完成的,所述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,所述的存儲(chǔ)介質(zhì)可以為ROM、RAM、磁盤、光盤等。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種音視頻文件轉(zhuǎn)碼集群調(diào)度方法,其特征在于,所述方法包括 接收轉(zhuǎn)碼請(qǐng)求,根據(jù)所述將轉(zhuǎn)碼請(qǐng)求將對(duì)應(yīng)的轉(zhuǎn)碼任務(wù)進(jìn)行分片,生成轉(zhuǎn)碼任務(wù)分片; 根據(jù)預(yù)先設(shè)置的任務(wù)優(yōu)先級(jí)生成轉(zhuǎn)碼任務(wù)分片調(diào)度信息;并根據(jù)所述轉(zhuǎn)碼任務(wù)分片調(diào)度信息將轉(zhuǎn)碼任務(wù)分配至轉(zhuǎn)碼集群進(jìn)行轉(zhuǎn)碼; 判斷所有轉(zhuǎn)碼任務(wù)分片對(duì)應(yīng)的源文件是否已經(jīng)轉(zhuǎn)碼完成,若轉(zhuǎn)碼未完成且所述轉(zhuǎn)碼請(qǐng)求發(fā)自流服務(wù)器,則通知轉(zhuǎn)碼集群將轉(zhuǎn)碼后的源文件分片存放到緩存服務(wù)器;通知流服務(wù)器根據(jù)收到的VOD點(diǎn)播請(qǐng)求,將緩存在緩存服務(wù)器中對(duì)應(yīng)的已轉(zhuǎn)碼文件推送到移動(dòng)終端。
2.根據(jù)權(quán)利要求I所述的音視頻文件轉(zhuǎn)碼集群調(diào)度方法,其特征在于,所述的“接收轉(zhuǎn)碼請(qǐng)求,根據(jù)所述轉(zhuǎn)碼請(qǐng)求對(duì)應(yīng)的轉(zhuǎn)碼任務(wù)進(jìn)行分片,生成轉(zhuǎn)碼任務(wù)分片”具體為 查找所述的轉(zhuǎn)碼請(qǐng)求中文件名對(duì)應(yīng)的任務(wù)描述文件;若查找到,則通過所述的任務(wù)描述文件,獲取轉(zhuǎn)碼任務(wù)信息; 通過所述的轉(zhuǎn)碼任務(wù)信息讀取源文件,并獲取源文件的編碼信息; 根據(jù)所述的源文件的編碼信息,獲取I幀間隔時(shí)間和輸出碼率,將所述轉(zhuǎn)碼任務(wù)信息對(duì)應(yīng)的轉(zhuǎn)碼任務(wù)進(jìn)行分片,生成轉(zhuǎn)碼任務(wù)分片。
3.根據(jù)權(quán)利要求2所述的音視頻文件轉(zhuǎn)碼集群調(diào)度方法,其特征在于,所述的“接收轉(zhuǎn)碼請(qǐng)求”之前還包括 移動(dòng)終端發(fā)送VOD點(diǎn)播請(qǐng)求,所述請(qǐng)求中攜帶預(yù)定義的目標(biāo)文件的文件名; 流服務(wù)器接收所述的VOD點(diǎn)播請(qǐng)求,并判斷是否接收到SEEK請(qǐng)求;若否則流服務(wù)器根據(jù)所述的文件名,在轉(zhuǎn)碼結(jié)果文件中進(jìn)行搜索;若搜索到則發(fā)送轉(zhuǎn)碼請(qǐng)求。
4.根據(jù)權(quán)利要求3所述的音視頻文件轉(zhuǎn)碼集群調(diào)度方法,其特征在于,所述的“流服務(wù)器接收所述的VOD點(diǎn)播請(qǐng)求,并判斷是否接收到SEEK請(qǐng)求”,若是,則發(fā)送所述的SEEK請(qǐng)求; 接收所述的SEEK請(qǐng)求后,根據(jù)所述的SEEK請(qǐng)求中攜帶的播放的開始時(shí)間,找到SEEK請(qǐng)求中對(duì)應(yīng)的第一轉(zhuǎn)碼任務(wù)分片; 判斷所述的第一轉(zhuǎn)碼任務(wù)分片是否應(yīng)存在于轉(zhuǎn)碼任務(wù)隊(duì)列;如果是,則通知流服務(wù)器正在轉(zhuǎn)碼,讀取數(shù)據(jù),結(jié)束本流程;若否則提高該第一轉(zhuǎn)碼任務(wù)分片的優(yōu)先級(jí);繼續(xù)執(zhí)行“根據(jù)所述的轉(zhuǎn)碼任務(wù)分片調(diào)度信息,并根據(jù)轉(zhuǎn)碼任務(wù)分片調(diào)度信息將轉(zhuǎn)碼任務(wù)分配至轉(zhuǎn)碼集群進(jìn)行轉(zhuǎn)碼。
5.根據(jù)權(quán)利要求4所述的音視頻文件轉(zhuǎn)碼集群調(diào)度方法,其特征在于,所述的“判斷所有轉(zhuǎn)碼任務(wù)分片對(duì)應(yīng)的源文件是否已經(jīng)轉(zhuǎn)碼完成”,若是,并且所述轉(zhuǎn)碼請(qǐng)求發(fā)自流服務(wù)器,則將所有源文件轉(zhuǎn)碼后合成一個(gè)目標(biāo)文件,存放至主存服務(wù)器。
6.根據(jù)權(quán)利要求2所述的音視頻文件轉(zhuǎn)碼集群調(diào)度方法,其特征在于,所述的“接收轉(zhuǎn)碼請(qǐng)求”之前還包括CMS發(fā)送轉(zhuǎn)碼請(qǐng)求;所述轉(zhuǎn)碼請(qǐng)求中攜帶預(yù)定義的目標(biāo)文件的文件名; 所述的“判斷所有轉(zhuǎn)碼任務(wù)分片對(duì)應(yīng)的源文件是否已經(jīng)轉(zhuǎn)碼完成“,若是,并且所述轉(zhuǎn)碼請(qǐng)求發(fā)自CMS,則所有的源文件轉(zhuǎn)碼后合成一個(gè)目標(biāo)文件,存放至主存服務(wù)器,通知CMS轉(zhuǎn)碼完成;結(jié)束本流程;若否,并且所述轉(zhuǎn)碼請(qǐng)求發(fā)自CMS,則將分段的源文件轉(zhuǎn)碼后,分片存放至緩存服務(wù)器。
7.一種音視頻文件轉(zhuǎn)碼集群調(diào)度裝置,其特征在于,所述裝置包括接收單元,分片單元、第一處理單元、判斷單元、第二處理單元; 接收單元包括第一接收單元,第一接收單元,用于接收轉(zhuǎn)碼請(qǐng)求; 分片單元,用于根據(jù)所述將轉(zhuǎn)碼請(qǐng)求對(duì)應(yīng)的轉(zhuǎn)碼任務(wù)進(jìn)行分片,生成轉(zhuǎn)碼任務(wù)分片;第一處理單元,用于根據(jù)預(yù)先設(shè)置的任務(wù)優(yōu)先級(jí)生成轉(zhuǎn)碼任務(wù)分片調(diào)度信息;并根據(jù)所述的轉(zhuǎn)碼任務(wù)分片調(diào)度信息將轉(zhuǎn)碼任務(wù)分配至轉(zhuǎn)碼集群進(jìn)行轉(zhuǎn)碼; 判斷單元,包括第一判斷單元,所述第一判斷單元用于判斷是否所有轉(zhuǎn)碼任務(wù)分片對(duì)應(yīng)的源文件已經(jīng)轉(zhuǎn)碼完成;將結(jié)果則通知第二處理單元; 第二處理單元,用于當(dāng)?shù)谝慌袛鄦卧袛嗨修D(zhuǎn)碼任務(wù)分片對(duì)應(yīng)的源文件還未轉(zhuǎn)碼完成,并且所述轉(zhuǎn)碼請(qǐng)求發(fā)自流服務(wù)器,通知轉(zhuǎn)碼集群將轉(zhuǎn)碼后的源文件分片存放到緩存服務(wù)器;且通知流服務(wù)器根據(jù)收到的VOD點(diǎn)播請(qǐng)求,將緩存在緩存服務(wù)器中對(duì)應(yīng)的已轉(zhuǎn)碼文件,推送到移動(dòng)終端;當(dāng)?shù)谝慌袛鄦卧袛嗨修D(zhuǎn)碼任務(wù)分片對(duì)應(yīng)的源文件已經(jīng)轉(zhuǎn)碼完成,且所述轉(zhuǎn)碼請(qǐng)求發(fā)自流服務(wù)器,則將所有源文件轉(zhuǎn)碼后合成一個(gè)目標(biāo)文件,存放至主存服務(wù)器。
8.根據(jù)權(quán)利要求7所述的音視頻文件轉(zhuǎn)碼集群調(diào)度裝置,其特征在于,所述的分片單元包括查找單元、讀取單元、第一分片單元; 查找單元包括第一查找單元,第一查找單元,用于查找所述的轉(zhuǎn)碼請(qǐng)求中文件名對(duì)應(yīng)的任務(wù)描述文件;若查找到,則通過所述的任務(wù)描述文件,獲取轉(zhuǎn)碼任務(wù)信息; 讀取單元,用于通過所述的轉(zhuǎn)碼任務(wù)信息讀取源文件,并獲取源文件的編碼信息;第一分片單元,根據(jù)所述的源文件的編碼信息,獲取I幀間隔時(shí)間和輸出碼率,將所述轉(zhuǎn)碼任務(wù)信息對(duì)應(yīng)的轉(zhuǎn)碼任務(wù)進(jìn)行分片,生成轉(zhuǎn)碼任務(wù)分片。
9.根據(jù)權(quán)利要求8所述的音視頻文件轉(zhuǎn)碼集群調(diào)度裝置,其特征在于,所述的接收單元進(jìn)一步包括第二接收單元;所述查找單元進(jìn)一步包括第二查找單元;所述判斷單元進(jìn)一步包括第二判斷單元;所述裝置進(jìn)一步包括第三處理單元; 第二接收單元,用于接收SEEK請(qǐng)求; 第二查找單元,用于根據(jù)所述的SEEK請(qǐng)求中攜帶的播放的開始時(shí)間,找到SEEK請(qǐng)求中對(duì)應(yīng)的第一轉(zhuǎn)碼任務(wù)分片; 所述第二判斷單元,用于判斷所述的第一轉(zhuǎn)碼任務(wù)分片是否應(yīng)存在于轉(zhuǎn)碼任務(wù)隊(duì)列;將結(jié)果則通知第三處理單元; 第三處理單元,用于當(dāng)?shù)谝晦D(zhuǎn)碼任務(wù)分片存在于轉(zhuǎn)碼任務(wù)隊(duì)列,通知流服務(wù)器正在轉(zhuǎn)碼,嘗試讀取數(shù)據(jù),結(jié)束本流程;當(dāng)?shù)谝晦D(zhuǎn)碼任務(wù)分片不存在于轉(zhuǎn)碼任務(wù)隊(duì)列,則提高該第一轉(zhuǎn)碼任務(wù)分片的優(yōu)先級(jí),通知第一處理單元繼續(xù)處理。
10.根據(jù)權(quán)利要求9所述的音視頻文件轉(zhuǎn)碼集群調(diào)度裝置,其特征在于,所述的接收單元進(jìn)一步包括第三接收單元;所述裝置進(jìn)一步包括第四處理單元; 第三接收單元,用于接收CMS發(fā)送的轉(zhuǎn)碼請(qǐng)求;所述轉(zhuǎn)碼請(qǐng)求中攜帶預(yù)定義的目標(biāo)文件的文件名; 第四處理單元,用于當(dāng)?shù)诘谝慌袛鄦卧袛嗨修D(zhuǎn)碼任務(wù)分配對(duì)應(yīng)的源文件還未轉(zhuǎn)碼完成,且所述轉(zhuǎn)碼請(qǐng)求發(fā)自CMS,則分段的源文件轉(zhuǎn)碼后,分片存放至緩存服務(wù)器;當(dāng)?shù)谝慌袛鄦卧袛嗨修D(zhuǎn)碼任務(wù)分配對(duì)應(yīng)的源文件已經(jīng)轉(zhuǎn)碼完成,且所述轉(zhuǎn)碼請(qǐng)求發(fā)自CMS,則所有的源文件 轉(zhuǎn)碼后合成一個(gè)目標(biāo)文件,存放至主存服務(wù)器,通知CMS轉(zhuǎn)碼完成;結(jié)束本流程。
全文摘要
本發(fā)明公布了一種音視頻文件轉(zhuǎn)碼集群調(diào)度方法,該方法包括以下步驟流服務(wù)器或CMS向轉(zhuǎn)碼集群調(diào)度裝置發(fā)送轉(zhuǎn)碼請(qǐng)求,音視頻文件轉(zhuǎn)碼集群調(diào)度裝置根據(jù)轉(zhuǎn)碼請(qǐng)求將轉(zhuǎn)碼任務(wù)對(duì)應(yīng)的音視頻文件進(jìn)行顆粒化處理,再將顆粒化處理后的轉(zhuǎn)碼任務(wù)分配至轉(zhuǎn)碼集群進(jìn)行轉(zhuǎn)碼,音視頻文件轉(zhuǎn)碼集群調(diào)度裝置根據(jù)轉(zhuǎn)碼任務(wù)的完成情況以及轉(zhuǎn)碼請(qǐng)求的來源分別進(jìn)行調(diào)度處理。本發(fā)明通過將音視頻文件顆?;?,使得轉(zhuǎn)碼的任務(wù)單位更小;從而可以靈活分配計(jì)算資源,快速輸出優(yōu)先級(jí)高的轉(zhuǎn)碼文件,提高系統(tǒng)響應(yīng)。并且本發(fā)明相比傳統(tǒng)的轉(zhuǎn)碼集群調(diào)度方法,可以采用較低配置的服務(wù)器就能夠適用轉(zhuǎn)碼任務(wù),降低了服務(wù)器的門檻,因此降低了服務(wù)提供商的服務(wù)的成本。
文檔編號(hào)H04N21/266GK102802053SQ20121025477
公開日2012年11月28日 申請(qǐng)日期2012年7月23日 優(yōu)先權(quán)日2012年7月23日
發(fā)明者董志 申請(qǐng)人:深圳市融創(chuàng)天下科技股份有限公司