Video processing method based on cloud management platform, and cloud management platform
By creating a customized exclusive codec resource pool for tenants in the cloud service system and dynamically adjusting resource capacity, the problem of resource waste in the cloud service system is solved, resource utilization rate is improved and the tenant's codec cost is reduced.
Patent Information
- Application Number
- PCT/CN2025/074746
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-02-28
- Filing Date
- 2025-01-24
- Publication Date
- 2025-08-07
AI Technical Summary
The codec resources of the underlying resource pool in the cloud service system are not fully utilized during business trough periods, resulting in waste of resources and excessive cost of tenants to codec.
Create a unique codec resource pool for tenants through the cloud management platform, allowing tenants to customize the number and specification of codec instances, and dynamically adjust the resource pool capacity during peak hours to meet the tenants' unique codec needs.
It improves the utilization rate of the tenant business instances of codec resources, avoids resource waste, and reduces the cost of codecs for tenants.
Smart Images

Figure CN2025074746_07082025_PF_FP_ABST
Abstract
Description
A video processing method based on cloud management platform and cloud management platform
[0001] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office on January 30, 2024, with application number 202410129027.4, and with the invention name “A coding and decoding method based on a cloud management platform and a cloud management platform”, and claims priority to the Chinese patent application filed with the State Intellectual Property Office on February 28, 2024, with application number 202410223753.2, and with the invention name “A video processing method based on a cloud management platform and a cloud management platform”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The embodiments of the present application relate to the field of cloud technology, and in particular to a video processing method based on a cloud management platform and a cloud management platform. Background Art
[0003] With the rapid development of cloud technology, more and more tenants choose to deploy their applications in the cloud. Since some applications involve video encoding and decoding, cloud vendors need to deploy encoding and decoding resources for these applications so that these applications can call and complete video encoding and decoding.
[0004] The cloud service system provided by the related technology may include tenant applications and underlying resource pools. When a tenant application has a video encoding and decoding requirement, the application can send a video encoding and decoding request to the underlying resource pool pre-deployed by the cloud vendor for the application. The cloud vendor then calls certain resources in the underlying resource pool to encode and decode the video based on the encoding and decoding request, thereby obtaining the processed video and returning it to the application.
[0005] In the above process, since the underlying resource pool is used by the applications deployed to tenants in advance by the cloud management platform, and since the video encoding and decoding requirements of the application are often periodic, in order to ensure the performance of the application during peak business hours, cloud vendors usually deploy enough underlying resources in the underlying resource pool. However, when the application is in a low business period, most of the resources in the underlying resource pool are not used, which will lead to serious resource waste. Summary of the Invention
[0006] The embodiments of the present application provide a video processing method and a cloud management platform based on a cloud management platform, which can improve the utilization rate of encoding and decoding resources by tenants' business instances to a certain extent, thereby avoiding resource waste.
[0007] A first aspect of an embodiment of the present application provides a video processing method based on a cloud management platform, wherein the cloud management platform is used to manage infrastructure for providing cloud services, wherein the infrastructure includes a first service instance created by the cloud management platform for a first tenant, and wherein the first service instance runs an application of the first tenant. The method includes:
[0008] When the first tenant needs to create a first codec resource pool exclusively for the first business instance, the cloud management platform can provide a creation interface to the first tenant, so the first tenant inputs an exclusive resource creation request for the first business instance into the creation interface. The exclusive resource creation request is used to request the creation of a first codec resource pool exclusively for the first business instance.
[0009] After receiving the exclusive resource creation request, the cloud management platform can create a first codec resource pool exclusively for the first business instance based on the exclusive resource creation request. The first codec resource pool includes multiple first codec instances, and each first codec instance can support at least one codec specification.
[0010] After creating a first codec resource pool exclusively for the first business instance, when the first business instance has a processing requirement for the first video, a first codec request can be sent to the cloud management platform. The first codec request is used to indicate that the first business instance needs to process the first video into a second video of the first codec specification.
[0011] After receiving the first codec request, the cloud management platform can select a second codec instance that supports the first codec specification from multiple first codec instances contained in the first codec resource pool based on the first codec request, and instruct the second codec instance to encode and decode the first video, thereby obtaining a second video of the first codec specification, and return it to the first business instance for use, thereby meeting the video processing requirements of the first business instance.
[0012] It can be seen from the above method that: since the number of first codec instances in the first codec resource pool and the codec specifications supported by the first codec instances can be customized by the first tenant, the cloud management platform deploys the codec resources in the first codec resource pool based on the consideration of exclusive use by the first tenant. Since the first tenant comprehensively considers the usage of the codec resources in the first codec resource pool by the first business instance in various time periods, the factors considered are relatively comprehensive. Therefore, the utilization rate of the codec resources by the first business instance of the first tenant can be improved to a certain extent, thereby avoiding resource waste.
[0013] In one possible implementation, the codec specification includes at least one of the following: video resolution, video codec standard, and video image quality. In the aforementioned implementation, for any first codec in any codec instance in the first codec resource pool, the codec specifications supported by the first codec may include the resolution of the video that can be encoded and decoded by the first codec, the codec standard that the video that can be encoded and decoded by the first codec complies with, and the image quality of the video that can be encoded and decoded by the first codec, etc.
[0014] In one possible implementation, the infrastructure also includes multiple third codec instances shared by multiple tenants' business instances. The cloud management platform creates multiple first codec instances exclusively for the first business instance based on the exclusive resource creation request, including: the cloud management platform selects several available third codec instances from the multiple third codec instances as multiple first codec instances exclusively for the first business instance based on the exclusive resource creation request. In the aforementioned implementation, the infrastructure managed by the cloud management platform also includes a second codec resource pool that the cloud management platform has created in advance and can be shared by multiple tenants' business instances. The second codec resource pool includes multiple third codec instances, each of which can support at least one codec specification. Based on this, after receiving the exclusive resource creation request sent by the first tenant, the cloud management platform can select several available third codec instances from the multiple third codec instances included in the second codec resource pool as multiple first codec instances in accordance with the instructions of the exclusive resource creation request. These multiple first codec instances then constitute the first codec resource pool. It can be seen from this that when the cloud management platform determines that it is necessary to create a first codec resource pool exclusive to the first business instance of the first tenant, the cloud management platform can select a portion of codec resources that can be shared by business instances of multiple tenants from the second codec resource pool (that is, the aforementioned several third codec instances) as codec resources exclusively for the first business instance of the first tenant (that is, the aforementioned multiple first codec instances) to form a first codec resource pool, thereby meeting the first tenant's customized needs for exclusive codec resources for its first business instance.
[0015] In one possible implementation, each first codec instance includes multiple first codecs, each of which supports a codec specification. Based on a first codec request, the cloud management platform selects a second codec instance that supports the first codec specification from the multiple first codec instances, and instructs the second codec instance to encode and decode the first video, thereby obtaining a second video. The cloud management platform selects an available second codec instance from the multiple first codec instances based on the first codec request, selects a second codec that supports the first codec specification from the multiple first codecs included in the second codec instance, and instructs the second codec to encode and decode the first video, thereby obtaining the second video. In the aforementioned implementation, in the first codec resource pool, each first codec instance includes multiple first codecs, each of which supports a codec specification. Upon receiving the first codec request, the cloud management platform may determine that the first service instance needs to process the first video into a second video of the first codec specification. Therefore, the cloud management platform may select a second codec instance from the multiple first codec instances, and select a first encoder that supports the first encoding specification from the multiple first codecs included in the second codec instance as the second codec. The cloud management platform can then instruct the second codec to encode and decode the first video, thereby obtaining a second video with the first codec specification, and return it to the first service instance for use. Thus, when the cloud management platform determines that the first tenant's first service instance has codec requirements, it can call upon the codec resources in the first codec resource pool that it exclusively uses to serve it, thereby satisfying the first tenant's exclusive resource use and achieving efficient resource utilization.
[0016] In one possible implementation, the cloud management platform instructs the second codec to encode and decode the first video to obtain the second video, including: the cloud management platform sends first information about the second codec to the first service instance, the first information being used for the first service instance to send a first codec request to the second codec, so that the second codec encodes and decodes the first video based on the first codec request to obtain the second video, the first information including at least one of the following: the network address of the second codec, the access port of the second codec, the identity credentials of the second codec, and the codec specifications supported by the second codec. In the aforementioned implementation, after determining the second codec, the cloud management platform sends the first information about the second codec to the first service instance. The first service instance can then access the second codec based on the first information to send the first codec request to the second codec. Since the first codec request indicates that the first video should be processed into a second video of the first codec specification, the second codec can encode and decode the first video based on the first codec request, thereby obtaining the second video of the first codec specification and returning it to the first service instance. It can be seen that since the first information includes relevant information of the second codec, such as the network address of the second codec, the access port of the second codec, the identity credentials of the second codec, and the codec specifications supported by the second codec, the first business instance can accurately access the second codec based on the relevant information of the second codec, so that the second codec meets the codec requirements of the first business instance.
[0017] In one possible implementation, the method further includes: the cloud management platform obtains the utilization rate of resources occupied by multiple first codec instances based on the exclusive resource creation request; if the utilization rate is greater than or equal to the utilization rate threshold indicated by the exclusive resource creation request, the cloud management platform selects at least one third codec instance from the remaining third codec instances as a new first codec instance, and adds the new first codec instance to the multiple first codec instances. In the aforementioned implementation, the exclusive resource creation request also includes the elastic scaling policy set by the first tenant for the first codec resource pool exclusively for the first business instance, so the cloud management platform can collect the utilization rate of all resources occupied by multiple first codec instances in the first codec resource pool in real time based on the elastic scaling policy; if the utilization rate is greater than or equal to the utilization rate threshold included in the elastic scaling policy, the cloud management platform selects at least one third codec instance from the remaining third codec instances included in the second codec resource pool as a new first codec instance, and migrates the new first codec instance to the first codec resource pool, thereby achieving capacity expansion for the first codec resource pool. It can be seen from this that the cloud management platform can manage the capacity of the first codec resource pool according to the elastic scaling policy set by the first tenant for the first codec resource pool, thereby meeting the management needs of the first tenant for its exclusive first codec resource pool.
[0018] In one possible implementation, the infrastructure also includes a second business instance of a second tenant, multiple tenants include the second tenant, each third codec instance includes multiple third codecs, and each third codec supports a codec specification. The method also includes: the cloud management platform receives a second codec request sent by the second business instance, the second codec request is used to instruct the acquisition of a fourth video of the second codec specification based on the third video; based on the second codec request, the cloud management platform selects an available fourth codec instance from the remaining third codec instances, selects a fourth codec that supports the second codec specification from the multiple third codecs included in the fourth codec instance, and instructs the fourth codec to encode and decode the third video to obtain the fourth video. In the aforementioned implementation, in the second codec resource pool, each third codec instance includes multiple third codecs, and each third codec supports a codec specification. When the second business instance of the second tenant among the multiple tenants sharing the second codec resource pool has a video processing requirement, the second business instance can send a second codec request to the cloud management platform. The cloud management platform can then determine that the second business instance needs to process the third video into a fourth video of the second codec specification. Therefore, the cloud management platform can select a fourth codec instance from the multiple third codec instances and select a third encoder that supports the second coding specification as the fourth codec from the multiple third codecs contained in the fourth codec instance. Then, the cloud management platform can instruct the fourth codec to encode and decode the third video, thereby obtaining a fourth video of the second codec specification and returning it to the second business instance for use. This shows that when the cloud management platform determines that the second business instance of the second tenant has a codec requirement, it can call on the codec resources in the second codec resource pool shared by the business instances of multiple tenants to serve it, thereby satisfying the resource sharing of the second tenant and achieving maximum resource sharing.
[0019] In one possible implementation, the cloud management platform instructs the fourth codec to encode and decode the third video to obtain the fourth video. This includes: the cloud management platform sending second information about the fourth codec to the second service instance, where the second information is used for the second service instance to send a second codec request to the fourth codec, causing the fourth codec to encode and decode the third video based on the second codec request to obtain the fourth video. The second information includes at least one of the following: the network address of the fourth codec, the access port of the fourth codec, the identity credentials of the fourth codec, and the codec specifications supported by the fourth codec. In the aforementioned implementation, after determining the fourth codec, the cloud management platform sends the second information about the fourth codec to the second service instance. The second service instance can then access the fourth codec based on the second information to send the second codec request to the fourth codec. Since the second codec request indicates that the third video should be processed into a fourth video of the second codec specification, the fourth codec can encode and decode the third video based on the second codec request, thereby obtaining the fourth video of the second codec specification and returning it to the second service instance. It can be seen that since the second information includes relevant information of the fourth codec, such as the network address of the fourth codec, the access port of the fourth codec, the identity credentials of the fourth codec, and the codec specifications supported by the fourth codec, the second business instance can accurately access the fourth codec based on the relevant information of the fourth codec, so that the fourth codec meets the codec requirements of the second business instance.
[0020] In one possible implementation, any one of the first business instance, the second business instance, the first codec instance, and the third codec instance may include any one of the following: a physical server, a virtual machine, a container, a micro virtual machine, and a bare metal server.
[0021] A second aspect of an embodiment of the present application provides a cloud management platform, which is used to manage an infrastructure that provides cloud services. The infrastructure includes a first business instance of a first tenant. The cloud management platform includes: a first receiving module, which is used to receive an exclusive resource creation request for the first business instance sent by the first tenant through a creation interface; a creation module, which is used to create multiple first codec instances exclusive to the first business instance based on the exclusive resource creation request, each first codec instance supporting at least one codec specification; a second receiving module, which is used to receive a first codec request sent by the first business instance, the first codec request being used to indicate obtaining a second video of the first codec specification based on the first video; a processing module, which is used to select a second codec instance that supports the first codec specification from multiple first codec instances based on the first codec request, and instruct the second codec instance to encode and decode the first video to obtain a second video.
[0022] In a possible implementation, the codec specification includes at least one of the following: video resolution, video codec standard, and video quality.
[0023] In one possible implementation, the infrastructure further includes multiple third codec instances shared by business instances of multiple tenants, and a creation module for selecting, based on an exclusive resource creation request, several available third codec instances from the multiple third codec instances as multiple first codec instances exclusively used by the first business instance.
[0024] In one possible implementation, each first codec instance includes multiple first codecs, and each first codec supports a codec specification; the processing module is used to select an available second codec instance from the multiple first codec instances based on the first codec request, select a second codec that supports the first codec specification from the multiple first codecs included in the second codec instance, and instruct the second codec to encode and decode the first video to obtain the second video.
[0025] In one possible implementation, a processing module is used to send first information of a second codec to a first business instance, where the first information is used for the first business instance to send a first codec request to the second codec, so that the second codec encodes and decodes the first video based on the first codec request to obtain a second video, and the first information includes at least one of the following: a network address of the second codec, an access port of the second codec, an identity certificate of the second codec, and codec specifications supported by the second codec.
[0026] In one possible implementation, the cloud management platform further includes: an acquisition module, configured to acquire, based on an exclusive resource creation request, a utilization rate of resources occupied by multiple first codec instances; and an elastic scaling module, configured to select, if the utilization rate is greater than or equal to a utilization rate threshold indicated by the exclusive resource creation request, at least one third codec instance from the remaining third codec instances as a new first codec instance, and add the new first codec instance to the multiple first codec instances.
[0027] In one possible implementation, the infrastructure also includes a second business instance of a second tenant, multiple tenants include the second tenant, each third codec instance includes multiple third codecs, and each third codec supports a codec specification; the second receiving module is further used to receive a second codec request sent by the second business instance, and the second codec request is used to indicate the acquisition of a fourth video with a second codec specification based on the third video; the processing module is further used to select an available fourth codec instance from the remaining third codec instances based on the second codec request, select a fourth codec that supports the second codec specification from the multiple third codecs included in the fourth codec instance, and instruct the fourth codec to encode and decode the third video to obtain a fourth video.
[0028] In one possible implementation, a processing module is used to send second information of a fourth codec to a second business instance, where the second information is used for the second business instance to send a second codec request to the fourth codec, so that the fourth codec encodes and decodes the third video based on the second codec request to obtain a fourth video, and the second information includes at least one of the following: a network address of the fourth codec, an access port of the fourth codec, an identity credential of the fourth codec, and codec specifications supported by the fourth codec.
[0029] In one possible implementation, the first service instance or the first codec instance includes any one of the following: a physical server, a virtual machine, a container, a micro virtual machine, and a bare metal server.
[0030] A third aspect of an embodiment of the present application provides a computing device cluster, which includes at least one computing device, each computing device including a processor and a memory: the memory is used to store instructions; the processor is used to enable the computing device cluster to execute the method described in the first aspect or any possible implementation method of the first aspect according to the instructions.
[0031] A fourth aspect of an embodiment of the present application provides a computer storage medium storing one or more instructions, which, when executed by one or more computers, enables the one or more computers to implement the method described in the first aspect or any possible implementation method of the first aspect.
[0032] A fifth aspect of the embodiments of the present application provides a computer program product, which stores instructions. When the instructions are executed by a computer, the computer implements the method described in the first aspect or any possible implementation method of the first aspect.
[0033] In an embodiment of the present application, when the first tenant needs to create a first codec resource pool exclusively for its first business instance, the first tenant can send an exclusive resource creation request for the first business instance to the creation interface provided by the cloud management platform. Then, the cloud management platform can create a first codec resource pool exclusively for the first business instance based on the exclusive resource creation request. The first codec resource pool contains multiple first codec instances, and each first codec instance supports at least one codec specification. When the first business instance needs to process the first video into a second video of the first codec specification, it can send a first codec request to the cloud management platform. The first codec request is used to indicate that a second video of the first codec specification is obtained based on the first video. Then, based on the first codec request, the cloud management platform can select a second codec instance that supports the first codec specification from the multiple first codec instances in the first codec resource pool, and instruct the second codec instance to encode and decode the first video, thereby obtaining a second video of the first codec specification, and return it to the first business instance for use. In the above process, since the number of first codec instances in the first codec resource pool and the codec specifications supported by the first codec instance can be customized by the first tenant, the cloud management platform deploys the codec resources in the first codec resource pool based on the consideration of exclusive use by the first tenant. Since the first tenant comprehensively considers the usage of the codec resources in the first codec resource pool by the first business instance in each time period, the factors considered are relatively comprehensive, so the utilization rate of the codec resources by the first business instance of the first tenant can be improved to a certain extent, thereby avoiding resource waste. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] FIG1 is a schematic diagram of the structure of a cloud service system provided in an embodiment of the present application;
[0035] FIG2 is another schematic diagram of the structure of the cloud service system provided in an embodiment of the present application;
[0036] FIG3 is a flow chart of a video processing method based on a cloud management platform provided in an embodiment of the present application;
[0037] FIG4 is another schematic diagram of the structure of the cloud service system provided in an embodiment of the present application;
[0038] FIG5 is another structural diagram of a cloud service system provided by an embodiment of the present application;
[0039] FIG6 is a schematic diagram of the structure of a cloud management platform provided in an embodiment of the present application;
[0040] FIG7 is a schematic diagram of a structure of a computing device provided in an embodiment of the present application;
[0041] FIG8 is a schematic diagram of a structure of a computing device cluster provided in an embodiment of the present application;
[0042] FIG9 is a schematic diagram of computer devices in a computer cluster provided by an embodiment of the present application being connected via a network. DETAILED DESCRIPTION
[0043] The embodiments of the present application provide a video processing method and a cloud management platform based on a cloud management platform, which can improve the utilization rate of encoding and decoding resources by tenants' business instances to a certain extent, thereby avoiding resource waste.
[0044] The terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequential order. It should be understood that the terms used in this way can be interchangeable under appropriate circumstances, and this is merely a way of distinguishing the objects of the same attributes when describing them in the embodiments of the present application. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, so that the process, method, system, product or equipment comprising a series of units need not be limited to those units, but may include other units that are not clearly listed or inherent to these processes, methods, products or equipment.
[0045] With the rapid development of cloud technology, more and more tenants choose to deploy their applications in the cloud. Since some applications (such as live video applications, game applications, and video playback applications, etc.) involve video encoding and decoding, cloud vendors need to deploy encoding and decoding resources for these applications so that these applications can call them to complete video encoding and decoding.
[0046] The cloud service system provided by the related technology may include tenant applications and underlying resource pools. When a tenant application has a codec requirement for a certain video, the application may send a codec request for the video to the underlying resource pool pre-deployed by the cloud vendor for the application, so as to call certain codec resources in the underlying resource pool to perform codec processing (e.g., encode or decode the video) based on the codec request, thereby obtaining a processed video (e.g., an encoded video or a decoded video) and returning it to the application for use by the application.
[0047] In the above process, since the underlying resource pool is used by the applications deployed to tenants in advance by the cloud management platform, and since the video encoding and decoding requirements of the application in business are often periodic, in order to ensure the performance of the application during business peak hours, cloud vendors usually deploy enough encoding and decoding resources in the underlying resource pool. Then, when the application is in a business off-peak period, the application will only use a small part of the encoding and decoding resources in the underlying resource pool, which will cause most of the encoding and decoding resources in the underlying resource pool to be unused, resulting in serious resource waste and extremely low resource utilization.
[0048] Furthermore, in the above process, the cloud vendor charges for the underlying resource pool set up by the tenant's application according to the amount of resources allocated to the application. Since the application does not utilize the encoding and decoding resources in the underlying resource pool much, the tenant's encoding and decoding costs will be too high.
[0049] To address the above issues, the present application provides a video processing method based on a cloud management platform. This method can be implemented through a cloud service system. Figure 1 is a schematic diagram of the structure of the cloud service system provided by the present application. As shown in Figure 1, the cloud service system includes an infrastructure that can provide cloud services and a cloud management platform that manages this infrastructure. The cloud management platform and infrastructure are introduced separately below:
[0050] The cloud management platform can coordinate the management of the infrastructure in the entire cloud service system (for example, among the multiple business instances contained in the infrastructure, according to the needs of the tenant, select a tenant-specific business instance from the multiple business instances to run the tenant's application, to provide remote services to the tenant, etc.), and can also be open to tenants outside the cloud service system and respond to their requests. For example, the cloud management platform can provide various interfaces such as login interface and creation interface for tenant clients (for example, the terminal device used by the tenant or the browser on the terminal device, etc.) to access. Among them, the cloud management platform can authenticate the client of the exclusive tenant or shared tenant through the login interface, and after successful authentication, the client of the exclusive tenant or shared tenant can be allowed to log in to the cloud management platform. For example, the cloud management platform can also allow the client of the exclusive tenant to send an exclusive resource creation request for its business instance to the cloud management platform through the creation interface. Then, based on the exclusive resource creation request, the cloud management platform can determine the various parameters of the exclusive codec resource pool that the exclusive tenant needs to create for its business instance, as well as the elastic scaling policy for the exclusive codec resource pool, etc. These parameters may include the number of multiple codec instances contained in the exclusive codec resource pool, the number of multiple codecs (encoding and decoding devices) contained in each codec instance, and the types of encoding and decoding specifications (encoding-decoding flavors) supported by each codec, etc. Then, based on these parameters, the cloud management platform can create an exclusive codec resource pool for the exclusive tenant's business instance for call by the exclusive tenant's business instance, thereby realizing video encoding and decoding. In addition, the cloud management platform can also manage the codec resources (i.e., the codec instances in the resource pool) in the exclusive codec resource pool based on the elastic scaling policy in the future, thereby ensuring the resource utilization and availability of the exclusive codec resource pool.
[0051] The infrastructure includes exclusive tenant business instances (running exclusive tenant applications), shared tenant business instances (running shared tenant applications), and a pre-deployed shared codec resource pool. The shared codec resource pool contains multiple codec instances, each of which contains multiple codecs. Furthermore, upon receiving a request from an exclusive tenant, the cloud management platform can create a dedicated codec resource pool for the exclusive tenant's business instance. Generally, the codec instances in the exclusive codec resource pool are migrated from the shared codec resource pool.
[0052] In order to further understand the various components in the infrastructure, these components are introduced separately in conjunction with Figure 2. Figure 2 is another structural diagram of the cloud service system provided by an embodiment of the present application. As shown in Figure 2, the cloud management platform can manage the business instance of the exclusive tenant, the business instances of multiple shared tenants, the exclusive codec resource pool exclusively for the business instance of the exclusive tenant, and the shared codec resource pool shared by the business instances of multiple shared tenants. For the business instance of the exclusive tenant, it may include the application of the exclusive tenant and the codec call plug-in (for example, FFmpeg plug-in, GStreamer plug-in, application programming interface (API) plug-in, etc.). Similarly, for the business instance of any shared tenant, it may include the application of the shared tenant and the codec call plug-in. For the exclusive codec resource pool exclusively for the business instance of the exclusive tenant, the exclusive codec resource pool may include a scheduler and multiple codec instances, and each codec instance includes a manager and multiple codecs. Similarly, for a shared codec resource pool shared by service instances of multiple shared tenants, the shared codec resource pool may also include a scheduler and multiple codec instances, and each codec instance includes a manager and multiple codecs.
[0053] Based on this, when a business instance of an exclusive tenant has a video codec requirement, the business instance of the exclusive tenant can send a codec request for a certain video to the scheduler of its exclusive codec resource pool. Since the codec request is used to indicate that the video should be converted into a new video with a certain codec specification, the scheduler selects an available codec instance from the multiple codec instances in the exclusive codec resource pool, and instructs the manager of the codec instance to select a codec that supports the codec specification indicated by the codec request from the multiple codecs of the codec instance, so that the codec encodes and decodes the video according to the codec specification, thereby obtaining a new video and returning it to the business instance of the exclusive tenant. Similarly, when a business instance of a shared tenant has a video codec requirement, the business instance of the shared tenant can send a codec request for a certain video to the scheduler of the shared codec resource pool. Since the codec request is used to indicate that the video should be converted into a new video with a certain codec specification, the scheduler selects an available codec instance from multiple codec instances in the shared codec resource pool, and instructs the manager of the codec instance to select a codec that supports the codec specification indicated by the codec request from multiple codecs in the codec instance, so that the codec encodes and decodes the video according to the codec specification, thereby obtaining a new video and returning it to the service instance of the shared tenant.
[0054] It should be noted that the above-mentioned cloud management platform can be a distributed deployment component, that is, the scheduler and manager of the exclusive codec resource pool, and the scheduler and manager of the shared codec resource pool can be regarded as part of the cloud management platform, and are remotely deployed in the resource pool and the codec instance. Therefore, the operations performed by the scheduler and manager can be regarded as operations performed by the cloud management platform, and will not be repeated later.
[0055] Furthermore, the business instances and codec instances in the infrastructure are essentially cloud instances in the infrastructure. The cloud instances can be presented in a variety of ways. For example, the cloud instance can be a physical server selected by the cloud management platform. In another example, the cloud instance can be a bare metal server selected by the cloud management platform. In another example, the cloud instance can be a virtual machine (VM) created by the cloud management platform on the physical server through virtualization technology. In another example, the cloud instance can also be a container (docker) created by the cloud management platform on the physical server through virtualization technology. In another example, the cloud instance can also be a micro virtual machine (microVM) created by the cloud management platform on the physical server through virtualization technology, and so on.
[0056] Furthermore, for exclusive codec resource pools and shared codec resource pools, these resource pools can be deployed in the same site or different sites. The site can be presented in various forms. For example, the site can be a region in the infrastructure, or an availability zone in the infrastructure, or a data center (DC) in the infrastructure, or a room in the infrastructure, etc.
[0057] Based on the above cloud service system, it can be seen that the cloud management platform can provide exclusive tenants with a creation interface so that exclusive tenants can configure their own exclusive codec resource pool for their business instances for exclusive use by their business instances. Since the number of codec instances in the exclusive codec resource pool and the codec specifications supported by the codec instances can be customized by the exclusive tenant, the cloud management platform deploys the codec resources in the exclusive codec resource pool based on the considerations of the exclusive tenant. Since the exclusive tenant comprehensively considers the usage of codec resources in the exclusive codec resource pool by its business instances in various time periods, the factors considered are relatively comprehensive. Therefore, it can improve the utilization rate of codec resources by the exclusive tenant's business instances to a certain extent, thereby avoiding resource waste. To further understand this process, the following further describes this process in conjunction with FIG3 . FIG3 is a flow chart of a video processing method based on a cloud management platform provided in an embodiment of the present application. As shown in FIG3 , the method can be implemented by a cloud service system as shown in FIG1 or FIG2 . The cloud service system includes an infrastructure for providing cloud services and a cloud management platform for managing these infrastructures. These infrastructures include a first service instance (also referred to as a service instance of an exclusive tenant) of a first tenant (also referred to as an exclusive tenant). The method includes:
[0058] 301. The cloud management platform receives, through a creation interface, a request for creating exclusive resources for a first business instance sent by a first tenant.
[0059] In this embodiment, when the first tenant needs to create a first codec resource pool (also referred to as an exclusive codec resource pool) for the first business instance for exclusive use by the first business instance, the cloud management platform can provide a creation interface (for example, an exclusive codec resource pool creation column in the tenant interface, etc.) to the first tenant's client. Therefore, the first tenant inputs an exclusive resource creation request for the first business instance to the creation interface through its client. The exclusive resource creation request may include various information such as various parameters of the first codec resource pool, elastic scaling policies for the first codec resource pool, and various algorithms for the first codec resource pool. These information are introduced below:
[0060] (1) Various parameters of the first codec resource pool may include: the number of multiple first codec instances included in the first codec resource pool, the number of first codecs included in each first codec instance, and the types of codec specifications supported by each first codec, etc. The codec specifications supported by the first codec may include the resolution of the video that can be encoded and decoded by the first codec, the codec standard that the video that can be encoded and decoded by the first codec complies with, and the image quality of the video that can be encoded and decoded by the first codec, etc. For example, the codec specifications supported by a first codec are: 1080P+H.265+30FPS, indicating that the resolution of the video that can be encoded and decoded by the first codec is 1080P, the codec standard that complies with is H.265, and the image quality is 30FPS. For another example, the codec specifications supported by another first codec are: 720P+H.264+60FPS, indicating that the resolution of the video that can be encoded and decoded by the first codec is 720P, the codec standard that complies with is H.264, and the image quality is 60FPS, etc. In addition, the number of first codec instances and the number of first codecs can be set by the first tenant according to actual needs and are not limited here.
[0061] (2) The elastic scaling policy for the first codec resource pool may include an upper limit value (i.e., the aforementioned usage threshold value) and a lower limit value of the utilization rate of the resources occupied by multiple first codec instances, etc. The resources occupied by multiple first codec instances may include a central processing unit (CPU), a graphics processing unit (GPU), memory, and other codec hardware, etc. In addition, the size of the upper limit value and the lower limit value of the utilization rate can be set by the first tenant according to actual needs and are not restricted here.
[0062] (3) The various algorithms for the first codec resource pool may include additional algorithms that can be used by each first codec when performing codec operations, etc., for example, the first tenant's self-developed artificial intelligence (AI) image quality enhancement algorithm and self-developed codec algorithm, etc. Then, after creating the first codec resource pool exclusively for the first business instance, the cloud management platform may deploy these algorithms in each first codec in the first codec resource pool, so that when the first codec uses these algorithms to encode and decode the video, a new video after encoding and decoding is obtained, and the quality of the new video is higher.
[0063] For example, let's assume that tenant A is an exclusive tenant and needs to set up an exclusive codec resource pool for its business instance (for example, a live broadcast application developed by the exclusive tenant). Therefore, tenant A can log in to the cloud management platform, which provides a tenant interface for tenant A. The tenant interface includes an exclusive codec resource pool creation section. Therefore, tenant A can enter various parameters for the exclusive codec resource pool, the elastic scaling policy for the exclusive codec resource pool, and the algorithm for the exclusive codec resource pool into the exclusive codec resource pool creation section. The exclusive codec resource pool creation section can then send this information as an exclusive resource creation request from tenant A to the cloud management platform.
[0064] 302. The cloud management platform creates multiple first codec instances exclusively for the first service instance based on the exclusive resource creation request, where each first codec instance supports at least one codec specification.
[0065] After receiving the exclusive resource creation request, the cloud management platform can parse the exclusive resource creation request to determine that a first codec resource pool needs to be created for exclusive use by the first business instance of the first tenant. Therefore, the cloud management platform can create a first codec resource pool for exclusive use by the first business instance. The first codec resource pool includes multiple first codec instances, each of which includes multiple first codecs, and each first codec supports one codec specification. It should be noted that the codec specifications supported by any two first codecs can be the same or different, and this is not restricted here.
[0066] Specifically, the cloud management platform can create the first codec resource pool in the following ways:
[0067] The infrastructure managed by the cloud management platform also includes a pre-created second codec resource pool. This second codec resource pool is shared by multiple tenants' service instances and contains multiple third-party codec instances. Each third-party codec instance contains multiple third-party codecs, each of which supports a single codec specification. It should be noted that the codec specifications supported by any two third-party codecs can be the same or different, and this is not a limitation.
[0068] Then, after receiving the exclusive resource creation request, the cloud management platform can determine based on the exclusive resource creation request that a first codec resource pool exclusively for the first business instance of the first tenant needs to be created. Therefore, the cloud management platform can select several available third codec instances as multiple first codec instances from the multiple third codec instances contained in the second codec resource pool according to the various parameters of the first codec resource pool contained in the exclusive resource creation request. These multiple first codec instances constitute the first codec resource pool.
[0069] Still as in the above example, as shown in Figure 4 (Figure 4 is another structural diagram of the cloud service system provided by an embodiment of the present application), the cloud management platform also creates a shared codec resource pool for multiple tenants to share in advance. The shared codec resource pool contains multiple codec instances, each codec instance contains multiple codecs, and each codec supports a codec specification. Then, after receiving the exclusive resource creation request sent by tenant A, the cloud management platform can determine based on the request that an exclusive codec resource pool needs to be created for tenant A's business instance, as well as parameters such as the number of codec instances in the exclusive codec resource pool, the number of codecs contained in each codec instance, and the codec specifications supported by each codec. Therefore, the cloud management platform can select several codec instances that meet these parameters from the shared codec resource pool in accordance with the instructions of these parameters, and migrate these codec instances to tenant A's exclusive codec resource pool to provide codec services for tenant A's business instance.
[0070] 303. The cloud management platform receives a first codec request sent by the first service instance, where the first codec request is used to instruct acquisition of a second video of a first codec specification based on the first video.
[0071] 304. The cloud management platform selects a second codec instance that supports the first codec specification from multiple first codec instances based on the first codec request, and instructs the second codec instance to encode and decode the first video to obtain a second video.
[0072] After creating a first codec resource pool exclusively for the first service instance, when the first service instance needs to encode or decode a first video, it can send a first codec request to the cloud management platform. The first codec request is used to indicate that the first service instance needs to process the first video into a second video with the first codec specification. After receiving the first codec request, the cloud management platform can select a second codec instance that supports the first codec specification from multiple first codec instances contained in the first codec resource pool based on the first codec request. This second codec instance can then encode or decode the first video, thereby generating the second video with the first codec specification, and return it to the first service instance for use.
[0073] Specifically, the cloud management platform can obtain the second video based on the first video in the following manner:
[0074] In the first codec resource pool exclusively for the first business instance, each first codec instance may contain multiple first codecs, and each first codec supports one codec specification. Therefore, after receiving the first codec request, the cloud management platform may determine that the first business instance needs to process the first video into a second video of the first codec specification, so the cloud management platform may select an available first codec instance from multiple first codec instances as the second codec instance (for example, if the available amount of resources occupied by the first codec instance is greater than a preset value, then the first codec instance is used as the second codec instance, etc.), and among the multiple first codecs contained in the second codec instance, a first encoder that supports the first encoding specification is used as the second codec. Then, the cloud management platform can instruct the second codec to encode and decode the first video, thereby obtaining the second video of the first codec specification, and return it to the first business instance for use.
[0075] Still taking the above example, as shown in Figure 5 (Figure 5 is another structural diagram of the cloud service system provided by an embodiment of the present application, and Figure 5 is drawn based on Figure 4), it is assumed that the application of the business instance of tenant A needs to process a certain video into a new video of 720P+H.264+60FPS. The application of the business instance of tenant A can generate a codec request, which is used to indicate that a certain video is processed into a new video of 720P+H.264+60FPS. Then, the application can send the codec request to the codec call plug-in of the business instance of tenant A. The codec call plug-in determines that tenant A is an exclusive tenant based on the codec request, so it can send the codec request to the scheduler in the exclusive codec resource pool of tenant A. After receiving the codec request, the scheduler can select an available codec instance 1 from multiple codec instances in the exclusive codec resource pool of tenant A, and send the codec request to the manager 1 in the codec instance 1. Manager 1 can select codec 1.3 that supports 720P+H.264+60FPS from multiple codecs of codec instance 1, so that codec 1.3 encodes and decodes the video to obtain a new video of 720P+H.264+60FPS, and returns it to tenant A's service instance for use.
[0076] More specifically, the cloud management platform may also obtain the second video based on the first video in the following manner:
[0077] After determining the second codec, the cloud management platform sends the first information about the second codec to the first service instance. The first service instance can then access the second codec based on the first information and send the first codec request to the second codec. Since the first codec request instructs the first video to be processed into a second video with the first codec specification, the second codec can encode and decode the first video based on the first codec request, thereby obtaining the second video with the first codec specification.
[0078] It is worth noting that the first information may include at least one of the following: the network address of the second codec (for example, the Internet Protocol (IP) address of the second codec), the access port of the second codec, the identity certificate of the second codec, and the codec specifications supported by the second codec.
[0079] Furthermore, for any first codec, when creating the first codec, the cloud management platform will allocate a certain amount of resources to the first codec, that is, the resources occupied by the first codec, and the amount of resources occupied by the first codec is associated with the codec specifications supported by the first codec. When the first codec is performing a codec operation, it will use part or all of the resources it occupies. After completing the codec operation, it can release these used resources under the notification of the business instance. It can be seen that after the second codec of the second codec instance uses part or all of the resources to complete the codec operation for the first video, the obtained second video can be returned to the first business instance of the first tenant. The first business instance can notify the second codec instance to release the resources used by the second codec.
[0080] Still as in the above example, after determining codec 1.3, manager 1 can send information about codec 1.3, such as the IP address, port, identity credentials, and codec specifications of codec 1.3 (through the scheduler) to the business instance of tenant A. Therefore, the business instance of tenant A can access codec 1.3 based on the information of codec 1.3, and send the codec request to codec 1.3, so that codec 1.3 calls part of the resources it occupies to encode and decode the video, thereby obtaining a new video of 720P+H.264+60FPS, and return it to the business instance of tenant A for use.
[0081] Afterwards, the service instance of tenant A may also notify manager 1 to release the resources used by codec 1.3, so manager 1 may instruct codec 1.3 to release the resources it uses, thereby making codec 1.3 idle, that is, most of the resources it occupies are available.
[0082] More specifically, since the cloud management platform creates a second codec resource pool shared by the service instances of multiple tenants, when the second service instance (also referred to as the service instance of the shared tenant) of the second tenant among the multiple tenants (also referred to as a shared tenant among the multiple tenants) needs to process the third video into a fourth video of the second encoding specification, the cloud management platform can obtain the fourth video based on the third video in the following manner:
[0083] In a second codec resource pool shared by multiple tenants' service instances, each remaining third codec instance (some of which are migrated to the first codec resource pool) may contain multiple third codecs, and each third codec supports one codec specification. Therefore, upon receiving a second codec request from a second service instance of a second tenant among multiple tenants, the cloud management platform may determine that the second service instance needs to process the third video into a fourth video of the second codec specification. Therefore, the cloud management platform may select an available third codec instance from the remaining third codec instances as the fourth codec instance (for example, if the available amount of resources occupied by the third codec instance is greater than a preset value, the third codec instance is selected as the fourth codec instance, etc.), and select a third encoder that supports the second coding specification from the multiple third codecs included in the fourth codec instance as the fourth codec. The cloud management platform may then instruct the fourth codec to encode and decode the third video, thereby obtaining a fourth video of the second codec specification, and return it to the second service instance for use.
[0084] Still taking the above example, suppose that the application of tenant B's business instance needs to process a certain video into a new video with 1080P+H.265+30FPS. The application of tenant B's business instance can generate a codec request, which is used to indicate that a certain video should be processed into a new video with 1080P+H.265+30FPS. Then, the application can send the codec request to the codec call plug-in of tenant B's business instance. The codec call plug-in determines that tenant B is a shared tenant based on the codec request, so it can send the codec request to the scheduler in the shared codec resource pool. After receiving the codec request, the scheduler can select an available codec instance 8 from multiple codec instances in the shared codec resource pool, and send the codec request to the manager 8 in the codec instance 8. Manager 8 can select codec 8.1 that supports 1080P+H.265+30FPS from multiple codecs of codec instance 8, so that codec 8.1 encodes and decodes the video to obtain a new video of 1080P+H.265+30FPS, and return it to tenant B's business instance for use.
[0085] More specifically, the cloud management platform may also obtain the fourth video based on the third video in the following manner:
[0086] After determining the fourth codec, the cloud management platform sends the second information about the fourth codec to the second service instance. The second service instance can then access the fourth codec based on the second information and send the second codec request to the fourth codec. Because the second codec request instructs processing the third video into a fourth video of the second codec specification, the fourth codec can encode and decode the third video based on the second codec request, thereby generating the fourth video of the second codec specification.
[0087] It is worth noting that the second information may include at least one of the following: the network address of the fourth codec (eg, the IP address of the fourth codec, the access port of the fourth codec, the identity certificate of the fourth codec, and the codec specifications supported by the fourth codec.
[0088] Furthermore, for any third codec, when creating the third codec, the cloud management platform will allocate a certain amount of resources to the third codec, that is, the resources occupied by the third codec, and the amount of resources occupied by the third codec is associated with the codec specifications supported by the third codec. When the third codec is performing a codec operation, it will use part or all of the resources it occupies. After completing the codec operation, it can release these used resources under the notification of the business instance. It can be seen that after the fourth codec of the fourth codec instance uses part or all of the resources to complete the codec operation for the second video, the obtained fourth video can be returned to the second business instance of the second tenant. The second business instance can notify the fourth codec instance to release the resources used by the fourth codec.
[0089] Still as in the above example, after determining codec 8.1, manager 8 can send information about codec 8.1, such as the IP address, port, identity credentials, and codec specifications of codec 8.1, to the business instance of tenant B. Therefore, the business instance of tenant B can access codec 8.1 based on the information of codec 8.1, and send the codec request to codec 8.1, so that codec 8.1 calls part of the resources it occupies to encode and decode the video, thereby obtaining a new video of 1080P+H.265+30FPS, and return it to the business instance of tenant B for use.
[0090] Afterwards, the service instance of tenant B may also notify manager 8 to release the resources used by codec 8.1, so manager 8 may instruct codec 8.1 to release the resources it uses, thereby making codec 8.1 idle, that is, most of the resources it occupies are available.
[0091] More specifically, since the exclusive resource creation request also includes an elastic scaling policy for the first codec resource pool, the cloud management platform can elastically scale the first codec resource pool based on the elastic scaling policy in the following manner:
[0092] Based on the elastic scaling policy for the first codec resource pool, the cloud management platform can obtain the utilization rate of the total resources occupied by multiple first codec instances in the first codec resource pool in real time or periodically. If the utilization rate is greater than or equal to the utilization rate upper limit indicated by the elastic scaling policy for the first codec resource pool, the cloud management platform selects at least one third codec instance from the remaining third codec instances contained in the second codec resource pool as a new first codec instance and migrates the new first codec instance to the first codec resource pool, thereby expanding the capacity of the first codec resource pool. If the utilization rate is less than the utilization rate lower limit indicated by the elastic scaling policy for the first codec resource pool, the cloud management platform selects at least one first codec instance from the multiple first codec instances contained in the first codec resource pool as the original third codec instance and migrates the original third codec instance back to the second codec resource pool, thereby reducing the capacity of the first codec resource pool.
[0093] Still taking the above example, as shown in Figure 4, based on the exclusive codec resource pool for tenant A, tenant A also sets an elastic scaling policy for it, so the cloud management platform can obtain the utilization rate of the resources occupied by tenant A's exclusive codec resource pool in real time. If the utilization rate is greater than or equal to the utilization rate upper limit indicated by the elastic scaling policy (for example, 90%), the cloud management platform selects some codec instances from the shared codec resource pool and migrates them to tenant A's exclusive codec resource pool. If the utilization rate is less than the utilization rate lower limit indicated by the elastic scaling policy (for example, 30%), the cloud management platform selects some codec instances from the exclusive codec resource pool package and migrates them back to the shared codec resource pool, thereby realizing the expansion and contraction of tenant A's exclusive codec resource pool.
[0094] More specifically, the cloud management platform can also bill the first tenant and the second tenant in the following ways:
[0095] (1) For any first codec instance in the first codec resource pool, the cloud management platform uses the resource volume (specifications) occupied by the first codec instance as the billing unit, multiplying it by the duration of use of the first codec instance to obtain the fee for the first tenant's first service instance to use the first codec instance. Since different first codec instances occupy different resource volumes, the corresponding billing units are also different.
[0096] (2) For any third codec in the second codec resource pool, the cloud management platform uses the codec specifications supported by the third codec as the billing unit, multiplying it by the duration of use of the third codec to calculate the fee for the second tenant's second service instance using the third codec. Because different first codec instances occupy different amounts of resources, the corresponding billing units are also different.
[0097] In an embodiment of the present application, when the first tenant needs to create a first codec resource pool exclusively for its first business instance, the first tenant can send an exclusive resource creation request for the first business instance to the creation interface provided by the cloud management platform. Then, the cloud management platform can create a first codec resource pool exclusively for the first business instance based on the exclusive resource creation request. The first codec resource pool contains multiple first codec instances, and each first codec instance supports at least one codec specification. When the first business instance needs to process the first video into a second video of the first codec specification, it can send a first codec request to the cloud management platform. The first codec request is used to indicate that a second video of the first codec specification is obtained based on the first video. Then, based on the first codec request, the cloud management platform can select a second codec instance that supports the first codec specification from the multiple first codec instances in the first codec resource pool, and instruct the second codec instance to encode and decode the first video, thereby obtaining a second video of the first codec specification, and return it to the first business instance for use. In the above process, since the number of first codec instances in the first codec resource pool and the codec specifications supported by the first codec instance can be customized by the first tenant, the cloud management platform deploys the codec resources in the first codec resource pool based on the consideration of exclusive use by the first tenant. Since the first tenant comprehensively considers the usage of the codec resources in the first codec resource pool by the first business instance in each time period, the factors considered are relatively comprehensive, so the utilization rate of the codec resources by the first business instance of the first tenant can be improved to a certain extent, thereby avoiding resource waste.
[0098] Furthermore, in an embodiment of the present application, for the second business instance of the second tenant, it uses the codec resources in the second codec resource pool shared by the business instances of multiple tenants. For the second business instance, the cloud management platform charges according to the codec specifications supported by a third codec (for example, the aforementioned fourth codec) in a third codec instance (for example, the aforementioned fourth codec instance) used in the second codec resource pool as the billing unit. The billing granularity is finer and more flexible, which can reduce the codec costs of the second tenant to a certain extent.
[0099] The above is a detailed description of the video processing method based on the cloud management platform provided in the embodiment of the present application. The cloud management platform provided in the embodiment of the present application will be introduced below. Figure 6 is a structural diagram of the cloud management platform provided in the embodiment of the present application. As shown in Figure 6, the cloud management platform is used to manage the infrastructure for providing cloud services. The infrastructure includes a first business instance of a first tenant. The cloud management platform includes:
[0100] The first receiving module 601 is configured to receive, through a creation interface, a request for creating an exclusive resource for a first service instance sent by a first tenant; for example, the first receiving module 601 is configured to implement step 301 in the embodiment shown in FIG. 3 .
[0101] The creation module 602 is used to create multiple first codec instances exclusively for the first service instance based on the exclusive resource creation request, each first codec instance supporting at least one codec specification; for example, the creation module 602 is used to implement step 302 in the embodiment shown in Figure 3.
[0102] The second receiving module 603 is used to receive a first codec request sent by the first business instance, where the first codec request is used to instruct to obtain a second video of the first codec specification based on the first video; for example, the second receiving module 603 is used to implement step 303 in the embodiment shown in Figure 3.
[0103] Processing module 604 is configured to select, based on the first codec request, a second codec instance that supports the first codec specification from multiple first codec instances, and instruct the second codec instance to encode and decode the first video to obtain a second video. For example, processing module 604 is configured to implement step 304 in the embodiment shown in FIG3 .
[0104] In a possible implementation, the codec specification includes at least one of the following: video resolution, video codec standard, and video quality.
[0105] In one possible implementation, the infrastructure further includes multiple third codec instances shared by business instances of multiple tenants. The creation module 602 is configured to select, based on an exclusive resource creation request, several available third codec instances from the multiple third codec instances as multiple first codec instances exclusively used by the first business instance.
[0106] In one possible implementation, each first codec instance includes multiple first codecs, and each first codec supports a codec specification; the processing module 604 is used to select an available second codec instance from the multiple first codec instances based on the first codec request, select a second codec that supports the first codec specification from the multiple first codecs included in the second codec instance, and instruct the second codec to encode and decode the first video to obtain the second video.
[0107] In one possible implementation, the processing module 604 is used to send first information of the second codec to the first business instance, where the first information is used for the first business instance to send a first codec request to the second codec, so that the second codec encodes and decodes the first video based on the first codec request to obtain the second video, and the first information includes at least one of the following: the network address of the second codec, the access port of the second codec, the identity credentials of the second codec, and the codec specifications supported by the second codec.
[0108] In one possible implementation, the cloud management platform further includes: an acquisition module, configured to acquire, based on an exclusive resource creation request, a utilization rate of resources occupied by multiple first codec instances; and an elastic scaling module, configured to select, if the utilization rate is greater than or equal to a utilization rate threshold indicated by the exclusive resource creation request, at least one third codec instance from the remaining third codec instances as a new first codec instance, and add the new first codec instance to the multiple first codec instances.
[0109] In one possible implementation, the infrastructure also includes a second business instance of a second tenant, multiple tenants include the second tenant, each third codec instance includes multiple third codecs, and each third codec supports a codec specification; the second receiving module 603 is further used to receive a second codec request sent by the second business instance, and the second codec request is used to indicate that a fourth video with a second codec specification is obtained based on the third video; the processing module 604 is further used to select an available fourth codec instance from the remaining third codec instances based on the second codec request, select a fourth codec that supports the second codec specification from the multiple third codecs included in the fourth codec instance, and instruct the fourth codec to encode and decode the third video to obtain a fourth video.
[0110] In one possible implementation, the processing module 604 is used to send second information of the fourth codec to the second business instance, where the second information is used for the second business instance to send a second codec request to the fourth codec, so that the fourth codec encodes and decodes the third video based on the second codec request to obtain a fourth video, and the second information includes at least one of the following: the network address of the fourth codec, the access port of the fourth codec, the identity credentials of the fourth codec, and the codec specifications supported by the fourth codec.
[0111] In one possible implementation, the first service instance or the first codec instance includes any one of the following: a physical server, a virtual machine, a container, a micro virtual machine, and a bare metal server.
[0112] It should be noted that the information interaction, implementation process, etc. between the modules / units of the above-mentioned device are based on the same concept as the method embodiment of the present application, and the technical effects they bring are the same as those of the method embodiment of the present application. For specific contents, please refer to the description in the method embodiment shown above in the embodiment of the present application, and no further details will be given here.
[0113] Please refer to Figure 7, which is a schematic diagram of the structure of a computing device provided in an embodiment of the present application. As shown in Figure 7, the computing device 700 (which can be used to present the aforementioned cloud management platform) includes: a processor 701, a memory 702, a communication interface 703, and a bus 704. The processor 701, the memory 702, and the communication interface 703 are coupled via a bus (not labeled in the figure). The memory 702 stores instructions. When the execution instructions in the memory 702 are executed, the computing device 700 executes the method executed by the cloud management platform in the above method embodiment.
[0114] The computing device 700 may be one or more integrated circuits configured to implement the above method, such as one or more application specific integrated circuits (ASICs), one or more digital signal processors (DSPs), one or more field programmable gate arrays (FPGAs), or a combination of at least two of these integrated circuit forms. For example, when a unit in the apparatus can be implemented in the form of a processing element scheduler, the processing element may be a general-purpose processor, such as a central processing unit (CPU) or other processor that can call a program. For example, these units may be integrated together and implemented in the form of a system-on-a-chip (SOC).
[0115] The processor 701 may be a central processing unit (CPU), other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA), other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. The general-purpose processor may be a microprocessor or any conventional processor.
[0116] Memory 702 may be volatile memory or nonvolatile memory, or may include both volatile and nonvolatile memory. Nonvolatile memory may be read-only memory (ROM), programmable ROM (PROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory may be random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link DRAM (SLDRAM), and direct rambus RAM (DR RAM).
[0117] Memory 702 stores executable program code, and processor 701 executes the executable program code to implement the functions of the aforementioned first receiving module, creation module, second receiving module, and processing module, thereby implementing the aforementioned video processing method based on the cloud management platform. In other words, memory 702 stores instructions for executing the aforementioned video processing method based on the cloud management platform.
[0118] The communication interface 703 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 700 and other devices or a communication network.
[0119] In addition to the data bus, bus 704 may also include a power bus, a control bus, and a status signal bus. The bus may be a Peripheral Component Interconnect Express (PCIe) bus, an Extended Industry Standard Architecture (EISA) bus, a unified bus (Ubus or UB), a Compute Express Link (CXL), or a Cache Coherent Interconnect for Accelerators (CCIX). Buses can be categorized as address buses, data buses, and control buses.
[0120] Please refer to FIG8 , which is a schematic diagram of a computing device cluster provided in an embodiment of the present application. As shown in FIG8 , the computing device cluster 800 includes at least one computing device 700 .
[0121] As shown in Figure 8, the computing device cluster 800 includes at least one computing device 700. The memory 702 in one or more computing devices 700 in the computing device cluster 800 may store the same instructions for executing the above-mentioned video processing method based on the cloud management platform.
[0122] In some possible implementations, the memory 702 of one or more computing devices 700 in the computing device cluster 800 may also store partial instructions for executing the aforementioned cloud management platform-based video processing method. In other words, the combination of one or more computing devices 700 can jointly execute the aforementioned cloud management platform-based video processing method.
[0123] It should be noted that the memory 702 in different computing devices 700 in the computing device cluster 800 may store different instructions, each for executing a portion of the functions of the aforementioned cloud management platform. In other words, the instructions stored in the memory 702 in different computing devices 700 may implement the functions of one or more modules such as the first receiving module, the creation module, the second receiving module, and the processing module.
[0124] In some possible implementations, one or more computing devices 700 in the computing device cluster 800 may be connected via a network, which may be a wide area network or a local area network.
[0125] Please refer to Figure 9, which is a schematic diagram of computer devices in a computer cluster provided by an embodiment of the present application being connected via a network. As shown in Figure 9, two computing devices 700A and 700B are connected via a network. Specifically, each computing device is connected to the network via a communication interface in the computing device.
[0126] In one possible implementation, the memory of computing device 700A stores instructions for executing the functions of the first receiving module and other modules. Meanwhile, the memory of computing device 700B stores instructions for executing the functions of the creating module, the second receiving module, the processing module and other modules.
[0127] It should be understood that the functions of the computing device 700A shown in Figure 9 may also be completed by multiple computing devices. Similarly, the functions of the computing device 700B may also be completed by multiple computing devices.
[0128] An embodiment of the present application also relates to a computer storage medium, in which a program for signal processing is stored. When the computer storage medium is run on a computer, the computer executes the steps executed by the cloud management platform in the embodiment shown in Figure 3.
[0129] An embodiment of the present application also relates to a computer program product, which stores instructions that, when executed by a computer, enable the computer to execute the steps performed by the cloud management platform in the embodiment shown in FIG3 .
[0130] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0131] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.
[0132] The units described as separate components may or may not be physically separate, and 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 these units may be selected to achieve the purpose of this embodiment according to actual needs.
[0133] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.
[0134] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
Claims
1. A video processing method based on a cloud management platform, characterized in that: The cloud management platform is used to manage infrastructure for providing cloud services, the infrastructure including a first service instance of a first tenant, and the method includes: The cloud management platform receives, through a creation interface, a request for creating exclusive resources for the first service instance sent by the first tenant; The cloud management platform creates, based on the exclusive resource creation request, a plurality of first codec instances exclusively used by the first service instance, each first codec instance supporting at least one codec specification; The cloud management platform receives a first codec request sent by the first service instance, where the first codec request is used to instruct acquisition of a second video with a first codec specification based on the first video; Based on the first codec request, the cloud management platform selects a second codec instance that supports the first codec specification from the multiple first codec instances, and instructs the second codec instance to encode and decode the first video to obtain the second video.
2. The method according to claim 1, characterized in that The codec specification includes at least one of the following: video resolution, video codec standard, and video quality.
3. The method according to claim 1 or 2, characterized in that The infrastructure further includes multiple third codec instances shared by multiple tenants' service instances, and the cloud management platform creates multiple first codec instances exclusively for the first service instance based on the exclusive resource creation request, including: The cloud management platform selects, based on the exclusive resource creation request, a number of available third codec instances from the multiple third codec instances as multiple first codec instances exclusively used by the first service instance.
4. The method according to any one of claims 1 to 3, characterized in that Each first codec instance includes a plurality of first codecs, and each first codec supports a codec specification; The cloud management platform selects, based on the first codec request, a second codec instance from the multiple first codec instances that supports the first codec specification, and instructs the second codec instance to encode and decode the first video. The obtained second video includes: Based on the first codec request, the cloud management platform selects an available second codec instance from the multiple first codec instances, selects a second codec that supports the first codec specification from the multiple first codecs included in the second codec instance, and instructs the second codec to encode and decode the first video to obtain the second video.
5. The method according to claim 4, characterized in that The cloud management platform instructs the second codec to encode and decode the first video, and the second video is obtained, including: The cloud management platform sends first information of the second codec to the first business instance, where the first information is used for the first business instance to send the first codec request to the second codec, so that the second codec encodes and decodes the first video based on the first codec request to obtain the second video, and the first information includes at least one of the following: the network address of the second codec, the access port of the second codec, the identity credentials of the second codec, and the codec specifications supported by the second codec.
6. The method according to any one of claims 1 to 5, characterized in that The method further comprises: The cloud management platform obtains, based on the exclusive resource creation request, usage rates of resources occupied by the multiple first codec instances; If the usage rate is greater than or equal to the usage rate threshold indicated by the exclusive resource creation request, the cloud management platform selects at least one third codec instance from the remaining third codec instances as the new first codec instance, and adds the new first codec instance to the multiple first codec instances.
7. The method according to claim 3, characterized in that The infrastructure further includes a second service instance of the second tenant, the multiple tenants include the second tenant, each third codec instance includes multiple third codecs, and each third codec supports a codec specification. The method further includes: The cloud management platform receives a second codec request sent by the second service instance, where the second codec request is used to instruct acquisition of a fourth video of a second codec specification based on the third video; Based on the second codec request, the cloud management platform selects an available fourth codec instance from the remaining third codec instances, selects a fourth codec that supports the second codec specification from the multiple third codecs included in the fourth codec instance, and instructs the fourth codec to encode and decode the third video to obtain the fourth video.
8. The method according to claim 7, characterized in that The cloud management platform instructs the fourth codec to encode and decode the third video, and the fourth video obtained includes: The cloud management platform sends second information of the fourth codec to the second business instance, and the second information is used for the second business instance to send the second codec request to the fourth codec, so that the fourth codec encodes and decodes the third video based on the second codec request to obtain the fourth video, and the second information includes at least one of the following: the network address of the fourth codec, the access port of the fourth codec, the identity credentials of the fourth codec, and the codec specifications supported by the fourth codec.
9. The method according to any one of claims 1 to 8, characterized in that The first service instance or the first codec instance includes any one of the following: a physical server, a virtual machine, a container, a micro virtual machine, and a bare metal server.
10. A cloud management platform, characterized in that: The cloud management platform is used to manage an infrastructure for providing cloud services, wherein the infrastructure includes a first service instance of a first tenant, and the cloud management platform includes: A first receiving module is configured to receive, through a creation interface, a request for creating an exclusive resource for the first service instance sent by the first tenant; A creation module, configured to create, based on the exclusive resource creation request, a plurality of first codec instances exclusively used by the first service instance, each first codec instance supporting at least one codec specification; A second receiving module is configured to receive a first codec request sent by the first service instance, where the first codec request is used to instruct acquisition of a second video of a first codec specification based on the first video; The processing module is configured to select, based on the first codec request, a second codec instance that supports the first codec specification from the multiple first codec instances, and instruct the second codec instance to encode and decode the first video to obtain the second video.
11. The cloud management platform according to claim 10, characterized in that: The codec specification includes at least one of the following: video resolution, video codec standard, and video quality.
12. The cloud management platform according to claim 10 or 11, characterized in that: The infrastructure also includes multiple third codec instances shared by business instances of multiple tenants. The creation module is used to select several available third codec instances from the multiple third codec instances as multiple first codec instances exclusively used by the first business instance based on the exclusive resource creation request.
13. The cloud management platform according to any one of claims 10 to 12, characterized in that: Each of the first codec instances includes multiple first codecs, and each first codec supports a codec specification. The processing module is used to select an available second codec instance from the multiple first codec instances based on the first codec request, select a second codec that supports the first codec specification from the multiple first codecs included in the second codec instance, and instruct the second codec to encode and decode the first video to obtain the second video.
14. The cloud management platform according to claim 13, characterized in that: The processing module is used to send first information of the second codec to the first business instance, where the first information is used for the first business instance to send the first codec request to the second codec, so that the second codec encodes and decodes the first video based on the first codec request to obtain the second video, and the first information includes at least one of the following: the network address of the second codec, the access port of the second codec, the identity credentials of the second codec, and the codec specifications supported by the second codec.
15. The cloud management platform according to any one of claims 10 to 14, characterized in that: The cloud management platform also includes: an acquisition module, configured to acquire, based on the exclusive resource creation request, a usage rate of resources occupied by the plurality of first codec instances; an elastic scaling module, configured to select at least one third codec instance from the remaining third codec instances as the new first codec instance if the usage rate is greater than or equal to the usage rate threshold indicated by the exclusive resource creation request, and add the new first codec instance to the multiple first codec instances.
16. The cloud management platform according to claim 12, characterized in that: The infrastructure further includes a second service instance of the second tenant, the multiple tenants include the second tenant, each third codec instance includes multiple third codecs, and each third codec supports a codec specification; The second receiving module is further configured to receive a second codec request sent by the second service instance, where the second codec request is used to instruct acquisition of a fourth video of a second codec specification based on the third video; The processing module is further configured to select an available fourth codec instance from the remaining third codec instances based on the second codec request, select a fourth codec that supports the second codec specification from the multiple third codecs included in the fourth codec instance, and instruct the fourth codec to encode and decode the third video to obtain the fourth video.
17. The cloud management platform according to claim 16, characterized in that: The processing module is used to send second information of the fourth codec to the second business instance, where the second information is used for the second business instance to send the second codec request to the fourth codec, so that the fourth codec encodes and decodes the third video based on the second codec request to obtain the fourth video, and the second information includes at least one of the following: the network address of the fourth codec, the access port of the fourth codec, the identity credentials of the fourth codec, and the codec specifications supported by the fourth codec.
18. The cloud management platform according to any one of claims 10 to 17, characterized in that: The first service instance or the first codec instance includes any one of the following: a physical server, a virtual machine, a container, a micro virtual machine, and a bare metal server.
19. A computing device cluster, characterized in that: The computing device cluster includes at least one computing device, each computing device including a processor and a memory: The memory is used to store instructions; The processor is configured to cause the computing device cluster to execute the method according to any one of claims 1 to 9 according to the instructions.
20. A computer storage medium, characterized in that The computer storage medium stores one or more instructions, which, when executed by one or more computers, enable the one or more computers to implement the method according to any one of claims 1 to 9.
21. A computer program product, characterized in that The computer program product stores instructions, which, when executed by a computer, enable the computer to implement the method according to any one of claims 1 to 9.
Citation Information
Patent Citations
Video processing method based on cloud management platform and cloud management platform
CN120416532A
Elastic calculation service system
CN103729229A
Method, device and physical machine for dynamically allocating CPU resources
CN109144706A
Codec scheduling method and electronic equipment
CN116055715A
Ultrahigh-speed video parallel conversion method and system based on cloud computing
CN117221624A