本申請涉及節(jié)目播出技術(shù)領(lǐng)域,尤其涉及一種節(jié)目文件的整備方法、裝置及系統(tǒng)。
背景技術(shù):
在播控流程中,節(jié)目文件作為最終的播出實(shí)體,節(jié)目文件的整備業(yè)務(wù)即是播控系統(tǒng)的核心業(yè)務(wù)。節(jié)目文件的整備過程主要包括一級整備、二級整備、三級整備;而存儲整備節(jié)目文件的存儲服務(wù)器,即稱為多級存儲服務(wù)器。
多級存儲包含一級存儲、二級存儲、三級存儲三個(gè)部分;一級存儲是指節(jié)目文件遷入到播出系統(tǒng)前的存儲系統(tǒng),主要指媒資系統(tǒng);二級存儲是指節(jié)目文件由外系統(tǒng)遷入到播出系統(tǒng)的存儲系統(tǒng);三級存儲主要是指視頻服務(wù)器構(gòu)成的存儲系統(tǒng)。二級存儲系統(tǒng)承擔(dān)了播出節(jié)目文件的大部分的緩存及安全整備任務(wù),二級存儲系統(tǒng)負(fù)責(zé)把從媒資系統(tǒng)傳來的待播文件進(jìn)行統(tǒng)一整備,并在規(guī)定的時(shí)間統(tǒng)一發(fā)送到三級存儲中的各個(gè)視頻服務(wù)器。
現(xiàn)有技術(shù)中,在接收到來自媒資系統(tǒng)的節(jié)目文件時(shí),通常在每個(gè)存儲服務(wù)器中各存放整備的一部分節(jié)目文件,若有某一存儲服務(wù)器出現(xiàn)故障,就不能及時(shí)提供整備節(jié)目文件,會(huì)影響到正常的播出任務(wù)。
技術(shù)實(shí)現(xiàn)要素:
本申請實(shí)施例中提供了一種節(jié)目文件的整備方法、裝置及系統(tǒng),能夠解決現(xiàn)有技術(shù)中的整備方法中在某一存儲服務(wù)器出現(xiàn)故障時(shí),影響正常的節(jié)目整備的問題。
根據(jù)本申請實(shí)施例的一個(gè)方面,提供了一種節(jié)目文件的整備方法,包括:從媒資系統(tǒng)讀取節(jié)目文件;將該節(jié)目文件分別寫入第一存儲陣列和第二存儲陣列,其中,該第一存儲陣列和第二存儲陣列互為鏡像;該第一存儲陣列和該第二存儲陣列均包括一個(gè)或多個(gè)存儲服務(wù)器;確定該節(jié)目文件分別在該第一存儲陣列的第一任務(wù)標(biāo)識和第一任務(wù)狀態(tài),以及該第二存儲陣列中的第二任務(wù)標(biāo)識和第二任務(wù)狀態(tài);其中,該任務(wù)標(biāo)識用于標(biāo)識存儲陣列有無該節(jié)目文件對應(yīng)的任務(wù),該任務(wù)狀態(tài)用于標(biāo)識存儲陣列執(zhí)行該節(jié)目文件對應(yīng)的任務(wù)的狀態(tài);當(dāng)根據(jù)該節(jié)目文件分別在該第一存儲陣列的第一任務(wù)標(biāo)識和第一任務(wù)狀態(tài),以及該第二存儲陣列中的第二任務(wù)標(biāo)識和第二任務(wù)狀態(tài),確定該節(jié)目文件在該第一存儲陣列和該第二存儲陣列整備成功時(shí),確定該節(jié)目文件整備完成。
根據(jù)本申請實(shí)施例的另一個(gè)方面,還提供了一種節(jié)目文件的整備裝置,包括:第一讀取模塊,用于從媒資系統(tǒng)讀取節(jié)目文件;第一寫入模塊,用于將該節(jié)目文件分別寫入第一存儲陣列和第二存儲陣列,其中,該第一存儲陣列和第二存儲陣列互為鏡像;該第一存儲陣列和該第二存儲陣列均包括一個(gè)或多個(gè)存儲服務(wù)器;第一確定模塊,用于確定該節(jié)目文件分別在該第一存儲陣列的第一任務(wù)標(biāo)識和第一任務(wù)狀態(tài),以及該第二存儲陣列中的第二任務(wù)標(biāo)識和第二任務(wù)狀態(tài);其中,該任務(wù)標(biāo)識用于標(biāo)識存儲陣列有無該節(jié)目文件對應(yīng)的任務(wù),該任務(wù)狀態(tài)用于標(biāo)識存儲陣列執(zhí)行該節(jié)目文件對應(yīng)的任務(wù)的狀態(tài);第二確定模塊,用于在根據(jù)該節(jié)目文件分別在該第一存儲陣列的第一任務(wù)標(biāo)識和第一任務(wù)狀態(tài),以及該第二存儲陣列中的第二任務(wù)標(biāo)識和第二任務(wù)狀態(tài)確定該節(jié)目文件在該第一存儲陣列和該第二存儲陣列整備成功時(shí),確定該節(jié)目文件整備完成。
根據(jù)本申請的再一個(gè)方面,還提供了一種節(jié)目文件的整備系統(tǒng),包括:二級存儲系統(tǒng),用于接收并存儲來自媒資系統(tǒng)的節(jié)目文件;該二級存儲系統(tǒng)包括互為鏡像的第一存儲陣列和第二存儲陣列;三級存儲系統(tǒng),用于接收并存儲來自該二級存儲系統(tǒng)的節(jié)目文件;該三級存儲系統(tǒng)包括多個(gè)視頻服務(wù)器集群,各視頻服務(wù)器集群包括互為鏡像的第一視頻服務(wù)器和第二視頻服務(wù)器。
采用本申請實(shí)施例中提供的節(jié)目文件的整備方法、裝置及系統(tǒng),將從媒資系統(tǒng)中讀取到的節(jié)目文件存儲至互為鏡像的第一存儲陣列和第二存儲陣列,并根據(jù)該節(jié)目文件分別在該第一存儲陣列的第一任務(wù)標(biāo)識和第一任務(wù)狀態(tài),以及該第二存儲陣列中的第二任務(wù)標(biāo)識和第二任務(wù)狀態(tài),確定該節(jié)目文件在該第一存儲陣列和該第二存儲陣列整備成功時(shí),確定該節(jié)目文件整備完成;由于在節(jié)目整備時(shí),分別將節(jié)目文件存儲至不同的兩個(gè)存儲陣列,因此,在某一存儲陣列出現(xiàn)故障時(shí),可以從另一存儲陣列獲取到該節(jié)目文件,從而能夠及時(shí)獲取該節(jié)目文件,減少對節(jié)目正常播出的影響。
附圖說明
此處所說明的附圖用來提供對本申請的進(jìn)一步理解,構(gòu)成本申請的一部分,本申請的示意性實(shí)施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當(dāng)限定。在附圖中:
圖1示出了根據(jù)本申請實(shí)施例的節(jié)目文件的整備系統(tǒng)的系統(tǒng)框圖;
圖2示出了本申請實(shí)施例一中的節(jié)目整備方法的流程圖;
圖3示出了本申請實(shí)施例中的緩沖區(qū)的操作邏輯圖;
圖4中示出了根據(jù)本申請實(shí)施例二的節(jié)目文件的整備裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
在實(shí)現(xiàn)本申請的過程中,發(fā)明人發(fā)現(xiàn),在現(xiàn)有技術(shù)中,在接收到來自媒資系統(tǒng)的節(jié)目文件時(shí),通常在每個(gè)存儲服務(wù)器中各存放整備的一部分節(jié)目文件,若有某一存儲服務(wù)器出現(xiàn)故障,就不能及時(shí)提供整備節(jié)目文件,會(huì)影響到正常的播出任務(wù)。
為解決上述問題,本申請?zhí)峁┝艘环N節(jié)目文件的整備方法、裝置及系統(tǒng),將從媒資系統(tǒng)中讀取到的節(jié)目文件存儲至互為鏡像的第一存儲陣列和第二存儲陣列,并根據(jù)該節(jié)目文件分別在該第一存儲陣列的第一任務(wù)標(biāo)識和第一任務(wù)狀態(tài),以及該第二存儲陣列中的第二任務(wù)標(biāo)識和第二任務(wù)狀態(tài),確定該節(jié)目文件在該第一存儲陣列和該第二存儲陣列整備成功時(shí),確定該節(jié)目文件整備完成;由于在節(jié)目整備時(shí),分別將節(jié)目文件存儲至不同的兩個(gè)存儲陣列,因此,在某一存儲陣列出現(xiàn)故障時(shí),可以從另一存儲陣列獲取到該節(jié)目文件,從而能夠及時(shí)獲取該節(jié)目文件,減少對節(jié)目正常播出的影響。同時(shí),鏡像的二級存儲作為三級整備的源存儲,可以分擔(dān)讀帶寬的壓力。
為了使本申請實(shí)施例中的技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖對本申請的示例性實(shí)施例進(jìn)行進(jìn)一步詳細(xì)的說明,顯然,所描述的實(shí)施例僅是本申請的一部分實(shí)施例,而不是所有實(shí)施例的窮舉。需要說明的是,在不沖突的情況下,本申請中的實(shí)施例及實(shí)施例中的特征可以相互組合。
實(shí)施例一
圖1示出了根據(jù)本申請實(shí)施例的節(jié)目文件的整備系統(tǒng)100的系統(tǒng)框圖。
如圖1所示,根據(jù)本申請實(shí)施例一的節(jié)目文件的整備系統(tǒng)100包括:二級存儲系統(tǒng)102,用于接收并存儲來自媒資系統(tǒng)101的節(jié)目文件;該二級存儲系統(tǒng)102包括互為鏡像的第一存儲陣列102a和第二存儲陣列102b;三級存儲系統(tǒng)103,用于接收并存儲來自該二級存儲系統(tǒng)102的節(jié)目文件;該三級存儲系統(tǒng)包括兩個(gè)視頻服務(wù)器集群103a,103b,視頻服務(wù)器集群103a包括互為鏡像的第一視頻服務(wù)器103a1和第二視頻服務(wù)器103a2;視頻服務(wù)器集群103b包括互為鏡像的第一視頻服務(wù)器103b1和第二視頻服務(wù)器103b2。
在具體實(shí)施時(shí),三級存儲系統(tǒng)為了支持多個(gè)頻道播出可以分為多個(gè)視頻服務(wù)器集群,每個(gè)視頻服務(wù)器集群分別存儲不同頻道的節(jié)目文件。在具體實(shí)施時(shí),圖1所示的兩組集群可以承擔(dān)20個(gè)頻道的節(jié)目播出,即,每組承擔(dān)10個(gè)頻道的播出,每個(gè)集群內(nèi)部包含主視頻服務(wù)器和備視頻服務(wù)器,主、備視頻服務(wù)器采用鏡像的方式。在具體實(shí)施時(shí),也可以設(shè)置更多的集群,或者各集群存儲不同數(shù)量的頻道的節(jié)目文件,本申請均不作限制。
在具體實(shí)施時(shí),節(jié)目文件的整備系統(tǒng)100還可以包括:校驗(yàn)?zāi)K,用于對來自媒資系統(tǒng)的節(jié)目文件進(jìn)行MD5校驗(yàn);以及對來自二級存儲系統(tǒng)的節(jié)目文件進(jìn)行MD5校驗(yàn)。
下面將結(jié)合圖1所示的節(jié)目文件的整備系統(tǒng)對根據(jù)本申請實(shí)施例一的節(jié)目整備方法進(jìn)行詳細(xì)介紹。
圖2示出了本申請實(shí)施例一中的節(jié)目整備方法的流程圖。節(jié)目文件在各級存儲的遷移和審核流程可分為二級整備、三級整備二個(gè)階段。二級整備階段是指節(jié)目文件首先從例如媒資系統(tǒng)的外系統(tǒng)經(jīng)過遷移到達(dá)二級存儲的過程。三級整備階段是指在二級存儲中的節(jié)目文件經(jīng)過審核(人工和MD5校驗(yàn))通過后執(zhí)行遷移任務(wù)到達(dá)視頻服務(wù)器的過程。
如圖2所示,根據(jù)本申請實(shí)施例一中的節(jié)目整備方法包括以下步驟:
S201,從媒資系統(tǒng)讀取節(jié)目文件。
在具體實(shí)施時(shí),可以設(shè)置一專用讀線程來從媒資系統(tǒng)讀取節(jié)目文件。
S202,將所述節(jié)目文件劃分為設(shè)定大小的數(shù)據(jù)塊,并分別寫入緩沖區(qū)的第一緩存隊(duì)列和第二緩存隊(duì)列中;其中,第一緩存隊(duì)列對應(yīng)于第一存儲陣列,第二緩存隊(duì)列對應(yīng)的于第二緩存隊(duì)列。
節(jié)目文件由媒資系統(tǒng)遷入二級存儲的過程中,本申請中的方案對于源節(jié)目文件只讀取一次并緩存。
在具體實(shí)施時(shí),該設(shè)定大小可以是例如4096Byte等的數(shù)據(jù)大小。
在具體實(shí)施時(shí),讀線程可以將節(jié)目文件劃分為設(shè)定大小的數(shù)據(jù)塊,再順序讀入緩沖區(qū)buffer的兩個(gè)緩存序列中。
具體地,可以在節(jié)目文件存儲至第一存儲陣列和第二存儲陣列之后,再做MD5校驗(yàn)。也可以在存儲至第一存儲陣列和第二存儲陣列之前,提前對緩存的文件執(zhí)行MD5校驗(yàn),從而省去重新讀取文件的時(shí)間。
具體地,當(dāng)提前執(zhí)行MD5校驗(yàn)時(shí),該緩沖區(qū)除第一緩存隊(duì)列和第二緩存隊(duì)列之外,還可以包括對應(yīng)于MD5校驗(yàn)?zāi)K的第三個(gè)緩存隊(duì)列。
在具體實(shí)施時(shí),緩沖區(qū)的操作邏輯可以如圖3所示。
如圖3所示,若緩沖區(qū)buffer隊(duì)列信號狀態(tài)為讀線程有信號或讀線程等待超時(shí),讀線程將buffer中的數(shù)據(jù)塊推送至到三個(gè)buffer隊(duì)列中,同時(shí)buffer隊(duì)列狀態(tài)變?yōu)闊o信號,推送完成后讀線程將buffer隊(duì)列置為寫線程、MD5校驗(yàn)線程有信號。
當(dāng)buffer隊(duì)列寫線程、MD5校驗(yàn)線程有信號時(shí),寫線程、MD5校驗(yàn)線程將buffer隊(duì)列中第一緩沖隊(duì)列中的數(shù)據(jù)拉pop出來,同時(shí)buffer隊(duì)列狀態(tài)變?yōu)闊o信號,Pop完成后將buffer隊(duì)列置為讀線程有信號,并將Pop的buffer寫入數(shù)據(jù)。
在具體實(shí)施時(shí),如果緩存中的節(jié)目文件未通過MD5校驗(yàn),則可以重新執(zhí)行S201,以向媒資系統(tǒng)請求該節(jié)目文件,重新進(jìn)行二級整備。如果通過MD5校驗(yàn),則可以執(zhí)行S203。
S203,分別將第一緩存隊(duì)列中的數(shù)據(jù)塊順序?qū)懭氲谝淮鎯﹃嚵?、將第二緩存?duì)列中的數(shù)據(jù)順序?qū)懭氲诙鎯﹃嚵小?/p>
S204,根據(jù)節(jié)目文件在第一存儲陣列和第二存儲陣列中的任務(wù)情況,分別為該節(jié)目文件設(shè)置任務(wù)標(biāo)識和任務(wù)狀態(tài);其中,任務(wù)標(biāo)識包括有任務(wù)和無任務(wù);任務(wù)狀態(tài)包括成功、失敗和執(zhí)行中。
在具體實(shí)施時(shí),任務(wù)標(biāo)識和任務(wù)狀態(tài)的枚舉值可以如下表所示。
在上表中,A1表示某一節(jié)目文件在第一存儲陣列的任務(wù)標(biāo)識,A2表示該節(jié)目文件在第一存儲陣列的任務(wù)狀態(tài);B1表示某一節(jié)目文件在第二存儲陣列的任務(wù)標(biāo)識,B2表示該節(jié)目文件在第二存儲陣列的任務(wù)狀態(tài)。當(dāng)A1或B1為0時(shí),表示該節(jié)目文件在相應(yīng)的存儲陣列中在預(yù)定時(shí)間內(nèi)有過遷移任務(wù),即,寫入任務(wù);當(dāng)A1或B1為1時(shí),表示該節(jié)目文件在相應(yīng)的存儲陣列中在預(yù)定時(shí)間內(nèi)沒有過遷移任務(wù);當(dāng)A2或B2為0時(shí),表示該節(jié)目文件在相應(yīng)的存儲陣列中存儲成功;當(dāng)A2或B2為1時(shí),表示該節(jié)目文件在相應(yīng)的存儲陣列中存儲失??;當(dāng)A2或B2為2時(shí),表示該節(jié)目文件在相應(yīng)的存儲陣列中正在執(zhí)行遷移任務(wù)???cè)蝿?wù)狀態(tài)是根據(jù)前面的A1、B1、A2、B2的值確定的,表明該節(jié)目文件的二級整備狀態(tài)。
S205,根據(jù)節(jié)目文件分別在第一存儲陣列的第一任務(wù)標(biāo)識和第一任務(wù)狀態(tài),以及第二存儲陣列中的第二任務(wù)標(biāo)識和第二任務(wù)狀態(tài)確定節(jié)目文件整備成完成。
在具體實(shí)施時(shí),通常可能有以下幾種情況:
1).第一存儲陣列A有任務(wù)且任務(wù)成功時(shí),第二存儲陣列B有任務(wù)且任務(wù)成功。
狀態(tài)值標(biāo)記為:A1=0;B1=0;A2=0;B2=0;總?cè)蝿?wù)狀態(tài)=0;此時(shí)代表二級整備任務(wù)完成。
2).A有任務(wù)且任務(wù)失敗時(shí),B有任務(wù)且任務(wù)失敗。
狀態(tài)值標(biāo)記為為:A1=0;B1=0;A2=1;B2=1;總?cè)蝿?wù)狀態(tài)=1。此時(shí)代表二級整備任務(wù)失敗,需重新發(fā)起二級整備任務(wù)。
3).當(dāng)A、B均有任務(wù)且只有一方任務(wù)失敗。
例如:A成功B失敗,此時(shí)狀態(tài)值標(biāo)記為:A1=0;B1=0;A2=0;B2=1;總?cè)蝿?wù)狀態(tài)=0;此時(shí)代表二級整備任務(wù)完成,但存儲B中的文件整備任務(wù)失敗,可以將文件從存儲A遷移至存儲B。
發(fā)起的新任務(wù)執(zhí)行成功的狀態(tài)標(biāo)識值為:A1=1;B1=0;A2=0;B2=0;總?cè)蝿?wù)狀態(tài)=0.此時(shí)文件在存儲B的整備任務(wù)完成。
在具體實(shí)施時(shí),還可以進(jìn)一步實(shí)現(xiàn)第一存儲陣列或第二存儲陣列的故障恢復(fù)機(jī)制。
仍然以上述的A、B存儲陣列為例。當(dāng)A故障后,來自緩沖區(qū)的節(jié)目文件僅能夠遷移至B,此時(shí)可以記錄下僅有B中有文件。當(dāng)A從故障中恢復(fù)后,可以使用文件比對工具,對A、B中存儲的節(jié)目文件進(jìn)行差異對比,列出A中缺失的文件,此時(shí)可以選擇業(yè)務(wù)閑置期間,發(fā)起文件同步任務(wù),將A中缺失的文件從B遷入,從而恢復(fù)A、B存儲中文件的一致性。
S206,當(dāng)確定二級整備完成后,進(jìn)行三級整備。
上述步驟S201至S205為二級整備。
在具體實(shí)施時(shí),三級整備是指將節(jié)目文件從二級存儲陣列遷移到視頻服務(wù)器的過程。節(jié)目文件在做三級整備前,可以在二級存儲陣列中進(jìn)行人工復(fù)審。人工復(fù)審是指對于將要遷移到視頻服務(wù)器的節(jié)目文件進(jìn)行人工再檢查的過程,通常根據(jù)節(jié)目單對節(jié)目文件執(zhí)行審核任務(wù),鑒于任務(wù)量和節(jié)約時(shí)間的考慮,人工復(fù)審?fù)ǔ8鶕?jù)頻道策略對其中一個(gè)存儲陣列中存儲的節(jié)目文件進(jìn)行審核。
對于某一存儲陣列A的節(jié)目文件執(zhí)行人工復(fù)審后,標(biāo)記該節(jié)目文件為審核通過,后續(xù)三級整備過程中可以直接對該節(jié)目文件執(zhí)行遷移動(dòng)作。
如果節(jié)目文件未通過人工復(fù)審,則繼續(xù)審核另一存儲陣列B中存儲的同一節(jié)目文件,如果也未通過審核,則該節(jié)目審核失??;若另一存儲陣列中的節(jié)目文件審核通過則標(biāo)記該存儲陣列中的節(jié)目文件為審核通過,并將該節(jié)目文件從存儲陣列B遷移至A。
人工復(fù)審?fù)ㄟ^后,文件便可根據(jù)系統(tǒng)設(shè)定的策略執(zhí)行三級整備。
在具體實(shí)施時(shí),三級整備可以包括:從第一存儲陣列或第二存儲陣列獲取節(jié)目文件;根據(jù)節(jié)目單中節(jié)目文件對應(yīng)的播出頻道,確定存儲節(jié)目文件的視頻服務(wù)器集群;其中,視頻服務(wù)器集群包括第一視頻服務(wù)器和第二視頻服務(wù)器,第一視頻服務(wù)器和第二視頻服務(wù)器互為鏡像;將節(jié)目文件存儲至視頻服務(wù)器集群中的第一視頻服務(wù)器和第二視頻服務(wù)器。
在具體實(shí)施時(shí),還可以進(jìn)一步在將節(jié)目文件存儲至視頻服務(wù)器集群中的第一視頻服務(wù)器和第二視頻服務(wù)器之前,對節(jié)目文件執(zhí)行進(jìn)行第二MD5校驗(yàn);若第二MD5校驗(yàn)未通過,則對另一存儲陣列中的節(jié)目文件執(zhí)行第三MD5校驗(yàn)。如果第二MD5校驗(yàn)或第三MD5校驗(yàn)通過,則將節(jié)目文件存儲至視頻服務(wù)器集群中的第一視頻服務(wù)器和第二視頻服務(wù)器;如果第三MD5校驗(yàn)也失敗,則該節(jié)目文件返回人工復(fù)審階段,并重新對另一存儲陣列中存儲的同一節(jié)目文件做人工審,審核成功后重新執(zhí)行三級整備任務(wù)。
在具體實(shí)施時(shí),還可以進(jìn)一步實(shí)現(xiàn)第一視頻服務(wù)器或第二視頻服務(wù)器的故障恢復(fù)機(jī)制。
仍然以上述的視頻服務(wù)器103a1、103a2為例。當(dāng)103a1故障后,來自二級存儲系統(tǒng)的節(jié)目文件僅能夠遷移至103a2,此時(shí)可以記錄下僅有103a2中有文件。當(dāng)103a1從故障中恢復(fù)后,可以使用文件比對工具,對103a1、103a2中存儲的節(jié)目文件進(jìn)行差異對比,列出103a1中缺失的文件,此時(shí)可以選擇業(yè)務(wù)閑置期間,發(fā)起文件同步任務(wù),將103a1中缺失的文件從103a2遷入,從而恢復(fù)103a1、103a2存儲中文件的一致性。
采用本申請實(shí)施例中提供的節(jié)目文件的整備方法,將從媒資系統(tǒng)中讀取到的節(jié)目文件存儲至互為鏡像的第一存儲陣列和第二存儲陣列,并根據(jù)該節(jié)目文件分別在該第一存儲陣列的第一任務(wù)標(biāo)識和第一任務(wù)狀態(tài),以及該第二存儲陣列中的第二任務(wù)標(biāo)識和第二任務(wù)狀態(tài),確定該節(jié)目文件在該第一存儲陣列和該第二存儲陣列整備成功時(shí),確定該節(jié)目文件整備完成;由于在節(jié)目整備時(shí),分別將節(jié)目文件存儲至不同的兩個(gè)存儲陣列,因此,在某一存儲陣列出現(xiàn)故障時(shí),可以從另一存儲陣列獲取到該節(jié)目文件,從而能夠及時(shí)獲取該節(jié)目文件,減少對節(jié)目正常播出的影響。同時(shí),鏡像的二級存儲作為三級整備的源存儲,可以分擔(dān)讀帶寬的壓力。
基于同一發(fā)明構(gòu)思,本申請實(shí)施例中還提供了一種節(jié)目文件的整備裝置,由于該裝置解決問題的原理與本申請實(shí)施例一所提供的方法相似,因此該裝置的實(shí)施可以參見方法的實(shí)施,重復(fù)之處不再贅述。
實(shí)施例二
圖4中示出了根據(jù)本申請實(shí)施例二的節(jié)目文件的整備裝置的結(jié)構(gòu)示意圖。
如圖4所示,根據(jù)根據(jù)本申請實(shí)施例二的節(jié)目文件的整備裝置400包括:第一讀取模塊401,用于從媒資系統(tǒng)讀取節(jié)目文件;第一寫入模塊402,用于將該節(jié)目文件分別寫入第一存儲陣列和第二存儲陣列,其中,該第一存儲陣列和第二存儲陣列互為鏡像;該第一存儲陣列和該第二存儲陣列均包括一個(gè)或多個(gè)存儲服務(wù)器;第一確定模塊403,用于確定該節(jié)目文件分別在該第一存儲陣列的第一任務(wù)標(biāo)識和第一任務(wù)狀態(tài),以及該第二存儲陣列中的第二任務(wù)標(biāo)識和第二任務(wù)狀態(tài);其中,該任務(wù)標(biāo)識用于標(biāo)識存儲陣列有無該節(jié)目文件對應(yīng)的任務(wù),該任務(wù)狀態(tài)用于標(biāo)識存儲陣列執(zhí)行該節(jié)目文件對應(yīng)的任務(wù)的狀態(tài);第二確定模塊404,用于在根據(jù)該節(jié)目文件分別在該第一存儲陣列的第一任務(wù)標(biāo)識和第一任務(wù)狀態(tài),以及該第二存儲陣列中的第二任務(wù)標(biāo)識和第二任務(wù)狀態(tài)確定該節(jié)目文件在該第一存儲陣列和該第二存儲陣列整備成功時(shí),確定該節(jié)目文件整備完成。
在具體實(shí)施時(shí),第一寫入模塊,具體可以包括:第一寫入子模塊,用于將所述節(jié)目文件劃分為設(shè)定大小的數(shù)據(jù)塊,并分別寫入緩沖區(qū)的第一緩存隊(duì)列和第二緩存隊(duì)列中;其中,所述第一緩存隊(duì)列對應(yīng)于第一存儲陣列,所述第二緩存隊(duì)列對應(yīng)的于第二緩存隊(duì)列;第二寫入子模塊,用于分別將第一緩存隊(duì)列中的數(shù)據(jù)塊順序?qū)懭氲谝淮鎯﹃嚵?、將第二緩存?duì)列中的數(shù)據(jù)順序?qū)懭氲诙鎯﹃嚵小?/p>
在具體實(shí)施時(shí),緩沖區(qū)還可以包括第三緩存隊(duì)列,所述第三緩存隊(duì)列對應(yīng)MD5校驗(yàn)?zāi)K;節(jié)目文件的整備裝置400還可以包括:第一校驗(yàn)?zāi)K,用于將該第三緩存隊(duì)列中的數(shù)據(jù)塊寫入MD5校驗(yàn)?zāi)K,并執(zhí)行第一MD5校驗(yàn);第三確定模塊,用于確認(rèn)該節(jié)目文件第一MD5校驗(yàn)通過。
在具體實(shí)施時(shí),節(jié)目文件的整備裝置400還可以包括:設(shè)置模塊,用于根據(jù)該節(jié)目文件在該第一存儲陣列和第二存儲陣列中的任務(wù)情況,分別為該節(jié)目文件設(shè)置任務(wù)標(biāo)識和任務(wù)狀態(tài);其中,該任務(wù)標(biāo)識包括有任務(wù)和無任務(wù);該任務(wù)狀態(tài)包括成功、失敗和執(zhí)行中。
在具體實(shí)施時(shí),第二確定模塊,具體可以用于在該第一存儲陣列有任務(wù)且任務(wù)成功時(shí),確定該節(jié)目文件在該第一存儲陣列中整備成功;或者在該第二存儲陣列有任務(wù)且任務(wù)成功時(shí),確定該節(jié)目文件在該第二存儲陣列中整備成功。
在具體實(shí)施時(shí),節(jié)目文件的整備裝置400,還可以包括:拷貝模塊,用于在該第一存儲陣列無任務(wù)或任務(wù)失敗、并且該第二存儲陣列有任務(wù)且任務(wù)成功時(shí),將該節(jié)目文件從第二存儲陣列拷貝至該第一存儲陣列;或者當(dāng)該第一存儲陣列有任務(wù)且任務(wù)成功、并且該第二存儲陣列無任務(wù)或任務(wù)失敗時(shí),將該節(jié)目文件從第一存儲陣列拷貝至該第二存儲陣列。
在具體實(shí)施時(shí),節(jié)目文件的整備裝置400,還可以包括:第二讀取模塊,用于從該第一存儲陣列或該第二存儲陣列獲取該節(jié)目文件;第四確定模塊,用于根據(jù)節(jié)目單中該節(jié)目文件對應(yīng)的播出頻道,確定存儲該節(jié)目文件的視頻服務(wù)器集群;其中,該視頻服務(wù)器集群包括第一視頻服務(wù)器和第二視頻服務(wù)器,該第一視頻服務(wù)器和該第二視頻服務(wù)器互為鏡像;第三寫入模塊,用于將該節(jié)目文件存儲至該視頻服務(wù)器集群中的第一視頻服務(wù)器和第二視頻服務(wù)器。
在具體實(shí)施時(shí),節(jié)目文件的整備裝置400,還可以包括:第二校驗(yàn)?zāi)K,用于對該第一存儲陣列或該第二存儲陣列中的該節(jié)目文件進(jìn)行第二MD5校驗(yàn);并在該第二MD5校驗(yàn)未通過時(shí),對另一存儲陣列中的該節(jié)目文件執(zhí)行第三MD5校驗(yàn);第五確定模塊,用于確認(rèn)該第二MD5校驗(yàn)或第三MD5校驗(yàn)通過。
采用本申請實(shí)施例中提供的節(jié)目文件的整備裝置,將從媒資系統(tǒng)中讀取到的節(jié)目文件存儲至互為鏡像的第一存儲陣列和第二存儲陣列,并根據(jù)該節(jié)目文件分別在該第一存儲陣列的第一任務(wù)標(biāo)識和第一任務(wù)狀態(tài),以及該第二存儲陣列中的第二任務(wù)標(biāo)識和第二任務(wù)狀態(tài),確定該節(jié)目文件在該第一存儲陣列和該第二存儲陣列整備成功時(shí),確定該節(jié)目文件整備完成;由于在節(jié)目整備時(shí),分別將節(jié)目文件存儲至不同的兩個(gè)存儲陣列,因此,在某一存儲陣列出現(xiàn)故障時(shí),可以從另一存儲陣列獲取到該節(jié)目文件,從而能夠及時(shí)獲取該節(jié)目文件,減少對節(jié)目正常播出的影響。同時(shí),鏡像的二級存儲作為三級整備的源存儲,可以分擔(dān)讀帶寬的壓力。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本申請可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本申請是參照根據(jù)本申請實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲器中,使得存儲在該計(jì)算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
盡管已描述了本申請的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本申請范圍的所有變更和修改。
顯然,本領(lǐng)域的技術(shù)人員可以對本申請進(jìn)行各種改動(dòng)和變型而不脫離本申請的精神和范圍。這樣,倘若本申請的這些修改和變型屬于本申請權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本申請也意圖包含這些改動(dòng)和變型在內(nèi)。