A method, product, device, and medium for identifying a baseboard management controller platform.

By training a predictive model for the Baseboard Management Controller (BMC) platform and utilizing relevant and traffic information to identify the BMC platform, the problem of poor server BMC compatibility was solved, and accurate BMC platform identification and functional implementation were achieved.

CN120561757BActive Publication Date: 2025-11-14LANGCHAO ELECTRONIC INFORMATION IND CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511013833.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-07-23
Publication Date
2025-11-14
Estimated Expiration
2045-07-23

AI Technical Summary

Technical Problem

In existing technologies, server BMC management tools cannot accurately support BMC platforms from different vendors, resulting in the inability to route to the corresponding implementation class and implement the corresponding BMC functions, leading to poor compatibility.

Method used

By training a prediction model for the Baseboard Management Controller (BMC) platform, and utilizing relevant information from the BMC and raw traffic information, the current attribute information of the BMC is determined, and the prediction model is used for analysis to accurately identify the BMC platform.

Benefits of technology

It achieves better compatibility with various server BMCs, accurately identifies the BMC platform, and improves the efficiency of BMC function implementation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120561757B_ABST
    Figure CN120561757B_ABST
Patent Text Reader

Abstract

This application discloses a method, product, device, and medium for identifying baseboard management controller (BMC) platforms. Applied to the server technology field, it addresses the problem of poor server BMC compatibility and the inability to accurately determine the corresponding BMC platform. Upon detecting a user logging into the current baseboard management controller, it acquires relevant baseboard management controller information and raw traffic information. Based on this information, it determines various attribute information of the current baseboard management controller. A pre-established baseboard management controller platform prediction model is used to analyze each attribute information to determine the corresponding current baseboard management controller platform information. The baseboard management controller platform prediction model is trained based on sample information from various baseboard management controller platforms. This improves compatibility with various server BMCs and facilitates accurate identification of the corresponding BMC platform for a server BMC.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of server technology, and in particular to a baseboard management controller platform identification method, product, device and medium. Background Technology

[0002] As the variety of servers increases, different server vendors use different Baseboard Management Controllers (BMCs). Current server BMC management tools typically access the server BMC via the web, retrieving the BMC's vendor, model, and version information. This information is then compared against a known database. If the comparison is successful, the system routes the request to the corresponding implementation class. However, this method fails to determine if the BMC platform cannot be routed to the appropriate implementation class if the comparison fails, thus preventing the implementation of the corresponding BMC functionality and resulting in poor compatibility with the BMC server.

[0003] Therefore, how to better ensure compatibility with various server BMCs and accurately determine the corresponding BMC platform for a server BMC has become a problem that needs to be solved by those skilled in the art. Summary of the Invention

[0004] This application provides a baseboard management controller platform identification method, a computer program product, an electronic device, and a computer-readable storage medium to at least solve the problem in the related art that it is not possible to better incompatible with various server BMCs, resulting in the inability to accurately determine the BMC platform corresponding to the server BMC.

[0005] This application provides a method for identifying a baseboard management controller platform, including:

[0006] Upon detecting that a user has logged into the current baseboard management controller, obtain relevant information about the baseboard management controller and raw traffic information;

[0007] Based on the relevant information of the baseboard management controller and the original flow information, determine the various attribute information of the current baseboard management controller;

[0008] The pre-established substrate management controller platform prediction model is used to analyze each attribute information to determine the corresponding current substrate management controller platform information. The substrate management controller platform prediction model is trained based on sample information of each substrate management controller platform, and the sample information of the substrate management controller platform includes substrate management controller platform information and corresponding sample attribute information.

[0009] This application also provides a baseboard management controller platform identification device, including:

[0010] The acquisition module is used to acquire information related to the baseboard management controller and raw traffic information when a user is detected logging into the current baseboard management controller.

[0011] The first determining module is used to determine the various attribute information of the current baseboard management controller based on the relevant information of the baseboard management controller and the original flow information;

[0012] The analysis module is used to analyze each attribute information using a pre-established substrate management controller platform prediction model to determine the corresponding current substrate management controller platform information. The substrate management controller platform prediction model is trained based on sample information of each substrate management controller platform, and the sample information of the substrate management controller platform includes substrate management controller platform information and corresponding sample attribute information.

[0013] This application also provides an electronic device, including: a memory for storing a computer program; and a processor for executing the computer program to implement the steps of any of the above-described baseboard management controller platform identification methods.

[0014] This application also provides a computer-readable storage medium storing a computer program, wherein when the computer program is executed by a processor, it implements the steps of any of the above-described baseboard management controller platform identification methods.

[0015] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of any of the above-described baseboard management controller platform identification methods.

[0016] As can be seen from the above technical solution, the beneficial effects of the present invention are as follows: The baseboard management controller platform identification method in this application can pre-train a baseboard management controller platform prediction model based on sample information of each baseboard management controller platform. The sample information of the baseboard management controller platform includes baseboard management controller platform information and corresponding sample attribute information. When a user is detected logging into the current baseboard management controller, the relevant information of the baseboard management controller and the original traffic information can be obtained. Then, based on the relevant information of the baseboard management controller and the original traffic information, the various attribute information of the current baseboard management controller can be determined. The various attribute information is input into the baseboard management controller platform prediction model. Through model analysis, the current baseboard management controller platform information corresponding to the baseboard management controller that the user wants to log into can be determined. Since this application analyzes the various attribute information of the current baseboard management controller through a pre-trained baseboard management controller platform prediction model, it can better support various server BMCs and accurately determine the BMC platform corresponding to the server BMC.

[0017] Furthermore, the present invention also provides corresponding computer program products, electronic devices, and computer-readable storage media for the baseboard management controller platform identification method, further making the method more practical, and the device, electronic device, and computer-readable storage media have corresponding advantages. Attached Figure Description

[0018] To more clearly illustrate the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0019] Figure 1 A flowchart illustrating a baseboard management controller platform identification method provided in this application embodiment;

[0020] Figure 2 A flowchart illustrating another baseboard management controller platform identification method provided in this application embodiment;

[0021] Figure 3 A schematic diagram illustrating the training process of a prediction model for a baseboard management controller platform provided in an embodiment of this application;

[0022] Figure 4 This is a structural diagram of a baseboard management controller platform identification device provided in an embodiment of this application. Detailed Implementation

[0023] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the protection scope of this application.

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

[0025] To enable those skilled in the art to better understand the present application, the present application will be further described in detail below with reference to the accompanying drawings and specific embodiments.

[0026] Embodiments of this application provide a baseboard management controller platform identification method, combined with Figure 1 The flowchart shown illustrates a method for identifying a baseboard management controller platform, providing a detailed description of the method. The method includes the following steps S110 to S130.

[0027] S110: Upon detecting that a user has logged into the current baseboard management controller, obtain relevant information about the baseboard management controller and raw traffic information.

[0028] It should be noted that this application can pre-acquire sample information of various known baseboard management controller platforms. This sample information includes baseboard management controller platform information and corresponding sample attribute information. The baseboard management controller platform information may include the platform type and / or corresponding model type, etc. Model training is performed based on this sample information to obtain a trained baseboard management controller platform prediction model. In practical applications, various base learners (composed of decision trees) can be trained, and the trained learners constitute the baseboard management controller platform prediction model.

[0029] When a user is detected logging into the current baseboard management controller, the relevant information of the baseboard management controller and the original traffic information corresponding to the current baseboard management controller can be obtained.

[0030] S120: Determine the various attribute information of the current baseboard management controller based on the relevant information of the baseboard management controller and the original flow information.

[0031] It is understood that, in this embodiment of the application, the various attribute information of the current baseboard management controller can be determined based on the obtained baseboard management controller related information and raw flow information. The attribute information has the same attribute type and the same number of attribute information as the sample attribute information in the baseboard management controller platform sample information used for training the model.

[0032] S130: The pre-established substrate management controller platform prediction model is used to analyze each attribute information to determine the corresponding current substrate management controller platform information. The substrate management controller platform prediction model is trained based on the sample information of each substrate management controller platform. The sample information of the substrate management controller platform includes the substrate management controller platform information and the corresponding sample attribute information.

[0033] It should be noted that, since the baseboard management controller platform prediction model in this embodiment is based on sample information (BMC platform information and attribute information of each sample) of each known baseboard management controller platform, analyzing the attribute information of the current baseboard management controller through this prediction model can quickly obtain the current baseboard management controller platform information corresponding to the current baseboard management controller. This current baseboard management controller platform information may include the platform type and / or model type corresponding to the BMC platform. This application is applicable to various server BMCs, meaning it has better compatibility with various server BMCs and can improve the accuracy of predicting the BMC platform corresponding to the server BMC.

[0034] Based on the above embodiments, please refer to Figure 2 The embodiments of this application provide further explanation and description of the technical solution.

[0035] S210: Upon detecting that a user has logged into the current baseboard management controller, obtain relevant information about the baseboard management controller and raw traffic information.

[0036] It should be noted that the information related to the baseboard management controller in this application embodiment may include baseboard management controller login information and baseboard management controller non-login information. Specifically, the baseboard management controller login information includes at least one of the following: baseboard management controller page Hypertext Markup Language (HTML) script information (i.e., BMC page HTML script), page rendering usage information (i.e., JS (JavaScript, a web page scripting language) used for page rendering), and Cascading Style Sheets (CCS) script information; the baseboard management controller non-login information is information that can be obtained without logging in, such as at least one of the BMC Uniform Resource Locator (URL) interface and URL return information.

[0037] S220: Determine the various attribute information of the current baseboard management controller based on the relevant information of the baseboard management controller and the original flow information.

[0038] It should be noted that the attribute information in the embodiments of this application may include at least two of the following: server keyword, function mode, average depth of function call chain, common path of Uniform Resource Locator (URL), URL suffix, average depth of URL path, Secure Sockets Layer (SSL) certificate identifier, Hypertext Markup Language (HTML) hidden tags, and common path of page rendering usage information.

[0039] The S220 process may include: determining server keywords based on Uniform Resource Locator (URI) return information (i.e., URL return information); extracting function call chain information based on page rendering usage information, and determining the function mode and average function call chain depth based on the function call chain information; extracting all URI information based on page rendering usage information, and determining the URI common path and URI suffix based on each URI information; determining the path depth of each URI and the average path depth of each URI based on each URI information; determining Secure Sockets Layer (SSL) handshake information based on the raw traffic information; determining the SSL certificate identifier based on the SSL handshake information; determining the call path information of Hypertext Markup Language (HTML) hidden tags and page rendering usage information based on the Hypertext Markup Language (HTML) script information of the baseboard management controller page; and determining the common path of page rendering usage information based on the call path information of page rendering usage information.

[0040] It is understood that the raw traffic information obtained in this embodiment can be raw HTTP (Hypertext Transfer Protocol) traffic, from which SSL (Secure Socket Layer) handshake information is extracted. In this embodiment, during the process of determining various attribute information based on the baseboard management controller information and the raw traffic information, server keywords can be extracted from the URL return information. Different BMC vendors have different server keywords, and there are also cases where the URL return information of a BMC vendor does not contain server keywords.

[0041] An Abstract Syntax Tree (AST) can be used to parse the JS code information (i.e., the information used for page rendering) to extract the function call chain. Then, the function pattern can be extracted from the function call chain, and the average depth of the function call chain can be calculated.

[0042] In this embodiment, regular expressions can also be used to extract all URL information from the JS code information. Since the JS script is used in all operations of the entire BMC, it contains all the URL information of the BMC. Therefore, all URL information can be extracted from the JS code information. Furthermore, the extracted URL information is processed to obtain the common URL path of each URL in the URL set and the suffix information of the URL path corresponding to each URL. In this application, each URL path can be split, and the URL path depth of each URL path can be calculated based on the splitting result. Then, the average URL path depth of the URL set can be calculated based on the URL path depth of each URL.

[0043] In this embodiment of the application, the SSL handshake information can be parsed to determine the SSL certificate information, and the vendor information can be further extracted. Then, the hidden fields can be extracted by parsing the HTML script. If there are hidden fields, they are marked as 1, and if there are no hidden fields, they are marked as 0. Then, the JS call path information in the HTML script is extracted, and the path structure features (such as the common path information of JS) are further extracted based on the JS call path information.

[0044] S230: The various decision trees in the pre-established baseboard management controller platform prediction model are used to analyze the various attribute information and obtain various prediction results.

[0045] Understandably, to improve the accuracy of prediction results, the pre-established baseboard management controller platform prediction model in this application may include multiple decision trees, where each decision tree can also be called a base learner. In this application, the various attribute information of the current BMC is input into the baseboard management controller platform prediction model. Each decision tree in the baseboard management controller platform prediction model performs prediction analysis on each attribute information of the current BMC, thereby obtaining the corresponding prediction results.

[0046] S240: Identify the target prediction result with the largest number of prediction results from all prediction results.

[0047] In practical applications, a decision tree outputs a prediction result, which can lead to multiple prediction results. These prediction results may contain the same prediction result or different prediction results. In order to improve the accuracy of the final determined current baseboard management controller platform information, this application can determine the target prediction result with the most identical prediction results (i.e., the highest number of votes) from among the various prediction results.

[0048] S250: Determine the current baseboard management controller platform information based on the target prediction results.

[0049] After determining the target prediction result, the BMC platform information corresponding to the target prediction result can be further identified as the current baseboard management controller platform information.

[0050] For example, assuming the baseboard management controller platform prediction model contains 100 base learning periods, and 90 base learners predict the BMC platform information as A, then it can be determined that the BMC platform information belongs to model A, and the platform information that the BMC platform of this model belongs to model A can be returned.

[0051] In one embodiment, before determining the current baseboard management controller platform information based on the target prediction result in S250, the method may further include the following S260 to S280.

[0052] S260: Determine the confidence level of the target prediction result.

[0053] It should be noted that, in order to further improve the prediction accuracy in this embodiment of the application, a confidence level can be preset, and after obtaining the target prediction result, the confidence level of the target prediction result can be determined. For example, the confidence level of the target prediction result can be determined based on the highest number of votes corresponding to the target prediction result (that is, the number of target prediction results in each prediction result) and the total number of votes of all prediction results (that is, the total number). The confidence level = (highest number of votes / total number of votes) * 100%.

[0054] S270: If the confidence level of the target prediction result reaches the preset confidence level, execute the step in S250 to determine the current baseboard management controller platform information based on the target prediction result.

[0055] Understandably, after obtaining the confidence level of the target prediction result, the confidence level of the target prediction result can be compared with the preset confidence level. If the confidence level of the target prediction result reaches (i.e., is greater than or equal to) the preset confidence level, it indicates that the reliability of the target prediction result is high. At this time, the current baseboard management controller platform information can be further determined based on the target prediction result.

[0056] S280: If the confidence level of the target prediction result does not reach the preset confidence level, generate a manual review prompt message.

[0057] In addition, in this application, if it is determined that the confidence level of the target prediction result does not reach (i.e., is less than) the preset confidence level, it indicates that the reliability of the target prediction result is uncertain. At this time, a manual review prompt message can be generated and displayed to notify the staff to review the target prediction result to determine whether the current baseboard management controller platform information can be determined based on the target prediction result.

[0058] S290: Determine whether the manual review has passed. If the manual review has passed, proceed to S250 to determine the current baseboard management controller platform information based on the target prediction result. If the manual review has failed, proceed to S300.

[0059] S300: Perform manual annotation, and after the annotation is completed, proceed to S250 to determine the current baseboard management controller platform information based on the target prediction results.

[0060] In one implementation, the method may further include the following steps.

[0061] Based on the current baseboard management controller platform information, determine the corresponding baseboard manager implementation class, and perform baseboard management controller login operation based on the baseboard management controller implementation class to obtain the baseboard management controller model information;

[0062] The sub-implementation classes are determined based on the model information, and the baseboard management controller is configured based on each sub-implementation class.

[0063] Understandably, to more accurately determine the BMC implementation class corresponding to the current baseboard management controller platform information, a mapping relationship between each baseboard management controller platform information and its corresponding BMC implementation class can be established in advance based on the known baseboard management controller platform information and its corresponding implementation class. After determining the current baseboard management controller platform information, the corresponding BMC implementation class can be further determined based on the pre-established mapping relationship. Then, the system routes to the corresponding BMC implementation class to perform the BMC login operation and further obtains the BMC model information. Based on this model information, each sub-implementation class is determined, and then each sub-implementation class is used to implement the specific functions corresponding to the BMC, such as configuring the BMC.

[0064] In one implementation, please refer to Figure 3 The prediction model of the substrate management controller platform in this application embodiment is trained based on sample information of each substrate management controller platform. The training process may include the following steps S410 to S430.

[0065] S410: Determine multiple subsets of substrate management controller platform sample information from all substrate management controller platform sample information, each subset of substrate management controller platform sample information including at least one substrate management controller platform sample information.

[0066] It should be noted that, in practical applications, for each known baseboard management controller platform, upon detecting a user login to the baseboard management controller corresponding to that known baseboard management controller platform, relevant baseboard management controller information and raw traffic information are obtained. Based on this information, the various attribute information of the baseboard management controller is determined. This implementation process can follow steps S210 to S220 described above. Each attribute information is stored in correspondence with the known baseboard management controller platform, for example, in a mapping table. This allows for the pre-construction of a mapping table based on each known baseboard management controller platform and its corresponding attribute information. The format of the mapping table is shown in Table 1.

[0067] Table 1 Mapping Relationship Table

[0068]

[0069] In practical applications, multiple subsets of substrate management controller platform sample information can be determined from all substrate management controller platform sample information. For example, samples can be randomly drawn n times with replacement, with at least one substrate management controller platform sample information drawn each time to form a subset of substrate management controller platform sample information. n such subsets can be obtained through n draws. In this embodiment, n is a positive integer greater than 2.

[0070] S420: For each subset of baseboard management controller platform sample information, train the corresponding decision tree using all baseboard management controller platform sample information in the subset of baseboard management controller platform sample information.

[0071] It should be noted that in the embodiments of this application, n subsets of sample information from the baseboard management controller platform can be used to train the corresponding decision trees. The decision trees can form learners, and one subset of sample information from the baseboard management controller platform corresponds to one learner.

[0072] S430: Determine the prediction model for the baseboard management controller platform based on the trained decision trees.

[0073] Understandably, after training each decision tree, the prediction model for the baseboard management controller platform can be determined based on each decision tree.

[0074] In one implementation, the process of training the corresponding decision tree using all baseboard management controller platform sample information in the subset of baseboard management controller platform sample information in S420 above may include:

[0075] For each platform type, based on all baseboard management controller platform sample information in the baseboard management controller platform sample information subset, determine the root node information entropy corresponding to the baseboard management controller platform sample information subset under the platform type.

[0076] It should be noted that this embodiment uses a subset of baseboard management controller platform sample information, consisting of the sample information of each baseboard management controller platform shown in Table 1, as an example for detailed explanation. The known platform types are A, B, C, and D. For each platform type, the corresponding decision tree can be determined using the method provided in this embodiment.

[0077] It is understood that this embodiment uses platform type A as an example. The root node information entropy corresponding to the subset of substrate management controller platform information under platform type A can be calculated based on all substrate management controller platform sample information in the subset of substrate management controller platform sample information. To improve calculation accuracy, the first proportion of the first sample in each category can be determined relative to the category of platform type A based on the first proportion of the first sample in each category; then, based on the first proportion of the first sample in each category, combined with the first information entropy calculation formula, the root node information entropy corresponding to the subset of substrate management controller platform information under platform type A can be determined.

[0078] The formula for calculating the first information entropy in this embodiment is: , where p k The first proportion of samples of category k in the subset of sample information of the substrate management controller platform is denoted as y, where y represents the total number of categories of sample information in the subset relative to platform type, k=1,2,...,y, log2 is used to calculate the logarithm to the base 2, and Ent(D) represents the information entropy of the subset D of sample information of the substrate management controller platform. In the application scenario of this embodiment, the category of a substrate management controller platform sample information relative to platform type A includes two types: one is platform type A, and the other is not platform type A.

[0079] For example, taking the sample information of each baseboard management controller platform in Table 1 as an example, the root node information entropy is calculated as follows:

[0080] .

[0081] Based on the root node information entropy and the attribute information of each sample in the substrate management controller platform sample information subset, determine the information gain of each attribute type relative to the substrate management controller platform sample information subset under the platform type.

[0082] It should be noted that after obtaining the sample information of each baseboard management controller platform in the subset of sample information, the sample attribute information of each baseboard management controller platform sample information can be obtained according to the pre-established mapping relationship table between the baseboard management controller platform and various attribute information. That is, one baseboard management controller platform sample information corresponds to multiple sample attribute information. This sample attribute information also includes server keywords, function mode, average depth of function call chain, common path of Uniform Resource Locator (URL), URL suffix, average depth of URL path, Secure Sockets Layer (SSL) certificate identifier, Hypertext Markup Language (HTML) hidden tags, and common path of page rendering usage information. Each sample attribute information corresponds to an attribute type. Then, based on each sample attribute information, the information gain of each attribute type relative to the subset of baseboard management controller platform sample information under platform type A can be further determined.

[0083] Furthermore, the process of determining the information gain of each attribute type relative to the sample information subset of the substrate management controller platform under platform type A in this embodiment of the application may include the following steps.

[0084] Based on the attribute information of each sample in the sample information of all substrate management controller platform samples in the substrate management controller platform sample information subset, determine the sub-subset of substrate management controller platform sample information corresponding to each attribute value of each attribute type.

[0085] It should be noted that for each attribute type, there may be multiple possible attribute values. For example, attribute type 'a' may have V possible attribute values. If attribute type 'a' is used to partition the substrate management controller platform sample information subset D, then V sub-subsets of substrate management controller platform sample information will be generated. That is, the attribute type 'a' of D will all have the same attribute value. The sample information of each baseboard management controller platform is divided into a secondary subset, thus obtaining the secondary subset of baseboard management controller platform sample information corresponding to each attribute value of attribute type a. The v-th secondary subset contains all data in D that have a value of a specific value for attribute type a. The sample information, this subset can be denoted as .

[0086] For each attribute value of each attribute type, the weight of the sub-subset of substrate management controller platform sample information corresponding to the attribute type and attribute value is determined based on the number of substrate management controller platform sample information in the sub-subset and the total number of substrate management controller platform sample information in the sub-subset.

[0087] It is understood that, in this embodiment of the application, considering that the number of samples contained in each secondary subset of sample information of the substrate management controller platform may be different, a corresponding weight can be determined for each secondary subset of sample information of the substrate management controller platform. Wherein, the v-th secondary subset of sample information of the substrate management controller platform... The weight is , Representing the second subset The sample number is denoted by D, where D is the total number of samples in the subset of sample information of the substrate management controller platform. It is evident that the larger the number of samples in the subset, the greater the influence of that subset. Based on the substrate management controller platform sample information in the subset of sample information of the substrate management controller platform, the first information entropy of the subset of sample information of the substrate management controller platform corresponding to the attribute type and attribute value is determined.

[0088] It should be noted that, in order to improve the accuracy of the calculation, the second proportion of the second sample in each category of the substrate management controller platform sample information in the second subset of the substrate management controller platform sample information can be determined according to the category of the platform type. Based on the second proportion of the second sample in each category, combined with the second information entropy calculation formula, the first information entropy of the second subset of the substrate management controller platform sample information corresponding to the attribute type and attribute value can be determined.

[0089] The formula for calculating information entropy is: ,in, This represents the second proportion of samples in the k-th category within the second subset of the sample information for the substrate management controller platform, where... This represents the number of sample information categories in the second subset of sample information relative to the total number of categories of platform type, k=1,2,..., log2 is used to calculate the base-2 logarithm. This represents a secondary subset of sample information from the substrate management controller platform. The first information entropy.

[0090] Based on the root node information entropy, the weights corresponding to the sub-subsets of sample information of each baseboard management controller platform corresponding to the attribute type, and the first information entropy, the information gain of the attribute type relative to the sample information subset of the baseboard management controller platform is determined.

[0091] It is understandable that after obtaining the root node information entropy, the weights corresponding to the sub-subsets of sample information of each baseboard management controller platform corresponding to the attribute type, and the first information entropy, the relationship can be further calculated by combining the information gain formula. The information gain of attribute type a relative to the sample information subset D of the substrate management controller platform is obtained.

[0092] Taking the sample information of the 8 baseboard management controller platforms in the table as an example, for platform type A, the decision tree is used to determine whether the platform type is A. The root node information entropy has been calculated above as follows:

[0093] Of the 8 samples, 2 have platform type A and 6 have platform type other than A. Therefore, p1=2 / 8, p2=6 / 8, and y=2.

[0094] Taking the attribute type—server keyword—as an example, this server keyword has three possible values: {iDRAC, nll, Byo}. If we use this attribute to partition D, we can obtain three subsets, denoted as DiDRAC, Dnll ... 1 (Server keyword = iDRAC), D 2 (Server keyword = null), D 3 (Server keyword = Byo). Secondary subset D 1 Includes a sample numbered {1}, with a positive example ratio of 1 and a negative example ratio of 0; D 2 It contains 5 samples numbered {2, 3, 5, 6, 8}, with positive examples accounting for 1 / 5 and negative examples accounting for 4 / 5; D 3 The test includes two samples numbered {4, 7}, with 0 positive examples and 1 negative example. Positive examples are those with platform type A, and negative examples are those with platform type other than A.

[0095] Therefore, the information gain for each sub-subset can be obtained as follows:

[0096] ;

[0097] ;

[0098] .

[0099] Then, based on the information gain corresponding to each sub-subset, the information gain of the attribute with the attribute type (server keyword) relative to subset D can be determined as follows:

[0100] .

[0101] Using the same method, we can obtain the information gain of each other attribute type relative to subset D:

[0102] ; ;

[0103] ; ;

[0104] ; ;

[0105] ; ;

[0106] From the remaining information gains, determine the maximum information gain and use the attribute type corresponding to the maximum information gain as the split node for splitting.

[0107] It is understandable that after obtaining the information gain of each attribute type relative to the sample information subset of the baseboard management controller platform, the maximum information gain can be determined from each information gain, and then the attribute type corresponding to the maximum information gain can be used as a splitting node for splitting.

[0108] Determine whether the current split has reached the split termination condition. If it has, the trained decision tree is obtained. If not, update the remaining attribute gains and return to the process of determining the maximum information gain from the remaining information gains and using the attribute type corresponding to the maximum information gain as the split node for splitting. Continue until the split termination condition is reached, and the trained decision tree is obtained.

[0109] After a split node is completed, it can be further determined whether the current split has met the termination condition. The termination condition is either that there is no remaining sample attribute information, or that the sum of the maximum information gains corresponding to all split nodes reaches the information entropy of the root node. If the termination condition is met, a trained decision tree is obtained. If the termination condition is not met, the maximum information gain can be determined from the information gains corresponding to each remaining attribute type, and then this maximum information gain is used as the next classification node for splitting. After each split, it is determined whether the termination condition has been met. If the termination condition is met, a trained decision tree is obtained. If the termination condition is still not met, the search for the next split node continues until the termination condition is met, resulting in the corresponding decision tree. If the maximum information gain of the first split node found is equal to the information entropy of the root node, then only one split is needed for that node, and training can end, resulting in the corresponding decision tree.

[0110] It should also be noted that for other platform types, such as B, C, and D, please refer to the above example for platform type A, and perform calculations and training to obtain the corresponding decision tree.

[0111] It should be noted that in the actual prediction process, the prediction model of the baseboard management controller platform can be used to analyze the information of each attribute, and random forest ensemble decision-making can be adopted.

[0112] Where V is the feature vector of information attributes of the BMC platform, T is the number of decision trees, and H is the number of decision trees. t For a single decision tree, Y is the set of platform types (i.e., the set of manufacturers), y is the y-th platform type, and F(V) represents the final prediction result (i.e. the target prediction result).

[0113] It should also be noted that in practical applications, the baseboard management controller platform information in the sample information can include the platform type and platform version. After obtaining the predicted current baseboard management controller platform information (i.e., the current BMC platform version), this current BMC platform version can be compared with the BMC platform version used during the training of the prediction model. If the current BMC platform version is higher than the older BMC platform version used during model training, the database of the mapping relationship table between the BMC platform and various attribute information can be updated, and the weight of the older BMC platform version can be reduced. This reduction can be achieved according to the weight reduction formula, which is as follows: c is the attenuation coefficient, with a default value of 0.1. This parameter c can be adjusted according to the model accuracy during actual use.

[0114] It is understood that, in the embodiments of this application, dynamic feature incremental learning and old version feature decay mechanisms can be added to the baseboard management controller platform prediction model to ensure that the BMC platform information prediction model can maintain its high accuracy. For example, when the BMC firmware version is updated, the feature library is updated through online learning, such as adding the new path / redfish / v2; the feature weights of the old version decay with the version update, thereby increasing the weights of the new version, so that when the model is trained again based on the new database, the training accuracy of the model can be improved.

