一种固定大文件内部资源的控制方法技术

技术编号:13992810 阅读:59 留言:0更新日期:2016-11-14 01:20
本发明专利技术涉及计算机领域,公开了一种固定大文件内部资源的控制方法,通过将零散数据的索引信息、数据块信息和数据存储文件分离,同时使用内存文件映射技术,从而实现最大化利用有限硬盘空间、并能进行高效的文件索引和读取。索引文件记录了数据在数据存储文件中的存放位置、大小、最后一次使用情况等信息,防止读写错误带来的数据损坏,每一个数据末位置都使用一个用于校验数据完整性的标识符;数据块信息文件记录缓存文件中尚未被使用的空间信息,当有新数据需要写入数据存储文件中时,会从这个文件中查询是否还有可使用的连续空间。本发明专利技术中的数据存储文件大小可自定义,文件大小将保持不变,使得程序对硬盘空间的控制能力增强。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及了一种固定大文件内部资源的控制方法
技术介绍
当网络结构为SAN网络环境时,多个主机通过磁盘共享软件可以在同一时刻访问同一磁盘阵列,从而实现对磁盘的储存系统中保存的文件的共享以及工作流程的正常进行。在SAN网络环境中每个主机上的存储节点共享一个储存系统,通过共享软件的仲裁实现共享存储系统中保存信息的无冲突访问。每个存储节点一般都需要获取存储系统中保存的文件包含的字节数量信息,当获取的文件包含的字节数量与该文件实际包含的字节数量信息不一致时,则将直接导致文件备份的失败,影响后续工作的进行。由于磁盘共享软件的参与,以及多个存储节点共同访问同一存储系统,因此每个存储节点在获取存储系统中保存的文件包含的字节数量信息不一定准确,从而影响存储系统中保存的文件及备份。
技术实现思路
本专利技术针对现有技术中文件资源管理差、储存信息不准确的缺点,提供了一种固定大文件内部资源的控制方法。为了解决上述技术问题,本专利技术通过下述技术方案得以解决。一种固定大文件内部资源的控制方法,包括如下步骤:(1)在程序启动时,查询指定路径是否已生成了数据存储文件;如果没有生成数据存储文件,则使用预先设定的文件大小值生成对应的数据存储文件、索引文件和数据块信息文件;如果已存在相应的数据存储文件,那么加载其中的索引文件和数据块信息文件,还原出数据存储文件中的数据存储信息,并且记录数据存储文件的可使用的空间信息;(2)在读取索引信息后,生成一张用于查询存储信息的哈希表,哈希表在程序的运行周期中不会被更换,其中的索引信息可以被重复使用,用于能够更快速地查询数据信息;(3)在数据输入和输出过程中,索引文件中包含的索引信息包括有标识位、数据存储起始地址、数据大小、数据最近访问时间以及校验位,用于配合记录数据信息;索引文件的头部则存储了与索引文件本身相关的头信息,用于校验索引文件是否有效;(4)数据块信息文件中包含了数据存储文件中的空间使用记录,还包括数据存储文件中每份数据占用的空间大小、数据存储的位置信息和数据块的有效信息;(5)数据存储文件中,顺序、紧密排列存放了有效数据或未使用的存储空间。作为优选,步骤(3)中,标识位是一个数值,其中数值为0表示该条索引已被失效,等待下一条索引写入,数值为1则表示该条索引有效;数据存储起始地址表示该信息记录了该条索引对应的数据在数据存储文件中的存储地址;数据大小用于表明该条索引对应的数据的大小;数据最近访问时间是每当该条索引所对应的数据被访问时所记录的时间数据,数据最近访问时间会被更新记录在数据块信息文件中;校验位用于校验该条索引对应的数据的完整性,校验位的值根据数据校验算法计算得出。作为优选,步骤(1)中,自动读取数据块信息文件,将缓存文件的空间使用情况保存在内存中。作为优选,步骤(4)和步骤(5)中,数据储存文件的大小根据指定的文件大小值生成。本专利技术由于采用了以上技术方案,具有显著的技术效果:在这个系统中,从服务端下载数据到内存后,为其建立索引信息,分配大文件的数据块使用空间,并写入大文件中。考虑到网络的数据传输速度远及不上本地数据的加载速度,这个系统可以保证当客户端需要加载相同的数据使用时,能通过大文件快速找到相关的数据,从而达到网络数据的加速加载效果。同时,由于对大文件的容量进行了控制,并且使用了LRU算法对缓存数据进行管理,那些长久未被使用到的数据将被新的数据替换,从而使整个大文件中的数据没有冗余的部分。附图说明图1是本专利技术一种固定大文件内部资源的控制方法及其设计方法的流程示意图。具体实施方式下面结合附图与实施例对本专利技术作进一步详细描述。如图1所示,一种固定大文件内部资源的控制方法,包括如下步骤:(1)在程序启动时,查询指定路径是否已生成了数据存储文件;如果没有生成数据存储文件,则使用预先设定的文件大小值生成对应的数据存储文件、索引文件和数据块信息文件;如果已存在相应的数据存储文件,那么加载其中的索引文件和数据块信息文件,还原出数据存储文件中的数据存储信息,并且记录数据存储文件的可使用的空间信息;(2)在读取索引信息后,生成一张用于查询存储信息的哈希表,哈希表在程序的运行周期中不会被更换,其中的索引信息可以被重复使用,用于能够更快速地查询数据信息;(3)在数据输入和输出过程中,索引文件中包含的索引信息包括有标识位、数据存储起始地址、数据大小、数据最近访问时间以及校验位,用于配合记录数据信息;索引文件的头部则存储了与索引文件本身相关的头信息,用于校验索引文件是否有效;(4)数据块信息文件中包含了数据存储文件中的空间使用记录,还包括数据存储文件中每份数据占用的空间大小、数据存储的位置信息和数据块的有效信息;(5)数据存储文件中,顺序、紧密排列存放了有效数据或未使用的存储空间。步骤(3)中,标识位是一个数值,其中数值为0表示该条索引已被失效,等待下一条索引写入,数值为1则表示该条索引有效;数据存储起始地址表示该信息记录了该条索引对应的数据在数据存储文件中的存储地址;数据大小用于表明该条索引对应的数据的大小;数据最近访问时间是每当该条索引所对应的数据被访问时所记录的时间数据,数据最近访问时间会被更新记录在数据块信息文件中;校验位用于校验该条索引对应的数据的完整性,校验位的值根据数据校验算法计算得出。步骤(1)中,自动读取数据块信息文件,将缓存文件的空间使用情况保存在内存中。步骤(4)和步骤(5)中,数据储存文件的大小根据指定的文件大小值生成。当有新数据需要写入时,其写入流程为:先查找数据存储文件中可写入空闲块位置,在该位置写入数据,在数据块信息文件中标识该块已使用,再在索引文件中写入该过索引信息并设置校验位。如果索引写入时系统异常推出等情况导致索引异常,在下一次读取索引文件时可判断该索引无效,并删除数据存储文件中的对应数据。如果数据块管理索引出现异常,只是未标识数据块存在数据,因为未写入索引文件,对数据无影响。在数据写入过程中异常,因为未更改空闲块和索引管理,对整个存储系统无影响。实施例1一份新数据需要写入数据存储文件时,其写入流程为:先查找数据存储文件中可写入空闲块位置,在该位置写入数据,在数据块信息文件中标识该块已使用,再在索引文件中写入该数据存储信息并设置校验位。总之,以上所述仅为本专利技术的较佳实施例,凡依本专利技术申请专利范围所作的均等变化与修饰,皆应属本专利技术专利的涵盖范围。本文档来自技高网...

【技术保护点】
一种固定大文件内部资源的控制方法,其特征包括如下步骤:(1)在程序启动时,查询指定路径是否已生成了数据存储文件;如果没有生成数据存储文件,则使用预先设定的文件大小值生成对应的数据存储文件、索引文件和数据块信息文件;如果已存在相应的数据存储文件,那么加载其中的索引文件和数据块信息文件,还原出数据存储文件中的数据存储信息,并且记录数据存储文件的可使用的空间信息;(2)在读取索引信息后,生成一张用于查询存储信息的哈希表,哈希表在程序的运行周期中不会被更换,其中的索引信息可以被重复使用,用于能够更快速地查询数据信息;(3)在数据输入和输出过程中,索引文件中包含的索引信息包括有标识位、数据存储起始地址、数据大小、数据最近访问时间以及校验位,用于配合记录数据信息;索引文件的头部则存储了与索引文件本身相关的头信息,用于校验索引文件是否有效;(4)数据块信息文件中包含了数据存储文件中的空间使用记录,还包括数据存储文件中每份数据占用的空间大小、数据存储的位置信息和数据块的有效信息;(5)数据存储文件中,顺序、紧密排列存放了有效数据或未使用的存储空间。

【技术特征摘要】
1.一种固定大文件内部资源的控制方法,其特征包括如下步骤:(1)在程序启动时,查询指定路径是否已生成了数据存储文件;如果没有生成数据存储文件,则使用预先设定的文件大小值生成对应的数据存储文件、索引文件和数据块信息文件;如果已存在相应的数据存储文件,那么加载其中的索引文件和数据块信息文件,还原出数据存储文件中的数据存储信息,并且记录数据存储文件的可使用的空间信息;(2)在读取索引信息后,生成一张用于查询存储信息的哈希表,哈希表在程序的运行周期中不会被更换,其中的索引信息可以被重复使用,用于能够更快速地查询数据信息;(3)在数据输入和输出过程中,索引文件中包含的索引信息包括有标识位、数据存储起始地址、数据大小、数据最近访问时间以及校验位,用于配合记录数据信息;索引文件的头部则存储了与索引文件本身相关的头信息,用于校验索引文件是否有效;(4)数据块信息文件中包含了数据存储文件中的空间使用记录,还包括数据存储文件中每份数据占用的空间大小、数据存储的位置信息和数据...

【专利技术属性】
技术研发人员:骆关培俞蔚
申请(专利权)人:浙江科澜信息技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1