一种实时数据库的空点补传方法与流程

文档序号:12597453阅读:709来源:国知局
一种实时数据库的空点补传方法与流程

一种实时数据库的空点补传方法,属于DCS数据库技术领域。



背景技术:

在DCS系统中,由各类仪表采集到的现场数据经过数采机上传到实时数据服务器内进行存储。但是,数采机出现故障或数采机与现场网络中断后,实时数据库则会丢失这段时间的数据,从而造成数据库内数据的“空点”,从而影响了数据库内数据的完整性。在现有技术中,包括ASPEN的INFOPLUS、美国OSI Software公司的PI以及国内的浙大中控ESP-iSYSt等系统中,均提出了数据的断点续传技术,但是解决的是数采机运行正常但上游网络或服务器故障时的数据缓存与补齐,但均未解决数采机故障和数采机与DCS之间故障时,采集点的空缺问题。



技术实现要素:

本发明要解决的技术问题是:克服现有技术的不足,提供一种解决了在数采机出现故障或数采机与现场网络中断时出现的数据库的数据空点,保证了数据库数据完整性的实时数据库的空点补传方法。

本发明解决其技术问题所采用的技术方案是:该实时数据库的空点补传方法,包括数据库服务器、数采机、DCS工程师站以及DCS历史站,数据库服务器连接多台数采机,每台数采机连接DCS工程师站或/和DCS历史站,其特征在于:包括如下步骤:

步骤1001,开始;

开始进行数据库的空点补传;

步骤1002,检查数据库的数据空点;

数据库服务器通过空点检查流程对数据库内数据空点进行检查;

步骤1003,是否存在数据空点;

数据库服务器判断数据库内是否存在数据空点,如果存在数据空点,执行步骤1005,如果不存在数据空点,执行步骤1004;

步骤1004,空点表内是否存在数据;

数据库服务器判断空点表内是否存在数据,如果存在数据执行步骤1006,如果空点表内不存在数据,返回步骤1002;

步骤1005,填写空点表;

数据库服务器将数据空点的信息写入空点表,形成空点表内的数据空点记录;

步骤1006,按照时间、位号完成数据的采集;

数据库服务器主动控制数采机,通过数采机从DCS工程师站或DCS历史站上重新读取空点表内数据空点的信息对应的数据,然后将读取到的数据进行上传,送至数据库内空点表所标定的位置;

步骤1007,完成数采的点在空点表中消除;

通过数采机将数据库内的数据空点补传完成之后,数据库服务器将完成补传的数据空点的记录从空点表内清除,完成数据补传后,返回步骤1002。

优选的,步骤1002所述的空点检查流程,包括如下步骤:

步骤2001,开始;

数据服务器开始对数据库进行空点检查;

步骤2002,获取上次无数据空点的时间T0

数据库服务器读取得到数据库内上次无数据空点的时间T0

步骤2003,获取当前时间T1

数据库服务器获取当前系统的时间T1

步骤2004,数据库服务器1确定是否到达预设定的检查周期;

数据库服务器系统时间T与上次无数据空点时间T0的时间差,计算是否达到预设定的检查周期,如果到了预设定的检查周期,执行步骤2005,如果尚未到达预设定的检查周期,返回步骤2003;

步骤2005,检查数据库内晚于T0的数据有无数据空点;

数据库服务器检查时间T0之后的数据中有无数据空点;

步骤2006,是否存在数据空点;

数据库服务器判断数据库内是否存在数据空点,如果存在数据空点,执行步骤2007,如果不存在数据空点,执行步骤2008;

步骤2007,填写空点表;

数据库服务器将数据空点的信息写入空点表,形成空点表内的数据空点记录;

步骤2008,将T0赋值为T1

数据库服务器将时间T0赋值为T1作为新的无数据空点时间T0,并存入数据库。

优选的,步骤1005中所述的数据空点的信息包括数据空点的时间以及数据空点的位号。

优选的,在所述的数据库内设置有用于记录数据库无数据空点时间的数据表DBF1。

优选的,设置有所述的数据库服务器、数采机以及DCS工程师站或/和DCS历史站共同参照的时间同步服务器。

优选的,所述的检查周期设置为30min~90min。

优选的,所述的空点表为位于数据库内的用于存储数据空点信息的数据表。

与现有技术相比,本发明所具有的有益效果是:

1、本发明的实时数据库的空点补传方法,解决了当数据库出现数据空点,特别是因数采机出现故障或数采机与现场网络中断出现空点的问题,实现了数据空点的数据补传,保证了数据库内数据的完整性。

2、本发明的实时数据库的空点补传方法中数据空点的查询由数据库服务器主动发起,与现有技术的数据续传技术相比,不要求必须有上位机的参与,补传过程更为简单、可靠。

设置有时间服务器,保证了数据的可靠性。

3、通过设置数据表DBF1,可以记录上次无数据空点的时间,避免了数据服务器的重复性劳动,减少了资源的浪费,节约了每次数据空点检查的时间。

附图说明

图1为现有技术DCS数据库系统结构示意图。

图2为实时数据库的空点补传方法流程图。

图3为实时数据库的空点补传方法空点检查流程图。

其中:1、数据库服务器 2、数采机 3、DCS工程师站 4、DCS历史站。

具体实施方式

图1~3是本发明的最佳实施例,下面结合附图1~3对本发明做进一步说明:

如图1所示,在现有技术的DCS数据库系统中,包含有以下几层:数据库服务器1、数采机2、DCS工程师站3以及DCS历史站4。数据库服务器1同时连接多台数采机2,每台数采机2根据现场需要连接一台或多台DCS工程师站3或DCS历史站4连接。在实际工作中,由DCS工程师站3或DCS历史站4接收现场的实时数据,然后数采机2对DCS工程师站3或DCS历史站4接收到的现场数据进行采集,然后上传至数据库服务器1内进行保存。但是,在实际运行时,一旦数采机出现故障或数采机与现场网络中断后,实时数据库则会丢失这段时间的数据,影响了数据库内数据的完整性,同时对生产管理造成影响。

如图2所示,本实时数据库的空点补传方法,包括如下步骤:

步骤1001,开始;

开始进行数据库的空点补传;

步骤1002,检查数据库的数据空点;

数据库服务器1通过空点检查流程对数据库内数据空点进行检查;

步骤1003,是否存在数据空点;

数据库服务器1判断数据库内是否存在数据空点,如果存在数据空点,执行步骤1005,如果不存在数据空点,执行步骤1004;

步骤1004,空点表内是否存在数据;

数据库服务器1判断空点表内是否存在数据,如果存在数据执行步骤1006,如果空点表内不存在数据,返回步骤1002;

步骤1005,填写空点表;

数据库服务器1将数据空点的时间和位置填写到空点表内,形成空点表内的数据空点记录;

空点表为数据库内专门存放数据空点的空点时间和位置的数据表,当其中有数据时,表示数据库内存在数据空点。

步骤1006,按照时间、位号完成数据的采集;

数据库服务器1主动控制数采机2,通过数采机2从DCS工程师站3或DCS历史站4上重新读取空点表内相应位号、时间所对应的数据,然后将读取到的数据进行上传,送至数据库内空点表所标定的位置;

步骤1007,完成数采的点在空点表中消除;

通过数采机2将数据库内的数据空点补传完成之后,数据库服务器1将完成补传的数据空点的记录从空点表内清除,完成数据补传后,返回步骤1002。

数据库服务器1按照预定周期对数据库内的数据空点进行检查,设定的检查周期如果过短,则意味着检查频率较高,会消耗过多的服务器资源,影响服务器的运行效率和响应速度;如果设定的检查周期过长,则意味着检查频率较低,会使空点数据得不到及时的补充,影响数据的完整性。综上所述,在实际运行时,将检查周期设定为1小时较为合适。

由上所述可知,数据空点的数据补传是以时间和位号来发起数采请求的,如果控制系统、数据库服务器1未进行时间同步,就无法实现基于时间和位号的历史搜索,即使搜索到了相关数据,数据也不可信。因此在本实时数据库的空点补传方法中,设置有使数据库服务器1、数采机2以及DCS系统共同参照的时间同步服务器,通过该时间同步服务器实现时间同步之后,当数据库服务器1发现某一时刻某一点的数据有问题后,由数采机2读取到的数据才是可送入数据库内的准确定位可信的数据。

同时,本实时数据库的空点补传方法中数据空点的查询由数据库服务器1主动发起,与现有技术的数据续传技术相比,不要求必须有上位机的参与,补传过程更为简单、可靠。

设置有时间服务器,保证了数据的可靠性。

在数据库服务器进行空点检查时,不能无节制地全库搜索,否则会影响数据库的效率,如图3所示,空点检查流程,包括如下步骤:

步骤2001,开始;

数据服务器1开始对数据库进行空点检查;

在数据库内,另外设置有一个数据表,即为DBF1,数据表DBF1用于记录上次数据库服务器1对数据库进行检查时无数据空点的时间,并将该时间即为T0,因此每次进行检查时,如检查到存在数据空点,都将相应的数据空点进行了补传,因此时间T0即为上次进行数据库检查的时间。

步骤2002,获取上次无数据空点的时间T0

数据库服务器1读取数据表DBF1,得到数据表DBF1内记录的数据库上次无数据空点的时间T0

步骤2003,获取当前时间T1

数据库服务器1获取当前系统的时间T1

步骤2004,数据库服务器1确定是否到达预设定的检查周期;

数据库服务器1通过计算时间T与时间T0的时间差,计算是否达到预设定的检查周期,如果到了预设定的检查周期,执行步骤2005,如果尚未到达预设定的检查周期,返回步骤2003;

步骤2005,检查数据库内晚于T0的数据有无数据空点;

数据库服务器1检查时间T0之后的数据中有无数据空点;

步骤2006,是否存在数据空点;

数据库服务器1判断数据库内是否存在数据空点,如果存在数据空点,执行步骤2007,如果不存在数据空点,执行步骤2008;

步骤2007,填写空点表;

数据库服务器1将数据空点的时间和位置填写到空点表内,形成空点表内的数据空点记录;

步骤2008,将T0赋值为T1并存入DBF1;

数据库服务器1将时间T0赋值为T1,将系统当前时间T1记为新的无数据空点时间,并将新的时间T0存入数据表DBF1。

以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1