天堂国产午夜亚洲专区-少妇人妻综合久久蜜臀-国产成人户外露出视频在线-国产91传媒一区二区三区

分布式數(shù)據(jù)庫容錯性故障注入測試工具

發(fā)布時間:2021-01-09 16:10
  分布式數(shù)據(jù)庫對比集中式數(shù)據(jù)庫有更高的可擴(kuò)展性和性能。由于分布式數(shù)據(jù)庫的復(fù)雜性,在實際應(yīng)用過程中無法避免網(wǎng)絡(luò)中斷,丟包,節(jié)點宕機(jī)等軟硬件故障。為了減輕故障問題對分布式數(shù)據(jù)庫帶來的影響,分布式數(shù)據(jù)庫需要持續(xù)進(jìn)行故障注入測試,即在系統(tǒng)正常運行過程中通過編碼模擬主動觸發(fā)故障問題,提高分布式數(shù)據(jù)庫的可靠性以及驗證系統(tǒng)內(nèi)部容錯機(jī)制的正確性。本文設(shè)計并實現(xiàn)了針對分布式數(shù)據(jù)庫系統(tǒng)容錯性問題的故障注入測試工具AFTest。主要貢獻(xiàn)為:1.輕量級的任務(wù)調(diào)度設(shè)計:同時支持手動提交測試案例和自動遍歷已有情況下的事件組合情況。測試人員可以通過前端界面實時查詢測試進(jìn)度,歷史記錄以及被測試系統(tǒng)當(dāng)前狀態(tài)。后端任務(wù)調(diào)度程序能夠定時生成測試案例并根據(jù)案例生成執(zhí)行腳本,然后分配工作線程執(zhí)行測試并記錄相應(yīng)的日志信息和測試過程中系統(tǒng)狀態(tài)的變化。2.實現(xiàn)了一個故障注入框架:分析分布式數(shù)據(jù)庫在現(xiàn)實應(yīng)用過程中曾經(jīng)出現(xiàn)的各類軟硬件故障問題,通過編碼模擬實現(xiàn)其中常見的多種軟硬件故障問題以及Cedar特有的系統(tǒng)操作。模塊化故障注入框架便于嵌入測試工具中使用。3.減少事件組合空間冗余問題:深度遍歷所有故障組合事件,避免繁瑣的測試案例編寫,更... 

【文章來源】: 沈靖 華東師范大學(xué)

【文章頁數(shù)】:77 頁

【學(xué)位級別】:碩士

【部分圖文】:

分布式數(shù)據(jù)庫容錯性故障注入測試工具


4對稱性

節(jié)點,分布式數(shù)據(jù)庫,從節(jié)點,信息傳遞


第六章消除冗余案例華東師范大學(xué)碩士學(xué)位論文49為了體現(xiàn)這兩個不同順序組合之間因為對稱性而表現(xiàn)出的一致性,直觀方法是將節(jié)點間信息傳遞過程抽象成模型。我們能夠?qū)⒆钕劝l(fā)出請求的節(jié)點定義為1,之后回復(fù)請求的節(jié)點定義為2,這樣一來,原本圖6.1b中寫請求X是從A-B就轉(zhuǎn)變成了X是從1-2,同樣的在圖6.1c中寫請求M是從B-A轉(zhuǎn)變成1-2,也就是說兩張圖中事件發(fā)生的順序都是同樣類型的寫請求從節(jié)點1傳遞給節(jié)點2并得到回復(fù),然后再是同樣類型的寫請求從節(jié)點2傳遞給節(jié)點1并得到回復(fù),這樣的事件發(fā)生過程是一致的。當(dāng)然僅僅從節(jié)點間寫請求傳遞的對稱性不足以描述分布式數(shù)據(jù)庫中更為復(fù)雜的情況,諸如領(lǐng)導(dǎo)者選舉協(xié)議中信息傳遞過程中會帶有各自節(jié)點中的投票信息。但是從這個信息傳遞的對稱性出發(fā),考慮到分布式數(shù)據(jù)庫中不同節(jié)點有不同的角色分類,集群內(nèi)的身份變換通常取決于節(jié)點間的信息傳遞。進(jìn)一步思考分布式數(shù)據(jù)庫中各節(jié)點身份變化引起的狀態(tài)對稱性也能發(fā)現(xiàn)更多的冗余情況。從上圖6.2中的并發(fā)更新可以更為直觀的體現(xiàn)狀態(tài)對稱性。圖6.2是一個簡單的Paxos一致性協(xié)議第一階段更新提交的流程。節(jié)點A廣播自身的請求信息,兩條請求分別發(fā)給自身和節(jié)點B并且都附加了提案號為1的信息。同樣節(jié)點B廣播自身的請求信息也分別發(fā)送給自身和節(jié)點A并且都附帶了提案號為2。單獨判斷圖6.2左右兩圖中不同的執(zhí)行順序,我們明顯能發(fā)現(xiàn)這是兩種不同的情況,圖6.215狀態(tài)對稱性

分布圖,獨立性,事件,節(jié)點


第六章消除冗余案例華東師范大學(xué)碩士學(xué)位論文52作的先后順序,比如將對變量x的先寫后讀改成先讀后寫。那么節(jié)點A對于節(jié)點B中的操作是獨立于節(jié)點B對節(jié)點A的操作的。只要單個節(jié)點的相對讀寫順序不改變,不管節(jié)點間事件順序如何變化,最終兩個節(jié)點的狀態(tài)變化都是一致的,所以沒有必要改變獨立事件之間的發(fā)生順序。實現(xiàn)這個方法的主要問題是如何評估事件之間的獨立性。我們在測試工具實現(xiàn)過程中依舊通過Reporter采集的分布式數(shù)據(jù)庫集群中各個節(jié)點的狀態(tài)信息,并根據(jù)各個事件發(fā)生時所涉及的操作建立各個事件對應(yīng)的受到其影響的變量集合,比如讀取的數(shù)據(jù)集合,需要修改的數(shù)據(jù)集合。因此對于兩個事件E1E2,只要E1的讀取數(shù)據(jù)集合和E2的修改數(shù)據(jù)集合不重合,那么這兩個事件之間就是獨立不相干的,反之亦然。一旦判定事件之間是獨立的那么這兩者之間就可以互相交換,不需要再重復(fù)測試多余的事件組合的測試案例。故障注入測試中包括節(jié)點宕機(jī)的故障注入事件,節(jié)點的宕機(jī)對于發(fā)現(xiàn)分布式數(shù)據(jù)庫深層次故障問題非常有必要,根據(jù)針對分布式系統(tǒng)中故障問題的詳細(xì)研究,分布式并發(fā)問題中有50%的觸發(fā)條件需要至少存在一個節(jié)點宕機(jī),還有12%的故障問題觸發(fā)條件需要至少兩個節(jié)點在特定時間宕機(jī)[26]。由于節(jié)點宕機(jī)會對集群產(chǎn)生較大影響,針對節(jié)點宕機(jī)事件的重新排序也就會耗費更多的測試時間。因此根據(jù)事件獨立性能減少不必要的宕機(jī)事件組合而成的測試案例。比如,在分布圖6.316事件獨立性


本文編號:2966984

資料下載
論文發(fā)表

本文鏈接:http://sikaile.net/kejilunwen/shengwushengchang/2966984.html


Copyright(c)文論論文網(wǎng)All Rights Reserved | 網(wǎng)站地圖 |

版權(quán)申明:資料由用戶7694b***提供,本站僅收錄摘要或目錄,作者需要刪除請E-mail郵箱bigeng88@qq.com