Data playback method and device, electronic equipment and computer readable storage medium

By segmenting the target data and filtering the initial data range read requests, the problem of long loading time in existing technologies is solved, enabling streaming loading and fast rendering, and improving the efficiency of data playback.

CN122045470APending Publication Date: 2026-05-15TENCENT 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
TENCENT TECHNOLOGY (SHENZHEN) CO LTD
Filing Date
2024-11-14
Publication Date
2026-05-15

AI Technical Summary

Technical Problem

Existing data playback technology takes a long time to load on the first time, cannot handle new data, and is not compatible with streaming decompression.

Method used

The full data range of the target data is divided into multiple data ranges. The initial data range is selected to generate a read request, which is sent to the data source server. The initial data packet is received and played to achieve streaming loading.

Benefits of technology

The initial data loading speed has been optimized, the initial playback rendering time has been reduced, and it is compatible with streaming decompression, improving the smoothness of playback.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122045470A_ABST
    Figure CN122045470A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a data playback method and device, electronic equipment and a computer readable storage medium. According to the embodiment of the invention, when a playback request for target data is detected, a full data interval of the target data is partitioned to obtain a plurality of partitioned data intervals; then, according to the time sequence information of the block data intervals, screening out an initial data interval from the block data intervals; then, generating an initial data reading request based on the initial data interval, and sending the initial data reading request to a data source server; and finally, receiving an initial data packet returned by the data source server for the initial data reading request, and playing data in the initial data packet to play back the target data. According to the scheme, streaming loading of the target data can be achieved, the single-time loading load is reduced, the data size needing to be processed when the first batch of data is rendered is reduced, the loading speed is optimized, and the first playing rendering duration is shortened.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of data processing technology, and more specifically to a data playback method, apparatus, electronic device, and computer-readable storage medium. Background Technology

[0002] Data playback is a data processing and reproduction technology that primarily involves replaying or displaying collected or existing data. Data playback has a wide range of applications. For example, in network communication, it can be used for network troubleshooting and traffic analysis. In data analysis, replaying historical data helps researchers understand past trends and patterns, enabling more accurate predictions and decisions. As an effective data processing tool, data playback technology helps people better utilize and manage data, improving work efficiency and decision-making. It can also help businesses understand user needs, optimize product design, and provide strong support for business development.

[0003] The current data playback process mainly involves reading the full data, reading and parsing all the playback data at once. This requires pulling and decompressing all the playback data before normal playback can proceed. This method has a long initial loading time, resulting in a long loading state, and it cannot process or play newly added data, nor is it compatible with streaming decompression. Summary of the Invention

[0004] This application provides a data playback method, apparatus, electronic device, and computer-readable storage medium, which can optimize the initial data loading speed, reduce the rendering time of the initial data loading, and be compatible with streaming decompression.

[0005] This application provides a data playback method, including:

[0006] When a playback request for target data is detected, the full data range of the target data is divided into blocks to obtain multiple block data ranges.

[0007] Based on the timing information of the segmented data intervals, an initial data interval is selected from the segmented data intervals, wherein the initial data intervals include the segmented data intervals corresponding to the initial playback range of the target data;

[0008] An initial data read request is generated based on the initial data range, and the initial data read request is sent to the data source server.

[0009] The system receives the initial data packet returned by the data source server in response to the initial data read request, and plays the data in the initial data packet to replay the target data.

[0010] Accordingly, embodiments of this application provide a data playback device, including:

[0011] The segmentation unit is used to segment the full data range of the target data into multiple segmented data ranges when a playback request for the target data is detected.

[0012] A filtering unit is used to filter out an initial data interval from the segmented data interval based on the timing information of the segmented data interval, wherein the initial data interval includes the segmented data interval corresponding to the initial playback range of the target data;

[0013] The sending unit is configured to generate an initial data read request based on the initial data range and send the initial data read request to the data source server.

[0014] The playback unit is used to receive the initial data packet returned by the data source server in response to the initial data reading request, and play the data in the initial data packet to replay the target data.

[0015] In some embodiments, the segmentation unit can be specifically used to obtain playback setting parameters of the target data. The playback setting parameters include data segmentation calibration information for the target data. The data segmentation calibration information indicates the data range corresponding to each segmented data interval. The full data interval of the target data is segmented according to the data segmentation calibration information to obtain multiple segmented data intervals.

[0016] In some embodiments, the filtering unit may be specifically used to sort the playback order of the segmented data intervals based on the interval start time and the interval end time to obtain the time sequence information; and according to the time sequence information, the segmented data interval located in the first playback order shall be used as the initial data interval of the target data.

[0017] In some embodiments, the sending unit may be specifically used to take the interval start time corresponding to the initial data interval as the initial data start time and the interval end time corresponding to the initial data interval as the initial data end time; and generate an initial data read request corresponding to the initial data interval based on the initial data start time and the initial data end time.

[0018] In some embodiments, the playback unit may be specifically used to parse the initial data packet to obtain parsed initial interval data; render the parsed initial interval data to obtain rendered initial interval data; and play the rendered initial interval data to replay the target data.

[0019] In some embodiments, the playback unit may be specifically used to render the initial page data to obtain rendered initial page data; render the initial interaction data to obtain rendered initial interaction data; and use the rendered initial page data and the rendered initial interaction data as the rendered initial interval data.

[0020] In some embodiments, the sending unit may be specifically used to take the block data intervals other than the initial data interval as the remaining data intervals; select the target loading data intervals sequentially from the remaining data intervals according to the timing information; generate a target data read request based on the target loading data intervals; and send the target data read request to the data source server so that the data source server returns the target data packet based on the target data read request.

[0021] In some embodiments, the playback unit may be specifically used to receive a target data packet returned by the data source server in response to the target data reading request; parse the target data packet to obtain parsed target data; render the parsed target data to obtain rendered target data, and play the rendered target data.

[0022] In some embodiments, the playback unit may be specifically used to obtain a set of parsed data located before the parsed target data, the set of parsed data including at least parsed initial interval data; compare the data in the set of parsed data with the parsed target data, determine the incremental data in the parsed target data based on the comparison result; and render the incremental data to obtain the rendered target data.

[0023] In some embodiments, the playback unit may be specifically used to filter out historical parsed data from the parsed target data that overlaps with the data in the parsed data set; and to use the data in the parsed target data other than the historical parsed data as the incremental data.

[0024] In some embodiments, the playback unit may be specifically used to acquire rendered page data corresponding to the historical parsing data; render the incremental data to obtain rendered incremental data; and fuse the rendered incremental data with the rendered page data to obtain the rendered target data.

[0025] Furthermore, this application also provides an electronic device, including a processor and a memory, wherein the memory stores an application program, and the processor is used to run the application program in the memory to execute the data playback method provided in this application.

[0026] Furthermore, this application also provides a computer program product, including a computer program or instructions, which, when executed by a processor, implement the steps in the data playback method provided in this application.

[0027] Furthermore, embodiments of this application also provide a computer-readable storage medium storing a plurality of instructions adapted for loading by a processor to execute steps in any of the data playback methods provided in embodiments of this application.

[0028] In this embodiment, when a playback request for target data is detected, the entire data range of the target data is divided into blocks to obtain multiple block data ranges. Then, based on the timing information of the block data ranges, an initial data range is selected from the block data ranges. The initial data range includes the block data range corresponding to the initial playback range of the target data. Next, an initial data read request is generated based on the initial data range and sent to the data source server. Finally, the initial data packet returned by the data source server in response to the initial data read request is received, and the data in the initial data packet is played to replay the target data. Because this scheme can divide the entire data range of the target data into blocks and then read the target data in blocks, it achieves streaming loading of the target data. This not only ensures compatibility with streaming decompression but also reduces the load per load, decreases the amount of data to be processed when rendering the first batch of data (first screen data), optimizes loading speed, and reduces the initial playback rendering time, thereby greatly improving the smoothness of playback. Attached Figure Description

[0029] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0030] Figure 1 This is a schematic diagram illustrating an application scenario of the data playback method provided in the embodiments of this application;

[0031] Figure 2 This is a flowchart illustrating the data playback method provided in an embodiment of this application;

