CN112559091A - 事件上报方法、装置、计算机设备及存储介质 - Google Patents

事件上报方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN112559091A
CN112559091A CN202011437268.3A CN202011437268A CN112559091A CN 112559091 A CN112559091 A CN 112559091A CN 202011437268 A CN202011437268 A CN 202011437268A CN 112559091 A CN112559091 A CN 112559091A
Authority
CN
China
Prior art keywords
event
page
reporting
redefined
type
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
Application number
CN202011437268.3A
Other languages
English (en)
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202011437268.3A priority Critical patent/CN112559091A/zh
Publication of CN112559091A publication Critical patent/CN112559091A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • 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)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种事件上报方法、装置、计算机设备及存储介质,其中方法包括:获取目标应用程序的目标页面中的用户操作;调用所述目标页面对应的重定义页面对象获取所述用户操作对应的第一类事件,并上报所述第一类事件;其中,所述重定义页面对象与初始页面对象之间存在继承关系,所述初始页面对象为所述重定义页面对象的子类对象;调用所述初始页面对象执行所述用户操作所指示的业务。事件上报和业务分离解耦,解决了传统方案中事件上报不齐全以及上报方法复杂的缺点,在减少小程序埋点接入工作的同时最大限度的上报第一类事件,便于后续的用户行为分析。

Description

