彩票走势图

SpreadJS实现多人协作“在线excel”系统的优势(二):多人协作的基础

转帖|使用教程|编辑:莫成敏|2020-03-05 10:48:47.820|阅读 534 次

概述:本教程深入协同办公系统的实现原理,从企业IT管理者的角度出发,深入研究多人协作的形式、基础和难点,分析一款开发工具应具备怎样的特点,才是实现多人协作“在线excel”系统的关键。本文主要介绍该教程的第二部分内容——多人协作的基础:原理与架构。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

纯前端表格控件SpreadJS,可满足 .NET、Java、App 等应用程序中的 Web Excel 组件开发、数据填报、在线文档、图表公式联动、类 Excel UI 设计等业务场景,并在数据可视化、Excel 导入导出、公式引用、数据绑定、框架集成中无需大量代码开发和测试,极大降低了企业研发成本和项目交付风险。

点击下载SpreadJS正式版

本教程深入协同办公系统的实现原理,从企业IT管理者的角度出发,深入研究多人协作的形式、基础和难点,分析一款开发工具应具备怎样的特点,才是实现多人协作“在线excel”系统的关键。本文主要介绍该教程的第二部分内容——多人协作的基础:原理与架构。

本教程分为以下几个部分:

  • 多人协作的形式:历史与发展
  • 多人协作的基础:原理与架构(本文内容)
  • 多人协作的难点:乱序与冲突
  • SpreadJS作为实现多人协作“在线excel”系统的巨大优势是什么?
  • 对SpreadJS这类开发工具/组件的展望与期待


多人协作的基础:原理与架构

任何信息,无论其是什么展现形式,如果要做到多人实时编辑与展现,只需要实现以下三步而已:

1、操作化

2、可传输

3、可还原

SpreadJS实现多人协作“在线excel”系统的优势(二):多人协作的基础

举例说明多人协作的实现方式

操作化

操作化,指任何信息都可以转换为一组操作的集合。很容易理解,但它仍有不少值得思考的点:

1、分割与组合

  • 如何保证:信息的所有变化都可以分解为操作的集合?反之,操作如何覆盖出信息的所有变化?
  • 分割的颗粒度如何决定:粗一点?细一点?如何兼顾解释性与扩展性?

2、绝对操作与相对操作

  • 绝对操作:针孔打印机的完美世界;打印机时代的编辑噩梦
  • 相对操作:4K电视不是梦;为什么数字电视稳定性不如模拟电视
  • 绝对操作与相对操作比喻:时间与空间的互换

3、使用一款开发工具:SpreadJS,实现操作化的优势:

  • 好用的指令集,保证覆盖信息的全部变化与操作的集合
  • 经过实践验证的颗粒度,完美兼顾解释性与扩展性平衡

可传输

可传输,就是指操作有办法通过网络传输给其他终端。实现动态多人协作,需要考虑以下几点:

1、传输内容
  • 原始文本:清晰;冗余
  • 压缩技术:逻辑压缩;协议压缩;手动压缩

2、网络协议

  • Socket:TCP;UDP
  • HTTP
  • WebSocket

3、QoS(Quality of Service,服务质量)

  • 快速失败
  • 自动回滚
  • 自动重连
  • 自动恢复

可还原

可还原,就是指接收到来自网络的操作消息后,可以在本地完全一致地再次执行该操作。可还原包括了:

1、绝对操作的还原

  • 控制体积
  • 合理的提示

2、相对操作的还原

  • 严格的顺序性
  • 从源头保障顺序性
  • 顺序性的补救

3、本地操作的还原

  • 过滤收到的操作集合
  • 从源头细化操作颗粒
  • 本地保存本地执行

4、无入侵的还原

  • 定义入侵
  • 排除入侵
  • 千人千面

本教程内容较多,后续将继续更新,感兴趣的朋友继续关注我们慧都网哦~您可以下载SpreadJS试用版免费体验~

相关内容推荐:

SpreadJS实现多人协作“在线excel”系统的优势(一):多人协作的形式


想要购买SpreadJ正版授权,或了解更多产品信息请点击


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP