一种基于大容量光盘库的文件系统及文件存储方法和系统与流程

文档序号:11950694阅读:411来源:国知局
一种基于大容量光盘库的文件系统及文件存储方法和系统与流程

本发明属于光盘存储技术领域,尤其涉及一种基于大容量光盘库的文件系统及文件存储方法和系统。



背景技术:

数字信息长久化保存一直以来都是现代社会面临的一个重要问题,这些需要长期保存的数据有一个特点,就是一旦被写入保存之后,就很少被访问了,也称之为“冷数据”。而传统的以磁带和磁盘作为存储介质的存储系统很难满足数据长久稳定保存的需求。人们需要一种专门面向归档的存储系统来减少存储成本和提高数据稳定性。光盘存储介质由于具备存储介质与驱动器分离的特性,易保存,可以很好的满足归档存储的要求,于此同时,光盘的在长期保存、能耗方面有明显的优势。

目前最为流行的单张光盘数据组织格式是UDF文件系统。单张光盘上数据组织方式有两种类型,一种是自行定义特殊格式和另外采用UDF标准格式。Masashiro UENO等提出过基于光盘的防灾型存储系统,这种方案采用SCSI指令读写光盘,数据的读写都受到上层系统的制约,不具有普适性。Sony的Colin Thompson介绍了一种基于UDF文件系统的光盘库存储系统。该系统面向多媒体文件数据,通过UDF文件系统的特性将多张光盘虚拟为一个容量池,然而他们的存储系统依旧没能提供一个通用的文件访问接口。

上述工作都是考虑单张光盘的数据组织格式,并没有特别考虑如何有效在多张光盘上建立统一的数据存储格式。目前新型大容量光盘库能够在单个机柜大小内容纳上万张大容量蓝光光盘,对于大容量光盘库而言,人工管理成千上万张光盘及其上面的数据是不现实的。



技术实现要素:

本发明实施例的目的在于提供一种基于大容量光盘库的文件系统及文件存储方法和系统,以解决现有技术新型大容量光盘库能够在单个机柜大小内容纳上万张大容量蓝光光盘,对于大容量光盘库而言,人工管理成千上万张光盘及其上面的数据是不现实的问题。

本发明实施例是这样实现的,一种基于大容量光盘库的文件系统及文件存储方法,所述方法包括以下步骤:

接收应用程序或用户发起的文件访问请求,所述文件访问请求中携带文件标识;

根据所述文件标识查找文件目录树,确认所述文件标识所对应的文件是存储在临时存储器中或者是存储在光盘库中;

若是所述临时存储器中存储有所述文件标识所对应的文件,则根据文件目录树中记载的虚拟地址,打开临时存储器中相应的文件完成对应访问操作;

若是所述临时存储器中不存在所述文件标识所对应的文件,而是在光盘库中存在所述文件,则根据文件目录树中记载的物理地址,将所述光盘库中存储的文件内容读取到所述临时存储器中,通过所述临时存储器完成对应访问操作;

若未在所述文件目录树中查找到对应所述文件标识的文件时,则在所述临时存储器中创建对应所述文件标识的文件,并将其虚拟地址添加到所述文件目录树中。

优选的,所述在所述临时存储器中创建对应所述文件标识的文件,并将其虚拟地址登记到所述文件目录树中,还包括:

判断当前临时存储器中新增加的、且是所述光盘库中没有存储的文件内容大小是否达到一个或者多个光盘的存储空间;

若判断结果为达到,则将所述新增的文件内容转存到所述一个或者多个光盘中,并将文件标识和对应光盘的物理地址以映射关系添加到所述文件目录树中。

优选的,所述在所述临时存储器中创建对应所述文件标识的文件,并将其虚拟地址登记到所述文件目录树中,还包括:

判断当前临时存储器中存储、且是所述光盘库中有备份的文件,其最近一次被访问的时间与当前时间的差值是否超过预设时间阈值;

若判断结果为超过预设时间阈值,则将对应文件更新到光盘库中,删除所述临时存储器中的相应文件内容,并更新文件目录树。

优选的,所述文件目录树中包括:

存储在临时存储器中各文件的文件标识以及其在所述临时存储器中的虚拟地址;和/或,

文件的物理地址,其中所述物理地址包括所述文件所属光盘的物理编号和所属光盘的内部地址;和/或,

