Fault position information processing method and device, equipment and storage medium

By identifying the logical location of faulty server devices and generating coded images, the problem of maintenance personnel struggling to quickly locate faulty devices has been solved, enabling rapid and accurate fault location and an efficient maintenance process.

CN120407259APending Publication Date: 2025-08-01INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510529683.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-25
Publication Date
2025-08-01

AI Technical Summary

Technical Problem

As server equipment becomes more complex, maintenance personnel find it difficult to quickly and accurately identify the location of faulty equipment, resulting in long maintenance times and high manpower consumption.

Method used

By identifying the target logical location of the faulty device, the target physical location and location identifier are determined using the location mapping relationship, an coded image is generated and sent to the terminal device, and the terminal device displays the physical location of the faulty device after scanning.

Benefits of technology

It enables rapid and accurate determination of the physical location of faulty equipment, reduces manpower consumption, improves maintenance efficiency, and requires no hardware modifications or log checks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120407259A_ABST
    Figure CN120407259A_ABST
Patent Text Reader

Abstract

The invention provides a fault location information processing method which can be applied to the technical field of fault location. The fault location information processing method comprises the following steps: in response to received fault information, identifying a target logic location of fault equipment from the fault information; the target logic position represents the relative position of the fault device in a plurality of devices connected with the baseboard management controller; according to the target logic position, determining a target physical position and a target position identifier of the fault equipment by using a position mapping relation; the target position identifier comprises an address identifier and a target logic position of the substrate management controller; generating a coded image based on the target position identifier, and sending the coded image to the terminal device; and sending the target physical position to the terminal equipment under the condition that a response from the terminal equipment is received. The invention further provides a fault position information processing device and equipment and a storage medium.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of fault location, and specifically relates to a method, apparatus, device, and storage medium for processing fault location information. Background Art

[0002] With the progress of server technology, the devices deployed on servers have become increasingly complex. With the complexity of the devices, device failures are more frequent. However, in the related art, maintenance personnel usually need to query the logs of the devices to determine the location of the faulty device. This method takes a long time and consumes a lot of human resources, and it is difficult for maintenance personnel to quickly and accurately identify the location of the faulty device. Summary of the Invention

[0003] In view of the above problems, this application provides a method, apparatus, device, and storage medium for processing fault location information.

[0004] The first aspect of this application provides a method for processing fault location information, including: in response to receiving fault information, identifying the target logical location of the faulty device from the fault information; the target logical location represents the relative position of the faulty device among multiple devices connected to the baseboard management controller; according to the target logical location, using the position mapping relationship to determine the target physical location and target location identifier of the faulty device; the target location identifier includes the address identifier of the baseboard management controller and the target logical location; based on the target location identifier, generating a coded image and sending the coded image to the terminal device; in the case of receiving a response from the terminal device, sending the target physical location to the terminal device.

[0005] The second aspect of this application provides a device for processing fault location information, including: an identification module, configured to, in response to receiving fault information, identify the target logical location of the faulty device from the fault information; the target logical location represents the relative position of the faulty device among multiple devices connected to the baseboard management controller; a determination module, configured to, according to the target logical location, use the position mapping relationship to determine the target physical location and target location identifier of the faulty device; the target location identifier includes the address identifier of the baseboard management controller and the target logical location; a generation module, configured to generate a coded image based on the target location identifier; a sending module, configured to send the coded image to the terminal device; and in the case of receiving a response from the terminal device, sending the target physical location to the terminal device.

[0006] The second aspect of this application provides an electronic device, including: one or more processors; a memory, configured to store one or more computer programs, wherein the above one or more processors execute the above one or more computer programs to implement the steps of the above method.

[0007] The third aspect of the present application further provides a computer-readable storage medium, on which a computer program or instruction is stored, and when the computer program or instruction is executed by a processor, the steps of the above method are implemented.

[0008] The fourth aspect of the present application further provides a computer program product, including a computer program or instruction, and when the computer program or instruction is executed by a processor, the steps of the above method are implemented.

[0009] According to the embodiments of the present application, since the target logical position represents the relative position of the faulty device among multiple devices, the logical positions of multiple devices under the same baseboard management controller are unique identifiers. Further, since the position identifier includes the address identifier of the baseboard control manager and the logical position, the position identifiers of the devices of multiple baseboard control managers are all unique identifiers. In this way, generating a unique coded image of the faulty device based on the unique target position identifier of the faulty device and sending the coded image to the terminal device can enable the terminal device to accurately and efficiently obtain the target physical position. Even if the terminal device receives multiple coded images simultaneously, it can accurately obtain the target physical positions of each faulty device. In this way, the user can quickly and accurately determine the physical position of the faulty device, reducing the human resources consumed due to determining the faulty position. In addition, the present application can enable the user to obtain the status of the device in real time without hardware modification and without checking logs, improving the maintenance efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] Through the following description of the embodiments of the present application with reference to the drawings, the above content and other objects, features and advantages of the present application will become clearer. In the drawings:

[0011] Figure 1 A schematic diagram showing an application scenario of the method for processing fault location information according to an embodiment of the present application is shown.

[0012] Figure 2 A flowchart showing the method for processing fault location information according to an embodiment of the present application is schematically shown.

[0013] Figure 3 A flowchart showing the method for processing fault location information according to another embodiment of the present application is schematically shown.

[0014] Figure 4 A schematic diagram showing a device topology according to an embodiment of the present application is shown.

