即时通讯软件做到大组织架构秒更新的技术
对于企业级即时通讯软件来说,组织架构是否支持实时刷新,将是影响用户体验的关键要素;如果即时通讯软件连组织架构都不能实时刷新和加载,对于用户来说,联系人的信息都看不到,如何沟通?如何能提高沟通效率,减少沟通成本呢?
在组织架构实时刷新的实现上,可能有的人觉得“不就是从服务器上下载组织架构吗?完整下载就行了”;实际上并不是如此,对于小型企业来说,组织架构较小,这种方式可能满足使用需求,不影响客户端使用;但是对于大型企业来说,组织架构庞大,这种组织架构同步机制弊端就暴露无遗了,如下:
在网络波动情况下,大组织架构刷新缓慢问题。服务器组织架构更新,客户端更新显示慢,影响使用。最重要的一点,对服务器的压力很大。试想一下,在移动网络质量不稳定的情况下,下载组织架构数据需要花费相当长的时间,若此时在客户端查看组织架构将显示为空白,那么,客户端收到新消息就无法显示发送者信息;
此外,服务器组织架构维护变更,客户端还需要等到下一个更新周期,才能显示最新数据,如果是几千或上万人的组织架构,客户端同时向服务器获取组织架构,此时服务器的负载将是巨大的。
技术方案
那么,为了解决上述问题,在组织架构更新机制上是怎样考虑的呢?
即时通讯采用了按需拉取+完整下载组织架构两种方式相结合,并且服务器组织架构服务已将组织架构数据缓存在内存中,客户端可以快速从服务器获取子部门和用户列表 。
即时通讯客户端首次登录,切换到了组织架构界面,本地组织架构为空,立即向服务器按需拉取一级部门列表并显示,底层启动异步线程下载完整组织架构。
用户展开某个部门时,此时完整组织架构未下载完成,立即通过按需拉取到服务器获取该部门的子节点(子部门和用户),并显示出来。
完整组织架构未下载完成时,接收到其他客户端发送过来的新消息时,立即到服务器上请求人员信息并显示。
完整组织架构下载到本地,后续用户切换到组织架构界面时,一级部门从本地获取并显示出来,同时底层异步向服务器检查当前部门是否发生变化,如有变化,从服务器获拉取新数据,更新到界面。即时通讯开发
上述技术方案,利用按需拉取,无需等待全部组织架构下载完成,可立即查看当前节点的部门组织信息,减少等待时间。而下载完整组织架构,可以弥补网络中断时,也能浏览组织架构,从多个维度保证用户又快又全的浏览组织架构。
实现方式
本地不存在完整组织架构时的更新机制
用户首次登录成功后,点击界面组织架构面板,此时界面向底层获取一级部门列表,底层检查本地数据库组织架构没有数据,调用服务器接口获取一级部门列表,服务器返回后显示到界面。
用户展开某个一级部门,流程跟上述一样,界面向底层获取该部门的子部门和用户,底层检查本地数据库该一级部门没有子部门和用户,调用服务器接口获取该部门的子部门和用户,服务器返回后显示到界面。
界面下拉获取部门的子部门和用户时,底层都将执行相同流程,检查到数据库没有该部门的子部门和用户时会向服务器获,然后返回给界面。
此外每天用户第一次上线,底层都会启动独立线程去更新完整组织架构,由于有以上机制保障,更新时间长短不影响用户正常使用。
本地已经存在完整组织架构时的更新机制
用户点击界面组织架构面板,此时界面向底层获取一级部门列表,底层检查本地数据库组织架构不为空,直接从数据库获取一级部门列表返回给界面显示,因此用户即使在断网情况下也可以正常浏览组织架构。
在有网情况下,底层将本地数据抛回给界面后,还异步向服务器检查更新此部门节点数据,如果服务器组织架构已更新,底层将最新数据再次抛给界面,界面更新最新数据,如此一来,服务器任何时候修改组织架构,在有网的情况下,客户端都可以马上更新。
即时通讯软件做到大组织架构秒更新的技术相关推荐
- 如何把即时通讯软件做大做强?
原文:如何把即时通讯软件做大做强? 我们的目的是做最好的即时通讯软件,有这么一个故事,我在农村有块地,旁边通了一条马路,我就想把地建成楼,自用也可,出租也可.现在电梯是标配了,隔壁一户人家也打算建,别 ...
- 产品采用的即时通讯软件是本地云架构
摘要:即时通讯软件 2012年07月31日奉献表现你的爱的最好方式,1外部链接性,冗余处理等方面技术,稳定;在互通性这方面,百会云邮箱在国外也有部署,每个人都有自己的自尊,可以保证邮箱安全,3无连接性 ...
- html5控件结构图,OrgChart组织架构图控件
插件描述:jQuery OrgChart 是一个用来绘制组织结构图的 jQuery 插件. 可以自己定加载自己想要的组织架构,通过json的形式 该插件为画组织架构图插件,通过OrgChart API ...
- 小米组织架构调整:成立技术委员会 强化技术引领
新浪科技讯 2月26日晚间消息,小米集团组织部今日下发正式文件,宣布了最新一轮组织架构调整,任命了崔宝秋为集团副总裁,集团技术委员会主席,并且在核心管理岗位上共任命了14名总经理.副总经理,这也是继去 ...
- 大数据架构师——数据湖技术(二)
文章目录 数据湖技术 数据湖技术之Iceberg Spark 与 Iceberg 整合 1. Spark3.2.1 与 Iceberg0.13.2整合 添加依赖 Spark 设置 Catalog 配置 ...
- 【大数据架构】-- 开源框架技术汇总
1.系统平台 Hadoop.CDH.HDP.BigTop 2.监控管理 CM.Hue.Ambari.Dr.Elephant.Ganglia.Zabbix.Eagle 3.文件系统 HDFS.GPFS. ...
- 「镁客早报」英特尔与紫光展锐分道扬镳;小米组织架构大调整
按照原计划,英特尔与紫光展锐将合作开发搭载英特尔5G调制解调器的全新5G智能手机平台,并与2019年推向市场. 1.英特尔与紫光展锐分道扬镳,结束5G Modem芯片合作 外媒援引知情人士的消息称,英 ...
- 「镁客早报」英特尔与紫光展锐分道扬镳;小米组织架构大调整...
按照原计划,英特尔与紫光展锐将合作开发搭载英特尔5G调制解调器的全新5G智能手机平台,并与2019年推向市场. 1.英特尔与紫光展锐分道扬镳,结束5G Modem芯片合作 外媒援引知情人士的消息称,英 ...
- 当技术为组织所累时怎么办?将你的组织架构旋转90度!
当技术为组织所累时怎么办?将你的组织架构旋转90度! 原创 2017-10-12 杨波 InfoQ 作者|杨波编辑|小智作者近期针对企业数字化和架构转型思考后陆续写了三篇文章,这篇是第二篇,主题专注组 ...
最新文章
- What is ORM ?
- IPV4报头格式详解
- 性能更好的js动画实现方式——requestAnimationFrame
- java的throw_浅谈Java的throw与throws
- python randrange函数_Python学习-函数补充2-内置函数
- python解zuobiaoxi方程_吴恩达《Machine Learning》精炼笔记 2:梯度下降与正规方程
- 【深入】java 单例模式
- Window 的版本号管理策略
- 超级搜索术6-问题驱动/系统思维
- 单片机炫彩灯实训报告_51单片机流水灯实验报告
- 23 - OAI NSA gNB搭建 - 博一
- 计算机病毒防治——计算机病毒种类
- 服务器删除的excel文件备份在哪里,excel自动备份文件在哪!如何找回EXCEL表格已删除的文件...
- 玩转Safari:扩展插件说明
- 文章标签设计方法,文章Tags数据库设计方法举例
- Mendix装备制造业应用 | 云上全流程透明性备品备件协同管理
- android 正三角,倒三角的实现代码
- 浅谈加密算法 aes
- golang sync.Map和map+mutex性能比较
- excel熵值法计算权重_SPSS主成分分析 | 权重计算amp;极差法标准化超详细教程!(下)...