CN111159114A - 文件存储方法、装置及服务器 - Google Patents

文件存储方法、装置及服务器 Download PDF

Info

Publication number
CN111159114A
CN111159114A CN201911399326.5A CN201911399326A CN111159114A CN 111159114 A CN111159114 A CN 111159114A CN 201911399326 A CN201911399326 A CN 201911399326A CN 111159114 A CN111159114 A CN 111159114A
Authority
CN
China
Prior art keywords
file
item
data
data management
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.)
Pending
Application number
CN201911399326.5A
Other languages
English (en)
Inventor
史宝光
李国政
谭范柳
张兴星
许游
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Druid Technology Co ltd
Cold and Arid Regions Environmental and Engineering Research Institute of CAS
Original Assignee
Chengdu Druid Technology Co ltd
Cold and Arid Regions Environmental and Engineering Research Institute of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chengdu Druid Technology Co ltd, Cold and Arid Regions Environmental and Engineering Research Institute of CAS filed Critical Chengdu Druid Technology Co ltd
Priority to CN201911399326.5A priority Critical patent/CN111159114A/zh
Publication of CN111159114A publication Critical patent/CN111159114A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/168Details of user interfaces specifically adapted to file systems, e.g. browsing and visualisation, 2d or 3d GUIs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了文件存储方法、装置及服务器,涉及物联网技术领域,该方法包括:获取待存储文件数据包的文件ID,根据文件ID从文件信息区获取有效的文件数据管理子项,根据文件数据管理子项在预设的存储区中寻找指定长度的空闲空间;在空闲空间中写入待存储文件数据包的文件头,以及待存储文件数据包的文件数据;当监测到文件数据写入完成后,对文件数据管理子项进行更新。本发明提供的文件存储方法、装置及服务器,可以对存储区中存储的所有文件进行管理,并且,文件存储***包括的根目录区、文件信息区和数据区,可以针对物联网终端的数据特性对文件数据包进行快速的书读、写、删除流程,以尽可能少的IO操作次数,进而提高数据的操作速度。

Description

文件存储方法、装置及服务器
技术领域
本发明涉及物联网的技术领域,尤其是涉及一种文件存储方法、装置及服务器。
背景技术
随着物联网的快速发展,各种物联网应用越来越丰富,在很多物联网的应用场合中,对功耗也越来越高。为了进一步降低功耗,终端采集到的数据并非实时传输出去,而是将数据存储在预设的存储区中进行存取,并在合适的时机进行传输。
目前有很多使用广泛的嵌入式文件管理***,但这些文件管理***为文件的管理方式普遍存在存储结构复杂、读写操作时IO操作次数多等缺点。
发明内容
有鉴于此,本发明的目的在于提供一种文件存储方法、装置及服务器,以缓解上述技术问题。
第一方面,本发明实施例提供了一种文件存储方法,该方法应用于配置有文件存储***的服务器,文件存储***包括:根目录区、文件信息区和数据区;其中,根目录区,用于存储文件存储***的格式化信息;文件信息区,用于创建存储文件,并存储创建后的存储文件的文件信息;以及,将存储文件的数据存储在数据区,以存储上述存储文件;该方法包括:获取待存储文件数据包的文件ID,根据文件ID从文件信息区获取有效的文件数据管理子项,其中,文件数据管理子项至少包括:文件起始地址、文件结束地址、文件大小、文件包数量、文件数据管理信息子项标志;根据文件数据管理子项在预设的存储区中寻找指定长度的空闲空间;在空闲空间中写入待存储文件数据包的文件头,以及待存储文件数据包的文件数据;当监测到文件数据写入完成后,对文件数据管理子项进行更新。
在一种较佳的实施方式中,上述对文件数据管理子项进行更新的步骤包括:将待存储文件数据包存储之前,存储区中最后一个数据包的下一个数据地址更新为待存储文件数据包的首地址;以及,根据待存储文件数据包更新文件数据管理子项的文件起始地址、文件结束地址、文件大小、文件包数量、文件数据管理信息子项标志。
在一种较佳的实施方式中,上述方法还包括:如果监测到文件数据管理子项更新完成,将文件数据管理子项加载到RAM中,以对RAM中已加载的文件数据管理子项进行更新。
在一种较佳的实施方式中,上述方法还包括:如果监测到文件读取操作,获取待读取文件ID,以及待读取文件ID对应的文件数据管理子项;
根据文件读取操作类型提取该文件数据管理子项中待读取文件ID对应的文件起始地址和文件结束地址;根据待读取文件ID对应的文件起始地址和文件结束地址读取指定数据长度的数据。
在一种较佳的实施方式中,上述方法还包括:如果监测到文件删除操作,获取待删除文件ID,以及,待删除文件ID对应的文件数据管理子项;根据文件删除操作类型获取该文件数据管理子项中待删除文件ID对应的文件起始地址和文件结束地址;将待删除文件ID对应的文件起始地址和文件结束地址之间的数据设置为无效数据,并更新文件数据管理子项。
在一种较佳的实施方式中,上述方法还包括:如果监测到创建操作,从文件信息区中申请指定数量个文件块;将申请成功的文件块设置为占用标志;并在检测到首个文件写入操作时,在首个文件块中写入文件头,并更新文件数据管理子项。
在一种较佳的实施方式中,上述格式化信息包括以下一种或多种信息:块大小、块数量、文件***起始地址、版本信息、操作单元和校验和;文件信息区包括以下一种或多种信息:块信息、文件头信息和文件数据管理子项;块信息包括以下一种或多种信息:块标志、块属性、所属文件ID和操作类型;文件头信息包括以下一种或多种信息:文件创建时间、文件ID、文件数据操作类型和文件名。
第二方面,本发明实施例提供了一种文件存储装置包括,该装置配置有文件存储***,文件存储***包括:根目录区、文件信息区和数据区;其中,根目录区,用于存储文件存储***的格式化信息;文件信息区,用于创建存储文件,并存储创建后的存储文件的文件信息;以及,将存储文件的数据存储在数据区,以存储上述存储文件;该装置包括:获取模块,用于获取待存储文件数据包的文件ID,根据文件ID从文件信息区获取有效的文件数据管理子项,其中,文件数据管理子项至少包括:文件起始地址、文件结束地址、文件大小、文件包数量、文件数据管理信息子项标志;寻找模块,用于根据文件数据管理子项在预设的存储区中寻找指定长度的空闲空间;写入模块,用于在空闲空间中写入待存储文件数据包的文件头,以及待存储文件数据包的文件数据;更新模块,用于当监测到文件数据写入完成后,对文件数据管理子项进行更新。
第三方面,本发明实施例提供了一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述第一方面所述的文件存储方法的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面所述的文件存储方法的步骤。
本发明实施例带来了以下有益效果:
本发明实施例提供的文件存储方法、装置及服务器,能够获取待存储文件数据包的文件ID,根据文件ID从文件信息区获取有效的文件数据管理子项,并根据文件数据管理子项在预设的存储区中寻找指定长度的空闲空间,进而在空闲空间中写入待存储文件数据包的文件头,以及待存储文件数据包的文件数据;当监测到文件数据写入完成后,对文件数据管理子项进行更新,由于上述文件数据管理子项是文件信息区中保存的,因此,可以对存储区中存储的所有文件进行管理,并且,文件存储***包括的根目录区、文件信息区和数据区,可以针对物联网终端的数据特性对文件数据包进行快速的书读、写、删除流程,以尽可能少的IO操作次数,进而提高数据的操作速度。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种文件存储***的结构示意图;
图2为本发明实施例提供的一种文件存储方法的流程图;
图3为本发明实施例提供的一种文件信息区的结构示意图;
图4为本发明实施例提供的一种数据区的结构示意图;
图5为本发明实施例提供的一种文件存储装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在很多物联网的应用场合中,对终端的体积和功耗有着严格的要求。终端需要在及其严格的功耗的条件下完成物联网感知层的工作,包括数据的采集、传输。为了进一步降低功耗,终端采集到的数据并非实时传输出去,而是将数据存储在flash存储器中,并在合适的时机进行传输。这些数据的存储包含以下特点:周期性采集、数据包之间关联性弱、时间相关性敏感(一般为数据先进先出或先进后出)。
目前,对数据的存储管理一般采用两种方式:使用文件***和不使用文件***。不使用文件***的方式优点是存储结构简单、读写数据的速度较快,缺点是不能进行复杂数据的管理、在使用前必须规划好每一类数据的长度、占用空间和数据地址,存在较大的浪费空间,不利于后期的扩展维护。使用文件***则和不使用文件***相反,它能管理复杂的数据,支持动态的数据读写,利于扩展和维护。
目前,有很多使用广泛的嵌入式文件管理***,如JFFS2、YAFFS2、FAT系列等等,但这些文件普遍存在存储结构复杂、读写操作时IO操作次数多等缺点。
基于此,本发明实施例在于提高一种文件存储方法、装置及服务器,以缓解上述技术问题。
为便于对本实施例进行理解,下面对本发明实施例进行详细介绍。
在一种可能的实施方式中,本发明实施例提供了一种文件存储方法,具体地,该方法应用于配置有文件存储***的服务器,文件存储***包括:根目录区、文件信息区和数据区。
如图1所示的一种文件存储***的结构示意图,包括根目录区100、文件信息区102和数据区104。其中,根目录区,用于存储文件存储***的格式化信息;文件信息区,用于创建存储文件,并存储创建后的存储文件的文件信息;以及,将存储文件的数据存储在数据区,以存储上述存储文件。
具体地,根目录区中包含的格式化信息包括以下一种或多种信息:块大小、块数量、文件***起始地址、版本信息、操作单元和校验和,其中,操作单元为一次IO的操作字节数。
进一步,上述存储文件的文件信息区包括以下一种或多种信息:块信息、文件头信息和文件数据管理子项;其中,块信息包括以下一种或多种信息:块标志、块属性、所属文件ID和操作类型;具体地,快标注可以是空闲、占用、待回收等;块属性可以包括属于文件信息区或者数据区;操作类型则指FIFO(First In First Out,先进先出)和FILO(First InLast Out,先进后出)。上述文件头信息则包括以下一种或多种信息:文件创建时间、文件ID、文件数据操作类型和文件名。其中,文件数据操作类型也指FIFO和FILO。
进一步,上述数据区则包含各个文件的数据,其结构为:块信息和数据包;其中,块信息与文件信息区的块信息相同。数据包则包含数据包头和数据,其中,数据包头包括:上一个数据包地址、下一个数据包地址、数据包数据长度、数据标志(有效、无效、未使用)。
此外,在实际使用时,本发明实施例中,对于文件存储***的根目录区、文件信息区和数据区一般做以下限定:
(1)根目录区占一个或多个块,其内容一旦写入,即标志文件存储***建立,在之后的文件存储***操作中不得更改其内容。
(2)文件信息区包含一个或多个块,每个文件占用一个或多个块,无论是一个或多个块,每个文件占用的块应相等且必须在文件存储***初始化时确定(通常在静态编译时确定)。
(3)同一个块同一个时刻只能属于一个文件。
(4)文件存储***分配ID时将文件占用的块中的最小块ID作为文件ID。
(5)文件信息区中的每个块都包含多个文件数据管理子项,但应只有一个子项有效,更新子项时,从最后一个子项后的地址紧跟着写入新的子项内容,同时将最后一个子项标志为无效。若最后一个子项所在块的空闲空间已不足写入新的子项,则将下一个块(每个文件占用的块组成环形空间)擦出并写入。
(6)每个文件占有0个或多个数据区中的块,但数据区中的每一个块只能写入一个文件的数据。
基于上述限定前提,图2示出了一种文件存储方法的流程图,包括以下步骤:
步骤S202,获取待存储文件数据包的文件ID,根据文件ID从文件信息区获取有效的文件数据管理子项;
其中,文件数据管理子项至少包括:文件起始地址、文件结束地址、文件大小、文件包数量、文件数据管理信息子项标志;
在实际使用时,上述步骤S202中,获取待存储文件数据包的文件ID的过程实际是打开待存储文件数据包的过程,此时,在打开待存储文件数据包之后,可以根据文件ID从文件信息区获取有效的文件数据管理子项。
在实际使用时,为了避免频繁的IO操作,以提高访问速度,可以在第一次打开文件(即待存储文件数据包)时将文件数据管理子项的信息加载到RAM中,且,每次更新写入新的文件数据管理子项时同步更新RAM中的文件数据管理子项的数据,如此可以避免每次打开文件都需要从预设的存储区中遍历最新的文件数据管理子项。
因此,本发明实施例提供的文件存储方法还包括:如果监测到文件数据管理子项更新完成,将文件数据管理子项加载到RAM中,以对RAM中已加载的文件数据管理子项进行更新。
步骤S204,根据文件数据管理子项在预设的存储区中寻找指定长度的空闲空间;
具体地,上述预设的存储区通常是Flash存储区,该步骤相当于服务器申请存储空间的过程。具体地,文件数据管理子项中包含有文件结束地址,此时,文件存储***会判断文件结束地址所在块是否有足够的空闲长度,如果有,则直接返回空闲空间的首地址,否则将继续申请一个空闲块并返回空闲空间的首地址和空闲块地址。
步骤S206,在空闲空间中写入待存储文件数据包的文件头,以及待存储文件数据包的文件数据;
通常,待存储文件数据包的文件数据是紧跟文件头写入的,以避免文件数据的丢失。
步骤S208,当监测到文件数据写入完成后,对文件数据管理子项进行更新。
具体地,该步骤的更新过程包括:更新写入前最后一个数据包的下一个包数据地址为当前写入的数据包(即待存储文件数据包)的首地址,以及,更新文件数据管理子项的内容,加入该待存储文件数据包的文件起始地址、文件结束地址、文件大小、文件包数量、文件数据管理信息子项标志,然后从最后一个子项后写入,同时将最后一个子项标志为无效。
本发明实施例提供的文件存储方法,能够获取待存储文件数据包的文件ID,根据文件ID从文件信息区获取有效的文件数据管理子项,并根据文件数据管理子项在预设的存储区中寻找指定长度的空闲空间,进而在空闲空间中写入待存储文件数据包的文件头,以及待存储文件数据包的文件数据;当监测到文件数据写入完成后,对文件数据管理子项进行更新,由于上述文件数据管理子项是文件信息区中保存的,因此,可以对存储区中存储的所有文件进行管理,并且,文件存储***包括的根目录区、文件信息区和数据区,可以针对物联网终端的数据特性对文件数据包进行快速的书读、写、删除流程,以尽可能少的IO操作次数,进而提高数据的操作速度。
在实际使用时,上述图2所示的文件存储过程包含以下操作:从文件信息区获取文件数据管理子项(仅上电后第一次,第一次以后该步骤可省略)、申请空间(可能需要申请一块新的块)、写入数据包头和数据、更新写入前最后一个数据包的下一个数据包地址、更新文件数据管理子项。
通常,上述文件存储***包括的根目录区、文件信息区和数据区都是在预设的存储区划分的,如将flash存储器划分成根目录区、文件信息区和数据区等,为了便于理解,图3示出了一种文件信息区的结构示意图,以及,以及图4示出了一种数据区的结构示意图;其中,图3中示出了文件信息区的块信息、文件头信息和文件数据管理子项,且,在图3中文件数据管理子项用子项1~N代替,示出了有N个文件时的存储形式;图4中则示出了块信息和N个数据包。
进一步,对于上述文件数据管理子项进行更新的步骤包括:将待存储文件数据包存储之前,上述存储区中最后一个数据包的下一个数据地址更新为待存储文件数据包的首地址;以及,根据待存储文件数据包更新文件数据管理子项的文件起始地址、文件结束地址、文件大小、文件包数量、文件数据管理信息子项标志,以使文件数据管理子项中包括所有已存储的数据包的信息。
在实际使用时,对于新建立的文件存储***,如果监测到创建操作,则可以从文件信息区中申请指定数量个文件块;将申请成功的文件块设置为占用标志;并在检测到首个文件写入操作时,在首个文件块中写入文件头,并更新文件数据管理子项。
进一步,除了上述文件存储的过程,还包括文件数据包的读取过程。因此,在上述图2所示的文件存储过程的基础上,本发明实施例还包括以下步骤:
(1)如果监测到文件读取操作,获取待读取文件ID,以及待读取文件ID对应的文件数据管理子项;
具体地,在获取待读取文件ID时,实际执行的也是对待读取文件的打开操作,因此,可以获取到该待读取文件ID。
(2)根据文件读取操作类型提取该文件数据管理子项中待读取文件ID对应的文件起始地址和文件结束地址;
(3)根据待读取文件ID对应的文件起始地址和文件结束地址读取指定数据长度的数据。
其中,上述(2)中,获取到待读取文件ID对应的文件起始地址和文件结束地址是为了能够进一步执行(3)时读取到该文件起始地址和文件结束地址间的数据包头,然后从数据包头后的地址中开始读取数据包中指定的数据长度的待读取文件的数据,因此,上述文件数据包的读取过程包括以下过程:从文件信息区获取文件数据管理子项(仅上电后第一次,第一次以后该步骤可省略)、读取数据包头、读取数据包头中指定的数据包长度数据。
进一步,本发明实施例还包括文件数据包的删除过程,因此,在上述图2所示的文件存储过程的基础上,本发明实施例还包括以下步骤:
(1)如果监测到文件删除操作,获取待删除文件ID,以及,待删除文件ID对应的文件数据管理子项;
(2)根据文件删除操作类型获取该文件数据管理子项中待删除文件ID对应的文件起始地址和文件结束地址;
(3)将待删除文件ID对应的文件起始地址和文件结束地址之间的数据设置为无效数据,并更新文件数据管理子项。
其中,删除过程的(1)中,获取待删除文件ID时,实际执行的也是对待删除文件的打开操作,因此,可以获取到该待删除文件ID。
文件删除类型,指的也是FIFO或者FILO类型,根据不同的先进先出和先进后出的类型,文件数据的文件起始位置和文件结束位置是不同的,因此,在删除中的(2)步骤时,需要根据该文件删除操作类型获取待删除文件的文件起始地址和文件结束地址,以便于在删除步骤(3)中将文件起始地址和文件结束位置中的数据包头的数据标志更新为无效。综上,上述删除文件数据包含以下操作:从文件信息区获取文件数据管理子项(仅上电后第一次,第一次以后该步骤可省略)、更新数据包头中的数据标志、更新文件数据管理子项。
综上所述,本发明实施例中,文件存储***划分为根目录区、文件信息区、数据区的形式,以及文件信息区和数据区的结构形式能够保证预设的存储区,如flash存储器中的存储、读取和删除的操作流程,具备良好的扩展性、较高的操作文件操作速度,从而在文件数据的读写过程中节省功耗。
在上述实施方式的基础上,本发明实施例还提供了一种文件存储装置包括,具体地,该装置配置有文件存储***,文件存储***包括:根目录区、文件信息区和数据区;其中,根目录区,用于存储文件存储***的格式化信息;文件信息区,用于创建存储文件,并存储创建后的存储文件的文件信息;以及,将存储文件的数据存储在数据区,以存储上述存储文件。
如图5所示的一种文件存储装置的结构示意图,该装置包括:
获取模块50,用于获取待存储文件数据包的文件ID,根据文件ID从文件信息区获取有效的文件数据管理子项,其中,文件数据管理子项至少包括:文件起始地址、文件结束地址、文件大小、文件包数量、文件数据管理信息子项标志;
寻找模块52,用于根据文件数据管理子项在预设的存储区中寻找指定长度的空闲空间;
写入模块54,用于在空闲空间中写入待存储文件数据包的文件头,以及待存储文件数据包的文件数据;
更新模块56,用于当监测到文件数据写入完成后,对文件数据管理子项进行更新。
本发明实施例提供的文件存储装置,与上述实施例提供的文件存储方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例提供的文件存储方法的步骤。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述实施例的文件存储方法的步骤。
本发明实施例所提供的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种文件存储方法,其特征在于,所述方法应用于配置有文件存储***的服务器,所述文件存储***包括:根目录区、文件信息区和数据区;其中,所述根目录区,用于存储所述文件存储***的格式化信息;所述文件信息区,用于创建存储文件,并存储创建后的所述存储文件的文件信息;以及,将所述存储文件的数据存储在所述数据区,以存储所述存储文件;
所述方法包括:
获取待存储文件数据包的文件ID,根据所述文件ID从所述文件信息区获取有效的文件数据管理子项,其中,所述文件数据管理子项至少包括:文件起始地址、文件结束地址、文件大小、文件包数量、文件数据管理信息子项标志;
根据所述文件数据管理子项在预设的存储区中寻找指定长度的空闲空间;
在所述空闲空间中写入所述待存储文件数据包的文件头,以及所述待存储文件数据包的文件数据;
当监测到所述文件数据写入完成后,对所述文件数据管理子项进行更新。
2.根据权利要求1所述的方法,其特征在于,对所述文件数据管理子项进行更新的步骤包括:
将所述待存储文件数据包存储之前,所述存储区中最后一个数据包的下一个数据地址更新为所述待存储文件数据包的首地址;以及,根据所述待存储文件数据包更新所述文件数据管理子项的文件起始地址、文件结束地址、文件大小、文件包数量、文件数据管理信息子项标志。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果监测到所述文件数据管理子项更新完成,将所述文件数据管理子项加载到RAM中,以对所述RAM中已加载的文件数据管理子项进行更新。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果监测到文件读取操作,获取待读取文件ID,以及所述待读取文件ID对应的文件数据管理子项;
根据文件读取操作类型提取该文件数据管理子项中所述待读取文件ID对应的文件起始地址和文件结束地址;
根据所述待读取文件ID对应的文件起始地址和文件结束地址读取指定数据长度的数据。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果监测到文件删除操作,获取待删除文件ID,以及,所述待删除文件ID对应的文件数据管理子项;
根据文件删除操作类型获取该文件数据管理子项中所述待删除文件ID对应的文件起始地址和文件结束地址;
将所述待删除文件ID对应的文件起始地址和文件结束地址之间的数据设置为无效数据,并更新所述文件数据管理子项。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果监测到创建操作,从所述文件信息区中申请指定数量个文件块;
将申请成功的所述文件块设置为占用标志;
并在检测到首个文件写入操作时,在首个文件块中写入文件头,并更新所述文件数据管理子项。
7.根据权利要求1所述的方法,其特征在于,所述格式化信息包括以下一种或多种信息:块大小、块数量、文件***起始地址、版本信息、操作单元和校验和;
所述文件信息区包括以下一种或多种信息:块信息、文件头信息和所述文件数据管理子项;所述块信息包括以下一种或多种信息:块标志、块属性、所属文件ID和操作类型;
所述文件头信息包括以下一种或多种信息:文件创建时间、文件ID、文件数据操作类型和文件名。
8.一种文件存储装置包括,其特征在于,所述装置配置有文件存储***,所述文件存储***包括:根目录区、文件信息区和数据区;其中,所述根目录区,用于存储所述文件存储***的格式化信息;所述文件信息区,用于创建存储文件,并存储创建后的所述存储文件的文件信息;以及,将所述存储文件的数据存储在所述数据区,以存储所述存储文件;
所述装置包括:
获取模块,用于获取待存储文件数据包的文件ID,根据所述文件ID从所述文件信息区获取有效的文件数据管理子项,其中,所述文件数据管理子项至少包括:文件起始地址、文件结束地址、文件大小、文件包数量、文件数据管理信息子项标志;
寻找模块,用于根据所述文件数据管理子项在预设的存储区中寻找指定长度的空闲空间;
写入模块,用于在所述空闲空间中写入所述待存储文件数据包的文件头,以及所述待存储文件数据包的文件数据;
更新模块,用于当监测到所述文件数据写入完成后,对所述文件数据管理子项进行更新。
9.一种服务器,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1~7任一项所述的文件存储方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述权利要求1~7任一项所述的文件存储方法的步骤。
CN201911399326.5A 2019-12-30 2019-12-30 文件存储方法、装置及服务器 Pending CN111159114A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911399326.5A CN111159114A (zh) 2019-12-30 2019-12-30 文件存储方法、装置及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911399326.5A CN111159114A (zh) 2019-12-30 2019-12-30 文件存储方法、装置及服务器

Publications (1)

Publication Number Publication Date
CN111159114A true CN111159114A (zh) 2020-05-15

Family

ID=70559604

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911399326.5A Pending CN111159114A (zh) 2019-12-30 2019-12-30 文件存储方法、装置及服务器

Country Status (1)

Country Link
CN (1) CN111159114A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112214468A (zh) * 2020-10-18 2021-01-12 苏州浪潮智能科技有限公司 一种分布式存储***小文件加速方法、装置、设备及介质
CN112631516A (zh) * 2020-12-22 2021-04-09 上海宏力达信息技术股份有限公司 一种具有寿命管理的flash文件管理***
CN113282521A (zh) * 2021-05-19 2021-08-20 武汉天喻信息产业股份有限公司 一种智能卡寿命延长方法及装置
CN113487230A (zh) * 2021-07-27 2021-10-08 平安国际智慧城市科技股份有限公司 订单派发方法、装置、计算机设备及存储介质
CN113806803A (zh) * 2021-09-17 2021-12-17 厦门服云信息科技有限公司 一种数据存储方法、***、终端设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101042696A (zh) * 2006-03-23 2007-09-26 北京握奇数据***有限公司 智能卡存储***及该***中文件创建管理的方法
CN102426586A (zh) * 2011-10-25 2012-04-25 厦门雅迅网络股份有限公司 一种嵌入式***中的fat文件存储方法
CN103577121A (zh) * 2013-11-05 2014-02-12 中船重工(武汉)凌久电子有限责任公司 一种基于nand flash的高可靠线性文件存取方法
CN107644056A (zh) * 2017-08-04 2018-01-30 武汉烽火众智数字技术有限责任公司 一种文件存储方法、装置及***
CN108647278A (zh) * 2018-05-03 2018-10-12 中北大学 一种文件管理方法及***
CN109189772A (zh) * 2018-08-21 2019-01-11 华清瑞达(天津)科技有限公司 用于无文件***存储介质的文件管理方法及***

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101042696A (zh) * 2006-03-23 2007-09-26 北京握奇数据***有限公司 智能卡存储***及该***中文件创建管理的方法
CN102426586A (zh) * 2011-10-25 2012-04-25 厦门雅迅网络股份有限公司 一种嵌入式***中的fat文件存储方法
CN103577121A (zh) * 2013-11-05 2014-02-12 中船重工(武汉)凌久电子有限责任公司 一种基于nand flash的高可靠线性文件存取方法
CN107644056A (zh) * 2017-08-04 2018-01-30 武汉烽火众智数字技术有限责任公司 一种文件存储方法、装置及***
CN108647278A (zh) * 2018-05-03 2018-10-12 中北大学 一种文件管理方法及***
CN109189772A (zh) * 2018-08-21 2019-01-11 华清瑞达(天津)科技有限公司 用于无文件***存储介质的文件管理方法及***

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
程道远: "NAND Flash文件***方案及其可靠性设计", 《电脑知识与技术(学术交流)》 *
金健: "基于Nand Flash的嵌入式文件***设计", 《电脑知识与技术(学术交流)》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112214468A (zh) * 2020-10-18 2021-01-12 苏州浪潮智能科技有限公司 一种分布式存储***小文件加速方法、装置、设备及介质
CN112214468B (zh) * 2020-10-18 2023-01-06 苏州浪潮智能科技有限公司 一种分布式存储***小文件加速方法、装置、设备及介质
CN112631516A (zh) * 2020-12-22 2021-04-09 上海宏力达信息技术股份有限公司 一种具有寿命管理的flash文件管理***
CN112631516B (zh) * 2020-12-22 2022-09-30 上海宏力达信息技术股份有限公司 一种具有寿命管理的flash文件管理***
CN113282521A (zh) * 2021-05-19 2021-08-20 武汉天喻信息产业股份有限公司 一种智能卡寿命延长方法及装置
CN113487230A (zh) * 2021-07-27 2021-10-08 平安国际智慧城市科技股份有限公司 订单派发方法、装置、计算机设备及存储介质
CN113806803A (zh) * 2021-09-17 2021-12-17 厦门服云信息科技有限公司 一种数据存储方法、***、终端设备及存储介质

Similar Documents

Publication Publication Date Title
CN111159114A (zh) 文件存储方法、装置及服务器
US7624275B2 (en) Disk drive, control method thereof and disk-falsification detection method
CN107729558B (zh) 文件***碎片整理的方法、***、装置及计算机存储介质
JP2006235960A (ja) ガーベッジコレクション高速化方法
CN108399047B (zh) 一种闪存文件***及其数据管理方法
CN1963814A (zh) 存储器数据管理方法
JP2003196142A (ja) ライトワンス型メモリ装置及びファイル管理方法
CN113568582B (zh) 数据管理方法、装置和存储设备
US10120791B2 (en) Data read apparatus, data read method, and storage medium storing data read program
CN108664482B (zh) Flash存储器及存储文件管理方法
CN114089915B (zh) 基于flash存储器的文件追加写操作方法及装置
CN110287695B (zh) 一种Java卡及其临时对象的管理方法
CN115407943A (zh) 一种内存转储文件生成方法、装置、设备及可读存储介质
KR100954603B1 (ko) 파일 시스템의 로그 파일 및 상기 파일 시스템의 오류 복구방법
JPH113287A (ja) 記憶装置およびそれに用いられる記憶領域管理方法
CN116360695A (zh) 一种基于混合储能电源的数据存储方法及装置
CN111597149B (zh) 一种数据库的数据清理方法及装置
CN113467698A (zh) 基于文件***的写方法、装置、计算机设备和存储介质
JP2004062554A (ja) フラッシュメモリの管理方法
CN115328878B (zh) 日志数据存储***、方法、设备及介质
JPH11120044A (ja) データ処理装置、データ処理方法、データ処理システム及び記録媒体
CN109857718A (zh) 一种应用于嵌入式***的日志式文件***
CN111831224B (zh) 一种擦除exFAT分区文件剩余空间的方法,***及设备
JP2008134777A (ja) ファイル割当テーブルのキャッシュ方法
JP7031327B2 (ja) 情報処理装置、情報処理方法、およびプログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200515