Data acquisition methods, servers, devices, and media for image processors
By obtaining the processor type and communication interface type of the image processor, and creating corresponding data acquisition processes and transmission interfaces, the problem of the inability to uniformly monitor and manage image processors is solved. This enables unified monitoring of multiple types of image processors, reduces server development and maintenance costs, and improves user experience.
Patent Information
- Application Number
- CN202511065397.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-31
- Publication Date
- 2025-10-31
- Estimated Expiration
- 2045-07-31
AI Technical Summary
Existing technologies cannot provide unified monitoring and management of image processors, leading to increased server development and maintenance costs and a reduced user experience.
By acquiring the processor type and communication interface type of the image processor, corresponding data acquisition processes and data transmission interfaces are created, and the data structure and processes are dynamically adjusted to adapt to various types of image processors, thereby achieving unified monitoring and management.
It reduces server development and maintenance costs, improves user experience, and enables unified monitoring and management of various types of image processors.
Smart Images

Figure CN120596411B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of server technology, and more particularly to data acquisition methods, servers, devices, and media for image processors. Background Technology
[0002] With the development of artificial intelligence and high-performance computing, graphics processing units (GPUs) are being used more and more widely in servers. Currently, there are many types of GPUs, making unified monitoring and management impossible, which increases the development and maintenance costs of servers. Summary of the Invention
[0003] This application provides a data acquisition method, server, data acquisition device, electronic device, computer-readable storage medium, and computer program product for image processors, to at least solve the problem of the inability to uniformly monitor and manage image processors in related technologies.
[0004] This application provides a data acquisition method for an image processor, applied to a baseboard management controller, the method comprising:
[0005] Obtain first auxiliary information, which includes the processor category to which the first image processor belongs, and the interface category of the communication interface required to acquire data from the first image processor;
[0006] A data acquisition process is created corresponding to the interface category of the communication interface, wherein different interface categories correspond to different data acquisition processes, and the data acquisition process is used to acquire data from the first image processor;
[0007] In response to the creation of the data acquisition process, a data transfer interface corresponding to the processor category of the first image processor is created. The data transfer interface is used to cache the data acquired by the data acquisition process. Different processor categories correspond to different data transfer interfaces.
[0008] The data collected by the data acquisition process is obtained from the data transmission interface.
[0009] This application also provides a server, including:
[0010] At least one image processor;
[0011] A server motherboard includes a baseboard management controller and at least one slot. The baseboard management controller includes at least one interface connected to the slot. The slot is used to connect the at least one image processor. The baseboard management controller connects to the image processor through the interface and the slot, and acquires data from the image processor by executing the above-described data acquisition method for the image processor.
[0012] This application also provides a data acquisition device for an image processor, including:
[0013] The information acquisition module is used to acquire first auxiliary information, which includes the processor category to which the first image processor belongs, and the interface category of the communication interface required to acquire data from the first image processor.
[0014] A process creation module is used to create a data acquisition process corresponding to the interface category of the communication interface, wherein different interface categories correspond to different data acquisition processes, and the data acquisition process is used to acquire data from the first image processor;
[0015] An interface creation module is used to create a data transfer interface corresponding to the processor category of the first image processor in response to the creation of the data acquisition process. The data transfer interface is used to cache the data acquired by the data acquisition process. Different processor categories correspond to different data transfer interfaces.
[0016] The data acquisition module is used to obtain data collected by the data acquisition process from the data transmission interface.
[0017] This application also provides an electronic device, including: a memory for storing a computer program; and a processor for implementing the steps of the data acquisition method for an image processor described above when executing the computer program.
[0018] This application also provides a computer-readable storage medium storing a computer program, wherein the computer program, when executed by a processor, implements the steps of the data acquisition method for the image processor described above.
[0019] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the data acquisition method for an image processor described above.
[0020] In some embodiments of this application, the baseboard management controller, by obtaining the processor category of the first image processor and the interface category of the communication interface required to acquire data from the first image processor, can create a data acquisition process corresponding to the interface category of the communication interface, and a data transmission interface corresponding to the processor category of the first image processor. The data transmission interface is used to cache the data acquired by the data acquisition process, and different interface categories correspond to different data acquisition processes, as well as different processor categories correspond to different data transmission interfaces. Thus, the data structure definition of the data transmission interface can be dynamically adjusted according to the actual type of image processor used by the server, and the data acquisition process can be dynamically adjusted according to the actual interface category used during data acquisition. This eliminates the need to maintain different firmware versions for each type of image processor in the baseboard management controller; a single firmware can adapt to multiple types of image processors. Therefore, unified monitoring and management of multiple different types of image processors can be achieved, thus solving the problem of the inability to uniformly monitor and manage image processors in some technologies. Attached Figure Description
[0021] To more clearly illustrate the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0022] Figure 1 A schematic diagram of the server architecture provided for some embodiments of this application;
[0023] Figure 2 A flowchart illustrating a data acquisition method provided for some embodiments of this application;
[0024] Figure 3 The correspondence between communication interfaces, processor types, data acquisition processes, and data transmission interfaces provided for some embodiments of this application;
[0025] Figure 4 Interactive diagrams illustrating data acquisition and data processing provided for some embodiments of this application;
[0026] Figure 5 A schematic diagram showing the correspondence between data acquisition tasks and processor types provided for some embodiments of this application;
[0027] Figure 6 Schematic diagrams of a data acquisition device provided for some embodiments of this application;
[0028] Figure 7A schematic diagram of the modules of an electronic device provided for some embodiments of this application. Detailed Implementation
[0029] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the protection scope of this application.
[0030] It should be noted that, in the description of this application, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. The terms "first," "second," etc., in this application are used to distinguish similar objects and are not used to describe a specific order or sequence.
[0031] To enable those skilled in the art to better understand the present application, the present application will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0032] Monitoring and managing an image processor (GPU) refers to reading its attribute data and real-time operating data, and then managing the GPU based on this data. For example, an GPU typically integrates at least one register and a temperature sensor. The temperature sensor can detect the GPU's internal real-time temperature and store it in one of its registers. The Baseboard Management Controller (BMC) in a server can communicate with the GPU and read its internal real-time temperature from the registers. Based on this temperature reading, if the internal temperature is determined to be too high, the BMC can control the fans around the GPU to increase their speed to dissipate heat. Alternatively, before the GPU leaves the factory, the manufacturer can pre-program the maximum and minimum supported temperatures, as well as the GPU's serial number, into registers. The BMC can then retrieve this information from the registers and manage the GPU's operating temperature and other parameters accordingly.
[0033] Currently, there are many image processor (IPC) manufacturers, and even the same manufacturer may produce multiple different models of IPCs, resulting in a wide variety of IPC types. Different types of IPCs may support different interface categories, data fields, and field types. Data fields are the fields used to represent data in an IPC. For example, the data field `temperature` represents the IPC's internal real-time temperature, and its value is the internal real-time temperature value. Another example is the data field `maxtemperature`, which represents the highest temperature supported by the IPC. When IPCs support different interface categories, data fields, and field types, it is difficult to uniformly monitor and manage these IPCs. To facilitate understanding, the following examples illustrate this.
[0034] For example, suppose manufacturer A produces F1 and F2 model image processors, with the F1 model supporting the I2C (Inter-Integrated Circuit) interface and the F2 model supporting the Redfish interface. Manufacturer B produces F3 and F4 model image processors, with both F3 and F4 supporting the I2C interface. When configuring F1, F3, and F4 model image processors in a server, the baseboard management controller (BMD) needs to be connected to the image processor via the I2C interface. Conversely, when configuring an F2 model image processor in a server, the connection needs to be via the Redfish interface. Different firmware can be configured in the BMD for different interfaces to monitor and manage the image processors. For instance, when the BMD and image processors are connected via the I2C interface, firmware version V1 can be configured in the BMD. When running the V1 firmware, the BMD can collect data from the image processors based on the I2C protocol and monitor and manage the image processors based on this data. When the baseboard management controller (BMC) and the image processor (IPC) are connected via a Redfish interface, firmware version V2 can be configured in the BMC. When the V2 firmware is running, the BMC can collect data from the IPC based on the Redfish protocol and monitor and manage the IPC based on this data. However, monitoring and managing the IPC requires customization of the firmware in the BMC based on the interface types supported by the IPC; a uniform firmware cannot be used to uniformly monitor and manage different types of IPCs.
[0035] For example, suppose manufacturer B produces F5 and F6 model image processors, both of which support I2C interfaces. However, the F5 model image processor only has its minimum supported temperature programmed in, not its maximum supported temperature, and the F6 model only has its maximum supported temperature programmed in, not its minimum supported temperature. Therefore, when monitoring and managing the F5 and F6 model image processors, different firmware can be configured in the board management controller to support different monitoring and management logic. For instance, when monitoring and managing the F5 model image processor, firmware version V3 can be configured in the board management controller. When running firmware version V3, it can monitor whether the internal real-time temperature of the image processor is lower than the minimum supported temperature. If so, it will control the image processor to pause operation and issue an alarm. When monitoring and managing the F6 model image processor, firmware version V4 can be configured in the board management controller. When the V4 firmware is running, it can monitor whether the real-time internal temperature of the image processor is higher than the maximum temperature supported by the image processor. If so, it controls the fans around the image processor to run at maximum speed to dissipate heat from the image processor. In other words, when monitoring and managing the image processor, the firmware in the baseboard management controller needs to be customized based on the data fields supported by the image processor. It is not possible to perform unified monitoring and management of different types of image processors based on a uniform firmware.
[0036] For example, suppose manufacturer C produces F7 and F8 image processors, both of which support I2C interfaces, and both have their supported minimum and maximum temperatures pre-programmed into them. However, in the F7 model, the temperature data field is a string type, while in the F8 model, it's an integer type. Therefore, when monitoring and managing the F7 and F8 model image processors, different firmware versions can be configured in the baseboard management controller to support different data types.
[0037] For example, suppose manufacturer D produces image processors of models F9 and F10. Both F9 and F10 image processors support I2C interfaces, and both models have their supported minimum and maximum temperatures pre-programmed into them, with the same field type for both the minimum and maximum temperatures. However, in the F9 model, the field representing the maximum temperature is `Maxtemp`, while in the F10 model, it is `Maxtempperature`. Therefore, when monitoring and managing the F9 and F10 image processors, different firmware versions can be configured in the board management controller to support different field names.
[0038] Inconsistent firmware versions in the baseboard management controller significantly increase server development and maintenance costs, while also degrading the user experience. For example, server manufacturers need to develop multiple firmware versions for different types of image processors, increasing development costs. Furthermore, if a user changes the server's image processor, they also need to update the firmware in the baseboard management controller, increasing workload and further diminishing the user experience.
[0039] Therefore, this application provides a data acquisition method for image processors, which can perform unified monitoring and management of different types of image processors, thereby reducing server development and maintenance costs and improving user experience. The data acquisition method relies on a server with a specific architecture; therefore, the server will be described before introducing the method.
[0040] See also Figure 1 The diagram below illustrates the server architecture for some embodiments of this application. Figure 1The server includes a server motherboard and at least one image processor (GPU). Each GPU includes at least one register. The registers store GPU attribute data and real-time operating data. The server motherboard includes a baseboard management controller (BMS) and at least one slot. The BMS includes at least one interface connected to the slot, which is used to connect to the at least one GPU. The BMS connects to the GPUs via the interface and the slot. Specifically, the interface in the BMS can include various types of interfaces, such as I2C and Redfish interfaces. Depending on the type of GPU, the interface used to connect to the GPU in the BMS can differ. For example, if the GPU supports an I2C interface, the BMS's I2C interface is used to connect to the GPU. If the GPU supports a Redfish interface, the BMS's Redfish interface is used to connect to the GPU.
[0041] The baseboard management controller can run a data acquisition process, at least one internal process other than the data acquisition process, and a desktop bus (D-Bus). The desktop data acquisition process is used to acquire data from the image processor, while the internal process is used to perform other functions of the baseboard management controller (such as managing the image processor). The various processes can communicate with each other via the desktop bus.
[0042] The desktop bus includes at least one data transfer interface. This interface is used for data buffering. Any given process can save data to this interface, and other processes can retrieve the saved data from it. This enables inter-process communication. For example, after a data acquisition process acquires data from the image processor, it can save the acquired data to one of the data transfer interfaces. Internal process 1, after retrieving the data saved by the acquisition process from the data transfer interface, can manage the image processor based on the acquired data. For instance, if the internal real-time temperature of the image processor is too high, it can control the fan to run at a higher speed to cool the image processor.
[0043] The data acquisition method of this application can be applied to a baseboard management controller. Specifically, during the startup process of the baseboard management controller, or in response to receiving a trigger command, the baseboard management controller can execute the data acquisition method. For example, after a user replaces the image processor in a server, they can send a trigger command to the baseboard management controller through a management interface, I / O input / output devices, etc., to cause the baseboard management controller to execute the data acquisition method. As another example, during the operation of the central processing unit, a trigger command can be sent to the baseboard management controller to cause it to execute the data acquisition method.
[0044] Based on the above description, and in conjunction with the references Figure 2 This is a flowchart illustrating a data acquisition method provided in some embodiments of this application. Figure 2 In this context, the data acquisition method includes the following steps:
[0045] Step S201: Obtain first auxiliary information, which includes the processor category to which the first image processor belongs, and the interface category of the communication interface required to acquire data from the first image processor.
[0046] Specifically, the processor category refers to the type of the first image processor. The first image processor is at least one image processor currently deployed in the server. These image processors can support the same type of interface or different types of interfaces. For example, suppose three image processors P1, P2, and P3 are currently deployed in the server. Image processors P1, P2, and P3 can all support the I2C interface, or image processors P1 and P2 can support the I2C interface, while image processor P3 can support the Redfish interface.
[0047] In some embodiments, before the first image processor leaves the factory, the manufacturer can program the processor type and the interface types supported by the first image processor into the registers of the first image processor. The baseboard management controller can read the processor type and interface type of the first image processor from the registers of the first image processor.
[0048] In other embodiments, each type of server motherboard is used with a specific type of image processor. For example, a server with motherboard ID 0x17 is used with an image processor that supports an I2C interface, and a server with motherboard ID 0x48 is used with an image processor that supports a Redfish interface. Therefore, the mapping between motherboard IDs and interface types can be maintained in advance in the baseboard management controller. When the baseboard management controller is triggered to execute the data acquisition method, the baseboard management controller can obtain the processor type and interface type of the first image processor according to the following steps:
[0049] 1) Obtain the motherboard ID of the server motherboard, and then, based on the correspondence between the motherboard ID and the interface type, obtain the interface type of the communication interface required to acquire data from the first image processor.
[0050] 2) Read the processor category of the first image processor from the register of the first image processor.
[0051] Step S202: Create a data acquisition process corresponding to the interface category of the communication interface. Different interface categories correspond to different data acquisition processes. The data acquisition process is used to acquire data from the first image processor.
[0052] Specifically, each data acquisition process acquires data from the first image processor according to the interface protocol of its corresponding interface category. The data acquisition logic of different data acquisition processes can differ. For example, suppose there are three data acquisition processes: comp_ubb_service, comp_gpu_service, and comp_mbb_service. Specifically, comp_ubb_service corresponds to the Redfish interface, comp_gpu_service corresponds to the I2C interface, and comp_mbb_service corresponds to the PCIe (Peripheral Component Interconnect Express) interface. Then, comp_ubb_service can acquire data from the first image processor based on the Redfish protocol, comp_gpu_service can acquire data from the first image processor based on the I2C protocol, and comp_mbb_service can acquire data from the first image processor based on the PCIe protocol.
[0053] If multiple image processors currently deployed on the server all support the same type of interface, then only one data acquisition process corresponding to the interface type of the communication interface needs to be created. If the multiple image processors currently deployed on the server do not support the same type of interface, then multiple data acquisition processes corresponding to the interface types of the communication interfaces can be created. For example, if multiple image processors currently deployed all support the I2C interface, then only the data acquisition process `comp_gpu_service` needs to be created. Conversely, if some of the multiple image processors currently deployed support the I2C interface and others support the Redfish interface, then both data acquisition processes `comp_ubb_service` and `comp_gpu_service` can be created simultaneously.
[0054] In step S203, in response to the creation of the data acquisition process, a data transfer interface corresponding to the processor category of the first image processor is created. The data transfer interface is used to buffer the data acquired by the data acquisition process. Different processor categories have different data transfer interfaces.
[0055] Specifically, creating a data transfer interface corresponding to the processor category of the first image processor refers to finding a data structure definition corresponding to the processor category of the first image processor and creating the data transfer interface according to the found data structure definition. The data structure definition includes at least one of the following: interface fields, the number of interface fields, and the data type of each interface field value.
[0056] In simple terms, the data structure definition corresponding to the processor category of the first image processor refers to the data fields and field types supported by the first image processor. The registers of the first image processor store the values of each data field. For example, assuming the first image processor supports the data fields location, temperature, maxtemperature, and sn, the data structure definition corresponding to the processor category of the first image processor can be similar to Table 1.
[0057] Table 1 Fields and Field Types
[0058]
[0059] After creating a data transfer interface corresponding to the processor class of the first image processor, the data acquisition process can save the data acquired from the first image processor to the data transfer interface. For example, after acquiring the value of the data field `maxtemperature` from the register of the first image processor, the value can be saved to the interface field `maxtemperature` of the data transfer interface. Similarly, after acquiring the value of the data field `temperature` from the register of the first image processor, the value can be saved to the interface field `temperature` of the data transfer interface.
[0060] In the above embodiments, creating a data transfer interface according to a data structure definition corresponding to the processor category of the first image processor ensures that each data field in the first image processor has a corresponding interface field, and that the data field type matches the interface field type. After the data acquisition process reads the data field value from the register of the first image processor, it can save the data field value to one of the interface fields. In this way, other processes can obtain data from the first image processor from the data transfer interface.
[0061] Furthermore, if multiple image processors of different types are deployed on the server, data transfer interfaces corresponding to the processor type of each image processor can be created. Each data transfer interface is used to cache data collected from the image processor of its corresponding type. For example, suppose three types of image processors, P1, P2, and P3, are deployed on the server, and the data structure definitions for processor types P1, P2, and P3 are shown in Tables 2, 3, and 4, respectively.
[0062] Table 2 Data structure definitions for processor category P1
[0063]
[0064] Table 3. Data structure definitions for processor class P2
[0065]
[0066] Table 4. Data structure definitions for processor class P3
[0067]
[0068] Therefore, according to the data structure definitions in Tables 2-4, three data transfer interfaces T1, T2, and T3 can be created. Data transfer interface T1 is used to buffer data acquired from image processors of category P1, data transfer interface T2 is used to buffer data acquired from image processors of category P2, and data transfer interface T3 is used to buffer data acquired from image processors of category P3. In this way, each category of image processor has a corresponding data transfer interface, resulting in better adaptability.
[0069] Furthermore, if multiple data acquisition processes are created in the server, and each data acquisition process corresponds to multiple different types of image processors, then multiple data transfer interfaces can be created for each data acquisition process. Each data transfer interface is used to store the data acquired by the corresponding data acquisition process from the corresponding image processor.
[0070] For ease of understanding, please refer to the following: Figure 3 This document describes the correspondence between communication interfaces, processor types, data acquisition processes, and data transmission interfaces provided in some embodiments of this application. Figure 3In this example, assume that image processors of three types (P1, P2, and P3) are connected via the I2C interface of the baseboard management controller, and image processors of two types (P1 and P2) are connected via the Redfish interface of the baseboard management controller. If the I2C interface corresponds to data acquisition process Q1, and the Redfish interface corresponds to data acquisition process Q2, then according to the data structure definitions in Tables 2-4 above, data transfer interfaces T11, T12, and T13 can be created for data acquisition process Q1, and data transfer interfaces T21 and T22 can be created for data acquisition process Q2. Specifically, data transfer interface T11 is used to store data acquired by data acquisition process Q1 from image processor of type P1; data transfer interface T12 is used to store data acquired by data acquisition process Q1 from image processor of type P2; data transfer interface T13 is used to store data acquired by data acquisition process Q1 from image processor of type P3; data transfer interface T21 is used to store data acquired by data acquisition process Q2 from image processor of type P1; and data transfer interface T22 is used to store data acquired by data acquisition process Q2 from image processor of type P2.
[0071] This allows for the simultaneous connection of multiple different types of image processors through multiple different types of communication interfaces on the same server, resulting in better applicability.
[0072] Step S204: Obtain the data collected by the data acquisition process from the data transmission interface.
[0073] Specifically, the internal processes of the baseboard management controller can directly obtain data collected by the data acquisition process from the data transfer interface. External components of the baseboard management controller (such as web services) can obtain data from the data transfer interface by calling the internal processes of the baseboard management controller (such as the Redfish service).
[0074] For ease of understanding, please refer to the following: Figure 4 This is a schematic diagram illustrating the interaction of data collection and data acquisition provided in some embodiments of this application. Figure 4 In the process, data acquisition process Q1 acquires data from the image processor via the I2C interface and saves the data to the corresponding data transmission interfaces T11-T13. Similarly, data acquisition process Q2 acquires data from the image processor via the Redfish interface and saves the data to the corresponding data transmission interfaces T21-T22. The internal processes of the baseboard management controller can directly obtain data from each data transmission interface, or external components of the baseboard management controller can obtain data from each data transmission interface through the internal processes of the baseboard management controller.
[0075] In summary, in some embodiments of this application, the baseboard management controller, by obtaining the processor category of the first image processor and the interface category of the communication interface required to acquire data from the first image processor, can create a data acquisition process corresponding to the interface category of the communication interface, and a data transmission interface corresponding to the processor category of the first image processor. The data transmission interface can be used to cache data acquired by the data acquisition process, and different interface categories correspond to different data acquisition processes, as well as different processor categories correspond to different data transmission interfaces. Thus, the data structure definition of the data transmission interface can be dynamically adjusted according to the actual type of image processor used by the server, and the data acquisition process can be dynamically adjusted according to the actual interface category used during data acquisition. This eliminates the need to maintain different firmware versions for each type of image processor in the baseboard management controller; a single firmware can adapt to multiple types of image processors. Therefore, unified monitoring and management of multiple different types of image processors is possible, thereby solving the problem of inconsistent monitoring and management of image processors in some technologies.
[0076] In some embodiments, different types of image processors have different data acquisition logic. For example, when acquiring data from an image processor of type P1, the real-time internal temperature of the image processor needs to be obtained from register P11, and when acquiring data from an image processor of type P2, the real-time internal temperature of the image processor needs to be obtained from register P23. To adapt to the data acquisition logic of different types of image processors, the data acquisition process includes at least one data acquisition task. Different data acquisition tasks correspond to different processor types, and the data acquisition logic corresponding to different data acquisition tasks is different. When acquiring data from the first image processor, the data acquisition process can determine the target data acquisition task corresponding to the processor type of the first image processor and run the target data acquisition task to acquire data from the first image processor.
[0077] For ease of understanding, please refer to the following: Figure 5 This is a schematic diagram illustrating the correspondence between data acquisition tasks and processor types provided in some embodiments of this application. Figure 5Taking data acquisition process Q1 as an example, data acquisition process Q1 includes data acquisition tasks Q11 to Q13. Data acquisition task Q11 corresponds to image processors of category P1 and represents the data acquisition logic of image processors of category P1. Data acquisition task Q12 corresponds to image processors of category P2 and represents the data acquisition logic of image processors of category P2. Data acquisition task Q13 corresponds to image processors of category P3 and represents the data acquisition logic of image processors of category P3. Data acquisition task Q12 can be run when data needs to be acquired from image processors of category P1, and data acquisition task Q13 can be run when data needs to be acquired from image processors of category P2 and P3.
[0078] exist Figure 5 In the illustrated embodiment, multiple different data acquisition tasks are divided within the data acquisition process according to the type of image processor. This allows for modular management of the program code within the data acquisition process and decouples the data acquisition logic of different types of image processors, simplifying code development logic.
[0079] In some embodiments, creating a data transfer interface corresponding to the processor class of the first image processor in step S203 may include:
[0080] The data that needs to be collected from the first image processor is divided into multiple data categories;
[0081] Create a corresponding data transfer interface for each data category, and each data transfer interface is used to cache the data of the corresponding data category.
[0082] Specifically, data can be categorized according to actual needs. For example, the data from the first image processor can be divided into attribute data and real-time monitoring data. Attribute data refers to data pre-programmed into the first image processor by the manufacturer before it leaves the factory, such as the serial number and the maximum temperature supported by the first image processor. Real-time monitoring data refers to data sensed in real time by devices such as temperature sensors within the first image processor, such as the real-time internal temperature of the first image processor.
[0083] Data transfer interfaces can be created according to the data fields and field types corresponding to each data category. For example, assuming that the attribute data includes the serial number and the highest temperature supported by the first image processor, and the real-time monitoring data includes the internal real-time temperature of the first image processor, then a data transfer interface corresponding to the attribute data can be created according to the data structure definition shown in Table 5, and a data transfer interface corresponding to the real-time monitoring data can be created according to the data structure definition shown in Table 6.
[0084] Table 5. Data structure definitions corresponding to attribute data
[0085]
[0086] Table 6. Data structure definitions corresponding to real-time monitoring data
[0087]
[0088] In contrast to caching all data from the first image processor onto a single data transfer interface, in the above embodiment, the data from the first image processor is categorized and a separate data transfer interface is created for each data category. This reduces the complexity of a single data transfer interface, thereby improving data acquisition efficiency when the internal process of the substrate management controller retrieves data from the data transfer interface.
[0089] When multiple data transfer interfaces exist, an external component of the baseboard management controller (BMC) can send a data acquisition request to the BMC when it needs to acquire data from the data transfer interface. The data acquisition request indicates the target data that the external component needs to acquire. The BMC can receive the data acquisition request from the external component, locate the target data transfer interface for transmitting the target data, acquire the target data from the target data transfer interface, and return the target data to the external component. Specifically, the BMC can determine the target data type based on which the target data belongs and use the data transfer interface corresponding to that type as the target data transfer interface. Furthermore, when an external component sends a data acquisition request to the BMC, it is essentially sending a request to the BMC's internal process (such as the Redfish process). The internal process locates the target data transfer interface for transmitting the target data, acquires the target data from the target data transfer interface, and returns the target data to the external component. This ensures that the external component can acquire the data from the data transfer interface.
[0090] The following are three exemplary methods for classifying data categories.
[0091] 1) In some embodiments, the data to be acquired from the first image processor can be divided into a first data category and a second data category according to its intended use. The first data category contains data required by external components of the baseboard management controller, while the second data category contains data required by internal processes. In these embodiments, since the data required by external components is aggregated in a specific data transmission interface, upon receiving a data acquisition request from an external component, the system can directly search for the target data required by the external component in that specific data transmission interface, eliminating the need to perform a separate search for the target data transmission interface. This simplifies the data acquisition process.
[0092] 2) In some embodiments, the data to be collected from the first image processor can be divided into a third data category and a fourth data category according to the commonalities of data among different image processors. The data in the third data category is data that is available to both the first image processor and other image processors other than the first image processor, and the data in the fourth data category is data that is available to the first image processor but not to other image processors.
[0093] For example, suppose the first image processor and other image processors all have data such as serial number, location, and internal real-time temperature. In all image processors, the serial number is represented by a string field `sn`, the location by a Uint8_t field, and the internal real-time temperature by a Uint8_t field. Then, the serial number, location, and internal real-time temperature can be treated as a third data category. Based on the data fields and their types within this third data category, corresponding data transfer interfaces can be created. Since this third data category is shared by all image processors, the corresponding data transfer interfaces do not need to be deleted when replacing the server's image processors. After collecting data from the third data category from the replaced image processor, the data can continue to be stored in these undeleted data transfer interfaces. Thus, the creation of data transfer interfaces can be reduced after replacing the server's image processors.
[0094] For example, suppose the data of the first image processor includes the lowest temperature it supports, and this lowest temperature is represented by a `mintemperature` field of type `Uint8_t` in the first image processor. If the data of other image processors does not include the lowest temperature, then the lowest temperature supported by the first image processor is the data of the fourth data category. After setting up the first image processor on the server, a corresponding data transfer interface can be created based on the `mintemperature` data field and its corresponding field type. Since the fourth data category is unique to the first image processor, when changing the image processor on the server, the data transfer interface corresponding to the fourth data category can be deleted simultaneously.
[0095] In the above embodiments, data categories are divided according to the commonalities of data among different image processors, which can avoid repeatedly creating the same data transmission interface when the image processor is replaced.
[0096] 3) In some embodiments, data can be classified according to the following process:
[0097] 31) Based on the commonalities of data among different image processors, the data to be collected from the first image processor is divided into a third data category and a fourth data category. The data in the third data category is data that is available to both the first image processor and other image processors. The data in the fourth data category is data that is available to the first image processor but not to other image processors. The specific principles are described in Example 2) above and will not be repeated here.
[0098] 32) After obtaining the data in the third data category, the data in the third data category is further divided into the fifth data category and the sixth data category according to the data's purpose. The data in the fifth data category is the data required by the external components of the baseboard management controller, and the data in the sixth data category is the data required by the internal processes. The specific principle can be found in the description of Example 1) above, and will not be repeated here.
[0099] In Example 3), the data is first divided into a third data category and a fourth data category based on the commonalities among different image processors. Then, the third data category is further subdivided according to the purpose of the data. This allows for more refined data management, which avoids the repeated creation of the same data transfer interface and simplifies the data acquisition process.
[0100] In some embodiments, the external component is used to display the target data. For example, the external component may be a web service, etc. Before returning the target data to the external component, the method of this application may further include:
[0101] If the data format of the target data does not match the data display format of the external component, the data format of the target data will be converted according to the data display format of the external component, and the converted target data will be returned to the external component.
[0102] For example, suppose the data transmission interface uses a Uint8_t type field `temperature` to represent the real-time internal temperature of the first image processor. If the external component needs to display the real-time internal temperature of the first image processor in string format, the data type of the real-time internal temperature can be converted from Uint8_t to string before returning it to the external component. This way, the external component can directly display the data after receiving it, avoiding data display errors caused by incorrect data display format.
[0103] Furthermore, in some embodiments, to address the issue of data type inconsistency between the data transmission interface and external components, step S203 above, which involves creating corresponding data transmission interfaces for each data category, may include:
[0104] Determine the data structure definition based on the data format required by the external components;
[0105] Based on the data structure definition corresponding to the external components, create corresponding data transmission interfaces for the data required by the external components.
[0106] Specifically, the data required by the external components refers to the data in the first and fifth data categories mentioned above. When creating the data transfer interfaces corresponding to the first and fifth data categories, they can be created according to the data format required by the external components. Since these data transfer interfaces are created based on the data format required by the external components, the field types of the data transfer interfaces may not match the field types in the first image processor. For example, in the data transfer interface, a string field might represent the real-time internal temperature of the first image processor, but in the first image processor, a Uint8_t field might be used to represent the real-time internal temperature. Therefore, when the data acquisition process saves the acquired data to the data transfer interface corresponding to the first or fifth data category, it can first convert the format of the acquired data according to the data structure definition of the data transfer interface, and then save the converted data to the data transfer interface. This avoids the problem of mismatched field types.
[0107] In this way, there is no need to perform format conversion before returning the target data to external components, thereby improving data conversion efficiency.
[0108] In some embodiments, when data is divided into a third data category and a fourth data category based on the commonalities among different image processors, the creation of corresponding data transfer interfaces for each data category, as described above, may further include:
[0109] Locate the data structure definition corresponding to the processor class of the first image processor;
[0110] Based on the data structure definition corresponding to the processor category of the first image processor, a corresponding data transfer interface is created for the data of the third data category;
[0111] Determine the data structure definition based on the data format required by the external components;
[0112] Based on the data structure definition corresponding to the external components, a corresponding data transfer interface is created for the data in the fourth data category.
[0113] In these embodiments, when obtaining the data required by the external component from the data transmission interface corresponding to the third data category, data format conversion can be performed before returning the data to the external component, and the converted data can then be returned to the external component. Since the data transmission interface corresponding to the third data category is shared by all image processors, the conversion logic for all image processors should also be the same. That is, a set of corresponding conversion code can be developed for all image processors, without the need to develop conversion code separately for different image processors.
[0114] Furthermore, since the data in the fourth data category is unique to the first image processor—meaning the data in the fourth data category differs across different image processors—converting the data format before returning it to external components would require developing separate conversion code for each image processor, significantly increasing development workload. Therefore, a data transfer interface can be created for the fourth data category based on the data structure definition of the external components. This eliminates the need to develop separate conversion code for different image processors, thereby reducing development workload.
[0115] In some embodiments, the substrate management controller is used to run management tasks for the first image processor. Specifically, these management tasks may be executed by an internal process of the substrate management controller. The management tasks may include multiple task parameters, such as the real-time internal temperature of the first image processor, the maximum temperature supported by the first image processor, etc. The step S204 of obtaining data acquired by the data acquisition process from the data transfer interface may include:
[0116] Retrieve the parameter values of the task parameters from the data cached in the data transmission interface;
[0117] Based on the obtained parameter values, assign values to the task parameters. The baseboard management controller manages the first image processor based on the task parameters after assignment.
[0118] Simply put, the task parameters in the management task exist in the form of variables. Based on the data in the data transfer interface, values can be assigned to the task parameters in the management task. In this way, the baseboard management controller can manage the first image processor based on the task parameters after assignment. For example, assume that in the management task, the variable T1 represents the internal real-time temperature of the first image processor, and the variable T2 represents the maximum temperature supported by the first image processor. Based on the variables T1 and T2, the following management logic is set: when T1 > 80% of T2, adjust the fan speed in the server to the first speed; when 30% of T2 < T1 < 80% of T2, adjust the fan speed in the server to the second speed, where the first speed is greater than the second speed. In this management logic, it is necessary to obtain the internal real-time temperature of the first image processor and the maximum temperature supported by the first image processor from the data transfer interface every preset time period, and use the obtained data to assign values to the variables T1 and T2, so as to perform heat dissipation management on the first image processor. For example, assume that the maximum temperature supported by the first image processor is 80 degrees Celsius. At 10:10, the internal real-time temperature obtained from the data transfer interface is 70 degrees Celsius. After assigning values to the variables T1 and T2, it meets the condition of T1 > 80% of T2, so the fan speed in the server can be adjusted to the first speed. At 10:20, the internal real-time temperature obtained from the data transfer interface is 50 degrees Celsius. After assigning values to the variables T1 and T2, it meets the condition of 30% of T2 < T1 < 80% of T2, then the fan speed in the server is adjusted to the second speed.
[0119] In this way, real-time management of the first image processor can be carried out.
[0120] In some embodiments, if the parameter value of the task parameter does not exist in the data cached in the data transfer interface, set the parameter value of the task parameter to the first target identifier, and the first target identifier is used to represent that the task parameter does not have a parameter value. Among them, during the execution of the management task, according to the first target identifier, the task parameters without parameter values are excluded.
[0121] Specifically, the first target identifier can be "disable". In this way, the baseboard management controller can eliminate task parameters without parameter values and the management logics related to these task parameters according to the first target identifier. For example, assume that in a management task, variable T1 represents the internal real-time temperature of the first image processor, variable T2 represents the highest temperature supported by the first image processor, and variable T3 represents the lowest temperature supported by the first image processor. Based on variables T1, T2, and T3, the following management logics are set:
[0122] When T1 > 80% of T2, adjust the fan speed in the server to the first speed; when 30% of T2 < T1 < 80% of T2, adjust the fan speed in the server to the second speed, where the first speed is greater than the second speed. When T1 < T3, generate an alarm prompt indicating that the temperature is too low.
[0123] If the data of the first image processor does not have the lowest temperature supported by the first image processor, variable T3 can be set to "disable". In this way, the baseboard management controller can not execute the management logic related to variable T3.
[0124] In the above embodiments, a complete set of management task codes can be developed for all categories of image processors, and then through the parameter values of the task parameters, part or all of the management logics can be selectively executed. In this way, all categories of image processors can be uniformly managed without developing management task codes for different categories of image processors separately.
[0125] Further, in some embodiments, after obtaining the parameter value of the task parameter from the data cached in the data transfer interface, the method of the present application may further include:
[0126] If the parameter value is outside the preset numerical range, set the parameter value of the task parameter to the second target identifier, and the second target identifier is used to indicate that the parameter value of the task parameter is abnormal. Wherein, during the execution of the management task, if there is a task parameter with the parameter value being the second target identifier, enter the exception handling process.
[0127] In this way, when the first image processor has an abnormality, the abnormality can be processed in time, reducing the risk of the first image processor being damaged.
[0128] In some embodiments, the present application may further include:
[0129] After the first image processor is replaced with the second image processor, delete the data acquisition process and the data transfer interface created based on the first auxiliary information;
[0130] Obtain second auxiliary information, which includes the processor category to which the second image processor belongs and the interface category of the communication interface required to acquire data from the second image processor;
[0131] Create a data acquisition process and data transmission interface corresponding to the second auxiliary information to acquire data from the second image processor.
[0132] In this way, the data acquisition process and data transmission interface can be automatically and dynamically adjusted according to the type of processor actually deployed in the server, without requiring users to manually update the firmware in the baseboard management controller, thereby greatly improving the user experience.
[0133] In some embodiments, the deletion of the data transmission interface created based on the first auxiliary information may include:
[0134] When there are multiple data transmission interfaces, find the target data transmission interface that is common to the first image processor and the second image processor.
[0135] Remove all data transfer interfaces except the target data transfer interface.
[0136] Specifically, the target data transfer interface is the aforementioned third data transfer interface. After replacing the first image processor with the second image processor, the target data transfer interface can be retained, while a data transfer interface specific to the second image processor can be created. This reduces the number of data transfer interfaces created.
[0137] This concludes the explanation of the methodology used in this application.
[0138] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method.
[0139] Corresponding to the method, this application also provides a data acquisition device for an image processor. (See also...) Figure 6 This is a schematic diagram of a data acquisition device provided in some embodiments of this application. Figure 6 In this context, the data acquisition device includes:
[0140] The information acquisition module 601 is used to acquire first auxiliary information, which includes the processor category to which the first image processor belongs, and the interface category of the communication interface required to acquire data from the first image processor.
[0141] The process creation module 602 is used to create a data acquisition process corresponding to the interface category of the communication interface. Different interface categories correspond to different data acquisition processes. The data acquisition process is used to acquire data from the first image processor.
[0142] The interface creation module 603 is used to create a data transfer interface corresponding to the processor category of the first image processor in response to the creation of the data acquisition process. The data transfer interface is used to buffer the data acquired by the data acquisition process. Different processor categories have different data transfer interfaces.
[0143] The data acquisition module 604 is used to obtain data collected during the data acquisition process from the data transmission interface.
[0144] In some embodiments, the data acquisition process includes at least one data acquisition task, with different data acquisition tasks corresponding to different processor categories. The data acquisition process determines a target data acquisition task corresponding to the processor category of the first image processor and runs the target data acquisition task to acquire data from the first image processor.
[0145] In some embodiments, the interface creation module 603 is used for:
[0146] Locate the data structure definition corresponding to the processor class of the first image processor;
[0147] Create a data transfer interface based on the found data structure definition;
[0148] The data structure definition includes at least one of the following information:
[0149] Interface fields, number of interface fields, and data type of each interface field value.
[0150] In some embodiments, the interface creation module 603 is used for:
[0151] The data that needs to be collected from the first image processor is divided into multiple data categories;
[0152] Create a corresponding data transfer interface for each data category, and each data transfer interface is used to cache the data of the corresponding data category.
[0153] In some embodiments, the substrate management controller is used to run a data acquisition process and at least one internal process; the interface creation module 603 is used for:
[0154] According to the purpose of the data, the data that needs to be collected from the first image processor is divided into a first data category and a second data category. The data in the first data category is the data required by the external components of the baseboard management controller, and the data in the second data category is the data required by the internal processes.
[0155] In some embodiments, the interface creation module 603 is used for:
[0156] Based on the commonalities of data among different image processors, the data that needs to be collected from the first image processor is divided into a third data category and a fourth data category. The data in the third data category is data that is available to both the first image processor and other image processors other than the first image processor. The data in the fourth data category is data that is available to the first image processor but not to other image processors.
[0157] In some embodiments, the baseboard management controller is used to run a data acquisition process and at least one internal process;
[0158] After the data is classified into the third data category, the interface creation module 603 is used for:
[0159] Based on the purpose of the data, the data in the third data category is divided into the fifth data category and the sixth data category. The data in the fifth data category is the data required by the external components of the baseboard management controller, and the data in the sixth data category is the data required by the internal processes.
[0160] In some embodiments, the interface creation module 603 is used for:
[0161] Locate the data structure definition corresponding to the processor class of the first image processor;
[0162] Based on the data structure definition corresponding to the processor category of the first image processor, a corresponding data transfer interface is created for the data of the third data category;
[0163] Determine the data structure definition based on the data format required by the external components;
[0164] Based on the data structure definition corresponding to the external components, a corresponding data transfer interface is created for the data in the fourth data category.
[0165] In some embodiments, the substrate management controller has an external component; the data acquisition module 604 is used for:
[0166] Receive data acquisition requests from external components. The data acquisition requests are used to indicate the target data that the external components need to acquire.
[0167] Locate the target data transfer interface used to transfer the target data;
[0168] Obtain target data from the target data transmission interface and return the target data to the external component.
[0169] In some embodiments, the external component is used to display target data; before returning the target data to the external component, the data acquisition module 604 is used to:
[0170] If the data format of the target data does not match the data display format of the external component, the data format of the target data will be converted according to the data display format of the external component, and the converted target data will be returned to the external component.
[0171] In some embodiments, the substrate management controller is used to run a management task for the first image processor, the management task including multiple task parameters; the data acquisition module 604 is used to:
[0172] Retrieve the parameter values of the task parameters from the data cached in the data transmission interface;
[0173] Based on the acquired parameter values, the task parameters are assigned values, and the baseboard management controller manages the first image processor based on the assigned task parameters.
[0174] In some embodiments, the data acquisition module 604 is used for:
[0175] If the data in the data transmission interface cache does not contain the parameter value of the task parameter, then the parameter value of the task parameter is set to the first target identifier. The first target identifier is used to indicate that the task parameter does not have a parameter value. During the execution of the management task, task parameters that do not have a parameter value are removed based on the first target identifier.
[0176] In some embodiments, after obtaining the parameter values of the task parameters from the data cached by the data transmission interface, the data acquisition module 604 is used to:
[0177] If the parameter value is outside the preset value range, the parameter value of the task parameter is set as the second target identifier. The second target identifier is used to indicate that the parameter value of the task parameter is abnormal. In the process of executing the management task, if there is a task parameter with the parameter value of the second target identifier, the exception handling process is entered.
[0178] In some embodiments, the interface creation module 603 is used for:
[0179] After the first image processor is replaced by the second image processor, the data acquisition process and data transmission interface created based on the first auxiliary information are deleted;
[0180] Obtain second auxiliary information, which includes the processor category to which the second image processor belongs and the interface category of the communication interface required to acquire data from the second image processor;
[0181] Create a data acquisition process and data transmission interface corresponding to the second auxiliary information to acquire data from the second image processor.
[0182] In some embodiments, the interface creation module 603 is used for:
[0183] When there are multiple data transmission interfaces, find the target data transmission interface that is common to the first image processor and the second image processor.
[0184] Remove all data transfer interfaces except the target data transfer interface.
[0185] See also Figure 7 The embodiments of this application also provide an electronic device, including a memory 10 and a processor 20, wherein the memory 10 stores a computer program and the processor 20 is configured to run the computer program to perform the steps in any of the above-described embodiments of the data acquisition method for an image processor.
[0186] Embodiments of this application also provide a computer-readable storage medium storing a computer program, wherein the computer program is configured to execute the steps in any of the above embodiments of the data acquisition method for an image processor when run.
[0187] In one exemplary embodiment, the aforementioned computer-readable storage medium may include, but is not limited to, various media capable of storing computer programs, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard disk, magnetic disk, or optical disk.
[0188] Embodiments of this application also provide a computer program product, which includes a computer program that, when executed by a processor, implements the steps in any of the above embodiments of the data acquisition method for an image processor.
[0189] Embodiments of this application also provide another computer program product, including a non-volatile computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps in any of the above embodiments of the data acquisition method for an image processor.
[0190] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0191] The foregoing has provided a detailed description of a data acquisition method, server, apparatus, and medium for an image processor provided in this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the embodiments above are merely for the purpose of helping to understand the method and its core ideas. It should be noted that those skilled in the art can make various improvements and modifications to this application without departing from its principles, and these improvements and modifications also fall within the protection scope of the claims of this application.
Claims
1. A data acquisition method for an image processor, characterized in that, Applied to a baseboard management controller, the method includes: Obtain first auxiliary information, which includes the processor category to which the first image processor belongs, and the interface category of the communication interface required to acquire data from the first image processor; A data acquisition process is created corresponding to the interface category of the communication interface, wherein different interface categories correspond to different data acquisition processes, and the data acquisition process is used to acquire data from the first image processor; In response to the creation of the data acquisition process, a data transfer interface corresponding to the processor category of the first image processor is created. The data transfer interface is used to cache the data acquired by the data acquisition process. Different processor categories correspond to different data transfer interfaces. In the case of creating multiple data acquisition processes, if each data acquisition process corresponds to multiple different categories of image processors, a corresponding data transfer interface is created for each category of image processor. The data collected by the data acquisition process is obtained from the data transmission interface.
2. The method according to claim 1, characterized in that, The data acquisition process includes at least one data acquisition task. Different data acquisition tasks correspond to different processor categories. The data acquisition process determines a target data acquisition task corresponding to the processor category of the first image processor and runs the target data acquisition task to acquire data from the first image processor.
3. The method according to claim 1, characterized in that, The creation of a data transfer interface corresponding to the processor category of the first image processor includes: Locate the data structure definition corresponding to the processor category of the first image processor; Create the data transmission interface according to the found data structure definition; The data structure definition includes at least one of the following information: Interface fields, number of interface fields, and data type of each interface field value.
4. The method according to claim 1, characterized in that, The creation of a data transfer interface corresponding to the processor category of the first image processor includes: The data that needs to be collected from the first image processor is divided into multiple data categories; A corresponding data transfer interface is created for each of the data categories, and each data transfer interface is used to cache the data of the corresponding data category.
5. The method according to claim 4, characterized in that, The baseboard management controller is used to run the data acquisition process and at least one internal process; The process of dividing the data to be collected from the first image processor into multiple data categories includes: According to the purpose of the data, the data that needs to be collected from the first image processor is divided into a first data category and a second data category. The data in the first data category is the data required by the external components of the baseboard management controller, and the data in the second data category is the data required by the internal processes.
6. The method according to claim 4, characterized in that, The process of dividing the data to be collected from the first image processor into multiple data categories includes: Based on the commonalities of data among different image processors, the data that needs to be collected from the first image processor is divided into a third data category and a fourth data category. The data in the third data category is data that is available to both the first image processor and other image processors besides the first image processor. The data in the fourth data category is data that is available to the first image processor but not to other image processors.
7. The method according to claim 6, characterized in that, The baseboard management controller is used to run the data acquisition process and at least one internal process; After the data is classified into the third data category, the method further includes: According to the purpose of the data, the data in the third data category is divided into a fifth data category and a sixth data category. The data in the fifth data category is the data required by the external components of the baseboard management controller, and the data in the sixth data category is the data required by the internal processes.
8. The method according to claim 6, characterized in that, The step of creating a corresponding data transfer interface for each of the data categories includes: Locate the data structure definition corresponding to the processor category of the first image processor; Based on the data structure definition corresponding to the processor category of the first image processor, a corresponding data transmission interface is created for the data of the third data category; The data structure definition is determined based on the data format required by the external components of the baseboard management controller; Based on the data structure definition corresponding to the external component, a corresponding data transmission interface is created for the data of the fourth data category.
9. The method according to claim 1, characterized in that, The baseboard management controller has external components; The step of obtaining the data collected by the data acquisition process from the data transmission interface includes: Receive a data acquisition request from the external component, the data acquisition request being used to indicate the target data that the external component needs to acquire; Locate the target data transfer interface used to transfer the target data; The target data is obtained from the target data transmission interface and returned to the external component.
10. The method according to claim 9, characterized in that, The external component is used to display the target data; before returning the target data to the external component, the method further includes: If the data format of the target data does not match the data display format of the external component, the data format of the target data is converted according to the data display format of the external component, and the converted target data is returned to the external component.
11. The method according to claim 1, characterized in that, The substrate management controller is used to run management tasks for the first image processor, and the management tasks include multiple task parameters; The step of obtaining the data collected by the data acquisition process from the data transmission interface includes: The parameter values of the task parameters are obtained from the data cached in the data transmission interface; Based on the obtained parameter values, the task parameters are assigned values, and the baseboard management controller manages the first image processor based on the assigned task parameters.
12. The method according to claim 11, characterized in that, The method further includes: If the data cached by the data transmission interface does not contain the parameter value of the task parameter, then the parameter value of the task parameter is set as a first target identifier. The first target identifier is used to indicate that the task parameter does not have a parameter value. During the execution of the management task, task parameters that do not have a parameter value are removed based on the first target identifier.
13. The method according to claim 11, characterized in that, After obtaining the parameter value of the task parameter from the data cached by the data transmission interface, the method further includes: If the parameter value is outside the preset value range, the parameter value of the task parameter is set as the second target identifier. The second target identifier is used to indicate that the parameter value of the task parameter is abnormal. During the execution of the management task, if there is a task parameter with the parameter value of the second target identifier, the exception handling process is entered.
14. The method according to claim 1, characterized in that, The method further includes: After the first image processor is replaced by the second image processor, the data acquisition process and data transmission interface created based on the first auxiliary information are deleted; Obtain second auxiliary information, which includes the processor category to which the second image processor belongs and the interface category of the communication interface required when acquiring data from the second image processor; Create a data acquisition process and data transmission interface corresponding to the second auxiliary information to acquire data from the second image processor.
15. The method according to claim 14, characterized in that, The deletion of the data acquisition process and data transmission interface created based on the first auxiliary information includes: When there are multiple data transmission interfaces, find the target data transmission interface that is common to the first image processor and the second image processor. Delete all data transmission interfaces other than the target data transmission interface.
16. A server, characterized in that, The server includes: At least one image processor; A server motherboard includes a baseboard management controller and at least one slot. The baseboard management controller includes at least one interface connected to the slot, which is used to connect the at least one image processor. The baseboard management controller connects to the image processor through the interface and the slot and acquires data from the image processor by performing the method according to any one of claims 1 to 15.
17. A data acquisition device for an image processor, characterized in that, The device includes: The information acquisition module is used to acquire first auxiliary information, which includes the processor category to which the first image processor belongs, and the interface category of the communication interface required to acquire data from the first image processor. A process creation module is used to create a data acquisition process corresponding to the interface category of the communication interface, wherein different interface categories correspond to different data acquisition processes, and the data acquisition process is used to acquire data from the first image processor; An interface creation module is used to create a data transfer interface corresponding to the processor category of the first image processor in response to the creation of the data acquisition process. The data transfer interface is used to cache the data acquired by the data acquisition process. Different processor categories correspond to different data transfer interfaces. In the case of creating multiple data acquisition processes, if each data acquisition process corresponds to multiple different categories of image processors, then a corresponding data transfer interface is created for each category of image processor. The data acquisition module is used to obtain data collected by the data acquisition process from the data transmission interface.
18. An electronic device, characterized in that, include: Memory, used to store computer programs; A processor for executing the computer program to implement the data acquisition method for an image processor as described in any one of claims 1 to 15.
19. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, wherein the computer program, when executed by a processor, implements the data acquisition method for an image processor as described in any one of claims 1 to 15.
20. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, it implements the data acquisition method for an image processor as described in any one of claims 1 to 15.
Citation Information
Patent Citations
Abnormal application data detection method and device, electronic equipment and storage medium
CN112989338A
Data cleaning method and device based on wireless timeout intelligent analysis and medium
CN116069774A