欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種共享文件系統(tǒng)多文件快速聚合和讀取的方法

文檔序號(hào):7818421閱讀:259來(lái)源:國(guó)知局
一種共享文件系統(tǒng)多文件快速聚合和讀取的方法
【專(zhuān)利摘要】本發(fā)明涉及一種共享文件系統(tǒng)多文件快速聚合和讀取的方法,包括:多文件快速聚合;打開(kāi)文件;獲取元數(shù)據(jù);讀取或修改文件;關(guān)閉文件?!岸辔募焖倬酆稀卑ǎ簷z測(cè)聚合子文件有效性;檢測(cè)聚合是否為追加聚合;創(chuàng)建聚合文件;建立聚合文件與聚合子文件映射關(guān)系;處理聚合子文件?!矮@取元數(shù)據(jù)的步驟”包括:開(kāi)辟存儲(chǔ)空間;選擇處理;檢測(cè)獲取元數(shù)據(jù)的文件是否為聚合文件;獲取聚合文件與聚合子文件映射關(guān)系;獲取元數(shù)據(jù)。本發(fā)明通過(guò)快速聚合方法將多個(gè)客戶(hù)端產(chǎn)生的文件在短時(shí)間內(nèi)快速聚合成一個(gè)大文件或?qū)⒍鄠€(gè)文件快速追加聚合到已存在大文件后面,在聚合過(guò)程中不產(chǎn)生文件拷貝工作,快速聚合的文件和使用物理聚合方法后生成的文件完全相同。
【專(zhuān)利說(shuō)明】一種共享文件系統(tǒng)多文件快速聚合和讀取的方法

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種共享文件系統(tǒng)多文件快速聚合和讀取的方法,是一種應(yīng)用于共享文件系統(tǒng)視音頻領(lǐng)域分布式轉(zhuǎn)碼、分布式打包等集群計(jì)算產(chǎn)生多個(gè)文件進(jìn)行快速聚合的方法,是一種適用于廣電應(yīng)用領(lǐng)域的共享文件系統(tǒng)下的多文件快速聚合的方法。

【背景技術(shù)】
[0002]目前,通用的共享文件系統(tǒng)由元數(shù)據(jù)服務(wù)器(MDS)、共享存儲(chǔ)和多客戶(hù)端通過(guò)LAN網(wǎng)絡(luò)和SAN網(wǎng)絡(luò)組成,元數(shù)據(jù)服務(wù)器和客戶(hù)端都可以通過(guò)FC或ISCSI協(xié)議直接訪問(wèn)共享存儲(chǔ),分別為FC-SAN和IP-SAN架構(gòu)。SAN網(wǎng)絡(luò)由于是光纖傳輸,帶寬、容量大、速度快,常用來(lái)傳輸數(shù)據(jù)量巨大的文件,如:視頻文件。
[0003]SAN共享文件系統(tǒng)中的元數(shù)據(jù)是描述數(shù)據(jù)組織方法的數(shù)據(jù)結(jié)構(gòu),元數(shù)據(jù)主要記錄了 SAN共享文件系統(tǒng)中該文件在塊設(shè)備上的劃分方法、存放位置以及文件的一些相關(guān)屬性等。SAN共享文件系統(tǒng)通過(guò)元數(shù)據(jù)將連續(xù)的塊設(shè)備存儲(chǔ)組織成文件結(jié)構(gòu),元數(shù)據(jù)的大小與文件數(shù)據(jù)相比很小,所以不需要很高的傳輸帶寬,所以用LAN網(wǎng)絡(luò)傳輸。SAN共享文件系統(tǒng)上的元數(shù)據(jù)信息由元數(shù)據(jù)服務(wù)器統(tǒng)一管理??蛻?hù)端在LAN網(wǎng)絡(luò)下通過(guò)tcp/ip協(xié)議與元數(shù)據(jù)服務(wù)器相連并通訊。
[0004]SAN文件系統(tǒng)已廣泛應(yīng)用于廣播電視節(jié)目的后期制作中,包括其中的一個(gè)重要應(yīng)用場(chǎng)景:多個(gè)客戶(hù)端可以同時(shí)對(duì)SAN共享文件系統(tǒng)中的文件進(jìn)行存取操作,比如轉(zhuǎn)碼系統(tǒng)、打包系統(tǒng)。該系統(tǒng)是節(jié)目制作流程中的必經(jīng)環(huán)節(jié),同時(shí)也是計(jì)算高度密集型的應(yīng)用,尤其面對(duì)當(dāng)前的高清制作,需要耗費(fèi)大量的計(jì)算時(shí)間,影響節(jié)目的制作效率。為此,利用分布式計(jì)算的分布式打包/轉(zhuǎn)碼技術(shù)應(yīng)運(yùn)而生,該技術(shù)使用SAN共享文件系統(tǒng)進(jìn)行集群計(jì)算應(yīng)用,與單機(jī)運(yùn)算相比大幅縮短了運(yùn)算時(shí)間。但該技術(shù)目前普遍存在一點(diǎn)不足,即集群計(jì)算結(jié)束后,每個(gè)客戶(hù)端都會(huì)在共享存儲(chǔ)上生成一個(gè)新的文件,這時(shí)需要在某個(gè)客戶(hù)端上分別讀取每個(gè)文件到客戶(hù)端本地,然后在本地客戶(hù)端對(duì)這些文件進(jìn)行物理聚合,生成新的聚合大文件,最后把聚合生成的大文件再寫(xiě)到共享存儲(chǔ)上,供其他客戶(hù)端進(jìn)行訪問(wèn)。這一使用分布式技術(shù)帶來(lái)的額外的物理聚合的過(guò)程需要消耗很長(zhǎng)的聚合時(shí)間,而且一旦進(jìn)行集群計(jì)算的節(jié)點(diǎn)非常多,就會(huì)產(chǎn)生大量的待聚合的文件,從而進(jìn)行聚合所耗費(fèi)的時(shí)間也就越長(zhǎng)。同時(shí),如果在使用此種物理聚合方法,將會(huì)占用非常長(zhǎng)的聚合時(shí)間,使得整個(gè)SAN網(wǎng)絡(luò)運(yùn)行變慢,長(zhǎng)時(shí)間降低了元數(shù)據(jù)服務(wù)器對(duì)外提供服務(wù)的存儲(chǔ)帶寬。不僅如此,物理聚合需要對(duì)每個(gè)文件進(jìn)行一次讀操作,同時(shí)對(duì)新生成的物理聚合文件進(jìn)行一次到共享存儲(chǔ)(通常是磁盤(pán)陣列)的寫(xiě)操作,這些文件的讀寫(xiě)操作也大量占用了磁盤(pán)陣列的輸入輸出能力和SAN網(wǎng)絡(luò)的傳輸帶寬。


【發(fā)明內(nèi)容】

[0005]克服現(xiàn)有技術(shù)的問(wèn)題,本發(fā)明的目的是提出一種共享文件系統(tǒng)多文件快速聚合和讀取的方法。所述的方法是在集群計(jì)算結(jié)束后,通過(guò)特定的聚合方法將多個(gè)客戶(hù)端產(chǎn)生的文件在短時(shí)間內(nèi)快速聚合成一個(gè)大文件或?qū)⒍鄠€(gè)文件快速追加聚合到已存在大文件后面,在聚合過(guò)程中不產(chǎn)生文件實(shí)際內(nèi)容的拷貝工作,同時(shí)對(duì)客戶(hù)端而言,此快速聚合的文件和使用物理聚合方法后生成的文件在讀取和寫(xiě)入時(shí)的操作完全相同,大大縮短了文件聚合占用的時(shí)間。
[0006]本發(fā)明的目的是這樣實(shí)現(xiàn)的:
一種共享文件系統(tǒng)多文件快速聚合方法,所述的方法中所使用的硬件系統(tǒng)包括:多個(gè)客戶(hù)端通過(guò)傳輸大體積文件的高速網(wǎng)絡(luò)與元數(shù)據(jù)服務(wù)器和磁盤(pán)列陣連接,所述的多個(gè)客戶(hù)端同時(shí)還通過(guò)傳輸元數(shù)據(jù)和控制及交互信息的網(wǎng)絡(luò)與元數(shù)據(jù)服務(wù)器連接,所述方法的步驟如下:
生成子文件的步驟:多個(gè)客戶(hù)端按照預(yù)設(shè)的聚合規(guī)則分別執(zhí)行同一處理任務(wù)的不同部分,每部分生成為一個(gè)獨(dú)立的子文件;
多文件快速聚合的步驟:共享文件系統(tǒng)對(duì)需要聚合的的多個(gè)子文件進(jìn)行有效檢查并快速的進(jìn)行“邏輯聚合”,把多個(gè)子文件快速聚合或快速追加聚合成一個(gè)聚合大文件。
[0007]進(jìn)一步的,上述的“多文件快速聚合的步驟”包括以下子步驟:
檢測(cè)聚合子文件有效性的子步驟:文件系統(tǒng)在進(jìn)行文件快速聚合時(shí)檢測(cè)所有需要聚合的子文件有效性以及是否滿(mǎn)足聚合規(guī)則,如果“否”則退出多文件快速聚合步驟,如果“是”則進(jìn)入下一子步驟;
檢測(cè)聚合是否為追加聚合的子步驟:文件系統(tǒng)在進(jìn)行文件快速聚合時(shí)檢測(cè)聚合是否是在原來(lái)聚合文件的基礎(chǔ)上進(jìn)行追加聚合,如果為追加聚合需要檢測(cè)已存在聚合文件是否滿(mǎn)足追加聚合規(guī)則,如果是追加聚合且滿(mǎn)足追加聚合規(guī)則進(jìn)入建立聚合文件與聚合子文件映射關(guān)系的子步驟,否則如果是追加聚合但不滿(mǎn)足追加聚合規(guī)則就退出多文件快速聚合步驟;如果不是追加聚合則進(jìn)入下一子步驟;
創(chuàng)建聚合文件的子步驟:根據(jù)客戶(hù)端請(qǐng)求的聚合文件信息和各子文件屬性信息創(chuàng)建聚合文件,并計(jì)算聚合文件的相關(guān)屬性信息;
建立聚合文件與聚合子文件映射關(guān)系的子步驟:根據(jù)需要聚合的每個(gè)子文件相關(guān)屬性信息,更新聚合文件的相關(guān)屬性信息,建立聚合文件和每個(gè)子文件的映射關(guān)系。
[0008]進(jìn)一步的,上述的多文件快速聚合的步驟還包括處理聚合子文件的子步驟:聚合完成后,對(duì)聚合子文件進(jìn)行處理,使客戶(hù)端不再查看到聚合子文件信息。
[0009]進(jìn)一步的,上述的“生成子文件的步驟”包括如下子步驟:
處理任務(wù)分配的子步驟:將同一處理任務(wù)根據(jù)聚合規(guī)則的的要求拆分成多個(gè)子處理任務(wù),將子任務(wù)分派給不同的客戶(hù)端執(zhí)行;
計(jì)算子文件的子步驟:多個(gè)客戶(hù)端對(duì)分配的子處理任務(wù)執(zhí)行分布式計(jì)算,生成各自對(duì)應(yīng)的子文件;在子文件的封裝過(guò)程中如果子文件長(zhǎng)度不是文件系統(tǒng)塊大小的整數(shù)倍,必要時(shí)對(duì)不足位補(bǔ)空白數(shù)據(jù)。
[0010]進(jìn)一步的,上述共享文件系統(tǒng)中實(shí)現(xiàn)多文件快速聚合的方法,所述的聚合規(guī)則包括子文件的大小為文件系統(tǒng)塊的整數(shù)倍;
進(jìn)一步的,上述共享文件系統(tǒng)中實(shí)現(xiàn)多文件快速聚合的方法,所述的計(jì)算包括編碼格式轉(zhuǎn)換和/或渲染合成;
進(jìn)一步的,上述共享文件系統(tǒng)中實(shí)現(xiàn)多文件快速聚合的方法,所述的分別生成的方式為使用分布式計(jì)算的方式生成; 進(jìn)一步的,上述共享文件系統(tǒng)中實(shí)現(xiàn)多文件快速聚合的方法,如果處理任務(wù)是轉(zhuǎn)碼任務(wù)或者打包任務(wù),生成的目標(biāo)文件的視頻壓縮編碼選用固定碼率的編碼方式;
一種述共享文件系統(tǒng)多文件快速聚合文件的讀取方法,該方法的步驟包括:
打開(kāi)文件的步驟:用于客戶(hù)端向元數(shù)據(jù)服務(wù)器發(fā)出請(qǐng)求,要求打開(kāi)磁盤(pán)陣列中待讀取的文件;
處理元數(shù)據(jù)的步驟:客戶(hù)端根據(jù)待讀取文件的內(nèi)容,向元數(shù)據(jù)服務(wù)器申請(qǐng)獲取待讀取文件所對(duì)應(yīng)的元數(shù)據(jù),客戶(hù)端獲取相應(yīng)元數(shù)據(jù),同時(shí)客戶(hù)端接受分配給自己的機(jī)會(huì)鎖;
讀取文件的步驟:客戶(hù)端獲取元數(shù)據(jù)段,并根據(jù)所獲得的元數(shù)據(jù)段,對(duì)磁盤(pán)陣列發(fā)起讀取文件的塊數(shù)據(jù)請(qǐng)求,以完成該元數(shù)據(jù)段對(duì)應(yīng)塊數(shù)據(jù)讀取操作,循環(huán)的申請(qǐng)?jiān)獢?shù)據(jù)段和讀取元數(shù)據(jù)段對(duì)應(yīng)的塊數(shù)據(jù),直至完成所需數(shù)據(jù)的讀取;
文件關(guān)閉的步驟:客戶(hù)端向元數(shù)據(jù)服務(wù)器發(fā)出要求,關(guān)閉已打開(kāi)的讀取文件句柄,完成本次文件讀取。
[0011]進(jìn)一步的,上述的“處理元數(shù)據(jù)的步驟”中元數(shù)據(jù)服務(wù)器在正常處理客戶(hù)端請(qǐng)求待操作文件的元數(shù)據(jù)外還需要另外檢測(cè)獲取元數(shù)據(jù)的文件是否為聚合文件,包括以下子步驟:
開(kāi)辟存儲(chǔ)空間的子步驟:用于客戶(hù)端在本地內(nèi)存或硬盤(pán)中開(kāi)辟用于存儲(chǔ)元數(shù)據(jù)的存儲(chǔ)空間;
選擇處理的子步驟:用于客戶(hù)端對(duì)元數(shù)據(jù)申請(qǐng)請(qǐng)求選擇是放在后臺(tái)隊(duì)列等待還是實(shí)時(shí)處理,如果是后臺(tái)等待則將元數(shù)據(jù)申請(qǐng)請(qǐng)求放入元數(shù)據(jù)請(qǐng)求隊(duì)列中等待,如果是實(shí)時(shí)處理則進(jìn)入下一子步驟;
檢測(cè)獲取元數(shù)據(jù)的文件是否聚合文件的子步驟:用于元數(shù)據(jù)服務(wù)器檢測(cè)客戶(hù)端發(fā)起獲取元數(shù)據(jù)請(qǐng)求的文件是否為聚合文件,如果“否”則進(jìn)入“獲取元數(shù)據(jù)的子步驟”,如果“是”則進(jìn)入下一子步驟;
獲取聚合文件與聚合子文件映射關(guān)系子步驟:根據(jù)客戶(hù)端請(qǐng)求的聚合文件的元數(shù)據(jù)信息,獲取與之相對(duì)應(yīng)聚合子文件的映射關(guān)系;
獲取元數(shù)據(jù)的子步驟:根據(jù)請(qǐng)求獲取相對(duì)應(yīng)文件的元數(shù)據(jù)返回給客戶(hù)端。
[0012]本發(fā)明產(chǎn)生的有益效果是:本發(fā)明所述的方法,在進(jìn)行集群計(jì)算時(shí),通過(guò)特定的快速聚合方法可以將多個(gè)客戶(hù)端產(chǎn)生的文件在短時(shí)間內(nèi)快速聚合成一個(gè)大文件或?qū)⒍鄠€(gè)文件快速追加聚合到已存在大文件后面,在聚合過(guò)程中不會(huì)產(chǎn)生文件拷貝工作,同時(shí)對(duì)客戶(hù)端而言,此快速聚合的文件和使用物理聚合方法后的文件完全相同。本發(fā)明有效地縮短了共享文件系統(tǒng)應(yīng)用到計(jì)算時(shí)多個(gè)文件的聚合時(shí)間,而且聚合文件數(shù)量越多,效果越加明顯,對(duì)于常見(jiàn)的視音頻處理中的轉(zhuǎn)碼或者打包合成處理,在很大程度上提高了分布式轉(zhuǎn)碼/打包的效率。同時(shí)也提高了集群計(jì)算速度,降低了數(shù)據(jù)存儲(chǔ)帶寬。由于在廣播電視行業(yè)的應(yīng)用中,會(huì)頻繁的使用分布式轉(zhuǎn)碼/分布式打包的操作,本發(fā)明通過(guò)進(jìn)一步提高分布式打包/轉(zhuǎn)碼的效率,帶來(lái)了電視節(jié)目整體制作流程上的效率提升,尤其是對(duì)目前的高清節(jié)目制作意義尤其重大。使得分布式轉(zhuǎn)碼或者打包合成在各子任務(wù)完成后,不必等待漫長(zhǎng)的文件物理合并操作,而是直接幾乎是瞬間完成邏輯合并,并將邏輯合并后的文件提交后續(xù)的審片或者播出使用,滿(mǎn)足了現(xiàn)代傳媒機(jī)構(gòu)第一時(shí)間傳遞信息的需求。

