一種海量文件并行刻錄方法及裝置制造方法
【專利摘要】本發(fā)明適用于數(shù)據(jù)存儲【技術(shù)領(lǐng)域】,提供一種海量文件并行刻錄方法及裝置,所述方法包括文件分割步驟、子文件添加步驟、閾值判斷步驟以及數(shù)據(jù)刻錄步驟。本發(fā)明提供一種基于光盤存儲系統(tǒng)的文件管理和并行刻錄方案,本方案中,光盤存儲系統(tǒng)中的文件可自動組織以及分配,并且為每張光盤分配文件集,實現(xiàn)多光驅(qū)同時工作并行刻錄數(shù)據(jù)。
【專利說明】一種海量文件并行刻錄方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于數(shù)據(jù)存儲【技術(shù)領(lǐng)域】,尤其涉及一種海量文件并行刻錄方法及裝置。
【背景技術(shù)】
[0002]大數(shù)據(jù)時代數(shù)據(jù)量增長速度不斷提升,進而對于存儲系統(tǒng)容量和性能產(chǎn)生巨大壓力??紤]到越來越多重要數(shù)據(jù)需要長期保存,而光盤存儲是一種廉價的數(shù)據(jù)長期保存方式。光盤存儲系統(tǒng)是通過光盤驅(qū)動器存取光盤數(shù)據(jù)的計算機設(shè)備。光盤驅(qū)動器能夠存取光盤介質(zhì)上的數(shù)據(jù),并通過數(shù)據(jù)接口和主機系統(tǒng)實現(xiàn)數(shù)據(jù)通訊。而光盤驅(qū)動器中具有光盤刻錄功能驅(qū)動器稱之為光盤刻錄驅(qū)動器。數(shù)據(jù)文件需要通過光盤刻錄驅(qū)動器把數(shù)據(jù)刻錄到可刻錄光盤中,實現(xiàn)數(shù)據(jù)保存。
[0003]現(xiàn)有光盤具有多種類型。⑶光盤的最大容量大約是700M,DVD盤片單面4.7GB,最多能刻錄約4.59G的數(shù)據(jù)(因為DVD的IGB = 1000ΜΒ,而硬盤的IGB = 1024MB)(雙面
8.5GB,最多約能刻8.3GB的數(shù)據(jù)),藍光(BD)的則比較大,其中HD DVD單面單層15GB、雙層30GB ;BD單面單層25GB、雙面50GB、三層75GB、四層100GB。日本東京大學(xué)的研究團隊已經(jīng)發(fā)現(xiàn)一種材料,可以用來制造更便宜、容量更大得多的超級光盤,可以儲存的容量是一般DVD的5千倍。
[0004]利用光盤存儲系統(tǒng)存儲數(shù)據(jù)時,文件寫入的并行度受系統(tǒng)中的光盤刻錄驅(qū)動器(后面簡稱光驅(qū))數(shù)目限制。在使用現(xiàn)有光盤存儲系統(tǒng)寫文件時,按照主機系統(tǒng)傳入的文件順序依次刻錄入光盤中。由于光盤容量的限制,可能需要對文件進行分割操作。由于文件是依次刻錄入光盤中,則可能造成不必要的文件分割操作,即某文件大小小于光盤總可用容量,但此時光盤可用剩余容量小于文件大小,此時需要對文件進行分割操作,增加了文件刻錄管理的復(fù)雜性。由于文件是依次刻錄入光盤中,這也降低了光盤存儲系統(tǒng)的寫入速度。
[0005]因此,迫切的需要一種面向多光盤刻錄驅(qū)動器的大量文件集合分配方法以及在此基礎(chǔ)上實現(xiàn)并行刻錄,減少不必要的文件分割,保持文件原有的數(shù)據(jù)特性,提高光盤存儲系統(tǒng)的并行寫速度。
【發(fā)明內(nèi)容】
[0006]鑒于上述問題,本發(fā)明的目的在于提供一種海量文件并行刻錄方法及裝置,旨在提聞光盤存儲系統(tǒng)的并行與速度。
[0007]—方面,所述海量文件并行刻錄方法包括下述步驟:
[0008]獲取存取緩沖器中的文件集并按照文件大小進行排序分割得到子文件,對子文件進行降序排列生成新文件集;
[0009]獲取已分配光盤集的屬性信息,從大到小依次讀取已分配光盤集中光盤剩余可用容量,并將不大于所述剩余可用容量的子文件添加到對應(yīng)的光盤文件集合中,并更新光盤的剩余可用容量,直至將所有子文件添加完畢;
[0010]將已分配光盤集中達到容量閾值或者時間閾值的光盤轉(zhuǎn)到待刻錄光盤集,并為該光盤分配一個新的編號;
[0011]取待刻錄光盤集中光盤,并按照光盤文件集屬性從存取緩沖器中讀取相應(yīng)數(shù)據(jù)以及元數(shù)據(jù)信息,刻錄至光盤中,并將光盤轉(zhuǎn)入已刻錄光盤集。。
[0012]另一方面,所述海量文件并行刻錄裝置包括:
[0013]文件分割單元,用于獲取存取緩沖器中的文件集并按照文件大小進行排序分割得到子文件,對子文件進行降序排列生成新文件集;
[0014]子文件添加單元,用于獲取已分配光盤集的屬性信息,從大到小依次讀取已分配光盤集中光盤剩余可用容量,并將不大于所述剩余可用容量的子文件添加到對應(yīng)的光盤文件集合中,并更新光盤的剩余可用容量,直至將所有子文件添加完畢;
[0015]閾值判斷單元,用于將已分配光盤集中達到容量閾值或者時間閾值的光盤轉(zhuǎn)到待刻錄光盤集,并為該光盤分配一個新的編號;
[0016]數(shù)據(jù)刻錄單元,用于取待刻錄光盤集中光盤,并按照光盤文件集屬性從存取緩沖器中讀取相應(yīng)數(shù)據(jù)以及元數(shù)據(jù)信息,刻錄至光盤中,并將光盤轉(zhuǎn)入已刻錄光盤集。
[0017]本發(fā)明的有益效果是:本發(fā)明提供了一種文件并行刻錄方案,包括文件分割、排序、子文件添加等,實現(xiàn)文件的管理以及分割,避免了不必要的文件分割,最大可能性的保持文件原有的數(shù)據(jù)屬性,提高了并行刻錄速度。
【專利附圖】
【附圖說明】
[0018]圖1是光盤存儲系統(tǒng)結(jié)構(gòu)圖;
[0019]圖2是本發(fā)明第一實施例提供的海量文件并行刻錄方法的流程圖;
[0020]圖3是本發(fā)明第二實施例提供的海量文件并行刻錄方法的流程圖;
[0021]圖4是文件集在全局目錄樹中的層次結(jié)構(gòu)圖;
[0022]圖5是分割完成后的文件分割表;
[0023]圖6是分割后子文件排序表;
[0024]圖7是已分配光盤集CD_ASSIGN中光盤屬性表;
[0025]圖8是子文件添加到CD_SASSIGN中的結(jié)果表;
[0026]圖9是待刻錄光盤集CD_WAIT中的光盤屬性表;
[0027]圖10是本發(fā)明第三實施例提供的海量文件并行刻錄裝置的結(jié)構(gòu)方框圖。
【具體實施方式】
[0028]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0029]本發(fā)明實施例提供的技術(shù)方案基于光盤存儲系統(tǒng)實現(xiàn),如圖1所示,所述光盤存儲系統(tǒng)包括前端主機、控制器、存取緩沖器、一組光盤驅(qū)動器、批量光盤組成。一組光盤驅(qū)動器通過后端數(shù)據(jù)通道和控制器相連,控制器通過前端數(shù)據(jù)通道和主機系統(tǒng)相連,一組光盤可以通過自動或者手工的方式裝載到光盤驅(qū)動器組中。
[0030]所述光盤驅(qū)動器,在本實施實例中,假設(shè)光盤驅(qū)動器的數(shù)目為6,并行最低限值為
2。即在本實施實例中,最大可達的并行度為6,必須保證的最低并行度為2。
[0031]每張光盤的容量屬性包括:光盤的總?cè)萘看笮_SIZE、光盤的兀數(shù)據(jù)區(qū)容量M_SIZE、光盤的剩余可用容量R_SIZE。每張光盤存在文件屬性即每張光盤上記錄的文件集合為CD_FSET。一張未使用過的光盤CD_FSET為空集。在本實施實例中,所有光盤的容量相等,并記光盤的可用容量為 V_SIZE = T_SIZE-M_SIZE,并假設(shè) T_SIZE = 40GB, M_SIZE = 1GB,則 V_SIZE = 39GB, R_SIZE< = V_SIZE。
[0032]所述海量光盤,在本實施實例中,共分為4個子集,分別為已經(jīng)刻錄過的光盤集(即已刻錄光盤集CD_USED)、等待刻錄的光盤集合(即待刻錄光盤集CD_WAIT)、已經(jīng)為光盤分配文件的光盤集(即已分配光盤集CD_ASSIGN)、未為光盤分配分配文件的光盤集(即未分配光盤集CD_NU)。在本實施實例中,為每張光盤分配唯一的光盤ID標(biāo)識光盤身份。分配光盤ID的時間為光盤加入CD_WAIT子集中。因此在本實施實例中,小于CD_WAIT子集中光盤元素最小ID的光盤均屬于CD_USED子集。
[0033]基于上述描述,下面通過具體實施例來進行說明。
[0034]實施例一:
[0035]圖2示出了本發(fā)明實施例提供的海量文件并行刻錄方法的流程,為了便于說明僅不出了與本發(fā)明實施例相關(guān)的部分。
[0036]本實施例提供的海量文件并行刻錄方法包括:
[0037]步驟S201、獲取存取緩沖器中的文件集并按照文件大小進行排序分割得到子文件,對子文件進行降序排列生成新文件集。
[0038]本步驟實現(xiàn)文件分割。在光盤存儲系統(tǒng)中,前端主機將要準(zhǔn)備刻錄的文件通過控制器寫入存取緩沖器,本步驟中,首先從存取緩沖器中取出文件集,然后按照要求對文件集中的文件進行分割,得到子文件。然后對子文件進行排序生成新文件集。
[0039]步驟S202、獲取已分配光盤集的屬性信息,從大到小依次讀取已分配光盤集中光盤剩余可用容量,并將不大于所述剩余可用容量的子文件添加到對應(yīng)的光盤文件集合中,并更新光盤的剩余可用容量,直至將所有子文件添加完畢。
[0040]本步驟實現(xiàn)子文件添加。在文件分割排序完畢后,結(jié)合子文件的大小以及已分配光盤集中光盤的剩余可用容量,將各個子文件添加到對應(yīng)光盤中,必要時,還可以增加未分配光盤到已分配光盤中,以實現(xiàn)完成添加所有子文件。
[0041]步驟S203、將已分配光盤集中達到容量閾值或者時間閾值的光盤轉(zhuǎn)到待刻錄光盤集,并為該光盤分配一個新的編號。
[0042]在已分配光盤集中,若光盤的剩余可用容量小于或等于容量閾值或者時間上大于時間閾值,則將該光盤轉(zhuǎn)至待刻錄光盤集,并為該光盤分配一個新的編號。
[0043]步驟S204、取待刻錄光盤集中光盤,并按照光盤文件集屬性從存取緩沖器中讀取相應(yīng)數(shù)據(jù)以及元數(shù)據(jù)信息,刻錄至光盤中,并將光盤轉(zhuǎn)入已刻錄光盤集。
[0044]最后,取待刻錄光盤集中光盤,從存取緩沖器中讀取相應(yīng)數(shù)據(jù)以及元數(shù)據(jù)信息,完成光盤刻錄。
[0045]本實施例提供了一種文件分割方法、子文件添加方法完成并行數(shù)據(jù)刻錄,本方法能夠?qū)崿F(xiàn)光盤存儲系統(tǒng)中的文件的自動組織以及分配,為每張光盤分配文件集,多光驅(qū)同時工作并行刻錄數(shù)據(jù)。
[0046]實施例二:
[0047]圖3示出了本發(fā)明實施例提供的海量文件并行刻錄方法的流程,為了便于說明僅不出了與本發(fā)明實施例相關(guān)的部分。
[0048]本實施例提供的海量文件并行刻錄方法包括:
[0049]步驟S301、從存取緩沖器中獲取文件集,為其中的文件分配唯一文件編號并記錄文件在全局目錄樹中的位置,將位置關(guān)系加入全局目錄表中.
[0050]所述存取緩沖器中保保存有從前端主機傳入的文件,構(gòu)成文件集FSET。在本實施實例中,文件集FSET在全局目錄樹中的層次結(jié)構(gòu)如圖4所示。為FSET中的文件分配唯一的文件ID并記錄文件在全局目錄樹中的位置,將其關(guān)系加入全局目錄表中。每個文件具有唯一 ID用于標(biāo)識文件身份,文件具有屬性信息,具體包括文件的大小、文件是否被分割、各部分文件的寫入光盤的位置等。假設(shè)第一個文件(即filel)的ID編號為10000。
[0051]步驟S302、將文件按照大小降序排列,按照光盤的可用容量對文件進行分割得到子文件,并對子文件進行標(biāo)號,加入到文件分割表中.
[0052]所述文件集FSET中的文件,在分配ID并建立文件層級關(guān)系之后,將FSET中的文件扁平化放置,并且根據(jù)文件大小降序排列。文件集FSET排序后的文件,若存在文件大于V_SIZE的文件,對文件進行分割,分割后子文件的大小不大于V_SIZE,并且對分割后所有子文件進行局域內(nèi)編號,記錄原文件與子文件之間的對應(yīng)關(guān)系,加入文件分割表中。根據(jù)本實施實例的FSET,分割完成后的文件分割表如圖5所示。
[0053]步驟S303、對子文件按照大小降序排列,生成新文件集。
[0054]完成分割后,對所有的子文件按照大小降序排序,形成新文件集FSET_NEW。本實施實例中,F(xiàn)SET分割后子文件排序前后的排列如圖6所示。上述步驟S301-S303是實施例一中步驟S201的一種具體優(yōu)選實施方式。
[0055]步驟S304、當(dāng)新文件集不為空時,獲取已分配光盤集的屬性信息。
[0056]所述已分配光盤集CD_ASSIGN中的光盤具有容量屬性,還具有時間屬性--ΜΕ。當(dāng)光盤加入CD_ASSIGN時,將當(dāng)時時間賦值給時間屬性TIME。
[0057]步驟S305、按照已分配光盤集中的光盤的剩余可用容量進行升序排列,并為排序好的光盤分配臨時編號。
[0058]如圖7所示,假設(shè)已分配光盤集中有四張光盤,按剩余可用容量R_SIZE進行升序排列,并為排序好的光盤分配臨時編號,圖示中,這四張光盤的編號CD_N0分別為1-4,剩余可用容量分別為5GB、10GB、25GB、36GB,時間信息分別為50分鐘、40分鐘、30分鐘、10分鐘,已經(jīng)包含的文件集合分別為34GB、29GB、14GB、3GB。
[0059]步驟S306、從已分配光盤集按順序取一張光盤,獲取剩余可用容量。
[0060]從已分配光盤集中取第一張光盤,獲取剩余可用容量為5GB。
[0061]步驟S307、遍歷新文件集中的子文件,判斷是否存在不大于當(dāng)前光盤可用剩余容量的子文件;
[0062]步驟S308、若存在,則將該子文件從新文件集中添加到該光盤的文件集合中,并更新該光盤的剩余可用容量,繼續(xù)遍歷判斷;若不存在,當(dāng)已分配光盤集未取完時,取下一張光盤,繼續(xù)在新文件集中選擇子文件。
[0063]按照圖6所示的排序表,從大大小在FSET_NEW中尋找容量大小不大于為5GB的文件,找到文件編號為3的文件,且文件大小為3GB,將該子文件轉(zhuǎn)移至編號為I的光盤中,并更新編號該光盤的剩余可用容量為5-3 = 2GB,繼續(xù)尋找容量大小不大于2GB的文件,未找到,此輪遍歷完畢,選取下一張光盤,即編號為2的光盤,其剩余可用容量為10GB,從大到小繼續(xù)遍歷子文件,發(fā)現(xiàn)編號為6的子文件體積不大于10GB,因此將該子文件轉(zhuǎn)移至編號為2的光盤中,依次類推,繼續(xù)遍歷。
[0064]步驟S309、當(dāng)已分配光盤集已取完且新文件集中還有子文件時,從未分配光盤集中取一張光盤并臨時編號,并設(shè)置時間和容量屬性,將新取的光盤轉(zhuǎn)至已分配光盤集中,繼續(xù)添加子文件。
[0065]在添加子文件的過程中,若CD_ASSIGN中的所有光盤的R_SIZE都小于剩余子文件大小,則從CD_UN集合中,選出新的光盤加入CD_ASSIGN中,繼續(xù)上述選擇子文件過程。比如,將編號為10的子文件添加到編號為4的光盤后,剩余可用容量為21GB,剩余的子文件中體積都是38GB或以上,因此找不到體積不大于21GB的子文件,此時從CD_UN集合中選出一張新光盤加入CD_ASSIGN中,且編號為5,則編號為5的光盤其R_SIZE = 39GB, time_gap=0,繼續(xù)從大到小向該光盤添加子文件,最終子文件添加到光盤中的結(jié)果如圖8所示。
[0066]上述步驟S304-S309是實施例一中步驟S202的一種具體優(yōu)選實施方式,提供了一種子文件分配方案,首先對CD_ASSIG中的光盤按R_SIZE容量屬性進行升序排列,并為排序好的光盤分配臨時編號;然后按照順序取CD_ASSIGN中的光盤的R_SIZE,記為EXCEPT_SIZE,判斷在FSET_NEW中是否存在不大于EXCEPT_SIZE的文件,若存在,則將該文件從FSET_NEff中轉(zhuǎn)移到該光盤的CD_FSET集合中,該光盤的R_SIZE更新為原R_SIZE減去子文件大小;若不存在,則取CD_ASSIGN中的下一個光盤,繼續(xù)在FSET_NEW中選擇文件;若CD_ASSIGN中的所有光盤的R_SIZE都小于文件大小,則從CD_UN集合中,選出新的光盤加入CD_ASSIGN中,繼續(xù)上述選擇子文件過程。
[0067]步驟S310、判斷已分配光盤集中是否存在剩余可用容量小于容量閾值或者時間大于時間閾值的光盤;
[0068]步驟S311、若存在則為該光盤分配一個新的標(biāo)號,并且根據(jù)光盤文件集合生成對應(yīng)元數(shù)據(jù),將該光盤轉(zhuǎn)至待刻錄光盤集。
[0069]在添加子文件過程中,當(dāng)CD_ASSIGN中的某光盤的時間屬性--ΜΕ與當(dāng)前時間的時間間隔超過時間閾值或容量屬性R_SIZE不大于容量閾值時,將該光盤從CD_ASSIGN中轉(zhuǎn)移到CD_WAIT中,并為光盤分配唯一的光盤ID。在本實施實例中,時間閾值TME_THRESH0LD為I小時,容量閾值V0LUME_THRESH0LD為1GB。本實施實例中,假設(shè)CD_USED中最大的光盤IDUSED_MAX = 10090, CD_WAIT在此時為空集,則根據(jù)容量閾值以及時間閾值,子文件裝入后,CD_WAIT的內(nèi)容以及光盤屬性如圖9所示。圖示中,對于編號為10091的光盤,其剩余可用容量為2GB,在超過I小時后,若剩余可用容量仍為2GB,滿足時間閾值條件,那么將該光盤轉(zhuǎn)入CD_WAIT ;對于編號為10091的光盤,其剩余可容為0GB,小于時間閾值IGBdi足容量閾值條件,因此將該光盤轉(zhuǎn)入CD_WAIT ;依次類類推,完成將所有CD_ASSIGN中的光盤轉(zhuǎn)入CD_WAIT中。上述步驟S110、Slll為實施例一中步驟S203的一種優(yōu)選實施方式。
[0070]步驟S312、取待刻錄光盤集中光盤,并按照光盤文件集屬性從存取緩沖器中讀取相應(yīng)數(shù)據(jù)以及元數(shù)據(jù)信息,刻錄至光盤中,并將光盤轉(zhuǎn)入已刻錄光盤集。
[0071 ] 所述CD_WAIT中的光盤具有文件屬性CD_FSET,根據(jù)CD_FSET中的文件以及文件分割表來獲取文件的位置屬性信息,即文件是否被分割,若文件被分割,記錄在本光盤上的文件的位置以及偏移地址等信息,寫入文件屬性信息區(qū)域。所述CD_WAIT中的光盤數(shù)目大于最低并行度且光盤存儲系統(tǒng)存在空閑光驅(qū)時,從CD_WAIT中選擇相應(yīng)的光盤元素并根據(jù)其CD_FSET屬性,從存取緩沖器中讀取相應(yīng)的數(shù)據(jù)信息以及元數(shù)據(jù)信息,通過光盤驅(qū)動器并行刻錄入光盤中。刻錄完成后,將存取緩沖器中的數(shù)據(jù)刪除,并在文件分割表中刪除對應(yīng)的項。由此,實現(xiàn)文件的并行刻錄。
[0072]文件刻錄完畢后,當(dāng)前端主機需要讀取數(shù)據(jù)時,首先前端主機發(fā)送讀數(shù)據(jù)的請求,獲取文件ID,然后讀取全局目錄表,獲取文件元數(shù)據(jù)位置;接著讀取文件元數(shù)據(jù)位置,獲取文件元數(shù)據(jù)信息,獲取文件寫入光盤的ID以及地址;然后讀相應(yīng)的光盤ID以及地址,獲取文件內(nèi)容。
[0073]實施例三:
[0074]圖10示出了本發(fā)明實施例提供的海量文件并行刻錄裝置的結(jié)構(gòu),為了便于說明僅不出了與本發(fā)明實施例相關(guān)的部分。
[0075]本實施例提供的海量文件并行刻錄裝置包括:
[0076]文件分割單元101,用于獲取存取緩沖器中的文件集并按照文件大小進行排序分割得到子文件,對子文件進行降序排列生成新文件集;
[0077]子文件添加單元102,用于獲取已分配光盤集的屬性信息,從大到小依次讀取已分配光盤集中光盤剩余可用容量,并將不大于所述剩余可用容量的子文件添加到對應(yīng)的光盤文件集合中,并更新光盤的剩余可用容量,直至將所有子文件添加完畢;
[0078]閾值判斷單元103,用于將已分配光盤集中達到容量閾值或者時間閾值的光盤轉(zhuǎn)到待刻錄光盤集,并為該光盤分配一個新的編號;
[0079]數(shù)據(jù)刻錄單元104,用于取待刻錄光盤集中光盤,并按照光盤文件集屬性從存取緩沖器中讀取相應(yīng)數(shù)據(jù)以及元數(shù)據(jù)信息,刻錄至光盤中,并將光盤轉(zhuǎn)入已刻錄光盤集。
[0080]上述功能單元101-104對應(yīng)實現(xiàn)了實施例一中步驟S201-S204,具體的,文件分割單元101完成文件分割并排序,子文件添加單元102將排序后的子文件添加到對應(yīng)的光盤文件集合中,閾值判斷單元103判斷已分配光盤集中是否存在剩余可用容量小于容量閾值或者時間大于時間閾值的光盤,并對滿足條件的光盤分配一個新的標(biāo)號,并且根據(jù)光盤文件集合生成對應(yīng)元數(shù)據(jù),將該光盤轉(zhuǎn)至待刻錄光盤集;最后數(shù)據(jù)刻錄單元104完成光盤刻錄。
[0081]作為一種優(yōu)選實施方式,所述文件分割單元101包括:
[0082]位置記錄模塊,用于文件從存取緩沖器中獲取文件集,為其中的文件分配唯一文件編號并記錄文件在全局目錄樹中的位置,將位置關(guān)系加入全局目錄表中;
[0083]文件分割模塊,用于將文件按照大小降序排列,按照光盤的可用容量對文件進行分割得到子文件,并對子文件進行標(biāo)號,加入到文件分割表中;
[0084]排序模塊,用于對子文件按照大小降序排列,生成新文件集。
[0085]作為一種優(yōu)選實施方式,所述子文件添加單元102包括:
[0086]信息獲取模塊,用于用于當(dāng)新文件集不為空時,獲取已分配光盤集的屬性信息;
[0087]容量排序模塊,用于按照已分配光盤集中的光盤的剩余可用容量進行升序排列,并為排序好的光盤分配臨時編號;
[0088]光盤獲取模塊,用于從已分配光盤集按順序取一張光盤,獲取剩余可用容量;
[0089]遍歷判斷模塊,用于遍歷新文件集中的子文件,判斷是否存在不大于當(dāng)前光盤可用剩余容量的子文件;
[0090]子文件處理模塊,用于當(dāng)遍歷判斷模塊判斷是時,將該子文件從新文件集中添加到該光盤的文件集合中,并更新該光盤的剩余可用容量,繼續(xù)遍歷判斷;以及用于當(dāng)遍歷判斷模塊判斷否時,若已分配光盤集未取完,取下一張光盤,繼續(xù)在新文件集中選擇子文件。
[0091]作為一種優(yōu)選實施方式,所述子文件添加單元102還包括:
[0092]再分配模塊,用于當(dāng)已分配光盤集已取完且新文件集中還有子文件時,從未分配光盤集中取一張光盤并臨時編號,并設(shè)置時間和容量屬性,將新取的光盤轉(zhuǎn)至已分配光盤集中,繼續(xù)添加子文件。
[0093]作為一種優(yōu)選實施方式,所述閾值判斷單元103包括:
[0094]閾值判斷模塊,用于閾值判斷判斷已分配光盤集中是否存在剩余可用容量小于容量閾值或者時間大于時間閾值的光盤;
[0095]元數(shù)據(jù)生成模塊,用于閾值判斷模塊判斷是時,為該光盤分配一個新的標(biāo)號,并且根據(jù)光盤文件集合生成對應(yīng)元數(shù)據(jù),將該光盤轉(zhuǎn)至待刻錄光盤集。
[0096]綜上,本發(fā)明提供一種基于光盤存儲系統(tǒng)的文件管理和并行刻錄方案,本方案中,光盤存儲系統(tǒng)中的文件可自動組織以及分配,并且為每張光盤分配文件集,實現(xiàn)多光驅(qū)同時工作并行刻錄數(shù)據(jù)。
[0097]本領(lǐng)域普通技術(shù)人員可以理解,實現(xiàn)上述實施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以在存儲于一計算機可讀取存儲介質(zhì)中,所述的存儲介質(zhì),如R0M/RAM、磁盤、光盤等。
[0098]以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種海量文件并行刻錄方法,其特征在于,所述方法包括: 獲取存取緩沖器中的文件集并按照文件大小進行排序分割得到子文件,對子文件進行降序排列生成新文件集; 獲取已分配光盤集的屬性信息,從大到小依次讀取已分配光盤集中光盤剩余可用容量,并將不大于所述剩余可用容量的子文件添加到對應(yīng)的光盤文件集合中,并更新光盤的剩余可用容量,直至將所有子文件添加完畢; 將已分配光 盤集中達到容量閾值或者時間閾值的光盤轉(zhuǎn)到待刻錄光盤集,并為該光盤分配一個新的編號; 取待刻錄光盤集中光盤,并按照光盤文件集屬性從存取緩沖器中讀取相應(yīng)數(shù)據(jù)以及元數(shù)據(jù)信息,刻錄至光盤中,并將光盤轉(zhuǎn)入已刻錄光盤集。
2.如權(quán)利要求1所述方法,其特征在于,所述獲取存取緩沖器中的文件集并按照文件大小進行排序分割得到子文件,對子文件進行降序排列生成新文件集步驟,具體包括: 從存取緩沖器中獲取文件集,為其中的文件分配唯一文件編號并記錄文件在全局目錄樹中的位置,將位置關(guān)系加入全局目錄表中; 將文件按照大小降序排列,按照光盤的可用容量對文件進行分割得到子文件,并對子文件進行標(biāo)號,加入到文件分割表中; 對子文件按照大小降序排列,生成新文件集。
3.如權(quán)利要求2所述方法,其特征在于,所述獲取已分配光盤集的屬性信息,從大到小依次讀取已分配光盤集中光盤剩余可用容量,并將不大于所述剩余可用容量的子文件添加到對應(yīng)的光盤文件集合中,并更新光盤的剩余可用容量,直至將所有子文件添加完畢步驟,具體包括: 當(dāng)新文件集不為空時,獲取已分配光盤集的屬性信息; 按照已分配光盤集中的光盤的剩余可用容量進行升序排列,并為排序好的光盤分配臨時編號; 從已分配光盤集按順序取一張光盤,獲取剩余可用容量; 遍歷新文件集中的子文件,判斷是否存在不大于當(dāng)前光盤可用剩余容量的子文件; 若存在,則將該子文件從新文件集中添加到該光盤的文件集合中,并更新該光盤的剩余可用容量,繼續(xù)遍歷判斷; 若不存在,當(dāng)已分配光盤集未取完時,取下一張光盤,繼續(xù)在新文件集中選擇子文件。
4.如權(quán)利要求3所述方法,其特征在于,所述獲取已分配光盤集的屬性信息,從大到小依次讀取已分配光盤集中光盤剩余可用容量,并將不大于所述剩余可用容量的子文件添加到對應(yīng)的光盤文件集合中,并更新光盤的剩余可用容量,直至將所有子文件添加完畢步驟,還包括: 當(dāng)已分配光盤集已取完且新文件集中還有子文件時,從未分配光盤集中取一張光盤并臨時編號,并設(shè)置時間和容量屬性,將新取的光盤轉(zhuǎn)至已分配光盤集中,繼續(xù)添加子文件。
5.如權(quán)利要求4所述方法,其特征在于,所述將已分配光盤集中達到容量閾值或者時間閾值的光盤轉(zhuǎn)到待刻錄光盤集,并為該光盤分配一個新的編號步驟,具體包括: 判斷已分配光盤集中是否存在剩余可用容量小于容量閾值或者時間大于時間閾值的光盤;若存在則為該光盤分配一個新的標(biāo)號,并且根據(jù)光盤文件集合生成對應(yīng)元數(shù)據(jù),將該光盤轉(zhuǎn)至待刻錄光盤集。
6.一種海量文件并行刻錄裝置,其特征在于,所述裝置包括: 文件分割單元,用于獲取存取緩沖器中的文件集并按照文件大小進行排序分割得到子文件,對子文件進行降序排列生成新文件集; 子文件添加單元, 用于獲取已分配光盤集的屬性信息,從大到小依次讀取已分配光盤集中光盤剩余可用容量,并將不大于所述剩余可用容量的子文件添加到對應(yīng)的光盤文件集合中,并更新光盤的剩余可用容量,直至將所有子文件添加完畢; 閾值判斷單元,用于將已分配光盤集中達到容量閾值或者時間閾值的光盤轉(zhuǎn)到待刻錄光盤集,并為該光盤分配一個新的編號; 數(shù)據(jù)刻錄單元,用于取待刻錄光盤集中光盤,并按照光盤文件集屬性從存取緩沖器中讀取相應(yīng)數(shù)據(jù)以及元數(shù)據(jù)信息,刻錄至光盤中,并將光盤轉(zhuǎn)入已刻錄光盤集。
7.如權(quán)利要求6所述裝置,其特征在于,所述文件分割單元包括: 位置記錄模塊,用于文件從存取緩沖器中獲取文件集,為其中的文件分配唯一文件編號并記錄文件在全局目錄樹中的位置,將位置關(guān)系加入全局目錄表中; 文件分割模塊,用于將文件按照大小降序排列,按照光盤的可用容量對文件進行分割得到子文件,并對子文件進行標(biāo)號,加入到文件分割表中; 排序模塊,用于對子文件按照大小降序排列,生成新文件集。
8.如權(quán)利要求7所述裝置,其特征在于,所述子文件添加單元包括: 信息獲取模塊,用于用于當(dāng)新文件集不為空時,獲取已分配光盤集的屬性信息; 容量排序模塊,用于按照已分配光盤集中的光盤的剩余可用容量進行升序排列,并為排序好的光盤分配臨時編號; 光盤獲取模塊,用于從已分配光盤集按順序取一張光盤,獲取剩余可用容量; 遍歷判斷模塊,用于遍歷新文件集中的子文件,判斷是否存在不大于當(dāng)前光盤可用剩余容量的子文件; 子文件處理模塊,用于當(dāng)遍歷判斷模塊判斷是時,將該子文件從新文件集中添加到該光盤的文件集合中,并更新該光盤的剩余可用容量,繼續(xù)遍歷判斷;以及用于當(dāng)遍歷判斷模塊判斷否時,若已分配光盤集未取完,取下一張光盤,繼續(xù)在新文件集中選擇子文件。
9.如權(quán)利要求8所述裝置,其特征在于,所述子文件添加單元還包括: 再分配模塊,用于當(dāng)已分配光盤集已取完且新文件集中還有子文件時,從未分配光盤集中取一張光盤并臨時編號,并設(shè)置時間和容量屬性,將新取的光盤轉(zhuǎn)至已分配光盤集中,繼續(xù)添加子文件。
10.如權(quán)利要求9所述裝置,其特征在于,所述閾值判斷單元包括: 閾值判斷模塊,用于閾值判斷判斷已分配光盤集中是否存在剩余可用容量小于容量閾值或者時間大于時間閾值的光盤; 元數(shù)據(jù)生成模塊,用于閾值判斷模塊判斷是時,為該光盤分配一個新的標(biāo)號,并且根據(jù)光盤文件集合生成對應(yīng)元數(shù)據(jù),將該光盤轉(zhuǎn)至待刻錄光盤集。
【文檔編號】G06F17/30GK104077406SQ201410326759
【公開日】2014年10月1日 申請日期:2014年7月10日 優(yōu)先權(quán)日:2014年7月10日
【發(fā)明者】曹強, 姚杰, 謝長生, 彭晨 申請人:武漢光憶科技有限公司