專利名稱:用于基于消息的可伸縮的數(shù)據(jù)傳輸?shù)南到y(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息技術(shù)領(lǐng)域,并且更具體地涉及一個(gè)平臺(tái),它被配置為通過(guò)有效的基于消息的會(huì)話,啟動(dòng)和處理大量網(wǎng)絡(luò)和其它數(shù)據(jù)備份或傳送。
背景技術(shù):
對(duì)于數(shù)據(jù)企業(yè)和其它存儲(chǔ)解決方案的增長(zhǎng)的需求已經(jīng)激起了在數(shù)據(jù)備份與管理工具方面的相應(yīng)需求。公司、政府和科學(xué)組織等可能要求千兆字節(jié)或兆兆字節(jié)或者更多數(shù)據(jù)的可靠備份,用于檔案或其它目的。盡管物理存儲(chǔ)介質(zhì)諸如存儲(chǔ)區(qū)網(wǎng)絡(luò)、光存儲(chǔ)介質(zhì)、廉價(jià)磁盤冗余陣列(RAID)和其它平臺(tái)已經(jīng)增加了可用于數(shù)據(jù)管理器可用的總檔案容量,但有效地獲得主機(jī)設(shè)備的大數(shù)據(jù)備份的能力卻還沒有同樣地進(jìn)步。
例如,網(wǎng)絡(luò)管理員可能周期性地希望提取存儲(chǔ)到諸如在局域網(wǎng)(LAN)上的服務(wù)器驅(qū)動(dòng)器的網(wǎng)絡(luò)存儲(chǔ)器數(shù)據(jù)更新,并把那些數(shù)據(jù)傳輸?shù)竭h(yuǎn)地的安全后備儲(chǔ)藏庫(kù)。然而,使用當(dāng)前技術(shù)來(lái)計(jì)劃和執(zhí)行那種類型的大量數(shù)據(jù)傳輸不總是有效的。例如,在將LAN數(shù)據(jù)存儲(chǔ)到遠(yuǎn)地的情況下,管理員可能嘗試使用常規(guī)的網(wǎng)絡(luò)協(xié)議諸如傳輸控制協(xié)議(TCP)移動(dòng)那個(gè)數(shù)據(jù)量。
然而,TCP作為一個(gè)傳輸解決方案可證明是一個(gè)難以滿足將數(shù)據(jù)備份傳送到遠(yuǎn)程主機(jī)的運(yùn)載工具,部分地因?yàn)門CP傾向于將數(shù)據(jù)分解成相當(dāng)小的信息包,大約幾十個(gè)字節(jié)至幾千個(gè)字節(jié)。當(dāng)嘗試驅(qū)動(dòng)千兆字節(jié)的原始或更新數(shù)據(jù)至遠(yuǎn)程主機(jī)時(shí),那個(gè)規(guī)模將不滿足有效傳輸?shù)男枰?。而且,?dāng)在信道上執(zhí)行數(shù)據(jù)流控制,TCP可能暫停以在小至幾千字節(jié)信道上尋找可用帶寬或容量,停止和填充管道中可用的空間,并且接著等待輔助的開時(shí)隙(open slot)。再者,在使用TCP API的粒度時(shí),在那個(gè)規(guī)模上通過(guò)間歇信道推送大約兆字節(jié)、千兆字節(jié)或更多的數(shù)據(jù)是沒有效率的。所希望的是更好的大量和其它數(shù)據(jù)備份技術(shù)。存在其它問(wèn)題。
發(fā)明概述克服本領(lǐng)域中這些和其它問(wèn)題的本發(fā)明,涉及用于基于消息的可伸縮的數(shù)據(jù)傳輸?shù)南到y(tǒng)和方法的一個(gè)方面,其中一個(gè)或多個(gè)獨(dú)立的服務(wù)器或其它節(jié)點(diǎn)將數(shù)據(jù)備份和其它信息通過(guò)通信引擎?zhèn)魉椭吝h(yuǎn)程存儲(chǔ)器主機(jī)。在實(shí)施例中,通信引擎可與基礎(chǔ)傳輸層接口,諸如TCP或其它協(xié)議,并且作為從節(jié)點(diǎn)至遠(yuǎn)程存儲(chǔ)器的數(shù)據(jù)流的媒介。通信引擎可將等待傳輸?shù)臄?shù)據(jù)分解成一組消息對(duì)象,將它們?cè)诩M(jìn)入建立的數(shù)據(jù)管道的連接上緩沖輸出。把數(shù)據(jù)封裝到基本消息對(duì)象,允許更連續(xù)傳遞數(shù)據(jù)有效負(fù)載,因?yàn)槔缗c表現(xiàn)為定期而不斷被迫停止(stop-and-go)或“聊天”類型行為的純TCP傳輸相比,只要連接沒有被占用和清除,消息就繼續(xù)。在實(shí)施例中,一個(gè)始發(fā)會(huì)話可通過(guò)多于一個(gè)連接傳輸數(shù)據(jù),以最大化信道使用。通信引擎可執(zhí)行通信量控制,基于完成端口的輪詢以表示消息完成,或者其它信道機(jī)制,但通常不要求獨(dú)立的信息包或其它比較小的數(shù)據(jù)對(duì)象的確認(rèn)。通過(guò)本發(fā)明的平臺(tái)和協(xié)議可達(dá)到高吞吐量。
圖1例示按照本發(fā)明的實(shí)施例用于處理數(shù)據(jù)備份或其它傳送的整個(gè)網(wǎng)絡(luò)布局的例子。
圖2例示按照本發(fā)明的實(shí)施例用于基于消息的數(shù)據(jù)傳送的結(jié)構(gòu)。
圖3例示按照本發(fā)明的實(shí)施例用于基于消息的數(shù)據(jù)傳送的狀態(tài)圖。
圖4例示按照本發(fā)明的實(shí)施例基于消息的數(shù)據(jù)傳送及相關(guān)聯(lián)的協(xié)議的流程圖。
詳細(xì)說(shuō)明圖1例示一個(gè)結(jié)構(gòu),在該結(jié)構(gòu)中,按照本發(fā)明的實(shí)施例,用于基于消息的可伸縮的數(shù)據(jù)傳輸?shù)南到y(tǒng)和方法可運(yùn)行。如在圖中所示,在實(shí)施例中一組數(shù)據(jù)源102可通過(guò)網(wǎng)絡(luò)104彼此通信和與遠(yuǎn)程資源通信。在實(shí)施例中,數(shù)據(jù)源102的組可包括,例如具有硬盤的獨(dú)立的服務(wù)器、客戶機(jī)或者具有磁盤、磁帶、光或其它存儲(chǔ)媒體的其它節(jié)點(diǎn)或貴重器材(asset)。在實(shí)施例中,網(wǎng)絡(luò)104可能是或者包括局域網(wǎng)(LAN)諸如以太網(wǎng)、廣域網(wǎng)(WAN)或其它網(wǎng)絡(luò)類型或拓?fù)浣Y(jié)構(gòu)。在另外的實(shí)施例中,網(wǎng)絡(luò)104可以是或者包括為了數(shù)據(jù)備份的專用網(wǎng)絡(luò)、周期性地用于實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)墓蚕砭W(wǎng)絡(luò)、因特網(wǎng)或者其它網(wǎng)絡(luò)或設(shè)備。然而,通常在數(shù)據(jù)源組102中的一個(gè)或多個(gè)數(shù)據(jù)源可能具有在周期的或其它基礎(chǔ)上并且以相當(dāng)大的量整體地或部分地備份數(shù)據(jù)的要求。
如所示的,當(dāng)產(chǎn)生數(shù)據(jù)備份或其它數(shù)據(jù)傳送時(shí),在實(shí)施例中,由數(shù)據(jù)源組102中的一個(gè)或多個(gè)數(shù)據(jù)源傳輸?shù)臄?shù)據(jù)被傳送至存儲(chǔ)服務(wù)器106,它接著將數(shù)據(jù)傳送至存儲(chǔ)器108。在實(shí)施例中,存儲(chǔ)器108可以是或者包括硬盤資源諸如RAID庫(kù)、光盤介質(zhì)諸如可寫CD-ROM或DVD-ROM或其它、磁帶驅(qū)動(dòng)器、電子存儲(chǔ)容量諸如隨機(jī)存取存儲(chǔ)器、閃存或其它電子組件、或其它存儲(chǔ)介質(zhì)。在實(shí)施例中,存儲(chǔ)器108也可以是或者包括或者接口到數(shù)據(jù)存儲(chǔ)資源,諸如存儲(chǔ)區(qū)網(wǎng)絡(luò)(storage area network)(SAN)或其它貴重器材。在實(shí)施例中,存儲(chǔ)器108可裝備成接受和存儲(chǔ)較大數(shù)量的數(shù)據(jù)備份,例如用于企業(yè)和其它目的的兆字節(jié)、千兆字節(jié)或更多。
如圖2所示,按照本發(fā)明的一個(gè)實(shí)施例,在數(shù)據(jù)源組102內(nèi)的每一個(gè)源可與通信引擎110通信,以啟動(dòng)、管理和完成對(duì)數(shù)據(jù)服務(wù)器106或其它遠(yuǎn)程或本地目的地的數(shù)據(jù)傳輸會(huì)話。通信引擎110可包括或接口到應(yīng)用編程接口(API)112,它向數(shù)據(jù)源組102揭示變量、調(diào)用和其它接口參數(shù)以執(zhí)行有效的數(shù)據(jù)傳送。在如所示的實(shí)施例中,在數(shù)據(jù)源組102中的每個(gè)數(shù)據(jù)源可產(chǎn)生或與會(huì)話組114內(nèi)的相應(yīng)會(huì)話相關(guān)聯(lián)。會(huì)話組104可包括輸入/輸出緩沖器116隊(duì)列,其中一個(gè)或多個(gè)輸入/輸出緩沖器被分配給每個(gè)會(huì)話。會(huì)話、隊(duì)列、緩沖器和其它資源的其它布局是有可能的。在實(shí)施例中可從會(huì)話對(duì)象類實(shí)例化一個(gè)新會(huì)話的示例性代碼的例子如下
表1
其它代碼、語(yǔ)言或模塊或不同API是可能的。
如所示的,在會(huì)話組114中的每個(gè)會(huì)話可依次與分派模塊組118中的分派模塊通信。分派模塊組118自己可將連接聯(lián)編于連接組120中的一個(gè)或多個(gè)。在實(shí)施例中,連接組120(它可能是一個(gè)或多個(gè))可使用多個(gè)可能的基礎(chǔ)通信機(jī)制,如通過(guò)Winsock、管道或其它的TCP。聚合到邏輯管道122的連接組120中每個(gè)連接可與存儲(chǔ)服務(wù)器106或者其它遠(yuǎn)程或本地主機(jī)或資源通信。在實(shí)施例中,管道122可在那個(gè)結(jié)構(gòu)內(nèi)建立連接組120之前建立,但其它設(shè)置階段和配置是可能的。在實(shí)施例中,本發(fā)明可在一個(gè)或多個(gè)管道中支持或使用大量連接,例如大約1000個(gè)同時(shí)發(fā)生的連接,或者更多或者更少,取決于實(shí)現(xiàn)。
如所示的,存儲(chǔ)服務(wù)器106可包含目的地輸入/輸出隊(duì)列124,以緩沖對(duì)存儲(chǔ)服務(wù)器106或其它最終目的地流入和流出的消息通信量。更具體地說(shuō),在固定的、周期性的、選擇的或其它時(shí)間,在數(shù)據(jù)源組102中的一個(gè)或多個(gè)源可通過(guò)通信引擎110和相關(guān)聯(lián)的資源啟動(dòng)向存儲(chǔ)服務(wù)器106的數(shù)據(jù)傳送。數(shù)據(jù)傳送可以是或者包括,例如服務(wù)器硬盤或其它存儲(chǔ)器的備份,大量科學(xué)或商業(yè)數(shù)據(jù)的捕獲,或者其它數(shù)據(jù)傳輸任務(wù)。通信引擎110可將來(lái)自源組102中的一個(gè)或多個(gè)源的駐留數(shù)據(jù)分解成一組消息對(duì)象,用于更有效的排隊(duì)和傳送。
如所示的,在會(huì)話組114中例示為會(huì)話A的會(huì)話可產(chǎn)生兩個(gè)消息,標(biāo)注為消息1和消息2,用于傳送至存儲(chǔ)服務(wù)器106。在實(shí)施例中那些和其它消息在大小上可能大約許多兆字節(jié),或更大或更小。同樣,所例示的會(huì)話B已經(jīng)產(chǎn)生標(biāo)注為消息3的消息用于傳輸至存儲(chǔ)服務(wù)器106。會(huì)話C例示為在輸入側(cè)上接收的標(biāo)注為消息4的消息。
在分派模塊組118中的分派模塊可將來(lái)自輸入/輸出緩沖器116組的多個(gè)消息流聯(lián)編(bind)到連接組120的一個(gè)或多個(gè)連接,并將不同會(huì)話的多路消息聯(lián)編進(jìn)入相同的連接管道。如所示的,標(biāo)注為D1的分派模塊將通信量從包括消息1和消息2的會(huì)話A傳送至連接1,而分派模塊D2將至和從會(huì)話B與用于連接至連接2的會(huì)話的消息流組合起來(lái)。其它組合是可能的。如所示的,與會(huì)話組114交互的通信引擎110和分派器組118及其其它資源可嘗試通過(guò)管道122的連接組120驅(qū)動(dòng)最大可能數(shù)量的掛起消息,以實(shí)現(xiàn)對(duì)存儲(chǔ)服務(wù)器106最大可能利用可用的帶寬。在實(shí)施例中,在會(huì)話組114中各個(gè)的會(huì)話可為不同的消息或消息組指定不同類型的網(wǎng)絡(luò)連接,諸如端口、套接字(socket)或其它參數(shù)。
在數(shù)據(jù)源組102中的每個(gè)數(shù)據(jù)源,以及在連接組120中的各個(gè)連接和在至存儲(chǔ)服務(wù)器106的傳輸鏈中的其它鏈路,可具有不同的可用帶寬或其它傳輸特性。輸入/輸出116的隊(duì)列和其它傳輸資源一起,允許緩沖行為以適應(yīng)在那個(gè)鏈中最慢的鏈路或多個(gè)鏈路,并且改變?cè)诜?wù)器和接收器兩側(cè)上的通信量的特性,同時(shí)最大可能利用地驅(qū)動(dòng)數(shù)據(jù)傳輸。例如,通信引擎110可連續(xù)地或周期性地掃描連接組120以確定它們是由流出或流入的消息流占用。
在實(shí)施例中,可使用在Microsoft WindowsTM系的操作系統(tǒng)下可用的完成端口設(shè)備(completion port facility)進(jìn)行那些探查或掃描,據(jù)此GetQueuedCompletionStatus和其它命令可返回表示某一消息從隊(duì)列中離開或不離開的消息。由于通信引擎110、分派器組118和其它資源可依賴于作為數(shù)據(jù)傳送的基本單元的消息對(duì)象,在實(shí)施例中本發(fā)明的整個(gè)操作可針對(duì)快速大量傳送,因?yàn)椴淮嬖趤?lái)源于如在純TCP傳輸模式中的單獨(dú)數(shù)據(jù)塊的處理的定期而不斷被迫停止效應(yīng)。相反,按照本發(fā)明,可產(chǎn)生相當(dāng)大量的消息,進(jìn)入在輸入/輸出緩沖器106的隊(duì)列中隊(duì)列,并釋放至存儲(chǔ)服務(wù)器106或其它目的地以進(jìn)行傳輸。
在實(shí)施例中,在會(huì)話組114中的每個(gè)會(huì)話或通信引擎110可等待補(bǔ)充隊(duì)列,直到會(huì)話自身確定消息對(duì)象的傳輸完成。因?yàn)榇_認(rèn)那種狀態(tài)的工作屬于傳輸器側(cè),所以沒有來(lái)自接收器端的反饋回路,并且避免了那種類型的開銷成本。會(huì)話組114可代之以等待來(lái)自輸入/輸出緩沖器116的隊(duì)列的確認(rèn)在隊(duì)列中的空間已經(jīng)打開,準(zhǔn)備下一個(gè)用于傳輸?shù)南ⅰ?huì)話組114因而可不嘗試重新補(bǔ)充隊(duì)列,直到處理了所有消息單元為止。會(huì)話組114可包含暫停(timeout)功能,如果相應(yīng)的輸入/輸出緩沖器在一固定時(shí)間段諸如1分鐘內(nèi)不確認(rèn)消息的出發(fā)至連接組120,則從輸入/輸出緩沖器116的隊(duì)列中移除消息。會(huì)話組114可使用一其它暫?;蚱渌鼨z查準(zhǔn)則,諸如可變的延遲時(shí)間,在撤回消息或其它之前可進(jìn)行的固定或可變數(shù)量的重復(fù)嘗試或其它。
每個(gè)消息對(duì)象本身可通過(guò)連接組120中的連接使用TCD作為較低層協(xié)議來(lái)傳送。其它協(xié)議是可能的。因?yàn)橥ㄐ乓?10及其關(guān)聯(lián)的基于消息的協(xié)議管理在較高層上的流控制,所以TCP數(shù)據(jù)報(bào)可在沒有小量流控制、錯(cuò)誤檢測(cè)或其它處理的情況下流動(dòng),這些情況往往會(huì)減慢由本發(fā)明的實(shí)施例管理的那種類型的大量可伸縮的傳送。
在實(shí)施例中,通信引擎110、API 112和其它資源可引入安全保護(hù)層以保護(hù)傳輸至存儲(chǔ)服務(wù)器106或其它目的地的數(shù)據(jù)。例如,在會(huì)話組114中的每個(gè)會(huì)話或在連接組120中的每個(gè)連接,在被允許聚集到管道122之前可通過(guò)數(shù)字證書諸如Kerberos、X.509或其它對(duì)象、安全套接字層或其它機(jī)制來(lái)認(rèn)證。各個(gè)消息本身可同樣被加密以阻止中途截取或更改正在移到存儲(chǔ)服務(wù)器106的數(shù)據(jù)。各種安全、加密或其它技術(shù),諸如MicrosoftTMSecurity Support ProviderInterface(安全支持提供者接口)(SSPI),公共密鑰諸如RSA標(biāo)準(zhǔn),私人密鑰諸如數(shù)字加密系統(tǒng)(Digital Encryption System)(DES)機(jī)制,或者其它可用于保護(hù)傳輸過(guò)程的消息內(nèi)容或其它方面。在實(shí)施例中,認(rèn)證、加密和有關(guān)信息可在API 112的層上揭示。
圖3例示了一組狀態(tài)機(jī)126,表示按照本發(fā)明的實(shí)施例的通信處理的連續(xù)狀態(tài)。如在該圖中所示,API 112可提供一個(gè)接口來(lái)調(diào)用通信資源以實(shí)現(xiàn)基于消息的數(shù)據(jù)傳輸,諸如服務(wù)器備份、大量數(shù)據(jù)獲取諸如科學(xué)或商業(yè)數(shù)據(jù)的捕獲。在實(shí)施例中,通過(guò)會(huì)話組114的消息傳遞是可靠的,這是對(duì)各個(gè)消息或者正在整體地傳輸或者排隊(duì)用于重新傳輸來(lái)說(shuō)。如所示的,可對(duì)多個(gè)目的地建立多個(gè)會(huì)話,例示性地會(huì)話1與目的地1相連接,會(huì)話2與目的地1相連接,和會(huì)話3與目的地3相連接。如所示的,會(huì)話1和會(huì)話2可在狀態(tài)1和2之間循環(huán),等待將相應(yīng)的消息傳輸至目的地1的完成或者其它觸發(fā)事件。與目的地1通信可通過(guò)用于會(huì)話1的連接1狀態(tài)機(jī),和用于會(huì)話2的連接2狀態(tài)機(jī)。連接1和連接2的每一個(gè)可與相關(guān)聯(lián)的加密和認(rèn)證狀態(tài)機(jī)通信,以防備消息對(duì)象的未經(jīng)授權(quán)的觀看或更改。連接1和連接2的每一個(gè)連接可同樣與相應(yīng)的套接字I/O(輸入/輸出)狀態(tài)機(jī)通信,后者控制對(duì)相應(yīng)的與目的地1的套接字1和套接字2連接的訪問(wèn)。會(huì)話3可與相似的狀態(tài)機(jī)通信,后者處理對(duì)目的地3的傳輸、加密、認(rèn)證和套接字連接的。在實(shí)施例中,各個(gè)消息的傳輸可以是異步的,因?yàn)榘凑招诺勒加煤推渌蛩囟皇前凑斩〞r(shí)的時(shí)隙排隊(duì)和釋放消息。在實(shí)施例中,各個(gè)連接和會(huì)話的創(chuàng)建同樣可以是異步的。輔助的狀態(tài)機(jī)和互連是可能的,并且其它狀態(tài)有可能用于每個(gè)狀態(tài)機(jī)或過(guò)程。
在圖4中例示了整個(gè)數(shù)據(jù)傳輸處理。在步驟402,可產(chǎn)生在會(huì)話組114中的一個(gè)或多個(gè)會(huì)話。在步驟404,可從數(shù)據(jù)源組102中的一個(gè)數(shù)據(jù)源傳輸會(huì)話同步消息并且傳輸至存儲(chǔ)服務(wù)器106的目的地輸入/輸出緩沖器124。在步驟406,可將用于會(huì)話同步的完成消息告知存儲(chǔ)服務(wù)器106。在步驟408,存儲(chǔ)服務(wù)器106可接受會(huì)話請(qǐng)求。
在步驟410,可將會(huì)話同步確認(rèn)消息從存儲(chǔ)服務(wù)器106的目的地輸入/輸出緩沖器124傳輸至用于請(qǐng)求數(shù)據(jù)源的輸入/輸出緩沖器組114中相應(yīng)的輸入/輸出緩沖器。在步驟412,可將用于會(huì)話確認(rèn)的完成消息告知數(shù)據(jù)源組102中的啟動(dòng)數(shù)據(jù)源。在步驟414,傳輸數(shù)據(jù)源可將表示為消息1的第一消息傳輸至輸入/輸出緩沖器組114中其相關(guān)聯(lián)的輸入/輸出緩沖器。在步驟416,傳輸數(shù)據(jù)源可將表示為消息2的第二消息傳輸至輸入/輸出緩沖器組114中其相關(guān)聯(lián)的數(shù)據(jù)源。在步驟418,傳輸數(shù)據(jù)源可將表示為消息3的第三消息傳輸至輸入/輸出緩沖器組114中其相關(guān)聯(lián)的輸入/輸出緩沖器。在步驟420,數(shù)據(jù)源可接收一個(gè)出錯(cuò)消息,表示相應(yīng)的輸入/輸出緩沖器滿了,因此消息3沒有被接受到隊(duì)列中。在步驟422,消息1可傳輸至存儲(chǔ)服務(wù)器106的目的地輸入/輸出緩沖器124。在步驟424,可將消息1傳輸?shù)耐瓿上⒏嬷鎯?chǔ)服務(wù)器106或其它目的地。在步驟426,可將確認(rèn)消息1的收到的確認(rèn)消息傳輸至那個(gè)消息的數(shù)據(jù)源的輸入/輸出緩沖器。在步驟428,可將消息1的完成消息傳輸至相應(yīng)的數(shù)據(jù)源。
在步驟430,可將消息2傳輸至存儲(chǔ)服務(wù)器106的目的地輸入/輸出緩沖器120或其它目的地。在步驟432,可將消息2的完成消息告知存儲(chǔ)服務(wù)器106。在步驟434,可將消息3重新傳輸至相應(yīng)于那個(gè)消息的數(shù)據(jù)源輸入/輸出緩沖器。在步驟436,可將表示收到具有零單位的窗口尺寸(WndSize)消息2的確認(rèn)消息傳輸至用于那個(gè)消息的數(shù)據(jù)源的輸入/輸出緩沖器。在步驟438,可將消息2的完成消息告知那個(gè)源。在步驟440,可將消息4從數(shù)據(jù)源組102中的數(shù)據(jù)源傳輸至輸入/輸出緩沖器116隊(duì)列中相應(yīng)的輸入/輸出緩沖器。
在步驟442,接收消息1的客戶機(jī)應(yīng)用程序或其它資源從目的地輸入/輸出緩沖器124檢索消息1。在步驟444,可將具有1單位的窗口尺寸消息2的確認(rèn)消息傳輸至那個(gè)消息的源的相應(yīng)的輸入/輸出緩沖器。在步驟446,可將消息3傳輸至存儲(chǔ)服務(wù)器106的目的地輸入/輸出緩沖器124。在步驟448,處理可結(jié)束,重復(fù)或者返回至先前的處理點(diǎn)。
本發(fā)明的上述描述是例示性的,并且對(duì)于本領(lǐng)域的熟練技術(shù)人員在配置和實(shí)施方面將發(fā)生修改。例如,盡管在實(shí)施例中已通過(guò)經(jīng)由一個(gè)至遠(yuǎn)程主機(jī)的通信鏈路與多個(gè)數(shù)據(jù)源進(jìn)行通信來(lái)描述本發(fā)明,但在實(shí)施例中一個(gè)或多個(gè)節(jié)點(diǎn)或會(huì)話可通過(guò)獨(dú)立的至遠(yuǎn)程主機(jī)或其它目的地的物理或邏輯鏈路來(lái)通信。
同樣,盡管在實(shí)施例中已將本發(fā)明描述為把備份數(shù)據(jù)傳輸至單個(gè)遠(yuǎn)程主機(jī),但在實(shí)施例中可將數(shù)據(jù)傳遞至單獨(dú)的邏輯或物理主機(jī)或介質(zhì)。描述為單數(shù)的其它硬件、軟件或其它資源可分布在實(shí)施例中,并且同樣在實(shí)施例中描述為分布的資源可被組合。因此本發(fā)明的范圍定為只受所附的權(quán)利要求書限制。
權(quán)利要求
1.一種用于管理數(shù)據(jù)傳輸?shù)南到y(tǒng),其特征在于,所述系統(tǒng)包括輸入接口,以接收由來(lái)自至少一個(gè)數(shù)據(jù)源的數(shù)據(jù)產(chǎn)生的多個(gè)消息對(duì)象;傳輸層的傳輸接口;以及與輸入接口和傳輸接口通信的通信引擎,該通信引擎緩沖經(jīng)由傳輸層傳輸至遠(yuǎn)程目的地的消息對(duì)象。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,至少一個(gè)數(shù)據(jù)源包括網(wǎng)絡(luò)。
3.如權(quán)利要求2所述的系統(tǒng),其特征在于,所述網(wǎng)絡(luò)包括至少一個(gè)服務(wù)器。
4.如權(quán)利要求3所述的系統(tǒng),其特征在于,所述網(wǎng)絡(luò)包括局域網(wǎng)。
5.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述傳輸層包括傳輸控制協(xié)議層。
6.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述遠(yuǎn)程目的地包括存儲(chǔ)器主機(jī)。
7.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述通信引擎在至少一個(gè)輸出緩沖器中排隊(duì)消息對(duì)象。
8.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述至少一個(gè)數(shù)據(jù)源包括多個(gè)數(shù)據(jù)源。
9.如權(quán)利要求8所述的系統(tǒng),其特征在于,每個(gè)數(shù)據(jù)源與至少一個(gè)相應(yīng)的會(huì)話相關(guān)聯(lián)。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于,所通信引擎將至少一個(gè)會(huì)話聯(lián)編到多個(gè)至遠(yuǎn)程目的地的連接中的至少一個(gè)連接。
11.如權(quán)利要求10所述的系統(tǒng),其特征在于,所述通信引擎將多于一個(gè)會(huì)話聯(lián)編到至遠(yuǎn)程目的地的連接中的至少一個(gè)連接。
12.如權(quán)利要求1所述的系統(tǒng),其特征在于,按照消息完成端口的狀態(tài)至少部分地執(zhí)行消息對(duì)象的緩沖。
13.一種用于管理數(shù)據(jù)的傳輸?shù)姆椒?,其特征在于,所述方法包括從至少一個(gè)數(shù)據(jù)源接收數(shù)據(jù);將數(shù)據(jù)轉(zhuǎn)換成多個(gè)消息對(duì)象;以及緩沖經(jīng)由傳輸層傳輸至遠(yuǎn)程目的地的消息對(duì)象。
14.如權(quán)利要求13所述的方法,其特征在于,所述至少一個(gè)數(shù)據(jù)源包括網(wǎng)絡(luò)。
15.如權(quán)利要求14所述的方法,其特征在于,所述網(wǎng)絡(luò)包括至少一個(gè)服務(wù)器。
16.如權(quán)利要求15所述的方法,其特征在于,所述網(wǎng)絡(luò)包括局域網(wǎng)。
17.如權(quán)利要求13所述的方法,其特征在于,所述傳輸層包括傳輸控制協(xié)議層。
18.如權(quán)利要求13所述的方法,其特征在于,所述遠(yuǎn)程目的地包括存儲(chǔ)器主機(jī)。
19.如權(quán)利要求13所述的方法,其特征在于,所述緩沖消息對(duì)象的步驟包括在至少一個(gè)輸出緩沖器中排隊(duì)消息對(duì)象的步驟。
20.如權(quán)利要求13所述的方法,其特征在于,所述至少一個(gè)數(shù)據(jù)源包括多個(gè)數(shù)據(jù)源。
21.如權(quán)利要求20所述的方法,其特征在于,每個(gè)數(shù)據(jù)源與至少一個(gè)相應(yīng)會(huì)話相關(guān)聯(lián)。
22.如權(quán)利要求21所述的方法,其特征在于,所述方法還包括將至少一個(gè)會(huì)話聯(lián)編到多個(gè)至遠(yuǎn)程目的地的連接中的至少一個(gè)連接。
23.如權(quán)利要求22所述的方法,其特征在于,所述聯(lián)編步驟包括將多于一個(gè)會(huì)話聯(lián)編到至遠(yuǎn)程目的地的連接中的至少一個(gè)連接的步驟。
24.如權(quán)利要求13所述的方法,其特征在于,按照消息完成端口的狀態(tài)至少部分地執(zhí)行緩沖消息對(duì)象的步驟。
25.一種數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)通過(guò)一種方法接收數(shù)據(jù),其特征在于,該方法包括從至少一個(gè)數(shù)據(jù)源接收數(shù)據(jù);將數(shù)據(jù)轉(zhuǎn)換成多個(gè)消息數(shù)據(jù);以及緩沖經(jīng)由傳輸層傳輸至數(shù)據(jù)庫(kù)的消息對(duì)象。
26.如權(quán)利要求25所述的數(shù)據(jù)庫(kù),其特征在于,所述至少一個(gè)數(shù)據(jù)源包括網(wǎng)絡(luò)。
27.如權(quán)利要求26所述的數(shù)據(jù)庫(kù),其特征在于,所述網(wǎng)絡(luò)包括至少一個(gè)服務(wù)器。
28.如權(quán)利要求27所述的數(shù)據(jù)庫(kù),其特征在于,所述網(wǎng)絡(luò)包括局域網(wǎng)。
29.如權(quán)利要求25所述的數(shù)據(jù)庫(kù),其特征在于,所述傳輸層包括傳輸控制協(xié)議層。
30.如權(quán)利要求25所述的數(shù)據(jù)庫(kù),其特征在于,所述數(shù)據(jù)庫(kù)包括存儲(chǔ)器主機(jī)。
31.如權(quán)利要求25所述的數(shù)據(jù)庫(kù),其特征在于,所述緩沖消息對(duì)象的步驟包括在至少一個(gè)輸出緩沖器中排隊(duì)消息對(duì)象的步驟。
32.如權(quán)利要求25所述的數(shù)據(jù)庫(kù),其特征在于,所述至少一個(gè)數(shù)據(jù)源包括多個(gè)數(shù)據(jù)源。
33.如權(quán)利要求32所述的數(shù)據(jù)庫(kù),其特征在于,每個(gè)數(shù)據(jù)源與至少一個(gè)相應(yīng)的會(huì)話相關(guān)聯(lián)。
34.如權(quán)利要求33所述的數(shù)據(jù)庫(kù),其特征在于,所述方法還包括將至少一個(gè)會(huì)話聯(lián)編到多個(gè)至遠(yuǎn)程目的地的連接中的至少一個(gè)連接的步驟。
35.如權(quán)利要求34所述的數(shù)據(jù)庫(kù),其特征在于,所述聯(lián)編步驟包括將多于一個(gè)會(huì)話聯(lián)編到至遠(yuǎn)程目的地的連接中的至少一個(gè)連接的步驟。
36.如權(quán)利要求25所述的數(shù)據(jù)庫(kù),其特征在于,按照消息完成端口的狀態(tài)至少部分地執(zhí)行緩沖消息對(duì)象的步驟。
37.一種消息對(duì)象,該消息對(duì)象按照一個(gè)方法而產(chǎn)生,其特征在于,所述方法為從至少一個(gè)數(shù)據(jù)源接收數(shù)據(jù);并且將數(shù)據(jù)轉(zhuǎn)換成通信引擎中的多個(gè)消息對(duì)象;以及緩沖經(jīng)由傳輸層傳輸至遠(yuǎn)程目的地的至少一個(gè)消息對(duì)象。
38.如權(quán)利要求37所述的消息對(duì)象,其特征在于,所述至少一個(gè)數(shù)據(jù)源包括網(wǎng)絡(luò)。
39.如權(quán)利要求38所述的消息對(duì)象,其特征在于,所述網(wǎng)絡(luò)包括至少一個(gè)服務(wù)器。
40.如權(quán)利要求39所述的消息對(duì)象,其特征在于,所述網(wǎng)絡(luò)包括局域網(wǎng)。
41.如權(quán)利要求37所述的消息對(duì)象,其特征在于,所述傳輸層包括傳輸控制協(xié)議層。
42.如權(quán)利要求37所述的消息對(duì)象,其特征在于,所述遠(yuǎn)程目的地包括存儲(chǔ)器主機(jī)。
43.如權(quán)利要求37所述的消息對(duì)象,其特征在于,所述緩沖至少一個(gè)消息對(duì)象的步驟包括在至少一個(gè)輸出緩沖器中排隊(duì)至少一個(gè)消息對(duì)象的步驟。
44.如權(quán)利要求37所述的消息對(duì)象,其特征在于,至少一個(gè)數(shù)據(jù)源包括多個(gè)數(shù)據(jù)源。
45.如權(quán)利要求44所述的消息對(duì)象,其特征在于,每個(gè)數(shù)據(jù)源與至少一個(gè)相應(yīng)的會(huì)話相關(guān)聯(lián)。
46.如權(quán)利要求45所述的消息對(duì)象,其特征在于,所述方法還包括將至少一個(gè)會(huì)話聯(lián)編到多個(gè)至遠(yuǎn)程目的地的連接中的至少一個(gè)連接的步驟。
47.如權(quán)利要求46所述的消息對(duì)象,其特征在于,所述聯(lián)編步驟包括將多于一個(gè)會(huì)話聯(lián)編到至遠(yuǎn)程目的地連接中的至少一個(gè)連接的步驟。
48.如權(quán)利要求37所述的消息對(duì)象,其特征在于,按照消息完成端口的狀態(tài)至少部分地執(zhí)行緩沖至少一個(gè)消息對(duì)象的步驟。
全文摘要
本發(fā)明采用消息的數(shù)據(jù)傳輸平臺(tái),其中通信引擎根據(jù)作為基本單元的消息對(duì)象來(lái)控制服務(wù)器或其它備份數(shù)據(jù)或其它大量數(shù)據(jù)傳遞至遠(yuǎn)程站點(diǎn)。來(lái)自一個(gè)或多個(gè)服務(wù)器或其它數(shù)據(jù)源的數(shù)據(jù)會(huì)話,可在用于傳遞至同樣包括通信控制的遠(yuǎn)程數(shù)據(jù)主機(jī)的建立的管道內(nèi)被緩沖。相對(duì)大的消息單元可在隊(duì)列中的信道內(nèi)等待通信,并在前一個(gè)通信完成時(shí)被釋放。完成端口或其它輪詢或其它機(jī)制可表示連接已經(jīng)打開供使用。在實(shí)施例中,消息對(duì)象可加以簽名或加密,以防止更新或未經(jīng)授權(quán)的觀看。通信引擎可依靠TCP或其它基礎(chǔ)傳輸機(jī)制以實(shí)現(xiàn)較低層傳輸。
文檔編號(hào)G06F13/10GK1578280SQ20041006332
公開日2005年2月9日 申請(qǐng)日期2004年6月29日 優(yōu)先權(quán)日2003年6月30日
發(fā)明者K·帕笛瓊納斯 申請(qǐng)人:微軟公司