对于企业级即时通讯软件来说,组织架构是否支持实时刷新,将是影响用户体验的关键要素;如果即时通讯软件连组织架构都不能实时刷新和加载,对于用户来说,联系人的信息都看不到,如何沟通?如何能提高沟通效率,减少沟通成本呢?

在组织架构实时刷新的实现上,可能有的人觉得“不就是从服务器上下载组织架构吗?完整下载就行了”;实际上并不是如此,对于小型企业来说,组织架构较小,这种方式可能满足使用需求,不影响客户端使用;但是对于大型企业来说,组织架构庞大,这种组织架构同步机制弊端就暴露无遗了,如下:

在网络波动情况下,大组织架构刷新缓慢问题。服务器组织架构更新,客户端更新显示慢,影响使用。最重要的一点,对服务器的压力很大。试想一下,在移动网络质量不稳定的情况下,下载组织架构数据需要花费相当长的时间,若此时在客户端查看组织架构将显示为空白,那么,客户端收到新消息就无法显示发送者信息;

此外,服务器组织架构维护变更,客户端还需要等到下一个更新周期,才能显示最新数据,如果是几千或上万人的组织架构,客户端同时向服务器获取组织架构,此时服务器的负载将是巨大的。

技术方案

那么,为了解决上述问题,在组织架构更新机制上是怎样考虑的呢?

即时通讯采用了按需拉取+完整下载组织架构两种方式相结合,并且服务器组织架构服务已将组织架构数据缓存在内存中,客户端可以快速从服务器获取子部门和用户列表 。

即时通讯客户端首次登录,切换到了组织架构界面,本地组织架构为空,立即向服务器按需拉取一级部门列表并显示,底层启动异步线程下载完整组织架构。

用户展开某个部门时,此时完整组织架构未下载完成,立即通过按需拉取到服务器获取该部门的子节点(子部门和用户),并显示出来。

完整组织架构未下载完成时,接收到其他客户端发送过来的新消息时,立即到服务器上请求人员信息并显示。

完整组织架构下载到本地,后续用户切换到组织架构界面时,一级部门从本地获取并显示出来,同时底层异步向服务器检查当前部门是否发生变化,如有变化,从服务器获拉取新数据,更新到界面。即时通讯开发

上述技术方案,利用按需拉取,无需等待全部组织架构下载完成,可立即查看当前节点的部门组织信息,减少等待时间。而下载完整组织架构,可以弥补网络中断时,也能浏览组织架构,从多个维度保证用户又快又全的浏览组织架构。

实现方式

本地不存在完整组织架构时的更新机制

用户首次登录成功后,点击界面组织架构面板,此时界面向底层获取一级部门列表,底层检查本地数据库组织架构没有数据,调用服务器接口获取一级部门列表,服务器返回后显示到界面。

用户展开某个一级部门,流程跟上述一样,界面向底层获取该部门的子部门和用户,底层检查本地数据库该一级部门没有子部门和用户,调用服务器接口获取该部门的子部门和用户,服务器返回后显示到界面。

界面下拉获取部门的子部门和用户时,底层都将执行相同流程,检查到数据库没有该部门的子部门和用户时会向服务器获,然后返回给界面。

此外每天用户第一次上线,底层都会启动独立线程去更新完整组织架构,由于有以上机制保障,更新时间长短不影响用户正常使用。

本地已经存在完整组织架构时的更新机制

用户点击界面组织架构面板,此时界面向底层获取一级部门列表,底层检查本地数据库组织架构不为空,直接从数据库获取一级部门列表返回给界面显示,因此用户即使在断网情况下也可以正常浏览组织架构。

在有网情况下,底层将本地数据抛回给界面后,还异步向服务器检查更新此部门节点数据,如果服务器组织架构已更新,底层将最新数据再次抛给界面,界面更新最新数据,如此一来,服务器任何时候修改组织架构,在有网的情况下,客户端都可以马上更新。

