一种通过多维度kpi函数对sql查询语句进行扩充的方法

文档序号:6385714阅读:433来源:国知局
专利名称:一种通过多维度kpi函数对sql查询语句进行扩充的方法
技术领域
本发明涉及一种SQL查询语句扩充方法,尤其涉及一种通过多维度KPI (KernelProgramming Interface,内核编程接口)函数对SQL查询语句进行扩充,从而提高海量数据查询效率的方法,属于数据库技术领域。
背景技术
结构化查询语言(Structured Query Language,简称SQL)是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有不同底层结构的数据库系统可以使用相同的SQL查询语句作为数据输入与管理的接口。但是,传统的SQL查询语句在面临大数据量实时查询任务时,存在明显的效率缺陷,使其不能直接适用于大量数据的实时监控处理。为了解决这一技术问题,人们先后提出了多种技术解决方案。例如在申请号为201210075512. 5的中国专利申请中,公开了一种大数据量的数据查询方法,包括如下步骤S10 :定义增量数据捕获方式;S11 :定义增量捕获调度执行计划;S12 :执行增量数据定期归集;S13 :执行数据统计结果查询。该技术方案把复杂的数据统计查询过程包分解成两个过程,统计计算归集和实时查询;将统计计算归集过程放在后台运行,并且归集过程只归集增量数据,从而大大提高了大数据量统计查询的执行效率。另外,李宝莲等在论文《基于SQL Server应用的大数据量实时处理》(刊载于《无线电工程》2007年03期)中,针对大数据量的实时处理问题,结合SQL Server的功能特点,给出了 3种应用技术和策略,即统计分析与实时处理数据分开存储策略、临时表技术和数据库的发布与订阅技术。通过对使用结果的分析,说明了这些技术和策略对完成大数据量业务的实时处理有一定的作用。

发明内容
本发明所要解决的技术问题在于提供一种SQL查询语句扩充方法。该方法通过多维度KPI函数对SQL查询语句进行扩充,弥补了传统SQL查询语句在面临大数据量实时查询任务时的效率缺陷。为实现上述的发明目的,本发明采用下述的技术方案一种通过多维度KPI函数对SQL查询语句进行扩充的方法,包括如下步骤预先定义统计指标量的相关维度,以及通过各个维度计算统计指标量值的规则,生成所述多维度KPI函数;利用所述多维度KPI函数预先查询数据库,并将查询结果保存在多维度KPI函数结果表中;SQL查询语句调用所述多维度KPI函数,并提供传入参数值查询相应的多维度KPI函数结果表,直接获取统计指标量。
其中较优地,所述SQL查询语句输入数据库之后,发送统计指标维度值给所述多维度KPI函数。其中较优地,所述多维度KPI函数将需要在同一时间处理的事务,分散到各个时段进行处理。本发明采用多维度KPI函数对SQL查询语句进行扩充,具有如下的显著优势1. SQL查询语句通过简单的调用方式即可获取实时性的大量数据处理结果,无需直接通过SQL查询处理大量数据;2.可以自定义数据处理方式,并且定义数据处理方式的过程简单方便。


