用于过程控制的实时数据库

随着过程控制系统的不断发展,它们的软件应用程序变得更加复杂,并且经常需要及时访问和处理大量的数据。

通过控制工程人员 二三年八月十四日

随着过程控制系统的不断发展,它们的软件应用程序变得更加复杂,并且经常需要及时访问和处理大量的数据。通常认为,一个足够快的数据处理引擎,专门为一个系统创建,并与其代码紧密集成,将满足实时需求。但是,控制应用程序的输入数据必须经常跨所有数据对象和时间进行关联、合并或比较,以便进行过滤或分析。数据必须由具有不同功能、时序要求和重要性的并发任务共享。实时数据库系统(RTDBS)被越来越多地用于满足这些需求。传统数据库长期以来一直作为控制系统的后端存储库,而rtdss的不同之处在于它们集成在系统的实际实时流程中。

在一个结合实时数据库管理的典型工业控制系统中,每个设备检测现实世界的某些属性的值,并将它们提供给数据库。反过来,数据库提供各种系统事务执行其功能所需的信息。输入数据通过控制器的数据采集接口来自现场设备(传感器、变送器、开关等),通过控制器外部链路来自监控系统(PC、DCS、PLC),通过控制器间连接来自其他控制器。输出数据定向到现场控制和指示设备、监控系统和其他控制器。

实时和非实时系统使用的数据库之间最重要的区别之一是,传统的数据库管理系统旨在实现良好的吞吐量或平均响应时间,而实时数据库必须提供可预测的响应时间,以保证完成时间关键的事务。因此,此类数据库避免使用引入不可预知的延迟的组件,例如磁盘I/O操作、消息传递或垃圾收集。实时数据库往往被设计成内存数据库系统。它们完全放弃了磁盘I/O,并且它们的简化设计(与传统数据库相比)最大限度地减少了消息传递。如果更新的执行速度不够快,无法反映现实世界的事件,数据库中实时数据的有效性也可能受到影响。为了避免这种情况,最好的解决方案是完全能识别时间的事务管理器。至少,数据库设计应该提供一些事务优先级划分的方法。

内存数据库可以在微秒范围内实现可预测的响应时间。这些数据库是为在实时系统的恶劣环境下运行而设计的,对资源利用有严格的要求,能够提供实际控制应用所需的性能和可靠性。

本文由Arkady Kanevsky博士撰写,他是德克萨斯A&M大学和密西西比州立大学计算机科学系的兼职教员,同时也是实时MPI (MPIRT)论坛、直接访问传输(DAT)协作论坛和虚拟接口开发人员论坛(VIDF)的主席;以及Andrei Gorine, McObject的首席架构师,eXtremeDB实时数据库系统的开发者。

更多信息,包括内存数据管理白皮书,可以在www.mcobject.com

-大卫·格林菲尔德,编辑主任,dgreenfield@reedbusiness.com