博文谷

位置:首頁 > 行政公文 > 報告

軟件工程論文開題報告模板

報告9.08K

開題報告的綜述部分應首先提出選題,並簡明扼要地說明該選題的目的、相關課題研究情況、理論適用、研究方法,以下是一篇關於軟件工程論文開題報告的模板,希望對大家有幫助。

軟件工程論文開題報告模板

一、選題背景

當今的互聯網服務面臨着許許多多的挑戰和千變萬化的需求,其中就包括需要管理海量的數據,並且能爲高速增長的用戶羣提供持續可依賴的服務。這裏所說的互聯網服務包括了諸如在線郵箱、搜尋引擎、在線遊戲、在線金融系統、內容分發網絡、檔案共享網絡等等。因此,能提供這些互聯網服務的系統往往很龐大:由成百上千臺機器組成,並且這些機器可能在同一個數據中心裏,也可能分散在不同的數據中心,之間透過不可依賴的網絡進行通信。在具有如此巨大的擴展性的集羣中,錯誤的發生變的很常見:一部分機器可能隨時會遇到硬件或者軟件故障;網絡延遲和網絡故障隨時可能發生,導致丟包、網絡分區等情況;偶發的惡意攻擊或是操作錯誤,也有可能導致不可預測的災難性錯誤發生。所以,構建這種系統的軟件往往很複雜,同時,每隔一段時間,系統都需要進行一定的修改(升級)以提升性能、修改錯誤或增加新的功能。本文工作所面臨的最基本的問題就是如何有效地設計一種工程上可行的升級方案,使得這種規模的分佈式系統能在升級期間能持續地提供服務。

二、研究目的和意義

時下雲計算十分火爆,各種互聯網公司、銀行、政府都經常提及雲計算,各種各樣的分佈式系統也層出不窮,不論是著名的大型分佈式產品的開源項目諸如Hadoop、OpenStack、MongoDB等等,又或者是國內外的著名的雲計算服務提供商AmazonAWS、MicrosoftAzure、阿里雲們,雲計算早已從紙面或者是宣傳標語中,走向了實實在在的落地階段。但是,針對雲計算抑或是分佈式系統中一個比較具體的問題的相關研究,尤其對於國內的相關領域而言,卻是比較缺少的,國內工業界的著名廠商們似乎都在悶頭造車,分享出來的解決雲計算工程中實際具體問題的論文和研究成果依然較少。本人深知自己的能力有限,僅得益於研究生期間的一些實習經歷,結合工程實際,嘗試對分佈式系統的升級和數據遷移問題做一些總結和提煉的工作,並且有一定的創新。

三、本文研究涉及的主要理論

