Resource allocation method, device, equipment, medium and program product

By selecting the target device for resource allocation based on the network type and load value of the candidate resource providing device in real-time audio and video communication, the high cost problem caused by unreasonable resource allocation is solved, and a balance between user experience and cost control is achieved.

CN114629997BActive Publication Date: 2025-09-16SHANGHAI XIAODU TECHNOLOGY CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210260345.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-03-16
Publication Date
2025-09-16
Estimated Expiration
2042-03-16

AI Technical Summary

Technical Problem

In real-time audio and video communications, as the user base expands and the demand for media resources increases, how to reasonably allocate resources to ensure user call experience and control call costs becomes an important issue.

Method used

By responding to resource allocation requests, the target resource providing device is determined among the candidate devices based on the network type and load value of the candidate resource providing device, and the resource allocation request is forwarded to the target device for resource allocation. Devices with lighter loads and broadband network types are given priority to reduce costs.

Benefits of technology

While ensuring the quality of users' audio and video calls, it effectively reduces call costs, improves the flexibility of resource allocation and user call success rate, and avoids resource waste.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114629997B_ABST
    Figure CN114629997B_ABST
Patent Text Reader

Abstract

The present disclosure provides a resource allocation method, apparatus, device, medium, and program product, relating to the field of computer technology, particularly cloud computing technology. A specific implementation scheme comprises: in response to a resource allocation request, determining a target resource provider from among candidate resource providers based on their network type and load value; and forwarding the source allocation request to the target resource provider, instructing the target resource provider to allocate resources based on the resource allocation request. The technical solutions of the embodiments of the present disclosure can ensure user call quality while controlling call costs.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer technology, in particular to the field of cloud computing technology, and specifically to a resource allocation method, apparatus, device, medium, and program product. Background Art

[0002] Real-time Communications (RTC) relies on the cloud's powerful real-time audio and video processing and transmission capabilities to provide users with stable real-time audio and video services.

[0003] As the number of audio and video call users continues to grow, the number of people making calls also increases, requiring more and more media resources at the same time. Properly allocating media resources is crucial to ensuring a good user experience and controlling call costs. Summary of the Invention

[0004] The present disclosure provides a resource allocation method, apparatus, device, medium, and program product.

[0005] According to one aspect of the present disclosure, a resource allocation method is provided, comprising:

[0006] In response to the resource allocation request, determining a target media resource providing device from the candidate resource providing devices according to the network type and load value of the candidate resource providing device;

[0007] The resource allocation request is forwarded to the target resource providing device to instruct the target resource providing device to perform resource allocation according to the resource allocation request.

[0008] According to another aspect of the present disclosure, a resource allocation device is provided, comprising:

[0009] a target resource providing device determining module, configured to determine a target resource providing device from the candidate resource providing devices in response to a resource allocation request and based on the network type and load value of the candidate resource providing devices;

[0010] The resource allocation request sending module is used to forward the resource allocation request to the target resource providing device, and to instruct the target resource providing device to perform resource allocation according to the resource allocation request.

[0011] According to another aspect of the present disclosure, there is provided an electronic device, comprising:

[0012] at least one processor; and

[0013] a memory communicatively connected to at least one processor; wherein,

[0014] The memory stores instructions that can be executed by at least one processor. The instructions are executed by the at least one processor to enable the at least one processor to perform the resource allocation method of any embodiment of the present disclosure.

[0015] According to another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable a computer to execute the resource allocation method according to any embodiment of the present disclosure.

[0016] According to another aspect of the present disclosure, a computer program product is provided, including a computer program. When the computer program is executed by a processor, the resource allocation method of any embodiment of the present disclosure is implemented.

[0017] The embodiments of the present disclosure can control call costs while ensuring the quality of user calls.

[0018] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present disclosure, nor are they intended to limit the scope of the present disclosure. Other features of the present disclosure will become readily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] The accompanying drawings are provided to facilitate a better understanding of the present invention and do not constitute a limitation of the present disclosure.

[0020] Figure 1 is a schematic diagram of a resource allocation method provided according to an embodiment of the present disclosure;

[0021] Figure 2 is a schematic diagram of a resource allocation method provided according to an embodiment of the present disclosure;

[0022] Figure 3 is a schematic diagram of a resource allocation method provided according to an embodiment of the present disclosure;

[0023] Figure 4a is a schematic diagram of the structure of a resource allocation system provided according to an embodiment of the present disclosure;

[0024] Figure 4b is a signaling diagram of a resource allocation system provided according to an embodiment of the present disclosure;

[0025] Figure 5 is a schematic diagram of a resource allocation device provided according to an embodiment of the present disclosure;

[0026] Figure 6 It is a block diagram of an electronic device used to implement the resource allocation method according to an embodiment of the present disclosure. DETAILED DESCRIPTION

[0027] The following description of exemplary embodiments of the present disclosure is made in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding. These details should be considered as merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.

[0028] Figure 1 This is a flowchart of a resource allocation method according to an embodiment of the present disclosure. This embodiment is applicable to situations where a resource provisioning device is selected for resource allocation based on network type and load value. The method of this embodiment can be executed by a resource allocation device, which can be implemented in software and / or hardware and specifically configured in an electronic device with certain data processing capabilities. The electronic device can be a client device or a server device. Client devices include mobile phones, tablet computers, vehicle-mounted terminals, and desktop computers.

[0029] S110 : In response to a resource allocation request, determine a target resource providing device from the candidate resource providing devices according to the network type and load value of the candidate resource providing devices.

[0030] The resource allocation request is used to request media resources for a user terminal. The resource allocation request carries an identifier of the user terminal and an identifier of a conference to which the user terminal belongs.

[0031] The candidate resource providing device is a device used to allocate media resources to user terminals, and can implement the media resource functions required for various services between two or more user terminals, such as voice calls and video calls. The supplier of the resource providing device provides resource providing devices of different network types, which may specifically include broadband type resource providing devices and flow data type resource providing devices, wherein the call cost of the broadband type resource providing device is lower than that of the flow data type resource providing device. The load value of the candidate resource providing device can be determined based on the CPU (central processing unit), bandwidth and memory usage of the candidate resource providing device, as well as the type and number of users who use the media resources of the resource providing device. Among them, the user types may include voice call users, video call users, audio and video call users, etc. Exemplarily, the candidate resource providing device is a media server.

[0032] After receiving a resource allocation request, one of at least one candidate resource providing device needs to be selected as the target resource providing device for resource allocation. Specifically, the target resource providing device can be determined from multiple candidate resource providing devices based on the network type and current load value of the candidate resource providing device.

[0033] In a specific example, the network types of the candidate resource providing devices include broadband networks and traffic data networks. Based on the above two network types, they can be divided into candidate broadband resource providing devices and candidate traffic resource providing devices. Among them, when providing audio and video calls, the call cost of the candidate broadband resource providing device is lower than that of the candidate traffic resource providing device. In order to control the cost of audio and video calls, after receiving the resource allocation request sent by the signaling server, you can first search for candidate broadband resource providing devices that meet the resource allocation conditions among multiple candidate broadband resource providing devices, and then select the target resource providing device from the candidate broadband resource providing devices that meet the resource allocation conditions. Only when multiple candidate broadband resource providing devices do not meet the resource allocation conditions, the target resource providing device is further selected from the candidate traffic resource providing devices.

[0034] The method for determining whether a candidate broadband resource provider meets the resource allocation conditions is as follows: obtain the load value of the candidate broadband resource provider and compare it with the load threshold. If the load value is equal to or higher than the load threshold, the current candidate broadband resource provider is determined to be overloaded and does not meet the resource allocation conditions. If the load value is lower than the load threshold, the current candidate broadband resource provider is determined to have sufficient remaining load and meet the resource allocation conditions. Similarly, the load value and load threshold of the candidate traffic resource provider can be used to determine whether the candidate traffic resource provider meets the resource allocation conditions.

[0035] S120: Forward the resource allocation request to the target resource providing device to instruct the target resource providing device to perform resource allocation according to the resource allocation request.

[0036] In the disclosed embodiment, after determining the target resource provider based on the network type and load value of the resource provider, a resource allocation request is directly forwarded to the target resource provider, instructing the target resource provider to allocate resources based on the resource allocation request. Simultaneously, the selected target resource provider and the conference identifier in the resource allocation request can be stored in correspondence. When media resources need to be released later, the corresponding target resource provider can be determined based on the conference identifier.

[0037] The resource allocation request includes the identifier of the user to be allocated resources and the identifier of the conference to which the user belongs. After receiving the resource allocation request, the target resource provider can allocate media resources to the user based on the identifier of the user to be allocated resources and provide feedback on the media resource information. The media resource information includes the target resource provider's public Internet Protocol (IP) address and the audio and video port information allocated to the user to be allocated resources.

[0038] The technical solution of the embodiment of the present disclosure determines the target resource providing device based on the network type and load value of the candidate resource providing device in response to a resource allocation request, and then forwards the resource allocation request to the target resource providing device, so as to instruct the target resource providing device to perform resource allocation based on the resource allocation request, and selects the target resource providing device for resource allocation based on the network type and load value, thereby reducing call costs while ensuring the user's audio and video call quality.

[0039] Figure 2 This is a schematic diagram of a resource allocation method in an embodiment of the present disclosure, which further refines the above embodiment and provides specific steps for determining a target resource providing device from among candidate resource providing devices in response to a resource allocation request based on the network type and load value of the candidate resource providing device. Figure 2 A resource allocation method provided in an embodiment of the present disclosure is described, including the following:

[0040] S210 : In response to the resource allocation request, determine whether there is a candidate broadband resource providing device that meets the resource allocation condition based on the load value of the candidate broadband resource providing device.

[0041] The network types of resource providing devices provided by the resource providing device supplier include broadband network type and traffic data network type. Based on the above network types, the candidate resource providing devices can be divided into candidate broadband resource providing devices and candidate traffic resource providing devices.

[0042] After receiving a resource allocation request, to control call costs, the system first determines whether any candidate broadband resource provider meets the resource allocation criteria among at least one candidate broadband resource provider. This allows the system to prioritize resource allocation to the user to whom resources are to be allocated. Specifically, the system determines whether the candidate broadband resource provider has sufficient media resources for allocation based on the load value uploaded by the candidate broadband resource provider. If so, the resource allocation criteria are met.

[0043] In a specific example, a candidate broadband resource provider will obtain information such as the current CPU, bandwidth, and memory usage, as well as the type and number of users using the media resources of the candidate broadband resource provider, at a set time period (e.g., 5 seconds), and calculate its own load value based on the obtained information. When the load value of the candidate broadband resource provider changes, the load value update information is immediately reported. If the load value does not change, the load value is reported according to the set reporting period (e.g., 1 minute).

[0044] After receiving a resource allocation request, the system first obtains the load values ​​of multiple candidate broadband resource providers and compares them with a pre-set load threshold. For example, the load threshold is 85%. The load value of at least one candidate broadband resource provider is compared against the load threshold one by one. If one or more candidate broadband resource providers have a load value less than 85%, it is determined that a candidate broadband resource provider meets the resource allocation criteria.

[0045] In another specific example, in order to maintain the latest load conditions of multiple candidate broadband resource provision devices, the candidate broadband resource provision devices calculate their own load values ​​according to a set period and report the load values ​​according to a set reporting period (for example, 1 minute). Specifically, when the candidate broadband resource provision device calculates that its own load value is equal to or greater than the set load threshold (85%), it is determined that its own load is heavy, and the load value can be forcibly set to 100% and reported to avoid selecting a candidate broadband resource provision device with a heavy load for resource allocation, which affects the user's call quality. When the candidate broadband resource provision device calculates that its own load value is less than the set load threshold (85%), the actual load value is directly reported.

[0046] After receiving a resource allocation request, the system first obtains the load values ​​of multiple candidate broadband resource provision devices. Furthermore, based on the load values, it calculates the residual load value of each candidate broadband resource provision device. Finally, the residual load values ​​of the multiple candidate broadband resource provision devices are summed. If the sum is greater than 0, it is determined that a candidate broadband resource provision device meets the resource allocation criteria. Otherwise, it is determined that no candidate broadband resource provision device meets the resource allocation criteria.

[0047] S220: If there are candidate broadband resource providing devices that meet the resource allocation condition, determine a target resource providing device from among the candidate broadband resource providing devices that meet the resource allocation condition.

[0048] In the disclosed embodiments, when candidate broadband resource providers meet resource allocation requirements, one of the candidate broadband resource providers can be selected as a target resource provider to execute the current resource allocation task. Prioritizing the target resource provider among the candidate broadband resource providers can reduce call data costs.

[0049] In a specific example, when there are candidate broadband resource providing devices that meet the resource allocation conditions, one of the candidate broadband resource providing devices that meet the resource allocation conditions is randomly selected as the target resource providing device.

[0050] In another specific example, when there are candidate broadband resource providing devices that meet the resource allocation conditions, the residual load value of each candidate broadband resource providing device that meets the resource allocation conditions can be calculated, and the candidate broadband resource providing device with the largest residual load value can be selected as the target resource providing device.

[0051] In another specific example, there are three candidate broadband resource provision devices A, B, and C that meet the resource allocation conditions, with load values ​​of 80%, 70%, and 60%, respectively. The remaining load values ​​of each candidate broadband resource provision device are calculated as 20%, 30%, and 40%, respectively. Furthermore, the sum of the remaining load values ​​of the three candidate broadband resource provision devices is 90%. Finally, a value is randomly selected from 1-90, and the value that falls within the interval associated with the candidate broadband resource provision device is selected as the target resource provision device. Among them, the interval corresponding to candidate broadband resource provision device A is 1-20, the interval corresponding to candidate broadband resource provision device B is 21-50, and the interval corresponding to candidate broadband resource provision device C is 51-90. It can be achieved that the candidate broadband resource provision device with a larger remaining load value has a greater probability of being selected as the target resource provision device.

[0052] Optionally, determining a target resource providing device from candidate broadband resource providing devices that meet the resource allocation condition includes:

[0053] Calculating the remaining load value of the candidate broadband resource providing device according to the load value of the candidate broadband resource providing device among the candidate broadband resource providing devices that meet the resource allocation conditions;

[0054] Determine the numerical range associated with the candidate broadband resource provision device based on the residual load value; the larger the residual load value of the candidate broadband resource provision device, the larger the span of the numerical range associated with the candidate broadband resource provision device, and the numerical ranges associated with any two candidate broadband resource provision devices do not overlap;

[0055] A value is randomly selected from a range of values ​​associated with at least one candidate broadband resource providing device, a target value range to which the value belongs is determined, and the candidate broadband resource providing device associated with the target value range is used as the target resource providing device.

[0056] In this optional embodiment, a specific method for determining a target resource providing device among candidate broadband resource providing devices that meet resource allocation conditions is provided: first, among the candidate broadband resource providing devices that meet resource allocation conditions, the residual load value of the candidate broadband resource providing device is calculated based on the load value of the candidate broadband resource providing device. Further, based on the residual load value, the numerical range associated with the candidate broadband resource providing device is determined, wherein the larger the residual load value of the candidate broadband resource providing device, the larger the span of the numerical range associated with the candidate broadband resource providing device, and the numerical ranges associated with any two candidate broadband resource providing devices do not overlap. Finally, within the numerical range associated with at least one candidate broadband resource providing device, a numerical value is randomly selected, and the target numerical range to which the numerical value belongs is determined, and finally the candidate broadband resource providing device corresponding to the target numerical range is used as the target resource providing device. Through the above selection method, on the one hand, the candidate broadband resource providing device with a larger remaining load value has a greater chance of being selected, thereby ensuring the user's call quality. On the other hand, compared with the method of directly selecting the device with the largest remaining load value as the target resource providing device, this solution can avoid causing instantaneous large concurrent impact on the device with a larger remaining load value (for example, a newly added candidate broadband resource providing device).

[0057] In a specific example, three candidate broadband resource provision devices A, B, and C that meet the resource allocation conditions have corresponding load values ​​of 80%, 70%, and 60%, respectively. The remaining load values ​​of each candidate broadband resource provision device are calculated as 20%, 30%, and 40%, respectively. Furthermore, based on the remaining load values, a numerical interval associated with the candidate broadband resource provision device is generated. For example, the numerical interval associated with the candidate broadband resource provision device A with a remaining load value of 20% includes 20 integers. Similarly, the numerical intervals associated with the candidate broadband resource provision devices B and C include 30 and 40 integers, respectively, and the three numerical intervals do not contain repeated values. Finally, a numerical value is randomly selected from the above three numerical intervals, and the candidate broadband resource provision device associated with the numerical interval to which the value belongs is used as the target resource provision device.

