信息技术的发展一日千里,但当技术照进现实,转变为让娱乐、生活更丰富,让工作更方便的实用能力,这个过程并非一日之功,也不是一成不变。

比如,IM 即时通讯中聊天室产品的聊天室属性,表面“其貌不扬”,内里则在多番场景实践下演变得“别有洞天”。

聊天室是直播、语聊房等社交泛娱乐产品必备的组件,它最显著的形态,就是我们常说的“公屏”——用户关系临时、消息内容短小重复的公共聊天频道。

殊不知,借助聊天室属性,它的作用远不止于此。这个功能的优劣,甚至直接影响语聊房和直播间的秩序和体验。

在指定聊天室中设置相关属性,用户进入聊天室后可以同步获取聊天室内的属性信息。

比如,语聊房中的主播麦位信息、角色管理等,狼人杀、剧本杀等游戏房场景中记录用户的角色和牌局状态等。

这是融云首创的产品功能,源于一位语聊房开发者对“抢麦”功能的实现需求。经过充分分析验证,这个需求在融云 IM 产品强大的外延能力下得以实现,进而沉淀为通用能力提供给更多开发者。

以此为界,聊天室产品的比拼有了新维度,在承接海量用户的并发能力之外,有了更具生命力、更加鲜活的功能表现,并逐渐构建了自己的迭代循环:功能领先→众多开发者集成→新的场景需求→研发新功能→功能持续领先。

随着人们的线上社交娱乐热情被点燃,聊天室的应用场景遍地开花,融云聊天室属性功能也不断在开发者的需求下丰富起来。

场景丰富,语聊房、直播中的聊天室属性

语聊房

一个语聊房可能有海量用户同时在线,任何一个人的麦位信息、角色身份等变化都需要在极短时间内同步给房间内所有人。

麦位管理:上麦即拥有了发言能力,下麦则从发言用户变成普通用户,锁麦即可锁定麦位拒绝用户上麦,抢麦则为几个用户同时抢占一个麦位。同时,还有禁言、发言等麦位状态管理。

用户管理:主播、麦上观众、房间观众等用户角色设置;狼人杀、剧本杀等游戏房中警、匪、平民等角色设置。

房间管理:房间人数、麦位数量、房间公告等。

PK 状态:语聊房跨房间 PK 中的双方支持人数战绩展示。

防炸麦:可通过聊天室属性设置在用户离线后及时清除连接状态,避免“幽灵麦”等情况的发生;通过聊天室属性的房间状态回调接口,开发者还可以实时感知用户的上下麦状态,如出现非法用户上麦的情况,可及时将其踢出房间,维护语聊房的正常秩序和良好体验。

直播

房间信息:房间人数、观众信息、房间公告。

角色管理:主播、管理员等角色信息和权限。

榜单信息:多维度观众榜单、最受欢迎礼物榜单等榜单信息。

PK 状态:连麦 PK 中的双方支持人数战绩展示。

商品信息:电商直播场景中,主播当前正在推广的商品信息。

语聊房、直播都是近些年娱乐消费侧的明星品类,而在企业级的远程会议场景,聊天室属性的使用也有一席之地——会议成员、人数等房间属性和主持人、管理员、参与者等角色信息和相应权限管理。

优势领先,稳定可靠,实时同步,接口灵活

聊天室属性首先有必达和实时的要求,比如麦位、角色等信息需要实时同步给聊天室的所有成员,且保持一定的秩序性,不会造成乱序等问题。

稳定可靠的架构设计

必达是对聊天室属性性能的核心要求,也就是业务所设置的属性能够稳定同步、不丢不乱,这其实考验的是整体的聊天室系统架构。

融云聊天室的系统架构,通过连接层、业务层、存储层的长连接、二级缓存、多活数据中心等方式保证响应速度和分发速度。

在海量用户高并发场景下,消息分发能力将决定着系统的性能。以一个百万级用户量的聊天室为例,一条上行消息对应百万倍分发。这种情况下,海量消息的分发,依靠单台服务器是无法实现的。

融云将一个聊天室的人员分拆到不同的消息服务上,在聊天室服务收到消息后向消息服务扩散,再由消息服务分发给用户。

分层存储保障实时同步

聊天室属性是以 Key 和 Value 的形式进行传递和存储的,属性的操作行为主要有两种:设置、删除。服务器存储属性也分两部分,分别是全量的属性集合,以及属性集合变更记录。

服务器存储的两份数据,提供了两种查询聊天属性的接口,分别是查询全量数据和查询增量数据。这两种接口的组合应用极大地提升了聊天室属性的查询响应能力。

对于刚进入聊天室的成员,直接拉取全量聊天室属性数据进行展示。

对于已经拉取过全量数据的成员,通过属性变更记录集合(Key 为变更时间戳,Value 里存着变更的类型以及属性内容),有序提供这段时间内所有聊天室属性的变更记录,实现增量数据的快速同步,减轻客户端的轮询计算压力。

灵活响应业务需求

每个聊天室可设置 100 对属性信息(KV),每秒钟支持处理 100 次的属性设置,可极大地满足用户场景需求。

同时,融云聊天室属性还具备以下特性以灵活支持各类实用业务需求。

支持强制设置单个属性,满足各种规则设置需求以维持房间秩序和业务的顺利开展。单个属性设置 Key 和 Value 一一对应,先到先得,可用于聊天室成员的抢麦、上麦等功能;而强制设置单个属性,则可强制覆盖 Key 上存储的 Value 属性,用于管理员对不发言或离线麦位成员的强制替换。

支持批量设置聊天室的属性,比如业务中某个同类型、同权限的角色人物有多个,则可以一次性统一设置多个,且支持只占用一对 KV。

