專利名稱:二進(jìn)制數(shù)據(jù)優(yōu)化傳輸系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)應(yīng)用技術(shù),尤其涉及一種Web Service環(huán)境下的二進(jìn)制數(shù)據(jù)優(yōu)化傳輸系統(tǒng)。
背景技術(shù):
Web服務(wù)(Web Service)是互聯(lián)網(wǎng)技術(shù)環(huán)境下一種日益廣泛應(yīng)用的分布式計(jì)算技術(shù)模式。由于面向開放的網(wǎng)絡(luò)協(xié)議,采用通用的技術(shù)和基礎(chǔ)設(shè)施,使其具有松散耦合、與語言平臺(tái)無關(guān)的特點(diǎn),開放性的特點(diǎn)使Web Service不斷發(fā)展,從而包容電子商務(wù)、企業(yè)應(yīng)用集成(EAI, Enterprise Application Integration)、中間件以及 Web 技術(shù)等領(lǐng)域。但 WebService的性能問題正成為阻礙Web Service進(jìn)一步發(fā)展的關(guān)鍵因素,尤其是Web Service在傳輸視頻、音頻、圖像等二進(jìn)制文件時(shí)表現(xiàn)出低效的技術(shù)缺陷。
現(xiàn)有基于Web Service的二進(jìn)制數(shù)據(jù)傳輸方案,通常是將二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成Base64編碼,嵌入在基于可擴(kuò)展標(biāo)記語言(XML, Extensible Markup Language)文本的簡單對(duì)象訪問協(xié)議(SOAP, Simple Object Access Protocol)消息中進(jìn)行傳遞,其中,SOAP是Web Service技術(shù)環(huán)境的標(biāo)準(zhǔn)傳輸協(xié)議。XML的文本屬性要求將二進(jìn)制文件轉(zhuǎn)換成Base64編碼嵌入其中。由于Base64的編碼規(guī)則,是將每三個(gè)8bit字節(jié)轉(zhuǎn)換成四個(gè)6bit字節(jié)(3*8=4*6=24),然后把6bit再添兩位高位0,因此這種對(duì)二進(jìn)制數(shù)據(jù)的XML序列化會(huì)造成SOAP消息體積約有33%的膨脹。SOAP消息體積的膨脹,不僅使得傳輸效率低下,也使得相應(yīng)的傳輸過程與序列化/反序列化過程消耗大量的時(shí)間和資源。為了避免傳輸效率較低以及傳輸過程與序列化/反序列化過程消耗的時(shí)間和資源,學(xué)術(shù)界和工業(yè)界提出了消息傳輸優(yōu)化機(jī)制(ΜΤ0Μ, Message TransmissionOptimization Mechanism),基于二進(jìn)制優(yōu)化打包(Χ0Ρ, XML-binary OptimizedPackaging),通過將二進(jìn)制數(shù)據(jù)直接封裝在SOAP消息體外,在原本屬于Base64編碼的位置加入標(biāo)識(shí)引用,指向二進(jìn)制附件信息。從而避免了因XML序列化而造成的消息體積膨脹,和序列化/反序列過程。在目前的環(huán)境中,雖然提出了 MTOM優(yōu)化機(jī)制,但MTOM的實(shí)現(xiàn)并不成熟,需要WebService開發(fā)者針對(duì)不同的應(yīng)用服務(wù),選擇相應(yīng)的開發(fā)引擎,定制并發(fā)布應(yīng)用服務(wù)方法,缺乏通用性,不利于為應(yīng)用服務(wù)提供快速、便捷的二進(jìn)制數(shù)據(jù)傳輸優(yōu)化功能。例如,如果開發(fā)者需要快速地為已完成開發(fā)、部署的Web Service應(yīng)用服務(wù)提供二進(jìn)制文件的MTOM優(yōu)化傳輸,首先需要在不同的Web Service開發(fā)引擎中選擇所需的引擎,例如,CXF、Xfire、JAX-WS、Axis、Axis2等,之后,需要開發(fā)者重新編寫或改寫針對(duì)不同類型二進(jìn)制文件的傳輸功能的代碼,配置 Web 服務(wù)描述語言(WSDL, Web Services Description Language)或 XML 結(jié)構(gòu)定義(XSD,XML Schemas Definition)文件,定制服務(wù)參數(shù),修改客戶端程序等。舉例來說,選擇JAX-WS為Web Service添加二進(jìn)制文件傳輸功能,首先應(yīng)在服務(wù)端修改代碼,添加或修改大量針對(duì)不同類型二進(jìn)制文件的讀取、編碼、生成報(bào)文、傳輸、接收等相關(guān)的代碼;之后,修改XSD文件和WSDL文件,對(duì)應(yīng)用服務(wù)新增或更新的功能進(jìn)行聲明,并根據(jù)修改的XSD文件和WSDL文件重新發(fā)布應(yīng)用服務(wù);最后,在客戶端的程序段中,通過代碼段編輯,添加與接收應(yīng)用服務(wù)文件等相關(guān)的程序。此外,針對(duì)Web Service的性能測(cè)試,往往需要借助外來的專業(yè)工具,但一些專業(yè)測(cè)試工具,如LoadRunner等,Web Service測(cè)試功能并不夠底層,無法直接針對(duì)不同服務(wù)的底層SOAP消息進(jìn)行性能數(shù)據(jù)的獲取。由上述可見,現(xiàn)有技術(shù)采用Base64編碼對(duì)二進(jìn)制數(shù)據(jù)進(jìn)行XML序列化傳輸二進(jìn)制數(shù)據(jù)的方法,導(dǎo)致SOAP消息膨脹、傳輸效率較低,影響了 Web Service的性能表現(xiàn);而采用 改進(jìn)的MTOM優(yōu)化機(jī)制傳輸二進(jìn)制數(shù)據(jù),也缺乏能夠?yàn)椴煌瑧?yīng)用服務(wù)提供快速實(shí)現(xiàn)、方便部署的通用優(yōu)化解決方案,需要針對(duì)不同的應(yīng)用服務(wù)進(jìn)行XSD文件和WSDL文件的修改、發(fā)布并編寫客戶端的程序代碼段,使得應(yīng)用服務(wù)的二進(jìn)制數(shù)據(jù)傳輸兼容性低,導(dǎo)致數(shù)據(jù)傳輸效率不高。
發(fā)明內(nèi)容
本發(fā)明的實(shí)施例提供一種二進(jìn)制數(shù)據(jù)優(yōu)化傳輸系統(tǒng),快速為Web服務(wù)提供二進(jìn)制數(shù)據(jù)優(yōu)化傳輸功能,提高不同應(yīng)用服務(wù)的二進(jìn)制數(shù)據(jù)傳輸?shù)募嫒菪?、提升?shù)據(jù)傳輸效率。為達(dá)到上述目的,本發(fā)明實(shí)施例提供的一種二進(jìn)制數(shù)據(jù)優(yōu)化傳輸系統(tǒng),包括客戶端模塊以及服務(wù)端模塊,其中,客戶端模塊,用于在加載后,根據(jù)用戶預(yù)先獲取的應(yīng)用服務(wù)描述文件輸入的信息,生成簡單對(duì)象訪問協(xié)議SOAP請(qǐng)求消息,輸出至服務(wù)端模塊;接收服務(wù)端模塊輸出的SOAP請(qǐng)求響應(yīng)消息,進(jìn)行解析,獲取SOAP請(qǐng)求響應(yīng)消息附件中包含的二進(jìn)制數(shù)據(jù),進(jìn)行展示;服務(wù)端模塊,用于預(yù)先設(shè)置應(yīng)用服務(wù)描述文件并進(jìn)行發(fā)布;接收客戶端模塊發(fā)送的SOAP請(qǐng)求消息,查詢獲取SOAP請(qǐng)求消息對(duì)應(yīng)的應(yīng)用服務(wù),將獲取的應(yīng)用服務(wù)信息進(jìn)行處理,生成SOAP請(qǐng)求響應(yīng)消息,輸出至客戶端模塊。較佳地,所述客戶端模塊包括S0AP消息處理單元、文件上傳處理單元以及文件下載接收單元,其中,SOAP消息處理單元,用于接收用戶根據(jù)預(yù)先獲取的應(yīng)用服務(wù)描述文件在底層輸入的信息,以及文件上傳處理單元輸出的信息,生成SOAP請(qǐng)求消息,輸出至服務(wù)端模塊;接收文件下載接收單元輸出的SOAP請(qǐng)求響應(yīng)消息,進(jìn)行解析,獲取SOAP請(qǐng)求響應(yīng)消息中包含的元數(shù)據(jù)以及二進(jìn)制數(shù)據(jù),將可擴(kuò)展標(biāo)記語言XML中的文件編碼還原成二進(jìn)制文件、或直接構(gòu)建接收到的二進(jìn)制流文件,并進(jìn)行展示;文件上傳處理單元,用于根據(jù)待上傳的應(yīng)用服務(wù),讀取預(yù)先設(shè)置的上傳圖片、音頻、視頻對(duì)應(yīng)的二進(jìn)制數(shù)據(jù)流,輸出至SOAP消息處理單元;文件下載接收單元,用于接收服務(wù)端模塊下發(fā)的SOAP請(qǐng)求響應(yīng)消息,傳遞給SOAP消息處理單元。較佳地,所述SOAP消息處理單元通過調(diào)用函數(shù)creatSoap生成SOAP消息,通過調(diào)用函數(shù)sendSoap發(fā)送SOAP消息,通過調(diào)用函數(shù)receiveSoap接收SOAP消息,通過調(diào)用函數(shù)encodeSoap解析SOAP消息。較佳地,所述二進(jìn)制數(shù)據(jù)包括圖片數(shù)據(jù)、視頻數(shù)據(jù)以及音頻數(shù)據(jù),其中,文件上傳處理單元通過調(diào)用函數(shù)getlmage上傳圖片數(shù)據(jù),通過調(diào)用函數(shù)getVideo上傳視頻數(shù)據(jù),通過調(diào)用函數(shù)getAudio上傳音頻數(shù)據(jù)。較佳地,所述文件下載接收單元進(jìn)一步用于在SOAP消息處理單元獲取SOAP請(qǐng)求響應(yīng)消息中包含的元數(shù)據(jù)以及二進(jìn)制數(shù)據(jù)后,通過調(diào)用函數(shù)creatlmage創(chuàng)建圖片數(shù)據(jù)存儲(chǔ)路徑,通過調(diào)用函數(shù)creatVideo創(chuàng)建視頻數(shù)據(jù)存儲(chǔ)路徑,通過調(diào)用函數(shù)creatAudio創(chuàng)建音頻數(shù)據(jù)存儲(chǔ)路徑。較佳地,所述客戶端模塊進(jìn)一步包括服務(wù)參數(shù)定制單元,用于定制用于性能測(cè)試功能的服務(wù)參數(shù),根據(jù)定制的服務(wù)參數(shù)發(fā)送用于測(cè)試的包含二進(jìn)制數(shù)據(jù)的SOAP請(qǐng)求消息;性能數(shù)據(jù)獲取單元,用于讀取第三方工具提供的流量監(jiān)測(cè)數(shù)據(jù),根據(jù)SOAP請(qǐng)求響應(yīng)消息附加的時(shí)間戳信息,獲取性能數(shù)據(jù)。較佳地,所述服務(wù)參數(shù)包括限時(shí)參數(shù)、線程數(shù)參數(shù)、每線程請(qǐng)求數(shù)參數(shù)、操作類型 參數(shù)、二進(jìn)制消息風(fēng)格參數(shù)、文件類型參數(shù)、文件大小參數(shù)、緩沖區(qū)大小參數(shù)中的一種或任意組合。較佳地,所述服務(wù)參數(shù)定制單元通過調(diào)用函數(shù)setType設(shè)置操作類型參數(shù),通過調(diào)用函數(shù)setFsize設(shè)置文件大小參數(shù),通過調(diào)用函數(shù)setFtype設(shè)置文件類型參數(shù),通過調(diào)用函數(shù)setBuffer設(shè)置緩沖區(qū)大小參數(shù),通過調(diào)用函數(shù)setThread設(shè)置線程數(shù)參數(shù)。較佳地,所述性能數(shù)據(jù)獲取單元通過調(diào)用函數(shù)getThroughout獲取吞吐率性能數(shù)據(jù);通過調(diào)用函數(shù)calAverage獲取平均響應(yīng)性能數(shù)據(jù);通過調(diào)用函數(shù)calCnt獲取統(tǒng)計(jì)限定時(shí)長內(nèi)的請(qǐng)求處理數(shù)性能數(shù)據(jù);通過調(diào)用函數(shù)writeLog獲取日志寫入性能數(shù)據(jù)。較佳地,所述服務(wù)端模塊包括S0AP消息處理單元、文件上傳接收單元、文件下載處理單元、Web服務(wù)描述語言WSDL配置單元以及端點(diǎn)發(fā)布單元,其中,SOAP消息處理單元,用于在底層接收SOAP請(qǐng)求消息,如果包括查詢標(biāo)識(shí),輸出至文件上傳接收單元,如果包括上傳標(biāo)識(shí),解析SOAP請(qǐng)求消息,獲取二進(jìn)制數(shù)據(jù),輸出至文件下載處理單元;獲取文件下載處理單元輸出的二進(jìn)制應(yīng)用服務(wù)數(shù)據(jù),封裝在SOAP請(qǐng)求響應(yīng)消息中,輸出至客戶端模塊;文件上傳接收單元,用于接收SOAP消息處理單元輸出的SOAP請(qǐng)求消息,查詢獲取SOAP請(qǐng)求消息對(duì)應(yīng)的包含元數(shù)據(jù)以及二進(jìn)制數(shù)據(jù)的應(yīng)用服務(wù)數(shù)據(jù),輸出至SOAP消息處理單元;文件下載處理單元,用于接收SOAP消息處理單元輸出的二進(jìn)制數(shù)據(jù),進(jìn)行存儲(chǔ);WSDL配置單元,用于讀取已發(fā)布的Web Service的應(yīng)用服務(wù)描述WSDL,獲取應(yīng)用服務(wù)描述文件,進(jìn)行修改和新功能聲明,并將進(jìn)行修改和新功能聲明的應(yīng)用服務(wù)描述文件輸出至端點(diǎn)發(fā)布單元;端點(diǎn)發(fā)布單元,用于接收WSDL配置單元輸出的應(yīng)用服務(wù)描述文件,進(jìn)行端點(diǎn)創(chuàng)建以及配置,并通過配置的端點(diǎn)發(fā)布應(yīng)用服務(wù)描述文件。較佳地,所述SOAP消息處理單元通過調(diào)用函數(shù)creatSoap生成SOAP消息,通過調(diào)用函數(shù)sendSoap發(fā)送SOAP消息,通過調(diào)用函數(shù)receiveSoap接收SOAP消息,通過調(diào)用函數(shù)encodeSoap解析SOAP消息。較佳地,所述文件上傳接收單元通過調(diào)用函數(shù)getlmage獲取SOAP請(qǐng)求消息對(duì)應(yīng)的二進(jìn)制數(shù)據(jù)流的圖片數(shù)據(jù),通過調(diào)用函數(shù)getVideo獲取SOAP請(qǐng)求消息對(duì)應(yīng)的視頻數(shù)據(jù),通過調(diào)用函數(shù)getAudio獲取SOAP請(qǐng)求消息對(duì)應(yīng)的音頻數(shù)據(jù)。較佳地,所述文件下載處理單元通過調(diào)用函數(shù)creatlmage創(chuàng)建圖片數(shù)據(jù)存儲(chǔ)路徑,通過調(diào)用函數(shù)creatVideo創(chuàng)建視頻數(shù)據(jù)存儲(chǔ)路徑,通過調(diào)用函數(shù)creatAudio創(chuàng)建音頻數(shù)據(jù)存儲(chǔ)路徑。較佳地,所述文件上傳接收單元以及文件下載處理單元共享調(diào)用函數(shù)getRawbytes,用于獲取二進(jìn)制數(shù)據(jù)字節(jié)流信息。較佳地,所述WSDL配置單元通過調(diào)用函數(shù)getWSDL獲取配置的應(yīng)用服務(wù)WSDL文件;通過調(diào)用函數(shù)editWSDL編輯應(yīng)用服務(wù)WSDL文件;通過調(diào)用函數(shù)setWSDL配置應(yīng)用服務(wù)WSDL文件。較佳地,所述端點(diǎn)發(fā)布單元通過調(diào)用函數(shù)creatEndpoint創(chuàng)建端點(diǎn);通過調(diào)用函數(shù)configEndpoint配置端點(diǎn);通過調(diào)用函數(shù)publish發(fā)布端點(diǎn)信息。
較佳地,所述該服務(wù)端模塊進(jìn)一步包括服務(wù)參數(shù)配置單元,用于對(duì)客戶端模塊定制的服務(wù)參數(shù)進(jìn)行配置。較佳地,所述服務(wù)參數(shù)配置單元可以通過調(diào)用函數(shù)getType獲取操作類型參數(shù),通過調(diào)用函數(shù)getFsize獲取文件大小參數(shù),通過調(diào)用函數(shù)getFtype獲取文件類型參數(shù),通過調(diào)用函數(shù)getBuffer獲取緩沖區(qū)大小參數(shù),通過調(diào)用函數(shù)getThread獲取線程數(shù)參數(shù)。由上述技術(shù)方案可見,本發(fā)明實(shí)施例提供的一種二進(jìn)制數(shù)據(jù)優(yōu)化傳輸系統(tǒng),客戶端模塊用于在加載后,根據(jù)用戶預(yù)先獲取的應(yīng)用服務(wù)描述文件輸入的信息,生成簡單對(duì)象訪問協(xié)議SOAP請(qǐng)求消息,輸出至服務(wù)端模塊;接收服務(wù)端模塊輸出的SOAP請(qǐng)求響應(yīng)消息,進(jìn)行解析,獲取SOAP請(qǐng)求響應(yīng)消息附件中包含的二進(jìn)制數(shù)據(jù),進(jìn)行展示;服務(wù)端模塊,用于預(yù)先設(shè)置應(yīng)用服務(wù)描述文件并進(jìn)行發(fā)布;接收客戶端模塊發(fā)送的SOAP請(qǐng)求消息,查詢獲取SOAP請(qǐng)求消息對(duì)應(yīng)的應(yīng)用服務(wù),將獲取的應(yīng)用服務(wù)信息進(jìn)行處理,生成SOAP請(qǐng)求響應(yīng)消息,輸出至客戶端模塊。這樣,通過實(shí)現(xiàn)通用的二進(jìn)制文件上傳和下載功能,自動(dòng)讀取服務(wù)描述、添加新增方法、自動(dòng)端點(diǎn)發(fā)布,可以快速為Web服務(wù)提供二進(jìn)制數(shù)據(jù)優(yōu)化傳輸功能,提高不同應(yīng)用服務(wù)的二進(jìn)制數(shù)據(jù)傳輸?shù)募嫒菪?、提升?shù)據(jù)傳輸效率。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,以下將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹。顯而易見地,以下描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員而言,還可以根據(jù)這些附圖所示實(shí)施例得到其它的實(shí)施例及其附圖。圖I為本發(fā)明實(shí)施例二進(jìn)制數(shù)據(jù)優(yōu)化傳輸系統(tǒng)結(jié)構(gòu)示意圖。圖2為本發(fā)明實(shí)施例客戶端模塊結(jié)構(gòu)示意圖。圖3為本發(fā)明實(shí)施例服務(wù)端模塊結(jié)構(gòu)示意圖。圖4為本發(fā)明實(shí)施例獲取的性能參數(shù)示意圖。圖5為本發(fā)明實(shí)施例優(yōu)化二進(jìn)制數(shù)據(jù)傳輸?shù)姆椒ň唧w流程示意圖。
具體實(shí)施例方式以下將結(jié)合附圖對(duì)本發(fā)明各實(shí)施例的技術(shù)方案進(jìn)行清楚、完整的描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)的前提下所得到的所有其它實(shí)施例,都屬于本發(fā)明所保護(hù)的范圍。現(xiàn)有采用改進(jìn)的MTOM優(yōu)化機(jī)制傳輸數(shù)據(jù),需要針對(duì)不同的應(yīng)用服務(wù)進(jìn)行XSD文件和WSDL文件的修改、發(fā)布并編寫客戶端的程序代碼段,缺乏能夠?yàn)椴煌?wù)提供快速實(shí)現(xiàn)、方便部署的通用優(yōu)化解決方案,使得不同應(yīng)用服務(wù)的二進(jìn)制數(shù)據(jù)傳輸兼容性低。本發(fā)明實(shí)施例中,考慮WSDL為一個(gè)基于XML的語言,用于描述Web service及其函數(shù)、參數(shù)和返回值,能根據(jù)Web service生成WSDL文件,又能導(dǎo)入WSDL文件,生成調(diào)用相應(yīng)Web service的代碼。因而,基于WSDL以及MTOM的傳輸優(yōu)化原理,提供一種類似即插即用組件效果的通用二進(jìn)制數(shù)據(jù)優(yōu)化傳輸系統(tǒng),利用JAVA語言和JAX-WS底層操作SOAP消息,實(shí)現(xiàn)通用的二進(jìn)制文件上傳和下載功能,自動(dòng)讀取服務(wù)描述、添加新增方法、自動(dòng)端點(diǎn)發(fā) 布,可以被現(xiàn)有Web Service引用,從而方便、快速地實(shí)現(xiàn)即插即用的針對(duì)二進(jìn)制文件的上傳/下載功能,即二進(jìn)制數(shù)據(jù)傳輸優(yōu)化;進(jìn)一步地,通過針對(duì)性的協(xié)作配合,例如,上傳操作與上傳接收、下載操作與下載接收,即通過模塊分離的設(shè)計(jì)保證了系統(tǒng)的通用性和MTOM優(yōu)化的快速實(shí)現(xiàn);而且,本發(fā)明實(shí)施例實(shí)現(xiàn)了客戶端對(duì)服務(wù)參數(shù)的定制,設(shè)計(jì)并實(shí)現(xiàn)獲取WebService傳輸性能數(shù)據(jù)的模塊,提供底層、精確的性能測(cè)試功能,從而提供快速、通用、便捷的Web Service 二進(jìn)制數(shù)據(jù)傳輸優(yōu)化及測(cè)試工具。圖I為本發(fā)明實(shí)施例二進(jìn)制數(shù)據(jù)優(yōu)化傳輸系統(tǒng)結(jié)構(gòu)示意圖。參見圖1,該系統(tǒng)包括客戶端模塊(Client Module)以及服務(wù)端模塊(Server Module),客戶端模塊和服務(wù)端模塊協(xié)同工作,為Web Service提供通用的二進(jìn)制文件上傳/下載功能,其中,客戶端模塊,用于在加載后,根據(jù)用戶預(yù)先獲取的應(yīng)用服務(wù)描述文件輸入的信息,生成SOAP請(qǐng)求消息,輸出至服務(wù)端模塊;接收服務(wù)端模塊輸出的SOAP請(qǐng)求響應(yīng)消息,進(jìn)行解析,獲取SOAP請(qǐng)求響應(yīng)消息附件中包含的二進(jìn)制數(shù)據(jù),進(jìn)行展示;本發(fā)明實(shí)施例中,用戶通過客戶端模塊,輸入待查詢的關(guān)鍵詞,客戶端模塊根據(jù)用戶輸入的關(guān)鍵詞,生成SOAP請(qǐng)求消息。SOAP請(qǐng)求消息包括消息主體和附件,其中,消息主體包括請(qǐng)求的應(yīng)用服務(wù)名稱、請(qǐng)求的應(yīng)用服務(wù)的參數(shù)名稱以及參數(shù)名稱與附件的關(guān)聯(lián)關(guān)系;附件包括附件元數(shù)據(jù)信息以及附件文件包含的二進(jìn)制數(shù)據(jù)。關(guān)于SOAP請(qǐng)求消息的詳細(xì)結(jié)構(gòu)及描述,與現(xiàn)有SOAP消息相同,具體可參見相關(guān)技術(shù)文獻(xiàn),在此不再贅述。應(yīng)用服務(wù)描述文件包括應(yīng)用服務(wù)描述WSDL文件以及應(yīng)用服務(wù)描述XSD文件。本發(fā)明實(shí)施例中,以應(yīng)用服務(wù)描述WSDL文件為例進(jìn)行說明。服務(wù)端模塊,用于預(yù)先設(shè)置應(yīng)用服務(wù)描述文件并進(jìn)行發(fā)布;接收客戶端模塊發(fā)送的SOAP請(qǐng)求消息,查詢獲取SOAP請(qǐng)求消息對(duì)應(yīng)的應(yīng)用服務(wù),將獲取的應(yīng)用服務(wù)信息進(jìn)行處理,生成SOAP請(qǐng)求響應(yīng)消息,輸出至客戶端模塊。本發(fā)明實(shí)施例中,在服務(wù)端模塊中預(yù)先設(shè)置應(yīng)用服務(wù)描述文件并進(jìn)行發(fā)布后,用戶可以獲取應(yīng)用服務(wù)的相關(guān)描述信息,例如,應(yīng)用服務(wù)包含的功能,對(duì)應(yīng)用服務(wù)功能進(jìn)行的修改或更新。將獲取的包含應(yīng)用服務(wù)的元數(shù)據(jù)以及二進(jìn)制數(shù)據(jù)的應(yīng)用服務(wù)信息作為SOAP請(qǐng)求響應(yīng)消息的附件。
圖2為本發(fā)明實(shí)施例客戶端模塊結(jié)構(gòu)示意圖。參見圖2,該客戶端模塊包括S0AP消息處理(SOAPHandler)單元、文件上傳處理單元以及文件下載接收單元,其中,SOAP消息處理單元,用于接收用戶根據(jù)預(yù)先獲取的應(yīng)用服務(wù)描述文件在底層輸入的信息,以及文件上傳處理單元輸出的信息,生成SOAP請(qǐng)求消息,輸出至服務(wù)端模塊;接收文件下載接收單元輸出的SOAP請(qǐng)求響應(yīng)消息,進(jìn)行解析,獲取SOAP請(qǐng)求響應(yīng)消息中包含的元數(shù)據(jù)以及二進(jìn)制數(shù)據(jù),將可擴(kuò)展標(biāo)記語言XML中的文件編碼還原成二進(jìn)制文件、或直接構(gòu)建接收到的二進(jìn)制流文件,并進(jìn)行展示;本發(fā)明實(shí)施例中,SOAP消息處理單元用于在底層生成、發(fā)送、接收、解析SOAP消息。其中,SOAP消息包括S0AP請(qǐng)求消息以及SOAP請(qǐng)求響應(yīng)消息。SOAP消息處理單元在底層將待傳輸?shù)臄?shù)據(jù)(用戶輸入或文件上傳處理單元輸出的待上傳的數(shù)據(jù))進(jìn)行編碼,將包含應(yīng)用服務(wù)的元數(shù)據(jù)以及二進(jìn)制數(shù)據(jù)的應(yīng)用服務(wù)信息作為 SOAP請(qǐng)求消息的附件,生成SOAP請(qǐng)求消息,輸出至服務(wù)端模塊;接收文件下載接收單元輸出的SOAP請(qǐng)求響應(yīng)消息,進(jìn)行解析,獲取SOAP請(qǐng)求響應(yīng)消息中附件中的二進(jìn)制數(shù)據(jù),并進(jìn)行展示。關(guān)于SOAP消息處理單元生成、發(fā)送、接收、解析SOAP消息的詳細(xì)描述,具體可參見相關(guān)技術(shù)文獻(xiàn),在此不再贅述。本發(fā)明實(shí)施例中,SOAP消息處理單元通過調(diào)用函數(shù)creatSoap生成SOAP消息,通過調(diào)用函數(shù)sendSoap發(fā)送SOAP消息,通過調(diào)用函數(shù)receiveSoap接收SOAP消息,通過調(diào)用函數(shù)encodeSoap解析SOAP消息。文件上傳處理(uploadOpera)單元,用于根據(jù)待上傳的應(yīng)用服務(wù),讀取預(yù)先設(shè)置的二進(jìn)制數(shù)據(jù)流,輸出至SOAP消息處理單元;本發(fā)明實(shí)施例中,文件上傳處理單元用于對(duì)用戶設(shè)置的二進(jìn)制數(shù)據(jù)進(jìn)行上傳,以實(shí)現(xiàn)共享。二進(jìn)制數(shù)據(jù)包括圖片數(shù)據(jù)、視頻數(shù)據(jù)以及音頻數(shù)據(jù),其中,通過調(diào)用函數(shù)getlmage上傳圖片數(shù)據(jù),通過調(diào)用函數(shù)getVideo上傳視頻數(shù)據(jù),通過調(diào)用函數(shù)getAudio上傳音頻數(shù)據(jù)。文件下載接收(downloadRece)單元,用于接收服務(wù)端模塊下發(fā)的SOAP請(qǐng)求響應(yīng)消息,傳遞給SOAP消息處理單元。本發(fā)明實(shí)施例中,文件下載接收單元用于從服務(wù)端模塊下載SOAP請(qǐng)求消息對(duì)應(yīng)的應(yīng)用服務(wù),調(diào)用 downloadRece 類中的 getRawbytes (String name)和 createlmage ()方法,生成對(duì)應(yīng)的JPG格式圖像。文件下載接收單元進(jìn)一步用于在SOAP消息處理單元獲取SOAP請(qǐng)求響應(yīng)消息中包含的元數(shù)據(jù)以及二進(jìn)制數(shù)據(jù)后,存儲(chǔ)解析的元數(shù)據(jù)以及二進(jìn)制數(shù)據(jù),具體來說,通過調(diào)用函數(shù)creatlmage創(chuàng)建圖片數(shù)據(jù)存儲(chǔ)路徑,通過調(diào)用函數(shù)creatVideo創(chuàng)建視頻數(shù)據(jù)存儲(chǔ)路徑,通過調(diào)用函數(shù)creatAudio創(chuàng)建音頻數(shù)據(jù)存儲(chǔ)路徑。文件上傳處理單元以及文件下載接收單元可以共享調(diào)用函數(shù)getRawbytes來獲取二進(jìn)制數(shù)據(jù)字節(jié)流信息。較佳地,客戶端模塊進(jìn)一步包括服務(wù)參數(shù)(setPara)定制單元,用于定制用于性能測(cè)試功能的服務(wù)參數(shù),根據(jù)定制的服務(wù)參數(shù)發(fā)送用于測(cè)試的包含二進(jìn)制數(shù)據(jù)的SOAP請(qǐng)求消息;
本發(fā)明實(shí)施例中,服務(wù)參數(shù)包括限時(shí)參數(shù)、線程數(shù)參數(shù)、每線程請(qǐng)求數(shù)參數(shù)、操作類型參數(shù)、二進(jìn)制消息風(fēng)格參數(shù)、文件類型參數(shù)、文件大小參數(shù)、緩沖區(qū)大小參數(shù)中的一種或任意組合。通過調(diào)用函數(shù)setType設(shè)置操作類型參數(shù),通過調(diào)用函數(shù)setFsize設(shè)置文件大小參數(shù),通過調(diào)用函數(shù)setFtype設(shè)置文件類型參數(shù),通過調(diào)用函數(shù)setBuffer設(shè)置緩沖區(qū)大小參數(shù),通過調(diào)用函數(shù)setThread設(shè)置線程數(shù)參數(shù)。表I為本發(fā)明實(shí)施例定制的服務(wù)參數(shù)表。表I
權(quán)利要求
1.一種二進(jìn)制數(shù)據(jù)優(yōu)化傳輸系統(tǒng),其特征在于,該系統(tǒng)包括客戶端模塊以及服務(wù)端模塊,其中, 客戶端模塊,用于在加載后,根據(jù)用戶預(yù)先獲取的應(yīng)用服務(wù)描述文件輸入的信息,生成簡單對(duì)象訪問協(xié)議SOAP請(qǐng)求消息,輸出至服務(wù)端模塊;接收服務(wù)端模塊輸出的SOAP請(qǐng)求響應(yīng)消息,進(jìn)行解析,獲取SOAP請(qǐng)求響應(yīng)消息附件中包含的二進(jìn)制數(shù)據(jù),進(jìn)行展示; 服務(wù)端模塊,用于預(yù)先設(shè)置 應(yīng)用服務(wù)描述文件并進(jìn)行發(fā)布;接收客戶端模塊發(fā)送的SOAP請(qǐng)求消息,查詢獲取SOAP請(qǐng)求消息對(duì)應(yīng)的應(yīng)用服務(wù),將獲取的應(yīng)用服務(wù)信息進(jìn)行處理,生成SOAP請(qǐng)求響應(yīng)消息,輸出至客戶端模塊。
2.根據(jù)權(quán)利要求I所述的系統(tǒng),其特征在于,所述客戶端模塊包括S0AP消息處理單元、文件上傳處理單元以及文件下載接收單元,其中, SOAP消息處理單元,用于接收用戶根據(jù)預(yù)先獲取的應(yīng)用服務(wù)描述文件在底層輸入的信息,以及文件上傳處理單元輸出的信息,生成SOAP請(qǐng)求消息,輸出至服務(wù)端模塊;接收文件下載接收單元輸出的SOAP請(qǐng)求響應(yīng)消息,進(jìn)行解析,獲取SOAP請(qǐng)求響應(yīng)消息中包含的元數(shù)據(jù)以及二進(jìn)制數(shù)據(jù),將可擴(kuò)展標(biāo)記語言XML中的文件編碼還原成二進(jìn)制文件、或直接構(gòu)建接收到的二進(jìn)制流文件,并進(jìn)行展示; 文件上傳處理單元,用于根據(jù)待上傳的應(yīng)用服務(wù),讀取預(yù)先設(shè)置的上傳圖片、音頻、視頻對(duì)應(yīng)的二進(jìn)制數(shù)據(jù)流,輸出至SOAP消息處理單元; 文件下載接收單元,用于接收服務(wù)端模塊下發(fā)的SOAP請(qǐng)求響應(yīng)消息,傳遞給SOAP消息處理單元。
3.根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于,所述SOAP消息處理單元通過調(diào)用函數(shù)creatSoap生成SOAP消息,通過調(diào)用函數(shù)sendSoap發(fā)送SOAP消息,通過調(diào)用函數(shù)receiveSoap接收SOAP消息,通過調(diào)用函數(shù)encodeSoap解析SOAP消息。
4.根據(jù)權(quán)利要求3所述的系統(tǒng),其特征在于,所述二進(jìn)制數(shù)據(jù)包括圖片數(shù)據(jù)、視頻數(shù)據(jù)以及音頻數(shù)據(jù),其中, 文件上傳處理單元通過調(diào)用函數(shù)getlmage上傳圖片數(shù)據(jù),通過調(diào)用函數(shù)getVideo上傳視頻數(shù)據(jù),通過調(diào)用函數(shù)getAudio上傳音頻數(shù)據(jù)。
5.根據(jù)權(quán)利要求4所述的系統(tǒng),其特征在于,所述文件下載接收單元進(jìn)一步用于在SOAP消息處理單元獲取SOAP請(qǐng)求響應(yīng)消息中包含的元數(shù)據(jù)以及二進(jìn)制數(shù)據(jù)后,通過調(diào)用函數(shù)creatlmage創(chuàng)建圖片數(shù)據(jù)存儲(chǔ)路徑,通過調(diào)用函數(shù)creatVideo創(chuàng)建視頻數(shù)據(jù)存儲(chǔ)路徑,通過調(diào)用函數(shù)creatAudio創(chuàng)建音頻數(shù)據(jù)存儲(chǔ)路徑。
6.根據(jù)權(quán)利要求2至5任一項(xiàng)所述的系統(tǒng),其特征在于,所述客戶端模塊進(jìn)一步包括 服務(wù)參數(shù)定制單元,用于定制用于性能測(cè)試功能的服務(wù)參數(shù),根據(jù)定制的服務(wù)參數(shù)發(fā)送用于測(cè)試的包含二進(jìn)制數(shù)據(jù)的SOAP請(qǐng)求消息; 性能數(shù)據(jù)獲取單元,用于讀取第三方工具提供的流量監(jiān)測(cè)數(shù)據(jù),根據(jù)SOAP請(qǐng)求響應(yīng)消息附加的時(shí)間戳信息,獲取性能數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述服務(wù)參數(shù)包括限時(shí)參數(shù)、線程數(shù)參數(shù)、每線程請(qǐng)求數(shù)參數(shù)、操作類型參數(shù)、二進(jìn)制消息風(fēng)格參數(shù)、文件類型參數(shù)、文件大小參數(shù)、緩沖區(qū)大小參數(shù)中的一種或任意組合。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述服務(wù)參數(shù)定制單元通過調(diào)用函數(shù)setType設(shè)置操作類型參數(shù),通過調(diào)用函數(shù)setFsize設(shè)置文件大小參數(shù),通過調(diào)用函數(shù)setFtype設(shè)置文件類型參數(shù),通過調(diào)用函數(shù)setBuffer設(shè)置緩沖區(qū)大小參數(shù),通過調(diào)用函數(shù)setThread設(shè)置線程數(shù)參數(shù)。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述性能數(shù)據(jù)獲取單元通過調(diào)用函數(shù)getThroughout獲取吞吐率性能數(shù)據(jù);通過調(diào)用函數(shù)calAverage獲取平均響應(yīng)性能數(shù)據(jù);通過調(diào)用函數(shù)calCnt獲取統(tǒng)計(jì)限定時(shí)長內(nèi)的請(qǐng)求處理數(shù)性能數(shù)據(jù);通過調(diào)用函數(shù)writeLog獲取日志寫入性能數(shù)據(jù)。
10.根據(jù)權(quán)利要求I所述的系統(tǒng),其特征在于,所述服務(wù)端模塊包括S0AP消息處理單元、文件上傳接收單元、文件下載處理單元、服務(wù)描述語言WSDL配置單元以及端點(diǎn)發(fā)布單元,其中, SOAP消息處理單元,用于在底層接收SOAP請(qǐng)求消息,如果包括查詢標(biāo)識(shí),輸出至文件上傳接收單元,如果包括上傳標(biāo)識(shí),解析SOAP請(qǐng)求消息,獲取二進(jìn)制數(shù)據(jù),輸出至文件下載處理單元;獲取文件下載處理單元輸出的二進(jìn)制應(yīng)用服務(wù)數(shù)據(jù),封裝在SOAP請(qǐng)求響應(yīng)消息中,輸出至客戶端模塊; 文件上傳接收單元,用于接收SOAP消息處理單元輸出的SOAP請(qǐng)求消息,查詢獲取SOAP請(qǐng)求消息對(duì)應(yīng)的包含元數(shù)據(jù)以及二進(jìn)制數(shù)據(jù)的應(yīng)用服務(wù)數(shù)據(jù),輸出至SOAP消息處理單元; 文件下載處理單元,用于接收SOAP消息處理單元輸出的二進(jìn)制數(shù)據(jù),進(jìn)行存儲(chǔ); WSDL配置單元,用于讀取已發(fā)布的Web Service的應(yīng)用服務(wù)描述WSDL,獲取應(yīng)用服務(wù)描述文件,進(jìn)行修改和新功能聲明,并將進(jìn)行修改和新功能聲明的應(yīng)用服務(wù)描述文件輸出至端點(diǎn)發(fā)布單元; 端點(diǎn)發(fā)布單元,用于接收WSDL配置單元輸出的應(yīng)用服務(wù)描述文件,進(jìn)行端點(diǎn)創(chuàng)建以及配置,并通過配置的端點(diǎn)發(fā)布應(yīng)用服務(wù)描述文件。
11.根據(jù)權(quán)利要求10所述的系統(tǒng),其特征在于,所述SOAP消息處理單元通過調(diào)用函數(shù)creatSoap生成SOAP消息,通過調(diào)用函數(shù)sendSoap發(fā)送SOAP消息,通過調(diào)用函數(shù)receiveSoap接收SOAP消息,通過調(diào)用函數(shù)encodeSoap解析SOAP消息。
12.根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,所述文件上傳接收單元通過調(diào)用函數(shù)getlmage獲取SOAP請(qǐng)求消息對(duì)應(yīng)的二進(jìn)制數(shù)據(jù)流的圖片數(shù)據(jù),通過調(diào)用函數(shù)getVideo獲取SOAP請(qǐng)求消息對(duì)應(yīng)的視頻數(shù)據(jù),通過調(diào)用函數(shù)getAudio獲取SOAP請(qǐng)求消息對(duì)應(yīng)的音頻數(shù)據(jù)。
13.根據(jù)權(quán)利要求12所述的系統(tǒng),其特征在于,所述文件下載處理單元通過調(diào)用函數(shù)creatlmage創(chuàng)建圖片數(shù)據(jù)存儲(chǔ)路徑,通過調(diào)用函數(shù)creatVideo創(chuàng)建視頻數(shù)據(jù)存儲(chǔ)路徑,通過調(diào)用函數(shù)creatAudio創(chuàng)建音頻數(shù)據(jù)存儲(chǔ)路徑。
14.根據(jù)權(quán)利要求13所述的系統(tǒng),其特征在于,所述文件上傳接收單元以及文件下載處理單元共享調(diào)用函數(shù)getRawbytes,用于獲取二進(jìn)制數(shù)據(jù)字節(jié)流信息。
15.根據(jù)權(quán)利要求14所述的系統(tǒng),其特征在于,所述WSDL配置單元通過調(diào)用函數(shù)getWSDL獲取配置的應(yīng)用服務(wù)WSDL文件;通過調(diào)用函數(shù)editWSDL編輯應(yīng)用服務(wù)WSDL文件;通過調(diào)用函數(shù)setWSDL配置應(yīng)用服務(wù)WSDL文件。
16.根據(jù)權(quán)利要求15所述的系統(tǒng),其特征在于,所述端點(diǎn)發(fā)布單元通過調(diào)用函數(shù)creatEndpoint創(chuàng)建端點(diǎn);通過調(diào)用函數(shù)configEndpoint配置端點(diǎn);通過調(diào)用函數(shù)publish發(fā)布端點(diǎn)信息。
17.根據(jù)權(quán)利要求10至16任一項(xiàng)所述的系統(tǒng),其特征在于,所述該服務(wù)端模塊進(jìn)一步包括 服務(wù)參數(shù)配置單元,用于對(duì)客戶端模塊定制的服務(wù)參數(shù)進(jìn)行配置。
18.根據(jù)權(quán)利要求17所述的系統(tǒng),其特征在于,所述服務(wù)參數(shù)配置單元可以通過調(diào)用函數(shù)getType獲取操作類型參數(shù),通過調(diào)用函數(shù)getFsize獲取文件大小參數(shù),通過調(diào)用函數(shù)getFtype獲取文件類型參數(shù),通過調(diào)用函數(shù)getBuffer獲取緩沖區(qū)大小參數(shù),通過調(diào)用函數(shù)getThread獲取線程數(shù)參數(shù)。
全文摘要
本發(fā)明公開了一種二進(jìn)制數(shù)據(jù)優(yōu)化傳輸系統(tǒng)??蛻舳四K在加載后,根據(jù)用戶預(yù)先獲取的應(yīng)用服務(wù)描述文件輸入的信息,生成簡單對(duì)象訪問協(xié)議SOAP請(qǐng)求消息,輸出至服務(wù)端模塊;接收服務(wù)端模塊輸出的SOAP請(qǐng)求響應(yīng)消息,進(jìn)行解析,獲取SOAP請(qǐng)求響應(yīng)消息附件中包含的二進(jìn)制數(shù)據(jù),進(jìn)行展示;服務(wù)端模塊,用于預(yù)先設(shè)置應(yīng)用服務(wù)描述文件并進(jìn)行發(fā)布;接收客戶端模塊發(fā)送的SOAP請(qǐng)求消息,查詢獲取SOAP請(qǐng)求消息對(duì)應(yīng)的應(yīng)用服務(wù),將獲取的應(yīng)用服務(wù)信息進(jìn)行處理,生成SOAP請(qǐng)求響應(yīng)消息,輸出至客戶端模塊。應(yīng)用本發(fā)明,可以快速為Web服務(wù)提供二進(jìn)制數(shù)據(jù)優(yōu)化傳輸功能,提高不同應(yīng)用服務(wù)的二進(jìn)制數(shù)據(jù)傳輸?shù)募嫒菪?、提升?shù)據(jù)傳輸效率。
文檔編號(hào)H04L29/08GK102970378SQ201210540240
公開日2013年3月13日 申請(qǐng)日期2012年12月13日 優(yōu)先權(quán)日2012年12月13日
發(fā)明者張家超, 傅永財(cái), 朱春玲, 鄭揚(yáng)飛, 吳瑜, 何巖, 賈曉霞, 劉毅, 張勇, 李聶 申請(qǐng)人:中國電子科技集團(tuán)公司第十五研究所