SCADA系统中大数据量处理的研究与开发分析

(整期优先)网络出版时间:2019-11-22
/ 2

SCADA系统中大数据量处理的研究与开发分析

余敏

上海市200000

摘要:本文主要针对SCADA系统中大数据量处理方面存在的问题进行了探讨,提出了一些优化数据结构以及算法的具体措施,通行结合实际的应用情况,对SCADA系统中大数据量处理在数据访问以及管理方面存在的问题进行了很好的解决,从而使得数据访问速率以及系统整体的运行速率得到了进一步提升。

【关键词】SCADA系统;大数据;数据结构;算法

引言

SCADA系统是又称数据采集和监控系统(SupervisoryControlAndDataAcquisition)。由于很多企业在实际系统建立的过程中会设置很多数据采集点,但基于实际应用的需求,需要将采集的数据或者运算后的数据进行长时间的保留存档,在此基础上才能进一步实现对数据的查询、分析以及统计。另外,大部分数据在实际进行采集的过程中对实时性的要求非常高,因此必须要保证数据的高频率采集,甚至,部分数据采集周期已精确到毫秒。在此情况下,必然会导致在数据库中存储的数据量越来越大。鉴于此,要想充分保证系统的稳定运行,并能够实现系统的正常访问,就必然要增加采集数据的处理量。

1系统分析

在实际针对SCADA系统实施和数据管理系统开发的过程中,经常会遇到以下这一问题。系统在实际应用过程中情况下都会设置数百甚至上千的数据采集点,而这些数据采集点中包括了温度、流量、压力、水位等多种监测数据。在大多SCADA系统中,都会为不同的数据预留2s的采集时间间隔,而多数情况下数据的保留时间都会超过一年,由此通过计算可以知道,系统的数据库每天、每月、每年都要增加庞大的数据记录量。如果要将海量数据存储在单一的数据表中,在后期进行数据访问或者数据提取处理的时候,会导致系统的响应时间很长。如果将系统某三个月的数据存储在一个数据库表中,并针对某一天的数据进行处理,最终生成数据的变化趋势图表。在此情况下,整个系统的响应时间虽然有明显缩短,但距离系统的正常使用依然存在一定的差距。由此可见,在针对大数据量进行处理的过程中如果仍然应用常规的数据处理方法,其实际的处理效率非常低[1]。

2处理方案分析

针对上述实际应用存在的问题,完全可以在不改变数据采集周期或者不额外增加硬件设备的前提下,通过对数据结构以及算法进行进一步优化,有效的提升访问数据系统的运行效率,其主要实现的方法如下所述:

1)实现表数据的负载平衡

2)对数据索引进行合理的应用

3)针对数据的访问算法进行进一步优化

4)针对数据定期的汇总统计

5)针对一些过去的数据进行定期删除或备份

2.1实现表数据负载的平衡

在实际针对数据进行处理的时候,由于基表的数据量非常庞大,从而导致数据的处理速率非常慢。鉴于此,要想不改变系统实际的检测点位设置数量,并保持现有的数据采集周期,通过将基表的数据量进行进一步的缩减,就能够进一步提升以实际来处理数据。在具体的实施过程中,首先采取的主要措施与分页访问的原理极为相似,也就是说,针对所有的数据信息,将其按照一定的原则严格的分布在多个表中。

针对实际应用情况,首先需要将多个采集点进行编号处理,例如可以将数据的采集点按照1,2,…,100的方式进行采集点编号处理[2]。不同的采集点按照数据类型进行分组,并充分结合数据的采集的实际时间,来构建起数据存储的“分页”,也就是数据基表。并按照一定的规则对数据的基表进行命名。

在此基础上就能够将所有的数据按照实际采集时间以及系统的具体特征实现均衡的分布。从而使得各个基表实际的数据负载达到了均衡状态。不同的数据基表实际能够记录的数据量按照每月的天数以及实际分组内部数据采集点的数量来进行计算。随后充分结合系统服务器的实际性能以及实际的数据库处理能力,对不同的数据基表的数据记录数量进行严格的限定。

这样在实际针对数据进行访问的时候,就可以按照数据采集点具体信息以及实际的数据时间信息等,在数据表中对实际的数据处理范围进行严格限定,这样就能从根本上的解决系统响应速度慢的问题。

在实际针对应用进行开发的过程中,相关设计人员可以根据实际情况的差异来实现对不同基表命名规则的灵活调整。而其调整的最终原则就是要将整个系统中表的数量控制在最低,并保证每一个表中实际的数据量维持恒定,针对每个表能够设置过大的数据量,在此基础上设计出的访问程序才能更加具有合理性,也能够进一步提升数据处理效率[3]。

2.2数据表索引的合理应用

通过本章第一节的分析可以发现,在完成对数据存储的“分页”处理之后,进行数据存储的不同表之间就实现了负载的平衡,但是每一个数据基表在运行过程中仍然需要记录超过百万的数据量。如果不能采取合理的措施,必然也会对系统数据的访问速度造成严重的影响。因此必须要通过针对上述的表建立起相应的索引,对于一个具有成熟经验的程序员来说,当前面对海量数据处理的时候,通常情况下都会对索引进行合理的使用,这样就能够将数据处理的效率进行大幅的提升。

在实际针对SCADA系统进行数据管理的过程中,数据的查询、统计以及汇总等各个操作,通常情况下都会指定出两个字段的限定条件,而其主要指的就是数据的采集点以及采集时间。因此在实际进行所以建立的过程中,主要就是在上述两个关键字的基础上来实施。

在实际的系统运行过程中,当需要进行数据访问的时候,尽可能的对索引条件进行合理的使用,结合SQL数据访问算法的有效辅助,可以极大的提升实际的数据访问速率。

2.3优化数据访问算法

在完成上述两个部分的数据处理之后,大多数情况下在进行数据访问的时候,访问速度问题能够得到有效解决。但是针对一些复杂的数据处理需求,仍然会出现数据处理效率受到严重影响的现象。在这种状况下,就必须要实现对数据访问算法的进一步优化。

2.4对数据进行定期的汇总统计

当完成对数据存储的“分页”处理之后,也就意味着我们在实际进行跨月份数据查询或者数据汇总的时候,必然会遇到一定的难题。这主要是因为,如果按照上述的数据设定,在进行跨月份数据查询或者汇总的时候必须要将多个表进行联合后才能完成查询[4]。

在实际针对温度、压力或者液位等不同数据进行查询访问的时候,用户不可能会将几个月之内的千万条数据进行显示或者打印后来实现数据查询,但是在实际中经常会遇到需要针对某一个时期内的流量或者电量等数据进行统计的情况,我们可以在日常针对系统进行维护管理的过程中,针对每一天的数据进行一次汇总,并将其存入到一个单独的数据表中,这样在需要进行类似数据处理的过程中,针对该单独的数据表进行访问即可完成。

2.5定期删除或者备份过期数据

任何表都不可能在数据库中进行永久的保存,因此就必须要针对一些过去的数据进行及时的清理。在有必要的情况下,可以针对一些重要的数据进行备份处理,然后释放这部分数据所占用的系统资源,在此基础上也能够实现系统的稳定运行,并进一步提升系统整体的运行效率和查询效率。

3结束语

上述处理方案最大的优点就是能够在现有硬件设备基础上,将数据访问的速度进行进一步提升,以此来充分保证整个系统运行的稳定性,也能够完全满足实际应用以及设计开发的具体需求。而在实际系统应用的过程中会遇到大部分数据处理和访问的问题,通过上述的处理方案,都能够得到有效的解决。

参考文献

[1]张艳明.基于Hadoop的SCADA系统异常行为分析系统设计与实现[D].西南石油大学,2017.

[2]刘孟昕.SCADA系统中海量数据采集及存储策略的研究与实现[D].北京邮电大学,2015.

[3]石睿.基于大数据分析的风电机组运行状态监测方法研究[D].长春工业大学,2018.

[4]牟乃夏.城市管网地理信息系统的数据模型与数据集成机理研究[D].中国地质大学,2006.