李維乾,李 莉,張曉濱,吳 濤
(西安工程大學 計算機科學學院,陜西 西安710048)
近年來,隨著經濟社會的快速發展,水污染等環境問題日益突出,特別是突發水污染事件更是呈現出一種高發態勢.為了有效應對突發水污染事件,最大限度降低突發水污染事件對人類帶來的危害.一方面,政府部門相繼出臺了《國家突發環境事件應急預案》、《重大水污染事件報告暫行辦法》、《黃河流域省際水事糾紛預防調處預案》、《陜西省防御洪水災害應急預案》、《陜西省水利系統應對突發水污染事件應急預案》等各種各樣的政策法規;另一方面,相關學者對突發事件的機理、應急預案的表達和生成等進行了深入的研究,其中應急預案生成方法的研究逐漸成為學者們關注的焦點.文獻[1]根據應急預案中包含的應急事件以及與處置相關的組織、規則和預定義的流程,給出了數字預案的定義,并以此為基礎,在應急處置流程構造過程中為用戶推薦應急響應級別和應急活動,形成一種以用戶為中心、預案輔助決策的應急處置流程構造方法;文獻[2]著重介紹了層次化的分級分類數字化方案,并將其應用到停電事故中;而文獻[3-7]基于CBR設計了應急方案的生成方法,所不同的是文獻[4]綜合考慮了結構相似度和屬性相似度雙層結構的案例整體相似度,文獻[5]在數字應急方案生成方法中考慮了應急方案的實施效果,而文獻[6]則從案例匹配和方案生成的角度出發,提出了考慮多種應急證據的決策方法來生成最有效的方案,并且將這些方法應用于環境、鐵路、煤礦等不同領域.
盡管關于應急預案生成方法的研究取得了一定的成果,然而在水污染事件中,突發事件的增加導致應急預案愈來愈多,且突發水污染事件應急管理過程中涉及到的基礎數據、水質數據、空間數據、應急數據、資源庫數據等5類數據更多地呈現出大數據特征,傳統的應急預案處置方式已無法滿足現代應急管理的需要,特別是在處理應急預案方面顯得有些不足.為此,基于Hadoop框架,采用CBR理論設計特征匹配的并行化應急預案的生成方法,利用MapReduce框架實現應急預案特征數據入庫和應急預案檢索匹配的功能,通過構建分級索引從分布式HDFS數據庫中快速匹配到最為接近的預案,提升應急預案的生成效率,便于管理者和決策者有效應對突發水污染事件.
Hadoop是Apache軟件基金會旗下的一個開源分布式計算平臺[8],以HDFS和MapReduce為核心,采用了主從式的架構技術,屏蔽了底層的復雜結構,向用戶提供方便的文件目錄映射.其中,HDFS的高容錯性、高伸縮性等優點允許用戶將Hadoop部署在低廉的硬件上,通過主節點NameNode和子節點Data-Node的結合及多備份機制[9],形成了一個滿足海量數據計算和可伸縮擴展的分布式系統.HDFS中,文件通常是以相同大小的Block塊方式存在,主節點NameNode通常管理多個DataNode,并保存HDFS文件系統中關于文件分布的元數據信息.子節點DataNode主要用來存取需要訪問的Block文件塊.當客戶端發出讀取數據請求后,NameNode檢測空閑的DataNode,并將數據調入到空閑的DataNode中,同時對數據進行復制,最后客戶端可直接與需要訪問的DataNode建立起連接,并將這一信息告知主節點NameNode.而MapReduce分布式編程模型允許用戶在不了解分布式系統底層細節的情況下開發并行應用程序,它通過管理并行任務的執行和協調來管理多個計算過程,并能夠保障系統對硬件故障的容錯性[10].MapReduce可以處理各種非結構化大規模文本數據,將這些數據處理抽象成Map和Reduce兩個階段,由Map階段負責 “(鍵,值)”對的數據映射,而Reduce階段則負責將“(鍵,值)”對按照“鍵”進行簡化合并,還可增加一個Merge階段擴展現有MapReduce的功能,使其具有將非結構化數據轉換為結構化數據進行處理的能力[11].MapReduce的主節點叫做JobTracker,從節點叫做TaskTracker,JobTracker起管理的作用,TaskTracker則是任務的具體執行者.
因而,可利用Hadoop架構有效地組織本地計算機資源搭建分布式計算平臺,充分利用集群的計算和存儲能力,完成與突發水污染事件相關的數據處理任務,為應急管理及決策提供高效服務,增強決策部門的決策能力.