[0032] Figure 3 This is a schematic diagram of data segmentation provided in an embodiment of this application;

[0033] Figure 4 This is another schematic diagram of data segmentation provided in the embodiments of this application;

[0034] Figure 5This is a data playback diagram of the target data provided in the embodiments of this application.

[0035] Figure 6 The first data loading time is shown in a bar chart obtained by using existing technology and by using the technical solution of this application, respectively.

[0036] Figure 7 This is a schematic diagram of the block division of target data provided in an embodiment of this application;

[0037] Figure 8 This is another schematic diagram of the data playback process provided in the embodiments of this application;

[0038] Figure 9 This is a schematic diagram of the data playback device provided in the embodiments of this application;

[0039] Figure 10 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application. Detailed Implementation

[0040] The technical solutions described below, with reference to the accompanying drawings, will be clearly and completely described. Obviously, the described embodiments are merely some, not all, of the embodiments of the present invention. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without inventive effort are within the scope of protection of the present invention.

[0041] This application provides a data playback method, apparatus, and computer-readable storage medium. The data playback apparatus can be integrated into an electronic device, which may be a server or a user terminal, etc.

[0042] The server can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud-preset databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery network (CDN) acceleration services, and big data and artificial intelligence platforms. The terminal can be a smartphone, tablet, laptop, desktop computer, smart speaker, smartwatch, etc., but is not limited to these. The terminal and server can be directly or indirectly connected via wired or wireless communication, which is not limited herein.

[0043] Figure 1 A schematic diagram illustrating an application scenario of the data playback method provided in an embodiment of this application is shown. For example... Figure 1As shown, taking the data playback device integrated into an electronic device, where the electronic device is a user terminal, as an example, the user terminal (i.e., the client) can establish a communication connection with the data source server. Based on this, when a playback request for target data is detected, the user terminal can divide the full data range of the target data into blocks, obtaining multiple block data ranges; according to the timing information of the block data ranges, an initial data range is selected from the block data ranges; then, an initial data read request is generated based on the initial data range and sent to the data source server; when the initial data packet returned by the data source server in response to the initial data read request is received, the data in the initial data packet is played to play back the target data.

[0044] It should be noted that, Figure 1 There can be multiple electronic devices, and multiple electronic devices can send data read requests to the data source server at the same time or at different times.

[0045] It is understood that in the specific implementation of this application, target data (and related data) are involved. When the following embodiments of this application are applied to specific products or technologies, permission or consent is required, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.

[0046] The following sections provide detailed descriptions of each example. It should be noted that the order in which the embodiments are described is not intended to limit the preferred order of the embodiments.

[0047] This embodiment will be described from the perspective of a data playback device, which can be integrated into an electronic device, such as a server or a terminal. The terminal can include tablet computers, laptops, personal computers (PCs), wearable devices, virtual reality devices, or other smart devices that can generate image files.

[0048] A data playback method includes: when a playback request for target data is detected, dividing the full data range of the target data into blocks to obtain multiple block data ranges; selecting an initial data range from the block data ranges based on the timing information of the block data ranges, wherein the initial data range includes the block data ranges corresponding to the initial playback range of the target data; generating an initial data read request based on the initial data range and sending the initial data read request to a data source server; receiving an initial data packet returned by the data source server in response to the initial data read request and playing the data in the initial data packet to play back the target data.

[0049] Figure 2A flowchart illustrating the data playback method provided in an embodiment of this application is shown. Figure 2 As shown, the specific process of this data playback method is as follows:

[0050] 101. When a playback request for the target data is detected, the full data range of the target data is divided into blocks to obtain multiple block data ranges.

[0051] In this context, target data can be understood as data that needs to be replayed. The source of target data can be varied; for example, it can be data collected over a past period, such as log data collected from a mini-program or application software. Target data is data that can be visualized and played back, and its form can be diverse, including at least one of text, audio, and video data.

[0052] The "full data range" of the target data can be understood as representing the range of the total data volume of the target data. The full data range can be represented according to the size of the target data; for example, if the total data volume of the target data is 80MB, then the full data range is 80MB. The full data range can also be represented according to the total duration of the target data; for example, if the total playback duration of the target data is 10 minutes, then the full data range is 10 minutes. Similarly, if the total playback duration of the target data is 1 hour, then the full data range is 1 hour, and so on. It should be understood that the full data range can also be represented in other forms, as long as they reflect the overall data volume range of the target data; these will not be elaborated upon here.

[0053] In existing methods for replaying target data, when a replay request for target data is detected, a data read request for the full data range of the target data is sent directly to the data source server so that the data source server can return all data packets corresponding to the target data. This method has a long loading time, and the larger the target data volume, the longer the loading time, resulting in a longer waiting time for the user.

[0054] In this embodiment, after detecting a playback request for the target data, the entire data range of the target data can be divided into multiple data blocks. Dividing the entire data range of the target data into blocks can be understood as dividing the data into blocks before the target data is read, using the entire data range of the target data as the block object. This divides the entire data range into multiple smaller data blocks, each containing a certain number of data records, and each data block is arranged in chronological order.

[0055] Specifically, the full data range of the target data is divided into data blocks to obtain multiple data blocks. This may include: obtaining playback setting parameters for the target data, which include data block calibration information for the target data, indicating the data range corresponding to each data block; and dividing the full data range of the target data into data blocks according to the data block calibration information to obtain multiple data blocks.

[0056] In this context, playback settings parameters can be understood as the basis for electronic devices to divide the entire data range of the target data into blocks. These playback settings can be configured by playback testers based on the actual size of the target data. For example, they can be set according to the actual data volume, in which case the data block labeling information indicates the data volume corresponding to each data block. Alternatively, playback testers can set them based on the playback duration of the target data, in which case the data block labeling information indicates the playback time interval corresponding to each data block.

[0057] Figure 3 A schematic diagram of data segmentation provided in an embodiment of this application is shown. For example... Figure 3 As shown, the playback settings are configured by the playback tester based on the actual size of the target data, which is 80MB. In this case, the data block calibration information included in the playback settings can be used to set the data size corresponding to each data block interval. For example, if the data block calibration information indicates that the full data interval of the target data is divided into blocks of 0-10MB, 10-30MB, 30-60MB, and 60-80MB, then the full data interval can be divided into four data blocks: the first data block interval (also called the initial data interval), the second data block interval, the third data block interval, and the fourth data block interval. The initial data interval corresponds to the 0-10MB data range, the second data block interval corresponds to the 10-30MB data range, the third data block interval corresponds to the 30-60MB data range, and the fourth data block interval corresponds to the 60-80MB data range.

[0058] It should be understood that for target data of 80MB, playback testers can update the existing playback settings parameters according to the actual situation to obtain updated playback settings parameters. These updated parameters include updated data block calibration information. For example, if the updated data block calibration information in the updated playback settings parameters indicates that the entire target data range be divided into blocks of 0-5MB, 5-20MB, and 20-80MB, then the entire target data range can be divided into three blocks: the first block (initial data range), the second block (20-80MB), and the third block (20-80MB). The initial data range corresponds to 0-5MB, the second block to 5-20MB, and the third block to 20-80MB.

[0059] Figure 4 Another schematic diagram of data segmentation provided in an embodiment of this application is shown. For example... Figure 4 As shown, the playback settings are configured by the playback tester based on the playback time of the target data, which is a 10-minute video. In this case, the data block calibration information included in the playback settings can set the playback time length corresponding to each data block interval. For example, if the data block calibration information indicates that the full data interval of the target data is divided into blocks of 0-1 minutes, 1-3 minutes, 3-5 minutes, and 5-10 minutes, then the full data interval can be divided into four data blocks: the first data block interval (also called the initial data interval), the second data block interval, the third data block interval, and the fourth data block interval. The initial data interval corresponds to the 0-1 minute data range, the second data block interval corresponds to the 1-3 minute data range, the third data block interval corresponds to the 3-5 minute data range, and the fourth data block interval corresponds to the 5-10 minute data range.

[0060] Similarly, for target data with a total playback duration of 10 minutes, the replay test personnel can update the already set playback settings parameters according to the actual situation to obtain updated playback settings parameters. The updated playback settings parameters include updated data block calibration information. For example, if the updated data block calibration information in the updated playback settings parameters indicates that the full data range of the target data is divided into blocks of 0-30 seconds, 30 seconds-2 minutes, 2-4 minutes, 4-6 minutes, and 6-10 minutes, then the full data range can be redivided into 5 block data ranges, namely the first block data range (also called the initial data range), the second block data range, the third block data range, the fourth block data range, and the fifth block data range. Among them, the initial data range corresponds to the data range of 0-30 seconds, the second block data range corresponds to the data range of 30 seconds-2 minutes, the third block data range corresponds to the data range of 2-4 minutes, the fourth block data range corresponds to the data range of 4-6 minutes, and the fifth block data range corresponds to the data range of 6-10 minutes.

[0061] As mentioned earlier, each data segment is arranged in chronological order. This means that regardless of whether the target data is divided into segments based on its actual size or playback time, all resulting data segments will be ordered according to their playback time (i.e., time sequence). For example, the first data segment has a higher playback order than the second, the second has a higher playback order than the third, the third has a higher playback order than the fourth, and so on.

[0062] It should be understood that Figure 3 and Figure 4 The data segmentation diagram shown in the diagram does not target the same set of target data, and... Figure 3 and Figure 4 The data segmentation diagram shown is merely an example of the data range of the full data interval corresponding to the target data, and the possible segmentation of the full data interval. It does not limit the actual full data interval corresponding to the target data, or the actual segmentation strategies that can be adopted for the full data interval. Among the multiple segmented data intervals obtained after segmenting the full data interval of the target data, the data volume of each segmented data interval can be the same or different, and the time period of each segmented data interval can be the same or different.

[0063] 102. Based on the timing information of the segmented data intervals, the initial data interval is selected from the segmented data intervals. The initial data interval includes the segmented data intervals corresponding to the initial playback range of the target data.

[0064] In this embodiment, after dividing the full data range of the target data into multiple blocks, the first block data range (i.e., the initial data range) with the optimal playback order can be selected from these multiple block data ranges according to the timing information of each block data range. Since the initial data range has the highest priority playback order, it can be understood as the block data range that is played first during the playback of the target data, and the initial data range corresponds to the initial playback range of the target data.

[0065] Each data block includes the start time and end time of the interval.

[0066] When the entire target data range is divided into blocks based directly on the playback time of the target data, each resulting block directly contains its corresponding start and end times. For example, Figure 4 The initial data interval starts at minute 0 and ends at minute 1, and can be represented as [0,1) in minutes. The second data interval starts at minute 1 and ends at minute 3, and can also be represented as [1,3) in minutes. Similarly, the third data interval can be represented as [3,5) and the fourth data interval can be represented as [5,10].

[0067] When the target data is divided into blocks based on its actual size, each block contains its corresponding data size. In this case, the number of blocks in each block can be calculated to obtain the start and end times of each block. For example, the total playback time of the target data's entire range can be obtained; then, the percentage of each block's data size relative to the total data size of the entire range can be calculated; based on the percentage and the total playback time, the duration of each block can be calculated; finally, the start and end times of each block can be calculated based on the playback order.

[0068] Based on this, according to the time series information of the segmented data intervals, the initial data intervals are selected from the segmented data intervals. This may include: sorting the playback order of the segmented data intervals based on the interval start time and interval end time to obtain the time series information; and using the segmented data interval located in the first playback order as the initial data interval of the target data according to the time series information.

[0069] By determining the start and end times of each data segment, the playback priority of each data segment can be directly identified. Since the application scenario of this embodiment involves playback of target data, the playback priority of each data segment of the target data can also be understood as the playback priority of each data segment. That is, a data segment in the first playback order also has the first playback order. After determining the timing information of the data segments, the data segment in the first playback order (first playback order) can be used as the initial data segment of the target data based on the timing information. For example, in... Figure 3 In this context, the data block range corresponding to 0-10MB is the initial data range. Figure 4 In the diagram, the data interval corresponding to [0,1) is the initial data interval.

[0070] 103. Generate an initial data read request based on the initial data range and send the initial data read request to the data source server.

[0071] In this context, the data source server can be understood as a server specifically designed to store various types of data, including the target data. Playback testers need to send a corresponding data read request to the data source server through their electronic device (terminal device). The data source server then responds to the request and returns the corresponding data, allowing the received data to be played back on the terminal device, thus enabling the playback of the target data.

[0072] Figure 5 A schematic diagram illustrating data playback of the target data provided in an embodiment of this application is shown. For example... Figure 5 As shown, after the electronic device sends an initial data read request to the data source server, it waits for the data source server to return the initial data packet corresponding to the initial data read request. Correspondingly, the screen displays that the visual data is in the loading state.

[0073] In this embodiment, since the electronic device selects an initial data range from the segmented data range, it can generate an initial data read request based on the initial data range. This initial data read request can be understood as a read request only for the data block corresponding to the initial data range. After generating the initial data read request based on the initial data range, the electronic device can send the initial data read request to the data source server, so that the data source server responds to the initial data read request by returning a data packet corresponding to the initial data range.

[0074] The process of generating an initial data read request based on an initial data interval may include: using the start time of the interval corresponding to the initial data interval as the initial data start time and the end time of the interval corresponding to the initial data interval as the initial data end time; and generating an initial data read request corresponding to the initial data interval based on the initial data start time and the initial data end time.

[0075] For an initial data interval, its start time can be called the initial data start time, and its end time can be called the initial data end time. The time interval defined between the initial data start time and the initial data end time represents the data boundary within the target data that needs to be read from the data source server for that initial data interval. Therefore, the initial data read request generated based on the initial data start time and the initial data end time can carry data read boundary information for the initial data interval. The data source server can then filter out the data corresponding to the data interval that meets the requirements of the initial data read request from the full target data, and return this data as the initial data block (initial data packet) to the electronic device.

[0076] In this embodiment, when the electronic device sends a data read request to the data source server, it only needs to send a specific data read request corresponding to a specific data block interval (e.g., an initial data read request corresponding to the initial data interval), without sending a full read request for the entire target data. Correspondingly, after receiving the data read request corresponding to the specific data block interval, the data source server only needs to return the corresponding data block (data packet), which is a portion of the target data. Through this method, the electronic device can read the target data from the data source server in multiple sessions, thereby reducing the amount of data transmitted between the electronic device and the data source server in a single session. The amount of data requested by the electronic device initially from the data source server is significantly reduced, which can increase the rate at which the electronic device receives the initial data block (initial data packet) corresponding to the initial data interval.

[0077] 104. Receive the initial data packet returned by the data source server in response to the initial data read request, and play the data in the initial data packet to replay the target data.

[0078] In this embodiment, after receiving the initial data packet returned by the data source server, the electronic device can begin playing the data in the initial data packet, thereby initiating the playback process of the target data. Playing the data in the initial data packet to replay the target data may include: parsing the initial data packet to obtain parsed initial interval data; rendering the parsed initial interval data to obtain rendered initial interval data; and playing the rendered initial interval data to replay the target data.

[0079] Typically, when a data source server returns data packets (including the initial data packet) to an electronic device, it first compresses the data before returning the compressed data. Data compression refers to the process of encoding original data with less space. It can reduce the amount of data without losing useful information, thereby reducing storage space and improving transmission, storage, and processing efficiency. Alternatively, it can be a technique for reorganizing data according to a certain algorithm to reduce data redundancy and storage space.

[0080] Therefore, upon receiving the initial data packet, the electronic device can first parse the initial data packet; this parsing process is the same as decompressing the initial data packet. After parsing the initial data packet, the electronic device can obtain the parsed initial interval data. For example... Figure 5 As shown, after receiving the initial data packet, the electronic device needs to parse the data packet. At this time, the screen of the electronic device displays that it is currently in the data parsing state.

[0081] For the parsed initial range of data, the electronic device can filter out some common data, which can be understood as data that appears repeatedly in the target data. After filtering out the common data, it can store the common data in OPFS (a file system) with a Uniform Resource Locator (URL) as the key identifier. If the common data is requested repeatedly in the future, the cached common data will be returned directly, thus saving data retrieval time.

