數(shù)據(jù)編輯裝置制造方法
【專(zhuān)利摘要】本公開(kāi)涉及一種執(zhí)行數(shù)據(jù)編輯處理的數(shù)據(jù)編輯裝置。根據(jù)本公開(kāi)的數(shù)據(jù)編輯裝置包括被配置成執(zhí)行數(shù)據(jù)編輯處理的至少一個(gè)處理器,該數(shù)據(jù)編輯處理將轉(zhuǎn)移開(kāi)始位置和轉(zhuǎn)移結(jié)束位置之間的數(shù)據(jù)插入到轉(zhuǎn)移插入位置,轉(zhuǎn)移插入數(shù)據(jù)包括,將在轉(zhuǎn)移開(kāi)始位置處及其之后的轉(zhuǎn)移開(kāi)始后數(shù)據(jù)轉(zhuǎn)移到第一新叢集,將在轉(zhuǎn)移結(jié)束叢集中的轉(zhuǎn)移結(jié)束位置處及其之前的轉(zhuǎn)移結(jié)束前數(shù)據(jù)轉(zhuǎn)移到第二新叢集,將在轉(zhuǎn)移插入位置處及其之前的轉(zhuǎn)移插入前數(shù)據(jù)或者在轉(zhuǎn)移插入位置處及其之后的轉(zhuǎn)移插入后數(shù)據(jù)轉(zhuǎn)移到第一或第二新叢集,并且編輯管理數(shù)據(jù),使得轉(zhuǎn)移開(kāi)始叢集值的叢集被鏈接在第一新叢集之后,并且轉(zhuǎn)移結(jié)束叢集之前的叢集被鏈接在第二新叢集之前。
【專(zhuān)利說(shuō)明】數(shù)據(jù)編輯裝置
【技術(shù)領(lǐng)域】
[0001]這里討論的實(shí)施例涉及一種數(shù)據(jù)編輯裝置。
【背景技術(shù)】
[0002]隨著近來(lái)存儲(chǔ)介質(zhì)諸如硬盤(pán)和安全數(shù)字(SD)卡的容量的增加,出現(xiàn)了對(duì)大尺寸文件的數(shù)據(jù)進(jìn)行高效編輯的方法的需求。特別地,在具有低處理能力的小系統(tǒng)諸如數(shù)字相機(jī)中,對(duì)編輯大尺寸視頻文件的需要已增加。然而,當(dāng)針對(duì)視頻文件執(zhí)行插入新的幀或移除一些幀的處理時(shí),在前述幀之后存儲(chǔ)的幀的數(shù)據(jù)必須被前向或后向轉(zhuǎn)移,并且這樣的處理耗用時(shí)間。當(dāng)作為插入處理或移除處理的對(duì)象的幀的數(shù)據(jù)量小時(shí),也出現(xiàn)了同一問(wèn)題。
[0003]在存儲(chǔ)介質(zhì)中使用的文件分配表(FAT)的文件系統(tǒng)中,數(shù)據(jù)以叢集(cluster)為單位進(jìn)行存儲(chǔ),并且數(shù)據(jù)鏈路由叢集的鏈路結(jié)構(gòu)管理。作為以叢集為單位存儲(chǔ)數(shù)據(jù)的結(jié)果,通過(guò)修改叢集的鏈路結(jié)構(gòu),可以在不轉(zhuǎn)移數(shù)據(jù)的情況下執(zhí)行插入處理或移除處理。然而,在該情況下,作為編輯對(duì)象的數(shù)據(jù)的位置限于叢集的邊界位置,并且作為插入處理和移除處理的對(duì)象的數(shù)據(jù)的尺寸限于叢集尺寸的倍數(shù)。因此,已提出了一種不受叢集尺寸限制的用于執(zhí)行數(shù)據(jù)編輯處理的技術(shù)(日本專(zhuān)利申請(qǐng)公布N0.2001-75856和日本專(zhuān)利申請(qǐng)公布N0.2000-298611)。
【發(fā)明內(nèi)容】
[0004]然而,傳統(tǒng)方法并未考慮與數(shù)據(jù)的編輯處理中的文件創(chuàng)建和刪除相關(guān)的目錄條目的更新次數(shù)的增加,或者編輯之后的文件中的叢集的破碎。結(jié)果,編輯處理耗用時(shí)間并且對(duì)已編輯文件的訪(fǎng)問(wèn)也耗用時(shí)間。此外,沒(méi)有考慮數(shù)據(jù)的編輯處理被中斷的情況下(例如,當(dāng)設(shè)備電源斷開(kāi)時(shí))的文件的安全性和數(shù)據(jù)的安全性。
[0005]因此,實(shí)施例的一個(gè)方面的目的在于提供一種執(zhí)行有效的數(shù)據(jù)編輯處理的數(shù)據(jù)編輯裝置。
[0006]根據(jù)實(shí)施例的第一方面,一種執(zhí)行記錄介質(zhì)的數(shù)據(jù)編輯處理的數(shù)據(jù)編輯裝置,記錄介質(zhì)包括設(shè)置有多個(gè)叢集并且其中以叢集為單位記錄數(shù)據(jù)文件的數(shù)據(jù)區(qū)域,以及其中記錄管理數(shù)據(jù)文件的管理數(shù)據(jù)的管理區(qū)域,該數(shù)據(jù)編輯裝置包括至少一個(gè)處理器,其被配置成執(zhí)行數(shù)據(jù)編輯處理,該數(shù)據(jù)編輯處理將轉(zhuǎn)移源文件中的轉(zhuǎn)移開(kāi)始位置和轉(zhuǎn)移結(jié)束位置之間的插入數(shù)據(jù)轉(zhuǎn)移到轉(zhuǎn)移目標(biāo)文件中的轉(zhuǎn)移插入位置,轉(zhuǎn)移該插入數(shù)據(jù)包括,將在具有轉(zhuǎn)移源文件的轉(zhuǎn)移開(kāi)始位置的轉(zhuǎn)移開(kāi)始叢集中的轉(zhuǎn)移開(kāi)始位置處及其之后的轉(zhuǎn)移開(kāi)始后數(shù)據(jù)轉(zhuǎn)移到其中未記錄轉(zhuǎn)移源文件和轉(zhuǎn)移目標(biāo)文件的第一新叢集,第一新叢集包括在多個(gè)叢集中;將在具有轉(zhuǎn)移源文件的轉(zhuǎn)移結(jié)束位置的轉(zhuǎn)移結(jié)束叢集中的轉(zhuǎn)移結(jié)束位置處及其之前的轉(zhuǎn)移結(jié)束前數(shù)據(jù)轉(zhuǎn)移到其中未記錄轉(zhuǎn)移源文件和轉(zhuǎn)移目標(biāo)文件的第二新叢集,第二新叢集不同于第一新叢集并且包括在多個(gè)叢集中;將在具有轉(zhuǎn)移目標(biāo)文件的轉(zhuǎn)移插入位置的轉(zhuǎn)移插入?yún)布械霓D(zhuǎn)移插入位置處及其之前的轉(zhuǎn)移插入前數(shù)據(jù)或者在該轉(zhuǎn)移插入?yún)布械霓D(zhuǎn)移插入位置處及其之后的轉(zhuǎn)移插入后數(shù)據(jù)轉(zhuǎn)移到第一新叢集或第二新叢集;以及針對(duì)轉(zhuǎn)移目標(biāo)文件編輯管理數(shù)據(jù),使得轉(zhuǎn)移開(kāi)始叢集之后的叢集被鏈接在第一新叢集之后,并且轉(zhuǎn)移結(jié)束叢集之前的叢集被鏈接在第二新叢集之前。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0007]圖1圖示了本實(shí)施例中的數(shù)據(jù)編輯裝置的示例。
[0008]圖2圖示了本實(shí)施例的數(shù)據(jù)編輯裝置中的軟件配置的示例。
[0009]圖3A和圖3B例示了 FAT文件系統(tǒng)的概況。
[0010]圖4圖示了包括視頻數(shù)據(jù)的文件I的結(jié)構(gòu)的示例。
[0011]圖5圖示了數(shù)據(jù)編輯表的示例。
[0012]圖6圖示了數(shù)據(jù)插入處理的示例。
[0013]圖7圖示了數(shù)據(jù)移除處理。
[0014]圖8A和圖SB是圖示比較示例中的數(shù)據(jù)插入處理的流程的第一示圖。
[0015]圖9A和圖9B是圖示作為圖8B中所示的處理的繼續(xù)的、比較示例中的數(shù)據(jù)插入處理的流程的第二示圖。
[0016]圖10是圖示比較示例中的數(shù)據(jù)插入處理的流程圖。
[0017]圖1lA至圖1lC是圖示本實(shí)施例中的數(shù)據(jù)插入處理的流程的第一示圖。
[0018]圖12A和圖12B是圖示作為圖1lC中所示的處理的繼續(xù)的、本實(shí)施例中的數(shù)據(jù)插入處理的流程的第二示圖。
[0019]圖13A和圖13B是圖示作為圖12B中所示的處理的繼續(xù)的、本實(shí)施例中的數(shù)據(jù)插入處理的流程的第三示圖。
[0020]圖14是圖示本實(shí)施例中的數(shù)據(jù)插入處理的流程圖。
[0021]圖15圖示了當(dāng)在數(shù)據(jù)插入處理的過(guò)程中中斷處理時(shí)的文件安全性。
[0022]圖16A和圖16B是圖示比較示例中的數(shù)據(jù)移除處理的流程的第一示圖。
[0023]圖17是圖示作為圖16B中所示的處理的繼續(xù)的、比較示例中的數(shù)據(jù)移除處理的流程的第二示圖。
[0024]圖18是圖示比較示例中的數(shù)據(jù)移除處理的流程圖。
[0025]圖19A至圖19C是圖示本實(shí)施例中的數(shù)據(jù)移除處理的流程的第一示圖。
[0026]圖20A至圖20C是圖示本實(shí)施例中的數(shù)據(jù)移除處理的流程的第二示圖。
[0027]圖21是圖示本實(shí)施例中的數(shù)據(jù)移除處理的流程圖。
[0028]圖22圖示了當(dāng)在數(shù)據(jù)移除處理的過(guò)程中中斷處理時(shí)的文件安全性。
[0029]圖23A和圖23B是圖示比較示例中的數(shù)據(jù)轉(zhuǎn)移處理的流程的第一示圖。
[0030]圖24是圖示作為圖23B中所示的處理的繼續(xù)的、比較示例中的數(shù)據(jù)轉(zhuǎn)移處理的流程的第二示圖。
[0031]圖25是圖示比較示例中的數(shù)據(jù)轉(zhuǎn)移處理的流程圖。
[0032]圖26A和圖26B是圖示本實(shí)施例中的數(shù)據(jù)轉(zhuǎn)移處理的流程的第一示圖。
[0033]圖27A和圖27B是圖示作為圖26B中所示的處理的繼續(xù)的、本實(shí)施例中的數(shù)據(jù)轉(zhuǎn)移處理的流程的第二示圖。
[0034]圖28A和圖28B是圖示作為圖27B中所示的處理的繼續(xù)的、本實(shí)施例中的數(shù)據(jù)轉(zhuǎn)移處理的流程的第三示圖。
[0035]圖29A和圖29B是圖示作為圖28B中所示的處理的繼續(xù)的、本實(shí)施例中的數(shù)據(jù)轉(zhuǎn)移處理的流程的第四示圖。
[0036]圖30A和圖30B是圖示作為圖29B中所示的處理的繼續(xù)的、本實(shí)施例中的數(shù)據(jù)轉(zhuǎn)移處理的流程的第五示圖。
[0037]圖31是圖示本實(shí)施例中的數(shù)據(jù)轉(zhuǎn)移處理的流程圖。
[0038]圖32A和圖32B圖示了在數(shù)據(jù)轉(zhuǎn)移處理中被寫(xiě)入兩個(gè)新叢集中的數(shù)據(jù)樣式。
[0039]圖33A和圖33B圖示了樣式1_2中的數(shù)據(jù)轉(zhuǎn)移處理的具體示例。
[0040]圖34A和圖34B圖示了樣式2中的數(shù)據(jù)轉(zhuǎn)移處理的具體示例。
[0041]圖35圖示了當(dāng)在數(shù)據(jù)轉(zhuǎn)移處理的過(guò)程中中斷處理時(shí)的文件安全性。
[0042]圖36圖示了本實(shí)施例和比較示例之間的目錄條目的更新次數(shù)、新叢集的數(shù)目以及破碎次數(shù)的差異。
[0043]圖37是圖不文件恢復(fù)處理的第一流程圖。
[0044]圖38圖示了對(duì)應(yīng)于數(shù)據(jù)轉(zhuǎn)移處理的文件恢復(fù)處理(圖37中的S83)。
[0045]圖39圖示了對(duì)應(yīng)于數(shù)據(jù)插入處理的文件恢復(fù)處理(圖37中的S85)。
[0046]圖40圖示了對(duì)應(yīng)于數(shù)據(jù)移除處理的文件恢復(fù)處理(圖37中的S87)。
[0047]圖41A至圖41C圖示了數(shù)據(jù)轉(zhuǎn)移處理中的每個(gè)文件的尺寸的具體示例。
[0048]圖42圖示了對(duì)應(yīng)于圖41A至圖41C中所示的具體示例的數(shù)據(jù)編輯表的示例。
[0049]圖43圖示了關(guān)于轉(zhuǎn)移目標(biāo)文件(文件I)、轉(zhuǎn)移源文件(文件2)和虛擬文件的文件狀態(tài)和恢復(fù)指南的具體示例。
【具體實(shí)施方式】
[0050]下文將參照附圖描述本發(fā)明的實(shí)施例。然而,本發(fā)明的技術(shù)范圍不限于這些實(shí)施例并且包括權(quán)利要求及其等同物中描述的主題。
[0051][裝置配置]
[0052]圖1圖示了本實(shí)施例中的數(shù)據(jù)編輯裝置的示例。在該圖中,數(shù)據(jù)編輯裝置具有例如,中央處理單元(CPU) 11、隨機(jī)存取存儲(chǔ)器(RAM) 12、只讀存儲(chǔ)器(ROM) 13、顯示單元14、輸入單元15、介質(zhì)訪(fǎng)問(wèn)設(shè)備16和次級(jí)存儲(chǔ)設(shè)備17。這些單元通過(guò)總線(xiàn)18彼此連接。例如,本實(shí)施例的數(shù)據(jù)編輯程序PR存儲(chǔ)在R0M13中。顯示單元14是例如顯示器,并且輸入單元15是鍵盤(pán)或鼠標(biāo)。介質(zhì)訪(fǎng)問(wèn)設(shè)備16是控制對(duì)非易失性次級(jí)存儲(chǔ)設(shè)備17諸如硬盤(pán)或閃速存儲(chǔ)器的訪(fǎng)問(wèn)的設(shè)備。
[0053][軟件配置]
[0054]圖2圖示了本實(shí)施例的數(shù)據(jù)編輯裝置中的軟件配置的示例。軟件存儲(chǔ)在例如圖1中所示的數(shù)據(jù)編輯裝置的R0M13中。本實(shí)施例的數(shù)據(jù)編輯程序PR是例如與文件系統(tǒng)23相關(guān)的程序。
[0055]圖2中所示的軟件具有例如,應(yīng)用21、視頻編輯庫(kù)22、文件系統(tǒng)23和介質(zhì)驅(qū)動(dòng)器24。例如,在接受用戶(hù)執(zhí)行的操作的情況下,執(zhí)行視頻編輯等的應(yīng)用21向視頻編輯庫(kù)22通知與用戶(hù)操作對(duì)應(yīng)的操作指令信息。例如,操作指令信息是指示將數(shù)據(jù)插入到次級(jí)存儲(chǔ)設(shè)備17中記錄的文件中的處理、從其中移除數(shù)據(jù)的處理以及在文件之間轉(zhuǎn)移數(shù)據(jù)的處理的信息。視頻編輯庫(kù)22對(duì)操作指令信息進(jìn)行轉(zhuǎn)換以適應(yīng)文件系統(tǒng)23的接口并且通知文件系統(tǒng)23。文件系統(tǒng)23向介質(zhì)驅(qū)動(dòng)器24通知基于操作指令信息的命令。
[0056]圖2中所示的硬件具有介質(zhì)訪(fǎng)問(wèn)設(shè)備16和介質(zhì)(次級(jí)存儲(chǔ)設(shè)備)17。介質(zhì)訪(fǎng)問(wèn)設(shè)備16基于從介質(zhì)驅(qū)動(dòng)器24輸入的命令來(lái)讀取、寫(xiě)入或刪除次級(jí)存儲(chǔ)設(shè)備17中存儲(chǔ)的信息。本實(shí)施例的次級(jí)存儲(chǔ)設(shè)備17被格式化為文件分配表(FAT)文件系統(tǒng)。在下文中說(shuō)明FAT文件系統(tǒng)。
[0057][FAT文件系統(tǒng)]
[0058]圖3A和圖3B例示了 FAT文件系統(tǒng)的概況。在FAT文件系統(tǒng)中,通過(guò)將叢集用作邏輯單元來(lái)存儲(chǔ)數(shù)據(jù)。因此,根據(jù)文件中的數(shù)據(jù)的尺寸分配一個(gè)叢集或多個(gè)叢集。如圖3A中所示,F(xiàn)AT文件系統(tǒng)具有例如三個(gè)如下區(qū)域:根扇區(qū)區(qū)域X1、FAT區(qū)域(管理區(qū)域)X2和文件/目錄區(qū)域(數(shù)據(jù)區(qū)域)X3。
[0059]與整個(gè)配置相關(guān)的信息,諸如次級(jí)存儲(chǔ)設(shè)備的容量和叢集單位尺寸,被存儲(chǔ)在根扇區(qū)區(qū)域Xl中。例如基于512字節(jié)扇區(qū)單位來(lái)管理根扇區(qū)區(qū)域XI。此外,被稱(chēng)為目錄條目和文件數(shù)據(jù)的文件管理信息被存儲(chǔ)在文件/目錄區(qū)域X3中。以尺寸大于扇區(qū)(比扇區(qū)尺寸大2倍至2的η次方倍)的叢集單位來(lái)管理文件/目錄區(qū)域。管理信息包括諸如文件名、文件尺寸和數(shù)據(jù)將被存儲(chǔ)的初始叢集的序列號(hào)的信息。
[0060]按一比一的比率已被分配給文件/目錄區(qū)域中的叢集的FAT條目被存儲(chǔ)在FAT區(qū)域Χ2中。每個(gè)FAT條目具有指示對(duì)應(yīng)叢集的狀態(tài)的值(12位、16位或32位)。更具體地,當(dāng)沒(méi)有使用對(duì)應(yīng)叢集時(shí),F(xiàn)AT條目具有指示空狀態(tài)的值。當(dāng)對(duì)應(yīng)叢集正被使用并且存在接續(xù)將被存儲(chǔ)在叢集中的數(shù)據(jù)的數(shù)據(jù)時(shí),F(xiàn)AT條目具有其中要存儲(chǔ)接續(xù)數(shù)據(jù)的叢集的序列號(hào)。同時(shí),在接續(xù)數(shù)據(jù)不存在的情況下,F(xiàn)AT條目具有指示叢集結(jié)束(EOC)的值。叢集的序列號(hào)從例如2開(kāi)始,而FAT條目的序列號(hào)從O開(kāi)始。因此具有O和I的序列號(hào)的FAT條目存儲(chǔ)指示預(yù)留區(qū)域的值。
[0061]換言之,在FAT文件系統(tǒng)中,基于一個(gè)叢集或者多個(gè)叢集的鏈(叢集鏈)來(lái)管理對(duì)象文件,目錄條目是首條目。更具體地,對(duì)于對(duì)象文件,初始數(shù)據(jù)被存儲(chǔ)在具有目錄條目中存儲(chǔ)的序列號(hào)的叢集中。鏈接到初始叢集之后的叢集的序列號(hào),或者指示初始叢集是尾叢集的值(EOC),被存儲(chǔ)在與初始叢集對(duì)應(yīng)的FAT條目中。
[0062]圖3Β圖示了對(duì)象文件(文件I)的結(jié)構(gòu)的示例,其對(duì)應(yīng)于圖3Α中所示的配置。在本實(shí)施例中,正方形圖示叢集,并且正方形內(nèi)部呈現(xiàn)的數(shù)字圖示叢集的序列號(hào)。在本示例中,文件I的數(shù)據(jù)被依次存儲(chǔ)在作為首叢集的叢集3、叢集4、叢集5、叢集12和叢集13中。
[0063]例如,當(dāng)讀取文件I的數(shù)據(jù)時(shí),文件系統(tǒng)23從叢集I中存儲(chǔ)的目錄條目中獲取文件I的文件名和文件尺寸,并且還獲取其中將記錄數(shù)據(jù)的首叢集的序列號(hào)3。隨后,文件系統(tǒng)23獲取之后鏈接的叢集的序列號(hào)4,其已被存儲(chǔ)在與叢集3對(duì)應(yīng)的FAT條目3中。隨后,文件系統(tǒng)23同樣地獲取與叢集4對(duì)應(yīng)的FAT條目4中存儲(chǔ)的叢集的序列號(hào)5。同樣地獲取關(guān)于接續(xù)叢集5的叢集12和叢集13的信息。由于叢集13是文件I的極末端處的叢集,因此EOC被存儲(chǔ)在FAT條目13中。
[0064]因而,在FAT文件系統(tǒng)中,基于FAT區(qū)域Χ2中的條目來(lái)管理以叢集為單位存儲(chǔ)在文件/目錄區(qū)域Χ3中的數(shù)據(jù)鏈。因此,文件系統(tǒng)可以通過(guò)重寫(xiě)FAT條目中存儲(chǔ)的叢集的序列號(hào)來(lái)改變數(shù)據(jù)鏈。在圖3Β中,文件I的尺寸對(duì)應(yīng)于箭頭圖示的值SZ。
[0065][叢集的破碎]
[0066]本實(shí)施例中的叢集的破碎指示如下?tīng)顟B(tài),其中構(gòu)成一個(gè)文件的數(shù)據(jù)的叢集的序列號(hào)不是連續(xù)的。因此,破碎指示其中次級(jí)存儲(chǔ)設(shè)備中的數(shù)據(jù)的存儲(chǔ)位置不是連續(xù)的狀態(tài)。例如,在圖3B中,文件I按描述的順序存儲(chǔ)作為首叢集的叢集3、叢集4、叢集5、叢集12和叢集13中的數(shù)據(jù)。因此,在文件I中,叢集的序列號(hào)在叢集3至5與叢集12和叢集13之間不是連續(xù)的,并且破碎次數(shù)是I。當(dāng)叢集的破碎次數(shù)大時(shí),文件數(shù)據(jù)的訪(fǎng)問(wèn)速率降低。
[0067]下文說(shuō)明了具有視頻數(shù)據(jù)的文件的結(jié)構(gòu)。在本實(shí)施例中,基于視頻數(shù)據(jù)的編輯處理說(shuō)明了處理流程。然而,本實(shí)施例中的數(shù)據(jù)編輯處理不限于視頻數(shù)據(jù)的編輯。
[0068][視頻文件數(shù)據(jù)的結(jié)構(gòu)]
[0069]圖4圖示了包括視頻數(shù)據(jù)的文件I的結(jié)構(gòu)的示例。除了通常的數(shù)據(jù)之外,視頻數(shù)據(jù)具有報(bào)頭HD和管理數(shù)據(jù)DX。報(bào)頭HD具有例如,指示文件I是具有視頻數(shù)據(jù)的文件的識(shí)別信息。此外,管理數(shù)據(jù)DX包括構(gòu)成視頻數(shù)據(jù)的幀在數(shù)據(jù)內(nèi)的位置(偏移)和指示尺寸的索引。索引中的一個(gè)條目與一個(gè)幀相關(guān)聯(lián)。
[0070]在本實(shí)施例中,叢集中的變黑的區(qū)域指示報(bào)頭HD,具有黑點(diǎn)的區(qū)域指示管理數(shù)據(jù)DX,并且黑色部分指示未使用的區(qū)域。叢集中的斜線(xiàn)區(qū)域、橫線(xiàn)區(qū)域和柵狀區(qū)域均指示數(shù)據(jù)部分,并且斜線(xiàn)區(qū)域指示數(shù)據(jù)編輯表區(qū)域。下文將說(shuō)明數(shù)據(jù)編輯表。例如,當(dāng)指示文件I的復(fù)制時(shí),基于FAT條目依次引用數(shù)據(jù)并且基于數(shù)據(jù)中包含的報(bào)頭HD將數(shù)據(jù)識(shí)別為視頻數(shù)據(jù)。因此,基于數(shù)據(jù)尾部中存儲(chǔ)的索引來(lái)依次讀取與復(fù)制指令對(duì)應(yīng)的幀的數(shù)據(jù)。因而,對(duì)于具有視頻數(shù)據(jù)的文件,與每個(gè)幀對(duì)應(yīng)的索引用于訪(fǎng)問(wèn)與幀對(duì)應(yīng)的數(shù)據(jù)。因此,具有視頻數(shù)據(jù)的文件可以具有在數(shù)據(jù)中部的未使用區(qū)域。
[0071][數(shù)據(jù)編輯表]
[0072]圖5圖示了數(shù)據(jù)編輯表的示例。在本實(shí)施例中,數(shù)據(jù)編輯表具有例如,編輯指令信息和編輯結(jié)果信息。在該圖中,編輯指令信息指示輸入分類(lèi),并且編輯結(jié)果信息指示輸出分類(lèi)。
[0073]在數(shù)據(jù)編輯指令之后例如從視頻編輯庫(kù)22 (圖2)輸入數(shù)據(jù)編輯表,并且在數(shù)據(jù)編輯處理期間數(shù)據(jù)編輯表被臨時(shí)存儲(chǔ)在數(shù)據(jù)尾部中。在該情況下,編輯指令信息被存儲(chǔ)在數(shù)據(jù)編輯表中。結(jié)果,即使當(dāng)數(shù)據(jù)編輯處理中斷時(shí),文件仍被恢復(fù)到編輯處理之前或者編輯處理之后的狀態(tài)。一旦數(shù)據(jù)編輯完成,則編輯結(jié)果信息被分配給數(shù)據(jù)編輯表,并且數(shù)據(jù)編輯表還被從數(shù)據(jù)尾部刪除并且被輸出到視頻編輯庫(kù)22。
[0074]編輯指令信息具有例如關(guān)于編輯處理類(lèi)型、編輯開(kāi)始位置和編輯數(shù)據(jù)尺寸的信息。編輯處理類(lèi)型是INSERT1N(插入)或REMOVAL(移除)。當(dāng)指令數(shù)據(jù)插入時(shí),設(shè)定INSERT1N,而當(dāng)指定數(shù)據(jù)移除時(shí),設(shè)定REMOVAL。在數(shù)據(jù)轉(zhuǎn)移處理的情況下,與數(shù)據(jù)插入處理對(duì)應(yīng)的數(shù)據(jù)編輯表被分配給數(shù)據(jù)轉(zhuǎn)移目標(biāo)文件,并且與數(shù)據(jù)移除處理對(duì)應(yīng)的數(shù)據(jù)編輯表被分配給數(shù)據(jù)轉(zhuǎn)移源文件。編輯開(kāi)始位置指示數(shù)據(jù)中的編輯處理對(duì)象在文件中的位置。更具體地,編輯開(kāi)始位置指示在插入處理的情況下的數(shù)據(jù)插入開(kāi)始位置以及在移除處理的情況下的作為移除對(duì)象的數(shù)據(jù)的開(kāi)始位置。編輯數(shù)據(jù)尺寸指示作為移除對(duì)象的數(shù)據(jù)的尺寸。更具體地,編輯數(shù)據(jù)尺寸指示在插入處理的情況下的插入數(shù)據(jù)的尺寸以及在移除處理的情況下的作為移除對(duì)象的數(shù)據(jù)的尺寸。
[0075]編輯結(jié)果信息具有例如關(guān)于編輯之后的文件尺寸和編輯數(shù)據(jù)偏移的信息。編輯數(shù)據(jù)偏移指示通過(guò)編輯處理插入或轉(zhuǎn)移的數(shù)據(jù)的首位置。更具體地,編輯數(shù)據(jù)偏移指示在插入處理的情況下的插入數(shù)據(jù)的開(kāi)始位置以及在移除處理的情況下的被移除數(shù)據(jù)之后的數(shù)據(jù)的開(kāi)始位置。
[0076]下文將基于數(shù)據(jù)插入處理和數(shù)據(jù)移除處理來(lái)說(shuō)明數(shù)據(jù)編輯表中的值的示例。
[0077][數(shù)據(jù)編輯表的示例:數(shù)據(jù)插入處理]
[0078]圖6圖示了數(shù)據(jù)插入處理的示例。在該圖中,圖示了作為示例的數(shù)據(jù)插入之前的文件I和數(shù)據(jù)插入之后的文件lx。在該示例中,由橫線(xiàn)表示的插入數(shù)據(jù)DX被插入在由斜線(xiàn)表示的文件I的數(shù)據(jù)Fl中的插入位置pi。插入數(shù)據(jù)DX是存儲(chǔ)器空間上的臨時(shí)數(shù)據(jù),而非次級(jí)存儲(chǔ)設(shè)備中存儲(chǔ)的數(shù)據(jù)。
[0079]在圖6中所示的編輯之后的文件Ix中,插入數(shù)據(jù)DX被添加在數(shù)據(jù)插入位置pi之后并且在數(shù)據(jù)插入位置Pl處及其之后的數(shù)據(jù)被轉(zhuǎn)移到插入數(shù)據(jù)DX之后的位置。在該示例中,數(shù)據(jù)插入位置Pl被布置在叢集中部,并且插入數(shù)據(jù)DX的寫(xiě)入從新叢集的首部開(kāi)始。因此,在文件Ix中,在數(shù)據(jù)插入位置Pl值的原始數(shù)據(jù)Flb和插入數(shù)據(jù)DX之間以及在插入數(shù)據(jù)DX和數(shù)據(jù)插入位置pi之后的原始數(shù)據(jù)Fla之間存在由空白指示的未使用區(qū)域el、e2。
[0080]在圖6中所示的示例中,被分配給文件I的數(shù)據(jù)編輯表中的編輯指令信息中的編輯處理類(lèi)型是INSERT1N,編輯開(kāi)始位置是數(shù)據(jù)插入位置pl,并且編輯數(shù)據(jù)尺寸是插入數(shù)據(jù)DX的尺寸Si。在編輯之后生成的數(shù)據(jù)編輯表中的編輯結(jié)果信息中的編輯數(shù)據(jù)偏移是編輯之后的文件Ix中的插入數(shù)據(jù)的開(kāi)始位置P2。此外,編輯之后的文件尺寸是包括未使用的區(qū)域el、e2的尺寸s2。因此,在該示例中,由于編輯之后的文件Ix包括未使用的區(qū)域,因此編輯之前的文件I中的編輯開(kāi)始位置Pl和編輯之后的文件Ix中的編輯數(shù)據(jù)的偏移P2不匹配。此外,通過(guò)從編輯之后的文件Ix的尺寸s2中減去編輯之前的文件I的尺寸s0,可以檢測(cè)編輯之后的文件Ix中的數(shù)據(jù)插入位置Pl (編輯開(kāi)始位置)之后的數(shù)據(jù)相對(duì)于編輯之前的其位置的轉(zhuǎn)移量S3。
[0081][數(shù)據(jù)編輯:移除]
[0082]下文將參照?qǐng)D7說(shuō)明數(shù)據(jù)移除處理。在該圖中,圖示了作為示例的數(shù)據(jù)移除之前的文件2和數(shù)據(jù)移除之后的文件2x。在該示例中,從由斜線(xiàn)表示的文件2的數(shù)據(jù)F2中移除從移除開(kāi)始位置P3到移除結(jié)束位置p4的數(shù)據(jù)。
[0083]由于圖7中所示的、在編輯之后的文件2x中移除從移除開(kāi)始位置p3到移除結(jié)束位置P4的數(shù)據(jù),因此移除結(jié)束位置p4之后的數(shù)據(jù)被前向移位。在該示例中,由于移除開(kāi)始位置p3和移除結(jié)束位置p4位于叢集中部,因此在文件2x中在移除開(kāi)始位置p3之前的原始數(shù)據(jù)F2b和移除結(jié)束位置p4之后的原始數(shù)據(jù)F2a之間存在由空白表示的未使用的區(qū)域
e30
[0084]在圖7中所示的示例中,被分配給文件2的數(shù)據(jù)編輯表中的編輯指令信息中的編輯處理類(lèi)型是REMOVAL,編輯開(kāi)始位置是移除開(kāi)始位置p3,并且編輯數(shù)據(jù)尺寸是從移除開(kāi)始位置P3到移除結(jié)束位置p4的尺寸s4。在編輯之后生成的數(shù)據(jù)編輯表中的編輯結(jié)果信息中的編輯數(shù)據(jù)偏移是編輯之后的文件2x中的移除結(jié)束位置p4之后的數(shù)據(jù)的開(kāi)始位置p5。此外,編輯之后的文件尺寸是包括未使用的區(qū)域e3的尺寸s5。因此,在該示例中,由于編輯之后的文件2x包括未使用的區(qū)域,因此編輯之前的文件2中的編輯開(kāi)始位置p3和編輯之后的文件2x中的編輯數(shù)據(jù)的偏移p5不匹配。此外,通過(guò)從編輯之后的文件2x的尺寸s5中減去編輯之前的文件2的尺寸s7,可以檢測(cè)編輯之后的文件2x中的數(shù)據(jù)插入位置p5 (編輯開(kāi)始位置)之后的數(shù)據(jù)F2a的轉(zhuǎn)移量s6。
[0085]下文將基于具體示例說(shuō)明本實(shí)施例中的數(shù)據(jù)編輯程序PR的處理。本實(shí)施例中的數(shù)據(jù)的編輯處理是數(shù)據(jù)插入處理、移除文件中的一些數(shù)據(jù)的處理以及在文件之間轉(zhuǎn)移數(shù)據(jù)的處理。將通過(guò)與比較示例的比較來(lái)依次說(shuō)明這些類(lèi)型的編輯處理。首先將說(shuō)明數(shù)據(jù)插入處理。
[0086][數(shù)據(jù)插入處理:比較示例]
[0087]圖8A和圖SB是圖示比較示例中的數(shù)據(jù)插入處理的流程的第一示圖。在這些圖中,如上文提及的,由正方形表示的叢集中的由斜線(xiàn)表示的區(qū)域指示插入目標(biāo)文件的數(shù)據(jù),由橫線(xiàn)表示的區(qū)域指示插入數(shù)據(jù),并且空白部分指示未使用的區(qū)域。在這些圖中,虛線(xiàn)箭頭指示比較示例中的叢集破碎的鏈路,數(shù)據(jù)指示非視頻數(shù)據(jù),并且由點(diǎn)柵表示的區(qū)域ff指示歸屬信息。在比較示例中,作為基于歸屬信息管理未使用的區(qū)域的結(jié)果,即使當(dāng)叢集包括未使用的區(qū)域時(shí),仍可以訪(fǎng)問(wèn)數(shù)據(jù)。
[0088]圖8A圖示了數(shù)據(jù)插入處理之前的插入目標(biāo)文件。在該示例中,作為插入目標(biāo)文件的文件I由六個(gè)叢集構(gòu)成。數(shù)據(jù)插入位置Pl包括在第三叢集中。隨后,如圖8B中所示,由橫線(xiàn)表示的插入數(shù)據(jù)作為文件2被寫(xiě)入次級(jí)存儲(chǔ)設(shè)備中。在該示例中,插入數(shù)據(jù)被依次寫(xiě)入四個(gè)叢集中。
[0089]圖9A和圖9B是圖示作為圖8B中所示的處理的繼續(xù)的、比較示例中的數(shù)據(jù)插入處理的流程的第二示圖。在圖9A中,作為插入目標(biāo)文件的文件I被分成文件I和文件3。更具體地,在具有文件I中的插入位置的叢集(以下被稱(chēng)為“插入?yún)布?的插入位置Pl處及其之后的數(shù)據(jù)被轉(zhuǎn)移到新的叢集NI并且被存儲(chǔ)為文件3,并且插入?yún)布蟮膮布疌l被鏈接在新叢集NI之后(BI)。由于新叢集NI和插入?yún)布蟮膮布疌l不是連續(xù)的叢集,因此在新叢集NI和插入?yún)布蟮膮布疌l之間假設(shè)有破碎狀態(tài)。因此,鏈路BI由虛線(xiàn)箭頭表
/Jn ο
[0090]隨后,在圖9B中,文件I和文件2被鏈接。更具體地,文件2的叢集中的首叢集C2被鏈接在文件I的插入?yún)布?B2),并且目錄條目中的文件2的條目被刪除。盡管文件2已被刪除,但是附接到文件2的叢集仍被稱(chēng)為文件2的叢集。在文件I的插入?yún)布臀募?的首叢集C2之間假設(shè)有破碎狀態(tài),并且鏈路B2由虛線(xiàn)箭頭表示。
[0091]在圖9B中,已被文件2鏈接的文件I隨后被鏈接到文件3。更具體地,文件3的新叢集NI在文件I的極末端處被鏈接成叢集C2 (文件2的極末端處的叢集)之后的叢集(B3),并且目錄條目中的文件3的條目被刪除。在該情況下,在文件I的極末端處的叢集C2和文件3的新叢集NI之間假設(shè)有破碎狀態(tài)。
[0092]結(jié)果,在比較示例中,插入數(shù)據(jù)被插入到文件I。在比較示例中,通過(guò)使用文件分割處理和文件鏈接處理來(lái)執(zhí)行數(shù)據(jù)插入處理。因此,通過(guò)將插入位置Pl用作分割點(diǎn),將作為插入目標(biāo)文件的文件I分成文件I和文件3,并且將這些文件鏈接到其中已存儲(chǔ)插入數(shù)據(jù)的文件2,來(lái)執(zhí)行數(shù)據(jù)插入處理。
[0093]在比較示例的數(shù)據(jù)插入處理中,使用了一個(gè)新叢集NI。數(shù)據(jù)插入處理之后的文件中的叢集的破碎次數(shù)是3 (BI至B3)。此外,在比較示例中,總共生成三次對(duì)目錄條目的訪(fǎng)問(wèn),即新生成文件2時(shí)的一次和分割文件I時(shí)的兩次(目錄條目中的文件I和文件3的更新)。還生成四次對(duì)目錄條目的訪(fǎng)問(wèn),即鏈接文件I和文件2時(shí)的兩次和鏈接文件I和文件3時(shí)的兩次(更新目錄條目中的鏈接源文件和鏈接目標(biāo)文件)。因此,在比較示例的數(shù)據(jù)插入處理中總共生成七次對(duì)目錄條目的訪(fǎng)問(wèn)。
[0094][數(shù)據(jù)插入處理的流程圖:比較示例]
[0095]圖10是圖示比較示例中的數(shù)據(jù)插入處理的流程圖。如圖中所示,插入數(shù)據(jù)在最初時(shí)被寫(xiě)入新文件2中(S11)。隨后,作為插入目標(biāo)文件的文件I被分成文件I和新文件3(S12)。更具體地,在插入?yún)布牟迦胛恢锰幖捌渲蟮臄?shù)據(jù)被轉(zhuǎn)移到新叢集NI,并且插入?yún)布蟮膮布疌l被鏈接(BI)在新叢集NI之后并且被存儲(chǔ)為文件3。
[0096]隨后將文件2鏈接到文件I (S13)。更具體地,文件2的首叢集C2被鏈接(B2)在文件I的插入?yún)布?,并且文?的條目被從目錄條目中刪除。隨后文件3被鏈接到已被文件2鏈接的文件I (S14)。更具體地,文件3的新叢集NI被鏈接(B3)成文件I的極末端處的叢集N2(文件2的極末端處的叢集)之后的叢集,并且文件3的條目被從目錄條目中刪除。因此插入數(shù)據(jù)被插入到文件I的插入位置。
[0097][數(shù)據(jù)插入處理:本實(shí)施例]
[0098]圖1lA至圖1lC是圖示本實(shí)施例中的數(shù)據(jù)插入處理的流程的第一示圖。圖1lA圖示了數(shù)據(jù)插入處理之前的插入目標(biāo)文件。在該示例中,作為插入目標(biāo)文件的文件I由五個(gè)叢集構(gòu)成。數(shù)據(jù)的插入位置Pii包括在第三叢集中。
[0099]在圖1lB中,數(shù)據(jù)編輯表Tll被添加到文件的極末端。包括指示INSERT1N的編輯處理類(lèi)型、指示文件I中的插入位置Pll的編輯開(kāi)始位置以及指示插入數(shù)據(jù)的尺寸的編輯數(shù)據(jù)尺寸的編輯指令信息被存儲(chǔ)在數(shù)據(jù)編輯表Tll中。盡管作為附接數(shù)據(jù)編輯表Tll的結(jié)果,文件I的尺寸增加,但是此時(shí),目錄條目中管理的文件I的尺寸未被更新。隨后,在圖1IC中,在具有文件I的插入位置Pl I的插入?yún)布械牟迦胛恢锰幖捌渲暗臄?shù)據(jù)被寫(xiě)入新叢集Nll中。
[0100]圖12A和圖12B是圖示作為圖1lC中所示的處理的繼續(xù)的、本實(shí)施例中的數(shù)據(jù)插入處理的流程的第二示圖。在圖12A中,由橫線(xiàn)表示的插入數(shù)據(jù)Dll被連續(xù)寫(xiě)入新叢集Nil。隨后,在圖12B中,插入?yún)布绘溄?Bll)在已被添加插入數(shù)據(jù)Dll的叢集的極末端處的叢集Cll之后。在該情況下,在尾叢集Cll和文件I的插入?yún)布g假設(shè)有破碎狀態(tài)。
[0101]圖13A和圖13B是圖示作為圖12B中所示的處理的繼續(xù)的、本實(shí)施例中的數(shù)據(jù)插入處理的流程的第三示圖。這里,由目錄條目管理的文件I的尺寸在圖13A中的文件I的叢集鏈的重新鏈接處理(B12)之前被更新。更具體地,文件I的尺寸被更新為通過(guò)將插入數(shù)據(jù)Dll的尺寸和數(shù)據(jù)編輯表Tll的尺寸加到編輯之前的文件尺寸而獲得的值。結(jié)果,在叢集鏈的重新鏈接處理(B12)之后假設(shè)有可以讀取文件I的數(shù)據(jù)編輯表的狀態(tài)。
[0102]執(zhí)行文件尺寸更新以為隨后將執(zhí)行的針對(duì)文件I的叢集鏈的重新鏈接的處理(B12)做準(zhǔn)備。作為執(zhí)行叢集鏈的重新鏈接處理(B12)的結(jié)果,構(gòu)成文件I的叢集數(shù)目增加并且編輯之前的文件I的一些數(shù)據(jù)不能被讀取。出于該原因,在叢集鏈的重新鏈接處理(B12)之前,數(shù)據(jù)編輯程序PR將文件I的尺寸放大到使得可以讀取編輯之前的文件中的所有數(shù)據(jù)還有數(shù)據(jù)編輯表的尺寸。結(jié)果,即使當(dāng)編輯處理在叢集鏈的重新鏈接之后中斷時(shí),數(shù)據(jù)編輯PR仍可以基于數(shù)據(jù)編輯表將文件I恢復(fù)到數(shù)據(jù)編輯之后的狀態(tài)。下文詳細(xì)描述了基于數(shù)據(jù)編輯表的文件的恢復(fù)處理。
[0103]在圖12B中的叢集鏈的重新鏈接(Bll)中,當(dāng)在叢集構(gòu)成文件I之前鏈接分離的叢集時(shí),文件I不受影響。因此,當(dāng)在叢集構(gòu)成文件I之后鏈接分離的叢集時(shí),文件I受到影響。出于該原因,在圖12B中的叢集鏈的重新鏈接(Bll)處理之前不執(zhí)行文件尺寸的更新處理。
[0104]此外,在圖13A中,通過(guò)將新叢集NI I鏈接(B12)在文件I的插入目標(biāo)叢集之前的叢集C12之后來(lái)更新文件I的叢集鏈。插入目標(biāo)叢集之前的叢集C12和新叢集Nll處于破碎狀態(tài)。文件I的索引中的每個(gè)幀的偏移隨后被更新。更具體地,插入數(shù)據(jù)Dll的索引以及在偏移因數(shù)據(jù)插入而改變的插入位置Pll處及其之后的數(shù)據(jù)被更新。此外,插入?yún)布械牟迦胛恢肞ll之前的區(qū)域變?yōu)槲词褂脿顟B(tài)。在圖13B中,數(shù)據(jù)編輯表Tll被刪除并且目錄條目中管理的文件尺寸被更新。在該情況下,文件I的尺寸被更新成通過(guò)將插入數(shù)據(jù)的尺寸加到編輯之前的文件尺寸而獲得的值。
[0105]因此,在本實(shí)施例的數(shù)據(jù)插入處理中,使用一個(gè)新叢集NI I。此外,數(shù)據(jù)插入處理之后的文件中的叢集的破碎次數(shù)是2(B11、B12)。此外,在本實(shí)施例中,當(dāng)文件I的尺寸被更新時(shí)一個(gè)接一個(gè)地訪(fǎng)問(wèn)目錄條目。因此,在本實(shí)施例的數(shù)據(jù)插入處理中,總共生成兩次對(duì)目錄條目的訪(fǎng)問(wèn)。
[0106][未使用數(shù)據(jù)編輯表的情況]
[0107]本實(shí)施例中的數(shù)據(jù)編輯表的使用不是強(qiáng)制的。當(dāng)未使用數(shù)據(jù)編輯表時(shí),在圖13A中所示的處理之前立即執(zhí)行的文件尺寸更新處理可以被省略。結(jié)果,在該情況下,文件尺寸更新處理變?yōu)獒槍?duì)通過(guò)將插入數(shù)據(jù)的尺寸加到圖13B中所示的編輯之前的文件的尺寸而獲得的值的單循環(huán)更新處理。因此,在未生成數(shù)據(jù)編輯表時(shí)執(zhí)行的數(shù)據(jù)插入處理中的目錄條目的更新次數(shù)是I。
[0108][數(shù)據(jù)插入處理的流程圖:本實(shí)施例]
[0109]圖14是圖示本實(shí)施例中的數(shù)據(jù)插入處理的流程圖。在該圖中,數(shù)據(jù)編輯程序PR在最初時(shí)將數(shù)據(jù)編輯表Tll添加到作為插入目標(biāo)文件的文件I的數(shù)據(jù)的尾部(S21)。例如,數(shù)據(jù)編輯表Tll由視頻編輯庫(kù)生成并遞送。當(dāng)沒(méi)有生成數(shù)據(jù)編輯表時(shí),可以省略步驟S21的處理。
[0110]隨后,數(shù)據(jù)編輯程序RP將文件I中的插入?yún)布瘍?nèi)的插入位置Pll之前的數(shù)據(jù)寫(xiě)入新叢集Nll中(S22)。數(shù)據(jù)編輯程序PR隨后寫(xiě)入新叢集Nll之后的插入數(shù)據(jù)(S23)。隨后,數(shù)據(jù)編輯程序PR將插入?yún)布溄?Bll)在尾叢集Cll之后(S24)。數(shù)據(jù)編輯程序PR隨后更新文件I的文件尺寸(S25)。數(shù)據(jù)編輯程序PR將文件I的尺寸更新成通過(guò)將插入數(shù)據(jù)的尺寸和數(shù)據(jù)編輯表Tll的尺寸加到編輯之前的文件I的尺寸而獲得的值。當(dāng)未使用數(shù)據(jù)編輯表時(shí),可以省略步驟S25的處理。數(shù)據(jù)編輯程序PR將新叢集NI I鏈接(B12)在文件I的插入目標(biāo)叢集之前的叢集C12之后(S26)。
[0111]因此,本實(shí)施例中的數(shù)據(jù)編輯程序PR在最初時(shí)將之后鏈接的叢集和之前鏈接的叢集中的之后鏈接的叢集鏈接(Bll)到新叢集Nil。因此,在該示例中,數(shù)據(jù)編輯程序PR在最初時(shí)在步驟S24中將插入?yún)布溄釉谛聟布疦I I的極末端處的叢集之后并且隨后在步驟S26中將文件I的插入目標(biāo)叢集之前的叢集C12鏈接在新叢集Nll之前。結(jié)果,數(shù)據(jù)編輯程序PR可以使文件I的叢集鏈成鏈的定時(shí)延遲,并且可以使文件I維持在編輯之前的狀態(tài),直到叢集鏈改變?yōu)橹埂?br>
[0112]數(shù)據(jù)編輯程序PR隨后更新文件I的數(shù)據(jù)中包含的索引中的每個(gè)幀的偏移(S27)。例如,數(shù)據(jù)編輯程序PR更新與在插入位置處及其之后的數(shù)據(jù)和插入數(shù)據(jù)對(duì)應(yīng)的索引。在該情況下,數(shù)據(jù)編輯表Tll中包含的編輯結(jié)果信息被更新。更具體地,指示插入數(shù)據(jù)的開(kāi)始位置的編輯數(shù)據(jù)偏移以及編輯結(jié)果信息中的編輯之后的文件尺寸被更新。
[0113]數(shù)據(jù)編輯程序PR隨后將數(shù)據(jù)編輯表Tll結(jié)轉(zhuǎn)至視頻編輯庫(kù)22并且將該表從文件I中刪除,并且還將文件I的文件尺寸更新成通過(guò)將插入數(shù)據(jù)的尺寸加到編輯之前的尺寸而獲得的值(S28)。結(jié)果,視頻編輯庫(kù)22可以基于編輯結(jié)果信息準(zhǔn)確地檢測(cè)編輯處理的內(nèi)容。
[0114]因此,通過(guò)與比較示例進(jìn)行比較,在本實(shí)施例的數(shù)據(jù)編輯程序PR執(zhí)行的數(shù)據(jù)插入處理中,目錄條目的更新次數(shù)減少(從7減少到2),并且叢集的破碎次數(shù)減少(從3減少到2)。當(dāng)在本實(shí)施例中不使用數(shù)據(jù)編輯表時(shí),目錄條目的更新次數(shù)可以進(jìn)一步減少一次(從7減少到I)。結(jié)果,通過(guò)抑制目錄條目的更新次數(shù),本實(shí)施例的數(shù)據(jù)編輯程序PR可以提高對(duì)次級(jí)存儲(chǔ)設(shè)備的訪(fǎng)問(wèn)效率并且提高數(shù)據(jù)插入處理的速度。此外,通過(guò)抑制叢集破碎次數(shù),本實(shí)施例的數(shù)據(jù)編輯程序PR可以提高對(duì)編輯之后的文件的訪(fǎng)問(wèn)速度并且高效地使用文件系統(tǒng)的區(qū)域。
[0115]此外,在本實(shí)施例中,文件數(shù)據(jù)是例如視頻數(shù)據(jù)并且因此可以包括叢集內(nèi)的未使用的區(qū)域。因此,由于數(shù)據(jù)編輯對(duì)象的位置不限于叢集邊界,因此數(shù)據(jù)編輯程序PR可以使預(yù)先存儲(chǔ)在次級(jí)存儲(chǔ)介質(zhì)中的數(shù)據(jù)的轉(zhuǎn)移最少。
[0116]此外,在本實(shí)施例中,由于具有編輯指令信息的數(shù)據(jù)編輯表被添加到數(shù)據(jù)的極末端,因此即使當(dāng)數(shù)據(jù)插入處理中斷時(shí),插入目標(biāo)文件仍可以被恢復(fù)到編輯之前的狀態(tài)或者編輯之后的狀態(tài)。
[0117][數(shù)據(jù)插入處理的中斷]
[0118]圖15圖示了當(dāng)在數(shù)據(jù)插入處理的過(guò)程中中斷處理時(shí)的文件安全性。例如,當(dāng)設(shè)備的電源斷開(kāi)并且數(shù)據(jù)插入處理中斷時(shí)或者當(dāng)數(shù)據(jù)編輯程序PR被強(qiáng)制停止時(shí),處理中斷。該圖還包括與圖14中圖示的流程圖的每個(gè)步驟對(duì)應(yīng)的文件狀態(tài)和恢復(fù)指南。文件狀態(tài)是文件數(shù)據(jù)、文件尺寸、索引、數(shù)據(jù)編輯表和未弓I用數(shù)據(jù)的狀態(tài)。
[0119]更具體地,在圖15中,作為插入目標(biāo)文件的文件I在步驟S21之前處于編輯處理之前的狀態(tài),并且在步驟S28之后處于編輯處理之后的狀態(tài)。結(jié)果,即使當(dāng)編輯處理中斷時(shí),仍確保了文件I的安全性。盡管在步驟S21之后添加了數(shù)據(jù)編輯表,但是文件尺寸未被更新。因此,文件I處于編輯之前的狀態(tài)并且文件I的安全性被確保。
[0120]在步驟S22至S25,文件I的叢集鏈被解鏈。換言之,文件I處于編輯之前的狀態(tài)。因此,即使當(dāng)編輯處理在步驟S22至S25之后中斷時(shí),仍確保了文件I的安全性。然而,由于插入數(shù)據(jù)已被存儲(chǔ)在次級(jí)存儲(chǔ)設(shè)備中,因此它們保持為未引用數(shù)據(jù)。出于該原因,根據(jù)恢復(fù)指南執(zhí)行作為未引用數(shù)據(jù)的被插入數(shù)據(jù)(和數(shù)據(jù)編輯表)的清除處理。然而,在步驟S25之后,狀態(tài)是叢集鏈改變之前,并且文件尺寸被更新成叢集鏈的重新鏈接之后的尺寸。因此,出現(xiàn)文件尺寸的失配。在該情況下,基于可讀的數(shù)據(jù)編輯表的編輯指令信息來(lái)更新文件I的文件尺寸,并且文件被恢復(fù)到編輯之前的狀態(tài)。
[0121]當(dāng)編輯處理在步驟S26之后中斷時(shí),執(zhí)行叢集鏈的重新鏈接,從而消除了文件尺寸的失配,但是索引假設(shè)有失配狀態(tài)。在該情況下,基于數(shù)據(jù)編輯表的編輯指令信息針對(duì)文件I更新索引,并且還刪除數(shù)據(jù)編輯表并且文件被恢復(fù)到編輯之后的狀態(tài)。這樣,數(shù)據(jù)編輯處理在步驟S27之后中斷,從文件I刪除數(shù)據(jù)編輯表,更新文件尺寸,并且將文件恢復(fù)到編輯之后的狀態(tài)。
[0122]因此,通過(guò)本實(shí)施例的數(shù)據(jù)編輯程序PR,即使當(dāng)處理在編輯處理中的任何步驟之后中斷時(shí),通過(guò)使用具有編輯指令信息的數(shù)據(jù)編輯表,插入目標(biāo)文件仍可以恢復(fù)到編輯之前的狀態(tài)或編輯之后的狀態(tài)。結(jié)果,維持了插入目標(biāo)文件的安全性。此外,通過(guò)將數(shù)據(jù)編輯表添加到文件的極末端,數(shù)據(jù)編輯程序PR可以?xún)H基于次級(jí)存儲(chǔ)設(shè)備中存儲(chǔ)的數(shù)據(jù)即可恢復(fù)插入目標(biāo)文件。下文詳細(xì)描述了文件恢復(fù)處理。
[0123]如上文提及的,當(dāng)在編輯處理中將插入數(shù)據(jù)插入在插入目標(biāo)文件中的插入位置時(shí),本實(shí)施例的數(shù)據(jù)編輯程序PR將在具有插入目標(biāo)文件的插入位置的插入?yún)布械牟迦胛恢锰幖捌渲蟮臄?shù)據(jù)以及插入數(shù)據(jù)轉(zhuǎn)移到其中未記錄插入目標(biāo)文件的一個(gè)第三新叢集或多個(gè)第三新叢集,并且第三新叢集包括在多個(gè)叢集中。數(shù)據(jù)編輯程序PR隨后編輯管理數(shù)據(jù),使得插入?yún)布暗膮布绘溄釉诘谌聟布氖讌布?,并且使得插入?yún)布蟮膮布绘溄釉诘谌聟布奈矃布蟆?br>
[0124]因此,通過(guò)本實(shí)施例的數(shù)據(jù)編輯程序PR,抑制了文件的不必要的分割處理和鏈接處理。結(jié)果,本實(shí)施例的數(shù)據(jù)編輯程序PR可以減少數(shù)據(jù)插入處理執(zhí)行的編輯之后的文件的破碎次數(shù)并且還可以減少目錄條目的更新次數(shù)。結(jié)果,數(shù)據(jù)編輯程序PR可以迅速地和高效地執(zhí)行數(shù)據(jù)插入處理并且提高對(duì)編輯之后的文件的訪(fǎng)問(wèn)速率。此外,數(shù)據(jù)編輯程序PR可以使預(yù)先存儲(chǔ)在叢集中的數(shù)據(jù)的轉(zhuǎn)移量最小,并且可以迅速地執(zhí)行數(shù)據(jù)插入處理。
[0125]此外,在本實(shí)施例的數(shù)據(jù)編輯程序PR中,編輯管理數(shù)據(jù),使得在鏈接在新叢集之后的第一叢集和鏈接在新叢集之前的第二叢集中,第一叢集首先被鏈接到新叢集。因此,數(shù)據(jù)編輯程序PR在最初時(shí)更新新叢集的后鏈路,并且盡可能晚地更新前鏈路。通過(guò)該方法,即使后鏈路被鏈接到分離的文件的叢集,當(dāng)其中前鏈路沒(méi)有從任何位置鏈接的編輯處理中斷時(shí),數(shù)據(jù)仍可以被處置為未使用的數(shù)據(jù)并且被安全地刪除。此外,在該情況下,數(shù)據(jù)程序PR可以使插入目標(biāo)文件改變的定時(shí)延遲。換言之,數(shù)據(jù)編輯程序PR可以盡可能長(zhǎng)地將插入目標(biāo)文件維持在編輯之前的狀態(tài)。
[0126]本實(shí)施例的數(shù)據(jù)編輯程序PR在數(shù)據(jù)編輯處理的對(duì)象文件的數(shù)據(jù)尾部中存儲(chǔ)編輯指令信息,該編輯指令信息是被輸入的并且包括指示插入處理的編輯類(lèi)型、指示插入處理中的插入位置的編輯對(duì)象位置和指示插入處理中的插入數(shù)據(jù)的尺寸的編輯對(duì)象尺寸。此夕卜,當(dāng)不能執(zhí)行數(shù)據(jù)編輯處理的對(duì)象文件的讀取時(shí),數(shù)據(jù)編輯程序PR基于編輯指令信息將數(shù)據(jù)編輯處理的對(duì)象文件恢復(fù)到數(shù)據(jù)編輯處理之前或之后的狀態(tài)。
[0127]結(jié)果,即使當(dāng)針對(duì)對(duì)象文件的數(shù)據(jù)插入處理半途中斷時(shí),本實(shí)施例的數(shù)據(jù)編輯程序PR仍可以將對(duì)象文件恢復(fù)到數(shù)據(jù)插入處理之前或者處理之后的狀態(tài)。因此確保了插入目標(biāo)文件的安全性。
[0128]在本實(shí)施例的數(shù)據(jù)編輯程序PR中,在將叢集鏈接在新叢集之前的管理數(shù)據(jù)的編輯之前,當(dāng)數(shù)據(jù)區(qū)域中管理的文件的尺寸小于通過(guò)將編輯指令信息的尺寸加到管理數(shù)據(jù)的編輯之后的文件尺寸而獲得的總和尺寸時(shí),將數(shù)據(jù)區(qū)域中管理的文件的尺寸更新成該總和尺寸。
[0129]結(jié)果,數(shù)據(jù)編輯程序PR可以預(yù)先地,即在插入目標(biāo)文件改變之前,將文件尺寸更新成實(shí)現(xiàn)數(shù)據(jù)編輯表的讀取的尺寸。因此,即使當(dāng)編輯處理中斷并且在插入目標(biāo)文件改變之后出現(xiàn)文件失配時(shí),數(shù)據(jù)編輯程序PR仍可以基于數(shù)據(jù)編輯表將插入目標(biāo)文件恢復(fù)到編輯之后的狀態(tài)。
[0130]此外,本實(shí)施例的數(shù)據(jù)編輯程序PR輸出具有指示數(shù)據(jù)插入處理的結(jié)果的信息的數(shù)據(jù)編輯表。結(jié)果,例如,較高層級(jí)的接口可以準(zhǔn)確地檢測(cè)編輯處理結(jié)果。
[0131][移除處理:比較示例]
[0132]圖16A和圖16B是圖示比較示例中的數(shù)據(jù)移除處理的流程的第一示圖。在這些圖中,通過(guò)與上文描述的相同的方式,由正方形表示的叢集中的由斜線(xiàn)表示的區(qū)域指示移除源文件的數(shù)據(jù),并且空白部分指示未使用的區(qū)域。在比較示例中,數(shù)據(jù)指示非視頻數(shù)據(jù),并且由點(diǎn)柵表示的區(qū)域ff指示歸屬信息。在比較示例中,作為基于歸屬信息管理未使用的區(qū)域的結(jié)果,即使當(dāng)叢集包括未使用的區(qū)域時(shí),仍可以訪(fǎng)問(wèn)數(shù)據(jù)。
[0133]圖16A圖示了數(shù)據(jù)移除處理之前的移除源文件。在該示例中,作為移除源文件的文件I由六個(gè)叢集構(gòu)成。數(shù)據(jù)移除開(kāi)始位置P21包括在第三叢集中,并且移除結(jié)束位置P22包括在第五叢集中。從移除開(kāi)始位置P21到移除結(jié)束位置P22的數(shù)據(jù)對(duì)應(yīng)于移除對(duì)象數(shù)據(jù)D21。
[0134]隨后,在圖16B中,文件I被分成文件I和文件2。更具體地,在具有移除開(kāi)始位置P21的叢集(以下被稱(chēng)為“移除開(kāi)始叢集”)中的移除開(kāi)始位置P21處及其之后的數(shù)據(jù)被轉(zhuǎn)移到新叢集N21并且被存儲(chǔ)為文件2,并且移除開(kāi)始叢集之后的叢集C21被鏈接在新叢集N21之后(B21)。此外,在文件2的新叢集N21和移除開(kāi)始叢集之后的叢集之間假設(shè)有破碎狀態(tài)。在該處理中,使用一個(gè)新叢集。
[0135]隨后,在圖16B中,通過(guò)分割生成的文件2被進(jìn)一步分成文件2和文件3。更具體地,在具有移除結(jié)束位置P22的叢集(以下被稱(chēng)為“移除結(jié)束叢集”)中的移除結(jié)束位置P22處及其之后的數(shù)據(jù)被轉(zhuǎn)移到新叢集N22并且被存儲(chǔ)為文件3,并且移除結(jié)束叢集之后的叢集C22被鏈接在新叢集N22之后(B22)。此外,在文件3的新叢集N22和移除結(jié)束叢集之后的叢集之間假設(shè)有破碎狀態(tài)。在該處理中,使用一個(gè)新叢集。
[0136]圖17是圖示作為圖16B中所示的處理的繼續(xù)的、比較示例中的數(shù)據(jù)移除處理的流程的第二示圖。在圖17中,文件3鏈接到文件I。更具體地,文件3的新叢集N22鏈接(B23)在文件I的移除開(kāi)始叢集之后,并且目錄條目中的文件3的條目被刪除。此外,在文件I的移除開(kāi)始叢集和文件3的新叢集N22之間假設(shè)有破碎狀態(tài)。在圖17中,目錄條目的中的文件2的條目被刪除。
[0137]結(jié)果,在比較示例中,從文件I移除了移除對(duì)象數(shù)據(jù)。在比較示例中,通過(guò)使用文件分割處理和文件鏈接處理來(lái)執(zhí)行數(shù)據(jù)移除處理。因此,通過(guò)使用移除開(kāi)始位置和移除結(jié)束位置分割點(diǎn),將作為移除源文件的文件I分成文件2和文件3,并且將文件I與文件3鏈接,來(lái)執(zhí)行數(shù)據(jù)移除處理。
[0138]在比較示例的數(shù)據(jù)移除處理中,使用了兩個(gè)新叢集N21和N22。數(shù)據(jù)移除處理之后的文件中的叢集的破碎次數(shù)是2 (B22、B23)。此外,在比較示例中,在文件I和文件2的每次分割時(shí)生成兩次對(duì)目錄條目的訪(fǎng)問(wèn)(總共四次)。當(dāng)文件I和文件3被鏈接時(shí)還生成兩次對(duì)目錄條目的訪(fǎng)問(wèn)并且當(dāng)刪除文件2時(shí)還生成一次對(duì)目錄條目的訪(fǎng)問(wèn)(總共三次)。因此,在比較示例中,在數(shù)據(jù)移除處理中總共生成七次對(duì)目錄條目的訪(fǎng)問(wèn)。
[0139][數(shù)據(jù)移除處理的流程圖:比較示例]
[0140]圖18是圖示比較示例中的數(shù)據(jù)移除處理的流程圖。如圖中所示,作為移除源文件的文件I在最初時(shí)被分成文件I和新文件2 (S31)。更具體地,在移除開(kāi)始叢集的移除開(kāi)始位置處及其之后的數(shù)據(jù)被轉(zhuǎn)移到新叢集N21,并且移除開(kāi)始叢集之后的叢集C21被鏈接(B21)在新叢集N21之后并且被存儲(chǔ)為文件2。所生成的文件2隨后被進(jìn)一步分成文件2和新文件3(S32)。更具體地,在移除結(jié)束叢集的移除結(jié)束位置處及其之后的數(shù)據(jù)被轉(zhuǎn)移到新叢集N22,并且移除結(jié)束叢集之后的叢集C22被鏈接(B22)在新叢集N22之后并且被存儲(chǔ)為文件3。
[0141]隨后,文件3被鏈接到文件I (S33)。更具體地,文件3的新叢集N21被鏈接(B23)在文件I的移除開(kāi)始叢集之后,并且文件3的條目被從目錄條目刪除。隨后文件2的條目被從目錄條目刪除(S34)。
[0142][數(shù)據(jù)移除處理:本實(shí)施例]
[0143]圖19A至圖19C是圖示本實(shí)施例中的數(shù)據(jù)移除處理的流程的第一示圖。圖19A圖示了數(shù)據(jù)移除處理之前的移除源文件。在該示例中,作為移除源文件的文件I由六個(gè)叢集構(gòu)成。此外,數(shù)據(jù)移除開(kāi)始位置包括在第三叢集中,并且移除結(jié)束位置包括在第五叢集中。
[0144]在圖19B中,數(shù)據(jù)編輯表T31被添加到文件的極末端。包括指示REMOVAL的編輯處理類(lèi)型、指示文件I中的移除開(kāi)始位置P31的編輯開(kāi)始位置以及指示移除對(duì)象數(shù)據(jù)D31的尺寸的編輯數(shù)據(jù)尺寸的編輯指令信息被存儲(chǔ)在數(shù)據(jù)編輯表T31中。盡管作為附接數(shù)據(jù)編輯表T31的結(jié)果,文件I的尺寸增加,但是此時(shí),目錄條目中管理的文件I的尺寸未被更新。隨后,在圖19C中,移除結(jié)束叢集被鏈接(B31)在移除開(kāi)始叢集之后。在移除開(kāi)始叢集和移除結(jié)束叢集之間假設(shè)有破碎狀態(tài)。
[0145]圖20A至圖20C是圖示本實(shí)施例中的數(shù)據(jù)移除處理的流程的第二示圖。在圖20A中,構(gòu)成移除對(duì)象數(shù)據(jù)D31的叢集中的、位于移除開(kāi)始叢集和移除結(jié)束叢集之間的叢集C31被釋放。隨后,在圖20B中,文件I的索引中的每個(gè)幀的偏移被更新。更具體地,在偏移因數(shù)據(jù)的移除而改變的移除結(jié)束位置處及其之后的數(shù)據(jù)的索引被更新。結(jié)果,在移除開(kāi)始叢集中的移除開(kāi)始位置P31處及其之后的區(qū)域以及在移除結(jié)束叢集的移除結(jié)束位置P32處及其之前的區(qū)域變?yōu)槲词褂脿顟B(tài)。此外,在圖20C中,數(shù)據(jù)編輯表T31被刪除并且文件尺寸被更新。在該情況下,文件I的尺寸被更新成通過(guò)從編輯之前的文件尺寸減去移除對(duì)象數(shù)據(jù)D31的尺寸而獲得的值。
[0146]因此,在本實(shí)施例的數(shù)據(jù)移除處理中,沒(méi)有使用新叢集。此外,在數(shù)據(jù)移除處理之后的文件中的叢集的破碎次數(shù)是I (B31)。此外,在本實(shí)施例中,當(dāng)文件I的尺寸被更新時(shí)僅生成一次對(duì)目錄條目的訪(fǎng)問(wèn)。即使當(dāng)在數(shù)據(jù)移除處理中不使用數(shù)據(jù)編輯表T31時(shí),仍訪(fǎng)問(wèn)一次目錄條目。
[0147][數(shù)據(jù)移除處理的流程圖:本實(shí)施例]
[0148]圖21是圖示本實(shí)施例中的數(shù)據(jù)移除處理的流程圖。在該圖中,數(shù)據(jù)編輯程序PR在最初時(shí)將數(shù)據(jù)編輯表T31添加到作為移除源文件的文件I的數(shù)據(jù)的尾部(S41)。例如,數(shù)據(jù)編輯表T31由視頻編輯庫(kù)生成并遞送。當(dāng)沒(méi)有使用數(shù)據(jù)編輯表時(shí),可以省略步驟S41的處理。
[0149]隨后,數(shù)據(jù)編輯程序PR將移除結(jié)束叢集鏈接(B31)在移除開(kāi)始叢集之后(S42)。數(shù)據(jù)編輯程序PR隨后從構(gòu)成移除對(duì)象數(shù)據(jù)D31的叢集中除去位于移除開(kāi)始叢集和移除結(jié)束叢集之間的叢集C31 (S43)。數(shù)據(jù)編輯程序PR隨后更新文件I的數(shù)據(jù)中包含的索引中的每個(gè)幀的偏移(S44)。例如,數(shù)據(jù)編輯程序PR更新與在移除結(jié)束位置處及其之后的數(shù)據(jù)對(duì)應(yīng)的索引。在該情況下,數(shù)據(jù)編輯表T31中包括的編輯結(jié)果信息中的編輯數(shù)據(jù)偏移以及編輯之后的文件尺寸被更新。更具體地,指示移除對(duì)象數(shù)據(jù)D31之后的數(shù)據(jù)的開(kāi)始位置的編輯數(shù)據(jù)偏移以及編輯結(jié)果信息中的編輯之后的文件尺寸被更新。
[0150]數(shù)據(jù)編輯程序PR隨后將數(shù)據(jù)編輯表T31轉(zhuǎn)移至視頻編輯庫(kù)并且將該表從文件I中刪除,并且還將文件I的文件尺寸更新成通過(guò)從編輯之前的尺寸減去移除對(duì)象數(shù)據(jù)的尺寸而獲得的值(S45)。結(jié)果,視頻編輯庫(kù)可以基于編輯結(jié)果信息準(zhǔn)確地檢測(cè)編輯處理的內(nèi)容。
[0151]因此,通過(guò)與比較示例進(jìn)行比較,在本實(shí)施例的數(shù)據(jù)編輯程序PR執(zhí)行的數(shù)據(jù)移除處理中,目錄條目的更新次數(shù)減少(從7減少到I),并且叢集的破碎次數(shù)減少(從2減少到I)。此外,在比較示例中,使用了兩個(gè)新叢集,而在本實(shí)施例中,沒(méi)有使用新叢集。結(jié)果,通過(guò)抑制目錄條目的更新次數(shù),本實(shí)施例的數(shù)據(jù)編輯程序PR可以提高對(duì)次級(jí)存儲(chǔ)設(shè)備的訪(fǎng)問(wèn)效率并且提高數(shù)據(jù)移除處理的速度。此外,通過(guò)抑制叢集破碎次數(shù),本實(shí)施例的數(shù)據(jù)編輯程序PR可以提高對(duì)編輯之后的文件的訪(fǎng)問(wèn)速度并且高效地使用文件系統(tǒng)的區(qū)域。此外,由于本實(shí)施例的數(shù)據(jù)編輯程序PR不使用新叢集,因此即使當(dāng)未使用的叢集的數(shù)目不足時(shí),仍可以執(zhí)行數(shù)據(jù)移除處理。
[0152]此外,在本實(shí)施例中,文件數(shù)據(jù)是例如視頻數(shù)據(jù)并且因此可以包括叢集內(nèi)的未使用的區(qū)域。因此,由于數(shù)據(jù)編輯對(duì)象的位置不限于叢集邊界,因此數(shù)據(jù)編輯程序PR可以使預(yù)先存儲(chǔ)在次級(jí)存儲(chǔ)介質(zhì)中的數(shù)據(jù)的轉(zhuǎn)移最少。
[0153]此外,在本示例中,在針對(duì)文件I的叢集鏈的重新鏈接處理(B31)之前不執(zhí)行文件尺寸更新處理。這是因?yàn)?,在?shù)據(jù)移除處理的情況下,叢集鏈的重新鏈接處理(B31)減少了構(gòu)成文件I的叢集的數(shù)目,并且文件I的實(shí)際尺寸變得小于目錄條目管理的文件的尺寸。在該情況下,在針對(duì)文件I的叢集鏈的重新鏈接處理(B31)之后,在不更新文件尺寸的情況下,可以讀取數(shù)據(jù)編輯表T31。結(jié)果,即使在叢集鏈的重新鏈接處理(B31)之后編輯處理中斷時(shí),數(shù)據(jù)編輯程序PR仍可以基于數(shù)據(jù)編輯表T31將文件I恢復(fù)到數(shù)據(jù)編輯之后的狀態(tài)。下文詳細(xì)說(shuō)明了基于數(shù)據(jù)編輯表T31的文件恢復(fù)處理。
[0154][數(shù)據(jù)移除處理的中斷]
[0155]圖22圖示了當(dāng)在數(shù)據(jù)移除處理的過(guò)程中中斷處理時(shí)的文件安全性。該圖還包括與圖21中圖示的流程圖的每個(gè)步驟對(duì)應(yīng)的文件狀態(tài)和恢復(fù)指南。文件狀態(tài)是文件數(shù)據(jù)、文件尺寸、索引、數(shù)據(jù)編輯表和未引用數(shù)據(jù)的狀態(tài)。
[0156]更具體地,在圖22中,作為移除源文件的文件I在步驟S41之前處于編輯處理之前的狀態(tài),并且在步驟S45之后處于編輯處理之后的狀態(tài)。結(jié)果,即使當(dāng)編輯處理中斷時(shí),仍確保了文件I的安全性。盡管在步驟S41之后添加了數(shù)據(jù)編輯表,但是文件尺寸未被更新。因此,文件I處于編輯之前的狀態(tài)并且文件I的安全性被確保。
[0157]當(dāng)在步驟S42至S44之后編輯處理中斷時(shí),通過(guò)執(zhí)行叢集鏈的重新鏈接處理(B31)使文件I從編輯之前的狀態(tài)變化。在該情況下,由于構(gòu)成文件I的叢集的數(shù)目減少,因此盡管文件I的尺寸未被更新,但是數(shù)據(jù)編輯程序PR仍可以讀取數(shù)據(jù)編輯表。因此,數(shù)據(jù)編輯程序PR基于數(shù)據(jù)編輯表的編輯指令信息來(lái)更新文件尺寸和索引并且消除文件失配。結(jié)果,移除源文件被恢復(fù)到編輯之后的狀態(tài)。當(dāng)移除對(duì)象數(shù)據(jù)保持為未引用數(shù)據(jù)時(shí),它們被刪除。
[0158]因此,通過(guò)本實(shí)施例的數(shù)據(jù)編輯程序PR,即使當(dāng)處理在編輯處理中的任何步驟之后中斷時(shí),通過(guò)生成數(shù)據(jù)編輯表,移除源文件仍可以恢復(fù)到編輯之前的狀態(tài)或編輯之后的狀態(tài)。結(jié)果,維持了移除源文件的安全性。此外,通過(guò)將數(shù)據(jù)編輯表添加到文件的極末端,數(shù)據(jù)編輯程序PR可以?xún)H基于次級(jí)存儲(chǔ)設(shè)備中存儲(chǔ)的數(shù)據(jù)即可恢復(fù)移除源文件。下文詳細(xì)描述了文件恢復(fù)處理。
[0159]如上文提及的,當(dāng)移除移除源文件中的位于移除開(kāi)始位置和移除結(jié)束位置之間的數(shù)據(jù)時(shí),本實(shí)施例的數(shù)據(jù)編輯程序PR刪除在具有移除源文件的移除開(kāi)始位置的移除開(kāi)始叢集中的移除開(kāi)始位置處及其之后的數(shù)據(jù)以及在具有移除結(jié)束位置的移除結(jié)束叢集中的移除結(jié)束位置處及其之前的數(shù)據(jù),并且編輯管理數(shù)據(jù),使得移除結(jié)束叢集被鏈接在移除開(kāi)始叢集之后。
[0160]因此,通過(guò)本實(shí)施例的數(shù)據(jù)編輯程序PR,抑制了文件的不必要的分割處理和鏈接處理。結(jié)果,本實(shí)施例的數(shù)據(jù)編輯程序PR可以減少數(shù)據(jù)移除處理執(zhí)行的編輯之后的文件的破碎次數(shù)并且還可以減少目錄條目的更新次數(shù)。結(jié)果,數(shù)據(jù)編輯程序PR可以迅速地和高效地執(zhí)行數(shù)據(jù)移除處理并且提高對(duì)編輯之后的文件的訪(fǎng)問(wèn)速率。此外,本實(shí)施例的數(shù)據(jù)編輯程序PR不使用新叢集,從而使得即使當(dāng)不存在可用叢集時(shí),仍可以執(zhí)行數(shù)據(jù)移除處理。此外,數(shù)據(jù)編輯程序PR可以使預(yù)先存儲(chǔ)在叢集中的數(shù)據(jù)的轉(zhuǎn)移量最小,并且可以迅速地執(zhí)行數(shù)據(jù)移除處理。
[0161]此外,本實(shí)施例的數(shù)據(jù)編輯程序PR在數(shù)據(jù)編輯處理的對(duì)象文件的數(shù)據(jù)尾部中存儲(chǔ)編輯指令信息,該編輯指令信息是被輸入的并且包括指示移除處理的編輯類(lèi)型、指示移除處理中的移除開(kāi)始位置的編輯對(duì)象位置和指示移除處理中的移除數(shù)據(jù)的尺寸的編輯對(duì)象尺寸。此外,當(dāng)不能執(zhí)行數(shù)據(jù)編輯處理的對(duì)象文件的讀取時(shí),數(shù)據(jù)編輯程序PR基于編輯指令信息將數(shù)據(jù)編輯處理的對(duì)象文件恢復(fù)到數(shù)據(jù)編輯處理之前或之后的狀態(tài)。
[0162]結(jié)果,即使當(dāng)對(duì)象文件的數(shù)據(jù)移除處理半途中斷時(shí),本實(shí)施例的數(shù)據(jù)編輯程序PR仍可以將對(duì)象文件恢復(fù)到數(shù)據(jù)移除處理之后的狀態(tài)。因此確保了移除源文件的安全性。
[0163]在本實(shí)施例的數(shù)據(jù)編輯程序PR中,在將叢集鏈接在新叢集之前的管理數(shù)據(jù)的編輯之前,當(dāng)數(shù)據(jù)區(qū)域中管理的文件的尺寸小于通過(guò)將編輯指令信息的尺寸加到管理數(shù)據(jù)的編輯之后的文件尺寸而獲得的總和尺寸時(shí),將數(shù)據(jù)區(qū)域中管理的文件的尺寸更新成該總和尺寸。
[0164]在數(shù)據(jù)移除處理中,移除源文件的叢集鏈改變之前的編輯前文件的尺寸大于通過(guò)將數(shù)據(jù)編輯表(編輯指令信息)的尺寸加到改變之后的文件尺寸而獲得的總和尺寸。在數(shù)據(jù)移除處理的情況下,即使在移除源文件的叢集鏈改變之后,數(shù)據(jù)編輯程序PR仍可以讀取數(shù)據(jù)編輯表。因此,在不改變文件尺寸的情況下,基于數(shù)據(jù)編輯表可以恢復(fù)移除源文件的失配。
[0165]此外,本實(shí)施例的數(shù)據(jù)編輯程序PR輸出具有指示數(shù)據(jù)移除處理的結(jié)果的信息的數(shù)據(jù)編輯表。結(jié)果,例如,較高層級(jí)的接口可以準(zhǔn)確地檢測(cè)編輯處理結(jié)果。
[0166][數(shù)據(jù)轉(zhuǎn)移處理:比較示例]
[0167]圖23A和圖23B是圖示比較示例中的數(shù)據(jù)轉(zhuǎn)移處理的流程的第一示圖。由正方形表示的叢集中的由斜線(xiàn)表示的區(qū)域指示移除源文件的數(shù)據(jù),并且空白部分指示未使用的區(qū)域。在數(shù)據(jù)轉(zhuǎn)移處理中,由橫線(xiàn)表示的區(qū)域和通過(guò)分級(jí)圖示的區(qū)域指示轉(zhuǎn)移源文件的數(shù)據(jù),并且由橫線(xiàn)表示的區(qū)域指示轉(zhuǎn)移對(duì)象數(shù)據(jù)D41。在比較示例中,數(shù)據(jù)指示非視頻數(shù)據(jù),并且由點(diǎn)柵表示的區(qū)域ff指示歸屬信息。在比較示例中,作為基于歸屬信息管理未使用的區(qū)域的結(jié)果,即使當(dāng)叢集包括未使用的區(qū)域時(shí),仍可以訪(fǎng)問(wèn)數(shù)據(jù)。
[0168]圖23A圖示了作為轉(zhuǎn)移目標(biāo)文件的文件I以及作為數(shù)據(jù)轉(zhuǎn)移處理之前的轉(zhuǎn)移源文件的文件2。在該示例中,文件I由五個(gè)叢集構(gòu)成,數(shù)據(jù)轉(zhuǎn)移插入位置P41包括在第三叢集中,文件2由六個(gè)叢集構(gòu)成,數(shù)據(jù)轉(zhuǎn)移開(kāi)始位置P42包括在第三叢集中,并且轉(zhuǎn)移結(jié)束位置P43包括在第五叢集中。在該示例中,文件2中的從轉(zhuǎn)移開(kāi)始位置P42到轉(zhuǎn)移結(jié)束位置P43的插入數(shù)據(jù)D41被轉(zhuǎn)移到文件I中的轉(zhuǎn)移插入位置P41。
[0169]隨后,在圖23B中,文件I被分成文件I和文件3。更具體地,在具有轉(zhuǎn)移插入位置P41的叢集(以下被稱(chēng)為“轉(zhuǎn)移插入?yún)布?中的轉(zhuǎn)移插入位置P41處及其之后的數(shù)據(jù)被轉(zhuǎn)移到新叢集N41并且被存儲(chǔ)為文件3。同時(shí),轉(zhuǎn)移插入?yún)布蟮膮布疌41被鏈接(B41)在新叢集N41之后。在文件3的新叢集N41和轉(zhuǎn)移插入?yún)布蟮膮布疌41之間假設(shè)有破碎狀態(tài)。
[0170]此外,在圖23B中,文件2被分成文件2和文件4。更具體地,在具有轉(zhuǎn)移開(kāi)始位置P42的叢集(以下被稱(chēng)為“轉(zhuǎn)移開(kāi)始叢集”)中的轉(zhuǎn)移開(kāi)始位置P42處及其之后的數(shù)據(jù)被轉(zhuǎn)移到新叢集N42并且被存儲(chǔ)為文件4。同時(shí),轉(zhuǎn)移開(kāi)始叢集之后的叢集C42被鏈接(B42)在新叢集N42之后。在文件4的新叢集N42和轉(zhuǎn)移開(kāi)始叢集之后的叢集C42之間假設(shè)有破碎狀態(tài)。此外,在圖23B中,文件4被分成文件4和文件5。更具體地,在具有轉(zhuǎn)移結(jié)束位置P43的叢集(以下被稱(chēng)為“轉(zhuǎn)移結(jié)束叢集”)中的轉(zhuǎn)移結(jié)束位置P43處及其之后的數(shù)據(jù)被轉(zhuǎn)移到新叢集N43并且被存儲(chǔ)為文件5。同時(shí),轉(zhuǎn)移結(jié)束叢集之后的叢集C43被鏈接(B43)在新叢集N43之后。在文件5的新叢集N43和轉(zhuǎn)移結(jié)束叢集之后的叢集C43之間假設(shè)有破碎狀態(tài)。在圖23B中,使用了三個(gè)新叢集N41至N43。
[0171]圖24是圖示作為圖23B中所示的處理的繼續(xù)的、比較示例中的數(shù)據(jù)轉(zhuǎn)移處理的流程的第二示圖。在圖24中,文件4鏈接到文件I。更具體地,文件4的新叢集N42鏈接(B44)在文件I的轉(zhuǎn)移插入開(kāi)始叢集之后,并且目錄條目中的文件4的條目被刪除。盡管文件4已被刪除,但是附接到文件4的叢集在下文中仍將被稱(chēng)為文件4的叢集。在文件I的轉(zhuǎn)移插入?yún)布托聟布疦42之間假設(shè)有破碎狀態(tài)。
[0172]在圖24中,文件3鏈接到已被文件4鏈接的文件I。更具體地,文件3的新叢集N41在文件I的極末端處被鏈接(B45)成轉(zhuǎn)移結(jié)束叢集(文件4的極末端處的叢集)之后的叢集,并且目錄條目中的文件3的條目被刪除。在文件I的極末端處的轉(zhuǎn)移結(jié)束叢集(文件4的極末端處的叢集)和文件3的新叢集N41之間假設(shè)有破碎狀態(tài)。此外,在圖24中,文件5鏈接到文件2。因此,針對(duì)轉(zhuǎn)移源文件執(zhí)行鏈接處理。更具體地,文件5的新叢集N43被鏈接(B46)在文件2的轉(zhuǎn)移開(kāi)始叢集之后,并且目錄條目中的文件5的條目被刪除。在文件2的轉(zhuǎn)移開(kāi)始叢集和文件5的新叢集N43之間假設(shè)有破碎狀態(tài)。
[0173]結(jié)果,在比較示例中,文件2中的轉(zhuǎn)移對(duì)象數(shù)據(jù)D41被轉(zhuǎn)移到文件I的轉(zhuǎn)移插入位置P41。在比較示例中,通過(guò)文件分割處理和文件鏈接處理來(lái)執(zhí)行數(shù)據(jù)轉(zhuǎn)移處理。因此,通過(guò)將轉(zhuǎn)移開(kāi)始位置和轉(zhuǎn)移結(jié)束位置用作分割點(diǎn),作為轉(zhuǎn)移源文件的文件2被分成文件4和文件5。此外,通過(guò)將轉(zhuǎn)移插入位置用作分割點(diǎn),作為轉(zhuǎn)移目標(biāo)文件的文件I被分成文件3。通過(guò)將文件I與文件4還有文件3鏈接來(lái)生成轉(zhuǎn)移目標(biāo)文件,并且通過(guò)將文件2與文件5鏈接來(lái)生成轉(zhuǎn)移源文件。
[0174]因此,在比較示例的數(shù)據(jù)轉(zhuǎn)移處理中,使用了總共三個(gè)新叢集N41、N42、N43。此外,數(shù)據(jù)轉(zhuǎn)移處理之后的文件中的叢集的破碎次數(shù)是6(B41至B46)。在比較示例中,對(duì)于三次文件分割中的每次分割生成兩次對(duì)目錄條目的訪(fǎng)問(wèn)(總共6次),并且對(duì)于三次文件鏈接操作中的每次操作生成兩次對(duì)目錄條目的訪(fǎng)問(wèn)(總共6次)。因此,在比較示例的數(shù)據(jù)轉(zhuǎn)移處理中總共生成12次對(duì)目錄條目的訪(fǎng)問(wèn)。
[0175][數(shù)據(jù)轉(zhuǎn)移處理的流程圖:比較示例]
[0176]圖25是圖示比較示例中的數(shù)據(jù)轉(zhuǎn)移處理的流程圖。在該圖中,作為轉(zhuǎn)移目標(biāo)文件的文件I在最初時(shí)被分成文件I和新文件3(S51)。更具體地,在轉(zhuǎn)移插入?yún)布霓D(zhuǎn)移插入位置處及其之后的數(shù)據(jù)被轉(zhuǎn)移到新叢集N41,并且轉(zhuǎn)移插入?yún)布蟮膮布疌41被鏈接(B41)在新叢集N41之后并且被存儲(chǔ)為文件3。
[0177]隨后,作為轉(zhuǎn)移源文件的文件2被分成文件2和新文件4 (S52)。更具體地,在轉(zhuǎn)移開(kāi)始叢集的轉(zhuǎn)移開(kāi)始位置處及其之后的數(shù)據(jù)被轉(zhuǎn)移到新叢集N42,并且轉(zhuǎn)移開(kāi)始叢集之后的叢集C42被鏈接(B42)在新叢集N42之后并且被存儲(chǔ)為文件4。所生成的文件4最后被進(jìn)一步分成文件4和新文件5 (S53)。更具體地,在轉(zhuǎn)移結(jié)束叢集的轉(zhuǎn)移結(jié)束位置處及其之后的數(shù)據(jù)被轉(zhuǎn)移到新叢集N43,并且轉(zhuǎn)移結(jié)束叢集之后的叢集C43被鏈接(B43)在新叢集N43之后并且被存儲(chǔ)為文件5。
[0178]隨后,文件4被鏈接到文件I (S54)。更具體地,文件4的新叢集N42被鏈接(B44)在文件I的轉(zhuǎn)移插入?yún)布螅⑶椅募?的條目被從目錄條目中刪除。隨后,文件3被鏈接到已被鏈接文件4的文件I (S55)。更具體地,文件3的新叢集N41被鏈接(B45)在文件I的極末端處的轉(zhuǎn)移結(jié)束叢集之后,并且文件3的條目被從目錄條目中刪除。因此針對(duì)轉(zhuǎn)移目標(biāo)文件執(zhí)行了鏈接處理。隨后文件5被鏈接到文件2 (S56)。更具體地,文件5的新叢集N43被鏈接(B46)在文件2的轉(zhuǎn)移開(kāi)始叢集之后,并且文件5的條目被從目錄條目中刪除。因此針對(duì)轉(zhuǎn)移源文件執(zhí)行了鏈接處理。
[0179][數(shù)據(jù)轉(zhuǎn)移處理:本實(shí)施例]
[0180]圖26A和圖26B是圖示本實(shí)施例中的數(shù)據(jù)轉(zhuǎn)移處理的流程的第一示圖。圖26以與比較示例相同的方式圖示了在數(shù)據(jù)轉(zhuǎn)移處理之前作為轉(zhuǎn)移目標(biāo)文件的文件I以及作為轉(zhuǎn)移源文件的文件2。在該示例中,文件I由五個(gè)叢集構(gòu)成,并且數(shù)據(jù)轉(zhuǎn)移插入位置P51包括在第三叢集中。此外,文件2由六個(gè)叢集構(gòu)成,數(shù)據(jù)轉(zhuǎn)移開(kāi)始位置P52包括在第三叢集中,并且轉(zhuǎn)移結(jié)束位置P53包括在第五叢集中。
[0181]隨后,在圖26B中,將數(shù)據(jù)編輯表T51、T52添加到文件I和文件2的極末端。包括指示INSERT1N的編輯處理類(lèi)型、指示文件I中的插入位置的編輯開(kāi)始位置以及指示轉(zhuǎn)移對(duì)象數(shù)據(jù)的尺寸的編輯數(shù)據(jù)尺寸的編輯指令信息被存儲(chǔ)在文件I中的數(shù)據(jù)編輯表T51中。包括指示REMOVAL的編輯處理類(lèi)型、指示文件2中的移除開(kāi)始位置的編輯開(kāi)始位置以及指示轉(zhuǎn)移對(duì)象數(shù)據(jù)的尺寸的編輯數(shù)據(jù)尺寸的編輯指令信息被存儲(chǔ)在文件2中的數(shù)據(jù)編輯表T52中。盡管在附接數(shù)據(jù)編輯表T51、T52之后,文件I和文件2的尺寸增加,但是此時(shí),目錄條目中管理的文件I和文件2的尺寸未被更新。
[0182]圖27A和圖27B是圖示作為圖26B中所示的處理的繼續(xù)的、本實(shí)施例中的數(shù)據(jù)轉(zhuǎn)移處理的流程的第二示圖。在圖27A中,固定兩個(gè)新叢集N51、N52。隨后,具有文件2中的轉(zhuǎn)移開(kāi)始位置P52的叢集之后的叢集C51(以下被稱(chēng)為“轉(zhuǎn)移開(kāi)始叢集”)被鏈接在第一新叢集N51之后。具有文件I中的轉(zhuǎn)移插入位置P51的叢集之后的叢集C52(以下被稱(chēng)為“轉(zhuǎn)移插入?yún)布?被鏈接(B51)在第二新叢集N52之后。在第一新叢集N51和文件2的轉(zhuǎn)移開(kāi)始叢集之后的叢集C51之間以及在弟_■新叢集N52和文件I的轉(zhuǎn)移插入?yún)布蟮膮布疌52之間假設(shè)有破碎狀態(tài)。
[0183]隨后,在圖27B中,相應(yīng)的數(shù)據(jù)被寫(xiě)入新叢集N51、N52中。更具體地,例如,在文件2的轉(zhuǎn)移開(kāi)始叢集中的轉(zhuǎn)移開(kāi)始位置P52處及其之后的數(shù)據(jù)被寫(xiě)入第一新叢集N51中。此夕卜,在具有文件2的轉(zhuǎn)移結(jié)束位置P53的叢集中的轉(zhuǎn)移結(jié)束位置P53處及其之前的數(shù)據(jù)以及在文件I的轉(zhuǎn)移插入?yún)布霓D(zhuǎn)移插入位置P51處及其之后的數(shù)據(jù)被寫(xiě)入第二新叢集N52。
[0184]圖28A和圖28B是圖示作為圖27B中所示的處理的繼續(xù)的、本實(shí)施例中的數(shù)據(jù)轉(zhuǎn)移處理的流程的第三示圖。在圖28A中,新創(chuàng)建虛擬文件(dummy file)并且將其附接到第一新叢集N51。當(dāng)新創(chuàng)建虛擬文件時(shí),虛擬文件的尺寸被設(shè)定成使得可以讀取文件I和文件2的數(shù)據(jù)編輯表T51、T52。結(jié)果,此時(shí),可以基于虛擬文件讀取文件2的數(shù)據(jù)編輯表T52。此夕卜,作為生成虛擬文件的結(jié)果,轉(zhuǎn)移數(shù)據(jù)D51可以附接到虛擬文件。因此,即使當(dāng)在通過(guò)圖28B中所示的虛擬文件的重新鏈接處理(B53)將轉(zhuǎn)移數(shù)據(jù)D51從文件2移除之后編輯處理中斷時(shí),仍可以避免轉(zhuǎn)移數(shù)據(jù)D51的丟失。此外,在圖28B中,轉(zhuǎn)移結(jié)束叢集被鏈接(B53)在文件2的轉(zhuǎn)移開(kāi)始叢集之后。在轉(zhuǎn)移開(kāi)始叢集和轉(zhuǎn)移結(jié)束叢集之間假設(shè)有破碎狀態(tài)。
[0185]圖29A和圖29B是圖示作為圖28B中所示的處理的繼續(xù)的、本實(shí)施例中的數(shù)據(jù)轉(zhuǎn)移處理的流程的第四示圖。在圖29A中,第二新叢集N52被鏈接(B54)在文件2的轉(zhuǎn)移結(jié)束叢集之前的叢集C51之后。在轉(zhuǎn)移結(jié)束叢集之前的叢集C51和第二新叢集N52之間假設(shè)有破碎狀態(tài)。結(jié)果,此時(shí),可以基于虛擬文件讀取文件I的數(shù)據(jù)編輯表T51。
[0186]隨后,在圖29B中,在將弟一新叢集N51鏈接在文件I的轉(zhuǎn)移插入?yún)布笾甶ll,更新文件I的文件尺寸。因此,在針對(duì)文件I執(zhí)行叢集鏈的重新鏈接處理(B55)之前更新目錄條目中管理的文件I的尺寸。更具體地,文件I的尺寸被更新成通過(guò)將轉(zhuǎn)移數(shù)據(jù)D51的尺寸和數(shù)據(jù)編輯表T51的尺寸加到編輯之前的文件尺寸而獲得的值。結(jié)果,假設(shè)有如下?tīng)顟B(tài),其中在叢集鏈的重新鏈接處理(B55)之后可以讀取文件I的數(shù)據(jù)編輯表T51。此外,在圖29B中,第一新叢集N51被鏈接在文件I的轉(zhuǎn)移插入?yún)布?。在轉(zhuǎn)移插入?yún)布偷谝恍聟布疦51之間假設(shè)有破碎狀態(tài)。
[0187]如數(shù)據(jù)插入的示例中說(shuō)明的,作為文件I的叢集鏈的更新結(jié)果,構(gòu)成文件I的叢集的配置被更新并且構(gòu)成文件I的叢集數(shù)目增加。因此,數(shù)據(jù)編輯表T51處于不可讀階段。出于該原因,在文件I的叢集鏈的重新鏈接處理(B55)之前,目錄條目中管理的文件I的尺寸被預(yù)先更新成可以讀取數(shù)據(jù)編輯T51的尺寸。結(jié)果,即使當(dāng)編輯處理在叢集鏈的重新鏈接處理(B55)之后中斷時(shí),仍可以基于數(shù)據(jù)編輯表T51將文件I恢復(fù)到數(shù)據(jù)編輯之后的狀態(tài)。下文將詳細(xì)說(shuō)明基于數(shù)據(jù)編輯表T51的文件恢復(fù)處理。
[0188]如數(shù)據(jù)插入處理的示例中說(shuō)明的,在圖27A中,當(dāng)文件I的轉(zhuǎn)移插入?yún)布蟮膮布疌52被鏈接(B52)在第二新叢集N52之后時(shí),沒(méi)有產(chǎn)生對(duì)構(gòu)成文件I的叢集的配置的影響。因此,在叢集鏈的重新鏈接處理之前不執(zhí)行文件尺寸更新處理。
[0189]圖30A和圖30B是圖示作為圖29B中所示的處理的繼續(xù)的、本實(shí)施例中的數(shù)據(jù)轉(zhuǎn)移處理的流程的第五示圖。在圖30A中,從目錄條目中刪除虛擬文件的條目。在圖29B中,通過(guò)叢集鏈的重新鏈接處理(B55)將轉(zhuǎn)移數(shù)據(jù)D51附接到文件I。因此,不需要虛擬文件的條目。
[0190]隨后,在圖30B中,更新文件I和文件2的索引中的每個(gè)幀的偏移。在文件I中的轉(zhuǎn)移插入位置P51之后的數(shù)據(jù)以及在文件2中的轉(zhuǎn)移結(jié)束位置P53處及其之后的數(shù)據(jù)的偏移因轉(zhuǎn)移數(shù)據(jù)D51的插入而被更新。因此,更新與偏移改變的數(shù)據(jù)對(duì)應(yīng)的索引。此外,作為索引更新的結(jié)果,在轉(zhuǎn)移插入?yún)布械霓D(zhuǎn)移插入位置P51處及其之后的數(shù)據(jù)、在轉(zhuǎn)移開(kāi)始叢集中的轉(zhuǎn)移開(kāi)始位置P52處及其之后的數(shù)據(jù)以及在轉(zhuǎn)移結(jié)束叢集中的轉(zhuǎn)移結(jié)束位置P53處及其之前的數(shù)據(jù)被更新成未使用狀態(tài)。
[0191]在圖30B中,刪除附接到文件I和文件2的極末端的數(shù)據(jù)編輯表T51、T52,并且更新每個(gè)文件的文件尺寸。在該情況下,文件I的尺寸被更新成通過(guò)將轉(zhuǎn)移數(shù)據(jù)的尺寸加到編輯之前的文件的尺寸而獲得的值。文件2的尺寸被更新成通過(guò)從編輯之前的文件尺寸減去轉(zhuǎn)移數(shù)據(jù)的尺寸而獲得的值。
[0192]因此,在本實(shí)施例的數(shù)據(jù)轉(zhuǎn)移處理中,使用了兩個(gè)新叢集N51、N52。此外,數(shù)據(jù)轉(zhuǎn)移處理之后的文件中的叢集破碎次數(shù)是5 (B51至B55)。在該實(shí)施例中,當(dāng)文件I被更新兩次時(shí)以及當(dāng)文件2被更新一次時(shí)生成了對(duì)目錄條目的訪(fǎng)問(wèn)(總共三次)。此外,在本實(shí)施例中,當(dāng)新創(chuàng)建虛擬文件時(shí)生成一次對(duì)目錄條目的訪(fǎng)問(wèn)并且當(dāng)刪除虛擬文件時(shí)生成一次對(duì)目錄條目的訪(fǎng)問(wèn)(總共兩次)。因此,在本實(shí)施例的數(shù)據(jù)轉(zhuǎn)移處理中,總共生成五次對(duì)目錄條目的訪(fǎng)問(wèn)。
[0193][未使用數(shù)據(jù)編輯表的情況]
[0194]當(dāng)未使用數(shù)據(jù)編輯表時(shí),在圖29B中圖示的處理之前直接執(zhí)行的文件I的文件尺寸的更新處理可以被省略。因此,在該情況下,文件尺寸的更新處理被執(zhí)行兩次,作為圖30B中的文件I和2的尺寸的更新處理。結(jié)果,總共四次更新目錄條目。在本實(shí)施例的數(shù)據(jù)轉(zhuǎn)移處理中,當(dāng)不考慮轉(zhuǎn)移數(shù)據(jù)D51的丟失時(shí),虛擬文件生成處理和刪除處理可以被省略。當(dāng)可以省略虛擬文件生成處理時(shí),可以跳過(guò)生成和刪除虛擬文件所需的對(duì)目錄條目的訪(fǎng)問(wèn),并且因此目錄條目的更新次數(shù)可以進(jìn)一步減少兩次。
[0195][數(shù)據(jù)轉(zhuǎn)移處理的流程圖:本實(shí)施例]
[0196]圖31是圖示本實(shí)施例中的數(shù)據(jù)轉(zhuǎn)移處理的流程圖。在該圖中,數(shù)據(jù)編輯程序PR在最初時(shí)將數(shù)據(jù)編輯表T51、T52添加到作為轉(zhuǎn)移目標(biāo)文件的文件I和作為轉(zhuǎn)移源文件的文件2的尾部(S61)。例如,數(shù)據(jù)編輯表Τ51、Τ52由視頻編輯庫(kù)生成并遞送。當(dāng)沒(méi)有使用數(shù)據(jù)編輯表Τ51、Τ52時(shí),可以省略步驟S61的處理。
[0197]隨后,數(shù)據(jù)編輯程序PR固定兩個(gè)新叢集N51、N52(S62)。在該情況下,文件2的轉(zhuǎn)移開(kāi)始叢集之后的叢集C51被鏈接在第一新叢集N51之后,并且文件I的轉(zhuǎn)移插入?yún)布蟮膮布疌52被鏈接在第二新叢集N52之后(B51、B52)。隨后,數(shù)據(jù)編輯程序PR將相應(yīng)的數(shù)據(jù)寫(xiě)入新叢集N51、N52中(S63)。例如,在文件2的轉(zhuǎn)移開(kāi)始叢集中的轉(zhuǎn)移開(kāi)始位置P52處及其之后的數(shù)據(jù)被寫(xiě)入第一新叢集N51中,并且在文件2的轉(zhuǎn)移結(jié)束叢集中的轉(zhuǎn)移結(jié)束位置P53處及其之前的數(shù)據(jù)以及在文件I的轉(zhuǎn)移插入?yún)布械霓D(zhuǎn)移插入位置P51處及其之后的數(shù)據(jù)被寫(xiě)入第二新叢集N52中。數(shù)據(jù)編輯程序PR隨后新創(chuàng)建虛擬文件并且將虛擬文件附接到第一新叢集N51(S64)。結(jié)果,插入數(shù)據(jù)D51附接到虛擬文件。
[0198]隨后,數(shù)據(jù)編輯程序PR將轉(zhuǎn)移結(jié)束叢集鏈接(B53)在文件2的轉(zhuǎn)移開(kāi)始叢集之后(S65)。結(jié)果,作為轉(zhuǎn)移源文件的文件2被鏈接。隨后,數(shù)據(jù)編輯程序PR將第二新叢集N52鏈接(B54)在文件2的轉(zhuǎn)移結(jié)束叢集之前的叢集C51之后(S66)。數(shù)據(jù)編輯程序PR隨后將文件I的文件尺寸更新(S67)成使得在針對(duì)文件I執(zhí)行叢集鏈的重新鏈接處理(步驟S68)之前可以讀取叢集鏈改變之后的數(shù)據(jù)以及數(shù)據(jù)編輯表T51的值。更具體地,數(shù)據(jù)編輯程序PR將文件I的尺寸更新成通過(guò)將轉(zhuǎn)移數(shù)據(jù)的尺寸和數(shù)據(jù)編輯表T51的尺寸加到編輯之前的文件I的尺寸而獲得的值。當(dāng)沒(méi)有使用數(shù)據(jù)編輯表T51、T52時(shí),可以省略步驟S67的處理。
[0199]隨后,數(shù)據(jù)編輯程序PR將第一新叢集N51鏈接(B55)在文件I的轉(zhuǎn)移插入?yún)布?S68)。數(shù)據(jù)編輯程序PR隨后從目錄條目中刪除虛擬文件的條目(S69)。隨后,數(shù)據(jù)編輯程序PR更新其中出現(xiàn)文件I中的偏移改變的轉(zhuǎn)移插入位置P51之后的數(shù)據(jù)以及在文件2中的轉(zhuǎn)移結(jié)束位置處及其之后的數(shù)據(jù)的偏移(S70)。在該情況下,數(shù)據(jù)編輯程序PR更新文件I和2的數(shù)據(jù)編輯表T51、T52中包括的編輯數(shù)據(jù)偏移以及編輯之后的文件尺寸。更具體地,包括指示轉(zhuǎn)移數(shù)據(jù)D51的開(kāi)始位置的編輯數(shù)據(jù)偏移還有編輯之后的文件尺寸的編輯結(jié)果信息被存儲(chǔ)在文件I的數(shù)據(jù)編輯表T51中。包括指示在插入結(jié)束位置處及其之后的數(shù)據(jù)的開(kāi)始位置的編輯數(shù)據(jù)偏移還有編輯之后的文件尺寸的編輯結(jié)果信息被存儲(chǔ)在文件2的數(shù)據(jù)編輯表T52中。
[0200]數(shù)據(jù)編輯程序PR隨后通過(guò)結(jié)轉(zhuǎn)至視頻編輯庫(kù)來(lái)刪除附接到文件I和2的極末端的數(shù)據(jù)編輯表T51、T52并且更新每個(gè)文件的文件尺寸(S71)。結(jié)果,視頻編輯庫(kù)可以基于編輯結(jié)果信息準(zhǔn)確地檢測(cè)編輯處理的內(nèi)容。此外,數(shù)據(jù)編輯程序PR將文件I的尺寸更新成通過(guò)將轉(zhuǎn)移數(shù)據(jù)的尺寸加到編輯之前的文件尺寸而獲得的值,并且將文件2的尺寸更新成通過(guò)從編輯之前的文件尺寸減去轉(zhuǎn)移數(shù)據(jù)的尺寸而獲得的值。
[0201][數(shù)據(jù)轉(zhuǎn)移處理中的樣式]
[0202]上文參照?qǐng)D26至圖31說(shuō)明了本實(shí)施例的數(shù)據(jù)轉(zhuǎn)移處理。在數(shù)據(jù)轉(zhuǎn)移處理中被寫(xiě)入兩個(gè)新叢集中的對(duì)象數(shù)據(jù)和叢集鏈的鏈接也可以通過(guò)與圖26至圖31所示的方法不同的方法來(lái)執(zhí)行。
[0203]圖32A和圖32B圖示了在數(shù)據(jù)轉(zhuǎn)移處理中被寫(xiě)入兩個(gè)新叢集中的數(shù)據(jù)樣式。在圖32A中的表Hl中,圖示了作為示例的包括圖26至圖31中說(shuō)明的樣式(1_1)的三個(gè)樣式。在表Hl中,轉(zhuǎn)移插入?yún)布?、轉(zhuǎn)移開(kāi)始叢集和轉(zhuǎn)移結(jié)束叢集中的區(qū)域被圖示為區(qū)域(A)、區(qū)域(a)、區(qū)域(B)、區(qū)域(b)、區(qū)域(C)和區(qū)域(C)。下面將說(shuō)明每個(gè)區(qū)域。如圖32B中所示,區(qū)域(A)指示在轉(zhuǎn)移目標(biāo)文件中的轉(zhuǎn)移插入?yún)布械霓D(zhuǎn)移插入位置處及其之前的區(qū)域,而區(qū)域(a)指示在轉(zhuǎn)移插入位置處及其之后的區(qū)域。區(qū)域(B)指示在轉(zhuǎn)移源文件中的轉(zhuǎn)移開(kāi)始叢集中的轉(zhuǎn)移開(kāi)始位置處及其之后的區(qū)域,而區(qū)域(b)指示在轉(zhuǎn)移開(kāi)始位置處及其之前的區(qū)域。區(qū)域(C)指示在轉(zhuǎn)移原文件中的轉(zhuǎn)移結(jié)束叢集中的轉(zhuǎn)移結(jié)束位置處及其之前的區(qū)域,而區(qū)域(c)指示在轉(zhuǎn)移結(jié)束位置處及其之后的區(qū)域。
[0204]首先,將說(shuō)明圖32A中的圖示的表Hl中的樣式1_1和樣式1_2。當(dāng)“區(qū)域(B)+區(qū)域(C) <叢集尺寸”時(shí),使用樣式1-1和樣式1-2。在該情況下,在轉(zhuǎn)移開(kāi)始叢集中的轉(zhuǎn)移開(kāi)始位置處及其之后的區(qū)域(B)以及在轉(zhuǎn)移結(jié)束叢集中的轉(zhuǎn)移結(jié)束位置處及其之前的區(qū)域(C)被裝配到一個(gè)叢集中。當(dāng)“區(qū)域(a)〈區(qū)域(B)”時(shí),使用樣式1-1,并且當(dāng)“區(qū)域(a)彡區(qū)域(B)”時(shí),使用樣式1-2。
[0205][樣式1-1]
[0206]下面更詳細(xì)地說(shuō)明樣式1-1。如上文提及的,當(dāng)“區(qū)域(a)〈區(qū)域(B)”并且“區(qū)域(B)+區(qū)域(C)彡叢集尺寸”時(shí),使用樣式1-1。如參照?qǐng)D27至圖31說(shuō)明的,在樣式1-1中,在轉(zhuǎn)移開(kāi)始叢集中的轉(zhuǎn)移開(kāi)始位置處及其之后的區(qū)域(區(qū)域(B))中的數(shù)據(jù)被寫(xiě)入第一新叢集N51中,并且在轉(zhuǎn)移結(jié)束叢集中的轉(zhuǎn)移結(jié)束位置處及其之前的區(qū)域(區(qū)域(C))中的數(shù)據(jù)以及在轉(zhuǎn)移插入?yún)布械霓D(zhuǎn)移插入位置處及其之后的區(qū)域(區(qū)域(a))中的數(shù)據(jù)被寫(xiě)入第二新叢集N52中。
[0207]叢集尺寸是均勻的。因此,當(dāng)“區(qū)域(B)+區(qū)域(C)彡叢集尺寸”時(shí),滿(mǎn)足條件“區(qū)域(B)彡區(qū)域(C)”。在條件“區(qū)域(B)彡區(qū)域(c)”與條件“區(qū)域(a)〈區(qū)域(B)”匹配時(shí),獲得了條件“區(qū)域(a)〈區(qū)域(C) ”。此外,當(dāng)“區(qū)域(a)〈區(qū)域(C) ”時(shí),滿(mǎn)足條件“區(qū)域(C)〈區(qū)域(A) ”。在該情況下,其中“區(qū)域(a)+區(qū)域㈧=叢集尺寸”,意味著區(qū)域(a)的數(shù)據(jù)和區(qū)域(C)的數(shù)據(jù)被裝配到一個(gè)叢集中。因此,一個(gè)叢集被區(qū)域(a)和區(qū)域(C)共享。因此,在轉(zhuǎn)移結(jié)束叢集中的轉(zhuǎn)移結(jié)束位置處及其之前的區(qū)域(區(qū)域(C))的數(shù)據(jù)以及在轉(zhuǎn)移插入?yún)布械霓D(zhuǎn)移插入位置處及其之后的區(qū)域(區(qū)域(a))的數(shù)據(jù)被寫(xiě)入第二新叢集N52中。
[0208][樣式1-2]
[0209]下面更詳細(xì)地說(shuō)明樣式1-2。如上文提及的,當(dāng)“區(qū)域(a)彡區(qū)域⑶”并且“區(qū)域(B)+區(qū)域(C) <叢集尺寸”時(shí),使用樣式1-2。在樣式1-2中,在轉(zhuǎn)移插入?yún)布械霓D(zhuǎn)移插入位置處及其之前的區(qū)域(區(qū)域(A))中的數(shù)據(jù)以及在轉(zhuǎn)移開(kāi)始叢集中的轉(zhuǎn)移開(kāi)始位置處及其之后的區(qū)域(區(qū)域(B))中的數(shù)據(jù)被寫(xiě)入第一新叢集N51中,并且在轉(zhuǎn)移結(jié)束叢集中的轉(zhuǎn)移結(jié)束位置處及其之前的區(qū)域(區(qū)域(C))中的數(shù)據(jù)被寫(xiě)入第二新叢集N52中。
[0210]當(dāng)“區(qū)域(a)彡區(qū)域(B)”時(shí),滿(mǎn)足條件“區(qū)域(a)+區(qū)域㈧=叢集尺寸”,并且意味著尺寸等于或小于區(qū)域(a)的區(qū)域(B)以及區(qū)域(A)被裝配到一個(gè)叢集中。因此,一個(gè)叢集被區(qū)域(A)和區(qū)域(B)共享。因此,在轉(zhuǎn)移插入?yún)布械霓D(zhuǎn)移插入位置處及其之前的區(qū)域(區(qū)域(A))的數(shù)據(jù)以及在轉(zhuǎn)移開(kāi)始叢集中的轉(zhuǎn)移開(kāi)始位置處及其之后的區(qū)域(區(qū)域(B))的數(shù)據(jù)被寫(xiě)入第一新叢集N51中。
[0211][樣式2]
[0212]當(dāng)“區(qū)域(B)+區(qū)域(C)〉叢集尺寸”時(shí),使用樣式2。這指示如下情況,其中在轉(zhuǎn)移開(kāi)始叢集中的轉(zhuǎn)移開(kāi)始位置處及其之后的區(qū)域(B)和在轉(zhuǎn)移結(jié)束叢集中的轉(zhuǎn)移結(jié)束位置處及其之前的區(qū)域(C)不能裝配到一個(gè)叢集中。當(dāng)“區(qū)域(B)+區(qū)域(C)〉叢集尺寸”時(shí),滿(mǎn)足條件“區(qū)域(C)+區(qū)域(c)=叢集尺寸”。因此,意味著區(qū)域(b)和區(qū)域(c)被裝配到一個(gè)叢集中。因此,在樣式2中,在轉(zhuǎn)移開(kāi)始叢集中的轉(zhuǎn)移開(kāi)始位置處及其之后的區(qū)域(區(qū)域(B))的數(shù)據(jù)被寫(xiě)入第一新叢集N51中,并且在轉(zhuǎn)移插入?yún)布械霓D(zhuǎn)移插入位置處及其之后的區(qū)域(區(qū)域(a))的數(shù)據(jù)被寫(xiě)入第二新叢集N52中。此外,在轉(zhuǎn)移結(jié)束叢集中的轉(zhuǎn)移結(jié)束位置處及其之后的區(qū)域(區(qū)域(C))的數(shù)據(jù)被寫(xiě)入轉(zhuǎn)移源文件中的轉(zhuǎn)移開(kāi)始叢集中。
[0213]因此,本實(shí)施例的數(shù)據(jù)編輯程序PR可以將作為編輯對(duì)象的位置之前和之后的三個(gè)區(qū)域的數(shù)據(jù)裝配到數(shù)據(jù)轉(zhuǎn)移處理中的兩個(gè)新叢集中。下文參照【專(zhuān)利附圖】
【附圖說(shuō)明】了樣式1-2和2的具體示例。
[0214][樣式1-2的具體示例]
[0215]圖33A和圖33B圖示了樣式1-2中的數(shù)據(jù)轉(zhuǎn)移處理的具體示例。在圖33A中,如圖31中所示的流程圖中的步驟S62的處理,固定兩個(gè)新叢集N51、N52,文件2的轉(zhuǎn)移開(kāi)始叢集之后的叢集C51被鏈接在第一新叢集N51之后,并且文件I的轉(zhuǎn)移插入?yún)布绘溄釉诘诙聟布疦52之后(B61、B62)。隨后,在后繼步驟S63中,在文件I (轉(zhuǎn)移目標(biāo)文件)的轉(zhuǎn)移插入?yún)布械霓D(zhuǎn)移插入位置處及其之前的數(shù)據(jù)以及在文件2 (轉(zhuǎn)移源文件)的轉(zhuǎn)移開(kāi)始叢集中的轉(zhuǎn)移開(kāi)始位置處及其之后的數(shù)據(jù)被寫(xiě)入第一新叢集N51中。此外,在同一步驟中,在文件2的轉(zhuǎn)移結(jié)束叢集中的轉(zhuǎn)移結(jié)束位置處及其之前的數(shù)據(jù)被寫(xiě)入第二新叢集N52中。
[0216]此外,在圖33B中,通過(guò)與樣式1-1相同的方式,如圖31中所示的步驟S65的處理,將轉(zhuǎn)移結(jié)束叢集鏈接(B63)在文件2的轉(zhuǎn)移開(kāi)始叢集之后。此外,在圖31中所示的步驟S66中,通過(guò)與樣式1-1相同的方式,將第二新叢集N52鏈接(B64)在文件2的轉(zhuǎn)移結(jié)束叢集之前的叢集C51之后。在圖31中所示的步驟S68中,將第一新叢集N51鏈接(B65)在文件I的轉(zhuǎn)移插入?yún)布暗膮布疌53之后。
[0217]因此,在樣式1-2的情況下,文件2中的從轉(zhuǎn)移開(kāi)始位置到轉(zhuǎn)移結(jié)束位置的轉(zhuǎn)移數(shù)據(jù)同樣被轉(zhuǎn)移到文件I中的轉(zhuǎn)移插入位置。此外,在樣式1-2的數(shù)據(jù)轉(zhuǎn)移處理中,通過(guò)與樣式1-1相同的方式,使用了兩個(gè)新叢集N51、N52,并且轉(zhuǎn)移處理之后的文件中的叢集的破碎次數(shù)是5(B61至B65)。所生成的對(duì)目錄條目的訪(fǎng)問(wèn)次數(shù)也與樣式1-1相同。
[0218][樣式2的具體示例]
[0219]圖34A和圖34B圖示了樣式2中的數(shù)據(jù)轉(zhuǎn)移處理的具體示例。在圖34A中,如圖31中所示的流程圖中的步驟S62的處理,固定兩個(gè)新叢集N51、N52,文件2的轉(zhuǎn)移開(kāi)始叢集之后的叢集C51被鏈接在第一新叢集N51之后,并且文件I的轉(zhuǎn)移插入?yún)布蟮膮布疌52被鏈接在第二新叢集N52之后(B71、B72)。隨后,在后繼步驟S63中,在文件2 (轉(zhuǎn)移源文件)的轉(zhuǎn)移開(kāi)始叢集中的轉(zhuǎn)移開(kāi)始位置處及其之后的數(shù)據(jù)被寫(xiě)入第一新叢集N51中,并且在文件I的轉(zhuǎn)移插入?yún)布械霓D(zhuǎn)移插入位置處及其之后的數(shù)據(jù)被寫(xiě)入第二新叢集N52中。此外,在樣式2中,在同一步驟中,在文件2的轉(zhuǎn)移開(kāi)始叢集中的轉(zhuǎn)移開(kāi)始位置處及其之前的數(shù)據(jù)之后,寫(xiě)入轉(zhuǎn)移結(jié)束叢集的轉(zhuǎn)移結(jié)束位置處及其之后的數(shù)據(jù)。
[0220]在圖34B中,如圖31中所示的步驟S65的處理,將轉(zhuǎn)移結(jié)束叢集之后的叢集C54鏈接(B73)在文件2的轉(zhuǎn)移開(kāi)始叢集之后。此外,在圖31中所示的步驟S66中,將第二新叢集N52鏈接在文件2的轉(zhuǎn)移結(jié)束叢集之后(B74)。在圖31中所示的步驟S68中,將第一新叢集N51鏈接在文件I的轉(zhuǎn)移插入?yún)布?B75)。
[0221 ] 因此,在樣式2中,文件2中的從轉(zhuǎn)移開(kāi)始位置到轉(zhuǎn)移結(jié)束位置的轉(zhuǎn)移數(shù)據(jù)同樣被轉(zhuǎn)移到文件I中的轉(zhuǎn)移插入位置。此外,在樣式2的數(shù)據(jù)轉(zhuǎn)移處理中,通過(guò)與樣式1-1和1-2相同的方式,使用了兩個(gè)新叢集N51、N52,并且轉(zhuǎn)移處理之后的文件中的叢集的破碎次數(shù)是5(B71至B75)。所生成的對(duì)目錄條目的訪(fǎng)問(wèn)次數(shù)也與樣式1-1和1_2的情況相同。
[0222]因此,通過(guò)任何樣式,兩個(gè)區(qū)域的數(shù)據(jù)共享一個(gè)叢集,從而使得可以將新叢集的數(shù)目減少到2并且將文件的破碎次數(shù)抑制到5。此外,通過(guò)與比較示例進(jìn)行比較,在本實(shí)施例的數(shù)據(jù)轉(zhuǎn)移處理中,對(duì)目錄條目的更新次數(shù)減少(從12減少到5)并且叢集的破碎次數(shù)也減少(從6減少到5)。當(dāng)在本實(shí)施例中不使用數(shù)據(jù)編輯表時(shí),對(duì)目錄條目的更新次數(shù)可以進(jìn)一步減少一次(從12減少到4)。
[0223]因此,通過(guò)減少對(duì)目錄條目的更新次數(shù),本實(shí)施例的數(shù)據(jù)編輯程序PR可以提高處理效率并且提高數(shù)據(jù)轉(zhuǎn)移處理的速度。此外,通過(guò)減少叢集破碎次數(shù),本實(shí)施例的數(shù)據(jù)編輯程序PR可以提高對(duì)編輯之后的文件的訪(fǎng)問(wèn)速度并且高效地使用文件系統(tǒng)的區(qū)域。
[0224]此外,在本實(shí)施例中,文件數(shù)據(jù)是例如視頻數(shù)據(jù)并且因此可以包括叢集內(nèi)的未使用的區(qū)域。因此,由于數(shù)據(jù)編輯對(duì)象的位置不限于叢集邊界,因此數(shù)據(jù)編輯程序PR可以使預(yù)先存儲(chǔ)在次級(jí)存儲(chǔ)介質(zhì)中的數(shù)據(jù)的轉(zhuǎn)移最少。
[0225]此外,在本實(shí)施例中,作為生成數(shù)據(jù)編輯表并且將其添加到數(shù)據(jù)的極末端的結(jié)果,即使當(dāng)數(shù)據(jù)轉(zhuǎn)移處理半途中斷時(shí),仍可以將轉(zhuǎn)移目標(biāo)文件和轉(zhuǎn)移源文件恢復(fù)到編輯之前的狀態(tài)或編輯之后的狀態(tài)。
[0226][數(shù)據(jù)轉(zhuǎn)移處理的中斷]
[0227]圖35圖示了當(dāng)在數(shù)據(jù)轉(zhuǎn)移處理的過(guò)程中中斷處理時(shí)的文件安全性。針對(duì)轉(zhuǎn)移目標(biāo)文件(文件I)和轉(zhuǎn)移源文件(文件2),該圖還包括與圖31中圖示的流程圖的每個(gè)步驟對(duì)應(yīng)的文件狀態(tài)和恢復(fù)指南。文件狀態(tài)是文件數(shù)據(jù)、文件尺寸、索引、數(shù)據(jù)編輯表和未引用數(shù)據(jù)的狀態(tài)。
[0228]更具體地,在圖35中,文件I和文件2在步驟S61之前處于編輯處理之前的狀態(tài),并且在步驟S71之后處于編輯處理之后的狀態(tài)。結(jié)果,即使當(dāng)編輯處理中斷時(shí),仍確保了文件I和文件2的安全性。盡管在步驟S61之后添加了數(shù)據(jù)編輯表,但是文件尺寸未被更新。因此,文件I和文件2處于編輯之前的狀態(tài)并且文件I和文件2的安全性被確保。
[0229]當(dāng)在步驟S62至S64之后編輯處理中斷時(shí),文件I和文件2被恢復(fù)到編輯之前的狀態(tài)。在步驟S62至S64之后,文件I和文件2的叢集鏈不變。因此,即使當(dāng)編輯處理中斷時(shí),仍確保了文件I和文件2的安全性。此外,在步驟S65之后,文件2的叢集鏈處于改變狀態(tài)。在該情況下,數(shù)據(jù)編輯程序PR基于文件2的數(shù)據(jù)編輯表和附接到虛擬文件的轉(zhuǎn)移數(shù)據(jù),通過(guò)使轉(zhuǎn)移數(shù)據(jù)返回文件2,將文件2恢復(fù)到編輯之前的狀態(tài)。
[0230]本實(shí)施例的數(shù)據(jù)編輯程序PR可以通過(guò)生成虛擬文件并且將虛擬文件附接到轉(zhuǎn)移數(shù)據(jù)來(lái)引用轉(zhuǎn)移數(shù)據(jù)。結(jié)果,即使在文件2的叢集鏈已被改變之后,數(shù)據(jù)編輯程序PR仍可以基于轉(zhuǎn)移數(shù)據(jù)將文件2恢復(fù)到編輯之前的狀態(tài)。
[0231]此外,當(dāng)編輯處理在步驟S66至S70之后中斷時(shí),文件I和文件2被恢復(fù)到編輯之后的狀態(tài)。當(dāng)針對(duì)文件I,編輯處理在步驟S66和S67之后中斷時(shí),文件I的叢集鏈不變。因此,在步驟S66之后,文件I的數(shù)據(jù)編輯表處于不可讀狀態(tài),但是可以基于虛擬表來(lái)讀取文件I的數(shù)據(jù)編輯表。因此,數(shù)據(jù)編輯程序PR可以基于附接到虛擬文件的文件I的數(shù)據(jù)編輯表和轉(zhuǎn)移數(shù)據(jù)將文件I恢復(fù)到編輯之后的狀態(tài)。此外,在步驟S67之后,由于文件I的文件尺寸的放大,文件I的數(shù)據(jù)編輯表處于可讀狀態(tài)。因此,數(shù)據(jù)編輯程序PR基于可讀的數(shù)據(jù)編輯表和附接到虛擬文件的轉(zhuǎn)移數(shù)據(jù)將文件I恢復(fù)到編輯之后的狀態(tài)。
[0232]因此,本實(shí)施例的數(shù)據(jù)編輯程序PR通過(guò)使用虛擬文件將文件I的數(shù)據(jù)編輯表設(shè)定為可讀狀態(tài)直到其中叢集鏈改變的步驟S68之后的時(shí)間點(diǎn)為止。結(jié)果,當(dāng)數(shù)據(jù)編輯處理在步驟S66和S67之后中斷時(shí),數(shù)據(jù)編輯程序PR可以將文件I恢復(fù)到編輯之后的狀態(tài)。
[0233]當(dāng)編輯處理在步驟S68之后中斷時(shí),文件I的叢集鏈改變并且生成了文件尺寸或索引的失配。因此,數(shù)據(jù)編輯程序PR基于數(shù)據(jù)編輯表恢復(fù)附件I的文件尺寸或索引的失配并且將文件I恢復(fù)到編輯之后的狀態(tài)。此外,當(dāng)針對(duì)文件2,編輯處理在步驟S66至S70之后中斷時(shí),數(shù)據(jù)編輯程序PR基于文件2的數(shù)據(jù)編輯表恢復(fù)附件2的文件尺寸或索引的失配并且將文件2恢復(fù)到編輯之后的狀態(tài)。
[0234]因此,通過(guò)本實(shí)施例的數(shù)據(jù)編輯程序PR,即使當(dāng)處理在編輯處理中的任何步驟之后中斷時(shí),通過(guò)使用具有編輯指令信息的數(shù)據(jù)編輯表,可以將轉(zhuǎn)移目標(biāo)文件和轉(zhuǎn)移源文件恢復(fù)到編輯之前的狀態(tài)或編輯之后的狀態(tài)。結(jié)果,維持了轉(zhuǎn)移目標(biāo)文件和轉(zhuǎn)移源文件的安全性。此外,通過(guò)將數(shù)據(jù)編輯表添加到文件尾部,數(shù)據(jù)編輯程序PR可以?xún)H基于次級(jí)存儲(chǔ)設(shè)備中存儲(chǔ)的數(shù)據(jù)對(duì)轉(zhuǎn)移目標(biāo)文件和轉(zhuǎn)移源文件進(jìn)行恢復(fù)。
[0235]如上文所述,通過(guò)本實(shí)施例的數(shù)據(jù)編輯程序PR,數(shù)據(jù)編輯處理包括將轉(zhuǎn)移源文件中的轉(zhuǎn)移開(kāi)始位置和轉(zhuǎn)移結(jié)束位置之間的插入數(shù)據(jù)轉(zhuǎn)移到轉(zhuǎn)移目標(biāo)文件中的轉(zhuǎn)移插入位置。轉(zhuǎn)移插入數(shù)據(jù)包括,將在具有轉(zhuǎn)移源文件的轉(zhuǎn)移開(kāi)始位置的轉(zhuǎn)移開(kāi)始叢集中的轉(zhuǎn)移開(kāi)始位置處及其之后的轉(zhuǎn)移開(kāi)始后數(shù)據(jù)轉(zhuǎn)移到其中未記錄轉(zhuǎn)移源文件和轉(zhuǎn)移目標(biāo)文件的第一新叢集,第一新叢集包括在多個(gè)叢集中。此外,轉(zhuǎn)移插入數(shù)據(jù)包括,將在具有轉(zhuǎn)移源文件的轉(zhuǎn)移結(jié)束位置的轉(zhuǎn)移結(jié)束叢集中的轉(zhuǎn)移結(jié)束位置處及其之前的轉(zhuǎn)移結(jié)束前數(shù)據(jù)轉(zhuǎn)移到其中未記錄轉(zhuǎn)移源文件和轉(zhuǎn)移目標(biāo)文件的第二新叢集,第二新叢集不同于第一新叢集并且包括在多個(gè)叢集中。此外,轉(zhuǎn)移插入數(shù)據(jù)包括,將在具有轉(zhuǎn)移目標(biāo)文件的轉(zhuǎn)移插入位置的轉(zhuǎn)移插入?yún)布械霓D(zhuǎn)移插入位置處及其之前的轉(zhuǎn)移插入前數(shù)據(jù)或者在轉(zhuǎn)移插入?yún)布械霓D(zhuǎn)移插入位置處及其之后的轉(zhuǎn)移插入后數(shù)據(jù)轉(zhuǎn)移到第一新叢集或第二新叢集。此外,轉(zhuǎn)移插入數(shù)據(jù)包括,針對(duì)轉(zhuǎn)移目標(biāo)文件編輯管理數(shù)據(jù),使得轉(zhuǎn)移開(kāi)始叢集之后的叢集被鏈接在第一新叢集之后,并且轉(zhuǎn)移結(jié)束叢集之前的叢集被鏈接在第二新叢集之前。
[0236]因此,通過(guò)本實(shí)施例的數(shù)據(jù)編輯程序PR,抑制了文件的不必要的分割處理和鏈接處理。此外,本實(shí)施例的數(shù)據(jù)編輯程序PR可以在數(shù)據(jù)轉(zhuǎn)移處理中將作為編輯對(duì)象的位置之前和之后的數(shù)據(jù)的三個(gè)區(qū)域的數(shù)據(jù)裝配到兩個(gè)新叢集中。結(jié)果,數(shù)據(jù)編輯程序PR可以減少數(shù)據(jù)轉(zhuǎn)移處理執(zhí)行的編輯之后的文件的破碎次數(shù)并且還可以減少對(duì)目錄條目的更新次數(shù)。結(jié)果,數(shù)據(jù)編輯程序PR可以高效地和迅速地執(zhí)行數(shù)據(jù)轉(zhuǎn)移處理并且可以在編輯之后迅速地訪(fǎng)問(wèn)文件。此外,數(shù)據(jù)編輯程序PR可以使預(yù)先記錄在叢集中的數(shù)據(jù)的轉(zhuǎn)移最小,并且可以迅速地執(zhí)行數(shù)據(jù)轉(zhuǎn)移處理。
[0237]此外,通過(guò)本實(shí)施例的數(shù)據(jù)編輯程序PR,當(dāng)在轉(zhuǎn)移插入?yún)布械霓D(zhuǎn)移插入位置處及其之后的轉(zhuǎn)移插入后數(shù)據(jù)的尺寸小于在轉(zhuǎn)移開(kāi)始叢集中的轉(zhuǎn)移開(kāi)始位置處及其之后的轉(zhuǎn)移開(kāi)始后數(shù)據(jù)的尺寸時(shí),轉(zhuǎn)移轉(zhuǎn)移插入前數(shù)據(jù)或轉(zhuǎn)移插入后數(shù)據(jù)的操作將轉(zhuǎn)移插入前數(shù)據(jù)和轉(zhuǎn)移插入后數(shù)據(jù)中的轉(zhuǎn)移插入后數(shù)據(jù)轉(zhuǎn)移到第二新叢集。此外,數(shù)據(jù)編輯程序PR對(duì)管理數(shù)據(jù)進(jìn)行編輯,使得轉(zhuǎn)移插入?yún)布绘溄釉诘谝恍聟布埃⑶肄D(zhuǎn)移插入?yún)布蟮膮布绘溄釉诘诙聟布蟆?br>
[0238]結(jié)果,通過(guò)數(shù)據(jù)編輯程序PR,在轉(zhuǎn)移插入后數(shù)據(jù)的尺寸小于轉(zhuǎn)移開(kāi)始后數(shù)據(jù)的尺寸的情況下(本實(shí)施例的樣式1-1),第二新叢集可以由兩個(gè)區(qū)域的數(shù)據(jù)共享。因此,數(shù)據(jù)轉(zhuǎn)移處理中要使用的新叢集的數(shù)目被限制為兩個(gè)并且轉(zhuǎn)移目標(biāo)文件的破碎次數(shù)被抑制。
[0239]此外,通過(guò)本實(shí)施例的數(shù)據(jù)編輯程序PR,當(dāng)轉(zhuǎn)移插入后數(shù)據(jù)的尺寸等于或大于轉(zhuǎn)移開(kāi)始后數(shù)據(jù)的尺寸時(shí),轉(zhuǎn)移轉(zhuǎn)移插入前數(shù)據(jù)或轉(zhuǎn)移插入后數(shù)據(jù)的操作將轉(zhuǎn)移插入前數(shù)據(jù)和轉(zhuǎn)移插入后數(shù)據(jù)中的轉(zhuǎn)移插入前數(shù)據(jù)轉(zhuǎn)移到第一新叢集。數(shù)據(jù)編輯程序PR對(duì)管理數(shù)據(jù)進(jìn)行編輯,使得轉(zhuǎn)移插入?yún)布暗膮布绘溄釉诘谝恍聟布埃⑶肄D(zhuǎn)移插入?yún)布绘溄釉诘诙聟布蟆?br>
[0240]結(jié)果,通過(guò)數(shù)據(jù)編輯程序PR,當(dāng)轉(zhuǎn)移插入后數(shù)據(jù)的尺寸等或大于轉(zhuǎn)移開(kāi)始后數(shù)據(jù)的尺寸時(shí)(本實(shí)施例的樣式1-2),第一新叢集可以由兩個(gè)區(qū)域的數(shù)據(jù)共享。因此,數(shù)據(jù)轉(zhuǎn)移處理中要使用的新叢集的數(shù)目被限制為兩個(gè)并且轉(zhuǎn)移目標(biāo)文件的破碎次數(shù)被抑制。
[0241 ] 此外,通過(guò)本實(shí)施例的數(shù)據(jù)編輯程序PR,進(jìn)一步編輯管理數(shù)據(jù),使得對(duì)于轉(zhuǎn)移源文件,轉(zhuǎn)移結(jié)束叢集被鏈接在轉(zhuǎn)移開(kāi)始叢集之后。結(jié)果,數(shù)據(jù)轉(zhuǎn)移處理中要使用的新叢集的數(shù)目被限制為兩個(gè)并且轉(zhuǎn)移目標(biāo)文件的破碎次數(shù)被抑制。
[0242]此外,在本實(shí)施例的數(shù)據(jù)編輯程序PR中,當(dāng)轉(zhuǎn)移開(kāi)始后數(shù)據(jù)的尺寸和轉(zhuǎn)移結(jié)束前數(shù)據(jù)的尺寸的總和等于或小于叢集的尺寸時(shí),執(zhí)行將轉(zhuǎn)移開(kāi)始后數(shù)據(jù)轉(zhuǎn)移到第一新叢集、將轉(zhuǎn)移結(jié)束前數(shù)據(jù)轉(zhuǎn)移到第二新叢集、將轉(zhuǎn)移插入前數(shù)據(jù)或轉(zhuǎn)移插入后數(shù)據(jù)轉(zhuǎn)移到第一新叢集或第二新叢集、以及編輯的操作。結(jié)果,數(shù)據(jù)轉(zhuǎn)移處理中要使用的新叢集的數(shù)目被限制為兩個(gè)并且轉(zhuǎn)移目標(biāo)文件的破碎次數(shù)被抑制。
[0243]在數(shù)據(jù)編輯程序PR中,轉(zhuǎn)移插入數(shù)據(jù)包括,當(dāng)轉(zhuǎn)移開(kāi)始后數(shù)據(jù)的尺寸和轉(zhuǎn)移結(jié)束前數(shù)據(jù)的尺寸的總和大于叢集的尺寸時(shí),將轉(zhuǎn)移開(kāi)始后數(shù)據(jù)轉(zhuǎn)移到其中未記錄轉(zhuǎn)移源文件和轉(zhuǎn)移目標(biāo)文件的第一新叢集,第一新叢集包括在多個(gè)叢集中,并且將轉(zhuǎn)移插入后數(shù)據(jù)轉(zhuǎn)移到其中未記錄轉(zhuǎn)移源文件和轉(zhuǎn)移目標(biāo)文件的第二新叢集,第二新叢集與第一新叢集不同并且包括在多個(gè)叢集中。此外,轉(zhuǎn)移插入數(shù)據(jù)包括,針對(duì)轉(zhuǎn)移目標(biāo)文件編輯管理數(shù)據(jù),使得轉(zhuǎn)移插入?yún)布溄釉诘谝恍聟布?,轉(zhuǎn)移開(kāi)始叢集之后的叢集被鏈接在第一新叢集之后,轉(zhuǎn)移結(jié)束叢集被鏈接在第二新叢集之前,并且轉(zhuǎn)移插入?yún)布蟮膮布绘溄釉诘诙聟布?。結(jié)果,數(shù)據(jù)轉(zhuǎn)移處理中要使用的新叢集的數(shù)目被限制為兩個(gè)并且轉(zhuǎn)移目標(biāo)文件的破碎次數(shù)被抑制。
[0244]此外,在本實(shí)施例的數(shù)據(jù)編輯程序PR中,當(dāng)轉(zhuǎn)移開(kāi)始后數(shù)據(jù)的尺寸和轉(zhuǎn)移結(jié)束前數(shù)據(jù)的尺寸的總和大于叢集的尺寸時(shí),針對(duì)轉(zhuǎn)移源文件對(duì)管理數(shù)據(jù)進(jìn)行進(jìn)一步編輯,使得在轉(zhuǎn)移結(jié)束叢集中的轉(zhuǎn)移結(jié)束位置處及其之后的數(shù)據(jù)已被轉(zhuǎn)移的轉(zhuǎn)移開(kāi)始叢集被鏈接在轉(zhuǎn)移結(jié)束叢集之后的叢集之前。
[0245]因此,通過(guò)數(shù)據(jù)編輯程序PR,當(dāng)轉(zhuǎn)移開(kāi)始后數(shù)據(jù)的尺寸和轉(zhuǎn)移結(jié)束前數(shù)據(jù)的尺寸的總和大于叢集的尺寸時(shí)(本實(shí)施例中的樣式2),一個(gè)叢集可以由轉(zhuǎn)移源文件中的兩個(gè)區(qū)域的數(shù)據(jù)共享。結(jié)果,數(shù)據(jù)轉(zhuǎn)移處理中要使用的新叢集的數(shù)目被限制為兩個(gè)并且轉(zhuǎn)移目標(biāo)文件的破碎次數(shù)被抑制。
[0246]此外,在本實(shí)施例的數(shù)據(jù)編輯程序PR中,對(duì)管理數(shù)據(jù)進(jìn)行編輯,使得在鏈接在新叢集之后的第一叢集和鏈接在新叢集之前的第二叢集中,第一叢集被首先鏈接到新叢集。因此,數(shù)據(jù)編輯程序PR在最初時(shí)更新新叢集的后鏈路,并且盡可能晚地更新前鏈路。通過(guò)該方法,即使后鏈路被鏈接到分離的文件的叢集,當(dāng)其中前鏈路沒(méi)有從任何位置鏈接的編輯處理中斷時(shí),數(shù)據(jù)仍可以被處置為未使用的數(shù)據(jù)并且被安全地刪除。此外,數(shù)據(jù)程序PR可以使轉(zhuǎn)移目標(biāo)文件改變的定時(shí)延遲。換言之,數(shù)據(jù)編輯程序PR可以盡可能長(zhǎng)地將轉(zhuǎn)移目標(biāo)文件維持在編輯之前的狀態(tài)。
[0247]在數(shù)據(jù)編輯處理中,本實(shí)施例的數(shù)據(jù)編輯程序PR在數(shù)據(jù)編輯處理的對(duì)象文件的數(shù)據(jù)尾部中進(jìn)一步存儲(chǔ)編輯指令信息,該編輯指令信息是被輸入的并且包括指示插入處理和移除處理中的任一個(gè)的編輯類(lèi)型、指示插入處理中的插入位置和移除處理中的移除開(kāi)始點(diǎn)中的任一個(gè)的編輯對(duì)象位置以及指示插入處理中的插入數(shù)據(jù)的尺寸或者移除處理中的刪除尺寸的編輯對(duì)象尺寸。此外,當(dāng)不能執(zhí)行數(shù)據(jù)編輯處理的對(duì)象文件的讀取時(shí),數(shù)據(jù)編輯處理基于編輯指令信息,將數(shù)據(jù)編輯處理的對(duì)象文件恢復(fù)到數(shù)據(jù)編輯處理之前或之后的狀態(tài)。
[0248]結(jié)果,即使當(dāng)文件之間的數(shù)據(jù)轉(zhuǎn)移處理半途中斷時(shí),本實(shí)施例的數(shù)據(jù)編輯程序PR仍可以將對(duì)象文件恢復(fù)到數(shù)據(jù)轉(zhuǎn)移處理之前或數(shù)據(jù)轉(zhuǎn)移處理之后的狀態(tài)。因此確保了插入目標(biāo)文件的安全性。
[0249]在本實(shí)施例的數(shù)據(jù)編輯程序PR中,當(dāng)在數(shù)據(jù)區(qū)域中管理的文件的尺寸小于通過(guò)將編輯指令信息的尺寸加到管理數(shù)據(jù)的編輯之后的文件尺寸而獲得的總和尺寸時(shí),在將叢集鏈接在新叢集之前的管理數(shù)據(jù)的編輯之前,數(shù)據(jù)編輯處理將數(shù)據(jù)區(qū)域中管理的文件的尺寸更新成該總和尺寸。
[0250]結(jié)果,數(shù)據(jù)編輯程序PR可以預(yù)先地,即在轉(zhuǎn)移目標(biāo)文件的叢集鏈改變之前,將文件尺寸更新成實(shí)現(xiàn)數(shù)據(jù)編輯表的讀取的尺寸。因此,即使當(dāng)編輯處理中斷并且在轉(zhuǎn)移目標(biāo)文件的叢集鏈改變之后出現(xiàn)文件失配時(shí),數(shù)據(jù)編輯程序PR仍可以基于數(shù)據(jù)編輯表將轉(zhuǎn)移目標(biāo)文件恢復(fù)到轉(zhuǎn)移之前或之后的狀態(tài)。
[0251]此外,在本實(shí)施例的數(shù)據(jù)編輯程序PR中,在數(shù)據(jù)編輯處理之后,數(shù)據(jù)編輯處理進(jìn)一步輸出編輯結(jié)果信息,該編輯結(jié)果信息包括在編輯處理之前位置已改變的數(shù)據(jù)的位置以及位置已改變的數(shù)據(jù)的尺寸。結(jié)果,例如,較高層級(jí)的接口可以準(zhǔn)確地檢測(cè)編輯處理結(jié)果。
[0252][對(duì)目錄條目的更新次數(shù)]
[0253]圖36圖示了本實(shí)施例和比較示例之間的對(duì)目錄條目的更新次數(shù)、新叢集的數(shù)目以及破碎次數(shù)的差異。上文針對(duì)每個(gè)編輯處理說(shuō)明了本實(shí)施例的和比較示例中的對(duì)目錄條目的更新總數(shù)、新叢集的數(shù)目以及破碎次數(shù)。更具體地,在數(shù)據(jù)插入處理中,比較示例中的對(duì)目錄條目的更新總數(shù)是7,新使用的叢集的數(shù)目是I,并且破碎次數(shù)是3。相反,本實(shí)施例中的對(duì)目錄條目的更新總數(shù)是2 (當(dāng)沒(méi)有生成數(shù)據(jù)編輯表時(shí)兩次),新使用的叢集的數(shù)目是I,并且破碎次數(shù)是2。
[0254]在數(shù)據(jù)移除處理中,比較示例中的對(duì)目錄條目的更新總數(shù)是7,新使用的叢集的數(shù)目是2,并且破碎次數(shù)是2。相反,本實(shí)施例中的對(duì)目錄條目的更新總數(shù)是I,新使用的叢集的數(shù)目是O,并且破碎次數(shù)是I。在數(shù)據(jù)轉(zhuǎn)移處理中,比較示例中的對(duì)目錄條目的更新總數(shù)是12,新使用的叢集的數(shù)目是3,并且破碎次數(shù)是6。相反,本實(shí)施例中的對(duì)目錄條目的更新總數(shù)是5 (當(dāng)沒(méi)有生成數(shù)據(jù)編輯表時(shí)4次),新使用的叢集的數(shù)目是2,并且破碎次數(shù)是5。
[0255]因此,通過(guò)本實(shí)施例的數(shù)據(jù)編輯程序PR,減少了對(duì)目錄條目的更新次數(shù),并且因此提高了編輯處理的速度。此外,通過(guò)本實(shí)施例的數(shù)據(jù)編輯程序PR,抑制了新使用的叢集的數(shù)目,并且因此即使當(dāng)空叢集的數(shù)目不足時(shí)仍可以執(zhí)行數(shù)據(jù)編輯處理。此外,通過(guò)本實(shí)施例的數(shù)據(jù)編輯程序PR,編輯之后的文件的破碎次數(shù)是少的。因此,可以高效地使用文件系統(tǒng)并且提高了對(duì)編輯之后的文件的訪(fǎng)問(wèn)速率。
[0256]下文說(shuō)明基于數(shù)據(jù)編輯表的編輯對(duì)象的恢復(fù)處理。
[0257][文件恢復(fù)處理的流程圖]
[0258]圖37是圖示文件恢復(fù)處理的第一流程圖。在該圖中,數(shù)據(jù)編輯程序PR在最初時(shí)診斷次級(jí)存儲(chǔ)設(shè)備中的異常數(shù)據(jù)的存在/不存在(S81)。更具體地,數(shù)據(jù)編輯程序PR檢查次級(jí)存儲(chǔ)設(shè)備中存儲(chǔ)的虛擬文件和未引用數(shù)據(jù)的存在/不存在、文件尺寸失配的存在/不存在以及剩余的數(shù)據(jù)編輯表的存在/不存在。在檢查結(jié)果指示存在虛擬文件的情況下(S82中的是),數(shù)據(jù)編輯程序PR執(zhí)行與數(shù)據(jù)轉(zhuǎn)移(TRANSFER)處理對(duì)應(yīng)的文件恢復(fù)處理(S83)。下文參照分立的流程圖說(shuō)明該處理。
[0259]隨后使用檢查結(jié)果確定是否存在編輯處理類(lèi)型為INSERT1N的數(shù)據(jù)編輯表(S84)。在存在該數(shù)據(jù)編輯表的情況下(S84中的是),數(shù)據(jù)編輯程序PR執(zhí)行與數(shù)據(jù)插入處理對(duì)應(yīng)的文件恢復(fù)處理(S85)。下文參照分立的流程圖說(shuō)明該處理。步驟S85的處理還包括數(shù)據(jù)轉(zhuǎn)移處理中的轉(zhuǎn)移目標(biāo)文件的恢復(fù)處理。
[0260]隨后使用檢查結(jié)果確定是否存在編輯處理類(lèi)型為REMOVAL的數(shù)據(jù)編輯表(S86)。在存在該數(shù)據(jù)編輯表的情況下(S86中的是),數(shù)據(jù)編輯程序PR執(zhí)行與數(shù)據(jù)移除處理對(duì)應(yīng)的文件恢復(fù)處理(S87)。下文參照分立的流程圖說(shuō)明該處理。步驟S87的處理還包括數(shù)據(jù)轉(zhuǎn)移處理中的轉(zhuǎn)移源文件的恢復(fù)處理。在剩余虛擬文件和未引用數(shù)據(jù)的情況下,數(shù)據(jù)編輯程序PR刪除虛擬文件和未引用數(shù)據(jù)(S88)。
[0261][流程圖:與數(shù)據(jù)轉(zhuǎn)移處理對(duì)應(yīng)的文件恢復(fù)處理]
[0262]圖38圖示了對(duì)應(yīng)于數(shù)據(jù)轉(zhuǎn)移處理的文件恢復(fù)處理(圖37中的S83)。在該圖中,數(shù)據(jù)編輯程序PR在最初時(shí)確定附接到虛擬文件的數(shù)據(jù)編輯表中的編輯處理類(lèi)型是INSERT1N還是REMOVAL (SI 11)。存在附接到虛擬文件的編輯表的情況對(duì)應(yīng)于圖31中所示的數(shù)據(jù)轉(zhuǎn)移處理的流程圖中的步驟S64至S68之后的狀態(tài)。
[0263]在附接到虛擬文件的數(shù)據(jù)編輯表中的編輯處理類(lèi)型是INSERT1N的情況下,數(shù)據(jù)編輯程序PR確定在其他位置是否存在具有編輯處理類(lèi)型為INSERT1N的編輯表的文件(S112)。在其他位置不存在該文件的情況下(S112中的否),數(shù)據(jù)編輯程序PR使插入目標(biāo)文件的尺寸變?yōu)槠渲袛?shù)據(jù)編輯表已被移除的數(shù)據(jù)轉(zhuǎn)移之后的尺寸。該情況(S112中的否)對(duì)應(yīng)于圖31中所示的步驟S64至S68中的步驟S66之后的狀態(tài)。同時(shí),在其他位置存在前述文件的情況(S112中的是)對(duì)應(yīng)于圖31中的步驟S67和S68之后的狀態(tài)。在該情況下,由于文件尺寸已在步驟S67中更新,因此文件尺寸更新處理是不必要的。
[0264]數(shù)據(jù)編輯程序PR隨后確定在文件尾部是否存在編輯處理類(lèi)型為INSERT1N的數(shù)據(jù)編輯表(S114)。在文件尾部不存在數(shù)據(jù)編輯表的情況(S114中的否)對(duì)應(yīng)于圖31中所示的流程圖中的步驟S66和S67之后的狀態(tài)。在該情況下,數(shù)據(jù)編輯程序PR執(zhí)行圖31中所示的步驟S68的處理并且將轉(zhuǎn)移目標(biāo)文件恢復(fù)到編輯之后的狀態(tài)(S115)。更具體地,針對(duì)具有編輯處理類(lèi)型為INSERT1N的數(shù)據(jù)編輯表的文件(處理轉(zhuǎn)移目標(biāo)文件),數(shù)據(jù)編輯程序PR將具有轉(zhuǎn)移開(kāi)始位置的叢集之后的叢集鏈接至附接到虛擬文件的首叢集(第一新叢集)。
[0265]同時(shí),在文件尾部存在編輯處理類(lèi)型為INSERT1N的數(shù)據(jù)編輯表的情況(SI 14中的是)對(duì)應(yīng)于圖31中的步驟S68之后的狀態(tài)。因此,叢集鏈的重新鏈接是不必要的。數(shù)據(jù)編輯程序PR隨后從目錄條目中刪除虛擬文件的條目(SI 16)。
[0266]在附接到虛擬文件的數(shù)據(jù)編輯表中的編輯處理類(lèi)型是REMOVAL的情況下,數(shù)據(jù)編輯程序PR確定在其他位置是否存在具有編輯處理類(lèi)型為REMOVAL的編輯表的文件(S117)。在其他位置存在該文件的情況下(S117中的是),意味著可以從檢查源文件和虛擬文件兩者讀取數(shù)據(jù)編輯表。因此,該情況對(duì)應(yīng)于圖31中的步驟S65之后的狀態(tài)。在該情況下,數(shù)據(jù)編輯程序PR將轉(zhuǎn)移源文件恢復(fù)到編輯之前的狀態(tài)(SI 18)。更具體地,針對(duì)轉(zhuǎn)移源文件,數(shù)據(jù)編輯程序PR將具有轉(zhuǎn)移開(kāi)始位置的叢集之后的叢集鏈接至附接到虛擬文件的第二叢集。結(jié)果,轉(zhuǎn)移源文件被恢復(fù)到編輯之前的狀態(tài)。
[0267]同時(shí),在其他位置不存在具有編輯類(lèi)型為REMOVAL的數(shù)據(jù)編輯表的文件的情況(S117中的否)對(duì)應(yīng)于圖31中所示的流程圖中的步驟S64之后的狀態(tài)。在該情況下,轉(zhuǎn)移源文件處于叢集鏈的重新鏈接處理(B53)之前的狀態(tài)。因此,不執(zhí)行步驟S118的處理。數(shù)據(jù)編輯程序PR隨后刪除虛擬文件的第一叢集并且還從目錄條目刪除虛擬文件的條目(SI 19)。
[0268][流程圖:與數(shù)據(jù)插入處理對(duì)應(yīng)的文件恢復(fù)處理]
[0269]圖39圖示了對(duì)應(yīng)于數(shù)據(jù)插入處理的文件恢復(fù)處理(圖37中的S85)。在該圖中,數(shù)據(jù)編輯程序PR在最初時(shí)確定在文件尾部是否存在編輯處理類(lèi)型為INSERT1N的數(shù)據(jù)編輯表(S91)。在文件尾部存在數(shù)據(jù)編輯表的情況下(S91中的是),數(shù)據(jù)編輯程序PR確定是否存在文件索引的失配(S92)。在存在索引失配的情況下(S92中的是),數(shù)據(jù)編輯程序PR基于數(shù)據(jù)編輯表更新索引(S93)。數(shù)據(jù)編輯程序PR隨后將文件尺寸更新成移除數(shù)據(jù)編輯表之后的尺寸(S94)。
[0270][流程圖:與數(shù)據(jù)移除處理對(duì)應(yīng)的文件恢復(fù)處理]
[0271]圖40圖示了對(duì)應(yīng)于數(shù)據(jù)移除處理的文件恢復(fù)處理(圖37中的S87)。在該圖中,數(shù)據(jù)編輯程序PR在最初時(shí)確定是否存在文件索引的失配(SlOl)。在存在索引失配的情況下(S101中的是),數(shù)據(jù)編輯程序PR基于數(shù)據(jù)編輯表更新索引(S102)。數(shù)據(jù)編輯程序PR隨后將文件尺寸更新成移除數(shù)據(jù)編輯表之后的尺寸(S103)。
[0272]下文說(shuō)明了數(shù)據(jù)編輯表的具體示例。
[0273][數(shù)據(jù)編輯表的具體示例]
[0274]圖41A至圖41C圖示了數(shù)據(jù)轉(zhuǎn)移處理中的每個(gè)文件的尺寸的具體示例。圖41A圖示了編輯之前的轉(zhuǎn)移目標(biāo)文件和轉(zhuǎn)移源文件的配置。圖41B圖示了虛擬文件的配置。虛擬文件是例如,處于圖31中所示的流程圖中的步驟S66之后的狀態(tài)的虛擬文件。此外,圖41C圖示了編輯之后的轉(zhuǎn)移目標(biāo)文件和轉(zhuǎn)移源文件的配置。圖中的每個(gè)文件中的數(shù)據(jù)的尺寸由數(shù)值表示。
[0275]在該示例中,文件系統(tǒng)中的叢集尺寸是4096字節(jié)(A),并且數(shù)據(jù)編輯表的尺寸是20字節(jié)(B)。在圖41A中,編輯之前的轉(zhuǎn)移目標(biāo)文件(文件I)由5個(gè)叢集構(gòu)成,并且其尺寸是18000字節(jié)(C)。此外,編輯之前的轉(zhuǎn)移源文件(文件2)由6個(gè)叢集構(gòu)成,并且其尺寸是22000字節(jié)(H)。轉(zhuǎn)移對(duì)象數(shù)據(jù)的尺寸是6000字節(jié)(J)。在圖41B中,虛擬文件由5個(gè)叢集構(gòu)成并且其尺寸是18020字節(jié)(M)。在圖41C中,編輯之后的轉(zhuǎn)移目標(biāo)文件由8個(gè)叢集構(gòu)成,并且其尺寸是30288字節(jié)(G)。此外,編輯之后的轉(zhuǎn)移源文件由5個(gè)叢集構(gòu)成,并且其尺寸是17904字節(jié)(L)。
[0276]圖42圖示了對(duì)應(yīng)于圖41A至圖41C中所示的具體示例的數(shù)據(jù)編輯表的示例。該圖圖示了關(guān)于整體文件系統(tǒng)的信息以及關(guān)于轉(zhuǎn)移目標(biāo)文件、轉(zhuǎn)移源文件和虛擬文件的信息的示例。在同一圖中,由粗線(xiàn)框圍繞的部分是數(shù)據(jù)編輯表的具體示例。圖中的尺寸A至J是圖41A至圖41C中的尺寸A至J。
[0277]在該示例中,針對(duì)轉(zhuǎn)移目標(biāo)文件生成的數(shù)據(jù)編輯表中的編輯指令信息的編輯處理類(lèi)型是INSERT1N,編輯開(kāi)始位置在第三叢集中的第10200字節(jié)處(D),并且指示轉(zhuǎn)移數(shù)據(jù)的編輯數(shù)據(jù)尺寸是6000字節(jié)(E)。此外,編輯結(jié)果信息中的編輯數(shù)據(jù)偏移在第四叢集中的第14496字節(jié)(F)處,并且編輯之后的文件尺寸是30288字節(jié)(G)。
[0278]此外,針對(duì)轉(zhuǎn)移源文件生成的數(shù)據(jù)編輯表中的編輯指令信息的編輯處理類(lèi)型是INSERT1N,編輯開(kāi)始位置在第三叢集中的第10400字節(jié)處(I),并且指示轉(zhuǎn)移數(shù)據(jù)的編輯數(shù)據(jù)尺寸是6000字節(jié)(J)。此外,編輯結(jié)果信息中的編輯數(shù)據(jù)偏移在第四叢集中的第12304字節(jié)(K)處,并且編輯之后的文件尺寸是17904字節(jié)(L)。
[0279]圖43圖示了關(guān)于轉(zhuǎn)移目標(biāo)文件(文件I)、轉(zhuǎn)移源文件(文件2)和虛擬文件的文件狀態(tài)和恢復(fù)指南的具體示例。圖43中的表對(duì)應(yīng)于圖31中所示的數(shù)據(jù)轉(zhuǎn)移處理的流程圖。在該示例中,文件狀態(tài)是例如,文件數(shù)據(jù)狀態(tài)、所使用的叢集的數(shù)目以及文件尺寸。
[0280]在圖43中所示的示例中,構(gòu)成轉(zhuǎn)移目標(biāo)文件的叢集數(shù)目因數(shù)據(jù)轉(zhuǎn)移處理而從5增加到8。此外,轉(zhuǎn)移目標(biāo)文件的文件尺寸從18000字節(jié)增加到30288字節(jié)。數(shù)據(jù)編輯表是20字節(jié)。因此,步驟S67至S70之后的包括數(shù)據(jù)編輯表的尺寸的文件尺寸是30308字節(jié)(=30288+20)。同時(shí),構(gòu)成轉(zhuǎn)移源文件的叢集數(shù)目因數(shù)據(jù)轉(zhuǎn)移處理而從6減少到5。轉(zhuǎn)移源文件的文件尺寸從22000字節(jié)減少到17904字節(jié)。
[0281]在本實(shí)施例中,說(shuō)明了如下示例,其中除了對(duì)目錄條目的訪(fǎng)問(wèn)和減少文件的破碎次數(shù)的處理步驟之外,還使用了數(shù)據(jù)編輯表。然而,例如,本實(shí)施例中的數(shù)據(jù)編輯表可以與比較示例組合使用。
[0282]例如,在圖10中的比較示例的數(shù)據(jù)插入處理中,在將插入數(shù)據(jù)寫(xiě)入文件2之前(SII),數(shù)據(jù)編輯程序PR將數(shù)據(jù)編輯表添加到數(shù)據(jù)I的尾部。此外,在步驟S12中將文件2鏈接到文件I之前,數(shù)據(jù)編輯程序PR將文件I的尺寸放大到可以讀取數(shù)據(jù)編輯表的尺寸。在數(shù)據(jù)插入處理結(jié)束時(shí),將添加到文件I的尾部的數(shù)據(jù)編輯表刪除。
[0283]結(jié)果,即使當(dāng)編輯處理在圖10中所示的步驟S12之后中斷時(shí),數(shù)據(jù)編輯程序PR仍可以基于文件2和3的數(shù)據(jù)以及數(shù)據(jù)編輯表將文件I恢復(fù)到編輯之前的狀態(tài)或編輯之后的狀態(tài)。在比較示例中的數(shù)據(jù)移除處理和數(shù)據(jù)轉(zhuǎn)移處理中也可以相似地使用該方法。
[0284]因此,通過(guò)本實(shí)施例的數(shù)據(jù)編輯程序PR,數(shù)據(jù)編輯處理在數(shù)據(jù)編輯處理的對(duì)象文件的數(shù)據(jù)尾部中存儲(chǔ)編輯指令信息,該編輯指令信息是被輸入的并且包括指示插入處理和移除處理中的任一個(gè)的編輯類(lèi)型、指示插入處理中的插入位置和移除處理中的移除開(kāi)始點(diǎn)中的任一個(gè)的編輯對(duì)象位置以及指示插入處理中的插入數(shù)據(jù)的尺寸或者移除處理中的刪除尺寸的編輯對(duì)象尺寸。此外,通過(guò)數(shù)據(jù)編輯程序PR,數(shù)據(jù)編輯處理基于輸入的編輯指令信息,針對(duì)數(shù)據(jù)編輯處理的對(duì)象文件,執(zhí)行數(shù)據(jù)插入、數(shù)據(jù)移除和數(shù)據(jù)轉(zhuǎn)移中的任何一個(gè)的數(shù)據(jù)編輯,并且針對(duì)管理數(shù)據(jù)改變數(shù)據(jù)編輯處理的對(duì)象文件的叢集配置,以便對(duì)應(yīng)于數(shù)據(jù)編輯。此外,通過(guò)數(shù)據(jù)編輯程序PR,當(dāng)不能執(zhí)行數(shù)據(jù)編輯處理的對(duì)象文件的讀取時(shí),數(shù)據(jù)編輯處理基于編輯指令信息,將數(shù)據(jù)編輯處理的對(duì)象文件恢復(fù)到數(shù)據(jù)編輯處理之前或之后的狀態(tài)。
[0285]結(jié)果,即使當(dāng)文件之間的數(shù)據(jù)轉(zhuǎn)移處理半途中斷時(shí),本實(shí)施例的數(shù)據(jù)編輯程序PR仍可以將作為編輯處理的對(duì)象的文件恢復(fù)到數(shù)據(jù)編輯處理之前或數(shù)據(jù)編輯處理之后的狀態(tài)。因此確保了作為編輯處理的對(duì)象的文件的安全性。
[0286]在本實(shí)施例的數(shù)據(jù)編輯程序PR中,當(dāng)在數(shù)據(jù)區(qū)域中管理的文件的尺寸小于通過(guò)將編輯指令信息的尺寸加到管理數(shù)據(jù)的編輯之后的文件尺寸而獲得的總和尺寸時(shí),在將叢集鏈接在新叢集之前的管理數(shù)據(jù)的編輯之前,數(shù)據(jù)編輯處理將數(shù)據(jù)區(qū)域中管理的文件的尺寸更新成該總和尺寸。
[0287]結(jié)果,數(shù)據(jù)編輯程序PR可以預(yù)先地,即在編輯對(duì)象文件的叢集鏈改變之前,將文件尺寸更新成可以讀取數(shù)據(jù)編輯表的尺寸。因此,即使當(dāng)編輯處理中斷并且在編輯對(duì)象文件的叢集鏈改變之后出現(xiàn)文件失配時(shí),數(shù)據(jù)編輯程序PR仍可以基于數(shù)據(jù)編輯表將編輯對(duì)象文件恢復(fù)到轉(zhuǎn)移之前或之后的狀態(tài)。
【權(quán)利要求】
1.一種執(zhí)行記錄介質(zhì)的數(shù)據(jù)編輯處理的數(shù)據(jù)編輯裝置,所述記錄介質(zhì)包括設(shè)置有多個(gè)叢集并且其中以叢集為單位記錄數(shù)據(jù)文件的數(shù)據(jù)區(qū)域,以及其中記錄管理所述數(shù)據(jù)文件的管理數(shù)據(jù)的管理區(qū)域,所述數(shù)據(jù)編輯裝置包括: 至少一個(gè)處理器,被配置成執(zhí)行所述數(shù)據(jù)編輯處理,所述數(shù)據(jù)編輯處理將轉(zhuǎn)移源文件中的轉(zhuǎn)移開(kāi)始位置和轉(zhuǎn)移結(jié)束位置之間的插入數(shù)據(jù)轉(zhuǎn)移到轉(zhuǎn)移目標(biāo)文件中的轉(zhuǎn)移插入位置,轉(zhuǎn)移所述插入數(shù)據(jù)包括, 將在具有所述轉(zhuǎn)移源文件的所述轉(zhuǎn)移開(kāi)始位置的轉(zhuǎn)移開(kāi)始叢集中的所述轉(zhuǎn)移開(kāi)始位置處及其之后的轉(zhuǎn)移開(kāi)始后數(shù)據(jù)轉(zhuǎn)移到其中未記錄所述轉(zhuǎn)移源文件和所述轉(zhuǎn)移目標(biāo)文件的第一新叢集,所述第一新叢集包括在所述多個(gè)叢集中; 將在具有所述轉(zhuǎn)移源文件的所述轉(zhuǎn)移結(jié)束位置的轉(zhuǎn)移結(jié)束叢集中的所述轉(zhuǎn)移結(jié)束位置處及其之前的轉(zhuǎn)移結(jié)束前數(shù)據(jù)轉(zhuǎn)移到其中未記錄所述轉(zhuǎn)移源文件和所述轉(zhuǎn)移目標(biāo)文件的第二新叢集,所述第二新叢集不同于所述第一新叢集并且包括在所述多個(gè)叢集中; 將在具有所述轉(zhuǎn)移目標(biāo)文件的所述轉(zhuǎn)移插入位置的轉(zhuǎn)移插入?yún)布械乃鲛D(zhuǎn)移插入位置處及其之前的轉(zhuǎn)移插入前數(shù)據(jù)、或者在所述轉(zhuǎn)移插入?yún)布械乃鲛D(zhuǎn)移插入位置處及其之后的轉(zhuǎn)移插入后數(shù)據(jù)轉(zhuǎn)移到所述第一新叢集或所述第二新叢集;以及 針對(duì)所述轉(zhuǎn)移目標(biāo)文件編輯所述管理數(shù)據(jù),使得所述轉(zhuǎn)移開(kāi)始叢集之后的叢集被鏈接在所述第一新叢集之后,并且所述轉(zhuǎn)移結(jié)束叢集之前的叢集被鏈接在所述第二新叢集之N /.刖。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)編輯裝置,其中 當(dāng)所述轉(zhuǎn)移插入后數(shù)據(jù)的尺寸小于所述轉(zhuǎn)移開(kāi)始后數(shù)據(jù)的尺寸時(shí), 所述的轉(zhuǎn)移所述轉(zhuǎn)移插入前數(shù)據(jù)或所述轉(zhuǎn)移插入后數(shù)據(jù)的操作,將所述轉(zhuǎn)移插入前數(shù)據(jù)和所述轉(zhuǎn)移插入后數(shù)據(jù)中的所述轉(zhuǎn)移插入后數(shù)據(jù)轉(zhuǎn)移到所述第二新叢集,以及 所述的編輯的操作,對(duì)所述管理數(shù)據(jù)進(jìn)行編輯,使得所述轉(zhuǎn)移插入?yún)布绘溄釉谒龅谝恍聟布埃⑶宜鲛D(zhuǎn)移插入?yún)布蟮膮布绘溄釉谒龅诙聟布蟆?br>
3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)編輯裝置,其中 當(dāng)所述轉(zhuǎn)移插入后數(shù)據(jù)的尺寸等于或大于所述轉(zhuǎn)移開(kāi)始后數(shù)據(jù)的尺寸時(shí), 所述的轉(zhuǎn)移所述轉(zhuǎn)移插入前數(shù)據(jù)或所述轉(zhuǎn)移插入后數(shù)據(jù)的操作,將所述轉(zhuǎn)移插入前數(shù)據(jù)和所述轉(zhuǎn)移插入后數(shù)據(jù)中的所述轉(zhuǎn)移插入前數(shù)據(jù)轉(zhuǎn)移到所述第一新叢集,以及 所述的編輯的操作,對(duì)所述管理數(shù)據(jù)進(jìn)行編輯,使得所述轉(zhuǎn)移插入?yún)布暗膮布绘溄釉谒龅谝恍聟布?,并且所述轉(zhuǎn)移插入?yún)布绘溄釉谒龅诙聟布蟆?br>
4.根據(jù)權(quán)利要求1所述的數(shù)據(jù)編輯裝置,其中 所述的編輯的操作,對(duì)所述管理數(shù)據(jù)進(jìn)行編輯,使得對(duì)于所述轉(zhuǎn)移源文件,所述轉(zhuǎn)移結(jié)束叢集被鏈接在所述轉(zhuǎn)移開(kāi)始叢集之后。
5.根據(jù)權(quán)利要求1所述的數(shù)據(jù)編輯裝置,其中 當(dāng)所述轉(zhuǎn)移開(kāi)始后數(shù)據(jù)的尺寸和所述轉(zhuǎn)移結(jié)束前數(shù)據(jù)的尺寸的總和等于或小于叢集的尺寸時(shí), 執(zhí)行所述的將所述轉(zhuǎn)移開(kāi)始后數(shù)據(jù)轉(zhuǎn)移到所述第一新叢集、將轉(zhuǎn)移結(jié)束前數(shù)據(jù)轉(zhuǎn)移到所述第二新叢集、將所述轉(zhuǎn)移插入前數(shù)據(jù)或轉(zhuǎn)移插入后數(shù)據(jù)轉(zhuǎn)移到所述第一新叢集或所述第二新叢集、以及編輯的操作。
6.一種執(zhí)行記錄介質(zhì)的數(shù)據(jù)編輯處理的數(shù)據(jù)編輯裝置,所述記錄介質(zhì)包括設(shè)置有多個(gè)叢集并且其中以叢集為單位記錄數(shù)據(jù)文件的數(shù)據(jù)區(qū)域,以及其中記錄管理所述數(shù)據(jù)文件的管理數(shù)據(jù)的管理區(qū)域,所述數(shù)據(jù)編輯裝置包括: 至少一個(gè)處理器,被配置成執(zhí)行所述數(shù)據(jù)編輯處理,所述數(shù)據(jù)編輯處理將轉(zhuǎn)移源文件中的轉(zhuǎn)移開(kāi)始位置和轉(zhuǎn)移結(jié)束位置之間的插入數(shù)據(jù)轉(zhuǎn)移到轉(zhuǎn)移目標(biāo)文件中的轉(zhuǎn)移插入位置,轉(zhuǎn)移所述插入數(shù)據(jù)包括, 當(dāng)在具有所述轉(zhuǎn)移源文件的所述轉(zhuǎn)移開(kāi)始位置的轉(zhuǎn)移開(kāi)始叢集中的所述轉(zhuǎn)移開(kāi)始位置處及其之后的轉(zhuǎn)移開(kāi)始后數(shù)據(jù)的尺寸、和在具有所述轉(zhuǎn)移源文件的所述轉(zhuǎn)移結(jié)束位置的轉(zhuǎn)移結(jié)束叢集中的所述轉(zhuǎn)移結(jié)束位置處及其之前的轉(zhuǎn)移結(jié)束前數(shù)據(jù)的尺寸的總和大于叢集的尺寸時(shí), 將所述轉(zhuǎn)移開(kāi)始后數(shù)據(jù)轉(zhuǎn)移到其中未記錄所述轉(zhuǎn)移源文件和所述轉(zhuǎn)移目標(biāo)文件的第一新叢集,所述第一新叢集包括在所述多個(gè)叢集中; 將在具有所述轉(zhuǎn)移目標(biāo)文件的所述轉(zhuǎn)移插入位置的轉(zhuǎn)移插入?yún)布械乃鲛D(zhuǎn)移插入位置處及其之后的轉(zhuǎn)移插入后數(shù)據(jù)轉(zhuǎn)移到其中未記錄所述轉(zhuǎn)移源文件和所述轉(zhuǎn)移目標(biāo)文件的第二新叢集,所述第二新叢集與所述第一新叢集不同并且包括在所述多個(gè)叢集中,以及 針對(duì)所述轉(zhuǎn)移目標(biāo)文件編輯所述管理數(shù)據(jù),使得所述轉(zhuǎn)移插入?yún)布溄釉谒龅谝恍聟布?,所述轉(zhuǎn)移開(kāi)始叢集之后的叢集被鏈接在所述第一新叢集之后,所述轉(zhuǎn)移結(jié)束叢集被鏈接在所述第二新叢集之前,并且所述轉(zhuǎn)移插入?yún)布蟮膮布绘溄釉谒龅诙聟布蟆?br>
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)編輯裝置,其中 當(dāng)所述轉(zhuǎn)移開(kāi)始后數(shù)據(jù)的尺寸和所述轉(zhuǎn)移結(jié)束前數(shù)據(jù)的尺寸的總和大于叢集的尺寸時(shí), 所述的編輯的操作,針對(duì)所述轉(zhuǎn)移源文件對(duì)所述管理數(shù)據(jù)進(jìn)行編輯,使得在所述轉(zhuǎn)移結(jié)束叢集中的所述轉(zhuǎn)移結(jié)束位置處及其之后的數(shù)據(jù)已被轉(zhuǎn)移的所述轉(zhuǎn)移開(kāi)始叢集被鏈接在所述轉(zhuǎn)移結(jié)束叢集之后的叢集之前。
8.一種執(zhí)行記錄介質(zhì)的數(shù)據(jù)編輯處理的數(shù)據(jù)編輯裝置,所述記錄介質(zhì)包括設(shè)置有多個(gè)叢集并且其中以叢集為單位記錄數(shù)據(jù)文件的數(shù)據(jù)區(qū)域,以及其中記錄管理所述數(shù)據(jù)文件的管理數(shù)據(jù)的管理區(qū)域,所述數(shù)據(jù)編輯裝置包括: 至少一個(gè)處理器,被配置成執(zhí)行所述數(shù)據(jù)編輯處理,所述數(shù)據(jù)編輯處理將插入數(shù)據(jù)插入到插入目標(biāo)文件中的插入位置,插入所述插入數(shù)據(jù)包括, 將在具有所述插入目標(biāo)文件的所述插入位置的插入?yún)布械乃霾迦胛恢锰幖捌渲蟮臄?shù)據(jù)以及所述插入數(shù)據(jù)轉(zhuǎn)移到一個(gè)第三新叢集或多個(gè)第三新叢集,在所述第三新叢集中沒(méi)有記錄所述插入目標(biāo)文件,所述第三新叢集包括在所述多個(gè)叢集中;以及 編輯所述管理數(shù)據(jù),使得所述插入?yún)布暗膮布绘溄釉谒龅谌聟布氖讌布埃⑶宜霾迦雲(yún)布蟮膮布绘溄釉谒龅谌聟布奈矃布蟆?br>
9.根據(jù)權(quán)利要求1所述的數(shù)據(jù)編輯裝置,其中 所述的編輯的操作,對(duì)所述管理數(shù)據(jù)進(jìn)行編輯,使得在鏈接在新叢集之后的第一叢集和鏈接在新叢集之前的第二叢集中,所述第一叢集被首先鏈接到新叢集。
10.一種執(zhí)行記錄介質(zhì)的數(shù)據(jù)編輯處理的數(shù)據(jù)編輯裝置,所述記錄介質(zhì)包括設(shè)置有多個(gè)叢集并且其中以叢集為單位記錄數(shù)據(jù)文件的數(shù)據(jù)區(qū)域,以及其中記錄管理所述數(shù)據(jù)文件的管理數(shù)據(jù)的管理區(qū)域,所述數(shù)據(jù)編輯裝置包括: 至少一個(gè)處理器,被配置成執(zhí)行所述數(shù)據(jù)編輯處理,所述數(shù)據(jù)編輯處理將移除源文件中的移除開(kāi)始位置和移除結(jié)束位置之間的數(shù)據(jù)移除,移除所述數(shù)據(jù)包括, 刪除在具有所述移除源文件的所述移除開(kāi)始位置的移除開(kāi)始叢集中的所述移除開(kāi)始位置處及其之后的數(shù)據(jù)以及在具有所述移除結(jié)束位置的移除結(jié)束叢集中的所述移除結(jié)束位置處及其之前的數(shù)據(jù);以及 編輯所述管理數(shù)據(jù),使得所述移除結(jié)束叢集被鏈接在所述移除開(kāi)始叢集之后。
11.根據(jù)權(quán)利要求10所述的數(shù)據(jù)編輯裝置,移除所述數(shù)據(jù)進(jìn)一步包括, 在所述數(shù)據(jù)編輯處理的對(duì)象文件的數(shù)據(jù)尾部中存儲(chǔ)編輯指令信息,所述編輯指令信息是被輸入的并且包括指示插入處理和移除處理中的任一個(gè)的編輯類(lèi)型、指示插入處理中的插入位置和移除處理中的移除開(kāi)始點(diǎn)中的任一個(gè)的編輯對(duì)象位置以及指示插入處理中的插入數(shù)據(jù)的尺寸或者移除處理中的刪除尺寸的編輯對(duì)象尺寸;以及 當(dāng)不能執(zhí)行所述數(shù)據(jù)編輯處理的對(duì)象文件的讀取時(shí),基于所述編輯指令信息,將所述數(shù)據(jù)編輯處理的對(duì)象文件恢復(fù)到所述數(shù)據(jù)編輯處理之前或之后的狀態(tài)。
12.根據(jù)權(quán)利要求1所述的數(shù)據(jù)編輯裝置,所述的轉(zhuǎn)移所述插入數(shù)據(jù)的操作進(jìn)一步包括, 在所述數(shù)據(jù)編輯處理的對(duì)象文件的數(shù)據(jù)尾部中存儲(chǔ)編輯指令信息,所述編輯指令信息是被輸入的并且包括指示插入處理和移除處理中的任一個(gè)的編輯類(lèi)型、指示插入處理中的插入位置和移除處理中的移除開(kāi)始點(diǎn)中的任一個(gè)的編輯對(duì)象位置以及指示插入處理中的插入數(shù)據(jù)的尺寸或者移除處理中的刪除尺寸的編輯對(duì)象尺寸;以及 當(dāng)不能執(zhí)行所述數(shù)據(jù)編輯處理的對(duì)象文件的讀取時(shí),基于所述編輯指令信息,將所述數(shù)據(jù)編輯處理的對(duì)象文件恢復(fù)到所述數(shù)據(jù)編輯處理之前或之后的狀態(tài)。
13.根據(jù)權(quán)利要求12所述的數(shù)據(jù)編輯裝置,所述的轉(zhuǎn)移所述插入數(shù)據(jù)的操作進(jìn)一步包括, 當(dāng)在所述數(shù)據(jù)區(qū)域中管理的文件的尺寸小于通過(guò)將所述編輯指令信息的尺寸加到所述管理數(shù)據(jù)的編輯之后的文件尺寸而獲得的總和尺寸時(shí),在將叢集鏈接在新叢集之前的所述管理數(shù)據(jù)的編輯之前,將所述數(shù)據(jù)區(qū)域中管理的文件的尺寸更新成所述總和尺寸。
14.根據(jù)權(quán)利要求1所述的數(shù)據(jù)編輯裝置,所述的轉(zhuǎn)移所述插入數(shù)據(jù)的操作進(jìn)一步包括, 在所述數(shù)據(jù)編輯處理之后輸出編輯結(jié)果信息,所述編輯結(jié)果信息包括在編輯處理之前位置已改變的數(shù)據(jù)的位置以及位置已改變的數(shù)據(jù)的尺寸。
15.一種執(zhí)行記錄介質(zhì)的數(shù)據(jù)編輯處理的數(shù)據(jù)編輯裝置,所述記錄介質(zhì)包括以具有固定長(zhǎng)度的叢集為單位記錄數(shù)據(jù)文件的數(shù)據(jù)區(qū)域,以及其中記錄管理所述數(shù)據(jù)文件的管理數(shù)據(jù)的管理區(qū)域,所述數(shù)據(jù)編輯裝置包括: 至少一個(gè)處理器,被配置成執(zhí)行所述數(shù)據(jù)編輯處理,所述數(shù)據(jù)編輯處理包括, 在所述數(shù)據(jù)編輯處理的對(duì)象文件的數(shù)據(jù)尾部中存儲(chǔ)編輯指令信息,所述編輯指令信息是被輸入的并且包括指示插入處理和移除處理中的任一個(gè)的編輯類(lèi)型、指示插入處理中的插入位置和移除處理中的移除開(kāi)始點(diǎn)中的任一個(gè)的編輯對(duì)象位置以及指示插入處理中的插入數(shù)據(jù)的尺寸或者移除處理中的刪除尺寸的編輯對(duì)象尺寸; 基于輸入的編輯指令信息,針對(duì)所述數(shù)據(jù)編輯處理的對(duì)象文件,執(zhí)行數(shù)據(jù)插入、數(shù)據(jù)移除和數(shù)據(jù)轉(zhuǎn)移中的任何一個(gè)的數(shù)據(jù)編輯; 針對(duì)所述管理數(shù)據(jù),改變所述數(shù)據(jù)編輯處理的對(duì)象文件的叢集配置,以便對(duì)應(yīng)于所述數(shù)據(jù)編輯;以及 當(dāng)不能執(zhí)行所述數(shù)據(jù)編輯處理的對(duì)象文件的讀取時(shí),基于所述編輯指令信息,將所述數(shù)據(jù)編輯處理的對(duì)象文件恢復(fù)到所述數(shù)據(jù)編輯處理之前或之后的狀態(tài)。
16.根據(jù)權(quán)利要求15所述的數(shù)據(jù)編輯裝置,所述數(shù)據(jù)編輯處理進(jìn)一步包括, 當(dāng)在所述數(shù)據(jù)區(qū)域中管理的文件的尺寸小于通過(guò)將所述編輯指令信息的尺寸加到所述管理數(shù)據(jù)的編輯之后的文件尺寸而獲得的總和尺寸時(shí),在所述管理數(shù)據(jù)的編輯之前,將所述數(shù)據(jù)區(qū)域中管理的文件的尺寸更新成所述總和尺寸。
【文檔編號(hào)】G06F17/30GK104182451SQ201410218558
【公開(kāi)日】2014年12月3日 申請(qǐng)日期:2014年5月22日 優(yōu)先權(quán)日:2013年5月22日
【發(fā)明者】阿部直樹(shù) 申請(qǐng)人:富士通半導(dǎo)體股份有限公司