范海峰 王萌
摘 ?要: 基于普通計算的智能挖掘系統(tǒng)在對三層架構(gòu)網(wǎng)絡(luò)用戶訪問路長數(shù)據(jù)進行挖掘時,花費的時間過長。為解決上述問題,基于云計算設(shè)計一種新的三層架構(gòu)網(wǎng)絡(luò)用戶訪問路長數(shù)據(jù)智能挖掘系統(tǒng)。系統(tǒng)硬件結(jié)構(gòu)主要分為上、中、下三層。最底層為云計算層,包括計算云、數(shù)據(jù)云和存儲云;中間層為數(shù)據(jù)挖掘?qū)?,由工作流模塊、數(shù)據(jù)加載模塊、并行ETL模塊、并行數(shù)據(jù)挖掘算法模塊、并行結(jié)果顯示模塊五部分構(gòu)成;最頂層為應(yīng)用程序?qū)?,同時管理視圖、內(nèi)容提供器、資源管理器、通知管理器、活動管理器和算法庫。軟件流程主要分為確定挖掘目標(biāo)、數(shù)據(jù)準(zhǔn)備、數(shù)據(jù)挖掘、模式評估和結(jié)果顯示五步。與基于普通計算的智能挖掘系統(tǒng)進行實驗對比,結(jié)果表明給出的挖掘系統(tǒng)花費時間短。
關(guān)鍵詞: 云計算; 三層架構(gòu); 網(wǎng)絡(luò)用戶; 用戶訪問; 數(shù)據(jù)挖掘; 智能挖掘系統(tǒng)
中圖分類號: TN915.07?34; TP393 ? ? ? ? ? ? ? ? ? ?文獻標(biāo)識碼: A ? ? ? ? ? ? ? ? 文章編號: 1004?373X(2019)11?0090?05
Abstract: The intelligent mining system based on common computing takes too long time to mine the long network user access path data of the system with three?layer architecture. Therefore, a cloud computing based new intelligent mining system with three?layer architecture of network user access path length data is designed. The hardware structure of the system is mainly divided into upper, middle and bottom layers. The bottom layer is cloud computing layer, including computing cloud, data cloud and storage cloud. The middle layer is data mining layer, and composed of workflow module, data loading module, parallel ETL module, parallel data mining algorithm module and parallel result display module. The top layer is application layer, and manages the view, content supplier, resource manager, notification manager, activity manager and algorithmic library. The software process is divided into the steps of mining objectives determination, data preparation, data mining, pattern evaluation and result display. The proposed system is compared with the intelligent mining system based on common computing by means of experiment. The results show that the proposed mining system has shorter mining time.
Keywords: cloud computing; three?layer architecture; network user; user access; data mining; intelligent mining system
0 ?引 ?言
數(shù)據(jù)挖掘指的是在知識庫中發(fā)現(xiàn)海量數(shù)據(jù)之間的關(guān)系,對數(shù)據(jù)進行深入挖掘可以加快計算機行業(yè)的發(fā)展[1]。用戶訪問路長數(shù)據(jù)種類較多,具有多重功能,同時多具備擴展性和多功能性,對其進行數(shù)據(jù)挖掘可以給用戶提供更好的使用體驗[2]。
傳統(tǒng)的用戶訪問路長數(shù)據(jù)智能挖掘系統(tǒng)多是對移動空間中的網(wǎng)絡(luò)用戶訪問路長智能數(shù)據(jù)進行挖掘,在其他狀態(tài)下挖掘效果較差,耗費時間較長,成本過高,不適合挖掘工作運行[3]。
2007年,“云計算”在計算機界出現(xiàn),并得以迅速發(fā)展。目前對于云計算的定義和內(nèi)涵有很多解釋,但是國內(nèi)普遍認(rèn)為云計算是分布式計算、并行計算和網(wǎng)格計算的發(fā)展計算方式[4]。作為一種超級計算模式,云計算能夠?qū)⒒ヂ?lián)網(wǎng)的所有資源聯(lián)合到一起,采用協(xié)同合作的方式為用戶提供各種服務(wù)[5]。云計算的核心服務(wù)就是海量數(shù)據(jù)計算,在編程、存儲和管理方面,云計算改變傳統(tǒng)計算方式,使人們獲得信息的方式得到了根本改變[6]。
本文利用云計算針對三層架構(gòu)網(wǎng)絡(luò)用戶訪問數(shù)據(jù)設(shè)計一種新的智能挖掘系統(tǒng),由數(shù)據(jù)選擇、數(shù)據(jù)預(yù)處理、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)挖掘、模式評估和結(jié)果解釋等步驟組成。研究內(nèi)容主要包括系統(tǒng)的硬件和軟件,通過實驗對系統(tǒng)的有效性進行研究。
1 ?系統(tǒng)硬件設(shè)計
本文基于云計算設(shè)計的系統(tǒng)硬件結(jié)構(gòu)主要分為三層,按照上、中、下三個方向排列。最底層為云計算層,負責(zé)整個系統(tǒng)的計算工作;中間層為數(shù)據(jù)挖掘?qū)?,負?zé)執(zhí)行云計算得到的計算結(jié)果;最頂層為應(yīng)用程序?qū)?,負?zé)將得到的結(jié)果顯示給用戶。系統(tǒng)結(jié)構(gòu)圖如圖1所示。
云計算層中包括多個云計算平臺接口,這些接口能夠滿足不同的平臺需要;數(shù)據(jù)挖掘?qū)悠鸬匠猩蠁⑾碌淖饔?,能夠?qū)⒃朴嬎銓优c應(yīng)用程序?qū)鱼暯拥揭黄?應(yīng)用程序?qū)邮怯脕砼c客戶直接交流的層次,能夠?qū)?shù)據(jù)挖掘?qū)拥玫降乃匈Y源傳送出去[7]。
本文設(shè)計的挖掘系統(tǒng)擁有多個目標(biāo)子系統(tǒng),各個子系統(tǒng)緊密結(jié)合[8]。每個目標(biāo)子系統(tǒng)都會擁有一個透明的界面,負責(zé)向用戶展示服務(wù)項目,展示方法為界面展示,用戶只需要通過界面就可以了解到數(shù)據(jù)挖掘的內(nèi)容,不需要擔(dān)心內(nèi)部存儲空間是否不足,也不需要明白系統(tǒng)的具體運行過程,只需要根據(jù)界面提示的要求進行操作即可[1],這種開發(fā)模式也為程序員提供了方便。數(shù)據(jù)挖掘?qū)訐碛卸鄠€預(yù)留接口,適用于各種云計算平臺,數(shù)據(jù)挖掘?qū)悠脚_的各項開發(fā)程序都具有移植性[9]。
1.1 ?云計算層
本文設(shè)計的云計算平臺由三個基礎(chǔ)結(jié)構(gòu)組成,分別是存儲云結(jié)構(gòu)、數(shù)據(jù)云結(jié)構(gòu)和計算云結(jié)構(gòu),組成方式如圖2所示。
圖2中的云計算基礎(chǔ)結(jié)構(gòu)采用并行集群方式運行,存儲云、計算云和數(shù)據(jù)云的管理系統(tǒng)為MDFS系統(tǒng),這是一個分布式管理系統(tǒng),具有很強的擴展性、可用性和伸縮性。智能挖掘系統(tǒng)挖掘的數(shù)據(jù)量大,而網(wǎng)絡(luò)用戶訪問路長數(shù)據(jù)文件保留的只是較小文件[10]。MDFS系統(tǒng)使用的服務(wù)器多是廉價服務(wù)器,成本較低。
用戶訪問路長數(shù)據(jù)文件較大,絕大多數(shù)文件都能達到10 GB以上,如果使用傳統(tǒng)的挖掘系統(tǒng)進行挖掘,很容易受到存儲空間影響。本文設(shè)計的挖掘系統(tǒng)能夠?qū)⑺形募指畛鰜?,? GB以上的文件分成幾個KB文件,通過優(yōu)化處理,管理小型文件,達到資源的合理使用[11]。
所有的網(wǎng)絡(luò)用戶訪問路長數(shù)據(jù)都被組裝到一起,統(tǒng)一放置在一個大型數(shù)據(jù)庫中,便于挖掘系統(tǒng)使用。云計算層能夠同時實現(xiàn)讀和寫兩種操作,讀取方式有隨機讀取和流讀取兩種,每次執(zhí)行工作時,系統(tǒng)只會選取少量有需要的數(shù)據(jù)進行工作,分批處理,提高操作的穩(wěn)定性[12]。
傳統(tǒng)的挖掘系統(tǒng)在集群時很容易出現(xiàn)節(jié)點失效、工作異常的現(xiàn)象,本文設(shè)計的云計算平臺可以處理多種數(shù)據(jù),使異常節(jié)點停止工作。MDFS具備監(jiān)控能力,定期檢查系統(tǒng)的異?,F(xiàn)象,提高容錯能力。云計算層包括兩個主服務(wù)器和多個塊服務(wù)器,可以同時挖掘多種類型的網(wǎng)絡(luò)用戶訪問路長數(shù)據(jù),在確保資源可靠的情況下,主服務(wù)器和塊服務(wù)器會同時工作。云計算層結(jié)構(gòu)如圖3所示。
觀察圖3可知,云計算層具有分層的能力,可以將一個大文件分成多個小文件,主服務(wù)器通過64位處理標(biāo)識處理用戶訪問路長數(shù)據(jù),并存在Linux文件中。每一個文件都會被存儲在不同的Linux塊服務(wù)器上,記錄成不同的名字。主服務(wù)器和塊服務(wù)器負責(zé)不同的工作,主服務(wù)器負責(zé)維護各類元數(shù)據(jù),記錄控制信息、當(dāng)前位置。本文使用兩個主服務(wù)器,能同時控制系統(tǒng)內(nèi)部數(shù)據(jù),加快系統(tǒng)的工作效率,即使一個主服務(wù)器出現(xiàn)問題,另一個服務(wù)器也能正常運行。用戶程序與主服務(wù)器緊密相連,可直接操作。
1.2 ?數(shù)據(jù)挖掘?qū)?/p>
數(shù)據(jù)挖掘?qū)影üぷ髁髂K、數(shù)據(jù)加載模塊、并行ETL模塊、并行數(shù)據(jù)挖掘算法模塊、并行結(jié)果顯示模塊五部分,具體如圖4所示。
不同的模塊負責(zé)不同的工作:工作流模塊負責(zé)管理整個數(shù)據(jù)挖掘工作和總控調(diào)度;數(shù)據(jù)加載模塊負責(zé)將用戶訪問路長數(shù)據(jù)反饋給其他平臺,并向下一平臺傳遞需要執(zhí)行的任務(wù);并行ETL模塊負責(zé)執(zhí)行云計算平臺下發(fā)的命令;并行數(shù)據(jù)挖掘算法模塊負責(zé)計算所有的用戶訪問路長數(shù)據(jù),存放在MDFS中;并行結(jié)果顯示模塊負責(zé)顯示運行的結(jié)果,將每一個結(jié)果展示給用戶。
數(shù)據(jù)挖掘算法的具體實現(xiàn)過程為:用戶將程序記在系統(tǒng)中,利用Map函數(shù)和Reduce函數(shù)挖掘數(shù)據(jù)之間的關(guān)系。
具體實現(xiàn)過程如圖5所示。
網(wǎng)絡(luò)用戶訪問路長數(shù)據(jù)輸入到MDFS文件中后,被分割成塊,每塊的大小和分割點都由用戶決定。每一個被分割的數(shù)據(jù)都要被送入到集群系統(tǒng)中,通過分析系統(tǒng)中的節(jié)點數(shù)量來確定系統(tǒng)內(nèi)存。主服務(wù)器負責(zé)分配不同的任務(wù),并將分配結(jié)果記錄在磁盤中。每個Map和Reduce節(jié)點都有不同的任務(wù)狀態(tài),主服務(wù)器會對它們的狀態(tài)進行持續(xù)追蹤。Map節(jié)點和Reduce節(jié)點負責(zé)不同的工作,Map節(jié)點負責(zé)處理數(shù)據(jù),Reduce節(jié)點負責(zé)緩存數(shù)據(jù)。執(zhí)行完所有任務(wù)后,節(jié)點會將得到的結(jié)果反饋給主服務(wù)器,用戶可以直接得到操作結(jié)果。
數(shù)據(jù)挖掘?qū)邮褂玫捏w系結(jié)構(gòu)為MDBT結(jié)構(gòu),一個主服務(wù)器下端有多個表服務(wù)器,根據(jù)負載量確定表服務(wù)器的工作內(nèi)容。
數(shù)據(jù)挖掘?qū)拥捏w系結(jié)構(gòu)如圖6所示。
觀察圖6可知,數(shù)據(jù)挖掘?qū)拥捏w系結(jié)構(gòu)與其他系統(tǒng)的體系結(jié)構(gòu)有著很大的不同,用戶的讀寫程序不需要主服務(wù)器操控,三個表服務(wù)器集合到一起,將所有的網(wǎng)絡(luò)用戶訪問路長數(shù)據(jù)編程到一起。
1.3 ?應(yīng)用程序?qū)?/p>
應(yīng)用程序?qū)影ㄒ晥D、內(nèi)容提供器、資源管理器、通知管理器、活動管理器、算法庫六部分,呈并列模式,如圖7所示。
應(yīng)用程序?qū)拥慕M成模塊十分豐富,且具有擴展性,由網(wǎng)格、列表、按鈕等基本組件組成,每個程序之間都可以共享資源。管理器可以提供信息資源,再對各類數(shù)據(jù)進行重新排版。算法庫中包含多種算法,可編寫各類應(yīng)用程序。
2 ?系統(tǒng)軟件設(shè)計
根據(jù)設(shè)計的三層架構(gòu)網(wǎng)絡(luò)用戶訪問數(shù)據(jù)智能挖掘系統(tǒng)硬件,給出軟件流程圖,如圖8所示。
由圖8可知,本文基于云計算的三層架構(gòu)網(wǎng)絡(luò)用戶訪問數(shù)據(jù)工作流程較為復(fù)雜,可概括為如下幾個步驟:
1) 確定挖掘目標(biāo)。該步驟是實現(xiàn)數(shù)據(jù)挖掘的基本步驟,也是十分重要的一個步驟,雖然挖掘結(jié)果難以預(yù)測,但是可以根據(jù)挖掘信息確定挖掘目標(biāo),分析挖掘要求,判斷挖掘程度。
2) 數(shù)據(jù)準(zhǔn)備。確定好被挖掘的數(shù)據(jù)后,進入數(shù)據(jù)準(zhǔn)備工作,搜集相關(guān)信息,然后對基本數(shù)據(jù)進行再加工,確保后期挖掘的質(zhì)量。數(shù)據(jù)準(zhǔn)備主要包括網(wǎng)絡(luò)用戶訪問路長數(shù)據(jù)之間的轉(zhuǎn)換工作、冗余數(shù)據(jù)的清理工作、數(shù)據(jù)與數(shù)據(jù)之間的集成工作、噪聲去除等。做完準(zhǔn)備工作后,要對數(shù)據(jù)的一致性進行檢查,確保系統(tǒng)的完整性,刪除空白數(shù)據(jù)和無效數(shù)據(jù),對于一些丟失數(shù)據(jù)進行填補。
3) 數(shù)據(jù)挖掘。數(shù)據(jù)挖掘是整個軟件流程的核心步驟,利用三層架構(gòu)建立挖掘算法分析模型,確定出合適的挖掘算法,在不同階段選擇的挖掘算法是不同的,主要根據(jù)用戶訪問路長數(shù)據(jù)自身特點和用戶需求來判斷,再利用智能工具調(diào)整挖掘工作的精確程度。
4) 模式評估。挖掘結(jié)束后,找到無關(guān)數(shù)據(jù)和冗余數(shù)據(jù),對這些不能滿足用戶的數(shù)據(jù)采用消除處理,對于無法消除的數(shù)據(jù)采用回退處理,重新選擇,確保挖掘結(jié)果有意義。
5) 結(jié)果顯示。將得到的結(jié)果在計算機界面上顯示出來,反饋給用戶,每一個顯示的模式都要做到可視化,并且能夠在實際業(yè)務(wù)中使用,滿足用戶的需求。
3 ?驗證實驗
3.1 ?實驗?zāi)康?/p>
為了檢測本文研究的基于云計算的三層架構(gòu)網(wǎng)絡(luò)用戶訪問路長數(shù)據(jù)智能挖掘系統(tǒng)的實際效果,與基于普通計算方法的三層架構(gòu)網(wǎng)絡(luò)用戶訪問路長數(shù)據(jù)智能挖掘系統(tǒng)進行對比,分析實驗結(jié)果。
3.2 ?實驗參數(shù)設(shè)置
設(shè)置實驗參數(shù)如表1所示。
3.3 ?實驗結(jié)果與分析
根據(jù)上述參數(shù)進行實驗,選用本文研究的基于云計算的三層架構(gòu)網(wǎng)絡(luò)用戶訪問路長數(shù)據(jù)智能挖掘系統(tǒng)和基于普通計算方法的三層架構(gòu)網(wǎng)絡(luò)用戶訪問路長數(shù)據(jù)智能挖掘系統(tǒng),同時對數(shù)據(jù)進行挖掘,記錄兩個系統(tǒng)挖掘的時間,根據(jù)結(jié)果對兩種系統(tǒng)的性能進行具體分析。得到的實驗結(jié)果如圖9,表2所示。
由圖9,表2可知,隨著挖掘資源數(shù)量的增加,云計算挖掘系統(tǒng)和普通計算挖掘系統(tǒng)花費時間越來越長,但是云計算挖掘系統(tǒng)花費的時間遠遠小于普通計算挖掘系統(tǒng)花費的時間。
綜上所述,本文研究的挖掘系統(tǒng)具有很強的針對性,能夠在短時間內(nèi)挖掘出有效的網(wǎng)絡(luò)用戶訪問路長數(shù)據(jù),提高了工作效率。
4 ?結(jié) ?語
本文基于云計算研究的三層架構(gòu)網(wǎng)絡(luò)用戶訪問數(shù)據(jù)智能挖掘系統(tǒng)由云計算層、數(shù)據(jù)挖掘?qū)雍蛻?yīng)用程序?qū)尤齻€層次組成,軟件以數(shù)據(jù)挖掘為核心開展工作。本文研究的挖掘系統(tǒng)能夠有效縮短挖掘時間,提高了挖掘效率。雖然本文研究的系統(tǒng)具備上述優(yōu)點,但是并非全智能系統(tǒng),未來需要在該領(lǐng)域進行更深入的研究。
注:本文通訊作者為王萌。
參考文獻
[1] 王小燕.基于云計算的大數(shù)據(jù)挖掘平臺設(shè)計[J].電子設(shè)計工程,2017,25(13):25?27.
WANG Xiaoyan. Design of large data mining platform based on cloud computing [J]. Electronic design engineering, 2017, 25(13): 25?27.
[2] 程發(fā)洲.基于云計算的大數(shù)據(jù)挖掘系統(tǒng)架構(gòu)[J].東莞理工學(xué)院學(xué)報,2017,24(3):39?43.
CHENG Fazhou. The system architecture of big data mining based on cloud computing [J]. Journal of Dongguan University of Technology, 2017, 24(3): 39?43.
[3] 鐘若武,王惠平.基于數(shù)據(jù)挖掘的高校云計算管理系統(tǒng)中特定數(shù)據(jù)查詢技術(shù)[J].現(xiàn)代電子技術(shù),2018,41(2):130?132.
ZHONG Ruowu, WANG Huiping. Data mining based specific data query technology for cloud computing management system in university [J]. Modern electronics technique, 2018, 41(2): 130?132.
[4] 曹小陽.基于云計算的大數(shù)據(jù)挖掘內(nèi)涵及解決方案研究[J].數(shù)字技術(shù)與應(yīng)用,2017(11):108.
CAO Xiaoyang. Research on the connotation and solution of big data mining based on cloud computing [J]. Digital technology and application, 2017(11): 108.
[5] 陳勇.一種基于云計算的大數(shù)據(jù)關(guān)聯(lián)規(guī)律挖掘分析方法[J].無線電工程,2017,47(3):8?11.
CHEN Yong. Big data association rule mining analysis method based on cloud computing [J]. Radio engineering, 2017, 47(3): 8?11.
[6] 陳霄.基于云計算數(shù)據(jù)庫的數(shù)據(jù)挖掘方法分析[J].無線互聯(lián)科技,2017(14):48?49.
CHEN Xiao. Analysis of data mining methods based on cloud computing database [J]. Wuxian hulian keji, 2017(14): 48?49.
[7] 任偉.基于云計算的物聯(lián)網(wǎng)數(shù)據(jù)挖掘模型研究[J].軟件,2017,38(12):229?232.
REN Wei. Research on data mining model of Internet of Things based on cloud computing [J]. Computer engineering & software, 2017, 38(12): 229?232.
[8] 梁濤,侯振國,鄒繼行,等.基于云計算平臺的風(fēng)電場SCADA系統(tǒng)的設(shè)計與應(yīng)用[J].高技術(shù)通訊,2018,28(1):8?14.
LIANG Tao, HOU Zhenguo, ZOU Jihang, et al. Design and application of a wind farm SCADA system based on cloud computing platform [J]. Chinese high technology letters, 2018, 28(1): 8?14.
[9] 邵彧,師曉利.基于遙感數(shù)據(jù)挖掘的智能地理信息系統(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù),2016,39(10):54?57.
SHAO Yu, SHI Xiaoli. Design of intelligent geographic information system based on remote sensing data mining [J]. Mo?dern electronics technique, 2016, 39(10): 54?57.
[10] 宋小芹,王莉麗,張衛(wèi)星.基于機會認(rèn)知的類腦智能數(shù)據(jù)挖掘機制[J].計算機仿真,2016,33(11):375?378.
SONG Xiaoqin, WANG Lili, ZHANG Weixing. Brain?based intelligent data mining opportunities cognitive mechanisms [J]. Computer simulation, 2016, 33(11): 375?378.
[11] 韓王瑩.基于數(shù)據(jù)挖掘技術(shù)的人力資源信息管理系統(tǒng)設(shè)計[J].電子設(shè)計工程,2015,23(15):54?56.
HAN Wangying. The design of human resource management information system based on data mining technology [J]. Electronic design engineering, 2015, 23(15): 54?56.
[12] 王小燕,張麗敏.基于大數(shù)據(jù)的數(shù)據(jù)挖掘引擎研究[J].電子設(shè)計工程,2017,25(15):31?34.
WANG Xiaoyan, ZHANG Limin. Research on data mining engine based on big data [J]. Electronic design engineering, 2017, 25(15): 31?34.