專利名稱:一種通過(guò)多維度kpi函數(shù)對(duì)sql查詢語(yǔ)句進(jìn)行擴(kuò)充的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種SQL查詢語(yǔ)句擴(kuò)充方法,尤其涉及一種通過(guò)多維度KPI (KernelProgramming Interface,內(nèi)核編程接口)函數(shù)對(duì)SQL查詢語(yǔ)句進(jìn)行擴(kuò)充,從而提高海量數(shù)據(jù)查詢效率的方法,屬于數(shù)據(jù)庫(kù)技術(shù)領(lǐng)域。
背景技術(shù):
結(jié)構(gòu)化查詢語(yǔ)言(Structured Query Language,簡(jiǎn)稱SQL)是一種數(shù)據(jù)庫(kù)查詢和程序設(shè)計(jì)語(yǔ)言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)。它不要求用戶指定對(duì)數(shù)據(jù)的存放方法,也不需要用戶了解具體的數(shù)據(jù)存放方式,所以具有不同底層結(jié)構(gòu)的數(shù)據(jù)庫(kù)系統(tǒng)可以使用相同的SQL查詢語(yǔ)句作為數(shù)據(jù)輸入與管理的接口。但是,傳統(tǒng)的SQL查詢語(yǔ)句在面臨大數(shù)據(jù)量實(shí)時(shí)查詢?nèi)蝿?wù)時(shí),存在明顯的效率缺陷,使其不能直接適用于大量數(shù)據(jù)的實(shí)時(shí)監(jiān)控處理。為了解決這一技術(shù)問(wèn)題,人們先后提出了多種技術(shù)解決方案。例如在申請(qǐng)?zhí)枮?01210075512. 5的中國(guó)專利申請(qǐng)中,公開了一種大數(shù)據(jù)量的數(shù)據(jù)查詢方法,包括如下步驟S10 :定義增量數(shù)據(jù)捕獲方式;S11 :定義增量捕獲調(diào)度執(zhí)行計(jì)劃;S12 :執(zhí)行增量數(shù)據(jù)定期歸集;S13 :執(zhí)行數(shù)據(jù)統(tǒng)計(jì)結(jié)果查詢。該技術(shù)方案把復(fù)雜的數(shù)據(jù)統(tǒng)計(jì)查詢過(guò)程包分解成兩個(gè)過(guò)程,統(tǒng)計(jì)計(jì)算歸集和實(shí)時(shí)查詢;將統(tǒng)計(jì)計(jì)算歸集過(guò)程放在后臺(tái)運(yùn)行,并且歸集過(guò)程只歸集增量數(shù)據(jù),從而大大提高了大數(shù)據(jù)量統(tǒng)計(jì)查詢的執(zhí)行效率。另外,李寶蓮等在論文《基于SQL Server應(yīng)用的大數(shù)據(jù)量實(shí)時(shí)處理》(刊載于《無(wú)線電工程》2007年03期)中,針對(duì)大數(shù)據(jù)量的實(shí)時(shí)處理問(wèn)題,結(jié)合SQL Server的功能特點(diǎn),給出了 3種應(yīng)用技術(shù)和策略,即統(tǒng)計(jì)分析與實(shí)時(shí)處理數(shù)據(jù)分開存儲(chǔ)策略、臨時(shí)表技術(shù)和數(shù)據(jù)庫(kù)的發(fā)布與訂閱技術(shù)。通過(guò)對(duì)使用結(jié)果的分析,說(shuō)明了這些技術(shù)和策略對(duì)完成大數(shù)據(jù)量業(yè)務(wù)的實(shí)時(shí)處理有一定的作用。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題在于提供一種SQL查詢語(yǔ)句擴(kuò)充方法。該方法通過(guò)多維度KPI函數(shù)對(duì)SQL查詢語(yǔ)句進(jìn)行擴(kuò)充,彌補(bǔ)了傳統(tǒng)SQL查詢語(yǔ)句在面臨大數(shù)據(jù)量實(shí)時(shí)查詢?nèi)蝿?wù)時(shí)的效率缺陷。為實(shí)現(xiàn)上述的發(fā)明目的,本發(fā)明采用下述的技術(shù)方案一種通過(guò)多維度KPI函數(shù)對(duì)SQL查詢語(yǔ)句進(jìn)行擴(kuò)充的方法,包括如下步驟預(yù)先定義統(tǒng)計(jì)指標(biāo)量的相關(guān)維度,以及通過(guò)各個(gè)維度計(jì)算統(tǒng)計(jì)指標(biāo)量值的規(guī)則,生成所述多維度KPI函數(shù);利用所述多維度KPI函數(shù)預(yù)先查詢數(shù)據(jù)庫(kù),并將查詢結(jié)果保存在多維度KPI函數(shù)結(jié)果表中;SQL查詢語(yǔ)句調(diào)用所述多維度KPI函數(shù),并提供傳入?yún)?shù)值查詢相應(yīng)的多維度KPI函數(shù)結(jié)果表,直接獲取統(tǒng)計(jì)指標(biāo)量。
其中較優(yōu)地,所述SQL查詢語(yǔ)句輸入數(shù)據(jù)庫(kù)之后,發(fā)送統(tǒng)計(jì)指標(biāo)維度值給所述多維度KPI函數(shù)。其中較優(yōu)地,所述多維度KPI函數(shù)將需要在同一時(shí)間處理的事務(wù),分散到各個(gè)時(shí)段進(jìn)行處理。本發(fā)明采用多維度KPI函數(shù)對(duì)SQL查詢語(yǔ)句進(jìn)行擴(kuò)充,具有如下的顯著優(yōu)勢(shì)1. SQL查詢語(yǔ)句通過(guò)簡(jiǎn)單的調(diào)用方式即可獲取實(shí)時(shí)性的大量數(shù)據(jù)處理結(jié)果,無(wú)需直接通過(guò)SQL查詢處理大量數(shù)據(jù);2.可以自定義數(shù)據(jù)處理方式,并且定義數(shù)據(jù)處理方式的過(guò)程簡(jiǎn)單方便。
圖1為基于SQL查詢語(yǔ)句的實(shí)時(shí)監(jiān)控統(tǒng)計(jì)流程圖;圖2為基于多維度KPI函數(shù)對(duì)SQL查詢語(yǔ)句進(jìn)行擴(kuò)充的方法流程圖。
具體實(shí)施例方式在目前大規(guī)模發(fā)展的數(shù)據(jù)應(yīng)用中,尤其是金融、物流、保險(xiǎn)等行業(yè),實(shí)時(shí)監(jiān)控報(bào)表發(fā)揮著舉足輕重的作用。實(shí)時(shí)監(jiān)控報(bào)表主要是對(duì)當(dāng)前數(shù)據(jù)的量化數(shù)據(jù)反映。這些量化數(shù)據(jù)反映對(duì)深入洞察事實(shí)真相,快速分析決策都很重要,例如1.成本實(shí)時(shí)監(jiān)控報(bào)表是對(duì)項(xiàng)目收入與成本情況的總體反映,通過(guò)該實(shí)時(shí)監(jiān)控報(bào)表及時(shí)反映項(xiàng)目當(dāng)期實(shí)際盈虧情況,使項(xiàng)目領(lǐng)導(dǎo)層及時(shí)掌握成本信息,及時(shí)發(fā)現(xiàn)問(wèn)題并采取應(yīng)對(duì)措施。2.收入費(fèi)用實(shí)時(shí)監(jiān)控報(bào)表,該實(shí)時(shí)監(jiān)控報(bào)表可以按月、季、年反映各期項(xiàng)目的收入情況,通過(guò)該實(shí)時(shí)監(jiān)控報(bào)表可以及時(shí)反映當(dāng)期的預(yù)估收入,為項(xiàng)目決策提供及時(shí)分析數(shù)據(jù)。為了生成上述的實(shí)時(shí)監(jiān)控報(bào)表,通常會(huì)頻繁使用SQL查詢語(yǔ)句。圖1顯示了基于SQL查詢語(yǔ)句的實(shí)時(shí)監(jiān)控統(tǒng)計(jì)流程。當(dāng)SQL查詢語(yǔ)句輸入數(shù)據(jù)庫(kù)之后,在數(shù)據(jù)庫(kù)中進(jìn)行相應(yīng)的查詢處理,最終顯示所需的統(tǒng)計(jì)指標(biāo)量。例如在查詢統(tǒng)計(jì)指標(biāo)量的一個(gè)示例中,常用的SQL查詢語(yǔ)句具體如下SELECT 印p. bm_ name AS,組別’,epp. user_id AS,工號(hào)’,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’ 簽單跟進(jìn)量’,count (DISTINCT CASE WHENepp. reason=' B02' THEN epp. eppidELSE NULL END) AS’ 聯(lián)系失敗量 ’,count (DISTINCT CASE WHEN epp. reason=' B03' THENepp. eppidELSE NULL END) AS,跟進(jìn)失敗量,F(xiàn)ROM eppgroup by epp. bm_name, epp. user_id,epp.user_name但是,傳統(tǒng)SQL查詢語(yǔ)句的查詢效率不高,很難滿足實(shí)時(shí)監(jiān)控報(bào)表對(duì)查詢效率的要求。為此,本發(fā)明提出了一種基于多維度KPI函數(shù)對(duì)SQL查詢語(yǔ)句進(jìn)行擴(kuò)充的方法。該多維度KPI函數(shù)作為一個(gè)中間橋梁,從最底層開始映射,通過(guò)預(yù)先定義的統(tǒng)計(jì)處理方式提前計(jì)算所需的統(tǒng)計(jì)指標(biāo)量。當(dāng)SQL查詢語(yǔ)句調(diào)用相應(yīng)的多維度KPI函數(shù)接口,并提供相應(yīng)的接口參數(shù)時(shí),即可直接獲取相應(yīng)的統(tǒng)計(jì)指標(biāo)量。因此,利用該多維度KPI函數(shù)可以很好地解決SQL查詢語(yǔ)句在實(shí)時(shí)監(jiān)控報(bào)表中的查詢效率問(wèn)題。
本發(fā)明中的多維度KPI函數(shù)是計(jì)算用戶自定義指標(biāo)量值的內(nèi)核編程接口函數(shù)。該函數(shù)需要用戶自己定義統(tǒng)計(jì)指標(biāo)量的相關(guān)維度,以及通過(guò)各個(gè)維度計(jì)算統(tǒng)計(jì)指標(biāo)量值的規(guī)貝U。例如在本發(fā)明的一個(gè)實(shí)施例中,需要統(tǒng)計(jì)不同部門在某個(gè)項(xiàng)目上的資源投入情況。相關(guān)數(shù)據(jù)在關(guān)系型數(shù)據(jù)庫(kù)中映射如下所示部門信息表department
權(quán)利要求
1.一種通過(guò)多維度KPI函數(shù)對(duì)SQL查詢語(yǔ)句進(jìn)行擴(kuò)充的方法,其特征在于包括如下步驟 預(yù)先定義統(tǒng)計(jì)指標(biāo)量的相關(guān)維度,以及通過(guò)各個(gè)維度計(jì)算統(tǒng)計(jì)指標(biāo)量值的規(guī)則,生成所述多維度KPI函數(shù); 利用所述多維度KPI函數(shù)預(yù)先查詢數(shù)據(jù)庫(kù),并將查詢結(jié)果保存在多維度KPI函數(shù)結(jié)果表中; SQL查詢語(yǔ)句調(diào)用所述多維度KPI函數(shù),并提供傳入?yún)?shù)值查詢相應(yīng)的多維度KPI函數(shù)結(jié)果表,直接獲取統(tǒng)計(jì)指標(biāo)量。
2.如權(quán)利要求1所述的通過(guò)多維度KPI函數(shù)對(duì)SQL查詢語(yǔ)句進(jìn)行擴(kuò)充的方法,其特征在于 所述SQL查詢語(yǔ)句輸入數(shù)據(jù)庫(kù)之后,發(fā)送統(tǒng)計(jì)指標(biāo)維度值給所述多維度KPI函數(shù)。
3.如權(quán)利要求1所述的通過(guò)多維度KPI函數(shù)對(duì)SQL查詢語(yǔ)句進(jìn)行擴(kuò)充的方法,其特征在于 所述多維度KPI函數(shù)將需要在同一時(shí)間處理的事務(wù),分散到各個(gè)時(shí)段進(jìn)行處理。
全文摘要
本發(fā)明公開了一種通過(guò)多維度KPI函數(shù)對(duì)SQL查詢語(yǔ)句進(jìn)行擴(kuò)充的方法。在該方法中,首先定義統(tǒng)計(jì)指標(biāo)量的相關(guān)維度,以及通過(guò)各個(gè)維度計(jì)算統(tǒng)計(jì)指標(biāo)量值的規(guī)則,生成多維度KPI函數(shù);利用多維度KPI函數(shù)預(yù)先查詢數(shù)據(jù)庫(kù),并將查詢結(jié)果保存在多維度KPI函數(shù)結(jié)果表中;SQL查詢語(yǔ)句調(diào)用多維度KPI函數(shù),并提供傳入?yún)?shù)值查詢相應(yīng)的多維度KPI函數(shù)結(jié)果表,直接獲取統(tǒng)計(jì)指標(biāo)量。利用本發(fā)明所提供的方法,SQL查詢語(yǔ)句通過(guò)簡(jiǎn)單的調(diào)用方式即可獲取實(shí)時(shí)性的大量數(shù)據(jù)處理結(jié)果,無(wú)需直接通過(guò)SQL查詢處理大量數(shù)據(jù),可以很好地解決SQL查詢語(yǔ)句在實(shí)時(shí)監(jiān)控報(bào)表中的查詢效率問(wèn)題。
文檔編號(hào)G06F17/30GK103020280SQ20121058008
公開日2013年4月3日 申請(qǐng)日期2012年12月27日 優(yōu)先權(quán)日2012年12月27日
發(fā)明者吳為民, 武繼孔, 班紅冠 申請(qǐng)人:北京訊鳥軟件有限公司