CN116610365A - Processing method and device of baseboard management controller - Google Patents

Processing method and device of baseboard management controller Download PDF

Info

Publication number
CN116610365A
CN116610365A CN202310484851.7A CN202310484851A CN116610365A CN 116610365 A CN116610365 A CN 116610365A CN 202310484851 A CN202310484851 A CN 202310484851A CN 116610365 A CN116610365 A CN 116610365A
Authority
CN
China
Prior art keywords
target
baseboard management
management controller
node
determining
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
CN202310484851.7A
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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202310484851.7A priority Critical patent/CN116610365A/en
Publication of CN116610365A publication Critical patent/CN116610365A/en
Pending legal-status Critical Current

Links

Classifications

    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The embodiment of the invention provides a processing method and a processing device of a baseboard management controller, wherein the method determines a target node corresponding to a target baseboard management controller address based on a target load list and the target baseboard management controller address indicated by a target instruction under the condition that a target instruction is received; determining a target instance cache based on the target baseboard management controller address and the baseboard management controller address corresponding to the instance cache in the current node when the target node is the current node; and executing the operation indicated by the target instruction on the target baseboard management controller based on the target instance cache. In this way, the stability of the baseboard management controller can be improved.

Description

Processing method and device of baseboard management controller
Technical Field
The present invention belongs to the field of network technology, and in particular, relates to a processing method and apparatus for a baseboard management controller.
Background
With the continuous development of science and technology, the application of the current server is more and more widespread, and the baseboard management controller (Baseboard Manager Controller, BMC) is used as a key component in the server, and is also an important component for monitoring and managing the server by a user, so that the robustness of a software system is very important, and therefore, the actual running state inside the baseboard management controller needs to be monitored in real time.
In the related art, in the distributed deployment mode, there may be a case where multiple nodes respond to the same instruction at the same time to operate the same baseboard management controller, which results in poor stability of the baseboard management controller.
Disclosure of Invention
The invention provides a processing method and a processing device of a baseboard management controller, so as to solve the problem of poor stability of the baseboard management controller.
In order to solve the technical problems, the invention is realized as follows:
in a first aspect, the present invention provides a processing method of a baseboard management controller, applied to any one of a plurality of nodes, the method comprising:
under the condition that a target instruction is received, determining a target node corresponding to a target baseboard management controller address based on a target load list and the target baseboard management controller address indicated by the target instruction; the target load list comprises the corresponding relation between the plurality of nodes and the plurality of baseboard management controller addresses;
determining a target instance cache based on the target baseboard management controller address and a baseboard management controller address corresponding to the instance cache in the current node when the target node is the current node;
Based on the target instance cache, executing the operation indicated by the target instruction on a target baseboard management controller; the target baseboard management controller is a baseboard management controller corresponding to the target baseboard management controller address.
Optionally, the plurality of nodes includes a master node and a plurality of slave nodes; in the case that the current node is the master node, the method further includes:
aiming at any node to be distributed in the plurality of nodes, acquiring response time required by the node to be distributed to establish connection with each baseboard management controller in the distributed system respectively, and obtaining a plurality of target response times; the distributed system is provided with a plurality of nodes;
determining at least one baseboard management controller required to be managed by the node to be distributed based on the target response time corresponding to each of the plurality of nodes;
recording the corresponding relation between the node to be allocated and the baseboard management controller address of the at least one baseboard management controller to the target load list under the condition that the at least one baseboard management controller meets the preset allocation condition;
and re-executing the operation of determining at least one baseboard management controller to be managed by the node to be allocated based on the target response time corresponding to each of the plurality of nodes under the condition that the at least one baseboard management controller does not meet the preset allocation condition.
Optionally, after determining at least one baseboard management controller required to be managed by the node to be allocated based on the target response time corresponding to each of the plurality of nodes, the method further includes:
determining a first ratio based on a sum of historical response times of the at least one baseboard management controller and a total historical response time of all baseboard management controllers in the distributed system;
determining a second ratio based on the load index value corresponding to the node to be allocated, the load index value of the master node and the load index value of each slave node;
determining that the at least one baseboard management controller meets a preset distribution condition under the condition that the difference value between the first ratio and the second ratio is smaller than a first preset threshold value;
and under the condition that the difference value between the first ratio and the second ratio is not smaller than a first preset threshold value, determining that the at least one baseboard management controller does not meet a preset distribution condition.
Optionally, before the determining the first ratio based on the sum of the historical response times of the at least one baseboard management controller and the total historical response time of all baseboard management controllers in the distributed system, the method further comprises:
Determining the historical response time of each baseboard management controller based on the historical request times and the target response time received by each baseboard management controller in the at least one baseboard management controller;
determining a first historical response time corresponding to each baseboard management controller based on the historical request times and the first response time received by each baseboard management controller in the distributed system;
based on the first historical response time corresponding to each baseboard management controller, determining the total historical response time of all baseboard management controllers in the distributed system.
Optionally, before determining the second ratio based on the load index value corresponding to the node to be allocated, the load index value of the master node, and the load index value of each slave node, the method includes:
acquiring processor performance information, memory performance information, disk performance information and network performance information of the node to be allocated;
acquiring a first weight corresponding to the processor performance information, a second weight corresponding to the memory performance information, a third weight corresponding to the disk performance information and a fourth weight corresponding to the network performance information;
And determining a load index value corresponding to the node to be allocated based on the processor performance information, the first weight, the memory performance information, the second weight, the disk performance information, the third weight, the network performance information and the fourth weight.
Optionally, the method further comprises:
obtaining the average resource utilization rate of the master node and each slave node in the target duration;
and re-executing the operation of determining at least one baseboard management controller required to be managed by the node to be distributed based on the target response time corresponding to each of the plurality of nodes under the condition that the difference value of the average resource utilization rate of the master node and any one of the slave nodes or any two of the slave nodes is larger than a second preset threshold value.
Optionally, the determining the target instance cache based on the target baseboard management controller address and the baseboard management controller address corresponding to the instance cache in the current node includes:
acquiring an instance cache in the current node;
under the condition that the corresponding instance cache of the baseboard management controller address is consistent with the target baseboard management controller address, obtaining the instance cache corresponding to the baseboard management controller address matched and consistent with the target baseboard management controller address as an instance cache to be screened; different instance caches to be screened correspond to different processing operations;
The corresponding processing operation is consistent with the operation indicated by the target instruction, and the to-be-screened instance cache is determined as a target instance cache;
and creating the target instance cache based on the target instruction under the condition that no corresponding instance cache with the target baseboard management controller address consistent with the target baseboard management controller address exists or no corresponding instance cache to be screened with the processing operation consistent with the operation indicated by the target instruction exists.
Optionally, the performing, based on the target instance cache, the operation indicated by the target instruction on the target baseboard management controller includes:
under the condition that the target instruction is a target monitoring instruction, logging in the target baseboard management controller based on the target instance cache, acquiring related information of a server through the target baseboard management controller, and executing monitoring operation indicated by the target monitoring instruction on the server based on the related information; the server is provided with the target baseboard management controller;
and under the condition that the target instruction is a target configuration instruction, logging in the target baseboard management controller based on the target instance cache, and executing the configuration operation indicated by the target configuration instruction on the target baseboard management controller.
In a second aspect, the present invention provides a processing apparatus of a baseboard management controller, applied to any one of a plurality of nodes, the apparatus comprising:
the first determining module is used for determining a target node corresponding to a target baseboard management controller address based on a target load list and the target baseboard management controller address indicated by the target instruction under the condition that the target instruction is received; the target load list comprises the corresponding relation between the plurality of nodes and the plurality of baseboard management controller addresses;
the second determining module is configured to determine, when the target node is a current node, a target instance cache based on the target baseboard management controller address and a baseboard management controller address corresponding to the instance cache in the current node;
the first execution module is used for executing the operation indicated by the target instruction on the target baseboard management controller based on the target instance cache; the target baseboard management controller is a baseboard management controller corresponding to the target baseboard management controller address.
Optionally, the plurality of nodes includes a master node and a plurality of slave nodes; the apparatus may further include:
The first acquisition module is used for acquiring response time required by establishing connection between each node to be allocated and each baseboard management controller in the distributed system respectively aiming at any node to be allocated in the plurality of nodes to obtain a plurality of target response times; the distributed system is provided with a plurality of nodes;
the third determining module is used for determining at least one baseboard management controller required to be managed by the node to be distributed based on the target response time corresponding to each of the plurality of nodes;
a first recording module, configured to record, in the case where the at least one baseboard management controller meets a preset allocation condition, a correspondence between the node to be allocated and a baseboard management controller address of the at least one baseboard management controller to the target load list;
and a fourth determining module, configured to re-execute the operation of determining at least one baseboard management controller that needs to be managed by the node to be allocated based on the target response time corresponding to each of the plurality of nodes, where the at least one baseboard management controller does not meet the preset allocation condition.
Optionally, the apparatus may further include:
A fifth determining module configured to determine a first ratio based on a sum of historical response times of the at least one baseboard management controller and a total historical response time of all baseboard management controllers in the distributed system;
a sixth determining module, configured to determine a second ratio based on a load index value corresponding to the node to be allocated, a load index value of the master node, and a load index value of each slave node;
a seventh determining module, configured to determine that the at least one baseboard management controller meets a preset allocation condition when a difference between the first ratio and the second ratio is smaller than a first preset threshold;
an eighth determining module, configured to determine that the at least one baseboard management controller does not meet a preset allocation condition when a difference between the first ratio and the second ratio is not smaller than a first preset threshold.
Optionally, the apparatus may further include:
a ninth determining module, configured to determine a historical response time of each baseboard management controller based on a historical request number and a target response time received by each baseboard management controller in the at least one baseboard management controller;
A tenth determining module, configured to determine a first historical response time corresponding to each baseboard management controller based on the historical request times and the first response times received by each baseboard management controller in the distributed system;
an eleventh determining module, configured to determine a total historical response time of all baseboard management controllers in the distributed system based on the first historical response time corresponding to each baseboard management controller.
Optionally, the apparatus may further include:
the second acquisition module is used for acquiring the processor performance information, the memory performance information, the disk performance information and the network performance information of the node to be allocated;
the third acquisition module is used for acquiring a first weight corresponding to the processor performance information, a second weight corresponding to the memory performance information, a third weight corresponding to the disk performance information and a fourth weight corresponding to the network performance information;
a twelfth determining module, configured to determine a load index value corresponding to the node to be allocated based on the processor performance information, the first weight, the memory performance information, the second weight, the disk performance information, the third weight, the network performance information, and the fourth weight.
Optionally, the apparatus may further include:
a fourth obtaining module, configured to obtain average resource utilization rates of the master node and each slave node in a target duration;
and a thirteenth determining module, configured to re-execute the operation of determining at least one baseboard management controller to be managed by the node to be allocated based on the target response time corresponding to each of the plurality of nodes when the difference between the average resource utilization rates of the master node and any one of the slave nodes, or any two of the slave nodes, is greater than a second preset threshold.
Optionally, the second determining module may include:
the first acquisition submodule is used for acquiring an instance cache in the current node;
the second obtaining submodule is used for obtaining an instance cache corresponding to the baseboard management controller address matched and consistent with the target baseboard management controller address as an instance cache to be screened under the condition that the corresponding instance cache of the baseboard management controller address matched and consistent with the target baseboard management controller address exists; different instance caches to be screened correspond to different processing operations;
the first determining submodule is used for determining an instance cache to be screened, of which the corresponding processing operation is consistent with the operation indicated by the target instruction, as a target instance cache;
The first creating module is configured to create, based on the target instruction, an instance cache in which a corresponding target baseboard management controller address is consistent with the target baseboard management controller address, or in the case where there is no instance cache to be screened in which a corresponding processing operation is consistent with an operation indicated by the target instruction.
Optionally, the first execution module may include:
the first monitoring sub-module is used for logging in the target baseboard management controller based on the target instance cache under the condition that the target instruction is a target monitoring instruction, acquiring related information of a server through the target baseboard management controller, and executing monitoring operation indicated by the target monitoring instruction on the server based on the related information; the server is provided with the target baseboard management controller;
and the first configuration submodule is used for logging in the target baseboard management controller based on the target instance cache and executing the configuration operation indicated by the target configuration instruction on the target baseboard management controller under the condition that the target instruction is the target configuration instruction.
In a third aspect, the present invention provides an electronic device comprising: a processor, a memory and a computer program stored in the memory and executable on the processor, wherein the processor implements the processing method of the baseboard management controller when executing the program.
In a fourth aspect, the present invention provides a readable storage medium, which when executed by a processor of an electronic device, enables the electronic device to perform the above-described processing method of a baseboard management controller
In the embodiment of the invention, under the condition of receiving a target instruction, determining a target node corresponding to a target baseboard management controller address based on a target load list and the target baseboard management controller address indicated by the target instruction; the target load list comprises the corresponding relation between a plurality of nodes and a plurality of baseboard management controller addresses; determining a target instance cache based on the target baseboard management controller address and the baseboard management controller address corresponding to the instance cache in the current node when the target node is the current node; based on the target instance cache, executing the operation indicated by the target instruction on the target baseboard management controller; the target baseboard management controller is a baseboard management controller corresponding to the target baseboard management controller address. Therefore, when the node receives the target instruction, based on the corresponding relation between the plurality of nodes and the plurality of baseboard management controller addresses contained in the target load list, whether the current node is the target node or not can be judged, namely, whether the current node needs to respond to the target instruction or not, and when the current node is the target node, namely, the current node is the target node needing to respond to the target instruction, based on the target instance cache, the target baseboard management controller is operated by executing the target instruction, so that the plurality of nodes can be prevented from simultaneously responding to the same target instruction, the stability of the baseboard management controller is influenced, and the stability of the baseboard management controller is improved.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions of the prior art, the following description will briefly explain the drawings used in the embodiments or the description of the prior art, and it is obvious that the drawings in the following description are some embodiments of the present invention, and other drawings can be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a flowchart of a processing method of a baseboard management controller according to an embodiment of the present invention;
FIG. 2 is a schematic diagram of a master node architecture according to an embodiment of the present invention;
fig. 3 is a block diagram of a processing apparatus of a baseboard management controller according to an embodiment of the present invention;
fig. 4 is a block diagram of an electronic device according to an embodiment of the present invention.
Detailed Description
The following description of the embodiments of the present invention will be made clearly and fully with reference to the accompanying drawings, in which it is evident that the embodiments described are some, but not all embodiments of the invention. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
Fig. 1 is a flow chart of steps of a processing method of a baseboard management controller according to an embodiment of the present invention, which is applied to any one of a plurality of nodes. Wherein, a plurality of nodes can be deployed in a distributed system, and the distributed system can be a system formed by a group of computers which are mutually connected through a network to transmit messages and communicate and coordinate the actions of the messages and the communication. The nodes may be stand-alone deployed with the management system, with the nodes interacting with each other to achieve a common goal. A baseboard management controller is a dedicated microcontroller embedded on the motherboard of a computer (typically a server). The baseboard management controller is responsible for managing the interface between system management software and platform hardware. Each node may manage one or more baseboard management controllers, i.e., a distributed system may include multiple servers and, correspondingly, multiple baseboard management controllers.
As shown in fig. 1, the method may include:
step 101, under the condition that a target instruction is received, determining a target node corresponding to a target baseboard management controller address based on a target load list and the target baseboard management controller address indicated by the target instruction; the target load list comprises the corresponding relation between the nodes and the addresses of the baseboard management controllers.
In the embodiment of the present invention, the target instruction may be an instruction for instructing a processing operation performed on the baseboard management controller, such as a status monitoring operation, a component information obtaining operation, a baseboard management controller configuration operation, a firmware upgrading operation, a power fan management operation, a log management operation, and the like. The target instruction may include a target baseboard management controller address, that is, the target instruction is used to perform a processing operation indicated by the target instruction on a target baseboard management controller corresponding to the target baseboard management controller address. And under the condition that the node receives the target instruction, determining a target baseboard management controller address indicated by the target instruction, and determining a node corresponding to the target baseboard management controller address from the corresponding relation between the node contained in the target load list and the baseboard management controller as a target node. The target load list may include a correspondence between a plurality of nodes and a plurality of baseboard management controller addresses, where the correspondence may be the same as a management relationship between a characterization node and a baseboard management controller, i.e., an a node in the target load list corresponds to an a baseboard management controller address, and then the a node may be characterized to manage the a baseboard management controller. One node may correspond to a plurality of baseboard management controller addresses, i.e., one node may manage a plurality of baseboard management controllers, but one baseboard management controller address corresponds to a unique node, i.e., one baseboard management controller is managed by a unique node. Since one baseboard management controller can only be managed by a unique node, correspondingly, in the target load list, one baseboard management controller address only corresponds to the unique node, namely, for one target instruction, only one corresponding target node exists in a plurality of nodes of the distributed system.
Step 102, determining a target instance cache based on the target baseboard management controller address and the baseboard management controller address corresponding to the instance cache in the current node when the target node is the current node.
In the embodiment of the invention, under the condition that the target node is determined based on the target load list, if the target node is the current node, the current node is the node serving as the execution main body in the embodiment of the invention, namely the node receiving the target instruction, and the current node is the only node of the baseboard management controller corresponding to the address of the management target baseboard management controller, namely the current node needs to respond to the target instruction, the baseboard management controller management module is called through the task management module to acquire the instance cache in the cache area of the current node, the instance cache corresponding to the address of the target baseboard management controller is determined, and the processing operation instance cache indicated by the target instruction can be realized and used as the target instance cache. The target instance cache is used to perform processing operations indicated by target instructions on the target baseboard management controller. The instance caches may be obtained by copying specific implementation classes, and each instance cache may correspond to one baseboard management controller address, that is, each instance cache may be used for a processing operation performed on a baseboard management controller, and based on the instance caches, processing operations in the specific implementation classes may be performed on baseboard management controls corresponding to the baseboard management controller address corresponding to the instance cache. The instance cache may include session information, that is, login information used for logging in the baseboard management controller, and based on the session information, an operation of logging in the baseboard management controller may be performed, and may further include information corresponding to operations of performing different processes on the baseboard management controller, such as a status monitoring operation, a component information obtaining operation, a baseboard management controller configuration operation, a firmware upgrading operation, a power fan management operation, a log management operation, and other operations. The instance cache and baseboard management controller address may be stored in the form of a key-value pair, i.e., the baseboard management controller address is a key (key), and the instance cache is a value.
In an exemplary case where the target baseboard management controller address is obtained, all key value pairs in the cache area of the current node are obtained, the target baseboard management controller address is matched with keys in all key value pairs in a consistent manner, and then a value (instance cache) in the key value pair, in which the achievable processing operation is consistent with the processing operation, is determined according to the processing operation indicated by the target instruction, so that the target instance cache corresponding to the target baseboard management controller address can be determined.
It will be appreciated that, in order to avoid that the session of the baseboard management controller is full due to the concurrent execution of multiple threads, only one instance exists in the process, one processing operation performed in the same baseboard management controller corresponds to only one instance cache, that is, each processing operation performed by the node for the same baseboard management controller corresponds to one instance cache, and each instance cache corresponding to the same baseboard management controller address stored in the cache area of the node corresponds to a different processing operation. Thus, the cache resource waste caused by the fact that the same processing operation executed by the same baseboard management controller corresponds to a plurality of instance caches with the same function is avoided. Meanwhile, in the actual execution process, the same processing operation executed by the same baseboard management controller can be guaranteed to be realized through the same instance cache.
Step 103, based on the target instance cache, executing the operation indicated by the target instruction on a target baseboard management controller; the target baseboard management controller is a baseboard management controller corresponding to the target baseboard management controller address.
In the embodiment of the invention, the target instance cache is obtained based on copying the specific implementation class, and the specific implementation class is used for realizing the contents agreed in the interface. Therefore, based on the target instance cache, the target baseboard management controller can be executed with the operation indicated by the target instruction, namely the call interface can execute the processing operation indicated by the target instruction.
In summary, in the embodiment of the present invention, under the condition that a target instruction is received, determining a target node corresponding to a target baseboard management controller address based on a target load list and the target baseboard management controller address indicated by the target instruction; the target load list comprises the corresponding relation between a plurality of nodes and a plurality of baseboard management controller addresses; determining a target instance cache based on the target baseboard management controller address and the baseboard management controller address corresponding to the instance cache in the current node when the target node is the current node; based on the target instance cache, executing the operation indicated by the target instruction on the target baseboard management controller; the target baseboard management controller is a baseboard management controller corresponding to the target baseboard management controller address. Therefore, when the node receives the target instruction, based on the corresponding relation between the plurality of nodes and the plurality of baseboard management controller addresses contained in the target load list, whether the current node is the target node or not can be judged, namely, whether the current node needs to respond to the target instruction or not, and when the current node is the target node, namely, the current node is the target node needing to respond to the target instruction, based on the target instance cache, the target baseboard management controller is operated by executing the target instruction, so that the plurality of nodes can be prevented from simultaneously responding to the same target instruction, the stability of the baseboard management controller is influenced, and the stability of the baseboard management controller is improved.
Further, after the system runs for a period of time, the multithreading concurrent execution creates a plurality of session log-in baseboard management controllers, and the baseboard management controllers can keep log-in records, namely session information, so that the situation that the sessions of the baseboard management controllers are full occurs. Under the condition of multithreading concurrency, the embodiment of the invention can directly execute the processing operation indicated by the target instruction based on the determined target instance cache without creating a plurality of sessions in the baseboard management controller and logging in the baseboard management controller, thereby avoiding session accumulation in the baseboard management controller to a certain extent.
Optionally, the plurality of nodes includes a master node and a plurality of slave nodes.
The master node and the slave nodes can be determined by the load performance of the nodes, specifically, the node with the maximum load index value can be determined as the master node by determining the load index value of each node, and the nodes except the master node are all determined as the slave nodes. For example, performance parameter information of each node may be obtained through a task management module of any node, where the performance parameter information may include information such as processor performance information, memory performance information, disk performance information, and network performance information, and a corresponding weight value is set for each performance information, and a load index value of each node is determined based on the performance parameter information and the weight value corresponding to each performance information. The weight value may be defined according to the purpose of the node, for example: if the node operation has higher requirement on network bandwidth, the weight value corresponding to the network performance information is required to be increased, and if the node operation has higher requirement on local read-write, the weight value corresponding to the disk performance information is required to be increased. Thus, the obtained load index values corresponding to the nodes not only can reflect the performance of the nodes, but also can reflect the load capacity of the nodes under different operation requirements to a certain extent.
Illustratively, the load index value P may be determined by equation one:
wherein P is the load index value corresponding to the node, x 1、 x 2 、…x n Can respectively represent different types of performance parameter information, w 1 、w 2 、…w n May respectively represent weight values corresponding to different performance information, e.g. w 1 Is x 1 Corresponding weight value, w 2 Is x 2 Corresponding weight values, etc.
In the case that the current node is the master node, the embodiment of the present invention may further include the following steps:
step 201, for any node to be allocated among the plurality of nodes, acquiring response time required by the node to be allocated to establish connection with each baseboard management controller in the distributed system respectively, and obtaining a plurality of target response times; the plurality of nodes are deployed in the distributed system.
In the embodiment of the present invention, the node to be allocated may be a master node or any slave node in the distributed system, or may be a part of nodes in the distributed system, for example: the partial nodes may be multiple nodes with consistent node functionality in a distributed system. Aiming at the master node and any node to be distributed in each slave node, the master node can acquire the response time required by the node to be distributed to establish connection with any baseboard management controller in the distributed system, and the target response time is obtained. And aiming at all baseboard management controllers in the distributed system, acquiring target response time of the node to be distributed and connection establishment between the node to be distributed and the node to be distributed, and obtaining a plurality of target response time.
Step 202, determining at least one baseboard management controller to be managed by the node to be allocated based on the target response time corresponding to each of the plurality of nodes.
In the embodiment of the invention, the plurality of target response times corresponding to the nodes to be distributed can represent the connection speed between the nodes to be distributed and each baseboard management controller, so that the nodes with smaller target response time can be distributed to the nodes to be distributed as much as possible according to the plurality of target response times corresponding to all the nodes in the distributed system. After obtaining the target response time corresponding to the master node and each slave node, sorting all the target response time, distributing each baseboard manager in the distributed system to each node according to the sorting order, and determining at least one baseboard management controller required to be managed by the current node to be distributed.
In one possible implementation manner, after obtaining the target response times corresponding to the master node and each slave node, the target response times of each baseboard management controller and the master node and each slave node may be obtained for each baseboard management controller, and the baseboard management controller is preferentially allocated to the node with the small corresponding target response time based on the target response times corresponding to the baseboard management controller.
And 203, recording the corresponding relation between the node to be allocated and the baseboard management controller address of the at least one baseboard management controller to the target load list under the condition that the at least one baseboard management controller meets the preset allocation condition.
In the embodiment of the invention, after at least one substrate server required to be managed by a node to be distributed is determined, whether the at least one substrate server distributed to the node to be distributed meets a preset distribution condition is required to be verified, and under the condition that the preset distribution condition is met, the at least one substrate server can be distributed and managed by the node to be distributed by characterization, at least one substrate management controller address corresponding to the at least one substrate management controller is acquired, and the corresponding relation between the node to be distributed and the at least one substrate management controller address is recorded to a target load list. The preset allocation condition may be a first ratio of a sum of historical response times of at least one baseboard management controller managed by a node to be allocated to a total historical response time of baseboard management controllers managed by all nodes in the distributed system, and a difference between a load index value of the node to be allocated and a second ratio of a total load index value of all nodes in the distributed system is smaller than a first preset threshold. Because the historical response time of the node and the baseboard management controller is positively correlated with the computation resource historically consumed by the node, the longer the historical response time is, the more the node requests received by the baseboard management controller are indicated to be, the more the computation resource is consumed, and therefore, the sum of the historical response time of at least one baseboard management controller managed by the node to be distributed can reflect the historical computation resource consumption condition of the node to be distributed to a certain extent. That is, in order to load balance the nodes, the ratio of the computation resources historically consumed by the nodes to be allocated to the total computation resources historically consumed in the distributed system is as close as possible to the ratio of the load capacity of the nodes to be allocated to the load capacity of all the nodes, and the preset allocation condition is considered to be satisfied. Under the condition that the master node and each slave node determine the baseboard management controller which needs to be managed, the master node transmits a target load list to each slave node so that each slave node can judge whether to respond to the target instruction or not based on the target load list.
It can be understood that, under the condition that the correspondence between the node to be allocated and the address of at least one baseboard management controller is obtained for the first time, a target load list is created and stored in a designated storage area, the correspondence is recorded to the target load list, and under the condition that the correspondence between other nodes to be allocated and the address of at least one baseboard management controller is obtained subsequently, the target load list is obtained from the designated storage area, and the correspondence is recorded to the target load list.
And 204, re-executing the operation of the at least one baseboard management controller required to be managed by the node to be distributed based on the target response time corresponding to each of the plurality of nodes under the condition that the at least one baseboard management controller does not meet the preset distribution condition.
In the embodiment of the invention, under the condition that at least one baseboard management controller does not meet the preset allocation condition, the at least one baseboard management controller allocated to the node to be allocated is characterized in that the load of each node cannot be balanced, so that the at least one baseboard management controller required to be managed by the node to be allocated needs to be adjusted again based on the corresponding target response time of the nodes, and then whether the at least one baseboard management controller allocated to the node to be allocated at this time meets the preset allocation condition is judged based on the adjustment result until the at least one baseboard management controller allocated to the node to be allocated meets the preset allocation condition.
In the embodiment of the invention, the master node allocates at least one baseboard management controller to the node to be allocated through the target response time, determines the baseboard management controller actually required to be managed by the node to be allocated by judging whether the at least one baseboard management controller meets the preset allocation condition, and obtains the target load list. Therefore, under the condition that at least one baseboard management controller meets the preset allocation condition, the master node can record the allocation condition to the target load list, and the reliability of the corresponding relation between a plurality of nodes and a plurality of baseboard management controller addresses in the target load list is improved. .
Optionally, the embodiment of the invention can further comprise the following steps:
step 301, determining a first ratio based on a sum of historical response times of the at least one baseboard management controller and a total historical response time of all baseboard management controllers in the distributed system.
In the embodiment of the invention, the sum of the historical response time of at least one baseboard management controller is obtained, the historical response time can be the response time required by one or more node requests responded by the baseboard management controllers within the preset time, wherein the historical response time of any baseboard management controller in the at least one baseboard management controller can be determined based on the target response time of the node to be distributed and the baseboard management controller and the node request times received by the baseboard management controller within the preset time. And obtaining the sum of the historical response time required by a plurality of node requests responded by each baseboard management controller in the distributed system in a preset time as the total historical response time. The ratio of the sum of the historical response times of the at least one baseboard management controller to the total response time is determined as a first ratio, and the first ratio S1 can be determined by a formula two.
Wherein, assuming that the distributed system includes n nodes in total, for any node k of the n nodes, the node k manages l baseboard management controllers, then T lk Representing the target response time, f, required by the first baseboard management controller managed by node k to establish a connection with node k l Indicating the number of requests received in the preset time of the first baseboard management controller managed by node k, then T lk f l Representing the historical response time of the first baseboard management controller managed by the k node. Correspondingly, T 1k f 1 +T 2k f 2 +…T lk f l May represent the sum of the historical response times of the baseboard management controllers managed by k,the sum of the historical response times of all baseboard management controllers managed by n nodes, i.e., the total historical response time of all baseboard management controllers in the distributed system, may be represented. The node to be allocated is j, T 1j Then the target response time required by the ith baseboard management controller managed by the j node to establish connection with the j node is represented, f i Indicating the number of requests received by the ith baseboard management controller managed by the jth node within a preset time.
Step 302, determining a second ratio based on the load index value corresponding to the node to be allocated, the load index value of the master node, and the load index value of each slave node.
In the embodiment of the invention, based on the load index value corresponding to the node to be distributed and the sum of the load index values of all nodes in the distributed system, a second ratio is determined, and the second ratio S2 can be determined by a formula III:
wherein P is j Load index value, P, representing node j to be allocated 1 +P 2 +…+P n Representing the sum of the load performance values of n nodes in the distributed system.
Step 303, determining that the at least one baseboard management controller meets a preset allocation condition when the difference value between the first ratio and the second ratio is smaller than a first preset threshold value.
Step 304, determining that the at least one baseboard management controller does not meet a preset allocation condition when the difference value between the first ratio and the second ratio is not smaller than a first preset threshold value.
In the embodiment of the invention, under the condition that the difference value between the first ratio and the second ratio is smaller than the first preset threshold value, at least one baseboard management controller allocated to the node to be allocated is characterized in that the computing resource consumed by the node can be matched with the load capacity of the node to be allocated, and the node to be allocated is balanced in load under the condition, so that the at least one baseboard management controller allocated to the node to be allocated meets the preset allocation condition; and under the condition that the difference value of the first ratio and the second ratio is not smaller than a first preset threshold value, the at least one baseboard management controller which characterizes the node to be allocated cannot enable the computing resource consumed by the node to be matched with the load capacity of the node to be allocated, the current allocation result is poor, the load of the node to be allocated is not balanced under the condition, and the at least one baseboard management controller allocated to the node to be allocated cannot meet the preset allocation condition. The first ratio is larger than the second ratio, which can represent the load of the node to be allocated, that is, the at least one baseboard management controller allocated to the node to be allocated does not enable the node to be allocated to exert the load capacity of the node to be allocated, and the first ratio is smaller than the second ratio, which can represent the load of the node to be allocated, that is, the at least one baseboard management controller allocated and managed to the node to be allocated exceeds the load capacity of the node to be allocated. It can be understood that the value of the first preset threshold can be set by itself according to the requirement, and the smaller the value of the first preset threshold is, the higher the balancing requirement on the load of each node can be represented. That is, the effect of balancing the node load is better by making the first ratio as close as possible to the second ratio, i.e., s1≡s2.
For example, assuming six servers S1-S6, each server is deployed with a baseboard management controller, two distributed nodes P1, P2, and response times of the six servers in the two nodes are respectively T11, T12, T13, T14, T15, T16; t21, T22, T23, T24, T25, T26. Wherein, if T11<T21<T12<T22<T13<T23<T24<T14<T25<T15<T16<T26, since the response time of the servers S1, S2, S3, S6 is shorter in the node P1 than in the node P2, S1, S2, S3, S6 will be preferentially allocated to P1, and S4, S5 will be preferentially allocated to P2; assuming that the six servers have the same request times and the P1 and P2 performances are the same, the load balancing formula can be expressed asJudging whether the difference value of the ratio of the two sides of the formula is smaller than a first preset threshold value, if not, adjusting the right side of the formula, and distributing S6 to the node P2, wherein the load balancing formula at the moment is ++>And continuously judging whether the difference value of the ratio of the two sides of the formula is smaller than a first preset threshold value or not until the difference value of the ratio of the two sides of the formula is smaller than the first preset threshold value.
In the embodiment of the invention, whether the at least one baseboard management controller meets the preset allocation condition is judged by determining the first ratio and the second ratio and judging whether the at least one baseboard management controller allocated and managed by the node to be allocated is matched with the load capacity of the node or not based on the first ratio and the second ratio, so that the allocation scheme of the at least one baseboard management controller managed by the node to be allocated is more reasonable, and the load of the node to be allocated is more balanced.
Optionally, before step 301, the embodiment of the present invention further includes the following steps:
step 401, determining a historical response time of each baseboard management controller based on the historical request times and the target response time received by each baseboard management controller in the at least one baseboard management controller.
In the embodiment of the invention, for any baseboard management controller in at least one baseboard management controller, the number of node requests received by the baseboard management controller in preset time is obtained and used as historical request times, the target response time required by establishing connection between the baseboard management controller and a node to be distributed is obtained, and the historical response time of the baseboard management controller is determined based on the product of the historical request times and the target response time.
Step 402, determining a first historical response time corresponding to each baseboard management controller based on the historical request times and the first response time received by each baseboard management controller in the distributed system.
In the embodiment of the invention, the number of node requests received by each baseboard management controller in the distributed system in a preset time is obtained and used as the historical request times received by each baseboard management controller, and the response time required by establishing connection between each baseboard management controller and the node managing the baseboard management controller is obtained and used as the first response time. And determining the first historical response time corresponding to each baseboard management controller based on the historical request times and the first response time.
Step 403, determining a total historical response time of all baseboard management controllers in the distributed system based on the first historical response time corresponding to each baseboard management controller.
In the embodiment of the invention, the first historical response time corresponding to each baseboard management controller is added, so that the total historical response time of all baseboard management controllers in the distributed system can be obtained.
In the embodiment of the invention, the historical response time required by the baseboard management controller for receiving the node request can be determined through the historical request times and the response time, so that the calculation efficiency of the historical response time is improved.
Optionally, before step 302, an embodiment of the present invention further includes the following steps:
step 501, obtaining processor performance information, memory performance information, disk performance information and network performance information of the node to be allocated.
In the embodiment of the invention, the performance related information of the node to be allocated is obtained, specifically, the master node may obtain the performance related information by sending an information obtaining request to the node to be allocated. The performance related information may include processor performance information, memory performance information, disk performance information, network performance information, and the like of the node to be allocated.
Step 502, acquiring a first weight corresponding to the processor performance information, a second weight corresponding to the memory performance information, a third weight corresponding to the disk performance information, and a fourth weight corresponding to the network performance information.
In the embodiment of the invention, different weight values can be set for different performance information in advance, and after the performance related information is acquired, the weight value corresponding to the performance information can be acquired, such as a first weight corresponding to the performance information of a processor, a second weight corresponding to the performance information of a memory, a third weight corresponding to the performance information of a disk and a fourth weight corresponding to the performance information of a network. The setting of the weight value may be set based on the use of the node, which is not limited in the embodiment of the present invention.
Step 503, determining a load index value corresponding to the node to be allocated based on the processor performance information, the first weight, the memory performance information, the second weight, the disk performance information, the third weight, the network performance information, and the fourth weight.
In the embodiment of the invention, based on each piece of performance information and the weight corresponding to each piece of performance information, the load index value corresponding to the node to be allocated is determined, and the specific determination method is as formula one.
According to the embodiment of the invention, the weight corresponding to the different performance information can meet the differentiated index preference of the node application under different application scenes, and the flexibility of weight setting is improved, so that the load index value can more clearly reflect the load capacity of the node under different application scenes.
Optionally, the embodiment of the invention further comprises the following steps:
step 601, obtaining average resource utilization rates of the master node and each slave node in a target duration.
In the embodiment of the invention, the average resource utilization rate of the master node and each slave node in the target time period is obtained, wherein the average resource utilization rate can be determined by obtaining the processor utilization rates of the master node and each slave node in the target time period, and the average resource utilization rate can reflect the task processing state of the node in the target time period to a certain extent. For any node, the average resource utilization rate corresponding to the node can be determined by collecting the processor utilization rate in the target duration through a monitoring platform or a monitoring process, and the average resource utilization rate corresponding to the node can be calculated based on the average value of the processor utilization rates in 7 days, wherein the average resource utilization rate corresponding to the node can be determined by respectively acquiring the idle time data of the processor and the total running time data of the processor in 7 days on the assumption that the target duration is 7 days.
Step 602, executing the operation of determining at least one baseboard management controller to be managed by the node to be allocated based on the target response time corresponding to each of the plurality of nodes again when the difference between the average resource utilization rate of the master node and any one of the slave nodes or any two of the slave nodes is greater than a second preset threshold.
In the embodiment of the invention, under the condition that the difference value of the average resource utilization rates of any two nodes is larger than the second preset threshold value, the condition that the existing node task processing is less, the existing node task processing is more and the existing node task processing is busy is characterized, namely, the condition that each node has load imbalance exists, therefore, the target load list needs to be readjusted, and each node achieves load balancing again. After the new target load list is generated, the management relationship between the nodes and the baseboard management controllers may change, so that the baseboard management controllers managed by each node need to be logged out, the instance caches stored in the nodes are refreshed, and the subsequent new instance caches are added again in the running process. In the process of determining the target load list again, as the data of the historical request times and the target response time may change, the changes may come from the execution operation process in the target duration, so that the data changes of the historical request times and the target response time may reflect the operation rule of the nodes in the target duration, and correspondingly, the readjusted target load list is also distributed based on the changed data, so that the node operation rule is more met. The second preset threshold may be set by itself, which is not limited in this embodiment of the present invention.
In the embodiment of the invention, the running states of the master node and each slave node in the target duration can be monitored by acquiring the average resource utilization rate of the master node and each slave node, and the target load list is adjusted under the condition that the difference value of the average resource utilization rates is larger than the second preset threshold value, so that the adjusted target load list is more in line with the running rule of the nodes.
In a possible implementation manner, since the master node in the distributed system may obtain and maintain the list of the distributed nodes and monitor the activity states of the respective nodes, when the master node detects that a node in the distributed system changes, the master node actively triggers a generation program of the target load list, that is, re-executes the operation of the at least one baseboard management controller for determining the node to be allocated needs to be managed based on the target response time corresponding to each of the plurality of nodes. The condition that the node changes may include: node expansion, contraction or deactivation of a node.
Alternatively, step 102 may comprise the steps of:
step 1021, obtaining an instance cache in the current node.
In the embodiment of the invention, all the cached instance caches of the current node are obtained from the cache area of the current node through the management module of the baseboard management controller.
Step 1022, under the condition that there is an instance cache in which the corresponding baseboard management controller address is consistent with the target baseboard management controller address, obtaining an instance cache corresponding to the baseboard management controller address matched and consistent with the target baseboard management controller address, as an instance cache to be screened; different instance caches to be screened correspond to different processing operations.
In the embodiment of the invention, based on the baseboard management controller address corresponding to each instance buffer in the current node, whether the instance buffer is consistent with the target baseboard management controller address is determined, if so, the instance buffer corresponding to the baseboard management controller address matched and consistent with the target baseboard management controller address is obtained and used as the instance buffer to be screened. Wherein, different instances to be screened are cached to correspond to different processing operations executed on the same baseboard management controller.
Step 1023, determining the to-be-screened instance cache with the corresponding processing operation consistent with the operation indicated by the target instruction as a target instance cache.
In the embodiment of the invention, based on the processing operation corresponding to the cache to be screened, whether the processing operation is consistent with the operation indicated by the target instruction is determined, and if so, the instance cache corresponding to the consistent processing operation is determined to be the target instance cache.
Step 1024, creating a target instance cache based on the target instruction when there is no corresponding instance cache whose target baseboard management controller address is consistent with the target baseboard management controller address, or there is no corresponding instance cache to be screened whose processing operation is consistent with the operation indicated by the target instruction.
In the embodiment of the invention, when the addresses of the baseboard management controllers corresponding to the instance caches are inconsistent with the addresses of the target baseboard management controllers, or the processing operations corresponding to the instance caches to be screened are inconsistent with the operations indicated by the target instructions, which indicate that the current node does not cache the instance with the function of executing the operations indicated by the target instructions to the target baseboard management controllers, the operations indicated by the target instructions can be executed based on the target instructions to obtain a specific implementation class, and the specific implementation class is copied, and the target instance caches are created and stored in the cache area of the current node.
In the embodiment of the invention, the instance cache to be screened is determined based on the address of the baseboard management controller corresponding to the instance cache, and the target instance cache is determined based on the processing operation corresponding to the instance cache to be screened, so that the target instance cache can be screened and determined step by step, and the complexity of the step of determining the target instance cache is reduced.
Optionally, the embodiment of the invention can further comprise the following steps:
step 701, under the condition that the target instruction is a target monitoring instruction, logging in the target baseboard management controller based on the target instance cache, acquiring related information of a server through the target baseboard management controller, and executing monitoring operation indicated by the target monitoring instruction on the server based on the related information; the server is deployed with the target baseboard management controller.
In the embodiment of the invention, the monitoring module in the distributed system responds to the target monitoring instruction, and can log in the target baseboard management controller based on the session information in the target instance cache under the condition that the target instruction is the target monitoring instruction, acquire the relevant information of the server through the target baseboard management controller based on the processing operation information in the target instance cache, and store the relevant information to the storage module of the node. And executing the monitoring operation indicated by the target monitoring instruction on the server based on the related information. The related information may be information such as a processor, a memory, a fan, a power supply, etc. of the server, and the operation state of the server may be monitored based on the related information of the server. For example, the first related information of the server may be acquired at a first moment, and the first related information may be stored in the storage module of the node, the second related information of the server may be acquired at a second moment, and the second related information may be stored in the storage module of the node, and the operation state of the server may be monitored based on the first related information and the second related information. For example: based on the processor information in the first related information and the second related information, an operational state of a processor of the server may be monitored. In this way, in the event of server operational anomalies, problems can be discovered and located for timely handling.
Step 702, in the case that the target instruction is a target configuration instruction, log in the target baseboard management controller based on the target instance cache, and execute the configuration operation indicated by the target configuration instruction on the target baseboard management controller.
In the embodiment of the present invention, if the configuration module in the distributed system responds to the target configuration instruction, the target baseboard management controller may be logged in based on the session information in the target instance cache and execute the configuration operation indicated by the target configuration instruction, such as setting a server network, a network time protocol (Network Time Protocol, NTP), a domain name system (Domain Name System, DNS), etc., on the target baseboard management controller based on the processing operation information in the target instance cache. And storing the relevant configuration information to a storage module of the node.
In the embodiment of the invention, under the condition that the target instruction is an instruction of different types, the processing operation indicated by the target instruction can be responded and realized based on the determined target instance cache, so that the comprehensiveness of the instruction response type is improved.
By way of example, fig. 2 shows a schematic architecture of a master node, where, as shown in fig. 2, the master node includes a resource management module, a configuration module, a monitoring module, a baseboard management controller management module, a storage module, and a task management module, where the resource management module is used to manage server resources connected to the node, and includes adding, modifying, and deleting server information, including baseboard management controller addresses, usernames, passwords, and protocols used. The configuration module invokes the baseboard management controller management module through the task management module to configure related functions of the baseboard management controller, and the monitoring module acquires the status information and the component information of the baseboard management controller through the task management module to monitor the health status of the server. The baseboard management controller management module is used for packaging baseboard management controller interfaces of various models, and providing a unified management service interface to the outside so as to shield the difference of interfaces among different servers. The storage module is used for storing related information generated in the resource management module, the configuration module and the monitoring module. The task management module functions to provide task scheduling (call baseboard management controller management module) and load balancing management (generate target load list).
The management of the baseboard management controller is implemented as follows: (1) And starting the server management system, and starting a task scheduling function and a load balancing function by the task management module in a distributed deployment mode. The load balancing function is that the master node needs to generate a target load list and send the target load list to each slave node so as to balance the loads of the nodes. (2) And adding a baseboard management controller to be managed through a resource management module, inputting information types to be acquired, such as baseboard management controller address, user name, password and protocol type information, and adding the scanned baseboard management controller information to a storage module by the resource management module according to a server corresponding to the input information. The baseboard management controller information includes information corresponding to the above information category, a server model, a baseboard management controller version, a basic input output system (Basic Input Output System, BIOS) version, and the like. (3) After the addition of the base plate management controller resource is completed, under the condition that a target monitoring instruction is received, the monitoring module judges whether the main node is a node corresponding to the base plate management controller address indicated by the target monitoring instruction through the task management module, if yes, the base plate management controller management module is called, a target instance cache is determined, server information corresponding to the base plate management controller is obtained based on the target instance cache, the health state of the server is monitored in real time, and the obtained server information is stored in the storage module. (4) Under the condition that the target configuration instruction is received, the configuration module judges whether the master node is a node corresponding to the baseboard management controller address indicated by the target configuration instruction through the task management module, if so, the baseboard management controller management module is called to configure related configuration of the baseboard management controller, such as NTP configuration, DNS configuration, log configuration or firmware upgrade, and related configuration information is stored in the storage module.
Fig. 3 is a block diagram of a processing apparatus of a baseboard management controller according to an embodiment of the present invention, where the apparatus 80 may include:
a first determining module 801, configured to determine, when a target instruction is received, a target node corresponding to a target baseboard management controller address based on a target load list and the target baseboard management controller address indicated by the target instruction; the target load list comprises the corresponding relation between the plurality of nodes and the plurality of baseboard management controller addresses;
a second determining module 802, configured to determine, when the target node is a current node, a target instance cache based on the target baseboard management controller address and a baseboard management controller address corresponding to the instance cache in the current node;
a first execution module 803, configured to execute, based on the target instance cache, an operation indicated by the target instruction on a target baseboard management controller; the target baseboard management controller is a baseboard management controller corresponding to the target baseboard management controller address.
Optionally, the plurality of nodes includes a master node and a plurality of slave nodes; the apparatus 80 may further include:
The first acquisition module is used for acquiring response time required by establishing connection between each node to be allocated and each baseboard management controller in the distributed system respectively aiming at any node to be allocated in the plurality of nodes to obtain a plurality of target response times; the distributed system is provided with a plurality of nodes;
the third determining module is used for determining at least one baseboard management controller required to be managed by the node to be distributed based on the target response time corresponding to each of the plurality of nodes;
a first recording module, configured to record, in the case where the at least one baseboard management controller meets a preset allocation condition, a correspondence between the node to be allocated and a baseboard management controller address of the at least one baseboard management controller to the target load list;
and a fourth determining module, configured to re-execute the operation of determining at least one baseboard management controller that needs to be managed by the node to be allocated based on the target response time corresponding to each of the plurality of nodes, where the at least one baseboard management controller does not meet the preset allocation condition.
Optionally, the apparatus 80 may further include:
A fifth determining module configured to determine a first ratio based on a sum of historical response times of the at least one baseboard management controller and a total historical response time of all baseboard management controllers in the distributed system;
a sixth determining module, configured to determine a second ratio based on a load index value corresponding to the node to be allocated, a load index value of the master node, and a load index value of each slave node;
a seventh determining module, configured to determine that the at least one baseboard management controller meets a preset allocation condition when a difference between the first ratio and the second ratio is smaller than a first preset threshold;
an eighth determining module, configured to determine that the at least one baseboard management controller does not meet a preset allocation condition when a difference between the first ratio and the second ratio is not smaller than a first preset threshold.
Optionally, the apparatus 80 may further include:
a ninth determining module, configured to determine a historical response time of each baseboard management controller based on a historical request number and a target response time received by each baseboard management controller in the at least one baseboard management controller;
A tenth determining module, configured to determine a first historical response time corresponding to each baseboard management controller based on the historical request times and the first response times received by each baseboard management controller in the distributed system;
an eleventh determining module, configured to determine a total historical response time of all baseboard management controllers in the distributed system based on the first historical response time corresponding to each baseboard management controller.
Optionally, the apparatus 80 may further include:
the second acquisition module is used for acquiring the processor performance information, the memory performance information, the disk performance information and the network performance information of the node to be allocated;
the third acquisition module is used for acquiring a first weight corresponding to the processor performance information, a second weight corresponding to the memory performance information, a third weight corresponding to the disk performance information and a fourth weight corresponding to the network performance information;
a twelfth determining module, configured to determine a load index value corresponding to the node to be allocated based on the processor performance information, the first weight, the memory performance information, the second weight, the disk performance information, the third weight, the network performance information, and the fourth weight.
Optionally, the apparatus 80 may further include:
a fourth obtaining module, configured to obtain average resource utilization rates of the master node and each slave node in a target duration;
and a thirteenth determining module, configured to re-execute the operation of determining at least one baseboard management controller to be managed by the node to be allocated based on the target response time corresponding to each of the plurality of nodes when the difference between the average resource utilization rates of the master node and any one of the slave nodes, or any two of the slave nodes, is greater than a second preset threshold.
Optionally, the second determining module 802 may include:
the first acquisition submodule is used for acquiring an instance cache in the current node;
the second obtaining submodule is used for obtaining an instance cache corresponding to the baseboard management controller address matched and consistent with the target baseboard management controller address as an instance cache to be screened under the condition that the corresponding instance cache of the baseboard management controller address matched and consistent with the target baseboard management controller address exists; different instance caches to be screened correspond to different processing operations;
the first determining submodule is used for determining an instance cache to be screened, of which the corresponding processing operation is consistent with the operation indicated by the target instruction, as a target instance cache;
The first creating module is configured to create, based on the target instruction, an instance cache in which a corresponding target baseboard management controller address is consistent with the target baseboard management controller address, or in the case where there is no instance cache to be screened in which a corresponding processing operation is consistent with an operation indicated by the target instruction.
Optionally, the first execution module 803 may include:
the first monitoring sub-module is used for logging in the target baseboard management controller based on the target instance cache under the condition that the target instruction is a target monitoring instruction, acquiring related information of a server through the target baseboard management controller, and executing monitoring operation indicated by the target monitoring instruction on the server based on the related information; the server is provided with the target baseboard management controller;
and the first configuration submodule is used for logging in the target baseboard management controller based on the target instance cache and executing the configuration operation indicated by the target configuration instruction on the target baseboard management controller under the condition that the target instruction is the target configuration instruction.
In summary, in the processing device of the baseboard management controller provided by the embodiment of the invention, under the condition that the target instruction is received, determining the target node corresponding to the target baseboard management controller address based on the target load list and the target baseboard management controller address indicated by the target instruction; the target load list comprises the corresponding relation between a plurality of nodes and a plurality of baseboard management controller addresses; determining a target instance cache based on the target baseboard management controller address and the baseboard management controller address corresponding to the instance cache in the current node when the target node is the current node; based on the target instance cache, executing the operation indicated by the target instruction on the target baseboard management controller; the target baseboard management controller is a baseboard management controller corresponding to the target baseboard management controller address. Therefore, when the node receives the target instruction, based on the corresponding relation between the plurality of nodes and the plurality of baseboard management controller addresses contained in the target load list, whether the current node is the target node or not can be judged, namely, whether the current node needs to respond to the target instruction or not, and when the current node is the target node, namely, the current node is the target node needing to respond to the target instruction, based on the target instance cache, the target baseboard management controller is operated by executing the target instruction, so that the plurality of nodes can be prevented from simultaneously responding to the same target instruction, the stability of the baseboard management controller is influenced, and the stability of the baseboard management controller is improved.
The present invention also provides an electronic device, see fig. 4, comprising: a processor 901, a memory 902, and a computer program 9021 stored on the memory and executable on the processor, which when executed implements the processing method of the baseboard management controller of the foregoing embodiment.
The present invention also provides a readable storage medium, which when executed by a processor of an electronic device, enables the electronic device to perform the processing method of the baseboard management controller of the foregoing embodiment.
For the device embodiments, since they are substantially similar to the method embodiments, the description is relatively simple, and reference is made to the description of the method embodiments for relevant points.
The algorithms and displays presented herein are not inherently related to any particular computer, virtual system, or other apparatus. Various general-purpose systems may also be used with the teachings herein. The required structure for a construction of such a system is apparent from the description above. In addition, the present invention is not directed to any particular programming language. It will be appreciated that the teachings of the present invention described herein may be implemented in a variety of programming languages, and the above description of specific languages is provided for disclosure of enablement and best mode of the present invention.
In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Similarly, it should be appreciated that in the above description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. However, the disclosed method should not be construed as reflecting the intention that: i.e., the claimed invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description, with each claim standing on its own as a separate embodiment of this invention.
Those skilled in the art will appreciate that the modules in the apparatus of the embodiments may be adaptively changed and disposed in one or more apparatuses different from the embodiments. The modules or units or components of the embodiments may be combined into one module or unit or component and, furthermore, they may be divided into a plurality of sub-modules or sub-units or sub-components. Any combination of all features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or units of any method or apparatus so disclosed, may be used in combination, except insofar as at least some of such features and/or processes or units are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings), may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
Various component embodiments of the invention may be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. Those skilled in the art will appreciate that some or all of the functions of some or all of the components in a sorting device according to the present invention may be implemented in practice using a microprocessor or Digital Signal Processor (DSP). The present invention may also be implemented as an apparatus or device program for performing part or all of the methods described herein. Such a program embodying the present invention may be stored on a computer readable medium, or may have the form of one or more signals. Such signals may be downloaded from an internet website, provided on a carrier signal, or provided in any other form.
It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means may be embodied by one and the same item of hardware. The use of the words first, second, third, etc. do not denote any order. These words may be interpreted as names.
It will be clear to those skilled in the art that, for convenience and brevity of description, specific working procedures of the above-described systems, apparatuses and units may refer to corresponding procedures in the foregoing method embodiments, and are not repeated herein.
The foregoing description of the preferred embodiments of the invention is not intended to be limiting, but rather is intended to cover all modifications, equivalents, and alternatives falling within the spirit and principles of the invention.
The foregoing is merely illustrative of the present invention, and the present invention is not limited thereto, and any person skilled in the art will readily recognize that variations or substitutions are within the scope of the present invention. Therefore, the protection scope of the invention is subject to the protection scope of the claims.

Claims (11)

1. A processing method of a baseboard management controller, applied to any one of a plurality of nodes, the method comprising:
under the condition that a target instruction is received, determining a target node corresponding to a target baseboard management controller address based on a target load list and the target baseboard management controller address indicated by the target instruction; the target load list comprises the corresponding relation between the plurality of nodes and the plurality of baseboard management controller addresses;
Determining a target instance cache based on the target baseboard management controller address and a baseboard management controller address corresponding to the instance cache in the current node when the target node is the current node;
based on the target instance cache, executing the operation indicated by the target instruction on a target baseboard management controller; the target baseboard management controller is a baseboard management controller corresponding to the target baseboard management controller address.
2. The method of claim 1, wherein the plurality of nodes comprises a master node and a plurality of slave nodes; in the case that the current node is the master node, the method further includes:
aiming at any node to be distributed in the plurality of nodes, acquiring response time required by the node to be distributed to establish connection with each baseboard management controller in the distributed system respectively, and obtaining a plurality of target response times; the distributed system is provided with a plurality of nodes;
determining at least one baseboard management controller required to be managed by the node to be distributed based on the target response time corresponding to each of the plurality of nodes;
recording the corresponding relation between the node to be allocated and the baseboard management controller address of the at least one baseboard management controller to the target load list under the condition that the at least one baseboard management controller meets the preset allocation condition;
And re-executing the operation of determining at least one baseboard management controller to be managed by the node to be allocated based on the target response time corresponding to each of the plurality of nodes under the condition that the at least one baseboard management controller does not meet the preset allocation condition.
3. The method of claim 2, wherein after the determining at least one baseboard management controller to be managed by the node to be allocated based on the target response time corresponding to each of the plurality of nodes, the method further comprises:
determining a first ratio based on a sum of historical response times of the at least one baseboard management controller and a total historical response time of all baseboard management controllers in the distributed system;
determining a second ratio based on the load index value corresponding to the node to be allocated, the load index value of the master node and the load index value of each slave node;
determining that the at least one baseboard management controller meets a preset distribution condition under the condition that the difference value between the first ratio and the second ratio is smaller than a first preset threshold value;
and under the condition that the difference value between the first ratio and the second ratio is not smaller than a first preset threshold value, determining that the at least one baseboard management controller does not meet a preset distribution condition.
4. The method of claim 3, wherein prior to determining the first ratio based on a sum of the historical response times of the at least one baseboard management controller and a total historical response time of all baseboard management controllers in the distributed system, the method further comprises:
determining the historical response time of each baseboard management controller based on the historical request times and the target response time received by each baseboard management controller in the at least one baseboard management controller;
determining a first historical response time corresponding to each baseboard management controller based on the historical request times and the first response time received by each baseboard management controller in the distributed system;
based on the first historical response time corresponding to each baseboard management controller, determining the total historical response time of all baseboard management controllers in the distributed system.
5. A method according to claim 3, wherein before said determining a second ratio based on the load index value corresponding to the node to be allocated, the load index value of the master node, and the load index value of each of the slave nodes, the method comprises:
Acquiring processor performance information, memory performance information, disk performance information and network performance information of the node to be allocated;
acquiring a first weight corresponding to the processor performance information, a second weight corresponding to the memory performance information, a third weight corresponding to the disk performance information and a fourth weight corresponding to the network performance information;
and determining a load index value corresponding to the node to be allocated based on the processor performance information, the first weight, the memory performance information, the second weight, the disk performance information, the third weight, the network performance information and the fourth weight.
6. The method according to any one of claims 2-5, further comprising:
obtaining the average resource utilization rate of the master node and each slave node in the target duration;
and re-executing the operation of determining at least one baseboard management controller required to be managed by the node to be distributed based on the target response time corresponding to each of the plurality of nodes under the condition that the difference value of the average resource utilization rate of the master node and any one of the slave nodes or any two of the slave nodes is larger than a second preset threshold value.
7. The method of claim 1, wherein the determining a target instance cache based on the target baseboard management controller address and a baseboard management controller address corresponding to the instance cache in the current node comprises:
acquiring an instance cache in the current node;
under the condition that the corresponding instance cache of the baseboard management controller address is consistent with the target baseboard management controller address, obtaining the instance cache corresponding to the baseboard management controller address matched and consistent with the target baseboard management controller address as an instance cache to be screened; different instance caches to be screened correspond to different processing operations;
the corresponding processing operation is consistent with the operation indicated by the target instruction, and the to-be-screened instance cache is determined as a target instance cache;
and creating the target instance cache based on the target instruction under the condition that no corresponding instance cache with the target baseboard management controller address consistent with the target baseboard management controller address exists or no corresponding instance cache to be screened with the processing operation consistent with the operation indicated by the target instruction exists.
8. The method of claim 7, wherein performing the operation indicated by the target instruction on a target baseboard management controller based on the target instance cache comprises:
Under the condition that the target instruction is a target monitoring instruction, logging in the target baseboard management controller based on the target instance cache, acquiring related information of a server through the target baseboard management controller, and executing monitoring operation indicated by the target monitoring instruction on the server based on the related information; the server is provided with the target baseboard management controller;
and under the condition that the target instruction is a target configuration instruction, logging in the target baseboard management controller based on the target instance cache, and executing the configuration operation indicated by the target configuration instruction on the target baseboard management controller.
9. A processing apparatus of a baseboard management controller, applied to any one of a plurality of nodes, the apparatus comprising:
the first determining module is used for determining a target node corresponding to a target baseboard management controller address based on a target load list and the target baseboard management controller address indicated by the target instruction under the condition that the target instruction is received; the target load list comprises the corresponding relation between the plurality of nodes and the plurality of baseboard management controller addresses;
The second determining module is configured to determine, when the target node is a current node, a target instance cache based on the target baseboard management controller address and a baseboard management controller address corresponding to the instance cache in the current node;
the first execution module is used for executing the operation indicated by the target instruction on the target baseboard management controller based on the target instance cache; the target baseboard management controller is a baseboard management controller corresponding to the target baseboard management controller address.
10. An electronic device, comprising:
a processor, a memory and a computer program stored on the memory and executable on the processor, the processor implementing a processing method of the baseboard management controller according to any one of claims 1-8 when executing the program.
11. A readable storage medium, characterized in that instructions in the storage medium, when executed by a processor of an electronic device, enable the electronic device to perform the method of processing a baseboard management controller according to one or more of claims 1-8.
CN202310484851.7A 2023-04-28 2023-04-28 Processing method and device of baseboard management controller Pending CN116610365A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310484851.7A CN116610365A (en) 2023-04-28 2023-04-28 Processing method and device of baseboard management controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310484851.7A CN116610365A (en) 2023-04-28 2023-04-28 Processing method and device of baseboard management controller

