一种在线状态监测系统的数据存储与处理方法

文档序号:6429259阅读:236来源:国知局
专利名称:一种在线状态监测系统的数据存储与处理方法
技术领域
本发明涉及一种在线状态监测系统的数据存储与处理方法,属于数据存储与处理技术领域。
背景技术
对生产设备进行状态监测,了解其实际运行状态,从而及时发现故障征兆,是保证生产的平稳、有序运行的重要保障。随着企业信息化水平的提高,状态监测系统也越来越复杂,不仅涉及到数据的本地获取、存储和表现,也往往牵涉到与远程服务器的交互,以及与其它企业信息化系统的连接与数据交换。因此,对于在线状态监测系统的构建提出了更高的要求,要求其各个功能模块间具有更好的独立性,以保证在某个模块或其对应的处理线程出现故障的情况下,系统的其它模块仍然具备其设计功能。尤其是在对大量设备进行状态监测时,状态数据量非常大,设置合理的数据存储和处理方法,是保证状态监测系统正常运行的基础。

发明内容
本发明的目的是提出一种在线状态监测系统的数据存储与处理方法,以增强状态监测系统的实时报警和数据上传两大基本功能之间的独立性,提高系统的稳定性。本发明的技术方案是在状态监测系统中,首先从采集设备获取实时监测数据,将获取的实时监测数据同步存入到正式文件和临时文件中;正式文件保存较长时间内的实时数据(例如M小时、36小时等),并从中抽取一部分数据用于长期存储,临时文件中存放短期内的实时数据,用于抽取报警数据;然后对保存在内存中的数据进行报警检验,根据检验结果激活报警处理线程,从临时数据文件中抽取报警状态数据并上传,并定时从正式数据文件中抽取时间段内的特征数据上传到数据库中进行长期存储。临时数据文件包含2(Γ40 次采样循环的数据,根据实际需要确定临时数据文件采样循环次数。本发明的具体实施步骤如下
(1)启动实时监测线程与数据采集设备通讯,获取实时数据,保存在内存中;
(2)每次采样循环完成后,将内存中的实时数据分别以临时数据文件和正式数据文件形式保存在硬盘上(保存在事先建立的临时数据保存目录和正式数据保存目录中);
(3)每次采集数据后,对保存在内存中的数据进行报警检验,检查实时运行状态数据是否异常,以通知用户采取措施;
(4)若经检验产生报警事件(状态超标),则通过系统激活报警处理线程,在报警的同时,从临时数据文件中抽取报警状态数据并上传;
(5)在数据上传线程中,定时从正式数据文件中抽取时间段内的特征数据,上传到数据库中进行长期存储。即,同时对状态监测系统运行的时间进行检查,如果达到一定的时间间隔,就从正式文件中抽取一部分数据用于长期存储。抽取正式数据文件的时间间隔根据实际需要确定,如,每0. 5 2小时。
采用本发明的方法时,用户在系统配置时就在硬盘上划分出一定的硬盘空间作为数据文件保存区,然后由系统在其中建立临时数据保存目录、正式数据保存目录和报警数据保存目录。临时数据保存目录保存临时数据文件,正式数据保存目录保存正式数据文件, 报警数据目录保存报警数据文件。在各自的数据保存区内,不同的数据文件按照不同的规则保存。本发明正式数据文件仅用于抽取历史数据文件,根据抽取机制,数据上传线程每间隔一定时间(如每小时)都对正式数据文件进行操作,抽取上一时间段(如1小时)的数据, 然后上传抽取数据,因此在Online中保存足够时间(如M小时)的正式数据文件,就可以满足系统需要。本发明中,临时数据文件用于抽取报警数据,在每次确定报警发生时,要抽取报警时刻前后1(Γ20次的报警数据,即共2(Γ40次的采样数据段,因此临时数据文件应至少满足 20次的采样数据段要求。如果在线程序每分钟进行6次采样循环,那么30次的采样数据需要5分钟才能获得,为满足系统需求和数据冗余要求,设置临时数据文件保存20分钟的采样数据,即保存120次采样数据。本发明报警数据的抽取,是在确定报警事件发生后,通过系统激活报警处理线程以对报警数据进行处理。如,报警处理线程从临时数据文件中抽取报警时刻前后15次的采样数据,保存成报警数据文件并上传到数据库中。具体过程为首先置报警处理标志为true, 即报警处理线程正在进行,若此时报警校验仍在继续,则不会再次启动该线程;然后根据当前时刻确定在临时文件中的位置,接着启用后15次计数器,在以后每次采样循环后对后15 次计数器加一,当达到15次后从临时数据文件中获取报警时刻所有通道的波形数据和报警时刻前后15次所有通道的RMS值,然后将这些内存中的报警数据保存到报警数据文件, 并将报警数据上传到数据库中,最后将报警处理标志为false并挂起该线程(参见图3)。本发明的数据上传抽取,即数据上传线程,当在线程序启动后即开始运行,实现将采集来的实时数据经过抽取后上传到数据库中。具体过程为首先获取上次上传时间,然后延迟一定时间(如5分钟)后获取当前时间,比较当前时间和上次上传时间,若时间间隔大于设定时间(如1小时),则从正式数据文件中获取上一时间间隔(1小时)的数据,按照抽取规则抽取数据后上传,最后设置上次上传时间为当前时间,进入下一循环。从正式数据中抽取上传数据的具体过程为首先读取上时间(如1小时)的正式数据,然后每隔一定时间(如2 分钟)获取这段时间(如2分钟)内所有通道的RMS最大值和最小值,然后根据最大值和最小值定位各通道对应的波形数据,最后将抽取到所有通道的波形数据和RMS值上传到报警数据库(参见图3)。本发明临时数据文件保存规则是每个临时数据文件保存一次采样数据,如果保存120次的采样数据,则在临时数据保存区内始终有120个临时数据文件。在启动监测后系统从1号文件开始创建数据文件,每获得一段新的数据创建1个新的数据文件,直至达到最大保存文件数,即120号文件,然后又从1号文件开始覆盖,这样在数据区内的文件始终有120个,且最新文件和最旧文件的时间间隔保持不变。本发明正式数据文件保存时,每个正式文件保存1小时的实时数据,由于最大可以保存M小时的数据,即在正式数据文件保存区内始终有M个正式数据文件。在启动监测后系统从1号文件开始创建正式数据,每个1小时创建1个新的数据文件,直到达到最大保存文件数,即M号文件。然后从1号文件开始覆盖,这样在数据区内文件始终有M个, 且最新文件和最旧文件的时间间隔保存在M小时内。由于每个临时数据文件保存一段采样数据,因此,本发明每次采样循环后都创建一个临时数据文件。但是对于正式数据文件,每个文件保存一定时间(如1小时)的采样数据,因此在程序运行过程中,每隔一定时间(如1小时)才会创建1个正式数据文件,即始终存在1个正式数据文件处于打开状态,以便每次采样循环得到的实时数据能够追加到该正式数据文件尾部,当该数据文件保存的数据到达设定时间(如1小时)或达到360段数据时, 保存并关闭该文件,然后创建下一个小时的正式数据文件。本发明涉及的报警数据文件保存时,每个报警数据文件保存1次报警事件发生时报警时刻所有通道的波形数据和报警时刻前后15次所有通道的RMS值。在报警时间发生后,由报警事件处理线程对临时文件进行报警数据抽取,抽取到的波形数据和RMS值保证在一个报警数据文件中,文件名中包括报警时刻。文件在创建并写入数据后关闭,每个文件只保存一次报警事件的相关报警数据。在报警数据保存区中最多可以保存4096个报警数据文件。本发明通过将数据存储为正式文件和临时文件两个磁盘缓冲区,降低了数据存储、报警分析模块、数据上传、长期存储模块之间的关联性,增强了系统稳定性。


图1是本发明在线监测系统中四个并行处理线程示意图; 图2是本发明临时数据文件和正式数据文件的保存机制示意图; 图3是本发明从临时数据文件中抽取报警数据的处理机制示意图4是本发明从正式数据文件中抽取数据上传到数据库的机制示意图。
具体实施例方式以下结合附图和实施例对本发明作进一步阐述,但本发明的内容不限于所述范围。实施例1 本在线状态监测系统的数据存储与处理方法,是在用户启动实时监测时,系统同时启动临时文件线程、正式文件线程和报警处理线程(参见图1)。在实时监测线程中,系统按照一定的周期,从数据采集设备读取设备的状态数据,保存在内存中。在临时文件线程和正式文件线程中,同时将内存数据保存成临时文件和正式文件(图2),临时文件供报警处理线程抽取报警数据,正式文件用于抽取上传数据和保存实时记录。报警处理线程平时处于挂起状态,在当报警发生时激活,抽取报警数据,保存报警数据并将报警数据上传。本方法的具体步骤如下
(1)启动实时监测线程与数据采集设备通讯,获取实时数据,保存在内存中;
(2)每次采样循环完成后,将内存中的实时数据分别以临时数据文件和正式数据文件形式保存在硬盘上事先建立的临时数据保存目录和正式数据保存目录中,临时数据文件包含30次采样循环的数据(抽取报警时刻前后15次的报警数据,即共30次的采样数据段), 在线程序每分钟进行6次采样循环。
(3)每次采集数据后,对保存在内存中的数据进行报警检验,检查实时运行状态数据是否异常;
(4)若经检验产生报警事件,则通过系统激活报警处理线程,在报警的同时,从临时数据文件中抽取报警状态数据并上传;
(5)在数据上传线程中,每间隔0.5小时从正式数据文件中抽取上0. 5小时内的特征数据,上传到数据库中进行长期存储。在Online中保存M小时的正式数据文件,就完全可以满足系统需要。报警数据的抽取,是在确定报警事件发生后,通过系统激活报警处理线程以对报警数据进行处理。报警处理线程从临时数据文件中抽取报警时刻前后15次的采样数据,保存成报警数据文件并上传到数据库中。参见图3,报警数据抽取的具体过程为首先置报警处理标志为true,即报警处理线程正在进行,若此时报警校验仍在继续,则不会再次启动该线程;然后根据当前时刻确定在临时文件中的位置,接着启用后15次计数器,在以后每次采样循环后对后15次计数器加一,当达到15次后从临时数据文件中获取报警时刻所有通道的波形数据和报警时刻前后15次所有通道的RMS值,然后将这些内存中的报警数据保存到报警数据文件,并将报警数据上传到数据库中,最后将报警处理标志为false并挂起该线程。数据的上传抽取,即数据上传线程,在线程序启动后即开始运行,实现将采集来的实时数据经过抽取后上传到数据库中。具体过程为首先获取上次上传时间,然后延迟5分钟后获取当前时间,比较当前时间和上次上传时间,若时间间隔大于1小时,则从正式数据文件中获取上1小时的数据,按照抽取规则抽取数据后上传,最后设置上次上传时间为当前时间,进入下一循环。参见图4,从正式数据中抽取上传数据的具体过程为首先读取上1 小时的正式数据,然后每隔2分钟获取这2分钟内所有通道的RMS最大值和最小值,然后根据最大值和最小值定位各通道对应的波形数据,最后将抽取到所有通道的波形数据和RMS 值上传到报警数据库。临时数据文件保存规则是每个临时数据文件保存一次采样数据,如果保存120 次的采样数据,在临时数据保存区内始终有120个临时数据文件。在启动监测后系统从1号文件开始创建数据文件,每获得一段新的数据创建1个新的数据文件,直至达到最大保存文件数,即120号文件,然后又从1号文件开始覆盖,这样在数据区内的文件始终有120个, 且最新文件和最丨日文件的时间间隔保持不变。正式数据文件保存时,每个正式文件保存1小时的实时数据,由于最大可以保存 M小时的数据,即在正式数据文件保存区内始终有对个正式数据文件。在启动监测后系统从1号文件开始创建正式数据,每个1小时创建1个新的数据文件,直到达到最大保存文件数,即M号文件。然后从1号文件开始覆盖,这样在数据区内文件始终有M个,且最新文件和最旧文件的时间间隔保存在M小时内。由于每个临时数据文件保存一段采样数据,因此,每次采样循环后都创建一个临时数据文件。但对于正式数据文件,每个文件保存1小时的采样数据,因此,在程序运行过程中,每隔1小时才会创建1个正式数据文件,即始终存在1个正式数据文件处于打开状态,以便每次采样循环得到的实时数据能够追加到该正式数据文件尾部,当该数据文件保存的数据到达1小时或达到360段数据时,保存并关闭该文件,然后创建下一个小时的正式
6数据文件。报警数据文件保存时,每个报警数据文件保存1次报警事件发生时报警时刻所有通道的波形数据和报警时刻前后15次所有通道的RMS值。在报警时间发生后,由报警事件处理线程对临时文件进行报警数据抽取,抽取到的波形数据和RMS值保证在一个报警数据文件中,文件名中包括报警时刻。文件在创建并写入数据后关闭,每个文件只保存一次报警事件的相关报警数据。在报警数据保存区中最多可以保存4096个报警数据文件。实施例2 该在线状态监测系统数据存储与处理方法的具体步骤同实施例1。其临时数据文件包含20次采样循环的数据,抽取报警时刻前后10次的报警数据,即共20次的采样数据段。在数据上传线程中,每间隔2小时从正式数据文件中抽取时间段内的特征数据,上传到数据库中进行长期存储。实施例3 本在线状态监测系统数据存储与处理方法的具体步骤同实施例1。其临时数据文件包含40次采样循环的数据,抽取报警时刻前后20次的报警数据,即共40次的采样数据段。在数据上传线程中,每间隔1小时从正式数据文件中抽取时间段内的特征数据,上传到数据库中进行长期存储。
权利要求
1.一种在线状态监测系统的数据存储与处理方法,其特征是首先将获取的实时监测数据同步存入到正式文件和临时文件中,正式文件保存较长时间内的实时数据,临时文件中存放短期内的实时数据,然后对保存在内存中的数据进行报警检验,根据检验结果激活报警处理线程,从临时数据文件中抽取报警状态数据并上传,并定时从正式数据文件中抽取时间段内的特征数据上传到数据库中进行长期存储。
2.根据权利要求1所述的在线监测系统数据存储与处理方法,其特征是具体的实施步骤如下(1)启动实时监测线程与数据采集设备通讯,获取实时数据,保存在内存中;(2)每次采样循环完成后,将内存中的实时数据分别以临时数据文件和正式数据文件形式保存在硬盘上;(3)每次采集数据后,对保存在内存中的数据进行报警检验,检查实时运行状态数据是否异常;(4)若经检验产生报警事件,则通过系统激活报警处理线程,在报警的同时,从临时数据文件中抽取报警状态数据并上传;(5)在数据上传线程中,定时从正式数据文件中抽取时间段内的特征数据,上传到数据库中进行长期存储。
3.根据权利要求1或2所述的在线监测系统数据存储与处理方法,其特征是临时数据文件包含20 40次采样循环的数据。
全文摘要
本发明提供一种在线状态监测系统的数据存储与处理方法,属于数据存储与处理技术领域。将获取的实时监测数据同步存入到正式文件、临时文件两种文件类型,正式文件用于保存较长时间内的实时数据,并从中抽取一部分数据上传到数据库中用于长期存储,临时文件中存放短期内的实时数据,用于当系统产生报警事件时从中抽取报警时刻前后的数据,供用户分析。通过将数据存储为正式文件和临时文件,降低了报警分析模块、数据长期存储模块之间,以及与其它软件模块间的关联性,增强了系统功能模块间的独立性和稳定性。
文档编号G06F17/30GK102332035SQ20111020946
公开日2012年1月25日 申请日期2011年7月26日 优先权日2011年7月26日
发明者伍星, 刘畅, 柳小勤, 毛剑琳, 潘楠, 迟毅林 申请人:昆明理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1