特約撰稿人 | 陳永華
運(yùn)營(yíng)商如果想實(shí)現(xiàn)計(jì)費(fèi)的全國(guó)集中,首先需要解決的問(wèn)題是實(shí)現(xiàn)計(jì)費(fèi)數(shù)據(jù)的云存儲(chǔ)和云計(jì)算。
目前,計(jì)費(fèi)數(shù)據(jù)大多采用省集中存儲(chǔ)、數(shù)據(jù)庫(kù)表結(jié)構(gòu)的存儲(chǔ)模式,這種簡(jiǎn)單的表數(shù)據(jù)存儲(chǔ)和存放方式給大用戶(hù)量和大話(huà)單量數(shù)據(jù)的插入、查詢(xún)和更新操作帶來(lái)了巨大的系統(tǒng)開(kāi)銷(xiāo),應(yīng)用系統(tǒng)的性能瓶頸往往表現(xiàn)在數(shù)據(jù)庫(kù)操作的性能瓶頸上。
根據(jù)當(dāng)下電信業(yè)數(shù)據(jù)集中化的主流發(fā)展趨勢(shì),運(yùn)營(yíng)商如果想實(shí)現(xiàn)計(jì)費(fèi)的全國(guó)集中,首先需要解決的問(wèn)題是計(jì)費(fèi)數(shù)據(jù)的云存儲(chǔ)和云計(jì)算問(wèn)題,否則的話(huà),則只有具備一個(gè)巨型計(jì)算機(jī)才能完成如此龐大的數(shù)據(jù)存儲(chǔ)和計(jì)算任務(wù),換句話(huà)說(shuō),如果不解決計(jì)費(fèi)數(shù)據(jù)的云存儲(chǔ)問(wèn)題,全國(guó)集中化就是不可實(shí)現(xiàn)的。
對(duì)于如何解決大量的計(jì)費(fèi)數(shù)據(jù)集中存儲(chǔ)問(wèn)題?筆者認(rèn)為,首先通過(guò)分布式云數(shù)據(jù)存儲(chǔ)實(shí)現(xiàn)分布式計(jì)算,把負(fù)載分?jǐn)偟接心芰Τ休d的主機(jī)上并進(jìn)行分布式運(yùn)算,實(shí)現(xiàn)數(shù)據(jù)云化,同時(shí)需要對(duì)計(jì)費(fèi)數(shù)據(jù)進(jìn)行多個(gè)維度的分類(lèi),實(shí)現(xiàn)數(shù)據(jù)分布式存儲(chǔ)和計(jì)算。
筆者將通過(guò)四個(gè)部分來(lái)論述如何將計(jì)費(fèi)數(shù)據(jù)進(jìn)行分割實(shí)現(xiàn)云存儲(chǔ)和云計(jì)算:第一,介紹計(jì)費(fèi)數(shù)據(jù)分割的理論基礎(chǔ)和基本原理;第二,如何部署分割后的計(jì)費(fèi)數(shù)據(jù);第三,講述分布式數(shù)據(jù)對(duì)象的存取方法;第四,分布式數(shù)據(jù)如何實(shí)現(xiàn)集中式的統(tǒng)計(jì)查詢(xún)。
計(jì)費(fèi)系統(tǒng)從最初的本地網(wǎng)已經(jīng)發(fā)展到了如今的省集中,并且還有了全國(guó)集中的發(fā)展趨勢(shì)。但是,在絕大多數(shù)情況下,客戶(hù)之間都是彼此獨(dú)立且其關(guān)聯(lián)度也很薄弱,客戶(hù)之間的關(guān)聯(lián)可以在獨(dú)立客戶(hù)基礎(chǔ)之上進(jìn)行組群關(guān)聯(lián)。比如從早期的專(zhuān)業(yè)計(jì)費(fèi)系統(tǒng)的豎井結(jié)構(gòu)、煙囪式的建設(shè)模式看,各個(gè)專(zhuān)業(yè)計(jì)費(fèi)系統(tǒng)之間都是獨(dú)立的,并且業(yè)務(wù)間也存在獨(dú)立性。
對(duì)此,我們將計(jì)費(fèi)數(shù)據(jù)按照客戶(hù)維度、時(shí)間維度和業(yè)務(wù)維度這三大維度進(jìn)行分類(lèi),并根據(jù)數(shù)據(jù)的分類(lèi)進(jìn)行數(shù)據(jù)的分布和分割。
按客戶(hù)維度分布
將計(jì)費(fèi)數(shù)據(jù)根據(jù)客戶(hù)地域進(jìn)行分布式存儲(chǔ),客戶(hù)組群可大可小且具有伸縮性,通過(guò)全局邏輯客戶(hù)視圖和實(shí)際客戶(hù)庫(kù)之間的映射關(guān)系,將全局邏輯客戶(hù)分布到區(qū)域組群客戶(hù)庫(kù)中,實(shí)現(xiàn)系統(tǒng)處理上的全局統(tǒng)一客戶(hù)視圖——存儲(chǔ)層實(shí)現(xiàn)分布式存儲(chǔ),運(yùn)算層分布式運(yùn)算。全局?jǐn)?shù)據(jù)操作對(duì)象定位器實(shí)現(xiàn)分布式客戶(hù)對(duì)象的注冊(cè)、定位和存取功能。
按時(shí)間維度分布
區(qū)域內(nèi)客戶(hù)組群的計(jì)費(fèi)數(shù)據(jù)還可以按照時(shí)間周期進(jìn)行分布,可分為當(dāng)前帳期、上一個(gè)帳期、3個(gè)月內(nèi)帳期、半年內(nèi)帳期、一年內(nèi)帳期和一年外帳期等階段。不同階段的數(shù)據(jù)、計(jì)算的頻率、訪問(wèn)的次數(shù)都不同,導(dǎo)致了存儲(chǔ)方式和運(yùn)算方式的不同,這其中“當(dāng)前帳期”數(shù)據(jù)運(yùn)算量最大,訪問(wèn)頻率最高,因此需要在內(nèi)存中進(jìn)行運(yùn)算,且還需要對(duì)數(shù)據(jù)近一步分開(kāi),以降低數(shù)據(jù)集中度。
按業(yè)務(wù)維度分布
單個(gè)客戶(hù)對(duì)象數(shù)據(jù)還可以再分為主客戶(hù)數(shù)據(jù)、支付數(shù)據(jù)、統(tǒng)計(jì)數(shù)據(jù)和業(yè)務(wù)數(shù)據(jù),業(yè)務(wù)數(shù)據(jù)還可以根據(jù)業(yè)務(wù)種類(lèi)分成客戶(hù)業(yè)務(wù)1數(shù)據(jù),直至客戶(hù)業(yè)務(wù)N數(shù)據(jù),這些數(shù)據(jù)都可以分布在不同的主機(jī)上分布計(jì)算。業(yè)務(wù)模版數(shù)據(jù)作為公共的基礎(chǔ)數(shù)據(jù)可以單獨(dú)主機(jī)進(jìn)行參數(shù)配置和存儲(chǔ)。
圖1 全局?jǐn)?shù)據(jù)操作對(duì)象定位器設(shè)計(jì)示意圖
全局邏輯客戶(hù)數(shù)據(jù)按照客戶(hù)維度、時(shí)間維度和業(yè)務(wù)維度三大維度進(jìn)行數(shù)據(jù)切割,并分布在不同的主機(jī)上,因此不同的主機(jī)存儲(chǔ)和內(nèi)存中分布著不同的數(shù)據(jù)對(duì)象。
通過(guò)設(shè)計(jì)全局?jǐn)?shù)據(jù)操作對(duì)象定位器定位和查找分布在不同主機(jī)上的數(shù)據(jù)對(duì)象,可以形成一個(gè)全局的客戶(hù)數(shù)據(jù)視圖展現(xiàn)給上層應(yīng)用程序,實(shí)現(xiàn)分布式云存儲(chǔ)和統(tǒng)一的數(shù)據(jù)運(yùn)算(全局?jǐn)?shù)據(jù)操作對(duì)象定位器設(shè)計(jì)示意圖如圖1)。
以上設(shè)計(jì)的系統(tǒng)是針對(duì)單個(gè)客戶(hù)的計(jì)算,如果遇到需要對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)查詢(xún)的情況時(shí),就將涉及到對(duì)所有客戶(hù)的掃描工作。
這種運(yùn)算在分布式數(shù)據(jù)情況下,需要對(duì)各個(gè)子數(shù)據(jù)塊產(chǎn)生的統(tǒng)計(jì)結(jié)果進(jìn)行三層累積,分別經(jīng)過(guò)業(yè)務(wù)層次累積、時(shí)間層次累積和客戶(hù)區(qū)域?qū)哟卫鄯e,以產(chǎn)生最終的統(tǒng)計(jì)結(jié)果(統(tǒng)計(jì)查詢(xún)?cè)硎疽鈭D如圖2)。
綜上所述,我們根據(jù)客戶(hù)、時(shí)間和業(yè)務(wù)等類(lèi)別進(jìn)行三維數(shù)據(jù)分割,實(shí)現(xiàn)了數(shù)據(jù)分布式云存儲(chǔ)和計(jì)算,以期降低硬件投資成本,提高計(jì)費(fèi)運(yùn)算的速度。需要說(shuō)明的是,筆者所描述的是抽象的系統(tǒng)級(jí)概要設(shè)計(jì)視圖,許多設(shè)計(jì)和技術(shù)實(shí)現(xiàn)細(xì)節(jié)還需要進(jìn)一步完善和補(bǔ)充,希望通過(guò)本文與業(yè)界專(zhuān)業(yè)人士共同研究和探討計(jì)費(fèi)數(shù)據(jù)云存儲(chǔ)方法,如有不妥之處,請(qǐng)望批評(píng)指證。
圖2 統(tǒng)計(jì)查詢(xún)?cè)硎疽鈭D