法律状态公告日
法律状态信息
法律状态
2019-12-06
授权
授权
2016-09-07
实质审查的生效 IPC(主分类):G06F17/30 申请日:20160314
实质审查的生效
2016-07-27
公开
公开
技术领域
本发明属于工业DCS(分布式控制)系统信息处理技术领域,涉及用于核电站的历史存储方法。
背景技术
由于核电厂DCS需要,现在核电厂使用DCS工业数据库存储数据存储存在以下缺点:
1)现在DCS工业历史库存储点项结构,只能按照点的数值项、点的质量戳结构进行存储;
2)现在DCS工业数据库只能按照固定周期收集DCS点数据并且存储DCS数据;
3)点项类型只允许一种数据类型(即:单精度浮点型)。
为了解决以上三个问题,需要设计一种工业历史库可以支持数据库多点、多项、多周期、多类型存储数据;存储结构与存储算法、检索算法分离。
发明内容
本发明提供一种用于核电站的历史存储方法,历史库主要分为记录点数据、管理数据、工业过程数据,其中,记录点数据用于记录历史库点的配置元数据,包括点的记录周期、存储点项、点项类型;管理数据用于记录历史库点实时数据归档文件信息、记录数据存储方式,管理数据辅助数据检索操作;工业过程数据是历史库点的实时数据归档文件。历史库点按照每个点采集周期存储点实时数据。
进一步地,历史库按周期存储数据文件具体包括:点类型描述文件、点索引表文件、记录点数据文件,其中,点类型描述文件用于记录点项描述信息,点项描述信息有项类型、项名称、项数据位掩码,其中,项数据位掩码用于实现多个位数据类型的点项合并为一个或者几个字节;点索引表文件用于记录历史库中所有点信息,记录点信息包括点名、点ID、点采集周期、点归档数据位置偏移量、点类型ID版本,其中点类型ID版本用于检索点类型描述文件;记录点数据文件用于记录工业控制过程数据,文件中记录的信息包括点表版本号、记录开始时间、记录时间长度、存储算法版本、检索算法版本、点项数据,其中点表版本号用于检索点索引表文件。
进一步地,历史库按触发事件存储数据文件具体包括:分点类型描述文件、数据存储文件,其中,点类型描述文件用于记录点项描述信息,点项描述信息包括项类型、项名称、项数据位掩码,其中项数据位掩码用于实现多个位数据类型的点项合并为一个或者几个字节;数据存储文件用于存储触发时间存储数据文件,数据按页存储。
进一步地,历史库按组件功能包括:存储类组件、查询类组件、检索类组件,其中,存储类组件分为周期收集数据驱动、触发事件收集数据驱动、调度控制组件、数据存储组件、数据归档组件;查询类组件分为远程进行间通信RPC服务组件、查询请求服务组件、查询归档文件组件;检索类组件分为按触发事件点索引表版本树字典、按周期存储点索引表版本树字典、数据缓存;其中,存储类组件用于实现点数据的收集、存储;查询类组件用于实现对点数据的查询,查询分为两部分缓存数据查询、归档数据文件查询。
进一步地,历史库启动初始化流程包括:启动初始化、加载下装点表文件、判断版本是否有改动、生成版本树节点,生成点类型描述文件、点索引文件、加载点类型描述文件、点索引文件、生成版本树节点、生成数据缓存、计算点项数据偏移、启动采集驱动、点表分组采集、启动采集线程、归档线程、启动查询服务、结束初始化。
进一步地,周期收集点数据流程包括:接收系统时钟触发信号,激活50ms定时器、触发累加器、判断是否满足本周起采集点组、根据点索引表取出点组、读取点数据、获得当前版本对应点表、点数据放入缓存、判断缓存数据是否已满、进行数据归档、判断是否存在下一点组、初始化缓存区。
进一步地,触发收集点数据流程包括:接收数据源触发信号、解析触发过来数据包、点数据写入缓存、判断数据页是否已满、创建新的数据页、判断时间是否为到当天结束、归档当天触发点数据、重新初始化缓存区。
进一步地,查询服务具体包括:接收查询请求、判断请求查询包是否正确、解析查询包、返回请求包错误、判断点是周期存储方式还是触发存储方式、解析周期存储点、判断数据是否在缓存中、在缓存中查询数据、检索数据文件、判断是否本次查询结束、判断版本树中此数据文件版本号与当前版本的版本号是否一致、解析数据文件、根据数据文件版本加载点索引表、点类型描述,生成版本书节点、解析触发存储点、判断数据是否在缓存中、在缓存中查询数据、检索数据文件、判断是否本次查询结束、判断版本树中是否此数据文件版本号与当前版本的版本号是否一致、解析数据文件、根据数据文件版本加载点索引表、点类型描述,生成版本书节点、返回查询结果。
采用本发明的用于核电站的历史存储方法,可以实现以下功能:
1.实现历史库不同点类型的多点项的存储功能;
2.实现历史库不同数据类型的存储,可以根据工作应用特性选择需要的数据存储类型;
3.实现历史库多点多周期收集数据,并且存储数据。
说明书附图
图1历史库框图
图2按周期存储数据文件关系图
图3按触发时间存储数据文件关系图
图4历史库运行状态组件关系图
图5历史库初始化流程图
图6周期收集点数据流程图
图7触发收集点数据流程图
图8查询流程图
具体实施例
为了使本发明的发明目的、技术方案及其技术效果更加清晰,以下结合附图和具体实施方式,对本发明进行进一步详细说明。应当理解的是,本说明书中描述的具体实施方式仅仅是为了解释本发明,并非为了限定本发明。
如图1所示,历史库主要分为记录点数据、管理数据、工业过程数据。
1.记录点数据主要用来记录历史库点的配置元数据,如:点的记录周期、存储点项、点项类型等。
2.管理数据主要用来记录历史库点实时数据归档文件信息、记录数据存储方式,管理数据辅助数据检索操作。
3.工业过程数据主要指历史库点的实时数据归档文件。历史库点按照每个点采集周期存储点实时数据。
图2为历史库按周期存储数据文件关系图,历史数据文件分为:点类型描述文件、点索引表文件、记录点数据文件。
1.点类型描述文件主要记录点项描述信息,点项描述信息有项类型、项名称、项数据位掩码。其中,项数据位掩码主要实现多个位数据类型的点项合并为一个或者几个字节的作用。点类型描述文件的文件名命名规则:Frm[类型ID]_[版本号].frm,如:点类型A的类型ID是25,版本号为10,则点类型描述文件命名为:Frm25_10.frm。
2.点索引表文件主要记录历史库中所有点信息,记录点信息包括:点名、点ID、点采集周期、点归档数据位置偏移量、点类型ID版本;其中点类型ID版本主要用来检索点类型描述文件。点索引表文件的文件命名规则:Index[版本号].inx,如:历史库中点数被修改了,版本号为26,则点索引表文件命名为:Index26.inx。
3.记录点数据文件主要记录工业控制过程数据。文件中记录的信息包括:点表版本号、记录开始时间、记录时间长度、存储算法版本、检索算法版本、点项数据。其中,点表版本号主要用来检索点索引表文件。记录点数据文件命名规则:[日期目录][时间].dat,如:以30分钟一个记录数据文件,2014-7-1616:10:15时刻的数据存储在2014_07_1616_00_00.dat文件中。
图3为触发事件存储数据文件关系图,主要分点类型描述文件、数据存储文件。
1.点类型描述文件主要记录点项描述信息,点项描述信息有项类型、项名称、项数据位掩码。其中,项数据位掩码主要实现多个位数据类型的点项合并为一个或者几个字节的作用。点类型描述文件的文件名命名规则:Frm[类型ID]_[版本号].frm,如:点类型A的类型ID是25,版本号为10,则点类型描述文件命名为:Frm25_10.frm。
2.数据存储文件主要存储触发时间存储数据文件。数据按页存储。文件的名称规则:[日期目录]digit.dat,因为一天只产生一个开关量数据文件,所以日期目录下只有一个开关量文件。
图4为历史库运行状态组件关系,按组件功能可以分为三类:存储类组件、查询类组件、检索类组件。存储类组件分为周期收集数据驱动、触发事件收集数据驱动、调度控制组件、数据存储组件、数据归档组件;查询类组件分为RCP服务组件、查询请求服务组件、查询归档文件组件;检索类组件分为按触发事件点索引表版本树字典、按周期存储点索引表版本树字典、数据缓存。
1.存储类组件主要实现点数据的收集、存储。
2.查询类组件主要实现对点数据的查询,查询分为两部分缓存数据查询、归档数据文件查询。
图5为历史库启动初始化流程,具体包括:
步骤501,启动初始化;
步骤502,加载下装点表文件;
步骤503,判断版本是否有改动,是则进入步骤504,否则进入步骤505;
步骤504,生成版本树节点,生成点类型描述文件、点索引文件,进入步骤506;
步骤505,加载点类型描述文件、点索引文件、生成版本树节点,进入步骤506;
步骤506,生成数据缓存;
步骤507,计算点项数据偏移;
步骤508,启动采集驱动;
步骤509,点表分组采集,进入步骤510;
步骤510,启动采集线程、归档线程,进入步骤512;
步骤511,启动查询服务,进入步骤512;
步骤512,结束初始化。
图6为周期收集点数据流程,具体包括:
步骤601,接收系统系统时钟触发信号,激活50ms定时器;
步骤602,触发累加器;
步骤603,判断是否满足本周起采集点组,是则进入步骤604,否则返回步骤601;
步骤604,根据点索引表取出点组;
步骤605,读取点数据;
步骤606,获得当前版本对应点表;
步骤607,点数据放入缓存;
步骤608,判断缓存数据是否已满,是则进入步骤609,否则进入步骤610;
步骤609,进行数据归档,进入步骤611;
步骤610,判断是否存在下一点组,是则返回步骤604,否则返回步骤601
步骤611,初始化缓存区,进入步骤610。
图7为触发收集点数据流程,具体包括:
步骤701,接收数据源触发信号;
步骤702,解析触发过来数据包;
步骤703,点数据写入缓存;
步骤704,判断数据页是否已满,是则进入步骤705,否则进入步骤706;
步骤705,创建新的数据页,进入步骤706;
步骤706,判断时间是否为到当天结束,是则进入步骤707,否则返回步骤701;
步骤707,归档当天触发点数据;
步骤708,重新初始化缓存区,返回步骤701。
图8为查询流程图,具体包括:
步骤801,接收查询请求;
步骤802,判断请求查询包是否正确,是则进入步骤803,否则进入步骤804;
步骤803,解析查询包,进入步骤805;
步骤804,返回请求包错误,返回步骤801;
步骤805,判断点是周期存储方式还是触发存储方式,如果是周期存储方式进入步骤806,如果是触发存储方式进入步骤807;
步骤806,解析周期存储点;
步骤8061,判断数据是否在缓存中,是则进入步骤8062,否则进入步骤8063;
步骤8062,在缓存中查询数据,进入步骤8064;
步骤8063,检索数据文件,进入步骤8065;
步骤8064,判断是否本次查询结束,是则进入步骤808,否则返回步骤8061;
步骤8065,判断版本树中是否此数据文件版本节点,是则进入步骤8066,否则进入步骤8067;
步骤8066,解析数据文件,进入步骤8064;
步骤8067,根据数据文件版本加载点索引表、点类型描述,生成版本书节点,进入步骤8066;
步骤807,解析触发存储点;
步骤8071,判断数据是否在缓存中,是则进入步骤8072,否则进入步骤8073;
步骤8072,在缓存中查询数据,进入步骤8074;
步骤8073,检索数据文件,进入步骤8075;
步骤8074,判断是否本次查询结束,是则进入步骤808,否则返回步骤8071;
步骤8075,判断版本树中是否此数据文件版本节点,是则进入步骤8076,否则进入步骤8077;
步骤8076,解析数据文件,进入步骤8074;
步骤8077,根据数据文件版本加载点索引表、点类型描述,生成版本书节点,进入步骤8076;
步骤808,返回查询结构,返回步骤801。
上述实施例为本发明较佳的实施方式,但本发明实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
机译: 事件历史记录存储设备,事件历史记录跟踪设备,事件历史记录存储方法和事件历史记录存储程序
机译: 事件历史记录存储设备,事件历史记录跟踪设备,事件历史记录存储方法,事件历史记录存储程序和数据结构
机译: 事件历史记录存储设备,事件历史记录跟踪设备,事件历史记录存储方法,数据结构和事件历史记录存储程序