智能建筑管理系统数据库模块的研究和设计

来源 :计算技术与自动化 | 被引量 : 0次 | 上传用户:zhangshun1025
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:随着信息技术的飞速发展,真正意义上的智能建筑管理系统应当采用Web技术且具有很强的开放性和通用性。提出基于子系统平等方式的智能建筑管理系统,并对其数据库模块,包括实时数据库、实时数据分发服务器、历史数据库、实时数据库与OPC的通信几个子模块进行深入的研究和设计。实际应用表明,该系统的数据库模块设计合理、实时性高、安全稳定性好。
  关键词:子系统平等;智能建筑;实时数据库;OPC;hash表
  中图分类号:TP311.13 文献标识码:A
  
  1 引言
  
  智能建筑管理系统(Intelligent Building Man-agement System)是信息时代和计算机技术应用的重要产物,其具体任务就是在物理上集成各子系统信息,集中监视各子系统、关键设备、关键监测点状态,执行集中管理控制指令,向数据库提供各子系统数据、图像信息,实现各子系统间的联动功能,并且协调优化各系统的运行,从而为建筑物提供安全、舒适、方便的生活条件和高效的工作环境,并保证其运行维护管理的经济性和智能化。
  
  数据库模块向上接受监控中心的控制指令,准确迅速地传递给各个子系统,达到控制设备运转的目的;向下数据库模块从现场控制网获取数据,对数据进行分析、处理,执行用户定义的子系统联动功能,保存历史数据。数据库模块的层次结构如图2所示。
  
  3.1 实时数据分发服务器
  实时数据分发服务器(RDDS)是实时数据库与Web客户端的数据通信接口。其功能是为浏览器端的页面表现提供数据分发服务,接收并转发客户端(访问、操作人员)下发的控制命令和事件记录。这里我们设计了基于Sockett的实时数据分发服务器,提供客户端与服务器之间的可靠无差错的数据传输。
  数据分发服务器与客户端之间的数据交互方式采用面向连接的TCP/IP流式套接字,通信双方接收数据通过多次握手完成,保证了数据传输的有效性。数据由操作功能信息码和操作数据信息两部分组成。接收方首先读取操作功能信息码,再根据操作功能信息码确定下一步读取操作中的数据类型和数据大小,以完成读取操作数据信息,保证了数据传输的安全性。操作功能信息码的各字段值由交互双方的操作类型决定。操作类型划分为客户端注册、客户端注销、客户端用户登录、客户端用户退出、信息点同步、分发状态数据和接收控制指令。操作数据信息的数据包结构如图3所示:
  
  如图5,实时数据库,OPC Client和分发服务器之间通过内存映射实现全局共享内存。OPCClient通过内存映射获得实时数据库点对象的指针,完成写,读,修改配置参数以及对数据的操作,包括添加、删除对象。由于系统包含的点对象数量庞大,需要使用hash表来记录点名与点对象的地址。本系统采用静态分配桶(hash链表长度)结合拉链的方法构造hash链表。拉链即将所有关键字为同义词的结点链接在同一个单链表中。hash表的结构如图6所示,纵向的为静态桶数据结构,横向的为hash node节点数据。
  以上的结构建立了点名与点内存地址的一个映射,这样通过点名就可以查询到点的内存地址,即点对象指针。本系统采用time33的hash算法,定义点名变量str,取hash初值为5381。核心代码为:
  hash =(hash<<5) (*str );
  用掩码取结果的有效位,得到最终的hash值。
  在多线程访问同一个数据对象的情况下必须要考虑冲突的解决问题。本系统采用对数据加锁 的方式,即访问数据必须先获得锁再进行操作。该算法构造一个和hash静态桶数组一样的一个BOOL型记录锁数组,访问时通过点名经过hash函数运算得到一个key及对应桶数组的位置。得到key后判断锁数组对应位置的BOOL型变量是否为0(没其他线程访问),如果为0则改为1(这个操作过程须为原子操作),如果为1(其他线程正在操作数据)则放弃剩余时间片,等到下个时间再判断是否锁已经开了,循环一段时间如果还没有开则放弃此次操作报警。经过测试,拉链长度16229静态桶,插入10000个随机字符串,最大拉链长度为7,一个记录锁最多锁住7个点,函数调用总时间不超过1.4秒。算法分布为:kong:8739,elements=10000,good=5426,second=1683,three=322.four=53,five=6。输出中的kong表示hash表的空桶数。elements表示hash表中一共存放了多少个元素,good表示“只有一个元素”的桶个数,sec-ond表示“有两个元素”的桶个数,three表示“有三个元素”的桶个数,four表示“有四个元素”的桶个数,five表示“有五个元素”的桶个数,函数调用总时间表示hash函数总的执行时间。以上测试表明,该算法能以较快的速度建立hash表,并能很好地组织点名与内存地址的映射关系,减少冲突问题的发生。
  
  
  3)OPC Server数据发生变化时,系统调用COM接口里面的回调函数OnDataChange(),通过实时数据库提供的接口,把更新的数据写入实时数据库。
  当有大量的客户和大量的数据进行交互的时候,采用这种异步通讯的方式可以避免客户端数据请求的阻塞,最大限度地节省CPU和网络资源,提高数据传输效率。
  
  3.4 历史数据库
  本系统使用SOL Server作为历史数据库的开发平台。历史数据库用于记录、保存和查询各种报警和操作事件、设备运行数据及故障情况。系统采用时间片结合缓冲区链表的方法将实时数据库里的数据写入历史数据库。具体实现办法是:缓冲区维护一个300条数据的链表,实时数据库不断将已更新的数据写入缓存区。一旦缓存区满或经过了一个时间片,系统就将缓存区里的数据追加到历史数据库里面。这样做的好处是能防止断电丢失缓存区里的数据且能提高数据的有效性和准确性。
  
  
  4 结束语
  
  本文提出了基于子系统平等的智能建筑管理系统,并对该系统的数据库模块,包括实时数据库、实时数据分发服务器、历史数据库、实时数据库与OPC的通信几个子模块进行了深入的研究和设计。基于流式套接字的分发服务器保证了数据传输的安全性、有效性和及时性;动态链接库和全局共享内存技术的应用提高了系统的实时性;hash表在点名和点的内存地址之间建立了快速有效的映射关系;子系统平等方式集成的特点以及OPC技术的运用使得各个异构子系统之间的无缝集成成为可能,解决了系统集成的伸缩性问题。
  目前该系统集成已在深圳某大厦得到了较好的应用。经测试,系统实时数据的传输时间≤1秒,控制命令的传输时间≤2秒,联动控制命令传输时间≤2秒。事实证明该智能建筑管理系统的数据库模块设计合理,实时性高,安全稳定性好。
其他文献
这次采访,最大的感受就是,像帅民这样的中国动漫人已经对动漫产业存在的问题和发展的方向有了较为透彻的认识和思考,并且已经将所思所想落实到有谋划,有步骤的行动上来。所以
从功能角度量化分析中国装配式建筑技术热点及创新趋势。结果表明:2001-2018年间,中国装配式建筑技术热点主要集中在主体结构的连接、安装集成、支护等方面,结构稳固技术是未
ucosll是基于优先级抢占式的实时内核,功能强大,提供了任务管理、时间管理、内存管理及任务之间的通讯和同步等功能,可移植、可裁减性强,已经成功应用到几百个商业应用中.本
三年前,全年毛收入不足4000万,广告收入只占内蒙古全区电视市场的1,3,无论是市场份额还是收视率,在全国35个省级卫视中排名倒数第三;如今,运行成本降低到了10%,净收入突破1亿,收视率跃
钢轨打磨柴油发电机组是一款安装在轨道打磨车厢内的柴油发电机组,为大型养路机械设备的打磨机提供额定电压600V、额定频率120Hz,对电压、频率瞬态调节和带不平衡负载能力要
一个典型就是一面弘扬正气、树立警威的旗帜。近几年来,贵州省黔东南苗族侗族自治州公安局交警支队高度重视先进典型的发现、挖掘、宣传工作,先后推出了“全国优秀人民警察”王卫平、“中国好交警”蒙培林、大山深处的交警中队、苗乡侗寨群众满意的车管所、“千户苗寨”景区安全“守护神”等一批时代气息浓、内涵挖掘深、宣传效果好、社会影响大的先进典型,通过讲好交警故事,传播工作亮点,弘扬了交警队伍的浩然正气,激发和调动
按照“十七大”精神,深化文化体制改革首先要把文化单位区分成公益性文化事业和文化产业两大类。对相当一部分行业报来说,未来之路要定位在文化产业上,即成为真正的市场竞争主体
2001年1月~2006年3月,任《经济观察报》总编辑;  2006年3月~2006年11月,任《经济观察报》社长;  2006年11月~2007年7月,任阳光媒体投资集团新媒体业务总裁兼《财经时报》社长;  2007年9月至今,任《第一财经周刊》总编辑    一本以周为出版周期的商业新闻杂志,在截稿日当天更改封面故事,会有怎样的急促、混乱?问题在何力心里一闪而过,没有停留。  2008年5月12
期刊
介绍了用 Visual L ISP语言在 Auto CAD中智能化标注表面粗糙度的方法 ,给出了具体的编程步骤
金融危机背景下,中国的传媒业面临着种种机遇和挑战,如何抓住机遇,寻求突围之路,成为中国传媒人共同关注的焦点。