Server substrate management controller compatible method and device, electronic equipment and medium

Through routing policy configuration information and preset matching rules, combined with the characteristic information of the compatible server, dynamically match the server BMC implementation module, solving the problem of low compatibility efficiency in the existing technology and achieving fast and efficient server BMC compatibility.

CN120255948APending Publication Date: 2025-07-04INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202510405469.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-01
Publication Date
2025-07-04

AI Technical Summary

Technical Problem

The compatibility process of server BMC management tools in the prior art is inefficient, especially code redundancy and maintenance difficulties caused by enumeration of multiple methods.

Method used

The routing policy configuration information is used to indicate the mapping relationship between the characteristic information of different servers and the BMC implementation module, and dynamically match and test to achieve fast compatibility based on preset matching rules and the characteristic information of compatible servers.

Benefits of technology

It improves the compatibility efficiency of server BMC management tools, simplifies the compatibility process, reduces code redundancy, and enhances system stability and market competitiveness.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120255948A_ABST
    Figure CN120255948A_ABST
Patent Text Reader

Abstract

The invention discloses a server baseboard management controller compatibility method and device, electronic equipment and a medium, and relates to the technical field of servers, comprising the following steps: when a server to be compatible exists, performing BMC compatibility matching on target feature information of the server to be compatible and routing strategy configuration information according to a preset routing matching rule, and obtaining a BMC compatibility matching result; the routing strategy configuration information indicates the mapping relation between different server feature information and the BMC implementation module, so that quick compatibility of the server BMC can be realized, the compatibility efficiency is improved, and in addition, when the matching is failed according to the routing strategy configuration information, the matching efficiency of the BMC implementation module is improved. The target BMC implementation module is further determined on the basis of the target feature information and the server feature information of the compatible server, so that the target BMC implementation module is determined on the basis of the compatible server, the compatibility is quicker and more efficient, the technical problem of low compatibility efficiency of various methods of cyclically calling enumeration during compatibility can be solved, and the compatibility efficiency is improved. And the technical effect of high efficiency and compatibility is achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of servers, and particularly to a method, device, electronic device and medium for compatible management of a server baseboard management controller. Background Art

[0002] With the continuous expansion of the server market, there are more and more requirements for various server baseboard management controller (BMC) management tools. Among them, since the servers that customers need to manage not only have different models but also different manufacturers, the compatibility requirements for server BMC management tools are higher.

[0003] Currently, in the related art, during the compatibility process of the server BMC, multiple methods are usually implemented in an enumerated form for the differences in one function in different models and versions, and then each method is called in a loop to try until the call is successful. This compatibility solution has low efficiency. Summary of the Invention

[0004] The present application provides a method, device, electronic device and medium for compatible management of a server baseboard management controller, so as to at least solve the problem of low efficiency existing in the related art of implementing multiple methods in an enumerated form for function differences and then calling each method in a loop.

[0005] The present application provides a method for compatible management of a server baseboard management controller, including:

[0006] Obtaining target feature information of a server to be compatible;

[0007] Performing compatible matching of the baseboard management controller based on the target feature information and routing policy configuration information according to a preset routing matching rule, where the routing policy configuration information is used to indicate the mapping relationship between different server feature information and baseboard management controller implementation modules;

[0008] In the case of a matching failure based on the target feature information and the routing policy configuration information, determining a target baseboard management controller implementation module based on the target feature information and the server feature information of the already compatible server;

[0009] In the case of passing the compatibility test based on the target feature information and the target baseboard management controller implementation module, completing the compatibility of the server baseboard management controller of the server to be compatible.

[0010] The present application also provides a device for compatible management of a server baseboard management controller, including:

[0011] An information acquisition module, configured to acquire target feature information of a server to be compatible;

[0012] A matching module, configured to perform baseboard management controller compatibility matching based on the target feature information and routing policy configuration information according to a preset routing matching rule, where the routing policy configuration information is used to indicate the mapping relationship between different server feature information and baseboard management controller implementation modules;

[0013] A determining module, configured to determine a target baseboard management controller implementation module based on the target feature information and the server feature information of the already-compatible servers when the matching based on the target feature information and the routing policy configuration information fails;

[0014] A compatibility module, configured to complete the compatibility of the server baseboard management controller of the to-be-compatible server when the compatibility test based on the target feature information and the target baseboard management controller implementation module passes.

[0015] This application also provides an electronic device, including: a memory, configured to store a computer program; a processor, configured to implement the steps of any of the above server baseboard management controller compatibility methods when executing the computer program.

[0016] This application also provides a computer-readable storage medium, in which a computer program is stored, where the computer program implements the steps of any of the above server baseboard management controller compatibility methods when executed by a processor.

[0017] This application also provides a computer program product, including a computer program, where the computer program implements the steps of any of the above server baseboard management controller compatibility methods when executed by a processor.

[0018] Through this application, since the routing policy configuration information indicates the mapping relationship between different server feature information and baseboard management controller implementation modules, when there is a to-be-compatible server, the target feature information of the to-be-compatible server is subjected to baseboard management controller compatibility matching with the routing policy configuration information according to a preset routing matching rule, which can achieve fast compatibility of the server baseboard management controller and improve the compatibility efficiency. Moreover, when the matching based on the routing policy configuration information fails, a target baseboard management controller implementation module is further determined based on the target feature information and the server feature information of the already-compatible servers, and the compatibility of the server baseboard management controller of the to-be-compatible server is completed when the compatibility test based on the target feature information and the target baseboard management controller implementation module passes, realizing the determination of the target baseboard management controller implementation module based on the already-compatible servers, making the compatibility faster and more efficient. Therefore, the technical problem of low compatibility efficiency existing in various methods of circularly calling enumerations during compatibility can be solved, and the technical effect of high-efficiency compatibility can be achieved. Description of the Drawings

[0019] To more clearly illustrate the embodiments of the present application, the following will briefly introduce the drawings required for use in the embodiments. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.

[0020] Figure 1 It is a schematic diagram of the system architecture of the BMC management tool for implementing the server baseboard management controller compatibility method in an exemplary embodiment of the present application;

[0021] Figure 2 It is a schematic flow diagram of a server baseboard management controller compatibility method provided by an embodiment of the present application;

[0022] Figure 3 It is a schematic flow diagram of another server baseboard management controller compatibility method provided by an embodiment of the present application;

[0023] Figure 4 It is a schematic flow diagram of yet another server baseboard management controller compatibility method provided by an embodiment of the present application;

[0024] Figure 5 It is a schematic flow diagram of the server baseboard management controller compatibility method provided by an exemplary embodiment of the present application;

[0025] Figure 6 It is a schematic diagram of the structure of a server baseboard management controller compatibility device provided by an embodiment of the present application. Detailed implementation manners

[0026] The following will clearly and completely describe the technical solutions in the embodiments of the present application with reference to the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only some embodiments of the present application, rather than all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts fall within the protection scope of the present application.

[0027] It should be noted that in the description of the present application, the terms "including", "comprising" or any other variant thereof are intended to cover a non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article or device. The terms "first", "second", etc. in the present application are used to distinguish similar objects and are not used to describe a specific order or sequence.

[0028] As the server market continues to expand, there are more and more requirements for server BMC management tools. Among them, the compatibility requirement for server BMC management tools is even higher because the servers that customers need to manage not only have different models but also different manufacturers. Therefore, compatibility is an important indicator for users to choose server BMC management tools.

[0029] To improve the compatibility of server BMC management tools with servers of different models from various manufacturers and enhance market competitiveness, it is necessary to be compatible with as many different models of servers from different manufacturers as possible. During the compatibility process of server BMC, due to the differences in server manufacturers and models, the implementation methods of each function are also different, so different implementations are required. As more and more BMCs are being compatible, the problems that need to be considered are gradually increasing. Different server manufacturers, different models, different BMC manufacturers, and different versions all need to be taken into account during compatibility, resulting in the BMC compatibility logic becoming increasingly complex and difficult to maintain.

[0030] Currently, in the related technologies, there are usually two different implementation schemes for the compatibility of server BMC: (1) Provide only basic function compatibility for each manufacturer, that is, the minimum implementation scheme, which only compatible with the basic functions of the server BMC of each manufacturer. Therefore, most of the function differences caused by different server models, different BMC manufacturers, and different version numbers can be shielded. However, this minimum implementation method can only be compatible with the basic functions of the server BMC and does not have market competitiveness for server management software. (2) Implement multiple methods in the form of enumeration for the differences of one function in different models and versions, and then try through loop calls until the call is successful. However, this method of using enumeration to implement multiple compatibilities and calls for one function has low efficiency and serious code redundancy, which is not conducive to modification and maintenance.

[0031] In response to the above problems, this application provides a multi-vendor server BMC compatibility solution. Through the routing strategy of this solution, the compatibility adaptation of multi-vendor server BMC is realized, solving the problems of complex server BMC compatibility logic and code redundancy caused by factors such as different server manufacturers, different models, different BMC manufacturers, and different versions, and improving the server compatibility efficiency.

[0032] To enable those skilled in the art of this technology to better understand the solution of this application, the following further detailed description of this application will be provided in combination with the accompanying drawings and specific implementation manners.

[0033] Combined with the specific application environment architecture or specific hardware architecture on which the execution of the server BMC compatibility method depends, the specific application environment architecture or specific hardware architecture will be described here.

[0034] Figure 1 This is a schematic diagram of the system architecture of the BMC management tool for implementing the server baseboard management controller compatibility method according to an exemplary embodiment of the present application. As Figure 1 shown, the BMC management tool includes a web-based user interface, an automatic collection management module, a collection rule engine, a scheduled task management module, a data verification management module, a hot reload engine, a BMC information acquisition module, a basic implementation module, multiple plugins, a configuration template, an alarm parsing template, a task scheduling module, a database, a BMC simulation environment, and a fuzz testing tool. Among them, the modules related to this solution include a hot reload engine, a BMC information acquisition module, multiple plugins, a basic implementation module, a database, a BMC simulation environment, and a fuzz testing tool.

[0035] Among them, the hot reload engine is used to encapsulate the implementation modules of each manufacturer and the corresponding routing information into individual plugins to achieve dynamic update of routing policies, and new plugins and policies can be loaded without restarting the server. The basic implementation module is a module for implementing functions supported by all manufacturers. The database can be used to store routing policy configuration information.

[0036] The BMC information acquisition module is used to connect to the BMC simulation environment to obtain relevant information of the BMC. In the BMC information acquisition module, when connecting to the BMC for the first time, according to the input information such as the Internet Protocol (IP) address, username, and password of the BMC, through BMC detection protocols such as the Intelligent Platform Management Interface (IPMI), the open standard data model and protocol Redfish developed by the Distributed Management Task Force (DMTF), and Representational State Transfer (RESTful), etc., automatically obtain features such as the server manufacturer, model, BMC manufacturer, and firmware version, and generate routing tags; match step by step according to the routing tags and routing matching priorities until the function implementation module or the basic implementation module is matched.

[0037] The constructed BMC simulation environment can be used to simulate the responses of different manufacturers and versions, and automatically test the effectiveness of routing policies. This BMC simulation environment does not need to implement other specific functions, but only needs to implement the commands required by the BMC detection protocol. Therefore, only a simple version of the BMC simulation environment needs to be constructed to simulate the response information of the BMC detection protocol, including information such as server manufacturer, model, BMC manufacturer, and firmware version. When obtaining BMC information, connecting to the BMC simulation environment can globally test whether all routing protocols are available, without connecting to a real server, improving the efficiency of test verification, reducing test costs, and thus improving the robustness of the program.

[0038] Introduce a fuzz testing tool in the BMC management tool to verify the robustness of the routing policy engine under abnormal inputs (such as incorrect version number format, missing manufacturer information, etc.).

[0039] Based on Figure 1 The system architecture shown, this solution realizes the compatible adaptation of BMCs of multi-vendor servers through a complete set of routing policies including metadata-driven, version semantic parsing and interval matching, policy engine, dynamic policy management, and simulation testing, improving the compatibility efficiency.

[0040] Embodiments of this application provide a method for compatible adaptation of a server baseboard management controller. Combining with the execution process of the method for compatible adaptation of a server baseboard management controller, the method is described in detail.

[0041] Figure 2 It is a schematic flowchart of a method for compatible adaptation of a server baseboard management controller provided by an embodiment of this application. This method can be executed by the device for compatible adaptation of a server baseboard management controller provided by an embodiment of this application and can be integrated in an electronic device.

[0042] As Figure 2 shown, this method for compatible adaptation of a server baseboard management controller includes the following steps:

[0043] Step 101, obtain the target feature information of the server to be compatible.

[0044] Among them, the target feature information may include the manufacturer, model, BMC manufacturer, firmware version (BMC version), etc. of the server to be compatible.

[0045] Exemplarily, the IP, username, password, and protocol information of the server to be compatible can be input into the server BMC management tool, and the server feature information (referred to as target feature information for easy description and distinction) of the server to be compatible can be obtained by logging in to the BMC management tool through the BMC information.

[0046] Step 102: Based on the preset routing matching rules, perform compatibility matching of the baseboard management controller based on the target feature information and the routing policy configuration information, where the routing policy configuration information is used to indicate the mapping relationship between different server feature information and the baseboard management controller implementation module.

[0047] Among them, the routing matching rules can be set according to actual needs, and the routing matching rules are used to characterize the matching method between the target feature information and the routing policy configuration information. The routing policy configuration information is used to indicate the mapping relationship between different server feature information and the BMC implementation module. The BMC implementation module is preset and includes the BMC function implementation of the server that matches the corresponding server feature information.

[0048] Exemplarily, the routing policy configuration information can be set as follows, where "vendor" represents the server manufacturer parameter, "model" represents the server model parameter, "bmc_type" represents the BMC type (i.e., the BMC manufacturer) parameter, "version_rule" represents the BMC version number parameter, and "plugin" represents the plugin parameter encapsulated by the BMC implementation module:

[0049]

[0050]

[0051] It should be noted that in the embodiments of the present application, the routing policy configuration information can be in the form of configuration files or configured in a database. The present application does not limit this.

[0052] In this embodiment, for the target feature information of the server to be compatible obtained, the target feature information is matched with the routing policy configuration information according to the routing matching rules. If the matching based on the routing policy configuration information is successful, it can be considered that the server to be compatible has completed BMC compatibility, and the compatibility adaptation process ends; if the matching based on the routing policy configuration information fails, it can be considered that the server to be compatible has not yet undergone BMC compatibility, and the intelligent recommendation strategy of step 103 and its subsequent steps is continued.

[0053] Step 103: In the case where the matching based on the target feature information and the routing policy configuration information fails, determine the target baseboard management controller implementation module based on the target feature information and the server feature information of the already compatible server.

[0054] In this embodiment, if the matching based on the target feature information and the routing policy configuration information fails, the target BMC implementation module can be further determined based on the target feature information and the server feature information of the already compatible server.

[0055] As an example, the target feature information can be compared with the server feature information of each compatible server respectively to find the compatible server with the most matching feature information, and the target BMC implementation module can be determined based on the implementation module corresponding to the compatible server.

[0056] As another example, according to a preset similarity calculation method, based on the target feature information and the server feature information of the compatible server, the similarities between the server to be compatible and each compatible server can be calculated, and then the compatible server most similar to the server to be compatible can be determined according to the similarity, and the target BMC implementation module can be determined based on the implementation module corresponding to the compatible server.

[0057] Step 104, when the compatibility test based on the target feature information and the target baseboard management controller implementation module passes, the compatibility of the server baseboard management controller of the server to be compatible is completed.

[0058] In this embodiment, after determining the target BMC implementation module, a compatibility test can be performed based on the target feature information and the target BMC implementation module. If the test passes, the compatibility of the server BMC of the server to be compatible is completed.

[0059] Exemplarily, it can be based on Figure 1 the BMC simulation environment and fuzz testing tool in the shown architecture to perform a compatibility test on the target feature information and the target BMC implementation module, and when both tests pass, it is determined that the compatibility is completed and the compatibility process ends. Performing a compatibility test based on the BMC simulation environment and fuzz testing tool can improve the stability and robustness of the compatibility program, reduce the possibility of program errors, and thus improve the market competitiveness.

[0060] In the server baseboard management controller compatibility method of the embodiment of the present application, since the routing policy configuration information indicates the mapping relationship between different server feature information and the BMC implementation module, when there is a server to be compatible, the target feature information of the server to be compatible is subjected to BMC compatibility matching with the routing policy configuration information according to the preset routing matching rule, which can achieve fast compatibility of the server BMC and improve the compatibility efficiency. Moreover, when the matching according to the routing policy configuration information fails, the target BMC implementation module is further determined based on the target feature information and the server feature information of the compatible server, and when the compatibility test based on the target feature information and the target BMC implementation module passes, the compatibility of the server BMC of the server to be compatible is completed, realizing the determination of the target BMC implementation module based on the compatible server, making the compatibility faster and more efficient. Therefore, the technical problem of low compatibility efficiency existing in various methods of circular call enumeration during compatibility can be solved, and the technical effect of high-efficiency compatibility can be achieved.

[0061] In the embodiments of the present application, the routing matching rules can be set according to actual requirements. The routing matching rules can include one or more rules. When multiple rules are included, corresponding matching priorities can be set for each rule, and matching is performed in the order from the highest to the lowest matching priority until a match is successful or it is determined that the match fails after traversing all the rules. Thus, in an alternative embodiment of the present application, as Figure 3 shown, based on the foregoing embodiment, step 102 may include the following sub-steps:

[0062] Step 201, obtain the routing matching rules and the corresponding matching priorities.

[0063] Among them, the routing matching rules include a first matching rule and a second matching rule. The matching priority of the first matching rule is higher than that of the second matching rule, and both the first matching rule and the second matching rule perform BMC version matching.

[0064] For example, the first matching rule can be an exact match where each piece of feature information is exactly the same, that is, a complete version number match; the second matching rule can be a version range match of the BMC version number.

[0065] Step 202, in the order from the highest to the lowest matching priority of the routing matching rules, use the corresponding routing matching rules to match the target feature information with the routing policy configuration information.

[0066] In this embodiment, when performing BMC compatibility matching according to the routing matching rules, it is necessary to first obtain the preset routing matching rules and the matching priorities corresponding to each rule in the routing matching rules. Then, obtain each routing matching rule in the order from the highest to the lowest matching priority, and use the currently obtained routing matching rule to match the target feature information with the routing policy configuration information.

[0067] Specifically, since the matching priority of the first matching rule is higher than that of the second matching rule, the first matching rule is first used to match the target feature information with the routing policy configuration information. If the match fails, the second matching rule is then used to match the target feature information with the routing policy configuration information. If the match still fails, it is determined that the match fails and the compatibility server is not compatible.

[0068] In an alternative embodiment of the present application, the first matching rule is based on the server manufacturer, server model, BMC type, and BMC version number, and the second matching rule is based on the server manufacturer, server model, BMC type, and version number matching rule. In the embodiments of the present application, the obtained target feature information includes the target server manufacturer, target server model, target BMC type, and target BMC version number. When matching the target feature information with the routing policy configuration information according to the matching priorities of the routing matching rules from high to low, first perform version semantic parsing on the target BMC version number to obtain the target structure version number; then, based on the target server manufacturer, target server model, target BMC type, and target structure version number, generate a BMC label. For example, the BMC label can be a four-tuple label including the target server manufacturer, target server model, target BMC type, and target structure version number, denoted as (target server manufacturer, target server model, target BMC type, target structure version number). Then, first match the BMC label with the routing policy configuration information according to the first matching rule, that is, check whether there is configuration information in the routing policy configuration information that is exactly the same as the BMC label. If it exists, it is determined that the matching is successful, and it is considered that the server to be compatible is already compatible, and the compatibility process ends. Otherwise, it is determined that the matching fails. In the case of a failed match according to the first matching rule, further generate a target version matching rule based on the target structure version number and a preset version matching rule template, and then match the BMC label with the routing policy configuration information according to the second matching rule and the target version matching rule, that is, check whether there is configuration information in the routing policy configuration information that is consistent with the target server manufacturer, target server model, and target BMC type, and the BMC version number conforms to the target version matching rule. If it exists, it is determined that the matching is successful, and it is considered that the server to be compatible is already compatible, and the compatibility process ends. Otherwise, it is determined that the matching fails.

