Method and device for generating backtracking video, computer equipment, storage medium and computer program product

By generating and associating record identifiers of native pages and web pages on the client side, the problem of incomplete video playback in multi-page scenarios is solved, and accurate recording and playback of interactive operations are achieved.

CN121644906APending Publication Date: 2026-03-10TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-29
Publication Date
2026-03-10

AI Technical Summary

Technical Problem

In client scenarios where multiple pages are used in combination, existing technologies cannot generate complete and accurate retrospective videos, resulting in incomplete and inaccurate behavior tracing.

Method used

By generating and associating record identifiers for native pages and web pages, the system records and reports interaction event data for native pages and web pages respectively, and generates target backtracking videos based on the record identifiers when a backtracking request is received.

Benefits of technology

It achieves complete and accurate recording of interactive operations in multi-page scenarios, ensuring the accuracy and completeness of backtracking.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121644906A_ABST
    Figure CN121644906A_ABST
Patent Text Reader

Abstract

The invention relates to a backtracking video generation method and device, computer equipment, a storage medium and a computer program product. The method comprises the following steps: in response to a trigger operation of a target object for a subprogram, generating and reporting a first record identifier matched with a native page of the subprogram under the condition that the subprogram starts a backtracking function; in response to a first interaction event triggered on the native page, generating and reporting native page record data of the native page; responding to a second interaction event triggered on the webpage linked with the subprogram, and generating and reporting webpage record data of the webpage; and under the condition that a backtracking request carrying the first record identifier is received, generating a target backtracking video for the target object based on the native page record data and the web page record data which are stored in association with the first record identifier. By adopting the method, the accuracy of backtracking video generation can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to a method, apparatus, computer device, storage medium, and computer program product for generating retrospective video. Background Technology

[0002] With the development of client-side applications in the internet finance sector, there is a growing demand for collecting and tracing user behavior. This involves generating traceable videos from user events and then using these videos for behavior tracing. Currently, the method for generating traceable videos involves first acquiring and storing user behavior data, and then retrieving the corresponding data to generate the video when behavior tracing is needed. However, in scenarios where multiple pages are used simultaneously on the client, data from different pages needs to be stored separately, resulting in incomplete and inaccurate descriptions of event behavior across multiple pages. Therefore, finding a more complete and accurate way to perform backtracking is a pressing issue that needs to be addressed. Summary of the Invention

[0003] Therefore, it is necessary to provide a more complete and accurate method, apparatus, computer equipment, storage medium, and computer program product for generating backtracking videos to address the aforementioned technical problems.

[0004] Firstly, this application provides a method for generating retrospective videos. The method includes:

[0005] In response to the target object's trigger operation on the subroutine, if the subroutine starts the backtracking function, generate and report the first record identifier that matches the subroutine's native page;

[0006] In response to the first interaction event triggered on the native page, generate and report native page record data of the native page so that the native page record data is associated with and stored with the first record identifier;

[0007] In response to a second interactive event triggered on a webpage linked by the subroutine, webpage record data is generated and reported to the webpage so that the webpage record data is associated with and stored with the first record identifier;

[0008] Upon receiving a backtracking request carrying a first record identifier, a target backtracking video for the target object is generated based on the native page record data and web page record data stored in association with the first record identifier.

[0009] Secondly, this application also provides a retrospective video generation apparatus. The apparatus includes:

[0010] The record identifier generation module is used to respond to the target object's trigger operation on the subroutine. When the subroutine starts the backtracking function, it generates and reports the first record identifier that matches the subroutine's native page.

[0011] The data reporting module is used to respond to the first interaction event triggered on the native page, generate and report the native page record data of the native page, so that the native page record data is associated with and stored with the first record identifier;

[0012] The data reporting module is also used to generate and report web page record data of the web page in response to the second interactive event triggered on the web page linked by the subroutine, so that the web page record data is associated with and stored with the first record identifier;

[0013] The backtracking video generation module is used to generate a target backtracking video for the target object based on the native page record data and web page record data stored in association with the first record identifier when a backtracking request carrying a first record identifier is received.

[0014] Thirdly, this application also provides a computer device. The computer device includes a memory and a processor, the memory storing a computer program, and the processor executing the computer program to perform the following steps:

[0015] In response to the target object's trigger operation on the subroutine, if the subroutine starts the backtracking function, generate and report the first record identifier that matches the subroutine's native page;

[0016] In response to the first interaction event triggered on the native page, generate and report native page record data of the native page so that the native page record data is associated with and stored with the first record identifier;

[0017] In response to a second interactive event triggered on a webpage linked by the subroutine, webpage record data is generated and reported to the webpage so that the webpage record data is associated with and stored with the first record identifier;

[0018] Upon receiving a backtracking request carrying a first record identifier, a target backtracking video for the target object is generated based on the native page record data and web page record data stored in association with the first record identifier.

[0019] Fourthly, this application also provides a computer-readable storage medium. The computer-readable storage medium stores a computer program thereon, which, when executed by a processor, performs the following steps:

[0020] In response to the target object's trigger operation on the subroutine, if the subroutine starts the backtracking function, generate and report the first record identifier that matches the subroutine's native page;

[0021] In response to the first interaction event triggered on the native page, generate and report native page record data of the native page so that the native page record data is associated with and stored with the first record identifier;

[0022] In response to a second interactive event triggered on a webpage linked by the subroutine, webpage record data is generated and reported to the webpage so that the webpage record data is associated with and stored with the first record identifier;

[0023] Upon receiving a backtracking request carrying a first record identifier, a target backtracking video for the target object is generated based on the native page record data and web page record data stored in association with the first record identifier.

[0024] Fifthly, this application also provides a computer program product. The computer program product includes a computer program that, when executed by a processor, performs the following steps:

[0025] In response to the target object's trigger operation on the subroutine, if the subroutine starts the backtracking function, generate and report the first record identifier that matches the subroutine's native page;

[0026] In response to the first interaction event triggered on the native page, generate and report native page record data of the native page so that the native page record data is associated with and stored with the first record identifier;

[0027] In response to a second interactive event triggered on a webpage linked by the subroutine, webpage record data is generated and reported to the webpage so that the webpage record data is associated with and stored with the first record identifier;

[0028] Upon receiving a backtracking request carrying a first record identifier, a target backtracking video for the target object is generated based on the native page record data and web page record data stored in association with the first record identifier.

[0029] The aforementioned method, apparatus, computer device, storage medium, and computer program product for generating retrospective videos, in response to a triggering operation by the target object on a subroutine, generate and report a first record identifier matching the native page of the subroutine when the retrospective function is activated in the subroutine. Responding to interactive events triggered on the native page of the subroutine and on web pages linked to by the subroutine, native page record data is generated and reported, ensuring that the native page record data and web page record data are associated and stored together. This guarantees that record data generated from interactive events triggered on different pages when the retrospective function is activated can be associated and stored through the first record identifier. Therefore, upon receiving a retrospective request carrying the first record identifier, a target retrospective video for the target object is generated based on the native page record data and web page record data associated and stored with the first record identifier. For interactive events triggered on different pages under a single launch of the backtracking function, they are associated and stored through a first record identifier. This first record identifier allows direct access to the native page record data and webpage record data generated and reported when interactive events are triggered on different pages. In other words, the native page record data and webpage record data enable data continuity between the native page and the webpage, preventing data breakage between different pages. Therefore, the target backtracking video generated from the native page record data and webpage record data can completely and accurately record the interactive operations under the launch of the backtracking function, thus ensuring the accuracy and completeness of the backtracking. Attached Figure Description

[0030] Figure 1 This is an application environment diagram of a method for generating retrospective videos in one embodiment;

[0031] Figure 2 This is a flowchart illustrating a method for generating backtracking video in one embodiment;

[0032] Figure 3 This is a schematic diagram of the native page of a subroutine in one embodiment;

[0033] Figure 4 This is a diagram showing the original page of a subroutine and a webpage in one embodiment;

[0034] Figure 5 This is a schematic diagram of the data reporting and storage process in one embodiment;

[0035] Figure 6 This is a schematic diagram illustrating the process of generating a target backtracking video for a target object in one embodiment;

[0036] Figure 7This is a schematic diagram of the process of generating retrospective video using a server in one embodiment;

[0037] Figure 8 This is a flowchart illustrating a method for generating backtracking video in another embodiment;