[0015] Figure 5 A schematic diagram showing the construction of a position mapping relationship according to an embodiment of the present disclosure is schematically shown.

[0016] Figure 6A flowchart of a method for processing fault location information according to another embodiment of the present application is schematically shown.

[0017] Figure 7 A structural block diagram of a device for processing fault location information according to an embodiment of the present application is schematically shown.

[0018] Figure 8 A block diagram of an electronic device suitable for implementing the method for processing fault location information according to an embodiment of the present application is schematically shown. Detailed implementation manners

[0019] Hereinafter, embodiments of the present application will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are merely exemplary and are not intended to limit the scope of the present application. In the following detailed description, for the sake of explanation, many specific details are set forth to provide a thorough understanding of the embodiments of the present application. However, obviously, one or more embodiments can be implemented without these specific details. In addition, in the following description, descriptions of well-known structures and technologies are omitted to avoid unnecessarily confusing the concepts of the present application.

[0020] The terms used herein are merely for describing specific embodiments and are not intended to limit the present application. The terms "including", "comprising", etc. used herein indicate the presence of the described features, steps, operations, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, or components.

[0021] All terms used herein (including technical and scientific terms) have the meanings commonly understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein should be interpreted as having a meaning consistent with the context of this specification and should not be interpreted in an idealized or overly rigid manner.

[0022] In the case of using expressions such as "at least one of A, B, and C, etc.", generally, it should be interpreted according to the meaning commonly understood by those skilled in the art (for example, "a system having at least one of A, B, and C" should include, but not be limited to, a system having only A, only B, only C, having A and B, having A and C, having B and C, and / or having A, B, and C).

[0023] Taking a Peripheral Component Interconnect express (PCIe) device as an example, when a PCIe device fails, the operating system reads relevant registers and reports or passes the information to a Baseboard Management Controller (BMC) according to the type and location of the failure, and the BMC generates a failure log. Maintenance personnel usually need to query the log information in the system to troubleshoot the faulty device. This method takes a long time to determine the location of the failure, consumes a lot of human resources, and it is difficult to quickly and accurately identify the location of the faulty device.

[0024] In view of this, the present application provides a method for processing fault location information, which enables a user to quickly locate and accurately identify a faulty device of a server, improves the server maintenance efficiency, and reduces the consumption of human resources.

[0025] Figure 1 FIG. schematically shows an application scenario diagram of the method for processing fault location information according to an embodiment of the present application.

[0026] As Figure 1 shown, the application scenario according to this embodiment may include a BMC 110, multiple devices 120_1, …, 120_N, and a terminal device 130, where N is an integer greater than 1. Among them, the BMC 110 may be electrically connected to the multiple devices 120_1, …, 120_N. The BMC 110 and the terminal device 130 may be electrically connected or communicatively connected, for example, connected by a wired, wireless communication link, or an optical fiber cable, etc., and the present application does not limit this.

[0027] The BMC 110 may be a core component in a server management system defined by the Intelligent Platform Management Interface (IPMI) protocol. It is a hardware manager integrated in servers, network devices, and other computer systems, mainly responsible for monitoring the hardware status of devices, performing remote management operations, and providing monitoring and control functions for devices. For example, the BMC 110 may be used by a user to manage multiple devices 120_1, …, 120_N.

[0028] Multiple devices 120_1, …, 120_N can be PCIe devices deployed on a server. PCIe can provide higher data transfer rates and performance, offering faster and more stable connections for various types of external devices. Thus, PCIe is widely used in various hardware devices such as graphics cards, sound cards, network cards, storage devices, etc. The embodiments of this application are not limited to this. Multiple devices 120_1, …, 120_N can also be devices such as serial ATA (SATA) hard drives, memory, etc. The server can be a server that provides various services, such as a background management server (for example only). The background management server can analyze and process data such as user requests received, and feedback the processing results (such as web pages, information, or data obtained or generated according to user requests, etc.) to the terminal device 130.

[0029] The terminal device 130 can be various electronic devices with a display screen and supporting web browsing, including but not limited to smartphones, tablets, laptop computers, desktop computers, and so on. Users can use the terminal device 130 to interact with the BMC 110 to receive or send messages, etc. Various communication client applications can be installed on the terminal device 130, such as shopping applications, web browser applications, search applications, instant messaging tools, email clients, social platform software, etc. (for example only).

[0030] It should be noted that the fault location information processing method provided by the embodiments of this application can generally be executed by the BMC 110. The embodiments of this application are not limited to this. In another embodiment of this application, it can also be executed by a server or a server cluster where a fault location information processing device is deployed. This application does not make a limitation on this. It should be understood that Figure 1 the numbers of the BMC 110, multiple devices 120_1, …, 120_N, and the terminal device 130 in

[0031] are merely illustrative. According to the implementation requirements, there can be any number of BMC 110, multiple devices 120_1, …, 120_N, and terminal device 130. Figure 1 Based on the Figures 2 to 6 scenario described below, taking the BMC as an example, the fault location information processing method of the application embodiments will be described in detail through

[0032] Figure 2 FIG. schematically shows a flowchart of the fault location information processing method according to an embodiment of the present application.

[0033] As Figure 2 shown, the fault location information processing method of this embodiment includes operations S210 to S240.

[0034] In operation S210, in response to receiving a fault message, identify the target logical location of the faulty device from the fault message.

[0035] In operation S220, according to the target logical location, use the location mapping relationship to determine the target physical location and the target location identifier of the faulty device.

[0036] In operation S230, based on the target location identifier, generate a coded image and send the coded image to the terminal device.

[0037] In operation S240, when receiving a response from the terminal device, send the target physical location to the terminal device.

[0038] The above-mentioned fault message is the log information of the faulty device. This log information may include the target logical location of the faulty device. The target logical location represents the relative position of the faulty device among multiple devices connected to the BMC. It should be understood that the multiple devices here are connected to the same BMC. For multiple devices controlled by the same BMC, each device has a unique logical location. Exemplarily, when the device is a PCIe device, the logical location may be the Bus-Device-Function (BDF) number. In the embodiments of the present application, the log information may further include information such as the fault type, the fault time, and the current device state, etc., which are not limited in the present application.

[0039] The address mapping relationship may refer to the mapping relationship among the pre-constructed logical location, physical location, and location identifier. In this way, the target physical location and the target location identifier having a mapping relationship with the target logical location can be determined using the address mapping relationship. The target physical location may refer to the actual physical location of the faulty device in the server. Specifically, the target physical location may be the location of the faulty device in a specific slot of the server, such as the XXth slot of the server motherboard, where XX represents any number. The target location identifier may be a Uniform Resource Locator (URL). The target location identifier may include the address identifier of the baseboard management controller and the target logical location. For example, the address identifier may refer to the Internet Protocol Address (IP address) of the baseboard management controller. Since the IP addresses of multiple BMCs are different and the logical locations of the devices controlled by the same BMC are different, in the case of multiple BMCs, each device controlled by each BMC can have a unique location identifier.

[0040] In this way, a QR code image conversion tool can be used to convert the target location identifier unique to the faulty device into a unique encoded image of the faulty device. For example, the encoded image can be a QR code image, etc. Then, the encoded image can be sent to the terminal device. When the terminal device recognizes the encoded image, the BMC can receive a response from the terminal device and send the target physical location to the terminal device. For example, a user can scan a QR code displayed on the visualization interface of another terminal device through a terminal device. Another example is that a user can use only one terminal device to recognize the QR code displayed on the visualization interface of this terminal device.

[0041] After the terminal device receives the target physical location, it can display the target physical location of the faulty device to the user through the visualization interface, facilitating the user to quickly and accurately know the fault location. The embodiments of the present application are not limited to this. In other embodiments of the present application, fault information, etc. can also be sent to the terminal device, so that the user can learn more information about the faulty device through the fault information displayed on the visualization interface, thereby improving the maintenance efficiency of the faulty device.

[0042] Based on this, since the target logical location represents the relative position of the faulty device among multiple devices, the logical positions of multiple devices under the same baseboard management controller are unique identifiers. Further, since the location identifier includes the address identifier of the baseboard control manager and the logical location, the location identifiers of each device of multiple baseboard control managers are all unique identifiers. In this way, generating a unique encoded image of the faulty device based on the unique target location identifier of the faulty device and sending the encoded image to the terminal device can enable the terminal device to accurately and efficiently obtain the target physical location. Even if the terminal device receives multiple encoded images simultaneously, it can accurately obtain the target physical locations of each faulty device. In this way, the user can quickly and accurately determine the physical location of the faulty device, reducing the human resources consumed due to determining the fault location. In addition, the present application can realize the user's real-time acquisition of the device status without hardware modification and without checking logs, improving the maintenance efficiency.

[0043] Figure 3 Schematically shows a flowchart of a fault location information processing method according to another embodiment of the present application.

[0044] As Figure 3 shown, the fault location information processing method of this embodiment includes operations S310 to S360.

[0045] In operation S310, in response to receiving the fault information, identify the target logical location of the faulty device from the fault information.

[0046] In operation S320, according to the target logical location, the target physical location and the target location identifier of the faulty device are determined by using the location mapping relationship.

[0047] In operation S330, an encoded image is generated based on the target location identifier.

[0048] In operation S340, the target physical location and the download link of the fault information are added to the encoded image to obtain the target encoded image.

[0049] In operation S350, the target encoded image is sent to the terminal device.

[0050] In operation S360, in the case of receiving a response from the terminal device, the fault information and the target physical location are sent to the terminal device.

[0051] A download link can be set on the BMC. This download link can point to the log information stored in the BMC and be used as a download path for the log information. After the encoded image is generated, the target physical location and the download link of the fault information can be added to the encoded image to obtain the target encoded image. In this way, when the user uses the terminal device to identify the target encoded image, the terminal device can display the download link to the user through the visual interface. For example, the terminal device can automatically start the browser and display the download link on the page of the browser. The embodiments of the present application are not limited to this. In other embodiments of the present application, information such as the size of the fault information and the file type of the fault information can also be embedded in the encoded image, so that after the browser is started, the embedded information can be displayed to the user through the browser. After the user selects the download link, the BMC receives the response from the terminal device, and thus sends the fault information and the target physical location to the terminal device. Moreover, in the embodiments of the present application, the download link can be transmitted through the Hypertext Transfer Protocol Secure (HTTPS) or other security protocols to protect the security of the data, fault information, and target physical location of the terminal device.

[0052] According to the embodiments of the present application, by embedding the download link into the encoded image to obtain the target encoded image, it can enable the user to directly download the fault information and the target physical location after using the terminal device to identify the target encoded image, improving convenience and the efficiency for the user to obtain the fault information and the target physical location.

[0053] According to the embodiments of the present application, in the case of receiving a response from the terminal device, sending the target physical location to the terminal device includes: in the case where the response indicates that the terminal device has selected the download link, determining the permission information of the terminal device according to the device identifier of the terminal device. Based on the permission information, the fault information and the target physical location are sent to the terminal device.

[0054] Specifically, in the case where the response indicates that the terminal device has selected a download link, the device identifier of the terminal device can be recognized. For example, the device identifier can be preset. The device identifier can be pre-set with an associated relationship with permissions. In this way, the terminal device corresponding to the device identifier has corresponding permissions. For example, for some devices, they only have the permission to view the target physical location, and for another part of the devices, they can have the permissions to query the target physical location and fault information at the same time. The embodiments of the present application are not limited to this. In some embodiments, the fault information can also be divided. For example, some devices can view a part of the fault information, and another part of the faulty devices can view another part of the fault information, etc. The present application does not make any limitations in this regard.

[0055] Based on this, according to the identification information of the terminal device, determine the permissions of the terminal device, so that when the terminal device has permissions, the fault information and the physical location are sent to the terminal device, which can improve the security of the data, fault information and target physical location of the terminal device.

[0056] According to an embodiment of the present application, the location mapping relationship is constructed by the following method: perform an enumeration operation on multiple devices to obtain the logical locations of the multiple devices. Based on the logical locations of the multiple devices and the address identifier of the baseboard management controller, obtain the location identifiers of the multiple devices. Based on the physical locations of the multiple devices, the location identifiers of the multiple devices, and the logical locations of the multiple devices, construct the location mapping relationship.

[0057] Specifically, the BMC can be initialized first. For example, the BMC can be controlled to be in an active state. The active state here can refer to the state in which the BMC can work normally. Then, through the serial port, network interface or predefined IP address, use the BMC management tool or command-line interface (CLI) to connect to the BMC.

[0058] Taking the command line interface as an example, in the command line interface, specific enumeration commands can be set or enumeration operations can be performed on the device through the device's Application Programming Interface (API). During the enumeration operation, the BMC will automatically scan the devices inside the server and generate a list including all device information. The logical locations of all devices can be recorded in this list. After obtaining the logical locations of all devices, the uniqueness and validity of each logical location can be verified to ensure that there are no duplicate or incorrect identifications. After that, the logical locations of the devices and related information (such as device numbers, etc.) can be stored in the database or memory of the BMC for subsequent operations and queries. Also, in the embodiments of this application, the BMC can also provide a query interface to allow administrators or automated systems to retrieve the detailed information of the devices through the logical locations. If errors such as unreachable devices are encountered during the enumeration process, the BMC can record the error information and can trigger an alarm or notify the administrator.

[0059] After storing the logical locations of multiple devices, a location identifier of the device can be generated based on the logical location of the device and the address identifier of the baseboard management controller in a predetermined format. And relevant personnel can record and store the physical location of each device, so that the physical locations of multiple devices can be obtained. On this basis, a first mapping sub-relationship between the physical locations of multiple devices and the logical locations of multiple devices can be determined, and a second mapping sub-relationship between the logical locations of multiple devices and the location identifiers of multiple devices can be determined. Then, based on the first mapping sub-relationship and the second mapping sub-relationship, a location mapping relationship can be constructed.

[0060] Based on this, by enumerating multiple devices, the unique logical locations of the devices are obtained, and then unique location identifiers are generated based on the logical locations and the address identifiers of the baseboard management controllers, so that users can accurately and quickly determine the physical location of the faulty device through the unique location identifier.

[0061] According to the embodiments of this application, performing an enumeration operation on multiple devices to obtain the logical locations of multiple devices includes: obtaining a device topology diagram. The device topology diagram includes multiple nodes representing multiple devices and edges between the multiple nodes. The positions of the multiple nodes in the device topology diagram represent the physical locations of multiple devices, and the edges represent the bus types between the connected devices connected by the edges. Multiple paths are formed via edges of the same type. Here, the connected devices refer to the devices located at both ends of a section of bus and connected via that section of bus. Sorting the multiple paths according to the number of nodes included in each path to obtain a path order. Enumerating the nodes corresponding to the multiple devices in the device topology diagram in sequence according to the path order to obtain the logical locations of the multiple devices.

[0062] For example, a device topology diagram can be used to illustrate the physical layout of devices on a server. For example, relevant personnel can record the physical location of each device and then draw a device topology diagram based on the hardware layout of the server.

[0063] Figure 4 Schematically shows a device topology diagram according to an embodiment of the present application. The device topology diagram may include nodes representing devices and edges representing bus types. It should be understood that the node layout and edge layout shown in the device topology diagram respectively correspond to the actual layout of devices on the server and the bus layout on the server.

[0064] It should be additionally noted that in Figure 4 , different types of edges are schematically shown in different grayscales. The embodiments of the present application are not limited thereto, and different types of edges can also be indicated by adding identifiers on the "edges". And, for clearly illustrating the embodiments of the present application, in the device topology diagram shown in Figure 4 , only nodes and edges are shown. In some embodiments, other information such as the signal flow direction between devices can also be shown in the device topology diagram. The present application does not limit this.

[0065] Furthermore, referring to Figure 4 , it can be seen that there are 4 nodes connected by the first type of edge B410 (shown in gray), namely device node 411, device node 412, device node 413, and device node 414. And there are 3 nodes connected by the second type of edge B420 (shown in black), namely device node 421, device node 422, and device node 423. Thus, the number of nodes included in the first type of path is 4, and the number of nodes included in the second type of path is 3. On this basis, the first type of path and the second type of path can be sorted to obtain the path order.

[0066] If a path includes more nodes, its rank in the path order is higher. Thus, when enumerating the nodes of multiple paths in the path order, the nodes included in the path with a higher rank can be enumerated first, that is, the paths of the first type can be enumerated first. If a path includes a larger number of nodes, it indicates that more devices are connected to the bus represented by this path, and thus the probability of a faulty device existing among the multiple devices connected to this bus is higher. Therefore, enumerating the nodes of this type of path first can make the logical positions of the nodes of this type of path relatively more forward than those of the nodes of other paths. In the address mapping relationship of the present application, the mapping relationships of each node can also be arranged in the above order. Thus, after a device on the bus represented by this type of path fails, when querying the address mapping relationship in order of rank, the physical location and location identifier corresponding to the faulty device can be queried first, improving the efficiency of determining the physical location and location identifier using the address mapping relationship. Moreover, by performing the enumeration operation on the nodes in the device topology diagram that has been checked and found to be error-free, the accuracy of the logical positions obtained through the enumeration operation can be ensured.

[0067] According to an embodiment of the present application, the logical position of a device includes a bus location identifier, a device location identifier, and a function identifier. Based on the logical positions of multiple devices and the address identifier of the baseboard management controller, obtaining the location identifiers of multiple devices includes: invoking a predetermined conversion template to process the bus location identifier, the device location identifier, the function identifier, and the address identifier of the baseboard management controller to obtain the location identifier of the device.

[0068] For example, the bus location identifier can be used to identify the physical bus where the device is located. For example, the bus location identifier can be the bus number (Bus Number) in the BDF number. The device location identifier can be used to distinguish different devices connected via the same bus. For example, the device location identifier can be the device number (Device Number) in the BDF number. The function identifier can be used to distinguish different functions or interfaces on the same device. For example, the function identifier can be the function number (FunctionNumber) in the BDF number.

[0069] For example, the predetermined conversion template can be as follows:

[0070] http: / / <BMC_IP> / pcie / <busnumber> / <devicenumber> / <functionnumber>

[0071] Among them, <BMC_IP> can be the IP address of the BMC. <busnumber>It can be a bus location identifier. <devicenumber>It can be a device location identifier. <functionnumber>It can be a functional identifier.

[0072] According to an embodiment of the present application, by using a predetermined conversion template, the uniqueness of the logical location can be fully utilized, and on this basis, a location identifier with stronger uniqueness can be generated, so that the user can quickly and accurately determine the physical location of the faulty device.

[0073] According to an embodiment of the present application, based on the physical locations of multiple devices, the location identifiers of multiple devices, and the logical locations of multiple devices, a location mapping relationship is constructed, including: determining a first mapping sub-relationship between the locations of multiple nodes in the device topology diagram and the logical locations of multiple devices. Determining a second mapping sub-relationship between the logical locations of multiple devices and the location identifiers of multiple devices. Based on the first mapping sub-relationship and the second mapping sub-relationship, a location mapping relationship is constructed.

[0074] Figure 5 Schematically shows a schematic diagram of constructing a location mapping relationship according to an embodiment of the present disclosure. As Figure 5 shown, since the location of a node in the device topology diagram is the physical location of the device represented by the node, for the convenience of description, the physical location of the device is hereinafter referred to. In an embodiment of the present application, a first mapping sub-relationship 521 between the locations 511 of multiple nodes in the device topology diagram and the logical locations 512 of multiple devices can be determined, that is, a first mapping sub-relationship 521 between the physical location of the device represented by each node and the logical location of the device is determined. For example, the manifestation form of the first mapping sub-relationship 521 can be a mapping table. Based on the identifier of the device, the mapping relationship between the physical location and the logical location of the device can be determined, and based on this mapping relationship, the physical location and the logical location are associated and stored through this mapping table. For example, the mapping table can be as shown in Table 1 below.

[0075] Table 1

[0076]

[0077] And, based on the identifier of the device, the mapping relationship between the logical locations 512 of multiple devices and the location identifiers 513 of multiple devices, that is, the second mapping sub-relationship 522, can be determined. The manifestation form of the second mapping sub-relationship 522 can also be a mapping table. And, based on this mapping relationship, the logical location and the location identifier are associated and stored through this mapping table. For example, the mapping table can be as shown in Table 2 below.

[0078] Table 2

[0079]

[0080] Based on this, the position mapping relationship 531 can be constructed through the above-mentioned first mapping sub-relationship 512 and second mapping sub-relationship 522. The position mapping relationship 531 can also be in the form of a mapping table. Further, the fault status of the device and the encoded image of the device can also be stored through this mapping table, as shown in Table 3 below.

[0081] Table 3

[0082]

[0083] The embodiments of the present application are not limited to this. In actual deployment, the accuracy of the position mapping relationship can be verified through some device tests or software tools to ensure the consistency of the physical location, logical location, and location identifier. And, as the devices are updated or the server configuration changes, the position mapping relationship can be updated regularly to ensure that the position mapping relationship always remains in the latest state.

[0084] According to the embodiments of the present application, determining the physical location of the device through the accurately pre-drawn device topology diagram can improve the accuracy of the determined physical location, thereby improving the accuracy of the constructed mapping relationship. And, after determining the target physical location of the faulty device, the location of the faulty device can be indicated by changing the color of the corresponding node in the device topology diagram, etc., and the device topology diagram can be displayed through the visualization interface of the terminal device, facilitating the user to intuitively determine the physical location of the faulty device and improving the user experience.

[0085] Figure 6 Schematically shows a flowchart of a fault location information processing method according to another embodiment of the present application.

[0086] As Figure 6 shown, the fault location information processing method of this embodiment includes operations S610 to S670.

[0087] In operation S610, determine the first mapping sub-relationship between the positions of multiple nodes in the device topology diagram and the logical positions of multiple devices.

[0088] In operation S620, determine the second mapping sub-relationship between the logical positions of multiple devices and the location identifiers of multiple devices.

[0089] In operation S630, construct a position mapping relationship based on the first mapping sub-relationship and the second mapping sub-relationship.

[0090] In operation S640, according to the target logical position, use the position mapping relationship to determine the target location identifier.

[0091] In operation S650, generate an encoded image based on the target location identifier.

[0092] In operation S660, an encoded image is sent to the terminal device.

[0093] In operation S670, when a response is received from the terminal device, fault information and the target physical location are sent to the terminal device.

[0094] Based on the above, the present application can update the fault status of each device one by one in a timely manner, and send the physical location and fault information of the faulty device to the terminal device through the encoded image, facilitating the user to quickly and accurately identify the location of the faulty device, and improving the server maintenance efficiency.

[0095] Based on the above fault location information processing method, the present application also provides a fault location information processing device. The following will be combined with Figure 8 to describe this device in detail.

[0096] Figure 7 Schematically shows a structural block diagram of a fault location information processing device according to an embodiment of the present application.

[0097] As Figure 7 shown, the fault location information processing device 700 of this embodiment includes an identification module 710, a determination module 720, a generation module 730, and a sending module 740.

[0098] The identification module 710 is configured to identify the target logical location of the faulty device from the fault information in response to receiving the fault information. In one embodiment, the identification module 710 can be used to perform the operation S210 described above, which will not be elaborated here.

[0099] The determination module 720 is configured to determine the target physical location and the target location identifier of the faulty device according to the target logical location by using the location mapping relationship. In one embodiment, the determination module 720 can be used to perform the operation S220 described above, which will not be elaborated here.

[0100] The generation module 730 is configured to generate an encoded image based on the target location identifier. In one embodiment, the generation module 730 can be used to perform the operation S230 described above, which will not be elaborated here.

[0101] The sending module 740 is configured to send the encoded image to the terminal device; and when a response is received from the terminal device, send the target physical location to the terminal device. In one embodiment, the sending module 740 can be used to perform the operation S240 described above, which will not be elaborated here.

[0102] According to an embodiment of the present application, the fault location information processing device 700 further includes an enumeration module, an acquisition module, and a construction module. Among them, the enumeration module is used to perform an enumeration operation on multiple devices to obtain the logical locations of the multiple devices; the acquisition module is used to obtain the location identifiers of the multiple devices based on the logical locations of the multiple devices and the address identifier of the baseboard management controller; the construction module is used to construct a location mapping relationship based on the physical locations of the multiple devices, the location identifiers of the multiple devices, and the logical locations of the multiple devices.

[0103] According to an embodiment of the present application, the enumeration module includes an acquisition sub-module, a sorting sub-module, and an enumeration sub-module. Among them, the acquisition sub-module is used to acquire a device topology diagram; the device topology diagram includes multiple nodes representing multiple devices, and edges between the multiple nodes; the positions of the multiple nodes in the device topology diagram represent the physical locations of the multiple devices, and the edges represent the bus types between the connected devices connected by the edges, and multiple paths are formed via edges of the same type; the sorting sub-module is used to sort the multiple paths according to the number of nodes included in each of the multiple paths to obtain a path order; the enumeration sub-module is used to sequentially perform an enumeration operation on the nodes corresponding to the multiple devices in the device topology diagram according to the path order to obtain the logical locations of the multiple devices.

[0104] According to an embodiment of the present application, the construction module includes a first determination sub-module, a second determination sub-module, and a construction sub-module. Among them, the first determination sub-module is used to determine a first mapping sub-relationship between the positions of the multiple nodes in the device topology diagram and the logical locations of the multiple devices; the second determination sub-module is used to determine a second mapping sub-relationship between the logical locations of the multiple devices and the location identifiers of the multiple devices; the construction sub-module is used to construct a location mapping relationship based on the first mapping sub-relationship and the second mapping sub-relationship.

[0105] According to an embodiment of the present application, the acquisition module includes a processing sub-module. Among them, the processing sub-module is used to call a predetermined conversion template to process the bus location identifier, the device location identifier, the function identifier, and the address identifier of the baseboard management controller to obtain the location identifier of the device.

[0106] According to an embodiment of the present application, the generation module 730 includes an addition sub-module. The sending module 740 includes a first sending sub-module. Among them, the addition sub-module is used to add the target physical location and the download link of the fault information to the encoded image to obtain a target encoded image; the first sending sub-module is used to send the target encoded image to the terminal device.

[0107] According to an embodiment of the present application, the sending module 740 further includes a third determination sub-module and a second sending sub-module. Among them, the third determination sub-module is configured to determine the permission information of the terminal device according to the device identifier of the terminal device when the response indicates that the terminal device has selected a download link; the second sending sub-module is configured to send the fault information and the target physical location to the terminal device based on the permission information.

[0108] According to an embodiment of the present application, any plurality of modules among the identification module 710, the determination module 720, the generation module 730, and the sending module 740 may be combined and implemented in one module, or any one of them may be split into multiple modules. Alternatively, at least part of the functions of one or more of these modules may be combined with at least part of the functions of other modules and implemented in one module. According to an embodiment of the present application, at least one of the identification module 710, the determination module 720, the generation module 730, and the sending module 740 may be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on chip, a system on a substrate, a system on a package, an application specific integrated circuit (ASIC), or any other reasonable way of integrating or packaging circuits, etc., implemented by hardware or firmware, or implemented in any one of the three implementation manners of software, hardware, and firmware, or in an appropriate combination of any several of them. Alternatively, at least one of the identification module 710, the determination module 720, the generation module 730, and the sending module 740 may be at least partially implemented as a computer program module, which can perform corresponding functions when the computer program module is run.

[0109] Figure 8 A block diagram of an electronic device suitable for implementing the fault location information processing method according to an embodiment of the present application is schematically shown. For example, the electronic device here may be a BMC.

[0110] As Figure 8 shown, the electronic device 800 according to an embodiment of the present application includes a processor 801, which can perform various appropriate actions and processes according to the program stored in the read-only memory (ROM) 802 or the program loaded from the storage section 808 into the random access memory (RAM) 803. The processor 801 may include, for example, a general microprocessor (such as a CPU), an instruction set processor, and / or a related chipset, and / or a dedicated microprocessor (such as an application specific integrated circuit (ASIC)), etc. The processor 801 may also include on-board memory for caching purposes. The processor 801 may include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of the present application.

[0111] In the RAM 803, various programs and data required for the operation of the electronic device 800 are stored. The processor 801, the ROM 802, and the RAM 803 are connected to each other via a bus 804. The processor 801 performs various operations of the method flow according to the embodiments of the present application by executing the programs in the ROM 802 and / or the RAM 803. It should be noted that the programs can also be stored in one or more memories other than the ROM 802 and the RAM 803. The processor 801 can also perform various operations of the method flow according to the embodiments of the present application by executing the programs stored in the one or more memories.

[0112] According to an embodiment of the present application, the electronic device 800 may further include an input / output (I / O) interface 805, and the input / output (I / O) interface 805 is also connected to the bus 804. The electronic device 800 may further include one or more of the following components connected to the input / output (I / O) interface 805: an input part 806 including a keyboard, a mouse, etc.; an output part 807 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc. and a speaker, etc.; a storage part 808 including a hard disk, etc.; and a communication part 809 including a network interface card such as a LAN card, a modem, etc. The communication part 809 performs communication processing via a network such as the Internet. A drive 810 is also connected to the input / output (I / O) interface 805 as needed. A removable medium 811, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 810 as needed so that a computer program read from it can be installed into the storage part 808 as needed.

[0113] The present application also provides a computer-readable storage medium, which may be included in the device / device / system described in the above embodiments; or may exist alone without being assembled into the device / device / system. The above computer-readable storage medium carries one or more programs, and when the one or more programs are executed, the method according to the embodiments of the present application is implemented.

[0114] According to an embodiment of the present application, the computer-readable storage medium may be a non-volatile computer-readable storage medium, for example, it may include but is not limited to: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the above. In the present application, the computer-readable storage medium may be any tangible medium that contains or stores a program, and this program can be used by or in combination with an instruction execution system, device, or apparatus. For example, according to an embodiment of the present application, the computer-readable storage medium may include the above-described ROM 802 and / or RAM 803 and / or one or more memories other than ROM 802 and RAM 803.

[0115] An embodiment of the present application further includes a computer program product, which includes a computer program that contains program code for executing the method shown in the flowchart. When the computer program product runs in a computer system, the program code is used to enable the computer system to implement the fault location information processing method provided by the embodiment of the present application.

[0116] When the computer program is executed by the processor 801, it executes the above functions defined in the system / apparatus of the embodiment of the present application. According to an embodiment of the present application, the above-described systems, apparatuses, modules, units, etc. can be implemented by computer program modules.

[0117] In one embodiment, the computer program may rely on tangible storage media such as optical storage devices and magnetic storage devices. In another embodiment, the computer program may also be transmitted and distributed in the form of a signal on a network medium, and is downloaded and installed through the communication part 809, and / or installed from the removable medium 811. The program code contained in the computer program can be transmitted by any suitable network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.

[0118] In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 809, and / or installed from the removable medium 811. When the computer program is executed by the processor 801, it executes the above functions defined in the system of the embodiment of the present application. According to an embodiment of the present application, the above-described systems, devices, apparatuses, modules, units, etc. can be implemented by computer program modules.

[0119] In accordance with embodiments of the present application, program code for executing the computer programs provided by the embodiments of the present application can be written in any combination of one or more programming languages. Specifically, these computing programs can be implemented using high-level procedural and / or object-oriented programming languages, and / or assembly / machine languages. The programming languages include, but are not limited to, such as Java, C++, Python, the "C" language or similar programming languages. The program code can be executed entirely on the user's computing device, partially on the user's device, partially on a remote computing device, or entirely on a remote computing device or server. In cases involving a remote computing device, the remote computing device can be connected to the user's computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or alternatively, can be connected to an external computing device (e.g., by connecting through the Internet using an Internet service provider).

[0120] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of systems, methods, and computer program products according to various embodiments of the present application. In this regard, each block in the flowchart or block diagram can represent a module, a program segment, or a portion of code that contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than that marked in the accompanying drawings. For example, two consecutive blocks shown may actually be executed substantially in parallel, and they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram or flowchart, and the combination of blocks in the block diagram or flowchart, can be implemented by a dedicated hardware-based system for performing the specified functions or operations, or can be implemented by a combination of dedicated hardware and computer instructions.

[0121] Those skilled in the art can understand that the features described in the various embodiments of the present application can be combined and / or combined in various ways, even if such combinations or combinations are not explicitly described in the present application. In particular, without departing from the spirit and teachings of the present application, the features described in the various embodiments of the present application can be combined and / or combined in various ways. All such combinations and / or combinations fall within the scope of the present application.

[0122] The above describes the embodiments of the present application. However, these embodiments are for illustrative purposes only and are not intended to limit the scope of the present application. Although the embodiments are described separately above, this does not mean that the measures in the various embodiments cannot be used advantageously in combination. Without departing from the scope of the present application, those skilled in the art can make various substitutions and modifications, and all such substitutions and modifications should fall within the scope of the present application.< / functionnumber> < / devicenumber> < / busnumber> < / functionnumber> < / devicenumber> < / busnumber>

Claims

1. A method for processing fault location information, characterized in that, The method includes: In response to receiving fault information, identifying a target logical position of a faulty device from the fault information; the target logical position characterizes the relative position of the faulty device among a plurality of devices connected to the baseboard management controller; According to the target logical position, determining a target physical position and a target position identifier of the faulty device by using a position mapping relationship; the target position identifier includes an address identifier of the baseboard management controller and the target logical position; Based on the target position identifier, generating a coded image and sending the coded image to a terminal device; In the case of receiving a response from the terminal device, sending the target physical position to the terminal device.

2. The method according to claim 1, wherein The position mapping relationship is constructed by the following method: Performing an enumeration operation on the plurality of devices to obtain logical positions of the plurality of devices; Based on the logical positions of the plurality of devices and the address identifier of the baseboard management controller, obtaining position identifiers of the plurality of devices; Based on the physical positions of the plurality of devices, the position identifiers of the plurality of devices, and the logical positions of the plurality of devices, constructing the position mapping relationship.

3. The method according to claim 2, characterized in that, The performing an enumeration operation on the plurality of devices to obtain logical positions of the plurality of devices includes: Obtaining a device topology map; the device topology map includes a plurality of nodes representing a plurality of devices and edges between the plurality of nodes; the positions of the plurality of nodes in the device topology map represent the physical positions of the plurality of devices, and the edges represent the bus types between the connected devices connected by the edges, and a plurality of paths are formed via edges of the same type; Sorting the plurality of paths according to the number of nodes included in each of the plurality of paths to obtain a path order; In accordance with the path order, sequentially performing an enumeration operation on the nodes corresponding to the plurality of devices in the device topology map to obtain the logical positions of the plurality of devices.

4. The method according to claim 3, characterized in that The constructing the position mapping relationship based on the physical positions of the plurality of devices, the position identifiers of the plurality of devices, and the logical positions of the plurality of devices includes: Determining a first mapping sub-relationship between the positions of the plurality of nodes in the device topology map and the logical positions of the plurality of devices; Determining a second mapping sub-relationship between the logical positions of the plurality of devices and the position identifiers of the plurality of devices; Based on the first mapping sub-relationship and the second mapping sub-relationship, constructing the position mapping relationship.

5. The method according to any one of claims 2 to 3, characterized in that The logical position of the device includes a bus position identifier, a device position identifier, and a function identifier; The obtaining position identifiers of the plurality of devices based on the logical positions of the plurality of devices and the address identifier of the baseboard management controller includes: Invoking a predetermined conversion template to process the bus position identifier, the device position identifier, the function identifier, and the address identifier of the baseboard management controller to obtain the position identifier of the device.

6. The method according to any one of claims 1 to 3, characterized in that The generating a coded image based on the target position identifier and sending the coded image to a terminal device includes: Adding the target physical position and a download link of the fault information to the coded image to obtain a target coded image; Sending the target coded image to the terminal device.

7. The method according to claim 6, wherein In the case of receiving a response from the terminal device, sending the target physical location to the terminal device includes: In the case where the response indicates that the terminal device has selected the download link, determining the permission information of the terminal device according to the device identifier of the terminal device; Based on the permission information, sending the fault information and the target physical location to the terminal device.

8. A fault location information processing device, comprising: An identification module, configured to, in response to receiving fault information, identify a target logical location of a faulty device from the fault information; The target logical location represents the relative position of the faulty device among a plurality of devices connected to the baseboard management controller; A determination module, configured to determine a target physical location and a target location identifier of the faulty device by using a position mapping relationship according to the target logical location; The target location identifier includes an address identifier of the baseboard management controller and the target logical location; A generation module, configured to generate a coded image based on the target location identifier; A sending module, configured to send the coded image to a terminal device; And in the case of receiving a response from the terminal device, sending the target physical location to the terminal device.

9. An electronic device, comprising: One or more processors; A memory, configured to store one or more computer programs, Characterized in that the one or more processors execute the one or more computer programs to implement the steps of the method according to any one of claims 1 to 7.

10. A computer-readable storage medium having a computer program or instructions stored thereon, characterized in that, The computer program or instruction, when executed by a processor, implements the steps of the method according to any one of claims 1 to 7.