CN114416731A - 数据存储方法、数据读取方法、装置、电子设备及介质 - Google Patents
数据存储方法、数据读取方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN114416731A CN114416731A CN202111643360.XA CN202111643360A CN114416731A CN 114416731 A CN114416731 A CN 114416731A CN 202111643360 A CN202111643360 A CN 202111643360A CN 114416731 A CN114416731 A CN 114416731A
- Authority
- CN
- China
- Prior art keywords
- data
- storage
- information
- index information
- address
- 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
Links
Images
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
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)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种数据存储方法、数据读取方法、装置、电子设备及存储介质。所述数据存储方法包括:确定数据的变化幅度;当所述变化幅度超过设定阈值时,存储所述数据;根据所述数据的标识和存储位置,建立所述数据的索引信息,其中,所述索引信息,至少包括:所述标识以及所述存储位置的位置信息。如此,能够有选择性地记录存在实质性变化的数据,取代繁复重复数据记录,节约存储空间;且通过索引信息能够实现特定数据的快速检索,提高数据利用处理效率。
Description
技术领域
本申请涉及软件工程技术领域,尤其涉及一种数据存储方法、数据读取方法、装置、电子设备及存储介质。
背景技术
工业控制领域涉及大量设备通讯及数据存储,多数设备(典型如DCS(DistributedControl System,分布式控制***)、PLC(Programmable Logic Controller,可编程逻辑控制器)等控制设备)数据变化频率较慢,大致为秒级,***数据存储一般采用“时间和特征数据”逐条记录方式,如此,数据读写量大,占用内存空间,所需存储空间也大,会造成存储空间的浪费;且重复数据记录多,会在数据使用或利用时带来计算的消耗。
发明内容
有鉴于此,本申请实施例期望提供一种数据存储方法、数据读取方法、装置、电子设备及存储介质。
本申请的技术方案是这样实现的:
第一方面,本申请实施例提供一种数据存储方法,包括:
确定数据的变化幅度;
当所述变化幅度超过设定阈值时,存储所述数据;
根据所述数据的标识和存储位置,建立所述数据的索引信息,其中,所述索引信息,至少包括:所述标识以及所述存储位置的位置信息。
基于上述方案,所述方法还包括:
确定所述数据的变化时间;
根据所述变化幅度和所述变化时间确定存储节点,其中,所述存储节点用于存储所述数据和所述变化时间;其中,所述位置信息指示所述存储节点。
基于上述方案,所述方法还包括:
采用链表存储所述索引信息,其中,所述链表包括多个节点;每个节点至少包括两个部分:节点地址区域以及索引信息区域;
所述节点地址区域,用于存储所述节点的地址信息;所述索引信息区域,用于存储所述数据的索引信息;其中,所述节点地址区域存储有第一地址以及第二地址;所述第一地址为当前节点的前一个相邻节点的地址;所述第二地址为当前节点的后一个相邻节点的地址;所述索引信息区域包含多个数据的索引信息。基于上述方案,所述当所述变化幅度超过设定阈值时,存储所述数据,包括:
采用数据组存储所述数据,其中,所述数据组至少包括两个数据;采用同一链表存储一个所述数据组包括各数据的索引信息。
第二方面,本申请实施例提供一种数据读取方法,包括:
接收数据读取请求,其中,所述数据读取请求至少包括待读取数据的标识;
根据所述标识查询索引信息,得到与所述标识对应的位置信息,
根据所述位置信息指示的存储位置,读取所述待读取数据。
基于上述方案,所述根据所述标识查询索引信息,得到与所述标识对应的位置信息,包括:
所述索引信息采用链表存储,其中,所述链表包括多个节点;每个节点至少包括两个部分:节点地址区域以及索引信息区域;
所述节点地址区域用于存储所述节点的地址信息;所述索引信息区域用于存储所述待读取数据的索引信息;其中,所述节点地址区域存储有第一地址以及第二地址;所述第一地址为当前节点的前一个相邻节点的地址;所述第二地址为当前节点的后一个相邻节点的地址;所述索引信息区域包含多个待读取数据的索引信息。
基于上述方案,所述待读取数据,包括:所述待读取数据采用数据组存储,其中,所述数据组至少包括两个待读取数据;一个所述数据组包括的各待读取数据的索引信息采用同一链表存储。
基于上述方案,所述方法还包括:
根据所述数据读取请求查询所述链表,得到与所述待读取数据对应的链表,其中,所述数据读取请求包括类型信息,其中,所述类型信息,指示待读取数据的数据类型;
根据所述标识查询对应的链表,得到与所述待读取数据对应的索引信息;
根据所述对应的索引信息,得到与所述待读取数据对应的存储位置。
第三方面,本申请实施例提供一种数据存储装置,包括:
第一确定模块,用于确定数据的变化幅度;
第一存储模块,用于当所述变化幅度超过设定阈值时,存储所述数据;
建立模块,用于根据所述数据的标识和存储位置,建立所述数据的索引信息,其中,所述索引信息,至少包括:所述标识以及所述存储位置的位置信息。
第四方面,本申请实施例提供一种数据读取装置,包括:
接收模块,用于接收数据读取请求,其中,所述数据读取请求至少包括待读取数据的标识;
查询模块,用于根据所述标识查询索引信息,得到与所述标识对应的位置信息;
读取模块,用于根据所述位置信息指示的存储位置,读取所述待读取数据。
第五方面,本申请实施例提供一种电子设备,包括:
存储器,存储有计算机可读指令;
处理器,与所述存储器连接,用于通过执行存储在所述存储器上的计算机可执行指令,能够实现第一方面或第二方面任意技术方案提供的方法。
第六方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令被执行后,能够实现第一方面或第二方面任意技术方案提供的方法。
本申请实施例提供的数据存储方法、数据读取方法、装置、电子设备及存储介质,能够根据数据的变化幅度确定需要存储的数据,当所述变化幅度超过设定阈值时,存储所述数据,如此,能够有选择性地存储存在变化幅度足够大的数据,从而减少多次记录重复数据或幅度差异小的数据,节约存储空间;根据所述数据的标识和存储位置,建立所述数据的索引信息,其中,所述索引信息,至少包括:所述标识以及所述存储位置的位置信息,如此,能够通过索引信息对特定数据进行快速检索,从而提升数据利用处理效率。
附图说明
图1为本申请实施例提供的一种数据存储方法的流程示意图;
图2为本申请实施例提供的一种数据读取方法的流程示意图;
图3为本申请实施例提供的一种索引文件文件头的存储信息格式示意图;
图4为本申请实施例提供的一种索引文件索引段的存储信息格式示意图;
图5为本申请实施例提供的一种数据文件文件头的存储信息格式示意图;
图6为本申请实施例提供的一种数据文件数据段的存储信息格式示意图;
图7为本申请实施例提供的一种索引文件文件头的相关信息项的空间分配方案及存储规则示意图;
图8为本申请实施例提供的一种索引文件索引段的相关信息项的空间分配方案及存储规则示意图;
图9为本申请实施例提供的一种数据文件文件头的相关信息项的空间分配方案及存储规则示意图;
图10为本申请实施例提供的一种数据文件数据段的相关信息项的空间分配方案及存储规则示意图;
图11为本申请实施例提供的一种数据存储装置的结构示意图;
图12为本申请实施例提供的一种数据读取装置的结构示意图;
图13是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为了能够更加详尽地了解本申请的特点与技术内容,下面结合附图对本申请的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请。
如图1所示,本申请实施例提供一种数据存储方法,包括:
步骤S110:确定数据的变化幅度;
步骤S120:当所述变化幅度超过设定阈值时,存储所述数据;
步骤S130:根据所述数据的标识和存储位置,建立所述数据的索引信息,其中,所述索引信息,至少包括:所述标识以及所述存储位置的位置信息。
该数据存储方法可由部署数据库的电子设备实现,该数据库可布局在云端,故该数据存储方法可由云端服务器执行。
所述数据可以为通过实验、计算、测量等得出的结果。本申请实施例中数据可以通过控制设备(如DCS、PLC等)进行采集得到。例如在工业控制领域中,涉及大量设备通讯及数据存储,***通过DCS、PLC等控制设备进行实时数据采集来反馈设备的运行状态。
在一些实施例中,该数据包括但不限于:各种受监控设备的状态数据,示例性地,工业设备的运行状态数据,
在另一些实施例中,该数据还可包括:控制设备的控制参数值。示例性地,PLC设备的控制值。
所述变化幅度可以为:所述数据与已存储的最后一个数据相比,增长或者减少的比率,能够表示所述数据变化的程度。
所述设定阈值可以为所述数据发生实质性变化的临界值,即所述变化幅度超过所述设定阈值时,认为所述数据相对于已存储数据发生实质性变化,需要对所述数据进行存储记录。所述变化幅度未超过所述设定阈值时,认为所述数据相对于已存储数据未发生实质性变化,不需要对所述数据进行存储记录。
所述设定阈值可以是根据实际情况人为进行设定的。过小的设定阈值,使得即使只发生细微变化的数据也被存储记录下来,而所述数据并不能反映足够的影响。例如设备当前的运行状态并没有发生改变,从而浪费了存储空间,难以实现减少重复记录数据,节约存储空间的效果;过大的设定阈值,可能未存储记录一些关键数据,例如设备当前的运行状态发生变化,从而难以实现实时监控并存储记录数据变化。
所述标识用于区分不同的数据,所述标识可以包括:名称,和/或序列号。
实际应用中,有多个数据需要同时进行监测并实时记录,因此,在同一个时间段内可能有很多数据发生变化,从而根据数据的存储时间或变化时间等信息难以快速且精准地确定所需要的数据。故在本申请中根据数据的标识,能够快速且精准地确定所需要的数据。所述存储位置可以为所述数据存储的位置。
所述索引信息用于读取所述数据,包括但不限于存储的数据的查询索引。例如所述索引信息中可以包括所述数据的标识和存储位置,进行数据读取时能够通过索引信息快速定位需要读取的数据。所述索引信息中还可以包括其他能够指示所述数据的信息,例如所述数据的类型、数量等信息,以及与所述索引信息自身相关的信息,例如所述索引信息的创建时间、名称、数据量等信息。
所述存储位置的位置信息用于指示所述存储位置。在本申请实施例中,所述位置信息可以为绝对位置、相对位置或者自定义的位置格式,且能够根据所述位置信息得到所述存储位置。
在一些实施例中,还可以根据所述数据的存储时间或变化时间,建立所述数据的索引信息。
所述存储时间可以为完成所述数据存储的时间。
所述变化时间可以为所述数据发生变化的时间。
在一些实施例中,所述索引信息还可以包括存储时间的时间信息或变化时间的时间信息。
所述存储时间的时间信息用于指示所述存储时间,所述变化时间的时间信息用于指示所述变化时间。在本申请实施例中,所述存储时间的时间信息和所述变化时间的时间信息可以为绝对时间、相对时间或者自定义的时间格式,且能够根据所述存储时间的时间信息得到所述存储时间,或根据所述变化时间的时间信息得到所述变化时间。
在本申请实施例中,所述方法还包括:
确定所述数据的变化时间;
根据所述变化幅度和所述变化时间确定存储节点,其中,所述存储节点用于存储所述数据和变化时间;其中,所述位置信息指示所述存储节点。
所述变化时间可以为所述数据发生变化的时间。
所述存储节点可以为用于存储数据的服务器或设备。
在本申请实施例中,所述方法还包括:
采用链表存储所述索引信息,其中,所述链表包括多个节点;每个节点至少包括两个部分:节点地址区域以及索引信息区域;
所述节点地址区域,用于存储所述节点的地址信息;所述索引信息区域,用于存储所述数据的索引信息;其中,所述节点地址区域存储有第一地址以及第二地址;所述第一地址为当前节点的前一个相邻节点的地址;所述第二地址为当前节点的后一个相邻节点的地址;所述索引信息区域包含多个数据的索引信息。
所述链表可以为单向链表、双向链表以及循环链表。在本申请实施例中,根据所述数据的变化幅度,有选择性地对所述数据进行存储记录,因此不同于按一般的顺序(时间顺序)连续存储,所述存储时间以及所述数据的变化幅度不确定,故采用链表的形式对所述索引信息进行存储,如此,在实现节约存储空间的同时,便于数据的存储与读取。
所述第一地址可以为上链地址。
所述第二地址可以为下链地址。
所述节点可以在前述设备运行时动态生成。所述节点用于记录信息,例如所述数据的信息或所述索引信息,可以用来描述所述数据或所述索引信息的属性,例如地址、类型、数据量、名称等。
在本申请实施例中,所述当所述变化幅度超过设定阈值时,存储所述数据,包括:
采用数据组存储所述数据,其中,所述数据组至少包括两个数据;采用同一链表存储一个所述数据组包括各数据的索引信息。
如图2所示,本申请实施例提供一种数据读取方法,包括:
步骤S210:接收数据读取请求,其中,所述数据读取请求至少包括待读取数据的标识;
步骤S220:根据所述标识查询索引信息,得到与所述标识对应的位置信息;
步骤S230:根据所述位置信息指示的存储位置,读取所述待读取数据。
该数据读取方法可由数据库实现,该数据库可布局在云端。
所述数据读取请求,包括但不限于计算机指令或报文,所述数据读取请求包括所述待读取数据的信息,如所述待读取数据的存储时间、数据类型、数据量或名称等信息。
所述待读取数据可以为通过实验、计算、测量等得出并存储的结果。本申请实施例中待读取数据可以通过控制设备(如DCS、PLC等)进行采集并存储得到。例如在工业控制领域中,涉及大量设备通讯及数据存储,***通过DCS、PLC等控制设备进行实时数据采集来反馈设备的运行状态。
所述标识用于区分不同的待读取数据,所述标识可以包括:名称,和/或序列号。
在一些实施例中,该待读取数据包括但不限于:各种受监控设备的状态数据,示例性地,工业设备的运行状态数据,
在另一些实施例中,该待读取数据还可包括:控制设备的控制参数值。示例性地,PLC设备的控制值。
在一些实施例中,所述数据读取请求还可以包括存储时间的时间信息或变化时间的时间信息。
所述存储时间,可以为完成所述待读取数据存储的时间。
所述变化时间,可以为所述待读取数据发生变化的时间。所述存储时间的时间信息用于指示所述待读取数据的存储时间,所述变化时间的时间信息用于指示所述待读取数据的变化时间。在本申请实施例中,所述存储时间的时间信息或所述变化时间的时间信息可以为绝对时间、相对时间或者自定义的时间格式,且能够根据所述存储时间的时间信息得到所述待读取数据的存储时间,或根据所述变化时间的时间信息得到所述待读取数据的变化时间。
所述索引信息用于读取所述待读取数据,包括但不限于存储的数据的查询索引。例如所述索引信息中可以包括所述待读取数据的名称和存储位置,进行数据读取时能够通过索引信息快速定位所述待读取数据。所述索引信息中还可以包括其他能够指示所述待读取数据的信息,例如所述待读取数据的类型、数量等信息,以及与所述索引信息自身相关的信息,例如所述索引信息的创建时间、名称、数据量等信息。
在一些实施例中,所述索引信息还可以包括存储时间的时间信息或变化时间的时间信息。
所述位置信息用于指示所述待读取数据的存储位置。在本申请实施例中,所述位置信息可以为绝对位置、相对位置或者自定义的位置格式,且能够根据所述位置信息得到所述待读取数据的存储位置。
所述存储位置可以为所述待读取数据存储的位置。
在本申请实施例中,所述根据所述标识查询索引信息,得到与所述标识对应的位置信息,包括:
所述索引信息采用链表存储,其中,所述链表包括多个节点;每个节点至少包括两个部分:节点地址区域以及索引信息区域;
所述节点地址区域用于存储所述节点的地址信息;所述索引信息区域用于存储所述待读取数据的索引信息;其中,所述节点地址区域存储有第一地址以及第二地址;所述第一地址为当前节点的前一个相邻节点的地址;所述第二地址为当前节点的后一个相邻节点的地址;所述索引信息区域包含多个待读取数据的索引信息。
所述链表可以为单向链表、双向链表以及循环链表。在本申请实施例中,根据所述数据的变化幅度,有选择性地对所述数据进行存储记录,因此不同于按一般的顺序(时间顺序)连续存储,所述存储时间以及所述数据的变化幅度不确定,故采用链表的形式对所述索引信息进行存储,如此,在实现节约存储空间的同时,便于数据的存储与读取。
所述第一地址可以为上链地址。
所述第二地址可以为下链地址。
所述节点可以在前述设备运行时动态生成。所述节点用于记录信息,例如所述数据的信息或所述索引信息,可以用来描述所述数据或所述索引信息的属性,例如类型、数据量、名称等。
在本申请实施例中,所述待读取数据,包括:
所述待读取数据采用数据组存储,其中,所述数据组至少包括两个待读取数据;一个所述数据组包括的各待读取数据的索引信息采用同一链表存储。
在本申请实施例中,所述方法还包括:
根据所述数据读取请求查询所述链表,得到与所述待读取数据对应的链表,其中,所述数据读取请求包括类型信息,其中,所述类型信息,指示待读取数据的数据类型;
根据所述标识查询对应的链表,得到与所述待读取数据对应的索引信息;
根据所述对应的索引信息,得到与所述待读取数据对应的存储位置。
所述类型信息用于指示所述待读取数据的数据类型。在本申请实施例中,所述类型信息可以为数据的属性或者自定义的类型格式,且能够根据所述类型信息得到所述待读取数据的数据类型。
基于前述实施例,本申请实施例提供一种数据的存储结构,所述存储结构能够根据数据变化状态进行特征性存储,避免存储空间浪费,提高数据利用处理速度。所述存储结构由数据文件和索引文件构成,能够实现有效数据记录,既显著减小数据量,又可通过索引文件进行快速数据检索。所述数据文件用于存储变量的数值信息,所述变量为前述数据的一种,所述索引文件为前述索引信息的一种。具体来讲,如图3、4所示,所述索引文件由一个文件头及数个索引段组成,每个索引段对应前述的一个节点,至少包含上链、下链地址,以及基本的索引信息:数据的名称及存储位置,所述名称为前述标识的一种。
索引文件主要功能为建立变量数据位置索引,关联变量在数据文件中的存储位置信息。索引文件格式定义为索引文件头和索引段,所述索引段的数量由记录数据量确定。各索引段不存储实际数据,仅存储相关变量在数据文件中的数据位置信息,从而实现快速定位。在数据读取利用时,通过链表方法实现向前或向后搜索数据,所述链表为前述链表的一种。
在一些实施例中,所述索引文件头和所述索引段可以为定长格式或变长格式。所述索引文件头和所述索引段为定长格式时,长度固定,便于进行数据解析;所述索引文件头和所述索引段为变长格式时,长度不定,不便于进行数据解析。
如图3所示,为本申请实施例提供一种索引文件头的存储信息格式。所述索引文件头存储所述索引文件基本信息,如文件名称、创建时间、文件大小、时间格式,存储变量总数以及首条数据记录时间等。
图3中所示索引文件头的存储信息格式仅仅为举例说明,并非用来限制本申请。所述索引文件头的存储信息格式可以为自定义格式。
如图4所示,为本申请实施例提供的一种索引文件索引段的存储信息格式。各索引段置有固定长度的段头,用以存储基本存储规则信息,作为数据文件回调解析的依据。所述基本存储规则信息包括但不限于变量类型、变量数量、链表地址、名称等关键信息。可通过事先定义,建立属性标志,以固定数据分类预设存储规则。索引段数据部分记录段内变量名及其在关联数据文件中的对应存储地址索引信息。
索引段头内设置变量数量项,为对本索引段所包含数据文件索引信息的变量数量的统计,可借助其完成对后续名称及索引地址信息的有效解析。名称及其索引数据段号可选择适宜的组间分隔形式,典型如固定长度及特征分隔标志。以固定长度存储时,名称单位存储空间分配由实际存储名称长度需求确定。索引数据段号单位存储空间分配由对应数据文件内最大数据段号确定。以特征分隔标志形式存储时,可于单个名称/索引数据段号后附加特征标志进行分隔。为方便数据存储及回调,段内名称及索引数据段号宜分类连续存储。变量数据地址索引应通过适当计算规则确定。
图4中所示索引文件索引段的存储信息格式仅仅为举例说明,并非用来限制本申请。所述索引文件索引段的存储信息格式可以为自定义格式。
数据文件主要存储变量的数值信息。数据文件格式定义为数据文件头和数据段,数据段数量由记录数据量确定。
在一些实施例中,所述数据文件头和所述数据段可以为定长格式或变长格式。所述数据文件头和所述数据段为定长格式时,长度固定,便于进行数据解析;所述数据文件头和所述数据段为变长格式时,长度不定,不便于进行数据解析。
如图5所示,为本申请实施例提供的一种数据文件文件头的存储信息格式。数据文件头部分存储数据文件基本信息,如文件名称、创建时间、文件数据量、时间格式,数据总段数以及首条数据记录时间等。
图5中所示数据文件文件头的存储信息格式仅仅为举例说明,并非用来限制本申请。所述数据文件文件头的存储信息格式可以为自定义格式。
如图6所示,为本申请实施例提供的一种数据文件数据段的存储信息格式。各数据段置有固定长度的段头,用以记录本段内存所储变量类型、数据数量、名称以及数据记录起始时间信息。数据段数据部分存储时间标度下的变量值信息。
图6中所示数据文件数据段的存储信息格式仅仅为举例说明,并非用来限制本申请。所述数据文件数据段的存储信息格式可以为自定义格式。
本申请所提供的紧凑型数据存储结构及方法通过链表搜索必要数据的存储模式进行数据记录,而不再根据特定时间周期进行无差别逐条记录。链表存储模式在记录前进行数据存储必要性判断:计算数据变化幅度,数据变化超过限定条件时,才进行存储;否则,视数据无变化,不进行存储记录。
链表模式根据量变幅度逐条记录取得有效量变的变量信息,因变量值量变及存储时间不确定,数据存储位置不再规则,需借助段间链表链接变量量变时刻及数据信息。数据链表上、下节点分别对应当前索引信息段前、后毗邻有效索引段落的位置信息,即通过当前索引信息段链表上节点可寻至当前变量组的上一有效数据索引段落;通过当前索引信息段链表下节点可寻至当前变量组的下一有效数据索引段落。链表地址信息可适当添加转换规则。
数据解析时,先在索引文件(此处的索引文件即为前述索引信息的一种)中找到目标变量,通过索引文件中所存储的相应变量的数据段号索引对其变量值在数据文件中的存储位置进行精确定位,从而实现特定变量数据信息的快速检索,而无需再遍历体量较大的数据文件进行检索,可显著提升数据利用处理效率。
无差别记录的数据采集存储方式,数据读写量大,占用内存空间,所需存储空间也大。本申请通过对待存储数据进行特征分析,根据其变化频率及控制需求进行特征筛选,在满足数据记录精度的前提下,可采取最佳存储方式满足***功能需求,有选择性地记录存在实质性变化的变量数值,取代繁复重复数据记录,释放无效内存占用,节省存储空间,提高数据利用处理速度。同时利于数据状态变换的甄别,显著提高工艺***大量数据存储的有效与实用性。
基于前述实施例,本申请实施例提供一种信息的空间分配方案及存储规则。
如图7所示,为本申请实施例提供的一种索引文件文件头的相关信息项的空间分配方案及存储规则。索引文件的文件头部分顺序存储索引文件的基本信息:时间格式、变量数量、首条数据记录时间、创建时间、文件数据量、文件名称。根据各信息项内容长度分配固定长度存储空间。
图7中所示索引文件文件头的相关信息项的空间分配方案及存储规则仅仅为举例说明,并非用来限制本申请。所述索引文件文件头的相关信息项的空间分配方案及存储规则可以为自定义格式。
如图8所示,为本申请实施例提供的一种索引文件索引段的相关信息项的空间分配方案及存储规则。各索引段设置段头,长度固定,用以记录基本存储规则信息:变量类型、变量数量、链表地址等,作为数据文件回调解析的依据。通过事先定义,建立属性标志,以固定数据分类预设存储规则。
紧邻索引段头存储名称及其数值项在数据文件中的位置索引信息。名称及其索引数据段号可选择适宜的组间分隔形式,典型如固定长度及特征分隔标志。以固定长度存储时,名称单位存储空间分配由实际存储名称长度需求确定。索引数据段号单位存储空间分配由对应数据文件内最大数据段号确定。以特征分隔标志形式存储时,可于单个名称/索引数据段号后附加特征标志进行分隔。为方便数据存储及回调,段内名称及索引数据段号宜分类连续存储。变量数据地址索引应通过适当计算规则确定。
图8中所示索引文件索引段的相关信息项的空间分配方案及存储规则仅仅为举例说明,并非用来限制本申请。所述索引文件索引段的相关信息项的空间分配方案及存储规则可以为自定义格式。
如图9所示,为本申请实施例提供的一种数据文件文件头的相关信息项的空间分配方案及存储规则。数据文件主要存储变量的数值信息。数据文件的文件头部分顺序存储数据文件的基本信息:时间格式、数据段数、首条数据记录时间、创建时间、文件数据量、文件名称。根据各信息项内容长度分配固定长度存储空间。
图9中所示数据文件文件头的相关信息项的空间分配方案及存储规则仅仅为举例说明,并非用来限制本申请。所述数据文件文件头的相关信息项的空间分配方案及存储规则可以为自定义格式。
图10为本申请实施例提供的一种数据文件数据段的相关信息项的空间分配方案及存储规则。各数据段设置段头,长度固定,用以记录基本存储规则信息:变量类型、数据数量、本段数据记录起始时间、名称等,作为数据文件回调解析的依据。通过事先定义,建立属性标志,以固定数据分类预设存储规则。
紧邻数据段段头的数据部分存储时间标度下的变量值信息。每条数据长度固定,与对应的时间标度成组,逐条连续存储。可依据需求灵活选择***时间存储格式,如绝对时间、相对时间以及自定义的各种时间格式。
图10中所示数据文件数据段的相关信息项的空间分配方案及存储规则仅仅为举例说明,并非用来限制本申请。所述数据文件数据段的相关信息项的空间分配方案及存储规则可以为自定义格式。
如图11所示,本申请实施例提供一种数据存储装置,所述装置包括:
第一确定模块110,用于确定数据的变化幅度;
第一存储模块120,用于当所述变化幅度超过设定阈值时,存储所述数据;
建立模块130,用于根据所述数据的标识和存储位置,建立所述数据的索引信息,其中,所述索引信息,至少包括:所述标识以及所述存储位置的位置信息。
在一些实施例中,所述第一确定模块110、所述第一存储模块120、及所述建立模块130可均为程序模块,该程序模块被处理器执行之后,能够实现上述各个模块的功能。
在另一些实施例中,所述第一确定模块110、所述第一存储模块120、及所述建立模块130可均为软硬结合模块;所述软硬结合模块包括但不限于:各种可编程阵列;所述现场可编程阵列包括但不限于:现场可编程阵列和/或复杂可编程阵列。
在还有一些实施例中,所述第一确定模块110、所述第一存储模块120、及所述建立模块130可均为纯硬件模块;所述纯硬件模块包括但不限于:专用集成电路。
在一些实施例中,所述装置还包括:
第二确定模块,用于确定所述数据的变化时间;
第三确定模块,用于根据所述变化幅度和所述变化时间确定存储节点,其中,所述存储节点用于存储所述数据和所述变化时间;其中,所述位置信息指示所述存储节点。
在一些实施例中,所述装置还包括:
第二存储模块,用于采用链表存储所述索引信息,其中,所述链表包括多个节点;每个节点至少包括两个部分:节点地址区域以及索引信息区域;所述节点地址区域,用于存储所述节点的地址信息;所述索引信息区域,用于存储所述数据的索引信息;其中,所述节点地址区域存储有第一地址以及第二地址;所述第一地址为当前节点的前一个相邻节点的地址;所述第二地址为当前节点的后一个相邻节点的地址;所述索引信息区域包含多个数据的索引信息。
在一些实施例中,所述当所述变化幅度超过设定阈值时,存储所述数据,包括:
采用数据组存储所述数据,其中,所述数据组至少包括两个数据;采用同一链表存储所述数据组包括的数据的索引信息。。
如图12所示,本申请实施例提供一种数据读取装置,所述装置包括:
接收模块210,用于接收数据读取请求,其中,所述数据读取请求至少包括待读取数据的标识;
查询模块220,用于根据所述标识查询索引信息,得到与所述标识对应的位置信息;
读取模块230,用于根据所述位置信息指示的存储位置,读取所述待读取数据。
在一些实施例中,所述接收模块210、所述查询模块220、及所述读取模块230可均为程序模块,该程序模块被处理器执行之后,能够实现上述各个模块的功能。
在另一些实施例中,所述接收模块210、所述查询模块220、及所述读取模块230可均为软硬结合模块;所述软硬结合模块包括但不限于:各种可编程阵列;所述现场可编程阵列包括但不限于:现场可编程阵列和/或复杂可编程阵列。
在还有一些实施例中,所述接收模块210、所述查询模块220、及所述读取模块230可均为纯硬件模块;所述纯硬件模块包括但不限于:专用集成电路。
在一些实施例中,所述根据所述标识查询索引信息,得到与所述标识对应的位置信息,包括:
所述索引信息采用链表存储,其中,所述链表包括多个节点;每个节点至少包括两个部分:节点地址区域以及索引信息区域;
所述节点地址区域用于存储所述节点的地址信息;所述索引信息区域用于存储所述待读取数据的索引信息;其中,所述节点地址区域存储有第一地址以及第二地址;所述第一地址为当前节点的前一个相邻节点的地址;所述第二地址为当前节点的后一个相邻节点的地址;所述索引信息区域包含多个待读取数据的索引信息。
在一些实施例中,所述待读取数据,包括:
所述待读取数据采用数据组存储,其中,所述数据组至少包括两个待读取数据;一个所述数据组包括的各待读取数据的索引信息采用同一链表存储。
在一些实施例中,所述装置还包括:
第一得到模块,用于根据所述数据读取请求查询所述链表,得到与所述待读取数据对应的链表,其中,所述数据读取请求包括类型信息,其中,所述类型信息,指示待读取数据的数据类型;
第二得到模块,用于根据所述标识查询对应的链表,得到与所述待读取数据对应的索引信息;
第三得到模块,用于根据所述对应的索引信息,得到与所述待读取数据对应的存储位置。
如图13所示,本申请实施例提供一种电子设备,所述电子设备包括:
存储器,用于存储计算机可读指令;
处理器,与所述存储器连接,用于通过执行计算机可读指令,能够实现前述任意实施例提供的方法,例如,可执行图1和/或图2中所示方法。
该存储器可为各种类型的存储器,可为随机存储器、只读存储器、闪存等。所述存储器可用于信息存储,例如,存储计算机可执行指令等。所述计算机可执行指令可为各种程序指令,例如,目标程序指令和/或源程序指令等。
所述处理器可为各种类型的处理器,例如,中央处理器、微处理器、数字信号处理器、可编程阵列、数字信号处理器、专用集成电路或图像处理器等。所述处理器可以通过总线与所述存储器连接。所述总线可为集成电路总线等。
如图13所示,该电子设备还可包括网络接口,该网络接口可用于通过网络和对端设备进行交互。
本申请实施例还提供一种计算机存储介质,该计算机存储介质存储有计算机可执行指令,该计算机可执行指令被执行后,能够实现前述任意实施例提供的方法,例如,可执行图1和/或图2中所示方法。
本实施例提供的计算机存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (12)
1.一种数据存储方法,其特征在于,应用于存储***中,包括:
确定数据的变化幅度;
当所述变化幅度超过设定阈值时,存储所述数据;
根据所述数据的标识和存储位置,建立所述数据的索引信息,其中,所述索引信息,至少包括:所述标识以及所述存储位置的位置信息。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述数据的变化时间;
根据所述变化幅度和所述变化时间确定存储节点,其中,所述存储节点用于存储所述数据和所述变化时间;其中,所述位置信息指示所述存储节点。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
采用链表存储所述索引信息,其中,所述链表包括多个节点;每个节点至少包括两个部分:节点地址区域以及索引信息区域;
所述节点地址区域,用于存储所述节点的地址信息;所述索引信息区域,用于存储所述数据的索引信息;其中,所述节点地址区域存储有第一地址以及第二地址;所述第一地址为当前节点的前一个相邻节点的地址;所述第二地址为:当前节点的后一个相邻节点的地址;所述索引信息区域包含多个数据的索引信息。
4.根据权利要求3所述的方法,其特征在于,所述当所述变化幅度超过设定阈值时,存储所述数据,包括:
采用数据组存储所述数据,其中,所述数据组至少包括两个数据;采用同一链表存储一个所述数据组包括各数据的索引信息。
5.一种数据读取方法,其特征在于,应用于存储***中,包括:
接收数据读取请求,其中,所述数据读取请求至少包括待读取数据的标识;
根据所述标识查询索引信息,得到与所述标识对应的位置信息;
根据所述位置信息指示的存储位置,读取所述待读取数据。
6.根据权利要求5所述的方法,其特征在于,所述根据所述标识查询索引信息,得到与所述标识对应的位置信息,包括:
所述索引信息采用链表存储,其中,所述链表包括多个节点;每个节点至少包括两个部分:节点地址区域以及索引信息区域;
所述节点地址区域用于存储所述节点的地址信息;所述索引信息区域用于存储所述待读取数据的索引信息;其中,所述节点地址区域存储有第一地址以及第二地址;所述第一地址为当前节点的前一个相邻节点的地址;所述第二地址为当前节点的后一个相邻节点的地址;所述索引信息区域包含多个待读取数据的索引信息。
7.根据权利要求6所述的方法,其特征在于,所述待读取数据,包括:
所述待读取数据采用数据组存储,其中,所述数据组至少包括两个待读取数据;一个所述数据组包括的各待读取数据的索引信息采用同一链表存储。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
根据所述数据读取请求查询所述链表,得到与所述待读取数据对应的链表,其中,所述数据读取请求包括类型信息,其中,所述类型信息,指示待读取数据的数据类型;
根据所述标识查询对应的链表,得到与所述待读取数据对应的索引信息;
根据所述对应的索引信息,得到与所述待读取数据对应的存储位置。
9.一种数据存储装置,其特征在于,应用于存储***中,所述存储***包括多个存储节点,所述装置包括:
第一确定模块,用于确定数据的变化幅度;
第一存储模块,用于当所述变化幅度超过设定阈值时,存储所述数据;
建立模块,用于根据所述数据的标识和存储位置,建立所述数据的索引信息,其中,所述索引信息,至少包括:所述标识以及所述存储位置的位置信息。
10.一种数据读取装置,其特征在于,应用于存储***中,所述装置包括:
接收模块,用于接收数据读取请求,其中,所述数据读取请求至少包括待读取数据的标识;
查询模块,用于根据所述标识查询索引信息,得到与所述标识对应的位置信息;
读取模块,用于根据所述位置信息指示的存储位置,读取所述待读取数据。
11.一种电子设备,其特征在于,包括:
存储器,存储有计算机可读指令;
处理器,与所述存储器连接,用于通过运行所述计算机可读指令,能够实现权利要求1至8提供的方法。
12.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机可执行指令;所述计算机可执行指令被处理器执行后,能够实现权利要求1至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111643360.XA CN114416731A (zh) | 2021-12-29 | 2021-12-29 | 数据存储方法、数据读取方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111643360.XA CN114416731A (zh) | 2021-12-29 | 2021-12-29 | 数据存储方法、数据读取方法、装置、电子设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114416731A true CN114416731A (zh) | 2022-04-29 |
Family
ID=81270292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111643360.XA Pending CN114416731A (zh) | 2021-12-29 | 2021-12-29 | 数据存储方法、数据读取方法、装置、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114416731A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115100757A (zh) * | 2022-06-20 | 2022-09-23 | 重庆长安汽车股份有限公司 | 汽车数据的存储方法、装置、车辆及存储介质 |
-
2021
- 2021-12-29 CN CN202111643360.XA patent/CN114416731A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115100757A (zh) * | 2022-06-20 | 2022-09-23 | 重庆长安汽车股份有限公司 | 汽车数据的存储方法、装置、车辆及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107122126B (zh) | 数据的迁移方法、装置和*** | |
CN109783023B (zh) | 一种数据下刷的方法和相关装置 | |
CN105468642A (zh) | 数据的存储方法及装置 | |
EP3796182A1 (en) | Data processing method and apparatus, and computer-readable storage medium | |
CN105512283A (zh) | 数据质量管理控制方法及装置 | |
CN112148690A (zh) | 一种文件缓存方法、文件访问请求处理方法及装置 | |
CN116340367B (zh) | 数据查询方法、装置、设备和存储介质 | |
CN111061758A (zh) | 数据存储方法、装置及存储介质 | |
CN114416731A (zh) | 数据存储方法、数据读取方法、装置、电子设备及介质 | |
CN110516220B (zh) | 一种报表数据录入方法、***及相关设备 | |
CN111831691B (zh) | 一种数据读写方法及装置、电子设备、存储介质 | |
CN109739854A (zh) | 一种数据存储方法及装置 | |
CN117076341A (zh) | 数据存储方法、装置、计算机设备及计算机可读存储介质 | |
CN113297245A (zh) | 获取执行信息的方法及装置 | |
CN109815351B (zh) | 信息查询方法及相关产品 | |
CN101515253A (zh) | 将文件写入存储介质与从存储介质读取文件的装置及方法 | |
CN112162951A (zh) | 一种信息检索方法、服务器及存储介质 | |
CN113220992A (zh) | 一种信息流内容推荐方法、***及介质 | |
CN113468379A (zh) | 数据源的处理方法、装置及智能分析平台 | |
CN111046249A (zh) | 一种数据存储、定位、应用方法及相关装置 | |
CN117909301B (zh) | 基于索引的对象查询方法、装置、设备及介质 | |
CN117874296A (zh) | 一种时序数据存储方法、处理设备及计算机可读介质 | |
CN104572643A (zh) | 搜索方法和搜索引擎 | |
CN117555968B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN113177143B (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 |