謝蓉蓉,徐 慧,鄭帥位,馬 剛
(1. 西安石油大學計算機學院,陜西 西安 710065;2. 西安石油大學石油工程學院,陜西 西安 710065;3. 西安石油大學信息中心,陜西 西安 710065)
伴隨互聯網行業迅速發展以及計算機的廣泛應用,以數字作為主要標志的數據內容、將網絡作為主要載體的文化信息,逐漸成為現階段信息傳播的主要方式之一。由于網絡自身具有全球性以及開放性的特點,在一定程度上為惡意信息的傳播提供了機會,因此,面對該問題,如何采用網絡數據[1]信息實行有效地控制及監督,并快速截取有害信息、防止不良數據信息的擴散,已成為當前網絡研究的主要對象。經研究發現,網絡大數據的搜索與挖掘是解決上述問題的一種重要途徑,也是數據信息查找最有效的方法之一。
針對上述問題,文獻[2]提出了基于Spark下遙感遙感大數據特征提取的加速策略。首先,采用Landsat8作為數據來源;其次,利用歸一化計算方式計算植被指數(NDVI)、差值植被指數(DVI)、比值植被指數(RVI)值;最終通過仿真數據結果表明:在統一硬件環境條件下,執行相同的處理任務以及數據量,利用所提方法處理遙感大數據的速度提高了將近2倍,與基于Hadoop分布式文件系統(HDFS)方式相比,所提方法的處理速度提升了將近1.2倍,與基于HDFS方法相比,所提方法在柵格切分上處理速度提高了將近1.5倍,充分證明Spark方法的提取效率優秀。文獻[3]針對民航飛機在飛行過程中需使用快速存取記錄儀(QAR),同時QAR數據也是飛行安全評估的重要依據。為了解決QAR數據樣本數量大、高維度的特點,提出了一種有效的飛行數據特征提取的高效算法——DBN算法。DBN優勢在于其能夠擺脫對大量數據處理技術與專家經驗的依賴,而對飛行數據進行有效特征提取。在不同類別飛行數據集上進行仿真,結果顯示與主成分分析法(PCA)相比,通過DBN提取的特征進行分類識別準確率更高。文獻[4]提出了一種多代表性再融合近似數據采集方法,即多個具有相似讀數的節點組成一個數據覆蓋集。其讀取值由R節點表示。靠近水槽的設置較小,遠離水槽的設置較大,可以降低熱點地區的能耗。然后提出了一種分布式數據聚合策略,該策略可以重新融合彼此相距較遠但具有相似讀數的R節點的值。
由于上述所提方法在進行網頁大數據特征抓取時計算過程繁瑣,且誤差大,因此本文提出了基于網絡爬蟲的大數據特征抓取方法,經仿真與傳統數據抓取相比,本文所提方法耗時更短、抓取效率更高,有較高的魯棒性。
網絡爬蟲中的本爬蟲在對一個網絡站點進行訪問時,首先會檢查網頁中是否存在Robts協議,如果存在,爬蟲會依據相關協議內容確定數據抓取范圍;如果不存在,爬蟲會順著鏈接進行抓取。如圖1所示,為網絡爬蟲數據抓取的基本流程。

圖1 網絡爬蟲數據抓取基本流程
在網頁大數據中,將待訪問的數據隊列作為抓取對象,通過使用者或外部程序進行初始化處理,OA沖脛骨相關訪問協議初始化數據隊列中匹配的界面,解析該頁面提取數據特征,根據提取出的特征,存儲此時界面上全部數據信息,以此為基礎,每個爬蟲的循環規律都是通過解析出的數據特征中挑選一個特征進行爬行,直至所需數據抓取完畢為止。
通過局部樣本特征對網頁大數據集合進行分析,同時對其中蘊含的關鍵信息進行抓取[5]。
使用Fui形容第u個數據樣本中的第i個特征,因此第u個數據樣征的表現形式為

(1)
則網頁大數據的關鍵特征抓取過程如下述:
假設網頁數據樣本為A∈Rn×d,使用建立的數據最短鄰圖為Gu=(V,E)描述樣本的部分構成;其中,V表示網頁中節點集合;V=A:E表示各節點間連接線的集合;Gu的權重矩陣方程為W∈Rn×n,可進行具體如下描述