所述虚拟地址和所述物理地址的映射关系;和/或,

文件存储的时间、文件访问后的版本号、文件的大小、文件的重要等级中的一项或者多项。

优选的,所述将所述光盘库中存储的文件内容读取到所述临时存储器中,通过所述临时存储器完成对应访问操作后,还包括:

当从光盘A读取出的所述文件完成对应访问操作后,被存储在另一张光盘B上;

记录光盘A中被访问文件的占总的光盘文件的比例D,并更新文件目录树中文件标识和物理地址的对应关系;

当所述比例D的值超过预设比例阈值时,则将光盘A中剩余文件读取出来拷贝到所述光盘B或另一张光盘C上。

优选的,所述方法还包括:

在所述光盘A中内容被拷贝完毕后,归档当时光盘A中存储文件相关信息,并封存所述光盘A。

优选的,所述访问操作包括:

打开文件、读取文件、写入文件、复制文件、剪切文件中的一种或者多种组合。

另一方面,本发明实施例还提供了一种基于大容量光盘库的文件存储系统,所述系统包括:临时存储器、光驱组、光盘组、机械取盘装置和服务器,具体的:

所述临时存储器,用于临时存储要导入光盘库中的文件数据和缓存从光盘库获取的文件数据;

所述光驱组,用于实现光盘数据的物理刻录和读取;

所述光盘组,用于存储光盘;

所述机械取盘装置,通过机械臂实现光盘的物理装入和退出光驱;

所述服务器,用于存储文件目录树,用于实现临时存储器存储于的文件标识、文件虚拟地址和光盘中文件的物理地址之间的映射;并能够接收用户针对文件的访问操作,并调用所述临时存储器、光驱组、光盘组和机械取盘装置,完成相应的访问操作。

优选的,所述服务器还用于实现标准POSIX文件系统存取接口。

有选的,所述系统中所使用的光盘具体为一次性写入光盘和/或可擦除光盘。

本发明实施例提供的一种基于大容量光盘库的文件系统及文件存储方法的有益效果包括:本发明实施例提出的文件系统和文件存储方法,能够将归档数据存放在较为廉价的光盘上,针对单张光盘容量小的缺陷,将大量的光盘虚拟成一整个存储池(即光盘库),文件可以跨越光盘边界存储,光盘的刻录和读取完全实现自动化,并提供给用户通用文件访问接口。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1是本发明实施例提供的一种基于大容量光盘库的文件存储方法的流程示意图;

图2是本发明实施例提供的一种基于大容量光盘库的文件存储系统的架构示意图;

图3是本发明实施例提供的一种文件目录树的逻辑结构示意图;

图4是本发明实施例提供的一种基于大容量光盘库的文件写入方法的流程示意图;

图5是本发明实施例提供的一种基于大容量光盘库的文件读取方法的流程示意图;

图6是本发明实施例提供的一种全局文件逻辑空间划分示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

实施例一

如图1所示为本发明实施例提供的一种基于大容量光盘库的文件系统及文件存储方法,所述方法包括以下执行步骤:

在步骤201中,接收应用程序或用户发起的文件访问请求,所述文件访问请求中携带文件标识。

其中,所述访问操作包括:打开文件、读取文件、写入文件、复制文件、剪切文件中的一种或者多种组合。

在步骤202中,根据所述文件标识查找文件目录树,确认所述文件标识所对应的文件是存储在临时存储器中或者是存储在光盘库中。

其中,所述文件目录树中包括:存储在临时存储器中各文件的文件标识以及其在所述临时存储器中的虚拟地址;和/或,文件的物理地址,其中所述物理地址包括所述文件所属光盘的物理编号和所属光盘的内部地址;和/或,所述虚拟地址和所述物理地址的映射关系;和/或,文件存储的时间、文件访问后的版本号、文件的大小、文件的重要等级中的一项或者多项。

在步骤203中,若是所述临时存储器中存储有所述文件标识所对应的文件,则根据文件目录树中记载的虚拟地址,打开临时存储器中相应的文件完成对应访问操作。

在步骤204中,若是所述临时存储器中不存在所述文件标识所对应的文件,而是在光盘库中存在所述文件,则根据文件目录树中记载的物理地址,将所述光盘库中存储的文件内容读取到所述临时存储器中,通过所述临时存储器完成对应访问操作。

