天天看点

Fourinone2.0对分布式文件的简化操作

Fourinone2.0里通过FttpAdapter和FileAdapter实现文件io的支持。其中,FttpAdapter提供对远程文件的操作,FileAdapter提供对本地文件的操作,两者api和使用相似,这里主要说明FttpAdapter:

FttpAdapter提供了对分布式文件的便利操作, 将集群中所有机器的硬盘资源利用起来,通过统一的fttp文件路径访问,并且windows和linux都能支持:

操作系统上的任何目录文件都可以通过添加fttp协议头和ip去访问:

[color=red]fttp://IP或域名/window或linux原有目录文件名[/color]

比如访问windows系统的d:/data/a.log文件:

windows:fttp://192.168.0.1/d:/data/a.log

比如访问linux系统的/home/user/a.log文件:

linux:fttp:// 192.168.0.1/home/user/a.log

获取远程文件内容变的更简单,比如以这样的方式读取远程文件:

FttpAdapter fa = FttpAdapter("fttp://192.168.0.1/home/log/a.log");

fa.getFttpReader().readAll();

这里读取了192.168.0.1这台linux服务器上的/home/log/a.log文件的所有内容

提供对集群文件的操作支持,包括:

1、元数据访问,添加删除,按块拆分, 高性能并行读写,排他读写(按文件部分内容锁定),随机读写,集群复制等

2、对集群文件的解析支持(包括按行,按分割符,按最后标识读取)

3、对整形数据的高性能读写支持(ArrayInt比ArrayList存的更多更快)

4、两阶段提交和事务补偿处理

5、自带一个集群文件浏览器,可以查看集群所有硬盘上的文件(不同于hadoop的namenode,没有单点问题和容量限制)

总的来说, 将集群看做一个操作系统,像操作本地文件一样操作远程文件。

但是fourinone并不提供一个完整的分布式存储系统,比如文件数据的导入导出、拆分存储、负载均衡,备份容灾等存储功能, fourinone只是让完成这项工作变的简单,让开发人员可以利用这些api方便的设计和实现这些功能,用来满足自己的特定需求。

更多介绍请看使用指南:

一、[url="http://fourinone.iteye.com/blog/1543907"]如何搭建配置FttpAdapter环境[/url]

二、[url="http://fourinone.iteye.com/blog/1543920"]如何访问集群文件根目录[/url]

三、[url="http://fourinone.iteye.com/blog/1543925"]如何访问和操作远程文件[/url]

四、[url="http://fourinone.iteye.com/blog/1543936"]如何进行集群内文件复制和并行复制[/url]

五、[url="http://fourinone.iteye.com/blog/1543944"]如何读写远程文件[/url]

六、[url="http://fourinone.iteye.com/blog/1543949"]如何解析远程文件[/url]

七、[url="http://fourinone.iteye.com/blog/1544799"]如何并行读写远程文件[/url]

八、[url="http://fourinone.iteye.com/blog/1544810"]如何批量并行读写远程文件和事务补偿处理[/url]

邮箱:[email protected]

企鹅群:241116021

demo源码指南及开发包下载地址:

http://www.skycn.com/soft/68321.html

继续阅读