WO2021051613A1 - 一种记录用户行为链路的方法及装置 - Google Patents

一种记录用户行为链路的方法及装置 Download PDF

Info

Publication number
WO2021051613A1
WO2021051613A1 PCT/CN2019/118456 CN2019118456W WO2021051613A1 WO 2021051613 A1 WO2021051613 A1 WO 2021051613A1 CN 2019118456 W CN2019118456 W CN 2019118456W WO 2021051613 A1 WO2021051613 A1 WO 2021051613A1
Authority
WO
WIPO (PCT)
Prior art keywords
link
link path
path
initial
point
Prior art date
Application number
PCT/CN2019/118456
Other languages
English (en)
French (fr)
Inventor
李宏锋
Original Assignee
平安科技(深圳)有限公司
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 平安科技(深圳)有限公司 filed Critical 平安科技(深圳)有限公司
Publication of WO2021051613A1 publication Critical patent/WO2021051613A1/zh

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program

Definitions

  • This application relates to the field of computer technology, in particular to a method and device for recording user behavior links.
  • User behavior link analysis is an important way for each App to analyze users. By analyzing user trajectories, users can obtain objective evaluations of App content, such as staying in the market, number of entries, etc., and iteratively adjust App functions by reproducing user trajectories , You can also verify the stickiness of a certain piece of business to users.
  • a method of burying points in terminal applications is often used in the prior art.
  • the current common method of burying points is to uniquely number modules (such as buttons, banners, etc.) in webpages or applications, capture user operations on the modules (such as clicks, slides, etc.), and integrate fine-grained user operations Combine to generate user track behavior.
  • User behavior links are random and frequent actions, which may lead to frequent traversal of the view hierarchy. Because there are many view sub-levels that are invisible to users, because developers have different levels of encapsulation of components, there will be many tracks that actual users cannot operate. . Obtaining user behavior trajectories by burying points has strong code intrusiveness, generates a lot of lengthy and complicated dirty data, reduces App performance, and results in low efficiency in recording effective user behavior links.
  • the present application provides a method and device for recording user behavior links, the main purpose of which is to solve the problem of low efficiency in recording effective user behavior links in the prior art.
  • a method for recording user behavior links including a development kit SDK, an application, and a client;
  • the client installs and opens the application, it generates a link ID in the current life cycle
  • the client obtains the initial link path of the link ID according to the preset buried point location and the link path establishment rule, and according to user operations;
  • the client extracts the effective link path of the initial link path according to the link deduplication rule.
  • a device for recording user behavior links which includes a development kit SDK, an application, and a client;
  • the setting module is used to set the preset buried point position of the user behavior trajectory, the link path establishment rule, and the link path deduplication rule in the SDK;
  • the embedding module is used to embed the SDK into the application program, and the number of the application program is at least one;
  • a generating module which is used to generate the link ID in the current life cycle if the client installs and opens the application
  • An obtaining module configured for the client to obtain the initial link path of the link ID according to the preset buried point location and the link path establishment rule, and according to user operations;
  • the extraction module is used for the client to extract the effective link path of the initial link path according to the link deduplication rule.
  • a non-volatile readable storage medium in which at least one computer-readable executable instruction is stored, and the computer-readable executable instruction
  • the processor is caused to perform operations corresponding to the above-mentioned method of recording user behavior links.
  • a computer device including: a processor, a memory, a communication interface, and a communication bus.
  • the processor, the memory, and the communication interface complete mutual communication through the communication bus.
  • the memory is used to store at least one computer-readable executable instruction, and the computer-readable executable instruction causes the processor to perform operations corresponding to the foregoing method of recording user behavior links.
  • This application provides a method and device for recording user behavior trajectory. First, set the preset embedding point position of the user behavior trajectory, the link path establishment rule and the link path deduplication rule in the development kit SDK, and then embed the SDK In the application, if the client installs and opens the application, the link ID in the current life cycle is generated, and the client obtains the initial chain of the link ID according to the preset location of the embedded point and the link rules, and the user's operation In the end, the client extracts the effective link path of the initial link path according to the link deduplication rule.
  • the embodiment of the present application sets a preset embedding point position in the SDK, and adds the user operation to the user link path when the preset embedding point position is triggered by a user operation, and uses the link deduplication rule Extract effective link paths, perform target screening and de-duplication of user operation behaviors, reduce redundant data in user behavior links, and improve the effectiveness of recording user behavior links.
  • Figure 1 shows a flow chart of a method for recording user behavior tracks provided by an embodiment of the present application
  • Figure 2 shows a flowchart of another method for recording user behavior tracks provided by an embodiment of the present application
  • FIG. 3 shows a block diagram of a device for recording user behavior tracks provided by an embodiment of the present application
  • Figure 4 shows a block diagram of another device for recording user behavior tracks provided by an embodiment of the present application
  • Fig. 5 shows a schematic structural diagram of a computer device provided by an embodiment of the present application.
  • the embodiment of the present application provides a method for recording a user's behavior track. As shown in FIG. 1, the method includes a development kit SDK, an application, and a client.
  • the development kit SDK is a software development module that can implement specific business functions. Set the preset embedded point position of the user track in the SDK. When the preset embedded point position is triggered by the user operation, the user operation is established according to the link path, and the object, method and time of the user operation are written into the link path. When a certain link path ends, the user link path is traversed, and the repeated parts in the link path are deleted. In the embodiment of this application, there are multiple SDKs, and each SDK implements different business functions.
  • the application also includes a variety of business functions, which can be implemented by embedding SDK modules. Different applications can have the same business functions, so a unified SDK can be embedded in different applications, so the number of applications is at least one. Exemplarily, most applications have a search function. Edit the SDK that can realize the search function, and then embed the SDK into the target application, then the target application has the search function after installation. Because the actual functions of the application are different, the business functions contained in the corresponding embedded SDK are also different.
  • the client installs and opens the application, it generates a link ID in the current life cycle.
  • the client is a terminal used by the user and can install and run applications.
  • the client refers to a terminal on which an application embedded in the SDK is installed.
  • the client opens the application, it starts to record the life cycle.
  • the current life cycle refers to the start of the application.
  • the link IDs in the same life cycle are the same.
  • the initial application After opening the initial application, it may jump to other applications. If other applications and the initial application are embedded in the SDK, then the jump to its application still belongs to the current life cycle. If the initial application and other applications are embedded in the SDK, the embedded SDK of the two does not mean that the functions of the SDK are exactly the same, but refers to the location of the preset embedded point, which records the user behavior trajectory in the initial application and other applications.
  • the link path establishment rules and link path de-duplication rules are the same. The same rules are used in the process of recording user behavior trajectories. Therefore, the same link ID can still be used to record user behavior trajectories even though application jumps occur.
  • the link ID is the unique identification of the current user's behavior trajectory, which is implemented by encryption in three fields: the application version number, the SDK version number, and the current time.
  • the client obtains the initial link path of the link ID according to the preset buried point location and the link path establishment rule, and according to the user's operation.
  • the initial link path is the user behavior track recorded during this life cycle.
  • the initial link path and the link ID have a one-to-one correspondence.
  • the link ID is a part of the initial link path.
  • the initial link path also includes user operations.
  • User operations include operation objects, operation behavior, and operation time.
  • the initial link path is obtained based on the link path establishment rule based on the link ID and user operation as the content.
  • the client extracts the effective link path of the initial link path according to the link deduplication rule.
  • Link deduplication rules are used to delete content corresponding to repeated user operations in the initial link path.
  • the redundant content is deleted through the link deduplication rules, and the effective content is extracted to generate an effective link path.
  • the link content contained in the effective link path is the user behavior link.
  • the effective link path is relative to the initial link path, and its function is to reduce the amount of data, improve the transmission efficiency of the user behavior link, and reduce the interference of redundant data on the analysis user behavior link.
  • This application provides a method for recording user behavior trajectories. First, set the preset embedding point position of the user behavior trajectory, link path establishment rules, and link path deduplication rules in the SDK SDK, and then embed the SDK into the application In the program, if the client installs and opens the application, the link ID in the current life cycle is generated, and the client obtains the initial link operation of the link ID according to the preset location of the embedded point and link rules, and the user's operation Finally, the client extracts the effective link path of the initial link path according to the link deduplication rule.
  • the embodiment of the present application sets a preset embedding point position in the SDK, and adds the user operation to the user link path when the preset embedding point position is triggered by a user operation, and uses the link deduplication rule Extract effective link paths, perform target screening and de-duplication of user operation behaviors, reduce redundant data in user behavior links, and improve the effectiveness of recording user behavior links.
  • the embodiment of the present application provides another method for recording a user's behavior track.
  • the method includes a development kit SDK, an application, a client, and a server.
  • the development kit SDK is a software development module that can implement specific business functions. Set the preset embedded point position of the user track in the SDK. When the preset embedded point position is triggered by the user operation, the user operation is established according to the link path, and the object, method and time of the user operation are written into the link path. When a certain link path ends, the user link path is traversed, and the repeated parts in the link path are deleted. In the embodiment of this application, there are multiple SDKs, and each SDK implements different business functions.
  • the application also includes a variety of business functions, which can be implemented by embedding SDK modules. Different applications can have the same business functions, so a unified SDK can be embedded in different applications, so the number of applications is at least one. Exemplarily, most applications have a search function. Edit the SDK that can realize the search function, and then embed the SDK into the target application, then the target application has the search function after installation. Because the actual functions of the application are different, the business functions contained in the corresponding embedded SDK are also different.
  • the client installs and opens the application, it generates a link ID in the current life cycle.
  • the client is a terminal used by the user and can install and run applications.
  • the client refers to a terminal on which an application embedded in the SDK is installed.
  • the current life cycle refers to the start of the application.
  • After opening the initial application it may jump to other applications. If other applications and the initial application are embedded in the SDK, then the jump to the application still belongs to the current life cycle, and the link ID in the same life cycle the same.
  • Generating the link ID specifically includes: obtaining the system timestamp; using the NSString string splicing method, splicing the SDK version number, the application version number, and the system timestamp to generate the initial link code; Set the MD5 algorithm, encrypt the initial link code, and generate the link ID.
  • the system timestamp is the current system time, which is the time when the application was opened.
  • the preset MD5 algorithm the message digest algorithm, is a widely used cryptographic hash function that can generate a 128-bit hash value to ensure complete and consistent information transmission.
  • the initial link code is encrypted by the preset MD5 algorithm, so that the generated link ID is completely consistent with the information of the initial link code.
  • the client obtains the initial link path of the link ID according to the preset buried point location and the link path establishment rule, and according to the user's operation.
  • the client is the user's terminal, which can install and run applications.
  • Obtaining the initial link path specifically includes: acquiring the actual burying point position, burying point action, and operation time of the user operation, the burying point action includes clicking, sliding, and changing the inclination; if the actual burying point position belongs to the For the preset buried point position, a link step is generated according to the actual buried point position, the buried point action, and the operation time; an initial link path is generated according to the link ID and the link step, The initial link path includes the link ID and the link step.
  • a link step is generated, and the link step is added to the initial link path every time a link step is produced.
  • the initial link path is continuously expanded with user operations. If the buried point location includes three types of buried points: establishment trigger point, end trigger point, and intermediate trigger point, then generating the initial link path specifically includes: judging the buried point type to which the actual buried point position in the link step belongs; if If the actual buried point location belongs to the establishment trigger point, an empty initial link path identified by the link ID is established, and the link step is written into the initial link path; if the actual If the buried point position belongs to the intermediate trigger point, the link step is written into the initial link path; if the actual buried point position belongs to the end trigger point, the link step is written into the Initial link path, and change the initial link path to a write-stop state.
  • writing the link step into the initial link path includes: determining whether the intermediate trigger point and the establishment trigger point belong to the same application; if it is determined If the result is yes, the link step is written into the initial link path; if the judgment result is no, it is judged whether the application to which the establishment trigger point belongs and the application to which the intermediate trigger point belongs can pass the pre- Set the function jump; if the judgment result is yes, write the link step into the initial link path; if the judgment result is no, change the initial link path to the writing stop state.
  • step 203 it can be seen that after opening the initial application, it may jump to other applications. If other applications and the initial application are embedded in the SDK, then the jump to the application still belongs to the current life cycle, in the same life cycle The link IDs within are the same. If the application program to which the establishment trigger point belongs and the application program to which the intermediate trigger point belongs jump through a preset function, it means that the method of realizing the jump between the applications is the same, that is, the application program is to realize the jump The functions embedded in the SDK are the same, so the link step is added to the initial link path.
  • the client extracts the effective link path of the initial link path according to the link deduplication rule.
  • extracting the effective link path includes: traversing the initial link path to find whether there is the same actual buried point; if the same actual buried point exists Position, delete the link steps between the link steps to which the same actual buried position belongs, and merge the link steps to which the same actual buried position belongs to generate an effective link path.
  • the initial link path includes Step 1-Step 2-Step 3-Step 2-Step 5-Step 6.
  • the effective link path extracted after deduplication includes Step 1-Step 2-Step 5-Step 6. Since the operation time is included in the link step, in the link step described in merging the same actual buried point position, the operation time corresponding to any actual buried point position can be selected.
  • the actual buried point position corresponds to The selection method of the operating time is not limited.
  • the server counts the received number of triggers of each of the end trigger points in the valid link paths uploaded by the client.
  • the effective link path in this step refers to all effective link paths in a certain period of time.
  • the client After the client extracts the effective link path, it can upload the effective link path according to the preset time interval, or upload the effective link path every time a valid link path is extracted, and it can also upload the effective link path according to the request of the server.
  • the upload scheme for the client to upload the effective link path is not limited. Since there are multiple types of end trigger points set in the SDK, the server counts the number of triggers of each end trigger point.
  • the server establishes the delivery priority order of the service modules to which the end trigger point of the application belongs according to the number of triggers.
  • the number of triggers represents the number of times the corresponding end trigger point responds to user operations, that is, the number of times the service function of the service module to which the end trigger point belongs is used.
  • the number of times used can explain to a certain extent the popular program of the business module, increase the probability that the business module described in the end trigger point with a larger number of triggers will be noticed by the user, and increase the application of its application to meet the user's expected demand The probability. Therefore, the order of the number of triggers from large to small is the order of delivery priority of the service modules to which the end trigger point of the application program belongs.
  • the server generates an update file of the application program according to the delivery priority order.
  • each business module When displaying the module functions in the application, each business module has a certain order. According to the preset position priority, the business modules corresponding to the delivery priority are placed in sequence, and the update file of the application is generated.
  • This application provides a method for recording user behavior trajectories. First, set the preset embedding point position of the user behavior trajectory, link path establishment rules, and link path deduplication rules in the SDK SDK, and then embed the SDK into the application In the program, if the client installs and opens the application, the link ID in the current life cycle is generated, and the client obtains the initial link operation of the link ID according to the preset location of the embedded point and link rules, and the user's operation Finally, the client extracts the effective link path of the initial link path according to the link deduplication rule.
  • the embodiment of the present application sets a preset embedding point position in the SDK, and adds the user operation to the user link path when the preset embedding point position is triggered by a user operation, and uses the link deduplication rule Extract effective link paths, perform target screening and de-duplication of user operation behaviors, reduce redundant data in user behavior links, and improve the effectiveness of recording user behavior links.
  • an embodiment of the present application provides a device for recording a user's behavior track.
  • the device includes a development kit SDK, an application, and a client;
  • the setting module 31 is configured to set the preset buried point position of the user behavior trajectory, the link path establishment rule, and the link path deduplication rule in the SDK;
  • the embedding module 32 is configured to embed the SDK into the application program, and the number of the application program is at least one;
  • the generating module 33 is configured to generate the link ID in the current life cycle if the client installs and opens the application;
  • the obtaining module 34 is used for the client to obtain the initial link path of the link ID according to the preset buried point location and the link path establishment rule, and according to user operations;
  • the extraction module 35 is used for the client to extract the effective link path of the initial link path according to the link deduplication rule.
  • This application provides a device for recording user behavior trajectories. First, set the preset embedding point position of the user behavior trajectory, link path establishment rules, and link path deduplication rules in the development kit SDK, and then embed the SDK into the application In the program, if the client installs and opens the application, the link ID in the current life cycle is generated, and the client obtains the initial link operation of the link ID according to the preset location of the embedded point and link rules, and the user's operation Finally, the client extracts the effective link path of the initial link path according to the link deduplication rule.
  • the embodiment of the present application sets a preset embedding point position in the SDK, and adds the user operation to the user link path when the preset embedding point position is triggered by a user operation, and uses the link deduplication rule Extract effective link paths, perform target screening and de-duplication of user operation behaviors, reduce redundant data in user behavior links, and improve the effectiveness of recording user behavior links.
  • an embodiment of the present application provides another device for recording user behavior tracks.
  • the device includes a development kit SDK, an application, and a client;
  • the setting module 41 is configured to set the preset buried point position of the user behavior trajectory, the link path establishment rule, and the link path deduplication rule in the SDK;
  • the embedding module 42 is configured to embed the SDK into the application program, and the number of the application program is at least one;
  • the generating module 43 is configured to generate the link ID in the current life cycle if the client installs and opens the application;
  • the obtaining module 44 is used for the client to obtain the initial link path of the link ID according to the preset buried point location and the link path establishment rule, and according to user operations;
  • the extraction module 45 is used for the client to extract the effective link path of the initial link path according to the link deduplication rule.
  • the generating module 43 includes:
  • the obtaining unit 431 is configured to obtain a system timestamp
  • the generating unit 432 is configured to use the NSString string splicing method to splice the version number of the SDK, the version number of the application program, and the system timestamp to generate an initial link code;
  • the generating unit 432 is further configured to encrypt the initial link code according to a preset MD5 algorithm to generate the link ID.
  • the obtaining module 44 includes:
  • the acquiring unit 441 is configured to acquire the actual burial location, burial action, and operation time of the user operation, the burial action includes clicking, sliding, and changing inclination;
  • a generating unit 442 configured to generate a link step according to the actual buried spot position, the buried spot action, and the operation time if the actual buried spot position belongs to the preset buried spot position;
  • the generating unit 442 is further configured to generate an initial link path according to the link ID and the link step.
  • the buried point position includes three types of buried point: establishment trigger point, end trigger point and intermediate trigger point;
  • the generating unit 442 is configured to:
  • the link step is written into the initial link path, and the initial link path is changed to a writing stop state.
  • the generating unit 442 includes:
  • the judging subunit 4421 is configured to judge whether the intermediate trigger point and the establishment trigger point belong to the same application program
  • Writing subunit 4422 configured to write the link step into the initial link path if the judgment result is yes;
  • the judging subunit 4421 is further configured to judge whether the application to which the establishment trigger point belongs and the application to which the intermediate trigger point belongs can jump through a preset function if the judgment result is no;
  • the writing subunit 4422 is further configured to write the link step into the initial link path if the judgment result is yes;
  • the modification sub-unit 4423 is used for changing the initial link path to the writing stop state if the judgment result is no.
  • the method includes a server end
  • the statistics module 46 is used for the server to count the number of triggers of each of the end trigger points in the received valid link path uploaded by the client;
  • the establishment module 47 is used for the server to establish the delivery priority order of the service modules to which the end trigger point of the application belongs according to the number of triggers;
  • the update module 48 is used for the server to generate an update file of the application program according to the delivery priority order.
  • the extraction module 45 includes:
  • the searching unit 451 is configured to traverse the initial link path to find whether there is the same actual buried point location;
  • the generating unit 452 is configured to delete the link steps between the link steps to which the same actual spot position belongs if the same actual spot position exists, and merge the same actual spot position Link steps to generate a valid link path.
  • This application provides a device for recording user behavior trajectories. First, set the preset embedding point position of the user behavior trajectory, link path establishment rules, and link path deduplication rules in the development kit SDK, and then embed the SDK into the application In the program, if the client installs and opens the application, the link ID in the current life cycle is generated, and the client obtains the initial link operation of the link ID according to the preset location and link rules, and the user operation Finally, the client extracts the effective link path of the initial link path according to the link deduplication rule.
  • the embodiment of the present application sets a preset embedding point position in the SDK, and adds the user operation to the user link path when the preset embedding point position is triggered by a user operation, and uses the link deduplication rule Extract effective link paths, perform target screening and de-duplication of user operation behaviors, reduce redundant data in user behavior links, and improve the effectiveness of recording user behavior links.
  • a non-volatile readable storage medium stores at least one computer-readable executable instruction, and the computer-readable executable instruction can execute any of the foregoing The method of recording the user's behavior track in the method embodiment.
  • FIG. 5 shows a schematic structural diagram of a computer device according to an embodiment of the present application, and the specific embodiment of the present application does not limit the specific implementation of the computer device.
  • the computer device may include: a processor (processor) 502, a communication interface (Communications Interface) 504, a memory (memory) 506, and a communication bus 508.
  • processor processor
  • communication interface Communication Interface
  • memory memory
  • the processor 502, the communication interface 504, and the memory 506 communicate with each other through the communication bus 508.
  • the communication interface 504 is used to communicate with other devices, such as network elements such as clients or other servers.
  • the processor 502 is configured to execute the program 510, and specifically can execute the relevant steps in the above-mentioned method for recording a user's behavior track.
  • the program 510 may include program code, and the program code includes computer-readable executable instructions.
  • the processor 502 may be a central processing unit CPU, or an Application Specific Integrated Circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present application.
  • the one or more processors included in the computer device may be the same type of processor, such as one or more CPUs, or different types of processors, such as one or more CPUs and one or more ASICs.
  • the memory 506 is used to store the program 510.
  • the memory 506 may include a high-speed RAM memory, and may also include a non-volatile memory (non-volatile memory), for example, at least one disk memory.
  • the program 510 may be specifically used to cause the processor 502 to perform the following operations:
  • the client installs and opens the application, it generates a link ID in the current life cycle
  • the client obtains the initial link path of the link ID according to the preset buried point location and the link path establishment rule, and according to user operations;
  • the client extracts the effective link path of the initial link path according to the link deduplication rule.
  • modules or steps of this application can be implemented by a general computing device, and they can be concentrated on a single computing device or distributed in a network composed of multiple computing devices.
  • they can be implemented with program codes executable by a computing device, so that they can be stored in a storage device for execution by the computing device, and in some cases, can be executed in a different order than here.

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

一种记录用户行为链路的方法及装置
本申请要求与2019年9月20日提交中国专利局、申请号为201910894103.X、申请名称为“一种记录用户行为链路的方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在申请中。
技术领域
本申请涉及一种计算机技术领域,特别是涉及一种记录用户行为链路的方法及装置。
背景技术
用户行为链路分析是每个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(Application Specific Integrated  Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。计算机设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器506,用于存放程序510。存储器506可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序510具体可以用于使得处理器502执行以下操作:
开发工具包SDK、应用程序和客户端;
在所述SDK中,设置用户行为轨迹的预置埋点位置、链路路径建立规则和链路路径去重规则;
将所述SDK嵌入到所述应用程序中,所述应用程序的数量至少为1个;
所述客户端如果安装且打开所述应用程序,则生成当次生命周期内的链路ID;
所述客户端根据所述预置埋点位置和所述链路路径建立规则,据用户操作,获取所述链路ID的初始链路路径;
所述客户端根据所述链路去重规则,提取所述初始链路路径的有效链路路径。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本申请的保护范围之内。

Claims (20)

  1. 一种记录用户行为链路的方法,其特征在于,包括开发工具包SDK、应用程序和客户端;
    在所述SDK中,设置用户行为轨迹的预置埋点位置、链路路径建立规则和链路路径去重规则;
    将所述SDK嵌入到所述应用程序中,所述应用程序的数量至少为1个;
    所述客户端如果安装且打开所述应用程序,则生成当次生命周期内的链路ID;
    所述客户端根据所述预置埋点位置和所述链路路径建立规则,据用户操作,获取所述链路ID的初始链路路径;
    所述客户端根据所述链路去重规则,提取所述初始链路路径的有效链路路径。
  2. 如权利要求1所述的方法,其特征在于,所述生成当次生命周期内的链路ID,包括:
    获取系统时间戳;
    采用NSString的字符串拼接方法,拼接所述SDK的版本号、所述应用程序的版本号和所述系统时间戳,生成初始链路编码;
    根据预置MD5算法,加密所述初始链路编码,生成所述链路ID。
  3. 如权利要求1所述的方法,其特征在于,所述客户端根据所述埋点位置和所述链路路径建立规则,响应于用户操作获取所述链路ID的初始链路路径,包括:
    获取所述用户操作的实际埋点位置、埋点动作和操作时间,所述埋点动作包括点击、滑动和改变倾角;
    如果所述实际埋点位置属于所述预置埋点位置,则根据所述实际埋点位置、所述埋点动作和所述操作时间,生成链路步骤;
    根据所述链路ID和所述链路步骤,生成初始链路路径。
  4. 如权利要求3所述的方法,其特征在于,所述埋点位置包括建立触发点、结束触发点和中间触发点三种埋点类型;
    所述根据所述链路ID和所述链路步骤,生成初始链路路径,包括:
    判断所述链路步骤中的实际埋点位置所属的埋点类型;
    如果所述实际埋点位置属于所述建立触发点,则建立以所述链路ID为标识的空的初始链路路径,并将所述链路步骤写入所述初始链接路径;
    如果所述实际埋点位置属于所述中间触发点,则将所述链路步骤写入所述初始链接路径;
    如果所述实际埋点位置属于所述结束触发点,则将所述链路步骤写入所述初始链接路径,并将所述初始链路路径更改为停止写入状态。
  5. 如权利要求4所述的方法,其特征在于,所述如果所述实际埋点位置属于中间触发点,则将所述链路步骤写入所述初始链接路径,包括:
    判断所述中间触发点与所述建立触发点是否属于同一个应用程序;
    如果判断结果为是,则将所述链路步骤写入所述初始链接路径;
    如果判断结果为否,则判断所述建立触发点所属的应用程序与所述中间触发点所属的应用程序能否通过预置函数跳转;
    如果判断结果为是,则将所述链路步骤写入所述初始链接路径;
    如果判断结果为否,则将所述初始链路路径更改为停止写入状态。
  6. 如权利要求4所述的方法,其特征在于,包括服务端;
    所述服务端统计接收到的所述客户端上传的有效链路路径中的每种所述结束触发点的触发数量;
    所述服务端根据所述触发数量,建立所述应用程序的所述结束触发点所属的业务模块的投放优先顺序;
    所述服务端根据所述投放优先顺序,生成所述应用程序的更新文件。
  7. 如权利要求3所述的方法,其特征在于,所述客户端根据所述链路去重规则,提取所述初始链路路径的有效链路路径,包括:
    遍历所述初始链路路径,查找是否存在相同的实际埋点位置;
    如果存在所述相同的实际埋点位置,则删除所述相同的实际埋点位置所属的链路步骤之间的链路步骤,并合并所述相同的实际埋点位置所属的链路步骤,生成有效链路路径。
  8. 一种记录用户行为链路的装置,其特征在于,包括开发工具包SDK、应用程序和客户端;
    设置模块,用于在所述SDK中,设置用户行为轨迹的预置埋点位置、链路路径建立规则和链路路径去重规则;
    嵌入模块,用于将所述SDK嵌入到所述应用程序中,所述应用程序的数量至少为1个;
    生成模块,用于所述客户端如果安装且打开所述应用程序,则生成当次生命周期内的链路ID;
    获取模块,用于所述客户端根据所述预置埋点位置和所述链路路径建立规则,据用户操作,获取所述链路ID的初始链路路径;
    提取模块,用于所述客户端根据所述链路去重规则,提取所述初始链路路径的有效链路路径。
  9. 如权利要求8所述的装置,其特征在于,所述生成模块,包括:
    获取单元,用于获取系统时间戳;
    生成单元,用于采用NSString的字符串拼接装置,拼接所述SDK的版本号、所述应用程序的版本号和所述系统时间戳,生成初始链路编码;
    所述生成单元,还用于根据预置MD5算法,加密所述初始链路编码,生成所述链路ID。
  10. 如权利要求8所述的装置,其特征在于,所述获取模块,包括:
    获取单元,用于获取所述用户操作的实际埋点位置、埋点动作和操作时间,所述埋点动作包括点击、滑动和改变倾角;
    生成单元,用于如果所述实际埋点位置属于所述预置埋点位置,则根据所述实际埋点位置、所述埋点动作和所述操作时间,生成链路步骤;
    所述生成单元,还用于根据所述链路ID和所述链路步骤,生成初始链路路径。
  11. 如权利要求10所述的装置,其特征在于,所述埋点位置包括建立触发点、结束触发点和中间触发点三种埋点类型;
    所述生成单元,用于:
    判断所述链路步骤中的实际埋点位置所属的埋点类型;
    如果所述实际埋点位置属于所述建立触发点,则建立以所述链路ID为标识的空的初始链路路径,并 将所述链路步骤写入所述初始链接路径;
    如果所述实际埋点位置属于所述中间触发点,则将所述链路步骤写入所述初始链接路径;
    如果所述实际埋点位置属于所述结束触发点,则将所述链路步骤写入所述初始链接路径,并将所述初始链路路径更改为停止写入状态。
  12. 如权利要求11所述的装置,其特征在于,所述生成单元,包括:
    判断子单元,用于判断所述中间触发点与所述建立触发点是否属于同一个应用程序;
    写入子单元,用于如果判断结果为是,则将所述链路步骤写入所述初始链接路径;
    所述判断子单元,还用于如果判断结果为否,则判断所述建立触发点所属的应用程序与所述中间触发点所属的应用程序能否通过预置函数跳转;
    所述写入子单元,还用于如果判断结果为是,则将所述链路步骤写入所述初始链接路径;
    更改子单元,用于如果判断结果为否,则将所述初始链路路径更改为停止写入状态。
  13. 如权利要求11所述的装置,其特征在于,包括服务端;
    统计模块,用于所述服务端统计接收到的所述客户端上传的有效链路路径中的每种所述结束触发点的触发数量;
    建立模块,用于所述服务端根据所述触发数量,建立所述应用程序的所述结束触发点所属的业务模块的投放优先顺序;
    更新模块,用于所述服务端根据所述投放优先顺序,生成所述应用程序的更新文件。
  14. 如权利要求10所述的装置,其特征在于,所述提取模块,包括:
    查找单元,用于遍历所述初始链路路径,查找是否存在相同的实际埋点位置;
    生成单元,用于如果存在所述相同的实际埋点位置,则删除所述相同的实际埋点位置所属的链路步骤之间的链路步骤,并合并所述相同的实际埋点位置所属的链路步骤,生成有效链路路径。
  15. 一种非易失性可读存储介质,所述非易失性可读存储介质中存储有至少一种计算机可读执行指令,所述计算机可读执行指令使处理器执行实现记录用户行为链路的方法,包括开发工具包SDK、应用程序和客户端;
    在所述SDK中,设置用户行为轨迹的预置埋点位置、链路路径建立规则和链路路径去重规则;将所述SDK嵌入到所述应用程序中,所述应用程序的数量至少为1个;所述客户端如果安装且打开所述应用程序,则生成当次生命周期内的链路ID;所述客户端根据所述预置埋点位置和所述链路路径建立规则,据用户操作,获取所述链路ID的初始链路路径;所述客户端根据所述链路去重规则,提取所述初始链路路径的有效链路路径。
  16. 根据权利要求15所述的非易失性可读存储介质,其特征在于,所述计算机可读执行指令被处理器执行实现所述生成当次生命周期内的链路ID,包括:
    获取系统时间戳;采用NSString的字符串拼接方法,拼接所述SDK的版本号、所述应用程序的版本号和所述系统时间戳,生成初始链路编码;根据预置MD5算法,加密所述初始链路编码,生成所述链路ID。
  17. 根据权利要求16所述的非易失性可读存储介质,其特征在于,所述计算机可读执行指令被处理器执行实现所述客户端根据所述埋点位置和所述链路路径建立规则,响应于用户操作获取所述链路ID的 初始链路路径,包括:
    获取所述用户操作的实际埋点位置、埋点动作和操作时间,所述埋点动作包括点击、滑动和改变倾角;如果所述实际埋点位置属于所述预置埋点位置,则根据所述实际埋点位置、所述埋点动作和所述操作时间,生成链路步骤;根据所述链路ID和所述链路步骤,生成初始链路路径。
  18. 一种计算机设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
    所述存储器用于存放至少一种计算机可读执行指令,所述计算机可读执行指令使所述处理器执行实现记录用户行为链路的方法,包括开发工具包SDK、应用程序和客户端;
    在所述SDK中,设置用户行为轨迹的预置埋点位置、链路路径建立规则和链路路径去重规则;将所述SDK嵌入到所述应用程序中,所述应用程序的数量至少为1个;所述客户端如果安装且打开所述应用程序,则生成当次生命周期内的链路ID;所述客户端根据所述预置埋点位置和所述链路路径建立规则,据用户操作,获取所述链路ID的初始链路路径;所述客户端根据所述链路去重规则,提取所述初始链路路径的有效链路路径。
  19. 根据权利要求18所述的计算机设备,其特征在于,所述计算机可读执行指令被处理器执行实现所述生成当次生命周期内的链路ID,包括:
    获取系统时间戳;采用NSString的字符串拼接方法,拼接所述SDK的版本号、所述应用程序的版本号和所述系统时间戳,生成初始链路编码;根据预置MD5算法,加密所述初始链路编码,生成所述链路ID。
  20. 根据权利要求19所述的计算机设备,其特征在于,所述计算机可读执行指令被处理器执行实现所述客户端根据所述埋点位置和所述链路路径建立规则,响应于用户操作获取所述链路ID的初始链路路径,包括:
    获取所述用户操作的实际埋点位置、埋点动作和操作时间,所述埋点动作包括点击、滑动和改变倾角;如果所述实际埋点位置属于所述预置埋点位置,则根据所述实际埋点位置、所述埋点动作和所述操作时间,生成链路步骤;根据所述链路ID和所述链路步骤,生成初始链路路径。
PCT/CN2019/118456 2019-09-20 2019-11-14 一种记录用户行为链路的方法及装置 WO2021051613A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910894103.XA CN110781061B (zh) 2019-09-20 2019-09-20 一种记录用户行为链路的方法及装置
CN201910894103.X 2019-09-20

Publications (1)

Publication Number Publication Date
WO2021051613A1 true WO2021051613A1 (zh) 2021-03-25

Family

ID=69384220

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/118456 WO2021051613A1 (zh) 2019-09-20 2019-11-14 一种记录用户行为链路的方法及装置

Country Status (2)

Country Link
CN (1) CN110781061B (zh)
WO (1) WO2021051613A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115484189A (zh) * 2022-08-31 2022-12-16 未来电视有限公司 数据合规测试方法、装置、电子设备及存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112667277B (zh) * 2020-12-25 2023-07-25 中国平安人寿保险股份有限公司 基于小程序的信息推送方法、装置及计算机设备
CN114579416B (zh) * 2022-03-09 2024-05-03 北京字节跳动网络技术有限公司 一种指标确定方法、装置、服务器和介质
CN116541262B (zh) * 2023-07-07 2024-03-01 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备以及可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107767168A (zh) * 2017-09-19 2018-03-06 神策网络科技(北京)有限公司 用户行为数据处理方法及装置、电子设备和存储介质
CN108536569A (zh) * 2018-03-21 2018-09-14 阿里巴巴集团控股有限公司 一种业务行为跟踪方法、装置及设备
CN108536589A (zh) * 2018-03-26 2018-09-14 广州小鹏汽车科技有限公司 一种应用程序埋点方法及系统
US20180365256A1 (en) * 2016-03-07 2018-12-20 Alibaba Group Holding Limited Service execution method and device
CN109446069A (zh) * 2018-09-26 2019-03-08 平安普惠企业管理有限公司 兼容性测试方法、装置、计算机设备和介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
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 浙江力天世纪通信有限公司 用户行为跟踪装置、系统及方法
CN104504136B (zh) * 2014-12-31 2018-05-18 北京国双科技有限公司 网站的访问路径的分析方法和装置
CN106034110B (zh) * 2015-03-12 2019-02-05 腾讯科技(深圳)有限公司 访问链路生成方法及装置
CN106909591A (zh) * 2015-12-23 2017-06-30 北京奇虎科技有限公司 文件获取方法、装置与系统
CN107295050B (zh) * 2016-04-01 2021-05-11 阿里巴巴集团控股有限公司 前端用户行为统计方法及装置
CN107566148B (zh) * 2016-07-01 2021-08-03 北京京东尚科信息技术有限公司 终端应用操作数据的分析方法、系统、装置及终端
CN106909372B (zh) * 2017-01-23 2020-08-18 武汉奇米网络科技有限公司 一种移动端用户购买路径计算方法及系统
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客户端埋点采集完整性的方法及设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180365256A1 (en) * 2016-03-07 2018-12-20 Alibaba Group Holding Limited Service execution method and device
CN107767168A (zh) * 2017-09-19 2018-03-06 神策网络科技(北京)有限公司 用户行为数据处理方法及装置、电子设备和存储介质
CN108536569A (zh) * 2018-03-21 2018-09-14 阿里巴巴集团控股有限公司 一种业务行为跟踪方法、装置及设备
CN108536589A (zh) * 2018-03-26 2018-09-14 广州小鹏汽车科技有限公司 一种应用程序埋点方法及系统
CN109446069A (zh) * 2018-09-26 2019-03-08 平安普惠企业管理有限公司 兼容性测试方法、装置、计算机设备和介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115484189A (zh) * 2022-08-31 2022-12-16 未来电视有限公司 数据合规测试方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN110781061A (zh) 2020-02-11
CN110781061B (zh) 2022-11-25

Similar Documents

Publication Publication Date Title
WO2021051613A1 (zh) 一种记录用户行为链路的方法及装置
CA2851904C (en) System and method for incrementally replicating investigative analysis data
Lee et al. Loggc: garbage collecting audit log
US9467460B1 (en) Modularized database architecture using vertical partitioning for a state machine
CN108255647B (zh) 一种samba服务器集群下的高速数据备份方法
US9129058B2 (en) Application monitoring through continuous record and replay
US11232071B2 (en) Regressable differential data structures
US10031948B1 (en) Idempotence service
CN113326165B (zh) 基于区块链的数据处理方法、设备及计算机可读存储介质
Kälber et al. Forensic application-fingerprinting based on file system metadata
US8352442B2 (en) Determination of an updated data source from disparate data sources
KR20230034931A (ko) 암호 데이터 입력 블록체인 데이터 구조
CN107391112A (zh) 一种文件版本检测方法及其专用装置
Khan et al. Digital forensics and cyber forensics investigation: security challenges, limitations, open issues, and future direction
US20180075058A1 (en) Sensitive data management
CN108009427B (zh) 一种针对数据库漏洞规则的快速检索方法
CN113596019B (zh) 高性能网络流量数据表示和提取方法和系统
US20230334344A1 (en) Distributed ledger based machine-learning model management
CN113094400A (zh) 一种数据溯源方法、系统及装置
CN112926050B (zh) 基于hook技术获取ssh加密内容的方法及其应用
CN111460436B (zh) 一种基于区块链的非结构化数据操作方法和系统
CN105045728B (zh) 一种本地缓存方法
CN113254315A (zh) 埋点信息的上报方法、埋点方法、装置、介质、电子设备
CN115220956A (zh) 恢复数据的方法、电子设备和计算机程序产品
US10037155B2 (en) Preventing write amplification during frequent data updates

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19945766

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19945766

Country of ref document: EP

Kind code of ref document: A1