專(zhuān)利名稱(chēng):一種數(shù)據(jù)匯總智能sql語(yǔ)句的生成方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電信性能管理中的數(shù)據(jù)匯總領(lǐng)域,具體是提供一種數(shù)據(jù)匯總智 能SQL語(yǔ)句的生成方法。
背景技術(shù):
隨著電信網(wǎng)絡(luò)的不斷發(fā)展,企業(yè)進(jìn)行越來(lái)越多的支撐系統(tǒng)建設(shè),數(shù)據(jù)分析 變得尤為重要,但是隨著量的不斷增多,數(shù)據(jù)的査詢速度必然受到影響,為 了加快數(shù)據(jù)的呈現(xiàn)速度,我們必然要對(duì)數(shù)據(jù)進(jìn)行提前匯總,隨著用戶對(duì)系統(tǒng)速 度要求的不斷提升,數(shù)據(jù)匯總在各系統(tǒng)中的地位在不斷的提升。
尤其是在電信網(wǎng)領(lǐng)域中,有很多支撐系統(tǒng),例如計(jì)費(fèi)運(yùn)營(yíng),網(wǎng)絡(luò)管理系統(tǒng), 數(shù)據(jù)基本上都是歷史性的數(shù)據(jù),客戶對(duì)匯總數(shù)據(jù)有為關(guān)注,為了滿足這種需求 在系統(tǒng)開(kāi)發(fā)的過(guò)程中就需要我們定制大量的匯總?cè)蝿?wù)來(lái)完成該工作,傳統(tǒng)的方 式是通過(guò)手動(dòng)寫(xiě)SQL語(yǔ)句來(lái)完成該工作,但是手動(dòng)書(shū)寫(xiě)往往存在大量的弊端, 如筆誤就會(huì)導(dǎo)致不能正常執(zhí)行;對(duì)于沒(méi)有一定電信業(yè)務(wù)的人員來(lái)說(shuō)完成手動(dòng)書(shū) 寫(xiě)匯總?cè)蝿?wù)非常困難。而自動(dòng)匯總?cè)蝿?wù)定制方法,不需要懂得電信業(yè)務(wù)就可以 完成匯總?cè)蝿?wù)的定制,既避免了手動(dòng)書(shū)寫(xiě)帶來(lái)的弊端,又節(jié)省了開(kāi)發(fā)的時(shí)間, 所以說(shuō)手動(dòng)定制匯總?cè)蝿?wù)需求非常必要。
發(fā)明內(nèi)容
本發(fā)明是針對(duì)以上不足,提供一種數(shù)據(jù)匯總智能SQL語(yǔ)句的生成方法,其 只要具有一定的電信業(yè)務(wù)的人員就可以很輕松的來(lái)完成匯總?cè)蝿?wù)的定制,從而 使每一個(gè)項(xiàng)目在開(kāi)發(fā)的過(guò)程中節(jié)省了開(kāi)發(fā)時(shí)間,開(kāi)發(fā)成本,使匯總數(shù)據(jù)的準(zhǔn)確 性得到了更進(jìn)一步的保證。
本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是
3一種數(shù)據(jù)匯總智能SQL語(yǔ)句的生成方法,包括以下步驟
A、 在系統(tǒng)接收用戶創(chuàng)建匯總?cè)蝿?wù)類(lèi)型請(qǐng)求之后,先轉(zhuǎn)到匯總?cè)蝿?wù)分析器, 所述匯總?cè)蝿?wù)分析器提供不同類(lèi)型匯總?cè)蝿?wù)使用的創(chuàng)建信息;
B、 然后SQL智能生成器,根據(jù)所選擇的字段信息自動(dòng)的給每一個(gè)字段添 加上運(yùn)算方式,生成SQL語(yǔ)句;
C、 連同匯總的網(wǎng)元粒度、優(yōu)先級(jí)、任務(wù)組、任務(wù)名稱(chēng)發(fā)送到任務(wù)生成器 完成任務(wù)的創(chuàng)建,添加到任務(wù)調(diào)度器中。
匯總?cè)蝿?wù)包括忙時(shí)匯總,網(wǎng)元粒度匯總和日期匯總。 本發(fā)明的主要工作就是通過(guò)手動(dòng)選擇的方式自動(dòng)的完成上述3種匯總?cè)蝿?wù) 創(chuàng)建。
數(shù)fe匯總?cè)蝿?wù)的定制引入了智能模型理論,引入該理論的主要解決如下問(wèn) 題,在特定領(lǐng)域的復(fù)雜問(wèn)題,涉及大量的專(zhuān)業(yè)知識(shí),而開(kāi)發(fā)人員一般不是該領(lǐng) 域的專(zhuān)家,他們對(duì)特定領(lǐng)域的熟悉需要一個(gè)過(guò)程,所以引入智能理論來(lái)解決技 術(shù)和業(yè)務(wù)的分離。業(yè)務(wù)人員只需要提供相應(yīng)的計(jì)算規(guī)則讓開(kāi)發(fā)人員去實(shí)現(xiàn)相應(yīng) 的操作。所以業(yè)務(wù)人員只負(fù)責(zé)相關(guān)的業(yè)務(wù),把業(yè)務(wù)中的規(guī)則提取出來(lái),做成一 系列的業(yè)務(wù)邏輯(即知識(shí)庫(kù)),開(kāi)發(fā)人員只需要實(shí)現(xiàn)業(yè)務(wù)邏輯的解析,開(kāi)發(fā)出 SQL組裝引擎。
SQL組裝引擎主要是通過(guò)知識(shí)庫(kù)來(lái)確定對(duì)每一個(gè)字段的計(jì)算方式,在生成匯 總?cè)蝿?wù)的時(shí)候,SQL組裝引擎首先取出要匯總的表的字段信息,然后分析每一 個(gè)字段的計(jì)算方式,到知識(shí)庫(kù)中解析相應(yīng)的計(jì)算方式,對(duì)小時(shí)內(nèi)的數(shù)據(jù)進(jìn)行如 何進(jìn)行處理匯總到小時(shí)粒度上,對(duì)小時(shí)級(jí)的數(shù)據(jù)如何進(jìn)行計(jì)算匯總到日粒度 上,對(duì)于日粒度的如何進(jìn)行計(jì)算匯總的周和月上,是求平均,求和,求最大還 是求最小……。SQL組裝引擎的主要工作就是要來(lái)完成字段的計(jì)算方式的査找。 采用本發(fā)明的一種數(shù)據(jù)匯總智能SQL語(yǔ)句的生成方法,能夠降低書(shū)寫(xiě)匯總 語(yǔ)句的復(fù)雜度,只需要事先定義各個(gè)字段的運(yùn)算方式即可,系統(tǒng)能夠自動(dòng)的分 析出其能夠進(jìn)行每種匯總類(lèi)型中各個(gè)字段的運(yùn)算方式。自動(dòng)完成SQL拼寫(xiě)從而 避免了手動(dòng)書(shū)寫(xiě)出錯(cuò)的問(wèn)題,而且也提高的工作效率,節(jié)約了項(xiàng)目開(kāi)發(fā)的成本, 主要的是使匯總數(shù)據(jù)的準(zhǔn)確性得到很到的提升。
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明進(jìn)一步說(shuō)明。
圖1為本發(fā)明的一種數(shù)據(jù)匯總智能SQL語(yǔ)句的生成方法的框架圖。
具體實(shí)施例方式
下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明的一種數(shù)據(jù)匯總智能SQL語(yǔ)句的生成 方法作進(jìn)一步的描述。
在電信領(lǐng)域綜合網(wǎng)絡(luò)管理的性能系統(tǒng)的具體應(yīng)用。性能系統(tǒng)的數(shù)據(jù)特點(diǎn)是 都是歷史性的數(shù)據(jù),存儲(chǔ)以后的數(shù)據(jù)值不發(fā)生變化,而且數(shù)據(jù)量非常的大,一 個(gè)普通的省級(jí)網(wǎng)管系統(tǒng)來(lái)說(shuō), 一天的數(shù)據(jù)量能夠達(dá)到10G左右。而用來(lái)存儲(chǔ)這 些信息的表要有100多張,根據(jù)不同的網(wǎng)元粒度以及時(shí)間粒度對(duì)每一張表至少 要?jiǎng)?chuàng)建7個(gè)匯總?cè)蝿?wù),要是手動(dòng)書(shū)寫(xiě)這將近1000個(gè)匯總?cè)蝿?wù),既費(fèi)時(shí)又費(fèi)力。 例如針對(duì)性能系統(tǒng)的時(shí)間粒度中的日匯總?cè)蝿?wù)的創(chuàng)建,具體的執(zhí)行步驟如
下
步驟IOI、用戶選擇創(chuàng)建匯總?cè)蝿?wù)的類(lèi)型,匯總類(lèi)型有忙時(shí)匯總,時(shí)間粒度 匯總,網(wǎng)元粒度的匯總,選擇時(shí)間粒度下面的日匯總類(lèi)型。
步驟102、將匯總類(lèi)型提交給匯總分析器,匯總分析器提供創(chuàng)建匯總?cè)蝿?wù)所 使用的表供選擇。如果是忙時(shí)匯總的話,提供可以提供忙時(shí)的所有的表如小 區(qū)信息表,msc話務(wù)表等;其他類(lèi)型的匯總提供所有的原始表。 步驟103、選擇要?jiǎng)?chuàng)建匯總?cè)蝿?wù)的數(shù)據(jù)表。 步驟104、選擇匯總?cè)蝿?wù)創(chuàng)建的其他的輔助的相關(guān)信息。 步驟105、根據(jù)選擇的表,生成匯總的相關(guān)SQL語(yǔ)句,包括兩部分第一部 分是生成創(chuàng)建表的SQL語(yǔ)句;第二部分是生成把匯總數(shù)據(jù)放入表的插入語(yǔ)句。 創(chuàng)表語(yǔ)句的生成根據(jù)選擇的網(wǎng)元粒度,根據(jù)選擇的表找到表的字段信息
添加上時(shí)間字段組裝出create語(yǔ)句。
插入語(yǔ)句的生成根據(jù)選擇的網(wǎng)元粒度,根據(jù)選擇的表找到表的字段信息 添加上時(shí)間字段組裝出insert語(yǔ)句;其中每個(gè)字段的運(yùn)算方式通過(guò)字段的運(yùn)算標(biāo)示來(lái)確定。每一個(gè)字段都有一個(gè)運(yùn)算方式的標(biāo)示。描述如下運(yùn)算方式分 為4種TT0T, TMAV, TAVG, TMAX,如果是TTOT求和,TMAV求和,TAVG求平 均,TMAX求最大。拼寫(xiě)出的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、創(chuàng)建匯總?cè)蝿?wù),加載到定時(shí)任務(wù)管理器中。 綜上所述,基于智能生成匯總SQL語(yǔ)句的方法,適用于電信資源管理中需 要定制大量的匯總?cè)蝿?wù)的開(kāi)發(fā),可以快速高效的完成數(shù)據(jù)匯總?cè)蝿?wù)的定制工
6作,以適合用戶需要以各種角度數(shù)據(jù)匯總的需求。
以上所述的實(shí)施例,只是本發(fā)明較優(yōu)選的具體實(shí)施方式
的一種,本領(lǐng)域的 技術(shù)人員在本發(fā)明技術(shù)方案范圍內(nèi)進(jìn)行的通常變化和替換都應(yīng)包含在本發(fā)明 的保護(hù)范圍內(nèi)。
權(quán)利要求
1、一種數(shù)據(jù)匯總智能SQL語(yǔ)句的生成方法,包括以下步驟A、在系統(tǒng)接收用戶創(chuàng)建匯總?cè)蝿?wù)類(lèi)型請(qǐng)求之后,先轉(zhuǎn)到匯總?cè)蝿?wù)分析器,所述匯總?cè)蝿?wù)分析器提供不同類(lèi)型匯總?cè)蝿?wù)使用的創(chuàng)建信息;B、然后SQL智能生成器,根據(jù)所選擇的字段信息自動(dòng)的給每一個(gè)字段添加上運(yùn)算方式,生成SQL語(yǔ)句;C、連同匯總的網(wǎng)元粒度、優(yōu)先級(jí)、任務(wù)組、任務(wù)名稱(chēng)發(fā)送到任務(wù)生成器完成任務(wù)的創(chuàng)建,添加到任務(wù)調(diào)度器中。2、根據(jù)權(quán)利要求1所述的一種數(shù)據(jù)匯總智能SQL語(yǔ)句的生成方法,其特征在于,所述匯總?cè)蝿?wù)包括忙時(shí)匯總,網(wǎng)元粒度匯總和日期匯總。
2、根據(jù)權(quán)利要求1所述的一種數(shù)據(jù)匯總智能SQL語(yǔ)句的生成方法,其特 征在于,所述匯總?cè)蝿?wù)包括忙時(shí)匯總,網(wǎng)元粒度匯總和日期匯總。
全文摘要
本發(fā)明涉及電信性能管理中的數(shù)據(jù)匯總領(lǐng)域,具體是提供一種數(shù)據(jù)匯總智能SQL語(yǔ)句的生成方法。本發(fā)明適用于針對(duì)歷史性數(shù)據(jù),需要?jiǎng)?chuàng)建大量的匯總?cè)蝿?wù)來(lái)完成數(shù)據(jù)匯總的系統(tǒng),提供一種能夠自動(dòng)生成SQL語(yǔ)句的機(jī)制,通過(guò)分析每一個(gè)字段的運(yùn)算方式來(lái)確定在SQL的運(yùn)算方式,利用匯總分析器來(lái)分析創(chuàng)建匯總需要那些數(shù)據(jù)表,選擇了表之后分析表字段運(yùn)算方式生成SQL語(yǔ)句,從而快速的創(chuàng)建一個(gè)匯總?cè)蝿?wù)。本發(fā)明不需要了解太多的業(yè)務(wù)信息皆可完成任務(wù)的定制,從而大大的提高了開(kāi)發(fā)速度,節(jié)省了人力。
文檔編號(hào)H04L12/24GK101425090SQ20081023812
公開(kāi)日2009年5月6日 申請(qǐng)日期2008年12月8日 優(yōu)先權(quán)日2008年12月8日
發(fā)明者邵懷波 申請(qǐng)人:浪潮通信信息系統(tǒng)有限公司