[0038] Figure 9 This is a flowchart illustrating the process of identifying the association between a page and an embodiment.

[0039] Figure 10 This is a schematic diagram illustrating the complete process of a method for generating backtracking video in one embodiment;

[0040] Figure 11 This is a structural block diagram of a retrospective video generation device in one embodiment;

[0041] Figure 12 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation

[0042] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0043] With the development of client-side applications in the internet finance sector, there is a growing need to collect and trace user behavior. This involves generating traceable videos from user events and then using these videos for behavior tracing. Currently, the method for generating traceable videos involves first acquiring and storing user behavior data, and then retrieving the corresponding data to generate a traceable video when behavior tracing is needed. However, in scenarios where multiple pages are used simultaneously on the client side, data from different pages needs to be stored separately. For example, for the native pages of a mini-program, user actions and page change events are collected, and the collected event data is then reconstructed into a visual video, enabling traceability for the native pages of the mini-program. However, for web pages linked from the mini-program, it's necessary to record the state changes of the web pages and use the recorded video as the traceable video for the web pages linked from the mini-program. Screen recording is resource-intensive and prone to problems such as lag. Therefore, in scenarios with multiple pages used simultaneously, the traceability data cannot fully and accurately describe the events and behaviors across multiple pages. Therefore, how to perform backtracking more completely and accurately is an urgent problem to be solved.

[0044] Based on this, embodiments of this application provide a method for generating backtracking videos that can perform backtracking more completely and accurately. The backtracking video generation method provided in embodiments of this application can be applied to, for example... Figure 1 In the application environment shown, terminal 102 communicates with server 104 via a network. A data storage system can store the data that server 104 needs to process. The data storage system can be integrated onto server 104, or it can be located in the cloud or on another server.

[0045] Specifically, taking terminal 102 as an example, in response to a trigger operation by the target object on a subroutine, when the subroutine activates the backtracking function, terminal 102 generates and reports a first record identifier matching the subroutine's native page. At this time, terminal 102 reports the first record identifier matching the subroutine's native page to server 104 through a communication connection. This causes server 104 to record the first record identifier obtained when the target object activates the backtracking function on the subroutine. Thus, in response to a first interactive event triggered on the subroutine's native page, terminal 102 generates native page record data for the native page and reports it to server 104 through a communication connection, so that server 104 associates and stores the native page record data with the first record identifier. Similarly, in response to a second interactive event triggered by a webpage linked to a subroutine, terminal 102 generates webpage record data for the webpage and reports the webpage record data to server 104 through a communication connection with server 104. At this time, server 104 also associates and stores the webpage record data with the first record identifier.

[0046] Based on this, when terminal 102 receives a backtracking request carrying a first record identifier, it can request record data associated with the first identifier from server 104 through the communication connection between terminal 102 and server 104. Server 104 obtains the native page record data and web page record data associated with the first record identifier and feeds them back to terminal 102. At this time, terminal 102 can generate a target backtracking video for the target object based on the native page record data and web page record data. Thus, for interactive events triggered on different pages under a single backtracking function activation, the first record identifier is used for associated storage. Therefore, the first record identifier can directly obtain the native page record data and web page record data generated and reported when interactive events are triggered on different pages. In other words, the native page record data and web page record data can achieve data connection between native pages and web pages, avoiding data breakage between different pages. Therefore, the target backtracking video for the target object generated by the native page record data and web page record data can completely and accurately record the interactive operations under the backtracking function activation, thereby ensuring the accuracy and completeness of the backtracking.

[0047] The terminal 102 can be, but is not limited to, various desktop computers, laptops, smartphones, tablets, IoT devices, and portable wearable devices. IoT devices can include smart speakers, smart TVs, smart air conditioners, and smart in-vehicle systems. Portable wearable devices can include smartwatches, smart bracelets, and head-mounted devices. The server 104 can be implemented using a standalone server or a server cluster consisting of multiple servers.

[0048] The backtracking video generation method provided in this application can be applied to various scenarios, including but not limited to behavioral backtracking scenarios in the financial field and problem backtracking scenarios in the computer field, which are used for behavioral monitoring and operation monitoring. For example, in a behavioral backtracking scenario in the financial field, if a target object performs financial interaction operations in a subprogram within the financial field, but suffers financial losses or encounters financial problems after completing the operation, then the backtracking video generation method provided in this application can backtrack the financial interaction operations of the target object, analyze each interaction operation, determine the operation that caused the aforementioned financial problems, and thus protect the target object's financial rights. Secondly, in a problem backtracking scenario in the computer field, if a target object encounters program problems such as errors or crashes while performing corresponding computer operations, such as program testing, the backtracking video generation method provided in this application can backtrack the corresponding computer operations of the target object, determine the operation that caused the aforementioned program problems, and ensure the reliability of program testing.

[0049] The following examples illustrate this in detail: In one example, as... Figure 2 As shown, a method for generating retrospective videos is provided, which can be applied to... Figure 1 Taking terminal 102 as an example, it can be understood that this method can also be applied to a system including terminal 102 and server 104, and implemented through the interaction between terminal 102 and server 104. In this embodiment, the method includes the following steps:

[0050] Step 202: In response to the target object's trigger operation on the subroutine, if the subroutine starts the backtracking function, generate and report the first record identifier that matches the subroutine's native page.

[0051] In this context, a subroutine is an application used within the main program. The main program can be a multimedia playback application, a financial application, or other applications that perform the main functions. The main program is downloaded and installed on the terminal device, while the subroutine does not require downloading or installation; it is an application that can be used within the main program without needing to be downloaded and installed. The functions performed by the subroutine can be the same as or different from the main program's main functions; there is no limitation here. In practical applications, a subroutine is specifically a mini-program, which is an application within the main program. External code runs the required functions within the main program through the form of a mini-program. Therefore, a mini-program can be considered a website that can only be opened and viewed using the main program. The technical model of a mini-program is the same as that of a webpage, meaning that mini-programs and webpages use the same JavaScript language and CSS styles. The difference between a mini-program and a webpage is that a mini-program does not support browsers. Therefore, the browser's Application Programming Interface (API) cannot be used on a mini-program; only the API provided by the main program can be used. Therefore, a mini-program can only be opened using the main program.

[0052] Secondly, the backtracking function is used to backtrack notifications, operations, and related information of subroutines. In other words, the backtracking function can be used to retrieve missed notifications, view operational behaviors, and view related information. This embodiment describes video generation for backtracking operational behaviors using the backtracking function. Based on this, the target object is the user of the subroutines within the main program, or the user of the terminal device on which the main program of the subroutines is installed. Based on this, the first record identifier matches the subroutines' native page. Since the subroutines' subroutines' pages are the subroutines' native pages, any triggered operation on the subroutines must be performed on the subroutines' native pages. That is, when the target object activates the backtracking function for a subroutines, the first record identifier is generated specifically for the native page of the subroutines activated by this backtracking function. Since in practical applications, accessing a subroutines constitutes a session, the first record identifier matching the subroutines' native pages (i.e., the subroutines' subroutines' pages) constitutes a native page session. Therefore, the first record identifier matching the subroutines' native pages can specifically be the session identifier (SessionID) for the native page session.

[0053] Specifically, if the target object needs to execute the target function directly within the main program without switching applications while using the main program, the target object can trigger an operation on the subroutine providing the target function. This triggering operation can be a click, swipe, voice selection, etc., and is not limited here. Furthermore, in practical applications, the main program typically contains multiple available subroutines; that is, the main program page can display multiple available subroutines. When the target object triggers an operation on the subroutine providing the target function, the triggered available subroutine is the one that initiates the backtracking function in this embodiment. At this time, the terminal will jump to and display the subroutine's subroutine page, which is the subroutine's native page.

[0054] To facilitate understanding of subroutines, main programs, and triggering operations, let's take a click operation as an example. Figure 3 As shown, Figure 3 The diagram in Figure (A) shows multiple available subroutines 304 displayed on the main program page 302 of the main program. If the target object clicks on an available subroutine 306 among the multiple available subroutines 304, then it can be determined that the available subroutine 306 is the mini-program that was triggered, and the terminal will jump to display the subroutine's subroutine page, i.e. Figure 3 The diagram in (B) shows the original page of the subroutine.

[0055] Based on this, when a subroutine initiates the backtracking function, the terminal generates and reports a first record identifier that matches the subroutine's native page. The aforementioned backtracking function can be initiated automatically, meaning it's activated by default after a pre-defined subroutine is executed; alternatively, it can be initiated by the target object, such as through a selection operation on the backtracking function's toggle control. Next, the terminal specifically generates a first record identifier that matches the subroutine's native page and reports it to a server with which it has a communication connection. The server then stores this first record identifier. For example, if the terminal generates a first record identifier "session1" that matches the subroutine's native page, the terminal will also report the generated first record identifier "session1" to the server, which then stores the first record identifier "session1".

[0056] Furthermore, as can be seen from the foregoing embodiments, the subroutine page displayed after jumping to the subroutine is the native page described in this embodiment. The native page of the subroutine and the web page linked to the subroutine will be described below. Firstly, a mini-program containing both a native page and a web page necessarily includes a web page. That is, the native page is the subroutine page displayed after directly jumping to the subroutine, while the web page is linked to the subroutine, and the native page of the subroutine can also display an inbound control for the web page. In other words, when the subroutine accessed by the target object does not link to a web page, regardless of how many jumps are made within the native page of the subroutine, it will always result in one native session within the native page. However, if the subroutine accessed by the target object links to at least one web page, when the native page of the subroutine jumps to the linked web page, a web session corresponding to the web page will be generated. Therefore, it can be seen that the native page belongs to the subroutine, while the web page is the page linked to the subroutine. For ease of understanding, as follows... Figure 4 As shown, Figure 4 The diagram in Figure (A) shows the native page of a subroutine, which displays the functional information provided by the subroutine. When the subroutine needs external information to perform a function, it needs to link to a webpage. For example, if executing a function on the native page requires signing a contract or a strategy, a third-party organization is usually needed to ensure the reliability of the contract or strategy. In this case, a link to a webpage provided by the third party can be used to sign and execute the contract or strategy, as shown in Figure (A). Figure 4 The webpage of the subroutine shown in Figure (B) is shown in the diagram.

[0057] Based on the foregoing introduction to the native page and web page of the subroutine, it is clear that since the subroutine is an application that can be used in the main program without downloading or installing it, and can only use the API provided by the main program, linking to the web page requires linking to the web page's API for display. In other words, the interface display and operation methods of the native page and the web page are different. To ensure that the data information obtained from operations between the native page and the web page can be associated with each other and stored with the first record identifier after triggering interaction events on both pages, this achieves data connection between the native page and the web page. This will be explained in detail below:

[0058] Step 204: In response to the first interaction event triggered on the native page, generate and report native page record data of the native page so that the native page record data is associated with and stored with the first record identifier.

[0059] The first interaction event can be any of the following: a first object click event, a first scroll event, or a first page change event. The first page change event describes a change in the state of the native page. This change can be caused by an interaction with the target object, an automatic detection of a preset operation by the native page, or a page change caused by an error or crash on the native page; no specific limitation is made here. Secondly, the first object click event is a click operation performed by the target object on any area of ​​the native page, while the first scroll event is a scroll operation performed by the target object on any area of ​​the native page. It is understood that in practical applications, if the terminal device supports functions such as voice input, the first interaction event can also include voice interaction events performed by the target object on the native page.

[0060] As explained, the first interaction event can be any of several different interaction methods, and the native page records data only for a single first interaction event. Therefore, the native page records data generated for different first interaction events will also differ. Specifically, the native page records data can be any of the following: click data matching the first object click event, scroll data matching the first scroll event, and first page change data matching the first page change event. In other words, when the first interaction event is a first object click event, the native page records the click data matching the first object click event, which is the data generated when the target object clicks on any area of ​​the native page. Similarly, when the first interaction event is a first scroll event, the native page records the scroll data matching the first scroll event, which is the data generated when the target object scrolls on any area of ​​the native page. And when the first interaction event is a first page change event, the native page records the first page change data matching the first page change event, which is the data generated after the page state of the native page changes. As can be seen from the foregoing, the first interaction event can also include voice interaction events performed by the target object on the native page. Therefore, the data recorded by the native page can also be voice interaction data matched with the voice interaction event, that is, the relevant data generated when the target object performs voice interaction operations on any area of ​​the native page.

[0061] Specifically, the target object can perform interactive operations on the native page of the subroutine to trigger the first interactive event, or the subroutine can automatically detect the first interactive event triggered on the native page. At this time, the terminal can respond to the first interactive event triggered on the native page of the subroutine, generate and report the native page record data of the native page. That is, when the terminal detects any one of the interactive events, such as the first object click event, the first scroll event, the first page change event, and the voice interaction event, it responds to the first interactive event and generates the native page record data corresponding to the first interactive event.

[0062] Therefore, native page record data refers to the record data generated when a native page triggers a first interaction event. In other words, if a native page triggers multiple first interaction events, multiple native page record data can be generated. For example, if a change in the page state of a native page triggers a first page change event, it can be determined that a first interaction event A1 has been triggered, and native page record data B1 for first interaction event A1 can be generated. Similarly, if a target object clicks on any area of ​​the native page, triggering a first object click event, it can be determined that a first interaction event A2 has been triggered, and native page record data B2 for first interaction event A2 can be generated.

[0063] Furthermore, after the terminal generates native page record data, it uploads the native page record data to the server, so that the server can associate and store the native page record data with the first record identifier. In other words, after receiving the native page record data reported by the terminal, the server associates and stores the native page record data with the first record identifier. Specifically, the data-identifier association involves establishing a mapping relationship between data and identifiers, that is, establishing a mapping relationship between native page record data and the first record identifier. It can be understood that the server can associate and store the native page record data with the first record identifier in local storage, or it can associate and store the native page record data with the first record identifier in a data storage system that has a communication connection with the server; this is not limited here.

[0064] For example, taking the example of the terminal in the aforementioned embodiment reporting the generated first record identifier "session1" to the server, that is, the server storing the first record identifier "session1", then after the terminal reports the native page record data B1 to the server, the server will associate the native page record data B1 with the first record identifier "session1" for storage. Similarly, after the terminal reports the native page record data B2 to the server, the server will associate the native page record data B2 with the first record identifier "session1" for storage.

[0065] The following section details how the server associates and stores native page record data with the first record identifier. When the terminal generates native page record data in response to the first interaction event triggered on the native page, it includes a first record identifier matching the native page. Therefore, upon receiving the native page record data, the server extracts the first record identifier and associates it with the native page record data for storage. Thus, page record data generated on any page carries a record identifier matching that page. Furthermore, as previously explained, this record identifier can be a session ID, meaning each page has a corresponding page session. Therefore, page record data generated on any page carries a session identifier matching the page session.

[0066] Step 206: In response to the second interactive event triggered on the web page linked by the subroutine, generate and report web page record data of the web page so that the web page record data is associated with and stored with the first record identifier.

[0067] The second interaction event can be any of the following: a second object click event, a second scroll event, or a second page change event. The second page change event describes a change in the page state of the webpage. This change can be caused by an interactive operation performed by the target object, an automatic detection of a preset operation by the webpage, or a page error or crash; no specific limitation is made here. Furthermore, the second object click event is when the target object clicks on any area of ​​the webpage, and the second scroll event is when the target object scrolls on any area of ​​the webpage. It is understood that in practical applications, if the terminal device supports voice input, the second interaction event can also include voice interaction events performed by the target object on the webpage.

[0068] As explained, a second interaction event can be any of several different interaction methods. The data recorded on a webpage is the data generated from a single second interaction event; therefore, the webpage data generated for different second interaction events will also differ. Specifically, the webpage data recorded can be any of the following: click data matching a second object click event, scroll data matching a second scroll event, or second page change data matching a second page change event. In other words, when the second interaction event is a second object click event, the webpage data recorded is the click data matching that event, which is the data generated when the target object clicks on any area of ​​the webpage. The webpage data recorded is similar to the native page data recorded, and will not be elaborated further here.

[0069] Specifically, the target object can perform interactive operations on the web page of the subroutine to trigger the second interactive event, or the subroutine can automatically detect the second interactive event triggered on the web page. At this time, the terminal can respond to the second interactive event triggered on the web page of the subroutine, generate and report the web page record data of the web page. That is, when the terminal detects any one of the interactive events of the second object click event, the second scroll event, the second page change event and the voice interaction event, it responds to the second interactive event triggered on the web page and generates the web page record data corresponding to the second interactive event.