圖1 CBR案例推理過程圖Fig.1 The CBR diagram
應急預案數字化處置流程包含歷史預案數字化處理和歷史案例庫的建立,以及新突發事件特征屬性的提取和匹配.在應急預案應用之前,需要對歷史突發事件及其預案數據的特征進行數字化處理,將數字化后的特征屬性類數據存入案例庫,并建立特征索引.當突發水污染事件發生后,對當前應急事件進行數字化,利用索引進行特征匹配,從案例庫中檢索到最為相似的應急預案,最終通過專家修正以使其適用于當前突發事件.其中,從歷史案例庫中匹配新的案例時,最常用的方法是CBR方法,包含檢索、重用、修正、保存4個步驟,如圖1所示.
1.2.1 突發水污染事件案例特征抽取 突發水污染事件案例的結構包含有預案編號、預案名稱、屬性列表、應急小組、解決方案、結果評價、預案有效性等特征,為能夠快速處理這些數據,均要依據其數據類型進行特征抽取.其中,預案編號為數值型屬性;預案名稱為字符型屬性,其包含事故單位、事故類型、污染物種類;屬性列表中包含時間、地點、原因、類型、污染物排放量、污染物在水體中的濃度、污染物毒性、污染物溶解性、污染物沉降性、污染物揮發性、污染物光解性、污染物擴散介質、事件等級、受污對象、影響范圍、氣象條件、爆炸性、著火性、人員傷亡、經濟損失、其他情況描述;應急小組是來自多個部門的成員,是應急預案中實施任務的主要人員;解決方案中有目標、決策信息、應急措施、應急物資、任務分配、力量部署、注意事項;結果評價包含有文字描述、效果等級;預案有效性包含應用次數、成功次數.其地點描述的是距水源地距離、區塊屬性(社會關注區、生態敏感區、特殊保護目標);受污對象指的是大氣、水體、土壤、生態、動植物;氣象條件包含風向、水流、天氣;決策信息用屬性來表示;應急措施包含有前期處置、事故控制、應急救援、人員疏散、事后恢復;任務分配和力量部署中有隊伍名稱、負責人、聯系人、聯系方式、任務類型、位置、起止時間等屬性信息;注意事項、事故單位、事故類型、污染物種類、目標、距水源地距離、區塊屬性、風向、水流、天氣、前期處置、事故控制、應急救援、人員疏散、事后恢復、隊伍名稱、負責人、聯系人、聯系方式、任務類型、位置由關鍵詞來描述;預案時間為年月日日期時間型屬性.通過對預案特征的抽取,將其歸類存入歷史案例庫,供檢索時使用.
1.2.2 突發水污染事件案例檢索匹配 (1)案例相似特征分類.制定突發事件應急預案前,需要先根據抽取到的預案特征、描述或取值確定特征的類型,然后再依據特征類型選擇與其相適應的匹配方法.經過分類匯總,突發水污染事件中預案特征類型分為數值型、枚舉型、區間型和模糊型共4類.表1為部分應急預案的特征及其類型.假設Xi和Yi分別為事件案例X和歷史案例Y的第i個特征屬性值,那么Xi和Yi特征匹配的方法對應為4類.
① 數值型.采用海明距離來計算特征屬性之間的相似度,其公式為sim(Xi,Yi)=1-dist(Xi,Yi)=1-|Xi-Yi|/|max(i)-min(i)|,其中,max(i)和 min(i)分別為第i個屬性的最大值和最小值.
② 枚舉型.其列舉了該屬性所有可能的取值,屬性值之間不存在實際意義的量的關系,相似度計算公式為sim(Xi,Yi)=num(Xi∩Yi)/num(Xi∪Yi),g為第i個特征屬性值個數,num(Xi∩Yi)、num(Xi∪Yi)分別為Xi、Yi交集和并集的個數.
③ 模糊型.采用三角模糊數表示,其相似度計算可采用文獻[12]中的計算方法,即sim(Xi,Yi)=1-dist(Xi,Yi),其中為三角模糊數.

表1 部分案例特征類型Table 1 Part of characteristics type about case

(2)KNN近鄰算法.在案例推理系統中最常用的是最近相鄰法,而該方法以KNN近鄰算法最為經典,由于其概念清晰、計算簡便而被廣泛采用.KNN近鄰算法的工作策略流程見圖2.

圖2 KNN近鄰策略的一般工作流程Fig.2 Working flow of the KNN nearest neighbor method

