Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are some embodiments of the present application, but not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
The terms referred to in this application are explained first:
cloud platform: in the cloud platform, a large number of server nodes (often more than 1000) are managed in a centralized manner, and professional cloud plan operators provide services such as machine room, electric power, management and maintenance. The application developer only needs to deploy the own application on the cloud platform and pay the payment to the operator of the cloud scheme according to the amount and time of the used computing resources. Therefore, an application program developer does not need to purchase and maintain server hardware, the workload is saved, and the development efficiency is improved.
The calculation node: the computing nodes are servers in the cloud platform, and take the role of traditional servers to run application programs, such as a Web server or a database. The number of computing nodes often represents the size of a cloud platform.
A management node: also be a server in the cloud platform, management node operation management tool to the cloud platform, its function is: starting and stopping an application program on a computing node; monitoring the running states of all the computing nodes, such as whether a Web server is normal or not, whether a database is normal or not, whether a CPU load has allowance or not and whether a network bandwidth can meet a service request or not; when the computing node fails, a warning is given out, so that an administrator can find the failure and replace the machine in time. The number of management nodes is typically much smaller than the number of compute nodes.
An application program warehouse: the server is also a server in the cloud platform, and the server does not directly run the application programs, but stores all the application programs as a collection of various application programs. If an application program needs to be operated on the cloud platform, the management node acquires the application program from the application program warehouse, selects an idle node from all the computing nodes through a certain node debugging algorithm, and transmits the application program to the computing node to be operated.
The platform type: the type of the computing node in the cloud platform is referred to, that is, the type of the computing node server, and the platform type corresponding to the computing node may be determined according to an instruction set type applied by a CPU of the computing node, an operating system type operated by the computing node, or a maximum width of data processed by the CPU of the computing node in unit time, for example, the operating system may be windows, linux, or the like, and the maximum width of data processed by the CPU in unit time may be 64 bits, 32 bits, or the like. Specific platform types may include, but are not limited to, including an Intel X86 type, a MIPS type, an Arm64 type, a windows type, a Linux type, and the like.
The management method of the cloud platform provided by the application can be applied to the cloud platform architecture schematic diagram shown in fig. 1. As shown in fig. 1, the cloud platform may include computing nodes of multiple platform types, for example, computing node 1 is an MIPS type, computing node 2 is an X86 type, computing node … …, computing node N is an Arm64 type, and the like. The application program warehouse of the cloud platform stores an application program A (corresponding to an X86 type), an application program B (corresponding to an Arm64 type) and an application program C (corresponding to an MIPS type). The computing nodes of different platform types may run applications supporting the corresponding platform types, for example, the computing node 1 needs to run an MIPS-type application, the computing node 2 needs to run an X86-type application, and the like, so as to ensure normal running of the application and avoid running errors. The number of the computing nodes of each platform type can be one or more, and the plurality of computing nodes refers to two or more. The management node can select the computing node for operating the application program according to the platform type corresponding to the application program, so that the unified management of the computing nodes of different platform types of the cloud platform is realized.
The following describes the technical solutions of the present application and how to solve the above technical problems with specific embodiments. The following several specific embodiments may be combined with each other, and details of the same or similar concepts or processes may not be repeated in some embodiments. Embodiments of the present application will be described below with reference to the accompanying drawings.
Example one
The embodiment provides a management method of a cloud platform, which is used for performing unified management on the cloud platform. The execution subject of this embodiment is a management device (hereinafter referred to as a device) of the cloud platform, and the device may be disposed on a management node of the cloud platform.
As shown in fig. 2, a schematic flow chart of a management method of a cloud platform provided in this embodiment is shown, where the method includes:
step 101, when a service scheduling request is obtained, obtaining target application program information responding to the service scheduling request according to the service scheduling request.
The target application program information comprises a target application program and a platform type corresponding to the target application program, and the platform type is a type of a computing node contained in the cloud platform.
Specifically, when the management node of the cloud platform obtains the service scheduling request, target application program information responding to the service scheduling request may be obtained according to the service scheduling request, where the target application program information at least includes a target application program and a platform type corresponding to the target application program. That is, when the target application needs to be run to provide a service to the outside, the target application needs to be acquired, and specifically, the target application may be acquired from an application repository. Since the cloud platform includes computing nodes (servers) of multiple platform types, and the application repository also stores applications suitable for running on the computing nodes of the platform types, it is necessary to determine which computing node the target application should be run by.
Alternatively, a preconfigured application data table may be established in the application repository, and for each stored application, the correspondence between the application identifier corresponding to the application and the platform type is recorded, for example, for each application, a "platform type" field and an "application identifier" field are recorded. The application data table may also record other relevant information fields. For example, the structure of the application data table may be { application ID, application name, platform type }. The value of the platform type is one of platform types corresponding to all computing nodes that can be included on the cloud platform, such as X86, MIPS, arm64, windows, linux, and the like. The platform type corresponding to the application program may be determined according to the platform type corresponding to the device that writes the application program, that is, the platform type corresponding to the application program is the same as the platform type corresponding to the device that writes the application program.
Optionally, the device may set a corresponding application data table for each application locally, where the application data table at least includes an application identifier and a platform type corresponding to the application, so that the device may obtain the preconfigured application data table while obtaining the target application, and query the platform type corresponding to the target application from the application data table according to the target application identifier corresponding to the target application. For example, according to the ID or name of the target application, the platform type corresponding to the target application is looked up from the preconfigured application data table.
The application program identification is used for uniquely representing the indication information of the application program; the application identification may be an application ID with respect to the management node when the management node processes the application; the application identification may be an application name relative to the user side interacting with the user.
And 102, determining a target computing node for operating the target application program according to the platform type corresponding to the target application program.
Specifically, after the target application program and the platform type corresponding to the target application program are obtained, the type of the target computing node running the target application program may be determined according to the platform type corresponding to the target application program.
For example, a preconfigured computing node data table may be established on the management node, and for each computing node in the cloud platform, a corresponding relationship between the computing node identifier and the platform type is recorded, for example, for each computing node, a "platform type" field and a "computing node identifier" field are recorded.
The computing node identification is used for uniquely representing the indicating information of the computing node; the compute node identification may be a compute node ID with respect to the management node when the management node processes the application; the application identification may be a compute node name relative to a user side interacting with the user.
Other relevant information can also be recorded in the computing node data table, for example, the structure of the computing node data table can be { computing node ID, computing node name, IP address, platform type }. Wherein, the IP address is the network address of the computing node, and the platform type field has the same meaning with the platform type field in the pre-configured application program data table. Specifically, a computing node identifier set supporting the operation of the target application program is screened out according to the matching between the platform type corresponding to the target application program and a platform type field in a pre-configured computing node data table, a computing node identifier used for operating the target application program is determined from the screened computing node identifier set according to a preset rule, and a computing node represented by the determined computing node identifier for operating the target application program is determined as a target computing node. For example, the computing node identifier of an idle computing node is selected from the screened computing node identifier set as the computing node identifier for running the target application program, and the computing node represented by the computing node identifier is determined as the target computing node, which may also be determined according to other rules, which is not limited in this embodiment.
And 103, transmitting the target application program to the target computing node so that the target computing node runs the target application program.
Specifically, after the target computing node is determined, the target application program may be transferred to the target computing node, so that the target computing node runs the target application program to implement a corresponding function.
According to the management method of the cloud platform provided by the embodiment, when the target application program needs to be operated, the target application program and the platform type corresponding to the target application program are obtained, the target computing node for operating the target application program is determined according to the platform type corresponding to the target application program, and the target application program is transmitted to the target computing node corresponding to the platform type to be operated, so that the purpose that one cloud platform can uniformly manage computing nodes of multiple platform types is achieved, the problem that management of multiple types of computing nodes can be achieved only when multiple different types of cloud platforms need to be built is solved, and the management efficiency of the cloud platform is improved.
Example two
The present embodiment further performs supplementary description on the management method of the cloud platform provided in the first embodiment.
As shown in fig. 3, a schematic flow chart of a management method of a cloud platform provided in this embodiment is shown.
As a practical manner, on the basis of the first embodiment, optionally, the step 101 may specifically include:
step 1011, determining a target application program identifier corresponding to the target application program responding to the service scheduling request according to the service scheduling request.
Specifically, when the management node of the cloud platform acquires the service scheduling request, the target application program identifier corresponding to the target application program responding to the service scheduling request may be determined according to the service scheduling request. For example, a user of the cloud platform specifies to run an application on the cloud platform, that is, initiates a service scheduling request, where the service scheduling request may include an application identifier such as an ID or a name of the specified running application. After the device acquires the service scheduling request, the device may acquire an application identifier such as an application ID or an application name from the service scheduling request as the target application identifier. The service scheduling request may also only include a service scheduling requirement, and at this time, the apparatus may obtain the service scheduling requirement included in the service scheduling request, determine identifiers of a plurality of application programs that satisfy the service scheduling requirement, and select an identifier of one application program from the identifiers of the plurality of application programs that satisfy the service scheduling requirement as a target application program identifier for responding to the service scheduling request. The present embodiment may also determine the target application identifier in other manners, which is only an exemplary illustration here and is not limited in this embodiment.
Various application programs can be operated on the cloud platform, and the application programs can be provided by the cloud platform in advance or can be installed by a user. The user uses the service on the cloud platform, and essentially runs the specified application program.
Step 1012, obtaining the target application program corresponding to the target application program identifier and the preconfigured application program data table from the application program repository.
The pre-configured application data table comprises the corresponding relation between the application identification and the platform type. Such as an application ID field, an application name field, and a platform type field corresponding to the application.
After the target application program identifier is determined, the target application program corresponding to the target application program identifier and the preconfigured application program data table may be obtained from the application program repository.
The pre-configured application data table may be pre-established in an application repository, and for each stored application, records a correspondence between an application identifier corresponding to the application and a platform type, such as a "platform type" field and an "application identifier" field. The application data table may also record other relevant information fields. For example, the structure of the application data table may be { application ID, application name, platform type }. The value of the platform type is one of platform types corresponding to all computing nodes that can be included on the cloud platform, such as X86, MIPS, arm64, windows, linux, and the like.
And 1013, determining the platform type corresponding to the target application program according to the target application program identifier and the preconfigured application program data table.
Specifically, the platform type corresponding to the target application program may be queried from the preconfigured application program data table according to the target application program ID or the target application program name of the target application program.
The device in the management node can determine the platform type corresponding to the target application program according to the target application program identification and lay a foundation for the subsequent distribution of the computing node by establishing a pre-configured application program data table in an application program warehouse and recording the corresponding relation between the application program identification and the platform type.
Optionally, step 1011 may specifically include: acquiring an application program identifier contained in the service scheduling request; and determining the obtained application program identifier as a target application program identifier responding to the service scheduling request.
Specifically, after acquiring the service scheduling request, the device may acquire an application identifier, such as an application ID or an application name, included in the service scheduling request from the service scheduling request, and use the acquired application identifier as a target application identifier for responding to the service scheduling request.
Optionally, step 1011 may specifically include: acquiring a service scheduling requirement contained in the service scheduling request; determining identifications of a plurality of application programs meeting the service scheduling requirement; and selecting the identifier of one application program from the identifiers of the plurality of application programs meeting the service scheduling requirement as the target application program identifier responding to the service scheduling request.
Specifically, the service scheduling request may only include a service scheduling requirement, and after the device acquires the service scheduling request, the device may acquire the service scheduling requirement included in the service scheduling request, determine identifiers of a plurality of application programs that satisfy the service scheduling requirement, and select an identifier of one application program from the identifiers of the plurality of application programs that satisfy the service scheduling requirement as a target application program identifier for responding to the service scheduling request.
As another implementable manner, on the basis of the first embodiment, optionally, the step 102 may specifically include:
step 1021, obtaining a pre-configured compute node data table.
Specifically, the preconfigured computing node data table may be established in the management node in advance, and the apparatus may obtain the preconfigured computing node data table after determining the platform type corresponding to the target application program.
For each computing node in the cloud platform, the computing node data table records a corresponding relationship between the computing node identifier and the platform type, for example, for each computing node, a "platform type" field and a "computing node identifier" field are recorded.
The computing node identification is used for uniquely representing the indicating information of the computing node; the compute node identification may be a compute node ID with respect to the management node when the management node processes the application; the application identification may be a compute node name relative to a user side interacting with the user.
Other relevant information can also be recorded in the computing node data table, for example, the structure of the computing node data table can be { computing node ID, computing node name, IP address, platform type }. Wherein, the IP address is the network address of the computing node, and the platform type field has the same meaning with the platform type field in the pre-configured application program data table. Specifically, a computing node identifier set supporting the operation of the target application program is screened out according to the matching between the platform type corresponding to the target application program and a platform type field in a pre-configured computing node data table, a computing node identifier used for operating the target application program is determined from the screened computing node identifier set according to a preset rule, and a computing node represented by the determined computing node identifier for operating the target application program is determined as a target computing node. For example, the computing node identifier of an idle computing node is selected from the screened computing node identifier set as the computing node identifier for running the target application program, and the computing node represented by the computing node identifier is determined as the target computing node.
And step 1022, determining a computing node identifier for running the target application program according to the platform type corresponding to the target application program and the preconfigured computing node data table.
Specifically, according to a platform type corresponding to the target application program and a pre-configured computing node data table, a computing node identifier matched with the platform type is determined as a computing node identifier for running the target application program.
And step 1023, determining the computing node characterized by the determined computing node identification for running the target application program as the target computing node.
Optionally, step 1022 may specifically include:
step 10221, according to the platform type corresponding to the target application program, a computing node identifier set having a platform type the same as the platform type corresponding to the target application program is screened from a pre-configured computing node data table.
Step 10222, according to a preset rule, determining a target computing node identifier from the computing node identifier set.
Specifically, a preset rule may be configured in advance, and after the device screens out the calculation node identifier set, the device may determine the target calculation node identifier from the calculation node identifier set according to the preset rule. For example, the computing node identifier of the computing node with the least load may be selected from the computing node identifier set as the target computing node identifier. The calculation node identifier may also be selected according to other preset rules, which are not limited specifically.
By establishing the preconfigured computing node data table on the management node and according to the association between the platform type field and the preconfigured application program data table, the computing node suitable for the running of the target application program can be determined to be used as the target computing node to run the application program, so that the running error rate of the application program can be effectively reduced, the application programs of different platform types can be ensured to run on the corresponding computing node of the platform type, and the management efficiency of the cloud platform is improved.
In the present embodiment, the modes that can be implemented individually, or can be implemented in combination in any combination without conflict.
According to the management method of the cloud platform provided by the embodiment, when the target application program needs to be operated, the target application program and the platform type corresponding to the target application program are obtained, the target computing node for operating the target application program is determined according to the platform type corresponding to the target application program, and the target application program is transmitted to the target computing node corresponding to the platform type to be operated, so that the purpose that one cloud platform can uniformly manage computing nodes of multiple platform types is achieved, the problem that management of multiple types of computing nodes can be achieved only when multiple different types of cloud platforms need to be built is solved, and the management efficiency of the cloud platform is improved. The platform type corresponding to the application program is recorded by establishing a pre-configured application program data table in an application program warehouse, so that the device in the management node can determine the platform type corresponding to the target application program according to the target application program and lay a foundation for the subsequent distribution of the computing node. By establishing the preconfigured computing node data table on the management node and according to the association between the platform type field and the preconfigured application program data table, the computing node suitable for the running of the target application program can be determined to be used as the target computing node to run the application program, so that the running error rate of the application program can be effectively reduced, the application programs of different platform types can be ensured to run on the corresponding computing node of the platform type, and the management efficiency of the cloud platform is improved.
EXAMPLE III
The present embodiment provides a management apparatus for a cloud platform, which is configured to execute the management method for a cloud platform in the first embodiment.
As shown in fig. 4, it is a schematic structural diagram of the management apparatus of the cloud platform provided in this embodiment. The management apparatus 30 of the cloud platform includes an acquisition module 31, a determination module 32, and a scheduling module 33.
The obtaining module 31 is configured to obtain, when a service scheduling request is obtained, target application program information that responds to the service scheduling request according to the service scheduling request, where the target application program information at least includes a target application program and a platform type corresponding to the target application program; the determining module 32 is configured to determine a target computing node for running the target application according to the platform type corresponding to the target application; the scheduling module 33 is used to deliver the target application to the target computing node to cause the target computing node to run the target application.
The specific manner in which the respective modules perform operations has been described in detail in relation to the apparatus in this embodiment, and will not be elaborated upon here.
According to the management device of the cloud platform provided by the embodiment, when the target application program needs to be operated, the target application program and the platform type corresponding to the target application program are obtained, the target computing node for operating the target application program is determined according to the platform type corresponding to the target application program, and the target application program is transmitted to the target computing node corresponding to the platform type to be operated, so that the purpose that one cloud platform can uniformly manage computing nodes of multiple platform types is achieved, the problem that multiple cloud platforms of different types need to be built to achieve management of multiple types of computing nodes is solved, and the management efficiency of the cloud platform is improved.
Example four
In this embodiment, a supplementary description is further provided for the management apparatus of the cloud platform provided in the third embodiment, so as to execute the method provided in the second embodiment.
As an implementable manner, on the basis of the third embodiment, optionally, the obtaining module 31 may specifically include a first determining sub-module 311, a first obtaining sub-module 312, and a second determining sub-module 313. As shown in fig. 5, a schematic structural diagram of the obtaining module 31 provided in this embodiment is shown.
The first determining submodule 311 is configured to determine, according to the service scheduling request, a target application identifier corresponding to a target application that responds to the service scheduling request; the first obtaining sub-module 312 is configured to obtain, from an application repository, a target application corresponding to the target application identifier, and a preconfigured application data table, where the preconfigured application data table includes a corresponding relationship between the application identifier and the platform type; the second determining submodule 313 is configured to determine a platform type corresponding to the target application according to the target application identifier and the preconfigured application data table.
Optionally, the first determining sub-module 311 is specifically configured to:
acquiring an application program identifier contained in the service scheduling request; and determining the obtained application program identifier as a target application program identifier responding to the service scheduling request.
Optionally, the first determining sub-module 311 is specifically configured to:
acquiring a service scheduling requirement contained in the service scheduling request; determining identifications of a plurality of application programs meeting the service scheduling requirement; and selecting the identifier of one application program from the identifiers of the plurality of application programs meeting the service scheduling requirement as the target application program identifier responding to the service scheduling request.
As another implementable manner, on the basis of the third embodiment, optionally, the determining module 32 may specifically include a second obtaining sub-module 321 and a third determining sub-module 322. As shown in fig. 6, a schematic structural diagram of the determining module 32 provided in this embodiment is shown.
The second obtaining submodule 321 is configured to obtain a preconfigured computing node data table, where the preconfigured computing node data table includes a corresponding relationship between a computing node identifier and a platform type; the third determining submodule 322 is configured to determine, according to the platform type corresponding to the target application program and a preconfigured computing node data table, a computing node identifier for running the target application program; the third determining sub-module 322 is further configured to determine a computing node characterized by the determined computing node identification for running the target application as the target computing node.
Optionally, the third determining submodule 322 may specifically be configured to:
screening a computing node identification set with the same platform type as the platform type corresponding to the target application program from a pre-configured computing node data table according to the platform type corresponding to the target application program; and determining a target computing node identifier from the computing node identifier set according to a preset rule.
The specific manner in which the respective modules perform operations has been described in detail in relation to the apparatus in this embodiment, and will not be elaborated upon here.
In the present embodiment, the modes that can be implemented individually, or can be implemented in combination in any combination without conflict.
According to the management device of the cloud platform provided by the embodiment, when the target application program needs to be operated, the target application program and the platform type corresponding to the target application program are obtained, the target computing node for operating the target application program is determined according to the platform type corresponding to the target application program, and the target application program is transmitted to the target computing node corresponding to the platform type to be operated, so that the purpose that one cloud platform can uniformly manage computing nodes of multiple platform types is achieved, the problem that multiple cloud platforms of different types need to be built to achieve management of multiple types of computing nodes is solved, and the management efficiency of the cloud platform is improved. The device in the management node can determine the corresponding platform type according to the target application program and lay a foundation for the subsequent distribution of the computing nodes by establishing a pre-configured application program data table in an application program warehouse and recording the platform type corresponding to the application program. By establishing the preconfigured computing node data table on the management node and according to the association between the platform type field and the preconfigured application program data table, the computing node suitable for the running of the target application program can be determined to be used as the target computing node to run the application program, so that the running error rate of the application program can be effectively reduced, the application programs of different platform types can be ensured to run on the corresponding computing node of the platform type, and the management efficiency of the cloud platform is improved.
In the embodiments of the present application, "first", "second", and "third" are used only for distinguishing descriptions, and are not used to limit the order.
In the several embodiments provided in the present application, it should be understood that the disclosed apparatus and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, or in a form of hardware plus a software functional unit.
The integrated unit implemented in the form of a software functional unit may be stored in a computer readable storage medium. The software functional unit is stored in a storage medium and includes several instructions to enable a computer device (which may be a personal computer, a server, or a network device) or a processor (processor) to execute some steps of the methods according to the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, an optical disk, or other various media capable of storing program codes.
It is obvious to those skilled in the art that, for convenience and simplicity of description, the foregoing division of the functional modules is merely used as an example, and in practical applications, the above function distribution may be performed by different functional modules according to needs, that is, the internal structure of the device is divided into different functional modules to perform all or part of the above described functions. For the specific working process of the device described above, reference may be made to the corresponding process in the foregoing method embodiment, which is not described herein again.
Finally, it should be noted that: the above embodiments are only used for illustrating the technical solutions of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some or all of the technical features may be equivalently replaced; and the modifications or the substitutions do not make the essence of the corresponding technical solutions depart from the scope of the technical solutions of the embodiments of the present application.