最後雲端,為完賽畫下彩虹~~ /images/emoticon/emoticon07.gif

為了使部署的雲端硬碟能像Google Drive一樣使用串流、WebUI控制
就必須了解WebDAV運作原理,及雲端硬碟與WebDAV技術的「相依性」

PS:Googledrive串流為了避免網路不穩定或過度讀寫資料中心,並不是直接可寫的
而是採暫存機制,無法直接對硬碟讀寫喔

甚麼是WebDAV?

WebDAV 全名為Web-based Distributed authoring and Versioning,翻譯為:基於網頁的分散式編寫和版本控制
先給大家釐清一個觀念,WebDAV並不是指檔案共享服務;而是一種技術概念
只是它跟雲端硬碟可說是一對好夫妻呢!
因為運用此特性能使雲端檔案進行即時編輯,達到類似「硬碟串流」的功能
讓其不再只是冷冰冰的WebUI,也省去了雲端系統要”先下載再上傳”的流程

但它究竟是如何做到的?
這就要談到”分散式編寫”和”版本控制”兩項雲端硬碟的關鍵技術了

  • 分散式編寫
    概念在於;雖然是一樣的Server文件,但可給不同使用者在不同地方做即時修改
    有利於使用者們互相編輯和管理在Internet間的Server檔案:
    有個檔案在Server共享上同時被很多人編輯,它就能即時做任何的變動並儲存
  • 但只有這樣就會產生很多檔案錯誤,就需要版本控制

  • 版本控制
    做即時修改(也就是分散式編寫)時,難免會遇到使用者們因編輯時間差導致檔案不同步
    或是因編寫平台不同而導致出現不同格式 (如文件檔案有人用檔案串流打開word , 有人在雲端的WebUI上編輯)
    這時就須版本控制來解決了:
  • 例如現在雲端裡有 A跟B兩檔案

  • 情況1:同時有多個使用者在編輯A檔案
  • 這時版控啟動,在使用者分別按下儲存同時,為此檔案建立不同的版本
    或在使用者們編輯同時,為檔案建立不同版本的儲存點

  • 情況2:A檔案使用不同平台編輯
  • 不同平臺也算不同版本,所以處理方式跟上述相同

  • 情況3:不小心將A檔案名稱修改成B檔案
  • 出現兩個名稱為B的檔案,版控啟動
    為了不讓兩檔案產生衝突,版控會將檔案名稱做Hash編碼再存入後台資料庫
    因為Hash一定是唯一碼,這樣就可避免兩檔案衝突了

    所以版控可說是在雲端串流時避免檔案發生無法預測問題的重要技術
    而它能控制檔案差異進一步做處理,也讓多人串流時檔案間保持一致性。

    常見的版控工具有Git, SubVersion等

    雲端硬碟與WebDAV的相依性

    假如雲端硬碟沒有了WebDAV的話,通俗一點講也只不過是”雲端空間”而已
    因為WebDAV不只實現讓HTTP(S)協定上的雲端client端掛載硬碟至PC上
    且透過分散式編寫與版控技術,也才可與雲端系統保持一致性