亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種分布式音視頻處理系統(tǒng)及處理方法與流程

文檔序號:12007358閱讀:375來源:國知局
一種分布式音視頻處理系統(tǒng)及處理方法與流程
本發(fā)明涉及一種利用計(jì)算機(jī)或數(shù)據(jù)處理裝置處理數(shù)據(jù)的系統(tǒng)和方法,尤其涉及一種利用分布式計(jì)算機(jī)或數(shù)據(jù)處理裝置對音視頻文件進(jìn)行處理的系統(tǒng)和向該分布式系統(tǒng)中添加或移除分布式計(jì)算機(jī)或數(shù)據(jù)處理裝置的方法。技術(shù)背景隨著網(wǎng)絡(luò)和文化事業(yè)的發(fā)展,音視頻資源極大豐富,對音視頻文件的處理的需要也快速增長。音視頻文件處理的大致流程如下:首先將需處理的音視頻文件解封裝成為視頻幀序列和音頻幀序列;然后將視頻幀序列和音頻幀序列分別解碼為RAW格式和PCM格式數(shù)據(jù);對RAW格式和PCM格式數(shù)據(jù)進(jìn)行處理;再將RAW格式和PCM格式的數(shù)據(jù)編碼為所需格式的音頻幀序列和視頻幀序列;最后將音頻幀序列和視頻幀序列封裝成需要的文件格式。以上處理是通過計(jì)算機(jī)或計(jì)算機(jī)構(gòu)成的數(shù)據(jù)處理裝置來完成的,現(xiàn)有的這些計(jì)算機(jī)或數(shù)據(jù)處理裝置是依靠本機(jī)的軟硬件資源來實(shí)現(xiàn)對文件的處理。音視頻文件處理的計(jì)算量龐大,對處理裝置的運(yùn)算能力和存儲資源消耗很大,而且隨著高清音視頻文件的日益增多和處理需求的不斷增大,依靠單機(jī)進(jìn)行音視頻文件處理的瓶頸問題日益突出,單機(jī)處理速度慢且容易發(fā)生系統(tǒng)崩潰。即使用戶使用配置很高的計(jì)算機(jī)也難以保證處理的速度和穩(wěn)定程度,尤其無法滿足大批量和時(shí)間要求很高的處理任務(wù)。對于上述技術(shù)問題,公開號為CN103605710A和CN103605709A的中國專利申請均提供了一種分布式音視頻處理裝置,其使用多臺計(jì)算機(jī)或處理裝置來實(shí)現(xiàn)并行處理,大大減少了處理所需的時(shí)間,同時(shí)降低了系統(tǒng)的處理壓力。但是,在公開號為CN103605710A和CN103605709A的中國專利申請所提供的分布式音視頻處理裝置中,當(dāng)需要對上述數(shù)據(jù)處理系統(tǒng)添加或減少處理裝置時(shí),需要停止整個(gè)數(shù)據(jù)處理系統(tǒng)的運(yùn)行,直至完成添加或減少處理裝置后才能重新啟動運(yùn)行,如此影響了上述數(shù)據(jù)處理系統(tǒng)的工作效率,嚴(yán)重時(shí)會導(dǎo)致相關(guān)數(shù)據(jù)的丟失。

技術(shù)實(shí)現(xiàn)要素:
鑒于以上技術(shù)問題,本發(fā)明的第一方面提供一種分布式音視頻文件處理系統(tǒng),包括:輸入處理單元,用于接收源視頻文件,對所述源視頻文件進(jìn)行處理獲得視頻數(shù)據(jù)和音頻數(shù)據(jù),并將所述視頻數(shù)據(jù)和所述音頻數(shù)據(jù)分別按順序分割成視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段后,并根據(jù)一定的分配規(guī)則將分割所得的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段分配給相應(yīng)的視頻數(shù)據(jù)處理單元/音頻數(shù)據(jù)處理單元進(jìn)行處理;數(shù)個(gè)視頻數(shù)據(jù)處理單元,分別用于對經(jīng)分割后的視頻數(shù)據(jù)片段進(jìn)行處理;數(shù)個(gè)音頻數(shù)據(jù)處理單元,分別用于對經(jīng)分割后的音頻數(shù)據(jù)片段進(jìn)行處理;輸出處理單元,用于對經(jīng)處理后的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段進(jìn)行處理并輸出;調(diào)度單元,用于協(xié)調(diào)所述輸入處理單元、所述數(shù)個(gè)視頻數(shù)據(jù)處理單元、所述數(shù)個(gè)音頻數(shù)據(jù)處理單元及所述輸出處理單元的工作,并當(dāng)有新的音頻處理單元和/或新的視頻處理單元加入,或所述數(shù)個(gè)視頻數(shù)據(jù)處理單元和/或所述數(shù)個(gè)音頻數(shù)據(jù)處理單元中的一個(gè)或多個(gè)退出所述系統(tǒng)時(shí),能夠協(xié)調(diào)所述輸入處理單元、所述數(shù)個(gè)視頻數(shù)據(jù)處理單元中剩余的視頻數(shù)據(jù)處理單元、所述數(shù)個(gè)音頻數(shù)據(jù)處理單元中剩余的音頻數(shù)據(jù)處理單元及所述輸出處理單元的工作。優(yōu)選地,所述輸入處理單元將所述視頻數(shù)據(jù)和所述音頻數(shù)據(jù)分別按順序分割成視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段后,將各視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段的順序號按視頻數(shù)據(jù)處理單元和音頻數(shù)據(jù)處理單元的數(shù)量分別進(jìn)行模運(yùn)算,根據(jù)模運(yùn)算的結(jié)分別將各視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段分配給相應(yīng)的視頻數(shù)據(jù)處理單元和音頻數(shù)據(jù)處理單元進(jìn)行處理。優(yōu)選地,所述輸入處理單元具有第一監(jiān)控模塊、第一處理模塊和第一傳輸模塊;各視頻數(shù)據(jù)處理單元分別具有第二監(jiān)控模塊、第二處理模塊和第二傳輸模塊;各音頻數(shù)據(jù)處理單元分別具有第三監(jiān)控模塊、第三處理模塊和第三傳輸模塊;所述輸出處理單元具有第四監(jiān)控模塊、第四處理模塊和第四傳輸模塊;其中,所述第一、第二、第三和第四監(jiān)控模塊分別與所述調(diào)度單元進(jìn)行通信連接,從所述調(diào)度單元接收相關(guān)指令,并各自將相關(guān)處理單元的運(yùn)行狀態(tài)報(bào)告給所述調(diào)度單元;所述第一傳輸模塊分別與各所述第二傳輸模塊和各所述第三傳輸模塊通信連接,將需要處理的相應(yīng)的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段分別發(fā)送至各所述第二傳輸模塊和各所述第三傳輸模塊;所述第四傳輸模塊分別與各所述第二傳輸模塊和各所述第三傳輸模塊通信連接,接收經(jīng)處理后的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段。優(yōu)選地,所述輸入處理單元對所接收的源文件進(jìn)行解封裝,獲得視頻序列和音頻序列,并分別將所述視頻序列和所述音頻序列進(jìn)行分割處理;所述輸出處理單元在判斷從各視頻數(shù)據(jù)處理單元和各音頻數(shù)據(jù)處理單元接收到經(jīng)處理后的所有的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段后,將所接到的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段進(jìn)行合并,并按照預(yù)定格式進(jìn)行封裝。優(yōu)選地,所述調(diào)度單元和所述第一、第二、第三和第四監(jiān)控模塊通過系統(tǒng)配置文件獲取的地址信息進(jìn)行通信。優(yōu)選地,所述第一、第二、第三和第四監(jiān)控模塊分別定期地將相應(yīng)處理單元的運(yùn)行狀態(tài)信息發(fā)送給所述調(diào)度單元;所述調(diào)度單元根據(jù)所述運(yùn)行狀態(tài)信息維護(hù)系統(tǒng)配置文件,并將更新的系統(tǒng)配置文件分別發(fā)送給所述第一、第二、第三和第四監(jiān)控模塊;其中,所述系統(tǒng)配置文件的內(nèi)容包括所述視頻數(shù)據(jù)處理單元的數(shù)量、物理地址、運(yùn)行狀態(tài)和工作目錄和所述音頻數(shù)據(jù)處理單元的數(shù)量、物理地址、運(yùn)行狀態(tài)和工作目錄。優(yōu)選地,當(dāng)有所述新的音頻處理單元和/或所述新的視頻處理單元加入,或所述數(shù)個(gè)視頻數(shù)據(jù)處理單元和/或所述數(shù)個(gè)音頻數(shù)據(jù)處理單元中的一個(gè)或多個(gè)退出所述系統(tǒng)時(shí),所述調(diào)度單元接收所述視頻數(shù)據(jù)處理單元和/或所述音頻數(shù)據(jù)處理單元的變化信息,根據(jù)所述變化信息修改所述系統(tǒng)配置文件,并發(fā)送給所述第一、第二、第三和第四監(jiān)控模塊。優(yōu)選地,所述新的視頻數(shù)據(jù)處理單元和/或所述新的音頻數(shù)據(jù)處理單元中的監(jiān)控模塊分別向所述調(diào)度單元發(fā)送本數(shù)據(jù)處理單元的相關(guān)信息,調(diào)度模塊在收到所述信息后更新系統(tǒng)配置文件。優(yōu)選地,所述新的視頻數(shù)據(jù)處理單元和/或所述新的音頻數(shù)據(jù)處理單元中的監(jiān)控模塊從所述調(diào)度單元獲取當(dāng)前的系統(tǒng)配置文件,在其中加入本單元的信息后返回給所述調(diào)度單元;所述調(diào)度單元收到返回的加入了新的視頻數(shù)據(jù)處理單元和/或所述新的音頻數(shù)據(jù)處理單元的信息后的系統(tǒng)配置文件后,用返回的所述加入了新的視頻數(shù)據(jù)處理單元和/或所述新的音頻數(shù)據(jù)處理單元的信息后的系統(tǒng)配置文件替換所述當(dāng)前的系統(tǒng)配置文件。優(yōu)選地,所述調(diào)度單元在收到所述新的視頻數(shù)據(jù)處理單元或所述新的音頻數(shù)據(jù)處理單元中的監(jiān)控模塊返回的所述加入了本單元的信息后的系統(tǒng)配置文件之前,拒絕其他新的視頻數(shù)據(jù)處理單元和/或其他新的音頻數(shù)據(jù)處理單元中的監(jiān)控模塊從所述調(diào)度單元獲取所述當(dāng)前的系統(tǒng)配置文件的請求。優(yōu)選地,所述新的視頻數(shù)據(jù)處理單元和所述新的音頻數(shù)據(jù)處理單元還包括能夠啟動本單元的音頻或視頻處理作業(yè)的指令監(jiān)控模塊;所述調(diào)度單元接收用戶輸入的所述新的視頻數(shù)據(jù)處理單元和/或所述新的音頻數(shù)據(jù)處理單元的相關(guān)信息,并根據(jù)所述相關(guān)信息中的地址向相應(yīng)的所述指令監(jiān)控模塊發(fā)送啟動音頻和/或視頻處理作業(yè)的指令。優(yōu)選地,當(dāng)所述調(diào)度單元經(jīng)過第一預(yù)定時(shí)間未從某一視頻數(shù)據(jù)處理單元和/或音頻數(shù)據(jù)處理單元接收到運(yùn)行狀態(tài)信息時(shí),所述調(diào)度單元將該視頻數(shù)據(jù)處理單元和/或該音頻數(shù)據(jù)處理單元在所述系統(tǒng)配置文件中對應(yīng)的信息標(biāo)記為退出系統(tǒng)。優(yōu)選地,當(dāng)所述調(diào)度單元經(jīng)過小于所述第一預(yù)定時(shí)間的第二預(yù)定時(shí)間未從所述某一視頻數(shù)據(jù)處理單元和/或音頻數(shù)據(jù)處理單元接收到運(yùn)行狀態(tài)信息時(shí),所述調(diào)度單元將該視頻數(shù)據(jù)處理單元和/或音頻數(shù)據(jù)處理單元在所述系統(tǒng)配置文件中對應(yīng)的信息標(biāo)記為故障。優(yōu)選地,所述調(diào)度單元停止向標(biāo)記為故障或退出系統(tǒng)的視頻數(shù)據(jù)處理單元和/或音頻數(shù)據(jù)處理單元分配處理任務(wù)。優(yōu)選地,所述視頻數(shù)據(jù)處理單元和所述音頻數(shù)據(jù)處理單元還包括能夠關(guān)閉本單元的音頻或視頻處理作業(yè)的指令監(jiān)控模塊;所述調(diào)度單元接收用戶輸入的要退出所述系統(tǒng)的視頻數(shù)據(jù)處理單元和/或音頻數(shù)據(jù)處理單元的相關(guān)信息,并向要退出的所述視頻數(shù)據(jù)處理單元和音頻數(shù)據(jù)處理單元的所述指令監(jiān)控模塊發(fā)送關(guān)閉音頻或視頻處理作業(yè)的指令。本發(fā)明的另一方面提供一種分布式音視頻文件處理方法,包括:輸入處理步驟,通過輸入處理單元接收源視頻文件,對所述源視頻文件進(jìn)行處理獲得視頻數(shù)據(jù)和音頻數(shù)據(jù),并分別將所述視頻數(shù)據(jù)和所述音頻數(shù)據(jù)分別按順序分割成視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段后,并根據(jù)一定的分配規(guī)則將分割所得的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段分配給相應(yīng)的視頻數(shù)據(jù)處理單元和音頻數(shù)據(jù)處理單元進(jìn)行處理;視頻數(shù)據(jù)處理步驟,分別使用數(shù)個(gè)視頻數(shù)據(jù)處理單元對經(jīng)分割后的視頻數(shù)據(jù)片段進(jìn)行處理;音頻數(shù)據(jù)處理步驟,分別使用數(shù)個(gè)音頻數(shù)據(jù)處理單元對經(jīng)分割后的音頻數(shù)據(jù)片段進(jìn)行處理;輸出處理步驟,通過輸出處理單元對經(jīng)處理后的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段進(jìn)行處理并輸出;調(diào)度步驟,通過調(diào)度單元協(xié)調(diào)所述輸入處理單元、所述數(shù)個(gè)視頻數(shù)據(jù)處理單元、所述數(shù)個(gè)音頻數(shù)據(jù)處理單元及輸出處理單元的工作,并當(dāng)有新的音頻處理單元和/或新的視頻處理單元加入,或所述數(shù)個(gè)視頻數(shù)據(jù)處理單元和/或所述數(shù)個(gè)音頻數(shù)據(jù)處理單元中的一個(gè)或多個(gè)退出所述系統(tǒng)時(shí),協(xié)調(diào)所述輸入處理單元、所述數(shù)個(gè)視頻數(shù)據(jù)處理單元中剩余的視頻數(shù)據(jù)處理單元、所述數(shù)個(gè)音頻數(shù)據(jù)處理單元中剩余的音頻數(shù)據(jù)處理單元及所述輸出處理單元的工作。優(yōu)選地,在所述輸入處理步驟中,將所述視頻數(shù)據(jù)和所述音頻數(shù)據(jù)分別按順序分割成視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段后,將各視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段的順序號按視頻數(shù)據(jù)處理單元和音頻數(shù)據(jù)處理單元的數(shù)量分別進(jìn)行模運(yùn)算,根據(jù)模運(yùn)算的結(jié)果分別將各視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段分配給相應(yīng)的視頻數(shù)據(jù)處理單元和音頻數(shù)據(jù)處理單元進(jìn)行處理。優(yōu)選地,所述輸入處理步驟包括:解封裝步驟,對所接收的源文件進(jìn)行解封裝,獲得視頻序列和音頻序列;分割步驟,分別將所述視頻序列和所述音頻序列進(jìn)行分割處理。優(yōu)選地,在所述輸出處理步驟中,在判斷從各視頻數(shù)據(jù)處理單元和各音頻數(shù)據(jù)處理單元接收到經(jīng)處理后的所有的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段后,將所接到的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段進(jìn)行合并,并按照預(yù)定格式進(jìn)行封裝。優(yōu)選地,在所述調(diào)度步驟中,通過系統(tǒng)配置文件獲取的地址信息進(jìn)行通信。優(yōu)選地,在所述調(diào)度步驟中,相應(yīng)處理單元的運(yùn)行狀態(tài)信息分別定期地被發(fā)送給所述調(diào)度單元,所述調(diào)度單元根據(jù)所述運(yùn)行狀態(tài)信息維護(hù)系統(tǒng)配置文件,并發(fā)送更新的系統(tǒng)配置文件;其中,所述系統(tǒng)配置文件的內(nèi)容包括所述視頻數(shù)據(jù)處理單元的數(shù)量、物理地址、運(yùn)行狀態(tài)和工作目錄和所述音頻數(shù)據(jù)處理單元的數(shù)量、物理地址、運(yùn)行狀態(tài)和工作目錄。優(yōu)選地,在所述調(diào)度步驟中,當(dāng)有所述新的音頻處理單元和/或所述新的視頻處理單元加入,或所述數(shù)個(gè)視頻數(shù)據(jù)處理單元和/或所述數(shù)個(gè)音頻數(shù)據(jù)處理單元中的一個(gè)或多個(gè)退出所述系統(tǒng)時(shí),所述調(diào)度單元接收處理單元的變化信息,根據(jù)所述變化信息修改所述系統(tǒng)配置文件,并發(fā)送給所述第一、第二、第三和第四監(jiān)控模塊。優(yōu)選地,在所述調(diào)度步驟中,所述新的視頻數(shù)據(jù)處理單元和/或所述新的音頻數(shù)據(jù)處理單元中的監(jiān)控模塊分別向所述調(diào)度單元發(fā)送本單元的相關(guān)信息,所述調(diào)度模塊在收到所述相關(guān)信息后更新所述系統(tǒng)配置文件。優(yōu)選地,在所述調(diào)度步驟中,所述新的視頻數(shù)據(jù)處理單元和/或所述新的音頻數(shù)據(jù)處理單元中的監(jiān)控模塊從所述調(diào)度單元獲取當(dāng)前的系統(tǒng)配置文件,在其中加入本單元的信息后返回給調(diào)度單元;所述調(diào)度單元收到返回的加入新的視頻數(shù)據(jù)處理單元和/或所述新的音頻數(shù)據(jù)處理單元的信息后的系統(tǒng)配置文件后,用所述加入新的視頻數(shù)據(jù)處理單元和/或所述新的音頻數(shù)據(jù)處理單元的信息后的系統(tǒng)配置文件替換所述當(dāng)前的系統(tǒng)配置文件。優(yōu)選地,在所述調(diào)度步驟中,所述調(diào)度單元在收到所述新的視頻數(shù)據(jù)處理單元或所述新的音頻數(shù)據(jù)處理單元的監(jiān)控模塊返回的所述加入本單元的信息后的系統(tǒng)配置文件之前,拒絕其他新的視頻數(shù)據(jù)處理單元和/或其他新的音頻數(shù)據(jù)處理單元中的監(jiān)控模塊從所述調(diào)度單元獲取所述當(dāng)前的系統(tǒng)配置文件的請求。優(yōu)選地,在所述調(diào)度步驟中,所述調(diào)度單元接收用戶輸入的所述新的視頻數(shù)據(jù)處理單元和/或所述新的音頻數(shù)據(jù)處理單元的相關(guān)信息,并根據(jù)所述相關(guān)信息中的地址向所述新的視頻數(shù)據(jù)處理單元和/或所述新的音頻數(shù)據(jù)處理單元的指令監(jiān)控模塊發(fā)送啟動音頻或視頻處理作業(yè)的指令;所述指令監(jiān)控模塊收到調(diào)度單元發(fā)送的指令后啟動本單元的音頻或視頻處理作業(yè)。優(yōu)選地,在所述調(diào)度步驟中,當(dāng)所述調(diào)度單元經(jīng)過第一預(yù)定時(shí)間未從某一視頻數(shù)據(jù)處理單元和/或某一音頻數(shù)據(jù)處理單元接收到運(yùn)行狀態(tài)信息時(shí),所述調(diào)度單元將所述某一視頻數(shù)據(jù)處理單元和/或所述某一音頻數(shù)據(jù)處理單元在所述系統(tǒng)配置文件中對應(yīng)的信息標(biāo)記為退出系統(tǒng)。優(yōu)選地,在所述調(diào)度步驟中,當(dāng)所述調(diào)度單元經(jīng)過小于所述第一預(yù)定時(shí)間的第二預(yù)定時(shí)間未從所述某一視頻數(shù)據(jù)處理單元和/或所述某一音頻數(shù)據(jù)處理單元接收到所述運(yùn)行狀態(tài)信息時(shí),所述調(diào)度單元將所述某一視頻數(shù)據(jù)處理單元和或所述某一音頻數(shù)據(jù)處理單元在所述系統(tǒng)配置文件中對應(yīng)的信息標(biāo)記為故障。優(yōu)選地,在所述調(diào)度步驟中,所述調(diào)度單元停止向標(biāo)記為故障或退出系統(tǒng)的視頻數(shù)據(jù)處理單元或音頻數(shù)據(jù)處理單元分配處理任務(wù)。優(yōu)選地,在所述調(diào)度步驟中,所述調(diào)度單元接收用戶輸入的要退出所述系統(tǒng)的視頻數(shù)據(jù)處理單元和/或音頻數(shù)據(jù)處理單元的相關(guān)信息,并向要退出所述系統(tǒng)的所述視頻數(shù)據(jù)處理單元和/或所述音頻數(shù)據(jù)處理單元的指令監(jiān)控模塊發(fā)送關(guān)閉音頻或視頻處理作業(yè)的指令;所述指令監(jiān)控模塊在收到所述調(diào)度單元發(fā)送的指令后關(guān)閉本單元的音頻或視頻處理作業(yè)。本發(fā)明的分布式處理系統(tǒng)和處理方法解決了向系統(tǒng)中添加或移除音視頻處理單元時(shí)需要停止系統(tǒng)的處理,影響處理任務(wù)的運(yùn)行,容易產(chǎn)生錯(cuò)誤等技術(shù)問題。利用本發(fā)明的系統(tǒng)和方法,用戶就可以在不停止系統(tǒng)的運(yùn)行的情況下,將若干臺服務(wù)器作為處理單元加入系統(tǒng),分擔(dān)數(shù)據(jù)處理業(yè)務(wù);同樣,也可以將若干服務(wù)器從系統(tǒng)中移除,而不影響系統(tǒng)的正常運(yùn)行。附圖說明圖1為本發(fā)明實(shí)施方式涉及的分布式處理系統(tǒng)的結(jié)構(gòu)框圖;圖2為本發(fā)明實(shí)施方式涉及的分布式處理系統(tǒng)的輸入處理模塊的結(jié)構(gòu)框圖;圖3為本發(fā)明實(shí)施方式涉及的分布式處理系統(tǒng)的輸出處理模塊的結(jié)構(gòu)框圖;圖4為本發(fā)明實(shí)施方式涉及的分布式處理系統(tǒng)的處理流程示意圖;圖5為本發(fā)明實(shí)施方式涉及的分布式處理系統(tǒng)的Map文件的結(jié)構(gòu)示意圖;圖6為本發(fā)明實(shí)施方式涉及的分布式處理系統(tǒng)的處理步驟S5的處理流程圖;圖7為本發(fā)明實(shí)施方式涉及的分布式處理系統(tǒng)的信息文件的結(jié)構(gòu)示意圖;圖8為本發(fā)明實(shí)施方式涉及的分布式處理系統(tǒng)的分割后的音頻和視頻文件的結(jié)構(gòu)示意圖;圖9為本發(fā)明實(shí)施方式涉及的分布式處理系統(tǒng)的處理步驟S8中的視頻文件處理流程圖;圖10為本發(fā)明實(shí)施方式涉及的分布式處理系統(tǒng)的處理步驟S8中的音頻文件處理流程圖;圖11為本發(fā)明實(shí)施方式涉及的分布式處理系統(tǒng)的處理步驟S9中輸出處理單元的處理流程圖;圖12為本發(fā)明實(shí)施方式涉及的分布式處理系統(tǒng)的接收映射表結(jié)構(gòu)示意圖;圖13為向本發(fā)明第一實(shí)施方式涉及的分布式處理系統(tǒng)中添加新的處理單元的處理流程圖。具體實(shí)施方式下面根據(jù)附圖所示實(shí)施方式闡述本項(xiàng)發(fā)明。此次公開的實(shí)施方式可以認(rèn)為在所有方面均為例示,不具限制性。本發(fā)明的范圍不受上述實(shí)施方式的說明所限,僅由權(quán)利要求書的范圍所示,而且包括與權(quán)利要求范圍具有同樣意思及權(quán)利要求范圍內(nèi)的所有變形。圖1為分布式處理系統(tǒng)的結(jié)構(gòu)框圖。如圖1所示,本實(shí)施方式的分布式系統(tǒng)包括調(diào)度模塊(Dispatcher模塊)1、輸入處理單元2、數(shù)個(gè)視頻處理單元3和4、數(shù)個(gè)音頻處理單元5和6、輸出處理單元7、監(jiān)視模塊(Watcher模塊)8以及客戶端模塊(Client模塊)9。其中,調(diào)度模塊1用于協(xié)調(diào)整個(gè)系統(tǒng)的各部分的運(yùn)行。輸入處理單元2包括監(jiān)控模塊(Monitor模塊)21、輸入處理模塊(Ingress模塊)22和傳輸模塊(Offer模塊)23。優(yōu)選地,上述監(jiān)控模塊21、輸入處理模塊22和傳輸模塊23之間可以采用消息隊(duì)列通信。上述視頻處理單元3(4)包括監(jiān)控模塊(Monitor模塊)31(41)、視頻處理模塊(VP模塊)32(42)和傳輸模塊(Offer模塊)33(43)。優(yōu)選地,上述監(jiān)控模塊31(41)、視頻處理模塊32(42)和傳輸模塊33(43)之間可以采用消息隊(duì)列通信。音頻處理單元5(6)包括監(jiān)控模塊(Monitor模塊)51(61)、音頻處理模塊(AP模塊)52(62)和傳輸模塊(Offer模塊)53(63)。優(yōu)選地,上述監(jiān)控模塊51(61)、音頻處理模塊52(62)和傳輸模塊53(63)之間可以采用消息隊(duì)列通信。輸出處理單元7包括監(jiān)控模塊(Monitor模塊)71、輸出處理模塊(Egress模塊)72和傳輸模塊(Offer模塊)73。優(yōu)選地,上述監(jiān)控模塊71、輸出處理模塊72和傳輸模塊73之間可以采用消息隊(duì)列通信。監(jiān)視模塊8與調(diào)度模塊1共享內(nèi)存并由此獲得調(diào)度模塊1中的所有信息。監(jiān)視模塊8將獲取的信息發(fā)送給客戶端模塊9,由客戶端模塊9將其以圖形界面顯示給用戶。上述調(diào)度模塊1、上述輸入處理單元2和上述監(jiān)視模塊(Watcher模塊)8可以共用一臺物理機(jī)器(服務(wù)器)。每一個(gè)視頻處理單元3或4可以單獨(dú)用一臺物理機(jī)器(服務(wù)器),即:上述監(jiān)控模塊31、上述視頻處理模塊32和上述傳輸模塊33可以共用一臺物理機(jī)器(服務(wù)器),以及上述監(jiān)控模塊41、上述視頻處理模塊42和上述傳輸模塊43可以共用一臺物理機(jī)(服務(wù)器),其中每一臺物理機(jī)器(服務(wù)器)可以每一次僅運(yùn)行一個(gè)視頻處理進(jìn)程(VP進(jìn)程);每一個(gè)音頻處理單元5或6可以單獨(dú)用一臺物理機(jī)器(服務(wù)器),即:上述監(jiān)控模塊51、上述音頻處理模塊52和上述傳輸模塊53可以共用一臺物理機(jī)器(服務(wù)器),以及上述監(jiān)控模塊61、上述音頻處理模塊62和上述傳輸模塊63共用一臺物理機(jī)器(服務(wù)器),其中每一臺物理機(jī)器(服務(wù)器)可以每一次僅運(yùn)行一個(gè)音頻處理進(jìn)程(AP進(jìn)程)。上述輸出處理單元7可以單獨(dú)用一臺物理機(jī)器(服務(wù)器),即:上述監(jiān)控模塊71、上述輸出處理模塊72和上述傳輸模塊73可以共用一臺物理機(jī)器(服務(wù)器)。上述調(diào)度模塊1分別與上述輸入處理單元2中的監(jiān)控模塊21、各個(gè)視頻處理單元(視頻處理單元3和4)中的監(jiān)控模塊(監(jiān)控模塊31和41)、各個(gè)音頻處理單元(音頻處理單元5和6)中的監(jiān)控模塊(監(jiān)控模塊51和61)及上述輸出處理單元7中的監(jiān)控模塊71進(jìn)行通信連接,用于協(xié)調(diào)整個(gè)系統(tǒng)中的輸入處理單元2、視頻處理單元3和4、音頻處理單元5和6和輸出處理單元7等各部分的運(yùn)行。上述輸入處理單元2中的傳輸模塊23分別與各個(gè)視頻處理單元(視頻處理單元3和4)中的傳輸模塊(傳輸模塊33和43)和各個(gè)音頻處理單元(音頻處理單元5和6)中的傳輸模塊(監(jiān)控模塊53和63)進(jìn)行通信連接,用于向各個(gè)視頻處理單元(視頻處理單元3和4)中的傳輸模塊(傳輸模塊33和43)和各個(gè)音頻處理單元(音頻處理單元5和6)中的傳輸模塊(傳輸模塊53和63)分別傳輸相應(yīng)的信息和數(shù)據(jù)。上述輸出處理單元7中的傳輸模塊73分別與各個(gè)視頻處理單元(視頻處理單元3和4)中的傳輸模塊(傳輸模塊33和43)和各個(gè)音頻處理單元(音頻處理單元5和6)中的傳輸模塊(傳輸模塊53和63)進(jìn)行通信連接,用于從各個(gè)視頻處理單元(視頻處理單元3和4)中的傳輸模塊(傳輸模塊33和43)和各個(gè)音頻處理單元(音頻處理單元5和6)中的傳輸模塊(傳輸模塊53和63)分別接受相應(yīng)的信息和數(shù)據(jù)。圖2為上述輸入處理模塊22的結(jié)構(gòu)框圖。如圖2所示,上述輸入處理模塊22包括解封裝模塊221、輸入數(shù)據(jù)處理模塊222和數(shù)據(jù)存儲模塊223,其中上述解封裝模塊221對上述輸入處理單元2所接受的源視頻文件進(jìn)行解封裝,上述輸入數(shù)據(jù)處理模塊222對音/視頻文件進(jìn)行處理,上述數(shù)據(jù)存儲模塊223用于存儲音/視頻文件及相關(guān)信息。上述解封裝模塊221包括音/視頻文件格式判斷單元2211、解封裝選擇單元2212和數(shù)個(gè)解封裝單元2213、2214、2215……。其中,上述數(shù)個(gè)解封裝單元(2213、2214、2215……)具有不同的格式,并且上述解封裝選擇單元2212可以根據(jù)上述音/視頻文件格式判斷單元2211的判斷結(jié)果從上述數(shù)個(gè)解封裝單元中選擇相應(yīng)的解封裝單元對上述源視頻文件進(jìn)行解封裝,從而使得上述解封裝模塊221可以對應(yīng)于不同的文件格式進(jìn)行解封裝。輸入數(shù)據(jù)處理模塊222具有分割模塊2221和分配模塊2222。分割模塊2221可以將解封裝后的音/視頻文件分割成多個(gè)音頻數(shù)據(jù)片段和視頻數(shù)據(jù)片段,并分別給多個(gè)音頻數(shù)據(jù)片段和多個(gè)視頻數(shù)據(jù)片段編序號,分配模塊2222通過對分割后的片段的序號分別按照音頻處理單元和視頻處理單元的數(shù)量取模,以此確定每個(gè)音頻數(shù)據(jù)片段和視頻數(shù)據(jù)片段對應(yīng)的音頻處理單元和視頻處理單元。上述輸入處理模塊22能夠獲取所述源視頻文件的封裝格式信息,并將上述信息通過上述傳輸模塊23、33、43、53、63發(fā)送給上述輸出處理單元7。圖3為上述輸出處理模塊72的結(jié)構(gòu)框圖。如圖3所示,上述輸出處理模塊72包括封裝模塊721、輸出數(shù)據(jù)處理模塊722和存儲模塊723。其中,上述存儲模塊723存儲經(jīng)過上述視頻處理單元3和4及上述音頻處理單元5和6處理后的音頻文件和視頻文件,上述輸出數(shù)據(jù)處理模塊722對經(jīng)過上述視頻處理單元3和4及上述音頻處理單元5和6處理后的音頻文件和視頻文件進(jìn)行處理,并將經(jīng)上述輸出數(shù)據(jù)處理模塊722處理后的音頻文件和視頻文件輸送至上述封裝模塊721。上述封裝模塊721包括封裝格式選擇單元7211和數(shù)個(gè)具有不同的封裝格式的封裝單元7212、7213、7214……,其中上述封裝格式選擇單元7211根據(jù)上述傳輸模塊73所接收到的封裝格式信息從數(shù)個(gè)封裝單元(7212、7213、7214……)中選擇相應(yīng)的封裝單元進(jìn)行封裝,從而可以使得上述封裝模塊721對應(yīng)于不同的封裝格式的要求進(jìn)行封裝。圖4為本發(fā)明的分布式處理系統(tǒng)的處理流程示意圖。下面結(jié)合圖4來說明分布式處理系統(tǒng)的處理流程。操作人員開啟各物理機(jī)器(服務(wù)器),啟動上述分布式處理系統(tǒng)(步驟S1)。上述調(diào)度模塊1讀取系統(tǒng)文件(步驟S2)。優(yōu)選地,在步驟S2中,上述調(diào)度模塊1在指定目錄讀取系統(tǒng)配置文件(例如tvmccd.cfg),獲取該進(jìn)程的<Input>(輸入)、<Server>(服務(wù)器)和<Port>(端口)等配置項(xiàng),同時(shí)在<Input>項(xiàng)指定的目錄(例如opt/tvmccd/ingress/Dispatcher/Input)讀取相應(yīng)的文件(例如tvmccd.par文件和logo文件)。根據(jù)相應(yīng)文件(例如tvmccd.par)中的內(nèi)容生成源視頻文件名與文件ID對應(yīng)的映射表文件(Map文件,例如tvmccd.map)。圖5為本發(fā)明的分布式處理系統(tǒng)的Map文件的一例的示意圖,根據(jù)Map文件可以查詢源視頻文件名與文件ID的對應(yīng)關(guān)系。上述logo文件可以有多個(gè),也可以沒有l(wèi)ogo文件。系統(tǒng)配置文件中記錄有整個(gè)分布式系統(tǒng)的配置信息,如:各模塊所在計(jì)算機(jī)的IP地址、使用的端口號、工作目錄的位置、視頻處理和音頻處理模塊的數(shù)量、任務(wù)分配的方法等。PAR文件中記錄有待處理文件的文件名及處理后的文件名、處理后的音/視頻文件的編碼格式、碼率、幀率、分辨率等各項(xiàng)參數(shù)。LOGO文件記錄的是用戶需要在視頻中加入的水印、字幕等的內(nèi)容及其大小、位置等參數(shù)。與調(diào)度模塊1同樣的,系統(tǒng)中的其他模塊也都從各自的指定目錄中讀取系統(tǒng)配置文件,從配置文件中獲得系統(tǒng)中各模塊的通信地址等信息,以此與需要通信的其他模塊建立連接。上述調(diào)度模塊1分別與上述輸入處理單元2的監(jiān)控模塊21、各視頻處理單元(3和4)的監(jiān)控模塊(31和41)、各音頻處理單元的監(jiān)控模塊(51和61)和上述輸出處理單元7的監(jiān)控模塊71之間建立通信連接(步驟S3)。優(yōu)選地,在步驟S3中,上述調(diào)度模塊1建立Socket監(jiān)聽(監(jiān)聽端口號Dispatcher_Port在系統(tǒng)配置文件中,比如tvmccd.cfg),等待上述各監(jiān)控模塊的連接請求。各處理單元按系統(tǒng)配置文件中的地址向調(diào)度模塊1發(fā)出建立Socket連接的請求,一旦上述調(diào)度模塊1監(jiān)聽到上述監(jiān)控模塊的Socket連接請求,接受上述各監(jiān)控模塊的連接請求并建立Socket鏈接,同時(shí)將上述相應(yīng)的文件發(fā)送給對應(yīng)的監(jiān)控模塊(監(jiān)控模塊21、31、41、51、61或71)。例如,將tvmccd.par和tvmccd.map文件發(fā)送給每一個(gè)監(jiān)控模塊,將logo文件發(fā)送給各視頻處理單元(5和6)的監(jiān)控模塊(51和61)。上述輸入處理單元2的傳輸模塊23與各視頻處理單元(3和4)的傳輸模塊(33和43)和各音頻處理單元(5和6)的傳輸模塊(53和63)建立通信連接,同時(shí)上述輸出處理單元7的傳輸模塊73與各視頻處理單元(3和4)的傳輸模塊(33和43)和各音頻處理單元(5和6)的傳輸模塊(53和63)建立通信連接(步驟S4)。上述輸入處理單元2開始對源視頻文件的處理(步驟S5)。圖6為上述步驟S5的處理流程圖。如圖6所示,上述輸入處理單元2的輸入處理模塊22將源視頻文件的處理進(jìn)程的啟動時(shí)間和名稱等信息發(fā)送給上述監(jiān)控模塊21(步驟S51)。上述輸入處理模塊22在指定目錄讀取系統(tǒng)配置文件(比如tvmccd.cfg文件),獲取相應(yīng)的<Source>(源項(xiàng))、<Processed>(處理項(xiàng))、<Failed>(錯(cuò)誤項(xiàng))、<Output>(輸出項(xiàng))和<Send>(發(fā)送項(xiàng))等配置項(xiàng)(步驟S52)。上述輸入處理模塊22從上述<Source>項(xiàng)目錄按順序讀取源視頻文件(步驟S53),并由上述輸入處理模塊22的解封裝模塊221依次對上述源視頻文件進(jìn)行解封裝(步驟S54)。如果源視頻文件解封裝成功(步驟S55:是),獲取相應(yīng)的音、視頻幀序列,并將解封裝成功的源視頻文件從<Source>項(xiàng)目錄移送至<Processed>目錄和將解封裝后的音、視頻幀序列存儲至上述存儲模塊223(步驟S56)。上述輸入處理模塊22的輸入數(shù)據(jù)處理模塊222對上述存儲模塊223中的音、視頻幀序列進(jìn)行處理,獲取其相關(guān)信息(比如編碼信息等),并將所獲取的相關(guān)信息(比如編碼信息等)寫入信息文件(info文件)(步驟S57)。圖7為信息文件的格式示意圖。如圖7中所示,信息文件中含有源文件ID、文件長度、編碼類型等。本實(shí)施例中,視頻信息文件以VI-文件ID.info的格式命名,其中還包含視頻比特率、視頻高度、視頻寬度等信息;音頻信息文件以AI-文件ID.info的格式命名,其中還包含音頻比特率、采樣率、聲道數(shù)等信息。在步驟S57中,當(dāng)info文件正在寫時(shí),info文件被寫入<Output>目錄,當(dāng)info文件寫完成并確認(rèn)無誤時(shí),將info文件移送到<Send>目錄。上述輸入處理模塊22的輸入數(shù)據(jù)處理模塊222將視頻幀序列和音頻幀序列分別分割成多個(gè)以GOP(畫面組)為單位的視頻數(shù)據(jù)片斷(視頻文件)和多個(gè)以GOA(即與GOP相對應(yīng)的音頻數(shù)據(jù)單元)為單位的音頻數(shù)據(jù)片段(音頻文件)(步驟S58)。比如,對于MPEG文件,每個(gè)GOP以I幀開始,I幀后面可以跟隨著P幀和B幀構(gòu)成一個(gè)GOP。由于只有I幀具有完整的畫面的數(shù)據(jù),P幀和B幀只具有相對其他幀有變化的數(shù)據(jù),每個(gè)GOP段的幀分割在一個(gè)文件中可以避免P幀和B幀的數(shù)據(jù)因?yàn)榕c對應(yīng)的I幀不在一個(gè)GOP文件里而無法恢復(fù)完整的畫面數(shù)據(jù)。圖8為GOP或GOA文件的格式示意圖。如圖8中所示,分割后的每個(gè)GOP文件和GOA文件中包含其源文件ID、本GOP或GOA文件在源文件的所有的GOP或GOA文件中的序號、包含的幀數(shù)等信息以及幀數(shù)據(jù)部分。輸入數(shù)據(jù)處理模塊222以一定規(guī)則命名分割后的GOP文件和GOA文件,文件名中包括該文件對應(yīng)的源文件的文件ID、該文件在源文件的所有GOP或GOA文件中的序號和文件類型(GOP文件或GOA文件)(步驟S59)。例如,文件可以標(biāo)記為F01-1.gop,其中“F01”是源文件的文件ID,“-1”表示該文件在分割后的文件中序號為1,文件后綴“.gop”表示該文件是GOP文件;由此文件名就可以確定該文件是文件ID為F01的源文件的第1個(gè)GOP文件。輸入數(shù)據(jù)處理模塊222根據(jù)一定的分配規(guī)則對視頻文件和音頻文件進(jìn)行分配,例如,輸入數(shù)據(jù)處理模塊222查詢系統(tǒng)配置文件中的音頻和視頻處理單元的數(shù)量,將GOP或GOA文件的序號按照視頻或音頻處理單元的數(shù)量取模,由此確定將該GOP或GOA文件分配給哪個(gè)視頻或音頻處理單元進(jìn)行處理(步驟S510)。例如,有序號為1-9的9個(gè)GOP文件,當(dāng)前如圖1所示有2個(gè)視頻處理單元3和4;輸入數(shù)據(jù)處理模塊222依次用每個(gè)GOP文件的序號進(jìn)行模2(視頻處理單元的數(shù)量)的運(yùn)算,結(jié)果為1的文件分配給視頻處理單元3,結(jié)果為0的文件分配給視頻處理單元4。如此,文件1、3、5、7、9被分配給視頻處理單元3,文件2、4、6、8被分配給視頻處理單元4。如果當(dāng)前有4個(gè)視頻處理單元VP1-VP4,則用每個(gè)GOP文件的序號進(jìn)行模4(視頻處理單元的數(shù)量)的運(yùn)算,結(jié)果為1的文件分配給VP1,結(jié)果為2的文件分配給VP2,結(jié)果為3的文件分配給VP3,結(jié)果為0的文件分配給VP4。如此,文件1、5、9被分配給VP1,文件2、6被分配給VP2,文件3、7被分配給VP3,文件4、8被分配給VP4。同樣的,GOA文件也按此規(guī)則確定分配給哪個(gè)音頻處理單元。每個(gè)GOP或GOA文件的分配完成后,輸入處理模塊22將分配結(jié)果通過消息發(fā)送給輸入處理單元2的傳輸模塊23。上述輸入處理模塊22的輸入數(shù)據(jù)處理模塊222將生成的GOP和GOA文件分別寫入<Output>項(xiàng)目錄,并當(dāng)每個(gè)GOP或GOA文件寫磁盤完成并確認(rèn)無誤時(shí)被移送至<Send>項(xiàng)目錄,源文件在處理完成后由<Source>目錄移送至<Processed>目錄(步驟S511),同時(shí)將GOP和GOA的總數(shù)寫入總數(shù)文件(total文件)(步驟S512)。在步驟S510中,當(dāng)total文件正在寫時(shí),其被寫入<Output>項(xiàng)目錄,當(dāng)total文件寫完成并確認(rèn)無誤時(shí),其被移送至<Send>項(xiàng)目錄。輸入處理單元2的傳輸模塊23接收輸入處理模塊22發(fā)送的各GOP和GOA文件的分配結(jié)果,并按該結(jié)果將GOP和GOA文件連同total文件發(fā)送給相應(yīng)的音/視頻處理單元(步驟S513)。在步驟S514中,將文件名(包括源文件和GOP、GOA文件的文件名)、文件ID、視頻幀數(shù)、音頻幀數(shù)、視頻編碼格式和音頻編碼格式發(fā)送給上述監(jiān)控模塊21。如果源視頻文件解封裝出錯(cuò)(步驟S55:否),上述輸入處理單元2將上述解封裝出錯(cuò)的源視頻文件從<Source>項(xiàng)目錄移送到<Failed>項(xiàng)目錄(步驟S515),同時(shí)將出錯(cuò)的源視頻文件ID發(fā)送給上述監(jiān)控模塊21(步驟S516)。上述監(jiān)視模塊8將上述監(jiān)控模塊21所收到的出錯(cuò)信息發(fā)送到客戶端模塊9。用戶可以通過客戶端模塊9輸入命令,決定是否重新對上述源視頻文件進(jìn)行新一輪的處理,或者直接放棄對上述源視頻文件進(jìn)行新一輪的處理。返回圖4,在步驟S6中,上述輸入處理單元2的監(jiān)控模塊21將上述文件名、文件ID、視頻幀數(shù)、音頻幀數(shù)、視頻編碼格式和音頻編碼格式等相關(guān)信息發(fā)送給上述調(diào)度模塊1,同時(shí)上述輸入處理單元2的傳輸模塊23將上述<Send>目錄下的info文件、GOP和GOA文件和total文件等數(shù)據(jù)發(fā)送到相應(yīng)的視頻處理單元3(4)和音頻處理單元5(6)(步驟S6)。在步驟S7中,上述調(diào)度模塊1將視頻幀數(shù)、音頻幀數(shù)、視頻編碼格式和音頻編碼格式等相關(guān)信息發(fā)送到相應(yīng)的視頻處理單元3、4和音頻處理單元5、6以及輸出處理單元7中。在步驟S8中,上述視頻處理單元3(4)的視頻處理模塊32(42)根據(jù)監(jiān)控模塊31(41)所接收到的視頻幀數(shù)和視頻編碼格式等相關(guān)信息和輸送模塊33(43)所接收到的視頻文件和info文件等信息對上述GOP文件(視頻文件)進(jìn)行相應(yīng)的處理,同時(shí)上述音頻處理單元5(6)根據(jù)監(jiān)控模塊51(61)所接收到的音頻幀數(shù)和音頻編碼格式等相關(guān)信息和輸送模塊53(63)所接收到的音頻文件和info文件等信息對上述GOA文件(音頻文件)進(jìn)行相應(yīng)的處理,并將經(jīng)過處理后的音/視頻文件發(fā)送至上述輸出處理單元7。圖9為步驟S8中的視頻文件處理流程圖。在本實(shí)施方式中,視頻處理單元3和視頻處理單元4的視頻文件處理流程相同,因此僅就視頻處理單元3介紹視頻文件處理流程。如圖9所示,上述視頻處理單元3的視頻處理模塊32將視頻文件處理進(jìn)程的啟動時(shí)間和收到的視頻文件的ID信息(例如收到了以下文件:F01-1.gop,F01-3.gop,F(xiàn)01-5.gop等和F02-1.gop,F(xiàn)02-3.gop等)發(fā)送給上述監(jiān)控模塊31(步驟S811)。上述監(jiān)控模塊31可以將上述啟動時(shí)間和視頻文件的ID信息反饋到上述調(diào)度模塊1,使得系統(tǒng)能夠監(jiān)控上述視頻處理單元3的處理進(jìn)程狀況。上述視頻處理模塊32在指定目錄讀取系統(tǒng)配置文件(tvmccd.cfg),獲取上述視頻處理單元3的處理進(jìn)程的<Source>(源項(xiàng))、<Output>(輸出項(xiàng))和<Send>(發(fā)送項(xiàng))等配置項(xiàng)(步驟S812),并在<Source>項(xiàng)目錄讀取相關(guān)信息(info文件)和視頻文件(gop文件)(步驟S813)。如果<Source>項(xiàng)目錄下有total文件,則上述視頻處理模塊32將上述total文件移送至<Send>項(xiàng)目錄。然后,上述視頻處理模塊32根據(jù)監(jiān)控模塊31所接收到的視頻編碼格式信息選擇相應(yīng)的解碼器對上述視頻文件進(jìn)行解碼(步驟S814)。如果解碼成功(步驟S815:是),上述視頻處理模塊32對上述經(jīng)解碼后的視頻數(shù)據(jù)進(jìn)行預(yù)定處理(步驟S816)。上述預(yù)定處理可以是視頻幀率定制調(diào)節(jié)、向視頻中添加滾屏信息、不同音/視頻文件的合并等。上述視頻處理模塊32根據(jù)監(jiān)控模塊31從調(diào)度模塊1收到的處理后的文件的參數(shù)要求將經(jīng)過處理后的視頻數(shù)據(jù)進(jìn)行編碼,獲取經(jīng)處理后的視頻文件(gop文件),并將正在輸出的視頻文件(gop文件)寫到<Output>項(xiàng)目錄,在寫磁盤結(jié)束并校驗(yàn)無誤后將該文件移送到<Send>項(xiàng)目錄,由上述傳輸模塊33輸送至上述輸出處理單元7(步驟S817)。如果解碼出錯(cuò)(步驟S815:否),并且該視頻文件的解碼次數(shù)n沒有超過預(yù)定閾值a(步驟S818:否),則將上述解碼次數(shù)n加1(步驟S819)并返回到步驟S814進(jìn)行重新解碼,如果該視頻文件的解碼次數(shù)n超過預(yù)定閾值a(步驟S818:是),則將解碼出錯(cuò)的視頻文件的ID信息發(fā)送給監(jiān)控模塊31(步驟S8110)。上述監(jiān)控模塊31將解碼出錯(cuò)的視頻文件的ID信息反饋給上述調(diào)度模塊1,上述調(diào)度模塊1可以選擇讓輸入處理單元2向上述視頻處理單元3再次發(fā)送該出錯(cuò)的視頻文件,或讓輸入處理單元2將該出錯(cuò)的視頻文件重新加入未被上述輸入處理單元2的傳輸模塊23發(fā)送的剩余視頻文件中并進(jìn)行重新編序號,再根據(jù)上述一定的分配規(guī)則將該出錯(cuò)的視頻文件分配給相應(yīng)的視頻處理單元進(jìn)行處理。此外,調(diào)度模塊1也可以選擇直接忽略該解碼錯(cuò)誤,并將錯(cuò)誤信息輸出給用戶。圖10為步驟S8中的音頻文件處理流程圖。在本實(shí)施方式中,音頻處理單元5和音頻處理單元6的視頻文件處理流程相同,因此僅就音頻處理單元5介紹音頻文件處理流程。如圖10所示,上述音頻處理單元5的音頻處理模塊52將音頻文件處理進(jìn)程的啟動時(shí)間和音頻文件的ID信息(例如收到了以下文件:F01-1.goa,F(xiàn)01-3.goa,F(xiàn)01-5.goa等和F02-1.goa,F(xiàn)02-3.goa等)發(fā)送給上述監(jiān)控模塊51(步驟S821)。上述監(jiān)控模塊51可以將上述啟動時(shí)間和音頻文件的ID信息反饋到上述調(diào)度模塊1,使得系統(tǒng)能夠監(jiān)控上述音頻處理單元5的處理進(jìn)程狀況。上述音頻處理模塊52在指定目錄讀取系統(tǒng)配置文件(tvmccd.cfg),獲取上述音頻處理單元5的處理進(jìn)程的<Source>(源項(xiàng))、<Output>(輸出項(xiàng))和<Send>(發(fā)送項(xiàng))等配置項(xiàng)(步驟S822),并在<Source>項(xiàng)目錄讀取相關(guān)信息(info文件)和音頻文件(goa文件)(步驟S823)。如果<Source>項(xiàng)目錄下有total文件,則上述音頻處理模塊52將上述total文件移送至<Send>項(xiàng)目錄。然后,上述音頻處理模塊52根據(jù)監(jiān)控模塊51從上述調(diào)度模塊1所接收到的音頻編碼格式信息選擇相應(yīng)的解碼器對上述音頻文件進(jìn)行解碼(步驟S824)。如果解碼成功(步驟S825:是),上述音頻處理模塊52對上述經(jīng)解碼后的音頻數(shù)據(jù)進(jìn)行預(yù)定處理(步驟S826)。上述預(yù)定處理可以是音量自動調(diào)節(jié)、音量定制調(diào)節(jié)或聲道處理等。上述音頻處理模塊52根據(jù)監(jiān)控模塊51從調(diào)度模塊1收到的處理后的文件的參數(shù)要求將經(jīng)過處理后的音頻數(shù)據(jù)進(jìn)行編碼,獲取經(jīng)處理后的音頻文件(goa文件),并將正在輸出的音頻文件(goa文件)寫到<Output>項(xiàng)目錄,在寫磁盤結(jié)束并校驗(yàn)無誤后將該文件移送到<Send>項(xiàng)目錄,由上述傳輸模塊33輸送至上述輸出處理單元7(步驟S827)。如果解碼出錯(cuò)(步驟S825:否),并且該音頻文件的解碼次數(shù)m沒有超過預(yù)定閾值b(步驟S828:否),則將上述解碼次數(shù)m加1(步驟S829)并返回到步驟S824進(jìn)行重新解碼,如果該音頻文件的解碼次數(shù)m超過預(yù)定閾值b(步驟S828:是),則將解碼出錯(cuò)的音頻文件的ID信息發(fā)送給監(jiān)控模塊51(步驟S8210)。上述監(jiān)控模塊51將解碼出錯(cuò)的音頻文件的ID信息反饋給上述調(diào)度模塊1,上述調(diào)度模塊1可以選擇讓輸入處理單元2向上述音頻處理單元5再次發(fā)送該出錯(cuò)的音頻文件,或讓輸入處理單元2將該出錯(cuò)的音頻文件重新加入未被上述輸入處理單元2的傳輸模塊23發(fā)送的剩余音頻文件中并進(jìn)行重新編序號,再根據(jù)上述一定的分配規(guī)則將該出錯(cuò)的音頻文件分配給相應(yīng)的音頻處理單元進(jìn)行處理。此外,調(diào)度模塊1也可以選擇直接忽略該解碼錯(cuò)誤,并將錯(cuò)誤信息輸出給用戶。返回圖4,在步驟S9中,上述輸出處理單元7根據(jù)上述監(jiān)控模塊71從上述調(diào)度模塊1所接收到的相關(guān)信息對來自上述視頻處理單元3(4)的視頻文件和來自上述音頻處理單元5(6)的音頻文件進(jìn)行處理,獲得經(jīng)處理后的音視頻文件。圖11為步驟S9中上述輸出處理單元7的處理流程圖。如圖11所示,上述輸出處理單元7的輸出處理模塊72將輸出處理單元7的啟動時(shí)間及處理進(jìn)程的名稱發(fā)送給上述輸出處理單元7的監(jiān)控模塊71(步驟S91)。上述輸出處理模塊72在指定目錄讀取系統(tǒng)配置文件(比如tvmccd.cfg),獲取上述處理進(jìn)程的配置項(xiàng),例如<Source>(源項(xiàng))、<Output>(輸出項(xiàng))和<Finished>(完成項(xiàng))等配置項(xiàng)(步驟S92),并且監(jiān)控<Source>項(xiàng)目錄的write_close事件(寫入關(guān)閉事件),當(dāng)有write_close事件到來時(shí),獲取write_close的文件的文件名,并記錄最新的write_close事件的時(shí)刻(步驟S93)。由此,可以監(jiān)控<Source>項(xiàng)目錄最新收到的文件,如果收到由傳輸模塊23經(jīng)過傳輸模塊33、43、53和/或63傳輸?shù)絺鬏斈K73的total文件,就讀取total文件中關(guān)于音頻文件的總數(shù)信息和視頻文件的總數(shù)信息,比如GOP文件的總數(shù)信息和GOA文件的總數(shù)信息,同時(shí)上述輸出數(shù)據(jù)處理模塊721獲取音/視頻文件(比如GOP和GOA文件)(步驟S94)。根據(jù)total文件中的GOP和GOA文件的總數(shù)信息,輸出數(shù)據(jù)處理模塊722為每個(gè)源文件生成GOP和GOA文件的接收映射表(步驟S95)。接收映射表的結(jié)構(gòu)參照圖12,并且上述所接收到的音頻文件的總數(shù)信息和視頻文件的總數(shù)信息以及所生成的接收映射表均可存儲在上述輸出處理模塊72的存儲模塊723中。圖12為接收映射表的結(jié)構(gòu)示意圖。由圖12可以看出,接收映射表中記錄有源文件的文件ID和該源文件的所有GOP和GOA文件,并為每個(gè)GOP和GOA文件預(yù)留了一個(gè)狀態(tài)標(biāo)識。初始的狀態(tài)標(biāo)識為0,表示未收到該GOP或GOA文件。輸出數(shù)據(jù)處理模塊722掃描已經(jīng)收到的GOP和GOA文件,并依次在接收映射表中將該GOP或GOA文件的狀態(tài)標(biāo)識設(shè)為1,表示收到了該GOP或GOA文件(步驟S96)。例如,輸出數(shù)據(jù)處理模塊722收到了文件ID為F01的total文件,該total文件顯示文件F01有9個(gè)GOP文件F01-1.gop~F01-9.gop和9個(gè)GOA文件F01-1.goa~F01-9.goa。據(jù)此,輸出數(shù)據(jù)處理模塊722為文件ID為F01的源文件建立如圖12所示的接收映射表。然后,輸出數(shù)據(jù)處理模塊722掃描已經(jīng)收到的GOP和GOA文件中屬于該源文件的部分。根據(jù)輸入處理單元分割文件時(shí)的命名規(guī)則,輸出數(shù)據(jù)處理模塊722掃描到以F01開頭的.gop或.goa文件就可以判斷出該文件屬于源文件F01,F(xiàn)01-1.gop就是該源文件的第一個(gè)GOP文件。如此,可以將已收到的源文件F01的所有GOP和GOA文件在在接收映射表中標(biāo)記為已接收。由于<Source>項(xiàng)目錄的write_close事件被監(jiān)控,輸出數(shù)據(jù)處理模塊722可以監(jiān)控新收到的GOP和GOA文件,并將其在接收映射表中標(biāo)記為已接收。接收映射表中還包括接收到的GOP和GOA文件的數(shù)量信息,每收到一個(gè)GOP或GOA文件,將對應(yīng)的文件數(shù)量加1(步驟S97)。上述輸出數(shù)據(jù)處理模塊722將接收映射表中記錄的GOP和GOA文件的數(shù)量與total文件中記錄的數(shù)量進(jìn)行對比(步驟S98)。當(dāng)數(shù)量一致時(shí)(步驟S98:是),輸出數(shù)據(jù)處理模塊722掃描接收映射表,看是否每個(gè)GOP和GOA文件的狀態(tài)標(biāo)識均為已接收(步驟S99)。當(dāng)接收到的文件總數(shù)與total文件的信息不同時(shí),說明還有GOP或GOA文件沒有接收到。如果上述輸出數(shù)據(jù)處理模塊722判斷上述源視頻文件的所有GOP和GOA文件均已接收(步驟S99:是),則在上述輸出處理模塊72的封裝模塊721中進(jìn)行封裝處理(步驟S910)。如果封裝成功(步驟S911:是),上述封裝模塊721將封裝成功的新音視頻文件輸出到上述輸出數(shù)據(jù)處理單元7的傳輸模塊73(步驟S912)。如果封裝出錯(cuò)(步驟S911:否),上述輸出數(shù)據(jù)處理模塊722判斷嘗試重新封裝處理的次數(shù)M是否超出預(yù)定值B(步驟S917)。如果上述嘗試重新封裝處理的次數(shù)M沒有超出預(yù)定值B(步驟S917:否),將M加1(步驟S918),并回到上述封裝模塊721再次嘗試封裝處理。如果上述嘗試重新封裝處理的次數(shù)M超出預(yù)定值B(步驟S917:是),將封裝出錯(cuò)的音、視頻文件的ID信息發(fā)送給上述輸出處理單元7的監(jiān)控模塊71(步驟S919),上述監(jiān)控模塊71將上述封裝錯(cuò)誤信息和上述封裝出錯(cuò)的音、視頻文件的ID信息反饋給上述調(diào)度模塊1(步驟S920)。上述調(diào)度模塊1根據(jù)要求決定是否重新對上述源視頻文件進(jìn)行新一輪的處理,或者直接放棄對上述源視頻文件進(jìn)行新一輪的處理。如果上述輸出數(shù)據(jù)處理模塊722判斷上述源視頻文件中的所有音、視頻文件(GOP和GOA文件)沒有被完全接收(步驟S96:否),則上述輸出數(shù)據(jù)處理模塊722判斷等待沒有被接收的音、視頻文件的時(shí)間N是否超過預(yù)定閾值A(chǔ)(步驟S913)。如果等待沒有被接收音、視頻文件的時(shí)間N沒有超過預(yù)定閾值A(chǔ)(步驟S913:否),則繼續(xù)等待沒有被接收的音、視頻文件。如果等待沒有被接收音、視頻文件的時(shí)間N超過預(yù)定閾值A(chǔ)(步驟S913:是),則上述輸出數(shù)據(jù)處理模塊722檢查上述音、視頻文件的接收映射表,獲得未收到的音頻文件的ID信息和/或視頻文件的ID信息等,并將其發(fā)送給上述輸出處理單元7的監(jiān)控模塊71(步驟S914)。例如,如圖12所示,上述輸出數(shù)據(jù)處理模塊722通過檢查上述接收映射表發(fā)現(xiàn)Tvm.mp4的F01-4.goa和F01-6.gop兩個(gè)文件在等待時(shí)間超過上述預(yù)定閾值A(chǔ)后仍沒收到,上述輸出數(shù)據(jù)處理模塊722將未收到文件的文件ID發(fā)送給上述輸出處理單元7的監(jiān)控模塊71。其中,上述等待時(shí)間可以由輸出處理模塊72讀取到了某源文件的total文件起計(jì)算,也可以自該源文件的接收映射表被建立之時(shí)起計(jì)算。上述監(jiān)控模塊71將上述音、視頻文件接收錯(cuò)誤信息和未收到的音頻和/或視頻文件的ID信息反饋到上述調(diào)度模塊1(步驟S915)。上述調(diào)度模塊1根據(jù)上述監(jiān)控模塊71所反饋的上述音、視頻文件接收錯(cuò)誤信息和未收到的音頻文件的ID信息和/或視頻文件的ID信息可以命令上述輸入處理單元2根據(jù)上述一定的分配規(guī)則重新分配給音頻處理單元和/或視頻處理單元(步驟S916),即將該文件的序號按音頻或視頻處理單元的數(shù)量取模。因此,如果處理單元數(shù)量較初次分配時(shí)發(fā)生變化,該文件會被分配給與初次分配時(shí)不同的處理單元。例如,F(xiàn)01-7.gop初次分配時(shí)系統(tǒng)中有4個(gè)視頻處理單元VP1-VP4,該文件被分配給VP3。輸出處理單元未收到該文件后要求輸入處理單元2重新處理該文件。此時(shí),VP2已因故障退出系統(tǒng),系統(tǒng)中還有3個(gè)視頻處理單元VP1、VP3、VP4。因此,輸入處理單元2的分配規(guī)則就變成用文件序號模3,結(jié)果為1的文件分配給VP1,結(jié)果為2的文件分配給VP3,結(jié)果為0的文件分配給VP4。按此規(guī)則,F(xiàn)01-7.gop被重新分配給VP1。在步驟S916還可以采用以下處理方式:輸入處理單元2每收到一個(gè)需要重新處理的GOP或GOA文件就賦予其一個(gè)重新處理的序號,并按該序號進(jìn)行分配。例如,輸入處理單元2先后收到了3個(gè)需要重新處理的GOP文件的ID:F01-7.gop、F03-2.gop、F02-4.gop。輸入處理單元2的分配模塊2222每收到一個(gè)需重新處理的GOP文件,就將其維護(hù)的需重新處理的GOP文件的序號加1并賦予新收到的GOP文件。如此,F(xiàn)01-7.gop、F03-2.gop、F02-4.gop依次被賦予序號1、2、3。假設(shè)此時(shí)系統(tǒng)中有2個(gè)視頻處理單元VP1-VP2,分配模塊2222將F01-7.gop的序號1模2,結(jié)果為1,分配給VP1;將F03-2.gop的序號2模2,結(jié)果為0,分配給VP2;將F02-4.gop的序號3模2,結(jié)果為1,分配給VP1。然后分配模塊2222將以上分配信息發(fā)送給傳輸模塊23,由傳輸模塊23發(fā)送給相應(yīng)的視頻處理單元。如果輸入處理單元2收到需要重新處理的GOA文件,采用同樣的方法進(jìn)行分配。需要重新處理的GOP文件和GOA文件分別進(jìn)行排序,具有彼此獨(dú)立的序號。輸入處理模塊、視頻處理模塊、音頻處理模塊以及輸出處理模塊定時(shí)通過消息隊(duì)列向各自的監(jiān)控模塊報(bào)告各自模塊的工作狀態(tài)、當(dāng)前任務(wù)、已完成任務(wù)等,同時(shí)還將上述內(nèi)容記入各自的日志文件。各監(jiān)控模塊定時(shí)將本處理單元的IP地址、系統(tǒng)負(fù)荷、網(wǎng)絡(luò)狀況、本進(jìn)程狀態(tài)以及從本單元的處理模塊收到的上述信息發(fā)送給調(diào)度模塊1。監(jiān)視模塊8定時(shí)與調(diào)度模塊1分享上述信息,并通過客戶端模塊9處理后以圖形界面顯示給用戶。調(diào)度模塊1利用各監(jiān)控模塊發(fā)來的信息維護(hù)配置文件,配置文件中為每個(gè)物理機(jī)器分配了一個(gè)狀態(tài)屬性,當(dāng)該機(jī)器因掉電或斷網(wǎng)暫時(shí)退出系統(tǒng)時(shí),狀態(tài)屬性被設(shè)為不可用;當(dāng)有新的物理機(jī)器加入系統(tǒng)時(shí),用戶指令調(diào)度模塊1在配置文件中添加該機(jī)器的信息。配置文件中的信息發(fā)生變化后,調(diào)度模塊1賦予其一個(gè)新的版本號,并立即將其發(fā)送至各控制模塊。如果系統(tǒng)運(yùn)行中調(diào)度模塊1掉電或者無響應(yīng),客戶端模塊9就無法從監(jiān)視模塊8獲取數(shù)據(jù),這種情況持續(xù)一定時(shí)間后,客戶端模塊9會通過提示框或警報(bào)聲等方法提示用戶排除故障。故障排除后,調(diào)度模塊1重新讀取配置文件與各監(jiān)控模塊建立連接,各監(jiān)控模塊根據(jù)各自的日志將未成功傳送給調(diào)度模塊1的信息重新傳送。如果某一監(jiān)控模塊停止工作,調(diào)度模塊1在經(jīng)過一定時(shí)間沒有從該模塊收到信息后判斷該模塊出現(xiàn)故障。故障原因可能是由斷電或斷網(wǎng)造成的物理故障也可能是該模塊的進(jìn)程無響應(yīng)。調(diào)度模塊1偵測與該監(jiān)控模塊的物理機(jī)器的連接是否正常(比如可以使用ping命令),如果不正常說明是物理故障,通過客戶端模塊9向用戶發(fā)送提示。如果連接正常說明是該模塊的進(jìn)程無響應(yīng),則等待一定時(shí)間后再試,經(jīng)過一定次數(shù)的嘗試仍無法通信再通過客戶端模塊9向用戶發(fā)送提示。如果某一處理單元所在的物理機(jī)器掉電,重新通電后,該監(jiān)控模塊的處理單元重新初始化與其他模塊建立連接。如果掉電的機(jī)器是輸入處理單元、視頻處理單元或音頻處理單元所在的機(jī)器,已經(jīng)完成處理的文件會被從<Source>項(xiàng)目錄移送至<Processed>或<failed>等目錄,因此,恢復(fù)后只要從<Source>項(xiàng)目錄讀取文件繼續(xù)進(jìn)行處理即可。如果掉電的機(jī)器是輸出處理單元所在的機(jī)器,初始化后,輸出處理模塊掃描<Source>項(xiàng)目錄,讀取目錄下的total文件,建立音、視頻文件的接收映射表,并根據(jù)<Source>項(xiàng)目錄下的GOP和GOA文件填寫接收映射表。掃描的同時(shí)監(jiān)視最新收到的文件,對<Source>項(xiàng)目錄下的所有文件都完成上述操作后繼續(xù)S93~S917的處理。如果某一處理單元所在的物理機(jī)器斷網(wǎng),當(dāng)連接恢復(fù)時(shí),調(diào)度模塊1向其發(fā)送最新的配置文件,該單元的監(jiān)控模塊查詢?nèi)罩?,并指令該單元的傳輸模塊將<Send>目錄下的文件傳輸給指定的處理單元。如果監(jiān)控模塊的進(jìn)程無響應(yīng)后被重啟,重啟后首先與其他模塊建立通信,然后在日志中查詢與各模塊的最后通信時(shí)間,要求調(diào)度模塊1和對應(yīng)的處理模塊、傳輸模塊重傳該時(shí)間之后的信息。監(jiān)控模塊向調(diào)度模塊1發(fā)送信息時(shí)都帶有配置文件的版本號,因此,調(diào)度模塊1發(fā)現(xiàn)信息中的配置文件過期會重新發(fā)送新的配置文件。監(jiān)控模塊對收到的重傳的信息執(zhí)行正常的操作。如上所述,輸入處理模塊、視頻處理模塊、音頻處理模塊以及輸出處理模塊定時(shí)通過消息隊(duì)列向各自的監(jiān)控模塊報(bào)告各自模塊的工作狀態(tài),因此,當(dāng)某個(gè)模塊的進(jìn)程無響應(yīng)超過一定時(shí)間,對應(yīng)的監(jiān)控模塊就會發(fā)現(xiàn)異常,如果等待一定時(shí)間不能恢復(fù),監(jiān)控模塊就提醒用戶重啟該模塊的進(jìn)程或者自行重啟該模塊的進(jìn)程。重啟后,這些模塊從各自的工作目錄讀取文件進(jìn)行處理即可。圖13是向系統(tǒng)中添加處理單元的操作流程圖。如圖13所示,在將服務(wù)器作為處理單元接入系統(tǒng)前,在服務(wù)器上搭建各處理模塊和通信模塊所需的軟件環(huán)境,使服務(wù)器具有前述音頻或視頻處理單元的功能,即使得新加入的音頻處理單元具有與系統(tǒng)中已有的音頻處理單元相同的結(jié)構(gòu),例如具有相應(yīng)的監(jiān)控模塊、音頻處理模塊和傳輸模塊,同樣使得新加入的視頻處理單元具有與系統(tǒng)中已有的視頻處理單元相同的結(jié)構(gòu),例如具有相應(yīng)的監(jiān)控模塊、視頻處理模塊和傳輸模塊。同時(shí),將服務(wù)器的網(wǎng)絡(luò)環(huán)境設(shè)置為可以與系統(tǒng)的各部分相互通信的狀態(tài)(步驟S101)。然后,將調(diào)度模塊1的地址信息存入該服務(wù)器(步驟S102)。至此,上述處理單元的接入準(zhǔn)備操作完成。啟動該處理單元并接入系統(tǒng),在本實(shí)施方式中,新加入的上述處理單元被設(shè)定為在接入時(shí)按照存儲的調(diào)度模塊1的地址從調(diào)度模塊1獲取系統(tǒng)配置文件(tvmccd.cfg)(步驟S103)。獲取系統(tǒng)配置文件后,上述處理單元將本單元的各項(xiàng)信息加入配置文件,加入的信息包括本單元的控制模塊的通信地址、本單元是視頻處理單元還是音頻處理單元、工作目錄的位置等,與配置文件中記錄的其他處理單元的信息種類相同。然后,上述處理單元更新配置文件的版本號并將其發(fā)回給調(diào)度模塊1(步驟S104)。調(diào)度模塊1核對上述處理單元發(fā)送的配置文件的版本是否比自己的新,以確定替換或更新自己的配置文件,并將更新的配置文件發(fā)給系統(tǒng)的各單元(步驟S105)。上述輸入處理單元2和上述輸出處理單元7根據(jù)新的配置文件與新加入的上述處理單元建立通信連接,上述輸入處理單元2開始按照新的處理單元數(shù)量分配處理任務(wù)(步驟S106)。至此,該處理單元被加入系統(tǒng),并可以開始與系統(tǒng)中原有的處理單元同樣地進(jìn)行音視頻文件的處理。在上述步驟S105中,調(diào)度模塊1需要對從上述處理單元返回的配置文件的版本進(jìn)行分析,以確定是否可以替換自己的配置文件。假設(shè)當(dāng)前調(diào)度模塊1的配置文件版本號為A1,新進(jìn)入系統(tǒng)的處理單元B1從調(diào)度模塊1取得了版本號為A1的配置文件,在處理單元B1返回新配置文件之前又有新進(jìn)入系統(tǒng)的處理單元B2從調(diào)度模塊1取得了該版本號為A1的配置文件;處理單元B1首先返回包含自身信息的版本號為A1-B1的配置文件給調(diào)度模塊1,隨后處理單元B2也返回包含自身信息的版本號為A1-B2的配置文件給調(diào)度模塊1。在此過程中,如果調(diào)度模塊1只是簡單地用返回的新配置文件代替自己的舊配置文件,那么調(diào)度模塊1的配置文件A1會先被替換為A1-B1然后被替換為A1-B2。這樣,處理單元B1的信息就沒有被加入配置文件中。為避免這種情況,調(diào)度模塊1必須對更新配置文件的操作建立規(guī)則以防止錯(cuò)誤的產(chǎn)生。其中一種機(jī)制可以是在調(diào)度模塊1中設(shè)置一個(gè)與處理單元對應(yīng)的更新標(biāo)記,更新標(biāo)記中的信息包括與處理單元對應(yīng)的編碼以及一個(gè)狀態(tài)值。比如處理單元B1從調(diào)度模塊1取得了版本號為A1的配置文件,調(diào)度模塊1將更新標(biāo)記對應(yīng)的處理單元設(shè)定為B1,狀態(tài)值設(shè)定為1。此時(shí)更新標(biāo)記的信息表明當(dāng)前進(jìn)行配置文件更新的處理單元為B1,狀態(tài)值為1表示不能訪問配置文件。如果在處理單元B1返回新配置文件之前有其他新加入的處理單元請求從調(diào)度模塊1獲取配置文件,則調(diào)度模塊1會查詢其更新標(biāo)記,當(dāng)更新標(biāo)記的值為1時(shí),該請求會被拒絕或暫時(shí)擱置。處理單元B1返回新配置文件后,調(diào)度模塊1將配置文件的版本號與更新標(biāo)記核對,如果版本號顯示是更新標(biāo)記對應(yīng)的處理單元發(fā)來的,調(diào)度模塊1用該新配置文件替換自身的配置文件,并將更新標(biāo)記對應(yīng)的處理單元設(shè)定清空,將更新標(biāo)記的狀態(tài)值設(shè)為0。當(dāng)狀態(tài)值為0時(shí),調(diào)度模塊1就可以接受新加入的處理單元獲取配置文件的請求。另一種機(jī)制是調(diào)度模塊1不是直接用上述處理單元返回的新配置文件替換自己的配置文件而是掃描新配置文件中增加的項(xiàng)目,將該項(xiàng)目加入自己的配置文件中。比如,配置文件使用了XML格式,每個(gè)處理單元的信息在配置文件存儲為一個(gè)特定的段落。調(diào)度模塊1掃描收到新的配置文件,將其與自己的配置文件進(jìn)行比較,如果有代表新的處理單元的段落,就將其加入自己的配置文件的相應(yīng)位置。當(dāng)需要將系統(tǒng)中的若干處理單元需要退出系統(tǒng)時(shí),用戶首先通過客戶端向調(diào)度模塊1發(fā)出指令。調(diào)度模塊1將指令退出的處理單元對應(yīng)的狀態(tài)在配置文件中標(biāo)記為代表將要退出的值,并修改任務(wù)分配算法,不再向這些處理單元分配新的任務(wù)。要退出的處理單元繼續(xù)對已分配的處理任務(wù)進(jìn)行處理,并將處理結(jié)果發(fā)送給上述輸出處理單元7。調(diào)度模塊1查詢從該處理單元的監(jiān)控模塊和上述輸出處理單元7收到的該處理單元的任務(wù)狀態(tài)信息。當(dāng)確認(rèn)該處理單元的處理任務(wù)已完成或經(jīng)過一定時(shí)間仍未完成時(shí),將該處理單元對應(yīng)的信息從系統(tǒng)配置文件中刪除。至此,該處理單元完全退出音視頻處理系統(tǒng)。在有些情況下,用戶可能急需這些要退出的服務(wù)器去處理其他任務(wù),而不是在完成已分配的處理任務(wù)后才退出系統(tǒng)。此時(shí),用戶也可以直接將該服務(wù)器關(guān)機(jī)或者關(guān)閉其上運(yùn)行的音視頻處理進(jìn)程,使其立即脫離系統(tǒng)。此時(shí),調(diào)度模塊1無法從該處理單元收到狀態(tài)信息,因此認(rèn)為該處理單元處于故障狀態(tài),暫時(shí)不向該處理單元分配任務(wù)。用戶可以從客戶端輸入指令通知調(diào)度模塊1該處理單元已被移除,調(diào)度模塊1也可以預(yù)設(shè)一個(gè)時(shí)間閾值,故障時(shí)間超過該閾值則認(rèn)為該處理單元已被移除。隨后,調(diào)度模塊1將該處理單元對應(yīng)的信息從系統(tǒng)配置文件中刪除。由于退出系統(tǒng)的處理單元尚有處理任務(wù)未完成,輸出處理單元7在等待一定時(shí)間沒有收到該處理單元的處理結(jié)果后將任務(wù)情況報(bào)告給調(diào)度模塊1。調(diào)度模塊1如前所述將未完成的任務(wù)分配給系統(tǒng)中的其他處理單元進(jìn)行處理。上述向系統(tǒng)中添加處理單元的操作適合于手動將全新的服務(wù)器接入系統(tǒng)的場合,由于服務(wù)器上沒有事先加載音視頻處理系統(tǒng)所需的各模塊,用戶需要在處理單元一端進(jìn)行操作。但也有時(shí)可能是以下的情況:用戶有大量的服務(wù)器接入在同一個(gè)網(wǎng)絡(luò)中,其中一部分服務(wù)器用于組建本發(fā)明所述的音視頻處理系統(tǒng),另外的服務(wù)器用于其他用途,而另外的服務(wù)器中有些是具備了包括本發(fā)明的音視頻處理等多種用途所需的處理環(huán)境,這部分服務(wù)器可以靈活地在多種用途間切換,這樣可以根據(jù)不同用途的實(shí)時(shí)數(shù)據(jù)處理負(fù)荷的狀況來調(diào)節(jié)服務(wù)器的負(fù)荷。在這種情況下,可以在調(diào)度模塊1一端進(jìn)行操作的本發(fā)明的第二形態(tài)更為便捷。此時(shí),用戶通過客戶端模塊修改調(diào)度模塊1的配置文件,將需要加入系統(tǒng)的服務(wù)器的地址、類型等信息添加到配置文件中。調(diào)度模塊1根據(jù)配置文件中的信息向要加入的服務(wù)器發(fā)送開啟音視頻處理服務(wù)的指令。需要加入的服務(wù)器中配置有監(jiān)視是否收到開啟或關(guān)閉各種服務(wù)的指令的指令監(jiān)視模塊,當(dāng)收到開啟音視頻處理的指令后根據(jù)指令的內(nèi)容相應(yīng)地啟動音頻處理或視頻處理所需要的軟件環(huán)境和網(wǎng)絡(luò)環(huán)境的初始化。初始化完成后,調(diào)度模塊1和新加入的處理單元按照與之前所述相同的方式建立通信連接,更新系統(tǒng)配置文件,從而使新進(jìn)入的處理單元開始執(zhí)行音視頻處理任務(wù)。通過這種方式,用戶不必在每臺要加入系統(tǒng)的服務(wù)器上都進(jìn)行設(shè)置,只通過客戶端就能完成所有的配置。當(dāng)服務(wù)器需要從本發(fā)明第二形態(tài)的系統(tǒng)中退出時(shí),用戶在客戶端輸入指令,調(diào)度模塊1實(shí)施與第一形態(tài)中相同的操作。在上述實(shí)施方式中,當(dāng)在系統(tǒng)運(yùn)行過程中根據(jù)處理文件的負(fù)荷及用戶硬件資源調(diào)配的需要對系統(tǒng)中的處理單元的數(shù)量進(jìn)行調(diào)整時(shí),比如,當(dāng)有大量數(shù)據(jù)需要處理而剛好有幾臺閑置服務(wù)器時(shí),用戶就可以在不停止系統(tǒng)的運(yùn)行的情況下,將這幾臺服務(wù)器作為處理單元加入系統(tǒng),分擔(dān)數(shù)據(jù)處理業(yè)務(wù)。同樣,當(dāng)數(shù)據(jù)處理任務(wù)較少而系統(tǒng)中處理單元的處理能力過剩或其他原因需要移除其中的一個(gè)或多個(gè)服務(wù)器時(shí),可以將其中的一個(gè)或若干服務(wù)器從系統(tǒng)中移除,而不影響系統(tǒng)的正常運(yùn)行。在本實(shí)施方式中,各物理機(jī)器通過局域網(wǎng)連接,各模塊的地址為所在機(jī)器的IP地址和對應(yīng)端口號,但各物理機(jī)器也可以通過廣域網(wǎng)或高速總線等其他方式連接,只要可以賦予各模塊相應(yīng)的地址表示方式即可。另外,在利用本發(fā)明的系統(tǒng)處理大量的小體積視頻文件時(shí),也可以省略分割音/視頻文件的步驟,讓每個(gè)音頻處理模塊和視頻處理模塊獨(dú)自處理一個(gè)源文件的音頻或視頻部分。在本實(shí)施方式中,分布式系統(tǒng)用于處理音視頻文件,但本系統(tǒng)改變相應(yīng)模塊的功能后也可以用于處理其他類型的數(shù)據(jù),只要這種分塊處理后再合并的處理流程不會對該數(shù)據(jù)的處理結(jié)果造成影響即可。
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1