[0070] Furthermore, after the terminal generates webpage record data, it uploads the webpage record data to the server. Upon receiving the webpage record data, the server associates and stores the webpage record data with a first record identifier. Specifically, this data-identifier association storage involves establishing a mapping relationship between data and identifiers, that is, establishing a mapping relationship between webpage record data and the first record identifier. Therefore, in this solution, the first record identifier can establish mapping relationships with multiple native page record data sets, as well as multiple webpage record data sets. Furthermore, native page record data and webpage record data mapped to the same first record identifier are all record data generated by the same subroutine triggering an interaction event under the same backtracking function. It is understandable that the server can associate and store webpage record data with the first record identifier in local storage, or it can associate and store webpage record data with the first record identifier in a data storage system with a communication connection to the server; this is not limited here.

[0071] Therefore, webpage record data refers to the data generated when a webpage triggers a second interaction event. In other words, if a webpage triggers multiple second interaction events, multiple webpage record data can be generated. For example, if a change in the webpage's state triggers a second page change event, it can be determined that a second interaction event C1 has been triggered, and webpage record data D1 for second interaction event C1 can be generated. Similarly, if a target object clicks on any area of ​​the webpage, triggering a second object click event, it can be determined that a second interaction event C2 has been triggered, and webpage record data D2 for second interaction event C2 can be generated.

[0072] To facilitate understanding, through Figure 5 A detailed introduction to the data reporting and storage process. Figure 5As shown, after the first interaction event is triggered on the native page of subroutine 502, native page record data is generated and reported to server 504 through subroutine 502. At this time, server 504 associates and stores the native page record data with the first record identifier. Similarly, if the target object jumps from the native page of subroutine 502 to the web page 506 of the subroutine, after the second interaction event is triggered on web page 506, web page record data is generated for web page 506 and reported to server 504 through web page 506. At this time, server 504 associates and stores the web page record data with the first record identifier.

[0073] As described above, since a subroutine is an application that can be used in the main program without downloading or installing it, and can only use the APIs provided by the main program, when linking to a webpage, it needs to link to the webpage's API to display the webpage. In other words, when linking to a webpage, it requires a jump from the subroutine to the webpage for display, followed by displaying the webpage and event detection. This is described in detail below: In a specific embodiment, in response to a second interaction event triggered on the webpage linked by the subroutine, webpage record data is generated and reported, including: in response to a webpage jump operation triggered in the subroutine, jumping to the webpage linked by the subroutine; and in response to a second interaction event detected on the webpage, generating and reporting webpage record data matching the second interaction event of the webpage.

[0074] The webpage redirection operation is used to navigate to a webpage. This operation can be a click, swipe, voice selection, etc., and is not limited here. Specifically, in response to a webpage redirection operation triggered by a subroutine, the terminal navigates to the webpage linked by the subroutine. As mentioned earlier, the subroutine page displayed by the subroutine is its native page. In other words, the target object triggers the webpage redirection operation on the subroutine's native page, causing the terminal to switch from displaying the subroutine's native page to displaying the webpage linked by the subroutine. The specific display method is as follows: Figure 4 As shown, this will not be repeated here. Based on this, in a similar manner to that described in the foregoing embodiments, in response to a second interaction event detected on the webpage, webpage record data matching the second interaction event on the webpage is generated and reported, which will not be repeated here.

[0075] Since the API for linking web pages is required to display the web page when linking to a web page, the following will describe in detail how to jump to the web page linked by the subroutine. In a specific embodiment, in response to a web page jump event triggered in the subroutine, jumping to the web page linked by the subroutine includes: in response to a web page jump event triggered in the subroutine, loading the web page linked by the subroutine through a web page access component; and after the web page is loaded, jumping to the web page.

[0076] Specifically, the webpage access component is a web-view component, which is a web browser component and a container for hosting webpages. In particular, in response to a webpage redirection operation triggered by the target object's native page in the subroutine, the terminal loads the webpage linked to the subroutine through the webpage access component, and after loading the webpage through the webpage access component, redirects to and displays the webpage linked to the subroutine.

[0077] Step 208: Upon receiving a backtracking request carrying a first record identifier, generate a target backtracking video for the target object based on the native page record data and web page record data stored in association with the first record identifier.

[0078] The backtracking request is used to request a backtracking of operations performed when the backtracking function is activated. Therefore, the target backtracking video includes operations performed on the target object when the backtracking function is activated. Specifically, when it is necessary to backtrack all operations performed when the backtracking function is activated, the session to be backtracked is first selected, and then a backtracking request is generated based on the record identifier matching the selected session. For example, if the first record identifier matching the native page of the selected subroutine is "session1", then the generated backtracking request will carry the first record identifier "session1".

[0079] Furthermore, the terminal receives and responds to the backtracking request carrying the first record identifier. At this point, the terminal needs to extract the first record identifier from the backtracking request, then generate a data request carrying the first record identifier, and send the data request carrying the first record identifier to the server. Since the server associates and stores the native page record data with the first record identifier and the web page record data with the first record identifier in the aforementioned steps, the server, upon receiving the data request carrying the first record identifier and extracting the first record identifier from the data request, can obtain the native page record data and the web page record data associated with the first record identifier.

[0080] As described above, the server can associate record data with record identifiers and store them in local storage, or it can also associate and store them in a data storage system that has a communication connection with the server. Therefore, the server can retrieve the native page record data and web page record data associated with the first record identifier from local storage. Alternatively, it can retrieve the native page record data and web page record data associated with the first record identifier from the data storage system; no specific limitation is made here.

[0081] Therefore, after the server obtains the native page record data and web page record data associated with the first record identifier, it sends the native page record data and web page record data back to the terminal. At this time, the terminal receives the native page record data and web page record data sent back by the server, and generates a target backtracking video for the target object through the backtracking engine based on the native page record data and web page record data.

[0082] Since this solution generates videos from two types of recorded data—native page data and webpage data—which have different sources, it is necessary to generate backtracking videos separately for each type of recorded data. This is described in detail below: In one specific embodiment, based on the native page data and webpage data stored in association with the first record identifier, a target backtracking video for the target object is generated. This includes: rendering the native page data stored in association with the first record identifier using a native backtracking engine to obtain a native page backtracking video for the first interaction event of the target object; rendering the webpage data stored in association with the first record identifier using a webpage backtracking engine to obtain a webpage backtracking video for the second interaction event of the target object; and generating a target backtracking video for the target object based on the native page backtracking video and the webpage backtracking video.

[0083] Both the native backtracking engine and the webpage backtracking engine belong to the intelligent playback engine. Switching rendering modes within the intelligent playback engine is based on data type. Native page recorded data belongs to native data types, while webpage recorded data belongs to webpage data types. In other words, the native backtracking engine renders recorded data generated from operations performed on the native page (i.e., native page recorded data), while the webpage backtracking engine renders recorded data generated from operations performed on the webpage (i.e., webpage recorded data). Therefore, the native page backtracking video rendered by the native backtracking engine includes the operations performed on the native page when the backtracking function is initiated for the target object; specifically, the native page backtracking video is the backtracking video of the target object's first interaction event on the native page. Similarly, the webpage backtracking video rendered by the webpage backtracking engine includes the operations performed on the webpage when the backtracking function is initiated for the target object; specifically, the native page backtracking video is the backtracking video of the target object's second interaction event on the webpage.

[0084] Specifically, as described above, the terminal receives native page recording data and webpage recording data from the server. Then, the terminal renders each native page recording data using a native backtracking engine, thereby obtaining the native page backtracking video corresponding to the first interaction event of the target object for each native page recording data. Similarly, the terminal renders each webpage recording data using a webpage backtracking engine, thereby obtaining the webpage backtracking video corresponding to the second interaction event of the target object for each webpage recording data. Since different backtracking engines are used to render different types of page recording data, the engine selection and rendering for different data types will be described below:

[0085] In one specific embodiment, the native page record data belongs to the native data type, and the native backtracking engine is used to render the record data generated by operations on the native page (i.e., native page record data). Therefore, the native backtracking engine matches the native data type.

[0086] Based on this, the native page record data associated with the first record identifier is stored and rendered using the native backtracking engine to obtain the native page backtracking video for the first interaction event of the target object. This includes: selecting a native backtracking engine that matches the native page record data from the intelligent playback engine; and rendering the native page record data using the native backtracking engine to obtain the native page backtracking video for the first interaction event of the target object.