基于Hadoop的應急預案并行化處置框架如圖3所示,包含預案特征數字化入庫及應急預案分級化檢索2部分內容.
考慮到突發水污染事件的大數據特征,借助MapReduce框架對歷史預案特征屬性進行并行化編碼入庫,并建立預案特征一級索引,同時實現KNN算法的并行化編程,提升應急預案的生成效率.另外,根據HDFS技術特點將數字預案按照特征分塊處理,便于對其進行搜索匹配.

圖3 基于Hadoop的突發水污染應急預案并行化處置框架Fig.3 Parallelize disposal framework of emergency plan about the sudden water pollution incidents based on the Hadoop
應急預案的數字化入庫包含有3個步驟.① 應急預案特征抽象.用一個五元組來抽象應急預案特征數據,表示為:EPF=(EPID,FID,MM,FV,L).其中,EPID為應急預案ID,用來唯一標識應急預案;FID為應急預案特征ID,一個應急預案包含多個特征ID,即從不同方面刻畫應急預案;MM為應急預案特征匹配計算方法,如水污染事件的溢油量采用數值型匹配方法,事故等級、污染物采用枚舉型匹配方法等;FV為特征向量,它是特征的取值集合;L為該突發事件原始應急預案存儲位置.② 特征屬性數字化編碼.為提高應急預案的檢索效率,對應急預案EPF中EPID、FID和MM采用二進制方式進行編碼,根據數據量大小確定EPID、FID和MM的取值范圍,如EPID用20位二進制數表示、FID用5位二進制數表示、MM用2位二進制數表示,則EPID、FID和MM的取值范圍分別為220,25和22,并記MT=(EPID,FID,MM).在編碼時,將EPID、FID和MM的值分別對220,25和22進行求模,根據求得的結果進行拼接,從而形成一個長度為27位的二進制編碼數BC,隨后和FV組合在一起形成分塊(BC,FV)對,再利用MapReduce框架中的Map函數將其映射至中間數據集,形成多個Key-value對,然后使用全局分塊排序機制按照BC大小在全局進行排序,并通過Reduce模塊合并在一起形成應急預案的索引并入庫.基于MapReduce的特征索引構建流程見圖4.為加快應急方案搜索效率,參照《國家突發環境應急預案》分級標準,提取重要城市主要水源地取水中斷、人員傷亡、中毒人數、疏散群眾、直接經濟損失、生態功能污染程度、事件影響范圍等特征屬性作為一級索引.③ 數據存儲.數據存儲采用HDFS分布式存儲方式,文件以block單元格式存儲,用NameNode存儲應急預案原始數據,用DataNode存儲預案特征數據.實際存儲時,將多行綁定在一起作為DataNode節點中的一個block文件,并用BC編碼的最值作為編碼名稱,如BC_min_max的表示形式.

圖4 基于MapReduce的特征索引構建流程圖Fig.4 The flowchart of index about characteristic based on MapReduce
首先按照水污染事件的嚴重程度、事件發生地、污染物毒性、進入水體的污染物量及濃度等信息,抽取事件的特征信息,然后根據特征信息與建立的一級特征索引進行匹配,定位HDFS中某個特定的區間,縮小特征數據的檢索范圍.在此基礎上,采用MapReduce框架設計并行KNN算法.算法步驟可描述為:Map階段,將提取到的突發事件的特征屬性信息按照EPID、FID和MM二進制編碼方式組合,并傳遞到各個計算節點,與block單元中的編碼信息進行比對,計算出突發事件案例與歷史案例庫中各特征之間的距離sim(Xi,Yi),并將其作為 Map階段的輸出;Reduce階段,在各個節點中,依據sim(Xi,Yi)值收集各個節點的距離值,根據sim(XY)值選擇出與歷史案例庫中最近的k個應急預案,將其作為該次突發事件所采用的案例,并在專家指導下根據Block存儲的信息,從原始應急預案中篩選出合適的幾組預案,并對其修改供應急管理者選擇.
為驗證本文構建方案的正確性和有效性,利用4個IBM System x3650機架式服務器,基于Hadoop平臺搭建本文所構建的應急預案并行化處置平臺.其中1臺服務器作為NameNode節點,其余3臺服務器作為DataNode節點.部署的應急預案并行化處置平臺界面如圖5所示.
從圖5(a)~(d)可以看出,經過對突發水污染事件的特征提取、預案匹配,可以檢索到預案的匹配結果.利用該系統對陜西渭河的突發水污染事件應急決策過程進行了模擬,經過多次操作,系統以秒級速度匹配到該事件預案,同時還支持多用戶、多方案比較操作,滿足突發水污染事件應急管理高響應速率的要求.

