实时数据库的远程更新与远程检索
——再谈实时数据库的性能指标
当今以实时数据库为核心的实时信息系统必定是分布式的实时信息系统,实时数据库的更新与检索自然也就是远程的,实时数据库的数据源在现场,或者说在DCS系统中;实时数据库的用户更是分布在网络上的。一个通常的共识是实时数据库的核心是长驻内存的数据结构。实时数据库的更新简单说来就是数据从DCS的实时数据库的内存到实时信息系统的实时数据库的内存,这种实时数据库的更新的速率,或者说一台计算机内存到另一台计算机内存的数据交换的速率,主要取决与网络实时通信的速率,而网络实时通信的速率主要取决网络通信使用的是何种协议和何种方式,与网络的本身的速率(10M/100M/1000M)关系甚小,而且与有关计算机是否双核、CPU的速度以及内存大小几乎无关。所谓"实时数据位号查询平均数量大于28万位号/秒"等说法是十分不科学的,因为该说法没有说明查询是以什么方式,本地还是远程,是在本地内存到内存,还是服务器的内存到系统客户端的内存。
1. NSIS实时数据库的更新与检索
实时数据库的检索主要发生在实时信息系统的实时数据库的内存与客户端计算机的内存之间,其通信速率与实时数据库的更新是一致的。NSIS实时数据库的更新与检索是基于TCP/IP的会话层协议的,或者说是计算机的内存数据之间通过计算机网络直接交换。这种数据交换或通信速度是极高的。既然是基于会话层的,所以表示层和应用层的协议必须自己定义,这就是NSIS网络协议。换句话说,基于文件的网络上层协议如FTP、HTTP等在NSIS实时数据库的更新与检索中是不使用的。即数据从DCS内存—>NSIS实时数据库内存—>客户端内存,就是NSIS实时数据库的更新与检索的全部内容,这里没有任何文件的概念。即使在B/S模式的NSIS实时信息系统的数据库的更新与检索也没有使用高层协议。
NSIS网络协议还支持同步和异步两种方式,我们将在“分布式C/S模式的实时信息系统”中讨论。
2. NSIS实时数据库层次结构与更新与检索的关系
我们说过,NSIS实时数据库是多维的树状结构,这种分层次的结构对于实时数据库的更新与检索是十分科学的。首先这种结构自然是分组的,如果实时数据库与DCS中OPC的分组一致的话,NSIS实时数据库的更新是极其方便和快速的;这种层次结构使NSIS实时数据库的检索也变得方便和迅速,例如:
更新:某厂某装置的所有实时数据一次更新;
检索:某厂某装置当前时刻的全部实时数据;
检索:某厂某装置过去某时刻的全部实时数据,等等。这些更新和检索的执行通常是几毫秒内完成。
总之,如同OPC的分组把对位号的检索(这通常是低效率的),变成通过实时数据的内存地址对数据的更新与检索一样,这就是NSIS实时数据库高效率的秘密!
3.NSIS实时数据库性能指标
NSIS实时数据库性能指标主要是“系统实时响应周期”,即:从DCS的实时数据变化,到实时系统的客户端显示的数据跟随变化的最长周期(更正:应该是最长周期,上文是最短周期,笔误!),例如NSIS实时数据库的系统实时响应周期定为2秒,就是DCS的实时数据变化到系统客户端跟随变化的最长周期为2秒。按照NSIS实时数据库的更新与检索的机理,这一指标还可以远远超过,甚至到毫秒级,仅仅是上层应用系统无此必要。系统实时响应周期2秒是某些进口的所谓实时数据库望尘莫及的!
“系统实时响应周期”与实时数据库的数据容量无关,不管数据量多少,都必须服从“系统实时响应周期”这个根本性能指标。在当今计算机的速度和容量都不是问题的前提下,讨论实时数据库的容量是没有意义的,除了某些进口的所谓实时数据库按容量卖钱的骗人把戏!
黄嘉珀
2007-12-7 9:00