用GridFTP传送文件

2009-05-12 17:17:57来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

计算网格为那些强大的新型探索工具提供了基础设施,这些基础设施包括桌面计算、智能设备、协作和分布式计算。Globus 项目(Globus Project)目前致力于定义和开发具有下列能力的持续数据网格:

安全健壮的高性能数据传输机制。

用于创建和操作大型数据集副本的工具集。

维护数据集副本目录的机制。

GridFTP 协议及其系列工具源自于意识到这样一个问题,即网格环境需要一种快捷、安全、有效而且可靠的传输机制。计算网格是如此的庞大和分散,以致于需要一种健壮的传输机制。GridFTP 因其支持下列功能而满足了这些需求:

并行数据传输:使用多个 TCP 流比使用单个 TCP 流提高了带宽。并行数据传输由 FTP 命令扩展和数据通道扩展提供支持。

网格安全性基础设施(Grid Security Infrastructure, GSI)和 Kerberos 认证支持:由用户控制各种数据完整性和机密性级别的设置。这种功能为传送文件提供了健壮且灵活的认证、完整性和机密性机制。

数据传输的第三方控制:支持为大型分布式社区管理大型数据集。它使第三方能够对存储服务器之间的传送进行控制。

分块数据传输:能够将数据分割放置在多个服务器上,从而提高聚集带宽。GridFTP 是通过定义在网格论坛(Grid Forum)草案中的扩展来支持分块数据传输的。

部分文件传送:与标准 FTP 要求应用程序传送整个文件不同,新型 FTP 命令支持传送文件的某些区域。

可靠的数据传输:故障恢复方法可以处理瞬态网络故障和服务器故障,同时可以重新启动失败的传送。

手工控制 TCP 缓冲区大小:支持获取最大 TCP/IP 带宽。

集成检测(instrumentation):支持返回重新启动和性能标记。

连接到 GridFTP 服务器

清单 1中的 Java 类实现了一个到本地文件系统的基本 GridFTP 传送。

Globus Toolkit 使用标准 log4j 包( http://jakarta.apache.org/log4j/docs/)通过定义一个静态记录器来显示日志消息:

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

类构造函数获取主机名和端口作为参数,并使用网格安全性基础设施(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 类基本上已经取代了 org.globus.security.GlobusProxy 类的功能。然而,Globus 还是建议(如果可能的话) 不要使用 org.globus.gsi.GlobusCredential 类,因为它代表特定于某个安全性协议的公钥基础设施(Public Key Infrastructures, PKI)凭证。相反,Globus 建议尽可能多地使用一般安全性服务(Generic Security Service, GSS)抽象。要了解更多信息,请通过http://www-unix.globus.org/cog/distribution/1.1/compatibility.html访问 Java 分发下的 compatibility.html 文件。

将旧代理转换成 GSSCredential

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:SPF可以防止别人伪造你来发邮件

下一篇:修改FTP密码的方法