内存数据库应用之NBA篮球图文直播室存储设计
内存数据库应用之NBA篮球图文直播室存储设计
1.1 摘要
内存数据库适用于实时性访问要求很高的业务应用系统,尤其是实时数据直播报类系统,如篮球比赛图文直播室,足球比赛图文直播室等各类实时播放类的体育赛事。本文以NBA篮球比赛直播室后台内存数据的存储设计为业务切入点,以Memcached内存数据库为平台,详细介绍了内存数据库在实时业务应用的典型应用。
1.2 业务规则
NBA篮球比赛分为主客场两支球队,允许各队同时5名球员上场比赛,允许球员替换上场;分为上下半场,各两节,每节12分钟,全场48分钟;常规时间内比分相同则进入加时,加时赛每节5分钟,如加时后,比分仍相同则进入下一个加时,直至分出胜负。详细比赛规则请参见度娘。
1.3 功能需求
NBA篮球图文直播室实现的功能主要包括实时数据、文字直播、技术统计、在线评球四大功能。实时数据包括实时比分、单节比分、当前场上队员、本节犯规次数、剩余暂停次数信息。文字直播是比赛实况和互动信息的实时播报。技术统计是两队参赛队员各项技术参数的统计和整个球队各项技术参数的汇总统计。如下图所示:
详细功能如下表所示:
序号 |
模块 |
功能 |
说明 |
1 |
实时数据 |
实时比分 |
两队实时总比分 |
2 |
单节比分 |
两队当前节比分 |
|
3 |
场上队员 |
两队当前场上队员 |
|
4 |
本节犯规 |
本节犯规次数,满5次罚球,清0 |
|
5 |
剩余暂停 |
剩余长短暂停数 |
|
6 |
文字直播 |
文字直播 |
直播员实时更新的赛况信息和互动信息 |
7 |
技术统计 |
出场时间 |
每个球员的出场比赛时间 |
8 |
投篮(中-投) |
每个球员两分球投篮次数和投中次数 |
|
9 |
三分(中-投) |
每个球员三分球投篮次数和投中次数 |
|
10 |
罚球(中-投) |
每个球员罚篮次数和投中次数 |
|
11 |
前篮板 |
每个球员前场篮板个数 |
|
12 |
后篮板 |
每个球员后场蓝本个数 |
|
13 |
总篮板 |
每个球员总篮板个数 |
|
14 |
助攻 |
每个球员的助攻次数 |
|
15 |
抢断 |
每个球员的抢断次数 |
|
16 |
盖帽 |
每个球员的盖帽次数 |
|
17 |
失误 |
每个球员的失误次数 |
|
18 |
犯规 |
每个球员的犯规次数 |
|
19 |
得分 |
每个球员的得分数 |
|
20 |
在线评球 |
会员评球 |
注册会员的在线评论信息 |
21 |
游客评球 |
游客身份的在线评论信息 |
1.4 存储设计
Memcached提供Key-value结构的数据存储,这也是当前主流内存数据库的存储方式,当前版本并不支持结构化数据的存储,本文只针对Key-Value存储结构的内存数据库进行设计,其他模式单独讨论,所以NBA篮球直播室后台数据存储设计最主要的内容就是key的设计。
1.4.1 命名规则
主队使用关键字HOST,客队使用关键字GUEST,所有关键字同意采用大写字母表示。由于双方数据项完全相同,所以本文只列出主队的关键字,客队数据项的关键之只需要替换HOST关键字即可。
1.4.1.1 实时数据
1.4.1.2 文字直播
1.4.1.3 技术统计
设计球员技术统计数据时,球员信息的表达有两种方案:
一是采用球衣号码作为关键字,这种方案的好处是关键字较短,按照NBA篮球比赛规则,球衣号码范围是0-99,所以只需要两位即可。同时考虑到NBA关于单场 比赛球员报名人数的限制,所以在此数据的最大存储量是15。
二是采用球员姓名作为关键字,这种方案的好处是球员数据和球员姓名不需要进行二次匹配,缺点是球员姓名过长,导致存储空间的增加。这里采用球衣号码作为 球员标识。
汇总技术统计采用后台程序自动计算的方式进行,直播员只需更新每个球员的当前数据即可。
1.4.2 过期管理
所有数据都采用过期设置,考虑到一场篮球比赛出现加时及其他各类情况,以及比赛当天赛事收关注度比较高的实际业务需求,过期周期设置为24小时。
1.4.3 持久管理
实时数据最终值除犯规次数和剩余暂停数外,和技术统计数据一起存入关系型数据库。文字直播数据和评论信息存入非关系型数据库。
内存数据库应用之NBA篮球图文直播室存储设计相关推荐
- 内存数据库应用之NBA篮球图文直播室存储设计(Redis版)
内存数据库应用之NBA篮球图文直播室存储设计(Redis版) 1.1 摘要 上一篇<内存数据库应用之NBA篮球图文直播室存储设计>针对NBA篮球直播室的需求规格做了详细的介绍,其中存储设计 ...
- NBA篮球图文直播室之数据排行榜
NBA篮球图文直播室之数据排行榜 作者:张子良 1.1 业务规则 球员数据排行榜,实时显示两队各项技术参数最高的球员信息,技术参数包括得分.篮板.助攻.抢断.盖帽.出场时间.失误和规次数.如下图所示: ...
- NBA篮球图文直播室之数据排行榜设计
1.1 业务规则 球员数据排行榜,实时显示两队各项技术参数最高的球员信息,技术参数包括得分.篮板.助攻.抢断.盖帽.出场时间.失误和犯规次数.如下图所示: 1.2 技术选型 Redis提供当前版本提供 ...
- HTML5期末大作业:运动系列——NBA篮球主题学生网页设计(7个页面) HTML+CSS+JavaScript 体育网页设计HTML代码 学生网页课程设计期末作业下载 大学生网页设计制作成
HTML5期末大作业:运动系列--NBA篮球主题学生网页设计(7个页面) HTML+CSS+JavaScript 体育网页设计HTML代码 学生网页课程设计期末作业下载 大学生网页设计制作成 临近期末 ...
- NBA篮球可视化分析网站
1 简介 今天向大家介绍一个帮助往届学生完成的毕业设计项目,NBA篮球可视化分析网站. 计算机毕业生设计,课程设计需要帮助的可以找我 2 设计概要 21世纪是信息化时代,随着信息技术和网络技术的发展, ...
- NBA篮球运动员大数据分析决策支持系统
package com.dt.spark.sparksql import org.apache.hadoop.conf.Configuration import org.apache.hadoop.f ...
- HTML+CSS网页设计期末课程大作——运动系列NBA篮球主题(7页) 大学生运网页作品 篮球设计作业模板
HTML+CSS网页设计期末课程大作--运动系列NBA篮球主题(7页) 大学生运网页作品 篮球设计作业模板 常见网页设计作业题材有 个人. 美食. 公司. 学校. 旅游. 电商. 宠物. 电器. 茶叶 ...
- 一款java的篮球游戏_NBA-BASKETBALL 一个非常有趣的nba 篮球游戏 简单操作容易上手代码值得学习 Game Program 238万源代码下载- www.pudn.com...
文件名称: NBA-BASKETBALL下载 收藏√ [ 5 4 3 2 1 ] 开发工具: Java 文件大小: 5441 KB 上传时间: 2014-01-20 下载次数: 1 提 供 ...
- 篮球大师显示连接服务器,nba篮球大师能和好友联机打吗 能自己操作吗
nba篮球大师能和好友联机打吗?nba篮球大师能自己操作吗?nba篮球大师怎么与好友联机打?NBA篮球大师是一款模拟经营类篮球手游.想必有不少的小伙伴们都想知道吧,下面是nba篮球大师和好友练级打法攻 ...
最新文章
- sonar jacoco 覆盖率为0_Jacoco统计代码覆盖率
- 趣谈网络协议笔记-二(第七,八,九讲)
- Nginx 禁止访问某个目录或文件的设置方法
- python mysql 时间比较大小_python时间函数与mysql时间函数转换
- Spring Cloud 中的@FeignClient注解
- iOS支付宝支付总结
- android listview item字体,改变listview中item选中时文字的颜色
- 《图书管理系统》毕业论文
- 倍福---Modbus TCP Server和调试助手测试
- 【图像融合】基于NSST结合PCNN实现图像融合附matlab代码
- 秋叶一键重装系统连接服务器失败,小熊教你如何解决一键重装系统失败问题
- ps快捷键常用表,ps快捷键大全!最全面的PS快捷键使用指南(图文演示)
- 常用软件的安装与卸载
- 公开课丨大厂前端初级到高级技术体系
- 全面认识思科交换机产品
- 今日头条——面试案例
- 美大学推开源赞助计划 DIY机器人你也办得到
- 查看电脑是否安装openCV环境以及其版本
- FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask. ORC split
- 欧拉角(Euler angles)