实时数据处理是指计算机对现场数据在其发生的实际时间内进行收集和处理的过程。在实时数据处理的过程中,实时数据库首先要提供高速的数据采集和数据处理,为了适应不同的集成系统,实时数据库要提供高精度的存储格式:对实数型数据点采用双精度表示,对于整数型数据点采用四字节长整型,对时间的存储也必须表示到毫秒一级,时间戳的存储要采用
格林威治标准时间以避免时区和夏令时所带来的问题。
基本介绍
实时数据是监测系统中最重要的组成,实时数据是一种带有时态性的数据,与普通的静止数据最大的区别在于实时数据带有严格的时间限制,一旦处于有效时间之外,数据将变得无效。但随着时间的推移,实时数据会变成历史数据并存储下来以备以后使用。
如果需要实时数据处理,
解码器必须能够与相关的数据速率相适应。这可以用
延时作为代价来实现,例如,当对一个序列解码时,下一个序列在缓冲。在某些情况下,解码延时会变得很明显,尤其是如果它是可变的话。前向
纠错需要解码延时,大多数情况下,延时取决于所发生的具体错误。不过,通常会有一个确定的最大延时,这个值是不能超出的。对解码后的信息进行缓冲,直到最大的延时过期,这种方法可以产生平缓的信息流到达终端。决定延时的两个主要因素是
数据速率和码长度。信息论告诉我们,长码较为理想,但是对于许多应用来说.长的延时并不理想。所以最大的可接受的延时可能对能够使用的码长度有所限制。
如果不能确定最大的解码延时,那么
解码后信息将会经历可变的延时,这会对实时信息造成严重的破坏。展示可变延时的一个主要的差错控制策略是
ARQ,因为我们不能保证哪次重传一定会成功。这些问题可以通过使用合适的ARQ/FEc的混合方案来将破坏降至最低。
一致性
一般来说,
数据对象可以理解为三个分量(X,Y,Z)。其中X为当前的数据对象值,Y为数据对象的更新时间间隔,Z为上层实体对象状态变化的时间间隔。实时数据对象具有三个不同的层级以满足数据的一致性。
内部层级
在系统内部,数据对象与静态数据在
关系数据库中的存储模式类似。
外部层级
在系统外部,数据对象对应的上层实体状态变化的时间间隔是由系统的当前时间与数据对象的更新时间间隔共同决定的。
相互关系层级
在系统相互关系层级上,由于内部数据对象更新的时间间隔与外部实体对象是相同的,且数据对象被导出的周期也是相同的,因此内部数据对象与外部数据对象之间严格满足一一映射机制。
采集
直接数据采集
直接数据采集是直接从分布式控制系统中采集到的
实时数据。在这种模式下,
数据采集计算机大多数放在办公室或是信息管理部门等非采集现场。计算机中内嵌有采集程序,通过相连的计算机网络与
分布式控制系统建立连接并接收数据。
目前,这些分布式控制系统都有一种或是多种的标准数据接口,如
ODBC(开放式数据库互连)、
DDE(动态数据交换)、
OLE(对象链接与嵌入)等,使用标准的
SQL语言或高级语言进行简单的编程,即可采集所需的实时数据。若在数据采集计算机中安装有实时数据库系统,则可以通过简单的配置,直接将数据采集到实时数据库中。
这种数据采集模式的特点主要有:
(1)通用性好。采用标准数据接口,常见的操作系统和开发工具都支持。
(2)实时性好。直接从
分布式控制系统采集数据,速度快,延迟少。
(3)易于实现。只需简单的编程甚至完全不需要编程就可以实现,使用简单。
(4)安全性差。上层计算机网络直接与底层分布式控制系统网络连接,势必产生一定的安全隐患。
(5)灵活处理性差。直接数据采集,对数据格式、数据的有效性等基本上不作处理,不能直接用于一些基于这些数据的应用软件。
间接数据采集
间接数据采集是指数据采集计算机不直接与现场分布式控制系统通信,而是在分布式控制系统之上放置一台计算机(
上位机),上位机通过分布式控制系统提供的接口采集实时数据,现场之外的数据采集计算机与上位机通信,取得所需要的数据。在这种模式中,实际上存在两个数据采集过程,如下所示:
(1)上位机与分布式控制系统之间。
上位机通过网卡挂在
分布式控制系统的控制网格上,与现场分布式控制系统的数据接口通信。接口分为硬件接口和软件接口两种情况。
硬件接口是指通过专门的硬件实现系统连接和数据采集。在分布式控制系统中提供一块专用卡件,通过适当的网络参数设置(IP地址、路由器等),使之成为分布式控制系统网络中的一个节点,通过特定的端口对分布式控制系统中的数据库进行访问和修改。在实际应用中,一般需在上位机上编制程序,使用
TCP/IP协议,通过特定端口向分布式控制系统传送特定文本信息,硬件接口设备就会以文本形式向上位机返回相应的数据、状态等信息。
软件接口是指通过在上位机中运行
分布式控制系统提供的专用软件来实现与分布式控制系统的数据通信,系统提供的数据采集方式基本以
DDE、
OLE、
ODBC等为主。很明显,这种软接口方式与上面所说的直接数据采集方式基本相同,不同的是上位机同分布式控制系统一同放在现场,其所有的数据采集软件是分布式控制系统提供的。
(2)上位机与数据采集计算机之间。
无论是硬件接口还是软件接口,上位机对所采集上来的数据一般有两种处理方式,一是数据以特定的格式(数据库、电子表格或文本文件等)放在本地硬盘中,由远程的数据采集计算机定时将数据取走;另一种是上位机定时将采集的数据“主动”发送到数据采集计算机或其它指定的位置上。
不管是哪种方式,一般都需要编写相应的程序放在上位机或
数据采集计算机中,以实现定时“取数据”或“送数据”的操作。这里将涉及操作“引发”问题,常用的解决方法有计时器方式,即在程序中设置一个计时器,根据实际需要设置适当的时间间隔,实时数据的定时“发”或“送”;另一种是“
触发器”方式,即将数据的更新作为触发器,一旦上位机中的数据更新,立即引发程序将最新的数据“发”或“送”到数据采集计算机中。
这种间接数据采集的特点主要有:安全性高、灵活性好、接口统一、延迟较大。
融合
数据融合是一个多级、多层面的数据处理过程,主要实现对来自多个信息源的数据进行自动检测、关联、相关、估计及组合等处理。
数据融合将不同传感器接收的信息经过融合得到对目标状态或目标特征的判定。在数据融合中,常常会用到一些数据融合的算法,但是每个算法都会存在或多或少的缺陷,因此需要不断地探索新的算法。
带反馈的实时数据融合算法
该算法主要解决目前在融合过程中的实时性要求。该算法主要强调对于不同类别的数据需要进行实时的自适应分级,将紧急数据迅速融合并传输给用户,做到延时和融合效率的折中。
加权滤波实时数据融合算法
该算法首先利用数据间支持度函数矩阵,进行多组数据的加权融合,之后将融合结果替代滤波值进行
卡尔曼滤波,从而实现多组测量数据的实时动态融合数据。该算法使用了数据间支持度矩阵算法和卡尔曼滤波的优点,在不需要数据先验知识的同时,又达到了实时性的
数据融合的要求。
数据融合系统的核心部分就是数据融合算法,通过算法完成对数据流的周期性更新,不断更新的数据流不但一直为样本注入新鲜血液,同时由于
数据流的随机性,也同样会保持样本权值的多样性。因此,需要对现有的算法去粗取精,研究出更加实用、更加有效的精准算法。相信随着技术的不断发展,这项重要技术会越来越成熟。
存储
数据经过采集、处理后需要对其进行存储以方便人们对其进行查询、分析等操作。在选择存储器件时,需要考虑读取的方便性、快速性以及实时性。现今主要使用NAND FLASH存储,这种结构最大的优点在于容量可以做得很大,满足实时性的要求。
现今在设计存储时,主要采用双存储设计,即使用两片
FLASH芯片存储采集数据。该器件内部“写控制器”具有自动编程和擦除功能,内部包含一个页的数据存储器,读写的过程中先将存储
单元数据或外部数据缓存到
数据寄存器中,然后再将数据读出或写入存储单元中。采用2片的设计,保证了系统的可靠性,即如果将其中一个FLASH出现问题,另一个
FLASH可以正常运行,并且可以任意读取任何一个存储器的数据,提高了系统的灵活性,高速性。