文件系统和文件信息处理方法转让专利

申请号 : CN200610064299.2

文献号 : CN1991833B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 引田纯

申请人 : 索尼株式会社

摘要 :

本发明公开了一种在操作系统中被组织的文件系统,其依照来自应用的文件访问请求,管理将要记录在记录设备中的文件,该文件系统包括:第一记录部分,用于在记录设备中记录包括管理信息部分和数据部分的文件;以及第二记录部分,用于当第一记录部分记录包括管理信息部分和数据部分的文件时,根据需要添加扩展的管理信息部分,该扩展的管理信息部分记录除了关于数据部分的管理信息部分以外的信息。

权利要求 :

1.一种在操作系统中被组织的文件系统,其依照来自应用的文件访问请求,管理将要记录在记录设备中的文件,该文件系统包括:第一记录部分,用于在记录设备中记录包括管理信息部分和数据部分的文件;以及第二记录部分,当第一记录部分记录包括管理信息部分和数据部分的文件时,该第二记录部分根据需要添加扩展的管理信息部分,该扩展的管理信息部分记录数据部分更新时的历史信息。

2.如权利要求1所述的文件系统,其中记录在扩展的管理信息部分中的历史信息仅能被文件系统引用。

3.一种文件信息处理方法,用于依据来自应用的文件访问请求来管理文件,该文件将由操作系统中被组织的文件系统记录在记录设备中,该文件信息处理方法包括:第一步骤,用于在创建新文件之后的预定时间段过去时,接着创建文件中数据的拷贝数据并一起创建关于文件的管理信息,并且在文件的扩展属性部分中记录关于拷贝数据的管理信息作为历史信息;

第二步骤,用于在该文件要被覆盖时,接着更新新文件中的数据和关于该新文件扩展属性的历史信息,同时留下关于文件当前扩展属性的历史信息;

第三步骤,用于创建新文件中数据的拷贝数据并一起创建关于新文件的管理信息,并且记录关于拷贝数据的历史信息作为新文件的扩展属性;

第四步骤,用于通过关于文件的扩展信息和新文件的扩展属性,引用更新的历史信息;以及第五步骤,用于使得能够从更新的历史信息中恢复或复制以往的文件数据,以及当所述数据被恢复时,将已恢复的数据作为最新文件数据来处理。

说明书 :

技术领域

本发明涉及文件系统和文件信息处理方法,其用于依照例如来自应用的文件访问请求,管理将要被记录在记录设备上的文件。

背景技术

由日本专利公开No.Hei 5-233448所提出的合并高速缓存(cache)的磁盘文件系统,为了使磁盘存储设备紧凑并且提高重写性能,提供了具有临时存储器的磁盘文件。当要记录数据时,该文件系统将数据记录到高速缓存和临时存储器两者中。当将要重写该磁盘文件时,该文件系统使用高速缓存中的数据。只有在发生停电或其他紧急情况时,该文件系统才会使用临时存储器中的数据。

发明内容

