CN110825594B - 数据的上报、下发方法、客户端及服务器 - Google Patents
数据的上报、下发方法、客户端及服务器 Download PDFInfo
- Publication number
- CN110825594B CN110825594B CN201810888572.6A CN201810888572A CN110825594B CN 110825594 B CN110825594 B CN 110825594B CN 201810888572 A CN201810888572 A CN 201810888572A CN 110825594 B CN110825594 B CN 110825594B
- Authority
- CN
- China
- Prior art keywords
- experimental
- buried point
- data
- identifier
- point information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 78
- 238000012545 processing Methods 0.000 claims abstract description 28
- 230000008569 process Effects 0.000 claims abstract description 24
- 238000009877 rendering Methods 0.000 claims abstract description 7
- 230000006399 behavior Effects 0.000 claims description 117
- 238000002474 experimental method Methods 0.000 claims description 90
- 230000004044 response Effects 0.000 claims description 53
- 230000001960 triggered effect Effects 0.000 claims description 13
- 238000009933 burial Methods 0.000 claims description 10
- 238000000926 separation method Methods 0.000 claims description 10
- 238000013507 mapping Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 5
- 238000010276 construction Methods 0.000 claims description 2
- 230000003542 behavioural effect Effects 0.000 claims 1
- 238000007405 data analysis Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 8
- 230000006872 improvement Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- DRBJAKLMKNARRC-UHFFFAOYSA-N 5-(5-methylthiophen-3-yl)oxy-1h-pyrimidin-2-one Chemical compound S1C(C)=CC(OC2=CNC(=O)N=C2)=C1 DRBJAKLMKNARRC-UHFFFAOYSA-N 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 229920000433 Lyocell Polymers 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
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/3438—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 monitoring of user actions
-
- 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
-
- 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/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- 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/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施方式公开了一种数据的上报、下发方法、客户端及服务器,其中,应用于客户端中的方法包括:向服务器发送数据获取请求,并接收所述服务器反馈的业务数据和所述业务数据关联的实验埋点信息,所述实验埋点信息中至少包括埋点标识和对象标识;基于所述业务数据渲染页面信息,并收集用户针对所述页面信息执行的行为数据,所述行为数据中包括事件标识;若所述行为数据中的所述事件标识与所述实验埋点信息中的所述对象标识相匹配,将所述埋点标识添加至所述行为数据中;将收集的行为数据上报至所述服务器,以使得所述服务器针对添加了所述埋点标识的行为数据进行分析。本申请提供的技术方案,能够提高数据处理过程中的效率和精度。
Description
技术领域
本申请涉及互联网技术领域,特别涉及一种数据的上报、下发方法、客户端及服务器。
背景技术
当前,为了保证应用程序或者网站的稳定性,并提升用户体验,通常会针对应用程序或者网站进行AB实验。在AB实验中,可以提供两个不同的数据版本,这两个不同的数据版本可以提供给相同或者相似的客户端群组,然后通过收集客户端群组针对这两个数据版本的行为数据,从而判断哪个数据版本更加受用户欢迎。
目前,在进行AB实验时,通常需要将业务数据和实验埋点数据一并下发给客户端。在下发之前,通常需要对业务数据进行修改,从而将实验埋点数据写入业务数据的指定字段中。这种数据的处理方式,会增加对业务数据的处理过程,此外,在将实验埋点数据写入业务数据的过程中,可能会导致不可预知的错误。因此,当前AB实验过程中的数据处理方法,会导致效率和精度均较低的问题。
发明内容
本申请实施方式的目的是提供一种数据的上报、下发方法、客户端及服务器,能够提高数据处理过程中的效率和精度。
为实现上述目的,本申请实施方式提供一种用户行为数据的上报方法,所述方法应用于客户端中,所述方法包括:向服务器发送数据获取请求,并接收所述服务器针对所述数据获取请求反馈的业务数据和所述业务数据关联的实验埋点信息,所述实验埋点信息中至少包括用于表征业务数据版本的埋点标识和用于表征实验对象的对象标识;基于所述业务数据渲染页面信息,并收集用户针对所述页面信息执行的行为数据,所述行为数据中包括用于表征所述行为数据发生时对应的页面事件的事件标识;其中,若所述行为数据中的所述事件标识与所述实验埋点信息中的所述对象标识相匹配,将所述实验埋点信息中的所述埋点标识添加至所述行为数据中;将收集的行为数据上报至所述服务器,以使得所述服务器针对添加了所述埋点标识的行为数据进行分析。
为实现上述目的,本申请实施方式还提供一种客户端,所述客户端包括:数据获取单元,用于向服务器发送数据获取请求,并接收所述服务器针对所述数据获取请求反馈的业务数据和所述业务数据关联的实验埋点信息,所述实验埋点信息中至少包括用于表征业务数据版本的埋点标识和用于表征实验对象的对象标识;埋点标识匹配单元,用于基于所述业务数据渲染页面信息,并收集用户针对所述页面信息执行的行为数据,所述行为数据中包括用于表征所述行为数据发生时对应的页面事件的事件标识;其中,若所述行为数据中的所述事件标识与所述实验埋点信息中的所述对象标识相匹配,将所述实验埋点信息中的所述埋点标识添加至所述行为数据中;行文数据上报单元,用于将收集的行为数据上报至所述服务器,以使得所述服务器针对添加了所述埋点标识的行为数据进行分析。
为实现上述目的,本申请实施方式还提供一种实验埋点数据的下发方法,所述方法应用于服务器的第一业务应用中,所述方法包括:接收客户端发来的数据获取请求;若在处理所述数据获取请求的过程中触发了第一实验埋点任务,确定用于表征所述第一实验埋点任务中实验对象的第一对象标识,并获取所述第一实验埋点任务对应的第一埋点标识;基于所述第一对象标识和所述第一埋点标识,生成所述第一实验埋点任务对应的第一实验埋点信息;若所述数据获取请求已处理完毕,将所述第一实验埋点信息以及所述第一埋点标识指向的第一业务数据反馈给所述客户端。
为实现上述目的,本申请实施方式还提供一种服务器,所述服务器中包括第一业务应用,所述第一业务应用包括:请求接收单元,用于接收客户端发来的数据获取请求;标识获取单元,用于若在处理所述数据获取请求的过程中触发了第一实验埋点任务,确定用于表征所述第一实验埋点任务中实验对象的第一对象标识,并获取所述第一实验埋点任务对应的第一埋点标识;实验埋点信息生成单元,用于基于所述第一对象标识和所述第一埋点标识,生成所述第一实验埋点任务对应的第一实验埋点信息;数据反馈单元,用于若所述数据获取请求已处理完毕,将所述第一实验埋点信息以及所述第一埋点标识指向的第一业务数据反馈给所述客户端。
为实现上述目的,本申请实施方式还提供一种服务器,所述服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的实验埋点数据的下发方法。
由上可见,本申请提供的技术方案,在服务器中可以预先安装指定软件开发工具包(Software Development Kit,SDK),该指定SDK可以提供本地化的分桶接口。服务器通过调用该分桶接口,能够在本地完成分桶过程。其中,所述分桶过程完成后,可以在服务器中生成指定实验埋点任务对应的业务数据。例如,可以生成针对12号实验的两个不同版本的业务数据。服务器中的第一业务应用在接收到客户端发来的数据获取请求之后,在处理该数据获取请求的过程中,若触发了第一实验埋点任务,则可以确定用于表征所述第一实验埋点任务中实验对象的第一对象标识,并获取所述第一实验埋点任务对应的第一埋点标识。其中,所述第一埋点标识可以由第一实验埋点任务的任务标识以及第一实验埋点任务对应的业务数据的业务标识来共同构成。例如,12号实验埋点任务的任务标识可以是12,当前选用的业务数据是版本号为2的业务数据,那么业务标识可以是2,这样,构成的第一埋点埋点标识便可以是12:2。然后,根据第一实验埋点任务所针对的实验对象,可以生成对应的第一对象标识。例如,当前的实验对象是页面级别的实验,那么便可以将a2h04.8165646作为第一对象标识。而如果当前的实验对象是页面中抽屉级别的实验,则可以用a2h04.8165646@1234来表征第一对象标识,其中,1234可以是抽屉组件的标识。这样,基于所述第一对象标识和所述第一埋点标识,可以生成所述第一实验埋点任务对应的第一实验埋点信息。例如,该第一埋点实验信息可以是12:2@a2h04.8165646@1234。若该数据获取请求无需其它业务应用进行处理,那么第一业务应用在生成第一实验埋点信息之后,可以所述第一实验埋点信息以及所述第一埋点标识指向的第一业务数据反馈给所述客户端,而无需将第一实验埋点信息添加至第一业务数据中进行反馈,从而简化了数据处理的过程,并且通过直接反馈第一实验埋点信息,从而提高了数据的处理精度。后续,客户端在上报用户的行为数据时,可以在与第一实验埋点信息相匹配的行为数据中添加第一埋点标识,这样,服务器可以过滤无用的行为数据,仅对添加了第一埋点标识的行为数据进行处理,从而极大地提高了数据处理的效率。
附图说明
为了更清楚地说明本申请实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施方式中实验埋点数据的下发方法步骤图;
图2为本申请实施方式中不同业务应用之间的调用示意图;
图3为本申请实施方式中服务器的功能模块示意图;
图4为本申请实施方式中服务器的结构示意图;
图5为本申请实施方式中客户端的结构示意图;
图6为本申请实施方式中用户行为数据的上报方法流程图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都应当属于本申请保护的范围。
本申请提供一种实验埋点数据的下发方法,该方法可以应用于服务器中。所述服务器可以是应用程序或者网站的后台业务服务器,在该服务器中可以包括多个业务应用,这些业务应用可以通过彼此之间的调用关系,实现一个完整的业务流程。例如,用户客户端在接在网站的首页时,在服务器中可以通过逐步调用与首页相关联的各个业务应用,来分别获取首页中的各项信息,从而向用户客户端反馈用于展示首页的完整数据。
在本申请中,可以在服务器中预先安装指定软件开发工具包(SoftwareDevelopment Kit,SDK),该指定SDK可以实现两个功能,一是在服务器本地完成分桶过程,二是将分桶之后产生的实验埋点信息提供给用户客户端或者提供给上一级的业务应用。
在本实施方式中,所述指定软件开发工具包可以在服务器本地提供分桶接口,这样,服务器可以调用所述分桶接口,并通过所述分桶接口向指定SDK中的分桶模块传入业务参数。该业务参数例如可以包括用于运行业务数据的设备的标识、系统信息、待创建的指定实验任务的标识等。所述分桶模块接收到这些业务参数后,可以根据所述业务参数,在本地完成分桶过程。在分桶过程中,分桶模块可以根据待创建的指定实验任务,确定该指定实验任务对应的多个版本的业务数据,每个版本的业务数据可以作为一个分桶,并且每个版本的业务数据可以具备自身的业务数据标识。这样,一个指定实验任务的任务标识便可以对应多个业务数据标识。由此可见,所述分桶过程完成后,可以生成指定实验埋点任务对应的业务数据。
请参阅图1,本申请提供的实验埋点数据的下发方法,可以应用于上述服务器的第一业务应用中,所述方法可以包括以下步骤。
S11:接收客户端发来的数据获取请求。
在本实施方式中,所述客户端可以是用户使用的终端设备。所述客户端例如可以是智能手机、平板电脑、台式电脑、笔记本电脑、智能可穿戴设备、智能电视机等。此外,所述客户端还可以是运行于上述终端设备中的软件。例如,所述客户端可以是腾讯视频客户端、爱奇艺视频客户端、搜狐浏览器等。
在本实施方式中,用户在打开应用程序或者通过浏览器加载网站页面时,客户端可以向服务器发送数据获取请求。在实际应用中,客户端可以发出指向目标页面的HTTP请求,该HTTP请求可以经过MTOP(Taobao wireless Open Platform,淘宝无线开放平台)网关转换为RPC(Remote Procedure Call,远程过程调用)请求。该RPC请求便可以作为数据获取请求被服务器接收。服务器在接收到该数据获取请求之后,首先可以由其中的第一业务应用来处理该数据获取请求。
S13:若在处理所述数据获取请求的过程中触发了第一实验埋点任务,确定用于表征所述第一实验埋点任务中实验对象的第一对象标识,并获取所述第一实验埋点任务对应的第一埋点标识。
在本实施方式中,所述第一业务应用在处理所述数据获取请求的过程中,可以查询自身应当提供的业务数据。例如,该数据获取请求需要加载一个网站首页,而第一业务应用是负责提供该网站首页的框架数据。在第一业务应用查询自身应当提供的业务数据时,可能会触发第一实验埋点任务,该第一实验埋点任务表明针对第一业务应用提供的业务数据,需要进行不同版本的用户行为数据的比对,从而筛选出用户体验较好的一版业务数据。在这种情况下,分桶模块已经预先在服务器中针对该第一实验埋点任务生成了多个版本的业务数据。其中,第一实验埋点任务可以具备自身的第一任务标识,该第一任务标识例如可以是第一实验埋点任务的任务编号。此外,该第一实验埋点任务对应的不同版本的业务数据,也可以具备自身的业务数据标识。这样,针对其中某个版本的第一业务数据而言,可以通过第一任务标识和该第一业务数据的业务数据标识来共同表征。举例来说,第一实验埋点任务的任务编号为12,那么第一任务标识便可以是12;第一业务数据是第2个版本的业务数据,那么该第一业务数据的业务数据标识便可以是2,最终,可以将两个标识进行组合,得到12:2这样的标识,该标识可以作为第一实验埋点任务对应的第一埋点标识,来表征第一实验埋点任务下的第一业务数据。也就是说,在本实施方式中,第一业务应用在触发第一实验埋点任务之后,可以获取所述第一实验埋点任务的第一任务标识,并从所述第一任务标识关联的业务数据标识中确定第一目标标识,所述第一目标标识指向第一业务数据。最终,可以基于所述第一任务标识以及所述第一目标标识,构成所述第一实验埋点任务对应的第一埋点标识。当然,针对其它版本的业务数据,还可以生成该第一实验埋点任务对应的其它埋点标识。只不过针对所述客户端而言,当前只会给其反馈一个版本的业务数据,该版本的业务数据便可以是上述的第一业务数据。
在本实施方式中,在确定所述第一实验埋点任务对应的第一埋点标识之后,为了使得客户端后续能识别出该第一实验埋点任务是针对当前页面中的哪些元素,第一业务应用还可以确定用于表征所述第一实验埋点任务中实验对象的第一对象标识。具体地,该第一实验埋点任务在创建时,便已经指定了实验对象。例如,假设该第一实验埋点任务是一个页面级别的实验,那么该第一实验埋点任务中的实验对象便是页面,该实验对象的第一对象标识便可以时表征页面的标识。例如,在实际应用中,表征页面的标识可以是a2h04.8165646。此外,如果该第一实验埋点任务是当前页面中的一个抽屉级别的实验,那么该第一实验埋点任务中的实验对象就不是页面,而是页面中的抽屉组件,那么该实验对象的第一对象标识便可以通过对页面的标识添加抽屉组件的组件值来生成。例如,页面的标识为a2h04.8165646,而该页面中抽屉组件的组件值为1234,那么实验对象为抽屉组件的第一对象标识便可以是a2h04.8165646@1234。
由上可见,第一业务应用在触发第一实验埋点任务之后,可以确定用于表征所述第一实验埋点任务中实验对象的第一对象标识,并获取所述第一实验埋点任务对应的第一埋点标识。
S15:基于所述第一对象标识和所述第一埋点标识,生成所述第一实验埋点任务对应的第一实验埋点信息。
在本实施方式中,为了有效地采集针对所述第一实验埋点任务的用户行为数据,第一业务应用可以根据上述的第一对象标识和第一埋点标识,生成所述第一实验埋点任务对应的第一实验埋点信息。具体地,可以将第一对象标识和第一埋点标识进行组合,并将组合得到的结果作为第一实验埋点信息。例如,上述的第一埋点标识为12:2,第一对象标识为a2h04.8165646@1234,那么组合后的第一实验埋点信息便可以是12:2@a2h04.8165646@1234。
S17:若所述数据获取请求已处理完毕,将所述第一实验埋点信息以及所述第一埋点标识指向的第一业务数据反馈给所述客户端。
在本实施方式中,若所述数据获取请求指向的业务数据均能够被第一业务应用提供,而无需调用其它的业务应用,那么第一业务应用在获取到第一业务数据以及生成第一实验埋点信息之后,便表明该数据获取请求已经处理完毕。在这种情况下,第一业务应用便可以将所述第一实验埋点信息以及所述第一埋点标识指向的第一业务数据反馈给所述客户端。
具体地,在本实施方式中,在反馈第一实验埋点信息和第一业务数据时,并不需要对第一业务数据进行修改,而是可以将第一实验埋点信息和第一业务数据放置于响应报文的不同字段中提供给客户端。
在本实施方式中,第一业务应用可以将所述第一业务数据存放于响应报文的主体(body)内,并将所述第一实验埋点信息存放于所述响应报文的文件头(header)内,然后,可以将所述响应报文反馈给所述客户端。
在一个实施方式中,该数据获取请求指向的业务数据,可能无法由第一业务应用全部提供,而是需要第一业务应用调用其它的业务应用,来提供其它的部分业务数据。也就是说,若所述数据获取请求未处理完毕,所述第一业务应用在处理所述数据获取请求,获取了自身能够提供的第一业务数据以及生成了针对该第一业务数据的第一实验埋点信息之后,可以调用第二业务应用,并将所述数据获取请求转发至所述第二业务应用。
在本实施方式中,所述第二业务应用在处理所述数据获取请求时,可以获取对应的第二业务数据。此时,也可能触发针对该第二业务数据的第二实验埋点任务。此时,第二业务应用可以采用与步骤S13和S15类似的方式,获取所述第二实验埋点任务对应的第二埋点标识,并生成所述第二实验埋点任务的第二实验埋点信息。其中,该第二实验埋点信息可以由第二埋点标识以及第二实验埋点任务中实验对象的第二对象标识共同构成。
在本实施方式中,请参阅图2,第二业务应用可以获取所述第二埋点标识指向的第二业务数据,并将所述第二业务数据反馈给所述第一业务应用。然后,针对第二实验埋点信息,所述第二业务应用可以将所述第二实验埋点信息放置于响应地址映射(ResponseMapping)中,并通过所述响应地址映射将所述第二实验埋点信息提供给所述第一业务应用。也就是说,第二业务应用向第一业务应用反馈实验埋点信息的方式,是通过响应地址映射,而不是响应报文,这与第一业务应用向客户端反馈实验埋点信息的方式不同。
在实际应用中,第二业务数据在生成第二实验埋点信息之后,通常会将所述第二实验埋点信息存储于本次调用链路中,本次调用链路可以指通过调用第一业务应用以及第二业务应用,从而向客户端反馈完整业务数据和实验埋点信息的链路。这样,后续第二业务应用针对第一业务应用的调用做出响应时,从本次调用链路中获取所述第二实验埋点信息,并将所述第二实验埋点信息放置于上述的响应地址映射中,从而将第二实验埋点信息反馈给第一业务应用。
同样地,第一业务应用在生成所述第一实验埋点任务对应的第一实验埋点信息之后,也可以将所述第一实验埋点信息先存储于本次调用链路中,然后在接收到后续的业务应用返回的业务数据和实验埋点信息之后,可以统一将各项数据汇总,并提供给客户端。具体地,所述第二业务应用通过所述响应地址映射将所述第二实验埋点信息提供给所述第一业务应用之后,所述第一业务应用可以从所述响应地址映射中解析出所述第二实验埋点信息,并将所述第二实验埋点信息存储于本次调用链路中。这样,本次调用链路中便可以存在第一实验埋点信息和第二实验埋点信息这两个埋点信息。然后,所述第一业务应用在向所述客户端反馈响应报文时,可以从本次调用链路中获取所述第一实验埋点信息以及所述第二实验埋点信息,并将所述第一实验埋点信息和所述第二实验埋点信息放置于所述响应报文的头文件中,同时,可以将所述第一业务数据以及所述第二业务数据放置于所述响应报文的主体中,并向所述客户端反馈所述响应报文。这样,客户端便可以接收到完整的业务数据和埋点信息。
当然,在实际应用中,第二业务应用还可能会继续调用第三业务应用,第三业务应用的数据获取过程与第二业务应用类似,同样可以将自身生成的实验埋点信息通过响应地址映射反馈给第二业务应用。这样,通过逐级汇总业务数据和实验埋点信息,最终到达第一业务应用时,可以具备完整的业务数据和实验埋点信息。
需要说明的是,上述各个业务应用执行的各个步骤,均可以通过预先安装于服务器中的指定SDK完成。由于客户端发来的数据获取请求会引起一个或者多个业务应用的调用过程,并最终向客户端反馈调用的结果,因此该过程实际上是一条HSF(High-SpeedServiceFramework,高速服务框架)的调用链路。请参阅图2,在该指定SDK中,可以扩展HSF客户端过滤模组(Client Filter)和HSF服务器过滤模组(Server Filter),在框架层对实验埋点信息进行统一管理,从而提高了实验埋点信息的安全性。此外,基于HSF框架,将实验埋点信息存放于调用链路的上下文环境中,既可以准确判断当前的数据获取请求命中的实验埋点任务,又可以和原始的数据获取请求关联,并且实验埋点信息可以在原始的数据获取请求返回时一并返回给客户端。
请参阅图3,本申请还提供一种服务器,所述服务器中包括第一业务应用,所述第一业务应用包括:
请求接收单元,用于接收客户端发来的数据获取请求;
标识获取单元,用于若在处理所述数据获取请求的过程中触发了第一实验埋点任务,确定用于表征所述第一实验埋点任务中实验对象的第一对象标识,并获取所述第一实验埋点任务对应的第一埋点标识;
实验埋点信息生成单元,用于基于所述第一对象标识和所述第一埋点标识,生成所述第一实验埋点任务对应的第一实验埋点信息;
数据反馈单元,用于若所述数据获取请求已处理完毕,将所述第一实验埋点信息以及所述第一埋点标识指向的第一业务数据反馈给所述客户端。
在一个实施方式中,所述数据反馈单元包括:
响应报文构建模块,用于将所述第一业务数据存放于响应报文的主体内,并将所述第一实验埋点信息存放于所述响应报文的文件头内;
响应报文反馈模块,用于将所述响应报文反馈给所述客户端。
在一个实施方式中,所述标识获取单元包括:
业务标识获取模块,用于获取所述第一实验埋点任务的第一任务标识,并从所述第一任务标识关联的业务数据标识中确定第一目标标识,所述第一目标标识指向第一业务数据;
标识构成模块,用于基于所述第一任务标识以及所述第一目标标识,构成所述第一实验埋点任务对应的第一埋点标识。
在一个实施方式中,所述服务器还包括第二业务应用,其中:
所述第一业务应用,还用于在处理所述数据获取请求之后,调用所述第二业务应用,并将所述数据获取请求转发至所述第二业务应用;
所述第二业务应用,用于在处理所述数据获取请求时,若触发了第二实验埋点任务,获取所述第二实验埋点任务对应的第二埋点标识,并生成所述第二实验埋点任务的第二实验埋点信息;获取所述第二埋点标识指向的第二业务数据,并将所述第二业务数据反馈给所述第一业务应用;将所述第二实验埋点信息放置于响应地址映射中,并通过所述响应地址映射将所述第二实验埋点信息提供给所述第一业务应用。
在一个实施方式中,所述第二业务应用还用于将所述第二实验埋点信息存储于本次调用链路中;相应地,所述第二业务应用还用于从本次调用链路中获取所述第二实验埋点信息,并将所述第二实验埋点信息放置于响应地址映射中。
请参阅图4,本申请还提供一种服务器,所述服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的实验埋点数据的下发方法。
在本实施方式中,所述存储器可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方法的媒体加以存储。本实施方式所述的存储器又可以包括:利用电能方式存储信息的装置,如RAM、ROM等;利用磁能方式存储信息的装置,如硬盘、软盘、磁带、磁芯存储器、磁泡存储器、U盘;利用光学方式存储信息的装置,如CD或DVD。当然,还有其他方式的存储器,例如量子存储器、石墨烯存储器等等。
在本实施方式中,所述处理器可以按任何适当的方式实现。例如,所述处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。
本说明书实施方式提供的装置,其存储器和处理器实现的具体功能,可以与本说明书中的前述实施方式相对照解释,并能够达到前述实施方式的技术效果,这里便不再赘述。
本申请还提供一种用户行为数据的上报方法,该方法可以应用于上述的客户端中。请参阅图5,所述客户端中可以预先安装指定软件开发模块,该指定软件开发模块可以是前述实施方式中的指定SDK,只不过该指定SDK在服务器和客户端中实现的功能可以不同。在该客户端中,除了该指定软件开发模块,还可以具备常用的一些软件开发模块。例如,可以包括网络软件开发模块(Network SDK),该网络软件开发模块可以接收服务器发来的各项数据,并可以将客户端的请求向外发出。
请参阅图6,本申请提供的用户行为数据的上报方法,可以包括以下步骤。
S21:向服务器发送数据获取请求,并接收所述服务器针对所述数据获取请求反馈的业务数据和所述业务数据关联的实验埋点信息,所述实验埋点信息中至少包括用于表征业务数据版本的埋点标识和用于表征实验对象的对象标识。
在本实施方式中,用户在打开应用程序或者通过浏览器加载网站页面时,客户端可以向服务器发送数据获取请求。在实际应用中,客户端可以发出指向目标页面的HTTP请求,该HTTP请求可以经过MTOP网关转换为RPC请求。该RPC请求便可以作为数据获取请求被服务器接收。服务器在接收到该数据获取请求之后,可以按照前述实施方式中描述的技术方案,生成对应的实验埋点信息并获取到对应的业务数据。
在本实施方式中,所述实验埋点信息可以包括用于表征业务数据版本的埋点标识和用于表征实验对象的对象标识。该埋点标识可以由实验埋点任务的任务编号以及业务数据的版本编号构成。例如,该埋点标识可以是前述实施方式中的12:2。而所述对象标识则可以根据实验对象的不同,具备不同的形式。例如,假设该实验埋点任务是一个页面级别的实验,那么该实验埋点任务中的实验对象便是页面,该实验对象的对象标识便可以时表征页面的标识。例如,在实际应用中,表征页面的标识可以是a2h04.8165646。此外,如果该实验埋点任务是当前页面中的一个抽屉级别的实验,那么该实验埋点任务中的实验对象就不是页面,而是页面中的抽屉组件,那么该实验对象的对象标识便可以通过对页面的标识添加抽屉组件的组件值来生成。例如,页面的标识为a2h04.8165646,而该页面中抽屉组件的组件值为1234,那么实验对象为抽屉组件的对象标识便可以是a2h04.8165646@1234。
在本实施方式中,可以将对象标识和埋点标识进行组合,并将组合得到的结果作为实验埋点信息。例如,上述的埋点标识为12:2,对象标识为a2h04.8165646@1234,那么组合后的实验埋点信息便可以是12:2@a2h04.8165646@1234。
S23:基于所述业务数据渲染页面信息,并收集用户针对所述页面信息执行的行为数据,所述行为数据中包括用于表征所述行为数据发生时对应的页面事件的事件标识;其中,若所述行为数据中的所述事件标识与所述实验埋点信息中的所述对象标识相匹配,将所述实验埋点信息中的所述埋点标识添加至所述行为数据中。
S25:将收集的行为数据上报至所述服务器,以使得所述服务器针对添加了所述埋点标识的行为数据进行分析。
在本实施方式中,服务器反馈的业务数据和关联的实验埋点信息可以存放于响应报文中。具体地,所述业务数据可以存放于所述服务器反馈的响应报文的主体内,而所述业务数据关联的实验埋点信息可以存放于所述响应报文的文件头内。这样,请参阅图5,该响应报文被客户端中的网络软件开发模块接收后,该网络软件开发模块可以从所述响应报文的文件头内解析出所述实验埋点信息,并将解析出的所述实验埋点信息转发至所述客户端内的指定软件开发模块处。后续,该指定软件开发模块可以存储所述实验埋点信息,并将所述实验埋点信息中的埋点标识添加于相匹配的行为数据中。
在本实施方式中,针对业务数据,客户端可以直接对其进行渲染,从而得到对应的页面信息。用户在浏览该页面信息时,可以针对该页面进行执行一些操作。例如,用户可以点击页面信息中的按键、视频播放控件、图片浏览控件等。用户在该页面信息中执行的行为数据可以被客户端收集。其中,该行为数据可以包括用户执行的动作,也可以包括用户在页面中停留的时间等。
在本实施方式中,客户端在收集用户的行为数据时,还可以在行为数据中添加用于表征所述行为数据发生时对应的页面事件的事件标识。例如,用户的行为数据是在当前页面中发生的,那么客户端可以将当前页面的页面标识作为上述的事件标识,添加至用户的行为数据中。又例如,用户的行为数据是在当前页面的某个抽屉级别的组件中发生的,那么客户客户端可以将表征当前页面的页面标识和该抽屉级别的组件的组件值的组合,作为上述的事件标识添加至行为数据中。举例来说,上述的页面标识可以为a2h04.8165646,上述的抽屉级别的组件的组件值为1234,那么针对当前页面中发生的行为数据,均需要添加a2h04.8165646这个事件标识,而针对发生在上述抽屉级别的组件上的行为数据,需要添加a2h04.8165646@1234这个事件标识。
在一个实施方式中,为了向行为数据中添加事件标识,可以预先在记录行为数据的用户日志的扩展字段中添加扩展属性。那么当生成用户的行为数据时,可以确定生成的所述行为数据对应的页面事件的事件标识,并将确定的所述事件标识写入添加的所述扩展属性中,从而完成向行为数据中添加事件标识的过程。
在本实施方式中,添加了事件标识的行为数据,可以与页面中的实验对象进行匹配。具体地,当所述客户端准备向所述服务器上报记录了用户的行为数据的用户日志时,上述的指定软件开发模块可以拦截上报的所述用户日志,并将所述用户日志的扩展属性中记录的事件标识与接收到的所述实验埋点信息中的对象标识进行匹配。若所述行为数据中的所述事件标识与所述实验埋点信息中的所述对象标识相匹配,则表明该行为数据发生在实验埋点任务对应的业务数据中。此时,可以将所述实验埋点信息中的埋点标识添加至所述行为数据中。这样,服务器在接收到大量的行为数据后,可以将无用的行为数据过滤,仅对携带了埋点标识的行为数据进行分析,从而可以确定出参与实验埋点任务的业务数据的优劣。
举例来说,客户端预计上报的行为数据中,包含a2h04.8165646的事件标识,则表明该行为数据是产生于页面中。此时,针对页面级别的实验埋点任务的埋点标识为12:2,那么便可以将12:2添加至该行为数据中。又例如,客户端预计上报的行为数据中,包含a2h04.8165646@1234的事件标识,则表明该行为数据是产生于页面的抽屉组件中。此时,针对抽屉级别的实验埋点任务的埋点标识为13:4,那么便可以将13:4添加至对应的行为数据中。
由上可见,通过对用户日志的扩展,可以分别使用页面、模板、抽屉等级别的组件对行为数据发生时对应的页面事件进行划分。后续,通过指定软件开发模块拦截用户日志,并按照一定的匹配规则将事件标识与对象标识进行匹配,从而可以在行为数据中添加相匹配的埋点标识,从而方便服务器对实验埋点任务对应的行为数据进行分析,极大地减少了需要处理的数据量,从而提高了数据处理的效率。
本申请还提供一种客户端,所述客户端包括:
数据获取单元,用于向服务器发送数据获取请求,并接收所述服务器针对所述数据获取请求反馈的业务数据和所述业务数据关联的实验埋点信息,所述实验埋点信息中至少包括用于表征业务数据版本的埋点标识和用于表征实验对象的对象标识;
埋点标识匹配单元,用于基于所述业务数据渲染页面信息,并收集用户针对所述页面信息执行的行为数据,所述行为数据中包括用于表征所述行为数据发生时对应的页面事件的事件标识;其中,若所述行为数据中的所述事件标识与所述实验埋点信息中的所述对象标识相匹配,将所述实验埋点信息中的所述埋点标识添加至所述行为数据中;
行文数据上报单元,用于将收集的行为数据上报至所述服务器,以使得所述服务器针对添加了所述埋点标识的行为数据进行分析。
需要说明的是,该客户端实现的具体功能,可以与本说明书中的前述实施方式相对照解释,并能够达到前述实施方式的技术效果,这里便不再赘述。
由上可见,本申请提供的技术方案,在服务器中可以预先安装指定软件开发工具包(Software Development Kit,SDK),该指定SDK可以提供本地化的分桶接口。服务器通过调用该分桶接口,能够在本地完成分桶过程。其中,所述分桶过程完成后,可以在服务器中生成指定实验埋点任务对应的业务数据。例如,可以生成针对12号实验的两个不同版本的业务数据。服务器中的第一业务应用在接收到客户端发来的数据获取请求之后,在处理该数据获取请求的过程中,若触发了第一实验埋点任务,则可以确定用于表征所述第一实验埋点任务中实验对象的第一对象标识,并获取所述第一实验埋点任务对应的第一埋点标识。其中,所述第一埋点标识可以由第一实验埋点任务的任务标识以及第一实验埋点任务对应的业务数据的业务标识来共同构成。例如,12号实验埋点任务的任务标识可以是12,当前选用的业务数据是版本号为2的业务数据,那么业务标识可以是2,这样,构成的第一埋点埋点标识便可以是12:2。然后,根据第一实验埋点任务所针对的实验对象,可以生成对应的第一对象标识。例如,当前的实验对象是页面级别的实验,那么便可以将a2h04.8165646作为第一对象标识。而如果当前的实验对象是页面中抽屉级别的实验,则可以用a2h04.8165646@1234来表征第一对象标识,其中,1234可以是抽屉组件的标识。这样,基于所述第一对象标识和所述第一埋点标识,可以生成所述第一实验埋点任务对应的第一实验埋点信息。例如,该第一埋点实验信息可以是12:2@a2h04.8165646@1234。若该数据获取请求无需其它业务应用进行处理,那么第一业务应用在生成第一实验埋点信息之后,可以所述第一实验埋点信息以及所述第一埋点标识指向的第一业务数据反馈给所述客户端,而无需将第一实验埋点信息添加至第一业务数据中进行反馈,从而简化了数据处理的过程,并且通过直接反馈第一实验埋点信息,从而提高了数据的处理精度。后续,客户端在上报用户的行为数据时,可以在与第一实验埋点信息相匹配的行为数据中添加第一埋点标识,这样,服务器可以过滤无用的行为数据,仅对添加了第一埋点标识的行为数据进行处理,从而极大地提高了数据处理的效率。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardwareDescription Language)等,目前最普遍使用的是VHDL(Very-High-Speed IntegratedCircuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现服务器以外,完全可以通过将方法步骤进行逻辑编程来使得服务器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种服务器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的单元也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施方式或者实施方式的某些部分所述的方法。
本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。尤其,针对服务器和客户端的实施方式来说,均可以参照前述方法的实施方式的介绍对照解释。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施方式描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。
Claims (18)
1.一种用户行为数据的上报方法,其特征在于,所述方法应用于客户端中,所述方法包括:
向服务器发送数据获取请求,并接收所述服务器针对所述数据获取请求反馈的业务数据和所述业务数据关联的实验埋点信息,所述实验埋点信息中至少包括用于表征业务数据版本的埋点标识和用于表征实验对象的对象标识;
基于所述业务数据渲染页面信息,并收集用户针对所述页面信息执行的行为数据,所述行为数据中包括用于表征所述行为数据发生时对应的页面事件的事件标识;其中,若所述行为数据中的所述事件标识与所述实验埋点信息中的所述对象标识相匹配,将所述实验埋点信息中的所述埋点标识添加至所述行为数据中;
将收集的行为数据上报至所述服务器,以使得所述服务器针对添加了所述埋点标识的行为数据进行分析。
2.根据权利要求1所述的方法,其特征正在于,所述业务数据存放于所述服务器反馈的响应报文的主体内,所述业务数据关联的实验埋点信息存放于所述响应报文的文件头内;
相应地,在接收所述服务器针对所述数据获取请求反馈的业务数据和所述业务数据关联的实验埋点信息之后,所述方法还包括:
从所述响应报文的文件头内解析出所述实验埋点信息,并将解析出的所述实验埋点信息转发至预先安装于所述客户端内的指定软件开发模块处;其中,所述指定软件开发模块用于存储所述实验埋点信息,并将所述实验埋点信息中的埋点标识添加于相匹配的行为数据中。
3.根据权利要求1所述的方法,其特征正在于,收集用户针对所述页面信息执行的行为数据包括:
预先在记录行为数据的用户日志的扩展字段中添加扩展属性;
当生成用户的行为数据时,确定生成的所述行为数据对应的页面事件的事件标识,并将确定的所述事件标识写入添加的所述扩展属性中。
4.根据权利要求3所述的方法,其特征正在于,在收集用户针对所述页面信息执行的行为数据之后,所述方法还包括:
当所述客户端向所述服务器上报所述用户日志时,拦截上报的所述用户日志,并将所述用户日志的扩展属性中记录的事件标识与所述实验埋点信息中的所述对象标识进行匹配。
5.一种客户端,其特征在于,所述客户端包括:
数据获取单元,用于向服务器发送数据获取请求,并接收所述服务器针对所述数据获取请求反馈的业务数据和所述业务数据关联的实验埋点信息,所述实验埋点信息中至少包括用于表征业务数据版本的埋点标识和用于表征实验对象的对象标识;
埋点标识匹配单元,用于基于所述业务数据渲染页面信息,并收集用户针对所述页面信息执行的行为数据,所述行为数据中包括用于表征所述行为数据发生时对应的页面事件的事件标识;其中,若所述行为数据中的所述事件标识与所述实验埋点信息中的所述对象标识相匹配,将所述实验埋点信息中的所述埋点标识添加至所述行为数据中;
行文数据上报单元,用于将收集的行为数据上报至所述服务器,以使得所述服务器针对添加了所述埋点标识的行为数据进行分析。
6.一种实验埋点数据的下发方法,其特征在于,所述方法应用于服务器的第一业务应用中,所述方法包括:
接收客户端发来的数据获取请求;
若在处理所述数据获取请求的过程中触发了第一实验埋点任务,确定用于表征所述第一实验埋点任务中实验对象的第一对象标识,并获取所述第一实验埋点任务对应的第一埋点标识;
基于所述第一对象标识和所述第一埋点标识,生成所述第一实验埋点任务对应的第一实验埋点信息;
若所述数据获取请求已处理完毕,将所述第一实验埋点信息以及所述第一埋点标识指向的第一业务数据反馈给所述客户端,以使所述客户端基于所述第一业务数据渲染页面信息,并收集用户针对所述页面信息执行的行为数据,所述行为数据中包括用于表征所述行为数据发生时对应的页面事件的事件标识;其中,若所述行为数据中的所述事件标识与所述第一实验埋点信息中的所述第一对象标识相匹配,将所述第一实验埋点信息中的所述第一埋点标识添加至所述行为数据中;
针对客户端所反馈的添加了所述第一埋点标识的行为数据进行分析。
7.根据权利要求6所述的方法,其特征在于,将所述第一实验埋点信息以及所述第一埋点标识指向的第一业务数据反馈给所述客户端包括:
将所述第一业务数据存放于响应报文的主体内,并将所述第一实验埋点信息存放于所述响应报文的文件头内;
将所述响应报文反馈给所述客户端。
8.根据权利要求6所述的方法,其特征在于,获取所述第一实验埋点任务对应的第一埋点标识包括:
获取所述第一实验埋点任务的第一任务标识,并从所述第一任务标识关联的业务数据标识中确定第一目标标识,所述第一目标标识指向第一业务数据;
基于所述第一任务标识以及所述第一目标标识,构成所述第一实验埋点任务对应的第一埋点标识。
9.根据权利要求6所述的方法,其特征在于,所述方法还包括:
若所述数据获取请求未处理完毕,所述第一业务应用在处理所述数据获取请求之后,调用第二业务应用,并将所述数据获取请求转发至所述第二业务应用;
所述第二业务应用在处理所述数据获取请求时,若触发了第二实验埋点任务,获取所述第二实验埋点任务对应的第二埋点标识,并生成所述第二实验埋点任务的第二实验埋点信息;
所述第二业务应用获取所述第二埋点标识指向的第二业务数据,并将所述第二业务数据反馈给所述第一业务应用;
所述第二业务应用将所述第二实验埋点信息放置于响应地址映射中,并通过所述响应地址映射将所述第二实验埋点信息提供给所述第一业务应用。
10.根据权利要求9所述的方法,其特征在于,所述第二业务应用在生成所述第二实验埋点任务的第二实验埋点信息之后,所述方法还包括:
所述第二业务应用将所述第二实验埋点信息存储于本次调用链路中;
相应地,所述第二业务应用将所述第二实验埋点信息放置于响应地址映射中包括:
所述第二业务应用从本次调用链路中获取所述第二实验埋点信息,并将所述第二实验埋点信息放置于响应地址映射中。
11.根据权利要求9所述的方法,其特征在于,所述第一业务应用在生成所述第一实验埋点任务对应的第一实验埋点信息之后,所述方法还包括:
所述第一业务应用将所述第一实验埋点信息存储于本次调用链路中;
相应地,所述第二业务应用通过所述响应地址映射将所述第二实验埋点信息提供给所述第一业务应用之后,所述方法还包括:
所述第一业务应用从所述响应地址映射中解析出所述第二实验埋点信息,并将所述第二实验埋点信息存储于本次调用链路中;
所述第一业务应用在向所述客户端反馈响应报文时,从本次调用链路中获取所述第一实验埋点信息以及所述第二实验埋点信息,并将所述第一实验埋点信息和所述第二实验埋点信息放置于所述响应报文的头文件中;
所述第一业务应用将所述第一业务数据以及所述第二业务数据放置于所述响应报文的主体中,并向所述客户端反馈所述响应报文。
12.根据权利要求6所述的方法,其特征在于,在接收客户端发来的数据获取请求之前,所述方法还包括:
接入指定软件开发工具包,所述指定软件开发工具包用于在本地提供分桶接口;
调用所述分桶接口,并通过所述分桶接口向分桶模块传入业务参数,以使得所述分桶模块根据所述业务参数,在本地完成分桶过程;其中,所述分桶过程完成后,生成指定实验埋点任务对应的业务数据。
13.一种服务器,其特征在于,所述服务器中包括第一业务应用,所述第一业务应用包括:
请求接收单元,用于接收客户端发来的数据获取请求;
标识获取单元,用于若在处理所述数据获取请求的过程中触发了第一实验埋点任务,确定用于表征所述第一实验埋点任务中实验对象的第一对象标识,并获取所述第一实验埋点任务对应的第一埋点标识;
实验埋点信息生成单元,用于基于所述第一对象标识和所述第一埋点标识,生成所述第一实验埋点任务对应的第一实验埋点信息;
数据反馈单元,用于若所述数据获取请求已处理完毕,将所述第一实验埋点信息以及所述第一埋点标识指向的第一业务数据反馈给所述客户端,以使所述客户端基于所述第一业务数据渲染页面信息,并收集用户针对所述页面信息执行的行为数据,所述行为数据中包括用于表征所述行为数据发生时对应的页面事件的事件标识;其中,若所述行为数据中的所述事件标识与所述第一实验埋点信息中的所述第一对象标识相匹配,将所述第一实验埋点信息中的所述第一埋点标识添加至所述行为数据中;
行为数据分析模块,用于针对客户端所反馈的添加了所述第一埋点标识的行为数据进行分析。
14.根据权利要求13所述的服务器,其特征在于,所述数据反馈单元包括:
响应报文构建模块,用于将所述第一业务数据存放于响应报文的主体内,并将所述第一实验埋点信息存放于所述响应报文的文件头内;
响应报文反馈模块,用于将所述响应报文反馈给所述客户端。
15.根据权利要求13所述的服务器,其特征在于,所述标识获取单元包括:
业务标识获取模块,用于获取所述第一实验埋点任务的第一任务标识,并从所述第一任务标识关联的业务数据标识中确定第一目标标识,所述第一目标标识指向第一业务数据;
标识构成模块,用于基于所述第一任务标识以及所述第一目标标识,构成所述第一实验埋点任务对应的第一埋点标识。
16.根据权利要求13所述的服务器,其特征在于,所述服务器还包括第二业务应用,其中:
所述第一业务应用,还用于在处理所述数据获取请求之后,调用所述第二业务应用,并将所述数据获取请求转发至所述第二业务应用;
所述第二业务应用,用于在处理所述数据获取请求时,若触发了第二实验埋点任务,获取所述第二实验埋点任务对应的第二埋点标识,并生成所述第二实验埋点任务的第二实验埋点信息;获取所述第二埋点标识指向的第二业务数据,并将所述第二业务数据反馈给所述第一业务应用;将所述第二实验埋点信息放置于响应地址映射中,并通过所述响应地址映射将所述第二实验埋点信息提供给所述第一业务应用。
17.根据权利要求16所述的服务器,其特征在于,所述第二业务应用还用于将所述第二实验埋点信息存储于本次调用链路中;
相应地,所述第二业务应用还用于从本次调用链路中获取所述第二实验埋点信息,并将所述第二实验埋点信息放置于响应地址映射中。
18.一种服务器,其特征在于,所述服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求6至12中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810888572.6A CN110825594B (zh) | 2018-08-07 | 2018-08-07 | 数据的上报、下发方法、客户端及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810888572.6A CN110825594B (zh) | 2018-08-07 | 2018-08-07 | 数据的上报、下发方法、客户端及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110825594A CN110825594A (zh) | 2020-02-21 |
CN110825594B true CN110825594B (zh) | 2023-10-24 |
Family
ID=69533890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810888572.6A Active CN110825594B (zh) | 2018-08-07 | 2018-08-07 | 数据的上报、下发方法、客户端及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110825594B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112506492B (zh) * | 2020-09-02 | 2024-05-14 | 上海赛可出行科技服务有限公司 | 一种支持动态场景配置的可视化埋点方法 |
CN112486841B (zh) * | 2020-12-16 | 2024-07-26 | 江苏苏宁云计算有限公司 | 埋点采集数据校验的方法及装置 |
CN115001967B (zh) * | 2022-05-30 | 2023-08-29 | 平安科技(深圳)有限公司 | 一种数据采集方法、装置、电子设备及存储介质 |
CN117235405B (zh) * | 2023-11-09 | 2024-11-08 | 北京白龙马云行科技有限公司 | 页面展示的方法、系统、计算机设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572043A (zh) * | 2013-10-16 | 2015-04-29 | 阿里巴巴集团控股有限公司 | 一种对客户端应用的控件进行实时埋点的方法及装置 |
CN106933722A (zh) * | 2017-03-06 | 2017-07-07 | 腾云天宇科技(北京)有限公司 | 一种网页应用监控方法、服务器和系统 |
CN107132963A (zh) * | 2017-05-08 | 2017-09-05 | 深圳乐信软件技术有限公司 | 红点消息显示方法、消去方法以及相应装置 |
CN107196788A (zh) * | 2017-05-02 | 2017-09-22 | 阿里巴巴集团控股有限公司 | 一种埋点数据的处理方法、装置、服务器及客户端 |
WO2017167042A1 (zh) * | 2016-04-01 | 2017-10-05 | 阿里巴巴集团控股有限公司 | 前端用户行为统计方法及装置 |
CN107995283A (zh) * | 2017-11-29 | 2018-05-04 | 上海恺英网络科技有限公司 | 一种数据埋点分析的方法、设备及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106708899B (zh) * | 2015-11-17 | 2021-04-27 | 阿里巴巴集团控股有限公司 | 自动埋点方法和装置 |
CN108270629B (zh) * | 2016-12-29 | 2020-07-31 | 北京国双科技有限公司 | 网站访客行为监测方法及装置 |
-
2018
- 2018-08-07 CN CN201810888572.6A patent/CN110825594B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572043A (zh) * | 2013-10-16 | 2015-04-29 | 阿里巴巴集团控股有限公司 | 一种对客户端应用的控件进行实时埋点的方法及装置 |
WO2017167042A1 (zh) * | 2016-04-01 | 2017-10-05 | 阿里巴巴集团控股有限公司 | 前端用户行为统计方法及装置 |
CN106933722A (zh) * | 2017-03-06 | 2017-07-07 | 腾云天宇科技(北京)有限公司 | 一种网页应用监控方法、服务器和系统 |
CN107196788A (zh) * | 2017-05-02 | 2017-09-22 | 阿里巴巴集团控股有限公司 | 一种埋点数据的处理方法、装置、服务器及客户端 |
CN107132963A (zh) * | 2017-05-08 | 2017-09-05 | 深圳乐信软件技术有限公司 | 红点消息显示方法、消去方法以及相应装置 |
CN107995283A (zh) * | 2017-11-29 | 2018-05-04 | 上海恺英网络科技有限公司 | 一种数据埋点分析的方法、设备及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110825594A (zh) | 2020-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110825594B (zh) | 数据的上报、下发方法、客户端及服务器 | |
KR101615471B1 (ko) | 공유 서비스들 | |
KR102613774B1 (ko) | 애플리케이션 관련 사용자 데이터를 추출하고 공유하기 위한 시스템 및 방법 | |
US9953639B2 (en) | Voice recognition system and construction method thereof | |
WO2018045750A1 (zh) | 用户的评论数据展现方法、系统、服务器和用户终端 | |
CN104268241B (zh) | 一种配置数据库中属性显示方法 | |
US10922892B1 (en) | Manipulation of virtual object position within a plane of an extended reality environment | |
TW201508639A (zh) | 透過捕捉服務捕捉網站內容 | |
CN109389299B (zh) | 工作流流程部署方法、装置、计算机设备和存储介质 | |
CN111158924B (zh) | 内容分享方法、装置、电子设备及可读存储介质 | |
KR20160125401A (ko) | 인라인 및 콘텍스트 인식 쿼리 박스 제공 기법 | |
CN110750437B (zh) | 一种设备调试方法、装置、设备及系统 | |
CN110020273B (zh) | 用于生成热力图的方法、装置以及系统 | |
CN101944133A (zh) | 一种xml元数据对象化解析方法及系统 | |
US10775966B2 (en) | Customizable autocomplete option | |
JP2018536924A (ja) | モバイルコンピューティング装置によってキャプチャしたメディアを電子文書に添付するための技術 | |
CN103744883A (zh) | 一种快速选取信息碎片的方法及系统 | |
CN102819421A (zh) | App应用的管理方法及系统 | |
CN105095376A (zh) | 一种移动终端中浏览器本地主页的创建方法及装置 | |
JP2019101889A (ja) | テスト実行装置及びプログラム | |
RU2677563C2 (ru) | Способ, терминал и сервер для отображения информации | |
CN110008398B (zh) | 一种数据分类管理推荐方法及装置 | |
CN105740251B (zh) | 一种总线式整合不同内容源的方法和系统 | |
CN110109986B (zh) | 任务处理方法、系统、服务器及任务调度系统 | |
CN115203172B (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200513 Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province Applicant after: Alibaba (China) Co.,Ltd. Address before: 100102 No. 4 Building, Wangjing Dongyuan District, Chaoyang District, Beijing Applicant before: BEIJING YOUKU TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |