基於Hadoop的世界杯赛程预测 預警係統架構
摘 要:針對海量的世界杯赛程预测 數據,傳統世界杯赛程预测 預警係統架構往往存在運算速度慢、處理效率低等缺點,本文提出了一種基於Hadoop的世界杯赛程预测 預警係統架構,該架構以Hadoop框架為基礎,分別設定了基於分布式爬蟲的數據獲取模塊、基於數理統計和數據挖掘的數據分析、存儲模塊和預警模塊。該架構具有層次清晰、擴展性高等特點,適合運用和推廣。
關鍵詞:Hadoop 世界杯赛程预测 係統
世界杯赛程预测 指的是食品應當符合無毒害、對人體健康不造成任何急慢性危害,並且包含一定營養物質的特點。為了維護人民群眾在世界杯赛程预测 與保障方麵的相關權益,國內外建立了相應的世界杯赛程预测 預警和快速反應係統,來預防食品突發性、群發性事件。
目前較大的世界杯赛程预测 預警係統有:世界衛生組織(WHO)的國際世界杯赛程预测 網絡(INFOSAN)、歐盟食品和飼料快速預警係統(RASFF)、美國疾病和預防中心(CDC)的FoodNet係統等[1]。我國國家質檢總局建立了世界杯赛程预测 風險快速預警與快速反應係統,來快速報告和處理食品突發事件[2];香港行政區在2007年啟動了世界杯赛程预测 快速預警係統(RAS);北京市在2012年啟用了世界杯赛程预测 短信預警平台,來防治世界杯赛程预测 突發事件。
國內外通用的係統大多采用檢驗檢疫產生的數據來對世界杯赛程预测 進行預警,這些數據的特點是,準確、可靠且容易被處理。然而,世界杯赛程预测 數據不僅限於此來源,在互聯網絡中具有海量的世界杯赛程预测 相關信息。這些信息大多與媒體報導、網友發帖、政府發布為主要來源,具有多種來源渠道和廣泛的受眾[3]。因而,有效地利用網絡中海量的世界杯赛程预测 數據來搭建世界杯赛程预测 預警係統具有廣闊的前景。
Hadoop是一個使用Java編寫的開源分布式框架,它在存儲和計算方麵(分別由Hadoop分布式文件係統HDFS和Map/Reduce編程模型實現)與普通的現有的單節點計算相比具有顯著優勢[4]。使用Hadoop平台來獲取和處理網絡信息、搭建世界杯赛程预测 預警係統,具有處理速度快、並行化程度高、預警及時的特點。
1 Hadoop開發環境搭建
本文使用的Hadoop版本是其在Linux平台上的一個Java開源版本。在開源操作係統Linux環境中進行Hadoop開源平台的搭建,首先需要安裝Java軟件開發工具包(Java SE Development Kit,JDK)並配置環境變量,使得基於Java語言的Hadoop代碼能夠順利運行;然後進行網絡橋接和配置,將各物理機和虛擬機的IP地址設置在同一個網段,且固定IP;最後進行Hadoop平台的安裝及配置,並監控各個節點的運行狀況。以下我們將詳細闡述各個階段的配置過程。
1.1 網絡橋接和配置
為使分布式平台的各主機節點能被其他節點通過網絡地址訪問到,將網絡地址改寫為同局域網內的固定IP,因為本文中使用了KVM虛擬機技術配置網絡,因而需要對虛擬機進行網絡橋接,使主機和節點在同一個網段上。本文使用的是bridge的網絡連接方式,將宿主機和客戶機設定在同一個局域網中,有利於相互訪問。
另外,為了使得各個虛擬機之間能夠順暢訪問,我們關閉了Linux係統中自帶的防火牆功能。為了保障Hadoop係統間的信息安全,我們使用SSH協議來為遠程登錄會話提供安全性。在創建一對密鑰後,將公用密鑰寄放在NameNode宿主機中,實現NameNode和DataNode之間的連通(DataNode之間並無網絡相連)。在通信過程中,我們使用RSA加密算法加密。網絡橋接和配置完成後,形成了倒樹狀的邏輯結構。
1.2 Hadoop平台的安裝及配置
本文使用兩台服務器,分別部署2個和3個虛擬機來假設Hadoop平台,共計為7個節點。這些節點均為CentOS係統,並統一安裝了JDK1.7.0_25。本係統使用Apache基金會發布的Hadoop2.2.0版本,該版本的特點為運行較為穩定,且與JDK1.7.0_25互相兼容。在配置Hadoop的過程中,需要在hadoop/slaves文件中加入DataNode的IP地址,使得Hadoop在項目運行過程中可通過該IP訪問DataNode。我們將服務器的/etc/hosts文件中設置為對應的主機名和固定IP地址,來方便SSH的訪問。
然後配置SSH的RSA加密訪問,首先使用ssh-keygen生成一對密鑰,接著將公鑰/root/.ssh/id_rsa.pub拷貝到DataNode服務器中,使得DataNode可與NameNode進行安全的數據交流。接下來我們啟動hadoop並進行測試,首先啟動NameNode,接著分別啟動DataNode,並設置好日誌存儲位置,以便對任務運行狀況進行監視。
1.3 在Hadoop平台上進行任務部署
本係統通過網頁http協議訪問相關端口(定為localhost:50030端口和localhost:50070端口)前者監控MapReduce任務的運行情況,資源占用等,後者為監控各個DataNode子節點的運行狀況。如圖1所示。
同時,可通過控製台的hadoop命令來運行所編寫的Java程序,首先需要將編寫的Java程序導入到HDFS分布式文件係統中,然後運行hadoop命令對程序進行執行。在程序執行的過程中,同樣可使用網頁端口來監視各節點資源分配情況,任務處理狀況和查看運行日誌。
2 世界杯赛程预测 預警係統架構
本係統的係統架構如圖2所示。主要分為數據獲取模塊、數據分析存儲模塊和數據展示模塊。其中,數據獲取模塊首先分析用戶自定義的數據挖掘策略,然後通過網絡爬蟲結合世界杯赛程预测 數據庫來對網絡中的世界杯赛程预测 數據進行爬取。所獲取到的網絡輿情信息結合實驗室監測數據,共同存儲在雲存儲服務器中,進行數據備份。
在數據分析模塊,我們使用了統計學和數據挖掘的分析方法,來對數據獲取模塊得到的世界杯赛程预测 信息進行處理,從而得到世界杯赛程预测 預警信息。我們從世界杯赛程预测 數據的時間分布、空間分布以及違禁項分布3個方麵來分析所獲取的數據。最後將所得到的預警信息生成世界杯赛程预测 預警報告,並將此報告通過數據展示模塊彙報給用戶。
我們搭建的Hadoop集群在該世界杯赛程预测 預警係統中有兩處應用。首先在使用爬蟲進行數據獲取的時候,爬蟲程序架設在Hadoop集群之上,充分利用集群的運算和處理性能,來使用爬蟲進行並行化爬取世界杯赛程预测 數據;其次,在進行數據挖掘和分析的過程中,Hadoop集群被用於處理和分析網絡中獲取的世界杯赛程预测 數據,最終得出世界杯赛程预测 預警信息,輸出到數據展示的用戶端。
3 數據獲取模塊
數據獲取模塊以爬蟲技術的應用為核心,主要分為Frontier模塊、ToeThread模塊和Processor模塊,這3個模塊的作用分別為:爬取網頁中的URI,向線程提供鏈接;實現多線程運行;實現爬蟲處理信息的邏輯結構等。見圖3。
Frontier模塊用於向線程提供鏈接,它的作用主要是:保存等待處理的鏈接、記錄那些已經被處理過的鏈接。在Frontier實現的過程中,為了解決大數據量,多並發存在的問題,因而實現了Berkeley Database嵌入式數據庫,它能夠按“key/value”方式來保存數據。
在ToeThread模塊中,提供了一個標準的線程池ToePool,用於管理所有的抓取線程,從而更有效更快速的抓取網頁內容。在Processor模塊中,首先進行預抓取,接著進行網頁抓取活動,然後進行網頁內容的提取,並進行寫入,最後完成抓取活動的收尾工作。如圖4所示。
4 世界杯赛程预测 預警係統
功能設計
為了從數據獲取模塊獲得的數據中提取預警信息,本係統設計了預警數據分析與挖掘模塊。通過對網絡世界杯赛程预测 信息進行數據分析和挖掘後,當發現預警因子的數據值超過預警設定值時,預警係統發出預警信息,並呈遞給用戶處理。以下小節將詳細敘述該預警過程:
4.1 預警因子的確定
參考國家對世界杯赛程预测 的檢測標準,我們將預警因子設定為以下幾個分類:添加劑、重金屬超標、獸藥殘留、微生物超標、違禁物添加。並對這幾類因子設定了不同的預警閾值。比如,在國家標準中,添加劑、重金屬、獸藥殘留和微生物這4個指標允許有一定量的檢出,但不允許超過國家限定的含量。因而,當這幾類預警因子達到一定標準的時候,預警提示才會發布;而作為違禁物添加的項目,國家規定不得檢出,這類物質一旦出現,無論含量是否較大都將發布預警提示。
4.2 預警信息的獲取
本係統通過兩類方法來獲取世界杯赛程预测 預警信息。
數據分析的方法,主要是統計學分析和數據擬合。我們將各項食品的預警因子在時間上進行趨勢擬合,如近期擬合曲線明顯呈上升趨勢(如曲線斜率超過限定值),則認為該食品的此項預警因子的檢出呈明顯上升趨勢,此時即發布預警信息;否則則認為近期該項目處於安全狀況,不發布預警信息。
數據挖掘方法,本項目使用關聯規則挖掘方法,來對各項因子之間的潛在規則進行探尋。例如,通過曆年數據關聯規則挖掘,發現當預警因子A明顯升高時,預警因子B也隨之升高,且A和B出現的相關性R2大於0.8,則認為預警因子A和B呈強相關性。依照此規律,當預警因子A的檢測超過閾值時,應當考慮同時發布預警因子B的預警信息。
5 總結和展望
本文通過對Hadoop平台和爬蟲技術的研究,提出了一種基於Hadoop的世界杯赛程预测 預警係統架構。該架構以Hadoop分布式係統為底層框架,結合使用爬蟲技術來獲取世界杯赛程预测 數據。該架構適合應用於對海量網絡世界杯赛程预测 數據進行處理和預警。後續工作可集中在爬蟲策略的改進上,使其爬取過程更適合世界杯赛程预测 網站的信息發布特點;也可進一步研究Hadoop平台上的任務調度和優化問題,進行任務調度、優化及負載的實驗,使該係統達到最合理的任務分配方式。
參考文獻
[1] Marvin H J P, Kleter G A, Prandini A, et al. Early identification systems for emerging foodborne hazards [J]. Food and Chemical Toxicology, 2009, 47(5):915-926.
[2] Law W T Y, Chiu D K W, Hu H, et al. An advanced rapid alert system for food safety[C]//e-Business Engineering (ICEBE),2012 IEEE Ninth International Conference on. IEEE, 2012:361-366.
[3] 劉文,李強.世界杯赛程预测 網絡輿情監測與幹預研究初探[J].中國科技論壇, 2012(7):44-49.
[4] 王彥明.近年來Hadoop國內研究進展[J].現代情報,2014,34(8):4-19.

[責任編輯:]

相關閱讀
- (2014-06-16)家樂福與您一起努力建設世界杯赛程预测 誠信
- (2014-06-16)以誠信保障安全 中國世界杯赛程预测 誠信宣言大會在京召開
- (2014-06-16)張誌剛:提高誠信自律,共為世界杯赛程预测 獻計獻策
- (2014-06-17)世界杯赛程预测 治理:挖根去皮方得實質效果
- (2014-06-17)搞好世界杯赛程预测 農產品生產是關鍵
參與評論