当前位置:网站首页>技术分享| 融合调度中的广播功能设计
技术分享| 融合调度中的广播功能设计
2022-06-30 03:54:00 【anyRTC】
概述
在融合调度系统中,广播可分为文本广播(消息广播,带有回执功能)、实时语音广播(喊话广播)、以及媒体广播三种。
根据广播类型:我们把广播也分为消息类型 和流媒体类型 ,消息类型 就是文本广播类型 ;实时语音广播 以及媒体广播 就是流媒体类型。
根据回执状态:我们把广播分为有回执状态类型 和无回执状态类型 ,回执就是对方读取消息的时候记录读了的状态。有回执状态类型 就是文本广播 ,无回执状态类型 就是实时语音广播 和媒体广播类型 。
文本广播: 向系统或者某个群组发送文字广播,收到广播的用户,会在系统窗口中弹出提示框,让在线的用户及时查阅广播信息。
实时语音广播(喊话广播): 该功能类似于广播找人,遇到突发事件,通过该功能可以有效的跨越群组限制,向指定的人或者组织架构中的人进行语音喊话通知。
媒体广播: 该功能类似于背景音乐广播,在不影响对讲通道的同时,播放背景音乐。
需求分析
考虑到系统结构的可拓展性以及系统中模块间的解耦性,我们需要考虑以下场景:
1、分组灵活:在广播中,需要快速区域广播或者全员广播,我们需要内置预设组功能,把区域用户或者全员用户事先分组,方便在这些组中进行广播任务分发。
2、定时任务:在广播中,会有定时发送一些广播的需求:除了上面我们说的实时语音广播(喊话广播),不能定时外,文本广播以及媒体广播都可以进行定时发送广播。定时广播只需要在指定的时间进行发送即可,也可以对该定时任务加上周期性任务:比如每天的这个时间点发送该条广播,或者每个工作日的这个时间点发送这条广播。
3、对文本广播进行回执统计,文本广播类似于系统公告通知,调度员需要知道,当前的广播,有多少人已经看到,以及看到该公告的时间。
4、对广播任务进行管理:对正在广播的任务进行暂停或者结束。
5、对现有的广播任务,可以复用,快速进行广播任务创建。
6、媒体广播类似于播放音乐:有时候调度员想用录音数据进行定时广播,所以在创建媒体广播任务的时候,可以在本地进行录音,把录制好的声音进行定时广播。
功能设计
根据上述需求点,我们把广播功能分为:广播记录、我的广播、预设组、创建广播四种模块。

广播记录
调度员角色的用户可以发起广播,但同时调度员又是群组或者机构下的成员,也会收到广播消息。广播记录就是收到的广播汇总。在线的用户会通过长链接通道收到广播的通知;不在线的用户上线后通过接口获取广播记录,广播分为已读和未读记录。
通过广播记录:我们也可以快速呼叫调度员。
我的广播
我的广播记录是自己创建的广播,广播的状态分为:成功、失败、待发送、发送中、暂停五种状态。
复用功能: 对各种状态的广播记录,可以点击复用,到创建页面,并把该条记录的广播内容填入对应的标签中,修改并快速创建。
回执统计功能: 已经成功了的文本广播,可以查看已读和未读的成员列表。
发送中的广播: 可以对当前进行的广播做暂停、修改、结束的操作。
预设组
预设组是把要广播的用户拉进一个群组中,在创建广播的时候,选中预设组进行广播分发。预设组包含:群组列表以及创建预设组功能,预设组中可以对人员进行增删。
创建广播
创建流程:
1)选择广播类型:广播类型分为文本广播、实时语音广播和媒体广播。
2)根据选中的广播类型:展示对应的内容,文本广播包含广播主题、广播内容、以及要广播的群组,最后选择立即广播还是定时广播;实时语音广播包含选中广播的群组、进行120秒实时语音倒计时喊话;媒体广播包括广播主题、广播的媒体、广播的群组、以及广播的时间进行创建。
附属功能
我的媒体文件:自己上传的媒体(mp3、amr)文件记录。
录音:录制 amr 文件,进行真声广播。
结语
通过上述功能的设计,调度员和作业人员利用广播功能,有利于提高事件响应速度、优化决策流程、增强办事效率,从而能更好的进行沟通指挥工作。

边栏推荐
- ReSharper 7. Can X be used with vs2013 preview? [off] - can resharper 7 x be used with VS2013 preview? [closed]
- How to use FME to create your own functional software
- EasyCVR部署服务器集群时,出现一台在线一台不在线是什么原因?
- Interpretation score of bilstm-crf in NER_ sentence
- C # [advanced chapter] C # anonymous method [lambda expression to be supplemented...]
- (04). Net Maui actual MVVM
- [punch in - Blue Bridge Cup] day 3 --- slice in reverse order list[: -1]
- [Thesis reading | deep reading] role2vec:role based graph embeddings
- UML图与List集合
- Using virtual environments in jupyter notebook
猜你喜欢

EasyCVR部署服务器集群时,出现一台在线一台不在线是什么原因?

【力扣刷题总结】数据库题目按知识点分类总结(持续更新/简单和中等题已完结)

When easycvr deploys a server cluster, what is the reason why one is online and the other is offline?

Use common fileUpload to upload files
![[image fusion] multi focus and multi spectral image fusion based on cross bilateral filter and weighted average with matlab code](/img/9c/2553d192c2f9b93acc6550220c447f.png)
[image fusion] multi focus and multi spectral image fusion based on cross bilateral filter and weighted average with matlab code

第九天 脚本与资源管理

From 2500 a month, no one wants to go to the programming road of the technical director of a large factory | my ten years

Postman learning sharing

【论文阅读|深读】DANE:Deep Attributed Network Embedding

SDS understanding in redis
随机推荐
Using virtual environments in jupyter notebook
Magical Union
Wang Shuang - assembly language learning summary
实用调试技巧
Implementation of aut, a self-developed transport layer protocol for sound network -- dev for dev column
【力扣刷题总结】数据库题目按知识点分类总结(持续更新/简单和中等题已完结)
DBT product initial experience
[fuzzy neural network prediction] water quality prediction based on fuzzy neural network, including Matlab source code
Tidb 6.0: making Tso more efficient tidb Book rush
使用IDEAL连接数据库,运行出来了 结果显示一些警告,这部分怎么处理
如何通过进程启动来分析和解决EasyCVR内核端口报错问题?
LitJson解析 生成json文件 读取json文件中的字典
华为云原生——数据开发与DataFactory
Number of students from junior college to Senior College (III)
Installation and use of yarn
Version correspondence table of tensorflow, CUDA and bazel
Smart use of bitmap to achieve 100 million level massive data statistics
How to use Jersey to get the complete rest request body- How to get full REST request body using Jersey?
[punch in - Blue Bridge Cup] day 1 --% 7F format output
Local, locallow and roaming in the appdata folder