Publications (1)

Publication Number Publication Date
CN116610365A true CN116610365A (en) 2023-08-18

Family

ID=87684588

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310484851.7A Pending CN116610365A (en) 2023-04-28 2023-04-28 Processing method and device of baseboard management controller

Country Status (1)

Country Link
CN (1) CN116610365A (en)

Similar Documents

Publication Publication Date Title
WO2020253347A1 (en) Container cluster management method, device and system
US11714686B2 (en) Resource oversubscription based on utilization patterns in computing systems
US10701139B2 (en) Life cycle management method and apparatus
CN110869909B (en) System and method for applying machine learning algorithms to calculate health scores for workload scheduling
Kumar et al. vManage: loosely coupled platform and virtualization management in data centers
JP3978199B2 (en) Resource utilization and application performance monitoring system and monitoring method
KR101815148B1 (en) Techniques to allocate configurable computing resources
US20200364608A1 (en) Communicating in a federated learning environment
US20220075653A1 (en) Scheduling method and apparatus, and related device
US9842037B2 (en) Method and apparatus for verifying configuration
US8762538B2 (en) Workload-aware placement in private heterogeneous clouds
US8595366B2 (en) Method and system for dynamically creating and servicing master-slave pairs within and across switch fabrics of a portable computing device
US20130073724A1 (en) Autonomic Workflow Management in Dynamically Federated, Hybrid Cloud Infrastructures
US20070180453A1 (en) On demand application scheduling in a heterogeneous workload environment
US20110173319A1 (en) Apparatus and method for operating server using virtualization technique
US9021008B1 (en) Managing targeted scripts
CN111240806B (en) Distributed container mirror image construction scheduling method
WO2021262332A1 (en) Rightsizing virtual machine deployments in a cloud computing environment
US20170111240A1 (en) Service Elastic Method and Apparatus in Cloud Computing
GB2507816A (en) Calculating timeout for remote task execution from network delays and processing duration on local application/hardware replica
CN116610365A (en) Processing method and device of baseboard management controller
CN112448833A (en) Multi-management-domain communication method and device
WO2017046635A1 (en) High-availability multi-component cloud application placement using stochastic availability models
US20230058193A1 (en) Computer system and storage medium
CN109117247A (en) A kind of virtual resource management system and method based on heterogeneous polynuclear topology ambiguity

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