1.https://github.com/mrdoob/three.js
2.https://github.com/chrislusf/seaweedfs
3.http://my.heyany.com/testbook/458.html owncloud vs seafile
Last active
November 22, 2017 01:30
-
-
Save leapar/efc018e2e63bf069a9372cfb8e70dd38 to your computer and use it in GitHub Desktop.
gun
upload
- libcurl libuv
采用libuv的epoll方式实现的异步高性能libcurl发送数据的方法
http://blog.csdn.net/lijinqi1987/article/details/53996129
大文件上传
问题:
如果有几百M,几G的文件上传,怎么做?同时还需要进行续传。
- 上传客户端进行文件分片,例如2g文件=2102410241024=2000 0001024拆分成1024个文件片
- 客户端进行多线程上传,同时记录已经完成的文件片
- 服务器支持/upload接口,保存每一个文件片uid_index.data
- 客户端发现所有文件片都已经上传完成,调用/over接口进行文件片合并,同时进行checksum文件校验
- 最后把上传完毕的文件同步到hdfs中
支持文件分片上传的js客户端有:
- jQuery-File-Upload https://blueimp.github.io/jQuery-File-Upload/
- webuploader http://fex.baidu.com/webuploader/
- fineuploader https://fineuploader.com/
服务端代码:
- https://github.com/peinhu/AetherUpload-Laravel
- https://github.com/pionl/laravel-chunk-upload
- https://github.com/FineUploader/fineuploader-go-server
- https://github.com/FineUploader/spring-boot-server
完整例子
checksum
fineuploader
- 浏览器最大连接数 http://www.cnblogs.com/xiaoxiapier/p/4505117.html
- 默认是3个 可以修改maxConnections 达到更多 https://docs.fineuploader.com/api/options.html#maxConnections
<script>
// Some options to pass to the uploader are discussed on the next page
var uploader = new qq.FineUploader({
element: document.getElementById("uploader"),
//element: document.getElementById("fineuploader-container"),
request: {
endpoint: "http://127.0.0.1:8080/upload"
},
deleteFile: {
enabled: true,
endpoint: "http://127.0.0.1:8080/upload"
},
maxConnections:5,
chunking: {
enabled: true,
concurrent: {
enabled: true
},
success: {
endpoint: "http://127.0.0.1:8080/chunksdone"
}
},
resume: {
enabled: true
},
retry: {
enableAuto: true,
showButton: true
}
})
</script>
开启Threejs之旅 http://www.hewebgl.com/
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
hdfs
用户空间文件系统(Filesystem in Userspace,FUSE)允许一些文件系统整合为一个Unix文件系统在用户空间中执行。通过使用Hadoop的Fuse-DFS分类模块,任意一个Hadoop文件系统(不过一般为HDFS)都可以作为一个标准文件系统进行挂载。我们随后便可以使用Unix的工具(如ls和cat)与这个文件系统交互,还可以通过任意一种编程语言使用POSIX库来访问文件系统。
https://www.qnap.com/zh-tw/how-to/tutorial/article/%E5%A6%82%E4%BD%95%E9%80%8F%E9%81%8E-webdav-%E9%81%A0%E7%AB%AF%E5%AD%98%E5%8F%96%E6%82%A8%E7%9A%84-nas
WebDAV (Web-based Distributed Authoring and Versioning), 是一個HTTP(S)的延伸通訊協定, 讓你的網頁伺服器成為一個標準的網路磁碟. 在WebDAV的支援下, QNAP的NAS使用者將可以用HTTP(S)的協定來遠端讀寫網路磁碟.
Windows XP/Vista, Mac OS X皆有原生支援WebDAV的連接. 你可以輕鬆的掛載一個NAS上的網路分享資料夾.
WebDAV的伺服器享有在HTTP通訊協定下的幾個優點:
WebHDFS是HDFS内置的组件,已经运行于NameNode和DataNode中。对HDFS文件的读写,将会重定向到文件所在的DataNode,并且会完全利用HDFS的带宽。
HttpFS是独立于HDFS的一个服务。对HDFS文件的读写,将会通过它进行中转,它能限制带宽占用。