Resource scheduling method and device, electronic equipment and storage medium

By acquiring and analyzing cloud server and application data, and using an anti-affinity strategy to perform multi-dimensional filtering on physical machines, the problem of high time consumption and low accuracy in cloud server resource scheduling under high concurrency scenarios is solved, achieving efficient and accurate resource scheduling.

CN122152486APending Publication Date: 2026-06-05NETSUNION CLEARING CORP
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
NETSUNION CLEARING CORP
Filing Date
2024-11-29
Publication Date
2026-06-05

AI Technical Summary

Technical Problem

In high-concurrency, high-time-efficiency business scenarios, existing technologies cannot effectively prevent physical equipment malfunctions, resulting in high time consumption and low accuracy in cloud server resource scheduling.

Method used

By acquiring source data for resource scheduling, including available physical machines, cloud server data, and application data, affinity relationship data for multiple physical statistical dimensions is determined. A preset anti-affinity strategy is used to identify schedulable physical machines from the available physical machines. The schedulable physical machines are quickly selected by filtering according to the order of physical statistical dimensions from largest to smallest.

Benefits of technology

It improves the accuracy and efficiency of resource scheduling, meets the high availability requirements of business application clusters, and provides an accurate and reliable basis for cloud server resource scheduling.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122152486A_ABST
    Figure CN122152486A_ABST
Patent Text Reader

Abstract

The application discloses a resource scheduling method and device, electronic equipment and a storage medium. The method comprises the following steps: acquiring source data of resource scheduling, wherein the source data comprises available physical machines, cloud server data and application data; determining affinity relationship data of a plurality of physical statistical dimensions according to the cloud server data and the application data; determining schedulable physical machines in the available physical machines by using a preset anti-affinity strategy according to the affinity relationship data of each physical statistical dimension; and determining a recommended scheduling result corresponding to the schedulable physical machines according to the schedulable physical machines and the affinity relationship data of each physical statistical dimension. Based on the demand of high availability of a business application cluster, the schedulable physical machines are quickly filtered from a plurality of physical statistical dimensions, and the recommended scheduling order of each schedulable physical machine is determined by using a preset anti-affinity strategy, thereby providing an accurate and reliable scheduling basis for the scheduling of cloud server resources, and improving the resource scheduling efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

[0002] In business scenarios characterized by high concurrency and high timeliness, the automatic migration and failover functions of cloud platforms are usually unable to avoid operational failures caused by physical devices under high concurrency and high timeliness requirements.

[0003] To address these issues, the business platform does not use automatic migration functionality. Instead, it uses a high-availability approach for business application clusters to handle such failures. To achieve high availability for business application clusters, cloud server resources are often required to be scheduled at physical device locations.

[0004] Since the business application cluster provides a large number of servers, in order to schedule cloud server resources at physical device locations, it is necessary to determine the schedulable physical machines from among a large number of servers. The existing manual selection method is time-consuming and cannot guarantee accuracy. Summary of the Invention

[0005] This application provides a resource scheduling method, apparatus, electronic device, and storage medium to improve the accuracy and efficiency of resource scheduling.

[0006] The embodiments of this application adopt the following technical solutions:

[0007] In a first aspect, embodiments of this application provide a resource scheduling method, wherein the method includes:

[0008] Obtain source data for resource scheduling, including available physical machines, cloud server data, and application data;

[0009] Affinity relationship data across multiple physical statistical dimensions is determined based on the cloud server data and the application data;

[0010] Based on affinity data from various physical statistical dimensions, a schedulable physical machine is determined from the available physical machines using a preset anti-affinity strategy.

[0011] The recommended scheduling result corresponding to the schedulable physical machine is determined based on the schedulable physical machine and the affinity relationship data of each physical statistical dimension.

[0012] Optionally, the source data further includes an anti-affinity threshold, and the determination of affinity relationship data across multiple physical statistical dimensions based on the cloud server data and the application data includes:

[0013] The target physical statistical dimension is determined based on the anti-affinity threshold, wherein the target physical statistical dimension includes at least one of the physical partition dimension and the rack dimension, as well as the physical machine dimension;

[0014] Affinity relationship data for the target physical statistical dimension is determined based on the cloud server data and the application data.

[0015] Optionally, determining affinity relationship data across multiple physical statistical dimensions based on the cloud server data and the application data includes:

[0016] The mapping relationship between the cloud server and the physical machine is determined based on the cloud server data;

[0017] The mapping relationship between the application and the cloud server is determined based on the application data;

[0018] Based on the mapping relationship between cloud servers and physical machines and the mapping relationship between applications and cloud servers, the number of cloud servers corresponding to each application in each physical statistical dimension is counted, which serves as the affinity relationship data for each physical statistical dimension.

[0019] Optionally, the preset anti-affinity strategy includes a filtering order among multiple physical statistical dimensions and an anti-affinity threshold corresponding to each physical statistical dimension. The step of determining schedulable physical machines from the available physical machines based on the affinity relationship data of each physical statistical dimension using the preset anti-affinity strategy includes:

[0020] Based on the filtering order among multiple physical statistical dimensions, the available physical machines are filtered sequentially according to the affinity relationship data of each physical statistical dimension and the anti-affinity threshold corresponding to each physical statistical dimension to obtain the filtering results of each physical statistical dimension.

[0021] The schedulable physical machine is determined based on the filtering results of each physical statistical dimension;

[0022] The physical statistics dimensions include physical partition dimension, rack dimension, and physical machine dimension, and the filtering order is physical partition dimension, rack dimension, and physical machine dimension.

[0023] Optionally, the filtering order based on multiple physical statistical dimensions, which sequentially filters the available physical machines according to the affinity relationship data of each physical statistical dimension and the anti-affinity threshold corresponding to each physical statistical dimension, to obtain the filtering results for each physical statistical dimension includes:

