Service resource allocation method, electronic device, storage medium and product
By dynamically allocating service resources based on the remaining number of registrable instances and historical traffic information in the service area, the problem of resource utilization imbalance in different regions of the server is solved, and the overall resource utilization efficiency is improved.
Patent Information
- Application Number
- CN202610245869.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-03-02
- Publication Date
- 2026-05-26
AI Technical Summary
In existing technologies, service resource management is independent and not interconnected between different service areas on the server side, resulting in an imbalance in resource utilization and reducing overall utilization efficiency.
By responding to the service resource allocation request of the terminal device, sorting according to the remaining number of registrable instances in the service area, determining the target service area, and selecting the target server cluster based on historical traffic information, service resources are allocated to the terminal device.
This achieved a balance in the load of service resources across different service areas, improved overall resource utilization efficiency, and solved the problem of uneven resource allocation.
Smart Images

Figure CN122093395A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to a method for allocating service resources, electronic devices, storage media, and products. Background Technology
[0002] With the rapid development of smart terminal technology, various terminal applications are becoming increasingly abundant. Smart terminals have transformed from single-function devices into comprehensive intelligent interactive carriers integrating functions such as entertainment interaction, office collaboration, information query, and health monitoring. The number of applications and the level of intelligence have become important indicators for users to evaluate smart terminals. However, limited by the storage space and computing resources of terminal hardware, a large number of applications cannot be installed locally at the same time, and high-load applications such as large games are prone to lag when running on the terminal. Therefore, cloud services have become an inevitable trend to overcome the bottleneck of terminal hardware.
[0003] In related technologies, service resources in different service areas of the server are often managed independently and are not interconnected. In the process of migrating services to the cloud, the existing service resource allocation schemes are prone to causing an imbalance in the utilization of server resources in different service areas, thereby reducing the overall utilization efficiency of server resources. Summary of the Invention
[0004] In view of this, one of the objectives of this application is to provide a method, electronic device, storage medium and product for allocating service resources, which can balance the server resource load of each service area as a whole and improve the overall utilization efficiency of server resources.
[0005] To achieve the above objectives, the technical solution of this application is implemented as follows: In a first aspect, embodiments of this application provide a method for allocating service resources, applied to a server comprising at least two service areas, each service area containing N server clusters, where N is a natural number greater than 0, the method comprising: In response to receiving a service resource allocation request from a terminal device, a target service region is determined based on the regional sorting results of at least two service regions; the regional sorting results are generated by sorting at least two service regions based on the remaining number of registrable instances in the at least two service regions. If there is no preset server cluster among the N server clusters included in each service area, the target server cluster is determined from the N server clusters included in the target service area based on the historical traffic information corresponding to each server cluster in the N server clusters included in the target service area; wherein, the preset server cluster is a server cluster whose load is less than or equal to a preset load threshold. The target server cluster is controlled to allocate service resources to terminal devices based on service resource allocation requests.
[0006] In one possible implementation, determining the target server cluster from N server clusters encompassed by the target service area includes: The target server clusters in the target service area are determined based on the cluster ranking results of the N server clusters included in the target service area; wherein, the cluster ranking results are determined based on the historical traffic information corresponding to each of the N server clusters.
[0007] In one possible implementation, the target service area is a service area in at least two service areas where the number of remaining registerable instances is greater than or equal to a first instance threshold. And / or, Historical traffic information is determined based on at least one of the maximum concurrent streaming volume and the average concurrent streaming volume of the corresponding server cluster during the historical period.
[0008] In one possible implementation, in response to receiving a service resource allocation request from a terminal device, after determining the target service area based on the regional sorting results of at least two service areas, the method further includes: If a preset server cluster exists among the N server clusters contained in each service area, the preset server cluster is controlled to allocate service resources to the terminal device according to the resource allocation request.
[0009] In one possible implementation, before determining the target service area based on the regional sorting results of at least two service areas, the method further includes: The following processing is performed on each service region to obtain the remaining number of registerable instances for each service region: determine the upper limit of the number of registerable instances and the number of registered instances for each service region; determine the remaining number of registerable instances for each service region based on the upper limit of the number of registerable instances and the number of registered instances for each service region. The service regions are sorted based on the number of remaining registrable instances in each service region to obtain the region sorting results.
[0010] In one possible implementation, determining the remaining number of registerable instances in a service region based on the service region's maximum number of registerable instances and the number of registered instances includes: The resource procurement quota for the service area is determined based on the resource procurement quotas of N server clusters in the service area. The maximum number of instances that can be registered in a service area is determined based on the resource procurement quota of that service area.
[0011] In one possible implementation, determining the upper limit of the number of registerable instances in a service region based on the resource procurement quota of the service region includes: In response to the service area being of the first preset type, the upper limit of the number of registered instances in the service area is determined based on the preset security ratio, preset instance ratio, and resource procurement quota of the service area. In response to the service area being of the second preset type, the upper limit of the concurrency ratio is determined based on the historical traffic information of the service area and the number of registered instances in the service area; the upper limit of the number of registered instances in the service area is determined based on the upper limit of the concurrency ratio, the preset security ratio, and the resource procurement quota of the service area; wherein, the historical traffic information of the service area is determined based on the historical traffic information of each server cluster in the N server clusters in the service area.
[0012] In one possible implementation, before determining the maximum number of registerable instances for a service region based on the service region's resource procurement quota, the method further includes: If the historical traffic information and the number of registered instances in the service area are both at the second instance threshold, the service area type of the service area is determined to be the first service area type; if at least one of the historical push concurrency and the number of registered instances in the service area is not at the second instance threshold, the service area type of the service area is determined to be the second service area type. And / or, Determine the number of registered users in the service area; if the number of registered users is less than a preset threshold, determine the service area type as the first service area type; if the number of registered users is greater than or equal to the preset threshold, determine the service area type as the second service area type.
[0013] In one possible implementation, determining the remaining number of registerable instances in a service region based on the service region's maximum number of registerable instances and the number of registered instances includes: For each service region, the maximum number of instances that can be created in the service region is determined based on the preset security ratio, preset instance allocation, and resource procurement quota of the service region. The maximum number of instances that can be registered in a service region is adjusted based on the maximum number of instances that can be created in that service region. The remaining number of registrable instances in the service area is determined based on the number of registered instances and the revised upper limit of the number of registrable instances.
[0014] Secondly, embodiments of this application provide an electronic device, which includes a memory and a processor. The memory stores a computer program, and when the computer program is executed by the processor, it implements the method provided in the first aspect.
[0015] Thirdly, embodiments of this application provide a computer-readable storage medium storing a computer program, which, when executed by one or more processors, implements the method provided in the first aspect.
[0016] Fourthly, embodiments of this application provide a computer program product, which includes a computer program that, when executed by one or more processors, implements the method provided in the first aspect.
[0017] The service resource allocation method provided in this application can be applied to a server comprising at least two service regions, each containing N server clusters. In response to a service resource allocation request sent by a terminal device, a target service region is determined based on the region sorting result of the at least two service regions. This region sorting result is generated by sorting the at least two service regions according to the remaining number of registrable instances. Subsequently, if no preset server cluster exists among the N server clusters in each service region, a target server cluster is determined from the N server clusters in the target service region based on the historical traffic information corresponding to each server cluster. Finally, the target server cluster can be controlled to allocate service resources to the terminal device according to the service resource allocation request. By determining and prioritizing the use of service resources in idle target server clusters, this application can balance the service resource load across service regions, thereby improving the overall utilization efficiency of service resources. Attached Figure Description
[0018] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. It should be understood that the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0019] The attached diagram is described below: Figure 1 One of the flowcharts illustrating a method for allocating service resources provided in this application embodiment; Figure 2 A second schematic flowchart illustrating a method for allocating service resources provided in an embodiment of this application; Figure 3 A schematic diagram of the functional modules of a service resource allocation system provided in an embodiment of this application; Figure 4 This is a schematic diagram of the hardware structure of an electronic device provided in an embodiment of this application.
[0020] Explanation of reference numerals in the attached figures: 300. Service resource allocation system; 310. Response module; 320. Determine the module; 330. Control module; 401. Processor; 402. Memory; 403. Communication interface; 410. Bus. Detailed Implementation
[0021] The features and exemplary embodiments of various aspects of this application will be described in detail below. To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain this application and not to limit it. For those skilled in the art, this application can be implemented without some of these specific details. The following description of the embodiments is merely to provide a better understanding of this application by illustrating examples.
[0022] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus that includes said element.
[0023] With the rapid development of smart terminal technology, various terminal applications are becoming increasingly diverse. Smart terminals have transformed from single-function devices into comprehensive intelligent interactive carriers that integrate functions such as entertainment interaction, office collaboration, information query, and health monitoring. The number of applications and the degree of intelligence have become important indicators for users to evaluate smart terminals.
[0024] However, due to limitations in storage space and computing resources of terminal hardware, a large number of applications cannot be installed locally at the same time, and high-load applications such as large games are prone to lag when running on the terminal. Therefore, moving services to the cloud has become an inevitable trend to break through the bottleneck of terminal hardware.
[0025] In related technologies, service resources in different service areas on the server side are often managed independently and are not interconnected. In the process of migrating services to the cloud, the existing service resource allocation schemes are prone to causing an imbalance in the utilization rate of service resources in different service areas, thereby reducing the overall utilization efficiency of service resources.
[0026] Taking the connected vehicle field as an example, more and more automakers are focusing on developing in-vehicle applications. These applications are becoming increasingly diverse, and in-vehicle systems are no longer simply driver assistance terminals, but are gradually evolving into intelligent "third spaces" integrating functions such as navigation, entertainment, collaborative work, and health monitoring. It is foreseeable that the development of an in-vehicle application ecosystem will become a core differentiator for automakers. The availability of more, richer, and smarter in-vehicle applications is also gradually becoming an important indicator in users' vehicle evaluation systems. However, limited by the storage space and computing resources of in-vehicle hardware, on the one hand, a massive number of applications cannot be installed locally simultaneously. For example, the local storage space of in-vehicle systems is limited by the size and power consumption design of the in-vehicle terminal, typically ranging from 32GB to 256GB, making it difficult to accommodate a large number of third-party applications (such as a single high-definition in-vehicle navigation map which can occupy more than 20GB of space). This forces users to frequently uninstall old applications to install new ones. On the other hand, the computing power allocation of automotive chips typically prioritizes driving safety-related functions (such as driver assistance systems and vehicle control systems), leaving limited computing power redundancy for entertainment and office applications. When running high-load scenarios such as large-scale in-vehicle games, AR real-view navigation, and multi-device collaborative screen projection, frame rate fluctuations, operation delays, and other stuttering issues are prone to occur. These problems will seriously affect the user's application experience.
[0027] To overcome the hardware bottleneck of storage space and computing resources in vehicle-mounted hardware, cloud-based vehicle services have become an industry consensus. This involves migrating the storage resources and computing tasks of vehicle-mounted applications to the server side, such as cloud servers. This not only breaks through the local hardware limitations of the vehicle-mounted system but also allows for dynamic expansion in the cloud to meet the concurrent needs of multiple users.
[0028] Furthermore, as mentioned in the aforementioned technologies, "service resources in different service areas on the server side are often managed independently and are not interconnected." Specifically, this manifests in the fact that cloud nodes in different regions and with different functional attributes often adopt an independent resource pool management model. Service resources in different service areas are not interconnected, the scheduling links for service resources are not interoperable, and service resource allocation or scheduling schemes often rely on static threshold rules (such as allocating initial resources to each service area according to a fixed ratio) or load triggering in a single service area (such as initiating expansion when the load of a certain service area exceeds a preset ratio). There is a lack of dynamic coordination capabilities for service resource allocation across service areas. Therefore, in the process of implementing service migration to the cloud, existing service resource allocation schemes lack the ability to dynamically coordinate service resource allocation across service areas, easily leading to imbalances in resource utilization across service areas and severely impacting the overall utilization efficiency of service resources.
[0029] Based on this, embodiments of this application provide a service resource allocation method, an electronic device, a computer-readable storage medium, and a computer program product. Taking the service resource allocation method as an example, it can be applied to a server comprising at least two service regions, each service region containing N server clusters. In response to receiving a service resource allocation request from a terminal device, a target service region is determined based on the region sorting result of the at least two service regions. This region sorting result is generated by sorting the at least two service regions according to the remaining number of registerable instances in each service region. Subsequently, if no preset server cluster exists among the N server clusters contained in each service region, a target server cluster is determined from the N server clusters contained in the target service region based on the historical traffic information corresponding to each server cluster in the target service region. Finally, the target server cluster can be controlled to allocate service resources to the terminal device according to the service resource allocation request. By determining and prioritizing the use of service resources in idle target server clusters, embodiments of this application can balance the service resource load of each server region overall, thereby improving the overall utilization efficiency of service resources.
[0030] It should be noted that in all specific embodiments of this application, when processing data related to user identity or characteristics, such as user information, user behavior data, user historical data, and user location information, user permission or consent is obtained first. Furthermore, the collection, use, and processing of this data comply with relevant laws, regulations, and standards. In addition, when embodiments of this application require access to sensitive personal information of users, separate permission or consent from the user is obtained through pop-ups or redirection to confirmation pages. Only after obtaining the user's separate permission or consent is the necessary user-related data required for the proper functioning of these embodiments acquired.
[0031] The following section first introduces the method for allocating service resources provided in the embodiments of this application.
[0032] Please see Figure 1 , Figure 1 This is one of the flowcharts illustrating a service resource allocation method provided in an embodiment of this application, such as... Figure 1 The method shown can be applied to servers comprising at least two service regions, each service region containing N server clusters, where N is a natural number greater than 0, and the server cluster is the basic computing unit of the corresponding service region. For example... Figure 1 The method shown can be performed by a service resource allocation system or electronic device as described in the following embodiments.
[0033] The aforementioned electronic devices may include personal computers, servers, mobile devices, supercomputers, etc.
[0034] like Figure 1 The method shown specifically includes the following steps 110 to 130.
[0035] Step 110: In response to receiving a service resource allocation request from a terminal device, determine the target service region based on the regional sorting results of at least two service regions; the regional sorting results are generated by sorting at least two service regions based on the remaining number of registrable instances in the at least two service regions.
[0036] The aforementioned terminal devices can refer to the devices that initiate service resource allocation requests, and are also client devices relative to the server. For example, vehicles equipped with vehicle-to-everything (V2X) systems, or intelligent terminals within vehicles used to run cloud applications.
[0037] In some embodiments, if the terminal device is a vehicle equipped with a vehicle-to-everything (V2X) system, the vehicle can be a private car, such as a sedan, SUV, MPV, or pickup truck. The vehicle can also be a commercial vehicle, such as a van, bus, small truck, or large semi-trailer. The vehicle can be a gasoline-powered vehicle or a new energy vehicle. When the vehicle is a new energy vehicle, it can be a hybrid vehicle or a pure electric vehicle.
[0038] The aforementioned service resource allocation request is an instruction signal sent by the terminal device to the server, requesting the creation or use of service resources.
[0039] For example, when a user clicks to launch a large cloud game on the vehicle's infotainment system, the system sends a resource allocation request to the server, requesting the server to allocate an instance capable of running the large cloud game.
[0040] The aforementioned service area refers to the physical area where the server provides service resources. In some embodiments, the service area can also be specifically described by the data centers located within it. A data center can represent a physical service point provided by the server within the corresponding service area. For example, if service area 001 is configured with only data center A, the remaining number of registrable instances in service area 001 can be represented by the remaining number of registrable instances in data center A.
[0041] For the sake of consistency, the term "service area" will be used in the description of the embodiments in this application.
[0042] The above regional sorting result refers to an ordered list generated after arranging all service regions under the server's jurisdiction according to specific rules. These specific rules can be formulated based on the remaining number of registerable instances in each service region.
[0043] The aforementioned remaining number of registrable instances can also be referred to as the "remaining number of registrable instances in the service area," which can be used to characterize the idle resources of the corresponding service area.
[0044] In some embodiments, the electronic device may sort the service regions in descending order based on the number of remaining registerable instances in each service region, thus obtaining a region sorting result. In this way, the service regions that rank higher in the region sorting result have more idle resources, and the corresponding target service region is the service region ranked higher.
[0045] In some embodiments, the region ranking result can be obtained by an electronic device arranging the service regions in ascending order according to the remaining number of registerable instances in each service region. Thus, service regions ranked later in the region ranking result have more free resources, and the corresponding target service region is the service region ranked later.
[0046] This application does not impose specific limitations on the sorting method for each service area; the appropriate sorting method can be selected according to actual needs.
[0047] In some embodiments, if the region sorting result is sorted in descending order of the number of remaining registerable instances in each service region, the target service region can be the service region ranked first in the region sorting result.
[0048] For example, if the server includes service area 001 (with 5000 remaining registered instances), service area 002 (with 200 remaining registered instances), and service area 003 (with 1000 remaining registered instances), the user needs to enable the cloud gaming application through the terminal device and send a resource allocation request to the server through the terminal device. The electronic device can determine service area 001 as the target service area from the area sorting results (service area 001; service area 003; service area 002).
[0049] In some embodiments, the electronic device can obtain the remaining number of registerable instances in each service region at preset time intervals, and sort the service regions according to the remaining number of registerable instances in each service region to obtain a region sorting result. In this way, a rapid response to resource allocation requests can be achieved based on the pre-obtained region sorting result.
[0050] This embodiment does not specifically limit the preset time interval. For example, the preset time interval is 0 minutes. Or, for example, the preset time interval is 30 minutes. Or, for example, the preset time interval is 3 hours.
[0051] In some embodiments, the regional ranking result can be obtained by an electronic device upon receiving a service resource allocation request from a terminal device, by acquiring the remaining number of registerable instances in each service region, and then ranking the service regions according to the remaining number of registerable instances in each service region. In this way, a regional ranking result corresponding to the resource allocation request in real time can be obtained.
[0052] In some embodiments, in response to receiving a service resource allocation request from a terminal device, determining a target service region based on the region sorting results of at least two service regions includes: Determine the priority of service resource requests corresponding to service resource allocation requests; Based on the priority of service resource demand, the target service area is determined from the regional ranking results of at least two service areas.
[0053] The above service resource demand priority can be used to characterize the importance of service resource allocation requests.
[0054] For example: The terminal device has the highest priority for the service resource requirements corresponding to the navigation application. The electronic device can determine service area 001 as the target service area from the area sorting results (service area 001; service area 003; service area 002). The service resource requirements of the terminal device for enabling cloud gaming are prioritized as the second priority. The electronic device can determine service area 003 as the target service area from the regional sorting results (service area 001; service area 003; service area 002).
[0055] Thus, when the terminal device needs to enable core vehicle functions such as navigation and assisted driving, the electronic device can respond to the corresponding service resource allocation request and quickly determine service area 001 as the target service area, so as to use the service area 001 with abundant idle resources to serve the core functions of the vehicle.
[0056] In some embodiments, in response to receiving a resource allocation request sent by a terminal device, determining a target service area based on the regional sorting results of the plurality of service areas includes: Determine the priority of the service resource allocation request corresponding to the service resource demand, and the status information of the terminal device; Based on the priority of service resource demand and the status information of terminal devices, the target service area is determined from the regional ranking results of at least two service areas.
[0057] In some embodiments, if the terminal device is a vehicle, the status information of the terminal device can be used to characterize the driving status of the vehicle.
[0058] For example: When the vehicle is stationary, its service resource requirements for cloud gaming are prioritized as the second priority. The electronic device can determine service area 001 as the target service area from the region sorting results (service area 001; service area 003; service area 002). This allows service area 001, with its abundant idle resources, to be used for cloud gaming, improving the user experience. When the vehicle's driving and loading status indicates that the vehicle is in a driving state, the resource requirement priority for enabling cloud gaming is the second priority. The electronic device can determine service area 002 as the target service area from the regional sorting results (service area 001; service area 003; service area 002).
[0059] In one possible implementation, the target service area is a service area in which the number of remaining registerable instances is greater than or equal to a first instance threshold in at least two service areas. This embodiment does not specifically limit the first instance threshold; it can be set according to actual needs.
[0060] Step 120: If there is no preset server cluster among the N server clusters included in each service area, determine the target server cluster from the N server clusters included in the target service area based on the historical traffic information corresponding to each server cluster in the N server clusters included in the target service area; wherein, the preset server cluster is a server cluster whose load is less than or equal to a preset load threshold.
[0061] The preset server cluster is a server cluster whose load is less than or equal to a preset load threshold. This can indicate that the preset server cluster is in a low-load state or a newly launched cluster, and can be regarded as a new cluster. The low-load state is determined based on the preset load threshold and the load of the server cluster. This embodiment does not specify a specific limit on the preset load threshold, and the value can be selected according to actual needs.
[0062] In this embodiment of the application, if there is no preset server cluster among all server clusters, the target server cluster can be determined based on the historical traffic information of N server clusters in the target service area.
[0063] Specifically: In one possible implementation, determining the target server cluster from N server clusters encompassed by the target service area includes: The target server clusters in the target service area are determined based on the cluster ranking results of the N server clusters included in the target service area; wherein, the cluster ranking results are determined based on the historical traffic information corresponding to each of the N server clusters.
[0064] Please see Figure 2 , Figure 2 This is a second flowchart illustrating a method for allocating service resources as provided in an embodiment of this application.
[0065] In one possible implementation, in response to receiving a service resource allocation request sent by a terminal device, after determining the target service area based on the regional sorting results of at least two service areas, the method further includes step 210.
[0066] Step 210: If a preset server cluster exists among the N server clusters included in each service area, control the preset server cluster to allocate service resources to the terminal device according to the resource allocation request.
[0067] In this embodiment, by prioritizing the use of a preset server cluster, i.e., a new server cluster (i.e., controlling the preset server cluster to allocate service resources to terminal devices according to resource allocation requests), not only can the response speed of service resources be improved, ensuring that the new server cluster can quickly handle the request services corresponding to the service resource allocation requests, but it can also avoid the problem of new service resources being idle and old service resources being overloaded due to algorithm deviations. This achieves a balance in the full lifecycle management of service resources and improves the overall utilization efficiency of service resources. Even if there is no new server cluster in all service areas, the target server cluster with more idle service resources can be prioritized based on the generated region sorting results and the cluster sorting results corresponding to the target service area, similarly improving the overall utilization efficiency of service resources.
[0068] The historical traffic information mentioned above can be used to characterize the historical load pressure of the cluster.
[0069] In some embodiments, historical traffic information is confirmed based on at least one of the maximum concurrent streaming volume and the average concurrent streaming volume of the corresponding server cluster during a historical period.
[0070] This embodiment does not specifically limit the historical time period. For example, the historical time period can be 7 days before the target time; or, for example, the historical time period can be 1 day before the target time. The target time can be the time when the terminal device sends the service resource allocation request.
[0071] For example, taking the previous day (yesterday) as the target time period in history, the above maximum concurrent push volume can be the upper limit of the concurrent push volume of the corresponding server cluster yesterday (also known as the maximum concurrent push volume of yesterday).
[0072] Taking the previous day (yesterday) as the target time as an example, the above average push concurrent volume is the average of yesterday's push concurrent volume.
[0073] The term "pushing concurrency" in the context of maximum and average pushing concurrency refers to the number of pushing tasks that were initiated and successfully connected to the server during a historical period.
[0074] The method for determining the above cluster sorting results can refer to the description of the regional sorting results in the foregoing embodiments. The only difference is that the parameters used for sorting are different, which will not be repeated here.
[0075] In some embodiments, cluster sorting results and region sorting results can be generated simultaneously.
[0076] For example, while generating the regional sorting results (service region 001; service region 003; service region 002), the cluster sorting results (server cluster A1; server cluster A2; server cluster A3) corresponding to service region 001, the cluster sorting results (server cluster B1; server cluster B2; server cluster B3) corresponding to service region B, and the cluster sorting results (server cluster C1; server cluster C2; server cluster C3) corresponding to service region C are also generated.
[0077] In some embodiments, the region sorting results corresponding to all service regions can be generated first, and then the corresponding cluster sorting results can be generated for the target service region in the region sorting results. It is not necessary to generate the cluster sorting results corresponding to each service region in all service regions, so as to reduce the redundant consumption of computing resources on the electronic device and reduce the memory resource occupation of generating redundant data.
[0078] For example, the region sorting results (service region 001; service region 003; service region 002) can be generated first, and then the corresponding cluster sorting results (cluster A1; cluster A2; cluster A3) can be determined for the target service region 001.
[0079] In some embodiments, the method further includes: Determine the triggering method for generating the regional sorting results for at least two service areas; Based on the generation trigger mode, determine the generation method of the cluster sorting results corresponding to each service area.
[0080] For example: When the generation triggering method includes a time interval that meets the preset time interval, the electronic device can generate the cluster sorting result corresponding to each cluster; wherein, the preset time interval is greater than 0 seconds.
[0081] When the generation triggering method includes real-time generation or receiving a resource allocation request, the electronic device can generate the corresponding cluster sorting result only for the target service region in the service region sorting result.
[0082] Step 130: Control the target server cluster to allocate service resources to the terminal device according to the service resource allocation request.
[0083] Once the target server cluster is identified, the electronic device can control the target server cluster to allocate service resources to the terminal device according to the service resource allocation request. Specifically, the allocation of service resources can be achieved by controlling the target server cluster through a cluster controller.
[0084] Taking the example of enabling cloud gaming applications on a terminal device, the cluster controller controls the target server cluster to allocate computing resources such as CPU and memory on physical nodes; then, according to the application type in the service resource allocation request, the corresponding image is pulled, a virtual machine or container is created and started, the game environment corresponding to the cloud game is loaded through the virtual machine or container, and the game process is started; finally, a virtual access IP address is assigned to the game instance and sent to the terminal device.
[0085] After obtaining the virtual access IP address, the terminal device can establish a connection with the game instance on the server through the cloud rendering protocol, and receive the real-time screen and audio streams transmitted back by the server. The user's operation commands for cloud gaming applications on the terminal device can be transmitted to the game instance in the target server cluster through the network, and the game screen and audio stream are updated in real time and transmitted back to the terminal device.
[0086] The service resource allocation method provided in this application can be applied to a server comprising at least two service regions, each containing N server clusters. In response to a service resource allocation request sent by a terminal device, a target service region is determined based on the region sorting result of the at least two service regions. This region sorting result is generated by sorting the at least two service regions according to the remaining number of registrable instances. Subsequently, if no preset server cluster exists among the N server clusters in each service region, a target server cluster is determined from the N server clusters in the target service region based on the historical traffic information corresponding to each server cluster. Finally, the target server cluster can be controlled to allocate service resources to the terminal device according to the service resource allocation request. By determining and prioritizing the use of service resources in idle target server clusters, this application can balance the service resource load across service regions, thereby improving the overall utilization efficiency of service resources.
[0087] In one possible implementation, before determining the target service area based on the regional sorting results of at least two service areas, the method further includes: The following processing is performed on each service region to obtain the remaining number of registerable instances for each service region: determine the upper limit of the number of registerable instances and the number of registered instances for each service region; determine the remaining number of registerable instances for each service region based on the upper limit of the number of registerable instances and the number of registered instances for each service region. The service regions are sorted based on the number of remaining registrable instances in each service region to obtain the region sorting results.
[0088] The maximum number of registerable instances in the aforementioned service area refers to the maximum number of instances allowed to register in the service area while ensuring its stable operation. It's important to note that the maximum number of registerable instances in a service area is not a physical hardware limit, but rather a number determined by comprehensively considering various factors, such as security redundancy strategies, to prevent overload from sudden traffic spikes.
[0089] The number of registered instances in the aforementioned service area refers to the number of instances that have been registered in the service area when the region sorting results need to be generated, and can be used to characterize the load level of the service area.
[0090] In some embodiments, the number of registered instances in a service region is the sum of the number of registered instances in all server clusters within that service region.
[0091] In some embodiments, determining the remaining number of registerable instances in a service region based on the service region's maximum number of registerable instances and the number of registered instances includes: The difference between the maximum number of registerable instances in a service area and the number of registered instances is determined as the remaining number of registerable instances in the service area.
[0092] In this embodiment, by introducing a calculation based on the difference between the maximum number of registerable instances and the number of registered instances, the actual idle service resources of each service region can be accurately quantified. The ranking of service regions no longer depends on the static total hardware resources, but is based on dynamic, available idle service resources. In this way, service resource allocation requests can be directed to the service region with the largest number of idle service resources, thereby avoiding the allocation of service resource allocation requests to service regions that are close to saturation, and achieving maximum utilization and dynamic balancing of service resources.
[0093] In one possible implementation, determining the remaining number of registerable instances in a service region based on the service region's maximum number of registerable instances and the number of registered instances includes: The resource procurement quota for the service area is determined based on the resource procurement quotas of N server clusters in the service area. The maximum number of instances that can be registered in a service area is determined based on the resource procurement quota of that service area.
[0094] The resource procurement quota of the aforementioned server cluster may refer to the total amount of hardware resources or hardware procurement quota actually owned by the basic computing unit of the service area, namely the server cluster. For example, it may include at least one of the following: number of CPU cores, number of GPU cards, memory size, and network bandwidth.
[0095] In some embodiments, the resource procurement quota for a service area is the sum of the resource procurement quotas of all server clusters in that service area.
[0096] In this embodiment of the application, the upper limit of the number of registerable instances in a service area is determined by the resource procurement quota of the service area. This can avoid the service area's computing power and storage being overloaded due to too many instance registrations, ensure the service stability of registered instances, and prevent a single service area from affecting the overall service due to resource exhaustion.
[0097] In one possible implementation, determining the upper limit of the number of registerable instances in a service region based on the resource procurement quota of the service region includes: In response to the service area being of the first preset type, the upper limit of the number of registered instances in the service area is determined based on the preset security ratio, preset instance ratio, and resource procurement quota of the service area. In response to the service area being of the second preset type, the upper limit of the concurrency ratio is determined based on the historical traffic information of the service area and the number of registered instances in the service area; the upper limit of the number of registered instances in the service area is determined based on the upper limit of the concurrency ratio, the preset security ratio, and the resource procurement quota of the service area; wherein, the historical traffic information of the service area is determined based on the historical traffic information of each server cluster in the N server clusters in the service area.
[0098] The first preset type mentioned above can be used to characterize a service area as a "new service area".
[0099] The second preset type mentioned above can be used to characterize the service area as an "old service area".
[0100] Specifically, electronic devices can use different calculation methods for different types of service areas to determine the upper limit of registerable instances corresponding to the service area.
[0101] The aforementioned preset safety ratio can be represented as a safety value set to reserve a portion of service resources as a buffer to prevent service area overload and collapse due to sudden traffic surges. In some embodiments, the preset safety ratio can be any value between 0 and 1. For example, the preset safety ratio is 0.7.
[0102] The aforementioned preset instance allocation ratio can be represented as a value set to ensure that the allocation of service area resources neither exceeds the hardware capacity nor fails to maximize the utilization of resource procurement quotas. In some embodiments, the preset instance allocation ratio can be any value between 0 and 1. For example, the preset instance allocation ratio is 0.05.
[0103] The aforementioned concurrency ratio upper limit is a key indicator for measuring the resource utilization efficiency of a service area. It represents the average concurrent push pressure generated by each registered instance at the historical peak load. A higher concurrency ratio indicates that the service area's resources are consumed faster, and the load on a single instance is heavier. The historical peak load refers to the moment when the service area encountered the highest load since it started operating.
[0104] In some embodiments, the historical traffic information of the service area is the sum of the historical traffic information of all server clusters in the service area.
[0105] Taking historical traffic information, including historical push concurrency, as an example, the historical push concurrency of service area 001 is the sum of the push concurrency limits of each server cluster (including A1, A2, and A3) in all server clusters in service area 0001.
[0106] In some embodiments, the upper limit of the number of registerable instances in a service region is determined based on a preset security ratio, a preset instance allocation ratio, and the resource procurement quota of the service region, including: Multiply the preset security ratio, preset instance allocation, and resource procurement allocation of the service area in sequence to obtain the maximum number of instances that can be registered in the service area.
[0107] In some embodiments, determining the upper limit of the concurrency ratio based on the historical push concurrency of the service region and the number of registered instances in the service region includes: Divide the historical concurrent streaming volume of the service area by the number of registered instances in the service area to obtain the upper limit of the concurrent streaming ratio.
[0108] In some embodiments, determining the maximum number of registerable instances for a service region based on a concurrency ratio cap, a preset security ratio, and the resource procurement quota for the service region includes: The product of the preset safety ratio and the resource procurement quota of the service area is determined as the first value; Divide the first value by the maximum concurrency ratio to obtain the maximum number of registerable instances in the service area.
[0109] In this embodiment of the application, by using the first preset type and the second preset type, the upper limit of the number of registerable instances for different types of service regions can be accurately determined, thereby improving the accuracy and reliability of determining the upper limit of the number of registerable instances for a service region.
[0110] In one possible implementation, before determining the maximum number of registerable instances for a service region based on the service region's resource procurement quota, the method further includes: If the historical traffic information and the number of registered instances in the service area are both at the second instance threshold, the service area type of the service area is determined to be the first service area type. If at least one of the historical concurrent streaming volume and the number of registered instances in the service region is not equal to the second instance threshold, the service region type of the service region is determined to be the second service region type.
[0111] In some embodiments, the second instance threshold is 0. The aforementioned historical traffic information (e.g., historical concurrent streaming) and the number of registered instances in the service area are both the second instance threshold, which can represent a service area in the initial stage that has not yet accumulated business data. For example, a service area that has just been deployed is a "new service area", otherwise it is an "old service area".
[0112] In one possible implementation, before determining the maximum number of registerable instances for a service region based on the service region's resource procurement quota, the method further includes: Determine the number of registered users in the service area; If the number of registered users is less than the preset threshold for the number of registered users, the service area type is determined to be the first service area type. If the number of registered users is greater than or equal to a preset threshold for the number of registered users, the service area type is determined to be the second service area type.
[0113] The number of registered users in the aforementioned service area refers to the total number of users who have completed registration and have valid accounts in that service area. It can be used to characterize the business scale and activity level of that service area. The lower the value, the "newer" the service area is, and the higher the value, the "more mature" the service area is.
[0114] This embodiment does not impose a specific limit on the preset threshold for the number of registered users; it can be selected according to actual needs. For example, the preset threshold for the number of registered users is 200.
[0115] In one possible implementation, determining the remaining number of registerable instances in a service region based on the service region's maximum number of registerable instances and the number of registered instances includes: For each service region, the maximum number of instances that can be created in the service region is determined based on the preset security ratio, preset instance allocation, and resource procurement quota of the service region. The maximum number of instances that can be registered in a service region is adjusted based on the maximum number of instances that can be created in that service region. The remaining number of registrable instances in the service area is determined based on the number of registered instances and the revised upper limit of the number of registrable instances.
[0116] In some embodiments, the upper limit of the number of instances that can be created in a service region is determined based on a preset security ratio, a preset instance allocation, and the resource procurement quota of the service region, including: Multiply the preset security ratio, preset instance allocation, and service area resource procurement quota in sequence to obtain the maximum number of instances that can be created in the service area.
[0117] In some embodiments, the maximum number of instances that can be registered in a service region is adjusted based on the maximum number of instances that can be created in the service region, including: If the maximum number of instances that can be created in a service region is less than the maximum number of instances that can be registered in the service region, the maximum number of instances that can be created in the service region will be determined as the revised maximum number of instances that can be registered.
[0118] In other words, the minimum value between the maximum number of instances that can be created in a service area and the maximum number of instances that can be registered in a service area can be taken as the modified maximum number of instances that can be registered.
[0119] In this embodiment, while the upper limit of the number of registrable instances calculated based on historical load reflects the service area's business carrying potential, there is a risk that the theoretical value may exceed the actual hardware resource support capacity. By introducing a resource procurement quota for the service area to determine the upper limit of the number of instances that can be created, the upper limit of the number of registrable instances can be corrected (i.e., the smaller of the two values is taken), thereby improving the accuracy and reliability of the finally determined upper limit of the number of registrable instances.
[0120] It should be noted that, for the data involved in the aforementioned embodiments, such as the number of instance registrations in the service area, historical traffic information of the server cluster (e.g., historical concurrent streaming), and resource procurement quotas of the server cluster, the electronic device performs corresponding calculations based on the preprocessed data after preprocessing the data.
[0121] In some embodiments, preprocessing may include at least removing null values and removing outliers. Outlier removal can be achieved by filtering values within a specified range.
[0122] In some embodiments, the above numerical range is [0, 99999999].
[0123] It should be noted that the various embodiments described in this application can be combined with each other or implemented individually without conflict, and this application does not limit this.
[0124] Corresponding to the above method embodiments, this application also provides a service resource allocation system, which can be applied to a server comprising at least two service areas, each service area containing N server clusters, where N is a natural number greater than 0. Please refer to... Figure 3 , Figure 3 This is a functional module diagram of a service resource allocation system 300 provided in an embodiment of this application. The service resource allocation system 300 includes: The response module 310 is used to respond to a service resource allocation request sent by a terminal device and determine a target service region based on the regional sorting results of at least two service regions; the regional sorting results are generated by sorting at least two service regions based on the remaining number of registrable instances in the at least two service regions. The determination module 320 is used to determine the target server cluster from the N server clusters included in the target service area based on the historical traffic information corresponding to each server cluster in the N server clusters included in the target service area when there is no preset server cluster among the N server clusters included in each service area; wherein, the preset server cluster is a server cluster whose load is less than or equal to a preset load threshold. The control module 330 is used to control the target server cluster to allocate service resources to the terminal devices according to the service resource allocation request.
[0125] The service resource allocation system provided in this application embodiment can achieve, for example, Figure 1 The various processes implemented in the Chinese method embodiments can achieve similar or the same technical effects, and will not be described again here to avoid repetition.
[0126] Corresponding to the above method embodiments, this application also provides an electronic device, please refer to [link to relevant documentation]. Figure 4 , Figure 4 This is a schematic diagram of the hardware structure of an electronic device provided in an embodiment of this application.
[0127] like Figure 4 The electronic device may include a processor 401 and a memory 402 storing computer program instructions.
[0128] Specifically, the processor 401 may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits that can be configured to implement the embodiments of this application.
[0129] Memory 402 may include mass storage for data or instructions. For example, and not limitingly, memory 402 may include a hard disk drive (HDD), floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or Universal Serial Bus (USB) drive, or a combination of two or more of these. Where appropriate, memory 402 may include removable or non-removable (or fixed) media. Where appropriate, memory 402 may be internal or external to the integrated gateway disaster recovery device. In a particular embodiment, memory 402 is non-volatile solid-state memory.
[0130] In some embodiments, memory 402 may include read-only memory (ROM), random access memory (RAM), disk storage media device, optical storage media device, flash memory device, electrical, optical, or other physical / tangible memory storage device. Therefore, generally, memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described in the methods provided according to embodiments of this application.
[0131] The processor 401 implements the method provided in the above embodiments by reading and executing computer program instructions stored in the memory 402.
[0132] In one example, the electronic device may also include a communication interface 403 and a bus 410. The processor 401, memory 402, and communication interface 403 are connected via the bus 410 and communicate with each other.
[0133] The communication interface 403 is mainly used to realize communication between various modules, devices, units and / or equipment in the embodiments of this application.
[0134] Bus 410 includes hardware, software, or both, that couples components of an electronic device together. For example, and not limitingly, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an Infinite Bandwidth Interconnect, a Low Pin Count (LPC) bus, a memory bus, a Microchannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable buses, or combinations of two or more of these. Where appropriate, bus 410 may include one or more buses. Although specific buses are described and illustrated in embodiments of this application, this application contemplates any suitable bus or interconnect.
[0135] Furthermore, in conjunction with the methods provided in the above embodiments, this application embodiment can be implemented using a computer-readable storage medium. This computer-readable storage medium stores computer program instructions; when executed by a processor, these computer program instructions implement any of the methods in the above embodiments.
[0136] Furthermore, in conjunction with the methods provided in the above embodiments, this application embodiment can provide a computer program product to implement the methods. This program product is stored in a storage medium and executed by at least one processor to implement the various processes of the embodiments of the methods provided in the above embodiments, achieving similar or identical technical effects. To avoid repetition, further details are omitted here.
[0137] It should be clarified that this application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of this application is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of this application.
[0138] The functional blocks shown in the above-described structural diagram can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this application are programs or code segments used to perform the required tasks. Programs or code segments can be stored on a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried on a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio frequency (RF) links, etc. Code segments can be downloaded via computer networks such as the Internet, intranets, etc.
[0139] It should also be noted that the exemplary embodiments mentioned in this application describe methods or systems based on a series of steps or apparatus. However, this application is not limited to the order of the above steps; that is, the steps can be performed in the order mentioned in the embodiments, or in a different order, or several steps can be performed simultaneously.
[0140] The aspects of this disclosure have been described above with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block in the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that these instructions, executable via the processor of the computer or other programmable data processing apparatus, enable the implementation of the functions / actions specified in one or more blocks of the flowchart illustrations and / or block diagrams. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field-programmable logic circuit. It is also understood that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can also be implemented by special-purpose hardware performing the specified functions or actions, or can be implemented by a combination of special-purpose hardware and computer instructions.
[0141] The above description is merely a specific implementation of this application. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, modules, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. It should be understood that the protection scope of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the protection scope of this application.
Claims
1. A method for allocating service resources, characterized in that, Applied to a server comprising at least two service regions, each service region containing N server clusters, where N is a natural number greater than 0, the method includes: In response to receiving a service resource allocation request from a terminal device, a target service region is determined based on the regional sorting results of the at least two service regions; the regional sorting results are generated by sorting the at least two service regions according to the remaining number of registrable instances in the at least two service regions. If no preset server cluster exists among the N server clusters included in each of the service areas, the target server cluster is determined from the N server clusters included in the target service area based on the historical traffic information corresponding to each of the server clusters in the target service area; wherein, the preset server cluster is a server cluster whose load is less than or equal to a preset load threshold. The target server cluster is controlled to allocate service resources to the terminal device according to the service resource allocation request.
2. The method as described in claim 1, characterized in that, Determining the target server cluster from the N server clusters included in the target service area includes: The target server clusters in the target service area are determined based on the cluster sorting results of the N server clusters included in the target service area; wherein, the cluster sorting results are determined based on the historical traffic information corresponding to each of the N server clusters.
3. The method as described in claim 1, characterized in that, The target service area is a service area in which the number of remaining registerable instances in at least two service areas is greater than or equal to the first instance threshold. And / or, The historical traffic information is determined based on at least one of the maximum concurrent streaming volume and the average concurrent streaming volume of the corresponding server cluster during the historical period.
4. The method as described in claim 1, characterized in that, In response to receiving a service resource allocation request from a terminal device, after determining the target service region based on the regional sorting results of the at least two service regions, the method further includes: If the preset server cluster exists among the N server clusters included in each of the service areas, the preset server cluster is controlled to allocate service resources to the terminal device according to the resource allocation request.
5. The method as described in claim 1, characterized in that, Before determining the target service area based on the regional sorting results of the at least two service areas, the method further includes: For each of the service regions, the following processing is performed to obtain the remaining number of registrable instances for each service region: determine the upper limit of the number of registrable instances and the number of registered instances for the service region; determine the remaining number of registrable instances for the service region based on the upper limit of the number of registrable instances and the number of registered instances for the service region. The at least two service regions are sorted according to the number of remaining registerable instances in each service region to obtain the region sorting result.
6. The method according to claim 5, characterized in that, Determining the remaining number of registerable instances in a service region based on the maximum number of registerable instances and the number of registered instances in the service region includes: The resource procurement quota for the service area is determined based on the resource procurement quotas of the N server clusters in the service area. The maximum number of registerable instances in the service region is determined based on the resource procurement quota of the service region.
7. The method as described in claim 6, characterized in that, The step of determining the upper limit of the number of registerable instances in the service region based on the resource procurement quota of the service region includes: In response to the fact that the type of the service area is a first preset type, the upper limit of the number of registerable instances in the service area is determined according to the preset security ratio, the preset instance allocation ratio and the resource procurement quota of the service area; In response to the service area being of the second preset type, a concurrency ratio upper limit is determined based on the historical traffic information of the service area and the number of registered instances in the service area; a maximum number of registerable instances in the service area is determined based on the concurrency ratio upper limit, the preset security ratio, and the resource procurement quota of the service area; wherein, the historical traffic information of the service area is determined based on the historical traffic information corresponding to each of the N server clusters in the service area.
8. The method as described in claim 6, characterized in that, Before determining the maximum number of registerable instances for a service region based on its resource procurement quota, the method further includes: If both the historical traffic information of the service area and the number of registered instances of the service area are at the second instance threshold, the service area type of the service area is determined to be the first service area type; if at least one of the historical push concurrency of the service area and the number of registered instances of the service area is not at the second instance threshold, the service area type of the service area is determined to be the second service area type. And / or, Determine the number of registered users in the service area; if the number of registered users is less than a preset threshold for the number of registered users, determine the service area type of the service area as a first service area type; if the number of registered users is greater than or equal to the preset threshold for the number of registered users, determine the service area type of the service area as a second service area type.
9. The method as described in claim 5, characterized in that, Determining the remaining number of registerable instances in a service region based on the maximum number of registerable instances and the number of registered instances in the service region includes: For each service region, the maximum number of instances that can be created in the service region is determined based on the preset security ratio, the preset instance allocation ratio, and the resource procurement quota of the service region. The maximum number of instances that can be registered in the service region is adjusted based on the maximum number of instances that can be created in the service region. The remaining number of registrable instances in the service area is determined based on the number of registered instances and the revised upper limit of the number of registrable instances.
10. An electronic device, characterized in that, The electronic device includes a memory and a processor, wherein the memory stores a computer program that, when executed by the processor, implements the method of any one of claims 1 to 9.
11. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by one or more processors, implements the method of any one of claims 1 to 9.
12. A computer program product, characterized in that, The computer program product includes a computer program that, when executed by one or more processors, implements the method of any one of claims 1 to 9.
