因为是go写的,大家看着可能有点不太习惯。我整理了java的模板,如下:
文件明细:ChunkInfo
fid:产生的唯一文件编码(7,169aba906a)一定是带逗号,具体这个编码的规则,大家去查看我之前写的 https://www.jianshu.com/p/32239852d984 。访问文件地址,http://127.0.0.1:9081/7/169aba906a/test1.zip
offset:文件读取的起始位置,如果是第一个文件就是0,如果是下一个文件,这个值就是上一个文件的结束位置
size:当前文件大小,以字节为单位
批量文件集合:ChunkManifest
name:新的文件名称
mine:文件类型,可以参考httpclient
size:合并之后的总文件大小,其实就是所有拆分文件的总合
chunks:上面ChunkInfo的集合
现在给一个实际的对象,大家看起来会更有感触:{
"name" : "allin.zip",
"mine" : "zip",
"size" : 127646446,
"chunks" : [ {
"fid" : "7/169aba906a",
"offset" : 0,
"size" : 52428800
}, {
"fid" : "4/177d5cadcc",
"offset" : 52428801,
"size" : 52428800
}, {
"fid" : "3/18f0e181ff",
"offset" : 104857601,
"size" : 22788846
} ]
}
这个对象整好之后,通过httpclient,走一般的seaweedfs文件上传流程,拿到ID,再把这个对象发送出去,成功之后就可以通过新的ID来访问这个合并之后的文件了。
>weed.exe master -ip=192.168.20.208 -port=9333>weed.exe volume -dir="仔裂data"液激 -max=5 -mserver="闹戚袜192.168.20.208:9333" -port=8080 -ip=192.168.20.208
go看过几个程序,挺强大的。比如有一个weedfs分布式文件系统散坦。至于好用。脚本语言返搏是容易编程,容易维护,但是不容易调试。2000年左右python是脚本语言之王,现在也是排名靠前的。go是类似漏掘祥java设计定位,应用范围比java还要小的一个语言。可能需要很多年成长才会好用起来。要说好用呢,语言熟悉了,都好用。无论是basic,python,c,c++还是java,用熟悉了感觉是相同的,开发速度也比较接近。不过整体上脚本语言要比编译语言开发速度快几倍。但是运行时出错的几率也大了几倍。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)