(2)
其中,ε表示常數;W代表網頁數據樣本中的部分內在結構特。
為了更加快速準確地住抓取數據信息,首先需要確函數Yu的數值結果最小,使用Yu形容網頁數據中的第u個特征,即

(3)
式中

(4)

(5)
其中

(6)
利用下式將Fu的結果更加精確

(7)
可得出第u個特征Yu,即

(8)
根據Yu的計算結果可抓取出Yu最小特征,即網頁中數據中的主要類型。
網頁大數據通常不具有明顯規律性與排列順序,具有較高的復雜性,本文提出基于網絡爬蟲的數據抓取方法,通過抓取主要特征,實現數據的分類與整理,提高網絡搜索效率。
現階段,網絡爬蟲在進行網頁大數據抓取時通常使用深度優先和廣度優先策略[6]。
1)深度優先:當爬蟲以順沿的形式向節點樹以縱方向分布時,網頁遍歷圖中不存在已訪問的節點。深度優先可被視作遞歸過程的一種,因爬蟲在執行任務的過程中需占據大量系統內存,在大部分情況下,會導致爬蟲工作存在一定難度,甚至電腦會出現死機的情況。除此之外,因多線程運行時一次可運行多個任務,且各任務都包含自身的堆棧,執行數據抓取任務時需使用同一堆棧,所以在網絡爬蟲中,遞歸與多線程不可同時使用。
2)廣度優先:當爬蟲以順沿的形式向節點樹寬度方向分布時,抓取初始網頁大數據中的所有信息,隨機選取一個網頁地址,重復該過程。廣度優先策略可提高爬蟲的抓取效率。
基于上述,本文所提方法中采用廣度優先策略,可進一步提高數據抓取性能,實現爬蟲在訪問網頁過程中以并行的方式訪問服務器,連接承購后對整個網頁數據信息進行挖掘,以單線程對應一個數據連接,多個線程同時運行的方式實現。并結合具體實際情況,因線程數量的最佳素質與計算機的CPU性能、網絡情況、寬帶等因素密切相關,所以并不是線程越多爬蟲效果最佳,因此需采用廣度優先策略,可確保網絡爬蟲工作的過程中,網頁數據庫能夠正常運行與爬蟲抓取信息間找到一個平衡中心。
網絡爬蟲程序是非遞歸方式完成爬行的過程,在完成數據抓取時主要通過構建等待、運行、完成、錯誤四個序列[7]。在該過程中,等待序列是OA沖處理網頁的集合;完成序列是已完成抓取任務的數集合;錯誤序列是爬蟲在任務過程中解析數據信息或讀取數據超時的集合。在抓取網頁大數據的過程中,若同一時刻下的爬蟲只能存于同一序列中,可將此看作一個運行狀態,具體過程如圖2所示。

圖2 運行變化過程
大數據的序列表現形式為非線性時間序列,根據非線性時間序列中的關鍵點建立相空間[8],相空間可確保數據信息的準確性,是網頁大數據抓取中的核心部分。
基于網絡爬蟲構建相空間的一維時間序列,其表現形式為{q1,q2,…qN},則重新建立的相空間矩陣為
Q={Q1,Q2,…,QN}
(9)
也可表示為

(10)
其中
M=N-(r-1)τ
(11)
上述式(9)到(11)中,τ代表時間延長;r代表嵌入維數值。若r≥2d′+1,此時網頁中的大數據幾何特征得知,其中d′代表網絡爬蟲的維度[9]。
在相空間構建完成后,獲得到相空間的矢量數值[10]。按定義劃分,關聯維屬于分維定義的一種,是數據信息在網頁多維空間中密度的體現,表示數據信息的關聯情況。如果建立后的相空間內存在的點數量為k,選取其中差值最大的兩組矢量數值,將差值看作兩點間的距離,可被描述為

(12)
結合式(12),將間隔距離小于既定正數l的矢量稱為關聯矢量,假設構建的相空間中包含K個點,計算出相關聯的矢量對數,可得出全部可能的K2中組合所占據的被定義為關聯積分,其表達形式為

(13)
式(13)中,使用H表示爬蟲函數,即

(14)
有相關研究表明,當關聯積分Sk(l)處于l→0時,與l間的關系如下

(15)
其中,C代表關聯維數值,若l的數值大小選擇合理,可令C代表爬蟲間的相似性結構,近似值計算方程為

