CN113568621A - 一种页面埋点的数据处理方法和装置 - Google Patents
一种页面埋点的数据处理方法和装置 Download PDFInfo
- Publication number
- CN113568621A CN113568621A CN202110874228.3A CN202110874228A CN113568621A CN 113568621 A CN113568621 A CN 113568621A CN 202110874228 A CN202110874228 A CN 202110874228A CN 113568621 A CN113568621 A CN 113568621A
- Authority
- CN
- China
- Prior art keywords
- page
- embedded point
- parameters
- template
- text document
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 13
- 238000000034 method Methods 0.000 claims abstract description 57
- 238000012545 processing Methods 0.000 claims description 32
- 238000009933 burial Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000011161 development Methods 0.000 abstract description 9
- 230000006870 function Effects 0.000 description 72
- 238000006243 chemical reaction Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 10
- 230000009471 action Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000012827 research and development Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000010169 landfilling Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Document Processing Apparatus (AREA)
Abstract
本公开涉及一种页面埋点的数据处理方法和装置。包括:获取埋点需求的文本文档,所述文本文档包括页面中各埋点元素及所述埋点元素的属性参数,所述埋点元素包括页面中预先设置的进行埋点的元素;解析所述文本文档,得到所述埋点元素及所述埋点元素对应的属性参数;获取所述属性参数中关键参数对应的默认子模板,将所述埋点元素或所述关键参数写入所述默认子模板,生成对应的拼接子模板,所述默认子模板是预先设置的各个关键参数的代码模板;拼接所述拼接子模板,得到所述页面埋点的程序代码。本公开实施例可以对多种上报类型的埋点元素自动生成对应的页面埋点代码,大幅度的提升开发人员的开发效率。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种页面埋点的数据处理方法和装置。
背景技术
应用软件在研发的过程中,软件开发商利用埋点技术采集一些数据,例如网页的浏览率、点击率、浏览网页停留时长等,用于跟踪应用软件的使用状况,为进一步优化产品提供运营支持。相关技术中,研发人员在编写埋点程序代码时,通过手工的方式,逐行读取埋点需求的文本文档,对每一个埋点函数,手工配置输入输出参数,编写相关的程序代码,然后进行调试。相关技术采用人工编写代码,容易出错,每个埋点函数之间的差异较小,人工很难发现细小差异,需要花费大量的时间来校验数据的正确性;随着埋点数量的增加,给研发人带来较大的工作任务,费时费力;人工编写的代码编写风格不统一,缺少注释,后期维护者很难理解原开发者的定义的参数。
发明内容
本公开提供一种生成页面埋点处理方法和装置,以至少解决相关技术中人工编写费时费力易出错的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种页面埋点的处理方法,包括:
获取埋点需求的文本文档,所述文本文档包括页面中各埋点元素及所述埋点元素的属性参数,所述埋点元素包括页面中预先设置的进行埋点的元素;
解析所述文本文档,得到所述埋点元素及所述埋点元素对应的属性参数;
获取所述属性参数中关键参数对应的默认子模板,将所述埋点元素或所述关键参数写入所述默认子模板,生成对应的拼接子模板,所述默认子模板是预先设置的各个关键参数的代码模板;
拼接所述拼接子模板,得到所述页面埋点的程序代码。
在一示例性实施例中,所述解析所述文本文档,得到所述埋点元素及所述埋点元素对应的属性参数,包括:
从所述文本文档中逐行读取文本数据,得到所述埋点元素及对应的属性参数的字符串格式的数据,其中,将至少一个属性参数相同的埋点元素设置于所述文本文档的同一行。
在一示例性实施例中,所述将至少一个属性参数相同的埋点元素设置于所述文本文档的同一行,包括:
将上报类型相同的埋点元素设置于所述文本文档的同一行。
在一示例性实施例中,所述从所述文本文档中逐行读取文本数据,得到所述埋点元素及对应的属性参数的字符串格式的数据,包括:
从所述文本文档中逐行读取文本数据,将每行所述文本数据以字符串的形式写入数组中,其中所述埋点元素及各属性参数之间设置有预设的换行符号。
在一示例性实施例中,所述从所述文本文档中逐行读取文本数据,得到所述埋点元素及对应的属性参数的字符串格式的数据,包括:
从所述文本文档中逐行读取文本数据,根据预设的文本格式与字符串格式的关联关系中,将所述文本数据转换成字符串格式的数据,其中,所述文本格式与字符串格式的关联关系包括多种形式的文本格式对应同种形式的字符串格式。
在一示例性实施例中,所述获取所述属性参数中关键参数对应的默认子模板,包括:
将所述埋点元素及对应的属性参数中关键参数的字符串格式的数据转换成对象格式的数据;
根据对象格式的埋点元素及关键参数与默认子模板的关联关系,确定所述埋点元素及所述关键参数的默认子模板。
在一示例性实施例中,所述将所述埋点元素及对应的属性参数的字符串格式的数据转换成对象格式的数据,包括:
将所述埋点元素及对应的属性参数的字符串格式的数据输入转换函数中,经所述转换函数,返回所述埋点元素及对应的属性参数的对象格式的数据,所述转换函数用于将字符串格式的数据转换成对象格式的数据。
在一示例性实施例中,所述关键参数包括商家平台业务参数、页面链接参数。
在一示例性实施例中,将所述埋点元素写入所述默认子模板,生成对应的拼接子模板,包括:
将对象格式的埋点元素写入预设的埋点元素上报函数中,得到所述埋点元素的程序代码,其中,所述埋点元素上报函数用于传递请求参数,供预设的数据库存储。
在一示例性实施例中,将所述关键参数写入所述默认子模板,生成对应的拼接子模板,包括:
将所述商家业务参数和页面链接参数依次分别写入商家业务上报函数和页面链接上报函数,得到商家业务参数的程序代码和页面链接参数的程序代码,其中,所述商家业务上报函数和页面链接上报函数均用于传递请求参数,供预设的数据库存储。
在一示例性实施例中,在所述拼接所述拼接子模板,得到所述页面埋点的程序代码,之后还包括:
将所述页面埋点的程序代码以软件开发工具包的方式接入商家平台。
在一示例性实施例中,在所述解析所述文本文档,得到所述埋点元素及所述埋点元素对应的属性参数,之后还包括:
将所述属性参数中非关键参数以字符串的格式写入空白的子模板中,得到所述非关键参数的拼接子模板。
在一示例性实施例中,所述非关键参数包括:上报场景参数、身份认证参数、上报类型参数。
在一示例性实施例中,将所述属性参数中非关键参数以字符串的格式写入空白的子模板中,得到所述非关键参数的拼接子模板,包括:
将所述属性参数中枚举形式的非关键参数,输入至注解函数,输出所述非关键参数的注释,所述注解函数用于获取参数的注解内容;
将所述注释以及除枚举形式外其他形式的非关键参数,以字符串格式写入空白的子模板,得到所述非关键参数的拼接子模板。
在一示例性实施例中,所述拼接所述拼接子模板,得到所述页面埋点的程序代码,包括:
将上报类型相同的埋点元素的关键参数和非关键参数分别对应的拼接子模板按照拼接子模板生成的先后顺序拼接在一起,得到所述页面埋点的程序代码。
在一示例性实施例中,所述获取埋点需求的文本文档,包括:
基于浏览器扩展插件,从所述浏览器扩展插件的输入框中获取选择器,确定与所述选择器相匹配的埋点需求的文本文档。
根据本公开实施例的第二方面,提供一种页面埋点处理装置,包括:
获取模块,用于获取埋点需求的文本文档,所述文本文档包括页面中各埋点元素及所述埋点元素的属性参数,所述埋点元素包括页面中预先设置的进行埋点的元素;
解析模块,用于解析所述文本文档,得到所述埋点元素及所述埋点元素对应的属性参数;
第一写入模块,用于获取所述属性参数中关键参数对应的默认子模板,将所述埋点元素或所述关键参数写入所述默认子模板,生成对应的拼接子模板,所述默认子模板是预先设置的各个关键参数的代码模板;
生成模块,用于拼接所述拼接子模板,得到所述页面埋点的程序代码。
在一示例性实施例中,所述解析模块包括:
读取子模块,用于从所述文本文档中逐行读取文本数据,得到所述埋点元素及对应属性参数的字符串格式的数据,其中,将至少一个属性参数相同的埋点元素设置于所述文本文档的同一行。
在一示例性实施例中,所述将至少一个属性参数相同的埋点元素设置于所述文本文档的同一行,包括:
将上报类型相同的埋点元素设置于所述文本文档的同一行。
在一示例性实施例中,所述读取子模块包括:
第一读取单元,用于从所述文本文档中逐行读取文本数据,将每行所述文本数据以字符串的形式写入数组中,其中所述埋点元素及各属性参数之间设置有预设的换行符号。
在一示例性实施例中,所述读取子模块包括:
第二读取单元,用于从所述文本文档中逐行读取文本数据,根据预设的文本格式与字符串格式的关联关系中,将所述文本数据转换成字符串格式的数据,其中,所述文本格式与字符串格式的关联关系包括多种形式的文本格式对应同种形式的字符串格式。
在一示例性实施例中,所述第一写入模块包括:
转换子模块,用于将所述埋点元素及对应的属性参数中关键参数的字符串格式的数据转换成对象格式的数据;
确定子模块,用于根据对象格式的埋点元素及关键参数与默认子模板的关联关系,确定所述埋点元素及所述关键参数的默认子模板。
在一示例性实施例中,所述转换子模块包括:
转换单元,用于将所述埋点元素及对应的属性参数的字符串格式的数据输入转换函数中,经所述转换函数,返回所述埋点元素及对应的属性参数的对象格式的数据,所述转换函数用于将字符串格式的数据转换成对象格式的数据。
在一示例性实施例中,所述关键参数包括商家平台业务参数、页面链接。
在一示例性实施例中,所述第一写入模块包括:
第一写入子模块,用于将对象格式的埋点元素写入预设的埋点元素上报函数中,得到所述埋点元素的程序代码,其中,所述埋点元素上报函数用于传递请求参数,供预设的数据库存储。
在一示例性实施例中,所述第一写入模块包括:
第二写入子模块,用于将所述商家业务参数和页面链接参数依次分别写入商家业务上报函数和页面链接上报函数,得到商家业务参数的程序代码和页面链接参数的程序代码,其中,所述商家业务上报函数和页面链接上报函数均用于传递请求参数,供预设的数据库存储。
在一示例性实施例中,还包括:
接入模块,用于将所述页面埋点的程序代码以软件开发工具包的方式接入商家平台。
在一示例性实施例中,还包括:
第二写入模块,用于将所述属性参数中非关键参数以字符串的格式写入空白的子模板中,得到所述非关键参数的拼接子模板。
在一示例性实施例中,所述非关键参数包括:上报场景参数、身份认证参数、上报类型参数。
在一示例性实施例中,所述第二写入模块包括:
第三写入子模块,用于将所述属性参数中枚举形式的非关键参数,输入至注解函数,输出所述非关键参数的注释,所述注解函数用于获取参数的注解内容;
第四写入子模块,用于将所述注释以及除枚举形式外其他形式的非关键参数,以字符串格式写入空白的子模板,得到所述非关键参数的拼接子模板。
在一示例性实施例中,所述生成模块包括:
生成子模块,用于将上报类型相同的埋点元素的关键参数和非关键参数分别对应的拼接子模板按照拼接子模板生成的先后顺序拼接在一起,得到所述页面埋点的程序代码。
在一示例性实施例中,所述获取模块包括:
获取子模块,用于基于浏览器扩展插件,从所述浏览器扩展插件的输入框中获取选择器,确定与所述选择器相匹配的埋点需求的文本文档。
根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,使得电子设备执行第一方面的任一项实施例中所述的页面埋点处理方法。
根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行第一方面的任一项实施例中所述的页面埋点处理方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,设备的至少一个处理器从所述可读存储介质读取并执行所述计算机程序,使得设备执行第一方面的任一项实施例中所述的页面埋点处理方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
本实施例,可以自动的生成页面埋点代码,免去了程序开发人员手写代码的过程,可以对多种上报类型的埋点元素生成对应的页面埋点代码,大幅度的提升开发人员的开发效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种页面埋点的数据处理方法的应用场景图。
图2是根据一示例性实施例示出的一种页面埋点的数据处理方法的应用场景图。
图3是根据一示例性实施例示出的一种页面埋点的数据处理方法的应用场景图。
图4是根据一示例性实施例示出的一种页面埋点的数据处理方法的应用场景图。
图5是根据一示例性实施例示出的一种页面埋点的数据处理方法的流程图。
图6是根据一示例性实施例示出的一种页面埋点的数据处理装置的框图。
图7是根据一示例性实施例示出的一种电子设备的框图。
图8是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
为了方便本领域技术人员理解本公开实施例提供的技术方案,下面先对技术方案实现的技术环境进行说明。
应用软件在研发的过程中,软件开发商利用埋点技术采集一些数据,例如网页的浏览率、点击率率、浏览网页的停留时长等。但出于对成本或其他需求,有些软件开发商采用如下方法设置埋点:对网页中的特定的标签预先设置自定义的属性,比如点击属性;在网页的所有文档对象模型(DOM)节点上均绑定上报函数。该方法,虽然在一定程度上减轻了编写埋点程序的过程,但该方法,只能捕捉用户点击行为,由于没有设置其他类型的埋点程序,因此,不能够捕捉其他类型的埋点,例如页面曝光类型等,并且,在初始化页面时,由于DOM节点上均绑定了上报函数,在初始化页面时,需要获取到页面全部的节点,增加了操作的等待时长,降低了页面性能,用户体验差。还有些软件开发商采用下述方法设置埋点:写一个通用的埋点父函数,让子函数在每次调用的时候,调用父函数,或以装饰器形式注入相关参数。在每次定义埋点函数的时候,只需要关注调用类别的属性参数,埋点元素等,其他的交给封装函数来操作。但仍存在如下问题:由于调用封装函数导致开发需要写的参数很长并且难以理解;父函数很长,需要兼容很多逻辑程序;虽然在一定程度上解决了重复开发问题,但是根本上还是要研发者手动写代码,因此,开发效率和精准度不高。
基于类似于上文所述的实际技术需求,本公开实施例提供了一种生成页面埋点方法和装置。
图1至图4是根据一示例性实施例示出的一种页面埋点处理的方法的应用场景图。参考图1至图4所示,所述页面埋点处理的方法可以应用于终端,所述终端可以包括移动电话、计算机、数字广播终端、消息收发设备、游戏控制台、平板设备、医疗设备、健身设备、个人数字助理等。用户(如应用程序开发人员)点击浏览器右上角上的图标101,打开埋点浏览器扩展插件的显示界面,参考图1所示,在图1中的“dom选择器”中输入埋点需求的文本文档对应的选择器名称,如:“.LC20lb.DKV0MDd”,后台程序会自动获取该选择器名称,匹配到对应的DOM节点,例如,该选择器对应图2中DOM节点:自由旅行201,进一步的获取该DOM节点的内容,即关于埋点需求的文本文档。参考图3所示,该埋点需求的文本文档包括页面中的各埋点元素(element_params),如按钮1、按钮2、按钮3等,以及对应的属性参数,如:event、Page_cn、Action_en、content_package、上报时机等。在图1中,用户进一步点击提交按钮,后台程序会自动的展示关于该埋点需求的文本文档对应的页面埋点程序代码的内容。本公开实施例能够自动的根据埋点需求的文本文档,生成对应的埋点程序代码,开发人员通过复制该程序,无需修改,即可直接使用,大大节省了开发人员的程序开发时间。
下面结合附图5对本公开所述的页面埋点处理的方法进行详细的说明。图5是本申请提供的一种页面埋点处理的方法的一种实施例的方法流程图。虽然本公开提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑性上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本公开实施例提供的执行顺序。
具体的,本公开提供的一种页面埋点处理的方法一种实施例如图1所示,所述方法可以应用于终端或服务器包括:
步骤S501,获取埋点需求的文本文档,所述文本文档包括页面中各埋点元素及对应的属性参数,所述埋点元素包括页面中预设置埋点的元素;
步骤S502,解析所述文本文档,得到所述埋点元素及所述埋点元素对应的属性参数;
步骤S503,获取所述属性参数中关键参数对应的默认子模板,将所述埋点元素或所述关键参数写入所述默认子模板,生成对应的拼接子模板,所述默认子模板是预先设置的各个关键参数的代码模板;
步骤S504,拼接所述拼接子模板,得到所述页面埋点的程序代码。
本实施例中,所述埋点元素包括页面中预设置埋点的元素,可以包括页面中的多媒体文件链接、图片、文字以及其它标签或符号等。所述属性参数包括与所述埋点元素相关的一些用户操作行为参数和页面统计参数等,所述用户操作行为参数包括用户对页面元素的具体的操作行为,例如点击、滑动、触摸等,所述页面统计参数可以包括页面曝光、埋点元素的曝光、曝光时长、访客量、页面浏览数,除此之外,所述属性参数还可以包括与所述埋点元素相关的一些描述参数,例如商家平台业务参数、页面链接参数、埋点场景描述、埋点元素描述、URL上报元素、埋点上报类型、转换后的代码函数名称等。所述埋点需求的文本文档一般由软件开发的产品设计人员按照预设的格式撰写完成,在一个示例中,所述文本文档可以包括以自然语言撰写的文本格式的文档。
本实施例中,所述获取关于埋点需求的文本文档,可以包括从终端设备的本地存储中获取所述文本文档,还可以包括利用浏览器扩展插件(devTools)获取所述文本文档。所述利用浏览器扩展插件获取所述文本文档包括:通过扩展插件导航栏(popup)唤起插件,获取其输入框中选择器的名称,匹配到与所述选择器相对应的网页中的文本文档。
本实施例中,所述默认子模板是预先设置的各个关键参数的代码模板,其中包含了一些通用的程序代码。本实施例中,由于获取到的文本文档的内容为自然语言的格式,机器很难识别,因此需要将所述文本文档的内容转换成机器可识别的机器语言。所述解析所述文本文档,确定所述埋点元素的各属性参数对应的程序代码模板,包括:在一个示例中,可以使用文本解析工具,如Cahoots文本解析器,解析文本文档中的内容,并根据解析后的属性参数与程序代码模板的关联关系,确定与之匹配的程序代码模板。在另一个示例中,可以利用一些函数程序,如document.querySelector,获取文本文档中的数据,将其表示成字符串的形式,得到埋点元素及对应属性参数的JSON格式,根据JSON格式与JS格式转换规则,进一步得到埋点元素及对应属性参数的JS格式。根据JS格式的属性参数与默认子模板的关联关系,确定与之匹配的默认子模板。
本实施例中,所述属性参数的类别可以包括关键参数、非关键参数、其中所述非关键参数又可以包括注释类的属性参数、枚举类的属性参数以及其他自定义的属性参数等。本实施例中,所述将所述埋点元素或所述关键参数写入所述默认子模板,可以包括:在一个示例中,若所述属性参数为关键参数,则将所述关键参数写入程序代码模板的输入端;在一个示例中,若所述属性参数的类别为注释类属性参数,则直接将所述注释类属性参数以字符串的格式写入空白模板中;在一个示例中,若所述属性参数为其他自定义的属性参数,例如定义类的,则在所述属性参数对应的字符串的前方加入预设定义符号等,如“@”。通过上述实施例,可以得到各属性参数对应的拼接子模板。需要说明的是,所述属性参数类别的设置方式不限于上述举例,所属领域技术人员在本申请技术精髓的启示下,还可能做出其它变更,但只要其实现的功能和效果与本申请相同或相似,均应涵盖于本申请保护范围内。
本实施例中,所述拼接所述拼接子模板,得到所述页面埋点的程序代码,包括将写入属性参数后的程序代码模板拼接起来,形成完成的编译程序。具体,在一个示例中,可以包括基于预设的埋点元素先后顺序,拼接各个埋点元素各属性参数对应的程序代码模板;在另一个示例中,还可按照网页中DOM树中各埋点元素的继承结构,拼接各个埋点元素各属性参数对应的默认子模板。在一个示例中,可以将拼接完成得到的页面埋点程序,通过扩展插件注入网页(inject)工具,将所述页面埋点显示在浏览器控制台页面,供用户使用。
本实施例,可以自动的生成页面埋点代码,免去了程序开发人员手写代码的过程,可以对多种上报类型的埋点元素生成对应的页面埋点代码,大幅度的提升开发人员的开发效率。
在一示例性的实施例中,所述所述解析所述文本文档,确定所述埋点元素及其各属性参数对应的程序代码模板,包括:
从所述文本文档中逐行读取文本数据,得到所述埋点元素及对应属性参数的字符串格式的数据,其中,将至少一个属性参数相同的埋点元素设置于所述文本文档的同一行。
本实施例中,本实施例中,所述文本文档可以包括XML文件,即*.xml,还可以包括其他doc文件中的表格,本申请对此不做限制。为了降低重复匹配程序代码模板的效率,将至少一个属性参数相同的埋点元素设置于所述文本文档的同一行。在一个示例中,例如,参考图3所示,图3中“element_params”中可以包括多个埋点元素,由于这些埋点元素的属性参数,如page_cn、action_en,均相同,因此,将所述多个埋点元素置于文本文档的同一行。在另一个示例,如多个埋点元素的上报类型相同,则可以将上报类型相同的多个埋点元素设置于文本文档的同一行。在一示例性的实施例中,将上报类型相同的埋点元素设置于所述文本文档的同一行。本公开实施例中,所述上报类型可以包括对埋点元素设置的上报条件,例如该埋点元素在网页打开的时候就上报,或者网页打开预设时段后上报,点击时上报等。需要说明的是,所述上报类型的设置方式不限于上述举例,例如,滑动埋点元素时上报,所属领域技术人员在本申请技术精髓的启示下,还可能做出其它变更,但只要其实现的功能和效果与本申请相同或相似,均应涵盖于本申请保护范围内。
在一示例性的实施例中,所述从所述文本文档中逐行读取文本数据,得到所述埋点元素及对应的属性参数的字符串格式的数据,包括:
从所述文本文档中逐行读取文本数据,将每行所述文本数据以字符串的形式写入数组中,其中所述埋点元素及各属性参数之间设置有预设的换行符号。
本公开实施例中,对文本文档进行解析的目的,就是将文本中的数据提取出来。从所述文本文档中逐行读取文本数据,得到所述埋点元素及对应属性参数的字符串格式的数据,具体可以包括:可以利用document.querySelector函数,经过两次for循环即可获取到文本文档的内容,在一个示例中,可以将文本文档的内容载入到数组string,该数组的元素可以包括如string[0]、string[1]、string[2]...string[n-1],分别对应文本文档的第1行、第2行、第3行、......第n行,其中,n表示文本文档的数据的行数。在一个示例中,参考图3中的文本文档,利用数据string[0]表示图3文本文档的第一行内容,可以表示如下:
string[0]=={
event:’click’,
Page_cn:’BUSINESS_SMART_PHONE,
action_cn:’BUSINESS_BUTTON’
...}
在一个示例中,可以在每个数据的埋点元素及各属性参数之间设置预设的换行符号,例如“/n”,以使得各个埋点元素与属性参数之间条理清晰,便于后续开发人员程序的维护。
在一示例性的实施例中,所述从所述文本文档中逐行读取文本数据,得到所述埋点元素及对应的属性参数的字符串格式的数据,包括:
从所述文本文档中逐行读取文本数据,根据预设的文本格式与字符串格式的关联关系中,将所述文本数据转换成字符串格式的数据,其中,所述文本格式与字符串格式的关联关系包括多种形式的文本格式对应同种形式的字符串格式。
本实施例中,考虑到在人工撰写关于埋点需求的文本文档的过程中,可能由于笔误而出现撰写错误,不符合规范,从而在解析该文本文档的过程中,出现解析失败。因此,本实施例设置文本格式与字符串格式的关联关系包括多种形式的文本格式对应同种形式的字符串格式。所述多种形式的文本格式对应同种形式的字符串格式,在一个示例中,包括:例如在文本文档中出现:1、{};2、”;3、;出现在文本文档的这3中格式,均对应字符串格式中的:{}。在另一个示例中,包括:例如在文本文档中出现:1、{‘a’:1};2、{“a”:1};3、{‘a’:1};4、{‘a’:’1’};出现在文本文档的这四种格式,均对应字符串格式中的:{a:1}。
本实施例,设置文本格式的多种版型对应相同的字符串格式,能够保证文本文档的正常解析,不会因某个小的错误阻塞解析过程,从而保证页面埋点程序代码运行结果符合需求,不需要重新检查埋点元素数据,提高了研发人员的开发效率。
在一示例性实施例中,所述获取所述属性参数中关键参数对应的默认子模板,包括:
将所述埋点元素及对应的属性参数中关键参数的字符串格式的数据转换成对象格式的数据;
根据对象格式的埋点元素及关键参数与默认子模板的关联关系,确定所述埋点元素及所述关键参数的默认子模板。
本实施例中,所述将所述埋点元素及对应属性参数中的关键参数的字符串格式的数据转换成对象格式的数据,具体可以包括:将上述字符串格式的数据,通过JSON.parse函数转换成JS对象格式的数据,在另一个示例中,还可以将所述埋点元素及对应的属性参数的字符串格式的数据输入转换函数中,经所述转换函数,返回所述埋点元素及对应的属性参数的对象格式的数据,所述转换函数用于将字符串格式的数据转换成对象格式的数据。例如:通过eval和new Function的方式把每个字符串转化成对象,其中,以文本文档表格第一列列表作为JS对象格式中的键值。本公开实施例中考虑到读取的字符串格式的数据不能被函数调用,因此,将该字符串格式转换成对象格式,后续,识别对象格式的埋点元素及对应的属性参数,确定所述埋点元素的各属性参数中关键参数对应的默认子模板。在一个示例中,可以设置对象格式的关键参数与默认子模板的关联关系,根据所述关键参数,确定与所述属性参数对应的默认子模板。
在一示例性实施例中,所述关键参数包括商家平台业务参数、页面链接参数。本公开实施例中,所述商家平台业务参数包括商家页面中的一些业务,例如产品搜索业务、产品的购买业务、产品展示业务、产品评价业务等。所述页面链接参数包括对应业务的网址链接、详情页链接等。
在一示例性实施例中,将所述埋点元素写入所述默认子模板,生成对应的拼接子模板,包括:
将对象格式的埋点元素写入预设的埋点元素上报函数中,得到所述埋点元素的程序代码,其中,所述埋点元素上报函数用于传递请求参数,供预设的数据库存储。
本公开实施例中,埋点元素可以表示为elementPackage,埋点元素上报函数可以表示为element_params,其中,埋点元素上报函数包含了请求头、请求行和请求体等内容,所述请求体中,将一个文本文档中的组件值通过param1=value1¶m2=value2的键值对形式编码成一个格式化串,它承载多个请求参数的数据。
在一示例性实施例中,所述将所述关键参数写入所述默认子模板,生成对应的拼接子模板,包括:
将所述商家业务参数和页面链接参数依次分别写入商家业务上报函数和页面链接上报函数,得到商家业务参数的程序代码和页面链接参数的程序代码,其中,所述商家业务上报函数和页面链接上报函数均用于传递请求参数,供预设的数据库存储。
本公开实施例中,所述商家业务上报函数和页面链接上报函数与上述埋点元素上报函数的功能相同,均用于传递请求参数。例如页面链接参数,可以通过类似于“/chapter15/user.html?param1=value1¶m2=value2”的方式传递请求参数。
本公开实施例,对不同的关键参数,设置不同的传递函数,对于不同的需求文档,可以灵活的进行组合搭配,适用性高。
在一示例性实施例中,在所述拼接所述拼接子模板,得到所述页面埋点的程序代码,之后还包括:
将所述页面埋点的程序代码以软件开发工具包的方式接入商家平台。
本实施例中,所述软件开发工具包包括:用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的集合,例如SDK即开发Windows平台下的应用程序所使用的SDK。它可以简单的为某个程序设计语言提供应用程序接口API的一些文件,但也可能包括能与某种嵌入式系统通讯的复杂的硬件。在一个示例中,参考图3所示的文本文档,关键参数可以包括conten_package,对应于ContentPackage默认子模板,将文本文档中的属性参数conten_package写入ContentPackage程序代码的输入端口,上报在商家平台如weblogger的扩展内容参数中。在另一个示例中,关键参数还可以包括url_package,对应于urlPackage程序代码模板,将文本文档中的url_package属性参数写入urlPackage程序代码的输入端口,上报在PV曝光里,包括URL的请求来源。在另一个示例中,埋点元素element_params也可以作为关键参数,对应elementPackage程序代码模板,将文本文档中的element_params写入elementPackage程序代码的输入端口,上报在商家平台如weblogger的元素参数。
在一示例性实施例中,在所述解析所述文本文档,得到所述埋点元素及所述埋点元素对应的属性参数,之后还包括:
将所述属性参数中非关键参数以字符串的格式写入空白的子模板中,得到所述非关键参数的拼接子模板。
本实施例中,所述非关键参数不需要进行函数传参,因此将所述非关键参数以字符串格式写入所述空白模板。所述非关键参数可以包括:上报场景参数、身份认证参数、上报类型参数等。。在一个示例中,将所述属性参数中枚举形式的非关键参数,输入至注解函数,输出所述非关键参数的注释,所述注解函数用于获取参数的注解内容;所述枚举形式的非关键参数,例如页面中出现的:1|2|3|4.。将该非关键参数输入至注解函数,如@query,将1,2,3,4的注释以字符传的格式写入所述空白模板,1表示本月,2表示上周,3表示去年,4表示上个季度等。在一个示例中,可以将所述注释类的程序模板设置于调用类的程序模板之前。在一个示例中,将所述注释以及除枚举形式外其他形式的非关键参数,以字符串格式写入空白的子模板,得到所述非关键参数的拼接子模板。所述除枚举形式外其他形式的非关键参数可以包括例如上报场景scene,服务好认证页功能按钮action_cn、埋点时机、埋点说明等,可以将这些属性参数以字符串格式写入所述空白模板。本实施例将注释类的属性参数或埋点元素,均以字符串的格式写入空白模板,后期程序维护时,可以在开发过程中直接查看注释,无需借助关于埋点需求的文本文档,维护更佳的方便快捷。
在一示例性实施例中,所述拼接所述拼接子模板,得到所述页面埋点的程序代码,包括:
将上报类型相同的埋点元素的关键参数和非关键参数分别对应的拼接子模板按照拼接子模板生成的先后顺序拼接在一起,得到所述页面埋点的程序代码。后期可以根据埋点需求,调用对应的拼接子模板。
在一个示例性实施例中,所述获取埋点需求的文本文档,包括:
基于浏览器扩展插件,从所述浏览器扩展插件的输入框中获取选择器,确定与所述选择器相匹配的关于埋点需求的文本文档。
本实施例中,所述浏览器扩展插件能够在第一时间注入web页面,读取网页信息,并操作文档对象模型(DOM)。在一个示例中,通过扩展插件导航栏(popup)唤起插件,获取其输入框中选择器的名称,匹配到与所述选择器相对应的网页中的文本文档。
图6是根据一示例性实施例示出的一种页面埋点的数据处理装置框图。参照图6,该装置包括:
获取模块601,用于获取埋点需求的文本文档,所述文本文档包括页面中各埋点元素及所述埋点元素的属性参数,所述埋点元素包括页面中预先设置的进行埋点的元素;
解析模块602,用于解析所述文本文档,得到所述埋点元素及所述埋点元素对应的属性参数;
第一写入模块603,用于获取所述属性参数中关键参数对应的默认子模板,将所述埋点元素或所述关键参数写入所述默认子模板,生成对应的拼接子模板,所述默认子模板是预先设置的各个关键参数的代码模板;
生成模块604,用于拼接所述拼接子模板,得到所述页面埋点的程序代码。
在一个示例性实施例中,所述解析模块包括:
读取子模块,用于从所述文本文档中逐行读取文本数据,得到所述埋点元素及对应属性参数的字符串格式的数据,其中,将至少一个属性参数相同的埋点元素设置于所述文本文档的同一行。
在一个示例性实施例中,所述将至少一个属性参数相同的埋点元素设置于所述文本文档的同一行,包括:
将上报类型相同的埋点元素设置于所述文本文档的同一行。
在一个示例性实施例中,所述读取子模块包括:
第一读取单元,用于从所述文本文档中逐行读取文本数据,将每行所述文本数据以字符串的形式写入数组中,其中所述埋点元素及各属性参数之间设置有预设的换行符号。
在一个示例性实施例中,所述读取子模块包括:
第二读取单元,用于从所述文本文档中逐行读取文本数据,根据预设的文本格式与字符串格式的关联关系中,将所述文本数据转换成字符串格式的数据,其中,所述文本格式与字符串格式的关联关系包括多种形式的文本格式对应同种形式的字符串格式。
在一个示例性实施例中,所述第一写入模块包括:
转换子模块,用于将所述埋点元素及对应的属性参数中关键参数的字符串格式的数据转换成对象格式的数据;
确定子模块,用于根据对象格式的埋点元素及关键参数与默认子模板的关联关系,确定所述埋点元素及所述关键参数的默认子模板。
23.根据权利要求22所述的装置,其特征在于,所述转换子模块包括:
转换单元,用于将所述埋点元素及对应的属性参数的字符串格式的数据输入转换函数中,经所述转换函数,返回所述埋点元素及对应的属性参数的对象格式的数据,所述转换函数用于将字符串格式的数据转换成对象格式的数据。
在一个示例性实施例中,所述关键参数包括商家平台业务参数、页面链接。
在一个示例性实施例中,所述第一写入模块包括:
第一写入子模块,用于将对象格式的埋点元素写入预设的埋点元素上报函数中,得到所述埋点元素的程序代码,其中,所述埋点元素上报函数用于传递请求参数,供预设的数据库存储。
在一个示例性实施例中,所述第一写入模块包括:
第二写入子模块,用于将所述商家业务参数和页面链接参数依次分别写入商家业务上报函数和页面链接上报函数,得到商家业务参数的程序代码和页面链接参数的程序代码,其中,所述商家业务上报函数和页面链接上报函数均用于传递请求参数,供预设的数据库存储。
在一个示例性实施例中,还包括:
接入模块,用于将所述页面埋点的程序代码以软件开发工具包的方式接入商家平台。
在一个示例性实施例中,还包括:
第二写入模块,用于将所述属性参数中非关键参数以字符串的格式写入空白的子模板中,得到所述非关键参数的拼接子模板。
在一个示例性实施例中,所述非关键参数包括:上报场景参数、身份认证参数、上报类型参数。
在一个示例性实施例中,所述第二写入模块包括:
第三写入子模块,用于将所述属性参数中枚举形式的非关键参数,输入至注解函数,输出所述非关键参数的注释,所述注解函数用于获取参数的注解内容;
第四写入子模块,用于将所述注释以及除枚举形式外其他形式的非关键参数,以字符串格式写入空白的子模板,得到所述非关键参数的拼接子模板。
在一个示例性实施例中,所述生成模块包括:
生成子模块,用于将上报类型相同的埋点元素的关键参数和非关键参数分别对应的拼接子模板按照拼接子模板生成的先后顺序拼接在一起,得到所述页面埋点的程序代码。
在一个示例性实施例中,所述获取模块包括:
获取子模块,用于基于浏览器扩展插件,从所述浏览器扩展插件的输入框中获取选择器,确定与所述选择器相匹配的埋点需求的文本文档。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图7是根据一示例性实施例示出的一种用于生成业务埋点的设备700的框图。例如,设备700可以是移动电话、计算机、数字广播终端、消息收发设备、游戏控制台、平板设备、医疗设备、健身设备、个人数字助理等。
参照图7,设备700可以包括以下一个或多个组件:处理组件702、存储器704、电源组件706、多媒体组件708、音频组件710、输入/输出(I/O)的接口712、传感器组件714以及通信组件716。
处理组件702通常控制设备700的整体操作,诸如与显示、电话呼叫、数据通信、相机操作和记录操作相关联的操作。处理组件702可以包括一个或多个处理器720来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件702可以包括一个或多个模块,便于处理组件702和其他组件之间的交互。例如,处理组件702可以包括多媒体模块,以方便多媒体组件708和处理组件702之间的交互。
存储器704被配置为存储各种类型的数据以支持在设备700的操作。这些数据的示例包括用于在设备700上操作的任何应用程序或方法的指令、联系人数据、电话簿数据、消息、图片、视频等。存储器704可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、快闪存储器、磁盘或光盘。
电源组件706为设备700的各种组件提供电力。电源组件706可以包括电源管理系统,一个或多个电源,及其他与为设备700生成、管理和分配电力相关联的组件。
多媒体组件708包括在所述设备700和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件708包括一个前置摄像头和/或后置摄像头。当设备700处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件710被配置为输出和/或输入音频信号。例如,音频组件710包括一个麦克风(MIC),当设备700处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器704或经由通信组件716发送。在一些实施例中,音频组件710还包括一个扬声器,用于输出音频信号。
I/O接口712为处理组件702和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件714包括一个或多个传感器,用于为设备700提供各个方面的状态评估。例如,传感器组件714可以检测到设备700的打开/关闭状态,组件的相对定位,例如所述组件为设备700的显示器和小键盘,传感器组件714还可以检测设备700或设备700一个组件的位置改变,用户与设备700接触的存在或不存在,设备Z00方位或加速/减速和设备700的温度变化。传感器组件714可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件714还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件714还可以包括加速度传感器、陀螺仪传感器、磁传感器、压力传感器或温度传感器。
通信组件716被配置为便于设备700和其他设备之间有线或无线方式的通信。设备700可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件716经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件716还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,设备700可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器704,上述指令可由设备700的处理器720执行以完成上述方法。例如,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供一种计算机程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,设备的至少一个处理器从所述可读存储介质读取并执行所述计算机程序,使得设备执行第一方面的任一项实施例中所述的页面埋点处理方法。
图8是根据一示例性实施例示出的一种用于页面埋点处理设备800的框图。例如,设备800可以为一服务器。参照图8,设备800包括处理组件820,其进一步包括一个或多个处理器,以及由存储器822所代表的存储器资源,用于存储可由处理组件820的执行的指令,例如应用程序。存储器822中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件820被配置为执行指令,以执行上述页面埋点处理的方法。
设备800还可以包括一个电源组件824被配置为执行设备800的电源管理,一个有线或无线网络接口826被配置为将设备800连接到网络,和一个输入输出(I/O)接口828。设备800可以操作基于存储在存储器822的操作系统,例如WindowsServer,MacOSX,Unix,Linux,FreeBSD或类似。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器822,上述指令可由设备800的处理器执行以完成上述方法。存储介质可以是计算机可读存储介质,例如,所述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供一种计算机程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,设备的至少一个处理器从所述可读存储介质读取并执行所述计算机程序,使得设备执行第一方面的任一项实施例中所述的页面埋点处理方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种页面埋点的数据处理方法,其特征在于,包括:
获取埋点需求的文本文档,所述文本文档包括页面中各埋点元素及所述埋点元素的属性参数,所述埋点元素包括页面中预先设置的进行埋点的元素;
解析所述文本文档,得到所述埋点元素及所述埋点元素对应的属性参数;
获取所述属性参数中关键参数对应的默认子模板,将所述埋点元素或所述关键参数写入所述默认子模板,生成对应的拼接子模板,所述默认子模板是预先设置的各个关键参数的代码模板;
拼接所述拼接子模板,得到所述页面埋点的程序代码。
2.根据权利要求1所述的方法,其特征在于,所述解析所述文本文档,得到所述埋点元素及所述埋点元素对应的属性参数,包括:
从所述文本文档中逐行读取文本数据,得到所述埋点元素及对应的属性参数的字符串格式的数据,其中,将至少一个属性参数相同的埋点元素设置于所述文本文档的同一行。
3.根据权利要求2所述的方法,其特征在于,所述将至少一个属性参数相同的埋点元素设置于所述文本文档的同一行,包括:
将上报类型相同的埋点元素设置于所述文本文档的同一行。
4.根据权利要求2所述的方法,其特征在于,所述从所述文本文档中逐行读取文本数据,得到所述埋点元素及对应的属性参数的字符串格式的数据,包括:
从所述文本文档中逐行读取文本数据,将每行所述文本数据以字符串的形式写入数组中,其中所述埋点元素及各属性参数之间设置有预设的换行符号。
5.根据权利要求2所述的方法,其特征在于,所述从所述文本文档中逐行读取文本数据,得到所述埋点元素及对应的属性参数的字符串格式的数据,包括:
从所述文本文档中逐行读取文本数据,根据预设的文本格式与字符串格式的关联关系中,将所述文本数据转换成字符串格式的数据,其中,所述文本格式与字符串格式的关联关系包括多种形式的文本格式对应同种形式的字符串格式。
6.根据权利要求1所述的方法,其特征在于,所述获取所述属性参数中关键参数对应的默认子模板,包括:
将所述埋点元素及对应的属性参数中关键参数的字符串格式的数据转换成对象格式的数据;
根据对象格式的埋点元素及关键参数与默认子模板的关联关系,确定所述埋点元素及所述关键参数的默认子模板。
7.一种页面埋点的数据处理装置,其特征在于,包括:
获取模块,用于获取埋点需求的文本文档,所述文本文档包括页面中各埋点元素及所述埋点元素的属性参数,所述埋点元素包括页面中预先设置的进行埋点的元素;
解析模块,用于解析所述文本文档,得到所述埋点元素及所述埋点元素对应的属性参数;
第一写入模块,用于获取所述属性参数中关键参数对应的默认子模板,将所述埋点元素或所述关键参数写入所述默认子模板,生成对应的拼接子模板,所述默认子模板是预先设置的各个关键参数的代码模板;
生成模块,用于拼接所述拼接子模板,得到所述页面埋点的程序代码。
8.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至6中任一项所述的页面埋点处理方法。
9.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至6中任一项所述的页面埋点处理方法。
10.一种计算机程序产品,所述计算机程序产品中包括指令,其特征在于,所述指令被电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至6任一项所述的页面埋点处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110874228.3A CN113568621A (zh) | 2021-07-30 | 2021-07-30 | 一种页面埋点的数据处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110874228.3A CN113568621A (zh) | 2021-07-30 | 2021-07-30 | 一种页面埋点的数据处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113568621A true CN113568621A (zh) | 2021-10-29 |
Family
ID=78169625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110874228.3A Pending CN113568621A (zh) | 2021-07-30 | 2021-07-30 | 一种页面埋点的数据处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113568621A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114489660A (zh) * | 2021-12-22 | 2022-05-13 | 北京字节跳动网络技术有限公司 | 一种埋点代码添加方法、装置及设备 |
CN115080150A (zh) * | 2022-07-19 | 2022-09-20 | 北京达佳互联信息技术有限公司 | 数据处理方法、装置、电子设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111046317A (zh) * | 2019-12-27 | 2020-04-21 | 北京奇艺世纪科技有限公司 | 页面数据采集方法、装置、设备和计算机可读存储介质 |
CN111241446A (zh) * | 2020-01-13 | 2020-06-05 | 杭州安恒信息技术股份有限公司 | 一种web网页的正文内容提取方法、装置、设备及介质 |
CN111666526A (zh) * | 2020-06-17 | 2020-09-15 | 广州市百果园信息技术有限公司 | 页面生成方法、装置、设备及存储介质 |
CN111695064A (zh) * | 2020-04-29 | 2020-09-22 | 北京城市网邻信息技术有限公司 | 一种埋点加载方法及装置 |
CN112380473A (zh) * | 2020-11-16 | 2021-02-19 | 康键信息技术(深圳)有限公司 | 数据采集与同步方法、装置、设备及存储介质 |
CN112711398A (zh) * | 2020-12-29 | 2021-04-27 | 平安普惠企业管理有限公司 | 埋点文件生成方法、装置、设备及存储介质 |
-
2021
- 2021-07-30 CN CN202110874228.3A patent/CN113568621A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111046317A (zh) * | 2019-12-27 | 2020-04-21 | 北京奇艺世纪科技有限公司 | 页面数据采集方法、装置、设备和计算机可读存储介质 |
CN111241446A (zh) * | 2020-01-13 | 2020-06-05 | 杭州安恒信息技术股份有限公司 | 一种web网页的正文内容提取方法、装置、设备及介质 |
CN111695064A (zh) * | 2020-04-29 | 2020-09-22 | 北京城市网邻信息技术有限公司 | 一种埋点加载方法及装置 |
CN111666526A (zh) * | 2020-06-17 | 2020-09-15 | 广州市百果园信息技术有限公司 | 页面生成方法、装置、设备及存储介质 |
CN112380473A (zh) * | 2020-11-16 | 2021-02-19 | 康键信息技术(深圳)有限公司 | 数据采集与同步方法、装置、设备及存储介质 |
CN112711398A (zh) * | 2020-12-29 | 2021-04-27 | 平安普惠企业管理有限公司 | 埋点文件生成方法、装置、设备及存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114489660A (zh) * | 2021-12-22 | 2022-05-13 | 北京字节跳动网络技术有限公司 | 一种埋点代码添加方法、装置及设备 |
CN114489660B (zh) * | 2021-12-22 | 2024-03-08 | 抖音视界有限公司 | 一种埋点代码添加方法、装置及设备 |
CN115080150A (zh) * | 2022-07-19 | 2022-09-20 | 北京达佳互联信息技术有限公司 | 数据处理方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11822919B2 (en) | Auto-generation of API documentation via implementation-neutral analysis of API traffic | |
US11249730B2 (en) | System and method for converting actions based on determined personas | |
CN110442822B (zh) | 一种小程序内容展示方法、装置、设备及存储介质 | |
CN106569800B (zh) | 前端界面生成方法及装置 | |
CA2684822C (en) | Data transformation based on a technical design document | |
US20170357486A1 (en) | Enhancing a crowdsourced integrated development environment application | |
CN110955428A (zh) | 一种页面显示方法、装置、电子设备及介质 | |
US8671389B1 (en) | Web application resource manager on the web and localizable components | |
CN110928763A (zh) | 测试方法、装置、存储介质及计算机设备 | |
CN113568621A (zh) | 一种页面埋点的数据处理方法和装置 | |
US20150161160A1 (en) | Application Localization | |
Núñez et al. | A model-driven approach for the development of native mobile applications focusing on the data layer | |
CN116992081A (zh) | 页面表单的数据处理方法、装置和用户终端 | |
CN113157256B (zh) | 接口代码的生成方法、装置、电子设备、存储介质及产品 | |
CN104991857B (zh) | 跟踪调试方法及装置 | |
CN112817817B (zh) | 埋点信息查询方法、装置、计算机设备和存储介质 | |
CN113419711A (zh) | 页面引导方法、装置、电子设备及存储介质 | |
US8452814B1 (en) | Gathering context in action to support in-context localization | |
US11544179B2 (en) | Source traceability-based impact analysis | |
CN108073638B (zh) | 数据诊断方法及装置 | |
JP7029557B1 (ja) | 判定装置、判定方法および判定プログラム | |
CN109101429A (zh) | 一种机顶盒的浏览器页面调试的方法及装置 | |
CN114218235A (zh) | 页面文本的更新方法、装置、电子设备及存储介质 | |
CN114546436A (zh) | 一种微前端服务更新方法、装置、电子设备及存储介质 | |
CN113778429A (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 |