CN109299121A - 一种scada系统历史报警高效查询方法 - Google Patents
一种scada系统历史报警高效查询方法 Download PDFInfo
- Publication number
- CN109299121A CN109299121A CN201811065964.9A CN201811065964A CN109299121A CN 109299121 A CN109299121 A CN 109299121A CN 201811065964 A CN201811065964 A CN 201811065964A CN 109299121 A CN109299121 A CN 109299121A
- Authority
- CN
- China
- Prior art keywords
- data
- alarm
- history
- database
- scada system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Telephonic Communication Services (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明的SCADA系统历史报警高效查询方法,包括步骤一、按数据对象类型加载SCADA系统中所有配置了“报警信息对象”实例的数据对象导出成配置文件或数据库。步骤二、按配置导出SCADA系统生成的历史报警数据导入到数据库并同步,保持冗余数据数据库和SCADA系统中数据的一致性。步骤三、通过滑动时间分隔点划分不同报警记录数据源的查询任务。步骤四、历史报警记录目标数据源解析器所根据报警日志目标数据源参数动态处理报警日志查询请求。步骤五、报警记录查询合并器,处理不同目标报警数据源反馈的结果,并归一化处理并缓存处理。
Description
技术领域
本发明涉及SCADA系统中报警日志查询方法,尤其涉及一种SCADA报警历史查询的设计方法。
背景技术
SCADA(Supervisory Control And Data Acquisition)系统是以计算机为基础的生产过程控制与调度自动化系统。它可以对现场的运行设备进行监视和控制。随着计算机技术、通讯技术和人工智能技术的快速发展,SCADA在电力监控、综合监控及其他相关行业得到了越来越广泛的应用。SCADA系统中的数据采集通常要涉及到种类繁多的设备,采集大量的数据,并需要根据历史报警业务需求对相应的数据点的报警数据进行存储,以便提供报警历史服务。
随着互联网技术和信息化管理的深入以及SCADA系统的不断发展,SCADA系统架构正逐步从C/S模式向B/S模式转变。另外随着B/S架构自身的技术发展在保证前端实时监控画面上能及时做出响应的基础上,相对C/S架构,具有维护方便、开发简单且共享性强的优越性,使得客户端工作站部署大大简化,减轻系统维护、升级的支出成本,降低用户的总体成本。
在B/S模式下如何快速的获取报警日志数据,提供报警日志数据的快速发布和报警日志数据分析结果的快速发布是需要解决的问题之一。普遍的方式是报警信息产生后,直接存到历史数据库,然后再从历史数据库中检索,当监测数据点类型及对应的数据点容量变大时,特别对于多种数据类型的模糊检索、与操作记录联合或第三方应用数据联合检索时,会受比较耗时。另外,当数据库服务完全失效时,无法正常提供报警日志查询服务。
发明内容
针对现有技术中存在的问题,本发明的发明目的是解决在B/S模式下如何为SCADA系统提供历史报警日志快速的发布、历史报警日志数据分析及结果的快速发布。本发明中SCDDA系统的报警数据通过内存和文件系统的策略保存报警历史数据,内存数据复制到数据镜像文件中,程序故障时保证内存数据能够恢复,并在一定的规则下,转存成报警数据文件。报警数据的文件可按小时时间粒度设置,小时颗粒的文件又合成为天为单位的报警数据文件。所有的报警数据文件导入到冗余数据库中,并在冗余数据库中保持同步。当进行历史报警数据查询时,特别是对于需要快速可靠的获取最近的报警数据时,可通过WEB服务方式直接中内存和文件中进行检索并反馈结果。对于普通的查询可通过时间分割点动态划分查询任务分别通过WEB服务和数据库请求获取数据。在超时时间到或数据库连接失败时,能将WEB服务部分的结果返回,并提示数据库部分的数据查询失败,一定程度上保证最近的报警数据能够有效返回。
另外,在数据库服务无法提供正常服务时,能够在线调节时间分隔点及最大返回结果条数,从WEB服务中获取有限时间内的报警日志数据。
为了实现上述目的,本发明采用的技术方案为:一种SCADA系统实报警日志查询设计方法,包括以下步骤。
步骤一、按数据对象类型加载SCADA系统中所有配置了“报警信息对象”实例的数据对象导出成配置文件或数据库。
所述数据对象类型,是指SCADA系统中各种不同的监视对象,常见的数据对象如,双位遥信对象类型、遥测对象类型、遥控对象类型和遥脉对象类型等。每种数据对象类型拥有多个数据点对象实例,每个数据点对象又包括了一组属性。
所述数据对象存在链接关联关系,用于表示该数据点对象与其他数据点对象的引用,通过该数据点对象的链接属性和其他数据点对象建立关联层级关系。
所述报警信息对象实例,可通过其“报警行为Link”属性关联其报警行为对象实例(用于配置报警等级、报警处理方式等)、通过其“ParentLink”属性关联需要产生报警的源报警对象实例、通过其“报警格式Link”属性关联其报警格式对象实例(用于配置报警显示的格式信息等)。
将SCADA中配置报警实例的点按类型导入到配置文件或数据库中,能过滤掉不需要产生报警日志的监视数据点,能进一步缩小数据查询的范围。
对新增加数据类型对象可增量加载到配置文件或数据库中。对已加载过的某种数据类型的某些数据点对象的修改、删除、添加报警信息后能增量更新到配置文件或数据库中。
步骤二、按配置导出SCADA系统生成的历史报警数据导入到数据库并同步,保持冗余数据数据库和SCADA系统中数据的一致性。
所述SCDDA系统的架构采用主备服务器及冗余网络部署方案,其报警数据通过报警服务程序中内存和文件系统的方式提供报警历史数据服务。其中内存中的报警历史数据根据配置策略(如一小时)转到文件中形成一小时粒度的报警历史数据,小时粒度报警历史数据在下一天零点时生成前一天的报警数据,形成一天粒度的报警历史数据文件。
所有报警历史文件的每一个报警记录包含信息:《报警时间UTC秒,报警时间毫秒,报警对象ObjectId,报警信息对象ObjectId,报警行为对象ObjectId,报警内容》。
所述SCDDA系统的主备服务器上生成的报警历史文件之间保持数据同步。
基于所述SCDDA系统的报警历史内存及文件的生成规则及存储策略,其报警历史数据文件的生成规则采用如下方案将数据导入到数据库。
首先,各自服务器上生成的报警历史数据文件向各自的历史数据库中导入数据。例如存在Server1、Server2两台服务器,Server1、Server2机上均存在历史数据库,则将Server1服务器中系统产生的报警历史文件导入Server1的历史数据库中,Server2服务器中系统产生的报警历史文件导入Server2的历史数据库中
其次,初始化数据导入操作。一般在初始化历史数据库或数据库服务长时间停用或故障时执行。
然后,对于正常导入一个日期的CSV文件后都记录导入日期日志。
之后,每小时的第X分钟{X|2≤X≤10,X∈N*}定时执行,导入前一个小时的把报警历史数据文件。
最后,每天的第Y小时{Y|1≤Y≤3,Y∈N*}定时执行导入操作,在当前日期(记为D0)的基础上,将时间向前偏移X天(X可配置),日期记为D1。检查[D1,D0]时间区间中是否存在还未导入的报警历史数据文件,若有进行导入并对其同步操作的时间进行记录。
所述数据库的同步其实质是数据表的同步,报警数据库同步的方法:
首先,创建表时为表增加时间戳字段,同步方式为基于时间戳的增量方式;
其次,创建专用的同步信息记录表,用于记录不同数据库间相同数据表同步的时间戳,初始化时该表记录中的时间戳字段值设置为0。
步骤三、通过滑动时间分隔点划分不同报警记录数据源的查询任务。
如步骤二中所述,报警服务程序中内存中的报警数据和已生成的报警历史数据文件,通过WEB服务提供报警历史数据服务,将其定义为WEB服务接口历史报警数据源。
如步骤二中所述,导出SCADA系统生成的历史报警数据文件导入到数据库中报警历史数据,将其定义为DB接口历史报警数据源。
所述WEB服务接口的历史报警数据源,可通过配置进行数据维护。
所述DB接口的历史报警数据源,提供除WEB服务接口数据源之外的更长历史时间的数据。导入到数据库中的报警历史数据,可以更方便的进行报警分析使用。
为了进一步提高报警历史数据查询的效率,在报警历史数据已经按月存储的基础上,后台数据查询服务程序进行按天查询的设计,单位为n天,{n|x≥1,n∈N*}。
通过滑动时间分隔点对WEB服务接口的历史报警数据源和DB接口的历史报警数据源的查询时间区间进行分隔。滑动时间分隔点可以灵活配置,单位可以为小时、天。假设配置为2小时且当前时刻为Tcurrent,当前时刻之前的2小时到当前时刻,即时间区间[Tcurrent-2,Tcurrent]需要通过Rest请求报警数据。当设置为正无穷大时表示只通过WEB服务接口获取报警数据。
首先,将前端请求的起止时间进行划分,生成查询“WEB服务报警数据”的起止时间,记为T1。
其次,生成查询“DB报警数据”的起止时间,记为T2。
然后,对T2进行分批查询起止时间的划分,并生成时间数组Ta。
最后,循环处理分批查询数据库的每一个时间区间时,还要对每一个时间区间进行处理从而解决跨表查询的问题。
步骤四、历史报警记录目标数据源解析器所根据报警日志目标数据源参数动态处理报警日志查询请求。
前端请求参数具备统一的请求格式。
首先,通过历史报警记录目标数据源解析器将统一的参数信息,然后,结合步骤三,所述的滑动时间分割点,分别拆分组合成WEB服务请求和数据库请求所需的参数。
步骤五、报警记录查询合并器,处理不同目标报警数据源反馈的结果,并归一化处理并缓存处理。
首先,结合步骤三所述的每一个查询任务分片进行数据查询操作。一旦满足最大返回结果数的条件,后续查询任务将被丢弃。
若需要查询WEB服务报警历史记录数据源的报警历史数据时,优先处理WEB服务请求,然后进行数据库请求。
之后,由报警记录查询合并器将不同数据源的查询结果进行归一化处理,形成中间结果临时表。
最后,当前端的查询参数主要条件不变时,不在进行重复查询,如分页相关请求时,只需从中间结果表进行分页查询并按条件进行排序即可。
有益效果:本发明易于理解、工程易于实现、实用性强,为SCADA系统历史报警的查询提供了一种高效可靠的查询方法。
附图说明
图1、本发明实施例的一种SCADA系统历史报警高效查询方法处理步骤流程图。
图2、本发明实施例报警历史查询流程图。
图3、本发明实施例滑动时间分隔点处理示意图。
具体实施方式
为了使本领域技术人员能进一步了解本发明的特征及其技术内容,请参阅以下有关本发明的详细说明与附图,附图提供参考及说明并非用来限制本发明。
下面结合附图1,对本发明的特征和技术实施方案进行描述。
本实施例为B/S架构部署,分为客户端和服务端。服务程序采用C++服务进程、PHP动态脚本。客户端和服务端C++通信方式采用wss协议的WebSocket,采用轻量级LighttpdWeb服务器执行PHP脚本。报警历史数据WEB服务通过REST方式实施。对于REST请求由后台C++报警历史REST服务进程提供数据服务;报警历史数据DB请求,由后台PHP脚本提供数据服务。另外,由在线修改服务程序,提供报警配置对象的在线修改的提交更新服务,以及滑动时间分隔点和返回数据最大条数限制的设置服务。
查询处理流程如附图2所示。
具体实施步骤如下:
步骤一、按数据对象类型加载SCADA系统中所有的配置了报警的实例数据点对象导出成配置文件或数据库。
Step11、在SCADA系统对象类型为“ConfigureStorage”的一个实例A中配置对象中配置需要导出的报警数据点的对象类型。
Step12、在“ConfigureStorage”类型的另一个实例中配置,滑动时间分隔点和最大返回数据条数。
Step13、启动在线修改服务程序,该程序根据配置对象类型检索SCADA系统中对应数据类型且配置了报警实例的数据点对象并将其信息导入到数据库中。
Step14、监听“ConfigureStorage”类型的实例A和B的属性变化,若有变化重新进行数据加载到数据库中,完成数据在线更改。
步骤二、按配置导出SCADA系统生成的历史报警数据导入到数据库并同步,保持冗余数据数据库和SCADA系统中数据的一致性。
Step21、创建报警历史数据库及数据表
Step21_1、按月创建报警历史数据表,表命名格式为:Events_YYYYMM,其“YYYY”表示具体年分,“MM”具体月份,表结构中需要时间戳字段“Last_update”,同步方式为基于时间戳的增量方式。创建的表数量可配置,初始化默认创建十年的数据表。
Step21_2、创建专用的同步信息记录表“TBL_SYNC_INFO”,用于记录不同数据库间相同数据表同步的时间戳,初始化时该表记录中的时间戳字段值设置为0。
Step22、数据Server1、Server2两台服务器上SCADA系统生成的报警历史文件分别导入到各自的历史数据库中。
解析当前行历史数据的类型(float、long等等),并根据该报警产生的时间,确定该条数据应存入的数据表名
Step22_1、判定是否需要进行初始化数据导入操作。一般在初始化历史数据库或数据库服务长时间停用或故障时执行。
Step22_2、对于正常导入的报警历史文件后都记录导入日期日志。
Step22_3、每小时的第X分钟{X│2≤X≤10,X∈N^*}定时执行,导入前一个小时的把报警历史数据文件。
Step22_4、每天的第Y小时{Y│1≤Y≤3,Y∈N^*}定时执行导入操作,在当前日期(记为D0)的基础上,将时间向前偏移X天(X可配置),日期记为D1。检查[D1,D0]时间区间中是否存在还未导入的报警历史数据文件,若有进行导入并对其同步操作的时间进行记录。
Step23、报警数据库同步,在Server1、Server2数据库之间实现同步的流程如下,以某张报警历史数据表Events_YYYYMM为例:
Step23_1、获取Server1、Server2数据库的连接等配置信息,并测试Server1、Server2数据库的连接是否正常。
Step23_1、在Server1库“同步信息记录表TBL_SYNC_INFO”中分别查询“Events_YYYYMM”表在Server1、Server2库中上次同步的数据中的最大时间戳记录Server1_db_last_sync,Server1_db_last_sync。
Step23_1、分别在Server1、Server2库查询“Events_YYYYMM”表中本次同步的最大时间戳a_max_last_update,b_max_last_update并记录下来,用于在同步完成后更新“同步信息记录表TBL_SYNC_INFO”。
Step23_1、在Server1库的“Events_YYYYMM”表中查找时间戳字段“Last_update”大于Server1_db_last_sync的记录;在Server2库的“Events_YYYYMM”表中查找时间戳字段“Last_update”大于Server2_db_last_sync的记录;
Step23_1、将A、B库中排序好的结果集合进行合并操作,并根据合并过程中的处理标记对Server1、Server2数据库的数据进行摆渡。
Step23_1、在同步完成后使用a_max_last_update,b_max_last_update更新“同步信息记录表TBL_SYNC_INFO”,将此次同步的最大时间戳变成下次同步的时间戳起点。
步骤三、通过滑动时间分隔点划分不同报警记录数据源的查询任务。
本实施例中,报警历史数据来源于REST接口和数据库(DB)接口。REST接口的历史报警数据源,可通过配置进行数据维护。DB接口的历史报警数据源,提供除REST接口数据源之外的更长历史时间的数据。在报警历史数据已经按月存储的基础上,后台数据查询服务程序进行按天查询的设计,单位为n天,{n│x≥1,n∈N^*},本实施例中配置为2,即按每两天查询一次数据库,递归查询直到满足最大返回数据的条件或操作超时,采用该设置方法可进一步提高报警历史数据查询的效率,进行数据分批查询并将结果存储到中间结果数据表。
如附图3所示,假设当前时刻为Tcurrent,当前时刻之前的2小时到当前时刻通过Rest请求报警数据,那时间区间在[Tcurrent-2,Tcurrent]之内的需要通过Rest请求。
另外,假设前端请求时间的起止时间为[Ts,Te],且本实施例中,按2天为间隔,分批查询数据库,具体步骤如下所述。
Step1、处理Rest请求的起止时间。由附图3可知,3个圆形标号表示Te可能的取值。
圆形标号1表示,Te<Tcurrent-2。此种情况表示,不需要进行Rest请求当前的报警历史数据,所有的历史报警数据都通过查询数据库获取。
圆形标号2表示,Te∈[Tcurrent-2,Tcurren]。此时表示闭区间[Tcurrent-2,Te]为Rest请求当前报警的起止时间。
圆形标号3表示,Te≥Tcurren。此时表示闭区间[Tcurrent-2,Tcurren]为Rest请求当前报警的起止时间。
Step2、处理并生成分批查询数据库的起止时间区间的数组,记为Tarray。
Ts’处理为Ts之后一天的0点。[Ts,Ts’),作为分批查询数据库的一个起止时间区间,并放入Tarray中。
由附图3可知,椭圆形编号的时间范围为循环处理生成分批查询数据库起止时间区间的两个可能的开始时间和结束时间。根据本实施例中,分批查询数据库的时间间隔设置为2天,其处理过程如下:
定义开始时间startTime=Ts’
定义结束时间
当上图圆形标号为1时,endTime=Te
当上图圆形标号为2时,endTime=Tcurrent-2
Step3、按时间分批查询数据
Step3_1、处理Rest请求
若Rest请求时间区间非空,通过请求时间区间及其他查询参数,触发Rest请求,并请求结果存入中间结果表。
Step3_2、处理DB请求,循环处理Tarray中的每一个时间区间。具体处理过程如下。
Step3_2_1、定义查询处理函数递归处理。
Step3_2_2、定义循环处理停止标志,finishFlag,当查询所有查询处理完毕,或查询结果>10000条时(该值可在线配置),停止处理。
Step3_2_3、具体函数定义及调用关系:
//根据当前字符串时间格式"Y-m-d H:i:s",获取当前月份
function fetchCurMonthByStrTime(strTime){}
//将日期YYYY-MM-DD H:m:i转换为YYYY-MM-DD 00:00:00
function getTodayTimeStr(strTime){}
//根据前端请求参数组装带占位参数的sql语句
function assembleSql(){}
//根据查询开始time月份获取所要查询的数据表名
function fetchTableName(time){}
//根据当前字符串时间格式"Y-m-d H:i:s",获取当前月份
function qryRestAlarmRecords(sql){}
Step3_2_3、跨表查询递归处理:
步骤四、历史报警记录目标数据源解析器所根据报警日志目标数据源参数动态处理报警日志查询请求。
前端请求参数具备统一的请求格式,
首先,通过历史报警记录目标数据源解析器将统一的参数信息,分别拆分组合成REST请求和数据库请求所需的参数。
步骤五、报警记录查询合并器,处理不同目标报警数据源反馈的结果,并归一化处理并缓存处理
首先,结合步骤三所述的每一个查询任务分片进行数据查询操作。一旦满足最大返回结果数的条件,后续查询任务将被丢弃。
若需要查询REST报警历史记录数据源的报警历史数据时,优先处理REST请求,然后进行数据库请求。
之后,由报警记录查询合并器将不同数据源的查询结果进行归一化处理,形成中间结果临时表。
最后,本实施例中将同一个请求的响应结果在首次建立会话时存储到中间结果临时表,之后对于同一个请求以中间结果临时表为基础进行灵活分页,例如,根据设置每一页显示多少条记录动态调整页码、按设置的页码跳转、跳转首页、跳转尾页等有关数据分页的操作,只需根据分页参数从中间结果表进行分页查询并按条件进行排序即可。
Claims (7)
1.一种SCADA系统历史报警高效查询方法,其特征在于,包括以下步骤:
步骤一、按数据对象类型加载SCADA系统中所有配置了“报警信息对象”实例的数据对象导出成配置文件或数据库;
步骤二、按配置导出SCADA系统生成的历史报警数据导入到数据库并同步,保持冗余数据数据库和SCADA系统中数据的一致性;
步骤三、通过滑动时间分隔点划分不同报警记录数据源的查询任务;
步骤四、历史报警记录目标数据源解析器所根据报警日志目标数据源参数动态处理报警日志查询请求;
步骤五、报警记录查询合并器,处理不同目标报警数据源反馈的结果,并归一化处理并缓存处理。
2.根据权利要求1所述的SCADA系统历史报警高效查询方法,其特征在于,步骤一中:
所述数据对象类型,是指SCADA系统中各种不同的监视对象,包括双位遥信对象类型、遥测对象类型、遥控对象类型和遥脉对象类型;每种数据对象类型拥有多个数据点对象实例,每个数据点对象又包括了一组属性;
所述数据对象存在链接关联关系,用于表示该数据点对象与其他数据点对象的引用,通过该数据点对象的链接属性和其他数据点对象建立关联层级关系;
所述报警信息对象实例,通过其“报警行为Link”属性关联其报警行为对象实例、通过其“ParentLink”属性关联需要产生报警的源报警对象实例、通过其“报警格式Link”属性关联其报警格式对象实例;
将SCADA中配置报警实例的点按类型导入到配置文件或数据库中,能过滤掉不需要产生报警日志的监视数据点,能进一步缩小数据查询的范围;
对新增加数据类型对象可增量加载到配置文件或数据库中;对已加载过的某种数据类型的某些数据点对象的修改、删除、添加报警信息后能增量更新到配置文件或数据库中。
3.根据权利要求1所述的SCADA系统历史报警高效查询方法,其特征在于,步骤二中:
所述SCDDA系统的架构采用主备服务器及冗余网络部署方案,其报警数据通过报警服务程序中内存和文件系统的方式提供报警历史数据服务;其中内存中的报警历史数据根据配置策略转到文件中形成一小时粒度的报警历史数据,小时粒度报警历史数据在下一天零点时生成前一天的报警数据,形成一天粒度的报警历史数据文件;
所有报警历史文件的每一个报警记录包含信息:报警时间UTC秒,报警时间毫秒,报警对象ObjectId,报警信息对象ObjectId,报警行为对象ObjectId,报警内容;
所述SCDDA系统的主备服务器上生成的报警历史文件之间保持数据同步。
4.根据权利要求3所述的SCADA系统历史报警高效查询方法,其特征在于,步骤二中:
基于所述SCDDA系统的报警历史内存及文件的生成规则及存储策略,其报警历史数据文件的生成规则采用如下方案将数据导入到数据库;
首先,各自服务器上生成的报警历史数据文件向各自的历史数据库中导入数据;
其次,初始化数据导入操作;
然后,对于正常导入一个日期的CSV文件后都记录导入日期日志;
之后,每小时的第X分钟{X|2≤X≤10,X∈N*}定时执行,导入前一个小时的把报警历史数据文件;
最后,每天的第Y小时{Y|1≤Y≤3,Y∈N*}定时执行导入操作,在当前日期(记为D0)的基础上,将时间向前偏移X天(X可配置),日期记为D1;检查[D1,D0]时间区间中是否存在还未导入的报警历史数据文件,若有进行导入并对其同步操作的时间进行记录;
所述数据库的同步其实质是数据表的同步,报警数据库同步的方法:
首先,创建表时为表增加时间戳字段,同步方式为基于时间戳的增量方式;
其次,创建专用的同步信息记录表,用于记录不同数据库间相同数据表同步的时间戳,初始化时该表记录中的时间戳字段值设置为0。
5.根据权利要求1所述的SCADA系统历史报警高效查询方法,其特征在于,步骤三中:
报警服务程序中内存中的报警数据和已生成的报警历史数据文件,通过WEB服务提供报警历史数据服务,将其定义为WEB服务接口历史报警数据源;
导出SCADA系统生成的历史报警数据文件导入到数据库中报警历史数据,将其定义为DB接口历史报警数据源;
所述WEB服务接口的历史报警数据源,可通过配置进行数据维护;
所述DB接口的历史报警数据源,提供除WEB服务接口数据源之外的更长历史时间的数据;导入到数据库中的报警历史数据,方便进行报警分析使用。
6.根据权利要求1所述的SCADA系统历史报警高效查询方法,其特征在于,步骤四中:
前端请求参数具备统一的请求格式;通过历史报警记录目标数据源解析器将统一的参数信息,然后,结合步骤三,所述的滑动时间分割点,分别拆分组合成WEB服务请求和数据库请求所需的参数。
7.根据权利要求1所述的SCADA系统历史报警高效查询方法,其特征在于,步骤五中:
首先,结合步骤三所述的每一个查询任务分片进行数据查询操作;一旦满足最大返回结果数的条件,后续查询任务将被丢弃;
若需要查询WEB服务报警历史记录数据源的报警历史数据时,优先处理WEB服务请求,然后进行数据库请求;
之后,由报警记录查询合并器将不同数据源的查询结果进行归一化处理,形成中间结果临时表;
最后,当前端的查询参数主要条件不变时,不在进行重复查询,只需从中间结果表进行分页查询并按条件进行排序即可。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811065964.9A CN109299121B (zh) | 2018-09-13 | 2018-09-13 | 一种scada系统历史报警高效查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811065964.9A CN109299121B (zh) | 2018-09-13 | 2018-09-13 | 一种scada系统历史报警高效查询方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109299121A true CN109299121A (zh) | 2019-02-01 |
CN109299121B CN109299121B (zh) | 2022-02-15 |
Family
ID=65166678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811065964.9A Active CN109299121B (zh) | 2018-09-13 | 2018-09-13 | 一种scada系统历史报警高效查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109299121B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111708848A (zh) * | 2020-06-12 | 2020-09-25 | 北京思特奇信息技术股份有限公司 | 一种数据查询方法、系统及电子设备 |
CN112818183A (zh) * | 2021-02-03 | 2021-05-18 | 恒安嘉新(北京)科技股份公司 | 一种数据合成方法、装置、计算机设备和存储介质 |
CN113032128A (zh) * | 2021-04-20 | 2021-06-25 | 北京微纳星空科技有限公司 | 一种多任务的控制方法、装置、电子设备及存储介质 |
CN113076462A (zh) * | 2021-03-25 | 2021-07-06 | 恒安嘉新(北京)科技股份公司 | 网络会话数据查询方法、装置、设备及介质 |
CN113420040A (zh) * | 2021-08-25 | 2021-09-21 | 西安热工研究院有限公司 | 存储大小报警组状态的方法、装置及存储介质 |
CN113836113A (zh) * | 2021-09-26 | 2021-12-24 | 北京金山云网络技术有限公司 | 一种ddl操作同步方法、装置及电子设备 |
CN114996020A (zh) * | 2022-06-24 | 2022-09-02 | 国家石油天然气管网集团有限公司 | 审计数据同步采集方法、装置、设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102360357A (zh) * | 2011-09-29 | 2012-02-22 | 南京国电南自轨道交通工程有限公司 | Scada系统网状关系数据库节点的数据同步组件 |
CN102663037A (zh) * | 2012-03-27 | 2012-09-12 | 上海市电力公司 | 一种scada历史数据综合统计查询系统 |
CN105117171A (zh) * | 2015-08-28 | 2015-12-02 | 南京国电南自美卓控制系统有限公司 | 一种能源scada海量数据分布式处理系统及其方法 |
CN105846542A (zh) * | 2015-01-14 | 2016-08-10 | 国网天津静海供电有限公司 | 一种监控告警信息自动统计分析模块 |
-
2018
- 2018-09-13 CN CN201811065964.9A patent/CN109299121B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102360357A (zh) * | 2011-09-29 | 2012-02-22 | 南京国电南自轨道交通工程有限公司 | Scada系统网状关系数据库节点的数据同步组件 |
CN102663037A (zh) * | 2012-03-27 | 2012-09-12 | 上海市电力公司 | 一种scada历史数据综合统计查询系统 |
CN105846542A (zh) * | 2015-01-14 | 2016-08-10 | 国网天津静海供电有限公司 | 一种监控告警信息自动统计分析模块 |
CN105117171A (zh) * | 2015-08-28 | 2015-12-02 | 南京国电南自美卓控制系统有限公司 | 一种能源scada海量数据分布式处理系统及其方法 |
Non-Patent Citations (1)
Title |
---|
北京力控元通科技有限公司: "SCADA系统与实时数据库系统介绍", 《HTTP://WWW.GONGKONG.COM/ARTICLE/201607/69001.HTML》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111708848A (zh) * | 2020-06-12 | 2020-09-25 | 北京思特奇信息技术股份有限公司 | 一种数据查询方法、系统及电子设备 |
CN111708848B (zh) * | 2020-06-12 | 2024-02-23 | 北京思特奇信息技术股份有限公司 | 一种数据查询方法、系统及电子设备 |
CN112818183A (zh) * | 2021-02-03 | 2021-05-18 | 恒安嘉新(北京)科技股份公司 | 一种数据合成方法、装置、计算机设备和存储介质 |
CN112818183B (zh) * | 2021-02-03 | 2024-05-17 | 恒安嘉新(北京)科技股份公司 | 一种数据合成方法、装置、计算机设备和存储介质 |
CN113076462A (zh) * | 2021-03-25 | 2021-07-06 | 恒安嘉新(北京)科技股份公司 | 网络会话数据查询方法、装置、设备及介质 |
CN113076462B (zh) * | 2021-03-25 | 2024-04-30 | 恒安嘉新(北京)科技股份公司 | 网络会话数据查询方法、装置、设备及介质 |
CN113032128A (zh) * | 2021-04-20 | 2021-06-25 | 北京微纳星空科技有限公司 | 一种多任务的控制方法、装置、电子设备及存储介质 |
CN113032128B (zh) * | 2021-04-20 | 2024-05-17 | 北京微纳星空科技有限公司 | 一种多任务的控制方法、装置、电子设备及存储介质 |
CN113420040A (zh) * | 2021-08-25 | 2021-09-21 | 西安热工研究院有限公司 | 存储大小报警组状态的方法、装置及存储介质 |
CN113836113A (zh) * | 2021-09-26 | 2021-12-24 | 北京金山云网络技术有限公司 | 一种ddl操作同步方法、装置及电子设备 |
CN114996020A (zh) * | 2022-06-24 | 2022-09-02 | 国家石油天然气管网集团有限公司 | 审计数据同步采集方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109299121B (zh) | 2022-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109299121A (zh) | 一种scada系统历史报警高效查询方法 | |
CN101854400B (zh) | 一种数据库同步部署及监控的方法和装置 | |
CN110794800B (zh) | 一种智慧工厂信息管理的监控系统 | |
CN102521781B (zh) | 一种基于独立监控服务的跨安全区的设备统一监控方法及其监控系统 | |
CN106940677A (zh) | 一种应用日志数据告警方法及装置 | |
CN113973053B (zh) | 一种网络靶场的探针管理系统与方法 | |
CN115374102A (zh) | 数据处理方法及系统 | |
CN111427964B (zh) | 一种面向运行时间戳的工业云数据存储模型 | |
CN109361576A (zh) | 一种pim监控数据处理方法及系统 | |
CN111913933B (zh) | 基于统一支撑平台的电网历史数据管理方法及系统 | |
CN110262945A (zh) | 一种智能监控数据仓库调度系统的方法 | |
CN114302103A (zh) | 一种智能监控运维系统 | |
CN110018993B (zh) | 一种数据分析系统、方法及监控分析系统 | |
CN110007905A (zh) | 一种基于大数据的软件开发方案的生成方法及系统 | |
CN112053134A (zh) | 一种基于b/s架构的电力设备信息管理系统 | |
CN111414355A (zh) | 一种海上风电场数据监测存储系统及方法、装置 | |
CN106649814A (zh) | 一种配电自动化跨区数据库一致性校验方法 | |
CN116594982A (zh) | 一种基于规则引擎和Clickhouse的流量数仓建设方法 | |
CN114358666B (zh) | 一种川菜工业化生产过程质量控制方法 | |
CN111797166B (zh) | 准实时简历数据同步方法和装置、电子设备及介质 | |
CN113377872B (zh) | 在线系统数据在大数据中心的离线同步方法、装置及设备 | |
KR102674439B1 (ko) | 전력 실시간 데이터 브로커 플랫폼 시스템 | |
CN109993319A (zh) | 一种一体化机房运维管理系统 | |
CN110515955B (zh) | 数据的存储、查询方法、系统、电子设备和存储介质 | |
CN112651606A (zh) | 基于电力调度停电智能管控方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |