CN114816949A - 埋点上报方法、装置、终端及存储介质 - Google Patents
埋点上报方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN114816949A CN114816949A CN202110083769.4A CN202110083769A CN114816949A CN 114816949 A CN114816949 A CN 114816949A CN 202110083769 A CN202110083769 A CN 202110083769A CN 114816949 A CN114816949 A CN 114816949A
- Authority
- CN
- China
- Prior art keywords
- buried point
- data
- configuration information
- reported data
- point configuration
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3452—Performance evaluation by statistical analysis
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Hardware Design (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了埋点上报方法、装置、终端及存储介质,该方法在客户端检测到针对目标组件的预设事件后,先判断客户端本地是否存在与目标组件相匹配的埋点配置信息,其中,该埋点配置信息预先从服务器获得;当存在相匹配的埋点配置信息时,从该埋点配置信息中获取与该目标组件的预设事件相匹配的目标上报数据,并发送至服务器;当不存在相匹配的埋点配置信息时,获取埋点产生的上报数据,并发送至服务器。由上述过程可知,客户端能够从服务器获取埋点配置信息,且埋点配置信息中的目标上报数据的优先级高于埋点代码产生的上报数据,实现在客户端程序发布后能够远程修正埋点的上报数据,提高了埋点的可配置性和灵活性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种埋点上报方法、装置、终端及存储介质。
背景技术
埋点是设置在客户端代码逻辑中的一段代码,用于收集客户端中指定组件的预设事件的数据,即埋点数据,并上报给服务器。例如,客户端页面中有一个广告类的交互区域,通过埋点代码可以获取用户对于该广告区域的点击操作。
相关技术中的埋点设置方案通常是在客户端代码中插入埋点代码的方式实现埋点设置,当客户端程序发布后,无法修改埋点代码,如果需要修改埋点通常是发布新版客户端程序,此种方式增加了研发人员的工作量,而且,周期长、效率低。
发明内容
有鉴于此,本申请提供了一种埋点上报方法、装置、终端及存储介质,以解决传统的埋点上报方案无法在不更改客户端程序的前天下更改埋点数据的技术问题,其公开的技术方案如下:
第一方面,本申请提供了一种埋点上报方法,应用于客户端,所述方法包括:
当检测到目标组件的预设事件后,判断是否存在与所述目标组件相匹配的埋点配置信息,所述埋点配置信息预先从服务器获得,所述埋点配置信息用于配置埋点上报的数据;
如果存在与所述目标组件相匹配的埋点配置信息,则从所述埋点配置信息中获取与所述预设事件相匹配的上报数据,确定为目标上报数据;
如果不存在与所述目标组件相匹配的埋点配置信息,则获取所述目标组件的埋点产生的上报数据,确定为目标上报数据;
向服务器发送所述目标上报数据。
在第一方面一种可能的实现方式中,所述当检测到目标组件的预设事件后,判断是否存在与所述目标组件相匹配的埋点配置信息,包括:
当检测到目标组件的预设事件后,按照埋点配置匹配规则生成与所述目标组件唯一对应的配置匹配标识;
查找所述客户端本地存储的埋点配置信息中是否存在与所述配置匹配标识相匹配的埋点配置信息;
如果存在与所述配置匹配标识相匹配的埋点配置信息,则确定存在与所述目标组件相匹配的埋点配置信息;
如果不存在与所述配置匹配标识相匹配的埋点配置信息,则确定不存在与所述目标组件相匹配的埋点配置信息。
在第一方面另一种可能的实现方式中,所述方法还包括:
向服务器发送埋点配置信息拉取请求;
接收所述服务器响应所述埋点配置信息拉取请求返回的埋点配置文件;
解析所述埋点配置文件获得埋点配置对象集合并存储,所述埋点配置对象集合包括配置匹配标识及对应的埋点配置信息。
在第一方面又一种可能的实现方式中,在得到所述目标上报数据之后,所述方法还包括:
将所述目标上报数据写入上报数据队列中;
当检测到所述上报数据队列满足预设上报条件后,从所述上报数据队列中读取上报数据并发送至服务器;
其中,所述预设上报条件包括所述上报数据队列中的数据条数大于或等于预设条数,或者,所述上报数据队列中的当前最早的未上报数据距当前时刻的时间间隔大于或等于第一预设时间间隔。
在第一方面另一种可能的实现方式中,所述方法还包括:
当检测到所述上报数据队列满足写数据库条件后,将所述上报数据队列中的所有数据写入数据库;
当从所述上报数据队列中读取的上报数据上报成功后,删除所述数据库中上报成功的数据。
在第一方面又一种可能的实现方式中,在所述当检测到目标组件的预设事件后,判断是否存在与所述目标组件相匹配的埋点配置信息之前,所述方法还包括:
当所述客户端启动后,检测到所述数据库中存在残留上报数据时,向服务器发送所述数据库中的所有残留上报数据。
在第一方面另一种可能的实现方式中,所述当从所述上报数据队列中读取的上报数据上报成功后,删除所述数据库中上报成功的数据,包括:
当接收到服务器发送的上报成功消息后,删除所述数据库中与所述上报成功消息相匹配的上报数据;
或者,
检测所述数据库中的数据个数与所述上报数据队列的个数是否一致,当不一致时,计算数据库与所述上报数据队列的数据之间的数量差,并删除所述数据库中的写入顺序由早到晚的前所述数量差个数据。
在第一方面又一种可能的实现方式中,所述方法还包括:
通过所述客户端中设置的自定义埋点组件层,自定义共用基础组件,以及为所述共用基础组件设置上报属性模板,所述上报属性模板用于获取埋点代码设置的上报数据,所述埋点代码设置的上报数据通过所述客户端中设置的上报添加接口添加至所述埋点代码中。
第二方面,本申请还提供了一种终端,包括:
处理器和存储器;
其中,所述处理器用于执行所述存储器中存储的程序;
所述存储器用于存储程序,所述程序至少用于:
当检测到目标组件的预设事件后,判断是否存在与所述目标组件相匹配的埋点配置信息,所述埋点配置信息预先从服务器获得,所述埋点配置信息用于配置埋点上报的数据;
如果存在与所述目标组件相匹配的埋点配置信息,则从所述埋点配置信息中获取与所述预设事件相匹配的上报数据,确定为目标上报数据;
如果不存在与所述目标组件相匹配的埋点配置信息,则获取所述目标组件的埋点产生的上报数据,确定为目标上报数据;
向服务器发送所述目标上报数据。
第三方面,本申请还提供了一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现第一方面任一种可能的实现方式所述的埋点上报方法。
第四方面,本申请实施例还提供了一种计算机程序,当该计算机程序在计算设备上执行时,适于执行初始化有第一方面任一种可能的实现方式所述的埋点上报方法。
本申请提供的埋点上报方法,当客户端检测到针对目标组件的预设事件后,先判断客户端本地是否存在与目标组件相匹配的埋点配置信息,其中,该埋点配置信息预先从服务器获得;当存在相匹配的埋点配置信息时,从该埋点配置信息中获取与该目标组件的预设事件相匹配的目标上报数据,并发送至服务器;当不存在相匹配的埋点配置信息时,获取埋点产生的上报数据,并发送至服务器。由上述过程可知,客户端能够从服务器获取包含目标上报数据的埋点配置信息,且埋点配置信息中的目标上报数据的优先级高于埋点代码产生的上报数据,该过程实现了在不更改客户端程序的前提下实现上报数据的动态修改,即实现了在客户端程序发布后能够远程修正埋点的上报数据,提高了埋点的可配置性和灵活性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1示出了本申请实施例提供的一种埋点上报系统的结构示意图;
图2示出了本申请实施例提供的一种埋点上报方法的流程图;
图3示出了本申请实施例提供的另一种埋点上报方法的流程图;
图4示出了本申请实施例提供的又一种埋点上报方法的流程图;
图5示出了本申请实施例提供的一种埋点上报框架的结构示意图;
图6示出了本申请实施例提供的一种埋点上报装置的框图;
图7示出了本申请实施例提供的另一种埋点上报装置的框图;
图8示出了本申请实施例提供的又一种埋点上报装置的框图;
图9示出了本申请实施例提供的一种终端的框图。
具体实施方式
本申请提供的埋点上报方法,客户端预先从服务器获取用于配置上报数据的埋点配置信息,当检测到客户端的目标组件的预设事件后,先判断是否存在与该目标组件相匹配的埋点配置信息,如果存在则直接从埋点配置信息中获取与所述预设事件相匹配的上报数据,即目标上报数据;如果不存在,则获取埋点中针对所述目标组件的预设事件设置的上报数据。最终将获得的目标上报数据发送至服务器。该方案在需要修正或更新埋点的上报数据时,在服务器发布相应的埋点配置信息,客户端从服务器获得该埋点配置信息,并利用埋点配置信息中配置的上报数据代替原埋点中设置的上报数据,或者,使没有设置埋点的组件获得埋点功能。利用该方案实现了在客户端程序发布后仍能够通过服务器远程修正埋点的上报数据,提高了没电的可配置性和灵活性。
为了便于理解本申请的埋点上报方法,下面先对实现埋点上报方法的系统进行介绍。
请参见图1,示出了本申请实施例提供的一种埋点上报系统的框图,该系统包括:终端1和服务器2。
其中,终端1中安装有客户端程序,且客户端程序内设置有埋点代码,该埋点代码用于收集客户端上指定组件的预设事件数据并上报给服务器2。其中,埋点代码在客户端程序发布前由研发人员开发并集成于客户端程序中。
在本申请的实施例中,客户端可以从服务器2中获取用于配置上报数据的埋点配置信息,然后,根据埋点配置信息配置客户端页面中组件的上报数据并上报至服务器2,从而实现在客户端发布后远程修正埋点。
下面对客户端向服务器上报埋点数据的整体过程进行详细介绍。
请参见图2,示出了本申请实施例提供的一种埋点上报方法的流程图,该方法应用于客户端中,如图2所示,该方法可以包括以下步骤:
S110,当检测到目标组件的预设事件后,判断是否存在与目标组件相匹配的埋点配置信息;如果是,则执行S120;如果否,则执行S130。
其中,所述埋点配置信息预先从服务器获得,所述埋点配置信息用于配置埋点上报给服务器的数据。
目标组件可以是客户端页面中的任意组件,预设事件包括但不限于被动曝光、主动点击、滑动等。
当检测到客户端页面上的目标组件发生预设事件后,先检测客户端本地是否存在与该目标组件相匹配的埋点配置信息。其中,客户端本地的埋点配置信息从服务器中获得。
S120,从埋点配置信息中获取与目标组件的预设事件相匹配的上报数据,确定为目标上报数据。
在本申请的实施例中,埋点配置信息中的上报数据的优先级高于埋点代码中的上报数据,因此,如果客户端中存在与该目标组件的预设事件相匹配的埋点配置信息,则确定埋点配置信息中的上报数据为目标上报数据。
在本申请的一种应用场景中,如果目标组件是埋点组件,即该组件设置有相应的埋点,如果客户端中存在与目标组件的预设事件相匹配的埋点配置信息,此种情况下,利用埋点配置信息中配置的上报数据代替埋点中设置的上报数据。
例如,应用的某一页面中设置一个“确认支付”的按钮,应用程序中的埋点代码的上报逻辑是,当检测到该按钮的点击操作后,向服务器上报“返回”的行为数据。研发人员通过分析服务器接收的埋点上报的数据发现“确认支付”按钮的埋点中设置的上报数据有误,此种情况下,可以在服务器中发布针对“确认支付”按钮的埋点配置信息,例如,该埋点配置信息可以将上报数据配置为“支付”,客户端从服务器中拉取埋点配置信息,并检测到该按钮的点击操作后,向服务器上报相匹配的埋点配置信息中的数据“支付”,最终实现埋点上报远程配置。
可见,该方案通过远程配置更改埋点组件上报的数据内容,从而修正埋点组件的错误。
在本申请的另一种应用场景中,如果目标组件是无埋点组件,即该组件没有设置有埋点,如果客户端中存在与该组件的预设事件相匹配的埋点配置信息,此种情况下,直接利用埋点配置信息中的上报数据作为目标上报数据。可见,本方案通过远程配置能够使无埋点组件获得埋点功能。
S130,获取目标组件的埋点产生的上报数据,确定为目标上报数据。
如果客户端本地没有与目标组件的预设事件相匹配的埋点配置信息,此种情况下,直接利用埋点中设置的上报数据作为目标上报数据上报给服务器。
S140,向服务器发送目标上报数据。
本实施例提供埋点上报方法,当客户端检测到针对目标组件的预设事件后,先判断客户端本地是否存在与目标组件相匹配的埋点配置信息,其中,该埋点配置信息预先从服务器获得;当存在相匹配的埋点配置信息时,从该埋点配置信息中获取与该目标组件的预设事件相匹配的目标上报数据,并发送至服务器;当不存在相匹配的埋点配置信息时,获取埋点产生的上报数据,并发送至服务器。由上述过程可知,客户端能够从服务器获取包含目标上报数据的埋点配置信息,且埋点配置信息中的目标上报数据的优先级高于埋点代码产生的上报数据,该过程实现了在不更改客户端程序的前提下实现上报数据的动态修改,即实现了在客户端程序发布后能够远程修正埋点的上报数据,提高了埋点的可配置性和灵活性。
在本申请的一个实施例中,如图3所示,本实施例提供的埋点上报方法在图2所示实施例的基础上,还包括以下步骤:
S210,客户端启动时,向服务器发送埋点配置信息拉取请求;该拉取请求用于请求获取埋点的配置文件。
S220,服务器接收到埋点配置信息拉取请求后,查找服务器中是否存在配置文件;如果存在,则执行S230;如果不存在,则执行S250。
S230,向客户端返回配置文件。
S240,客户端接收到服务器发送的配置文件后,解析配置文件获取埋点配置对象集合并存储。
如果客户端从服务器成功获得配置文件,则解析配置文件得到埋点配置对象集合,其中,埋点配置对象集合包括配置匹配标识及对应的埋点配置信息。
S250,返回配置文件不存在的消息。
在本申请的一个实施例中,如图3所示,判断是否存在与目标组件相匹配的埋点配置信息的过程可以包括以下步骤:
S111,当检测到目标组件的预设事件后,按照埋点配置匹配规则生成与目标组件唯一对应的配置匹配标识。
埋点配置匹配规则是客户端和服务器实现埋点配置的共有协议,该埋点配置匹配规则用于构建一字符串与一客户端页面组件的唯一映射,即,服务器和客户端都使用该规则生成组件对应的配置匹配标识。
在本申请的一个实施例中,埋点配置匹配规则可以是:PageName/ContainerName/ViewPath/BehaviorViewName/Id。
其中,PageName:代码定义的页面名称,示例:front_name;
ContainerName:代码定义的页面容器名称,示例:MainActivity;
ViewPath:是Android中对应View在View树中的路径,示例:LinearLayout/DecorView/RelativeLayout/;
BehaviorViewName:代码定义的View类名,示例:ReportButton;
Id:代码定义的View的id命名,示例:report_button。
对于客户端页面上的某一具体View(即,文中的组件),根据上述埋点配置匹配规则生成该View对应的唯一的配置匹配标识。此种配置匹配规则灵活,支持应用方根据自己业务的特点自行配置规则。
在本申请的另一个实施例中,可以采用能够确定组件的位置及组件的动作事件的信息创建组件的配置匹配标识。
例如,埋点配置匹配规则为:PageName/Position/Action,其中,PageName为页面名称,例如front_page;Position表示组件在页面中的位置,例如start_button;Action表示该组件的动作,例如click。
S112,查找客户端本地存储的埋点配置信息中是否存在与配置匹配标识相匹配的埋点配置信息;如果是,则执行S120;如果否,则执行S130。
客户端利用自身生成的配置匹配标识查找客户端本地是否与该标识相匹配的埋点配置信息,如果有,则表明客户端内存在与该目标组件的预设事件相
如果客户端本地没有与该配置匹配标识相匹配的埋点配置信息,则表明客户端内不存在与该目标组件的预设事件相匹配的埋点配置信息。
本实施例提供的埋点上报方法,客户端每次启动后,都从服务器中拉取埋点配置信息,如果成功拉取埋点配置信息,则在检测到组件的预设事件后,生成与目标组件唯一对应的配置匹配标识,并查找客户端内是否存在与该配置匹配标识相匹配的埋点配置信息,若存在则上报埋点配置信息中的上报数据;如果不存在相匹配的埋点配置信息,才上报埋点产生的上报数据。通过约定客户端和服务器共用的埋点配置匹配规则,能够快速查找到相匹配的埋点配置信息,提高了配置信息查找效率。
请参见图4,示出了本申请实施例提供的另一种埋点上报方法的流程图,该方法应用于客户端,为了防止应用(即,客户端)进程死亡后再重启后导致上报数据丢失,本实施例提供的埋点上报方法将上报数据持久化(即,存储至数据库中)。如图4所示,该方法在图2所示实施例中确定出目标上报数据后,还包括以下步骤:
S310,将目标上报数据写入上报数据队列中。
在申请的一个实施例中,客户端针对每个目标组件的预设事件确定出的目标上报数据先写入内存中的上报数据队列,从而提高数据上报速度。
S320,当检测到上报数据队列满足预设上报条件后,从上报数据队列中读取上报数据并发送至服务器。
在本申请的一个实施例中,预设上报条件可以是上报数据队列中的数据条数大于或等于预设条数;预设条数可以根据实际需求设定,例如,30条。
在本申请的另一个实施例中,预设上报条件可以是当前时刻距离上一次上报数据时刻大于或等于第一预设时间间隔,第一预设时间间隔可以根据实际需求设定,如,15s。
S330,当检测到上报数据队列满足写数据库条件后,将上报数据队列中的所有数据写入数据库。
在本申请的一个实施例中,当上报数据队列中的数据库条数大于预设数值时,触发一次写数据库操作。
在本申请一种可能的实现方式中,客户端维护一个指针,该指针指向当前上报数据队列中最早的一个未被写入数据库中的上报数据游标,并计算(当前队列的长度-指针)的差值,如果该差值大于预设数值(如,30),则触发一次写数据库操作,通过mmap的内存映射技术将上报数据队列中的所有数据一次性全部写入数据库中,而且,写入顺序必须和上报数据队列中的数据顺序保持一致。
S340,当从上报数据队列中读取的上报数据上报成功后,删除数据库中上报成功的数据。
在本申请的实施例中,从数据库中删除上报成功的数据,确保数据库中存储的上报数据和上报数据队列中的数据完全一致。
在本申请一种可能的实现方式中,当客户端接收到服务器发送的上报成功消息后,删除数据库中与该上报成功消息相匹配的上报数据。
当客户端从服务器获取成功上报的回调消息后,删除数据库中与该回调消息相匹配的上报数据。
在本申请另一种可能的实现方式中,按照一定时间间隔,检测本地数据库中的数据个数与上报数据队列中的数据个数是否一致,如果不一致,则计算数据库与上报数据队列的数据个数之间的数量差(即,数据库中数据个数-上报数据队列中数据个数),并删除将数据库中写入顺序由早到晚的前数量差个数据。
在本申请的一个实施例中,将上报数据队列中的数据写入数据库的目的是防止应用进程死亡后未上报的数据丢失,因此,该埋点上报方法还可以包括以下步骤:
S350,当客户端启动时,先检测数据库中是否存在残留的上报数据;如果存在,则执行S360;如果不存在,则执行S110。
S360,将数据库中的所有残留的上报数据都读取出来通过网络模块上报至服务器。
本实施例在图2所示实施例的基础上增加上述步骤,本实施例还可以在图3所示实施例的基础上增加上述步骤,此种情况下,当客户端检测到数据库中不存在残留的上报数据时,执行从服务器中拉取埋点配置信息的步骤。
本实施例提供的埋点上报方法,将上报数据队列中的数据持久化至数据库中,当应用启动时,都会检测数据库中是否存在残留的上报数据,如果存在则上报给服务器,这样即使应用进程死亡,上报数据队列中未上报的数据丢失,此种情况下,将数据库中存储有未上报的数据上报给服务器,提高了上报数据的完整度和准确度。
下面将结合图5示出的埋点上报系统框架的结构,介绍上述埋点上报方法的过程。
在客户端程序发布之前,研发人员在客户端程序中增加埋点框架以实现埋点功能。在客户端程序发布后,研发人员通过在服务器发布埋点配置信息,远程修正客户端程序中的埋点。
首先,如图5所示,为了使研发人员只关注上报数据本身,从逻辑上将上报数据也埋点业务解耦,本申请实施例在客户端中增加上报接口添加层和自定义埋点View层,整体思路是通过让所有的曝光类、点击类组件全部继承了埋点能力的上报基础组件,让行为上报层对研发透明化。
在本申请的一个实施例中,上报接口添加层提供两种上报数据填充方式:一种是由研发人员通过Android的xml文件完成埋点上报的数据设置,研发人员无需关注埋点上报的具体逻辑实现,只用关注界面和上报数据本身;另一种是通过代码对View基础组件添加埋点上报的数据。
为了满足上报接口添加层的需求,需要自定义共用的基础组件,例如,TextView、Button、RadioButton等,并为这些基础组件提供统一实现的接口,用来完成页面的曝光或事件点击、滑动的触发上报,为这些基础组件设定统一的属性模板,用来获取xml/代码中传入的上报数据完成声明式埋点。
当View组件发生预设事件(如,曝光、点击)时,在基础组件中,会先判断从服务器获得的埋点配置信息中是否存在与当前组件相匹配的埋点配置信息,如果存在,说明服务器下发了埋点配置,此种情况下,上报埋点配置信息中的上报数据;如果不存在,说明服务器没有针对该组件下发埋点配置,此种情况下上报埋点代码中的上报数据。
请参见图5,客户端内设置有配置化模块实现根据埋点配置信息确定目标上报数据。配置化模块向外提供一个接口层,即,外部暴露接口层,该接口层中暴露两个接口:是否生成配置的接口和获取配置信息的接口。
当客户端程序启动时,利用指令层向配置化模块发送指令,要求从服务器拉取配置文件,配置化模块通过接口层向服务器发送请求(该请求中包含该文件的路径,服务器接收到该请求后,先查看该路径下是否有文件,如果有就发送给客户端),如果有,就拉取配置文件;如果没有就跳过。
配置化模块从服务器拉取的配置文件,分成两条路径,一条路径是将配置文件存储到本地,另一条路径是通过埋点解析器将配置文件序列化为埋点配置对象集合并缓存。其中,埋点解析器用于根据客户端和服务器统一的埋点协议设计的自定义埋点解析类。
当客户端页面的组件产生预设事件时,会调用配置化模块中的是否生成配置的接口,按照埋点配置匹配规则生成当前组件的配置匹配标识,然后,调用获取配置信息的接口,传递该配置匹配标识,查询是否有相匹配的埋点配置信息。埋点配置信息中的上报数据的优先级高于埋点代码中的数据优先级。因此,该组件的埋点上报逻辑会优先从埋点配置信息中读取该组件的上报数据。如果没有相匹配的埋点配置信息,才读取埋点代码中设置的数据。
客户端设置有读取模块(如图中的Report Reader)和写入模块(如,ReportWriter、File Writer)。
当获得上报数据后,向Report Writer模块发送写队列指令,要求将产生的上报数据写入内存中的上报数据队列(即,Buffer queue队列)。
当Buffer queue队列中的数据满足写数据库条件时,触发File Writer模块将Buffer queue队列中的所有上报数据一次性全部写入数据库,写入顺序和Buffer queue队列中的顺序完全一致。
当Buffer queue队列中的数据满足预设上报条件(如,间隔15s)后,应用层心跳机制通过指令层触发数据上报,向Report Reader模块发送读取上报指令,并通过网络模块将读取的上报数据发送至服务器。如果服务器成功接收到上报数据,则通过网络模块向回应成功的回调消息,删除数据库中上报成功的数据。
当客户端启动时,客户端的初始化模块发出上报清空指令,指令层接收到该指令后向Report Reader模块发送读取上报指令,要求获取数据库中所有残留的上报数据,如果数据库中没有残留的上报数据,则跳过;如果数据库中有残留的上报数据,则从数据库中读取所有残留的上报数据并通过网络模块上报至服务器。如果此过程失败,则等待心跳机制的下一次调度。
相应于上述的埋点上报方法实施例,本申请还提供了埋点上报装置实施例。
请参见图6,示出了本申请实施例提供的一种埋点上报装置的框图,该装置应用于终端中,如图6所示,该装置包括:第一判断模块110、第一获取模块120、第二获取模块130和数据上报模块140。
第一判断模块110,用于当检测到目标组件的预设事件后,判断是否存在与所述目标组件相匹配的埋点配置信息。
所述埋点配置信息预先从服务器获得,所述埋点配置信息用于配置埋点上报的数据。
第一获取模块120,用于当存在与所述目标组件相匹配的埋点配置信息时,从所述埋点配置信息中获取与所述预设事件相匹配的上报数据,确定为目标上报数据。
第二获取模块130,用于当不存在与所述目标组件相匹配的埋点配置信息时,获取目标组件的埋点产生的上报数据,确定为目标上报数据。
数据上报模块140,用于向服务器发送所述目标上报数据。
本申请提供的埋点上报装置,当客户端检测到针对目标组件的预设事件后,先判断客户端本地是否存在与目标组件相匹配的埋点配置信息,其中,该埋点配置信息预先从服务器获得;当存在相匹配的埋点配置信息时,从该埋点配置信息中获取与该目标组件的预设事件相匹配的目标上报数据,并发送至服务器;当不存在相匹配的埋点配置信息时,获取埋点产生的上报数据,并发送至服务器。由上述过程可知,客户端能够从服务器获取包含目标上报数据的埋点配置信息,且埋点配置信息中的目标上报数据的优先级高于埋点代码产生的上报数据,该过程实现了在不更改客户端程序的前提下实现上报数据的动态修改,即实现了在客户端程序发布后能够远程修正埋点的上报数据,提高了埋点的可配置性和灵活性。
在本申请另一个实施例中,如图7所示,该装置在图6所示实施例的基础上还包括:
拉取请求发送模块210,用于向服务器发送埋点配置信息拉取请求。
配置文件接收模块220,用于接收所述服务器响应所述埋点配置信息拉取请求返回的埋点配置文件。
配置文件解析模块230,用于解析所述埋点配置文件获得埋点配置对象集合并存储,所述埋点配置对象集合包括配置匹配标识及对应的埋点配置信息。
在本申请一种可能的实现方式中,第一判断模块110包括:
匹配标识生成子模块111,用于当检测到目标组件的预设事件后,按照埋点配置匹配规则生成与所述目标组件唯一对应的配置匹配标识;
查找子模块112,用于查找所述客户端本地存储的埋点配置信息中是否存在与所述配置匹配标识相匹配的埋点配置信息;
当存在与所述配置匹配标识相匹配的埋点配置信息时,触发第一获取模块120执行相应的过程;当不存在与所述配置匹配标识相匹配的埋点配置信息时,触发第二获取模块130执行相应的过程。
在本申请的又一个实施例中,如图8所示,该装置在图6所示实施例的基础上还可以包括写队列模块310、读取上报模块320、写数据库模块330和删除模块340。
写队列模块310,用于将所述目标上报数据写入上报数据队列中;
读取上报模块320,用于当检测到所述上报数据队列满足预设上报条件后,从所述上报数据队列中读取上报数据并发送至服务器;
其中,所述预设上报条件包括所述上报数据队列中的数据条数大于或等于预设条数,或者,所述上报数据队列中的当前最早的未上报数据距当前时刻的时间间隔大于或等于第一预设时间间隔。
写数据库模块330,用于当检测到所述上报数据队列满足写数据库条件后,将所述上报数据队列中的所有数据写入数据库。
删除模块340,用于当从所述上报数据队列中读取的上报数据上报成功后,删除所述数据库中上报成功的数据。
在一种可能的实现方式中,当接收到服务器发送的上报成功消息后,删除所述数据库中与所述上报成功消息相匹配的上报数据。
在另一种可能的实现方式中,检测数据库中的数据个数与上报数据队列的个数是否一致,当不一致时,计算数据库与所述上报数据队列的数据之间的数量差,并删除所述数据库中的写入顺序由早到晚的前所述数量差个数据。
此种应用场景下,该装置还包括:残留数据上报模块350
该残留数据上报模块350,用于当客户端启动后,检测到数据库中存在残留上报数据时,向服务器发送所述数据库中的所有残留上报数据。
在本申请的另一个实施例中,客户端内设置有上报添加接口层和自定义埋点组件层,其中,自定义埋点组件层是Android中用来实现特性化View的能力。
通过所述客户端中设置的自定义埋点组件层,自定义共用基础组件,以及为所述共用基础组件设置上报属性模板,所述上报属性模板用于获取埋点代码设置的上报数据,所述埋点代码设置的上报数据通过所述客户端中设置的上报添加接口添加至所述埋点代码中。
另一方面,本申请还提供了一种终端,如参见图9,其示出了本申请的终端的一种组成结构示意图,本实施例的终端可以包括:处理器410和存储器420。
可选的,该终端还可以包括通信接口430、输入单元440和显示器450和通信总线460。
处理器410、存储器420、通信接口430、输入单元440、显示器450、均通过通信总线460完成相互间的通信。
在本申请实施例中,该处理器410,可以为中央处理器(Central ProcessingUnit,CPU),特定应用集成电路,数字信号处理器、现成可编程门阵列或者其他可编程逻辑器件等。
该处理器可以调用存储器420中存储的程序。具体的,处理器可以执行以下消息发送方法的实施例中应用服务器侧所执行的操作。
存储器420中用于存放一个或者一个以上程序,程序可以包括程序代码,所述程序代码包括计算机操作指令,在本申请实施例中,该存储器中至少存储有用于实现以下功能的程序:
当检测到目标组件的预设事件后,判断是否存在与所述目标组件相匹配的埋点配置信息,所述埋点配置信息预先从服务器获得,所述埋点配置信息用于配置埋点上报的数据;
如果存在与所述目标组件相匹配的埋点配置信息,则从所述埋点配置信息中获取与所述预设事件相匹配的上报数据,确定为目标上报数据;
如果不存在与所述目标组件相匹配的埋点配置信息,则获取所述目标组件的埋点产生的上报数据,确定为目标上报数据;
向服务器发送所述目标上报数据。
在一种可能的实现方式中,所述当检测到目标组件的预设事件后,判断是否存在与所述目标组件相匹配的埋点配置信息,包括:
当检测到目标组件的预设事件后,按照埋点配置匹配规则生成与所述目标组件唯一对应的配置匹配标识;
查找所述客户端本地存储的埋点配置信息中是否存在与所述配置匹配标识相匹配的埋点配置信息;
如果存在与所述配置匹配标识相匹配的埋点配置信息,则确定存在与所述目标组件相匹配的埋点配置信息;
如果不存在与所述配置匹配标识相匹配的埋点配置信息,则确定不存在与所述目标组件相匹配的埋点配置信息。
在另一种可能的实现方式中,所述方法还包括:
向服务器发送埋点配置信息拉取请求;
接收所述服务器响应所述埋点配置信息拉取请求返回的埋点配置文件;
解析所述埋点配置文件获得埋点配置对象集合并存储,所述埋点配置对象集合包括配置匹配标识及对应的埋点配置信息。
在另一种可能的实现方式中,在得到所述目标上报数据之后,所述方法还包括:
将所述目标上报数据写入上报数据队列中;
当检测到所述上报数据队列满足预设上报条件后,从所述上报数据队列中读取上报数据并发送至服务器;
其中,所述预设上报条件包括所述上报数据队列中的数据条数大于或等于预设条数,或者,所述上报数据队列中的当前最早的未上报数据距当前时刻的时间间隔大于或等于第一预设时间间隔。
在又一种可能的实现方式中,所述方法还包括:
当检测到所述上报数据队列满足写数据库条件后,将所述上报数据队列中的所有数据写入数据库;
当从所述上报数据队列中读取的上报数据上报成功后,删除所述数据库中上报成功的数据。
在另一种可能的实现方式中,在所述当检测到目标组件的预设事件后,判断是否存在与所述目标组件相匹配的埋点配置信息之前,所述方法还包括:
当所述客户端启动后,检测到所述数据库中存在残留上报数据时,向服务器发送所述数据库中的所有残留上报数据。
在又一种可能的实现方式中,所述当从所述上报数据队列中读取的上报数据上报成功后,删除所述数据库中上报成功的数据,包括:
当接收到服务器发送的上报成功消息后,删除所述数据库中与所述上报成功消息相匹配的上报数据;
或者,
检测所述数据库中的数据个数与所述上报数据队列的个数是否一致,当不一致时,计算数据库与所述上报数据队列的数据之间的数量差,并删除所述数据库中的写入顺序由早到晚的前所述数量差个数据。
在另一种可能的实现方式中,所述方法还包括:通过所述客户端中设置的自定义埋点组件层,自定义共用基础组件,以及为所述共用基础组件设置上报属性模板,所述上报属性模板用于获取埋点代码设置的上报数据,所述埋点代码设置的上报数据通过所述客户端中设置的上报添加接口添加至所述埋点代码中。
在一种可能的实现方式中,该存储器420可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、以及至少一个功能(比如图像播放功能等)所需的应用程序等;存储数据区可存储根据计算机的使用过程中所创建的数据,比如,用户数据及图像数据等等。
此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
该通信接口430可以为通信模块的接口,如GSM模块的接口。
本申请还可以包括显示器440和输入单元450等等。
当然,图9所示的终端的结构并不构成对本申请实施例中终端的限定,在实际应用中终端可以包括比图9所示的更多或更少的部件,或者组合某些部件。
另一方面,本申请实施例还提供了一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上任意一个实施例中终端侧所执行的埋点上报方法。
又一方面,本申请实施例还提供了一种计算机程序,当该计算机程序在计算设备上执行时,适于执行初始化有如下方法步骤的程序:
当检测到目标组件的预设事件后,判断是否存在与所述目标组件相匹配的埋点配置信息,所述埋点配置信息预先从服务器获得,所述埋点配置信息用于配置埋点上报的数据;
如果存在与所述目标组件相匹配的埋点配置信息,则从所述埋点配置信息中获取与所述预设事件相匹配的上报数据,确定为目标上报数据;
如果不存在与所述目标组件相匹配的埋点配置信息,则获取所述目标组件的埋点产生的上报数据,确定为目标上报数据;
向服务器发送所述目标上报数据。
在一种可能的实现方式中,所述当检测到目标组件的预设事件后,判断是否存在与所述目标组件相匹配的埋点配置信息,包括:
当检测到目标组件的预设事件后,按照埋点配置匹配规则生成与所述目标组件唯一对应的配置匹配标识;
查找所述客户端本地存储的埋点配置信息中是否存在与所述配置匹配标识相匹配的埋点配置信息;
如果存在与所述配置匹配标识相匹配的埋点配置信息,则确定存在与所述目标组件相匹配的埋点配置信息;
如果不存在与所述配置匹配标识相匹配的埋点配置信息,则确定不存在与所述目标组件相匹配的埋点配置信息。
在另一种可能的实现方式中,所述方法还包括:
向服务器发送埋点配置信息拉取请求;
接收所述服务器响应所述埋点配置信息拉取请求返回的埋点配置文件;
解析所述埋点配置文件获得埋点配置对象集合并存储,所述埋点配置对象集合包括配置匹配标识及对应的埋点配置信息。
在另一种可能的实现方式中,在得到所述目标上报数据之后,所述方法还包括:
将所述目标上报数据写入上报数据队列中;
当检测到所述上报数据队列满足预设上报条件后,从所述上报数据队列中读取上报数据并发送至服务器;
其中,所述预设上报条件包括所述上报数据队列中的数据条数大于或等于预设条数,或者,所述上报数据队列中的当前最早的未上报数据距当前时刻的时间间隔大于或等于第一预设时间间隔。
在又一种可能的实现方式中,所述方法还包括:
当检测到所述上报数据队列满足写数据库条件后,将所述上报数据队列中的所有数据写入数据库;
当从所述上报数据队列中读取的上报数据上报成功后,删除所述数据库中上报成功的数据。
在另一种可能的实现方式中,在所述当检测到目标组件的预设事件后,判断是否存在与所述目标组件相匹配的埋点配置信息之前,所述方法还包括:
当所述客户端启动后,检测到所述数据库中存在残留上报数据时,向服务器发送所述数据库中的所有残留上报数据。
在又一种可能的实现方式中,所述当从所述上报数据队列中读取的上报数据上报成功后,删除所述数据库中上报成功的数据,包括:
当接收到服务器发送的上报成功消息后,删除所述数据库中与所述上报成功消息相匹配的上报数据;
或者,
检测所述数据库中的数据个数与所述上报数据队列的个数是否一致,当不一致时,计算数据库与所述上报数据队列的数据之间的数量差,并删除所述数据库中的写入顺序由早到晚的前所述数量差个数据。
在另一种可能的实现方式中,所述方法还包括:通过所述客户端中设置的自定义埋点组件层,自定义共用基础组件,以及为所述共用基础组件设置上报属性模板,所述上报属性模板用于获取埋点代码设置的上报数据,所述埋点代码设置的上报数据通过所述客户端中设置的上报添加接口添加至所述埋点代码中。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种埋点上报方法,其特征在于,应用于客户端,所述方法包括:
当检测到目标组件的预设事件后,判断是否存在与所述目标组件相匹配的埋点配置信息,所述埋点配置信息预先从服务器获得,所述埋点配置信息用于配置埋点上报的数据;
如果存在与所述目标组件相匹配的埋点配置信息,则从所述埋点配置信息中获取与所述预设事件相匹配的上报数据,确定为目标上报数据;
如果不存在与所述目标组件相匹配的埋点配置信息,则获取所述目标组件的埋点产生的上报数据,确定为目标上报数据;
向服务器发送所述目标上报数据。
2.根据权利要求1所述的方法,其特征在于,所述当检测到目标组件的预设事件后,判断是否存在与所述目标组件相匹配的埋点配置信息,包括:
当检测到目标组件的预设事件后,按照埋点配置匹配规则生成与所述目标组件唯一对应的配置匹配标识;
查找所述客户端本地存储的埋点配置信息中是否存在与所述配置匹配标识相匹配的埋点配置信息;
如果存在与所述配置匹配标识相匹配的埋点配置信息,则确定存在与所述目标组件相匹配的埋点配置信息;
如果不存在与所述配置匹配标识相匹配的埋点配置信息,则确定不存在与所述目标组件相匹配的埋点配置信息。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
向服务器发送埋点配置信息拉取请求;
接收所述服务器响应所述埋点配置信息拉取请求返回的埋点配置文件;
解析所述埋点配置文件获得埋点配置对象集合并存储,所述埋点配置对象集合包括配置匹配标识及对应的埋点配置信息。
4.根据权利要求1所述的方法,其特征在于,在得到所述目标上报数据之后,所述方法还包括:
将所述目标上报数据写入上报数据队列中;
当检测到所述上报数据队列满足预设上报条件后,从所述上报数据队列中读取上报数据并发送至服务器;
其中,所述预设上报条件包括所述上报数据队列中的数据条数大于或等于预设条数,或者,所述上报数据队列中的当前最早的未上报数据距当前时刻的时间间隔大于或等于第一预设时间间隔。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当检测到所述上报数据队列满足写数据库条件后,将所述上报数据队列中的所有数据写入数据库;
当从所述上报数据队列中读取的上报数据上报成功后,删除所述数据库中上报成功的数据。
6.根据权利要求5所述的方法,其特征在于,在所述当检测到目标组件的预设事件后,判断是否存在与所述目标组件相匹配的埋点配置信息之前,所述方法还包括:
当所述客户端启动后,检测到所述数据库中存在残留上报数据时,向服务器发送所述数据库中的所有残留上报数据。
7.根据权利要求5所述的方法,其特征在于,所述当从所述上报数据队列中读取的上报数据上报成功后,删除所述数据库中上报成功的数据,包括:
当接收到服务器发送的上报成功消息后,删除所述数据库中与所述上报成功消息相匹配的上报数据;
或者,
检测所述数据库中的数据个数与所述上报数据队列的个数是否一致,当不一致时,计算数据库与所述上报数据队列的数据之间的数量差,并删除所述数据库中的写入顺序由早到晚的前所述数量差个数据。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过所述客户端中设置的自定义埋点组件层,自定义共用基础组件,以及为所述共用基础组件设置上报属性模板,所述上报属性模板用于获取埋点代码设置的上报数据,所述埋点代码设置的上报数据通过所述客户端中设置的上报添加接口添加至所述埋点代码中。
9.一种终端,其特征在于,包括:
处理器和存储器;
其中,所述处理器用于执行所述存储器中存储的程序;
所述存储器用于存储程序,所述程序至少用于:
当检测到目标组件的预设事件后,判断是否存在与所述目标组件相匹配的埋点配置信息,所述埋点配置信息预先从服务器获得,所述埋点配置信息用于配置埋点上报的数据;
如果存在与所述目标组件相匹配的埋点配置信息,则从所述埋点配置信息中获取与所述预设事件相匹配的上报数据,确定为目标上报数据;
如果不存在与所述目标组件相匹配的埋点配置信息,则获取所述目标组件的埋点产生的上报数据,确定为目标上报数据;
向服务器发送所述目标上报数据。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上权利要求1至8任一项所述的埋点上报方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110083769.4A CN114816949A (zh) | 2021-01-21 | 2021-01-21 | 埋点上报方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110083769.4A CN114816949A (zh) | 2021-01-21 | 2021-01-21 | 埋点上报方法、装置、终端及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114816949A true CN114816949A (zh) | 2022-07-29 |
Family
ID=82524605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110083769.4A Pending CN114816949A (zh) | 2021-01-21 | 2021-01-21 | 埋点上报方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114816949A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117724860A (zh) * | 2023-06-28 | 2024-03-19 | 荣耀终端有限公司 | 一种数据处理方法和电子设备 |
CN117950719A (zh) * | 2024-03-27 | 2024-04-30 | 睿云联(厦门)网络通讯技术有限公司 | 一种基于分布式应用运行时的数据埋点方法、设备及介质 |
-
2021
- 2021-01-21 CN CN202110083769.4A patent/CN114816949A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117724860A (zh) * | 2023-06-28 | 2024-03-19 | 荣耀终端有限公司 | 一种数据处理方法和电子设备 |
CN117950719A (zh) * | 2024-03-27 | 2024-04-30 | 睿云联(厦门)网络通讯技术有限公司 | 一种基于分布式应用运行时的数据埋点方法、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8595259B2 (en) | Web data usage platform | |
CN101425922B (zh) | 跟踪和定位web服务更新过程中的改变的方法和装置 | |
CN114816949A (zh) | 埋点上报方法、装置、终端及存储介质 | |
CN108319619B (zh) | 数据处理方法及装置 | |
CN111158597A (zh) | 一种元数据读取方法、装置及电子设备和存储介质 | |
CN113722323A (zh) | 业务序列号生成方法、发号器组件、设备和存储介质 | |
CN111371851B (zh) | 一种连接方法、装置及电子设备和存储介质 | |
CN113407284A (zh) | 导航界面的生成方法、装置、存储介质及电子设备 | |
JP5286946B2 (ja) | 情報処理装置、その入力情報の復元方法及び復元プログラム | |
CN109240664B (zh) | 一种采集用户行为信息的方法及终端 | |
CN111240772A (zh) | 一种基于区块链的数据处理方法、装置及存储介质 | |
US10021187B2 (en) | Presenting content using decoupled presentation resources | |
CN112052157B (zh) | 测试报文的构造方法、装置及系统 | |
CN108959548B (zh) | 业务请求的处理方法及装置 | |
CN115858668A (zh) | 分布式事务处理方法、装置、电子装置及存储介质 | |
KR101888131B1 (ko) | Dds-dbms 연동 도구의 실시간 변경 데이터 발간 서비스 수행 방법 | |
CN112685474A (zh) | 应用管理方法、装置、设备和存储介质 | |
KR101888305B1 (ko) | 컨텐츠 서비스에서 개인화 된 알림을 제공하는 방법 및 시스템 | |
CN110888643A (zh) | 页面处理方法及装置 | |
CN113590115B (zh) | 一种业务系统代码自动生成方法及装置 | |
CN116955765A (zh) | 一种消息推送方法、装置、计算机设备、存储介质和产品 | |
CN116719541A (zh) | 一种组件更新方法、装置及电子设备 | |
CN118170375A (zh) | 一种管理页面的生成方法、装置及存储介质 | |
CN118200407A (zh) | 报文代码的生成方法、装置、计算机设备和可读存储介质 | |
CN118034822A (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 |