国产欧美一区二区精品行性色_91精品午夜在线观看_亚洲精品无码激情国产_91精品啪在线观看国产城中村_91看片国产一区二区色欲

始創(chuàng)于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補償
全部產(chǎn)品
您的位置: 網(wǎng)站首頁 > 幫助中心>文章內(nèi)容

用GridFTP傳送文件

發(fā)布時間:  2012/8/14 11:06:11
 計算網(wǎng)格為那些強大的新型探索工具提供了基礎(chǔ)設(shè)施,這些基礎(chǔ)設(shè)施包括桌面計算、智能設(shè)備、協(xié)作和分布式計算。Globus 項目(Globus Project)目前致力于定義和開發(fā)具有下列能力的持續(xù)數(shù)據(jù)網(wǎng)格:

安全健壯的高性能數(shù)據(jù)傳輸機制。

用于創(chuàng)建和操作大型數(shù)據(jù)集副本的工具集。

維護數(shù)據(jù)集副本目錄的機制。

GridFTP 協(xié)議及其系列工具源自于意識到這樣一個問題,即網(wǎng)格環(huán)境需要一種快捷、安全、有效而且可靠的傳輸機制。計算網(wǎng)格是如此的龐大和分散,以致于需要一種健壯的傳輸機制。GridFTP 因其支持下列功能而滿足了這些需求:

并行數(shù)據(jù)傳輸:使用多個 TCP 流比使用單個 TCP 流提高了帶寬。并行數(shù)據(jù)傳輸由 FTP 命令擴展和數(shù)據(jù)通道擴展提供支持。

網(wǎng)格安全性基礎(chǔ)設(shè)施(Grid Security Infrastructure, GSI)和 Kerberos 認證支持:由用戶控制各種數(shù)據(jù)完整性和機密性級別的設(shè)置。這種功能為傳送文件提供了健壯且靈活的認證、完整性和機密性機制。

數(shù)據(jù)傳輸?shù)牡谌娇刂疲褐С譃榇笮头植际缴鐓^(qū)管理大型數(shù)據(jù)集。它使第三方能夠?qū)Υ鎯Ψ⻊掌髦g的傳送進行控制。

分塊數(shù)據(jù)傳輸:能夠?qū)?shù)據(jù)分割放置在多個服務器上,從而提高聚集帶寬。GridFTP 是通過定義在網(wǎng)格論壇(Grid Forum)草案中的擴展來支持分塊數(shù)據(jù)傳輸?shù)摹?/p>

部分文件傳送:與標準 FTP 要求應用程序傳送整個文件不同,新型 FTP 命令支持傳送文件的某些區(qū)域。

可靠的數(shù)據(jù)傳輸:故障恢復方法可以處理瞬態(tài)網(wǎng)絡故障和服務器故障,同時可以重新啟動失敗的傳送。

手工控制 TCP 緩沖區(qū)大。褐С肢@取最大 TCP/IP 帶寬。

集成檢測(instrumentation):支持返回重新啟動和性能標記。

連接到 GridFTP 服務器

清單 1中的 Java 類實現(xiàn)了一個到本地文件系統(tǒng)的基本 GridFTP 傳送。

Globus Toolkit 使用標準 log4j 包( http://jakarta.apache.org/log4j/docs/)通過定義一個靜態(tài)記錄器來顯示日志消息:

private static Logger logger = Logger.getLogger(MyGridFTP.class.getName());

類構(gòu)造函數(shù)獲取主機名和端口作為參數(shù),并使用網(wǎng)格安全性基礎(chǔ)設(shè)施(GSI)憑證對服務器進行認證。

注:該類只能與 Globus Toolkit 2.2 一起使用,而不能與 2.0 一起使用。Globus Toolkit 版本 2.0 和 2.2 之間的 GSI 有重大的變化。

確保使用了正確的 Java CoG Kit 版本

下面對 Java CoG Kit 0.9.13 到當前版本 Java CoG Kit 1.1a 之間的主要 GSI 變化進行了匯總:

不贊成使用的包          取而代之的包或方法
org.globus.security       org.ietf.jgss 
org.globus.io.ftp            org.globus.ftp 
org.globus.mds.MDS   使用 JNDI(和 LDAP 提供程序)或直接使用 Netscape 目錄 SDK(Netscape Directory SDK)來訪問 MDS。

org.globus.gsi.GlobusCredential 類基本上已經(jīng)取代了 org.globus.security.GlobusProxy 類的功能。然而,Globus 還是建議(如果可能的話) 不要使用 org.globus.gsi.GlobusCredential 類,因為它代表特定于某個安全性協(xié)議的公鑰基礎(chǔ)設(shè)施(Public Key Infrastructures, PKI)憑證。相反,Globus 建議盡可能多地使用一般安全性服務(Generic Security Service, GSS)抽象。要了解更多信息,請通過http://www-unix.globus.org/cog/distribution/1.1/compatibility.html訪問 Java 分發(fā)下的 compatibility.html 文件。

將舊代理轉(zhuǎn)換成 GSSCredential

為了通過 GridFTP 服務器的認證,必須將舊代理 GSI_2_PROXY 轉(zhuǎn)換成 GSSCredential。 清單 2中的代碼片段顯示了該如何進行這一轉(zhuǎn)換。

傳送數(shù)據(jù)

要開始從遠程主機傳送文件,您可以使用 清單 3 中的代碼。

接口 DataSink 對于寫進入的數(shù)據(jù)非常有用。請實現(xiàn)該接口以提供自己的數(shù)據(jù)存儲方式。

注:代碼必須是線程安全的。使用并行傳送方式時,幾個流可能會試圖寫到該接口。

傳送多個文件

傳送多個文件要求客戶機將傳送方式設(shè)置為:對于偵聽方,設(shè)置為被動方式;對于發(fā)送方,設(shè)置為主動方式。使用多個 get 調(diào)用還不夠,因為數(shù)據(jù)通道在每次傳送后都自動關(guān)閉。對于每個 get 調(diào)用,都由客戶端接收數(shù)據(jù)(被動),而由遠程主機發(fā)送數(shù)據(jù)(主動)。

在每次調(diào)用 get 之前,請發(fā)出下面這行代碼:

client.setLocalPassive();client.setActive();

在進行每次 put 操作之前,都需要逆轉(zhuǎn)主被動方式。請發(fā)出下面這行代碼:

client.setLocalActive();client.setPassive();。

要了解更多信息,請通過 http://www-unix.globus.org/cog/jftp/guide.html 閱讀 GridFTP 客戶機程序員指南(GridFTP client programmer guide)。

并行傳送

乍一看,GridFTP 給您的感覺可能是:您可以讓 FTP 客戶機以 Kazza/Morpheus 樣式從多個服務器傳送多個文件。實際上,并行在 GridFTP 中僅僅是指將打開多個流從同一個服務器傳送某個文件。

對于涉及雙方的傳送,除非您有多處理器機器,否則 GridFTP 只會增加開銷。下面這段內(nèi)容引自 GridFTP 客戶機 — 程序員指南(GridFTP client - programmer guide):

對于涉及雙方的傳送而言,選擇并行性時應該謹慎。使用多個流的優(yōu)點很大程度上與低級 TCP 過程有關(guān),同時也與 TCP 窗口大小有關(guān)。使用雙倍的并行流并不一定會使性能提高一倍。實際上,從某種角度來看,性能反而會下降。ftp 包的當前實現(xiàn)在單獨的線程中處理每條數(shù)據(jù)路徑,因此,除非您的機器有多個 CPU,否則增加并行性只會增加計算開銷( http://www-unix.globus.org/cog/jftp/guide.html)。

并行傳送需要使用擴展方式。而且,傳送類型必須為映像,而數(shù)據(jù)接收器/源必須支持隨機數(shù)據(jù)訪問且必須是線程安全的。多個線程可能會向其中寫入數(shù)據(jù)。 清單 4 顯示了實現(xiàn)并行 get 調(diào)用的方法。

測試傳送

要測試遠程文件傳送,請使用 清單 5中的代碼。

log4j 工具對于調(diào)試和監(jiān)控 FTP 傳送都非常有用:

要獲取基本消息,請使用 Logger.getRoot().setLevel(Level.INFO);

要獲取擴展的信息,請使用 Logger.getRoot().setLevel(Level.DEBUG);

以 INFO 級別執(zhí)行該類將得到 清單 6 中的樣本輸出。

在上面的樣本輸出中,有用的信息包括 GridFTP 服務器的版本。在該特例中,那些有用信息是 dhcp126.adtech.internet.ibm.com GridFTP Server 1.5 GSSAPI type Globus/GSI wu-2.6.2 (gcc32dbg, 1032298778-28) ready 。

故障診斷技巧

編寫這些代碼過程中所碰到的大多數(shù)問題都與處理舊代理及將它們轉(zhuǎn)換成 GSSCredential 有關(guān)。仔細檢查該類的構(gòu)造函數(shù),確保理解了該轉(zhuǎn)換過程。還要確保運行了 Globus Toolkit 和 GridFTP 服務器的正確版本。較舊的版本不支持 GSSAPI。

結(jié)束語

GridFTP 是一種安全可靠的高性能數(shù)據(jù)傳輸協(xié)議,針對高帶寬廣域網(wǎng)對其進行了優(yōu)化。GridFTP 協(xié)議基于 FTP 這一流行的因特網(wǎng)文件傳送協(xié)議。這個 Java 類可以幫助您理解:GridFTP 是如何從遠程服務器進行基本傳送的,還向您顯示了 Globus Toolkit 2.2 的安全性功能。


本文出自:億恩科技【www.cmtents.com】

服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關(guān)注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線