实时数据库的关键技术及未来发展前景

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实时数据库的关键技术及未来发展前景

摘要:作为数据库领域的一个重要分支。实时数据库弱化了关系型数据库的某些功能,通过采用专用的工业实时数据压缩算法以及特殊的历史数据存储索引机制,应对特殊的需求。

实时数据库推动了信息化从传统领域向新的领域扩展,向更高层次发展。这些新的领域包括生产实时监视、电力调度、交通监视及控制、实时仿真、作战指挥自动化等。

展望未来,在物联网领域实时数据库将会发挥更重要的作用。

关键词:实时数据库数据压缩算法信息化关系数据库物联网

中图分类号:TP311.133.2文献标识码:A文章编号:1007-9416(2014)04-0215-02

1引言

1.1实时数据库简介及应用背景

实时数据库作为一种特殊的数据库,早在十多年前就已经在国外的大型流程工业企业部署应用。随着网络、存储及计算技术的飞速发展,实时数据库广泛应用于电力、

钢铁、石油、石化、交通、航空、水利、环保等重要行业和领域,已经是工业领域信息化的核心基础软件,在“信息化与工业化融合”过程中发挥着重要作用。

1.2国内外主流实时数据库介绍

目前国内外市场上主流的实时数据库有:美国OSI公司的PI实时数据库,美国GE公司的IH实时数据库和美国印步公司的eDNA实时数据库。国产的有代表性的实时数据库有:上海麦杰的openPlant,北京中科启信的Agilor。

2实时数据库的主要特点及架构

2.1实时数据库的特点

实时数据库面向的应用领域有如下3个特点:

2.1.1单位时间内响应的数据量大

如:一个的火电厂的SIS系统使用实时数据库存储数据,同时需要处理的测点数超过了一万,这些测点的变化周期通常在1秒钟之内,也就是说,需要将超过一万点的数据在1秒钟之内保存到数据库中。

2.1.2存储数据量大

实时数据库的核心就是对大量的实时信息进行处理,由于成年累月的数据将占据大量的硬盘空间。假设同时处理对于1万点的系统,每1秒钟存储一次,每次单点占用8个字节,那么保存10年的数据量将有

10000*8*10*365*86400=25228800000000字节,接近

23TGB。

2.1.3时效性强

每个需要处理的测点的值都与时间相关,一秒钟之后的数据与一秒钟之前的数据可能就不一样了,因此,在保存测点值的同时,必须通过某种方法将其对应的时间也纪录起来。实时数据库一般由3大功能模块组成:

(1)测点信息库。测点是实时数据库的最小元素。实时数据库的测点容量一般为几万到几十万。每个测点对应一个现实的物理数据量,比如:某个物体的温度、某个导管的压力或者某个导体的电流。例如:测点“AI001”表示“出水管温度”。测点信息库里记录了所有测点的信息。每个测点必须有“名称”、“上限”、“下限”、“单位”、“描述”、“类型”、“是否压缩”等基本的字段。用户可以查

询、删除、插入、修改测点的信息。

(2)快照库。快照是测点最新的一个值。表示了测点的最新的状态。至少包含3个字段即VTQ:value、timestamp、quality。C语言定义结构体如下:

struct VTQ

{

float fval;

long timestamp;

byte quality;

};

例如:AI001的快照值为“120,2010-10-100:00:00,Good”

表示AI001测点即出水管温度的最新值为120,最新值的时间戳为“2010-10-100:00:00”,数据品质为“Good”。用户可以查询和更新某个测点的快照值。

(3)历史库。历史库中存储了每个测点以往的历史值。在存储前,数据一般都经过了过滤压缩,减少了存储的数据量。每个数据库都有自己的压缩算法:旋转门、死区压缩、趋势压缩等。用户可以查询某个测点某个时刻的历史值。

2.2实时数据库的外围模块

为了满足用户的现场需求,实时数据库一般提供企业管理器、Excel嵌入模块、组态工具、门户发布平台等基本模块。同时为了方便系统集成商进行二次开发,实时数据库都提供了二次开发包(SDK),用户可以使用API访问数

据库。

企业管理器:用户可以使用企业管理器配置管理数据库,具体操作包括:建立测点、删除测点、修改测点属性、查看测点快照值、查看测点历史值、编辑测点历史值、维护存档文件、查看数据库日志等。

Excel嵌入模块:由于实时数据库测点多,数据量大。

用户可以使用该模块通过表格的方式,浏览测点、查看历史数据。

API:Application Programming Interface,应用程序编程接口。用户使用C/C++语言调用API接口可以高效的访问数据库。实时数据库为了追求效率,没有采用传统的关系数据库的SQL语句访问方式,因为SQL语句访问方式需要经过SQL语法解析、语义解析、查询优化等步骤,效率远没有API方式效率高。

OPC:OPC(OLE FOR PROCESS CONTROL)是一个开放性的工业标准。OPC以COM/DCOM技术为基础,采用客户/服务器模式,为工业自动化软件面向对象的开发提供了统一的标准。采用这项标准后,硬件开发商将取代软件开发商为自己的硬件产品开发符合标准的OPC SERVER 程序,而软件开发者不用再关心硬件驱动方面的技术问题,只要按标准开发OPC CLIENT程序就可完成与硬件的连接,这样不但提高了系统的开放性,也提高了软件开发的效率。

3实时数据库数据压缩技术数据压缩,就是用最少的数据来表示信息,即将信息的一种表示方式转换为另一种表示方式,新的表示方式包含了相同的信息量,但是长度比原来的方式尽可能的短。

工业实时数据库中采用的数据压缩算法大多是有损的

专用数据压缩算法,如旋转门压缩算法等。部分实时数据库采用了无损压缩算法对数据进行二次压缩。

3.1旋转门压缩算法

旋转门压缩算法(SDT)可以理解为一种过滤算法。将不“重要”的记录过滤掉,只保留“重要”的关键记录。降低了其本质是通过一条由起点和终点确定的直线代替一系列连续数据点。该算法需要记录每段时间间隔长度、起点数据和终点数据,注意到前一段的终点数据即为下一段的起点数据。

其基本原理较为简单,参见图1。第一个数据点a上下各有一点,它们与a点之间的距离为E,这两个点作为“门”的两个支点。当只有第一个数据点时,两扇门都是关闭的;随着点数越来越多,门将逐步打开;注意到每扇门的宽度是可以伸缩的,在一段时间间隔里面,门一旦打开就不能闭;只要两扇门未达到平行,或者说两个内角之和小于180°,这种“转门”操作即可继续进行。图中第一个时间段是从a到e,结果是用a点到e点之间的直线代替数据点(a,b,c,d,e);第二个时间间隔从e点开始,开始时两扇门关闭,然后逐步打开,后续操作与前一段类似。

算法步骤:

(1)当考察当前测量值时,计算下面三个斜率:

相关文档
最新文档