[0115] Therefore, this application demonstrates that a baseboard management controller (BMC) platform prediction model can be pre-trained based on sample information from various BMC platforms. This sample information includes BMC platform information and corresponding attribute information. Upon detecting a user logging into the current BMC, relevant BMC information and raw traffic information can be obtained. Then, based on this information, the various attributes of the current BMC are determined. These attributes are then input into the prediction model. Through model analysis, the platform information corresponding to the BMC the user intends to log into can be determined. Because this application analyzes the attribute information of the current BMC using a pre-trained prediction model, it achieves better compatibility with various server BMCs and accurately identifies the corresponding BMC platform.

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

[0117] Embodiments of this application also provide a baseboard management controller platform identification device, please refer to... Figure 4 The device includes:

[0118] The acquisition module 11 is used to acquire information related to the baseboard management controller and raw traffic information when it is detected that a user has logged into the current baseboard management controller;

[0119] The first determining module 12 is used to determine the various attribute information of the current baseboard management controller based on the relevant information of the baseboard management controller and the original flow information;

[0120] Analysis module 13 is used to analyze each attribute information using a pre-established substrate management controller platform prediction model to determine the corresponding current substrate management controller platform information; the substrate management controller platform prediction model is trained by the training module based on the sample information of each substrate management controller platform, and the sample information of the substrate management controller platform includes the substrate management controller platform information and the corresponding sample attribute information.

[0121] In one implementation, the analysis module 13 includes:

[0122] The analysis unit is used to analyze the attribute information using the decision trees in the pre-established baseboard management controller platform prediction model to obtain the prediction results.

[0123] The first determining unit is used to determine the target prediction result with the largest number from all prediction results;

[0124] The second determining unit is used to determine the current baseboard management controller platform information based on the target prediction results.

[0125] In one embodiment, the device further includes:

[0126] The third determining unit is used to determine the confidence level of the target prediction result;

[0127] The fourth determining unit is used to trigger the second determining unit when the confidence level of the target prediction result reaches a preset confidence level;

[0128] The fifth determining unit is used to generate a manual review prompt message when the confidence level of the target prediction result does not reach the preset confidence level.

[0129] In one embodiment, the device further includes:

[0130] The acquisition unit is used to determine the corresponding baseboard manager implementation class based on the current baseboard management controller platform information, and to perform baseboard management controller login operation based on the baseboard management controller implementation class to obtain the model information of the baseboard management controller;

[0131] The configuration unit is used to determine each sub-implementation class according to the model information and to configure the baseboard management controller based on each sub-implementation class.

[0132] In one implementation, the information related to the baseboard management controller includes baseboard management controller login information and baseboard management controller non-login information.

[0133] In one embodiment, the baseboard management controller login information includes at least one of the following: baseboard management controller page hypertext markup language script information, page rendering usage information, and cascading style sheet script information;

[0134] Non-login information of the baseboard management controller includes at least one of the Uniform Resource Locator (URI) interface and URI return information.

[0135] In one implementation, the attribute information includes at least two of the following: server keyword, function mode, average function call chain depth, common path of Uniform Resource Locator (URL), URL suffix, average path depth of Uniform Resource Locator (URL), Secure Sockets Layer (SSL) certificate identifier, Hypertext Markup Language (HTML) hidden tags, and common path of page rendering information.

[0136] The first determining module 12 includes:

[0137] The sixth determining unit is used to determine the server keyword based on the information returned by the Uniform Resource Locator;

[0138] The first extraction unit is used to extract function call chain information based on page rendering usage information, and to determine the function mode and the average depth of the function call chain based on the function call chain information.

[0139] The second extraction unit is used to extract all the Uniform Resource Locator (URL) information based on the page rendering usage information, and to determine the common path and suffix of the URL based on the information of each URL.

[0140] The seventh determining unit is used to determine the path depth of each Uniform Resource Locator and the average path depth of each Uniform Resource Locator based on the information of each Uniform Resource Locator.

[0141] The eighth determining unit is used to determine the Secure Sockets Layer handshake information based on the original traffic information;

[0142] The ninth determining unit is used to determine the Secure Sockets Layer (SSL) certificate identifier based on the SSL handshake information.

[0143] The tenth determining unit is used to determine the calling path information of the Hypertext Markup Language hidden tags and page rendering usage information based on the Hypertext Markup Language script information of the baseboard management controller page;

[0144] The eleventh determining unit is used to determine the common path of the page rendering information based on the calling path information of the page rendering information.

[0145] In one implementation, the training module includes:

[0146] The twelfth determining unit is used to determine multiple subsets of substrate management controller platform sample information from all substrate management controller platform sample information, and each subset of substrate management controller platform sample information includes at least one substrate management controller platform sample information.

[0147] The training unit is used to train the corresponding decision tree for each subset of substrate management controller platform sample information using all substrate management controller platform sample information in the subset of substrate management controller platform sample information.

[0148] The thirteenth determination unit is used to determine the prediction model of the baseboard management controller platform based on the trained decision trees.

[0149] In one implementation, the training unit includes:

[0150] The first determining subunit is used to determine the root node information entropy corresponding to the substrate management controller platform sample information subset under each platform type, based on all substrate management controller platform sample information in the substrate management controller platform sample information subset.

[0151] The second determining subunit is used to determine the information gain of each attribute type under the platform type relative to the substrate management controller platform sample information subset based on the root node information entropy and the sample attribute information in all substrate management controller platform sample information subsets.

[0152] The third determining subunit is used to determine the maximum information gain from the remaining information gains and to split the attribute type corresponding to the maximum information gain as a splitting node.

[0153] The judgment sub-unit is used to determine whether the current split has reached the split termination condition. If it has, the fourth determination sub-unit is triggered; if it has not, the update unit is triggered.

[0154] The fourth step is to determine the sub-unit, which is used to obtain the trained decision tree;

[0155] The update unit is used to update the remaining attribute gains and return to perform the process of determining the maximum information gain from the remaining information gains and using the attribute type corresponding to the maximum information gain as the split node for splitting, until the split termination condition is met, and the trained decision tree is obtained.

[0156] In one embodiment, the second determining subunit includes:

[0157] The fifth determining subunit is used to determine the sub-subset of substrate management controller platform sample information corresponding to each attribute value of each attribute type based on the sample attribute information in all substrate management controller platform sample information subsets.

[0158] The fifth determining subunit is used to determine the weight of the sub-subset of substrate management controller platform sample information corresponding to the attribute type and attribute value for each attribute value of each attribute type. This weight is determined based on the number of substrate management controller platform sample information in the sub-subset of substrate management controller platform sample information and the total number of substrate management controller platform sample information in the sub-subset of substrate management controller platform sample information.

[0159] The sixth determining subunit is used to determine the first information entropy of the substrate management controller platform sample information sub-subset corresponding to the attribute type and attribute value based on the substrate management controller platform sample information in the substrate management controller platform sample information sub-subset.

[0160] The seventh determining subunit is used to determine the information gain of the attribute type relative to the sample information subset of the substrate management controller platform based on the root node information entropy, the weights corresponding to each sub-subset of sample information of the substrate management controller platform corresponding to the attribute type, and the first information entropy.

[0161] In one implementation, the first determining subunit includes:

[0162] The eighth determining subunit is used to determine the first proportion of the first sample of each category according to the category of each baseboard management controller platform sample information in the baseboard management controller platform sample information subset, respectively, relative to the platform type.

[0163] The ninth determining subunit is used to determine the root node information entropy corresponding to the subset of sample information of the baseboard management controller platform under the platform type, based on the first proportion of the first sample of each category.

[0164] Therefore, the sixth defined subunit includes:

[0165] The tenth determining subunit is used to determine the second proportion of the second samples of each category based on the category of the baseboard management controller platform sample information in the sub-subset of baseboard management controller platform sample information relative to the platform type.

[0166] The eleventh determining subunit is used to determine the first information entropy of the sub-subset of sample information of the baseboard management controller platform corresponding to the attribute type and attribute value, based on the second proportion of the second samples of each category.

[0167] In one implementation, the splitting termination condition is:

[0168] There is no remaining sample attribute information, or the sum of the maximum information gains corresponding to each split node reaches the information entropy of the root node.

[0169] It should be noted that the description of the features in the embodiment corresponding to the baseboard management controller platform identification device can be found in the relevant description of the embodiment corresponding to the baseboard management controller platform identification method, and will not be repeated here.

[0170] Embodiments of this application also provide an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to perform the steps in any of the above embodiments of the baseboard management controller platform identification method.

[0171] Embodiments of this application also provide a computer-readable storage medium storing a computer program, wherein the computer program is configured to execute the steps in any of the above-described embodiments of the baseboard management controller platform identification method when it is run.

[0172] In one exemplary embodiment, the aforementioned computer-readable storage medium may include, but is not limited to, various media capable of storing computer programs, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard disk, magnetic disk, or optical disk.

[0173] Embodiments of this application also provide a computer program product, which includes a computer program that, when executed by a processor, implements the steps in any of the above-described embodiments of the baseboard management controller platform identification method.

[0174] Embodiments of this application also provide another computer program product, including a non-volatile computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps in any of the above-described embodiments of the baseboard management controller platform identification method.

[0175] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software 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 beyond the scope of this application.

[0176] The foregoing has provided a detailed description of the baseboard management controller platform identification method, product, device, and medium provided in this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the embodiments above are merely for the purpose of helping to understand the method and core ideas of this application. It should be noted that those skilled in the art can make various improvements and modifications to this application without departing from its principles, and these improvements and modifications also fall within the protection scope of the claims of this application.

Claims

1. A method for identifying a baseboard management controller platform, characterized in that, include: Upon detecting that a user has logged into the current baseboard management controller, obtain relevant information about the baseboard management controller and raw traffic information; Based on the relevant information of the baseboard management controller and the original flow information, determine the various attribute information of the current baseboard management controller; Each of the attribute information includes at least two of the following: server keyword, function mode, average function call chain depth, common path of Uniform Resource Locator (URL), URL suffix, average path depth of URL, Secure Sockets Layer (SSL) certificate identifier, Hypertext Markup Language (HTML) hidden tags, and common path of page rendering information. The pre-established substrate management controller platform prediction model is used to analyze each attribute information to determine the corresponding current substrate management controller platform information. The substrate management controller platform prediction model is trained based on sample information of each substrate management controller platform, and the sample information of the substrate management controller platform includes substrate management controller platform information and corresponding sample attribute information.

2. The baseboard management controller platform identification method according to claim 1, characterized in that, The step of analyzing each attribute information using a pre-established baseboard management controller platform prediction model to determine the corresponding current baseboard management controller platform information includes: Each attribute information is analyzed using the decision trees in the pre-established baseboard management controller platform prediction model to obtain prediction results. From all the prediction results, determine the target prediction result with the largest number; The current baseboard management controller platform information is determined based on the target prediction results.

3. The baseboard management controller platform identification method according to claim 2, characterized in that, Before determining the current baseboard management controller platform information based on the target prediction results, the process also includes: Determine the confidence level of the target prediction result; If the confidence level of the target prediction result reaches a preset confidence level, the step of determining the current baseboard management controller platform information based on the target prediction result is executed. If the confidence level of the target prediction result does not reach the preset confidence level, a manual review prompt message is generated.

4. The baseboard management controller platform identification method according to claim 3, characterized in that, Also includes: The corresponding baseboard manager implementation class is determined based on the current baseboard management controller platform information, and the baseboard management controller login operation is performed based on the baseboard management controller implementation class to obtain the model information of the baseboard management controller; Based on the model information, each sub-implementation class is determined, and the baseboard management controller is configured based on each of the sub-implementation classes.

5. The baseboard management controller platform identification method according to claim 1, characterized in that, The information related to the substrate management controller includes the substrate management controller login information and the substrate management controller non-login information.

