Port identification method and system, and non-volatile readable storage medium and electronic apparatus
By configuring port identifiers on the IO Box and receiving the mapping relationship of the device Box, the problems of high hardware cost and complex logic in the existing technology are solved, and the connection topology relationship between the IO Box and the device Box can be quickly determined.
Patent Information
- Application Number
- PCT/CN2024/134531
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-03-29
- Filing Date
- 2024-11-26
- Publication Date
- 2025-10-02
AI Technical Summary
In the prior art, determining the connection topology relationship between the high-speed signal ports of the IO Box and the device Box requires configuring an identification device for each port, resulting in high hardware costs and complex logic.
By configuring the mapping relationship between multiple first port identifiers of the IO resource pool and the high-speed signal port, and receiving the mapping relationship of the device resource pool, the third mapping relationship is determined using the first and second mapping relationships, and the identification device is only configured on the IO Box, and the port identifier of the communication channel is determined through the device Box.
This saves hardware costs, simplifies processing logic, and enables rapid determination of the connection topology between the IO Box and the device Box.
Smart Images

Figure CN2024134531_02102025_PF_FP_ABST
Abstract
Description
Port identification method and system, non-volatile readable storage medium and electronic device
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to the Chinese patent application filed with the China Patent Office on March 29, 2024, with application number 202410379845.X, and entitled “Method and system for determining mapping relationship, storage medium and electronic device”, the entire contents of which are incorporated by reference into this application. Technical Field
[0003] Embodiments of the present application relate to the field of computers, and in particular, to a port identification method and system, a non-volatile readable storage medium, and an electronic device. Background Art
[0004] In order to meet the flexible resource allocation needs of different application scenarios and requirements such as artificial intelligence, machine learning, and intelligent computing, data centers are accelerating the transformation from a compute-centric architecture to a data-centric converged architecture. In a converged architecture, when managing the resources of the entire system through the IO Box management software, it is necessary to know the connection topology of the high-speed signal ports between the IO Box and the device Box to ensure that data instructions can be accurately sent to the specific port of a specific device Box. The current technical solution for identifying the connection topology is to set an identification device on each high-speed signal port (i.e., CDFP port) of the IO Box device and the device Box to store and configure the CDFP port identifier, and use the identification device to identify the detailed information corresponding to each high-speed signal port, thereby determining the connection topology relationship within the system.
[0005] Although this solution can identify the connection topology of high-speed signal ports within the entire system, it requires configuring an identification device for each high-speed signal port on the IO Box and device box as a port identifier. In addition, the slave addresses of the identification devices on the same communication channel must be different, which complicates the hardware circuit design and increases costs.
[0006] Regarding the solution in the related art for determining the connection topology relationship (i.e., the third mapping relationship) between the high-speed signal ports of the IO Box and the device Box, it is necessary to configure an identification device for each high-speed signal port on the IO Box and the device Box. This technical problem is too costly and the implementation logic is complex, and no effective solution has yet been proposed. Summary of the Invention
[0007] The embodiments of the present application provide a port identification method and system, a non-volatile readable storage medium, and an electronic device to at least address the problem in the related art of determining the connection topology relationship (i.e., the third mapping relationship) of the high-speed signal ports between the IO Box and the device Box. This solution requires configuring an identification device for each high-speed signal port on the IO Box and the device Box, which is costly and has complex implementation logic.
[0008] According to a first aspect of an embodiment of the present application, a port identification method is provided, including: configuring a first mapping relationship between multiple first port identifiers and multiple first high-speed signal ports of an IO resource pool, wherein the first port identifier is used to identify an identification device of the IO resource pool, and the multiple identification devices correspond one-to-one to the multiple first high-speed signal ports; receiving a second mapping relationship sent by a second BMC of the device resource pool, wherein the second mapping relationship is used to indicate a correspondence between the second high-speed signal port and the second port identifier, the second high-speed signal port is a high-speed signal port of the device resource pool, and the multiple first port identifiers include the second port identifier; determining a third mapping relationship based on the first mapping relationship and the second mapping relationship, wherein the third mapping relationship is used to indicate a one-to-one correspondence between a third high-speed signal port corresponding to a communication channel in a connected state and the second high-speed signal port, the communication channel in a connected state is used for the IO resource pool to communicate with the device resource pool, and the multiple first high-speed signal ports include the third high-speed signal port.
[0009] In an exemplary embodiment, before receiving the second mapping relationship sent by the second BMC of the device resource pool, the method further includes: obtaining first IP addresses of multiple device resource pools, wherein the multiple device resource pools and the IO resource pool belong to the same system, and the first IP address is used for the first BMC of the IO resource pool to perform network communication with the second BMC; when it is determined that the multiple device resource pools are powered on, sending the second IP address of the IO resource pool to the multiple device resource pools according to the first IP address, wherein the second IP address is used for the second BMC to perform network communication with the first BMC.
[0010] In an exemplary embodiment, receiving the second mapping relationship sent by the second BMC of the device resource pool includes one of the following: sending acquisition requests to the multiple second BMCs according to the first IP addresses of the multiple device resource pools, so as to obtain the multiple second mapping relationships through the acquisition requests, wherein the first IP address is used for the first BMC and the second BMC of the IO resource pool to perform network communication; and receiving the multiple second mapping relationships sent by the multiple second BMCs according to a preset frequency.
[0011] In an exemplary embodiment, determining a third mapping relationship based on the first mapping relationship and the second mapping relationship includes: determining multiple second port identifiers and multiple second high-speed signal ports indicated by multiple second mapping relationships; matching multiple second port identifiers among the multiple first port identifiers, and matching multiple third high-speed signal ports corresponding to the multiple second port identifiers; and establishing a third mapping relationship based on the multiple second high-speed signal ports and the multiple third high-speed signal ports.
[0012] In an exemplary embodiment, after determining the third mapping relationship based on the first mapping relationship and the second mapping relationship, the method further includes: upon receiving an update request sent by the second BMC, parsing a fourth mapping relationship from the update request, wherein the fourth mapping relationship is used to indicate the correspondence between the second high-speed signal port and the second port identifier; and in response to the update request, updating the third mapping relationship based on the fourth mapping relationship.
[0013] In an exemplary embodiment, after determining the third mapping relationship based on the first mapping relationship and the second mapping relationship, the method further includes: sending a control instruction to the IO resource pool to instruct the IO resource pool to determine the target communication channel corresponding to the control instruction based on the third mapping relationship, and sending the control instruction to the target device resource pool corresponding to the control instruction through the target communication channel, wherein the control instruction is used to control the target device resource pool.
[0014] In an exemplary embodiment, sending the second IP address of the IO resource pool to multiple device resource pools based on the first IP address includes: sending the second IP address to multiple device resource pools in sequence through an intelligent platform management interface request based on the first IP address; or sending the second IP address to multiple device resource pools in sequence through an application program interface request of an extensible platform management based on the first IP address.
[0015] In an exemplary embodiment, the second BMC is configured to report an update request to the first BMC when determining that a topological connection relationship between high-speed signal ports has changed.
[0016] In an exemplary embodiment, a target file is stored in the first BMC, and the target file is used to configure a mapping relationship between multiple first port identifiers and multiple first high-speed signal ports, and configure a first mapping relationship between multiple first port identifiers and multiple first high-speed signal ports of an IO resource pool, including: configuring the first mapping relationship into the target file according to a jason format; the first BMC includes a topology identification service, and after configuring the first mapping relationship between the multiple first port identifiers and the multiple first high-speed signal ports of the IO resource pool, the method also includes: after the IO resource pool is powered on, loading the first mapping relationship configured in the target file through the topology identification service.
[0017] According to a second aspect of an embodiment of the present application, a port identification method is provided, including: determining a second mapping relationship between a second high-speed signal port of a device resource pool and a second port identifier, wherein the second port identifier is used to identify an identification device of the IO resource pool; sending the second mapping relationship to a first BMC of the IO resource pool to instruct the first BMC to determine a third mapping relationship based on pre-configured first mapping relationships and second mapping relationships, wherein the first mapping relationship is used to indicate a one-to-one correspondence between multiple first port identifiers of multiple identification devices and multiple first high-speed signal ports of the IO resource pool, the multiple first port identifiers include the second port identifier, and the third mapping relationship is used to indicate a one-to-one correspondence between a third high-speed signal port corresponding to a communication channel in a connected state and the second high-speed signal port, the communication channel in a connected state is used for communication between the IO resource pool and the device resource pool, and the multiple first high-speed signal ports include the third high-speed signal port.
[0018] In an exemplary embodiment, before sending the second mapping relationship to the first BMC of the IO resource pool, the method also includes: upon receiving the second IP address sent by the first BMC, verifying whether the IO resource pool and the device resource pool belong to the same converged architecture cabinet system based on the second IP address, wherein the converged architecture cabinet includes an IO resource pool and multiple device resource pools, and the second IP address is used for network communication between the second BMC and the first BMC; when it is determined that the IO resource pool and the device resource pool belong to the same converged architecture cabinet system, sending the second mapping relationship to the first BMC based on the second IP address.
[0019] In an exemplary embodiment, sending the second mapping relationship to the first BMC of the IO resource pool includes one of the following: upon receiving an acquisition request sent by the first BMC, sending the second mapping relationship to the first BMC according to the acquisition request; sending the second mapping relationship to the first BMC according to a second IP address of the IO resource pool at a preset frequency, wherein the second IP address is used for network communication between the second BMC and the first BMC.
[0020] In an exemplary embodiment, determining a second mapping relationship between a second high-speed signal port of a device resource pool and a second port identifier includes: when the device resource pool is powered on, scanning an identification device of an IO resource pool through multiple fourth high-speed signal ports of the device resource pool; determining a fourth high-speed signal port of the identification device scanned among the multiple fourth high-speed signal ports as a second high-speed signal port, and determining a second port identifier of the identification device scanned through the second high-speed signal port; and determining a second mapping relationship based on the second high-speed signal port and the second port identifier.
[0021] In an exemplary embodiment, after determining the second mapping relationship between the second high-speed signal port and the second port identifier of the device resource pool, the method also includes: re-determining the fourth mapping relationship between the second high-speed signal port and the second port identifier at the current moment according to a preset frequency; comparing whether the fourth mapping relationship is consistent with the second mapping relationship; if the fourth mapping relationship is inconsistent with the second mapping relationship, sending an update request to the first BMC to instruct the first BMC to update the third mapping relationship according to the fourth mapping relationship, wherein the update request carries the fourth mapping relationship.
[0022] In an exemplary embodiment, scanning the identification device of the IO resource pool through multiple fourth high-speed signal ports of the device resource pool includes: scanning multiple communication channels in sequence through a topology identification service to obtain multiple scanning results, wherein the multiple communication channels correspond one-to-one to the multiple fourth high-speed signal ports; when the scanning result is a first scanning result, determining that the communication channel corresponding to the first scanning result is in a connected state, wherein the first scanning result is used to indicate that the identification device is scanned; when the scanning result is a second scanning result, determining that the communication channel corresponding to the second scanning result is in a disconnected state, wherein the second scanning result is used to indicate that the identification device is not scanned.
[0023] In an exemplary embodiment, verifying whether the IO resource pool and the device resource pool belong to the same system based on the second IP address includes: verifying whether the IO resource pool and the device resource pool belong to the same converged architecture cabinet based on the second IP address, wherein the converged architecture cabinet includes an IO resource pool and multiple device resource pools that are independent of each other; if it is verified based on the second IP address that the IO resource pool and the device resource pool belong to the same converged architecture cabinet, determining that the IO resource pool and the device resource pool belong to the same system.
[0024] According to a third aspect of an embodiment of the present application, a port identification system is provided, including: a first BMC, configured to configure a first mapping relationship between multiple first port identifiers and multiple first high-speed signal ports of an IO resource pool, wherein the first port identifier is used to identify an identification device of the IO resource pool, and the multiple identification devices correspond one-to-one to the multiple first high-speed signal ports; a second BMC, configured to determine a second mapping relationship between a second high-speed signal port of a device resource pool and a second port identifier, and send the second mapping relationship to the first BMC, wherein the second port identifier is used to identify an identification device of the IO resource pool, and the multiple first port identifiers include the second port identifier; the first BMC is further configured to determine a third mapping relationship based on the first mapping relationship and the second mapping relationship, wherein the third mapping relationship is used to indicate a one-to-one correspondence between a third high-speed signal port corresponding to a communication channel in a connected state and the second high-speed signal port, the communication channel in a connected state is used for communication between the IO resource pool and the device resource pool, and the multiple first high-speed signal ports include the third high-speed signal port.
[0025] According to a fourth aspect of the embodiments of the present application, a computer non-volatile readable storage medium is further provided, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.
[0026] According to a fifth aspect of an embodiment of the present application, an electronic device is also provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.
[0027] According to a sixth aspect of the embodiments of the present application, a computer program product is also provided, including a computer program, which implements the steps of the method in each embodiment of the present application when executed by a processor.
[0028] According to the present application, the first BMC first configures a first mapping relationship between multiple first high-speed signal ports of the IO resource pool and multiple first port identifiers of multiple identification devices, and then receives a second mapping relationship sent by the second BMC of the device resource pool, the second mapping relationship being used to indicate the correspondence between the second high-speed signal port of the device resource pool and the second port identifier; finally, a third mapping relationship is determined based on the first mapping relationship and the second mapping relationship, the third mapping relationship being used to indicate the correspondence between the third high-speed signal port corresponding to the communication channel in a connected state and the second high-speed, the communication channel in a connected state is used for communication between the IO resource pool and the device resource pool; adopting the above scheme, it is only necessary to configure the identification device for the high-speed signal port on the IO Box (IO resource pool), first determine the correspondence between the high-speed signal port with the communication channel established and the port identifier of the identification device (i.e., the second mapping relationship) through the device Box (device resource pool), and then, based on the saved correspondence between the high-speed signal port of the IO Box and the port identifier of the identification device (the first mapping relationship), the connection topology relationship of the high-speed signal port between the IO Box and the device Box (i.e., the above third mapping relationship) is quickly determined based on the first mapping relationship and the second mapping relationship, which not only saves hardware costs but also simplifies processing logic; thereby solving the problem of determining the IO in the related art. The solution for the connection topology relationship of the high-speed signal ports between the IO Box and the device Box (i.e., the third mapping relationship) requires configuring an identification device for each high-speed signal port on the IO Box and the device Box, which is too costly and has complex implementation logic. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] FIG1 is a hardware structure block diagram of a central processing unit of a port identification method according to an embodiment of the present application;
[0030] FIG2 is a system structure diagram of a fusion architecture according to the present application;
[0031] FIG3 is a diagram of a hardware circuit design for high-speed signal port topology identification according to an embodiment of the present application;
[0032] FIG4 is a flow chart (I) of a method for identifying a port according to an embodiment of the present application;
[0033] FIG5 is a flow chart (II) of a method for identifying a port according to an embodiment of the present application;
[0034] FIG6 is a schematic flow chart of a method for identifying a high-speed signal port topology according to an embodiment of the present application;
[0035] FIG7 is a schematic diagram showing the connection of high-speed signal ports of a converged architecture system according to an embodiment of the present application;
[0036] FIG8 is a diagram (I) of a hardware circuit design for high-speed signal port topology identification in a converged architecture system according to an embodiment of the present application;
[0037] FIG9 is a diagram (II) of a hardware circuit design for high-speed signal port topology identification in a converged architecture system according to an embodiment of the present application;
[0038] FIG10 is a structural block diagram of a port identification system according to an embodiment of the present application. DETAILED DESCRIPTION
[0039] The embodiments of the present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0040] It should be noted that the terms "first", "second", etc. in the description and claims of this application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.
[0041] The method embodiments provided in the embodiments of the present application can be executed in a central processing unit or a similar computing device. Taking operation on a central processing unit as an example, FIG1 is a hardware structure block diagram of a central processing unit according to a port identification method of an embodiment of the present application. As shown in FIG1 , the central processing unit may include one or more (only one is shown in FIG1 ) processors 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 for storing data, wherein the central processing unit may also include a transmission device 106 and an input / output device 108 for communication functions. It will be understood by those skilled in the art that the structure shown in FIG1 is only for illustration and does not limit the structure of the central processing unit. For example, the central processing unit may also include more or fewer components than those shown in FIG1 , or have a configuration different from that shown in FIG1 .
[0042] The memory 104 can be configured to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the port identification method in the embodiment of the present application. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, implementing the above-mentioned method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may include a memory remotely located relative to the processor 102, and these remote memories may be connected to the central processing unit via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0043] The transmission device 106 is configured to receive or transmit data via a network. Optional examples of the aforementioned network may include a wireless network provided by the communication provider of the central processing unit. In one embodiment, the transmission device 106 includes a network interface controller (NIC), which can be connected to other network devices via a base station to enable communication with the Internet. In another embodiment, the transmission device 106 can be a radio frequency (RF) module, which is configured to communicate with the Internet wirelessly.
[0044] In this embodiment, a method for identifying a port is provided. FIG4 is a flow chart (I) of a method for identifying a port according to an embodiment of the present application. As shown in FIG4 , the process includes the following steps:
[0045] Step S402: configuring a first mapping relationship between a plurality of first port identifiers and a plurality of first high-speed signal ports of an IO (Input / Output) resource pool, wherein the first port identifier is used to identify an identification device of the IO resource pool, and the plurality of identification devices correspond one-to-one to the plurality of first high-speed signal ports;
[0046] Step S404: receiving a second mapping relationship sent by a second BMC (Baseboard Management Controller) of the device resource pool, wherein the second mapping relationship is used to indicate a correspondence between a second high-speed signal port and a second port identifier, the second high-speed signal port being a high-speed signal port of the device resource pool, and the plurality of first port identifiers including the second port identifier;
[0047] Step S406: Determine a third mapping relationship based on the first mapping relationship and the second mapping relationship, wherein the third mapping relationship is used to indicate a one-to-one correspondence between the third high-speed signal port and the second high-speed signal port corresponding to the communication channel in a connected state, the communication channel in a connected state is used for communication between the IO resource pool and the device resource pool, and the multiple first high-speed signal ports include the third high-speed signal port.
[0048] Through the above steps, the first BMC first configures a first mapping relationship between multiple first high-speed signal ports of the IO resource pool and multiple first port identifiers of multiple identification devices, and then receives a second mapping relationship sent by the second BMC of the device resource pool, the second mapping relationship being used to indicate the correspondence between the second high-speed signal port of the device resource pool and the second port identifier; finally, a third mapping relationship is determined based on the first mapping relationship and the second mapping relationship, the third mapping relationship being used to indicate the correspondence between the third high-speed signal port corresponding to the communication channel in a connected state and the second high-speed, and the communication channel in a connected state is used for communication between the IO resource pool and the device resource pool; using the above solution, it is only necessary to configure the identification device for the high-speed signal port on the IO Box (IO resource pool), first determine the correspondence between the high-speed signal port with the established communication channel and the port identifier of the identification device (i.e., the second mapping relationship), and then, based on the saved correspondence between the high-speed signal port of the IO Box and the port identifier of the identification device (i.e., the first mapping relationship), quickly determine the connection topology relationship between the high-speed signal ports between the IO Box and the device Box (i.e., the third mapping relationship) based on the first mapping relationship and the second mapping relationship, which not only saves hardware costs but also simplifies processing logic; thereby solving the problem of determining the IO in the related art. The solution for the connection topology relationship of the high-speed signal ports between the IO Box and the device Box (i.e., the third mapping relationship) requires configuring an identification device for each high-speed signal port on the IO Box and the device Box, which is too costly and has complex implementation logic.
[0049] The execution entity of the above steps may be the first BMC, etc., but is not limited thereto.
[0050] The execution order of step S402 and step S404 can be interchanged, that is, step S404 can be executed first, and then step S402.
[0051] In an exemplary embodiment, before executing the above-mentioned step S404: receiving the second mapping relationship sent by the second BMC of the device resource pool, the method further includes: obtaining first IP (Internet Protocol) addresses of multiple device resource pools in the converged architecture cabinet, wherein the multiple device resource pools and the IO resource pool belong to the same system, and the converged architecture cabinet includes: multiple device resource pools, an IO resource pool, and the first IP address is used for the first BMC of the IO resource pool to perform network communication with the second BMC; when it is determined that multiple device resource pools are powered on, the second IP address of the IO resource pool is sent to the multiple device resource pools according to the first IP address, wherein the second IP address is used for the second BMC to perform network communication with the first BMC.
[0052] After the IO Box (i.e., the above-mentioned IO resource pool) and the device Box (i.e., the above-mentioned device resource pool) are powered on, the node management service in the IO Box BMC (i.e., the above-mentioned first BMC) sends its IP address information (i.e., the above-mentioned second IP address) to all device Boxes in sequence through IPMI (Intelligent Platform Management Interface) or Redfish request, in preparation for subsequent network interaction.
[0053] Through the above solution, the IO resource pool and the device resource pool exchange each other's IP addresses in advance, so that in the subsequent process of determining the topology relationship (that is, the third mapping relationship mentioned above), the IO Box BMC and the device Box BMC can exchange information through the network channel.
[0054] It should be noted that the device resource pool and IO resource pool described above belong to the same system, which can be understood as a converged architecture system or converged architecture cabinet. One of the design features of converged architecture is "resource decoupling," which decouples the entire system into different independent pooled modules. Within the converged architecture cabinet, these independent pooled modules exist as separate boxes (resource pools). As shown in Figure 2, a complete converged architecture system includes an IO box (IO resource pool) and multiple device boxes. The device boxes include a host box (computing resource pool), a GPU box, an SSD box (SSD storage resource pool), and a memory box (memory resource pool). This facilitates flexible reconfiguration and rapid upgrades of key devices such as the CPU (central processing unit), memory, GPU (graphics processing unit), and SSD (solid state drive box).
[0055] Optionally, receiving the second mapping relationship sent by the second BMC of the device resource pool includes one of the following: sending acquisition requests to multiple second BMCs according to the first IP addresses of multiple device resource pools, so as to obtain multiple second mapping relationships through the acquisition requests, wherein the first IP address is used for the first BMC and the second BMC of the IO resource pool to perform network communication; receiving multiple second mapping relationships sent by multiple second BMCs according to a preset frequency.
[0056] Optionally, the second mapping relationship can be actively obtained by the IO BMC (i.e., the above-mentioned first BMC) by actively initiating an acquisition request, or can be actively reported by the device BMC (i.e., the above-mentioned second BMC); for example, the IO BMC can send acquisition requests to each device resource pool according to the first IP address thereof, and the device BMC sends the second mapping relationship to the IO BMC in response to the acquisition request; or the device resource pool can be regularly counted and reported at a fixed frequency (i.e., the above-mentioned preset frequency) after being powered on.
[0057] Optionally, the above-mentioned step S406: determining the third mapping relationship based on the first mapping relationship and the second mapping relationship can be implemented through the following scheme, including: determining multiple second port identifiers and multiple second high-speed signal ports indicated by multiple second mapping relationships; matching multiple second port identifiers among multiple first port identifiers, and matching multiple third high-speed signal ports corresponding to the multiple second port identifiers; establishing a third mapping relationship based on the multiple second high-speed signal ports and the multiple third high-speed signal ports.
[0058] First, multiple second port identifiers and multiple second high-speed signal ports indicated by multiple second mapping relationships sent from multiple device resource pools are determined; then, these multiple second port identifiers are matched with the multiple first port identifiers of the first mapping relationship, and matched with the corresponding third high-speed signal ports in the first mapping relationship; and the third mapping relationship is established based on the multiple second high-speed signal ports and the multiple third high-speed signal ports with the determined corresponding relationships.
[0059] With the above solution, the IO BMC obtains the second mapping relationship on each device Box, and after summarizing and processing, it can obtain the port connection topology of the entire system.
[0060] Based on the above steps, after determining the third mapping relationship according to the first mapping relationship and the second mapping relationship, the method further includes: upon receiving an update request sent by the second BMC, parsing a fourth mapping relationship from the update request, wherein the fourth mapping relationship is used to indicate the correspondence between the second high-speed signal port and the second port identifier; and in response to the update request, updating the third mapping relationship according to the fourth mapping relationship.
[0061] If an update request is received from the second BMC of a certain device resource pool, the first BMC parses the update request to obtain the fourth mapping relationship carried therein, and then automatically updates the third mapping relationship according to the fourth mapping relationship.
[0062] With the above solution, when it is determined that the topological connection relationship between high-speed signal ports has changed, the device resource pool will actively report it and assist the IO resource pool to automatically complete the update of the third mapping relationship; thereby ensuring the timeliness and effectiveness of the third mapping relationship.
[0063] Based on the above steps, after determining the third mapping relationship according to the first mapping relationship and the second mapping relationship, the method also includes: sending a control instruction to the IO resource pool to instruct the IO resource pool to determine the target communication channel corresponding to the control instruction according to the third mapping relationship, and sending the control instruction to the target device resource pool corresponding to the control instruction through the target communication channel, wherein the control instruction is used to control the target device resource pool.
[0064] After the third mapping relationship is established, when the management software in the IO Box (such as the IO BMC) manages the resources of the entire system (including one IO Box and multiple device boxes), the third mapping relationship can be used to accurately and quickly determine the communication channel for transmitting data instructions (i.e., the above-mentioned control instructions) to ensure that the data instructions are accurately sent to the specific port of the target device.
[0065] Optionally, the present application provides another method for identifying a port. FIG5 is a flow chart (II) of a method for identifying a port according to an embodiment of the present application. As shown in FIG5 , the process includes the following steps:
[0066] Step S502: determining a second mapping relationship between a second high-speed signal port of the device resource pool and a second port identifier, wherein the second port identifier is used to identify an identification device of the IO resource pool;
[0067] Step S504: Send the second mapping relationship to the first BMC of the IO resource pool to instruct the first BMC to determine a third mapping relationship based on the pre-configured first mapping relationship and the second mapping relationship, wherein the first mapping relationship is used to indicate a one-to-one correspondence between multiple first port identifiers of multiple identification devices and multiple first high-speed signal ports of the IO resource pool, and the multiple first port identifiers include the second port identifier; the third mapping relationship is used to indicate a one-to-one correspondence between the third high-speed signal port corresponding to the communication channel in a connected state and the second high-speed signal port, and the communication channel in a connected state is used for communication between the IO resource pool and the device resource pool, and the multiple first high-speed signal ports include the third high-speed signal port.
[0068] Through the above steps, the second BMC first determines a second mapping relationship between the second high-speed signal port of the device resource pool and the second port identifier, where the second port identifier is used to identify the identification device of the IO resource pool; the second mapping relationship is sent to the first BMC of the IO resource pool, instructing the first BMC to determine a third mapping relationship based on the pre-configured first mapping relationship and the second mapping relationship; wherein the first mapping relationship is a one-to-one correspondence between multiple first port identifiers of multiple identification devices and multiple first high-speed signal ports of the IO resource pool, and the third mapping relationship is used to indicate a one-to-one correspondence between the third high-speed signal port corresponding to the communication channel in a connected state and the second high-speed signal port, where the communication channel in a connected state is used for communication between the IO resource pool and the device resource pool; using the above solution, it is only necessary to configure the identification device for the high-speed signal port on the IO Box (IO resource pool), first determine the correspondence between the high-speed signal port with which the communication channel is established and the port identifier of the identification device (i.e., the second mapping relationship), and then quickly determine the IO Box based on the first mapping relationship and the second mapping relationship based on the saved correspondence between the high-speed signal port of the IO Box and the port identifier of the identification device (the first mapping relationship). The connection topology relationship between the high-speed signal ports of the IO Box and the device Box (i.e., the third mapping relationship mentioned above) not only saves hardware costs but also simplifies processing logic. It also solves the problem in related technologies that the solution for determining the connection topology relationship between the high-speed signal ports of the IO Box and the device Box (i.e., the third mapping relationship) requires configuring an identification device for each high-speed signal port on the IO Box and the device Box, which is too costly and has complex implementation logic.
[0069] The execution entity of the above steps may be the second BMC, etc., but is not limited thereto.
[0070] Optionally, before sending the second mapping relationship to the first BMC of the IO resource pool, the method further includes: upon receiving the second IP address sent by the first BMC, verifying whether the IO resource pool and the device resource pool belong to the same system based on the second IP address, wherein the second IP address is used for network communication between the second BMC and the first BMC; and when it is determined that the IO resource pool and the device resource pool belong to the same system, sending the second mapping relationship to the first BMC based on the second IP address.
[0071] It should be noted that the same system to which the above-mentioned device resource pool and IO resource pool belong can be understood as a converged architecture system or a converged architecture cabinet.
[0072] After the device box is powered on, if it receives the second IP address sent by the first BMC, it will first verify based on the second IP address whether the IO resource pool that sends the second IP address and the device resource pool belong to the same converged architecture cabinet to ensure the information transmission security of the converged architecture cabinet; if the verification passes, the second mapping relationship will be sent to the first BMC through the network channel based on the second IP address.
[0073] Through the above solution, the IO resource pool and the device resource pool exchange each other's IP addresses in advance, so that in the subsequent process of determining the topology relationship (that is, the third mapping relationship mentioned above), the IO Box BMC and the device Box BMC can exchange information through the network channel.
[0074] Optionally, sending the second mapping relationship to the first BMC of the IO resource pool includes one of the following: sending the second mapping relationship to the first BMC according to the acquisition request when receiving the acquisition request sent by the first BMC; sending the second mapping relationship to the first BMC according to the second IP address of the IO resource pool at a preset frequency, wherein the second IP address is used for network communication between the second BMC and the first BMC.
[0075] Optionally, the second mapping relationship can be actively obtained by the IO BMC (i.e., the above-mentioned first BMC) by actively initiating an acquisition request, or can be actively reported by the device BMC (i.e., the above-mentioned second BMC); for example, the IO BMC can send acquisition requests to each device resource pool according to the first IP address thereof, and the device BMC sends the second mapping relationship to the IO BMC in response to the acquisition request; or the device resource pool can be regularly counted and reported at a fixed frequency (i.e., the above-mentioned preset frequency) after being powered on.
[0076] Optionally, the above-mentioned step S502: determining the second mapping relationship between the second high-speed signal port of the device resource pool and the second port identifier can be implemented through the following scheme, including: when the device resource pool is powered on, scanning the identification device of the IO resource pool through multiple fourth high-speed signal ports of the device resource pool; determining the fourth high-speed signal port of the identification device scanned among the multiple fourth high-speed signal ports as the second high-speed signal port, and determining the second port identifier of the identification device scanned through the second high-speed signal port; and determining the second mapping relationship based on the second high-speed signal port and the second port identifier.
[0077] After the device resource pool is powered on, the second BMC attempts to scan the identification device of the IO resource pool through multiple fourth high-speed signal ports of the device resource pool; if it is scanned, it is determined to be the second high-speed signal port, and the second port identifier scanned by the second high-speed signal port is determined; then, a second mapping relationship is determined based on the second high-speed signal port and the second port identifier.
[0078] With the above solution, each device BMC proactively collects statistics on its own topological connection relationship and sends it to the IO BMC for aggregation, thereby helping the IO BMC to quickly complete statistics on the third mapping relationship.
[0079] After determining the second mapping relationship between the second high-speed signal port and the second port identifier of the device resource pool based on the above steps, the method further includes: re-determining the fourth mapping relationship between the second high-speed signal port and the second port identifier at the current moment according to a preset frequency; comparing whether the fourth mapping relationship is consistent with the second mapping relationship; and if the fourth mapping relationship is inconsistent with the second mapping relationship, sending an update request to the first BMC to instruct the first BMC to update the third mapping relationship according to the fourth mapping relationship, wherein the update request carries the fourth mapping relationship.
[0080] The device BMC will perform a scan regularly at a preset frequency to determine the fourth mapping relationship between the high-speed signal ports of the device resource pool and the IO resource pool at the current moment; then compare it with the second mapping relationship sent to the IO BMC. If it is determined that there is inconsistency, it is determined that the topology connection relationship has been updated, and an update request is sent to the IO BMC to instruct the IO BMC to update.
[0081] With the above solution, when it is determined that the topological connection relationship between high-speed signal ports has changed, the device resource pool will actively report it and assist the IO resource pool to automatically complete the update of the third mapping relationship; thereby ensuring the timeliness and effectiveness of the third mapping relationship.
[0082] Optionally, the identification device of the IO resource pool is scanned through multiple fourth high-speed signal ports of the device resource pool, including: scanning multiple communication channels in sequence through the topology identification service to obtain multiple scanning results, wherein the multiple communication channels correspond one-to-one to the multiple fourth high-speed signal ports; when the scanning result is a first scanning result, determining that the communication channel corresponding to the first scanning result is in a connected state, wherein the first scanning result is used to indicate that the identification device is scanned; when the scanning result is a second scanning result, determining that the communication channel corresponding to the second scanning result is in a disconnected state, wherein the second scanning result is used to indicate that the identification device is not scanned.
[0083] The device BMC scans multiple communication channels corresponding to multiple fourth high-speed signal ports in sequence through the topology identification service to obtain multiple scanning results. If the scanning result indicates that an identified device is scanned, it is determined that the corresponding communication channel is in a connected state; if the scanning result indicates that no identified device is scanned, it is determined that the corresponding communication channel is in a disconnected state, that is, the corresponding fourth high-speed signal port has not established a connection with the high-speed signal port of the IO resource pool.
[0084] In a converged architecture, all I / O resources are centralized in a single IO Box, with device boxes mounted underneath. The IO Box and device boxes are equipped with multiple high-speed signal ports. Connectors connect the high-speed signal ports on the device boxes to the IO Box for high-speed signal transmission. Because an IO Box can host multiple device boxes of the same or different types, and device boxes of the same type share identical physical structures, accurately identifying the connection topology of high-speed signal ports across the entire system is a significant challenge.
[0085] In the related art, to determine the connection topology of high-speed signal ports within the entire system, an identification device is required on each high-speed signal port (i.e., CDFP port) on the IO Box and device box to store and configure the CDFP port identifier. The hardware circuit design is shown in Figure 3. Each CDFP port identifier on the IO Box (the ID (identity document) number of the PCA9554 in Figure 3) must include the switch number and CDFP port number, as shown in Table 1. Each CDFP port identifier on the device box must include the box number, box type, and CDFP port number, as shown in Table 2. The switch number is used to distinguish PCIe (Peripheral Component Interconnect Express) switch devices; the box type is used to distinguish between the five types of boxes; the box number is used to distinguish between multiple device boxes of the same type; and the CDFP port number is used to distinguish between different CDFP ports on a device box.
[0086] Table 1
[0087] Table 2
[0088] The CDFP port identifier is configured by setting eight bits in the identification device PCA9554. The bits corresponding to the box type and CDFP port number are fixed and require hardware pre-set. The bits corresponding to the box number are dynamically set by the device box's BMC. The CDFP port on the device box is connected to the IO box via a connector. The topology identification logic is shown in Figure 6. After each box is powered on, the IO box BMC, acting as the host, begins CDFP port topology identification. It sequentially scans the I2C channels corresponding to all CDFP ports on the IO box to see if it can identify the identification device PCA9554 on the device box side. If it does, it indicates that the CDFP port on the IO box is connected to a CDFP port on a device box via a connector. The CDFP port identifier stored in the identification device PCA9554 on the device box side is then read. Using the box type and CDFP port identifier bits, it determines which port on which box is connected. After scanning all I2C channels, the type of device boxes connected to the IO box and the number of each type of box are known. The device box BMC then acts as a slave, receiving instructions to configure the box number identifier. Upon identifying a group of device boxes of a specified type, each is assigned a unique box number and sent to each to configure the CDFP port identifier. Once configuration is complete, the IO box BMC sequentially scans all I2C channels containing CDFP ports, reading the CDFP port identifiers from the PCA9554 identification device on both the IO box and the device box for each channel. This completes the scan and obtains the connection topology of all CDFP ports in the entire system.
[0089] Although the above solution can obtain the connection topology of all CDFP ports in the entire system, it requires configuring an identification device for each high-speed signal port on the IO Box and the device box, and the slave addresses of the identification devices on the same communication channel must be different, which makes the hardware circuit design complicated and the hardware cost too high.
[0090] To address the aforementioned issues, the present application provides a method for identifying the topology of high-speed signal ports in a resource pool under a converged architecture. The method includes the following steps: Each high-speed signal port on an IO Box must be configured with an identification device as a port identifier. The identifier must include the SW number and CDFP port number information, and the identifier must be unique. High-speed signal ports on the device box no longer require an identification device as port identifiers, because each high-speed signal port on a device box is located on a different communication channel, and each high-speed signal port can be distinguished by the communication channel. Only software numbering is required, and the number is mapped to the communication channel where each high-speed signal port is located. After the IO Box and device box are powered on, the management module in the device box sequentially scans the communication channel where each high-speed signal port on the device box is located to see if the identification device on the IO Box side can be identified. If it can be identified, it means that the CDFP port on the device box is connected to a port on the IO Box via a connector; if it cannot be identified, it means that it is not connected. By reading the port identifier in the identification device, you can determine which high-speed signal port on the IO Box is being identified. After scanning the communication channels for all high-speed signal ports, the management module in the device box obtains a mapping between the software numbers of all high-speed signal ports on the device box and the corresponding high-speed signal port identifiers on the IO Box. The IO Box management module interacts with the management modules on each device box over the network. The IO Box management module obtains the mappings for each device box through active reporting or acquisition by the device box. After aggregation, the module obtains the port connection topology for the entire system.
[0091] The above method is described below with reference to embodiments.
[0092] Assume that a converged architecture cabinet contains one IO Box and multiple device Boxes. Each Box's management module is a Baseboard Management (BMC). The BMC firmware uses the Open BMC (Open Baseboard Management Controller) architecture. All BMCs are connected to the same network switch, forming a local area network (LAN). The IO Box's BMC serves as the master BMC, while the device Box BMCs serve as slave BMCs. The master BMC communicates with each slave BMC over the network to implement management and control functions for the entire system.
[0093] The IO Box BMC needs to implement a node management module that manages the IP addresses of all device Box BMCs in the cabinet and communicates with the BMCs of each device Box through the network.
[0094] The IO Box optionally contains four layers of switch boards, each with two PCIe switches. These expand, network, and distribute the PCIe resources of multiple CPUs within the Host Box. A PCIe switch is an IO device that expands one set of PCIe signals into multiple sets of PCIe signals, expanding CPU IO resources. Each PCIe switch provides five CDFP ports (high-speed signal ports), ultimately providing a total of 40 (8 x 5) CDFP ports. These 40 CDFP ports are software-numbered as CDFP0-0 through CDFP0-4, ..., CDFP7-0 through CDFP7-4. Each CDFP port provides a set of PCIe 5.0 x 16 high-speed IO signals. Each device box is also equipped with a corresponding CDFP port, which is connected via a connector, as shown in Figure 7.
[0095] Figure 8 shows the hardware circuit design for port topology identification on the IO Box. Each CDFP port is configured with an identification device, PCA9554, which is used to write and store the CDFP port identifier. All PCA9554 devices are configured with an address of 0100000. The PCA9554 has eight IO inputs. Based on the actual needs of the IO Box, the definitions of bits 7 through 0 are given. For each PCA9554, bits 7:6 default to 0; bits 5:3 are the SW numbers, representing the numbers of the eight PCIe switch devices; and bits 2:0 are the CDFP port numbers, representing the numbers of the five CDFP ports on a PCIe switch device. This is shown in Table 3.
[0096] Table 3
[0097] According to this definition, the mapping relationship between the software numbers and port identifiers of the first-layer switch board (with two PCIe switch devices) and 10 CDFP ports on the IO Box is shown in Table 4:
[0098] Table 4
[0099] The mapping between software numbers and port identifiers for CDFP ports on other Layer 3 switch boards is similar to that for Layer 1. This mapping is configured in the IO Box BMC configuration file in JSON format. The SW numbers and CDFP port identifiers in the port identification device on the IO Box must be pre-assigned by the hardware.
[0100] Figure 8 takes two SSD Boxes and one GPU Box as examples to show some of the hardware designs for device Box port topology identification. The CDFP port on the device Box does not need to be configured with an identification device to identify the port. Since each CDFP port is located on a different I2C channel, the CDFP port can be distinguished through the I2C channel. Taking the SSD Box as an example, according to the physical location of the CDFP port, the six CDFP ports are software numbered as: CDFP0 to CDFP5. The six CDFP ports are respectively connected to the six channels of the I2C expansion device PCA9548. In the device tree dts (Device Tree Source) configuration file, the I2C (Inter-Integrated Circuit, two-wire serial bus) channels where the six CDFP ports are located are defined as virtual bus numbers through aliases, which are 50 to 55 respectively. The corresponding relationship is shown in Table 5:
[0101] Table 5
[0102] The main logic of topology identification includes the following steps:
[0103] (1) After the IO Box and the device box are powered on, the node management service in the IO Box BMC sends the IP address information of all the device boxes in sequence through IPMI or Redfish requests, preparing for subsequent network interactions;
[0104] (2) After each device Box is powered on, the topology identification service starts running. Taking the SSD Box as an example, the topology identification service in the BMC scans the virtual I2C bus numbers 50 to 55 in sequence to see if it can scan the device PCA9554 with the address 0100000 on the IO Box. If it can be scanned, it means that this CDFP port on the SSD Box is connected to a CDFP port on the IO Box, and then reads the port identifier in PCA9554; otherwise, it is not connected. After scanning all the virtual I2C bus numbers, the mapping relationship B between the software numbers of the 6 CDFP ports on the SSD Box and the CDFP port identifiers on the IO Box side can be obtained and stored on the Dbus. It also provides an IPMI or Redfish interface for querying the mapping relationship. The Redfish interface is an open standard RESTful API (application programming interface) launched by the Distributed Management Task Force (DMTF) for managing data center hardware;
[0105] (3) The topology identification service in the IO Box BMC loads the mapping relationship A between the software number of the CDFP port of the Switch board and the port identifier configured in the JSON file, and then sends IPMI or Redfish requests to all device box BMCs in sequence to obtain the asset information and mapping relationship B of the device box. After processing all mapping relationships B and the configured mapping relationship A, the connection topology of the CDFP ports on the entire system IO Box and the CDFP ports on each device box can be obtained, so that data instructions can be accurately sent to a specific CDFP port of a specific device box;
[0106] (4) When the topology identification service in the device Box BMC identifies that the mapping relationship B has changed, it actively reports it to the IO Box BMC through IPMI or Redfish request to update the connection topology.
[0107] In the above embodiment, the IO Box BMC is not connected to the CDFP port identification device PCA9554 via the I2C channel. Therefore, the SW number and CDFP port number identifier in the port identification device must be pre-assigned by hardware. This embodiment solves this problem. The topology identification circuit design is shown in Figure 9. The IO Box BMC is connected to the identification device PCA9554 of each CDFP port via PCA9548.
[0108] The mapping relationship between the software number, port identifier, and virtual bus number of the I2C channel where the CDFP port on the IO Box is located is configured in a file in JSON format. After the IO Box is powered on, the topology identification service in the BMC loads the configuration file, scans the I2C channels where all CDFP ports are located in sequence, identifies the port identification device PCA9554, writes the port identifier configured in the configuration file, and then notifies the topology identification service in the device box BMC to start scanning. The rest of the topology identification processing logic is similar to the above embodiment.
[0109] It can be seen from the above embodiments that the above method proposed in this application can solve many deficiencies existing in the related art and has the following advantages:
[0110] (1) Only one device needs to be configured on each high-speed signal port on the IO Box to identify the port. No need to configure another device on the device box to identify the port, thus reducing the use of hardware resources.
[0111] (2) There is no need to define complex device box high-speed signal port identification, and the management module in the device box no longer needs to dynamically set the box number identification bit;
[0112] (3) In this application, there is no need to distinguish the types of device boxes. The IO Box can clearly identify the differences between each device box. The processing logic of the IO Box management module is also clearer. After obtaining the mapping relationship on all device boxes and summarizing it, the port connection topology of the entire system can be obtained. There is no need to identify the number of device boxes of the same type and assign box numbers.
[0113] (4) Due to the simple implementation logic of this solution, the connection between the device box and the IO box is no longer limited by the complexity of the scanning logic. The high-speed signal port on the device box can be connected to any port on the IO box, and the connection relationship can be fully automatically identified.
[0114] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus the necessary general hardware platform, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a non-volatile readable storage medium (such as ROM / RAM, magnetic disk, optical disk), including a number of instructions for enabling a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods of each embodiment of the present application.
[0115] This embodiment also provides a port identification system that is configured to implement the above-described embodiments and alternative implementations. Details already described will not be repeated. As used below, the term "module" may refer to a combination of software and / or hardware that implements a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, implementation using hardware, or a combination of software and hardware, is also possible and contemplated.
[0116] FIG10 is a structural block diagram of a port identification system according to an embodiment of the present application. As shown in FIG10 , the system includes:
[0117] The first BMC 1002 is configured to configure a first mapping relationship between a plurality of first port identifiers and a plurality of first high-speed signal ports of the IO resource pool, wherein the first port identifier is used to identify an identification device of the IO resource pool, and the plurality of identification devices correspond one-to-one to the plurality of first high-speed signal ports;
[0118] The second BMC 1004 is configured to determine a second mapping relationship between a second high-speed signal port of the device resource pool and a second port identifier, and send the second mapping relationship to the first BMC, wherein the second port identifier is used to identify an identification device of the IO resource pool, and the plurality of first port identifiers include the second port identifier;
[0119] The first BMC 1002 is further configured to determine a third mapping relationship based on the first mapping relationship and the second mapping relationship, wherein the third mapping relationship is used to indicate a one-to-one correspondence between a third high-speed signal port and a second high-speed signal port corresponding to a communication channel in a connected state, the communication channel in a connected state is used for communication between the IO resource pool and the device resource pool, and the multiple first high-speed signal ports include the third high-speed signal port.
[0120] Through the above system, the first BMC first configures a first mapping relationship between multiple first high-speed signal ports of the IO resource pool and multiple first port identifiers of multiple identification devices, and then receives a second BMC of the device resource pool to determine a second mapping relationship between the second high-speed signal port of the device resource pool and the second port identifier, and sends it to the first BMC, the second port identifier is used to identify the identification device of the IO resource pool, and the multiple first port identifiers include the second port identifier; the second mapping relationship sent, the second mapping relationship is used to indicate the correspondence between the second high-speed signal port of the device resource pool and the second port identifier; finally, the first BMC determines a third mapping relationship based on the first mapping relationship and the second mapping relationship, the third mapping relationship is used to indicate the third high-speed signal port corresponding to the communication channel in a connected state and the second high-speed, the communication channel in a connected state is used for communication between the IO resource pool and the device resource pool; using the above solution, it is only necessary to configure the identification device for the high-speed signal port on the IO Box (IO resource pool), first determine the correspondence between the high-speed signal port with the communication channel established and the port identifier of the identification device (i.e., the second mapping relationship) through the device Box (device resource pool), and then determine the correspondence between the high-speed signal port with the communication channel established and the port identifier of the identification device according to the saved IO The corresponding relationship between the high-speed signal port of the Box and the port identifier of the identification device (the first mapping relationship) is determined, so that the connection topology relationship of the high-speed signal ports between the IO Box and the device Box (that is, the above-mentioned third mapping relationship) can be quickly determined based on the first mapping relationship and the second mapping relationship, which not only saves hardware costs but also simplifies the processing logic; and thus solves the problem in the related art that the solution for determining the connection topology relationship (that is, the third mapping relationship) of the high-speed signal ports between the IO Box and the device Box requires configuring an identification device for each high-speed signal port on the IO Box and the device Box, which is too costly and has complex implementation logic.
[0121] Optionally, the first BMC1002 of the above-mentioned receiving module 1004 is also configured to obtain the first IP addresses of multiple device resource pools in the converged architecture cabinet, wherein the converged architecture cabinet includes: multiple device resource pools, IO resource pools, and the first IP address is used for the first BMC of the IO resource pool to communicate with the second BMC over the network; when it is determined that multiple device resource pools are powered on, the second IP address of the IO resource pool is sent to the multiple device resource pools according to the first IP address, wherein the second IP address is used for the second BMC to communicate with the first BMC over the network.
[0122] Optionally, the first BMC 1002 receiving module 1004 is further configured to perform one of the following steps: sending acquisition requests to the multiple second BMCs according to the first IP addresses of the multiple device resource pools, so as to obtain multiple second mapping relationships through the acquisition requests, wherein the first IP address is used for the first BMC and the second BMC of the IO resource pool to perform network communication; and receiving the multiple second mapping relationships sent by the multiple second BMCs according to a preset frequency.
[0123] Optionally, the above-mentioned first BMC1002 is further configured to determine multiple second port identifiers and multiple second high-speed signal ports indicated by multiple second mapping relationships; match multiple second port identifiers among the multiple first port identifiers, and match multiple third high-speed signal ports corresponding to the multiple second port identifiers; and establish a third mapping relationship based on the multiple second high-speed signal ports and the multiple third high-speed signal ports.
[0124] Optionally, the first BMC 1002 is further configured to, upon receiving an update request sent by the second BMC, parse a fourth mapping relationship from the update request, wherein the fourth mapping relationship is used to indicate a correspondence between the second high-speed signal port and the second port identifier; and update the third mapping relationship according to the fourth mapping relationship in response to the update request.
[0125] Optionally, the above-mentioned first BMC1002 is also configured to send a control instruction to the IO resource pool to instruct the IO resource pool to determine the target communication channel corresponding to the control instruction according to the third mapping relationship, and send the control instruction to the target device resource pool corresponding to the control instruction through the target communication channel, wherein the control instruction is used to control the target device resource pool.
[0126] Optionally, the above-mentioned second BMC1004 is also configured to verify whether the IO resource pool and the device resource pool belong to the same converged architecture cabinet based on the second IP address when receiving the second IP address sent by the first BMC, wherein the converged architecture cabinet includes an IO resource pool and multiple device resource pools, and the second IP address is used for network communication between the second BMC and the first BMC; when it is determined that the IO resource pool and the device resource pool belong to the same converged architecture cabinet, the second mapping relationship is sent to the first BMC based on the second IP address.
[0127] Optionally, the second BMC 1004 is further configured to perform one of the following steps: upon receiving an acquisition request sent by the first BMC, sending the second mapping relationship to the first BMC according to the acquisition request; and sending the second mapping relationship to the first BMC according to the second IP address of the IO resource pool at a preset frequency, wherein the second IP address is used for network communication between the second BMC and the first BMC.
[0128] Optionally, the above-mentioned second BMC1004 is also configured to scan the identification device of the IO resource pool through multiple fourth high-speed signal ports of the device resource pool when the device resource pool is powered on; determine the fourth high-speed signal port of the identification device scanned among the multiple fourth high-speed signal ports as the second high-speed signal port, and determine the second port identifier of the identification device scanned through the second high-speed signal port; and determine a second mapping relationship based on the second high-speed signal port and the second port identifier.
[0129] Optionally, the second BMC 1004 is further configured to re-determine a fourth mapping relationship between the second high-speed signal port and the second port identifier at a current moment according to a preset frequency; compare the fourth mapping relationship with the second mapping relationship to see whether they are consistent; and if the fourth mapping relationship is inconsistent with the second mapping relationship, send an update request to the first BMC to instruct the first BMC to update the third mapping relationship according to the fourth mapping relationship, wherein the update request carries the fourth mapping relationship.
[0130] Optionally, the above-mentioned second BMC1004 is also configured to scan multiple communication channels in sequence through a topology identification service to obtain multiple scanning results, wherein the multiple communication channels correspond one-to-one to the multiple fourth high-speed signal ports; when the scanning result is a first scanning result, it is determined that the communication channel corresponding to the first scanning result is in a connected state, wherein the first scanning result is used to indicate that an identification device is scanned; when the scanning result is a second scanning result, it is determined that the communication channel corresponding to the second scanning result is in a disconnected state, wherein the second scanning result is used to indicate that no identification device is scanned.
[0131] It should be noted that the above modules can be implemented through software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above modules are all located in the same processor; or the above modules are located in different processors in any combination.
[0132] An embodiment of the present application further provides a computer non-volatile readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.
[0133] In an exemplary embodiment, the above-mentioned computer non-volatile readable storage medium may include but is not limited to: a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk, and other non-volatile readable storage media that can store computer programs.
[0134] An embodiment of the present application further provides an electronic device, comprising a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.
[0135] In an exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.
[0136] An embodiment of the present application further provides a computer program product, including a computer non-volatile readable storage medium, wherein the computer non-volatile readable storage medium stores the computer program product, and when the computer program is executed by a processor, the steps of the method in each embodiment of the present application are implemented.
[0137] For optional examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementations, and this embodiment will not be described in detail here.
[0138] Obviously, those skilled in the art should understand that the modules or steps of the present application described above can be implemented using a general-purpose computing device, they can be concentrated on a single computing device, or distributed across a network composed of multiple computing devices, they can be implemented using program code executable by the computing device, and thus, they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be performed in a different order than herein, or they can be fabricated into separate integrated circuit modules, or multiple modules or steps can be fabricated into a single integrated circuit module for implementation. Thus, the present application is not limited to any specific combination of hardware and software.
[0139] The above are merely optional embodiments of the present application and are not intended to limit the present application. For those skilled in the art, the present application may be subject to various modifications and variations. Any modifications, equivalent substitutions, improvements, etc. made within the principles of the present application shall be included in the scope of protection of the present application.
Claims
1. A port identification method, applied to a first BMC for managing an IO resource pool, characterized in that: include: Configuring a first mapping relationship between a plurality of first port identifiers and a plurality of first high-speed signal ports of the IO resource pool, wherein the first port identifier is used to identify an identification device of the IO resource pool, and the plurality of identification devices correspond one-to-one to the plurality of first high-speed signal ports; Receiving a second mapping relationship sent by a second BMC of a device resource pool, wherein the second BMC is configured to manage the device resource pool, the second mapping relationship is used to indicate a correspondence between a second high-speed signal port and a second port identifier, the second high-speed signal port is a high-speed signal port of the device resource pool, and the multiple first port identifiers include the second port identifier; A third mapping relationship is determined based on the first mapping relationship and the second mapping relationship, wherein the third mapping relationship is used to indicate a one-to-one correspondence between a third high-speed signal port and a second high-speed signal port corresponding to a communication channel in a connected state, the communication channel in a connected state is used for communication between the IO resource pool and the device resource pool, and the multiple first high-speed signal ports include the third high-speed signal port.
2. The method according to claim 1, characterized in that Before receiving the second mapping relationship sent by the second BMC of the device resource pool, the method further includes: Obtaining first IP addresses of the plurality of device resource pools, wherein the plurality of device resource pools and the IO resource pool belong to the same system, and the first IP addresses are used for network communication between the first BMC and the second BMC of the IO resource pool; When it is determined that the plurality of device resource pools are powered on, the second IP address of the IO resource pool is sent to the plurality of device resource pools according to the first IP address, wherein the second IP address is used for network communication between the second BMC and the first BMC.
3. The method according to claim 1, characterized in that The second mapping relationship sent by the second BMC in the receiving device resource pool includes one of the following: Sending acquisition requests to the plurality of second BMCs respectively according to the first IP addresses of the plurality of device resource pools, so as to acquire the plurality of second mapping relationships through the acquisition requests, wherein the first IP address is used for network communication between the first BMC and the second BMC of the IO resource pool; A plurality of second mapping relationships sent by a plurality of second BMCs at a preset frequency is received.
4. The method according to claim 3, characterized in that Determining a third mapping relationship according to the first mapping relationship and the second mapping relationship includes: Determine a plurality of second port identifiers and a plurality of second high-speed signal ports indicated by a plurality of second mapping relationships; Matching a plurality of the second port identifiers among the plurality of the first port identifiers, and matching a plurality of the third high-speed signal ports corresponding to the plurality of the second port identifiers; The third mapping relationship is established according to a plurality of the second high-speed signal ports and a plurality of the third high-speed signal ports.
5. The method according to claim 1, wherein After determining a third mapping relationship according to the first mapping relationship and the second mapping relationship, the method further includes: When receiving the update request sent by the second BMC, parse the update request to obtain a fourth mapping relationship, wherein the fourth mapping relationship is used to indicate a correspondence between the second high-speed signal port and the second port identifier; In response to the update request, the third mapping relationship is updated according to the fourth mapping relationship.
6. The method according to claim 1, characterized in that After determining a third mapping relationship according to the first mapping relationship and the second mapping relationship, the method further includes: A control instruction is sent to the IO resource pool to instruct the IO resource pool to determine the target communication channel corresponding to the control instruction according to the third mapping relationship, and the control instruction is sent to the target device resource pool corresponding to the control instruction through the target communication channel, wherein the control instruction is used to control the target device resource pool.
7. The method according to claim 2, characterized in that The sending the second IP address of the IO resource pool to the plurality of device resource pools according to the first IP address includes: Sending the second IP address to the plurality of device resource pools in sequence through the intelligent platform management interface request according to the first IP address; or The second IP address is sent to the plurality of device resource pools in sequence through an application program interface request managed by an extensible platform according to the first IP address.
8. The method according to claim 5, characterized in that The second BMC is configured to report the update request to the first BMC when determining that a topological connection relationship between high-speed signal ports has changed.
9. The method according to claim 1, characterized in that The first BMC stores a target file, the target file being used to configure a mapping relationship between the plurality of first port identifiers and the plurality of first high-speed signal ports, wherein configuring the first mapping relationship between the plurality of first port identifiers and the plurality of first high-speed signal ports of the IO resource pool includes: configuring the first mapping relationship into the target file according to a jason format; The first BMC includes a topology identification service. After configuring a first mapping relationship between multiple first port identifiers and multiple first high-speed signal ports of the IO resource pool, the method further includes: after the IO resource pool is powered on, loading the first mapping relationship configured in the target file through the topology identification service.
10. A port identification method, applied to a second BMC for managing a device resource pool, characterized in that: include: Determine a second mapping relationship between a second high-speed signal port of the device resource pool and a second port identifier, wherein the second port identifier is used to identify an identification device of the IO resource pool; The second mapping relationship is sent to the first BMC of the IO resource pool to instruct the first BMC to determine a third mapping relationship based on the pre-configured first mapping relationship and the second mapping relationship, wherein the first BMC is configured to manage the IO resource pool, the first mapping relationship is used to indicate a one-to-one correspondence between multiple first port identifiers of multiple identification devices and multiple first high-speed signal ports of the IO resource pool, the multiple first port identifiers include the second port identifier, and the third mapping relationship is used to indicate a one-to-one correspondence between a third high-speed signal port corresponding to a communication channel in a connected state and the second high-speed signal port, the communication channel in a connected state is used for the IO resource pool to communicate with the device resource pool, and the multiple first high-speed signal ports include the third high-speed signal port.
11. The method according to claim 10, characterized in that Before sending the second mapping relationship to the first BMC of the IO resource pool, the method further includes: Upon receiving a second IP address sent by the first BMC, verifying whether the IO resource pool and the device resource pool belong to the same system according to the second IP address, wherein the second IP address is used for network communication between the second BMC and the first BMC; When it is determined that the IO resource pool and the device resource pool belong to the same system, the second mapping relationship is sent to the first BMC according to the second IP address.
12. The method according to claim 10, characterized in that Sending the second mapping relationship to the first BMC of the IO resource pool includes one of the following: When receiving the acquisition request sent by the first BMC, sending the second mapping relationship to the first BMC according to the acquisition request; The second mapping relationship is sent to the first BMC according to the second IP address of the IO resource pool at a preset frequency, wherein the second IP address is used for network communication between the second BMC and the first BMC.
13. The method according to claim 10, characterized in that Determining a second mapping relationship between the second high-speed signal port of the device resource pool and the second port identifier includes: When the device resource pool is powered on, scanning the identification devices of the IO resource pool through the plurality of fourth high-speed signal ports of the device resource pool; determining the fourth high-speed signal port of the identification device scanned among the plurality of fourth high-speed signal ports as the second high-speed signal port, and determining the second port identifier of the identification device scanned through the second high-speed signal port; The second mapping relationship is determined according to the second high-speed signal port and the second port identifier.
14. The method according to claim 10, characterized in that After determining the second mapping relationship between the second high-speed signal port and the second port identifier of the device resource pool, the method further includes: re-determining a fourth mapping relationship between the second high-speed signal port and the second port identifier at a current moment according to a preset frequency; comparing the fourth mapping relationship with the second mapping relationship to see whether they are consistent; When the fourth mapping relationship is inconsistent with the second mapping relationship, an update request is sent to the first BMC to instruct the first BMC to update the third mapping relationship according to the fourth mapping relationship, wherein the update request carries the fourth mapping relationship.
15. The method according to claim 13, characterized in that Scanning the identification device of the IO resource pool through the plurality of fourth high-speed signal ports of the device resource pool includes: Scanning a plurality of communication channels in sequence through a topology identification service to obtain a plurality of scanning results, wherein the plurality of communication channels correspond one-to-one to the plurality of fourth high-speed signal ports; If the scanning result is a first scanning result, determining that the communication channel corresponding to the first scanning result is in a connected state, wherein the first scanning result is used to indicate that the identification device is scanned; In a case where the scanning result is a second scanning result, it is determined that the communication channel corresponding to the second scanning result is in a disconnected state, wherein the second scanning result is used to indicate that the identification device is not scanned.
16. The method according to claim 11, characterized in that The verifying, according to the second IP address, whether the IO resource pool and the device resource pool belong to the same system includes: Verifying, based on the second IP address, whether the IO resource pool and the device resource pool belong to the same converged architecture cabinet, wherein the converged architecture cabinet includes an IO resource pool and multiple device resource pools that are independent of each other; When it is verified according to the second IP address that the IO resource pool and the device resource pool belong to the same converged architecture cabinet, it is determined that the IO resource pool and the device resource pool belong to the same system.
17. A port identification system, characterized in that: include: a first BMC configured to configure a first mapping relationship between a plurality of first port identifiers and a plurality of first high-speed signal ports of an IO resource pool, wherein the first port identifier is used to identify an identification device of the IO resource pool, and the plurality of identification devices correspond one-to-one to the plurality of first high-speed signal ports; a second BMC, configured to determine a second mapping relationship between a second high-speed signal port of the device resource pool and a second port identifier, and send the second mapping relationship to the first BMC, wherein the second port identifier is used to identify an identification device of the IO resource pool, and the plurality of first port identifiers include the second port identifier; The first BMC is further configured to determine a third mapping relationship based on the first mapping relationship and the second mapping relationship, wherein the third mapping relationship is used to indicate a one-to-one correspondence between a third high-speed signal port and a second high-speed signal port corresponding to a communication channel in a connected state, the communication channel in a connected state is used for communication between the IO resource pool and the device resource pool, and the multiple first high-speed signal ports include the third high-speed signal port.
18. A computer-readable non-volatile storage medium, characterized in that: The computer non-volatile readable storage medium stores a computer program, wherein when the computer program is executed by a processor, the steps of the method described in any one of claims 1 to 9 or 10 to 16 are implemented.
19. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the steps of the method described in any one of claims 1 to 9 or 10 to 16 are implemented.
20. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 9 or 10 to 16 are implemented.
Citation Information
Patent Citations
Multi-server identifier identification circuit and identification method, electronic equipment and storage medium
CN115687220A
PCIE (Peripheral Component Interface Express) resource identification method and device, equipment and storage medium
CN116069701A
Method and system for determining mapping relation, storage medium and electronic device
CN117978811A
Mechanism for pcie cable topology discovery in a rack scale architecture environment
US20170286352A1