《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > CORBA異步方法處理及其應用模型研究

CORBA異步方法處理及其應用模型研究

2009-08-20
作者:林 勇 呂述望

  摘? 要: 異步方法處理AMH是一種針對服務器的新型異步工作模型。本文提出了AMH中間服務器的邏輯結構和服務對象群理論,并給出了AMH/AMI混合服務器的結構和工作原理

  關鍵詞: CORBA技術? 異步方法處理? 多線程? N層體系? 服務對象群

?

  標準的CORBA遠程方法激發是同步執行的,客戶機在等待應答時發生阻塞,直到服務器完成方法的處理并返回結果。這種分布式對象通信方式稱為同步方法激發(Synchronous Method Invocation,SMI),SMI模型如圖1所示。在SMI模型中,客戶機一旦阻塞就不能執行其他任務,這對于需要實時交互的應用是不可取的。異步單向激發(Asynchronous Oneway Invocation,AOI)可以解決客戶機同步等待問題,它將標準的阻塞調用分解為一對單向(oneway)操作??蛻魴C發起單向請求后可以執行其他任務而不用阻塞,服務器處理完請求后,通過另一個單向方法將結果返回。AOI模型如圖2所示。

?

  真正的異步調用機制是CORBA 2.4規范提出的異步方法激發(Asynchronous Method Invocation,AMI)。AMI允許客戶機發起請求后不必阻塞即可返回控制,從而極大地提高了系統的吞吐量和反應能力,也為客戶機在單線程中并發處理多個請求提供了可能。AMI模型支持二種異步調用方法:一種是在AMI Polling模型中,客戶機完成請求后可立即返回控制,此后利用Poller對象檢測其返回,如圖3所示;另一種是在AMI Callback模型中,客戶機發起請求時產生一個ReplyHandler對象,當結果返回后由ORB回調該對象并提示應用系統,如圖4所示。

?

  AMI通過分離客戶機請求的發送和接收來提高異步處理能力,進而提高客戶機的吞吐量。由于AMI對服務器是透明的,故當多個客戶機同時發起請求時,服務器的處理能力可能成為系統的瓶頸。多線程并發機制在增強服務器處理能力的同時,也存在一些不足:在線程池模型中,當并發請求的數量大于池內線程數時,系統會無法接收新的客戶機請求,尤其是當請求為長期事務時,會嚴重影響其服務能力;在線程請求模型中,系統為每個請求創建一個新的線程,當大量請求到達時會造成線程創建和撤消的開銷過高,以至降低了服務器的處理效率。

  針對這種情況,ACE-TAO CORBA平臺中提出了服務器端異步模型——異步方法處理(Asynchronous Method Handler,AMH)機制。

1?異步方法處理規范

  ACE-TAO平臺采用隱式IDL方法定義AMH的接口,由IDL編譯器將用戶IDL映射為隱式IDL,進而產生客戶機存根(stub)和服務對象框架(skeleton)。AMH隱式IDL接口采用了與原接口同名的方法,但沒有返回值。原有方法的返回值類型被映射為void,傳遞方向為out的參數在映射過程中被省略,in和inout參數映射為in參數。在每個方法中增加一個傳遞方向為in的ResponseHandler對象,用于返回執行結果。

  下面的示例說明了一個簡單接口對象的AMH隱式IDL語法和映射邏輯。

  示例中每個AMH方法均有一個AMH_QuoteResponseHandler參數,用于對客戶機發送返回信息。從邏輯上看,AMH_*ResponseHandler接口對象是從ResponseHandler繼承的。當請求到達服務器后,ORB會創建一個ResponseHandler接口對象,將客戶機請求信息保存在其中,以返回處理結果。表1給出了ResponseHandler接口的主要屬性和訪問方法。

?

  在AMH_*ResponseHandler中,原IDL接口對象中out、inout參數和返回值被映射為in參數,原有的in參數在AMH_QuoterResponseHandler中被忽略,而ResponseHandler及其繼承接口中的方法都返回void類型。

  服務器端的用戶異常和系統異常也進行了AMH映射,在示例中為AMH_Quoter ExceptionHolder。原接口中的每個方法在AMH_*ExceptionHolder中映射成一個含raise的異常處理方法,如raise_get_quote()。

2? AMH的應用設計