(16)
在實際數據抓取過程中,通常對雙對數InSk(l)→Inl進行分析,不將斜率等于0以及為∞的直線考慮其中,選擇其中的最佳擬合直線,并設置該條直線的最佳執行斜率為C。
標準差即網頁大數據中的樣本點分布形式的體現,關聯則是根據數據在多維空間中的分布密度提下。據此,針對基于網絡爬蟲的大數據抓取,若相對差較大,則抓取到的數據樣本信息與實際偏差較大,這是由于頁面數據布局不集中,導致關聯維數值偏低,通過抓取到的關鍵特征數值,對大數據的分布關系可進行如下描述

(17)
式中,α表示倍頻因子,假設令α=0,σi表示在第i層分解后的相似系數的標準差值。
結合上訴分析可知,在一些數據標準差值較大的情況下,關系維數值相對偏小。通過分析式(17)可得到,當Xi的數值越大時,與之相對應的大數據布局越稀疏,關聯程度越小。因此基于網絡爬蟲對網頁大數據進行抓取,可對數據關鍵特征完成抓取任務。
為了驗證本文所提方法對網頁大數據抓取的效果,設置仿真對網頁大數據抓取方法可行性進行驗證。
選取某高校內網作為仿真環境,將網絡爬蟲分別配置在3臺計算機中,處理器均選用奔騰頻率為43.0GHz的處理器、內存為2GB的DDR 667、以及CITOS5.4的操作系統,同時3臺計算機中都具備單獨的網絡IP地址。將計算機3個節點間的傳輸速度設為101MB/s,通過邊界路由器連接公用寬帶為5MB/s網絡,具體結構如圖3所示,其網絡實驗平臺示意如圖4所示。

圖3 仿真網絡環境

圖4 網絡實驗平臺示意圖
因所要抓取的網頁與網絡爬蟲服務器件,存在網絡路徑質量以及網站的繁忙程度各不相同的情況,針對該問題,本次實驗選擇相同的20個網頁,并將網絡爬蟲的深度設置為3進行測驗,所得到的選用平均數值。針對本文所提方法對計算機系統內的參數進行了不同設置,得到的3次大數據抓取結果如表1所示。

表1 本文所提方法數據抓取結果
在上述實驗中,對比文獻[2]、文獻[3]以及文獻[4]數據抓取方法在參數不改變條件下進行的測試,結果如表2所示。

表2 其它方法抓取結果
根據表1和表2得到的數據抓取結果分析,本文所提方法的3次抓取數據中,成功抓取數據信息的數量對比文獻[2]、文獻[3]以及文獻[4]方法較多,并且每次抓取數據所需時間比其它文獻方法短。本文所提方法在其它方法的基礎上,放棄了少量的網頁數據抓取,大幅度提高了抓取效率,是由于基于網絡爬蟲提取數據的關鍵特征,抓取成功概率越來越符合實際情況。
分析圖5和圖6可知,本文方法3次測試中,大數據抓取成功率均高達90%以上,而文獻[2]、文獻[3]和文獻[4]的抓取成功率在70%到80%之間。本文方法3次實驗耗時均在14s以下,其它文獻方法均高于17s。現階段,在網頁大數據的規模不斷擴大的情況下,若想通過網絡爬蟲實現整個網頁數據完整抓取是存在一定難度的,首先由于網頁自身孤點的原因,其次由于網頁數據信息量龐大,實時性較高且網絡架范圍廣,會因抓取速度較慢造成一些網頁被放棄,甚至由于響應時間較長導致用戶不得不放棄游覽的頁面。對于網絡爬蟲抓取方法而言,在不間斷抓取網頁大數據的情況下,可將節約的時間用于抓取更多的數據信息,以少量的計算過程大幅度提高抓取效率,有較高的應用推廣價值。

圖5 大數據抓取成功率對比

圖6 大數據抓取耗時對比
解決傳統網頁大數據抓取方法效率低,誤差大,為此本文提出了基于網絡爬蟲的網頁數據抓取方法,將整個網頁集和看做一個大數據庫,從而提供完善的數據信息內容以供監測與提取。最后通過仿真證明了所提方法的可行性以及有效性,可為今后的數據信息抓取提供可靠的有效方法。在后續的數據抓取中,可利用構建的相空間與網頁數據關聯維,對網頁大數據的關鍵特征進行獲取,將得到有關網頁數據內容信息以及用戶訪問行為方式。