属性可随用户在线状态自动删除或持续保留,当用户下线或退出聊天室,可以选择设置其相关属性随其在线状态消失或持续保留。

比如,麦上用户离线,其相关属性随其下线自动删除,以保证用户异常掉线时可释放麦位;而若用户身份为管理员,则其设置的房间公告等影响房间秩序的属性可选择持续保留。

属性信息可实时同步客户的应用服务器,让业务方实时掌握聊天室的变化状态,提升数据分析能力,更好地支持业务运营。

支持房间信息预览,当用户浏览 App 而未进入房间时,可以获取聊天室属性信息,为其选择加入房间提供判断依据和吸引力。

融云「聊天室属性」: 语聊房、直播间有序运行和丝滑体验的绝技相关推荐

  1. 如何 30 分钟搭建语聊房

    一个拥有 1-2 年经验的开发者,从 0 到 1 上线应用只要 7 天.一个刚起步的程序员,可以 30 分钟内完成一个 Demo. 这不是天方夜谭,而是融云场景化 SDK 带给行业的创变.[关注 融云 ...

  2. 语聊房 SDK,下一代场景化解决方案新范式

    [关注 融云全球互联网通信云]近日,融云语聊房 SDK 2.0 实力上线.在 1.0 的实时连麦.百万并发.音频管理等核心功能基础上,2.0 新增跨房间 PK 和语音电台两大场景,及房间浮窗显示.滑动 ...

  3. 融云聊天室属性 kv

    融云聊天室属性 kv 近期又又又加需求了,领导想要聊天室中的所有人看到的点播视频的进度都是相同的,由房主来操作进度条,其他人跟随房主的进度条进行视频进度条的调整,以前的逻辑是大家看到的视频进度都是根据 ...

  4. 「群组」和「聊天室」有什么区别?

    什么是群组? 群组是支持多人沟通的即时通讯系统,成员关系相对稳定.所有群成员可以收到群中的消息,可以在群中发送消息.群成员离线时可以收到推送消息.群组分为公开群和私有群,公开群可以被搜索到,非群成员可 ...

  5. 滴滴云「于某声」在「服务器采购过程中」受贿累计超过 1000 万元:已移交公安机关

    滴滴云「于某声」在「服务器采购过程中」受贿累计超过 1000 万元:已移交公安机关 https://mp.weixin.qq.com/s/7c925OdbG07u1xEo5XWO4A 据投中网消息,滴 ...

  6. Qt实战:云曦聊天室篇

    Qt实战:云曦聊天室篇 文章目录 Qt实战:云曦聊天室篇 前言 一.云曦聊天室效果图 1. 登录界面: 2. 注册界面: 3. 好友列表界面: 4. 好友上线提醒: 5. 私聊界面: 6. 群聊界面: ...

  7. 青软集团蝉联华为云「千万俱乐部奖」「最佳销售黑钻奖」两大奖项

    在「2021年度华为云市场优秀伙伴名单」上,青软集团凭借华为云优秀解决方案--U+新工科智慧云平台的强大竞争力.市场高销售额与专业的团队服务,蝉联华为云「千万俱乐部奖」与「最佳销售黑钻奖」两大荣誉奖项 ...

  8. 在线聊天室的消息单聊的实现——springboot整合WebSocket(二)

    一.声明 项目的搭建请大家移步到:在线聊天室的消息群聊的实现--springboot整合WebSocket(一) 单聊的实现是在群聊项目上进行延申改造的. 二.引入依赖 <dependency& ...

  9. 融云RongIMKit即时通讯开发(让我们聊起来)

    1.前言 现在APP功能越来越多,聊天成为很重要的一个功能,现在市面上流行的即时通讯SDK基本上只有融云和环信,而近年来融云在各个方面都有超过环信的趋势,所以在项目中用到融云的地方越来越多.那我们是不 ...

最新文章

  1. 让SEQUENCE记录不变的信息【RECORD STATIC NUMBER IN SEQUENCE】
  2. mysql查询时给字段加内容,mysql数据库查询之对应库对应表中的注释信息查询以及加字段查询...
  3. what do we lack as a student?
  4. Linux学习参考书
  5. java kafka 多线程消费
  6. 计算机应用能力考试用书有哪些,全国专业技术人员计算机应用能力考试用书
  7. python需要缩进的块_“需要缩进块”
  8. ClassLoader类加载器
  9. 查找工资前三高的员工
  10. DNS域名解析详细说明
  11. PS之立体台球制作步骤
  12. java标识命名服务_阿里巴巴Java开发规约第一章编程规约-命名风格篇
  13. Spring Cloud 工具集
  14. 数据集制作之xml文件转化为csv
  15. 阿里云如何提供接口 生成api?
  16. 核心单词Word List 39
  17. prometheus监控预警之AlertManager邮箱报警
  18. Linux tty串口测试程序
  19. cpu win10 安装yolo_yolov5 win10 数据集制作 各种踩坑
  20. 共发行50套清华大学吴光科团队京峰教育内供版

热门文章

  1. 444句常用英文生活用语
  2. Linux查看虚拟网卡的命令,Linux之网络管理(2)虚拟网卡
  3. nesC练习异或操作
  4. mysql修改外键字段报异常_mysql修改索引时,外键约束造成的奇怪问题_MySQL
  5. 学习记录562@公钥密码体系基本概念
  6. 多目标跟踪(MOT)入门综述
  7. 认真面对生活,认真的享受生活!
  8. Python Magic——模块
  9. 鸿蒙OS执行效率,鸿蒙OS知多少:四大技术特性,三年遍地开花
  10. 读书笔记 | 自动驾驶中的雷达信号处理(第2章 雷达方程)