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

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

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

  一、選題背景

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

  二、研究目的和意義

  時下雲計算十分火爆,各種網際網路公司、銀行、政府都經常提及雲計算,各種各樣的分散式系統也層出不窮,不論是著名的大型分散式產品的開源專案諸如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

  六、本文研究進展(略)

最近訪問