黎正祥
近些年來,Web服務(wù)的技術(shù)逐漸快步發(fā)展,其體系結(jié)構(gòu)也是日趨完善,不管是科研者還是企業(yè)都對(duì)其十分感興趣。服務(wù)計(jì)算的最終旨意在服務(wù)。服務(wù)重用和高效率的結(jié)構(gòu)是依據(jù)應(yīng)變的松耦合分布式的應(yīng)用系統(tǒng)。它就是通過實(shí)體和語義將服務(wù)的屬性、邏輯等方面表明清楚的網(wǎng)絡(luò)。在如今,其關(guān)鍵處是生成與運(yùn)行的邏輯上。在建模、描述、開發(fā)等服務(wù)方面是重要的部分。
1.服務(wù)網(wǎng)絡(luò)系統(tǒng)
為了達(dá)到客戶提出的要求,利用服務(wù)的手段來實(shí)現(xiàn),它是針對(duì)某一特別制定的技術(shù)、機(jī)構(gòu)進(jìn)行的網(wǎng)絡(luò)配置。對(duì)于服務(wù)系統(tǒng),供應(yīng)方和客戶方兩者是遵循某種已有的規(guī)約、利用交互來達(dá)到完成實(shí)現(xiàn)某一客戶群體的需求,從而產(chǎn)生價(jià)值,兩者相互成為互相合作的生成關(guān)系。帶網(wǎng)絡(luò)特性的生態(tài)特征是由構(gòu)成元素與組成元素兩者間的關(guān)系組成。這個(gè)特征能為其通過科學(xué)的思想而做出的分析作出了準(zhǔn)備。各式各樣的計(jì)算機(jī)軟硬件高度分布與自治,服務(wù)系統(tǒng)有著很多不定因素以及復(fù)雜的環(huán)境而需要做出解決處理。由于如今的互聯(lián)網(wǎng)發(fā)展迅猛,并且不同結(jié)構(gòu)的網(wǎng)絡(luò)節(jié)點(diǎn)都已經(jīng)結(jié)合一起,客戶的要求日新月異,于是把服務(wù)利用現(xiàn)實(shí)或者虛擬之間相互連接而串在一起,形成了服務(wù)網(wǎng)絡(luò)。這種網(wǎng)絡(luò)可以實(shí)現(xiàn)客戶繳費(fèi)安全、快捷等方式的服務(wù),是服務(wù)計(jì)算未來的走向。內(nèi)容分發(fā)網(wǎng)絡(luò)(Content Delivery Network,CDN)為利用在Internet里加上新的網(wǎng)絡(luò)架構(gòu)以及策略,從而把最核心的信息傳遞到最靠近客戶、最佳服務(wù)能力的稍微靠邊的節(jié)點(diǎn)。這樣就讓客戶能夠在很近的地方就接收到自己想要的信息,從而就使得Internet網(wǎng)絡(luò)發(fā)生擁塞的情況大大減少,繼而很大程度上就提高了客戶進(jìn)網(wǎng)址的反應(yīng)速率。CDN大部分是面向流媒體的服務(wù),一般情況下劃分成為:流媒體系統(tǒng)層、CDN網(wǎng)絡(luò)層、客戶端層。
2.服務(wù)資源分發(fā)網(wǎng)絡(luò)復(fù)用性技術(shù)
動(dòng)態(tài)服務(wù)資源分發(fā)網(wǎng)絡(luò)是功能非常多的系統(tǒng)。因此,對(duì)于怎樣控制管理下面的子系統(tǒng)、數(shù)據(jù)、應(yīng)用服務(wù)資源和資源的整體服務(wù)環(huán)境是復(fù)雜的系統(tǒng)工程。這樣,服務(wù)組件之間是合體系架構(gòu)的集成和交互。于是以往的監(jiān)控、管理與組裝的構(gòu)架不能夠適應(yīng)動(dòng)態(tài)服務(wù)資源分發(fā)網(wǎng)絡(luò)的運(yùn)行需求。領(lǐng)域模型的對(duì)象是服務(wù)領(lǐng)域工程,其關(guān)鍵是業(yè)務(wù)服務(wù)。領(lǐng)域模型大部分是領(lǐng)域需求和經(jīng)過分解的子領(lǐng)域需求、業(yè)務(wù)流程與服務(wù)、還有一些組件。領(lǐng)域需求、業(yè)務(wù)流程以及服務(wù)都從屬于領(lǐng)域模型中的邏輯單元。同時(shí),服務(wù)組件是以上單元的技術(shù)后盾。把共性服務(wù)組件推向?qū)ο鬄榉?wù)領(lǐng)域工程里。
3.服務(wù)資源分發(fā)網(wǎng)絡(luò)的容錯(cuò)性技術(shù)
服務(wù)資源分發(fā)網(wǎng)絡(luò)從本質(zhì)上講是一個(gè)以服務(wù)和資源為依托,以物理網(wǎng)絡(luò)為承載,滿足最終用戶靈活,多變需求的服務(wù)系統(tǒng)。服務(wù)資源分發(fā)網(wǎng)絡(luò)的最終目的是服務(wù)節(jié)點(diǎn)通過既定的協(xié)議或規(guī)則進(jìn)行交互,從而實(shí)現(xiàn)了動(dòng)態(tài)的互連互通和協(xié)同合作,最終滿足用戶請(qǐng)求的,個(gè)性化,多變的需求。容錯(cuò)技術(shù)是保障系統(tǒng)出現(xiàn)失效時(shí)仍然能夠正確地執(zhí)行并完成預(yù)定任務(wù)的重要手段。容錯(cuò)是計(jì)算機(jī)科學(xué)中一個(gè)十分重要的研宄方向,因?yàn)樵谙到y(tǒng)設(shè)計(jì)和開發(fā)都面臨著此類問題。服務(wù)資源分發(fā)網(wǎng)絡(luò)中容錯(cuò)機(jī)制也涉及到單個(gè)服務(wù)資源的容錯(cuò)和服務(wù)組合的執(zhí)行過程容錯(cuò)。后者是本文研宄的重點(diǎn),服務(wù)組合按照組合的時(shí)機(jī)可以分為靜態(tài)組合和動(dòng)態(tài)組合;根據(jù)是否存在中心控制,分為服務(wù)編排和服務(wù)編制。
服務(wù)資源分發(fā)網(wǎng)絡(luò)的核心來說是憑借服務(wù)以及資源作為基礎(chǔ),物理網(wǎng)絡(luò)作為載體,以達(dá)到實(shí)現(xiàn)客戶各種各樣的動(dòng)態(tài)要求,這樣的一個(gè)服務(wù)系統(tǒng)。服務(wù)節(jié)點(diǎn)利用已經(jīng)規(guī)定好的雙方規(guī)約實(shí)現(xiàn)通信交流,到達(dá)完成了相互之間的連接以及相互協(xié)作作用,最后實(shí)現(xiàn)客戶群體多種、獨(dú)特等期望。以上就是服務(wù)資源分發(fā)網(wǎng)絡(luò)整個(gè)流程下來的最終目標(biāo)。
在保障系統(tǒng)發(fā)生故障而失去作用的情況下,系統(tǒng)還可以進(jìn)行正常準(zhǔn)確的運(yùn)行下去,還能夠順利的完成事先計(jì)劃的工作,那么采用容錯(cuò)技術(shù)是非常關(guān)鍵的環(huán)節(jié)。在計(jì)算機(jī)領(lǐng)域里,由于在所有的設(shè)計(jì)以及開發(fā)過程中都會(huì)發(fā)生這樣的一些情況,所以容錯(cuò)是一個(gè)非常關(guān)鍵的科研者以及企業(yè)研發(fā)工程師們研究熱點(diǎn)。
在服務(wù)資源分發(fā)網(wǎng)絡(luò)里面,容錯(cuò)機(jī)制通常也關(guān)系到單個(gè)服務(wù)資源以及服務(wù)組合的運(yùn)行過程容錯(cuò)。然而本文研究的重點(diǎn)是服務(wù)組合。服務(wù)組合可以根據(jù)組合的狀態(tài)劃分成靜態(tài)以及動(dòng)態(tài)組合;可以在判斷有沒有中心控制后,再確定是服務(wù)編排還是屬于編制。
4.服務(wù)資源分發(fā)網(wǎng)絡(luò)開放性
近年來的互聯(lián)網(wǎng)發(fā)展是持一路高漲的狀態(tài),其應(yīng)用范圍、訪問的次數(shù)以及客戶數(shù)量都幾乎以指數(shù)遞增的趨勢(shì),然而這樣大量的網(wǎng)絡(luò)訪問量讓提供服務(wù)的系統(tǒng)服務(wù)器帶來了更高更難的要求。使用功能強(qiáng)大的硬件設(shè)備,在某種意義上的確是讓服務(wù)器的性能得到了大大的提高,即使這樣,還是不能達(dá)到實(shí)際情況中的要求。如果面對(duì)高并發(fā)、高能用以及自適應(yīng)調(diào)節(jié)的多種要求要同時(shí)滿足,那么對(duì)于提供服務(wù)的系統(tǒng)來說是有些無力負(fù)擔(dān)。
充當(dāng)電信服務(wù)能力提供者角色的Web服務(wù)網(wǎng)關(guān)在提供封裝好的電信業(yè)務(wù)能力時(shí),經(jīng)常要面對(duì)開發(fā)者的應(yīng)用高并發(fā)的服務(wù)訪問請(qǐng)求,如何使得服務(wù)器在具有良好的Web服務(wù)網(wǎng)關(guān)是起著扮演電信服務(wù)的一個(gè)作用,它在封裝完成電信業(yè)務(wù)的過程中,大部分時(shí)候都要應(yīng)對(duì)開發(fā)人員在運(yùn)用時(shí)高并發(fā)的訪問請(qǐng)求。怎樣才能讓服務(wù)器在提供Web服務(wù)的過程中,同時(shí)還有較強(qiáng)的伸縮性、資源消耗很低等特征。這些方面都是電信服務(wù)能力在開發(fā)時(shí)急需想辦法實(shí)現(xiàn)的。
階段事件驅(qū)動(dòng)模型(Staged Event-Driven Architecture,SEDA)是由 Matt Welsh博士在加州大學(xué)伯克利分校攻讀博士學(xué)位期間,研究同時(shí)又提出了高性能的服務(wù)器應(yīng)用程序架構(gòu)模型。在SDEA中,階段是實(shí)時(shí)進(jìn)行處理的基本單元,同時(shí)也是單獨(dú)的應(yīng)用組件。每一Stage都通過配置一個(gè)線程池的方法來控制本階段的事件隊(duì)列,以及動(dòng)態(tài)調(diào)節(jié)線程池的大小。安這種方式設(shè)計(jì),摒棄了在多線程模型里單一線程池的束縛,采用多線程池和Stage配套使用,確保細(xì)粒度的控制系統(tǒng)資源,面對(duì)基于線程的并發(fā)模型高負(fù)載的缺點(diǎn)做出了補(bǔ)償,這樣方便了進(jìn)行模塊化的設(shè)計(jì)以及可以重復(fù)代碼。SEDA模型的完整的階段的組成部分由以下幾個(gè)方面:
(1)能夠接收到輸入的事件隊(duì)列。
(2)應(yīng)用設(shè)計(jì)人員完成的事件處理器。
(3)在運(yùn)行過程里可以實(shí)現(xiàn)控制的性能控制器。
(4)作用在并發(fā)處理的動(dòng)態(tài)線程池。
這里的每個(gè)階段輸出全部是安事件的方式上報(bào)到別的階段的事件隊(duì)列里去。
【參考文獻(xiàn)】
[1]楊強(qiáng)根,王權(quán)于,呂國(guó)斌.遠(yuǎn)程教學(xué)資源管理與分發(fā)系統(tǒng)的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2007,(12):2957-2961.
[2]曹首峰,王秀文,王勇.一種基于社會(huì)化網(wǎng)絡(luò)的資源分發(fā)模型及其分析[J].計(jì)算機(jī)研究與發(fā)展,2012,(S2):118-123.