事件上报方法、装置、计算机设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种事件上报方法、一种事件上报装置、一种计算机设备及一种计算机存储介质。
背景技术
随着互联网业务的不断发展与成熟,很多互联网产品都追求个性化设计,例如,小程序中针对用户的个性化推送信息。为了实现小程序的个性化设计,用户行为分析是一个至关重要的工作。为便于分析用户行为,计算机设备需要上报各类用户操作对应的事件。现有方案中,计算机设备可以在业务接入时进行简单上报,这种事件上报方法可能会导致上报的事件不全,以致后续的用户行为分析误差大。或者,计算机设备可以在业务执行过程中调用软件开发工具包(Software Development Kit,SDK)提供的上报接口进行上报,这种事件上报方法太复杂,导致后续的用户行为分析难度大。因此,如何对事件进行上报是一个亟需解决的问题。
发明内容
本发明实施例提供了一种事件上报方法、装置、计算机设备及存储介质,事件上报和业务分离解耦,便于后续的用户行为分析。
一方面,本发明实施例提供了一种事件上报方法,该事件上报方法包括:
获取目标应用程序的目标页面中的用户操作;
调用所述目标页面对应的重定义页面对象获取所述用户操作对应的第一类事件,并上报所述第一类事件;其中,所述重定义页面对象与初始页面对象之间存在继承关系,所述初始页面对象为所述重定义页面对象的子类对象;
调用所述初始页面对象执行所述用户操作所指示的业务。
另一方面,本发明实施例提供了一种事件上报装置,该事件上报装置包括:
获取单元,用于获取目标应用程序的目标页面中的用户操作;
上报单元,用于调用所述目标页面对应的重定义页面对象获取所述用户操作对应的第一类事件,并上报所述第一类事件;其中,所述重定义页面对象与初始页面对象之间存在继承关系,所述初始页面对象为所述重定义页面对象的子类对象;
处理单元,用于调用所述初始页面对象执行所述用户操作所指示的业务。
再一方面,本发明实施例提供了一种计算机设备,该计算机设备包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如下步骤:
获取目标应用程序的目标页面中的用户操作;
调用所述目标页面对应的重定义页面对象获取所述用户操作对应的第一类事件,并上报所述第一类事件;其中,所述重定义页面对象与初始页面对象之间存在继承关系,所述初始页面对象为所述重定义页面对象的子类对象;
调用所述初始页面对象执行所述用户操作所指示的业务。
再一方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质中存储有计算机程序指令,所述计算机程序指令由处理器加载并执行如下步骤:
获取目标应用程序的目标页面中的用户操作;
调用所述目标页面对应的重定义页面对象获取所述用户操作对应的第一类事件,并上报所述第一类事件;其中,所述重定义页面对象与初始页面对象之间存在继承关系,所述初始页面对象为所述重定义页面对象的子类对象;
调用所述初始页面对象执行所述用户操作所指示的业务。
本发明实施例中,当计算机设备获取到目标应用程序的目标页面中的用户操作后,可以调用目标页面对应的重定义页面对象获取用户操作对应的第一类事件,并上报所述第一类事件;以及调用初始页面对象执行用户操作所指示的业务。其中,重定义页面对象与初始页面对象之间存在继承关系,初始页面对象为所述重定义页面对象的子类对象。可见本发明实施例所提出的事件上报方案中,在获取到小程序的目标页面的用户操作后,分别调用重定义页面对象对用户操作对应的第一类事件进行上报,以及继承了重定义页面对象内容的初始页面对象执行用户操作所指示的业务。事件上报和业务分离解耦,解决了传统方案中事件上报不齐全或者上报方法复杂的缺点,在减少小程序埋点接入工作的同时最大限度的上报第一类事件(即收集更多的用户行为数据),便于后续的用户行为分析。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种事件上报方案的架构示意图;
图2是本发明实施例提供的一种事件上报方法的流程示意图;
图3是本发明实施例提供的另一种事件上报方法的流程示意图;
图4是本发明实施例提供的一种数据上报协议的示意图;
图5是本发明实施例提供的另一种事件上报方法的流程示意图;
图6是本发明实施例提供的一种事件上报装置的结构示意图;
图7是本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着互联网业务的快速发展,业内研究人员都在探索既能快速开发又能保障用户体验的技术方案,小程序(Mini Program)就是其中之一。小程序是一种计算机设备上的应用程序。计算机设备可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、可穿戴设备,等等。小程序是一种从服务器下发,无需安装即可在特定的容器执行的应用程序。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、内容分发网络(Content Delivery Network,CDN)、中间件服务、安全服务、域名服务以及大数据和人工智能平台等基础云计算服务的云服务器;等等。在具体实现过程中,小程序的宿主可以是微信,因此,小程序也可以称作微信小程序。
在小程序的开发过程中,开发者需要编写小程序页面内的页面对象,页面对象的各个生命周期函数可以实现该页面内的业务逻辑。其中,小程序的生命周期函数是指在小程序加载时,会执行小程序框架提供给开发者编写的一系列内置接口函数。例如,在小程序的页面展示时,会调用onShow函数;在小程序的页面隐藏时,会调用onHide函数;在小程序的页面被重置时,会调用onUnload函数;在小程序的页面加载时,会调用onLoad函数;在小程序的页面首屏加载完成时,会调用onReady函数;等等。
目前,小程序中有许多个性化设计。为了实现人们个性化设计的业务需求,在计算设备获取到小程序页面内的用户操作时,计算机设备需要上报小程序中的各类事件至服务器,以便基于各类事件进行用户行为分析得到个性化定制方案。例如,当用户点击小程序上某个按钮时,计算机设备会响应上述用户操作上报点击事件;当用户浏览一个新的页面时,计算机设备会响应上述用户操作上报浏览事件;当用户访问某个页面,有云函数请求数据时,计算机设备会响应上述用户操作收集云函数请求事件;当用户调用某个第三方重定义应用程序接口(Application Programming Interface,API)拉取数据时,计算机设备会响应上述用户操作收集客户端超文本传输协议(HyperText Transfer Protocol,http)请求事件;当用户执行某个操作需要添加积分时,计算机设备会响应上述用户操作收集执行事件;当用户在云函数请求后台微服务时,计算机设备会响应上述用户操作收集微服务请求事件;当用户在云函数请求http接口时,计算机设备会响应上述用户操作收集第三方服务请求事件,等等。
传统方案中,事件上报与业务是相耦合的,常见的上报方法可以包括计算机设备可以在小程序的业务接入时进行简单上报,以及在小程序的业务执行过程中调用SDK提供的上报接口进行上报。其中,计算机设备在业务接入进行简单上报时,会导致上报的事件不全,以致后续的用户行为分析误差大。计算机设备在业务执行过程中调用SDK提供的上报接口进行上报的方法太复杂,会导致后续的用户行为分析难度大。基于此,本发明实施例提出了一种事件上报方案,将事件上报与业务分离和解耦,可以克服传统方案的缺点。图1示例性的示出了事件上报方案的架构示意图。如图1所示,小程序的目标页面包括重定义页面对象和初始页面对象。重定义页面对象与初始页面对象之间存在继承关系,初始页面对象为重定义页面对象的子类对象。其中,继承是面向对象开发中的一个概念,继承是指子类对象继承父类对象的特征和行为,使得子类对象具有父类对象的属性和方法,或者是子类对象继承父类对象的方法,是的子类对象有父类对象相同的行为。具体的,初始页面对象继承重定义页面对象,初始页面对象为重定义页面对象的的子类对象,初始页面对象可以继承重定义页面对象内的重定义生命周期函数等等。在具体的实现过程中,重定义页面对象内包括重定义生命周期函数,可以接管目标页面内所有用户操作对应的事件。当获取到小程序的目标页面内的用户操作时,调用目标页面对应的重定义页面对象对用户操作对应的第一类事件进行上报,以及调用初始页面对象执行用户操作所指示的业务。将事件上报与业务执行分离,可以利用简单的方法最大限度的上报用户操作对应的事件,便于后续的用户行为分析。
基于上述事件上报方案的相关描述,本发明实施例提出了一种事件上报方法;该事件上报方法可以由上述所提及的计算机设备执行。参见图2所示,该事件上报方法可包括以下步骤S201-S203:
步骤S201、获取目标应用程序的目标页面中的用户操作。
其中,目标应用程序可以是指前文所提及的任意一个程序,但是随着新业务场景的出现,目标应用程序也可以是其他应用程序,这里不做限制。目标页面可以是目标应用程序内支持人机交互的任意页面。目标页面包括多种类型,比如目标页面可以是应用程序内的用户页面;再如,目标页面也可以是内嵌的h5页面,等等。用户操作可以包括点击、滑动、长按、双击等操作中的一种或多种。
步骤S202、调用目标页面对应的重定义页面对象获取用户操作对应的第一类事件,并上报第一类事件。
在实施步骤S202之前,本发明实施例还需要生成该目标页面对应的重定义页面对象(也可以称作wCorePage对象)。在一种实施方式中,计算机设备可以获取上报函数和初始页面对象,然后基于初始页面对象和上报函数生成重定义页面对象,使得重定义页面对象包含上报函数。具体实现中,计算机设备直接在初始页面对象内加入上报函数生成重定义页面对象。
在其他实施例中,初始页面对象内包括至少一个初始生命周期函数,计算机设备可以获取上报函数和初始页面对象内的初始生命周期函数,然后在至少一个初始生命周期函数中添加上报函数(可以用beforeFun表示)生成重定义生命周期函数,也可以说在初始生命周期函数中添加上报逻辑以便于执行上报逻辑。最后再基于各个重定义生命周期函数得到重定义页面对象。
在一个可行的实施方式中,上报函数可以用以下代码实现:
Figure BDA0002828939220000061
在一个可行的实施方式中,可以将初始页面对象包括一个初始生命周期函数表示为onShow,那么重定义生命周期函数对应可以表示为_onShow。类似的,当初始生命周期函数表示为onHide时,那么重定义生命周期函数对应可以表示为_onHide。当初始生命周期函数表示为onLoad时,那么重定义生命周期函数对应可以表示为_onLoad。当初始生命周期函数表示为onReady时,那么重定义生命周期函数对应可以表示为_onReady。当初始生命周期函数表示为onUnload时,那么重定义生命周期函数对应可以表示为_onUnload。具体的,可以通过以下代码实现在初始生命周期函数中添加上报函数生成重定义生命周期函数。
Figure BDA0002828939220000071
Figure BDA0002828939220000081
进一步的,在一些实施例中,计算机设备还可以对初始非生命周期函数进行处理得到重定义非生命周期函数。具体可参见以下代码实现:
Figure BDA0002828939220000082
Figure BDA0002828939220000091
针对步骤S202,重定义页面对象重写的重定义生命周期函数接管了目标页面上的用户操作对应的事件,即目标页面上的每个用户操作都会经过重定义页面对象。因此在获取目标应用程序的目标页面中的用户操作后,计算机设备可以调用重定义页面对象获取该用户操作对应的第一类事件,并上报第一类事件。
步骤S203、调用初始页面对象执行用户操作所指示的业务。
在一个可行的实施方式中,重定义页面对象与初始页面对象之间存在继承关系,初始页面对象为重定义页面对象的子类对象。也就是说,重定义页面对象里的内容全都传递给初始页面对象,初始页面对象继承重定义页面对象的内容即可完成接入,从而使得计算机设备还可以调用初始页面对象执行用户操作所指示的业务。
可选的,计算机设备在调用初始页面对象执行用户操作所指示的业务过程中还可以收集用户操作对应的第二类事件并上报该第二类事件。具体的,计算机设备可以获取目标应用程序对应的重定义API,然后在初始页面对象执行用户操作所指示的业务过程中,通过该重定义API收集用户操作对应的第二类事件,并上报该第二类事件。其中,重定义API是指在目标应用程序对应的API中加入上报函数,使得在调用该重定义API执行业务时可以自动收集以及上报业务执行过程中的第二类事件。
本发明实施例中,当计算机设备获取到目标应用程序(即小程序)的目标页面中的用户操作后,可以调用目标页面对应的重定义页面对象获取用户操作对应的第一类事件,并上报所述第一类事件;以及调用初始页面对象执行用户操作所指示的业务。其中,重定义页面对象与初始页面对象之间存在继承关系,初始页面对象为所述重定义页面对象的子类对象。可见本发明实施例所提出的事件上报方案中,在获取到小程序的目标页面的用户操作后,分别调用重定义页面对象对用户操作对应的第一类事件进行上报,以及继承了重定义页面对象内容的初始页面对象执行用户操作所指示的业务。事件上报和业务分离解耦,解决了传统方案中事件上报不齐全或者上报方法复杂的缺点,在减少小程序埋点接入工作的同时最大限度的上报第一类事件(即收集更多的用户行为数据),便于后续的用户行为分析。
参见上述图2所示的方法实施例的相关描述可知,图2所示的事件上报方法可以实现对事件进行上报。在上报事件时,若上报事件的数据模型不统一会导致后续用户行为分析困难。基于此,在上报类事件时,可以利用数据上报协议对事件进行整理生成上报信息并对该上报信息进行上报。基于此,本发明实施例提出了另一种事件上报方法;参见图3所示,该事件上报方法可包括以下步骤S301-S304:
步骤S301、获取目标应用程序的目标页面中的用户操作。
步骤S302、调用目标页面对应的重定义页面对象获取用户操作对应的第一类事件。
在一个实施例中,步骤S301-步骤S302中包括的一些可行的实施方式可参见图2实施例中相关步骤的描述,在此不再赘述。
步骤S303、基于数据上报协议对第一类事件进行整理生成上报信息,并对上报信息进行上报。
可选的,数据上报协议可以包括页面属性信息字段、事件属性信息字段以及应用程序属性信息字段中任意一个或多个。其中,所述页面属性信息包括页面访问来源(from)、页面标题(name)以及页面路径(path)中任意一个或多个;所述事件属性信息包括事件名称(name)、事件标识(id)、事件发生时间(time)以及事件结束时间(retime)中任意一个或多个;所述应用程序属性信息包括:应用程序标识(id)、应用程序对应的用户标识(oneid)以及应用程序名称(name)中任意一个或多个。
例如,数据上报协议的示意图可如图4所示,图4中401表示页面属性信息字段,页面属性信息字段可以包括页面访问来源from字段、页面标题name字段以及页面路径path字段中任意一个或多个。可选的,页面属性信息字段401还可以包括页面数据data字段,所述页面数据data字段可以包括:调用云函数或第三方http接口的参数param字段、调用云函数或第三方http接口的返回结果code字段以及调用云函数或第三方http接口的追踪标识requestID字段。
在图4中402表示事件属性信息字段,事件属性信息event字段402中可以包括事件名称name字段、事件标识id字段、事件发生时间time字段以及事件结束时间retime字段中任意一个或多个。由图4可知,事件属性信息event字段402还可以包括事件类型type字段、云函数的请求追踪标识requestId字段和事件数据data字段中的一个或多个。所述事件数据data字段可以包括:调用微服务器或者第三方服务器的参数param字段、调用微服务器或者第三方服务器的返回结果code字段。
在图4中403表示应用程序属性信息字段,应用程序属性信息property字段可以包括应用程序标识id字段、应用程序对应的用户标识oneid字段以及应用程序名称name字段中任意一个或多个。由图4可知,应用程序属性信息property字段403中还可以包括系统信息systemInfo字段、云环境标识evn字段、会话标记sessionId字段、应用程序的登录标识wxOpenid字段以及页面标记pageTagId字段中一种或多种。
在一个实施例中,基于上述数据上报协议对第一类事件进行整理生成上报信息,可包括:获取第一类事件对应的目标事件属性信息,根据目标应用程序确定第一类事件对应的目标应用程序属性信息,以及根据目标页面确定第一类事件对应的目标页面属性信息;最后将目标事件属性信息、目标应用程序属性信息以及目标页面属性信息分别写入数据上报协议的相应字段,生成上报信息。
在一个实施方式中,所述获取第一类事件对应的目标事件属性信息可以包括获取第一类事件的事件名称、第一类事件的事件标识以及第一类事件的事件发生时间以及第一类事件的事件结束时间。
在一个实施例中,可以根据第一类事件所属的事件类型确定所述第一类事件的事件名称。例如,当第一类事件为点击事件时,第一类事件的事件名称为目标页面传递进来的对应的中文标题;当第一类事件为浏览事件时,第一类事件的事件名称为目标页面名称;当第一类事件为云函数请求事件时,第一类事件的事件名称为云函数名;当第一类事件为客户端http请求事件时,第一类事件的事件名称为统一资源定位标志(Uniform ResourceLocator,URL)描述;当第一类事件为微服务请求事件时,第一类事件的事件名称固定为"后台请求";当第一类事件为第三方服务请求事件时,第一类事件的事件名称固定为"第三方请求"。
在一个实施例中,当第一类事件所属的事件类型不同时,该第一类事件的事件标识也不同。例如,当第一类事件为点击事件时,第一类事件的事件标识为点击所在第一类事件所属目标页面的排序n;当第一类事件为浏览事件时,第一类事件的事件标识为第一类事件所属目标页面的页面路径;当第一类事件为云函数请求事件时,第一类事件的事件标识为云函数的act名;当第一类事件为客户端http请求事件时,第一类事件的事件标识为URL的中文拼音;当第一类事件为微服务请求事件或者第三方服务请求事件时,第一类事件的事件标识为服务接口名。
需要说明的,当第一类事件为云函数请求事件、客户端http请求事件、微服务请求事件或者第三方服务请求事件时,第一类事件的事件发生时间为请求开始时间,第一类事件的事件结束时间为请求结束时间。当第一类事件为其他事件时,第一类事件的事件发生时间与事件结束时间相同,均为第一类事件的事件发生时间。
可选的,目标事件属性信息还可以包括第一类事件的事件类型。在第一类事件为云函数请求时,目标事件属性信息中还可以包括云函数的请求追踪标识。在第一类事件为微服务请求事件或者第三方服务请求事件时,目标事件属性信息中还包括微服务请求事件相关联的事件数据或者第三方服务请求事件相关联的事件数据。等等。
在一个实施方式中,所述根据目标应用程序确定第一类事件对应的目标应用程序属性信息可以包括:确定第一类事件对应的目标应用程序标识、第一类事件对应的目标应用程序中的用户标识以及第一类事件对应的目标应用程序名称。可选的,目标应用程序属性信息还可以包括第一类事件对应的目标应用程序的系统信息、第一类事件对应的目标应用程序的云环境标识、第一类事件对应的目标应用程序的会话标记、第一类事件对应的目标应用程序的登录标识以及第一类事件对应的目标应用程序的目标页面的页面标记,等等。
在一个实施方式中,所述根据目标页面确定第一类事件对应的目标页面属性信息可以包括确定第一类事件对应的目标页面的页面访问来源、第一类事件对应的目标页面的页面标题以及第一类事件对应的目标页面的页面路径。
可选的,可以根据第一类事件对应的目标页面所属的页面类型确定所述第一类事件对应的目标页面的页面访问来源。当第一类事件对应的目标页面为应用程序内的页面时,第一类事件对应的目标页面的页面访问来源记为“app”;当第一类事件对应的目标页面为小程序内的页面时,第一类事件对应的目标页面的页面访问来源记为“miniapp”;当第一类事件对应的目标页面为内嵌的h5页面时,第一类事件对应的目标页面的页面访问来源记为“h5”。
可选的,可以根据第一类事件所属的事件类型确定所述第一类事件对应的目标页面的页面标题。当第一类事件为点击事件、浏览事件、云函数请求事件或者客户端http请求事件时,第一类事件对应的目标页面的页面标题为该第一类事件对应的目标页面的页面标题。当第一类事件为微服务请求事件或者第三方服务请求事件时,第一类事件对应的目标页面的页面标题为服务名或者http接口名。
可选的,可以根据第一类事件所属的事件类型确定所述第一类事件对应的目标页面的页面路径。当第一类事件为点击事件、浏览事件、云函数请求事件或者客户端http请求事件时,第一类事件对应的目标页面的页面路径为该第一类事件对应的目标页面的页面路径。当第一类事件为微服务请求事件或者第三方服务请求事件时,第一类事件对应的目标页面的页面路径为服务的接口名。
需要说明的是,在第一类事件为云函数请求事件或者客户端http请求事件时,目标页面属性信息中还包括云函数请求事件相关联的页面数据或者客户端http请求事件相关联的页面数据,等等。
步骤S304、调用初始页面对象执行用户操作所指示的业务。
可选的,计算机设备在调用初始页面对象执行用户操作所指示的业务过程中还可以收集用户操作对应的第二类事件并上报该第二类事件。具体可参照步骤S203,这里不进行赘述。
可选的,在计算机设备收集了第一类事件和第二类事件的情况下,计算机设备可以基于数据上报协议对第一类事件和第二类事件进行整理生成上报信息,并对该上报信息进行上报。其中,基于数据上报协议对第二类事件进行整理的方法可以参照步骤S303中基于数据上报协议对第一类事件进行整理的方法,这里不进行赘述。
为了更好阐述本发明中事件上报方法的相关实施例,下面将结合图5所示的流程示意图对本发明实施例进行说明。如图5的左侧图所示,计算机设备先获取到上报函数,然后将上报函数加入初始生命周期函数得到重定义生命周期函数。循环重复上述将上报函数加入初始生命周期函数得到重定义生命周期函数的过程可以得到各个重定义生命周期函数。基于各个重定义生命周期函数得到重定义页面对象。除此之外,可选的,目标页面内还可以包括重定义组件对象,利用上报函数还可以得到目标页面对应的重定义组件对象,获得重定义组件对象的方法与获得重定义页面对象的方法类似,这里不进行赘述。基于此,重定义页面对象(或者重定义页面对象和重定义组件对象)接管目标页面内的用户操作并获取该用户操作对应第一类事件。在图5的右侧图中,计算机设备将上报函数加入到API中得到重定义API,在调用初始页面对象执行用户操作所指示的业务过程中,利用该重定义API获取第二类事件。最后计算机设备可以基于数据上报协议对第一类事件和第二类事件进行整理,并进行上报。
本发明实施例中,当计算机设备获取到目标应用程序的目标页面中的用户操作后,可以调用目标页面对应的重定义页面对象获取用户操作对应的第一类事件,并基于数据上报协议上报第一类事件。除此之外,还调用初始页面对象执行用户操作所指示的业务。其中,重定义页面对象与初始页面对象之间存在继承关系,初始页面对象为所述重定义页面对象的子类对象。可见本发明实施例所提出的事件上报方案中,在获取到小程序的目标页面的用户操作后,分别调用重定义页面对象对用户操作对应的第一类事件基于数据上报协议进行上报,以及继承了重定义页面对象内容的初始页面对象执行用户操作所指示的业务。事件上报和业务分离解耦,解决了传统方案中事件上报不齐全或者上报方法复杂的缺点,在减少小程序埋点接入工作的同时最大限度的上报第一类事件(即收集更多的用户行为数据),便于后续的用户行为分析。除此之外,利用数据上报协议统一了事件的数据模型,解决了后续分析困难的问题。
基于上述事件上报方法实施例的描述,本发明实施例还公开了一种事件上报装置,所述事件上报装置可以是运行于上述所提及的计算机设备中的一个计算机程序(包括程序代码)。该事件上报装置可以执行图2或图3所示的方法。请参见图6,所述事件上报装置可以运行如下单元:
获取单元601,用于获取目标应用程序的目标页面中的用户操作;
上报单元602,用于调用所述目标页面对应的重定义页面对象获取所述用户操作对应的第一类事件,并上报所述第一类事件;其中,所述重定义页面对象与初始页面对象之间存在继承关系,所述初始页面对象为所述重定义页面对象的子类对象;
处理单元603,用于调用所述初始页面对象执行所述用户操作所指示的业务。
在一种实施方式中,上报单元602上报所述第一类事件,包括:基于数据上报协议对所述第一类事件进行整理生成上报信息;
对所述上报信息进行上报。
再一种实施方式中,所述数据上报协议包括页面属性信息字段、事件属性信息字段以及应用程序属性信息字段中任意一个或多个;所述页面属性信息包括页面访问来源、页面标题以及页面路径中任意一个或多个;所述事件属性信息包括事件名称、事件标识、事件发生时间以及事件结束时间中任意一个或多个;所述应用程序属性信息包括:应用程序标识、应用程序对应的用户标识以及应用程序名称中任意一个或多个。
再一种实施方式中,所述数据上报协议包括页面属性字段、事件属性字段以及应用程序属性字段,所述上报单元602基于数据上报协议对所述第一类事件进行整理生成上报信息,包括:
获取所述第一类事件对应的目标事件属性信息;
根据所述目标应用程序确定所述第一类事件对应的目标应用程序属性信息,以及根据所述目标页面确定所述第一类事件对应的目标页面属性信息;
将所述目标事件属性信息、所述目标应用程序属性信息以及所述目标页面属性信息分别写入所述数据上报协议的相应字段,生成上报信息。
再一种实施方式中,获取单元601还用于获取上报函数;
基于所述初始页面对象和所述上报函数生成所述重定义页面对象,使得所述重定义页面对象包含所述上报函数。
再一种实施方式中,所述初始页面对象包括至少一个初始生命周期函数,所述获取单元601基于所述初始页面对象和所述上报函数生成所述重定义页面对象,包括:
在所述至少一个初始生命周期函数中添加所述上报函数生成各个重定义生命周期函数;
基于所述各个重定义生命周期函数得到所述重定义页面对象。
再一种实施方式中,所述上报单元602还用于在调用所述初始页面对象执行所述用户操作所指示的业务过程中,收集所述用户操作对应的第二类事件,并上报所述第二类事件。
再一种实施方式中,所述上报单元602在调用所述初始页面对象执行所述用户操作所指示的业务过程中,收集所述用户操作对应的第二类事件,包括:
获取所述目标应用程序对应的重定义API;
在调用所述初始页面对象执行所述用户操作所指示的业务过程中,通过所述重定义API收集所述用户操作对应的所述第二类事件。
根据本发明的一个实施例,图2或图3所示的方法所涉及的各个步骤均可以是由图6所示的事件上报装置中的各个单元执行的。例如,图2所示的步骤S201由图6中所示的获取单元601来执行,步骤S202由图6中所示的上报单元602来执行,步骤S203由图6中所示的处理单元603来执行。又例如,图3所示的步骤S301由图6中所示的获取单元601来执行,步骤S302和步骤S303由图6中所示的上报单元602来执行,步骤S304由图6中所示的处理单元603来执行。
本发明实施例中,当获取到目标应用程序的目标页面中的用户操作后,可以调用目标页面对应的重定义页面对象获取用户操作对应的第一类事件,并上报所述第一类事件;以及调用初始页面对象执行用户操作所指示的业务。其中,重定义页面对象与初始页面对象之间存在继承关系,初始页面对象为所述重定义页面对象的子类对象。可见本发明实施例所提出的事件上报方案中,在获取到小程序的目标页面的用户操作后,分别调用重定义页面对象对用户操作对应的第一类事件进行上报,以及继承了重定义页面对象内容的初始页面对象执行用户操作所指示的业务。事件上报和业务分离解耦,解决了传统方案中事件上报不齐全或者上报方法复杂的缺点,在减少小程序埋点接入工作的同时最大限度的上报第一类事件,便于后续的用户行为分析。
基于上述事件上报方法实施例的描述,本发明实施例还公开了一种计算机设备。请参见图7,该计算机设备至少包括处理器701、输入接口702、输出接口703以及计算机存储介质704可通过总线或其他方式连接。
所述计算机存储介质704是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质704既可以包括计算机设备的内置存储介质,当然也可以包括计算机设备支持的扩展存储介质。计算机存储介质704提供存储空间,该存储空间存储了计算机设备的操作系统。并且,在该存储空间中还存放了适于被处理器701加载并执行的一条或多条指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速RAM存储器;可选的,还可以是至少一个远离前述处理器的计算机存储介质、所述处理器可以称为中央处理单元(Central ProcessingUnit,CPU),是计算机设备的核心以及控制中心,适于被实现一条或多条指令,具体加载并执行一条或多条指令从而实现相应的方法流程或功能。
在一个实施例中,可由处理器701加载并执行计算机存储介质704中存放的一条或多条指令,以实现执行图2或图3中所示的相应方法所涉及的各步骤,具体实现中,计算机存储介质704中的一条或多条指令由处理器701加载并执行以下步骤:
获取目标应用程序的目标页面中的用户操作;
调用所述目标页面对应的重定义页面对象获取所述用户操作对应的第一类事件,并上报所述第一类事件;其中,所述重定义页面对象与初始页面对象之间存在继承关系,所述初始页面对象为所述重定义页面对象的子类对象;
调用所述初始页面对象执行所述用户操作所指示的业务。
再一种实施方式中,处理器701上报所述第一类事件,包括:基于数据上报协议对所述第一类事件进行整理生成上报信息;
对所述上报信息进行上报。
再一种实施方式中,所述数据上报协议包括页面属性信息字段、事件属性信息字段以及应用程序属性信息字段中任意一个或多个;所述页面属性信息包括页面访问来源、页面标题以及页面路径中任意一个或多个;所述事件属性信息包括事件名称、事件标识、事件发生时间以及事件结束时间中任意一个或多个;所述应用程序属性信息包括:应用程序标识、应用程序对应的用户标识以及应用程序名称中任意一个或多个。
再一种实施方式中,所述数据上报协议包括页面属性字段、事件属性字段以及应用程序属性字段,所述处理器701基于数据上报协议对所述第一类事件进行整理生成上报信息,包括:
获取所述第一类事件对应的目标事件属性信息;
根据所述目标应用程序确定所述第一类事件对应的目标应用程序属性信息,以及根据所述目标页面确定所述第一类事件对应的目标页面属性信息;
将所述目标事件属性信息、所述目标应用程序属性信息以及所述目标页面属性信息分别写入所述数据上报协议的相应字段,生成上报信息。
再一种实施方式中,处理器701还用于获取上报函数;
基于所述初始页面对象和所述上报函数生成所述重定义页面对象,使得所述重定义页面对象包含所述上报函数。
再一种实施方式中,所述初始页面对象包括至少一个初始生命周期函数,所述处理器701基于所述初始页面对象和所述上报函数生成所述重定义页面对象,包括:
在所述至少一个初始生命周期函数中添加所述上报函数生成各个重定义生命周期函数;
基于所述各个重定义生命周期函数得到所述重定义页面对象。
再一种实施方式中,所述处理器701还用于在调用所述初始页面对象执行所述用户操作所指示的业务过程中,收集所述用户操作对应的第二类事件,并上报所述第二类事件。
再一种实施方式中,所述处理器701在调用所述初始页面对象执行所述用户操作所指示的业务过程中,收集所述用户操作对应的第二类事件,包括:
获取所述目标应用程序对应的重定义API;
在调用所述初始页面对象执行所述用户操作所指示的业务过程中,通过所述重定义API收集所述用户操作对应的所述第二类事件。
本发明实施例中,当获取到目标应用程序的目标页面中的用户操作后,可以调用目标页面对应的重定义页面对象获取用户操作对应的第一类事件,并上报所述第一类事件;以及调用初始页面对象执行用户操作所指示的业务。其中,重定义页面对象与初始页面对象之间存在继承关系,初始页面对象为所述重定义页面对象的子类对象。可见本发明实施例所提出的事件上报方案中,在获取到小程序的目标页面的用户操作后,分别调用重定义页面对象对用户操作对应的第一类事件进行上报,以及继承了重定义页面对象内容的初始页面对象执行用户操作所指示的业务。事件上报和业务分离解耦,解决了传统方案中事件上报不齐全或者上报方法复杂的缺点,在减少小程序埋点接入工作的同时最大限度的上报第一类事件,便于后续的用户行为分析。
需要说明的是,本发明实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序指令,该计算机程序指令存储在计算机可读存储介质中。计算机存储介质中存储有计算机程序指令,计算机设备的处理器从计算机可读存储介质读取该计算机程序指令,处理器执行该计算机程序指令,使得该计算机设备执行上述事件上报方法实施例图2或图3中所执行的步骤。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

Claims (10)

1.一种事件上报方法,其特征在于,包括:
获取目标应用程序的目标页面中的用户操作;
调用所述目标页面对应的重定义页面对象获取所述用户操作对应的第一类事件,并上报所述第一类事件;其中,所述重定义页面对象与初始页面对象之间存在继承关系,所述初始页面对象为所述重定义页面对象的子类对象;
调用所述初始页面对象执行所述用户操作所指示的业务。
2.如权利要求1所述的方法,其特征在于,所述上报所述第一类事件,包括:
基于数据上报协议对所述第一类事件进行整理生成上报信息;
对所述上报信息进行上报。
3.如权利要求2所述的方法,其特征在于,所述数据上报协议包括页面属性信息字段、事件属性信息字段以及应用程序属性信息字段中任意一个或多个;所述页面属性信息包括页面访问来源、页面标题以及页面路径中任意一个或多个;所述事件属性信息包括事件名称、事件标识、事件发生时间以及事件结束时间中任意一个或多个;所述应用程序属性信息包括:应用程序标识、应用程序对应的用户标识以及应用程序名称中任意一个或多个。
4.如权利要求3所述的方法,其特征在于,所述数据上报协议包括页面属性字段、事件属性字段以及应用程序属性字段,所述基于数据上报协议对所述第一类事件进行整理生成上报信息,包括:
获取所述第一类事件对应的目标事件属性信息;
根据所述目标应用程序确定所述第一类事件对应的目标应用程序属性信息,以及根据所述目标页面确定所述第一类事件对应的目标页面属性信息;
将所述目标事件属性信息、所述目标应用程序属性信息以及所述目标页面属性信息分别写入所述数据上报协议的相应字段,生成上报信息。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
获取上报函数;
基于所述初始页面对象和所述上报函数生成所述重定义页面对象,使得所述重定义页面对象包含所述上报函数。
6.如权利要求5所述的方法,其特征在于,所述初始页面对象包括至少一个初始生命周期函数,所述基于所述初始页面对象和所述上报函数生成所述重定义页面对象,包括:
在所述至少一个初始生命周期函数中添加所述上报函数生成各个重定义生命周期函数;
基于所述各个重定义生命周期函数得到所述重定义页面对象。
7.如权利要求1所述的方法,其特征在于,所述方法还包括:
在调用所述初始页面对象执行所述用户操作所指示的业务过程中,收集所述用户操作对应的第二类事件,并上报所述第二类事件。
8.如权利要求7所述的方法,其特征在于,所述在调用所述初始页面对象执行所述用户操作所指示的业务过程中,收集所述用户操作对应的第二类事件,包括:
获取所述目标应用程序对应的重定义应用程序接口API;
在调用所述初始页面对象执行所述用户操作所指示的业务过程中,通过所述重定义API收集所述用户操作对应的所述第二类事件。
9.一种事件上报装置,其特征在于,包括:
获取单元,用于获取目标应用程序的目标页面中的用户操作;
上报单元,用于调用所述目标页面对应的重定义页面对象获取所述用户操作对应的第一类事件,并上报所述第一类事件;其中,所述重定义页面对象与初始页面对象之间存在继承关系,所述初始页面对象为所述重定义页面对象的子类对象;
处理单元,用于调用所述初始页面对象执行所述用户操作所指示的业务。
10.一种计算机设备,其特征在于,包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如权利要求1-8任一项所述的事件上报方法。
CN202011437268.3A 2020-12-10 2020-12-10 事件上报方法、装置、计算机设备及存储介质 Pending CN112559091A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011437268.3A CN112559091A (zh) 2020-12-10 2020-12-10 事件上报方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011437268.3A CN112559091A (zh) 2020-12-10 2020-12-10 事件上报方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN112559091A true CN112559091A (zh) 2021-03-26

Family

ID=75060410

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011437268.3A Pending CN112559091A (zh) 2020-12-10 2020-12-10 事件上报方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN112559091A (zh)

Similar Documents

Publication Publication Date Title
US8301645B1 (en) Aggregated web analytics request systems and methods
WO2021184725A1 (zh) 用户界面测试方法、装置、存储介质及计算机设备
CN109815119B (zh) 一种app链接渠道的测试方法及装置
CN110263070A (zh) 事件上报方法及装置
De Souza et al. Estimating the effort of mobile application development
CN109063059B (zh) 行为日志处理方法、装置及电子设备
CN113434063B (zh) 一种信息显示方法、装置及设备
CN112114907A (zh) 基于电子商务云计算的应用加载方法及人工智能计算中心
CN116776030A (zh) 灰度发布方法、装置、计算机设备、存储介质
CN116955817A (zh) 内容推荐方法、装置、电子设备以及存储介质
CN111488386A (zh) 数据查询方法和装置
US11615061B1 (en) Evaluating workload for database migration recommendations
CN112491943A (zh) 数据请求方法、装置、存储介质和电子设备
CN115934537A (zh) 接口测试工具生成方法、装置、设备、介质及产品
US9230022B1 (en) Customizable result sets for application program interfaces
CN113656719B (zh) 数据渲染方法、系统、电子设备与存储介质
CN112559091A (zh) 事件上报方法、装置、计算机设备及存储介质
CN111870937B (zh) 一种数据处理方法、模拟服务器及时效性应用
CN113935301B (zh) 一种报表生成方法及装置、存储介质及电子设备
US11588768B2 (en) Intelligent management of hero cards that display contextual information and actions for backend systems
CN111338941B (zh) 信息处理方法和装置、电子设备和存储介质
CN116755684B (zh) OAS Schema的生成方法、装置、设备及介质
US11949639B2 (en) Intelligent management of hero cards that display contextual information and actions for backend systems
US11971866B2 (en) Determining differences between web elements of different versions of a web application
CN117009697A (zh) 一种页面分析方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40040654

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination