專利名稱::面向服務(wù)的體系結(jié)構(gòu)環(huán)境下服務(wù)之間數(shù)據(jù)傳輸?shù)膭討B(tài)優(yōu)化方法
技術(shù)領(lǐng)域:
:本發(fā)明是一種面向服務(wù)的體系結(jié)構(gòu)環(huán)境下的服務(wù)之間數(shù)據(jù)傳輸方法,特別是一種針對Web服務(wù),網(wǎng)格服務(wù)等服務(wù)之間的動態(tài)自適應(yīng)優(yōu)化數(shù)據(jù)傳輸方法。
背景技術(shù):
:面向服務(wù)的體系結(jié)構(gòu)(SOA)是一種粗粒度、松耦合的軟件體系結(jié)構(gòu)。在面向服務(wù)的體系結(jié)構(gòu)之下,環(huán)境中所有元素都抽象為服務(wù),而服務(wù)再通過基于標準定義的接口進行通信。而單獨一個服務(wù)并不能完成復(fù)雜的任務(wù),所以我們需要多個服務(wù)協(xié)同執(zhí)行一個任務(wù),在這一過程中,如何處理好服務(wù)間的通信與數(shù)據(jù)傳輸,就成為一個關(guān)鍵的問題。目前,在面向服務(wù)的體系結(jié)構(gòu)環(huán)境下,服務(wù)之間的數(shù)據(jù)傳輸方法,通常只支持單一的協(xié)議,比如簡單對象訪問協(xié)議(SOAP)、文件傳輸協(xié)議(FTP)或者網(wǎng)格文件傳輸協(xié)議(GridFTP)其中之一。這些協(xié)議各自特點如下●簡單對象訪問協(xié)議是一個基于可擴展標記語言(XML)的輕量級協(xié)議,一個異構(gòu)軟件對象在因特網(wǎng)上進行溝通的協(xié)議。它的引入,使得Web服務(wù)滿足互操作性、普遍適用性以及較低進入障礙的要求。從技術(shù)層面上講,簡單對象訪問協(xié)議就是基于可擴展標記語言遠程方法調(diào)用(RPC)協(xié)議?!裎募鬏攨f(xié)議是一個被廣泛應(yīng)用的協(xié)議,它使得我們能夠在網(wǎng)絡(luò)上方便地傳輸文件,提供登錄、目錄查詢、文件操作及其他會話控制功能?!窬W(wǎng)格文件傳輸協(xié)議完全兼容文件傳輸協(xié)議,同時在文件傳輸協(xié)議的基礎(chǔ)上為網(wǎng)格數(shù)據(jù)傳輸提供了如下特征◆網(wǎng)格安全性基礎(chǔ)設(shè)施GSI(GridSecurityInfrastructure)和Kerberos認證支持。提供完整的加密機制,保障安全?!舻谌娇刂频臄?shù)據(jù)傳輸(ThirdpartyControlofDataTransfer)支持為大型分布社區(qū)去管理大型數(shù)據(jù)集。它使第三方能夠?qū)Υ鎯Ψ?wù)器之間的傳送進行控制。◆并行數(shù)據(jù)傳輸(ParallelDataTransfer)。使用多個TCP流比使用單個TCP流要提高帶寬,并行數(shù)據(jù)傳輸由FTP命令擴展和數(shù)據(jù)通道擴展提供支持?!舴謮K數(shù)據(jù)傳輸。能夠?qū)?shù)據(jù)分割放置在多個服務(wù)器上,從而提高聚集帶寬。GridFTP是通過定義在網(wǎng)格論壇草案中的擴展來支持分塊數(shù)據(jù)傳輸?shù)摹!舨糠治募鬏?PartialFileTransfer)。與標準FTP要求應(yīng)用程序傳送整個文件不同,GridFTP命令支持傳送文件的某些區(qū)域?!艨煽繑?shù)據(jù)傳輸(ReliableDataTransfer)和可重啟的數(shù)據(jù)傳輸(RestartableDataTransfer)。故障恢復(fù)方法可以處理瞬態(tài)網(wǎng)絡(luò)故障和服務(wù)器故障,同時可以重新啟動失敗的傳送?!糇詣訁f(xié)商TCP緩沖區(qū)/窗口尺寸。支持獲取最大TCP/IP帶寬。這些協(xié)議有各自的優(yōu)缺點。從優(yōu)點上來講簡單對象訪問協(xié)議通過網(wǎng)絡(luò)實現(xiàn)內(nèi)存到內(nèi)存,不需要外存的存儲;文件傳輸協(xié)議實現(xiàn)簡單,技術(shù)成熟,適應(yīng)性廣;網(wǎng)格文件傳輸協(xié)議具有高可靠性,高安全性,第三方傳輸?shù)忍攸c。從缺點上來講簡單對象訪問協(xié)議基于XML,消息的生成和解析需要大量時間,特別是對大量的數(shù)據(jù)而言,用簡單對象訪問協(xié)議傳輸數(shù)據(jù)不可行,另外該協(xié)議對于復(fù)雜數(shù)據(jù)類型和對象的傳輸支持不好;使用文件傳輸協(xié)議需要先將數(shù)據(jù)保存成文件再進行傳輸,對于小數(shù)據(jù)來說,費時費力;網(wǎng)格文件傳輸協(xié)議也需要將數(shù)據(jù)轉(zhuǎn)移到外存再傳輸,另外該協(xié)議比較復(fù)雜,安全和認證開銷較大,且對于用戶使用也不太方便。只有發(fā)揮各種協(xié)議的優(yōu)點,克服它們各自的缺點,才能更好的完成面向服務(wù)的體系結(jié)構(gòu)系統(tǒng)中。
發(fā)明內(nèi)容本發(fā)明的目的是提出一種針對分布在包括局域網(wǎng)、廣域網(wǎng)、因特網(wǎng)在內(nèi)的服務(wù),基于包括簡單對象訪問協(xié)議SOAP、文件傳輸協(xié)議FTP、網(wǎng)格文件傳輸協(xié)議GridFTP在內(nèi)的能夠針對異構(gòu)平臺之間進行數(shù)據(jù)傳輸?shù)膮f(xié)議,通過網(wǎng)絡(luò)進行數(shù)據(jù)傳輸時動態(tài)優(yōu)化的方法。本發(fā)明的特征是基于以下面向服務(wù)的體系結(jié)構(gòu)SOA依次進行以下步驟步驟1.初始化在提供服務(wù)的服務(wù)器上運行著操作系統(tǒng)、面向服務(wù)的體系結(jié)構(gòu)SOA基礎(chǔ)設(shè)施軟件、運行在該基礎(chǔ)設(shè)施上的至少一個服務(wù)以及數(shù)據(jù)傳輸動態(tài)優(yōu)化適配器;在提供服務(wù)的服務(wù)器之間由網(wǎng)絡(luò)進行互連;在數(shù)據(jù)服務(wù)器上設(shè)有服務(wù)器支持軟件,該數(shù)據(jù)服務(wù)器的作用在于,除了在所述提供服務(wù)的服務(wù)器之間傳遞數(shù)據(jù)外,在數(shù)據(jù)傳輸過程中,用到包括文件傳輸協(xié)議FTP、網(wǎng)格文件傳輸協(xié)議GridFTP在內(nèi)的需要通過外存進行數(shù)據(jù)中轉(zhuǎn)的協(xié)議時,進行服務(wù)間的數(shù)據(jù)中轉(zhuǎn),在數(shù)據(jù)服務(wù)器之間,在所述數(shù)據(jù)服務(wù)器和提供服務(wù)的服務(wù)器之間,是通過網(wǎng)絡(luò)連接的;所述數(shù)據(jù)傳輸優(yōu)化適配器根據(jù)本地的一個服務(wù)傳來的包括數(shù)據(jù)以及目的服務(wù)的地址在內(nèi)的數(shù)據(jù)傳輸請求,進行估算和試探后,決定具體傳輸協(xié)議和方式,按所給的目的服務(wù)的地址來傳輸數(shù)據(jù);步驟2.本地的提供服務(wù)的服務(wù)器上一個服務(wù)發(fā)起一次數(shù)據(jù)傳輸,把數(shù)據(jù)和目的服務(wù)的地址發(fā)送給本地數(shù)據(jù)傳輸優(yōu)化適配器;步驟3.步驟2中所述的數(shù)據(jù)傳輸優(yōu)化適配器分析目的服務(wù)的地址,在緩存中查找近期是否向目的服務(wù)所在的提供服務(wù)的服務(wù)器傳送過數(shù)據(jù);若是,則獲取已經(jīng)緩存的優(yōu)化數(shù)據(jù)傳輸表,選擇緩存上的傳輸協(xié)議,按照步驟5進行操作;若不是,則進行步驟4;步驟4.依據(jù)步驟3的判斷,若不是,步驟2中所述的數(shù)據(jù)傳輸優(yōu)化適配器便依據(jù)包括要傳送的數(shù)據(jù)的大小、性能要求、安全要求在內(nèi)的相關(guān)條件估算出一個測試包,向目的服務(wù)所在的提供服務(wù)的服務(wù)器上的數(shù)據(jù)傳輸優(yōu)化適配器發(fā)送以進行試探,再通過應(yīng)答判斷得到的數(shù)據(jù)與目的服務(wù)所在的提供服務(wù)的服務(wù)器或與數(shù)據(jù)服務(wù)器之間的網(wǎng)絡(luò)帶寬、延遲在內(nèi)的信息,選擇一種協(xié)議進行下一個步驟;步驟5.所述本地的數(shù)據(jù)傳輸優(yōu)化適配器根據(jù)不同的協(xié)議進行以下不同的操作若選擇所述SOAP協(xié)議,便把數(shù)據(jù)進行SOAP編碼之后通過網(wǎng)絡(luò)直接送到目的服務(wù)所在的提供服務(wù)的服務(wù)器中的數(shù)據(jù)傳輸優(yōu)化適配器,目的服務(wù)所在的提供服務(wù)的服務(wù)器中的數(shù)據(jù)傳輸優(yōu)化適配器再轉(zhuǎn)給目的服務(wù)器;若選擇所述FTP協(xié)議,便把數(shù)據(jù)通過網(wǎng)絡(luò)上傳到FTP數(shù)據(jù)服務(wù)器,同時又通過網(wǎng)絡(luò)通知目的服務(wù)所在的提供服務(wù)的服務(wù)器中的數(shù)據(jù)傳輸優(yōu)化適配器,由該數(shù)據(jù)傳輸優(yōu)化適配器通過網(wǎng)絡(luò)從該FTP數(shù)據(jù)服務(wù)器上取得數(shù)據(jù),送給目的服務(wù);若選擇所述GridFTP協(xié)議,便把數(shù)據(jù)通過網(wǎng)絡(luò)上傳到GridFTP數(shù)據(jù)服務(wù)器,同時又通過網(wǎng)絡(luò)通知目的服務(wù)所在的提供服務(wù)的服務(wù)器中的數(shù)據(jù)傳輸優(yōu)化適配器,由該數(shù)據(jù)傳輸優(yōu)化適配器通過網(wǎng)絡(luò)從該GridFTP數(shù)據(jù)服務(wù)器上取得數(shù)據(jù),送給目的服務(wù)。本發(fā)明提出一種SOA環(huán)境下服務(wù)間進行數(shù)據(jù)傳輸?shù)膭討B(tài)優(yōu)化方法,目的是使得數(shù)據(jù)在服務(wù)間能夠高效可靠的進行傳輸。該動態(tài)優(yōu)化方法提供對多種數(shù)據(jù)傳輸協(xié)議的支持,包括簡單對象訪問協(xié)議、文件傳輸協(xié)議、網(wǎng)格文件傳輸協(xié)議等,同時該方法也提供對將來可能出現(xiàn)的數(shù)據(jù)傳輸協(xié)議進行支持的能力。正是由于該數(shù)據(jù)傳輸動態(tài)優(yōu)化方法支持多種數(shù)據(jù)傳輸協(xié)議,并能夠根據(jù)實際情況,智能的選擇優(yōu)化的傳輸策略,所以該方法集合了多種協(xié)議的優(yōu)點,如簡單對象訪問協(xié)議實現(xiàn)的從內(nèi)存到內(nèi)存,不需要外部存儲的優(yōu)點;文件傳輸協(xié)議的實現(xiàn)簡單,技術(shù)成熟,適應(yīng)性廣的優(yōu)點;網(wǎng)格文件傳輸協(xié)議的高可靠性,高安全性,支持第三方傳輸?shù)葍?yōu)點。同時又避免了采用單一傳輸協(xié)議可能帶來的不靈活、某些情況下性能低等缺點。由于本發(fā)明所支持的傳輸協(xié)議都是標準傳輸協(xié)議,具有與運行平臺無關(guān)的特點,故本傳輸方法適用于異構(gòu)平臺上的服務(wù)間的數(shù)據(jù)傳輸過程,這符合SOA的思想。本發(fā)明既能利用相關(guān)數(shù)據(jù)傳輸協(xié)議特性進而提供服務(wù)間可靠高效數(shù)據(jù)傳輸方法,又能動態(tài)的根據(jù)不同的網(wǎng)絡(luò)條件、不同的數(shù)據(jù)量大小,選擇合適的數(shù)據(jù)傳輸協(xié)議與方式進行數(shù)據(jù)傳輸。當(dāng)數(shù)據(jù)量小的時候,本發(fā)明可以選擇簡單對象訪問協(xié)議進行從內(nèi)存到內(nèi)存的傳輸,避免了外存訪問的開銷;當(dāng)數(shù)據(jù)量大的時候,本發(fā)明可以選擇文件傳輸協(xié)議或者網(wǎng)格文件傳輸協(xié)議進行數(shù)據(jù)傳輸,避免了使用簡單對象訪問協(xié)議時對基于可擴展標記語言的包的生成和解析所耗費的大量時間;當(dāng)安全要求很高的時候,本發(fā)明可以選擇網(wǎng)格文件傳輸協(xié)議,利用其所支持的安全性認證證書機制滿足要求;當(dāng)數(shù)據(jù)傳遞速度要求很高時,本發(fā)明可以選擇使用文件傳輸協(xié)議或者網(wǎng)格文件傳輸協(xié)議中支持的分塊并行傳輸機制??傊景l(fā)明能夠根據(jù)服務(wù)的需要,動態(tài)的選擇適合的協(xié)議和方法,將數(shù)據(jù)按要求傳遞到其它服務(wù)中去。圖1本發(fā)明實施的方法硬件結(jié)構(gòu)圖。圖2本發(fā)明實施的方法中提供服務(wù)的服務(wù)器上的軟件組成結(jié)構(gòu)圖。圖3a本發(fā)明實施過程中數(shù)據(jù)優(yōu)化傳輸適配器采用簡單對象訪問協(xié)議直接進行數(shù)據(jù)傳輸示意圖,圖3b本發(fā)明實施過程中數(shù)據(jù)優(yōu)化傳輸適配器采用文件傳輸協(xié)議或網(wǎng)格文件傳輸協(xié)議進行數(shù)據(jù)傳輸示意圖。圖4本發(fā)明實施方法流程圖。圖5數(shù)據(jù)傳輸優(yōu)化適配器執(zhí)行流程圖。具體實施例方式本發(fā)明通過以下的技術(shù)方法來實現(xiàn)本發(fā)明所描述的數(shù)據(jù)傳輸?shù)姆椒ㄖ邪ㄓ布蛙浖蓚€方面。硬件包括提供服務(wù)的服務(wù)器,數(shù)據(jù)服務(wù)器和網(wǎng)絡(luò),軟件包括運行于提供服務(wù)的服務(wù)器上的操作系統(tǒng),SOA系統(tǒng)底層軟件基礎(chǔ)設(shè)施,運行在基礎(chǔ)設(shè)施上的服務(wù),數(shù)據(jù)傳輸優(yōu)化適配器;運行于數(shù)據(jù)服務(wù)器上的服務(wù)器端支持軟件。提供服務(wù)的服務(wù)器之間由網(wǎng)絡(luò)進行連接。在數(shù)據(jù)傳輸過程中如果用到文件傳輸協(xié)議或者網(wǎng)格文件傳輸協(xié)議這一類的需要通過外存進行數(shù)據(jù)中轉(zhuǎn)的協(xié)議,就需要引入數(shù)據(jù)服務(wù)器。數(shù)據(jù)服務(wù)器的作用是在服務(wù)間進行數(shù)據(jù)中轉(zhuǎn)。提供服務(wù)的服務(wù)器與數(shù)據(jù)服務(wù)器之間也通過網(wǎng)絡(luò)進行連接。數(shù)據(jù)服務(wù)器之間有時也需要互傳數(shù)據(jù),所以數(shù)據(jù)服務(wù)器之間也是通過網(wǎng)絡(luò)互連起來的。這里的網(wǎng)絡(luò),涵蓋了絕大多數(shù)網(wǎng)絡(luò)的形式,它可以是局域網(wǎng)、廣域網(wǎng)、無線網(wǎng)、因特網(wǎng)等各種形式,也可以是它們?nèi)我獾慕M合。提供服務(wù)的服務(wù)器上運行的軟件包括操作系統(tǒng),SOA系統(tǒng)底層軟件基礎(chǔ)設(shè)施,運行在基礎(chǔ)設(shè)施上的服務(wù),數(shù)據(jù)傳輸優(yōu)化適配器。請注意,一臺提供服務(wù)的服務(wù)器上的SOA基礎(chǔ)設(shè)施支持軟件上可同時運行多個服務(wù)。當(dāng)系統(tǒng)中某一個服務(wù)因得到用戶指令或計算完成等原因,需要將數(shù)據(jù)傳輸給另一個服務(wù)時,它只要將數(shù)據(jù)以及目的服務(wù)的地址傳遞給數(shù)據(jù)優(yōu)化傳輸適配器,由優(yōu)化傳輸適配器來決定具體傳輸?shù)膮f(xié)議與方式。這種決定具體傳輸協(xié)議與方式是通過優(yōu)化傳輸適配器根據(jù)相關(guān)條件進行估算(如已知的數(shù)據(jù)傳輸量大小、性能要求、安全要求等)和試探(比如通過發(fā)包確定與目的服務(wù)所在服務(wù)器或者數(shù)據(jù)服務(wù)器之間的網(wǎng)絡(luò)帶寬、網(wǎng)絡(luò)延遲等信息等)來決定的。當(dāng)然,應(yīng)該提出的是,數(shù)據(jù)傳輸優(yōu)化適配器并不需要在每一次服務(wù)之間要數(shù)據(jù)傳輸之前都進行估算、試探操作,因為這樣做需要耗費比較多的資源,且效率不高,所以在啟動一次陌生的服務(wù)間數(shù)據(jù)傳輸過程之前進行這種開銷較大的操作,或者定時進行該操作,這樣做,對性能的提高有很大好處。決定具體傳輸協(xié)議和方式之后,若選擇的是簡單對象訪問協(xié)議這一類不需外存中轉(zhuǎn)的協(xié)議進行傳輸,則本地的優(yōu)化傳輸適配器將數(shù)據(jù)發(fā)送到目的服務(wù)所在的提供服務(wù)的服務(wù)器上的優(yōu)化傳輸適配器上,目的服務(wù)所在的提供服務(wù)的服務(wù)器上的優(yōu)化傳輸適配器再將數(shù)據(jù)轉(zhuǎn)發(fā)給目的服務(wù);若選擇的是文件傳輸協(xié)議或者網(wǎng)格文件傳輸協(xié)議這一類需要外存中轉(zhuǎn)的協(xié)議,則本地優(yōu)化適配器先將數(shù)據(jù)通過所選協(xié)議傳輸?shù)较到y(tǒng)中的某個數(shù)據(jù)服務(wù)器上,再通知目的服務(wù)所在的提供服務(wù)的服務(wù)器上的優(yōu)化傳輸適配器數(shù)據(jù)所在位置(也就是數(shù)據(jù)在數(shù)據(jù)服務(wù)器的具體地址),之后目的服務(wù)所在的提供服務(wù)的服務(wù)器上的優(yōu)化傳輸適配器從數(shù)據(jù)服務(wù)器上下載數(shù)據(jù),并轉(zhuǎn)發(fā)給目的服務(wù)。對于數(shù)據(jù)優(yōu)化傳輸適配器運行機制的具體描述,如下數(shù)據(jù)優(yōu)化傳輸適配器接到本機的一個服務(wù)傳來的數(shù)據(jù)傳輸請求,然后數(shù)據(jù)優(yōu)化傳輸適配器分析目的服務(wù)的地址,在緩存中檢查近期是否曾向目的服務(wù)所在地服務(wù)提供服務(wù)器傳送過數(shù)據(jù),如果是,則獲取已經(jīng)緩存的優(yōu)化數(shù)據(jù)傳輸表,選擇合適的數(shù)據(jù)傳輸方法進行數(shù)據(jù)在服務(wù)間的傳輸。如果不是,則使用不同的數(shù)據(jù)傳輸方式用不同數(shù)據(jù)量的測試數(shù)據(jù)(默認情況下為10KB、100KB、1MB、10MB)向目的地的數(shù)據(jù)優(yōu)化傳輸適配器發(fā)送,發(fā)送完畢之后等待目的地數(shù)據(jù)優(yōu)化傳輸適配器的接收確認,計算其各自的時間間隔,得到一個優(yōu)化數(shù)據(jù)傳輸表。然后本地的數(shù)據(jù)優(yōu)化傳輸適配器通過判斷本地服務(wù)要送出數(shù)據(jù)量的大小和測試數(shù)據(jù)傳輸時間,選擇一種最適合本次數(shù)據(jù)傳輸?shù)膫鬏敺椒?,并進行數(shù)據(jù)傳輸。圖1所示為服務(wù)之間數(shù)據(jù)傳輸動態(tài)優(yōu)化方法。其中的服務(wù)提供服務(wù)器(1)作為SOA系統(tǒng)的硬件基本組成部分,其上運行著操作系統(tǒng)、SOA基礎(chǔ)設(shè)施軟件以及SOA系統(tǒng)的基本組成元素——服務(wù)。服務(wù)提供服務(wù)器(1)由網(wǎng)絡(luò)(3)進行互連。數(shù)據(jù)服務(wù)器(2)也是SOA系統(tǒng)的硬件組成部分,它們也由網(wǎng)絡(luò)(3)進行互連。數(shù)據(jù)服務(wù)器(2)的作用,是提供SOA系統(tǒng)的數(shù)據(jù)存儲和數(shù)據(jù)中轉(zhuǎn)。在一次服務(wù)間的數(shù)據(jù)傳輸過程中,根據(jù)實際情況,提供服務(wù)的服務(wù)器動態(tài)的選擇一種數(shù)據(jù)傳輸?shù)狡渌?wù)所在服務(wù)器的協(xié)議和方式,可能的方式為提供服務(wù)的服務(wù)器(1)通過網(wǎng)絡(luò)(3),使用簡單對象訪問協(xié)議直接將數(shù)據(jù)發(fā)送到其它服務(wù)所在地提供服務(wù)的服務(wù)器(1);提供服務(wù)的服務(wù)器(1)通過網(wǎng)絡(luò)(3),使用文件傳輸協(xié)議或者網(wǎng)格文件傳輸協(xié)議將數(shù)據(jù)傳送到一臺或者幾臺數(shù)據(jù)服務(wù)器(2)上,再通過簡單對象訪問協(xié)議通知另外的提供服務(wù)的服務(wù)器(1)如何取得數(shù)據(jù)(包括數(shù)據(jù)地址,登陸所需用戶名、密碼等信息,甚至是訪問所需證書),目的提供服務(wù)的服務(wù)器(1)得到相關(guān)信息以后,再通過網(wǎng)絡(luò)(3),使用文件傳輸協(xié)議或者網(wǎng)格文件傳輸協(xié)議從相應(yīng)的數(shù)據(jù)服務(wù)器(2)上獲取數(shù)據(jù)。圖2所示為圖1中提供服務(wù)的服務(wù)器(1)上運行的軟件的組成結(jié)構(gòu)圖,提供服務(wù)的服務(wù)器(1)上運行的軟件包括操作系統(tǒng)、SOA底層支持軟件、多個服務(wù)(4)和一個數(shù)據(jù)優(yōu)化傳輸適配器(5)。服務(wù)(4)是SOA系統(tǒng)軟件的基本組成元素,它的發(fā)布、包裝、調(diào)用、通信等過程都遵守一系列的標準協(xié)議規(guī)范。數(shù)據(jù)優(yōu)化傳輸適配器(5)是本發(fā)明中比較重要的部分,正是它的引入使得服務(wù)之間動態(tài)高效的數(shù)據(jù)傳輸變得透明。也就是說,對于需要進行數(shù)據(jù)傳輸服務(wù)和接收數(shù)據(jù)的服務(wù)來講,不需要關(guān)心數(shù)據(jù)具體傳輸用到的協(xié)議與使用的方式。為了實現(xiàn)上述功能,數(shù)據(jù)優(yōu)化傳輸適配器(5)需要支持數(shù)據(jù)傳輸所用到的標準協(xié)議,比如簡單對象訪問協(xié)議、文件傳輸協(xié)議、網(wǎng)格文件傳輸協(xié)議以及未來可能產(chǎn)生的數(shù)據(jù)傳輸協(xié)議。數(shù)據(jù)優(yōu)化傳輸適配器(5)所支持的協(xié)議是可擴充的,正由于此,對于未來可能出現(xiàn)的新的通用數(shù)據(jù)傳輸協(xié)議,只要在優(yōu)化傳輸適配器上增加對該協(xié)議的支持,就可以在SOA環(huán)境下的服務(wù)之間數(shù)據(jù)傳輸過程中使用新的協(xié)議,非常方便。具體來講,數(shù)據(jù)優(yōu)化傳輸適配器(5)的工作原理和所遵守的選擇數(shù)據(jù)傳輸協(xié)議的規(guī)則是可變的,也就是說用戶可以自行設(shè)定該規(guī)則,以下僅舉一例,即設(shè)置以下規(guī)則作為數(shù)據(jù)傳輸適配器的執(zhí)行規(guī)則,而實際上,根據(jù)實際情況的需要,我們可以為數(shù)據(jù)傳輸適配器制定不同的規(guī)則和策略數(shù)據(jù)優(yōu)化傳輸適配器(5)接到本機的一個服務(wù)(4)傳來的數(shù)據(jù)傳輸請求,數(shù)據(jù)優(yōu)化傳輸適配器(5)分析目的服務(wù)(4)的地址,在緩存中檢查近期是否曾向目的服務(wù)(4)所在地服務(wù)提供服務(wù)器(1)傳送過數(shù)據(jù),如果是,則獲取已經(jīng)緩存的優(yōu)化數(shù)據(jù)傳輸表,選擇合適的數(shù)據(jù)傳輸方法進行數(shù)據(jù)在服務(wù)間的傳輸。如果不是,則使用不同的數(shù)據(jù)傳輸方式用不同數(shù)據(jù)量的測試數(shù)據(jù)(默認情況下為10KB、100KB、1MB、10MB)向目的地的數(shù)據(jù)優(yōu)化傳輸適配器(5)發(fā)送,發(fā)送完畢之后等待目的地數(shù)據(jù)優(yōu)化傳輸適配器(5)的接收確認,計算其各自的時間間隔,得到一個優(yōu)化數(shù)據(jù)傳輸表。然后本地的數(shù)據(jù)優(yōu)化傳輸適配器(5)通過判斷本地服務(wù)(4)要送出數(shù)據(jù)量的大小和測試數(shù)據(jù)傳輸時間,選擇一種最適合本次數(shù)據(jù)傳輸?shù)膫鬏敺椒?,并進行數(shù)據(jù)傳輸。圖3a所示為提供服務(wù)的服務(wù)器(1)中的數(shù)據(jù)優(yōu)化傳輸適配器(5)采用簡單對象訪問協(xié)議直接進行數(shù)據(jù)傳輸示意圖。這種情況通常是,數(shù)據(jù)優(yōu)化傳輸適配器(5)收到服務(wù)(1)發(fā)來的數(shù)據(jù),且所要發(fā)送的數(shù)據(jù)具有數(shù)據(jù)量小,無需備份等特點,適宜采用從內(nèi)存到內(nèi)存的簡單對象訪問協(xié)議進行直接傳輸。于是數(shù)據(jù)優(yōu)化傳輸適配器(5)通過網(wǎng)絡(luò)(3)連接到目的提供服務(wù)的服務(wù)器(1),將數(shù)據(jù)通過簡單對象訪問協(xié)議傳輸?shù)钠渖系牧硪粋€數(shù)據(jù)優(yōu)化傳輸適配器(5)上,再有該數(shù)據(jù)優(yōu)化傳輸適配器(5)解析后傳遞給目標服務(wù)(1)。圖3b所示為提供服務(wù)的服務(wù)器(1)中的數(shù)據(jù)優(yōu)化傳輸適配器(5)采用文件傳輸協(xié)議或網(wǎng)格文件傳輸協(xié)議進行數(shù)據(jù)傳輸示意圖。這種情況與圖3a所示的不同為數(shù)據(jù)優(yōu)化傳輸適配器(5)收到服務(wù)(1)發(fā)來的數(shù)據(jù),該數(shù)據(jù)特點為數(shù)據(jù)量大,或直接發(fā)送有其它困難。這時候數(shù)據(jù)優(yōu)化傳輸適配器(5)通過網(wǎng)絡(luò)(3),使用文件傳輸協(xié)議或者網(wǎng)格文件傳輸協(xié)議連接到一臺或多臺數(shù)據(jù)服務(wù)器(2)并上傳數(shù)據(jù)文件。傳輸完畢之后,給目的提供服務(wù)的服務(wù)器(1)發(fā)送一條消息,則目的提供服務(wù)的服務(wù)器(1)中的數(shù)據(jù)優(yōu)化傳輸適配器(5)將通用通過文件傳輸協(xié)議或者網(wǎng)格文件傳輸協(xié)議連接到相應(yīng)的一臺或多臺數(shù)據(jù)服務(wù)器(2)并下載數(shù)據(jù)文件。完成之后再將數(shù)據(jù)傳遞給目標服務(wù)(1)。以上所述為本發(fā)明技術(shù)構(gòu)思下的基本說明,凡依據(jù)本發(fā)明的技術(shù)方法進行的任何等效變換,特別是在數(shù)據(jù)傳輸適配器部分進行策略的改變,均應(yīng)屬于本發(fā)明保護范圍。以下為一個實事例提供服務(wù)的服務(wù)器a上的服務(wù)a1要向提供服務(wù)器b上的服務(wù)b1傳輸數(shù)據(jù),數(shù)據(jù)量為20M字節(jié)。但此前a和b之間沒有進行過通信,故a上的數(shù)據(jù)傳輸優(yōu)化適配器接到a1的請求,發(fā)現(xiàn)沒有特殊要求,于是采用FTP和SOAP兩種數(shù)據(jù)傳輸協(xié)議,在a和b之間傳輸測試數(shù)據(jù),數(shù)據(jù)大小分別為10KB、100KB、1MB、10MB,得到結(jié)果為(單位毫秒)注意到,使用SOAP協(xié)議,傳輸和解析時間并非按照數(shù)據(jù)量的增加而線性增加,這是由于SOAP基于XML的消息編碼機制,具體問題我們不在此詳細描述。于是數(shù)據(jù)傳輸優(yōu)化適配器得到信息在a和b之間進行數(shù)據(jù)傳輸,當(dāng)數(shù)據(jù)量小于100KB時,應(yīng)該選擇SOAP進行數(shù)據(jù)傳輸,當(dāng)數(shù)據(jù)量大于100KB時,則應(yīng)該選擇FTP進行數(shù)據(jù)傳輸,該信息存入緩沖表中。a1和b1之間需要傳輸數(shù)據(jù)量為20MB,故數(shù)據(jù)傳輸優(yōu)化適配器選擇FTP方式進行數(shù)據(jù)傳輸。它將數(shù)據(jù)上傳到系統(tǒng)中一個數(shù)據(jù)服務(wù)器,然后通知目標服務(wù)器b上的數(shù)據(jù)傳輸優(yōu)化適配器,目標服務(wù)器b上的數(shù)據(jù)傳輸優(yōu)化適配器收到消息之后,從數(shù)據(jù)服務(wù)器取回數(shù)據(jù),傳遞給b1,操作結(jié)束。權(quán)利要求1.面向服務(wù)的體系結(jié)構(gòu)環(huán)境下服務(wù)之間數(shù)據(jù)傳輸?shù)膭討B(tài)優(yōu)化方法,其特征在于,該方法基于以下面向服務(wù)的體系結(jié)構(gòu)SOA依次進行以下步驟步驟1.初始化在提供服務(wù)的服務(wù)器上運行著操作系統(tǒng)、面向服務(wù)的體系結(jié)構(gòu)SOA基礎(chǔ)設(shè)施軟件、運行在該基礎(chǔ)設(shè)施上的至少一個服務(wù)以及數(shù)據(jù)傳輸動態(tài)優(yōu)化適配器;在提供服務(wù)的服務(wù)器之間由網(wǎng)絡(luò)進行互連;在數(shù)據(jù)服務(wù)器上設(shè)有服務(wù)器支持軟件,該數(shù)據(jù)服務(wù)器的作用在于,除了在所述提供服務(wù)的服務(wù)器之間傳遞數(shù)據(jù)外,在數(shù)據(jù)傳輸過程中,用到包括文件傳輸協(xié)議FTP、網(wǎng)格文件傳輸協(xié)議GridFTP在內(nèi)的需要通過外存進行數(shù)據(jù)中轉(zhuǎn)的協(xié)議時,進行服務(wù)間的數(shù)據(jù)中轉(zhuǎn),在數(shù)據(jù)服務(wù)器之間,在所述數(shù)據(jù)服務(wù)器和提供服務(wù)的服務(wù)器之間,是通過網(wǎng)絡(luò)連接的;所述數(shù)據(jù)傳輸優(yōu)化適配器根據(jù)本地的一個服務(wù)傳來的包括數(shù)據(jù)以及目的服務(wù)的地址在內(nèi)的數(shù)據(jù)傳輸請求,進行估算和試探后,決定具體傳輸協(xié)議和方式,按所給的目的服務(wù)的地址來傳輸數(shù)據(jù);步驟2.本地的提供服務(wù)的服務(wù)器上一個服務(wù)發(fā)起一次數(shù)據(jù)傳輸,把數(shù)據(jù)和目的服務(wù)的地址發(fā)送給本地數(shù)據(jù)傳輸優(yōu)化適配器;步驟3.步驟2中所述的數(shù)據(jù)傳輸優(yōu)化適配器分析目的服務(wù)的地址,在緩存中查找近期是否向目的服務(wù)所在的提供服務(wù)的服務(wù)器傳送過數(shù)據(jù);若是,則獲取已經(jīng)緩存的優(yōu)化數(shù)據(jù)傳輸表,選擇緩存上的傳輸協(xié)議,按照步驟5進行操作;若不是,則進行步驟4;步驟4.依據(jù)步驟3的判斷,若不是,步驟2中所述的數(shù)據(jù)傳輸優(yōu)化適配器便依據(jù)包括要傳送的數(shù)據(jù)的大小、性能要求、安全要求在內(nèi)的相關(guān)條件估算出一個測試包,向目的服務(wù)所在的提供服務(wù)的服務(wù)器上的數(shù)據(jù)傳輸優(yōu)化適配器發(fā)送以進行試探,再通過應(yīng)答判斷得到的數(shù)據(jù)與目的服務(wù)所在的提供服務(wù)的服務(wù)器或與數(shù)據(jù)服務(wù)器之間的網(wǎng)絡(luò)帶寬、延遲在內(nèi)的信息,選擇一種協(xié)議進行下一個步驟;步驟5.所述本地的數(shù)據(jù)傳輸優(yōu)化適配器根據(jù)不同的協(xié)議進行以下不同的操作若選擇所述SOAP協(xié)議,便把數(shù)據(jù)進行SOAP編碼之后通過網(wǎng)絡(luò)直接送到目的服務(wù)所在的提供服務(wù)的服務(wù)器中的數(shù)據(jù)傳輸優(yōu)化適配器,目的服務(wù)所在的提供服務(wù)的服務(wù)器中的數(shù)據(jù)傳輸優(yōu)化適配器再轉(zhuǎn)給目的服務(wù)器;若選擇所述FTP協(xié)議,便把數(shù)據(jù)通過網(wǎng)絡(luò)上傳到FTP數(shù)據(jù)服務(wù)器,同時又通過網(wǎng)絡(luò)通知目的服務(wù)所在的提供服務(wù)的服務(wù)器中的數(shù)據(jù)傳輸優(yōu)化適配器,由該數(shù)據(jù)傳輸優(yōu)化適配器通過網(wǎng)絡(luò)從該FTP數(shù)據(jù)服務(wù)器上取得數(shù)據(jù),送給目的服務(wù);若選擇所述GridFTP協(xié)議,便把數(shù)據(jù)通過網(wǎng)絡(luò)上傳到GridFTP數(shù)據(jù)服務(wù)器,同時又通過網(wǎng)絡(luò)通知目的服務(wù)所在的提供服務(wù)的服務(wù)器中的數(shù)據(jù)傳輸優(yōu)化適配器,由該數(shù)據(jù)傳輸優(yōu)化適配器通過網(wǎng)絡(luò)從該GridFTP數(shù)據(jù)服務(wù)器上取得數(shù)據(jù),送給目的服務(wù)。2.根據(jù)權(quán)利要求1所述的面向服務(wù)的體系結(jié)構(gòu)環(huán)境下服務(wù)之間數(shù)據(jù)傳輸動態(tài)優(yōu)化方法,其特征在于,所述網(wǎng)絡(luò)包括局域網(wǎng),廣域網(wǎng),因特網(wǎng)在內(nèi)各種網(wǎng)絡(luò)形式。3.根據(jù)權(quán)利要求1所述的面向服務(wù)的體系結(jié)構(gòu)環(huán)境下服務(wù)之間數(shù)據(jù)傳輸動態(tài)優(yōu)化方法,其特征在于,所述的數(shù)據(jù)傳輸優(yōu)化適配器在啟動一次陌生的服務(wù)間數(shù)據(jù)傳輸過程前進行網(wǎng)絡(luò)帶寬、延遲等估算,或者定時進行該操作。4.根據(jù)權(quán)利要求1所述的面向服務(wù)的體系結(jié)構(gòu)環(huán)境下服務(wù)之間數(shù)據(jù)傳輸動態(tài)優(yōu)化方法,所支持的協(xié)議都能夠針對異構(gòu)平臺進行數(shù)據(jù)傳輸,包括目前在web服務(wù)和Grid領(lǐng)域使用的進行服務(wù)間通信的簡單對象訪問協(xié)議SOAP,文件傳輸協(xié)議FTP,網(wǎng)格文件傳輸協(xié)議GridFTP;另外還預(yù)留提供支持未來服務(wù)間溝通協(xié)議的能力。5.根據(jù)權(quán)利要求1所述的面向服務(wù)的體系結(jié)構(gòu)環(huán)境下服務(wù)之間數(shù)據(jù)傳輸動態(tài)優(yōu)化方法,其特征在于,所述的數(shù)據(jù)傳輸優(yōu)化適配器在本地服務(wù)在傳輸數(shù)據(jù)時提出安全需求的情況下,選擇GridFTP協(xié)議進行數(shù)據(jù)傳輸。全文摘要本發(fā)明屬于面向服務(wù)的體系結(jié)構(gòu)環(huán)境下服務(wù)之間數(shù)據(jù)傳輸
技術(shù)領(lǐng)域:
,其特征在于,在提供服務(wù)的服務(wù)器上增加一個數(shù)據(jù)傳輸優(yōu)化適配器,對本地的一個服務(wù)傳來的包括數(shù)據(jù)和目的服務(wù)的地址在內(nèi)的數(shù)據(jù)傳輸請求,通過包括發(fā)來的數(shù)據(jù)傳輸量大小在內(nèi)的相關(guān)條件在進行估算后向目的服務(wù)所在的提供服務(wù)的服務(wù)器或者相應(yīng)協(xié)議所在網(wǎng)絡(luò)的數(shù)據(jù)服務(wù)器發(fā)送測試包,進行測試,再從應(yīng)答中得到的帶寬、延遲信息來具體選擇相應(yīng)的傳輸協(xié)議。本方法能夠支持包括簡單對象訪問協(xié)議、文件傳輸協(xié)議、網(wǎng)格文件傳輸協(xié)議在內(nèi)的能夠在異構(gòu)平臺見傳輸數(shù)據(jù)的協(xié)議,克服了單一傳輸協(xié)議的不靈活、在某些條件下性能低的缺點。文檔編號H04L29/08GK1968276SQ20061014401公開日2007年5月23日申請日期2006年11月24日優(yōu)先權(quán)日2006年11月24日發(fā)明者都志輝,程志力,王曼,朱穗暉申請人:清華大學(xué)