[0024] The available physical machines are filtered based on the affinity relationship data of the physical partition dimension and the anti-affinity threshold corresponding to the physical partition dimension to obtain the filtering result of the physical partition dimension. The filtering result of the physical partition dimension includes a list of physical machines with deployed cloud servers and a list of physical machines without deployed cloud servers corresponding to the physical partition dimension.

[0025] The list of physical machines of deployed cloud servers corresponding to the physical partition dimension is filtered based on the affinity relationship data of the rack dimension and the anti-affinity threshold corresponding to the rack dimension to obtain the filtering result of the rack dimension. The filtering result of the rack dimension includes the list of physical machines of deployed cloud servers corresponding to the rack dimension.

[0026] The list of physical machines of deployed cloud servers corresponding to the rack dimension is filtered based on the affinity relationship data of the physical machine dimension and the anti-affinity threshold corresponding to the physical machine dimension to obtain the filtering result of the physical machine dimension. The filtering result of the physical machine dimension includes the list of physical machines of deployed cloud servers corresponding to the physical machine dimension.

[0027] The step of determining the schedulable physical machine based on the filtering results of each physical statistical dimension includes:

[0028] The schedulable physical machine is determined based on the list of physical machines with undeployed cloud servers corresponding to the physical partition dimension and the list of physical machines with deployed cloud servers corresponding to the physical machine dimension.

[0029] Optionally, the schedulable physical machines include multiple ones, and the step of determining the recommended scheduling result corresponding to the schedulable physical machines based on the schedulable physical machines and the affinity relationship data of each physical statistical dimension includes:

[0030] The score of each schedulable physical machine is determined based on the affinity relationship data of the schedulable physical machines and each physical statistical dimension.

[0031] The schedulable physical machines are ranked according to their scores, and the ranking results are used as the recommended scheduling results for the schedulable physical machines.

[0032] Optionally, the affinity relationship data for each physical statistical dimension includes the number of cloud servers applied to each physical statistical dimension. The schedulable physical machines include the list of physical machines without deployed cloud servers corresponding to the physical partition dimension and the list of physical machines with deployed cloud servers corresponding to the physical machine dimension. The step of determining the score of each schedulable physical machine based on the affinity relationship data of the schedulable physical machines and each physical statistical dimension includes:

[0033] Set the physical machines in the list of physical machines without deployed cloud servers corresponding to the physical partition dimension to full score;

[0034] The score of the physical machine in the list of deployed cloud servers corresponding to the physical machine dimension is calculated based on the number of cloud servers corresponding to each physical statistical dimension of the application.

[0035] Secondly, embodiments of this application also provide a resource scheduling apparatus, wherein the apparatus includes:

[0036] The acquisition unit is used to acquire source data for resource scheduling, including available physical machines, cloud server data, and application data.

[0037] The first determining unit is used to determine affinity relationship data in multiple physical statistical dimensions based on the cloud server data and the application data;

[0038] The second determining unit is used to determine the schedulable physical machine from the available physical machines based on the affinity relationship data of each physical statistical dimension and using a preset anti-affinity strategy.

[0039] The third determining unit is used to determine the recommended scheduling result corresponding to the schedulable physical machine based on the schedulable physical machine and the affinity relationship data of each physical statistical dimension.

[0040] Thirdly, embodiments of this application also provide an electronic device, including:

[0041] Processor; and

[0042] A memory configured to store computer-executable instructions, which, when executed, cause the processor to perform any of the methods described above.

[0043] Fourthly, embodiments of this application also provide a computer-readable storage medium that stores one or more programs, which, when executed by an electronic device including multiple applications, cause the electronic device to perform any of the methods described above.

[0044] The resource scheduling method adopted in this application embodiment can achieve the following beneficial effects: First, it obtains source data for resource scheduling, including available physical machines, cloud server data, and application data. Then, it determines affinity relationship data for multiple physical statistical dimensions based on the cloud server data and application data. Next, based on the affinity relationship data for each physical statistical dimension, it uses a preset anti-affinity strategy to determine schedulable physical machines from the available physical machines. Finally, it determines the recommended scheduling result corresponding to the schedulable physical machines based on the schedulable physical machines and the affinity relationship data for each physical statistical dimension. Based on the high availability requirements of business application clusters, the resource scheduling method of this application embodiment quickly filters out schedulable physical machines from multiple physical statistical dimensions and uses a preset anti-affinity strategy to determine the recommended scheduling order of each schedulable physical machine, providing an accurate and reliable scheduling basis for cloud server resource scheduling and improving resource scheduling efficiency. Attached Figure Description

[0045] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:

[0046] Figure 1 This is a flowchart illustrating a resource scheduling method according to an embodiment of this application;

[0047] Figure 2 This is a schematic diagram of a resource scheduling process in an embodiment of this application;

[0048] Figure 3 This is a schematic diagram of the structure of a resource scheduling device according to an embodiment of this application;

[0049] Figure 4 This is a schematic diagram of the structure of an electronic device according to an embodiment of this application. Detailed Implementation

[0050] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0051] The technical solutions provided by the various embodiments of this application are described in detail below with reference to the accompanying drawings.

[0052] This application provides a resource scheduling method, such as... Figure 1The diagram illustrates a resource scheduling method according to an embodiment of this application. The method includes at least the following steps S110 to S140:

[0053] Step S110: Obtain source data for resource scheduling, including available physical machines, cloud server data, and application data.

[0054] The resource scheduling method in this application embodiment can be executed by an independent resource scheduling platform or module. When scheduling cloud server resources at the physical location level, it is necessary to first obtain the source data for resource scheduling. This source data mainly includes available physical machines, cloud server data, and application data. Available physical machines refer to physical machines that can currently provide disk space, memory, and other resources for the deployment of cloud servers. Information on available physical machines can be directly provided by other independent modules. Cloud server data mainly reflects the deployment status of cloud servers on physical machines, such as which physical machines each cloud server is deployed on. Application data mainly reflects the deployment status of business applications on cloud servers, such as which cloud servers each business application service is deployed on.

[0055] Step S120: Determine affinity relationship data for multiple physical statistical dimensions based on the cloud server data and the application data.

[0056] Since multiple things possess a certain attribute, affinity requires that multiple things be distributed across the same attribute value domain based on that attribute, while anti-affinity requires that multiple things be distributed across different attribute value domains based on that attribute. In resource scheduling scenarios, affinity requires that multiple cloud server resources be distributed across physical machines of the same dimension based on a certain dimensional attribute, while anti-affinity requires that multiple cloud server resources be distributed across physical machines of different dimensions based on a certain dimensional attribute.

[0057] Based on this, the embodiments of this application can statistically determine the deployment status of all cloud server resources in the business application dimension across multiple physical statistical dimensions based on the aforementioned cloud server data and application data, thereby obtaining affinity relationship data for multiple physical statistical dimensions. The physical statistical dimensions can be divided based on the actual deployment characteristics of physical resources. For example, the physical resources of a data center can be divided into physical partition dimension, rack dimension, and physical machine dimension in descending order of size.

[0058] Of course, it should be noted that although this application embodiment defines multiple physical statistical dimensions, in actual application, relevant users can determine and select specific statistical dimensions according to business needs. That is, not all defined physical statistical dimensions need to be counted.

[0059] Step S130: Based on the affinity relationship data of each physical statistical dimension, determine the schedulable physical machine from the available physical machines using a preset anti-affinity strategy.

[0060] To meet the high availability requirements of the business platform application cluster, this application embodiment pre-designed an anti-affinity strategy. The principle of the anti-affinity strategy is to distribute the cloud server resources corresponding to the services of the same business application as much as possible across physical machines with different physical statistical dimensions.

[0061] Based on this, since the affinity relationship data of each physical statistical dimension obtained in the aforementioned steps indicates the deployment status of cloud server resources in each physical statistical dimension, the above-mentioned preset anti-affinity strategy can be used to filter the currently available physical machines in multiple dimensions, thereby selecting schedulable physical machines. The schedulable physical machines are the available physical machines that meet the principles of the above-mentioned anti-affinity strategy.

[0062] Step S140: Determine the recommended scheduling result corresponding to the schedulable physical machine based on the schedulable physical machine and the affinity relationship data of each physical statistical dimension.

[0063] Since the actual deployment of cloud server resources on schedulable physical machines may vary, this will affect the subsequent allocation of cloud server resources on these schedulable physical machines. Therefore, the embodiments of this application can further combine affinity relationship data of various physical statistical dimensions to determine the recommended scheduling order of schedulable physical machines. Based on the recommended scheduling order, the cloud server resources can be accurately scheduled in physical locations.

[0064] The resource scheduling method in this application embodiment is based on the high availability requirements of business application clusters. It quickly filters out schedulable physical machines from multiple physical statistical dimensions and uses a preset anti-affinity strategy to determine the recommended scheduling order of each schedulable physical machine. This provides an accurate and reliable scheduling basis for cloud server resource scheduling and improves resource scheduling efficiency.

[0065] In some embodiments of this application, the source data further includes an anti-affinity threshold, and the step of determining the affinity relationship data of multiple physical statistical dimensions based on the cloud server data and the application data includes: determining a target physical statistical dimension based on the anti-affinity threshold, wherein the target physical statistical dimension includes at least one of a physical partition dimension and a rack dimension, and a physical machine dimension; and determining the affinity relationship data of the target physical statistical dimension based on the cloud server data and the application data.

[0066] The physical statistics dimensions of this application embodiment can be divided into physical partition dimension, rack dimension and physical machine dimension according to the physical resources from large to small. A physical partition can be regarded as a basic physical design unit (Point of Delivery, or POD) of a data center. Since the network resources of a data center are limited, a network switch is usually shared by multiple physical machines in multiple racks. Therefore, these multiple racks associated with the same network switch can be divided into a physical partition. That is, a physical partition can include multiple racks, and each rack can contain multiple physical machines.

[0067] As mentioned earlier, although multiple physical statistical dimensions are defined in advance, not all physical statistical dimensions need to be included in the statistics in actual applications. This mainly depends on the settings made by the relevant users according to their actual business needs. For example, the anti-affinity threshold of each physical statistical dimension can be set in advance. The anti-affinity threshold refers to the maximum number of cloud servers that can be deployed for that physical statistical dimension.

[0068] When performing actual resource scheduling, users can input the dimensions for which the anti-affinity strategy needs to be implemented, i.e., the target physical statistical dimensions. For example, they can input the anti-affinity thresholds for the physical partition dimension, rack dimension, and physical machine dimension. In this case, the affinity relationship data for these three dimensions needs to be statistically analyzed. Alternatively, they can input only the anti-affinity threshold for the physical partition dimension, in which case the affinity relationship data between the physical partition dimension and the physical machine dimension needs to be statistically analyzed. Or, they can input only the anti-affinity threshold for the rack dimension, in which case the affinity relationship data between the rack dimension and the physical machine dimension needs to be statistically analyzed.

[0069] It should be noted that the physical machine dimension is the smallest unit dimension for the division of resources in the entire data center. Therefore, its corresponding anti-affinity threshold can be used as a fallback condition that needs to be met. That is, regardless of whether the user inputs the anti-affinity threshold for the physical machine dimension, the affinity relationship data of the physical machine dimension will be counted accordingly. This ensures that even when physical resources are scarce, the distributed scheduling of cloud server resources can still be achieved at the lowest dimension.

