基于Berkeley DB的机房环境监控系统

发布者:ananan一二三四五最新更新时间:2013-01-04 来源: 维库开发网关键字:嵌入式数据库  ARM  环境监控系统 手机看文章 扫描二维码
随时随地手机看文章

  引言

  随着社会信息化进程的发展,许多行业部门的中心机房设备和规模也日趋扩大,配套的环境设备也日益增多,一旦机房的环境设备出现故障,将直接影响计算机系统的安全运行,后果不堪设想。为了保证安全,对机房的环境设备进行自动监控是极其重要的。

  1 机房环境设备监控的主要内容及基本功能

  机房环境设备监控的主要内容有:机房用电的检测;对机房低压配电柜,UPS电源设备的输入端和输出端,各回路的电压、电流、频率、电功率的监测;温度、湿度的监测;机房漏水的监测;消防的监测。

  通过对机房环境设备特点的分析,可把机房环境监控系统的基本功能概括为:现场数据的实时采集、发送和显示;对采集到的数据进行处理和存储;对数据处理的结果进行分析、判断和报警;提供多种业务支持等。

  2 监控系统对数据库的要求

  由于该监控系统的信息吞吐量大,多用户数据共享,实时性强等需求特点,对数据的存储与处理宜采用数据库方式。监控系统需要24 h不间断地进行监控,而数据采集系统更是要求在长期无人值守的情况下连续工作,因此,可靠性和稳定性便成为整个系统首要考虑的问题。监控主机一旦发生断电,通信故障,甚至系统崩溃等突发事件,在修复后应能从数据采集物理存储介质中获得不少于15天的原始数据,这些数据在时间上必须是连续的,而且必须持续到系统故障前的一个文件保存周期内。为达到上述要求,必须在数据采集系统中装载一个嵌入式数据库。

  3 嵌入式数据库Berkeley DB简介

  3.1 Berkeley DB的特点

  Berkeley DB是开放源代码的嵌入式数据库,为数据访问和管理提供了简单API函数调用,并支持包括C,C++,Java,Perl,TCL,Pyth on和PHP等的多种编程语言。Berkeley DB作为一种嵌入式数据库系统在许多方面有着独特的优势。首先,由于其应用程序和数据库管理系统运行在相同的进程空间中,耗费在通信上的开销降低到了极低程度。其次,它使用简单的函数调用接口来完成所有的数据库操作,而不是在数据库系统中经常用到的SQL语言,避免了对结构化查询语言进行解析和处理所需的开销。

  3.2 Berkeley DB数据库操作

  通过内嵌在程序中的函数库完成对数据的保存,查询,修改和删除等操作。对它的操作要调用专用的API实现,这些API提供了查询,插入,删除等功能。比如com.sleepycat.db.Db类代表数据库对象。Db类的put()方法完成的是插入功能;get()完成的是独处数据的功能;com.sleepycat.db.Dbc是游标类,提供了遍历数据库记录的功能。

  Berkeley DB提供了数据库句柄结构DB,数据库记录结构DBT,数据库游标结构DBC,数据库环境句柄结构DB_ENV,数据库操作函数,如数据库创建函数:DB→open();数据库些函数DB→put()等,通过对这些函数的调用实现了对数据库复杂的管理操作。

