CN112306487B - 一种埋点数据上报方法、装置、设备及存储介质 - Google Patents

一种埋点数据上报方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112306487B
CN112306487B CN201910774116.3A CN201910774116A CN112306487B CN 112306487 B CN112306487 B CN 112306487B CN 201910774116 A CN201910774116 A CN 201910774116A CN 112306487 B CN112306487 B CN 112306487B
Authority
CN
China
Prior art keywords
component
buried point
point data
embedded point
embedded
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
Application number
CN201910774116.3A
Other languages
English (en)
Other versions
CN112306487A (zh
Inventor
请求不公布姓名
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing ByteDance Network Technology Co Ltd
Original Assignee
Beijing ByteDance Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN201910774116.3A priority Critical patent/CN112306487B/zh
Publication of CN112306487A publication Critical patent/CN112306487A/zh
Application granted granted Critical
Publication of CN112306487B publication Critical patent/CN112306487B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开实施例公开了一种埋点数据上报方法、装置、设备及存储介质。该方法包括:检测是否存在上报网页页面中埋点数据的触发事件;响应于存在触发事件,确定与触发事件对应的埋点组件,其中,埋点组件是基于基础组件对业务组件包装得到;确定埋点组件中待上报的埋点数据,并上报埋点数据。本公开实施例的技术方案,由于埋点组件是基于基础组件对业务组件包装得到,在基于埋点组件实现埋点数据上报的同时,还可以实现埋点上报和业务逻辑的解耦,由此简化了埋点开发难度并降低了开发成本。

Description

一种埋点数据上报方法、装置、设备及存储介质
技术领域
本公开实施例涉及互联网应用技术领域,尤其涉及一种埋点数据上报方法、装置、设备及存储介质。
背景技术
埋点在互联网领域有众多应用,比如,在用户行为分析中,通过采集产品中一些特定流程的埋点数据,如访问数、停留时长、页面浏览数等等,可以验证产品设计的合理性,由此优化产品。除此之外,埋点可以用于分析业务转化数据,比如下单率,或者与一些业务分析手段相配合,这是业务埋点;埋点还可以用于分析软件和网页在用户设备上的性能表现,比如白屏时间、网络请求时间、内存占用等等,由此分析性能瓶颈并优化性能表现,这是性能埋点。
需要说明的是,这些应用实现都涉及到将埋点数据上报至服务端的情况。常见的埋点数据上报方案是在业务逻辑层中加入埋点代码,这些埋点代码可以采集到开发人员需要的埋点数据并将这些埋点数据上报至服务端,显然,待上报的埋点数据越具体,开发人员撰写的埋点代码越多。
比如,若当前显示页面中存在10个埋点数据需要上报,则开发人员需要在业务逻辑层的10个不同的地方撰写埋点代码,虽然各个埋点代码可能大致相同,但细微差异较多且复用性较差,这在很大程度上提高了开发成本。
发明内容
本公开实施例提供了一种埋点数据上报方法、装置、设备及存储介质,以实现埋点上报和业务逻辑的解耦,降低开发成本。
第一方面,本公开实施例提供了一种埋点数据上报方法,可以包括:
检测是否存在上报网页页面中埋点数据的触发事件;
响应于存在触发事件,确定与触发事件对应的埋点组件,其中,埋点组件是基于基础组件对业务组件包装得到;
确定埋点组件中待上报的埋点数据,并上报埋点数据。
第二方面,本公开实施例还提供了一种埋点数据上报装置,可以包括:
触发事件检测模块,用于检测是否存在上报网页页面中埋点数据的触发事件;
埋点组件确定模块,用于响应于存在触发事件,确定与触发事件对应的埋点组件,其中,埋点组件是基于基础组件对业务组件包装得到;
埋点数据上报模块,用于确定埋点组件中待上报的埋点数据,并上报所述埋点数据。
第三方面,本公开实施例还提供了一种终端设备,可以包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现本公开任意实施例所提供的埋点数据上报方法。
第四方面,本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本公开任意实施例所提供的埋点数据上报方法。
本公开实施例的技术方案,在使用系统中,检测是否存在上报网页页面中埋点数据的触发事件,响应于存在触发事件,并确定与触发事件对应的埋点组件,该埋点组件是基于基础组件对业务组件包装得到;由于埋点组件中已经携带有与触发事件对应的待上报的埋点数据,则根据埋点组件可以直接确定埋点数据,并将埋点数据上报至服务端。上述技术方案中的埋点组件是基于基础组件对业务组件包装得到,在基于埋点组件实现埋点数据上报的同时,还可以实现埋点上报和业务逻辑的解耦,由此简化了埋点开发难度并降低了开发成本。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1是本公开实施例一中的一种埋点数据上报方法的流程图;
图2是本公开实施例二中的一种埋点数据上报方法的流程图;
图3是本公开实施例三中的一种埋点数据上报装置的结构框图;
图4是本公开实施例四中的一种终端设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
实施例一
图1是本公开实施例一中提供的一种埋点数据上报方法的流程图。本实施例可适用于网页页面中埋点数据上报的情况,尤其适用于埋点上报与业务逻辑解耦后的埋点数据上报的情况。该方法可以由本公开实施例提供的埋点数据上报装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在各种用户终端设备或服务器上。
参见图1,本公开实施例的方法具体包括如下步骤:
S110、检测是否存在上报网页页面中埋点数据的触发事件。
其中,用户在浏览网页页面时,可能会产生很多的交互行为,比如,用户在电商购物时,可能涉及到启动电商网站、搜索关键词、浏览商品、下单商品等交互行为,每个交互行为均有可能涉及到一个或是多个待上报的埋点数据。因此,在使用系统中如在用户的终端设备中,可以检测是否存在上报网页页面中埋点数据的触发事件,如果存在,可以根据触发事件完成相应的埋点数据上报功能。需要说明的是,触发事件可以具有多种形式,比如,触发事件可以包括下述中的至少一个:触控操作,网页关闭,网页长时间停留,网页、图片或组件加载完成,以及,网页、图片或组件显示完成。再比如,触发事件可以是作用于当前网页页面的用户操作行为,比如用户的滑动操作和/或点击操作;可以是作用于网页页面的网页操作行为,比如网页关闭、网页翻页、网页滚动、网页、图片和/或组件加载完成、图片和/或组件显示完成、页面长时间停留。当然,也可以是其余形式的触发事件,在此不再赘述。
S120、响应于存在触发事件,确定与触发事件对应的埋点组件,其中,埋点组件是基于基础组件对业务组件包装得到。
其中,若存在上报网页页面中埋点数据的触发事件,则响应于存在触发事件,并确定与该触发事件对应的埋点组件。需要说明的是,通常情况下,埋点组件在开发阶段或是编译阶段已经预先得到,即基于基础组件对业务组件进行包装而预先得到。只是在初始化网页页面时,可以获取待加载的埋点组件的配置文件,并根据配置文件加载已经预先得到的埋点组件。
需要说明的是,由于埋点组件是基于基础组件对业务组件包装得到,该埋点组件可以同时实现埋点上报和业务功能,其中,业务可以是各种用户需求,比如搜索关键词、浏览商品、下单商品等等。对于埋点组件可以实现埋点上报的情况,其主要完成如下内容:第一、维护待上报的埋点数据,针对于相同的埋点组件,不同用户的交互行为以及相同用户不同时刻的交互行为均会使得待上报的埋点数据发生变化。则,可将待上报的埋点数据在埋点组件中维护一份,这样一来,在上报埋点数据时,埋点组件可以将自身最新的埋点数据上报至服务端。第二、关联触发事件,当存在埋点组件时,则注册与该埋点组件关联的触发事件;当埋点组件消失时,则解除与该埋点组件关联的触发事件。
在此基础上,可选的,在响应于存在触发事件后,可以检测是否存在触发事件对应的触发位置;响应于存在触发位置,确定预先针对触发位置设置的埋点组件。这是因为,很多的触发事件,比如触控操作、滑动操作和/或点击操作,都会对应于相应的触发位置,而且在这些触发位置处通常设置有埋点组件。比如,电商购物界面中的下单按钮就会设置有埋点组件,则用户在点击下单按钮时,可以确定与该商品下单按钮对应的埋点组件。实际上,可以根据埋点数据的实际上报需求设置埋点组件,即在埋点数据上报前已完成埋点数据的筛选。
S130、确定埋点组件中待上报的埋点数据,并上报埋点数据。
其中,埋点组件中已经携带有对应的组件信息,比如,触发事件如用户触控操作、页面打开操作、页面加载操作、页面滚动操作等等;待上报的埋点名称如身份标识号(Identification,ID);待上报的埋点数据如搜索次数、搜索内容、搜索和下单的比例等等。因此,在使用系统中,在确定埋点组件后,可以确定与该埋点组件对应的待上报的埋点数据,并自动执行埋点数据上报功能,以便将埋点数据上报至服务端。与此同时,由于每个埋点组件对应有各自的埋点名称,则在上报埋点数据的同时,还可以将埋点名称一起上报至服务端,由此区分各个埋点组件。示例性的,继续以上文所述的商品下单为例,从与商品下单按钮对应的埋点组件中可以读取到该商品下单按钮对应的埋点数据,比如,什么样的用户在什么样的场景下完成了一个下单动作。
需要说明的是,基于埋点组件实现互联网网页的埋点上报的好处在于:埋点组件是基于基础组件对业务组件进行包装而预先得到,其中,基础组件可以用于实现埋点上报,业务组件可以用于实现业务功能。这样一来,由于埋点上报和业务逻辑未存在关联性,埋点上报是在业务逻辑之外完成的,因此,在构建业务组件时,可以将埋点上报从业务逻辑中分离出来,每个业务逻辑可以只关注自己本身的内容,无需关注流程内产生的埋点数据如何上报的内容,由此实现埋点上报与业务逻辑的解耦和拆分。至于埋点上报的功能,可以构建一个基础组件单独进行处理,而基于基础组件对业务组件进行包装而得到的埋点组件,在可以同时实现埋点上报和业务功能的基础上,还可以实现埋点上报与业务逻辑的解耦,这将使得业务组件的业务逻辑更加简单,由此可以简化埋点开发难度,降低开发成本。
换言之,将埋点上报从业务逻辑中解耦出来的原因在于,业务逻辑是实现前端界面的一个层次,在业务逻辑中需要完成的内容有很多,比如,从服务端请求一个列表并展示该列表、处理用户下单商品的流程、搜索与关键词相关的网页等等。相较于这些完整的内容,埋点上报可以认为是零散的内容。如果将埋点上报的实现也写入业务逻辑中,会使得业务逻辑更为复杂,在关注那些完整的内容的同时,还需要关注这些零散的内容,这显然会提高开发成本。
本公开实施例的技术方案,在使用系统中,检测是否存在上报网页页面中埋点数据的触发事件,响应于存在触发事件,并确定与触发事件对应的埋点组件,该埋点组件是基于基础组件对业务组件包装得到;由于埋点组件中已经携带有与触发事件对应的待上报的埋点数据,则根据埋点组件可以直接确定埋点数据,并将埋点数据上报至服务端。上述技术方案中的埋点组件是基于基础组件对业务组件包装得到,在基于埋点组件实现埋点数据上报的同时,还可以实现埋点上报和业务逻辑的解耦,由此简化了埋点开发难度并降低了开发成本。
实施例二
图2是本公开实施例二中提供的一种埋点数据上报方法的流程图。本实施例以上述实施例一为基础进行优化。在本实施例中,埋点组件可以通过如下步骤预先得到:获取已构建的基础组件和待包装的业务组件,根据基础组件和业务组件确定待配置的配置信息;当基础组件对业务组件进行包装时,向业务组件中配置上述配置信息以得到埋点组件。
相应的,如图2所示,本实施例的方法具体可以包括如下步骤:
S210、检测是否存在上报网页页面中埋点数据的触发事件。
S220、响应于存在触发事件,确定与触发事件对应的埋点组件,其中,埋点组件是基于基础组件对业务组件包装得到。
S230、确定埋点组件中待上报的埋点数据,并上报埋点数据,其中,埋点组件可以通过如下步骤预先得到:获取已构建的基础组件和待包装的业务组件,根据基础组件和业务组件确定待配置的配置信息;在基础组件对业务组件进行包装时,向业务组件中配置上述配置信息以得到埋点组件。
其中,在开发系统中,已构建的基础组件可以认为是埋点上报过程中通用逻辑的抽象,基础组件本身是不能直接工作的,但它可以与网页页面中的业务组件结合起来一起使用,即基于基础组件对业务组件进行包装以得到埋点组件,该埋点组件可以同时具备埋点上报和业务功能。需要说明的是,包装其实就是一个组件生成的方式,即埋点组件生成的方式。这样一来,与现有技术相比,本公开实施例中的埋点组件也可以同时具备埋点上报和业务功能,但是在开发过程中,业务组件可以只关注自己本身的业务逻辑,从业务逻辑中解耦出来的埋点上报可以放在基础组件中进行处理,这样可以显著降低开发成本,且对网页页面的实现没有任何影响。
具体的,已构建的基础组件可能未包含任何组件信息,与埋点上报有关的组件信息都是在包装环节传递进来的,即,在基础组件对业务组件进行包装时,配置与埋点上报有关的组件信息,比如触发事件、埋点数据、待上报的埋点名称等等。换言之,可以根据基础组件和业务组件确定待配置的配置信息,该配置信息就是与业务组件相关的用于埋点上报的组件信息。进而,在基础组件对业务组件进行包装时,可以向业务组件中配置上述配置信息以得到埋点组件,或者说,向业务组件的配置文件中配置上述配置信息以得到埋点组件。这样一来,埋点组件中同时具有业务组件的组件信息和用于埋点上报的组件信息。
示例性的,如果在网页页面中加载有用于关闭当前网页页面的业务组件,该业务组件的组件信息是:在预设位置处监测到点击操作时,关闭当前网页页面;而与该业务组件相关的埋点上报是:在预设位置处监测到点击操作时,上报当前网页页面的停留时长。则,在开发系统中,待包装的业务组件可以实现关闭当前网页页面的功能,已构建的基础组件未包含任何与埋点上报相关的组件信息,此时,埋点上报和业务逻辑已拆分。在基础组件对业务组件进行包装时,将如下配置信息配置到业务组件中:触发事件(预设位置处的点击操作)和埋点数据(当前网页页面的停留时长),由此得到埋点组件。
换个角度理解,在前端领域中,网页页面可以认为是将数据传入进函数后得到的结果,即网页页面=f(data),其中,函数f就是组件。函数需要完成的事情是,接收网页页面需要展示的数据,该数据可以通过函数描述为待展示的状态,由此变成一个网页页面。因此,所谓包装可以理解为,函数在接收到一些数据后,返回结果还是函数(组件),最终实现的网页页面是一层一层的嵌套。在本公开实施例中,配置信息就是数据,则在包装过程中,将配置信息作为输入,将业务组件作为函数,由此得到的结果是埋点组件。
本公开实施例的技术方案,在开发系统中,根据已构建的基础组件和待包装的业务组件确定待配置的配置信息,并将配置信息配置到业务组件中以得到埋点组件,此时的埋点组件可以同时具备埋点上报和业务功能,而且,在埋点组件开发过程中,由于已将业务逻辑和埋点上报解耦,是利用已构建的基础组件库对业务组件进行包装,由此可以显著降低埋点开发成本。
一种可选的技术方案,在实施例二的基础上,可选的,基础组件可以通过如下步骤预先构建:获取业务组件的组件类型,根据组件类型构建基础组件,其中,组件类型可以包括React组件和/或Vue组件。这是因为,业务组件的包装形式在不同的前端技术体系中可能存在差异,不同组件类型的业务组件对应不同的包装形式,比如,若组件类型是Vue组件,则可以通过设计指令(directive)来实现Vue组件的包装;若组件类型是React组件,则可以通过高阶组件(HOC)来实现React组件的包装;等等。
其实,简单来说,组件是可以相互嵌套的,比如高级组件可以包裹低级组件,则对业务组件进行包装可以理解为,构建一个级别高于业务组件的基础组件,这样就可以基于基础组件包裹业务组件,比如,若组件类型是React组件,则基础组件可以是高阶组件(HOC)。因此,如果需要支持React组件,则可以构建一套与React组件匹配的基础组件;如果需要支持Vue组件,则可以构建一套与Vue组件匹配的基础组件。实际上,可以预先分别构建与React组件和Vue组件匹配的基础组件库,这样一来,在开发环节,可以直接将对应的基础组件库提供给开发人员,由此简化开发成本。
一种可选的技术方案,在实施例二的基础上,可选的,基础组件可以通过如下步骤预先构建:如果存在共有组件信息,基于共有组件信息构建基础组件,其中,共有组件信息用于实现埋点数据上报;相应的,根据基础组件和业务组件确定待配置的配置信息,可以包括:确定预设组件信息和共有组件信息之间的差异组件信息,并将差异组件信息作为待配置的配置信息。
其中,组件可以细分为实际组件和抽象组件,实际组件是可以直接看见的组件,比如按钮、输入框、图片、标题、文本框等等;相应的,抽象组件可以是基于一些组件信息构建而来的无法直接看见的组件。当抽象组件和实际组件相互配合时,实际组件也可以具备这些抽象组件的组件信息。同样地,以用于埋点上报的组件信息为例,如果网页页面中与多个业务组件相关的用于埋点上报的组件信息是相同的,则可以将这些组件信息作为共有组件信息,并基于共有组件信息构建基础组件。比如,如果共有组件信息是触发事件为点击操作,则由此构建出的基础组件中的触发事件固化为点击操作。当共有组件信息越多,由此构建得到的基础组件中的固化信息越多,这样一来,在基于基础组件对业务组件进行包装时,向业务组件中配置的配置信息越少,即埋点组件的开发过程越简单。这是因为,向业务组件中配置的配置信息是基础组件中未包含的且是用于实现埋点上报必备的组件信息,则基础组件中固化的用于实现埋点上报的共有组件信息越多,待配置的配置信息则越少。
在此基础上,可以确定预设组件信息和共有组件信息之间的差异组件信息,并将差异组件信息作为待配置的配置信息。其中,预设组件信息可以是用于实现埋点上报的必备的组件信息,比如,预设组件信息可以包括触发事件、埋点数据和待上报的埋点名称;相应的,共有组件信息可以包括触发事件、埋点数据和埋点名称中的至少一个。其中,触发事件可以用于说明何时上报埋点数据,比如图片展示时、页面滚动时、页面加载完成时;埋点数据可以用于说明上报哪些埋点数据,比如搜索次数、搜索内容、搜索和下单比例;埋点名称可以用于区分各个埋点组件。
示例性的,若在网页页面中存在一个列表,该列表中存在3个条目,每个条目对应有各自的业务组件A、B和C,且每个业务组件对应有各自的待上报的埋点数据,则在开发过程中,共有组件信息可以是点击触发(触发事件)和列表点击(埋点名称),基于共有组件信息构建1个基础组件D,基于D分别包装A、B和C,由此得到埋点组件A1、B1和C1。以基于D对A进行包装为例,A中需要配置的配置信息是埋点数据。
上述步骤设置的好处在于,基于共有组件信息构建的基础组件可以认为是共有组件信息的抽象,这样就可以复用这个基础组件,即对很多的业务组件进行包装时,都可以使用同一个基础组件,无需在业务逻辑中的不同地方撰写类似的埋点代码。而且,当共有组件信息发生变化后,可以通过更改一处的共有组件信息,实现与该共有组件信息关联的所有基础组件的更改,无需在业务逻辑中更改多个地方的埋点代码,由此可以显著降低错误出现的可能性,并且提高更改效率。
综上所述,本公开实施例通过引入已构建的基础组件,在基于基础组件对业务组件进行包装时,可以通过传入配置信息的方式实现埋点上报功能。进而,在页面初始化时完成埋点组件的加载,当与埋点组件对应的用于埋点上报的触发事件触发后,埋点组件自动响应并完成埋点上报。即,埋点组件同时具备埋点上报和业务功能,而且,埋点组件在开发过程中无需撰写埋点上报的相关代码,业务逻辑对埋点上报无感知,即在开发过程中,业务逻辑和埋点上报已解耦,这可以降低开发难度,提高开发效率。
实施例三
图3为本公开实施例三提供的埋点数据上报装置的结构框图,该装置用于执行上述任意实施例所提供的埋点数据上报方法。该装置与上述各实施例的埋点数据上报方法属于同一个发明构思,在埋点数据上报装置的实施例中未详尽描述的细节内容,可以参考上述埋点数据上报方法的实施例。参见图3,该装置具体可包括:触发事件检测模块310、埋点组件确定模块320和埋点数据上报模块330。
其中,触发事件检测模块310,用于检测是否存在上报网页页面中埋点数据的触发事件;
埋点组件确定模块320,用于响应于存在触发事件,确定与触发事件对应的埋点组件,其中,埋点组件是基于基础组件对业务组件包装得到;
埋点数据上报模块330,用于确定埋点组件中待上报的埋点数据,并上报埋点数据。
可选的,触发事件可包括下述中的至少一个:触控操作,网页关闭,网页长时间停留,网页、图片或组件加载完成,以及,网页、图片或组件显示完成。
可选的,埋点组件确定模块320,具体可以用于:
检测是否存在触发事件对应的触发位置;
响应于存在触发位置,确定预先针对触发位置设置的埋点组件。
可选的,在此基础上,该装置还可以包括:
埋点组件加载模块,用于在初始化网页页面时,获取待加载的埋点组件的配置文件,并根据配置文件加载埋点组件。
可选的,埋点组件可以通过如下模块预先得到:
配置信息确定模块,用于获取已构建的基础组件和待包装的业务组件,根据基础组件和业务组件确定待配置的配置信息;
埋点组件得到模块,用于在基础组件对业务组件进行包装时,向业务组件中添加配置信息以得到埋点组件。
可选的,在此基础上,基础组件可以通过如下模块预先构建:
第一基础组件构建模块,用于获取业务组件的组件类型,根据组件类型构建基础组件,其中,组件类型可以包括React组件和/或Vue组件。
可选的,在此基础上,基础组件可以通过如下模块预先构建:
第二基础组件构建模块,用于如果存在共有组件信息,基于共有组件信息构建基础组件,其中,共有组件信息可以用于实现埋点数据上报;
相应的,配置信息确定模块,具体可以用于:
确定预设组件信息和共有组件信息之间的差异组件信息,并将差异组件信息作为待配置的配置信息。
可选的,在此基础上,预设组件信息可以包括触发事件、埋点数据和待上报的埋点名称;相应的,共有组件信息可以包括触发事件、埋点数据和埋点名称中的至少一个。
本公开实施例三提供的埋点数据上报装置,在使用系统中,通过触发事件检测模块检测是否存在上报网页页面中埋点数据的触发事件;埋点组件确定模块响应于存在触发事件,确定与触发事件对应的埋点组件,该埋点组件是基于基础组件对业务组件包装得到;由于埋点组件中已携带有与触发事件对应的待上报的埋点数据,则通过埋点数据上报模块可以根据埋点组件直接确定埋点数据,并将埋点数据上报至服务端。上述装置中,由于埋点组件是基于基础组件对业务组件包装得到,在基于埋点组件实现埋点数据上报的同时,还可以实现埋点上报和业务逻辑的解耦,由此简化了埋点开发难度并降低了开发成本。
本公开实施例所提供的埋点数据上报装置可执行本公开任意实施例所提供的埋点数据上报方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述埋点数据上报装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本公开的保护范围。
实施例四
下面参考图4,其示出了适于用来实现本公开实施例的电子设备(例如图4中的终端设备或服务器)600的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图4示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图4所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图4示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
实施例五
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM 602被安装。在该计算机程序被处理装置601执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:检测是否存在上报网页页面中埋点数据的触发事件;响应于存在触发事件,确定与触发事件对应的埋点组件,其中,埋点组件是基于基础组件对业务组件包装得到;确定埋点组件中待上报的埋点数据,并上报埋点数据。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,埋点数据上报模块还可以被描述为“确定埋点组件中待上报的埋点数据,并上报埋点数据”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开的一个或多个实施例,【示例一】提供了一种埋点数据上报方法,该方法可以包括:
检测是否存在上报网页页面中埋点数据的触发事件;
响应于存在触发事件,确定与触发事件对应的埋点组件,其中,埋点组件是基于基础组件对业务组件包装得到;
确定埋点组件中待上报的埋点数据,并上报埋点数据。
根据本公开的一个或多个实施例,【示例二】提供了示例一的方法,触发事件可以包括下述中的至少一个:触控操作,网页关闭,网页长时间停留,网页、图片或组件加载完成,以及,网页、图片或组件显示完成。
根据本公开的一个或多个实施例,【示例三】提供了示例一或示例二的方法,确定与触发事件对应的埋点组件,可以包括:
检测是否存在触发事件对应的触发位置;
响应于存在触发位置,确定预先针对触发位置设置的埋点组件。
根据本公开的一个或多个实施例,【示例四】提供了示例一的方法,在检测是否存在上报网页页面中埋点数据的触发事件之前,该方法还可以包括:
在初始化网页页面时,获取待加载的埋点组件的配置文件,并根据配置文件加载埋点组件。
根据本公开的一个或多个实施例,【示例五】提供了示例一的方法,埋点组件可以通过如下步骤预先得到:
获取已构建的基础组件和待包装的业务组件,根据基础组件和业务组件确定待配置的配置信息;
在基础组件对业务组件进行包装时,向业务组件中添加配置信息以得到埋点组件。
根据本公开的一个或多个实施例,【示例六】提供了示例五的方法,基础组件可以通过如下步骤预先构建:
获取业务组件的组件类型,根据组件类型构建基础组件,其中,组件类型可以包括React组件和/或Vue组件。
根据本公开的一个或多个实施例,【示例七】提供了示例五的方法,基础组件可以通过如下步骤预先构建:
如果存在共有组件信息,基于共有组件信息构建基础组件,其中,共有组件信息用于实现埋点数据上报;
相应的,根据基础组件和业务组件确定待配置的配置信息,可以包括:
确定预设组件信息和共有组件信息之间的差异组件信息,并将差异组件信息作为待配置的配置信息根据。
本公开的一个或多个实施例,【示例八】提供了示例七的方法,预设组件信息可以包括触发事件、埋点数据和待上报的埋点名称;相应的,共有组件信息可以包括触发事件、埋点数据和埋点名称中的至少一个。
根据本公开的一个或多个实施例,【示例九】提供了一种埋点数据上报装置,该装置可以包括:
触发事件检测模块,用于检测是否存在上报网页页面中埋点数据的触发事件;
埋点组件确定模块,用于响应于存在触发事件,确定与触发事件对应的埋点组件,其中,埋点组件是基于基础组件对业务组件包装得到;
埋点数据上报模块,用于确定埋点组件中待上报的埋点数据,并上报所述埋点数据。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

Claims (9)

1.一种埋点数据上报方法,其特征在于,包括:
检测是否存在上报网页页面中埋点数据的触发事件;
响应于存在所述触发事件,确定与所述触发事件对应的埋点组件,其中,所述埋点组件是基于基础组件对业务组件包装得到;
确定所述埋点组件中待上报的埋点数据,并上报所述埋点数据;
所述确定与所述触发事件对应的埋点组件,包括:
检测是否存在所述触发事件对应的触发位置;
响应于存在所述触发位置,确定预先针对所述触发位置设置的埋点组件;
所述埋点组件通过如下步骤预先得到:
获取已构建的所述基础组件和待包装的所述业务组件,根据所述基础组件和所述业务组件确定待配置的配置信息;
在所述基础组件对所述业务组件进行包装时,向所述业务组件中配置所述配置信息以得到所述埋点组件。
2.根据权利要求1所述的方法,其特征在于,所述触发事件包括下述中的至少一个:触控操作,网页关闭,网页长时间停留,网页、图片或组件加载完成,以及,网页、图片或组件显示完成。
3.根据权利要求1所述的方法,其特征在于,在所述检测是否存在上报网页页面中埋点数据的触发事件之前,还包括:
在初始化所述网页页面时,获取待加载的所述埋点组件的配置文件,并根据所述配置文件加载所述埋点组件。
4.根据权利要求1所述的方法,其特征在于,所述基础组件通过如下步骤预先构建:
获取所述业务组件的组件类型,根据所述组件类型构建所述基础组件,其中,所述组件类型包括React组件和/或Vue组件。
5.根据权利要求1所述的方法,其特征在于,所述基础组件通过如下步骤预先构建:
如果存在共有组件信息,基于所述共有组件信息构建所述基础组件,其中,所述共有组件信息用于实现埋点数据上报;
相应的,所述根据所述基础组件和所述业务组件确定待配置的配置信息,包括:
确定预设组件信息和所述共有组件信息之间的差异组件信息,并将所述差异组件信息作为待配置的配置信息。
6.根据权利要求5所述的方法,其特征在于,所述预设组件信息包括触发事件、埋点数据和待上报的埋点名称;相应的,所述共有组件信息包括所述触发事件、所述埋点数据和所述埋点名称中的至少一个。
7.一种埋点数据上报装置,其特征在于,包括:
触发事件检测模块,用于检测是否存在上报网页页面中埋点数据的触发事件;
埋点组件确定模块,用于响应于存在所述触发事件,确定与所述触发事件对应的埋点组件,其中,所述埋点组件是基于基础组件对业务组件包装得到;
埋点数据上报模块,用于确定所述埋点组件中待上报的埋点数据,并上报所述埋点数据;
埋点组件确定模块,具体用于:
检测是否存在触发事件对应的触发位置;
响应于存在触发位置,确定预先针对触发位置设置的埋点组件;
所述埋点组件通过如下模块预先得到:
配置信息确定模块,用于获取已构建的所述基础组件和待包装的所述业务组件,根据所述基础组件和所述业务组件确定待配置的配置信息;
埋点组件得到模块,用于在所述基础组件对所述业务组件进行包装时,向所述业务组件中配置所述配置信息以得到所述埋点组件。
8.一种终端设备,其特征在于,所述终端设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的埋点数据上报方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一所述的埋点数据上报方法。
CN201910774116.3A 2019-08-21 2019-08-21 一种埋点数据上报方法、装置、设备及存储介质 Active CN112306487B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910774116.3A CN112306487B (zh) 2019-08-21 2019-08-21 一种埋点数据上报方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910774116.3A CN112306487B (zh) 2019-08-21 2019-08-21 一种埋点数据上报方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112306487A CN112306487A (zh) 2021-02-02
CN112306487B true CN112306487B (zh) 2024-06-04

Family

ID=74486716

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910774116.3A Active CN112306487B (zh) 2019-08-21 2019-08-21 一种埋点数据上报方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112306487B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112989162B (zh) * 2021-03-12 2023-09-29 中国平安财产保险股份有限公司 埋点上报方法、装置、设备及存储介质
CN113468016A (zh) * 2021-06-10 2021-10-01 上海硬通网络科技有限公司 埋点数据上报方法、装置、计算机设备和存储介质
CN114546377A (zh) * 2022-01-07 2022-05-27 北京达佳互联信息技术有限公司 埋点处理方法、装置、电子设备及存储介质
CN114692058B (zh) * 2022-06-01 2022-08-02 天津市普迅电力信息技术有限公司 基于vue架构下的自动化埋点方法、系统、电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106156212A (zh) * 2015-04-22 2016-11-23 阿里巴巴集团控股有限公司 一种数据采集方法和系统、及其终端和服务器
CN106844217A (zh) * 2017-01-26 2017-06-13 网易(杭州)网络有限公司 对应用的控件进行埋点的方法及装置、可读存储介质
CN108304176A (zh) * 2017-12-14 2018-07-20 广东数果科技有限公司 一种跨平台移动终端的可视化埋点方法
CN109597949A (zh) * 2018-10-22 2019-04-09 平安科技(深圳)有限公司 基于数据标准化的第三方埋点标识生成方法和设备
CN109683988A (zh) * 2018-12-25 2019-04-26 鼎信信息科技有限责任公司 微服务启动方法、装置、计算机设备和存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106156212A (zh) * 2015-04-22 2016-11-23 阿里巴巴集团控股有限公司 一种数据采集方法和系统、及其终端和服务器
CN106844217A (zh) * 2017-01-26 2017-06-13 网易(杭州)网络有限公司 对应用的控件进行埋点的方法及装置、可读存储介质
CN108304176A (zh) * 2017-12-14 2018-07-20 广东数果科技有限公司 一种跨平台移动终端的可视化埋点方法
CN109597949A (zh) * 2018-10-22 2019-04-09 平安科技(深圳)有限公司 基于数据标准化的第三方埋点标识生成方法和设备
CN109683988A (zh) * 2018-12-25 2019-04-26 鼎信信息科技有限责任公司 微服务启动方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN112306487A (zh) 2021-02-02

Similar Documents

Publication Publication Date Title
CN112306487B (zh) 一种埋点数据上报方法、装置、设备及存储介质
CN111414498B (zh) 多媒体信息推荐方法、装置及电子设备
CN111368185B (zh) 数据展示方法、装置、存储介质及电子设备
CN112528595B (zh) 文档处理方法、装置和电子设备
CN111291206B (zh) 标记房源的方法、装置、电子设备及存储介质
CN111444356B (zh) 基于搜索的推荐方法及装置
CN111400625B (zh) 页面处理方法、装置、电子设备及计算机可读存储介质
CN111581555B (zh) 一种文档加载方法、装置、设备及存储介质
WO2022095942A1 (zh) 信息显示方法、装置、电子设备及计算机可读存储介质
CN112183045B (zh) 在线文档处理方法、装置和电子设备
CN111857720B (zh) 用户界面状态信息的生成方法、装置、电子设备及介质
CN111309417B (zh) 应用程序中的数据显示方法、装置、电子设备和可读介质
CN111723309B (zh) 用于网页搜索的方法和装置
CN111353296B (zh) 文章处理方法、装置、电子设备及计算机可读存储介质
CN111552620B (zh) 数据获取方法、装置、终端及存储介质
CN113391860B (zh) 服务请求处理方法、装置、电子设备及计算机存储介质
CN110717126A (zh) 页面浏览方法、装置、电子设备及计算机可读存储介质
WO2022095932A1 (zh) 直播间页面跳转方法、返回方法、装置及电子设备
WO2022095941A1 (zh) 对象显示方法、装置、电子设备及计算机可读存储介质
CN110442403B (zh) 一种调用功能组件的方法、装置、电子设备及介质
CN112306469A (zh) 一种无障碍组件构建方法、装置、设备及存储介质
CN114610580A (zh) 一种页面白屏监控方法、装置、设备及介质
CN110099122B (zh) 用于发送网络请求的方法和装置
CN114997120B (zh) 文档标签的生成方法、装置、终端和存储介质
CN114297157B (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