服务器数据库时序分表的控制方法、设备和存储介质与流程

摘要: 本技术涉及数据库管理,尤其涉及一种服务器数据库时序分表的控制方法、设备和存储介质。背景技术:1、在游戏服务器日志数据库管理与运营数据分析场景中,对海量日志数据的...
服务器数据库时序分表的控制方法、设备和存储介质与流程

本技术涉及数据库管理,尤其涉及一种服务器数据库时序分表的控制方法、设备和存储介质。

背景技术:

1、在游戏服务器日志数据库管理与运营数据分析场景中,对海量日志数据的高效存储、快速查询与自动化运维管理能力直接关系到游戏运营分析效率、客服响应速度与系统运行稳定性。

2、相关技术中,通过采用单表持续累积存储数据,结合人工手动完成分表处理、数据迁移、表结构同步及新建数据表的方式开展游戏服务器日志存储、查询与运维管理工作,这种方式依靠人工逐项完成数据库运维操作,以固定不变的存储结构承载日志数据,难以适配日志数据高速持续增长、业务需求动态变化的游戏服务器运行场景,导致数据运营效率低下。

3、上述内容仅用于辅助理解本技术的技术方案,并不代表承认上述内容是现有技术。

技术实现思路

1、本技术的主要目的在于提供一种服务器数据库时序分表的控制方法、设备和存储介质,旨在解决数据运营效率低下的技术问题。

2、为实现上述目的,本技术提出一种服务器数据库时序分表的控制方法,所述方法包括:

3、响应自动分表指令,提取分表配置文件中日志表对应的拆分表名、拆分类型和拆分日期,结合分表策略,构建分表规则集合;

4、按照当前系统时间和所述分表规则集合为待拆分日期注册建表任务,得到分表运行状态数据;

5、通过业务侧传入的原始日志表名、所述分表运行状态数据以及所述当前系统时间,匹配所述原始日志表名对应拆分类型的日期计算逻辑,计算得到目标分表名;

6、根据所述目标分表名创建分表,并将业务日志的写入路由映射至所述分表,得到服务器数据库的目标时序分表。

7、在一实施例中,响应所述自动分表指令,逐行提取所述分表配置文件中的原始配置文件条目,得到原始配置行集合;

8、按照预设分隔符逐字段解析所述原始配置行集合中的每一行配置文件,依次确定所述拆分表名、拆分类型和拆分日期,输出字段化配置条目;

9、将所述字段化配置条目中的拆分日期字符串转换为时间数值,剔除早于当前时间且非当日的指定日期类配置条目,得到有效配置条目;

10、基于所述拆分表名为检索索引键,对所述有效配置条目按照所述拆分类型进行分组聚合,构建所述分表规则集合。

11、在一实施例中,按照所述拆分类型,将所述分表规则集合的日志分表规则项划分为每日周期分表项和指定日期分表项,分类得到待建表分表项集合;

12、基于所述待建表分表项集合和所述当前系统时间,筛选出当日投入使用的分表项,逐一校验并复用原始表结构,得到当日已生效分表清单;

13、根据所述当日已生效分表清单和剩余待建表分表项集合,为所述每日周期分表项注册固定间隔的循环建表任务,并为所述指定日期分表项注册对应时间的建表任务,得到定时建表任务集合;

14、整合所述当日已生效分表清单与定时建表任务集合,按照时间轴生成所述分表运行状态数据。

15、在一实施例中,基于所述当日已生效分表清单和所述每日周期分表项,将对应的拆分起始日期与所述当前系统时间进行时序对比,并标记每一项的生效状态和关联时间节点,得到每日分表集合;

16、从所述每日分表集合中筛选出生效分表项,通过对比所述当前系统时间与当日建表时点,对已越过所述当日建表时点的所述生效分表项进行次日分表操作,并更新得到分表生效状态集合;

17、从所述分表生效状态集合中筛选出待生效分表项,计算每一项拆分起始日期前一日建表时点作为首次建表触发时点;

18、校验所述当前系统时间是否越过所述首次建表触发时点并进行对应补建,得到当日定时触发参数集合;

