Data downloading method, device and equipment of non-real-time direct carousel system and storage medium
By collaborating in the non-real-time live carousel system, the live broadcast client and server jointly divide the data download area and prefetching data according to preset rules, the problem that the prefetching amount in the fixed-rate pre-download strategy cannot match the actual needs, and the effect of accurate matching, saving resources and improving data sharing efficiency is achieved.
Patent Information
- Application Number
- CN202411403933.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-09
- Publication Date
- 2025-03-04
AI Technical Summary
The fixed prefetch amount in the fixed ratio pre-download strategy in the prior art cannot accurately match the actual playback needs, resulting in excessive prefetching of some data, resulting in waste of bandwidth and storage resources, and the lack of flexibility of prefetching strategies is difficult to adapt to changes in the network environment and user behavior, which affects the efficiency of data sharing.
The live broadcast client sends the current playback point of the real-time live broadcast data to the server according to the preset time interval. The server divides the data download areas into stable areas and non-stable areas, and sends these areas to the client. The client determines the prefetch amount and prefetch start position of the non-stable area prefetch data according to the preset rules, downloads part of the non-stable area data in the non-stable data source, downloads the stable area data in the stable data source, and prefetches the remaining part of the non-stable area data according to the prefetch rules.
The prefetch amount of prefetched data is accurately matched with the actual playback request, saving bandwidth and storage resources, and improving the efficiency of data sharing.
Smart Images

Figure CN119562082A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of data downloading, and in particular to a data downloading method, device, equipment and storage medium for a non-real-time live broadcast system. Background Art
[0002] With the popularity of home network TV and live broadcast services, live broadcast content with relatively low real-time requirements has become an important part of users' daily entertainment. Such services, such as live news broadcasts and carousel playback of sports events, do not have as strict real-time requirements as instant interactive live broadcasts, but still need to ensure that viewers can watch the program content smoothly. However, delays in network transmission are inevitable, especially in large-scale distributed systems. In order to cope with network fluctuations and ensure playback stability, a playback delay of 2-5 minutes is usually set.
[0003] During this delay, the system usually uses a cache mechanism to store the received data and promotes data sharing between nodes through P2P technology, thereby reducing the bandwidth pressure of the central server. However, in the traditional fixed ratio pre-download strategy, the fixed pre-fetch amount cannot accurately match the actual playback demand, resulting in excessive pre-fetching of some data, resulting in a waste of bandwidth and storage resources; and the lack of flexibility in the pre-fetch strategy is difficult to adapt to changes in the network environment and user behavior, affecting the efficiency of data sharing. Summary of the invention
[0004] The present invention provides a data downloading method, device, equipment and storage medium for a non-real-time live broadcast system, which solves the technical problem that the fixed pre-fetching amount in the fixed ratio pre-downloading strategy in the prior art cannot accurately match the actual playback demand, resulting in excessive pre-fetching of some data, causing waste of bandwidth and storage resources, and affecting data sharing efficiency.
[0005] According to a first aspect of the present disclosure, a data download method for a non-real-time live broadcast system is provided. The method comprises: a live broadcast client sends a current playback point of real-time live broadcast data to a server according to a preset time interval, so that the server divides a data download area into a stable area and an unstable area according to the playback point, and sends the stable area and the unstable area to the live broadcast client;
[0006] The live broadcast client determines the pre-fetch amount and pre-fetch start position of the pre-fetched data in the unstable area according to preset rules, downloads part of the unstable area data from the unstable data source, downloads the stable area data from the stable data source, and pre-fetches the remaining part of the unstable area data according to the pre-fetch rules.
[0007] According to the above aspects and any possible implementation method, an implementation method is further provided, wherein the unstable data source is a Peer node.
[0008] According to the above aspects and any possible implementation, an implementation is further provided, wherein the live broadcast client determines the pre-fetch amount and pre-fetch start position of the pre-fetched data in the unstable area according to a preset rule, including:
[0009] Determine whether there is a Peer node in the unstable source connection list;
[0010] If it exists, let the fixed prefetch value be Q, the fixed prefetch coefficient be M, and the minimum prefetch value be R;
[0011] Determine the number P of data blocks to be prefetched;
[0012] Calculate the maximum number of pre-fetched data blocks S, S = min (P, P * Q + M);
[0013] Calculate the starting position T of this prefetch, T = max(0, abs(rand(0, P) – S);
[0014] The pre-fetched data block range Y is determined based on S and T, where Y=meta.block[T..S].
[0015] According to the aspects described above and any possible implementation method, an implementation method is further provided, wherein the fixed prefetch coefficient is an externally adjustable coefficient; P is the number of data blocks in meta excluding the number of data blocks that have been completed, are being downloaded, and have SHARE-IN-RANGE>0, wherein meta is a metadata set containing information of all data blocks, and SHARE-IN-RANGE is a set of data or resources shared by multiple Peer nodes.
[0016] According to the above aspects and any possible implementation manner, an implementation manner is further provided, wherein the method further includes:
[0017] Before prefetching, count the SHARE-IN-RANGE of metadata.
[0018] According to the above aspects and any possible implementation manner, an implementation manner is further provided, wherein the method further includes:
[0019] Dynamically adjust the proportion of downloads from stable and unstable data sources based on real-time network conditions.
[0020] According to the above aspects and any possible implementation manner, an implementation manner is further provided, wherein the method further includes:
[0021] The size of the data download area is dynamically adjusted based on the actual situation of available data.
[0022] According to a second aspect of the present disclosure, a data download device for a non-real-time live broadcast system is provided. The device comprises: a data acquisition module, which is used for a live broadcast client to send the current playback point of the real-time live broadcast data to a server according to a preset time interval, so that the server divides the data download area into a stable area and an unstable area according to the playback point, and sends the stable area and the unstable area to the live broadcast client;
[0023] The data download module is used for the live broadcast client to determine the pre-fetch amount and pre-fetch starting position of the pre-fetched data in the unstable area according to preset rules, download part of the unstable area data from the unstable data source, download the stable area data from the stable data source, and pre-fetch the remaining part of the unstable area data according to the pre-fetch rules.
[0024] According to a third aspect of the present disclosure, an electronic device is provided, comprising: a memory and a processor, wherein a computer program is stored in the memory, and when the processor executes the program, the method of the first aspect and / or the second aspect is implemented.
[0025] According to a fourth aspect of the present disclosure, a computer-readable storage medium is provided, on which a computer program is stored. When the program is executed by a processor, the method according to the first aspect and / or the second aspect of the present disclosure is implemented.
[0026] In the present disclosure, a live broadcast client sends a current playback point of real-time live broadcast data to a server according to a preset time interval; the server divides the data download area into a stable area and an unstable area according to the playback point position, and sends the data to the live broadcast client; the live broadcast client determines the prefetch amount and prefetch start position of prefetched data in the unstable area according to preset rules, downloads part of the unstable area data from the unstable data source, downloads the stable area data from the stable data source, and prefetches the remaining part of the unstable area data according to the prefetch rules; in this way, the prefetch amount of the prefetched data can be accurately matched with the actual playback request, saving bandwidth and storage resources, and improving the efficiency of data sharing.
[0027] It should be understood that the contents described in the summary of the invention are not intended to limit the key or important features of the embodiments of the present disclosure, nor are they intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0028] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. The accompanying drawings are used to better understand the present solution and do not constitute a limitation of the present disclosure. In the accompanying drawings, the same or similar reference numerals represent the same or similar elements, among which:
[0029] Figure 1A flow chart showing a data downloading method of a non-real-time live broadcast system according to an embodiment of the present disclosure is shown;
[0030] Figure 2 A block diagram of a data downloading device of a non-real-time live broadcast system according to an embodiment of the present disclosure is shown;
[0031] Figure 3 A block diagram of an exemplary electronic device capable of implementing embodiments of the present disclosure is shown. DETAILED DESCRIPTION
[0032] In order to make the purpose, technical solution and advantages of the embodiments of the present disclosure clearer, the technical solution in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are part of the embodiments of the present disclosure, not all of the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present disclosure.
[0033] In addition, the term "and / or" in this article is only a description of the association relationship between the associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship.
[0034] In the present disclosure, in order to solve the problem that the fixed pre-fetching amount in the fixed ratio pre-downloading strategy in the prior art cannot accurately match the actual playback demand, resulting in excessive pre-fetching of part of the data, causing a waste of bandwidth and storage resources; and the lack of flexibility in the pre-fetching strategy is difficult to adapt to changes in the network environment and user behavior, affecting the efficiency of data sharing, a data download method for a non-real-time live broadcast system is proposed, the method comprising: the live broadcast client sends the current playback point of the real-time live broadcast data to the server according to a preset time interval, the server divides the data download area into a stable area and an unstable area according to the playback point position, and sends it to the live broadcast client; the live broadcast client determines the pre-fetching amount and pre-fetching starting position of the pre-fetched data in the unstable area according to the preset rules, downloads part of the unstable area data from the unstable data source, downloads the stable area data from the stable data source, and pre-fetches the remaining part of the unstable area data according to the pre-fetching rules; in this way, the pre-fetching amount of the pre-fetched data can be accurately matched with the actual playback request, saving bandwidth and storage resources, and improving the efficiency of data sharing.
[0035] Figure 1 FIG. 1 is a flow chart showing a data download method 100 for a non-real-time live streaming system according to an embodiment of the present disclosure. Figure 1 As shown, the data download method of the non-real-time live broadcast system includes:
[0036] S101, the live broadcast client sends the current playback point of the real-time live broadcast data to the server according to a preset time interval, so that the server divides the data download area into a stable area and an unstable area according to the playback point, and sends the stable area and the unstable area to the live broadcast client;
[0037] In a possible implementation, the size of the preset time interval is determined by the real-time network status.
[0038] In a possible implementation, the play point is a starting point of the content that the user is currently watching or is about to watch.
[0039] In a possible implementation, the stable area is a data download area close to the playback point, and the unstable area is a data download area other than the stable area.
[0040] In some embodiments, the proportion of downloading from the stable data source and the unstable data source is dynamically adjusted according to the real-time network status.
[0041] In some embodiments, the proportion of data downloads in the stable area and the unstable area is dynamically adjusted according to the real-time network status.
[0042] In a possible implementation, the size of the data download area is dynamically adjusted according to the actual situation of available data.
[0043] In a possible implementation, the server calculates the size of the stable zone according to the current playback speed and a preset buffer size. The buffer size is usually set according to the implementation network conditions and user experience requirements to ensure that a certain playback time can be maintained even when the network fluctuates.
[0044] In a possible implementation, the server monitors the network status in real time, including indicators such as bandwidth, delay, and packet loss rate, so as to adjust the division of the stable area and the unstable area according to the actual situation.
[0045] In a possible implementation, data in the unstable area can be downloaded from other users through P2P (Peer-to-Peer, peer-to-peer download) technology to reduce dependence on stable data sources, reduce server bandwidth pressure, and improve data transmission efficiency. After caching the data, the cached data can be used as a data source in the P2P network for other clients to download. At the same time, the server will dynamically adjust the download priority according to network conditions and user needs.
[0046] S102, the live broadcast client determines the pre-fetching amount and pre-fetching starting position of the pre-fetched data in the unstable area according to a preset rule, downloads part of the unstable area data from the unstable data source, downloads the stable area data from the stable data source, and pre-fetches the remaining part of the unstable area data according to the pre-fetching rule.
[0047] In some embodiments, the non-stable data source is a Peer node.
[0048] In a possible implementation, the live broadcast client determines the pre-fetch amount and the pre-fetch start position of the pre-fetched data in the unstable area according to a preset rule, including:
[0049] Determine whether there is a Peer node in the unstable source connection list;
[0050] If it exists, let the fixed prefetch value be Q, the fixed prefetch coefficient be M, and the minimum prefetch value be R;
[0051] Determine the number P of data blocks to be prefetched;
[0052] Calculate the maximum number of pre-fetched data blocks S, S = min (P, P * Q + M);
[0053] Calculate the starting position T of this prefetch, T = max(0, abs(rand(0, P) – S);
[0054] The pre-fetched data block range Y is determined based on S and T, where Y=meta.block[T..S].
[0055] In some embodiments, the fixed prefetch coefficient is an externally adjustable coefficient; the P is the number of data blocks in meta excluding the number of data blocks that have been completed, are being downloaded, and have SHARE-IN-RANGE>0, wherein the meta is a metadata set containing information of all data blocks, and the SHARE-IN-RANGE is a set of data or resources shared by multiple Peer nodes.
[0056] In some embodiments, before pre-fetching, the SHARE-IN-RANGE of metadata is counted.
[0057] In some embodiments, the fixed pre-fetch value Q is a percentage, and the fixed pre-fetch coefficient M is an empirical value.
[0058] In some embodiments, in actual applications, the values of the fixed pre-fetch value Q and the fixed pre-fetch coefficient M can be adjusted in real time in the background.
[0059] In some embodiments, the current maximum number S of pre-fetched data blocks is the smaller value of the number P of data blocks to be pre-fetched and the product of the number of data blocks to be pre-fetched and the fixed pre-fetch value plus a fixed pre-fetch coefficient.
[0060] In one possible implementation, data in the stable area is mainly downloaded through CDN (Content Delivery Network) to ensure data stability and reliability. The distributed architecture of CDN can quickly respond to user requests and provide high-quality content transmission services. The server uses the distributed nodes of CDN to accelerate the transmission of content.
[0061] In a possible implementation, the server predicts the user's future viewing behavior by collecting and analyzing the user's viewing habits, such as viewing duration, viewing speed, playback frequency, etc. These prediction results help the system to divide the data download area more accurately.
[0062] In some embodiments, the system can dynamically adjust the range of the stable area and the unstable area according to the real-time changes in user behavior. For example, if the user's viewing speed increases, the system may put more content into the stable area to ensure the smoothness of the user's viewing.
[0063] In a possible implementation, the server also manages data storage and access based on the cache strategy. For data in the stable area, the server may increase the cache priority and capacity to ensure fast data access. For data in the unstable area, a more flexible cache strategy may be adopted, such as on-demand cache or pre-fetch cache.
[0064] In one possible implementation, the server collects user feedback, such as freezes, delays, and other issues, and optimizes the data download area division and caching strategy based on the feedback.
[0065] It should be noted that, for the aforementioned method embodiments, for the sake of simplicity, they are all described as a series of action combinations, but those skilled in the art should be aware that the present disclosure is not limited by the order of the actions described, because according to the present disclosure, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all optional embodiments, and the actions and modules involved are not necessarily required by the present disclosure.
[0066] The above is an introduction to the method embodiment. The following is a further explanation of the scheme disclosed in the present invention through an apparatus embodiment.
[0067] Figure 2 FIG. 2 is a block diagram of a data downloading device 200 of a non-real-time live streaming system according to an embodiment of the present disclosure. Figure 2 As shown, the device 200 includes:
[0068] The data acquisition module 201 is used for the live broadcast client to send the current playback point of the real-time live broadcast data to the server according to a preset time interval, so that the server divides the data download area into a stable area and an unstable area according to the playback point, and sends the stable area and the unstable area to the live broadcast client;
[0069] The data download module 202 is used by the live broadcast client to determine the pre-fetch amount and pre-fetch starting position of the pre-fetched data in the unstable area according to preset rules, download part of the unstable area data from the unstable data source, download the stable area data from the stable data source, and pre-fetch the remaining part of the unstable area data according to the pre-fetch rules.
[0070] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the described module can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.
[0071] In the technical solution disclosed herein, the acquisition, storage and application of user personal information involved are in compliance with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0072] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium and a computer program product.
[0073] Figure 3 A schematic block diagram of an electronic device 300 that can be used to implement an embodiment of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.
[0074] The electronic device 300 includes a computing unit 301, which can perform various appropriate actions and processes according to a computer program stored in a ROM 302 or a computer program loaded from a storage unit 308 into a RAM 303. In the RAM 303, various programs and data required for the operation of the electronic device 300 can also be stored. The computing unit 301, the ROM 302, and the RAM 303 are connected to each other via a bus 304. An I / O interface 305 is also connected to the bus 304.
[0075] A number of components in the electronic device 300 are connected to the I / O interface 305, including: an input unit 306, such as a keyboard, a mouse, etc.; an output unit 307, such as various types of displays, speakers, etc.; a storage unit 308, such as a disk, an optical disk, etc.; and a communication unit 309, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 309 allows the electronic device 300 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0076] The computing unit 301 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 301 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 301 performs the various methods and processes described above, such as method 100. For example, in some embodiments, the method 100 may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 308. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 300 via the ROM 302 and / or the communication unit 309. When the computer program is loaded into the RAM 303 and executed by the computing unit 301, one or more steps of the method 100 described above may be performed. Alternatively, in other embodiments, the computing unit 301 may be configured to perform the method 100 in any other appropriate manner (e.g., by means of firmware).
[0077] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0078] The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0079] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0080] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0081] The systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), and the Internet.
[0082] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship of client and server is generated by computer programs running on respective computers and having a client-server relationship with each other. The server may be a cloud server, a server of a distributed system, or a server combined with a blockchain.
[0083] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in this disclosure can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this document does not limit this.
[0084] The above specific implementations do not constitute a limitation on the protection scope of the present disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present disclosure shall be included in the protection scope of the present disclosure.
Claims
1. A data download method for a non-real-time live broadcast system, characterized in that: include: The live broadcast client sends the current playback point of the real-time live broadcast data to the server according to a preset time interval, so that the server divides the data download area into a stable area and an unstable area according to the playback point, and sends the stable area and the unstable area to the live broadcast client; The live broadcast client determines the pre-fetch amount and pre-fetch start position of the pre-fetched data in the unstable area according to preset rules, downloads part of the unstable area data from the unstable data source, downloads the stable area data from the stable data source, and pre-fetches the remaining part of the unstable area data according to the pre-fetch rules.
2. The method according to claim 1, characterized in that The unstable data source is a Peer node.
3. The method according to claim 1, characterized in that The live broadcast client determines the pre-fetch amount and pre-fetch start position of pre-fetched data in the unstable area according to a preset rule, including: Determine whether there is a Peer node in the unstable source connection list; If it exists, let the fixed prefetch value be Q, the fixed prefetch coefficient be M, and the minimum prefetch value be R; Determine the number P of data blocks to be prefetched; Calculate the maximum number of pre-fetched data blocks S, S = min (P, P * Q + M); Calculate the starting position T of this prefetch, T = max(0, abs(rand(0, P) – S); The pre-fetched data block range Y is determined based on S and T, where Y=meta.block[T..S].
4. The method according to claim 3, characterized in that The fixed pre-fetch coefficient is an externally adjustable coefficient; P is the number of data blocks in meta excluding the number of data blocks that have been completed, are being downloaded, and have SHARE-IN-RANGE>0, wherein meta is a metadata set containing information on all data blocks, and SHARE-IN-RANGE is a set of data or resources shared by multiple Peer nodes.
5. The method according to claim 3, characterized in that: The method further comprises: Before prefetching, count the SHARE-IN-RANGE of metadata.
6. The method according to claim 1, characterized in that The method further comprises: Dynamically adjust the proportion of downloads from stable and unstable data sources based on real-time network conditions.
7. The method according to claim 1, characterized in that The method further comprises: The size of the data download area is dynamically adjusted based on the actual situation of available data.
8. A data downloading device for a non-real-time live streaming system, characterized in that: include: The data acquisition module is used for the live broadcast client to send the current playback point of the real-time live broadcast data to the server according to a preset time interval, so that the server divides the data download area into a stable area and an unstable area according to the playback point, and sends the stable area and the unstable area to the live broadcast client; The data download module is used for the live broadcast client to determine the pre-fetch amount and pre-fetch starting position of the pre-fetched data in the unstable area according to preset rules, download part of the unstable area data from the unstable data source, download the stable area data from the stable data source, and pre-fetch the remaining part of the unstable area data according to the pre-fetch rules.
9. An electronic device, comprising: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1 to 7.
10. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to cause the computer to execute the method according to any one of claims 1 to 7.