唐建海
(重慶醫(yī)科大學(xué)附屬第一醫(yī)院,重慶 400016)
網(wǎng)絡(luò)安全趨勢(shì)數(shù)據(jù)挖掘過程中,經(jīng)常出現(xiàn)大量空值或者缺失的情況,對(duì)其進(jìn)行深度挖掘有助于揭示數(shù)據(jù)中包含的信息與關(guān)聯(lián),獲取潛在信息[1-2]。在相關(guān)研究中,文獻(xiàn)[3]提出了快速頻繁項(xiàng)集挖掘算法。利用AHT-growth算法快速定位節(jié)點(diǎn),實(shí)現(xiàn)頻繁項(xiàng)集挖掘。此方法有效縮短了執(zhí)行時(shí)間,但算法所占內(nèi)存問題仍需要進(jìn)一步優(yōu)化。文獻(xiàn)[4]提出了基于關(guān)聯(lián)規(guī)則的大數(shù)據(jù)挖掘方法。該方法適用于密集數(shù)據(jù)集,改進(jìn)的E-SLMCM算法可以在遍歷數(shù)據(jù)庫較少次數(shù)下,轉(zhuǎn)變數(shù)據(jù)庫為垂直格式并記錄時(shí)間戳,從而節(jié)省了計(jì)算用時(shí)。但在并行處理大數(shù)據(jù)方面有待提高運(yùn)算效率。文獻(xiàn)[5]針對(duì)稀疏空間數(shù)據(jù)進(jìn)行上下文離群點(diǎn)挖掘,為減少計(jì)算節(jié)點(diǎn)共享與訪問數(shù)據(jù)帶來的I/O開銷,設(shè)計(jì)并行離群點(diǎn)挖掘計(jì)算框架,進(jìn)行數(shù)據(jù)約簡(jiǎn)、局部稀疏子空間構(gòu)造和稀疏子空間驗(yàn)證之間的并行計(jì)算,從而提高了運(yùn)行效率。但該方法在多個(gè)數(shù)據(jù)節(jié)點(diǎn)挖掘數(shù)據(jù)時(shí),容易發(fā)生數(shù)據(jù)傾斜從而導(dǎo)致系統(tǒng)負(fù)載不均衡的問題。
針對(duì)上述分析,為了進(jìn)一步完善網(wǎng)絡(luò)安全趨勢(shì)大數(shù)據(jù)挖掘方法,利用Hadoop平臺(tái)篩選網(wǎng)絡(luò)安全趨勢(shì)大數(shù)據(jù),重新確定聚類質(zhì)心,引入改進(jìn)K-均值大數(shù)據(jù)挖掘算法,以實(shí)現(xiàn)網(wǎng)絡(luò)安全趨勢(shì)大數(shù)據(jù)的深度挖掘。
考慮網(wǎng)絡(luò)安全趨勢(shì)大數(shù)據(jù)信息缺失的情況,根據(jù)Hadoop平臺(tái)中的數(shù)據(jù)讀取機(jī)制(Hadoop Distributed File System,簡(jiǎn)稱HDFS)。通過網(wǎng)絡(luò)安全趨勢(shì)大數(shù)據(jù)特征的篩選,排除了信息極端不完整數(shù)據(jù)和空值數(shù)據(jù),便于重新確定數(shù)據(jù)聚類質(zhì)心。
為了提高篩選數(shù)據(jù)的過濾性,提高后續(xù)網(wǎng)絡(luò)安全趨勢(shì)大數(shù)據(jù)深度挖掘的速度,需要評(píng)估網(wǎng)絡(luò)安全趨勢(shì)大數(shù)據(jù)覆蓋節(jié)點(diǎn)行為,以確定數(shù)據(jù)特征。假設(shè)服務(wù)器節(jié)點(diǎn)i的性能為Yi,則可利用下列函數(shù)描述服務(wù)器節(jié)點(diǎn)性能:
(1)
式中:參數(shù)a、b、c為各個(gè)指標(biāo)對(duì)服務(wù)器性能的不同影響權(quán)重;Fi為CPU性能;Ni為內(nèi)存性能;Pi為磁盤I/O性能。在Hadoop平臺(tái)中運(yùn)行作業(yè),根據(jù)計(jì)算結(jié)果評(píng)估網(wǎng)絡(luò)安全趨勢(shì)大數(shù)據(jù)覆蓋節(jié)點(diǎn),校驗(yàn)并修正。當(dāng)平臺(tái)一次運(yùn)行時(shí),用R為運(yùn)行任務(wù)總數(shù),Ri為節(jié)點(diǎn)i完成的運(yùn)行任務(wù)數(shù)量??紤]到Hadoop平臺(tái)處理的數(shù)據(jù)大小一致,因此Ri也表示一次運(yùn)行時(shí)需要處理的數(shù)據(jù)量的大小。根據(jù)上述分析,驗(yàn)證式(2)是否成立。
(2)
式中:j為與節(jié)點(diǎn)i相鄰的不同節(jié)點(diǎn)。當(dāng)任意兩個(gè)不同節(jié)點(diǎn)的評(píng)估結(jié)果成立時(shí),則表明節(jié)點(diǎn)性能對(duì)于Hadoop平臺(tái)是可以信賴的。
但由于無法精準(zhǔn)得到方程中第一組公式等號(hào)兩邊的精準(zhǔn)值,因此設(shè)置一個(gè)容忍度閾值λ,令λ=5%,將誤差范圍控制在5%以內(nèi)。則式(2)在重新定義后的計(jì)算方程為
(3)
當(dāng)節(jié)點(diǎn)評(píng)估結(jié)果滿足該條件時(shí),排除數(shù)據(jù)為信息極端不完整數(shù)據(jù)和空值數(shù)據(jù),選擇可用來重新計(jì)算聚類質(zhì)心的網(wǎng)絡(luò)覆蓋節(jié)點(diǎn)[6]。設(shè)網(wǎng)絡(luò)中各個(gè)覆蓋節(jié)點(diǎn)數(shù)據(jù)大小的波動(dòng)幅度為q,則需滿足式(4):
(4)
式中:n為網(wǎng)絡(luò)節(jié)點(diǎn)總數(shù);P1,P2,…,Pn為每一節(jié)點(diǎn)的數(shù)據(jù)量大??;Y1,Y2,…,Yn為各個(gè)節(jié)點(diǎn)對(duì)應(yīng)的性能評(píng)估結(jié)果;PR為Hadoop平臺(tái)可處理的數(shù)據(jù)大小。通過上述過程評(píng)估節(jié)點(diǎn)性能,修正節(jié)點(diǎn)誤差,并根據(jù)式(4)的計(jì)算所得,選擇精準(zhǔn)性更高的網(wǎng)絡(luò)安全趨勢(shì)大數(shù)據(jù)覆蓋節(jié)點(diǎn),完成了數(shù)據(jù)的篩選。
根據(jù)上述篩選數(shù)據(jù)結(jié)果,重新確定聚類質(zhì)心,便于后續(xù)深度挖掘網(wǎng)絡(luò)安全趨勢(shì)大數(shù)據(jù)。這一過程通過K-均值算法實(shí)現(xiàn)[7],即利用全部網(wǎng)絡(luò)安全趨勢(shì)大數(shù)據(jù)的平均值,作為聚類結(jié)果中各個(gè)簇的質(zhì)心點(diǎn),圖1為該算法的質(zhì)心確定示意圖。
根據(jù)圖1可知,網(wǎng)絡(luò)安全趨勢(shì)大數(shù)據(jù)覆蓋節(jié)點(diǎn)之間相互重疊、滲透、深入,而得到的質(zhì)心卻存在較大的偏離量。因此根據(jù)重新選擇的網(wǎng)絡(luò)安全趨勢(shì)大數(shù)據(jù)覆蓋節(jié)點(diǎn),重新確定聚類質(zhì)心[8]。假設(shè)任意兩個(gè)節(jié)點(diǎn)用Ai和Aj表示,zs用于表示s個(gè)聚類簇區(qū)域,則任意節(jié)點(diǎn)之間的距離為
圖1 大數(shù)據(jù)挖掘算法質(zhì)心聚類結(jié)果
(5)
式中:d為節(jié)點(diǎn)之間的距離;m為數(shù)據(jù)維度。則根據(jù)上述計(jì)算,確定質(zhì)心的計(jì)算公式為
(6)
式中:Ei為生成的i個(gè)簇;ei為簇Ei的質(zhì)心[9-10]。根據(jù)上述計(jì)算結(jié)果,重新獲取大數(shù)據(jù)挖掘算法的聚類質(zhì)心,以此改進(jìn)大數(shù)據(jù)挖掘中的K-均值算法,該改進(jìn)過程為:
根據(jù)Hadoop平臺(tái)給定的網(wǎng)絡(luò)覆蓋節(jié)點(diǎn)數(shù)據(jù),利用質(zhì)心ei生成一個(gè)全新的Canopy集合,此時(shí)由于全部數(shù)據(jù)需要最少位于Canopy且數(shù)據(jù)點(diǎn)不歸附于同一個(gè)簇,因此只需要計(jì)算其與質(zhì)心ei的間距,根據(jù)就近原則將數(shù)據(jù)歸入相應(yīng)的Canopy集合中,令簇不堆疊。迭代產(chǎn)生的新簇,統(tǒng)計(jì)質(zhì)心獲得的網(wǎng)絡(luò)覆蓋最遠(yuǎn)趨勢(shì)數(shù)據(jù),直至算法收斂。
將改進(jìn)后的K-均值挖掘算法,與Hadoop環(huán)境并行化處理。以CSV的文件格式,將網(wǎng)絡(luò)安全趨勢(shì)大數(shù)據(jù)存儲(chǔ)于Hadoop分布式文件系統(tǒng)中,并初始化類[11]。根據(jù)改進(jìn)后的K-均值大數(shù)據(jù)挖掘算法,確定聚類個(gè)數(shù)并初始化聚類中心,然后將待執(zhí)行任務(wù)發(fā)送到選擇的網(wǎng)絡(luò)安全趨勢(shì)大數(shù)據(jù)覆蓋節(jié)點(diǎn)中;格式化分布式文件系統(tǒng)中的數(shù)據(jù);逐行掃描覆蓋節(jié)點(diǎn)內(nèi)的數(shù)據(jù)樣本,同時(shí)完成其與當(dāng)前網(wǎng)絡(luò)中多個(gè)質(zhì)心之間的計(jì)算,找到最近質(zhì)心點(diǎn),并標(biāo)記為K。再重新構(gòu)造鍵值對(duì)
Reduce=Hash(K)
(7)
式中:Reduce為大數(shù)據(jù)挖掘算法的分割結(jié)果;Hash為哈希函數(shù)。將該分割結(jié)果作為分配記錄,將數(shù)據(jù)分配到Hadoop平臺(tái)中指定的Reduce端,可以開始并行化處理。在所有Reduce端,構(gòu)造、合并來自清洗階段的數(shù)據(jù),其構(gòu)造后的表現(xiàn)形式為
而網(wǎng)絡(luò)安全趨勢(shì)大數(shù)據(jù)的MapReduce階段,則根據(jù)上述數(shù)據(jù)挖掘流程,獲取網(wǎng)絡(luò)安全趨勢(shì)大數(shù)據(jù)覆蓋的效果圖。為每一個(gè)網(wǎng)絡(luò)覆蓋區(qū)域的數(shù)據(jù)分片,用S1,S2,…,Sn表示。已知Sn從數(shù)據(jù)塊中產(chǎn)生,數(shù)據(jù)分片Sn的個(gè)數(shù)決定數(shù)據(jù)覆蓋密度,而數(shù)據(jù)分片Sn的個(gè)數(shù)n的取值,依賴于數(shù)據(jù)塊的數(shù)量和大小[14]。已知一個(gè)數(shù)據(jù)塊可以分割為若干個(gè)數(shù)據(jù)分片,則可以利用式(8),計(jì)算數(shù)據(jù)分片個(gè)數(shù)。
(8)
式中:μ為數(shù)據(jù)塊大??;g為數(shù)據(jù)塊數(shù)目。根據(jù)該數(shù)量,獲取完整的數(shù)據(jù)覆蓋密度。MapReduce的數(shù)據(jù)處理端將輸出結(jié)果傳輸?shù)絉educe端,該步驟參考式(7)[15]。至此實(shí)現(xiàn)基于Hadoop平臺(tái)的網(wǎng)絡(luò)安全趨勢(shì)大數(shù)據(jù)深度挖掘算法。
通過仿真實(shí)驗(yàn),驗(yàn)證算法挖掘網(wǎng)絡(luò)覆蓋數(shù)據(jù)時(shí)的可靠程度,并討論該算法與文獻(xiàn)[3]和文獻(xiàn)[4]兩種大數(shù)據(jù)挖掘算法挖掘時(shí),選擇的網(wǎng)絡(luò)節(jié)點(diǎn)覆蓋率。為區(qū)分實(shí)驗(yàn)測(cè)試結(jié)果,將此次研究的算法作為實(shí)驗(yàn)組,將文獻(xiàn)[3]和文獻(xiàn)[4]算法作為對(duì)照A組和對(duì)照B組。測(cè)試過程中選擇網(wǎng)絡(luò)節(jié)點(diǎn)覆蓋率、查全率以及查準(zhǔn)率作為測(cè)試指標(biāo),并設(shè)置三組不同的實(shí)驗(yàn)測(cè)試環(huán)境。
此次實(shí)驗(yàn)在Matlab R2018a中完成,具體參數(shù)設(shè)置如表1所示。
表1 仿真實(shí)驗(yàn)測(cè)試參數(shù)
根據(jù)表1設(shè)置的實(shí)驗(yàn)測(cè)試條件,分別利用三種不同的算法開始實(shí)驗(yàn)。實(shí)驗(yàn)共分為3組進(jìn)行,第一組中,節(jié)點(diǎn)數(shù)量為0~50。已知仿真實(shí)驗(yàn)測(cè)試下,三種算法均顯示了網(wǎng)絡(luò)覆蓋效果以及節(jié)點(diǎn)選擇結(jié)果。
當(dāng)網(wǎng)絡(luò)覆蓋趨勢(shì)中的節(jié)點(diǎn)數(shù)量為50時(shí),三種算法得到的網(wǎng)絡(luò)覆蓋趨勢(shì)節(jié)點(diǎn)挖掘結(jié)果,如圖2所示。
圖2 三種方法的網(wǎng)絡(luò)覆蓋趨勢(shì)節(jié)點(diǎn)挖掘結(jié)果(N=0~50)
根據(jù)上述實(shí)驗(yàn)測(cè)試結(jié)果可知,面對(duì)相同數(shù)量的網(wǎng)絡(luò)覆蓋節(jié)點(diǎn),實(shí)驗(yàn)組中的大數(shù)據(jù)挖掘算法,均可以利用重新計(jì)算得到的質(zhì)心,將這些預(yù)設(shè)節(jié)點(diǎn)挖掘出來,準(zhǔn)確率達(dá)到98%,形成與網(wǎng)絡(luò)覆蓋趨勢(shì)高度相似的挖掘反饋結(jié)果。對(duì)照A組和對(duì)照B組中的兩組對(duì)比挖掘算法,通過多次挖掘,得到的網(wǎng)絡(luò)覆蓋節(jié)點(diǎn)大面積堆疊、交叉,其挖掘結(jié)果與網(wǎng)絡(luò)覆蓋趨勢(shì)的差異性極大,不能完全反饋網(wǎng)絡(luò)覆蓋趨勢(shì)的變化趨勢(shì),只能體現(xiàn)局部網(wǎng)絡(luò)覆蓋特征。
為更好地顯示三組算法的結(jié)果差異,計(jì)算三種算法的節(jié)點(diǎn)覆蓋率,表2所示為覆蓋率統(tǒng)計(jì)結(jié)果。
表2 算法覆蓋率統(tǒng)計(jì)結(jié)果
比較表2中的統(tǒng)計(jì)數(shù)據(jù)可知,在擴(kuò)大覆蓋節(jié)點(diǎn)后,實(shí)驗(yàn)組中的算法獲取超過95%的覆蓋節(jié)點(diǎn);而對(duì)照組并沒有因?yàn)楣?jié)點(diǎn)數(shù)量增加而大幅度提高挖掘節(jié)點(diǎn)覆蓋率,與實(shí)驗(yàn)組相比,其節(jié)點(diǎn)最大覆蓋率低于70%。綜合上述實(shí)驗(yàn)測(cè)試結(jié)果可知,此次研究的算法可以得到更大范圍的覆蓋節(jié)點(diǎn),以此獲取網(wǎng)絡(luò)安全趨勢(shì)大數(shù)據(jù)。
為了進(jìn)一步驗(yàn)證此次設(shè)計(jì)的方法網(wǎng)絡(luò)安全趨勢(shì)大數(shù)據(jù)挖掘的效率,對(duì)比文獻(xiàn)[3]與文獻(xiàn)[4]方法的查全率與查準(zhǔn)率。將實(shí)驗(yàn)結(jié)果對(duì)比用直方圖表示,直觀對(duì)比三種方法的性能,具體如圖3和圖4所示。
圖3 三種方法的查全率對(duì)比
圖4 三種方法的查準(zhǔn)率對(duì)比
對(duì)比圖3和圖4可得,在查全率方面,實(shí)驗(yàn)組方法在數(shù)據(jù)量小于2 000 MB時(shí),算法的性能優(yōu)于對(duì)照組的兩組方法,當(dāng)數(shù)據(jù)量為2 500 MB時(shí),實(shí)驗(yàn)組方法較實(shí)驗(yàn)B組小2.39%。在查準(zhǔn)率方面,實(shí)驗(yàn)組方法的性能均高于其他兩種算法,查準(zhǔn)率最高達(dá)到98.63%。
此次研究的網(wǎng)絡(luò)安全趨勢(shì)大數(shù)據(jù)挖掘算法,充分利用了Hadoop平臺(tái)的功能特征,根據(jù)更加精準(zhǔn)的質(zhì)心選擇網(wǎng)絡(luò)安全趨勢(shì)大數(shù)據(jù)覆蓋節(jié)點(diǎn),挖掘其中的可靠信息。通過多組實(shí)驗(yàn)測(cè)試可以看出,網(wǎng)絡(luò)覆蓋面積越大時(shí),其中的覆蓋節(jié)點(diǎn)越多,查全率與查準(zhǔn)率的性能也較高,此次研究的算法應(yīng)用效果較理想。但該算法在查全率仍存在一定局限性,今后的研究應(yīng)該將算法與其他類型的平臺(tái)相連接,實(shí)現(xiàn)全新的大數(shù)據(jù)挖掘。