陳靜
摘 要: 針對當(dāng)前很多改進的MapReduce調(diào)度算法都未將計算節(jié)點安全性考慮在內(nèi)的問題,通過分析云計算任務(wù)調(diào)度機制,基于Vague模糊集的理論知識,將模糊決策理論引入到云計算安全調(diào)度應(yīng)用中,提出一種基于模糊決策的云計算安全模型。其基本思想是對云資源進行篩選評判,同時考察多個節(jié)點的資源,動態(tài)接受可信度高的資源池,拒絕可信度低的資源池。通過模糊評判選擇安全的節(jié)點,同時結(jié)合云計算的調(diào)度運算,從而達到資源的最佳利用率,同時兼顧云計算的安全問題,使得分布在云上的資源能滿足日益增長的安全需要。并在此基礎(chǔ)上進行算法實現(xiàn)與實驗分析,實驗證明新安全模型對“危險”云進行識別,該模型滿足云計算的安全性、高效性,加強了云計算的安全環(huán)境。
關(guān)鍵詞: 云計算; 云安全; 模糊評判; Vague集
中圖分類號: TN915.08?34; TP391 文獻標(biāo)識碼: A 文章編號: 1004?373X(2017)23?0089?04
Abstract: Currently, the security of the computing node isn′t considered into a lot of improved MapReduce algorithms. By analyzing the task scheduling mechanism of cloud computing and using the theory knowledge of Vague fuzzy set, the fuzzy decision theory is introduced into the application of the cloud computing safety scheduling to propose a cloud computing security model based on fuzzy decision. According to its basic thought, the cloud resource is screened and judged; the resources of multiple nodes are explored; the resource pool with high reliability is accepted dynamically, and the resource pool with low reliability is refused. The security node is selected by means of fuzzy evaluation and the cloud computing schedule operation is combined to realize the best utilization of resources. The cloud computing security issues are combined to make that the resources distributed on the cloud can meet the growing demand for security. The algorithm realization and experimental analysis were performed. The experimental results prove that the new security model can recognize the "dangerous" cloud, meet the security and efficiency requirements of cloud computing, and strengthen the secure environment of cloud computing.
Keywords: cloud computing; cloud security; fuzzy evaluation; Vague set
0 引 言
云計算是當(dāng)前IT領(lǐng)域最熱門的話題之一,代表了IT技術(shù)發(fā)展的方向,它最重要的理論就是“網(wǎng)絡(luò)即計算機”,將大規(guī)模、易用、可訪問的虛擬資源連接起來形成一個資源池(包括計算資源、存儲資源、軟件資源等),為終端計算機提供“召之即來,揮之即去”且似乎“能力無限”的IT服務(wù)[1?2]。雖然云計算代表了未來IT技術(shù)發(fā)展的方向,云計算確實能為社會創(chuàng)造巨大的價值,但是云計算的發(fā)展也面臨很多問題,例如安全問題。因為只要這個云計算的資源池越大,被終端用戶依賴的程度越高,那么訪問這個資源池所帶來的安全問題就越嚴峻。用戶的隱私、網(wǎng)絡(luò)節(jié)點抵御入侵的能力、選擇怎樣的云資源池更加安全等問題就值得關(guān)注。
本文提出一種基于模糊評判的云計算安全模型,主要對云資源進行篩選評判,兼顧多個云節(jié)點的資源利用情況,動態(tài)接受可信度高的資源池,拒絕可信度低的資源池。通過模糊評判選擇安全的節(jié)點,結(jié)合云計算的調(diào)度運算,提高云計算的安全性,同時綜合考慮云計算的效率問題,使得分布在云上的資源能滿足日益增長的安全需要。
1 算法及模型的理論依據(jù)及設(shè)計思想
1.1 Vague集
1.2 Vague關(guān)系
假設(shè)待模糊評判的云資源集合用[N]來表示,置信的安全云計算集合用[D]表示,模糊評判的結(jié)果集合用[B]表示,從而得出[B]就是一個由0~1數(shù)字元素組成的布爾值變量的集合,用1表示完全符合的云資源,0表示完全拒絕的云資源,云安全模型識別的結(jié)果依據(jù)于識別器[D]到檢測結(jié)果[B]的Vague關(guān)系集合,體現(xiàn)了模糊檢驗的肯定以及否定的程度[3]。
設(shè)定識別器集合的Vague集合[D]與表示模糊檢驗條件的Vague關(guān)系[RD→B,]對這兩個集合做max和min交并運算可以得出表示模糊評判結(jié)果的Vague集合:[B:B=D?R]。其中,表示真假隸屬度的函數(shù)的計算規(guī)則用下面的公式[4]表示:endprint
1.3 云計算調(diào)度機制
MapReduce是云計算領(lǐng)域一種主流的模型,圖1顯示了MapReduce的任務(wù)調(diào)度流程。在MapReduce運行過程中,用戶向云端發(fā)起的請求需要被主節(jié)點Map到相關(guān)的子節(jié)點,子節(jié)點完成Reduce的功能。
一般情況下,Hadoop平臺中MapReduce的任務(wù)調(diào)度采用默認的“先進先出”(FIFO)的調(diào)度算法,主節(jié)點根據(jù)子節(jié)點的空閑情況來調(diào)度,總節(jié)點分配任務(wù)給空閑節(jié)點,是按請求的先后順序來的,類似于隊列機制。按照這種算法,節(jié)點處理存在任務(wù)效率不高和資源占用高的問題。
對于這種FIFO算法的明顯不足,云計算領(lǐng)域也發(fā)展了很多改進的算法,比較著名的有Facebook公司提出的平均調(diào)度算法(Fair Scheduler)[5]和雅虎公司提出的計算能力調(diào)度算法(Capacity Scheduler)[6],他們的共同特點是提高資源的利用效率,讓云環(huán)境中每個節(jié)點都保持高效。
這些算法都只關(guān)注了云計算的效率問題,對云計算的安全問題卻沒有引起足夠的重視,因此本文從這點出發(fā),結(jié)合模糊決策的基本算法,改進云計算的任務(wù)調(diào)度算法。
2 新的云計算安全模型及實現(xiàn)
目前云計算領(lǐng)域發(fā)展了許多改進模型,但是都未將計算節(jié)點安全性這個根本問題考慮在內(nèi)。本文針對這個問題,提出一種基于模糊評判的MapReduce任務(wù)調(diào)度算法對節(jié)點進行安全性選擇。當(dāng)計算節(jié)點運行任務(wù)時,通過計算用戶程序與節(jié)點的模糊評判值,分析各節(jié)點的安全因素,當(dāng)主節(jié)點運行Map時,綜合考慮節(jié)點的資源利用情況,將顯著提高云計算的安全環(huán)境。
2.1 運用Vague集合篩選云服務(wù)
通過前面Vague集的基礎(chǔ)定義,找到了將Vague應(yīng)用到云計算安全的一個途徑,即通過將安全的云劃分為一個集合,形成一個模糊的識別器,通過計算得出每個元素的子集合[{D1,D2,…,Dm},]其中[n=c3m,][n]是每個識別器的數(shù)量。檢測結(jié)果集合={1,0},假定云計算的檢驗知識集就是一個定義在集合與集合之間Vague集關(guān)系的集合,設(shè)為:[R={R1,R2,…,Rn}]。
具體步驟如下:
(1) 計算云節(jié)點與用戶集合的匹配度,用Vague集表示;
(2) 將模糊檢驗知識集的Vague集關(guān)系用二進制代碼表達;
(3) 通過求最大、最小的合成運算得到檢測結(jié)果的Vague集合;
(4) 根據(jù)步驟(3)的Vague計算結(jié)果得出核函數(shù)值[S]和精確函數(shù)值[H;]
(5) 根據(jù)步驟(4)的返回結(jié)果值,得出最終的安全云計算值。
2.2 基于模糊評判的云計算安全模型
基于模糊決策的云安全模型如圖2所示。
2.3 基于模糊決策的云計算調(diào)度
通過對云(資源、軟件、存儲)的參數(shù)化對任務(wù)調(diào)度模型進行建模,下文通過偽代碼對算法的實現(xiàn)進行描述。Hadoop[7?9]平臺下的MapReduce任務(wù)調(diào)度機制由云節(jié)點決定是否需要調(diào)度,受制于從節(jié)點的執(zhí)行情況,當(dāng)計算節(jié)點有空余的從節(jié)點時,向主節(jié)點申請計算任務(wù)。主節(jié)點收到請求后,將任務(wù)調(diào)度到該計算節(jié)點。
為了研究大多數(shù)云環(huán)境的安全調(diào)度場景,同樣在上述Hadoop平臺進行實現(xiàn),主要區(qū)別是:任務(wù)分配的算法替換成基于Vague的篩選模糊決策之后,再選擇合適的云進行調(diào)度。
3 仿真實驗
本文使用的云計算平臺為本實驗室的私有云計算平臺。
3.1 實驗系統(tǒng)設(shè)置
本實驗主要針對兩種不同類型的調(diào)度模型進行實驗對比測試,即先進先出(FIFO)算法和基于模糊決策的(FUZZY)算法對云端數(shù)據(jù)進行云安全識別,從而得到帶有危險信號的網(wǎng)絡(luò)數(shù)據(jù),樣本數(shù)據(jù)采用2013年雅虎公司使用的1 500多個slot計算節(jié)點,其中含1 TB的數(shù)據(jù)。首先,本文收集了多達十幾個云服務(wù)器的15 GB數(shù)據(jù)作為測試樣例數(shù)據(jù),以匹配現(xiàn)實條件下的云安全環(huán)境。在保證實驗硬件性能的前提下,設(shè)置slot節(jié)點值等于2。
3.2 實驗步驟
首先,部署云計算Hadoop環(huán)境,其次在Hadoop平臺上執(zhí)行該項實驗的測試用例腳本。由于上述“先進先出”算法是Hadoop中的一個普遍應(yīng)用,因此在任何Hadoop平臺包中已經(jīng)含有了算法實現(xiàn)程序,所以直接調(diào)用即可。另外,基于本文提出的基于模糊決策算法的代碼命令如下:
$ hadoop jar hadoop?1.0.5?fuzzy.jar Map/Reduce/data15DB 15000000000 /terasort/input15GB
$ hadoop jar hadoop?1.0.5?fuzzy.jar Map/Reduce/data15DB /terasort/output15GB
如上所示,hadoop.jar為Hadoop平臺自帶的jar包,是用來執(zhí)行調(diào)度任務(wù)演示的測試包。第一個jar包用來生成待測試的數(shù)據(jù),并將這些數(shù)據(jù)存放在文件系統(tǒng)的data15DB的文件目錄中。調(diào)用第二個jar包,任務(wù)總調(diào)度服務(wù)程序?qū)膁ata15DB中讀取數(shù)據(jù),然后,將查找的結(jié)果輸出到data15DB中。
3.3 實驗結(jié)果
(1) 與“先進先出”調(diào)度算法對比資源開銷
通過對比實驗,首先對本文提出的模糊決策算法進行驗證,首先測試兩種算法對平臺的資源需求。先用調(diào)度任務(wù)執(zhí)行“先進先出”算法,然后執(zhí)行基于模糊決策算法的調(diào)度任務(wù)程序,各自執(zhí)行27次之后,觀察兩組任務(wù)的資源開銷??傻贸鼋Y(jié)論:傳統(tǒng)的“先進先出”調(diào)度模型是依次處理任務(wù),在執(zhí)行時幾乎占用全部的內(nèi)存和處理器資源,對硬盤I/O消耗也相當(dāng)大,當(dāng)進出順序排列好后,一次性寫回云端處理,因此占用資源比較大。endprint
(2) 對比“先進先出”調(diào)度算法
前面從資源開銷角度進行了對比驗證,發(fā)現(xiàn)傳統(tǒng)“先進先出”算法只考慮了線性的排序處理,并未從全局出發(fā),考慮資源的使用率及效率問題,因此當(dāng)有危險云處于云安全環(huán)境之中時,往往使整個云平臺的安全調(diào)度產(chǎn)生問題。
通過安全云識別花費的總時間和總?cè)蝿?wù)數(shù)來評判兩種算法的調(diào)度情況。圖3和圖4分別表示任務(wù)完成的時間和任務(wù)數(shù)。圖3顯示基于模糊決策的調(diào)度算法在最優(yōu)、最差、平均情況都要好于Hadoop的“先進先出”調(diào)度算法。對比最優(yōu)用例,Hadoop的 “先進先出”調(diào)度算法的任務(wù)耗時是7 848 s,基于模糊決策調(diào)度算法的耗時是6 020 s,可以看出本文提出的算法減少了21.09%的時間,即使在最差的情況下,模糊決策算法也提高了26.16%。從任務(wù)數(shù)來看,在最差的情況下,F(xiàn)uzzy模型比FIFO減少了調(diào)度任務(wù)數(shù)的25.29%。
設(shè)定云服務(wù)請求與這個識別器子集的Vague集合關(guān)系如表1所示,繼而通過計算得出核函數(shù)、精確函數(shù)的計算結(jié)果如表2所示。
由表2可以看出,User3是相對正常的云資源,并且User3可以適用于更多云資源的迭代運算,也就是說,隨著云服務(wù)資源的增加,通過上述算法模型,可以計算出更加準(zhǔn)確的云資源來滿足用戶的安全需求。
4 結(jié) 語
本文引入Vague集理論的相關(guān)機制到云計算安全系統(tǒng)的設(shè)計中,提出一種模糊評判的云計算安全模型。新模型對“危險”云進行識別,該模型滿足了云計算的安全性、高效性。加強了云計算的安全環(huán)境,目前該模型的研究工作仍在進行之中,尚有許多需要改進的地方,如云計算系統(tǒng)的自適應(yīng)性、智能性等。
參考文獻
[1] 楊健,汪海航,王劍,等.云計算安全問題研究綜述[J].小型微型計算機系統(tǒng),2012,33(3):472?479.
[2] 閆曉麗.云計算安全問題[J].信息安全與技術(shù),2014(3):214?217.
[3] 盧建華,袁細國,符海東.基于Vague集的人工免疫模型[J].計算機工程與設(shè)計,2007(12):2790?2792.
[4] ZADEH L A. Why the success of fuzzy logic is not paradoxical [J]. IEEE expert, 1994, 9(4): 43?46.
[5] DEAN J, GHEMAWAT S. MapReduce: simplifed data proces?sing on large clusters [C]// Proceedings of the 6th Conference on Operating System Design and Implementation. San Francisco: USENIX, 2004: 107?113.
[6] BURROWS M. The Chubby lock service for loosely?coupled distributed systems [C]// Proceedings of the 7th Symposium on Opera?ting Systems Design and Implementation. Seattle: USENIX, 2006: 335?350.
[7] BERLINSKA J, DROZDOWSKI M. Scheduling divisible MapReduce computations [J]. Journal of parallel and distributed computing, 2011, 3(71): 450?459.
[8] SANDHOLM T, LAI K. Dynamic proportional share scheduling in Hadoop [C]// Proceedings of the 15th International Confe?rence on Job Scheduling Strategies for Parallel Processing. Atlanta: Springer, 2010: 110?131.
[9] KAMBATLA K, PATHAK A, PUCHA H. Towards optimizing hadoop provisioning in the cloud [C]// Proceedings of the First Workshop on Hot Topics in Cloud Computing. San Diego: USENIX, 2009: 1?5.
[10] ZAHARIA M, BORTHAKUR D, SARMA J S, et al. Job scheduling for multi?user MapReduce clusters [EB/OL]. [2009?04?30]. http://www.icsi.berkeley.edu/pubs/techreports/ICSI_jobschedulingfor09.pdf.
[11] DOELITZSCHER F, SULISTIO A, REICH C, et al. Private cloud for collaboration and e?learning services: from IaaS to SaaS [J]. Computing, 2011, 91(2): 23?42.
[12] LIN J W, CHEN C H, LIN C Y. Integrating QoS awareness with virtualization in cloud computing systems for delay?sensitive applications [J]. Future generation computer systems, 2014, 37(7): 478?487.
[13] WANG C, WANG Q, REN K, et al. Privacy?preserving public auditing for data storage security in cloud computing [C]// Proceedings of 2010 INFOCOM. San Diego: IEEE, 2010: 59?60.
[14] KIM J, BENTLEY P J. Towards an artificial immune system for network intrusion detection: an investigation of dynamic clonal selection with negative selection operator [C]// Procee?dings of 2001 Congress on Evolutionary Computation. Seoul: IEEE, 2001: 739?747.
[15] MAJI P K, BISWAS, ROY A R. Fuzzy soft sets [J]. Journal of fuzzy mathematics, 2001, 9(3): 589?602.endprint