[0069] Among them, the version matching rule template can be preset according to actual needs. The version matching rule template can include at least one version matching rule syntax. Combining the version matching rule syntax and the target structure version number can determine the corresponding version matching rule, so as to obtain the target version matching rule. For example, the version matching rule syntax is "Major.Minor.x", and the determined target structure version number is "2.3.0", then the corresponding version matching rule can be determined as "2.3.x", which means matching all versions with the major version 2 and the minor version ≥ 3.

[0070] In this embodiment, for the obtained target BMC version number, version semantic parsing can be performed to uniformly split the target BMC version number into a target result version number with a three-segment structure (Major.Minor.Patch), such as "2.3.1". If a field is missing in the target BMC version number, zeros are filled. For example, when the target BMC version number is "2.1", it is parsed as "2.1.0"; if there are non-numeric characters in the target BMC version number, they are filtered. For example, when the target BMC version number is "v3.2-rc1", it is parsed as "3.2.0". When matching according to the second matching rule, the target version matching rule needs to be determined according to the target structure version number and the preset version matching rule template. For example, assuming the target structure version number is 2.3.0, the target version matching rule can be as follows:

[0071] # Match all versions with major version 2 and minor version ≥ 3

[0072] ^2.3.x

[0073] # Match all versions with major version ≥ 2

[0074] ^2.x.x

[0075] # Match all revision versions with major version 2 and minor version 4

[0076] 2.4.*

[0077] # Match the version range (closed interval)

[0078] >=2.1.0 <=2.5.3.

[0079] It should be noted that the above version matching rules are only examples, and other version number matching rules can also be defined according to requirements. This application does not make any limitations in this regard. In addition, when matching according to the second matching rule, match item by item according to the target version matching rule until a match is successful or it is determined that the match fails after all rules have been matched and no corresponding implementation module has been found.

[0080] In the embodiment of the present application, when performing matching, the target BMC version number is first subjected to version semantic parsing to obtain the target structure version number, and then the BMC label and routing policy configuration information are generated based on the target server manufacturer, target server model, target BMC type, and target structure version number for matching, achieving the unified format of the BMC version number, which helps to improve the accuracy of the matching result, thereby improving the accuracy of BMC compatibility; by setting the first matching rule as the matching based on the server manufacturer, server model, BMC type, and BMC version number, and the second matching rule as the matching based on the server manufacturer, server model, BMC type, and version number matching rule, first perform matching according to the first matching rule, and when the matching fails, then perform matching according to the second matching rule. Thus, a BMC compatibility routing policy is constructed based on metadata tags, version semantic parsing, and interval matching, realizing automated matching based on the matching priority and version matching rule, which helps to preferentially match to a more accurate implementation module, improving the matching efficiency and accuracy.

[0081] Step 203, in the case where the matching fails according to both the first matching rule and the second matching rule, it is determined that the matching based on the target feature information and the routing policy configuration information fails.

[0082] In this embodiment, when the matching fails according to both the first matching rule and the second matching rule, it can be determined that the matching based on the target feature information and the routing policy configuration information fails, and the BMC compatibility of the server to be compatible is not completed.

[0083] In an alternative embodiment of the present application, the routing matching rule may further include a general adaptation rule and a fallback policy. The general adaptation rule refers to matching the manufacturer default implementation module according to the server manufacturer, and the fallback policy refers to matching the basic implementation module when the general adaptation rule still fails to match the implementation module. In the case where the matching fails according to both the first matching rule and the second matching rule, the general adaptation rule and the fallback policy can be continued to be matched to match the corresponding implementation module. However, it should be noted that even if the implementation module is matched based on the general adaptation rule or the fallback policy, the matching based on the target feature information and the routing policy configuration information still fails, and the subsequent step of determining the target BMC implementation module based on the target feature information and the server feature information of the already compatible server still needs to be executed.

[0084] Exemplarily, the routing matching rules, in order of decreasing matching priority, are as follows: (1) Exact match: server manufacturer + server model + BMC type + complete BMC version number; (2) Range match: server manufacturer + server model + BMC type + version matching rule; (3) General adaptation: match the manufacturer default implementation module according to the server manufacturer; (4) Fallback strategy: basic implementation module (lowest compatible version). When performing BMC compatibility matching, first perform an exact match. If the exact match fails, perform a range match. When the range match fails, match the manufacturer default implementation module according to the server manufacturer and record a log. If the match fails, execute the fallback strategy, enable the compatibility fallback mode (such as downgrading to use the basic implementation module) and record a log to avoid system crashes.

[0085] In the server baseboard management controller compatibility method according to the embodiments of the present application, by obtaining the routing matching rules and the corresponding matching priorities, the routing matching rules include a first matching rule and a second matching rule, and both the first matching rule and the second matching rule perform BMC version matching. According to the order of decreasing matching priority of the routing matching rules, the target feature information is matched with the routing policy configuration information using the corresponding routing matching rules. In the case where both the first matching rule and the second matching rule fail to match, it is determined that the matching based on the target feature information and the routing policy configuration information fails. Thus, first match according to the high-priority rule, and then match according to the low-priority rule when the match fails, which helps to preferentially match a more accurate implementation module. And because both the first matching priority and the second matching priority perform BMC version matching, it helps to improve the accuracy of the matching result, thereby ensuring the accuracy and stability of BMC compatibility.

[0086] In the embodiments of the present application, when the matching based on the target feature information and the routing policy configuration information fails, the intelligent recommendation of the implementation module can be further performed according to the already compatible servers, making the compatibility faster and more efficient. Thus, in an alternative embodiment of the present application, as Figure 4 shown, based on the foregoing embodiment, step 103 may include the following sub-steps:

[0087] Step 301, determine the similarity between the server to be compatible and the already compatible servers according to the target feature information and the server feature information of the already compatible servers.

[0088] Among them, the server feature information includes, but is not limited to, server manufacturer, server model, BMC manufacturer, BMC version number, etc. For the BMC version number, the version semantic analysis can be performed into a three-segment structure.

[0089] In this embodiment, when the matching between the target feature information and the routing policy configuration information fails, the similarity between the to-be-compatible server and each of the already-compatible servers can be further calculated based on the target feature information and the server feature information of the already-compatible servers.

[0090] As an example, each piece of feature information in the target feature information can be compared with the corresponding feature item in the server feature information of the already-compatible servers. If they are the same, the score of this feature item is set to 1; otherwise, it is set to 0. Among them, for the comparison of the BMC version number, each segment in the three-segment structure is compared separately, that is, three comparison results are obtained for the comparison of the BMC version number. The total number of comparison items and the number of comparison items with a score of 1 are counted, and then the ratio of the number of comparison items with a score of 1 to the total number of comparison items is calculated to obtain the similarity between the to-be-compatible server and an already-compatible server.

[0091] As another example, the similarity between the to-be-compatible server and each of the already-compatible servers can be determined based on the weighted Gower distance algorithm.

[0092] Among them, the calculation formula of the weighted Gower distance algorithm is as follows:

[0093]

[0094] In the above formula, d ijk represents the distance between sample i and sample j on the k-th variable; w k represents the weight of variable k, with a default value of 1; δ ijk is an indicator variable used to mark whether variable k participates in the calculation. For variables included in both sample i and sample j, the value is 1; otherwise, the value is 0.

[0095] For different types of variables, the method of determining the distance between samples on this variable is different. Examples are as follows:

[0096] If variable k is numerical, then where x ik represents the value of sample i on variable k, x jk represents the value of sample j on variable k, and R k represents the range of variable k among all samples (that is, the difference between the maximum value and the minimum value of variable k);

[0097] If variable k is categorical (such as factor type or character type), then d ijk = 0 (if x ik = x jk ), otherwise d ijk = 1;

[0098] If the variable k is of logical type (such as boolean), then d ijk = 0 (if x ik = x jk = TRUE), otherwise d ijk = 1;

[0099] If the variable k is of ordered type, its value will be replaced by the corresponding ordinal index and processed as a numeric type.

[0100] Thus, in this embodiment, when calculating the similarity between the to-be-compatible server and each of the already-compatible servers, the distance between the to-be-compatible server and the already-compatible server in each feature can be determined according to the target feature information and the server feature information of the already-compatible server. Furthermore, according to the weight and distance corresponding to each feature, the similarity between the to-be-compatible server and the already-compatible server can be determined. It can be understood that the larger the result calculated according to the above weighted Gower distance algorithm, the lower the similarity between the two servers, and the smaller the result, the higher the similarity between the two servers.

[0101] Among them, when calculating the distance between the to-be-compatible server and the already-compatible server in each feature, the distance between the two is determined according to the distance calculation method corresponding to the above different variable types. The weight corresponding to each feature can be preset according to actual needs. Then, according to the above weighted Gower distance algorithm, the weighted Gower distance between the to-be-compatible server and the already-compatible server can be determined, and further the similarity between the two can be determined.

[0102] In this embodiment, for the server label information, the server manufacturer and the BMC manufacturer are character-type data, and only need to compare whether they are equal to determine the corresponding distance. When they are equal, the distance is 0, and when they are not equal, the distance is 1; for the server model and the BMC version number, they are combined-type data and need to be split. For example, the sub-features such as the series and generation included in the server model are split and the distances are calculated separately, and the corresponding weights are set respectively. However, the sum of the weights of the sub-features obtained by splitting the server model is the weight corresponding to the server model; the BMC version number is parsed into a three-segment structure (Major.Minor.Patch). Therefore, the BMC version number can be split into three sub-features, Major, Minor, and Patch, and the distances are calculated separately, and the corresponding weights are set for each sub-feature respectively. The sum of the weights corresponding to the sub-features Major, Minor, and Patch is the weight corresponding to the BMC version number. By splitting the combined-type data such as the server model and the BMC version number into sub-features and then calculating the distances according to the variable types corresponding to each sub-feature, the distance calculation method is unified and standardized, ensuring the accuracy of the calculation result, thus ensuring the accuracy of the similarity calculation and laying a foundation for accurately realizing module intelligent recommendation.

[0103] Exemplarily, assume that the server feature information includes the server manufacturer (denoted as vendor), the server model (denoted as model), the BMC type (denoted as bmc_type), and the BMC version number (denoted as version). The weights assigned to each feature are as follows:

[0104] "vendor": 5, # The server manufacturer match is the most critical

[0105] "bmc_type": 3, # The criticality of the BMC model is second only to the server manufacturer

[0106] "model": 2, # The server model has less impact

[0107] "version": 1, # The tolerance for BMC version differences is relatively high.

[0108] For example, assume that the server to be compatible is A, and the compatible servers are B and C. The information of the three servers and the weights corresponding to each feature are shown in the following table:

[0109] Feature vendor Series Algebra bmc_type Major Minor Patch Weight 5 1 1 3 0.5 0.3 0.2 A Vendor2 ProLiant DL380 iLO 1 2 5 B Vendor1 PowerEdge R750 iDRAC 2 1 3 C Vendor2 ProLiant DL360 iLO 1 2 6

[0110] Based on the above weighted Gower distance calculation method, the weighted Gower distances between server A and servers B and C can be calculated to determine the similarity. First, calculate the distances between each feature of server A and B as follows:

[0111] Server manufacturer: d AB = 1, because (A ≠ B), weight w1 = 5;

[0112] Series: d AB = 1, because (A ≠ B), weight w2 = 1;

[0113] Algebra: d AB = 1, because (A ≠ B), weight w3 = 1;

[0114] bmc_type: d AB = 1, because (A ≠ B), weight w4 = 1;

[0115] Major: Range R = 2 - 1 = 1, Weight w5 = 0.5;

[0116] Minor: Range R = 2 - 1 = 1, Weight w6 = 0.3;

[0117] Patch: Range R = 6 - 3 = 3, Weight w7 = 0.2.

[0118] Thus, the weighted Gower distance between A and B is as follows:

[0119]

[0120] Similarly, the weighted Gower distance between A and C is as follows:

[0121]

[0122] Furthermore, according to the weighted Gower distance between A and B, the similarity between A and B can be determined. For example, s(A, B) = 1 - d(A, B) = 1 - 0.994 = 0.006. Similarly, the similarity between A and C is s(A, C) = 1 - d(A, C) = 1 - 0.097 = 0.903.

[0123] In the embodiment of the present application, by determining the distance between the to-be-compatible server and the already-compatible servers for each feature according to the target feature information and the server feature information of the already-compatible servers, and then determining the similarity between the to-be-compatible server and the already-compatible servers according to the weight and distance corresponding to each feature, thus, it is possible to determine the similarity between the to-be-compatible server and each already-compatible server in combination with the influence degree of each feature information on the BMC compatibility matching, so as to accurately find the already-compatible server most similar to the to-be-compatible server, ensuring the accuracy of the similarity matching and being beneficial to improving the accuracy of BMC compatibility.

[0124] Step 302: Determine the target server with the highest similarity to the to-be-compatible server according to the similarity.

[0125] In this embodiment, after determining the similarity between the to-be-compatible server and each already-compatible server, the already-compatible server with the highest similarity to the to-be-compatible server can be determined from the already-compatible servers as the target server according to the obtained similarities.

[0126] Continuing with the above example, after calculating the similarities between server A and servers B and C respectively, comparing the two obtained similarities, s(A, B) = 0.006, s(A, C) = 0.903, the distance between A and B is higher and the similarity is lower, while the distance between A and C is lower and the similarity is higher. Therefore, the recommended result is that the implementation of A and C is the closest, and server C is determined as the target server most similar to server A.

[0127] Step 303: Determine the target baseboard management controller implementation module based on the implementation module compatible with the target server.

[0128] In this embodiment, after determining the target server that is most similar to the server to be compatible, the target BMC implementation module can be determined based on the implementation module compatible with the target server.

[0129] As an example, the implementation module compatible with the target server can be determined as the target BMC implementation module.

[0130] As another example, it can be first determined what kind of implementation module the implementation module compatible with the target server is. When the implementation module compatible with the target server is a manufacturer default implementation module or a basic implementation module, the implementation module compatible with the target server can be presented to the user, and the user can be received to develop the target BMC implementation module for the server to be compatible based on the implementation module compatible with the target server; when the implementation module compatible with the target server is a BMC manufacturer implementation module or a BMC version implementation module, the implementation module compatible with the target server is determined as the target BMC implementation module. That is to say, if the implementation module compatible with the target server is a manufacturer default implementation module or a basic implementation module, a corresponding implementation module is further developed for the server to be compatible based on the implementation module compatible with the target server as the target implementation module. If the implementation module compatible with the target server is a specific BMC manufacturer implementation module or a BMC version implementation module, the implementation module compatible with the target server is directly determined as the target BMC implementation module. Thus, by selecting to re-develop the implementation module of the server to be compatible or directly compatible with the implementation module compatible with the target server based on the type of the implementation module compatible with the most similar target server, the compatibility efficiency can be improved, the development process of the new implementation module can be simplified, and the development efficiency can be improved.

[0131] Among them, the basic implementation module includes classes that implement the common functions of different BMCs; the manufacturer default implementation module inherits from the basic implementation module; the BMC manufacturer implementation module inherits from the manufacturer default implementation module; the BMC version implementation module inherits from the BMC manufacturer implementation module whose implemented functions change due to BMC version iteration.

[0132] In this embodiment, a multi-tuple tag is defined according to the server feature information, and a unified Application Programming Interface (API) abstraction layer is constructed based on the multi-tuple tag to standardize the interface definition of all BMC operations, and then different types of implementation modules are inherited step by step.

[0133] For example, assuming that the server feature information includes server manufacturer, server model, BMC manufacturer (i.e., BMC type) and BMC version number, a four-tuple tag (server manufacturer, server model, BMC manufacturer, BMC version) is defined, and a unified API abstraction layer is constructed based on the four-tuple tag to standardize the interface definitions of all BMC operations, such as power management, sensor monitoring, firmware upgrade, BMC configuration, asset information acquisition, etc. Then, a basic implementation module is implemented for the functions supported by all manufacturers. The basic implementation module only contains functions that can be implemented by all manufacturers, such as functions that can be obtained and set using IPMI general commands, such as field replaceable unit (FieldReplaceableUnit, FRU) information acquisition, user information acquisition, addition, modification, deletion, system event log (System Event Log, SEL), sensor information acquisition, etc. Then, all server manufacturers inherit the basic implementation module to implement a manufacturer default implementation module corresponding to each server manufacturer. The manufacturer default implementation module of the server manufacturer contains the common function implementation of each server manufacturer. Then, based on the manufacturer default implementation module, the specific implementation of each server model and different BMC manufacturers is implemented. Because different server models under the same server manufacturer have the same BMC manufacturer, and there are also multiple BMC manufacturers under the same server manufacturer for the same server model, the specific implementation of the server model and the BMC manufacturer directly inherits the default implementation module of the server manufacturer, and no longer inherits level by level, that is, a BMC manufacturer implementation module is implemented for the combination of the server model and the BMC manufacturer. Later, due to changes in the implementation functions caused by BMC version iterations, the BMC version implementation module is inherited from the changed BMC manufacturer implementation module.

[0134] Add metadata tags to each implementation module. For example, the base implementation module tags are {vendor:*, model:*, bmc_type:*, version:*}; the default implementation module tags for each vendor are {vendor:manufacturer1, model:*, bmc_type:*, version:*}, {vendor:manufacturer2, model:*, bmc_type:*, BMC version:*}; the BMC vendor implementation module tags for each model and different BMC vendors are {vendor:manufacturer1, model:servermodel1, bmc_type:BMC1, version:2.1.0}, {vendor:manufacturer1, model:servermodel2, bmc_type:BMC1, version:3.1.0}, {vendor:manufacturer1, model:servermodel1, bmc_type:BMC2, version:2.1.0}, etc., and the tags for the BMC version implementation module are {vendor:manufacturer1, model:servermodel1, bmc_type:BMC2, version:2.1.12}, {vendor:manufacturer1, model:servermodel1, bmc_type:BMC2, version:2.3.0}. This tag only records the current model of the server, BMC type, and BMC version used during compatible development. It is possible that other models are compatible and can directly use this implementation module without the need for secondary development.

[0135] In the embodiment of this application, the base implementation module is developed based on the common functions of different BMCs. The vendor default implementation module is implemented by inheriting the base implementation module, the BMC vendor implementation module is implemented by inheriting the vendor default implementation module, and when the implementation function changes due to BMC version iteration, the BMC version implementation module is implemented by inheriting the changed BMC vendor implementation module. By implementing each module through hierarchical inheritance, the code logic is clearer and easier to maintain, and code redundancy can be well avoided, and the BMC compatibility is also made more organized.

[0136] The server baseboard management controller compatibility method according to the embodiments of the present application determines the similarity between the server to be compatible and the already compatible server based on the target feature information and the server feature information of the already compatible server, and determines the target server with the highest similarity to the server to be compatible according to the similarity. Furthermore, the target BMC implementation module is determined based on the implementation module compatible with the target server. Thus, an intelligent recommendation strategy based on the similarity between the server to be compatible and the already compatible server is realized. By determining the target BMC implementation module based on the implementation module compatible with the most similar target server, the closest implementation module can be quickly screened out, thereby improving the efficiency of BMC compatibility.

[0137] Figure 5 It is a schematic flowchart of the server baseboard management controller compatibility method provided by an exemplary embodiment of the present application. As Figure 5 shown, when the compatibility process starts, first start the server management tool and input BMC information such as the server IP, username, password, and protocol information. Then, log in to the BMC system through the input BMC information, obtain feature information such as the server manufacturer, server model, BMC manufacturer, and BMC version, and generate a BMC label according to the obtained feature information. Then, check whether the server has been BMC-compatible through the routing policy configuration information according to the BMC label. If the BMC label matches the routing policy configuration information successfully, it is determined that it is already compatible, and the compatibility adaptation process ends; if the match fails, it is determined that it is not compatible, and the subsequent process continues. When it is not compatible, the most similar implementation module recommended (i.e., the implementation module already compatible with the target server described in the foregoing embodiment) is obtained based on the weighted Gower distance algorithm. After that, it is judged whether the recommended implementation module is the manufacturer default implementation module or the basic implementation module. If so, the new BMC model is developed for compatibility based on the manufacturer default implementation module or the basic implementation module; if not, the recommended implementation module is the function implementation module or BMC version implementation module of a specific BMC manufacturer, and then the recommended implementation module is tested for compatibility to test whether the recommended implementation module can be fully compatible with the new BMC model. If it is fully compatible after testing, the compatibility process ends; if it is partially compatible after testing, the incompatible functions are rewritten based on the implementation logic of the recommended implementation module to obtain a new implementation module.