2.1 多線程AMH設計模型

  在ACE-TAO的IDL編譯選項中增加-GH即可產生AMH服務對象框架,此時系統為單線程結構。盡管AMH功能允許服務器無阻塞地接收客戶機并發請求,但系統的處理仍然要按順序執行。要滿足實時應用對并發處理的要求,應采用多線程服務器結構。AMH技術能夠兼容各種CORBA多線程模型,如線程連接和線程池等。由于一般的CORBA平臺都提供了對多線程模型的支持,開發者只要進行簡單的配置即可實現多線程設計。在這種情況下,AMH多線程服務器與普通多線程服務器的設計和工作原理相同。

另一種多線程設計方法采用了AMH線程池結構。AMH服務器為每個客戶機請求創建了一個ResponseHandler(實際為其繼承AMH_*Response Handler)對象,原有方法中的out、inout參數及方法的返回值在ResponseHandler中映射為in參數。開發者可以隨時調用活動的ResponseHandler對象,以向客戶機返回輸出結果。

  AMH服務器對客戶機請求的接收、處理和返回是分開執行的,系統通過主線程接收請求,通過工作線程處理請求并返回結果。與普通CORBA線程池模型相似,應用程序需要預先啟動一池的線程,在主線程接收到客戶機請求后,將請求的ResponseHandler(簡稱rh)、客戶機的輸入參數in及其上下文信息(如時間戳)保存在請求隊列中,執行入隊列操作enqueue(rh,in)。此后由工作線程執行出隊列dequeue(rh,in)操作,將數據取出并處理。如果需要處理的請求多于正在等待的工作線程,請求將停留在隊列中,直至有線程為其服務。在工作線程執行出隊列時,首先執行請求的處理,再調用ResponseHandler將結果返回客戶機。AMH線程的工作模型如圖5所示。

?

  在AMH線程池模型中,由于ResponseHandler的加入,使請求的處理和返回變成了一種用戶可控制的過程。用戶可以根據應用的需要決定何時進行處理及何時返回結果。而AMH工作線程隊列也為系統提供了進一步的處理能力,如按優先級的處理以及允許客戶機進行請求的取消等。

2.2 AMH在N層服務器結構中的應用

  在二層體系中,AMH服務器同樣需要利用多線程來提高系統的處理效率,使異步處理的優勢未得到體現。在三層和N層服務器體系中,AMH異步服務器的長處才真正被體現。

  在分布式N層服務體系中,中間服務器起到對象分配和導航等作用。如圖6所示,中間服務器中用于受理客戶機請求的服務對象構成服務受理對象群,其功用是將客戶機請求信息中轉到終端服務器進行處理的服務對象構成服務中轉對象群。根據業務邏輯的要求,中間服務器中可以設置多個服務中轉對象群,而每個服務中轉對象群可以對應多個終端服務器,每個終端服務器是一個基本的業務處理單元,它提供了最終的服務處理對象群,用于處理請求信息。在這種服務對象群結構中,請求由中間服務器均勻分配給終端服務器,當服務中轉對象群為多個時,則對應不同的服務處理對象群。由服務對象群構成的分布式N層結構中,可能含有一個或若干個業務中轉單元(中間服務器),也包含若干組業務處理單元(終端服務器),進而構成一個復雜的服務網絡。

  在N層結構中,中間服務器起著在服務受理對象群和服務中轉對象群間進行對象導航的功能。如何有效提高其中轉和導航能力,使客戶機請求快速分發到其歸屬服務中轉對象群,進而發送到相應的終端服務器,以避免處理瓶頸,是中間服務器設計時需要考慮的重要問題。

?

  AMH技術為中間服務器在單線程中無阻塞地處理大量客戶機請求提供了可能。系統的服務受理對象群所接收的請求可以表示為以下集合:

  { (rh1(in1′),in1),(rh2(in2′),in2),……,(rhn(inn′),inn)}

  其中:

  n為服務受理對象群中對象的個數;

  rh為ResponseHandler;

????in為客戶機的輸入參數集合,包括傳遞方向為in、inout的參數;

????out為中間服務器向客戶機輸出參數集合,包括傳遞方向為out、inout和方法的返回值;

  in′為ResponseHandler的輸入參數,與對客戶機的輸出參數集合相同,即ini′=outi。

  當請求到達服務中轉對象群時,服務中轉對象負責將請求發送到終端服務器,由終端服務器執行請求處理,并將結果返回服務中轉對象。中間服務器的服務中轉對象屬于終端服務器的客戶機。要提高其請求中轉效率,可以采用AMI異步處理結構,這樣的中間服務器結構稱為AMH/AMI混合服務器模型。將(rh,in)作為AMI Callback對象的輸入參數,向終端服務器發出服務請求。在終端服務器完成請求的處理后向中間服務器返回out參數。中間服務器采用out參數作為ResponseHandler的輸入參數in′調用rh(in′),將結果返回客戶機。

  中間服務器的這種AMH/AMI混合服務模型提供了一條暢通的消息傳遞通路,很適合用于N層服務器體系。在中間服務器中,輸出請求可以使用AMI從ORB中快速返回控制,在此期間保持ResponseHandler句柄的活動性,直到結果返回客戶機。這樣在單個線程中即完成了大量客戶機請求的并發處理。AMH/AMI混合服務器模型如圖7所示。

?

  對于需要實時響應的分布式應用來說,也可以考慮使用AMI-AMH/AMI模型。在客戶機端采用AMI模型,中間服務器采用AMH/AMI混合模型,并設置多個終端服務器,以提高客戶機請求的處理效率。

3? 總? 結

  AMH是一種新型CORBA異步方法處理模型,它提供了客戶機的請求與處理分離的機制,大大提高了系統的吞吐量,使得在多層服務結構中采用單線程設計的服務器也能實現并發處理功能。

  本文在分析AMH語法規范及其在ACE-TAO平臺的實現方法基礎上,進一步研究了AMH在二層和N層體系中的應用。本文提出了AMH中間服務器的邏輯結構和服務對象群理論,并給出AMH/AMI混合服務器的結構和工作原理。目前,AMH還不是OMG規定的CORBA標準,其規范和設計方法仍處于進一步的研究和發展中。

?

參考文獻

1 ?Slama D,Garbis J,Russell P et al.CORBA企業解決方案.北京:機械工業出版社,2001

2? Object Management Group.The Common Object Request Broker:Architecture and Specification Revision

2.4.http://www.omg.org/cgi-bin/doc?芽formal/01-02-33,2000

3? Brunsch D,O′Ryan C,Schmidt D C.Designing an Efficient and Scalable Server-side Asynchronous Model

for CORBA.University of California,2002

4? Deshpande M,SchmidtD C,O′Ryan C et al.Design and Performance of Asynchronous Method Handler for

CORBA.Distributed Objects and Applications(DOA) conference,2002

5? Object Management Group.CommonObjectRequestBroker Architecture:Core Specifi-cation.http://www.omg.

org/cgi-bin/doc formal/CORBA3.0.2_02-12-02.pdf,2002

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          国产精品久久久久久一区二区三区| 欧美久久电影| 欧美日韩四区| 久久福利一区| 在线视频你懂得一区| 免费久久99精品国产自在现线| 欧美久久久久久久久久| 国产日韩亚洲欧美精品| 久久九九久久九九| 亚洲国产三级网| 欧美一区二区三区在线播放| 亚洲精品日韩激情在线电影| 激情成人av在线| 欧美一区二区三区啪啪| 亚洲国产精品久久久久秋霞不卡| 中文久久精品| 欧美午夜不卡视频| 久久久久国产精品一区三寸| 欧美激情亚洲自拍| 欧美一区免费视频| 亚洲色无码播放| 日韩午夜在线播放| 99热精品在线观看| 免费的成人av| 国产精品视频最多的网站| 欧美在线电影| 欧美精品一区二区三| 亚洲小说春色综合另类电影| 久久久久一本一区二区青青蜜月| 亚洲男女毛片无遮挡| 亚洲永久精品国产| 亚洲欧美电影在线观看| 亚洲国产精品一区二区三区| 中文欧美在线视频| 国产亚洲激情| 亚洲三级免费| 久久这里只有精品视频首页| 国内成人在线| 久久一二三国产| 国产精品欧美激情| 亚洲免费伊人电影在线观看av| 亚洲免费电影在线| 亚洲第一伊人| 国产乱码精品一区二区三区五月婷| 欧美色欧美亚洲另类二区| 国产精品久久777777毛茸茸| 国产精品色午夜在线观看| 极品尤物av久久免费看| 久久久水蜜桃| 激情伊人五月天久久综合| 亚洲视频免费看| 亚洲综合清纯丝袜自拍| 欧美激情欧美激情在线五月| 亚洲福利视频免费观看| 亚洲高清视频在线观看| 欧美久久一区| 国内自拍亚洲| 在线免费高清一区二区三区| 国产精品久久九九| 欧美午夜视频网站| 久久九九99视频| 欧美日本国产在线| 久久久精品2019中文字幕神马| 欧美一乱一性一交一视频| 久久久久在线观看| 亚洲乱码国产乱码精品精98午夜| 久久精品av麻豆的观看方式| 久久精品主播| 久久香蕉国产线看观看网| 免费不卡在线观看av| 美女主播精品视频一二三四| 亚洲国产精品小视频| 国产欧美精品日韩| 欧美一区二区三区视频在线| 亚洲一区二区三区高清| 99精品视频免费全部在线| 久久久久99精品国产片| 亚洲日本成人| 国产一区二区三区高清播放| 亚洲少妇最新在线视频| **性色生活片久久毛片| 欧美va亚洲va日韩∨a综合色| 这里只有精品丝袜| 亚洲福利专区| 99综合视频| 亚洲欧美激情四射在线日| 国产欧美日韩专区发布| 9色精品在线| 国产精品久久久久久av福利软件| 亚洲成色999久久网站| 亚洲欧美日韩精品久久久| 久久99在线观看| 国产精品视频99| 久久久噜噜噜久久狠狠50岁| 亚洲黄色片网站| 亚洲视频在线播放| 欧美 亚欧 日韩视频在线| 亚洲电影自拍| 欧美日韩成人综合天天影院| 亚洲激情社区| 久久久人成影片一区二区三区观看| 性做久久久久久免费观看欧美| 欧美大片在线观看| 国内精品久久久久久| 欧美在线视频导航| 一本色道久久加勒比精品| 欧美日本在线观看| 欧美精品www在线观看| 能在线观看的日韩av| 精品成人一区二区三区| 黄色在线成人| 欧美日本一道本在线视频| 欧美精品xxxxbbbb| 免费成人黄色| 亚洲在线一区二区三区| 亚洲三级免费| 欧美日本一区二区视频在线观看| 欧美午夜激情小视频| 国产欧美日韩亚洲一区二区三区| 久久精品国产清高在天天线| 亚洲国产精品黑人久久久| 欧美一区二区三区男人的天堂| 精品88久久久久88久久久| 欧美在线视频免费播放| 免费观看日韩av| 欧美成人午夜激情视频| 欧美精彩视频一区二区三区| 激情久久久久久久久久久久久久久久| 欧美在线免费| 国产精品久久久久久久电影| 欧美激情在线播放| 亚洲乱码一区二区| 这里是久久伊人| 亚洲青涩在线| 欧美一区二区三区四区夜夜大片| 亚洲国产小视频在线观看| 国产精品一区视频网站| 欧美在线精品免播放器视频| 欧美在线视频不卡| 亚洲免费观看视频| 久久久噜噜噜久久狠狠50岁| 欧美综合国产精品久久丁香| 一区二区三区免费看| 亚洲第一久久影院| 欧美电影在线播放| 国产精品视频免费在线观看| 亚洲欧洲久久| 亚洲国产日韩欧美在线99| 亚洲影院高清在线| 欧美精品国产精品| 亚洲视屏一区| ●精品国产综合乱码久久久久| 久久riav二区三区| 欧美激情精品久久久久久免费印度| 午夜精品在线| 日韩亚洲欧美综合| 亚洲精品乱码久久久久久久久| 国产精品永久| 久久aⅴ国产紧身牛仔裤| 欧美人成在线| 亚洲福利视频一区| 欧美日韩一区在线播放| 美日韩精品视频免费看| 久久国产精彩视频| 欧美激情一区二区三区四区| 亚洲视频狠狠| 精品999日本| 亚洲综合视频1区| 亚洲电影免费观看高清| 91久久综合亚洲鲁鲁五月天| 亚洲成人原创| 亚洲欧美日韩精品综合在线观看| 中国成人在线视频| 亚洲激情在线观看| 欧美成人午夜激情在线| 亚洲欧美视频一区二区三区| 欧美一区2区三区4区公司二百| 久久综合色综合88| 久久国产精品亚洲va麻豆| 亚洲欧洲av一区二区三区久久| 久久久无码精品亚洲日韩按摩| 欧美成人官网二区| 亚洲大胆av| 亚洲理论电影网| 国产精品成人观看视频免费| 久久综合伊人| 欧美 日韩 国产精品免费观看| 久久综合伊人77777麻豆| 国产欧美成人| 国产精品网站在线观看| 99精品视频免费在线观看| 国产精品网红福利| 美女国内精品自产拍在线播放| 久久久美女艺术照精彩视频福利播放| 亚洲第一福利社区| 性色av一区二区三区在线观看| 欧美三级电影一区| 亚洲尤物影院| 欧美电影打屁股sp| 国产日韩在线不卡| 欧美日韩国产精品一卡| 一区二区三区四区五区精品| 制服丝袜激情欧洲亚洲| 99这里只有久久精品视频| 一区二区三区四区五区精品视频| 精品99一区二区三区| 麻豆乱码国产一区二区三区| 一二美女精品欧洲| 亚洲精品视频在线观看网站| 亚洲第一网站免费视频| 久久在线视频在线| 校园春色综合网| 欧美美女bbbb| 国产精品欧美日韩久久| 亚洲综合国产| 欧美人与性禽动交情品| 午夜免费在线观看精品视频| 国产精品av久久久久久麻豆网| 久久高清国产| 正在播放亚洲一区| 国产亚洲一区在线| 久久久久国产精品午夜一区| 久久久久久久久一区二区| 99v久久综合狠狠综合久久| 国产精品久久久久久久久借妻| 在线一区日本视频| 亚洲美女av在线播放| 久久都是精品| 在线成人www免费观看视频| 亚洲欧美日韩精品综合在线观看| 欧美破处大片在线视频| 精品动漫3d一区二区三区免费版| 一区二区三区www| 99国产精品久久久久久久成人热| 国产精品成人一区二区艾草| 欧美久久视频| 欧美人与禽猛交乱配视频| 欧美三级在线| 91久久嫩草影院一区二区| 美女视频黄a大片欧美| 久久成人一区| 亚洲在线播放| 麻豆国产精品一区二区三区| 在线成人av.com| 亚洲毛片一区二区| 欧美福利一区二区三区| 国产精品露脸自拍| 久久精品国产精品亚洲| 一本色道久久精品| 99国产精品| 久久久久久久精| 国产精品美女久久久浪潮软件| 欧美日韩亚洲网| 欧美日韩国产一区二区三区地区| 你懂的一区二区| 国产精品爽爽ⅴa在线观看| 国产亚洲成人一区| 欧美大片免费观看在线观看网站推荐| 欧美激情综合亚洲一二区| 国产亚洲综合在线| 国产噜噜噜噜噜久久久久久久久| 一本高清dvd不卡在线观看| 久久久久久久久综合| 欧美日韩精品免费在线观看视频| 日韩一区二区精品| 国产精品扒开腿做爽爽爽视频| 欧美大学生性色视频| 男人的天堂成人在线| 欧美片第1页综合| 久久精品一区四区| 亚洲欧洲在线观看| 久久综合色天天久久综合图片| 亚洲欧洲精品一区| 亚洲高清资源综合久久精品| 亚洲肉体裸体xxxx137| 亚洲第一页自拍| 国产一区二区三区无遮挡| 在线国产精品播放| 亚洲欧美日韩国产另类专区| 亚洲私人影吧| 亚洲第一精品夜夜躁人人爽| 日韩午夜电影| 欧美一区二区精品| 国产精品揄拍一区二区| 欧美日韩国产91| 亚洲性线免费观看视频成熟| 亚洲激情精品| 亚洲国产精品一区二区www| 99爱精品视频| 蜜月aⅴ免费一区二区三区| 亚洲一区欧美二区| 国产女人aaa级久久久级| 亚洲欧洲日本在线| 国产欧美欧美| 国产精品免费网站在线观看| 欧美福利一区二区| 亚洲精品中文字幕有码专区| 欧美日本视频在线| 国产一区二区三区久久精品| 欧美视频一区| 久久精品五月婷婷| 久久www免费人成看片高清| 中国成人黄色视屏| 国产日产欧美一区| 久久久久国产精品一区二区| 亚洲黄色视屏| 久久成人资源| 亚洲欧美日韩直播| 蜜桃久久精品乱码一区二区| 欧美午夜a级限制福利片| 久久久久久久91| 国产精品久久综合| 免费在线一区二区| 亚洲激情成人网| 国产精品国色综合久久| 国产主播一区二区三区| 久久久久久久91| 亚洲欧洲日本专区| 亚洲国产另类久久精品| 欧美xart系列在线观看| 国产精品一区免费视频| 欧美不卡在线| 亚洲香蕉成视频在线观看| 亚洲电影在线看| 毛片av中文字幕一区二区| 日韩午夜三级在线| 欧美国产大片| 久久国产精品久久精品国产|