数据编辑装置制造方法

文档序号:6547335阅读:341来源:国知局
数据编辑装置制造方法
【专利摘要】本公开涉及一种执行数据编辑处理的数据编辑装置。根据本公开的数据编辑装置包括被配置成执行数据编辑处理的至少一个处理器,该数据编辑处理将转移开始位置和转移结束位置之间的数据插入到转移插入位置,转移插入数据包括,将在转移开始位置处及其之后的转移开始后数据转移到第一新丛集,将在转移结束丛集中的转移结束位置处及其之前的转移结束前数据转移到第二新丛集,将在转移插入位置处及其之前的转移插入前数据或者在转移插入位置处及其之后的转移插入后数据转移到第一或第二新丛集,并且编辑管理数据,使得转移开始丛集值的丛集被链接在第一新丛集之后,并且转移结束丛集之前的丛集被链接在第二新丛集之前。
【专利说明】数据编辑装置

【技术领域】
[0001]这里讨论的实施例涉及一种数据编辑装置。

【背景技术】
[0002]随着近来存储介质诸如硬盘和安全数字(SD)卡的容量的增加,出现了对大尺寸文件的数据进行高效编辑的方法的需求。特别地,在具有低处理能力的小系统诸如数字相机中,对编辑大尺寸视频文件的需要已增加。然而,当针对视频文件执行插入新的帧或移除一些帧的处理时,在前述帧之后存储的帧的数据必须被前向或后向转移,并且这样的处理耗用时间。当作为插入处理或移除处理的对象的帧的数据量小时,也出现了同一问题。
[0003]在存储介质中使用的文件分配表(FAT)的文件系统中,数据以丛集(cluster)为单位进行存储,并且数据链路由丛集的链路结构管理。作为以丛集为单位存储数据的结果,通过修改丛集的链路结构,可以在不转移数据的情况下执行插入处理或移除处理。然而,在该情况下,作为编辑对象的数据的位置限于丛集的边界位置,并且作为插入处理和移除处理的对象的数据的尺寸限于丛集尺寸的倍数。因此,已提出了一种不受丛集尺寸限制的用于执行数据编辑处理的技术(日本专利申请公布N0.2001-75856和日本专利申请公布N0.2000-298611)。


【发明内容】

[0004]然而,传统方法并未考虑与数据的编辑处理中的文件创建和删除相关的目录条目的更新次数的增加,或者编辑之后的文件中的丛集的破碎。结果,编辑处理耗用时间并且对已编辑文件的访问也耗用时间。此外,没有考虑数据的编辑处理被中断的情况下(例如,当设备电源断开时)的文件的安全性和数据的安全性。
[0005]因此,实施例的一个方面的目的在于提供一种执行有效的数据编辑处理的数据编辑装置。
[0006]根据实施例的第一方面,一种执行记录介质的数据编辑处理的数据编辑装置,记录介质包括设置有多个丛集并且其中以丛集为单位记录数据文件的数据区域,以及其中记录管理数据文件的管理数据的管理区域,该数据编辑装置包括至少一个处理器,其被配置成执行数据编辑处理,该数据编辑处理将转移源文件中的转移开始位置和转移结束位置之间的插入数据转移到转移目标文件中的转移插入位置,转移该插入数据包括,将在具有转移源文件的转移开始位置的转移开始丛集中的转移开始位置处及其之后的转移开始后数据转移到其中未记录转移源文件和转移目标文件的第一新丛集,第一新丛集包括在多个丛集中;将在具有转移源文件的转移结束位置的转移结束丛集中的转移结束位置处及其之前的转移结束前数据转移到其中未记录转移源文件和转移目标文件的第二新丛集,第二新丛集不同于第一新丛集并且包括在多个丛集中;将在具有转移目标文件的转移插入位置的转移插入丛集中的转移插入位置处及其之前的转移插入前数据或者在该转移插入丛集中的转移插入位置处及其之后的转移插入后数据转移到第一新丛集或第二新丛集;以及针对转移目标文件编辑管理数据,使得转移开始丛集之后的丛集被链接在第一新丛集之后,并且转移结束丛集之前的丛集被链接在第二新丛集之前。

【专利附图】

【附图说明】
[0007]图1图示了本实施例中的数据编辑装置的示例。
[0008]图2图示了本实施例的数据编辑装置中的软件配置的示例。
[0009]图3A和图3B例示了 FAT文件系统的概况。
[0010]图4图示了包括视频数据的文件I的结构的示例。
[0011]图5图示了数据编辑表的示例。
[0012]图6图示了数据插入处理的示例。
[0013]图7图示了数据移除处理。
[0014]图8A和图SB是图示比较示例中的数据插入处理的流程的第一示图。
[0015]图9A和图9B是图示作为图8B中所示的处理的继续的、比较示例中的数据插入处理的流程的第二示图。
[0016]图10是图示比较示例中的数据插入处理的流程图。
[0017]图1lA至图1lC是图示本实施例中的数据插入处理的流程的第一示图。
[0018]图12A和图12B是图示作为图1lC中所示的处理的继续的、本实施例中的数据插入处理的流程的第二示图。
[0019]图13A和图13B是图示作为图12B中所示的处理的继续的、本实施例中的数据插入处理的流程的第三示图。
[0020]图14是图示本实施例中的数据插入处理的流程图。
[0021]图15图示了当在数据插入处理的过程中中断处理时的文件安全性。
[0022]图16A和图16B是图示比较示例中的数据移除处理的流程的第一示图。
[0023]图17是图示作为图16B中所示的处理的继续的、比较示例中的数据移除处理的流程的第二示图。
[0024]图18是图示比较示例中的数据移除处理的流程图。
[0025]图19A至图19C是图示本实施例中的数据移除处理的流程的第一示图。
[0026]图20A至图20C是图示本实施例中的数据移除处理的流程的第二示图。
[0027]图21是图示本实施例中的数据移除处理的流程图。
[0028]图22图示了当在数据移除处理的过程中中断处理时的文件安全性。
[0029]图23A和图23B是图示比较示例中的数据转移处理的流程的第一示图。
[0030]图24是图示作为图23B中所示的处理的继续的、比较示例中的数据转移处理的流程的第二示图。
[0031]图25是图示比较示例中的数据转移处理的流程图。
[0032]图26A和图26B是图示本实施例中的数据转移处理的流程的第一示图。
[0033]图27A和图27B是图示作为图26B中所示的处理的继续的、本实施例中的数据转移处理的流程的第二示图。
[0034]图28A和图28B是图示作为图27B中所示的处理的继续的、本实施例中的数据转移处理的流程的第三示图。
[0035]图29A和图29B是图示作为图28B中所示的处理的继续的、本实施例中的数据转移处理的流程的第四示图。
[0036]图30A和图30B是图示作为图29B中所示的处理的继续的、本实施例中的数据转移处理的流程的第五示图。
[0037]图31是图示本实施例中的数据转移处理的流程图。
[0038]图32A和图32B图示了在数据转移处理中被写入两个新丛集中的数据样式。
[0039]图33A和图33B图示了样式1_2中的数据转移处理的具体示例。
[0040]图34A和图34B图示了样式2中的数据转移处理的具体示例。
[0041]图35图示了当在数据转移处理的过程中中断处理时的文件安全性。
[0042]图36图示了本实施例和比较示例之间的目录条目的更新次数、新丛集的数目以及破碎次数的差异。
[0043]图37是图不文件恢复处理的第一流程图。
[0044]图38图示了对应于数据转移处理的文件恢复处理(图37中的S83)。
[0045]图39图示了对应于数据插入处理的文件恢复处理(图37中的S85)。
[0046]图40图示了对应于数据移除处理的文件恢复处理(图37中的S87)。
[0047]图41A至图41C图示了数据转移处理中的每个文件的尺寸的具体示例。
[0048]图42图示了对应于图41A至图41C中所示的具体示例的数据编辑表的示例。
[0049]图43图示了关于转移目标文件(文件I)、转移源文件(文件2)和虚拟文件的文件状态和恢复指南的具体示例。

【具体实施方式】
[0050]下文将参照附图描述本发明的实施例。然而,本发明的技术范围不限于这些实施例并且包括权利要求及其等同物中描述的主题。
[0051][装置配置]
[0052]图1图示了本实施例中的数据编辑装置的示例。在该图中,数据编辑装置具有例如,中央处理单元(CPU) 11、随机存取存储器(RAM) 12、只读存储器(ROM) 13、显示单元14、输入单元15、介质访问设备16和次级存储设备17。这些单元通过总线18彼此连接。例如,本实施例的数据编辑程序PR存储在R0M13中。显示单元14是例如显示器,并且输入单元15是键盘或鼠标。介质访问设备16是控制对非易失性次级存储设备17诸如硬盘或闪速存储器的访问的设备。
[0053][软件配置]
[0054]图2图示了本实施例的数据编辑装置中的软件配置的示例。软件存储在例如图1中所示的数据编辑装置的R0M13中。本实施例的数据编辑程序PR是例如与文件系统23相关的程序。
[0055]图2中所示的软件具有例如,应用21、视频编辑库22、文件系统23和介质驱动器24。例如,在接受用户执行的操作的情况下,执行视频编辑等的应用21向视频编辑库22通知与用户操作对应的操作指令信息。例如,操作指令信息是指示将数据插入到次级存储设备17中记录的文件中的处理、从其中移除数据的处理以及在文件之间转移数据的处理的信息。视频编辑库22对操作指令信息进行转换以适应文件系统23的接口并且通知文件系统23。文件系统23向介质驱动器24通知基于操作指令信息的命令。
[0056]图2中所示的硬件具有介质访问设备16和介质(次级存储设备)17。介质访问设备16基于从介质驱动器24输入的命令来读取、写入或删除次级存储设备17中存储的信息。本实施例的次级存储设备17被格式化为文件分配表(FAT)文件系统。在下文中说明FAT文件系统。
[0057][FAT文件系统]
[0058]图3A和图3B例示了 FAT文件系统的概况。在FAT文件系统中,通过将丛集用作逻辑单元来存储数据。因此,根据文件中的数据的尺寸分配一个丛集或多个丛集。如图3A中所示,FAT文件系统具有例如三个如下区域:根扇区区域X1、FAT区域(管理区域)X2和文件/目录区域(数据区域)X3。
[0059]与整个配置相关的信息,诸如次级存储设备的容量和丛集单位尺寸,被存储在根扇区区域Xl中。例如基于512字节扇区单位来管理根扇区区域XI。此外,被称为目录条目和文件数据的文件管理信息被存储在文件/目录区域X3中。以尺寸大于扇区(比扇区尺寸大2倍至2的η次方倍)的丛集单位来管理文件/目录区域。管理信息包括诸如文件名、文件尺寸和数据将被存储的初始丛集的序列号的信息。
[0060]按一比一的比率已被分配给文件/目录区域中的丛集的FAT条目被存储在FAT区域Χ2中。每个FAT条目具有指示对应丛集的状态的值(12位、16位或32位)。更具体地,当没有使用对应丛集时,FAT条目具有指示空状态的值。当对应丛集正被使用并且存在接续将被存储在丛集中的数据的数据时,FAT条目具有其中要存储接续数据的丛集的序列号。同时,在接续数据不存在的情况下,FAT条目具有指示丛集结束(EOC)的值。丛集的序列号从例如2开始,而FAT条目的序列号从O开始。因此具有O和I的序列号的FAT条目存储指示预留区域的值。
[0061]换言之,在FAT文件系统中,基于一个丛集或者多个丛集的链(丛集链)来管理对象文件,目录条目是首条目。更具体地,对于对象文件,初始数据被存储在具有目录条目中存储的序列号的丛集中。链接到初始丛集之后的丛集的序列号,或者指示初始丛集是尾丛集的值(EOC),被存储在与初始丛集对应的FAT条目中。
[0062]图3Β图示了对象文件(文件I)的结构的示例,其对应于图3Α中所示的配置。在本实施例中,正方形图示丛集,并且正方形内部呈现的数字图示丛集的序列号。在本示例中,文件I的数据被依次存储在作为首丛集的丛集3、丛集4、丛集5、丛集12和丛集13中。
[0063]例如,当读取文件I的数据时,文件系统23从丛集I中存储的目录条目中获取文件I的文件名和文件尺寸,并且还获取其中将记录数据的首丛集的序列号3。随后,文件系统23获取之后链接的丛集的序列号4,其已被存储在与丛集3对应的FAT条目3中。随后,文件系统23同样地获取与丛集4对应的FAT条目4中存储的丛集的序列号5。同样地获取关于接续丛集5的丛集12和丛集13的信息。由于丛集13是文件I的极末端处的丛集,因此EOC被存储在FAT条目13中。
[0064]因而,在FAT文件系统中,基于FAT区域Χ2中的条目来管理以丛集为单位存储在文件/目录区域Χ3中的数据链。因此,文件系统可以通过重写FAT条目中存储的丛集的序列号来改变数据链。在图3Β中,文件I的尺寸对应于箭头图示的值SZ。
[0065][丛集的破碎]
[0066]本实施例中的丛集的破碎指示如下状态,其中构成一个文件的数据的丛集的序列号不是连续的。因此,破碎指示其中次级存储设备中的数据的存储位置不是连续的状态。例如,在图3B中,文件I按描述的顺序存储作为首丛集的丛集3、丛集4、丛集5、丛集12和丛集13中的数据。因此,在文件I中,丛集的序列号在丛集3至5与丛集12和丛集13之间不是连续的,并且破碎次数是I。当丛集的破碎次数大时,文件数据的访问速率降低。
[0067]下文说明了具有视频数据的文件的结构。在本实施例中,基于视频数据的编辑处理说明了处理流程。然而,本实施例中的数据编辑处理不限于视频数据的编辑。
[0068][视频文件数据的结构]
[0069]图4图示了包括视频数据的文件I的结构的示例。除了通常的数据之外,视频数据具有报头HD和管理数据DX。报头HD具有例如,指示文件I是具有视频数据的文件的识别信息。此外,管理数据DX包括构成视频数据的帧在数据内的位置(偏移)和指示尺寸的索引。索引中的一个条目与一个帧相关联。
[0070]在本实施例中,丛集中的变黑的区域指示报头HD,具有黑点的区域指示管理数据DX,并且黑色部分指示未使用的区域。丛集中的斜线区域、横线区域和栅状区域均指示数据部分,并且斜线区域指示数据编辑表区域。下文将说明数据编辑表。例如,当指示文件I的复制时,基于FAT条目依次引用数据并且基于数据中包含的报头HD将数据识别为视频数据。因此,基于数据尾部中存储的索引来依次读取与复制指令对应的帧的数据。因而,对于具有视频数据的文件,与每个帧对应的索引用于访问与帧对应的数据。因此,具有视频数据的文件可以具有在数据中部的未使用区域。
[0071][数据编辑表]
[0072]图5图示了数据编辑表的示例。在本实施例中,数据编辑表具有例如,编辑指令信息和编辑结果信息。在该图中,编辑指令信息指示输入分类,并且编辑结果信息指示输出分类。
[0073]在数据编辑指令之后例如从视频编辑库22 (图2)输入数据编辑表,并且在数据编辑处理期间数据编辑表被临时存储在数据尾部中。在该情况下,编辑指令信息被存储在数据编辑表中。结果,即使当数据编辑处理中断时,文件仍被恢复到编辑处理之前或者编辑处理之后的状态。一旦数据编辑完成,则编辑结果信息被分配给数据编辑表,并且数据编辑表还被从数据尾部删除并且被输出到视频编辑库22。
[0074]编辑指令信息具有例如关于编辑处理类型、编辑开始位置和编辑数据尺寸的信息。编辑处理类型是INSERT1N(插入)或REMOVAL(移除)。当指令数据插入时,设定INSERT1N,而当指定数据移除时,设定REMOVAL。在数据转移处理的情况下,与数据插入处理对应的数据编辑表被分配给数据转移目标文件,并且与数据移除处理对应的数据编辑表被分配给数据转移源文件。编辑开始位置指示数据中的编辑处理对象在文件中的位置。更具体地,编辑开始位置指示在插入处理的情况下的数据插入开始位置以及在移除处理的情况下的作为移除对象的数据的开始位置。编辑数据尺寸指示作为移除对象的数据的尺寸。更具体地,编辑数据尺寸指示在插入处理的情况下的插入数据的尺寸以及在移除处理的情况下的作为移除对象的数据的尺寸。
[0075]编辑结果信息具有例如关于编辑之后的文件尺寸和编辑数据偏移的信息。编辑数据偏移指示通过编辑处理插入或转移的数据的首位置。更具体地,编辑数据偏移指示在插入处理的情况下的插入数据的开始位置以及在移除处理的情况下的被移除数据之后的数据的开始位置。
[0076]下文将基于数据插入处理和数据移除处理来说明数据编辑表中的值的示例。
[0077][数据编辑表的示例:数据插入处理]
[0078]图6图示了数据插入处理的示例。在该图中,图示了作为示例的数据插入之前的文件I和数据插入之后的文件lx。在该示例中,由横线表示的插入数据DX被插入在由斜线表示的文件I的数据Fl中的插入位置pi。插入数据DX是存储器空间上的临时数据,而非次级存储设备中存储的数据。
[0079]在图6中所示的编辑之后的文件Ix中,插入数据DX被添加在数据插入位置pi之后并且在数据插入位置Pl处及其之后的数据被转移到插入数据DX之后的位置。在该示例中,数据插入位置Pl被布置在丛集中部,并且插入数据DX的写入从新丛集的首部开始。因此,在文件Ix中,在数据插入位置Pl值的原始数据Flb和插入数据DX之间以及在插入数据DX和数据插入位置pi之后的原始数据Fla之间存在由空白指示的未使用区域el、e2。
[0080]在图6中所示的示例中,被分配给文件I的数据编辑表中的编辑指令信息中的编辑处理类型是INSERT1N,编辑开始位置是数据插入位置pl,并且编辑数据尺寸是插入数据DX的尺寸Si。在编辑之后生成的数据编辑表中的编辑结果信息中的编辑数据偏移是编辑之后的文件Ix中的插入数据的开始位置P2。此外,编辑之后的文件尺寸是包括未使用的区域el、e2的尺寸s2。因此,在该示例中,由于编辑之后的文件Ix包括未使用的区域,因此编辑之前的文件I中的编辑开始位置Pl和编辑之后的文件Ix中的编辑数据的偏移P2不匹配。此外,通过从编辑之后的文件Ix的尺寸s2中减去编辑之前的文件I的尺寸s0,可以检测编辑之后的文件Ix中的数据插入位置Pl (编辑开始位置)之后的数据相对于编辑之前的其位置的转移量S3。
[0081][数据编辑:移除]
[0082]下文将参照图7说明数据移除处理。在该图中,图示了作为示例的数据移除之前的文件2和数据移除之后的文件2x。在该示例中,从由斜线表示的文件2的数据F2中移除从移除开始位置P3到移除结束位置p4的数据。
[0083]由于图7中所示的、在编辑之后的文件2x中移除从移除开始位置p3到移除结束位置P4的数据,因此移除结束位置p4之后的数据被前向移位。在该示例中,由于移除开始位置p3和移除结束位置p4位于丛集中部,因此在文件2x中在移除开始位置p3之前的原始数据F2b和移除结束位置p4之后的原始数据F2a之间存在由空白表示的未使用的区域
e30
[0084]在图7中所示的示例中,被分配给文件2的数据编辑表中的编辑指令信息中的编辑处理类型是REMOVAL,编辑开始位置是移除开始位置p3,并且编辑数据尺寸是从移除开始位置P3到移除结束位置p4的尺寸s4。在编辑之后生成的数据编辑表中的编辑结果信息中的编辑数据偏移是编辑之后的文件2x中的移除结束位置p4之后的数据的开始位置p5。此外,编辑之后的文件尺寸是包括未使用的区域e3的尺寸s5。因此,在该示例中,由于编辑之后的文件2x包括未使用的区域,因此编辑之前的文件2中的编辑开始位置p3和编辑之后的文件2x中的编辑数据的偏移p5不匹配。此外,通过从编辑之后的文件2x的尺寸s5中减去编辑之前的文件2的尺寸s7,可以检测编辑之后的文件2x中的数据插入位置p5 (编辑开始位置)之后的数据F2a的转移量s6。
[0085]下文将基于具体示例说明本实施例中的数据编辑程序PR的处理。本实施例中的数据的编辑处理是数据插入处理、移除文件中的一些数据的处理以及在文件之间转移数据的处理。将通过与比较示例的比较来依次说明这些类型的编辑处理。首先将说明数据插入处理。
[0086][数据插入处理:比较示例]
[0087]图8A和图SB是图示比较示例中的数据插入处理的流程的第一示图。在这些图中,如上文提及的,由正方形表示的丛集中的由斜线表示的区域指示插入目标文件的数据,由横线表示的区域指示插入数据,并且空白部分指示未使用的区域。在这些图中,虚线箭头指示比较示例中的丛集破碎的链路,数据指示非视频数据,并且由点栅表示的区域ff指示归属信息。在比较示例中,作为基于归属信息管理未使用的区域的结果,即使当丛集包括未使用的区域时,仍可以访问数据。
[0088]图8A图示了数据插入处理之前的插入目标文件。在该示例中,作为插入目标文件的文件I由六个丛集构成。数据插入位置Pl包括在第三丛集中。随后,如图8B中所示,由横线表示的插入数据作为文件2被写入次级存储设备中。在该示例中,插入数据被依次写入四个丛集中。
[0089]图9A和图9B是图示作为图8B中所示的处理的继续的、比较示例中的数据插入处理的流程的第二示图。在图9A中,作为插入目标文件的文件I被分成文件I和文件3。更具体地,在具有文件I中的插入位置的丛集(以下被称为“插入丛集”)的插入位置Pl处及其之后的数据被转移到新的丛集NI并且被存储为文件3,并且插入丛集之后的丛集Cl被链接在新丛集NI之后(BI)。由于新丛集NI和插入丛集之后的丛集Cl不是连续的丛集,因此在新丛集NI和插入丛集之后的丛集Cl之间假设有破碎状态。因此,链路BI由虚线箭头表
/Jn ο
[0090]随后,在图9B中,文件I和文件2被链接。更具体地,文件2的丛集中的首丛集C2被链接在文件I的插入丛集之后(B2),并且目录条目中的文件2的条目被删除。尽管文件2已被删除,但是附接到文件2的丛集仍被称为文件2的丛集。在文件I的插入丛集和文件2的首丛集C2之间假设有破碎状态,并且链路B2由虚线箭头表示。
[0091]在图9B中,已被文件2链接的文件I随后被链接到文件3。更具体地,文件3的新丛集NI在文件I的极末端处被链接成丛集C2 (文件2的极末端处的丛集)之后的丛集(B3),并且目录条目中的文件3的条目被删除。在该情况下,在文件I的极末端处的丛集C2和文件3的新丛集NI之间假设有破碎状态。
[0092]结果,在比较示例中,插入数据被插入到文件I。在比较示例中,通过使用文件分割处理和文件链接处理来执行数据插入处理。因此,通过将插入位置Pl用作分割点,将作为插入目标文件的文件I分成文件I和文件3,并且将这些文件链接到其中已存储插入数据的文件2,来执行数据插入处理。
[0093]在比较示例的数据插入处理中,使用了一个新丛集NI。数据插入处理之后的文件中的丛集的破碎次数是3 (BI至B3)。此外,在比较示例中,总共生成三次对目录条目的访问,即新生成文件2时的一次和分割文件I时的两次(目录条目中的文件I和文件3的更新)。还生成四次对目录条目的访问,即链接文件I和文件2时的两次和链接文件I和文件3时的两次(更新目录条目中的链接源文件和链接目标文件)。因此,在比较示例的数据插入处理中总共生成七次对目录条目的访问。
[0094][数据插入处理的流程图:比较示例]
[0095]图10是图示比较示例中的数据插入处理的流程图。如图中所示,插入数据在最初时被写入新文件2中(S11)。随后,作为插入目标文件的文件I被分成文件I和新文件3(S12)。更具体地,在插入丛集的插入位置处及其之后的数据被转移到新丛集NI,并且插入丛集之后的丛集Cl被链接(BI)在新丛集NI之后并且被存储为文件3。
[0096]随后将文件2链接到文件I (S13)。更具体地,文件2的首丛集C2被链接(B2)在文件I的插入丛集之后,并且文件2的条目被从目录条目中删除。随后文件3被链接到已被文件2链接的文件I (S14)。更具体地,文件3的新丛集NI被链接(B3)成文件I的极末端处的丛集N2(文件2的极末端处的丛集)之后的丛集,并且文件3的条目被从目录条目中删除。因此插入数据被插入到文件I的插入位置。
[0097][数据插入处理:本实施例]
[0098]图1lA至图1lC是图示本实施例中的数据插入处理的流程的第一示图。图1lA图示了数据插入处理之前的插入目标文件。在该示例中,作为插入目标文件的文件I由五个丛集构成。数据的插入位置Pii包括在第三丛集中。
[0099]在图1lB中,数据编辑表Tll被添加到文件的极末端。包括指示INSERT1N的编辑处理类型、指示文件I中的插入位置Pll的编辑开始位置以及指示插入数据的尺寸的编辑数据尺寸的编辑指令信息被存储在数据编辑表Tll中。尽管作为附接数据编辑表Tll的结果,文件I的尺寸增加,但是此时,目录条目中管理的文件I的尺寸未被更新。随后,在图1IC中,在具有文件I的插入位置Pl I的插入丛集中的插入位置处及其之前的数据被写入新丛集Nll中。
[0100]图12A和图12B是图示作为图1lC中所示的处理的继续的、本实施例中的数据插入处理的流程的第二示图。在图12A中,由横线表示的插入数据Dll被连续写入新丛集Nil。随后,在图12B中,插入丛集被链接(Bll)在已被添加插入数据Dll的丛集的极末端处的丛集Cll之后。在该情况下,在尾丛集Cll和文件I的插入丛集之间假设有破碎状态。
[0101]图13A和图13B是图示作为图12B中所示的处理的继续的、本实施例中的数据插入处理的流程的第三示图。这里,由目录条目管理的文件I的尺寸在图13A中的文件I的丛集链的重新链接处理(B12)之前被更新。更具体地,文件I的尺寸被更新为通过将插入数据Dll的尺寸和数据编辑表Tll的尺寸加到编辑之前的文件尺寸而获得的值。结果,在丛集链的重新链接处理(B12)之后假设有可以读取文件I的数据编辑表的状态。
[0102]执行文件尺寸更新以为随后将执行的针对文件I的丛集链的重新链接的处理(B12)做准备。作为执行丛集链的重新链接处理(B12)的结果,构成文件I的丛集数目增加并且编辑之前的文件I的一些数据不能被读取。出于该原因,在丛集链的重新链接处理(B12)之前,数据编辑程序PR将文件I的尺寸放大到使得可以读取编辑之前的文件中的所有数据还有数据编辑表的尺寸。结果,即使当编辑处理在丛集链的重新链接之后中断时,数据编辑PR仍可以基于数据编辑表将文件I恢复到数据编辑之后的状态。下文详细描述了基于数据编辑表的文件的恢复处理。
[0103]在图12B中的丛集链的重新链接(Bll)中,当在丛集构成文件I之前链接分离的丛集时,文件I不受影响。因此,当在丛集构成文件I之后链接分离的丛集时,文件I受到影响。出于该原因,在图12B中的丛集链的重新链接(Bll)处理之前不执行文件尺寸的更新处理。
[0104]此外,在图13A中,通过将新丛集NI I链接(B12)在文件I的插入目标丛集之前的丛集C12之后来更新文件I的丛集链。插入目标丛集之前的丛集C12和新丛集Nll处于破碎状态。文件I的索引中的每个帧的偏移随后被更新。更具体地,插入数据Dll的索引以及在偏移因数据插入而改变的插入位置Pll处及其之后的数据被更新。此外,插入丛集中的插入位置Pll之前的区域变为未使用状态。在图13B中,数据编辑表Tll被删除并且目录条目中管理的文件尺寸被更新。在该情况下,文件I的尺寸被更新成通过将插入数据的尺寸加到编辑之前的文件尺寸而获得的值。
[0105]因此,在本实施例的数据插入处理中,使用一个新丛集NI I。此外,数据插入处理之后的文件中的丛集的破碎次数是2(B11、B12)。此外,在本实施例中,当文件I的尺寸被更新时一个接一个地访问目录条目。因此,在本实施例的数据插入处理中,总共生成两次对目录条目的访问。
[0106][未使用数据编辑表的情况]
[0107]本实施例中的数据编辑表的使用不是强制的。当未使用数据编辑表时,在图13A中所示的处理之前立即执行的文件尺寸更新处理可以被省略。结果,在该情况下,文件尺寸更新处理变为针对通过将插入数据的尺寸加到图13B中所示的编辑之前的文件的尺寸而获得的值的单循环更新处理。因此,在未生成数据编辑表时执行的数据插入处理中的目录条目的更新次数是I。
[0108][数据插入处理的流程图:本实施例]
[0109]图14是图示本实施例中的数据插入处理的流程图。在该图中,数据编辑程序PR在最初时将数据编辑表Tll添加到作为插入目标文件的文件I的数据的尾部(S21)。例如,数据编辑表Tll由视频编辑库生成并递送。当没有生成数据编辑表时,可以省略步骤S21的处理。
[0110]随后,数据编辑程序RP将文件I中的插入丛集内的插入位置Pll之前的数据写入新丛集Nll中(S22)。数据编辑程序PR随后写入新丛集Nll之后的插入数据(S23)。随后,数据编辑程序PR将插入丛集链接(Bll)在尾丛集Cll之后(S24)。数据编辑程序PR随后更新文件I的文件尺寸(S25)。数据编辑程序PR将文件I的尺寸更新成通过将插入数据的尺寸和数据编辑表Tll的尺寸加到编辑之前的文件I的尺寸而获得的值。当未使用数据编辑表时,可以省略步骤S25的处理。数据编辑程序PR将新丛集NI I链接(B12)在文件I的插入目标丛集之前的丛集C12之后(S26)。
[0111]因此,本实施例中的数据编辑程序PR在最初时将之后链接的丛集和之前链接的丛集中的之后链接的丛集链接(Bll)到新丛集Nil。因此,在该示例中,数据编辑程序PR在最初时在步骤S24中将插入丛集链接在新丛集NI I的极末端处的丛集之后并且随后在步骤S26中将文件I的插入目标丛集之前的丛集C12链接在新丛集Nll之前。结果,数据编辑程序PR可以使文件I的丛集链成链的定时延迟,并且可以使文件I维持在编辑之前的状态,直到丛集链改变为止。
[0112]数据编辑程序PR随后更新文件I的数据中包含的索引中的每个帧的偏移(S27)。例如,数据编辑程序PR更新与在插入位置处及其之后的数据和插入数据对应的索引。在该情况下,数据编辑表Tll中包含的编辑结果信息被更新。更具体地,指示插入数据的开始位置的编辑数据偏移以及编辑结果信息中的编辑之后的文件尺寸被更新。
[0113]数据编辑程序PR随后将数据编辑表Tll结转至视频编辑库22并且将该表从文件I中删除,并且还将文件I的文件尺寸更新成通过将插入数据的尺寸加到编辑之前的尺寸而获得的值(S28)。结果,视频编辑库22可以基于编辑结果信息准确地检测编辑处理的内容。
[0114]因此,通过与比较示例进行比较,在本实施例的数据编辑程序PR执行的数据插入处理中,目录条目的更新次数减少(从7减少到2),并且丛集的破碎次数减少(从3减少到2)。当在本实施例中不使用数据编辑表时,目录条目的更新次数可以进一步减少一次(从7减少到I)。结果,通过抑制目录条目的更新次数,本实施例的数据编辑程序PR可以提高对次级存储设备的访问效率并且提高数据插入处理的速度。此外,通过抑制丛集破碎次数,本实施例的数据编辑程序PR可以提高对编辑之后的文件的访问速度并且高效地使用文件系统的区域。
[0115]此外,在本实施例中,文件数据是例如视频数据并且因此可以包括丛集内的未使用的区域。因此,由于数据编辑对象的位置不限于丛集边界,因此数据编辑程序PR可以使预先存储在次级存储介质中的数据的转移最少。
[0116]此外,在本实施例中,由于具有编辑指令信息的数据编辑表被添加到数据的极末端,因此即使当数据插入处理中断时,插入目标文件仍可以被恢复到编辑之前的状态或者编辑之后的状态。
[0117][数据插入处理的中断]
[0118]图15图示了当在数据插入处理的过程中中断处理时的文件安全性。例如,当设备的电源断开并且数据插入处理中断时或者当数据编辑程序PR被强制停止时,处理中断。该图还包括与图14中图示的流程图的每个步骤对应的文件状态和恢复指南。文件状态是文件数据、文件尺寸、索引、数据编辑表和未弓I用数据的状态。
[0119]更具体地,在图15中,作为插入目标文件的文件I在步骤S21之前处于编辑处理之前的状态,并且在步骤S28之后处于编辑处理之后的状态。结果,即使当编辑处理中断时,仍确保了文件I的安全性。尽管在步骤S21之后添加了数据编辑表,但是文件尺寸未被更新。因此,文件I处于编辑之前的状态并且文件I的安全性被确保。
[0120]在步骤S22至S25,文件I的丛集链被解链。换言之,文件I处于编辑之前的状态。因此,即使当编辑处理在步骤S22至S25之后中断时,仍确保了文件I的安全性。然而,由于插入数据已被存储在次级存储设备中,因此它们保持为未引用数据。出于该原因,根据恢复指南执行作为未引用数据的被插入数据(和数据编辑表)的清除处理。然而,在步骤S25之后,状态是丛集链改变之前,并且文件尺寸被更新成丛集链的重新链接之后的尺寸。因此,出现文件尺寸的失配。在该情况下,基于可读的数据编辑表的编辑指令信息来更新文件I的文件尺寸,并且文件被恢复到编辑之前的状态。
[0121]当编辑处理在步骤S26之后中断时,执行丛集链的重新链接,从而消除了文件尺寸的失配,但是索引假设有失配状态。在该情况下,基于数据编辑表的编辑指令信息针对文件I更新索引,并且还删除数据编辑表并且文件被恢复到编辑之后的状态。这样,数据编辑处理在步骤S27之后中断,从文件I删除数据编辑表,更新文件尺寸,并且将文件恢复到编辑之后的状态。
[0122]因此,通过本实施例的数据编辑程序PR,即使当处理在编辑处理中的任何步骤之后中断时,通过使用具有编辑指令信息的数据编辑表,插入目标文件仍可以恢复到编辑之前的状态或编辑之后的状态。结果,维持了插入目标文件的安全性。此外,通过将数据编辑表添加到文件的极末端,数据编辑程序PR可以仅基于次级存储设备中存储的数据即可恢复插入目标文件。下文详细描述了文件恢复处理。
[0123]如上文提及的,当在编辑处理中将插入数据插入在插入目标文件中的插入位置时,本实施例的数据编辑程序PR将在具有插入目标文件的插入位置的插入丛集中的插入位置处及其之后的数据以及插入数据转移到其中未记录插入目标文件的一个第三新丛集或多个第三新丛集,并且第三新丛集包括在多个丛集中。数据编辑程序PR随后编辑管理数据,使得插入丛集之前的丛集被链接在第三新丛集的首丛集之前,并且使得插入丛集之后的丛集被链接在第三新丛集的尾丛集之后。
[0124]因此,通过本实施例的数据编辑程序PR,抑制了文件的不必要的分割处理和链接处理。结果,本实施例的数据编辑程序PR可以减少数据插入处理执行的编辑之后的文件的破碎次数并且还可以减少目录条目的更新次数。结果,数据编辑程序PR可以迅速地和高效地执行数据插入处理并且提高对编辑之后的文件的访问速率。此外,数据编辑程序PR可以使预先存储在丛集中的数据的转移量最小,并且可以迅速地执行数据插入处理。
[0125]此外,在本实施例的数据编辑程序PR中,编辑管理数据,使得在链接在新丛集之后的第一丛集和链接在新丛集之前的第二丛集中,第一丛集首先被链接到新丛集。因此,数据编辑程序PR在最初时更新新丛集的后链路,并且尽可能晚地更新前链路。通过该方法,即使后链路被链接到分离的文件的丛集,当其中前链路没有从任何位置链接的编辑处理中断时,数据仍可以被处置为未使用的数据并且被安全地删除。此外,在该情况下,数据程序PR可以使插入目标文件改变的定时延迟。换言之,数据编辑程序PR可以尽可能长地将插入目标文件维持在编辑之前的状态。
[0126]本实施例的数据编辑程序PR在数据编辑处理的对象文件的数据尾部中存储编辑指令信息,该编辑指令信息是被输入的并且包括指示插入处理的编辑类型、指示插入处理中的插入位置的编辑对象位置和指示插入处理中的插入数据的尺寸的编辑对象尺寸。此夕卜,当不能执行数据编辑处理的对象文件的读取时,数据编辑程序PR基于编辑指令信息将数据编辑处理的对象文件恢复到数据编辑处理之前或之后的状态。
[0127]结果,即使当针对对象文件的数据插入处理半途中断时,本实施例的数据编辑程序PR仍可以将对象文件恢复到数据插入处理之前或者处理之后的状态。因此确保了插入目标文件的安全性。
[0128]在本实施例的数据编辑程序PR中,在将丛集链接在新丛集之前的管理数据的编辑之前,当数据区域中管理的文件的尺寸小于通过将编辑指令信息的尺寸加到管理数据的编辑之后的文件尺寸而获得的总和尺寸时,将数据区域中管理的文件的尺寸更新成该总和尺寸。
[0129]结果,数据编辑程序PR可以预先地,即在插入目标文件改变之前,将文件尺寸更新成实现数据编辑表的读取的尺寸。因此,即使当编辑处理中断并且在插入目标文件改变之后出现文件失配时,数据编辑程序PR仍可以基于数据编辑表将插入目标文件恢复到编辑之后的状态。
[0130]此外,本实施例的数据编辑程序PR输出具有指示数据插入处理的结果的信息的数据编辑表。结果,例如,较高层级的接口可以准确地检测编辑处理结果。
[0131][移除处理:比较示例]
[0132]图16A和图16B是图示比较示例中的数据移除处理的流程的第一示图。在这些图中,通过与上文描述的相同的方式,由正方形表示的丛集中的由斜线表示的区域指示移除源文件的数据,并且空白部分指示未使用的区域。在比较示例中,数据指示非视频数据,并且由点栅表示的区域ff指示归属信息。在比较示例中,作为基于归属信息管理未使用的区域的结果,即使当丛集包括未使用的区域时,仍可以访问数据。
[0133]图16A图示了数据移除处理之前的移除源文件。在该示例中,作为移除源文件的文件I由六个丛集构成。数据移除开始位置P21包括在第三丛集中,并且移除结束位置P22包括在第五丛集中。从移除开始位置P21到移除结束位置P22的数据对应于移除对象数据D21。
[0134]随后,在图16B中,文件I被分成文件I和文件2。更具体地,在具有移除开始位置P21的丛集(以下被称为“移除开始丛集”)中的移除开始位置P21处及其之后的数据被转移到新丛集N21并且被存储为文件2,并且移除开始丛集之后的丛集C21被链接在新丛集N21之后(B21)。此外,在文件2的新丛集N21和移除开始丛集之后的丛集之间假设有破碎状态。在该处理中,使用一个新丛集。
[0135]随后,在图16B中,通过分割生成的文件2被进一步分成文件2和文件3。更具体地,在具有移除结束位置P22的丛集(以下被称为“移除结束丛集”)中的移除结束位置P22处及其之后的数据被转移到新丛集N22并且被存储为文件3,并且移除结束丛集之后的丛集C22被链接在新丛集N22之后(B22)。此外,在文件3的新丛集N22和移除结束丛集之后的丛集之间假设有破碎状态。在该处理中,使用一个新丛集。
[0136]图17是图示作为图16B中所示的处理的继续的、比较示例中的数据移除处理的流程的第二示图。在图17中,文件3链接到文件I。更具体地,文件3的新丛集N22链接(B23)在文件I的移除开始丛集之后,并且目录条目中的文件3的条目被删除。此外,在文件I的移除开始丛集和文件3的新丛集N22之间假设有破碎状态。在图17中,目录条目的中的文件2的条目被删除。
[0137]结果,在比较示例中,从文件I移除了移除对象数据。在比较示例中,通过使用文件分割处理和文件链接处理来执行数据移除处理。因此,通过使用移除开始位置和移除结束位置分割点,将作为移除源文件的文件I分成文件2和文件3,并且将文件I与文件3链接,来执行数据移除处理。
[0138]在比较示例的数据移除处理中,使用了两个新丛集N21和N22。数据移除处理之后的文件中的丛集的破碎次数是2 (B22、B23)。此外,在比较示例中,在文件I和文件2的每次分割时生成两次对目录条目的访问(总共四次)。当文件I和文件3被链接时还生成两次对目录条目的访问并且当删除文件2时还生成一次对目录条目的访问(总共三次)。因此,在比较示例中,在数据移除处理中总共生成七次对目录条目的访问。
[0139][数据移除处理的流程图:比较示例]
[0140]图18是图示比较示例中的数据移除处理的流程图。如图中所示,作为移除源文件的文件I在最初时被分成文件I和新文件2 (S31)。更具体地,在移除开始丛集的移除开始位置处及其之后的数据被转移到新丛集N21,并且移除开始丛集之后的丛集C21被链接(B21)在新丛集N21之后并且被存储为文件2。所生成的文件2随后被进一步分成文件2和新文件3(S32)。更具体地,在移除结束丛集的移除结束位置处及其之后的数据被转移到新丛集N22,并且移除结束丛集之后的丛集C22被链接(B22)在新丛集N22之后并且被存储为文件3。
[0141]随后,文件3被链接到文件I (S33)。更具体地,文件3的新丛集N21被链接(B23)在文件I的移除开始丛集之后,并且文件3的条目被从目录条目删除。随后文件2的条目被从目录条目删除(S34)。
[0142][数据移除处理:本实施例]
[0143]图19A至图19C是图示本实施例中的数据移除处理的流程的第一示图。图19A图示了数据移除处理之前的移除源文件。在该示例中,作为移除源文件的文件I由六个丛集构成。此外,数据移除开始位置包括在第三丛集中,并且移除结束位置包括在第五丛集中。
[0144]在图19B中,数据编辑表T31被添加到文件的极末端。包括指示REMOVAL的编辑处理类型、指示文件I中的移除开始位置P31的编辑开始位置以及指示移除对象数据D31的尺寸的编辑数据尺寸的编辑指令信息被存储在数据编辑表T31中。尽管作为附接数据编辑表T31的结果,文件I的尺寸增加,但是此时,目录条目中管理的文件I的尺寸未被更新。随后,在图19C中,移除结束丛集被链接(B31)在移除开始丛集之后。在移除开始丛集和移除结束丛集之间假设有破碎状态。
[0145]图20A至图20C是图示本实施例中的数据移除处理的流程的第二示图。在图20A中,构成移除对象数据D31的丛集中的、位于移除开始丛集和移除结束丛集之间的丛集C31被释放。随后,在图20B中,文件I的索引中的每个帧的偏移被更新。更具体地,在偏移因数据的移除而改变的移除结束位置处及其之后的数据的索引被更新。结果,在移除开始丛集中的移除开始位置P31处及其之后的区域以及在移除结束丛集的移除结束位置P32处及其之前的区域变为未使用状态。此外,在图20C中,数据编辑表T31被删除并且文件尺寸被更新。在该情况下,文件I的尺寸被更新成通过从编辑之前的文件尺寸减去移除对象数据D31的尺寸而获得的值。
[0146]因此,在本实施例的数据移除处理中,没有使用新丛集。此外,在数据移除处理之后的文件中的丛集的破碎次数是I (B31)。此外,在本实施例中,当文件I的尺寸被更新时仅生成一次对目录条目的访问。即使当在数据移除处理中不使用数据编辑表T31时,仍访问一次目录条目。
[0147][数据移除处理的流程图:本实施例]
[0148]图21是图示本实施例中的数据移除处理的流程图。在该图中,数据编辑程序PR在最初时将数据编辑表T31添加到作为移除源文件的文件I的数据的尾部(S41)。例如,数据编辑表T31由视频编辑库生成并递送。当没有使用数据编辑表时,可以省略步骤S41的处理。
[0149]随后,数据编辑程序PR将移除结束丛集链接(B31)在移除开始丛集之后(S42)。数据编辑程序PR随后从构成移除对象数据D31的丛集中除去位于移除开始丛集和移除结束丛集之间的丛集C31 (S43)。数据编辑程序PR随后更新文件I的数据中包含的索引中的每个帧的偏移(S44)。例如,数据编辑程序PR更新与在移除结束位置处及其之后的数据对应的索引。在该情况下,数据编辑表T31中包括的编辑结果信息中的编辑数据偏移以及编辑之后的文件尺寸被更新。更具体地,指示移除对象数据D31之后的数据的开始位置的编辑数据偏移以及编辑结果信息中的编辑之后的文件尺寸被更新。
[0150]数据编辑程序PR随后将数据编辑表T31转移至视频编辑库并且将该表从文件I中删除,并且还将文件I的文件尺寸更新成通过从编辑之前的尺寸减去移除对象数据的尺寸而获得的值(S45)。结果,视频编辑库可以基于编辑结果信息准确地检测编辑处理的内容。
[0151]因此,通过与比较示例进行比较,在本实施例的数据编辑程序PR执行的数据移除处理中,目录条目的更新次数减少(从7减少到I),并且丛集的破碎次数减少(从2减少到I)。此外,在比较示例中,使用了两个新丛集,而在本实施例中,没有使用新丛集。结果,通过抑制目录条目的更新次数,本实施例的数据编辑程序PR可以提高对次级存储设备的访问效率并且提高数据移除处理的速度。此外,通过抑制丛集破碎次数,本实施例的数据编辑程序PR可以提高对编辑之后的文件的访问速度并且高效地使用文件系统的区域。此外,由于本实施例的数据编辑程序PR不使用新丛集,因此即使当未使用的丛集的数目不足时,仍可以执行数据移除处理。
[0152]此外,在本实施例中,文件数据是例如视频数据并且因此可以包括丛集内的未使用的区域。因此,由于数据编辑对象的位置不限于丛集边界,因此数据编辑程序PR可以使预先存储在次级存储介质中的数据的转移最少。
[0153]此外,在本示例中,在针对文件I的丛集链的重新链接处理(B31)之前不执行文件尺寸更新处理。这是因为,在数据移除处理的情况下,丛集链的重新链接处理(B31)减少了构成文件I的丛集的数目,并且文件I的实际尺寸变得小于目录条目管理的文件的尺寸。在该情况下,在针对文件I的丛集链的重新链接处理(B31)之后,在不更新文件尺寸的情况下,可以读取数据编辑表T31。结果,即使在丛集链的重新链接处理(B31)之后编辑处理中断时,数据编辑程序PR仍可以基于数据编辑表T31将文件I恢复到数据编辑之后的状态。下文详细说明了基于数据编辑表T31的文件恢复处理。
[0154][数据移除处理的中断]
[0155]图22图示了当在数据移除处理的过程中中断处理时的文件安全性。该图还包括与图21中图示的流程图的每个步骤对应的文件状态和恢复指南。文件状态是文件数据、文件尺寸、索引、数据编辑表和未引用数据的状态。
[0156]更具体地,在图22中,作为移除源文件的文件I在步骤S41之前处于编辑处理之前的状态,并且在步骤S45之后处于编辑处理之后的状态。结果,即使当编辑处理中断时,仍确保了文件I的安全性。尽管在步骤S41之后添加了数据编辑表,但是文件尺寸未被更新。因此,文件I处于编辑之前的状态并且文件I的安全性被确保。
[0157]当在步骤S42至S44之后编辑处理中断时,通过执行丛集链的重新链接处理(B31)使文件I从编辑之前的状态变化。在该情况下,由于构成文件I的丛集的数目减少,因此尽管文件I的尺寸未被更新,但是数据编辑程序PR仍可以读取数据编辑表。因此,数据编辑程序PR基于数据编辑表的编辑指令信息来更新文件尺寸和索引并且消除文件失配。结果,移除源文件被恢复到编辑之后的状态。当移除对象数据保持为未引用数据时,它们被删除。
[0158]因此,通过本实施例的数据编辑程序PR,即使当处理在编辑处理中的任何步骤之后中断时,通过生成数据编辑表,移除源文件仍可以恢复到编辑之前的状态或编辑之后的状态。结果,维持了移除源文件的安全性。此外,通过将数据编辑表添加到文件的极末端,数据编辑程序PR可以仅基于次级存储设备中存储的数据即可恢复移除源文件。下文详细描述了文件恢复处理。
[0159]如上文提及的,当移除移除源文件中的位于移除开始位置和移除结束位置之间的数据时,本实施例的数据编辑程序PR删除在具有移除源文件的移除开始位置的移除开始丛集中的移除开始位置处及其之后的数据以及在具有移除结束位置的移除结束丛集中的移除结束位置处及其之前的数据,并且编辑管理数据,使得移除结束丛集被链接在移除开始丛集之后。
[0160]因此,通过本实施例的数据编辑程序PR,抑制了文件的不必要的分割处理和链接处理。结果,本实施例的数据编辑程序PR可以减少数据移除处理执行的编辑之后的文件的破碎次数并且还可以减少目录条目的更新次数。结果,数据编辑程序PR可以迅速地和高效地执行数据移除处理并且提高对编辑之后的文件的访问速率。此外,本实施例的数据编辑程序PR不使用新丛集,从而使得即使当不存在可用丛集时,仍可以执行数据移除处理。此外,数据编辑程序PR可以使预先存储在丛集中的数据的转移量最小,并且可以迅速地执行数据移除处理。
[0161]此外,本实施例的数据编辑程序PR在数据编辑处理的对象文件的数据尾部中存储编辑指令信息,该编辑指令信息是被输入的并且包括指示移除处理的编辑类型、指示移除处理中的移除开始位置的编辑对象位置和指示移除处理中的移除数据的尺寸的编辑对象尺寸。此外,当不能执行数据编辑处理的对象文件的读取时,数据编辑程序PR基于编辑指令信息将数据编辑处理的对象文件恢复到数据编辑处理之前或之后的状态。
[0162]结果,即使当对象文件的数据移除处理半途中断时,本实施例的数据编辑程序PR仍可以将对象文件恢复到数据移除处理之后的状态。因此确保了移除源文件的安全性。
[0163]在本实施例的数据编辑程序PR中,在将丛集链接在新丛集之前的管理数据的编辑之前,当数据区域中管理的文件的尺寸小于通过将编辑指令信息的尺寸加到管理数据的编辑之后的文件尺寸而获得的总和尺寸时,将数据区域中管理的文件的尺寸更新成该总和尺寸。
[0164]在数据移除处理中,移除源文件的丛集链改变之前的编辑前文件的尺寸大于通过将数据编辑表(编辑指令信息)的尺寸加到改变之后的文件尺寸而获得的总和尺寸。在数据移除处理的情况下,即使在移除源文件的丛集链改变之后,数据编辑程序PR仍可以读取数据编辑表。因此,在不改变文件尺寸的情况下,基于数据编辑表可以恢复移除源文件的失配。
[0165]此外,本实施例的数据编辑程序PR输出具有指示数据移除处理的结果的信息的数据编辑表。结果,例如,较高层级的接口可以准确地检测编辑处理结果。
[0166][数据转移处理:比较示例]
[0167]图23A和图23B是图示比较示例中的数据转移处理的流程的第一示图。由正方形表示的丛集中的由斜线表示的区域指示移除源文件的数据,并且空白部分指示未使用的区域。在数据转移处理中,由横线表示的区域和通过分级图示的区域指示转移源文件的数据,并且由横线表示的区域指示转移对象数据D41。在比较示例中,数据指示非视频数据,并且由点栅表示的区域ff指示归属信息。在比较示例中,作为基于归属信息管理未使用的区域的结果,即使当丛集包括未使用的区域时,仍可以访问数据。
[0168]图23A图示了作为转移目标文件的文件I以及作为数据转移处理之前的转移源文件的文件2。在该示例中,文件I由五个丛集构成,数据转移插入位置P41包括在第三丛集中,文件2由六个丛集构成,数据转移开始位置P42包括在第三丛集中,并且转移结束位置P43包括在第五丛集中。在该示例中,文件2中的从转移开始位置P42到转移结束位置P43的插入数据D41被转移到文件I中的转移插入位置P41。
[0169]随后,在图23B中,文件I被分成文件I和文件3。更具体地,在具有转移插入位置P41的丛集(以下被称为“转移插入丛集”)中的转移插入位置P41处及其之后的数据被转移到新丛集N41并且被存储为文件3。同时,转移插入丛集之后的丛集C41被链接(B41)在新丛集N41之后。在文件3的新丛集N41和转移插入丛集之后的丛集C41之间假设有破碎状态。
[0170]此外,在图23B中,文件2被分成文件2和文件4。更具体地,在具有转移开始位置P42的丛集(以下被称为“转移开始丛集”)中的转移开始位置P42处及其之后的数据被转移到新丛集N42并且被存储为文件4。同时,转移开始丛集之后的丛集C42被链接(B42)在新丛集N42之后。在文件4的新丛集N42和转移开始丛集之后的丛集C42之间假设有破碎状态。此外,在图23B中,文件4被分成文件4和文件5。更具体地,在具有转移结束位置P43的丛集(以下被称为“转移结束丛集”)中的转移结束位置P43处及其之后的数据被转移到新丛集N43并且被存储为文件5。同时,转移结束丛集之后的丛集C43被链接(B43)在新丛集N43之后。在文件5的新丛集N43和转移结束丛集之后的丛集C43之间假设有破碎状态。在图23B中,使用了三个新丛集N41至N43。
[0171]图24是图示作为图23B中所示的处理的继续的、比较示例中的数据转移处理的流程的第二示图。在图24中,文件4链接到文件I。更具体地,文件4的新丛集N42链接(B44)在文件I的转移插入开始丛集之后,并且目录条目中的文件4的条目被删除。尽管文件4已被删除,但是附接到文件4的丛集在下文中仍将被称为文件4的丛集。在文件I的转移插入丛集和新丛集N42之间假设有破碎状态。
[0172]在图24中,文件3链接到已被文件4链接的文件I。更具体地,文件3的新丛集N41在文件I的极末端处被链接(B45)成转移结束丛集(文件4的极末端处的丛集)之后的丛集,并且目录条目中的文件3的条目被删除。在文件I的极末端处的转移结束丛集(文件4的极末端处的丛集)和文件3的新丛集N41之间假设有破碎状态。此外,在图24中,文件5链接到文件2。因此,针对转移源文件执行链接处理。更具体地,文件5的新丛集N43被链接(B46)在文件2的转移开始丛集之后,并且目录条目中的文件5的条目被删除。在文件2的转移开始丛集和文件5的新丛集N43之间假设有破碎状态。
[0173]结果,在比较示例中,文件2中的转移对象数据D41被转移到文件I的转移插入位置P41。在比较示例中,通过文件分割处理和文件链接处理来执行数据转移处理。因此,通过将转移开始位置和转移结束位置用作分割点,作为转移源文件的文件2被分成文件4和文件5。此外,通过将转移插入位置用作分割点,作为转移目标文件的文件I被分成文件3。通过将文件I与文件4还有文件3链接来生成转移目标文件,并且通过将文件2与文件5链接来生成转移源文件。
[0174]因此,在比较示例的数据转移处理中,使用了总共三个新丛集N41、N42、N43。此外,数据转移处理之后的文件中的丛集的破碎次数是6(B41至B46)。在比较示例中,对于三次文件分割中的每次分割生成两次对目录条目的访问(总共6次),并且对于三次文件链接操作中的每次操作生成两次对目录条目的访问(总共6次)。因此,在比较示例的数据转移处理中总共生成12次对目录条目的访问。
[0175][数据转移处理的流程图:比较示例]
[0176]图25是图示比较示例中的数据转移处理的流程图。在该图中,作为转移目标文件的文件I在最初时被分成文件I和新文件3(S51)。更具体地,在转移插入丛集的转移插入位置处及其之后的数据被转移到新丛集N41,并且转移插入丛集之后的丛集C41被链接(B41)在新丛集N41之后并且被存储为文件3。
[0177]随后,作为转移源文件的文件2被分成文件2和新文件4 (S52)。更具体地,在转移开始丛集的转移开始位置处及其之后的数据被转移到新丛集N42,并且转移开始丛集之后的丛集C42被链接(B42)在新丛集N42之后并且被存储为文件4。所生成的文件4最后被进一步分成文件4和新文件5 (S53)。更具体地,在转移结束丛集的转移结束位置处及其之后的数据被转移到新丛集N43,并且转移结束丛集之后的丛集C43被链接(B43)在新丛集N43之后并且被存储为文件5。
[0178]随后,文件4被链接到文件I (S54)。更具体地,文件4的新丛集N42被链接(B44)在文件I的转移插入丛集之后,并且文件4的条目被从目录条目中删除。随后,文件3被链接到已被链接文件4的文件I (S55)。更具体地,文件3的新丛集N41被链接(B45)在文件I的极末端处的转移结束丛集之后,并且文件3的条目被从目录条目中删除。因此针对转移目标文件执行了链接处理。随后文件5被链接到文件2 (S56)。更具体地,文件5的新丛集N43被链接(B46)在文件2的转移开始丛集之后,并且文件5的条目被从目录条目中删除。因此针对转移源文件执行了链接处理。
[0179][数据转移处理:本实施例]
[0180]图26A和图26B是图示本实施例中的数据转移处理的流程的第一示图。图26以与比较示例相同的方式图示了在数据转移处理之前作为转移目标文件的文件I以及作为转移源文件的文件2。在该示例中,文件I由五个丛集构成,并且数据转移插入位置P51包括在第三丛集中。此外,文件2由六个丛集构成,数据转移开始位置P52包括在第三丛集中,并且转移结束位置P53包括在第五丛集中。
[0181]随后,在图26B中,将数据编辑表T51、T52添加到文件I和文件2的极末端。包括指示INSERT1N的编辑处理类型、指示文件I中的插入位置的编辑开始位置以及指示转移对象数据的尺寸的编辑数据尺寸的编辑指令信息被存储在文件I中的数据编辑表T51中。包括指示REMOVAL的编辑处理类型、指示文件2中的移除开始位置的编辑开始位置以及指示转移对象数据的尺寸的编辑数据尺寸的编辑指令信息被存储在文件2中的数据编辑表T52中。尽管在附接数据编辑表T51、T52之后,文件I和文件2的尺寸增加,但是此时,目录条目中管理的文件I和文件2的尺寸未被更新。
[0182]图27A和图27B是图示作为图26B中所示的处理的继续的、本实施例中的数据转移处理的流程的第二示图。在图27A中,固定两个新丛集N51、N52。随后,具有文件2中的转移开始位置P52的丛集之后的丛集C51(以下被称为“转移开始丛集”)被链接在第一新丛集N51之后。具有文件I中的转移插入位置P51的丛集之后的丛集C52(以下被称为“转移插入丛集”)被链接(B51)在第二新丛集N52之后。在第一新丛集N51和文件2的转移开始丛集之后的丛集C51之间以及在弟_■新丛集N52和文件I的转移插入丛集之后的丛集C52之间假设有破碎状态。
[0183]随后,在图27B中,相应的数据被写入新丛集N51、N52中。更具体地,例如,在文件2的转移开始丛集中的转移开始位置P52处及其之后的数据被写入第一新丛集N51中。此夕卜,在具有文件2的转移结束位置P53的丛集中的转移结束位置P53处及其之前的数据以及在文件I的转移插入丛集的转移插入位置P51处及其之后的数据被写入第二新丛集N52。
[0184]图28A和图28B是图示作为图27B中所示的处理的继续的、本实施例中的数据转移处理的流程的第三示图。在图28A中,新创建虚拟文件(dummy file)并且将其附接到第一新丛集N51。当新创建虚拟文件时,虚拟文件的尺寸被设定成使得可以读取文件I和文件2的数据编辑表T51、T52。结果,此时,可以基于虚拟文件读取文件2的数据编辑表T52。此夕卜,作为生成虚拟文件的结果,转移数据D51可以附接到虚拟文件。因此,即使当在通过图28B中所示的虚拟文件的重新链接处理(B53)将转移数据D51从文件2移除之后编辑处理中断时,仍可以避免转移数据D51的丢失。此外,在图28B中,转移结束丛集被链接(B53)在文件2的转移开始丛集之后。在转移开始丛集和转移结束丛集之间假设有破碎状态。
[0185]图29A和图29B是图示作为图28B中所示的处理的继续的、本实施例中的数据转移处理的流程的第四示图。在图29A中,第二新丛集N52被链接(B54)在文件2的转移结束丛集之前的丛集C51之后。在转移结束丛集之前的丛集C51和第二新丛集N52之间假设有破碎状态。结果,此时,可以基于虚拟文件读取文件I的数据编辑表T51。
[0186]随后,在图29B中,在将弟一新丛集N51链接在文件I的转移插入丛集之后之ill,更新文件I的文件尺寸。因此,在针对文件I执行丛集链的重新链接处理(B55)之前更新目录条目中管理的文件I的尺寸。更具体地,文件I的尺寸被更新成通过将转移数据D51的尺寸和数据编辑表T51的尺寸加到编辑之前的文件尺寸而获得的值。结果,假设有如下状态,其中在丛集链的重新链接处理(B55)之后可以读取文件I的数据编辑表T51。此外,在图29B中,第一新丛集N51被链接在文件I的转移插入丛集之后。在转移插入丛集和第一新丛集N51之间假设有破碎状态。
[0187]如数据插入的示例中说明的,作为文件I的丛集链的更新结果,构成文件I的丛集的配置被更新并且构成文件I的丛集数目增加。因此,数据编辑表T51处于不可读阶段。出于该原因,在文件I的丛集链的重新链接处理(B55)之前,目录条目中管理的文件I的尺寸被预先更新成可以读取数据编辑T51的尺寸。结果,即使当编辑处理在丛集链的重新链接处理(B55)之后中断时,仍可以基于数据编辑表T51将文件I恢复到数据编辑之后的状态。下文将详细说明基于数据编辑表T51的文件恢复处理。
[0188]如数据插入处理的示例中说明的,在图27A中,当文件I的转移插入丛集之后的丛集C52被链接(B52)在第二新丛集N52之后时,没有产生对构成文件I的丛集的配置的影响。因此,在丛集链的重新链接处理之前不执行文件尺寸更新处理。
[0189]图30A和图30B是图示作为图29B中所示的处理的继续的、本实施例中的数据转移处理的流程的第五示图。在图30A中,从目录条目中删除虚拟文件的条目。在图29B中,通过丛集链的重新链接处理(B55)将转移数据D51附接到文件I。因此,不需要虚拟文件的条目。
[0190]随后,在图30B中,更新文件I和文件2的索引中的每个帧的偏移。在文件I中的转移插入位置P51之后的数据以及在文件2中的转移结束位置P53处及其之后的数据的偏移因转移数据D51的插入而被更新。因此,更新与偏移改变的数据对应的索引。此外,作为索引更新的结果,在转移插入丛集中的转移插入位置P51处及其之后的数据、在转移开始丛集中的转移开始位置P52处及其之后的数据以及在转移结束丛集中的转移结束位置P53处及其之前的数据被更新成未使用状态。
[0191]在图30B中,删除附接到文件I和文件2的极末端的数据编辑表T51、T52,并且更新每个文件的文件尺寸。在该情况下,文件I的尺寸被更新成通过将转移数据的尺寸加到编辑之前的文件的尺寸而获得的值。文件2的尺寸被更新成通过从编辑之前的文件尺寸减去转移数据的尺寸而获得的值。
[0192]因此,在本实施例的数据转移处理中,使用了两个新丛集N51、N52。此外,数据转移处理之后的文件中的丛集破碎次数是5 (B51至B55)。在该实施例中,当文件I被更新两次时以及当文件2被更新一次时生成了对目录条目的访问(总共三次)。此外,在本实施例中,当新创建虚拟文件时生成一次对目录条目的访问并且当删除虚拟文件时生成一次对目录条目的访问(总共两次)。因此,在本实施例的数据转移处理中,总共生成五次对目录条目的访问。
[0193][未使用数据编辑表的情况]
[0194]当未使用数据编辑表时,在图29B中图示的处理之前直接执行的文件I的文件尺寸的更新处理可以被省略。因此,在该情况下,文件尺寸的更新处理被执行两次,作为图30B中的文件I和2的尺寸的更新处理。结果,总共四次更新目录条目。在本实施例的数据转移处理中,当不考虑转移数据D51的丢失时,虚拟文件生成处理和删除处理可以被省略。当可以省略虚拟文件生成处理时,可以跳过生成和删除虚拟文件所需的对目录条目的访问,并且因此目录条目的更新次数可以进一步减少两次。
[0195][数据转移处理的流程图:本实施例]
[0196]图31是图示本实施例中的数据转移处理的流程图。在该图中,数据编辑程序PR在最初时将数据编辑表T51、T52添加到作为转移目标文件的文件I和作为转移源文件的文件2的尾部(S61)。例如,数据编辑表Τ51、Τ52由视频编辑库生成并递送。当没有使用数据编辑表Τ51、Τ52时,可以省略步骤S61的处理。
[0197]随后,数据编辑程序PR固定两个新丛集N51、N52(S62)。在该情况下,文件2的转移开始丛集之后的丛集C51被链接在第一新丛集N51之后,并且文件I的转移插入丛集之后的丛集C52被链接在第二新丛集N52之后(B51、B52)。随后,数据编辑程序PR将相应的数据写入新丛集N51、N52中(S63)。例如,在文件2的转移开始丛集中的转移开始位置P52处及其之后的数据被写入第一新丛集N51中,并且在文件2的转移结束丛集中的转移结束位置P53处及其之前的数据以及在文件I的转移插入丛集中的转移插入位置P51处及其之后的数据被写入第二新丛集N52中。数据编辑程序PR随后新创建虚拟文件并且将虚拟文件附接到第一新丛集N51(S64)。结果,插入数据D51附接到虚拟文件。
[0198]随后,数据编辑程序PR将转移结束丛集链接(B53)在文件2的转移开始丛集之后(S65)。结果,作为转移源文件的文件2被链接。随后,数据编辑程序PR将第二新丛集N52链接(B54)在文件2的转移结束丛集之前的丛集C51之后(S66)。数据编辑程序PR随后将文件I的文件尺寸更新(S67)成使得在针对文件I执行丛集链的重新链接处理(步骤S68)之前可以读取丛集链改变之后的数据以及数据编辑表T51的值。更具体地,数据编辑程序PR将文件I的尺寸更新成通过将转移数据的尺寸和数据编辑表T51的尺寸加到编辑之前的文件I的尺寸而获得的值。当没有使用数据编辑表T51、T52时,可以省略步骤S67的处理。
[0199]随后,数据编辑程序PR将第一新丛集N51链接(B55)在文件I的转移插入丛集之后(S68)。数据编辑程序PR随后从目录条目中删除虚拟文件的条目(S69)。随后,数据编辑程序PR更新其中出现文件I中的偏移改变的转移插入位置P51之后的数据以及在文件2中的转移结束位置处及其之后的数据的偏移(S70)。在该情况下,数据编辑程序PR更新文件I和2的数据编辑表T51、T52中包括的编辑数据偏移以及编辑之后的文件尺寸。更具体地,包括指示转移数据D51的开始位置的编辑数据偏移还有编辑之后的文件尺寸的编辑结果信息被存储在文件I的数据编辑表T51中。包括指示在插入结束位置处及其之后的数据的开始位置的编辑数据偏移还有编辑之后的文件尺寸的编辑结果信息被存储在文件2的数据编辑表T52中。
[0200]数据编辑程序PR随后通过结转至视频编辑库来删除附接到文件I和2的极末端的数据编辑表T51、T52并且更新每个文件的文件尺寸(S71)。结果,视频编辑库可以基于编辑结果信息准确地检测编辑处理的内容。此外,数据编辑程序PR将文件I的尺寸更新成通过将转移数据的尺寸加到编辑之前的文件尺寸而获得的值,并且将文件2的尺寸更新成通过从编辑之前的文件尺寸减去转移数据的尺寸而获得的值。
[0201][数据转移处理中的样式]
[0202]上文参照图26至图31说明了本实施例的数据转移处理。在数据转移处理中被写入两个新丛集中的对象数据和丛集链的链接也可以通过与图26至图31所示的方法不同的方法来执行。
[0203]图32A和图32B图示了在数据转移处理中被写入两个新丛集中的数据样式。在图32A中的表Hl中,图示了作为示例的包括图26至图31中说明的样式(1_1)的三个样式。在表Hl中,转移插入丛集、转移开始丛集和转移结束丛集中的区域被图示为区域(A)、区域(a)、区域(B)、区域(b)、区域(C)和区域(C)。下面将说明每个区域。如图32B中所示,区域(A)指示在转移目标文件中的转移插入丛集中的转移插入位置处及其之前的区域,而区域(a)指示在转移插入位置处及其之后的区域。区域(B)指示在转移源文件中的转移开始丛集中的转移开始位置处及其之后的区域,而区域(b)指示在转移开始位置处及其之前的区域。区域(C)指示在转移原文件中的转移结束丛集中的转移结束位置处及其之前的区域,而区域(c)指示在转移结束位置处及其之后的区域。
[0204]首先,将说明图32A中的图示的表Hl中的样式1_1和样式1_2。当“区域(B)+区域(C) <丛集尺寸”时,使用样式1-1和样式1-2。在该情况下,在转移开始丛集中的转移开始位置处及其之后的区域(B)以及在转移结束丛集中的转移结束位置处及其之前的区域(C)被装配到一个丛集中。当“区域(a)〈区域(B)”时,使用样式1-1,并且当“区域(a)彡区域(B)”时,使用样式1-2。
[0205][样式1-1]
[0206]下面更详细地说明样式1-1。如上文提及的,当“区域(a)〈区域(B)”并且“区域(B)+区域(C)彡丛集尺寸”时,使用样式1-1。如参照图27至图31说明的,在样式1-1中,在转移开始丛集中的转移开始位置处及其之后的区域(区域(B))中的数据被写入第一新丛集N51中,并且在转移结束丛集中的转移结束位置处及其之前的区域(区域(C))中的数据以及在转移插入丛集中的转移插入位置处及其之后的区域(区域(a))中的数据被写入第二新丛集N52中。
[0207]丛集尺寸是均匀的。因此,当“区域(B)+区域(C)彡丛集尺寸”时,满足条件“区域(B)彡区域(C)”。在条件“区域(B)彡区域(c)”与条件“区域(a)〈区域(B)”匹配时,获得了条件“区域(a)〈区域(C) ”。此外,当“区域(a)〈区域(C) ”时,满足条件“区域(C)〈区域(A) ”。在该情况下,其中“区域(a)+区域㈧=丛集尺寸”,意味着区域(a)的数据和区域(C)的数据被装配到一个丛集中。因此,一个丛集被区域(a)和区域(C)共享。因此,在转移结束丛集中的转移结束位置处及其之前的区域(区域(C))的数据以及在转移插入丛集中的转移插入位置处及其之后的区域(区域(a))的数据被写入第二新丛集N52中。
[0208][样式1-2]
[0209]下面更详细地说明样式1-2。如上文提及的,当“区域(a)彡区域⑶”并且“区域(B)+区域(C) <丛集尺寸”时,使用样式1-2。在样式1-2中,在转移插入丛集中的转移插入位置处及其之前的区域(区域(A))中的数据以及在转移开始丛集中的转移开始位置处及其之后的区域(区域(B))中的数据被写入第一新丛集N51中,并且在转移结束丛集中的转移结束位置处及其之前的区域(区域(C))中的数据被写入第二新丛集N52中。
[0210]当“区域(a)彡区域(B)”时,满足条件“区域(a)+区域㈧=丛集尺寸”,并且意味着尺寸等于或小于区域(a)的区域(B)以及区域(A)被装配到一个丛集中。因此,一个丛集被区域(A)和区域(B)共享。因此,在转移插入丛集中的转移插入位置处及其之前的区域(区域(A))的数据以及在转移开始丛集中的转移开始位置处及其之后的区域(区域(B))的数据被写入第一新丛集N51中。
[0211][样式2]
[0212]当“区域(B)+区域(C)〉丛集尺寸”时,使用样式2。这指示如下情况,其中在转移开始丛集中的转移开始位置处及其之后的区域(B)和在转移结束丛集中的转移结束位置处及其之前的区域(C)不能装配到一个丛集中。当“区域(B)+区域(C)〉丛集尺寸”时,满足条件“区域(C)+区域(c)=丛集尺寸”。因此,意味着区域(b)和区域(c)被装配到一个丛集中。因此,在样式2中,在转移开始丛集中的转移开始位置处及其之后的区域(区域(B))的数据被写入第一新丛集N51中,并且在转移插入丛集中的转移插入位置处及其之后的区域(区域(a))的数据被写入第二新丛集N52中。此外,在转移结束丛集中的转移结束位置处及其之后的区域(区域(C))的数据被写入转移源文件中的转移开始丛集中。
[0213]因此,本实施例的数据编辑程序PR可以将作为编辑对象的位置之前和之后的三个区域的数据装配到数据转移处理中的两个新丛集中。下文参照【专利附图】
附图
【附图说明】了样式1-2和2的具体示例。
[0214][样式1-2的具体示例]
[0215]图33A和图33B图示了样式1-2中的数据转移处理的具体示例。在图33A中,如图31中所示的流程图中的步骤S62的处理,固定两个新丛集N51、N52,文件2的转移开始丛集之后的丛集C51被链接在第一新丛集N51之后,并且文件I的转移插入丛集被链接在第二新丛集N52之后(B61、B62)。随后,在后继步骤S63中,在文件I (转移目标文件)的转移插入丛集中的转移插入位置处及其之前的数据以及在文件2 (转移源文件)的转移开始丛集中的转移开始位置处及其之后的数据被写入第一新丛集N51中。此外,在同一步骤中,在文件2的转移结束丛集中的转移结束位置处及其之前的数据被写入第二新丛集N52中。
[0216]此外,在图33B中,通过与样式1-1相同的方式,如图31中所示的步骤S65的处理,将转移结束丛集链接(B63)在文件2的转移开始丛集之后。此外,在图31中所示的步骤S66中,通过与样式1-1相同的方式,将第二新丛集N52链接(B64)在文件2的转移结束丛集之前的丛集C51之后。在图31中所示的步骤S68中,将第一新丛集N51链接(B65)在文件I的转移插入丛集之前的丛集C53之后。
[0217]因此,在样式1-2的情况下,文件2中的从转移开始位置到转移结束位置的转移数据同样被转移到文件I中的转移插入位置。此外,在样式1-2的数据转移处理中,通过与样式1-1相同的方式,使用了两个新丛集N51、N52,并且转移处理之后的文件中的丛集的破碎次数是5(B61至B65)。所生成的对目录条目的访问次数也与样式1-1相同。
[0218][样式2的具体示例]
[0219]图34A和图34B图示了样式2中的数据转移处理的具体示例。在图34A中,如图31中所示的流程图中的步骤S62的处理,固定两个新丛集N51、N52,文件2的转移开始丛集之后的丛集C51被链接在第一新丛集N51之后,并且文件I的转移插入丛集之后的丛集C52被链接在第二新丛集N52之后(B71、B72)。随后,在后继步骤S63中,在文件2 (转移源文件)的转移开始丛集中的转移开始位置处及其之后的数据被写入第一新丛集N51中,并且在文件I的转移插入丛集中的转移插入位置处及其之后的数据被写入第二新丛集N52中。此外,在样式2中,在同一步骤中,在文件2的转移开始丛集中的转移开始位置处及其之前的数据之后,写入转移结束丛集的转移结束位置处及其之后的数据。
[0220]在图34B中,如图31中所示的步骤S65的处理,将转移结束丛集之后的丛集C54链接(B73)在文件2的转移开始丛集之后。此外,在图31中所示的步骤S66中,将第二新丛集N52链接在文件2的转移结束丛集之后(B74)。在图31中所示的步骤S68中,将第一新丛集N51链接在文件I的转移插入丛集之后(B75)。
[0221 ] 因此,在样式2中,文件2中的从转移开始位置到转移结束位置的转移数据同样被转移到文件I中的转移插入位置。此外,在样式2的数据转移处理中,通过与样式1-1和1-2相同的方式,使用了两个新丛集N51、N52,并且转移处理之后的文件中的丛集的破碎次数是5(B71至B75)。所生成的对目录条目的访问次数也与样式1-1和1_2的情况相同。
[0222]因此,通过任何样式,两个区域的数据共享一个丛集,从而使得可以将新丛集的数目减少到2并且将文件的破碎次数抑制到5。此外,通过与比较示例进行比较,在本实施例的数据转移处理中,对目录条目的更新次数减少(从12减少到5)并且丛集的破碎次数也减少(从6减少到5)。当在本实施例中不使用数据编辑表时,对目录条目的更新次数可以进一步减少一次(从12减少到4)。
[0223]因此,通过减少对目录条目的更新次数,本实施例的数据编辑程序PR可以提高处理效率并且提高数据转移处理的速度。此外,通过减少丛集破碎次数,本实施例的数据编辑程序PR可以提高对编辑之后的文件的访问速度并且高效地使用文件系统的区域。
[0224]此外,在本实施例中,文件数据是例如视频数据并且因此可以包括丛集内的未使用的区域。因此,由于数据编辑对象的位置不限于丛集边界,因此数据编辑程序PR可以使预先存储在次级存储介质中的数据的转移最少。
[0225]此外,在本实施例中,作为生成数据编辑表并且将其添加到数据的极末端的结果,即使当数据转移处理半途中断时,仍可以将转移目标文件和转移源文件恢复到编辑之前的状态或编辑之后的状态。
[0226][数据转移处理的中断]
[0227]图35图示了当在数据转移处理的过程中中断处理时的文件安全性。针对转移目标文件(文件I)和转移源文件(文件2),该图还包括与图31中图示的流程图的每个步骤对应的文件状态和恢复指南。文件状态是文件数据、文件尺寸、索引、数据编辑表和未引用数据的状态。
[0228]更具体地,在图35中,文件I和文件2在步骤S61之前处于编辑处理之前的状态,并且在步骤S71之后处于编辑处理之后的状态。结果,即使当编辑处理中断时,仍确保了文件I和文件2的安全性。尽管在步骤S61之后添加了数据编辑表,但是文件尺寸未被更新。因此,文件I和文件2处于编辑之前的状态并且文件I和文件2的安全性被确保。
[0229]当在步骤S62至S64之后编辑处理中断时,文件I和文件2被恢复到编辑之前的状态。在步骤S62至S64之后,文件I和文件2的丛集链不变。因此,即使当编辑处理中断时,仍确保了文件I和文件2的安全性。此外,在步骤S65之后,文件2的丛集链处于改变状态。在该情况下,数据编辑程序PR基于文件2的数据编辑表和附接到虚拟文件的转移数据,通过使转移数据返回文件2,将文件2恢复到编辑之前的状态。
[0230]本实施例的数据编辑程序PR可以通过生成虚拟文件并且将虚拟文件附接到转移数据来引用转移数据。结果,即使在文件2的丛集链已被改变之后,数据编辑程序PR仍可以基于转移数据将文件2恢复到编辑之前的状态。
[0231]此外,当编辑处理在步骤S66至S70之后中断时,文件I和文件2被恢复到编辑之后的状态。当针对文件I,编辑处理在步骤S66和S67之后中断时,文件I的丛集链不变。因此,在步骤S66之后,文件I的数据编辑表处于不可读状态,但是可以基于虚拟表来读取文件I的数据编辑表。因此,数据编辑程序PR可以基于附接到虚拟文件的文件I的数据编辑表和转移数据将文件I恢复到编辑之后的状态。此外,在步骤S67之后,由于文件I的文件尺寸的放大,文件I的数据编辑表处于可读状态。因此,数据编辑程序PR基于可读的数据编辑表和附接到虚拟文件的转移数据将文件I恢复到编辑之后的状态。
[0232]因此,本实施例的数据编辑程序PR通过使用虚拟文件将文件I的数据编辑表设定为可读状态直到其中丛集链改变的步骤S68之后的时间点为止。结果,当数据编辑处理在步骤S66和S67之后中断时,数据编辑程序PR可以将文件I恢复到编辑之后的状态。
[0233]当编辑处理在步骤S68之后中断时,文件I的丛集链改变并且生成了文件尺寸或索引的失配。因此,数据编辑程序PR基于数据编辑表恢复附件I的文件尺寸或索引的失配并且将文件I恢复到编辑之后的状态。此外,当针对文件2,编辑处理在步骤S66至S70之后中断时,数据编辑程序PR基于文件2的数据编辑表恢复附件2的文件尺寸或索引的失配并且将文件2恢复到编辑之后的状态。
[0234]因此,通过本实施例的数据编辑程序PR,即使当处理在编辑处理中的任何步骤之后中断时,通过使用具有编辑指令信息的数据编辑表,可以将转移目标文件和转移源文件恢复到编辑之前的状态或编辑之后的状态。结果,维持了转移目标文件和转移源文件的安全性。此外,通过将数据编辑表添加到文件尾部,数据编辑程序PR可以仅基于次级存储设备中存储的数据对转移目标文件和转移源文件进行恢复。
[0235]如上文所述,通过本实施例的数据编辑程序PR,数据编辑处理包括将转移源文件中的转移开始位置和转移结束位置之间的插入数据转移到转移目标文件中的转移插入位置。转移插入数据包括,将在具有转移源文件的转移开始位置的转移开始丛集中的转移开始位置处及其之后的转移开始后数据转移到其中未记录转移源文件和转移目标文件的第一新丛集,第一新丛集包括在多个丛集中。此外,转移插入数据包括,将在具有转移源文件的转移结束位置的转移结束丛集中的转移结束位置处及其之前的转移结束前数据转移到其中未记录转移源文件和转移目标文件的第二新丛集,第二新丛集不同于第一新丛集并且包括在多个丛集中。此外,转移插入数据包括,将在具有转移目标文件的转移插入位置的转移插入丛集中的转移插入位置处及其之前的转移插入前数据或者在转移插入丛集中的转移插入位置处及其之后的转移插入后数据转移到第一新丛集或第二新丛集。此外,转移插入数据包括,针对转移目标文件编辑管理数据,使得转移开始丛集之后的丛集被链接在第一新丛集之后,并且转移结束丛集之前的丛集被链接在第二新丛集之前。
[0236]因此,通过本实施例的数据编辑程序PR,抑制了文件的不必要的分割处理和链接处理。此外,本实施例的数据编辑程序PR可以在数据转移处理中将作为编辑对象的位置之前和之后的数据的三个区域的数据装配到两个新丛集中。结果,数据编辑程序PR可以减少数据转移处理执行的编辑之后的文件的破碎次数并且还可以减少对目录条目的更新次数。结果,数据编辑程序PR可以高效地和迅速地执行数据转移处理并且可以在编辑之后迅速地访问文件。此外,数据编辑程序PR可以使预先记录在丛集中的数据的转移最小,并且可以迅速地执行数据转移处理。
[0237]此外,通过本实施例的数据编辑程序PR,当在转移插入丛集中的转移插入位置处及其之后的转移插入后数据的尺寸小于在转移开始丛集中的转移开始位置处及其之后的转移开始后数据的尺寸时,转移转移插入前数据或转移插入后数据的操作将转移插入前数据和转移插入后数据中的转移插入后数据转移到第二新丛集。此外,数据编辑程序PR对管理数据进行编辑,使得转移插入丛集被链接在第一新丛集之前,并且转移插入丛集之后的丛集被链接在第二新丛集之后。
[0238]结果,通过数据编辑程序PR,在转移插入后数据的尺寸小于转移开始后数据的尺寸的情况下(本实施例的样式1-1),第二新丛集可以由两个区域的数据共享。因此,数据转移处理中要使用的新丛集的数目被限制为两个并且转移目标文件的破碎次数被抑制。
[0239]此外,通过本实施例的数据编辑程序PR,当转移插入后数据的尺寸等于或大于转移开始后数据的尺寸时,转移转移插入前数据或转移插入后数据的操作将转移插入前数据和转移插入后数据中的转移插入前数据转移到第一新丛集。数据编辑程序PR对管理数据进行编辑,使得转移插入丛集之前的丛集被链接在第一新丛集之前,并且转移插入丛集被链接在第二新丛集之后。
[0240]结果,通过数据编辑程序PR,当转移插入后数据的尺寸等或大于转移开始后数据的尺寸时(本实施例的样式1-2),第一新丛集可以由两个区域的数据共享。因此,数据转移处理中要使用的新丛集的数目被限制为两个并且转移目标文件的破碎次数被抑制。
[0241 ] 此外,通过本实施例的数据编辑程序PR,进一步编辑管理数据,使得对于转移源文件,转移结束丛集被链接在转移开始丛集之后。结果,数据转移处理中要使用的新丛集的数目被限制为两个并且转移目标文件的破碎次数被抑制。
[0242]此外,在本实施例的数据编辑程序PR中,当转移开始后数据的尺寸和转移结束前数据的尺寸的总和等于或小于丛集的尺寸时,执行将转移开始后数据转移到第一新丛集、将转移结束前数据转移到第二新丛集、将转移插入前数据或转移插入后数据转移到第一新丛集或第二新丛集、以及编辑的操作。结果,数据转移处理中要使用的新丛集的数目被限制为两个并且转移目标文件的破碎次数被抑制。
[0243]在数据编辑程序PR中,转移插入数据包括,当转移开始后数据的尺寸和转移结束前数据的尺寸的总和大于丛集的尺寸时,将转移开始后数据转移到其中未记录转移源文件和转移目标文件的第一新丛集,第一新丛集包括在多个丛集中,并且将转移插入后数据转移到其中未记录转移源文件和转移目标文件的第二新丛集,第二新丛集与第一新丛集不同并且包括在多个丛集中。此外,转移插入数据包括,针对转移目标文件编辑管理数据,使得转移插入丛集链接在第一新丛集之前,转移开始丛集之后的丛集被链接在第一新丛集之后,转移结束丛集被链接在第二新丛集之前,并且转移插入丛集之后的丛集被链接在第二新丛集之后。结果,数据转移处理中要使用的新丛集的数目被限制为两个并且转移目标文件的破碎次数被抑制。
[0244]此外,在本实施例的数据编辑程序PR中,当转移开始后数据的尺寸和转移结束前数据的尺寸的总和大于丛集的尺寸时,针对转移源文件对管理数据进行进一步编辑,使得在转移结束丛集中的转移结束位置处及其之后的数据已被转移的转移开始丛集被链接在转移结束丛集之后的丛集之前。
[0245]因此,通过数据编辑程序PR,当转移开始后数据的尺寸和转移结束前数据的尺寸的总和大于丛集的尺寸时(本实施例中的样式2),一个丛集可以由转移源文件中的两个区域的数据共享。结果,数据转移处理中要使用的新丛集的数目被限制为两个并且转移目标文件的破碎次数被抑制。
[0246]此外,在本实施例的数据编辑程序PR中,对管理数据进行编辑,使得在链接在新丛集之后的第一丛集和链接在新丛集之前的第二丛集中,第一丛集被首先链接到新丛集。因此,数据编辑程序PR在最初时更新新丛集的后链路,并且尽可能晚地更新前链路。通过该方法,即使后链路被链接到分离的文件的丛集,当其中前链路没有从任何位置链接的编辑处理中断时,数据仍可以被处置为未使用的数据并且被安全地删除。此外,数据程序PR可以使转移目标文件改变的定时延迟。换言之,数据编辑程序PR可以尽可能长地将转移目标文件维持在编辑之前的状态。
[0247]在数据编辑处理中,本实施例的数据编辑程序PR在数据编辑处理的对象文件的数据尾部中进一步存储编辑指令信息,该编辑指令信息是被输入的并且包括指示插入处理和移除处理中的任一个的编辑类型、指示插入处理中的插入位置和移除处理中的移除开始点中的任一个的编辑对象位置以及指示插入处理中的插入数据的尺寸或者移除处理中的删除尺寸的编辑对象尺寸。此外,当不能执行数据编辑处理的对象文件的读取时,数据编辑处理基于编辑指令信息,将数据编辑处理的对象文件恢复到数据编辑处理之前或之后的状态。
[0248]结果,即使当文件之间的数据转移处理半途中断时,本实施例的数据编辑程序PR仍可以将对象文件恢复到数据转移处理之前或数据转移处理之后的状态。因此确保了插入目标文件的安全性。
[0249]在本实施例的数据编辑程序PR中,当在数据区域中管理的文件的尺寸小于通过将编辑指令信息的尺寸加到管理数据的编辑之后的文件尺寸而获得的总和尺寸时,在将丛集链接在新丛集之前的管理数据的编辑之前,数据编辑处理将数据区域中管理的文件的尺寸更新成该总和尺寸。
[0250]结果,数据编辑程序PR可以预先地,即在转移目标文件的丛集链改变之前,将文件尺寸更新成实现数据编辑表的读取的尺寸。因此,即使当编辑处理中断并且在转移目标文件的丛集链改变之后出现文件失配时,数据编辑程序PR仍可以基于数据编辑表将转移目标文件恢复到转移之前或之后的状态。
[0251]此外,在本实施例的数据编辑程序PR中,在数据编辑处理之后,数据编辑处理进一步输出编辑结果信息,该编辑结果信息包括在编辑处理之前位置已改变的数据的位置以及位置已改变的数据的尺寸。结果,例如,较高层级的接口可以准确地检测编辑处理结果。
[0252][对目录条目的更新次数]
[0253]图36图示了本实施例和比较示例之间的对目录条目的更新次数、新丛集的数目以及破碎次数的差异。上文针对每个编辑处理说明了本实施例的和比较示例中的对目录条目的更新总数、新丛集的数目以及破碎次数。更具体地,在数据插入处理中,比较示例中的对目录条目的更新总数是7,新使用的丛集的数目是I,并且破碎次数是3。相反,本实施例中的对目录条目的更新总数是2 (当没有生成数据编辑表时两次),新使用的丛集的数目是I,并且破碎次数是2。
[0254]在数据移除处理中,比较示例中的对目录条目的更新总数是7,新使用的丛集的数目是2,并且破碎次数是2。相反,本实施例中的对目录条目的更新总数是I,新使用的丛集的数目是O,并且破碎次数是I。在数据转移处理中,比较示例中的对目录条目的更新总数是12,新使用的丛集的数目是3,并且破碎次数是6。相反,本实施例中的对目录条目的更新总数是5 (当没有生成数据编辑表时4次),新使用的丛集的数目是2,并且破碎次数是5。
[0255]因此,通过本实施例的数据编辑程序PR,减少了对目录条目的更新次数,并且因此提高了编辑处理的速度。此外,通过本实施例的数据编辑程序PR,抑制了新使用的丛集的数目,并且因此即使当空丛集的数目不足时仍可以执行数据编辑处理。此外,通过本实施例的数据编辑程序PR,编辑之后的文件的破碎次数是少的。因此,可以高效地使用文件系统并且提高了对编辑之后的文件的访问速率。
[0256]下文说明基于数据编辑表的编辑对象的恢复处理。
[0257][文件恢复处理的流程图]
[0258]图37是图示文件恢复处理的第一流程图。在该图中,数据编辑程序PR在最初时诊断次级存储设备中的异常数据的存在/不存在(S81)。更具体地,数据编辑程序PR检查次级存储设备中存储的虚拟文件和未引用数据的存在/不存在、文件尺寸失配的存在/不存在以及剩余的数据编辑表的存在/不存在。在检查结果指示存在虚拟文件的情况下(S82中的是),数据编辑程序PR执行与数据转移(TRANSFER)处理对应的文件恢复处理(S83)。下文参照分立的流程图说明该处理。
[0259]随后使用检查结果确定是否存在编辑处理类型为INSERT1N的数据编辑表(S84)。在存在该数据编辑表的情况下(S84中的是),数据编辑程序PR执行与数据插入处理对应的文件恢复处理(S85)。下文参照分立的流程图说明该处理。步骤S85的处理还包括数据转移处理中的转移目标文件的恢复处理。
[0260]随后使用检查结果确定是否存在编辑处理类型为REMOVAL的数据编辑表(S86)。在存在该数据编辑表的情况下(S86中的是),数据编辑程序PR执行与数据移除处理对应的文件恢复处理(S87)。下文参照分立的流程图说明该处理。步骤S87的处理还包括数据转移处理中的转移源文件的恢复处理。在剩余虚拟文件和未引用数据的情况下,数据编辑程序PR删除虚拟文件和未引用数据(S88)。
[0261][流程图:与数据转移处理对应的文件恢复处理]
[0262]图38图示了对应于数据转移处理的文件恢复处理(图37中的S83)。在该图中,数据编辑程序PR在最初时确定附接到虚拟文件的数据编辑表中的编辑处理类型是INSERT1N还是REMOVAL (SI 11)。存在附接到虚拟文件的编辑表的情况对应于图31中所示的数据转移处理的流程图中的步骤S64至S68之后的状态。
[0263]在附接到虚拟文件的数据编辑表中的编辑处理类型是INSERT1N的情况下,数据编辑程序PR确定在其他位置是否存在具有编辑处理类型为INSERT1N的编辑表的文件(S112)。在其他位置不存在该文件的情况下(S112中的否),数据编辑程序PR使插入目标文件的尺寸变为其中数据编辑表已被移除的数据转移之后的尺寸。该情况(S112中的否)对应于图31中所示的步骤S64至S68中的步骤S66之后的状态。同时,在其他位置存在前述文件的情况(S112中的是)对应于图31中的步骤S67和S68之后的状态。在该情况下,由于文件尺寸已在步骤S67中更新,因此文件尺寸更新处理是不必要的。
[0264]数据编辑程序PR随后确定在文件尾部是否存在编辑处理类型为INSERT1N的数据编辑表(S114)。在文件尾部不存在数据编辑表的情况(S114中的否)对应于图31中所示的流程图中的步骤S66和S67之后的状态。在该情况下,数据编辑程序PR执行图31中所示的步骤S68的处理并且将转移目标文件恢复到编辑之后的状态(S115)。更具体地,针对具有编辑处理类型为INSERT1N的数据编辑表的文件(处理转移目标文件),数据编辑程序PR将具有转移开始位置的丛集之后的丛集链接至附接到虚拟文件的首丛集(第一新丛集)。
[0265]同时,在文件尾部存在编辑处理类型为INSERT1N的数据编辑表的情况(SI 14中的是)对应于图31中的步骤S68之后的状态。因此,丛集链的重新链接是不必要的。数据编辑程序PR随后从目录条目中删除虚拟文件的条目(SI 16)。
[0266]在附接到虚拟文件的数据编辑表中的编辑处理类型是REMOVAL的情况下,数据编辑程序PR确定在其他位置是否存在具有编辑处理类型为REMOVAL的编辑表的文件(S117)。在其他位置存在该文件的情况下(S117中的是),意味着可以从检查源文件和虚拟文件两者读取数据编辑表。因此,该情况对应于图31中的步骤S65之后的状态。在该情况下,数据编辑程序PR将转移源文件恢复到编辑之前的状态(SI 18)。更具体地,针对转移源文件,数据编辑程序PR将具有转移开始位置的丛集之后的丛集链接至附接到虚拟文件的第二丛集。结果,转移源文件被恢复到编辑之前的状态。
[0267]同时,在其他位置不存在具有编辑类型为REMOVAL的数据编辑表的文件的情况(S117中的否)对应于图31中所示的流程图中的步骤S64之后的状态。在该情况下,转移源文件处于丛集链的重新链接处理(B53)之前的状态。因此,不执行步骤S118的处理。数据编辑程序PR随后删除虚拟文件的第一丛集并且还从目录条目删除虚拟文件的条目(SI 19)。
[0268][流程图:与数据插入处理对应的文件恢复处理]
[0269]图39图示了对应于数据插入处理的文件恢复处理(图37中的S85)。在该图中,数据编辑程序PR在最初时确定在文件尾部是否存在编辑处理类型为INSERT1N的数据编辑表(S91)。在文件尾部存在数据编辑表的情况下(S91中的是),数据编辑程序PR确定是否存在文件索引的失配(S92)。在存在索引失配的情况下(S92中的是),数据编辑程序PR基于数据编辑表更新索引(S93)。数据编辑程序PR随后将文件尺寸更新成移除数据编辑表之后的尺寸(S94)。
[0270][流程图:与数据移除处理对应的文件恢复处理]
[0271]图40图示了对应于数据移除处理的文件恢复处理(图37中的S87)。在该图中,数据编辑程序PR在最初时确定是否存在文件索引的失配(SlOl)。在存在索引失配的情况下(S101中的是),数据编辑程序PR基于数据编辑表更新索引(S102)。数据编辑程序PR随后将文件尺寸更新成移除数据编辑表之后的尺寸(S103)。
[0272]下文说明了数据编辑表的具体示例。
[0273][数据编辑表的具体示例]
[0274]图41A至图41C图示了数据转移处理中的每个文件的尺寸的具体示例。图41A图示了编辑之前的转移目标文件和转移源文件的配置。图41B图示了虚拟文件的配置。虚拟文件是例如,处于图31中所示的流程图中的步骤S66之后的状态的虚拟文件。此外,图41C图示了编辑之后的转移目标文件和转移源文件的配置。图中的每个文件中的数据的尺寸由数值表示。
[0275]在该示例中,文件系统中的丛集尺寸是4096字节(A),并且数据编辑表的尺寸是20字节(B)。在图41A中,编辑之前的转移目标文件(文件I)由5个丛集构成,并且其尺寸是18000字节(C)。此外,编辑之前的转移源文件(文件2)由6个丛集构成,并且其尺寸是22000字节(H)。转移对象数据的尺寸是6000字节(J)。在图41B中,虚拟文件由5个丛集构成并且其尺寸是18020字节(M)。在图41C中,编辑之后的转移目标文件由8个丛集构成,并且其尺寸是30288字节(G)。此外,编辑之后的转移源文件由5个丛集构成,并且其尺寸是17904字节(L)。
[0276]图42图示了对应于图41A至图41C中所示的具体示例的数据编辑表的示例。该图图示了关于整体文件系统的信息以及关于转移目标文件、转移源文件和虚拟文件的信息的示例。在同一图中,由粗线框围绕的部分是数据编辑表的具体示例。图中的尺寸A至J是图41A至图41C中的尺寸A至J。
[0277]在该示例中,针对转移目标文件生成的数据编辑表中的编辑指令信息的编辑处理类型是INSERT1N,编辑开始位置在第三丛集中的第10200字节处(D),并且指示转移数据的编辑数据尺寸是6000字节(E)。此外,编辑结果信息中的编辑数据偏移在第四丛集中的第14496字节(F)处,并且编辑之后的文件尺寸是30288字节(G)。
[0278]此外,针对转移源文件生成的数据编辑表中的编辑指令信息的编辑处理类型是INSERT1N,编辑开始位置在第三丛集中的第10400字节处(I),并且指示转移数据的编辑数据尺寸是6000字节(J)。此外,编辑结果信息中的编辑数据偏移在第四丛集中的第12304字节(K)处,并且编辑之后的文件尺寸是17904字节(L)。
[0279]图43图示了关于转移目标文件(文件I)、转移源文件(文件2)和虚拟文件的文件状态和恢复指南的具体示例。图43中的表对应于图31中所示的数据转移处理的流程图。在该示例中,文件状态是例如,文件数据状态、所使用的丛集的数目以及文件尺寸。
[0280]在图43中所示的示例中,构成转移目标文件的丛集数目因数据转移处理而从5增加到8。此外,转移目标文件的文件尺寸从18000字节增加到30288字节。数据编辑表是20字节。因此,步骤S67至S70之后的包括数据编辑表的尺寸的文件尺寸是30308字节(=30288+20)。同时,构成转移源文件的丛集数目因数据转移处理而从6减少到5。转移源文件的文件尺寸从22000字节减少到17904字节。
[0281]在本实施例中,说明了如下示例,其中除了对目录条目的访问和减少文件的破碎次数的处理步骤之外,还使用了数据编辑表。然而,例如,本实施例中的数据编辑表可以与比较示例组合使用。
[0282]例如,在图10中的比较示例的数据插入处理中,在将插入数据写入文件2之前(SII),数据编辑程序PR将数据编辑表添加到数据I的尾部。此外,在步骤S12中将文件2链接到文件I之前,数据编辑程序PR将文件I的尺寸放大到可以读取数据编辑表的尺寸。在数据插入处理结束时,将添加到文件I的尾部的数据编辑表删除。
[0283]结果,即使当编辑处理在图10中所示的步骤S12之后中断时,数据编辑程序PR仍可以基于文件2和3的数据以及数据编辑表将文件I恢复到编辑之前的状态或编辑之后的状态。在比较示例中的数据移除处理和数据转移处理中也可以相似地使用该方法。
[0284]因此,通过本实施例的数据编辑程序PR,数据编辑处理在数据编辑处理的对象文件的数据尾部中存储编辑指令信息,该编辑指令信息是被输入的并且包括指示插入处理和移除处理中的任一个的编辑类型、指示插入处理中的插入位置和移除处理中的移除开始点中的任一个的编辑对象位置以及指示插入处理中的插入数据的尺寸或者移除处理中的删除尺寸的编辑对象尺寸。此外,通过数据编辑程序PR,数据编辑处理基于输入的编辑指令信息,针对数据编辑处理的对象文件,执行数据插入、数据移除和数据转移中的任何一个的数据编辑,并且针对管理数据改变数据编辑处理的对象文件的丛集配置,以便对应于数据编辑。此外,通过数据编辑程序PR,当不能执行数据编辑处理的对象文件的读取时,数据编辑处理基于编辑指令信息,将数据编辑处理的对象文件恢复到数据编辑处理之前或之后的状态。
[0285]结果,即使当文件之间的数据转移处理半途中断时,本实施例的数据编辑程序PR仍可以将作为编辑处理的对象的文件恢复到数据编辑处理之前或数据编辑处理之后的状态。因此确保了作为编辑处理的对象的文件的安全性。
[0286]在本实施例的数据编辑程序PR中,当在数据区域中管理的文件的尺寸小于通过将编辑指令信息的尺寸加到管理数据的编辑之后的文件尺寸而获得的总和尺寸时,在将丛集链接在新丛集之前的管理数据的编辑之前,数据编辑处理将数据区域中管理的文件的尺寸更新成该总和尺寸。
[0287]结果,数据编辑程序PR可以预先地,即在编辑对象文件的丛集链改变之前,将文件尺寸更新成可以读取数据编辑表的尺寸。因此,即使当编辑处理中断并且在编辑对象文件的丛集链改变之后出现文件失配时,数据编辑程序PR仍可以基于数据编辑表将编辑对象文件恢复到转移之前或之后的状态。
【权利要求】
1.一种执行记录介质的数据编辑处理的数据编辑装置,所述记录介质包括设置有多个丛集并且其中以丛集为单位记录数据文件的数据区域,以及其中记录管理所述数据文件的管理数据的管理区域,所述数据编辑装置包括: 至少一个处理器,被配置成执行所述数据编辑处理,所述数据编辑处理将转移源文件中的转移开始位置和转移结束位置之间的插入数据转移到转移目标文件中的转移插入位置,转移所述插入数据包括, 将在具有所述转移源文件的所述转移开始位置的转移开始丛集中的所述转移开始位置处及其之后的转移开始后数据转移到其中未记录所述转移源文件和所述转移目标文件的第一新丛集,所述第一新丛集包括在所述多个丛集中; 将在具有所述转移源文件的所述转移结束位置的转移结束丛集中的所述转移结束位置处及其之前的转移结束前数据转移到其中未记录所述转移源文件和所述转移目标文件的第二新丛集,所述第二新丛集不同于所述第一新丛集并且包括在所述多个丛集中; 将在具有所述转移目标文件的所述转移插入位置的转移插入丛集中的所述转移插入位置处及其之前的转移插入前数据、或者在所述转移插入丛集中的所述转移插入位置处及其之后的转移插入后数据转移到所述第一新丛集或所述第二新丛集;以及 针对所述转移目标文件编辑所述管理数据,使得所述转移开始丛集之后的丛集被链接在所述第一新丛集之后,并且所述转移结束丛集之前的丛集被链接在所述第二新丛集之N /.刖。
2.根据权利要求1所述的数据编辑装置,其中 当所述转移插入后数据的尺寸小于所述转移开始后数据的尺寸时, 所述的转移所述转移插入前数据或所述转移插入后数据的操作,将所述转移插入前数据和所述转移插入后数据中的所述转移插入后数据转移到所述第二新丛集,以及 所述的编辑的操作,对所述管理数据进行编辑,使得所述转移插入丛集被链接在所述第一新丛集之前,并且所述转移插入丛集之后的丛集被链接在所述第二新丛集之后。
3.根据权利要求1所述的数据编辑装置,其中 当所述转移插入后数据的尺寸等于或大于所述转移开始后数据的尺寸时, 所述的转移所述转移插入前数据或所述转移插入后数据的操作,将所述转移插入前数据和所述转移插入后数据中的所述转移插入前数据转移到所述第一新丛集,以及 所述的编辑的操作,对所述管理数据进行编辑,使得所述转移插入丛集之前的丛集被链接在所述第一新丛集之前,并且所述转移插入丛集被链接在所述第二新丛集之后。
4.根据权利要求1所述的数据编辑装置,其中 所述的编辑的操作,对所述管理数据进行编辑,使得对于所述转移源文件,所述转移结束丛集被链接在所述转移开始丛集之后。
5.根据权利要求1所述的数据编辑装置,其中 当所述转移开始后数据的尺寸和所述转移结束前数据的尺寸的总和等于或小于丛集的尺寸时, 执行所述的将所述转移开始后数据转移到所述第一新丛集、将转移结束前数据转移到所述第二新丛集、将所述转移插入前数据或转移插入后数据转移到所述第一新丛集或所述第二新丛集、以及编辑的操作。
6.一种执行记录介质的数据编辑处理的数据编辑装置,所述记录介质包括设置有多个丛集并且其中以丛集为单位记录数据文件的数据区域,以及其中记录管理所述数据文件的管理数据的管理区域,所述数据编辑装置包括: 至少一个处理器,被配置成执行所述数据编辑处理,所述数据编辑处理将转移源文件中的转移开始位置和转移结束位置之间的插入数据转移到转移目标文件中的转移插入位置,转移所述插入数据包括, 当在具有所述转移源文件的所述转移开始位置的转移开始丛集中的所述转移开始位置处及其之后的转移开始后数据的尺寸、和在具有所述转移源文件的所述转移结束位置的转移结束丛集中的所述转移结束位置处及其之前的转移结束前数据的尺寸的总和大于丛集的尺寸时, 将所述转移开始后数据转移到其中未记录所述转移源文件和所述转移目标文件的第一新丛集,所述第一新丛集包括在所述多个丛集中; 将在具有所述转移目标文件的所述转移插入位置的转移插入丛集中的所述转移插入位置处及其之后的转移插入后数据转移到其中未记录所述转移源文件和所述转移目标文件的第二新丛集,所述第二新丛集与所述第一新丛集不同并且包括在所述多个丛集中,以及 针对所述转移目标文件编辑所述管理数据,使得所述转移插入丛集链接在所述第一新丛集之前,所述转移开始丛集之后的丛集被链接在所述第一新丛集之后,所述转移结束丛集被链接在所述第二新丛集之前,并且所述转移插入丛集之后的丛集被链接在所述第二新丛集之后。
7.根据权利要求6所述的数据编辑装置,其中 当所述转移开始后数据的尺寸和所述转移结束前数据的尺寸的总和大于丛集的尺寸时, 所述的编辑的操作,针对所述转移源文件对所述管理数据进行编辑,使得在所述转移结束丛集中的所述转移结束位置处及其之后的数据已被转移的所述转移开始丛集被链接在所述转移结束丛集之后的丛集之前。
8.一种执行记录介质的数据编辑处理的数据编辑装置,所述记录介质包括设置有多个丛集并且其中以丛集为单位记录数据文件的数据区域,以及其中记录管理所述数据文件的管理数据的管理区域,所述数据编辑装置包括: 至少一个处理器,被配置成执行所述数据编辑处理,所述数据编辑处理将插入数据插入到插入目标文件中的插入位置,插入所述插入数据包括, 将在具有所述插入目标文件的所述插入位置的插入丛集中的所述插入位置处及其之后的数据以及所述插入数据转移到一个第三新丛集或多个第三新丛集,在所述第三新丛集中没有记录所述插入目标文件,所述第三新丛集包括在所述多个丛集中;以及 编辑所述管理数据,使得所述插入丛集之前的丛集被链接在所述第三新丛集的首丛集之前,并且所述插入丛集之后的丛集被链接在所述第三新丛集的尾丛集之后。
9.根据权利要求1所述的数据编辑装置,其中 所述的编辑的操作,对所述管理数据进行编辑,使得在链接在新丛集之后的第一丛集和链接在新丛集之前的第二丛集中,所述第一丛集被首先链接到新丛集。
10.一种执行记录介质的数据编辑处理的数据编辑装置,所述记录介质包括设置有多个丛集并且其中以丛集为单位记录数据文件的数据区域,以及其中记录管理所述数据文件的管理数据的管理区域,所述数据编辑装置包括: 至少一个处理器,被配置成执行所述数据编辑处理,所述数据编辑处理将移除源文件中的移除开始位置和移除结束位置之间的数据移除,移除所述数据包括, 删除在具有所述移除源文件的所述移除开始位置的移除开始丛集中的所述移除开始位置处及其之后的数据以及在具有所述移除结束位置的移除结束丛集中的所述移除结束位置处及其之前的数据;以及 编辑所述管理数据,使得所述移除结束丛集被链接在所述移除开始丛集之后。
11.根据权利要求10所述的数据编辑装置,移除所述数据进一步包括, 在所述数据编辑处理的对象文件的数据尾部中存储编辑指令信息,所述编辑指令信息是被输入的并且包括指示插入处理和移除处理中的任一个的编辑类型、指示插入处理中的插入位置和移除处理中的移除开始点中的任一个的编辑对象位置以及指示插入处理中的插入数据的尺寸或者移除处理中的删除尺寸的编辑对象尺寸;以及 当不能执行所述数据编辑处理的对象文件的读取时,基于所述编辑指令信息,将所述数据编辑处理的对象文件恢复到所述数据编辑处理之前或之后的状态。
12.根据权利要求1所述的数据编辑装置,所述的转移所述插入数据的操作进一步包括, 在所述数据编辑处理的对象文件的数据尾部中存储编辑指令信息,所述编辑指令信息是被输入的并且包括指示插入处理和移除处理中的任一个的编辑类型、指示插入处理中的插入位置和移除处理中的移除开始点中的任一个的编辑对象位置以及指示插入处理中的插入数据的尺寸或者移除处理中的删除尺寸的编辑对象尺寸;以及 当不能执行所述数据编辑处理的对象文件的读取时,基于所述编辑指令信息,将所述数据编辑处理的对象文件恢复到所述数据编辑处理之前或之后的状态。
13.根据权利要求12所述的数据编辑装置,所述的转移所述插入数据的操作进一步包括, 当在所述数据区域中管理的文件的尺寸小于通过将所述编辑指令信息的尺寸加到所述管理数据的编辑之后的文件尺寸而获得的总和尺寸时,在将丛集链接在新丛集之前的所述管理数据的编辑之前,将所述数据区域中管理的文件的尺寸更新成所述总和尺寸。
14.根据权利要求1所述的数据编辑装置,所述的转移所述插入数据的操作进一步包括, 在所述数据编辑处理之后输出编辑结果信息,所述编辑结果信息包括在编辑处理之前位置已改变的数据的位置以及位置已改变的数据的尺寸。
15.一种执行记录介质的数据编辑处理的数据编辑装置,所述记录介质包括以具有固定长度的丛集为单位记录数据文件的数据区域,以及其中记录管理所述数据文件的管理数据的管理区域,所述数据编辑装置包括: 至少一个处理器,被配置成执行所述数据编辑处理,所述数据编辑处理包括, 在所述数据编辑处理的对象文件的数据尾部中存储编辑指令信息,所述编辑指令信息是被输入的并且包括指示插入处理和移除处理中的任一个的编辑类型、指示插入处理中的插入位置和移除处理中的移除开始点中的任一个的编辑对象位置以及指示插入处理中的插入数据的尺寸或者移除处理中的删除尺寸的编辑对象尺寸; 基于输入的编辑指令信息,针对所述数据编辑处理的对象文件,执行数据插入、数据移除和数据转移中的任何一个的数据编辑; 针对所述管理数据,改变所述数据编辑处理的对象文件的丛集配置,以便对应于所述数据编辑;以及 当不能执行所述数据编辑处理的对象文件的读取时,基于所述编辑指令信息,将所述数据编辑处理的对象文件恢复到所述数据编辑处理之前或之后的状态。
16.根据权利要求15所述的数据编辑装置,所述数据编辑处理进一步包括, 当在所述数据区域中管理的文件的尺寸小于通过将所述编辑指令信息的尺寸加到所述管理数据的编辑之后的文件尺寸而获得的总和尺寸时,在所述管理数据的编辑之前,将所述数据区域中管理的文件的尺寸更新成所述总和尺寸。
【文档编号】G06F17/30GK104182451SQ201410218558
【公开日】2014年12月3日 申请日期:2014年5月22日 优先权日:2013年5月22日
【发明者】阿部直树 申请人:富士通半导体股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1