游戏服务器列表-增量处理
前言
服务器列表比较简单
固定表/开服表(一般只会增加及合并),操作频率很低
一般由 服务器ID IP NAME 开服时间
为什么要自己写个, MySQL的增量备份日志,相对太复杂了
看下 一条UPDATE 语句 随便找了表 修改了 10002 level 1 ->2 得用专门的库去完成,而这里需求很简单
这章主要针对 开服表 优化处理
这工具主要是配合前面openresty(登录服/微中台)给运维人员 使用的
2种方式,按需处理 (json数据,方便前端处理) 后端提供 基础版本与最新增量版本号(主动/被动式 —定时查询或 收到某请求去查询)
1> 可以直接由服务器把列表(从数据库或redis读取)给前端,可以请求时带版本号,只发送增量部分
2> 导出文件 放到cdn(并发量大时),前端去拉去增量文件/基础文件,自行比较 更新,由服务器告诉前端基础版本号+最新版本号,到默认的CDN 地址去拉取 eg:CND地址/patch_107
1:环境 (自行安装,没什么难度,这里直接跳过)
win10
vs2015
jsoncpp 库
mysql5.7 (这里搭建在linux上)
2: 说明
1> 数据库
srvlist
srvlistincr
还有2张这里暂时用不到,就不说了
2> 工具界面(MFC 界面做的有点粗糙,请谅解) ( 这工具8月就做完了,今天才想起,看看对大伙有用没)
3>重点说明
sid 服务器开始ID eid 服务器结束ID
比如 这个区有合服101-105 5个合服了,这里就是101 105 缺点不能中间中断
sn 服务名 sip 服务器IP PORT ct 开服时间
特殊行 sid edi 为 0 sn 为当前版本号
vid 增量表 版本号
dopr 删除操作记录 相当与 DELETE FROM srvlistincr WHERE sid = 112 一次删除一条
mopr 修改操作记录 相当与 UPDATE 修改记录
aopr 增加操作记录 相当与 INSERT 增加记录
4>演示
当前数据库
(1) 增加开服(增加130服)
(2) 合并服 (128-129 合并)
129删除 128修改 2步操作
(3) 生成增量 同步数据库
执行后数据库 (增量表增加了记录)
增量文件及内容
(4) 重新生成增量 同步数据库
执行后(增量表,这里暂时需要手动清理,可以修改成自动清理,增加备份操作即可)
数据库的备份及还原的没什么要说明,命令,工具一大堆,这里直接跳过
5:DEMO工程 后续如有需要再上传
如果觉得有用,麻烦点个赞,加个收藏