賈淑滟
(山西旅游職業(yè)學(xué)院 計(jì)算機(jī)科學(xué)系,山西 太原 030031)
用戶在云端輸入檢索信令獲取目標(biāo)信息時(shí),往往由于云端數(shù)據(jù)量過于龐大而導(dǎo)致目標(biāo)信息檢索超時(shí)[1]。考慮到這種負(fù)面因素影響,以云環(huán)境下大數(shù)據(jù)為支撐的企業(yè)開始致力于開發(fā)適用于自身的大數(shù)據(jù)智能分析平臺。通過分散業(yè)務(wù)流程,實(shí)現(xiàn)大數(shù)據(jù)資源多層級管理,不僅能梳理雜亂無序的網(wǎng)絡(luò)數(shù)據(jù),還能縮短目標(biāo)信息的檢索時(shí)長,達(dá)到改善用戶操作體驗(yàn)、拉近用戶合作關(guān)系、增加企業(yè)用戶流量的目的。汪杰等[2]通過B/S結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)分析平臺的基本框架,但該方法存在平臺運(yùn)行時(shí)間過長的問題。孟光偉[3]通過Kafka分布式函數(shù)將待處理數(shù)據(jù)劃分成權(quán)重系數(shù)不同的多組Kafka集群,并將多組Kafka集群依次輸入由Spark Structured Streaming網(wǎng)絡(luò)引擎組成的后臺運(yùn)算程序,實(shí)現(xiàn)大數(shù)據(jù)智能分析平臺的構(gòu)建,該方法存在平臺運(yùn)行效率低、平均絕對誤差較大的問題。張波等[4]采用云環(huán)境下大數(shù)據(jù)開源工具Docker建立基于業(yè)務(wù)管控系統(tǒng)的數(shù)據(jù)分析平臺,并在實(shí)際應(yīng)用中結(jié)合運(yùn)營統(tǒng)計(jì)裝置,實(shí)現(xiàn)大數(shù)據(jù)智能分析平臺的構(gòu)建。Ogiela等[5]提出了基于人本分析的數(shù)據(jù)分析技術(shù),為了充分解釋所有可能發(fā)生的偏好,并對其在產(chǎn)品評估、促銷階段的意義和有用性進(jìn)行了分析,但這兩種方法存在平均絕對誤差較大的問題。Abukmeil等[6]從盲源分離、流形學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)架構(gòu)了用于數(shù)據(jù)分析的無監(jiān)督生成學(xué)習(xí)模型,但是該方法存在平臺運(yùn)行效率低的問題。李娟等[7]利用映射-歸約(MapReduce,MR)和Hadoop構(gòu)建了Hadoop云平臺,在云平臺中實(shí)現(xiàn)了分布式計(jì)算、數(shù)據(jù)挖掘、業(yè)務(wù)響應(yīng)以及用戶交互。雖然,MR技術(shù)具有高效性、可擴(kuò)展性、容錯性和靈活性優(yōu)勢,但是MR需要進(jìn)行數(shù)據(jù)劃分、映射、歸約等多個步驟,存在復(fù)雜性、數(shù)據(jù)傾斜、數(shù)據(jù)運(yùn)算成本增加等問題。劉仁芬等[8]在篩選分布空間高維數(shù)據(jù)特征并進(jìn)行降維的基礎(chǔ)上,利用改進(jìn)Spark技術(shù),設(shè)計(jì)了高維數(shù)據(jù)增量式聚類算法,該方法降低了存儲空間的占用率,可完成高維數(shù)據(jù)的有效、可靠聚類。
在構(gòu)建大數(shù)據(jù)智能分析平臺時(shí),需要綜合考慮性能、可擴(kuò)展性、易用性等因素。Spark技術(shù)和MR技術(shù)都是用于大數(shù)據(jù)處理的分布式計(jì)算框架,也是構(gòu)建時(shí)選擇的主要方法。其中,Spark技術(shù)是兼具Scala語義開發(fā)模式和分級式數(shù)據(jù)處理系統(tǒng)的新型平臺開發(fā)技術(shù),其對數(shù)據(jù)的存儲和運(yùn)行迭代均以云端為主,這使得最終構(gòu)建的平臺運(yùn)行空間較大,不易出現(xiàn)由于數(shù)據(jù)量過大而導(dǎo)致的平臺運(yùn)行卡頓的問題。MR技術(shù)[9]對數(shù)據(jù)的存儲和運(yùn)行迭代均以本地磁盤為主,這使得最終構(gòu)建的平臺運(yùn)行空間較小,除運(yùn)行卡頓外,還易發(fā)生平臺崩潰和數(shù)據(jù)丟失的情況。在數(shù)據(jù)審核的過程中,Spark技術(shù)采用循環(huán)審核的方式,最大限度過濾干擾數(shù)據(jù),使平臺接收到的數(shù)據(jù)信息優(yōu)化效果明顯,且平臺負(fù)載率明顯下降。MR技術(shù)采用非循環(huán)審核的方式,易出現(xiàn)干擾數(shù)據(jù)擾亂平臺數(shù)據(jù)庫的現(xiàn)象,使平臺負(fù)載率上升,數(shù)據(jù)運(yùn)算成本增加。因此,本文提出基于Spark技術(shù)的大數(shù)據(jù)智能分析平臺構(gòu)建方法,以優(yōu)化數(shù)據(jù)分析質(zhì)量。
局部約束學(xué)習(xí)方法作為一種數(shù)據(jù)降維方法,主要通過低維空間嵌入技術(shù)解決大數(shù)據(jù)的高維問題[10]。以高維數(shù)據(jù)集S為例,局部約束學(xué)習(xí)方法想要獲取基于高維數(shù)據(jù)集S的低維映射指征,需通過組合相關(guān)函數(shù)[11]將數(shù)據(jù)集轉(zhuǎn)化成流形函數(shù)曲線上的一組分布式高維數(shù)據(jù)標(biāo)志點(diǎn),達(dá)到約束標(biāo)志點(diǎn)領(lǐng)域內(nèi)映射的目的。組合相關(guān)函數(shù)為
流形函數(shù)曲線為
距離差分原理公式為
微分同胚映射原理公式為
要建立非專業(yè)用戶數(shù)據(jù)便捷檢索的大數(shù)據(jù)智能分析平臺,需從研發(fā)體系、數(shù)據(jù)分析流程、用戶接口服務(wù)等多個角度分析,同時(shí)考慮應(yīng)用服務(wù)層、權(quán)限管理層、中間服務(wù)層和基礎(chǔ)資源層,共同組建基于繁雜數(shù)據(jù)業(yè)務(wù)的平臺分層架構(gòu)圖(圖1)。各層框架的功能:(1)應(yīng)用服務(wù)層。應(yīng)用服務(wù)層主要采用Web Service系統(tǒng)設(shè)計(jì),該系統(tǒng)操作界面簡便,方便用戶下載數(shù)據(jù)、查看數(shù)據(jù)展示圖、修改數(shù)據(jù)參數(shù)設(shè)定,對外接口服務(wù)內(nèi)部信息系統(tǒng)不限制用戶登錄地址,即用戶可以在任意地點(diǎn)登錄并使用該平臺。(2)權(quán)限管理層。權(quán)限管理層加入Java服務(wù)器約束數(shù)據(jù)集操作對象[13],即每次平臺操作任務(wù)僅能登記在一位用戶名下,并保存該用戶近三天內(nèi)全部檢索數(shù)據(jù),方便用戶重復(fù)審閱。(3)中間服務(wù)層。中間服務(wù)層包括主題數(shù)據(jù)服務(wù)模塊和數(shù)據(jù)自動化匯聚模塊,其中,主題數(shù)據(jù)服務(wù)模塊又被細(xì)分為數(shù)據(jù)監(jiān)控狀態(tài)、數(shù)據(jù)資源目錄、數(shù)據(jù)鏈接和數(shù)據(jù)主題庫,這些分支將主題數(shù)據(jù)服務(wù)模塊進(jìn)一步細(xì)化,不但增加了數(shù)據(jù)信息配置的精確性,還為開發(fā)人員調(diào)試服務(wù)器提供可靠依據(jù)。(4)基礎(chǔ)資源層?;A(chǔ)資源層是指企業(yè)上傳的相關(guān)數(shù)據(jù)。以大數(shù)據(jù)智能分析平臺為例,該平臺需要上傳的資源信息是經(jīng)過降維處理的大數(shù)據(jù)信息[14-15],在上傳過程中,平臺會根據(jù)Map對應(yīng)映射表檢測數(shù)據(jù)維度,達(dá)到整體數(shù)據(jù)維度無誤的目的。
圖1 平臺分層架構(gòu)
在利用Spark技術(shù)成功建立平臺框架的基礎(chǔ)上,為了進(jìn)一步提高任務(wù)執(zhí)行效率,參考MR數(shù)據(jù)網(wǎng)絡(luò)質(zhì)量分析系統(tǒng),結(jié)合數(shù)據(jù)分析編排器,對MR數(shù)據(jù)網(wǎng)絡(luò)進(jìn)行優(yōu)化,實(shí)現(xiàn)大數(shù)據(jù)智能分析平臺的后臺分析服務(wù)設(shè)計(jì)。MR數(shù)據(jù)網(wǎng)絡(luò)質(zhì)量分析系統(tǒng)是由RESTful API開源包,通過對網(wǎng)絡(luò)覆蓋范圍內(nèi)多角度信息解碼而獲取的以JSON為標(biāo)準(zhǔn)格式的多節(jié)點(diǎn)分析系統(tǒng)。MR數(shù)據(jù)網(wǎng)絡(luò)質(zhì)量分析系統(tǒng)的節(jié)點(diǎn)功能如圖2所示。
圖2 MR數(shù)據(jù)網(wǎng)絡(luò)質(zhì)量分析系統(tǒng)的節(jié)點(diǎn)功能
數(shù)據(jù)分析編排器的整體框架借助上述MR數(shù)據(jù)網(wǎng)絡(luò)質(zhì)量分析系統(tǒng),在節(jié)點(diǎn)功能不變的前提下,加入Parquet運(yùn)算公式,獲取基于可視化組件的數(shù)據(jù)源算子,為后續(xù)數(shù)據(jù)分析工作做好充足準(zhǔn)備。Parquet運(yùn)算公式為
式中,cosε表示Parquet運(yùn)算常數(shù),f(x2)表示Parquet運(yùn)算公式與MR數(shù)據(jù)網(wǎng)絡(luò)質(zhì)量分析系統(tǒng)的結(jié)合緊密度[16],f(xest)表示數(shù)據(jù)源算子的獲取率,Dwt表示數(shù)據(jù)源算子的獲取誤差。數(shù)據(jù)分析編排器的整體框架如圖3所示。數(shù)據(jù)源算子不僅能夠?qū)崿F(xiàn)多主題數(shù)據(jù)交叉編排分析,還能將輸入數(shù)據(jù)與執(zhí)行計(jì)劃直接掛鉤,為用戶提供數(shù)據(jù)驅(qū)動檢索服務(wù)的同時(shí),達(dá)到后臺數(shù)據(jù)定位追蹤的效果。
圖3 數(shù)據(jù)分析編排器的整體框架
為了驗(yàn)證基于Spark技術(shù)的大數(shù)據(jù)智能分析平臺構(gòu)建的整體有效性,需要對其進(jìn)行測試。選擇規(guī)模不同的三組數(shù)據(jù)庫,a組數(shù)據(jù)庫內(nèi)存量為1×106bit,b組數(shù)據(jù)庫內(nèi)存量為1×1011bit,c組數(shù)據(jù)庫內(nèi)存量為1×1016bit:分別采用不同方法建立基于三組實(shí)驗(yàn)數(shù)據(jù)庫的智能分析平臺,根據(jù)不同方法的平臺運(yùn)行時(shí)間、平臺運(yùn)行效率和數(shù)據(jù)分析平均絕對誤差,推測不同方法的平臺分析性能。
(1) 平臺運(yùn)行時(shí)間。分別采用Spark技術(shù)、文獻(xiàn)[2]方法和文獻(xiàn)[3]方法建立基于三組實(shí)驗(yàn)數(shù)據(jù)庫的智能分析平臺,并計(jì)算各平臺的加速比參數(shù)(圖4),進(jìn)而判斷不同方法的平臺運(yùn)行時(shí)間。由圖4可知,采用Spark技術(shù)基于三組規(guī)模不同的數(shù)據(jù)庫所建立的智能分析平臺的加速比參數(shù)均不低9,相較文獻(xiàn)[2]方法提升了4,相較于文獻(xiàn)[3]方法提升了2,說明Spark技術(shù)針對任意規(guī)模的數(shù)據(jù)庫所建立的智能分析平臺,其運(yùn)行時(shí)間均較短,即Spark技術(shù)構(gòu)建的平臺數(shù)據(jù)處理性能較強(qiáng)。這是因?yàn)镾park技術(shù)在建立大數(shù)據(jù)智能分析平臺前,首先對平臺所需要的大數(shù)據(jù)降維,即將高維數(shù)據(jù)標(biāo)志點(diǎn)嵌入低維空間,實(shí)現(xiàn)高維數(shù)據(jù)的低維映射,使最終構(gòu)建的大數(shù)據(jù)智能分析平臺運(yùn)算時(shí)間下降。
(2) 平臺運(yùn)行效率。以三組數(shù)據(jù)庫為例,規(guī)定平臺運(yùn)行時(shí)間不得超過30 min,觀察固定時(shí)間向量時(shí),平臺內(nèi)的數(shù)據(jù)處理情況。不同方法在固定時(shí)間向量下的數(shù)據(jù)處理情況如圖5所示。由圖5可知,Spark技術(shù)在時(shí)間向量固定的情況下,基于a組數(shù)據(jù)庫的智能分析平臺數(shù)據(jù)處理率接近100%,這說明Spark技術(shù)所建立的大數(shù)據(jù)智能分析平臺數(shù)據(jù)處理效率較高。文獻(xiàn)[2]方法和文獻(xiàn)[3]方法在時(shí)間向量固定的情況下,基于a組數(shù)據(jù)庫的智能分析平臺數(shù)據(jù)處理率分別不超過80%和70%,Spark技術(shù)比文獻(xiàn)[2]方法和文獻(xiàn)[3]方法所建立的大數(shù)據(jù)智能分析平臺數(shù)據(jù)處理效率高出20%~30%。綜上所述,Spark技術(shù)具有更高的數(shù)據(jù)處理效率。
圖5 固定時(shí)間向量時(shí)的數(shù)據(jù)處理情況
(3) 數(shù)據(jù)分析平均絕對誤差。采用Spark技術(shù)、文獻(xiàn)[2]方法和文獻(xiàn)[3]方法建立基于三組實(shí)驗(yàn)數(shù)據(jù)庫的智能分析平臺,并計(jì)算各平臺的數(shù)據(jù)分析平均絕對誤差。不同方法的數(shù)據(jù)分析平均絕對誤差如圖6所示。采用Spark技術(shù)基于三組規(guī)模不同的數(shù)據(jù)庫所建立的智能分析平臺的數(shù)據(jù)分析平均絕對誤差最大值為0.8%,說明Spark技術(shù)構(gòu)建的智能分析平臺在數(shù)據(jù)處理過程中發(fā)生錯誤的概率較小。文獻(xiàn)[2]方法和文獻(xiàn)[3]方法基于三組規(guī)模不同的數(shù)據(jù)庫所建立的智能分析平臺的數(shù)據(jù)分析平均絕對誤差最小值分別為1.6%和2.2%,Spark技術(shù)比文獻(xiàn)[2]方法和文獻(xiàn)[3]方法構(gòu)建的智能分析平臺在數(shù)據(jù)處理過程中發(fā)生錯誤的概率低,由此證明了基于Spark技術(shù)的大數(shù)據(jù)智能分析平臺具有更低的數(shù)據(jù)分析平均絕對誤差。
圖6 不同方法的數(shù)據(jù)分析平均絕對誤差
為了解決數(shù)據(jù)分析過程中平臺運(yùn)行時(shí)間較長、平臺運(yùn)行效率較低和數(shù)據(jù)分析平均絕對誤差高的問題,提出基于Spark技術(shù)的大數(shù)據(jù)智能分析平臺構(gòu)建的方法。結(jié)果表明,所設(shè)計(jì)平臺的運(yùn)行時(shí)間短、平臺運(yùn)行效率高、平臺數(shù)據(jù)分析平均絕對誤差低。如何在保證大數(shù)據(jù)智能分析平臺高效性的同時(shí),對數(shù)據(jù)智能分析過程實(shí)施全程監(jiān)控,是下一步研究人員需要努力的重點(diǎn)。