CN116662132A - Evaluation method, virtual deployment method, computer device, and storage medium - Google Patents

Evaluation method, virtual deployment method, computer device, and storage medium Download PDF

Info

Publication number
CN116662132A
CN116662132A CN202310500590.3A CN202310500590A CN116662132A CN 116662132 A CN116662132 A CN 116662132A CN 202310500590 A CN202310500590 A CN 202310500590A CN 116662132 A CN116662132 A CN 116662132A
Authority
CN
China
Prior art keywords
service
server
resource
template
cloud
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310500590.3A
Other languages
Chinese (zh)
Inventor
张明泽
高伟
江文龙
周明伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN202310500590.3A priority Critical patent/CN116662132A/en
Publication of CN116662132A publication Critical patent/CN116662132A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The application relates to the technical field of Internet, in particular to an evaluation method, a virtual deployment method, computer equipment and a storage medium. The cloud resource evaluation method provided by the application comprises the steps of determining service specifications and a basic application template; integrating the business specification into a basic application template to obtain a business template; testing by using a service template, and analyzing a result obtained by the testing to obtain a resource requirement; calculating the resource demand to obtain the required server quantity; interacting with the container cloud platform to establish virtual computing nodes corresponding to the number of servers; and deploying the service template to the virtual computing node to obtain a virtual deployment result. Through the method, the server required by the cloud resources is calculated and evaluated by utilizing the total resource configuration, and the method for verifying the server is provided, so that the cost is reduced, and meanwhile, the accuracy of cloud resource evaluation is improved.

Description