[0058] In another specific example, three candidate broadband resource provision devices A, B, and C that meet the resource allocation conditions have corresponding load values ​​of 80%, 70%, and 60%, respectively. The remaining load values ​​of each candidate broadband resource provision device are calculated to be 20%, 30%, and 40%, respectively. Furthermore, the sum of the remaining load values ​​of the three candidate broadband resource provision devices is 90%. Finally, a value is randomly selected from 1-90, and the value that falls within the interval associated with the candidate broadband resource provision device is selected as the target resource provision device. Among them, the interval corresponding to candidate broadband resource provision device A is 1-20, the interval corresponding to candidate broadband resource provision device B is 21-50, and the interval corresponding to candidate broadband resource provision device C is 51-90. The candidate broadband resource provision device with a larger remaining load value has a larger span of the numerical interval associated with it, and the candidate broadband resource provision device has a greater probability of being selected as the target resource provision device.

[0059] S230: If there is no candidate broadband resource providing device that meets the resource allocation conditions, determine whether there is a candidate traffic resource providing device that meets the resource allocation conditions based on the load value of the candidate traffic resource providing device.

[0060] In an embodiment of the present disclosure, when none of the candidate broadband resource providing devices meet the resource allocation conditions, it is determined whether the candidate traffic resource providing devices have sufficient media resources for resource allocation based on the load value of the candidate traffic resource providing devices. If so, the resource allocation conditions are met.

[0061] In a specific example, when none of the candidate broadband resource provisioning devices meet the resource allocation conditions, the load values ​​of multiple candidate traffic resource provisioning devices are first obtained and compared with a pre-set load threshold. For example, the load threshold is 85%. The load value of at least one candidate traffic resource provisioning device is compared with the load threshold one by one. If one or more candidate traffic resource provisioning devices have a load value less than 85%, it can be determined that a candidate traffic resource provisioning device meets the resource allocation conditions.

[0062] In another specific example, in order to maintain the latest load conditions of multiple candidate traffic resource providing devices, the candidate traffic resource providing devices calculate their own load values ​​according to a set period, and report the load values ​​according to a set reporting period (for example, 1 minute). Specifically, when the candidate traffic resource providing device calculates that its own load value is equal to or greater than the set load threshold (85%), it is determined that its own load is heavy, and the load value can be forcibly set to 100% and reported to avoid selecting a candidate traffic resource providing device with a heavy load for resource allocation, which affects the user's call quality. When the candidate traffic resource providing device calculates that its own load value is less than the set load threshold (85%), the actual load value is directly reported.

[0063] If no candidate broadband resource provider meets the resource allocation criteria, the system first obtains the load values ​​of multiple candidate traffic resource providers and then calculates the residual load value of each candidate traffic resource provider based on the load values. Finally, the residual load values ​​of the multiple candidate traffic resource providers are summed. If the sum is greater than 0, it is determined that a candidate traffic resource provider meets the resource allocation criteria. Otherwise, it is determined that no candidate traffic resource provider meets the resource allocation criteria.

[0064] S240: When there are candidate traffic resource providing devices that meet the resource allocation condition, determine a target resource providing device from among the candidate traffic resource providing devices that meet the resource allocation condition.

[0065] In the disclosed embodiments, when candidate traffic resource providers meet the resource allocation criteria, one of these candidate traffic resource providers can be selected as the target media resource provider to execute the current resource allocation task. Only when none of the candidate broadband resource providers meet the resource allocation criteria will the candidate traffic resource provider be selected as the target resource provider, thereby reducing the traffic cost of the call.

[0066] In a specific example, when there are candidate traffic resource providing devices that meet the resource allocation condition, one of the candidate traffic resource providing devices that meet the resource allocation condition is randomly selected as the target resource providing device.

[0067] In another specific example, when there are candidate traffic resource providing devices that meet the resource allocation conditions, the remaining load values ​​of each candidate traffic resource providing device that meets the resource allocation conditions can be calculated, and the candidate traffic resource providing device with the largest remaining load value can be selected as the target resource providing device.

[0068] In another specific example, there are three candidate traffic resource providing devices D, E and F that meet the resource allocation conditions, with load values ​​of 80%, 70% and 60% respectively. The remaining load values ​​of each candidate traffic resource providing device are calculated as 20%, 30% and 40% respectively. Furthermore, the sum of the remaining load values ​​of the three candidate traffic resource providing devices is 90%. Finally, a value is randomly selected from 1-90, and the value that falls within the interval associated with the candidate traffic resource providing device is selected as the target resource providing device. Among them, the interval corresponding to candidate traffic resource providing device A is 1-20, the interval corresponding to candidate traffic resource providing device B is 21-50, and the interval corresponding to candidate traffic resource providing device C is 51-90. It can be achieved that the candidate traffic resource providing device with a larger remaining load value has a greater probability of being selected as the target resource providing device.

[0069] S250: Forward the resource allocation request to the target resource providing device to instruct the target resource providing device to perform resource allocation according to the resource allocation request.

[0070] The technical solution of the embodiment of the present disclosure is as follows: in response to a resource allocation request, it is judged whether there is a candidate broadband resource providing device that meets the resource allocation conditions based on the load value of the candidate broadband resource providing device; if there is a candidate broadband resource providing device that meets the resource allocation conditions, the target resource providing device is determined among the candidate broadband resource providing devices that meet the resource allocation conditions; if there is no candidate broadband resource providing device that meets the resource allocation conditions, it is judged whether there is a candidate traffic resource providing device that meets the resource allocation conditions based on the load value of the candidate traffic resource providing device; if there is a candidate traffic resource providing device that meets the resource allocation conditions, the target resource providing device is determined among the candidate traffic resource providing devices that meet the resource allocation conditions; and finally the resource allocation request is forwarded to the target resource providing device to instruct the target resource providing device to perform resource allocation based on the resource allocation request. By preferentially selecting the target resource providing device among the candidate broadband resource providing devices, the call cost can be effectively controlled.

[0071] Figure 3 This is a schematic diagram of a resource allocation method in an embodiment of the present disclosure, which further refines the above embodiment and provides specific steps for determining a target resource providing device from among candidate resource providing devices in response to a resource allocation request based on the network type and load value of the candidate resource providing device. Figure 3 A resource allocation method provided in an embodiment of the present disclosure is described, including the following:

[0072] S310 : In response to a resource allocation request, determine whether the resource user identifier to be allocated is associated with a designated resource providing device according to the resource user identifier to be allocated included in the resource allocation request.

[0073] In the disclosed embodiment, after receiving a resource allocation request, the resource allocation request is parsed to obtain the identifier of the user to be allocated. Based on the identifier, a search is performed to determine whether the current user is associated with a designated resource provider in a pre-maintained list of user-designated resource providers. The list of designated resource providers stores the identifier of the user to be allocated and the identifier of the resource provider associated with the identifier.

[0074] S320: When the user identifier of the resource to be allocated is associated with a designated resource providing device, determine whether the designated resource providing device meets the resource allocation condition according to the load value of the designated resource providing device.

[0075] In an embodiment of the present disclosure, when a user identifier of a resource to be allocated is associated with a designated resource provider, a load value reported by the designated resource provider is obtained and compared with a preset load threshold to determine whether the designated resource provider meets the resource allocation conditions. For example, if the preset load threshold is 85%, and the load value reported by the designated resource provider is less than 85%, the designated resource provider is determined to meet the resource allocation conditions.

[0076] S330: If the designated resource providing device meets the resource allocation condition, determine the designated resource providing device as the target resource providing device.

[0077] In the embodiment of the present disclosure, when the designated resource providing device meets the resource allocation conditions, the designated resource providing device is directly determined as the target resource providing device, and resources are allocated to the current user to be allocated resources, which can meet the needs of the user to be allocated resources.

[0078] Of course, if the load value of the designated resource provider is large and does not meet the resource allocation conditions, a candidate broadband resource provider that meets the resource allocation conditions can be further selected from multiple candidate broadband resource providers as the target resource provider. If multiple candidate broadband resource providers do not meet the resource allocation conditions, a candidate traffic resource provider that meets the resource allocation conditions can be further selected from multiple candidate traffic resource providers as the target resource provider. This allows for flexible adjustments when the designated resource provider is unable to allocate resources, thereby increasing the user's call success rate.

[0079] S340: Forward the resource allocation request to the target resource providing device to instruct the target resource providing device to perform resource allocation according to the resource allocation request.

[0080] S350: Determine a device providing resources to be released based on the conference identifier included in the resource release request.

[0081] In the disclosed embodiment, when a user needs to exit a conference, a resource release request is sent. The resource release request includes the conference ID of the user and the user ID of the resources to be released. Based on the conference ID, the device providing the resources to be released and associated with the media resources used in the conference can be determined.

[0082] S360: Forward the resource release request to the device providing the resources to be released, so as to instruct the device providing the resources to be released to release the resources according to the resource release request.

[0083] After identifying the device providing the resources to be released, a resource release request is directly forwarded to the device providing the resources to be released, instructing the device to release the media resources occupied by the user identified in the resource release request. When a user in a conference needs to exit the conference, the media resources occupied by the user are released promptly to prevent the user from continuing to occupy the media resources of the resource provision device after exiting the conference, thereby avoiding wasting the media resources of the resource provision device.

[0084] The technical solution of the embodiment of the present disclosure is to respond to a resource allocation request, determine whether the user identifier of the resource to be allocated is associated with a designated resource providing device based on the user identifier of the resource to be allocated contained in the resource allocation request, and if the user identifier of the resource to be allocated is associated with the designated resource providing device, determine whether the designated resource providing device meets the resource allocation conditions based on the load value of the designated resource providing device, and if the designated resource providing device meets the resource allocation conditions, determine the designated resource providing device as the target resource providing device, and finally forward the resource allocation request to the target resource providing device to instruct the target resource providing device to perform resource allocation based on the resource allocation request. When the user exits the conference, the resource providing device to be released is determined based on the conference identifier contained in the resource release request, and the resource release request is forwarded to the resource providing device to be released to instruct the resource providing device to release resources based on the resource release request. When the designated resource providing device is unable to allocate resources, flexible adjustments can be made to improve the user's call success rate, and the user can be prevented from still occupying the media resources of the resource providing device after exiting the conference, thereby avoiding waste of media resources of the resource providing device.

[0085] Figure 4a This is a structural diagram of a resource allocation system provided according to an embodiment of the present disclosure. The media control server in the resource provision system can be used to execute the resource allocation method provided in the embodiment.

[0086] Specifically, the resource allocation system includes user terminals (terminal A and terminal B), an access server, a signaling server, a media control server, and a media server. The access server is connected to the user terminal in communication, and is used to upload information sent by the user terminal to the signaling server, or to send information sent by the signaling server to the user terminal. The signaling server is connected to the media server in communication, and is used to send a resource allocation request to the media control server when the user terminal needs to make a video or audio call, thereby instructing the media control server to forward the resource allocation request to the corresponding media server. The media control server is connected to at least one media server in communication, and is used to select a media server from the at least one currently connected media server after receiving the resource allocation request sent by the signaling server, and send a resource allocation request to the selected media server, instructing the media server to perform resource allocation. The media server, as a resource provision device, is connected to the media control server in communication, and is used to allocate media resources to the user terminal upon receiving the resource allocation request.

