• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于SOA的服務(wù)動態(tài)擴(kuò)展機制研究*

      2012-06-27 05:59:30潘振寬
      電信科學(xué) 2012年9期
      關(guān)鍵詞:池中動態(tài)規(guī)則

      樊 程,蔣 靜,戴 洪,潘振寬

      (青島大學(xué)信息工程學(xué)院 青島 266071)

      1 引言

      SOA(service-oriented architecture)是一種面向服務(wù)的架構(gòu)模型,旨在降低服務(wù)代理之間的耦合度。在SOA框架中,IT資源被構(gòu)造為一系列可重用的服務(wù),這些服務(wù)是松散耦合的,與平臺和實現(xiàn)無關(guān),SOA通過這些服務(wù)之間定義良好的接口和契約將它們聯(lián)系起來,并通過網(wǎng)絡(luò)對這些服務(wù)進(jìn)行分布式部署、組合和使用,服務(wù)在整個構(gòu)架中以一種統(tǒng)一和通用的方式進(jìn)行交互[1]。SOA使企業(yè)應(yīng)用擺脫了面向技術(shù)解決方案的束縛,企業(yè)可以將業(yè)務(wù)封裝為服務(wù)并對外發(fā)布以供消費者使用,這樣能更加精確地表示業(yè)務(wù)模型,更好地支持業(yè)務(wù)流程[2]。

      SOA系統(tǒng)的核心服務(wù)層旨在提供服務(wù)定位、發(fā)現(xiàn)和綁定,實現(xiàn)服務(wù)共享與協(xié)同,因此通常把研究重點放在實現(xiàn)服務(wù)的互通與重用上,擱置了服務(wù)的動態(tài)擴(kuò)展問題。隨著IT技術(shù)的發(fā)展和用戶需求規(guī)模的增長,系統(tǒng)不能為用戶動態(tài)擴(kuò)展服務(wù)的問題逐漸暴露出來。如果不能很好地解決這個問題,SOA系統(tǒng)對用戶的友好性將會大打折扣,因此服務(wù)動態(tài)擴(kuò)展問題已經(jīng)成為制約SOA技術(shù)發(fā)展的瓶頸[3]。

      服務(wù)動態(tài)擴(kuò)展主要包括計算能力的擴(kuò)展、存儲服務(wù)的擴(kuò)展以及Web服務(wù)的擴(kuò)展等。對于計算能力和存儲服務(wù)的動態(tài)擴(kuò)展,已經(jīng)在云計算中得到商業(yè)實現(xiàn)[4],如Amazon推出的彈性計算云(elastic compute clound,EC2)可以為用戶提供計算能力的動態(tài)擴(kuò)展;簡單存儲服務(wù)(simple storage services,S3)則實現(xiàn)了存儲服務(wù)的動態(tài)擴(kuò)展。對于Web服務(wù)的動態(tài)擴(kuò)展,目前正處于探索階段,尚未見到成功的商業(yè)案例。本文針對Web服務(wù)的動態(tài)擴(kuò)展問題進(jìn)行研究,提出了一個基于SOA的服務(wù)動態(tài)擴(kuò)展機制模型,模型中所涉及的服務(wù)擴(kuò)展即指Web服務(wù)擴(kuò)展,并給出設(shè)計框架,同時對擴(kuò)展規(guī)則進(jìn)行描述,最后進(jìn)行仿真驗證。

      2 相關(guān)概念及系統(tǒng)模型

      2.1 相關(guān)概念定義

      服務(wù)動態(tài)擴(kuò)展要求系統(tǒng)能夠按照用戶的需求,提供所需的服務(wù),即使系統(tǒng)內(nèi)不存在此項服務(wù),系統(tǒng)仍能動態(tài)地為用戶從系統(tǒng)外擴(kuò)展類似服務(wù)。下面給出與服務(wù)動態(tài)擴(kuò)展相關(guān)的概念和定義。

      定義1(服務(wù))服務(wù)由一個或多個具有內(nèi)在聯(lián)系的服務(wù)組件組成,以實現(xiàn)某種具體的業(yè)務(wù)邏輯。每個服務(wù)都是一個獨立的部署單元,這給應(yīng)用部署帶來很大的靈活性,只要保持服務(wù)接口不變,就可以通過部署新服務(wù)實現(xiàn)新的業(yè)務(wù)邏輯,同時不影響系統(tǒng)其他部分。

      定義2(服務(wù)資源池)通過虛擬化方法[5],將系統(tǒng)可用服務(wù)虛擬成一個可以任意組合和分配的集合,稱為資源池。資源池的組成和規(guī)??梢詣討B(tài)改變,分配給用戶的服務(wù)可以動態(tài)地添加和收回。

      定義3(系統(tǒng)默認(rèn)服務(wù))用戶登錄系統(tǒng)后可以直接調(diào)用的服務(wù),即系統(tǒng)初始化時資源池內(nèi)可以直接被系統(tǒng)使用的服務(wù)。

      定義4(服務(wù)擴(kuò)展標(biāo)志)每個服務(wù)對不同的訪問用戶都會產(chǎn)生一個服務(wù)擴(kuò)展標(biāo)志 (service extension flag,service_EF),該標(biāo)志反映當(dāng)前用戶與服務(wù)的關(guān)系,用來指示用戶是否已經(jīng)擴(kuò)展此項服務(wù),它是一個二元組(ServiceX_EF,UserIDn)。其中,ServiceX_EF 是一個布爾型變量,表示對于標(biāo)識為UserIDn的用戶,服務(wù)ServiceX是否被擴(kuò)展到資源池中,若UserIDn用戶尚未擴(kuò)展此服務(wù),ServiceX_EF為False,當(dāng)UserIDn用戶擴(kuò)展此服務(wù)之后,其將被置為True。

      定義5(服務(wù)動態(tài)擴(kuò)展事件)當(dāng)用戶請求系統(tǒng)默認(rèn)服務(wù)外的服務(wù)時,由系統(tǒng)自動產(chǎn)生。服務(wù)動態(tài)擴(kuò)展事件(service dynamic extension event)的目的是向系統(tǒng)請求將資源池外的服務(wù)遷移到池內(nèi),以滿足用戶的需求。

      定義6(服務(wù)動態(tài)擴(kuò)展)當(dāng)用戶請求服務(wù)產(chǎn)生服務(wù)動態(tài)擴(kuò)展事件時,系統(tǒng)根據(jù)相應(yīng)規(guī)則,在資源池外查找相關(guān)服務(wù),并將其擴(kuò)展到資源池中,注冊并供系統(tǒng)使用,同時用戶ID對應(yīng)的擴(kuò)展標(biāo)志置為True,這一過程稱為服務(wù)動態(tài)擴(kuò)展(service dynamic extension,S-DE)。

      定義7(服務(wù)集與擴(kuò)展服務(wù)集)服務(wù)集(service set)是指系統(tǒng)默認(rèn)服務(wù)的集合,表示為ServiceSet(Service 1,Service 2,…,Service N);擴(kuò)展服務(wù)集(eservice set)是指用戶在使用系統(tǒng)過程中通過擴(kuò)展能夠被系統(tǒng)使用但尚未成為系統(tǒng)默認(rèn)服務(wù)的已擴(kuò)展服務(wù)集合,可以形式化地表示為EServiceSet(Eservice 1,Eservice 2,…,Eservice N)。

      2.2 系統(tǒng)模型

      基于SOA的服務(wù)動態(tài)擴(kuò)展系統(tǒng)就是在SOA構(gòu)架下,實現(xiàn)服務(wù)的動態(tài)擴(kuò)展,其系統(tǒng)模型總體架構(gòu)如圖1所示。

      該模型在傳統(tǒng)SOA架構(gòu)的基礎(chǔ)上,把系統(tǒng)分為3個大層次:SOA應(yīng)用層、面向服務(wù)組織和擴(kuò)展層以及現(xiàn)有系統(tǒng)和資源層。下面介紹模型中各層次的特點和功能。

      (1)SOA 應(yīng)用層

      SOA應(yīng)用層表示用于訪問業(yè)務(wù)流程、服務(wù)和應(yīng)用程序的通道,建立在系統(tǒng)提供的服務(wù)之上,負(fù)責(zé)將用戶的請求發(fā)送給SOA系統(tǒng)并等待響應(yīng)。

      (2)面向服務(wù)組織和擴(kuò)展層

      服務(wù)組織是指服務(wù)代理(service agent)通過服務(wù)發(fā)現(xiàn)和綁定(service discover&binding)對 Web服務(wù)進(jìn)行統(tǒng)一的管理和調(diào)度。服務(wù)動態(tài)擴(kuò)展是本文工作的核心所在,主要工作是在傳統(tǒng)SOA架構(gòu)的基礎(chǔ)上加入服務(wù)資源池和服務(wù)動態(tài)擴(kuò)展控制器(S-DE control)。服務(wù)資源池用來存放可以被系統(tǒng)直接發(fā)現(xiàn)和綁定的服務(wù),服務(wù)擴(kuò)展控制器用來捕獲并處理擴(kuò)展事件,主要是在系統(tǒng)待擴(kuò)展服務(wù)(underSE WS)和第三方提供的服務(wù)(third-party WS)中查找匹配服務(wù),并將其遷移到資源池中,實現(xiàn)系統(tǒng)對服務(wù)的擴(kuò)展。服務(wù)運行環(huán)境(services runtime environment)為 Web服務(wù)提供一種服務(wù)的表示、訪問和運行機制,并提供Web服務(wù)的安全保障、服務(wù)生命周期管理等。

      (3)現(xiàn)有系統(tǒng)和資源層

      現(xiàn)有系統(tǒng)和資源層指系統(tǒng)現(xiàn)有的IT資源和數(shù)據(jù),包括一些系統(tǒng)應(yīng)用和企業(yè)內(nèi)外部的資源,SOA構(gòu)架可以很好地利用這些IT資源,將其利用到新的SOA系統(tǒng)中,減少系統(tǒng)開銷。

      3 服務(wù)動態(tài)擴(kuò)展模塊設(shè)計

      3.1 動態(tài)擴(kuò)展實現(xiàn)機制

      圖2給出了服務(wù)動態(tài)擴(kuò)展系統(tǒng)的功能邏輯結(jié)構(gòu),它由6部分組成:服務(wù)代理、服務(wù)發(fā)現(xiàn)和綁定模塊﹑服務(wù)動態(tài)擴(kuò)展控制器、服務(wù)資源池、待擴(kuò)展服務(wù)集和第三方服務(wù)集。

      服務(wù)資源池中的服務(wù)集合是動態(tài)可變化的,系統(tǒng)初始化時的默認(rèn)服務(wù)都存放于服務(wù)資源池中,可以直接被系統(tǒng)調(diào)用。系統(tǒng)待擴(kuò)展服務(wù)集隸屬于此系統(tǒng),但由于成本、使用頻率等問題并不能直接被系統(tǒng)使用,需要通過擴(kuò)展系統(tǒng)處理之后才能被系統(tǒng)調(diào)用。第三方服務(wù)集是指當(dāng)系統(tǒng)內(nèi)服務(wù)不能滿足用戶需求時,系統(tǒng)向合作伙伴請求的系統(tǒng)外服務(wù)。所有服務(wù)只有被擴(kuò)展到資源池中才能被系統(tǒng)直接調(diào)用,系統(tǒng)調(diào)用資源池外的服務(wù)時,會產(chǎn)生服務(wù)擴(kuò)展事件。當(dāng)產(chǎn)生服務(wù)動態(tài)擴(kuò)展事件時,服務(wù)擴(kuò)展控制器捕獲事件,并按照相應(yīng)的擴(kuò)展規(guī)則處理擴(kuò)展事件,最終實現(xiàn)服務(wù)動態(tài)擴(kuò)展。圖2所示的服務(wù)動態(tài)擴(kuò)展系統(tǒng)的交互過程如下。

      (1)服務(wù)代理將用戶請求提交給系統(tǒng),并與服務(wù)發(fā)現(xiàn)與綁定模塊協(xié)商,對所需服務(wù)進(jìn)行發(fā)現(xiàn)和綁定。

      (2)服務(wù)發(fā)現(xiàn)和綁定模塊在服務(wù)資源池中查找所需服務(wù),若找到,則返回與服務(wù)代理協(xié)商綁定;若未找到,則將信息反饋給服務(wù)發(fā)現(xiàn)和綁定模塊,同時產(chǎn)生服務(wù)動態(tài)擴(kuò)展事件。

      (3)服務(wù)動態(tài)擴(kuò)展控制器捕捉服務(wù)動態(tài)擴(kuò)展事件,并按照擴(kuò)展規(guī)則對其進(jìn)行處理。

      (4)服務(wù)動態(tài)擴(kuò)展控制器在待擴(kuò)展服務(wù)集和第三方服務(wù)集中查找滿足擴(kuò)展條件的服務(wù)。

      (5)服務(wù)動態(tài)擴(kuò)展控制器將需要擴(kuò)展的服務(wù)遷移到服務(wù)資源池中,按照擴(kuò)展規(guī)則對服務(wù)進(jìn)行相應(yīng)的處理,完成服務(wù)的擴(kuò)展。新擴(kuò)展的服務(wù)能夠被發(fā)現(xiàn)和綁定。

      3.2 服務(wù)動態(tài)擴(kuò)展規(guī)則描述

      抽象狀態(tài)機(Abstractstate machine,ASM)是一種用于系統(tǒng)建模和分析的通用形式化方法,可以對任何系統(tǒng)建模,并且可以在不同的抽象層次上描述一個系統(tǒng)。基于ASM的軟件模型具有精確性和自然性。抽象狀態(tài)機語言(Abstractstate machine language,ASML)[6]是一種基于 ASM的軟件規(guī)范描述語言,用ASML描述模型得到的是人易讀、機器可執(zhí)行的規(guī)范。本文主要通過ASML對服務(wù)動態(tài)擴(kuò)展規(guī)則進(jìn)行形式化描述,下面給出用ASML描述的服務(wù)動態(tài)擴(kuò)展中的幾個重要規(guī)則。

      規(guī)則1 服務(wù)注冊Register(SERVICE)

      在系統(tǒng)使用過程中,如果調(diào)用一個尚未注冊的服務(wù)事件,會產(chǎn)生服務(wù)注冊事件,系統(tǒng)會將服務(wù)注冊信息提交,從而完成服務(wù)的注冊。

      規(guī)則2 池外服務(wù)的查找與定位

      系統(tǒng)調(diào)用服務(wù)資源池外的服務(wù)時,系統(tǒng)會在資源池外對相應(yīng)的服務(wù)進(jìn)行查找和定位,并對服務(wù)進(jìn)行映射,以便使服務(wù)進(jìn)行遷移和擴(kuò)展。若請求的服務(wù)在系統(tǒng)提供的服務(wù)列表中,則在系統(tǒng)待擴(kuò)展的服務(wù)集中進(jìn)行查找定位;若不在服務(wù)列表中,則在合作伙伴提供的第三方服務(wù)集中查找和定位。

      規(guī)則3 服務(wù)動態(tài)擴(kuò)展

      當(dāng)用戶請求資源池中不包含的服務(wù)時,系統(tǒng)會產(chǎn)生動態(tài)擴(kuò)展事件,并在待擴(kuò)展服務(wù)集和第三方服務(wù)集中查找匹配的服務(wù),對其進(jìn)行定位,然后將服務(wù)遷移到資源池中,并授權(quán)給服務(wù)代理,同時將服務(wù)加入服務(wù)集,更改服務(wù)與用戶相應(yīng)序列的擴(kuò)展標(biāo)志,將其置為擴(kuò)展可用,則系統(tǒng)可以調(diào)用新擴(kuò)展的服務(wù)。

      規(guī)則4 服務(wù)動態(tài)撤銷

      當(dāng)擴(kuò)展的服務(wù)被調(diào)用完之后,系統(tǒng)會向用戶詢問擴(kuò)展服務(wù)的后續(xù)使用情況,若用戶想裁減此項服務(wù),則把此服務(wù)從擴(kuò)展服務(wù)列表和資源池中刪除,注銷其注冊,擴(kuò)展標(biāo)志位置為False,服務(wù)成為系統(tǒng)不可用;若用戶想保留此服務(wù),則將服務(wù)從擴(kuò)展列表中刪除,加入服務(wù)列表中,使其成為系統(tǒng)默認(rèn)服務(wù);若用戶想等待一段時間后再做決定,則系統(tǒng)會等待相應(yīng)時間后再次詢問用戶。

      4 仿真測試

      使用Spec Explorer對服務(wù)動態(tài)擴(kuò)展系統(tǒng)模型進(jìn)行仿真測試。Spec Explorer是微軟公司針對ASM模型開發(fā)的一種軟件開發(fā)工具,為ASM模型的測試提供支持,用戶可以在Spec Explorer中驗證ASM模型的可行性和有效性[7]。

      假設(shè)用戶登錄并使用服務(wù)動態(tài)擴(kuò)展系統(tǒng),向系統(tǒng)請求一個服務(wù),請求的服務(wù)類型未知,即不確定用戶所請求的服務(wù)是否為系統(tǒng)默認(rèn)服務(wù)。用ASML描述系統(tǒng)模型,同時模擬上述測試情景,并將其裝載到Spec Explorer中,運行生成服務(wù)使用過程的有限狀態(tài)機,并產(chǎn)生測試序列,如圖3所示。圖3中顯示了用戶向系統(tǒng)請求服務(wù)后,系統(tǒng)為用戶進(jìn)行服務(wù)發(fā)現(xiàn)和綁定的全過程,其中也包含了對服務(wù)資源池外服務(wù)的動態(tài)擴(kuò)展,仿真測試結(jié)果與模型設(shè)計期望一致,從而驗證了模型的可行性和有效性[8]。

      5 結(jié)束語

      通過對SOA系統(tǒng)中Web服務(wù)擴(kuò)展問題的研究,本文提出了基于SOA的服務(wù)動態(tài)擴(kuò)展系統(tǒng)模型,并通過仿真驗證了模型的正確性和可行性。本文提出的模型不僅有助于SOA系統(tǒng)更好地適應(yīng)網(wǎng)絡(luò)環(huán)境,滿足用戶動態(tài)變化的需求,同時也為建立高可用、高性能、可擴(kuò)展的系統(tǒng)和服務(wù)提出了一種新的設(shè)計思想和實現(xiàn)方法,使系統(tǒng)服務(wù)對用戶更加友好。

      1 Papazoglou M P,Georgakopoulos D.Service-oriented computing introduction.Communications of the ACM,2003,46(10):24~28

      2 Papazoglou M P. Service-oriented computing: concepts,characteristics and directions.Proceedings of the 4th International Conference on Web Information System Engineering,Roma,Italy,2003:3~10

      3 David S Linthicum.Cloud Computing and SOA Convergence in Your Enterprise:a Step-by-Step Guid.Beijing:Posts&Telecom Press,2011

      4 Chen Kang,Zheng Weimin.Cloud computing:system instances and current research.Journal of Software,2009(5):1337~1348

      5 Ren Lei,Zhang Lin,Zhang Ya-bin,et al.Resource virtualization in cloud manufacturing.ComputerIntegrated Manufacturing Systems,2011,7(11):511~518

      6 Li Hui,Li Minglu.Abstract state machine based system design and analysis for grids.Acta Electronica Sinca,2003(12):2096~2100

      7 Borger E.The origins and development of the ASM method for high level system design and analysis.Journal of Universal Computer Science,2002,8(1):2~74

      8 Giampolo Bella,Elicinia Riccobene.Formal analysis of the Kerberos authentication system.Journal of Universal Computer Science,1997,3(12):1337~1381

      猜你喜歡
      池中動態(tài)規(guī)則
      選煤廠事故池中污染物在地下水中的遷移規(guī)律研究
      國內(nèi)動態(tài)
      國內(nèi)動態(tài)
      撐竿跳規(guī)則的制定
      國內(nèi)動態(tài)
      數(shù)獨的規(guī)則和演變
      池中景象
      小讀者(2019年20期)2020-01-04 02:13:56
      動態(tài)
      讓規(guī)則不規(guī)則
      Coco薇(2017年11期)2018-01-03 20:59:57
      TPP反腐敗規(guī)則對我國的啟示
      彰化市| 丰顺县| 贵德县| 东莞市| 江华| 南乐县| 石棉县| 屏山县| 特克斯县| 永定县| 兴安县| 乌兰县| 永春县| 晋城| 元谋县| 洪洞县| 吉安县| 桂东县| 柞水县| 太谷县| 崇文区| 乌拉特后旗| 仪陇县| 商洛市| 承德县| 佳木斯市| 鸡东县| 泰安市| 当涂县| 孟津县| 齐河县| 麻城市| 荣昌县| 永修县| 象山县| 思南县| 通化市| 新蔡县| 会同县| 八宿县| 马尔康县|