前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。
1.名词解释:
tracker服务器:中文叫做跟踪器,主要做调度工作,在访问上起负载均衡的作用。(tracker告诉WWW,与哪台Storage通讯)
storage服务器:中文叫做存储器,主要用来存储数据,它上面可以建立节点(或者叫卷,组)
tracker和storage都可以由多台服务器组成,storage的各位服务器数据都是同步的,这是实现负载均衡的前提。

2.上传流程:

FastDFS file upload 上传文件交互过程:
    1. client询问tracker上传到的storage,不需要附加参数;
    2. tracker返回一台可用的storage;
    3. client直接和storage通讯完成文件上传。
    
    FastDFS file download 下载文件交互过程:
    1. client询问tracker下载文件的storage,参数为文件标识(卷名和文件名);
    2. tracker返回一台可用的storage;
    3. client直接和storage通讯完成文件下载。
    
首先客户端 client 发起对 FastDFS 的文件传输动作,是通过连接到某一台 Tracker Server (跟踪器)的指定端口来实现的,
Tracker Server 根据目前已掌握的信息,来决定选择哪一台 Storage Server (存储器),
然后将这个Storage Server 的地址等信息返回给 client,
然后 client 再通过这些信息连接到这台 Storage Server,将要上传的文件传送到给 Storage Server上。

client向tracker发一个HTTP的GET请求,并把它自己的信息放在GET的参数中;
这个请求的大致意思是:我是xxx(一个唯一的id),我想下载yyy文件,我的ip是aaa,我用的端口是bbb...
tracker对所有下载者的信息进行维护,当它收到一个请求后,首先把对方的信息记录下来
(如果已经记录在案,那么就检查是否需要更新),然后将一部分

(并非全部,根据设置的参数已经下载者的请求)参与下载同一个文件(一个tracker服务器可能同时维护多个文件的下载)的下载者的信息返回给对方。

Client在收到tracker的响应后,就能获取其它下载者的信息,那么它就可以根据这些信息,与其它下载者建立连接,从它们那里下载文件片断。

FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器(tracker)主要做
调度工作,就像公交车站里面的调务员一样,它负责通过负载均衡选出最优的存储节点(storage)。存储节点(storage)顾名思义就是负责存储、
数据同步、数据的操作的一个服务,完成文件管理的所有功能:存储、同步和提供存取接口,FastDFS同时对文件的meta data进行管理。
所谓文件的meta data就是文件的相关属性,以键值对(key value pair)方式表示,
如:width=1024,其中的key为width,value为1024。文件meta data是文件属性列表,可以包含多个键值对。

3.架构简析、特点
FastDFS 是包括一组 Tracker Server 和 Storage Server 的。
Tracker Server 与 Storage Server 之间不直接通信,其基本的信息由配置文件在系统启动加载时获知。
Storage Server 是分成多个 Group,每个 Group 中的Storage 都是互相备份的,
就是说,如果 Group1 有 Storage1、Storage2、Storage3,其容量分别是100GB、100GB、100GB,那么 Group1 的存储能力是 100GB,
而不是 300GB,这就是互相备份的意思。
进一步说,整个 Group 的存储能力由该组中该储能力最小的 Storage 决定。
多个 Group 之间的存储方式,可以采用 round robin(轮训)、load balanced(负载均衡)或指定 Group 的方式。
 FastDFS 架构中,数据最终是与一个 available (有空的、可获得的) Storage Server 进行传输的。
 FastDFS的特点包括(1)高可靠性:无单点故障;(2)高吞吐量:只要 Group 足够多,数据流量是足够分散的。
 (3)适用于小文件存储,因为 FastDFS 不回对文件进行分块。
 因为文件比较小(比如普通级别的图片类应用,文件最大就在几个MB的量级),一来没有必要分块, 二来分块会加重服务器的工作量。
 但是,如果把 FastDFS 应用于大文件存储的场景,可能这一特点就会变成缺点。

需要说明的是,client为使用FastDFS服务的调用方,client也应该是一台服务器,它对tracker和storage的调用均为服务器间的调用。

以上讲解参考:http://blog.csdn.net/mr_smile2014/article/details/52095966
https://zhidao.baidu.com/question/9124794.html
http://www.cnblogs.com/lori/archive/2013/05/21/3090134.html
https://www.oschina.net/p/fastdfs

http://blog.csdn.net/poechant/article/details/6996047

使用样例见 ;

jQuery上传插件Uploadify使用Demo、本地上传(ssm框架下)

jquery文件上传插件uploadify 讲解相关推荐

  1. 【转】jquery文件上传插件uploadify在.NET中session丢失的解决方案

    2019独角兽企业重金招聘Python工程师标准>>> 基于jQuery和Flash的多文件上传插件uploadify的确很好用,具体配置和使用方法见以前的一篇文章: <一款基 ...

  2. jquery文件上传插件 uploadify java_jQuery文件上传插件Uploadify使用指南

    对于HTML5版本会比较好的支持手机浏览器,避免苹果手机Safari浏览器不支持 Flash,主要特性:支持多文件上传.HTML5版本可拖拽上传.实时上传进度条显示.强大的参数 定制功能,如文件大小. ...

  3. 修改jquery文件上传插件uploadify的英文为中文

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 效果: 对于这种样式的问题,我都是简单粗爆的解决: 找到uploadify的js文件,通常不是js, ...

  4. jQuery 文件上传插件:uploadify、swfupload

    jQuery 文件上传插件: uploadify.swfupload

  5. jquery文件上传插件|进度条

    jquery文件上传插件|进度条 一.Uploadify 官网:http://www.uploadify.com/ 下载地址:http://down.51cto.com/data/577863 详细参 ...

  6. jquery 文件上传插件_10个jQuery文件上传插件

    jquery 文件上传插件 这篇热门文章于2016年7月更新,以反映文件上传插件的当前状态. 有关旧文章的评论已删除. 使用Ajax实施文件上传可能非常困难,特别是如果您需要拖放支持,图像预览或进度条 ...

  7. 20+ 个很棒的 jQuery 文件上传插件或教程(此文值得“推荐”和“收藏”)

    文件上传是网站很常见的功能之一,通过使用 jQuery 可以让上传过程更加人性化,更好的用户体验.本文介绍20个jQuery的文件上传插件,其中有一些是教程. 1. Plupload Plupload ...

  8. 基于jquery的上传插件Uploadify 3.1.1在MVC3中的使用

    Uploadify是JQuery的一个文件上传插件,实现的效果非常不错,目前已经更新到Version3.1.1,官方提供的实例是php版本的,本文将介绍Uploadify在MVC3中的使用,您可以点击 ...

  9. jQuery 异步上传插件 Uploadify 使用 (Java平台)

    Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度显示.而且是Ajax的,省去了自己写Ajax上传功能的麻烦.不过官方提供的实例时php版本的,本文将详细介绍Uploadify ...

最新文章

  1. 包含近 20 万本图书,OpenAI 级别的训练数据集上线
  2. mysql dba系统学习(16)mysql的mysqldump备份 mysql dba系统学习(17)mysql的备份和恢复的完整实践
  3. js中用tagname和id获取元素的3种方法
  4. 烂泥:mysql帮助命令使用说明
  5. VC添加.chm帮助文档 --HtmlHelp
  6. 申请美国计算机科学,美国计算机科学(Computer Science)申请条件
  7. 微软SQL Server 2012新特性Silverlight报表客户端 - Power View
  8. Google惊人研究:一组图片,就能强迫神经网络执行其他任务
  9. 【转】比较page、request、session、application的使用范围
  10. Python List pop()方法
  11. conda create出现连接问题_解决conda创建新环境慢 conda install 速度慢 报错问题
  12. python制作日历并保存成excel_Python+Excel制作精美壁纸日历,任意DIY
  13. C语言实现简单的线程池【转】
  14. 前端存储之cookie、localStorage、sessionStorage、indexDB
  15. Jetson TX2 apt换源
  16. RobotFramework入门(一)简要介绍及使用
  17. 服务器无备份位置可用,云服务器备份区域和可用区
  18. 安卓逆向——dy急速版设备抓包分析
  19. maven jar包瘦身
  20. 从快递到电商,顺丰在谋划什么?

热门文章

  1. python文本去重函数_python3.4.3下逐行读入txt文本并去重的方法
  2. mybatis配置文件加注释报错怎么办?改一笔就能帮你解决
  3. 计算机算法在生物信息学中的应用,计算机算法在生物信息学中的应用综述.doc...
  4. 苏宁css代码生成器,【前端】06 - rem + less + 媒体查询 - 制作苏宁首页
  5. android6.0 sd卡卸载api,android6.0 用户关掉sd卡读取权限的情况下, 还能做到手机缓存么?...
  6. linux显卡内核修改,iTOP-4412开发板-驱动-linux显卡驱动的修改方法
  7. jQuery插件scrollToTop 4行代码实现网站回到顶部
  8. Android入门(15)| 网络
  9. Google Protobuf 使用介绍
  10. C++(23)--多态性与虚函数