CN106095331B - 一种固定大文件内部资源的控制方法 - Google Patents
一种固定大文件内部资源的控制方法 Download PDFInfo
- Publication number
- CN106095331B CN106095331B CN201610377680.8A CN201610377680A CN106095331B CN 106095331 B CN106095331 B CN 106095331B CN 201610377680 A CN201610377680 A CN 201610377680A CN 106095331 B CN106095331 B CN 106095331B
- Authority
- CN
- China
- Prior art keywords
- file
- data
- index
- information
- data storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Abstract
本发明涉及计算机领域,公开了一种固定大文件内部资源的控制方法,通过将零散数据的索引信息、数据块信息和数据存储文件分离,同时使用内存文件映射技术,从而实现最大化利用有限硬盘空间、并能进行高效的文件索引和读取。索引文件记录了数据在数据存储文件中的存放位置、大小、最后一次使用情况等信息,防止读写错误带来的数据损坏,每一个数据末位置都使用一个用于校验数据完整性的标识符;数据块信息文件记录缓存文件中尚未被使用的空间信息,当有新数据需要写入数据存储文件中时,会从这个文件中查询是否还有可使用的连续空间。本发明中的数据存储文件大小可自定义,文件大小将保持不变,使得程序对硬盘空间的控制能力增强。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及了一种固定大文件内部资源的控制方法。
背景技术
当网络结构为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
一份新数据需要写入数据存储文件时,其写入流程为:先查找数据存储文件中可写入空闲块位置,在该位置写入数据,在数据块信息文件中标识该块已使用,再在索引文件中写入该数据存储信息并设置校验位。
总之,以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所作的均等变化与修饰,皆应属本发明专利的涵盖范围。
Claims (4)
1.一种固定大文件内部资源的控制方法,其特征包括如下步骤:
(1)在程序启动时,查询指定路径是否已生成了数据存储文件;如果没有生成数据存储文件,则使用预先设定的文件大小值生成对应的数据存储文件、索引文件和数据块信息文件;如果已存在相应的数据存储文件,那么加载其中的索引文件和数据块信息文件,还原出数据存储文件中的数据存储信息,并且记录数据存储文件的可使用的空间信息;
(2)在读取索引信息后,生成一张用于查询存储信息的哈希表,哈希表在程序的运行周期中不会被更换,其中的索引信息可以被重复使用,用于能够更快速地查询数据信息;
(3)在数据输入和输出过程中,索引文件中包含的索引信息包括有标识位、数据存储起始地址、数据大小、数据最近访问时间以及校验位,用于配合记录数据信息;索引文件的头部则存储了与索引文件本身相关的头信息,用于校验索引文件是否有效;
(4)数据块信息文件中包含了数据存储文件中的空间使用记录,还包括数据存储文件中每份数据占用的空间大小、数据存储的位置信息和数据块的有效信息;
(5)数据存储文件中,顺序、紧密排列存放了有效数据或未使用的存储空间。
2.根据权利要求1所述的一种固定大文件内部资源的控制方法,其特征在于:步骤(3)中,标识位是一个数值,其中数值为0表示该条索引已被失效,等待下一条索引写入,数值为1则表示该条索引有效;数据存储起始地址表示该信息记录了该条索引对应的数据在数据存储文件中的存储地址;数据大小用于表明该条索引对应的数据的大小;数据最近访问时间是每当该条索引所对应的数据被访问时所记录的时间数据,数据最近访问时间会被更新记录在数据块信息文件中;校验位用于校验该条索引对应的数据的完整性,校验位的值根据数据校验算法计算得出。
3.根据权利要求1所述的一种固定大文件内部资源的控制方法,其特征在于:步骤(1)中,自动读取数据块信息文件,将缓存文件的空间使用情况保存在内存中。
4.根据权利要求1所述的一种固定大文件内部资源的控制方法,其特征在于:步骤(4)和步骤(5)中,数据储存文件的大小根据指定的文件大小值生成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610377680.8A CN106095331B (zh) | 2016-05-31 | 2016-05-31 | 一种固定大文件内部资源的控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610377680.8A CN106095331B (zh) | 2016-05-31 | 2016-05-31 | 一种固定大文件内部资源的控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106095331A CN106095331A (zh) | 2016-11-09 |
CN106095331B true CN106095331B (zh) | 2020-06-23 |
Family
ID=57231037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610377680.8A Active CN106095331B (zh) | 2016-05-31 | 2016-05-31 | 一种固定大文件内部资源的控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106095331B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106951183A (zh) * | 2017-02-27 | 2017-07-14 | 南京杰迈视讯科技有限公司 | 一种高效可靠的网络摄像机数据存储方法 |
CN107704202B (zh) * | 2017-09-18 | 2021-09-07 | 北京京东尚科信息技术有限公司 | 一种数据快速读写的方法和装置 |
CN109816798A (zh) * | 2018-12-25 | 2019-05-28 | 安徽汉高信息科技有限公司 | 一种基于离散模型的名单管理的数据处理系统 |
CN112394876B (zh) * | 2019-08-14 | 2024-02-23 | 深圳市特思威尔科技有限公司 | 大文件存储/读取方法、存储/读取装置和计算机设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007103141A2 (en) * | 2006-03-01 | 2007-09-13 | Phd Technologies Inc. | Method and apparatus for providing virtual machine backup |
CN104239575A (zh) * | 2014-10-08 | 2014-12-24 | 清华大学 | 一种虚拟机镜像文件存储、分发方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101370025A (zh) * | 2007-08-17 | 2009-02-18 | 北京灵图软件技术有限公司 | 地理信息数据的存储方法、调度方法及管理系统 |
CN101576834B (zh) * | 2009-05-08 | 2012-05-30 | 西安蓝海本立信息科技有限公司 | 基于时间戳建立数据视图的连续数据保护系统及方法 |
US8849773B2 (en) * | 2010-04-28 | 2014-09-30 | Dell Products L.P. | Methods and apparatus for active optimization of data |
WO2013111187A1 (en) * | 2012-01-25 | 2013-08-01 | Hitachi, Ltd. | Single instantiation method using file clone and file storage system utilizing the same |
CN103544168A (zh) * | 2012-07-12 | 2014-01-29 | 北京颐达合创科技有限公司 | 文件下载控制装置和文件下载控制方法 |
CN105320669B (zh) * | 2014-06-19 | 2019-09-27 | 腾讯科技(深圳)有限公司 | 数据存储、读取方法及数据存储、读取装置 |
-
2016
- 2016-05-31 CN CN201610377680.8A patent/CN106095331B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007103141A2 (en) * | 2006-03-01 | 2007-09-13 | Phd Technologies Inc. | Method and apparatus for providing virtual machine backup |
CN104239575A (zh) * | 2014-10-08 | 2014-12-24 | 清华大学 | 一种虚拟机镜像文件存储、分发方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106095331A (zh) | 2016-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108459826B (zh) | 一种处理io请求的方法及装置 | |
US7694103B1 (en) | Efficient use of memory and accessing of stored records | |
CN106095331B (zh) | 一种固定大文件内部资源的控制方法 | |
CN111007991B (zh) | 基于nvdimm分离读写请求的方法及其计算机 | |
WO2017113213A1 (zh) | 访问请求处理方法、装置及计算机系统 | |
CN106326229B (zh) | 一种嵌入式系统的文件存储方法和装置 | |
EP3206128A1 (en) | Data storage method, data storage apparatus, and storage device | |
CN110555001B (zh) | 数据处理方法、装置、终端及介质 | |
CN107329704B (zh) | 一种缓存镜像方法及控制器 | |
CN111694770B (zh) | 一种处理io请求的方法及装置 | |
CN108628542B (zh) | 一种文件合并方法及控制器 | |
CN110765076A (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN109407985B (zh) | 一种数据管理的方法以及相关装置 | |
CN112631950A (zh) | 一种l2p表的保存方法、系统、设备以及介质 | |
US9934248B2 (en) | Computer system and data management method | |
CN107526533B (zh) | 存储管理方法及设备 | |
CN110858122B (zh) | 存储数据的方法和装置 | |
CN112995257B (zh) | 基于云存储架构的缓存扩容方法、装置以及存储介质 | |
CN112115521B (zh) | 数据访问方法及装置 | |
US10430287B2 (en) | Computer | |
CN110795031A (zh) | 一种基于全闪存储的数据重删方法、装置和系统 | |
CN109508140B (zh) | 存储资源管理方法、装置、电子设备及电子设备、系统 | |
CN115328851A (zh) | 一种数据保护方法、装置、设备及介质 | |
CN108984432B (zh) | 一种处理io请求的方法及装置 | |
CN111399753B (zh) | 写入图片的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |