CN109150596B - 一种scada***实时数据转储方法和装置 - Google Patents
一种scada***实时数据转储方法和装置 Download PDFInfo
- Publication number
- CN109150596B CN109150596B CN201810897123.8A CN201810897123A CN109150596B CN 109150596 B CN109150596 B CN 109150596B CN 201810897123 A CN201810897123 A CN 201810897123A CN 109150596 B CN109150596 B CN 109150596B
- Authority
- CN
- China
- Prior art keywords
- task
- data
- dump
- dumping
- real
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例公开了一种SCADA***实时数据转储方法和装置,该方法包括:建立SCADA***实时数据转储任务队列,包括第一转储任务T1和第二转储任务T2;通过第一转储任务T1和第二转储任务T2分别采集实时数据存入相应的缓冲数据文件;由第一转储任务T1申请获取数据转储权并执行正常的数据转储;当第一转储任务T1出现故障时,由第二转储任务T2进行断点续传;当第二转储任务T2出现故障,第一转储任务T1的故障已排除时,由第一转储任务T1进行断点续传,实现自动故障恢复。该实施例方案解决SCADA***实时数据转储过程中出现的因软件故障原因引起的数据断续问题,提高了SCADA***实时数据转储的稳定性。
Description
技术领域
本发明实施例涉及数据转储技术,尤指一种SCADA***实时数据转储方法和装置。
背景技术
工业自动化控制领域,常见使用SCADA(Supervisory Control And DataAcquisition数据采集与监视控制)采集数据和监控现场运行设备,现场安装有各类仪表和通讯设备,SCADA***通过通讯协议采集获取数据,因SCADA ***自身已有数据存储功能,因此通过SCADA***软件模块能够实现对所需监测数据项的历史数据趋势查看和分析,又因上层数据分析模块需要底层数据进行计算和分析得出各项计量数据、运行指标等汇总数据,需要通过 SCADA***实时转储基础数据到关系数据库,由上层应用软件访问该数据并计算后进行业务分析。
SCADA***实时数据转储运行环境一般包括:SCADA服务器运行 SCADA软件***和实时数据转储程序、数据库服务器运行关系型数据库、应用服务器运行上层行业应用软件等。
SCADA软件***从现场设备采集实时数据,实时数据转储程序通过接口或常规通讯协议访问实时数据库获取数据,提供给上层行业应用软件可访问的关系数据库数据。
目前,SCADA***常用的数据转储措施包括:
(1)ADO数据处理脚本
SCADA定时脚本内嵌ADO数据处理脚本,直接将实时SCADA变量数据写入历史库。
ADO(ActiveX Data Objects):一种程序对象,用于表示用户数据库中的数据结构和所包含的数据,使用ADO对象来创建或修改表和查询、检验数据库、或者访问外部数据源。
(2)ODBC数据转储组件
ODBC数据转储组件获取数据的方式是通过SCADA厂家SDK访问内部接口,将实时数据按照一定的格式定时通过ODBC方式转储到关系数据库里。
ODBC(Open Database Connectivity开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture视窗开放服务架构)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。
SDK(Software Development Kit软件开发工具)是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作***等创建应用软件的开发工具的集合,本专利用到的为SCADA软件厂商提供的应用程序接口API,通过该接口访问SCADA实时数据库。
(3)OPC数据采集和存储软件
部署OPC数据采集和存储软件,该软件通过OPC方式获取SCADA实时数据,由该软件定时采集实时数据并通过ODBC方式写入关系数据库。
OPC(OLE for Process Control过程控制的对象连接与嵌入)是基于 Microsoft公司COM/DCOM(分布式组件对象模型)技术和DNA(Distributed internet Application分布式互联网应用程序)构架,为解决现场管理层与过程控制层之间的通信标准而设计的规范,它提供了过程管理应用与现场自动化控制***以及设备进行数据通信的一种标准机制。
然而,目前的SCADA***数据转储存在以下缺点:
(1)ADO数据处理脚本
因为ADO脚本复杂和维护不方便,并且运行过程会影响SCADA***软件运行效率,使用较少。
(2)使用ODBC数据转储组件或OPC数据采集和存储软件过程中常出现数据丢失的现象:
ODBC组件转储出现异常时,数据会临时中断;
数据库访问异常,数据出现临时中断;
OPC采集和存储软件存储数据出现异常(数据库写入失败、网络异常等),数据会临时中断。
针对上述问题,目前常见的解决方法如下:
传统解决方法通过监测进程是否异常、检测数据是否停止转储,重新启动和激活软件功能,并进行人为维护和补全数据(查询SCADA历史库数据记录,人工补齐)。但目前的这些解决方案仍存在以下问题:
(1)数据出现长时间断续,补齐工作量大;
(2)部分数据不全,导致定时数据计算的结果存在偏差;
(3)数据维护成本高;
(4)影响上层数据计算和分析处理应用功能。
发明内容
为了解决上述技术问题,本发明实施例提供了一种数据采集与监视控制SCADA***实时数据转储方法和装置,能够防止数据转储程序异常后出现的数据断续,避免故障引发的故障恢复、补齐历史数据行为,保证数据转储的顺序写入,从而提高SCADA***实时数据转储的稳定性。
于本发明的一个实施例中,提供了:
(1)一种SCADA***实时数据转储方法,可以包括:
建立SCADA***实时数据转储任务队列;所述实时数据转储任务队列中至少包括:第一转储任务T1和第二转储任务T2;
启动所述第一转储任务T1和所述第二转储任务T2,并分别通过所述第一转储任务T1和所述第二转储任务T2不间断采集实时数据,存入相应的第一缓冲数据文件和第二缓冲数据文件;
由所述第一转储任务T1申请获取数据转储权,并执行正常的数据转储,以将所述实时数据写入预设的关系库数据表中;
当所述第一转储任务T1在进行数据转储过程中出现故障时,由所述第二转储任务T2根据所述第二缓冲数据文件中存储的实时数据进行断点续传,实现自动故障恢复;当所述第二转储任务T2在进行数据转储过程中出现故障,所述第一转储任务T1的故障已排除时,由所述第一转储任务T1根据所述第一缓冲数据文件中存储的实时数据进行断点续传,实现自动故障恢复。
在本发明的其他的多种实施方式中:
(2)根据(1)所述的SCADA***实时数据转储方法,其中,所述建立SCADA***实时数据转储任务队列可以包括:
设置转储任务配置表;
在所述转储任务配置表中配置所述第一转储任务T1和所述第二转储任务 T2;
其中,所述转储任务配置表包括:任务编号以及采集和转储配置信息;所述第一转储任务T1和所述第二转储任务T2的所述任务编号不同,所述采集和转储配置信息均相同。
(3)根据(2)所述的SCADA***实时数据转储方法,其中,所述采集和转储配置信息可以包括以下一种或多种:任务名称、任务类型、数据采集和转储程序路径、数据采集和转储程序名称、采集任务编号以及转储目的数据表名。
(4)根据(1)所述的SCADA***实时数据转储方法,所述方法还可以包括:在建立SCADA***实时数据转储任务队列后,设置所述第一转储任务 T1和所述第二转储任务T2的主备关系;
其中,所述第一转储任务T1为主任务,所述第二转储任务T2为备任务。
(5)根据(1)所述的SCADA***实时数据转储方法,其中,所述启动所述第一转储任务T1和所述第二转储任务T2可以包括:
分别启动与所述第一转储任务T1相对应的第一数据采集和转储程序A1,以及与所述第二转储任务T2相对应的第二数据采集和转储程序A2;
通过所述第一数据采集和转储程序A1和所述第二数据采集和转储程序 A2访问并记录运行信息到预设的任务同步表Y1。
(6)根据(5)所述的SCADA***实时数据转储方法,其中,所述任务同步表Y1可以包括:任务编码、任务状态、状态变化时间、数据转储时间点;
其中,所述任务编码包括:代表主任务的第一编码M1和代表备任务的第二编码M2;
所述任务状态包括:运行状态X1、故障状态X2、申请状态X3、续传状态X4和工作状态X5。
(7)根据(6)所述的SCADA***实时数据转储方法,其中,所述由所述第一转储任务T1申请获取数据转储权,并执行正常的数据转储,以将所述实时数据写入预设的关系库数据表中可以包括:
通过所述第一数据采集和转储程序A1设置所述任务同步表Y1中的所述第一转储任务T1的任务状态为申请状态X3,以申请所述数据转储权;
在获取所述数据转储权后,通过所述第一数据采集和转储程序A1执行正常数据转储任务过程,将采集到的实时数据写入预设的第一关系库数据表W1 中;并将所述任务同步表Y1中的任务状态设置为工作状态X5,更新所述数据转储时间点和所述状态变化时间。
(8)根据(6)所述的SCADA***实时数据转储方法,其中,所述当所述第一转储任务T1在进行数据转储过程中出现故障时,由所述第二转储任务 T2根据所述第二缓冲数据文件中存储的实时数据进行断点续传可以包括:
由所述第二转储任务T2通过所述任务同步表Y1的任务状态判断所述第一转储任务T1的故障并申请获取数据转储权;
从所述任务同步表Y1的数据转储时间点和状态变化时间获取所述第一转储任务T1的第一数据断点B1;
从所述第二缓冲数据文件中提取包括所述第一数据断点B1的连续数据队列并执行续传过程,以进行断点续传;
完成所述断点续传后更改预设的任务故障表Y2的恢复状态为已恢复,并更新所述任务同步表Y1的数据转储时间点和状态变化时间;
所述当所述第二转储任务T2在进行数据转储过程中出现故障,所述第一转储任务T1的故障已排除时,由所述第一转储任务T1根据所述第一缓冲数据文件中存储的实时数据进行断点续传可以包括:
由所述第一转储任务T1通过所述任务同步表Y1的任务状态判断所述第二转储任务T2的故障并申请获取数据转储权;
从所述任务同步表Y1的数据转储时间点和状态变化时间获取所述第二转储任务T2的第二数据断点B2;
从所述第一缓冲数据文件中提取包括所述第二数据断点B2的连续数据队列并执行续传过程,以进行断点续传;
完成所述断点续传后更改预设的任务故障表Y2的恢复状态为已恢复,并更新所述任务同步表Y1的数据转储时间点和状态变化时间。
(9)根据(1)-(8)任意一项所述的SCADA***实时数据转储方法,其中,所述数据转储过程中的故障可以包括:转储程序自身故障。
于本发明的另一个实施例中,提供了:
(10)一种数据采集与监视控制SCADA***实时数据转储装置,包括:处理器和计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令被所述处理器执行时,实现上述的SCADA***实时数据转储方法。
本发明实施例包括:建立SCADA***实时数据转储任务队列;所述实时数据转储任务队列中至少包括:第一转储任务T1和第二转储任务T2;启动所述第一转储任务T1和所述第二转储任务T2,并分别通过所述第一转储任务T1和所述第二转储任务T2不间断采集实时数据,存入相应的第一缓冲数据文件和第二缓冲数据文件;由所述第一转储任务T1申请获取数据转储权,并执行正常的数据转储,以将所述实时数据写入预设的关系库数据表中;当所述第一转储任务T1在进行数据转储过程中出现故障时,由所述第二转储任务T2根据所述第二缓冲数据文件中存储的实时数据进行断点续传,实现自动故障恢复;当所述第二转储任务T2在进行数据转储过程中出现故障,所述第一转储任务T1的故障已排除时,由所述第一转储任务T1根据所述第一缓冲数据文件中存储的实时数据进行断点续传,实现自动故障恢复。通过该实施例方案,解决SCADA***实时数据转储过程中出现的因软件故障原因引起的数据断续问题,实现了防止数据转储程序异常后出现的数据断续,避免了故障引发的故障恢复、补齐历史数据行为,保证了数据转储的顺序写入,从而提高了SCADA***实时数据转储的稳定性。
本发明实施例的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明实施例技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明实施例的技术方案,并不构成对本发明实施例技术方案的限制。
图1为本发明实施例的数据采集与监视控制SCADA***实时数据转储方法流程图;
图2为本发明实施例的SCADA***实时数据转储方法结构示意图;
图3为本发明实施例的启动第一转储任务T1和第二转储任务T2的方法流程图;
图4为本发明实施例的由第一转储任务T1申请获取数据转储权,并执行正常的数据转储的方法流程图;
图5为本发明实施例的当第一转储任务T1在进行数据转储过程中出现故障时,由第二转储任务T2根据第二缓冲数据文件中存储的实时数据进行断点续传的方法流程图;
图6为本发明实施例的当第二转储任务T2在进行数据转储过程中出现故障,第一转储任务T1的故障已排除时,由第一转储任务T1根据第一缓冲数据文件中存储的实时数据进行断点续传的方法流程图;
图7为本发明实施例的SCADA***实时数据转储装置组成框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
实施例一
一种SCADA***实时数据转储方法,如图1、图2所示,可以包括 S101-S104:
S101、建立SCADA***实时数据转储任务队列;所述实时数据转储任务队列中至少包括:第一转储任务T1和第二转储任务T2;
S102、启动所述第一转储任务T1和所述第二转储任务T2,并分别通过所述第一转储任务T1和所述第二转储任务T2不间断采集实时数据,存入相应的第一缓冲数据文件和第二缓冲数据文件;
S103、由所述第一转储任务T1申请获取数据转储权,并执行正常的数据转储,以将所述实时数据写入预设的关系库数据表中;
S104、当所述第一转储任务T1在进行数据转储过程中出现故障时,由所述第二转储任务T2根据所述第二缓冲数据文件中存储的实时数据进行断点续传,实现自动故障恢复;当所述第二转储任务T2在进行数据转储过程中出现故障,所述第一转储任务T1的故障已排除时,由所述第一转储任务T1根据所述第一缓冲数据文件中存储的实时数据进行断点续传,实现自动故障恢复。
在本发明实施例中,为了解决背景技术中所提出的问题,建立了SCADA ***实时数据转储任务队列,并行运行多个数据采集和转储程序,建立软件同步运行机制,提供在线运行备份功能,数据采集或转储异常时,实现故障记录和冗余处理,能够较大提高SCADA***实时数据转储的稳定性。
实施例二
该实施例在实施例一的基础上,给出了建立SCADA***实时数据转储任务队列的一种具体实施方式。
在本发明实施例中,所述建立SCADA***实时数据转储任务队列可以包括:
设置转储任务配置表;
在所述转储任务配置表中配置所述第一转储任务T1和所述第二转储任务 T2;
其中,所述转储任务配置表包括:任务编号以及采集和转储配置信息;所述第一转储任务T1和所述第二转储任务T2的所述任务编号不同,所述采集和转储配置信息均相同。
在本发明实施例中,可以设置转储任务配置表C2,该转储任务配置表C2 中配置两个转储任务分别为第一转储任务T1和第二转储任务T2。第一转储任务T1和第二转储任务T2的任务编号不同,采集和转储配置信息相同。
在本发明实施例中,所述采集和转储配置信息可以包括以下一种或多种:任务名称、任务类型、数据采集和转储程序路径、数据采集和转储程序名称、采集任务编号以及转储目的数据表名。
在本发明实施例中,转储任务配置表C2可以包括任务编号、任务名称、任务类型、数据采集和转储程序路径、数据采集和转储程序名称、采集任务编号、转储目的数据表名等信息项中的一项或多项。
在本发明实施例中,所述方法还可以包括:在建立SCADA***实时数据转储任务队列后,设置所述第一转储任务T1和所述第二转储任务T2的主备关系;其中,所述第一转储任务T1为主任务(M1),所述第二转储任务T2 为备任务(M2)。
在本发明实施例中,在转储任务配置表C2中,可以设置第一转储任务 T1的任务类型为主任务(M1),设置第二转储任务T2的任务类型为备任务 (M2)。
在本发明实施例中,在建立SCADA***实时数据转储任务队列之前,可以预先设置的采集数据配置表C1,以便根据该采集数据配置表C1执行不间断的实时数据采集任务。
在本发明实施例中,采集数据配置表C1中可以包含要从SCADA***获取并转储的数据项信息,具体可以包含以下任意一项或多项信息:采集任务编号、采集的输入输出IO点名称、数据项名称、采集频率、取值方式等。
实施例三
该实施例在实施例一或实施例二的基础上,给出了启动所述第一转储任务T1和所述第二转储任务T2的一种具体实施方式。
在本发明实施例中,如图3所示,所述启动所述第一转储任务T1和所述第二转储任务T2可以包括S201-S202:
S201、分别启动与所述第一转储任务T1相对应的第一数据采集和转储程序A1,以及与所述第二转储任务T2相对应的第二数据采集和转储程序A2;
S202、通过所述第一数据采集和转储程序A1和所述第二数据采集和转储程序A2访问并记录运行信息到预设的任务同步表Y1。
在本发明实施例中,可以预先编写与所述第一转储任务T1相对应的第一数据采集和转储程序A1,以及与所述第二转储任务T2相对应的第二数据采集和转储程序A2;再启动第一转储任务T1和第二转储任务T2时,可以分别启动第一数据采集和转储程序A1和第二数据采集和转储程序A2,程序A1 和程序A2访问并记录运行信息到任务同步表Y1,并记录任务同步表Y1中的任务状态为X1(运行)状态。
在本发明实施例中,所述任务同步表Y1可以包括:任务编码、任务状态、状态变化时间、数据转储时间点;
其中,所述任务编码包括:代表主任务的第一编码M1和代表备任务的第二编码M2;
所述任务状态包括:运行状态X1、故障状态X2、申请状态X3、续传状态X4和工作状态X5。
在本发明实施例中,任务编码(或称任务类型编码)说明:M1(主):主任务;M2(备):备任务。即,在相应的任务编码栏设置M1时,指对应的转储任务为主任务;在相应的任务编码栏设置M2时,指对应的转储任务为备任务。
在本发明实施例中,该任务编码可以包括但不限于字母M1和M2,还可以采用除M1和M2以外的任何数字、字母、字符等。
在本发明实施例中,任务状态说明:
X1(运行):软件启动后,在任务同步表Y1的任务状态项写入该状态;
X2(故障):软件转储出现异常,在任务同步表Y1的任务状态项写入该状态;
X3(申请):申请执行数据转储任务,当任务状态不在转储(非续传状态和非工作状态)或更新时间已失效(如更新时间小于60秒的记录),则可将任务状态更新为申请状态;
X4(续传):执行断点续传工作;
X5(工作):执行实时转储工作。
在本发明实施例中,该任务状态的表示方式可以包括但不限于字母X1-X5,还可以采用除X1-X5以外的任何数字、字母、字符等。
在本发明实施例中,数据采集和转储任务程序的实现方式可以选择OPC 方式或接口调用方式。
实施例四
该实施例在上述任意实施例的基础上,给出了分别通过所述第一转储任务T1和所述第二转储任务T2不间断采集实时数据,存入相应的第一缓冲数据文件和第二缓冲数据文件的一种具体实施方式。
在本发明实施例中,可以按照预先设置的采集数据配置表C1信息从 SCADA***获取实时数据,数据采集和转储程序启动后,该程序可以执行不间断的实时数据采集任务。
在本发明实施例中,分别通过所述第一转储任务T1和所述第二转储任务 T2不间断采集实时数据,存入相应的第一缓冲数据文件和第二缓冲数据文件具体可以包括:不间断执行第一转储任务T1的采集过程K1_1和写入缓冲数据过程K3_1;并不间断执行第二转储任务T2的采集过程K1_2和写入缓冲数据过程K3_2。
在本发明实施例中,不间断执行第一转储任务T1的采集过程K1_1和写入缓冲数据过程K3_1可以包括:第一转储任务T1的第一数据采集和转储程序A1按照采集数据配置表C1列表,执行采集过程K1_1,从SCADA实时库获取实时数据;执行K3_1过程,将实时数据写入第一缓冲数据文件F1。
在本发明实施例中,不间断执行第二转储任务T2的采集过程K1_2和写入缓冲数据过程K3_2可以包括:第二转储任务T2的第二数据采集和转储程序A2按照采集数据配置表C1列表,执行采集过程K1_2,从SCADA实时库获取实时数据;执行K3_2过程,将实时数据写入第二缓冲数据文件F2。
实施例五
该实施例在上述任意实施例的基础上,给出了第一转储任务T1申请获取数据转储权的一种具体实施方式。
在本发明实施例中,如图4所示,由所述第一转储任务T1申请获取数据转储权,并执行正常的数据转储,以将所述实时数据写入预设的关系库数据表中可以包括S301-S302:
S301、通过所述第一数据采集和转储程序A1设置所述任务同步表Y1中的所述第一转储任务T1的任务状态为申请状态X3,以申请所述数据转储权;
S302、在获取所述数据转储权后,通过所述第一数据采集和转储程序A1 执行正常数据转储任务过程,将采集到的实时数据写入预设的第一关系库数据表W1中;并将所述任务同步表Y1中的任务状态设置为工作状态X5,更新所述数据转储时间点和所述状态变化时间。
在本发明实施例中,可以通过第一数据采集和转储程序A1执行数据转储权申请过程K2_1,以使得标记为主任务的第一转储任务T1申请获取数据转储权。具体地,可以通过第一数据采集和转储程序A1设置任务同步表Y1中第一转储任务T1的相应任务状态为X3(申请)状态,以申请数据转储权。
在本发明实施例中,也可以首先通过第二数据采集和转储程序A2执行数据转储权申请过程K2_2,以使得标记为副任务的第二转储任务T2申请获取数据转储权。具体地可以根据实际应用场景自行定义,在此不做具体限制。
在本发明实施例中,第一转储任务T1获取数据转储权后,执行正常数据转储,将实时数据写入关系库数据表,具体可以包括:第一转储任务T1的第一数据采集和转储程序A1执行正常数据转储任务过程K5_1,将采集到的实时数据写入数据表W1中,任务同步表Y1中第一转储任务T1的任务状态设置为X5(工作)状态,更新数据转储时间点和状态变化时间。第一转储任务 T1继续不间断执行转储任务过程K5_1。
在本发明实施例中,数据表W1中可以包括但不限于下述的任意一项或多项:IO(输入输出)点代码、数据项名称、值以及采集时间等。
实施例六
该实施例在上述任意实施例的基础上,给出了第一转储任务T1出现故障后述第二转储任务T2进行断点续传的一种具体实施方式。
在本发明实施例中,如图5所示,所述当所述第一转储任务T1在进行数据转储过程中出现故障时,由所述第二转储任务T2根据所述第二缓冲数据文件中存储的实时数据进行断点续传可以包括S401-S404:
S401、由所述第二转储任务T2通过所述任务同步表Y1的任务状态判断所述第一转储任务T1的故障并申请获取数据转储权;
S402、从所述任务同步表Y1的数据转储时间点和状态变化时间获取所述第一转储任务T1的第一数据断点B1;
S403、从所述第二缓冲数据文件中提取包括所述第一数据断点B1的连续数据队列并执行续传过程,以进行断点续传;
S404、完成所述断点续传后更改预设的任务故障表Y2的恢复状态为已恢复,并更新所述任务同步表Y1的数据转储时间点和状态变化时间。
在本发明实施例中,第一转储任务T1的第一数据采集和转储程序A1执行数据转储任务过程K5_1出现故障后,第一数据采集和转储程序A1的故障记录过程K4_1,可以将故障数据时点记录到任务故障表Y2中,任务故障表 Y2中的恢复状态项标记为未恢复,任务同步表Y1中第一转储任务T1对应的任务状态设置为X2(故障)状态,并更新状态变化时间。
在本发明实施例中,第一转储任务T1故障,第二转储任务T2实现故障恢复过程,具体可以包括:1、第二转储任务T2判断第一转储任务T1故障并申请获取数据转储权;即,第二转储任务T2访问任务同步表Y1判断第一转储任务T1故障,第二转储任务T2申请并获取数据转储权,任务同步表Y1 中第二转储任务T2相对应的任务状态赋为X3(申请)状态;2、从任务状态表Y1中获取第一转储任务T1的数据断点,标记为第一数据断点B1;3、对第一数据断点B1进行断点续传,实现故障恢复;即,第二数据采集和转储程序A2执行提取缓冲数据过程K3_2,从第二缓冲数据文件F2中提取缓冲数据,获取包括第一数据断点B1的连续数据队列并执行续传过程K5_2(该续传过程K5_2也是第二转储任务T2的正常数据转储任务过程);完成断点续传后,更改任务故障表Y2的恢复状态为已恢复,更新数据转储时间点和状态变化时间。
在本发明实施例中,第二数据采集和转储程序A2不间断执行数据转储任务过程K5_2期间,将采集到的实时数据写入数据表W1,任务同步表Y1中第二转储任务T2的任务状态设置为X5(工作)状态。
在本发明实施例中,如果在第二转储任务T2执行正常的数据转储任务过程K5_2期间,第一转储任务T1的故障已排除,可以继续执行正常的数据转储任务,则第一转储任务T1可以重新申请获取数据转储权;以继续通过第一转储任务T1将实时数据写入数据表W1中。
在本发明实施例中,上述的任务故障表Y2中的恢复状态可以采用不同的状态标识来表示,该状态标识可以包括但不限于数值01和02,其中,01可以表示未恢复,02可以表示已恢复;在其它实施例中,还可以采用除01和 02以外的任何数字、字母、字符等。
实施例七
该实施例在上述任意实施例的基础上,给出了第二转储任务T2出现故障后述第一转储任务T1进行断点续传的一种具体实施方式。
在本发明实施例中,如图6所示,所述当所述第二转储任务T2在进行数据转储过程中出现故障,所述第一转储任务T1的故障已排除时,由所述第一转储任务T1根据所述第一缓冲数据文件中存储的实时数据进行断点续传可以包括S501-S504:
S501、由所述第一转储任务T1通过所述任务同步表Y1的任务状态判断所述第二转储任务T2的故障并申请获取数据转储权;
S502、从所述任务同步表Y1的数据转储时间点和状态变化时间获取所述第二转储任务T2的第二数据断点B2;
S503、从所述第一缓冲数据文件中提取包括所述第二数据断点B2的连续数据队列并执行续传过程,以进行断点续传;
S504、完成所述断点续传后更改预设的任务故障表Y2的恢复状态为已恢复,并更新所述任务同步表Y1的数据转储时间点和状态变化时间。
在本发明实施例中,第二转储任务T2的第二数据采集和转储程序A2执行正常的数据转储任务过程K5_2出现故障后,第二数据采集和转储程序A2 的故障记录过程K4_2,可以将故障数据时点记录到任务故障表Y2中,任务故障表Y2中的恢复状态项标记为未恢复,任务同步表Y1中第二转储任务T2 对应的任务状态设置为X2(故障)状态,并更新状态变化时间。
在本发明实施例中,第二转储任务T2故障,第一转储任务T1实现故障恢复过程,具体可以包括:1、第一转储任务T1判断第二转储任务T2故障并申请获取数据转储权;即,第一转储任务T1访问任务同步表Y1判断第二转储任务T2故障,第一转储任务T1申请并获取数据转储权,任务同步表Y1 中第一转储任务T1相对应的任务状态赋为X3(申请)状态;2、从任务状态表Y1中获取第二转储任务T2的数据断点,标记为第二数据断点B2;3、对第二数据断点B2进行断点续传,实现故障恢复;即,第一数据采集和转储程序A1执行提取缓冲数据过程K3_1,从第一缓冲数据文件F1中提取缓冲数据,获取包括第二数据断点B2的连续数据队列并执行续传过程K5_1(该续传过程K5_1也是第一转储任务T1的正常数据转储任务过程);完成断点续传后,更改任务故障表Y2的恢复状态为已恢复,更新数据转储时间点和状态变化时间。
在本发明实施例中,第一数据采集和转储程序A1不间断执行数据转储任务过程K5_1期间,将采集到的实时数据写入数据表W1,任务同步表Y1中第一转储任务T1的任务状态设置为X5(工作)状态。
实施例八
该实施例在上述任意实施例的基础上,给出了数据转储过程中的故障类型实施例。
在本发明实施例中,所述数据转储过程中的故障可以包括但不限于:转储程序自身故障。
在本发明实施例中,转储任务故障场景(转储程序自身故障)的原因可以包括:程序异常、数据转储写入异常。在该场景下,出现故障的转储任务不能继续执行数据转储,则可以通过另一个正常的转储任务进行断点续传,继续进行数据转储。通过该实施例方案,解决SCADA***实时数据转储过程中出现的因软件故障原因引起的数据断续问题,实现了防止数据转储程序异常后出现的数据断续,避免了故障引发的故障恢复、补齐历史数据行为,保证了数据转储的顺序写入,从而提高了SCADA***实时数据转储的稳定性。
实施例九
一种数据采集与监视控制SCADA***实时数据转储装置1,如图7所示,可以包括:处理器11和计算机可读存储介质12,所述计算机可读存储介质 12中存储有指令,当所述指令被所述处理器11执行时,实现上述的SCADA ***实时数据转储方法。
本发明实施例包括:建立SCADA***实时数据转储任务队列;所述实时数据转储任务队列中至少包括:第一转储任务T1和第二转储任务T2;启动所述第一转储任务T1和所述第二转储任务T2,并分别通过所述第一转储任务T1和所述第二转储任务T2不间断采集实时数据,存入相应的第一缓冲数据文件和第二缓冲数据文件;由所述第一转储任务T1申请获取数据转储权,并执行正常的数据转储,以将所述实时数据写入预设的关系库数据表中;当所述第一转储任务T1在进行数据转储过程中出现故障时,由所述第二转储任务T2根据所述第二缓冲数据文件中存储的实时数据进行断点续传,实现自动故障恢复;当所述第二转储任务T2在进行数据转储过程中出现故障,所述第一转储任务T1的故障已排除时,由所述第一转储任务T1根据所述第一缓冲数据文件中存储的实时数据进行断点续传,实现自动故障恢复。通过该实施例方案,解决SCADA***实时数据转储过程中出现的因软件故障原因引起的数据断续问题,实现了防止数据转储程序异常后出现的数据断续,避免了故障引发的故障恢复、补齐历史数据行为,保证了数据转储的顺序写入,从而提高了SCADA***实时数据转储的稳定性。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、***、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质) 和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
Claims (10)
1.一种数据采集与监视控制SCADA***实时数据转储方法,包括:
建立SCADA***实时数据转储任务队列;所述实时数据转储任务队列中至少包括:第一转储任务T1和第二转储任务T2;
启动所述第一转储任务T1和所述第二转储任务T2,并分别通过所述第一转储任务T1和所述第二转储任务T2不间断采集实时数据,存入相应的第一缓冲数据文件和第二缓冲数据文件;
由所述第一转储任务T1申请获取数据转储权,并执行正常的数据转储,以将所述实时数据写入预设的关系库数据表中;
当所述第一转储任务T1在进行数据转储过程中出现故障时,由所述第二转储任务T2根据所述第二缓冲数据文件中存储的实时数据进行断点续传,实现自动故障恢复;当所述第二转储任务T2在进行数据转储过程中出现故障,所述第一转储任务T1的故障已排除时,由所述第一转储任务T1根据所述第一缓冲数据文件中存储的实时数据进行断点续传,实现自动故障恢复。
2.根据权利要求1所述的SCADA***实时数据转储方法,其特征在于,所述建立SCADA***实时数据转储任务队列包括:
设置转储任务配置表;
在所述转储任务配置表中配置所述第一转储任务T1和所述第二转储任务T2;
其中,所述转储任务配置表包括:任务编号以及采集和转储配置信息;所述第一转储任务T1和所述第二转储任务T2的所述任务编号不同,所述采集和转储配置信息均相同。
3.根据权利要求2所述的SCADA***实时数据转储方法,其特征在于,所述采集和转储配置信息包括以下一种或多种:任务名称、任务类型、数据采集和转储程序路径、数据采集和转储程序名称、采集任务编号以及转储目的数据表名。
4.根据权利要求1所述的SCADA***实时数据转储方法,其特征在于,所述方法还包括:在建立SCADA***实时数据转储任务队列后,设置所述第一转储任务T1和所述第二转储任务T2的主备关系;
其中,所述第一转储任务T1为主任务,所述第二转储任务T2为备任务。
5.根据权利要求1所述的SCADA***实时数据转储方法,其特征在于,所述启动所述第一转储任务T1和所述第二转储任务T2包括:
分别启动与所述第一转储任务T1相对应的第一数据采集和转储程序A1,以及与所述第二转储任务T2相对应的第二数据采集和转储程序A2;
通过所述第一数据采集和转储程序A1和所述第二数据采集和转储程序A2访问并记录运行信息到预设的任务同步表Y1。
6.根据权利要求5所述的SCADA***实时数据转储方法,其特征在于,所述任务同步表Y1包括:任务编码、任务状态、状态变化时间、数据转储时间点;
其中,所述任务编码包括:代表主任务的第一编码M1和代表备任务的第二编码M2;
所述任务状态包括:运行状态X1、故障状态X2、申请状态X3、续传状态X4和工作状态X5。
7.根据权利要求6所述的SCADA***实时数据转储方法,其特征在于,所述由所述第一转储任务T1申请获取数据转储权,并执行正常的数据转储,以将所述实时数据写入预设的关系库数据表中包括:
通过所述第一数据采集和转储程序A1设置所述任务同步表Y1中的所述第一转储任务T1的任务状态为申请状态X3,以申请所述数据转储权;
在获取所述数据转储权后,通过所述第一数据采集和转储程序A1执行正常数据转储任务过程,将采集到的实时数据写入预设的第一关系库数据表W1中;并将所述任务同步表Y1中的任务状态设置为工作状态X5,更新所述数据转储时间点和所述状态变化时间。
8.根据权利要求6所述的SCADA***实时数据转储方法,其特征在于,所述当所述第一转储任务T1在进行数据转储过程中出现故障时,由所述第二转储任务T2根据所述第二缓冲数据文件中存储的实时数据进行断点续传包括:
由所述第二转储任务T2通过所述任务同步表Y1的任务状态判断所述第一转储任务T1的故障并申请获取数据转储权;
从所述任务同步表Y1的数据转储时间点和状态变化时间获取所述第一转储任务T1的第一数据断点B1;
从所述第二缓冲数据文件中提取包括所述第一数据断点B1的连续数据队列并执行续传过程,以进行断点续传;
完成所述断点续传后更改预设的任务故障表Y2的恢复状态为已恢复,并更新所述任务同步表Y1的数据转储时间点和状态变化时间;
所述当所述第二转储任务T2在进行数据转储过程中出现故障,所述第一转储任务T1的故障已排除时,由所述第一转储任务T1根据所述第一缓冲数据文件中存储的实时数据进行断点续传包括:
由所述第一转储任务T1通过所述任务同步表Y1的任务状态判断所述第二转储任务T2的故障并申请获取数据转储权;
从所述任务同步表Y1的数据转储时间点和状态变化时间获取所述第二转储任务T2的第二数据断点B2;
从所述第一缓冲数据文件中提取包括所述第二数据断点B2的连续数据队列并执行续传过程,以进行断点续传;
完成所述断点续传后更改预设的任务故障表Y2的恢复状态为已恢复,并更新所述任务同步表Y1的数据转储时间点和状态变化时间。
9.根据权利要求1-8任意一项所述的SCADA***实时数据转储方法,其特征在于,所述数据转储过程中的故障包括:转储程序自身故障。
10.一种数据采集与监视控制SCADA***实时数据转储装置,包括:处理器和计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当所述指令被所述处理器执行时,实现如权利要求1-9任意一项所述的SCADA***实时数据转储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810897123.8A CN109150596B (zh) | 2018-08-08 | 2018-08-08 | 一种scada***实时数据转储方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810897123.8A CN109150596B (zh) | 2018-08-08 | 2018-08-08 | 一种scada***实时数据转储方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109150596A CN109150596A (zh) | 2019-01-04 |
CN109150596B true CN109150596B (zh) | 2021-08-03 |
Family
ID=64792160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810897123.8A Active CN109150596B (zh) | 2018-08-08 | 2018-08-08 | 一种scada***实时数据转储方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109150596B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113515516A (zh) * | 2021-08-09 | 2021-10-19 | 北京字节跳动网络技术有限公司 | 一种数据处理方法、装置、计算机设备和计算机存储介质 |
CN116302646B (zh) * | 2023-02-24 | 2024-03-29 | 荣耀终端有限公司 | 一种故障定位方法、***、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102594874A (zh) * | 2008-06-20 | 2012-07-18 | 华为技术有限公司 | 一种同步处理方法和装置 |
CN104699541A (zh) * | 2015-03-30 | 2015-06-10 | 北京奇虎科技有限公司 | 同步数据的方法、装置、数据传输组件及*** |
CN107018554A (zh) * | 2017-03-07 | 2017-08-04 | 广东欧珀移动通信有限公司 | 一种数据传输方法、装置及智能终端 |
CN107423303A (zh) * | 2016-05-24 | 2017-12-01 | 北京京东尚科信息技术有限公司 | 数据同步的方法和*** |
CN107967118A (zh) * | 2016-10-19 | 2018-04-27 | 南京拓界信息技术有限公司 | 一种实现硬盘数据快速转储和查看的方法及设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8908531B2 (en) * | 2011-08-25 | 2014-12-09 | At&T Mobility Ii Llc | Communication gateway for facilitating communications with a supervisory control and data aquisition system |
CN104391764B (zh) * | 2014-10-22 | 2018-02-16 | 上海海得控制***股份有限公司 | 一种计算机容错方法及*** |
-
2018
- 2018-08-08 CN CN201810897123.8A patent/CN109150596B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102594874A (zh) * | 2008-06-20 | 2012-07-18 | 华为技术有限公司 | 一种同步处理方法和装置 |
CN104699541A (zh) * | 2015-03-30 | 2015-06-10 | 北京奇虎科技有限公司 | 同步数据的方法、装置、数据传输组件及*** |
CN107423303A (zh) * | 2016-05-24 | 2017-12-01 | 北京京东尚科信息技术有限公司 | 数据同步的方法和*** |
CN107967118A (zh) * | 2016-10-19 | 2018-04-27 | 南京拓界信息技术有限公司 | 一种实现硬盘数据快速转储和查看的方法及设备 |
CN107018554A (zh) * | 2017-03-07 | 2017-08-04 | 广东欧珀移动通信有限公司 | 一种数据传输方法、装置及智能终端 |
Also Published As
Publication number | Publication date |
---|---|
CN109150596A (zh) | 2019-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114584539B (zh) | 一种工业现场设备的云端升级方法及*** | |
CN111108481B (zh) | 故障分析方法及相关设备 | |
CN106789741A (zh) | 消息队列的消费方法及装置 | |
CN113946499A (zh) | 一种微服务链路跟踪及性能分析方法、***、设备及应用 | |
CN109150596B (zh) | 一种scada***实时数据转储方法和装置 | |
CN110063042A (zh) | 一种数据库故障的响应方法及其终端 | |
CN109116818B (zh) | 一种scada***升级时的实时数据转储方法和装置 | |
CN114816820A (zh) | chproxy集群故障修复方法、装置、设备及存储介质 | |
EP3646182A1 (en) | Recovery of application from error | |
CN109241029B (zh) | 一种实现scada***数据库平滑迁移的方法和装置 | |
CN113672306A (zh) | 服务器组件自检异常恢复方法、装置、***及介质 | |
CN113468143A (zh) | 数据迁移方法、***、计算设备及存储介质 | |
CN110968456B (zh) | 分布式存储***中故障磁盘的处理方法及装置 | |
CN109189599B (zh) | 一种提高scada***实时数据转储稳定性的方法和装置 | |
CN108804239B (zh) | 平台整合的方法、装置、计算机设备和存储介质 | |
CN114398334A (zh) | 基于ZNBase集群的Prometheus远程存储方法及*** | |
CN113836223A (zh) | 一种异构数据库数据同步的方法 | |
CN114090541A (zh) | 数据库业务处理方法和装置 | |
CN116149707B (zh) | 分布式***的升级风险检测和规避方法及装置 | |
CN115134213B (zh) | 一种容灾方法、装置、设备及存储介质 | |
CN113535528B (zh) | 面向分布式图迭代计算作业的日志管理***、方法及介质 | |
CN117632559A (zh) | 故障磁盘修复方法、装置、存储介质及电子设备 | |
CN116775361A (zh) | 一种虚拟化云平台故障修复方法、装置、设备及介质 | |
CN114756429A (zh) | 一种软件运行故障检测方法 | |
CN116719791A (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 |