|
数据库间进行通讯时,如果网络出现故障,或者数据库退出后重新启动,服务端能够暂存断线期间的历史数据,并将之自动恢复到客户端。
数据恢复的设定
在缺省情况下,该功能被禁止。要启动该功能,要在数据源定义中进行如下设置。
(在数据请求方定义)

单击高级选项按钮,出现如下对话框:

在数据恢复时间中输入服务器维护断线期间数据的最长时间。超过该时限,服务器将放弃保存的数据。这样可以避免服务器因故障时间过长而保存大量的数据。
注意:该值过大可能造成系统较大开销,如果数据库间连接的点数较多,且数据变化速度较快,该值不要过大。
更新方式有两种,变化通知和周期查询。变化通知即将所有的数据变化都通知给客户;而周期查询是按照周期中指定的时间进行查询。周期查询的缺点是,客户的不到一个查询周期内的数值连续变化过程。变化通知的缺点是可能数据变化太快,造成通信开销过大。
在断线情况下,两种方式的数据恢复处理是有差别的。在变化通知方式下,服务器会将所有数据变化都保存下来,而周期查询是按照指定的周期保存数据。
对于数据量大(存储历史的点较多,不保存历史的点不计)、且变化速度较快的情况,建议使用周期查询方式;反之可以使用变化通知方式。
对远程服务器的请求可能由于网络传输的原因,客户端请求的数据和服务器端应答的数据能确保数据一定每次都能准确及时传输。这时可以设定一个时间范围,如果大于该时间范围没有返回,则认为当前的请求已经无效。这个时间设定应该在一个合理的范围之内,一般的,网络传输速度较快,时间可以较短如3秒,而串口和拨号方式相对时间要长一些如30秒。时间太长或太短,都会导致刷新速度较慢。
服务器只有检测到客户断线时间超出该值之后,才为其保存数据,以待恢复。
服务器的保护
因为客户可能长期处于停止状态,所以服务器不可能无休止的为客户保存故障期间的数据。为了避免服务器数据存储量过大,一是可以减小客户端中故障恢复时限,二是在服务器数据库系统参数中指定“数据恢复文件的最大容量”,见下图所示:

|