本發(fā)明屬于系統(tǒng)安全技術(shù)領(lǐng)域,尤其涉及一種云環(huán)境下MapReduce結(jié)果正確性保障機(jī)制。
背景技術(shù):
MapReduce是一種編程模型,用于大規(guī)模數(shù)據(jù)集(大于1TB)的并行運(yùn)算。在Google,MapReduce用在非常廣泛的應(yīng)用程序中,包括"分布grep,分布排序,web連接圖反轉(zhuǎn),每臺(tái)機(jī)器的詞矢量,web訪問(wèn)日志分析,反向索引構(gòu)建,文檔聚類,機(jī)器學(xué)習(xí),基于統(tǒng)計(jì)的機(jī)器翻譯等。然而,在開(kāi)放系統(tǒng)中,MapReduce面臨著數(shù)據(jù)處理服務(wù)誠(chéng)信問(wèn)題,因?yàn)榉?wù)提供商可能來(lái)自不同的管理域,他們并不總是可信的。目前,已經(jīng)有很多惡意工作者檢測(cè)技術(shù)被用于MapReduce并行計(jì)算模型中。但是,這些惡意工作者檢測(cè)技術(shù)可以有效地檢測(cè)懶惰或者非勾結(jié)惡意工作者,對(duì)于相互勾結(jié)的惡意工作者的檢測(cè)效率卻相對(duì)較低。云環(huán)境提供了一個(gè)全方位的,高效的并且檢測(cè)能力極強(qiáng)的安全防護(hù)系統(tǒng),利用云環(huán)境中的并行處理、海量數(shù)據(jù)存儲(chǔ)、分布式計(jì)算技術(shù),完成惡意工作者的檢測(cè)。借助大量的冗余計(jì)算資源,利用多次復(fù)制任務(wù)分配給不同工作者的方法,或引入可信工作者,通過(guò)概率性的驗(yàn)證,從而找出惡意工作者,保證工作者集群模塊的良性運(yùn)行,提高整個(gè)系統(tǒng)的安全性與效率?,F(xiàn)有的惡意工作者檢測(cè)方式主要有兩種:一種是利用大量的冗余資源進(jìn)行多副本任務(wù)分別進(jìn)行,然后根據(jù)投票的方法與思想,將返回結(jié)果相同的工作者歸為一組,最后選取工作者數(shù)量最多的組所返回的結(jié)果作為可信結(jié)果。這種方式不但占用系統(tǒng)大量的計(jì)算資源和系統(tǒng)存儲(chǔ)空間,影響工作者集群模塊處理其他任務(wù)的速度與效率,還造成了極大的系統(tǒng)開(kāi)銷,不能識(shí)別出惡意工作者,并且對(duì)于工作者集群模塊中惡意工作者比例較高的情況很可能會(huì)出現(xiàn)判斷出錯(cuò)的情況;另一種是檢查點(diǎn)協(xié)議驗(yàn)證,其主要形式如水印或探針等。根據(jù)用戶提交任務(wù)的特征、類型等相關(guān)信息,在任務(wù)數(shù)據(jù)中以一定比例添加工作者無(wú)法區(qū)分或識(shí)別的水印或者探針,根據(jù)工作者所返回的結(jié)果中水印是否完整或探針數(shù)量是否正確來(lái)判斷工作者任務(wù)處理的正確性,但是添加水印或探針并恢復(fù)需要增加系統(tǒng)額外的開(kāi)銷,同時(shí)只有特定的數(shù)據(jù)類型才能添加水印或探針,因此,該方法并不具有普適性。同時(shí),隨著全球信息產(chǎn)業(yè)在不斷融合發(fā)展,網(wǎng)絡(luò)資源與數(shù)據(jù)規(guī)模也在不斷增長(zhǎng),開(kāi)放式海量數(shù)據(jù)處理的計(jì)算正確性已經(jīng)越來(lái)約受到重視,所接觸的兩種惡意工作者檢測(cè)方式已經(jīng)無(wú)法滿足當(dāng)前密集型海量數(shù)據(jù)處理的需求,數(shù)據(jù)處理的類型也有一定局限性,尤其是在云計(jì)算與大數(shù)據(jù)高速發(fā)展的今天,迫切需要提出一種高效地云環(huán)境下MapReduce結(jié)果正確性保障機(jī)制來(lái)應(yīng)對(duì)更加強(qiáng)大的敵手。
綜上所述,現(xiàn)有技術(shù)存在的問(wèn)題是:現(xiàn)有技術(shù)的敵手模型已經(jīng)不能滿足當(dāng)今時(shí)代的背景,且由于現(xiàn)有的利用多副本檢測(cè)惡意工作者技術(shù),其主機(jī)不能直接判斷任務(wù)結(jié)果的正確性,所以需要多次重復(fù)計(jì)算同一任務(wù),造成極大的系統(tǒng)開(kāi)銷且影響工作者集群模塊處理其他任務(wù)的速度與效率,而且不能確定地識(shí)別出惡意工作者,容易判斷出錯(cuò);而添加水印或探針技術(shù),雖然可以判斷出惡意工作者,但是添加水印或探針需要增加系統(tǒng)額外的開(kāi)銷,同時(shí)只有特定的數(shù)據(jù)類型才能添加水印或探針,因此,并不能廣泛地應(yīng)用。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)有技術(shù)存在的問(wèn)題,本發(fā)明提供了一種云環(huán)境下MapReduce結(jié)果正確性保障機(jī)制。
本發(fā)明是這樣實(shí)現(xiàn)的,一種云環(huán)境下MapReduce結(jié)果正確性保障機(jī)制,所述云環(huán)境下MapReduce結(jié)果正確性保障機(jī)制包括:
用戶端,用于將本地?cái)?shù)據(jù)文件上傳到分布式文件存儲(chǔ)管理模塊,并且將數(shù)據(jù)處理任務(wù)遞交給系統(tǒng)主機(jī),同時(shí)得到任務(wù)處理結(jié)果;
分布式文件存儲(chǔ)管理模塊,與用戶端,系統(tǒng)主機(jī)和工作者集群模塊連接,用于提供數(shù)據(jù)分布式存儲(chǔ)服務(wù),并且代替用戶存儲(chǔ)和管理數(shù)據(jù),同時(shí)為系統(tǒng)主機(jī)提供數(shù)據(jù)的分塊與調(diào)度服務(wù);
系統(tǒng)主機(jī),與用戶端,分布式文件存儲(chǔ)管理模塊和工作者集群模塊連接,用于采用惡意工作者檢測(cè)技術(shù),剔除惡意工作者并更新工作者集群模塊;
工作者集群模塊,與系統(tǒng)主機(jī)和分布式文件存儲(chǔ)管理模塊連接,用于為分布式文件存儲(chǔ)管理模塊提供存儲(chǔ)資源,同時(shí)為系統(tǒng)主機(jī)提供計(jì)算服務(wù)。
進(jìn)一步,所述用戶端分別將文件數(shù)據(jù)與處理任務(wù)遞交到分布式文件存儲(chǔ)管理模塊和系統(tǒng)主機(jī),工作者集群模塊中的工作者在執(zhí)行任務(wù)時(shí)只能接收到相應(yīng)的任務(wù)與數(shù)據(jù)位置,無(wú)法獲取整個(gè)任務(wù)信息和文件數(shù)據(jù)。
進(jìn)一步,所述分布式文件存儲(chǔ)管理模塊將工作者集群模塊提供的存儲(chǔ)資源劃分成固定大小的存儲(chǔ)塊,同時(shí)將用戶上傳數(shù)據(jù)的位置信息遞交給系統(tǒng)主機(jī)。
進(jìn)一步,所述系統(tǒng)主機(jī)將每個(gè)任務(wù)分配到兩個(gè)不同的工作者進(jìn)行處理,并將結(jié)果進(jìn)行比較分析,定位惡意工作者。
進(jìn)一步,所述工作者集群模塊并行高效的執(zhí)行系統(tǒng)主機(jī)分配的任務(wù),擁有巨量的冗余計(jì)算資源。
本發(fā)明的另一目的在于提供一種所述云環(huán)境下MapReduce結(jié)果正確性保障機(jī)制的云環(huán)境下MapReduce結(jié)果正確性保障方法,所述云環(huán)境下MapReduce結(jié)果正確性保障方法包括以下步驟:
步驟一,用戶將本地?cái)?shù)據(jù)文件上傳到分布式文件存儲(chǔ)管理模塊,并且將數(shù)據(jù)處理任務(wù)遞交給系統(tǒng)主機(jī),分布式文件存儲(chǔ)管理模塊將數(shù)據(jù)文件存入工作者集群模塊提供的存儲(chǔ)塊中并將數(shù)據(jù)存儲(chǔ)位置遞交給系統(tǒng)主機(jī),系統(tǒng)主機(jī)初始時(shí)根據(jù)用戶遞交的任務(wù)隨機(jī)選取兩個(gè)工作者并將任務(wù)及數(shù)據(jù)位置分別發(fā)送給這兩個(gè)工作者;
步驟二,工作者執(zhí)行完任務(wù)后,將結(jié)果存入本地磁盤并將結(jié)果的哈希值遞交給系統(tǒng)主機(jī),系統(tǒng)主機(jī)比較兩個(gè)工作者返回的哈希值,如果結(jié)果一致,則暫時(shí)信任該結(jié)果,如果結(jié)果不一致,則重新選取兩個(gè)工作者執(zhí)行此任務(wù);
步驟三,系統(tǒng)主機(jī)更新每個(gè)工作者的可信值與兩個(gè)工作者間的權(quán)重值,利用正確性證明圖定位惡意工作者,同時(shí)根據(jù)可信值對(duì)工作者進(jìn)行排序并劃分為可信組與不可信組;
步驟四,系統(tǒng)主機(jī)分別在可信組與不可信組中選取一個(gè)工作者執(zhí)行相同的任務(wù),重復(fù)步驟二,三直至用戶所有任務(wù)完成。
進(jìn)一步,工作者集群模塊提供惡意工作者檢測(cè)服務(wù),然后惡意工作者檢測(cè)實(shí)施的步驟為:
步驟一,一對(duì)工作者執(zhí)行完一個(gè)任務(wù)時(shí),系統(tǒng)主機(jī)比較返回的結(jié)果并記錄是否一致,然后建立工作者集群模塊的正確性證明圖G,每個(gè)頂點(diǎn)代表一個(gè)工作者Vi并賦有初始值為1的可信值Ti,可信值Ti是工作者Vi與集群中所有工作者返回結(jié)果一致的次數(shù)占它所完成任務(wù)次數(shù)的比例,頂點(diǎn)間的邊代表相互間的一致關(guān)系并賦有初始值為-1的權(quán)重Wi,j,權(quán)重值Wi,j是工作者Vi與Vj之間返回結(jié)果一致的次數(shù)占它們共同完成任務(wù)次數(shù)的比例;
步驟二,在正確性證明圖G中,所有頂點(diǎn)個(gè)數(shù)不少于2且頂點(diǎn)間邊的權(quán)重值為1的完全子圖構(gòu)成一個(gè)一致團(tuán);
步驟三,假設(shè)工作者集群模塊中共有N個(gè)工作者M(jìn)個(gè)惡意工作者且惡意工作者的數(shù)量少于誠(chéng)實(shí)工作者,經(jīng)過(guò)K輪隨機(jī)選取工作者后計(jì)算新的Ti與Wi,j并更新圖G,刪除所有權(quán)重值Wi,j小于1的邊后將所有孤立的工作者確定為惡意工作者并移出集群;
步驟四,利用Bron-Kerbosch算法尋找圖G中所有工作者數(shù)量大于F的一致團(tuán),由于我們假設(shè)可靠工作者的數(shù)量大于惡意工作者,F(xiàn)可暫時(shí)設(shè)定為然后將不屬于任何規(guī)模大于F一致團(tuán)的工作者判定為惡意工作者并移出集群。
進(jìn)一步,工作者選取方法,然后工作者選取實(shí)施的步驟為:
步驟一,根據(jù)K輪隨機(jī)選取工作者后更新的Ti對(duì)工作者由高到低排名,將前個(gè)工作者劃分到可信組R中,剩下的工作者劃分到不可信組UR中;
步驟二,選取工作者對(duì)時(shí)先在不可信組UR中隨機(jī)選取一個(gè)工作者Vi,然后在可信組R中選取另一個(gè)工作者;
步驟三,若可信組R中存在與工作者Vi之間邊的權(quán)重值Wi,*為-1的工作者,即未與Vi一同執(zhí)行過(guò)任務(wù),從中隨機(jī)選取一個(gè)與Vi執(zhí)行任務(wù);
步驟四,若可信組R中不存在與工作者Vi之間邊的權(quán)重值Wi,*為-1的工作者,即均與Vi一同執(zhí)行過(guò)任務(wù),此時(shí),若存在與工作者Vi之間邊的權(quán)重值Wi,*為1的工作者,從中隨機(jī)選取一個(gè)與Vi執(zhí)行任務(wù),否則,重新在不可信組UR中隨機(jī)選取另一個(gè)工作者Vj并重復(fù)以上步驟。
本發(fā)明的優(yōu)點(diǎn)及積極效果為:首先在惡意工作者檢測(cè)技術(shù)方面,我們采用基于帶權(quán)重正確性證明圖的尋找一致團(tuán)方法,區(qū)別于傳統(tǒng)的概率性檢測(cè)方法,利用工作者處理任務(wù)的歷史日志,在不增加額外開(kāi)銷的情況下,以完全確定地方式快速準(zhǔn)確定位出惡意工作者;然后為了提高定位惡意工作者地速度,我們將工作者集群劃分可信與不可信組,利用將雙副本任務(wù)分別分配給其中可能存在不一致關(guān)系的工作者的分配策略,提高檢測(cè)到工作者間不一致關(guān)系的概率;最后,我們將確定性的一致團(tuán)檢測(cè)技術(shù)與概率性提高檢測(cè)到不一致關(guān)系的分配策略有機(jī)地結(jié)合起來(lái),從而提高惡意工作者的檢測(cè)效率,保證用戶任務(wù)的正確執(zhí)行。
附圖說(shuō)明
圖1是本發(fā)明實(shí)施例提供的云環(huán)境下MapReduce結(jié)果正確性保障機(jī)制結(jié)構(gòu)示意圖;
圖中:1、用戶端;2、分布式文件存儲(chǔ)管理模塊;3、系統(tǒng)主機(jī);4、工作者集群模塊。
圖2是本發(fā)明實(shí)施例提供的云環(huán)境下MapReduce結(jié)果正確性保障方法流程圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
下面結(jié)合附圖對(duì)本發(fā)明的應(yīng)用原理作詳細(xì)的描述。
如圖1所示,本發(fā)明實(shí)施例提供的云環(huán)境下MapReduce結(jié)果正確性保障機(jī)制包括:用戶端1、分布式文件存儲(chǔ)管理模塊2、系統(tǒng)主機(jī)3、工作者集群模塊4。
用戶端1,要將將本地?cái)?shù)據(jù)文件上傳到分布式文件存儲(chǔ)管理模塊2,將數(shù)據(jù)處理任務(wù)遞交給系統(tǒng)主機(jī)3,同時(shí)此后能接收任務(wù)處理結(jié)果的實(shí)體。
分布式文件存儲(chǔ)管理模塊2,與用戶端1、系統(tǒng)主機(jī)3和工作者集群模塊4連接,提供數(shù)據(jù)分布式存儲(chǔ)服務(wù),并且代替用戶端1存儲(chǔ)和管理數(shù)據(jù),同時(shí)為系統(tǒng)主機(jī)3提供數(shù)據(jù)的分塊與調(diào)度服務(wù)。理論上講,為了提高用戶數(shù)據(jù)安全性,分布式文件存儲(chǔ)管理模塊2管理工作者集群模塊4的存儲(chǔ)資源,同時(shí)控制數(shù)據(jù)的訪問(wèn)權(quán)限。
系統(tǒng)主機(jī)3,與用戶端1、分布式文件存儲(chǔ)管理模塊2和工作者集群模塊4連接,用于采用惡意工作者檢測(cè)技術(shù),剔除惡意工作者并更新工作者集群模塊。為了提高準(zhǔn)確性和檢測(cè)速度,利用正確性證明圖尋找一致團(tuán)與雙副本任務(wù)分配相結(jié)合的方法,快速準(zhǔn)確地定位惡意工作者。
工作者集群模塊4,與分布式文件存儲(chǔ)管理模塊2和系統(tǒng)主機(jī)3連接,用于為分布式文件存儲(chǔ)管理模塊2提供存儲(chǔ)資源,同時(shí)為系統(tǒng)主機(jī)3提供計(jì)算服務(wù)。為了適應(yīng)大數(shù)據(jù)任務(wù)的需求,集群中巨量工作者是來(lái)自不同區(qū)域的服務(wù)器。
如圖2所示,本發(fā)明實(shí)施例提供的云環(huán)境下MapReduce結(jié)果正確性保障方法包括以下步驟:
S201:用戶將本地?cái)?shù)據(jù)文件上傳到分布式文件存儲(chǔ)管理模塊,并且將數(shù)據(jù)處理任務(wù)遞交給系統(tǒng)主機(jī),分布式文件存儲(chǔ)管理模塊將數(shù)據(jù)文件存入工作者集群模塊提供的存儲(chǔ)塊中并將數(shù)據(jù)存儲(chǔ)位置遞交給系統(tǒng)主機(jī);
S202:系統(tǒng)主機(jī)初次與工作者集群模塊建立連接時(shí),根據(jù)用戶遞交的任務(wù)隨機(jī)選取兩個(gè)工作者并將任務(wù)及數(shù)據(jù)位置分別發(fā)送給這兩個(gè)工作者,工作者執(zhí)行完任務(wù)后,將結(jié)果存入本地磁盤并將結(jié)果的哈希值遞交給系統(tǒng)主機(jī),系統(tǒng)主機(jī)比較兩個(gè)工作者返回的哈希值,如果結(jié)果一致,則暫時(shí)信任該結(jié)果,如果結(jié)果不一致,則重新選取兩個(gè)工作者執(zhí)行此任務(wù);
S203:根據(jù)工作者返回結(jié)果的一致關(guān)系,系統(tǒng)主機(jī)建立工作者集群模塊的正確性證明圖G,每個(gè)頂點(diǎn)代表一個(gè)工作者Vi并賦有初始值為1的可信值Ti,可信值Ti是工作者Vi與集群中所有工作者返回結(jié)果一致的次數(shù)占它所完成任務(wù)次數(shù)的比例,頂點(diǎn)間的邊代表相互間的一致關(guān)系并賦有初始值為-1的權(quán)重Wi,j,權(quán)重值Wi,j是工作者Vi與Vj之間返回結(jié)果一致的次數(shù)占它們共同完成任務(wù)次數(shù)的比例;
S204:在正確性證明圖G中,所有頂點(diǎn)個(gè)數(shù)不少于2且頂點(diǎn)間邊的權(quán)重值為1的完全子圖構(gòu)成一個(gè)一致團(tuán),假設(shè)工作者集群模塊中共有N個(gè)工作者M(jìn)個(gè)惡意工作者且惡意工作者的數(shù)量少于誠(chéng)實(shí)工作者,經(jīng)過(guò)K輪隨機(jī)選取工作者后計(jì)算新的Ti與Wi,j并更新圖G,刪除所有權(quán)重值Wi,j小于1的邊后將所有孤立的工作者確定為惡意工作者并移出集群;
S205:利用Bron-Kerbosch算法尋找圖G中所有工作者數(shù)量大于F的一致團(tuán),由于我們假設(shè)可靠工作者的數(shù)量大于惡意工作者,F(xiàn)可暫時(shí)設(shè)定為然后將不屬于任何規(guī)模大于F一致團(tuán)的工作者判定為惡意工作者并移出集群;
S206:經(jīng)過(guò)K輪隨機(jī)選取工作者后,更新的Ti對(duì)工作者由高到低排名,將前個(gè)工作者劃分到可信組R中,剩下的工作者劃分到不可信組UR中;
S207:選取工作者對(duì)時(shí)先在不可信組UR中隨機(jī)選取一個(gè)工作者Vi,然后在可信組R中選取另一個(gè)工作者;
如果可信組R中存在與工作者Vi之間邊的權(quán)重值Wi,*為-1的工作者,即未與Vi一同執(zhí)行過(guò)任務(wù),從中隨機(jī)選取一個(gè)與Vi執(zhí)行任務(wù);
如果可信組R中不存在與工作者Vi之間邊的權(quán)重值Wi,*為-1的工作者,即均與Vi一同執(zhí)行過(guò)任務(wù),此時(shí),若存在與工作者Vi之間邊的權(quán)重值Wi,*為1的工作者,從中隨機(jī)選取一個(gè)與Vi執(zhí)行任務(wù),否則,重新在不可信組UR中隨機(jī)選取另一個(gè)工作者Vj并重復(fù)該步驟。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。