一種數據匯總智能sql語句的生成方法
2023-05-29 00:27:41 2
專利名稱:一種數據匯總智能sql語句的生成方法
技術領域:
本發明涉及電信性能管理中的數據匯總領域,具體是提供一種數據匯總智 能SQL語句的生成方法。
背景技術:
隨著電信網絡的不斷發展,企業進行越來越多的支撐系統建設,數據分析 變得尤為重要,但是隨著量的不斷增多,數據的査詢速度必然受到影響,為 了加快數據的呈現速度,我們必然要對數據進行提前匯總,隨著用戶對系統速 度要求的不斷提升,數據匯總在各系統中的地位在不斷的提升。
尤其是在電信網領域中,有很多支撐系統,例如計費運營,網絡管理系統, 數據基本上都是歷史性的數據,客戶對匯總數據有為關注,為了滿足這種需求 在系統開發的過程中就需要我們定製大量的匯總任務來完成該工作,傳統的方 式是通過手動寫SQL語句來完成該工作,但是手動書寫往往存在大量的弊端, 如筆誤就會導致不能正常執行;對於沒有一定電信業務的人員來說完成手動書 寫匯總任務非常困難。而自動匯總任務定製方法,不需要懂得電信業務就可以 完成匯總任務的定製,既避免了手動書寫帶來的弊端,又節省了開發的時間, 所以說手動定製匯總任務需求非常必要。
發明內容
本發明是針對以上不足,提供一種數據匯總智能SQL語句的生成方法,其 只要具有一定的電信業務的人員就可以很輕鬆的來完成匯總任務的定製,從而 使每一個項目在開發的過程中節省了開發時間,開發成本,使匯總數據的準確 性得到了更進一步的保證。
本發明解決其技術問題所採用的技術方案是
3一種數據匯總智能SQL語句的生成方法,包括以下步驟
A、 在系統接收用戶創建匯總任務類型請求之後,先轉到匯總任務分析器, 所述匯總任務分析器提供不同類型匯總任務使用的創建信息;
B、 然後SQL智能生成器,根據所選擇的欄位信息自動的給每一個欄位添 加上運算方式,生成SQL語句;
C、 連同匯總的網元粒度、優先級、任務組、任務名稱發送到任務生成器 完成任務的創建,添加到任務調度器中。
匯總任務包括忙時匯總,網元粒度匯總和日期匯總。 本發明的主要工作就是通過手動選擇的方式自動的完成上述3種匯總任務 創建。
數fe匯總任務的定製引入了智能模型理論,引入該理論的主要解決如下問 題,在特定領域的複雜問題,涉及大量的專業知識,而開發人員一般不是該領 域的專家,他們對特定領域的熟悉需要一個過程,所以引入智能理論來解決技 術和業務的分離。業務人員只需要提供相應的計算規則讓開發人員去實現相應 的操作。所以業務人員只負責相關的業務,把業務中的規則提取出來,做成一 系列的業務邏輯(即知識庫),開發人員只需要實現業務邏輯的解析,開發出 SQL組裝引擎。
SQL組裝引擎主要是通過知識庫來確定對每一個欄位的計算方式,在生成匯 總任務的時候,SQL組裝引擎首先取出要匯總的表的欄位信息,然後分析每一 個欄位的計算方式,到知識庫中解析相應的計算方式,對小時內的數據進行如 何進行處理匯總到小時粒度上,對小時級的數據如何進行計算匯總到日粒度 上,對於日粒度的如何進行計算匯總的周和月上,是求平均,求和,求最大還 是求最小……。SQL組裝引擎的主要工作就是要來完成欄位的計算方式的査找。 採用本發明的一種數據匯總智能SQL語句的生成方法,能夠降低書寫匯總 語句的複雜度,只需要事先定義各個欄位的運算方式即可,系統能夠自動的分 析出其能夠進行每種匯總類型中各個欄位的運算方式。自動完成SQL拼寫從而 避免了手動書寫出錯的問題,而且也提高的工作效率,節約了項目開發的成本, 主要的是使匯總數據的準確性得到很到的提升。
下面結合附圖和實施例對本發明進一步說明。
圖1為本發明的一種數據匯總智能SQL語句的生成方法的框架圖。
具體實施例方式
下面結合附圖和具體實施例對本發明的一種數據匯總智能SQL語句的生成 方法作進一步的描述。
在電信領域綜合網絡管理的性能系統的具體應用。性能系統的數據特點是 都是歷史性的數據,存儲以後的數據值不發生變化,而且數據量非常的大,一 個普通的省級網管系統來說, 一天的數據量能夠達到10G左右。而用來存儲這 些信息的表要有100多張,根據不同的網元粒度以及時間粒度對每一張表至少 要創建7個匯總任務,要是手動書寫這將近1000個匯總任務,既費時又費力。 例如針對性能系統的時間粒度中的日匯總任務的創建,具體的執行步驟如
下
步驟IOI、用戶選擇創建匯總任務的類型,匯總類型有忙時匯總,時間粒度 匯總,網元粒度的匯總,選擇時間粒度下面的日匯總類型。
步驟102、將匯總類型提交給匯總分析器,匯總分析器提供創建匯總任務所 使用的表供選擇。如果是忙時匯總的話,提供可以提供忙時的所有的表如小 區信息表,msc話務表等;其他類型的匯總提供所有的原始表。 步驟103、選擇要創建匯總任務的數據表。 步驟104、選擇匯總任務創建的其他的輔助的相關信息。 步驟105、根據選擇的表,生成匯總的相關SQL語句,包括兩部分第一部 分是生成創建表的SQL語句;第二部分是生成把匯總數據放入表的插入語句。 創表語句的生成根據選擇的網元粒度,根據選擇的表找到表的欄位信息
添加上時間欄位組裝出create語句。
插入語句的生成根據選擇的網元粒度,根據選擇的表找到表的欄位信息 添加上時間欄位組裝出insert語句;其中每個欄位的運算方式通過欄位的運算標示來確定。每一個欄位都有一個運算方式的標示。描述如下運算方式分 為4種TT0T, TMAV, TAVG, TMAX,如果是TTOT求和,TMAV求和,TAVG求平 均,TMAX求最大。拼寫出的sql如下所示 insert into ucb017
select max(rncname) rncname, startday,
floor(starttime / 10000) * 10000 starttime,
60 period,
max(mgwid) mgwid,
max(mgwname) mgwname,
max(mssid) mssid,
max(mssnam6) mssname,
max (regionid) regionid,
max(regionname) regionname,
sum (num) num,
avg (state) state,
max(timeoffset) timeoffset,
sum(uca0170010) uca0170010,
avg(uca0170020) uca0170020,
sum(uca0170030) uca0170030,
sum (uca0170040)織0170040,
sum(uca0170050) uca0170050,
sum(uca0170060) uca0170060 from uc£i017 where 1=1
步驟106、創建匯總任務,加載到定時任務管理器中。 綜上所述,基於智能生成匯總SQL語句的方法,適用於電信資源管理中需 要定製大量的匯總任務的開發,可以快速高效的完成數據匯總任務的定製工
6作,以適合用戶需要以各種角度數據匯總的需求。
以上所述的實施例,只是本發明較優選的具體實施方式
的一種,本領域的 技術人員在本發明技術方案範圍內進行的通常變化和替換都應包含在本發明 的保護範圍內。
權利要求
1、一種數據匯總智能SQL語句的生成方法,包括以下步驟A、在系統接收用戶創建匯總任務類型請求之後,先轉到匯總任務分析器,所述匯總任務分析器提供不同類型匯總任務使用的創建信息;B、然後SQL智能生成器,根據所選擇的欄位信息自動的給每一個欄位添加上運算方式,生成SQL語句;C、連同匯總的網元粒度、優先級、任務組、任務名稱發送到任務生成器完成任務的創建,添加到任務調度器中。2、根據權利要求1所述的一種數據匯總智能SQL語句的生成方法,其特徵在於,所述匯總任務包括忙時匯總,網元粒度匯總和日期匯總。
2、根據權利要求1所述的一種數據匯總智能SQL語句的生成方法,其特 徵在於,所述匯總任務包括忙時匯總,網元粒度匯總和日期匯總。
全文摘要
本發明涉及電信性能管理中的數據匯總領域,具體是提供一種數據匯總智能SQL語句的生成方法。本發明適用於針對歷史性數據,需要創建大量的匯總任務來完成數據匯總的系統,提供一種能夠自動生成SQL語句的機制,通過分析每一個欄位的運算方式來確定在SQL的運算方式,利用匯總分析器來分析創建匯總需要那些數據表,選擇了表之後分析表欄位運算方式生成SQL語句,從而快速的創建一個匯總任務。本發明不需要了解太多的業務信息皆可完成任務的定製,從而大大的提高了開發速度,節省了人力。
文檔編號H04L12/24GK101425090SQ20081023812
公開日2009年5月6日 申請日期2008年12月8日 優先權日2008年12月8日
發明者邵懷波 申請人:浪潮通信信息系統有限公司