[发明专利]基于抽象语法树的前端埋点方法及装置在审
申请号: | 202310108216.9 | 申请日: | 2023-02-01 |
公开(公告)号: | CN115994069A | 公开(公告)日: | 2023-04-21 |
发明(设计)人: | 刘泱;林相相;詹娇淑;徐晓琳 | 申请(专利权)人: | 中国工商银行股份有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30;G06F11/34 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 王曦;马冬生 |
地址: | 100140 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 抽象 语法 前端 方法 装置 | ||
本申请提供了一种基于抽象语法树的前端埋点方法及装置,可用于金融领域或其他领域,该方法包括:将代码源文件转化为与所述代码源文件对应的第一AST;对埋点进行全局初始化,所述全局初始化至少包括配置埋点上送地址、生成采集事件清单以及生成埋点上送函数;根据所述采集事件清单,对所述第一AST中的与事件对应的节点进行识别;根据所述第一AST的节点信息中的原始函数名称和文件路径,构造埋点逻辑代码;将所述埋点逻辑代码转换为与所述埋点逻辑代码对应的第二AST;以及将所述第二AST添加至所述第一AST的头部。本申请能够无需人工干预自动预置埋点逻辑,从而降低了成本,提升上送数据的可读性,并快速识别上送信息的业务含义。
技术领域
本申请涉及金融领域或其他领域,尤其涉及一种基于抽象语法树的前端埋点方法及装置。
背景技术
为了收集前端的一些用户行为,需要在前端代码中进行埋点,对特定用户行为的触发频率和页面性能进行分析。对这类特定行为进行埋点,需要在这类行为对应的函数中预置一些信息,保证在函数被触发时上报对应信息。现有的前端埋点方案有两种:
①全埋点方式:在全局对需要监听的事件类别设置监听器,在事件触发时自动上送事件。因为运行态的代码经过了压缩混淆,函数名称发生了改变,这种方法无法获取被触发函数的原始名称,无法有效识别出事件的业务含义,可读性较差,后续分析成本较高。
②代码埋点方式:为了使得上送数据中精确包含事件的业务含义和函数名称,可以采用代码埋点方式,即在每个需要监听的事件中手工添加上送逻辑,保证上送数据的准确性。但这种方法需要逐个手工处理每个函数,人力成本较高。
现有的技术方案中,全埋点方式虽然埋点成本较低,但无法有效识别上送信息的业务含义,后续的分析成本较高;代码埋点方式虽然解决了数据准确性的问题,但导致埋点成本的大幅度提升。因此需要一种数据准确性且低成本的埋点方案。
发明内容
本申请的目的在于提供一种基于抽象语法树的前端埋点方法及装置,通过将源代码文件转化为抽象语法树,构造上送逻辑,并在源代码中添加上送逻辑,由此能够无需人工干预自动预置埋点逻辑,从而降低了成本,且能够提升上送数据的可读性,快速识别出上送信息的业务含义。
抽象语法树(Abstract Syntax Tree),简称AST,它是源代码语法结构的一种抽象表示。它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。在现代前端工程内,可以通过转移工具库Babel将不同语法的前端源代码转译为AST并加以处理,由于AST的树状格式容易解析且格式统一,非常方便在此基础上开发各类前端代码分析或预处理工具,因此AST在前端领域的运用非常广泛,比如:
①编辑器的错误提示、代码格式化、代码高亮、代码自动补全;
②对代码错误或风格的检查;
③转译不同类型的javascript语法。
本申请实施例提供一种基于抽象语法树的前端埋点方法,该方法包括:
将代码源文件转化为与所述代码源文件对应的第一抽象语法树;
对埋点进行全局初始化,所述全局初始化至少包括配置埋点上送地址、生成采集事件清单以及生成埋点上送函数;
根据所述采集事件清单,对所述第一抽象语法树中的与事件对应的节点进行识别;
根据所述第一抽象语法树的节点信息中的原始函数名称和文件路径,构造埋点逻辑代码;
将所述埋点逻辑代码转换为与所述埋点逻辑代码对应的第二抽象语法树;以及
将所述第二抽象语法树添加至所述第一抽象语法树的头部。
具体实施例中,根据所述第一抽象语法树节点信息中的原始函数名称和文件路径,构造埋点逻辑代码,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310108216.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:衬管焊接控制电路、焊接设备和焊接控制方法
- 下一篇:机器人及其电量计算方法