目录
1数据库需求分析
1.1需求分析
在线直播平台需实现以下核心功能:
- 主播管理:主播注册、信息维护及直播状态管理。
- 直播场次管理:创建直播、关联分类、设置场次信息(时间、标题等)。
- 观众互动:弹幕发送、礼物赠送及互动记录查询。
- 分类管理:直播内容分类(如游戏、才艺、教育)及多分类关联。
用例图说明:
顶层用例图:包含主播、观众、系统管理员三大角色,核心用例包括 “创建直播”“观看直播”“发送弹幕”“赠送礼物”“管理分类”。
图1 顶层用例图
主播用例图:细化主播功能,包括 “编辑个人信息”、“开启直播”、“查看收益”、“管理直播场次“。
图2 主播用例图
观众用例图:包含 “搜索直播”、“发送弹幕”、“赠送礼物”、“关注主播”、”观看直播“ 。
图3 观众用例图
1.2功能需求分析
1.2.1基本流程图
在线直播平台核心功能包括主播开播、观众互动及直播分类管理。主播可创建直播场次并关联分类(如游戏、才艺),观众进入场次后可发送弹幕、赠送礼物、关注主播,系统需实时记录互动数据并更新主播收益。
图4 基本流程图
直播场次创建流程顺序图:顺序图清晰展示了直播场次创建的时序过程。主播发起创建请求后,系统查询分类并返回,主播选择分类并填写信息,系统完成记录插入和关联,最终返回成功信息。图中消息传递的顺序明确,体现了各实体间的交互过程。
图5 直播场次创建流程顺序图
礼物赠送顺序图:该图展示了礼物赠送的完整流程。观众选择礼物并确认赠送后,系统验证直播状态,插入礼物记录,同时更新主播粉丝数、收益及场次礼物收入,最后反馈给观众。图中体现了多表联动和触发器的触发时机。
图6 礼物赠送顺序图
主播收益查询顺序图:顺序图呈现了主播收益查询的过程。主播请求查询后,系统验证身份并获取主播 ID,查询其所有直播场次及对应的礼物记录,计算总收益后反馈给主播。图中展示了多表关联查询的逻辑和数据聚合过程。
图7 礼物赠送顺序图
观众互动活动图:活动图展示了观众互动的并行流程。观众进入直播后,可同时进行发送弹幕和赠送礼物操作,系统分别记录数据并触发收益更新,最后展示互动数据。图中通过分叉和汇合节点体现了并行操作的特点。
图8 观众互动活动图
1.2.2数据需求
- 主播信息:ID、昵称、简介、粉丝数、注册时间、在线状态。
- 直播场次:ID、主播 ID、标题、开始时间、结束时间、观看人数、状态。
- 弹幕记录:ID、场次 ID、观众昵称、内容、发送时间。
- 礼物记录:ID、场次 ID、观众昵称、礼物类型、价值、赠送时间。
- 直播分类:ID、名称、描述。
- 分类-场次关联表:关联ID、关联场次ID、关联分类ID。
1.3数据字典
序号 |
数据项 |
说明 |
数据类型 |
1 |
anchor_id |
主播在系统中的唯一标识,用于精准识别和关联主播相关信息。 |
INT |
2 |
anchor_name |
主播展示给观众的昵称,需具备唯一性,方便观众识别和记忆。 |
VARCHAR(50) |
3 |
anchor_desc |
主播对自身的介绍描述,帮助观众更好地了解主播特点、直播风格等。 |
TEXT |
4 |
fans_count |
统计关注该主播的粉丝数量,反映主播的受欢迎程度。 |
BIGINT |
5 |
register_time |
记录主播注册成为平台用户的具体时间,便于统计和分析。 |
DATETIME |
6 |
status |
表明主播当前的在线状态,0 代表离线,1 代表在线,用于实时展示主播状态。 |
TINYINT |
7 |
live_id |
直播场次在系统中的唯一标识,用于区分不同的直播活动。 |
INT |
8 |
anchor_id |
关联发起该直播场次的主播 ID,建立直播场次与主播的对应关系。 |
INT |
9 |
live_title |
直播的标题,简洁明了地概括直播内容,吸引观众。 |
VARCHAR(100) |
10 |
start_time |
直播开始的具体时间,精确到时分秒。 |
DATETIME |
11 |
end_time |
直播结束的时间,若直播正在进行中则为空,用于统计直播时长等。 |
DATETIME |
12 |
view_count |
统计观看该直播场次的观众数量,反映直播的热度。 |
BIGINT |
13 |
status |
直播场次的状态,0 表示未开始,1 表示进行中,2 表示已结束,方便系统管理和用户查看。 |
TINYINT |
14 |
danmaku_id |
弹幕在系统中的唯一标识,用于记录和区分不同的弹幕内容。 |
INT |
15 |
live_id |
关联弹幕所属的直播场次 ID,建立弹幕与直播场次的联系。 |
INT |
16 |
viewer_name |
发送弹幕的观众昵称,便于识别观众身份。 |
VARCHAR(50) |
17 |
danmaku_text |
观众发送的弹幕具体内容,表达观众对直播的看法、评论等。 |