CN110781061B - 一种记录用户行为链路的方法及装置 - Google Patents
一种记录用户行为链路的方法及装置 Download PDFInfo
- Publication number
- CN110781061B CN110781061B CN201910894103.XA CN201910894103A CN110781061B CN 110781061 B CN110781061 B CN 110781061B CN 201910894103 A CN201910894103 A CN 201910894103A CN 110781061 B CN110781061 B CN 110781061B
- Authority
- CN
- China
- Prior art keywords
- link
- link path
- point position
- path
- initial
- 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
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/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/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种记录用户行为链路的方法及装置,涉及计算机技术领域,为解决现有技术中记录有效的用户行为链路效率低的问题而发明。该方法主要包括:在所述SDK中,设置用户行为轨迹的预置埋点位置、链路路径建立规则和链路路径去重规则;将所述SDK嵌入到所述应用程序中;如果所述客户端安装且打开所述应用程序,则生成当次生命周期内的链路ID;所述客户端根据所述预置埋点位置和所述链路路径建立规则,据用户操作,获取所述链路ID的初始链路路径;所述客户端根据所述链路去重规则,提取所述初始链路路径的有效链路路径。本发明主要应用于用户行为轨迹分析的过程中。
Description
技术领域
本发明涉及一种计算机技术领域,特别是涉及一种记录用户行为链路的方法及装置。
背景技术
用户行为链路分析是每个App分析用户的重要途径,通过分析用户轨迹,可以获取用户对App内容的客观评价,诸如停留市场、进入次数等,通过重现用户轨迹以对App功能进行迭代调整,也可以验证某块业务对用户的粘性。
为了对用户行为链路进行捕获和分析,现有技术中常常采用在终端应用进行埋点的方式。例如,目前普遍的埋点方式是为网页或应用中的模块(如按钮、banner等)进行唯一编号,捕捉用户在该模块上进行的操作(如点击、滑动等),将细粒度的用户操作组合生成用户轨迹行为。
用户行为链路是随机频繁的动作,可能导致频繁地遍历视图层级,由于存在很多用户不可见的视图子层级,因为开发人员对组件的封装程度不同,会埋上很多实际用户操作不到的轨迹。通过埋点方式获取用户行为轨迹,具有很强的代码侵入性,生成很多冗长且复杂的脏数据,降低App性能,导致记录有效的用户行为链路效率低。
发明内容
有鉴于此,本发明提供一种记录用户行为链路的方法及装置,主要目的在于解决现有技术中记录有效的记录用户行为链路效率低的问题。
依据本发明一个方面,提供了一种记录用户行为链路的方法,包括开发工具包SDK、应用程序和客户端;
在所述SDK中,设置用户行为轨迹的预置埋点位置、链路路径建立规则和链路路径去重规则;
将所述SDK嵌入到所述应用程序中,所述应用程序的数量至少为1个;
所述客户端如果安装且打开所述应用程序,则生成当次生命周期内的链路ID;
所述客户端根据所述预置埋点位置和所述链路路径建立规则,据用户操作,获取所述链路ID的初始链路路径;
所述客户端根据所述链路去重规则,提取所述初始链路路径的有效链路路径。
依据本发明另一个方面,提供了一种记录用户行为链路的装置,包括开发工具包SDK、应用程序和客户端;
设置模块,用于在所述SDK中,设置用户行为轨迹的预置埋点位置、链路路径建立规则和链路路径去重规则;
嵌入模块,用于将所述SDK嵌入到所述应用程序中,所述应用程序的数量至少为1个;
生成模块,用于所述客户端如果安装且打开所述应用程序,则生成当次生命周期内的链路ID;
获取模块,用于所述客户端根据所述预置埋点位置和所述链路路径建立规则,据用户操作,获取所述链路ID的初始链路路径;
提取模块,用于所述客户端根据所述链路去重规则,提取所述初始链路路径的有效链路路径。
根据本发明的又一方面,提供了一种存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述记录用户行为链路的方法对应的操作。
根据本发明的再一方面,提供了一种计算机设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述记录用户行为链路的方法对应的操作。
借由上述技术方案,本发明实施例提供的技术方案至少具有下列优点:
本发明提供了一种记录用户行为轨迹的方法及装置,首先在开发工具包SDK中设置用户行为轨迹的预置埋点位置、链路路径建立规则和链路路径去重规则,然后将SDK嵌入到应用程序中,客户端如果安装并打开该应用程序,则生成当次生命周期内的链路ID,客户端根据预置埋点位置和链路规则,据用户操作获取链路ID的初始链路操作,最后客户端根据链路去重规则,提取初始链路路径的有效链路路径。与现有技术相比,本发明实施例通过在SDK中设置预置埋点位置,当用户操作触发预置埋点位置时才将该用户操作加入用户链路路径,并且通过链路去重规则提取有效链路路径,对用户操作行为进行目标筛选和去重,以较少用户行为链路中的冗余数据,提高记录用户行为链路中的有效性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种记录用户行为轨迹的方法流程图;
图2示出了本发明实施例提供的另一种记录用户行为轨迹的方法流程图;
图3示出了本发明实施例提供的一种记录用户行为轨迹的装置组成框图;
图4示出了本发明实施例提供的另一种记录用户行为轨迹的装置组成框图;
图5示出了本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种记录用户行为轨迹的方法,如图1所示,该方法包括开发工具包SDK、应用程序、客户端。
101、在所述SDK中,设置用户行为轨迹的预置埋点位置、链路路径建立规则和链路路径去重规则。
开发工具包SDK,是软件开发模块,能够实现特定的业务功能。在SDK中设置用户轨迹的预置埋点位置,当用户操作触发预置埋点位置时,将用户操作根据链路路径建立规则,将用户操作的对象、方法和时间写入链路路径。当某一链路路径结束时,遍历用户链路路径,删除链路路径中的重复部分。在本发明实施例中SDK的数量为多个,每个SDK实现的业务功能不同。
102、将所述SDK嵌入到所述应用程序中。
应用程序除了基本功能,还包括多种业务功能,业务功能可以通过嵌入SDK模块实现。不同的应用程序,可以具有相同的业务功能,所以统一一个SDK可以嵌入到不同的应用程序中,所以应用程序的数量至少为1个。示例性的,在很多应用程序中大部分都存在搜索功能,编辑能够实现搜索功能的SDK,然后将SDK嵌入到目标应用程序中,那么目标应用程序在安装之后都具有搜索功能。由于应用程序的实际功能不同,对应嵌入的SDK包含的业务功能也不相同。
103、客户端如果安装且打开所述应用程序,则生成当次生命周期内的链路ID。
客户端是用户的使用终端,能够安装并运行应用程序,在本发明实施例中的客户端是指安装了嵌入SDK的应用程序的终端。当客户端打开应用程序时,开始记录生命周期,当次生命周期是指从打开应用程序开始。在同一次生命周期内的链路ID相同。
打开初始应用程序后可能跳转至其他应用程序,如果其他应用程序与初始应用程序都嵌入SDK,那么跳转到其应用程序后仍属于当次生命周期。如果初始应用程序和其他应用程序都嵌入SDK,其中两者嵌入的SDK,不是指SDK的功能完全相同,而是指在初始应用程序和其他应用程序中记录用户行为轨迹的预置埋点位置、链路路径建立规则和链路路径去重规则都相同,在记录用户行为轨迹的过程中采用相同的规则,所以虽然发生应用程序的跳转仍然可以采用同一个链路ID记录用户行为轨迹。链路ID,是当前用户行为轨迹的唯一标识,由应用程序版本号、SDK版本号和当前时间三个字段进行加密实现。
打开初始应用程序后可能跳转至其他应用程序,如果其他应用程序没有嵌入SDK,那么结束本次生命周期,同时用户行为链路不再记录在本次生命周期内。
104、客户端根据所述预置埋点位置和所述链路路径建立规则,据用户操作,获取所述链路ID的初始链路路径。
当用户操作的操作对象也就是实际埋点位置属于预置埋点位置时,将用户操作记录在初始链路路径中。初始链路路径也就是在本次生命周期内记录的用户行为轨迹。初始链路路径与链路ID是一一对应的关系,链路ID是初始链路路径中的一部分,初始链路路径还包括用户操作,用户操作包括操作对象、操作行为和操作时间。初始链路路径,以链路ID和用户操作为内容,依据链路路径建立规则获取。
105、客户端根据所述链路去重规则,提取所述初始链路路径的有效链路路径。
链路去重规则,用于删除初始链路路径中重复的用户操作对应的内容。通过链路去重规则以删除冗余内容,提取有效内容生成有效链路路径,有效链路路径包含的链路内容也就是用户行为链路。有效链路路径是相对于初始链路路径而言的,其作用在于减少数据量,提供用户行为链路的传输效率,降低冗余数据对分析用户行为链路的干扰。
本发明提供了一种记录用户行为轨迹的方法,首先在开发工具包SDK中设置用户行为轨迹的预置埋点位置、链路路径建立规则和链路路径去重规则,然后将SDK嵌入到应用程序中,如果客户端安装并打开该应用程序,则生成当次生命周期内的链路ID,客户端根据预置埋点位置和链路规则,据用户操作获取链路ID的初始链路操作,最后客户端根据链路去重规则,提取初始链路路径的有效链路路径。与现有技术相比,本发明实施例通过在SDK中设置预置埋点位置,当用户操作触发预置埋点位置时才将该用户操作加入用户链路路径,并且通过链路去重规则提取有效链路路径,对用户操作行为进行目标筛选和去重,以较少用户行为链路中的冗余数据,提高记录用户行为链路中的有效性。
本发明实施例提供了另一种记录用户行为轨迹的方法,如图2所示,该方法包括开发工具包SDK、应用程序、客户端和服务端。
201、在所述SDK中,设置用户行为轨迹的预置埋点位置、链路路径建立规则和链路路径去重规则。
开发工具包SDK,是软件开发模块,能够实现特定的业务功能。在SDK中设置用户轨迹的预置埋点位置,当用户操作触发预置埋点位置时,将用户操作根据链路路径建立规则,将用户操作的对象、方法和时间写入链路路径。当某一链路路径结束时,遍历用户链路路径,删除链路路径中的重复部分。在本发明实施例中SDK的数量为多个,每个SDK实现的业务功能不同。
202、将所述SDK嵌入到所述应用程序中。
应用程序除了基本功能,还包括多种业务功能,业务功能可以通过嵌入SDK模块实现。不同的应用程序,可以具有相同的业务功能,所以统一一个SDK可以嵌入到不同的应用程序中,所以应用程序的数量至少为1个。示例性的,在很多应用程序中大部分都存在搜索功能,编辑能够实现搜索功能的SDK,然后将SDK嵌入到目标应用程序中,那么目标应用程序在安装之后都具有搜索功能。由于应用程序的实际功能不同,对应嵌入的SDK包含的业务功能也不相同。
203、客户端如果安装且打开所述应用程序,则生成当次生命周期内的链路ID。
客户端是用户的使用终端,能够安装并运行应用程序,在本发明实施例中的客户端是指安装了嵌入SDK的应用程序的终端。当客户端打开应用程序时,开始记录生命周期,当次生命周期是指从打开应用程序开始。打开初始应用程序后可能跳转至其他应用程序,如果其他应用程序与初始应用程序都嵌入SDK,那么跳转到其应用程序后仍属于当次生命周期,在同一次生命周期内的链路ID相同。生成链路ID具体包括:获取系统时间戳;采用NSString的字符串拼接方法,拼接所述SDK的版本号、所述应用程序的版本号和所述系统时间戳,生成初始链路编码;根据预置MD5算法,加密所述初始链路编码,生成所述链路ID。
系统时间戳,是当前的系统时间,也就是应用程序被打开的时间。获取SDK版本号,以及应用程序版本号,采用NSString的字符串拼接方法,拼接系统时间戳、SDK版本号和应用程序版本号,生成初始链路编码。预置MD5算法,即消息摘要算法,一种被广泛使用的密码散列函数,可以产生出一个128位的散列值,用于确保信息传输完整一致。通过预置MD5算法加密初始链路编码,使得生成的链路ID与初始链路编码的信息完全一致。
204、客户端根据所述预置埋点位置和所述链路路径建立规则,据用户操作,获取所述链路ID的初始链路路径。
客户端是用户的使用终端,能够安装并运行应用程序。获取初始链路路径,具体包括:获取所述用户操作的实际埋点位置、埋点动作和操作时间,所述埋点动作包括点击、滑动和改变倾角;如果所述实际埋点位置属于所述预置埋点位置,则根据所述实际埋点位置、所述埋点动作和所述操作时间,生成链路步骤;根据所述链路ID和所述链路步骤,生成初始链路路径,所述初始链路路径包括所述链路ID和所述链路步骤。
每次用户操作的实际埋点位置属于预置埋点位置时,产生一个链路步骤,每生产一个链路步骤将链路步骤添加至初始链路路径。初始链路路径是随着用户操作不断扩展的。如果埋点位置包括建立触发点、结束触发点和中间触发点三种埋点类型,那么生成初始链路路径具体包括:判断所述链路步骤中的实际埋点位置所属的埋点类型;如果所述实际埋点位置属于所述建立触发点,则建立以所述链路ID为标识的空的初始链路路径,并将所述链路步骤写入所述初始链接路径;如果所述实际埋点位置属于所述中间触发点,则将所述链路步骤写入所述初始链接路径;如果所述实际埋点位置属于所述结束触发点,则将所述链路步骤写入所述初始链接路径,并将所述初始链路路径更改为停止写入状态。
如果所述实际埋点位置属于中间触发点,则将所述链路步骤写入所述初始链接路径,包括:判断所述中间触发点与所述建立触发点是否属于同一个应用程序;如果判断结果为是,则将所述链路步骤写入所述初始链接路径;如果判断结果为否,则判断所述建立触发点所属的应用程序与所述中间触发点所属的应用程序能否通过预置函数跳转;如果判断结果为是,则将所述链路步骤写入所述初始链接路径;如果判断结果为否,则将所述初始链路路径更改为停止写入状态。
由步骤203可知,打开初始应用程序后可能跳转至其他应用程序,如果其他应用程序与初始应用程序都嵌入SDK,那么跳转到其应用程序后仍属于当次生命周期,在同一次生命周期内的链路ID相同。如果所述建立触发点所属的应用程序与所述中间触发点所属的应用程序通过预置函数跳转,则说明实现应用程序之间的跳转方法是一样的,也就是应用程序为了实现跳转功能嵌入的SDK是一样的,所以在将链路步骤添加至初始链路路径中。如果所述建立触发点所属的应用程序与所述中间触发点所属的应用程序未通过预置函数跳转,则说明应用程序之间没有具有相同用户行为链路记录规则的SDK,则将初始链路路径更改为停止写入状态,也就是在初始链路路径中不再增加链路步骤。
205、客户端根据所述链路去重规则,提取所述初始链路路径的有效链路路径。
在初始链路路径被更改为停止写入状态后,提取有效链路路径,具体包括:遍历所述初始链路路径,查找是否存在相同的实际埋点位置;如果存在所述相同的实际埋点位置,则删除所述相同的实际埋点位置所属的链路步骤之间的链路步骤,并合并所述相同的实际埋点位置所属的链路步骤,生成有效链路路径。示例性的,初始链路路径包括步骤1-步骤2-步骤3-步骤2-步骤5-步骤6,去重后提取的有效链路路径包括步骤1-步骤2-步骤5-步骤6。由于在链路步骤中包括操作时间,在合并相同实际埋点位置所述的链路步骤是,可选取任一实际埋点位置对应的操作时间,在本发明实施例中对实际埋点位置对应的操作时间的选取方式不做限定。
206、服务端统计接收到的所述客户端上传的有效链路路径中的每种所述结束触发点的触发数量。
在本步骤中的有效链路路径,是指某时间段内的全部的有效链路路径。客户端提取有效链路路径后,可以按照预置时间间隔上传有效链路路径,也可以每提取一个有效链路路径上传一次有效链路路径,还可以应服务端的要求上传有效链路路径,在本发明实施例中对客户端上传有效链路路径的上传方案不做限定。由于在SDK中设置的结束触发点的种类为多个,所以服务器统计每种结束触发点的触发数量。
207、服务端根据所述触发数量,建立所述应用程序的所述结束触发点所属的业务模块的投放优先顺序。
将触发数量按照从大到小的顺序排列,触发数量代表其所对应的结束触发点响应用户操作的次数,也就是结束触发点所属的业务模块的业务功能被使用的次数。被使用的次数,能够从一定程度上说明该业务模块受欢迎的程序,增加触发数量较多的结束触发点所述的业务模块被用户注意到的概率,也能增加其应用程序符合用户预期需求的概率。所以触发数量从大到小的顺序,也就是所述应用程序的所述结束触发点所属的业务模块的投放优先顺序。
208、服务端根据所述投放优先顺序,生成所述应用程序的更新文件。
应用程序中在展示模块功能时,各个业务模块存在一定的排列顺序,按照预置位置优先顺序,依次放入投放优先顺序对应的业务模块,并生成应用程序的更新文件。
本发明提供了一种记录用户行为轨迹的方法,首先在开发工具包SDK中设置用户行为轨迹的预置埋点位置、链路路径建立规则和链路路径去重规则,然后将SDK嵌入到应用程序中,如果客户端安装并打开该应用程序,则生成当次生命周期内的链路ID,客户端根据预置埋点位置和链路规则,据用户操作获取链路ID的初始链路操作,最后客户端根据链路去重规则,提取初始链路路径的有效链路路径。与现有技术相比,本发明实施例通过在SDK中设置预置埋点位置,当用户操作触发预置埋点位置时才将该用户操作加入用户链路路径,并且通过链路去重规则提取有效链路路径,对用户操作行为进行目标筛选和去重,以较少用户行为链路中的冗余数据,提高记录用户行为链路中的有效性。
进一步的,作为对上述图1所示方法的实现,本发明实施例提供了一种记录用户行为轨迹的装置,如图3所示,该装置包括开发工具包SDK、应用程序和客户端;
设置模块31,用于在所述SDK中,设置用户行为轨迹的预置埋点位置、链路路径建立规则和链路路径去重规则;
嵌入模块32,用于将所述SDK嵌入到所述应用程序中,所述应用程序的数量至少为1个;
生成模块33,用于所述客户端如果安装且打开所述应用程序,则生成当次生命周期内的链路ID;
获取模块34,用于所述客户端根据所述预置埋点位置和所述链路路径建立规则,据用户操作,获取所述链路ID的初始链路路径;
提取模块35,用于所述客户端根据所述链路去重规则,提取所述初始链路路径的有效链路路径。
本发明提供了一种记录用户行为轨迹的装置,首先在开发工具包SDK中设置用户行为轨迹的预置埋点位置、链路路径建立规则和链路路径去重规则,然后将SDK嵌入到应用程序中,如果客户端安装并打开该应用程序,则生成当次生命周期内的链路ID,客户端根据预置埋点位置和链路规则,据用户操作获取链路ID的初始链路操作,最后客户端根据链路去重规则,提取初始链路路径的有效链路路径。与现有技术相比,本发明实施例通过在SDK中设置预置埋点位置,当用户操作触发预置埋点位置时才将该用户操作加入用户链路路径,并且通过链路去重规则提取有效链路路径,对用户操作行为进行目标筛选和去重,以较少用户行为链路中的冗余数据,提高记录用户行为链路中的有效性。
进一步的,作为对上述图2所示方法的实现,本发明实施例提供了另一种记录用户行为轨迹的装置,如图4所示,该装置包括开发工具包SDK、应用程序和客户端;
设置模块41,用于在所述SDK中,设置用户行为轨迹的预置埋点位置、链路路径建立规则和链路路径去重规则;
嵌入模块42,用于将所述SDK嵌入到所述应用程序中,所述应用程序的数量至少为1个;
生成模块43,用于所述客户端如果安装且打开所述应用程序,则生成当次生命周期内的链路ID;
获取模块44,用于所述客户端根据所述预置埋点位置和所述链路路径建立规则,据用户操作,获取所述链路ID的初始链路路径;
提取模块45,用于所述客户端根据所述链路去重规则,提取所述初始链路路径的有效链路路径。
进一步地,所述生成模块43,包括:
获取单元431,用于获取系统时间戳;
生成单元432,用于采用NSString的字符串拼接方法,拼接所述SDK的版本号、所述应用程序的版本号和所述系统时间戳,生成初始链路编码;
所述生成单元432,还用于根据预置MD5算法,加密所述初始链路编码,生成所述链路ID。
进一步地,所述获取模块44,包括:
获取单元441,用于获取所述用户操作的实际埋点位置、埋点动作和操作时间,所述埋点动作包括点击、滑动和改变倾角;
生成单元442,用于如果所述实际埋点位置属于所述预置埋点位置,则根据所述实际埋点位置、所述埋点动作和所述操作时间,生成链路步骤;
所述生成单元442,还用于根据所述链路ID和所述链路步骤,生成初始链路路径。
进一步地,所述埋点位置包括建立触发点、结束触发点和中间触发点三种埋点类型;
所述生成单元442,用于:
判断所述链路步骤中的实际埋点位置所属的埋点类型;
如果所述实际埋点位置属于所述建立触发点,则建立以所述链路ID为标识的空的初始链路路径,并将所述链路步骤,写入所述初始链接路径;
如果所述实际埋点位置属于所述中间触发点,则将所述链路步骤写入所述初始链接路径;
如果所述实际埋点位置属于所述结束触发点,则将所述链路步骤写入所述初始链接路径,并将所述初始链路路径更改为停止写入状态。
进一步地,所述生成单元442,包括:
判断子单元4421,用于判断所述中间触发点与所述建立触发点是否属于同一个应用程序;
写入子单元4422,用于如果判断结果为是,则将所述链路步骤写入所述初始链接路径;
所述判断子单元4421,还用于如果判断结果为否,则判断所述建立触发点所属的应用程序与所述中间触发点所属的应用程序能否通过预置函数跳转;
所述写入子单元4422,还用于如果判断结果为是,则将所述链路步骤写入所述初始链接路径;
更改子单元4423,用于如果判断结果为否,则将所述初始链路路径更改为停止写入状态。
进一步地,该方法包括服务端;
统计模块46,用于所述服务端统计接收到的所述客户端上传的有效链路路径中的每种所述结束触发点的触发数量;
建立模块47,用于所述服务端根据所述触发数量,建立所述应用程序的所述结束触发点所属的业务模块的投放优先顺序;
更新模块48,用于述服务端根据所述投放优先顺序,生成所述应用程序的更新文件。
进一步地,所述提取模块45,包括:
查找单元451,用于遍历所述初始链路路径,查找是否存在相同的实际埋点位置;
生成单元452,用于如果存在所述相同的实际埋点位置,则删除所述相同的实际埋点位置所属的链路步骤之间的链路步骤,并合并所述相同的实际埋点位置所属的链路步骤,生成有效链路路径。
本发明提供了一种记录用户行为轨迹的装置,首先在开发工具包SDK中设置用户行为轨迹的预置埋点位置、链路路径建立规则和链路路径去重规则,然后将SDK嵌入到应用程序中,如果客户端安装并打开该应用程序,则生成当次生命周期内的链路ID,客户端根据预置埋点位置和链路规则,据用户操作获取链路ID的初始链路操作,最后客户端根据链路去重规则,提取初始链路路径的有效链路路径。与现有技术相比,本发明实施例通过在SDK中设置预置埋点位置,当用户操作触发预置埋点位置时才将该用户操作加入用户链路路径,并且通过链路去重规则提取有效链路路径,对用户操作行为进行目标筛选和去重,以较少用户行为链路中的冗余数据,提高记录用户行为链路中的有效性。
根据本发明一个实施例提供了一种存储介质,所述存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的记录用户行为轨迹的方法。
图5示出了根据本发明一个实施例提供的一种计算机设备的结构示意图,本发明具体实施例并不对计算机设备的具体实现做限定。
如图5所示,该计算机设备可以包括:处理器(processor)502、通信接口(Communications Interface)504、存储器(memory)506、以及通信总线508。
其中:处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。
通信接口504,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器502,用于执行程序510,具体可以执行上述记录用户行为轨迹的方法实施例中的相关步骤。具体地,程序510可以包括程序代码,该程序代码包括计算机操作指令。
处理器502可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算机设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器506,用于存放程序510。存储器506可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序510具体可以用于使得处理器502执行以下操作:
开发工具包SDK、应用程序和客户端;
在所述SDK中,设置用户行为轨迹的预置埋点位置、链路路径建立规则和链路路径去重规则;
将所述SDK嵌入到所述应用程序中,所述应用程序的数量至少为1个;
所述客户端如果安装且打开所述应用程序,则生成当次生命周期内的链路ID;
所述客户端根据所述预置埋点位置和所述链路路径建立规则,据用户操作,获取所述链路ID的初始链路路径;
所述客户端根据所述链路去重规则,提取所述初始链路路径的有效链路路径。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (8)
1.一种记录用户行为链路的方法,其特征在于,包括开发工具包SDK、应用程序和客户端;
在所述SDK中,设置用户行为轨迹的预置埋点位置、链路路径建立规则和链路路径去重规则;
将所述SDK嵌入到所述应用程序中,所述应用程序的数量至少为1个;
所述客户端如果安装且打开所述应用程序,则生成当次生命周期内的链路ID;
所述客户端根据所述预置埋点位置、所述链路路径建立规则、用户操作,获取所述链路ID的初始链路路径;
所述客户端根据所述链路路径去重规则,提取所述初始链路路径的有效链路路径;
其中,所述生成当次生命周期内的链路ID,包括:
获取系统时间戳;
采用NSString的字符串拼接方法,拼接所述SDK的版本号、所述应用程序的版本号和所述系统时间戳,生成初始链路编码;
根据预置MD5算法,加密所述初始链路编码,生成所述链路ID;
其中,所述客户端根据所述预置埋点位置、所述链路路径建立规则、用户操作,获取所述链路ID的初始链路路径,包括:
获取所述用户操作的实际埋点位置、埋点动作和操作时间,所述埋点动作包括点击、滑动;
如果所述实际埋点位置属于所述预置埋点位置,则根据所述实际埋点位置、所述埋点动作和所述操作时间,生成链路步骤;
根据所述链路ID和所述链路步骤,生成初始链路路径。
2.如权利要求1所述的方法,其特征在于,所述实际埋点位置包括建立触发点、结束触发点和中间触发点三种埋点类型;
所述根据所述链路ID和所述链路步骤,生成初始链路路径,包括:
判断所述链路步骤中的实际埋点位置所属的埋点类型;
如果所述实际埋点位置属于所述建立触发点,则建立以所述链路ID为标识的空的初始链路路径,并将所述链路步骤写入所述初始链路路径;
如果所述实际埋点位置属于所述中间触发点,则将所述链路步骤写入所述初始链路路径;
如果所述实际埋点位置属于所述结束触发点,则将所述链路步骤写入所述初始链路路径,并将所述初始链路路径更改为停止写入状态。
3.如权利要求2所述的方法,其特征在于,所述如果所述实际埋点位置属于所述中间触发点,则将所述链路步骤写入所述初始链路路径,包括:
判断所述中间触发点与所述建立触发点是否属于同一个应用程序;
如果判断结果为是,则将所述链路步骤写入所述初始链路路径;
如果判断结果为否,则判断所述建立触发点所属的应用程序与所述中间触发点所属的应用程序能否通过预置函数跳转;
如果判断结果为否,则将所述初始链路路径更改为停止写入状态。
4.如权利要求2所述的方法,其特征在于,包括服务端;
所述服务端统计接收到的所述客户端上传的有效链路路径中的每种所述结束触发点的触发数量;
所述服务端根据所述触发数量,建立所述应用程序的所述结束触发点所属的业务模块的投放优先顺序;
所述服务端根据所述投放优先顺序,生成所述应用程序的更新文件。
5.如权利要求1所述的方法,其特征在于,所述客户端根据所述链路路径去重规则,提取所述初始链路路径的有效链路路径,包括:
遍历所述初始链路路径,查找是否存在相同的实际埋点位置;
如果存在所述相同的实际埋点位置,则删除所述相同的实际埋点位置所属的链路步骤之间的链路步骤,并合并所述相同的实际埋点位置所属的链路步骤,生成有效链路路径。
6.一种记录用户行为链路的装置,其特征在于,包括开发工具包SDK、应用程序和客户端;
设置模块,用于在所述SDK中,设置用户行为轨迹的预置埋点位置、链路路径建立规则和链路路径去重规则;
嵌入模块,用于将所述SDK嵌入到所述应用程序中,所述应用程序的数量至少为1个;
生成模块,用于所述客户端如果安装且打开所述应用程序,则生成当次生命周期内的链路ID;
获取模块,用于所述客户端根据所述预置埋点位置、所述链路路径建立规则、用户操作,获取所述链路ID的初始链路路径;
提取模块,用于所述客户端根据所述链路路径去重规则,提取所述初始链路路径的有效链路路径;
其中,所述生成模块,具体用于获取系统时间戳;采用NSString的字符串拼接方法,拼接所述SDK的版本号、所述应用程序的版本号和所述系统时间戳,生成初始链路编码;根据预置MD5算法,加密所述初始链路编码,生成所述链路ID;
其中,所述获取模块,具体用于获取所述用户操作的实际埋点位置、埋点动作和操作时间,所述埋点动作包括点击、滑动;如果所述实际埋点位置属于所述预置埋点位置,则根据所述实际埋点位置、所述埋点动作和所述操作时间,生成链路步骤;根据所述链路ID和所述链路步骤,生成初始链路路径。
7.一种存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-5中任一项所述的记录用户行为链路的方法对应的操作。
8.一种计算机设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-5中任一项所述的记录用户行为链路的方法对应的操作。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910894103.XA CN110781061B (zh) | 2019-09-20 | 2019-09-20 | 一种记录用户行为链路的方法及装置 |
PCT/CN2019/118456 WO2021051613A1 (zh) | 2019-09-20 | 2019-11-14 | 一种记录用户行为链路的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910894103.XA CN110781061B (zh) | 2019-09-20 | 2019-09-20 | 一种记录用户行为链路的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110781061A CN110781061A (zh) | 2020-02-11 |
CN110781061B true CN110781061B (zh) | 2022-11-25 |
Family
ID=69384220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910894103.XA Active CN110781061B (zh) | 2019-09-20 | 2019-09-20 | 一种记录用户行为链路的方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110781061B (zh) |
WO (1) | WO2021051613A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112667277B (zh) * | 2020-12-25 | 2023-07-25 | 中国平安人寿保险股份有限公司 | 基于小程序的信息推送方法、装置及计算机设备 |
CN114579416B (zh) * | 2022-03-09 | 2024-05-03 | 北京字节跳动网络技术有限公司 | 一种指标确定方法、装置、服务器和介质 |
CN115484189A (zh) * | 2022-08-31 | 2022-12-16 | 未来电视有限公司 | 数据合规测试方法、装置、电子设备及存储介质 |
CN116541262B (zh) * | 2023-07-07 | 2024-03-01 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备以及可读存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6484149B1 (en) * | 1997-10-10 | 2002-11-19 | Microsoft Corporation | Systems and methods for viewing product information, and methods for generating web pages |
CN103236017A (zh) * | 2013-03-27 | 2013-08-07 | 浙江力天世纪通信有限公司 | 用户行为跟踪装置、系统及方法 |
CN104504136A (zh) * | 2014-12-31 | 2015-04-08 | 北京国双科技有限公司 | 网站的访问路径的分析方法和装置 |
CN106034110A (zh) * | 2015-03-12 | 2016-10-19 | 腾讯科技(深圳)有限公司 | 访问链路生成方法及装置 |
CN106909372A (zh) * | 2017-01-23 | 2017-06-30 | 武汉奇米网络科技有限公司 | 一种移动端用户购买路径计算方法及系统 |
CN106909591A (zh) * | 2015-12-23 | 2017-06-30 | 北京奇虎科技有限公司 | 文件获取方法、装置与系统 |
CN107295050A (zh) * | 2016-04-01 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 前端用户行为统计方法及装置 |
CN107566148A (zh) * | 2016-07-01 | 2018-01-09 | 北京京东尚科信息技术有限公司 | 终端应用操作数据的分析方法、系统、装置及终端 |
CN107944059A (zh) * | 2017-12-29 | 2018-04-20 | 深圳市中润四方信息技术有限公司西安分公司 | 一种基于流计算的用户行为分析方法及系统 |
CN108446212A (zh) * | 2018-03-30 | 2018-08-24 | 武汉斗鱼网络科技有限公司 | 获取用户行为路径的方法、装置、存储介质及设备 |
CN109462648A (zh) * | 2018-11-13 | 2019-03-12 | 北京字节跳动网络技术有限公司 | 一种用户行为跟踪方法、装置、设备和储存介质 |
CN110113392A (zh) * | 2019-04-17 | 2019-08-09 | 上海连尚网络科技有限公司 | 一种监控app客户端埋点采集完整性的方法及设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113360812B (zh) * | 2016-03-07 | 2024-02-06 | 创新先进技术有限公司 | 一种业务执行方法及装置 |
CN107767168A (zh) * | 2017-09-19 | 2018-03-06 | 神策网络科技(北京)有限公司 | 用户行为数据处理方法及装置、电子设备和存储介质 |
CN108536569B (zh) * | 2018-03-21 | 2021-06-29 | 创新先进技术有限公司 | 一种业务行为跟踪方法、装置及设备 |
CN108536589A (zh) * | 2018-03-26 | 2018-09-14 | 广州小鹏汽车科技有限公司 | 一种应用程序埋点方法及系统 |
CN109446069A (zh) * | 2018-09-26 | 2019-03-08 | 平安普惠企业管理有限公司 | 兼容性测试方法、装置、计算机设备和介质 |
-
2019
- 2019-09-20 CN CN201910894103.XA patent/CN110781061B/zh active Active
- 2019-11-14 WO PCT/CN2019/118456 patent/WO2021051613A1/zh active Application Filing
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6484149B1 (en) * | 1997-10-10 | 2002-11-19 | Microsoft Corporation | Systems and methods for viewing product information, and methods for generating web pages |
CN103236017A (zh) * | 2013-03-27 | 2013-08-07 | 浙江力天世纪通信有限公司 | 用户行为跟踪装置、系统及方法 |
CN104504136A (zh) * | 2014-12-31 | 2015-04-08 | 北京国双科技有限公司 | 网站的访问路径的分析方法和装置 |
CN106034110A (zh) * | 2015-03-12 | 2016-10-19 | 腾讯科技(深圳)有限公司 | 访问链路生成方法及装置 |
CN106909591A (zh) * | 2015-12-23 | 2017-06-30 | 北京奇虎科技有限公司 | 文件获取方法、装置与系统 |
CN107295050A (zh) * | 2016-04-01 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 前端用户行为统计方法及装置 |
CN107566148A (zh) * | 2016-07-01 | 2018-01-09 | 北京京东尚科信息技术有限公司 | 终端应用操作数据的分析方法、系统、装置及终端 |
CN106909372A (zh) * | 2017-01-23 | 2017-06-30 | 武汉奇米网络科技有限公司 | 一种移动端用户购买路径计算方法及系统 |
CN107944059A (zh) * | 2017-12-29 | 2018-04-20 | 深圳市中润四方信息技术有限公司西安分公司 | 一种基于流计算的用户行为分析方法及系统 |
CN108446212A (zh) * | 2018-03-30 | 2018-08-24 | 武汉斗鱼网络科技有限公司 | 获取用户行为路径的方法、装置、存储介质及设备 |
CN109462648A (zh) * | 2018-11-13 | 2019-03-12 | 北京字节跳动网络技术有限公司 | 一种用户行为跟踪方法、装置、设备和储存介质 |
CN110113392A (zh) * | 2019-04-17 | 2019-08-09 | 上海连尚网络科技有限公司 | 一种监控app客户端埋点采集完整性的方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2021051613A1 (zh) | 2021-03-25 |
CN110781061A (zh) | 2020-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110781061B (zh) | 一种记录用户行为链路的方法及装置 | |
US9787706B1 (en) | Modular architecture for analysis database | |
CN100595778C (zh) | 鉴定病毒文件的方法、装置 | |
CN109873804A (zh) | 基于行为的服务识别方法、装置、设备及可读存储介质 | |
CN107800757B (zh) | 用户行为记录方法及装置 | |
CN112099800B (zh) | 代码数据的处理方法、装置和服务器 | |
US10108501B2 (en) | Terminal backup and recovery method | |
CN102307210A (zh) | 一种数据下载系统及其数据管理和下载方法 | |
CN111163072B (zh) | 机器学习模型中特征值的确定方法、装置及电子设备 | |
CN112559306B (zh) | 用户行为轨迹获取方法、装置与电子设备 | |
Kälber et al. | Forensic application-fingerprinting based on file system metadata | |
CN113014623B (zh) | 埋点实时流数据处理方法、装置、计算机设备和存储介质 | |
CN104778123A (zh) | 一种检测系统性能的方法及装置 | |
CN109101412B (zh) | 测试文件生成、测试方法、装置、存储介质和计算机设备 | |
CN113254320A (zh) | 记录用户网页操作行为的方法及装置 | |
CN108446224B (zh) | 移动端上应用程序的性能分析方法、存储介质 | |
Minaei et al. | Lethe: Conceal content deletion from persistent observers | |
CN102917056A (zh) | 一种移动学习系统及使用方法 | |
CN110209925A (zh) | 应用推送方法、装置、计算机设备和存储介质 | |
CN111803917A (zh) | 资源的处理方法和装置 | |
CN113094400A (zh) | 一种数据溯源方法、系统及装置 | |
CN112817816A (zh) | 埋点处理方法、装置、计算机设备和存储介质 | |
CN111460436B (zh) | 一种基于区块链的非结构化数据操作方法和系统 | |
Castiglione et al. | How to forge a digital alibi on Mac OS X | |
CN112486935B (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 |