CN113722271B - 用于数据采集回放的文件管理方法、系统及介质 - Google Patents
用于数据采集回放的文件管理方法、系统及介质 Download PDFInfo
- Publication number
- CN113722271B CN113722271B CN202110820610.6A CN202110820610A CN113722271B CN 113722271 B CN113722271 B CN 113722271B CN 202110820610 A CN202110820610 A CN 202110820610A CN 113722271 B CN113722271 B CN 113722271B
- Authority
- CN
- China
- Prior art keywords
- file
- information
- data
- index
- available
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 29
- 230000008676 import Effects 0.000 claims description 21
- 238000013500 data storage Methods 0.000 claims description 20
- 238000003491 array Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 2
- 238000000034 method Methods 0.000 abstract description 6
- 238000007796 conventional method Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 239000000872 buffer Substances 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000004064 recycling Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000012536 storage buffer Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (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
本发明公开了一种用于数据采集回放的文件管理方法、系统及介质,方法包括:根据待采集文件的参数信息配置对应文件目录的信息和数据采集通道,使能FPGA采集数据采集通道的数据,将被采集文件的数据根据对应的文件索引信息依次保存在存储空间的连续地址中,根据待采集文件的数据量大小更新文件系统中的索引表信息;根据待删除文件的参数信息匹配对应文件目录的信息得到对应的文件索引信息,将文件目录信息删除,根据文件索引信息找到对应的已使用的索引表并整合为新的可用的索引表,将新的可用的索引表设置于所有可用的索引表的末尾。本发明能够支持为文件添加属性信息,还可以将文件存储在连续的区域中,提高了数据的安全性和稳定性。
Description
技术领域
本发明涉及数据采集回放领域,尤其涉及一种用于数据采集回放的文件管理方法、系统及介质。
背景技术
随着信息技术的迅速发展,以及军工设备的信息化,雷达系统、航天航空等领域对采集存储设备的带宽要求进一步提高,而传统的文件系统对数据带宽有严格的限制,高速的带宽数据会因为无法及时存储而导致丢包严重。其原因归根结底是因为传统的文件系统需要系统支持,从而导致存储的速率有所下降。
目前,世面上主流的数据采集回放设备主要有X86架构下的磁盘阵列和PCIE接口组合,和基于FPGA的Flash阵列两种。两种方式在数据传输速度或者文件管理方式上存在缺陷。
其中X86架构下的磁盘阵列和PCIE接口组合,需要预装Window或者Linux系统,然后将硬盘配置成阵列方式,虽然该方案能实现较高速数据的采集和回放功能,但存在体积大、功耗高、成本高、部署复杂等缺点,同时还需配套单独的数据库对文件进行管理,而且因为系统的原因会使其采集存储的速度受限制。
其中基于FPGA的Flash阵列,虽然该方案能实现高速数据的采集和回放功能,但不具备完善的文件管理方案。大多数情况下甚至只支持单个文件的采集和回放、且很难增加文件的详细描述信息,如时间、大小、备注等信息参数。
此外,传统的文件管理方法将存储空间分成很多个固定大小的区域,并使用链表将这些区域连接起来,每次数据存储并不一定在一个连续的区域,读取时也需遍历整个链表。这种方式在一定程度上会增加文件存储和文件读取的时间,为了避免存储介质寿命缩减,现有技术中有一套很复杂的读写平衡管理算法,过程较为复杂。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种用于数据采集回放的文件管理方法,能够支持为文件添加属性信息,还可以将文件存储在连续的区域中。
为解决上述技术问题,本发明提出的技术方案为:
一种用于数据采集回放的文件管理方法,包括以下步骤:
S1)接收指令并判断指令类型,若为采集指令则跳转步骤S2),若为删除指令则跳转步骤S3),若为回放指令则跳转步骤S4);
S2)获取待采集文件的参数信息,根据待采集文件的参数信息配置对应文件目录的信息和数据采集通道,使能FPGA采集数据采集通道的数据,根据待采集文件的数据量大小更新文件系统中索引表的已用表项和可用的索引表数量,并更新对应的文件索引信息,将被采集文件的数据根据对应的文件索引信息依次保存在存储空间的连续地址中,结束并退出;
S3)获取待删除文件的参数信息,根据待删除文件的参数信息匹配对应文件目录的信息得到对应的文件索引信息,将文件目录信息删除,根据文件索引信息找到对应的已用表项并整合为新的可用的索引表,将新的可用的索引表设置于所有可用的索引表的末尾,结束并退出;
S4)获取待回放文件的参数信息,根据待回放文件的参数信息匹配对应文件目录的信息得到对应的文件索引信息,并配置数据回放通道,使能FPGA根据文件索引信息从存储空间读取数据并通过数据回放通道进行回放,结束并退出。
进一步的,步骤S2)具体包括:
获取待采集文件的参数信息,根据采集文件的参数信息生成对应的文件目录,并配置数据采集通道,接着使能FPGA采集数据采集通道的数据,对于每个索引表,将数据依次写入当前可用的索引表指定的存储空间的地址,当前可用的索引表指定的存储空间的地址写满后,将数据写入下一可用的索引表指定的存储空间的地址直到采集结束,最后获取数据写入的结束地址和索引表使用数量;
依据数据写入的结束地址和索引表使用数量计算采集文件的大小并更新文件系统信息中的可用容量、可用的索引表数量、文件个数、可用表项、已用表项和当前可用的索引表的索引长度;根据文件目录和已用表项更新对应文件目录的信息;根据索引表使用数量和已用表项更新对应的文件索引信息。
进一步的,步骤S1)中的指令类型还包括文件数据导入指令,步骤S4)之后还包括文件数据导入的步骤,具体包括:
接收文件导入的结构体参数,根据文件导入的结构体参数生成对应的文件目录,接收USB或者网络数据,并写入队列中,从队列中读取待导入数据并发送给FPGA,对于每个索引表,将数据依次写入当前可用的索引表指定的存储空间的地址,当前可用的索引表指定的存储空间的地址写满后,将数据写入下一可用的索引表指定的存储空间的地址直到队列读取完毕,最后获取数据写入的结束地址和索引表使用数量;
依据数据写入的结束地址和索引表使用数量计算采集文件的大小并更新文件系统信息中的可用容量、可用索引表数量、文件个数、可用表项、已用表项和当前可用的索引表的索引长度;根据文件目录和已用表项更新对应文件目录的信息;根据索引表使用数量和已用表项更新对应的文件索引信息。
进一步的,步骤S3)中根据文件索引信息找到对应的已用表项并整合为新的可用索引表具体包括:依据文件索引信息匹配所有索引表得到对应的已用表项,对于所述已用表项,将连续地址对应的已用表项整合为新的可用的索引表。
进一步的,步骤S4)具体包括:获取待回放文件的参数信息,根据待回放文件的参数信息中的文件名匹配所有文件目录信息得到对应文件目录的信息,并根据对应文件目录的信息得到对应的文件索引信息,根据待回放文件的参数信息中的偏移时间和回放时长匹配文件索引信息得到待回放文件的数据存储地址,根据待回放文件的参数信息中的回放通道配置数据回放通道,使能FPGA根据待回放文件的数据存储地址从存储空间读取数据,还读取对应文件目录的信息中的所需信息,并通过数据回放通道进行回放。
进一步的,步骤S1)中的指令类型还包括文件数据导出指令,步骤S4)之后还包括文件数据导出的步骤,具体包括:
接收文件导出的结构体参数,根据结构体参数中的文件名匹配所有文件目录信息得到对应文件目录的信息,并根据对应文件目录的信息得到对应的文件索引信息,根据结构体参数中的导入时间偏移和导出时长计算得到文件索引信息中的数据存储地址和导出大小并存储在全局变量表中,将全局变量表中的信息发送给FPGA,使能FPGA根据数据存储地址和导出大小从存储空间读取数据,并写入发送队列中,然后将发送队列中的数据读取出来并通过网络或者USB发送出去,直到数据存储地址的数据读取完成。
进一步的,步骤S1)中的指令类型还包括文件列表查询指令,步骤S4)之后还包括文件列表查询的步骤,具体包括:
获取文件序号和文件信息结构体,根据文件序号匹配所有文件目录信息得到对应文件目录的信息,将对应文件目录的信息中的有效信息依次写入文件信息结构体中,取出文件信息结构体中的有效信息并写入数据流中。
进一步的,步骤S1)之前还包括预先配置的步骤,具体包括:将存储空间划分为文件系统区域、文件目录区域、文件索引区域和文件数据区域,将文件系统信息保存在文件系统区域,将文件目录信息保存在文件目录区域,将文件索引信息保存在文件索引区域,将文件数据保存在文件数据区域,所述文件系统的索引表包含起始地址和地址数量两个longlong类型参数。
本发明还提出一种用于数据采集回放的文件管理系统,包括计算机设备,所述计算机设备被编程或配置以执行所述的用于数据采集回放的文件管理方法。
本发明还提出一种计算机可读存储介质,所述计算机可读存储介质存储有执行所述的用于数据采集回放的文件管理方法的计算机程序。
与现有技术相比,本发明的优点在于:
1.本发明使用回收的方式实现读写平衡,简单高效,能有效防止一直在固定的地址重复写数据,导致存储介质寿命缩减:进行文件采集或者文件数据导入的情况下,数据依次保存在存储空间的连续地址中,不会出现在某个固定地址反复重写的现象;文件删除的情况下,会回收被删除文件所占用的数据存储区域,将对应的已用表项整合为新的可用的索引表并放置在现有的可用的索引表的最后边,确保未写完的区域写满后,才会写入最早回收的区域。
2.本发明在初始情况下,数据依次保存在存储空间的连续地址中,使得文件存储在一个连续的区域中,后续删除文件后才会将索引表分割,同时将连续的被回收区域进行整合,尽量使后续存储的文件能继续存储在连续的区域中,能减少存储空间遍历的次数,从而提高写入和读取的速度。
3.本发明使用独立的索引管理,索引表中参数均为long long类型,在long long类型下文件大小最大可以达到2^64*盘扇区单位的字节数。如在4个SATA盘的情况下最大可支持文件大小达到2^64*512字节,突破了传统的文件管理方法中的文件大小限制,且远远超过了4个SATA盘的空间,而传统方式下文件大小限制通常由盘空间决定,如FAT32的文件系统文件大小限制为4GB。
4.本发明对于文件设置有对应的文件目录,可根据需求自行添加文件属性信息,如通道信息、备注信息等,解决了现有技术中基于FPGA的Flash阵列难以增加文件的详细描述信息的问题。
5.本发明基于FPGA且不兼容传统的文件系统,数据在PC端是无法获取的,能确保数据的安全性和保密性
附图说明
图1为本发明实施例中的存储介质区域划分示意图。
图2为本发明实施例中的文件系统管理的整体框架。
图3为本发明实施例中的文件管理方法的流程示意图。
具体实施方式
以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。
如图1所示,本实施例将存储介质的存储空间划分为四个区域,分别是文件系统区域1、文件目录区域2、文件索引区域3、文件数据区域4。通常为了节省空间和方便管理配置,会将存储空间中连续的区域依次定义为这四个区域。
所述的文件系统区域1用于管理整个文件系统的信息参数,该部分通常设置在四个区域的最前端,文件系统的信息参数包括文件系统的容量信息、文件数量信息和索引表信息等,本方案中,文件系统区域1存储有固定数量的索引表,每个索引表分别指向文件数据区域4中对应的地址区间,且每个索引表对应的地址区间依次连续。
所述的文件目录区域2用于存储文件的属性参数以及在文件索引区域3的偏移位置,该区域通常紧接着文件系统区域1,在本方案中,每一个文件都会有一个对应的文件目录来保存属性参数,可根据需求自行添加文件属性信息,如通道信息、备注信息等,解决了现有技术中基于FPGA的Flash阵列难以增加文件的详细描述信息的问题,文件目录区域2存储有固定数量的文件目录。
所述的文件索引区域3用于保存数据在文件数据区域4的存储位置及长度,该区域4通常紧接着文件目录区域2,在本方案中,每一个文件都会有一个文件索引结构体的数组与之对应,该区域由固定数量的文件索引结构体组成。文件索引结构体包含起始地址和索引长度,文件索引结构体是由文件数据存储在文件数据区域中索引表对应的地址区间而生成的。
所述的文件数据区域4用于保存文件的数据,所有的记录文件数据都保存在该区域,该区域通常紧接着文件索引区域3。
各个区域之间的关系为:
文件系统区域1的索引表信息包括可用的索引表数量和可用的索引表的信息,用于确定新文件存储位置,可用的索引表的信息包含起始地址和索引长度。对于每个索引表,开始采集后,采集数据将被写入文件数据区域4中第一个可用的索引表对应的地址区间,在数据足够大的情况下,当第一个可用的索引表对应的空间写满后,数据将被写入第二个可用的索引表对应的地址区间,依此类推,直至所有可用的索引表对应的地址区间被写满,即被使用的可用的索引表达到可用的索引表数量。
通过文件系统区域1的文件数量信息可以确定文件目录区域2的有效文件目录数量和文件索引区域3的有效文件索引结构体的数组数量。同时也可以通过文件名或者偏移序号,查找文件目录区域2的对应文件目录,再通过文件目录中的文件位置参数,获取文件索引区域3的对应文件索引结构体的数组,从而根据文件索引结构体的起始地址和索引长度确定文件数据区域4的存储起始位置和长度。另一方面,文件数据区域4中未使用的地址会以列表的形式存储在可用的索引表中。
本实施例将整盘当成一个连续的存储区域,在多盘的情况下会将多个盘并行处理,文件系统会指定一个数据区的最小的存储单位,通常是扇区大小和盘数量的整数倍,接收数据后将数据均匀的存储在各盘中。如4个SATA盘的情况,系统的0-3扇区,是指SATA1-SATA4的0扇区;系统的4-7扇区是指SATA1-SATA4的1扇区,依此类推。
本实施例中,索引表的信息包含起始地址和索引长度,这两个参数均是8字节的long long类型,在long long类型下文件大小最大可以达到2^64*盘扇区单位的字节数。如在4个SATA盘的情况下最大可支持文件大小达到2^64*512字节,突破了传统的文件管理方法中的文件大小限制,且远远超过了4个SATA盘的空间,而传统方式下文件大小限制通常由盘空间决定,如FAT32的文件系统文件大小限制为4GB。
如图2所示,本实施例为文件系统配置以下基础接口:
新增文件的函数,用于将文件的文件名、文件大小、文件备注信息和存储位置等参数信息,更新进文件目录区域2和文件索引区域3中该文件对应的文件目录和文件索引结构体,与此同时更新文件系统参数。新增文件的接口函数需要索引表使用数量、数据写入的结束地址两个参数,在收到输入参数后,先判断参数合法性,然后依据这两个参数信息以及文件系统区域1的可用索引表(包含起始地址和索引长度两个参数),其中索引表使用数量可以计算本次新增文件用完的索引表对应的存储区域大小,数据写入的结束地址可以计算本次新增文件在当前索引表下所使用的空间,进而计算本次新增的文件大小,同时更新文件系统区域1的信息参数中的容量信息(新增文件前的可用容量-新增文件大小)、可用的索引表数量(新增文件前可用的索引表数量-索引表使用数量)、文件个数(新增文件前文件个数+1)、可用表项(将新增文件前的可用表项修改成0xFFFF)、已用表项(新增文件前的可用表项转成已用表项)和可用的索引表(当前可用的索引表的起始地址更新为数据写入的结束地址,同时索引长度对应修改)等参数;更新文件目录区域中该文件对应文件目录的信息,主要包括文件名、文件时间、文件索引位置、文件索引数量等参数;更新文件索引区域该文件对应文件索引结构体的信息,包括该文件所使用的索引表数量,以及各索引表所使用的起始地址和索引长度信息。最后将文件系统信息更新至文件系统区域1;将文件目录的信息写入文件目录区域2中该文件对应的文件目录;将文件索引表信息写入文件索引表区域3中该文件对应的文件索引结构体。存储成功后将返回0,其它情况会返回其它的错误值,方便调用的函数判断存储结果。
删除文件的函数,用于依据文件名或者文件序号,将存储在文件目录区域2的对应文件目录的信息删除,将存储在文件索引区域3的对应文件索引结构体的信息删除,并将删除信息后的文件目录和文件索引结构体回收,用于后续新增文件的存储。删除文件的函数接口需要传入文件名,收到输入参数后,先遍历文件目录区域2的文件目录,查找对应的文件目录,并获取对应的文件目录中文件索引区域3的偏移位置,根据偏移位置找到并读取对应的文件索引结构体的文件索引信息,依据文件索引信息找到已使用的索引表,然后通过回收已使用的索引表将该文件所使用的存储区域回收,在回收索引表时,会遍历可用的索引表,判断每个被回收的索引表与其他索引表对应的地址区间之间的连续性,将连续地址区间对应的被回收的索引表以及其他索引表整合得到新的可用的索引表;再将文件系统区域1的信息参数中的文件个数减一;最后将文件系统信息重新存储。完成删除文件操作后,函数将返回0,其它情况会返回其它的错误值,方便调用的函数判断删除结果。
修改文件的函数,用于修改文件对应的文件目录中的属性信息,通常只修改文件名和备注信息等参数。修改文件的函数的输入参数包括原有文件名和新文件名,接收到输入参数后,遍历文件目录区域2的文件目录,获取对应文件目录,然后读取对应文件目录的信息,然后将新的文件名替换旧的文件名后重新存储。完成文件修改后,函数将会返回0,其它情况会返回其它的错误值,方便调用的函数判断修改结果。
读取文件的函数,用于将该文件对应文件目录的信息和存储在文件数据区域4的数据读取出来。读取文件的函数的输入参数有文件序号和文件信息列表存储缓冲区,读取文件函数依据文件序号读取对应文件目录的信息,并将需要的信息依次放入文件信息列表中,包括文件名、文件时间、文件类型、文件大小和文件注释等参数信息。
如图2所示,本实施例基于上述的基础接口实现文件数据采集、文件数据回放、文件数据导入、文件数据导出和文件列表查询等功能,如图3所示,本实施例基于上述功能提出一种用于数据采集回放的文件管理方法包括以下步骤:
S1)接收指令并判断指令类型,若为采集指令则跳转步骤S2)进行文件数据采集,若为删除指令则跳转步骤S3)进行文件回收,若为回放指令则跳转步骤S4)进行文件数据回放;
S2)文件数据采集是新增文件的函数的具体实例,在接收到采集指令后,文件系统会获取待采集文件的参数信息,根据待采集文件的参数信息配置对应文件目录的信息和FPGA的数据采集通道,使能FPGA采集数据采集通道的数据,将被采集文件的数据根据对应的文件索引信息依次保存在存储空间的连续地址中,结束采集后,根据待采集文件的数据量大小更新文件系统中的索引表信息,读取数据写入的结束地址,通过结束地址和索引表的起始地址计算文件大小,完成文件数据采集的操作;
该部分包含启动采集函数和采集线程函数,启动采集函数传入文件名、采集类型、采集模式、采集时间、通道信息等参数,主要完成文件名、文件时间等部分文件目录参数的生成,然后将索引表发送给FPGA,并配置FPGA的存储参数和数据采集通道,接着使能FPGA通过数据采集通道采集数据并存储至SATA阵列,最后调用采集线程函数完成采集状态检测,整个采集过程中,采集线程一直有效,直到采集结束才退出该线程,文件存储也是在采集线程中完成,对于每个索引表,将数据依次写入当前可用的索引表指定的存储空间的地址,当前可用的索引表指定的存储空间的地址写满后,将数据写入下一可用的索引表指定的存储空间的地址直到采集结束,在检测到结束指令后,采集线程函数会通知FPGA停止采集,然后等待FPGA完成DDR缓冲区中的数据存储,最后读取文件数据写入的结束地址和索引表使用数量,并将结束地址和索引表使用数量作为输入参数传输给新增文件的函数;
新增文件的函数按照上文内容在收到输入参数后,先判断参数合法性,然后依据数据写入的结束地址和索引表使用数量计算采集文件的大小并更新文件系统信息中的可用容量、可用的索引表数量、文件个数、可用表项、已用表项和当前可用的索引表的索引长度;根据文件目录和已用表项更新对应文件目录的信息;根据索引表使用数量更新对应的文件索引信息,从而完成整个文件数据采集流程;
S3)文件回收是删除文件的函数的具体实例,在收到删除指令后,文件系统会获取待删除文件的参数信息,将待删除文件的参数信息中的文件名作为输入参数传输给删除文件的函数,删除文件的函数按照上文内容在收到输入参数后,根据文件名遍历所有文件目录得到对应文件目录,并根据对应文件目录的信息得到对应的文件索引信息,将文件目录信息删除,根据文件索引信息找到对应的已使用的索引表,遍历可用的索引表,将连续地址区间对应的已使用的索引表以及其他索引表整合得到新的可用的索引表,将新的可用的索引表设置于所有可用的索引表的末尾,结束并退出;
通过步骤S3),本实施例使用回收的方式实现读写平衡,简单高效,能有效防止一直在固定的地址重复写数据,导致存储介质寿命缩减:新增文件的数据依次保存在存储空间的连续地址中,不会出现在某个固定地址反复重写的现象;文件删除的情况下,会回收被删除文件所占用的数据存储区域,将对应的已用表项整合为新的可用的索引表并放置在现有的可用的索引表的最后边,确保未写完的区域写满后,才会写入最早回收的区域;
通过步骤S2)和步骤S3),本实施例在新增文件的情况下,数据依次保存在存储空间的连续地址中,使得文件存储在一个连续的区域中,后续删除文件后才会将索引表分割,同时将连续的被回收区域进行整合,尽量使后续存储的文件能继续存储在连续的区域中,能减少存储空间遍历的次数,从而提高写入和读取的速度;
S4)文件数据回放是读取文件的具体实例,在收到回放指令后,文件系统获取待回放文件的参数信息,根据待回放文件的参数信息匹配对应文件目录的信息得到对应的文件索引信息,并配置FPGA的数据回放通道,使能FPGA根据文件索引信息从存储空间读取数据并通过数据回放通道进行回放;
文件数据回放包含文件回放和文件回放线程两个函数,其中文件回放函数需要传入一个回放参数的结构体,该结构体包含回放的文件名、回放通道,回放的偏移时间和回放时长等参数,文件回放函数会依据文件名匹配所有文件目录获取对应文件目录的信息,并根据对应文件目录的信息得到对应的文件索引信息;依据回放的偏移时间和回放时长匹配文件索引信息得到待回放文件的数据存储地址和长度信息,并将该信息传输给FPGA;然后将通道信息和SATA读控制信息发送给FPGA配置数据回放通道,发送完成后使能FPGA根据待回放文件的数据存储地址从存储空间读取数据,并通过数据回放通道进行回放,最后调用回放线程函数,回放线程函数主要实现回放过程中的状态获取以及回放进度等参数的获取,FPGA读数据完成后,回放线程函数通知FPGA停止读取数据,并等待FPGA将DDR缓冲区的数据回放完成,最后停止回放,退出回放线程。
本实施例的步骤S1)中的指令类型还包括文件数据导入指令,步骤S4)之后还包括文件数据导入的步骤,文件数据导入是新增文件的另一个实例,文件系统通过USB、网络等方式接收导入文件的数据,并转存至存储介质上,完成数据导入后,读取文件数据写入的结束地址和索引表使用数量,然后通过结束地址和索引表的起始地址计算文件大小,完成新增文件的操作。
文件导入包含文件导入函数和文件导入线程两个部分。文件导入函数接收文件导入的结构体参数,文件导入的结构体参数成员包括文件名、文件大小、文件通道等。启动导入后,文件导入函数根据文件导入的结构体参数中的文件名和文件时间生成对应的文件目录信息,接着就调用文件导入线程,接收USB或者网络数据,并写入队列中,从队列中读取待导入数据并发送给FPGA,接着将数据的存储位置和长度信息发送给FPGA,然后发起SATA数据流写入命令,并等待FPGA完成数据写入操作,该导入过程循环执行,直到导入的文件数据全部落盘,对于每个索引表,将数据依次写入当前可用的索引表指定的存储空间的地址,当前可用的索引表指定的存储空间的地址写满后,将数据写入下一可用的索引表指定的存储空间的地址直到队列读取完毕,最后获取数据写入的结束地址和索引表使用数量作为输入参数传给新增文件的函数。新增文件的函数按照上文内容在收到输入参数后,先判断参数合法性,然后依据数据写入的结束地址和索引表使用数量计算采集文件的大小并更新文件系统信息中的可用容量、可用的索引表数量、文件个数、可用表项、已用表项和当前可用的索引表的索引长度;根据文件目录和已用表项更新对应文件目录的信息;根据索引表使用数量更新对应的文件索引信息,从而结束导入线程。
本实施例的步骤S1)中的指令类型还包括文件数据导入指令,步骤S4)之后还包括文件数据导出的步骤,文件数据导出是读取文件的具体实例,文件系统依据文件名匹配得到对应文件目录的信息和文件索引信息并发送给FPGA,然后接收FPGA传过来的文件数据信息,并将该数据信息依次通过USB或者网络等接口发送出去,完成文件导出操作。
文件数据导出包含文件导出函数和文件导出线程函数。文件导出函数接收文件导出的结构体参数,文件导出的结构体参数包含导出方式、文件名、导入时间偏移和导出时长等。文件导出函数依据文件导出的结构体参数中的文件名匹配所有文件目录得到对应文件目录的信息,并根据对应文件目录的信息得到对应的文件索引信息;依据文件导出的结构体参数中的时间偏移和时间长度两个参数计算得到文件索引信息中的数据存储地址和导出大小并存储在全局变量表中,最后调用导出线程函数。导出线程函数将全局变量表中的文件索引信息依次发送给FPGA,并使能FPGA根据数据存储地址和导出大小从SATA盘读取数据流,然后读取FPGA传送过来的文件数据,并将数据写入发送队列中,然后将发送队列中的数据读取出来并通过网络或者USB发送出去,重复上述操作直到所有的文件数据读取完成,最后停止从SATA盘读取数据流,并退出导出线程函数。
本实施例的步骤S1)中的指令类型还包括文件列表查询指令,步骤S4)之后还包括文件列表查询的步骤,文件列表查询是读取文件的函数的另一个实例,文件系统依据文件系统信息参数中的文件数量信息依次读取对应文件目录的信息,并将文件名、文件大小、注释、文件时间等信息组成数据流依次发给查询发起端。文件列表查询包括文件列表函数,文件列表函数依次将文件目录信息中的文件序号和文件信息结构体的地址作为输入参数发送给读取文件的函数,读取文件的函数依据文件序号读取对应文件目录的信息,并将需要的信息依次放入文件信息结构体中,然后文件列表函数取出文件信息结构体中的有效信息并写入数据流中,循环上述操作直至所有文件的文件目录信息全部读出。
上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。
Claims (9)
1.一种用于数据采集回放的文件管理方法,其特征在于,包括以下步骤:
S1)接收指令并判断指令类型,若为采集指令则跳转步骤S2),若为删除指令则跳转步骤S3),若为回放指令则跳转步骤S4);
S2)获取待采集文件的参数信息,根据待采集文件的参数信息配置对应文件目录的信息和数据采集通道,使能FPGA采集数据采集通道的数据,根据待采集文件的数据量大小更新文件系统中索引表的已用表项和可用的索引表数量,并更新对应的文件索引信息,将被采集文件的数据根据对应的文件索引信息依次保存在存储空间的连续地址中,结束并退出;
S3)获取待删除文件的参数信息,根据待删除文件的参数信息匹配对应文件目录的信息得到对应的文件索引信息,将文件目录信息删除,根据文件索引信息找到对应的已使用的索引表并整合为新的可用的索引表,将新的可用的索引表设置于所有可用的索引表的末尾,结束并退出;
S4)获取待回放文件的参数信息,根据待回放文件的参数信息匹配对应文件目录的信息得到对应的文件索引信息,并配置数据回放通道,使能FPGA根据文件索引信息从存储空间读取数据并通过数据回放通道进行回放,结束并退出;
步骤S1)之前还包括预先配置的步骤,具体包括:
将存储空间划分为文件系统区域、文件目录区域、文件索引区域和文件数据区域;
将文件系统信息保存在文件系统区域,将文件目录信息保存在文件目录区域,将文件索引信息保存在文件索引区域,将文件数据保存在文件数据区域,所述文件系统信息包括文件系统的容量信息、文件数量信息和索引表信息,文件系统区域的索引表信息包括可用的索引表数量和可用的索引表的信息,用于确定新文件存储位置,可用的索引表的信息包含起始地址和索引长度,对于每个索引表,开始采集后,采集数据将被写入文件数据区域中第一个可用的索引表对应的地址区间,在数据足够大的情况下,当第一个可用的索引表对应的空间写满后,数据将被写入第二个可用的索引表对应的地址区间,依此类推,直至所有可用的索引表对应的地址区间被写满,即被使用的可用的索引表达到可用的索引表数量;
通过文件系统区域的文件数量信息可以确定文件目录区域的有效文件目录数量和文件索引区域的有效文件索引结构体的数组数量;同时也可以通过文件名或者偏移序号,查找文件目录区域的对应文件目录,再通过文件目录中的文件位置参数,获取文件索引区域的对应文件索引结构体的数组,从而根据文件索引结构体的起始地址和索引长度确定文件数据区域的存储起始位置和长度;文件数据区域中未使用的地址会以列表的形式存储在可用的索引表中;
索引表的信息包含起始地址和索引长度,这两个参数均是8字节的long long类型。
2.根据权利要求1所述的用于数据采集回放的文件管理方法,其特征在于,步骤S2)具体包括:
获取待采集文件的参数信息,根据采集文件的参数信息生成对应的文件目录,并配置数据采集通道,接着使能FPGA采集数据采集通道的数据,对于每个索引表,将数据依次写入当前可用的索引表指定的存储空间的地址,当前可用的索引表指定的存储空间的地址写满后,将数据写入下一可用的索引表指定的存储空间的地址直到采集结束,最后获取数据写入的结束地址和索引表使用数量;
依据数据写入的结束地址和索引表使用数量计算采集文件的大小并更新文件系统信息中的可用容量、可用的索引表数量、文件个数、可用表项、已用表项和当前可用的索引表的索引长度;根据文件目录和已用表项更新对应文件目录的信息;根据索引表使用数量更新对应的文件索引信息。
3.根据权利要求1所述的用于数据采集回放的文件管理方法,其特征在于,步骤S1)中的指令类型还包括文件数据导入指令,步骤S4)之后还包括文件数据导入的步骤,具体包括:
接收文件导入的结构体参数,根据文件导入的结构体参数生成对应的文件目录,接收USB或者网络数据,并写入队列中,从队列中读取待导入数据并发送给FPGA,对于每个索引表,将数据依次写入当前可用的索引表指定的存储空间的地址,当前可用的索引表指定的存储空间的地址写满后,将数据写入下一可用的索引表指定的存储空间的地址直到队列读取完毕,最后获取数据写入的结束地址和索引表使用数量;
依据数据写入的结束地址和索引表使用数量计算采集文件的大小并更新文件系统信息中的可用容量、可用的索引表数量、文件个数、可用表项、已用表项和当前可用的索引表的索引长度;根据文件目录和已用表项更新对应文件目录的信息;根据索引表使用数量更新对应的文件索引信息。
4.根据权利要求1所述的用于数据采集回放的文件管理方法,其特征在于,步骤S3)中根据文件索引信息找到对应的已使用的索引表并整合为新的可用的索引表具体包括:依据文件索引信息匹配所有索引表得到对应的已使用的索引表,遍历可用的索引表,将连续地址区间对应的已使用的索引表以及其他索引表整合得到新的可用的索引表。
5.根据权利要求1所述的用于数据采集回放的文件管理方法,其特征在于,步骤S4)具体包括:获取待回放文件的参数信息,根据待回放文件的参数信息中的文件名匹配所有文件目录得到对应文件目录的信息,并根据对应文件目录的信息得到对应的文件索引信息,根据待回放文件的参数信息中的偏移时间和回放时长匹配文件索引信息得到待回放文件的数据存储地址,根据待回放文件的参数信息中的回放通道配置数据回放通道,使能FPGA根据待回放文件的数据存储地址从存储空间读取数据,并通过数据回放通道进行回放。
6.根据权利要求1所述的用于数据采集回放的文件管理方法,其特征在于,步骤S1)中的指令类型还包括文件数据导出指令,步骤S4)之后还包括文件数据导出的步骤,具体包括:
接收文件导出的结构体参数,根据结构体参数中的文件名匹配所有文件目录得到对应文件目录的信息,并根据对应文件目录的信息得到对应的文件索引信息,根据结构体参数中的导入时间偏移和导出时长计算得到文件索引信息中的数据存储地址和导出大小并存储在全局变量表中,将全局变量表中的信息发送给FPGA,使能FPGA根据数据存储地址和导出大小从存储空间读取数据,并写入发送队列中,然后将发送队列中的数据读取出来并通过网络或者USB发送出去,直到数据存储地址的数据读取完成。
7.根据权利要求1所述的用于数据采集回放的文件管理方法,其特征在于,步骤S1)中的指令类型还包括文件列表查询指令,步骤S4)之后还包括文件列表查询的步骤,具体包括:
获取文件序号和文件信息结构体,根据文件序号匹配所有文件目录信息得到对应文件目录的信息,将对应文件目录的信息中的有效信息依次写入文件信息结构体中,取出文件信息结构体中的有效信息并写入数据流中。
8.一种用于数据采集回放的文件管理系统,其特征在于,包括计算机设备,所述计算机设备被编程或配置以执行权利要求1-7任一所述的用于数据采集回放的文件管理方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1-7任一所述的用于数据采集回放的文件管理方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110820610.6A CN113722271B (zh) | 2021-07-20 | 2021-07-20 | 用于数据采集回放的文件管理方法、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110820610.6A CN113722271B (zh) | 2021-07-20 | 2021-07-20 | 用于数据采集回放的文件管理方法、系统及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113722271A CN113722271A (zh) | 2021-11-30 |
CN113722271B true CN113722271B (zh) | 2023-11-21 |
Family
ID=78673643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110820610.6A Active CN113722271B (zh) | 2021-07-20 | 2021-07-20 | 用于数据采集回放的文件管理方法、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113722271B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115809027B (zh) * | 2023-01-11 | 2023-05-30 | 杭州广科安德生物科技有限公司 | 一种生物数据采集及管理系统、装置及方法 |
CN116662140B (zh) * | 2023-07-24 | 2023-10-03 | 中国人民解放军国防科技大学 | 一种仿真数据的自动化采集与回放方法、装置和设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104731779A (zh) * | 2013-12-18 | 2015-06-24 | 中国电子信息产业集团有限公司第六研究所 | 一种面向实时数据库的实时文件系统数据组织管理方法 |
CN104951569A (zh) * | 2015-07-21 | 2015-09-30 | 成都傅立叶电子科技有限公司 | 文件系统以及采用该文件系统的文件管理方法 |
CN107092440A (zh) * | 2017-03-22 | 2017-08-25 | 深圳市中航世星科技有限公司 | 一种基于fpga的irig106高速数据存储系统 |
CN108614853A (zh) * | 2018-03-15 | 2018-10-02 | 中国人民解放军63895部队 | 一种多数据源信息同步混合存储与回放系统及方法 |
CN109408434A (zh) * | 2018-09-03 | 2019-03-01 | 上海威固信息技术股份有限公司 | 一种基于fpga的多路高速ad数据采集和存储系统 |
CN109579908A (zh) * | 2018-11-19 | 2019-04-05 | 中北大学 | 基于巡检机器人的实时数据采集存储系统及文件管理办法 |
CN110297537A (zh) * | 2019-06-06 | 2019-10-01 | 维沃移动通信有限公司 | 多媒体文件生成方法及移动终端 |
CN111949619A (zh) * | 2020-07-21 | 2020-11-17 | 苏州元核云技术有限公司 | 动态目录生成方法、系统、电子设备及存储介质 |
CN111977002A (zh) * | 2020-07-08 | 2020-11-24 | 深圳大学 | 一种安全防撞的无人机及数据采集方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6754882B1 (en) * | 2002-02-22 | 2004-06-22 | Xilinx, Inc. | Method and system for creating a customized support package for an FPGA-based system-on-chip (SoC) |
CN109783118B (zh) * | 2017-11-13 | 2022-10-25 | 阿里巴巴集团控股有限公司 | Fpga云主机开发方法和系统 |
-
2021
- 2021-07-20 CN CN202110820610.6A patent/CN113722271B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104731779A (zh) * | 2013-12-18 | 2015-06-24 | 中国电子信息产业集团有限公司第六研究所 | 一种面向实时数据库的实时文件系统数据组织管理方法 |
CN104951569A (zh) * | 2015-07-21 | 2015-09-30 | 成都傅立叶电子科技有限公司 | 文件系统以及采用该文件系统的文件管理方法 |
CN107092440A (zh) * | 2017-03-22 | 2017-08-25 | 深圳市中航世星科技有限公司 | 一种基于fpga的irig106高速数据存储系统 |
CN108614853A (zh) * | 2018-03-15 | 2018-10-02 | 中国人民解放军63895部队 | 一种多数据源信息同步混合存储与回放系统及方法 |
CN109408434A (zh) * | 2018-09-03 | 2019-03-01 | 上海威固信息技术股份有限公司 | 一种基于fpga的多路高速ad数据采集和存储系统 |
CN109579908A (zh) * | 2018-11-19 | 2019-04-05 | 中北大学 | 基于巡检机器人的实时数据采集存储系统及文件管理办法 |
CN110297537A (zh) * | 2019-06-06 | 2019-10-01 | 维沃移动通信有限公司 | 多媒体文件生成方法及移动终端 |
CN111977002A (zh) * | 2020-07-08 | 2020-11-24 | 深圳大学 | 一种安全防撞的无人机及数据采集方法 |
CN111949619A (zh) * | 2020-07-21 | 2020-11-17 | 苏州元核云技术有限公司 | 动态目录生成方法、系统、电子设备及存储介质 |
Non-Patent Citations (4)
Title |
---|
Improving performance and lifetime of solid-state drives using hardware-accelerated compression;Sungjin Lee 等;《IEEE Transactions on Consumer Electronics》;第57卷(第4期);1732-1739 * |
Robert Schmid 等.Accessible near-storage computing with FPGAs.《EuroSys '20: Proceedings of the Fifteenth European Conference on Computer Systems》.2020,1-12. * |
基于FPGA的水声信号采集存储系统的设计与实现;拓浩宇;《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》(第01(2019)期);C028-275 * |
多通道透视雷达信号处理机及显控终端的研究;王世明;《中国优秀硕士学位论文全文数据库 信息科技辑》(第02(2016)期);I136-768 * |
Also Published As
Publication number | Publication date |
---|---|
CN113722271A (zh) | 2021-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220413706A1 (en) | Data Storage Method, Apparatus and Storage System | |
US7401174B2 (en) | File system defragmentation and data processing method and apparatus for an information recording medium | |
CN107870973B (zh) | 一种加快多路监控同时回放的文件存储系统 | |
CN113722271B (zh) | 用于数据采集回放的文件管理方法、系统及介质 | |
JP5066209B2 (ja) | コントローラ、データ記憶装置、及びプログラム | |
CN108255408B (zh) | 数据存储方法以及系统 | |
CN103514249B (zh) | 一种数据自精简方法和系统及存储装置 | |
CN111651127B (zh) | 一种基于叠瓦式磁记录盘的监控数据存储方法及装置 | |
CN110764706A (zh) | 存储系统、数据管理方法及存储介质 | |
KR20200122994A (ko) | 키 값 첨부 | |
US9684454B2 (en) | Method, storage system, and program for spanning single file across plurality of tape media | |
CN108399050B (zh) | 一种数据处理方法及装置 | |
CN111143285A (zh) | 一种小文件存储文件系统以及小文件处理方法 | |
CN108763531A (zh) | 一种mdvr文件存储系统及其运行方法 | |
KR20070089603A (ko) | 정보 처리 장치 및 정보 처리 방법과 컴퓨터ㆍ프로그램 | |
WO2022083287A1 (zh) | 存储空间管理方法、装置、设备及存储介质 | |
US20140331007A1 (en) | Virtual library controller and control method | |
JPWO2009150810A1 (ja) | アクセス装置、及び残容量算出方法 | |
US20060015681A1 (en) | Apparatus and method for writing and reading data | |
WO2011098118A1 (en) | Data storage method | |
KR102094786B1 (ko) | 파일 시스템 및 상기 파일 시스템을 이용한 파일 저장 방법 | |
US20100217787A1 (en) | Controller, information recording device, access device, information recording system, and information recording method | |
CN115964350A (zh) | 一种文件系统管理模型及系统 | |
JP4930358B2 (ja) | データ処理装置及びデータ処理方法 | |
KR101474285B1 (ko) | Fat 파일 시스템 및 이의 로그 데이터 저장 방법 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |