CN113900993B - 基于fat32文件系统的提高can数据记录仪文件创建效率的方法 - Google Patents

基于fat32文件系统的提高can数据记录仪文件创建效率的方法 Download PDF

Info

Publication number
CN113900993B
CN113900993B CN202111192864.4A CN202111192864A CN113900993B CN 113900993 B CN113900993 B CN 113900993B CN 202111192864 A CN202111192864 A CN 202111192864A CN 113900993 B CN113900993 B CN 113900993B
Authority
CN
China
Prior art keywords
file
time
working
actual
area
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
Application number
CN202111192864.4A
Other languages
English (en)
Other versions
CN113900993A (zh
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.)
Wujiang Lyukong Electric Control Technology Co ltd
Original Assignee
Wujiang Lyukong Electric Control Technology Co ltd
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 Wujiang Lyukong Electric Control Technology Co ltd filed Critical Wujiang Lyukong Electric Control Technology Co ltd
Priority to CN202111192864.4A priority Critical patent/CN113900993B/zh
Publication of CN113900993A publication Critical patent/CN113900993A/zh
Application granted granted Critical
Publication of CN113900993B publication Critical patent/CN113900993B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/13File access structures, e.g. distributed indices
    • 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/14Details of searching files based on file metadata
    • 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/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • 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/18File system types
    • G06F16/1847File system types specifically adapted to static storage, e.g. adapted to flash memory or SSD

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)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了基于FAT32文件系统的提高CAN数据记录仪文件创建效率的方法,其提高了数据记录的有效性及完整性,同时避免了系统成本的提升。其包括如下步骤:S1、系统上电开始工作后从头遍历选定目录下的全部文件,获取空闲位置区域;S2、系统设定工作周期,将需要存储的数据通过若干个工作周期存储到空闲位置区域;S3、在获取的空闲位置区域创建文件,并根据文件名生成规则获取下一个文件名称及所需空闲区域的大小;S4、在文件记录过程中从上一个空闲区域开始每个工作周期分批进行文件查找,直至发现合适的空闲区域,记录空闲区域位置并停止查找;S5、上一个文件记录完毕后,在记录的空闲区域创建新文件并不断重复文件的创建直至系统关闭。

Description

基于FAT32文件系统的提高CAN数据记录仪文件创建效率的 方法
技术领域
本发明涉及CAN数据记录仪文件创建的技术领域,具体为基于FAT32文件系统的提高CAN数据记录仪文件创建效率的方法。
背景技术
在FAT32文件系统中,创建文件需要在文件系统根目录区域从头开始遍历当前选定目录下的全部文件,找到空闲区域后写入新文件名称,指定数据区域,完成文件的创建。
CAN数据记录仪用于将CAN总线通讯网络的实时通讯数据存储于如SD卡、EMMC等存储介质中以达到数据记录及回溯的目的,该过程拥有单位时间数据量较大、数据记录过程持续性强、单个数据文件体积不宜过大的特性,因此对文件的创建有较高时效性的要求。
在遇到文件数量较多的场景下,现有技术会因查找空闲区域时间过长导致文件创建的实效性低,在系统缓存不足的情况下会丢失文件的部分起始内容,影响数据记录的有效性及完整性,而要避免此风险需要使用外扩缓存芯片、选择更大缓存主控等方式增大缓存空间,如此则会造成系统成本提高。
发明内容
针对上述问题,本发明提供了基于FAT32文件系统的提高CAN数据记录仪文件创建效率的方法,其将创建文件过程中的空闲区域查找操作过程均摊至上一个文件每次数据片段写入的过程中,避免了新文件创建时所消耗的大量时间,提高了数据记录的有效性及完整性,同时避免了系统成本的提升。
基于FAT32文件系统的提高CAN数据记录仪文件创建效率的方法,其特征在于,其包括如下步骤:
S1、系统上电开始工作后从头遍历选定目录下的全部文件,获取空闲位置区域,同时根据遍历总时间计算出单个文件的平均查询时间;
S2、系统设定工作周期,每个工作周期设定对应的设定运行时间T,将需要存储的数据通过若干个工作周期存储到空闲位置区域,每个工作周期内,实际运行时间T1会小于设定运行时间T,将设定运行时间T和实际运行时间T1的差额时间用于获取下一个文件所对应的空闲位置,在上个文件的写入总时间内完成下个文件的空间位置区域的查找;
S3、在获取的空闲位置区域创建文件,并根据文件名生成规则获取下一个文件名称及所需空闲区域的大小;
S4、在文件记录过程中从上一个空闲区域开始每个工作周期分批进行空闲区域查找,直至发现合适的空闲区域,记录空闲区域位置并停止查找;
S5、上一个文件记录完毕后,在记录的空闲区域创建新文件并不断重复文件的创建直至系统关闭。
其进一步特征在于:每个文件的大小为设定值A;
系统设置有数据缓存区,所述数据缓存区用于将数据片段通过缓存后写入空闲位置区域;
所述数据缓存区的大小为B;
步骤S2中,系统设定最大CPU负载率,即每个工作周期内系统的实际运行总时间和设定运行时间的总比值,从而获得每个周期内实际运行总时间的上限值T2,实际运行总时间的上限值T2和实际运行时间T1的差值即为每个工作周期用于进行下个文件的空间位置区域查找的时间T3;
步骤S2中,系统开始初始化并获取一个工作周期的实际运行时间,设定运行时间内CPU运行事务实际耗费的时间,该时间由第一个工作周期最后一个事务结束时的系统时间减去第一个事务开始时的系统时间获得,以此得出CPU负载率(实际运行时间/设定运行时间*100%),根据系统最大CPU负载率要求分配每个工作周期查询文件的数量,有如下计算式:查询文件数量≤(最大负载率*设定运行时间–实际运行时间)/单个文件查询时间;
步骤S2中,系统开始初始化并获取每个工作周期的设定运行时间及实际运行时间,设定运行时间内CPU运行事务实际耗费的时间,该时间由每个工作周期最后一个事务结束时的系统时间减去第一个事务开始时的系统时间获得,以此得出实时CPU负载率(实际运行时间/设定运行时间*100%),根据系统最大CPU负载率要求动态分配每个工作周期查询文件的数量,有如下计算式:查询文件数量≤(最大CPU负载率*设定运行时间–实际运行时间)/单个文件查询时间;
步骤S2中,系统开始初始化并根据系统最大CPU负载率要求及工作周期的设定运行时间定义CPU过载标志,该标志在每个过载周期(工作周期的设定运行时间*最大CPU负载率)后置为有效,在工作周期全部事务运行完毕后循环查询文件直至过载标志为有效时暂停查询,过载标志置为无效并在下个工作周期全部事务运行完毕后继续查询,即在单个文件写入的对应工作周期内实际运行时间T1大于实际运行总时间的上限值T2时,对应的工作周期为过载周期,过载周期内不再执行进行下个文件的空间位置区域查找。
采用上述技术方案后,将创建文件过程中的空闲区域查找操作过程均摊至上一个文件每次数据片段写入过程的若干个工作周期内,避免了新文件创建时所消耗的大量查询空闲位置的时间,提高了数据记录的有效性及完整性,同时避免了系统成本的提升。
具体实施方式
基于FAT32文件系统的提高CAN数据记录仪文件创建效率的方法,其包括如下步骤:
S1、系统上电开始工作后从头遍历选定目录下的全部文件,获取空闲位置区域,同时根据遍历总时间计算出单个文件的平均查询时间,单位文件的平均查询时间=遍历总时间/遍历获取的总文件数;
S2、系统设定工作周期,每个工作周期设定对应的设定运行时间T,将需要存储的数据通过若干个工作周期存储到空闲位置区域,每个工作周期内,实际运行时间T1会小于设定运行时间T,将设定运行时间T和实际运行时间T1的差额时间用于获取下一个文件所对应的空闲位置,在上个文件的写入总时间内完成下个文件的空间位置区域的查找;
S3、在获取的空闲位置区域创建文件,并根据文件名生成规则获取下一个文件名称及所需空闲区域的大小;文件名的生成规则为(年年月月日日时时分分秒秒.bin);
S4、在文件记录过程中从上一个空闲区域开始每个工作周期分批进行空闲区域查找,直至发现合适的空闲区域,记录空闲区域位置并停止查找;
S5、上一个文件记录完毕后,在记录的空闲区域创建新文件并不断重复步骤S3、S4、S5进行文件的创建直至系统关闭。
具体实施时,每个文件的大小为设定值A;
系统设置有数据缓存区,数据缓存区用于将数据片段通过缓存后写入空闲位置区域;
数据缓存区的大小为B;
步骤S2中,系统设定最大CPU负载率,即每个工作周期内系统的实际运行总时间和设定运行时间的总比值,从而获得每个周期内实际运行总时间的上限值T2,实际运行总时间的上限值T2和实际运行时间T1的差值即为每个工作周期用于进行下个文件的空间位置区域查找的时间T3。
步骤S2的第一中设定模式:系统开始初始化并获取一个工作周期的实际运行时间,设定运行时间内CPU运行事务实际耗费的时间,该时间由第一个工作周期最后一个事务结束时的系统时间减去第一个事务开始时的系统时间获得,以此得出CPU负载率(实际运行时间/设定运行时间*100%),根据系统最大CPU负载率要求分配每个工作周期查询文件的数量,有如下计算式:查询文件数量≤(最大CPU负载率*设定运行时间–实际运行时间)/单个文件查询时间。
步骤S2的第二种设定模式:系统开始初始化并获取每个工作周期的设定运行时间及实际运行时间,设定运行时间内CPU运行事务实际耗费的时间,该时间由每个工作周期最后一个事务结束时的系统时间减去第一个事务开始时的系统时间获得,以此得出实时CPU负载率(实际运行时间/设定运行时间*100%),根据系统最大CPU负载率要求动态分配每个工作周期查询文件的数量,有如下计算式:查询文件数量≤(最大CPU负载率*设定运行时间–实际运行时间)/单个文件查询时间;
步骤S2的第三种设定模式:系统开始初始化并根据系统最大CPU负载率要求及工作周期的设定运行时间定义CPU过载标志,该标志在每个过载周期(工作周期的设定运行时间*最大CPU负载率)后置为有效,在工作周期全部事务运行完毕后循环查询文件直至过载标志为有效时暂停查询,过载标志置为无效并在下个工作周期全部事务运行完毕后继续查询,即在单个文件写入的对应工作周期内实际运行时间T1大于实际运行总时间的上限值T2时,对应的工作周期为过载周期,过载周期内不再执行进行下个文件的空间位置区域查找。
具体实施例中:CAN数据记录仪的存储介质为16GSD卡,系统设定的每个文件的大小设定值A为60MB,数据缓存区的大小B为16KB,步骤S2中每次数据片段写入的工作周期的设定运行时间T为10ms,系统设定最大CPU负载率为80%,在每个工作周期内实际运行时间T1约等于3.5ms,在这个实际运行时间内包括写入数据的时间,在每个工作周期内,CAN数据不会一直存续传输,故存在周期内没有写入数据的情况,实际每个文件存储所对应的工作周期数远大于A/B所获得的数值,实际情况下每个工作周期内约有4.5ms的时间用于查找SD内的空闲位置,每个文件写入的总时间为根据车辆CAN传输数据速度决定,这段写入的总时间足够分摊到每个工作周期内进行下一个文件的空闲位置查找,上一个文件创建写入后,下一个文件直接进行文件创建写入,在记录的空闲区域创建新文件并不断重复文件的创建直至系统关闭。
其工作原理如下:将创建文件过程中的空闲区域查找操作过程均摊至上一个文件每次数据片段写入过程的若干个工作周期内,避免了新文件创建时所消耗的大量查询空闲位置的时间,提高了数据记录的有效性及完整性,同时避免了系统成本的提升。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

Claims (7)

1.基于FAT32文件系统的提高CAN数据记录仪文件创建效率的方法,其特征在于,其包括如下步骤:
S1、系统上电开始工作后从头遍历选定目录下的全部文件,获取空闲位置区域,同时根据遍历总时间计算出单个文件的平均查询时间;
S2、系统设定工作周期,每个工作周期设定对应的设定运行时间T,将需要存储的数据通过若干个工作周期存储到空闲位置区域,每个工作周期内,实际运行时间T1会小于设定运行时间T,将设定运行时间T和实际运行时间T1的差额时间用于获取下一个文件所对应的空闲位置,在上个文件的写入总时间内完成下个文件的空间位置区域的查找;
S3、在获取的空闲位置区域创建文件,并根据文件名生成规则获取下一个文件名称及所需空闲区域的大小;
S4、在文件记录过程中从上一个空闲区域开始每个工作周期分批进行文空闲区域查找,直至发现合适的空闲区域,记录空闲区域位置并停止查找;
S5、上一个文件记录完毕后,在记录的空闲区域创建新文件并不断重复文件的创建直至系统关闭。
2.如权利要求1所述的基于FAT32文件系统的提高CAN数据记录仪文件创建效率的方法,其特征在于:每个文件的大小为设定值。
3.如权利要求2所述的基于FAT32文件系统的提高CAN数据记录仪文件创建效率的方法,其特征在于:系统设置有数据缓存区,所述数据缓存区用于将数据片段通过缓存后写入空闲位置区域。
4.如权利要求1所述的基于FAT32文件系统的提高CAN数据记录仪文件创建效率的方法,其特征在于:步骤S2中,系统设定最大CPU负载率,即每个工作周期内系统的实际运行总时间和设定运行时间的总比值,从而获得每个周期内实际运行总时间的上限值T2,实际运行总时间的上限值T2和实际运行时间T1的差值即为每个工作周期用于进行下个文件的空间位置区域查找的时间T3。
5.如权利要求4所述的基于FAT32文件系统的提高CAN数据记录仪文件创建效率的方法,其特征在于:步骤S2中,系统开始初始化并获取一个工作周期的实际运行时间,设定运行时间内CPU运行事务实际耗费的时间,该时间由第一个工作周期最后一个事务结束时的系统时间减去第一个事务开始时的系统时间获得,以此得出CPU负载率,根据系统最大CPU负载率要求分配每个工作周期查询文件的数量。
6.如权利要求4所述的基于FAT32文件系统的提高CAN数据记录仪文件创建效率的方法,其特征在于:步骤S2中,系统开始初始化并获取每个工作周期的设定运行时间及实际运行时间,设定运行时间内CPU运行事务实际耗费的时间,该时间由每个工作周期最后一个事务结束时的系统时间减去第一个事务开始时的系统时间获得,以此得出实时CPU负载率,根据系统最大CPU负载率要求动态分配每个工作周期查询文件的数量。
7.如权利要求4所述的基于FAT32文件系统的提高CAN数据记录仪文件创建效率的方法,其特征在于:步骤S2中,系统开始初始化并根据系统最大CPU负载率要求及工作周期的设定运行时间定义CPU过载标志,该标志在每个过载周期后置为有效,在工作周期全部事务运行完毕后循环查询文件直至过载标志为有效时暂停查询,过载标志置为无效并在下个工作周期全部事务运行完毕后继续查询,即在单个文件写入的对应工作周期内实际运行时间T1大于实际运行总时间的上限值T2时,对应的工作周期为过载周期,过载周期内不再执行进行下个文件的空间位置区域查找。
CN202111192864.4A 2021-10-13 2021-10-13 基于fat32文件系统的提高can数据记录仪文件创建效率的方法 Active CN113900993B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111192864.4A CN113900993B (zh) 2021-10-13 2021-10-13 基于fat32文件系统的提高can数据记录仪文件创建效率的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111192864.4A CN113900993B (zh) 2021-10-13 2021-10-13 基于fat32文件系统的提高can数据记录仪文件创建效率的方法

