写点什么

对话钉闪会操盘者:怎么做好 5 亿用户都能用的协同办公产品

  • 2022 年 6 月 17 日
  • 本文字数:6598 字

    阅读完需:约 22 分钟

对话钉闪会操盘者:怎么做好5亿用户都能用的协同办公产品

疫情的催化下,协同办公大热。UserTracker 数据显示,效率办公类软件在 2020 年的总独立设备数比 2019 年增长 200% 以上。仅从视频会议市场来看,IDC 预测其市场规模在 2024 年将超过 100 亿元,云会议市场占比将近 40%。另外,身处数字化转型浪潮中,企业、政府部门的业务和服务数字化程度在逐步加深,这也间接扩充了协同办公市场的用户池。

 

6 月 13 日,钉钉副总裁、协同产品负责人傅徐军受邀InfoQ《极客有约》直播访谈,结合钉钉协同产品研发实践和背后产品设计,深入解读在一款 5 亿用户的 ToB 产品如何在千万人同时在线时应对技术难题,以及这款过去有着强管理心智的 APP 是怎么做出一系列老板、员工都愿意用的 Office 产品。


钉钉协同办公产品的设计原则

 

InfoQ:首先请您做一下自我介绍,您在钉钉主要负责哪些工作?


傅徐军:大家好,我是傅徐军,目前主要负责钉钉协同办公团队的产品和研发,包括钉钉文档、知识库、钉闪会、阿里邮箱、Teambition、日历,云盘等产品。

 

InfoQ:钉钉的产品过去是有管理心智的,如何在这样的心智下把类似 Office 的侧重员工协同的产品做好?


傅徐军:坦白说,我在去年刚开始负责协同办公产品的时候,也有一点儿头疼。的确,钉钉在创业早期的时候会重点考虑管理者、执行力诉求等,所以一些功能给大家留下这些印象。

 

但在外部环境快速变化,行业竞争愈加激烈的今天,我们应该更好帮助企业打造长期的竞争力,而不是短期的执行力。 一个不断进步的组织,既有自上而下的管理,也需要激发每一位员工的创造力,兼顾个人创造和组织管理的共生,这是钉钉在新的发展周期里,产品思想上的变化

 

协同办公简单来讲其实就是两件事情:协作和创作。创作生产知识和信息,信息在个人、团队和组织中流转从而产生协作,协同办公的目标就是不断的优化协作与创作两者之间的关系,提升信息生产和流转的效率

 

围绕这个目标,我们在产品设计制定了几个原则:

 

第一,简单即效率。 今年是钉钉的第 8 个年头,功能越来越多,产品也变得越来越复杂,我们希望能够做“减法”,让钉钉逐步回归简单

其次,知识即生产力。 我们希望通过工具创新,让知识的生产、流动、沉淀和传承更快速高效,让企业成为一个可以不断自学习、自适应的组织,在这个快速变化的市场中更具有韧性和竞争力

第三,时间即成本。 提供高效的一站式的产品体验,尊重每个人的时间。

 

怎么做好 5 亿用户都能用的协同办公产品

InfoQ:钉钉用户已经超过 5 亿了,企业用户和组织也超过了 2100 万,如何做好大规模的实时数据的协同和保存?


傅徐军:工作场景有大量的沟通和协同需求,譬如群聊、音视频、文档等,这些协同带来的数据同步事件体量是非常大的,每天同步的事件超过千亿,峰值 TPS 超过千万。

 

我们以聊天消息同步的场景为例,为了保障体验,上层业务对数据同步的可用性(99.995%,全年不可用时长不超过 23 分钟)、实时性(端到端 1 秒内)、可靠性(数据可靠性达到 6 个 9)和多端一致性(iOS、Android、Win、Mac 四端一致)提出了非常高的要求。

 

基于上面的需求,钉钉实现了一个统一的数据同步服务(SyncService),实现了一个适配移动场景下跨端多人的端到端的高效的数据同步协议(推送优先,推拉结合),为不同的业务场景提供统一的底层支撑。数据同步服务的底层存储是一个在阿里云 TableStore 基础上进行了高度定制的 NoSQL 存储引擎,基于同步服务的特定场景,实现了“Timeline 模型”、“冷热分层存储”、“KV 分离”等多项改造,极大的提升系统的吞吐能力,并大的降低系统的存储成本

 

InfoQ:协同办公在什么时候可能出现一个高并发的情况,钉钉如何解决?


傅徐军:近几年疫情等原因导致钉钉经常遇到突发高并发流量的挑战。尤其是疫情刚来的时候,流量几十倍、上百倍增加,对系统的可用性挑战非常大,所以我们也积累了很多这方面的经验,可以从下面几个方面来看:

 

第一 系统扩展性和弹性能力,它可以从下面两个方面来保障。

 

应用 降级的水平扩展性:钉钉的核心系统从应用到存储均构建在云原生技术之上,通过“不可变基础设施”、“应用无状态化”等实践,极大的提升了系统的水平可扩展性,具备 5 分钟扩容 1 万容器的能力

 

2. 多地域全球化部署:我们的核心服务也做了多地域全球化部署,具有全球异地容灾能力

 

第二 坚持面向失败设计的原则。钉钉是个 5 亿用户的 ToB 产品,一个问题的影响范围即便是万分之一,也会有五六百万企业用户触发,所以钉钉的工程师有个文化,就是写代码的时候要做到“面向失败设计”。所有的核心功能上线都有开关机制,发生线上问题的时候就可以把有问题功能立刻关掉,有效的减少局部故障的影响半径。

 

同时建立了完善的限流与降级措施。对于核心服务,我们有完善的限流措施和服务降级预案,当瞬时流量洪峰突然超出预期,就会触发限流和预案,我们能很好的保护核心服务不受影响。

 

上面这些预案会经过充分的测试,演练,也是产品代码的一部分。同时,钉钉也会经常搞一些突发性演练,把应急响应机制做到极致

 

第三:建设全面清晰的监控和排查能力,为系统的操控提供清晰、强大的仪表盘和诊断器。同时我们也是高度自动化的, 很多线上的用户问题,可以自动化识别、自动化分析问题,甚至可以线上自动化解决用户问题

 

InfoQ:多人实时编辑可能会导致数据冲突,钉钉是怎么做的呢?



傅徐军:今年春节前夕杭州疫情爆发时,阿里巴巴员工发起的返乡互助表,最多的时候有 1572 人在同一份表格中协作填写,实时共享自己家乡的返乡政策,帮助同乡回家过年。其中关键技术就是如何处理多人编辑时的数据冲突问题

 

解决数据冲突导致时延,最关键有 2 个要素:

 

协同调度算法,即什么时候处理冲突,在哪里处理冲突,如何处理冲突。学术界有一些解决方案,比如 COT, GOT 等协同算法,但是之前工业界一直没有特别好的工程实现,钉钉文档研发团队基于相关领域的一些理论模型,打磨了一套适合自己的协同调度算法。我们从前端解决冲突演进到服务解决冲突,在网络正常情况下,解决冲突一般都不会发生延迟

 

冲突解决的效率:也就是当发生冲突时候,冲突解决算法(OT 算法)的执行效率,我们经过非常多的尝试,对算法本身进行了非常多的优化,同时也采用更加底层的语言 rust 来实现 OT 算法,一方面算法既可以运行在服务端也可以运行在前端, 另一方面也保障了算法在的高并发情况下的执行效率。

 

InfoQ:您在之前的分享中提到:“钉钉文档的区块化技术,已经实现了块引用的同步能力,做到一次修改,多文更新。”这里的区块化技术是什么?主要解决什么问题?


傅徐军:一篇文档往往由很多的信息、观点、数据组成。当多篇文档共用这些知识碎片的时候,维护他们的一致性往往比较困难。有时候仅是修改一个字、一个符号,也都要逐篇依次修改,非常不方便。那么对于这些知识碎片,有没有更加高效的整理和应用方式?


00:00 / 00:00
    1.0x
    • 2.0x
    • 1.5x
    • 1.25x
    • 1.0x
    • 0.5x
    网页全屏
    全屏
    00:00


    钉钉文档正在内测的区块化技术,实现了块引用的同步能力,我们称它为“引用块”。仅需要一次轻巧的拷贝动作,便可以实现多篇文档内的引用同步,做到一次修改,多文更新。

    同时我们提倡知识的创作要尊重原创,每一个被引用的知识碎片,都应该能够被溯源。在引用块中,一键溯源到原文档,进一步了解知识源头的上下文,形成知识的点、线、面全方位连接。

     

    钉钉文档的区块化技术本质,就是在一个文档内部创建了多个区块,每个区块相当于一个子文档,这些子文档具备文档的基本属性,可以粘贴到其他文档,创造出多个子文档镜像,同时可以进行协同编辑。

     

    InfoQ:有文档厂商发生了内部人员可以看到用户编辑内容的情况。为什么会有这种事情发生?钉钉怎么规避这种情况?


    傅徐军:其它文档厂商不太适合评述,我可以介绍一下钉钉文档是怎么保护客户数据安全的。

     

    首先钉钉是一个企业级产品,无论是聊天消息,还是文档数据都是客户资产,数据安全是一件非常严肃和敏感的问题。

     

    钉钉对于文档数据安全是非常重视,我们从权限、流程、数据加密三个方面来保证用户数据的安全。

     

    第一,钉钉文档有一个非常完善的权限体系,产研工程师都没有高于用户的权限;

    第二,即使在排查复杂的线上问题的时候,要经过用户主动申请、授权,并取得内部审批后,开发工程师才可以以查看脱敏后的信息。

    第三,钉钉文档的数据都是存储加密的,即使是开发工程师也无法直接访问文档内容。

    在文档之外,钉钉有一套整体安全体系,也公开了钉钉的安全白皮书,从安全相关的合规、文化、防护、产品、数据、隐私、生态等八个方面去防护安全。

     

    深入办公场景

     

    InfoQ:最近一年,钉钉的很多产品给大家的感觉不太一样,比如文档,比如钉闪会。钉闪会的研发灵感来自哪里?


    傅徐军:我自己是会议的重度参与者,每天不得不开很多会,发现其实很多会议效率不高,自己也深受其苦。同时我访谈了一些客户和阿里巴巴的同学,发现大家有一些共性的感受。 例如说会议没有计划、没有材料,没有决策,待办无法有效执行,或者开会过程中听众划水走神,分享者超时拖沓等等,这些都是会议效率不高的一些表现。 

     

    两年多前,阿里多个技术团队尝试每周安排一个“无会议日”,表达的大家不想开会或者不想开低效会议的心情,当然这种方式也是有利有弊,过于简单粗暴。

     

    实际上,我们可以根据会议类型区别对待,来看哪些会可以少开。例如说信息传达和同步的会议,无论是自上而下的传达还是自下而上的汇报,是不是可以有文档或者邮件的方式来替代,比如说进度管理的会,如果进展顺利,风险可控也可以不开会。

     

    另外,还有一个观点,就是“控制开会的冲动要从上司做起”,或者说“不要为了自我满足而开会”。在今天,组织架构变得日益扁平,信息的承载方式也非常丰富,完全没有必要为了彰显权威而发起一场会议

     

    国内外很多公司的从来没有停止过高效会议相关的实践。例如:亚马逊提出的“两个披萨”原则,参会人不超过吃掉两个披萨的人数,避免不必要的人参会;6 页纸文档会议,提倡使用文档而不是 PPT 来结构化的陈述信息,把时间专注在逻辑和数据而不是形式上;会议从默读开始,通过 15~30 分钟的会议材料默读,保障参会人独立思考,减少会中不必要的打断提问。

     

    Google 也建议每一个会议需要有一个计时器,给参会人一些紧迫感,提醒大家尊重每一个人的时间。

     

    所以我们一直在想怎么把这些理念工具化,让人们在使用的时候就自然而然跟随这些最佳实践,所以就有了钉闪会这个产品。当然现在还有很多需要打磨的地方,我们也在阿里内部和外部客户做共创和优化迭代

     

    InfoQ:钉钉自己内部是什么时候开始使用钉闪会的?前后开会有什么变化吗?


    傅徐军:自己的狗粮自己先吃,我们从第一天就开始自己使用了。

    第一个使用的感受,大家不用 PPT 了,在钉钉基本上 99%都是用钉钉文档;

    第二个,通过默读和评论,我们在会中被打断的情况变的很少;

    第三:使用了计时器之后,预期外拖堂几乎没有了 ;

    第四个是会议结论更明确了;

    第五个:通过把闪会待办跟项目(TeamBition)打通,次月待办完成率达到 95%,做到了事事有回音;

    最后一个:会确实变少了,一些会在填写会议材料的过程中就想明白了,可能没必要或者还没准备好

     

    InfoQ:在今年的发布会上,钉钉还推出了钉闪会硬件,为什么会推硬件产品?


    傅徐军:钉闪会有一个配套的工具叫闪记,用来做会议的云录制,做到音画字完全同步,同时支持 9 国语言翻译。


    00:00 / 00:00
      1.0x
      • 2.0x
      • 1.5x
      • 1.25x
      • 1.0x
      • 0.5x
      网页全屏
      全屏
      00:00


      它在线下会议会遇到一个挑战——拾音,所以我们跟 Jabra 合作,在麦克风上可以一键启动闪记的录制,麦克风也提供了一个更好的拾音和放音的功能。后续也会持续接入一些硬件产品。

       

      钉钉今天的整体战略就是要做好开放,和生态合作伙伴一起优势互补,更好的服务客户

       

      InfoQ:目前钉钉的协同办公产品,比如钉钉文档和钉钉项目,它们与市场上的同类产品相比的优势在哪里?还有哪些改进的地方?


      傅徐军:钉钉文档是阿里巴巴自主研发的企业协同办公套件,产品定位是企业知识创作和知识管理平台,包含「3+1」体系,即文档、表格、脑图+知识库。与市场同类在线文档产品相比,钉钉文档起步最晚,但也有自己优势和特点。

       

      第一,强化知识沉淀与管理。企业的信息和知识,以不同的形式离散地存在于各个工作场景中。例如群聊天,将本地的 Word、Excel、PPT 文件发送到聊天窗口中;例如日志,我们会到日志系统中去阅读日报、周报;例如跟进一个项目、开一场会议的资料.……

       

      它们共同存在一个问题,这些文件所承载的价值,会随着时间和信息的暴涨,被散落在场景里,得不到很好的使用。

       

      如何通过便捷的方式,一站式存储,高效地组织和整理,成为我们当下要面临的首要问题。

       

      钉钉知识库近期的功能升级和体验的优化,很好地解决了这个问题。无论是本地上传的文件,还是我们创建的在线文档、日志、会议纪要等,都能通过一键转存到知识库中。

       

      • 在文档沉淀和管理上,钉钉文档既可以以文件夹的方式将这些离散的文件,有序地组织起来,形成知识的目录树。

       

      • 也可以将文档以链接的形式插入另外一篇文档,使得这两篇文档建立起双向关联的引用关系。这就是双向链接,它打破了树形分类的约束,以一种自由、拓扑的网状连接方式展示文档之间的关系。


      00:00 / 00:00
        1.0x
        • 2.0x
        • 1.5x
        • 1.25x
        • 1.0x
        • 0.5x
        网页全屏
        全屏
        00:00


        • 随着文档的沉淀越来越多,文档与文档之间的连接关系也会不断增长,最终形成一张不断生长的文档关系图谱。只要从一篇文档作为起点,便可以在知识的海洋里漫游。

         

        • 还可以通过“引用块”的技术(目前仍在内测中),对文档碎片进行高效使用,大大提高的效率。

         

        第二,插入一切的开放和连接能力。钉钉内容创作从“/”开始,这也是钉钉文档的一个口碑功能。在钉钉文档中,输入”/“可以插入了包括封面图、脑图、高亮色块、艺术卡片、日程、地图、三方内容、路线图、待办等 50 多种非常丰富的内容

         

        “/” 还具备企业应用连接能力,阿里员工只需通过输入“/” ,便可快速连接到公司内部的企业级应用,插入 OKR 卡片,项目管理卡片,数据系统卡片等,并实现数据的双向同步。未来我们会持续内容加强开放和链接能力。

         

        第三,智能技术。钉钉文档与阿里巴巴达摩院在智能创作领域也有非常深入的合作,推出了语音速记,并会持续推出智能翻译、智能纠错、OCR 识别等更加智能、轻盈的创作工具。

         

        协同产品未来

        InfoQ:在您看来,协同办公行业需要创新吗?具体如何做好创新?


        傅徐军:这是肯定的,不只是协同办公,每一个行业都需要持续创新来更好服务客户,打长期竞争力。有几个原则可以参考:

         

        第一,贴近客户,了解客户的痛点和难点,不是为了创新而创新。

        第二,保持对技术变革的敏感度

        第三,把基础体验和产品顶层设计做好。

        另外,在团队中鼓励自下而上创新,鼓励小而美的产品创新

         

        InfoQ:协同办公产品是如何与企业数字化转型联系的?协同办公在其中扮演什么样的角色?


        傅徐军:协同办公在企业数字化进程中非常重要,随着协同办公产品的能力、开放和互通建设的逐步完善,中国企业也必定会实现全行业数字化转型的再次加速。

         

        第一,是企业数字化转型的内驱力。企业员工通过日常高频使用各类协同办公工具产品,不仅提升了工作效率,也强化了使用数字化手段解决业务问题的心智和意识,从而从心底拥抱企业数字化转型,并接受越来越多的数字化信息系统和工具产品。

         

        微软的 Office 套件在过去 20 多年内,也是从 Word、Excel、PowerPoint、Outlook 几个核心产品等逐步发展到今天功能完整的全家桶系列。

         

        第二,是企业内数字化能力的连接器。 一套优秀的、具备开放、集成和被集成能力的协同办公产品,可将企业内各类业务信息系统有效地联系在一起,让管理者、员工在一套完整的操作闭环内实现业务动作,即使其背后涉及的应用服务和数据并非出自同一款协同产品。

         

        Slack 就是一个典型例子,其通过提供集成能力赋能企业将其需要的产品及功能一站式整合,钉钉在应用集成和开放连接上借鉴了这个模式。

         

        第三,是企业间数字化连接的纽带 。当企业间同时都使用同一套协同办公产品的时候,不同企业员工间的业务协作、内容分享也将变得更加顺滑和安全。

         

        以钉钉为例,由于协同办公产品对内容的组织归属可以识别,并支持“上下级组织”、“上下游组织”这样的企业间授信机制,不同企业员工间不仅可以 IM 会话内自由互通消息,也可以轻松转发文件、文档,并遵循企业的安全管控,实现高效业务协作。

         

        InfoQ:协同办公未来还会有什么新的点,让钉钉发展的更好?


        傅徐军:首先,知识管理、开会、项目管理是目前企业协作复杂度最高,信息效率提升空间最大的三个场景,我们会持续的坚决的投入。

         

        同时,也会持续关注一些新的技术上的进展,例如 AI 技术、虚拟现实、软硬一体,积极探索产品上的结合。

         

        另外是开放,打造开放生态,和生态合作伙伴共同成长,给客户提供全面的贴身的服务。

        2022 年 6 月 17 日 12:301613

        评论 1 条评论

        发布
        用户头像
        云盘设计的,有的可以分享链接,有的没有,
        连个反馈入口也没找到
        2022 年 06 月 22 日 07:56
        回复
        没有更多了
        发现更多内容

        HTTPS详解,谈谈我认为的高级Android开发到底应该是怎样的

        android 程序员 移动开发

        FrameWork内核解析之PackageMS启动(一)下篇,android开发电子书

        android 程序员 移动开发

        如何实现高效运维?来谈谈性能优化那些事(含直播回顾 Q&A)

        墨天轮

        oracle 性能优化

        GitHub标星3,Android面试

        android 程序员 移动开发

        Hook 技术初探,【2021Android最新学习路线

        android 程序员 移动开发

        Framework学习(七)AMS家族,kotlin开发思维

        android 程序员 移动开发

        Framework掌握不熟?字节跳动大牛带你系统化学习,小白以及计算机类学生的福音

        android 程序员 移动开发

        Kubernetes + 焱融 SaaS 数据服务平台,个性化需求支持就没输过

        焱融科技

        云计算 分布式 高性能 公有云 文件存储

        Gradle多维度使用,h5开发移动端

        android 程序员 移动开发

        Framework学习(十一)WindowManager体系,学习指南

        android 程序员 移动开发

        Handler源码分析之二 异步消息的处理,2021金三银四面试季

        android 程序员 移动开发

        IOC架构设计之Dagger2架构设计(三),进阶加薪全靠它

        android 程序员 移动开发

        Gson 解析 Json 容错才是关键,举几个常用的实例!,android开发视频百度网盘

        android 程序员 移动开发

        Framework学习(十)Content Provider启动过程,android快速开发

        android 程序员 移动开发

        移动端1px解决方案

        CRMEB

        恒源云(GPUSHARE)_云GPU服务器如何使用Tmux?

        恒源云

        深度学习

        Glide源码学习五:回调与监听,Android快速转战Kotlin教程

        android 程序员 移动开发

        GitHub 上优质项目整理,推荐一个GitHub项目

        android 程序员 移动开发

        🍃【Spring专题】「实战系列」重新回顾一下Spring框架的异步执行调用的原理和实战

        洛神の殇

        spring 异步编程 异步调度 11月日更

        GDP大跳水,“溢价阶层,kotlinandroid开发教程

        android 程序员 移动开发

        GitHub标星3(1),腾讯Android开发面试记录

        android 程序员 移动开发

        Groovy脚本基础全攻略,重磅

        android 程序员 移动开发

        GitHub标星3-5K+【Android校招面试指南,flutter中文本框的长度

        android 程序员 移动开发

        GitHub标星9K的Google官方MVP+Rxjava项目详解,靠这份资料我从6K变成了40K

        android 程序员 移动开发

        IOC架构设计之控制反转和依赖注入(一),2021大厂Android面试经验

        android 程序员 移动开发

        HashMap 源码解析二、put 相关函数,android原生开发教程

        android 程序员 移动开发

        万字解读鸿蒙轻内核物理内存模块

        华为云开发者联盟

        鸿蒙 内存 虚拟内存 物料内存 内存页

        Fresco实践总结,阿里P7大牛亲自教你

        android 程序员 移动开发

        Gbox开源:比RN和WebView更轻的高性能动态化业务容器,解决首页动态化的痛点

        android 程序员 移动开发

        Git各指令的本质,真是通俗易懂啊,h5移动端开发进行定位

        android 程序员 移动开发

        Google禁止Android-11-自定义-Toast-了?,android开发实战数据

        android 程序员 移动开发

        对话钉闪会操盘者:怎么做好5亿用户都能用的协同办公产品_产品_褚杏娟_InfoQ精选文章