軟件體系結構設計案例分析_第1頁
已閱讀1頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、軟件體系結構設計案例,體系結構設計案例,科學數據共享網空中交通管制,科學數據共享網體系結構設計,科學數據共享網,,科學數據共享網的系統(tǒng)需求,“中國地球系統(tǒng)科學數據共享網”是國家科學數據共享工程的重要組成部分,同時也是科技部推動“國家科學數據共享工程”2002年試點的三個科學數據共享網之一。該系統(tǒng)針對基于各圈層(大氣圈、水圈、 生物圈)相互作用的地球系統(tǒng)科學的整體研究,利用互聯網,整合、集成各科研院所、高等院校和國際數據組織以及科學家

2、個人手中的相關專業(yè)數據資源,瞄準地球系統(tǒng)科學的前沿研究,開展數據組織、加工與服務,構建物理上分布、邏輯上統(tǒng)一的地球系統(tǒng)科學數據管理與共享服務網。這一工作對于增強我國基礎科學研究和前沿科學創(chuàng)新能力具有重要的意義。,數據方面的特殊需求和特點,能夠快捷地收集數據科學數據分散在科研院所和科學家手中,要設計開發(fā)一套收集數據的機制,使其能夠快速地整合到系統(tǒng)中,提供數據共享服務。數據收集的途徑應主要通過網絡媒介,而且不能影響系統(tǒng)所提供的網絡服務的

3、正常運行。有效存儲和管理海量數據,并快速定位數據該系統(tǒng)能夠提供目錄服務,合理地管理數據。提供用戶查閱、下載、使用數據的服務。當用戶在系統(tǒng)中查找數據時,希望能夠快速定位數據,提供服務,平均響應時間最長不超過20秒。,數據方面的特殊需求和特點,保護數據版權,保證數據的安全性科學數據是科學工作者辛勤勞動的果實,同書籍一樣也存在版權的問題。所以在數據的使用上,需要版權保護。此外,由于一些數據有其時效性和保密性,所以在提供服務時需要對

4、數據訪問進行相應的安全控制。,系統(tǒng)需求,架構師一般通過兩種途徑來獲得系統(tǒng)的需求:用戶直接主動地提供的需求(一般都是功能性需求和領域知識)希望“科學數據共享網”能通過Internet為用戶提供數據服務,包含:數據目錄服務、數據資源導航、數據下載功能、對數據進行穩(wěn)妥地安全管理。構架師設計“對話問題”,通過對用戶提問,進一步與他們溝通,從而得到明確的需求。構架師以用軟件系統(tǒng)各方面的質量屬性為索引,系統(tǒng)地啟發(fā)用戶談出他們實際需要、但沒有

5、表達出來或是表達不完全的內容。,非功能性需求,,科學數據共享網的體系結構?,科學數據共享網的體系結構,原型的體系結構及其分析根據需求,數據將以Internet為傳輸途徑完成共享。在目前以Internet為前提的系統(tǒng)中,應用最廣泛的是B/S(Browser /Server)結構。這樣的結構已經相當成熟,并具有很大的靈活性??茖W數據共享網也是基于這樣初衷而設計的。,系統(tǒng)的原型設計,系統(tǒng)的原型設計,對于科學數據的存儲、管理、共享等諸多計算

6、都是由“中心”服務器承擔。在中心服務器中,又劃分了數據收集、數據訪問、平臺數據管理和平臺管理四個模塊。數據收集負責收集用戶通過Internet上載或是其它途徑(光盤、磁盤)提交上來的科學數據。數據訪問負責向用戶提供訪問科學數據的服務---查詢和下載平臺數據管理承擔了與數據庫交互,管理和存儲數據的工作。它提供的接口負責將收集的科學數據先暫存在平臺數據庫中;然后供工作人員對數據進行有效性檢查和加工,并將合法數據轉移到發(fā)布數據庫中;最后

7、管理發(fā)布數據庫中數據的接口提供數據的訪問服務。平臺管理承擔了管理用戶信息、管理用戶和數據的安全信息,以及生成平臺運行日志的任務。,,是否合適?,對原型系統(tǒng)的分析,所有的數據都由“中心”服務器負責存儲,并向用戶提供服務。這樣的結果是所有的用戶請求都由中心服務器來響應。即使內部的四個模塊部署到不同的服務器上,“平臺數據管理”和兩個數據庫所承擔的運算量也是可觀的??紤]到未來的科學數據將會越來越龐大,大量的數據都存儲到服務器中,對服務器來

