CN112506918B - 数据存取方法、终端及计算机可读存储介质 - Google Patents

数据存取方法、终端及计算机可读存储介质 Download PDF

Info

Publication number
CN112506918B
CN112506918B CN202011207779.6A CN202011207779A CN112506918B CN 112506918 B CN112506918 B CN 112506918B CN 202011207779 A CN202011207779 A CN 202011207779A CN 112506918 B CN112506918 B CN 112506918B
Authority
CN
China
Prior art keywords
storage
data
parameter
block
structure body
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
CN202011207779.6A
Other languages
English (en)
Other versions
CN112506918A (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.)
Shenzhen Hongdian Technologies Corp
Original Assignee
Shenzhen Hongdian Technologies Corp
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 Shenzhen Hongdian Technologies Corp filed Critical Shenzhen Hongdian Technologies Corp
Priority to CN202011207779.6A priority Critical patent/CN112506918B/zh
Publication of CN112506918A publication Critical patent/CN112506918A/zh
Application granted granted Critical
Publication of CN112506918B publication Critical patent/CN112506918B/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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management

Landscapes

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

Abstract

本申请公开了一种数据存取方法、终端及计算机可读存储介质。其中,数据存取方法包括:获取待存取数据的数据属性;根据数据属性获取最新存储参数结构体;根据最新存储参数结构体计算出本次存取的实际地址;根据实际地址对待存取数据进行存取。本方法将块信息结构体、存储参数结构体与数据相结合,使得当终端系统修改了与存储相关的参数后,终端系统仍然能够对数据进行正确的存取,提升了数据存取的可靠性。

Description