4 Berkeley DB在ARM环境下的建立

  4.1 Berkeley DB在Linux系统下的安装

  Berkeley DB源码以在官方网站上下载。建立宿主机-目标机的模式,宿主机上安装Linux操作系统和交叉编译器,对程序代码进行交叉编译,链接,形成在目标机上可以运行的二进制代码,然后把可执行代码文件下载到目标机上运行。

  (1)将cross 2.9.5.3交叉工具链安装在/usr/bcal/arm/路径下,并下载Berkeley DB的最新版本,建立好交叉编译器后,对下载的Berkeley DB程序包准备安装。[page]

  (2)安装交叉编译器ARM-Linux-gcc

  #vi./dist/configure在配置文件的最前面添加以下几行:

  CC=/usr/local/arm/2 95.3/bin/arm—linux—gcc

  AR=/usr/local/arm/2 95.3/bin/arm—linux—arm

  RANLIB=/usr/local/arm/2 95.3/bin/arm—linux—ranlib

  STRIP=/usr/local/arm/2 95.3/bin/arm—linux—strip

  (3)安装程序库,通过-prefix命令更改安装路径,假设安装路径为/pt linux/arm—work,其命令为:

  #../dist/configure—prefix/pt linux/armwork—host=arm—linux

  #make

  #make install

  (4)安装完成后,在/pt linux/armwork目录下,将生成lib和include两个文件夹。对宿主机的库文件环境变量进行配置:#vi/etc /ld so conf

  (5)在文件的最后一行中添加/pt linux/armwork/lib # ldconfig,这样配置动态库生效Berkeley DB在linux环境下安装就算完成了。

  4.2 数据库在ARM上的运行

  一个随机数存入数据库“db1.db”中,部分代码如下所示:

  建立好数据库文件后,用交叉编译器对数据库进行编译,编译通过后,将生成的可执行代码和动态库拷贝到嵌入式设备上。

  5 结语

  在嵌入式系统中,利用嵌入式数据库对数据进行操作和管理是嵌入式系统应用发展方向,它简化了应用程序的整体开发过程,提高了用户存取记录的效率,实现了多用户数据的共享,可满足嵌入式远程监控系统的数据管理要求。随着嵌入式技术的发展,嵌入式数据库已逐步深入到嵌入式系统的各个应用领域。Berkeley DB作为当今世界上最流行的嵌入式数据库之一,其功能非常强大,而且操作简单,容易实现,是一个实用的数据库。本文介绍了Berkeley DB在监控系统中的应用。经实践证明,基于Berkeley DB的远程监控系统方案取得了较为理想的效果。

参考文献:

[1]. com datasheet http://www.dzsc.com/datasheet/com_1118194.html.

关键字:嵌入式数据库  ARM  环境监控系统 引用地址:基于Berkeley DB的机房环境监控系统

上一篇:基于模糊控制的恒流源设计
下一篇:用ARM架构处理器的优化工业控制方案

推荐阅读最新更新时间:2024-03-16 13:15

聚辰半导体整合方案角逐通用MCU市场
“提供诸如MCU+EEPROM,MCU+EEPROM+ 电源管理芯片这样的组合方案将是我们的产品发展方向。这样的组合方案不仅可以进行整体性能优化,保证终端产品的质量,还可以减少系统厂商对供应商的认证工作量。我们还将争取用1到2年的时间,把MCU和电源管理产品系列化。”在IIC上海站的上海集成电路协会展区上,今年年初才成立的聚辰半导体有限公司的总裁/CEO浦汉沪对笔者表示。 聚辰半导体有限公司的前身是美国ISSI(Integrated Silicon Solution)全资控股子公司芯成半导体(上海)有限公司,是第一家进驻张江高科技园区的IC设计公司。目前聚辰半导体有两条产品线EEPROM和 MCU,其中MCU产品线主
[单片机]
聚辰半导体整合方案角逐通用MCU市场
基于ARM微处理器TCP/IP协议栈LwlP实现
  0 引 言   随着嵌入式系统与网络的日益结合,越来越多的嵌入式设备需要实现Internet网络化,支持嵌入式设备接入网络,已成为嵌入式领域重要的研究方向。而目前嵌入式系统中大量应用低速处理器,受内存和速度限制,实现完整的TCP/IP协议较为困难,LwIP作为较为成熟的嵌入式TCP/IP协议栈受到了广泛的应用。   1 硬件平台   本通信系统的硬件平台由以下几个部分组成:S3C2410主CPU芯片控制嵌入式外围设备的存储、通信、保护、调试、显示等操作;DSP和FPGA负责信号数据的采集和处理;CS8900A负责网络数据的收发;其他部分还包括串口RS232的通信、LCD的数据显示、数据存储FLASH和SDRAM以及其他硬
[单片机]
基于<font color='red'>ARM</font>微处理器TCP/IP协议栈LwlP实现
ARM体系架构下的同步操作
处理器在访问共享资源时,必须对临界区进行同步,即保证同一时间内,只有一个对临界区的访问者。 当共享资源为一内存地址时,原子操作是对该类型共享资源同步访问的最佳方式。 随着应用的日益复杂和SMP的广泛使用,处理器都开始提供硬件同步原语以支持原子地更新内存地址。 CISC处理器比如IA32,可以提供单独的多种原子指令完成复杂的原子操作,由处理器保证读-修改-写回过程的原子性。 而RISC则不同,由于除Load和Store的所有操作都必须在寄存器中完成, 如何保证从装载内存地址到寄存器,到修改寄存器中的值,再到将寄存器中的值写回内存中可以原子性的完成,便成为了处理器设计的关键。 从ARMv6架构开始,ARM处理器提供了Exclu
[单片机]
ARM笔记: GPIO初始化设置
用于外部输入输出的 GPIO 配置主要有以下几步: 1.GPxCON的配置。 每个IO引脚的功能都是复用的,由GPxCON决定引脚的功能是输出(01)输入(00)还是其他功能(外部中断、串口等等),两个二进制位表示。 2.GPxUP的配置。 IO口是否开启 上拉电阻 功能,0表示使用上拉电阻,1表示不使用,上拉电阻的用处是将引脚通过电阻与 电源 连接,使引脚电平为高电平而不是悬空,芯片引脚悬空容易受外部的干扰,导致错误输入输出。一般设置不使用上拉电阻,即rGPxUP=0xffffffff,每个IO口用1位二进制表示。 3.GPxDAT的设置。 每一位为相应引脚的输出电平或引脚的状态输入电平,一般在初始化中对这个
[单片机]
ARM嵌入式汽车节能控制系统
引言 由于各种原因,公交车总是不断重复加速—减速或停车—再加速的过程。通过加装本节能装置,当汽车需要制动时,在主控单元的控制下,可将汽车行驶时具有的巨大动能通过空气压缩机转化成高压气体的势能并储存起来,从而实现汽车减速或停车。当汽车需要启动或加速时,用储存起来的高压气体势能代替燃油来驱动汽车,从而实现汽车能量的回收再利用,达到节能的效果。同时由于汽车在起动或加速时能耗最大,如果汽车是用燃油驱动,则此时油料燃烧不充分,燃烧效果最差,而且产生的噪音最大。 系统工作原理 本系统主要由三部分组成,即检测部分,控制部分和执行机构。检测部分包括踏板位置传感器、曲轴位置传感器、压缩机活塞位置传感器、汽车运行速度传感器、储气罐压力传感器等信
[应用]
基于ARM9的快速对星装置设计与实现
   0 引 言   大中型卫星站均具有相应的、完善的天线跟踪伺服系统,天线伺服跟踪系统依据信标信号强弱,决定天线转向,驱动天线旋转,达到准确对星。随着通信技术和电子技术的发展,小型卫星站如车载站、便携站受机动性能和便携性能的局限,不可能采用大中型卫星站才能使用的伺服跟踪系统,采用不同原理,开发适用于小型卫星站天线的对星装置,具有现实意义。    1 系统概述   该装置通过GPS采集地理信息、电子罗盘采集姿态信息,根据GPS采集的地理信息,结合通信卫星位置,计算出对星所需要的标准方位、俯仰、极化参数,同时计算出当地、当年磁偏角数据;通过采集电子罗盘数据,得到初步方位、俯仰、极化数据,其中俯仰和极化均为天线实际指向值,
[嵌入式]
快速学Arm(7)--uC/OS-II微小内核提供的14个用户接口函数
这个系列的文章基本上记录了我学习的经过,我平时很忙,学什么东西都力争在最短的时间学到最多的东西.有时候因为太忙了,很多学习过程被中途打断,然后要隔一段时间才能重新再继续.学习方法对于我们掌握知识非常重要,我时常会抱怨下属或同事的学习速度慢,但又无法一下把经验传授出去.而且有些人的个人习惯也无法一下改变.现在技术发展很快,要学的东西很多,类似传统的学习方法肯定是跟不上时代的. 前几篇文章,我介绍了如何让我把运行的环境搭起来,这些学习的第一步,很多本本先生是不喜欢这一步骤的,因此他们永远把知识停留在书本上,理论上头头是道,实际却什么都做不了, 秀才 . 接下来,的想法是打开Sample,找到main()函数,同样,我们也不着急
[单片机]
ARM承认芯片漏洞:披露修复细节
  在谷歌安全研究人员曝光了影响整个 芯片 产业的CPU设计漏洞后, ARM 的Cortex系列处理器也未能逃过一劫。在一篇致开发者的博客文章中,该公司披露了三个已知漏洞的细节——其中两个与Spectre有关、第三个与Meltdown有关——此外还有第四个与Meltdown有关的“变种”。根据 ARM 公布的图表,该公司整个A-系列都易受Spectre的影响;至于Meltdown,则只有A75 芯片 才受影响。下面就随嵌入式小编一起来了解一下相关内容吧。   虽然A15、A57、以及A72 芯片 有可能受到Meltdown变种的影响,但 ARM 声称:“通常情况下,为这个问题进行软件移植是没有必要的”。   该公司特别指出,除已
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved