(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210883464.6
(22)申请日 2022.07.26
(71)申请人 汉威科技 集团股份有限公司
地址 450001 河南省郑州市高新 技术开发
区雪松路169号
(72)发明人 李志刚 张晓男 桑小田 侯梦迪
杨满意 兰永富 高良
(74)专利代理 机构 郑州德勤知识产权代理有限
公司 41128
专利代理师 黄红梅
(51)Int.Cl.
G06F 16/906(2019.01)
G06F 16/23(2019.01)
G06F 3/06(2006.01)
(54)发明名称
一种基于 单片机FLASH的数据库及数据库的
运行方法
(57)摘要
本发明提供了一种基于单片机FLASH的数据
库及数据库的运行方法, 数据库按照以下方法构
建: 基于单片机FLASH每页容量, 对Flash内部存
储区, 按照数据种类进行功能区域划分, 每个功
能区域由连续的2n页构成; 分区完成之后对数据
库区域的存储单元做整体写0操作; 单片机 FLASH
存储的每一条数据记录包括记录时间、 记录覆写
次数和记录内容, 按位编码记录时间、 记录覆写
次数和记录内容, 每条记录的容量为一页的1/
2m; 每条数据记录根据所述记录内容存储于对应
的功能区域; 在每个功能区域内, 每条数据记录
按照产生的顺序, 依次按页存储; 当存储到功能
区域结尾时, 自动跳转到功能区域起始处循环存
储, 并自动覆盖原有数据。
权利要求书1页 说明书5页
CN 115329167 A
2022.11.11
CN 115329167 A
1.一种基于单片机FLASH的数据库, 其特 征在于, 数据库按照以下 方法构建:
基于单片机FLASH每页 容量, 对Fl ash内部存储区, 按照数据种类进行功能区域划分, 每
个功能区域由连续的2n页构成, n为正整数; 功能区域包括报警记录区、 报警记录解除区、 故
障记录区、 故障记录解除区、 上电记录区和掉电记录区;
分区完成之后对数据库区域的存 储单元做整体写0操作;
单片机FLASH存储的每一条数据记录包括记录时间、 记录覆写次数和记录内容, 按位编
码记录时间、 记录覆写次数和记录内容, 每条记录的容量为一页的1/2m, m为正整数, 整个数
据库系统中m为固定值; 其中, 所述记录时间为数据 记录产生的时间; 所述记录内容为报警、
报警解除、 故障、 故障解除、 上电或掉电; 所述记录覆写次数指示数据记录的新旧;
每条数据记录根据所述记录内容存储于对应的功能区域; 在每个功能区域内, 每条数
据记录按照产生的顺序, 依次按页存储; 当存储到功能区域结尾时, 自动跳转到功能区域起
始处循环存 储, 并自动覆盖原有数据。
2.一种权利要求1所述基于单片机FLASH的数据库的运行 方法, 其特 征在于:
每一次当数据库有数据读写需求时, 首先根据读写的数据种类确定对应分区的页编
号, 在这些页中按由前向后的顺序遍历每一条数据记录的记录覆写次数, 找到其中由大数
向小数变化的分界点; 如果所有数据记录的记录覆写次数一致, 则标记该功 能区域的首页
的首地址为分界点; 读取分 界点下一条记录的覆写次数k, 设定 分界点前的最后一条数据 记
录为最新数据记录, 设定分界点后的第一条 数据记录为 最旧数据记录;
如果数据库需要查询一条 数据记录, 从最 新数据记录开始向前检索;
如果数据库需要写入一条数据记录, 拟写入数据记录覆写于最旧数据记录所在的存储
区域, 并将写入最 新记录的记录覆写次数 标记为k+1。
3.根据权利要求2所述的基于单片机FLASH的数据库的运行方法, 其特征在于: 数据库
的检索还包括在顺序检索的基础上叠加使用时间检索或事件检索, 其中, 事件包括报警事
件、 报警解除事 件、 故障事 件、 故障解除事 件、 上电事 件和掉电事 件。
4.根据权利要求2所述的基于单片机FLASH的数据库的运行方法, 其特征在于: 数据库
的检索还包括单独使用时间检索或事件检索, 其中, 事件包括报警事件、 报警解除事件、 故
障事件、 故障解除事 件、 上电事 件和掉电事 件。权 利 要 求 书 1/1 页
2
CN 115329167 A
2一种基于单片机FLASH的数据库及数据库的运行方 法
技术领域
[0001]本发明属于数据 存储技术领域, 具体的说, 涉及了一种基于单片机FLASH的数据库
及数据库的运行 方法。
背景技术
[0002]单片机作为嵌入式开发的核心器件, 在电子产品的开发中, 起着不可或缺的作用。
在单片机工作的过程中, 会采集大量的数据供开 发人员使用, 分析解决问题, 为产品开 发提
供依据。 因此, 开发者常常会把这些数据保存在单片机的FLASH中。 然而单片机采集的数据
种类是多种多样的, 现有的方法只是存储在固定地址, 且数据并无明显 分类, 存储读取数据
时效率低下, 无疑会拖慢产品的开发周期。
[0003]有如CN102819468A一种基于FLASH的小型数据备份及查询方法, 通过利用存储数
据的时间点和存储位置的影射关系, 在每个数据存储页开始写 数之前, 写入一个时间标签。
数据存储时以扇区为操作单位, 每个扇区都有相似的存储结构, 通过扇区号和页面时间标
签鉴别前后顺序。 当一个扇区存满数据时, 查找最早使用过的扇区, 清除该扇区, 将之作为
当前工作扇区, 如此 可实现均匀磨损, 使得 数据存储和查询都简洁快速 。
[0004]也有如CN106202276A蓝牙OBD长时间数据保存实现方法。 通过软件创建小型 的数
据库管理系统, 数据库管理系统针对Flash内部存储不同数据信息的保存要求进行功能区
域划分、 数据擦除、 更新、 读写等操作。 通过对Flash平衡写入处理、 历史数据回滚机制, 增加
工况数据区保存 数据量, 减 轻Flash擦写次数以达到延长Flash使用寿命, 实现对蓝牙OBD长
时间数据保存。
[0005]以上两件专利均在某一方面提出了解决方案, 但是对于单片机Flash来说, 目前普
遍采用的单片 机Flash容量均不是很大, 而在一些应用场景下又需要单片机Flash能够 存储
足够大的数据量, 同时还能满足快速存取。
[0006]为了解决以上存在的问题, 人们一 直在寻求一种理想的技 术解决方案 。
发明内容
[0007]本发明的目的是针对现有技术的不足, 从而提供一种基于单片机FLASH的数据库
及数据库的运行 方法。
[0008]为了实现上述目的, 本发明所采用的技 术方案是:
本发明第一方面 提供一种基于单片机FLASH的数据库, 数据库按照以下 方法构建:
基于单片机FLASH每页容量, 对Flash内部存储区, 按照数据种类进行功 能区域划
分, 每个功能区域由连续的2n页构成, n为正整数; 功能区域包括报警记录区、 报警记录解除
区、 故障记录区、 故障记录解除区、 上电记录区和掉电记录区;
分区完成之后对数据库区域的存 储单元做整体写0操作;
单片机FLASH存储的每一条数据记录包括记录时间、 记录覆写次数和记录内容, 按
位编码记录时间、 记录覆写次数和记录内容, 每条记录的容量为一页的1/2m, m为正整数, 整说 明 书 1/5 页
3
CN 115329167 A
3
专利 一种基于单片机FLASH的数据库及数据库的运行方法
文档预览
中文文档
7 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共7页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-07 12:43:10上传分享