郑 伟,周喜超,马 超,智 勇
(甘肃电力科学研究院,甘肃 兰州 730050)
支持分级服务的电能质量数据库查询处理模型
郑 伟,周喜超,马 超,智 勇
(甘肃电力科学研究院,甘肃 兰州 730050)
为提高电能质量管理关键业务中查询处理的响应速度,提出了一种支持分级服务的电能质量数据库查询处理模型。首先根据电能质量管理业务类型,建立了查询处理分级模型,然后提出了基于连续查询处理和物化视图技术的数据预处理模型,给出了基于企业服务总线的查询服务分级准入控制模型,实现了电能质量数据库查询处理的分级服务。分析表明,该方法能有效提高电能质量管理关键业务中查询处理的响应速度。
电能质量;查询处理;分级服务;连续查询;物化视图
电能质量管理系统是集实时监测、在线分析和快速响应为一体的综合管理信息系统。系统需要处理来自多个变电站的连续产生的大规模监测数据,因此,电能质量数据库的查询处理速度对于电能质量管理系统业务处理性能具有极其重要的影响。
在电能质量管理中,各种类型的业务 (如变电站实时监测业务、每周用电情况统计等)对于数据库查询处理响应速度的要求是不一样的。现有的电能质量管理系统中一般通过数据库管理系统提供的数据访问接口直接访问数据库。数据库管理系统收到请求后,根据自身提供的查询处理策略执行用户提交的查询处理请求。这种方式没有考虑到电能质量管理各类业务对于查询处理响应速度的要求,电能质量数据库管理系统无法获知各类查询处理请求的重要性,因此,难以实现对电能质量管理关键业务中查询处理的快速响应。
针对上述问题,本文提出了一种支持分级服务的电能质量数据库查询处理模型。先根据电能质量管理业务类型以及对查询处理响应速度的需求,建立了查询处理分级服务模型,再采用连续查询处理[1]和物化视图[2]技术,给出了支持查询处理分级服务模型的数据预处理模型,再采用企业服务总线 (Enterprise Service Bus,ESB)[3]技术,提出了查询服务分级准入控制模型,实现了电能质量数据库查询处理的分级服务。分析表明,该模型能有效提高电能质量管理关键业务中查询处理的响应速度。
本节根据电能质量管理各类型业务对于查询处理响应速度的需求,给出查询处理分级模型。
电能质量管理系统中的业务处理主要是将各变电站的电能监测装置采集的数据进行查询、分析和处理,并将结果以报表、报告、图形方式输出,以供各用户实时监测、在线查询和分析。从业务类型看,查询处理的任务主要可以分为实时监测、在线快速查询、定期查询,以及其他查询处理和分析业务,这 4种任务对查询响应速度的要求是从快到慢的,具有明显的等级。以甘肃电能质量管理系统为例,实时监测查询处理响应速度一般要求在几十到几百 ms之间,在线快速查询处理响应速度一般要求为 s级,定期查询处理的查询间隔为 10min到几天不等,查询处理响应速度的需求与在线快速查询处理相当,一般为 s级。这种查询处理需求在大数据量的情况下是难以通过直接访问数据库管理系统执行查询处理的方式来满足的,因此需要建立相应的查询处理分级模型,以提供适当的查询处理服务。下面给出各级查询处理的定义。
定义 1(实时级查询处理):实时级查询处理是指用户提交查询请求后,能实时或近似实时地获得查询处理结果,即查询处理响应速度小于或等于指定阈值 ε。
定义 2(快速级查询处理):快速级查询处理是指用户提交查询请求后,能以较快的速度获得查询处理结果,即查询处理响应速度小于或等于指定阈值 Tf。
定义 3(定期级查询处理):定期级查询处理是指用户提交查询请求后,能根据指定时间间隔,以较快的速度获得指定时间点的查询处理结果,即查询处理响应速度小于或等于指定阈值Tp。
定义 4(普通级查询处理):普通级查询处理是指用户提交查询请求后,能够获得查询处理结果。
实时级查询处理与实时监测相对应,主要提供各变电站设备状态的实时监测;快速级查询处理与关键查询与分析业务相对应,主要用于提供数据的快速在线查询和分析;定期级查询处理与定期查询与分析业务相对应,主要为定期生成的业务报表提供数据支撑;普通级查询处理与其他查询处理和分析业务相对应,主要为不紧急的业务处理提供查询处理服务。
上述查询处理分级覆盖了电能质量管理系统各类业务,因此对于电能质量管理系统具有较好的普适性。在实际系统中,各级查询响应速度是综合考虑业务需求、数据规模等因素来设定的。以甘肃电能质量管理系统为例,实时级查询处理阈值 ε≤1 s,快速级查询处理阈值 T≤10 s,定期级查询处理响应时间 t≤10 s。
对电能质量管理中的各级查询处理而言,现有查询处理技术是直接向数据库管理系统提交查询处理请求,然后等待数据库管理系统返回查询处理结果,这种方式只能满足普通级查询处理的需求。为了实现实时级、快速级和定期级查询处理,必须采用查询优化技术。目前常用的查询优化技术包括索引、物化视图、缓存、中间结果评估等[4],这些技术主要是从提升数据库查询处理能力的角度出发来进行查询优化,并没有从业务分类的角度出发来提供分级的查询处理服务质量。因此,难以满足电能质量管理各类型业务对于查询处理响应速度的需求。
本文从业务分类的角度出发,提出了数据预处理与查询服务分级准入控制相结合的方式来实现支持分级服务的电能质量数据库查询处理模型。第 2节介绍了基于连续查询处理和物化视图技术的数据预处理模型,第 3节介绍了基于 ESB的查询服务分级准入控制模型。
本节对电能质量管理中的查询处理分级模型中各级查询处理的特点进行分析,并给出相应的数据预处理模型。由于普通级查询处理是直接在数据库中对原始记录进行查询处理,因此不需要进行数据的预处理。下面主要给出实时级、快速级和定期级查询处理的数据预处理模型。
对于实时级查询处理,这类查询处理主要用于支持实时监测业务,这类业务是电能质量管理的核心业务之一。这类业务需要对不断产生的变电站监测数据快速处理,并将结果以小于或等于指定阈值 ε的响应速度返回给用户,这种查询处理方式符合数据流上连续查询处理模式,因此适合于采用基于连续查询处理技术来实现实时级查询处理。基于连续查询处理的实时级查询处理模型如图 1所示。
图1 基于连续查询处理的实时级查询处理模型Fig.1 Rea l-time level query processing model based on the continuous query processing
在基于连续查询处理的实时级查询处理模型中,使用现有的连续查询处理引擎 (如STREA M[1]、Eddies[5]等),对变电站监测数据流进行处理。由于连续查询处理引擎对所有监测数据只处理一遍,因此可以获得很高的处理速度,能够实时或近实时更新实时监测查询处理处理结果[6]。在基于连续查询处理的实时级查询处理模型,连续查询处理引擎在处理完数据后将数据存储在电能质量数据库中,供其他查询处理业务使用。
对于快速级查询处理,这类查询处理主要用于支持关键业务的处理,对于查询响应速度有较高要求。对于一个实际系统而言,关键业务较为明确,因此可以预先知道需要执行的查询处理需求。基于物化视图的查询处理是在数据库管理系统中预先根据查询处理语句创建物化视图,对原始记录进行预先处理,包括耗时的连接和聚集计算等[2]。电能质量管理在收到用户提交查询处理请求后,直接在物化视图上执行查询,避免了直接访问大量的原始记录以及耗时的连接和聚集计算,从而极大地提高了查询的响应速度。
现有的物化视图按照刷新方式主要包括增量式刷新和全部刷新两种,增量式刷新是由数据库管理系统实时维护视图,保持物化视图的数据与视图对应的查询语句执行结果完全一致,这样用户在提交查询请求后能够迅速地返回查询处理结果;全部刷新是数据库管理系统根据用户指定的刷新策略定期或不定期地删除物化视图中的数据,然后执行与视图对应的查询语句,并将结果物化到视图中。根据上述分析,采用增量式刷新的物化视图能够较好地满足快速级查询处理中数据预处理需求。因此,在本文的支持分级服务的电能质量数据库查询处理模型中采用增量式刷新的物化视图来实现快速级查询处理中的数据预处理。
对于定期级查询处理,这类查询处理主要用于支持需要定期执行的业务,如每天或每周的值班报表。这类业务需要在指定时间快速地获得查询结果。对于一个实际系统而言,这类业务较为明确,因此可以预先知道需要执行的查询处理需求。
从 2.2节可以知道,物化视图技术可以较好的满足定期级查询处理的数据预处理需求。与基于增量式物化视图的快速级查询预处理不同的是,全部刷新式的物化视图可以让数据库管理系统在指定时间对视图进行全部更新,为定期级查询处理提供快速的查询处理响应。因此,在本文的支持分级服务的电能质量数据库查询处理模型中采用全部刷新式物化视图来实现定期级查询处理中的数据预处理。
需要注意的是,由于全部刷新式物化视图在刷新时需要首先删除物化视图中的数据,然后执行与视图对应的查询语句,并将结果物化到视图中,当查询语句计算复杂度较高或物化视图中数据量较大时,物化视图的刷新需要较长时间。因此,在制定全部刷新式物化视图的刷新策略时,需要考虑刷新所需时间,可以在定期级查询处理指定时间前预留物化视图的刷新时间,以保证用户可以快速获取查询结果。这种方式的缺点在于在执行物化视图的刷新时,若响应的原始记录发生了变化,会导致物化视图的数据与直接在原始记录上执行查询处理的结果不一致,但是考虑到相对于定期级查询处理的时间间隔,刷新物化视图的时间是非常短暂的,而定期级查询处理一般是执行统计类查询,因此这种不一致带来的影响是可以忽略的。
第 2节给出了不同查询处理级别的数据预处理模型,为支持查询处理的分级服务奠定了基础。但是在第 2节的数据预处理模型中并没有给出数据库管理系统在收到用户提交的不同级别的查询处理请求时的执行顺序。由于电能质量管理系统一般是多个用户并发处理的,如果不对不同级别的查询处理请求时的执行优先级进程控制,当一个关键业务和一个普通业务同时处理时,数据库管理系统可能在同时收到一个代表着关键快速级和一个普通级查询处理请求,此时,数据库管理系统有可能首先执行普通级查询处理,这显然不符合电能质量管理中的分级查询处理的需求。因此,需要对查询处理请求的执行按照任务级别进行优先级控制。
目前,对查询请求的优先级控制方法主要是将查询处理接口进行封装,然后提供查询处理服务,并对查询处理服务进行管理,以支持查询处理请求接入时的优先级控制。现有支持查询处理接口封装和服务管理的技术主要包括 CORBA[7]、J2EE[8]、DCO M[9]、ESB和 Web服务等,其中CORBA、DCO M和 Web服务着重于单个服务的实现和服务间的通信技术。学术界对于 Web服务的服务质量保证也进行了大量研究[10],并将 Web服务技术广泛应用于电力系统中[11~13]。ESB技术作为服务的统一管理平台得到了工业界和学术界的广泛认同,因此,本文采用 ESB技术来支持查询服务分级准入控制。
基于上述分析,本文提出了基于 ESB的查询服务分级准入控制模型,如图 2所示。
图2 基于ESB的查询服务分级准入控制模型Fig.2 ESB-based adm ission control model for query service ranking
在基于 ESB的查询服务分级准入控制模型中,各服务按照业务需求实现了支持各业务处理的查询处理接口,这些服务都由 ESB统一管理。当ESB收到查询服务请求时,则有服务质量模块根据请求对应的服务级别对各查询服务进行分级的准入控制,以确保关键业务能够优先执行。在服务质量模块进行服务的准入控制时,需要根据数据库管理系统的当前负载、查询处理服务的平均响应时间、队列的等待长度等多个因素进行综合考虑,以确保关键业务的顺利执行。为简单起见,本文假定对于任意的查询处理服务,其响应时间 t其中t为该查询处理服务的平均响应时间,L为数据库管理系统的当前负载,为数据库管理系统的平均负载。
下面给出服务质量模块的查询处理服务准入控制算法的描述。该算法的核心思想是按照实时级、快速级、定期级和普通级的顺序控制查询处理服务请求的准入,低级别的请求需要在所有高级别请求都准入之后再准入,并且在准入低级别的请求时至少要保证可以同时执行一个上一级的服务请求的响应速度。设定快速级的优先级高于定期级的原因是快速级一般执行关键业务,定期级一般执行定期的统计分析业务,在实际系统中,关键业务的优先级是高于定期的统计分析业务的。
从算法的描述可以知道,低级别的请求需要在所有高级别请求都准入之后再准入,这保证了各级别服务的执行优先级,同时在准入低级别的请求时,需要保证可以同时执行一个上一级的服务请求的响应速度,这就意味着在执行低级别的请求的过程中,若收到一个高级别的查询请求时,系统仍然可以保证查询处理的响应速度。在实际系统中,在准入低级别的请求时,可以在第 5,8和 11行增加相应的计算因子,为高级别的服务请求预留更为合适的系统处理能力。
从算法的描述看,该算法在执行时主要是判断各请求队列,并进行阈值的判断,在准入 1个任意的查询处理请求时,计算复杂度为 O(1),是一个高效的准入控制算法,对系统负载的影响可以忽略不计。
从第 2节和第 3节可以知道,对于实时级查询处理,通过数据流查询处理引擎提供的连续查询处理能力能够实时和近实时地的得到查询结果,并且可以在查询服务准入控制进行优先操作,因此能够为用户提供实时和近实时的查询结果;对于快速级查询处理,通过预先定义的增量式物化视图能够实时和近实时地生成物化视图,系统在执行快速级查询处理时,直接在物化视图执行查询操作,并且可以在查询服务准入控制提供服务质量保证,因此用户可以较快的速度获得查询处理结果;对于定期级查询处理,与快速级查询处理类似,通过预先定义的手工刷新式物化视图,提前生成物化视图,系统在执行定期级查询处理时,直接在物化视图执行查询操作,并且通过查询服务准入控制提供服务质量保证,因此用户可以较快的速度获得查询处理结果;对于普通级查询处理,则通过查询服务准入控制,根据当前系统运行负载,适时的想数据库管理系统提交查询请求,并向用户返回查询结果。
综上所述,本文提出的支持分级服务的电能质量数据库查询处理模型,能有效根据业务类型进行查询优化和准入控制,从而提高电能质量管理关键业务中查询处理的响应速度。
本文针对电能质量管理业务特点,提出了一种支持分级服务的电能质量数据库查询处理模型。与现有查询处理方法相比,该模型能够根据电能质量管理业务对查询处理响应速度的需求进行相应的查询优化。首先根据电能质量管理业务类型以及对查询处理响应速度的需求,给出了查询处理分级模型,并建立了各级查询处理与电能质量管理业务的映射关系,然后采用连续查询处理和物化视图技术,给出了支持查询处理分级服务模型的数据预处理模型,继而提出了基于查询服务分级准入控制模型,实现了电能质量数据库查询处理的分级服务。分析表明,该模型能有效提高电能质量管理关键业务中查询处理的响应速度。
[1]Babcock B,Babu S,Datar M,et al. Models and issues in data streams[C].Proceedings of the Twenty-first AC MSIGACT-SIG MOD-SIGART Symposium on Principles of Database Systems.New York:AC MPress 2002:1-16.
[2]Lu J, Moerkotte G,Schu J,etal Efficientmaintenanceof materialized mediated views[C].Proceedings of the 1995 AC MSIG MOD International Conference on Management of Data.New York: AC MPress 1995: 340-351.
[3]Luo M,Goldshlager B,Zhang L J.Designing and implementing enterprise service bus(ESB)and SOA solutions[C].Proceedings of the 2005 IEEE International Conference on Services Computing.New York:IEEE Press,2005:1-2.
[4]Chaudhuri S.An Overview ofQuery Optimization in Relational System s[C].Proceedings of the Seventeenth AC MSIGACT-SIG MOD-SIGART Symposium on Principles of Database Systems.New York: AC MPress 1998:34-43.
[5]Avnur R,Hellerstein J.Eddies:Continuously adaptive query processing[C].Proceedings of the 2000 AC MSIG MOD International Conference on Management of Data.New York:AC MPress 2000:261-272.
[6]金澈清,钱卫宁,周傲英.流数据分析与管理综述[J].软件学报,2004,15(8):1172-1181.Jin Cheqing,Qing Weining,Zhou Aoying.Analysis and Management of Streaming Data:A Survey[J].Journal of Software,2004,15(8):1172-1181.
[7]Object Management Group.The common object request broker:Architecture and specification.Revision 2.4.2[EB/OL].http://www.omg.org/cgi-bin/doc?formal/01-02-33.pdf
[8]SUN Microsystem.Java 2 Platform enterprise edition specification.Version 1.3[EB/OL].http://java.sun.com/j2ee/j2ee-1—3-fr-spec.pdf
[9] Microsoft Corporation.Distributed component objectmodel protocol— DCO M/1.0[EB/OL].http://tools.ietf.org/pdf/draft-brown-dcom-v1-spec-00.pdf
[10]邵凌霜,李田,赵俊峰,等.一种可扩展的 Web Service QoS管理框架 [J].计算机学报,2008,31(8):1458-1470.
Shao Ling-Shuang,Li Tian,Zhao Jun-Feng,et al.An extensiblemanagement framework for Web Service QoS[J].Chinese Journal of Computers,2008,31(8):1458-1470.
[11]黄娟娟,李晓明,张莲梅,等.基于 Web的多异构电力信息集成系统的开发与应用 [J].电力科学与工程,2003,(4):58-61.
Huang Juanjuan,Li Xiaoming,Zhang Lianmei,et al.Development and Application of Heterogeneous-Configuration Electric Power Information Integration System Based on Web.Electric Power Science and Engineering,2003,(4):58-61.
[12]刘云峰,孔英会,赵伟,等.Web服务在电力实时监控系统的应用 [J].电力科学与工程,2007,23(4):50-54.
Liu Yunfeng,Kong Yinghui,ZhaoWei,et al.Application ofWeb Services in Power System Real-time Supervisory and Control.Electric Power Science and Engineering,2007,23(4):50-54.
[13]裴伟涛,孔英会,史艳翠.Web服务在电能质量监测系统中的应用 [J].电力科学与工程,2009,25(1):23-26.
PeiWeitao,Kong Yinghui,Shi Yancui.Application of Web Services in the Power Quality Monitoring System.Electric Power Science and Engineering,2009,25(1):23-26.
Differentiation Service Supporting Query Processing Model for Power Quality Database
Zheng Wei,Zhou Xichao, Ma Chao,ZhiYong
(Gansu Electric Power Research Institute,Lanzhou 730050,China)
One supporting query processingmodel for power quality database is proposed,which is useful for improve the response speed of query processing in the critical business of power qualitymanagement.Firstly,a differentiation servicemodel of query processing is presented,which is according to the businesses types of power quality management,then,a data preprocessingmodel is proposed,which is based on the continuous query processing,andmaterialized view technologies,and then,a ESB based access control model of query processing service is presented,which implement the differentiation service of query processing in power quality database.Analysis shows that,themodel can effectively im prove the response speed of query processing in the criticalbusiness of power qualitymanagement.
power quality,query processing,differentiation service,continuous query,materialized view
TP311
A
2010-06-29。
郑伟 (1973-),男,高级工程师,从事电力系统继电保护和稳定性等方面的研究和管理工作,E-mail:LZZW-12345@163.com。