一种文件管理方法及系统与流程

文档序号:15637034发布日期:2018-10-12 21:36阅读:167来源:国知局

本发明涉及文件管理技术领域,特别涉及一种文件管理方法及系统。



背景技术:

随着现代科学技术的高速发展发展,大容量数据的存储与读取已经在航天、勘测、医疗等众多领域得到了广泛的运用。在实际环境中,人们总是希望通过大量的数据来更好地研究数据间的联系,或者通过数据的比对来及时发现问题从而避免可能出现的问题,进而在今后的设计实践中提供直接性的经验。所以,大容量存储器的研究从未止步。

在科学研究和工业生产中需要处理越来越多的动态信息,需要研究的数据量也越来越多,相应地,对存储器的存储容量,存储速度以及对存储器的读取速度、读取方式也就提出了更高的要求。这时,与读取速度有直接关系的文件处理系统就显得分外重要。

在数据采集存储的应用领域方面,根据系统的资源环境,文件系统被大致分为基于操作系统下的文件管理系统和无操作系统的文件管理系统。无操作系统的文件管理系统适用于功能相对简单,专用性较强的存储设备中。这种文件管理具有很强的灵活性,并且,可以根据应用环境的不同而对其功能进行相应的修改,从而达到用最小成本实现最优性能的目的。

现如今,针对于存储器的文件管理方法日新月异。但总体来说,现有的文件管理方法大都是在nandflash数据区中预留若干块,将这些块用来存储文件的索引信息,索引信息一般包括文件总数、文件大小、文件更新时间、文件存放首末地址等一些用户文件的具体信息,并对这些信息进行及时更新等操作。最后,通过上位机读取索引信息列表来实现对用户数据的可视化读取。但由于这类文件管理方法需要额外开辟一定容量内存来存储索引信息,而且每次存储数据都需对索引区内的文件进行更新,不仅更新方式较为繁琐,程序设计也是比较复杂的,况且频繁对预留存储文件信息的块进行擦除、写入等操作,会使得该部分的块存储空间损耗不能够得到很好的均衡。



技术实现要素:

针对现有技术的不足,本发明目的之一在于提供一种简单有效、可对大容量数据进行有效管理的文件管理方法。

一种文件管理方法,该方法包括:

fpga接收上位机发送的写日期信息请求,根据所述写日期信息请求从rom存储单元的地址区获取本次存储的起始块地址,从授时模块获取日期信息,并将获取的日期信息写入flash存储单元的空闲区;

所述fpga接收上位机发送的写用户文件请求,根据所述写用户文件请求从所述rom存储单元的地址区获取本次存储的起始块地址,并根据获取的起始块地址将用户文件按顺序写入flash存储单元的数据区;

所述fpga接收上位机发送的读文件日期信息请求,根据所述读文件日期信息请求从flash存储单元的空闲区读取文件日期信息;

所述上位机对读取的文件日期信息进行分析整理,得到文件日期信息列表;

所述上位机从所述文件信息列表中找到所需用户文件的日期信息和起始块地址,并根据找到的用户文件的日期信息和起始块地址从所述flash存储单元的数据区读取用户文件。

作为本发明的进一步改进,所述在首次接收上位机发送的写文件日期信息请求之前,fpga将flash存储单元的首地址信息写入rom存储单元的地址区;

在第n(n为大于等于1的整数)次将用户文件按顺序写入flash存储单元的数据区之后,fpga将rom存储单元的地址区的地址更新为第n+1次数据存储的起始块地址。

作为本发明的进一步改进,该方法还包括:将rom存储单元和flash存储单元的配置信息写入rom存储单元的配置区。

作为本发明的进一步改进,所述配置信息至少包括rom存储单元和flash存储单元的容量、配置区容量、配置区起始地址、地址区容量、地址区起始地址、数据区容量、数据区起始地址、一个完整帧结构字节数、帧结构表、采样控制速率。

作为本发明的进一步改进,所述并根据获取的起始块地址将用户文件数据按顺序写入flash存储单元的数据区,具体包括:

当写一个块时,判断下个块的存储空间是否为空,若是,则擦除下个块的数据后,将用户文件按顺序写入flash存储单元的数据区,否则,直接将用户文件数据按顺序写入flash存储单元的数据区。

作为本发明的进一步改进,当收到上位机发送的停止记录命令或突然掉电时,电源模块提供电能将flash存储单元的数据区中缓存的用户文件写完并更新rom存储单元的地址区中的地址信息,所述地址信息包括起始块地址、用户文件占用块数。

作为本发明的进一步改进,所述并根据找到的用户文件的日期信息和起始块地址从所述flash存储单元的数据区读取用户文件,具体包括:当读一个块时,判断其是否为最后一块,若是,则在读完该块后停止读取;否则,在读完该块后,继续读取下一块。

本发明目的之二在于提供一种简单有效、可对大容量数据进行有效管理的文件管理系统。

一种文件管理系统,该系统包括:包括:上位机、fpga、授时模块和数据存储模块,所述数据存储模块包括rom存储单元和flash存储单元;

所述rom存储单元存储单元分为配置区和地址区,所述flash存储单元分为数据区和空闲区,所述配置区用于存储所述数据存储模块的配置信息,所述地址区用于存储用户文件的起始块地址、用户文件占用块数;所述数据区用于存储用户文件;所述空闲区用于存储日期信息;

所述上位机用于向所述fpga发送写日期信息请求;

所述fpga用于接收所述写日期信息请求,根据所述写日期信息请求从所述地址区获取本次存储的起始块地址,从授时模块获取日期信息,并将获取的日期信息写入所述空闲区的对应页中;

所述授时模块用于提供日期信息;

所述上位机还用于向所述fpga发送写用户文件请求;

所述fpga还用于接收写用户文件请求,根据所述写用户文件请求从所述地址区获取本次存储的起始块地址,并根据获取的起始块地址将用户文件按顺序写入所述数据区;

所述上位机还用于向所述fpga发送读文件日期信息请求;

所述fpga还用于接收所述读文件日期信息请求,根据所述读文件日期信息请求从所述空闲区读取日期信息;

所述上位机还用于对读取的日期信息进行分析整理,得到文件日期信息列表;

所述上位机还用于从所述文件日期信息列表找到所需用户文件的日期信息和起始块地址,根据找到的用户文件的日期信息和起始块地址从所述数据区读取用户文件。

作为本发明的进一步改进,所述fpga还用于:

在首次接收上位机发送的写文件日期信息请求之前,将flash存储单元的首地址信息写入rom存储单元的地址区;

在第n(n为大于等于1的整数)次将用户文件按顺序写入flash存储单元的数据区之后,将rom存储单元的地址区的地址更新为第n+1次数据存储的起始块地址。

作为本发明的进一步改进,该系统还包括:电源模块,用于当收到上位机发送的停止记录命令或突然掉电时,提供电能将flash存储单元的数据区中缓存的用户文件写完并更新rom存储单元的地址区中的地址信息。

本发明的有益效果:

本发明通过利用flash数据区来存储用户文件,利用flash空闲区来存储文件日期信息,利用rom配置区来存储配置信息,利用rom地址区来存储用户文件的起始块地址,通过获取空闲区文件日期信息,得到用户文件信息列表,在文件信息列表中读取用户文件存储的块起始地址,根据该日期信息对应的起始地址即可确定出所需用户文件的存储位置,从而实现上位机对用户数据的可视化选择性读取。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。

附图说明

图1是本发明实施例中文件管理方法的示意图;

图2是本发明实施例中flash存储单元的结构示意图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。

如图1所示,为本发明实施例中,该方法包括以下步骤:

步骤s110、fpga接收上位机发送的写日期信息请求,根据所述写日期信息请求从rom存储单元的地址区获取本次存储的起始块地址,从授时模块获取日期信息,并将获取的日期信息写入flash存储单元的空闲区;

其中,日期信息存储于用户数据对应的每一块的每一页中。将获取的日期地址写入的空闲区为获取的起始块地址所对应的空闲区;授时模块为gps授时模块,日期信息的格式为年月日时分秒毫秒,年占用11位,月占用4bit,日占用5bit,时占用5bit,分占用6bit,秒占用6bit,毫秒占用6bit,空闲区每页写日期信息占用43位,即最多占用六个字节。

优选的,在首次执行步骤s110之前,还包括以下步骤:

将rom存储单元和flash存储单元的配置信息写入rom存储单元的配置区;

具体的,所述配置信息包括rom存储单元和flash存储单元的容量、配置区容量、配置区起始地址、地址区容量、地址区起始地址、数据区容量、数据区起始地址、一个完整帧结构字节数、帧结构表等。

优选的,在首次执行步骤s110之前,还包括以下步骤:

所述fpga将flash存储单元的首地址信息写入rom存储单元的地址区。

其中,由于获取到的文件信息列表中包含用户文件存储的起始块地址,而空闲区中并没有存储用户文件的首地址,这要求在最开始的时候将数据存储的首地址信息回写到文件列表中。

步骤s120、所述fpga接收上位机发送的写用户文件请求,根据所述写用户文件请求从所述rom存储单元的地址区获取本次存储的起始块地址,并根据获取的起始块地址将用户文件按顺序写入flash存储单元的数据区;

优选的,在每一次用户文件写入之后,若没有写满块存储空间,则掉电后的下次数据存储直接从下一个块开始写入。

其中,在第n(n为大于等于1的整数)次将用户文件按顺序写入flash存储单元的数据区之后,fpga将rom存储单元的地址区的地址更新为第n+1次数据存储的起始块地址。

其中,所述并根据获取的起始块地址将用户文件数据按顺序写入flash存储单元的数据区,具体包括:当写一个块时,判断下个块的存储空间是否为空,若是,则擦除下个块的数据后,将用户文件按顺序写入flash存储单元的数据区,否则,直接将用户文件数据按顺序写入flash存储单元的数据区。

步骤s130、所述fpga接收上位机发送的读文件日期信息请求,根据所述读文件日期信息请求从flash存储单元的空闲区读取文件日期信息;

步骤s140、所述上位机对读取的文件日期信息进行分析整理,得到文件日期信息列表;

其中,文件日期信息列表由写用户文件的起始时间、结束时间、数据存放的首地址等构成。

步骤s150、所述上位机从所述文件信息列表中找到所需用户文件的日期信息和起始块地址,并根据找到的用户文件的日期信息和起始块地址从所述flash存储单元的数据区读取用户文件。

其中,所述并根据找到的用户文件的日期信息和起始块地址从所述flash存储单元的数据区读取用户文件,具体包括:当读一个块时,判断其是否为最后一块,若是,则在读完该块后停止读取;否则,在读完该块后,继续读取下一块。

优选的,该方法还包括以下步骤:

当收到上位机发送的停止记录命令或突然掉电时,电源模块提供电能将flash存储单元的数据区中缓存的用户文件写完并更新rom存储单元的地址区中的地址信息。所述地址信息包括起始块地址。

优选的,所述flash存储单元为nandflash大容量存储器。

本发明还包括文件管理系统,该系统包括:上位机、fpga、授时模块和数据存储模块,所述数据存储模块包括rom存储单元和flash存储单元。

rom存储单元存储单元分为配置区和地址区,配置区用于存储数据存储模块的配置信息,地址区用于存储用户文件的起始块地址、用户文件占用块数;

如图2所示,flash存储单元包含若干块,每个块包含若干页,每页又包含数据区和空闲区,数据区用于存储用户文件,空闲区用于存储日期信息。

上位机用于向fpga发送写日期信息请求;授时模块用于提供日期信息;

fpga用于接收所述写日期信息请求,根据上述写日期信息请求从地址区获取本次存储的起始块地址,从授时模块获取日期信息,并将获取的日期信息写入空闲区的对应页中;

其中,日期信息存储于用户数据对应的每一块的每一页中。将获取的日期地址写入的空闲区为获取的起始块地址所对应的空闲区;授时模块为gps授时模块,日期信息的格式为年月日时分秒毫秒,年占用11位,月占用4bit,日占用5bit,时占用5bit,分占用6bit,秒占用6bit,毫秒占用6bit,空闲区每页写日期信息占用43位,即最多占用六个字节。

上位机还用于向fpga发送写用户文件请求;

fpga还用于接收写用户文件请求,根据上述写用户文件请求从地址区获取本次存储的起始块地址,并根据获取的起始块地址将用户文件按顺序写入数据区;

其中,所述并根据获取的起始块地址将用户文件数据按顺序写入数据区,具体包括:当写一个块时,判断下个块的存储空间是否为空,若是,则擦除下个块的数据后,将用户文件按顺序写入flash存储单元的数据区,否则,直接将用户文件数据按顺序写入flash存储单元的数据区。

优选的,在每一次用户文件写入之后,若没有写满块存储空间,则掉电后的下次数据存储直接从下一个块开始写入。

上位机还用于向fpga发送读文件日期信息请求;

fpga还用于接收上述读文件日期信息请求,根据上述读文件日期信息请求从空闲区读取日期信息;

上位机还用于对读取的日期信息进行分析整理,得到文件日期信息列表;

其中,文件日期信息列表由写用户文件的起始时间、结束时间、数据存放的首地址等构成。

上位机还用于从上述文件日期信息列表找到所需用户文件的日期信息和起始块地址,根据找到的用户文件的日期信息和起始块地址从数据区读取用户文件。

其中,所述并根据找到的用户文件的日期信息和起始块地址从所述flash存储单元的数据区读取用户文件,具体包括:当读一个块时,判断其是否为最后一块,若是,则在读完该块后停止读取;否则,在读完该块后,继续读取下一块。

优选的,fpga还用于:

在首次接收上位机发送的写日期信息请求之前,将flash存储单元的首地址信息写入rom存储单元的地址区。

其中,由于获取到的文件信息列表中包含用户文件存储的起始块地址,而空闲区中并没有存储用户文件的首地址,这要求在最开始的时候将数据存储的首地址信息回写到文件列表中。

在第n(n为大于等于1的整数)次将用户文件按顺序写入flash存储单元的数据区之后,fpga将rom存储单元的地址区的地址更新为第n+1次数据存储的起始块地址。

优选的,该系统还包括电源模块,电源模块用于当收到上位机发送的停止记录命令或突然掉电时,提供电能将flash存储单元的数据区中缓存的用户文件写完并更新rom存储单元的地址区中的地址信息。

优选的,所述flash存储单元为nandflash大容量存储器。

本发明的有益效果:

本发明通过利用flash数据区来存储用户文件,利用flash空闲区来存储文件日期信息,利用rom配置区来存储配置信息,利用rom地址区来存储用户文件的起始块地址,通过获取空闲区文件日期信息,得到用户文件信息列表,在文件信息列表中读取用户文件存储的块起始地址,根据该日期信息对应的起始地址和用户文件占用块数即可确定出所需用户文件的存储位置,从而实现上位机对用户数据的可视化选择性读取。

以上实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。

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