#灵感 确认一下 c_sharp内存接口,是否正确 ![[Pasted image 20250423151707.png]] 记录的创建时间,异常 ![[Pasted image 20250423155344.png]] 需要按照时间,分表处理 ![[Pasted image 20250423155528.png]] ip没有采集 ![[Pasted image 20250423161418.png]] 把Player的数据,也一起放到性能表去统计,因为同一个帐户,有可能在不同设备登录 ![[Pasted image 20250423161736.png]] 三消玩家登录 ![[Pasted image 20250423162317.png]] 添加编辑器标识: ![[Pasted image 20250521103852.png]] 服务端,对应处理数据库相关的逻辑接口:`send2dbAndNotify` ![[Pasted image 20250521104258.png]] 这里是性能采集的,数据入口 ``` go r.POST("/collect", func(c *gin.Context) ``` ![[Pasted image 20250521110041.png]] 断点调试,可以看到,PostForm这个数据结构,是在Request里面的,可以取到,客户端发送过来的,对应字段名称相关数据 ![[Pasted image 20250521111118.png]] 有一个需求:例如后续,要添加某个字段的数据,线上运行的 数据库,也要在已有的数据库中,也添加该字段的数据,更新表结构,使用[[GORM]]的`AutoMigrate`接口即可; 如果是新表,直接使用,最新结构,创建表即可; ``` go // 创建新表时自动使用最新结构 dbInfo.db.Table(tableName).Migrator().CreateTable(&FPSStat{}) ``` 数据库的结构体,添加一下迁移标记map的布尔映射 ![[Pasted image 20250521162238.png]] 初始化构建 ![[Pasted image 20250521161801.png]] 表存在与否,判断处理即可: 这里的逻辑,是重启服务,才会判断一次,是否要AutoMigrate ``` go // 新增检查FPS表的方法 func checkCreateFpsTable(dbInfo *DbInfo, tableName string) { // 首次检查表存在性 if !dbInfo.tableMap[tableName] { dbInfo.tableMap[tableName] = true if !dbInfo.db.Migrator().HasTable(tableName) { // 创建新表时自动使用最新结构 dbInfo.db.Table(tableName).Migrator().CreateTable(&FPSStat{}) } else { // 表已存在时,仅在服务启动后首次访问时迁移 if !dbInfo.migrated[tableName] { dbInfo.db.Table(tableName).AutoMigrate(&FPSStat{}) dbInfo.migrated[tableName] = true } } } } ``` 可以看到,数据过来,会更新一下表(只会是第一个有新数据的玩家过来,会触发) ![[Pasted image 20250521162638.png]] 表结构的更新,是需要比较多的时间,特别是大型表: ``` go 2025/05/21 11:51:50 C:/Users/admin/Downloads/code/git/lgcollecter/server/main.go:650 SLOW SQL >= 200ms [574.640ms] [rows:0] ALTER TABLE `performance_2025-05-21` ADD `score` bigint ``` 对玩家是无感知的: ![[Pasted image 20250521162842.png]] ![[Pasted image 20250521163027.png]] 项目编号: 正式版的,是从10001开始计算的 ![[Pasted image 20250709093542.png]] ``` 三消:10001 slots:10002 瀑布:10003 + 其他 x:10004 追光:10005 ``` 这仨也是瀑布的 ![[Pasted image 20250709095501.png]] mark一下,需要添加的: ![[img_v3_02nl_00a35d05-f7a0-4841-b862-822a2bc32dhu.jpg]] ![[Pasted image 20250509104040.png]] 中台系统参数表: https://inspire.sg.larksuite.com/wiki/Ni6pwifgni6hfZkSGBTlQ1Upg6c?fromScene=spaceOverview ![[Pasted image 20250801103147.png]]