Evaluation method, virtual deployment method, computer device, and storage medium
Technical Field
The present application relates to the field of internet technologies, and in particular, to a cloud resource evaluation method, a cloud resource virtual deployment method, a computer device, and a computer-readable storage medium.
Background
At present, medium-sized and small-sized or even large-sized internet systems mostly purchase and apply public cloud (such as ali cloud, messenger cloud, AWS and the like) resources for deploying internet services, and the cloud resources are estimated according to personal experience or estimated by employing experts when estimating the cloud resources. The estimated result obtained by the conventional estimation mode has a great relation with the personal experience and the abundance of historical data, the operation performance of the cloud on the system is influenced due to the fact that the estimated resources are too few, the resource waste and the cost are increased due to the fact that the estimated resources are too many, and verification cannot be performed after the estimated result is obtained. If the expert is employed to perform more specialized and accurate cloud resource estimation, higher cost is required, and the method is not suitable for enterprises or projects with compact budget.
Disclosure of Invention
In order to solve the above problems, a main object of the present application is to provide a cloud resource evaluation method, a cloud resource virtual deployment method, a computer device, and a computer-readable storage medium, which can improve accuracy of cloud resource evaluation while reducing evaluation cost.
The application provides a cloud resource evaluation method, which comprises the steps of determining service specifications and a basic application template; integrating the business specification into a basic application template to obtain a business template; testing by using a service template, and analyzing a result obtained by the testing to obtain a resource requirement; calculating the resource demand to obtain the required server quantity; interacting with the container cloud platform to establish virtual computing nodes corresponding to the number of servers; and deploying the service template to the virtual computing node to obtain a virtual deployment result.
The application provides a virtual deployment method of cloud resources, which comprises the steps of interacting with cloud resource evaluation nodes to establish virtual computing nodes corresponding to the number of servers, wherein the number of servers is evaluated by the cloud resource evaluation nodes according to service specifications and basic application templates; interacting with the cloud resource evaluation node to deploy a service template to the virtual computing node, wherein the service template is obtained by integrating service specifications into a basic application template; and returning the deployment result to the cloud resource evaluation node.
The application provides a computer device comprising a memory, a processor, the memory being connected to the processor, the memory being for storing a computer program executable on the processor, the processor executing the computer program to implement a method as in any one of the above.
The present application provides a computer readable storage medium storing a computer program which when executed in a computer processor implements a method as claimed in any one of the preceding claims.
The beneficial effects of the application are as follows: compared with the prior art, the application discloses a method for obtaining a service template according to service specifications and a basic application template, obtaining resource requirements by utilizing the service template, calculating the resource requirements to obtain the required number of servers, and virtually deploying according to the number of servers after calculation to obtain a virtual deployment result for reference. The method and the system realize the calculation of the number of servers according to the service specification and the basic application template, are not limited by personal experience, historical data and expert cost, can conveniently obtain the evaluation result of cloud resources, can utilize the evaluation result to carry out virtual deployment so as to verify whether the evaluation result is feasible, and further improve the accuracy of cloud resource evaluation.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for the description of the embodiments will be briefly described below, and it is apparent that the drawings in the following description are only some embodiments of the present application, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art. Wherein:
FIG. 1 is a flowchart of an embodiment of a method for evaluating cloud resources according to the present application.
Fig. 2 is a flow chart of an evaluation server in an embodiment of the cloud resource evaluation method of the present application.
Fig. 3 is a schematic flow chart of an embodiment of a method for evaluating cloud resources according to the present application after server evaluation fails.
Fig. 4 is a schematic flow chart of updating server information in an embodiment of the cloud resource evaluation method of the present application.
Fig. 5 is a flow chart illustrating a method for obtaining a virtual deployment result according to an embodiment of the present application.
Fig. 6 is a flow chart of integrating business specifications and basic application templates in an embodiment of a cloud resource evaluation method according to the present application.
Fig. 7 is a flowchart illustrating a method for acquiring a resource specification according to an embodiment of the present application.
Fig. 8 is a schematic flow chart of testing a service template in an embodiment of the cloud resource evaluation method of the present application.
FIG. 9 is a flowchart illustrating an evaluation by a computing tool according to an embodiment of the method for evaluating cloud resources of the present application.
FIG. 10 is a flow chart of an embodiment of a virtual deployment method of cloud resources according to the present application.
FIG. 11 is a flow chart of creating virtual compute nodes in an embodiment of a virtual deployment method of cloud resources of the present application.
Fig. 12 is a schematic flow chart of virtual deployment in an embodiment of a virtual deployment method of cloud resources according to the present application.
FIG. 13 is a schematic diagram of a computer device according to an embodiment of the present application.
FIG. 14 is a schematic diagram of an interactive flow chart of an embodiment of a method for evaluating and virtually deploying cloud resources according to the present application.
Detailed Description
In order that the above objects, features and advantages of the application will be readily understood, a more particular description of the application will be rendered by reference to the appended drawings. It is to be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the application. It should be further noted that, for convenience of description, only some, but not all of the structures related to the present application are shown in the drawings. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
The terms "first," "second," and the like in this disclosure are used for distinguishing between different objects and not for describing a particular sequential order. Furthermore, the terms "comprise" and "include," as well as any variations thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not limited to only those listed steps or elements but may include other steps or elements not listed or inherent to such process, method, article, or apparatus.
Reference herein to "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment may be included in at least one embodiment of the application. The appearances of such phrases in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Those of skill in the art will explicitly and implicitly appreciate that the embodiments described herein may be combined with other embodiments.
If the technical scheme of the application relates to personal information, the product applying the technical scheme of the application clearly informs the personal information processing rule before processing the personal information and obtains the autonomous agreement of the individual. If the technical scheme of the application relates to sensitive personal information, the product applying the technical scheme of the application obtains individual consent before processing the sensitive personal information, and simultaneously meets the requirement of 'explicit consent'. For example, a clear and remarkable mark is set at a personal information acquisition device such as a camera to inform that the personal information acquisition range is entered, personal information is acquired, and if the personal voluntarily enters the acquisition range, the personal information is considered as consent to be acquired; or on the device for processing the personal information, under the condition that obvious identification/information is utilized to inform the personal information processing rule, personal authorization is obtained by popup information or a personal information peer-to-peer mode of requesting the person to upload the personal information; the personal information processing rule may include information such as a personal information processor, a personal information processing purpose, a processing method, and a type of personal information to be processed.
With the development of science and technology, more and more internet systems are developed to serve our daily lives, and in order to deploy these internet systems with different volumes, enterprises need to prepare hardware devices conforming to the volumes to provide service bases for the enterprises; with the development of public cloud resources, at present, small and medium-sized or even large internet systems tend to purchase and apply public cloud (such as ali cloud, messenger cloud, AWS and the like) resources for deploying internet services. Because too many cloud resources are purchased to cause resource waste and too high cost, too few cloud resources are purchased to influence the running performance of the cloud on the system, and cloud resources which are needed to be occupied by the Internet system are often estimated before public cloud resources are purchased.
Currently, there are two common estimation methods, one is to estimate by a developer according to personal experience, and the other is to use a professional estimation expert to estimate. The estimated result obtained by the method has a great relation with the richness of personal experience, and is unstable and reliable; while the latter cloud resource estimation costs tend to be relatively high and are not suitable for use with enterprises or projects whose budgets are compact. There are also some developers attempting to evaluate cloud resources using programs, but there are also or many limitations, such as: some methods rely on historical data of internet system operation to estimate, and for the historical data, different service specifications can lead to different application resources, and software applications and hardware servers are purchased simultaneously, so that few historical data can be referred to. Moreover, whether the estimation is performed by a developer, expert estimation or reference according to historical data, the feasibility of the estimation result cannot be checked after the estimation, and the accuracy of the estimation result is not guaranteed.
Based on the problems and inconveniences occurring in the current estimation process of cloud resources, the inventors of the present application have long studied, and in order to improve or solve the above technical problems, the present application proposes at least the following embodiments.
FIG. 1 is a flowchart of an embodiment of a method for evaluating cloud resources according to the present application. It should be noted that, if there are substantially the same results, the present embodiment is not limited to the flow sequence shown in fig. 1. As shown in fig. 1, the present embodiment includes:
s100: and determining the service specification and the basic application template.
The cloud resource evaluation method can be operated on the equipment system of the server and/or the client. The client may be a desktop, a mobile terminal, or a tablet running client software, which when running generates a man-machine interface on which a user may operate using a man-machine interface such as a touch screen, a mouse, a keyboard, or the like. In this embodiment, client software is used as an execution body for running the evaluation method of cloud resources.
The data transmission between the electronic device where the client software is located and the electronic device where the server software is located can be completed through means such as Ethernet (local area network), WLAN (wireless local area network) and the like. The step of determining the service specification and the basic application template may be obtained according to information input by a user, or may be automatically performed by client software, for example: the client software is used for inputting service specifications and basic application templates selected by the user through a man-machine interface.
Alternatively, the client software may be client software of a distribution system, including a distribution page, in which a user may utilize a man-machine interface to perform a distribution operation to input a service specification and/or select a basic application template. The client may be a cloud resource evaluation node, and the server may be a container cloud platform.
Optionally, the client software may also perform an automatic order allocation operation according to a preset to automatically determine the service specification and the basic application template.
Optionally, the user may send a selection instruction of the service specification and the application version to the order distribution system on the order distribution page of the client software, and the client software of the order distribution system obtains a tool for implementing the cloud resource evaluation method, so as to finally complete the evaluation requirement set by the user. After the evaluation process is completed, the obtained server list can be displayed by using a man-machine interface such as a display through client software of the order distribution system for reference by a user.
Optionally, the service specification may be a service requirement specification of an application needing cloud resource assessment, and hardware resources required by the application in running may be estimated according to the service specification.
Alternatively, the hardware resources may include the number of cpu (central processing unit) cores, the memory size, the number of disks, and/or the disk capacity required for the evaluated application to run, where the server needs to reserve the hardware resources.
Optionally, the basic application template may be automatically acquired by the client software according to the service specification, or may be acquired according to a selection input by the user using the man-machine interface. The user may select a version and/or type of the underlying application template.
Alternatively, the client software may obtain the base application template from a database (application template repository) by a help pull instruction and save it to the client cache, where the base application template should include at least one service.
Optionally, the one-time order allocation request may include at least one service specification, different service specifications correspond to different basic application templates one by one, the one-time order allocation request includes an application version, and the basic application templates determined by each order allocation correspond to the same application version.
S200: and integrating the business specification into the basic application template to obtain the business template.
And the client software integrates the service specification and the basic application template determined in the step S100, so as to obtain a service template matched with the service specification.
Optionally, since the one-time order may include more than one service specification, each service specification may be integrated into the basic application template corresponding to the one service specification in step S200, so as to obtain at least one service template corresponding to the at least one service specification one by one.
Optionally, referring to fig. 6, fig. 6 is a schematic flow chart illustrating a process of integrating a business specification and a base application template in an embodiment of a cloud resource evaluation method according to the present application. It should be noted that, if there are substantially the same results, the present embodiment is not limited to the flow sequence shown in fig. 6. As shown in fig. 6, the present embodiment includes:
s101: analyzing the basic application template to obtain a value file in the basic application template, and obtaining the resource specification meeting the service specification by utilizing the service specification.
The client software decompresses the basic application template acquired into the client cache or directly acquires the value file in the basic application template.
Optionally, before integrating the service specification into the basic application template, the service specification may be converted into a hardware resource, i.e., a resource specification, required by the application at runtime. Fig. 7 is a flowchart illustrating a method for acquiring a resource specification according to an embodiment of the present application. It should be noted that, if there are substantially the same results, the present embodiment is not limited to the flow sequence shown in fig. 7. As shown in fig. 7, the present embodiment includes:
s111: and acquiring a plurality of different resource gears corresponding to the resource specifications one by one, and matching the service specifications with the resource gears.
The client software obtains a service specification and matches a corresponding resource gear by using the service specification, wherein the service specification indicates the specification of a service required to be performed by an application, for example, what service the application needs to be capable of performing and how much access can be borne. The resource gear is used for corresponding the service specification and the hardware resource, so that the hardware resource corresponding to the service specification of the allocation list can be obtained by utilizing the process of matching the resource gear.
Optionally, the service specification may be obtained from a database by the server software and sent to the client software, or may be obtained directly from the database by the client software, or may be obtained directly from the client software and sent to the user through a man-machine interface.
S112: and responding to the matching of the corresponding resource gear, and acquiring the resource specification corresponding to the resource gear.
And in response to matching the resource gear corresponding to the service specification, the client software acquires the corresponding resource specification according to the resource gear.
S113: and in response to the fact that the corresponding resource gear is not matched, selecting the resource gear which is larger than the service specification and is closest to the service specification, and obtaining the resource specification corresponding to the resource gear.
And in response to the fact that the resource gear corresponding to the service specification is not matched, the client software automatically selects the resource gear which is larger than the service specification but closest to the service specification, and acquires the resource specification corresponding to the resource gear, so that the enough hardware resources are ensured and excessive waste is not caused.
The step S112 and the step S113 may be performed in a different order, or may be performed in an actual operation.
Alternatively, the mechanism for matching the resource gear that is larger than the service specification but closest to the service specification by using the service specification may be: the client software upwards matches the resource gear according to the service specification. For example: the service specification obtained by the client software is 75, and the resource gear is 50, 100 and 150, and then the client software takes 100 as the required resource gear; after determining the resource gear, the client software obtains the corresponding resource specification according to the 100 resource gear, and uses the resource specification as the resource specification required by the next evaluation process.
Optionally, before obtaining the base application template, the client software receives a selected instruction of the base application version.
The selected instruction can be automatically triggered and sent by the client software after entering the evaluation flow, and can be actively sent by a user according to actual requirements.
S102: integrating the resource specification into a value file, thereby updating the basic application template to obtain the service template.
The client software integrates the resource specification obtained in the step S101 into the value file to generate a new value file conforming to the service specification, thereby updating the basic application template to obtain the service template conforming to the service specification.
S300: and testing by utilizing the service template, and analyzing the result obtained by the testing to obtain the resource requirement.
The client software performs pseudo deployment on the service template containing the new value file by utilizing the help instruction to test the service template, and analyzes the pseudo deployment result, thereby obtaining the CPU (central processing unit) core number, the memory size, the disk number and/or the disk capacity which are specifically corresponding to each service in the service template, namely, the resource requirements corresponding to the services one by one.
Referring to fig. 8, fig. 8 is a schematic flow chart of testing a service template in an embodiment of a cloud resource evaluation method according to the present application. It should be noted that, if there are substantially the same results, the present embodiment is not limited to the flow sequence shown in fig. 8. As shown in fig. 8, the present embodiment includes:
s301: and obtaining a service template, and testing the service template through a palm instruction dry-run parameter to obtain a yaml file.
The client software acquires a service template, performs 'pseudo deployment' on the service template through a dry-run parameter of a palm instruction, namely only tests the service template but does not actually install the service template, and outputs a pseudo deployment result in a yaml file format after the test.
S302: analyzing the yaml file obtained by the test to obtain the resource requirement of the corresponding service template, and judging whether other service templates exist.
The client software analyzes the yaml file obtained by testing the service template in the 'pseudo deployment' of this time, so as to obtain the resource requirement corresponding to the service template. Since more than one service template can be used, whether other service templates exist is judged after the resource requirement of one service template is obtained.
S303: and returning to acquire one business template aiming at the other business template in response to the existence of the other business template, and testing the business template through a palm instruction dry-run parameter to obtain a yaml file.
In response to the existence of other service templates, the client software returns to step S301 for another service template, and continues to obtain the resource requirement corresponding to the other service template until the resource requirements corresponding to all the service templates are obtained.
S400: and calculating the resource requirement to obtain the required server quantity.
The client software refers to the resource requirements corresponding to each service in the service templates obtained in step S300 to evaluate the servers, thereby obtaining the total number of servers required by all the service templates obtained by the current order allocation request.
Fig. 2 is a flow chart of an evaluation server in an embodiment of the cloud resource evaluation method of the present application. It should be noted that, if there are substantially the same results, the present embodiment is not limited to the flow sequence shown in fig. 2. As shown in fig. 2, the present embodiment includes:
s011: server information of a real server is obtained from a container cloud platform.
Before proceeding to step S300, the server software needs to obtain server information for evaluation from a container cloud platform that provides cloud resources, where the server information includes server labels and server resource configurations of servers in a server list.
Alternatively, the base application template may include at least one service, so the business template converted on the basis of the base application template may include at least one service. In addition, the resource requirement corresponding to each service template calculated in step S300 may also correspond to at least one service in the service template, so that the resource requirement can represent the hardware resource of the server that needs to be occupied by each service template when actually deployed, and the hardware resource of the server that needs to be occupied by each service when deployed.
S401: and acquiring an affinity relation between the service and the service in the service template, and matching the service with the server information by referring to the affinity relation.
The client software obtains the affinity relation between the services in the business template and matches the server information with the services by referring to the affinity relation. Wherein the affinity relationship between services is actually whether the services can be deployed on the same server when deployed, for example, two services having a synergistic effect when working appear to be mutually compatible, so that they can be deployed on the same server. Servers meeting service requirements at the affinity level can be screened out of a plurality of servers according to the affinity relation, so that hardware resources of the servers can be further calculated, and servers which can really deploy the services are selected.
Alternatively, the affinity relationship between services may be embodied by a tag. For example, a service tag may be provided in a service, a server tag may be included in server information of a real server, and the service tag of the service may be added to the server tag after the service is deployed on the server, so that it is determined, according to affinity between services, on which server tag a service with a certain service tag should be deployed.
Alternatively, the process of matching servers for services using affinity may be: the method includes a first step of acquiring a service tag of a service, and matching the service tag of a service that is not exclusive to the service in a service period tag of server information by using an affinity relationship, and a second step of acquiring server information including the matched service tag as server information matched to the service.
In step S401, the client software matches the server with the corresponding server tag in the server information according to the service tag of the service and the association relationship with the server tag.
S402: and acquiring the residual resources in the matched server information, and evaluating the residual resources by utilizing the resource requirements corresponding to the service.
The client software acquires the residual resources in the matched server information, and evaluates the residual resources by utilizing the resource requirements corresponding to the service, thereby evaluating whether the residual resources of the server can meet the resource requirements for deploying the service.
Alternatively, the remaining resources and resource requirements may be the remaining hardware resources of the server, reserved hardware resources. The association of the service tag and the server tag represents an affinity policy and a counteraffinity policy between services.
Wherein the logic of the evaluation algorithm is similar to the scheduler logic of k8s, in order to ensure that copies can be efficiently scheduled to run when the application is deployed, the residual resources of the server at the time of evaluation should be evaluated by setting a value smaller than the residual resources of the real server as a threshold, for example, by evaluating 90% of the total resources of the hardware of the real server, so that a margin is left for the running of the real server to be not full.
Alternatively, the number of server information matched in step S401 may be plural, and the client software will sequentially evaluate the server information in a certain order, and only one server information capable of meeting the resource requirement of the service is selected after the evaluation.
S403: and in response to the evaluation passing, judging that the server information meets the requirement of the deployment service, and adding the server information into a server list.
In response to the evaluation passing, the client software determines that the server information meets the requirements for deploying the service, and thus adds the server information to the server list.
Optionally, after determining that the server information meets the requirement of deploying the service, a service tag of the service may be added to a server tag of the server information, so that an affinity relationship is reflected in a process of matching a subsequent service with the server.
S404: and after the server information is matched and evaluated by each service, the server information in the server list is counted, so that the server quantity of the required real servers is obtained.
After all the services in the current order request are matched with the server information and evaluated, the client software counts the server information in the server list, so that the server number of the real servers required by the current order request is obtained.
After step S402, the result of the evaluation may also be failed, referring to fig. 3, fig. 3 is a schematic flow chart of the method for evaluating cloud resources according to an embodiment of the present application after the server evaluation fails. It should be noted that, if there are substantially the same results, the present embodiment is not limited to the flow sequence shown in fig. 3. As shown in fig. 3, the present embodiment includes:
s402: and acquiring the residual resources in the matched server information, and evaluating the residual resources by utilizing the resource requirements corresponding to the service.
The client software acquires the residual resources in the matched server information, and evaluates the residual resources by utilizing the resource requirements corresponding to the service, thereby evaluating whether the residual resources of the server can meet the resource requirements for deploying the service.
S405: in response to the evaluation failing, it is determined whether there is other server information matching the service.
In response to the evaluation failing, the client software determines if there is additional server information that matches the service according to the affinity relationship.
Step S403 and step S405 may be performed in alternative order in actual operation.
S406: and in response to the existence of other server information matched with the service, returning to acquire the residual resources in the matched server information aiming at the other server information, and evaluating the residual resources by utilizing the resource requirements corresponding to the service so as to judge whether the server information meets the requirements of deploying the service.
In response to the presence of other server information matching the service, the process returns to step S402 for the other server information, whereby the remaining resources of the other server information are evaluated to determine whether the other server information meets the requirements for deploying the service.
S407: and in response to the absence of other server information matching the service, adding the server information matching the service to the server list.
And in response to the absence of other server information matched with the service, the client software adds the server information matched with the service in the server list according to the server information of the real server.
Optionally, after the server information matched with the service is newly added, a service tag of the service can be added into the server tag of the server information, so that the affinity relationship is reflected in the process of matching the subsequent service with the server.
Step S406 and step S407 are not sequential, and may be performed in alternative in actual operation.
Optionally, after the server information for deploying the service is evaluated, the remaining services need to be matched and evaluated, but since the remaining resources in the server information are not shared with other services after being occupied by one service, the remaining resources of the server information need to be updated. Referring to fig. 4, fig. 4 is a flow chart illustrating updating server information in an embodiment of a cloud resource evaluation method according to the present application. It should be noted that, if there are substantially the same results, the present embodiment is not limited to the flow sequence shown in fig. 4. As shown in fig. 4, the present embodiment includes:
s411: and calculating new residual resources after the server information meets the requirements of the deployment service by utilizing the resource requirements.
After the evaluation is passed, the client software calculates new residual resources after the server information passing the evaluation meets the requirement of service deployment by utilizing the resource requirement corresponding to the service.
S412: and updating the residual resources in the server information by using the calculated new residual resources.
The client software updates the residual resources in the server information by using the calculated new residual resources, and in the subsequent evaluation of the server information by other services, the updated residual resources are referred to for evaluation, so that calculation errors caused by untimely updating of the residual resources are avoided.
S500: and interacting with the container cloud platform to establish virtual computing nodes corresponding to the number of servers.
The client software interacts with the container cloud platform capable of virtually deploying the service templates, so that virtual computing nodes corresponding to the number of servers are built on the container cloud platform, and a foundation is built for virtual deployment of the service templates. The server list and the number of servers obtained in the step S400 can be verified through virtual deployment, so that reliability of the cloud resource evaluation result is further improved.
Optionally, in step S500, when the client software needs to interact with the container cloud platform, the server list and the number of servers are sent to the container cloud platform, so that the container cloud platform can build virtual computing nodes corresponding to the number of servers by using the server list.
The virtual computing nodes are in one-to-one correspondence with the server information in the server list, the resources when the virtual computing nodes are built are configured to be the residual resources when the requirements of any service are not met, and the virtual computing nodes can further comprise server labels corresponding to the server information.
S600: and deploying the service template to the virtual computing node to obtain a virtual deployment result.
The client software interacts with the container cloud platform, so that the service template is deployed on the virtual computing node, and a virtual deployment structure is obtained from the container cloud platform to judge whether the server list and the server number obtained in the step S400 are reliable.
Optionally, when the client software interacts with the container cloud platform, the service template can also be sent to the container cloud platform, so that the container cloud platform can deploy all services in the service template to virtual computing nodes including corresponding server labels respectively.
Optionally, referring to fig. 5, fig. 5 is a schematic flow chart of obtaining a virtual deployment result in an embodiment of the cloud resource evaluation method according to the present application. It should be noted that, if there are substantially the same results, the present embodiment is not limited to the flow sequence shown in fig. 5. As shown in fig. 5, the present embodiment includes:
S601: and obtaining a virtual deployment result of the service template from the container cloud platform.
And the client software interacts with the container cloud platform, so that a virtual deployment result of the service template is obtained from the container cloud platform.
S602: and in response to failure of virtual deployment of the service template, re-calculating the tested resource requirements to obtain the required number of servers, re-interacting with the container cloud platform to establish virtual computing nodes with the number of servers, and re-attempting to deploy the service template to the virtual computing nodes.
And responding to the failure of the virtual deployment result of the service template obtained by the current order allocation request, and the client software re-calculates the resource requirement obtained by the test to obtain the required server quantity, re-interacts with the container cloud platform to establish virtual computing nodes with the server quantity, and re-tries to deploy the service template to the virtual computing nodes.
S603: and in response to successful virtual deployment of the service template, storing a server list and the number of servers as an evaluation result of the cloud resources.
Step S602 and step S603 are not sequential, and may be performed in alternative in actual operation.
And responding to the success of the virtual deployment result of the service template, and storing a server list and the number of servers by the client software as an evaluation result of cloud resources obtained by the current configuration request.
Optionally, the evaluation result of the cloud resource may be automatically saved to a cache of the local client, or sent to the designated client according to the user requirement. The client software may also send the server list and the number of servers to other users or software, thereby notifying the relevant users or the software purchases the cloud resource service according to the server list and the number of servers or performs actual deployment of the internet system according to the server list.
By using the method provided by the embodiment, a user needing to perform cloud resource evaluation can obtain the required number of servers with the help of the basic application template only by providing the service specification required by the Internet system, and does not need to refer to the historical data of the operation of the Internet system; moreover, the software is used for automatic evaluation, so that errors and high cost caused by manual evaluation of cloud resources are avoided, and the efficiency of cloud resource evaluation can be improved. Meanwhile, after the number of the servers is obtained, the assessment results can be simulated and deployed on the container cloud platform, so that the accuracy of cloud resource assessment can be further improved according to the virtual deployment results, and further guarantee is provided for final deployment and stable operation of the Internet system.
Alternatively, after step S100 and before step S300, the client software needs to acquire a calculation tool for performing step S300 and step S400, and perform step S300 and step S400 using the calculation tool. Referring to fig. 9, fig. 9 is a flow chart illustrating an evaluation by using a computing tool according to an embodiment of the method for evaluating cloud resources of the present application. It should be noted that, if there are substantially the same results, the present embodiment is not limited to the flow sequence shown in fig. 9. As shown in fig. 9, the present embodiment includes:
S201: and acquiring a resource calculation tool, and acquiring a basic application template corresponding to the application version and the service specification from the application template library by using the resource calculation tool.
The client software obtains a resource calculation tool, and obtains a basic application template corresponding to the application version and the service specification from the application template library by utilizing the resource calculation tool.
Optionally, after step S100 and before step S201, the client software further needs to obtain a computing tool corresponding to at least one service specification. Wherein the computing tools may include at least one resource computing tool in one-to-one correspondence with at least one business specification, and a server computing tool. The resource calculation tool can be used for acquiring a basic application template and completing the steps of integrating the business specification into the basic application template to obtain the business template; the server computing tool may then be used to complete the step of computing the resource requirements to obtain the number of servers needed, and one server computing tool may compute at least one resource requirement.
Alternatively, the computing tool may be obtained from the client's local cache directly for the client software, or may be obtained from a database of the computing tool by the client software, or may be obtained by the server and sent to the client, and then received and used by the client software.
S202: and integrating the service specifications into the basic application template by using the resource calculation tool to obtain the service templates corresponding to the service specifications one by one.
And the client software integrates the corresponding service specifications into the basic template by utilizing the resource calculation tool to obtain the service templates corresponding to the service specifications one by one.
S203: another resource calculation tool is obtained.
Because the number of service specifications may be at least one, the resource calculation tool corresponds to the number of service specifications one-to-one, and thus the client software needs to obtain at least one resource calculation tool to calculate at least one service specification. Thus, after obtaining one business template, the client software may attempt to obtain another resource calculation tool to calculate another business template until calculation of all business specifications is completed, to obtain at least one business template of the same number as at least one business specification.
S204: responsive to the presence of another resource computing tool, performing, for the other resource computing tool, the step of integrating the business specifications into the underlying application template using the resource computing tool, resulting in a business template that corresponds one-to-one to the business specifications.
In response to the presence of another resource computing tool, the client software performs step S202 for the other resource computing tool, resulting in another business template corresponding to another business specification.
S205: in response to the absence of another resource computing tool, a server computing tool is acquired.
In response to the absence of another resource computing tool, the client software obtains a server computing tool of the computing tools. After the calculation of all the service specifications is completed, the client software obtains at least one service template corresponding to the service specifications one by one, so that the service templates and the server information acquired from the server can be evaluated by using a server calculation tool. The server computing tool is universal and can be used for evaluating any business template.
The steps S204 and S205 are not sequential, and may be performed in alternative in actual operation.
Optionally, after step S302, when no other service templates exist, that is, all service templates are calculated by using the server computing tool and the resource requirement corresponding to one of the service templates is obtained, the client software may continue to use the server computing tool to complete the step of calculating each resource requirement to obtain the required number of servers.
FIG. 10 is a flow chart of an embodiment of a virtual deployment method of cloud resources according to the present application. It should be noted that, if there are substantially the same results, the present embodiment is not limited to the flow sequence shown in fig. 10. As shown in fig. 10, the present embodiment includes:
s700: and interacting with the cloud resource assessment nodes to establish virtual computing nodes corresponding to the number of servers.
The virtual deployment method of the cloud resource can be operated on the equipment system of the server and/or the client. The server may be a desktop, mobile terminal, or tablet running server software. In this embodiment, server software of the container cloud platform is used as an execution main body of the virtual deployment method for running the cloud resources.
The data transmission can be completed between the electronic device where the server software of the container cloud platform is located and the client software of the cloud resource evaluation node through means such as Ethernet, WLAN (wireless local area network) and the like. The information such as the number of servers required for establishing the virtual computing node can be obtained from the cloud resource evaluation node by utilizing a data transmission means, or can be obtained by calculation through a container cloud platform, for example: the container cloud platform interacts with the cloud resource assessment nodes to establish virtual computing nodes corresponding to the number of servers.
Optionally, the container cloud platform creates a control component for deploying the business templates onto the virtual compute nodes before interacting with the cloud resource assessment nodes to establish the virtual compute nodes corresponding to the number of servers. The control component may be an automatically generated CRD for k8s corresponding to the virtual compute node. After the control component is created, the container cloud platform can monitor the creation of the virtual computing node and learn the situation in the virtual computing node through the control component. Thus, the service template can be deployed to the virtual computing node through the k8s simulated scheduling service.
The process of creating a virtual computing node by the server software of the container cloud platform can refer to fig. 11, and fig. 11 is a schematic flow chart of creating a virtual computing node according to an embodiment of the virtual deployment method of cloud resources of the present application. It should be noted that, if there are substantially the same results, the present embodiment is not limited to the flow sequence shown in fig. 11. As shown in fig. 11, the present embodiment includes:
s710: and receiving a server list and the number of servers sent by the cloud resource evaluation node.
And the container cloud platform receives the server list and the server quantity sent by the cloud resource evaluation node. The server list and the number of servers can be obtained by calculating information input by a user through a calculation tool for the client software of the cloud resource evaluation node.
Alternatively, the server list and the number of servers may be obtained by evaluating the cloud resource evaluation node according to the service specification, the basic application template and the server information of the real server. The server list may include server information obtained by evaluation, and the number of servers may be obtained for the server information in the statistics server list. The server information may include a server tag and remaining resources.
S720: a container corresponding to the virtual compute node is created.
In response to the control component monitoring that the container cloud platform receives the list of servers and the number of servers sent by the cloud resource assessment node, the control component creates a container corresponding to the virtual computing node, the container being usable to masquerade as the virtual computing node.
Alternatively, a masquerading program for masquerading the container as a virtual computing node and interacting with outside of the container may be included in the container, and the resource configuration of the virtual computing node corresponds one-to-one to the remaining resources when the demand of any service is not satisfied. The virtual computing node may further include a server tag corresponding to the server information to correspond the virtual computing node to the server information one-to-one, so that the service template is conveniently deployed on the virtual computing node by using the tag.
By setting the disguising program in the container, the node reporting function and the container state reporting function like the kubelet component in k8s can be realized, so that the container cloud platform can correctly perceive the condition in the virtual computing node and the deployment state of the service template outside the container when the service template is virtually deployed.
S730: and taking the resource configuration of the virtual computing node as an environment variable and transmitting the environment variable into a corresponding container, acquiring the resource configuration of the virtual computing node from the environment variable by the masquerade program, and adjusting the container into the virtual computing node according to the resource configuration of the virtual computing node.
And the container cloud platform takes the resource configuration of the virtual computing node as an environment variable and transmits the environment variable into a corresponding container, and the disguising program acquires the resource configuration of the virtual computing node from the environment variable. The disguising program interacts with the control component to report the resource configuration of the virtual computing node to the control component, and the control component recognizes the container as a real server capable of deploying the service, thereby taking the container as the virtual computing node.
Alternatively, the environment variables may include the number of cpu cores, memory size, disk configuration, and/or gpu (graphics processor) configuration, among other configurations.
S740: and setting server labels corresponding to the server information one by one on the virtual computing nodes through the disguising program.
The container cloud platform sets server labels corresponding to the server information one by one on the virtual computing nodes through disguising programs, so that services can be dispatched to the corresponding virtual computing nodes when the service templates are virtually deployed.
S800: interaction is performed with the cloud resource assessment node to deploy the business template to the virtual computing node.
The container cloud platform interacts with the cloud resource assessment node to obtain a business template from the cloud resource assessment node, and the business template is deployed on the virtual computing node.
Optionally, the process of deploying a service template to a virtual computing node may refer to fig. 12, and fig. 12 is a schematic flow chart of virtual deployment in an embodiment of a virtual deployment method of cloud resources according to the present application. It should be noted that, if there are substantially the same results, the present embodiment is not limited to the flow sequence shown in fig. 12. As shown in fig. 12, the present embodiment includes:
s810: and receiving a service template sent by the cloud resource evaluation node.
And the container cloud platform receives the service template sent by the cloud resource evaluation node. The service template comprises at least one service, and service labels with association relation with the server labels are in the service.
S820: according to the association relation between the service label and the server label, a service is obtained, the control component deploys the service to the virtual computing node with the corresponding server label, and receives the deployment result of the service in the container reported by the disguise program, and whether deployment is successful or not is judged.
According to the association relation between the service label and the server label, the container cloud platform acquires a service, deploys the service to the virtual computing node with the corresponding server label by utilizing the control component, and receives the deployment result of the service in the virtual computing node reported by the disguise program in the virtual computing node, so as to judge whether deployment is successful.
S830: and responding to the failure of the deployment service, and reporting the result of the virtual deployment failure to the control component by the disguising program.
And responding to the failure of the deployment result of the service in the virtual computing node, and reporting the virtual deployment failure result to the control component by the disguising program so as to inform the container cloud platform.
S840: and responding to successful deployment of the service, automatically setting the state of the service as running by the disguising program, reporting the result of successful virtual deployment to the control component, and judging whether another service exists.
Step S830 and step S840 are not sequential, and may be performed in alternative in actual operation.
And responding to the successful deployment result of the service in the virtual computing node, automatically setting the state of the service deployed on the virtual computing node to be running by the disguising program, so that the control component can consider that the service can be deployed on the virtual computing node and can run smoothly, and reporting the successful virtual deployment result to the control component to inform the container cloud platform.
Optionally, since the service template generated by the one-time configuration list may include a plurality of services, after one service is successfully deployed to the virtual computing node, the container cloud platform determines whether another service to be deployed exists.
S850: responding to the existence of another service, acquiring one service for the other service, deploying the service on a virtual computing node with a corresponding server label by a control component, receiving a deployment result of a service template in a container reported by a disguised program, and judging whether deployment is successful or not; otherwise, ending the flow.
In response to there being another service that needs to be deployed to the virtual compute node, the container cloud platform performs steps S820 through S830 or S840 for that service. When another service which needs to be deployed to the virtual computing node does not exist, the process of deploying the service template to the virtual computing node is finished, so that virtual deployment is carried out on all the services in the service template, a server list and the number of servers can be completely and effectively verified, and the accuracy of a cloud resource evaluation result is ensured.
S900: and returning the deployment result to the cloud resource evaluation node.
And the virtual deployment result of the business template on the virtual computing node, which is notified by the container cloud platform control component, is returned to the cloud resource evaluation node.
Optionally, the cloud resource assessment node may determine, according to the result of the virtual deployment, whether to re-evaluate the real server, retrieve a server list and the number of servers for the virtual deployment.
Optionally, when the container cloud platform sends a message of failure of virtual deployment to the cloud resource assessment node, the cloud resource assessment node may be notified to recalculate the number of servers and the server list, so as to perform, for the recalculated number of servers and the server list, a step of interacting with the cloud resource assessment node to establish a virtual computing node corresponding to the number of servers, and a step of interacting with the cloud resource assessment node to deploy a service template to the virtual computing node.
Optionally, when the container cloud platform sends a message that the virtual deployment is successful to the cloud resource assessment node, the cloud resource assessment node may be notified to store the server list and the number of servers as an assessment result of the cloud resource. Furthermore, the client software of the cloud resource evaluation node can feed back the evaluation result of the cloud resource to the user performing the order allocation operation through the order allocation page.
FIG. 13 is a schematic diagram of a computer device according to an embodiment of the present application. It should be noted that the present embodiment is not limited to the structure shown in fig. 13 if the same results are substantially achieved. As shown in fig. 13, the computer device 1 of the present embodiment includes: a processor 11, a computer readable storage medium 12.
Wherein the processor 11 is connected to the computer readable storage medium 12, and is configured to execute program instructions stored in the computer readable storage medium 12 to evaluate and/or verify cloud resources according to the method of any embodiment of the present application; the computer readable storage medium 12 stores a program file product for implementing the service data processing method according to any embodiment of the present application, including a number of instructions/computer programs for causing a computer device 1 (which may be a personal computer, a server, or a network device, etc.) or a processor 11 (processor) to perform all or part of the steps of the method according to the embodiments of the present application. And the aforementioned computer-readable storage medium 12 includes: various media such as a usb disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a magnetic disk or an optical disk, and electronic devices such as a computer, a mobile phone, a notebook computer, a tablet computer, and a camera having the above-described storage media.
In the embodiments provided in the present application, it should be understood that the disclosed electronic device and the interactive processing method may be implemented in other manners. For example, the above-described embodiments of the electronic device are merely illustrative, e.g., the division of modules or units is merely a logical functional division, and there may be additional divisions when actually implemented, e.g., multiple units or components may be combined or integrated into another system, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed over a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the embodiment.
In addition, each functional unit in the embodiments of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
FIG. 14 is a schematic diagram of an interactive flow chart of an embodiment of a method for evaluating and virtually deploying cloud resources according to the present application. It should be noted that, if there are substantially the same results, the present embodiment is not limited to the flow sequence shown in fig. 14. As shown in fig. 14, the client software of this embodiment may be a cloud resource evaluation node, and the server software may be a container cloud platform, where this embodiment includes:
and the user sends the order allocation request through the client software, so that an instruction for acquiring the service specification in the order allocation request and a selected instruction of the application version are issued. The server software receives the instruction, acquires a corresponding version of the basic application template from the application template library, and acquires a calculation tool for calculation and evaluation.
And integrating the business specification and the basic application template by the client software by using a resource calculation tool to obtain a business template. And after integrating all the service specifications and all the basic application templates, testing the obtained service templates by using a server computing tool to obtain resource requirements. The client software obtains server information of the real server from the server software.
The client software evaluates the server information based on the business templates using the server computing tool to obtain a list of servers that are needed and the number of servers in the list of servers. The client software sends a message for creating virtual computing nodes corresponding to the number of servers and virtually deploying the service templates to the server software. In response to the message, the server software obtains a server list from the client software. The server software creates a control component and a container to create a virtual computing node including server information according to the server list, and then adds a corresponding server tag on the virtual computing node according to the server information.
The service end software obtains the service template from the client software, so that virtual deployment is carried out on the service template, and each service in the service template is scheduled to a corresponding virtual computing node. And responding to the deployment result as failure, and sending a message of the deployment failure to the client software by the server software.
In response to the message, the client software re-utilizes the server computing tool and resource requirements to evaluate the server information. The client software sends a message for creating virtual computing nodes corresponding to the new server number and virtually deploying the service templates by using the newly obtained server list and the server number to the server software. In response to the message, the server software obtains a new server list from the client software, thereby creating a virtual compute node from the new server list and deploying the business template onto the virtual compute node.
And responding to the successful deployment result, and sending a message of successful virtual deployment to the client software by the server software. And responding to the message of successful virtual deployment, and allowing the client software to consider that the result of the cloud resource evaluation passes, so as to output a server list and the number of servers obtained by the configuration request.
In this embodiment, the client software can obtain a service template corresponding to the service specification in the order allocation request by using the service specification and the basic application template, calculate a corresponding resource requirement according to the service template, evaluate the service specification by using server information and the resource requirement of the real server, finally obtain a server list and the number of servers required by the order allocation request, and call the container cloud platform to add virtual nodes to verify the server list and the number of servers. The physical server resources required by the current allocation request can be evaluated without historical evaluation and operation data, and virtual deployment can be utilized for verification after the evaluation of the physical server resources required by the current allocation request is completed, so that the accuracy of cloud resource evaluation is ensured.
The foregoing is only the embodiments of the present application, and therefore, the patent scope of the application is not limited thereto, and all equivalent structures or equivalent processes using the descriptions of the present application and the accompanying drawings, or direct or indirect application in other related technical fields, are included in the scope of the application.

Claims (12)

1. The cloud resource assessment method is characterized by comprising the following steps of:
determining service specifications and basic application templates;
Integrating the business specification into the basic application template to obtain a business template;
testing by utilizing the service template, and analyzing a result obtained by the testing to obtain a resource requirement;
calculating the resource requirements to obtain the required server quantity;
interacting with a container cloud platform to establish virtual computing nodes corresponding to the number of servers;
and deploying the service template to the virtual computing node to obtain a virtual deployment result.
2. The method for evaluating cloud resources according to claim 1, wherein,
the business template and the basic application template comprise at least one service, and the service corresponds to the resource requirement;
before the calculating the resource requirement to obtain the required number of servers, the method comprises the following steps:
server information of a real server is obtained from the container cloud platform;
the calculating the resource requirement to obtain the required number of servers includes:
acquiring an affinity relation between the service and the service in a service template, and matching the service with the server information by referring to the affinity relation;
obtaining the matched residual resources in the server information, and evaluating the residual resources by utilizing the resource requirements corresponding to the service;
Responding to the passing of the evaluation, judging that the server information meets the requirement of deploying the service, and adding the server information into a server list;
and after matching and evaluating the server information by utilizing each service, counting the server information in the server list, thereby obtaining the number of the servers of the real server required.
3. The method for evaluating cloud resources according to claim 2, wherein,
after the evaluating the remaining resources by using the resource requirements corresponding to the service, the method further includes:
responsive to the evaluation failing, determining if there is other server information matching the service;
responding to the existence of other server information matched with the service, returning the residual resources in the server information matched with the acquisition aiming at the other server information, and evaluating the residual resources by utilizing the resource requirements corresponding to the service so as to judge whether the server information meets the requirements of deploying the service; or alternatively, the first and second heat exchangers may be,
in response to the absence of other server information matching the service, newly adding the server information matching the service in the server list;
Said responding after said evaluating passes and after said adding newly said server information matching said service in said server list comprises:
calculating new residual resources after the server information meets the requirement of deploying the service by utilizing the resource requirement;
and updating the residual resources in the server information by using the calculated new residual resources.
4. The method for evaluating cloud resources according to claim 3, wherein,
the server information of the real server comprises a server tag, and the service is provided with a service tag;
the passing responsive to the evaluation further comprises:
adding the service tag of the service to the server tag in response to the evaluation passing;
the newly adding the server information matched with the service in the server list comprises the following steps:
newly adding the server information matched with the service in the server list by referring to the server information of the real server;
after the server information is newly added and the server list is added, the method comprises the following steps:
adding the service label of the service into the newly added server label of the server information;
The matching with the server information with the service with reference to the affinity relationship includes:
acquiring the service tag of the service, and matching the service tag of the service which is not rejected by the service in the server tag by utilizing the affinity relation;
the server information including the matched service tag is acquired as the server information matched with the service.
5. The method for evaluating cloud resources according to claim 4, wherein,
the interacting with the container cloud platform to establish virtual computing nodes corresponding to the number of servers includes:
transmitting the server list and the server number to the container cloud platform so that the container cloud platform establishes the virtual computing nodes corresponding to the server number by using the server list;
wherein the virtual computing nodes are in one-to-one correspondence with the server information in the server list, the resources of the virtual computing nodes are configured to be the remaining resources when the requirements of any of the services are not met, and the virtual computing nodes comprise the server labels of the corresponding server information;
The deploying the business template to the virtual computing node comprises:
interacting with the container cloud platform to send the business templates to the container cloud platform to cause the container cloud platform to deploy all of the services in the business templates onto the virtual computing nodes including corresponding server tags;
the obtaining the virtual deployment result comprises the following steps:
obtaining the virtual deployment result of the service template from the container cloud platform;
in response to the failure of virtual deployment of the service template, re-calculating the resource requirements obtained by the test to obtain the required number of servers, re-interacting with the container cloud platform to establish the virtual computing nodes of the number of servers, and re-attempting to deploy the service template to the virtual computing nodes; or alternatively, the first and second heat exchangers may be,
and responding to successful virtual deployment of the service template, and storing the server list and the server quantity as an evaluation result of the cloud resource.
6. The method for evaluating cloud resources according to claim 1, wherein,
the integrating the business specification into the basic application template to obtain a business template comprises the following steps:
Analyzing the basic application template to obtain a value file in the basic application template, and obtaining a resource specification meeting the service specification by utilizing the service specification;
integrating the resource specification into the value file, thereby updating the basic application template to obtain the service template;
the obtaining the resource specification meeting the service specification by using the service specification includes:
acquiring a plurality of different resource gears corresponding to the resource specifications one by one, and matching the service specifications with the resource gears;
acquiring the resource specification corresponding to the resource gear in response to matching the corresponding resource gear;
and in response to the fact that the corresponding resource gear is not matched, selecting the resource gear which is larger than the service specification and closest to the service specification, and acquiring the resource specification corresponding to the resource gear.
7. The method for evaluating cloud resources according to claim 6, wherein,
the determining the service specification and the basic application template comprises the following steps:
determining at least one service specification and an application version of the basic application template, wherein the application versions of all the basic application templates are the same, and the service specification corresponds to the basic application template one by one;
The integrating the business specification into the basic application template to obtain a business template comprises the following steps:
integrating the at least one service specification into the corresponding basic application template to obtain the service templates corresponding to the service specifications one by one;
the step of testing by using the service template, the step of analyzing the result obtained by the test to obtain the resource requirement comprises the following steps:
acquiring one business template, and testing the business template through a palm instruction dry-run parameter to obtain a yaml file;
analyzing the yaml file obtained by the test to obtain the resource requirement corresponding to the service template, and judging whether other service templates exist;
responding to the existence of other business templates, returning to the step of acquiring one business template aiming at the other business template, and testing the business template through a palm instruction dry-run parameter to obtain a yaml file;
after the service specification and the basic application template are determined, before the service specification is integrated into the basic application template, the method comprises the following steps:
acquiring a computing tool corresponding to the at least one service specification, wherein the computing tool comprises a resource computing tool and a server computing tool which are in one-to-one correspondence with the at least one service specification, the resource computing tool is used for acquiring the basic application template and completing the step of integrating the service specification into the basic application template to obtain a service template, and the server computing tool is used for completing the step of computing the resource requirement to obtain the required number of servers;
Integrating the at least one service specification into the corresponding basic application template to obtain the service template corresponding to the service specification one to one comprises the following steps:
acquiring one resource calculation tool, and acquiring the basic application template corresponding to the application version and the service specification from an application template library by using the resource calculation tool;
integrating the service specifications into the basic application template by using the resource calculation tool to obtain service templates corresponding to the service specifications one by one;
acquiring another resource calculation tool;
responsive to the existence of another resource computing tool, executing the step of integrating the business specifications into the basic application templates by using the resource computing tool aiming at the other resource computing tool to obtain the business templates corresponding to the business specifications one by one; or alternatively, the first and second heat exchangers may be,
responsive to the absence of another of the resource computing tools, obtaining the server computing tool;
after the service template is judged to exist or not, the method comprises the following steps:
and after the service templates are not existed, completing the step of calculating the resource requirement by using the server calculation tool to obtain the required number of servers.
8. The virtual deployment method of the cloud resource is characterized by comprising the following steps of:
interacting with cloud resource evaluation nodes to establish virtual computing nodes with corresponding server numbers, wherein the server numbers are evaluated by the cloud resource evaluation nodes according to service specifications and basic application templates;
interacting with the cloud resource evaluation node to deploy a service template to the virtual computing node, wherein the service template is obtained by integrating the service specification into the basic application template;
and returning the deployment result to the cloud resource evaluation node.
9. The method for virtual deployment of cloud resources of claim 8,
the interacting with the cloud resource assessment node to establish virtual computing nodes corresponding to the number of servers includes:
receiving a server list and the number of servers sent by the cloud resource evaluation node, wherein the server list and the number of servers are obtained by evaluating the cloud resource evaluation node according to service specifications, basic application templates and server information of a real server, the server list comprises the server information obtained by evaluation, the number of servers is obtained by counting the server information in the server list, and the server information comprises server labels and residual resources;
Creating a container corresponding to the virtual computing node, wherein the container comprises a disguising program for disguising the container as the virtual computing node and interacting with outside of the container, the resource configuration of the virtual computing node corresponds to the residual resources one by one when the requirement of any service is not satisfied, and the virtual computing node comprises the server label of the corresponding server information;
the disguising program obtains the resource configuration of the virtual computing node from the environment variable, and adjusts the container to the virtual computing node according to the resource configuration of the virtual computing node;
setting the server labels corresponding to the server information one by one on the virtual computing nodes through the disguising program;
before the interaction with the cloud resource assessment node to establish the virtual computing nodes corresponding to the number of servers, the method comprises the following steps:
creating a control component for deploying the business template onto the virtual compute node;
the creating a container corresponding to the virtual computing node includes:
In response to the control component monitoring the list of servers and the number of servers that received the cloud resource assessment node, the control component creating the container corresponding to the virtual computing node;
the adjusting the container to the virtual computing node according to the resource configuration of the virtual computing node comprises:
the disguising program interacts with the control component to report the resource configuration of the virtual computing node to the control component, so that the control component recognizes the container as a real server capable of deploying the service, and the container is adjusted to the virtual computing node.
10. The method for virtual deployment of cloud resources of claim 9,
the interacting with the cloud resource assessment node to deploy a business template to the virtual computing node comprises:
receiving the service template sent by the cloud resource evaluation node, wherein the service template comprises at least one service, and the service has a service label with an association relation with the server label;
according to the association relation between the service label and the server label, acquiring one service, deploying the service to the virtual computing node with the corresponding server label by the control component, receiving the deployment result of the service in the container reported by the disguise program, and judging whether the deployment is successful or not;
Responding to the failure of deploying the service, and reporting a virtual deployment failure result to the control component by the disguising program; or alternatively, the first and second heat exchangers may be,
in response to successful deployment of the service, the masquerade program automatically sets the state of the service as running, reports the result of successful virtual deployment to the control component, and judges whether another service exists;
responding to the existence of another service, carrying out the acquisition of one service aiming at the other service, deploying the service on the virtual computing node with the corresponding server label by the control component, receiving the deployment result of the business template in the container reported by the disguising program, and judging whether the deployment is successful or not; otherwise, ending the flow;
the returning the deployment result to the cloud resource assessment node comprises:
sending a virtual deployment failure message to the cloud resource assessment node, notifying the cloud resource assessment node to recalculate the number of servers and the server list, so as to perform interaction with the cloud resource assessment node for the recalculated number of servers and the server list to establish a virtual computing node corresponding to the number of servers, and performing interaction with the cloud resource assessment node to deploy a service template to the virtual computing node; or (b)
And sending the message of successful virtual deployment to the cloud resource evaluation node, and informing the cloud resource evaluation node to store the server list and the server quantity as an evaluation result of the cloud resource.
11. A computer device comprising a memory, a processor, the memory being connected to the processor, the memory being for storing a computer program executable on the processor, characterized in that the processor executes the computer program to implement the method of any one of claims 1-10.
12. A computer readable storage medium storing a computer program, characterized in that the computer program when executed in a computer processor implements the method according to any one of claims 1-10.
CN202310500590.3A 2023-05-05 2023-05-05 Evaluation method, virtual deployment method, computer device, and storage medium Pending CN116662132A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310500590.3A CN116662132A (en) 2023-05-05 2023-05-05 Evaluation method, virtual deployment method, computer device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310500590.3A CN116662132A (en) 2023-05-05 2023-05-05 Evaluation method, virtual deployment method, computer device, and storage medium

Publications (1)

Publication Number Publication Date
CN116662132A true CN116662132A (en) 2023-08-29

Family

ID=87716192

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310500590.3A Pending CN116662132A (en) 2023-05-05 2023-05-05 Evaluation method, virtual deployment method, computer device, and storage medium

Country Status (1)

Country Link
CN (1) CN116662132A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117289951A (en) * 2023-11-22 2023-12-26 华信咨询设计研究院有限公司 Software system multi-application automatic deployment method based on recursion principle

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117289951A (en) * 2023-11-22 2023-12-26 华信咨询设计研究院有限公司 Software system multi-application automatic deployment method based on recursion principle
CN117289951B (en) * 2023-11-22 2024-04-02 华信咨询设计研究院有限公司 Software system multi-application automatic deployment method based on recursion principle

Similar Documents

Publication Publication Date Title
US8433554B2 (en) Predicting system performance and capacity using software module performance statistics
WO2017067586A1 (en) Method and system for code offloading in mobile computing
CN108255707B (en) Development role creating method, device, equipment and storage medium of test case
CN110083455B (en) Graph calculation processing method, graph calculation processing device, graph calculation processing medium and electronic equipment
CN109726108B (en) Front-end code testing method, device, system and medium based on analog data
US20180129595A1 (en) Method of automatically testing smart device application program using permission booster
CN103092751A (en) Web application performance test system based on customer behavior model in cloud environment
CN107807841B (en) Server simulation method, device, equipment and readable storage medium
CN109324962A (en) A kind of test method and equipment of the application program based on cloud internet of things technology
CN116662132A (en) Evaluation method, virtual deployment method, computer device, and storage medium
US20060250970A1 (en) Method and apparatus for managing capacity utilization estimation of a data center
Sundas et al. An introduction of CloudSim simulation tool for modelling and scheduling
CN110737548B (en) Data request method and server
CN111400167A (en) Redfish service compliance verification method, device, equipment and medium
CN110134585A (en) System Test Plan generation method and terminal device
CN111612135B (en) Method and device for information interaction
CN106817296B (en) Information recommendation test method and device and electronic equipment
CN116974874A (en) Database testing method and device, electronic equipment and readable storage medium
CN113191114A (en) Method and apparatus for authenticating a system
CN111913743B (en) Data processing method and device
CN114567571B (en) Performance test method, device, electronic equipment and computer readable storage medium
CN116955148A (en) Service system testing method, device, equipment, storage medium and product
CN114302351B (en) Short message service processing method and device, computer equipment and storage medium
CN110971478A (en) Pressure measurement method and device for cloud platform service performance and computing equipment
CN115695210A (en) Cloud server deployment method and device, electronic equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination