- 相關(guān)推薦
云計(jì)算環(huán)境下的負(fù)荷特征曲線提取
臨近畢業(yè)的時(shí)候,很多童鞋們都很忙。有的忙著各種招聘考試,有的忙著投簡歷面試,有的忙著研究生的復(fù)試,還有公務(wù)員面試。但是正當(dāng)此時(shí),大家還有一個(gè)重要的任務(wù)就是寫畢業(yè)論文!畢業(yè)論文怎么寫?下面文書幫小編提供范文一篇,僅供閱讀!
【 摘 要 】 文章針對(duì)電網(wǎng)運(yùn)行產(chǎn)生的數(shù)據(jù)呈爆炸式增長,EMS系統(tǒng)有效信息往往淹沒在海量數(shù)據(jù)中這一問題,提出一種云計(jì)算模式下的聚類分析處理方法,基于Hadoop平臺(tái)的MapReduce計(jì)算模型與分布式文件存儲(chǔ),將系統(tǒng)聚類法進(jìn)行拆分,在云環(huán)境中對(duì)多個(gè)計(jì)算模塊進(jìn)行并行分析。作為試驗(yàn)性驗(yàn)證,提取某大用戶近三年的負(fù)荷特征曲線,選取不同數(shù)據(jù)量、不同節(jié)點(diǎn)數(shù),進(jìn)行算法加速比的測(cè)試。結(jié)果表明,在云計(jì)算架構(gòu)中該算法可以有效提高計(jì)算效率,適用于電力系統(tǒng)海量數(shù)據(jù)的挖掘分析。
1 引言
電力負(fù)荷特征曲線表征了同類負(fù)荷曲線的整體特征,在負(fù)荷壞數(shù)據(jù)辨識(shí)與修正、電力負(fù)荷預(yù)測(cè)、負(fù)荷建模、需求側(cè)管理等領(lǐng)域有重要作用。聚類分析是一種常用的特征曲線提取方法,但是在面對(duì)電力系統(tǒng)海量數(shù)據(jù)時(shí),現(xiàn)有算法在時(shí)間和空間復(fù)雜度上不能很好滿足需求,解決該問題的一種有效方法是將串行算法并行化處理。
作為一種嶄新的計(jì)算模式,云計(jì)算是并行計(jì)算、分布式計(jì)算與網(wǎng)格計(jì)算的發(fā)展,在海量數(shù)據(jù)處理方面具有與生俱來的優(yōu)勢(shì)。云計(jì)算是由接入到Internet中的一系列硬件資源提供的服務(wù),它將計(jì)算任務(wù)分配到由大量計(jì)算機(jī)構(gòu)成的資源池中,使云中的應(yīng)用程序獲得并行計(jì)算支撐以及易擴(kuò)展的存儲(chǔ)空間,來自于不同平臺(tái)的用戶可以共享云中的資源。目前,主流的云計(jì)算架構(gòu)主要在Hadoop平臺(tái)上實(shí)現(xiàn),Apache的開源項(xiàng)目Hadoop實(shí)現(xiàn)了分布式文件系統(tǒng)與MapReduce計(jì)算模型。開源項(xiàng)目Mahout實(shí)現(xiàn)了基于MapReduce的k-means聚類計(jì)算,但是k-means方法要求以聚類個(gè)數(shù)作為參數(shù)進(jìn)行運(yùn)算,對(duì)于電力負(fù)荷數(shù)據(jù)而言,由于無法事先確定可以分為幾類,導(dǎo)致應(yīng)用存在一定的局限性。針對(duì)這一問題,以系統(tǒng)聚類法代替k-means聚類方法,避免聚類參數(shù)的不確定問題。在此基礎(chǔ)上,提出云計(jì)算環(huán)境下的系統(tǒng)聚類并行算法,提高海量數(shù)據(jù)處理的計(jì)算效率。
2 系統(tǒng)聚類法
系統(tǒng)聚類法是本文算法的基礎(chǔ),其完全依據(jù)距離進(jìn)行聚類,不需要事先明確聚類個(gè)數(shù),其具體有幾個(gè)步驟。
1) 將每個(gè)初始樣品作為一類,計(jì)算類之間的距離,距離計(jì)算方法有歐氏距離、曼哈頓距離、切比雪夫距離等,形成距離矩陣D(0)。它是一個(gè)對(duì)角元素為0的對(duì)稱矩陣,設(shè)Gi為第i個(gè)聚類。
2) 尋找D(0)中的最小元素,設(shè)其為D(KL),其中K為矩陣行號(hào),L為列號(hào),則將GK和GL合并成一類,記為GM,有GM = {GK,GL}。
3) 計(jì)算GM與其他類GJ之間的距離,更新距離矩陣D(0),將GK和GL所在行和所在列合并成一個(gè)新行新列,對(duì)應(yīng)于GM,新行新列上的距離由遞推公式計(jì)算得到,其余矩陣元素值不變,得到的新距離矩陣記為D(1)。
4) 對(duì)D(1)重復(fù)上述對(duì)D(0)的2步操作,得到距離矩陣D(2);依此迭代處理,直至所有元素合并成一類,或距離矩陣中的最小距離大于設(shè)定閾值為止。
距離計(jì)算可以采用多種方法,不失一般性,本文采用中間距離法作為距離遞推公式。
3 MapReduce
在云計(jì)算的各種編程模型中,MapReduce逐漸成為主流。MapReduce是一種可用于海量數(shù)據(jù)處理的編程模型,在Hadoop平臺(tái)下,每個(gè)MapReduce工作單元被定義為一個(gè)作業(yè)(Job)。有兩類計(jì)算節(jié)點(diǎn)參與作業(yè)的執(zhí)行,一個(gè)jobtracker(相當(dāng)于作業(yè)調(diào)度機(jī)構(gòu))和若干個(gè)tasktracker(子任務(wù))。后者以心跳服務(wù)的形式,不斷將執(zhí)行進(jìn)度向jobtracker報(bào)告。
輸入數(shù)據(jù)被劃分成等長度數(shù)據(jù)塊(輸入分片input split),與一個(gè)map任務(wù)對(duì)應(yīng)。map和reduce函數(shù)的輸入輸出遵從以下格式:
map:(K1,V1)→ list(K2, V2);
reduce:(K2,list(V2))→ list(K3,V3)。
從map輸出到reduce輸入之前的處理過程稱為混洗(shuffle),混洗階段完成map輸出的排序(sort),分區(qū),合并(merge)等,并最終形成(K2,list(V2))形式的鍵值對(duì)供reduce函數(shù)獲取,經(jīng)處理后輸出至分布式文件系統(tǒng)中(DFS,Hadoop中稱為HDFS),整個(gè)過程如圖1所示。
圖2所示為Hadoop平臺(tái)下,MapReduce作業(yè)的原理:客戶節(jié)點(diǎn)運(yùn)行MapReduce程序,計(jì)算輸入分片,并將運(yùn)行所需的資源文件(包括Jar文件,配置文件以及輸入分片)復(fù)制到HDFS中,然后向jobtracker提交作業(yè);jobtracker將收到的作業(yè)放入內(nèi)部隊(duì)列,交予作業(yè)調(diào)度器處理,作業(yè)調(diào)度器在空閑的時(shí)候獲取輸入分片,根據(jù)分片數(shù)創(chuàng)建map任務(wù),根據(jù)程序設(shè)置的reduce數(shù)量,創(chuàng)建等量的reduce任務(wù),交予tasktracker群執(zhí)行;tasktracker從HDFS獲取需要的資源,對(duì)每個(gè)任務(wù)啟動(dòng)一個(gè)新的JVM進(jìn)程,通過循環(huán)定期發(fā)送心跳告知jobtracker其是否存活以及傳遞消息,reduce任務(wù)完成后,將結(jié)果寫入HDFS,清除諸如map輸出到本地磁盤的中間結(jié)果,Job client從HDFS獲取結(jié)果信息供后續(xù)處理,一次MapReduce作業(yè)完成。
4 MapReduce框架下的系統(tǒng)聚類法
將系統(tǒng)聚類法進(jìn)行并行化處理,可以有效提高海量數(shù)據(jù)處理的計(jì)算效率。系統(tǒng)聚類的計(jì)算過程包括數(shù)據(jù)初始化、距離矩陣初始化、迭代計(jì)算過程。迭代計(jì)算又包括距離矩陣最小元素的查詢、距離矩陣的更新(包括新值計(jì)算與矩陣降維)、聚類數(shù)據(jù)的合并。
聚類數(shù)據(jù)和距離矩陣的初始化需要用到所有數(shù)據(jù),將其進(jìn)行并行化處理需要很大的網(wǎng)絡(luò)帶寬消耗和空間復(fù)雜度,而且其在算法中只執(zhí)行一次,對(duì)于整個(gè)算法時(shí)間消耗很小(表1(a)顯示了對(duì)于1794個(gè)24維負(fù)荷矢量的系統(tǒng)聚類,串行算法的時(shí)間消耗分布),因此仍舊采用串行方法作為此階段算法。
在每次迭代過程中,尋找最小元素的時(shí)間復(fù)雜度為O(n2),此階段適合用MapReduce框架處理,本文中將該作業(yè)稱為JobFindMin?紤]到距離矩陣是對(duì)角元為0的對(duì)稱矩陣,只需存儲(chǔ)以及處理不包括對(duì)角元的上三角或下三角部分,采用以行為單位,進(jìn)行輸入分片的切分過程中,會(huì)導(dǎo)致每個(gè)分片包含的數(shù)據(jù)個(gè)數(shù)不統(tǒng)一,造成各map負(fù)載不均勻,因此將距離矩陣重新組合,以每行k個(gè)元素的形式重新生成輸入文件,此時(shí)文件中一行可能包含矩陣多行的數(shù)據(jù)或矩陣一行的一部分,因此,文件中每個(gè)元素都需要帶有行列信息。map函數(shù)的輸出鍵值對(duì)類型為,MatrixElement是實(shí)現(xiàn)了WritableComparable接口的矩陣元素三元組。對(duì)每個(gè)map設(shè)置一個(gè)combiner以保證最后輸出到網(wǎng)絡(luò)的數(shù)據(jù)個(gè)數(shù)為1,以此降低網(wǎng)絡(luò)傳輸消耗;reduce函數(shù)設(shè)置為1個(gè),其匯總combiner輸出的最小值,進(jìn)一步計(jì)算這些數(shù)據(jù)之中的最小值,以獲取最短距離及其行列號(hào)。
聚類數(shù)據(jù)的合并是將最小距離行列號(hào)對(duì)應(yīng)的數(shù)據(jù)集合進(jìn)行合并,合并過程只需移動(dòng)相應(yīng)的指針,計(jì)算量很小(在串行算法迭代中占用的時(shí)間如表1(b)所示,僅有1%),對(duì)其仍舊采用串行算法。
在矩陣更新階段前,根據(jù)作業(yè)JobFindMin的輸出結(jié)果(行i、列j、值v),形成只包含距離矩陣第j行和第j列數(shù)據(jù)的矩陣,本文中稱為關(guān)聯(lián)矩陣。對(duì)于可變法和重心法等需要其他額外參數(shù)的公式需要形成更多信息文件。矩陣更新是最費(fèi)時(shí)的階段,將其利用MapReduce框架處理,作業(yè)名為JobUpdate。map輸入同JobFindMin,對(duì)于每個(gè)map設(shè)置setup函數(shù),讀取關(guān)聯(lián)矩陣和其他信息文件,map函數(shù)的輸出為,對(duì)應(yīng)為距離矩陣元素的行列值和元素值。
map函數(shù)對(duì)于每個(gè)輸入的矩陣元素行列號(hào)進(jìn)行判斷,如果其在關(guān)聯(lián)矩陣中存在,則將其拋棄(對(duì)應(yīng)于矩陣降維);如果其需要更新,則根據(jù)關(guān)聯(lián)矩陣中對(duì)應(yīng)的元素按照距離遞推公式進(jìn)行更新;否則原值寫回。reduce函數(shù)設(shè)置為1個(gè),其輸出為,其作用僅為統(tǒng)一map的輸出并且將數(shù)據(jù)進(jìn)行格式化,封裝成矩陣三元組的形式的矩陣單元集。
圖3所示為選擇中間距離法作為距離遞推公式時(shí)兩個(gè)作業(yè)的實(shí)現(xiàn)細(xì)節(jié),其中距離矩陣以三元組鏈表形式存儲(chǔ)于客戶端內(nèi)存。圖4所示為完整的算法流程圖。
5 仿真分析
5.1 性能測(cè)試
采用的實(shí)驗(yàn)平臺(tái)由若干臺(tái)CPU采用英特爾i5-3210M的計(jì)算機(jī)組成,Linux 32位操作系統(tǒng),Hadoop版本1.1.2,JDK版本1.7.0,采用千兆以太網(wǎng)通信。實(shí)驗(yàn)中采取加速比作為主要評(píng)價(jià)指標(biāo),對(duì)于10GB、30GB的24維數(shù)據(jù),實(shí)驗(yàn)結(jié)果如表2所示。
表2結(jié)果表明,算法加速比隨節(jié)點(diǎn)數(shù)增加近似以線性增長,同時(shí),數(shù)據(jù)量越大,算法性能越好,這主要是由于每次啟動(dòng)一個(gè)MapReduce作業(yè),系統(tǒng)需要啟動(dòng)一系列JVM,并通過網(wǎng)絡(luò)傳輸數(shù)據(jù),這需要消耗一定的時(shí)間,在節(jié)點(diǎn)數(shù)較少的情況下,算法并行度不高,并且相比于串行算法存在上述額外開銷;同樣,在數(shù)據(jù)量較少的情況下,串行算法本身需要的時(shí)間不多,并行化之后效率得不到顯著提升,因此,該算法適合用于對(duì)大數(shù)據(jù)量高并發(fā)的處理。
5.2 特征曲線提取
特征曲線關(guān)注的是曲線的形狀,對(duì)于兩條曲線A = {xi},B = {xi+ d},其距離應(yīng)為0,需要對(duì)每條曲線進(jìn)行歸一化處理,即
x'i= (i = 1, 2, … n) (1)
試中xi為曲線每點(diǎn)數(shù)據(jù),xmin為最小值,xmax為最大值,x'i為歸一化后的每點(diǎn)數(shù)據(jù)。
對(duì)某類用戶近三年的負(fù)荷數(shù)據(jù)進(jìn)行聚類,設(shè)置閾值為0.8,聚類后總共得到6類曲線,如圖5所示。
其中,最后兩類只包含一條曲線,且存在明顯的不合理點(diǎn),為壞數(shù)據(jù)。第一類包含的數(shù)據(jù)個(gè)數(shù)占了數(shù)據(jù)總量的95.04%,可以認(rèn)定包含該用戶的負(fù)荷特征曲線,取均值得到的該類用戶的負(fù)荷特征曲線如圖6所示。
圖6表明,該類用戶三年內(nèi)的用電規(guī)律沒有發(fā)生明顯變化,最小負(fù)荷量出現(xiàn)在凌晨3-5點(diǎn)間,最大負(fù)荷出現(xiàn)在中午10-12點(diǎn)間,并在14-22點(diǎn)時(shí)間內(nèi)保持較高用電量。
從聚類結(jié)果本身直接獲得的信息量非常有限,其更大的用處體現(xiàn)在后續(xù)的數(shù)據(jù)綜合處理中,如作為負(fù)荷預(yù)測(cè),需求側(cè)管理,負(fù)荷數(shù)據(jù)稽查等的數(shù)據(jù)清理與數(shù)據(jù)分類階段的實(shí)用工具。
6 結(jié)束語
云計(jì)算是大數(shù)據(jù)時(shí)代的產(chǎn)物,近年受到越來越廣泛的關(guān)注,在互聯(lián)網(wǎng)搜索、移動(dòng)通信等領(lǐng)域,已獲得較大范圍的應(yīng)用,但在電力系統(tǒng)中的應(yīng)用,尚且處于理論研究階段。Hadoop作為一種云計(jì)算模型IaaS層,實(shí)現(xiàn)了分布式文件系統(tǒng)和并行計(jì)算模型,這是云計(jì)算技術(shù)中的兩個(gè)關(guān)鍵技術(shù)。本文提出的基于MapReduce的系統(tǒng)聚類法主要實(shí)現(xiàn)了并行計(jì)算部分,數(shù)據(jù)主體部分還是采用普通的關(guān)系數(shù)據(jù)庫存儲(chǔ),是一種串行與并行相結(jié)合的算法,串行部分完成數(shù)據(jù)量需求大但運(yùn)行耗時(shí)少的操作(只需要操作指針),并行部分完成數(shù)據(jù)量需求少,運(yùn)行耗時(shí)長的操作?傮w上減輕了網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)呢?fù)擔(dān),充分發(fā)揮了并行計(jì)算的優(yōu)勢(shì)。
在大數(shù)據(jù)時(shí)代,電力系統(tǒng)EMS中的數(shù)據(jù)量呈爆炸式增長,云計(jì)算的分布式存儲(chǔ)模式可以很好解決這一問題,下一步工作中,將結(jié)合分布式數(shù)據(jù)庫處理技術(shù),從理論和實(shí)踐兩方面,充分發(fā)揮云技術(shù)在電力海量數(shù)據(jù)挖掘中的應(yīng)用能力。
【云計(jì)算環(huán)境下的負(fù)荷特征曲線提取】相關(guān)文章:
云計(jì)算環(huán)境下數(shù)據(jù)挖掘技術(shù)分析論文10-09
云計(jì)算環(huán)境下信息安全對(duì)策論文10-11
信息安全影響在云計(jì)算環(huán)境下的對(duì)策分析論文10-08
計(jì)算機(jī)網(wǎng)絡(luò)環(huán)境下廣播電視時(shí)代特征論文10-08
云計(jì)算環(huán)境下的電子商務(wù)安全問題和對(duì)策論文10-08
云計(jì)算背景下的計(jì)算機(jī)安全問題論文10-11
簡要分析關(guān)于計(jì)算機(jī)云備份技術(shù)的特征論文10-10
云計(jì)算模式下計(jì)算機(jī)網(wǎng)絡(luò)安全儲(chǔ)存研究論文10-08
云計(jì)算背景下計(jì)算機(jī)網(wǎng)絡(luò)安全問題論文10-09
云計(jì)算的安全問題10-26