Publications (2)

Publication Number Publication Date
CN113900993A CN113900993A (zh) 2022-01-07
CN113900993B true CN113900993B (zh) 2022-06-28

Family

ID=79191901

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111192864.4A Active CN113900993B (zh) 2021-10-13 2021-10-13 基于fat32文件系统的提高can数据记录仪文件创建效率的方法

Country Status (1)

Country Link
CN (1) CN113900993B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108763401A (zh) * 2018-05-22 2018-11-06 平安科技(深圳)有限公司 一种文件的读写方法及设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9720616B2 (en) * 2008-06-18 2017-08-01 Super Talent Technology, Corp. Data-retention controller/driver for stand-alone or hosted card reader, solid-state-drive (SSD), or super-enhanced-endurance SSD (SEED)
CN104899050B (zh) * 2014-03-04 2018-12-18 广州猎豹网络科技有限公司 在移动终端中安装应用程序的方法、装置和电子设备
CN104462433B (zh) * 2014-12-17 2017-11-10 四川效率源信息安全技术股份有限公司 一种恢复fat32分区数据的方法
CN110096229A (zh) * 2019-04-08 2019-08-06 南京工业职业技术学院 硬盘fat32文件系统分区快速搜索重组与恢复方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108763401A (zh) * 2018-05-22 2018-11-06 平安科技(深圳)有限公司 一种文件的读写方法及设备