即时通讯软件做到大组织架构秒更新的技术相关推荐

  1. 如何把即时通讯软件做大做强?

    原文:如何把即时通讯软件做大做强? 我们的目的是做最好的即时通讯软件,有这么一个故事,我在农村有块地,旁边通了一条马路,我就想把地建成楼,自用也可,出租也可.现在电梯是标配了,隔壁一户人家也打算建,别 ...

  2. 产品采用的即时通讯软件是本地云架构

    摘要:即时通讯软件 2012年07月31日奉献表现你的爱的最好方式,1外部链接性,冗余处理等方面技术,稳定;在互通性这方面,百会云邮箱在国外也有部署,每个人都有自己的自尊,可以保证邮箱安全,3无连接性 ...

  3. html5控件结构图,OrgChart组织架构图控件

    插件描述:jQuery OrgChart 是一个用来绘制组织结构图的 jQuery 插件. 可以自己定加载自己想要的组织架构,通过json的形式 该插件为画组织架构图插件,通过OrgChart API ...

  4. 小米组织架构调整:成立技术委员会 强化技术引领

    新浪科技讯 2月26日晚间消息,小米集团组织部今日下发正式文件,宣布了最新一轮组织架构调整,任命了崔宝秋为集团副总裁,集团技术委员会主席,并且在核心管理岗位上共任命了14名总经理.副总经理,这也是继去 ...

  5. 大数据架构师——数据湖技术(二)

    文章目录 数据湖技术 数据湖技术之Iceberg Spark 与 Iceberg 整合 1. Spark3.2.1 与 Iceberg0.13.2整合 添加依赖 Spark 设置 Catalog 配置 ...

  6. 【大数据架构】-- 开源框架技术汇总

    1.系统平台 Hadoop.CDH.HDP.BigTop 2.监控管理 CM.Hue.Ambari.Dr.Elephant.Ganglia.Zabbix.Eagle 3.文件系统 HDFS.GPFS. ...

  7. 「镁客早报」英特尔与紫光展锐分道扬镳;小米组织架构大调整

    按照原计划,英特尔与紫光展锐将合作开发搭载英特尔5G调制解调器的全新5G智能手机平台,并与2019年推向市场. 1.英特尔与紫光展锐分道扬镳,结束5G Modem芯片合作 外媒援引知情人士的消息称,英 ...

  8. 「镁客早报」英特尔与紫光展锐分道扬镳;小米组织架构大调整...

    按照原计划,英特尔与紫光展锐将合作开发搭载英特尔5G调制解调器的全新5G智能手机平台,并与2019年推向市场. 1.英特尔与紫光展锐分道扬镳,结束5G Modem芯片合作 外媒援引知情人士的消息称,英 ...

  9. 当技术为组织所累时怎么办?将你的组织架构旋转90度!

    当技术为组织所累时怎么办?将你的组织架构旋转90度! 原创 2017-10-12 杨波 InfoQ 作者|杨波编辑|小智作者近期针对企业数字化和架构转型思考后陆续写了三篇文章,这篇是第二篇,主题专注组 ...

最新文章

  1. What is ORM ?
  2. IPV4报头格式详解
  3. 性能更好的js动画实现方式——requestAnimationFrame
  4. java的throw_浅谈Java的throw与throws
  5. python randrange函数_Python学习-函数补充2-内置函数
  6. python解zuobiaoxi方程_吴恩达《Machine Learning》精炼笔记 2:梯度下降与正规方程
  7. 【深入】java 单例模式
  8. Window 的版本号管理策略
  9. 超级搜索术6-问题驱动/系统思维
  10. 单片机炫彩灯实训报告_51单片机流水灯实验报告
  11. 23 - OAI NSA gNB搭建 - 博一
  12. 计算机病毒防治——计算机病毒种类
  13. 服务器删除的excel文件备份在哪里,excel自动备份文件在哪!如何找回EXCEL表格已删除的文件...
  14. 玩转Safari:扩展插件说明
  15. 文章标签设计方法,文章Tags数据库设计方法举例
  16. Mendix装备制造业应用 | 云上全流程透明性备品备件协同管理
  17. android 正三角,倒三角的实现代码
  18. 浅谈加密算法 aes
  19. golang sync.Map和map+mutex性能比较
  20. excel熵值法计算权重_SPSS主成分分析 | 权重计算amp;极差法标准化超详细教程!(下)...

热门文章

  1. 美剧字幕组高手写的学英语心得(听力篇)
  2. 智能安防--人工智能在安防行业的应用
  3. matlab 浮雕,基于MATLAB根据图片快速制作陶瓷浮雕的方法与流程
  4. SpringMVC源码分析(二)
  5. 我看google事件
  6. 中投民生:跟投科创板一周年!券商大赚135亿
  7. “00后”跻身大满贯16强 阿尼西莫娃创造历史
  8. 太秀了!用Excel也能实现和Python数据分析一样的功能!
  9. 无界,wujie的使用
  10. TCP/IP详解学习笔记 这位仁兄写得太好了.