[发明专利]基于抽象语法树的前端埋点方法及装置在审
申请号: | 202310108216.9 | 申请日: | 2023-02-01 |
公开(公告)号: | CN115994069A | 公开(公告)日: | 2023-04-21 |
发明(设计)人: | 刘泱;林相相;詹娇淑;徐晓琳 | 申请(专利权)人: | 中国工商银行股份有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30;G06F11/34 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 王曦;马冬生 |
地址: | 100140 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 抽象 语法 前端 方法 装置 | ||
1.一种基于抽象语法树的前端埋点方法,其特征在于,所述方法包括:
将代码源文件转化为与所述代码源文件对应的第一抽象语法树;
对埋点进行全局初始化,所述全局初始化至少包括配置埋点上送地址、生成采集事件清单以及生成埋点上送函数;
根据所述采集事件清单,对所述第一抽象语法树中的与事件对应的节点进行识别;
根据所述第一抽象语法树的节点信息中的原始函数名称和文件路径,构造埋点逻辑代码;
将所述埋点逻辑代码转换为与所述埋点逻辑代码对应的第二抽象语法树;以及
将所述第二抽象语法树添加至所述第一抽象语法树的头部。
2.如权利要求1所述的方法,其特征在于,
根据所述第一抽象语法树的节点信息中的原始函数名称和文件路径,构造埋点逻辑代码,包括:
获取所述原始函数名称和所述文件路径;
根据所述原始函数名称与所述文件路径构造上送结构体;以及
根据所述上送结构体构造所述埋点逻辑代码。
3.如权利要求2所述的方法,其特征在于,
获取所述原始函数名称和所述文件路径,包括:
根据所述第一抽象语法树的节点信息中的名称字段获得所述原始函数名称;以及
从编译上下文中获得所述文件路径。
4.如权利要求1所述的方法,其特征在于,
对所述第一抽象语法树中的与事件对应的节点进行识别,包括:
根据所述节点的属性的值的类型对所述节点进行识别。
5.如权利要求1所述的方法,其特征在于,
所述配置埋点上送地址包括将用户设置的上送地址或者默认上送地址设置为所述埋点上送地址,
所述生成采集事件清单包括将用户设置的采集事件清单与埋点采集的全部事件清单的交集设置为所述采集事件清单,
所述生成埋点上送函数包括根据上送地址、当前站点标识符以及渠道标识生成所述埋点上送函数。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
在进行所述全局初始化之前,判断是否已经完成埋点的所述全局初始化,若判断为已经完成所述全局初始化,则不进行所述全局初始化。
7.一种基于抽象语法树的前端埋点装置,其特征在于,所述装置包括:
第一转化模块,其用于将代码源文件转化为与所述代码源文件对应的第一抽象语法树;
初始化模块,其用于对埋点进行全局初始化,所述全局初始化至少包括配置埋点上送地址、生成采集事件清单、生成埋点上送函数;
识别模块,其用于根据所述采集事件清单,对所述第一抽象语法树中的与事件对应的节点进行识别;
构造模块,其用于根据所述第一抽象语法树的节点信息中的原始函数名称和文件路径,构造埋点逻辑代码;
第二转化模块,其用于将所述埋点逻辑代码转换为与所述埋点逻辑代码对应的第二抽象语法树;以及
添加模块,其用于将所述第二抽象语法树添加至所述第一抽象语法树的头部。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任一项所述的基于抽象语法树的前端埋点方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至6任一项所述的基于抽象语法树的前端埋点方法的计算机程序。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至6任一项所述的基于抽象语法树的前端埋点方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310108216.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:衬管焊接控制电路、焊接设备和焊接控制方法
- 下一篇:机器人及其电量计算方法