在步骤205中,若未在所述文件目录树中查找到对应所述文件标识的文件时,则在所述临时存储器中创建对应所述文件标识的文件,并将其虚拟地址添加到所述文件目录树中。

本发明实施例提出的文件系统和文件存储方法,能够将归档数据存放在较为廉价的光盘上,针对单张光盘容量小的缺陷,将大量的光盘虚拟成一整个存储池(即光盘库),文件可以跨越光盘边界存储,光盘的刻录和读取完全实现自动化,并提供给用户通用文件访问接口。

在本发明实施例中,所述临时存储器的存储空间通常达到几十甚至上百张光盘的存储量,因此,在所述临时存储器中允许在拷贝到光盘前进行一段时间内的存储,优选的,在用户确认临时存储器中存储的待备份内容达到一张光盘达到大小后,可以触发进行光盘刻录工作。除此之外还有一种由服务器自主决策的方式,具体的,结合本发明实施例存在一种可扩展方案,其中,所述在所述临时存储器中创建对应所述文件标识的文件,并将其虚拟地址登记到所述文件目录树中,还包括:

判断当前临时存储器中新增加的、且是所述光盘库中没有存储的文件内容大小是否达到一个或者多个光盘的存储空间;

若判断结果为达到,则将所述新增的文件内容转存到所述一个或者多个光盘中,并将文件标识和对应光盘的物理地址以映射关系添加到所述文件目录树中。

本发明实施例除了上述基于新增量或者修改量达到一个或者多个光盘存储空间时,完成刻录的方式外,还提供了一种基于修改时间的判断,进行光盘刻录的方法。具体的:

结合本发明实施例存在一种优选的方案,其中,所述在所述临时存储器中创建对应所述文件标识的文件,并将其虚拟地址登记到所述文件目录树中,还包括:

判断当前临时存储器中存储、且是所述光盘库中有备份的文件,其最近一次被访问的时间与当前时间的差值是否超过预设时间阈值;

若判断结果为超过预设时间阈值,则将对应文件更新到光盘库中,删除所述临时存储器中的相应文件内容,并更新文件目录树。

上述两种分别提供临时存储器中文件存储量和临时存储器中文件访问时间差值来触发光盘刻录的方法,在实际实现中还可以通过上述两种方式的结合,即同时满足两者条件才进行光盘刻录。从而保证光盘使用效率的最优化,即让真正拥有备份意义的数据存储起来。

在具体实现本发明实施例方法时,还会遇到一种情况,即操作人员对于已经刻录到光盘中的文件数据进行访问,并修改了相应的文件存储到所述临时存储器中,此时,若提供所述文件数据的光盘为一次性写入的,则此时就需要在新的光盘中写入数据。然而,随着一个光盘中数据被读取并修改的比重越来越大,该光盘存在于所述光盘库中的价值将越来越小,因为,其有效数据量的减少,每次去读取该光盘剩余数据时效率会越来越低,因此,结合本发明实施例提出了一种优选的方案,其中,所述将所述光盘库中存储的文件内容读取到所述临时存储器中,通过所述临时存储器完成对应访问操作后,还包括:

当从光盘A读取出的所述文件完成对应访问操作后,被存储在另一张光盘B上;

记录光盘A中被访问文件的占总的光盘文件的比例D,并更新文件目录树中文件标识和物理地址的对应关系;

当所述比例D的值超过预设比例阈值时,则将光盘A中剩余文件读取出来拷贝到所述光盘B或另一张光盘C上。

其中,所述比例阈值可以根据实际情况设置,本发明实施例根据实验结果提供了一个优选的区间值:70%-85%。

结合本发明实施例存在一种优选的方案,其中,所述方法还包括:

在所述光盘A中内容被拷贝完毕后,归档当时光盘A中存储文件相关信息,并封存所述光盘A。所述封存的含义是从所述光盘库中抽出该光盘A,并安置在用于存放光盘的位置。所述文件相关信息具体包括:光盘A中的文件目录树,各文件的最后修改时间等等。

实施例二

如图2所示,本发明实施例还提供了一种基于大容量光盘库的文件存储系统,所述系统包括:临时存储器、光驱组、光盘组、机械取盘装置和服务器,具体的:

所述临时存储器,用于临时存储要导入光盘库中的文件数据和缓存从光盘库获取的文件数据;

所述光驱组,用于实现光盘数据的物理刻录和读取;

所述光盘组,用于存储光盘;

所述机械取盘装置,通过机械臂实现光盘的物理装入和退出光驱;

所述服务器,用于存储文件目录树,用于实现临时存储器存储于的文件标识、文件虚拟地址和光盘中文件的物理地址之间的映射;并能够接收用户针对文件的访问操作,并调用所述临时存储器、光驱组、光盘组和机械取盘装置,完成相应的访问操作。

本实施例能够带来以下有益效果:1)该系统将大量的光盘虚拟成一整个容量池,文件可以跨越光盘边界存储,光盘的刻录和读取完全实现自动化,并提供给用户通用文件访问接口。2)根据光盘库的特点,构建新型文件系统和文件存储方法,便于光盘库数据管理,有效提高全局文件检索。

结合本发明实施例,存在一种优选的实现方案,其中,所述服务器还用于实现标准POSIX文件系统存取接口。

结合本发明实施例,存在一种优选的实现方案,其中,所述系统中所使用的光盘具体为一次性写入光盘和/或可擦除光盘。

实施例三

如图3所示为大容量光盘库的新型文件系统的逻辑结构图,其中包括文件目录树、映射关系、缓存文件和光盘库。

目录树文件记录了全局目录树信息,构建了全局目录树结构,提高文件目录遍历的效率。其中任何文件和目录都有唯一的绝对路径,在具体实现方式中,本发明实施例的文件存储系统使用文件和目录的绝对路径作为关键字计算出相应的ID作为文件标识。

缓存文件缓存了最近导入和经常访问的文件索引信息,其索引信息包括文件在光盘库中的绝对路径(物理地址)、缓存在临时存储器中的虚拟地址等,系统内部通过文件绝对路径,访问对应的缓存空间。

映射关系中记录了需要刻录到光盘中的文件的索引信息,其中包括文件ID、物理存储位置(如光盘物理编号和光盘内部地址)等,系统内部通过文件ID对相应光盘数据进行访问。

上述三个索引文件会在数据缓存区中保留最新的副本,同时也会定期记录到物理光盘中,但是考虑到这些元数据信息会随着光盘库的使用而改变,因此这三个文件时具有版本信息,在每次更新时会自动增加版本号,从而保证全局元数据和光盘数据保持版本一致。

下面说明本发明系统的工作过程:

一、数据存储过程如图4所示,具体包括:

在步骤301中,文件系统接收到来自应用程序或用户发起的文件写请求。

在步骤302中,访问文件目录树,获取文件的信息。

在步骤303中,根据文件信息,访问对应的缓存区存储空间,将文件数据存入缓存区,并更新该文件对应的缓存区存储位置信息。

在步骤304中,若缓存区中导入的数据量达到一张光盘的存储总容量,进入步骤305,否则结束。

在步骤305中,根据全局文件卷逻辑空间划分,将缓存区中的数据刻录到光盘中,结束。

二、数据获取过程如图5所示,具体包括(其中临时存储器也称为缓存区):

在步骤401中,文件系统接收到来自应用程序或用户发起的文件读请求。

在步骤402中,访问文件目录树,获取文件的信息。

在步骤403中,根据文件信息,访问对应的缓存区存储空间,若对应缓存区存储空间缓存了该文件的数据,则直接从缓存区中读取文件数据,结束,否则,进入步骤404;

在步骤404中,从光盘文件映射文件中获取存储该文件的光盘编号和物理地址。

在步骤405中,将整张光盘的数据缓存到缓存区中。

在步骤406中,从缓存区中读取数据,同时更新该文件对应的缓存区存储位置信息,结束。

实施五

如图6所示为本发明实施例提供的一种全局文件卷逻辑空间进行划分方法,可应用于上述各实施例中。基于大容量光盘库的文件系统将导入的数据保存在数据缓存区中,然后根据光盘分配算法,把数据划分为一定大小的光盘镜像,再一次性把镜像文件刻录到物理光盘中;最后,刻录成功后,在光盘文件映射关系中存入刻录到光盘中的文件的索引信息,所述光盘文件映射关系存储于所述文件关系树中。

本领域普通技术人员还可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,包括ROM/RAM、磁盘、光盘等。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1