管理访问历史、存储单元和信息处理装置的方法、装置和程序的制作方法

文档序号:6562287阅读:118来源:国知局
专利名称:管理访问历史、存储单元和信息处理装置的方法、装置和程序的制作方法
技术领域
本发明涉及一种方法、装置和程序,其用于管理对历史、存储单元和信息处理装置的访问,以获取对目标存储单元的读访问历史。
背景技术
近年,对法庭(forensic)技术的要求随着信息处理装置的发展而增长。法庭声明了一系列科学的搜索方法和技术,所述方法和技术对事件响应和法律纠纷/诉讼实现了证据保存和对电磁记录的研究/分析,并且实现了分析/数据搜集等,例如电磁记录的篡改和破坏。这里,事件响应声明了对计算机和网络等上的资源和环境的未授权使用、服务妨碍、数据破坏、未预期的信息公开等的响应以及实现它们的动作(事件)等。根据所述法庭技术,计算机安全可以通过所尝试的数字证据的保护而保持正常。
作为所述法庭技术之一,在网络世界中提出了一种能够防止信息泄漏或准确知道所泄漏数据的内容的装置。然而,当试图引入类似的方法时,在例如磁盘驱动的存储单元中存在各种问题并且难以达到。
此外,提出了一种将所有写数据存储在存储单元中并检索任意历史数据的装置。然而,由于读过程的出现次数远多于写过程,因此难以检索读过程的访问历史。
例如,图1示出了能够收集/检索读/写访问历史的访问历史管理装置900。访问历史管理装置900能够收集或检索对目标存储单元951的读访问和写访问的历史,其中用户可以通过访问部件911和访问监视部件922读/写访问所述目标存储单元。写访问的历史由写访问历史管理部件913存储在写访问历史存储单元901中。读访问的历史由读访问历史管理部件914存储在读访问历史存储单元902中。这里,访问历史包括所需操作指令或操作响应、包括请求或响应时间等的命令以及包括写数据或读数据的有效负荷。在图1所示的现有技术中,监控对存储单元的读访问或写访问,并且无修改地将其存储为读访问或写访问的历史。
另一方面,存在连续的数据保护技术,如通过收集存储单元历史的改变来应用于备份的技术。作为这个技术的例子,在日本专利公开公报(Kokai)2005-18738中公开了这样一种存储系统其为用户实现了数据存储服务以执行应用。日本专利公开公报(Kokai)2005-18738中所公开的系统执行快照(snap shot)操作和记日志(journaling),并且执行附加数据处理以恢复丢失的数据。快照和日志条目与用户的产品数据量被分离地存储。较旧的日志条目被检索以制作新的日志条目。这个检索通过将一个或较旧的日志条目应用于相应的快照并更新该快照而被实现。通过访问预定的快照、将日志条目应用于该快照并重新产生期望的数据状态,来恢复随后的丢失的数据。
然而,没有提出相应于法庭技术以存储过去的读访问和写访问以及过去某一时刻的存储单元的映射等的信息的可行技术。
例如,在图1所示的技术中,必须将每个命令和有效负荷全都存储为读访问历史和写访问历史。然而,由于读访问对通用存储单元的使用远大于写访问,因此读访问历史过度地增加。因此,由于需要用于收集读访问历史的大量存储容量,因此收集读访问历史是困难的或从成本性能角度来看是不现实的。
这样,现有技术中需要读访问历史收集的大量存储容量。因此,存在这样的事实存储读访问历史从成本性能角度来看是不现实的,并且不易采用。

发明内容
因此,本发明的目的是提供一种方法、装置和程序,其用于管理访问历史、存储单元和信息处理装置,以通过使用较少存储容量存储读访问历史并且获取读访问的历史。
为解决上面提到的问题,本发明的第一特征涉及一种用于管理访问历史以获取对目标存储单元的读访问历史的方法。根据本发明第一特征的访问历史管理方法包括以下步骤当发生对目标存储单元的写访问时,将包括写访问的写时刻和写地址的写命令和写有效负荷存储在写访问历史存储单元中;以及当发生对目标存储单元的读访问时,将包括读访问的读时刻和读地址的读命令存储在读访问历史存储单元中。
本发明的第二特征涉及一种用于管理访问历史以获取对目标存储单元的读访问历史的装置。根据本发明第二特征的用于管理访问历史的装置包括目标存储单元;写访问历史的添加(appending)部件,其被配置用来当发生对目标存储单元的写访问时,将包括写访问的写时刻和写地址的写命令以及写有效负荷存储在写访问历史存储单元中;以及读访问历史的添加部件,其被配置用来当发生对目标存储单元的读访问时,将包括读访问的读时刻和读地址的读命令存储在读访问历史存储单元中。
本发明的第三特征涉及一种用于管理访问历史以获取对目标存储单元的读访问历史的程序。根据本发明第三特征的用于管理访问历史的计算机可执行程序包括当发生对目标存储单元的写访问时,将包括写访问的写时刻和写地址的写命令以及写有效负荷存储在写访问历史存储单元中;当发生对目标存储单元的读访问时,将包括读访问的读时刻和读地址的读命令存储在读访问历史存储单元中。
本发明的第四特征涉及一种用来获取访问历史的存储单元。根据本发明第四特征的存储单元包括控制程序存储单元,其被配置用来存储可实现为固件的控制程序,所述控制程序包括当发生对所述存储单元的写访问时,将包括写访问的写时刻和写地址的写命令以及写有效负荷存储在写访问历史存储单元中;并且当发生对所述存储单元的读访问时,将包括读访问的读时刻和读地址的读命令存储在读访问历史存储单元中。
本发明的第五特征是一种用于管理目标存储单元的文件信息的信息处理装置,所述信息处理装置包括用来获取读访问历史的文件系统部件。根据本发明第五特征的信息处理装置包括写访问历史的添加部件,其被配置用来当发生对目标存储单元的更新访问时,将包括更新访问的更新时刻和更新地址的更新命令以及更新有效负荷存储在写访问历史存储单元中;读访问历史的添加部件,其被配置用来当发生对目标存储单元的读访问时,将包括读访问的读时刻和读地址的读命令存储在读访问历史存储单元中;以及读访问重配置部件,其被配置用来当发生读访问获得请求时,从所述读访问历史存储单元中提取关于请求时刻的读命令,从写访问历史的添加部件中在所述请求时刻之前提取关于写时刻的写有效负荷以及包含于所提取读命令中的读地址,并且然后从所提取读命令和所提取写有效负荷中产生读访问信息。