[0087] Specifically, since native page record data is a native data type, after receiving the native page record data associated with the first record identifier from the server, the terminal selects a native backtracking engine that matches the native page record data from the intelligent playback engine. Then, it renders the native page record data using the native backtracking engine to obtain the native page backtracking video for the first interaction event of the target object. For ease of understanding, taking the aforementioned example, if native page record data B1 is generated for the first interaction event A1, and native page record data B2 is generated for the first interaction event A2, and both native page record data B1 and native page record data B2 are associated with the first record identifier "session1", then the terminal can obtain native page record data B1 and native page record data B2 associated with the first record identifier "session1". At this time, the terminal renders native page record data B1 and native page record data B2 using the native backtracking engine to obtain the native page backtracking video E1 corresponding to native page record data B1 and the native page backtracking video E2 corresponding to native page record data B2.

[0088] In one specific embodiment, the web page record data belongs to the web page data type, and the web page backtracking engine is used to render the record data generated by operations on the web page (i.e., web page record data). Therefore, the web page backtracking engine matches the web page data type.

[0089] Based on this, the webpage record data associated with the first record identifier is used to render the webpage backtracking video for the second interaction event of the target object, including: selecting a webpage backtracking engine that matches the webpage data type from the intelligent playback engine; and rendering the webpage record data using the webpage backtracking engine to obtain the webpage backtracking video for the second interaction event of the target object.

[0090] Specifically, since webpage record data belongs to the webpage data type, after receiving the webpage record data associated with the first record identifier from the server, the terminal selects a webpage backtracking engine that matches the webpage record data from the intelligent playback engine. Then, it renders the webpage record data through the webpage backtracking engine to obtain the webpage backtracking video for the second interaction event targeting the target object. For ease of understanding, taking the aforementioned example, if webpage record data D1 generates the second interaction event C1, and webpage record data D2 generates the second interaction event C2, and both webpage record data D1 and webpage record data D2 are associated with the first record identifier "session1", then the terminal can obtain the webpage record data D1 and webpage record data D2 associated with the first record identifier "session1". At this time, the terminal renders the webpage record data D1 and webpage record data D2 through the webpage backtracking engine to obtain the webpage backtracking video F1 corresponding to webpage record data D1 and the webpage backtracking video F2 corresponding to webpage record data D2.

[0091] The above describes the methods for selecting and rendering different data types of engines to obtain backtracking videos corresponding to different pages. After generating backtracking videos for different pages, the terminal needs to generate backtracking videos corresponding to the operations performed by the backtracking function initiated for the target object. Therefore, the terminal generates a target backtracking video for the target object based on the native page backtracking video and the webpage backtracking video. That is, the terminal splices the native page backtracking video of the first interaction event for the target object with the webpage backtracking video of the second interaction event for the target object to obtain the target backtracking video for the target object. Taking the previous example as an illustration, the target backtracking video includes native page backtracking video E1, native page backtracking video E2, webpage backtracking video F1, and webpage backtracking video F2.

[0092] It is understood that the corresponding examples in the embodiments of this application are used to understand this solution, but should not be construed as specific limitations on this solution.

[0093] In the aforementioned method for generating retrospective videos, by responding to interactive events triggered on the native page of the subroutine and on the web page linked by the subroutine, native page record data is generated and reported. This allows the native page record data to be associated with and stored as a first record identifier, and the web page record data to be associated with and stored as a first record identifier. This ensures that, when the retrospective function is activated, the record data generated by interactive events triggered on different pages can be associated with and stored through the first record identifier. Thus, upon receiving a retrospective request carrying the first record identifier, a target retrospective video for the target object is generated based on the native page record data and the web page record data associated with the first record identifier. For interactive events triggered on different pages under a single launch of the backtracking function, they are associated and stored through a first record identifier. This first record identifier allows direct access to the native page record data and webpage record data generated and reported when interactive events are triggered on different pages. In other words, the native page record data and webpage record data enable data continuity between the native page and the webpage, preventing data breakage between different pages. Therefore, the target backtracking video generated from the native page record data and webpage record data can completely and accurately record the interactive operations under the launch of the backtracking function, thus ensuring the accuracy and completeness of the backtracking.

[0094] Since the backtracking function initiated by the target object can involve multiple operations, and the order of these operations may vary across different pages, the timestamp order of each data generation operation should be considered during the backtracking video generation process to ensure the accuracy and continuity of the order of operations in the video. This is described in detail below: In one embodiment, such as... Figure 6 As shown, based on the native page record data and web page record data stored in association with the first record identifier, a target backtracking video for the target object is generated, including:

[0095] Step 602: Extract the native record timestamps of each native page record data stored in association with the first record identifier, and the web page record timestamps of each web page record data stored in association with the first record identifier.

[0096] The timestamp describes the time period during which page data was collected. Therefore, a timestamp includes a start timestamp and an end timestamp, meaning the time period from the start timestamp to the end timestamp is the period between the start and end timestamps. Thus, the native timestamp describes the time period during which native page data was collected, and the webpage timestamp describes the time period during which webpage data was collected. Based on this, after collecting data from any page, the page data will inevitably contain the time period during which it was collected (i.e., the timestamp). In other words, native page data carries the native timestamp, and webpage data carries the webpage timestamp.

[0097] Specifically, as described in the foregoing embodiments, the terminal receives native page record data and webpage record data from the server. At this time, the terminal can extract the native record timestamp from the information carried in the native page record data, and extract the webpage record timestamp from the information carried in the webpage record data. For example, native page record data B1 carries a native record timestamp G1, native page record data B2 carries a native record timestamp G2, while webpage record data D1 carries a webpage record timestamp H1, and webpage record data D2 carries a webpage record timestamp H2.

[0098] Step 604: Based on the timestamps of each native record and each webpage record, sort the data of each native page record and each webpage record to obtain the sorted page record data.

[0099] Since timestamps are used to describe the time period during which page data was collected, there must be a timestamp order among them. For example, native timestamp G1 describes 12:00:00 to 12:00:30, native timestamp G2 describes 12:01:00 to 12:01:30, webpage timestamp H1 describes 12:00:31 to 12:00:59, and webpage timestamp H2 describes 12:01:31 to 12:02:00. Therefore, the timestamp order among these timestamps is: native timestamp G1 to webpage timestamp H1, then native timestamp G2 to webpage timestamp H2.

[0100] Specifically, the terminal sorts the native page record data and the webpage record data corresponding to each record timestamp based on the timestamp order between the native record timestamps and the webpage record timestamps. This data sorting is performed from front to back to ensure that the operations retraced in the video are sequential and reliable. Therefore, the sorted page record data includes both sorted native page record data and sorted webpage record data.

[0101] For example, referring to the previous example again, the native record timestamp G1 corresponds to native page record data B1, the native record timestamp G2 corresponds to native page record data B2, the webpage record timestamp H1 corresponds to webpage record data D1, and the webpage record timestamp H2 corresponds to webpage record data D2. The timestamp order between the record timestamps is from native record timestamp G1 to webpage record timestamp H1, and from native record timestamp G2 to webpage record timestamp H2. Therefore, the page record data obtained sequentially is: native page record data B1, webpage record data D1, native page record data B2, and webpage record data D1. Therefore, the specifically ordered page record data is: native page record data B1, webpage record data D1, native page record data B2, and webpage record data D1.

[0102] Step 606: Based on the sorted page record data, generate a target backtracking video for the target object.

[0103] Specifically, the terminal generates a target backtracking video for the target object based on the sorted page record data. Since the sorted page record data includes sorted native page record data and sorted web page record data, the terminal still renders the sorted native page record data through the native backtracking engine and the sorted web page record data through the web page backtracking engine, as described in the previous embodiments. The backtracking videos obtained from the rendering are then stitched together to obtain the target backtracking video for the target object. The rendering method is similar to that in the previous embodiments and will not be repeated here.

[0104] Considering that in practical applications, the sorted native page record data and the sorted web page record data are rendered separately, and the backtracking videos are generated separately, in order to ensure the reliability of the final target backtracking video order, the video splicing also needs to consider the sequential splicing order. This is described in detail below: In a specific embodiment, generating a target backtracking video for a target object based on the sorted page record data includes: generating native page backtracking videos for the target object using each sorted native page record data; generating web page backtracking videos for the target object using each sorted web page record data; and sequentially splicing each native page backtracking video and each web page backtracking video according to the data arrangement order of the sorted page record data to obtain the target backtracking video for the target object.