【專(zhuān)利附圖】

【附圖說(shuō)明】
[0013]下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明。
[0014]圖1是發(fā)明實(shí)施例一所述共享文件系統(tǒng)文件快速聚合方法所使用的硬件系統(tǒng)的示意圖;
圖2是發(fā)明實(shí)施例一所述共享文件系統(tǒng)文件快速聚合方法的流程圖。
[0015]圖3是發(fā)明實(shí)施例一所述的讀取聚合文件方法的流程圖。
[0016]圖4是發(fā)明實(shí)施例一所述的處理元數(shù)據(jù)步驟的流程示意圖。

【具體實(shí)施方式】
[0017]實(shí)施例一:
本實(shí)施例是一種共享文件系統(tǒng)多文件快速聚合以及讀取該聚合文件的方法。所述的方法所使用的硬件系統(tǒng)包括:多個(gè)客戶(hù)端(圖1中只畫(huà)出了 3個(gè)客戶(hù)端,在實(shí)際中可以有更多的客戶(hù)端)通過(guò)傳輸視頻文件的SAN網(wǎng)絡(luò)(圖1中粗實(shí)線(xiàn)和雙線(xiàn)表示)與元數(shù)據(jù)服務(wù)器和磁盤(pán)列陣連接,所述的多個(gè)客戶(hù)端通過(guò)傳輸元數(shù)據(jù)的LAN網(wǎng)絡(luò)(圖1中用細(xì)實(shí)線(xiàn)表示)與元數(shù)據(jù)服務(wù)器連接,如圖1所示。
[0018]其中客戶(hù)端可以是普通的PC機(jī)工作站,也可以是服務(wù)器,具有連接SAN網(wǎng)絡(luò)的能力,并可以處理大型的文件,例如高清晰度視頻文件。本實(shí)施例所述的SAN網(wǎng)絡(luò)是由光纖交換機(jī)和光纜組成的光纖網(wǎng),是帶寬超過(guò)1G的寬帶網(wǎng)絡(luò),可以傳輸高清晰度的視頻文件,也可以用千Μ或萬(wàn)Μ的高速以太網(wǎng)構(gòu)成SAN網(wǎng)絡(luò)。本實(shí)施例所述的LAN網(wǎng)絡(luò)是由以太交換機(jī)組成并使用TCP/IP為通訊協(xié)議的以太網(wǎng),具有數(shù)百Μ的帶寬,可以快速的傳輸元數(shù)據(jù)文件和控制及任務(wù)交互信息。在通常情況下為了避免元數(shù)據(jù)服務(wù)器出現(xiàn)問(wèn)題而影響整個(gè)SAN系統(tǒng)的正常運(yùn)行,可增加一臺(tái)備用的元數(shù)據(jù)服務(wù)器,即兩臺(tái)元數(shù)據(jù)服務(wù)器,使其互為備份,在同步數(shù)據(jù)的基礎(chǔ)上實(shí)現(xiàn)元數(shù)據(jù)服務(wù)器冗余。系統(tǒng)中的共享存儲(chǔ)設(shè)備通常使用磁盤(pán)陣列,磁盤(pán)陣列通過(guò)SAN網(wǎng)絡(luò)與客戶(hù)端與元數(shù)據(jù)服務(wù)器相連,客戶(hù)端和元數(shù)據(jù)服務(wù)器可以通過(guò)fc協(xié)議或iscsi協(xié)議對(duì)其進(jìn)行訪問(wèn)。
[0019]本實(shí)施例的基本思路是:在進(jìn)行分布式計(jì)算時(shí),多個(gè)客戶(hù)端按照預(yù)設(shè)的聚合規(guī)則生成多個(gè)文件,之后通過(guò)特定的快速聚合方法將多個(gè)客戶(hù)端產(chǎn)生的文件在短時(shí)間內(nèi)快速聚合成一個(gè)大文件或?qū)⒍鄠€(gè)文件快速追加聚合到已存在大文件后面,在聚合過(guò)程中不產(chǎn)生文件拷貝工作,同時(shí)對(duì)客戶(hù)端而言,此快速聚合生成的文件和使用物理聚合方法后生成的文件完全相同。特別適合于分布式轉(zhuǎn)碼、打包的大數(shù)據(jù)量?jī)?nèi)容經(jīng)過(guò)分布式計(jì)算生成并合并為一個(gè)文件后,供多客戶(hù)端共享訪問(wèn)的情形。本實(shí)施例所述方法可表述為:多個(gè)客戶(hù)端服務(wù)器在進(jìn)行集群計(jì)算后,會(huì)在共享存儲(chǔ)內(nèi)生成多個(gè)文件,分別為filel,file2, file3,…,fileN,大小分別為Ml,M2,M3,…,MN,通過(guò)SAN文件系統(tǒng)使用特定的聚合方法將多個(gè)文件filel,file2, file3,…,fileN在短時(shí)間內(nèi)快速聚合成一個(gè)新的大文件,名稱(chēng)為mergefile,文件大小為M1+M2+M3+…+MN,是被聚合的多個(gè)文件的大小之和,同時(shí),快速聚合生成的文件與使用物理聚合方法后生成的文件包括文件大小及其他屬性完全相同。這樣,就大大降低了聚合多個(gè)文件使用的時(shí)間,同時(shí)也降低存儲(chǔ)的帶寬使用率。在通常的SAN系統(tǒng)中多個(gè)文件使用物理聚合方法過(guò)程中,需要在一個(gè)客戶(hù)端內(nèi)分別讀取文件filel,file2,file3,…,fileN到客戶(hù)端本地,然后在本地對(duì)filel,file2,file3,…,fileN進(jìn)行物理聚合,生成文件mergefile,最后把聚合生成的文件mergefile再寫(xiě)到共享存儲(chǔ)上,供其他客戶(hù)端進(jìn)行訪問(wèn)。而本實(shí)施例則在共享存儲(chǔ)上對(duì)多個(gè)文件filel,file2,file3,…,fileN進(jìn)行“邏輯聚合”,在“邏輯聚合”過(guò)程中,所有文件始終存在于共享存儲(chǔ)中,不會(huì)對(duì)文件進(jìn)行拷貝和讀取工作。以此可有效地縮短了 SAN共享系統(tǒng)應(yīng)用到集群計(jì)算時(shí)多個(gè)文件的聚合時(shí)間,而且聚合文件數(shù)量越多,優(yōu)勢(shì)越加明顯。同時(shí)也提高了集群計(jì)算速度,降低了聚合過(guò)程中對(duì)磁盤(pán)陣列數(shù)據(jù)存儲(chǔ)帶寬的占用,同時(shí)降低了對(duì)SAN網(wǎng)絡(luò)的傳輸帶寬的占用,使得同樣的磁盤(pán)陣列和SAN網(wǎng)絡(luò)可以支持更多的客戶(hù)端共享使用。最關(guān)鍵的是,由于邏輯聚合過(guò)程沒(méi)有發(fā)生實(shí)際的文件拷貝,可以在瞬間完成,從而為電視節(jié)目快速審核播出節(jié)省了非常寶貴的時(shí)間,在高清節(jié)目文件體積巨大的情況下,這種后臺(tái)技術(shù)處理占用時(shí)間的節(jié)省意義尤其重大。
[0020]本實(shí)施例所述共享文件系統(tǒng)中實(shí)現(xiàn)多文件快速聚合方法的具體過(guò)程步驟如下:
1、多個(gè)子文件生成的步驟:用于客戶(hù)端將同一處理任務(wù)根據(jù)聚合規(guī)則的的要求拆分成多個(gè)子處理任務(wù),將子任務(wù)分派給不同的客戶(hù)端執(zhí)行;多個(gè)客戶(hù)端對(duì)分配的子處理任務(wù)執(zhí)行分布式計(jì)算,生成各自對(duì)應(yīng)的子文件;在子文件的封裝過(guò)程中如果子文件長(zhǎng)度不是文件系統(tǒng)塊大小的整數(shù)倍,必要時(shí)對(duì)不足位補(bǔ)空白數(shù)據(jù)。生成的多個(gè)子文件通過(guò)SAN網(wǎng)絡(luò)寫(xiě)入到共享存儲(chǔ)上。具體實(shí)現(xiàn)上包括:
(1)、用于客戶(hù)端將同一處理任務(wù)根據(jù)聚合規(guī)則的的要求拆分成多個(gè)子處理任務(wù),將子任務(wù)分派給不同的客戶(hù)端執(zhí)行;通常情況下一個(gè)大的計(jì)算任務(wù)通過(guò)一臺(tái)有管理權(quán)限的客戶(hù)端分派成多個(gè)子任務(wù),交給多臺(tái)客戶(hù)端同時(shí)并行計(jì)算完成,其中分配任務(wù)的過(guò)程,就需要預(yù)先根據(jù)局和規(guī)則的要求對(duì)計(jì)算任務(wù)進(jìn)行拆分,以便各執(zhí)行子計(jì)算任務(wù)的客戶(hù)端最終生成的子文件滿(mǎn)足快速聚合要求。舉例來(lái)說(shuō),對(duì)于一個(gè)時(shí)間長(zhǎng)度為2小時(shí)的節(jié)目進(jìn)行轉(zhuǎn)碼,管理客戶(hù)端根據(jù)目前空閑的客戶(hù)端數(shù)量,把2個(gè)小時(shí)的節(jié)目的不同部分分派給不同的客戶(hù)端同時(shí)執(zhí)行轉(zhuǎn)碼計(jì)算,分別生成對(duì)應(yīng)于不同部分的子文件。
[0021]任務(wù)的拆分既要滿(mǎn)足到各客戶(hù)端執(zhí)行計(jì)算的工作量大致相同,以便在最短的時(shí)間內(nèi)同時(shí)完成轉(zhuǎn)碼任務(wù),交給下一個(gè)工作環(huán)節(jié)使用;又要滿(mǎn)足快速聚合時(shí),除了最后一個(gè)子文件外,其余的子文件的大小必須是文件系統(tǒng)塊大小的整數(shù)倍。通常情況下,對(duì)于轉(zhuǎn)碼的目標(biāo)文件的視頻編碼為固定碼率的壓縮編碼格式,比較容易確定每一段轉(zhuǎn)碼后的文件大小,從而拆分任務(wù)相對(duì)容易實(shí)現(xiàn)一些。對(duì)于有些視音頻文件封裝格式,允許在實(shí)際的每幀視音頻數(shù)據(jù)末尾添加空白的填充數(shù)據(jù),從而達(dá)到子文件大小為文件系統(tǒng)塊大小的整數(shù)倍的要求。所以對(duì)于轉(zhuǎn)碼任務(wù)或者打包合成任務(wù),如果希望最后使用快速文件聚合提高文件合并的效率,可以選擇目標(biāo)文件的視頻編碼為固定碼率的壓縮編碼格式,視音頻文件的封裝格式為AVI或者M(jìn)XF 0P1A。。對(duì)于不允許在視音頻數(shù)據(jù)中間添加空白填充數(shù)據(jù)的文件封裝格式,需要管理客戶(hù)端嚴(yán)格計(jì)算每一幀數(shù)據(jù)末尾的文件大小,找到恰好可以滿(mǎn)足子文件大小為文件系統(tǒng)塊大小的整數(shù)倍的入點(diǎn)和出點(diǎn),從而形成子計(jì)算任務(wù)交給其他客戶(hù)端執(zhí)行。
[0022]對(duì)于有N臺(tái)可以執(zhí)行子任務(wù)的客戶(hù)端的情況下,既可以把計(jì)算任務(wù)分為N份,每一臺(tái)客戶(hù)端執(zhí)行其中一個(gè)計(jì)算任務(wù),生成N個(gè)子文件進(jìn)行快速合并,這種情況通常是所有客戶(hù)端都完成計(jì)算任務(wù)時(shí),由管理客戶(hù)端向文件系統(tǒng)申請(qǐng)文件快速聚合;也可以生成遠(yuǎn)多于N的Μ個(gè)子任務(wù),各客戶(hù)端從前到后依次執(zhí)行子任務(wù),管理客戶(hù)端隨時(shí)監(jiān)測(cè)子文件的生成情況,并隨時(shí)向文件系統(tǒng)提交快速文件聚合請(qǐng)求。這種情況下往往是子文件的追加聚合,當(dāng)全部子任務(wù)都執(zhí)行完成時(shí),最終的快速聚合文件才可以提交給下一個(gè)環(huán)節(jié)使用。
[0023](2)、計(jì)算子文件的子步驟:多個(gè)客戶(hù)端對(duì)分好段的內(nèi)容執(zhí)行分布式計(jì)算,編碼格式采用固定碼率的視頻壓縮編碼方式,,生成文件過(guò)程中按照文件系統(tǒng)塊大小的整數(shù)倍生成文件,不足位補(bǔ)空白數(shù)據(jù)。為了使得生成的子文件符合預(yù)設(shè)的大小,需要在編碼的過(guò)程中確定生成數(shù)據(jù)的大小,如果正好滿(mǎn)足生成的文件是文件系統(tǒng)塊大小整數(shù)倍的要求就直接封裝成文件;如果不滿(mǎn)足,則在該數(shù)據(jù)后面補(bǔ)充空白數(shù)據(jù)來(lái)滿(mǎn)足。由于計(jì)算任務(wù)拆分時(shí)已經(jīng)考慮到了快速聚合規(guī)則的要求,客戶(hù)端只需要執(zhí)行子任務(wù)并在必要的時(shí)候補(bǔ)充空白數(shù)據(jù)即可生成滿(mǎn)足需要的子文件。
[0024]2.準(zhǔn)備多文件快速聚合的步驟:用于提取各個(gè)準(zhǔn)備聚合的子文件的信息。
[0025]3、多文件快速聚合的步驟:用于文件系統(tǒng)對(duì)需要聚合的多個(gè)子文件進(jìn)行有效檢查并快速的進(jìn)行“邏輯聚合”,把多個(gè)聚合子文件快速聚合或快速追加聚合成一個(gè)聚合大文件。
[0026]本步驟與傳統(tǒng)的物理聚合方法的差別在于:傳統(tǒng)的物理聚合方法是通過(guò)拷貝方式完成,首先讀取需要聚合的第一個(gè)文件,然后按照聚合順序依次讀取其他文件,直到把所有文件都聚合完成。而本步驟則不會(huì)使用拷貝方式,通過(guò)建立聚合文件與聚合子文件的映射關(guān)系進(jìn)行快速的“邏輯聚合”。因此,本步驟所述的多文件快速聚合步驟包括以下子步驟:
(1)檢測(cè)聚合子文件有效性的子步驟:用于文件系統(tǒng)在進(jìn)行文件快速聚合時(shí)檢測(cè)所有需要聚合的子文件有效性以及是否滿(mǎn)足聚合規(guī)則,如果“否”則退出多文件快速聚合步驟,如果“是”則進(jìn)入下一子步驟。
[0027]本子步驟是一個(gè)判斷的步驟,判斷所有需要進(jìn)行聚合的子文件是否有效以及是否符合聚合規(guī)則。對(duì)于所有需要聚合的子文件必須滿(mǎn)足文件系統(tǒng)一些規(guī)則,也就是除最后一個(gè)聚合子文件,其他所有聚合子文件的大小都必須是文件系統(tǒng)塊大小的整數(shù)倍,并且保證沒(méi)有其他客戶(hù)端操作這些子文件,這樣才能保證聚合后的文件能夠被客戶(hù)端正確訪問(wèn)。由于使用的是“邏輯聚合”,聚合過(guò)程中,不會(huì)進(jìn)行文件的位置改變和拷貝等工作,這就要求除了最后一個(gè)聚合子文件,其他聚合子文件的大小都必須滿(mǎn)足是文件系統(tǒng)塊大小的整數(shù)倍,否則聚合的文件會(huì)出現(xiàn)“空洞”,導(dǎo)致文件在讀取過(guò)程會(huì)出現(xiàn)問(wèn)題。因此,本步驟主要用于文件系統(tǒng)在進(jìn)行文件快速聚合時(shí)檢測(cè)所有需要聚合的子文件是否有效以及是否滿(mǎn)足聚合規(guī)貝U,如果不滿(mǎn)足聚合規(guī)則就要退出快速文件聚合步驟。
[0028](2)檢測(cè)聚合是否為追加聚合的子步驟:用于文件系統(tǒng)在進(jìn)行文件快速聚合時(shí)檢測(cè)聚合是否是在原來(lái)聚合文件的基礎(chǔ)上進(jìn)行追加聚合,如果為追加聚合需要檢測(cè)已存在聚合文件是否滿(mǎn)足追加聚合規(guī)則,如果是追加聚合且滿(mǎn)足追加聚合規(guī)則就更新聚合文件的相關(guān)屬性信息,進(jìn)入建立聚合文件與聚合子文件映射關(guān)系的子步驟,否則退出多文件快速聚合;如果不是追加聚合則進(jìn)入下一子步驟。
[0029]在追加聚合過(guò)程中,必須確保已經(jīng)存在聚合文件中的最后一個(gè)聚合子文件的大小必須滿(mǎn)足是文件系統(tǒng)塊大小的整數(shù)倍,否則追加聚合后的文件會(huì)出現(xiàn)“空洞”,導(dǎo)致文件在讀取過(guò)程會(huì)出現(xiàn)問(wèn)題。本子步驟是一個(gè)判斷的步驟,判斷所進(jìn)行聚合是否為追加聚合,如果為追加聚合,則已存在的聚合大文件需要滿(mǎn)足SAN文件系統(tǒng)一些規(guī)則,也就是已存在聚合文件中的最后一個(gè)聚合子文件大小必須是文件系統(tǒng)塊大小的整數(shù)倍,這樣才能保證其他聚合子文件追加聚合到的已存在聚合大文件上。滿(mǎn)足以上條件,就可以正確的對(duì)所有需要聚合的文件進(jìn)行聚合或追加聚合,否則就要退出多文件快速聚合。
[0030](3)創(chuàng)建聚合文件的子步驟:根據(jù)客戶(hù)端請(qǐng)求的聚合文件信息和各子文件屬性信息創(chuàng)建聚合文件,并計(jì)算聚合文件的相關(guān)屬性信息。這里的屬性信息主要是指聚合文件的文件大小信息,通過(guò)計(jì)算各子文件大小之和可得。
[0031](4)建立聚合文件與聚合子文件映射關(guān)系的子步驟:根據(jù)需要聚合的每個(gè)子文件相關(guān)屬性信息,建立聚合文件和每個(gè)子文件的映射關(guān)系。
[0032]本子步驟是多文件快速聚合的關(guān)鍵步驟,聚合文件是否能夠正確訪問(wèn)取決于該子步驟。因?yàn)閷?duì)聚合文件使用的“邏輯聚合”方式,實(shí)際上在文件系統(tǒng)中,每個(gè)子文件都是分散獨(dú)立存在的,與其他子文件和聚合文件都是沒(méi)有關(guān)系的。這樣在訪問(wèn)聚合文件時(shí),就必須通過(guò)某種方式把聚合文件和所有各子文件之間建立關(guān)系,才能正常的訪問(wèn)整個(gè)聚合文件。這里通過(guò)索引的方式為聚合文件和子文件建立映射關(guān)系,在索引文件內(nèi)首先保存聚合文件的信息,包括聚合文件名稱(chēng)、大小以及聚合文件的個(gè)數(shù),然后依次保存每個(gè)子文件的名稱(chēng)信息、該子文件在聚合文件中的偏移量以及該子文件的大小。這樣,在訪問(wèn)聚合文件時(shí),通過(guò)被訪問(wèn)的聚合文件偏移量就可以很快的準(zhǔn)確定位到相應(yīng)子文件,然后通過(guò)讀取子文件相應(yīng)信息完成對(duì)聚合文件的訪問(wèn)。
[0033](5)處理聚合子文件的子步驟:聚合完成后,對(duì)聚合子文件進(jìn)行處理,使客戶(hù)端不再查看到聚合子文件信息。聚合完成后,對(duì)聚合過(guò)的子文件進(jìn)行特殊標(biāo)記處理,也就是在文件系統(tǒng)的元數(shù)據(jù)服務(wù)器端隱藏被聚合過(guò)的子文件,使得客戶(hù)端不能對(duì)這些聚合過(guò)的子文件進(jìn)行直接訪問(wèn)。
[0034]本實(shí)施例還包括讀取該聚合文件的方法,該方法包括如下步驟:
1、打開(kāi)文件的步驟:用于客戶(hù)端向元數(shù)據(jù)服務(wù)器發(fā)出請(qǐng)求,要求打開(kāi)磁盤(pán)陣列中待讀取的文件。本步驟是基本步驟,當(dāng)用戶(hù)需要讀取一個(gè)文件的時(shí)候,用戶(hù)在客戶(hù)端打開(kāi)待操作文件的句柄,客戶(hù)端根據(jù)該文件的句柄,向元數(shù)據(jù)服務(wù)器發(fā)出相關(guān)操作請(qǐng)求。
[0035]2、元數(shù)據(jù)處理的步驟:客戶(hù)端根據(jù)待讀取文件的內(nèi)容,向元數(shù)據(jù)服務(wù)器申請(qǐng)獲取待操作文件所對(duì)應(yīng)的元數(shù)據(jù),客戶(hù)端獲取相應(yīng)元數(shù)據(jù)信息,同時(shí)客戶(hù)端接受分配給自己的機(jī)會(huì)鎖。
[0036]本步驟與傳統(tǒng)SAN共享文件的獲取元數(shù)據(jù)的差別在于:傳統(tǒng)的SAN文件系統(tǒng)獲取元數(shù)據(jù)方法根據(jù)客戶(hù)端請(qǐng)求文件的內(nèi)容直接獲取該文件內(nèi)容對(duì)應(yīng)的元數(shù)據(jù)信息,而本步驟則在正常獲取待操作文件的元數(shù)據(jù)之前還需要另外判斷獲取待操作的文件是否為聚合文件。因此,本步驟所述的客戶(hù)端處理元數(shù)據(jù)包括以下子步驟:
(1)開(kāi)辟存儲(chǔ)空間的子步驟:用于客戶(hù)端在本地內(nèi)存或硬盤(pán)中開(kāi)辟用于存儲(chǔ)元數(shù)據(jù)的存儲(chǔ)空間。一般情況雙元數(shù)據(jù)服務(wù)器都出現(xiàn)故障的情況不是很多,根據(jù)需要可以在硬盤(pán)開(kāi)辟存儲(chǔ)空間。
[0037](2)選擇處理的子步驟:用于客戶(hù)端對(duì)元數(shù)據(jù)申請(qǐng)請(qǐng)求選擇是放在后臺(tái)隊(duì)列等待還是實(shí)時(shí)處理,如果是后臺(tái)等待則將元數(shù)據(jù)申請(qǐng)請(qǐng)求放入元數(shù)據(jù)請(qǐng)求隊(duì)列中等待,如果是實(shí)時(shí)處理則進(jìn)入下一子步驟。處理文件的讀寫(xiě),在客戶(hù)端可以同時(shí)進(jìn)行多個(gè),為了提高效率可以開(kāi)辟多個(gè)文件讀寫(xiě)線(xiàn)程,這樣就會(huì)有多個(gè)線(xiàn)程的運(yùn)行隊(duì)列,需要處理是就可以從隊(duì)列中取出,進(jìn)行處理。如果是后臺(tái)運(yùn)行,將后面的步驟加入請(qǐng)求隊(duì)列,交由先前創(chuàng)建的處理線(xiàn)程處理;如果不是后臺(tái)運(yùn)行,直接在本線(xiàn)程中處理。
[0038](3)檢測(cè)獲取元數(shù)據(jù)的文件是否聚合文件的子步驟:用于元數(shù)據(jù)服務(wù)器檢測(cè)客戶(hù)端發(fā)起獲取元數(shù)據(jù)請(qǐng)求的文件是否為聚合文件,如果“否”則進(jìn)入“獲取元數(shù)據(jù)的子步驟”,如果“是”則進(jìn)入下一子步驟。本子步驟是一個(gè)檢測(cè)并判斷的步驟,判斷客戶(hù)端請(qǐng)求元數(shù)據(jù)的文件是否為聚合文件,如果請(qǐng)求的為聚合文件的元數(shù)據(jù)信息,則需要根據(jù)聚合文件和聚合子文件映射關(guān)系獲取相應(yīng)子文件元數(shù)據(jù)信息,這種情況下可以進(jìn)入下一子步驟:如果請(qǐng)求的為非聚合文件的元數(shù)據(jù)信息,則根據(jù)請(qǐng)求直接獲取相應(yīng)元數(shù)據(jù)信息,進(jìn)獲取元數(shù)據(jù)的子步驟。
[0039](4)獲取聚合文件與聚合子文件映射關(guān)系子步驟:根據(jù)客戶(hù)端請(qǐng)求的聚合文件的元數(shù)據(jù),獲取與之相對(duì)應(yīng)聚合子文件的映射關(guān)系。
[0040](5)獲取元數(shù)據(jù)的子步驟:用于元數(shù)據(jù)服務(wù)器根據(jù)通訊規(guī)則獲取相應(yīng)操作文件的元數(shù)據(jù),并把元數(shù)據(jù)信息返回給客戶(hù)端。獲取一個(gè)聚合文件元數(shù)據(jù)與獲取普通文件的元數(shù)據(jù)過(guò)程是一樣的,只是在獲取聚合文件元數(shù)據(jù)時(shí)需要先判斷該元數(shù)據(jù)信息所對(duì)應(yīng)的子文件,然后獲取該子文件相應(yīng)的元數(shù)據(jù)信息返回給客戶(hù)端,如此循環(huán)直到將所需數(shù)據(jù)的元數(shù)據(jù)信息獲取完畢。至本子步驟,整個(gè)“處理元數(shù)據(jù)的步驟”結(jié)束。
[0041]3、讀取文件的步驟:用于客戶(hù)端獲取元數(shù)據(jù)段,并根據(jù)所獲得的元數(shù)據(jù)段,對(duì)磁盤(pán)陣列發(fā)起讀取文件的塊數(shù)據(jù)請(qǐng)求,以完成該元數(shù)據(jù)段對(duì)應(yīng)塊數(shù)據(jù)讀取操作,循環(huán)的申請(qǐng)?jiān)獢?shù)據(jù)段和讀取元數(shù)據(jù)段對(duì)應(yīng)的塊數(shù)據(jù),直至完成所需數(shù)據(jù)的讀取。
[0042]4、關(guān)閉文件的步驟:用于客戶(hù)端向元數(shù)據(jù)服務(wù)器發(fā)出要求,關(guān)閉已打開(kāi)的操作文件句柄,完成本次文件讀取。
[0043]最后應(yīng)說(shuō)明的是,以上僅用以說(shuō)明本發(fā)明的技術(shù)方案而非限制,盡管參照較佳布置方案對(duì)本發(fā)明進(jìn)行了詳細(xì)說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對(duì)本發(fā)明的技術(shù)方案(比如獲取元數(shù)據(jù)的方式、文件的讀取方式、步驟的先后順序等)進(jìn)行修改或者等同替換,而不脫離本發(fā)明技術(shù)方案的精神和范圍。本發(fā)明所述的方法可編制為應(yīng)用于計(jì)算機(jī)系統(tǒng)的程序,并運(yùn)行于本發(fā)明所述的計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)中。
【權(quán)利要求】
1.一種共享文件系統(tǒng)多文件快速聚合方法,所述的方法中所使用的硬件系統(tǒng)包括:多個(gè)客戶(hù)端通過(guò)傳輸大體積文件的高速網(wǎng)絡(luò)與元數(shù)據(jù)服務(wù)器和磁盤(pán)列陣連接,所述的多個(gè)客戶(hù)端同時(shí)還通過(guò)傳輸元數(shù)據(jù)和控制及交互信息的網(wǎng)絡(luò)與元數(shù)據(jù)服務(wù)器連接,所述方法的步驟如下: 生成子文件的步驟:多個(gè)客戶(hù)端按照預(yù)設(shè)的聚合規(guī)則分別執(zhí)行同一處理任務(wù)的不同部分,每部分生成為一個(gè)獨(dú)立的子文件; 多文件快速聚合的步驟:共享文件系統(tǒng)對(duì)需要聚合的多個(gè)子文件進(jìn)行有效檢查并快速的進(jìn)行“邏輯聚合”,把多個(gè)子文件快速聚合或快速追加聚合成一個(gè)聚合大文件。
2.如權(quán)利要求1所述的共享文件系統(tǒng)多文件快速聚合方法,其特征在于, 所述的“多文件快速聚合的步驟”包括以下子步驟: 檢測(cè)聚合子文件有效性的子步驟:文件系統(tǒng)在進(jìn)行文件快速聚合時(shí)檢測(cè)所有需要聚合的子文件有效性以及是否滿(mǎn)足聚合規(guī)則,如果“否”則退出多文件快速聚合步驟,如果“是”則進(jìn)入下一子步驟; 檢測(cè)聚合是否為追加聚合的子步驟:文件系統(tǒng)在進(jìn)行文件快速聚合時(shí)檢測(cè)聚合是否是在原來(lái)聚合文件的基礎(chǔ)上進(jìn)行追加聚合,如果為追加聚合需要檢測(cè)已存在聚合文件是否滿(mǎn)足追加聚合規(guī)則,如果是追加聚合且滿(mǎn)足追加聚合規(guī)則進(jìn)入建立聚合文件與聚合子文件映射關(guān)系的子步驟,否則如果是追加聚合但不滿(mǎn)足追加聚合規(guī)則就退出多文件快速聚合步驟;如果不是追加聚合則進(jìn)入下一子步驟; 創(chuàng)建聚合文件的子步驟:根據(jù)客戶(hù)端請(qǐng)求的聚合文件信息和各子文件屬性信息創(chuàng)建聚合文件,并計(jì)算聚合文件的相關(guān)屬性信息; 建立聚合文件與聚合子文件映射關(guān)系的子步驟:根據(jù)需要聚合的每個(gè)子文件相關(guān)屬性信息,更新聚合文件的相關(guān)屬性信息,建立聚合文件和每個(gè)子文件的映射關(guān)系。
3.如權(quán)利要求2所述的共享文件系統(tǒng)多文件快速聚合方法,其特征在于,所述的多文件快速聚合的步驟還包括處理聚合子文件的子步驟:聚合完成后,對(duì)聚合子文件進(jìn)行處理,使客戶(hù)端不再查看到聚合子文件信息。
4.如權(quán)利要求1所述的共享文件系統(tǒng)多文件快速聚合方法,其特征在于,所述的“生成子文件的步驟”包括如下子步驟: 處理任務(wù)分配的子步驟:將同一處理任務(wù)根據(jù)聚合規(guī)則的的要求拆分成多個(gè)子處理任務(wù),將子任務(wù)分派給不同的客戶(hù)端執(zhí)行; 計(jì)算子文件的子步驟:多個(gè)客戶(hù)端對(duì)分配的子處理任務(wù)執(zhí)行分布式計(jì)算,生成各自對(duì)應(yīng)的子文件;在子文件的封裝過(guò)程中如果子文件長(zhǎng)度不是文件系統(tǒng)塊大小的整數(shù)倍,必要時(shí)對(duì)不足位補(bǔ)空白數(shù)據(jù)。
5.如權(quán)利要求1所述的共享文件系統(tǒng)中實(shí)現(xiàn)多文件快速聚合的方法,其特征在于,所述的聚合規(guī)則包括子文件的大小為文件系統(tǒng)塊的整數(shù)倍。
6.如權(quán)利要求1所述的共享文件系統(tǒng)中實(shí)現(xiàn)多文件快速聚合的方法,其特征在于,所述的計(jì)算包括編碼格式轉(zhuǎn)換和,或渲染合成。
7.如權(quán)利要求1所述的共享文件系統(tǒng)多文件快速聚合方法,其特征在于,所述的分別生成的方式為使用分布式計(jì)算的方式生成。
8.如權(quán)利要求1所述的共享文件系統(tǒng)多文件快速聚合方法,其特征在于,如果處理任務(wù)是轉(zhuǎn)碼任務(wù)或者打包任務(wù),生成的目標(biāo)文件的視頻壓縮編碼選用固定碼率的編碼方式。
9.一種權(quán)利要求1所述共享文件系統(tǒng)多文件快速聚合文件的讀取方法,其特征在于,所述方法的步驟包括: 打開(kāi)文件的步驟:用于客戶(hù)端向元數(shù)據(jù)服務(wù)器發(fā)出請(qǐng)求,要求打開(kāi)磁盤(pán)陣列中待讀取的文件; 處理元數(shù)據(jù)的步驟:客戶(hù)端根據(jù)待讀取文件的內(nèi)容,向元數(shù)據(jù)服務(wù)器申請(qǐng)獲取待讀取文件所對(duì)應(yīng)的元數(shù)據(jù),客戶(hù)端獲取相應(yīng)元數(shù)據(jù),同時(shí)客戶(hù)端接受分配給自己的機(jī)會(huì)鎖; 讀取文件的步驟:客戶(hù)端獲取元數(shù)據(jù)段,并根據(jù)所獲得的元數(shù)據(jù)段,對(duì)磁盤(pán)陣列發(fā)起讀取文件的塊數(shù)據(jù)請(qǐng)求,以完成該元數(shù)據(jù)段對(duì)應(yīng)塊數(shù)據(jù)讀取操作,循環(huán)的申請(qǐng)?jiān)獢?shù)據(jù)段和讀取元數(shù)據(jù)段對(duì)應(yīng)的塊數(shù)據(jù),直至完成所需數(shù)據(jù)的讀??; 文件關(guān)閉的步驟:客戶(hù)端向元數(shù)據(jù)服務(wù)器發(fā)出要求,關(guān)閉已打開(kāi)的讀取文件句柄,完成本次文件讀取。
10.如權(quán)利要求9所述的共享文件系統(tǒng)快速聚合文件的讀取方法,其特征在于,所述的“處理元數(shù)據(jù)的步驟”中元數(shù)據(jù)服務(wù)器在正常處理客戶(hù)端請(qǐng)求待操作文件的元數(shù)據(jù)外還需要另外檢測(cè)獲取元數(shù)據(jù)的文件是否為聚合文件,包括以下子步驟: 開(kāi)辟存儲(chǔ)空間的子步驟:用于客戶(hù)端在本地內(nèi)存或硬盤(pán)中開(kāi)辟用于存儲(chǔ)元數(shù)據(jù)的存儲(chǔ)空間; 選擇處理的子步驟:用于客戶(hù)端對(duì)元數(shù)據(jù)申請(qǐng)請(qǐng)求選擇是放在后臺(tái)隊(duì)列等待還是實(shí)時(shí)處理,如果是后臺(tái)等待則將元數(shù)據(jù)申請(qǐng)請(qǐng)求放入元數(shù)據(jù)請(qǐng)求隊(duì)列中等待,如果是實(shí)時(shí)處理則進(jìn)入下一子步驟; 檢測(cè)獲取元數(shù)據(jù)的文件是否聚合文件的子步驟:用于元數(shù)據(jù)服務(wù)器檢測(cè)客戶(hù)端發(fā)起獲取元數(shù)據(jù)請(qǐng)求的文件是否為聚合文件,如果“否”則進(jìn)入“獲取元數(shù)據(jù)的子步驟”,如果“是”則進(jìn)入下一子步驟; 獲取聚合文件與聚合子文件映射關(guān)系子步驟:根據(jù)客戶(hù)端請(qǐng)求的聚合文件的元數(shù)據(jù)信息,獲取與之相對(duì)應(yīng)聚合子文件的映射關(guān)系; 獲取元數(shù)據(jù)的子步驟:根據(jù)請(qǐng)求獲取相對(duì)應(yīng)文件的元數(shù)據(jù)返回給客戶(hù)端。
【文檔編號(hào)】H04N21/4402GK104410868SQ201410600003
【公開(kāi)日】2015年3月11日 申請(qǐng)日期:2014年10月31日 優(yōu)先權(quán)日:2014年10月31日
【發(fā)明者】褚震宇, 徐榮波, 王付生 申請(qǐng)人:北京中科大洋科技發(fā)展股份有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
辛集市| 壤塘县| 通河县| 娄底市| 武乡县| 根河市| 安阳市| 天长市| 青浦区| 井陉县| 鲜城| 合水县| 文成县| 浪卡子县| 马关县| 建阳市| 平远县| 雅江县| 靖边县| 喀喇沁旗| 宁阳县| 色达县| 长武县| 陕西省| 阿尔山市| 凤山县| 聂拉木县| 咸丰县| 和林格尔县| 汉中市| 柏乡县| 光山县| 达州市| 南平市| 宣威市| 石屏县| 建德市| 贵南县| 贵州省| 鄱阳县| 屯门区|