史寶會+李勇
摘 要: 隨著服務器系統(tǒng)節(jié)點數(shù)量和用戶任務的不斷增多,使得風暴節(jié)點出現(xiàn)沖突問題。在此背景下,通過分析服務器系統(tǒng)的節(jié)點連接架構(gòu),將檢測器部署在其通信平臺上,對用于檢測服務器多沖突風暴節(jié)點的MooseFS檢測器進行設計與實現(xiàn)。當風暴節(jié)點中存在較多沖突時,MooseFS檢測器采用動態(tài)冗余分布策略與硬件平臺協(xié)同檢測,沖突不多時只使用硬件進行檢測。動態(tài)冗余分布策略選用冗余度度量節(jié)點任務開銷,給出風暴節(jié)點子任務、帶寬和中央處理器運行時間的可用度函數(shù),檢驗冗余度是否可靠。硬件平臺通過邏輯門處理器對子任務、帶寬、中央處理器運行時間以及存儲容量的負載率進行度量。實驗結(jié)果表明,所設計的MooseFS檢測器擁有很強的資源控制能力。
關(guān)鍵詞: 服務器; 沖突; 風暴節(jié)點; MooseFS; 冗余分布
中圖分類號: TN911?34; TP393 文獻標識碼: A 文章編號: 1004?373X(2017)18?0026?03
Design and implementation of detector for multi?collision storm nodes in servers
SHI Baohui1, LI Yong2
(1. School of Computer & Communication Engineering, Beijing Information Technology College, Beijing 100015, China;
2. People′s Public Security University of China, Beijing 100038, China)
Abstract: As the number of server system nodes and user tasks increases unceasingly, conflict of storm nodes occurs. Under this background, the MooseFS detector used for detecting multi?collision storm nodes in servers was designed and implemented based on the analysis of the node connection architecture of the server system and the deployment of the detector on the communication platform of the server system. When many conflicts exist in storm nodes, the dynamic redundancy distribution strategy and hardware platform are used for the MooseFS detector to execute collaborative detection. When not many conflicts exist, only hardware is used for detection. In the dynamic redundancy distribution strategy, redundancy measurement task node overhead is selected, and the availability functions of storm node subtasks, bandwidth, and CPU running time are given to detect the redundancy reliability. On the hardware platform, the logic gate processor is used to measure subtasks, bandwidth, CPU running time and load rate of storage capacity. The experimental results show that the designed MooseFS detector has strong resource control capability.
Keywords: server; conflict; storm node; MooseFS; redundant distribution
服務器系統(tǒng)是一種提供計算服務的器件,經(jīng)過長時間的發(fā)展,服務器系統(tǒng)節(jié)點越來越繁雜,數(shù)目也越來越大,如風暴般席卷而來。風暴節(jié)點(由海量節(jié)點組成的集合)沖突造成服務器系統(tǒng)可靠性不斷下降。開放性與容錯性是服務器得以持續(xù)發(fā)展的必經(jīng)之路,很多學者結(jié)合理論與實際的關(guān)聯(lián)性設計出服務器節(jié)點檢測器,具體分為硬件檢測和軟件檢測。硬件檢測的靈活性強、檢測效率高、成本低廉,資源開銷卻不低。軟件檢測的資源開銷低,檢測精度卻不高。目前,硬件與軟件相結(jié)合的檢測器已經(jīng)成為服務器節(jié)點檢測研究的主要分支。
1 服務器多沖突風暴節(jié)點的檢測器設計與實現(xiàn)
1.1 冗余分布策略
用于檢測多沖突風暴節(jié)點的MooseFS檢測器的冗余分布策略應絕對滿足用戶局域網(wǎng)的帶寬、可讀寫性、中央處理器性能和存儲容量,可以將檢測工作看成一個多源優(yōu)化工作[1]。多源優(yōu)化工作是指從不同的數(shù)據(jù)組合結(jié)構(gòu)中選取能夠賦予任務最小開銷的最優(yōu)策略,并且要符合最基本的限制要求。
如果用[Xi]表示服務器風暴節(jié)點上的冗余分布集合,[Xi]會對節(jié)點任務開銷造成很大影響,MooseFS檢測器選用冗余度度量節(jié)點任務開銷。冗余度是指從可靠性度量出發(fā),提出一個度量值來保證系統(tǒng)在非常規(guī)作業(yè)下也可以正常進行任務處理等工作[2]。冗余度越小,風暴節(jié)點讀子任務使用的用戶局域網(wǎng)帶寬就越大,此時節(jié)點資源消耗降低,只需要占據(jù)很小的存儲容量就能解決風暴節(jié)點的多種沖突問題[3]。為了調(diào)節(jié)冗余度,靜態(tài)冗余顯然達不到要求,需要使用動態(tài)冗余分布策略。endprint
動態(tài)冗余分布策略在管理平臺和執(zhí)行平臺風暴節(jié)點的數(shù)據(jù)庫中進行節(jié)點駐留,減少節(jié)點開銷。設用戶任務集合為[Oi],服務器系統(tǒng)中所有節(jié)點經(jīng)過動態(tài)冗余分布分配到的子任務集合表示為[Ti={Tn}],集合元素[Tn]的分量用[(TRi,CRi,NRi,TWi,CWi,NWi)]表示,當[Ti×NRi=0]時,[Tn×NRi]的最大值[4]等于0。其中,[T]是任務,[C]是中央處理器運行時間,[N]表示帶寬,[Ri],[Wi]分別是節(jié)點上的容錯器集合和節(jié)點子任務權(quán)重。
將[Oi]在用戶局域網(wǎng)的存儲容量、任務可用度[5]分別設為[di],[Ac],[1-n=1N(1-An)Xin≥Ac],子任務的可用度設為[Ai(Xi)]??捎枚仁荕ooseFS檢測器檢測風暴節(jié)點子冗余度是否可靠的度量標準。如果將[Ac]平均分配到子任務上得到平均可用度[An],那么[Ai(Xi)]的函數(shù)式可表示為:
[Ai(Xi)=1-n=1N(1-An)Xin] (1)
式中:[n]是擁有子任務的節(jié)點次序;[Xin]是第[n]個節(jié)點上冗余分布的數(shù)據(jù)量,取值為0或1。
MooseFS檢測器對服務器多沖突風暴節(jié)點帶寬可用度和中央處理器運行時間可用度的檢測函數(shù)如下:
[Ni(Xi)=n=1NNRnTRn(1-Xin)+NWnTWniN(Xi-Xin)] (2)
[Ci(Xi)=n=1NCRnTRn+CWnTWniNXi] (3)
1.2 檢測器硬件平臺設計
MooseFS檢測器的容錯能力強勁,在服務器系統(tǒng)風暴節(jié)點沖突數(shù)量不多的普通情況下,僅使用檢測器硬件平臺就能為節(jié)點沖突提供解決方案,存在嚴重沖突的情況下則采用冗余分布策略與硬件平臺協(xié)同作業(yè)的方式[6]。圖1是MooseFS檢測器硬件平臺架構(gòu)。
圖1中所設計的MooseFS檢測器硬件平臺由數(shù)據(jù)存儲云平臺和邏輯門處理器組成,通過用戶局域網(wǎng)將二者在線連接于服務器系統(tǒng)通信平臺外部[7],對通信平臺內(nèi)流經(jīng)的節(jié)點數(shù)據(jù)進行存儲與檢測。邏輯門處理器監(jiān)督風暴節(jié)點運動狀態(tài),當風暴節(jié)點中存在多沖突,數(shù)據(jù)存儲云平臺臨時接管節(jié)點上的任務數(shù)據(jù),再將數(shù)據(jù)分配到正常節(jié)點上,保證任務處理連續(xù)性;當風暴節(jié)點中的沖突解除,釋放節(jié)點功能,將節(jié)點初始化至正常運行狀態(tài)。
邏輯門處理器是一種集成邏輯設備,擁有74系列邏輯電路,采用5 V電源供電[8],如圖2所示。設置A,B兩個輸入端是為了防止電路負載過重導致風暴節(jié)點不能與MooseFS檢測器進行數(shù)據(jù)溝通。邏輯電路中有4個邏輯門,節(jié)點任務數(shù)據(jù)輸入邏輯門處理器后將依次進行風暴節(jié)點子任務、帶寬、中央處理器運行時間以及存儲容量的負載率度量,通過輸出端給出檢測結(jié)果。
2 測試與分析
設定用戶局域網(wǎng)帶寬為150 Mb/s,在服務器系統(tǒng)數(shù)據(jù)庫中寫入2萬條原始數(shù)據(jù),將2萬個節(jié)點構(gòu)成風暴節(jié)點測試組,初始可用度設為0.98,當節(jié)點可用度下降至0.90以下,視為風暴節(jié)點中存在多種沖突。把風暴節(jié)點測試組平均分成10個小組,每小組中節(jié)點的平均讀寫任務容量如表1所示。
表1 風暴節(jié)點測試組讀寫任務容量匯總表
由表1可知,風暴節(jié)點測試組中讀任務和寫任務幾近負相關(guān)。按照以往的經(jīng)驗,表1中給出的節(jié)點讀寫容量不應占用超出45%的資源消耗比例,超出后MooseFS檢測器將不會維持長時間的正常工作。
在MooseFS檢測器讀、寫風暴節(jié)點子任務的過程中,實驗進行MooseFS檢測器對服務器多沖突風暴節(jié)點資源控制能力的測試與分析。設定此時所有節(jié)點的可用度均低于0.90,用戶任務集合[Oi]下動態(tài)冗余分布策略的資源控制能力如圖3、圖4所示。
觀察圖3可知,實驗中MooseFS檢測器最大讀任務資源消耗比例為19.1%,折線斜率最大的點在第一、二小組之間。此后,雖然讀容量不斷上漲,但讀任務資源消耗比例的上升趨勢漸緩。觀察圖4可知,實驗中MooseFS檢測器寫任務消耗的最大資源比例在寫容量為1.25 GB(最大容量)時,之后的資源消耗比例不斷下降,下降趨勢明顯,最小資源消耗比例僅為2.6%。從以上實驗分析中可以得出:本文設計并實現(xiàn)了MooseFS檢測器在進行服務器多沖突節(jié)點檢測過程中具有很強的資源控制能力,可減少節(jié)點沖突產(chǎn)生。
3 結(jié) 論
本文采取硬件與軟件相結(jié)合的檢測方式設計MooseFS檢測器,用來對服務器系統(tǒng)中風暴節(jié)點的沖突進行檢測。MooseFS是一種在線分布式數(shù)據(jù)管理平臺,本文使用動態(tài)冗余分布策略,融合數(shù)據(jù)存儲云平臺和邏輯門處理器的靈活檢測性能,對風暴節(jié)點內(nèi)的資源狀況進行有效控制,在檢測節(jié)點沖突的同時減少了沖突的產(chǎn)生幾率。
參考文獻
[1] 彭玉柱,孟凡超,初佃輝.基于多線程機制的電力數(shù)據(jù)采集系統(tǒng)設計與實現(xiàn)[J].計算機應用與軟件,2015,32(1):78?81.
[2] 吳清秀.基于WSN的網(wǎng)關(guān)節(jié)點程序設計與實現(xiàn)[J].物聯(lián)網(wǎng)技術(shù),2016,6(8):35?36.
[3] SHAO S, KHREISHAH A, AYYASH M, et al. Design and analysis of a visible?light?communication enhanced WiFi system [J]. Journal of optical communications & networking, 2015, 7(10): 960?973.
[4] 于翰林,盧澤民,朱詠莉.基于嵌入式Web服務器的pH值檢測系統(tǒng)的設計[J].江蘇農(nóng)業(yè)科學,2015,43(1):390?393.
[5] PENG C, QIAN K, WANG C. Design and application of a VOC?monitoring system based on a ZigBee wireless sensor network [J]. IEEE sensors journal, 2015, 15(4): 2255?2268.
[6] 朱研,鄭琨.多服務器環(huán)境下的網(wǎng)絡最脆弱攻擊區(qū)檢測[J].計算機仿真,2016,33(1):288?291.
[7] 段小紅,潘國峰,楊帆,等.面向智慧社區(qū)的云分支服務器設計與實現(xiàn)[J].電視技術(shù),2016,40(1):67?71.
[8] 王新新,梁意文.樹突狀細胞算法在Web服務器異常檢測中的應用[J].計算機工程與應用,2016,52(24):148?152.endprint