[0138] For a new implementation module obtained by re - compatibly developing based on the manufacturer - default implementation module or the basic implementation module, or rewriting the incompatible part based on the existing implementation logic, add the new implementation module and the corresponding routing policy configuration information to the management tool. The management tool hot - loads the new implementation module and the routing policy configuration information. Then, call the BMC simulation environment to fully test whether all compatible models can be correctly routed to the specific implementation module. Since modifying the routing configuration may cause changes or conflicts in other routing configurations, a full - scale test is required. If the test passes, perform fuzz testing on new models; if the test fails, modify the newly - compatible implementation module and the routing policy configuration information, and then re - add them to the management tool for hot - loading and testing. Fuzz testing on new models verifies whether there are any abnormalities when inputting some new model information. If there are abnormalities, modify the newly - compatible implementation module and the routing policy configuration information, and then re - add them to the management tool. If there are no abnormalities, it means the compatibility is passed, and the compatibility process ends.

[0139] In summary, this solution uses a complete set of routing strategies including metadata - driven (i.e., the server feature information of the quadruple), version semantic parsing and interval matching (i.e., parsing the BMC version number and matching the version number matching rules), policy engine (i.e., the automated matching policy based on routing matching rules and routing policy configuration information, and the intelligent recommendation policy for implementation modules based on the similarity with compatible servers), dynamic policy management (i.e., the dynamic update of routing policies based on the hot - loading engine), and simulation testing (i.e., testing based on the BMC simulation environment and fuzz testing tools). It can improve the rapid compatibility of the server BMC, make the BMC compatibility more organized, the code logic clearer and easier to maintain, and can well avoid code redundancy; in the new BMC compatibility, recommend more similar implementation modules based on algorithms to make the compatibility faster and more efficient; based on the BMC simulation environment and fuzz testing tools, it can improve the stability and robustness of the compatibility program, reduce the possibility of program errors, ensure the robustness of the BMC compatibility code, and improve the market competitiveness.

[0140] Through the description of the above - mentioned implementation manners, those skilled in the art can clearly understand that the method according to the above - mentioned embodiments can be implemented by means of software plus a necessary general - purpose hardware platform. Of course, it can also be implemented by hardware, but in many cases, the former is a better implementation manner.

[0141] The embodiments of the present application also provide a server baseboard management controller compatibility device. Figure 6 As shown in the structural schematic diagram of a server baseboard management controller compatibility device provided by the embodiments of the present application, Figure 6 the server baseboard management controller compatibility device 50 includes: an information acquisition module 510, a matching module 520, a determination module 530, and a compatibility module 540.

[0142] Among them, the information acquisition module 510 is used to acquire the target feature information of the server to be compatible;

[0143] The matching module 520 is used to perform baseboard management controller compatibility matching based on the target feature information and the routing policy configuration information according to the preset routing matching rules, where the routing policy configuration information is used to indicate the mapping relationship between different server feature information and the baseboard management controller implementation module;

[0144] The determination module 530 is used to determine the target baseboard management controller implementation module based on the target feature information and the server feature information of the already compatible server when the matching based on the target feature information and the routing policy configuration information fails;

[0145] The compatibility module 540 is used to complete the compatibility of the server baseboard management controller of the server to be compatible when the compatibility test based on the target feature information and the target baseboard management controller implementation module passes.

[0146] Optionally, the routing matching rules include a first matching rule and a second matching rule. The matching priority of the first matching rule is higher than that of the second matching rule, and both the first matching rule and the second matching rule perform baseboard management controller version matching; the matching module 520 includes:

[0147] An acquisition unit, which is used to acquire the routing matching rules and the corresponding matching priorities;

[0148] A matching unit, which is used to match the target feature information with the routing policy configuration information by using the corresponding routing matching rules in the order of the matching priorities of the routing matching rules from high to low;

[0149] A determination unit, which is used to determine that the matching based on the target feature information and the routing policy configuration information fails when the matching fails according to both the first matching rule and the second matching rule.

[0150] Further optionally, the first matching rule is a matching based on the server manufacturer, server model, baseboard management controller type, and baseboard management controller version number, and the second matching rule is a matching based on the server manufacturer, server model, baseboard management controller type, and version number matching rule; the target feature information includes the target server manufacturer, target server model, target baseboard management controller type, and target baseboard management controller version number; the matching unit is further used for:

[0151] Performing version semantic parsing on the target baseboard management controller version number to obtain the target structure version number;

[0152] Generate a baseboard management controller label based on the target server manufacturer, target server model, target baseboard management controller type, and target architecture version number;

[0153] Match the baseboard management controller label with the routing policy configuration information according to the first matching rule;;

[0154] In the case of failure to match according to the first matching rule, generate a target version matching rule based on the target architecture version number and a preset version matching rule template;

[0155] Match the baseboard management controller label with the routing policy configuration information according to the second matching rule and the target version matching rule.

[0156] Optionally, the determination module 530 includes:

[0157] A first determination unit, configured to determine the similarity between the server to be compatible and the compatible servers according to the target feature information and the server feature information of the compatible servers;

[0158] A second determination unit, configured to determine the target server with the highest similarity to the server to be compatible according to the similarity;

[0159] A third determination unit, configured to determine the target baseboard management controller implementation module based on the implementation module compatible with the target server.

[0160] Further optionally, the first determination unit is further configured to:

[0161] Determine the distance between the server to be compatible and the compatible servers in each feature according to the target feature information and the server feature information of the compatible servers;

[0162] Determine the similarity between the server to be compatible and the compatible servers according to the weight and distance corresponding to each feature.

[0163] Optionally, the third determination unit is further configured to:

[0164] In the case that the implementation module compatible with the target server is the manufacturer default implementation module or the basic implementation module, display the implementation module compatible with the target server to the user, and receive the target baseboard management controller implementation module developed by the user based on the implementation module compatible with the target server;

[0165] In the case that the implementation module compatible with the target server is the baseboard management controller manufacturer implementation module or the baseboard management controller version implementation module, determine the implementation module compatible with the target server as the target baseboard management controller implementation module.

[0166] Optionally, the basic implementation module includes classes that implement the common functions of different baseboard management controllers; the vendor default implementation module inherits from the basic implementation module; the baseboard management controller vendor implementation module inherits from the vendor default implementation module; the baseboard management controller version implementation module inherits from the baseboard management controller vendor implementation module where the implemented functions change due to the iteration of the baseboard management controller version.

[0167] For the description of the features in the corresponding embodiments of the server baseboard management controller compatibility device, reference can be made to the relevant descriptions in the corresponding embodiments of the server baseboard management controller compatibility method, which will not be elaborated here one by one.

[0168] An embodiment of the present application further provides an electronic device, including a memory and a processor. A computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any of the above embodiments of the server baseboard management controller compatibility method.

