1.分布式轉碼系統(tǒng),其特征在于,包括轉碼模塊、數(shù)據(jù)庫和共享文件系統(tǒng);
共享文件系統(tǒng)用于接收外部的請求端發(fā)送來的源文件并存儲;
數(shù)據(jù)庫用于接收外部的請求端發(fā)送來的任務數(shù)據(jù)包并存儲;
轉碼模塊用于從數(shù)據(jù)庫中獲取任務數(shù)據(jù)包,以及根據(jù)任務數(shù)據(jù)包從共享文件系統(tǒng)中獲取對應的源文件,并對源文件進行轉碼;將轉碼后的轉碼文件存儲至共享文件系統(tǒng)中。
2.分布式轉碼方法,應用于權利要求1所述的分布式轉碼系統(tǒng),包括如下步驟:
S1、共享文件系統(tǒng)接收源文件并存儲;數(shù)據(jù)庫接收任務數(shù)據(jù)包并存儲;
S2、轉碼模塊的守護線程從數(shù)據(jù)庫中獲取任務數(shù)據(jù)包,并在轉碼模塊的工作池中創(chuàng)建一個轉碼進程;工作池根據(jù)任務數(shù)據(jù)包中的轉碼源文件路徑從共享文件夾系統(tǒng)中獲取對應的源文件;
S3、工作池對源文件進行轉碼,將轉碼成功的轉碼文件存儲至共享文件系統(tǒng)中。
3.如權利要求2所述的分布式轉碼方法,其特征在于,工作池包括心跳單元和轉碼單元;
S2具體為:守護線程從數(shù)據(jù)庫中獲取任務數(shù)據(jù)包,并在工作池中創(chuàng)建一個轉碼進程;心跳單元定時發(fā)送心跳數(shù)據(jù)至數(shù)據(jù)庫中的任務數(shù)據(jù)包中,以使任務數(shù)據(jù)包中的心跳時間更新為接收到該心跳數(shù)據(jù)的時間;轉碼單元根據(jù)轉碼源文件路徑從共享文件夾系統(tǒng)中獲取對應的源文件。
4.如權利要求2所述的分布式轉碼方法,其特征在于,S2中的守護線程從數(shù)據(jù)庫中獲取待轉碼的任務數(shù)據(jù)包;以及從數(shù)據(jù)庫中獲取運行中且心跳時間距離當前時間超過預定時間的任務數(shù)據(jù)包。
5.如權利要求2所述的分布式轉碼方法,其特征在于,守護線程還用于檢測工作池中的容量,并在工作池的容量有盈余時,守護線程再次從數(shù)據(jù)庫中獲取任務數(shù)據(jù)包,并在工作池中創(chuàng)建另一個轉碼進程。
6.如權利要求2所述的分布式轉碼方法,其特征在于,S2還包括:工作池將獲取到的源文件存儲至緩存目錄中。
7.如權利要求2所述的分布式轉碼方法,其特征在于,S3還包括:守護線程在轉碼單元轉碼成功后,發(fā)送轉碼成功信號至對應的任務數(shù)據(jù)包中,并更新該任務數(shù)據(jù)包的狀態(tài)信息為完成。
8.如權利要求2所述的分布式轉碼方法,其特征在于,S3還包括:守護線程還用于在轉碼單元轉碼失敗后,發(fā)送轉碼失敗信號至對應的任務數(shù)據(jù)包中,更新該任務數(shù)據(jù)包的狀態(tài)信息為失敗。
9.如權利要求2所述的分布式轉碼方法,其特征在于,S3中,工作池根據(jù)任務數(shù)據(jù)包中的轉碼需求對源文件進行轉碼。
10.分布式轉碼裝置,應用于權利要求1所述的分布式轉碼系統(tǒng),包括:
第一存儲模塊,應用于共享文件系統(tǒng),用于接收源文件并存儲;第二存儲模塊,應用于數(shù)據(jù)庫,用于接收任務數(shù)據(jù)包并存儲;
創(chuàng)建模塊,應用于轉碼模塊的守護線程,用于從數(shù)據(jù)庫中獲取任務數(shù)據(jù)包,并在轉碼模塊的工作池中創(chuàng)建一個轉碼進程;
獲取模塊,應用于工作池,用于根據(jù)任務數(shù)據(jù)包中的轉碼源文件路徑從共享文件夾系統(tǒng)中獲取對應的源文件;
運行模塊,應用于工作池,對源文件進行轉碼,將轉碼成功的轉碼文件存儲至共享文件系統(tǒng)中。