偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

踏出云應用程序規(guī)劃的第一步

云計算
清華資工所博士班研究生王建興曾寫過一篇博文《踏出云應用程序規(guī)劃的第一步》,文中他為我們分享了“云計算”在應用程序設計上會帶來哪些改變和影響。

清華資工所博士班研究生王建興曾寫過一篇博文《踏出云應用程序規(guī)劃的第一步》,文中他為我們分享了“云計算”在應用程序設計上會帶來哪些改變和影響。現(xiàn)把全文轉(zhuǎn)載以此,全文如下:

雖說“云計算”有著和過去歷史相似的觀念,其中卻也有著一些新的想法,而這些想法具備了新的時代意義,也對程序設計產(chǎn)生了一些沖擊。

本文我們將來討論一下“云計算”在應用程序設計上,究竟會有什么樣的改變和影響。

云計算最核心的觀念,在于將計算的重心擺在云。

何謂“云”即云所在的那一端。在網(wǎng)絡領域中,時常用云朵的圖案來代表網(wǎng)際網(wǎng)絡,所以,“云計算”一詞,即代表透過網(wǎng)際網(wǎng)絡取用計算資源的一種計算型態(tài)。

倘若只抽象化到站在這個觀點上來看,便是從歷史的脈絡中可以理解,這種計算方式早在之前,便是人們已經(jīng)使用過的模式。

不過,現(xiàn)今的云計算,有一些新的元素在里頭,這些元素不見得是新技術(shù)、新想法,在過去的研究文獻或探討中,這些想法或技術(shù)或許早就出現(xiàn)過,但如今“云計算”這個詞語,將所需的相關(guān)觀念集合在一塊,形成一個整體的想法。

我們處于一個可以持續(xù)連網(wǎng)的時代

為什么在這個階段,將計算擺到云上,又再度成為一個趨勢呢?

其中有一個重要的關(guān)鍵在于行動裝置的盛行。這些行動裝置,像是智能型手機、平板計算機、小筆電等等,計算力雖然還是遠勝昔日的桌上型計算機,但是相較于今日的個人計算機,仍然算是計算力薄弱的計算裝置,這使得在此類的裝置上進行大量沉重的計算并不恰當。

同時,由于無線區(qū)域網(wǎng)絡愈來愈普及,加上3G網(wǎng)絡基礎建設愈來愈完備,這構(gòu)成了一個重要的先決條件──裝置幾乎無時無刻都能處理連網(wǎng)的狀態(tài)。這么一來,計算力較為薄弱的行動裝置透過網(wǎng)絡取用計算資源,便成了順理成章的選擇。

此外,因為使用者大多會在不同的裝置間切換,例如,在辦公室中使用筆記型計算機工作,接著在離開辦公室后,可能還會透過手上的智能型手機讀取電子郵件,或者是利用實時通軟件和同事、朋友交換訊息?;氐郊液?,或許還會打開像iPad之類的平板計算機,在客廳中閱讀、上網(wǎng)、順便回復郵件。由于每個使用者都可能運用多個裝置處理事務,但是,使用者又會希望在這些不同的裝置上都能處理相同的一組資料(例如電子郵件、或者是自己的記帳試算表)。

為了避免資料同步的麻煩及問題,將資料、以及對資料的計算操作統(tǒng)一放置在云,同樣也成了十分理所當然的想法。

云計算并非所有應用程序的救贖,而從以上的描述不難看出,究竟何種應用程序類型適用云計算的觀念來設計、能從云計算的觀念獲得好處。

#p#

如何規(guī)劃應用程序執(zhí)行的所在

云計算對應用程序開發(fā)所產(chǎn)生的第一項沖擊,便是讓應用程序的設計者思考,將應用程序切割成為兩個部分,一部分在裝置端,另一部分則擺放至云。

那么究竟應當如何切割呢?這是程序設計者在決定運用云計算觀念來開發(fā)應用程序時馬上會面臨到的下一個問題。要回答這個問題,你必須思考,將程序擺放到云上,究竟具備了什么優(yōu)勢。

云相較于行動裝置端,計算力更為充足,而且有值得信賴的電力供應,網(wǎng)絡連線不僅更為穩(wěn)定,可運用的頻寬也更大,儲存空間當然更為穩(wěn)固、容量也高出許多。這便是將程序放置到云可以獲得的好處。如果你的應用程序中,有一部分需要重度的計算、耗時的計算,那么將它們放到云上,便會比擺到裝置端來得理想;如果你的應用程序中,有一部分需要頻寬較大、較穩(wěn)定的連網(wǎng)環(huán)境,或者,需要更大、更保險的儲存空間,那么要將這部分程序放置于何處,我想答案也很明顯。

例如,你打算開發(fā)一套電子書的系統(tǒng),讓使用者可以透過各種裝置閱讀電子書。在你的應用程序功能規(guī)劃中,希望讓使用者輸入某個關(guān)鍵字,就能搜尋出來文中含有該關(guān)鍵字的書籍,那么這個功能會放在云或者是裝置端呢?裝置端的儲存空間不可能存放所有的書籍,更別提要提供所有書籍全文檢索的功能,必須建立索引,而全文檢索的繁重運算量也不適合放在裝置端進行了?;趦Υ婵臻g、計算量的考量,你會將這一部分的計算程序劃分至云。

那么什么樣的程序適合劃分至裝置端呢?裝置端的優(yōu)勢在于能和使用者直接溝通,能呈現(xiàn)聲光效果,能借便利的輸入方式獲得使用者的操作命令。換言之,處理使用者界面的程序碼十分適合劃分到裝置端。此外,如果計算量不是很繁重,而計算本身又必須有實時的反應,那么此種類型的程序碼,也適合放在裝置端。

#p#

用MVC的模式來協(xié)助劃分程序責任范圍

有一個設計模式叫做MVC,將應用程序畫分為三個責任各異的部分──Model(資料模型)、View(檢視)、Controller(控制器),其中Model代表的資料本身的表示方式以及操作資料的事務邏輯、View則負責資料的呈現(xiàn)。Controller則處于Model及View之間,負責控制應用程序的流程,它負責處理事件并回應事件“事件”,當Model中的資料改變時,負責更新View中的內(nèi)容,相反的,當使用者透過View操作資料時,也將他所做的變動同步反映至Model中的資料。

當我們運用云的觀念時,我認為MVC的模式能協(xié)助我們劃分應用程序的所在究竟在云或裝置端。最極端的情況,我們可以把View全部都放在裝置端,Model全部都放在云,當然Controller介于其中。

也就是說,裝置端僅負責做畫面的呈現(xiàn)、接收來自于使用者的輸入或操作。操作、計算資料的工作,全部都丟上云來完成。當裝置端需要存取資料,便透過網(wǎng)絡,要求位在遠端的云程序處理,并由它們回傳計算結(jié)果,接著再由裝置端的程序進行計算結(jié)果的呈現(xiàn)。

當然,正如前段所述,這是“極端”的情況,幾乎不讓裝置端上的程序處理太過“正經(jīng)”的程序碼。但裝置端并非毫無計算能力,只是較弱罷了,但真要上場殺敵,也不是全無辦法。

有時候,你還是會選擇將部分的資料、以及部分處理資料的程序碼放置在裝置端。主要的原因是,透過網(wǎng)絡連系云上的程序碼,會需要付出網(wǎng)絡通訊的延遲作為代價,當應用程序需要呈現(xiàn)的資料結(jié)果必須反應速度夠快時,便不太適合總是調(diào)派云上的程序碼相助。

在這種情況,可以將少部分的資料及處理資料的程序碼置放在裝置端。舉例來說,應用程序可能需要頻繁的取用資料,雖然“正港”的資料在云,但是,為了提供更快的反應速度,可以在裝置端設計資料的快取機制,當使用者界面要呈現(xiàn)資料時,便可徑自快速取用,如此,存取速度便較透過網(wǎng)絡取得來得快上許多。

當我們打算套用云計算的概念時,所面對的第一個問題,便是如何劃分程序的責任范圍。
 

【編輯推薦】

  1. 如何讓70%被閑置計算能力可獲運用?
  2. 企業(yè)高管必問的六個云計算問題剖析
  3. 誰更勝一籌 技術(shù)解析Google App Engine和Amazon EC2
  4. 一幅圖對比2010和2011十大技術(shù) 云計算排第一
  5. 當微軟Azure遭遇亞馬遜EC2:五大關(guān)鍵區(qū)別
責任編輯:王勇 來源: IThome online
相關(guān)推薦

2021-01-15 18:17:06

網(wǎng)絡協(xié)議分層

2020-11-17 14:55:36

亞馬遜云科技遷移

2012-08-30 11:14:11

云計算虛擬化

2010-07-12 17:10:23

Android應用程序

2013-04-03 09:22:14

虛擬化網(wǎng)絡虛擬化

2015-06-02 11:42:00

Cloud FoundAzure

2009-01-18 08:49:04

Java入門JDK

2019-11-20 10:54:46

無密碼身份驗證網(wǎng)絡安全

2012-07-11 16:43:14

飛視美

2013-01-15 09:17:11

2010-07-01 13:44:12

2011-07-25 14:17:46

BSMIT運維北塔

2021-08-24 05:07:25

React

2018-02-10 11:24:39

Python數(shù)據(jù)程序

2020-07-22 22:10:34

互聯(lián)網(wǎng)物聯(lián)網(wǎng)IOT

2013-04-03 14:25:22

虛擬化網(wǎng)絡網(wǎng)絡應用網(wǎng)絡架構(gòu)

2015-10-28 22:25:45

SwiftAndroid應用開發(fā)

2010-11-30 17:42:10

2024-02-26 10:08:01

2020-11-11 07:09:05

隔離直播系統(tǒng)
點贊
收藏

51CTO技術(shù)棧公眾號