实时数据库异步增量数据处理算法及性能分析研究 - 西安工业大学学报.doc_第1页
实时数据库异步增量数据处理算法及性能分析研究 - 西安工业大学学报.doc_第2页
实时数据库异步增量数据处理算法及性能分析研究 - 西安工业大学学报.doc_第3页
实时数据库异步增量数据处理算法及性能分析研究 - 西安工业大学学报.doc_第4页
实时数据库异步增量数据处理算法及性能分析研究 - 西安工业大学学报.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实时数据库异步增量数据处理方法与性能分析曹子建,容晓峰(西安工业大学 计算机科学与工程学院,西安 710032)摘 要:对实时数据库海量数据的高效处理技术一直是企业数据管理与分析工作面临的挑战性问题。文中针对实时数据库中的历史数据,设计了对其进行统计分析的异步增量数据处理方法,从方法的应用层面上,给出了用户事件驱动和定时服务的两种调用方式。实验表明,该方法减少了海量实时数据的统计计算时间,有效地提高了系统数据分析响应性能。关键词:实时数据库;数据处理;异步增量;定时服务中图号:TP311.1实时数据库存储着海量的历史数据和实时数据,以美国OSI公司的PI(Plant Information)实时数据库为例,按1次/秒的采集速率,对10000个设备的监控测点进行数据采集,在不考虑数据压缩的情况下,每秒钟会产生10000条数据,每天存储的数据量为8.64108条数据,如果考虑压缩率,采用旋转门算法(压缩比为30:1左右),再利用二次压缩、质量戳与数据值分开保存等技术,压缩比可按约40:1进行计算,实时数据库存储每天的数据量大概是2160万条。为了便于跟踪每个监控测点历史的运行过程,实时数据库一般需要存储每个测点多年的历史数据,这样数据量则更加庞大。如此海量的数据无疑给工业管理应用带来数据处理、统计分析等方面的难题1-3。对实时数据库海量数据的高效处理技术一直是企业数据管理与分析工作面临的挑战性问题。文献4采用双缓冲区管理和多线程技术,提出并应用时态和非时态对象、感知器层事务和用户层事务,可以提高实时处理的并发度、效率和性能,实现大规模的实时数据处理,但是未涉及其具体的数据处理过程。文献5中对实时数据库Agilor的归档数据通过Dll库的方式进行历史查询与统计,对于需要大量计算的统计功能采用Web Service技术实现,一方面Dll库通讯访问的速度慢,另一方面需要在归档服务器上安装Web Service服务程序,增加了部署的复杂度,也可能影响到服务器的性能。文献6对国外的几大实时数据库的技术性能进行了分析,描述了历史数据的存储过程,以动态链接库的方式实现了磁盘历史数据库,但缺乏具体的衡量性能的方法。本文针对某电厂火电机组受热面管类设备测点温度区间数据统计分析时,遇到的海量实时数据的处理问题,提出并设计了针对实时数据库的异步增量数据处理方法。1. 异步增量数据处理方法1.1 方法设计实时数据库中存储的数据会随着测点、时间快速增长,对这一庞大数据源进行统计分析势必会耗费大量的数据库资源,此外数据分析处理系统一般部署在远离火电厂的客户端,网络带宽与传输延时对大规模数据远程分析处理也会带来一定的影响。为了不影响到实际生产管理控制系统,对当前生产管理带来不必要的负荷,以及给网络带宽带来负担造成长时间的传输延时,设计了异步增量数据处理方法。其异步增量数据处理方法为1) 采用多线程技术实现异步服务,设计一个多线程的异步服务程序S,采用异步工作模式有利于减小用户的查询等待时间和对网络带宽的影响;2) 三个核心的线程:定时线程T0判断当前时间是否在设置的开始时间和结束时间之间,在时间范围之内每隔一秒执行一次调用服务请求;实时数据读取线程T1负责向实时数据库读取现有最新的实时数据;和数据增量处理线程T2完成对T1中读取数据的计算以及增量数据的统计功能。3)查询功能模块F可以是用户以事件驱动的方式,也可以是安装成操作系统的服务的形式主动定时的调用S进行增量处理计算。1.2 异步调用时序根据上述设计的方法,下面详细介绍异步服务程序S与三个核心线程相互之间的调用关系。从方法的应用层面上,设计了用户事件驱动和定时服务两种异步增量数据处理调用方式。图1是用户事件驱动的异步增量数据处理调用时序图。图1 用户事件驱动的异步增量数据处理调用时序图Fig.1 Sequence diagram of asynchronous and incremental data processing about User event driven 用户事件驱动的异步增量数据处理的过程为 用户向查询功能模块F提交查询请求; F收到请求后,把请求内容发给多线程异步服务S; S调用实时数据读取线程T1,读取没有进行统计的新的实时数据; S调用数据增量处理线程T2,对T1中读取数据的计算以及增量数据的统计功能; S把调用计算结果返回给F; F返回查询结果给用户。定时服务调用时序图如图2所示。图2 定时服务调用的异步增量数据处理调用时序图Fig.2 Sequence diagram of asynchronous and incremental data processing about timer service 定时服务调用过程为 定时线程T0判断当前时间是否到达定时开始时间,如果符合条件,开始执行第2步; T0把调用多线程异步服务S; S调用实时数据读取线程T1,读取没有进行统计的新的实时数据; S调用数据增量处理线程T2,对T1中读取数据的计算以及增量数据的统计功能; T0判断当前时间是否到达定时结束时间,不符合的话,循环执行第3和第4步,符合的话,本次服务结束。2 关键技术的实现2.1 实时数据读取本文研究的实时数据库针对的是工业领域中广泛使用的PI数据库。对PI实时数据库数据的读取采用PI-API方式,读取过程如图3所示。PI-API方式是直接通过API 函数来操作PI档案文件、标签点数据库和PI数据表,和PI-SDK相比,大大减低访问的时间,增强调用操作的性能8。图3 实时数据库数据读取过程Fig.3 Diagram of reading data from PI real-time database 2.2 数据增量处理数据增量处理过程如图4所示。以PI数据库中Tag1测点的历史数据处理为例,数据增量处理线程先统计计算Tag1测点T1时刻的D1数据,处理数据结果记为PD1,把PD1存入关系型数据库Oracle的统计表中,依次类推,计算T2直到Tn时刻的数据,最后在统计表中只保存最新的统计计算结果PDn和最新的时刻Tn。有新数据以后,Tn以前的数据不用再重复统计,只在PDn的基础上累计新数据的统计结果值。图4 增量数据处理过程图Fig.4 Incremental data processing diagram3 测试结果与性能分析通过对该电厂实际运行环境进行测试,采用定时服务的调用方式,使用PI-API方式访问PI数据库,对高温过热器设备所有个测点进行采集,测试结果显示,每个测点一个月的数据平均为332568条,采集耗时平均为67s。实际该电厂一个机组大约727个测点,取得所有这些测点一个月的数据需要43620 65430s,即1219h。因此在设备测点温度区间数据分析时,再读取PI中的数据,统计计算超低(高)温的时长区间,效率很低。图5是对一个测点使用增量处理方法和不使用增量方法统计6个月的数据进行分析图,试验结果显示,采用增量处理方法对一个测点每个月数据进行统计,计算时间大致相差不大,而不采用增量处理方法,计算时间大致成线性增长。图5 增量处理方法性能分析图Fig.5 Performance analysis diagram of incremental processing method and normal method 如果采用定时服务进行增量数据处理,预设每天晚上在00:00:00定时自动采集处理所有测点一天的数据,727个测点需要14122111s。4 结论针对在对实时数据库的海量数据进行统计分析时会耗费大量的数据库资源,占用网络带宽的问题,从数据处理方法上进行了分析设计,设计并实现了异步增量数据处理方法,并给出了用户事件驱动和定时服务的两种调用方式。通过使用PI-API的方式对电厂实际运行的PI数据库进行测试,实验测试结果表明,和普通不采用异步增量的方法相比,采用异步增量数据处理的方法,大大减少了数据统计计算的时间,这样可以降低网络资源访问量,提高系统数据分析响应性能。参考文献:1张禹.大流量实时数据库架构分析与实现D.成都:电子科技大学,2007.Zhang Yu. Analysis and Implementation of Large Flow Real-time Database ArchitectureD.Chengdu: University of Electronic Science and technology,2007.2陆会明,周钊,廖常斌.基于实时数据库系统的历史数据处理J.电力自动化设备,2009,29(3) :127-131.LU Hui-ming ,Zhou Zhao,Liao Chang-bin. Historical data processing in real-time database systemJ. Electric Power Automation Equipment,2009,29(3) :127-131.3 伊旭,王佑,赵卓等.基于PI实时数据库的配电数据采集与监视控制系统J.浙江电力,2011, 8: 71-73.Yi Xu,Wang You,Zhao Zhuo.Data Acquisition and Monitoring Control System for Distribution Network Based on Plant Information DatabaseJ.ZHEJIANG ELECTRIC POWER,2011, 8: 71-73.4 朱健,王盛明,卢秉亮. 基于实时数据库的实时数据处理研究J.微处理机,2010,2(1) : 83-85.Zhu Jian ,Wang Sheng-ming,Lu Bing-liang. Research of Real-time data Processing based on Real-Time DatabaseJ.MICROPROCESSORS, NO 1,Feb,20105 张勇,王堃,王强,等. 基于实时数据库的卫星测试平台的设计与实现J. 计算机工程与设计,2009,30(2) : 335-341.Zhang Yong,Wang Kun,Wang Qiang, et al. Design and realization of satellite testing system based on real-time databaseJ.Computer Engineering and Design,2009,30(2) : 335-341.6 陆会明,周 钊,廖常斌.基于实时数据库系统的历史数据处理J.电力自动化设备,2009,29(3):127-131.LU Hui-ming ,ZHOU Zhao ,LIAO Chang-bin. Historical data processing in real-time database systemJ. Electric Power Automation Equipment ,2009,29(3):127-131.7 吕帅,刘光明,徐凯,等. 海量信息分级存储数据迁移策略研究J. 计算机工程与科学,2009,31(A1):163-167.Lu Shuai ,LIU Guang-ming,XU Kai,et al.Research on the Data Migration Strategy of Hierarchical Mass Storage SystemJ.Computer Engineering & Science,2009,31(A1):163-167.8 韩建民,吴米兰,岑婷婷,等.基于PI-API的PI数据库访问技术的研究J.浙江师范大学学报:自然科学版,2008,31(4):424-427.Han Jian-min,Wu Mi-lan,Cen Ting-ting,et al. PI database access technology based on PI-APIJ. Journal of Zhejiang Normal University (Natural Sciences),2008,31(4):424-427.Real-time Database Asynchronous and Incremental Data Processing Method and Performance AnalysisCAO Zi-jian,RONG Xiao-feng(School of Computer Science and Engineering, Xian Technological University, Xian 710032,China)Abstract:Efficient data processing technology about real-time database is a challenge to enterprise data management and analysis. This article puts forward a asynchronous and incremental data processing method to historical data in real-time database, gives two calling mode of user

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论