然而,当文件通过使用过去公开的文件系统更新时,数据部分以及诸如更新时间信息之类的信息,被新的数据所覆盖。因此,当要管理数据更新历史时,可以创建并管理应用等;然而,没有现存的文件系统能够在文件系统级进行历史管理。
在数据更新历史由应用来管理的情况下,它可能容易从外部伪造。
本发明已鉴于上述环境而做出,并且提供了一种文件系统和文件信息处理方法,其能够在文件系统级执行历史管理,而不遭受外部伪造。
根据本发明的实施例,提供了一种文件系统,其包括:第一记录部分,用于在记录设备中记录包括管理信息部分和数据部分的文件;以及第二记录部分,用于当第一记录部分记录了包括管理信息部分和数据部分的文件时,根据需要添加扩展的管理信息部分,该扩展的管理信息部分记录除了关于数据部分的管理信息部分以外的信息。
因此,第一记录部分在记录设备中记录了包括管理信息部分和数据部分的文件。当第一记录部分记录包括管理信息部分和数据部分的文件时,第二记录部分根据需要添加扩展的管理信息部分,该扩展的管理信息部分记录除了关于数据部分的管理信息部分以外的信息。
根据本发明的实施例,提供了一种文件信息处理方法,其包括:第一步骤,用于在创建新文件之后的预定时间段过去时,接着创建文件中数据的拷贝数据并一起创建关于文件的管理信息,并且在文件的扩展属性部分中记录关于拷贝数据的管理信息作为历史信息;第二步骤,用于在该文件要被覆盖时,接着更新新文件中的数据和关于该新文件扩展属性的历史信息,同时留下关于文件当前扩展属性的历史信息;第三步骤,用于创建新文件中数据的拷贝数据并一起创建关于新文件的管理信息,并且记录关于拷贝数据的历史信息作为新文件的扩展属性;第四步骤,用于通过关于文件的扩展信息和新文件的扩展属性,引用更新的历史信息;以及第五步骤,用于使得能够从更新的历史信息中恢复或复制以往的文件数据,以及当所述数据被恢复时,将已恢复的数据作为最新文件数据来处理。
因此,当在创建新文件后的预定时间段过去时,所述第一步骤接着创建文件中数据的拷贝数据并一起创建关于该文件的管理信息,并且在文件的扩展属性部分中记录关于拷贝数据的管理信息作为历史信息。当文件要被覆盖时,所述第二步骤接着更新该新文件中的数据和关于该新文件的扩展属性的历史信息,同时留下关于文件当前扩展属性的历史信息。所述第三步骤接着创建新文件中数据的拷贝数据并一起创建关于新文件的管理信息,并记录关于拷贝数据的历史信息作为新文件的扩展属性。所述第四步骤接着通过关于文件的扩展信息和新文件的扩展属性,引用已更新的历史信息。所述第五步骤使得从已更新的历史信息恢复或复制以往的文件数据成为可能。当数据被恢复时,已恢复的数据变为最新的文件数据。
因此,本发明的实施例,不像以往所公开的文件系统那样,不会在每个文件更新时将信息覆盖。另外,本发明的实施例在文件系统级管理文件更新历史和数据历史,并且不允许应用来管理文件更新历史。因此,只有文件系统能够识别文件更新历史和数据历史。结果,数据将不会被伪造。另外,用户能够通过文件系统引用所需的数据。
由于本发明能够在文件系统级管理文件更新历史和数据历史,从而历史管理能够在不允许外部伪造的文件系统级进行。

附图说明

图1示出了存储设备的典型配置;
图2是图示软件配置的框图;
图3是图示文件创建处理的流程图;
图4是图示由文件系统执行的自动历史管理处理的流程图;
图5是图示文件历史管理的图;
图6是图示用于显示文件更新历史的处理的流程图;以及
图7是图示恢复或复制以往历史文件的处理的流程图。

具体实施方式