[0087] Introducing a media control server into the resource allocation system allows it to provide servers for media servers to select, reducing the pressure on signaling servers. For example, in a resource allocation system with 10 signaling servers and 600 media servers, each signaling server needs to manage 60 media servers, which puts a lot of pressure on the signaling servers. If 60 media control servers were introduced into the resource allocation system, each media control server could manage 10 media servers, while each signaling server would only need to manage 6 media control servers, reducing the pressure on the signaling servers.

[0088] When a user terminal needs to establish a voice or video call, it first initiates a call request to the signaling server through the access server. The call request includes the identifiers of the calling user terminal and the called user terminal. After receiving the call request from the calling user terminal, the signaling server forwards the call request to the called user terminal based on the called user terminal's identifier in the call request. After receiving the call request, the called user terminal sends a response to the signaling server through the access server, confirming its acceptance of the call request. After receiving the response, the signaling server sends a create conference request to the media server, instructing the media control server to create the conference. After the conference is created, the media control server sends a successful conference creation response to the signaling server, which includes the conference identifier. After receiving the successful conference creation response, the signaling server sends a resource allocation request to the media control server for the users associated with the current conference. This request instructs the media control server to select a target media server from among its associated media servers and send the resource allocation request to the target media server. A resource allocation request contains only the identifier of a single user terminal; that is, a resource allocation request is used to request media resources for a single user terminal.

[0089] Figure 4b This is a signaling diagram between a signaling server, a media control server, and a media server in a resource allocation system provided according to an embodiment of the present disclosure.

[0090] S410: When the signaling server obtains the user's request to establish a conference, it sends a request to create a conference to the media control server.

[0091] S420: The media control server creates a conference and sends a conference creation success response to the signaling server after the conference creation is completed.

[0092] S430: After receiving the conference creation success response, the signaling server sends resource allocation requests for at least two users in the conference to the media control server in sequence.

[0093] S440: The media control server determines a target media server in response to the resource allocation request and according to the network type and load value of the media server.

[0094] S450: The media control server sends a resource allocation request to the target media server.

[0095] S460: The target media server performs resource allocation according to the resource allocation request, and after completing the resource allocation, feeds back resource allocation information to the media control server.

[0096] S470: The media control server feeds back the received resource allocation information to the signaling server.

[0097] S480: When receiving the user's request to exit the conference, the signaling server sends a resource release request to the media control server.

[0098] S490: The media control server determines a media server to be released based on the resource release request.

[0099] S491: The media control server sends a resource release request to the media server to be released.

[0100] S492: The media server releases the resources and sends a resource release success response to the media control server after the resources are released successfully.

[0101] S493: The media control server feeds back a resource release success response to the signaling server.

[0102] S494: After detecting that the media resources of all users in the conference have been released, the signaling server sends a conference release request to the media control server.

[0103] S495: After releasing the conference, the media control server feeds back a conference release success response to the signaling server.

[0104] According to the technical solution of the embodiment of the present disclosure, the media control server responds to a resource allocation request, determines a target media server based on the network type and load value of the media server, and then forwards the resource allocation request to the target media server, thereby instructing the target media server to allocate resources based on the resource allocation request. The target media server is selected for resource allocation based on the network type and load value, thereby reducing call costs while taking into account the user's audio and video call quality.

[0105] According to an embodiment of the present disclosure, Figure 5 This is a block diagram of a resource allocation device in an embodiment of the present disclosure. This embodiment is applicable to resource provision devices that select and allocate resources based on network type and load. The device is implemented using software and / or hardware and is specifically configured in an electronic device with sufficient data processing capabilities.

[0106] like Figure 5 The resource allocation device 500 shown in FIG. 5 comprises: a target resource providing device determining module 510 and a resource allocation request sending module 520; wherein,

[0107] The target resource providing device determining module 510 is configured to determine a target resource providing device from the candidate resource providing devices based on the network type and load value of the candidate resource providing devices in response to a resource allocation request;

[0108] The resource allocation request sending module 520 is configured to forward the resource allocation request to the target resource providing device, and to instruct the target resource providing device to perform resource allocation according to the resource allocation request.

[0109] The technical solution of the embodiment of the present disclosure responds to a resource allocation request, determines a target resource providing device among the candidate resource providing devices based on the network type and load value of the candidate resource providing device, and then forwards the resource allocation request to the target resource providing device, so as to instruct the target resource providing device to perform resource allocation based on the resource allocation request, selects the target resource providing device for resource allocation based on the network type and load value, and reduces call costs while taking into account the user's audio and video call effects.

[0110] Furthermore, the network type includes a broadband network and a traffic data network; based on the network type, the candidate resource providing devices are divided into candidate broadband resource providing devices and candidate traffic resource providing devices;

[0111] The target resource providing device determination module 510 includes:

[0112] a first allocation condition judgment unit, configured to judge whether there is a candidate broadband resource providing device that meets the resource allocation condition based on the load value of the candidate broadband resource providing device;

[0113] The first target resource providing device determining unit is configured to determine a target resource providing device from among the candidate broadband resource providing devices that meet the resource allocation condition, if there are candidate broadband resource providing devices that meet the resource allocation condition.

[0114] Furthermore, the target resource providing device determining module 510 further includes:

[0115] The second allocation condition judgment unit is used to judge whether there is a candidate traffic resource providing device that meets the resource allocation condition according to the load value of the candidate traffic resource providing device when there is no candidate broadband resource providing device that meets the resource allocation condition;