数据存取方法、终端及计算机可读存储介质
技术领域
本申请涉及但不限于数据处理领域,尤其是涉及一种数据存取方法、终端及计算机可读存储介质。
背景技术
随着科技技术的不断发展,终端设备存储的数据的类型越来越多,存储规则也越来越多,特别是与系统时间对应的数据的存储。当终端系统修改了与存储相关的参数后,如修改了时间或存储间隔后,终端系统出现了无法存取数据或存取数据无效的问题。
发明内容
本申请旨在至少解决现有技术中存在的技术问题之一。为此,本申请提出一种数据存取方法,解决了当存储相关的参数被修改后终端系统出现的无法存取数据或存取数据无效的问题。
本申请还提出一种具有数据存取方法的终端。
本申请还提出一种具有数据存取方法的计算机可读存储介质。
根据本申请第一方面实施例的数据存取方法,所述方法包括:获取待存取数据的数据属性;根据所述数据属性获取最新存储参数结构体;根据所述最新存储参数结构体计算出本次存取的实际地址;根据所述实际地址对所述待存取数据进行存取。
根据本申请实施例的数据存取方法,至少具有如下技术效果:本方法将块信息结构体、存储参数结构体与数据相结合,使得当终端系统修改了与存储相关的参数后,终端系统仍然能够对数据进行正确的存取,提升了数据存取的可靠性。
根据本申请的一些实施例,所述方法还包括:若本次存储跨越多个数据块,则补全当前块信息结构体和所述最新存储参数结构体;在最新数据块中定义所述块信息结构体并初始化最新定义的块信息结构体;重新定义所述存储参数结构体并初始化最新定义的存储参数结构体。
根据本申请的一些实施例,所述块信息结构体包括第一静态类参数和第一动态类参数,所述第一静态类参数先于所述第一动态类参数写入所述块信息结构体;所述存储参数结构体包括第二静态类参数和第二动态类参数,所述第二静态类参数先于所述第二动态类参数写入所述存储参数结构体。
根据本申请的一些实施例,所述数据块中设置有存储信息结构体,所述存储信息结构体用于构建存储参数结构体。
根据本申请的一些实施例,所述方法还包括:根据所述存储参数结构体对存储参数进行异常处理,所述数据属性包括所述存储参数,所述存储参数包括存储时间和存储间隔。
根据本申请的一些实施例,所述待存取数据包括待提取数据,所述根据所述数据属性获取最新存储参数结构体之后,所述方法还包括:查找首个存储参数结构体;根据所述首个存储参数结构体和最新所述存储参数结构体,构建提取参数链表。
根据本申请的一些实施例,所述方法还包括:根据所述提取参数链表的节点信息,将所述待提取数据提取到缓存区。
根据本申请的一些实施例,所述数据属性包括存储属性和提取属性,所述存储属性包括存储类型、数据内容、存储时间,所述提取属性包括存储类型、提取起始时间、提取结束时间、缓存区、缓存区大小、存储间隔。
根据本申请第二方面实施例的终端,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现:本申请上述第一方面实施例的数据存取方法。
根据本申请第三方面实施例的计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于:执行上述第一方面实施例的所述的数据存取方法。
本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过申请的实践了解到。
附图说明
本申请的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是本申请一个实施例提供的数据存取方法流程图;
图2是本申请一个实施例提供的数据结构示意图;
图3是本申请另一个实施例提供的数据存取方法流程图;
图4是本申请另一个实施例提供的数据存储方法流程图;
图5是本申请另一个实施例提供的数据存取方法流程图;
图6是本申请另一个实施例提供的数据存取方法流程图;
图7是本申请另一个实施例提供的数据存取方法流程图;
图8是本申请一个实施例提供的提取参数链表节点中提取时间与存储时间关系图;
图9是本申请另一个实施例提供的数据存取方法流程图;
图10是本申请另一个实施例提供的数据存取方法流程图;
图11是本申请另一个实施例提供的数据存取方法流程图。
具体实施方式
下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本申请旨在至少解决现有技术中存在的技术问题之一。为此,本申请提出一种数据存取方法,本方法将块信息结构体、存储参数结构体与数据相结合,便于解决当存储相关的参数被修改后终端系统出现的无法存取数据或存取数据无效的问题。
本申请还提出一种具有数据存取方法的终端。
本申请还提出一种具有数据存取方法的计算机可读存储介质。
根据本申请第一方面实施例的数据存取方法,方法包括:获取待存取数据的数据属性;根据数据属性获取最新存储参数结构体;根据最新存储参数结构体计算出本次存取的实际地址;根据实际地址对待存取数据进行存取。
在具体的实施例中,如图1所示,本方法包括步骤:
S110,获取待存取数据的数据属性;
S120,根据数据属性获取最新存储参数结构体;
S130,根据最新存储参数结构体计算本次存取的实际地址;
S140,根据实际地址对待存取数据进行存取。
数据存取方法的核心思想是在存储中设置块信息结构体和存储参数结构体,以便于对数据进行有效存取。其中,块信息结构体用于描述存储器中本数据块的存储信息及其与相邻数据块之间的存储关系;存储参数结构体用于描述本结构体的所在位置、本结构体后续所带的数据属性。
在具体的实施例中,本方法用于flash(闪)存储,需要说明的是,除此之外,本方法也适用于其他存储介质,如U盘、SD卡等,仍然能使用本方法对数据进行有效存取。其中,U盘指USB盘(universal serial bus flash disk,优盘),SD卡(Secure Digital MemoryCard,安全数码卡)。
在具体的实施例中,如图2所示,每个数据块设置有一个块信息结构体,每个数据块设置有一个或多个存储参数结构体,每个存储参数结构体后是与之相对应的数据段,其中,存储参数结构体的数量设置的依据包括存储过程中发生参数异常的次数,系统每发生一次存储参数异常,就生成一次存储参数结构体,以避免参数异常对数据存取的影响。上述的参数异常情况包括系统时间被修改,存储间隔被修改等情况。
在具体的实施例中,每块的长度为64k个字节,每个存储单元的长度为3或5个字节,其中,存储单元指本存储方法中定义的最小数据存储单元,存储单元的长度与本次存取数据的类型相关。需要说明的是,本方法中所涉及的数据块长度、块信息结构体长度、存储参数结构体长度、存储单元长度是可定义的,可根据每次存取过程的存储类型、存储介质类型等的不同进行合理的调整,能够满足在相应存储场景下对数据的可靠存取即可。
存储参数结构体用于计算本结构体后所存储的各段数据的属性,比如存储地址和存储时间等,进而使得从平台或工具提取出来的数据可以与各自的存储时间相对应,实现数据与存储时间的关联。
本方法将块信息结构体、存储参数结构体与数据相结合,使得当终端系统修改了相关存储参数后,如修改了存储时间或存储间隔后,终端系统仍然能够对数据进行正确的存取,提升了数据存取的可靠性。
根据本申请的一些实施例,方法还包括:若本次存储跨越多个数据块,则补全当前块信息结构体和最新存储参数结构体;在最新数据块中定义块信息结构体并初始化最新定义的块信息结构体;重新定义存储参数结构体并初始化最新定义的存储参数结构体。
在具体的实施例中,如图3所示,本方法包括步骤:
S310,判断本次存储是否跨越多个数据块;
S320,补全当前块信息结构体和最新存储参数结构体;
S330,在最新数据块中定义块信息结构体并初始化最新定义的块信息结构体;
S340,重新定义存储参数结构体并初始化最新定义的存储参数结构体;
S350,继续存储数据。
若本次存储跨越多个数据块,即本数据块中未使用的空间不足于支持本次数据的存储,则另外选择一个未被使用的最新数据块,以完成本次存储。
首先补全当前块的块信息结构体,并将其写入当前数据块中;补全当前所用的最新的存储参数结构体,并将其写入当前数据块中,从而保证了换块前数据的完整性。
然后另外选择一个未被使用的数据块,定义一个新的块信息结构体,初始化块信息结构体,并将其写入新数据块中;在新数据块中另外起一个存储参数结构体,初始化存储参数结构体,并将其写入新数据块中,从而实现了换块后数据的有效存储。
最后将此存储参数结构体设置为最新的存储参数结构体,保证了整个数据存储过程的连贯性。
通过上述步骤,解决了存储过程中因当前块中剩余存储空间不足的问题,使得数据的存取更为可靠。
根据本申请的一些实施例,块信息结构体包括第一静态类参数和第一动态类参数,第一静态类参数先于第一动态类参数写入块信息结构体;存储参数结构体包括第二静态类参数和第二动态类参数,第二静态类参数先于第二动态类参数写入存储参数结构体。
块信息结构体包括但不限于以下参数:
块标记,用于描述当前块的存储信息,比如,块标记值为0XAA55表示当前块已经存满;
下一块索引,用于记录当前存储类型的下一个数据块的索引;
上一块索引,用于记录当前存储类型的上一个数据块的索引;
存储类型,用于记录存储的数据的类型;
保留位,用于拓展使用。
其中,上一块索引、存储类型属于第一静态类参数,块标记和下一块索引属于第一动态类参数。
在具体的实施例中,在系统给本次存储分配一个新数据块后,块信息结构体中的第一静态类参数,在初始阶段即可确定,因此先将其写入存储器中块信息结构体的相应位置,第一动态类参数需待换块后才能确定,因此后将其写入存储器中块信息结构体的相应位置。
在flash存储中,若两次在同一个位置写入不同的参数值,则会出现数据冲突,因此可以将已经确定的第一静态类参数先写入flash中,而将可动态变化的第一动态类参数,在确定后写入flash中,避免了参数写入时出现参数冲突的问题,确保了数据存取的流畅性和安全性。
存储参数结构体包括但不限于以下参数:
存储类型,用于记录存取数据的类型;
存储间隔,用于记录存储一次数据间隔时间;
存储单元,指的是本存储方法中定义的最小数据存储单元,存储单元的长度与本次存取数据的类型相关,如存储单元长度为3或5个字节;
数据块索引,用于指示当前数据存储于在哪一数据块中;
存储起始时间,用于记录第一次存储数据时对应的存储时间;
存储起始地址,用于记录第一次存储数据的地址;
当前参数所在的位置,用于描述当前存储参数结构体所在的位置;
上个参数所在的位置,用于描述上一个存储参数结构体所在的位置;
下个参数所在的位置,用于描述下一个存储参数结构体所在的位置;
存储结束时间,用于记录最后一次存储数据时对应的时间;
存储结束地址,用于记录最后一次存储数据的地址;
最后存储长度,用于记录最后一次存储数据后数据的总长度;
换参换块标志,用于记录下个存储参数结构体还在本数据块内,还是在下一数据块中;
保留位,用于拓展使用。
其中,存储类型、存储间隔、存储单元、数据块索引、存储起始时间、存储起始地址、当前参数所在的位置、上个参数所在的位置属于第二静态类参数,存储结束时间、存储结束地址、下个参数所在的位置、最后存储长度、换参换块标志属于第二动态类参数。
在具体的实施例中,生成一个存储参数结构体后,存储参数结构体中的第二静态类参数可以优先确定,因此可以先写进存储器中存储参数结构体的相应位置;而未被确定的第二动态类参数,动态地反应着每一次存储后的状态,因此,在生成存储参数结构体时暂时不将其写入,待需更换存储参数结构体时再写入到存储参数结构体的相应位置,从而避免了参数写入时出现参数冲突的问题,确保了数据存取的流畅性和安全性。
根据本申请的一些实施例,数据块中设置有存储信息结构体,存储信息结构体用于构建存储参数结构体。
在具体的实施例中,根据存储器的容量进行分块,数据块长度为64k字节,选择第一个数据块,划出一个扇区,扇区大小为4k字节,用来存放存储信息结构体,存储信息结构体用于初始化时构建存储参数结构体。存储信息结构体与各种数据的存储类型对应,一种数据对应一种存储类型和一个存储信息结构体,多种数据对应多种存储类型和多个存储信息结构体。
需要说明的是,分数据块的依据除了存储器的容量以外,也可为存储介质的种类等;每个数据块的大小和每个扇区的大小取决于存储器厂商具体产品类型;存放存储信息结构体的块可以是存储器的第一个数据块,也可以是其他未被使用过的一个数据块,只须满足存储的要求即可。
将存储空间分为不同的数据块,能提升存储空间的使用效率,便于对存储内容的分类和读取;用某一个数据块单独来存放存储信息,能防止与其他结构体的取值冲突,保证构建存储参数结构体的过程顺利进行。
存储信息结构体包括但不限于以下参数:
有效地址,用于记录当前存储信息结构体所在的位置;
有效标志,用于指示当前存储信息结构体中的内容是否有效;
存储类型,用于指示存储的数据的类型;
起始块,用于指示该存储类型对应的数据的首个数据块的索引;
保留位,用于拓展使用。
在具体的实施例中,如图4所示,系统开机时需要构建存储参数结构体,构建过程包括步骤:
S410,获取从指定扇区中的各个存储信息结构体;
S420,根据各个有效的存储信息结构体中记录的起始块,获取到各个数据块的块信息结构体;
S430,根据块信息结构体中记录着块标记和下一块索引等信息,查找到该存储类型的数据在存储器中的最后一个数据块;
S440,获取最后一块的存储参数结构体,查找最后一个存储参数结构体;
S450,在最后一个存储参数结构体之后,构建一个最新的存储参数结构体。
在具体的实施例中,如图5所示,系统运行时,若需添加新的存储类型,则需构建存储参数结构体,构建过程包括步骤:
S510,设置存储类型、存储间隔、存储单元等信息;
S520,根据存储类型、存储间隔、存储单元等信息,为待存储的数据分配一个新数据块,生成一个块信息结构体;
S530,将第一静态类参数写入存储器中块信息结构体的相应位置;
S540,在新数据块中构建一个存储参数结构体;
S550,将第二静态类参数写入存储器中存储参数结构体的相应位置;
S560,生成对应的存储信息结构体,写入存储器的指定扇区中。
根据本申请的一些实施例,方法还包括:根据存储参数结构体对存储参数进行异常处理,数据属性包括存储参数,存储参数包括存储时间和存储间隔。
存储参数包括存储时间和存储间隔,数据属性包括存储参数,当存储参数出现异常时,系统会利用存储参数结构体对存储参数进行异常处理,从而保证数据存取过程的正常进行。需要说明的是,存储参数包括但不限于存储时间和存储间隔,也可以为存储单元等。
在具体的实施例中,如图6所示,存储参数异常处理包括步骤:
S610,传入存储参数结构体指针、存储时间、存储间隔;
S620,根据存储参数结构体指针指向的存储结束时间、存储时间来计算超前时间间隔或滞后时间间隔;
S630,判断超前时间间隔是否>60分钟;或者滞后时间间隔是否>1分钟;或者存储间隔是否与不存储参数结构体指针指向的存储间隔不同;
S640,判断本次存储是否跨越多个数据块;
S650,补全当前块信息结构体,在最新数据块中定义块信息结构体并初始化最新定义的块信息结构体,将其写入存储器中块信息结构体的相应位置;
S660,补全当前使用的存储参数结构体,将其写入存储器中存储参数结构体的相应位置;
S670,另起一个存储参数结构体并初始化,将其写入存储器中存储参数结构体的相应位置,并将其设置为最新存储参数结构体;
S680,继续存储数据。
其中,在S610步骤中,传入存储参数结构体指针指的是最新的存储参数结构体的地址,存储时间是在存储模块中,由传入的时间调整成存储间隔的倍数得来的,具体的计算方法为:将系统传入的时间(秒)除以存储间隔(秒),将除数取整,再乘以存储间隔,从而得到存储时间。
例如,存储间隔是300秒,传入的时间是2020-09-07 19:06:58,将传入时间换算成秒并除以300秒后取整,再乘以300秒,最后把计算结果换算为时间格式,得到存储时间为2020-09-07 19:05:00,从而将存储时间调整为300秒的整数倍,以便于后续的数据存储。
其中,在S620步骤中,若传入的存储时间大于传入的存储参数结构体指针指向的存储结束时间,则用传入的存储时间减去传入的存储参数结构体指针指向的存储结束时间,计算出超前时间间隔;若传入的存储时间不大于传入的存储参数结构体指针指向的存储结束时间,则用传入的存储参数结构体指针指向的存储结束时间减去传入的存储时间,计算出滞后时间间隔。
本步骤使用超前时间间隔或滞后时间间隔的大小,来评估预存储数据段相对于已存数据的超前或滞后程度,从而为后续的异常情况判断提供依据。
其中,在S630步骤中,采用逻辑或的形式,分别判断三个条件,超前时间间隔>60分钟;或者滞后时间间隔>1分钟;或者存储间隔是否与不存储参数结构体指针指向的存储间隔不同。若其中有一个判断条件成立,则此步骤的结果即为真,否则为假,只要三个条件满足一个,即认定为出现参数异常情况。
根据本申请的一些实施例,待存取数据包括待提取数据,根据数据属性获取最新存储参数结构体之后,方法还包括:查找首个存储参数结构体;根据首个存储参数结构体和最新存储参数结构体,构建提取参数链表。
在具体的实施例中,如图7所示,包括步骤:
S710,判断是否能找到首个存储参数结构体;
S720,根据首个存储参数结构体和最新存储参数结构体,构建提取参数链表,利用提取参数链表提取数据;
S730,利用最新存储参数结构体提取数据。
其中,在步骤S710中,首个存储参数结构体指的是当前所能查找到的、存储位置在最前面的存储参数结构体,但该存储参数结构体又不是最新存储参数结构体。若找到了首个存储参数结构体,说明在最新的存储参数结构体之前仍有未被覆盖或被损坏的信息,则根据首个存储参数结构体,到最新存储参数结构体,构建出一个提取参数链表,用于数据的提取使用;若没有找到了首个存储参数结构体,则说明最新存储参数结构体之前已经没有与待取数据相对应的存储参数结构体,则根据最新的存储参数结构体中的信息对数据进行提取。
提取数据的原理是依据此提取参数链表,从各个提取参数链表节点中,计算并找到符合提取要求的数据地址。
图8是提取参数链表中各个节点与提取时间的关系场景图,其中t11是存储起始时间,t12是存储结束时间,t21是提取起始时间,t22是提取结束时间,时间轴的单位为秒(s)。
在具体的实施例中,如图8所示,若提取时间在存储时间之外,即t22<t11或t21>t12,没有符合提取要求的数据以供提取,将跳过该提取参数链表节点,检查下一个提取参数链表节点。
若t21<t11,t11<t22<t12,将提取起始时间的值调整为存储起始时间,计算在本提取参数链表节点内需提取的数据的字节数,从而直接从存储起始时间所对应的地址处开始提取相应字节的数据。
若t21<t11,t22≥t12,提取链表节点所对应的数据存储区都满足要求,将其全部提取出来,接着继续处理下一个提取参数链表节点。
若t21≥t11,t22<t12,则根据存储起始时间到提取起始时间的时间偏移,计算存储起始地址的偏移,计算从提取起始时间到提取结束时间段内,共需要提取多少字节,从而直接从存储起始地址的偏移处开始提取相应字节。
若t21≥t11,t22≥t12,则从存储起始地址的偏移处开始读取,一直读取到存储结束时间所对应的存储地址为止,然后继续处理下一个提取参数链表节点。
通过构建提取参数链表的方式,结合存储起始时间、存储结束时间、提取起始时间、提取结束时间之间的前后关系,来对当前提取参数链表节点进行数据提取处理,最后将所提取的数据段拼接,达到了对目标数据完整、可靠提取的效果。
根据本申请的一些实施例,根据提取参数链表的节点信息,将待提取数据提取到缓存区。
在具体的实施例中,提取数据过程涉及到对数据缓存区的使用,通过提取参数链表的节点信息或最新存储参数结构体计算到本次待提取的数据段,然后将数据存入缓存区,便于对数据段进行拼接处理,提高了数据提取的效率。
根据本申请的一些实施例中,数据属性包括存储属性和提取属性,存储属性包括存储类型、数据内容、存储时间,提取属性包括存储类型、提取起始时间、提取结束时间、缓存区、缓存区大小、存储间隔。
根据本申请的一些实施例,如图9所示,数据的填补包括以下步骤:
S910,计算从上次存储到本次存储,中间应填补多少组无效数据;
S920,判断是否填充完最后一组无效数据;
S930,填补无效数据;
S940,更新最新的存储参数结构体中的存储结束时间和存储结束地址;
S950,继续存储数据。
填补无效数据指的是对两次存储之间的空白数据段,用无效数据去填补。比如,在异常处理判断步骤中,若计算出的超前时间间隔为10分钟,即在60分钟之内,并不会触发异常处理,则需将上述十分钟的数据填补为无效数据,使得存储器中数据的存储更加具有连续性。
根据本申请实施例的数据存取方法方法的其他内容,对于本领域普通技术人员而言都是已知的,这里不再详细描述。
下面参考图10,以一个具体的实施例详细描述数据存取方法中数据的存储流程。值得理解的是,下述描述仅是示例性说明,而不是对申请的具体限制。
具体步骤如下:
S1001,获取待存数据的数据属性;
S1002,根据存储类型,找出对应的最新的存储参数结构体,确定存储间隔;
S1003,根据存储间隔调整存储时间,将传入的时间调整成存储间隔的倍数;
S1004,判断本次存储是否是第一次存储;
S1005,根据传入的存储类型、存储时间初始化最新的存储参数结构体;
S1006,根据传入的时间、确定的存储间隔等参数,进行参数异常处理;
S1007,判断本次存储是否会跨越多个数据块;
S1008,将当前数据块的块信息结构体补充完整,将当前存储参数结构体信息补充完整;
S1009,把未被使用过的数据块块设置为新数据块,在新数据块中设置一个最新存储参数结构体,并对最新存储参数结构体进行初始化;
S1010,计算出本次存储的存储起始地址、存储结束地址;
S1011,将本次存储的数据写入存储器中;
S1012,更新最新存储参数结构体的相关信息。
需要说明的是,步骤S1012中,更新最新的存储参数结构体的相关信息,指的是补充最新的存储参数结构体中的第二动态类参数。
下面参考图11,以一个具体的实施例详细描述数据存取方法中数据的提取流程。值得理解的是,下述描述仅是示例性说明,而不是对申请的具体限制。
具体步骤如下:
S1101,获取待存取数据的数据属性;
S1102,根据存储类型,找出对应的最新的存储参数结构体;
S1103,确定存储起始时间和存储结束时间;
S1104,判断提取起始时间和提取结束时间,是否在存储起始时间和存储结束时间的范围内;
S1105,判断是否能够找到第首个存储参数结构体;
S1106,从首个存储参数结构体到最新的存储参数结构体,构建提取参数链表;
S1107,根据提取参数链表,计算欲提取数据的存储起始地址和存储结束地址;
S1108,根据最新的存储参数结构体,计算欲提取数据的存储起始地址和存储结束地址;
S1109,将数据拷贝到数据缓存区中,发送提取到的数据对应的新提取起始时间、新提取结束时间以及对应的存储间隔。
根据本申请第二方面实施例的终端,包括:存储模块、提取模块、存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现:本申请上述第一方面实施例的数据存取方法。
终端使用了数据存取方法,该方法将块信息结构体、存储参数结构体与数据相结合,引入了提取参数链表,规范了静态类参数和动态类参数的写入顺序,使得当终端系统修改了与存储相关的参数后,如修改了时间或存储间隔后,终端系统仍然能够对数据进行正确的存取,提升了数据存取的可靠性。
根据本申请第三方面实施例的计算机可读存储介,存储有计算机可执行指令,计算机可执行指令用于:执行上述第一方面实施例的的数据存取方法。
计算机可读存储介存储有计算机可执行指令,用执行上述第一方面实施例的的数据存取方法,该方法将块信息结构体、存储参数结构体与数据相结合,引入了提取参数链表,规范了静态类参数和动态类参数的写入顺序,使得当终端系统修改了与存储相关的参数后,如修改了时间或存储间隔后,终端系统仍然能够对数据进行正确的存取,提升了数据存取的可靠性。
本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过申请的实践了解到。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
在本说明书的描述中,参考术语“一个实施例”、等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本申请的实施例,本领域的普通技术人员可以理解:在不脱离本申请的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本申请的范围由权利要求及其等同物限定。

Claims (9)

1.一种数据存取方法,其特征在于,所述方法包括:
在存储参数异常时,获取待存取数据的数据属性;其中,所述存储参数被修改则判定为异常,所述数据属性包括所述存储参数,所述存储参数包括存储时间和存储间隔;
根据存储参数结构体对所述存储参数进行异常处理,异常处理包括:根据所述数据属性获取最新存储参数结构体;
根据所述数据属性获取最新存储参数结构体包括:
传入存储参数结构体指针、存储时间和存储间隔;
根据存储参数结构体指针指向的存储结束时间和存储时间来计算超前时间间隔或滞后时间间隔;
判断超前时间间隔是否>60分钟;或者滞后时间间隔是否>1分钟;或者存储间隔是否与存储参数结构体指针指向的存储间隔不同;
判断本次存储是否跨越多个数据块;
补全当前块信息结构体,在最新数据块中定义块信息结构体并初始化最新定义的块信息结构体,将其写入存储器中块信息结构体的相应位置;
补全当前使用的存储参数结构体,将其写入存储器中存储参数结构体的相应位置;
另起一个存储参数结构体并初始化,将其写入存储器中存储参数结构体的相应位置,并将其设置为最新存储参数结构体;
其中,每个所述数据块设置有一个所述块信息结构体,每个所述数据块设置有一个或多个所述存储参数结构体,所述存储参数结构体包括以下参数:存储类型、存储间隔、存储单元、数据块索引、存储起始时间、存储起始地址、当前参数所在的位置、上个参数所在的位置、下个参数所在的位置、存储结束时间、存储结束地址、最后存储长度、换参换块标志和保留位;所述块信息结构体包括以下参数:块标记、下一块索引、上一块索引、存储类型和保留位;
根据所述最新存储参数结构体计算出本次存取的实际地址;
根据所述实际地址对所述待存取数据进行存取。
2.根据权利要求1所述的数据存取方法,其特征在于,所述方法还包括:
若本次存储跨越多个数据块,则补全当前块信息结构体和所述最新存储参数结构体;其中,所述块信息结构体用于描述存储器中本数据块的存储信息及其与相邻数据块之间的存储关系;
在最新数据块中定义所述块信息结构体并初始化最新定义的块信息结构体;
重新定义所述存储参数结构体并初始化最新定义的存储参数结构体。
3.根据权利要求2所述的数据存取方法,其特征在于,所述块信息结构体包括第一静态类参数和第一动态类参数,所述第一静态类参数先于所述第一动态类参数写入所述块信息结构体;所述存储参数结构体包括第二静态类参数和第二动态类参数,所述第二静态类参数先于所述第二动态类参数写入所述存储参数结构体;
其中,所述第一静态类参数包括上一块索引和存储类型,所述第一动态类参数包括块标记和下一块索引,所述第二静态类参数包括存储类型、存储间隔、存储单元、数据块索引、存储起始时间、存储起始地址、当前参数所在的位置和上个参数所在的位置,所述第二动态类参数包括存储结束时间、存储结束地址、下个参数所在的位置、最后存储长度和换参换块标志。
4.根据权利要求2所述的数据存取方法,其特征在于,所述数据块中设置有存储信息结构体,所述存储信息结构体用于构建存储参数结构体。
5.根据权利要求1至4任一项所述的数据存取方法,所述待存取数据包括待提取数据,所述根据所述数据属性获取最新存储参数结构体之后,所述方法还包括:
查找首个存储参数结构体;
根据所述首个存储参数结构体和最新所述存储参数结构体,构建提取参数链表。
6.根据权利要求5所述的数据存取方法,所述方法还包括:
根据所述提取参数链表的节点信息,将所述待提取数据提取到缓存区。
7.根据权利要求5所述的数据存取方法,所述数据属性包括存储属性和提取属性,所述存储属性包括存储类型、数据内容和存储时间,所述提取属性包括存储类型、提取起始时间、提取结束时间、缓存区、缓存区大小和存储间隔。
8.一种终端,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现:
如权利要求1至7中任一项所述的数据存取方法。
9.一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于:
执行权利要求1至7中任一项所述的数据存取方法。
CN202011207779.6A 2020-11-03 2020-11-03 数据存取方法、终端及计算机可读存储介质 Active CN112506918B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011207779.6A CN112506918B (zh) 2020-11-03 2020-11-03 数据存取方法、终端及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011207779.6A CN112506918B (zh) 2020-11-03 2020-11-03 数据存取方法、终端及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN112506918A CN112506918A (zh) 2021-03-16
CN112506918B true CN112506918B (zh) 2024-06-04

Family

ID=74955074

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011207779.6A Active CN112506918B (zh) 2020-11-03 2020-11-03 数据存取方法、终端及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN112506918B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112732739B (zh) * 2021-03-30 2021-07-20 南京粒聚智能科技有限公司 一种分析设备数据地址的方法和装置
CN114598669B (zh) * 2022-03-07 2024-03-19 潍柴动力股份有限公司 一种报文的存储方法、装置及设备

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1963814A (zh) * 2006-11-29 2007-05-16 珠海市泰德企业有限公司 存储器数据管理方法
CN102799691A (zh) * 2012-08-15 2012-11-28 深圳市宏电技术股份有限公司 文件系统转换访问方法及文件系统转换访问设备
CN103488727A (zh) * 2013-09-16 2014-01-01 河海大学 基于周期对数的二维时序数据存储和查询方法
CN105468642A (zh) * 2014-09-09 2016-04-06 杭州海康威视数字技术股份有限公司 数据的存储方法及装置
CN106407130A (zh) * 2016-09-12 2017-02-15 深圳易充新能源(深圳)有限公司 一种Nandflash内存数据管理的方法
CN107832401A (zh) * 2017-11-01 2018-03-23 郑州云海信息技术有限公司 数据库数据访问方法、系统、装置及计算机可读存储介质
CN108228817A (zh) * 2017-12-29 2018-06-29 华为技术有限公司 数据处理方法、装置和系统
CN109254733A (zh) * 2018-09-04 2019-01-22 北京百度网讯科技有限公司 用于存储数据的方法、装置和系统
CN109710620A (zh) * 2018-12-29 2019-05-03 杭州复杂美科技有限公司 数据存储方法、数据读取方法、设备和存储介质
CN110209349A (zh) * 2019-04-25 2019-09-06 科华恒盛股份有限公司 数据处理的方法及终端设备
CN110442308A (zh) * 2019-07-05 2019-11-12 厦门四信物联网科技有限公司 一种数据块存储方法、装置、设备及存储介质
CN110569398A (zh) * 2019-09-09 2019-12-13 广州虎牙科技有限公司 数据处理方法、装置、计算机设备和可读存储介质
CN110704511A (zh) * 2019-10-16 2020-01-17 腾讯科技(深圳)有限公司 数据处理方法、设备、装置、介质
CN111190869A (zh) * 2019-12-27 2020-05-22 深圳市恒扬数据股份有限公司 文件存储方法及终端
WO2020211569A1 (zh) * 2019-04-18 2020-10-22 创新先进技术有限公司 一种数据记录的索引创建方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111124951B (zh) * 2018-10-31 2023-09-15 伊姆西Ip控股有限责任公司 管理数据访问的方法、设备和计算机程序产品

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1963814A (zh) * 2006-11-29 2007-05-16 珠海市泰德企业有限公司 存储器数据管理方法
CN102799691A (zh) * 2012-08-15 2012-11-28 深圳市宏电技术股份有限公司 文件系统转换访问方法及文件系统转换访问设备
CN103488727A (zh) * 2013-09-16 2014-01-01 河海大学 基于周期对数的二维时序数据存储和查询方法
CN105468642A (zh) * 2014-09-09 2016-04-06 杭州海康威视数字技术股份有限公司 数据的存储方法及装置
CN106407130A (zh) * 2016-09-12 2017-02-15 深圳易充新能源(深圳)有限公司 一种Nandflash内存数据管理的方法
CN107832401A (zh) * 2017-11-01 2018-03-23 郑州云海信息技术有限公司 数据库数据访问方法、系统、装置及计算机可读存储介质
CN108228817A (zh) * 2017-12-29 2018-06-29 华为技术有限公司 数据处理方法、装置和系统
CN109254733A (zh) * 2018-09-04 2019-01-22 北京百度网讯科技有限公司 用于存储数据的方法、装置和系统
CN109710620A (zh) * 2018-12-29 2019-05-03 杭州复杂美科技有限公司 数据存储方法、数据读取方法、设备和存储介质
WO2020211569A1 (zh) * 2019-04-18 2020-10-22 创新先进技术有限公司 一种数据记录的索引创建方法
CN110209349A (zh) * 2019-04-25 2019-09-06 科华恒盛股份有限公司 数据处理的方法及终端设备
CN110442308A (zh) * 2019-07-05 2019-11-12 厦门四信物联网科技有限公司 一种数据块存储方法、装置、设备及存储介质
CN110569398A (zh) * 2019-09-09 2019-12-13 广州虎牙科技有限公司 数据处理方法、装置、计算机设备和可读存储介质
CN110704511A (zh) * 2019-10-16 2020-01-17 腾讯科技(深圳)有限公司 数据处理方法、设备、装置、介质
CN111190869A (zh) * 2019-12-27 2020-05-22 深圳市恒扬数据股份有限公司 文件存储方法及终端

Also Published As

Publication number Publication date
CN112506918A (zh) 2021-03-16

Similar Documents

Publication Publication Date Title
CN112506918B (zh) 数据存取方法、终端及计算机可读存储介质
TWI235927B (en) Methods and devices for recording or reading files on/from a sequential medium and sequential medium
US5740445A (en) Information processing apparatus for generating directory information to manage a file using directories
JP2002514331A (ja) 物理的情報ファイルの情報を共有するための仮想ファイルを生成するコンピュータ実行法
US20060056436A1 (en) Method, device, system and program for time-series data management
CN111880734A (zh) 一种数据处理方法、系统、电子设备及存储介质
CN107479834A (zh) 一种基于cos的文件存储方法及装置
CN111601154B (zh) 一种视频处理方法及相关设备
WO2001065374A1 (fr) Procede de gestion de fichiers, enregistreur de donnees l'utilisant, appareil de lecture de donnees, appareil d'enregistrement/lecture de donnees, et disque enregistre au moyen du procede de gestion de fichiers
CN114827178A (zh) 一种数据处理方法、装置、设备及可读存储介质
US7130840B2 (en) Information recording medium, information recording method, information recording apparatus, information reproducing method, and information reproducing apparatus
CN109992527B (zh) 一种全闪存储系统的位图管理方法
US6508712B1 (en) Recording medium having sequentially accessible data recording regions, data access method, game progress control method, and game machine
US8825723B2 (en) Methods and devices for managing and editing files in a file system
JP5555489B2 (ja) フォーマット装置、フォーマット方法およびプログラム
US20100185705A1 (en) File system
CN109669623A (zh) 一种文件管理方法、文件管理装置、电子设备及存储介质
CN112799592A (zh) 一种多命名空间的分配方法、装置、设备及可读介质
US8369684B2 (en) Data processing apparatus and data processing method
CN113296700A (zh) 一种存储空间的管理方法、装置以及服务器
CN113553473A (zh) 一种bag文件的云播放方法、系统及装置
CN111694506A (zh) 磁盘总容量确定方法、装置、磁盘及机器可读存储介质
CN112148220A (zh) 一种实现数据处理的方法、装置、计算机存储介质及终端
CN116166205B (zh) 文件系统存储和挂载方法、装置、设备及存储介质
CN110381121B (zh) 一种数据处理方法及装置

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