这里将参照附图,描述本发明的实施例。
图1示出了存储设备的典型配置。
如图1所示,存储设备11包括提供控制的CPU(中央处理器)12;存储控制数据和控制程序的存储器13;输入/输出通道14,其通过SCSI(小计算机系统接口)或其它接口,处理来自于主机计算机(未示出)的数据写入请求或来自于主机计算机的数据读出请求;磁盘驱动器15,其以文件形式存储数据;以及内部总线16,其将CPU 12、存储器13、和输入/输出通道14互连。
如上所述配置的存储设备11将如下述操作。
CPU 12读取存储在存储器13中的控制程序并启动读取控制程序。已启动的控制程序使CPU 12读取存储在存储器13中的控制数据,并等待来自主机计算机的请求。
当主机计算机(未示出)发出数据写入请求时,CPU 12将数据写入处理命令和写入数据提供给输入/输出通道14。当从CPU 12提供数据写入处理命令和写入数据时,输入/输出通道14与磁盘驱动器15相关对写入数据执行数据写入处理。这使得磁盘驱动器15以文件的形式存储该写入数据。当输入/输出通道14开始与磁盘驱动器15相关对写入数据执行数据写入处理时,CPU 12通知主机计算机:数据写入终止。通过这种方式,实现了高速的数据写入。
在另一方面,当发出将数据读入主机计算机中的请求时,CPU 12向输入/输出通道14提供数据读取处理命令。当从CPU 12提供数据读取处理命令时,输入/输出通道14与磁盘驱动器15相关对所读取数据执行数据读取处理。
接着,磁盘驱动器15读取以文件形式存储的读出数据。输入/输出通道14将从磁盘驱动器15读取的该读出数据提供给CPU 12。CPU 12将由输入/输出通道14提供的读出数据提供给主机计算机。当输入/输出通道14与磁盘驱动器15相关对读出数据执行数据读取处理时,CPU 12通知主机计算机数据读取终止。通过这种方式,实现了高速数据读取。
虽然假定使用磁盘驱动器15中的盘来作为存储设备11的记录介质,但是光盘、磁带、半导体存储器等的使用也是可接受的,只要其能够以文件的形式来存储数据。
图2为显示软件配置的框图。
图2显示了由控制程序实现的软件的分层结构,其中控制程序由如图1所示的存储设备11启动。
如图2所示,通常,当文件25将要被写到普通计算机存储设备11中的低层磁盘驱动器15上时,其中普通计算机存储设备11包括如图1所示的各元件,在操作系统(OS)中作为中间件的文件系统22,管理将要被记录在磁盘驱动器15上的文件25。
例如,当发出对用于数据写入的文件访问24的请求时,作为中间件的文件系统(文件系统的驱动器)23依照来自上层应用21的文件访问请求,将文件25记录到低层磁盘驱动器15上,其中文件25包括管理信息部分27和数据部分26。
当发出对用于数据读取的文件访问24的请求时,作为中间件的文件系统(文件系统的驱动器)23依照来自上层应用21的文件访问请求,读取来自文件25的数据,其中文件25包括管理信息部分27和数据部分26,并且其被存储在低层磁盘驱动器15上。
在上述例子中,在需要时将扩展的管理信息部分28添加到文件25。通常,记录在管理信息部分27中的管理信息元素为:文件所有者、组、许可信息、时间信息(ctime(管理信息更新时间)、mtime(数据部分更新时间)、和atime(访问时间))、文件大小、块大小、数据部分指针信息等等。数据部分26记录文件25的数据部分。尽管根据使用的文件系统23,还存在着一些差别,但是扩展的管理信息部分28能够记录管理信息部分27没有管理的信息。
现在描述如图2所示配置的软件所执行的操作。
图3是图示文件创建处理的流程图。
首先,如图3所示,应用21调用系统调用用于文件的创建(步骤S1)。更具体地,应用21向操作系统(OS)22提供文件创建系统调用。
接着,操作系统(OS)22中断系统调用,并向文件系统23发送信息(步骤S2)。更具体地,操作系统(OS)22识别出从应用21提供的该系统调用是用于文件创建,并向文件系统23提供用于文件创建的处理信息。
文件系统23接着在磁盘驱动器15上确定一物理区域用于记录请求的文件25(步骤S3)。更具体地,文件系统23分配对应于所请求文件25的记录大小的物理区域,并且通过磁盘驱动器15的磁道和扇区来标识。
管理信息部分27和数据部分26接着被记录到该确定的物理区域中。在这种情况下,记录除了管理信息所需要的数据以外的信息(步骤S4)。更具体地,文件系统(文件系统的驱动器)22将文件25记录到磁盘驱动15上,其中该文件25包括管理信息部分27和数据部分26。在这种情况下,在需要时将扩展的管理信息部分28添加到文件25中,并且扩展的管理信息部分28记录除了由管理信息部分27所管理的信息以外的信息。
如上所述,文件系统23依照由应用21调用的系统调用,通过操作系统(OS)22在磁盘驱动器15中创建文件25。如图3中处理流程所示,文件系统23创建并记录文件25的管理信息部分27和数据部分26,其中依照来自应用21的请求,文件25将被写到磁盘驱动器15上。
在上述例子中,在需要时将扩展的管理信息部分28添加到文件25。如果访问相同的文件25,将会通过覆盖现存文件25中必要的信息来对文件25更新。
现在描述在扩展的管理信息部分28中存储历史信息的情形,其中扩展的管理信息部分28用于为文件25的数据部分26执行自动历史存储功能。
图4是图示由文件系统执行的自动历史管理处理的流程图。
首先,如图4所示,文件系统23在预定的时间间隔检查是否创建/更新个别的文件数据(步骤S11)。更具体地,文件系统23在预定的循环时间间隔检测是否磁盘驱动器15上的文件25中的数据被创建或更新。
接着,文件系统23对数据被创建或更新检查文件25(步骤S12)。更具体地,文件系统23对管理信息部分27被新创建或更新检查文件25。
如果在步骤S12所获得的判断结果表示文件25中的数据被创建或更新,则文件系统23制作创建或更新数据的文件25的数据部分26的拷贝(步骤S13)。更具体地,为了以一种可识别的方式记录被创建或更新的数据的变化,每次数据被创建或更新时,文件系统23制作其中数据被创建或更新的数据部分26的拷贝。
接着,文件系统23将关于被拷贝的数据部分26的物理信息及其管理信息存储到扩展的管理信息部分28中(步骤S14)。更具体地,文件系统23将物理信息和管理信息作为历史信息存储到扩展的管理信息部分28中。所存储的物理信息包括被复制的数据部分26的记录容量,以及分配给磁盘驱动器15的磁道和扇区识别的物理区域。所存储的管理信息包括在拷贝时流行(prevailing)的文件的所有者、组、许可信息、时间信息(ctime(管理信息更新时间)、mtime(数据部分更新时间)、以及atime(访问时间))、文件大小、块大小、以及数据部分指针信息。
当完成步骤S14或在步骤S12所获得的判断结果表示在任何文件25中没有数据被创建或更新时,处理返回到步骤S11。步骤S11到S14然后被重复来处理或判断。
如参照图4中的流程图所述,在预定的时间间隔进行检查来判断是否有个别的文件数据被创建或更新。如果任何文件中的数据被创建或更新,则数据部分26被复制,并且关于数据部分26的历史信息被自动地存储到扩展的管理信息部分28中。
上述数据部分历史存储方法,在磁盘驱动器15或如存储器、磁带或光盘的记录介质上,存储数据部分的拷贝,并且在每次数据被创建或更新时,在文件的扩展的管理信息部分28中,存储关于所复制的数据部分的物理位置信息和关于其管理信息的历史信息。
图5是图示文件历史管理的图。
如图5所示,作为数据部分26的拷贝,数据部分(1)51-1、数据部分(2)51-2、...和数据部分(n)51-n,在每次数据创建或更新时被创建。此外,关于数据部分(1)51-1的历史信息(1)53-1、关于数据部分(2)51-2的历史信息(2)53-2、...关于数据部分(n)51-n的历史信息(n)53-n,被自动地存储到扩展的管理信息部分28中。
与数据部分(n)51-n一样的数据51,现在作为当前数据被记录到数据部分26中。关于与数据部分(n)51-n一样的数据51的当前管理信息52,被记录到管理信息部分27中。
当以如上所述的方式将所更新的历史信息反复地存储以更新文件25n次时,结果所得的存储状态如图5中所示的那样。因此,关于被更新数据的历史信息和关于数据本身的历史能够都被存储。在文件被创建/更新后立即进行常规更新检查时,整个历史记录也能够被存储。
同时,当管理者调整设置以限制更新数n以及自动擦除n+1次更新的历史时,可以为存储有限次更新(n次更新)的历史建立方案。也可以存储一年、三年、或其它以时间为基础的更新历史,而不考虑更新数。
图6是图示用于显示文件更新历史的处理的流程图。
如图6所示,文件系统23首先引用文件的更新历史(步骤S21)。更具体地,文件系统23开始了一个处理,该处理依照来自应用21的请求查询文件的更新历史。
接着,文件系统23依照给定的文件名引用目标文件的扩展的管理信息部分28(步骤S22)。更具体地,文件系统23引用匹配来自应用21的请求的文件25的扩展的管理信息部分28。扩展的管理信息部分28只能够被文件系统23识别和引用。
接着,文件系统23输出文件的更新历史和各种时间信息(步骤S23)。更具体地,文件系统23使显示部分(没有示出)显示:作为用于与各种时间信息一起引用的目标的文件的更新历史。
当用户想引用文件的更新历史时,用户能够使应用21做出用于执行引用文件更新历史的处理的请求,并且通过文件系统23引用显示在显示部分的更新历史。
如图6中的流程图所示,当要对上述的文件更新历史引用时,文件系统23能够依据给定的文件名引用目标文件的扩展的管理信息部分28,并且显示该更新历史并保留各种信息项(时间信息、文件大小等)。
图7是图示恢复或复制以往的历史文件的处理的流程图。
如图7所示,文件系统23首先开始执行用于恢复或复制以往历史的数据部分的处理(步骤S31)。更具体地,文件系统23依据给定的文件名,引用作为恢复或复制处理的目标的文件的扩展的管理信息部分28。
接着,文件系统23恢复或复制具有给定目标历史编号的数据(步骤S32)。更具体地,作为具有给定的目标历史编号的数据部分,文件系统23恢复或复制,例如,如图5中所示的历史信息(1)53-1的数据部分(1)51-1、历史信息(2)53-2的数据部分(2)51-2...以及历史信息(n)53-n的数据部分(n)51-n。
当数据被恢复时,数据部分被覆盖为最新的数据。因此,其被作为最新的数据部分来管理并且被作为当前信息来使用。更具体地,文件系统23覆盖,例如,与数据部分(n)51-n相同的数据51作为当前最新的数据,并且在管理信息部分27中记录关于数据51的当前管理信息52,其中该数据51与数据部分(n)51-n相同。
在图7的流程图中示出了用于从上述文件更新历史中恢复或复制特定历史数据而执行的处理。为了恢复或复制特定以往历史的数据部分26,指定相应于数据部分的扩展的管理信息部分28的历史编号等。当目标历史的数据部分26,在复制处理的情况下被覆盖为给定的新文件,或者在恢复处理的情况下被覆盖为同一文件的最新数据部分26时,恢复的数据部分26成为最新历史的数据部分26。
如上所述的当前实施例,可以在文件系统级存储数据的更新历史。那么,在不开发高层应用的情况下,以下的应用是可能的。
例如,在记录用于CAD(计算机辅助设计)等领域的数据的服务器中,更新数据的历史被自动地存储,而不必有意地获取备份等。此外,以往的数据能够容易地被恢复/复制。
而且,在需要避免数据伪造的情况下,自动存储文件更新时,有可能构建无法伪造的文件系统。
此外,当以往历史数据被存储到分开的磁盘或其它分开的记录介质上时,有可能构建一个系统,该系统能够不必在需要时获取复杂的备份或整个数据的备份来操作。
如上所述的当前实施例,能够更新文件而不允许覆盖其信息,避免通过可能允许文件更新历史被伪造的应用执行管理,在不允许伪造的文件系统级管理文件更新历史和数据历史,并且使用户在需要时通过文件系统读取以往历史文件。
尽管本发明优选实施例已使用特定术语进行了描述,但是这样的描述只是出于解释的目的,并且要理解,在不脱离权利要求的精神或范围的情况下,可以进行修改或变化。
相关申请的交叉引用
本发明包含与于2005年11月7日向日本专利局提交的日本专利申请JP2005-322601相关的主题,在此通过引用并入其全部内容。