6. The baseboard management controller platform identification method according to claim 5, characterized in that, The baseboard management controller login information includes at least one of the following: baseboard management controller page hypertext markup language script information, page rendering usage information, and cascading style sheet script information; The non-login information of the baseboard management controller includes at least one of the Uniform Resource Locator (URI) interface and URI return information.

7. The baseboard management controller platform identification method according to claim 6, characterized in that, The step of determining various attribute information of the current baseboard management controller based on the relevant information of the baseboard management controller and the original flow information includes: Based on the information returned by the Uniform Resource Locator, determine the server keyword; Extract function call chain information based on page rendering usage information, and determine function mode and average function call chain depth based on the function call chain information; Extract all Uniform Resource Locator (URL) information based on page rendering usage information, and determine the common path and suffix of URL based on each URL information. Based on the information of each Uniform Resource Locator (URL), determine the path depth of each URL and the average path depth of the URL. Determine the secure socket handshake information based on the original traffic information; Based on the Secure Sockets Layer handshake information, determine the Secure Sockets Layer certificate identifier; Based on the Hypertext Markup Language script information of the baseboard management controller page, determine the call path information for the Hypertext Markup Language hidden tags and page rendering usage information; Based on the call path information of the page rendering usage information, determine the common path of the page rendering usage information.

8. The baseboard management controller platform identification method according to any one of claims 1 to 7, characterized in that, The prediction model for the substrate management controller platform is trained based on sample information from various substrate management controller platforms, and includes: Multiple subsets of substrate management controller platform sample information are determined from all substrate management controller platform sample information, and each subset of substrate management controller platform sample information includes at least one substrate management controller platform sample information; For each subset of the baseboard management controller platform sample information, a corresponding decision tree is trained using all baseboard management controller platform sample information in the subset of the baseboard management controller platform sample information. Based on the trained decision trees, the prediction model for the baseboard management controller platform is determined.

9. The baseboard management controller platform identification method according to claim 8, characterized in that, The step of training the corresponding decision tree using all baseboard management controller platform sample information in the subset of baseboard management controller platform sample information includes: For each platform type, based on all baseboard management controller platform sample information in the baseboard management controller platform sample information subset, determine the root node information entropy corresponding to the baseboard management controller platform sample information subset under the platform type; Based on the root node information entropy and the attribute information of each sample in all the substrate management controller platform sample information subsets, determine the information gain of each attribute type under the platform type relative to the substrate management controller platform sample information subsets; From the remaining information gains, determine the maximum information gain and use the attribute type corresponding to the maximum information gain as the splitting node for splitting; Determine whether the current split has reached the split termination condition. If it has, the trained decision tree is obtained. If not, update the remaining attribute gains and return to the process of determining the maximum information gain from the remaining information gains and using the attribute type corresponding to the maximum information gain as the split node for splitting, until the split termination condition is reached, and the trained decision tree is obtained.

10. The baseboard management controller platform identification method according to claim 9, characterized in that, The step of determining the information gain of each attribute type under the platform type relative to the subset of substrate management controller platform sample information based on the root node information entropy and the sample attribute information of each sample in the subset of substrate management controller platform sample information includes: Based on the attribute information of each sample in all the sample information of the substrate management controller platform in the subset of the substrate management controller platform sample information, determine the sub-subset of substrate management controller platform sample information corresponding to each attribute value of each attribute type; For each attribute value of each attribute type, the weight of the sub-subset of substrate management controller platform sample information corresponding to the attribute type and the attribute value is determined based on the number of substrate management controller platform sample information in the sub-subset and the total number of substrate management controller platform sample information in the sub-subset. Based on the substrate management controller platform sample information in the sub-subset of the substrate management controller platform sample information, determine the first information entropy of the sub-subset of substrate management controller platform sample information corresponding to the attribute type and the attribute value; Based on the root node information entropy, the weights corresponding to each subset of sample information of the substrate management controller platform corresponding to the attribute type, and the first information entropy, the information gain of the attribute type relative to the subset of sample information of the substrate management controller platform is determined.

11. The baseboard management controller platform identification method according to claim 10, characterized in that, The step of determining the root node information entropy corresponding to the subset of substrate management controller platform sample information under the platform type based on all substrate management controller platform sample information in the subset of substrate management controller platform sample information includes: Based on the sample information of each baseboard management controller platform in the subset of the baseboard management controller platform sample information, relative to the category of the platform type, determine the first proportion of the first sample of each category; Based on the first proportion of the first sample of each category, determine the root node information entropy corresponding to the subset of sample information of the baseboard management controller platform under the platform type; Then, determining the first information entropy of the substrate management controller platform sample information sub-subset corresponding to the attribute type and the attribute value based on the substrate management controller platform sample information in the sub-subset of the substrate management controller platform sample information includes: Based on the category of the substrate management controller platform sample information in the sub-subset of the substrate management controller platform sample information relative to the platform type, determine the second proportion of the second sample in each category; Based on the second proportion of the second samples in each category, determine the first information entropy of the sub-subset of baseboard management controller platform sample information corresponding to the attribute type and the attribute value.

12. The baseboard management controller platform identification method according to claim 9, characterized in that, The condition for the division to terminate is: There is no remaining sample attribute information, or the sum of the maximum information gains corresponding to each split node reaches the information entropy of the root node.

13. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, it implements the steps of the baseboard management controller platform identification method as described in any one of claims 1 to 12.

14. An electronic device, characterized in that, include: Memory, used to store computer programs; A processor, configured to implement the steps of the baseboard management controller platform identification method as described in any one of claims 1 to 12 when executing the computer program.

15. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, wherein when the computer program is executed by a processor, it implements the steps of the baseboard management controller platform identification method as described in any one of claims 1 to 12.

Citation Information

Patent Citations

  • Baseboard management controller safety protection method, device, equipment and medium

    CN116680686A

  • Training method of box body identification model and hidden danger identification method of optical splitting box body

    CN118964974A