webService中soap消息的效率優(yōu)化裝置及方法
【專利摘要】本發(fā)明提供了一種webService中soap消息的效率優(yōu)化裝置,包括:服務(wù)請(qǐng)求端,用于發(fā)出soap請(qǐng)求消息,在獲得資源路徑時(shí)向遠(yuǎn)程數(shù)據(jù)服務(wù)器請(qǐng)求資源;業(yè)務(wù)服務(wù)器,用于根據(jù)soap請(qǐng)求消息,準(zhǔn)備業(yè)務(wù)數(shù)據(jù),檢查待返回的數(shù)據(jù)是否滿足向遠(yuǎn)程數(shù)據(jù)服務(wù)器存儲(chǔ)托管的要求,根據(jù)檢查結(jié)果進(jìn)行處理;遠(yuǎn)程數(shù)據(jù)服務(wù)器,用于接收資源標(biāo)識(shí),檢查本地是否已經(jīng)緩存過這個(gè)資源,根據(jù)檢查結(jié)果繼續(xù)處理。本發(fā)明還提供了一種webService中soap消息的效率優(yōu)化方法。通過本發(fā)明的技術(shù)方案,可以在現(xiàn)有的效率優(yōu)化方式基礎(chǔ)上,充分利用單對(duì)象類型完成多對(duì)象類型效率優(yōu)化,建立多對(duì)象類型參與的效率優(yōu)化的通用、統(tǒng)一優(yōu)化思路。
【專利說明】webService中soap消息的效率優(yōu)化裝置及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,具體地,涉及一種webService中soap消息的效率優(yōu)化裝置和一種webService中soap消息的效率優(yōu)化方法。
[0002]
【背景技術(shù)】
[0003]webservice技術(shù)在ERP系統(tǒng)中已經(jīng)被廣泛的使用。在傳統(tǒng)的webservice中依靠soap消息傳遞數(shù)據(jù)。soap消息使用xml格式,xml消息是比較冗長(zhǎng)的。而且在soap消息中,目前不只有簡(jiǎn)單的數(shù)據(jù),而且會(huì)有一些復(fù)雜類型的數(shù)據(jù),比如報(bào)表記錄,復(fù)雜對(duì)象以及數(shù)據(jù)結(jié)構(gòu)等等,還可以包括圖像,視頻,音頻等多媒體數(shù)據(jù)。并且,在ERP系統(tǒng)中,經(jīng)常會(huì)有短暫的業(yè)務(wù)高峰期,而在這個(gè)時(shí)期,某些業(yè)務(wù)會(huì)被頻繁的調(diào)用,比如月底的業(yè)務(wù)高峰期,大量的報(bào)表數(shù)據(jù)會(huì)使得網(wǎng)絡(luò)承受很大的壓力,如何改善webService的傳輸效率,尤其是在大數(shù)據(jù)場(chǎng)景下的效率,使在較低的網(wǎng)絡(luò)配置下,仍然能正常支持這種業(yè)務(wù)并保證性能。這是本文的立足點(diǎn)和待解決的問題。
[0004]目前對(duì)于復(fù)雜對(duì)象的傳輸,一般米用兩種方式:
⑴直接使用xml表示數(shù)據(jù):這種方式中,通過分解復(fù)雜類型的對(duì)象到基本類型,然后直接用xml來表達(dá)一個(gè)對(duì)象。
[0005]⑵序列化對(duì)象的方式:在這種方式中,需要先把對(duì)象序列化然后傳輸給對(duì)方,對(duì)方需要把對(duì)象反序列化,這種方式比較消耗系統(tǒng)資源。
[0006]另外,如果要在xml中表達(dá)多媒體數(shù)據(jù),如圖像、音頻、視頻等數(shù)據(jù),這樣就比較復(fù)雜,目前業(yè)內(nèi)一般米用兩種方式傳輸BLOB和CLOB數(shù)據(jù):
(I)用BASE64編碼,把要傳輸?shù)臄?shù)據(jù)直接作為soap消息中body的一部分;
這種方式的基本過程是:在服務(wù)器端讀取目標(biāo)BLOB資源(一般是序列化的對(duì)象,或者多媒體資源),將其保存在byte[]數(shù)據(jù)中。使用BASE64EnCoder編碼器將byte[]編碼為String。當(dāng)收到客戶端對(duì)此資源的請(qǐng)求時(shí),就返回這個(gè)String??蛻舳藦膕oap消息中讀取這個(gè)String后,再使用BASE64Decoder將此String解碼為byte []。對(duì)byte []進(jìn)行處理還原。
[0007]⑵作為MME附件,附加在soap消息中。
[0008]無論采用哪種方式,都會(huì)產(chǎn)生一系列的問題,首先如果在業(yè)務(wù)高峰期,會(huì)有大量的重復(fù)數(shù)據(jù)傳輸,這樣,多次的重復(fù)傳輸會(huì)大大增加業(yè)務(wù)服務(wù)器的壓力。其次,業(yè)務(wù)服務(wù)器在收到多個(gè)服務(wù)請(qǐng)求,傳輸遠(yuǎn)程對(duì)象,穩(wěn)定性也無法保證,這里是有很大的改進(jìn)余地的。
[0009]因此,需要一種新的webService中soap消息的效率優(yōu)化技術(shù),可以在現(xiàn)有的webService中soap消息的效率優(yōu)化方式基礎(chǔ)上,充分利用單對(duì)象類型完成多對(duì)象類型webService中soap消息的效率優(yōu)化,建立多對(duì)象類型參與的webService中soap消息的效率優(yōu)化的通用、統(tǒng)一優(yōu)化思路。
[0010]
【發(fā)明內(nèi)容】
[0011]本發(fā)明正是基于上述問題,提出了一種新的webservice中soap消息的效率優(yōu)化技術(shù),可以在現(xiàn)有的webService中soap消息的效率優(yōu)化方式基礎(chǔ)上,充分利用單對(duì)象類型完成多對(duì)象類型webService中soap消息的效率優(yōu)化,建立多對(duì)象類型參與的webService中soap消息的效率優(yōu)化的通用、統(tǒng)一優(yōu)化思路。
[0012]有鑒于此,本發(fā)明提出了一種webService中soap消息的效率優(yōu)化裝置,包括:月艮務(wù)請(qǐng)求端,用于發(fā)出soap請(qǐng)求消息到業(yè)務(wù)服務(wù)器;以及,用于在從業(yè)務(wù)服務(wù)器獲得資源路徑時(shí),根據(jù)資源路徑向遠(yuǎn)程數(shù)據(jù)服務(wù)器請(qǐng)求資源;業(yè)務(wù)服務(wù)器,用于根據(jù)soap請(qǐng)求消息,準(zhǔn)備業(yè)務(wù)數(shù)據(jù),根據(jù)檢查結(jié)果向客戶端直接返回?cái)?shù)據(jù)或向遠(yuǎn)程數(shù)據(jù)服務(wù)器傳輸資源標(biāo)識(shí);以及,用于在收到遠(yuǎn)程數(shù)據(jù)服務(wù)器返回的資源路徑時(shí),直接返回給服務(wù)請(qǐng)求端;否則,將準(zhǔn)備好的業(yè)務(wù)數(shù)據(jù)傳輸給遠(yuǎn)程數(shù)據(jù)服務(wù)器;遠(yuǎn)程數(shù)據(jù)服務(wù)器,用于接收資源標(biāo)識(shí),檢查本地是否已經(jīng)緩存過這個(gè)資源,如果在本地發(fā)現(xiàn)資源,則直接返回資源路徑;否則,返回給業(yè)務(wù)服務(wù)器響應(yīng),準(zhǔn)備接收業(yè)務(wù)數(shù)據(jù);以及,用于在接收到業(yè)務(wù)數(shù)據(jù)后,進(jìn)行存儲(chǔ),并返回資源路徑給業(yè)務(wù)服務(wù)器。在該技術(shù)方案中,可以減輕業(yè)務(wù)服務(wù)器壓力的soap消息傳輸機(jī)制,并且可以增加消息傳輸?shù)姆€(wěn)定性。
[0013]在上述技術(shù)方案中,優(yōu)選地,所述服務(wù)請(qǐng)求端,具體包括:請(qǐng)求發(fā)送模塊,用于發(fā)出soap請(qǐng)求消息到業(yè)務(wù)服務(wù)器;資源路徑獲取及資源請(qǐng)求模塊,用于在從業(yè)務(wù)服務(wù)器獲得資源路徑時(shí),根據(jù)資源路徑向遠(yuǎn)程數(shù)據(jù)服務(wù)器請(qǐng)求資源。在該技術(shù)方案中,利用soap消息傳輸機(jī)制,一方面可以減輕業(yè)務(wù)服務(wù)器壓力,另外也可以增加消息傳輸?shù)姆€(wěn)定性和可靠性。
[0014]在上述技術(shù)方案中,優(yōu)選地,所述業(yè)務(wù)服務(wù)器,具體包括:業(yè)務(wù)數(shù)據(jù)準(zhǔn)備模塊,用于根據(jù)soap請(qǐng)求消息,準(zhǔn)備業(yè)務(wù)數(shù)據(jù),檢查待返回的數(shù)據(jù)是否滿足向遠(yuǎn)程數(shù)據(jù)服務(wù)器存儲(chǔ)托管的要求;檢查結(jié)果執(zhí)行模塊,用于根據(jù)檢查結(jié)果向客戶端直接返回?cái)?shù)據(jù)或向遠(yuǎn)程數(shù)據(jù)服務(wù)器傳輸資源標(biāo)識(shí);資源路徑接收及轉(zhuǎn)發(fā)模塊,用于在收到遠(yuǎn)程數(shù)據(jù)服務(wù)器返回的資源路徑時(shí),直接返回給服務(wù)請(qǐng)求端;待發(fā)業(yè)務(wù)數(shù)據(jù)傳輸模塊,用于在未收到遠(yuǎn)程數(shù)據(jù)服務(wù)器返回的資源路徑時(shí),將準(zhǔn)備好的業(yè)務(wù)數(shù)據(jù)傳輸給遠(yuǎn)程數(shù)據(jù)服務(wù)器。在該技術(shù)方案中,業(yè)務(wù)服務(wù)器可以專注于web服務(wù)中的業(yè)務(wù)計(jì)算,使得分工更加明顯,結(jié)構(gòu)更加清晰;同時(shí)業(yè)務(wù)服務(wù)器的壓力也大大的降低,并且可以提高數(shù)據(jù)傳輸?shù)姆€(wěn)定性。
[0015]在上述技術(shù)方案中,優(yōu)選地,所述遠(yuǎn)程數(shù)據(jù)服務(wù)器,具體包括:資源標(biāo)識(shí)接收及緩存信息檢查模塊,用于接收資源標(biāo)識(shí),檢查本地是否已經(jīng)緩存過這個(gè)資源;緩存信息檢查結(jié)果執(zhí)行模塊,用于在本地發(fā)現(xiàn)資源時(shí),直接返回資源路徑給業(yè)務(wù)服務(wù)器;以及,在本地未發(fā)現(xiàn)資源時(shí),返回給業(yè)務(wù)服務(wù)器響應(yīng),準(zhǔn)備接收業(yè)務(wù)數(shù)據(jù);業(yè)務(wù)數(shù)據(jù)接收、存儲(chǔ)及返回資源路徑模塊,用于在接收到業(yè)務(wù)數(shù)據(jù)后,進(jìn)行存儲(chǔ),并返回資源路徑給業(yè)務(wù)服務(wù)器。在該技術(shù)方案中,數(shù)據(jù)服務(wù)器采用緩存策略,可以保證短期內(nèi)的重復(fù)請(qǐng)求的資源可以被復(fù)用;并且保持資源的退出機(jī)制,以保證足夠的空間和防止資源版本的過期;這里的數(shù)據(jù)存儲(chǔ)服務(wù)可以由FTP服務(wù)器來完成,也可以由分布式存儲(chǔ)系統(tǒng)來完成。
[0016]在上述技術(shù)方案中,優(yōu)選地,所述業(yè)務(wù)服務(wù)器中的檢查結(jié)果執(zhí)行模塊,具體包括:直接返回?cái)?shù)據(jù)子模塊,用于在不需要遠(yuǎn)程數(shù)據(jù)服務(wù)器介入時(shí),直接向服務(wù)請(qǐng)求端返回?cái)?shù)據(jù);資源標(biāo)識(shí)傳輸子模塊,用于在需要遠(yuǎn)程數(shù)據(jù)服務(wù)器介入時(shí),將相應(yīng)資源的唯一標(biāo)識(shí)傳輸給遠(yuǎn)程數(shù)據(jù)服務(wù)器,以檢查是否需要對(duì)該資源重新存儲(chǔ);和/或,所述業(yè)務(wù)服務(wù)器中的業(yè)務(wù)數(shù)據(jù)準(zhǔn)備模塊檢查待返回的數(shù)據(jù)是否滿足向遠(yuǎn)程數(shù)據(jù)服務(wù)器存儲(chǔ)托管的要求的操作,具體包括:根據(jù)數(shù)據(jù)類型結(jié)構(gòu)和web服務(wù)的業(yè)務(wù)含義,確定相應(yīng)數(shù)據(jù)是否是可以進(jìn)行數(shù)據(jù)存儲(chǔ)的資源,并且需要設(shè)置閾值,只有在相應(yīng)資源的大小高于該閾值的情況下,才對(duì)該資源進(jìn)行遠(yuǎn)程的存儲(chǔ)托管的處理;和/或,所述遠(yuǎn)程數(shù)據(jù)服務(wù)器中的緩存信息檢查結(jié)果執(zhí)行模塊,具體包括:資源路徑返回子模塊,用于在本地發(fā)現(xiàn)資源時(shí),直接返回資源路徑給業(yè)務(wù)服務(wù)器;響應(yīng)返回及業(yè)務(wù)數(shù)據(jù)準(zhǔn)備接收子模塊,用于在本地未發(fā)現(xiàn)資源時(shí),返回給業(yè)務(wù)服務(wù)器響應(yīng),準(zhǔn)備接收業(yè)務(wù)數(shù)據(jù)。
[0017]根據(jù)本發(fā)明的又一個(gè)方面,還提出了一種webService中soap消息的效率優(yōu)化方法,包括:步驟202:服務(wù)請(qǐng)求端即客戶端發(fā)出soap請(qǐng)求消息到業(yè)務(wù)服務(wù)器;步驟204:業(yè)務(wù)服務(wù)器根據(jù)soap請(qǐng)求消息,準(zhǔn)備業(yè)務(wù)數(shù)據(jù),檢查待返回的數(shù)據(jù)是否滿足向遠(yuǎn)程數(shù)據(jù)服務(wù)器存儲(chǔ)托管的要求,根據(jù)檢查結(jié)果進(jìn)行處理。在該技術(shù)方案中,可以減輕業(yè)務(wù)服務(wù)器壓力的soap消息傳輸機(jī)制,并且可以增加消息傳輸?shù)姆€(wěn)定性。
[0018]在上述技術(shù)方案中,優(yōu)選地,所述步驟204檢查待返回的數(shù)據(jù)是否滿足向遠(yuǎn)程數(shù)據(jù)服務(wù)器存儲(chǔ)托管的要求的操作,具體包括:根據(jù)數(shù)據(jù)類型結(jié)構(gòu)和web服務(wù)的業(yè)務(wù)含義,確定相應(yīng)數(shù)據(jù)是否是可以進(jìn)行數(shù)據(jù)存儲(chǔ)的資源,并且需要設(shè)置閾值,只有在相應(yīng)資源的大小高于該閾值的情況下,才對(duì)該資源進(jìn)行遠(yuǎn)程的存儲(chǔ)托管的處理;以及,所述步驟204根據(jù)檢查結(jié)果進(jìn)行處理的操作,具體包括:步驟206:業(yè)務(wù)服務(wù)器根據(jù)檢查結(jié)果向客戶端直接返回?cái)?shù)據(jù)。在該技術(shù)方案中,利用soap消息傳輸機(jī)制,一方面可以減輕業(yè)務(wù)服務(wù)器壓力,另外也可以增加消息傳輸?shù)姆€(wěn)定性和可靠性。
[0019]在上述技術(shù)方案中,優(yōu)選地,所述步驟204根據(jù)檢查結(jié)果進(jìn)行處理的操作,具體還包括:步驟208:業(yè)務(wù)服務(wù)器根據(jù)檢查結(jié)果向遠(yuǎn)程數(shù)據(jù)服務(wù)器傳輸資源標(biāo)識(shí),根據(jù)檢查結(jié)果繼續(xù)處理。在該技術(shù)方案中,業(yè)務(wù)服務(wù)器可以專注于web服務(wù)中的業(yè)務(wù)計(jì)算,使得分工更加明顯,結(jié)構(gòu)更加清晰;同時(shí)業(yè)務(wù)服務(wù)器的壓力也大大的降低,并且可以提高數(shù)據(jù)傳輸?shù)姆€(wěn)定性。
[0020]在上述技術(shù)方案中,優(yōu)選地,所述步驟208根據(jù)檢查結(jié)果繼續(xù)處理的操作,具體包括:步驟212:遠(yuǎn)程數(shù)據(jù)服務(wù)器接收資源標(biāo)識(shí),檢查本地是否已經(jīng)緩存過這個(gè)資源,如果在本地未發(fā)現(xiàn)資源,則返回給業(yè)務(wù)服務(wù)器響應(yīng),準(zhǔn)備接收業(yè)務(wù)數(shù)據(jù);步驟216:業(yè)務(wù)服務(wù)器在未收到遠(yuǎn)程數(shù)據(jù)服務(wù)器返回的資源路徑時(shí),將準(zhǔn)備好的業(yè)務(wù)數(shù)據(jù)傳輸給遠(yuǎn)程數(shù)據(jù)服務(wù)器;步驟218:遠(yuǎn)程數(shù)據(jù)服務(wù)器在接收到業(yè)務(wù)數(shù)據(jù)后,進(jìn)行存儲(chǔ),并返回資源路徑給業(yè)務(wù)服務(wù)器;步驟220:服務(wù)請(qǐng)求端在從業(yè)務(wù)服務(wù)器獲得資源路徑時(shí),根據(jù)資源路徑向遠(yuǎn)程數(shù)據(jù)服務(wù)器請(qǐng)求資源。在該技術(shù)方案中,數(shù)據(jù)服務(wù)器采用緩存策略,可以保證短期內(nèi)的重復(fù)請(qǐng)求的資源可以被復(fù)用;并且保持資源的退出機(jī)制,以保證足夠的空間和防止資源版本的過期;這里的數(shù)據(jù)存儲(chǔ)服務(wù)可以由FTP服務(wù)器來完成,也可以由分布式存儲(chǔ)系統(tǒng)來完成。
[0021]在上述技術(shù)方案中,優(yōu)選地,所述步驟208根據(jù)檢查結(jié)果繼續(xù)處理的操作,具體還包括:步驟210:遠(yuǎn)程數(shù)據(jù)服務(wù)器接收資源標(biāo)識(shí),檢查本地是否已經(jīng)緩存過這個(gè)資源,如果在本地發(fā)現(xiàn)資源,則直接向業(yè)務(wù)服務(wù)器返回資源路徑;步驟214:業(yè)務(wù)服務(wù)器在收到遠(yuǎn)程數(shù)據(jù)服務(wù)器返回的資源路徑時(shí),直接返回給服務(wù)請(qǐng)求端,然后執(zhí)行步驟220。在該技術(shù)方案中,有針對(duì)性地進(jìn)行數(shù)據(jù)傳輸,可以避免客戶端和業(yè)務(wù)服務(wù)器的長(zhǎng)時(shí)間的資源傳輸。
[0022]通過以上技術(shù)方案,可以在現(xiàn)有的webService中soap消息的效率優(yōu)化方式基礎(chǔ)上,充分利用單對(duì)象類型完成多對(duì)象類型webService中soap消息的效率優(yōu)化,建立多對(duì)象類型參與的webService中soap消息的效率優(yōu)化的通用、統(tǒng)一優(yōu)化思路。
[0023]
【專利附圖】
【附圖說明】
[0024]圖1示出了根據(jù)本發(fā)明的實(shí)施例的webService中soap消息的效率優(yōu)化裝置的框圖;
圖2示出了根據(jù)本發(fā)明的實(shí)施例的webService中soap消息的效率優(yōu)化方法的流程圖;
圖3示出了根據(jù)本發(fā)明的實(shí)施例的webService中soap消息的效率優(yōu)化裝置的原理示意圖;
圖4示出了根據(jù)本發(fā)明的實(shí)施例的webService中soap消息的效率優(yōu)化方法的詳細(xì)流程圖。
[0025]
【具體實(shí)施方式】
[0026]為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點(diǎn),下面結(jié)合附圖和【具體實(shí)施方式】對(duì)本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)描述。需要說明的是,在不沖突的情況下,本申請(qǐng)的實(shí)施例及實(shí)施例中的特征可以相互組合。
[0027]在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來實(shí)施,因此,本發(fā)明的保護(hù)范圍并不受下面公開的具體實(shí)施例的限制。
[0028]圖1示出了根據(jù)本發(fā)明的實(shí)施例的webService中soap消息的效率優(yōu)化裝置的框圖。
[0029]如圖1所示,根據(jù)本發(fā)明的實(shí)施例的webService中soap消息的效率優(yōu)化裝置100,包括:服務(wù)請(qǐng)求端102,用于發(fā)出soap請(qǐng)求消息到業(yè)務(wù)服務(wù)器104;以及,用于在從業(yè)務(wù)服務(wù)器獲得資源路徑時(shí),根據(jù)資源路徑向遠(yuǎn)程數(shù)據(jù)服務(wù)器106請(qǐng)求資源;業(yè)務(wù)服務(wù)器104,用于根據(jù)soap請(qǐng)求消息,準(zhǔn)備業(yè)務(wù)數(shù)據(jù),檢查待返回的數(shù)據(jù)是否滿足向遠(yuǎn)程數(shù)據(jù)服務(wù)器106存儲(chǔ)托管的要求,根據(jù)檢查結(jié)果向客戶端直接返回?cái)?shù)據(jù)或向遠(yuǎn)程數(shù)據(jù)服務(wù)器106傳輸資源標(biāo)識(shí);以及,用于在收到遠(yuǎn)程數(shù)據(jù)服務(wù)器106返回的資源路徑時(shí),直接返回給服務(wù)請(qǐng)求端;否則,將準(zhǔn)備好的業(yè)務(wù)數(shù)據(jù)傳輸給遠(yuǎn)程數(shù)據(jù)服務(wù)器106 ;遠(yuǎn)程數(shù)據(jù)服務(wù)器106,用于接收資源標(biāo)識(shí),檢查本地是否已經(jīng)緩存過這個(gè)資源,如果在本地發(fā)現(xiàn)資源,則直接返回資源路徑給業(yè)務(wù)服務(wù)器104 ;否則,返回給業(yè)務(wù)服務(wù)器104響應(yīng),準(zhǔn)備接收業(yè)務(wù)數(shù)據(jù);以及,用于在接收到業(yè)務(wù)數(shù)據(jù)后,進(jìn)行存儲(chǔ),并返回資源路徑給業(yè)務(wù)服務(wù)器104。在該技術(shù)方案中,可以減輕業(yè)務(wù)服務(wù)器壓力的soap消息傳輸機(jī)制,并且可以增加消息傳輸?shù)姆€(wěn)定性。
[0030]在上述技術(shù)方案中,優(yōu)選地,服務(wù)請(qǐng)求端102,具體包括:請(qǐng)求發(fā)送模塊1022,用于發(fā)出soap請(qǐng)求消息到業(yè)務(wù)服務(wù)器;資源路徑獲取及資源請(qǐng)求模塊1024,用于在從業(yè)務(wù)服務(wù)器獲得資源路徑時(shí),根據(jù)資源路徑向遠(yuǎn)程數(shù)據(jù)服務(wù)器請(qǐng)求資源。在該技術(shù)方案中,利用soap消息傳輸機(jī)制,一方面可以減輕業(yè)務(wù)服務(wù)器壓力,另外也可以增加消息傳輸?shù)姆€(wěn)定性和可靠性。
[0031]在上述技術(shù)方案中,優(yōu)選地,業(yè)務(wù)服務(wù)器104,具體包括:業(yè)務(wù)數(shù)據(jù)準(zhǔn)備模塊1042,用于根據(jù)soap請(qǐng)求消息,準(zhǔn)備業(yè)務(wù)數(shù)據(jù),檢查待返回的數(shù)據(jù)是否滿足向遠(yuǎn)程數(shù)據(jù)服務(wù)器存儲(chǔ)托管的要求;檢查結(jié)果執(zhí)行模塊1044,用于根據(jù)檢查結(jié)果向客戶端直接返回?cái)?shù)據(jù)或向遠(yuǎn)程數(shù)據(jù)服務(wù)器傳輸資源標(biāo)識(shí);資源路徑接收及轉(zhuǎn)發(fā)模塊1046,用于在收到遠(yuǎn)程數(shù)據(jù)服務(wù)器返回的資源路徑時(shí),直接返回給服務(wù)請(qǐng)求端;待發(fā)業(yè)務(wù)數(shù)據(jù)傳輸模塊1048,用于在未收到遠(yuǎn)程數(shù)據(jù)服務(wù)器返回的資源路徑時(shí),將準(zhǔn)備好的業(yè)務(wù)數(shù)據(jù)傳輸給遠(yuǎn)程數(shù)據(jù)服務(wù)器。在該技術(shù)方案中,業(yè)務(wù)服務(wù)器可以專注于web服務(wù)中的業(yè)務(wù)計(jì)算,使得分工更加明顯,結(jié)構(gòu)更加清晰;同時(shí)業(yè)務(wù)服務(wù)器的壓力也大大的降低,并且可以提高數(shù)據(jù)傳輸?shù)姆€(wěn)定性。
[0032]在上述技術(shù)方案中,優(yōu)選地,遠(yuǎn)程數(shù)據(jù)服務(wù)器106,具體包括:資源標(biāo)識(shí)接收及緩存信息檢查模塊1062,用于接收資源標(biāo)識(shí),檢查本地是否已經(jīng)緩存過這個(gè)資源;緩存信息檢查結(jié)果執(zhí)行模塊1064,用于在本地發(fā)現(xiàn)資源時(shí),直接返回資源路徑給業(yè)務(wù)服務(wù)器;以及,在本地未發(fā)現(xiàn)資源時(shí),返回給業(yè)務(wù)服務(wù)器響應(yīng),準(zhǔn)備接收業(yè)務(wù)數(shù)據(jù);業(yè)務(wù)數(shù)據(jù)接收、存儲(chǔ)及返回資源路徑模塊1066,用于在接收到業(yè)務(wù)數(shù)據(jù)后,進(jìn)行存儲(chǔ),并返回資源路徑給業(yè)務(wù)服務(wù)器。在該技術(shù)方案中,數(shù)據(jù)服務(wù)器采用緩存策略,可以保證短期內(nèi)的重復(fù)請(qǐng)求的資源可以被復(fù)用;并且保持資源的退出機(jī)制,以保證足夠的空間和防止資源版本的過期;這里的數(shù)據(jù)存儲(chǔ)服務(wù)可以由FTP服務(wù)器來完成,也可以由分布式存儲(chǔ)系統(tǒng)來完成。
[0033]在上述技術(shù)方案中,優(yōu)選地,業(yè)務(wù)服務(wù)器中的檢查結(jié)果執(zhí)行模塊1044,具體包括:直接返回?cái)?shù)據(jù)子模塊10442,用于在不需要遠(yuǎn)程數(shù)據(jù)服務(wù)器介入時(shí),直接向服務(wù)請(qǐng)求端返回?cái)?shù)據(jù);資源標(biāo)識(shí)傳輸子模塊10444,用于在需要遠(yuǎn)程數(shù)據(jù)服務(wù)器介入時(shí),將相應(yīng)資源的唯一標(biāo)識(shí)傳輸給遠(yuǎn)程數(shù)據(jù)服務(wù)器,以檢查是否需要對(duì)該資源重新存儲(chǔ);和/或,業(yè)務(wù)服務(wù)器中的業(yè)務(wù)數(shù)據(jù)準(zhǔn)備模塊1042檢查待返回的數(shù)據(jù)是否滿足向遠(yuǎn)程數(shù)據(jù)服務(wù)器存儲(chǔ)托管的要求的操作,具體包括:根據(jù)數(shù)據(jù)類型結(jié)構(gòu)和web服務(wù)的業(yè)務(wù)含義,確定相應(yīng)數(shù)據(jù)是否是可以進(jìn)行數(shù)據(jù)存儲(chǔ)的資源,并且需要設(shè)置閾值,只有在相應(yīng)資源的大小高于該閾值的情況下,才對(duì)該資源進(jìn)行遠(yuǎn)程的存儲(chǔ)托管的處理;和/或,遠(yuǎn)程數(shù)據(jù)服務(wù)器中的緩存信息檢查結(jié)果執(zhí)行模塊1062,具體包括:資源路徑返回子模塊10622,用于在本地發(fā)現(xiàn)資源時(shí),直接返回資源路徑給業(yè)務(wù)服務(wù)器;響應(yīng)返回及業(yè)務(wù)數(shù)據(jù)準(zhǔn)備接收子模塊10624,用于在本地未發(fā)現(xiàn)資源時(shí),返回給業(yè)務(wù)服務(wù)器響應(yīng),準(zhǔn)備接收業(yè)務(wù)數(shù)據(jù)。
[0034]圖2示出了根據(jù)本發(fā)明的實(shí)施例的webService中soap消息的效率優(yōu)化方法的流程圖。
[0035]如圖2所示,根據(jù)本發(fā)明的實(shí)施例的webService中soap消息的效率優(yōu)化方法,包括:步驟202:服務(wù)請(qǐng)求端即客戶端發(fā)出soap請(qǐng)求消息到業(yè)務(wù)服務(wù)器;步驟204:業(yè)務(wù)服務(wù)器根據(jù)soap請(qǐng)求消息,準(zhǔn)備業(yè)務(wù)數(shù)據(jù),檢查待返回的數(shù)據(jù)是否滿足向遠(yuǎn)程數(shù)據(jù)服務(wù)器存儲(chǔ)托管的要求,根據(jù)檢查結(jié)果進(jìn)行處理。在該技術(shù)方案中,可以減輕業(yè)務(wù)服務(wù)器壓力的soap消息傳輸機(jī)制,并且可以增加消息傳輸?shù)姆€(wěn)定性。
[0036]在上述技術(shù)方案中,優(yōu)選地,步驟204檢查待返回的數(shù)據(jù)是否滿足向遠(yuǎn)程數(shù)據(jù)服務(wù)器存儲(chǔ)托管的要求的操作,具體包括:根據(jù)數(shù)據(jù)類型結(jié)構(gòu)和web服務(wù)的業(yè)務(wù)含義,確定相應(yīng)數(shù)據(jù)是否是可以進(jìn)行數(shù)據(jù)存儲(chǔ)的資源,并且需要設(shè)置閾值,只有在相應(yīng)資源的大小高于該閾值的情況下,才對(duì)該資源進(jìn)行遠(yuǎn)程的存儲(chǔ)托管的處理;以及,步驟204根據(jù)檢查結(jié)果進(jìn)行處理的操作,具體包括:步驟206:業(yè)務(wù)服務(wù)器根據(jù)檢查結(jié)果向客戶端直接返回?cái)?shù)據(jù)。在該技術(shù)方案中,利用soap消息傳輸機(jī)制,一方面可以減輕業(yè)務(wù)服務(wù)器壓力,另外也可以增加消息傳輸?shù)姆€(wěn)定性和可靠性。
[0037]在上述技術(shù)方案中,優(yōu)選地,步驟204根據(jù)檢查結(jié)果進(jìn)行處理的操作,具體還包括:步驟208:業(yè)務(wù)服務(wù)器根據(jù)檢查結(jié)果向遠(yuǎn)程數(shù)據(jù)服務(wù)器傳輸資源標(biāo)識(shí),根據(jù)檢查結(jié)果繼續(xù)處理。在該技術(shù)方案中,業(yè)務(wù)服務(wù)器可以專注于web服務(wù)中的業(yè)務(wù)計(jì)算,使得分工更加明顯,結(jié)構(gòu)更加清晰;同時(shí)業(yè)務(wù)服務(wù)器的壓力也大大的降低,并且可以提高數(shù)據(jù)傳輸?shù)姆€(wěn)定性。
[0038]在上述技術(shù)方案中,優(yōu)選地,步驟208根據(jù)檢查結(jié)果繼續(xù)處理的操作,具體包括:步驟212:遠(yuǎn)程數(shù)據(jù)服務(wù)器接收資源標(biāo)識(shí),檢查本地是否已經(jīng)緩存過這個(gè)資源,如果在本地未發(fā)現(xiàn)資源,則返回給業(yè)務(wù)服務(wù)器響應(yīng),準(zhǔn)備接收業(yè)務(wù)數(shù)據(jù);步驟216:業(yè)務(wù)服務(wù)器在未收到遠(yuǎn)程數(shù)據(jù)服務(wù)器返回的資源路徑時(shí),將準(zhǔn)備好的業(yè)務(wù)數(shù)據(jù)傳輸給遠(yuǎn)程數(shù)據(jù)服務(wù)器;步驟218:遠(yuǎn)程數(shù)據(jù)服務(wù)器在接收到業(yè)務(wù)數(shù)據(jù)后,進(jìn)行存儲(chǔ),并返回資源路徑給業(yè)務(wù)服務(wù)器;步驟220:服務(wù)請(qǐng)求端在從業(yè)務(wù)服務(wù)器獲得資源路徑時(shí),根據(jù)資源路徑向遠(yuǎn)程數(shù)據(jù)服務(wù)器請(qǐng)求資源。在該技術(shù)方案中,數(shù)據(jù)服務(wù)器采用緩存策略,可以保證短期內(nèi)的重復(fù)請(qǐng)求的資源可以被復(fù)用;并且保持資源的退出機(jī)制,以保證足夠的空間和防止資源版本的過期;這里的數(shù)據(jù)存儲(chǔ)服務(wù)可以由FTP服務(wù)器來完成,也可以由分布式存儲(chǔ)系統(tǒng)來完成。
[0039]在上述技術(shù)方案中,優(yōu)選地,步驟208根據(jù)檢查結(jié)果繼續(xù)處理的操作,具體還包括:步驟210:遠(yuǎn)程數(shù)據(jù)服務(wù)器接收資源標(biāo)識(shí),檢查本地是否已經(jīng)緩存過這個(gè)資源,如果在本地發(fā)現(xiàn)資源,則直接向業(yè)務(wù)服務(wù)器返回資源路徑;步驟214:業(yè)務(wù)服務(wù)器在收到遠(yuǎn)程數(shù)據(jù)服務(wù)器返回的資源路徑時(shí),直接返回給服務(wù)請(qǐng)求端,然后執(zhí)行步驟220。在該技術(shù)方案中,有針對(duì)性地進(jìn)行數(shù)據(jù)傳輸,可以避免客戶端和業(yè)務(wù)服務(wù)器的長(zhǎng)時(shí)間的資源傳輸。
[0040]本發(fā)明的技術(shù)方案,涉及一種在ERP系統(tǒng)中可以優(yōu)化webservice中soap消息的數(shù)據(jù)傳輸效率的技術(shù)。針對(duì)現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明提出一種可以減輕業(yè)務(wù)服務(wù)器壓力的soap消息傳輸機(jī)制,并且可以增加消息傳輸?shù)姆€(wěn)定性,在使用復(fù)雜數(shù)據(jù)類型的業(yè)務(wù)高峰期,這種機(jī)制發(fā)揮的作用尤其明顯。
[0041]為了克服現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明提出一種soap消息傳輸機(jī)制,一方面可以減輕業(yè)務(wù)服務(wù)器壓力,另外也增加了消息傳輸?shù)姆€(wěn)定性和可靠性。
[0042]本發(fā)明的技術(shù)方案中,在提供web服務(wù)的業(yè)務(wù)服務(wù)器收到soap請(qǐng)求時(shí),首先計(jì)算并準(zhǔn)備數(shù)據(jù),等到數(shù)據(jù)準(zhǔn)備完畢,如果數(shù)據(jù)格式符合預(yù)定義的復(fù)雜對(duì)象的結(jié)構(gòu)和業(yè)務(wù)要求,并且客戶端請(qǐng)求的資源大小超過一定的閾值,則將該對(duì)象發(fā)送到第三方的數(shù)據(jù)服務(wù)器(可以是FTP站點(diǎn),或者分布式緩存系統(tǒng)等等)。而應(yīng)用服務(wù)器返回給請(qǐng)求服務(wù)的客戶端的soap消息中不再是完整的資源,而是該資源在數(shù)據(jù)服務(wù)器上的路徑。這樣客戶端再根據(jù)返回的路徑從數(shù)據(jù)服務(wù)器上獲取資源。同時(shí),數(shù)據(jù)服務(wù)器提供緩存機(jī)制,如果多次請(qǐng)求都針對(duì)重復(fù)對(duì)象,則業(yè)務(wù)服務(wù)器不再需要重復(fù)構(gòu)造對(duì)象,則需要獲取之前對(duì)象的路徑,返回給客戶端即可。這樣就避免了客戶端和業(yè)務(wù)服務(wù)器的長(zhǎng)時(shí)間的資源傳輸。業(yè)務(wù)服務(wù)器可以專注于web服務(wù)中的業(yè)務(wù)計(jì)算,這樣也使得分工更加明顯,結(jié)構(gòu)更加清晰。同時(shí)業(yè)務(wù)服務(wù)器的壓力也大大的降低,并且可以提高數(shù)據(jù)傳輸?shù)姆€(wěn)定性。
[0043]例如,參見圖3,請(qǐng)求的詳細(xì)步驟:
⑴客戶端發(fā)出soap請(qǐng)求消息到業(yè)務(wù)服務(wù)器。
[0044]⑵業(yè)務(wù)服務(wù)器根據(jù)請(qǐng)求準(zhǔn)備業(yè)務(wù)數(shù)據(jù)。
[0045]⑶在業(yè)務(wù)數(shù)據(jù)準(zhǔn)備完畢之后,業(yè)務(wù)服務(wù)器檢查待返回的數(shù)據(jù)是否滿足向遠(yuǎn)程數(shù)據(jù)服務(wù)器存儲(chǔ)的要求。
[0046]這里的是否滿足要求主要根據(jù)數(shù)據(jù)類型結(jié)構(gòu)和web服務(wù)的業(yè)務(wù)含義來確定此數(shù)據(jù)是否是可以進(jìn)行數(shù)據(jù)存儲(chǔ)的資源,并且需要在此處設(shè)置一個(gè)閾值,只有在資源的大小高于此閾值的情況下,才會(huì)對(duì)此資源進(jìn)行遠(yuǎn)程的存儲(chǔ)托管的處理。
[0047]⑷如果不需要遠(yuǎn)程數(shù)據(jù)服務(wù)器介入則直接返回?cái)?shù)據(jù)。如果需要遠(yuǎn)程數(shù)據(jù)服務(wù)器介入則將此資源的唯一標(biāo)識(shí)傳輸給數(shù)據(jù)服務(wù)器,以檢查是否需要對(duì)此資源重新存儲(chǔ)。
[0048](5)數(shù)據(jù)服務(wù)器接到資源標(biāo)識(shí),首先檢查自己是否已經(jīng)緩存過這個(gè)資源,如果在本地發(fā)現(xiàn)資源,則直接返回資源路徑,否則,返回給業(yè)務(wù)服務(wù)器響應(yīng),并做好準(zhǔn)備接收業(yè)務(wù)數(shù)據(jù)。
[0049](6)業(yè)務(wù)服務(wù)器如果收到數(shù)據(jù)服務(wù)器的資源路徑,則直接返回給服務(wù)請(qǐng)求端。否則,就需要將之前準(zhǔn)備好的數(shù)據(jù)傳輸給數(shù)據(jù)服務(wù)器。數(shù)據(jù)服務(wù)器負(fù)責(zé)接收和存儲(chǔ),并返回資源路徑給業(yè)務(wù)服務(wù)器。
[0050]這里,數(shù)據(jù)服務(wù)器會(huì)有一定的緩存策略,這樣可以保證短期內(nèi)的重復(fù)請(qǐng)求的資源可以被復(fù)用。并且保持資源的退出機(jī)制,以保證足夠的空間和防止資源版本的過期。這里的數(shù)據(jù)存儲(chǔ)服務(wù)可以由FTP服務(wù)器來完成,也可以由分布式存儲(chǔ)系統(tǒng)來完成。
[0051](7)服務(wù)請(qǐng)求端,從業(yè)務(wù)服務(wù)器獲得資源路徑,則根據(jù)此路徑向數(shù)據(jù)服務(wù)器請(qǐng)求資源。
[0052](8)服務(wù)結(jié)束。
[0053]實(shí)際場(chǎng)景中,同時(shí)會(huì)有多個(gè)客戶端向業(yè)務(wù)服務(wù)器請(qǐng)求數(shù)據(jù),并且在業(yè)務(wù)高峰期,其中有一定的重復(fù)數(shù)據(jù),則此模式的優(yōu)勢(shì)會(huì)非常明顯,尤其使用于數(shù)據(jù)密集型的請(qǐng)求場(chǎng)景當(dāng)中。業(yè)務(wù)服務(wù)器只需要返回資源路徑,之后,所有的客戶端均從數(shù)據(jù)服務(wù)器下載資源,這樣,業(yè)務(wù)服務(wù)器的壓力大大減輕,可以專注于業(yè)務(wù)處理。
[0054]又如,參見圖4,應(yīng)用舉例:
以一個(gè)商品信息請(qǐng)求的服務(wù)為例來描述這個(gè)機(jī)制:
因?yàn)橐粋€(gè)信息中包含大量的描述圖片或者視頻介紹,因此這個(gè)數(shù)據(jù)量比較大。用傳統(tǒng)的webservice服務(wù),需要將這些多媒體數(shù)據(jù)都包含在soap消息的消息體或者附件當(dāng)中,這樣,客戶端在接收返回值的時(shí)候,會(huì)是一個(gè)相當(dāng)耗時(shí)的操作。同時(shí)在返回soap消息的過程中,可能有海量的多個(gè)客戶端同時(shí)向應(yīng)用服務(wù)器發(fā)送請(qǐng)求的時(shí)候,會(huì)造成應(yīng)用服務(wù)器在處理數(shù)據(jù)傳輸方面的壓力過大,無法保證正常執(zhí)行業(yè)務(wù)計(jì)算等操作。另外,在傳輸?shù)倪^程中出現(xiàn)網(wǎng)絡(luò)異常,則用戶無法拿到完整數(shù)據(jù)?;谶@兩個(gè)問題來看這個(gè)示例:
這里我們有一個(gè)客戶端clientl,這個(gè)客戶端將發(fā)起獲取商品信息soap請(qǐng)求,一個(gè)應(yīng)用服務(wù)器 appServer, —個(gè) FTP 服務(wù)器 dataServer。
[0055]具體步驟如下:
(I)clientl首先向appServer發(fā)起針對(duì)一個(gè)商品詳細(xì)信息的請(qǐng)求。
[0056]⑵appServer 在準(zhǔn)備好資源后,資源包括(imagl, imag2, video I), appServer 首先計(jì)算資源的數(shù)據(jù)量大小,這時(shí)會(huì)發(fā)現(xiàn)數(shù)據(jù)量太大,而且資源的數(shù)據(jù)格式可以進(jìn)行數(shù)據(jù)緩存,因此并沒有直接把多媒體數(shù)據(jù)返回給客戶端,而是把當(dāng)前的多媒體數(shù)據(jù)的資源標(biāo)識(shí)發(fā)送給FTP 服務(wù)器 dataServer。
[0057]⑶dataServer檢查這些資源標(biāo)識(shí),發(fā)現(xiàn)imagl在本地存在,這里只把本地不存在的資源標(biāo)識(shí)(imag2, videol)返回給appServer。
[0058]這里,F(xiàn)TP服務(wù)器dataServer需要有一個(gè)退出機(jī)制,以防止數(shù)據(jù)量太大。另外需要有更新機(jī)制,以防止緩存的資源過期。
[0059](4) appServer將返回標(biāo)識(shí)的資源imag2, videol,打包,發(fā)送到dataServer上并得到所有資源在dataServer上的路徑。
[0060](5) appServer把資源路徑返回給clientl, clientl根據(jù)路徑去dataServer上下載這些資源。
[0061](6)因?yàn)橘Y源的數(shù)據(jù)量很大,因此下載將會(huì)比較耗時(shí)。這時(shí),如果有網(wǎng)絡(luò)異常,由于FTP支持?jǐn)帱c(diǎn)續(xù)傳,因此,在網(wǎng)絡(luò)恢復(fù)后,clientl仍然可以繼續(xù)獲取資源。
[0062](7)這時(shí)候,又有另外的客戶端client2請(qǐng)求相同的資源,在重復(fù)⑴、⑵步驟之后,appserver發(fā)現(xiàn)在dataServer上已經(jīng)緩存了相關(guān)數(shù)據(jù),只需要在soap消息中返回相應(yīng)的路徑,這樣soap消息中則不需要再使用附件或者消息體來存儲(chǔ)復(fù)雜數(shù)據(jù)了,soap消息的消長(zhǎng)度也大大降低,從而減少了客戶端和應(yīng)用服務(wù)器之間通信的時(shí)間。這種做法也很大的提高了 webService的網(wǎng)絡(luò)傳輸?shù)男省?br>
[0063](8)同時(shí),對(duì)于應(yīng)用服務(wù)器appServer。則只需要把準(zhǔn)備好的資源發(fā)送到數(shù)據(jù)服務(wù)器上,而且由于數(shù)據(jù)服務(wù)器上有緩存,極大的降低了在處理數(shù)據(jù)傳輸方面的壓力。這樣數(shù)據(jù)服務(wù)器和應(yīng)用服務(wù)器明確分工。使得appServer能夠?qū)W⒂谔幚順I(yè)務(wù)邏輯。
[0064]本發(fā)明的技術(shù)方案,根據(jù)ERP系統(tǒng)使用的實(shí)際場(chǎng)景進(jìn)行分析,對(duì)通過web服務(wù)請(qǐng)求大對(duì)象數(shù)據(jù)的過程進(jìn)行了優(yōu)化。不再由業(yè)務(wù)服務(wù)器直接提供大對(duì)象給請(qǐng)求的客戶端,而是構(gòu)造大對(duì)象在數(shù)據(jù)服務(wù)器或者FTP服務(wù)器或者分布式緩存系統(tǒng),只給遠(yuǎn)程的客戶端提供資源路徑,這樣大大的緩解了業(yè)務(wù)服務(wù)器的壓力。
[0065]同時(shí)數(shù)據(jù)服務(wù)器根據(jù)可以根據(jù)實(shí)際需要設(shè)置傳輸協(xié)議,比如FTP協(xié)議,這樣即便遇到網(wǎng)絡(luò)異常,也可以根據(jù)相應(yīng)協(xié)議的具體機(jī)制來采取補(bǔ)救方法,比如FTP協(xié)議的斷點(diǎn)續(xù)傳等。
[0066]通過采用本發(fā)明的技術(shù)方案提供的這種方式,也提升了信息系統(tǒng)的靈活性,穩(wěn)定性和效率,能應(yīng)付更大壓力的業(yè)務(wù)需求。
[0067]以上結(jié)合附圖詳細(xì)說明了本發(fā)明的技術(shù)方案,考慮到相關(guān)技術(shù)中沒有簡(jiǎn)便的、統(tǒng)一的針對(duì)復(fù)雜類型webService中soap消息的效率優(yōu)化的解決辦法。現(xiàn)有的webService中soap消息的效率優(yōu)化無法完成有復(fù)雜類型參與的webService中soap消息的效率優(yōu)化過程。因此,本發(fā)明提出了一種webService中soap消息的效率優(yōu)化裝置和一種webService中soap消息的效率優(yōu)化方法,可以在現(xiàn)有的webService中soap消息的效率優(yōu)化方式基礎(chǔ)上,充分利用單對(duì)象類型完成多對(duì)象類型webService中soap消息的效率優(yōu)化,建立多對(duì)象類型參與的webService中soap消息的效率優(yōu)化的通用、統(tǒng)一優(yōu)化思路。
[0068]以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種webService中soap消息的效率優(yōu)化裝置,其特征在于,包括: 服務(wù)請(qǐng)求端,用于發(fā)出soap請(qǐng)求消息到業(yè)務(wù)服務(wù)器;以及, 用于在從業(yè)務(wù)服務(wù)器獲得資源路徑時(shí),根據(jù)資源路徑向遠(yuǎn)程數(shù)據(jù)服務(wù)器請(qǐng)求資源;業(yè)務(wù)服務(wù)器,用于根據(jù)soap請(qǐng)求消息,準(zhǔn)備業(yè)務(wù)數(shù)據(jù),根據(jù)檢查結(jié)果向客戶端直接返回?cái)?shù)據(jù)或向遠(yuǎn)程數(shù)據(jù)服務(wù)器傳輸資源標(biāo)識(shí);以及, 用于在收到遠(yuǎn)程數(shù)據(jù)服務(wù)器返回的資源路徑時(shí),直接返回給服務(wù)請(qǐng)求端;否則,將準(zhǔn)備好的業(yè)務(wù)數(shù)據(jù)傳輸給遠(yuǎn)程數(shù)據(jù)服務(wù)器; 遠(yuǎn)程數(shù)據(jù)服務(wù)器,用于接收資源標(biāo)識(shí),檢查本地是否已經(jīng)緩存過這個(gè)資源,如果在本地發(fā)現(xiàn)資源,則直接返回資源路徑;否則,返回給業(yè)務(wù)服務(wù)器響應(yīng),準(zhǔn)備接收業(yè)務(wù)數(shù)據(jù);以及,用于在接收到業(yè)務(wù)數(shù)據(jù)后,進(jìn)行存儲(chǔ),并返回資源路徑給業(yè)務(wù)服務(wù)器。
2.根據(jù)權(quán)利要求1所述的webService中soap消息的效率優(yōu)化裝置,其特征在于,所述服務(wù)請(qǐng)求端,具體包括: 請(qǐng)求發(fā)送模塊,用于發(fā)出soap請(qǐng)求消息到業(yè)務(wù)服務(wù)器; 資源路徑獲取及資源請(qǐng)求模塊,用于在從業(yè)務(wù)服務(wù)器獲得資源路徑時(shí),根據(jù)資源路徑向遠(yuǎn)程數(shù)據(jù)服務(wù)器請(qǐng)求資源。
3.根據(jù)權(quán)利 要求1所述的webService中soap消息的效率優(yōu)化裝置,其特征在于,所述業(yè)務(wù)服務(wù)器,具體包括: 業(yè)務(wù)數(shù)據(jù)準(zhǔn)備模塊,用于根據(jù)soap請(qǐng)求消息,準(zhǔn)備業(yè)務(wù)數(shù)據(jù),檢查待返回的數(shù)據(jù)是否滿足向遠(yuǎn)程數(shù)據(jù)服務(wù)器存儲(chǔ)托管的要求; 檢查結(jié)果執(zhí)行模塊,用于根據(jù)檢查結(jié)果向客戶端直接返回?cái)?shù)據(jù)或向遠(yuǎn)程數(shù)據(jù)服務(wù)器傳輸資源標(biāo)識(shí); 資源路徑接收及轉(zhuǎn)發(fā)模塊,用于在收到遠(yuǎn)程數(shù)據(jù)服務(wù)器返回的資源路徑時(shí),直接返回給服務(wù)請(qǐng)求端; 待發(fā)業(yè)務(wù)數(shù)據(jù)傳輸模塊,用于在未收到遠(yuǎn)程數(shù)據(jù)服務(wù)器返回的資源路徑時(shí),將準(zhǔn)備好的業(yè)務(wù)數(shù)據(jù)傳輸給遠(yuǎn)程數(shù)據(jù)服務(wù)器。
4.根據(jù)權(quán)利要求1-3中任一項(xiàng)所述的webService中soap消息的效率優(yōu)化裝置,其特征在于,所述遠(yuǎn)程數(shù)據(jù)服務(wù)器,具體包括: 資源標(biāo)識(shí)接收及緩存信息檢查模塊,用于接收資源標(biāo)識(shí),檢查本地是否已經(jīng)緩存過這個(gè)資源; 緩存信息檢查結(jié)果執(zhí)行模塊,用于在本地發(fā)現(xiàn)資源時(shí),直接返回資源路徑給業(yè)務(wù)服務(wù)器;以及,在本地未發(fā)現(xiàn)資源時(shí),返回給業(yè)務(wù)服務(wù)器響應(yīng),準(zhǔn)備接收業(yè)務(wù)數(shù)據(jù); 業(yè)務(wù)數(shù)據(jù)接收、存儲(chǔ)及返回資源路徑模塊,用于在接收到業(yè)務(wù)數(shù)據(jù)后,進(jìn)行存儲(chǔ),并返回資源路徑給業(yè)務(wù)服務(wù)器。
5.根據(jù)權(quán)利要求4所述的webService中soap消息的效率優(yōu)化裝置,其特征在于,所述業(yè)務(wù)服務(wù)器中的檢查結(jié)果執(zhí)行模塊,具體包括: 直接返回?cái)?shù)據(jù)子模塊,用于在不需要遠(yuǎn)程數(shù)據(jù)服務(wù)器介入時(shí),直接向服務(wù)請(qǐng)求端返回?cái)?shù)據(jù); 資源標(biāo)識(shí)傳輸子模塊,用于在需要遠(yuǎn)程數(shù)據(jù)服務(wù)器介入時(shí),將相應(yīng)資源的唯一標(biāo)識(shí)傳輸給遠(yuǎn)程數(shù)據(jù)服務(wù)器,以檢查是否需要對(duì)該資源重新存儲(chǔ);和/或, 所述業(yè)務(wù)服務(wù)器中的業(yè)務(wù)數(shù)據(jù)準(zhǔn)備模塊檢查待返回的數(shù)據(jù)是否滿足向遠(yuǎn)程數(shù)據(jù)服務(wù)器存儲(chǔ)托管的要求的操作,具體包括: 根據(jù)數(shù)據(jù)類型結(jié)構(gòu)和web服務(wù)的業(yè)務(wù)含義,確定相應(yīng)數(shù)據(jù)是否是可以進(jìn)行數(shù)據(jù)存儲(chǔ)的資源,并且需要設(shè)置閾值,只有在相應(yīng)資源的大小高于該閾值的情況下,才對(duì)該資源進(jìn)行遠(yuǎn)程的存儲(chǔ)托管的處理; 和/或, 所述遠(yuǎn)程數(shù)據(jù)服務(wù)器中的緩存信息檢查結(jié)果執(zhí)行模塊,具體包括: 資源路徑返回子模塊,用于在本地發(fā)現(xiàn)資源時(shí),直接返回資源路徑給業(yè)務(wù)服務(wù)器; 響應(yīng)返回及業(yè)務(wù)數(shù)據(jù)準(zhǔn)備接收子模塊,用于在本地未發(fā)現(xiàn)資源時(shí),返回給業(yè)務(wù)服務(wù)器響應(yīng),準(zhǔn)備接收業(yè)務(wù)數(shù)據(jù)。
6.一種webService中soap消息的效率優(yōu)化方法,其特征在于,包括: 步驟202:服務(wù)請(qǐng)求端即客戶端發(fā)出soap請(qǐng)求消息到業(yè)務(wù)服務(wù)器; 步驟204:業(yè)務(wù)服務(wù)器根據(jù)soap請(qǐng)求消息,準(zhǔn)備業(yè)務(wù)數(shù)據(jù),檢查待返回的數(shù)據(jù)是否滿足向遠(yuǎn)程數(shù)據(jù)服務(wù)器存儲(chǔ)托管的要求,根據(jù)檢查結(jié)果進(jìn)行處理。
7.根據(jù)權(quán)利要求6所述的webService中soap消息的效率優(yōu)化方法,其特征在于,所述步驟204檢查待返回的數(shù)據(jù)是否滿足向遠(yuǎn)程數(shù)據(jù)服務(wù)器存儲(chǔ)托管的要求的操作,具體包括: 根據(jù)數(shù)據(jù)類型結(jié)構(gòu)和web服務(wù)的業(yè)務(wù)含義,確定相應(yīng)數(shù)據(jù)是否是可以進(jìn)行數(shù)據(jù)存儲(chǔ)的資源,并且需要設(shè)置閾值,只有在相應(yīng)資源的大小高于該閾值的情況下,才對(duì)該資源進(jìn)行遠(yuǎn)程的存儲(chǔ)托管的處理;以及, 所述步驟204根據(jù)檢查結(jié)果進(jìn)行處理的操作,具體包括: 步驟206:業(yè)務(wù)服務(wù)器根據(jù)檢查結(jié)果向客戶端直接返回?cái)?shù)據(jù)。
8.根據(jù)權(quán)利要求6或7所述的webService中soap消息的效率優(yōu)化方法,其特征在于,所述步驟204根據(jù)檢查結(jié)果進(jìn)行處理的操作,具體還包括: 步驟208:業(yè)務(wù)服務(wù)器根據(jù)檢查結(jié)果向遠(yuǎn)程數(shù)據(jù)服務(wù)器傳輸資源標(biāo)識(shí),根據(jù)檢查結(jié)果繼續(xù)處理。
9.根據(jù)權(quán)利要求8所述的webService中soap消息的效率優(yōu)化方法,其特征在于,所述步驟208根據(jù)檢查結(jié)果繼續(xù)處理的操作,具體包括: 步驟212:遠(yuǎn)程數(shù)據(jù)服務(wù)器接收資源標(biāo)識(shí),檢查本地是否已經(jīng)緩存過這個(gè)資源,如果在本地未發(fā)現(xiàn)資源,則返回給業(yè)務(wù)服務(wù)器響應(yīng),準(zhǔn)備接收業(yè)務(wù)數(shù)據(jù); 步驟216:業(yè)務(wù)服務(wù)器在未收到遠(yuǎn)程數(shù)據(jù)服務(wù)器返回的資源路徑時(shí),將準(zhǔn)備好的業(yè)務(wù)數(shù)據(jù)傳輸給遠(yuǎn)程數(shù)據(jù)服務(wù)器; 步驟218:遠(yuǎn)程數(shù)據(jù)服務(wù)器在接收到業(yè)務(wù)數(shù)據(jù)后,進(jìn)行存儲(chǔ),并返回資源路徑給業(yè)務(wù)服務(wù)器; 步驟220:服務(wù)請(qǐng)求端在從業(yè)務(wù)服務(wù)器獲得資源路徑時(shí),根據(jù)資源路徑向遠(yuǎn)程數(shù)據(jù)服務(wù)器請(qǐng)求資源。
10.根據(jù)權(quán)利要求9所述的webService中soap消息的效率優(yōu)化方法,其特征在于,所述步驟208根據(jù)檢查結(jié)果繼續(xù)處理的操作,具體還包括:步驟210:遠(yuǎn)程數(shù)據(jù)服務(wù)器接收資源標(biāo)識(shí),檢查本地是否已經(jīng)緩存過這個(gè)資源,如果在本地發(fā)現(xiàn)資源,則直接向業(yè)務(wù)服務(wù)器返回資源路徑; 步驟214:業(yè)務(wù)服務(wù)器在收到遠(yuǎn)程數(shù)據(jù)服務(wù)器返回的資源路徑時(shí),直接返回給服務(wù)請(qǐng)求端,然后 執(zhí)行步驟220。
【文檔編號(hào)】H04L29/08GK104079656SQ201410319431
【公開日】2014年10月1日 申請(qǐng)日期:2014年7月7日 優(yōu)先權(quán)日:2014年7月7日
【發(fā)明者】丁賢明 申請(qǐng)人:用友軟件股份有限公司