圖5 突發水污染事件應急預案并行化處置平臺Fig.5 The platform of parallelization emergency plan in sudden water pollution incidents
基于Hadoop平臺按照CBR理論推理流程設計了突發水污染事件應急預案的并行化處置方案,利用MapReduce框架實現了并行化預案特征數據入庫和應急預案檢索匹配的功能,并將應急預案的特征數據及原始數據分儲在HDFS分布式存文件系統中,同時通過建立的一級特征索引加快了應急預案特征的檢索速度,能夠有效處理突發水污染事件中的大數據,提升了應急預案的生成效率,便于管理者和決策者有效地應對突發事件,降低了突發事件的危害.
[1] 張峰,韓燕波,陳欣,等.基于數字預案的應急處置流程構造方法[J].計算機集成制造系統,2013,19(8):1802-1909.ZHANG Feng,HAN Yanbo,CHEN Xin,et al.Emergency response process construction based on digital plans[J].Computer Integrated Manufacturing Systems,2013,19(8):1802-1909.
[2] 李從善,劉天琪,李興源.停電應急預案快速匹配與智能生成方法[J].電力自動化設備,2014,34(1):32-36.LI Congshan,LIU Tianqi,LI Xingyuan.Fast matching of power outage event and intelligent generation of power recovery plan[J].Electric Power Automation Equipment,2014,34(1):32-36.
[3] LIAO Z,MAO X,HANNAM P M,et al.Adaptation methodology of CBR for environmental emergency preparedness system based on an improved genetic algorithm[J].Expert Systems with Applications,2012,39(8):7029-7040.
[4] 張振海,王曉明,黨建武,等.基于整體相似度的鐵路應急救援預案推理決策方法研究[J].鐵道學報,2012,34(11):49-53.ZHANG Zhenhai,WANG Xiaoming,DANG Jianwu,et al.Research on CBR decision method of railway emergency rescure based on integral similarity degree[J].Journal of the China Railway Society,2012,34(11):49-53.
[5] 李永海,樊治平,袁媛.考慮應急方案實施效果的突發事件應急方案生成方法[J].控制與決策,2014,29(2):275-280.LI Yonghai,FAN Zhiping,YUAN Yuan.Method for generating emergency alternative with considering implementation effects of emergency alternatives[J].Control and Decision,2014,29(2):275-280.
[6] 鄭晶,王應明,葉歆.考慮應急方案總體優勢度的決策方法[J].控制與決策,2015,30(7):1239-1244.ZHENG Jing,WANG Yingming,YE Xin.Decision method for emergency alternative with considering total superiority degree[J].Control and Decision,2015,30(7):1239-1244.
[7] SCHANK,ROGER C.Dynamic memory:A theory of reminding and learning in computers and people[M].New York:Cambridge University Press,1982:1-75.
[8] 陳寧,柴向陽,孫勇.基于 Hadoop的海運業分布式搜索引擎的應用研究[J].西安工程大學學報,2015,29(1):73-77.CHEN Ning,CHAI Xiangyang,SUN Yong.Application research on distributed search engine for ocean shipping service based on Hadoop[J].Journal of Xi′an Polytechnic University,2015,29(1):73-77.
[9] HANSON J J.Hadoop distributed file system[EB/OL].(2012-01-19)[2015-8-25].http://www.ibm.com/developerworks/cn/web/wa-introhdfs/.
[10] ANAND R,JEFFREY D U.Mining of massive datasets[M].Cambridge:Cambridge University Press,2011.
[11] YANG H,DASDAN A,HSIAO R,et al.Map-reduce-merge:simplified relational data processing on large clusters[C]//Proceedings of the 2007ACM SIGMOD international conference on Management of data,New York:ACM,2007:1029-1049.
[12] ZARANDI M H F,RAZAEE Z S,KARBASIAN M.A fuzzy case based reasoning approach to value engineering[J].Expert Systems with Applications,2011,38(8):9334-9339.
[13] 許瑞麗,徐澤水.區間數相似度研究[J].數學的實踐與認識,2007,37(24):1-8.XU Ruili,XU Zeshui.On similarity degrees of interval numbers[J].Mathematics in Practice and Theory,2007,37(24):1-8.
[14] COVER T,HART P.Nearest neighbor pattern classification[J].IEEE Transactions on Information Theory,1967,13(1):21-27.