[0070] In some embodiments of this application, determining the affinity relationship data for multiple physical statistical dimensions based on the cloud server data and the application data includes: determining the mapping relationship between cloud servers and physical machines based on the cloud server data; determining the mapping relationship between applications and cloud servers based on the application data; and, based on the mapping relationship between cloud servers and physical machines and the mapping relationship between applications and cloud servers, counting the number of cloud servers corresponding to each application in each physical statistical dimension, as the affinity relationship data for each physical statistical dimension.

[0071] When performing statistical analysis on affinity relationship data across multiple physical statistical dimensions, we can first determine the mapping relationship between cloud servers and physical machines based on cloud server data, that is, determine which physical machines the cloud server resources are deployed on. Then, we can determine the mapping relationship between applications and cloud servers based on application data, that is, determine which cloud servers the business application services are deployed on. Finally, based on the mapping relationship between cloud servers and physical machines, as well as the mapping relationship between applications and cloud servers, we can separately count the number of cloud servers deployed for the business application services in each physical statistical dimension.

[0072] For example, based on the statistics of the above-mentioned statistical dimensions, it was determined that service A of the business application deployed a total of 3 cloud servers in physical partition 1. Of the 3 cloud servers, 2 were deployed in rack 01 and 1 was deployed in rack 02. The 2 cloud servers in rack 01 were both deployed in physical machine 001, and the 1 cloud server in rack 02 was deployed in physical machine 002.

[0073] In some embodiments of this application, the preset anti-affinity strategy includes a filtering order among multiple physical statistical dimensions and an anti-affinity threshold corresponding to each physical statistical dimension. The step of determining schedulable physical machines from the available physical machines based on the affinity relationship data of each physical statistical dimension using the preset anti-affinity strategy includes: filtering the available physical machines sequentially based on the filtering order among multiple physical statistical dimensions, according to the affinity relationship data of each physical statistical dimension and the anti-affinity threshold corresponding to each physical statistical dimension, to obtain the filtering results for each physical statistical dimension; and determining the schedulable physical machines based on the filtering results for each physical statistical dimension. The physical statistical dimensions include physical partition dimensions, rack dimensions, and physical machine dimensions, and the filtering order is, in the order of physical partition dimension, rack dimension, and physical machine dimension.

[0074] The preset anti-affinity strategy designed in this application mainly includes the filtering order among multiple physical statistical dimensions and the anti-affinity threshold corresponding to each physical statistical dimension. The multiple physical statistical dimensions are obtained by dividing physical resources from large to small dimensions. Therefore, filtering is performed in the order of physical partition dimension, rack dimension, and physical machine dimension. This can quickly filter out physical machines that obviously do not meet the anti-affinity threshold requirements of each physical statistical dimension, thereby improving the overall processing efficiency.

[0075] The reason for filtering according to the physical resources from largest to smallest is that if a physical machine meets the anti-affinity threshold requirement of the physical machine dimension, it means that it must also meet the threshold requirements of the rack dimension or physical partition dimension. Since the physical partition has the largest amount of resources, the anti-affinity threshold requirement corresponding to the physical partition dimension can directly filter out all physical machines in the physical partition that do not meet the anti-affinity threshold requirement of the physical partition dimension, avoiding unnecessary duplication of processing.

[0076] For example, assuming the anti-affinity threshold for the physical partition dimension is 3, the anti-affinity threshold for the rack dimension is 2, and the anti-affinity threshold for the physical machine dimension is 1, this means that a maximum of 3 cloud servers can be deployed in each physical partition, a maximum of 2 cloud servers can be deployed in each rack, and a maximum of 1 cloud server can be deployed in each physical machine. Service A of the business application has a total of 3 cloud servers deployed in physical partition 1. Two of these cloud servers are deployed in rack 01, and one is deployed in rack 02. Both cloud servers in rack 01 are deployed in physical machine 001, and the one cloud server in rack 02 is deployed in physical machine 002.

[0077] Since physical partition 1 already has 3 cloud servers deployed, all physical machines corresponding to physical partition 1 will be filtered out based on the anti-affinity threshold requirement of physical partition dimension. Therefore, it is no longer necessary to consider whether the cloud server deployment of physical partition 1 at the rack dimension and physical machine dimension meets the corresponding anti-affinity threshold requirement, thereby improving the processing efficiency of the algorithm.

[0078] In some embodiments of this application, the filtering order based on multiple physical statistical dimensions, and the sequential filtering of the available physical machines according to the affinity relationship data of each physical statistical dimension and the anti-affinity threshold corresponding to each physical statistical dimension, to obtain the filtering results for each physical statistical dimension, includes: filtering the available physical machines according to the affinity relationship data of the physical partition dimension and the anti-affinity threshold corresponding to the physical partition dimension to obtain the filtering results for the physical partition dimension, wherein the filtering results for the physical partition dimension include a list of physical machines with deployed cloud servers and a list of physical machines without deployed cloud servers corresponding to the physical partition dimension; and filtering the available physical machines according to the affinity relationship data of the rack dimension and the anti-affinity threshold corresponding to the rack dimension. The list of physical machines for cloud servers is filtered to obtain the rack-level filtering result, which includes the list of physical machines for deployed cloud servers corresponding to the rack-level dimension. The list of physical machines for deployed cloud servers corresponding to the rack-level dimension is then filtered based on the affinity relationship data and the anti-affinity threshold of the physical machine-level dimension, resulting in the physical machine-level filtering result, which also includes the list of physical machines for deployed cloud servers corresponding to the physical machine-level dimension. Determining the schedulable physical machines based on the filtering results of each physical statistical dimension includes: determining the schedulable physical machines based on the list of physical machines for non-deployed cloud servers corresponding to the physical partition dimension and the list of physical machines for deployed cloud servers corresponding to the physical machine-level dimension.

[0079] When filtering available physical machines sequentially according to the filtering order among multiple physical statistical dimensions, the physical partition dimension can be filtered first. That is, the available physical machines are filtered according to the cloud server deployment status and the corresponding anti-affinity threshold of the physical partition dimension. This will filter out all physical machines in physical partitions that do not meet the anti-affinity threshold requirements of the physical partition dimension. Physical machines that meet the anti-affinity threshold requirements can be further divided into physical machines with deployed cloud servers and physical machines without deployed cloud servers according to the specific deployment status of the cloud servers, and can be managed by two separate lists.

[0080] The list of physical machines without deployed cloud servers obtained at the physical partition level indicates that none of the physical machines in all racks within that physical partition have deployed cloud server resources, representing the most resource-sufficient state across all dimensions. Therefore, physical machines in the list of physical machines without deployed cloud servers can be prioritized when scheduling cloud server resources. The list of physical machines with deployed cloud servers obtained at the physical partition level indicates that the physical partition containing the physical machines in this list has deployed cloud server resources, and the number of deployed resources meets the anti-affinity threshold requirement of the physical partition level.

[0081] Next, it can be further determined whether the physical machines in the list of deployed cloud servers at the physical partition dimension meet the anti-affinity threshold requirements at the rack dimension. Based on the cloud server deployment status and the corresponding anti-affinity threshold at the rack dimension, the list of deployed cloud servers obtained at the physical partition dimension is filtered again. All physical machines in racks that do not meet the anti-affinity threshold requirements at the rack dimension can be filtered out, and the list of deployed cloud servers is updated to obtain the list of deployed cloud servers at the rack dimension.

[0082] Finally, based on the cloud server deployment status corresponding to the physical machine dimension and the corresponding anti-affinity threshold, the list of physical machines with deployed cloud servers obtained from the rack dimension is filtered again. All physical machines that do not meet the anti-affinity threshold requirements of the physical machine dimension are filtered out. The remaining physical machines are those that simultaneously meet the anti-affinity threshold requirements of the physical partition dimension, rack dimension, and physical machine dimension. Together with the physical machines in the list of physical machines without deployed cloud servers, they are the final schedulable physical machines.

[0083] It should be noted that the filtering strategies for the above three physical statistical dimensions can also be flexibly extended to more or fewer dimensions according to actual business needs, as long as the filtering order is in descending order of physical resources.

[0084] In some embodiments of this application, the schedulable physical machines include multiple schedulable physical machines, and the step of determining the recommended scheduling result corresponding to the schedulable physical machines based on the schedulable physical machines and the affinity relationship data of each physical statistical dimension includes: determining the score of each schedulable physical machine based on the affinity relationship data of each schedulable physical machine and each physical statistical dimension; sorting the multiple schedulable physical machines based on the scores of each schedulable physical machine, and using the sorting result as the recommended scheduling result of the schedulable physical machines.

[0085] In determining the recommended scheduling result for schedulable physical machines, this embodiment first calculates a score for each schedulable physical machine based on affinity data for each physical statistical dimension. The score primarily depends on the number of cloud servers deployed for each physical machine across each physical statistical dimension. A lower score corresponds to a lower number of cloud servers deployed for each physical machine across each physical statistical dimension, and vice versa. Furthermore, a higher score is also achieved if the physical machine deploys fewer cloud servers across larger statistical dimensions. Of course, the specific scoring principles can be flexibly set according to actual needs and are not specifically limited here.

[0086] Finally, the multiple schedulable physical machines are sorted from highest to lowest according to their scores, and this ranking is used as the final recommended scheduling result for the schedulable physical machines.

[0087] In some embodiments of this application, the affinity relationship data for each physical statistical dimension includes the number of cloud servers applied to each physical statistical dimension. The schedulable physical machines include a list of physical machines without deployed cloud servers corresponding to the physical partition dimension and a list of physical machines with deployed cloud servers corresponding to the physical machine dimension. Determining the score of each schedulable physical machine based on the schedulable physical machines and the affinity relationship data for each physical statistical dimension includes: setting the physical machines in the list of physical machines without deployed cloud servers corresponding to the physical partition dimension to full score; and calculating the score of the physical machines in the list of physical machines with deployed cloud servers corresponding to the physical machine dimension based on the number of cloud servers applied to each physical statistical dimension.

[0088] To facilitate understanding, further examples are provided below. As shown in Table 1, no cloud servers are deployed in physical partition 2. Therefore, it belongs to the list of physical machines without deployed cloud servers in the aforementioned embodiment. The scores of physical machines 005 and 006 in physical partition 2 can be directly set to full marks or the highest score, without participating in the subsequent specific score calculation.

[0089] Since physical partition 1 contains a cloud server, physical machines 001-004 within physical partition 1 are all listed in the physical machine list of deployed cloud servers. Therefore, a score needs to be calculated based on the specific deployment location of the cloud server. It can be seen that the cloud server is specifically deployed in physical machine 001 within rack 01. Therefore, from the rack perspective, physical machines 003 and 004 in rack 02 do not have cloud servers deployed, so their corresponding scores should be higher than those of physical machines 001 and 002 in rack 01. Finally, from the physical machine perspective, since physical machine 002 in rack 01 does not have a cloud server deployed, its corresponding score should be higher than that of physical machine 001 in rack 01. Thus, the score ranking among multiple physical machines can be obtained as follows: X5 = X6 > X3 = X4 > X2 > X1.

[0090] Table 1

[0091]

[0092] Of course, it should be noted that the examples listed in Table 1 above are merely illustrative descriptions. The actual application scenarios involve more complex physical machine numbers and cloud server deployments, but the basic principles remain the same. One principle is that the fewer cloud servers deployed for each physical machine across various physical statistical dimensions, the higher the corresponding score. Another principle is that the fewer cloud servers deployed for each physical machine across larger statistical dimensions, the higher the corresponding score. Therefore, those skilled in the art can flexibly set specific scoring principles based on this and the actual situation.

[0093] For ease of understanding of the various embodiments of this application, such as Figure 2 The diagram illustrates a resource scheduling process according to an embodiment of this application. First, source data for resource scheduling is obtained, including anti-affinity thresholds, available physical machines, cloud server data, and application data. The target physical statistical dimensions are determined based on the anti-affinity thresholds; for example, it can be determined whether physical partition dimensions, rack dimensions, and physical machine dimensions are included.

[0094] Then, available physical machines are filtered sequentially based on the filtering order among multiple physical statistical dimensions. First, available physical machines are filtered according to the affinity relationship data and corresponding anti-affinity threshold of the physical partition dimension, resulting in the filtering results for the physical partition dimension. This includes a list of physical machines with deployed cloud servers and a list of physical machines without deployed cloud servers corresponding to the physical partition dimension. The list of physical machines without deployed cloud servers is determined based on the filtering results of the current largest physical statistical dimension and does not require subsequent updates. Next, the list of physical machines with deployed cloud servers at the physical partition dimension is filtered according to the affinity relationship data and corresponding anti-affinity threshold of the rack dimension, resulting in the filtering results for the rack dimension. This includes a list of physical machines with deployed cloud servers corresponding to the rack dimension. Finally, the list of physical machines with deployed cloud servers corresponding to the rack dimension is filtered according to the affinity relationship data and corresponding anti-affinity threshold of the physical machine dimension, resulting in the filtering results for the physical machine dimension, which includes a list of physical machines with deployed cloud servers corresponding to the physical machine dimension. The physical machines in the list of physical machines without deployed cloud servers and the physical machines in the list of physical machines with deployed cloud servers corresponding to the physical machine dimension are taken as the final schedulable physical machines.

[0095] Finally, the scores of each schedulable physical machine are calculated based on the affinity relationship data corresponding to each physical statistical dimension. The multiple schedulable physical machines are then ranked according to their scores, and the ranking results of the multiple schedulable physical machines are output as the final recommended scheduling results.

[0096] In summary, the resource scheduling method of this application has achieved at least the following technical effects:

[0097] 1) It avoids the problems of high time consumption and low accuracy caused by manually selecting physical machines among a large number of servers;

[0098] 2) The cloud server scheduling results obtained based on the resource scheduling strategy of physical location can achieve the greatest degree of anti-affinity on the existing physical resources;

[0099] 3) Based on the size of the resource range in the physical statistics dimension, physical machines are filtered in descending order of size, which greatly saves the time spent on resource scheduling and improves the efficiency of resource scheduling.

[0100] This application embodiment also provides a resource scheduling device 300, such as... Figure 3 The diagram shows a structural schematic of a resource scheduling device according to an embodiment of this application. The device 300 includes: an acquisition unit 310, a first determination unit 320, a second determination unit 330, and a third determination unit 340, wherein:

[0101] The acquisition unit 310 is used to acquire source data for resource scheduling, the source data including available physical machines, cloud server data and application data;

[0102] The first determining unit 320 is used to determine affinity relationship data in multiple physical statistical dimensions based on the cloud server data and the application data;

[0103] The second determining unit 330 is used to determine the schedulable physical machine from the available physical machines based on the affinity relationship data of each physical statistical dimension and using a preset anti-affinity strategy.

[0104] The third determining unit 340 is used to determine the recommended scheduling result corresponding to the schedulable physical machine based on the schedulable physical machine and the affinity relationship data of each physical statistical dimension.

[0105] In some embodiments of this application, the source data further includes an anti-affinity threshold, and the first determining unit 320 is specifically used to: determine a target physical statistical dimension based on the anti-affinity threshold, wherein the target physical statistical dimension includes at least one of a physical partition dimension and a rack dimension, and a physical machine dimension; and determine the affinity relationship data of the target physical statistical dimension based on the cloud server data and the application data.

[0106] In some embodiments of this application, the first determining unit 320 is specifically used to: determine the mapping relationship between cloud servers and physical machines based on the cloud server data; determine the mapping relationship between applications and cloud servers based on the application data; and, based on the mapping relationship between cloud servers and physical machines and the mapping relationship between applications and cloud servers, count the number of cloud servers corresponding to each application in each physical statistical dimension, as affinity relationship data for each physical statistical dimension.

[0107] In some embodiments of this application, the preset anti-affinity strategy includes a filtering order among multiple physical statistical dimensions and an anti-affinity threshold corresponding to each physical statistical dimension. The second determining unit 330 is specifically used to: filter the available physical machines sequentially based on the filtering order among multiple physical statistical dimensions, according to the affinity relationship data of each physical statistical dimension and the anti-affinity threshold corresponding to each physical statistical dimension, to obtain the filtering results of each physical statistical dimension; and determine the schedulable physical machines based on the filtering results of each physical statistical dimension. The physical statistical dimensions include physical partition dimensions, rack dimensions, and physical machine dimensions, and the filtering order is, in the order of physical partition dimension, rack dimension, and physical machine dimension.

[0108] In some embodiments of this application, the second determining unit 330 is specifically configured to: filter the available physical machines based on the affinity relationship data of the physical partition dimension and the anti-affinity threshold corresponding to the physical partition dimension, to obtain the filtering result of the physical partition dimension, wherein the filtering result of the physical partition dimension includes a list of physical machines with deployed cloud servers and a list of physical machines without deployed cloud servers corresponding to the physical partition dimension; and filter the list of physical machines with deployed cloud servers corresponding to the physical partition dimension based on the affinity relationship data of the rack dimension and the anti-affinity threshold corresponding to the rack dimension, to obtain the rack dimension... The filtering results for the rack dimension include a list of physical machines of deployed cloud servers corresponding to the rack dimension. The list of physical machines of deployed cloud servers corresponding to the rack dimension is filtered based on the affinity relationship data and the anti-affinity threshold corresponding to the physical machine dimension to obtain the filtering results for the physical machine dimension, which also include a list of physical machines of deployed cloud servers corresponding to the physical machine dimension. The schedulable physical machines are determined based on the list of physical machines of non-deployed cloud servers corresponding to the physical partition dimension and the list of physical machines of deployed cloud servers corresponding to the physical machine dimension.

[0109] In some embodiments of this application, the schedulable physical machines include multiple schedulable physical machines, and the third determining unit 340 is specifically used to: determine the score of each schedulable physical machine based on the affinity relationship data between the schedulable physical machines and each physical statistical dimension; sort the multiple schedulable physical machines according to the scores of each schedulable physical machine, and use the sorting result as the recommended scheduling result of the schedulable physical machines.

[0110] In some embodiments of this application, the affinity relationship data for each physical statistical dimension includes the number of cloud servers applied to each physical statistical dimension. The schedulable physical machines include the list of physical machines without deployed cloud servers corresponding to the physical partition dimension and the list of physical machines with deployed cloud servers corresponding to the physical machine dimension. The third determining unit 340 is specifically used to: set the physical machines in the list of physical machines without deployed cloud servers corresponding to the physical partition dimension to full score; and calculate the score of the physical machines in the list of physical machines with deployed cloud servers corresponding to the physical machine dimension based on the number of cloud servers applied to each physical statistical dimension.

[0111] It is understood that the above-mentioned resource scheduling device can implement each step of the resource scheduling method executed by the resource scheduling platform or module provided in the foregoing embodiments. The relevant explanations of the resource scheduling method are applicable to the resource scheduling device and will not be repeated here.

[0112] Figure 4 This is a schematic diagram of the structure of an electronic device according to an embodiment of this application. Please refer to it. Figure 4 At the hardware level, the electronic device includes a processor, and optionally also includes an internal bus, a network interface, and memory. The memory may include main memory, such as high-speed random-access memory (RAM), or non-volatile memory, such as at least one disk drive. Of course, the electronic device may also include other hardware required for other business operations.

[0113] The processor, network interface, and memory can be interconnected via an internal bus, which can be an ISA (Industry Standard Architecture) bus, a PCI (Peripheral Component Interconnect) bus, or an EISA (Extended Industry Standard Architecture) bus, etc. This bus can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 4 The symbol is represented by a single double-headed arrow, but this does not mean that there is only one bus or one type of bus.

[0114] Memory is used to store programs. Specifically, programs may include program code, which includes computer operation instructions. Memory may include main memory and non-volatile memory, and provides instructions and data to the processor.

[0115] The processor reads the corresponding computer program from non-volatile memory into main memory and then runs it, forming a resource scheduling mechanism at the logical level. The processor executes the program stored in memory and specifically performs the following operations:

[0116] Obtain source data for resource scheduling, including available physical machines, cloud server data, and application data;

[0117] Affinity relationship data across multiple physical statistical dimensions is determined based on the cloud server data and the application data;

[0118] Based on affinity data from various physical statistical dimensions, a schedulable physical machine is determined from the available physical machines using a preset anti-affinity strategy.

[0119] The recommended scheduling result corresponding to the schedulable physical machine is determined based on the schedulable physical machine and the affinity relationship data of each physical statistical dimension.

[0120] The above is as stated in this application. Figure 1 The resource scheduling device method disclosed in the illustrated embodiments can be applied to a processor or implemented by a processor. The processor may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method can be completed by integrated logic circuits in the processor's hardware or by instructions in software form. The processor can be a general-purpose processor, including a Central Processing Unit (CPU), a Network Processor (NP), etc.; it can also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in the embodiments of this application can be directly embodied in the execution of a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software module can reside in a mature storage medium in the field, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. This storage medium is located in memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method.

[0121] The electronic device can also perform Figure 1 The method executed by the resource scheduling device, and the implementation of the resource scheduling device in... Figure 1 The functions of the embodiments shown are not described in detail here.

[0122] This application also proposes a computer-readable storage medium that stores one or more programs, the programs including instructions that, when executed by an electronic device including multiple applications, enable the electronic device to perform... Figure 1 The method executed by the resource scheduling device in the illustrated embodiment is specifically used to perform:

[0123] Obtain source data for resource scheduling, including available physical machines, cloud server data, and application data;

[0124] Affinity relationship data across multiple physical statistical dimensions is determined based on the cloud server data and the application data;

[0125] Based on affinity data from various physical statistical dimensions, a schedulable physical machine is determined from the available physical machines using a preset anti-affinity strategy.

[0126] The recommended scheduling result corresponding to the schedulable physical machine is determined based on the schedulable physical machine and the affinity relationship data of each physical statistical dimension.

[0127] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0128] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of 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, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0129] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0130] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0131] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0132] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0133] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0134] It should also be noted that 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 limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0135] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0136] The above description is merely an embodiment of this application and is not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.

Claims