图1为基于SQL查询语句的实时监控统计流程图;图2为基于多维度KPI函数对SQL查询语句进行扩充的方法流程图。
具体实施例方式在目前大规模发展的数据应用中,尤其是金融、物流、保险等行业,实时监控报表发挥着举足轻重的作用。实时监控报表主要是对当前数据的量化数据反映。这些量化数据反映对深入洞察事实真相,快速分析决策都很重要,例如1.成本实时监控报表是对项目收入与成本情况的总体反映,通过该实时监控报表及时反映项目当期实际盈亏情况,使项目领导层及时掌握成本信息,及时发现问题并采取应对措施。2.收入费用实时监控报表,该实时监控报表可以按月、季、年反映各期项目的收入情况,通过该实时监控报表可以及时反映当期的预估收入,为项目决策提供及时分析数据。为了生成上述的实时监控报表,通常会频繁使用SQL查询语句。图1显示了基于SQL查询语句的实时监控统计流程。当SQL查询语句输入数据库之后,在数据库中进行相应的查询处理,最终显示所需的统计指标量。例如在查询统计指标量的一个示例中,常用的SQL查询语句具体如下SELECT 印p. bm_ name AS,组别’,epp. user_id AS,工号’,epp. user_name AS,姓名 ’,count (DISTINCT CASE WHENepp. status=’AOI’THEN epp. eppid ELSE NULL END)AS’签单成功量’,count (DISTINCT CASE WHEN epp. status=' A02' THEN epp. eppidELSE NULLEND) AS’ 签单跟进量’,count (DISTINCT CASE WHENepp. reason=' B02' THEN epp. eppidELSE NULL END) AS’ 联系失败量 ’,count (DISTINCT CASE WHEN epp. reason=' B03' THENepp. eppidELSE NULL END) AS,跟进失败量,FROM eppgroup by epp. bm_name, epp. user_id,epp.user_name但是,传统SQL查询语句的查询效率不高,很难满足实时监控报表对查询效率的要求。为此,本发明提出了一种基于多维度KPI函数对SQL查询语句进行扩充的方法。该多维度KPI函数作为一个中间桥梁,从最底层开始映射,通过预先定义的统计处理方式提前计算所需的统计指标量。当SQL查询语句调用相应的多维度KPI函数接口,并提供相应的接口参数时,即可直接获取相应的统计指标量。因此,利用该多维度KPI函数可以很好地解决SQL查询语句在实时监控报表中的查询效率问题。
本发明中的多维度KPI函数是计算用户自定义指标量值的内核编程接口函数。该函数需要用户自己定义统计指标量的相关维度,以及通过各个维度计算统计指标量值的规贝U。例如在本发明的一个实施例中,需要统计不同部门在某个项目上的资源投入情况。相关数据在关系型数据库中映射如下所示部门信息表department
权利要求
1.一种通过多维度KPI函数对SQL查询语句进行扩充的方法,其特征在于包括如下步骤 预先定义统计指标量的相关维度,以及通过各个维度计算统计指标量值的规则,生成所述多维度KPI函数; 利用所述多维度KPI函数预先查询数据库,并将查询结果保存在多维度KPI函数结果表中; SQL查询语句调用所述多维度KPI函数,并提供传入参数值查询相应的多维度KPI函数结果表,直接获取统计指标量。
2.如权利要求1所述的通过多维度KPI函数对SQL查询语句进行扩充的方法,其特征在于 所述SQL查询语句输入数据库之后,发送统计指标维度值给所述多维度KPI函数。
3.如权利要求1所述的通过多维度KPI函数对SQL查询语句进行扩充的方法,其特征在于 所述多维度KPI函数将需要在同一时间处理的事务,分散到各个时段进行处理。
全文摘要
本发明公开了一种通过多维度KPI函数对SQL查询语句进行扩充的方法。在该方法中,首先定义统计指标量的相关维度,以及通过各个维度计算统计指标量值的规则,生成多维度KPI函数;利用多维度KPI函数预先查询数据库,并将查询结果保存在多维度KPI函数结果表中;SQL查询语句调用多维度KPI函数,并提供传入参数值查询相应的多维度KPI函数结果表,直接获取统计指标量。利用本发明所提供的方法,SQL查询语句通过简单的调用方式即可获取实时性的大量数据处理结果,无需直接通过SQL查询处理大量数据,可以很好地解决SQL查询语句在实时监控报表中的查询效率问题。
文档编号G06F17/30GK103020280SQ20121058008
公开日2013年4月3日 申请日期2012年12月27日 优先权日2012年12月27日
发明者吴为民, 武继孔, 班红冠 申请人:北京讯鸟软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1