FttpAdapter是通过FttpReadAdapter的tryReadAll方法进行并行读
FttpAdapter fa = new FttpAdapter("fttp://10.232.20.151/home/log/1.log");
Result<byte[]> rs = fa.getFttpReader().tryReadAll();
调用tryReadAll会立即返回一个Result<byte[]>,但是不能马上获取到结果值,需要轮循检查它的状态是否就绪
rs.getStatus()有三种状态:
Result.NOTREADY 未就绪
Result.READY 就绪
Result.EXCEPTION 异常
轮循直到状态准备就绪:
while(rs.getStatus()==Result.NOTREADY);
状态就绪就可以通过getResult()获取到读取结果:
byte[] bts = rs.getResult();
可以对一个远程文件的不同部分同时并行读写,也可以对多个远程文件同时并行读写,比如:
String fttppath = "fttp://10.232.20.151/home/log/1.log";
FttpAdapter fa0 = new FttpAdapter(fttppath);
FttpAdapter fa1 = new FttpAdapter(fttppath);
FttpAdapter fa2 = new FttpAdapter(fttppath);
Result<byte[]> rs0 = fa0.getFttpReader(0,5).tryReadAll();
Result<byte[]> rs1 = fa1.getFttpReader(5,5).tryReadAll();
Result<byte[]> rs2 = fa2.getFttpReader(10,5).tryReadAll();
上面表示3个同时并行的读取,分别的从一个文件的0,5,10位置向后读5个字节。
如果是并行写,则是:
Result<Integer>[] rs0 = fa0.getFttpWriter(0,5).tryWrite("hello".getBytes());
Result<Integer>[] rs1 = fa1.getFttpWriter(5,5).tryWrite("world".getBytes());
Result<Integer>[] rs2 = fa2.getFttpWriter(10,5).tryWrite("fttp!".getBytes());
注意:上面fa0,fa1,fa2是3个不同的FttpAdapter,而不是同一个FttpAdapter,否则后面的getFttpReader指定的读取范围会覆盖前面的范围,导致产生意外错乱。由于是对同一个远程文件并行读写,所以fa0,fa1,fa2的fttppath相同,如果对多个远程文件并行读写,则fttppath不同。
FttpMulWriteReadDemo演示了并行对三个远程文件进行写,然后再并行进行读,在轮循状态时,如果就绪读取到结果后,将rs[i]设置为null表示不再重复检查。
邮箱:Fourinone@yeah.net
企鹅群:241116021
demo源码指南及开发包下载地址:
http://www.skycn.com/soft/68321.html
分享到:
相关推荐
分布式服务架构:原理、设计与实战 高清PDF,因上传文件大小限制,分割成了三个文件,全部下载放在同一目录下,即可成功解压,总共三部分:分布式服务架构:原理、设计与实战.zip 分布式服务架构:原理、设计与实战....
其块存储架构允许快速的数据读写操作,以满足各种工作负载的需求。对于数据库应用来说,性能是至关重要的,而FastCFS可以作为数据库的后端存储,为数据库提供高性能的数据存储和访问支持。 通用性和灵活性 FastCFS是...
Hadoop分布式文件系统:架构和设计要点中文翻译
北邮 分布式计算课件 教师:邹华 第二章:middleware
在Hadoop的分布式文件系统下,对文件的读写和列出文件的相关属性和目录中的内容
北邮 分布式计算课件 教师:邹华 第四章:分布式系统中的面向对象技术
编写分布式的Erlang程序:陷阱和对策
MATLAB代码:分布式最优潮流 关键词:网络划分;分布式光伏;集群电压控制;分布式优化;有功缩减 参考文档:《含分布式光伏的配电网集群划分和集群电压协调控制》 仿真平台:MATLAB 主要内容:本文以全局电压的低...
范型篇——介绍谷歌、亚马逊、微软、阿里巴巴等著名互联网公司的大规模分布式存储系统架构,涉及分布式文件系统、分布式键值系统、分布式表格系统以及分布式数据库技术等。实践篇——以阿里巴巴的分布式数据库Ocean...
Hadoop分布式文件系统:架构和设计要点.pdf
ctjdfs是由java语言开发的一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。
本书具体介绍开源分布式文件系统相关技术、原理和设计,是学习分布式文件系统的参考资料
#资源达人分享计划#
分布式文件系统设计分布式文件系统设计分布式文件系统设计分布式文件系统设计
Hadoop分布式文件系统的模型分析,Hadoop 分布式文件系统是遵循Google 文件系统原理进行开发和实现的,受到了业界极大关注,并 已被广泛应用。 鉴于当前缺乏从系统设计理论的角度对其开展的相关研究,本文从 Hadoop ...
Hadoop分布式文件系统:架构和设计.pdf
Hadoop 分布式文件系统 (HDFS)是一个设计为用在普通硬件设备上的分布式文件系统。它与现有的分布式文件系统有很多近似的地方,但又和这些文件系统有很明显的不同。HDFS是高容错的,设计为部署在廉价硬件上的。HDFS对...
Hadoop分布式文件系统:架构和设计.doc
实现高可用的文件访问:基于活动目录的分布式文件系统