面向SCADA系统的爆发式数据缓存处理系统及其方法与流程

文档序号:11294105阅读:274来源:国知局
面向SCADA系统的爆发式数据缓存处理系统及其方法与流程
本发明涉及一种数据缓存处理系统,尤其涉及一种面向SCADA系统的爆发式数据缓存处理系统,同时还涉及该系统实现爆发式数据缓存处理的方法,属于数据处理技术领域。

背景技术:
SCADA(数据采集与监视控制)系统是以计算机为基础的生产过程控制与调度自动化系统,广泛应用于电力、冶金、石油、化工等行业中。随着SCADA系统规模的不断增大,需要监控的内容和数据越来越多,SCADA系统正不断面临海量数据处理的考验。近年来,随着计算机和网络技术的飞速发展,大量计算机和网络技术应用到SCADA系统中,使SCADA系统的应用功能越来越强大。但是,专门针对SCADA系统海量数据处理的研究并不多见。随着海量数据管理越来越复杂,海量数据的存储、查询日益成为影响SCADA系统性能的瓶颈。现有的SCADA系统在进行海量数据处理的过程中,当遇到爆发式数据存储请求时,可能会出现以下问题:第一,由于爆发式数据存储请求会在短时间内聚集海量数据,在内存中等待提交数据库,可能会导致内存溢出,导致大量重要数据的丢失。更甚者会致使整个SCADA系统直接崩溃,这种后果将是灾难性的。第二,数据存储请求太多,会导致SCADA系统的响应性降低,影响其他应用进程的运行。第三,大量的数据库连接会导致数据库负荷过高,甚至会导致数据库崩溃,直接影响其他进程对数据库的访问。

技术实现要素:
针对现有技术所存在的不足,本发明所要解决的技术问题在于提供一种面向SCADA系统的爆发式数据缓存处理系统及其方法。该技术方案不仅改善了系统的响应性,还保证了数据库的安全性。为实现上述的发明目的,本发明采用下述的技术方案:一方面,本发明提供一种面向SCADA系统的爆发式数据缓存处理系统,包括:数据接收模块、文件缓存模块、数据预读模块、队列缓存模块、数据优化模块、线程池模块;其中,所述数据接收模块分别与所述队列缓存模块和所述文件缓存模块连接,所述文件缓存模块通过所述数据预读模块连接所述队列缓存模块,所述队列缓存模块连接所述数据优化模块,所述数据优化模块连接所述线程池模块;所述数据接收模块接收应用程序发送的数据存储请求报文,按缓存队列的状态放入文件缓存模块的磁盘缓存文件或缓存队列中,其中不能放入缓存队列中的数据存储请求存储在所述文件缓存模块中;所述数据预读模块将所述文件缓存模块中存储的数据存储请求插入到缓存队列中;所述数据优化模块读取所述缓存队列中的数据存储请求,对所述数据存储请求优化后调用线程池中的空闲线程,执行数据存储操作。另一方面,本发明还提供一种上述系统实现爆发式数据缓存处理的方法,包括如下步骤:接收应用程序发送的数据存储请求,并按缓存队列的状态放入磁盘缓存文件或缓存队列中;将所述磁盘缓存文件保存的数据存储请求插入到缓存队列中;读取数据存储请求,并对数据存储请求优化后调用空闲线程;执行数据存储操作。其中较优地,所述按缓存队列的状态放入磁盘缓存文件或缓存队列的步骤进一步包括:接收数据存储请求报文后,判断缓存队列是否已满;如果缓存队列未满,按照不同的优先级将数据存储请求放入相应的缓存队列中;若缓存队列已满,将数据存储请求写入磁盘缓存文件中。其中较优地,所述将磁盘缓存文件保存的数据存储请求插入到缓存队列的步骤进一步包括:判断缓存队列是否已满;若缓存队列不满,则将磁盘缓存文件中保存的数据存储请求读出,并按照不同的优先级将数据存储请求放入相应的缓存队列中;若缓存队列已满,则等待,直至缓存队列有空闲。其中较优地,所述读取数据存储请求,并对数据存储请求优化后调用空闲线程的步骤进一步包括:按照缓存队列的不同优先级读取数据存储请求;利用SQL语句优化策略优化数据;根据空闲线程链表的空闲情况调用空闲线程。其中较优地,所述按照缓存队列的不同优先级读取数据存储请求的步骤进一步包括:判断紧急请求缓存队列是否为空,若紧急请求缓存队列不为空则读取数据存储请求;否则,判断重要请求缓存队列是否为空,若重要请求缓存队不为空则读取数据存储请求;否则,判断普通请求队列是否为空。若普通请求队列不为空则读取数据存储请求;否则继续等待,直至缓存队列有数据存储请求。其中较优地,所述SQL语句优化策略包括:SQL语句共享优化、模糊匹配避免策略、逻辑表达式等价交换策略、子查询合并策略、用where语句代替having语句策略、多个or连接的表达式转化为any表达式中的一种或多种。其中较优地,所述根据空闲线程链表的空闲情况调用空闲线程的步骤进一步包括:从空闲线程链表中获取空闲线程,若空闲线程链表不为空,则获取空闲线程成功建立数据库连接;若空闲线程链表为空,判断当前线程个数是否超限;若当前线程个数未超限,则创建新线程并建立数据库连接;若当前线程个数超限,则等待,直至空闲线程链表不为空。与现有技术相比较,本发明所提供的爆发式数据缓存处理系统及其方法较好地解决了提交海量数据存储请求时,请求数据及整个SCADA系统的安全性问题。该技术方案不仅改善了系统的响应性,还保证了数据库的安全性。附图说明图1是本发明所提供的爆发式数据缓存处理系统的结构示意图;图2是图1所示的爆发式数据缓存处理系统的工作原理示意图;图3是本发明所提供的...
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1