一种日志数据流生成方法、装置及存储介质制造方法及图纸

技术编号:31452036 阅读:15 留言:0更新日期:2021-12-18 11:15
本申请公开了一种日志数据流生成方法、装置及存储介质,所述方法包括:确定日志的目标格式的配置信息;所述配置信息包括至少一个结构节点,每个结构节点包括至少一个入口节点;遍历每个结构节点中的入口节点,得到每个结构节点对应的入口节点集;将所述每个结构节点对应的入口节点集转换成每个结构节点对应的目标编程语言的成员变量集;调用每个结构节点对应的目标编程语言的成员变量集,生成日志对象;将所述日志对象转换成日志数据流。采用本申请的技术方案,减少了日志定义格式文件转换过程中的人工干预,并提高了日志格式转换的准确率。确率。确率。

【技术实现步骤摘要】
一种日志数据流生成方法、装置及存储介质


[0001]本申请涉及计算机
,尤其涉及一种日志数据流生成方法、装置及存储介质。

技术介绍

[0002]近年来,随着游戏产业规模的不断扩大,游戏玩家的人数,在线时长,以及游戏产生的数据数量都不断增长。为了便于游戏后台监控游戏内关键数据,以及提取数据进行用户分析,绝大部分的游戏服务器都需要一套完备,可靠的工具链,来提取、收集和上报游戏内关键数据。
[0003]随着游戏内容的不断更新,以及游戏版本的频繁迭代,这些关键日志的定义以及内容,可能会经常性地发生变化,因此需要一个简洁,易读的游戏日志定义格式,方便对关键日志定义进行编辑,同时需要实现高度自动化,降低日志采集和上报存储环节的人工干预,降低人工干预导致的错误。
[0004]现在的主流技术里,一般采取JSON(JavaScript Object Notation,一种轻量级的数据交换格式),Protobuf(一种平台无关、语言无关、可扩展且轻便高效的序列化数据结构的协议),Thrift(一种接口描述语言和二进制通讯协议)等数据协议来定义游戏关键日志。但是使用Json、Protobuf等数据协议,性能开销较大,且对于非专业开发人员来说,格式复杂性较高。TDR的解决方案会比使用通用的数据协议进行日志定义更高效,但TDR目前不支持Golang,且TDR本身自带的功能比较庞杂,且依赖整体的游戏服务器基础框架解决方案,可移植性较差。
[0005]因此,有必要提供一种可以减少日志定义格式文件转换过程中的人工干预,并提高日志格式转换准确率的日志数据流生成方法、装置及存储介质。

技术实现思路

[0006]本申请提供了一种日志数据流生成方法、装置及存储介质,可以减少日志定义格式文件转换过程中的人工干预,并提高日志格式转换准确率。
[0007]一方面,本申请提供了一种日志数据流生成方法,所述方法包括:
[0008]确定日志的目标格式的配置信息;所述配置信息包括至少一个结构节点,每个结构节点包括至少一个入口节点;
[0009]遍历每个结构节点中的入口节点,得到每个结构节点对应的入口节点集;
[0010]将所述每个结构节点对应的入口节点集转换成每个结构节点对应的目标编程语言的成员变量集;
[0011]调用每个结构节点对应的目标编程语言的成员变量集,生成日志对象;
[0012]将所述日志对象转换成日志数据流。
[0013]另一方面提供了一种日志数据流生成装置,所述装置包括:
[0014]配置信息确定模块,用于确定日志的目标格式的配置信息;所述配置信息包括至
少一个结构节点,每个结构节点包括至少一个入口节点;
[0015]入口节点集确定模块,用于遍历每个结构节点中的入口节点,得到每个结构节点对应的入口节点集;
[0016]成员变量集确定模块,用于将所述每个结构节点对应的入口节点集转换成每个结构节点对应的目标编程语言的成员变量集;
[0017]日志对象生成模块,用于调用每个结构节点对应的目标编程语言的成员变量集,生成日志对象;
[0018]日志数据流生成模块,用于将所述日志对象转换成日志数据流。
[0019]另一方面提供了一种计算机存储介质,所述计算机存储介质存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如上所述的日志数据流生成方法。
[0020]本申请提供的日志数据流生成方法、装置及存储介质,具有如下技术效果:
[0021]本申请先确定日志的目标格式的配置信息;所述配置信息包括至少一个结构节点,每个结构节点包括至少一个入口节点;然后遍历每个结构节点中的入口节点,得到每个结构节点对应的入口节点集;再将所述每个结构节点对应的入口节点集转换成每个结构节点对应的目标编程语言的成员变量集;从而将定义好的日志格式转换成目标编程语言的成员变量集;再调用每个结构节点对应的目标编程语言的成员变量集,生成日志对象,将所述日志对象转换成日志数据流;从而不需要服务器直接读写初始的日志的目标格式,可以直接根据转换后的目标编程语言的成员变量集生成日志数据流,减少了日志定义格式文件转换过程中的人工干预,并提高了日志格式转换的准确率。
附图说明
[0022]为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
[0023]图1是本申请实施例提供的一种日志数据流生成系统的示意图;
[0024]图2是本申请实施例提供的一种日志数据流生成方法的流程示意图;
[0025]图3是本申请实施例提供的一种XML日志的目标格式配置信息示意图;
[0026]图4是本申请实施例提供的一种XML日志的目标格式配置信息转换后的Golang代码;
[0027]图5是本申请实施例提供的图4中Golang代码得到的日志数据流;
[0028]图6是本申请实施例提供的日志上报模块的工作流程图;
[0029]图7是本申请实施例提供的日志数据流生成工具的框架图;
[0030]图8是本申请实施例提供的一种日志数据流生成装置的结构示意图;
[0031]图9是本申请实施例提供的一种服务器的结构示意图;
[0032]图10是本申请实施例提供的一种区块链系统的结构示意图;
[0033]图11是本申请实施例提供的区块结构示意图。
具体实施方式
[0034]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0035]需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0036]云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种日志数据流生成方法,其特征在于,所述方法包括:确定日志的目标格式的配置信息;所述配置信息包括至少一个结构节点,每个结构节点包括至少一个入口节点;遍历每个结构节点中的入口节点,得到每个结构节点对应的入口节点集;将所述每个结构节点对应的入口节点集转换成每个结构节点对应的目标编程语言的成员变量集;调用每个结构节点对应的目标编程语言的成员变量集,生成日志对象;将所述日志对象转换成日志数据流。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:确定日志的目标格式中每个入口节点的第一数据类型;确定所述目标编程语言的成员变量集中每个成员变量的第二数据类型;构建第一数据类型与第二数据类型的映射关系;基于预设数据库存储第一数据类型与第二数据类型的映射关系;所述将所述每个结构节点对应的入口节点集转换成每个结构节点对应的目标编程语言的成员变量集包括:将所述每个结构节点对应的入口节点集中目标入口节点转换成每个结构节点对应的目标编程语言的成员变量集中目标成员变量。3.根据权利要求2所述的方法,其特征在于,所述将所述每个结构节点对应的入口节点集中目标入口节点转换成每个结构节点对应的目标编程语言的成员变量集中目标成员变量包括:确定所述每个结构节点对应的入口节点集中的目标入口节点;确定所述目标入口节点对应的第一目标数据类型;从所述预设数据库中查找与所述第一目标数据类型匹配的第二目标数据类型;将所述目标入口节点转换为目标编程语言的目标成员变量,所述目标成员变量为第二目标数据类型。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:设置所述目标编程语言的成员变量集中每个成员变量的元标签;所述将所述目标入口节点转换为目标编程语言的目标成员变量的步骤之后,所述方法还包括:确定所述目标成员变量的目标元标签;基于所述目标成员变量的目标元标签,构建目标入口节点与目标成员变量的映射关系。5.根据权利...

【专利技术属性】
技术研发人员:吕骁博曾涛
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1