分布式角色協(xié)同控制系統(tǒng)stage的設(shè)計(jì)與實(shí)現(xiàn)
發(fā)布時(shí)間:2017-10-17 19:01
本文關(guān)鍵詞:分布式角色協(xié)同控制系統(tǒng)stage的設(shè)計(jì)與實(shí)現(xiàn)
更多相關(guān)文章: 分布式系統(tǒng) 同步 COM組件 Proactor RPC
【摘要】:隨著互聯(lián)網(wǎng)的發(fā)展以及移動(dòng)互聯(lián)網(wǎng)時(shí)代的到來,各應(yīng)用領(lǐng)域如電子商務(wù)、網(wǎng)絡(luò)社交、搜索引擎提供商等都積累了大量的數(shù)據(jù)并且迫切期望對(duì)已有的數(shù)據(jù)進(jìn)行高效的分析以產(chǎn)出學(xué)術(shù)和商業(yè)價(jià)值,信息技術(shù)的發(fā)展進(jìn)入大數(shù)據(jù)處理時(shí)代。傳統(tǒng)的單機(jī)串行化的數(shù)據(jù)處理方式已無(wú)法滿足日益增長(zhǎng)的數(shù)據(jù)處理要求,分布式技術(shù)越來越受到人們的關(guān)注。而同步是分布式系統(tǒng)中一個(gè)重要的概念,代表了分布式系統(tǒng)中各個(gè)單機(jī)節(jié)點(diǎn)之間協(xié)同工作的一種方式。與單機(jī)系統(tǒng)不同,由于分布式系統(tǒng)中各個(gè)節(jié)點(diǎn)之間的網(wǎng)絡(luò)通信是不穩(wěn)定的,如何保證分布式環(huán)境中通信錯(cuò)誤造成的影響不至于讓整個(gè)分布式系統(tǒng)紊亂掉,就是同步機(jī)制要研究的課題,也是任何分布式系統(tǒng)的基礎(chǔ)。本文將闡述的stage,就是一個(gè)提供了分布式同步服務(wù)的系統(tǒng)。文章將分幾部分,對(duì)國(guó)內(nèi)外相關(guān)技術(shù),stage的功能需求,設(shè)計(jì)和實(shí)現(xiàn)進(jìn)行詳細(xì)的敘述。stage自底向上,層層依賴,主要由四大子系統(tǒng)構(gòu)成。第一層是基于COM的組件框架OCF,基于這個(gè)框架的編寫和使用規(guī)范,可以很容易地開發(fā)出高可重用,高可擴(kuò)展的組件應(yīng)用;第二層是基礎(chǔ)網(wǎng)絡(luò)通信引擎,它是基于Proactor的異步事件驅(qū)動(dòng)模型的實(shí)現(xiàn),使用了多線程下的I/O復(fù)用模型,充分利用了服務(wù)器硬件資源,提高了系統(tǒng)吞吐量;第三層是類RPC的消息通信組件,它使用了ProtoBuf提供的序列化反序列化機(jī)制以及自動(dòng)生成相關(guān)代碼的生成器,并集成了第二層的網(wǎng)絡(luò)通信引擎,讓開發(fā)者只需編寫簡(jiǎn)單的IDL文件,即可通過自動(dòng)生成代碼向消息通信組件中添加新的服務(wù);第四層則是stage的應(yīng)用實(shí)現(xiàn),它采用了Raft算法和類POSIX Thread的接口,并作為一種服務(wù)添加到了消息通信組件中,為用戶提供了同步服務(wù)。stage系統(tǒng)在Free BSD下使用C++進(jìn)行編寫,采用了完全異步的模型,并使用回調(diào)的方式完成業(yè)務(wù)邏輯,使得系統(tǒng)中的阻塞點(diǎn)盡可能的少,提高了系統(tǒng)的效率。經(jīng)測(cè)試,stage在功能和性能上能夠滿足用戶在分布式系統(tǒng)中所需同步服務(wù)的需求。
【關(guān)鍵詞】:分布式系統(tǒng) 同步 COM組件 Proactor RPC
【學(xué)位授予單位】:電子科技大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2016
【分類號(hào)】:TP311.52
【目錄】:
- 摘要5-6
- ABSTRACT6-12
- 第一章 緒論12-16
- 1.1 選題背景和意義12
- 1.2 國(guó)內(nèi)外研究現(xiàn)狀12-14
- 1.3 課題研究?jī)?nèi)容14
- 1.4 論文組織結(jié)構(gòu)14-15
- 1.5 本章小結(jié)15-16
- 第二章 理論基礎(chǔ)及相關(guān)技術(shù)16-35
- 2.1 COM組件16-18
- 2.2 Boost Asio18-20
- 2.3 RPC20-21
- 2.4 ProtoBuf21
- 2.5 分布式一致性算法21-27
- 2.5.1 Paxos22-24
- 2.5.1.1 角色22-23
- 2.5.1.2 流程23-24
- 2.5.2 Raft24-27
- 2.5.2.1 角色24-25
- 2.5.2.2 子問題25
- 2.5.2.3 流程25-26
- 2.5.2.4 Leader Election26
- 2.5.2.5 Log Replication26-27
- 2.5.2.6 安全性27
- 2.6 典型的分布式同步系統(tǒng)27-29
- 2.6.1 Chubby27-29
- 2.6.2 Zookeeper29
- 2.7 OCF即相關(guān)子系統(tǒng)介紹29-33
- 2.7.1 OCF庫(kù)設(shè)計(jì)原理30-31
- 2.7.2 基礎(chǔ)網(wǎng)絡(luò)通信引擎IoEngine31-32
- 2.7.3 消息通信組件Channel32-33
- 2.8 本章小結(jié)33-35
- 第三章 stage系統(tǒng)需求分析35-39
- 3.1 stage系統(tǒng)設(shè)計(jì)目標(biāo)35-36
- 3.1.1 功能需求35-36
- 3.1.2 非功能需求36
- 3.2 stage系統(tǒng)用例圖36-38
- 3.3 本章小結(jié)38-39
- 第四章 stage系統(tǒng)總體設(shè)計(jì)39-53
- 4.1 總體設(shè)計(jì)思路39-40
- 4.2 總體系統(tǒng)框架40-41
- 4.3 模塊設(shè)計(jì)41-52
- 4.3.1 stage網(wǎng)絡(luò)服務(wù)模塊設(shè)計(jì)41
- 4.3.2 Raft算法模塊設(shè)計(jì)41
- 4.3.3 Mutex管理模塊設(shè)計(jì)41-47
- 4.3.3.1 mutexInit流程設(shè)計(jì)42-43
- 4.3.3.2 mutexDestroy流程設(shè)計(jì)43
- 4.3.3.3 mutexLock流程設(shè)計(jì)43-44
- 4.3.3.4 mutexTryLock流程設(shè)計(jì)44-45
- 4.3.3.5 mutexUnlock流程設(shè)計(jì)45-47
- 4.3.4 Cond管理模塊設(shè)計(jì)47-51
- 4.3.4.1 condInit流程設(shè)計(jì)47-48
- 4.3.4.2 condDestroy流程設(shè)計(jì)48
- 4.3.4.3 condWait流程設(shè)計(jì)48-49
- 4.3.4.4 condSignal流程設(shè)計(jì)49-50
- 4.3.4.5 condBroadcast流程設(shè)計(jì)50-51
- 4.3.5 客戶端模塊設(shè)計(jì)51-52
- 4.4 本章小結(jié)52-53
- 第五章 stage系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)53-74
- 5.1 編程環(huán)境53
- 5.2 stage總體模塊設(shè)計(jì)53-55
- 5.3 底層基礎(chǔ)模塊介紹55-57
- 5.3.1 基礎(chǔ)網(wǎng)絡(luò)通信引擎IoEngine55-56
- 5.3.2 消息通信組件Channel56-57
- 5.4 stage網(wǎng)絡(luò)服務(wù)模塊詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)57-65
- 5.4.1 stage網(wǎng)絡(luò)協(xié)議58-61
- 5.4.1.1 ServerMessage介紹58-59
- 5.4.1.2 ClientMessgae介紹59-61
- 5.4.2 stage網(wǎng)絡(luò)服務(wù)模塊61-65
- 5.4.2.1 StagePerformer介紹62-64
- 5.4.2.2 PBHelper介紹64
- 5.4.2.3 其它64-65
- 5.5 Raft算法模塊詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)65-66
- 5.6 Mutex管理模塊詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)66-67
- 5.7 Cond管理模塊詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)67-68
- 5.8 客戶端模塊的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)68-70
- 5.9 重要執(zhí)行流程70-73
- 5.9.1 stage系統(tǒng)啟動(dòng)流程70-71
- 5.9.2 stage系統(tǒng)內(nèi)部選舉流程71-72
- 5.9.3 客戶端請(qǐng)求操作流程72-73
- 5.10 本章小結(jié)73-74
- 第六章 系統(tǒng)測(cè)試74-88
- 6.1 測(cè)試環(huán)境74
- 6.2 功能測(cè)試74-83
- 6.2.1 Mutex操作相關(guān)測(cè)試75-78
- 6.2.1.1 mutexInit測(cè)試75
- 6.2.1.2 mutexDestroy測(cè)試75-76
- 6.2.1.3 mutexLock測(cè)試76
- 6.2.1.4 mutexTryLock測(cè)試76-77
- 6.2.1.5 mutexUnlock測(cè)試77-78
- 6.2.1.6 mutex綜合測(cè)試78
- 6.2.2 Cond操作相關(guān)測(cè)試78-81
- 6.2.2.1 cond Init測(cè)試78-79
- 6.2.2.2 condDestroy測(cè)試79
- 6.2.2.3 condWait測(cè)試79-80
- 6.2.2.4 condSignal測(cè)試80
- 6.2.2.5 condBroadcast測(cè)試80-81
- 6.2.2.6 cond綜合測(cè)試81
- 6.2.3 其它81-83
- 6.3 性能測(cè)試83-87
- 6.3.1 網(wǎng)絡(luò)傳輸效率測(cè)試83-85
- 6.3.1.1 測(cè)試方法83
- 6.3.1.2 測(cè)試結(jié)果對(duì)比與分析83-85
- 6.3.2 吞吐量測(cè)試85-87
- 6.3.2.1 測(cè)試方法85-86
- 6.3.2.2 測(cè)試結(jié)果與對(duì)比分析86-87
- 6.4 本章小結(jié)87-88
- 第七章 結(jié)論和展望88-90
- 致謝90-91
- 參考文獻(xiàn)91-94
- 攻碩期間取得的研究成果94-95
【參考文獻(xiàn)】
中國(guó)期刊全文數(shù)據(jù)庫(kù) 前1條
1 高曙明,何發(fā)智;分布式協(xié)同設(shè)計(jì)技術(shù)綜述[J];計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào);2004年02期
,本文編號(hào):1050494
本文鏈接:http://sikaile.net/kejilunwen/sousuoyinqinglunwen/1050494.html
最近更新
教材專著