資源描述:
《SOAP序列化性能優(yōu)化的研究與實現(xiàn)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、摘要隨著計算機信息處理技術(shù)的發(fā)展,各個領(lǐng)域都面臨遺留系統(tǒng)的整合問題,面向服務(wù)的體系結(jié)構(gòu)SOA是其最佳的實現(xiàn)技術(shù)。遺留系統(tǒng)將被轉(zhuǎn)化成服務(wù),這些服務(wù)獨立于各種開發(fā)工具、語言甚至運行平臺,具有良好的互操作性和透明性,使系統(tǒng)的整合更加靈活。在SOA中,服務(wù)大多以Web服務(wù)調(diào)用實現(xiàn),而服務(wù)則是通過基于HTTP的SOAP協(xié)議進行通信,因此,提高服務(wù)的性能的關(guān)鍵就是提高SOAP處理的性能。本文分析了Web服務(wù)調(diào)用時SOAP處理性能上的不足,基于SOAP消息的序列化和反序列化是SOAP性能瓶頸的決定性因素,提出了差分序列化的構(gòu)想。將首次發(fā)送的SOAP消息
2、的序列化結(jié)果存儲到客戶端,作為下一次發(fā)送相同或相似消息的模板,并采用數(shù)據(jù)更新表來記錄模板的必要信息,也用于匹配時查找可重用的模板。在實際執(zhí)行匹配的過程中,可能發(fā)生以下四種情況:消息內(nèi)容匹配、消息結(jié)構(gòu)完全匹配、消息結(jié)構(gòu)部分匹配、不匹配。第一種情況可以完全避免序列化,重發(fā)模板即可;第四種情況需要完全的序列化;第二、三種情況則執(zhí)行部分序列化。本文設(shè)計了其實現(xiàn)技術(shù)來靈活應(yīng)對不同情況,包括分塊的思想,數(shù)據(jù)移動、填充、竊取算法,以及塊覆蓋和并行發(fā)送方法。最后,本文對所提算法進行了代碼實現(xiàn),并通過多組試驗證明了其算法的有效性。關(guān)鍵字:Web服務(wù),SOA
3、,SOAP性能,序列化Abstract、Mththedevelopmentofcomputerinformationprocessingtechnology,theproblemsofintegrationoflegacysystemsalefacedinallareas.AsService—OrientedArchitecture(SOA)iswidelyused,WebServiceisbecomingoneofthemostwidelyusedimplementationtechnologyofSOA.Legacysystemswi
4、llbetransformedintoserviceswhicharenottiedtoanyspecificdevelopmenttools,languagesandeVellplatform,andhavetransparencyandgoodinteroperability.Theintegrationofsystemismoreflexiblebytheseservices.InSOA,mostservicesaleimplementedintheInternet,and也eyalecommunicatedthroughtheHT
5、TP-basedSOAPprotoc01.Therefore,toimproveperformanceofSOAPprocessingisbecomingthekeytoimprovetheperformanceofservices.Inthispaper,performancedeficienciesoftheSOAPprocessingwhenWebservicesaleinvokedaleanalyzed.AndthemostcriticalfactorofSOAPperformancebottleneckisfoundtobese
6、rializationandde—serializationofSOAPmessages.Thus,themethodofdifferentialserializationisproposed.TheserializedSOAPmessageisstoredintheclientafteritsfirstsendasatemplate.SubsequentmessageswimthesanlestructureandsomeofthesamecontentCanthenreusepartsorallofit.Necessaryinform
7、ationofthetemplatesarerecordedintheDataUpdateTable,whichusetomatchandseekoutthereusabletemplate.Incomparinganewmessagetoasavedtemplate,therearefourdifferentmatchingpossibilities:MessageContentMatch,PerfectStructuralMatch,PartialStructuralMatch,NotMatCh.Inthefirstcase,seri
8、alizationCanbetotallyavoided,andtheclientjustsimplyresendsthemessageasis.Inthef.omlcase,weshould