專利名稱:消息類業(yè)務(wù)累計數(shù)據(jù)緩存方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及管理提供商增值業(yè)務(wù)的綜合業(yè)務(wù)管理平臺領(lǐng)域,特別是一種消 息類業(yè)務(wù)累計數(shù)據(jù)緩存方法及系統(tǒng)。
背景技術(shù):
在傳統(tǒng)的消息類業(yè)務(wù)應(yīng)用中,消息類數(shù)據(jù)產(chǎn)生后,直接存儲到數(shù)據(jù)庫中, 如果需要使用消息類數(shù)據(jù),則直接從數(shù)據(jù)庫中查找。由于數(shù)據(jù)庫容量巨大,查 找費(fèi)時,使得該方案中數(shù)據(jù)訪問速度較低,實(shí)時性不高。此外,傳統(tǒng)的消息類業(yè)務(wù)應(yīng)用中,對消息類數(shù)據(jù)查找常用直接定址法的哈希算法。直接定址法中哈希函數(shù)為關(guān)鍵字的線性函數(shù)H(key) = key或者H(key) =akey + b,對于超出地址范圍的哈希函數(shù)值,另建立一個數(shù)據(jù)鏈,再次分配地 址。通常,使用哈希函數(shù)計算地址都會產(chǎn)生哈希地址沖突,在傳統(tǒng)的消息類業(yè) 務(wù)中,當(dāng)出現(xiàn)哈希沖突時,依照空閑地址的順序依次存儲。該方法的缺點(diǎn)在于, 數(shù)據(jù)存儲較為雜亂,,容易產(chǎn)生空閑地址,造成空間浪費(fèi),在對數(shù)據(jù)鏈中存儲的 數(shù)據(jù)進(jìn)行訪問時,訪問速度較慢,從而影響整個數(shù)據(jù)訪問的速度。發(fā)明內(nèi)容有鑒于此,本發(fā)明的主要目的在于提供一種消息類業(yè)務(wù)累計數(shù)據(jù)緩存方法, 對系統(tǒng)性能影響更小,并能有效的解決哈希沖突。本發(fā)明的另一目的在于提供一種消息類業(yè)務(wù)累計數(shù)據(jù)緩存系統(tǒng),效率高、 實(shí)時性好。為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的 一種消息類業(yè)務(wù)累計數(shù)據(jù)緩存方法,該方法包括在綜合業(yè)務(wù)管理平臺和3G引擎之間建立二級緩存機(jī)制,采用除留余數(shù)法計算消息類業(yè)務(wù)累計數(shù)據(jù)存儲地址,將消息類業(yè)務(wù)累計數(shù)據(jù)存儲在緩沖區(qū)。所述消息類業(yè)務(wù)累計數(shù)據(jù)存儲地址的計算過程具體包括 將用戶號碼、產(chǎn)品代碼中唯一標(biāo)識產(chǎn)品的字符碼組成中間串; 對所述中間串加密,得到累計凄史據(jù)標(biāo)識;將累計數(shù)據(jù)標(biāo)識各字符的ASCII碼相加結(jié)果作為哈希函數(shù)自變量; 將所述哈希函數(shù)自變量代入除留余數(shù)法構(gòu)建的哈希函數(shù),所得哈希函數(shù)值 為消息類業(yè)務(wù)累計數(shù)據(jù)的緩存存儲地址。所述存儲地址計算還包括采用開放定址法解決緩存區(qū)存儲地址沖突 沖突的存儲地址的新地址Hi = (H(key) + di) % m;其中,H(key)為沖突的存儲地址,i= 1,2,…,k, (k<=m-l), m為哈希表長; di的選取采用線性探查再散列的方法,即di-l,2,3,.,.,m-l,直到解決存儲 地址沖突為止。所述二級緩存機(jī)制包括 設(shè)置緩存更新周期和歷史訪問頻率閾值;緩存更新周期到達(dá),搜索數(shù)據(jù)庫中在此次緩存更新周期內(nèi)的產(chǎn)生的消息類 業(yè)務(wù)累計數(shù)據(jù);若消息類業(yè)務(wù)累計數(shù)據(jù)的歷史訪問頻率高于歷史訪問頻率閾值,則將該消 息類業(yè)務(wù)累計數(shù)據(jù)更新到一級緩存,否則,更新到二級緩存。該方法還包括對用戶請求的消息類業(yè)務(wù),根據(jù)消息類業(yè)務(wù)累計數(shù)據(jù)進(jìn)行 批價。所述根據(jù)消息類業(yè)務(wù)累計數(shù)據(jù)進(jìn)行批價的過程包括 3G引擎向綜合業(yè)務(wù)管理平臺發(fā)送批價請求消息,該消息包含用戶號碼、產(chǎn) 品代碼;綜合業(yè)務(wù)管理平臺收到批價請求消息,根據(jù)該用戶的歷史使用情況進(jìn)行批價,并將用戶號碼、產(chǎn)品代碼存入一級緩存,向3G引擎返回批價請求響應(yīng)消 自、'3G引擎向綜合業(yè)務(wù)管理平臺發(fā)送批價確認(rèn)消息;綜合業(yè)務(wù)管理平臺根據(jù)批價確認(rèn)消息,在一級緩存中獲取用戶號碼和產(chǎn)品 代碼,計算累計數(shù)據(jù)標(biāo)識,根據(jù)累計數(shù)據(jù)標(biāo)識依次在一級緩存、二級緩存中尋 找消息類業(yè)務(wù)累計數(shù)據(jù),如果找到,根據(jù)消息類業(yè)務(wù)累計數(shù)據(jù)對該業(yè)務(wù)重新批價、更新消息類業(yè)務(wù)累計數(shù)據(jù),并將更新后的消息類業(yè)務(wù)累計數(shù)據(jù)存入數(shù)據(jù)庫; 否則,將該消息類業(yè)務(wù)累計數(shù)據(jù)各項歸零;綜合業(yè)務(wù)管理平臺向3G引擎返回批價確認(rèn)響應(yīng)消息。所述原始累計數(shù)據(jù)是線性結(jié)構(gòu),包括累計數(shù)據(jù)標(biāo)識、本月累計資源、本月 累計消費(fèi)費(fèi)用。所述原始累計數(shù)據(jù)還包括本月包量累計資源和本月保底累計使用費(fèi)用。 一種消息類業(yè)務(wù)累計數(shù)據(jù)緩存系統(tǒng),該系統(tǒng)包括3G引擎、綜合業(yè)務(wù)管理平臺、緩存區(qū)、數(shù)據(jù)處理模塊和數(shù)據(jù)庫,3G引擎、綜合業(yè)務(wù)管理平臺、緩存區(qū)、數(shù)據(jù)處理模塊和數(shù)據(jù)庫依次連接3G引擎,用于根據(jù)用戶選擇業(yè)務(wù)向綜合業(yè)務(wù)管理平臺發(fā)送批價請求、批價確iU肖息;綜合業(yè)務(wù)管理平臺,用于對服務(wù)提供商或者內(nèi)容提供商的產(chǎn)品進(jìn)行管理, 所述管理包括但不限于鑒權(quán)、批價;響應(yīng)3G引擎發(fā)送的批價請求、批價確認(rèn) 消息,并根據(jù)批價確認(rèn)消息從緩存區(qū)中檢索累計數(shù)據(jù)標(biāo)識;緩存區(qū),包括一級緩存、二級緩存,分別用于存儲訪問頻率高于歷史訪問 頻率闊值的消息類業(yè)務(wù)累計數(shù)據(jù)、訪問頻率低于歷史訪問頻率閾值的消息類業(yè) 務(wù)累計數(shù)據(jù);數(shù)據(jù)處理模塊用于將數(shù)據(jù)庫中原始累計數(shù)據(jù)按業(yè)務(wù)過濾,并將過濾后的消 息類業(yè)務(wù)累計數(shù)據(jù)存入緩沖區(qū); 數(shù)據(jù)庫用于存儲原始累計數(shù)據(jù)。所述數(shù)據(jù)處理模塊包括數(shù)據(jù)過濾模塊和數(shù)據(jù)監(jiān)控模塊,數(shù)據(jù)過濾模塊將原始累計數(shù)據(jù)中的消息類業(yè)務(wù)累計數(shù)據(jù)過濾出來,并將消 息類業(yè)務(wù)累計數(shù)據(jù)的歷史訪問頻率與歷史訪問頻率閾值比較結(jié)果,發(fā)送給數(shù)據(jù) 監(jiān)控模塊;數(shù)據(jù)監(jiān)控模塊采用哈希算法,將訪問頻率高于歷史訪問頻率閾值的消息類 業(yè)務(wù)累計數(shù)據(jù)移入一級緩存,訪問頻率低于歷史訪問頻率閾值的消息類業(yè)務(wù)累 計數(shù)據(jù)移入二級緩存。本發(fā)明以用戶對數(shù)據(jù)的歷史訪問頻率為依據(jù),設(shè)置兩級緩存,定時將消息 類業(yè)務(wù)累計數(shù)據(jù)分割,并分別移入一級緩存和二級緩存。本發(fā)明對累計數(shù)據(jù)標(biāo) 識采用了獨(dú)有的結(jié)構(gòu),即將用戶號碼與部分產(chǎn)品代碼經(jīng)過加密算法處理,形成 累計數(shù)據(jù)標(biāo)識,使用更高效的除留余數(shù)法存取消息類業(yè)務(wù)累計數(shù)據(jù),并使用對 系統(tǒng)性能影響最小的開放定址法有效解決哈希沖突。
圖1為本發(fā)明應(yīng)用系統(tǒng)結(jié)構(gòu)示意圖;圖2為本發(fā)明消息類業(yè)務(wù)累計數(shù)據(jù)存儲流程圖;圖3為本發(fā)明的批價流程示意圖。
具體實(shí)施方式
本發(fā)明將多級緩存技術(shù)應(yīng)用于使用日益頻繁的SP增值業(yè)務(wù)管理平臺的消 息類業(yè)務(wù)中。在綜合業(yè)務(wù)管理平臺和3G引擎之間建立數(shù)據(jù)二級緩存機(jī)制,并 釆用除留余數(shù)法解決哈希地址沖突,以提高消息類業(yè)務(wù)在批價確認(rèn)的處理中再 次批價的準(zhǔn)確率。下面結(jié)合具體實(shí)施例對本發(fā)明的技術(shù)方案進(jìn)一步說明。本發(fā)明僅限于常見的對單個產(chǎn)品批價、單方計費(fèi)的情況,不適用于對套餐 中的產(chǎn)品批價、多方共同計費(fèi)的情況;主要針對3G消息類增值業(yè)務(wù)的商業(yè)運(yùn) 作而設(shè)計,既支持下行計費(fèi)(如用戶點(diǎn)播天氣預(yù)報,SP下發(fā)指定消息后收費(fèi)) 的情形,也支持上行計費(fèi)(如用戶參與選秀節(jié)目,發(fā)送成功即收費(fèi))的情形。本發(fā)明應(yīng)用系統(tǒng)結(jié)構(gòu)如圖1所示,該系統(tǒng)包括3G引擎、綜合業(yè)務(wù)管理平 臺、緩存區(qū)、數(shù)據(jù)處理模塊和數(shù)據(jù)庫,3G引擎、綜合業(yè)務(wù)管理平臺、緩存區(qū)、 數(shù)據(jù)處理模塊和數(shù)據(jù)庫依次連接3G引擎主要是指綜合業(yè)務(wù)接入網(wǎng)關(guān)(ISAG, Integrated Service Access GateWay),是批價確認(rèn)消息的請求發(fā)起方,當(dāng)用戶選擇業(yè)務(wù),費(fèi)用發(fā)生變化時, 3G引擎向綜合業(yè)務(wù)管理平臺發(fā)起批價請求、批價確認(rèn)消息;綜合業(yè)務(wù)管理平臺是指集成了各種3G增值業(yè)務(wù)(如短信、彩信、wap、流 媒體等)于一體的管理平臺,主要負(fù)責(zé)鑒權(quán)和批價,還用于響應(yīng)3G引擎發(fā)送 的批價請求、批價確認(rèn)消息,并根據(jù)批價確認(rèn)消息從緩存區(qū)中檢索累計數(shù)據(jù)標(biāo) 識。鑒權(quán)是指保證綜合業(yè)務(wù)管理平臺內(nèi)各個實(shí)體的存在性和有效性;批價即計 算價格,以便出賬單或交由實(shí)時扣費(fèi)系統(tǒng)對指定用戶扣費(fèi)。綜合業(yè)務(wù)管理平臺 包括批價模塊、計費(fèi)模塊等多個功能模塊,批價模塊用于計算價格,是綜合業(yè) 務(wù)管理平臺的核心和關(guān)鍵,直接關(guān)系到運(yùn)營商的商業(yè)利潤;計費(fèi)模塊用于根據(jù) 歷史使用情況計算用戶費(fèi)用,并提交扣費(fèi)系統(tǒng)對用戶扣費(fèi)。緩存區(qū)包括了 一級緩存和二級緩存兩部分,分別用于存儲訪問頻率高于歷 史訪問頻率閾值的消息類業(yè)務(wù)累計數(shù)據(jù)、訪問頻率低于歷史訪問頻率閾值的消 息類業(yè)務(wù)累計數(shù)據(jù)。數(shù)據(jù)庫是原始累計數(shù)據(jù)的磁盤存儲區(qū);數(shù)據(jù)庫通過數(shù)據(jù)處理模塊與緩存區(qū) 連接,數(shù)據(jù)處理模塊用于將數(shù)據(jù)庫中原始累計數(shù)據(jù)按業(yè)務(wù)過濾,并將過濾后的 消息類業(yè)務(wù)累計數(shù)據(jù)存入緩沖區(qū),包括數(shù)據(jù)過濾模塊和數(shù)據(jù)監(jiān)控模塊。數(shù)據(jù)過 濾模塊將原始累計數(shù)據(jù)中的消息類業(yè)務(wù)累計數(shù)據(jù)過濾出來,并將消息類業(yè)務(wù)累 計數(shù)據(jù)的歷史訪問頻率與歷史訪問頻率閾值比較結(jié)果,發(fā)送給數(shù)據(jù)監(jiān)控模塊; 數(shù)據(jù)監(jiān)控模塊采用哈希算法,將訪問頻率高于歷史訪問頻率閾值的消息類業(yè)務(wù) 累計數(shù)據(jù)移入一級緩存,訪問頻率低于歷史訪問頻率閾值的消息類業(yè)務(wù)累計數(shù) 據(jù)移入二級緩存。在消息類業(yè)務(wù)中,消息類業(yè)務(wù)累計數(shù)據(jù)是每個用戶所選業(yè)務(wù)、使用量和費(fèi) 用的重要記錄。消息類業(yè)務(wù)累計數(shù)據(jù)在注冊用戶首次使用時,由系統(tǒng)根據(jù)用戶 信息生成,各項累計均為0,并此后逐漸統(tǒng)計用戶對各項業(yè)務(wù)的使用情況。累 計數(shù)據(jù)主要有兩個作用1)方便實(shí)時統(tǒng)計用戶基于SP、業(yè)務(wù)、產(chǎn)品的月消費(fèi) 額和消費(fèi)總額;2)作為重要的輸入?yún)?shù)送給計費(fèi)模塊完成各種復(fù)雜的批價,尤其應(yīng)用于計量分檔、累計折扣等費(fèi)用模式中。原始累計數(shù)據(jù)是線性結(jié)構(gòu),主要包括累計數(shù)據(jù)標(biāo)識、本月累計資源、本月 累計消費(fèi)費(fèi)用、本月包量累計資源、本月保底累計使用費(fèi)用。累計數(shù)據(jù)標(biāo)識是一個32位字符串,用于校驗用戶及產(chǎn)品信息的真實(shí)性,防 止黑客利用木馬程序任意竊取指定的累計數(shù)據(jù);本月累計資源是指用戶對產(chǎn)品的累計使用次數(shù),不涉及wap、流媒體等內(nèi)容類業(yè)務(wù)的細(xì)節(jié);本月累計消費(fèi)費(fèi) 用是指用戶本月實(shí)際的開銷;本月包量累計資源用于用戶對包量產(chǎn)品的量內(nèi)使 用次數(shù)累計;本月保底累計使用費(fèi)用是指用戶對保底產(chǎn)品在保底范圍內(nèi)的虛擬 使用費(fèi)用累計,在保底范圍內(nèi)用戶對產(chǎn)品的累計消費(fèi)費(fèi)用始終為零。原始的累計數(shù)據(jù)是存儲在數(shù)據(jù)庫中的,涉及到12張數(shù)據(jù)結(jié)構(gòu)完全一致的 表,分別存儲12個月份的累計數(shù)據(jù),但是每個月份的累計數(shù)據(jù)是不分短信、彩 信、wap還是流媒體業(yè)務(wù)的。對用戶的費(fèi)用統(tǒng)計時,需要按照不同的業(yè)務(wù)類型 分別計費(fèi),通過數(shù)據(jù)過濾,將原始累計數(shù)據(jù)按照短信、彩信等業(yè)務(wù)類型劃分, 劃分后的消息類業(yè)務(wù)累計數(shù)據(jù)在分別存入緩沖區(qū),以備計費(fèi)使用。原始累計數(shù)據(jù)在數(shù)據(jù)庫中隨時更新,而對于緩存區(qū)中的消息類業(yè)務(wù)累計數(shù) 據(jù),通過設(shè)置緩存更新周期,周期性更新緩存區(qū)消息類業(yè)務(wù)累計數(shù)據(jù);設(shè)置歷 史訪問頻率閾值,以劃分消息類業(yè)務(wù)累計數(shù)據(jù)是存入一級緩存還是二級緩存; 還需設(shè)置當(dāng)月累計數(shù)據(jù)浮動時間,用于確定哈希表的長度。每個緩存更新周期 內(nèi)可能會產(chǎn)生多條原始累計數(shù)據(jù),緩存更新周期到達(dá)時,根據(jù)業(yè)務(wù)類型,過濾 出原始累計數(shù)據(jù)中的消息類業(yè)務(wù)累計數(shù)據(jù),對每條消息類業(yè)務(wù)累計數(shù)據(jù)處理的 具體步驟是步驟2a、提取累計數(shù)據(jù)標(biāo)識;根據(jù)歷史訪問頻率與歷史訪問頻率閾值比較,高于閾值的單條消息類業(yè)務(wù) 累計數(shù)據(jù)移入一級緩存,否則,存入二級緩存。單條消息類業(yè)務(wù)累計數(shù)據(jù)涉及 用戶號碼和產(chǎn)品代碼。產(chǎn)品代碼為21位,其中右邊IO位是流水碼,可以唯一 確定一個產(chǎn)品?;诖?,將用戶號碼與產(chǎn)品IO位流水碼聯(lián)結(jié)成一個中間串,然 后調(diào)用MD5算法對該中間串加密。例如,中間串為137000000300000000078,那么加密后的字符串就是d5c309a5bd038da0f7c4beb20b353540,所生成的32 位加密字符串稱為累計凄t據(jù)標(biāo)識。步驟2b、采用除留余數(shù)法構(gòu)造哈希函數(shù),將消息類業(yè)務(wù)累計數(shù)據(jù)存入緩存區(qū);步驟2bl、將消息類業(yè)務(wù)累計數(shù)據(jù)標(biāo)識各個字符的ASCII碼相加,得到一 個數(shù)字和Suml,作為哈希函數(shù)的自變量;步驟2b2 、根據(jù)當(dāng)月累計數(shù)據(jù)的總量以及當(dāng)月累計數(shù)據(jù)浮動時間段內(nèi)的增 減頻率,估算出在緩存中需要建立的哈希表的長度p, —般的,哈希表的長度 以當(dāng)月累計數(shù)據(jù)總量的1.5倍為宜;步驟2b3、根據(jù)哈希函數(shù)的自變量使用除留余數(shù)法計算函數(shù)值,即H (Suml ) =Suml %q(q<p), —般取q為質(zhì)數(shù)較好,q越接近p,產(chǎn)生哈希沖突 的機(jī)率越小,得到的H (Suml )即為哈希函數(shù)值,也是累計數(shù)據(jù)的緩存存儲地 址。依照計算得到的緩存存儲地址將消息類業(yè)務(wù)累計數(shù)據(jù)存入緩存區(qū)。步驟2c、使用開放定址法解決哈希沖突。在調(diào)用哈希函數(shù)計算存儲地址,將消息類業(yè)務(wù)累計數(shù)據(jù)移入緩存區(qū)的過程 中,不可避免地存在哈希沖突,即地址沖突。這里,采用開放定址法解決哈希沖突,即Hi = ( H(key) + di) % m, i= 1,2,......,k(k<=m-l),其中di為增量,H(key)為哈希函數(shù),m為哈希表長。這里對di的選取采用線性探查再散列的方法,即&=1, 2, 3, ......, m-l,直到解決哈希沖突為止,將地址沖突的單條消息類業(yè)務(wù)累計數(shù)據(jù)的存儲地址按上述計算生成新的地址,并按照新地址將 該消息類業(yè)務(wù)累計數(shù)據(jù)存入緩沖區(qū)。重復(fù)步驟2a至2c,直到將一個緩存周期內(nèi)新增消息類業(yè)務(wù)累計數(shù)據(jù)全部 處理完畢。在業(yè)務(wù)層面,3G引擎與綜合業(yè)務(wù)管理平臺通訊,對用戶的請求的消息類業(yè)務(wù),根據(jù)消息類業(yè)務(wù)累計數(shù)據(jù)進(jìn)行批價的流程如圖3所示步驟3a、 3G引擎向綜合業(yè)務(wù)管理平臺發(fā)送批價請求消息,該消息包含用戶號碼、產(chǎn)品代碼、消息標(biāo)識(msgid,唯一標(biāo)識一條消息,它的格式為MMDDHHMMSSXXXXXXXXXX , MMDDHHMMSS代表當(dāng)前時間, XXXXXXXXXX代表遞增的序列號);步驟3b、綜合業(yè)務(wù)管理平臺收到批價請求消息,根據(jù)用戶的歷史使用情況 對產(chǎn)品批價,例如,用戶享有折扣、本次服務(wù)是否在折扣范圍內(nèi)等等;然后以 批價請求消息的消息標(biāo)識為索引,把用戶號碼和產(chǎn)品代碼存儲到一級緩存中, 并響應(yīng)3G引擎批價請求消息,批價請求響應(yīng)消息包含批價請求結(jié)果、計費(fèi)情 況等,其中,批價請求結(jié)果為0表示批價成功,否則按照各種批價失敗情況返 回對應(yīng)的結(jié)果碼。步驟3c、根據(jù)批價確認(rèn)消息,獲取消息類業(yè)務(wù)累計數(shù)據(jù)并重新批價; 3G引擎向綜合業(yè)務(wù)管理平臺發(fā)送批價確認(rèn)消息,該消息包含3G引擎批價 請求響應(yīng)消息的接收情況,消息標(biāo)識;綜合業(yè)務(wù)管理平臺以批價確認(rèn)消息的 msgid為索引,到一級緩存中獲取用戶號碼和產(chǎn)品代碼,獲取過程與緩存區(qū)數(shù) 據(jù)更新過程類似,即對用戶號碼+產(chǎn)品10位流水碼串進(jìn)行MD5加密得到累計 數(shù)據(jù)標(biāo)識,以累計數(shù)據(jù)標(biāo)識為索引,到一級緩存獲取消息類業(yè)務(wù)累計數(shù)據(jù);如 果獲取失敗,依然以累計數(shù)據(jù)標(biāo)識為索引,到二級緩存獲取消息類業(yè)務(wù)累計數(shù) 據(jù);如果再次獲取失敗,表明該消息類業(yè)務(wù)累計數(shù)據(jù)為初次使用,則將該消息 類業(yè)務(wù)累計數(shù)據(jù)各項全部設(shè)置為零,作為本次獲取的結(jié)果。綜合管理平臺將獲取的消息類業(yè)務(wù)累計數(shù)據(jù)、費(fèi)率(例如50分/條)、折扣 (例如累計10條折扣90%)作為輸入?yún)?shù)傳給批價模塊,批價模塊重新批價, 并將重新批價后的新消息類業(yè)務(wù)累計數(shù)據(jù)存入數(shù)據(jù)庫中,該存儲消息包含用戶 號碼、產(chǎn)品代碼、存儲時間等信息。緩存更新周期到達(dá)后,根據(jù)各新消息類業(yè) 務(wù)累計數(shù)據(jù)的歷史訪問頻率,將累計數(shù)據(jù)更新到緩存區(qū)中。步驟3d、綜合業(yè)務(wù)管理平臺響應(yīng)3G引擎的批價確認(rèn)消息。 以上批價請求消息、批價請求響應(yīng)消息、批價確認(rèn)消息、批價確認(rèn)響應(yīng)消 息是完成一次業(yè)務(wù)處理過程,實(shí)際中,3G引擎可能會連續(xù)發(fā)出多個批價請求消 息,然而由于通信網(wǎng)絡(luò)實(shí)際情況復(fù)雜,綜合業(yè)務(wù)管理平臺接收的消息可能會產(chǎn) 生交錯,用戶的費(fèi)用會隨時發(fā)生變化,通過在每次業(yè)務(wù)操作的批價確認(rèn)環(huán)節(jié)重新批價,以保證數(shù)據(jù)的一致性。此外,也可以采用如RIPEMD160、 SHA1、 SHA256、 SHA384、 SHA512等加密算法對用戶號碼和產(chǎn)品代碼進(jìn)行處理得到 其他形式的累計數(shù)據(jù)標(biāo)識,在查找消息類業(yè)務(wù)累計數(shù)據(jù)時,采用同樣的加密處 理過程得到累計數(shù)據(jù)標(biāo)識即可。以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。
權(quán)利要求
1、一種消息類業(yè)務(wù)累計數(shù)據(jù)緩存方法,其特征在于,該方法包括在綜合業(yè)務(wù)管理平臺和3G引擎之間建立二級緩存機(jī)制,采用除留余數(shù)法計算消息類業(yè)務(wù)累計數(shù)據(jù)存儲地址,將消息類業(yè)務(wù)累計數(shù)據(jù)存儲在緩沖區(qū)。
2. 根據(jù)權(quán)利要求1所述的消息類業(yè)務(wù)累計數(shù)據(jù)緩存方法,其特征在于,所 述消息類業(yè)務(wù)累計數(shù)據(jù)存儲地址的計算過程具體包括將用戶號碼、產(chǎn)品代碼中唯一標(biāo)識產(chǎn)品的字符碼組成中間串; 對所述中間串加密,得到累計凄丈據(jù)標(biāo)識;將累計數(shù)據(jù)標(biāo)識各字符的ASCII碼相加結(jié)果作為哈希函數(shù)自變量; 將所述哈希函數(shù)自變量代入除留余數(shù)法構(gòu)建的哈希函數(shù),所得哈希函數(shù)值 為消息類業(yè)務(wù)累計數(shù)據(jù)的緩存存儲地址。
3. 根據(jù)權(quán)利要求2所述的消息類業(yè)務(wù)累計數(shù)據(jù)緩存方法,其特征在于,所 述存儲地址計算還包括采用開放定址法解決緩存區(qū)存儲地址沖突沖突的存儲地址的新地址Hi = ( H(key) + di) % m;其中,H(key)為沖突的存儲地址,i= 1,2,…,k, (k<=m-l), m為哈希表長; di的選取采用線性探查再散列的方法,即di= 1,2,3,...,m-l,直到解決存儲 地址沖突為止。
4. 根據(jù)權(quán)利要求1至3任一所述的消息類業(yè)務(wù)累計數(shù)據(jù)緩存方法,其特征 在于,所述二級緩存機(jī)制包括設(shè)置緩存更新周期和歷史訪問頻率閾值;緩存更新周期到達(dá),搜索數(shù)據(jù)庫中在此次緩存更新周期內(nèi)的產(chǎn)生的消息類 業(yè)務(wù)累計數(shù)據(jù);若消息類業(yè)務(wù)累計凄t據(jù)的歷史訪問頻率高于歷史訪問頻率閾值,則將該消 息類業(yè)務(wù)累計數(shù)據(jù)更新到一級緩存,否則,更新到二級緩存。
5. 根據(jù)權(quán)利要求1所述的消息類業(yè)務(wù)累計數(shù)據(jù)緩存方法,其特征在于,該 方法還包括對用戶請求的消息類業(yè)務(wù),根據(jù)消息類業(yè)務(wù)累計數(shù)據(jù)進(jìn)行批價。
6、 根據(jù)權(quán)利要求5所述的消息類業(yè)務(wù)累計數(shù)據(jù)緩存方法,其特征在于,所述根據(jù)消息類業(yè)務(wù)累計數(shù)據(jù)進(jìn)行批價的過程包括3G引擎向綜合業(yè)務(wù)管理平臺發(fā)送批價請求消息,該消息包含用戶號碼、產(chǎn) 品代碼;綜合業(yè)務(wù)管理平臺收到批價請求消息,根據(jù)該用戶的歷史使用情況進(jìn)行批價,并將用戶號碼、產(chǎn)品代碼存入一級緩存,向3G引擎返回批價請求響應(yīng)消 自 3G引擎向綜合業(yè)務(wù)管理平臺發(fā)送批價確認(rèn)消息;綜合業(yè)務(wù)管理平臺根據(jù)批價確認(rèn)消息,在一級緩存中獲取用戶號碼和產(chǎn)品 代碼,計算累計數(shù)據(jù)標(biāo)識,根據(jù)累計數(shù)據(jù)標(biāo)識依次在一級緩存、二級緩存中尋 找消息類業(yè)務(wù)累計數(shù)據(jù),如果找到,根據(jù)消息類業(yè)務(wù)累計數(shù)據(jù)對該業(yè)務(wù)重新批 價、更新消息類業(yè)務(wù)累計數(shù)據(jù),并將更新后的消息類業(yè)務(wù)累計數(shù)據(jù)存入數(shù)據(jù)庫; 否則,將該消息類業(yè)務(wù)累計數(shù)據(jù)各項歸零;綜合業(yè)務(wù)管理平臺向3G引擎返回批價確認(rèn)響應(yīng)消息。
7、 根據(jù)權(quán)利要求6所述的消息類業(yè)務(wù)累計數(shù)據(jù)緩存方法,其特征在于,所 述原始累計數(shù)據(jù)是線性結(jié)構(gòu),包括累計數(shù)據(jù)標(biāo)識、本月累計資源、本月累計消 費(fèi)費(fèi)用。
8、 根據(jù)權(quán)利要求7所述的消息類業(yè)務(wù)累計數(shù)據(jù)緩存方法,其特征在于,所 述原始累計數(shù)據(jù)還包括本月包量累計資源和本月保底累計使用費(fèi)用。
9、 一種消息類業(yè)務(wù)累計數(shù)據(jù)緩存系統(tǒng),其特征在于,該系統(tǒng)包括3G引擎、 綜合業(yè)務(wù)管理平臺、緩存區(qū)、數(shù)據(jù)處理模塊和數(shù)據(jù)庫,3G引擎、綜合業(yè)務(wù)管理 平臺、緩存區(qū)、數(shù)據(jù)處理模塊和數(shù)據(jù)庫依次連接3G引擎,用于根據(jù)用戶選擇業(yè)務(wù)向綜合業(yè)務(wù)管理平臺發(fā)送批價請求、批價 確i人消息;綜合業(yè)務(wù)管理平臺,用于對服務(wù)提供商或者內(nèi)容提供商的產(chǎn)品進(jìn)行管理, 所述管理包括但不限于鑒權(quán)、批價;響應(yīng)3G引擎發(fā)送的批價請求、批價確認(rèn) 消息,并根據(jù)批價確認(rèn)消息從緩存區(qū)中檢索累計數(shù)據(jù)標(biāo)識;緩存區(qū),包括一級緩存、二級緩存,分別用于存儲訪問頻率高于歷史訪問 頻率閾值的消息類業(yè)務(wù)累計數(shù)據(jù)、訪問頻率低于歷史訪問頻率閾值的消息類業(yè)務(wù)累計數(shù)據(jù);數(shù)據(jù)處理模塊用于將數(shù)據(jù)庫中原始累計數(shù)據(jù)按業(yè)務(wù)過濾,并將過濾后的消息類業(yè)務(wù)累計數(shù)據(jù)存入緩沖區(qū); 數(shù)據(jù)庫用于存儲原始累計數(shù)據(jù)。
10、根據(jù)權(quán)利要求9所述的消息類業(yè)務(wù)累計數(shù)據(jù)緩存系統(tǒng),其特征在于, 所述數(shù)據(jù)處理模塊包括數(shù)據(jù)過濾模塊和數(shù)據(jù)監(jiān)控模塊,數(shù)據(jù)過濾模塊將原始累計數(shù)據(jù)中的消息類業(yè)務(wù)累計數(shù)據(jù)過濾出來,并將消 息類業(yè)務(wù)累計數(shù)據(jù)的歷史訪問頻率與歷史訪問頻率闊值比較結(jié)果,發(fā)送給數(shù)據(jù) 監(jiān)控模塊;數(shù)據(jù)監(jiān)控模塊采用哈希算法,將訪問頻率高于歷史訪問頻率闊值的消息類 業(yè)務(wù)累計數(shù)據(jù)移入一級緩存,訪問頻率低于歷史訪問頻率閾值的消息類業(yè)務(wù)累 計數(shù)據(jù)移入二級緩存。
全文摘要
本發(fā)明公開了一種消息類業(yè)務(wù)累計數(shù)據(jù)緩存方法在綜合業(yè)務(wù)管理平臺和3G引擎之間建立二級緩存機(jī)制,采用除留余數(shù)法計算消息類業(yè)務(wù)累計數(shù)據(jù)存儲地址,將消息類業(yè)務(wù)累計數(shù)據(jù)存儲在緩沖區(qū)。本發(fā)明還公開了相應(yīng)系統(tǒng),3G引擎,用于根據(jù)用戶選擇業(yè)務(wù)向綜合業(yè)務(wù)管理平臺發(fā)送批價請求、批價確認(rèn)消息;綜合業(yè)務(wù)管理平臺,用于對服務(wù)提供商或者內(nèi)容提供商的產(chǎn)品進(jìn)行管理;緩沖區(qū)包括一級緩存、二級緩存,分別用于存儲訪問頻率高于、低于歷史訪問頻率閾值的消息類業(yè)務(wù)累計數(shù)據(jù);數(shù)據(jù)處理模塊用于將數(shù)據(jù)庫中原始累計數(shù)據(jù)按業(yè)務(wù)過濾為消息類業(yè)務(wù)累計數(shù)據(jù),并存入緩沖區(qū);數(shù)據(jù)庫用于存儲原始累計數(shù)據(jù)。本發(fā)明能有效的解決哈希沖突,實(shí)時性好。
文檔編號G06F17/30GK101216855SQ20081005628
公開日2008年7月9日 申請日期2008年1月16日 優(yōu)先權(quán)日2008年1月16日
發(fā)明者劉國梁 申請人:中興通訊股份有限公司