分佈式系統是其組件分佈在聯網的計算機上,組件之間透過傳遞消息進行通信和動作協調的軟件系統。分佈式系統是一個統稱,常見的有分佈式操作系統、分佈式程序設計語言及其編譯(解釋)系統、分佈式檔案系統和分佈式數據庫(存儲)系統等等。本文所面臨的升級和數據遷移的問題涉及到更多的是分佈式存儲系統,分佈式存儲系統的定義如下:分佈式存儲系統是大量的`普通的PC服務器透過互聯網互聯,對外作爲一個整體提供存儲服務。

也可以說,那些以數據存儲和訪問爲目的而設計的分佈式系統稱之爲分佈式存儲系統。與普通的軟件系統不同,分佈式存儲系統具有以下幾個特性,理解這些特性對解決本文所提出的問題具有基礎性的意義。擴展性:分佈式存儲系統的擴展性是最重要的優勢,往往可以擴展成百上千臺的規模。同時隨着集羣規模的增長,其系統整體性能表現爲線性增長。

並且,可以根據一定的策略將數據和請求分配到不同的物理節點,物理節點的數目和集羣處理能力成正比,集羣是線性可擴展的。同時,集羣能否擴展,可否線性擴展是衡量分佈式存儲系統的一個重要指標。低成本和高性能:分佈式存儲系統具有的自動容錯、自動負載均衡機制使其可以構建在普通的PC機之上。另外,線性擴展能力也使得增加、減少機器非常方便,可以實現自動運維。因此,對整個集羣而言,分佈式存儲系統具備高性能。

數據分佈:分佈式存儲系統區別於單機存儲系統最大的特點是它可以按照一定方法進行數據切片,不同的物理節點分佈不同的數據分片,從而將系統的存儲容量壓力和訪問請求壓力分散到系統集羣的各個物理節點上,使系統整體能夠存儲超大規模的數據量,同時能夠接受更多的併發請求。

那麼如何將數據分佈到多臺服務器才能夠保證數據分佈均勻?數據分佈到多臺服務器後如何實現跨服務器讀寫操作?常用的數據分片和分佈方法有兩種:a.哈希分區方法,即根據數據的Key進行哈希取模,離散的分配到集羣的物理節點上,Amazon的Dynamo採用了一致性哈希算法進行分區;b.連續分區方法,即將整個數據集合按照key來排序,根據key的範圍進行分片。

四、本文研究的主要內容及研究框架

(一)本文研究的主要內容

本論文共分爲六章,各章的主要內容如下所述:

第一章爲引言。介紹了本論文的研究背景,簡述了雲計算和分佈式系統目前的現狀,系統升級的必要性,以及本文的主要工作和組織結構。

第二章爲文獻綜述。介紹了分佈式系統相關的基本理論,分析了一些典型的Nosql系統,綜述了在單機軟件成熟的升級方案以及在分佈式系統升級問題上前人的一些研究成果。

第三章爲難點分析及總體設計。本章系統地分析了分佈式系統升級問題的難點,並且提出了高可用的分佈式系統升級設計的基本概念和原則,在此基礎上,提出了該問題的總體設計方案。

第四章爲詳細設計和實現。本章在前一章的基礎上,依次詳細地設計了在單數據中心和跨數據中心的分佈式環境下的系統升級方案,爲本論文的最爲重點的章節。

第五章爲方案測試與實施。本章在詳細設計與實現的基礎上,提出了相應的測試和實施方案,透過測試分析和實驗分析驗證了升級方案的有效性。

第六章爲總結和展望。總結了全文所做的工作,指出了論文的創新點,並且對論文的不足以及未來的後續研究做出了展望。

(二)本文研究框架

本文研究框架可簡單表示爲:

五、寫作提綱

摘要4-5

ABSTRACT5-6

第一章引言9-11

1.1研究背景9

1.3本文組織結構10-11

2.1分佈式相關理論11-14

2.1.1基本概念和特性11-12

2.2典型Nosql系統分析14-19

2.2.1Bigtable15-16

2.2.2Dynamo16-18

2.2.3Cassandra與Bigtable,Dynamo的對比18-19

2.5本章小結22-23

第三章難點分析與總體設計23-32

3.2高可用的分佈式系統升級設計25-27

3.2.2升級設計的基本原則26-27

3.3總體設計方案27-31

3.3.2方案步驟28-30

3.3.3重點說明30-31

3.4本章小結31-32

第四章詳細設計與實現32-51

4.2單數據中心分佈式系統升級33-38

4.2.1設計意義33-34

4.2.2詳細設計34-38

4.3跨數據中心分佈式系統升級38-42

4.3.1區別分析38

4.3.2總體說明38-39

4.3.3讀寫請求處理39-40

4.3.4詳細步驟40-42

4.4主要模組的實現42-49

4.4.2升級主要模組實現44-46

4.4.3數據遷移模組實現46-48

4.4.4回調函數的實現48-49

4.5本章小結49-51

第五章方案實施與測試51-70

5.1方案實施51-57

5.1.1系統部署51

5.2方案測試57-66

5.2.1單元測試57-61

5.2.2集成測試61-63

5.2.3系統測試63-66

5.3實際生產環境測試結果66-69

5.4本章小結69-70

第六章總結與展望70-72

6.1回顧和總結70-71

6.2前景展望71-72

參考文獻72-74

六、本文研究進展(略)