[0116] The second target resource providing device determining unit is configured to determine a target resource providing device from among the candidate traffic resource providing devices that meet the resource allocation condition when there are candidate traffic resource providing devices that meet the resource allocation condition.

[0117] Furthermore, the target resource providing device determining module 510 further includes:

[0118] a designated resource providing device determining unit, configured to determine, based on the resource user identifier to be allocated included in the resource allocation request, whether the resource user identifier to be allocated is associated with a designated resource providing device;

[0119] a third allocation condition judgment unit, configured to determine whether the designated resource providing device meets the resource allocation condition according to the load value of the designated resource providing device when the user identifier of the resource to be allocated is associated with the designated resource providing device;

[0120] The third target resource providing device determining unit is configured to determine the designated resource providing device as the target resource providing device if the designated resource providing device meets the resource allocation condition.

[0121] Furthermore, the first target resource providing device determining unit is specifically configured to:

[0122] Calculating the remaining load value of the candidate broadband resource providing device according to the load value of the candidate broadband resource providing device among the candidate broadband resource providing devices that meet the resource allocation conditions;

[0123] Determining a numerical range associated with the candidate broadband resource providing device based on the residual load value; the larger the residual load value of the candidate broadband resource providing device, the larger the span of the numerical range associated with the candidate broadband resource providing device, and the numerical ranges associated with any two candidate broadband resource providing devices do not overlap;

[0124] A value is randomly selected within the value range associated with the at least one candidate broadband resource providing device, a target value range to which the value belongs is determined, and the candidate broadband resource providing device associated with the target value range is used as the target resource providing device.

[0125] Furthermore, the resource allocation apparatus 500 further includes:

[0126] A module for determining a device providing resources to be released, configured to determine a device providing resources to be released based on a conference identifier included in a resource release request;

[0127] The resource release request forwarding module is used to forward the resource release request to the device providing the resources to be released, so as to instruct the device providing the resources to be released to release the resources according to the resource release request.

[0128] The resource allocation device provided in the embodiments of the present disclosure can execute the resource allocation method provided in any embodiment of the present disclosure, and has the corresponding functional modules and beneficial effects of the execution method.

[0129] In the technical solutions disclosed herein, the collection, storage, use, processing, transmission, provision and disclosure of user personal information involved comply with the provisions of relevant laws and regulations and do not violate public order and good morals.

[0130] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium, and a computer program product.

[0131] Figure 6 A schematic block diagram of an example electronic device 600 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are provided as examples only and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0132] like Figure 6 As shown, the device 600 includes a computing unit 601, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 602 or a computer program loaded from a storage unit 608 into a random access memory (RAM) 603. Various programs and data required for the operation of the device 600 can also be stored in the RAM 603. The computing unit 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.

[0133] Various components in device 600 are connected to I / O interface 605, including an input unit 606, such as a keyboard, mouse, etc.; an output unit 607, such as various types of displays, speakers, etc.; a storage unit 608, such as a magnetic disk, optical disk, etc.; and a communication unit 609, such as a network card, modem, wireless communication transceiver, etc. The communication unit 609 allows device 600 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.

[0134] The computing unit 601 can be a variety of general-purpose and / or specialized processing components with processing and computing capabilities. Some examples of the computing unit 601 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units that run machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The computing unit 601 performs the various methods and processes described above, such as the resource allocation method. For example, in some embodiments, the resource allocation method can be implemented as a computer software program that is tangibly contained in a machine-readable medium, such as the storage unit 608. In some embodiments, part or all of the computer program can be loaded and / or installed on the device 600 via the ROM 602 and / or the communication unit 609. When the computer program is loaded into the RAM 603 and executed by the computing unit 601, one or more steps of the resource allocation method described above can be performed. Alternatively, in other embodiments, the computing unit 601 can be configured to perform the resource allocation method by any other appropriate means (e.g., by means of firmware).

[0135] Various embodiments of the systems and techniques described above can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), system-on-chip systems (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include being implemented in one or more computer programs that are executable and / or interpreted on a programmable system that includes at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0136] The program code for implementing the method of the present disclosure can be written in any combination of one or more programming languages. These program codes can be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device so that when the program code is executed by the processor or controller, the functions / operations specified in the flow chart and / or block diagram are implemented. The program code can be executed entirely on the machine, partially on the machine, as a stand-alone software package, partially on the machine and partially on a remote machine, or entirely on a remote machine or server.

[0137] In the context of the present disclosure, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in conjunction with an instruction execution system, device or equipment. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium can include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0138] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).

[0139] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), and the Internet.

[0140] A computer system may include a client and a server. The client and server are generally remote from each other and typically interact through a communication network. The client-server relationship arises through computer programs running on the respective computers and having a client-server relationship with each other. The server may be a cloud server, a server in a distributed system, or a server integrated with a blockchain.

[0141] It should be understood that the various forms of the processes shown above can be used to reorder, add, or delete steps. For example, the steps described in this disclosure can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved. This is not a limitation herein.

[0142] The above specific embodiments do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions may be made based on design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure shall be included within the scope of protection of this disclosure.

Claims

1. A resource allocation method, comprising: In response to the resource allocation request, determining a target resource providing device from the candidate resource providing devices according to the network type and load value of the candidate resource providing device; forwarding the resource allocation request to the target resource providing device to instruct the target resource providing device to perform resource allocation according to the resource allocation request; Wherein, the network type includes a broadband network and a traffic data network; based on the network type, the candidate resource providing device is divided into a candidate broadband resource providing device and a candidate traffic resource providing device; The step of determining a target resource providing device from the candidate resource providing devices based on the network type and load value of the candidate resource providing device includes: Determining whether there is a candidate broadband resource providing device that meets the resource allocation conditions based on the load value of the candidate broadband resource providing device; If there are candidate broadband resource providing devices that meet the resource allocation condition, determine the target resource providing device from the candidate broadband resource providing devices that meet the resource allocation condition; In the case that there is no candidate broadband resource providing device that meets the resource allocation conditions, judging whether there is a candidate traffic resource providing device that meets the resource allocation conditions based on the load value of the candidate traffic resource providing device; When there are candidate traffic resource providing devices that meet the resource allocation condition, a target resource providing device is determined from among the candidate traffic resource providing devices that meet the resource allocation condition.

2. The method according to claim 1, wherein The step of determining a target resource providing device from the candidate resource providing devices based on the network type and load value of the candidate resource providing device further includes: determining, based on the user identifier of the resource to be allocated included in the resource allocation request, whether the user identifier of the resource to be allocated is associated with a designated resource providing device; In a case where the resource to be allocated user identifier is associated with a designated resource providing device, determining whether the designated resource providing device meets the resource allocation condition according to a load value of the designated resource providing device; In a case where the designated resource-providing device meets the resource allocation condition, the designated resource-providing device is determined as the target resource-providing device.

3. The method according to claim 1, wherein The step of determining a target resource providing device from candidate broadband resource providing devices that meet resource allocation conditions includes: Calculating the remaining load value of the candidate broadband resource providing device according to the load value of the candidate broadband resource providing device among the candidate broadband resource providing devices that meet the resource allocation conditions; Determining a numerical range associated with the candidate broadband resource providing device based on the residual load value; the larger the residual load value of the candidate broadband resource providing device, the larger the span of the numerical range associated with the candidate broadband resource providing device, and the numerical ranges associated with any two candidate broadband resource providing devices do not overlap; A value is randomly selected from a range of values ​​associated with at least one candidate broadband resource providing device, a target value range to which the value belongs is determined, and the candidate broadband resource providing device associated with the target value range is used as the target resource providing device.

4. The method according to claim 1, further comprising: Determine the device providing the resources to be released based on the conference identifier included in the resource release request; The resource release request is forwarded to the device providing the resources to be released, so as to instruct the device providing the resources to be released to release the resources according to the resource release request.

5. A resource allocation device, comprising: a target resource providing device determining module, configured to determine a target resource providing device from the candidate resource providing devices in response to a resource allocation request and based on the network type and load value of the candidate resource providing devices; a resource allocation request sending module, configured to forward the resource allocation request to the target resource providing device, and to instruct the target resource providing device to perform resource allocation according to the resource allocation request; Wherein, the network type includes a broadband network and a traffic data network; based on the network type, the candidate resource providing device is divided into a candidate broadband resource providing device and a candidate traffic resource providing device; The target resource providing device determination module includes: a first allocation condition judgment unit, configured to judge whether there is a candidate broadband resource providing device that meets the resource allocation condition based on the load value of the candidate broadband resource providing device; a first target resource providing device determining unit, configured to determine a target resource providing device from among the candidate broadband resource providing devices that meet the resource allocation condition, if there are candidate broadband resource providing devices that meet the resource allocation condition; The second allocation condition judgment unit is used to judge whether there is a candidate traffic resource providing device that meets the resource allocation condition according to the load value of the candidate traffic resource providing device when there is no candidate broadband resource providing device that meets the resource allocation condition; The second target resource providing device determining unit is configured to determine a target resource providing device from among the candidate traffic resource providing devices that meet the resource allocation condition when there are candidate traffic resource providing devices that meet the resource allocation condition.

6. The device according to claim 5, wherein The target resource providing device determination module further includes: a designated resource providing device determining unit, configured to determine, based on the resource user identifier to be allocated included in the resource allocation request, whether the resource user identifier to be allocated is associated with a designated resource providing device; a third allocation condition judgment unit, configured to determine whether the designated resource providing device meets the resource allocation condition according to the load value of the designated resource providing device when the user identifier of the resource to be allocated is associated with the designated resource providing device; The third target resource providing device determining unit is configured to determine the designated resource providing device as the target resource providing device if the designated resource providing device meets the resource allocation condition.

7. The device according to claim 5, wherein The first target resource providing device determining unit is specifically configured to: Calculating the remaining load value of the candidate broadband resource providing device according to the load value of the candidate broadband resource providing device among the candidate broadband resource providing devices that meet the resource allocation conditions; Determining a numerical range associated with a candidate broadband resource providing device based on the remaining load value; The larger the remaining load value of a candidate broadband resource provision device, the larger the span of the numerical range associated with the candidate broadband resource provision device, and the numerical ranges associated with any two candidate broadband resource provision devices do not overlap; A value is randomly selected from a range of values ​​associated with at least one candidate broadband resource providing device, a target value range to which the value belongs is determined, and the candidate broadband resource providing device associated with the target value range is used as the target resource providing device.

8. The apparatus according to claim 5, further comprising: A module for determining a device providing resources to be released, configured to determine a device providing resources to be released based on a conference identifier included in a resource release request; The resource release request forwarding module is used to forward the resource release request to the device providing the resources to be released, so as to instruct the device providing the resources to be released to release the resources according to the resource release request.

9. An electronic device comprising: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor. The instructions are executed by the at least one processor to enable the at least one processor to perform the resource allocation method according to any one of claims 1 to 4.

10. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to enable the computer to execute the resource allocation method according to any one of claims 1 to 4.

11. A computer program product comprising a computer program / instruction, which, when executed by a processor, implements the resource allocation method according to any one of claims 1 to 4.

Citation Information

Patent Citations

  • Resource allocation method, device and system, equipment and medium

    CN110858161A