Efficient video streaming server implementation method and related equipment based on edge computing

By adopting edge computing-based methods in the video streaming server, obtaining heartbeat packets, extracting video features, scoring and adaptability model allocation tasks, the problem of slow response of the video streaming server in high concurrency scenarios is solved, and efficient and stable video stream processing and resource optimization are achieved.

CN119324997BActive Publication Date: 2025-04-25SHENZHEN BEILIANDE IND CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411867413.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-18
Publication Date
2025-04-25
Estimated Expiration
2044-12-18

AI Technical Summary

Technical Problem

When existing video streaming servers process massive video data, they are prone to slow system response due to excessive data processing pressure, especially in high concurrency scenarios.

Method used

The efficient video streaming server implementation method based on edge computing is adopted. By obtaining the heartbeat packet of the edge server, extracting the key feature information of the video data stream, combining the preset weight correspondence table, and using the edge server adaptation model to perform task allocation, ensuring that the important video stream is processed by the most adapted server.

Benefits of technology

It improves the overall efficiency and stability of video stream processing, optimizes resource utilization, enhances the stability and reliability of the system, and ensures timely processing and high-quality output of important video streams.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119324997B_ABST
    Figure CN119324997B_ABST
Patent Text Reader

Abstract

The present application provides an efficient video stream server implementation method and related equipment based on edge computing, and relates to the field of data processing technology. The method includes: obtaining edge server heartbeat packets at set intervals to monitor connections, extracting key feature information of its video stream after determining the associated server, determining the weight coefficient of each feature based on a preset weight correspondence table, and then deriving the importance score of the video data stream, while obtaining the edge server operation status information and inputting the fitness model to obtain the fitness value and sorting it, and finally sorting it according to the importance score and fitness value, and assigning the video data stream with the highest importance score to the edge server with the highest fitness value for processing. In this way, important video streams can be processed by the most suitable server, improving the overall video stream processing efficiency and quality, optimizing resource utilization, and enhancing system stability and reliability.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data processing technology, and in particular to an efficient video streaming server implementation method and related equipment based on edge computing. Background Art

[0002] With the rapid development of Internet technology and the continuous expansion of video application scenarios, the processing and transmission of video stream data has become increasingly important. In many video-related businesses, such as online live broadcasting and video surveillance, servers are required to efficiently and accurately process massive video data streams and reasonably allocate tasks to ensure the smoothness of video playback and the efficiency of data processing, and meet users' growing demand for high-quality video experience.

[0003] The existing video stream server processing method often adopts a unified server architecture, first centrally caches the received video data stream, then extracts some common features of the video data stream in a predetermined time sequence, and then refers to a fixed reference weight table commonly used in the industry to measure the relative importance of each video data stream. Finally, according to the server's conventional resource allocation strategy, the video stream task is allocated to the corresponding processing module, hoping to achieve orderly processing of numerous video data streams and reasonable allocation of resources.

[0004] However, in the face of today's increasingly large and complex video stream data, in the traditional centralized computing model, all data is aggregated to the central server, resulting in great data processing pressure on the central server, especially in high-concurrency scenarios, which can easily lead to slow system response. Summary of the invention

[0005] The present application provides an edge computing-based high-efficiency video stream server implementation method and related equipment, which are used to improve the overall performance and stability of video stream processing and improve the overall video stream processing efficiency.

[0006] In a first aspect, the present application provides an efficient video stream server implementation method based on edge computing, which is applied to a management system, the method comprising: obtaining a heartbeat packet sent by an edge server within a set range at a set time interval, the heartbeat packet being used to detect the connection status between network devices; after determining the associated edge server according to the heartbeat packet, obtaining in real time the key feature information extracted by each edge server for the video data stream; determining the weight coefficients corresponding to each of the key feature information in combination with a preset weight correspondence table; determining the importance score corresponding to each of the video data streams according to the weight coefficient; after obtaining the running status information of the edge server, inputting the running status information into the preset edge server fitness model to obtain the fitness value of the edge server for the video data stream, the edge server fitness model is a model trained by a machine learning algorithm based on sample data of the video data stream processed in multiple historical running states of the edge server in advance; after determining the current fitness value ranking of each edge server, assigning tasks to the video data stream according to the importance score and the fitness value ranking, the task assignment comprising assigning the video data stream with the highest importance score to the edge server with the highest fitness value for processing.

[0007] By adopting the above technical solution, important video streams can be processed by the most suitable server, improving the overall video stream processing efficiency and quality, optimizing resource utilization, and enhancing system stability and reliability.

[0008] In combination with some embodiments of the first aspect, in some embodiments, after the step of determining the importance score corresponding to each video data stream according to the weight coefficient, it also includes: when the importance score meets the preset high score threshold, marking the corresponding video data stream as high priority; when the importance score meets the preset low score threshold, marking the corresponding video data stream as low priority; after determining the number of video data streams corresponding to the high priority, suspending low priority tasks equal to the number of video data streams, and giving priority to high priority tasks.

[0009] By adopting the above technical solutions, it is possible to ensure that important video data is processed in a timely manner, avoid delays in high-priority tasks due to too many low-priority tasks, effectively improve the processing speed of key video streams, ensure the system's rapid response capability to important information, and enhance the system's processing efficiency in multi-tasking scenarios.

[0010] In combination with some embodiments of the first aspect, in some embodiments, when the importance score meets a preset high score threshold, the corresponding video data stream is marked as a high priority; when the importance score meets a preset low score threshold, before the step of marking the corresponding video data stream as a low priority, it also includes: dividing the area within the set range into multiple sub-areas, and setting a regional priority for each sub-area; determining the target sub-area corresponding to the source address of the video data stream; and determining the initial priority of the video data stream based on the regional priority of the target sub-area.

[0011] By adopting the above technical solution, this operation gives the video stream a basic priority basis before the importance score, which complements the priority determined based on the score later, making the video stream priority division more comprehensive and reasonable. It not only takes into account the weight of the video's own features, but also combines the regional importance, which can better allocate resources, allowing the system to give priority to video streams from important areas or with important features, and improve the system's differentiated processing capabilities for video streams from different regions.

[0012] In combination with some embodiments of the first aspect, in some embodiments, after the step of determining the importance score corresponding to each video data stream according to the weight coefficient, it also includes: determining a first score according to the proportion of the idle computing power of the edge server to the total computing power; determining a second score according to the comparison between the remaining memory of the edge server and the estimated memory required for video processing; determining a stability score according to the network connection status of the edge server; determining a third score according to the ratio of the task load level of the edge server to the current task volume; and determining the fitness value of each edge server by combining the first score, the second score, the stability score, and the stability score with a weighted combination.

[0013] By adopting the above technical solutions, multi-dimensional evaluation of server status can provide a comprehensive understanding of its ability to process video streams, avoiding the one-sidedness of single indicator evaluation. This can more accurately allocate suitable servers to video streams, make full and reasonable use of server resources, and reduce inefficiency caused by server overload or idle resources.

[0014] In combination with some embodiments of the first aspect, in some embodiments, after the step of determining the fitness value of each edge server by combining the first score, the second score, the stability score, and the stability score with a weighted combination, it also includes: after determining to allocate tasks according to the fitness value, reallocating the fitness value corresponding to the edge server during the task allocation process; if the rate of decrease of the fitness value after taking on a new task is lower than a preset rate value, reallocating the new task to an idle edge server.

[0015] By adopting the above technical solution, it is possible to promptly discover situations in which improper task allocation leads to unreasonable increase in server pressure, and by reallocating tasks to idle servers, it is possible to avoid processing jams or even failures of servers due to excessive load.

[0016] In combination with some embodiments of the first aspect, in some embodiments, after determining the current fitness value ranking of each edge server, after the step of assigning tasks to the video data stream according to the importance score and the fitness value ranking, it also includes: regularly detecting the operating status information of the edge server; if it is determined according to the operating status information that there is an emergency, immediately reclaiming the unfinished video data stream processing task of the edge server; and reallocating the video data stream processing task to a healthy edge server, which is an edge server whose operating status information meets normal standards.

[0017] By adopting the above technical solution, we can effectively deal with sudden server failures, avoid video stream processing interruption or data loss due to server anomalies, and ensure that video stream processing tasks are always performed on normally operating servers.

[0018] In combination with some embodiments of the first aspect, in some embodiments, after determining the current fitness value ranking of each edge server, after the step of assigning tasks to the video data stream according to the importance score and the fitness value ranking, it also includes: when a new video data stream is detected, determining whether the source address of the new video data stream belongs to a preset key monitoring area; if it is determined to belong to the preset key monitoring area, determining the new video data stream as a high priority, and assigning the new video data stream to the edge server with the highest fitness value for processing.

[0019] By adopting the above technical solution, special treatment can be given to video streams in key areas, and their processing efficiency and quality can be prioritized. Combined with the most suitable server resources, video streams in key areas can be processed quickly and accurately, improving the timeliness and effectiveness of the system's video monitoring of key areas.

[0020] In a second aspect, the present application provides a server, comprising: one or more processors and a memory; the memory is coupled to the one or more processors, the memory is used to store computer program code, the computer program code includes computer instructions, and the one or more processors call the computer instructions to cause the server to execute the method described in the first aspect and any possible implementation of the first aspect.

[0021] In a third aspect, the present application provides a computer-readable storage medium comprising instructions, which, when executed on a server, causes the server to execute the method described in the first aspect and any possible implementation of the first aspect.

[0022] In a fourth aspect, the present application provides a computer program product, which, when executed on a server, enables the server to execute the method described in the first aspect and any possible implementation manner of the first aspect.

[0023] One or more technical solutions provided in the embodiments of the present application have at least the following technical effects or advantages:

[0024] 1. Due to the technical means of obtaining connection status based on edge server heartbeat packets, determining video stream importance scores based on key feature information combined with weights, and allocating tasks based on edge server fitness models, the problems of unreasonable allocation of video stream processing tasks and low resource utilization efficiency in the prior art are effectively solved, thereby achieving the technical effect of improving video stream processing efficiency and quality, optimizing resource allocation, and enhancing system stability and reliability.

[0025] 2. Due to the adoption of a technical means of multi-dimensional comprehensive evaluation of the edge server status (including idle computing power, remaining memory, network connection, and task load) to determine the fitness value to allocate video stream tasks, the problem of improper task allocation caused by one-sided server resource evaluation in the prior art is effectively solved, thereby achieving the technical effect of fully and rationally utilizing server resources and improving the rationality of resource allocation and processing efficiency of the video stream processing system.

[0026] 3. Due to the technical means of regularly detecting the operating status of the edge server and recovering and reallocating tasks to healthy servers in case of emergencies, the problem of sudden server failures leading to interruption of video stream processing or data loss in the existing technology is effectively solved, thereby achieving the technical effect of improving the system's fault tolerance and reliability and ensuring uninterrupted video stream processing. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] Figure 1 It is a flow chart of a method for implementing an efficient video streaming server based on edge computing in an embodiment of the present application;

[0028] Figure 2 It is another flowchart of a method for implementing an efficient video streaming server based on edge computing in an embodiment of the present application;

[0029] Figure 3 It is a schematic diagram of the structure of a physical device of the management system in an embodiment of the present application. DETAILED DESCRIPTION

[0030] The terms used in the following embodiments of the present application are only for the purpose of describing specific embodiments, and are not intended to be used as limitations to the present application. As used in the specification and appended claims of the present application, the singular expressions "one", "a kind of", "said", "above", "the" and "this" are intended to also include plural expressions, unless there is a clear indication to the contrary in the context. It should also be understood that the term "and / or" used in the present application refers to and includes any or all possible combinations of one or more listed items.

[0031] In the following, the terms "first" and "second" are used for descriptive purposes only and are not to be understood as suggesting or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features, and in the description of the embodiments of the present application, unless otherwise specified, "plurality" means two or more.

[0032] For ease of understanding, the following is a description of the process of the method provided by this implementation. Figure 1 , which is a flow chart of a method for implementing an efficient video streaming server based on edge computing in an embodiment of the present application.

[0033] S101, obtaining a heartbeat packet sent by an edge server within a set range at a set time interval, where the heartbeat packet is used to detect the connection status between network devices;

[0034] The management system is provided with an edge server management module, which pre-stores the network identifiers and IP addresses of all edge servers within a set range. The management system sends an ICMP request data packet to all stored edge server IP addresses through the network interface Ethernet port or the wireless network interface card at a fixed time interval of, for example, 10 seconds. After receiving the ICMP request data packet, the edge server returns an ICMP reply data packet, which is a heartbeat packet. The edge server management module of the management system receives and parses the returned ICMP heartbeat packet, extracts information such as the source address, and can detect the network connection status with the edge server. If the heartbeat packet reply of a certain edge server is not received within the preset time, the network connection of the server is marked as faulty. If all edge servers reply to the heartbeat packet normally, it is confirmed that the current network interconnection status of the entire set range is good. In order to improve the monitoring efficiency, the management system can group the edge servers within the set range according to the geographical location, and the time for each group of servers to send the ICMP heartbeat packet is slightly staggered to avoid packet conflicts. A lighter TCP three-way handshake heartbeat packet can also be used to reduce the network load. If a new edge server is added, it can automatically trigger the scanning and detection of the server, and dynamically update the network topology information of the edge server management module.

[0035] S102, after determining the associated edge server according to the heartbeat packet, obtaining key feature information extracted by each edge server from the video data stream in real time;

[0036] After detecting the heartbeat packet of the edge server, the management system will establish a connection with the edge server through the network interface, and then send it an instruction to obtain the feature information of the video stream. After receiving the instruction, the edge server will perform feature extraction operations on the video stream cached or processed in real time. Specifically, the edge server will use the multimedia content analysis algorithm to extract multiple feature elements for each video stream file, such as detecting the number of faces, scene categories, target movement speed, etc. in each picture, and statistically generate digital feature values ​​of these feature elements. After that, the edge server will package the extracted feature information of each video stream and send it to the management system. After receiving the feature information package sent by the edge server, the management system will decompress and parse the data in the package, obtain the feature value corresponding to each video stream, and store it in the feature information library. In order to ensure the real-time nature of the feature information, the management system will periodically send instructions to the edge server to obtain feature information. After receiving the instruction, the edge server will re-extract feature information from the currently processed video stream and feed it back to the management system, so as to ensure that the management system continuously obtains real-time feature data of the video stream.

[0037] S103, determining the weight coefficients corresponding to each of the key feature information in combination with a preset weight correspondence table;

[0038] After obtaining the feature information of the video stream, the management system will determine the weight coefficients for different feature indicators according to the preset weight correspondence table. Specifically, the management system will pre-store a feature-weight correspondence table locally. The correspondence table lists the names of the features of the video stream, such as the number of faces, scene type, etc., and pre-defines a weight coefficient for each feature to indicate the importance weight of the feature. Generally speaking, features related to security effects, such as faces, will have higher weights. However, the weights of some voice-related, environmental mode and other features will be lower. The management system will query the table and retrieve the weight coefficients corresponding to each feature appearing in the video stream. For example, if a video stream has two features, the number of faces and environmental noise, then according to the correspondence table, it can be found that the weight coefficient of the number of faces is 0.8, and the weight coefficient of the environmental noise feature is 0.3.

[0039] S104, determining the importance score corresponding to each video data stream according to the weight coefficient;

[0040] After obtaining the weight coefficients of the video stream features, the management system will calculate the importance score of each video stream. The calculation method is as follows: the management system extracts multiple video features in advance according to the video analysis algorithm. These features can reflect the importance of the video stream. For example, target detection results, scene classification results, image quality assessment results, etc. Each feature is weighted and assigned a weight coefficient in the range of 0-1. The weight coefficient can be set according to actual needs or obtained through model training. The features that reflect greater video importance have higher weight coefficients. When scoring a specific video stream, the management system will first extract features from the video stream to obtain all features of the video stream, then traverse each feature of the video stream, find its corresponding weight coefficient, and normalize the weight coefficient of each feature to scale it to the range of 0-1. The specific method can be linear normalization or minimum-maximum normalization. Finally, the normalized weight coefficients of all features in the video stream are summed to obtain the importance score of the video stream.

[0041] This method can make full use of the feature information of each dimension of the video stream and obtain a comprehensive importance score through weight fusion, which is convenient for the subsequent sorting and allocation of video stream processing tasks according to importance.

[0042] In some embodiments, the edge server can also monitor and report the total computing power and current idle computing power of its CPU. The management system obtains the idle computing power of the edge server and calculates its proportion, that is, idle computing power / total computing power, as the first score. The higher the proportion, the higher the first score. The edge server monitors and reports its total memory and current remaining memory. The management system estimates the amount of memory required to allocate a new video stream task and compares it with the remaining memory of the edge server. The comparison value is used as the second score. The larger the comparison value, the higher the second score. The edge server monitors and reports its network connection quality parameters, such as packet loss rate, delay, etc. The management system calculates a network connection stability score based on these parameters. The better the network performance, the higher the stability score. The edge server reports its total processing task limit and the current number of accepted tasks. The management system calculates the current number of tasks / total number of tasks as the third score. The smaller the ratio, the higher the third score. After assigning tasks, the edge server fitness score change trend is monitored in real time. If the fitness score decreases too fast after accepting a new task, it means that the server is under too much pressure, and the new task is reallocated to a more idle edge server.

[0043] Specifically, let the function of the ratio of idle computing power of edge servers to total computing power changing with time t be: , which is in the time period Points on Indicates the cumulative proportion of idle computing power during this time period. In order to normalize it to between 0 and 1, define the first score for: ,in express exist The maximum value on . Suppose the function of the remaining memory of the edge server changing with time t is , the function of the estimated amount of memory required for video processing changing with time t is , then the remaining memory and the estimated memory required for video processing are compared over time The function of change is , which is in the time period Points on Indicates the cumulative amount of remaining memory relative to video processing demand during this time period. Define the second score for: ,in express exist The maximum value on . Suppose the function of the network connection stability score of the edge server changing with time t is , define the stability score for: ,in express exist The maximum value on . Suppose the function of the task load degree of the edge server changing with time t is , the function of the total task limit changing with time t , then the function of the ratio of task load to current task volume changing with time t is , which is in the time period Points on Indicates the cumulative situation of the task load ratio during this period. Define the third score for: ,in express exist The maximum value on . Let the first score be The weight of , second rating The weight is , stability score The weight of , third rating The weight is , then the fitness value of the edge server The integral form of is: .

[0044] S105. After obtaining the running status information of the edge server, input the running status information into the preset edge server fitness model to obtain a fitness value of the edge server for the video data stream, wherein the edge server fitness model is a model trained by a machine learning algorithm based on sample data of the video data stream processed in multiple historical running states of the edge server in advance;

[0045] After obtaining the running status information of the edge server, the management system needs to input the running status information into the preset edge server fitness model to evaluate the fitness of each edge server in processing the current video data stream. Specifically, the management system needs to train the edge server fitness model based on historical sample data in advance, and the training samples include the performance data of the edge server processing the video stream under various different running states. The running status information may include: CPU utilization, memory usage, network bandwidth, disk IO and other information. These status information reflects the remaining computing resources and processing capacity of the server. The training samples also need to include the performance of processing video streams of different scales and resolutions under different running states, such as average delay, frame rate, buffering times, etc., as a sign of the fitness of the server processing video tasks. The management system can use machine learning algorithms, such as LSTM, SVM, etc., combined with running status information to train the server fitness prediction model. The sample data can also be input into a preset evaluation function to obtain the fitness scores under different states to form a fitness evaluation table.

[0046] When actually receiving a video stream task, the management system obtains the current operating status monitoring information of the edge server as input, searches for the most matching set of operating states in the sample data, or inputs a prediction model or evaluation function to calculate the predicted fitness value under the operating state. The fitness value reflects whether the current resource status of the edge server is suitable for processing video stream tasks of a given scale. In addition to the fitness evaluation based on the server's own status, the management system can also combine the video stream feature information to improve the accuracy of the evaluation. For example, based on the video's resolution, bit rate, frame rate and other features, the management system can predict the computing resources and network bandwidth occupied by the server, and evaluate a more reliable fitness score based on the current resource margin status of the edge server.

[0047] S106: After determining the current fitness numerical ranking of each edge server, assign tasks to the video data stream according to the importance score and the fitness numerical ranking, wherein the task assignment includes assigning the video data stream with the highest importance score to the edge server with the highest fitness numerical ranking for processing.

[0048] After determining the current fitness value ranking of each edge server, the management system needs to sort the video data stream according to its importance score and the fitness value of the edge server, so as to reasonably assign tasks to the video data stream. Specifically, the management system maintains a video data stream task list, which contains all the video data streams to be processed and is sorted according to the importance score obtained by the previous evaluation. It also maintains an edge server list, which contains all the edge server node information and is arranged from high to low according to the fitness value.

[0049] When assigning tasks, the management system will select the video data stream with the highest importance score, that is, the task at the front of the list, and then check the edge server list with the highest fitness value, that is, the edge server with the best resource status, and assign the video data stream to the edge server for processing. For video data stream tasks with lower importance scores, the management system will match edge servers with lower fitness values ​​for processing. For edge servers with very low fitness values, the management system can temporarily not assign video stream tasks to them until their resource status improves.

[0050] During the task allocation process, the management system also needs to monitor the changes in the two lists in real time. For example, if a new video stream is added, it needs to be inserted into the corresponding position in the importance list; if an edge server completes a task and releases resources, its fitness value needs to be updated. In addition, if after the task is allocated, the fitness value of the edge server is monitored to decrease abnormally, indicating that the server has increased the risk of overload, the management system needs to extract some tasks from the server and reallocate them to other servers with sufficient resources. This can avoid a decrease in task processing efficiency or failures.

[0051] In some embodiments, while the management system is normally scheduling video stream processing tasks, it will also monitor in real time whether new video data streams are added. Once a new video stream input is detected, the management system will first analyze the source address of the video stream (the source IP address can be obtained through the data packet header information) and determine whether the source address belongs to the preset key monitoring area. The key monitoring area can be obtained by the management system reading the preset configuration file at startup, and the configuration file will list the IP address segments, domain names, etc. of the key areas. These key areas can be important places, key infrastructures, and other areas that need priority monitoring. If it is determined that the new video stream is from the preset key monitoring area, the video stream will be marked as a high priority for processing. Then, the management system will select the edge server with the highest fitness value, that is, the edge server that is currently in the best operating state, from the currently connected edge servers, and assign this new high-priority video stream to it for processing. In this way, the new video stream from the key monitoring area can be detected and processed accordingly in a timely manner, with higher transmission bandwidth and computing resource guarantees than ordinary video streams, which can improve the processing response speed and picture clarity of the video stream in the key area.

[0052] In the embodiment of the present application, by acquiring heartbeat packets at set intervals to detect connections, extracting key features and combining them with weight table scores, evaluating server status according to the fitness model, and assigning tasks according to importance scores and fitness rankings, accurate and efficient video stream processing and stable and reliable systems are achieved. Not only does it optimize task allocation, it enables key video streams to be quickly processed with adaptive resources, improves overall efficiency and quality, and alleviates the risk of jamming and crashing caused by high concurrency pressure in centralized architectures.

[0053] In some embodiments, after determining the task allocation of each edge server, the management system will regularly detect the operating status information of each edge server. The operating status information includes: CPU occupancy rate, memory occupancy rate, network delay, packet loss rate, etc. The management system will send status data query instructions to each edge server at a certain time interval (for example, every minute). After receiving the instruction, the edge server will collect the current operating status information and feedback it to the management system. After receiving the operating status data fed back by the edge server, the management system will judge according to the preset status threshold to see whether each status indicator is normal. If there is an indicator exceeding the threshold, it is determined that the edge server has an emergency, which may affect the execution of the video stream processing task. At this time, the management system will immediately send a task retraction instruction to the problematic edge server, requiring it to stop the currently processing video stream task and upload the unprocessed video stream data. At the same time, the management system will re-assign these unfinished video stream processing tasks to the healthy edge servers with normal current operating status and no faults for continued processing. In this way, through regular monitoring and timely reallocation, sudden failures of edge servers that lead to interruption of video stream processing or data loss can be avoided as much as possible, ensuring that video stream tasks can run uninterruptedly on healthy servers, thereby improving the system's fault tolerance and the reliability of task processing.

[0054] After combining the above content, the following is a more detailed description of the process of the method provided by this implementation. Figure 2 , which is another flow chart of the method for implementing an efficient video streaming server based on edge computing in an embodiment of the present application.

[0055] S201, dividing the area within the set range into multiple sub-areas, and setting an area priority for each of the sub-areas;

[0056] The management system needs to first determine the overall service area of ​​the server processing video streams based on the coverage of the video stream server, and then divide the entire service area into multiple logical sub-areas based on the strategic importance and monitoring sensitivity of different locations in the area, such as dividing a city area into multiple districts and counties, and a campus area into multiple functional areas, etc., and evaluate the importance of each sub-area and specify the regional priority. The factors that can be considered in the evaluation include regional traffic flow, importance, security, and analysis of previous events. For example, traffic intersections and important facility areas can be set with higher priorities, and low traffic areas can be set with low priorities. The sub-areas and corresponding regional priorities are maintained in the regional information database of the management system and sorted in order of priority. The database also needs to record the specific scope of each sub-area in order to determine which sub-area the video stream source address belongs to.

[0057] The management system can provide a human-computer interaction interface for regional division and priority setting, allowing managers to adjust and maintain according to actual conditions to ensure that regional information and priority settings meet the latest needs. It can also automatically analyze the importance characteristics of each region based on machine learning algorithms, dynamically adjust the division scheme and priority of sub-regions, and realize automatic and intelligent management of regional information.

[0058] S202, determining the target sub-area corresponding to the source address of the video data stream;

[0059] When the management system receives a video stream task, it needs to parse and extract the source address information of the video stream, which reflects the location of the source of the video stream. The source address of the video stream is matched with the regional information database to determine which sub-region the address belongs to. The positioning function of the geographic information system can be used to determine the sub-region where the source address is located. If the source address is not in any existing sub-region, it is necessary to update the database, add new sub-regions, or readjust the regional range to adapt to actual changes. Finally, the sub-region to which the source address corresponding to the video stream belongs is determined as the basic information for subsequent determination of the priority of the video stream.

[0060] S203, determining the initial priority of the video data stream according to the regional priority of the target sub-region;

[0061] The regional division module in the management system will first divide the entire area into multiple logical sub-areas based on the geographic location information within the set range, using a map division algorithm, such as dividing a city into multiple districts and counties. Then, the system administrator can manually set a regional priority of 1-10 for each sub-area based on the importance of the area. The larger the number, the higher the priority. When determining the initial priority of the video stream, the management system will first parse the source address of the video stream, determine the target sub-area to which it belongs, and then query the preset regional priority of the target sub-area as the initial priority of the video stream. For example, if the source address of a video stream is located in area A, and the regional priority of area A is preset to 8, then the initial priority of the video stream is set to 8.

[0062] The management system can also combine the geographic information and traffic statistics of the location of the video stream source address, use machine learning algorithms to automatically evaluate the importance of the region, and dynamically generate the regional priority of each sub-region, so that the regional priority is no longer fixed, but can be updated in real time, so as to more accurately reflect the importance of each region. Specifically, the management system needs to collect relevant geographic information data of each sub-region as input features for machine learning. This information includes: the distribution of important places in the region, such as the distribution density of public areas such as government agencies, stations, and shopping malls; the population distribution density and mobility in the region; the traffic facilities in the region, such as the road network density; the network infrastructure density in the region, such as the base station / gateway distribution; the video surveillance equipment density in the region; and the network traffic and access request statistics in the region. The management system will use machine learning algorithms, such as linear regression, to train a regional priority evaluation model based on the above geographic information data as input features. The output of the model is a priority score for each region. After preparing the historical data, the management system will iteratively train the regional priority evaluation model and adjust the parameters of the model so that the regional priority score output by the model can meet the actual regional priority of historical statistics. After the evaluation model is deployed, the management system can input the latest geographic information data regularly or in real time, and dynamically predict and generate the regional priority score of each sub-region at the current moment. The management system determines the real-time priority of the sub-region where the video stream is located based on the regional priority obtained by dynamic prediction, and updates the initial priority of the video stream accordingly.

[0063] S204, when the importance score meets the preset high score threshold, the corresponding video data stream is marked as high priority; when the importance score meets the preset low score threshold, the corresponding video data stream is marked as low priority;

[0064] After determining the initial priority of the video stream, the management system will further adjust its final priority based on the importance score of the video stream content. Specifically, the management system will preset a high priority score threshold, for example, a score greater than 0.8 is considered high priority, and a low priority score threshold, for example, less than 0.4 is considered low priority. Then the management system will determine whether the importance score of each video stream is greater than the high priority threshold. If the score is higher than the threshold, the video stream will be directly marked as high priority regardless of its initial priority.

[0065] Similarly, if the score of a video stream is lower than the low priority threshold, it is also directly marked as low priority. If the score is between the high and low thresholds, its initial priority is retained unchanged. Through the logical judgment of the score threshold, the priority of the video stream can be dynamically adjusted to ensure that important video content can be given high priority, while unimportant content is lowered in priority, thereby guiding subsequent task scheduling.

[0066] S205: After determining the number of video data streams corresponding to the high priority, suspend low priority tasks equal to the number of video data streams, and give priority to processing high priority tasks.

[0067] After marking the priorities of all video streams, the management system can count the total number of current high-priority video streams, assuming the number is n, and then send instructions to each edge server, asking it to suspend n currently processed low-priority video stream tasks. Specifically, the management system will select n video streams with the lowest priority from the video streams being processed based on the marked priority information and send a pause instruction. The edge server that receives the instruction will suspend the reading, decoding, processing and other operations of these n low-priority tasks to free up resources.

[0068] For video streams marked as high priority, the management system will issue instructions requiring the edge server to immediately start or continue processing these high priority tasks to ensure that they can get priority network bandwidth, computing resources, etc., thereby speeding up processing and shortening latency. By pausing low-priority tasks to release resources, important video streams can be processed first, avoiding blockage due to too many low-priority tasks, thereby improving the system's processing capabilities for important video streams.

[0069] In the embodiment of the present application, by subdividing the set area into multiple sub-areas and assigning priorities according to strategic importance and monitoring sensitivity, from the perspective of strategic importance, such as the core business district, government office area, transportation hub and other places in the city, because they are related to the key nodes of economic operation, administrative management and personnel and material circulation, their strategic value is extremely high, and they need to be highlighted when dividing the area. In terms of monitoring sensitivity, areas near the set scientific research sites and areas prone to public safety incidents (such as large-scale event venues and streets with complex public security) have become the key basis for dividing the priority areas based on their urgent need for real-time and accurate monitoring and high sensitivity to security threats. Then, by accurately analyzing the factors such as the density of people in the area, the key level of facilities, the frequency of past events and the scale of impact, a solid foundation is laid for scientific and reasonable regional division, ensuring that the video stream processing tasks meet the actual scene requirements in all aspects, accurately focusing on key areas, combining the video stream source address to determine the initial priority, and then adjusting the final priority and task scheduling strategy according to the importance score threshold to achieve intelligent grading and optimized allocation of video stream processing tasks. It not only gives priority to high-priority tasks to improve the speed of key information processing, such as ensuring real-time and efficient processing of surveillance videos in key areas, but also dynamically balances task allocation based on regional characteristics and video stream content to avoid low-priority tasks from occupying excessive resources and causing system blockage. It comprehensively improves the adaptability and resource utilization efficiency of the video stream processing system to complex scenarios, and enhances overall performance and service quality.

[0070] The following describes the management system in the embodiment of the present invention from the perspective of hardware processing. Figure 3 , which is a schematic diagram of the structure of a physical device of the management system in an embodiment of the present application.

[0071] It should be noted that Figure 3 The structure of the management system shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.

[0072] like Figure 3 As shown, the management system includes a central processing unit (CPU) 301, which can perform various appropriate actions and processes according to the program stored in the read-only memory (ROM) 302 or the program loaded from the storage part 308 to the random access memory (RAM) 303, such as executing the method described in the above embodiment. In RAM 303, various programs and data required for system operation are also stored. CPU 301, ROM 302 and RAM 303 are connected to each other through bus 304. Input / output (I / O) interface 305 is also connected to bus 304.

[0073] The following components are connected to the I / O interface 305: an input section 306 including an audio input device, a button switch, etc.; an output section 307 including a liquid crystal display (LCD) and an audio output device, an indicator light, etc.; a storage section 308 including a hard disk, etc.; and a communication section 309 including a network interface card such as a LAN (Local Area Network) card, a modem, etc. The communication section 309 performs communication processing via a network such as the Internet. A drive 310 is also connected to the I / O interface 305 as needed. A removable medium 311, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 310 as needed so that a computer program read therefrom is installed into the storage section 308 as needed.

[0074] In particular, according to an embodiment of the present invention, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present invention includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a computer program for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through the communication part 309, and / or installed from a removable medium 311. When the computer program is executed by the central processing unit (CPU) 301, various functions defined in the present invention are performed.

[0075] It should be noted that specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a 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 thereof. In the present invention, a computer-readable storage medium may be any tangible medium containing or storing a program that may be used by or in combination with an instruction execution system, apparatus, or device.

[0076] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present invention. Each box in the flowchart or block diagram may represent a module, a program segment, or a part of a code, and the above-mentioned module, program segment, or a part of a code contains one or more executable instructions for implementing the specified logical functions. It should also be noted that in some alternative implementations, the functions marked in the box may also occur in an order different from that marked in the accompanying drawings.

[0077] Specifically, the management system of this embodiment includes a processor and a memory, and a computer program is stored in the memory. When the computer program is executed by the processor, the efficient video streaming server implementation method based on edge computing provided in the above embodiment is implemented.

[0078] As another aspect, the present invention further provides a computer-readable storage medium, which may be included in the management system described in the above embodiment; or may exist independently without being assembled into the management system. The above storage medium carries one or more computer programs, and when the above one or more computer programs are executed by a processor of the management system, the management system implements the efficient video streaming server implementation method based on edge computing provided in the above embodiment.

[0079] As described above, the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.

[0080] As used in the above embodiments, the term "when..." may be interpreted to mean "if..." or "after..." or "in response to determining..." or "in response to detecting...", depending on the context. Similarly, the phrases "upon determining..." or "if (the stated condition or event) is detected" may be interpreted to mean "if determining..." or "in response to determining..." or "upon detecting (the stated condition or event)" or "in response to detecting (the stated condition or event)", depending on the context.

[0081] Those skilled in the art can understand that to implement all or part of the processes in the above-mentioned embodiments, the processes can be completed by computer programs to instruct related hardware, and the programs can be stored in computer-readable storage media. When the programs are executed, they can include the processes of the above-mentioned method embodiments. The aforementioned storage media include: ROM or random access memory RAM, magnetic disk or optical disk and other media that can store program codes.

Claims

1. A method for implementing an efficient video streaming server based on edge computing, applied to a management system, characterized in that: The method comprises: Obtain heartbeat packets sent by edge servers within a set range at a set time interval, wherein the heartbeat packets are used to detect the connection status between network devices; After determining the associated edge server according to the heartbeat packet, obtaining key feature information extracted from the video data stream by each edge server in real time; Determine the weight coefficients corresponding to each of the key feature information in combination with a preset weight correspondence table; Determine the importance score corresponding to each of the video data streams according to the weight coefficient; After obtaining the running status information of the edge server, the running status information is input into the preset edge server fitness model to obtain the fitness value of the edge server to the video data stream, wherein the edge server fitness model is a model trained by a machine learning algorithm based on sample data of the video data stream processed in multiple historical running states of the edge server in advance; After determining the current fitness numerical ranking of each edge server, the video data stream is assigned tasks according to the importance score and the fitness numerical ranking, and the task assignment includes assigning the video data stream with the highest importance score to the edge server with the highest fitness numerical value for processing.

2. The method according to claim 1, characterized in that After the step of determining the importance score corresponding to each of the video data streams according to the weight coefficient, the method further includes: When the importance score meets a preset high score threshold, the corresponding video data stream is marked as a high priority; when the importance score meets a preset low score threshold, the corresponding video data stream is marked as a low priority; After determining the number of video data streams corresponding to the high priority, low priority tasks equal to the number of video data streams are suspended, and high priority tasks are processed preferentially.

3. The method according to claim 2, characterized in that Before the step of marking the corresponding video data stream as high priority when the importance score meets a preset high score threshold, and marking the corresponding video data stream as low priority when the importance score meets a preset low score threshold, the method further includes: Dividing the area within the set range into a plurality of sub-areas, and setting an area priority for each of the sub-areas; Determine a target sub-area corresponding to a source address of the video data stream; An initial priority of the video data stream is determined according to the region priority of the target sub-region.

4. The method according to claim 1, characterized in that: After the step of determining the importance score corresponding to each of the video data streams according to the weight coefficient, the method further includes: The first score is determined according to the ratio of the idle computing power of the edge server to the total computing power; the second score is determined according to the comparison between the remaining memory of the edge server and the estimated memory required for video processing; the stability score is determined according to the network connection status of the edge server; the third score is determined according to the ratio of the task load of the edge server to the current task volume; The fitness value of each edge server is determined by combining the first score, the second score, the stability score, and the stability score in a weighted combination.

5. The method according to claim 4, characterized in that After the step of determining the fitness value of each edge server by combining the first score, the second score, the stability score, and the stability score with a weighted combination, the method further includes: After determining to allocate tasks according to the fitness value, monitoring the fitness value corresponding to the edge server during the task allocation process in real time; If the rate drop of the adaptability value after taking on the new task is lower than the preset rate value, the new task is reallocated to the idle edge server.

6. The method according to claim 1, characterized in that After determining the current fitness numerical ranking of each edge server, after the step of allocating tasks to the video data stream according to the importance score and the fitness numerical ranking, the method further includes: Regularly detecting the operating status information of the edge server; If it is determined according to the operation status information that an emergency situation exists, immediately reclaiming the unfinished video data stream processing task of the edge server; The video data stream processing task is reallocated to a healthy edge server, where the healthy edge server is an edge server whose operating status information meets normal standards.

7. The method according to claim 1, characterized in that After determining the current fitness numerical ranking of each edge server, after the step of allocating tasks to the video data stream according to the importance score and the fitness numerical ranking, the method further includes: When a new video data stream is detected, determining whether the source address of the new video data stream belongs to a preset key monitoring area; If it is determined that the video data stream belongs to the preset key monitoring area, the newly added video data stream is determined as a high priority, and the newly added video data stream is allocated to the edge server with the highest fitness value for processing.

8. A server, characterized in that: The server includes: one or more processors and a memory; the memory is coupled to the one or more processors, the memory is used to store computer program code, the computer program code includes computer instructions, and the one or more processors call the computer instructions to enable the server to execute the method described in any one of claims 1-7.

9. A computer-readable storage medium comprising instructions, characterized in that: When the instructions are executed on a server, the server is caused to execute the method according to any one of claims 1 to 7.

10. A computer program product, characterized in that When the computer program product is run on a server, the server is caused to execute the method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Video frame dispatching method based on edge computing

    CN109194984A

  • Video monitoring intelligent flow pushing method and device based on multi-server load response

    CN118138716A