一种基于aop对组件进行动态埋点的方法、装置及应用制造方法及图纸

技术编号:34052250 阅读:12 留言:0更新日期:2022-07-06 16:06
本申请提出了一种基于aop对组件进行动态埋点的方法、装置及应用,包括以下步骤:在vue项目中引入至少一待埋点vue组件以及埋点插件;在所述埋点插件内针对所有待埋点vue组件编写埋点配置文件,所述埋点配置文件配置所述待埋点vue组件的识别信息、对应所述待埋点vue组件需要执行的埋点函数以及所述埋点函数对应的切入目标函数;通过所述埋点配置文件的所述切入目标函数匹配所述待埋点vue组件内部的埋点函数,在vue项目内代码注入所述埋点函数;注册所述待埋点vue组件。注册所述待埋点vue组件。注册所述待埋点vue组件。

A method, device and application of dynamic embedding of components based on AOP

【技术实现步骤摘要】
一种基于aop对组件进行动态埋点的方法、装置及应用


[0001]本申请涉及数据处理领域,特别是涉及一种基于aop对组件进行动态埋点的方法、装置及应用。

技术介绍

[0002]在数据分析领域,通常将用户在应用中的行为称为事件,如搜索商品、滚动商品列表、浏览商品详情页、将商品加入购物车、支付订单等行为都可称之为事件。用户的所有行为都会有相关的代码运行,如用户打开了一个页面,该页面的代码就会加载;只要研发在开发功能时为事件植入一段监控代码,当事件被触发时,让事件的监控代码同步执行,就可以按约定的方式和结构,采集该事件的相关信息,并上报到服务器。这种对需要对关注的特定事件进行数据采集和上报的解决方案,就是数据埋点。换言之,数据埋点指的是对特定用户行为或事件进行捕获、处理和发送的相关技术及其实施过程。
[0003]在设计数据埋点方案时,根据业务和数据分析的需要设计需要监控的若干个事件,并交由开发实现;代码埋点主要由研发工程师手工在程序中写代码实现,通过触发某个动作后程序自动发送数据。
[0004]但是目前前端应用在数据采集和用户行为分析过程中会存在以下问题:
[0005]1.在代码埋点过程中,会破坏代码规范性并增加代码的耦合度,不利于维护性。
[0006]2.业务代码和埋点代码混合在一起,缺少可复用性。
[0007]3.每次修改埋点代码时需要重新发布版本,增加了人力成本、时间成本,不利于统计埋点信息。

技术实现思路

[0008]本申请实施例提供了一种基于aop对组件进行动态埋点的方法、装置及应用,也以组件注册作为切入点,在不需要改变组件的原始代码实现动态代码埋点,实现代码埋点和业务埋点的完全解耦,减少成本开销。
[0009]第一方面,本申请实施例提供了一种基于aop对组件进行动态埋点的方法,所述方法包括:
[0010]在vue项目中引入至少一待埋点vue组件以及埋点插件;
[0011]在所述埋点插件内针对所有待埋点vue组件编写埋点配置文件,所述埋点配置文件配置所述待埋点vue组件的识别信息、对应所述待埋点vue组件需要执行的埋点函数以及所述埋点函数对应的切入目标函数;
[0012]通过所述埋点配置文件的所述切入目标函数匹配所述待埋点vue组件内部的埋点函数,在vue项目内代码注入所述埋点函数;
[0013]注册所述待埋点vue组件。
[0014]第二方面,本申请实施例提供了一种基于aop对组件进行动态埋点的装置,包括:
[0015]引入模块,用于在vue项目中引入至少一待埋点vue组件以及埋点插件;
[0016]埋点配置模块,用于在所述埋点插件内针对所有待埋点vue组件编写埋点配置文件,所述埋点配置文件配置所述待埋点vue组件的识别信息、对应所述待埋点vue组件需要执行的埋点函数以及所述埋点函数对应的切入目标函数;
[0017]埋点注入模块,用于通过所述埋点配置文件的所述切入目标函数匹配所述待埋点vue组件内部的埋点函数,在vue项目内代码注入所述埋点函数;
[0018]组件注册模块,用于注册所述待埋点vue组件。
[0019]第三方面,本申请实施例提供了一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述的基于aop对vue组件进行动态埋点的方法。
[0020]第四方面,本申请实施例提供了一种计算机程序产品,包括软件代码部分,当所述计算机程序产品在计算机上被运行时,所述软件代码部分用于执行所述的基于aop对vue组件进行动态埋点的方法。
[0021]第五方面,本申请实施例提供了一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序包括用于控制过程以执行过程的程序代码,所述过程包括所述的基于aop对vue组件进行动态埋点的方法。
[0022]本专利技术的主要贡献和创新点如下:
[0023]本申请方案提供的基于aop对组件进行动态埋点的方法、装置及应用,在埋点插件内配置埋点配置文件,在不影响vue组件的组件代码的基础上实现了对vue组件的埋点设置,且可实现动态埋点。
[0024]本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
[0025]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0026]图1是根据本申请实施例的基于aop对组件进行动态埋点的方法的流程图;
[0027]图2是根据本申请一种实施例的基于aop对组件进行动态埋点的方法的逻辑流程图;
[0028]图3是根据本申请实施例的基于aop对组件进行动态埋点的装置的结构框图;
[0029]图4是根据本申请实施例的电子装置的硬件结构示意图。
具体实施方式
[0030]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
[0031]需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更
多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
[0032]在介绍本方案之前,首先对本方案可能涉及的专业名称进行解释:
[0033]AOP:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
[0034]组件(Component):是Vue.js最强大的功能之一,组件可以扩展HTML元素,封装可重用的代码。在较高层面上,组件是自定义元素,Vue.js的编译器为它添加特殊功能。
[0035]Cdn:全称是Content Delivery Network,即内容分发网络,它能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。
[0036]Npm:是Node的模块管理器,只要一行命令,就能安装别人写好的模块。
[0037]实施例一
[0038]如图1所示,本申请实施例提供了一种基于aop对vue组件进行动态埋点的方法,可以本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于aop对vue组件进行动态埋点的方法,其特征在于,包括:在vue项目中引入至少一待埋点vue组件以及埋点插件;在所述埋点插件内针对所有待埋点vue组件编写埋点配置文件,所述埋点配置文件配置所述待埋点vue组件的识别信息、对应所述待埋点vue组件需要执行的埋点函数以及所述埋点函数对应的切入目标函数;通过所述埋点配置文件的所述切入目标函数匹配所述待埋点vue组件内部的埋点函数,在vue项目内代码注入所述埋点函数;注册所述待埋点vue组件。2.根据权利要求1所述的基于aop对vue组件进行动态埋点的方法,其特征在于,“在所述埋点插件内针对所有待埋点vue组件编写埋点配置文件”步骤中,针对每一埋点配置文件导出为对应的javascript文件。3.根据权利要求1所述的基于aop对vue组件进行动态埋点的方法,其特征在于,“通过所述埋点配置文件的所述切入目标函数匹配所述待埋点vue组件内部的埋点函数”步骤中,埋点插件在所述待埋点vue组件内部遍历查找所述切入目标函数,若有的话则获取所述埋点配置文件中的对应所述切入目标函数的埋点函数,若遍历后并没有找到对应的切入目标函数的话就自动忽略所述埋点配置文件。4.根据权利要求1所述的基于aop对vue组件进行动态埋点的方法,其特征在于,“通过所述埋点配置文件的所述切入目标函数匹配所述待埋点vue组件内部的埋点函数”步骤中,以Vue.component()函数作为所处埋点插件的aop切入点,以所述切入目标函数匹配所述待埋点vue组件内部的埋点函数。5.根据权利要求1所述的基于aop对vue组件进行动态埋点的方法,其特征在于,“在vue项目内代码注入所述埋点函数”步骤中,注入多个埋点函数,多个所...

【专利技术属性】
技术研发人员:朱淑敏梁盛麟
申请(专利权)人:城云科技中国有限公司
类型:发明
国别省市:

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

1