想實現(xiàn)多人協(xié)作的“在線Excel”?真沒那么簡單-創(chuàng)新互聯(lián)

本文由葡萄城技術(shù)團隊原創(chuàng)并首發(fā)

成都創(chuàng)新互聯(lián)公司是創(chuàng)新、創(chuàng)意、研發(fā)型一體的綜合型網(wǎng)站建設(shè)公司,自成立以來公司不斷探索創(chuàng)新,始終堅持為客戶提供滿意周到的服務(wù),在本地打下了良好的口碑,在過去的十載時間我們累計服務(wù)了上千家以及全國政企客戶,如三輪攪拌車等企業(yè)單位,完善的項目管理流程,嚴格把控項目進度與質(zhì)量監(jiān)控加上過硬的技術(shù)實力獲得客戶的一致夸獎。

轉(zhuǎn)載請注明出處:葡萄城官網(wǎng),葡萄城為開發(fā)者提供專業(yè)的開發(fā)工具、解決方案和服務(wù),賦能開發(fā)者。

Excel是我們辦公中常用的工具 ,它幾乎能為我們處理大部分數(shù)據(jù),友好的交互界面、豐富的公式函數(shù)和易于上手的圖表為我們在數(shù)據(jù)統(tǒng)計方面提供了不小的幫助,但經(jīng)過一段時期運行,就會出現(xiàn)下面的情況:

想實現(xiàn)多人協(xié)作的“在線Excel”?真沒那么簡單

這樣多分枝的混亂狀況就會難以保證文檔的安全性及權(quán)威性。

于是聰明的小伙伴想到了一個解決方案,共享出一份Excel文檔,根據(jù)人員的職級不同,設(shè)置僅可只讀和編輯的權(quán)限,同時根據(jù)為不同人制定不同規(guī)則,例如:張某每天十點編輯,王某每天十一點編輯的方式來解決沖突的問題。這種方式很聰明,從流程上解決了多副本的問題,但不能同時編輯的問題依然沒有被解決,如果一個部門的人足夠多,這樣分時的策略可能需要花一天時間才能完成一份Excel的編輯。

所以多人協(xié)作在線文檔的需求也變得越發(fā)變得強烈,因為在日常工作中,與團隊的其他人進行文檔協(xié)作是一種再常見不過的工作方式。由于工作分工、工作進展的不同,團隊內(nèi)部的信息往往需要及時同步,然而伴隨著團隊經(jīng)營規(guī)模的不斷擴大,在線協(xié)同、多人協(xié)作,以及軟件項目管理等問題將會接踵而至,成為制約企業(yè)高效發(fā)展的瓶頸。

而這些問題,通常表現(xiàn)為:

  1. 跨部門、地區(qū)溝通協(xié)作的不便

  2. 過度依賴文件、文件夾共享的形式,不能確保文檔的安全性

  3. 沒法紀錄和體現(xiàn)職工對文本文檔的意見和評價

  4. 文檔記錄發(fā)生變更時,無法及時通知到相關(guān)部門和員工

  5. 文檔無法在線協(xié)同編輯,缺失必要的流程管控

  6. 多人共同編輯一個文檔,無法留存修改記錄和歷史版本

針對上述問題,現(xiàn)在在市面上,已經(jīng)有了很多這類多人協(xié)作的工具,例如:國外的Google Docs、Office365,及國內(nèi)的騰訊文檔、石墨文檔、有道云協(xié)作等。

因為這篇文章我們的目的是想向大家從企業(yè)IT管理者的角度出發(fā)深入研究協(xié)同辦公系統(tǒng)的形式、基礎(chǔ)和難點等實現(xiàn)原理,所以成品軟件我們在這不做過多贅述。那我們正式開始吧。

多人協(xié)作的形式:歷史與發(fā)展

多人協(xié)作的歷史十分悠久,起源于靜態(tài)的多人協(xié)作模式,即每個人先完成自己的工作,然后再進行匯總。

多人協(xié)作的初期:靜態(tài)協(xié)作
  • 遞增式協(xié)作

    • 郵件:你來我往

    • 論壇:跟帖回復(fù)

  • 獨占式協(xié)作

    • 文檔傳遞

    • 微軟VSS

  • 合并式協(xié)作

    • SVN

    • Git

    • diff,patch,merge指令

想實現(xiàn)多人協(xié)作的“在線Excel”?真沒那么簡單

常見的靜態(tài)多人協(xié)作方式

多人協(xié)作的發(fā)展期:從靜態(tài)到動態(tài)
  • 靜態(tài)協(xié)作的比喻

    • 拼接畫

    • 積木

  • 靜態(tài)協(xié)作的特點

    • 多版本

    • 塊操作

    • 有協(xié)作動作

  • 靜態(tài)協(xié)作的缺點

    • 版本碎片化

    • 缺乏時效性

    • 協(xié)作動作成本高

靜態(tài)多人協(xié)作的成本,會隨著加入人數(shù)和項目的復(fù)雜度呈幾何級數(shù)的增長。因此,對于企業(yè)來說,急需一種無協(xié)作動作、唯一版本、版本可控的無協(xié)作成本模式,即動態(tài)多人協(xié)作模式。

多人協(xié)作的蓬勃期:動態(tài)
  • 動態(tài)協(xié)作的比喻

    • 一起畫黑板

  • 動態(tài)協(xié)作的特點

    • 唯一版本

    • 原子操作

    • 無協(xié)作動作

  • 動態(tài)協(xié)作的優(yōu)點

    • 版本可控

    • 實時

    • 無協(xié)作成本

  • 典型產(chǎn)品

    • Office Online

    • 石墨

    • OnlyOffice

多人協(xié)作的基礎(chǔ):原理與架構(gòu)

任何信息,無論其是什么展現(xiàn)形式,如果要做到多人實時編輯與展現(xiàn),只需要實現(xiàn)以下三步而已:

  1. 操作化

  2. 可傳輸

  3. 可還原

想實現(xiàn)多人協(xié)作的“在線Excel”?真沒那么簡單

舉例說明多人協(xié)作的實現(xiàn)方式

操作化

操作化,指任何信息都可以轉(zhuǎn)換為一組操作的集合。很容易理解,但它仍有不少值得思考的點:

  • 分割與組合

    • 粗一點?

    • 細一點?

    • 如何兼顧解釋性與擴展性?

    • 如何保證:信息的所有變化都可以分解為操作的集合?反之,操作如何覆蓋出信息的所有變化?

    • 分割的顆粒度如何決定?

  • 絕對操作與相對操作

    • 4K電視不是夢

    • 為什么數(shù)字電視穩(wěn)定性不如模擬電視

    • 針孔打印機的完美世界

    • 打印機時代的編輯噩夢

    • 絕對操作

    • 相對操作

  • 絕對操作與相對操作比喻:時間與空間的互換

可傳輸

可傳輸,就是指操作有辦法通過網(wǎng)絡(luò)傳輸給其他終端。實現(xiàn)動態(tài)多人協(xié)作,需要考慮以下幾點:

  • 傳輸內(nèi)容

    • 邏輯壓縮

    • 協(xié)議壓縮

    • 手動壓縮

    • 清晰

    • 冗余

    • 原始文本

    • 壓縮技術(shù)

  • 網(wǎng)絡(luò)協(xié)議

    • TCP

    • UDP

    • Socket

    • HTTP

    • WebSocket

  • QoS(Quality of Service,服務(wù)質(zhì)量)

    • 快速失敗

    • 自動回滾

    • 自動重連

    • 自動恢復(fù)

可還原

可還原,就是指接收到來自網(wǎng)絡(luò)的操作消息后,可以在本地完全一致地再次執(zhí)行該操作??蛇€原包括了:

  1. 絕對操作的還原

  • 控制體積

  • 合理的提示

相對操作的還原

  • 嚴格的順序性

  • 從源頭保障順序性

  • 順序性的補救

本地操作的還原

  • 過濾收到的操作集合

  • 從源頭細化操作顆粒

  • 本地保存本地執(zhí)行

無***的還原

  • 定義***

  • 排除***

  • 千人千面

多人協(xié)作的難點:亂序與沖突

亂序

亂序的表現(xiàn)形式如下圖,小明在客戶端執(zhí)行了一系列操作,傳遞到服務(wù)器時發(fā)生亂序,導(dǎo)致小花看到了截然不同的信息:

想實現(xiàn)多人協(xié)作的“在線Excel”?真沒那么簡單

為了解決亂序問題,可以嘗試以下方法:

1. 用性能換取順序正確——基于協(xié)議

想實現(xiàn)多人協(xié)作的“在線Excel”?真沒那么簡單

2.?用性能換取順序正確——基于回執(zhí)

想實現(xiàn)多人協(xié)作的“在線Excel”?真沒那么簡單

兩種方法的優(yōu)缺點
  1. 基于協(xié)議

  • 優(yōu)點

    • 可靠,歷經(jīng)考驗

    • 簡單,無需開發(fā)

  • 缺點

    • 資源開銷高

    • 必須整套使用

  • 優(yōu)點

    • 自主可控,按需開發(fā)

    • 資源開銷可控

  • 缺點

    • 需要自己投入開發(fā)

    • 應(yīng)用層邏輯控制使得網(wǎng)絡(luò)復(fù)雜度向外蔓延

    • 復(fù)雜度帶來維護成本

  1. 基于回執(zhí)

基于亂序處理方法的總結(jié)

網(wǎng)絡(luò)不是絕對可靠的,為了實現(xiàn)相對可靠,需要付出一定的代價,企業(yè)需要考慮的是:如何衡量所付出的代價與產(chǎn)出成正比。

沖突

比亂序更高級的一種表現(xiàn)形式,存在多向、多維度等問題。

想實現(xiàn)多人協(xié)作的“在線Excel”?真沒那么簡單

如何避免錯誤的蔓延?

原則:任何一次不一致,都會導(dǎo)致后續(xù)的操作基于錯誤的信息進行,從而不斷擴大錯誤,造成無法收拾的結(jié)果。因此,不一致是不能被容忍的。

解決辦法:

  1. 嚴格一致性:獨占

  2. 最終一致性:檢查與修復(fù)

  3. 非技術(shù)手段:設(shè)計與提示

嚴格的一致性

獨占就是同一時間同一范圍只能由一人操作。

  1. 范圍

    1. 整個表格,類似VSS

    2. 工作表

    3. 單元格范圍

  2. 排他性

    1. 獨占沖突時,必有一方被彈開

    2. 直到占有者解開,不然無法占用

    3. 占用前無法操作

    4. 原理和鎖基本一致

  3. 優(yōu)點

    1. 可以確保嚴格一致性,不會產(chǎn)生多版本的錯誤累積

    2. 比起修復(fù)恢復(fù)這類彌補手段,一開始就不出錯的成本最低

    3. 邏輯清楚簡單,開發(fā)維護成本低

  4. 缺點

    1. 靜態(tài)協(xié)作的味道

    2. 獨占動作嚴重影響體驗

    3. 大幅降低協(xié)作效率

  5. 需對表格實現(xiàn)的 功能

    1. 鎖定工作表

    2. 鎖定單元格

最終一致性

基于唯一正確順序,察覺客戶端的錯誤,撤銷錯誤操作后重新執(zhí)行正確的操作。

  1. 唯一正確

    1. 服務(wù)器到達順序

    2. 協(xié)作邊界分流

    3. P2P+選舉算法

  2. 察覺錯誤

    1. 服務(wù)器回執(zhí)id

    2. 服務(wù)器回執(zhí)操作,MS

  3. 撤銷錯誤

    1. 撤銷到錯誤發(fā)生前的一步操作的結(jié)果

    2. 保存副本實現(xiàn)撤銷功能

    3. 利用操作版本快照

  4. 重新執(zhí)行

    1. 操作隊列需保存

    2. 區(qū)分好無感知執(zhí)行與顯式執(zhí)行

?
針對多人協(xié)作難點的總結(jié)

如何實現(xiàn)Excel相關(guān)功能是需要開發(fā)人員需要花時間去研究的,另外為了滿足需求,適配多設(shè)備和平臺的兼容性也非常重要。

另外,多人協(xié)作表格的本質(zhì)還具有如下本質(zhì)和特點:

  • Server – Clients 中心系統(tǒng),類似數(shù)值敏感的小型網(wǎng)游

  • 任何這類系統(tǒng)都是在體驗和正確性中尋求平衡

  • 表格的數(shù)值敏感性高于網(wǎng)游,數(shù)據(jù)操作和存儲的挑戰(zhàn)更大

  • 表格的計算復(fù)雜度更高,尤其涉及復(fù)雜公式嵌套與全量統(tǒng)計篩選

  • Web存在天花板,所以復(fù)雜的頁游并不多見,端游較多

最后,假如您想了解更多如何實現(xiàn)多人協(xié)作平臺相關(guān)的內(nèi)容,歡迎參加2019年12月18日(周三) 14點由上海佳軟CTO帶來的一場線上直播:https://live.vhall.com/483759540,相信屆時我們都會受益良多的。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)站名稱:想實現(xiàn)多人協(xié)作的“在線Excel”?真沒那么簡單-創(chuàng)新互聯(lián)
本文URL:http://muchs.cn/article36/eghsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、手機網(wǎng)站建設(shè)App設(shè)計、用戶體驗、服務(wù)器托管微信公眾號

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)