图1是说明传统访问历史管理装置的功能框图;图2是用于说明根据本发明实施例的访问历史方法的过程的流程图;图3说明了根据本发明实施例的访问历史管理方法;图4是说明根据本发明第一实施例的访问历史管理装置的功能框图;图5是根据本发明第一实施例的写访问历史存储单元的数据结构和数据的例子;图6是根据本发明第一实施例的读访问历史存储单元的数据结构和数据的例子;图7示出了根据本发明第一实施例的读访问重配置部件;图8是用于说明对读访问的重配置过程的流程图,其中所述重配置过程是由根据本发明第一实施例的读访问重配置部件来执行的;图9是说明根据本发明第二实施例的存储单元的功能框图;
图10是用于说明由根据本发明第二实施例的具有内部历史收集功能的存储单元提供部件210所执行的访问过程的流程图;图11是说明根据本发明第三实施例的访问历史管理装置的功能框图;图12是用于说明根据本发明第三实施例的对写访问的获取处理的流程图;图13是用于说明根据本发明第三实施例的对块位置的恢复处理的流程图;图14是用于说明根据本发明第三实施例的读访问过程的流程图;图15是说明根据本发明第四实施例的信息处理装置的功能框图;图16是说明根据本发明第五实施例的存储单元的功能框图;图17是说明根据本发明第六实施例的信息处理装置的功能框图。
具体实施例方式
下面将参考附图描述本发明的不同实施例。应当指出,在所有附图中,相同或相似的参考标记应用于相同或相似的部分和元件。
根据本发明实施例的访问历史管理方法获取对目标存储单元的读访问历史。所述目标存储单元存储目标数据以获取例如读访问和写访问的访问历史,其中所述读访问和写访问是通过根据本发明实施例的访问历史管理方法来被执行的。所述目标存储单元例如是晶体管存储器和磁盘单元等,并且电子地存储数字化数据。
下面将参考图2描述根据本发明实施例的访问历史管理方法。
首先,在步骤S1,等待目标存储单元的事件。当所述事件发生时,在步骤S2根据所述事件的目标执行过程。
如果所发生的事件在步骤S2被确定为目标存储单元的事件,则根据所述事件的类型在步骤S3执行过程。如果发生的事件是对目标存储单元的写访问,则在步骤S4中,将所述写访问的命令和有效负荷存储在写访问历史存储单元中。这里,所述写访问的命令包括该写访问发生的写时刻、写地址、写数据大小、响应时间和结果等。所述有效负荷是新近被存储在目标存储单元中包含于写访问命令中的写地址处的数据。
如果发生的事件是对目标存储单元的读访问,则在步骤S5,所述读访问的命令被存储在读访问历史存储单元中。这里,所述读访问的命令包括读访问发生的读时刻、读地址、读数据大小、响应时间和结果等。该读访问的有效负荷没有被记录,并且仅该读访问的命令被存储在所述读访问历史存储单元中。这里,所述有效负荷是特别被存储在目标存储单元中包含于读访问命令中的读地址处的数据。
另一方面,如果发生的事件在步骤S2被确定为对访问历史的事件,则根据所述事件的类型执行过程,并且所述访问历史基于在步骤S4和步骤S5所获取的信息在步骤S6被输出。
如果发生的事件是在预定时刻以及目标存储单元的预定地址的位置恢复请求,则在步骤S7从写访问历史存储单元中提取写有效负荷,该写有效负荷与包含于位置恢复请求中的请求地址以及在包含于该位置恢复请求中的请求时刻之前最近的时刻相关联。
如果发生的事件是发生在预定时刻的读访问获得请求,则在步骤S8,有效负荷从写访问历史存储单元和读访问历史存储单元被提取。更具体地,在包含于读访问获得请求中的请求时刻相关的读命令从读访问历史存储单元中被提取。接下来,所述请求时刻之前最近的写时刻以及与包含于所提取读命令中的读地址相关联的写有效负荷从写访问历史的添加部件中被提取。另外,从所提取读命令和所提取写有效负荷中产生的读访问信息被输出。
在图3所示的例子中,针对地址1至地址4的地址空间描述了发生在时刻t1至t9的访问。
更具体地,数据a1在时刻t1被写入地址1。数据b1在时刻t2被写入地址2。数据c1在时刻t3被写入地址3。数据d1在时刻t4被写入地址4。地址1在时刻t5被读取。地址3在时刻t6被读取。数据a2在时刻t7被写入地址1。地址4在时刻t8被读取。地址1在时刻t9被读取。
在所述情况下,发生在时刻t1至时刻t4和时刻t7的写访问,根据按照本发明实施例的访问历史管理方法而被存储在写访问历史存储单元中。发生在时刻t5、时刻t6、时刻t8和时刻t9的读访问被存储在读访问历史存储单元中。
此时,将描述这样的情况由发生在时刻t5的读访问获取的数据被恢复。由于所述读访问是对地址1的读访问,因此它从在时刻t5之前最近的时刻、对地址1发生的写访问的有效负荷中获取。这里,在时刻t1的写访问的有效负荷a1是通过发生在时刻t5的读访问而获取的数据。类似地,通过发生在时刻t6的读访问而获取的数据是发生在时刻t3的写访问的有效负荷c1。通过发生在时刻t8的读访问而获取的数据是发生在时刻t4的写访问的有效负荷d1。通过发生在时刻t9的读访问而获取的数据是发生在时刻t7的写访问的有效负荷a2。
例如,对于目标存储单元的命令在公式1中被定义为结构“command”,而在公式2中被定义为变量“payload”,如下所示Struct command{boolean type;/*Type of command(READ or WRITE)*/time accesstime;/*Access time*/integer address;/*Address in access destination*/}(1)Byte*payload;/*(pointer to)data row of payload*/(2)其中,变量“payload”可以被定义为实体的数据行。
在所述情况下,在时刻t1针对目标存储单元而发生的命令由公式3如下表示command.type=WRITEcommand.accesstime=t1command.address=1payload=a1.(3)在发生在时刻t5的读访问的有效负荷是基于以所述方式累积的写访问历史存储单元而被获取的情况下,它通过公式4所示的条件等式而被搜索,如下所示command.type=WRITE andcommand.address=1 andcommand.accesstime<t5.(4)所述写访问历史存储单元从而基于公式4中所示的条件等式针对“command.accesstime”以降序(即从时刻t5到过去)而被搜索,并且假设首先找到的就是搜索结果。结果,公式5中所示的结果被输出,如下所示payload=a1.(5)这样,根据按照本发明实施例的访问历史管理方法,读命令的有效负荷在不存储读命令有效负荷的情况下从写访问历史存储单元中被提取。因此,即使所述读命令的历史被存储,也不需要大量的存储容量。这样,根据按照本发明实施例的访问历史管理方法,对目标存储单元的所有读访问和写访问的历史可以被输出。
接下来,将参考第一至第六实施例描述根据本发明的访问历史管理方法的不同实施例。
第一实施例在本发明的第一实施例中,将描述这样一个例子将根据本发明实施例的访问历史管理方法应用于访问历史管理装置100,并且在目标单元150上安装目标存储单元,其中目标单元150被外部构建在访问历史管理装置100上。
如图4所示,根据本发明第一实施例的目标单元150包括目标存储单元151和访问监视部件152。
目标存储单元151是这样的目标存储单元例如读访问和写访问的访问历史由根据本发明第一实施例的访问历史管理装置100从该目标存储单元中获得。目标存储单元151是半导体存储单元、磁盘单元等,并且是用于电子地存储数字化数据的单元。根据第一实施例的目标存储单元151既不包括访问存储收集功能,也不包括检索功能。
访问监视部件152捕获(hook)对目标存储单元151的读访问或写访问的发生,并且将所述读访问和写访问的命令等传送给访问历史管理装置100。
访问历史管理装置100获取对包含于目标单元150中的目标存储单元151的读访问历史。
如图4所示,根据本发明第一实施例的访问历史管理装置100包括写访问历史存储单元101、读访问历史存储单元102、历史收集部件110以及历史检索部件120。
发生在目标存储单元151中的写访问的历史被存储在写访问历史存储单元101中。例如,如图5所示,写访问历史存储单元101包括作为写访问命令的写地址、命令类型和写时刻的条目。另外,写访问历史存储单元101涉及在所述写时刻作为有效负荷被存储在所述写地址的数据。图5所示的数据示出了如图3所示的对目标存储单元151的访问的历史。发生在时刻t1的对地址1的数据a1的写访问,被存储在写访问历史存储单元101的第一记录中。
发生在目标存储单元151中的读访问的历史被存储在读访问历史存储单元102中。例如,如图6所示,读访问历史存储单元102包括作为读访问命令的命令类型、读时刻和读地址的项目。图6所示的数据说明了如图3所示的对目标存储单元151的访问的历史。发生在时刻t5的对地址1的读访问,被存储在读访问历史存储单元102的第一记录中。
在图4所示的例子中,尽管写访问历史存储单元101和读访问历史存储单元102被描述为安装在不同存储单元上的例子,然而它们可以物理上被安装在同一存储单元上。
历史收集部件110包括访问分类部件111、写访问历史的添加部件112以及读访问历史的添加部件113。历史收集部件110根据发生在目标单元150中的访问类型对访问分类部件111所执行的过程进行分类。另外,历史收集部件110通过写访问历史的添加部件112或读访问历史的添加部件113,在读访问的情况下仅存储命令,而在写访问的情况下存储命令和有效负荷。
当从访问监视部件152通知发生了什么访问时,访问分类部件111根据读访问或写访问的访问类型,将所述过程分类给写访问历史的添加部件112或读访问历史的添加部件113。另外,访问监视部件152监控对目标存储单元151的读访问和写访问,其中该目标存储单元不具有访问分类收集功能和检索功能。
当发生对目标存储单元151的写访问时,写访问历史的添加部件112将包括写访问的写时刻和写地址的写命令以及写有效负荷存储在写访问历史存储单元101中。这时,写访问历史的添加部件112可以将包含于所述写命令中的所有项目存储在写访问历史存储单元101中。
当发生对目标存储单元151的读访问时,读访问历史的添加部件113将包括读访问的读时刻和读地址的读命令存储在读访问历史存储单元102中。这时,读访问历史的添加部件113可以将包含于所述读命令中的所有项目存储在读访问历史存储单元102中。然而,包含于对所述读命令的响应中的有效负荷(更具体地,被所述读命令读出的目标存储单元151的数据)没有被存储在读访问历史存储单元102中。
历史检索部件120包括读访问重配置部件121。当过去的写访问被检索时,历史检索部件120直接从写访问历史存储单元101中检索命令和有效负荷。另一方面,当过去的读访问被检索时,历史检索部件120通过读访问重配置部件121从读访问历史存储单元102、通过参考写访问历史存储单元101来重建所执行的读访问的有效负荷,并且然后检索所述命令和有效负荷,其中,写访问历史存储单元101存储写访问的命令和有效负荷,而读访问历史存储单元102仅存储读访问的命令。
当读访问获得请求被输入时,读访问重配置部件121从读访问历史存储单元102中提取关于请求时刻的读命令,其中所述请求时刻包含于所述读访问获得请求中。这里,所述读访问获得请求是请求读访问信息的过程,其中该读取访问信息包括发生在预定时刻的读访问的读地址和有效负荷。另外,读访问重配置部件121在所述请求时刻之前、从写访问历史存储单元101中提取与包含于读命令中的读地址相关联的写有效负荷。另外,读访问重配置部件121从所提取读命令和所提取写有效负荷中产生读访问信息,并且然后输出该读访问信息。
如图7所示,读访问重配置部件121输入包括命令和有效负荷(写访问历史)的写访问的历史,以及包括仅命令(读访问历史)的读访问的历史、重建所述读访问的有效负荷并且然后输出所述读访问的命令和有效负荷。
将参考图8描述由读访问重配置部件121执行的对读访问的重配置处理。
首先,当读访问获得请求被输入时,请求时刻在步骤S101从所述读访问获得请求中被提取。另外,在读访问历史存储单元102中所存储的命令之中,根据用于获得有效负荷的读访问的命令来获得要在目标存储单元151上所读取的地址。更具体地,获得了在所提取的请求时刻关联的读地址。
接下来,对于在步骤S101提取的地址,在所发生的读访问的请求时刻之前最近的时刻所写入的写访问,在步骤S102从写访问历史存储单元101中被检索。
在步骤S103,读访问信息利用在步骤S101所提取的读访问的命令和在步骤S102所提取的写访问的有效负荷而被重建。
这样,根据第一实施例的访问历史管理装置,由访问监视部件152所检测的对目标存储单元151的读访问或写访问的过程,由访问分类部件111基于访问类型来分类。例如,数据是由写访问历史的添加部件112或读访问历史的添加部件113来累积的,例如图5或图6中示出的结构。
结果,即使读访问的有效负荷没有作为历史信息被存储,读访问的历史信息也可以由写访问的历史信息组成。因此,根据第一实施例的访问历史管理装置100,读访问的所有历史可以在没有大量存储容量的情况下被存储。
第二实施例在本发明的第二实施例中,将描述当根据本发明实施例的访问历史管理方法应用于图9所示的存储单元200时的情形。在第二实施例中,用于获取访问历史的存储单元200不包括向其存储最新数据的存储单元。当发生对存储单元200的访问时,从写访问历史存储单元201和读访问历史存储单元202产生响应。
存储单元200包括写访问历史存储单元201、读访问历史存储单元202和控制程序存储单元,其中该控制程序存储单元存储控制程序(固件)可实现的预定过程。图9所示的相关性是通过存储在安装于存储单元200上的控制程序存储单元中的控制程序来被实现的。
至于根据第二实施例的存储单元200,采用了一种日志(添加(appending))结构记录模式。结果,由于写访问历史的历史区域和存储单元200的存储区域(日志数据)被合并成一个,因此可以减少必要的存储区域。
在例如日志结构文件系统的日志结构记录模式中,写数据没有在旧数据中被盖写,而是利用添加(日志)而被记录。因此,写数据也称为日志数据。由于“添加”是连续写入而“盖写”是随机写入,因此在所述日志结构记录模式中可以尝试对写访问能力的改进。另一方面,当读访问时,它从所述日志数据之中搜索当写访问对于读目标的地址最后被执行时的数据,并且这作为读数据而被响应。由于写数据通过添加结构而被记录,因而有可能检索过去的任意写数据。
如图9所示,根据第二实施例的存储单元200包括写访问历史存储单元201、读访问历史存储单元202、具有内部历史收集功能的存储单元提供部件210,以及历史检索部件220。
写访问历史存储单元201类似于第一实施例的写访问历史存储单元101。读访问历史存储单元202类似于第一实施例的读访问历史存储单元102。
具有内部历史收集功能的存储单元提供部件210提供类似于根据第一实施例的目标存储单元151和历史收集部件110的功能。具有内部历史收集功能的存储单元提供部件210包括访问分类部件212、写访问历史的添加部件212、读访问历史的添加部件213,以及最新数据获得部件214。
当发生对存储单元200的访问时,访问分类部件211根据读访问或写访问的访问类型,将过程分类至写访问历史的添加部件212或读访问历史的添加部件213。
当发生对存储单元200的写访问时,写访问历史的添加部件212将包括写访问的写时刻和写地址的写命令以及写有效负荷存储在写访问历史存储单元201中。另外,写访问历史的添加部件212输出对该写访问的响应。
当发生对存储单元200的读访问时,读访问历史的添加部件213将包括读访问的读时刻和读地址的读命令存储在读访问历史存储单元202中。
最新数据获得部件214将关于最新写时刻的有效负荷作为读访问响应输出给写访问历史存储单元201中的每个地址。另外,当最新数据由最新数据获得部件214从写访问历史存储单元201获取时,将最新数据被读访问历史的添加部件213获取这一事件存储在读访问历史存储单元202中。
历史检索部件220包括读访问重配置部件221。当读访问获得请求被输入时,读访问重配置部件221从读访问历史存储单元202中提取关于请求时刻的读命令,其中该请求时刻包含于读访问获得请求中。接下来,读访问重配置部件221从写访问历史存储单元201中提取所述请求时刻之前最近的写时刻和与包含于所提取读命令中的读地址相关联的写有效负荷。另外,读访问重配置部件221从所提取的读命令和所提取的写有效负荷中产生读访问信息。
接下来,将参考图10描述由根据第二实施例的具有内部历史收集功能的存储单元提供部件210所执行的访问过程。
首先,如果访问请求在步骤S201被访问分类部件211接收,则所述过程在步骤S202按照访问类型而被分类。
如果在步骤S202确定它是写访问,则写访问的命令和有效负荷在步骤S203被添加给写访问历史存储单元201。此后,写访问响应在步骤S204被输出。
另一方面,如果在步骤S202确定它是读访问,则上述地址的最新数据在步骤S205从作为添加结构的写访问历史存储单元201被读取。接下来,仅所述读访问的命令在步骤S206被添加给读访问历史存储单元202。此后,包括上述地址的最新数据的读访问响应在步骤S207被输出。
这样,有可能认为按照存储单元200的日志结构记录模式的写数据(日志数据)是第一实施例中描述的写访问历史的有效负荷。因此,有可能通过增加所述日志结构记录模式的日志数据来并入写访问历史。换言之,根据第二实施例的存储单元200可以将所述日志结构记录模式的日志数据合并到写访问历史。结果,写访问历史的存储区域和存储单元200的存储区域都没有被分别预备,而是所述存储单元的存储区域可以被写访问历史的一个存储区域占用。因此,可以实现对整个存储器容量的必要的减少。
第三实施例在本发明的第三实施例中,将描述根据第一实施例的访问历史管理装置被应用于作为块设备的目标存储单元351的情况。所述块设备是用于将由多个比特组成的数据块作为一个单元输入和输出的设备。
根据第三实施例的目标存储单元351提供可以被自由读取和写入的块空间。访问历史管理装置300为针对目标存储单元351的块空间的读访问和写访问进行历史记录,并且收集和检索数据。
如图11所示,根据第三实施例的访问历史管理装置300捕获从文件系统和数据库等的访问应用360至目标存储单元351的访问,并且将访问历史存储在写访问历史存储单元301和读访问历史存储单元302中。另外,例如写访问、块位置和读访问的信息根据来自请求应用370的请求而被提供,所述请求应用370例如是监视应用和恢复应用等。
访问历史管理装置300包括写访问历史存储单元301、读访问历史存储单元302、访问监视部件311、访问分类部件312、写访问历史的添加部件313、读访问历史的添加部件314、写访问获得请求接收部件321和第一搜索部件322、块位置恢复请求接收部件323、第二搜索部件324、块配置部件325、读访问获得请求接收部件326、第三搜索部件327,以及读访问重配置部件328。
写访问历史存储单元301和读访问历史存储单元302类似于第一实施例的写访问历史存储单元101和读访问历史存储单元102。然而,由于根据第三实施例的目标存储单元351是块设备,因此读地址和写地址指示了所述块设备的地址。写访问历史存储单元301和读访问历史存储单元302的磁盘驱动分配方法不成问题。更具体地,存储在目标存储单元351中的数据和历史数据可以被分配给分离的磁盘驱动,或可以被分配给同一磁盘驱动。
访问监视部件311是块设备的接口,并且当对目标存储单元351的访问被捕获时就使访问分类部件312进行处理。
访问分类部件312、写访问历史的添加部件313和读访问历史的添加部件314分别类似于第一实施例的访问分类部件111、写访问历史的添加部件112和读访问历史的添加部件113。
当用来获取请求时刻发生的写访问信息的写访问获得请求从请求应用370被输入时,写访问获得请求接收部件321指示第一搜索部件322根据所输入的写访问获得请求来获取写访问。
接下来,将参考图12描述由写访问获得请求接收部件321和第一搜索部件322所执行的对写访问的获取处理。在图12中,将描述检索在时刻tx发生的写访问以及检索在时刻tx之前或之后写入块地址addr的写访问。
首先,当写访问获得请求在步骤S301从写访问获得请求接收部件321被输入时,根据输入写访问获得请求类型在步骤S302对过程进行分类。
如果获取了时刻tx的写访问的信息,则写访问历史存储单元301以写时刻tx作为关键字而被搜索,并且命令中包括时刻tx的写访问历史在步骤S303被检索。在步骤S304,将在步骤S303所检索的写访问历史答复给请求应用370。
另一方面,如果在时刻tx之前或之后写入块地址addr的写访问的信息被获取,则写访问历史存储单元301在作为第一关键字的时刻tx之前或之后并以块地址addr作为第二关键字而被搜索,并且其命令时刻在时刻tx之前或之后且写地址为块地址addr的写访问历史被检索。在步骤S306,将作为数据块通过步骤S305被检索的写访问有效负荷答复给请求应用370。
除图12中示出的例子,有可能实现检索在时刻tx之前或之后作为有效负荷写入块数据blk的写访问。
当用于在请求时刻恢复块位置的块位置恢复请求从请求应用370被输入时,块位置恢复请求接收部件323指示第二搜索部件324根据所输入的对块位置的恢复请求来获取块位置。这时,第二搜索部件324指示块配置部件325根据存储在写访问历史存储单元301中的信息来构成(compose)块的位置。例如,在恢复请求时刻恢复块位置的情况下,当输入包括恢复请求时刻的块位置恢复请求时,在恢复请求时刻之前最近的时刻相关的有效负荷,关于目标存储单元351的每个地址从写访问历史存储单元301中被提取,并且重建在恢复请求时刻的块位置。
接下来,对块位置的恢复处理将参考图13进行描述,其中所述处理由块位置恢复请求接收部件323、第二搜索部件324和块配置部件325来执行。在图13中,描述了在时刻tx的块空间的再现(reproduction)和包括时刻tx之前和之后的块数据blk的块空间tx的再现。
首先,当块位置的恢复请求在步骤S321从块位置恢复请求接收部件323被输入时,根据所输入的块位置恢复请求的类型在步骤S322对过程进行分类。
如果在时刻tx的块空间重现,则在步骤S323,写访问历史存储单元301以时刻tx作为关键字而被搜索,并且在命令中包括时刻tx的写访问历史的索引被提取。接下来,块设备中的块位置在时刻tx的状态,在步骤S324中通过追溯在先前时刻相关的写访问历史来被恢复。在步骤S325,将在步骤S324所恢复的块位置的状态答复给请求应用370。
另一方面,如果包括在时刻tx之前和之后的块数据blk的块空间重现,则写访问历史存储单元301在作为第一关键字的时刻tx之前或之后和以块数据blk作为第二关键字而被搜索,并且其命令时刻在时刻tx之前或之后且有效负荷是块数据blk的写访问历史的索引被提取。接下来,在包括块数据blk的目标存储单元351中的块位置的状态在步骤S327被恢复。在步骤S328,将在步骤S327所恢复的块位置状态答复给请求应用370。
除图12中示出的例子,有可能实现在时刻tx之前或之后写入块数据blk之前或之后重现块空间、在时刻tx之前或之后写入块地址addr之前或之后重现块空间、当块数据blk在时刻tx之前或之后被读取时重现块空间,以及当块地址addr在时刻tx之前或之后被读取时重现块空间等。
当用来获取在请求时刻所发生的读访问信息的读访问获得请求从请求应用370被输入时,读访问获得请求接收部件326指示第三搜索部件327根据所输入的读访问获得请求来获取读访问。这时,第三搜索部件327指示读访问重配置部件328根据存储在写访问历史存储单元301和读访问历史存储单元302中的信息来构成读访问信息。
接下来,读访问的获取处理将参考图14进行描述,其中所述处理由读访问获得请求接收部件326、第三搜索部件327和读访问重配置部件328来执行。在图14中,检索在时刻tx的读访问将被描述。
首先,当在时刻tx的读访问获得请求在步骤S341从读访问获得请求接收部件326被输入时,读访问历史存储部件302以时刻tx作为关键字而被搜索,并且命令中包括时刻tx的读访问历史在步骤S342被检索。此后,在步骤S343,从在步骤S342所提取的读访问历史获取读目标的块地址。
接下来,在步骤S344,关于在步骤S343所获取的块地址的、在时刻tx之前所写入的写访问历史,从写访问历史存储单元301中被检索。在步骤S345,读访问信息利用在步骤S342所获取的读访问命令和在步骤S345所获取的有效负荷而被重建。在步骤S346,将在步骤S345所重建的读访问信息答复给请求应用370。
除图14中所示出的例子,有可能实现在时刻tx之前和之后读取作为有效负荷的块数据blk的读访问,以及检索在时刻tx之前和之后对块地址addr读取的读访问等。
这样,根据本发明实施例的访问历史管理方法可能适于作为块设备的目标存储单元351。
第四实施例在本发明的第四实施例中,信息处理装置400将参考图15进行描述,其中该信息处理装置的根据本发明实施例的访问历史管理方法应用于通用计算机装置的文件系统。
信息处理装置400中所提供的文件系统部件410是这样的文件系统其是从用户应用460到目标存储单元451的访问的接口。文件系统部件410包括访问监视部件411、访问分类部件412、写访问历史的添加部件413、读访问历史的添加部件414、写访问获取请求接收部件421、第一搜索部件422、文件位置恢复请求接收部件423、第二搜索部件424、文件配置部件425、读访问获得请求接收部件426、第三搜索部件427、读访问重配置部件428,以及系统控制部件430。
文件恢复请求接收部件423、第二搜索部件424和文件配置部件425可以称作文件位置配置部件。所述文件位置配置部件被配置用来当包括恢复请求时刻的文件位置恢复请求被输入时,以恢复请求时刻作为关键字、从写访问历史存储单元401搜索有效负荷。更具体地,当用来在请求时刻恢复文件位置的文件位置恢复请求从请求应用470被输入时,文件位置恢复请求接收部件423指示第二搜索部件424根据所输入的文件位置恢复请求来获取文件位置。这时,第二搜索部件424指示文件配置部件425根据存储在写访问历史存储单元401中的信息来构成文件位置。例如,在恢复请求时刻恢复文件位置的情况下,当包括恢复请求时刻的文件位置恢复请求被输入时,在恢复请求时刻之前最近的时刻相关的有效负荷从写访问历史存储单元401中、关于目标存储单元451的每个地址而被提取,并且在恢复请求时刻的文件位置被重建。
访问监视部件411、访问分类部件412、写访问历史的添加部件413、读访问历史的添加部件414、写访问获得请求接收部件421、第一搜索部件422、文件位置恢复请求接收部件423、第二搜索部件424、文件配置部件425、读访问获得请求接收部件426、第三搜索部件427以及读访问重配置部件428,提供类似于图11所示的每个功能的功能。然而,尽管图11示出的每个功能是以块设备为目标的,然而图15中示出的每个功能在针对文件系统这点上是不同的。
因此,读访问和写访问的单元不是块单元,而是字节单元。并且,一个访问不是对块地址中一个块的访问,而是对来自任意文件的任意偏移(offet)的任意字节长度的访问。因此,多个写历史的有效负荷必须被组合以重现一个读访问历史的有效负荷。
此外,访问类型不仅是读取或写入,而是还有产生、删除、移动、名称更新和初始化等。因此,例如当在特定时刻写和读文件之后移动文件的访问发生时,正在进行的文件的移动访问的历史应当被收集,以从写访问历史的有效负荷获取读历史的有效负荷。
因此,当实现文件系统时,不仅读访问历史和写访问历史,而且还有除此之外的访问历史也应当被收集。至于这个实现方法,例如列举了通过CVS所进行的文件跟踪。
这样,根据本发明实施例的访问历史管理方法可以适于文件系统。
第五实施例在本发明的第五实施例中,将描述如图16所示的第二实施例应用于块设备的情况。
根据第五实施例的存储单元500包括写访问历史存储单元501、读访问历史存储单元502和控制程序存储单元,其中该控制程序存储单元存储控制程序(固件)可实现的预定过程。图16所示的相关性通过存储在控制程序存储单元中的控制程序而被实现,其中该控制程序存储单元被安装在存储单元500上。图16所示的每个功能类似于在第二实施例和第三实施例中描述的每个功能。
这里,写访问历史存储单元501和读访问历史存储单元502的磁盘驱动的分配方法不成问题。更具体地,这些数据可以被分配给分离的磁盘、可以在同一磁盘上被分离地分配并且可以在同一磁盘上被随机分配。
第六实施例如图17所示,本发明的第六实施例涉及将第二实施例应用于文件系统的信息处理装置600。图17所示的每个功能类似于在第二实施例和第四实施例中描述的每个功能。在信息处理装置600中提供的文件系统部件610是这样的文件系统其是来自用户应用660的访问的接口。
这里,写访问历史存储单元601和读访问历史存储单元602的磁盘驱动的分配方法不成问题。更具体地,这些数据可以被分配给分离的磁盘、可以在同一磁盘上被分离地分配并且可以在同一磁盘上被随机分配。
文件恢复请求接收部件622、第二搜索部件623和文件配置部件613可以称作文件位置配置部件。该文件位置配置部件被配置用来当包括恢复请求时刻的文件位置恢复请求被输入时,以恢复请求时刻作为关键字、从写访问历史存储单元601搜索有效负荷。更具体地,当用来在请求时刻恢复文件位置的文件位置恢复请求从请求应用670被输入时,文件位置恢复请求接收部件622指示第二搜索部件623根据所输入的文件位置恢复请求获取文件位置。这时,第二搜索部件623指示文件配置部件613根据存储在写访问历史存储单元601中的信息来构成文件位置。例如,在恢复请求时刻恢复文件位置的情况下,当包括恢复请求时刻的文件位置恢复请求被输入时,在该请求恢复时刻之前最近的时刻相关的有效负荷从写访问历史存储单元601中关于每个地址被提取,并且在该恢复请求时刻的文件位置被重建。这里,如果所述恢复请求时刻是现在,则文件配置部件613将关于最新写时刻的有效负荷从写访问历史存储单元601输出到每个地址。
另外,当所述最新数据由文件配置部件613从写访问历史存储单元601获取时,该最新数据被读访问历史添加部件612获取这一事件被存储在读访问历史存储部件602中。
第七实施例本发明的第七实施例是将第一实施例和第二实施例应用于对象设备的例子。所述对象设备包括例如文件系统的到块设备的接口。在有代表性的例子中,存在OSD(或OBSE;基于对象的存储设备,“SNIA工作组”,参考URLhttp://www.snia.org/tech_activities/workgroups/osd/)。
根据第七实施例的利用对象设备的实现,是对第三实施例和第五实施例中所说明的块设备的实现技术的基础。然而,由于所述对象设备不同于所述块设备,因此不仅存在读访问和写访问,而且还存在打开、删除、收集定义或更新和格式化等。因此,这些访问历史也应当被收集,如在第四实施例和第六实施例中所说明的文件系统的情形那样,以便从写访问历史的有效负荷中重新产生读历史的有效负荷。
第八实施例在本发明的第八实施例中,根据本发明实施例的访问历史管理方法在用户应用和数据库等的应用上被实现。所述第八实施例通过将实现技术的范围改变为第四实施例和第六实施例中所说明的文件系统来实现。不同的访问(例如读取、写入、打开、删除、移动和名称更新等)的操作历史不是由文件访问单元而是由应用事务单元来收集的。
其它实施例尽管已经说明了本发明的第一至第八实施例,然而可以在不背离其精神和主要特征的情况下以其它特定形式实现本发明。根据这个公开,不同的可选实施例、实现例子和操作技术对本领域的技术人员是显而易见的。
例如,在本发明的实施例中,尽管已经描述了读访问和写访问的每个历史被存储在不同存储单元中的情况,然而每个历史可以被存储在一个存储单元中。
本实施例因此无论从哪方面来看都是说明性的,而非限制性的,本发明的范围由所附权利要求而不是由前面的描述来指示,并且在权利要求的等价的意义和范围内的所有改变因而包含在其中。
权利要求
1.一种计算机实现的方法,其用于管理访问历史以获取对目标存储单元的读访问历史,所述计算机实现的方法包括下列步骤当发生对所述目标存储单元的写访问时,将包括写访问的写时刻和写地址的写命令以及写有效负荷存储在写访问历史存储单元中;以及当发生对所述目标存储单元的读访问时,将包括读访问的读时刻和读地址的读命令存储在读访问历史存储单元中。
2.根据权利要求1的计算机实现的方法,其还包括下列步骤当发生读访问获得请求时,从所述读访问历史存储单元中提取关于包含于读访问获得请求中的请求时刻的读命令;从写访问历史的添加部件中提取写有效负荷,该写有效负荷与所述请求时刻之前最近的写时刻以及包含于所提取读命令中的读地址相关联;以及输出从所提取读命令和所提取写有效负荷所产生的读访问信息。
3.根据权利要求1的计算机实现的方法,其还包括下列步骤当发生位置恢复请求时,从写访问历史的添加部件提取与包含于所述位置恢复请求中的请求地址和包含于所述位置恢复请求中的请求时刻之前最近的写时刻相关联的写有效负荷;以及输出所提取的写有效负荷。
4.一种装置,其用于管理访问历史以获取对目标存储单元的读访问历史,所述装置包括目标存储单元;写访问历史的添加部件,其被配置用来当发生对所述目标存储单元的写访问时,将包括写访问的写时刻和写地址的写命令以及写有效负荷存储在写访问历史存储单元中;以及读访问历史的添加部件,其被配置用来当发生对所述目标存储单元的读访问时,将包括读访问的读时刻和读地址的读命令存储在读访问历史存储单元中。
5.根据权利要求4的装置,其还包括读访问重配置部件,其被配置用来当发生读访问获得请求时,从所述读访问历史存储单元中提取关于包含于读访问获得请求中的请求时刻的读命令;从所述写访问历史的添加部件中提取与所述请求时刻之前最近的写时刻以及包含于所提取读命令中的读地址相关联的写有效负荷;以及然后从所提取读命令和所提取写有效负荷中产生读访问信息。
6.根据权利要求4的装置,其还包括块位置配置部件,其被配置用来当输入包括恢复请求时刻的块位置恢复请求时,关于所述目标存储单元的每个地址、从所述写访问历史的添加部件中提取与恢复请求时刻之前最近的时刻相关的有效负荷,并且然后在所述恢复请求时刻重配置块位置。
7.一种计算机可执行程序,其用于管理访问历史,以获取对目标存储单元的读访问历史,所述计算机可执行程序包括当发生对所述目标存储单元的写访问时,将包括写访问的写时刻和写地址的写命令以及写有效负荷存储在写访问历史存储单元中;以及当发生对所述目标存储单元的读访问时,将包括读访问的读时刻和读地址的读命令存储在读访问历史存储单元中。
8.根据权利要求7的计算机可执行程序,其还包括当发生读访问获得请求时,从所述读访问历史存储单元中提取关于包含于读访问获得请求中的请求时刻的读命令;从写访问历史的添加部件中提取与所述请求时刻之前最近的写时刻以及包含于所提取读命令中的读地址相关联的写有效负荷;以及从所提取读命令和所提取写有效负荷中产生读访问信息。
9.根据权利要求7的计算机可执行程序,其还包括当输入包括所述恢复请求时刻的块位置恢复请求时,关于所述目标存储单元的每个地址、从所述写访问历史的添加部件中提取与所述恢复请求时刻之前最近的时刻相关的有效负荷,并且然后在所述恢复请求时刻重配置块位置。
10.一种用于获取访问历史的存储单元,其包括控制程序存储单元,其被配置用来存储可实现为固件的控制程序,所述控制程序包括当发生对所述存储单元的写访问时,将包括写访问的写时刻和写地址的写命令以及写有效负荷存储在写访问历史存储单元中;以及当发生对所述存储单元的读访问时,将包括读访问的读时刻和读地址的读命令存储在读访问历史存储单元中。
11.根据权利要求10的存储单元,所述控制程序还包括当发生读访问获得请求时,从所述读访问历史存储单元中提取关于包含于读访问获得请求中的请求时刻的读命令;从写访问历史的添加部件中提取与所述请求时刻之前最近的写时刻以及包含于所提取读命令中的读地址相关联的写有效负荷;以及从所提取的读命令和所提取的写有效负荷中产生读访问信息。
12.根据权利要求11的存储单元,所述控制程序还包括作为读访问响应从所述写访问历史存储单元输出关于最新写时刻的有效负荷。
13.根据权利要求10的存储单元,其中,所述存储单元是通过日志结构的记录模式被记录的。
14.根据权利要求10的存储单元,所述控制程序还包括当输入包括所述恢复请求时刻的块位置恢复请求时,关于所述目标存储单元的每个地址、从所述写访问历史的添加部件中提取与所述恢复请求时刻之前最近的时刻相关的有效负荷,并且然后在所述恢复请求时刻重配置块位置。
15.一种信息处理装置,其用于管理目标存储单元的文件信息,所述信息处理装置包括用于获取读访问历史的文件系统部件,所述文件系统部件包括目标存储单元;写访问历史的添加部件,其被配置用来当发生对所述目标存储单元的更新访问时,将包括更新访问的更新时刻和更新地址的更新命令以及更新有效负荷存储在写访问历史存储单元中;读访问历史的添加部件,其被配置用来当发生对所述目标存储单元的读访问时,将包括读访问的读时刻和读地址的读命令存储在读访问历史存储单元中;以及读访问重配置部件,其被配置用来当发生读访问获得请求时从所述读访问历史存储单元中提取关于请求时刻的读命令、从所述写访问历史的添加部件中提取与所述请求时刻之前最近的写时刻以及包含于所提取读命令中的读地址相关联的写有效负荷,并且然后从所提取的读命令和所提取的写有效负荷中产生读访问信息。
16.根据权利要求15的信息处理装置,所述文件系统部件还包括块位置配置部件,其被配置用来当输入包括所述恢复请求时刻的块位置恢复请求时,以恢复请求时刻作为关键字从所述写访问历史存储单元搜索所述有效负荷。
17.根据权利要求15的信息处理装置,该信息处理装置还包括所述目标存储单元。
18.根据权利要求17的信息处理装置,所述文件系统部件还包括文件位置配置部件,其被配置用来当输入包括所述恢复请求时刻的文件位置恢复请求时,以恢复请求时刻作为关键字从所述写访问历史存储单元搜索所述有效负荷。
全文摘要
一种根据所述实施例的用于管理访问历史的方法,其包括下列步骤当发生写访问时,将包括写访问的写时刻和写地址的写命令以及写有效负荷存储在写访问历史存储单元中,当发生对目标存储单元的读访问时,将包括读访问的读时刻和读地址的读命令存储在读访问历史存储单元中;以及,当发生读访问获得请求时,从读访问历史存储单元中提取关于包含于读访问获得请求中的请求时刻的读命令,从写访问历史的添加部件中提取与请求时刻之前最近的写时刻以及包含于所提取读命令中的读地址相关联的写有效负荷,并且输出从所提取读命令和所提取写有效负荷中产生的读访问信息。
文档编号G06F17/30GK1940889SQ20061013996
公开日2007年4月4日 申请日期2006年9月28日 优先权日2005年9月30日
发明者小原诚 申请人:株式会社东芝, 东芝解决方案株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1