[0169] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored. The computer program is configured to execute the steps in any of the above embodiments of the server baseboard management controller compatibility method when running.

[0170] In an exemplary embodiment, the above computer-readable storage medium may include, but is not limited to: USB flash drives, read-only memories (ROM), random access memories (RAM), mobile hard disks, magnetic disks, or optical discs and other various media that can store computer programs.

[0171] An embodiment of the present application further provides a computer program product. The above computer program product includes a computer program, and when the computer program is executed by a processor, it implements the steps in any of the above embodiments of the server baseboard management controller compatibility method.

[0172] An embodiment of the present application further provides another computer program product, including a non-volatile computer-readable storage medium. The non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, it implements the steps in any of the above embodiments of the server baseboard management controller compatibility method.

[0173] Those skilled in the art may further realize that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be implemented by electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described according to functions in the above description. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered as exceeding the scope of this application.

[0174] The above has introduced in detail a method, apparatus, electronic device, and medium for a server baseboard management controller compatibility provided by this application. Specific examples are used herein to elaborate on the principle and implementation manner of this application. The description of the above embodiments is only used to help understand the method and its core idea of this application. It should be noted that for those of ordinary skill in the art, without departing from the principle of this application, several improvements and modifications can be made to this application, and these improvements and modifications also fall within the protection scope of the claims of this application.

Claims

1. A method for server baseboard management controller compatibility, characterized in that Including: Obtain the target feature information of the server to be compatible; According to the preset routing matching rules, perform baseboard management controller compatibility matching based on the target feature information and routing policy configuration information, where the routing policy configuration information is used to indicate the mapping relationship between different server feature information and baseboard management controller implementation modules; In the case of a matching failure based on the target feature information and the routing policy configuration information, determine the target baseboard management controller implementation module based on the target feature information and the server feature information of the already compatible server; In the case of passing the compatibility test based on the target feature information and the target baseboard management controller implementation module, complete the compatibility of the server baseboard management controller of the server to be compatible.

2. The method for the server baseboard management controller compatibility according to claim 1, wherein The routing matching rules include a first matching rule and a second matching rule. The matching priority of the first matching rule is higher than that of the second matching rule, and both the first matching rule and the second matching rule perform baseboard management controller version matching; The performing baseboard management controller compatibility matching according to the preset routing matching rules based on the target feature information and routing policy configuration information includes: Obtain the routing matching rules and their corresponding matching priorities; In the order of the matching priorities of the routing matching rules from high to low, use the corresponding routing matching rules to match the target feature information with the routing policy configuration information; In the case of a matching failure according to both the first matching rule and the second matching rule, determine that the matching based on the target feature information and the routing policy configuration information fails.

3. The method for a server baseboard management controller compatibility according to claim 2, wherein The first matching rule is a matching based on the server manufacturer, server model, baseboard management controller type, and baseboard management controller version number. The second matching rule is a matching based on the server manufacturer, server model, baseboard management controller type, and version number matching rules; The target feature information includes the target server manufacturer, target server model, target baseboard management controller type, and target baseboard management controller version number; The using the corresponding routing matching rules to match the target feature information with the routing policy configuration information in the order of the matching priorities of the routing matching rules from high to low includes: Perform version semantic parsing on the target baseboard management controller version number to obtain the target structure version number; Generate a baseboard management controller label based on the target server manufacturer, target server model, target baseboard management controller type, and the target structure version number; Match the baseboard management controller label with the routing policy configuration information according to the first matching rule; In the case of a matching failure according to the first matching rule, generate a target version matching rule based on the target structure version number and the preset version matching rule template; Match the baseboard management controller label with the routing policy configuration information according to the second matching rule and the target version matching rule.

4. The server baseboard management controller compatibility method according to any one of claims 1-3, characterized in that, Determining a target baseboard management controller implementation module based on the target feature information and the server feature information of the already compatible server, includes: Determining the similarity between the to-be-compatible server and the already compatible server according to the target feature information and the server feature information of the already compatible server; Determining a target server with the highest similarity to the to-be-compatible server according to the similarity; Determining the target baseboard management controller implementation module based on the implementation module compatible with the target server.

5. The server baseboard management controller compatibility method according to claim 4, wherein The determining the similarity between the to-be-compatible server and the already compatible server according to the target feature information and the server feature information of the already compatible server, includes: Determining the distance between the to-be-compatible server and the already compatible server for each feature according to the target feature information and the server feature information of the already compatible server; Determining the similarity between the to-be-compatible server and the already compatible server according to the weight corresponding to each feature and the distance.

6. The server baseboard management controller compatibility method according to claim 4, wherein The determining the target baseboard management controller implementation module based on the implementation module compatible with the target server, includes: When the implementation module compatible with the target server is a manufacturer default implementation module or a basic implementation module, presenting the implementation module compatible with the target server to the user, and receiving the target baseboard management controller implementation module developed by the user for the to-be-compatible server based on the implementation module compatible with the target server; When the implementation module compatible with the target server is a baseboard management controller manufacturer implementation module or a baseboard management controller version implementation module, determining the implementation module compatible with the target server as the target baseboard management controller implementation module.

7. The server baseboard management controller compatibility method according to claim 6, wherein The basic implementation module includes classes that implement the common functions of different baseboard management controllers; The manufacturer default implementation module inherits and implements the basic implementation module; The baseboard management controller manufacturer implementation module inherits and implements the manufacturer default implementation module; The baseboard management controller version implementation module inherits and implements the baseboard management controller manufacturer implementation module whose implemented functions change due to the iteration of the baseboard management controller version.

8. A server baseboard management controller compatibility device, characterized in that Includes: An information acquisition module, configured to acquire the target feature information of the to-be-compatible server; A matching module, configured to perform baseboard management controller compatibility matching based on the target feature information and the routing policy configuration information according to a preset routing matching rule, where the routing policy configuration information is used to indicate the mapping relationship between different server feature information and baseboard management controller implementation modules; A determination module, configured to determine a target baseboard management controller implementation module based on the target feature information and the server feature information of the already compatible server when the matching based on the target feature information and the routing policy configuration information fails; A compatibility module, configured to complete the compatibility of the server baseboard management controller of the to-be-compatible server when the compatibility test based on the target feature information and the target baseboard management controller implementation module passes.

9. An electronic device, characterized in that, Includes: A memory, configured to store a computer program; A processor, configured to implement the steps of the server baseboard management controller compatibility method according to any one of claims 1 to 7 when executing the computer program.

10. A computer-readable storage medium, characterized in that, A computer program is stored in the computer-readable storage medium, wherein the computer program implements the steps of the server baseboard management controller compatibility method according to any one of claims 1 to 7 when executed by a processor.

Citation Information

Cited By

  • Baseboard management controller platform identification method, product, equipment and medium

    CN120561757A

  • Server management method, electronic device, readable storage medium and program product

    CN120724466A