CN111339471B - 动态加载页面埋点数据的方法及装置 - Google Patents
动态加载页面埋点数据的方法及装置 Download PDFInfo
- Publication number
- CN111339471B CN111339471B CN202010173613.0A CN202010173613A CN111339471B CN 111339471 B CN111339471 B CN 111339471B CN 202010173613 A CN202010173613 A CN 202010173613A CN 111339471 B CN111339471 B CN 111339471B
- Authority
- CN
- China
- Prior art keywords
- buried point
- request
- page
- point data
- pageurl
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 230000014509 gene expression Effects 0.000 claims description 14
- 238000009933 burial Methods 0.000 claims description 7
- 238000002347 injection Methods 0.000 claims description 3
- 239000007924 injection Substances 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 208000003580 polydactyly Diseases 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/972—Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开动态加载页面埋点数据的方法及装置,其中,该方法包括:获取页面请求的请求参数;调用埋点服务系统收集所述请求参数,获取与所述请求参数相匹配的埋点数据;将所述埋点数据放置到HttpServletRequest对象中传递给前端页面。该动态加载页面埋点数据的装置,采用上述动态加载页面埋点数据的方法,实现了自动找出需要加埋点数据的页面,以及获取已经配置好的埋点数据传递给前端页面,以实现页面埋点数据的动态加载。
Description
技术领域
本发明信息技术领域,尤其涉及动态加载页面埋点数据的方法及装置。
背景技术
埋点是网站分析中常用数据采集方法,通常是在需要采集数据的地方埋入一段JS代码,页面加载时执行对应的JS方法来获取所需的数据,从而达到数据采集的目的。
目前,进行埋点最直接的做法是在每个需要采集数据的地方手动埋入一段JS代码,如果每个页面埋入的JS代码是完全一样的,那么只需要在公共的装饰页面框架(比如freeMarker的decorators.xml中配置的公共装饰器框架)中埋入一段JS代码就可以了。但是,如果不同的页面需要埋入不同的JS代码,那么这种方法就显得比较笨拙了,对于一个成熟的Web系统一般会有数以百计的页面,要到现有系统中找出所有需要加埋点代码的页面,然后一个一个的去添加埋点代码,分析、修改的工作量巨大,耗时耗力。此外,一旦埋点代码需要修改,则每个有埋点代码的地方都需要修改,显然也增加了埋点代码维护的工作量。
当然如果系统设计之初,就对请求URL参数格式定义的比较规范,可以从URL中根据某种特定的规则获取对应的埋点数据参数,动态加载埋点数据也会变得比较容易,如系统设计之初事先定义好了站点ID、页面ID、页面类型、页面名称等信息,埋点方法刚好需要这四个值作为参数,那么就可以在页面加载时动态从URL获取这四个值,动态传递给埋点方法,从而达到不同页面埋入不同代码的效果。可惜的是,很多成熟的系统的URL并没有任何规律可循,导致无法使用某种规则从URL中获取这四个信息,进而难以实现动态加载埋点代码。
发明内容
本发明的目的在于提供动态加载页面埋点数据的方法及装置,实现了自动找出需要加埋点数据的页面,以及获取已经配置好的埋点数据传递给前端页面。
为了实现上述目的,本发明提供如下技术方案:
一种动态加载页面埋点数据的方法,包括步骤:
获取页面请求的请求参数;
调用埋点服务系统收集所述请求参数,获取与所述请求参数相匹配的埋点数据;
将所述埋点数据放置到HttpServletRequest对象中传递给前端页面。
优选地,获取页面请求的请求参数的方法具体包括:
利用拦截器组件拦截页面请求;
获取所述页面请求的请求参数,所述请求参数包括所述页面请求的PageUrl元素以及所述页面请求对应的Controller类的方法名pageMethod元素。
具体地,所述拦截器组件以jar包的形式提供,并且预设有无需进行拦截的URL白名单。
优选地,调用埋点服务系统收集所述请求参数,获取与所述请求参数相匹配的埋点数据的方法包括:
在埋点服务系统中创建请求参数收集表;
调用埋点服务系统收集所述请求参数,并且以pageMethod元素的hash值作为唯一主键,将请求参数的PageUrl元素和pageMethod元素对应保存到请求参数收集表中;
根据用户的配置信息,获取与所述pageUrl元素相匹配的埋点数据。
具体地,将所述请求参数保存到请求参数收集表中的方法具体包括:
判断请求参数收集表中是否存在以当前hash值为主键的请求参数;
如果已存在,则将请求参数收集表中当前hash值对应的URL字段更新为当前请求参数的pageUrl元素,并请求获取与所述pageUrl元素相匹配的埋点数据;
如果不存在,则以pageMethod元素的hash值作为唯一主键,在请求参数收集表中插入一条新的请求参数,并且结束对埋点服务系统调用。
进一步地,获取与所述pageUrl元素相匹配的埋点数据的方法包括:
创建埋点数据配置表,所述埋点数据配置表用于存储用户根据请求参数收集表中的PageUrl元素配置对应的埋点数据;
查询埋点数据配置表中与所述hash值对应的所有埋点配置记录;
遍历所有埋点配置记录,得到与请求参数中PageUrl元素唯一匹配的埋点配置记录;
获取所述埋点配置记录中的埋点数据,同时从所述请求参数收集表中删除本条请求参数中的PageUrl元素,结束对埋点服务系统调用。
优选地,一个pageMethod元素的hash值对应零条、一条或多条埋点配置记录,每条埋点配置记录对应于一个页面;其中,
所述埋点配置记录包括:页面ID、正则表达式及埋点数据。
较佳地,如果埋点数据配置表中与所述hash值对应的所有埋点配置记录为零条,则结束对埋点服务系统调用;
如果埋点数据配置表中与所述hash值对应的所有埋点配置记录为一条或多条,则遍历所有埋点配置记录,根据PageUrl去匹配埋点配置记录中的正则表达式,如果所有埋点配置记录均匹配失败,则结束对埋点服务系统调用,如果匹配得到与请求参数中PageUrl元素唯一匹配的埋点配置记录,则获取所述埋点配置记录中的埋点数据,同时从所述请求参数收集表中删除本条请求参数中的PageUrl元素,结束对埋点服务系统调用。
优选地,将所述埋点数据放置到HttpServletRequest对象中传递给前端页面的方法包括:
拦截器组件将获取到的埋点数据放置到HttpServletRequest对象中传递给控制模块;
由控制模块将包含埋点数据的HttpServletRequest对象传递给前端页面,以实现页面埋点数据的动态注入。
一种动态加载页面埋点数据的装置,包括web应用系统和埋点服务系统,其中所述web应用系统包括拦截器组件和控制模块,其中,
所述拦截器组件用于获取页面请求的请求参数,并且调用埋点服务系统收集所述请求参数,获取与所述请求参数相匹配的埋点数据;
所述控制器用于将所述埋点数据放置到HttpServletRequest对象中传递给前端页面。
与现有技术相比,本发明提供的动态加载页面埋点数据的方法及装置具有以下有益效果:
本发明提供的动态加载页面埋点数据的方法,首先拦截获取页面请求的请求参数,调用埋点服务系统收集这些请求参数,实现了自动找出需要加埋点数据的页面,以便于开发或维护人员通过分析这些请求参数,有针对性地配置匹配规则及埋点数据;然后利用上述配置好的匹配规则获取已经配置好的与请求参数相匹配的埋点数据,最后将所述埋点数据放置到HttpServletRequest对象中传递给前端页面,实现成功加载。
本发明提供的动态加载页面埋点数据的装置,采用上述动态加载页面埋点数据的方法,实现了自动找出需要加埋点数据的页面,以及获取已经配置好的埋点数据传递给前端页面,以实现页面埋点数据的动态加载。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例中动态加载页面埋点数据的方法示意图;
图2为本发明实施例中动态加载页面埋点数据的方法流程示意图;
图3为本发明实施例中收集请求参数,获取与请求参数相匹配的埋点数据的方法流程示意图;
图4为本发明实施例中动态加载页面埋点数据的系统示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其它实施例,均属于本发明保护的范围。
实施例一
请参阅图1或图2,本发明实施例提供一种动态加载页面埋点数据的方法,包括步骤:
获取页面请求的请求参数;
调用埋点服务系统收集请求参数,获取与请求参数相匹配的埋点数据;
将埋点数据放置到HttpServletRequest对象中传递给前端页面。
本发明实施例提供的动态加载页面埋点数据的方法,首先拦截获取页面请求的请求参数,并且收集这些请求参数,实现了自动找出需要加埋点数据的页面,以便于开发或维护人员通过分析这些请求参数,有针对性地配置匹配规则及埋点数据;然后利用上述配置好的匹配规则获取已经配置好的与请求参数相匹配的埋点数据,最后将所述埋点数据放置到HttpServletRequest对象中传递给前端页面,实现成功加载。
具体实施过程中,获取页面请求的请求参数的方法具体包括:
利用拦截器组件拦截页面请求;
获取页面请求的请求参数,请求参数包括页面请求的PageUrl元素以及页面请求对应的Controller类的方法名pageMethod元素。
其中,拦截器组件为动态加载页面埋点数据的装置提供的公共的客户端代码组件,以jar包的形式提供,当用户需要使用本装置的web应用系统时,只需要引入这个公共jar包,并且在应用的上下文配置文件(例如:applicationContext.xml)中配置该客户端代码组件(拦截器组件)所提供的拦截器Java类(例如BuryPointInterceptor.java),就可以实现页面请求拦截以及埋点数据的获取。
以Java Spring框架为例子,拦截器组件具体实现方式包括:
1、拦截器Java类需要继承Spring框架中的类“org.springframework.web.servlet.handler.HandlerInterceptorAdapter”;
2、重写HandlerInterceptorAdapter类的“public void postHandle(HttpServletRequest request,HttpServletResponse response,Object handler,ModelAndView modelAndView)”方法;
3、实现postHandle方法的方式又具体包括:
3.1、该拦截器组件获取请求URL,即获取pageUrl元素的实现代码:
StringBuffer reqUrl=request.getRequestURL();
String queryString=request.getQueryString();
String pageUrl=StringUtils.isEmpty(queryString)?reqUrl.toString()
:reqUrl.append("?").append(queryString).toString();
3.2、获取请求对应的Controller类的方法名pageMethod的实现代码:
对于开发人员来说,使用拦截器来拦截收集页面请求、统一获取埋点数据,避免了在代码中大范围的修改,大大降底了对业务系统代码的侵入度,大大减少了开发的工作量。
如上一实施例所述,拦截器类及其所依赖的其他相关类最终打包成jar包的形式发布到maven库中。Web应用系统可以通过在pom.xml文件中添加依赖关系、在Applicationcontext配置文件中添加拦截器组件的配置,以及在统一配置平台SCM上配置URL白名单,来实现加载拦截器组件。
此外,考虑到整个动态加载页面埋点数据的过程对Web应用系统的请求接收处理过程有一定的性能损耗,为了尽可能避免不必要的性能损耗,拦截器组件预设有无需进行拦截的URL白名单,通过增加白名单机制,对于明确不需要埋点的页面请求加入白名单,对加入白名单的URL,拦截器直接放行,不再进行收集请求参数以及后续匹配埋点数据的过程,大大降低了性能损耗。
请参阅图3,本发明实施例提供一种动态加载页面埋点数据的方法中,调用埋点服务系统收集请求参数,获取与请求参数相匹配的埋点数据的方法包括:
在埋点服务系统中创建请求参数收集表;
调用埋点服务系统收集请求参数,并且以pageMethod元素的hash值作为唯一主键,将请求参数的PageUrl元素和pageMethod元素对应保存到请求参数收集表中;
根据用户的配置信息,获取与pageUrl元素相匹配的埋点数据。
针对前端开发人员,该方法实现了按照页面请求处理方法的hash值对不同页面动态埋入不同的埋点数据,无需对每个页面硬编码不同的埋点数据,解决了埋点数据动态加载的问题;针对页面分析、埋点数据的配置人员,对于成熟的系统,页面繁多,找出所有的页面也是一个耗时耗力的事,使用该装置实现了页面信息自动收集,使得页面分析、埋点数据配置变得更加容易。
其中,将请求参数保存到请求参数收集表中的方法具体包括:
判断请求参数收集表中是否存在以当前hash值为主键的请求参数;
如果已存在,则将请求参数收集表中当前hash值对应的URL字段更新为当前请求参数的pageUrl元素,并请求获取与pageUrl元素相匹配的埋点数据;
如果不存在,则以pageMethod元素的hash值作为唯一主键,在请求参数收集表中插入一条新的请求参数,并且结束对埋点服务系统调用。
拦截到的页面请求按照请求处理方法的hash值进行去重保存,巧妙的实现了对海量请求信息的合理收集,请求是海量的,但是处理请求的Java方法确是有限的,这种存储方法不仅大大降低了数据的存储量,而且还有效的实现了对请求的归类收集。
此外,由于后续请求获取与pageUrl元素相匹配的埋点数据,是从埋点数据配置表中获取,而埋点数据配置表是页面分析、埋点数据的配置人员通过分析请求参数收集表中的pageUrl元素手动配置的,因此,当请求参数收集表中不存在以当前hash值为主键的请求参数时,埋点数据配置表中自然也不会有与之匹配的埋点数据,故而在请求参数收集表中插入一条新的请求参数后,直接结束对埋点服务系统调用,以减少埋点服务系统的性能损耗。
进一步地,获取与pageUrl元素相匹配的埋点数据的方法包括:
创建埋点数据配置表,埋点数据配置表用于存储用户根据请求参数收集表中的PageUrl元素配置对应的埋点数据;
查询埋点数据配置表中与hash值对应的所有埋点配置记录;其中,一个pageMethod元素的hash值对应零条、一条或多条埋点配置记录,每条埋点配置记录对应于一个页面;埋点配置记录包括:页面ID、正则表达式及埋点数据。
遍历所有埋点配置记录,得到与请求参数中PageUrl元素唯一匹配的埋点配置记录;具体地,如果埋点数据配置表中与hash值对应的所有埋点配置记录为零条,则结束对埋点服务系统调用;如果埋点数据配置表中与hash值对应的所有埋点配置记录为一条或多条,则遍历所有埋点配置记录,根据PageUrl去匹配埋点配置记录中的正则表达式,如果所有埋点配置记录均匹配失败,则结束对埋点服务系统调用,如果匹配得到与请求参数中PageUrl元素唯一匹配的埋点配置记录,则获取埋点配置记录中的埋点数据,同时从请求参数收集表中删除本条请求参数中的PageUrl元素,结束对埋点服务系统调用。
其中,获取匹配埋点数据的过程中,先根据hash值进行初步筛选过滤,筛选出的配置记录多数都是一条,就算有多条也顶多是个位数,这样大大减少了匹配校验的数据量。经过初步筛选后再根据PageUrl(即请求URL)去匹配埋点配置记录中的正则表达式,使用正则表达式实现了根据现有PageUrl灵活定义的匹配模板,巧妙解决了老系统中PageUrl格式多样化的问题,根据正则表达式精确匹配来获取对应的埋点数据,使得正则表达式及埋点数据做到了灵活的按需配置。
如上所述,埋点数据匹配成功后会清空页面请求记录表中当前hash值对应记录的pageUrl字段,因此每条页面请求记录中的pageUrl字段保存的,是对应同一请求hash值的、埋点数据匹配不成功的、最后一次请求的URL,这样就使PageUrl字段具备了特殊的含义,请求参数收集表中的pageUrl字段保存的都是还没有配置埋点数据的请求URL,页面分析、埋点数据的配置人员通过分析请求参数收集表中的所有不为空的PageUrl字段值,通过分析这些URL并为之定义添加相匹配埋点配置记录,包括为之配置合适的页面ID、正则表达式及埋点数据等关键字段等,来不停的完善埋点配置记录表,配置完成后相同页面的请求再次到来时就可以成功匹配到埋点数据了,这样经过一段时间的页面请求的收集与配置,最终总能实现系统中所有的页面请求URL都能成功匹配到对应的埋点数据,从而实现了页面埋点数据的动态加载。当页面请求参数匹配成功后,获取买单数据的同时清除对应的PageUrl字段,这样匹配不成功的PageUrl会越来越少,最终实现全量匹配成功,这样根据请求信息表中的PageUrl字段,就巧妙实现了待配置请求信息的可视化收集。
本发明实施例提供一种动态加载页面埋点数据的方法中,将埋点数据放置到HttpServletRequest对象中传递给前端页面的方法包括:
拦截器组件将获取到的埋点数据放置到HttpServletRequest对象中传递给控制模块;
由控制模块将包含埋点数据的HttpServletRequest对象传递给前端页面,以实现页面埋点数据的动态注入。
具体地,在前端页面公共ftl模板的头部添加<meta name="autoclick"
content="true"/>,使得相关页面自动曝光,能够被大数据统计到,此外,前台公共ftl模板的内容部分引入大数据七段式埋点的js文件,并调用其中的js方法。当需要将埋点数据加载到对应的页面中时,只要在前端页面的JS代码中使用EL表达式,就可以非常容易的把后端的埋点服务系统返回的Java对象的值装载到页面中,比如,如果后台获取的埋点数据(pointValue)以request.setAttribute("pointValue",XXXX)的方式放置到HttpServletRequest对象中,那么前端页面的JS就可以采用’${pointValue}’这种方式来将埋点数据装载到前端页面中。
相对于已有的埋点数据加载方案,本方法针对多数系统存在的URL没有统一的标准(URL规则不统一)、页面分类定义规则不统一以及不同页面需要加载的埋点数据不一致等现状,提出了动态加载埋点数据的方案,大大节省了开发的工作量、节省了收集页面的工作量;以处理页面请求方法的hash值作为收集页面、配置埋点的信息单元,大大提升了页面收集以及数据匹配的效率,将无限请求转换为了有限数据,使可定制化的埋点数据的全量加载成为了可能;同时还实现了借用请求拦截器在后端拦截页面请求、使用正则表达式进行埋点数据精确匹配、以及允许自定义页面规则及页面埋点数据等,极大地方便了开发维护,以及提高了系统的性能。
实施例二
请参阅图4,本发明实施例提供一种动态加载页面埋点数据的装置,包括web应用系统和埋点服务系统,其中web应用系统包括拦截器组件和控制模块,其中,
拦截器组件用于获取页面请求的请求参数,并且调用埋点服务系统收集请求参数,获取与请求参数相匹配的埋点数据;
控制器(controller)用于将埋点数据放置到HttpServletRequest对象中传递给前端页面。
此外,埋点服务系统包括页面请求信息收集模块和埋点数据配置匹配模块,其中,页面请求信息收集模块用于收集所述请求参数,并以pageMethod元素的hash值作为唯一主键,将请求参数的PageUrl元素和pageMethod元素对应保存到请求参数收集表中;埋点数据配置匹配模块用于基于用户的配置信息,根据PageUrl去匹配埋点配置记录中的正则表达式,得到与请求参数中PageUrl元素唯一匹配的埋点配置记录,获取所述埋点配置记录中的埋点数据。
本发明提供的动态加载页面埋点数据的装置,采用上述动态加载页面埋点数据的方法,实现了自动找出需要加埋点数据的页面,以及获取已经配置好的埋点数据传递给前端页面,以实现页面埋点数据的动态加载。与现有技术相比,本发明实施例提供的动态加载页面埋点数据的装置的有益效果与上述实施例一提供的基于动态加载页面埋点数据的方法的有益效果相同,且该装置中的其他技术特征与上一实施例方法公开的特征相同,在此不做赘述。
在上述实施方式的描述中,具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (8)
1.一种动态加载页面埋点数据的方法,其特征在于,包括步骤:
获取页面请求的请求参数;
调用埋点服务系统收集所述请求参数,获取与所述请求参数相匹配的埋点数据;
将所述埋点数据放置到HttpServletRequest对象中传递给前端页面;
所述调用埋点服务系统收集所述请求参数,获取与所述请求参数相匹配的埋点数据的方法包括:在埋点服务系统中创建请求参数收集表;调用埋点服务系统收集所述请求参数,并且以pageMethod元素的hash值作为唯一主键,将请求参数的PageUrl元素和pageMethod元素对应保存到请求参数收集表中;根据用户的配置信息,获取与所述pageUrl元素相匹配的埋点数据;
所述获取与所述pageUrl元素相匹配的埋点数据的方法包括:创建埋点数据配置表,所述埋点数据配置表用于存储用户根据请求参数收集表中的PageUrl元素配置对应的埋点数据;查询埋点数据配置表中与所述hash值对应的所有埋点配置记录;遍历所有埋点配置记录,得到与请求参数中PageUrl元素唯一匹配的埋点配置记录;获取所述埋点配置记录中的埋点数据,同时从所述请求参数收集表中删除本条请求参数中的PageUrl元素,结束对埋点服务系统调用。
2.根据权利要求1所述的动态加载页面埋点数据的方法,其特征在于,获取页面请求的请求参数的方法具体包括:
利用拦截器组件拦截页面请求;
获取所述页面请求的请求参数,所述请求参数包括所述页面请求的PageUrl元素以及所述页面请求对应的Controller类的方法名pageMethod元素。
3.根据权利要求2所述的动态加载页面埋点数据的方法,其特征在于,所述拦截器组件以jar包的形式提供,并且预设有无需进行拦截的URL白名单。
4.根据权利要求1所述的动态加载页面埋点数据的方法,其特征在于,将所述请求参数保存到请求参数收集表中的方法具体包括:
判断请求参数收集表中是否存在以当前hash值为主键的请求参数;
如果已存在,则将请求参数收集表中当前hash值对应的URL字段更新为当前请求参数的pageUrl元素,并请求获取与所述pageUrl元素相匹配的埋点数据;
如果不存在,则以pageMethod元素的hash值作为唯一主键,在请求参数收集表中插入一条新的请求参数,并且结束对埋点服务系统调用。
5.根据权利要求1所述的动态加载页面埋点数据的方法,其特征在于,一个pageMethod元素的hash值对应零条、一条或多条埋点配置记录,每条埋点配置记录对应于一个页面;其中,
所述埋点配置记录包括:页面ID、正则表达式及埋点数据。
6.根据权利要求5所述的动态加载页面埋点数据的方法,其特征在于,如果埋点数据配置表中与所述hash值对应的所有埋点配置记录为零条,则结束对埋点服务系统调用;
如果埋点数据配置表中与所述hash值对应的所有埋点配置记录为一条或多条,则遍历所有埋点配置记录,根据PageUrl去匹配埋点配置记录中的正则表达式,如果所有埋点配置记录均匹配失败,则结束对埋点服务系统调用,如果匹配得到与请求参数中PageUrl元素唯一匹配的埋点配置记录,则获取所述埋点配置记录中的埋点数据,同时从所述请求参数收集表中删除本条请求参数中的PageUrl元素,结束对埋点服务系统调用。
7.根据权利要求2-6中任一项所述的动态加载页面埋点数据的方法,其特征在于,将所述埋点数据放置到HttpServletRequest对象中传递给前端页面的方法包括:
拦截器组件将获取到的埋点数据放置到HttpServletRequest对象中传递给控制模块;
由控制模块将包含埋点数据的HttpServletRequest对象传递给前端页面,以实现页面埋点数据的动态注入。
8.一种动态加载页面埋点数据的装置,其特征在于,包括web应用系统和埋点服务系统,其中所述web应用系统包括拦截器组件和控制模块,其中,
所述拦截器组件用于获取页面请求的请求参数,并且调用埋点服务系统收集所述请求参数,获取与所述请求参数相匹配的埋点数据;
所述控制模块用于将所述埋点数据放置到HttpServletRequest对象中传递给前端页面;
所述拦截器组件还用于在埋点服务系统中创建请求参数收集表;调用埋点服务系统收集所述请求参数,并且以pageMethod元素的hash值作为唯一主键,将请求参数的PageUrl元素和pageMethod元素对应保存到请求参数收集表中;根据用户的配置信息,获取与所述pageUrl元素相匹配的埋点数据;所述获取与所述pageUrl元素相匹配的埋点数据包括:创建埋点数据配置表,所述埋点数据配置表用于存储用户根据请求参数收集表中的PageUrl元素配置对应的埋点数据;查询埋点数据配置表中与所述hash值对应的所有埋点配置记录;遍历所有埋点配置记录,得到与请求参数中PageUrl元素唯一匹配的埋点配置记录;获取所述埋点配置记录中的埋点数据,同时从所述请求参数收集表中删除本条请求参数中的PageUrl元素,结束对埋点服务系统调用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010173613.0A CN111339471B (zh) | 2020-03-13 | 2020-03-13 | 动态加载页面埋点数据的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010173613.0A CN111339471B (zh) | 2020-03-13 | 2020-03-13 | 动态加载页面埋点数据的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111339471A CN111339471A (zh) | 2020-06-26 |
CN111339471B true CN111339471B (zh) | 2023-01-13 |
Family
ID=71186602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010173613.0A Active CN111339471B (zh) | 2020-03-13 | 2020-03-13 | 动态加载页面埋点数据的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111339471B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113297515A (zh) * | 2020-07-16 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 资源信息的处理方法和装置,计算机存储介质和电子设备 |
CN112416728A (zh) * | 2020-11-23 | 2021-02-26 | 平安普惠企业管理有限公司 | 埋点数据获取方法、装置、客户端设备及可读存储介质 |
CN112596716A (zh) * | 2020-12-16 | 2021-04-02 | 上海向心云网络科技有限公司 | 一种插件化脚本编程的方法及系统 |
CN114138630B (zh) * | 2021-11-10 | 2023-06-30 | 浪潮卓数大数据产业发展有限公司 | 一种基于es6装饰器的埋点数据收集方法及装置 |
CN115080278A (zh) * | 2022-07-24 | 2022-09-20 | 北京结慧科技有限公司 | 基于方法参数获取当前登录用户信息的方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104915398A (zh) * | 2015-05-29 | 2015-09-16 | 北京京东尚科信息技术有限公司 | 一种网页埋点的方法及装置 |
CN106156212A (zh) * | 2015-04-22 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种数据采集方法和系统、及其终端和服务器 |
CN109491645A (zh) * | 2018-10-17 | 2019-03-19 | 深圳壹账通智能科技有限公司 | 基于界面元素的埋点方法、装置、计算机设备及存储介质 |
CN110442502A (zh) * | 2019-07-23 | 2019-11-12 | 北京三快在线科技有限公司 | 一种埋点的方法、装置、设备及存储介质 |
-
2020
- 2020-03-13 CN CN202010173613.0A patent/CN111339471B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106156212A (zh) * | 2015-04-22 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种数据采集方法和系统、及其终端和服务器 |
CN104915398A (zh) * | 2015-05-29 | 2015-09-16 | 北京京东尚科信息技术有限公司 | 一种网页埋点的方法及装置 |
CN109491645A (zh) * | 2018-10-17 | 2019-03-19 | 深圳壹账通智能科技有限公司 | 基于界面元素的埋点方法、装置、计算机设备及存储介质 |
CN110442502A (zh) * | 2019-07-23 | 2019-11-12 | 北京三快在线科技有限公司 | 一种埋点的方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111339471A (zh) | 2020-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111339471B (zh) | 动态加载页面埋点数据的方法及装置 | |
CN107895009B (zh) | 一种基于分布式的互联网数据采集方法及系统 | |
CN102752326B (zh) | 在下载文件时处理数据的方法、服务器和系统 | |
CN112468520B (zh) | 一种数据检测方法、装置、设备及可读存储介质 | |
CN105138312B (zh) | 一种表格生成方法及装置 | |
CN111901192B (zh) | 一种页面访问数据的统计方法及装置 | |
CN110888838B (zh) | 基于对象存储的请求处理方法、装置、设备及存储介质 | |
CN105321108A (zh) | 一种用于在对等网络上创建共享信息列表的系统和方法 | |
CN109815214B (zh) | 数据库访问方法、系统、装置及存储介质 | |
CN108512898B (zh) | 文件推送方法、装置、计算机设备和存储介质 | |
CN107239381A (zh) | 崩溃信息的处理方法、装置及系统 | |
CN109783426A (zh) | 采集数据的方法、装置、计算机设备及存储介质 | |
CN1801097A (zh) | 用于使用md4校验和链接跨机器事务的方法和系统 | |
CN110263001A (zh) | 文件管理方法、装置、系统、设备及计算机可读存储介质 | |
CN106909780A (zh) | 医学影像信息处理方法及装置 | |
CN112257032B (zh) | 一种确定app责任主体的方法及系统 | |
CN1766646A (zh) | 分析数据处理系统及分析设备 | |
CN110505289B (zh) | 文件下载方法及装置、计算机可读介质、无线通信设备 | |
CN116204428A (zh) | 一种测试用例生成方法和装置 | |
CN116132625A (zh) | 交易流程的监管方法和装置 | |
CN112788077B (zh) | 数据采集方法、装置、计算机设备和计算机可读存储介质 | |
CN108093416B (zh) | 一种移动app推送数据的采集方法及终端 | |
CN111459756A (zh) | 一种日志处理方法及相关设备 | |
CN115421996B (zh) | 一种高效半自动化异常数据处理方法及系统 | |
CN113704176B (zh) | 文件扫描方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |