基于数据分块技术的文件循环存储方法和装置制造方法及图纸

技术编号:26341984 阅读:32 留言:0更新日期:2020-11-13 20:29
本申请涉及一种基于数据分块技术的文件循环存储方法和装置。所述方法包括:数据创建:在存储区域创建文件的最大文件块个数和文件头对应的内存,文件块包括:块头和块内容,块头包括文件块的序号,多个文件块组成块链,数据存入:获取待存入文件的数据大小,根据数据大小确定存储待存入文件所需的文件块个数,以及每个文件块对应的文件指针位置,将数据块个数和文件指针位置写入文件头中,根据块内容所占内存和序号依次将待存入文件存入块内容中。采用本方法能够实现文件循环存储。

【技术实现步骤摘要】
基于数据分块技术的文件循环存储方法和装置
本申请涉及计算机
,特别是涉及一种基于数据分块技术的文件循环存储方法和装置。
技术介绍
随着计算机技术的发展,出现了存储技术,计算机发展伊始,对存储需求不高,一般通过软盘对文件进行存储,文件大小一般在1M左右,目前,随着文件存储的需求越来越大,文件大小也从1M的小文件增长到100M以上的大文件。目前针对大文件(大于100M小于4G)的存储方式一般分为以下两种:1.数据排列简单的文件模式,一般采用直接按顺序存储的方式,将数据存储到一个文件。比如平时常见的.wav文件,就是将一个4字节单精度浮点型数据的集合,依次按顺序写入到文件。这种方式存储读取都比较简单也比较通用,但是扩展性和功能性都较差,记录的数据一般都比较单一,比如记录一段声音,一段电流波形等。无法记录更多元的数据,无法实现循环存储。2.多文件方式,多文件方式一般需要一个文件索引+数个数据文件的方式。比如需要存储一个房子的时时刻刻电压数据,一般的做法就是先生成一个索引文件,然后每小时生成一个wav文件记录这个小时的电压波形,并把这个wav文件的路径,开始时间,结束时间,平均值,最大值,最小值等信息写入索引文件。这样做扩展性功能性基本都能满足大部分的需求,需要全局存储的数据如开始结束时间,可存入索引文件,需要循环存储的话,新生成的文件替换最老的文件并在索引中变更文件名和开始结束时间即可实现循环存储。缺点是维护管理需要一定的技术水平,写入读取时至少要打开两个文件才能操作,写入读取难度都较大。且多文件的方式,让拷贝转移动作变复杂且不可靠,容易丢失文件丢失数据。
技术实现思路
基于此,有必要针对上述技术问题,提供一种能够解决文件循环存储困难问题的基于数据分块技术的文件循环存储方法和装置。一种基于数据分块技术的文件循环存储方法,所述方法包括:数据创建:在存储区域创建文件的最大文件块个数和文件头对应的内存;所述文件块包括:块头和块内容;所述块头包括所述文件块的序号;所述多个文件块组成块链;数据存入:获取待存入文件的数据大小,根据所述数据大小确定存储所述待存入文件所需的文件块个数,以及每个所述文件块对应的文件指针位置;将所述数据块个数和所述文件指针位置写入所述文件头中,根据所述块内容所占内存和序号依次将待存入文件存入所述块内容中。在其中一个实施例中,还包括:当所述文件块个数大于所述最大文件块个数时;则循环将待存入文件根据所述块内容所占内存和序号依次存入所述块内容中。在其中一个实施例中,还包括:所述文件头还用于记录所述待存入文件的第一起始时间和第一结束时间;所述块头还用于记录所述块内容中待存入文件的第二起始时间和第二结束时间;所述第二起始时间至所述第二结束时间为所述第一起始时间至第一结束时间的时间片段。在其中一个实施例中,还包括:所述文件头和文件块所占内容固定。在其中一个实施例中,还包括:将所述待存入文件存入所述块内容中,当所述块内容中存储的待存入文件大于所占内存的预设百分比时,根据序号,将待存入文件存入下一个所述文件块的所述块内容中。在其中一个实施例中,还包括:当序号最大的文件块存储的待存入文件大于所占内存的预设百分比时,将待存入文件存入序号最小的所述文件块的所述块内容中。在其中一个实施例中,还包括:根据序号,确定序号对应文件块的文件指针位置;根据所述文件指针位置,读取所述文件块中存储的待存入文件。一种基于数据分块技术的文件循环存储装置,所述装置包括:创建模块,用于在存储区域创建文件的最大文件块个数和文件头对应的内存;所述文件块包括:块头和块内容;所述块头包括所述文件块的序号;所述多个文件块组成块链;标记模块,用于获取待存入文件的数据大小,根据所述数据大小确定存储所述待存入文件所需的文件块个数,以及每个所述文件块对应的文件指针位置;存储模块,用于将所述数据块个数和所述文件指针位置写入所述文件头中,根据所述块内容所占内存和序号依次将待存入文件存入所述块内容中。一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:数据创建:在存储区域创建文件的最大文件块个数和文件头对应的内存;所述文件块包括:块头和块内容;所述块头包括所述文件块的序号;所述多个文件块组成块链;数据存入:获取待存入文件的数据大小,根据所述数据大小确定存储所述待存入文件所需的文件块个数,以及每个所述文件块对应的文件指针位置;将所述数据块个数和所述文件指针位置写入所述文件头中,根据所述块内容所占内存和序号依次将待存入文件存入所述块内容中。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:数据创建:在存储区域创建文件的最大文件块个数和文件头对应的内存;所述文件块包括:块头和块内容;所述块头包括所述文件块的序号;所述多个文件块组成块链;数据存入:获取待存入文件的数据大小,根据所述数据大小确定存储所述待存入文件所需的文件块个数,以及每个所述文件块对应的文件指针位置;将所述数据块个数和所述文件指针位置写入所述文件头中,根据所述块内容所占内存和序号依次将待存入文件存入所述块内容中。上述基于数据分块技术的文件循环存储方法、装置、计算机设备和存储介质,通过将大文件分块存储至多个文件块中,并且通过文件头以及块头进行索引,便于进行文件查询,在文件存储时,分块存储可以降低对于磁盘的压力,提高软件的存盘效率,并且提高数据的安全性。并在数据出错时,只损失部分文件,有效的防止数据丢失,在循环存储时,所有文件块存储满时,通过设置的策略,最新文件覆盖最旧的文件块中的文件,从而存储的文件在时间上还是保持其连续性,从而实现循环存储。附图说明图1为一个实施例中文件结构的结构框图;图2为一个实施例中基于数据分块技术的文件循环存储方法的流程示意图;图3为一个实施例中基于数据分块技术的文件循环存储装置的结构框图;图4为一个实施例中计算机设备的内部结构图;图5为另一个实施例中计算机设备的内部结构图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。本申请提供的基于数据分块技术的文件循环存储方法,可以应用于终端或者服务器中。其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。具体的,终端和服务器均包括存储模块,在执行本申请的方法时,文件结构如图1所示,包括:文件头和文件块,文件块由块头和块内容组成,多个块从上至下排列组成块链,根据其在块链中的位置,对齐进行排序,并且得本文档来自技高网
...

