專利名稱:基于云存儲(chǔ)的分布式轉(zhuǎn)碼系統(tǒng)及其方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電信和互聯(lián)網(wǎng)業(yè)務(wù)的計(jì)算機(jī)網(wǎng)絡(luò)視頻存儲(chǔ)和處理技術(shù)領(lǐng)域,尤其涉及一種基于云存儲(chǔ)的分布式轉(zhuǎn)碼系統(tǒng)及其方法。
背景技術(shù):
隨著電信業(yè)務(wù)和互聯(lián)網(wǎng)業(yè)務(wù)的融合,音/視頻的視聽業(yè)務(wù)越來(lái)越普及,服務(wù)形式也多種多樣,內(nèi)容信息也爆炸性增長(zhǎng)。業(yè)務(wù)系統(tǒng)需要為各種能力、類型的終端提供適應(yīng)性的碼流。為適配各種終端能力和業(yè)務(wù)展現(xiàn)場(chǎng)景的需要,視頻轉(zhuǎn)碼需要提供更強(qiáng)的處理能力和更方便的調(diào)度。分布式轉(zhuǎn)碼技術(shù),是提高轉(zhuǎn)碼性能的可行方法。但現(xiàn)有的分布式轉(zhuǎn)碼方案,往往只關(guān)注轉(zhuǎn)碼效率或轉(zhuǎn)碼視頻效果本身,沒(méi)有更多、更深入地考慮云計(jì)算的新環(huán)境下,如何解決分布式轉(zhuǎn)碼的新架構(gòu),以及提供分布式轉(zhuǎn)碼便捷調(diào)度的實(shí)際商用能力,包括如何重用云存儲(chǔ)的分片能力、如何調(diào)度分布式轉(zhuǎn)碼能力等問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明解決的技術(shù)問(wèn)題是提供一種基于云存儲(chǔ)的分布式轉(zhuǎn)碼系統(tǒng)及其方法,在云存儲(chǔ)環(huán)境下對(duì)視頻資源進(jìn)行統(tǒng)一存儲(chǔ)和轉(zhuǎn)碼處理。為解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種基于云存儲(chǔ)的分布式轉(zhuǎn)碼方法,分布式轉(zhuǎn)碼平臺(tái)根據(jù)應(yīng)用終端發(fā)起的轉(zhuǎn)碼請(qǐng)求,向云存儲(chǔ)平臺(tái)請(qǐng)求待轉(zhuǎn)碼文件的存儲(chǔ)信息;所述云存儲(chǔ)平臺(tái)向所述分布式轉(zhuǎn)碼平臺(tái)返回所述待轉(zhuǎn)碼文件的存儲(chǔ)信息,所述存儲(chǔ)信息包括源文件分片的云存儲(chǔ)位置;所述分布式轉(zhuǎn)碼平臺(tái)根據(jù)所述云存儲(chǔ)平臺(tái)返回的源文件分片的云存儲(chǔ)位置讀取源文件分片,進(jìn)行轉(zhuǎn)碼處理。進(jìn)一步地,所述方法還包括:所述云存儲(chǔ)平臺(tái)向所述分布式轉(zhuǎn)碼平臺(tái)返回所述待轉(zhuǎn)碼文件的存儲(chǔ)信息還包括:轉(zhuǎn)碼后的目標(biāo)文件分片的云存儲(chǔ)位置;所述分布式轉(zhuǎn)碼平臺(tái)對(duì)讀取的源文件分片進(jìn)行轉(zhuǎn)碼處理后,按照所述目標(biāo)文件分片的云存儲(chǔ)位置將轉(zhuǎn)碼后的分片保存至所述云存儲(chǔ)平臺(tái)。進(jìn)一步地,所述云存儲(chǔ)平臺(tái)向所述分布式轉(zhuǎn)碼平臺(tái)返回所述待轉(zhuǎn)碼文件的存儲(chǔ)信息之前,包括:所述應(yīng)用終端將所述待轉(zhuǎn)碼文件寫入所述云存儲(chǔ)平臺(tái),所述云存儲(chǔ)平臺(tái)保存所述待轉(zhuǎn)碼文件的源文件分片的云存儲(chǔ)位置;其中,所述待轉(zhuǎn)碼文件的源文件分片的云存儲(chǔ)位置包括:所述云存儲(chǔ)平臺(tái)的一個(gè)或多個(gè)文件訪問(wèn)服務(wù)器(FAS)中的存放位置。
進(jìn)一步地,所述云存儲(chǔ)平臺(tái)向所述分布式轉(zhuǎn)碼平臺(tái)返回的所述目標(biāo)文件分片的云存儲(chǔ)位置與所述源文件分片的云存儲(chǔ)位置位于相同或不同的FAS中。本發(fā)明還提供了一種基于云存儲(chǔ)的分布式轉(zhuǎn)碼系統(tǒng),包括應(yīng)用終端、分布式轉(zhuǎn)碼平臺(tái)和云存儲(chǔ)平臺(tái),其中所述分布式轉(zhuǎn)碼平臺(tái)進(jìn)一步包括轉(zhuǎn)碼管理服務(wù)器和轉(zhuǎn)碼服務(wù)器,所述云存儲(chǔ)平臺(tái)進(jìn)一步包括文件位置寄存器(FLR)和文件訪問(wèn)服務(wù)器(FAS),所述應(yīng)用終端用于,向所述FLR發(fā)起文件寫入或讀取請(qǐng)求;以及,向所述轉(zhuǎn)碼管理服務(wù)器發(fā)起轉(zhuǎn)碼請(qǐng)求;所述轉(zhuǎn)碼管理服務(wù)器用于,根據(jù)應(yīng)用終端發(fā)起的轉(zhuǎn)碼請(qǐng)求,向所述FLR請(qǐng)求待轉(zhuǎn)碼文件的存儲(chǔ)信息,并根據(jù)所述云存儲(chǔ)平臺(tái)返回的源文件分片的云存儲(chǔ)位置向所述轉(zhuǎn)碼服務(wù)器發(fā)送轉(zhuǎn)碼指令;所述轉(zhuǎn)碼服務(wù)器用于,根據(jù)接收到的轉(zhuǎn)碼指令讀取源文件分片,進(jìn)行轉(zhuǎn)碼處理;所述FLR用于,向所述分布式轉(zhuǎn)碼平臺(tái)返回所述待轉(zhuǎn)碼文件的存儲(chǔ)信息,所述存儲(chǔ)信息包括源文件分片的云存儲(chǔ)位置。進(jìn)一步地,所述FLR還用于,在向所述分布式轉(zhuǎn)碼平臺(tái)返回所述待轉(zhuǎn)碼文件的存儲(chǔ)信息中,還包括轉(zhuǎn)碼后的目標(biāo)文件分片的云存儲(chǔ)位置;以及,根據(jù)轉(zhuǎn)碼服務(wù)器發(fā)起的注冊(cè)請(qǐng)求保存目標(biāo)文件分片的存儲(chǔ)信息;所述轉(zhuǎn)碼管理服務(wù)器還用于,在發(fā)送的轉(zhuǎn)碼指令中包括所述目標(biāo)文件分片的云存儲(chǔ)位置;所述轉(zhuǎn)碼服務(wù)器還用于,對(duì)讀取的源文件分片進(jìn)行轉(zhuǎn)碼處理后,按照所述目標(biāo)文件分片的云存儲(chǔ)位置,向所述FLR發(fā)送保存轉(zhuǎn)碼后的目標(biāo)文件分片的注冊(cè)請(qǐng)求。進(jìn)一步地,所述轉(zhuǎn)碼管理服務(wù)器還用于,根據(jù)收到的應(yīng)用終端的轉(zhuǎn)碼請(qǐng)求生成轉(zhuǎn)碼任務(wù),并根據(jù)管理的全局轉(zhuǎn)碼任務(wù)列表調(diào)度全局轉(zhuǎn)碼任務(wù)。進(jìn)一步地,所述轉(zhuǎn)碼管理服務(wù)器還用于,根據(jù)監(jiān)控和管理各轉(zhuǎn)碼服務(wù)器的狀態(tài)信息,向轉(zhuǎn)碼服務(wù)器分派所述轉(zhuǎn)碼指令。進(jìn)一步地,所述轉(zhuǎn)碼服務(wù)器還用于,管理本轉(zhuǎn)碼服務(wù)器的轉(zhuǎn)碼任務(wù)列表,并根據(jù)轉(zhuǎn)碼任務(wù)的優(yōu)先級(jí)調(diào)度轉(zhuǎn)碼任務(wù)。進(jìn)一步地,所述FLR用于,將所述待轉(zhuǎn)碼文件寫入一個(gè)或多個(gè)FAS中,向所述分布式轉(zhuǎn)碼平臺(tái)返回所述待轉(zhuǎn)碼文件的存儲(chǔ)信息時(shí),返回的所述目標(biāo)文件分片的云存儲(chǔ)位置與所述源文件分片的云存儲(chǔ)位置位于相同或不同的FAS中。本發(fā)明提供的基于云存儲(chǔ)的分布式轉(zhuǎn)碼系統(tǒng)與方法,實(shí)現(xiàn)了云存儲(chǔ)中視頻文件的分片可以直接被分布式轉(zhuǎn)碼服務(wù)器作為待轉(zhuǎn)碼源文件使用,從而減少了重復(fù)的視頻文件分片和聚合過(guò)程,避免了計(jì)算能力的浪費(fèi),削減了運(yùn)維成本。
此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:圖1是本發(fā)明實(shí)施例的基于云存儲(chǔ)的分布式轉(zhuǎn)碼系統(tǒng)的組網(wǎng)架構(gòu)示意圖;圖2是本發(fā)明實(shí)施例的基于云存儲(chǔ)的分布式轉(zhuǎn)碼系統(tǒng)的組成示意圖;圖3是本發(fā)明實(shí)施例的文件寫入云存儲(chǔ)流程示意圖4是本發(fā)明實(shí)施例的云存儲(chǔ)文件的分布式轉(zhuǎn)碼流程示意圖;圖5是本發(fā)明實(shí)施例的讀取云存儲(chǔ)中文件流程示意圖。
具體實(shí)施例方式本實(shí)施方式提供了一種基于云存儲(chǔ)的分布式轉(zhuǎn)碼方法,米用以下技術(shù)方案:分布式轉(zhuǎn)碼平臺(tái)接收應(yīng)用終端發(fā)起的轉(zhuǎn)碼請(qǐng)求,向云存儲(chǔ)平臺(tái)請(qǐng)求待轉(zhuǎn)碼文件的存儲(chǔ)信息;所述云存儲(chǔ)平臺(tái)向所述分布式轉(zhuǎn)碼平臺(tái)返回所述待轉(zhuǎn)碼文件的存儲(chǔ)信息,所述存儲(chǔ)信息包括源文件分片和轉(zhuǎn)碼后的目標(biāo)文件分片的云存儲(chǔ)位置;所述分布式轉(zhuǎn)碼平臺(tái)根據(jù)所述云存儲(chǔ)平臺(tái)返回的源文件分片的云存儲(chǔ)位置讀取源文件分片,進(jìn)行轉(zhuǎn)碼處理后,按照所述目標(biāo)文件分片的云存儲(chǔ)位置將轉(zhuǎn)碼后的分片保存至所述云存儲(chǔ)平臺(tái)。進(jìn)一步地,本實(shí)施方式還提供了一種基于云存儲(chǔ)的分布式轉(zhuǎn)碼系統(tǒng),包括應(yīng)用終端、分布式轉(zhuǎn)碼平臺(tái),和云存儲(chǔ)平臺(tái),其中:應(yīng)用終端,包括各種類型終端的客戶端或應(yīng)用程序,或是應(yīng)用服務(wù)器的應(yīng)用程序。如可以是云存儲(chǔ)客戶端FAC(File Access Client,文件訪問(wèn)客戶端)、轉(zhuǎn)碼客戶端等。分布式轉(zhuǎn)碼平臺(tái),由轉(zhuǎn)碼管理服務(wù)器和轉(zhuǎn)碼服務(wù)器集群組成,負(fù)責(zé)執(zhí)行和管理分布式轉(zhuǎn)碼功能。云存儲(chǔ)平臺(tái),主要包括云存儲(chǔ)FLR(File Location Register,文件位置寄存器)服務(wù)器、云存儲(chǔ)FAS (File Access Server,文件訪問(wèn)服務(wù)器)集群等,負(fù)責(zé)分片存儲(chǔ)視頻等文件的轉(zhuǎn)碼前源文件和轉(zhuǎn)碼后的目標(biāo)文件。其中,對(duì)于未存放在云存儲(chǔ)中的視頻文件,請(qǐng)求進(jìn)行分布式轉(zhuǎn)碼時(shí),需要將視頻文件先寫入云存儲(chǔ)中,才能對(duì)其進(jìn)行分布式轉(zhuǎn)碼處理。具體地,轉(zhuǎn)碼管理服務(wù)器接收應(yīng)用終端發(fā)起的文件轉(zhuǎn)碼請(qǐng)求時(shí),向云存儲(chǔ)平臺(tái)讀取該待轉(zhuǎn)碼文件的存儲(chǔ)信息;云存儲(chǔ)平臺(tái)將該待轉(zhuǎn)碼文件的存儲(chǔ)信息返回給轉(zhuǎn)碼管理服務(wù)器,包括待轉(zhuǎn)碼文件的源文件分片的云存儲(chǔ)位置,以及轉(zhuǎn)碼后的目標(biāo)文件分片的云存儲(chǔ)位置;轉(zhuǎn)碼管理服務(wù)器根據(jù)接收到的所述文件存儲(chǔ)信息發(fā)送轉(zhuǎn)碼指令給轉(zhuǎn)碼服務(wù)器集群,轉(zhuǎn)碼服務(wù)器根據(jù)接收到的轉(zhuǎn)碼指令進(jìn)行轉(zhuǎn)碼??梢?,本實(shí)施方式中,云存儲(chǔ)中視頻文件的分片可以直接被分布式轉(zhuǎn)碼服務(wù)器作為待轉(zhuǎn)碼源文件使用。與現(xiàn)有普通式文件系統(tǒng)中,需要先對(duì)讀取的源文件進(jìn)行分片后,再由轉(zhuǎn)碼服務(wù)器進(jìn)行轉(zhuǎn)碼操作的處理方式相比,提高了轉(zhuǎn)碼效率。同時(shí),轉(zhuǎn)碼后的視頻文件分片也不必立即合成為一個(gè)目標(biāo)視頻文件,而是在應(yīng)用客戶端使用視頻文件時(shí),再逐個(gè)讀取給應(yīng)用客戶端。這樣,在應(yīng)用客戶端讀取目標(biāo)視頻文件時(shí),由于數(shù)據(jù)存儲(chǔ)的分散性,具有讀取效率高且可靠的優(yōu)點(diǎn)。為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下文中將結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說(shuō)明。需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。如圖1所示,本實(shí)施例的基于云存儲(chǔ)的分布式轉(zhuǎn)碼系統(tǒng)主要由應(yīng)用終端、分布式轉(zhuǎn)碼平臺(tái)、云存儲(chǔ)平臺(tái)等組成。其中,應(yīng)用終端包括各種類型終端的客戶端或應(yīng)用程序,也可以是應(yīng)用服務(wù)器的應(yīng)用程序。分布式轉(zhuǎn)碼平臺(tái)包括轉(zhuǎn)碼管理服務(wù)器和轉(zhuǎn)碼服務(wù)器集群,負(fù)責(zé)執(zhí)行和管理分布式轉(zhuǎn)碼功能。云存儲(chǔ)平臺(tái)包括云存儲(chǔ)FLR服務(wù)器、云存儲(chǔ)FAS集群等,負(fù)責(zé)分片存儲(chǔ)視頻等文件的轉(zhuǎn)碼前源文件和轉(zhuǎn)碼后的目標(biāo)文件。如圖2所不,本實(shí)施例的基于云存儲(chǔ)的分布式轉(zhuǎn)碼系統(tǒng)中,應(yīng)用終端可以向云存儲(chǔ)讀寫視頻等文件,也可以發(fā)起其中某些視頻文件的轉(zhuǎn)碼請(qǐng)求。應(yīng)用終端的這些應(yīng)用具體包括但不限于以下形式:(I)收錄系統(tǒng)客戶端即將有線電視、衛(wèi)星電視、互聯(lián)網(wǎng)等視頻節(jié)目收錄下來(lái),并保存到云存儲(chǔ)中的客戶端。(2)寫入文件應(yīng)用指視頻等文件的寫入云存儲(chǔ)的客戶端應(yīng)用程序,包括云存儲(chǔ)客戶端FAC(FileAccess Client)。該應(yīng)用可以是通過(guò)多種信源途徑和開放文件接口(P0SIX、CIFS、NFS等接口),將視頻文件等與入z 存儲(chǔ) 。(3)轉(zhuǎn)碼客戶端指發(fā)送請(qǐng)求以進(jìn)行分布式轉(zhuǎn)碼服務(wù)的客戶端。轉(zhuǎn)碼客戶端還接收分布式轉(zhuǎn)碼的結(jié)果響應(yīng)。(4)讀取文件應(yīng)用指讀取云存儲(chǔ)中視頻等文件的客戶端應(yīng)用程序,包括云存儲(chǔ)客戶端FAC(FileAccess Client)。該應(yīng)用通過(guò)開放文件接口(如P0SIX、CIFS、NFS等接口),從云存儲(chǔ)中讀取視頻等文件,進(jìn)行視頻播放或編輯等操作。(5)終端播放客戶端包含移動(dòng)終端、PC、機(jī)頂盒等終端上的視頻播放客戶端,這些客戶端從云存儲(chǔ)中讀取和播放視頻等文件,可以是轉(zhuǎn)碼前的源文件或轉(zhuǎn)碼后的目標(biāo)文件。FAC完成客戶端代理功能,一方面給應(yīng)用進(jìn)程提供文件操作的API接口,另一方面完成和FLR和FAS的交互,完成數(shù)據(jù)的搬移。分布式轉(zhuǎn)碼平臺(tái)中的轉(zhuǎn)碼管理服務(wù)器主要負(fù)責(zé):(I)接收應(yīng)用終端(如轉(zhuǎn)碼客戶端)的轉(zhuǎn)碼請(qǐng)求;(2)從云存儲(chǔ)中讀取視頻源文件和目標(biāo)文件的存儲(chǔ)信息,調(diào)度生成各文件分片的轉(zhuǎn)碼指令,該指令包含待轉(zhuǎn)碼的視頻文件源分片云存儲(chǔ)位置,轉(zhuǎn)碼后的視頻文件分片的云存儲(chǔ)位置,轉(zhuǎn)碼前后的視頻文件的編碼格式等信息;(3)向轉(zhuǎn)碼服務(wù)器集群發(fā)送該轉(zhuǎn)碼指令;(4)在檢查所有分片的轉(zhuǎn)碼已經(jīng)完成后,向轉(zhuǎn)碼客戶端發(fā)送轉(zhuǎn)碼結(jié)果的響應(yīng)消息(5)管理轉(zhuǎn)碼服務(wù)器集群,包括監(jiān)控和管理轉(zhuǎn)碼服務(wù)器狀態(tài)(有效、無(wú)效、預(yù)留等狀態(tài),CPU、內(nèi)存的使用率等情況)、管理轉(zhuǎn)碼服務(wù)器集群分組、轉(zhuǎn)碼能力管理(運(yùn)算能力、支持的轉(zhuǎn)碼格式等)、管理全局轉(zhuǎn)碼任務(wù)列表和調(diào)度全局轉(zhuǎn)碼任務(wù)。
分布式轉(zhuǎn)碼平臺(tái)中的轉(zhuǎn)碼服務(wù)器主要負(fù)責(zé):(I)接收轉(zhuǎn)碼管理服務(wù)器的轉(zhuǎn)碼指令;(2)根據(jù)指令信息,向云存儲(chǔ)FAS讀取源文件分片信息;(3)執(zhí)行轉(zhuǎn)碼操作;(4)將轉(zhuǎn)碼后的目標(biāo)視頻文件分片保存到指定的云存儲(chǔ)位置;(5)向云存儲(chǔ)FLR服務(wù)器注冊(cè)轉(zhuǎn)碼后目標(biāo)視頻文件分片的存儲(chǔ)信息;(6)向轉(zhuǎn)碼管理服務(wù)器返回轉(zhuǎn)碼結(jié)果信息。(7)管理本轉(zhuǎn)碼服務(wù)器的任務(wù)列表,可以調(diào)度任務(wù)優(yōu)先級(jí)。云存儲(chǔ)FLR負(fù)責(zé)文件訪問(wèn)控制、數(shù)據(jù)文件分布和各種元數(shù)據(jù)的管理,具體包括:(I)管理重要的文件元數(shù)據(jù),包括文件和分片的命名空間、文件到分片的映射表、分片的位置信息等。具體地,文件元數(shù)據(jù)可以是原始文件名稱、文件ID、文件的存儲(chǔ)信息等,其中文件存儲(chǔ)信息包括文件的副本數(shù)量、分片數(shù)量、分片ID、文件分片長(zhǎng)度、分片存放位置、壓縮參數(shù)、加密參數(shù)等。(2)管理云存儲(chǔ)平臺(tái),負(fù)責(zé)塊分布,垃圾收集,塊復(fù)制,負(fù)載平衡,F(xiàn)AS系統(tǒng)數(shù)據(jù)等系統(tǒng)方面的控制。其中,元數(shù)據(jù)和一些需要永久保存的配置數(shù)據(jù)存放在FLR的數(shù)據(jù)庫(kù)中。(3)FLR可以使用主備或集群的設(shè)備冗余方式,各FLR服務(wù)器之間保證數(shù)據(jù)一致性。(4)響應(yīng)轉(zhuǎn)碼管理服務(wù)器讀取文件存儲(chǔ)信息的請(qǐng)求,并在返回消息中還包括轉(zhuǎn)碼后的目標(biāo)文件分片的存儲(chǔ)信息。云存儲(chǔ)FAS主要負(fù)責(zé):與存儲(chǔ)硬件設(shè)備層接口,進(jìn)行文件分片的存取、搬移操作。包括響應(yīng)轉(zhuǎn)碼服務(wù)器的存取文件操作,以及云存儲(chǔ)本身的存儲(chǔ)均衡、副本維護(hù)時(shí)進(jìn)行數(shù)據(jù)的讀與等。在對(duì)視頻文件請(qǐng)求進(jìn)行轉(zhuǎn)碼操作時(shí),需要先將待轉(zhuǎn)碼視頻文件寫入云存儲(chǔ)中。如圖3所示,本發(fā)明實(shí)施例的文件寫入云存儲(chǔ)流程包括以下步驟:步驟101.應(yīng)用的FAC向FLR發(fā)起寫入文件請(qǐng)求,該請(qǐng)求消息鎮(zhèn)包含請(qǐng)求寫入的全路徑文件名稱、文件大小、壓縮指示、加密密碼等。步驟102.FLR返回寫入文件參數(shù)響應(yīng),告知FAC可提供服務(wù)的FAS列表、存儲(chǔ)策略
坐寸o其中,存儲(chǔ)策略包括:分片大小、副本數(shù)量、壓縮算法、加密指示等。分片的大小完全由存儲(chǔ)策略定,不要求所有分片都一樣大小。此外,對(duì)視頻文件的分片優(yōu)選按照可以獨(dú)立解碼的片段分割,也可以按照絕對(duì)大小或時(shí)間長(zhǎng)度進(jìn)行分割。步驟103.應(yīng)用的FAC分片保存文件到FAS。具體地,F(xiàn)AC處理被寫入文件的分片、壓縮和加密等處理,按照指定規(guī)則,向可服務(wù)的FAS逐個(gè)寫入文件分片。步驟104.FAS返回保存文件分片成功響應(yīng)給FAC,響應(yīng)消息包含該文件分片的存儲(chǔ)物理位置。步驟105.應(yīng)用的FAC將寫入文件結(jié)果向FLR申請(qǐng)記錄注冊(cè),注冊(cè)信息包括原始文件名稱、文件ID、文件的存儲(chǔ)信息等,其中文件存儲(chǔ)信息包括文件的副本數(shù)量、分片數(shù)量、分片ID、文件分片長(zhǎng)度、分片存放位置、壓縮參數(shù)、加密參數(shù)等。步驟106.云存儲(chǔ)FLR記錄文件及其分片的存儲(chǔ)信息。步驟107.云存儲(chǔ)FLR向應(yīng)用的FAC返回寫入文件記錄成功響應(yīng)。如圖4所示,本發(fā)明實(shí)施例的基于云存儲(chǔ)的分布式轉(zhuǎn)碼流程主要包括以下步驟:步驟201.應(yīng)用向轉(zhuǎn)碼管理服務(wù)器發(fā)起視頻文件轉(zhuǎn)碼操作請(qǐng)求,該請(qǐng)求消息包括待轉(zhuǎn)碼的文件ID、轉(zhuǎn)碼參數(shù)等。其中,轉(zhuǎn)碼參數(shù)包含目標(biāo)文件的編碼格式參數(shù)。步驟202.轉(zhuǎn)碼管理服務(wù)器生成文件轉(zhuǎn)碼任務(wù),并向云存儲(chǔ)FLR讀取該文件存儲(chǔ)信
肩、O步驟203.云存儲(chǔ)FLR返回文件存儲(chǔ)信息給轉(zhuǎn)碼管理服務(wù)器。其中,該響應(yīng)消息包含了對(duì)應(yīng)待轉(zhuǎn)碼文件的副本數(shù)量、分片數(shù)量、分片ID、文件分片長(zhǎng)度、分片存放位置、壓縮參數(shù)、加密參數(shù)等;還包括目標(biāo)文件的分配存放位置等信息。步驟204.轉(zhuǎn)碼管理服務(wù)器調(diào)度生成各分片轉(zhuǎn)碼指令。轉(zhuǎn)碼管理服務(wù)器根據(jù)監(jiān)控的可用轉(zhuǎn)碼服務(wù)器列表,生成文件轉(zhuǎn)碼任務(wù)的分片轉(zhuǎn)碼任務(wù),并分派給相應(yīng)轉(zhuǎn)碼服務(wù)器。步驟205.轉(zhuǎn)碼管理服務(wù)器發(fā)送某分片轉(zhuǎn)碼指令給轉(zhuǎn)碼服務(wù)器,該指令包含了源文件分片的存儲(chǔ)信息和轉(zhuǎn)碼后目標(biāo)文件分片的存儲(chǔ)信息,以及轉(zhuǎn)碼參數(shù)。步驟206.轉(zhuǎn)碼服務(wù)器接收轉(zhuǎn)碼指令并解析執(zhí)行。步驟207.轉(zhuǎn)碼服務(wù)器根據(jù)收到的源文件分片的存儲(chǔ)信息,向指定FAS讀取源文件分片。步驟208.FAS返回源文件分片給對(duì)應(yīng)轉(zhuǎn)碼服務(wù)器。步驟209.轉(zhuǎn)碼服務(wù)器按照轉(zhuǎn)碼參數(shù)執(zhí)行轉(zhuǎn)碼。步驟210.成功轉(zhuǎn)碼后,根據(jù)目標(biāo)文件分片的存儲(chǔ)信息將轉(zhuǎn)碼后目標(biāo)文件分片保存到指定FAS。其中,該FAS和源文件存放的FAS可以不相同。步驟211.FAS向轉(zhuǎn)碼服務(wù)器返回保存轉(zhuǎn)碼后分片成功響應(yīng)。步驟212.轉(zhuǎn)碼服務(wù)器向FLR發(fā)送保存轉(zhuǎn)碼后目標(biāo)文件分片的存儲(chǔ)信息請(qǐng)求。步驟213.FLR將轉(zhuǎn)碼后目標(biāo)文件分片的存儲(chǔ)信息注冊(cè)成功后,返回保存轉(zhuǎn)碼后分片存儲(chǔ)信息成功響應(yīng)給轉(zhuǎn)碼服務(wù)器。步驟214.轉(zhuǎn)碼服務(wù)器返回某分片成功轉(zhuǎn)碼完成響應(yīng)給轉(zhuǎn)碼管理服務(wù)器。步驟215.轉(zhuǎn)碼管理服務(wù)器檢查所有分片的轉(zhuǎn)碼是否已經(jīng)完成,未完成就繼續(xù)等待各分片的轉(zhuǎn)碼完成;已完成則進(jìn)入下一步。步驟216.轉(zhuǎn)碼管理服務(wù)器向應(yīng)用返回文件轉(zhuǎn)碼成功響應(yīng)。此時(shí),視頻源文件轉(zhuǎn)碼后的目標(biāo)文件的分片,并不需要聚合為一個(gè)文件。在一些情況下,轉(zhuǎn)碼服務(wù)器、FAS可以合設(shè),即物理設(shè)備上重用,這些情況包括FAS在云存儲(chǔ)能力負(fù)荷較低的情形。合設(shè)時(shí),為了避免轉(zhuǎn)碼能力和云存儲(chǔ)能力對(duì)CPU、內(nèi)存等資源的占用沖突,將該物理服務(wù)器虛擬化,為轉(zhuǎn)碼能力和云存儲(chǔ)能力提供區(qū)分的虛擬機(jī),各自虛擬機(jī)界定對(duì)資源占用的范圍,這個(gè)范圍根據(jù)云存儲(chǔ)和轉(zhuǎn)碼需求,適應(yīng)性地進(jìn)行彈性在線調(diào)整資源分配。
如圖5所示,本發(fā)明實(shí)施例的讀取云存儲(chǔ)中文件的流程主要包括以下步驟:步驟301.應(yīng)用客戶端FAC向FLR發(fā)起讀取文件請(qǐng)求,該文件可以轉(zhuǎn)碼前的視頻源文件,也可以是轉(zhuǎn)碼后的目標(biāo)文件。步驟302.FLR向FAC返回讀取文件信息響應(yīng),這些包括了對(duì)應(yīng)文件的存儲(chǔ)信息。步驟303.FAC根據(jù)獲得的文件存儲(chǔ)信息,向若干FAS讀取各文件分片。步驟304.FAS返回文件分片讀取成功響應(yīng),包含文件分片的數(shù)據(jù)。步驟305.FAC管理緩存的文件分片,包括緩存中對(duì)各文件分片進(jìn)行聚合一個(gè)文件,或者對(duì)前后相連的若干分片聚合,給應(yīng)用提供服務(wù)。綜上所述,本發(fā)明提供一種基于云存儲(chǔ)的分布式轉(zhuǎn)碼新架構(gòu)下的系統(tǒng)與方法。實(shí)現(xiàn)了云存儲(chǔ)中視頻文件的分片可以直接被分布式轉(zhuǎn)碼服務(wù)器作為待轉(zhuǎn)碼源文件使用。從而減少了重復(fù)的分片和聚合過(guò)程,避免了資源的浪費(fèi),削減了運(yùn)維成本。以上僅為本發(fā)明的優(yōu)選實(shí)施案例而已,并不用于限制本發(fā)明,本發(fā)明還可有其他多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員可根據(jù)本發(fā)明做出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算裝置來(lái)實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來(lái)實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來(lái)執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來(lái)實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
權(quán)利要求
1.一種基于云存儲(chǔ)的分布式轉(zhuǎn)碼方法,其特征在于, 分布式轉(zhuǎn)碼平臺(tái)根據(jù)應(yīng)用終端發(fā)起的轉(zhuǎn)碼請(qǐng)求,向云存儲(chǔ)平臺(tái)請(qǐng)求待轉(zhuǎn)碼文件的存儲(chǔ)信息; 所述云存儲(chǔ)平臺(tái)向所述分布式轉(zhuǎn)碼平臺(tái)返回所述待轉(zhuǎn)碼文件的存儲(chǔ)信息,所述存儲(chǔ)信息包括源文件分片的云存儲(chǔ)位置; 所述分布式轉(zhuǎn)碼平臺(tái)根據(jù)所述云存儲(chǔ)平臺(tái)返回的源文件分片的云存儲(chǔ)位置讀取源文件分片,進(jìn)行轉(zhuǎn)碼處理。
2.如權(quán)利要求1所述的 方法,其特征在于,所述方法還包括: 所述云存儲(chǔ)平臺(tái)向所述分布式轉(zhuǎn)碼平臺(tái)返回所述待轉(zhuǎn)碼文件的存儲(chǔ)信息還包括:轉(zhuǎn)碼后的目標(biāo)文件分片的云存儲(chǔ)位置; 所述分布式轉(zhuǎn)碼平臺(tái)對(duì)讀取的源文件分片進(jìn)行轉(zhuǎn)碼處理后,按照所述目標(biāo)文件分片的云存儲(chǔ)位置將轉(zhuǎn)碼后的分片保存至所述云存儲(chǔ)平臺(tái)。
3.如權(quán)利要求1或2所述的方法,其特征在于,所述云存儲(chǔ)平臺(tái)向所述分布式轉(zhuǎn)碼平臺(tái)返回所述待轉(zhuǎn)碼文件的存儲(chǔ)信息之前,包括: 所述應(yīng)用終端將所述待轉(zhuǎn)碼文件寫入所述云存儲(chǔ)平臺(tái),所述云存儲(chǔ)平臺(tái)保存所述待轉(zhuǎn)碼文件的源文件分片的云存儲(chǔ)位置; 其中,所述待轉(zhuǎn)碼文件的源文件分片的云存儲(chǔ)位置包括:所述云存儲(chǔ)平臺(tái)的一個(gè)或多個(gè)文件訪問(wèn)服務(wù)器(FAS)中的存放位置。
4.如權(quán)利要求3所述的方法,其特征在于, 所述云存儲(chǔ)平臺(tái)向所述分布式轉(zhuǎn)碼平臺(tái)返回的所述目標(biāo)文件分片的云存儲(chǔ)位置與所述源文件分片的云存儲(chǔ)位置位于相同或不同的FAS中。
5.一種基于云存儲(chǔ)的分布式轉(zhuǎn)碼系統(tǒng),其特征在于,包括應(yīng)用終端、分布式轉(zhuǎn)碼平臺(tái)和云存儲(chǔ)平臺(tái),其中所述分布式轉(zhuǎn)碼平臺(tái)進(jìn)一步包括轉(zhuǎn)碼管理服務(wù)器和轉(zhuǎn)碼服務(wù)器,所述云存儲(chǔ)平臺(tái)進(jìn)一步包括文件位置寄存器(FLR)和文件訪問(wèn)服務(wù)器(FAS), 所述應(yīng)用終端用于,向所述FLR發(fā)起文件寫入或讀取請(qǐng)求;以及,向所述轉(zhuǎn)碼管理服務(wù)器發(fā)起轉(zhuǎn)碼請(qǐng)求; 所述轉(zhuǎn)碼管理服務(wù)器用于,根據(jù)應(yīng)用終端發(fā)起的轉(zhuǎn)碼請(qǐng)求,向所述FLR請(qǐng)求待轉(zhuǎn)碼文件的存儲(chǔ)信息,并根據(jù)所述云存儲(chǔ)平臺(tái)返回的源文件分片的云存儲(chǔ)位置向所述轉(zhuǎn)碼服務(wù)器發(fā)送轉(zhuǎn)碼指令; 所述轉(zhuǎn)碼服務(wù)器用于,根據(jù)接收到的轉(zhuǎn)碼指令讀取源文件分片,進(jìn)行轉(zhuǎn)碼處理; 所述FLR用于,向所述分布式轉(zhuǎn)碼平臺(tái)返回所述待轉(zhuǎn)碼文件的存儲(chǔ)信息,所述存儲(chǔ)信息包括源文件分片的云存儲(chǔ)位置。
6.如權(quán)利要求5所述的系統(tǒng),其特征在于, 所述FLR還用于,在向所述分布式轉(zhuǎn)碼平臺(tái)返回所述待轉(zhuǎn)碼文件的存儲(chǔ)信息中,還包括轉(zhuǎn)碼后的目標(biāo)文件分片的云存儲(chǔ)位置;以及,根據(jù)轉(zhuǎn)碼服務(wù)器發(fā)起的注冊(cè)請(qǐng)求保存目標(biāo)文件分片的存儲(chǔ)信息; 所述轉(zhuǎn)碼管理服務(wù)器還用于,在發(fā)送的轉(zhuǎn)碼指令中包括所述目標(biāo)文件分片的云存儲(chǔ)位置; 所述轉(zhuǎn)碼服務(wù)器還用于,對(duì)讀取的源文件分片進(jìn)行轉(zhuǎn)碼處理后,按照所述目標(biāo)文件分片的云存儲(chǔ)位置,向所述FLR發(fā)送保存轉(zhuǎn)碼后的目標(biāo)文件分片的注冊(cè)請(qǐng)求。
7.如權(quán)利要求5或6所述的系統(tǒng),其特征在于, 所述轉(zhuǎn)碼管理服務(wù)器還用于,根據(jù)收到的應(yīng)用終端的轉(zhuǎn)碼請(qǐng)求生成轉(zhuǎn)碼任務(wù),并根據(jù)管理的全局轉(zhuǎn)碼任務(wù)列表調(diào)度全局轉(zhuǎn)碼任務(wù)。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于, 所述轉(zhuǎn)碼管理服務(wù)器還用于,根據(jù)監(jiān)控和管理各轉(zhuǎn)碼服務(wù)器的狀態(tài)信息,向轉(zhuǎn)碼服務(wù)器分派所述轉(zhuǎn)碼指令。
9.如權(quán)利要求7所述的系統(tǒng),其特征在于, 所述轉(zhuǎn)碼服務(wù)器還用于,管理本轉(zhuǎn)碼服務(wù)器的轉(zhuǎn)碼任務(wù)列表,并根據(jù)轉(zhuǎn)碼任務(wù)的優(yōu)先級(jí)調(diào)度轉(zhuǎn)碼任務(wù)。
10.如權(quán)利要求6所述的系統(tǒng),其特征在于, 所述FLR用于,將所述待轉(zhuǎn)碼文件寫入一個(gè)或多個(gè)FAS中,向所述分布式轉(zhuǎn)碼平臺(tái)返回所述待轉(zhuǎn)碼文 件的存儲(chǔ)信息時(shí),返回的所述目標(biāo)文件分片的云存儲(chǔ)位置與所述源文件分片的云存儲(chǔ)位置位于相 同或不同的FAS中。
全文摘要
本發(fā)明公開了一種基于云存儲(chǔ)的分布式轉(zhuǎn)碼系統(tǒng)及其方法,分布式轉(zhuǎn)碼平臺(tái)根據(jù)應(yīng)用終端發(fā)起的轉(zhuǎn)碼請(qǐng)求,向云存儲(chǔ)平臺(tái)請(qǐng)求待轉(zhuǎn)碼文件的存儲(chǔ)信息;云存儲(chǔ)平臺(tái)向分布式轉(zhuǎn)碼平臺(tái)返回待轉(zhuǎn)碼文件的存儲(chǔ)信息,存儲(chǔ)信息包括源文件分片的云存儲(chǔ)位置;分布式轉(zhuǎn)碼平臺(tái)根據(jù)云存儲(chǔ)平臺(tái)返回的源文件分片的云存儲(chǔ)位置讀取源文件分片,進(jìn)行轉(zhuǎn)碼處理。本發(fā)明實(shí)現(xiàn)了在云存儲(chǔ)環(huán)境下對(duì)視頻資源的統(tǒng)一存儲(chǔ)和轉(zhuǎn)碼處理,使得云存儲(chǔ)中視頻文件的分片可以直接被分布式轉(zhuǎn)碼服務(wù)器作為待轉(zhuǎn)碼源文件使用,從而減少了重復(fù)的視頻文件分片和聚合過(guò)程,避免了計(jì)算能力的浪費(fèi),削減了運(yùn)維成本。
文檔編號(hào)H04L29/08GK103200204SQ201210000790
公開日2013年7月10日 申請(qǐng)日期2012年1月4日 優(yōu)先權(quán)日2012年1月4日
發(fā)明者柯尊友, 王偉 申請(qǐng)人:中興通訊股份有限公司