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

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

北京2022年10月19日 /美通社/ -- 随着云计算、大数据的普及发展,过去的"云"是服务于大企业的计算模型,而十多年过去了,越来越多的应用及业务走上"云端",对计算核心数需求...

关键字: ARM 大数据 云游戏 CPU

无线连接已成为许多产品的必备功能,但往往会增加系统设计的成本和复杂性,因为它通常必须作为更大应用的附加功能。Microchip Technology Inc.(美国微芯科技公司)今日推出首款基于Arm Cortex®-M...

关键字: Microchip ARM PIC

物联网正在扩大规模并加速发展,进而驱动着全新的经济。而Arm生态系统正是这一巨大机遇背后的推动力。

关键字: ARM 物联网

ARM公司是一家知识产权(IP)供应商,它与一般的半导体公司最大的不同就是不制造芯片且不向终端用户出售芯片,而是通过转让设计方案,由合作伙伴生产出各具特色的芯片。

关键字: ARM

2018年10月26日,深圳星河丽思卡尔顿酒店,ARM中国CEO吴雄昂在ARM年度技术论坛上对记者如是说,彼时的吴坚定,温雅,意气风发。时隔两年,ARM中国CEO吴雄昂再次回到媒体视线,这一次,ARM中国与来自投资方和剑...

关键字: ARM 芯片 集成电路

喜欢折腾主机的小伙伴一定都知道X86和ARM架构的区别,前者在PC领域已经统治了几十年;后者则主要应用于移动领域,尤其是近几年,ARM的产品在终端应用特别是手持终端应用飞速发展。

关键字: 国产 ARM 主机

科技公司们认为,收购将使英伟达控制一个重要的供应商,该供应商向苹果、英特尔、三星电子、亚马逊和华为等公司授权基本的芯片技术,同时也向不计其数的中小技术企业提供授权。总部位于英国的ARM公司将芯片设计和相关软件代码授权给所...

关键字: 英伟达 ARM 半导体公司

在去年九月,英伟达宣布以400亿美金收购ARM时,就注定这场收购不会太顺利。因为一旦ARM成功被英伟达收购,这将使ARM改变在全球半导体市场中的中立立场,因为ARM的很多客户,都是英伟达的直接或者间接的对手。除此之外,还...

关键字: 英伟达 ARM 半导体

以下内容中,小编将对工控主板的相关内容进行着重介绍和阐述,希望本文能帮您增进对工控主板的了解,和小编一起来看看吧。

关键字: ARM 工控主板 主板

在这篇文章中,小编将为大家带来工控主板的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。

关键字: ARM 工控主板 主板

《物联网技术》杂志

2511 篇文章

关注

发布文章

编辑精选

技术子站

关闭