1. A resource scheduling method, wherein, The method includes: Obtain source data for resource scheduling, including available physical machines, cloud server data, and application data; Affinity relationship data across multiple physical statistical dimensions is determined based on the cloud server data and the application data; Based on affinity data from various physical statistical dimensions, a schedulable physical machine is determined from the available physical machines using a preset anti-affinity strategy. The recommended scheduling result corresponding to the schedulable physical machine is determined based on the schedulable physical machine and the affinity relationship data of each physical statistical dimension.

2. The method as described in claim 1, wherein, The source data also includes an anti-affinity threshold, and the determination of affinity relationship data across multiple physical statistical dimensions based on the cloud server data and the application data includes: The target physical statistical dimension is determined based on the anti-affinity threshold, and the target physical statistical dimension includes at least one of the physical partition dimension and the rack dimension, as well as the physical machine dimension; Affinity relationship data for the target physical statistical dimension is determined based on the cloud server data and the application data.

3. The method as described in claim 1, wherein, The determination of affinity relationship data across multiple physical statistical dimensions based on the cloud server data and the application data includes: The mapping relationship between the cloud server and the physical machine is determined based on the cloud server data; The mapping relationship between the application and the cloud server is determined based on the application data; Based on the mapping relationship between cloud servers and physical machines and the mapping relationship between applications and cloud servers, the number of cloud servers corresponding to each application in each physical statistical dimension is counted, which serves as the affinity relationship data for each physical statistical dimension.

4. The method as described in claim 1, wherein, The preset anti-affinity strategy includes a filtering order among multiple physical statistical dimensions and an anti-affinity threshold corresponding to each physical statistical dimension. The step of determining schedulable physical machines from the available physical machines based on the affinity relationship data of each physical statistical dimension using the preset anti-affinity strategy includes: Based on the filtering order among multiple physical statistical dimensions, the available physical machines are filtered sequentially according to the affinity relationship data of each physical statistical dimension and the anti-affinity threshold corresponding to each physical statistical dimension to obtain the filtering results of each physical statistical dimension. The schedulable physical machine is determined based on the filtering results of each physical statistical dimension; The physical statistics dimensions include physical partition dimension, rack dimension, and physical machine dimension, and the filtering order is physical partition dimension, rack dimension, and physical machine dimension.

5. The method as described in claim 4, wherein, The filtering order based on multiple physical statistical dimensions, which sequentially filters the available physical machines according to the affinity relationship data of each physical statistical dimension and the corresponding anti-affinity threshold, yields the filtering results for each physical statistical dimension, including: The available physical machines are filtered based on the affinity relationship data of the physical partition dimension and the anti-affinity threshold corresponding to the physical partition dimension to obtain the filtering result of the physical partition dimension. The filtering result of the physical partition dimension includes a list of physical machines with deployed cloud servers and a list of physical machines without deployed cloud servers corresponding to the physical partition dimension. The list of physical machines of deployed cloud servers corresponding to the physical partition dimension is filtered based on the affinity relationship data of the rack dimension and the anti-affinity threshold corresponding to the rack dimension to obtain the filtering result of the rack dimension. The filtering result of the rack dimension includes the list of physical machines of deployed cloud servers corresponding to the rack dimension. The list of physical machines of deployed cloud servers corresponding to the rack dimension is filtered based on the affinity relationship data of the physical machine dimension and the anti-affinity threshold corresponding to the physical machine dimension to obtain the filtering result of the physical machine dimension. The filtering result of the physical machine dimension includes the list of physical machines of deployed cloud servers corresponding to the physical machine dimension. The step of determining the schedulable physical machine based on the filtering results of each physical statistical dimension includes: The schedulable physical machine is determined based on the list of physical machines with undeployed cloud servers corresponding to the physical partition dimension and the list of physical machines with deployed cloud servers corresponding to the physical machine dimension.

6. The method of claim 1, wherein, The schedulable physical machines include multiple ones, and the step of determining the recommended scheduling result corresponding to the schedulable physical machines based on the schedulable physical machines and the affinity relationship data of each physical statistical dimension includes: The score of each schedulable physical machine is determined based on the affinity relationship data of the schedulable physical machines and each physical statistical dimension. The schedulable physical machines are ranked according to their scores, and the ranking results are used as the recommended scheduling results for the schedulable physical machines.

7. The method of claim 6, wherein, The affinity data for each physical statistical dimension includes the number of cloud servers corresponding to each physical statistical dimension. The schedulable physical machines include the list of physical machines without deployed cloud servers corresponding to the physical partition dimension and the list of physical machines with deployed cloud servers corresponding to the physical machine dimension. Determining the score of each schedulable physical machine based on the affinity data between the schedulable physical machines and each physical statistical dimension includes: Set the physical machines in the list of physical machines without deployed cloud servers corresponding to the physical partition dimension to full score; The score of the physical machine in the list of deployed cloud servers corresponding to the physical machine dimension is calculated based on the number of cloud servers corresponding to each physical statistical dimension of the application.

8. A resource scheduling device, wherein, The device includes: The acquisition unit is used to acquire source data for resource scheduling, including available physical machines, cloud server data, and application data. The first determining unit is used to determine affinity relationship data in multiple physical statistical dimensions based on the cloud server data and the application data; The second determining unit is used to determine the schedulable physical machine from the available physical machines based on the affinity relationship data of each physical statistical dimension and using a preset anti-affinity strategy. The third determining unit is used to determine the recommended scheduling result corresponding to the schedulable physical machine based on the schedulable physical machine and the affinity relationship data of each physical statistical dimension.

9. An electronic device, comprising: processor; as well as A memory configured to store computer-executable instructions, which, when executed, cause the processor to perform the method of any one of claims 1 to 7.

10. A computer-readable storage medium storing one or more programs, which, when executed by an electronic device including a plurality of applications, cause the electronic device to perform the method of any one of claims 1 to 7.