阮宜龍 李晨陽(yáng) 梁艷春 張宏俊
近幾年,通信產(chǎn)業(yè)迅猛發(fā)展,數(shù)據(jù)規(guī)模呈爆炸式增長(zhǎng)。在此背景下,通信運(yùn)營(yíng)商開(kāi)始意識(shí)到數(shù)據(jù)的重要作用。通信服務(wù)類型多樣,系統(tǒng)復(fù)雜,運(yùn)行維護(hù)費(fèi)用高。針對(duì)上述問(wèn)題,本文提出了一個(gè)基于大數(shù)據(jù)平臺(tái)的通信數(shù)據(jù)管理系統(tǒng)。
隨著大數(shù)據(jù)技術(shù)的發(fā)展以及通信產(chǎn)業(yè)中日益增長(zhǎng)的業(yè)務(wù)數(shù)據(jù),傳統(tǒng)的運(yùn)營(yíng)分析體系已遭遇瓶頸,新的大數(shù)據(jù)運(yùn)營(yíng)分析系統(tǒng)逐步上線。大數(shù)據(jù)平臺(tái)數(shù)據(jù)倉(cāng)庫(kù)的界面層每天都會(huì)有海量的數(shù)據(jù)被訪問(wèn),這些數(shù)據(jù)必須被保存起來(lái),并與過(guò)去所存儲(chǔ)的商業(yè)數(shù)據(jù)一起,用于決策分析。根據(jù)不同的商業(yè)情景,采用不同的方法進(jìn)行數(shù)據(jù)分析。現(xiàn)有的一些軟件能夠很好地解決數(shù)據(jù)的采集、存儲(chǔ)、分析和查詢等方面的問(wèn)題。大數(shù)據(jù)平臺(tái)的根本特征是組件多,節(jié)點(diǎn)多,復(fù)雜性高。通信產(chǎn)業(yè)大數(shù)據(jù)平臺(tái)中,包含了大量的構(gòu)件、節(jié)點(diǎn),同時(shí)也存在著大量的業(yè)務(wù)數(shù)據(jù)與指標(biāo),需要對(duì)其進(jìn)行有效的管理。因此,如何設(shè)計(jì)一個(gè)高效、輕量級(jí)的大數(shù)據(jù)平臺(tái),對(duì)其進(jìn)行有效的管理是非常關(guān)鍵的。
如圖1所示,通信數(shù)據(jù)管理系統(tǒng)是以大數(shù)據(jù)平臺(tái)為基礎(chǔ)的,它由接口采集模塊、程序調(diào)度模塊、平臺(tái)告警模塊、數(shù)據(jù)營(yíng)銷分析模塊以及可視化模塊構(gòu)成。接口采集模塊主要完成對(duì)大數(shù)據(jù)平臺(tái)構(gòu)件和服務(wù)、虛擬化系統(tǒng)以及物理節(jié)點(diǎn)的工作時(shí)間周期數(shù)據(jù)的獲取,并對(duì)所收集到的數(shù)據(jù)進(jìn)行格式化,并將其傳送給程序調(diào)度模塊。在數(shù)據(jù)營(yíng)銷分析模塊,利用流式計(jì)算和深度學(xué)習(xí)的方法,深度分析用戶的性別、年齡以及產(chǎn)品的使用狀況,并根據(jù)性別、年齡、年齡等因素,為用戶提供個(gè)性化的產(chǎn)品推薦。查詢可視化模塊主要是對(duì)歷史資料及分析模組的實(shí)時(shí)資料進(jìn)行存取、儲(chǔ)存,并提供資料查詢與視覺(jué)化展示,以供使用者日后進(jìn)行商業(yè)分析之用。
針對(duì)大數(shù)據(jù)平臺(tái)構(gòu)件與服務(wù)多樣化、獲取模式多樣、數(shù)據(jù)意義多樣等特征,研究針對(duì)不同構(gòu)件或服務(wù)的專用收集模塊具有重要意義。從數(shù)據(jù)源獲取數(shù)據(jù)后,用戶可以從界面中獲取相應(yīng)的數(shù)據(jù),從而得到更加豐富和完備的數(shù)據(jù)。本文采用Java進(jìn)程采集節(jié)點(diǎn)上的數(shù)據(jù),并定期啟動(dòng)特定的任務(wù)訪問(wèn)構(gòu)件或服務(wù)提供的接口,對(duì)采集到的數(shù)據(jù)進(jìn)行篩選和抽取,并將其格式化,并將其發(fā)送給程序調(diào)度模塊。在虛擬化的基礎(chǔ)上,建立了一個(gè)虛擬節(jié)點(diǎn),即虛擬節(jié)點(diǎn)。虛擬結(jié)點(diǎn)的操作資料是通過(guò)一個(gè)開(kāi)放的界面來(lái)實(shí)現(xiàn)的。通過(guò)在特定節(jié)點(diǎn)上啟動(dòng)Java進(jìn)程,啟動(dòng)構(gòu)件和服務(wù),并向聚集和存儲(chǔ)模塊發(fā)送格式數(shù)據(jù),實(shí)現(xiàn)持久存儲(chǔ)。對(duì)于實(shí)體資料節(jié)點(diǎn)的資料采集,則必須先建立指令碼,然后在實(shí)體節(jié)點(diǎn)上進(jìn)行部署。該腳本通過(guò)調(diào)用Linux的指令,獲得CPU,內(nèi)存,硬盤(pán),網(wǎng)絡(luò)以及其他的用法,并返回Linux命令的結(jié)果。通過(guò)字符串的匹配、分析,抽取出有意義的字段,然后將這些字段進(jìn)行格式化,然后將這些字段傳送給程序調(diào)度模塊。
在數(shù)據(jù)收集完成后,還需對(duì)數(shù)據(jù)進(jìn)行ETL等處理,其主要由對(duì)應(yīng)的腳本程序來(lái)完成。針對(duì)不同的系統(tǒng),其數(shù)據(jù)處理過(guò)程各不相同,所以要結(jié)合具體的工作環(huán)境,分別編寫(xiě)相應(yīng)的腳本。通過(guò)編程界面,實(shí)現(xiàn)了對(duì)程序運(yùn)行狀態(tài)的實(shí)時(shí)監(jiān)測(cè),并將其存入MySQL數(shù)據(jù)庫(kù)。當(dāng)程序出現(xiàn)故障時(shí),將自動(dòng)重啟。以前的計(jì)劃表存在著不足,如沒(méi)有對(duì)程序進(jìn)行完整的監(jiān)測(cè),沒(méi)有對(duì)程序進(jìn)行有效的控制,也沒(méi)有對(duì)自動(dòng)腳本進(jìn)行完整的配置。所以,這個(gè)模塊就是針對(duì)上述不足而設(shè)計(jì)的。該模塊主要由ETL和相應(yīng)的腳本程序配置兩大函數(shù)構(gòu)成。大數(shù)據(jù)調(diào)度平臺(tái)的總體運(yùn)行接口及實(shí)施方式,與現(xiàn)有的倉(cāng)儲(chǔ)調(diào)度體系完全相同,其工作流程見(jiàn)圖2。本項(xiàng)目的核心內(nèi)容是采用Linux中通用的SSH通信協(xié)議,調(diào)度平臺(tái)能夠以大數(shù)據(jù)為簇的方式分布執(zhí)行任務(wù)。采用這種方式的優(yōu)勢(shì)在于,無(wú)需將任務(wù)腳本放在一臺(tái)服務(wù)器上,而是可以將運(yùn)行的不同種類的任務(wù)分散到不同的服務(wù)器端,并且能夠針對(duì)任務(wù)的特征做出適當(dāng)?shù)恼{(diào)整,在不同的集群系統(tǒng)之間增加多任務(wù)的分布式執(zhí)行,增強(qiáng)了程序之間的耦合程度,降低了調(diào)度服務(wù)器的資源負(fù)荷。此外,我們還通過(guò)增加多任務(wù)的分布式執(zhí)行,使得不同的任務(wù)可以相互關(guān)聯(lián)和協(xié)作,提高了整體的任務(wù)執(zhí)行效率。同時(shí),由于不同的集群系統(tǒng)之間可以共享任務(wù)執(zhí)行結(jié)果和資源,從而降低了調(diào)度服務(wù)器的資源負(fù)荷,使得整個(gè)系統(tǒng)更加穩(wěn)定和高效。
本文提出了一種基于大數(shù)據(jù)平臺(tái)的通信數(shù)據(jù)管理系統(tǒng),主要研究了接口采集模塊和程序調(diào)度模塊。對(duì)于其他功能模塊,本論文是在現(xiàn)有的基礎(chǔ)上,對(duì)現(xiàn)有的大數(shù)據(jù)管理系統(tǒng)做了一些小的改善,從而提高了整個(gè)系統(tǒng)的總體性能,提高了用戶的使用體驗(yàn)。在保證數(shù)據(jù)遷移效率的前提下,保證了系統(tǒng)的穩(wěn)定可靠。通過(guò)本文的研究,希望能夠從根本上解決目前通信數(shù)據(jù)管理系統(tǒng)存在的問(wèn)題,提升通信數(shù)據(jù)的處理效率,提升通信數(shù)據(jù)的分析質(zhì)量,為企業(yè)提供更加高效便捷的數(shù)據(jù)管理方案。
基金項(xiàng)目:江蘇省研究生科研與實(shí)踐創(chuàng)新計(jì)劃項(xiàng)目(KYCX22_1019)。
作者單位:阮宜龍 中國(guó)電信集團(tuán)有限公司
李晨陽(yáng) 、張宏俊 中國(guó)通信服務(wù)股份有限公司
梁艷春 中國(guó)通信建設(shè)集團(tuán)有限公司