Video capability resource scheduling methods, devices, electronic equipment and storage media

CN118827684BActive Publication Date: 2026-08-14CHINA MOBILE COMM LTD RES INST +1
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-10-31
Publication Date
2026-08-14

AI Technical Summary

Technical Problem

例如,某种推理卡的算力为130TOPS,可以支持40路高清视频实时分析,但是同样算力的另一种推理卡,却能支持120路高清视频实时分析

Benefits of technology

[0030] This application receives a service request, which includes the type and quantity of the requested video capabilities. Each type of video capability corresponds to a computing power network resource pool. The resource status of each resource node in the computing power network resource pool corresponding to the video capability type is determined. The resource status represents the number of resources supported by the resource node for the video capability. Based on the resource status of each resource node, resource scheduling is performed on the service request. This application determines the number of resources supported by each resource node in the computing power network resource pool corresponding to the requested video capability type based on the type and quantity of the video capability requested in the service request, and performs resource scheduling based on the number of resources supported by each resource node for the video capability. This application can schedule a corresponding number of resources in the computing power network resource pool according to the number of resources required by the service request, accurately calling video capability resources for the service request. Compared with scheduling resources based on computing power, the resource scheduling in this application is more accurate, does not cause resource waste, and can improve resource utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118827684B_ABST
    Figure CN118827684B_ABST
Patent Text Reader

Abstract

This invention discloses a video capability resource scheduling method, apparatus, electronic device, and storage medium. The video capability resource scheduling method includes: receiving a service request, the service request including the type and quantity of the target video capability; determining the resource status of each resource node in the computing power network resource pool corresponding to the type of video capability; each type of video capability corresponds to a computing power network resource pool; the resource status represents the number of resources supported by the resource node for the video capability; and scheduling resources for the service request based on the resource status of each resource node.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of video technology, and in particular to a video capability resource scheduling method, apparatus, electronic device, and storage medium. Background Technology

[0002] Video services are diverse, and from an underlying capability perspective, they include video encoding / decoding, transcoding, rendering, analysis, and compositing. These video capabilities all require general-purpose or dedicated computing resources. Related technologies use traditional physical metrics (such as computational metrics, storage metrics, input / output (I / O) metrics, and power consumption metrics) to measure the video capabilities of hardware devices.

[0003] While physical metrics can provide some performance evaluation of a hardware device's video capabilities, this evaluation may not be accurate. For example, a certain inference card might have a computing power of 130 TOPS, supporting real-time analysis of 40 channels of high-definition video. However, another inference card with the same computing power might support 120 channels of high-definition video in real-time analysis. This means that different devices with comparable raw computing power can have an effective computing power difference of up to three times, making it impossible to allocate resources reasonably for video services based solely on the device's raw computing power. Summary of the Invention

[0004] In view of this, embodiments of the present invention provide a video capability resource scheduling method, apparatus, electronic device, and storage medium, which can accurately allocate resources for video services.

[0005] The technical solution of this invention is implemented as follows:

[0006] In a first aspect, embodiments of the present invention provide a video capability resource scheduling method, the method comprising:

[0007] Receive a service request, the service request including the type and quantity of the video capabilities requested by the target;

[0008] The resource status of each resource node in the computing power network resource pool corresponding to the type of video capability is determined; each type of video capability corresponds to a computing power network resource pool; the resource status represents the number of resources of the resource node that support the video capability;

[0009] Based on the resource status of each resource node, the service request is scheduled using resources.

[0010] In the above scheme, determining the resource status of each resource node in the computing power network resource pool corresponding to the type of video capability includes:

[0011] Obtain the resource status sent by each resource node in the computing power network resource pool.

[0012] In the above scheme, determining the resource status of each resource node in the computing power network resource pool corresponding to the type of video capability includes:

[0013] Obtain the resource routing table sent by the resource nodes in the computing power network resource pool;

[0014] The resource status of each resource node in the computing power network resource pool is determined based on the resource routing table; the resource routing table includes the resource status of each resource node in the computing power network resource pool that spreads to adjacent nodes.

[0015] In the above scheme, the step of scheduling resources for the video capability service request based on the resource status of each resource node includes:

[0016] Based on the resource status of each resource node, the available resource nodes in the computing power network resource pool are determined;

[0017] Based on the available resource nodes, determine the target resource node for resource scheduling.

[0018] In the above scheme, determining the target resource node for resource scheduling based on the available resource nodes includes:

[0019] The available resource nodes are sorted according to the number of resources that support the video capabilities.

[0020] The target resource node is determined based on the sorting results.

[0021] In the above scheme, determining the target resource node for resource scheduling based on the available resource nodes includes:

[0022] The target resource node is determined based on the resource cost information of each available resource node.

[0023] In the above scheme, the computing network resource pool corresponding to each type of video capability is modeled based on a set model of hardware device, and the computing network resource pool of each video capability corresponds to at least one model of hardware device.

[0024] In a second aspect, embodiments of the present invention provide a video capability resource scheduling device, the device comprising:

[0025] A receiving module is used to receive service requests, wherein the service requests include the type and quantity of video capabilities requested by the target.

[0026] The determination module is used to determine the resource status of each resource node in the computing power network resource pool corresponding to the type of video capability; each type of video capability corresponds to a computing power network resource pool; the resource status represents the number of resources of the resource node that support the video capability;

[0027] The scheduling module is used to schedule the service requests based on the resource status of each resource node.

[0028] Thirdly, embodiments of the present invention provide an electronic device, including a processor and a memory, which are interconnected. The memory is used to store a computer program, which includes program instructions. The processor is configured to invoke the program instructions to execute the steps of the video capability resource scheduling method provided in the first aspect of the present invention.

[0029] Fourthly, embodiments of the present invention provide a computer-readable storage medium, comprising: the computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it implements the steps of the video capability resource scheduling method provided in the first aspect of the present invention.

[0030] This application receives a service request, which includes the type and quantity of the requested video capabilities. Each type of video capability corresponds to a computing power network resource pool. The resource status of each resource node in the computing power network resource pool corresponding to the video capability type is determined. The resource status represents the number of resources supported by the resource node for the video capability. Based on the resource status of each resource node, resource scheduling is performed on the service request. This application determines the number of resources supported by each resource node in the computing power network resource pool corresponding to the requested video capability type based on the type and quantity of the video capability requested in the service request, and performs resource scheduling based on the number of resources supported by each resource node for the video capability. This application can schedule a corresponding number of resources in the computing power network resource pool according to the number of resources required by the service request, accurately calling video capability resources for the service request. Compared with scheduling resources based on computing power, the resource scheduling in this application is more accurate, does not cause resource waste, and can improve resource utilization. Attached Figure Description

[0031] Figure 1 This is a schematic diagram of the structure of a general video computing network system provided in an embodiment of the present invention;

[0032] Figure 2 This is a schematic diagram illustrating the implementation process of a video capability resource scheduling method provided in an embodiment of the present invention;

[0033] Figure 3 This is a schematic diagram of a video capability resource scheduling device provided in an embodiment of the present invention;

[0034] Figure 4 This is a schematic diagram of an electronic device provided in an embodiment of the present invention. Detailed Implementation

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

[0036] Video services are characterized by high bandwidth, high computing power, and low latency, making them typical services that place high demands on both network and computing power. Video services are diverse, including streaming media, real-time interactive media, and monitoring media. From an underlying capability perspective, they include video encoding / decoding, transcoding, rendering, analysis, and compositing, all of which require general-purpose or dedicated computing resources. To handle the simultaneous access demands of massive numbers of users, the network needs to provide transmission, switching, and caching capabilities for high-speed and reliable distribution and delivery. This necessitates the integration of multiple technologies such as networking, cloud computing, edge computing, terminals, and artificial intelligence.

[0037] Computing power networks are a new type of information infrastructure centered on computing power and based on networks, deeply integrating "networks, cloud computing, big data, artificial intelligence, security, edge computing, terminals, and blockchain" to provide unified services. The goal is to gradually transform computing power into a social-level service, similar to water and electricity, offering "one-point access and instant use," ultimately achieving the vision of "ubiquitous networks, ubiquitous computing power, and pervasive intelligence." The ubiquitous collaboration, integration, and symbiotic nature of computing power networks perfectly meet the needs of video services, making the research on the application of computing power networks in the video field of great significance.

[0038] This research focuses on the application of computing networks in the video field. The goal is to provide users with anytime, anywhere, and on-demand video services, promoting video computing power as a social-level service, achieving "one-point access, instant use," and realizing the infrastructure-level development of video computing power. The main research approach is to investigate technical solutions for video services to utilize computing network capabilities to complete business logic, ensuring optimal utilization of network resources while meeting user video service experience requirements.

[0039] Video services encompass the entire process, including acquisition, encoding, transmission, distribution, reception, decoding, rendering, and artificial intelligence (AI) processing. For all video capabilities involved in these processes, a unified metrics system for video capability resources needs to be built, supporting abstract representations of different types of video capability resources.

[0040] Research on network video applications using computing power is still in its early stages. Related technologies use traditional physical metrics (such as computational metrics, storage metrics, I / O metrics, and power consumption metrics) to measure the video capabilities of hardware devices. Computational metrics primarily include measurements of the Central Processing Unit (CPU), Graphics Processing Unit (GPU), Neural-Network Processing Unit (NPU), and Data Processing Unit (DPU), with key indicators including chip type, clock speed, integer arithmetic capability, and floating-point arithmetic capability. Storage metrics include chip type, capacity, input / output operations per second (IOPS), and reliability. I / O metrics include bandwidth and latency. Power consumption metrics include the maximum thermal design power (TDP) of a single card.

[0041] While physical metrics can provide some performance evaluation of a hardware device's computing power, their accuracy is not guaranteed. For example, a certain inference card might have a computing power of 130 TOPS when processing INT8 data and support real-time analysis of 40 channels of high-definition video. However, a device with similar computing power, the Atlas 300V Pro, with 140 TOPS, can support real-time analysis of 128 channels of high-definition video. This means that different devices with comparable raw computing power can have a three-fold difference in effective computing power for a specific video service.

[0042] To address the shortcomings of the aforementioned related technologies, embodiments of the present invention provide a video capability resource scheduling method that can improve resource utilization. To illustrate the technical solution described in this invention, specific embodiments are provided below.

[0043] A general architecture based on computing power networks, targeting general video services, such as... Figure 1 As shown in the figure, this application embodiment designs a general video computing network system. This system overlays video service capability orchestration logic on top of a general computing network. The video capability layer abstracts the full-link capabilities of different video services (including acquisition, encoding, transmission, distribution, reception, decoding, rendering, AI processing, etc.) to form general video capabilities that can be called by other video services. The service orchestration layer is responsible for the unified computing network resource management and scheduling of all video capabilities downwards, and supports the invocation of all video applications upwards. The system mainly includes the following parts:

[0044] (1) Operations layer

[0045] The operations layer is primarily responsible for video service-related operations, including three parts: video service operations, video AI algorithm operations, and video capability operations. Video service operations mainly include service subscriptions, user management, device management, statistical reports, call detail records (CDRs) and billing, transcoding management, recording management, and on-demand management. Video AI algorithm operations include algorithm management, algorithm deployment, algorithm training, algorithm upgrades, algorithm encapsulation and openness, and algorithm task processing. Video capability operations include the encapsulation, openness, unified operation, and trading of video capabilities.

[0046] (2) Business orchestration layer

[0047] The service orchestration layer is responsible for the unified management and scheduling of computing network resources for all video capabilities at the lower level, and supports the invocation of these resources by all video applications at the upper level. This layer is the core layer of the entire application architecture, and mainly includes video capability resource awareness and orchestration scheduling, service orchestration, and service activation.

[0048] (3) Video capability layer

[0049] A typical video service lifecycle is divided into: acquisition, encoding, transmission, distribution, reception, decoding, rendering, and AI processing. The video capability layer encompasses all video media processing, distribution, and video AI capabilities involved in the entire video service process. Key capabilities include basic video capabilities, video distribution capabilities, and video AI capabilities. Basic video capabilities include video access, video storage, video frame extraction, video forwarding, live video streaming, and video encoding / decoding / transcoding. Video distribution capabilities include Content Delivery Network (CDN), Real-time Network (RTN), and dedicated video network transmission. Video AI capabilities include AI capabilities involved in video, such as facial recognition, vehicle recognition, industrial quality inspection, and anomaly detection. Different video services correspond to different video "basic + distribution + AI" capability templates.

[0050] (4) Access Layer

[0051] The access layer mainly provides functions such as terminal access, streaming media access, cloud storage access, AI capability access, and cascading access.

[0052] (5) Basic computing layer

[0053] The basic computing network layer is primarily responsible for general computing network resources and management. It serves as the underlying infrastructure for video services.

[0054] (6) Terminal layer

[0055] The terminal layer includes all terminal devices involved in video services. These terminal devices must access the network using a unified access protocol.

[0056] (7) Application Layer

[0057] The source of video services is the application layer, which includes video networks, video calls, cloud gaming, cloud smart boxes, and cloud extended reality (XR). Each video application corresponds to several video capabilities, and each video capability corresponds to different computing resources in the basic computing network layer.

[0058] Figure 2 This is a schematic diagram illustrating the implementation process of a video capability resource scheduling method provided in an embodiment of the present invention. The execution subject of the video capability resource scheduling method is an electronic device, including servers, desktop computers, laptops, etc. (Reference) Figure 2 Video capability resource scheduling methods include:

[0059] S201, Receive a service request, the service request including the type and quantity of the video capabilities requested by the target.

[0060] Here, video capabilities include video access, video storage, video frame extraction, video forwarding, live video streaming, video encoding / decoding / transcoding, etc., mentioned in the above embodiments.

[0061] When a video application performs video services, it generates video capability service requests. These requests can include multiple types of video capabilities. For example, when conducting a video call, the application might request resources corresponding to video access capabilities, video forwarding capabilities, and video encoding / decoding capabilities.

[0062] Receive service requests initiated by video services. The service request includes the type and quantity of the target video capability requested. For example, the type of the target video capability requested is real-time high-definition video analysis, and the corresponding quantity is 128 channels.

[0063] S202, determine the resource status of each resource node in the computing power network resource pool corresponding to the type of video capability; each type of video capability corresponds to a computing power network resource pool; the resource status represents the number of resources of the resource node that support the video capability.

[0064] Prior to this, the method in this application embodiment further included: modeling multiple video capabilities based on a set type of hardware device to obtain a computing power network resource pool corresponding to each video capability. Each video capability corresponds to a computing power network resource pool, and the computing power network resource pool for each video capability corresponds to at least one type of hardware device. Resource status refers to the number of resources supported by the hardware device for the video capability.

[0065] Video services encompass the entire process, including acquisition, encoding, transmission, distribution, reception, decoding, rendering, and AI processing. For all video capabilities involved in these processes, a unified video capability resource measurement system needs to be built, supporting abstract representations of different types of video capability resources.

[0066] Based on this, embodiments of this application propose a capability resource measurement method based on video services. In video service measurement, such as... Figure 1 As shown, video capabilities are divided into three functional domains: basic video processing capabilities, video distribution capabilities, and video AI capabilities. Each functional domain is further divided into multiple subdomains. For each specific functional subdomain, a business-based computational power approach is used to model the video capabilities.

[0067] Based on specific hardware models, corresponding video service capability computing power modeling is performed. Taking the video processing basic capability domain and video AI capability domain as examples, in the video processing basic capability domain, video encoding capability is a commonly used basic capability in video services, usually implemented using dedicated encoding cards. For example, one AMD Alveo MA35D card can support 32 channels of parallel 8K video encoding. That is, implementing one channel of 8K video encoding requires the computing power resources of 1 / 32 of an AMD Alveo MA35D card, implementing 32 channels of parallel 8K video encoding requires the computing power resources of one AMD Alveo MA35D card, and so on. Implementing 320 channels of parallel 8K video encoding requires the computing power resources of 10 AMD Alveo MA35D cards. Here, the resource status refers to the number of AMD Alveo MA35D cards. A resource node can include multiple AMD Alveo MA35D cards. Assuming a resource node has 2 AMD Alveo MA35D cards, then the number of resources supported by this resource node for 8K video encoding is 64. If the service request is for 32-channel parallel 8K video encoding, then the number of resources required to call the resource node is 32.

[0068] For example, in the video AI capability domain, real-time video analysis is a common capability in many video network services, typically implemented using dedicated inference cards. One Atlas 300V Pro card can support real-time analysis of 128 channels of high-definition video. This means that implementing real-time analysis of one channel of high-definition video requires the computing power of 1 / 128th of an Atlas 300V Pro card; implementing real-time analysis of 128 channels of high-definition video requires the computing power of one Atlas 300V Pro card; and so on. Implementing real-time analysis of 1280 channels of high-definition video requires the computing power of 10 Atlas 300V Pro cards. If a resource node has two Atlas 300V Pro cards, then the number of resources supported by that resource node for real-time high-definition video analysis is 256. If the service request is for real-time analysis of 128 channels of high-definition video, then the number of resources required from the resource node is 128.

[0069] The above methods can be used to convert the specific computing power of hardware devices into the amount of resources needed to support video capabilities. Here, a single video capability can be measured separately using multiple different hardware devices.

[0070] In this embodiment, each video capability corresponds to at least one type of hardware device. For example, implementing 8K video encoding requires 1 / 32 the computing power of an AMD Alveo MA35D card; that is, for a video capability of 8K video encoding, the required resources are 1 / 32 of an AMD Alveo MA35D card. Similarly, implementing real-time analysis of one channel of high-definition video requires 1 / 128 the computing power of an Atlas 300V Pro card; that is, for a video capability of real-time analysis of one channel of high-definition video, the required resources are 1 / 128 of an Atlas 300V Pro card.

[0071] In practical applications, video computing cards can be deployed in electronic devices in a pluggable form. For example, an electronic device can insert three AMD Alveo MA35D cards or three Atlas 300V Pro cards.

[0072] Each electronic device with a video computing power card inserted can serve as a resource node in the computing power network resource pool. Electronic devices deployed in the same cluster or network can connect to each other as resource nodes in the computing power network resource pool.

[0073] During modeling, the number of resources that a resource node supports for video capabilities is determined based on the video computing cards inserted into each resource node. For example, if a resource node includes 3 AMD Alveo MA35D cards, and encoding one channel of 8K video requires 1 / 32 of the computing power of the AMD Alveo MA35D cards, then the number of video encodings supported by this resource node is 96.

[0074] The computing power network resource pool can update the resource status of each resource node in real time, that is, it can perceive the amount of resources that each resource node can currently control. For example, resource node A has 1.5 AMD Alveo MA35D cards of computing power remaining unused. Converted to the number of resources that can support 8K video encoding, this means that there are still 48 resources available to support 8K video encoding.

[0075] In this embodiment of the application, each video capability corresponds to a computing power network resource pool. The computing power network resource pool may include multiple resource nodes. By determining the number of resources that each resource node in the computing power network resource pool supports for video capabilities, it is clear how many resources need to be called and a basis for determining which resource node's resources to call.

[0076] S203, Based on the resource status of each resource node, perform resource scheduling for the video capability service request.

[0077] The target request may involve multiple video capabilities, requiring separate resource allocation for each capability. For example, when a video application makes a video call, it may request resources corresponding to video access, video forwarding, and video encoding / decoding capabilities. The resource status of resource nodes in the computing network resource pool corresponding to each video capability needs to be determined separately.

[0078] For example, if the target request is for 32 channels of 8K video encoding, there are two resource nodes in the computing power network resource pool corresponding to the video capability "8K video encoding". The resource status of resource node 1 indicates that it can support 64 resources for 8K video encoding, and the resource status of resource node 2 indicates that it can support 32 resources for 8K video encoding.

[0079] Specifically, the resources of which resource node can be allocated, for example, the resources of the resource node with the most supported video capabilities can be scheduled.

[0080] Alternatively, select the resource node whose number of supported video capabilities is closest to the number of resources requested in the target request. Here, the target request is 32 channels of 8K video encoding, and resource node 2 also supports 32 channels of 8K video encoding. Therefore, the resources of resource node 2 will be scheduled. This maximizes resource utilization, avoids using the resources of resource node 1, and allows resource node 1 to handle more video services.

[0081] This application receives a service request, which includes the type and quantity of the requested video capabilities. Each type of video capability corresponds to a computing power network resource pool. The resource status of each resource node in the computing power network resource pool corresponding to the video capability type is determined. The resource status represents the number of resources supported by the resource node for the video capability. Based on the resource status of each resource node, resource scheduling is performed on the service request. This application determines the number of resources supported by each resource node in the computing power network resource pool corresponding to the requested video capability type based on the type and quantity of the video capability requested in the service request, and performs resource scheduling based on the number of resources supported by each resource node for the video capability. This application can schedule a corresponding number of resources in the computing power network resource pool according to the number of resources required by the service request, accurately calling video capability resources for the service request. Compared with scheduling resources based on computing power, the resource scheduling in this application is more accurate, does not cause resource waste, and can improve resource utilization.

[0082] In one embodiment, to support global management and addressing, the video capability resources after service measurement require a globally unified identifier. This embodiment adopts a hierarchical identifier structure, with the identifier consisting of five levels: resource subject, region, data center, functional domain, and node. See Table 1 below for details:

[0083]

[0084] Table 1

[0085] The identifier for the resource owner is an entity name string, such as CHINAMobile, which is used to describe the resource owner information.

[0086] The identifier for a region is a region name string, for example, BeiJing, which is used to describe hub information.

[0087] The identifier for a data center (DC) is a data center name string, such as DC2, which is used to describe data center information within the hub.

[0088] The identifier for a functional domain (PoD) is a string representing the functional domain name. Examples include AIPoD, representing the AI ​​functional domain within the data center; HPC PoD, representing the HPC functional domain within the data center; BD PoD, representing the big data functional domain within the data center; VM PoD, representing the cloud functional domain within the data center; Container PoD, representing the container functional domain within the data center; and GU PoD, representing an undefined functional computing power domain (general computing power) within the data center.

[0089] The identifier for a node / VM / container is an IP address string, such as Node0 to 999, which is used to describe node (physical machine / virtual machine / container) information.

[0090] The identifier for a component is a component specification string, an example of which is Intel Xeon E5-2683 v4 2.1G32Core, used to describe the physical device specifications of the node.

[0091] In one embodiment, determining the resource status of at least one video capability corresponding to the video capability service request includes:

[0092] The determination of the resource status of each resource node in the computing power network resource pool corresponding to the type of video capability includes:

[0093] Obtain the resource status sent by each resource node in the computing power network resource pool.

[0094] In one embodiment, determining the resource status of at least one video capability corresponding to the video capability service request includes:

[0095] Obtain the resource routing table sent by the resource nodes in the computing power network resource pool;

[0096] The resource status of each resource node in the computing power network resource pool is determined based on the resource routing table; the resource routing table includes the resource status of each resource node in the computing power network resource pool that spreads to adjacent nodes.

[0097] Video capability resources are characterized by heterogeneous and ubiquitous deployment, as well as dynamic and time-varying resource characteristics. For example, these resources can be widely deployed in edge node resource pools, cloud node resource pools, etc., and the video capabilities supported by these resources are constantly changing in real time. The prerequisite for efficiently utilizing these video capability resources is the real-time and accurate perception of the status of these heterogeneous and ubiquitous resources. The computing power network resource pool provided in this embodiment supports real-time perception of the status of heterogeneous and ubiquitous computing resources across the entire network. This embodiment implements real-time resource perception in two ways: a centralized approach, where resource nodes periodically send updated information about available resources to the resource management center; and a distributed approach, where resource nodes form a resource routing table through information dissemination among themselves, and a designated resource node sends the resource routing table to the resource management center.

[0098] By sensing the resource status of resource nodes in the computing power network resource pool in real time, the resource management center can accurately schedule resources for video services and efficiently utilize video capability resources.

[0099] In one embodiment, the step of scheduling resources for the video capability service request based on the resource status of each resource node includes:

[0100] Based on the resource status of each resource node, the available resource nodes in the computing power network resource pool are determined;

[0101] Based on the available resource nodes, determine the target resource node for resource scheduling.

[0102] For example, a threshold can be set; a resource node is considered available only if the number of video capabilities it supports exceeds this threshold. A target resource node can be selected from these available resource nodes. For instance, a resource node can be randomly selected from those that support more video capabilities than the number of resources requested in the target request.

[0103] In one embodiment, determining the target resource node for resource scheduling based on the available resource nodes includes:

[0104] The available resource nodes are sorted according to the number of resources that support the video capabilities.

[0105] The target resource node is determined based on the sorting results.

[0106] In one embodiment, determining the target resource node for resource scheduling based on the available resource nodes includes:

[0107] The target resource node is determined based on the resource cost information of each available resource node.

[0108] For example, if resource node A supports video capabilities including "8K video encoding", the available resource node indicates that the resource node still has resources available to support this video capability.

[0109] For example, if available resource nodes include resource node A and resource node B, the target resource node can be selected for resource scheduling based on the number of video capabilities that each available resource node currently supports. For instance, if the service request is for 42 channels of 8K video encoding, and resource node A can support 32 resources while resource node B can support 64 resources, then the resources of resource node B, which supports a larger number of resources, can be selected.

[0110] Alternatively, you can choose a resource node with lower resource costs. For example, if resource node A costs 100 yuan per hour to encode each 8K video stream, while resource node B costs 60 yuan per hour to encode each 8K video stream, you can choose to use the resources of resource node B, which has lower costs, thereby saving costs.

[0111] For video tasks with large processing volumes, it may be necessary to assign them to multiple resource nodes for processing. In this case, all nodes can be sorted according to resource costs, and resource nodes can be selected and scheduled sequentially starting from the resource node with the lowest resource cost, until the resources required for the video task are fully allocated.

[0112] For example, Figure 1 The video service "video call" in the application layer requires the use of video access capabilities, video encoding / decoding / transcoding capabilities, and video forwarding capabilities from the video capability layer. When using special effects enhancements, it also needs to request video AI capabilities. The basic computing network layer serves as the underlying infrastructure for video services. For example, video forwarding capabilities require network resources within the computing network resources, while video access capabilities and video encoding / decoding / transcoding capabilities require cloud, edge, and endpoint computing resources within the computing network resources.

[0113] The computing network resource pool corresponding to each type of video capability is modeled based on a set model of hardware device, and the computing network resource pool for each video capability corresponds to at least one model of hardware device.

[0114] This application embodiment adds a video capability layer and a service orchestration layer to the general computing network. The video capability layer abstracts the capabilities of different video services across the entire chain (including acquisition, encoding, transmission, distribution, reception, decoding, rendering, AI processing, etc.) to form general video capabilities for other video services to call. The service orchestration layer is responsible for the unified computing network resource management and scheduling of all video capabilities downwards, and supports the invocation of all video applications upwards. This application embodiment models video capabilities based on a set type of hardware device, and uses the number of resources supporting video capabilities in resource nodes to represent resource status. This can accurately measure the real resource needs of video services, accurately schedule resources for video services, and ensure optimal utilization of network resources while meeting the user's video service experience.

[0115] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.

[0116] It should be understood that, when used in this specification and the appended claims, the terms "comprising" and "including" indicate the presence of the described features, integrals, steps, operations, elements and / or components, but do not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or collections thereof.

[0117] It should be noted that the technical solutions described in the embodiments of the present invention can be combined arbitrarily without conflict.

[0118] In addition, in the embodiments of the present invention, "first," "second," etc. are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.

[0119] refer to Figure 3 , Figure 3 This is a schematic diagram of a video capability resource scheduling device provided in an embodiment of the present invention, as shown below. Figure 3 As shown, the device includes:

[0120] Receiving module 301 is used to receive a service request, wherein the service request includes the type and quantity of video capabilities requested by the target;

[0121] The determining module 302 is used to determine the resource status of each resource node in the computing power network resource pool corresponding to the type of video capability; each type of video capability corresponds to a computing power network resource pool; the resource status represents the number of resources of the resource node that support the video capability;

[0122] The scheduling module 303 is used to schedule the service request based on the resource status of each resource node.

[0123] In one embodiment, the determining module 302 is specifically used for:

[0124] Obtain the resource routing table sent by the resource nodes in the computing power network resource pool;

[0125] The resource status of each resource node in the computing power network resource pool is determined based on the resource routing table; the resource routing table includes the resource status of each resource node in the computing power network resource pool that spreads to adjacent nodes.

[0126] In one embodiment, the determining module 302 is specifically used for:

[0127] Obtain the resource status sent by each resource node in the computing power network resource pool.

[0128] In one embodiment, the scheduling module 303 is specifically used for:

[0129] Based on the resource status of each resource node, the available resource nodes in the computing power network resource pool are determined;

[0130] Based on the available resource nodes, determine the target resource node for resource scheduling.

[0131] In one embodiment, the scheduling module 303 is specifically used for:

[0132] The available resource nodes are sorted according to the number of resources that support the video capabilities.

[0133] The target resource node is determined based on the sorting results.

[0134] In one embodiment, the scheduling module 303 is specifically used for:

[0135] The target resource node is determined based on the resource cost information of each available resource node.

[0136] In one embodiment, the computing network resource pool corresponding to each type of video capability is modeled based on a set model of hardware device, and the computing network resource pool for each video capability corresponds to at least one model of hardware device.

[0137] In practical applications, the receiving module 301, determining module 302, and scheduling module 303 can be implemented by processors in electronic devices, such as central processing units (CPUs), digital signal processors (DSPs), microcontroller units (MCUs), or field-programmable gate arrays (FPGAs).

[0138] It should be noted that the video capability resource scheduling device provided in the above embodiments is only illustrated by the division of the above modules when performing video capability resource scheduling. In actual applications, the above processing can be assigned to different modules as needed, that is, the internal structure of the device can be divided into different modules to complete all or part of the processing described above. In addition, the video capability resource scheduling device and the video capability resource scheduling method embodiments provided in the above embodiments belong to the same concept, and the specific implementation process can be found in the method embodiments, which will not be repeated here.

[0139] The aforementioned video capability resource scheduling device can be in the form of an image file. After execution, this image file can run as a container or virtual machine to implement the video capability resource scheduling method described in this application. However, it is not limited to the image file format; any software implementation capable of the video capability resource scheduling method described in this application is within the scope of protection of this application.

[0140] Based on the hardware implementation of the above program modules, and in order to implement the method of the embodiments of this application, the embodiments of this application also provide an electronic device. Figure 4 This is a schematic diagram of the hardware structure of the electronic device according to an embodiment of this application, as shown below. Figure 4 As shown, the electronic device includes:

[0141] The communication interface 401 enables information exchange with other devices, such as network devices.

[0142] The processor 402 is connected to the communication interface 401 to enable information interaction with other devices and, when running a computer program, executes the methods provided by one or more technical solutions on the electronic device side. The computer program is stored in the memory 403.

[0143] Of course, in practical applications, the various components in an electronic device are coupled together through a bus system 404. It can be understood that the bus system 404 is used to realize the connection and communication between these components. In addition to the data bus, the bus system also includes a power bus, a control bus, and a status signal bus. However, for the sake of clarity, in... Figure 4 The general designated all buses as Bus System 404.

[0144] The memory 403 in this embodiment is used to store various types of data to support the operation of the electronic device. Examples of such data include any computer program used to operate on the electronic device.

[0145] It is understood that memory 403 can be volatile memory or non-volatile memory, or both. Non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), ferromagnetic random access memory (FRAM), flash memory, magnetic surface memory, optical disc, or compact disc read-only memory (CD-ROM); magnetic surface memory can be disk storage or magnetic tape storage. Volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Synchronous Static Random Access Memory (SSRAM), Dynamic Random Access Memory (DRAM), Synchronous Dynamic Random Access Memory (SDRAM), Double Data Rate Synchronous Dynamic Random Access Memory (DDRSDRAM), Enhanced Synchronous Dynamic Random Access Memory (ESDRAM), SyncLink Dynamic Random Access Memory (SLDRAM), and Direct Rambus Random Access Memory (DRRAM).The memories described in the embodiments of this application are intended to include, but are not limited to, these and any other suitable types of memories.

[0146] The methods disclosed in the embodiments of this application can be applied to or implemented by processor 402. Processor 402 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the integrated logic circuit of the processor hardware or by instructions in software form. The processor may be a general-purpose processor, DSP, or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The processor can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. A general-purpose processor may be a microprocessor or any conventional processor, etc. The steps of the methods disclosed in the embodiments of this application can be directly manifested as being executed by a hardware decoding processor, or being executed by a combination of hardware and software modules in the decoding processor. The software modules may be located in a storage medium, which is located in memory. The processor reads the program in the memory and combines it with its hardware to complete the steps of the aforementioned method.

[0147] Optionally, when the processor 402 executes the program, it implements the corresponding processes implemented by the electronic device in the various methods of the embodiments of this application. For the sake of brevity, these will not be described in detail here.

[0148] In an exemplary embodiment, this application also provides a storage medium, namely a computer storage medium, specifically a computer-readable storage medium, such as a first memory storing a computer program, which can be executed by a processor of an electronic device to complete the steps described in the aforementioned method. The computer-readable storage medium may be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface memory, optical disc, or CD-ROM.

[0149] In the several embodiments provided in this application, it should be understood that the disclosed apparatus, electronic devices, and methods can be implemented in other ways. The apparatus embodiments described above are merely illustrative. For example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods, such as: multiple units or components may be combined, or integrated into another system, or some features may be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the various components shown or discussed may be through some interfaces, and the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.

[0150] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the units may be selected to achieve the purpose of this embodiment according to actual needs.

[0151] In addition, each functional unit in the various embodiments of this application can be integrated into one processing unit, or each unit can be a separate unit, or two or more units can be integrated into one unit; the integrated unit can be implemented in hardware or in the form of hardware plus software functional units.

[0152] Those skilled in the art will understand that all or part of the steps of the above method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it performs the steps of the above method embodiments. The aforementioned storage medium includes various media that can store program code, such as mobile storage devices, ROM, RAM, magnetic disks, or optical disks.

[0153] Alternatively, if the integrated units described above are implemented as software functional modules and sold or used as independent products, they can also be stored in a computer-readable storage medium. Based on this understanding, the technical solutions of the embodiments of this application, or the parts that contribute to related technologies, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as mobile storage devices, ROM, RAM, magnetic disks, or optical disks.

[0154] It should be noted that the technical solutions described in the embodiments of this application can be combined arbitrarily without conflict.

[0155] In addition, in this application example, terms such as "first" and "second" are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.

[0156] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A video capability resource scheduling method, characterized in that, The method includes: Receive a service request, the service request including the type and quantity of the video capabilities requested by the target; The resource status of each resource node in the computing power network resource pool corresponding to the type of video capability is determined; each type of video capability corresponds to a computing power network resource pool; the resource status represents the number of resources that the resource node supports the video capability; the computing power network resource pool corresponding to each type of video capability is modeled based on a set model of hardware device, and the computing power network resource pool for each type of video capability corresponds to at least one model of hardware device. Based on the resource status of each resource node, resource scheduling is performed on the service request; The determination of the resource status of each resource node in the computing power network resource pool corresponding to the type of video capability includes: Obtain the resource routing table sent by the resource nodes in the computing power network resource pool; The resource status of each resource node in the computing power network resource pool is determined based on the resource routing table; the resource routing table includes the resource status of each resource node in the computing power network resource pool that spreads to adjacent nodes.

2. The method according to claim 1, characterized in that, The determination of the resource status of each resource node in the computing power network resource pool corresponding to the type of video capability also includes: Obtain the resource status sent by each resource node in the computing power network resource pool.

3. The method according to claim 1, characterized in that, The resource scheduling of the video capability service request based on the resource status of each resource node includes: Based on the resource status of each resource node, the available resource nodes in the computing power network resource pool are determined; Based on the available resource nodes, determine the target resource node for resource scheduling.

4. The method according to claim 3, characterized in that, The step of determining the target resource node for resource scheduling based on the available resource nodes includes: The available resource nodes are sorted according to the number of resources that support the video capabilities. The target resource node is determined based on the sorting results.

5. The method according to claim 4, characterized in that, The step of determining the target resource node for resource scheduling based on the available resource nodes includes: The target resource node is determined based on the resource cost information of each available resource node.

6. A video capability resource scheduling device, characterized in that, include: A receiving module is used to receive service requests, wherein the service requests include the type and quantity of video capabilities requested by the target. A determination module is used to determine the resource status of each resource node in the computing power network resource pool corresponding to the type of video capability; each type of video capability corresponds to a computing power network resource pool; the resource status represents the number of resources that a resource node supports the video capability; the computing power network resource pool corresponding to each type of video capability is modeled based on a set model of hardware device, and the computing power network resource pool for each video capability corresponds to at least one model of hardware device; wherein, determining the resource status of each resource node in the computing power network resource pool corresponding to the type of video capability includes: obtaining a resource routing table sent by the resource nodes in the computing power network resource pool; determining the resource status of each resource node in the computing power network resource pool based on the resource routing table; the resource routing table includes the resource status of each resource node in the computing power network resource pool spreading to adjacent nodes. The scheduling module is used to schedule the service requests based on the resource status of each resource node.

7. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the video capability resource scheduling method as described in any one of claims 1 to 5.

8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, the computer program including program instructions that, when executed by a processor, cause the processor to perform the video capability resource scheduling method as described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • Task scheduling method and device, equipment, storage medium and computer program product

    CN113742068A