[0082] OPFS (Object Pool Framework for Caching) is a framework for optimizing memory management and caching. It primarily aims to reduce the overhead of frequently creating and destroying objects, thereby improving performance. In OPFS, the concept of an object pool is applied: a certain number of objects are pre-created and stored in a pool. When needed, objects are retrieved from the pool and returned after use, instead of creating new objects each time. This approach reduces garbage collection pressure and effectively reuses pre-initialized resources.

[0083] After obtaining the parsed initial interval data, the electronic device can also render the parsed initial interval data to convert it into an image. The image data obtained through rendering is the rendered initial interval data.

[0084] In this embodiment of the application, the electronic device can render the parsed initial interval data in various ways. For example, rendering-related functions (such as the feed function) can be called to render the parsed initial interval data. The rendering process generally includes the following steps:

[0085] (1) Read the mini-program application information from the parsed initial interval data and apply it to the playback;

[0086] (2) Read the dictionary of constants in the mini-program;

[0087] (3) Read the mini-program package information;

[0088] (4) Process the portion of the initial interval data after parsing that uses constant compression;

[0089] (5) Load the mini-program webpage view;

[0090] (6) Initialize the page.

[0091] After completing the above steps, the initial playback page will be displayed, and the player will automatically start playing, thus beginning the playback of the target data.

[0092] Figure 5 In the process, after the electronic device renders the parsed initial interval data, it can start playing the data in the initial data packet. At this time, the display screen of the electronic device normally displays the visualization page of the target data.

[0093] The parsed initial interval data can include initial page data and the corresponding initial interaction data. Taking log data collected from a mini-program as an example, during user interaction with the mini-program, the mini-program itself displays corresponding pages, and users can interact with the mini-program through interactive devices (such as touch screens, buttons, etc.). Therefore, the parsed initial interval data can include two parts: initial page data and the corresponding initial interaction data. Initial page data can be understood as data related to the displayed page in the initial data packet, while initial interaction data can be understood as data representing user interaction with the page in the initial data packet.

[0094] Based on this, the parsed initial interval data is rendered to obtain the rendered initial interval data. This may include: rendering the initial page data to obtain the rendered initial page data; rendering the initial interaction data to obtain the rendered initial interaction data; and using the rendered initial page data and the rendered initial interaction data as the rendered initial interval data.

[0095] Since the parsed initial interval data comprises two parts: initial page data and initial interaction data, the electronic device can render the initial page data and initial interaction data separately during the rendering process. Specifically, rendering the initial page data yields rendered initial page data, and rendering the initial interaction data yields rendered initial interaction data. The rendered initial interval data includes both rendered initial page data and rendered initial interaction data.

[0096] As mentioned earlier, during the rendering of the parsed initial interval data, the electronic device can call rendering-related functions to render the parsed initial interval data. This process can be understood as the electronic device including a rendering unit, which stores functions for executing the rendering program. The electronic device can send rendering commands to the rendering unit to call the rendering unit to render the parsed initial interval data. Since the parsed initial interval data includes initial page data and initial interaction data, and both initial page data and initial interaction data are obtained after parsing the initial data packet, the parsing process of the initial data packet takes a certain amount of time. This may result in the initial page data and initial interaction data being formed at different times. For example, the initial page data may be parsed first, and the initial interaction data may be parsed later; or, the initial interaction data may be parsed first, and the initial page data may be parsed later.

[0097] In this embodiment, regardless of whether the initial page data or the initial interaction data is parsed first, the rendering command can be sent to the rendering unit after both are parsed, thus achieving parallelization of data requests. Since the electronic device sends all rendering commands to the rendering unit at the same time, the total waiting time of the request can be reduced.

[0098] Compared to existing technologies that send a full data range read request to the data source server to receive all the target data before rendering and playback, this application's technical solution divides the full data range of the target data into blocks, first selecting initial data ranges from these blocks, and then sending initial data read requests to the data source server for these initial data ranges. This allows the data source server to access the initial data packets corresponding to these initial data ranges, and then render and play these initial data packets. This technical solution enables streaming loading of the target data, significantly reducing the load per load, decreasing the amount of data that needs to be processed during the rendering of the first batch of data (first screen data), optimizing loading speed, and reducing the initial playback rendering time. Table 1 shows the initial data loading time obtained using the existing technology and the technical solution of this application, respectively. Figure 6 The diagram shows the initial data loading time histograms obtained using existing technology and the technology described in this application.

[0099] Table 1. Initial data loading time for different methods

[0100] Test Project unit Target data A Target data B Target data C Total playback time minutes and seconds 0.48 3.11 6.16 Full load time: 1 minute millisecond 7871 10791 13578 Full load time: 2 seconds millisecond 7371 10914 15338 Full load time: 3 seconds millisecond 6703 10417 15208 Average loading time for full load millisecond 7315 10707.33 14708 Streaming loading time 1 millisecond 5569 7188 5769 Streaming loading time 2 millisecond 5897 6147 6525 Streaming loading time 3 millisecond 5795 6694 5678 Average loading time for streaming millisecond 5753.667 6676.333 5990.667 Full load time is 1 minute. millisecond 6133 11133 13321 Full load time is 2 seconds. millisecond 7309 9668 13484 Full load time is 3 seconds. millisecond 6767 10563 12944 Average loading time with buffer millisecond 6736.333 10454.67 13249.67 Slow-flow loading time 1 millisecond 5148 5985 5946 Slow-flow loading time 2 millisecond 5040 5958 6020 Slow-flow loading time 3 millisecond 5920 5101 5330 Slow-flow average loading time millisecond 5096.33 5954.33 5765.33

[0101] Figure 6 The data in this table corresponds to the data in Table 1. Figure 6 The document presents three target data sets with different durations. The full load duration represents the response time required from when the user triggers a playback request for the target data until the target data begins playing on the screen, using existing full load techniques. The average full load duration represents the result of averaging multiple measured full load durations. The streaming load duration represents the response time required from when the user triggers a playback request for the target data until the target data (i.e., the initial data packet of the target data) begins playing on the screen, using the technical solution of this application. The average streaming load duration represents the result of averaging multiple measured streaming load times.

[0102] The cached full load time refers to the response time required from when the user triggers a playback request for the target data until the target data begins playing on the screen, assuming some target data is already cached on the electronic device and using existing full load methods. The cached full load average time represents the average of multiple measured cached full load times. The cached streaming load time refers to the response time required from when the user triggers a playback request for the target data until the target data (i.e., the initial data packet) begins playing on the screen, assuming some target data is already cached on the electronic device and using the technology of this application. The cached streaming average load time represents the average of multiple measured cached streaming load times.

[0103] Combined with Table 1, Figure 6 It is known that as the amount of target data increases, the loading time required by the existing full-load method increases linearly, resulting in unacceptable waiting times when viewing target data with long playback durations. Furthermore, even with caching enabled, the overall service optimization is minimal, and a long loading time is still required, impacting user experience. However, the data playback method provided in this application embodiment does not significantly affect the loading time of the first screen data as the amount of target data increases. Moreover, with a small amount of data (the loading situation corresponding to target data 1), the data playback method provided in this application embodiment has a faster loading speed than the existing full-load method, with a loading speed improvement of over 20%. With a larger amount of data (the loading situation corresponding to target data 2), the data playback method provided in this application embodiment exhibits a faster loading rate than the existing full-load method, with a loading speed improvement of approximately 37%. With an even larger amount of data (the loading situation corresponding to target data 3), compared to the loading speed of the existing full-load method, the loading speed of the data playback method provided in this application embodiment is improved by approximately 59%.

[0104] Therefore, it can be seen that by adopting the data playback method provided by the technical solution of this application, the single loading load can be greatly reduced for target data of different sizes, the amount of data that needs to be processed when rendering the first batch of data (first screen data) can be reduced, the loading speed can be optimized, the first playback rendering time can be reduced, and the speed of playback viewing of the target data can be accelerated.

[0105] In this embodiment of the application, after sending an initial data read request to the data source server, the method may further include: taking the block data intervals other than the initial data interval as the remaining data intervals; selecting the target loading data intervals sequentially from the remaining data intervals according to the timing information; generating a target data read request based on the target loading data intervals and sending the target data read request to the data source server so that the data source server can return the target data packet based on the target data read request.

[0106] Figure 7 This illustration shows a block diagram of target data provided in an embodiment of this application. For example... Figure 7As shown, taking 10 minutes of target data as an example, the target data is divided into four data blocks on the timeline: the initial data block (first data block), the second data block, the third data block, and the fourth data block. The initial data block corresponds to the initial data read request. The electronic device can generate an initial data read request based on the initial data block and send it to the data source server to request the data source server to return the initial data packet corresponding to the initial data block.

[0107] To load and replay the entire target data, after sending an initial data read request to the data source server, the electronic device also needs to request data packets corresponding to the remaining data range from the data source server. The remaining data range refers to all data blocks excluding the initial data range. Figure 7 In this process, the data intervals include the second, third, and fourth data blocks. After determining the remaining data intervals, it is necessary to select the target data intervals from the remaining data intervals sequentially based on the timing information of each data block. Then, based on the selected target data intervals, a corresponding target data read request is generated and sent to the data source server so that the data source server can return the corresponding data packet after receiving the target data read request.

[0108] by Figure 7 Taking the illustrated segmented data range as an example, after the electronic device sends an initial data read request to the data source server, according to the timing information, it first needs to use the second segmented data range in the remaining data range as the target data range, and generate a target data read request based on the second segmented data range, and then send the target data read request corresponding to the second segmented data range to the data source server; after sending the target data read request corresponding to the second segmented data range to the data source server, according to the timing information, it needs to use the third segmented data range in the remaining data range as the target data range, and generate a target data read request based on the third segmented data range, and then send the target data read request corresponding to the third segmented data range to the data source server; after sending the target data read request corresponding to the third segmented data range to the data source server, according to the timing information, it needs to use the fourth segmented data range in the remaining data range as the target data range, and generate a target data read request based on the fourth segmented data range, and then send the target data read request corresponding to the fourth segmented data range to the data source server. After the above process, it can send a data read request to the data source server to complete the reading of the entire target data.

[0109] In the above process, for the data source server, after receiving an initial data read request, it can return an initial data packet to the electronic device; after receiving a target data read request corresponding to the second data block, it can return the target data packet corresponding to the second data block; after receiving a target data read request corresponding to the third data block, it can return the target data packet corresponding to the third data block; and after receiving a target data read request corresponding to the fourth data block, it can return the target data packet corresponding to the fourth data block. This enables streaming data transmission on the data source server side, and simultaneously, streaming data reading on the electronic device side.

[0110] It should be understood that the electronic device generates initial data read requests, target data read requests corresponding to the second data block interval, target data read requests corresponding to the third data block interval, and so on, sequentially according to timing information, and sends these requests to the data source server in that order. Correspondingly, the data source server first returns the initial data packet corresponding to the initial data read request to the electronic device, then returns the target data packet corresponding to the second data block interval, and so on, followed by the target data packet corresponding to the third data block interval, and so on.

[0111] Furthermore, after the electronic device sends an initial data read request to the data source server, the data source server may return the initial data packet before the electronic device sends the target data read request corresponding to the second data block interval. That is, the electronic device may receive the initial data packet before sending the target data read request to the data source server. Alternatively, the data source server may return the initial data packet after the electronic device sends the target data read request to the data source server. In practical applications, whether the initial data packet is received before or after sending the target data read request depends on factors such as the data source server's retrieval and encapsulation of the initial data packet based on the initial data read request, and the network transmission speed between the data source server and the electronic device. This can vary depending on the actual situation, and this embodiment does not impose specific limitations on this.

[0112] Specifically, in the above process, for an electronic device, after receiving the initial data packet returned by the data source server in response to the initial data reading request, it may further include: receiving the target data packet returned by the data source server in response to the target data reading request; parsing the target data packet to obtain parsed target data; rendering the parsed target data to obtain rendered target data, and playing the rendered target data.

[0113] For example, after receiving a target data packet from a data source server requesting the read of target data corresponding to the second data segment, the electronic device can perform the same processing steps as after receiving the initial data packet. Specifically, it can parse the target data packet corresponding to the second data segment to obtain parsed target data, then render the parsed target data to obtain rendered target data, and finally play the rendered target data.

[0114] Similarly, after receiving the target data packet returned by the data source server for the target data reading request corresponding to the third data block, the electronic device can perform the same processing steps as after receiving the initial data packet or the target data packet corresponding to the second data block. For example, it can also parse the target data packet corresponding to the third data block to obtain the parsed target data, then render the parsed target data to obtain the rendered target data, and then play the rendered target data.

[0115] It should be understood that after receiving the target data packet returned by the target data reading request corresponding to the subsequent data block interval (such as the target data packet corresponding to the fourth data block interval, the target data packet corresponding to the fifth data block interval, etc.), the electronic device can also perform data parsing, rendering and playback of the target data packet in the above manner, which will not be elaborated here.

[0116] The process of rendering the parsed target data to obtain the rendered target data may include: obtaining a set of parsed data preceding the parsed target data, wherein the parsed data set includes at least the parsed initial interval data; comparing the data in the parsed data set with the parsed target data, and determining the incremental data in the parsed target data based on the comparison result; and rendering the incremental data to obtain the rendered target data.

[0117] For example, if the parsed target data corresponds to the second data block interval, then the set of parsed data preceding this target data is the parsed initial interval data. If the parsed target data corresponds to the third data block interval, then the set of parsed data preceding this target data includes the parsed initial interval data and the parsed target data corresponding to the second data block interval. If the parsed target data corresponds to the fourth data block interval, then the set of parsed data preceding this target data includes the parsed initial interval data, the parsed target data corresponding to the second data block interval, and the parsed target data corresponding to the third data block interval.

[0118] For each parsed target data, before rendering, the parsed target data can be compared with the data in the parsed data set to determine the incremental data within the parsed target data. Incremental data can be understood as data that exists in the parsed target data but not in the parsed data set. Incremental data is newly added data and therefore has not been rendered previously. Therefore, in this embodiment, only the incremental data within the parsed target data can be rendered, without needing to render all other data in the parsed target data, significantly reducing the computational load during rendering and improving rendering efficiency.

[0119] The process of determining incremental data in the parsed target data based on the comparison results may include: selecting historical parsed data from the parsed target data that overlaps with the data in the parsed data set; and using data in the parsed target data other than historical parsed data as incremental data.

[0120] In this embodiment of the application, in the process of determining the incremental data in the parsed target data, the parsed target data and the parsed dataset corresponding to the parsed target data can be used as the two comparison parties. The overlapping historical parsing data in the parsed target data and the parsed dataset can be marked, and these overlapping historical parsing data can be removed from the parsed target data to obtain the incremental data in the parsed target data.

[0121] The process of rendering incremental data to obtain rendered target data may include: obtaining rendered page data corresponding to historical parsed data; rendering incremental data to obtain rendered incremental data; and fusing the rendered incremental data with the rendered page data to obtain rendered target data.

[0122] After determining the incremental data in the parsed target data, the incremental data can be rendered to obtain the rendered incremental data. At the same time, the rendered page data corresponding to the historical parsed data in the parsed target data can be found. Then, the rendered incremental data and the rendered page data are fused to obtain the rendered target data corresponding to the parsed target data, and the rendered target data can be played.

[0123] In this embodiment of the application, the electronic device can invoke functions related to streaming rendering (such as the refeed function) to render incremental data. The rendering process generally includes the following steps:

[0124] (1) Read the constant dictionary of the mini program. Since the historical parsing data has been read and cached, only the incremental data needs to be checked.

[0125] (2) Processing the portion of incremental data that uses constant compression;

[0126] (3) Load the new mini-program webpage view;

[0127] (4) Initialize the new mini-program webpage view, but do not change the index of the already played mini-program webpage view.

[0128] As described above, in this embodiment, when a playback request for target data is detected, the entire data range of the target data is divided into blocks to obtain multiple block data ranges. Then, based on the timing information of the block data ranges, an initial data range is selected from the block data ranges. The initial data range includes the block data range corresponding to the initial playback range of the target data. After that, an initial data reading request is generated based on the initial data range and sent to the data source server. Finally, the initial data packet returned by the data source server in response to the initial data reading request is received, and the data in the initial data packet is played to replay the target data. Since this scheme can divide the entire data range of the target data into blocks and then read the target data in blocks, it can achieve streaming loading of the target data. This not only makes it compatible with streaming decompression but also reduces the load of a single loading, reduces the amount of data that needs to be processed when rendering the first batch of data (first screen data), optimizes the loading speed, and reduces the first playback rendering time, thereby greatly improving the smoothness of playback.

[0129] Based on the method described in the above embodiments, the following examples will provide further detailed explanations.

[0130] In this embodiment, the data playback device will be specifically integrated into an electronic device, which is a user terminal, and the terminal interacts with the data source server as an example.

[0131] Figure 8Another flowchart illustrating the data playback method provided in this application is shown. Figure 8 As shown, a data playback method has the following specific process:

[0132] 201. When a playback request for the target data is detected, the terminal divides the full data range of the target data into blocks, resulting in multiple block data ranges.

[0133] The target data can be visualized log data collected in mini-programs or applications, and can be at least one of text data, audio data, and video data. The full data range of the target data can be understood as the range representing the total amount of data in the target data.

[0134] For example, the terminal can obtain playback setting parameters for the target data, which include data block calibration information for the target data. The data block calibration information indicates the data range corresponding to each data block interval. The full data interval of the target data is divided into data blocks according to the data block calibration information to obtain multiple data block intervals.

[0135] 202. The terminal selects the initial data interval from the segmented data intervals based on the timing information of the segmented data intervals. The initial data intervals include the segmented data intervals corresponding to the initial playback range of the target data.

[0136] For example, each data segment includes the start and end times of the segment. When the entire target data segment is divided directly according to its playback time, each resulting segment directly includes its corresponding start and end times. When the entire target data segment is divided according to its actual size, each resulting segment includes its corresponding data size. In this case, the number of segments corresponding to each segment can be calculated to obtain the start and end times for each segment.

[0137] For example, the terminal can sort the playback order of the segmented data intervals based on the interval start time and interval end time to obtain timing information; according to the timing information, the segmented data interval located in the first playback order is used as the initial data interval of the target data.

[0138] 203. The terminal generates an initial data read request based on the initial data range and sends the initial data read request to the data source server.

[0139] A data source server can be understood as a server specifically designed to store various types of data, including the target data. Playback testers need to send a data read request to the data source server via their electronic device (terminal device). The data source server then responds to the request and returns the corresponding data, which can then be played back on the terminal device, thus enabling the playback of the target data.

[0140] For example, the terminal can use the start time of the initial data interval as the start time of the initial data interval and the end time of the initial data interval as the end time of the initial data interval; based on the start time and end time of the initial data interval, it can generate an initial data read request corresponding to the initial data interval.

[0141] For example, when a terminal sends a data read request to a data source server, it only needs to send a specific data read request corresponding to a specific data block range (such as an initial data read request corresponding to the initial data range), without sending a full read request for the entire target data to the data source server. Correspondingly, after receiving the data read request corresponding to the specific data block range, the data source server only needs to return the corresponding data block (data packet), which is a part of the target data.

[0142] 204. The terminal takes the block data intervals other than the initial data interval as the remaining data intervals, selects the target loading data intervals from the remaining data intervals in sequence according to the timing information, generates a target data read request based on the target loading data intervals, and sends the target data read request to the data source server.

[0143] For example, after sending an initial data read request to the data source server, the terminal, according to timing information, first needs to select the second data block in the remaining data range as the target data range, generate a target data read request based on the second data block, and then send the target data read request corresponding to the second data block to the data source server. After sending the target data read request corresponding to the second data block to the data source server, according to timing information, the terminal needs to select the third data block in the remaining data range as the target data range, generate a target data read request based on the third data block, and then send the target data read request corresponding to the third data block to the data source server. After sending the target data read request corresponding to the third data block to the data source server, according to timing information, the terminal needs to select the fourth data block in the remaining data range as the target data range, generate a target data read request based on the fourth data block, and then send the target data read request corresponding to the fourth data block to the data source server. After the above process, the terminal can send a data read request to the data source server to complete the reading of the entire target data.

[0144] 205. The terminal receives the initial data packet returned by the data source server in response to the initial data read request, and plays the data in the initial data packet.

[0145] For example, the terminal can parse the initial data packet to obtain the parsed initial interval data; render the parsed initial interval data to obtain the rendered initial interval data; and play the rendered initial interval data.

[0146] For example, after parsing the initial interval data, the terminal can filter out some common data, which can be understood as data that appears repeatedly in the target data. After filtering out the common data, the terminal can store the common data in OPFS (a file system) with a Uniform Resource Locator as the key identifier. If the common data is requested repeatedly in the future, the cached common data will be returned directly, thereby saving data retrieval time.

[0147] For example, the terminal can render the initial page data to obtain the rendered initial page data; render the initial interaction data to obtain the rendered initial interaction data; and use the rendered initial page data and the rendered initial interaction data as the rendered initial interval data.

[0148] For example, regardless of whether the initial page data or the initial interaction data is parsed first, the terminal can wait until both are parsed before sending rendering instructions to the rendering unit in a unified manner, thereby achieving parallelization of data requests. Since the terminal sends all rendering instructions to the rendering unit at the same time, the total waiting time of the requests can be reduced.

[0149] 206. The terminal receives the target data packet returned by the data source server in response to the target data reading request, parses the target data packet to obtain the parsed target data, renders the parsed target data to obtain the rendered target data, and plays the rendered target data.

[0150] For example, the terminal can obtain the parsed data set located before the parsed target data, the parsed data set including at least the parsed initial interval data; compare the data in the parsed data set with the parsed target data, determine the incremental data in the parsed target data based on the comparison result; and render the incremental data to obtain the rendered target data.

[0151] For example, the terminal can filter out historical parsed data that overlaps with the data in the parsed data set from the parsed target data; and treat the data in the parsed target data other than the historical parsed data as incremental data.

[0152] For example, the terminal can obtain the rendered page data corresponding to the historical parsed data; render the incremental data to obtain the rendered incremental data; and fuse the rendered incremental data with the rendered page data to obtain the rendered target data.

[0153] As described above, when a playback request for target data is detected, the terminal divides the full data range of the target data into multiple blocks. Then, based on the timing information of the block data ranges, the terminal selects an initial data range from the block data ranges. The initial data range includes the block data ranges corresponding to the initial playback range of the target data. Next, the terminal generates an initial data read request based on the initial data ranges and sends it to the data source server. Afterward, the terminal uses the remaining block data ranges (excluding the initial data ranges) as the remaining data ranges. Based on the timing information, it sequentially selects the target loading data range from the remaining data ranges, generates a target data read request based on the target loading data range, and sends it to the data source server. When the terminal receives the initial data packet returned by the data source server in response to the initial data read request, it plays the data in the initial data packet. Then, when the terminal receives the target data packet returned by the data source server in response to the target data read request, it parses the target data packet to obtain the parsed target data, renders the parsed target data to obtain the rendered target data, and plays the rendered target data. Because this solution can divide the entire target data range into blocks and read the target data in blocks, it can achieve streaming loading of the target data. It is not only compatible with streaming decompression, but also reduces the load of a single loading, reduces the amount of data that needs to be processed when rendering the first batch of data (first screen data), optimizes the loading speed, and reduces the first playback rendering time, thereby greatly improving the smoothness of playback.

[0154] To better implement the above methods, this application also provides a data playback device, which can be integrated into a network device, such as a server or terminal. The terminal may include a tablet computer, a laptop computer, and / or a personal computer.

[0155] Figure 9 A schematic diagram of the data playback device provided in an embodiment of this application is shown. Figure 9 As shown, the data playback device may include a segmentation unit 301, a filtering unit 302, a sending unit 303, and a playback unit 304, as follows:

[0156] (1) Block unit 301;

[0157] The segmentation unit 301 is used to segment the full data range of the target data into multiple segmented data ranges when a playback request for the target data is detected.

[0158] For example, the segmentation unit 301 can be used to obtain playback setting parameters for the target data. The playback setting parameters include data segmentation calibration information for the target data. The data segmentation calibration information indicates the data range corresponding to each segmented data interval. The full data interval of the target data is segmented according to the data segmentation calibration information to obtain multiple segmented data intervals.

[0159] (2) Filtering unit 302;

[0160] The filtering unit 302 is used to filter out the initial data interval from the block data interval based on the timing information of the block data interval. The initial data interval includes the block data interval corresponding to the initial playback range of the target data.

[0161] For example, the filtering unit 302 can be used to sort the playback order of the block data intervals based on the interval start time and interval end time to obtain time sequence information; according to the time sequence information, the block data interval located in the first playback order is used as the initial data interval of the target data.

[0162] (3) Transmitting unit 303;

[0163] The sending unit 303 is used to generate an initial data read request based on the initial data range and send the initial data read request to the data source server.

[0164] For example, the sending unit 303 can be used to take the interval start time corresponding to the initial data interval as the initial data start time and the interval end time corresponding to the initial data interval as the initial data end time; and generate an initial data read request corresponding to the initial data interval based on the initial data start time and the initial data end time.

[0165] For example, the sending unit 303 can be used to take the block data intervals other than the initial data interval as the remaining data intervals; select the target loading data intervals from the remaining data intervals in sequence according to the timing information; generate a target data reading request based on the target loading data intervals; and send the target data reading request to the data source server so that the data source server can return the target data packet based on the target data reading request.

[0166] (4) Playback Unit 304;

[0167] The playback unit 304 is used to receive the initial data packet returned by the data source server in response to the initial data reading request, and play the data in the initial data packet to replay the target data.

[0168] For example, playback unit 304 can be used to parse the initial data packet to obtain parsed initial interval data; render the parsed initial interval data to obtain rendered initial interval data; and play the rendered initial interval data to replay the target data.

[0169] For example, playback unit 304 can be used to render initial page data to obtain rendered initial page data; render initial interaction data to obtain rendered initial interaction data; and use the rendered initial page data and rendered initial interaction data as rendered initial interval data.

[0170] For example, playback unit 304 can be used to receive the target data packet returned by the data source server in response to the target data reading request; parse the target data packet to obtain the parsed target data; render the parsed target data to obtain the rendered target data, and play the rendered target data.

[0171] For example, playback unit 304 can be used to obtain the parsed data set located before the parsed target data, the parsed data set including at least the parsed initial interval data; compare the data in the parsed data set with the parsed target data, determine the incremental data in the parsed target data based on the comparison result; and render the incremental data to obtain the rendered target data.

[0172] For example, playback unit 304 can be used to filter out historical parsed data from the parsed target data that overlaps with the data in the parsed data set; and to treat the data in the parsed target data other than the historical parsed data as incremental data.

[0173] For example, playback unit 304 can be used to obtain the rendered page data corresponding to the historical parsing data; render the incremental data to obtain the rendered incremental data; and fuse the rendered incremental data with the rendered page data to obtain the rendered target data.

[0174] In practice, each of the above units can be implemented as an independent entity or can be arbitrarily combined to be implemented as the same or several entities. For the specific implementation of each of the above units, please refer to the previous method embodiments, which will not be repeated here.

[0175] As can be seen from the above, in this embodiment of the application, when a playback request for target data is detected, the segmentation unit 301 segments the full data range of the target data into multiple segmented data ranges; then, the filtering unit 302 filters out the initial data range from the segmented data ranges according to the timing information of the segmented data ranges, the initial data range including the segmented data range corresponding to the initial playback range of the target data; then, the sending unit 303 generates an initial data reading request based on the initial data range and sends the initial data reading request to the data source server; finally, the playback unit 304 receives the initial data packet returned by the data source server in response to the initial data reading request and plays the data in the initial data packet to play back the target data. Since this scheme can segment the full data range of the target data and then read the target data in segments to achieve streaming loading of the target data, it is not only compatible with streaming decompression, but also reduces the load of a single loading, reduces the amount of data to be processed when rendering the first batch of data (first screen data), optimizes the loading speed, and reduces the first playback rendering time, thereby greatly improving the smoothness of playback.

[0176] This application also provides an electronic device, such as... Figure 10 As shown, it illustrates a structural schematic diagram of the electronic device involved in the embodiments of this application, specifically:

[0177] The electronic device may include components such as a processor 401 with one or more processing cores, a memory 402 with one or more computer-readable storage media, a power supply 403, and an input unit 404. Those skilled in the art will understand that... Figure 10 The electronic device structure shown does not constitute a limitation on the electronic device and may include more or fewer components than shown, or combine certain components, or have different component arrangements. Wherein:

[0178] The processor 401 is the control center of the electronic device, connecting various parts of the device via various interfaces and lines. It executes software programs and / or modules stored in the memory 402, and calls data stored in the memory 402, to perform various functions and process data. Optionally, the processor 401 may include one or more processing cores; preferably, the processor 401 may integrate an application processor and a modem processor, wherein the application processor mainly handles the operating system, user interface, and applications, and the modem processor mainly handles wireless communication. It is understood that the modem processor may not be integrated into the processor 401.

[0179] The memory 402 can be used to store software programs and modules. The processor 401 executes various functional applications and data processing by running the software programs and modules stored in the memory 402. The memory 402 may mainly include a program storage area and a data storage area. The program storage area may store the operating system, application programs required for at least one function (such as sound playback function, image playback function, etc.), etc.; the data storage area may store data created according to the use of the electronic device, etc. In addition, the memory 402 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device. Accordingly, the memory 402 may also include a memory controller to provide the processor 401 with access to the memory 402.

[0180] The electronic device also includes a power supply 403 that supplies power to the various components. Preferably, the power supply 403 can be logically connected to the processor 401 through a power management system, thereby enabling functions such as charging, discharging, and power consumption management through the power management system. The power supply 403 may also include one or more DC or AC power supplies, recharging systems, power fault detection circuits, power converters or inverters, power status indicators, and other arbitrary components.

[0181] The electronic device may also include an input unit 404, which can be used to receive input digital or character information, and generate keyboard, mouse, joystick, optical or trackball signal inputs related to user settings and function control.

[0182] Although not shown, the electronic device may also include a display unit, etc., which will not be described in detail here. Specifically, in this embodiment, the processor 401 in the electronic device loads the executable files corresponding to the processes of one or more applications into the memory 402 according to the following instructions, and the processor 401 runs the applications stored in the memory 402 to realize various functions, as follows:

[0183] When a playback request for target data is detected, the full data range of the target data is divided into blocks to obtain multiple block data ranges. Based on the timing information of the block data ranges, an initial data range is selected from the block data ranges. The initial data range includes the block data ranges corresponding to the initial playback range of the target data. An initial data read request is generated based on the initial data range and sent to the data source server. The initial data packet returned by the data source server in response to the initial data read request is received, and the data in the initial data packet is played to play back the target data.

[0184] For example, when a playback request for target data is detected, the electronic device can divide the full data range of the target data into multiple blocks. Then, based on the timing information of the block data ranges, the electronic device selects an initial data range from the block data ranges. The initial data range includes the block data ranges corresponding to the initial playback range of the target data. Next, the electronic device generates an initial data read request based on the initial data ranges and sends it to the data source server. Afterward, the electronic device uses the remaining block data ranges (excluding the initial data ranges) as the remaining data ranges. Based on the timing information, it sequentially selects the target loading data range from the remaining data ranges, generates a target data read request based on the target loading data range, and sends it to the data source server. When the electronic device receives the initial data packet returned by the data source server in response to the initial data read request, it plays the data in the initial data packet. Then, when the electronic device receives the target data packet returned by the data source server in response to the target data read request, it parses the target data packet to obtain the parsed target data, renders the parsed target data to obtain the rendered target data, and plays the rendered target data, and so on.

[0185] For details on the implementation of each of the above operations, please refer to the previous examples, which will not be repeated here.

[0186] As described above, in this embodiment, when a playback request for target data is detected, the entire data range of the target data is divided into blocks to obtain multiple block data ranges. Then, based on the timing information of the block data ranges, an initial data range is selected from the block data ranges. The initial data range includes the block data range corresponding to the initial playback range of the target data. After that, an initial data read request is generated based on the initial data range and sent to the data source server. Finally, the initial data packet returned by the data source server in response to the initial data read request is received, and the data in the initial data packet is played to replay the target data. Since this scheme can divide the entire data range of the target data into blocks and then read the target data in blocks, it can achieve streaming loading of the target data. This not only makes it compatible with streaming decompression but also reduces the load of a single loading, reduces the amount of data that needs to be processed when rendering the first batch of data (first screen data), optimizes the loading speed, and reduces the first playback rendering time, thereby greatly improving the smoothness of playback.

[0187] Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be performed by instructions, or by instructions controlling related hardware. These instructions can be stored in a computer-readable storage medium and loaded and executed by a processor.

[0188] Therefore, embodiments of this application provide a computer-readable storage medium storing a plurality of instructions that can be loaded by a processor to execute steps in any of the data playback methods provided in embodiments of this application. For example, the instructions can execute the following steps:

[0189] When a playback request for target data is detected, the full data range of the target data is divided into blocks to obtain multiple block data ranges. Based on the timing information of the block data ranges, an initial data range is selected from the block data ranges. The initial data range includes the block data ranges corresponding to the initial playback range of the target data. An initial data read request is generated based on the initial data range and sent to the data source server. The initial data packet returned by the data source server in response to the initial data read request is received, and the data in the initial data packet is played to play back the target data.

[0190] For example, when a playback request for target data is detected, the full data range of the target data is divided into blocks, resulting in multiple block data ranges. Then, based on the timing information of the block data ranges, an initial data range is selected from the block data ranges. The initial data range includes the block data ranges corresponding to the initial playback range of the target data. Next, an initial data read request is generated based on the initial data ranges and sent to the data source server. After that, the block data ranges other than the initial data ranges are used as the remaining data ranges. Based on the timing information, target loading data ranges are selected sequentially from the remaining data ranges. A target data read request is generated based on the target loading data ranges and sent to the data source server. When the initial data packet returned by the data source server in response to the initial data read request is received, the data in the initial data packet is played. After that, when the target data packet returned by the data source server in response to the target data read request is received, the target data packet is parsed to obtain the parsed target data. The parsed target data is then rendered to obtain the rendered target data, and the rendered target data is played, and so on.

[0191] For details on the implementation of each of the above operations, please refer to the previous examples, which will not be repeated here.

[0192] The computer-readable storage medium may include: read-only memory (ROM), random access memory (RAM), disk or optical disk, etc.

[0193] Since the instructions stored in the computer-readable storage medium can execute the steps of any of the data playback methods provided in the embodiments of this application, the beneficial effects that any of the data playback methods provided in the embodiments of this application can achieve can be realized, as detailed in the preceding embodiments, and will not be repeated here.

[0194] According to one aspect of this application, a computer program product or computer program is provided, comprising computer instructions stored in a computer-readable storage medium. A processor of an electronic device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the electronic device to perform the methods provided in the various alternative implementations of the data access aspect described above.

[0195] The data playback method, apparatus, and computer-readable storage medium provided in the embodiments of this application have been described in detail above. Specific examples have been used to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only for the purpose of helping to understand the method and core ideas of the present invention. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of the present invention. Therefore, the content of this specification should not be construed as a limitation of the present invention.

Claims

1. A data playback method, characterized in that, include: When a playback request for target data is detected, the full data range of the target data is divided into blocks to obtain multiple block data ranges. Based on the timing information of the segmented data intervals, an initial data interval is selected from the segmented data intervals, wherein the initial data intervals include the segmented data intervals corresponding to the initial playback range of the target data; An initial data read request is generated based on the initial data range, and the initial data read request is sent to the data source server. The system receives the initial data packet returned by the data source server in response to the initial data read request, and plays the data in the initial data packet to replay the target data.

2. The data playback method as described in claim 1, characterized in that, The full data range of the target data is divided into blocks to obtain multiple block data ranges, including: Obtain the playback setting parameters of the target data, the playback setting parameters including data block calibration information for the target data, the data block calibration information indicating the data range corresponding to each data block interval; The target data is divided into multiple data blocks according to the data block labeling information.

3. The data playback method as described in claim 1, characterized in that, Each of the aforementioned data blocks includes an interval start time and an interval end time. The step of selecting an initial data interval from the segmented data interval based on the time-series information of the segmented data interval includes: Based on the start time and end time of the interval, the playback order of the segmented data intervals is sorted to obtain the time series information; Based on the timing information, the block data interval located in the first playback order is taken as the initial data interval of the target data.

4. The data playback method as described in claim 3, characterized in that, The step of generating an initial data read request based on the initial data range includes: The interval start time corresponding to the initial data interval is taken as the initial data start time, and the interval end time corresponding to the initial data interval is taken as the initial data end time. Based on the initial data start time and the initial data end time, an initial data read request corresponding to the initial data interval is generated.

5. The data playback method as described in claim 1, characterized in that, Playing the data in the initial data packet includes: The initial data packet is parsed to obtain the parsed initial interval data; The parsed initial interval data is rendered to obtain the rendered initial interval data; Play the rendered initial interval data.

6. The data playback method as described in claim 5, characterized in that, The parsed initial interval data includes the initial page data and the initial interaction data corresponding to the initial page data. The step of rendering the parsed initial interval data to obtain rendered initial interval data includes: The initial page data is rendered to obtain rendered initial page data. The initial interaction data is rendered to obtain rendered initial interaction data; The rendered initial page data and the rendered initial interaction data are used as the rendered initial interval data.

7. The data playback method as described in claim 1, characterized in that, After sending the initial data read request to the data source server, the method further includes: The remaining data intervals are the block data intervals other than the initial data interval. Based on the timing information, target loading data intervals are selected sequentially from the remaining data intervals; A target data read request is generated based on the target data loading range, and the target data read request is sent to the data source server so that the data source server returns the target data packet based on the target data read request.

8. The data playback method as described in claim 7, characterized in that, After receiving the initial data packet returned by the data source server in response to the initial data read request, the method further includes: Receive the target data packet returned by the data source server in response to the target data read request; The target data packet is parsed to obtain the parsed target data; The parsed target data is rendered to obtain rendered target data, and the rendered target data is played.

9. The data playback method as described in claim 8, characterized in that, The step of rendering the parsed target data to obtain rendered target data includes: Obtain the parsed data set located before the parsed target data, wherein the parsed data set includes at least the parsed initial interval data; The data in the parsed dataset is compared with the parsed target data, and the incremental data in the parsed target data is determined based on the comparison result. The incremental data is rendered to obtain the rendered target data.

10. The data playback method as described in claim 9, characterized in that, The step of determining the incremental data in the parsed target data based on the comparison results includes: Filter out historical parsed data from the parsed target data that overlaps with the data in the parsed data set; The data in the parsed target data other than the historical parsed data are used as the incremental data.

11. The data playback method as described in claim 10, characterized in that, The step of rendering the incremental data to obtain the rendered target data includes: Obtain the rendered page data corresponding to the historical parsed data; The incremental data is rendered to obtain rendered incremental data; The rendered incremental data is fused with the rendered page data to obtain the rendered target data.

12. A data playback device, characterized in that, include: The segmentation unit is used to segment the full data range of the target data into multiple segmented data ranges when a playback request for the target data is detected. A filtering unit is used to filter out an initial data interval from the segmented data interval based on the timing information of the segmented data interval, wherein the initial data interval includes the segmented data interval corresponding to the initial playback range of the target data; The sending unit is configured to generate an initial data read request based on the initial data range and send the initial data read request to the data source server. The playback unit is used to receive the initial data packet returned by the data source server in response to the initial data reading request, and play the data in the initial data packet to replay the target data.

13. An electronic device, characterized in that, It includes a processor and a memory, the memory storing an application program, and the processor running the application program in the memory to perform the steps in the data playback method according to any one of claims 1 to 11.

14. A computer program product comprising a computer program / instructions, characterized in that, When the computer program / instruction is executed by the processor, it implements the steps of the data playback method according to any one of claims 1 to 11.

15. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a plurality of instructions adapted for loading by a processor to perform the steps of the data playback method according to any one of claims 1 to 11.