專(zhuān)利名稱(chēng):一種存款監(jiān)控方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
涉及通訊領(lǐng)域,尤其涉及一種存款監(jiān)控方法及系統(tǒng)。
背景技術(shù):
在OSS (操作支撐系統(tǒng),即Operation Support System)中,存款監(jiān)控程序是一個(gè) 常駐后臺(tái)的應(yīng)用程序,當(dāng)用戶存款變化時(shí),由觸發(fā)器(Trigger)產(chǎn)生事件,存款監(jiān)控程序定 時(shí)掃描事件表,獲得事件后進(jìn)行四步操作平衡存款明細(xì)、處理實(shí)時(shí)欠費(fèi)、產(chǎn)生停開(kāi)機(jī)事件、 產(chǎn)生催繳事件。因此存款監(jiān)控程序是OSS系統(tǒng)中一個(gè)很重要的后臺(tái)工具,其性能也要求很 高,否則用戶存款后不能實(shí)時(shí)開(kāi)機(jī)、不能實(shí)時(shí)停止催繳,對(duì)系統(tǒng)影響較大。隨著核心網(wǎng)的用戶數(shù)越來(lái)越大,同一時(shí)間用戶進(jìn)行通話的數(shù)量很大,也就是說(shuō)因 為存款變化產(chǎn)生的事件也很多,導(dǎo)致存款監(jiān)控程序壓力很大。通過(guò)對(duì)幾個(gè)現(xiàn)場(chǎng)的檢查,每當(dāng) 月初進(jìn)行批量扣款等操作時(shí),存款監(jiān)控程序便顯得力不從心,而即使是平時(shí)運(yùn)行,在Oracle 端的CPU占用率也普遍在10%左右。作為一個(gè)穩(wěn)定的大型系統(tǒng),這樣的CPU消耗量顯然是 過(guò)大的。如何解決存款監(jiān)控程序的CPU消耗量太大的問(wèn)題,這正是現(xiàn)有技術(shù)函待改進(jìn)的地方。
發(fā)明內(nèi)容
針對(duì)上述現(xiàn)有技術(shù)存在的問(wèn)題,本發(fā)明旨在提供一種能有效降低CPU消耗量的存 款監(jiān)控技術(shù)。為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種存款監(jiān)控方法,包括定時(shí)檢查若干事件表中的已經(jīng)停止數(shù)據(jù)插入的靜態(tài)事件表;當(dāng)所述靜態(tài)事件表內(nèi)有事件時(shí),對(duì)所述事件進(jìn)行處理;當(dāng)所述靜態(tài)事件表內(nèi)所有事件已經(jīng)處理完畢時(shí),使用Truncate命令刪除所述靜 態(tài)事件表內(nèi)所有事件。相應(yīng)地,本發(fā)明還提供了一種存款監(jiān)控系統(tǒng),包括檢查模塊,用于定時(shí)檢查若干事件表中的已經(jīng)停止數(shù)據(jù)插入的靜態(tài)事件表;處理模塊,用于當(dāng)所述靜態(tài)事件表內(nèi)有事件時(shí),對(duì)所述事件進(jìn)行處理;刪除模塊,用于當(dāng)所述靜態(tài)事件表內(nèi)所有事件已經(jīng)處理完畢時(shí),使用Truncate命 令刪除所述靜態(tài)事件表內(nèi)所有事件。通過(guò)上述本發(fā)明采用的技術(shù)方案可以看出,在本發(fā)明中,通過(guò)設(shè)置若干事件表,其 中在某一時(shí)刻或任意時(shí)刻有部分事件為靜態(tài)事件表,從而使得存款監(jiān)控時(shí)可以只對(duì)靜態(tài)事 件表進(jìn)行檢查并對(duì)事件做出處理,由于是靜態(tài)事件表,處理完后可以使用Truncate命令而 不是Delete命令進(jìn)行刪除,避免因頻繁執(zhí)行Delete命令帶來(lái)大量碎片,有效節(jié)約了對(duì)CPU 資源的占用。
圖1所示為本發(fā)明一種存款監(jiān)控方法的一種實(shí)施例流程示意圖;圖2所示為本發(fā)明一種存款監(jiān)控方法的另一種實(shí)施例流程示意圖;圖3所示為圖1或圖2中的步驟S103中,對(duì)事件進(jìn)行處理的方法流程示意圖;圖4所示為本發(fā)明一種存款監(jiān)控方法的第三種實(shí)施例流程示意圖;圖5所示為本發(fā)明一種存款監(jiān)控系統(tǒng)的一種實(shí)施例結(jié)構(gòu)示意圖;圖6所示為圖5中處理模塊的一種實(shí)施例結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面結(jié)合附圖及優(yōu)選實(shí)施例對(duì)本發(fā)明的特征及技術(shù)內(nèi)容進(jìn)行進(jìn)一步說(shuō)明。附圖僅 用于解釋本發(fā)明而非限制。為了解決背景技術(shù)中所描述的CPU資源耗費(fèi)過(guò)大的技術(shù)問(wèn)題,此處先將存款監(jiān)控 程序中最耗費(fèi)CPU的語(yǔ)句找出來(lái),在現(xiàn)場(chǎng)數(shù)據(jù)庫(kù)中進(jìn)行分析,然后再針對(duì)暴露出來(lái)的問(wèn)題 進(jìn)行相關(guān)調(diào)整。如下面表1所示,為原始SQL語(yǔ)句表 權(quán)利要求
1.一種存款監(jiān)控方法,其特征在于,包括定時(shí)檢查若干事件表中的已經(jīng)停止數(shù)據(jù)插入的靜態(tài)事件表; 當(dāng)所述靜態(tài)事件表內(nèi)有事件時(shí),對(duì)所述事件進(jìn)行處理;當(dāng)所述靜態(tài)事件表內(nèi)所有事件已經(jīng)處理完畢時(shí),使用Truncate命令刪除所述靜態(tài)事 件表內(nèi)所有事件。
2.如權(quán)利要求1所述的存款監(jiān)控方法,其特征在于,所述定時(shí)檢查若干事件表中的已 經(jīng)停止數(shù)據(jù)插入的靜態(tài)事件表之前還包括依附在存款表的觸發(fā)器根據(jù)存款變化生成事件; 將所述事件插入正在執(zhí)行數(shù)據(jù)插入的動(dòng)態(tài)事件表。
3.如權(quán)利要求1所述的存款監(jiān)控方法,其特征在于,所述對(duì)所述事件進(jìn)行處理包括 獲取靜態(tài)事件表內(nèi)的事件ID范圍;將事件ID分發(fā)至若干個(gè)線程;各所述線程分別對(duì)分發(fā)到的所述事件進(jìn)行處理,直到所有所述線程均處理完畢。
4.如權(quán)利要求1至3任一所述的存款監(jiān)控方法,其特征在于,所述存款監(jiān)控方法使用的 SQL語(yǔ)句中,使用Currentd印ositEventID排序。
5.一種存款監(jiān)控系統(tǒng),其特征在于,包括檢查模塊,用于定時(shí)檢查若干事件表中的已經(jīng)停止數(shù)據(jù)插入的靜態(tài)事件表; 處理模塊,用于當(dāng)所述靜態(tài)事件表內(nèi)有事件時(shí),對(duì)所述事件進(jìn)行處理; 刪除模塊,用于當(dāng)所述靜態(tài)事件表內(nèi)所有事件已經(jīng)處理完畢時(shí),使用Truncate命令刪 除所述靜態(tài)事件表內(nèi)所有事件。
6.如權(quán)利要求5所述的存款監(jiān)控系統(tǒng),其特征在于,所述檢查模塊之前還包括 依附在存款表的觸發(fā)器,用于根據(jù)存款變化生成事件;插入模塊,用于將所述事件插入正在執(zhí)行數(shù)據(jù)插入的動(dòng)態(tài)事件表。
7.如權(quán)利要求5所述的存款監(jiān)控系統(tǒng),其特征在于,所述處理模塊包括 獲取模塊,用于獲取靜態(tài)事件表內(nèi)的事件ID范圍;分發(fā)模塊,用于將事件ID分發(fā)至若干個(gè)線程;分處理模塊,用于各所述線程分別對(duì)分發(fā)到的所述事件進(jìn)行處理,直到所有所述線程 均處理完畢。
8.如權(quán)利要求5至7任一所述的存款監(jiān)控系統(tǒng),其特征在于,所述存款監(jiān)控系統(tǒng)使用的 SQL語(yǔ)句中,使用Currentd印οsitEventID排序。
全文摘要
本發(fā)明公開(kāi)了一種存款監(jiān)控方法,包括定時(shí)檢查若干事件表中的已經(jīng)停止數(shù)據(jù)插入的靜態(tài)事件表;當(dāng)所述靜態(tài)事件表內(nèi)有事件時(shí),對(duì)所述事件進(jìn)行處理;當(dāng)所述靜態(tài)事件表內(nèi)所有事件已經(jīng)處理完畢時(shí),使用Truncate命令刪除所述靜態(tài)事件表內(nèi)所有事件。采用本發(fā)明技術(shù)方案,可以有效節(jié)約對(duì)CPU資源的占用。
文檔編號(hào)G06Q40/00GK102103732SQ200910213909
公開(kāi)日2011年6月22日 申請(qǐng)日期2009年12月16日 優(yōu)先權(quán)日2009年12月16日
發(fā)明者何錦輝 申請(qǐng)人:深圳速浪數(shù)字技術(shù)有限公司