在分散式計算中,按需代碼(code on demand)泛指任何按照客戶端軟體(例如,瀏覽器)的請求,將可執行的軟體程式從伺服器計算機傳送到客戶端的技術。
基本介紹
- 中文名:按需代碼
- 外文名:code on demand
簡介,分散式計算,Java applet,網頁瀏覽器,
簡介
按需代碼是移動代碼的一種特殊用法。按需代碼範式的一個廣為人知的例子是Java applet:Applet是一個應用程式,靜靜地呆在某個Web伺服器上,直到用戶在瀏覽器中請求一個引用該applet的頁面。在請求時,網頁和applet通過HTTP被傳送到用戶的機器上。當網頁顯示時, applet在瀏覽器中啟動並在用戶的計算機中執行,直到停止(例如用戶離開那個applet所在的頁面)。這就完成了applet的生命周期。
分散式計算
在計算機科學中,分散式計算(英語:Distributed computing),又譯為分散式運算。這個研究領域,主要研究分散式系統(Distributed system)如何進行計算。分散式系統是一組計算機,透過網路相互連線傳遞訊息與通信後並協調它們的行為而形成的系統。組件之間彼此進行互動以實現一個共同的目標。把需要進行大量計算的工程數據分區成小塊,由多台計算機分別計算,再上傳運算結果後,將結果統一合併得出數據結論的科學。分散式系統的例子來自有所不同的面向服務的架構,大型多人線上遊戲,對等網路套用。
目前常見的分散式計算項目通常使用世界各地上千萬志願者計算機的閒置計算能力,通過網際網路進行數據傳輸(志願計算)。如分析計算蛋白質的內部結構和相關藥物的Folding@home項目,該項目結構龐大,需要驚人的計算量,由一台計算機計算是不可能完成的。雖然現在有了計算能力超強的超級計算機,但這些設備造價高昂,而一些科研機構的經費卻又十分有限,藉助分散式計算可以花費較小的成本來達到目標。
Java applet
Applet或Java小應用程式是一種在Web環境下,運行於客戶端的Java程式組件。它也是1990年代中期,Java在誕生後得以一炮走紅的功臣之一。通常,每個Applet的功能都比較單一(例如僅用於顯示一個舞動的Logo),因此它被稱作“小應用程式”。
Applet必須運行於某個特定的“容器”,這個容器可以是瀏覽器本身,也可以是通過各種外掛程式,或者包括支持Applet的移動設備在內的其他各種程式來運行。與一般的Java應用程式不同,Applet不是通過main方法來運行的(參見Java的Hello World程式和Java Applet的Hello World程式)。在運行時Applet通常會與用戶進行互動,顯示動態的畫面,並且還會遵循嚴格的安全檢查,阻止潛在的不安全因素(例如根據安全策略,限制Applet對客戶端檔案系統的訪問)。