<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    狂奔 lion

    自強不息

    系統(tǒng)模型及系統(tǒng)故障日志的思考

    最近在研究關(guān)于系統(tǒng)的基于日志的故障恢復(fù),無意間在網(wǎng)上發(fā)現(xiàn)一篇論文中對于系統(tǒng)日志模型的精彩論述,翻譯過來并附上我的思路:

    一個系統(tǒng)是一個具有明顯的邊界的實體,它根據(jù)一定的輸入,自身運行邏輯及系統(tǒng)的內(nèi)部時鐘變化來產(chǎn)生相應(yīng)的輸出。
    所謂“明顯的邊界”是指系統(tǒng)所產(chǎn)生的輸出是明確而無二義性的。我們稱這個邊界為系統(tǒng)的設(shè)計規(guī)范(specification)。一個系統(tǒng)通過與其所處環(huán)境進(jìn)行交互,從而獲取輸入并產(chǎn)生輸出。一個系統(tǒng)可以被拆解為不同的子系統(tǒng)。這些子系統(tǒng)通常被稱為系統(tǒng)模塊(system components),每個模塊又獨立地成為一個系統(tǒng),作為一個系統(tǒng),這個模塊又會和它的相關(guān)環(huán)境進(jìn)行交互(比如,一個更大的系統(tǒng)中的其他的模塊組件)來獲取輸入并產(chǎn)生輸出,這些模塊還可以繼續(xù)被分解為更小的子系統(tǒng)。
    一個系統(tǒng)可以被建模為一個狀態(tài)機(state machine),其中的狀態(tài)包含了系統(tǒng)所持有并處理的數(shù)據(jù)。這些狀態(tài)的遷移被分為兩大類:由系統(tǒng)內(nèi)部邏輯所觸發(fā)且對外部環(huán)境透明的遷移和直接與外部環(huán)境相接觸的遷移。前者的例子如內(nèi)存數(shù)據(jù)和寄存器數(shù)據(jù)的轉(zhuǎn)換,內(nèi)存中數(shù)據(jù)結(jié)構(gòu)的重組。第二種遷移的例子包含了各種各樣的系統(tǒng)和環(huán)境之間的交互,一般來說,如果這個過程能被建模成系統(tǒng)的I/O操作,則應(yīng)屬于這一類別。因此,一個消息內(nèi)容的形成是一個或多個第一類別狀態(tài)遷移的結(jié)果,但將消息輸出到系統(tǒng)的環(huán)境則是屬于第二類遷移。
    第二類別的狀態(tài)遷移可以捕獲交互事件(interaction events),或者簡單的事件(events)。這些事件可以由系統(tǒng)外部的觀察者(observer)來獲取。顯然,這里的事件是消息、信號、數(shù)據(jù)及其內(nèi)容以及一切系統(tǒng)和其環(huán)境交互(如機器人運動手腳,報警器報警,打印機打印等等)的發(fā)送和接受的模型。此外事件還可以用來描述系統(tǒng)缺乏交互的時間,比如一個計時器在日志中輸出系統(tǒng)的空閑時間等。
    當(dāng)一個大的系統(tǒng)被拆分成多個模塊時,每個模塊都被賦予了整個系統(tǒng)所處理數(shù)據(jù)的一部分,正因為模塊和模塊間的接口銜接和數(shù)據(jù)感知,一些原來屬于第一類別的狀態(tài)轉(zhuǎn)換,因為系統(tǒng)的拆分在更低的層次上變成了第二類別,成為系統(tǒng)和環(huán)境之間的交互。
    對于一個特定的系統(tǒng),他對于輸入的形式和獲取時間是不可預(yù)知的,但是這個系統(tǒng)卻應(yīng)該能夠做到根據(jù)一個特定的輸入以及系統(tǒng)當(dāng)前的特定狀態(tài)獲取一個特定的輸出。因此系統(tǒng)的執(zhí)行可以被建模為狀態(tài)轉(zhuǎn)換序列,每個狀態(tài)的輸入是一個不確定性事件。為了記錄日志并做到故障恢復(fù),我們還應(yīng)做到能夠在環(huán)境中捕獲這個不確定性事件輸入。
    此外,在系統(tǒng)與系統(tǒng)間進(jìn)行交互式,事件的傳遞時間也應(yīng)該是不確定性的。



    怎樣用日志來預(yù)防系統(tǒng)崩潰,在崩潰后如何還原系統(tǒng),我想關(guān)鍵問題就是怎么做好內(nèi)存的快照,這樣,在斷電重啟后可以通過日志來還原內(nèi)存的信息這樣第一步就是確認(rèn)內(nèi)存中的數(shù)據(jù)結(jié)構(gòu),哪些是必不可少的。確定系統(tǒng)恢復(fù)的粒度,按照子系統(tǒng)的分割和事件的記錄來進(jìn)行replay,根據(jù)子系統(tǒng)的劃分,可以找出每個子系統(tǒng)中第二類別的事件進(jìn)行記錄。
    以向數(shù)據(jù)庫系統(tǒng)提交作業(yè)為例,實際上在整個作業(yè)提交的過程中,每個層次都要做到可以在失敗的情況下重現(xiàn),這個功能在完善的數(shù)據(jù)庫系統(tǒng)和集群批處理系統(tǒng)中當(dāng)然已經(jīng)很完善。但如果是針對web系統(tǒng)的作業(yè)提交,則需要針對Web的作業(yè)持久方案,做一個日志恢復(fù)處理。需要特別指出的是,對于數(shù)據(jù)的查詢是不需要做備份的。
    在具體實現(xiàn)上,我想應(yīng)該包括:日志記錄,故障檢測,日志持久三個部分。一份日志就是一個對于系統(tǒng)檢查點(checkpoint)的連續(xù)記錄。日志記錄者負(fù)責(zé)記錄日志到日志持久者,故障檢測器隨時監(jiān)控系統(tǒng),發(fā)現(xiàn)故障后,從日志持久者中讀取日志,進(jìn)行replay.

     @2008 楊一. 版權(quán)所有. 保留所有權(quán)利

    posted on 2008-01-07 14:44 楊一 閱讀(994) 評論(0)  編輯  收藏 所屬分類: HLD

    <2008年1月>
    303112345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    導(dǎo)航

    公告

    本人在blogjava上發(fā)表的文章及隨筆除特別聲明外均為原創(chuàng)或翻譯,作品受知識產(chǎn)權(quán)法保護(hù)并被授權(quán)遵從 知識分享協(xié)議:署名-非商業(yè)性使用-相同方式共享 歡迎轉(zhuǎn)載,請在轉(zhuǎn)載時注明作者姓名(楊一)及出處(www.tkk7.com/yangyi)
    /////////////////////////////////////////
    我的訪問者

    常用鏈接

    留言簿(5)

    隨筆分類(55)

    隨筆檔案(55)

    相冊

    Java

    其他技術(shù)

    生活

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    自強不息


    用心 - 珍惜時間,勇于創(chuàng)造
    主站蜘蛛池模板: 免费A级毛片无码无遮挡内射| 一个人看的www免费视频在线观看 一个人免费视频观看在线www | 免费一级毛片在线播放| 亚洲精品午夜国产va久久| 日韩免费精品视频| 国产精品久久亚洲不卡动漫| 久久亚洲精品成人综合| 亚洲综合欧美色五月俺也去| 国产精品1024在线永久免费 | 在线观看人成视频免费无遮挡| 一二三四视频在线观看中文版免费| 国产乱子伦精品免费无码专区| 亚洲高清一区二区三区电影| 暖暖免费高清日本中文| 西西人体大胆免费视频| 亚洲精品国产精品国自产观看| 99久久婷婷免费国产综合精品| 亚洲V无码一区二区三区四区观看 亚洲αv久久久噜噜噜噜噜 | 免费人成视频在线观看视频| 日韩成人毛片高清视频免费看| 亚洲熟女乱综合一区二区| 中文字幕免费在线看电影大全| 日韩亚洲一区二区三区| 亚洲欧洲日本在线观看| 日韩毛片免费在线观看| 男女猛烈无遮掩视频免费软件 | 亚洲啪AV永久无码精品放毛片| 国产午夜影视大全免费观看| 九九久久精品国产免费看小说 | 亚洲AV无码国产丝袜在线观看| **毛片免费观看久久精品| 中国亚洲呦女专区| 亚洲黄片手机免费观看| 嫩草在线视频www免费观看| 亚洲三级在线免费观看| avtt亚洲天堂| 免费观看激色视频网站bd| 亚洲最大福利视频网站| 女人18一级毛片免费观看| 在线免费视频你懂的| 麻豆狠色伊人亚洲综合网站|