CN106339374A - 用于嵌入式系统中的文件型实时历史数据库算法 - Google Patents
用于嵌入式系统中的文件型实时历史数据库算法 Download PDFInfo
- Publication number
- CN106339374A CN106339374A CN201510390543.3A CN201510390543A CN106339374A CN 106339374 A CN106339374 A CN 106339374A CN 201510390543 A CN201510390543 A CN 201510390543A CN 106339374 A CN106339374 A CN 106339374A
- Authority
- CN
- China
- Prior art keywords
- data
- accounts
- bytes
- sampled
- database
- 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
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/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了用于嵌入式系统中的文件型实时历史数据库算法,属历史数据库领域。包括数据库结构定义和数据库算法,所述数据库结构定义包括数据文件格式定义、文件信息结构格式定义、数据段结构定义、采样数据结构定义,经过两次的数据过滤,依然保留下来的数据,就需要写入到数据库中,数据段采用固定块大小,是在保证一定的数据存储量的同时,能够实现快速的数据定位,整段数据加载至内存中,能够对数据进行快速处理。本发明结合了嵌入式监控应用的特性,对普通的历史文件算法进行了改进,达到数据处理快速且文件尺寸较小的要求。为了防止历史文件过于碎片化,采用一个月为一个单位,进行存储。
Description
技术领域
本发明涉及历史数据库领域,具体地说,是用于嵌入式系统中的文件型实时历史数据库算法。
背景技术
文件型实时历史数据库是嵌入式监控应用程序中不可缺少的一部分。文件历史数据库就是将采集到的数据变化过程记录下来,用来分析数据的变化过程及作为数据资料进行存档。
由于主要应用于嵌入式系统中,嵌入式系统中的各种资源都是相对有限的,这就要求文件尺寸要尽可能的小。另外由于是应用于实时监控,处理数据时要尽可能的快速。以往的历史文件算法往往处理速度偏慢,且文件尺寸较大,很难长期稳定的应用于嵌入式应用的工作环境中。由于历史数据库是对数据变化过程的记录,就要求数据的时效及数据的真实性,基于这些特性,历史数据库仅提供数据插入及数据查询操作,以防止过程数据被篡改。
发明内容
本发明提供了用于嵌入式系统中的文件型实时历史数据库算法,结合了嵌入式监控应用的特性,对普通的历史文件算法进行了改进,达到数据处理快速且文件尺寸较小的要求。为了防止历史文件过于碎片化,采用一个月为一个单位,进行存储。
本发明涉及用于嵌入式系统中的文件型实时历史数据库算法,包括数据库结构定义和数据库算法,其特征在于,所述数据库结构定义包括数据文件格式定义、文件信息结构格式定义、数据段结构定义、采样数据结构定义,
所述数据文件格式定义如下:文字信息占20字节和n个数据段,每一个数据段占1024字节;所述文件信息结构格式定义如下:版本信息占4字节、创建时间占8字节、信息预留占8字节,所述创建时间为1970年1月1日到创建时间的毫秒数;
所述数据段结构定义如下:采集数据点标识的Id占4字节、段有效长度占2字节、段实际长度占2字节、前趋段地址占2字节、后续段地址占2字节、起始时间占4字节、截止时间占4字节、变化阈值占4字节、采样数据占n字节,其中6≤n≤16;所述段有效长度为有效数据的长度;所述段实际长度在默认情况下与与有效长度相等,但是当过程数据有修改时则不一致;所述前趋段地址表示上一个Id的采样数据点的存储段地址;所述后续段地址表示下一个Id的采集数据点的存储段地址;所述起始时间为存储段的采样数据起始时间;所述截止时间为存储段采样数据截止时间,所述起始时间与所述截止时间均是相对于文件创建时间的毫秒数来计算;如果新添加的数据变化大于所述变化阈值则记录,否则抛弃。
所述采样数据结构定义包括采样数据头和采样数据两部分,采样数据结构根据采样数据头结构定义,采样数据头结构定义如下:采样时间标签占2字节、采样数据类型及质量标签占1字节;采样数据结构定义如下:采样数据头占3字节、时间标签占4或0字节、采样值占1~8字节,所述采样时间标签为超过上一个采样数据的采样时间的毫秒数,如果没有上一个采样数据,则表示超过该数据段的起始时间的毫秒数;所述采样数据类型及质量标签包括采样数据类型标签和采样数据的质量标签,采样数据类型标签的采样值占1~4字节,采样数据的质量标签的采样值占5~8字节,所述采样数据的时间标签根据采样数据头来决定是否占字节,所述采样值根据采样数据头中的数据类型来决定采样值所占字节数。
其数据存储方法如下:(1)查询新插入数据点是否已经存在于数据库中,如果未存在则创建新的数据段,并将数据直接写入,写入过程结束;(2)如果已经存在于数据库中则进行后续判断,首先判断数据变化是否超出变化阈值,如果未超出则直接将数据丢弃,写入过程结束;(3)如果变化超出了变化阈值,则采用旋转门算法进一步对数据进行过滤,(4)经过两次的数据过滤,依然保留下来的数据,就需要写入到数据库中,数据段采用固定块大小,是在保证一定的数据存储量的同时,能够实现快速的数据定位,整段数据加载至内存中,能够对数据进行快速处理。
进一步地,所述起始时间、截止时间均采用相对于文件创建时间的毫秒数来计时,长度各为4个字节的无符号整型数据,最长能够表示4294967295毫秒,即49天,能够在存储尺寸较小的情况下保证数据文件记录一个月的时间范围。
与现有技术相比,本发明的积极效果是:
1.本发明结合了嵌入式监控应用的特性,对普通的历史文件算法进行了改进,达到数据处理快速且文件尺寸较小的要求。为了防止历史文件过于碎片化,采用一个月为一个单位,进行存储。
附图说明
图1是本发明的数据存储流程图
具体实施方式
本发明提供用于嵌入式系统中的文件型实时历史数据库算法,为使本发明的目的、技术方案及效果更佳清楚、明确,以下结合附图对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用与限定本发明。
本发明本发明涉及用于嵌入式系统中的文件型实时历史数据库算法,包括数据库结构定义和数据库算法,其特征在于,所述数据库结构定义包括数据文件格式定义、文件信息结构格式定义、数据段结构定义、采样数据结构定义,
所述数据文件格式定义如下:文字信息占20字节和n个数据段,每一个数据段占1024字节;所述文件信息结构格式定义如下:版本信息占4字节、创建时间占8字节、信息预留占8字节,所述创建时间为1970年1月1日到创建时间的毫秒数;
所述数据段结构定义如下:采集数据点标识的Id占4字节、段有效长度占2字节、段实际长度占2字节、前趋段地址占2字节、后续段地址占2字节、起始时间占4字节、截止时间占4字节、变化阈值占4字节、采样数据占n字节,其中6≤n≤16;所述段有效长度为有效数据的长度;所述段实际长度在默认情况下与与有效长度相等,但是当过程数据有修改时则不一致;所述前趋段地址表示上一个Id的采样数据点的存储段地址;所述后续段地址表示下一个Id的采集数据点的存储段地址;所述起始时间为存储段的采样数据起始时间;所述截止时间为存储段采样数据截止时间,所述起始时间与所述截止时间均是相对于文件创建时间的毫秒数来计算;如果新添加的数据变化大于所述变化阈值则记录,否则抛弃。
所述采样数据结构定义包括采样数据头和采样数据两部分,采样数据结构根据采样数据头结构定义,采样数据头结构定义如下:采样时间标签占2字节、采样数据类型及质量标签占1字节;采样数据结构定义如下:采样数据头占3字节、时间标签占4或0字节、采样值占1~8字节,所述采样时间标签为超过上一个采样数据的采样时间的毫秒数,如果没有上一个采样数据,则表示超过该数据段的起始时间的毫秒数;所述采样数据类型及质量标签包括采样数据类型标签和采样数据的质量标签,采样数据类型标签的采样值占1~4字节,采样数据的质量标签的采样值占5~8字节,所述采样数据的时间标签根据采样数据头来决定是否占字节,所述采样值根据采样数据头中的数据类型来决定采样值所占字节数。
如图1所示,其数据存储方法如下:
(1)查询新插入数据点是否已经存在于数据库中,如果未存在则创建新的数据段,并将数据直接写入,写入过程结束;
(2)如果已经存在于数据库中则进行后续判断,首先判断数据变化是否超出变化阈值,如果未超出则直接将数据丢弃,写入过程结束;
(3)如果变化超出了变化阈值,则采用旋转门算法进一步对数据进行过滤;
(4)经过两次的数据过滤,依然保留下来的数据,就需要写入到数据库中,数据段采用固定块大小,是在保证一定的数据存储量的同时,能够实现快速的数据定位,整段数据加载至内存中,能够对数据进行快速处理。
进一步地,所述起始时间、截止时间均采用相对于文件创建时间的毫秒数来计时,长度各为4个字节的无符号整型数据,最长能够表示4294967295毫秒,即49天,能够在存储尺寸较小的情况下保证数据文件记录一个月的时间范围。
采样数据的保存格式中采用两次判定时间戳的方法,正常情况下,2个字节即能够保证与上一次数据变化的时间间隔,但对于某些变化不大的数据,有可能会超出这个范围,如果2个字节不能正确存储时间戳时,会自动增加4个字节的无符号数据,用来表示超出部分的时间。
采样值也是保存与上一采样数据值之差,采样值的字节大小由采样数据头中的数据类型进行定义,会根据不同的数据类型进行调节,由于采样值是与上一个采用值之差,所以采用有符号的数据类型进行表示,正常情况下,1-2个字节即能保存数据的变化范围,但对于某些变化幅度特别大的数据来说,1-2个字节显然不够使用,这时会根据采样数据类型,对数据大小进行相应的扩展。
经过充分测试,文件型实时历史数据库的存储效率能够达到每秒10000次的写入,及每秒10000次的查询。1000个数据采样点每月的文件尺寸最好情况下能够在1MB左右,最差情况在10MB左右,平均在5M左右。
对于本领域技术人员而言,显然本发明不限于上述示范性的实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内,不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
Claims (2)
1.用于嵌入式系统中的文件型实时历史数据库算法,包括数据库结构定义和数据库算法,其特征在于,所述数据库结构定义包括数据文件格式定义、文件信息结构格式定义、数据段结构定义、采样数据结构定义,
所述数据文件格式定义如下:文字信息占20字节和n个数据段,每一个数据段占1024字节;所述文件信息结构格式定义如下:版本信息占4字节、创建时间占8字节、信息预留占8字节,所述创建时间为1970年1月1日到创建时间的毫秒数;
所述数据段结构定义如下:采集数据点标识的Id占4字节、段有效长度占2字节、段实际长度占2字节、前趋段地址占2字节、后续段地址占2字节、起始时间占4字节、截止时间占4字节、变化阈值占4字节、采样数据占n字节,其中6≤n≤16;所述段有效长度为有效数据的长度;所述段实际长度在默认情况下与与有效长度相等,但是当过程数据有修改时则不一致;所述前趋段地址表示上一个Id的采样数据点的存储段地址;所述后续段地址表示下一个Id的采集数据点的存储段地址;所述起始时间为存储段的采样数据起始时间;所述截止时间为存储段采样数据截止时间,所述起始时间与所述截止时间均是相对于文件创建时间的毫秒数来计算;如果新添加的数据变化大于所述变化阈值则记录,否则抛弃。
所述采样数据结构定义包括采样数据头和采样数据两部分,采样数据结构根据采样数据头结构定义,采样数据头结构定义如下:采样时间标签占2字节、采样数据类型及质量标签占1字节;采样数据结构定义如下:采样数据头占3字节、时间标签占4或0字节、采样值占1~8字节,所述采样时间标签为超过上一个采样数据的采样时间的毫秒数,如果没有上一个采样数据,则表示超过该数据段的起始时间的毫秒数;所述采样数据类型及质量标签包括采样数据类型标签和采样数据的质量标签,采样数据类型标签的采样值占1~4字节,采样数据的质量标签的采样值占5~8字节,所述采样数据的时间标签根据采样数据头来决定是否占字节,所述采样值根据采样数据头中的数据类型来决定采样值所占字节数。
其数据存储方法如下:(1)查询新插入数据点是否已经存在于数据库中,如果未存在则创建新的数据段,并将数据直接写入,写入过程结束;(2)如果已经存在于数据库中则进行后续判断,首先判断数据变化是否超出变化阈值,如果未超出则直接将数据丢弃,写入过程结束;(3)如果变化超出了变化阈值,则采用旋转门算法进一步对数据进行过滤,(4)经过两次的数据过滤,依然保留下来的数据,就需要写入到数据库中,数据段采用固定块大小,是在保证一定的数据存储量的同时,能够实现快速的数据定位,整段数据加载至内存中,能够对数据进行快速处理。
2.根据权利要求1所述的用于嵌入式系统中的文件型实时历史数据库算法,其特征在于,所述起始时间、截止时间均采用相对于文件创建时间的毫秒数来计时,长度各为4个字节的无符号整型数据,最长能够表示4294967295毫秒,即49天,能够在存储尺寸较小的情况下保证数据文件记录一个月的时间范围。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510390543.3A CN106339374A (zh) | 2015-07-06 | 2015-07-06 | 用于嵌入式系统中的文件型实时历史数据库算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510390543.3A CN106339374A (zh) | 2015-07-06 | 2015-07-06 | 用于嵌入式系统中的文件型实时历史数据库算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106339374A true CN106339374A (zh) | 2017-01-18 |
Family
ID=57825964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510390543.3A Pending CN106339374A (zh) | 2015-07-06 | 2015-07-06 | 用于嵌入式系统中的文件型实时历史数据库算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106339374A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1758236A (zh) * | 2005-06-30 | 2006-04-12 | 东北大学 | 一种基于嵌入式操作的管理系统及装置 |
CN101667205A (zh) * | 2009-09-28 | 2010-03-10 | 河南电力试验研究院 | 一种面向快速回放的实时测点数据存储方法 |
CN201425713Y (zh) * | 2009-05-22 | 2010-03-17 | 青岛高校信息产业有限公司 | 基于嵌入式实时数据库的网关应用系统 |
CN102037465A (zh) * | 2008-04-14 | 2011-04-27 | 阿尔卡特朗讯 | 使冗余最小化的Web馈送聚合方法 |
CN102043795A (zh) * | 2009-10-13 | 2011-05-04 | 上海新华控制技术(集团)有限公司 | 过程控制历史数据文件结构的建立方法和数据读写方法 |
CN102768666A (zh) * | 2011-05-05 | 2012-11-07 | 上海可鲁系统软件有限公司 | 一种工业数据存储读取方法及其系统 |
CN102831245A (zh) * | 2012-09-17 | 2012-12-19 | 洛阳翔霏机电科技有限责任公司 | 一种关系型数据库的实时数据存储和读取方法 |
CN103425675A (zh) * | 2012-05-17 | 2013-12-04 | 南京中兴力维软件有限公司 | 用于集中监控管理系统的监控数据存储方法及装置 |
-
2015
- 2015-07-06 CN CN201510390543.3A patent/CN106339374A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1758236A (zh) * | 2005-06-30 | 2006-04-12 | 东北大学 | 一种基于嵌入式操作的管理系统及装置 |
CN102037465A (zh) * | 2008-04-14 | 2011-04-27 | 阿尔卡特朗讯 | 使冗余最小化的Web馈送聚合方法 |
CN201425713Y (zh) * | 2009-05-22 | 2010-03-17 | 青岛高校信息产业有限公司 | 基于嵌入式实时数据库的网关应用系统 |
CN101667205A (zh) * | 2009-09-28 | 2010-03-10 | 河南电力试验研究院 | 一种面向快速回放的实时测点数据存储方法 |
CN102043795A (zh) * | 2009-10-13 | 2011-05-04 | 上海新华控制技术(集团)有限公司 | 过程控制历史数据文件结构的建立方法和数据读写方法 |
CN102768666A (zh) * | 2011-05-05 | 2012-11-07 | 上海可鲁系统软件有限公司 | 一种工业数据存储读取方法及其系统 |
CN103425675A (zh) * | 2012-05-17 | 2013-12-04 | 南京中兴力维软件有限公司 | 用于集中监控管理系统的监控数据存储方法及装置 |
CN102831245A (zh) * | 2012-09-17 | 2012-12-19 | 洛阳翔霏机电科技有限责任公司 | 一种关系型数据库的实时数据存储和读取方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109828721B (zh) | 数据删除方法、装置、计算机设备及存储介质 | |
CN105302738B (zh) | 一种内存分配方法及装置 | |
CN108509323A (zh) | 基于日志分析的业务处理方法、装置及计算机设备 | |
CN105242882B (zh) | 时序数据的帧存储方法及装置、时序数据查询方法及装置 | |
CN102253898B (zh) | 一种图像数据的内存管理方法及装置 | |
CN105005617A (zh) | 一种时间序列数据的存储方法及装置 | |
CN105989061A (zh) | 一种滑动窗口下多维数据重复检测快速索引方法 | |
CN106407224A (zh) | 一种键值存储系统中文件压实的方法和装置 | |
CN102957629B (zh) | 队列管理的方法和装置 | |
CN107908358A (zh) | 一种降低NVMe固态硬盘写放大的方法 | |
CN104714898B (zh) | 一种Cache的分配方法和装置 | |
CN106339374A (zh) | 用于嵌入式系统中的文件型实时历史数据库算法 | |
DE202015009279U1 (de) | System für die Anpassung an Aktualisierungen des Netzwerkprotokolls | |
CN106227102A (zh) | 一种数据采集扩展系统及其数据采集方法 | |
CN107766512B (zh) | 一种日志数据存储方法和日志数据存储系统 | |
CN112905606A (zh) | 一种基于位图的考勤标识算法 | |
CN1905590B (zh) | 一种单板信息采集的方法 | |
CN107481032A (zh) | 基于大数据的智能化营销系统 | |
CN106201727A (zh) | 一种操作系统的内存管理方法及装置 | |
CN110134615A (zh) | 应用程序获取日志数据的方法及装置 | |
CN110825940B (zh) | 网络数据包存储和查询方法 | |
CN102609664B (zh) | 基于可执行体的进程指纹智能识别与模糊采集系统及其方法 | |
CN109597587A (zh) | 一种数据写入方法、介质及非易失性内存 | |
CN115357689A (zh) | 分布式日志的数据处理方法、装置、介质及计算机设备 | |
CN103761191B (zh) | 一种非易失性存储器的固定数据格式读写方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170118 |