[0105] The data arrangement order is the timestamp order between the recorded timestamps. Specifically, the terminal generates native page backtracking videos for the target object based on the sorted native page recorded data. That is, the terminal renders the sorted native page recorded data sequentially using the native backtracking engine to generate a native page backtracking video for the target object corresponding to each native page recorded data. Similarly, the terminal renders the sorted webpage recorded data sequentially using the webpage backtracking engine to generate a webpage backtracking video for the target object corresponding to each webpage recorded data. For example, using the previous example again, the sorted page recorded data specifically includes native page recorded data B1, webpage recorded data D1, native page recorded data B2, and webpage recorded data D2. Rendering the aforementioned sorted page recorded data yields: native page backtracking video E1 corresponding to native page recorded data B1, native page backtracking video E2 corresponding to native page recorded data B2, webpage backtracking video F1 corresponding to webpage recorded data D1, and webpage backtracking video F2 corresponding to webpage recorded data D2.

[0106] Furthermore, the terminal, following the data arrangement order of the sorted page record data, sequentially stitches together the native page backtracking videos and the webpage backtracking videos to obtain a target backtracking video for the target object. Specifically, the terminal stitches together the page backtracking videos generated from the page record data according to the timestamp order between the recorded timestamps, thus obtaining a target backtracking video for the target object that can be played in timestamp order. For example, using the aforementioned example again, rendering yields: native page backtracking video E1, native page backtracking video E2, webpage backtracking video F1, and webpage backtracking video F2. Following the timestamp order of the aforementioned example (native record timestamp G1 to webpage record timestamp H1, then native record timestamp G2 to webpage record timestamp H2), after sequentially stitching together the aforementioned page backtracking videos, the resulting target backtracking video is: a video obtained by sequentially stitching together native page backtracking video E1, webpage backtracking video F1, native page backtracking video E2, and webpage backtracking video F2.

[0107] To facilitate understanding, the following will be explained... Figure 7 This section details the method of generating retrospective videos using a server. Figure 7As shown, the terminal requests backtracking from the server via a subroutine. At this point, it needs to send a first record identifier to the server. The server retrieves page record data based on the first record identifier, obtaining the native page record data and webpage page record data associated with the first record identifier. Then, based on the timestamps of each native record and each webpage record, it sorts the native page record data and each webpage page record data to obtain sorted page record data. Based on this, the server renders the sorted native page record data using a native backtracking engine to generate a native page backtracking video for the target object. Similarly, it renders the sorted webpage page record data using a webpage backtracking engine to generate a webpage backtracking video for the target object. The server then stitches the native page backtracking videos and the webpage backtracking videos sequentially according to their timestamps to obtain the target backtracking video for the target object, and then sends the target backtracking video back to the subroutine.

[0108] It is understood that the corresponding examples in the embodiments of this application are used to understand this solution, but should not be construed as specific limitations on this solution.

[0109] In this embodiment, since the operation performed by the target object initiating the backtracking function can be multiple operations, the timestamp order of the operations recorded by each data generation should be considered during the backtracking video generation process. The page recorded data should be sorted to ensure that the data order conforms to the actual operation order, so as to ensure that the order between each operation in the video is accurate and continuous. Since there may also be an operation order between different pages, after generating page backtracking videos for different page data, multiple page backtracking videos are spliced ​​sequentially according to the timestamp order to further ensure that the operation backtracking between different pages conforms to the actual operation order, and further ensure the reliability and reliability of the backtracking.

[0110] As can be seen from the foregoing embodiments, each session has a corresponding session identifier (i.e., record identifier). The following describes how to associate and store webpage record data with a first record identifier that does not correspond to the webpage. In one embodiment, such as... Figure 8 As shown, the methods for generating retrospective videos also include:

[0111] Step 802: In response to a webpage redirection event triggered in the subroutine, load the webpage linked to the subroutine through the webpage access component; after the webpage is loaded, redirect to the webpage; when loading the webpage, add the first record identifier to the resource location parameters.

[0112] The resource location parameter is a Uniform Resource Locator (URL) parameter. Secondly, the webpage access component is specifically a web-view component, which is a web browser component and a container for hosting webpages. Specifically, in response to a webpage redirection triggered by the target object's native page in the subroutine, the terminal loads the webpage linked to the subroutine through the webpage access component. After loading the webpage through the webpage access component, the terminal redirects to and displays the webpage linked to the subroutine. Furthermore, when loading the webpage, the terminal adds a first record identifier to the resource location parameter and transmits the resource location parameter to the webpage. For example, if the first record identifier is "session1", then adding the first record identifier to the resource location parameter and transmitting the resource location parameter to the webpage would be: https: / / example.com / policy?sessionId=session1.

[0113] Step 804: After the webpage is loaded, obtain the first record identifier from the resource location parameters and generate the second record identifier for the webpage.

[0114] Specifically, after the terminal completes loading the webpage, a first record identifier is extracted from the resource location parameters transmitted to the webpage, and a second record identifier matching the webpage is generated. As described above, jumping to the webpage constitutes a session relative to the native page session; that is, the webpage for the subroutine constitutes a webpage session. The second record identifier matching the webpage for the subroutine can specifically be a session identifier (Session ID) for the second page session. For example, the second record identifier matching the webpage might be "session2".

[0115] Step 806: Activate the webpage backtracking tool to record and report the association between the first record identifier and the second record identifier.

[0116] The webpage traceability tool is a webpage traceability software development kit (SDK). Specifically, since the process of collecting and recording interactive events triggered by webpages—that is, generating webpage record data—is based on the webpage traceability SDK, the terminal starts the webpage traceability tool to ensure timely webpage traceability. Then, the terminal creates an association between a first record identifier and a second record identifier and reports this association to the server. Based on this, the server can store the association between the first and second record identifiers using the information reported by the terminal. For example, if the first record identifier is "session1" and the second record identifier is "session2", the terminal will report the association between the first record identifier "session1" and the second record identifier "session2" to the server.

[0117] Based on this, in response to a second interactive event triggered on a webpage linked by the subroutine, webpage record data is generated and reported to the webpage, so that the webpage record data is associated with and stored with the first record identifier, including:

[0118] Step 808: In response to the second interactive event triggered on the webpage, generate and report webpage record data of the webpage through the webpage traceability tool, so that the webpage record data is associated with and stored with the first record identifier through the identification association relationship.

[0119] Specifically, the terminal responds to the second interaction event triggered on the webpage in the manner described in the foregoing embodiments, and specifically generates webpage record data of the webpage through a webpage traceability tool (i.e., a webpage traceability SDK), and reports the webpage record data of the webpage to the server, so that the server associates and stores the webpage record data with the first record identifier through an identification association relationship. The following will describe in detail how the server performs the association storage:

[0120] In one specific embodiment, the method of storing web page record data associated with a first record identifier by means of an identifier association relationship includes: extracting a second record identifier carried in the web page record data, determining a first record identifier that has an identifier association relationship with the second record identifier; and storing the web page record data carrying the second record identifier in association with the first record identifier.

[0121] Specifically, when a terminal reports webpage record data to the server via a webpage, the webpage record data carries a second record identifier that matches the webpage. Therefore, after receiving the webpage record data, the server first extracts the second record identifier carried in the webpage record data, and then determines whether there is a record identifier that has an identifier association relationship with the second record identifier. If not, it means that the page record data is stored separately. If it exists, that is, it determines the first record identifier that has an identifier association relationship with the second record identifier. At this time, the webpage record data carrying the second record identifier is associated with the first record identifier and stored. In other words, for each page record data, the server needs to match the record identifier carried in the page record data to find other record identifiers with identifier association relationships to ensure that no sessions with association relationships are missed.

[0122] For example, the server stores the identifier association between the first record identifier "session1" and the second record identifier "session2" reported by the terminal. Therefore, for webpage record data D1, which can carry the second record identifier "session2", the server, upon receiving D1, can find the extracted identifier association between "session2" and "session1". Thus, it stores the webpage record data D1 carrying "session2" in association with the first record identifier "session1", creating a mapping relationship between them. Similarly, for webpage record data D2, the same method can be used to store the webpage record data D2 carrying "session2" in association with the first record identifier "session1", creating a mapping relationship between them.

