当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘要:根据对嵌入式实时数据库的分析,设计出基于专用文件系统的嵌入式实时数据库,该文件系统以块为单位进行存储,使用〈点、时间、数值〉来表示一条具有完整意义的数据,根据数据特点,建立了针对实时数据存储的文件系统索引结构,最后完成了专用文件系统在嵌入式Linux上的运行,它提供专用的调用接口进行读写。

引言

嵌入式系统是一种“完全嵌入受控件内部,为特定应用而设计的专用计算机系统”据不完全统计,目前世界上嵌入式处理器的品种总量超过一千多种,流行的体系结构也有30多个系列。但是没有一种微处理器和微处理器公司可以主导嵌入式系统。由于嵌入式系统设计的差异性极大,因此选择也是多样化的。ARM是近年来在嵌入式系统很有影响力的微处理制造商,ARM的设计非常适用于小的嵌入式系统。

嵌入式系统必须根据应用需求对软硬件进行剪裁,满足应用系统的功能、可靠性等要求。随着嵌入式系统的广泛应用及嵌入式操作系统的不断普及,嵌入式环境下的数据管理问题成为系统的重要环节,工业系统要求严格的时间性,要求在一定的时刻或时间段内对外部采集数据按照顺序进行存储,并及时作出响应。所处理的数据往往是“短暂”的,只在一定的时间段内有效,过时则没有任何意义,传统的嵌入式数据库主要用于处理永久性数据,设计时主要强调维护数据的完整性、一致性,提高系统的吞吐量和降低系统代价,没有考虑与数据处理相关联的时间因素,因而传统的嵌入式数据库无法满足工业实时应用的需求,因此我们开发了一款嵌入式实时数据库系统,实现了与操作系统的融合,建立属于实时数据库独有的缓冲区管理,将数据库的归档文件建立在专用的文件系统之上,该文件系统提供独立的访问接口及管理磁盘空间。1嵌入式实时数据库分析

嵌入式实时数据库系统是指在嵌入式设备中独立运行的数据库系统,用以处理大量的,时效性强且有严格时序的数据,它以高可靠性、高实时性和高信息吞吐量为目标,其数据的正确性不仅依赖于逻辑结果,而是依赖于逻辑结果产生的时间。由于嵌入式系统没有充足的硬件资源支持,要求数据库管理系统占用最小的内存和磁盘空间。如果用Linux自带的文件系统或大型关系型数据库管理系统,都不可避免地产生大量的冗余数据、数据管理效率低下等问题。所以,它们不能应用于嵌入式系统的数据管理。嵌入式环境下设计的实时数据库必须包含高效的存取机制,数据安全性机制,数据库日志管理等功能。在实际设计中更关心系统的实时性,开销大小,系统性能,可靠性等。

嵌入式实时数据库系统按照与嵌入式应用的关系可以分为两类[1]:一类是独立于具体的应用,它将数据库直接建立在内存之中,专门为嵌入式系统数据管理而编写的实时数据库;另一类是针对具体的应用而设计开发的嵌入式实时数据库系统。本文的实现属于后者,介绍针对工业数据处理的嵌入式实时数据库。

基于专用文件系统的数据库设计基本思想是将数据库技术引入文件系统,目前有两种实现方式:一种是搭建一个基于现有数据库的文件系统,其中数据库充当了新文件系统的基石。另一种是对传统文件系统进行改造,将文件系统设计成一个“数据库”,文件系统与数据库完全融合。它不同于传统的文件系统,其改造使得其文件的组织和访问发生重大的变化,因为文件系统更加数据库化,包含“文件”、“目录”这样的概念也可能发生改变。对于文件的组织和访问,或者说数据的组织和访问,也会更加侧重于数据库的方式,它会对各种数据提供统一访问存储机制,以此来获得有效而灵活的数据查询机制。本文使用了后者的实现方式,将数据库与专用文件系统进行融合,提供了统一的访问接口。

2嵌入式实时数据库文件系统的设计模型

2.1实时数据特点

实时数据自然是与时间紧密相关的,工业上嵌入式实时根据点号分配磁盘块I数据库所存储的数据通常是基于时间的连续模拟量或者数字量,如:温度、流量、压力、阀门开关等,这些数据有以下几个特点:

时效性

每个记录的值都与时间有关联,数据随时间不断添加入数据库,这些数据的顺序按照时间来排序的,以后不会被重新排序,而每秒中的数据都有可能发生改变。因此,在记录数据值得过程中必须记录其相应的时间。在数据查找时,也必须确定其时间点,否则数据就没有存在的意义。

数据格式

与关系型数据库中的元组不同,工业数据每一条数据只包含一条记录,数据格式相对简单,固定和独立。从应用角度来看,保存的数据有I/O整型、离散型、实数型、开关量等。但从数据存储技术方面看,都可归纳为1字节,2字节,4字节这三种情况,每一条记录的属性比较少,不存在记录点与记录点之间的依赖关系,没有类似关系数据库中数据间的复杂关系,它记录格式少,关系简单,可以采用统一的结构化管理。

数据时间间隔

在工业现场中,某些记录点变化频率非常快,而有些则是很长一段时间才会发生变化,根据这个特点,设计实时数据库时必须兼顾细分要求。

根据实时数据的特点,可以发现将实时数据存入关系型数据库既浪费系统资源,又无法满足其对实时性的要求,因此,我们设计了实时数据库文件系统用于存储一定格式的工业数据,其数据格式设定为三元组<点号、时间、数值>,其中“点号”代表工业现场的单值采样设备,“时间”代表设备状态的采样时刻,“数值”代表设备的工作状态或计量值。每一个数值由时间和点号确定,如果没有确定的时间与点号,数据则没有任何意义。

2.2嵌入式实时数据库文件系统设计框架

在系统架构方面,从操作系统内核结构的角度来看,数据库文件系统放在操作系统的内核之内,将数据库技术与文件系统技术深度结合叫图1所示为实时数据库文件系统在操作系统中存在形式。

基于ARM平台的嵌入式实时数据库的设计与实现

嵌入式实时数据库文件系统不使用一般文件系统中的文件目录结构,而是建立针对实时数据的索引结构,以便实现对磁盘数据的高效读写,它的数据接口是通过在操作系统中建立新的系统调用来实现的,使用了Linux中现有的磁盘驱动程序,通过VFS完成在Linux环境下文件系统的注册和安装。嵌入式实时数据库文件系统的基本原型如图2所示。

图2嵌入式实时数据库文件系统(ERTFS)的体系结构

该结构提供了对实时数据进行读写的调用接口:其中数据写(rt_write)可更新一组块数据,包括磁盘块号以及写进该块的数据内容,可将数据写入磁盘。数据读(rt_read)则用于读出某一磁盘块数据,或者读出一批磁盘块数据。数据存储则以完整的块数据为基础,在文件系统内部不对块内数据进行任何处理,而对块数据内容的规整必须在文件系统之上完成。嵌入式实时数据库文件系统的数据处理流程如图3所示。

基于ARM平台的嵌入式实时数据库的设计与实现

数据存储时根据点号分配磁盘块,查看磁盘块空间是否写满,若写满则分配新的磁盘块,然后为磁盘块分配缓冲块,将数据库拷贝到缓冲块,通过Linux的块设备驱动程序进行写入磁盘,同时维护索引区。数据读取时主要根据点号和时间进行读取,如果没有确定的时间点,数据没有任何意义。

2.3文件结构

嵌入式实时数据库文件系统的通过点号进行索引,每个点号指向对应的数据簇,它的数据组织方式如图4所示。

图4按照点时间管理数据

嵌入式实时数据库文件系统以点作为索引,在对某一点的数据进行访问时,需要获取该点的点信息,按照链表的方式来索引到指定的数据簇,在数据簇内,查询命中的数据块,将数据从数据区读取或者存入,采用这种索引结构,可以减少数据的访问时间,提高了实时数据的查询能力。其中点所指向的数据块基本信息如图5所示。

基于ARM平台的嵌入式实时数据库的设计与实现

图5中,数据块索引信息将记录数据块信息,每个数据块存储固定数目的实时数据,为了节约存储空间,块内的每个时间值只保存偏移量,即实际时间减去该块数据起始时间。图6所示为数据块的存储结构。

基于ARM平台的嵌入式实时数据库的设计与实现

3性能测试

测试选取的嵌入式ARM开发板选取YLE2440,处理器为SamsungS2C2440A,主频400MHz:外部存储器NorFLASH:2MB;NandFLASH:64MB;存取介质选取8GB的惠普优盘进行读写。实验过程中将实时数据库文件系统正常编译到了嵌入式Linux内核中,内核能够稳定的工作,格式化程序能够对优盘进行格式化,经过格式化后的优盘能够挂载到实时数据库文件系统上,能够对其进行数据读和写。

4结语

本文通过对嵌入式数据库的分析,提出了针对实时数据的嵌入式实时数据的框架结构,介绍了其文件系统在Linux内核中的存在形态以及其数据读取接口,根据实时数据的特点设计了通过点进行索引的文件结构,在数据文件内部,按照时间段分簇的方式来归类同一时间段内的数据。通过本文的阐述,读者可以大致明白如何设计实时数据库以及实现特有文件系统。

20211124_619d105eaa45f__基于ARM平台的嵌入式实时数据库的设计与实现

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