当前位置:网站首页>腾讯会议号设计的几种猜测
腾讯会议号设计的几种猜测
2022-06-23 22:11:00 【bisal(Chen Liu)】
可以说疫情给我们打工人带来最大的改变,就是居家办公,而这其中,对工作模式冲击最大的就算是在线会议了,以前都是会议室,面对面交流,现在都是对着一个屏幕,如果有视频的会议还好,能看见对方,还像一个会议,但大多是没视频的会议,就对着个屏幕,用一位朋友说的,这种会的主讲人,就像一位"过了气的主播",跟大家扯东扯西,没眼神交流,没任何反馈,确实有些尬。
既然在线会议如此之火,出现了很多老的、新的在线会议的软件,这其中最常用的,可能就是腾讯会议了,简单、实用、稳定,是很多人选择他的原因。
大家都知道,腾讯会议上开会,无论是加入会议,还是创建一个快速会议,又或者是预定一个会议,都是用的一个会议号进行标识的,

如果细心的朋友会注意到,这个会议号是一个9位的数字,假设每位可以是0-9一共10个数字,10的9次方,是1000000000,10亿。换句话说,他应该同时支持10亿个在线会议。
不知道你是不是尝试过,例如定了一个09:00-09:30的会议,但实际上09:00之前,09:30之后,都可以登录,而且尝试过可以登录一个月(这个随机测的,未必非常准确)之前的会议号,但是更久的,会议号就失效了。
因此,按照刚才计算的,虽然支持10亿个会议号,但这些号是否会出现重复的,或者因为用满了这些号,禁止创建新的会议了?
从产品的功能角度来讲,这个应该是不太可能的。但是如何实现的,我没找到资料,不过可以做一些猜测,其实就和系统设计相关了。
(1) 每个会议号,应该是随机创建的,因为是无序的,所以不太可能只是用像数据库的sequence或者分布式自增ID的方案,很可能是一种混合的号码生成器方案,为了安全起见,还需要随机的。像避免重复的功能可能会用到序列、snowflake等分布式自增ID的特性,但是范围确定(10亿),所以其中可能有判重的设计,例如通过缓存,key/value来判重。
(2) 10亿是个确定的值,这就要求每个产生的会议号,需要存在有效期,一种简单粗暴的方式就是给定一个具体的时间段,例如从创建开始,一个月内有效。另外一种"优雅"的方案,可能就是像Oracle等关系型数据库采用的LRU链表设计,最少最近使用的队列,根据当前会议号的使用情况,动态淘汰最少使用的会议号,这给用户的体验就会很好,但相对来说,在设计和实现上,就会更加复杂一些。
腾讯会议的稳定性、功能上的实用性、操作上的简易性,很出众,其实这些都是同类软件的基础,都是用户最需要的功能,相比很多"花里胡哨"的同类软件,在产品的设计层面还是有很多值得借鉴的地方。
近期更新的文章:
《充电宝的玄机》
文章分类和索引:
边栏推荐
- How PostgreSQL creates partition tables
- 堡垒机安装pytorch,mmcv,mmclassification,并训练自己的数据集
- How to handle the IP inconsistency in the contact when easygbs is cascaded with the upper level
- Generate post order traversal according to pre order traversal and mid order traversal
- WebService客户端请求失败 can not create a secure xmlinputfactory
- HDLBits->Circuits->Arithmetic Circuitd->3-bit binary adder
- Debian change source and uninstall useless services
- Go deep: the evolution of garbage collection
- PHP timestamp
- HDLBits-> Circuits-> Arithmetic Circuitd-> 3-bit binary adder
猜你喜欢
Detailed usage of exists in SQL statements

嵌入式接口之TIM定时器与NVIC的STM32模板库函数的一些解释

C # read the occupied size of memory module and hard disk
Summary of cloud native pipeline tools

国内外最好的12款项目管理系统优劣势分析

Analysis of Alibaba cloud Tianchi competition -- prediction of o2o coupon

Develop synergy and efficiently manage | community essay solicitation

短视频挺进在线音乐腹地

HAOGE's blog Road
Androidkotlin comprehensive and detailed class usage grammar learning guide
随机推荐
百万消息量IM系统技术要点分享
How to handle the IP inconsistency in the contact when easygbs is cascaded with the upper level
Apache log4j 2 reported high-risk vulnerability, coding teamed up with Tencent to protect software security
HDLBits-> Circuits-> Arithmetic Circuitd-> 3-bit binary adder
Build the first security defense line for enterprises to go to the cloud Tencent's new generation cloud firewall product launch is about to open
Is Everbright futures safe? What do I need to open an account?
Go deep: the evolution of garbage collection
Eight models of data analysis: detailed PEST model
保障特殊困难群体安全,广州民政全力做好三防工作
[design] 1359- how umi3 implements plug-in architecture
【Try to Hack】masscan
Ambire Guide: the arbitrum odyssey begins! Week 1 - Cross Chain Bridge
不同网络结构的特征也能进行对比学习?蚂蚁&美团&南大&阿里提出跨架构自监督视频表示学习方法CACL,性能SOTA!...
SQL Server Common SQL
CS5213 HDMI转VGA带音频信号输出方案
PHP的curl功能扩展基本用法
Zynq ultrascale+ RF data converter IP configuration - ADC
Analysis of Alibaba cloud Tianchi competition -- prediction of o2o coupon
Come on, touch and write a hook
pyspark on hpc