[0123] To facilitate understanding, through Figure 9 This section details the process of associating record identifiers with pages after they are generated. Figure 9As shown, when the subroutine initiates the backtracking function, a first record identifier matching the subroutine's native page is generated and reported. In response to a webpage redirection event triggered by the subroutine, the webpage linked to the subroutine is loaded via a webpage access component. During webpage loading, the first record identifier is added to the resource location parameters. That is, during the loading process from the subroutine's native page to the webpage, the first record identifier is transmitted via the resource location parameters. After the webpage loads, the webpage retrieves the first record identifier from the resource location parameters and generates a second record identifier. Then, the webpage reports the identifier association between the first and second record identifiers to the server, enabling the server to associate the webpage record data with the first record identifier. In other words, after the server receives the webpage record data carrying the second record identifier, it can associate and store the webpage record data carrying the second record identifier with the first record identifier through the aforementioned identifier association.

[0124] It is understood that the corresponding examples in the embodiments of this application are used to understand this solution, but should not be construed as specific limitations on this solution.

[0125] In this embodiment, since the record identifier is used to record the recorded data collected when operating on the session page, the data between two different session pages can be associated by reporting the identifier association relationship between the first record identifier and the second record identifier. Combined with the aforementioned data recording collection methods of interactive operation collection and status record collection, it can be ensured that the recorded data on the same page and the recorded data on different pages when the backtracking function is started can be associated through the first record identifier, reducing data storage and transmission costs. Furthermore, the association storage of recorded data on different pages through data identifiers improves the integrity and reliability of data storage. With complete and reliable recorded data, the integrity and reliability of backtracking can be further improved.

[0126] Based on the detailed description of the foregoing embodiments, the complete process of the method for generating retrospective videos in the embodiments of this application will be described below. In one embodiment, such as Figure 10 As shown, a method for generating retrospective videos is provided, which can be applied to... Figure 1 Taking terminal 102 as an example, it can be understood that this method can also be applied to a system including terminal 102 and server 104, and implemented through the interaction between terminal 102 and server 104. In this embodiment, the method includes the following steps:

[0127] Step 1001: In response to the target object's trigger operation on the subroutine, if the subroutine starts the backtracking function, the terminal generates and reports the first record identifier that matches the subroutine's native page.

[0128] Step 1002: In response to the first interactive event triggered on the native page, the terminal generates and reports the native page record data.

[0129] Step 1003: The server receives the native page record data, extracts the first record identifier from the native page record data, and associates and stores the native page record data with the first record identifier.

[0130] Step 1004: In response to the webpage redirection event triggered in the subroutine, the terminal loads the webpage linked to the subroutine through the webpage access component.

[0131] Step 1005: After the webpage has finished loading, the terminal is redirected to the webpage.

[0132] Step 1006: When the terminal loads the webpage, it adds the first record identifier to the resource location parameters.

[0133] Step 1007: After the webpage is loaded, the terminal obtains the first record identifier from the resource location parameters and generates the second record identifier for the webpage.

[0134] Step 1008: The terminal launches the web page traceability tool to record and report the association relationship between the first record identifier and the second record identifier.

[0135] Step 1009: In response to the second interactive event detected on the webpage, the terminal generates and reports webpage record data through the webpage traceability tool.

[0136] Step 1010: The server extracts the second record identifier carried in the web page record data, determines the first record identifier that has an identifier association relationship with the second record identifier, and stores the web page record data carrying the second record identifier in association with the first record identifier.

[0137] Step 1011: Upon receiving a backtracking request carrying the first record identifier, the terminal sends a data request carrying the first record identifier to the server.

[0138] Step 1012: The server receives a data request carrying a first record identifier, obtains the native page record data and web page record data stored in association with the first record identifier, and sends the native page record data and web page record data back to the terminal.

[0139] Step 1013: The terminal receives the native page record data and web page record data stored in association with the first record identifier from the server, and extracts the native record timestamp of each native page record data and the web page record timestamp of each web page record data.

[0140] Step 1014: Based on the timestamps of each native record and each webpage record, sort the data of each native page record and each webpage record to obtain the sorted page record data.

[0141] Step 1015: Render the sorted native page record data using the native backtracking engine to generate native page backtracking videos for the target object.

[0142] Step 1016: Render the sorted webpage record data using the webpage backtracking engine to generate webpage backtracking videos for the target object.

[0143] Step 1017: According to the data arrangement order of the sorted page record data, the backtracking videos of each native page and each web page are spliced ​​together to obtain the target backtracking video for the target object.

[0144] It should be understood that the specific implementation methods of steps 1001 to 1017 are similar to those of the aforementioned embodiments, and will not be repeated here.

[0145] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages in other steps.

[0146] Based on the same inventive concept, this application also provides a retrospective video generation apparatus for implementing the retrospective video generation method described above. The solution provided by this apparatus is similar to the implementation described in the above method; therefore, the specific limitations in one or more retrospective video generation apparatus embodiments provided below can be found in the limitations of the retrospective video generation method described above, and will not be repeated here.

[0147] In one embodiment, such as Figure 11 As shown, a retrospective video generation device is provided, including: a record identifier generation module 1102, a data reporting module 1104, and a retrospective video generation module 1106, wherein:

[0148] The record identifier generation module 1102 is used to generate and report a first record identifier that matches the native page of the subroutine in response to the trigger operation of the target object on the subroutine when the subroutine starts the backtracking function.

[0149] The data reporting module 1104 is used to respond to the first interaction event triggered on the native page, generate and report the native page record data of the native page, so that the native page record data is associated with and stored with the first record identifier;

[0150] The data reporting module 1104 is also used to generate and report web page record data of the web page in response to a second interactive event triggered on the web page linked by the subroutine, so that the web page record data is associated with and stored with the first record identifier.

[0151] The backtracking video generation module 1106 is used to generate a target backtracking video for the target object based on the native page record data and web page record data stored in association with the first record identifier when a backtracking request carrying a first record identifier is received.

[0152] In one embodiment, the backtracking video generation module is specifically used to render a native page backtracking video for a first interaction event of a target object using a native backtracking engine based on native page record data stored in association with the first record identifier; to render a webpage backtracking video for a second interaction event of a target object using a webpage backtracking engine based on webpage record data stored in association with the first record identifier; and to generate a target backtracking video for the target object based on the native page backtracking video and the webpage backtracking video.

[0153] In one embodiment, the data recorded on the native page belongs to the native data type;

[0154] The backtracking video generation module is specifically used to select a native backtracking engine from the intelligent playback engine to match the native page recorded data; the native backtracking engine renders the native page recorded data to obtain the native page backtracking video for the first interaction event of the target object.

[0155] In one embodiment, the data recorded on the webpage belongs to the webpage data type;

[0156] The backtracking video generation module is specifically used to select a backtracking engine that matches the webpage data type from the intelligent playback engine; the backtracking engine renders the data recorded on the webpage to obtain a backtracking video of the webpage for the second interactive event of the target object.

[0157] In one embodiment, the retrospective video generation module is specifically used to extract the native record timestamps of each native page record data stored in association with the first record identifier, and the web page record timestamps of each web page record data stored in association with the first record identifier; based on each native record timestamp and each web page record timestamp, sort the native page record data and each web page record data to obtain sorted page record data; and based on the sorted page record data, generate a target retrospective video for the target object.

[0158] In one embodiment, the sorted page record data includes: sorted native page record data and sorted web page record data;

[0159] The backtracking video generation module is specifically used to generate backtracking videos for the target object from the data recorded on each sorted native page; to generate backtracking videos for the target object from the data recorded on each sorted webpage; and to stitch together the backtracking videos of each native page and each webpage in the order of the data recorded on the sorted pages to obtain the target backtracking video for the target object.

[0160] In one embodiment, the first interaction event is any one of the following events: a first object click event, a first scroll event, and a first page change event; the first page change event is used to describe a change in the page state of the native page; the native page recorded data is any one of the following data: click data matched by the first object click event, scroll data matched by the first scroll event, and first page change data matched by the first page change event.

[0161] In one embodiment, the second interaction event is any one of the following events: a second object click event, a second scroll event, and a second page change event, wherein the second page change event is used to describe a change in the page state of the webpage;

[0162] The data reporting module is specifically used to respond to a webpage redirection operation triggered by a subroutine and redirect to the webpage linked by the subroutine; and to generate and report webpage record data that matches the second interaction event detected on the webpage.

[0163] In one embodiment, the data reporting module is specifically used to load the webpage linked to the subroutine via a webpage access component in response to a webpage redirection event triggered in the subroutine; and redirect to the webpage after the webpage has finished loading.

[0164] In one embodiment, the retrospective video generation device further includes an association reporting module;

[0165] The association reporting module is used to add the first record identifier to the resource location parameters when the webpage is loaded; after the webpage is loaded, it retrieves the first record identifier from the resource location parameters and generates the second record identifier for the webpage; it then activates the webpage backtracking tool to record and report the association relationship between the first and second record identifiers.

[0166] The data reporting module is specifically used to respond to the second interactive event triggered on the webpage, generate and report the webpage record data of the webpage through the webpage traceability tool, so that the webpage record data is associated with the first record identifier through the identification relationship and stored.

[0167] In one embodiment, the method of storing web page record data associated with a first record identifier by means of an identifier association relationship includes: extracting a second record identifier carried in the web page record data, determining a first record identifier that has an identifier association relationship with the second record identifier, and storing the web page record data carrying the second record identifier in association with the first record identifier.

[0168] In one embodiment, a computer device is provided, which can be a server or a terminal. This embodiment uses a computer device as a terminal as an example, and its internal structure diagram is as follows. Figure 12 As shown, the computer device includes a processor, memory, input / output interfaces, a communication interface, a display unit, and an input device. The processor, memory, and input / output interfaces are connected via a system bus, and the communication interface, display unit, and input device are also connected to the system bus via the input / output interfaces. The processor provides computing and control capabilities. The memory includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage medium. The input / output interfaces are used for exchanging information between the processor and external devices. The communication interface is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, mobile cellular networks, NFC (Near Field Communication), or other technologies. When the computer program is executed by the processor, it implements a method for generating retrospective video. The display unit of the computer device is used to form a visually visible image. It can be a display screen, a projection device, or a virtual reality imaging device. The display screen can be an LCD screen or an e-ink screen. The input device of the computer device can be a touch layer covering the display screen, or buttons, trackballs, or touchpads set on the casing of the computer device, or external keyboards, touchpads, or mice, etc.

[0169] Those skilled in the art will understand that Figure 12 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0170] In one embodiment, a computer device is also provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above method embodiments.

[0171] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the steps in the above method embodiments.

[0172] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above method embodiments.

[0173] It should be noted that the object information (including but not limited to object device information, object personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the object or fully authorized by all parties, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.

[0174] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments described above. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based backtracking video generation logic devices, etc., and are not limited to these.

[0175] The technical features in the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0176] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.

Claims

1. A method of generating a retro video, characterized by, The method comprises: In response to a triggering operation of a target object on a subprogram, generating and reporting a first record identifier matching a native page of the subprogram in a case where the subprogram starts a backtracking function; In response to a first interaction event triggered on the native page, generating and reporting native page record data of the native page, so that the native page record data is stored in association with the first record identifier; In response to a second interaction event triggered on a web page linked by the subprogram, generating and reporting web page record data of the web page, so that the web page record data is stored in association with the first record identifier; In a case where a backtracking request carrying the first record identifier is received, generating a target backtracking video for the target object based on the native page record data and the web page record data stored in association with the first record identifier.

2. The method of claim 1, wherein, The method comprises: Based on the native page record data stored in association with the first record identifier, rendering by a native backtracking engine to obtain a native page backtracking video for the first interaction event of the target object; Based on the web page record data stored in association with the first record identifier, rendering by a web backtracking engine to obtain a web page backtracking video for the second interaction event of the target object; Generating a target backtracking video for the target object according to the native page backtracking video and the web page backtracking video.

3. The method of claim 2, wherein, The native page record data belongs to a native data type; The method comprises: Selecting, from an intelligent playback engine, a native backtracking engine matching the native page record data stored in association with the first record identifier; Rendering the native page record data by the native backtracking engine to obtain a native page backtracking video for the first interaction event of the target object.

4. The method of claim 2, wherein, The web page record data belongs to a web data type; The method comprises: Selecting, from an intelligent playback engine, a web backtracking engine matching the web data type stored in association with the first record identifier; Rendering the web page record data by the web backtracking engine to obtain a web page backtracking video for the second interaction event of the target object.

5. The method of claim 1, wherein, The method comprises: extract a native record timestamp of each of the native page record data stored in association with the first record identifier, and a web page record timestamp of each of the web page record data stored in association with the first record identifier; perform data sorting on each of the native page record data and each of the web page record data based on each of the native record timestamp and each of the web page record timestamp, to obtain sorted page record data; generate a target backtracking video for the target object based on the sorted page record data.

6. The method of claim 5, wherein, The sorted page record data includes sorted native page record data and sorted web page record data. The generating a target backtracking video for the target object based on the sorted page record data includes: generating a native page backtracking video for the target object through each of the sorted native page record data; generating a web page backtracking video for the target object through each of the sorted web page record data; sequentially video splicing each of the native page backtracking video and each of the web page backtracking video in a data arrangement order of the sorted page record data, to obtain a target backtracking video for the target object.

7. The method of claim 1, wherein, The first interaction event is any one of a first object click event, a first scroll event, and a first page change event; the first page change event is used to describe a change in a page state of the native page; The native page record data is any one of click data matched with the first object click event, scroll data matched with the first scroll event, and first page change data matched with the first page change event.

8. The method of claim 1, wherein, The second interaction event is any one of a second object click event, a second scroll event, and a second page change event; the second page change event is used to describe a change in a page state of the web page; The generating and reporting web page record data of the web page in response to a second interaction event triggered on the web page linked by the subprogram includes: in response to a web page jump operation triggered by the subprogram, jumping to the web page linked by the subprogram; in response to the second interaction event detected on the web page, generating and reporting web page record data matched with the second interaction event of the web page.

9. The method of claim 8, wherein, The jumping to the web page linked by the subprogram in response to a web page jump event triggered by the subprogram includes: in response to a web page jump event triggered by the subprogram, loading the web page linked by the subprogram through a web page access component; after the web page is loaded, jumping to the web page.

10. The method of claim 9, wherein, The method further includes: adding the first record identifier to a resource location parameter when the web page is loaded; after the web page is loaded, obtaining the first record identifier from the resource location parameter, and generating a second record identifier of the web page; The web page page traceable tool is started, and the identification association relationship between the first record identification and the second record identification is recorded and reported; The web page record data of the web page is generated and reported in response to the second interaction event triggered on the web page page linked by the subprogram, so that the web page record data is stored in association with the first record identification, including: The web page record data of the web page is generated and reported by the web page page traceable tool in response to the second interaction event triggered on the web page, so that the web page record data is stored in association with the first record identification through the identification association relationship.

11. The method of claim 10, wherein, The web page record data is stored in association with the first record identification through the identification association relationship, including: The second record identification carried in the web page record data is extracted, and the first record identification having the identification association relationship with the second record identification is determined; The web page record data carrying the second record identification is stored in association with the first record identification.

12. A retro video generation apparatus, characterized by comprising: The device comprises: A record identification generation module is configured to, in response to a triggering operation of a target object on a subprogram, generate and report a first record identification matched with a native page of the subprogram in a case where the subprogram starts a trace function; A data reporting module is configured to, in response to a first interaction event triggered on the native page, generate and report native page record data of the native page, so that the native page record data is stored in association with the first record identification; The data reporting module is further configured to, in response to a second interaction event triggered on a web page linked by the subprogram, generate and report web page record data of the web page, so that the web page record data is stored in association with the first record identification; A trace video generation module is configured to, in a case where a trace request carrying the first record identification is received, generate a target trace video for the target object based on the native page record data and the web page record data stored in association with the first record identification.

13. A computer device comprising a memory and a processor, the memory storing a computer program, characterized in that, The processor executes the computer program to implement the steps of the method of any one of claims 1 to 11.

14. A computer-readable storage medium having stored thereon a computer program, characterized in that, The computer program is executed by the processor to implement the steps of the method of any one of claims 1 to 11.

15. A computer program product comprising a computer program, characterized in that, The computer program is executed by the processor to implement the steps of the method of any one of claims 1 to 11.