使用xml的文件傳輸?shù)闹谱鞣椒?br>
【專利摘要】一種有形機(jī)器可讀存儲(chǔ)介質(zhì)存儲(chǔ)指令,并且在指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)一種方法。通過(guò)網(wǎng)關(guān)引擎接收源文件。該源文件是二進(jìn)制文件。通過(guò)分解引擎將該源文件分成多個(gè)部分。根據(jù)消息收發(fā)協(xié)議,使用單個(gè)端口通過(guò)可靠傳輸引擎來(lái)傳輸多個(gè)部分,以在軟件故障、組件故障、系統(tǒng)故障或者網(wǎng)絡(luò)故障中任一種存在的情況下在節(jié)點(diǎn)之間可靠地傳輸消息。通過(guò)重組裝引擎將多個(gè)部分重組裝成源文件的副本。
【專利說(shuō)明】使用XML的文件傳輸
【背景技術(shù)】
[0001] 通過(guò)使遠(yuǎn)程訪問(wèn)和通信可利用文件,文件傳輸允許分布式計(jì)算。XML網(wǎng)頁(yè)(web)服 務(wù)標(biāo)準(zhǔn)可以用于內(nèi)部和外部通信。一些文件傳輸系統(tǒng)要求用于消息通信的多個(gè)端口,并且 與現(xiàn)代XML標(biāo)準(zhǔn)和基礎(chǔ)結(jié)構(gòu)不兼容。
【專利附圖】
【附圖說(shuō)明】
[0002] 通過(guò)參考下面的【具體實(shí)施方式】和附圖,本公開(kāi)的示例的特征和優(yōu)勢(shì)將變得顯而易 見(jiàn),其中相同的附圖標(biāo)記或字符對(duì)應(yīng)于類似的但可能不相同的組件。為了簡(jiǎn)潔,具有之前描 述的功能的附圖標(biāo)記、字符或特征,可能或可能不關(guān)于它們?cè)谄渲谐霈F(xiàn)的其它附圖進(jìn)行描 述。
[0003] 圖1是描繪根據(jù)本公開(kāi)的方法的示例的流程圖;
[0004] 圖2是本公開(kāi)的示例文件傳輸系統(tǒng)的示意圖;
[0005] 圖3是描繪用于為隨后的傳輸編碼二進(jìn)制數(shù)據(jù)部分的兩種方法的示例的流程圖;
[0006] 圖4A是描繪用于將源文件準(zhǔn)備用于作為多個(gè)部分的傳輸?shù)姆椒ǖ氖纠牧鞒?圖;
[0007] 圖4B是描繪用于根據(jù)所傳輸?shù)亩鄠€(gè)部分生成源文件副本的方法的示例的流程 圖;
[0008] 圖5是根據(jù)本公開(kāi)的文件傳輸系統(tǒng)的另一示例的示意圖;以及
[0009] 圖6是根據(jù)本公開(kāi)的作為本地系統(tǒng)、遠(yuǎn)程系統(tǒng)和/或云計(jì)算系統(tǒng)一部分的用于示 例文件傳輸?shù)挠?jì)算環(huán)境中的文件傳輸程序示例的半示意圖。
【具體實(shí)施方式】
[0010] 本公開(kāi)大體上涉及用于傳輸文件的系統(tǒng)以及管理文件傳輸?shù)姆椒ā?br>
[0011] 通過(guò)使用文件傳輸技術(shù),如文件傳輸協(xié)議(FTP)或遠(yuǎn)程銀行同業(yè)結(jié)算系統(tǒng)交換協(xié) 議(Protocole d, Echanges pour un Systeme Interbancaire de Telecompensation, PeSIT),數(shù)據(jù)傳輸已被支持。然而,F(xiàn)TP、PeSIT以及其它文件傳輸技術(shù)可以使用多個(gè)端口并 且需求專門的硬件來(lái)管理路由和負(fù)載平衡。此外,存在與處于主動(dòng)和被動(dòng)模式的FTP有關(guān) 的在多個(gè)端口上需要特別通信的問(wèn)題。例如,客戶端聯(lián)系服務(wù)器來(lái)識(shí)別用于連接的端口,月艮 務(wù)器通過(guò)該端口反向通信。此外,建立新的FTP通道可能是復(fù)雜和/或昂貴的。另外,一些 系統(tǒng)與像身份聯(lián)合(Identity Federation)這樣的安全標(biāo)準(zhǔn)不兼容,并且不支持單點(diǎn)登錄 (Single Sign-〇n,SS0)。企業(yè)計(jì)算系統(tǒng)可能需要包括防火墻在內(nèi)的安全技術(shù)來(lái)管理威脅。 企業(yè)系統(tǒng)可以使用防火墻來(lái)阻擋網(wǎng)頁(yè)通道。
[0012] 本文公開(kāi)的是用于傳輸文件的系統(tǒng)、方法和機(jī)器可讀介質(zhì)的示例。根據(jù)本公開(kāi)的 示例使用能通過(guò)網(wǎng)頁(yè)型連接上的單個(gè)端口進(jìn)行容錯(cuò)文件傳輸?shù)臉?biāo)準(zhǔn),來(lái)提供文件傳輸服 務(wù)。
[0013] 本公開(kāi)的示例包括任何類型的文件傳輸,并且可以在任何類型的環(huán)境內(nèi)使用。在 其中可以實(shí)施本公開(kāi)的示例的代表性環(huán)境包括從個(gè)人到個(gè)人、從公司到公司、從公司到政 府、從政府到政府等的文件傳輸。根據(jù)本公開(kāi)的示例提供一種允許在存在軟件故障、組件故 障、系統(tǒng)故障和/或網(wǎng)絡(luò)故障的情況下在節(jié)點(diǎn)之間可靠地傳輸文件的文件傳輸協(xié)議。該文 件傳輸協(xié)議包括例如網(wǎng)頁(yè)服務(wù)可靠消息收發(fā)平臺(tái),該網(wǎng)頁(yè)服務(wù)可靠消息收發(fā)平臺(tái)定義簡(jiǎn)單 對(duì)象訪問(wèn)協(xié)議(SOAP)綁定,以支持可互操作的網(wǎng)頁(yè)服務(wù)。
[0014] 本公開(kāi)的示例能夠使用基于XML技術(shù)進(jìn)行文件傳輸。本文中,此文件傳輸還被稱 作XFTP。XFTP與安全斷言標(biāo)記語(yǔ)言(SAML)/ WS聯(lián)合相兼容,以支持認(rèn)證和授權(quán)。XFTP還 與用于加密和數(shù)字簽名的安全套接字層(SSL)/傳輸層安全(TLS)和XML安全標(biāo)準(zhǔn)相兼 容。這允許具有不可拒絕性的安全文件傳輸。這些特征使得XFTP適于面向服務(wù)的體系結(jié) 構(gòu)(Service Oriented Architecture, S0A)和基于云的環(huán)境,以及適于公司到公司的數(shù)據(jù) 傳輸情形。
[0015] 在示例中,XFTP使用當(dāng)前云基礎(chǔ)結(jié)構(gòu)所基于的相同的網(wǎng)頁(yè)2. 0(Web 2. 0)標(biāo)準(zhǔn),這 允許對(duì)FTP或其它過(guò)時(shí)標(biāo)準(zhǔn)也許不可能的系統(tǒng)集成。
[0016] 一些企業(yè)可能投資基礎(chǔ)結(jié)構(gòu),如企業(yè)服務(wù)總線和安全設(shè)備。根據(jù)本公開(kāi)的示例允 許與包括XML安全網(wǎng)關(guān)在內(nèi)的這種基礎(chǔ)結(jié)構(gòu)的可互操作性,這允許重使用現(xiàn)有投資。在示 例中,本文公開(kāi)的XFTP文件傳輸協(xié)議與標(biāo)準(zhǔn)硬件負(fù)載平衡器和路由器一起工作。例如, XFTP與像IBM數(shù)據(jù)力(DataPower)這樣的XML安全網(wǎng)關(guān)一起工作。XFTP支持S0A的開(kāi)發(fā) 并且在單個(gè)端口上工作。
[0017] 現(xiàn)在參考圖1,該文件傳輸方法的示例大體地以附圖標(biāo)記200描繪。該方法包括通 過(guò)網(wǎng)關(guān)引擎接收源文件,如附圖標(biāo)記202所示。該源文件是二進(jìn)制文件。如附圖標(biāo)記204 所示,該方法進(jìn)一步包括通過(guò)分解引擎將源文件分成多個(gè)部分。根據(jù)消息收發(fā)協(xié)議,使用單 個(gè)端口通過(guò)可靠傳輸引擎來(lái)傳輸多個(gè)部分,以在軟件故障、組件故障、系統(tǒng)故障或者網(wǎng)絡(luò)故 障中任一種存在的情況下在節(jié)點(diǎn)之間可靠地傳輸消息,如附圖標(biāo)記206所示。應(yīng)當(dāng)理解,多 個(gè)部分的傳輸可以根據(jù)特定消息優(yōu)化協(xié)議來(lái)進(jìn)行優(yōu)化,例如在這種協(xié)議被所使用的通信信 道支持的情況下。如附圖標(biāo)記208所示,通過(guò)重組裝引擎將多個(gè)部分重組裝成源文件的副 本。應(yīng)當(dāng)理解,圖1所示的方法的各示例將進(jìn)一步參考其它圖進(jìn)行描述。
[0018] 根據(jù)本公開(kāi)的用于實(shí)現(xiàn)XFTP的系統(tǒng)的示例大體地在圖2中以10來(lái)描繪。應(yīng)當(dāng)理 解,在圖2的整個(gè)描述中,可以參考圖3、圖4A和/或圖4B。
[0019] 現(xiàn)在參考圖2、圖3和圖4A,系統(tǒng)10包括能夠接收源文件12 (如圖4A的附圖標(biāo)記 400所示)的網(wǎng)關(guān)引擎14。源文件12是二進(jìn)制文件。網(wǎng)關(guān)引擎14包括能夠?qū)⒃次募?2分 成或解析成多個(gè)二進(jìn)制部分(如圖4A的附圖標(biāo)記402所示)的分解引擎16。因此,分解引 擎16提供源二進(jìn)制文件12的拆分。單個(gè)二進(jìn)制部分在圖3的附圖標(biāo)記300處示出。多個(gè) 二進(jìn)制部分300中的每個(gè)包括二進(jìn)制數(shù)據(jù)。應(yīng)當(dāng)理解,二進(jìn)制部分300不需要被持久保留 /被存儲(chǔ)為單獨(dú)的文件,而是可以按需要簡(jiǎn)單地存在于存儲(chǔ)器中或者直接地從源文件12讀 取。此外,應(yīng)當(dāng)理解,二進(jìn)制部分300通常可以被稱為塊(chunk)、段(section)、片(piece) 或部分(portion)。
[0020] 在示例中,源文件12被分解成可以有效地進(jìn)行傳輸和隨后進(jìn)行重組裝的多個(gè)部 分300。這使大文件能夠以可靠的方式傳輸。部分300的尺寸可以通過(guò)用于傳輸過(guò)程的通 信信道27的要求來(lái)確定。例如,通信信道27的動(dòng)態(tài)性可能限制任何單個(gè)數(shù)據(jù)傳輸?shù)淖畲?大小,或者可能存在信道27以峰值效率操作的消息大小。
[0021] 本文中使用的通信信道27可以指在其上傳輸數(shù)據(jù)的端口(其可以是物理連接或 虛擬連接)。在示例中,XFTP可以在支持或者能夠支持諸如超文本傳輸協(xié)議(HTTP)、簡(jiǎn)單 郵件傳輸協(xié)議(SMTP)、消息隊(duì)列(MQ)或其它類似示例之類的SOAP的任何信道27上使用。 在一些情況下,信道27支持或者能夠支持SOAP和ΜΤ0Μ(本文以下進(jìn)一步介紹)。
[0022] 系統(tǒng)10進(jìn)一步包括能夠以XML二進(jìn)制部分300進(jìn)行編碼的XML編碼引擎18。XML 編碼引擎18包括用于為多個(gè)部分300中的每個(gè)創(chuàng)建XML文檔(參見(jiàn)圖3中的附圖標(biāo)記302) 的封裝引擎38。在示例中,封裝引擎38是使用Χ0Ρ標(biāo)準(zhǔn)來(lái)對(duì)每個(gè)二進(jìn)制部分300進(jìn)行XML 編碼的Χ0Ρ引擎。在使用Χ0Ρ標(biāo)準(zhǔn)的示例中,封裝/Χ0Ρ引擎38創(chuàng)建XML文檔302,XML文檔 302在其原始形式中包含對(duì)二進(jìn)制數(shù)據(jù)部分300的Χ0Ρ引用。在圖4A中,以附圖標(biāo)記404 示出XML文檔302的創(chuàng)建。XML二進(jìn)制優(yōu)化封裝(Χ0Ρ)是一種由W3C標(biāo)準(zhǔn)制定組織的貢獻(xiàn) 者開(kāi)發(fā)的、為包含二進(jìn)制數(shù)據(jù)的XML信息集的優(yōu)化順序化限定的機(jī)制。XML信息集根據(jù)W3C 被限定為滿足特定約束條件的良好形成的文檔。消息傳輸優(yōu)化機(jī)制(ΜΤ0Μ)是W3C消息傳 輸優(yōu)化機(jī)制,其涉及二進(jìn)制數(shù)據(jù)向網(wǎng)頁(yè)服務(wù)的有效傳輸以及二進(jìn)制數(shù)據(jù)從網(wǎng)頁(yè)服務(wù)的有效 傳輸。在本文公開(kāi)的示例中,ΜΤ0Μ使用Χ0Ρ作為優(yōu)化和引用機(jī)制。
[0023] 系統(tǒng)10進(jìn)一步包括源網(wǎng)關(guān)24,源網(wǎng)關(guān)24能夠從XML編碼引擎18接收XML文檔 302和所引用的二進(jìn)制數(shù)據(jù)部分300。如圖3所示,源網(wǎng)關(guān)24通過(guò)源網(wǎng)關(guān)引擎(未示出)將 XML文檔302嵌入SOAP消息304內(nèi)。源網(wǎng)關(guān)24的可靠消息收發(fā)(RM)源23 (本文下面進(jìn)一 步介紹)實(shí)現(xiàn)消息收發(fā)協(xié)議(例如,WS可靠消息收發(fā)(WS-ReliableMessaging)協(xié)議),并 且使用該協(xié)議來(lái)將所有XML文檔302 (即,來(lái)自原始源文件12)作為完整而有序的消息序列 發(fā)送。WS可靠消息收發(fā)是用于消息傳輸?shù)挠山Y(jié)構(gòu)化信息標(biāo)準(zhǔn)促進(jìn)組織(OASIS)開(kāi)發(fā)的協(xié) 議。WS可靠消息收發(fā)可以用于可靠性(與例如經(jīng)常不可靠的TCP連接不同),并且可以跨 任何信道27應(yīng)用。如圖4A所示,在SOAP消息304內(nèi)嵌入XML文檔302和實(shí)現(xiàn)消息收發(fā)協(xié) 議可以涉及:首先如附圖標(biāo)記406所示在SOAP封包(envelope)內(nèi)嵌入XML文檔302,然后 如附圖標(biāo)記408所示將消息收發(fā)協(xié)議元數(shù)據(jù)添加至SOAP封包的頭(header)。
[0024] 如圖2所示,源網(wǎng)關(guān)24還可以包括其它標(biāo)準(zhǔn)引擎21。其它標(biāo)準(zhǔn)引擎21允許源網(wǎng) 關(guān)24支持其它XML、WS和/或SOAP標(biāo)準(zhǔn),以增強(qiáng)通信。其它標(biāo)準(zhǔn)引擎21還可以用來(lái)將附 加安全協(xié)議層添加至SOAP消息304中的每個(gè)。例如,WS可靠消息收發(fā)在SOAP和網(wǎng)頁(yè)服務(wù) 描述語(yǔ)言(WSDL)的模式下提供可擴(kuò)展性。安全協(xié)議層包括XML簽名或其它數(shù)字簽名、XML 加密、其它SOAP擴(kuò)展、傳輸層安全(TLS)加密、雙向認(rèn)證、聯(lián)合(Federation)等。XML或其 它數(shù)字簽名用于向接收者驗(yàn)證文件已來(lái)自正確的源。SAML和ws-聯(lián)合可以用于建立發(fā)送方 和接收方之間的信任,并且SAML還可以用于建立用于發(fā)送消息序列的授權(quán)。在圖4A的附 圖標(biāo)記410處,示出向SOAP消息304添加X(jué)ML加密、數(shù)字簽名或其它SOAP擴(kuò)展。
[0025] 如圖2所示,源網(wǎng)關(guān)24可以包括兩個(gè)編碼器,其中之一是基64(Base 64)編碼器 20,其中另一個(gè)是ΜΤ0Μ引擎22。如圖4A的附圖標(biāo)記412所示,源網(wǎng)關(guān)24確定待用于消息 傳輸?shù)耐ㄐ判诺?7是否支持ΜΤ0Μ。
[0026] 當(dāng)信道27不支持ΜΤ0Μ時(shí),源網(wǎng)關(guān)24的ΜΤ0Μ引擎22允許將XML SOAP消息304 和經(jīng)Χ0Ρ引用的二進(jìn)制數(shù)據(jù)部分300作為容器(或在容器中)(如多部分MME(在圖3中 以附圖標(biāo)記308示出))以流的方式輸送至目的地(例如目的地網(wǎng)關(guān)30)。如圖4A的附圖 標(biāo)記414和426所示,MTOM引擎22可以將MTOM元數(shù)據(jù)添加至SOAP封包的頭,以生成SOAP 消息304'(圖3),并且MME 308可以用于將SOAP消息304'(包括XML文檔302)和二 進(jìn)制數(shù)據(jù)部分300以流的方式輸送至目的地。MTOM的使用可以有利地避免需傳輸?shù)臄?shù)據(jù)量 的增加。
[0027] 通信信道27能夠支持S0AP,但是可能不能支持用于傳輸原始二進(jìn)制數(shù)據(jù)的機(jī)制。 在這些情況下,至少部分因?yàn)樾诺?7不支持ΜΤ0Μ,所以ΜΤ0Μ/Χ0Ρ不能用于優(yōu)化該通信。當(dāng) 信道27不支持ΜΤ0Μ時(shí),基64 (Base 64)編碼器20以二進(jìn)制數(shù)據(jù)的基64 (Base 64)編碼表 示代替XML文檔302中的Χ0Ρ引用,如圖4A的附圖標(biāo)記418所示。如圖3所示,該過(guò)程生 成經(jīng)基64 (Base 64)編碼的XML文檔302'和沒(méi)有附件的SOAP消息304"。
[0028] 如圖2所示,應(yīng)當(dāng)理解,XFTP網(wǎng)關(guān)引擎14、XML編碼引擎18和源網(wǎng)關(guān)24可以全部 是單個(gè)組件的一部分,如框26處所示。進(jìn)一步應(yīng)當(dāng)理解,XFTP網(wǎng)關(guān)引擎14、XML編碼引擎 18和源網(wǎng)關(guān)24可以是兩個(gè)或更多個(gè)獨(dú)立組件的任何組合。在示例中,源網(wǎng)關(guān)24或其組件 可以是支持WS可靠消息收發(fā)的IBM數(shù)據(jù)力(DataPower) XML安全網(wǎng)關(guān),以及其它安全和/ 或優(yōu)化標(biāo)準(zhǔn)。
[0029] 現(xiàn)參考圖2和圖4A,沒(méi)有附件的SOAP消息304 "或者多部分MME 308能夠跨 通信信道27和根據(jù)消息收發(fā)協(xié)議(例如WS可靠消息收發(fā))從源網(wǎng)關(guān)24被傳輸至目的 地網(wǎng)關(guān)30。傳輸引擎28(本文中還稱為可靠傳輸引擎)包括源網(wǎng)關(guān)24的可靠消息收發(fā) (RM)源23和目的地網(wǎng)關(guān)30的可靠消息收發(fā)(RM)目的地25。應(yīng)當(dāng)理解,在此上下文中使 用的"可靠"意味著能夠克服軟件、組件、系統(tǒng)和/或網(wǎng)絡(luò)的故障。可靠傳輸可以根據(jù)消息 收發(fā)協(xié)議來(lái)完成,以在任何這種故障存在的情況下在節(jié)點(diǎn)之間可靠地傳輸單獨(dú)的消息/分 組(例如,SOAP消息304"或者多部分MME 308)。當(dāng)使用可靠傳輸引擎28時(shí),單個(gè)端口 可以根據(jù)消息收發(fā)協(xié)議提供SOAP消息304"或多部分MIME 308的傳輸。可靠傳輸引擎 28 (包括RM源23和RM目的地25)可以包括具有連通性規(guī)則(connectivity rules)、傳 遞確認(rèn)(delivery confirmation)、次序管理(ordering management)、復(fù)制消息收發(fā)保護(hù) (duplicate messaging protection)或它們的組合的特征。
[0030] 傳輸引擎28可以使得單獨(dú)的消息/分組能夠以發(fā)送它們的相同順序被接收。這 可以例如使用RM源23和RM目的地25來(lái)完成。在該示例中,RM源23能夠向序列內(nèi)的每 個(gè)消息(例如,向?yàn)閱蝹€(gè)源文件12生成的每個(gè)SOAP消息304)分配消息序號(hào)。消息序號(hào)從 1開(kāi)始,并且消息序號(hào)對(duì)每個(gè)后續(xù)消息增加1。以發(fā)送消息的相同順序分配這些消息序號(hào)。 RM目的地25包括確認(rèn)范圍(AcknowledgementRange)子元素,該確認(rèn)范圍子元素在它們共 同的范圍內(nèi)包含由RM目的地25接受的每個(gè)消息的消息序號(hào)。RM目的地25將在確認(rèn)范圍 元素中未接受的任何消息的消息序號(hào)排除在外。RM目的地25能夠發(fā)送被接受的消息序號(hào), 以便向RM源23通知消息傳遞(參見(jiàn)圖4A中的附圖標(biāo)記422-426)。如果RM目的地25沒(méi) 有收到消息,則RM目的地25還能夠向RM源23返回"非(None)"而不是確認(rèn)范圍。RM源 23可以重傳未被確認(rèn)的消息(S卩,RM目的地25沒(méi)有確認(rèn)收到的任何消息)。
[0031] 在示例中,消息收發(fā)協(xié)議(例如,WS可靠消息收發(fā))可以被配置為確定關(guān)于要回顧 消息多遠(yuǎn)的時(shí)間量。WS可靠消息收發(fā)可以被配置為適合其操作所跨的信道27的動(dòng)態(tài)性。
[0032] 如圖4A所示,對(duì)根據(jù)原始源文件12分割的每個(gè)二進(jìn)制數(shù)據(jù)部分300,重復(fù)附圖標(biāo) 記404至424的步驟。本方法的該示例然后繼續(xù),如圖4B所示?,F(xiàn)一起參照?qǐng)D2和圖4B, 為單個(gè)源文件12生成的SOAP消息304"或者多部分MME 308(如參照?qǐng)D2、圖3和圖4A描 述和示出的)全部被傳送至目的地網(wǎng)關(guān)30,因此收到新消息序列,如圖4B的附圖標(biāo)記430 所示。目的地網(wǎng)關(guān)30可以創(chuàng)建空目的地文件,如圖4B的附圖標(biāo)記432所示,該空目的地文 件將被用于創(chuàng)建原始源文件12的副本(即,目的地文件56)。
[0033] 序列內(nèi)的每個(gè)消息被單獨(dú)地處理,如圖4B的附圖標(biāo)記434至450所示。目的地網(wǎng) 關(guān)30接收單獨(dú)的SOAP消息304"或者多部分MME 308,并且使用另一標(biāo)準(zhǔn)引擎36來(lái)解密 任何附加X(jué)ML、驗(yàn)證任何數(shù)字簽名或撤銷或刪除其它標(biāo)準(zhǔn)引擎21已包括的任何其它SOAP擴(kuò) 展。
[0034] 然后,目的地網(wǎng)關(guān)30確定ΜΤ0Μ是否已經(jīng)被使用,如圖4B的附圖標(biāo)記438所示。 換句話說(shuō),目的地網(wǎng)關(guān)30確定該消息是SOAP消息304"還是多部分MME308。依據(jù)消息的 類型,目的地網(wǎng)關(guān)30的不同編碼器32或34可以用來(lái)獲取具有對(duì)二進(jìn)制數(shù)據(jù)的Χ0Ρ引用的 XML 文檔 302。
[0035] 如圖2所示,XFTP系統(tǒng)10的目的地網(wǎng)關(guān)30進(jìn)一步包括兩個(gè)解碼器,即基64 (Base 64)解碼器32和ΜΤ0Μ解碼器34。當(dāng)消息序列包括SOAP消息304"時(shí),基64 (Base 64)解 碼器32將包含經(jīng)基64編碼的二進(jìn)制的SOAP消息304"的XML文檔302^轉(zhuǎn)換為具有對(duì) 二進(jìn)制數(shù)據(jù)的Χ0Ρ引用的XML文檔302。如圖4B的附圖標(biāo)記442和446所示,基64 (Base 64)解碼器32提取具有經(jīng)基64(Base 64)編碼的二進(jìn)制數(shù)據(jù)的XML文檔304",然后以對(duì) 二進(jìn)制數(shù)據(jù)的Χ0Ρ引用代替經(jīng)基64編碼的二進(jìn)制數(shù)據(jù)。當(dāng)消息序列包括多部分MME 308 時(shí),ΜΤ0Μ解碼器34能夠從SOAP消息30V獲取具有對(duì)二進(jìn)制數(shù)據(jù)的Χ0Ρ引用的XML文檔 302。如圖4B的附圖標(biāo)記440所示,ΜΤ0Μ解碼器34從多部分MME 308直接提取具有對(duì)二 進(jìn)制數(shù)據(jù)的Χ0Ρ引用的XML文檔302。
[0036] XFTP系統(tǒng)10進(jìn)一步包括XML解碼引擎51。XML解碼引擎51能夠從目的地網(wǎng)關(guān) 30接收具有對(duì)二進(jìn)制數(shù)據(jù)的Χ0Ρ引用的XML文檔302和從XML文檔302中提取該二進(jìn)制數(shù) 據(jù)。在示例中,XML解碼引擎51能夠與讀取器40(例如,Χ0Ρ讀取器)一起操作來(lái)獲取二進(jìn) 制數(shù)據(jù)部分,以及將該二進(jìn)制數(shù)據(jù)傳送給XFTP目的地52。
[0037] XFTP目的地52能夠從XML解碼引擎51接收單獨(dú)的二進(jìn)制部分300。在示例中, XFTP目的地52能夠與重組裝引擎50 -起操作,來(lái)將所有單獨(dú)的二進(jìn)制部分300重組裝到 空目的地文件中(如圖4B的附圖標(biāo)記448和450所示),以創(chuàng)建目的地文件56,目的地文 件56將成為源文件12的副本。重組裝引擎50對(duì)這些消息/分組中每個(gè)消息/分組的經(jīng) 解碼的二進(jìn)制數(shù)據(jù)進(jìn)行重封裝/重合成/重構(gòu)造,并且將它們還原串接在一起,以形成原始 源文件12的副本(目的地文件56)。如此,對(duì)每個(gè)消息執(zhí)行圖4B中的附圖標(biāo)記434至450 所示的步驟,以便生成目的地文件56,目的地文件56將具有與原始源文件12相同的格式。
[0038] 當(dāng)形成目的地文件56時(shí),XFTP目的地52可以使系統(tǒng)10的用戶(如圖4B的附圖 標(biāo)記452和454所示)可訪問(wèn)目的地文件56。XFTP目的地52可以包括文件系統(tǒng),從該文 件系統(tǒng)中可獲取或以其它方式可訪問(wèn)目的地文件56。
[0039] 在圖2中,應(yīng)當(dāng)理解,由目的地網(wǎng)關(guān)30、XML解碼引擎51和XFTP目的地52表示的 組件可以在單個(gè)組件中實(shí)現(xiàn),如框54所示,或可以是單獨(dú)組件的任何組合。
[0040] 現(xiàn)參考圖5,描繪了系統(tǒng)10'的另一示例。在此示例中,原始源文件12是二進(jìn)制 文件,如由1和〇的序列所描繪的二進(jìn)制文件。在此示例中,源文件12在XFTP客戶端26' 處被分割且被編碼。此外,在此示例中,在XFTP服務(wù)端54'處接收、解碼和重組裝被編碼的 部分。
[0041] 如圖5所示,XFTP網(wǎng)關(guān)14接收包含二進(jìn)制數(shù)據(jù)的源文件12。盡管沒(méi)有示出,但 是XFTP網(wǎng)關(guān)14的分解引擎16將文件12分解成部分300 a、300b、300c、300d,300a、300 b、300c、 300d中的每個(gè)包含原始源文件12的二進(jìn)制數(shù)據(jù)中的一些。每個(gè)部分300 a、300b、300c、300d 的大小被配置為適應(yīng)對(duì)部分3004、30(^、300。、3001)的傳輸所使用的通信信道27的動(dòng)態(tài)性、要 求等。
[0042] 然后,部分3004、30(^、300。、3001)由乂1^編碼引擎18處理,乂1^編碼引擎18針對(duì)部 分300 4、30(^、300。、3001)中的每個(gè)生成乂]\^文檔3024、302^302。、302 1)。應(yīng)當(dāng)理解,每個(gè)父]^ 文檔3024、302^302。、3021)包括對(duì)各自的部分300 4、30(^、300。、3001)的對(duì)應(yīng)二進(jìn)制數(shù)據(jù)的父0? 引用。
[0043] 乂1^文檔3024、3(^、302。、3021)(包括各自的父0?引用)被傳送至源網(wǎng)關(guān)24去進(jìn)行 附加處理,如上面參考圖2、圖3和圖4A描述的。簡(jiǎn)而言之,在圖5的示例中,包括對(duì)原始 二進(jìn)制數(shù)據(jù)的Χ0Ρ引用的XML文檔302 A、302B、302e、302D被嵌入到各自的SOAP消息(304, 在圖5中未示出)中,并且作為各自的多部分MME 308A、308B、308C、308D以流的方式輸送。 在另一示例中,包括對(duì)原始二進(jìn)制數(shù)據(jù)的Χ0Ρ引用的XML文檔302 A、302B、302e、302D可以被 嵌入到各自的SOAP消息(例如,304)中,并且對(duì)原始二進(jìn)制數(shù)據(jù)的引用可以用二進(jìn)制數(shù)據(jù) 的經(jīng)基64 (Base 64)編碼的表示來(lái)代替,以創(chuàng)建沒(méi)有附件的SOAP消息(例如,304")。
[0044] 如圖5所示,各自的多部分MME 3084、3(^、308。、3081)穿越通信信道27傳送,并且 由目的地網(wǎng)關(guān)30接收。
[0045] 由于圖5的消息序列包括多部分MME 308A、308B、308C、308D,因此ΜΤ0Μ解碼器 34能夠從多部分MME 308A、308B、308C、308D的各自SOAP消息(304',圖5中未示出)中 獲取具有對(duì)二進(jìn)制數(shù)據(jù)的Χ0Ρ引用的XML文檔302 A、302B、302e、302D。應(yīng)當(dāng)理解,當(dāng)使用基 64(Base 64)編碼器時(shí),基64(Base 64)解碼器32可以用于獲取具有對(duì)二進(jìn)制數(shù)據(jù)的Χ0Ρ 引用的 XML 文檔 302a、302b、302c、302d。
[0046] XML解碼引擎51能夠從目的地網(wǎng)關(guān)30中接收具有對(duì)二進(jìn)制數(shù)據(jù)的Χ0Ρ引用的XML 文檔 302A、302B、302C、302D。XML 解碼引擎 51 從各自的 XML 文檔 302A、302B、302C、302D 中提 取二進(jìn)制數(shù)據(jù)部分300A、300B、300e、300 D。
[0047] 如圖5所示,重組裝引擎50接收單獨(dú)的二進(jìn)制部分300A、300B、300 C、300D并且重 組裝所有單獨(dú)的二進(jìn)制部分300A、300 B、300C、300D,以創(chuàng)建源文件12的副本(即目的地文件 56,未示出)。
[0048] 在前面的介紹中,各個(gè)組件已經(jīng)被描述為可包括硬件、關(guān)聯(lián)的程序設(shè)計(jì)或者它們 的組合的引擎。這些組件可以以各種方式實(shí)現(xiàn)。圖6圖示這些組件的實(shí)現(xiàn)方式的示例作為 本地系統(tǒng)、遠(yuǎn)程系統(tǒng)和云計(jì)算系統(tǒng)中任一種的一部分。如圖6所示,源計(jì)算系統(tǒng)92可以可 操作地通過(guò)鏈路98連接至本地或者遠(yuǎn)程目的地計(jì)算系統(tǒng)94,或者通過(guò)鏈路98'連接至云 計(jì)算系統(tǒng)96,或者連接至兩個(gè)系統(tǒng)94、96。遠(yuǎn)程目的地計(jì)算系統(tǒng)94可以可操作地通過(guò)鏈路 98"連接至云計(jì)算系統(tǒng)96。應(yīng)當(dāng)理解,本地或者遠(yuǎn)程目的地計(jì)算系統(tǒng)94可以包括一個(gè)或 多個(gè)獨(dú)立的計(jì)算系統(tǒng)94和/或目的地計(jì)算系統(tǒng)94的網(wǎng)絡(luò)。鏈路98、98'可以是通過(guò)電信 鏈路、紅外鏈路、射頻鏈路或提供電子通信的任何其它連接器或者系統(tǒng)的電纜連接、無(wú)線連 接、光纖連接或遠(yuǎn)程連接中的一種或多種。鏈路98、98'可以至少部分地包括內(nèi)聯(lián)網(wǎng)、互聯(lián) 網(wǎng)或者兩者的組合。鏈路98、98'還可以包括中間代理、路由器、交換機(jī)、負(fù)載均衡器等。應(yīng) 當(dāng)理解,鏈路98、98'能夠提供用于XFTP系統(tǒng)10操作的通信信道。
[0049] 源計(jì)算系統(tǒng)92和目的地計(jì)算系統(tǒng)94中的每個(gè)可以是任何個(gè)人計(jì)算機(jī)、便攜式計(jì) 算機(jī)、內(nèi)容服務(wù)器、網(wǎng)絡(luò)PC、個(gè)人數(shù)字助理(PDA)、蜂窩電話或能夠執(zhí)行在本公開(kāi)的示例中 描述的功能的任何其它計(jì)算設(shè)備。
[0050] 如圖6所示,該程序設(shè)計(jì)可以是存儲(chǔ)在非瞬態(tài)有形存儲(chǔ)介質(zhì)上的處理器可執(zhí)行指 令,該硬件可以包括用于執(zhí)行那些指令的處理器。在示例中,有形存儲(chǔ)介質(zhì)1〇〇和處理器 102可以被實(shí)現(xiàn)為云96中物理硬件106的示例。源計(jì)算系統(tǒng)92和目的地計(jì)算系統(tǒng)94中的 每個(gè)還可以包括各自的處理器102'、102"和有形存儲(chǔ)介質(zhì)100'和100"。在示例中,存 儲(chǔ)器100U00'、100"存儲(chǔ)程序指令,該程序指令在由處理器102U02'、102"執(zhí)行時(shí)實(shí) 現(xiàn)程序,以便實(shí)現(xiàn)本文公開(kāi)的XFTP文件傳輸協(xié)議的示例。
[0051] 應(yīng)當(dāng)理解,存儲(chǔ)器100、100'、100"可以與處理器102U02'、102"集成在相同 的各自設(shè)備中,或者其可以與各自的計(jì)算系統(tǒng)92、94、96分離,但可由各自的計(jì)算系統(tǒng)92、 94、96訪問(wèn)。
[0052] 在示例中,程序指令可以是可由處理器102'、102"執(zhí)行以實(shí)現(xiàn)XFTP文件傳輸協(xié) 議示例的安裝包的一部分。在這些情況下,存儲(chǔ)器l〇(V、1〇〇"可以是便攜式介質(zhì),如光盤 (CD)、數(shù)字視頻光盤(DVD)或閃存驅(qū)動(dòng)器;或者存儲(chǔ)器100'、100"可以是由可下載該安裝 包的服務(wù)器保持的并且被安裝在各自的計(jì)算系統(tǒng)92、94上的存儲(chǔ)器。在另一示例中,程序 指令可以是已經(jīng)安裝在各自的計(jì)算系統(tǒng)92、94上的一個(gè)或多個(gè)應(yīng)用程序的一部分。在該其 它示例中,存儲(chǔ)器100'、1〇〇"可以包括集成的存儲(chǔ)器,如硬驅(qū)。
[0053] 本文使用的云計(jì)算系統(tǒng)96指包括多件硬件的計(jì)算系統(tǒng),多件硬件通過(guò)網(wǎng)絡(luò)可操 作地聯(lián)接以使它們能夠執(zhí)行特定計(jì)算任務(wù)。云96可以包括物理硬件106、軟件108和虛擬 硬件110的組合。云計(jì)算系統(tǒng)96被配置為(i)從計(jì)算系統(tǒng)92、94(或從使用計(jì)算系統(tǒng)92、 94的用戶)接收請(qǐng)求,并且(ii)返回請(qǐng)求響應(yīng)。作為示例,云計(jì)算系統(tǒng)96可以是私有云、 公共云或混合云。此外,云96可以是包括私有云(或多個(gè)私有云)和公共云(或多個(gè)公共 云)的組合云計(jì)算系統(tǒng)。
[0054] 除其它以外,物理硬件106可以包括處理器、存儲(chǔ)器設(shè)備以及聯(lián)網(wǎng)設(shè)備等等。虛擬 硬件110是一種由物理硬件106處理的且被設(shè)計(jì)為模擬特定硬件的軟件。作為示例,虛擬硬 件110可以包括虛擬機(jī)(VM),即像物理機(jī)器那樣支持應(yīng)用程序執(zhí)行的計(jì)算機(jī)的軟件實(shí)現(xiàn)。
[0055] 本文中使用的應(yīng)用程序指可由計(jì)算系統(tǒng)執(zhí)行以促進(jìn)執(zhí)行特定任務(wù)的一組特定指 令。例如,應(yīng)用程序可以采取為用戶提供特定功能(例如文件傳輸)的基于網(wǎng)頁(yè)的工具形 式。應(yīng)當(dāng)理解,本文使用的應(yīng)用程序不局限于文件傳輸應(yīng)用程序,而是指支持使用計(jì)算資源 來(lái)執(zhí)行特定任務(wù)的應(yīng)用程序,除其它以外如企業(yè)應(yīng)用程序、會(huì)計(jì)應(yīng)用程序、多媒體相關(guān)應(yīng)用 程序或數(shù)據(jù)存儲(chǔ)應(yīng)用程序。軟件108是被配置為導(dǎo)致虛擬硬件110來(lái)執(zhí)行應(yīng)用程序的一組 指令和數(shù)據(jù)。如此,云計(jì)算系統(tǒng)96可以使特定應(yīng)用程序可由與各自的計(jì)算系統(tǒng)92、94中任 一個(gè)關(guān)聯(lián)的用戶利用。
[0056] 在云96中執(zhí)行應(yīng)用程序可以涉及:接收多個(gè)請(qǐng)求,根據(jù)由該應(yīng)用程序?qū)崿F(xiàn)的特定 功能處理這些請(qǐng)求,以及將請(qǐng)求響應(yīng)返回給請(qǐng)求計(jì)算系統(tǒng)94。為執(zhí)行該應(yīng)用程序,可以基于 對(duì)該應(yīng)用程序提出的需求對(duì)云計(jì)算系統(tǒng)96的資源(例如,物理硬件106、虛擬硬件110和軟 件108)進(jìn)行調(diào)整。例如,云96可以基于請(qǐng)求的數(shù)量、與該應(yīng)用程序交互的用戶的數(shù)量或者 對(duì)該應(yīng)用程序的性能的要求(例如,最大響應(yīng)時(shí)間),來(lái)改變向該應(yīng)用程序分配的資源的大 小。盡管沒(méi)有示出,但是應(yīng)當(dāng)理解,云96還可以包括允許計(jì)算設(shè)備92、94與云96的組件進(jìn) 行通信的接口。
[0057] 仍然參照?qǐng)D6,云計(jì)算系統(tǒng)96的物理軟件106可以包括處理器102和存儲(chǔ)器100。 處理器102可以是能夠執(zhí)行在存儲(chǔ)器100中存儲(chǔ)的程序指令以實(shí)現(xiàn)例如文件傳輸程序104 的任何處理器,以便實(shí)現(xiàn)本文公開(kāi)的XFTP文件傳輸協(xié)議的示例。存儲(chǔ)器100可以包括操作 系統(tǒng)和應(yīng)用程序,如XFTP文件傳輸應(yīng)用程序。操作系統(tǒng)可以是一組程序,該組程序在由處 理器102執(zhí)行時(shí)擔(dān)當(dāng)可以運(yùn)行XFTP文件傳輸應(yīng)用程序的平臺(tái)。操作系統(tǒng)的一些示例包括 Linux?和微軟視窗?的各種版本。
[0058] 在圖6的云計(jì)算系統(tǒng)96中,文件傳輸程序104可以具有被實(shí)現(xiàn)為處理器102的硬 件部分,并且可以具有被實(shí)現(xiàn)為操作系統(tǒng)和應(yīng)用程序的程序設(shè)計(jì)部分。
[0059] 本文提出的附圖有助于描繪本文公開(kāi)的示例的各種體系結(jié)構(gòu)、功能和操作。在整 個(gè)說(shuō)明書(shū)中,組件中的許多至少部分地被定義為程序、程序設(shè)計(jì)或程序指令。這些組件中每 個(gè)、其多個(gè)部分或其各種組合可以整體地或部分地表示包括用于實(shí)現(xiàn)任何特定邏輯功能的 一個(gè)或多個(gè)可執(zhí)行指令的代碼的模塊、片段或部分。每個(gè)組件或者其各種組合可以表示用 于實(shí)現(xiàn)特定邏輯功能的電路或多個(gè)互連的電路。
[0060] 本文公開(kāi)的示例可以在供指令執(zhí)行系統(tǒng)(例如計(jì)算系統(tǒng)92、94、96)使用的或與 指令執(zhí)行系統(tǒng)相關(guān)的任何非瞬態(tài)有形計(jì)算機(jī)可讀介質(zhì)中實(shí)現(xiàn),指令執(zhí)行系統(tǒng)例如是基于計(jì) 算機(jī)/處理器的系統(tǒng)、或ASIC (專用集成電路)或可從計(jì)算機(jī)可讀介質(zhì)獲取或獲得邏輯并 執(zhí)行包含在其中的指令的另一系統(tǒng)。非瞬態(tài)有形計(jì)算機(jī)可讀介質(zhì)可以是能夠包含、存儲(chǔ) 或保持供計(jì)算系統(tǒng)92、94、96使用或者與計(jì)算系統(tǒng)92、94、96關(guān)聯(lián)的程序和數(shù)據(jù)的任何介 質(zhì)。計(jì)算機(jī)可讀介質(zhì)可以包括諸如電介質(zhì)、磁性介質(zhì)、光學(xué)介質(zhì)、電磁介質(zhì)或半導(dǎo)體介質(zhì)之 類的多種物理介質(zhì)中任一種。合適的計(jì)算機(jī)可讀介質(zhì)的更具體示例包括便攜式磁性計(jì)算機(jī) 磁盤,如軟盤或硬驅(qū)、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦除可編程只讀存儲(chǔ)器 (EPROM)或便攜式⑶、DVD或閃存驅(qū)動(dòng)器。
[0061] 應(yīng)當(dāng)理解,術(shù)語(yǔ)"連接/所連接的/相連"和/或類似術(shù)語(yǔ)在本文中被廣義地限定 為包括各種發(fā)散的連接布置和組裝技術(shù)。這些布置和技術(shù)包括但不限于:(1) 一個(gè)組件與 另一組件之間在這兩個(gè)組件之間沒(méi)有中間組件情況下的直接通信;和(2) -個(gè)組件和另一 組件在這兩個(gè)組件之間有一個(gè)或多個(gè)組件情況下的通信,假定"連接至"另一組件的這一個(gè) 組件以某種方式與該另一組件可操作地通信(盡管在這兩個(gè)組件之間存在一個(gè)或多個(gè)附 加組件)。
[0062] 在對(duì)本文公開(kāi)的示例進(jìn)行描述和主張權(quán)利時(shí),單數(shù)形式"一"、"一種"和"該"包括 多個(gè)所指物,除非上下文另外清楚地指出。
[〇〇63] 盡管已經(jīng)詳細(xì)地描述若干個(gè)示例,但是本領(lǐng)域技術(shù)人員將清楚可以修改所公開(kāi)的 示例。因此,前面的描述應(yīng)該被認(rèn)為是非限制性的。
【權(quán)利要求】
1. 一種有形機(jī)器可讀存儲(chǔ)介質(zhì),所述有形機(jī)器可讀存儲(chǔ)介質(zhì)存儲(chǔ)指令,所述指令在由 處理器執(zhí)行時(shí)實(shí)現(xiàn)一種方法,所述方法包括: 通過(guò)網(wǎng)關(guān)引擎接收源文件,所述源文件是二進(jìn)制文件; 通過(guò)分解引擎將所述源文件分成多個(gè)部分; 根據(jù)消息收發(fā)協(xié)議,使用單個(gè)端口通過(guò)可靠傳輸引擎來(lái)傳輸所述多個(gè)部分,以在軟件 故障、組件故障、系統(tǒng)故障或者網(wǎng)絡(luò)故障中任一種存在的情況下在節(jié)點(diǎn)之間可靠地傳輸消 息;以及 通過(guò)重組裝引擎將所述多個(gè)部分重組裝成所述源文件的副本。
2. 根據(jù)權(quán)利要求1所述的介質(zhì),其中所述可靠傳輸引擎包括連通性規(guī)則、傳遞確認(rèn)、次 序管理、復(fù)制消息收發(fā)保護(hù)或者它們的組合。
3. 根據(jù)權(quán)利要求1所述的介質(zhì),其中所述方法進(jìn)一步包括:由編碼器通過(guò)(i)將二進(jìn) 制數(shù)據(jù)存儲(chǔ)在容器中并且以XML引用二進(jìn)制數(shù)據(jù)或者通過(guò)(ii)使用基64編碼,以XML編 碼所述多個(gè)部分的二進(jìn)制數(shù)據(jù)。
4. 根據(jù)權(quán)利要求1所述的介質(zhì),其中所述方法進(jìn)一步包括向所述多個(gè)部分中的每個(gè)添 加安全協(xié)議層。
5. -種用于使用XML穿越網(wǎng)頁(yè)服務(wù)通道傳輸二進(jìn)制文件的方法,所述方法包括: 通過(guò)網(wǎng)關(guān)引擎接收源文件,所述源文件是二進(jìn)制文件; 通過(guò)分解引擎將所述源文件分成多個(gè)部分; 根據(jù)消息收發(fā)協(xié)議,使用單個(gè)端口通過(guò)可靠傳輸引擎來(lái)傳輸所述多個(gè)部分,以在軟件 故障、組件故障、系統(tǒng)故障或者網(wǎng)絡(luò)故障中任一種存在的情況下在節(jié)點(diǎn)之間可靠地傳輸消 息;以及 通過(guò)重組裝引擎將所述多個(gè)部分重組裝成所述源文件的副本。
6. 根據(jù)權(quán)利要求5所述的方法,其中所述可靠傳輸引擎包括連通性規(guī)則、傳遞確認(rèn)、次 序管理、復(fù)制消息收發(fā)保護(hù)或者它們的組合。
7. 根據(jù)權(quán)利要求5所述的方法,其中所述方法進(jìn)一步包括:由編碼器通過(guò)(i)將二進(jìn) 制數(shù)據(jù)存儲(chǔ)在容器中并且以XML引用二進(jìn)制數(shù)據(jù)或者通過(guò)(ii)使用基64編碼,以XML編 碼所述多個(gè)部分的二進(jìn)制數(shù)據(jù)。
8. 根據(jù)權(quán)利要求5所述的方法,進(jìn)一步包括向所述多個(gè)部分中的每個(gè)添加安全協(xié)議 層。
9. 一種用于使用XML傳輸文件的系統(tǒng),包括: 數(shù)字處理器;以及 在非瞬態(tài)有形存儲(chǔ)器設(shè)備上嵌入的計(jì)算機(jī)可讀指令,所述指令由所述數(shù)字處理器可執(zhí) 行,所述指令用于規(guī)劃和管理文件傳輸協(xié)議,所述指令包括: 網(wǎng)關(guān)引擎,用于接收源文件,所述源文件是二進(jìn)制文件; 封裝引擎,用于將來(lái)自所述源文件的一組二進(jìn)制數(shù)據(jù)解析在XML文檔內(nèi)并且將所述二 進(jìn)制數(shù)據(jù)串行化成分組;以及 傳輸引擎,用于以單獨(dú)的分組向網(wǎng)頁(yè)服務(wù)發(fā)送和從網(wǎng)頁(yè)服務(wù)發(fā)送二進(jìn)制數(shù)據(jù),所述傳 輸引擎根據(jù)消息收發(fā)協(xié)議通信,以在軟件故障、組件故障、系統(tǒng)故障或者網(wǎng)絡(luò)故障中任一種 存在的情況下在節(jié)點(diǎn)之間傳輸消息。
10. 根據(jù)權(quán)利要求9所述的系統(tǒng),其中所述傳輸引擎進(jìn)一步包括: 可靠消息收發(fā)(RM)源,用于向序列內(nèi)的每個(gè)消息分配消息序號(hào),所述消息序號(hào)從1開(kāi) 始且對(duì)每個(gè)后續(xù)消息增加1,所述消息序號(hào)以消息被發(fā)送的相同順序分配;以及 RM目的地,包括確認(rèn)范圍子元素,所述確認(rèn)范圍子元素在所述確認(rèn)范圍子元素的共同 范圍內(nèi)包含由所述RM目的地接受的每個(gè)消息的消息序號(hào),所述RM目的地排除確認(rèn)范圍元 素中未接受的任何消息的消息序號(hào),如果所述RM目的地沒(méi)有收到消息,則所述RM目的地返 回"非"而不是確認(rèn)范圍。
11. 根據(jù)權(quán)利要求10所述的系統(tǒng),其中所述RM源重傳未被所述RM目的地確認(rèn)的消息。
12. 根據(jù)權(quán)利要求9所述的系統(tǒng),其中所述文件傳輸協(xié)議進(jìn)一步包括用于接收所述單 獨(dú)的分組的目的地引擎,所述目的地引擎包括用于將所述單獨(dú)的分組重構(gòu)為所述源文件的 副本的重組裝引擎。
13. 根據(jù)權(quán)利要求9所述的系統(tǒng),其中所述傳輸引擎包括編碼器,所述編碼器用于通過(guò) (i)將所述二進(jìn)制數(shù)據(jù)存儲(chǔ)在容器中并且以XML引用所述二進(jìn)制數(shù)據(jù)或者通過(guò)(ii)使用基 64編碼,以XML編碼二進(jìn)制數(shù)據(jù)。
14. 根據(jù)權(quán)利要求13所述的系統(tǒng),其中所述封裝引擎使用可擴(kuò)展封裝格式將所述二進(jìn) 制數(shù)據(jù)串行化到分組內(nèi),所述編碼器通過(guò)將所述二進(jìn)制數(shù)據(jù)存儲(chǔ)在MME型容器中并且以 XML引用所述二進(jìn)制數(shù)據(jù)來(lái)以XML編碼二進(jìn)制數(shù)據(jù),并且其中所述系統(tǒng)進(jìn)一步包括: 源網(wǎng)關(guān),用于將所述單獨(dú)的分組嵌入在SOAP消息中和實(shí)現(xiàn)所述消息收發(fā)協(xié)議;以及 引擎,用于將所述SOAP消息和所引用的二進(jìn)制數(shù)據(jù)作為多部分MIME以流的方式輸送 至目的地。
15. 根據(jù)權(quán)利要求9所述的系統(tǒng),其中所述封裝引擎是X0P引擎。
【文檔編號(hào)】G06F17/00GK104094249SQ201280068614
【公開(kāi)日】2014年10月8日 申請(qǐng)日期:2012年4月25日 優(yōu)先權(quán)日:2012年4月25日
【發(fā)明者】喬納森·麥爾文 申請(qǐng)人:惠普發(fā)展公司,有限責(zé)任合伙企業(yè)