产品

基于嵌入式数据库的矿场安全系统设计方案详解

  不仅在功能概念及系统特点上与传统的数据库有着很大的差别,而且在它的应用方式上也是不同的。嵌入式数据库并不是直接销售给用户,而是提供给设备的生产商或应用的开发商,以便直接生成在嵌入式系统和应用之中,嵌入式数据库在许多领域拥有广泛的应用前景,如手持式计算和移动计算,智能设备,在本文中便提供了较好的应用。

  前端数据采集、监控、发送等嵌入式系统软件开发工作。为了满足前端嵌入式监控系统对井下实时数据的存储、查询、显示等大量处理要求,必须安装数据库管理系统,而传统的数据库管理系统显然因其资源占用大、数据管理效率低等特点不能适用与嵌入式矿场监控系统,因此,探索一种适用于矿场恶劣环境下的嵌入式监控终端的数据库系统成为本文进展的关键。

  嵌入式数据库管理系统是随着嵌入式应用的发展而兴起的一类嵌入式应用软件,已经成为数据库技术研究的一个重要分支,在移动计算平台(如HPC,PDA)、家庭信息环境(如机顶盒和数字电视)、通讯计算平台、汽车电子平台、电子商务平台(如智能卡应用)等领域得到广泛的应用。

  为解决这些问题,提出了嵌入式系统在煤矿井上监控系统中的应用,嵌入式系统技术的小体积、高可靠性、低功耗和低成本等特点满足井上监控系统设备的严格要求及现场恶劣生产环境的适应性,并且监控终端移植嵌入式数据库管理系统,满足传统煤矿安全监控系统的主要功能需求:

  嵌入式矿场安全系统的核心是数据处理。监控终端实时采集矿场各类传感器的模拟信号(如瓦斯浓度、一氧化碳浓度、风速、温度、湿度、粉尘、压力等)和现场设备控制设备的开关量信号(如风机启、停状态等),实现数据实时显示、实时/历史曲线显示、查询和报表打印、声光报警、手动/自动控制,以及网络通信等功能。而所有这些功能的实现都是以数据管理为基础的,嵌入式数据库系统可以有效地组织和管理煤矿场下各类数据,从而达到矿场监控系统实时查询、控制等功能的设计要求。图1 是一个典型的采用了嵌入式数据库的矿场安全系统的结构图:

  系统采用 Windows CE 嵌入式操作系统和Berkeley DB 嵌入式数据库作为矿场井上监控系统终端应用程序的开发平台;以现有的矿场安全监测监控系统为数据源,以文件共享的方式实时采集现场安全生产数据,进行数据的处理和发送。

  数据采集模块实现煤矿数据源传感器实时数据的读取,钱柜娱乐并设计成一定格式的数据结构,以便数据库和应用程序操作。本系统以现有的矿场安全系统(MSUS )为数据源,安全系统按照协议规定的文件格式组织传感器数据,存储在指定本地磁盘路径中。

  其中,数据状态按位来表示数据的状态(用二进制定义,使用时转换为整数),其文本对应关系如下:

  CReadFile 类使用了CPtrList 链表数据结构,用以管理交换文件的所有传感器信息,数据节点为DEVDATA 和REALDATA 结构体。

  将传感器设备上传时间作为 key,封装在DEVDATA 结构体中的设备安装信息和封装在REALDATA 结构体中的实时数据信息分别构成数据库的data,从而构成两组Key 到Data对。因此,该方案将形成两张表,分别存储在两个数据库文件中。将传感器设备安装信息和实时数据信息形成两个数据库文件分别存储,只在设备安装信息改变的时候才会进行设备文件的存储操作,这样大大减少了数据库文件的磁盘占用空间。

  Berkeley DB 用Key/Data(关键词/数据)来区分数据库中的数据,Key/Data 对是BerkeleyDB 用来进行数据库管理的基础,由这两者构成的Key/Data 对组成了数据库中的一个基本结构单元,而整个数据库实际上就是由许多这样的结构单元所构成的。也就是说,调用数据库接口实际上就是提供了相应的关键词,通过该关键词来查找要操作的数据。

  如果把一组相关的 Key/Data 对也看作一个表的话,那么每一个数据库只允许存放一个table,因此,一般一种类型的Key/Data 对构成一个数据库文件。数据库存储代码设计主要分为设备安装信息(key/data 对为设备上传时间/DEVDATA 结构体)存储代码设计和实时数据信息(key/data 对为设备一上传时间/REALDATA 结构体)存储代码设计。Berkeley DB 是以文件为单位进行数据库管理的,由于设备安装信息只在数据改变的时候才进行数据库存储操作,并且其间隔周期较长,因此作者设计了dev.db 文件实现安装信息的存储管理;由于实时数据信息的更新周期较短,数据库存储操作频繁,并且每天都会有数据的采集和更新,因此作者以每天的日期为单位设计了实时数据库文件,系统将会获取当天的日期,并以之为文件名形成数据库文件进行数据库操作,例如当天的日期为2007 年2 月8 日,那么数据库文件名为 2007-02-08.db 。

  设备安装信息和实时数据信息的存储代码具有一定的相似性,作者以实时数据信息的存储代码为例说明其设计过程,程序流程如下所示:

  若用户输入的查询时间段内设备安装信息没有改变,GetDevKey 函数会直接返回FALSE,程序接着会调用DataQueryByRealTIme 函数查询实时数据库文件,设备安装信息直接从m-devList 结构体链表中获得,函数设计包括如下:

  ①根据用户输入的查询日期,形成实时数据库文件如2007-02-09.db,打开实时数据库。

  ②构建游标cursor,使用get 方法,以查询时间为key,flag 标签为DB_ SET_ RANGE 游标定位到数据库文件多重记录的首一记录。

  ③遍历数据库文件拥有相同 kev 的多重记录,将data 中传感器ID 号与用户输入ID 号相等的REALDATA 结构体与相应的m devList 链表节点DEVDATA 结构体在列表框控件(CC1istCtrl)中显示出来。

  若设备查询时间对应的安装信息相对于当前时间段己经改变,GetDevKey 函数会返回正确的设备安装信息查询时间devKey,这个查询时间可能跟用户输入的传感器查询时间不同;程序接着会调用DataQuery 函数,并将这个正确的设备查询时间devKey、用户输入的传感器实时数据查询时间realKey、传感器ID 号strDevID 以及实时数据库文件名strRealDbName以形参方式传给DataQuery 函数,其函数设计包括如下:

  ①打开设备数据库 dev.db 文件,根据形参strRealDbName 打开实时数据库文件。

  ②构建游标 cursor,使用get 方法,分别以devKey 和realKey 为数据库的key, flag标签为DB_ SET_ RANGE,游标定位到设备数据库文件和实时数据库文件的首记录。

  ③遍历数据库文件拥有相同key 的多重记录,若设备数据库文件记录的data 中(DEVDATA 结构体)传感器ID 号与实时数据库文件记录的data 中(REALDATA 结构体)传感器ID 号相等,则将这两个data 信息在列表框控件(CC1istCtrl)中显示出来。

  本文的创新点:分析嵌入式煤矿井上监控系统的功能需求,开发设计了基于Berkeley DB数据库和Windows CE 的矿场安全系统,实现了窗口登录、数据采集、系统界面、数据库存储、实时/历史数据查询、实时曲线显示等功能模块,深入讨论研究了系统的数据采集方法、数据库KEY/DATA 对存储方案及实时/历史传感器数据的数据库查询策略。在实际生产中工作稳定,查询速度快,达到了预期的设计目标。

  如何将构件技术成功地应用到嵌入式操作系统开发中得到越来越多的重视。现有的工作大部分着重于从结构的角度...

  本视频主要详细介绍了数据库应用系统的作用,分别是实现数据共享、减少数据的冗余度、数据的独立性、数据实...

  数据库应用系统是由数据库系统、应用程序系统、用户组成的,具体包括:数据库、数据库管理系统、数据库管理...

  UltraSoC日前宣布其嵌入式分析架构实现了一次重大扩展,支持设计人员和创新者将强大的、由数据驱动...

  嵌入式工业控制机特指深藏于工业系统内部,完成一种或多种特定工业任务的计算机。一个成功的工控机要具有开...

  是面向新技术应用搭建的仿真试验环境,旨在为新技术、新产品、新标准、新模式开展前期测试和试验提供支持,...

  普通的单片机主要用作程序存贮器就是FLASH,也就是替代以前的ROM,最大的优点是降低了芯片的成本并...

  MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这...

  随着USB技术的发展,优盘在PC机系统上已得到广泛的应用,基本上取代了软盘,PC机系统可以实现从优盘...

  嵌入式系统是一个嵌入到对象体系中的专用的计算机系统,主要应用与各种类型的信号处理与控制。当前在国防。...

  在写入数据库的时候需要有锁,比如同时写入数据库的时候会出现丢数据,那么就需要锁机制。

  TDK集团成员Micronas公司推出新的嵌入式电机控制器HVC 4420F ,产品特色是具有用于驱...

  包括操作系统、数据库管理系统及应用程序。数据库管理系统(databasemanagementsyst...

  数据库领域公认的标准结构是三级模式结构,它包括外模式、模式和内模式,有效地组织、管理数据,提高了数据...

  本视频主要详细介绍了数据库管理系统由哪些组成,分别是数据库语言、例行程序、模式翻译应用程序的编译、交...

  本视频主要详细介绍了数据库管理系统的功能,分别是数据定义、数据操作、数据库的运行管理、数据组织、存储...

  从软件开发的前景来看,用户与关系数据库编程之间的接口是灵活与友好的。目前在多数RDDMS产品中使用标...

  把API分为驱动层和应用层API,而不是所有程序都调用驱动层API。(整个应用中都调用驱动层API会...

  嵌入式操作系统是ARMCPU的软件基础,从8位/16位单片机发展到以ARMCPU核为代表的32位嵌入...

  数据库系统是为适应数据处理的需要而发展起来的一种较为理想的数据处理系统,也是一个为实际可运行的存储、...

  嵌入式产品,与普通电子产品一样,开发过程都需要遵循一些基本的流程,都是一个从需求分析到总体设计,详细...

  做应用门槛低,特别是现在的ANDROID,纯JAVA。做应用的发展路径个人认为就是业务纯熟。比如在通...

  TDK集团成员Micronas公司推出新的嵌入式电机控制器HVC 4420F ,产品特色是具有用于驱...

  嵌入式Internet是随着嵌入式系统的广泛应用和计算机网络技术的发展而产生的一种新概念和技术。嵌入...

  当初迁移CSDN的博客到OSCHINA的主要原因是CSDN的博客加载速度慢,而且隔三差五的不能写文章...

  根据IEEE(国际电气和电子工程师协会)的定义,嵌入式系统是“控制、监控或者辅助设备、机器和车间运行...

  嵌入式工程师分布在各行各业上面。这其中包括了消费电子、工业电子、汽车电子和军用电子等等。从功能上面看...

  在本文中,我们将重点介绍BERT在多标签文本分类问题中的应用。传统的分类问题假定每个文档都分配给一个...

  预期原先仅配备在高级汽车中的环景影像(surround view)功能,将会在未来5~6年内被广泛采...

  作为支撑人工智能、物联网和5G 发展,作为连接芯片与应用粘结剂的嵌入式技术也将迎来新的机遇。

  除了智能数字终端领域以外,Linux在移动计算平台、智能工业控制、金融业终端系统,甚至军事领域都有着...

  SenseNet已对识别数据库中记录的个人信息的跟踪器进行了维护。Givors透露,跟踪器在24小时...

  这家德国工程和电子公司计划2021年之前在全球范围设立三个人工智能中心,投资3.4亿美元用于人工智能...

  2月13日,GDI基金会荷兰安全研究员Victor Gevers在推特上爆料,中国深网视界科技有限公...

  “我认为中国可能是一个引发点,现在中国嵌入式市场有一个很大的发展,然后辐射到全球的地区。”英特尔首席...

  根据论文资料,Shazam 设计了一套非常灵活的音频搜索引擎。其算法抗噪声和扰动能力强,计算复杂度低...

  随着计算机网络技术和电子信息技术的迅猛发展,Internet的普及,接入Internet的非PC设备...

  随着世界经济和我国经济的不断发展,交通运输越来越成为国民经济生活中的一个极其重要、不可缺少的因素,现...

  Gevers 连发数条推文指出,该公司其中一个 MongoDB 人脸识别数据库在没有安全认证的情况下...

  随着我国城镇化建设进程的加快,城镇的火灾隐患越来越大,每年我国都因为火灾而造成巨大的经济损失。尽管目...

  后PC时代的到来完全依赖于嵌入式技术的诞生与发展,传统的IT设备逐渐转变为嵌入式设备,这是一个大趋势...

  本方法可以让C语言指令进一步接近汇编指令的执行效率,提高单片机、嵌入式系统的速度和稳定性,但编程时应...

  当一个项目做完的时候,如果客户突然又增加需求,增加功能,将导致你的项目周期严重拖延,成本剧烈上升,并...

  设计以MCU为核心的嵌入式系统硬件电路需要根据需求分析进行综合考虑,需要考虑的问题较多,这里给出几个...

  对于嵌入式软件而言,代码尺寸是越小越好。压缩代码以适应受到成本或空间限制的存储子系统已经成为嵌入式系...

  虽然FPGA的传统用户是硬件设计者,但是赛灵思的新型嵌入式设计平台,使得软件开发人员也能够在熟悉的环...

  力神电池是国内锂电老牌企业,材料体系包含磷酸铁锂和三元电池等,产品覆盖五大系列,上千个型号,产品囊括...

  近公司新招了一个做嵌入式软件开发的同事,该同事是从上海的某一个上市公司出来的,因为我们这边人手不够,...

  Linux和C语言有着很深的渊源,因为Linux本身就是用C语言编写的。同时,在Linux操作系统中...

  每个测试中可以使用多种技术,因此一些 Java 测试和 SQL 测试可能是一样的。所以,后面会介绍一...

  1、MCU的选择选择 MCU 时要考虑 MCU 所能够完成的功能、MCU 的价格、功耗、供电电压、I...

  政府性基金引路,社会资本跟进,江苏南通新一代信息技术产业链“芯片设计”的“缺环”有望加快补齐。两个月...