Method and device for fast startup and content preloading of network HD media player
By performing hierarchical parallel initialization and user behavior characteristics analysis on network high-definition players, combined with system component dependency graphs and constraint optimization, intelligent content prediction and dynamic resource scheduling are realized, solving the problems of long startup time and low resource efficiency, and improving loading efficiency and system stability.
Patent Information
- Application Number
- CN202510308511.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-17
- Publication Date
- 2025-05-16
- Estimated Expiration
- 2045-03-17
AI Technical Summary
Currently, the network high-definition player has problems such as too long startup time and low resource scheduling efficiency during startup, and the preloading mechanism cannot be dynamically adjusted according to user behavior and system status, resulting in wasted system resources.
By performing hierarchical parallel initialization and data acquisition of the system core, playback decoding module and network transmission module of the network high-definition player, a user behavior feature vector and system component dependency graph are constructed, constraint optimization is performed to minimize startup delay, intelligent content prediction and priority sorting, and dynamically adjust preloading strategies and resource allocation.
It effectively reduces startup delay, improves content loading efficiency, optimizes system resource utilization, and enhances system stability and reliability.
Smart Images

Figure CN119835486B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of network content playback, and in particular to a method and device for quickly starting and preloading content of a network high-definition player. Background Art
[0002] Users' requirements for high definition and smoothness of playback content are constantly increasing, which puts higher demands on the startup performance and content loading efficiency of network HD players.
[0003] Current network HD players generally have problems with long startup time and low resource scheduling efficiency during the startup process. Traditional startup methods usually adopt a serial loading strategy, and the dependencies between system components are complex, resulting in a large startup delay; at the same time, the preloading mechanism often adopts a static configuration method, which cannot be dynamically adjusted according to user behavior and system status, resulting in a waste of system resources. Summary of the invention
[0004] The main purpose of the present invention is to provide a method and device for quickly starting and preloading content of a network high-definition player. The present invention effectively reduces the startup delay, realizes intelligent prediction and accurate sorting of content, and improves content loading efficiency.
[0005] To achieve the above object, the present invention provides a method for quickly starting and preloading content of a network high-definition player, comprising the following steps:
[0006] Perform hierarchical parallel initialization and data collection on the system kernel, playback decoding module and network transmission module in the network high-definition player to obtain a multi-dimensional feature data set and construct a user behavior feature vector;
[0007] Build a system component dependency graph and perform constrained optimization to minimize startup latency to obtain a parallel startup sequence;
[0008] Based on the parallel startup sequence and the user behavior feature vector, intelligent prediction and priority sorting are performed on the playback content to obtain a hierarchical preloading strategy;
[0009] The hierarchical preloading strategy is dynamically prioritized and resource allocation weights are calculated to obtain a preloading scheduling solution, and the content to be loaded is divided into a high-frequency preloading area and a low-frequency preloading area for block loading to obtain a preloading execution result.
[0010] The present invention also provides a fast startup and content preloading device for a network high-definition player, comprising:
[0011] The data acquisition module is used to perform hierarchical parallel initialization and data acquisition on the system kernel, playback decoding module and network transmission module in the network high-definition player to obtain a multi-dimensional feature data set and construct a user behavior feature vector;
[0012] The construction module is used to build the system component dependency graph and perform constraint optimization to minimize the startup delay to obtain a parallel startup sequence;
[0013] An intelligent prediction module, used to perform intelligent prediction and priority sorting on the playback content based on the parallel startup sequence and the user behavior feature vector to obtain a hierarchical preloading strategy;
[0014] The preloading module is used to dynamically adjust the priority and calculate the resource allocation weight of the hierarchical preloading strategy to obtain a preloading scheduling plan, and divide the content to be loaded into a high-frequency preloading area and a low-frequency preloading area for block loading to obtain a preloading execution result.
[0015] In summary, the technical solution provided by the present invention realizes the rapid startup of system components and effectively reduces the startup delay through hierarchical parallel initialization and multi-dimensional feature data collection; adopts a three-layer feature extraction network and a hierarchical attention mechanism to accurately capture user behavior patterns and improve the hit rate of preloaded content; based on the system component dependency graph and the optimization of the minimum startup delay constraint, the component startup sequence is optimized and the resource conflict is reduced; through the bidirectional LSTM prediction network and the timing attention mechanism, the intelligent prediction and accurate sorting of the content are realized, and the content loading efficiency is improved; the dynamic priority adjustment and time window sliding algorithm are introduced to enable the system to flexibly adjust the preloading strategy according to the network status and resource status, thereby enhancing the system stability; the division mechanism of high-frequency preloading area and low-frequency preloading area is adopted, combined with the double-layer cache structure and parallel transmission technology, to optimize the storage and loading efficiency of the content; through the complete preloading log record and status management mechanism, the integrity and consistency of the data are guaranteed, and the system reliability is improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] Figure 1 It is a schematic diagram of the steps of a method for fast starting and content preloading of a network high-definition player in one embodiment of the present invention;
[0017] Figure 2 It is a structural block diagram of a fast startup and content preloading device for a network high-definition player in one embodiment of the present invention.
[0018] The realization of the purpose, functional features and advantages of the present invention will be further explained in conjunction with embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION
[0019] In order to make the purpose, technical solution and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.
[0020] Reference Figure 1 This embodiment provides a method for quickly starting and preloading content of a network high-definition player, comprising the following steps:
[0021] S1, hierarchical parallel initialization and data collection of the system kernel, playback decoding module and network transmission module in the network high-definition player, obtain a multi-dimensional feature data set, and construct a user behavior feature vector;
[0022] Among them, the system kernel, playback decoding module and network transmission module are initialized hierarchically and in parallel, and the dependency relationship between each module is analyzed to find the initialization tasks that can be executed simultaneously. During the initialization process, according to the dependency hierarchy of the modules, the execution order is determined according to the principle of minimizing the startup delay to form an optimized initialization execution sequence. Based on the initialization execution sequence, the CPU occupancy rate, memory usage and network bandwidth are obtained. These data are collected through the resource monitoring interface of the operating system or the hardware sensor, and a system resource status matrix is constructed. The rows of the matrix represent different time slices, and the columns represent the usage of each resource, such as CPU load, memory usage, network throughput, etc., reflecting the resource consumption of the system during the initialization process. During the process of users watching content, the playback record data is divided into time windows, and the sliding window or fixed window method is used to count the user's viewing time distribution, content type proportion and bandwidth usage in each first time window, and these statistical information are organized into a user behavior statistical matrix. The rows of the matrix represent different time windows, and the columns represent different user behavior characteristics, such as viewing time, type distribution of viewing content, and network bandwidth used. The system resource status matrix and the user behavior statistical matrix are feature spliced to obtain a time series feature sequence. Based on the time series feature sequence, the user behavior pattern and the trend of system resource changes are modeled. The user's playback behavior is modeled using time series analysis, deep learning or machine learning methods, such as using recurrent neural networks, long short-term memory networks or Transformer models based on attention mechanisms, so as to predict future user behavior changes. At the same time, combined with the historical data of system resource status, the dynamic change trend of system resources is predicted to obtain a multidimensional feature data set, which contains user behavior characteristics, system resource usage and the interaction between the two. Based on the multidimensional feature data set, spatiotemporal features, content features and network features are extracted, among which spatiotemporal features include the distribution of user viewing behavior in different time periods, user playback habits in different devices or network environments, and viewing patterns in different geographical locations; content features include information such as video content category, resolution, bit rate, playback time, etc., in order to identify the content type preferred by users; network features mainly involve information such as network bandwidth usage, network delay, packet loss rate, etc., in order to optimize the preloading strategy. These features are organized into a user behavior feature vector that reflects the user's viewing habits, device usage, and network environment, and are used in subsequent intelligent content preloading and playback optimization strategies to ensure that users can get a smoother and faster viewing experience during playback.
[0023] The multi-dimensional feature dataset is input into the underlying feature extraction network to calculate the feature map and extract the basic spatiotemporal feature matrix. The underlying feature extraction network consists of three convolutional layers and two fully connected layers, each of which uses the ReLU activation function to enhance the nonlinear expression ability of the feature, and is equipped with a maximum pooling layer to reduce the data dimension and retain important local feature information. The function of the convolutional layer is to extract local patterns in space and time, so that the input data can learn features on the multi-scale spatial structure, while the maximum pooling layer effectively reduces the amount of calculation and improves the generalization ability of the model, so that the basic spatiotemporal feature matrix obtained can effectively express the distribution characteristics of user behavior in time and space, including the changing trend of viewing behavior in different time periods, viewing habits in different regions, and the temporal evolution of device usage. The basic spatiotemporal feature matrix is input into the middle-level feature extraction network, the goal of which is to calculate the content preference feature matrix to more deeply analyze the user's interest in different types of content. The middle-level feature extraction network uses four residual blocks, each of which consists of two convolutional layers and a skip connection, and a BatchNorm layer is introduced between the residual blocks for batch normalization. The design of residual blocks helps alleviate the gradient vanishing problem of deep networks, allowing the network to learn features efficiently. At the same time, the jump connection allows information to flow more smoothly in the network, improving the stability and accuracy of feature extraction. The introduction of the BatchNorm layer further stabilizes the network training process and accelerates convergence, so that the content preference feature matrix can accurately capture the user's interest weights on different types of video content, including preferences for specific types of videos, the impact of historical viewing time on future viewing behavior, and the impact of content quality (such as resolution, bit rate) on user choices. The content preference feature matrix is input into the high-level feature extraction network for scene association analysis to obtain the scene association feature matrix. In order to improve the globality and contextual relevance of feature expression, the high-level feature extraction network adopts the Transformer encoder structure, which contains six layers of multi-head self-attention layers and feedforward neural network layers. The role of the multi-head self-attention layer is to focus on different patterns in the feature matrix through different attention heads, so that the network can simultaneously consider multiple user behavior patterns, such as the interaction between multiple factors such as viewing time, content type, playback device, and network environment. The Transformer structure can effectively model long-term dependencies, so that the scene-related feature matrix can comprehensively reflect the changing trends of user behavior over a long time scale, such as the migration of user preferences for content types in different time periods, changes in viewing behavior on different devices, and the impact of network status on playback habits. The feedforward neural network layer performs nonlinear transformations on the extracted features, making the scene-related feature matrix more expressive and able to more accurately capture the deep patterns of user viewing behavior. The basic spatiotemporal feature matrix, content preference feature matrix, and scene-related feature matrix are weighted fused and normalized to generate a user behavior feature vector.
[0024] S2, builds the system component dependency graph and performs constrained optimization to minimize the startup delay to obtain a parallel startup sequence;
[0025] Specifically, the startup dependencies between system components are analyzed, and a system component dependency graph is constructed based on this. Each system component is regarded as a node in the dependency graph, and the dependencies between components constitute the edges in the graph. At the same time, weights are assigned to the edges and nodes in the dependency graph, where the weight of the edge represents the startup delay between components, that is, when a component depends on another component, the former must wait for the latter to complete startup before continuing to start, and the weight of the node represents the resource occupancy rate of the component, including CPU occupancy, memory consumption, and I / O bandwidth requirements, so that the balance between startup delay and resource scheduling can be comprehensively considered in the subsequent optimization process. The startup delay constraint conditions are set based on the system component dependency graph to ensure that the startup solution obtained not only meets the system function requirements, but also completes the initialization in the shortest time. The total startup delay of the component is set not to exceed a preset threshold T, which is determined by the startup performance target of the system. For example, if the startup time of a player is required to be within 5 seconds, the initialization of all components must be completed within this time range. Secondly, ensure that the startup time of any component is later than the startup completion time of all its dependent components. This means that in the dependency relationship, the initialization of the preceding component must precede the subsequent component, otherwise it will cause functional abnormalities or fail to complete the system startup. And set the startup time interval of adjacent components to be no less than the minimum scheduling period to ensure the stability of system scheduling and reasonable resource allocation, and avoid overload or resource conflicts caused by the simultaneous startup of multiple resource-intensive components. Through these constraints, a constraint set is formed. After the constraint set is constructed, optimization calculation is performed based on the system component dependency graph to find the optimal startup sequence and time allocation scheme. The dependency graph is calculated using a graph neural network to obtain the component startup feature matrix. The graph neural network can effectively utilize graph structure data, combine the weight information of nodes and edges, learn the startup mode of components, and optimize the startup timing while maintaining dependencies. Using a multi-layer graph neural network structure, the startup delay, resource occupancy and dependency of each component are aggregated and updated to generate a feature matrix containing the startup information of all components. Based on the feature matrix, the component startup sequence and time allocation are carried out to obtain the initial startup plan. In this process, greedy algorithms, dynamic programming or reinforcement learning methods are used to ensure the feasibility of the plan and minimize the overall startup delay of the system. The initial startup plan is constrained and verified to ensure that it meets the previously set constraints. The actual startup delay of each component is calculated and the resource occupancy is evaluated. If the startup time of a component does not meet the dependency relationship or the system's resource consumption exceeds the available range, the plan is adjusted. In order to optimize the startup plan, the Lagrange multiplier method is used to solve the optimization problem of minimizing the startup delay. The Lagrange multiplier method is a constrained optimization method that minimizes the system startup delay while ensuring that the constraints are not violated.It converts the constraints into Lagrange multipliers and adjusts the startup time of the components through iterative calculation until the global optimal solution is found to obtain the optimal startup plan. According to the optimal startup plan, the components are grouped to determine the components that meet the parallel startup conditions, and a parallel startup sequence is constructed accordingly. It analyzes which components can be started at the same time without violating dependencies or causing resource competition, and classifies and groups these components to achieve the maximum degree of parallel startup. Set startup priorities and execution orders for different components to ensure that key components can be started as early as possible and improve the overall response speed of the system.
[0026] S3, based on the parallel startup sequence and user behavior feature vector, intelligently predicts and prioritizes the playback content to obtain a hierarchical preloading strategy;
[0027] It should be noted that the parallel startup sequence and the user behavior feature vector are feature concatenated to integrate the data of system initialization progress and user behavior pattern, ensuring that the content prediction model fully considers the device status and user preference. After feature concatenation, the concatenated feature data is linearly transformed to unify the scale and compress the information of different types of input data to obtain the input feature sequence. The input feature sequence is input into the forward long short-term memory network (LSTM) layer and the backward LSTM layer respectively to construct a bidirectional feature vector. The role of the forward LSTM layer is to capture the trend of user behavior data and system status over time, and extract important temporal patterns that affect content selection from past data, while the backward LSTM layer reversely processes the sequence data and combines the possible future states to provide additional contextual information, so that the entire feature representation not only contains historical behavior trends, but also can adjust the prediction results in combination with possible future behaviors. The bidirectional feature vector is subjected to temporal attention calculation to strengthen the focus on key time points and improve the accuracy of prediction. Different weights are assigned to different time steps in the entire time series, so that the model automatically focuses on the key time windows that affect user decisions. For example, if a user frequently watches a certain type of video content in a specific time period, the model should assign a higher weight to this time window, so that this pattern contributes more to the final content prediction. Through temporal attention calculation, a context feature vector is generated, which comprehensively considers the historical pattern of user behavior, the current system state, and the short-term and long-term behavior change trends. Content relevance analysis is performed based on the context feature vector, and weighted in combination with the playback timing information to generate a content prediction sequence. During the content relevance analysis process, the model calculates the similarity between different content items and identifies the content categories or related videos that the user has watched continuously. The weighted processing of the playback timing information can ensure that the prediction results can match the user's viewing rhythm. For example, if a user usually watches a series or short video in a specific time period, the system will prioritize loading this type of content in this time period to ensure smooth playback and seamless switching. Each content item is scored and sorted based on the content prediction sequence to build a preloading priority list. The scoring process is calculated based on multiple factors, including the user's viewing history, content relevance, network status, remaining device storage space, etc., and the final score is calculated using a weighted average or a neural network-based scoring model. The sorting process determines the preloading priority of each content item based on the score to ensure that the system prioritizes loading the content that is most likely to be watched, while avoiding low-priority content from occupying too much storage and bandwidth resources. Preloading quotas are allocated to different categories of tasks based on the preloading priority list to form a hierarchical preloading strategy.The layered preloading strategy divides content into multiple levels based on the importance of the content and user behavior characteristics. For example, high-priority content is placed in a high-frequency preloading area to ensure that it starts playing immediately when the user clicks play, while low-priority content is placed in a low-frequency preloading area and is only loaded in the background when the system has excess bandwidth or storage space.
[0028] S4, dynamically adjust the priority of the hierarchical preloading strategy and calculate the resource allocation weight to obtain a preloading scheduling plan, and divide the content to be loaded into a high-frequency preloading area and a low-frequency preloading area for block loading to obtain a preloading execution result.
[0029] Specifically, the preloading tasks in the hierarchical preloading strategy are reordered to ensure that the execution order of the tasks is consistent with the latest change trend of the current system status and user viewing habits. Taking into account the historical access frequency of the content, the user behavior prediction results and the system resource usage, the priority of each task is calculated by weighting, and the initial scheduling sequence is generated according to the priority level to ensure that high-priority tasks can be executed as early as possible, while low-priority tasks are scheduled when the system resources are sufficient, thereby optimizing the overall loading efficiency. The initial scheduling sequence is divided into multiple time slices, that is, multiple second time windows, so that the system resource status can be dynamically monitored in each time window and the resource status sequence can be obtained. The monitoring of the system resource status involves multiple key indicators such as CPU utilization, memory occupancy, network bandwidth utilization and disk I / O load. These indicators are collected in real time by the system monitoring module and organized into time series data. By constructing the resource status sequence, the dynamic change trend of the system resources is observed, so as to ensure that the execution of the preloading task can adapt to the current operating environment of the system, and the system performance will not be degraded or key functions will not be affected due to resource competition. After obtaining the resource state sequence, the comprehensive resource weight in each second time window is calculated based on the sequence, and the execution time of the preloading task is adjusted according to the comprehensive resource weight, so as to optimize the task scheduling scheme. In the process of calculating the resource weight, a multi-factor weighting method is adopted to normalize the utilization of CPU, memory, network and disk I / O, and weighted sum is performed according to the resource requirements of different tasks to obtain the comprehensive resource weight of each time window. The scheduling time of the task is optimized according to the comprehensive resource weight, for example, the task execution frequency is increased in the time window with low resource utilization, and the scheduling of low-priority tasks is reduced in the time window with tight resources, so as to ensure the stability of the overall system performance and the efficiency of preloading. The resource usage upper limit is set for each task in the task scheduling scheme, and the resource allocation rate is controlled by the token bucket algorithm to ensure that the preloading task does not occupy too many system resources and affect the operation of other core functions. The basic idea of the token bucket algorithm is to set a maximum resource usage rate for each task, and control the execution rate of the task by issuing tokens at a fixed time. When the task needs to use resources, the corresponding token is consumed, otherwise it needs to wait for the issuance of new tokens. By adjusting the token issuance rate to dynamically control the resource occupancy of tasks, high-priority tasks can obtain more resources, while low-priority tasks are automatically delayed when resources are insufficient, thereby achieving reasonable resource allocation and smooth task execution. After completing the optimization of the preloading scheduling scheme, the content to be loaded is divided into a high-frequency preloading area and a low-frequency preloading area according to the scheme, and a double-layer cache structure and content block parallel transmission technology are used for block loading to improve the efficiency and stability of data loading.The high-frequency preloading area is used to store content that users are likely to watch, such as popular videos based on user behavior predictions or content that users have recently visited, while the low-frequency preloading area is used to store content that may be watched but has a lower priority, so that it can be loaded in the background when system resources are sufficient. During data transmission, a two-layer cache structure is used to improve the stability and access speed of data loading, where the first layer of cache is used to store high-frequency access content in the short term to ensure fast response during playback, and the second layer of cache is used to store large-scale preloaded data to reduce the frequency of obtaining data from remote servers. At the same time, content block parallel transmission technology is used to improve loading speed, divide video or audio content into multiple small blocks, and load multiple data blocks simultaneously through multi-threaded or multi-channel transmission, thereby effectively reducing transmission delays and improving the overall throughput of data loading. After completing the block loading of the high-frequency and low-frequency preloading areas, the final preloading execution result is generated.
[0030] The content to be loaded in the preloading scheduling scheme is divided into regions according to the access frequency threshold. An access frequency threshold is set, which is determined based on historical access data, user behavior feature vectors and storage strategies of playback devices. When the access frequency of a certain content is higher than the threshold, it is allocated to the memory cache area to provide high-speed access support, while for content with an access frequency lower than the threshold, it is allocated to the disk cache area, thereby reducing memory usage and improving the storage utilization of the overall system. After completing this process, a content partitioning scheme is obtained. The content to be loaded in the content partitioning scheme is divided into blocks to improve data transmission efficiency and support parallel loading. Each content is split into several data blocks according to a preset block size. The setting of the block size depends on the network bandwidth, device cache capacity and storage optimization strategy. A reasonable block size can reduce the delay during transmission and improve the overall data throughput. In the process of block division, in order to ensure the manageability and accuracy of the data, each data block is assigned a unique identifier, which is encoded based on the content ID, data block index and storage area information, so that the corresponding data block can be quickly located in the subsequent transmission, storage and reading process. Through this step, a content block sequence is obtained. A two-layer cache structure is constructed based on the content block sequence to achieve efficient data access management. A high-speed read-write buffer is set up in the memory layer, which is used to store high-frequency access data and supports fast data read and write operations to reduce delays during playback. A persistent storage area is set up in the disk layer to store low-frequency content or large-volume pre-loaded data, thereby providing high data availability during playback. In order to ensure that data between the two layers of cache can flow efficiently, a data exchange channel is established, which schedules data between memory and disk and dynamically adjusts the data storage location. For example, when the access frequency of a certain content changes, it is migrated from the disk cache to the memory cache, or when resources are tight, some low-priority content is moved from the memory cache to the disk cache to maintain the overall stability of the cache system. After this step, a cache management unit is formed. Transmission channels are allocated according to the identifier of the data block and the cache management unit to achieve parallel transmission of the data block. A multi-threaded or multi-channel data transmission strategy is adopted so that different data blocks of the same content are transmitted simultaneously in multiple transmission channels, thereby maximizing the use of bandwidth resources and improving the overall data loading speed. In order to ensure that the data transmission status is controllable, the status information of the data block is recorded in real time during the transmission process, including the transmission start time, current progress, whether the transmission is successful, etc., and this information is organized into a transmission schedule for use in the subsequent data verification and content assembly process. Through this mechanism, the packet loss or delay problems that occur during the transmission process are effectively reduced, and the data block can be loaded in the shortest time. After the data block is successfully transmitted, the integrity check and content assembly of the transmitted data block are performed based on the transmission schedule to ensure that the data is not damaged or lost during the transmission process.The integrity check uses hash check or CRC check method to compare the data blocks to ensure the correctness and consistency of the data. For the data blocks that fail the check, re-request or trigger the data recovery mechanism to ensure that the final stored data is complete and reliable. After the check passes, the data blocks are assembled according to the content ID and index order, and written to the corresponding cache area to ensure that the data can be read correctly during subsequent playback. After completing this stage, the cache write result is obtained. The cache write result is recorded in the preload log. The content of the preload log includes the location information of the data block, the cache area identifier, and the loading timestamp, etc., which are used to monitor the execution of the preload task. After the log record is completed, the preload completion status is returned to notify the system that the corresponding content has been successfully loaded and can provide playback support at any time. After the above steps, the preload execution result is finally obtained.
[0031] In one example, the system kernel, the playback decoding module, and the network transmission module in the network high-definition player are initialized and data collected in parallel in a hierarchical manner to obtain a multi-dimensional feature data set and construct a user behavior feature vector, including:
[0032] Performing hierarchical and parallel initialization on the system kernel, the playback decoding module and the network transmission module in the network high-definition player to obtain an initialization execution sequence;
[0033] Based on the initialization execution sequence, the CPU occupancy rate, memory usage and network bandwidth are obtained, and a system resource status matrix is constructed. The playback record data is divided into time windows. In each first time window, the user viewing time distribution, content type ratio and bandwidth usage are counted to obtain a user behavior statistical matrix.
[0034] The system resource status matrix and the user behavior statistical matrix are concatenated to obtain a time series feature sequence. Based on the time series feature sequence, the user behavior pattern and system resource change trend are modeled to obtain a multidimensional feature data set.
[0035] Based on the multidimensional feature data set, spatiotemporal features, content features and network features are extracted respectively, and the user behavior feature vector is constructed.
[0036] In this example, the dependencies of each module are analyzed and optimized according to the principle of minimizing startup delay. The startup of the system kernel involves the loading of the underlying driver, device management, and task scheduling, while the playback decoding module depends on the loading of the decoding library and the initialization of the audio and video rendering environment. At the same time, the network transmission module needs to ensure the stability of communication with the remote server or local storage device. The dependency graph of the module is constructed by the topological sorting method, and different initialization tasks are executed in parallel to the greatest extent possible while satisfying the dependencies to form the optimal initialization execution sequence. After completing the construction of the initialization execution sequence, monitor the resource usage of the system at different time points, and record the CPU occupancy, memory usage, and network bandwidth. Assume that at time When , the system CPU usage is expressed as:
[0037]
[0038] in, Indicates The instantaneous utilization of the cores, and Indicates the number of CPU cores. Similarly, memory usage is defined as:
[0039]
[0040] in, It's time The memory used at the moment, and is the total memory capacity of the system. The network bandwidth usage is calculated using the following formula:
[0041]
[0042] in, and Respectively indicate time Download and upload speeds at any time, and is the maximum value of the network bandwidth. By storing these data in time series, a system resource status matrix is constructed in the form of:
[0043]
[0044] At the same time, the playback record data is divided into time windows to count the distribution of user viewing time, content type ratio, and bandwidth usage. Users watched Video, and Videos were watched for , then the user's viewing time distribution is expressed as:
[0045]
[0046] in, Represents the total length of the time window. Similarly, the content type ratio is defined as:
[0047]
[0048] in, It is the time window Belongs to a category The number of videos, is the total number of videos played in the window. The bandwidth usage is obtained using a method similar to the above network bandwidth calculation. The system resource status matrix and the user behavior statistical matrix are feature concatenated to construct a time series feature sequence, which is finally formed as follows:
[0049]
[0050] in, represents the user behavior statistics matrix, and Represents a matrix concatenation operation. Based on the time series feature sequence, the long short-term memory network (LSTM) or Transformer model is used to model user behavior patterns and system resource change trends. For example, a time series prediction model based on a gated recurrent unit (GRU) is used:
[0051]
[0052] in, It's time The hidden state of is the current timing input, and is the weight matrix, is the bias, is a nonlinear activation function. By training the model, a multidimensional feature data set is obtained, which contains user behavior patterns, system resource status, and the relationship between them. Spatiotemporal features, content features, and network features are extracted from the multidimensional feature data set to construct a user behavior feature vector. Among them, the spatiotemporal features are defined as:
[0053]
[0054] in, Represents a mapping function, which is learned based on deep learning, or dimension reduction is performed using principal component analysis. Content features mainly include content category, resolution, bit rate and other information, which can be expressed as:
[0055]
[0056] in, Represents the content category, Represents resolution, Represents the quality score. The network characteristics are composed of information such as bandwidth, packet loss rate, and delay, and are defined as:
[0057]
[0058] in, Represents network delay, Represents the packet loss rate. These three feature vectors are concatenated to form a complete user behavior feature vector:
[0059]
[0060] in, Represents a user behavior feature vector, which is used to optimize content recommendation, intelligent preloading, and playback scheduling strategies.
[0061] In one example, based on a multi-dimensional feature data set, spatiotemporal features, content features, and network features are extracted respectively, and a user behavior feature vector is constructed, including:
[0062] The multi-dimensional feature data set is input into the underlying feature extraction network for feature map calculation to obtain the basic spatiotemporal feature matrix. The underlying feature extraction network contains three convolutional layers and two fully connected layers. Each convolutional layer uses the ReLU activation function and the maximum pooling layer.
[0063] The basic spatiotemporal feature matrix is input into the middle-level feature extraction network for residual calculation to obtain the content preference feature matrix. The middle-level feature extraction network uses four residual blocks, each of which contains two convolutional layers and a skip connection, and a BatchNorm layer is added between the residual blocks;
[0064] The content preference feature matrix is input into the high-level feature extraction network for scene association analysis to obtain the scene association feature matrix. The high-level feature extraction network uses a transformer encoder structure, which includes six layers of multi-head self-attention layers and feedforward neural network layers.
[0065] The basic spatiotemporal feature matrix, content preference feature matrix and scene association feature matrix are weighted fused and normalized to obtain the user behavior feature vector.
[0066] In this example, a multidimensional feature dataset is input into the underlying feature extraction network for feature map calculation. , which contains information on multiple time series dimensions, such as time step , spatial location information , Content attributes and network status In order to extract the basic spatiotemporal feature matrix, a three-layer convolutional neural network is used, feature mapping calculation is performed in each layer, and the ReLU activation function is applied to increase the nonlinear expression ability of the model. The convolution operation of the layer is:
[0067]
[0068] in, Representative The feature map of the layer, is the convolution kernel parameter matrix, * represents the convolution operation, is the bias term, and the ReLU function is defined as:
[0069]
[0070] Used to introduce nonlinearity. In order to reduce computational complexity and improve feature robustness, a maximum pooling layer is applied after each convolution layer. The calculation formula is:
[0071]
[0072] in, represents the feature map after pooling, is the size of the pooling window. Through three layers of convolution and pooling operations, the basic spatiotemporal feature matrix is extracted :
[0073]
[0074] in, is the feature matrix of the third layer pooling output. The basic spatiotemporal feature matrix is input into the middle layer feature extraction network for residual calculation to obtain the content preference feature matrix. The residual calculation retains the input information in the deep network through jump connection to avoid the gradient vanishing problem and improve the expression ability of the model. In the four residual blocks, each block contains two convolutional layers and adds a residual connection between the input and output. The calculation formula is:
[0075]
[0076] in, For the The output of the residual block is and There are two layers of convolution kernels, and is the bias term, It is the input of the previous layer and is directly added to the output of the current layer through a skip connection. In order to improve the stability of training, a BatchNorm layer is added after each residual block, and its calculation formula is:
[0077]
[0078] in, and are the mean and standard deviation of the batch data respectively. After four residual blocks, we get the content preference feature matrix :
[0079]
[0080] in, Represents the output of the last residual block. The content preference feature matrix is input into the high-level feature extraction network for scene association analysis to obtain the scene association feature matrix. Since scene association analysis involves long-distance dependencies, the high-level feature extraction network adopts the Transformer encoder structure, which contains six layers of multi-head self-attention mechanism and feedforward neural network layer. In the multi-head self-attention mechanism, each data point Mapping queries, keys, and values to a new representation is calculated as:
[0081]
[0082] in, They are the mapping matrices of query, key and value respectively. The self-attention score is calculated as follows:
[0083]
[0084] in, is the dimension of the key, is the attention weight matrix. The final self-attention output is:
[0085]
[0086] After six layers of multi-head self-attention mechanism and feedforward neural network layer, the scene correlation feature matrix is obtained :
[0087]
[0088] The basic spatiotemporal feature matrix , content preference feature matrix And the scene-related feature matrix Perform weighted fusion and normalization to obtain the user behavior feature vector. Set the fusion weight to , then the final user behavior feature vector The calculation is as follows:
[0089]
[0090] Among them, the weight coefficient satisfies the normalization condition:
[0091]
[0092] In order to ensure the numerical stability of the eigenvector, normalization is performed and the calculation method is as follows:
[0093]
[0094] in, and Represent the minimum and maximum values of the eigenvectors, respectively. The data range is limited to [0, 1], which improves the stability and generalization ability of the model.
[0095] In one example, a system component dependency graph is constructed, and constraint optimization is performed to minimize the startup delay to obtain a parallel startup sequence, including:
[0096] A system component dependency graph is constructed based on the startup dependency relationships between system components. The edge weights of the system component dependency graph represent the startup delays between components, and the node weights represent the resource occupancy rates of the components.
[0097] The startup delay constraint conditions are set based on the system component dependency graph, including: the total component startup delay does not exceed the preset threshold T, the startup time of any component is later than the startup completion time of its dependent component, and the startup time interval of adjacent components is not less than the minimum scheduling period, to obtain a constraint condition set;
[0098] Based on the constraint set, the system component dependency graph is calculated by graph neural network to obtain the component startup feature matrix. The startup sequence and time allocation of the component startup feature matrix are performed to obtain the initial startup plan.
[0099] Perform constraint verification on the initial startup plan, calculate the actual startup delay and resource occupancy of each component, solve the optimization problem of minimizing the startup delay based on the Lagrange multiplier method, and obtain the optimal startup plan;
[0100] According to the optimal startup scheme, the components that meet the parallel startup conditions are classified and grouped, and the startup priority and execution order of the components are determined to obtain a parallel startup sequence.
[0101] In this example, the dependencies between system components are analyzed and presented as a directed graph. The startup process of the entire system is represented in the form of Represents a collection of components of the system, each component Represents a module that needs to be initialized, and Represents the dependency relationship between components. Representation Components Must be in component To describe the startup cost of a component, each edge Weight Representation Components Dependent Components The startup delay of each node Weight It represents the resource usage of the component itself, such as CPU load, memory consumption or I / O demand. The entire system component dependency graph is represented by a matrix, where the adjacency matrix Record the dependency delay of each component:
[0102]
[0103] At the same time, the node resource occupancy rate is expressed as vector express:
[0104]
[0105] After the system component dependency graph is built, set the startup delay constraints to ensure that the startup process meets performance requirements. Ensure that the total delay of component startup does not exceed the preset threshold ,Right now:
[0106]
[0107] in, Representative components Secondly, the startup time of any component must be later than the startup completion time of its dependent components, that is:
[0108]
[0109] in, Representative components The startup time of Representative components Dependent Components To avoid resource competition, the startup time interval of adjacent components must be greater than the minimum scheduling period. :
[0110]
[0111] These constraints form an optimization problem to solve the optimal startup sequence. After the constraint set is established, the startup feature matrix of the component is extracted based on the graph neural network. The calculation method of the graph neural network is as follows:
[0112]
[0113] in, Representative The component feature matrix of the layer, represents the initial component characteristics, and are the training parameters of the network, is the activation function. After multiple layers of propagation, the component’s startup feature matrix is obtained. , each row of which represents the startup feature of a component. According to the startup feature matrix Calculate the startup order and time allocation of components to generate an initial startup plan. In this plan, the startup order of components is sorted by a heuristic algorithm (such as a greedy algorithm) so that high-priority components can be started as early as possible and resource conflicts can be avoided. After obtaining the initial startup plan, constraint verification is performed to calculate the actual startup delay and resource occupancy of each component, and the Lagrange multiplier method is used to optimize the startup delay. Assume that the objective function is to minimize the sum of startup times:
[0114]
[0115] Under the condition that the constraints are met, the Lagrangian function is defined as:
[0116]
[0117] in, and is the Lagrange multiplier. By solving Find the optimal startup time allocation that meets the constraints and get the optimal startup plan. According to the optimal startup plan, the components that meet the parallel startup conditions are classified and grouped to form the final parallel startup sequence. and There is no direct dependency between them, and their resource usage If the upper limit of system resources is not exceeded, they will be put into the same batch for parallel startup. According to the dependency relationship and computing resource allocation, the startup priority of the components is determined, and finally an optimized parallel startup sequence is obtained.
[0118] In one example, based on the parallel startup sequence and the user behavior feature vector, intelligent prediction and priority sorting of the playback content is performed to obtain a hierarchical preloading strategy, including:
[0119] Perform feature concatenation and linear transformation on the parallel startup sequence and the user behavior feature vector to obtain an input feature sequence, and input the input feature sequence into the forward LSTM layer and the backward LSTM layer respectively to obtain a bidirectional feature vector;
[0120] Perform temporal attention calculation on the bidirectional feature vector to obtain a context feature vector, perform content relevance analysis based on the context feature vector, and weight it in combination with the playback timing information to obtain a content prediction sequence;
[0121] Each content item is scored and sorted based on the content prediction sequence to obtain a preloading priority list, and a preloading quota is allocated to each type of task based on the preloading priority list to obtain a hierarchical preloading strategy.
[0122] In this example, we define the parallel startup sequence and the expression of the user behavior feature vector. Assume that the parallel startup sequence is composed of Indicates that Representative The component set started in parallel rounds, and the user behavior feature vector is set to ,in Represents different dimensions of user behavior, such as viewing history, content preferences, network status, etc. After obtaining these two types of features, feature concatenation is performed to form an input feature sequence , and its calculation formula is as follows:
[0123]
[0124] in, and are the linear transformation weight matrices of the parallel startup sequence and the user behavior feature vector, is the bias term. Through this linear transformation, the two types of feature data are ensured to be in the same numerical scale, which is beneficial for subsequent LSTM calculations. Input the forward LSTM layer and the backward LSTM layer in sequence to obtain a bidirectional feature vector. The calculation formula of the forward LSTM is as follows:
[0125]
[0126] in, Represents the time step The forward hidden state of is the input feature of the current time step, and are the weight matrices for input and hidden states, respectively, is the bias term, is a nonlinear activation function (usually Tanh). The backward LSTM is calculated in a similar way, except that the time steps are processed in reverse order:
[0127]
[0128] Concatenate the hidden states of the forward LSTM and the backward LSTM to form a bidirectional feature vector:
[0129]
[0130] For bidirectional eigenvectors Perform temporal attention calculation to generate context feature vector. The calculation formula of the attention mechanism is as follows:
[0131]
[0132] in, is the attention weight matrix, is the time step The attention weights are based on Compute the context feature vector:
[0133]
[0134] in, Represents the time step The context feature vector of , through weighted summation, aggregates the information of the entire time series. Based on the context feature vector, content relevance analysis is performed and weighted in combination with the playback timing information to obtain the content prediction sequence. Assume that the content feature vector is ,in Representative The content relevance is calculated by dot product:
[0135]
[0136] in, Representative content With time step Combined with the playback timing information, the final content prediction sequence is calculated by weighting:
[0137]
[0138] in, is the time step The weight of is determined by the time decay function to ensure that the most recent user behavior has a greater impact on the prediction. After obtaining the content prediction sequence, each content item is scored and sorted to obtain a preloading priority list. The content score is calculated using the following formula:
[0139]
[0140] in, Represents the global popularity of the content. Represents the user's personalized preference weight, is a hyperparameter used to balance the influence of different factors. Sort in descending order to form a preloading priority list. Based on the preloading priority list, allocate preloading quotas to each type of task to form a hierarchical preloading strategy. Assume that the total system bandwidth budget is , then the bandwidth allocation for each priority level is calculated using the following formula:
[0141]
[0142] in, Indicates the content is assigned Load data according to the bandwidth budget and ensure that high-priority content is cached first to optimize the playback experience.
[0143] In one example, the hierarchical preloading strategy is dynamically prioritized and resource allocation weights are calculated to obtain a preloading scheduling scheme, and the content to be loaded is divided into a high-frequency preloading area and a low-frequency preloading area for block loading to obtain a preloading execution result, including:
[0144] Reorder the preloading tasks in the hierarchical preloading strategy to obtain an initial scheduling sequence;
[0145] Dividing the initial scheduling sequence into a plurality of second time windows, dynamically monitoring the system resource status within each second time window, and obtaining a resource status sequence;
[0146] Calculating the comprehensive resource weight in each second time window based on the resource state sequence, and adjusting the execution time of the preloaded task according to the comprehensive resource weight to obtain a task scheduling plan;
[0147] Set resource usage caps for each task in the task scheduling plan, and control the resource allocation rate through the token bucket algorithm to obtain a preload scheduling plan;
[0148] According to the preloading scheduling scheme, the content to be loaded is divided into a high-frequency preloading area and a low-frequency preloading area, and is loaded in blocks through a double-layer cache structure and content block parallel transmission technology to obtain a preloading execution result.
[0149] In this example, tasks are weighted based on factors such as content importance, user viewing prediction, and system resource availability. Assume that the set of preloaded tasks is ,in Representative preload tasks, the priority of each task is expressed as:
[0150]
[0151] in, Represents the probability of users viewing the content corresponding to the task, Represents the importance of the content (such as whether it is a recommended content or a popular video), Represents the weight of the current system resources allocated to the task, To adjust the weight coefficients of different factors. Sort in descending order to get the initial scheduling sequence The initial scheduling sequence is divided into multiple second time windows to facilitate phased loading and ensure the stability of system resources. Set the time window set to , where the length of each window is Defined as:
[0152]
[0153] in, Represents the total preload time, is the number of divided time windows. In each time window Dynamically monitor the system resource status to obtain the resource status sequence , which is calculated as follows:
[0154]
[0155] in, Represents time window CPU usage within Represents memory usage, Represents network bandwidth consumption, Represents disk I / O load. These resource status data are collected in real time through system monitoring tools or operating system APIs and recorded in resource status sequences. , calculate the comprehensive resource weight of each time window , used to adjust the execution time of the preload task. The comprehensive resource weight is expressed as:
[0156]
[0157] in, are the influence coefficients of CPU, memory, network and disk I / O on task execution. If it is too high, it means that the current system load is heavy and the task execution rate should be reduced; if If it is too low, it means that the task loading can be accelerated. Adjusted task execution time The calculation is as follows:
[0158]
[0159] in, is the regulating factor, is the historical maximum resource load value. When the task execution time is high, it will automatically increase to reduce the system load; when When the resource usage is low, the task execution time will be shortened and the loading efficiency will be improved. After obtaining the task scheduling plan, set the resource usage upper limit for each task and control the resource allocation rate through the token bucket algorithm to prevent a single task from occupying too many system resources. The basic principle of the token bucket algorithm is to use a capacity of token bucket at a fixed rate Generate tokens and consume them when tasks are executed. The token bucket update rules are as follows:
[0160]
[0161] in, For time The number of tokens in the bucket at the moment, is the number of tokens at the previous time point, is the time interval. If execution is required, ,in Indicates the amount of resources that the task needs to consume, then execution is allowed and the number of tokens is updated:
[0162]
[0163] Otherwise, the task It needs to wait for the token to be generated before executing. This method ensures the reasonable allocation of resources and avoids the task affecting the system stability due to insufficient resources. After obtaining the preloading scheduling plan, the content to be loaded is divided into a high-frequency preloading area and a low-frequency preloading area, and a double-layer cache structure and content block parallel transmission technology are used for loading. Set the content set ,in For the Video content, if Frequency of visits Above threshold , it is classified into the high-frequency preloading area, otherwise it is classified into the low-frequency preloading area:
[0164]
[0165] The high-frequency preload area is stored in the memory cache to provide fast reading, while the low-frequency preload area is stored in the disk cache to save memory space. During the loading process, the content block parallel transmission technology is adopted, that is, each video Divide into Data blocks , and assign a unique identifier to each data block The transmission adopts multi-thread mode, each thread transmits a data block, and its rate Controlled by token bucket:
[0166]
[0167] When all data blocks have been transmitted, a data integrity check is performed and Assemble the content to complete the final preloading. After the preloading is completed, the status of all tasks is recorded in the log , which includes the data block location, cache area and timestamp:
[0168]
[0169] Through this process, an efficient and dynamically adjusted preloading execution result is obtained.
[0170] In one example, the content to be loaded is divided into a high-frequency preloading area and a low-frequency preloading area according to the preloading scheduling scheme, and is loaded in blocks through a double-layer cache structure and content block parallel transmission technology, obtaining a preloading execution result, including:
[0171] The content to be loaded in the preloading scheduling scheme is divided into regions according to the access frequency threshold, the content with an access frequency higher than the threshold is allocated to the memory cache area, and the content with an access frequency lower than the threshold is allocated to the disk cache area, thereby obtaining a content partitioning scheme;
[0172] Divide the content to be loaded in the content partitioning scheme into blocks, divide each content into a number of data blocks according to a preset block size, and assign a unique identifier to each data block to obtain a content block sequence;
[0173] A two-layer cache structure is constructed based on the content block sequence, a high-speed read and write buffer is set in the memory layer, a persistent storage area is set in the disk layer, and a data exchange channel is established between the two layers to obtain a cache management unit;
[0174] Allocate a transmission channel according to the identifier of the data block and the cache management unit, transmit different data blocks of the same content in parallel, and record the transmission status of the data block in real time to obtain a transmission schedule;
[0175] Based on the transmission schedule, integrity check and content assembly are performed on the transmitted data blocks, and the data blocks that have passed the check are written into the corresponding cache area to obtain the cache writing result;
[0176] The cache write result is recorded in the preload log, including the data block location information, cache area identifier and load timestamp, and the preload completion status is returned to obtain the preload execution result.
[0177] In this example, the access frequency threshold is defined , which is used to decide which content should be stored in the memory cache and which content should be stored in the disk cache. Assume that all the content to be loaded is composed of the set , each content The historical access frequency of , then the content area division rules are defined as follows:
[0178]
[0179] in, Represents high-frequency access content and stores it in the memory cache. Represents low-frequency access content and is stored in the disk cache. After completing the content area division, the content is divided into blocks to improve data transmission efficiency and storage optimization. Set the data block size to , then for any content Its total size is , calculate the number of data blocks required :
[0180]
[0181] Will Split into a sequence of chunks , and for each data block Assigning unique identifiers , whose format is defined as:
[0182]
[0183] in, is a unique identifier for the content, and Represents the data block number to ensure that different blocks are unique. A two-layer cache structure is built based on the content block sequence, where the memory layer is used for high-speed read and write buffers, and the disk layer is used for persistent storage, and a data exchange channel is established between the two layers. Set the memory cache area size to , the disk cache size is ,The cache management method adopts the LRU algorithm to ensure that the memory always stores the most frequently used data. The cache replacement strategy of the memory layer is expressed as:
[0184]
[0185] in, Representative content The most recent access time will be used to remove the content that has not been used for the longest time. When the memory space is insufficient, the system will Migrate to disk storage to optimize cache utilization. After the data block division is completed, the transmission channel is allocated based on the data block identifier and cache management unit, and parallel transmission technology is used to improve loading efficiency. Assume that the number of available transmission channels in the system is , then each content Data blocks can be allocated transmission channels, of which:
[0186]
[0187] Parallel transfer rate The calculation is as follows:
[0188]
[0189] in, is the data block size, Represents a data block The transmission status of all data blocks is recorded in real time in the transmission schedule:
[0190]
[0191] in, Represents the current state of the data block (not started, in transit, completed), and The transmission start time and end time of the data block are recorded separately. After the transmission is completed, the transmitted data block is checked for integrity and content assembly to ensure that the data is not damaged or lost. The integrity check uses the CRC (cyclic redundancy check) algorithm to calculate the check code :
[0192]
[0193] and the reference verification code provided by the server To compare:
[0194]
[0195] like , then the data block is correct and the content is assembled; if , then the retransmission mechanism is triggered. The data blocks are assembled in the order of numbers, and the data is written into the cache to obtain the cache writing result:
[0196]
[0197] in, Indicates the cache area (memory or disk) where the data is written. Record the data write time. Record the cache write results to the preload log , the log content includes data block location information, cache area identifier and loading timestamp:
[0198]
[0199] And return the preloading completion status to confirm that all data has been successfully stored in the cache and can be directly read when waiting for user request, improving playback smoothness.
[0200] The process of dynamically adjusting the priority of the hierarchical preloading strategy according to the network bandwidth status and the system resource status to obtain the preloading scheduling solution includes: constructing a resource mapping model based on the hierarchical preloading strategy, quantitatively analyzing the computing load and network transmission requirements of the preloading task, and obtaining the task resource demand matrix; optimizing and analyzing the task resource demand matrix, establishing a coupling relationship model between bandwidth utilization and CPU occupancy, and calculating the resource utilization efficiency curve to obtain the resource balance threshold; hierarchically managing the preloading tasks according to the resource balance threshold, setting the resource quota upper limit for tasks of different priorities, and allocating computing time slices based on the urgency of the tasks to obtain the initial scheduling strategy; inputting the initial scheduling strategy into the resource optimizer, and obtaining the optimal execution order and resource allocation of the tasks through iterative calculation. The optimal scheduling sequence is obtained by optimizing the allocation ratio and ensuring the resource requirements of high-priority tasks at the same time; an execution queue of preloaded tasks is constructed based on the optimized scheduling sequence, and a buffer is set in the execution queue to dynamically adjust the execution rhythm of tasks, so as to obtain a buffered scheduling queue; resource competition arbitration is performed on tasks in the buffered scheduling queue, and the transmission rate of key content is prioritized when the network bandwidth is insufficient, and non-essential preloading is delayed when the system load is too high, so as to obtain a competition arbitration scheme; a dynamic execution window of the preloaded task is set according to the competition arbitration scheme, and the execution rate of the task is adaptively adjusted according to the resource status during the window period, so as to obtain a windowed execution strategy; the windowed execution strategy is applied to the real-time scheduling of the preloaded task, and the execution efficiency of the task is continuously optimized through a dynamic feedback mechanism, so as to obtain a preloaded scheduling scheme.
[0201] Reference Figure 2 This embodiment provides a fast startup and content preloading device for a network high-definition player, including:
[0202] Data collection module 1 is used to perform hierarchical parallel initialization and data collection on the system kernel, playback decoding module and network transmission module in the network high-definition player, obtain a multi-dimensional feature data set, and construct a user behavior feature vector;
[0203] Construction module 2 is used to construct the system component dependency graph and perform constraint optimization to minimize the startup delay to obtain a parallel startup sequence;
[0204] Intelligent prediction module 3, used to intelligently predict and prioritize the playback content based on the parallel startup sequence and user behavior feature vector, and obtain a hierarchical preloading strategy;
[0205] Preloading module 4 is used to dynamically adjust the priority of the hierarchical preloading strategy and calculate the resource allocation weight to obtain a preloading scheduling plan, and divide the content to be loaded into a high-frequency preloading area and a low-frequency preloading area for block loading to obtain a preloading execution result.
[0206] In this embodiment, for the specific implementation of each unit in the above device embodiment, please refer to the above method embodiment, which will not be repeated here.
[0207] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media provided by the present invention and used in the embodiments may include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. As an illustration and not limitation, RAM is available in a variety of forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double-speed data rate SDRAM (SSRSDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM.
[0208] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, device, article or method including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such process, device, article or method. In the absence of further restrictions, an element defined by the sentence "includes a ..." does not exclude the presence of other identical elements in the process, device, article or method including the element.
[0209] The above description is only a preferred embodiment of the present invention, and does not limit the patent scope of the present invention. Any equivalent structure or equivalent process transformation made by using the contents of the present invention specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present invention.
Claims
1. A method for fast startup and content preloading of a network high-definition player, characterized in that: The following steps are involved: The system kernel, the playback decoding module and the network transmission module in the network high-definition player are initialized and data collected in a hierarchical and parallel manner to obtain a multi-dimensional feature data set, and a user behavior feature vector is constructed; specifically, the system kernel, the playback decoding module and the network transmission module in the network high-definition player are initialized in a hierarchical and parallel manner to obtain an initialization execution sequence; based on the initialization execution sequence, the CPU occupancy rate, the memory usage and the network bandwidth are obtained, and a system resource status matrix is constructed, the playback record data is divided into time windows, and in each first time window, the user viewing time distribution, the content type proportion and the bandwidth usage are counted to obtain a user behavior statistical matrix; the system resource status matrix and the user behavior statistical matrix are feature spliced to obtain a time series feature sequence, and based on the time series feature sequence, the user behavior pattern and the system resource change trend are modeled to obtain a multi-dimensional feature data set; based on the multi-dimensional feature data set, spatiotemporal features, content features and network features are respectively extracted, and a user behavior feature vector is constructed; Build a system component dependency graph and perform constrained optimization to minimize startup latency to obtain a parallel startup sequence; Based on the parallel startup sequence and the user behavior feature vector, intelligent prediction and priority sorting are performed on the playback content to obtain a hierarchical preloading strategy; The hierarchical preloading strategy is dynamically prioritized and resource allocation weights are calculated to obtain a preloading scheduling solution, and the content to be loaded is divided into a high-frequency preloading area and a low-frequency preloading area for block loading to obtain a preloading execution result.
2. The method for fast startup and content preloading of a network high-definition player according to claim 1, characterized in that: The extracting of spatiotemporal features, content features and network features based on the multi-dimensional feature data set and constructing a user behavior feature vector comprises: Inputting the multidimensional feature data set into an underlying feature extraction network to calculate a feature map to obtain a basic spatiotemporal feature matrix, wherein the underlying feature extraction network comprises three convolutional layers and two fully connected layers, and each convolutional layer uses a ReLU activation function and a maximum pooling layer; The basic spatiotemporal feature matrix is input into a middle-layer feature extraction network for residual calculation to obtain a content preference feature matrix, wherein the middle-layer feature extraction network adopts four residual blocks, each of which includes two convolutional layers and one skip connection, and a BatchNorm layer is added between the residual blocks; Inputting the content preference feature matrix into a high-level feature extraction network for scene association analysis to obtain a scene association feature matrix, wherein the high-level feature extraction network uses a transformer encoder structure and includes six layers of multi-head self-attention layers and a feedforward neural network layer; The basic spatiotemporal feature matrix, the content preference feature matrix and the scene association feature matrix are weighted fused and normalized to obtain a user behavior feature vector.
3. The method for fast startup and content preloading of a network high-definition player according to claim 1, characterized in that: The system component dependency graph is constructed, and constraint optimization for minimizing startup delay is performed to obtain a parallel startup sequence, including: Building a system component dependency graph based on the startup dependency relationships between system components, wherein the edge weights of the system component dependency graph represent the startup delays between components, and the node weights represent the resource occupancy rates of the components; The startup delay constraint conditions are set based on the system component dependency graph, including: the total component startup delay does not exceed a preset threshold T, the startup time of any component is later than the startup completion time of its dependent component, and the startup time interval of adjacent components is not less than the minimum scheduling period, to obtain a constraint condition set; Based on the constraint condition set, a graph neural network calculation is performed on the system component dependency graph to obtain a component startup feature matrix, and the startup sequence and time allocation of the components are performed on the component startup feature matrix to obtain an initial startup plan; Perform constraint verification on the initial startup plan, calculate the actual startup delay and resource occupancy of each component, solve the optimization problem of minimizing the startup delay based on the Lagrange multiplier method, and obtain the optimal startup plan; According to the optimal startup scheme, components that meet the parallel startup conditions are classified and grouped, and the startup priorities and execution orders of the components are determined to obtain a parallel startup sequence.
4. The method for fast startup and content preloading of a network high-definition player according to claim 1, characterized in that: The intelligent prediction and priority sorting of the playback content based on the parallel startup sequence and the user behavior feature vector to obtain a hierarchical preloading strategy includes: Performing feature concatenation and linear transformation on the parallel startup sequence and the user behavior feature vector to obtain an input feature sequence, and inputting the input feature sequence into a forward LSTM layer and a backward LSTM layer respectively to obtain a bidirectional feature vector; Performing temporal attention calculation on the bidirectional feature vector to obtain a context feature vector, performing content relevance analysis based on the context feature vector, and weighting the content based on the playback timing information to obtain a content prediction sequence; Each content item is scored and sorted based on the content prediction sequence to obtain a preloading priority list, and a preloading quota is allocated to each type of task based on the preloading priority list to obtain a hierarchical preloading strategy.
5. The method for fast startup and content preloading of a network high-definition player according to claim 1, characterized in that: The hierarchical preloading strategy is dynamically prioritized and resource allocation weights are calculated to obtain a preloading scheduling scheme, and the content to be loaded is divided into a high-frequency preloading area and a low-frequency preloading area for block loading to obtain a preloading execution result, including: Reordering the preloading tasks in the hierarchical preloading strategy to obtain an initial scheduling sequence; Dividing the initial scheduling sequence into a plurality of second time windows, dynamically monitoring the system resource status within each second time window, and obtaining a resource status sequence; Calculating the comprehensive resource weight in each second time window based on the resource state sequence, and adjusting the execution time of the preloaded task according to the comprehensive resource weight to obtain a task scheduling solution; Setting a resource usage upper limit for each task in the task scheduling scheme, and controlling the resource allocation rate through a token bucket algorithm to obtain a preloading scheduling scheme; The content to be loaded is divided into a high-frequency preloading area and a low-frequency preloading area according to the preloading scheduling scheme, and is loaded in blocks through a double-layer cache structure and content block parallel transmission technology to obtain a preloading execution result.
6. The method for fast startup and content preloading of a network high-definition player according to claim 5, characterized in that: The method divides the content to be loaded into a high-frequency preloading area and a low-frequency preloading area according to the preloading scheduling scheme, and performs block loading through a double-layer cache structure and content block parallel transmission technology to obtain a preloading execution result, including: Divide the content to be loaded in the preloading scheduling scheme into regions according to the access frequency threshold, allocate the content with an access frequency higher than the threshold to the memory cache area, and allocate the content with an access frequency lower than the threshold to the disk cache area, to obtain a content partitioning scheme; Dividing the content to be loaded in the content partitioning scheme into blocks, dividing each content into a number of data blocks according to a preset block size, and assigning a unique identifier to each data block to obtain a content block sequence; A double-layer cache structure is constructed based on the content block sequence, a high-speed read-write buffer is set in the memory layer, a persistent storage area is set in the disk layer, and a data exchange channel is established between the two layers to obtain a cache management unit; Allocating a transmission channel according to the identifier of the data block and the cache management unit, transmitting different data blocks of the same content in parallel, and recording the transmission status of the data blocks in real time to obtain a transmission schedule; Based on the transmission schedule, integrity check and content assembly are performed on the transmitted data blocks, and the data blocks that have passed the check are written into the corresponding cache area to obtain a cache writing result; The cache write result is recorded in the preload log, including data block location information, cache area identifier and load timestamp, and the preload completion status is returned to obtain the preload execution result.
7. A fast startup and content preloading device for a network high-definition player, characterized in that: The method for quickly starting and preloading content of a network high-definition player according to any one of claims 1 to 6 is implemented, wherein the device for quickly starting and preloading content of a network high-definition player comprises: The data acquisition module is used to perform hierarchical parallel initialization and data acquisition on the system kernel, playback decoding module and network transmission module in the network high-definition player to obtain a multi-dimensional feature data set and construct a user behavior feature vector; The construction module is used to build the system component dependency graph and perform constraint optimization to minimize the startup delay to obtain a parallel startup sequence; An intelligent prediction module, used to perform intelligent prediction and priority sorting on the playback content based on the parallel startup sequence and the user behavior feature vector to obtain a hierarchical preloading strategy; The preloading module is used to dynamically adjust the priority and calculate the resource allocation weight of the hierarchical preloading strategy to obtain a preloading scheduling plan, and divide the content to be loaded into a high-frequency preloading area and a low-frequency preloading area for block loading to obtain a preloading execution result.
Citation Information
Patent Citations
Intelligent resource loading method and device and storage medium
CN119106210A