Also Published As

Publication number Publication date
CN113900993A (zh) 2022-01-07

Similar Documents

Publication Publication Date Title
US10831734B2 (en) Update-insert for key-value storage interface
CN109154917B (zh) 存储系统和固态硬盘
CN110149803B (zh) 数据存储方法、系统及终端设备
US9298384B2 (en) Method and device for storing data in a flash memory using address mapping for supporting various block sizes
CN106708427B (zh) 一种适用于键值对数据的存储方法
CN105009094B (zh) 在固态驱动器中利用空闲空间计数来重建两阶加电映射的方法、设备和系统
US8799601B1 (en) Techniques for managing deduplication based on recently written extents
CN103678523B (zh) 分布式高速缓存cache数据访问方法和装置
CN103425600B (zh) 一种固态盘闪存转换层中的地址映射方法
US7761648B2 (en) Caching method for NAND flash translation layer
US9378305B1 (en) Selecting pages implementing leaf nodes and internal nodes of a data set index for reuse
JP5129156B2 (ja) アクセス装置、および、ライトワンス記録システム
CN102541983B (zh) 一种分布式文件系统中多客户端缓存同步的方法
CN103902467B (zh) 压缩内存访问控制方法、装置及系统
CN105389264B (zh) 存储系统中垃圾收集的方法和系统
WO2015114754A1 (ja) ストレージ装置
US10503424B2 (en) Storage system
CN101315628A (zh) 内存数据库系统及实现内存数据库的方法和装置
WO2015162752A1 (ja) データベース演算部を備えるフラッシュモジュール、及びストレージ装置
CN104850358A (zh) 一种磁光电混合存储系统及其数据获取和存储方法
CN104462224A (zh) 一种云盘文件在线编辑方法
CN105159616A (zh) 一种磁盘空间管理方法及装置
CN109558335A (zh) 一种基于Nor Flash存储器的嵌入式系统的文件存储格式
KR102316271B1 (ko) 데이터 저장장치의 주소 맵핑 테이블 운용 방법
CN113900993B (zh) 基于fat32文件系统的提高can数据记录仪文件创建效率的方法

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