欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于擴(kuò)展soap的數(shù)據(jù)密集型多媒體服務(wù)調(diào)用方法

文檔序號(hào):7700052閱讀:252來(lái)源:國(guó)知局
專利名稱:一種基于擴(kuò)展soap的數(shù)據(jù)密集型多媒體服務(wù)調(diào)用方法
技術(shù)領(lǐng)域
本發(fā)明涉及互聯(lián)網(wǎng)Web服務(wù)技術(shù)領(lǐng)域,更具體地,本發(fā)明涉及一種基于擴(kuò)展 SOAP的數(shù)據(jù)密集型多媒體服務(wù)調(diào)用方法。
背景技術(shù)
由于需要對(duì)多媒體音視頻數(shù)據(jù)進(jìn)行處理,多媒體業(yè)務(wù)中經(jīng)常包含連續(xù)的并且在 時(shí)間和空間兩方面相關(guān)性很強(qiáng)的數(shù)據(jù)流,是一種典型的數(shù)據(jù)密集型業(yè)務(wù)?;谶@一 原因,目前多媒體應(yīng)用被普遍地以單一的、緊耦合的完整系統(tǒng)方式加以實(shí)現(xiàn)。這使 得多媒體業(yè)務(wù)的建立、維護(hù)、升級(jí)與及與其他業(yè)務(wù)的集成一直是一個(gè)比較棘手、昂 貴、時(shí)間耗費(fèi)巨大的難題。除多媒體業(yè)務(wù)外,數(shù)據(jù)密集型業(yè)務(wù)還包括數(shù)據(jù)托管、大 規(guī)模數(shù)據(jù)分析如數(shù)據(jù)挖掘應(yīng)用等,這些數(shù)據(jù)密集型業(yè)務(wù)也存在與其他業(yè)務(wù)集成困難 的問(wèn)題。
另一方面,面向服務(wù)架構(gòu)(Service Oriented Architecture,簡(jiǎn)稱SOA)提供了一 種可根據(jù)需要?jiǎng)討B(tài)組合服務(wù)以形成集成業(yè)務(wù)的方法,它基于根據(jù)標(biāo)準(zhǔn)預(yù)先定義的接 口,允許分布式和異構(gòu)組件之間進(jìn)行松散連接,是一種更為魯棒并且易于擴(kuò)展的大 規(guī)模系統(tǒng)設(shè)計(jì)方法,已經(jīng)成功地為眾多大規(guī)模應(yīng)用系統(tǒng)提供了更為柔性的解決方案。 在INTERNET環(huán)境下,Web Service技術(shù)作為SOA的一種實(shí)現(xiàn)方式,得到學(xué)術(shù)界的 承認(rèn)并獲得眾多軟件巨頭如IBM、微軟等的支持。Web Service由一系列基于XML 的標(biāo)準(zhǔn)組成,如SOAP、 UDDI和WSDL等,它實(shí)際上定義了一種平臺(tái)無(wú)關(guān)的遠(yuǎn)程 對(duì)象交互模型,實(shí)現(xiàn)該模型的核心是簡(jiǎn)單對(duì)象請(qǐng)求協(xié)議(Simple Object Access Protocol,簡(jiǎn)稱SOAP)。因此,如果能夠?qū)eb Service應(yīng)用到多媒體業(yè)務(wù)領(lǐng)域,構(gòu) 建一種支持面向服務(wù)架構(gòu)的分布式多媒體應(yīng)用系統(tǒng),則可以有效地解決多媒體業(yè)務(wù) 系統(tǒng)的開(kāi)發(fā)、維護(hù)與及與其他業(yè)務(wù)系統(tǒng)集成等方面的難題。
但是,Web Service技術(shù)最初是作為INTERNET事務(wù)類應(yīng)用(如電子商務(wù))的解 決方案被提出的,主要針對(duì)的是輸入?yún)?shù)的數(shù)據(jù)規(guī)模較小的文本數(shù)據(jù)業(yè)務(wù),對(duì)于涉 及大容量的二進(jìn)制數(shù)據(jù)的多媒體業(yè)務(wù)支持很弱。其中一個(gè)關(guān)鍵原因就是多媒體應(yīng)用 中數(shù)據(jù)一般要作為程序的處理對(duì)象,例如轉(zhuǎn)碼服務(wù)中原視頻文件必須作為參數(shù)提供 給服務(wù)。而現(xiàn)有的SOAP及其擴(kuò)展無(wú)法有效地支持將大規(guī)模數(shù)據(jù)作為參數(shù)封裝到其 消息體中作為遠(yuǎn)程過(guò)程調(diào)用的輸入。萬(wàn)維網(wǎng)聯(lián)盟(W3C)定義了兩個(gè)在SOAP中攜帶附件的規(guī)范帶附件SOAP消 息(SOAP Message with Attachment)禾卩XML 二進(jìn)制數(shù)據(jù)優(yōu)化打包(XML-binary Optimized Packages, XOP)規(guī)范。這兩個(gè)規(guī)范都基于多用途因特網(wǎng)郵件擴(kuò)展 (Multipurpose Internet Mail Extensions, MIME)協(xié)議,附件所包含的二進(jìn)制數(shù)據(jù)在 傳輸時(shí)要首先使用base64編碼為文本然后作為MIME信封中的一部分進(jìn)行傳輸, SOAP消息本身作為另一部分。由于將二進(jìn)制數(shù)據(jù)進(jìn)行base64編碼會(huì)增加1/3的數(shù)據(jù) 量,在附件很大時(shí)這種作法將導(dǎo)致嚴(yán)重的數(shù)據(jù)膨脹,造成不必要的網(wǎng)絡(luò)資源消耗; 并且由于要將整個(gè)附件讀入內(nèi)存進(jìn)行打包,在附件很大時(shí)內(nèi)存將被殆盡,在實(shí)驗(yàn)中 發(fā)現(xiàn)當(dāng)附件較大時(shí),基于這兩個(gè)規(guī)范的系統(tǒng)開(kāi)始變得極不穩(wěn)定。另一方面,基于這 兩種方法調(diào)用服務(wù),無(wú)法自動(dòng)感知附件的角色(即附件的所起到的作用),從而無(wú)法 進(jìn)行自動(dòng)化處理,特別是在存在多個(gè)附件的情況下,這個(gè)不足更加突顯。最后,基 于MIME這一特征,破壞了 SOAP標(biāo)準(zhǔn)本身的獨(dú)立性。因此上述兩個(gè)規(guī)范既無(wú)法兼 容現(xiàn)有的Web Service模型,也不能完全地支持多媒體業(yè)務(wù)這類數(shù)據(jù)密集型應(yīng)用。
再者,多媒體業(yè)務(wù)中經(jīng)常涉及數(shù)字內(nèi)容的版權(quán)安全,目前的Web Service體系無(wú) 法提供一個(gè)高效的內(nèi)容保護(hù)方案。目前SOAP消息的安全主要依賴于WS-Security規(guī) 范,主要通過(guò)對(duì)消息體進(jìn)行完全加密的方式獲得安全保障,這在數(shù)據(jù)量不大時(shí)是可 行的。但是對(duì)于多媒體應(yīng)用而言,由于多媒體數(shù)據(jù)經(jīng)常在數(shù)百兆以上,采用完全加 密方式代價(jià)太大,同時(shí)多媒體數(shù)據(jù)與文本數(shù)據(jù)相比其數(shù)據(jù)之間的相關(guān)性很強(qiáng),采用 適當(dāng)?shù)募用芊绞揭话隳軌蜻_(dá)到只加密部分?jǐn)?shù)據(jù)即可達(dá)到保護(hù)整個(gè)數(shù)據(jù)文件的效果。

發(fā)明內(nèi)容
本發(fā)明的目的是,對(duì)SOAP進(jìn)行擴(kuò)展,在SOAP消息中引入?yún)?shù)與附件的關(guān)聯(lián) 機(jī)制,使得SOAP能夠支持將大規(guī)模數(shù)據(jù)作為參數(shù)封裝到SOAP消息體中作為遠(yuǎn)程 服務(wù)調(diào)用的輸入,從而提供一種基于擴(kuò)展SOAP的數(shù)據(jù)密集型多媒體服務(wù)調(diào)用方法。 為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明提供的基于擴(kuò)展SOAP的數(shù)據(jù)密集型多媒體服務(wù)調(diào) 用方法,涉及的實(shí)體包括擴(kuò)展SOAP客戶端和擴(kuò)展SOAP服務(wù)器端,所述多媒體服 務(wù)調(diào)用方法包括如下步驟
1)擴(kuò)展SOAP客戶端向擴(kuò)展SOAP服務(wù)器端發(fā)送擴(kuò)展SOAP請(qǐng)求消息,所述擴(kuò) 展SOAP請(qǐng)求消息包括消息主體部分和附件部分,所述消息主體部分包括所請(qǐng)求服 務(wù)的名稱,所請(qǐng)求服務(wù)的參數(shù)名稱和實(shí)例值,以及所述參數(shù)名稱與附件的關(guān)聯(lián)關(guān)系; 所述附件部分包括與所述消息主體部分所請(qǐng)求服務(wù)的參數(shù)名稱相關(guān)聯(lián)的附件實(shí)體, 所述附件實(shí)體包括附件元數(shù)據(jù)信息和附件文件所包含的二進(jìn)制數(shù)據(jù);2) 擴(kuò)展SOAP服務(wù)器端接收到所述擴(kuò)展SOAP請(qǐng)求消息,調(diào)用該請(qǐng)求消息中所 請(qǐng)求的服務(wù)對(duì)應(yīng)的功能函數(shù)并獲得計(jì)算結(jié)果,所述計(jì)算結(jié)果包括需返回的函數(shù)返回 值與及某些可能的經(jīng)過(guò)處理的附件數(shù)據(jù);
3) 擴(kuò)展SOAP服務(wù)器端向擴(kuò)展SOAP客戶端返回?cái)U(kuò)展SOAP反饋消息,所述擴(kuò) 展SOAP反饋消息攜帶步驟2)中得到的計(jì)算結(jié)果。
上述技術(shù)方案中,所述服務(wù)的WSDL描述中指明該服務(wù)中的參數(shù)與附件的關(guān)聯(lián) 關(guān)系。
上述技術(shù)方案中,所述服務(wù)的WSDL描述中包括元素Relation、 Parameter和 Note;所述Relation、 Parameter和Note用于在WSDL中指明參數(shù)與附件的關(guān)聯(lián)關(guān)系; 對(duì)于每個(gè)要關(guān)聯(lián)附件的參數(shù),在服務(wù)的WSDL文檔中生成一個(gè)對(duì)應(yīng)的Relation元素; Relation元素的第一個(gè)子元素是Parameter元素,Parameter元素的值為服務(wù)所定義的 輸入?yún)?shù)中的某一個(gè);Relation元素的第二個(gè)子元素是Note元素,該元素為本關(guān)聯(lián) 的說(shuō)明信息,指明本關(guān)聯(lián)的含義。
上述技術(shù)方案中,涉及的實(shí)體還包括應(yīng)用程序,所述步驟l)之前,還包括如下 步驟
應(yīng)用程序啟動(dòng)服務(wù)調(diào)用過(guò)程,向擴(kuò)展SOAP客戶端指明服務(wù)調(diào)用信息,所述調(diào) 用信息包括所調(diào)用的服務(wù)的WSDL描述或其地址,所調(diào)用服務(wù)的名稱,所調(diào)用服務(wù) 的各個(gè)輸入?yún)?shù)的實(shí)例值,以及格式的參數(shù)與附件的關(guān)聯(lián)關(guān)系。
上述技術(shù)方案中,所述步驟l)中,所述擴(kuò)展SOAP客戶端根據(jù)所述應(yīng)用程序所 指明的信息構(gòu)造所述擴(kuò)展SOAP請(qǐng)求消息。
上述技術(shù)方案中,所述擴(kuò)展SOAP請(qǐng)求消息通過(guò)Web服務(wù)器轉(zhuǎn)發(fā)給擴(kuò)展SOAP 服務(wù)器端。
上述技術(shù)方案中,所述步驟l)中,所述擴(kuò)展SOAP客戶端首先發(fā)送消息主體部 分,然后再發(fā)送附件部分。
上述技術(shù)方案中,所述步驟3)中,所述計(jì)算結(jié)果包含附件時(shí),所述擴(kuò)展SOAP 反饋消息包括消息主體部分和附件部分,所述計(jì)算結(jié)果不包含附件時(shí),所述擴(kuò)展 SOAP反饋消息包括消息主體部分,不包括附件部分;所述步驟3)中,擴(kuò)展SOAP 服務(wù)器端首先發(fā)送消息主體部分,然后査詢計(jì)算結(jié)果中是否包含附件,當(dāng)包含附件 時(shí),所述擴(kuò)展SOAP服務(wù)器發(fā)送附件部分,否則,斷開(kāi)與所述擴(kuò)展SOAP客戶端的 連接。
上述技術(shù)方案中,所述附件部分進(jìn)行加密傳輸,加密方法是使用一個(gè)全局密鑰 對(duì)數(shù)據(jù)塊中的數(shù)據(jù)進(jìn)行有選擇的加密,并使用一個(gè)與每個(gè)數(shù)據(jù)塊對(duì)應(yīng)的流式密鑰對(duì)各數(shù)據(jù)塊進(jìn)行交錯(cuò)加密處理(所述交錯(cuò)是指打亂原有二進(jìn)制數(shù)據(jù)位串的排列順序)。 與現(xiàn)有技術(shù)相比,本發(fā)明具有如下技術(shù)效果
1、 本發(fā)明基于SOAP模型實(shí)現(xiàn)數(shù)據(jù)密集型業(yè)務(wù)(尤其是多媒體業(yè)務(wù)),能夠兼 容Web Service現(xiàn)有標(biāo)準(zhǔn),有利于業(yè)務(wù)系統(tǒng)的維護(hù)和升級(jí)。
2、 與帶附件SOAP消息和XML 二進(jìn)制數(shù)據(jù)優(yōu)化打包技術(shù)進(jìn)行相比,本發(fā)明不 需要將二進(jìn)制數(shù)據(jù)轉(zhuǎn)碼成文本并打包,不會(huì)導(dǎo)致突發(fā)地大量?jī)?nèi)存的占用,同時(shí)本發(fā) 明極大地降低了服務(wù)調(diào)用的等待時(shí)間。
3、 本發(fā)明將數(shù)字內(nèi)容的保護(hù)納入到整個(gè)多媒體服務(wù)調(diào)用框架之中,大幅提高了 加密效率。


圖1為擴(kuò)展SOAP客戶端與服務(wù)器端在服務(wù)調(diào)用過(guò)程中的交互時(shí)序示例; 圖2為擴(kuò)展SOAP服務(wù)器對(duì)調(diào)用請(qǐng)求的處理流程圖。
具體實(shí)施例方式
本發(fā)明在兼容Web Service現(xiàn)有標(biāo)準(zhǔn)的基礎(chǔ)上,通過(guò)在SOAP中引入新的語(yǔ)義要 素對(duì)SOAP進(jìn)行了擴(kuò)展,使其能夠支持?jǐn)y帶大規(guī)模多媒體數(shù)據(jù)進(jìn)行遠(yuǎn)程對(duì)象訪問(wèn); 定義了與現(xiàn)有標(biāo)準(zhǔn)完全兼容的新的端節(jié)點(diǎn)SOAP消息交互模式——當(dāng)前交互模式是 其子集,并基于HTTP協(xié)議給出一種實(shí)現(xiàn)該交互模型的方法,在此基礎(chǔ)上本發(fā)明給 出了一個(gè)多媒體業(yè)務(wù)的面向服務(wù)架構(gòu)實(shí)現(xiàn)策略。下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā) 明做進(jìn)一步地描述。
實(shí)施例
模型定義
SOAP作為一種遠(yuǎn)程對(duì)象調(diào)用方法可以分為請(qǐng)求和反饋兩個(gè)部分,請(qǐng)求消息中主 要包含所要調(diào)用服務(wù)的名稱和參數(shù),反饋消息則包含客戶端期望的服務(wù)計(jì)算結(jié)果, 比較通俗的理解可以認(rèn)為服務(wù)是一個(gè)函數(shù),SOAP請(qǐng)求即發(fā)出調(diào)用該函數(shù)的指令而 SOAP反饋則是函數(shù)調(diào)用的結(jié)果。顯然,在這種計(jì)算模型下,將大規(guī)模的二進(jìn)制多媒 體數(shù)據(jù)作為參數(shù)傳進(jìn)函數(shù)是不現(xiàn)實(shí)。在一般的編程模型中,如果需要讓函數(shù)處理大 規(guī)模數(shù)據(jù)例如將一個(gè)AVI編碼的影片轉(zhuǎn)碼為FLV格式, 一般是將數(shù)據(jù)存儲(chǔ)起來(lái)然后 將文件的名稱作為參數(shù)傳遞給函數(shù),從而使函數(shù)可以索引到該文件并進(jìn)行處理。本 實(shí)施例所定義的SOAP擴(kuò)展源于該思想。本實(shí)施例所擴(kuò)展的遠(yuǎn)程對(duì)象訪問(wèn)模型的形 式化描述如下定義l: 一個(gè)擴(kuò)展SOAP請(qǐng)求是一個(gè)4元組(N, M, P, R),其中N為服務(wù) 的命名空間;M為服務(wù)的名稱;P為服務(wù)的參數(shù)集合,其元素為二元組(pj , vj ) (j >0),其中pj為參數(shù)名稱,Vj為pj的實(shí)例值;R附件與參數(shù)的關(guān)聯(lián)關(guān)系集合,其元素
為二元組(am,fm)(m >0),其中ake(pl, p2 ,…,pj } (k《m), fk為與參數(shù)ak 相關(guān)的附件;以lakl和lfkl分別表示ak和fk中在R中的出現(xiàn)次數(shù),要求ak必須滿足 |ak|》0 , fk必須滿足lfklE(0,1)。
根據(jù)這個(gè)定義,當(dāng)R為空時(shí),本實(shí)施例所定義的擴(kuò)展SOAP請(qǐng)求將退化為標(biāo)準(zhǔn) 的SOAP請(qǐng)求,因此標(biāo)準(zhǔn)SOAP請(qǐng)求實(shí)際上是擴(kuò)展SOAP請(qǐng)求的一個(gè)特例。
定義2: —個(gè)擴(kuò)展SOAP反饋是一個(gè)4元組(N, , M, , V, R,),其中N, 為服務(wù)的命名空間;M'為產(chǎn)生該反饋的服務(wù)的名稱,必須與定義1中的M對(duì)應(yīng); V為服務(wù)的返回值;R'為附件與參數(shù)的關(guān)聯(lián)關(guān)系集合,其定義同R。
由于反饋是基于請(qǐng)求的,因此定義2是依賴與定義1的。顯然,上述擴(kuò)展是完 全兼容當(dāng)前SOAP標(biāo)準(zhǔn)的。下面基于這兩個(gè)定義,給出具體的擴(kuò)展SOAP消息格式。
消息格式
目前SOAP消息一般通過(guò)HTTP協(xié)議進(jìn)行傳輸,即將SOAP消息封裝到HTTP 協(xié)議數(shù)據(jù)包中進(jìn)行傳輸。通過(guò)HTTP傳輸可以使SOAP消息穿越大部分的防火墻, 從而增加了 Web Service的可用性;另一方面,通過(guò)在通用的Web服務(wù)器中增加SOAP 處理模塊即可使其支持Web Service應(yīng)用,避免了為Web Service設(shè)置專門(mén)的服務(wù)器。 鑒于SOAP HTTP綁定的上述優(yōu)點(diǎn),本文所定義的擴(kuò)展SOAP消息仍使用HTTP協(xié)議 進(jìn)行傳輸。 一個(gè)根據(jù)定義1使用HTTP POST方式提交的擴(kuò)展SOAP請(qǐng)求消息示例, 如下所示POST /UpLoadService.ews HTTP/1.1 Host: www.tempuri.org Content-Type: text/xml; charset=utf-8 Content-Length: length
SOAPAction: "http:〃tempuri.org/UploadMovie"
< xml version="1.0" encoding="utf-8" > <esoap:Envelope
xmlns:xsi="http:〃www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http:〃www.w3.org/2001/ XMLSchema" xmlns:esoap="http:〃dsp.ac.cn/enhanced-soap/envelope/"> <esoap:Body>
<UploadMovie xmlns="http:〃tempuri.org"> <Provider>China Movie Group</Provider> <Name>Warm Spring</Name> <Prevue>Girl, don't cry!</Prevue> <Tag>Ch'ma story </Tag> </UploadMovie> <esoa p: Atta ch ments> <Name>
<esoap:File>video-cd1.avi</esoap:File> <esoap:File>video-cd2.avi</esoap:File>
</N3IT16> <Pr6VU6>
<esoap:File>summary.flv</esoap:File> </Prsvu6> </esoap:Attachments> </esoap:Body> </esoap:Envelope>
--attachment part—
上面代碼示出的消息是一個(gè)上載電影服務(wù)請(qǐng)求消息。該消息包含兩個(gè)部分 HTTP協(xié)議報(bào)頭和擴(kuò)展SOAP請(qǐng)求消息。其中HTTP頭部指明了服務(wù)的地址 "www.tempurl.org/UpLoadService.ews",它實(shí)際上指明了 SOAP服務(wù)器所應(yīng)該加載 的服務(wù)組件,在這個(gè)例子中對(duì)應(yīng)的組件是"UpLoadService.ews",所要調(diào)用的服務(wù) 必須在該組件中定義。擴(kuò)展SOAP請(qǐng)求消息包含兩個(gè)部分消息主體和附件部分。 上文只列出了消息的主體部分,附件部分將在下文給出。消息主體指明所要調(diào)用的 方法為"UploadMovie",它有四個(gè)參數(shù)Provider、 Name、 Preview禾卩Type,分別 表示影片的提供者、名稱、預(yù)告片名稱和所屬分類信息;其中參數(shù)Name和Preview 關(guān)聯(lián)附件,即電影的視頻文件以及預(yù)告片的視頻文件。Attachments元素用于定義與 調(diào)用方法相關(guān)的附件集合,其子元素必須是參數(shù)的名稱,每個(gè)參數(shù)可以關(guān)聯(lián)一個(gè)或多個(gè)附件,每個(gè)附件使用File元素進(jìn)行聲明。在上面的例子中,參數(shù)Name關(guān)聯(lián)兩 個(gè)附件,分別是video-cd2.avi和video-cd2.avi,它們是所要上載影片對(duì)應(yīng)的兩個(gè)視頻 文件;參數(shù)Preview關(guān)聯(lián)一個(gè)附件summary.flv,它是影片預(yù)告片對(duì)應(yīng)的視頻文件。
對(duì)于每一個(gè)在擴(kuò)展SOAP消息主體中指明的附件,在消息的附件部分必須有一 個(gè)對(duì)應(yīng)的實(shí)體。在上文示例擴(kuò)展SOAP請(qǐng)求消息中附件video-cdl.avi的實(shí)體部分如
下所示
—boundary— Content-Type: video/avi Content-Length: 987786786 filename: video-cd1.avi EBS: 4096
Encryption-Algorithm: AES Encryption-Key: eweff 78y78JKJHHhjhff… Key-Size: 128 Encryption-Intensify: 10% —boundary-binary data ( of video-cd1 .avi)
另兩個(gè)附件的情況是類似的。每個(gè)附件實(shí)體包含兩部分信息附件元數(shù)據(jù)信息 和附件文件所包含的二進(jìn)制數(shù)據(jù)。這兩部分信息之間存在邊界,不同的附件實(shí)體之
間也存在邊界。與帶附件SOAP和XML 二進(jìn)制優(yōu)化數(shù)據(jù)打包方法將二進(jìn)制數(shù)據(jù)轉(zhuǎn)碼 成文本打包到SOAP消息體中不同,本實(shí)施例對(duì)于不同邊界隔開(kāi)的內(nèi)容分段打包進(jìn) 行發(fā)送,并且對(duì)于二進(jìn)制數(shù)據(jù)采用直接發(fā)送方式。在元數(shù)據(jù)部分,域Content-Type 用于表示附件的文件類型,文件類型定義依據(jù)MIME媒體類型;域Content-Length 用于表示附件的大小,單位為字節(jié);域filename為附件文件的名字,該名字必須在 消息主體的File元素中出現(xiàn)。最后5個(gè)域是為保護(hù)多媒體內(nèi)容而設(shè)立的。由于,多 媒體內(nèi)容涉及版權(quán)問(wèn)題,安全等級(jí)較高,因此本實(shí)施例在定義服務(wù)與客戶端的交互 模型時(shí), 一并考慮了安全問(wèn)題,具體將在下文介紹。域EBS為附件加密處理時(shí)的數(shù) 據(jù)塊大小,是服務(wù)器對(duì)附件解密所必須的;域Encryption-Algorithm為附件進(jìn)行加密 處理時(shí)所采用的加密算法;域Encryption-Key為加密附件所采用的密鑰,對(duì)于附件 內(nèi)容采用對(duì)稱加密方式,但是密鑰是以密文形式傳輸?shù)模挥騅ey-Size為密鑰長(zhǎng)度; 域Encryption-Intensity定義了加密強(qiáng)度,它定義了加密數(shù)據(jù)塊中的哪些比特將被加 密。
服務(wù)端根據(jù)客戶端的擴(kuò)展SOAP請(qǐng)求消息,調(diào)用相應(yīng)服務(wù)并獲得計(jì)算結(jié)果后, 將向客戶端發(fā)送反饋消息,該消息也可能包含附件。 一個(gè)根據(jù)定義2基于HTTP綁定的擴(kuò)展SOAP反饋消息示例如下所示
<Name〉String</Name> <Prevue〉String</Prevue>
</Up〗oadM o v i e〉 <Attachments> <Relation〉
<Parameter>Name</Parameter> <Note>using for specifying the video
files of the movie </Note> </Relation> <Relation>
<Parameter>Prevue</Parameter> <Note>using for specifying the video
file of the movie abstract </Note> </Relation> </Attachments>
上面代碼示出的消息是一個(gè)視頻轉(zhuǎn)碼服務(wù)的反饋消息,服務(wù)的名稱是
VideoTranscode,服務(wù)的返回值為真表示轉(zhuǎn)碼成功,這與標(biāo)準(zhǔn)SOAP是一致的;返回 結(jié)果中還包含了兩個(gè)附件,就是轉(zhuǎn)碼之后得到的視頻文件,使用服務(wù)定義的參數(shù) Contentld進(jìn)行關(guān)聯(lián)。反饋消息附件部分格式與請(qǐng)求消息中的附件格式是完全一致的, 不再贅述。
服務(wù)開(kāi)發(fā)者必須在其服務(wù)的WSDL描述中指明哪個(gè)參數(shù)將關(guān)聯(lián)到附件,并必須 對(duì)這種關(guān)聯(lián)的含義進(jìn)行注釋,例如說(shuō)明與某個(gè)參數(shù)關(guān)聯(lián)的附件的作用。如此,服務(wù) 調(diào)用者在調(diào)用服務(wù)前通過(guò)查看服務(wù)的WSDL描述即可了解向服務(wù)提供輸入數(shù)據(jù)的方 法。通過(guò)這種方式,在擴(kuò)展SOAP請(qǐng)求消息符合服務(wù)的WSDL描述時(shí),服務(wù)即可自 動(dòng)化的確定每個(gè)提交附件的角色(即確定每個(gè)提交附件的作用)并進(jìn)行處理。例如, 在上文例子中,服務(wù)可能對(duì)Name參數(shù)關(guān)聯(lián)的附件進(jìn)行加密,而對(duì)于Preview參數(shù)關(guān) 聯(lián)的附件則不做該處理。為使WSDL能夠支持服務(wù)參數(shù)的附件關(guān)聯(lián)聲明,本實(shí)施例 對(duì)WSDL標(biāo)準(zhǔn)進(jìn)行了擴(kuò)展。如果服務(wù)需要調(diào)用者以附件形式提供數(shù)據(jù)或者服務(wù)的返 回結(jié)果中包含參數(shù),則必須在其WSDL描述中指明參數(shù)與附件的關(guān)聯(lián)關(guān)系。為此, 本實(shí)施例對(duì)WSDL進(jìn)行了擴(kuò)展,引入了 3個(gè)新的元素,分別是Relation、 Parameter 和Note?;谶@三個(gè)元素在WSDL中指明參數(shù)與附件的關(guān)聯(lián)關(guān)系的方法如下(1) 對(duì)于每個(gè)要關(guān)聯(lián)附件的參數(shù)在服務(wù)的WSDL文檔中生成一個(gè)對(duì)應(yīng)的Relation元素;(2) Relation元素的第一個(gè)子元素必須是Parameter元素,Parameter元素的值為服
務(wù)所定義的輸入?yún)?shù)中的某一個(gè);(3) Relation元素的第二個(gè)子元素必須是Note元
素,該元素為本關(guān)聯(lián)的說(shuō)明信息,指明該種關(guān)聯(lián)的含義。與上文例子中擴(kuò)展SOAP
請(qǐng)求對(duì)應(yīng)服務(wù)"UploadMcwie"對(duì)應(yīng)的服務(wù)描述片段如下所示
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
< xml version-" 1.0" encoding="utf-8" > <esoap:Envelope
xmlns:xsi="http:〃www. w3.org/2001/XMLSchema-instance" xmlns:xsd-"http:〃www.w3 .org/2001/XMLSchema" xmlns:esoap="http:〃dsp.ac.cn/enhanced-soap/envelope/"> <esoap:Body>
<VideoTranscodeResponse xmlns="http:〃tempuri.org">
<VideoTranscodeResult>True</VideoTranscodeResult> </VideoTranscodeResponse> <esoap:Attachments> <ContentId>
<esoap:File>video—cdl—trans.flv</esoap:File> <esoap:File>video—cd2—trans.flv</esoap:File> </ContentId> </esoap: Attachments> </esoap:Body> </esoap:Envelope>
—attachment part—
上述描述片段中Attachments元素內(nèi)容為擴(kuò)展SOAP請(qǐng)求對(duì)應(yīng)的的參數(shù)-附件關(guān) 聯(lián)關(guān)系定義。對(duì)于每個(gè)參數(shù)附件關(guān)聯(lián)關(guān)系集合,通過(guò)一個(gè)Relation元素來(lái)定義,該 元素包含兩個(gè)子元素,其中Parameter指明參數(shù)名稱(必須是服務(wù)的參數(shù)),Note則 是對(duì)該關(guān)聯(lián)的含義進(jìn)行說(shuō)明,在上文第一個(gè)Relation元素中由Parameter元素指明了 要關(guān)聯(lián)附件的參數(shù)為Name,并由Note元素指明關(guān)聯(lián)到本參數(shù)的附件為電影的視頻 文件。服務(wù)調(diào)用者在調(diào)用服務(wù)前通過(guò)查看服務(wù)的WSDL描述判斷服務(wù)請(qǐng)求是否需要 攜帶附件信息,以及獲得服務(wù)反饋結(jié)果中是否包含附件。
服務(wù)調(diào)用過(guò)程
上文給出了擴(kuò)展SOAP消息的格式,現(xiàn)在給出進(jìn)行多媒體服務(wù)調(diào)用時(shí),客戶端 與服務(wù)端的交互過(guò)程。首先定義如下系統(tǒng)實(shí)體(1)應(yīng)用程序多媒體服務(wù)的消費(fèi) 者;(2)擴(kuò)展SOAP客戶端用于為應(yīng)用程序提供透明的服務(wù)調(diào)用;G)HTTP服務(wù) 器為應(yīng)用程序提供服務(wù)的接入點(diǎn);(4)擴(kuò)展SOAP服務(wù)器端 一個(gè)嵌入在HTTP服務(wù)器中的模塊,專門(mén)用于與擴(kuò)展SOAP客戶端交互,完成服務(wù)調(diào)用過(guò)程;(5)服 務(wù)完成某一個(gè)功能的程序模塊。在這些實(shí)體中,擴(kuò)展SOAP客戶端實(shí)際上并不是 一個(gè)獨(dú)立的實(shí)體,它是嵌入到應(yīng)用程序中的。下面基于附圖1給出服務(wù)調(diào)用過(guò)程中 各實(shí)體的交互過(guò)程
步驟l、服務(wù)的消費(fèi)者(可能是應(yīng)用程序、業(yè)務(wù)流程引擎或其他服務(wù)等)通過(guò)調(diào) 用擴(kuò)展SOAP客戶端(以下簡(jiǎn)稱為EC)提供的函數(shù)CallService啟動(dòng)一個(gè)服務(wù)的調(diào)用 過(guò)程,應(yīng)用程序必須在該函數(shù)中為EC指明四個(gè)方面的內(nèi)容作為其輸入?yún)?shù)①所 要調(diào)用的服務(wù)的WSDL描述或其地址,②所要調(diào)用服務(wù)的名稱;③所要調(diào)用服務(wù) 各個(gè)輸入?yún)?shù)的實(shí)例值; 以[參數(shù)名,附件]的格式指明所要關(guān)聯(lián)的附件;
步驟2、 EC針對(duì)該調(diào)用請(qǐng)求,首先分析應(yīng)用程序輸入?yún)?shù)是否準(zhǔn)確,主要檢查 所要調(diào)用的服務(wù)名稱是否在所指定服務(wù)描述中存在,與及參數(shù)是否有遺漏、所指定 的參數(shù)附件關(guān)聯(lián)關(guān)系是否遵循服務(wù)描述等,如果檢査不通過(guò)則向應(yīng)用程序返回輸入 參數(shù)錯(cuò)誤信息;否則,EC調(diào)用GenESQMainpart函數(shù)開(kāi)始構(gòu)造擴(kuò)展SOAP請(qǐng)求消息 主體,構(gòu)造完成后根據(jù)服務(wù)WSDL描述中綁定的服務(wù)地址發(fā)出該服務(wù)調(diào)用請(qǐng)求;發(fā) 出該請(qǐng)求后,如果該被調(diào)用的服務(wù)中沒(méi)有指明需要附件,則EC進(jìn)入接收調(diào)用反饋消 息狀態(tài),否則轉(zhuǎn)到步驟5;
步驟3、服務(wù)所在的Web服務(wù)器接收到該請(qǐng)求后,首先檢査該請(qǐng)求的類型,如 果不是自行進(jìn)行應(yīng)答,否則將該請(qǐng)求轉(zhuǎn)發(fā)給擴(kuò)展SOAP服務(wù)器模塊(以下簡(jiǎn)稱為ES) 處理;
步驟4、 ES調(diào)用MPAnalyze函數(shù)分析請(qǐng)求消息主體,如果該消息不含附件,則 轉(zhuǎn)步驟10;否則,ES生成一個(gè)公開(kāi)密鑰對(duì),并將公鑰發(fā)送給EC, ES等待接收EC 發(fā)送的附件;
步驟5、 EC等待ES發(fā)送本次會(huì)話所需要的公鑰,并接收該公鑰,設(shè)置/=1;
歩驟6、 EC首先為應(yīng)用程序所指定的第/個(gè)附件生成加密密鑰,之后調(diào)用 GenFileMetadata函數(shù)生成附件元數(shù)據(jù)信息各個(gè)域的值,其中加密密鑰使用ES發(fā)送的 公鑰進(jìn)行加密,生成完成后將該消息發(fā)送給ES;
歩驟7、 ES收到附件元數(shù)據(jù)信息后,調(diào)用GetAttachmentlnfo函數(shù)解析出各個(gè)對(duì) 應(yīng)域的信息,并使用其第4歩所生成公鑰對(duì)的私鑰對(duì)附件的加密密鑰進(jìn)行解密,其 后開(kāi)始等待接收附件所包含的二進(jìn)制數(shù)據(jù);
步驟8、 EC從附件文件中順序讀取EBS域所指大小的數(shù)據(jù)塊,使用附件加密密 鑰進(jìn)行加密后后發(fā)送給ES,ES接收該數(shù)據(jù)塊后使用其解析出的附件加密密鑰進(jìn)行解 密并存儲(chǔ),該過(guò)程持續(xù)進(jìn)行直至整個(gè)附件數(shù)據(jù)發(fā)送完畢——ES根據(jù)附件的大小來(lái)確定該附件是否接收完畢;本步驟中附件數(shù)據(jù)塊進(jìn)行加密的算法如下
假設(shè)附件的加密秘鑰為K(K至少為128位),按從左到右順序表示成, 其中A包含K中的第x64至!'x64—l比特位,設(shè)V^y^Orv4w-7 , C2=X7 , (3-產(chǎn)』2 ,則第m (0S")個(gè)將被發(fā)送的附件數(shù)據(jù)塊的加密密鑰C^由下列公式計(jì)算獲 得
C KCW—,+ Cw—:)ModM , m蘭0 (1) 上述公式中進(jìn)行加法運(yùn)算時(shí)默認(rèn)將比特串轉(zhuǎn)換為對(duì)應(yīng)的無(wú)符號(hào)整數(shù)。計(jì)算出Cw 后,對(duì)第m個(gè)數(shù)據(jù)塊進(jìn)行加密的算法如下所示(em為將被加密的數(shù)據(jù)塊)
Algorithm泣reaw五尸L/Ewco^ (SharedKey: K, PrivateKey: cm, EPU: em ) begin
D=uint(cm).
while( D>0 ) R=DModN.
e,e,+jR ,/ E
D=D/ N. end while end
上述算法中調(diào)用了函數(shù)五co^km五/^/(X:, ej,該函數(shù)用于對(duì)加密數(shù)據(jù)進(jìn)行預(yù)處 理,實(shí)際上是一個(gè)加擾的過(guò)程,具體算法如下(EI為附件元數(shù)據(jù)信息域 Encryption-Intensity所指明的加密強(qiáng)度值)
Algorithm五c,"'o"五尸C7 (EncryptionKey: K, EPU: e )
begin
uint loop = (K丄e"g&仍x(uint) (100 / EI). b=0.
while ( b< e丄e/ g^(9 ) te丄e"g決(9 二 b . r = t > K丄e"gr/z(9 K』e"-(9 , t. for (i = 0; i < r; i++) e&+>= e&+,. Xor K,. cud for b=b+loop. end while
end步驟9、檢查是否還有別的附件要發(fā)送,如果有設(shè)置并轉(zhuǎn)到步驟6,否則 表示整個(gè)擴(kuò)展SOAP請(qǐng)求接收完畢,轉(zhuǎn)下一步驟;
步驟IO、在擴(kuò)展SOAP請(qǐng)求中抽取出服務(wù)所在模塊名稱,以該名稱為參數(shù)調(diào)用 ServiceModelarLoad函數(shù)動(dòng)態(tài)加載該模塊到ES中;
步驟ll、在擴(kuò)展SOAP消息中抽取出調(diào)用服務(wù)的名稱和各個(gè)參數(shù)的值,以其為 參數(shù)在上一步驟所加載模塊中調(diào)用相應(yīng)的函數(shù),并獲得函數(shù)的返回值;
在多媒體應(yīng)用領(lǐng)域,附件作為函數(shù)的輸入數(shù)據(jù)是非常普遍的,這導(dǎo)致擴(kuò)展SOAP 服務(wù)器與服務(wù)所在組件之間的交互比目前標(biāo)準(zhǔn)的SOAP調(diào)用遠(yuǎn)為復(fù)雜首先附件信 息必須有效的傳遞給服務(wù),其次如果服務(wù)返回結(jié)果中包含附件則服務(wù)還必須將附件 信息提供給服務(wù)器。為此,本實(shí)施例要求服務(wù)(函數(shù))所在的類必須按照以下模版
進(jìn)行開(kāi)發(fā)
public class ClassName
public ClassName ( string ESQMB )
{ …." }
public string GetAttachmentlnfo ()
{ ...... }
......〃service functions
即首先必須定義構(gòu)造函數(shù),通過(guò)該函數(shù)擴(kuò)展SOAP服務(wù)器通過(guò)該函數(shù)將經(jīng)過(guò)更 新(主要是將附件在服務(wù)器中的路徑信息添加到Attachment元素中)的SOAP請(qǐng)求 消息頭部作為參數(shù)傳遞給服務(wù),以此使服務(wù)可以存取附件;其次,必須定義 GetAttachmentlnfo函數(shù),擴(kuò)展SOAP服務(wù)器通過(guò)調(diào)用該函數(shù)査詢服務(wù)反饋中是否包 含附件;
步驟12、ES調(diào)用函數(shù)GenESSMainPart產(chǎn)生服務(wù)調(diào)用反饋消息頭部并發(fā)送給EC, 然后ES調(diào)用函數(shù)GetAttachmentlnfo檢查服務(wù)是否有附件需要返回給服務(wù)調(diào)用者, 如果沒(méi)有附件返回,ES直接關(guān)閉與EC的連接,否則發(fā)送完附件后關(guān)閉該連接(如 果有附件需要返回則附件的發(fā)送過(guò)程與上面EC發(fā)送附件給ES的過(guò)程一致);
步驟13、 EC接收ES發(fā)送的擴(kuò)展SOAP請(qǐng)求反饋消息后,抽取出調(diào)用結(jié)果并返 回給應(yīng)用程序,結(jié)束服務(wù)調(diào)用過(guò)程;
附圖1給出了一個(gè)基于上述過(guò)程的服務(wù)調(diào)用示例時(shí)序圖,該例子中服務(wù)請(qǐng)求和 反饋中都包含了一個(gè)附件。上述服務(wù)調(diào)用過(guò)程中服務(wù)器端的主要活動(dòng)列于附圖2。服 務(wù)器端是一個(gè)包含擴(kuò)展SOAP服務(wù)處理單元的通用HTTP協(xié)議服務(wù)器。服務(wù)器啟動(dòng)后,開(kāi)始偵聽(tīng)來(lái)自客戶端的請(qǐng)求,如果該請(qǐng)求是服務(wù)調(diào)用請(qǐng)求則將由擴(kuò)展SOAP服 務(wù)處理單元進(jìn)行處理。擴(kuò)展SOAP處理單元首先對(duì)請(qǐng)求消息進(jìn)行分析,如果該請(qǐng)求 中包含附件則啟動(dòng)附件接收過(guò)程。首先擴(kuò)展SOAP處理單元生成用于本次會(huì)話的公 開(kāi)密鑰對(duì),并將公鑰發(fā)送給客戶端,客戶端將使用該公鑰加密每個(gè)附件的對(duì)稱加密 密鑰。每個(gè)附件的接收過(guò)程包含兩個(gè)步驟(1)接收客戶端發(fā)送的附件元數(shù)據(jù)信息, 并抽取接收附件數(shù)據(jù)所需的密鑰和文件長(zhǎng)度等信息;(2)按照附件元數(shù)據(jù)信息中指 明的數(shù)據(jù)塊規(guī)模,逐塊接收并解密附件的二進(jìn)制數(shù)據(jù),直至指定的文件長(zhǎng)度。接收 完所有附件之后根據(jù)服務(wù)請(qǐng)求所指明的服務(wù)加載相應(yīng)的軟件模塊,完成服務(wù)對(duì)應(yīng)函 數(shù)的調(diào)用,并將服務(wù)的調(diào)用結(jié)果進(jìn)行封裝生成服務(wù)反饋消息并發(fā)送給客戶端。如果 反饋消息中包含附件,則擴(kuò)展SOAP處理單元發(fā)送完反饋消息頭部后,開(kāi)始等待客 戶端發(fā)送其公鑰(客戶端接收反饋消息頭部后,經(jīng)分析若發(fā)現(xiàn)反饋消息中包含附件, 則它將生成本次會(huì)話所用的公開(kāi)密鑰對(duì),并將公鑰發(fā)送給擴(kuò)展SOAP處理單元);接 收該公鑰后,對(duì)每個(gè)需要發(fā)送的附件使用以下步驟進(jìn)行發(fā)送(1)生成一個(gè)附件加
密所用的對(duì)稱密鑰,并使用接收到公開(kāi)密鑰進(jìn)行加密,之后構(gòu)造附件元數(shù)據(jù)信息,
并發(fā)送給客戶端;(2)按照附件元數(shù)據(jù)信息中所指明的加密數(shù)據(jù)塊大小,逐塊讀取 附件數(shù)據(jù)加密后發(fā)送給客戶端,直至發(fā)送完所有的附件數(shù)據(jù)。
本發(fā)明給出了一種兼容WebService現(xiàn)有標(biāo)準(zhǔn)的支持?jǐn)?shù)據(jù)密集型多媒體服務(wù)遠(yuǎn)程 調(diào)用的擴(kuò)展SOAP模型,基于該模型給出的方法可在多媒體業(yè)務(wù)的開(kāi)展中采用面向 服務(wù)架構(gòu)技術(shù)通過(guò)服務(wù)組合的方式迅速的開(kāi)發(fā)新業(yè)務(wù)與及與其他類型的信息服務(wù)進(jìn) 行集成;同時(shí)在面向服務(wù)架構(gòu)下由于各個(gè)功能組件(服務(wù))相對(duì)獨(dú)立(松耦合),這 有利于降低系統(tǒng)的維護(hù)和升級(jí)成本。與帶附件SOAP消息和XML 二進(jìn)制數(shù)據(jù)優(yōu)化打 包技術(shù)進(jìn)行相比,采用本發(fā)明給出的方法在進(jìn)行數(shù)據(jù)密集型多媒體服務(wù)調(diào)用,由于 不需要將二進(jìn)制數(shù)據(jù)轉(zhuǎn)碼成文本并打包,因此不會(huì)導(dǎo)致突發(fā)地大量?jī)?nèi)存的占用同時(shí) 極大地降低了服務(wù)調(diào)用的等待時(shí)間。在本發(fā)明的實(shí)現(xiàn)系統(tǒng)中,對(duì)于同一服務(wù)其等待 時(shí)間縮短50%以上。另一方面,本發(fā)明將數(shù)字內(nèi)容的保護(hù)納入到整個(gè)多媒體服務(wù)調(diào) 用框架之中,避免了使用WS-Security進(jìn)行整體消息加密所帶來(lái)的低效率,同時(shí)可以 使應(yīng)用程序設(shè)計(jì)者擺脫復(fù)雜的內(nèi)容安全議題,專著于業(yè)務(wù)設(shè)計(jì)。基于多媒體數(shù)據(jù)時(shí) 空相關(guān)性強(qiáng)這一特征,本發(fā)明使用數(shù)據(jù)位交錯(cuò)結(jié)合異或運(yùn)算,達(dá)到僅加密部分?jǐn)?shù)據(jù) 獲得接近完全加密(從內(nèi)容解碼的角度)的效果;并且,用戶可根據(jù)不同的內(nèi)容等 級(jí)設(shè)置不同的加密強(qiáng)度, 一般加密強(qiáng)度在30%左右即可達(dá)到完全加密的效果,此時(shí) 與采用AES進(jìn)行完全加密方法相比,可節(jié)省約80%的數(shù)據(jù)加密時(shí)間。
權(quán)利要求
1、一種基于擴(kuò)展SOAP的數(shù)據(jù)密集型多媒體服務(wù)調(diào)用方法,涉及的實(shí)體包括擴(kuò)展SOAP客戶端和擴(kuò)展SOAP服務(wù)器端,所述多媒體服務(wù)調(diào)用方法包括如下步驟1)擴(kuò)展SOAP客戶端向擴(kuò)展SOAP服務(wù)器端發(fā)送擴(kuò)展SOAP請(qǐng)求消息,所述擴(kuò)展SOAP請(qǐng)求消息包括消息主體部分和附件部分,所述消息主體部分包括所請(qǐng)求服務(wù)的名稱,所請(qǐng)求服務(wù)的參數(shù)名稱和實(shí)例值,以及所述參數(shù)名稱與附件的關(guān)聯(lián)關(guān)系;所述附件部分包括與所述消息主體部分所請(qǐng)求服務(wù)的參數(shù)名稱相關(guān)聯(lián)的附件實(shí)體,所述附件實(shí)體包括附件元數(shù)據(jù)信息和附件文件所包含的二進(jìn)制數(shù)據(jù);2)擴(kuò)展SOAP服務(wù)器端接收到所述擴(kuò)展SOAP請(qǐng)求消息,調(diào)用該請(qǐng)求消息中所請(qǐng)求的服務(wù)對(duì)應(yīng)的功能函數(shù)并獲得計(jì)算結(jié)果,所述計(jì)算結(jié)果包括需返回的函數(shù)返回值與及某些可能的經(jīng)過(guò)處理的附件數(shù)據(jù);3)擴(kuò)展SOAP服務(wù)器端向擴(kuò)展SOAP客戶端返回?cái)U(kuò)展SOAP反饋消息,所述擴(kuò)展SOAP反饋消息攜帶步驟2)中得到的計(jì)算結(jié)果。
2、 根據(jù)權(quán)利要求1所述的基于擴(kuò)展SOAP的數(shù)據(jù)密集型多媒體服務(wù)調(diào)用方法, 其特征在于,所述服務(wù)的WSDL描述中指明該服務(wù)中的參數(shù)與附件的關(guān)聯(lián)關(guān)系。
3、 根據(jù)權(quán)利要求2所述的基于擴(kuò)展SOAP的數(shù)據(jù)密集型多媒體服務(wù)調(diào)用方法, 其特征在于,所述服務(wù)的WSDL描述中包括元素Relation、 Parameter禾B Note;所 述Relation、 Parameter和Note用于在WSDL中指明參數(shù)與附件的關(guān)聯(lián)關(guān)系;對(duì)于每 個(gè)要關(guān)聯(lián)附件的參數(shù),在服務(wù)的WSDL文檔中生成一個(gè)對(duì)應(yīng)的Relation元素;Relation 元素的第一個(gè)子元素是Parameter元素,Parameter元素的值為服務(wù)所定義的輸入?yún)?shù) 中的某一個(gè);Relation元素的第二個(gè)子元素是Note元素,該元素為本關(guān)聯(lián)的說(shuō)明信 息,指明本關(guān)聯(lián)的含義。
4、 根據(jù)權(quán)利要求3所述的基于擴(kuò)展SOAP的數(shù)據(jù)密集型多媒體服務(wù)調(diào)用方法, 其特征在于,涉及的實(shí)體還包括應(yīng)用程序,所述歩驟l)之前,還包括如下步驟應(yīng)用程序啟動(dòng)服務(wù)調(diào)用過(guò)程,向擴(kuò)展SOAP客戶端指明服務(wù)調(diào)用信息,所述調(diào) 用信息包括所調(diào)用的服務(wù)的WSDL描述或其地址,所調(diào)用服務(wù)的名稱,所調(diào)用服務(wù) 的各個(gè)輸入?yún)?shù)的實(shí)例值,以及參數(shù)與附件的關(guān)聯(lián)關(guān)系。
5、 根據(jù)權(quán)利要求4所述的基于擴(kuò)展SOAP的數(shù)據(jù)密集型多媒體服務(wù)調(diào)用方法, 其特征在于,所述步驟O中,所述擴(kuò)展SOAP客戶端根據(jù)所述應(yīng)用程序所指明的信 息構(gòu)造所述擴(kuò)展SOAP請(qǐng)求消息。
6、 根據(jù)權(quán)利要求1所述的基于擴(kuò)展SOAP的數(shù)據(jù)密集型多媒體服務(wù)調(diào)用方法, 其特征在于,所述擴(kuò)展SOAP請(qǐng)求消息通過(guò)Web服務(wù)器轉(zhuǎn)發(fā)給擴(kuò)展SOAP服務(wù)器端。
7、 根據(jù)權(quán)利要求1所述的基于擴(kuò)展SOAP的數(shù)據(jù)密集型多媒體服務(wù)調(diào)用方法, 其特征在于,所述歩驟l)中,所述擴(kuò)展SOAP客戶端首先發(fā)送消息主體部分,然后 再發(fā)送附件部分。
8、 根據(jù)權(quán)利要求1所述的基于擴(kuò)展SOAP的數(shù)據(jù)密集型多媒體服務(wù)調(diào)用方法, 其特征在于,所述步驟3)中,所述計(jì)算結(jié)果包含附件時(shí),所述擴(kuò)展SOAP反饋消息 包括消息主體部分和附件部分,所述計(jì)算結(jié)果不包含附件時(shí),所述擴(kuò)展SOAP反饋消 息包括消息主體部分,不包括附件部分;所述步驟3)中,擴(kuò)展SOAP服務(wù)器端首先 發(fā)送消息主體部分,然后查詢計(jì)算結(jié)果中是否包含附件,當(dāng)包含附件時(shí),所述擴(kuò)展 SOAP服務(wù)器發(fā)送附件部分,否則,斷開(kāi)與所述擴(kuò)展SOAP客戶端的連接。
9、 根據(jù)權(quán)利要求7或8所述的基于擴(kuò)展SOAP的數(shù)據(jù)密集型多媒體服務(wù)調(diào)用方 法,其特征在于,所述附件部分進(jìn)行加密傳輸,加密方法是使用一個(gè)全局密鑰對(duì)數(shù) 據(jù)塊中的數(shù)據(jù)進(jìn)行有選擇的加密,并使用一個(gè)與每個(gè)數(shù)據(jù)塊對(duì)應(yīng)的流式密鑰對(duì)各數(shù) 據(jù)塊進(jìn)行交錯(cuò)加密處理。
全文摘要
本發(fā)明涉及一種基于擴(kuò)展SOAP的數(shù)據(jù)密集型多媒體服務(wù)調(diào)用方法,涉及的實(shí)體包括擴(kuò)展SOAP客戶端和擴(kuò)展SOAP服務(wù)器端,所述調(diào)用方法包括1)客戶端向服務(wù)器端發(fā)送擴(kuò)展SOAP請(qǐng)求消息,該消息包括消息主體部分和附件部分,所述消息主體部分包括所請(qǐng)求服務(wù)的名稱,所請(qǐng)求服務(wù)的參數(shù)名稱和實(shí)例值,以及參數(shù)名稱與附件的關(guān)聯(lián)關(guān)系;所述附件部分包括與所請(qǐng)求服務(wù)的參數(shù)名稱相關(guān)聯(lián)的附件實(shí)體,所述附件實(shí)體包括附件元數(shù)據(jù)信息和附件文件所包含的二進(jìn)制數(shù)據(jù);2)服務(wù)器端接收到所述擴(kuò)展SOAP請(qǐng)求消息,調(diào)用該消息中所請(qǐng)求的服務(wù)對(duì)應(yīng)的功能函數(shù)并獲得計(jì)算結(jié)果,所述計(jì)算結(jié)果包括需返回的函數(shù)返回值和某些可能的經(jīng)過(guò)處理的附件數(shù)據(jù);3)服務(wù)器端向客戶端返回?cái)U(kuò)展SOAP反饋消息,該消息攜帶步驟2)中得到的計(jì)算結(jié)果。
文檔編號(hào)H04L12/18GK101645785SQ20091008330
公開(kāi)日2010年2月10日 申請(qǐng)日期2009年4月30日 優(yōu)先權(quán)日2009年4月30日
發(fā)明者李松斌, 王勁林, 鄧浩江, 君 陳 申請(qǐng)人:中國(guó)科學(xué)院聲學(xué)研究所
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
延边| 温宿县| 溆浦县| 界首市| 江口县| 六枝特区| 乐业县| 桦甸市| 石屏县| 大埔区| 井陉县| 万载县| 元朗区| 德昌县| 禹州市| 岑溪市| 奈曼旗| 青海省| 奉节县| 大宁县| 兴仁县| 沧源| 蒙阴县| 体育| 六枝特区| 满洲里市| 扶沟县| 定安县| 永年县| 河北省| 颍上县| 侯马市| 牟定县| 襄樊市| 冀州市| 马尔康县| 乌苏市| 桂平市| 桂平市| 涟源市| 炎陵县|