8、講必然是巨大的負擔。而且,數據管理和維護的成本也隨著數據量的增加而加大?!爸行摹狈掌鞒休d了眾多服務,因而其運算量會很繁重;因此為了達到性能方面的要求,對“中心”服務器的要求就會比較高,比如:增加內存容量,CPU數量。這也增加了系統(tǒng)的投入成本。有時,僅僅通過提高服務器的性能是不能夠達到性能方面要求的。,對原型系統(tǒng)的分析,請求都由“中心”服務器做出響應,一旦它出現了故障,無法提供服務,則存儲在系統(tǒng)中的科學數據就無法向外界提供共享服務。

9、補救辦法:增加備份服務器,組成集群當系統(tǒng)升級時,也會對所提供的服務造成影響。客戶要求盡量達到7×24小時服務,平均修復時間不超過2小時。實現客戶要求相當難度,成本也高。數據都存儲在一個系統(tǒng)內,采取了通過Internet上載或是其它途徑(光盤、磁盤等方式)提交科學數據的方式??紤]到地學領域的數據通常是較大的地圖,網絡提交數據的方式會影響到“中心”服務器的數據吞吐量,降低了系統(tǒng)性能。,重新設計的面向服務的體系結構,體系結構說

10、明,面向服務的體系結構門戶(主數據中心),安全中心和分數據中心通過由Web Service構建的數據共享服務、全局服務、 安全服務相互連接,組成了科學數據共享網的體系結構。新的體系結構劃分了主數據中心、分數據中心和安全中心;三類中心分別有各自基于B/S結構的管理系統(tǒng),相對獨立。遵循面向服務的體系結構思想,為了實現數據的共享服務,各個中心將服務內容封裝成Web Service,作為其他中心訪問本中心數據的入口,并通過Internet

11、傳輸數據。SOAP 提供一種簡單的、可擴展并且功能豐富的 XML 消息處理框架,用于定義高級別的應用程序協議,從而在分布式異構環(huán)境中提供更高的互操作性。,體系結構說明,在該系統(tǒng)中,科學數據存儲在各個數據中心上;各分數據中心通過數據服務的Web service組件向主數據中心公布其元數據信息,作為實現數據共享的基礎(元數據是描述數據的數據)。通過在主數據中心上查找元數據信息,可以快速地獲取科學數據的消息信息,定位數據訪問入口-----

12、某個分數據中心的數據共享服務,然后實現數據的訪問。,體系結構說明,主數據中心作為整個系統(tǒng)共享服務的一個入口,它提供了查詢主數據中心上元數據信息的服務;負責向分數據中心轉發(fā)用戶訪問科學數據的請求。分數據中心也可以作為共享服務的入口。每個分數據中心都具有各自的管理信息系統(tǒng),收集和管理某個研究領域內的科學數據,用戶可以直接登錄某個分數據中心上訪問數據。加入了安全中心。用戶的基本信息,如密碼、住址、所屬單位等,都由安全中心保存和維護。安全中

13、心為所有數據中心提供了用戶的身份驗證、維護的安全服務。但是用戶訪問數據的權限則由各個數據中心獨立地設置和管理。,各中心的信息存儲結構,數據中心的分層體系結構,數據中心的分層體系結構,分層體系結構:某一層功能和實現的變化只是上下層有關(低耦合,可擴展、組件復用)安全管理:訪問權限日志管理:多種操作的記錄數據訪問層:審查、發(fā)布數據的操作應用服務層:多個共享服務組件共享服務接口:訪問接口、入口,重用部分應用服務組件主數據中心:

14、 全局服務分服務中心:數據收割(為主數據中心收集元信息)注意連接件設計 p133,安全中心的體系結構,體系結構分析,面向服務的體系結構是一種松耦合、協議和實現獨立的體系結構;松耦合與隨需應變是SOA的兩大特點。采用這種體系結構,可以重用已有系統(tǒng)作為分數據中心;允許異構數據的存在和訪問;并且能夠給系統(tǒng)帶來良好的可維護性和可擴展性。新的系統(tǒng)中,最主要的一點變化就是:科學數據將不再統(tǒng)一由“中心”服務器存儲和管理,改為由數據所有者(科研

15、工作者或是科研院所)負責存儲和管理。,數據共享網可維護性解決策略,在科學數據共享網系統(tǒng)中,在不同的層次設計中分別采用了“間接化、封裝、分離”。首先,整個系統(tǒng)的分布式體系結構設計,采用了SOA的體系結構設計,這種設計是將數據共享服務封裝為Web Service,由特定的Web Service提供數據共享服務。 Web Service的引入,將共享數據內容和共享服務實現細節(jié)分離。當實現細節(jié)發(fā)生變化或是增加新的服務時,對原有系統(tǒng)的運行影響很

16、小。在數據中心和安全中心的系統(tǒng)設計上,采用了分層的設計。這是一種間接化的體系結構設計策略,上層的共享服務需要通過數據訪問層提供的接口訪問數據;當底層數據存儲結構變化后,對上層的共享服務的影響較小。數據中心和安全中心的web應用系統(tǒng)采用的是MVC模式,將模型、控制、視圖有機地分離。,空中交通管制http://etutorials.org/Programming/Software+architecture+in+practice

17、,+second+edition/Part+Two+Creating+an+Architecture/Chapter+6.+Air+Traffic+Control+A+Case+Study+in+Designing+for+High+Availability/,系統(tǒng)概況,系統(tǒng)概況,飛機從順利起飛到安全到達目的地,受到空中交通管制系統(tǒng)各個不同部分的管理。地面控制部分負責協調和管理飛機在機場地面上的運動;塔臺控制部分控制飛機在該機場的終

18、端控制區(qū)中的飛行;最后,該系統(tǒng)還有多個中途中心,將整個美國領空劃分為22個責任區(qū)。,初始區(qū)段組(Initial Sector Suite System,ISSS),ISSS是針對22個中途中心的軟硬件升級系統(tǒng),需求與質量分析,空中交通管制系統(tǒng)若運行不好,可能會造成生命財產損失極高的可用性必須保證系統(tǒng)不能正常工作的時間非常短(一年內停機時間不能超過5分鐘)高性能系統(tǒng)必須保證在不丟失任何數據的情況下對大量數據進行處理;通信網絡

19、必須能夠處理這種負載,軟件必須能夠快速、帶有預測性的進行計算。,ISSS的功能,獲取存儲在主計算機系統(tǒng)的現有空中交通管制系統(tǒng)中的雷達目標數據轉換雷達數據以供顯示,并將其廣播給所有控制臺。每個控制臺選擇自己需要顯示的報告數據,每個控制臺都能夠顯示任何方位的數據處理沖突警告,或其它由主計算機發(fā)送來的數據提供與主計算機的接口,以便于輸入和查詢飛行計劃提供諸如網絡管理等多方面的監(jiān)控信息,允許場站管理員實時地重新配置所安裝的系統(tǒng)提供記錄

20、能力,以供事后回放在控制臺上提供如窗口形式的圖形用戶界面,有必要提供特殊的與安全相關的功能,如顯示的窗口有一定的透明度,以免遮擋住重要信息在主計算機、主要的通信網絡以及主要的雷達傳感器出現故障時,提供一定的后備能力,ISSS系統(tǒng)所處的物理環(huán)境,物理視圖,模塊分解視圖,顯示管理,通用系統(tǒng)服務,記錄、分析與回放,全國空域系統(tǒng)修改,操作系統(tǒng),捕獲交通管制系統(tǒng)中的會話,以備事后分析,進程視圖,ISSS系統(tǒng)按照多處理器的環(huán)境設計。這些處

21、理器在邏輯上組成處理器組。處理器組的目的是要分別運行一個或多個應用程序的副本。其中,一個為主,其他為輔,稱統(tǒng)一應用程序及其不同副本為主地址空間(PAS)和備用地址空間(SAS)。操作單元:一個主地址空間和與其相應的備用地址空間的集合稱為操作單元。功能組:未以容錯方式實現的ISSS系統(tǒng)的其他部分在不同的處理器上獨立運行,稱其為功能組。,進程視圖,添加一個新的操作單元的步驟,如果在SAS內部發(fā)現了錯誤,就要在另外的處理器上啟動新的SAS

