jquery文件上傳插件uploadify 講解

?

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。
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框架下)

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/451772.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/451772.shtml
英文地址,請注明出處:http://en.pswp.cn/news/451772.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

POJ 1651 Multiplication Puzzle(類似矩陣連乘 區間dp)

傳送門:http://poj.org/problem?id1651 Multiplication PuzzleTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 13109 Accepted: 8034Description The multiplication puzzle is played with a row of cards, each containing a single positive integ…

25--最后一個單詞的長度

文章目錄1.問題描述2.代碼詳情1.問題描述 給定一個僅包含大小寫字母和空格 ’ ’ 的字符串 s,返回其最后一個單詞的長度。如果字符串從左向右滾動顯示,那么最后一個單詞就是最后出現的單詞。 如果不存在最后一個單詞,請返回 0 。 說明&…

MySQL 企業監控器 2.3.10 正式版發布

Oracle于近日發布了 MySQL 企業監控器 2.3.10 正式版。 MySQL企業監控器主要用于實施對數據庫進行監控和管理。通過它,數據庫管理員不但可以獲得高級的數據復制和數據庫監控功能,同時還可以簡化安裝流程。而且,無論是對于MySQL企業版&#xf…

Docker 跨主機網絡方案分析

PS:文章首發公眾號,歡迎大家關注我的公眾號:aCloudDeveloper,專注技術分享,努力打造干貨分享平臺,二維碼在文末可以掃,謝謝大家。 上篇文章介紹了容器網絡的單主機網絡,本文將進一步…

java中為什么使用上轉型和下轉型

為什么使用上轉型?因為當一個父類有很多子類,子類都重寫了父類的方法并加以使用。這時候,如果要在之前代碼讓你用其他子類來實現,就變得很簡單,只需要把A a new B();換成A a new C();(假設B和C都繼承了A&…

session和cache的區別

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 以前實現數據的緩存有很多種方法,有客戶端的Cookie,有服務器端的Session和Application。 其中Cookie是保存在客…

第四個

。 轉載于:https://www.cnblogs.com/wxy2000/p/9657823.html

26-- 轉換成小寫字母

文章目錄1.問題描述2.代碼詳情1.問題描述 實現函數 ToLowerCase(),該函數接收一個字符串參數 str,并將該字符串中的大寫字母轉換成小寫字母,之后返回新的字符串。 示例 1: 輸入: “Hello” 輸出: “hello” 示例 2:…

java守護線程和用戶線程的區別

Java中的線程可以分為兩類,即用戶線程和守護線程。用戶線程是為了完成任務,而守護線程主要是為其他線程服務。 守護線程的唯一用途是為其他線程提供服務。守護線程會隨時中斷,因此不要在守護線程上使用需要釋放資源的資源,如輸入輸…

初學duboo+zookeeper

看了很多相關資料,其實都沒有自己動手試一次印象更深刻一些。找了很多教程,下工具,花了幾個小時終于讓程序跑起來了,下面說下步驟:1.java環境也就安裝jdk,我使用的是1.7版本,jdk安裝就不在這復述…

Fedora 17 Beta 版發布

Fedora團隊今天發布了Fedora 17 Beta版本,這是正式版本發布前的最后一個重要的里程碑版本。據該團隊介紹,正式版將在今年5月發布,將主要修復Beta版中發現的關鍵性bug。針對普通用戶的桌面改進: 采用GNOME 3.4,提升了用…

27--字符串相加

文章目錄1.問題描述2.代碼詳情1.問題描述 給定兩個字符串形式的非負整數 num1 和num2 ,計算它們的和。 注意: num1 和num2 的長度都小于 5100. num1 和num2 都只包含數字 0-9. num1 和num2 都不包含任何前導零。 你不能使用任何內建 BigInteger 庫&…

[轉] 一文弄懂神經網絡中的反向傳播法——BackPropagation

在看CNN和RNN的相關算法TF實現,總感覺有些細枝末節理解不到位,浮在表面。那么就一點點扣細節吧。 這個作者講方向傳播也是沒誰了,666~ 原文地址:https://www.cnblogs.com/charlotte77/p/5629865.html 最近在看深度學習…

java線程組

線程組 線程組是Java線程編程所持有的概念。在Java中,線程組是指java.lang.ThreadGroup類的對象,每個線程都隸屬于唯一的一個線程組,這個線程組在線程創建時指定并在線程的整個生命周期內都不能更改。可以通過調用包含ThreadGroup類型參數的T…

FreeBSD 8.3 發布

近日,FreeBSD開發團隊放出了8.x穩定分支的8.3版本。此次發行的版本將支持amd64、i386、pc98和 sparc64等處理器類型。FreeBSD是一種類UNIX操作系統,但不是真正意義上的 UNIX 操作系統,它是由經過 BSD、386BSD 和 4.4BSD 發展而來的 Unix 的一…

Java中四種訪問權限總結

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 一、Java中有四種訪問權限, 其中三種有訪問權限修飾符,分別為private、public、protected,還有一種不…

28--僅僅反轉字母

文章目錄1.問題描述2.代碼詳情1.問題描述 給定一個字符串 S,返回 “反轉后的” 字符串,其中不是字母的字符都保留在原地,而所有字母的位置發生反轉。 示例 1: 輸入:“ab-cd” 輸出:“dc-ba” 示例 2&…

Moving Average

移動平均算法Demo #!/usr/bin/python2.7 # Fetch data from BD and analyse.import json import urllib import traceback import numpy as np # import pandas as pd import matplotlib.pyplot as plt #from scipy import statsdef fetch_raw_data(url):try:response urllib.…

【前端工程師手冊】JavaScript作用域拾遺

【前端工程師手冊】JavaScript作用域拾遺 昨天總結了一些作用域的知識【前端工程師手冊】JavaScript之作用域,但是發表完發現忘記了一些東西,今天拾個遺。 昨天說到了JavaScript中沒有塊級作用域,其實在es6中是有的。 es6中的塊級作用域 先舉…

游戲開發中的數據表示

聲明:本文內容源自騰訊游戲學院程序公開課_服務端 一、數據表示的基礎 什么是數據表示? 數據是信息的載體。 數據表示是一組操作,可以描述、顯示、操作信息。 數據表示的要素 IDL - 接口描述語言 IDL是用來描述軟件組件接口的一種計算機語言。…