【技术保护点】
1.一种基于数据分块技术的文件循环存储方法,所述方法包括:/n数据创建:/n在存储区域创建文件的最大文件块个数和文件头对应的内存;所述文件块包括:块头和块内容;所述块头包括所述文件块的序号;所述多个文件块组成块链;/n数据存入:/n获取待存入文件的数据大小,根据所述数据大小确定存储所述待存入文件所需的文件块个数,以及每个所述文件块对应的文件指针位置;/n将所述数据块个数和所述文件指针位置写入所述文件头中,根据所述块内容所占内存和序号依次将待存入文件存入所述块内容中。/n

【技术特征摘要】
1.一种基于数据分块技术的文件循环存储方法,所述方法包括:
数据创建:
在存储区域创建文件的最大文件块个数和文件头对应的内存;所述文件块包括:块头和块内容;所述块头包括所述文件块的序号;所述多个文件块组成块链;
数据存入:
获取待存入文件的数据大小,根据所述数据大小确定存储所述待存入文件所需的文件块个数,以及每个所述文件块对应的文件指针位置;
将所述数据块个数和所述文件指针位置写入所述文件头中,根据所述块内容所占内存和序号依次将待存入文件存入所述块内容中。


2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述文件块个数大于所述最大文件块个数时;
则循环将待存入文件根据所述块内容所占内存和序号依次存入所述块内容中。


3.根据权利要求1所述的方法,其特征在于,所述文件头还用于记录所述待存入文件的第一起始时间和第一结束时间;所述块头还用于记录所述块内容中待存入文件的第二起始时间和第二结束时间;
所述第二起始时间至所述第二结束时间为所述第一起始时间至第一结束时间的时间片段。


4.根据权利要求1至3任一项所述的方法,其特征在于,所述文件头和文件块所占内容固定。


5.根据权利要求1至3任一项所述的方法,根据所述块内容所占内存和序号依次将待存入文件存入所述块内容中,包括:
将所述待存入文件存入所述块内容中,当所述块内容中存储的待存入文件大于所占内存的预设百分比时,根据序号,将待存入文件存入下一个所述...

【专利技术属性】
技术研发人员:唐欣肖飞文诚
申请(专利权)人:中国人民解放军海军工程大学湖南银河电气有限公司
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1