基于Spark平臺(tái)的電信運(yùn)行商收入分?jǐn)傁到y(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
發(fā)布時(shí)間:2020-03-25 04:18
【摘要】:隨著移動(dòng)互聯(lián)網(wǎng)的興起,移動(dòng)用戶數(shù)目激增。電信運(yùn)行商們所擁有的用戶數(shù)均達(dá)到了億級(jí)。作為電信運(yùn)行商核心業(yè)務(wù)的計(jì)費(fèi)與結(jié)算所涉及的總數(shù)據(jù)量上升到了 PB級(jí)別。收入分?jǐn)偸沁@一核心業(yè)務(wù)的重要環(huán)節(jié)之一,它將計(jì)費(fèi)收入按照規(guī)則分?jǐn)偨o各個(gè)部門,是一組數(shù)據(jù)量大,容錯(cuò)率低,需要在短時(shí)間內(nèi)計(jì)算出結(jié)果的批處理任務(wù)。運(yùn)營商們分別基于商業(yè)數(shù)據(jù)庫Hana,mpp數(shù)據(jù)庫Greenplum來構(gòu)建收入分?jǐn)傁到y(tǒng)。但是Hana的花費(fèi)十分昂貴,Greenplum存在可擴(kuò)展性差、穩(wěn)定性低的問題。如何構(gòu)建一個(gè)保證快速計(jì)算的同時(shí)還兼?zhèn)淞畠r(jià)、可擴(kuò)展性強(qiáng)、穩(wěn)定性高的收入分?jǐn)傁到y(tǒng)成為電信運(yùn)行商亟需解決的問題。本文的實(shí)際應(yīng)用場景為聯(lián)通軟件研究院的收入分?jǐn)倶I(yè)務(wù),以聯(lián)通的用戶計(jì)費(fèi)數(shù)據(jù)為數(shù)據(jù)基礎(chǔ)。業(yè)務(wù)內(nèi)容是將當(dāng)月收入按照給定的分?jǐn)傄?guī)則進(jìn)行關(guān)系運(yùn)算,計(jì)算出各個(gè)部門分得的收入。業(yè)務(wù)過程可以粗粒度的劃分為如下步驟:首先,數(shù)據(jù)從計(jì)費(fèi)系統(tǒng)通過數(shù)據(jù)抽取工具抽取至收入分?jǐn)傆?jì)算集群,儲(chǔ)存至數(shù)據(jù)倉庫中。待數(shù)據(jù)全部到位后,按照制定的順序依次執(zhí)行存儲(chǔ)過程SQL,在存儲(chǔ)過程SQL執(zhí)行完畢后將執(zhí)行結(jié)果寫回?cái)?shù)據(jù)倉庫中。所有省份的存儲(chǔ)過程均執(zhí)行完畢后,分?jǐn)偣ぷ鹘Y(jié)束。本文使用分布式存儲(chǔ)與計(jì)算技術(shù),借助Spark計(jì)算引擎,Alluxio內(nèi)存分布式文件系統(tǒng),Hive數(shù)據(jù)倉庫,HDFS分布式文件系統(tǒng),MySQL數(shù)據(jù)庫,Python語言與Scala語言實(shí)現(xiàn)了收入分?jǐn)傁到y(tǒng)的數(shù)據(jù)預(yù)處理層、計(jì)算層以及監(jiān)控層的實(shí)現(xiàn)。本文介紹了本系統(tǒng)開發(fā)的實(shí)際應(yīng)用背景,并簡要的分析了 Spark計(jì)算引擎技術(shù)與Alluxio內(nèi)存分布式文件系統(tǒng)技術(shù),簡要介紹了本系統(tǒng)的系統(tǒng)架構(gòu),詳細(xì)闡述了本電信運(yùn)行商收入分?jǐn)傁到y(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)過程,該部分是本文的重點(diǎn)。基于Spark平臺(tái)的新系統(tǒng)的實(shí)現(xiàn)極大地為運(yùn)營人員的分?jǐn)偣ぷ魈峁┝吮憷?系統(tǒng)能夠穩(wěn)定地運(yùn)行不會(huì)出現(xiàn)舊系統(tǒng)易發(fā)的崩潰情況。數(shù)據(jù)量大的存儲(chǔ)過程類別的執(zhí)行時(shí)間較舊系統(tǒng)來說有所提升,將河南、山東的實(shí)收過程的執(zhí)行時(shí)間從1小時(shí)以上縮短至40分鐘以內(nèi),提高了存儲(chǔ)過程的執(zhí)行效率。新系統(tǒng)已通過功能性和非功能性測試,等待部署上線。
【圖文】:
后臺(tái)業(yè)務(wù)執(zhí)行子系統(tǒng)和前臺(tái)監(jiān)控、操作子系統(tǒng)。前者在獲取需求時(shí)主逡逑要考慮以數(shù)據(jù)流動(dòng)為中心的處理過程,后者在獲取需求時(shí)則更多地依據(jù)系統(tǒng)操作逡逑員的使用場景及其所需要的功能點(diǎn)。如圖3-1所示為系統(tǒng)的業(yè)務(wù)流程圖。逡逑丨開始]逡逑數(shù)椐逡逑抽取逡逑L/w?Y邋mm邋Ly^vJ逡逑現(xiàn)異常邐現(xiàn)異常邐|現(xiàn)異常逡逑__V邐邐I邐y逡逑乎動(dòng)?:邐手動(dòng)M邐乎動(dòng)W斿義掀舨僮麇紋舨僮麇紋舨僮麇義,
本文編號(hào):2599383
【圖文】:
后臺(tái)業(yè)務(wù)執(zhí)行子系統(tǒng)和前臺(tái)監(jiān)控、操作子系統(tǒng)。前者在獲取需求時(shí)主逡逑要考慮以數(shù)據(jù)流動(dòng)為中心的處理過程,后者在獲取需求時(shí)則更多地依據(jù)系統(tǒng)操作逡逑員的使用場景及其所需要的功能點(diǎn)。如圖3-1所示為系統(tǒng)的業(yè)務(wù)流程圖。逡逑丨開始]逡逑數(shù)椐逡逑抽取逡逑L/w?Y邋mm邋Ly^vJ逡逑現(xiàn)異常邐現(xiàn)異常邐|現(xiàn)異常逡逑__V邐邐I邐y逡逑乎動(dòng)?:邐手動(dòng)M邐乎動(dòng)W斿義掀舨僮麇紋舨僮麇紋舨僮麇義,
本文編號(hào):2599383
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/2599383.html
最近更新
教材專著