netdisk 多维云盘开发工具包

来源:互联网 发布:项目管理系统 php开源 编辑:程序博客网 时间:2024/05/29 04:20
  • 作者:cj (赵向彬)发布日期:2016年8月19日 3:24
关键词:多维 立方体 结构化数据 非结构化数据 云存储
mongodb
摘要:netdisk可以看成mongodb的一个增强工具包,它实现了用户空间配额、orm映射、类sql的查询、文件的存储、多维的方案等功能。 
本包提供开发者使用多维云盘的能力,如果想作为成品或进行云盘的管理和测试请使用mdisk命令行工具
正文:http://www.cjlns.com
本文简要说明netdisk的使用简要来说,一个mongodb实例可以被分成多个网盘netdisk,每个netdisk拥有一个或多个cube(即存储方案),其中只有一个名为home的cube,home在netdisk是主cube.而每个cube里,包含两种数据,一种是结构化数据,称之为tuple,不定数目;一种是非结构化数据,在每个cube.fileSystem()中得到,即每个cube有一个文件系统。记住,不论是tuple还是文件都是多维的,因此都有多维的api1.创建、销毁云盘接口

INetDisk disk=NetDisk.create(client, name, userName, password, info)//创建一个网盘INetDisk disk=NetDisk.open(client, name, userName, password)//认证打开网盘INetDisk disk=NetDisk.trustOpen(client, name)//授信打开网盘

2.cube的使用

ICube cube=disk.cube("cubename");ICube cube=disk.home();//以下是查询一个叫“department"的tupleIQuery q=cube.createQuery("select {'tuple':'*'} from tuple department your.crop.Department where {'tuple.name':'?(name)'}");q.setParameter('name','研发部');List list=q.getResultList();for(IDocument doc:list){System.out.println(doc.docid());System.out.println(doc.tuple());}//以下是保存一个部门:Department dpt=new Department();cube.saveDoc('department',new TupleDocument(dtp));//以下是访问文件系统FileSystem fs=cube.fileSystem();DirectoryInfo dir=fs.dir("/test");//打开一个目录dir.listFiles();//列出文件FileInfo file=fs.openFile("/test/b.txt", OpenMode.openOrNew, OpenShared.off);//打开一个文件IReader reader=file.reader(0);//从位置0开始读取文件数据reader.read(buf);reader.seek(100);//定位到100开始读reader.read(buf);reader.close();IWriter writer=file.writer(0);//从位置0开始写入数据writer.write(buf);writer.close();

0 0
原创粉丝点击