19、根据所述当日定时触发参数集合,为所述每日分表项注册间隔固定的循环建表任务。

20、在一实施例中,基于所述当日已生效分表清单和所述指定日期分表项,将所述指定日期分表项中的待拆分日期,与所述当前系统时间对比,划分为当日生效待建日期与未来生效待建日期;

21、通过所述当日生效待建日期,以所述原始表结构进行分表创建,得到当日补建的分表明细集合;

22、基于所述分表明细集合遍历所述未来生效待建日期,计算所述未来生效待建日期的建表时点,并匹配对应的原始表结构,得到未来分表定时任务参数集合;

23、根据所述未来分表定时任务参数集合,为未来待拆分日期注册对应触发时点的所述建表任务。

24、在一实施例中,基于所述当前系统时间,以所述业务侧传入的原始日志表名作为检索键在所述分表运行状态数据中进行校验,得到分表规则命中标识;

25、根据所述分表规则命中标识,对所述原始日志表名的写入目标解析逻辑进行分支处理,得到候选表名;

26、将所述候选表名与所述分表运行状态数据中的已生效分表清单进行存在性校验,确认表项符合表名标准后输出所述目标分表名。

27、在一实施例中,根据所述分表规则命中标识进行写入路由分支判定,得到包括未命中分支参数与命中分支参数的分支判定结果;

28、基于所述未命中分支参数的分支判定结果,将对应的所述原始日志表名标记为未命中候选表名;

29、基于所述命中分支参数的分支判定结果,提取对应所述原始日志表的拆分类型标识与待拆分日期规则信息;

30、根据所述拆分类型标识调用对应日期匹配遴选算法,结合所述当前系统时间从所述待拆分日期规则信息中匹配计算,得到分表对应的生效基准日期;

31、将所述生效基准日期转换为连续数字格式的日期后缀,并按照原始表名拼接所述日期后缀的预设命名规则生成命中候选分表名,与所述未命中候选表名整合后得到所述目标分表名。

32、在一实施例中,将所述目标分表名对应原始日志表的元数据连接日志数据库进行目标分表的存在性校验,得到表存在状态标识;

33、通过所述表存在标识,对不存在的目标分表以所述原始日志表为同源模板进行创建,得到物理分表就绪信息;

34、基于所述物理分表就绪信息,将业务侧日志写入指令中的原始表名替换为所述目标分表名,构建逻辑表名到物理分表的写入映射关系,得到路由映射生效状态数据;

35、根据所述路由映射生效状态数据将所述业务日志写入对应的所述物理分表,得到服务器数据库的所述目标时序分表。

36、此外,为实现上述目的,本技术还提出一种服务器数据库时序分表设备,所述服务器数据库时序分表设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序配置为实现如上文所述的服务器数据库时序分表的控制方法的步骤。

37、此外,为实现上述目的,本技术还提出一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文所述的服务器数据库时序分表的控制方法的步骤。

38、本技术提供了一种服务器数据库时序分表的控制方法,包括通过响应自动分表指令提取分表配置文件中日志表对应的拆分表名、拆分类型和拆分日期并结合分表策略构建分表规则集合,按照当前系统时间与分表规则集合为待拆分日期注册建表任务得到分表运行状态数据,通过业务侧传入的原始日志表名、分表运行状态数据以及当前系统时间匹配对应拆分类型的日期计算逻辑计算得到目标分表名,最终根据目标分表名完成同源结构分表创建并将业务日志写入路由映射至对应分表得到服务器数据库的目标时序分表,解决了现有服务器日志数据库中单表数据持续膨胀导致查询性能劣化、手动分表操作繁琐易错、分表规则与业务代码耦合度高、缺乏自动建表机制易引发日志写入失败的技术问题,提升了日志数据库分表运维的自动化水平与日志数据的查询响应效率,实现了分表逻辑对业务层的零侵入,保障了日志写入链路的高可用性与数据按时间维度分片的精准性。

39、综上所述,本技术通过配置化分表规则、定时自动建表与透明路由机制,解决了数据运营效率低下的技术问题,提升了日志查询性能与运维效率,实现业务零侵入、写入高可靠的效果。