999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

軟件架構設計面臨新挑戰

2010-12-31 00:00:00縱放
計算機世界 2010年7期

應用場景的不可預測,海量的數據處理,云計算、虛擬化等新技術的應用,這些都給應用軟件的架構設計帶來了相當嚴峻的挑戰。

IT運行環境正在發生激烈的變化。一方面,由于互聯網的普及、Web 2.0的流行以及虛擬化、云計算等技術的出現使得軟件所要面對的環境日益復雜,不僅要面對種類更多的數據源,同時也要求軟件能支持動態的配置和重組; 而另一方面,IT的普及帶來了數據量的劇增,根據IDC的研究,未來5年,企業的結構化數據每年會保持20%的增長,而非結構化數據量的增加則高達60%。數據量急劇增加的一個必然后果是軟件越來越大,也越來越復雜。

越來越多的數據、支持更復雜的數據源、軟件能自動配置和重組等這些要求最終都需要更靈活和可靠的軟件架構來實現,而傳統的軟件架構顯然難以適應新的IT環境。實際上,以前我們設計應用軟件架構的前提如今都已經發生了改變,因而軟件的架構也需要改變,特別是考慮云計算在未來5年內的普及,我們的軟件必須為云計算而設計。

IT成為業務的支柱

過去,IT主要用于完成一些可重復的業務流程的自動化,比如讀取某個報表中的數據并對此進行計算。ERP算得上是IT最典型的應用方式,它實現了訂單、記賬和庫存跟蹤的自動化,從而大幅度提升工作效率。而如今IT技術的這種應用方式正在發生變化,因為今天的企業所經營的業務已經很難和IT分開。

一個典型例子就是一種在線音樂服務——網絡收音機。提出這種業務的公司在一些專業人士的幫助下為它的客戶提供定制的音樂,它們會跟蹤每個客戶的收聽習慣和聽完音樂后的反饋,以保證它們為每個客戶推送的都是客戶喜歡的節目。很顯然,沒有強大的IT基礎設施和計算能力作為保證,這項服務是不可能實現的。

而物聯網的興起更是推動了應用軟件的變化,使得軟件從人機交互為主到全面的自動化。應該說,到目前為止,大多數計算都是由人類活動發起的,比如訂購了一個商品、訪問一個網頁等等。而未來,由各種各樣的設備(如傳感器)發起而非人類活動發起的計算會越來越多。比如,如今智能電表在很多城市得到普及,它取代了傳統的人工抄表方式,省時省力。方便的背后是因為它主動發起了很多操作: 這種智能電表與電力公司的數據中心相連,它自動地把賬單信息上傳到電力公司的數據中心。除此之外,它還能實時地記錄用戶的電力使用細節,這些信息能幫助電力公司了解某個用戶使用電力的情況,從而制定相應的價格策略。這與每月僅僅讀取一個用電數相比,要傳輸和處理的數據量多了很多,也使得后臺的處理工作量大了很多,最終必然會影響后臺的軟件架構。

架構設計需應對四個挑戰

應用程序需要處理的數據量、數據類型以及應用程序的應用場景的變化,給未來的應用軟件設計帶來很多挑戰。具體來說,有四個方面:

應用程序負載變化大。工作任務變化和工作環境的復雜都使得應用程序的負載變得不可預測。比如,酒店傳統的高峰時段是每天早上(主要為退房)和下午4~9點(入住)。而在未來,業務的多樣化將使得應用程序隨時都有可能出現高負荷。也就是說,應用程序將是全天候處于工作狀態,而不僅僅只在某幾個小時。

用戶接口類型更加復雜。過去很多應用程序是面向人的,因此非常重視人機交互,比如會有很大的顯示屏以方便用戶輸入,而如今數據來源趨于多樣化,除了人工輸入外,更多時候是來自于其他應用程序、傳感設備或者來自用戶上載的文件或者之前根本沒有想到過的某個數據源。因此,在接口方面除了傳統的服務接口、上載接口還要考慮各種終端或者外設的輸入,除了單數據的輸入還要考慮批量上載。相應地,在應用程序的架構設計時就必須把各種新的數據流考慮進來。

要支持移動應用。過去的應用程序通常都工作在一個相對穩定的場合,與外部的連接通常也是可靠的,而架構設計通常也是基于這樣的前提設計的。而今,隨著無線網絡的普及,無線應用越來越多,而在無線網絡中,連接并非一定是可靠的。比如,用戶正在一個急駛的出租車中,他所使用的服務可能隨著位置的變化很快不可用。因此,程序必須充分考慮這一點,即在網絡聯通時能快速獲得所需的數據,一旦中斷能保護好工作“現場”,以待下次網絡恢復時繼續。

應用程序的拓撲結構更復雜。數據處理規模的不可預測,要求軟件架構的設計必須改變。比如,很多程序開始大量使用內存緩存數據以提高處理速度,而不一定把每個都保存到數據庫。而且,應用程序復雜常常是與異步處理和計算密集性的任務相伴相隨的,這時通常都會用到消息隊列,在應用程序的軟件架構時都必須考慮到這些問題。

從軟件架構開始支持云計算

為了保證應用系統能夠滿足企業未來的新需求,特別是支持云計算,對于新的軟件系統有必要在軟件架構上做好準備。建議可以從以下幾個方面進行考慮:

1.對應用軟件中準備使用的中間件(或組件)進行重新評估。現有大多數中間件是面向靜態環境進行設計的,通常采用手工配置,偶爾進行升級。這些中間件一般都有一個配置文件,人工進行流程編排。中間件啟動時,先讀取這個配置文件,然后根據文件要求完成規定的任務。未來,隨著云計算環境的普及,不斷會有新的連接加入也會有連接退出,這就會導致與中間件的連接關系發生變化,上述手工方式就開始顯出不足來。為此,未來的架構必須支持在線調整中間件在流程中的關系、能動態增加和刪減連接。

2.在軟件的設計和開發過程中時刻牢記負載平衡。很多應用軟件支持在Web服務器層的負載平衡,但進行負載均衡的時候要求所連接的組件數量固定而且IP地址也是固定的。而實踐中,負載變化的幅度可能很大,所以應用軟件的每個部分都應是可擴展的,也就是說要支持動態的負載均衡,在設計應用軟件架構時不能先假定只有一個或者幾個組件。

3.不要忘了可擴展性。可擴展性一直是設計軟件架構時應該考慮的,只是未來軟件的可擴展問題可能變得更重要。換句話說,未來的軟件必須要有能支持2倍、3倍甚至10倍負載的能力,因為將來軟件的應用軟件放到云環境中后,負載會變得不可預測,為此必須特別注意可能存在的性能瓶頸,而且要考慮好如何在程序運行的過程中解決可能存在的問題。事實上,如果設計時不考慮到可擴展性,未來的軟件架構將很難應對超出的負載。

4.支持應用軟件的動態更新。40年前汽車制造商要生產一種新的車型,需要用兩周的時間來對生產線進行調整,而后來豐田汽車率先實現了工廠的動態升級,僅用兩個小時就實現了這種調整。今天的應用軟件設計所處的情景與此相似,在云計算時代,應用程序24小時運行,不允許為了對軟件進行升級而停機。因此,今天的應用軟件架構設計必須考慮到如何在不影響用戶使用自己所需服務的同時,對軟件進行升級和調整,正如豐田汽車所做的那樣。同樣,與數據庫有關的模型設計也必須支持這種新的軟件使用模式。

主站蜘蛛池模板: 伊人色综合久久天天| 无码一区18禁| 国产国拍精品视频免费看| 19国产精品麻豆免费观看| 亚洲黄网在线| 伦精品一区二区三区视频| 在线观看国产精品第一区免费| 久久亚洲欧美综合| 国产女人18水真多毛片18精品 | 伊人色综合久久天天| 久无码久无码av无码| 蜜桃臀无码内射一区二区三区| 狠狠亚洲五月天| 国产制服丝袜91在线| 大香网伊人久久综合网2020| 国产在线高清一级毛片| 她的性爱视频| 97超碰精品成人国产| 日韩欧美国产中文| 国产成人免费| 国产第一色| 成年人国产网站| 无码丝袜人妻| 超薄丝袜足j国产在线视频| 午夜少妇精品视频小电影| 99一级毛片| 国产精品熟女亚洲AV麻豆| 直接黄91麻豆网站| 国产精品视频导航| 日韩人妻精品一区| 午夜视频免费试看| 日韩亚洲综合在线| 直接黄91麻豆网站| 国产精品欧美亚洲韩国日本不卡| 亚洲一级毛片| 毛片一级在线| 久久国产拍爱| 一区二区欧美日韩高清免费 | 伊人久热这里只有精品视频99| 欧美69视频在线| 国产白浆视频| av在线手机播放| 国产精品播放| 免费看美女自慰的网站| 国产99热| 亚洲欧美综合精品久久成人网| 亚洲a级毛片| 日韩欧美国产另类| 精品夜恋影院亚洲欧洲| 欧美日韩精品一区二区视频| 91人妻在线视频| 欧美日韩在线成人| 国产黄网永久免费| 欧美在线综合视频| 亚洲全网成人资源在线观看| 欧美日本一区二区三区免费| 在线亚洲小视频| 日韩精品一区二区三区视频免费看| 91精品最新国内在线播放| 真实国产乱子伦高清| 暴力调教一区二区三区| www.av男人.com| 精品午夜国产福利观看| 成人综合久久综合| 91精品综合| 国产精品流白浆在线观看| 99热国产这里只有精品9九 | 精品久久综合1区2区3区激情| 久久免费视频6| 国内精品小视频在线| 国产精品亚洲专区一区| 国产在线观看人成激情视频| 激情综合网址| 国产一区二区丝袜高跟鞋| 国产aⅴ无码专区亚洲av综合网| 亚洲综合狠狠| 亚洲精品波多野结衣| 呦女精品网站| 日韩天堂视频| 久久不卡精品| 久久伊人色| 伊人久久久久久久|