22、。新的SAS要與其PAS協調工作,并接收狀態(tài)數據。確定必要的輸入數據及所在的位置;確定哪些操作單元需要用到該新操作單元的輸出數據;以一種使該圖仍然保持非循環(huán)的方式將該操作單元的通信模式加到整個系統(tǒng)的非循環(huán)通信圖中,以免發(fā)生死鎖;設計消息,實現所期望的數據流;確定在進行系統(tǒng)評審時必須要用到的內部狀態(tài)數據,以及在從PAS到SAS的更新通信中必須包括的狀態(tài)數據;將狀態(tài)數據劃分為能夠很好地適應網絡要求的消息;,添加一個新的操作單元的

23、步驟,如果在SAS內部發(fā)現了錯誤,就要在另外的處理器上啟動新的SAS。新的SAS要與其PAS協調工作,并接收狀態(tài)數據。定義必須用到的消息類型;規(guī)劃在PAS失敗時的切換:要對更新數據做合理的規(guī)劃,保證能夠完全反映出各種狀態(tài);保證在切換發(fā)生時數據的一致性;保證各個處理步驟能夠在不超過一次系統(tǒng)“心跳”的時間內完成;規(guī)劃與其他操作單元的數據共享和數據鎖定協議。,客戶機/服務器視圖,代碼視圖,展示了如何將功能映射到代碼單元上。應用程序

24、被分解為Ada程序包,這些程序包中只有類型定義。打包(packaging)是一種設計活動,其目的是包含抽象和信息隱藏。,分層視圖,容錯視圖,高可用性決定了系統(tǒng)出現故障時不能進行冷啟動。直接(或比較快地)切換到備用組件是必須的。容錯層次捕獲應用程序間的交互的錯誤并從中恢復。,容錯視圖,Summary,圖書管理系統(tǒng),圖書館管理系統(tǒng)中的書籍管理功能:書籍信息類書目類新增書籍界面類刪除書籍界面類書籍管理類,類,,,,順序圖,,協作

25、圖,,軟件體系結構上機案例,學校每一個學生都有兩類書籍第一類是學生常用書籍,另外一類是一些貴重的書籍。對于常用,學生在借閱時 需 要 進 行 登 記 ( Register ), 自 行 保 管 , 但 在 損 壞 時 需 要 進 行 注 銷(Cancellation)和賠償。而對于貴重書籍必須通過對外書籍管理系統(tǒng)進行統(tǒng)一管 理。在使用時需要辦理租借(Lend)手續(xù)。需要注意的是,對于一般學生,只能借與自己專業(yè)相關的書籍(也

26、就是本部門內的書籍),而對于研究生,則可以借所有類型的書籍。由于書籍分布在不同的地理位置。開發(fā)一套書籍倉庫管理系統(tǒng)(Book Warehouse System, BWS)。,,BWS 主要分為兩個部分第一部分是學生與書籍信息管理系統(tǒng)(Student and Book Management System, SBMS),詳細記錄書籍的借、還狀態(tài),學生可以通過本地學校局域網(Intranet)查詢自己書籍的借還情況,并發(fā)出對貴

27、重書籍的請求。對于本地沒有的特殊書籍,員工可以使用 SBMS 通過互聯網(Internet)在全國圖書倉庫中查找特定書籍,并發(fā)出借用該書籍的請求。第二部分是一個書庫的實時管理系統(tǒng)(Book Warehouse Management System ,BWMS),位于不同位置的的書庫,在提取具體書籍時,用戶需要到具體的書庫進行書籍的提取。,,BWMS的具體要求如下。 書庫的實時管理系統(tǒng)中存在多個書籍抓取機器人,每個機器人都可從書柜上

28、獲取書籍并將其放在傳送帶上,傳送帶裝置根據重量傳感器得知是否有書籍在傳送帶上,并將書籍傳送到出口處。用戶在的出口處向書籍管理員提交書籍租借請求,由管理員將該請求輸 入書庫控制電腦,電腦控制書庫中的機器人抓取相應的工具并將其放到傳送帶上,一旦機器人出現故障,將通知控制電腦以便及時進行維修。帶開發(fā)的軟件系統(tǒng)需要能夠將分布在控制電腦,機器人以及傳送帶上。(不考慮書籍歸還系統(tǒng)),,1)書庫管理系統(tǒng)(Book Warehouse System,B

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論