Server testing method, device and electronic equipment
By setting independent and joint testing projects for server hosts and storage devices and defining constraint rules, the problem of lack of inter-device interaction testing in traditional testing methods is solved, and a more comprehensive testing and more efficient testing process is achieved, improving the overall performance and reliability of the system.
Patent Information
- Application Number
- CN202411586612.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-07
- Publication Date
- 2025-04-01
AI Technical Summary
Traditional server testing methods focus on testing a single device, lacking comprehensive consideration of the interaction between the server host and the storage device, resulting in undiscovered compatibility problems or performance bottlenecks that may occur in actual operation, affecting the overall performance of the system.
Provides a server testing method to ensure comprehensiveness and accuracy of tests by setting independent test items and joint test items for the server host and storage devices connected to it, defining constraint rules to define the order of execution of test items.
It significantly improves the comprehensiveness and effectiveness of the test, ensures smooth cooperation between the equipment, avoids potential compatibility issues, reduces the risk of test conflicts, and improves the testing efficiency and overall performance and reliability of the system.
Smart Images

Figure CN119739574A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of storage device testing, and in particular to a server testing method, device and electronic equipment. Background Art
[0002] With the rapid development of information technology, the demand for data storage is growing, and the performance and reliability of storage devices have become important factors affecting the overall performance of the system. In modern data centers, the collaboration between server hosts and external storage devices (such as JBOD devices) is essential. In order to ensure the stability of the system, the server host and storage devices must be fully tested. Traditional testing methods often focus on the testing of a single device and lack comprehensive consideration of the interaction between the server host and the storage device. The separate testing method may lead to undetected compatibility issues or performance bottlenecks in actual operation, which in turn affects the overall performance of the system. In addition, due to the mutual influence between the test items, the test results are inaccurate, which increases the complexity of troubleshooting. Summary of the invention
[0003] The embodiments of the present disclosure provide a server testing method, device and electronic device, aiming to solve the problems existing in the above-mentioned background technology.
[0004] In order to solve the above technical problems, the present disclosure is implemented as follows: In a first aspect, an embodiment of the present disclosure provides a server testing method, the method comprising: Respectively set independent test items and joint test items to be executed for the server host and the storage device connected to the server host, wherein the independent test items are test items that the storage device and the server host perform separately, and the joint test items are test items that the storage device and the server host perform together; Defining constraint rules, wherein the constraint rules are used to limit the execution order of test items that have an impact between the storage device and the server host; Independent test items are executed on the storage device and the server host, and joint test items based on the constraint rules are executed on the storage device and the server host.
[0005] Optionally, before setting the test items to be executed for the storage device and the server host, the method further includes: Establishing a network server and configuring an IP address and port of the network server, wherein the network server is used for network communication between the storage device and the server host; Establishing a database, creating a test item table, a test result table, a constraint rule table and a sequence number table in the database; Setting the connection mode between the storage device and the server host, and configuring the baseboard management controller and operating system of the server host; The serial numbers of the server host and the storage device are scanned, and the corresponding relationship between the server host and the storage device and their respective serial numbers is saved in the serial number table of the database.
[0006] Optionally, the number of the storage device is at least one; and the performing of the joint test item based on the constraint rule on the storage device and the server host includes: Guiding the server host to execute corresponding joint test items based on the constraint rules through the baseboard management controller and the operating system of the server host; Through the baseboard management controller, each storage device is guided to execute the corresponding joint test items based on the constraint rules, and the execution status of each test item is updated to the database with the serial number as the index.
[0007] Optionally, the step of respectively setting independent test items and joint test items to be executed for the server host and the storage device connected to the server host includes: Independent test items are set for the server host and the storage device respectively, and the execution order of each independent test item is set. The independent test items of the server host include AC / DC test; the independent test items of the storage device include at least one or more of the following: baseboard management controller board test, power distribution board test, management board test and fan test; Setting joint test items for the server host and the storage device, and setting the execution order of each joint test item; Each test item is saved in the test item table of the pre-established database.
[0008] Optionally, the defining constraint rules includes: Define that the firmware update of the storage device is performed before the firmware update of the server host; It is defined that when it is detected that the server host is performing an AC / DC test, the test item being performed by the storage device is suspended; It is defined that when it is detected that the storage device is performing a fan test or a management board test, the test item being performed by the server host is suspended; Update the above defined rules into the constraint rule table of the database.
[0009] Optionally, executing respective independent test items on the storage device and the server host includes: In response to the first execution instruction sent by the network server, query the test item table in the database to determine each independent test item to be executed by the storage device; Execute the independent test items on each storage device in turn according to the execution order of each independent test item; Monitor the test progress of each independent test item of each storage device, and update the test results in real time to the test result table of the database; Query the test result table of the database, and when it is checked that the independent test items of each storage device have been executed, query the test item table in the database to determine the independent test items to be executed by the server host; Execute the independent test items of the server host on the server host in sequence according to the execution order of each independent test item; Monitor the test progress of the independent test items of the server host, and update the test results in real time to the test result table of the database.
[0010] Optionally, the performing a joint test item based on the constraint rule on the storage device and the server host includes: In response to a second execution instruction sent by the network server, querying the test item table in the database to determine each joint test item to be executed by the storage device and the server host; Query the constraint rule table in the database to determine the rules defined by the constraint rule; Execute each joint test item in sequence according to the execution order; Dynamically adjust the execution order of each joint test item based on the rules defined by the constraint rules; Monitor the test progress of each joint test project and update the test results in real time to the test result table of the database.
[0011] Optionally, the method further comprises: When it is detected that the test processes of the independent test items of the storage device and the server host are all completed, the second execution instruction is sent to the storage device and the server host through the network server.
[0012] In a second aspect, an embodiment of the present disclosure provides a server testing device, which is used to perform the steps of a server testing method, and the device includes: A setting module, used to set independent test items and joint test items to be executed for a server host and a storage device connected to the server host, respectively, wherein the independent test items are test items to be executed by the storage device and the server host separately, and the joint test items are test items to be executed by the storage device and the server host in cooperation with each other; A rule definition module, used to define constraint rules, wherein the constraint rules are used to limit the execution order of test items that have an impact between the storage device and the server host; A testing module is used to execute respective independent test items on the storage device and the server host, and to execute joint test items based on the constraint rules on the storage device and the server host.
[0013] Optionally, the device further comprises: A first establishing module, used to establish a network server and configure an IP address and a port of the network server, wherein the network server is used for network communication between the storage device and the server host; A second establishment module is used to establish a database, in which a test item table, a test result table, a constraint rule table and a sequence number table are created; A connection mode setting module, used to set the connection mode between the storage device and the server host, and configure the baseboard management controller and operating system of the server host; The scanning module is used to scan the serial numbers of the server host and the storage device, and save the corresponding relationship between the server host and the storage device and their respective serial numbers in the serial number table of the database.
[0014] Optionally, the number of the storage device is at least one; and the test module includes: A first guiding submodule, configured to guide the server host to execute corresponding joint test items based on the constraint rules through a baseboard management controller and an operating system of the server host; The second guiding submodule is used to guide each storage device to execute the corresponding joint test item based on the constraint rule through the baseboard management controller, and update the execution status of each test item into the database with the serial number as the index.
[0015] Optionally, the setting module includes: The project setting submodule is used to set independent test projects for the server host and the storage device, and set the execution order of each independent test project. The independent test project of the server host includes AC / DC test; the independent test project of the storage device includes at least one or more of the following: baseboard management controller board test, power distribution board test, management board test and fan test; An execution order setting submodule, used to set joint test items for the server host and the storage device, and set the execution order of each joint test item; The saving submodule is used to save each test item to the test item table of the pre-established database.
[0016] Optionally, the rule definition module includes: A first rule definition submodule, used to define that the firmware update of the storage device is executed before the firmware update of the server host; A second rule definition submodule is used to define that when it is detected that the server host is performing an AC / DC test, the test item being performed by the storage device is suspended; A third rule definition submodule is used to define that when it is detected that the storage device is performing a fan test or a management board test, the test item being performed by the server host is suspended; The fourth rule definition submodule is used to update the above-defined rules into the constraint rule table of the database.
[0017] Optionally, the test module includes: A first response submodule, configured to query the test item table in the database in response to the first execution instruction sent by the network server, and determine each independent test item to be executed by the storage device; A first sequential execution submodule, used to sequentially execute the respective independent test items on the respective storage devices according to the execution order of the respective independent test items; A first monitoring submodule, used to monitor the test progress of each independent test item of each storage device, and update the test results to the test result table of the database in real time; A serial execution submodule, used to query the test result table of the database, and when it is checked that the independent test items of each storage device have been executed, query the test item table in the database to determine the independent test items to be executed by the server host; A second sequential execution submodule, configured to execute the independent test items of the server host on the server host in sequence according to the execution order of each independent test item; The second monitoring submodule is used to monitor the test progress of the independent test items of the server host and update the test results to the test result table of the database in real time.
[0018] Optionally, the test module includes: A second response module, configured to query the test item table in the database in response to a second execution instruction sent by the network server, and determine each joint test item to be executed by the storage device and the server host; A rule query submodule, used to query the constraint rule table in the database to determine the various rules defined by the constraint rules; The third sequential execution submodule is used to execute each joint test item in sequence according to the execution order; A dynamic adjustment submodule, used to dynamically adjust the execution order of each joint test item based on the rules defined by the constraint rules; The third monitoring submodule is used to monitor the test progress of each joint test item and update the test results to the test result table of the database in real time.
[0019] Optionally, the device further comprises: The instruction condition module is used to send the second execution instruction to the storage device and the server host through the network server when it is checked that the test processes of the independent test items of the storage device and the server host are all completed.
[0020] In a third aspect, an embodiment of the present disclosure provides an electronic device, comprising: a processor, a memory, and a computer program stored in the memory and capable of running on the processor, wherein the computer program implements the steps of a server testing method when executed by the processor.
[0021] The technical solution provided by the embodiments of the present disclosure brings at least the following beneficial effects: The present disclosure significantly improves the comprehensiveness and effectiveness of the test by setting independent test items and joint test items for the server host and the storage devices connected thereto. First, the setting of independent test items ensures that each device performs self-detection without external interference, so that the performance and stability of each device can be accurately evaluated. Secondly, the implementation of joint test items allows the collaborative work between devices to be verified, ensuring smooth cooperation in practical applications and avoiding potential compatibility issues. By defining constraint rules, the execution order of the test items is clarified, avoiding inaccurate or inconsistent test results caused by mutual influence between devices during the test process. The present disclosure not only reduces the risk of test conflicts, but also improves the test efficiency, making the test process more efficient and orderly. It effectively improves the test coverage and accuracy of storage devices and server hosts, ensures the overall performance and reliability of the system, and provides a solid foundation for subsequent troubleshooting and performance optimization, thereby improving the operating efficiency and service quality of the data center. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0023] Figure 1 This is a schematic diagram of the steps of a server testing method provided by an embodiment of the present disclosure; Figure 2 is a flow chart of a joint test considering constraint rules in one embodiment of the present disclosure; Figure 3 is a specific flow chart of an independent test in one embodiment of the present disclosure; Figure 4 It is a structural block diagram of a server testing device provided by an embodiment of the present disclosure. DETAILED DESCRIPTION
[0024] Based on the embodiments in the present disclosure, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present disclosure. In the description of the embodiments of the present disclosure, unless otherwise specified, " / " means or, for example, A / B can mean A or B; "and / or" in this article is only a description of the association relationship of associated objects, indicating that there can be three relationships, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In the present disclosure, "at least one" means one or more, and "multiple" means two or more. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single items or plural items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, c can be single or multiple. The present disclosure aims to improve the collaborative work efficiency and test accuracy between storage devices and server hosts. With the rapid development of information technology, the demand for data storage continues to increase, and the performance and reliability of storage systems have become key factors for the successful operation of various application systems. In modern data centers, effective collaboration between server hosts and external storage devices (such as JBOD devices) is particularly important. However, traditional testing methods often only focus on the performance of a single device and ignore the interaction between devices, which may lead to compatibility issues and performance bottlenecks in actual use. Therefore, the present disclosure proposes a testing method that sets independent test items and joint test items for the server host and the storage devices connected thereto, respectively, to ensure that the performance of each device is comprehensively evaluated during the test process.
[0025] Figure 1 FIG. 1 is a schematic diagram of steps of a server testing method provided by an embodiment of the present disclosure. Figure 1 As shown, the method includes: Step S101, respectively setting independent test items and joint test items to be executed for a server host and a storage device connected to the server host, wherein the independent test items are test items to be executed by the storage device and the server host separately, and the joint test items are test items to be executed by the storage device and the server host in cooperation with each other; Step S102, defining constraint rules, wherein the constraint rules are used to limit the execution order of test items that have an impact between the storage device and the server host; Step S103: executing respective independent test items on the storage device and the server host, and executing joint test items based on the constraint rules on the storage device and the server host.
[0026] Involving step S101, in the embodiment of the present disclosure, the objects of the test are the server host and the storage device, and the storage device can be an external JBOD (Just a Bunch Of Disks) device. Specifically, independent test items refer to tests performed on the storage device and the server host respectively, aiming to evaluate their respective performance, stability and functions separately. For example, for an external JBOD device, the independent test items that can be set include performance tests on its baseboard management controller board, power distribution board, management board and fan. The design of independent test items ensures that the storage device can accurately reflect its own working status and performance indicators without interference from other devices. On the other hand, joint test items are tests performed by the storage device and the server host in cooperation, aiming to test their ability to work together. For example, joint test items such as performance testing, stress testing and stability testing can be designed to evaluate the compatibility and collaboration efficiency between the external JBOD device and the server host in actual application scenarios.
[0027] Involving step S102, constraint rules are used to limit the execution order of test items that have an impact between the storage device and the server host. The setting of constraint rules is intended to avoid test conflicts and errors caused by interactions between devices. First, it is necessary to identify which test items have interdependent or influential relationships. For example, some test items may require that the storage device can only start execution after the server host completes a specific operation, and vice versa. By clarifying these dependencies, corresponding constraint rules can be formulated to ensure that the test items are performed in a reasonable order. Based on the set constraint rules, the storage device and the server host are kept in coordination during the test process, thereby improving the accuracy and reliability of the test. Ultimately, the implementation of these constraint rules will provide clear execution guidance for subsequent joint test items and ensure the smooth progress of the test process.
[0028] Involving step S103, it is intended to actually test and evaluate the performance and collaborative working ability of the storage device and the server host. First, the storage device (such as an external JBOD device) and the server host will independently execute the previously set independent test items, evaluate the specific functions and performance of each device, and ensure that they can accurately reflect their own working status and performance indicators without interference from other devices. For example, the external JBOD device may perform performance tests on the BMC board, power distribution board, management board, and fan, while the server host may perform its own performance and stability tests, in which the performance data of each device in an independent state needs to be accurately recorded. After the independent test items are completed, based on the previously set constraint rules, the storage device and the server host will work together to perform joint test items. For example, joint test items such as performance testing, stress testing, and stability testing may be performed to verify the compatibility and collaborative efficiency between the external JBOD device and the server host. In this process, the execution order of the test will strictly follow the constraint rules defined in step S102 to avoid errors caused by test conflicts. The analysis of the test results will provide a basis for the optimization of storage devices and server hosts, ensuring that the expected performance and reliability can be achieved in actual applications.
[0029] The present disclosure significantly improves the comprehensiveness and effectiveness of the test by setting independent test items and joint test items for the server host and the storage devices connected thereto. First, the setting of independent test items ensures that each device performs self-detection without external interference, so that the performance and stability of each device can be accurately evaluated. Secondly, the implementation of joint test items allows the collaborative work between devices to be verified, ensuring smooth cooperation in practical applications and avoiding potential compatibility issues. By defining constraint rules, the execution order of the test items is clarified, avoiding inaccurate or inconsistent test results caused by mutual influence between devices during the test process. The present disclosure not only reduces the risk of test conflicts, but also improves the test efficiency, making the test process more efficient and orderly. It effectively improves the test coverage and accuracy of storage devices and server hosts, ensures the overall performance and reliability of the system, and provides a solid foundation for subsequent troubleshooting and performance optimization, thereby improving the operating efficiency and service quality of the data center.
[0030] Exemplarily, before setting the test items to be executed for the storage device and the server host, the method also includes: establishing a network server, configuring the IP address and port of the network server, and the network server is used for network communication between the storage device and the server host; establishing a database, creating a test item table, a test result table, a constraint rule table and a serial number table in the database; setting the connection mode between the storage device and the server host, and configuring the baseboard management controller and operating system of the server host; scanning the serial numbers of the server host and the storage device, and saving the correspondence between the server host and the storage device and their respective serial numbers in the serial number table of the database.
[0031] Before setting the test items to be executed for the storage device and the server host, the test environment is pre-configured. Specifically, a network server is established in the test environment. The network server will serve as a communication bridge between the storage device and the server host to ensure that the two can exchange data and instructions smoothly. For example, a computer can be selected as a network server and a fixed IP address (such as 192.168.1.100) and a specific port (such as 8080) can be configured for it. This configuration will enable the storage device and the server host to access the server through the network for data transmission and communication. Next, a database is established on the network server to store test-related information. Multiple tables will be created in the database, including a test item table, a test result table, a constraint rule table, and a sequence number table. Among them, the test item table records all the test items to be executed, including detailed information of independent test items and joint test items. The test result table stores the execution results of each test item for subsequent analysis and evaluation. The constraint rule table defines the constraint rules between the storage device and the server host to ensure that the execution order of the test items conforms to the preset logic. The sequence number table saves the serial numbers of the server host and the storage device and their corresponding relationships for tracking and management during the test process. For example, the database can use a database management system such as MySQL or SQLite to create the corresponding table and define the fields. Before the test begins, set the connection method between the storage device and the server host. This can include the configuration of physical connections (such as USB, SAS, or iSCSI connections) and network connections. In addition, the baseboard management controller and operating system of the server host need to be configured to ensure that they can correctly identify and manage the connected storage devices. For example, if an iSCSI connection is used, the iSCSI target and initiator can be configured in the operating system of the server host to enable access to the external JBOD device.
[0032] After completing the above preparations, scan the serial numbers of the server host and storage device. For example, the serial number of the server host may be "SN123456", while the serial number of the external JBOD device may be "JBOD789012". These serial numbers will be recorded and associated with the corresponding devices. This information will be saved in the serial number table of the database, so that in the subsequent testing process, the serial number can be used to quickly find and manage the device.
[0033] Through the implementation of the above steps, the test environment was effectively built, laying a solid foundation for the subsequent test project settings. The above preparations ensured smooth communication between the storage device and the server host, accurate recording of test data, and orderly execution of test projects, thereby improving the efficiency and accuracy of the overall test.
[0034] Exemplarily, the number of the storage devices is at least one; the execution of the joint test items based on the constraint rules on the storage devices and the server host includes: guiding the server host to execute the corresponding joint test items based on the constraint rules through the baseboard management controller and operating system of the server host; guiding each storage device to execute its corresponding joint test items based on the constraint rules through the baseboard management controller, and updating the execution status of each test item to the database with the serial number as the index.
[0035] In the process of executing the joint test, first ensure that the baseboard management controller (BMC) and operating system (OS) of the server host are correctly configured and can communicate with each other. In other words, confirm that the BMC of the server host is connected and working properly, which can be checked through the BMC's web interface or command line tool. According to the defined constraint rules, the operating system of the server host will be guided to execute the corresponding joint test items. For example, if the constraint rules stipulate that the performance test must be completed before the stress test is executed, the performance test will be executed first during the execution of the joint test project, or the execution order will be dynamically adjusted if the stress test is executed before the performance test. When executing the joint test project, the operating system will collect performance data and feed the results back to the database through the BMC.
[0036] Each storage device is guided to perform joint test items through the baseboard management controller. Similarly, the storage devices need to perform their own joint test items according to the constraint rules. Suppose there are two storage devices, one is an external JBOD device and the other is NAS (network attached storage). According to the pre-set constraint rules, the external JBOD device needs to perform fan redundancy test first and then performance test. The BMC will guide the external JBOD device to perform fan redundancy test first, and update the results (such as fan speed, temperature, etc.) to the database after the test is completed. Then, the BMC will guide the external JBOD device to perform performance test and update the results to the database again.
[0037] During the execution of the joint test project, all test results will be recorded and updated in the database for subsequent analysis and evaluation. After each test project is completed, the BMC will send the test results (such as success or failure, performance indicators, etc.) to the database through the network. The test result table in the database will be indexed and updated according to the serial number of the device (including the server host and storage device) for subsequent query and analysis.
[0038] Through the above steps, storage devices and server hosts can perform joint test items in an orderly manner under the premise of following the constraint rules, thereby ensuring the accuracy and reliability of the test. This not only improves the comprehensiveness of the test, but also provides a solid foundation for subsequent troubleshooting and performance optimization.
[0039] Exemplarily, the method of setting independent test items and joint test items to be executed for the server host and the storage device connected to the server host, respectively, includes: setting independent test items for the server host and the storage device, and setting the execution order of each independent test item, the independent test items of the server host include AC / DC test; the independent test items of the storage device include at least one or more of the following: baseboard management controller board test, power distribution board test, management board test and fan test; setting joint test items for the server host and the storage device, and setting the execution order of each joint test item; saving each test item in a test item table of a pre-established database.
[0040] For independent test items, independent test items are set for server hosts, including AC / DC tests. This type of test is mainly used to evaluate the performance and stability of server hosts under different power supply conditions. AC testing may involve running the server host at standard voltage to observe its performance under high load; DC testing may involve running the host at different DC voltages to ensure that it can work stably. Independent test items are set for storage devices, including at least one or more of the following: baseboard management controller board test, to evaluate the function and performance of the BMC to ensure that it can effectively manage and monitor the status of storage devices; power distribution board test, to check the power distribution capacity of the power distribution board to ensure that it can provide stable power to each component; management board test, to evaluate the function of the management board to ensure that it can correctly perform management and monitoring tasks; fan test, to test the speed and cooling effect of the fan to ensure that the storage device maintains an appropriate temperature during operation.
[0041] After setting up independent test items, clarify and set the execution order of each test item. For example, you may need to test the baseboard management controller board first, and then the power distribution board to ensure the accuracy and reliability of the test results.
[0042] Similarly, set up joint test items, including performance testing, stress testing, and stability testing. Set up the execution order of joint test items. After setting up all independent and joint test items, you need to save this information to the test item table of the pre-established database for subsequent query and management. Optionally, connect to the pre-established database and insert the detailed information of each test item (including item name, type, execution order, etc.) into the test item table of the database.
[0043] Through the above steps, the setting process of the entire test project is completed, so that the server host and storage device can be tested in accordance with the predetermined order and rules in subsequent tests, thereby improving the accuracy and reliability of the test and providing basic data for subsequent performance evaluation and troubleshooting.
[0044] Exemplarily, the definition of constraint rules includes: defining that the firmware update of the storage device is executed before the firmware update of the server host; defining that when it is detected that the server host is performing an AC / DC test, the test item being performed by the storage device is suspended; defining that when it is detected that the storage device is performing a fan test or a management board test, the test item being performed by the server host is suspended; and updating the above-defined rules into the constraint rule table of the database.
[0045] In the disclosed embodiment, the rule items that need to be defined in the constraint rules include: 1. Before performing a firmware update, first check the firmware versions of the storage device and the server host. 2. Execute the firmware update of the storage device, ensure that the update is complete and verify the update result. 3. After confirming that the storage device firmware update is successful, start the firmware update of the server host. The above three rules are only the key situations considered in the embodiment, and their definition order is not limited. The three rules are explained below.
[0046] First, define that the firmware update of the storage device must be performed before the firmware update of the server host. This rule is designed to ensure that when performing a firmware update, the firmware update of the storage device must be completed before the firmware update of the server host. The purpose is to avoid compatibility issues or system instability that may occur during the firmware update process. Before performing a firmware update, first check the firmware versions of the storage device and the server host. Perform the firmware update of the storage device, ensure that it is updated and verify the update results. After confirming that the firmware update of the storage device is successful, start the firmware update of the server host.
[0047] Second, define that when it is detected that the server host is performing an AC / DC test, the test items being performed by the storage device should be suspended. When the server host is performing an AC / DC test, the test items of the storage device need to be suspended. This is because the AC / DC test may affect the power supply of the storage device, resulting in inaccurate test results or device failure. During the test, the status of the server host is continuously monitored to determine whether it is performing an AC / DC test. If it is detected that the server host is performing an AC / DC test, all test items of the storage device are immediately suspended. After the server host completes the AC / DC test, the test items of the storage device are resumed.
[0048] Third, define the suspension of the test items being performed by the server host when it is detected that the storage device is performing a fan test or a management board test. Similar to the above rules, when the storage device is performing a fan test or a management board test, the test items of the server host need to be suspended, in order to avoid the activities of the server host interfering with the test results when the storage device is performing key hardware tests. During the test, the status of the storage device is continuously monitored to determine whether it is performing a fan test or a management board test. If it is detected that the storage device is performing these tests, all test items of the server host are immediately suspended. After the storage device completes the fan test or the management board test, the test items of the server host are resumed.
[0049] Update the rules defined above to the constraint rule table of the database so that they can be queried and executed at any time during the test process. Specifically, find the constraint rule table in the database and prepare to insert new rules. Insert the detailed information of each rule (such as rule description, triggering conditions, affected test items, etc.) into the constraint rule table.
[0050] Figure 2 is a flowchart of a joint test considering constraint rules in one embodiment of the present disclosure. Figure 2 As shown, starting from the starting point of the illustrated process, the judgment and execution of the test items are ready to begin. To judge whether the server host is performing the AC / DC project test, first check whether the server host is currently performing the AC / DC test. If the server host is performing the AC / DC test, it will enter the waiting state, suspend other test activities, and check the status of the server host again after a preset time. This is to ensure that other tests are continued after the AC / DC test is completed. If the server host is not performing the AC / DC test, the system will query the test items currently to be executed by the storage device and start executing these items. Before executing the test items of the storage device, check whether the storage device is performing the fan test or the management board test. This is to ensure that there is no interference when performing key hardware tests. If the storage device is performing the fan test or the management board test, it will enter the waiting state again, suspend other test activities, and re-judge the status of the storage device after a preset time. If the storage device is not performing the fan test or the management board test, the system will check whether the test items of the storage device have been completed. If the test items of the storage device have been completed, the test process will end, indicating that all related tests have been successfully completed. If the test items of the storage device have not been completed, the system will return to the previous judgment step and recheck the status of the server host and the storage device until all test items are completed.
[0051] By defining constraint rules, the test process can be coordinated between multiple devices to avoid test conflicts and errors caused by interference between devices. The implementation of these rules ensures the accuracy and reliability of the test, providing a solid foundation for subsequent performance evaluation and troubleshooting.
[0052] Exemplarily, executing respective independent test items on the storage device and the server host includes: in response to a first execution instruction sent by the network server, querying the test item table in the database to determine the respective independent test items to be executed by the storage device; executing the respective independent test items on the respective storage devices in sequence according to the execution order of the respective independent test items; monitoring the test progress of the respective independent test items of the respective storage devices, and updating the test results to the test result table of the database in real time; querying the test result table of the database, and when it is checked that the execution of the respective independent test items of the respective storage devices is completed, querying the test item table in the database to determine the respective independent test items to be executed by the server host; executing the independent test items of the server host in sequence according to the execution order of the respective independent test items; monitoring the test progress of the independent test items of the server host, and updating the test results to the test result table of the database in real time.
[0053] When the test process starts, the network server sends a first execution instruction to instruct the storage device and the server host to update their firmware and start executing their respective independent test items, wherein when updating the firmware, the firmware update of the storage device must be completed before the firmware update of the server host. After receiving the instruction, the storage device and the server host query the test item table in the database to determine the independent test items to be executed by the storage device. Specifically, the storage device is connected to the database and accesses the test item table. The independent test items related to the storage device are extracted from the test item table, including information such as the project name, execution order, and expected results.
[0054] According to the execution order of each independent test item, the independent test items are executed on each storage device in turn.
[0055] Start the first independent test project according to the execution order. Execute the test project and record the data and results during the test.
[0056] After completing the current test item, proceed to the next independent test item and repeat the steps. Monitor the test progress of each independent test item of each storage device and update the test results in real time to the test result table of the database. When executing each independent test item, monitor its progress, including the start time, end time and any abnormal conditions. After the test is completed, record the test results (such as success / failure status, performance data, etc.) in the test result table of the database.
[0057] After each storage device completes its own independent test items, check the test result table to confirm the completion status of all test items. Confirm that the execution results of all independent test items have been updated and the status is "Completed". Figure 3 As shown, query and compare the test item tables in the storage device and the server host stored in the database to determine whether all independent test items have been completed. After confirming that the independent test items of the storage device are completed, it is necessary to query the independent test items to be executed by the server host. Similarly, the server host is connected to the database to query the test item table. Extract the information of the independent test items related to the server host, including the project name, execution order, etc. According to the execution order of each independent test item, the independent test items of the server host are executed on the server host in turn. During the test execution, the server host monitors the test progress in real time and updates the results to the database.
[0058] Figure 3 is a specific flow chart of independent testing in one embodiment of the present disclosure, such as Figure 3 As shown, starting from the starting point of the illustrated process, prepare to perform firmware version check and test item execution. First, query the firmware version of the storage device and compare it with the firmware version stored in the database. According to the constraint rule, the firmware update of the storage device must be completed before the firmware update of the server host. After confirming that the firmware update is completed, the storage device queries the test item table in the database and extracts the independent test items related to the storage device. These test items will be executed in sequence according to the execution order of each independent test item. After all independent test items are executed, check the test result table of the storage device to confirm whether all independent test items have been completed. If the independent test items of the storage device have been completed, it will next determine whether the independent test items of the server host have been completed. If the independent test items of the storage device have not been completed, it will return to the judgment step and continue to monitor the status of the storage device until all independent test items are completed. Once it is confirmed that the independent test items of the server host have also been completed, it will enter the joint test phase. If the independent test items of the server host have not been completed, the test item table in the database will be queried, and the test items of the storage device and the server host will continue to be compared to determine the test items to be executed, and re-judge.
[0059] Through the above steps, storage devices and server hosts can effectively execute their own independent test items and record and update the test results in real time. This ensures the systematicness and accuracy of the test, laying the foundation for subsequent joint testing and performance evaluation. At the same time, the real-time updated test results also provide important data support for subsequent troubleshooting and performance optimization.
[0060] Exemplarily, the execution of the joint test items based on the constraint rules on the storage device and the server host includes: in response to a second execution instruction sent by the network server, querying the test item table in the database to determine the various joint test items to be executed by the storage device and the server host; querying the constraint rule table in the database to determine the various rules defined by the constraint rules; executing each joint test item in sequence according to the execution order; dynamically adjusting the execution order of each joint test item based on the various rules defined by the constraint rules; monitoring the test progress of each joint test item, and updating the test results in real time to the test result table of the database.
[0061] Figure 2 is a flowchart of a joint test considering constraint rules in one embodiment of the present disclosure. Figure 2 As shown, in the embodiment of the present disclosure, after the independent test items are completed, the network server will send a second execution instruction to instruct the storage device and the server host to start executing the joint test items. The network server sends the second execution instruction to the storage device and the server host to inform them to prepare to start the joint test.
[0062] After receiving the second execution instruction, the storage device and the server host query the database to obtain detailed information of the joint test project to be executed. The storage device and the server host are connected to the database and access the test project table. The information of the joint test project related to the storage device and the server host is extracted from the test project table, including the project name, execution order, and expected results. The constraint rule table in the database is queried to determine the various rules defined by the constraint rules. The constraint rule table in the database is accessed. The constraint rules related to the joint test project are extracted, including the execution order, dependency, and pause condition.
[0063] The storage device and the server host execute each joint test project one by one according to the execution order of the queried joint test projects. After completing the current test project, enter the next joint test project and repeat the execution steps. In the process of executing the joint test projects, the execution order of the test projects is dynamically adjusted according to the requirements of the constraint rules to ensure the smooth progress of the test. Specifically, during the execution process, the status of the current test project and its impact on other projects are continuously monitored. If it is detected that the execution of a test project will affect the execution of subsequent projects, adjustments are made based on the constraint rules. Update the execution order to ensure that all test projects are carried out in a reasonable order.
[0064] During the test execution, the storage device and server host monitor the progress of the joint test items in real time and update the results to the database for subsequent analysis. When executing each joint test item, monitor its progress, including the start time, end time, and any abnormal conditions. After the test is completed, the test results (such as success / failure status, performance data, etc.) are recorded in the test result table of the database.
[0065] Through the above steps, the storage device and the server host can effectively execute the joint test items based on the constraint rules, and record and update the test results in real time. The devices of the present disclosure work together without affecting each other. At the same time, the real-time updated test results also provide important data support for subsequent performance evaluation and troubleshooting. It not only improves the accuracy and reliability of the test, but also provides a guarantee for the overall performance and service quality of the data center.
[0066] Exemplarily, the method further includes: when it is detected that the test processes of the independent test items of the storage device and the server host are all executed to completion, sending the second execution instruction to the storage device and the server host through the network server.
[0067] Before executing the joint test project, first confirm whether the independent test projects of the storage device and the server host have been completed, as a prerequisite for the smooth progress of the subsequent joint test projects. When the storage device and the server host execute their own independent test projects, the system will monitor the progress of each test project in real time. The monitoring of the test process includes recording the start time, end time, execution status (success or failure) of each test project, and any possible errors or abnormalities.
[0068] After all independent test items are executed, a comprehensive check is performed to confirm that the status of all items is "completed". Once it is confirmed that all independent test items have been completed, the network server will send a second execution instruction to the storage device and the server host, instructing them to start executing the joint test items.
[0069] The present disclosure emphasizes the necessity of ensuring that all independent test items have been completed before conducting joint testing. In this way, the network server can effectively manage the test process, ensure the order and logic of the test, and thus improve the accuracy and reliability of the overall test.
[0070] Exemplarily, an adaptive test scheduling algorithm based on machine learning dynamically adjusts the execution order and parameters of test items of storage devices and server hosts according to historical test result data, device status data, and external environment data; the adaptive test scheduling algorithm is used to prioritize test items of high-risk modules based on historical failure probability predictions of the storage devices and the server hosts, and dynamically adjust resource allocation according to the predicted test time window.
[0071] In the disclosed embodiment, the core goal of the adaptive test scheduling algorithm based on machine learning is to optimize the test sequence and parameters of storage devices and server hosts by analyzing and processing a large amount of data to improve test efficiency and accuracy. The adaptive test scheduling algorithm is used to adjust the test strategy in real time based on historical test results, device status information, and external environment data to ensure priority detection of key issues and dynamically allocate test tasks based on resource availability. Specifically, the adaptive test scheduling algorithm identifies the performance of the device under different test conditions by analyzing the previous test results of the storage device and server host. These historical data can help the model predict the probability of future failures. For example, if a device often fails in a specific test item in the past, the device will be marked as "high risk" and the relevant tests of the device will be prioritized in subsequent tests. The current status of the storage device and server host is monitored in real time, including hardware temperature, power supply voltage, hard disk health status, etc. The device status data can reflect whether the current device is in normal operation. If the status of a device is abnormal (such as too high temperature or reduced hard disk health), the adaptive scheduling algorithm will dynamically adjust the test sequence based on these data to avoid further damage to the device or prioritize the detection of these anomalies.
[0072] At the same time, the adaptive test scheduling algorithm uses external environmental data to optimize test parameters. For example, when the temperature in the computer room is high, the test of heat-sensitive equipment may be delayed or the test frequency may be reduced to prevent further temperature increases from damaging the equipment. The adaptive test scheduling algorithm can dynamically adjust the order and specific parameters of the test based on real-time data. Traditional test systems usually use a fixed test sequence, while the adaptive scheduling algorithm based on machine learning can make real-time optimizations during execution to ensure that the order and conditions of the test items are dynamically adjusted according to actual conditions. According to the device status, historical test data, and environmental factors, determine which test items are more risky and prioritize them. For example, if the historical data of a storage device shows that it is prone to failure when the temperature is above a certain critical value, a thermal stability test will be performed on the device in advance. In addition, if the server host has an abnormality (such as power fluctuation) during execution, the current project is suspended and switched to a low-risk test project to avoid system crashes.
[0073] The machine learning-based adaptive test scheduling algorithm proposed in this disclosure analyzes device status, historical data, and external environment, dynamically adjusts the order and parameters of test items, prioritizes high-risk modules, maximizes the use of system resources, and optimizes the test process. It significantly improves the efficiency and accuracy of the test, ensures the stability and security of the system during the test, and reduces the risk of equipment failure.
[0074] Figure 4 is a structural block diagram of a server testing device provided by an embodiment of the present disclosure, wherein the device is used to perform the steps of a server testing method, such as Figure 4 As shown, the device comprises: A setting module 201 is used to set independent test items and joint test items to be executed for a server host and a storage device connected to the server host, respectively, wherein the independent test items are test items to be executed by the storage device and the server host separately, and the joint test items are test items to be executed by the storage device and the server host in cooperation with each other; A rule definition module 202, used to define constraint rules, wherein the constraint rules are used to limit the execution order of test items that have an impact between the storage device and the server host; The testing module 203 is used to execute respective independent test items on the storage device and the server host, and to execute joint test items based on the constraint rules on the storage device and the server host.
[0075] Optionally, the device further comprises: A first establishing module, used to establish a network server and configure an IP address and a port of the network server, wherein the network server is used for network communication between the storage device and the server host; A second establishment module is used to establish a database, in which a test item table, a test result table, a constraint rule table and a sequence number table are created; A connection mode setting module, used to set the connection mode between the storage device and the server host, and configure the baseboard management controller and operating system of the server host; The scanning module is used to scan the serial numbers of the server host and the storage device, and save the corresponding relationship between the server host and the storage device and their respective serial numbers in the serial number table of the database.
[0076] Optionally, the number of the storage device is at least one; and the test module includes: A first guiding submodule, configured to guide the server host to execute corresponding joint test items based on the constraint rules through a baseboard management controller and an operating system of the server host; The second guiding submodule is used to guide each storage device to execute the corresponding joint test item based on the constraint rule through the baseboard management controller, and update the execution status of each test item into the database with the serial number as the index.
[0077] Optionally, the setting module includes: The project setting submodule is used to set independent test projects for the server host and the storage device, and set the execution order of each independent test project. The independent test project of the server host includes AC / DC test; the independent test project of the storage device includes at least one or more of the following: baseboard management controller board test, power distribution board test, management board test and fan test; An execution order setting submodule, used to set joint test items for the server host and the storage device, and set the execution order of each joint test item; The saving submodule is used to save each test item to the test item table of the pre-established database.
[0078] Optionally, the rule definition module includes: A first rule definition submodule, used to define that the firmware update of the storage device is executed before the firmware update of the server host; A second rule definition submodule is used to define that when it is detected that the server host is performing an AC / DC test, the test item being performed by the storage device is suspended; A third rule definition submodule is used to define that when it is detected that the storage device is performing a fan test or a management board test, the test item being performed by the server host is suspended; The fourth rule definition submodule is used to update the above-defined rules into the constraint rule table of the database.
[0079] Exemplarily, the test module includes: A first response submodule, configured to query the test item table in the database in response to the first execution instruction sent by the network server, and determine each independent test item to be executed by the storage device; A first sequential execution submodule, used to sequentially execute the respective independent test items on the respective storage devices according to the execution order of the respective independent test items; A first monitoring submodule, used to monitor the test progress of each independent test item of each storage device, and update the test results to the test result table of the database in real time; A serial execution submodule, used to query the test result table of the database, and when it is checked that the independent test items of each storage device have been executed, query the test item table in the database to determine the independent test items to be executed by the server host; A second sequential execution submodule, configured to execute the independent test items of the server host on the server host in sequence according to the execution order of each independent test item; The second monitoring submodule is used to monitor the test progress of the independent test items of the server host and update the test results to the test result table of the database in real time.
[0080] Exemplarily, the test module includes: A second response module, configured to query the test item table in the database in response to a second execution instruction sent by the network server, and determine each joint test item to be executed by the storage device and the server host; A rule query submodule, used to query the constraint rule table in the database to determine the various rules defined by the constraint rules; The third sequential execution submodule is used to execute each joint test item in sequence according to the execution order; A dynamic adjustment submodule, used to dynamically adjust the execution order of each joint test item based on the rules defined by the constraint rules; The third monitoring submodule is used to monitor the test progress of each joint test item and update the test results in real time to the test result table of the database.
[0081] Exemplarily, the device further comprises: The instruction condition module is used to send the second execution instruction to the storage device and the server host through the network server when it is checked that the test processes of the independent test items of the storage device and the server host are all completed.
[0082] An embodiment of the present disclosure also provides an electronic device, including a processor, a memory, and a computer program stored in the memory and capable of running on the processor. When the computer program is executed by the processor, the various processes in the above-mentioned server testing method embodiment are implemented and the same technical effect can be achieved. To avoid repetition, it will not be repeated here.
[0083] It should be understood by those skilled in the art that the embodiments of the present disclosure may be provided as methods, devices, and electronic devices. Therefore, the embodiments of the present disclosure may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the embodiments of the present disclosure may take the form of a computer program product implemented on one or more computer-readable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0084] The embodiments of the present disclosure are described with reference to the flowcharts and / or block diagrams of the methods and devices according to the embodiments of the present disclosure. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of the processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing terminal device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing terminal device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 These computer program instructions can also be stored in a computer-readable memory that can guide a computer or other programmable data processing terminal device to work in a specific way, so that the instructions stored in the computer-readable memory produce a product including an instruction device, which implements the functions specified in the process. Figure 1 A process or multiple processes and / or boxes Figure 1 These computer program instructions can also be loaded into a computer or other programmable data processing terminal device, so that a series of operation steps are executed on the computer or other programmable terminal device to produce a computer-implemented process, so that the instructions executed on the computer or other programmable terminal device provide for implementing the process in the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0085] Although the preferred embodiments of the present disclosure have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the present disclosure.
[0086] Finally, it should be noted that, in this article, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the term "include" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article or terminal device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or terminal device. In the absence of further restrictions, the elements defined by the sentence "include..." do not exclude the existence of other identical elements in the process, method, article or terminal device including the elements. The above describes in detail a server testing method, device and electronic device provided by the present disclosure. The present disclosure is described in detail using specific examples in this article to explain the principles and implementation methods of the present disclosure. The description of the above embodiments is only used to help understand the method and its core idea of the present disclosure; at the same time, for those of ordinary skill in the art, according to the idea of the present disclosure, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present disclosure.
Claims
1. A server testing method, characterized in that: The method comprises: Respectively set independent test items and joint test items to be executed for the server host and the storage device connected to the server host, wherein the independent test items are test items that the storage device and the server host perform separately, and the joint test items are test items that the storage device and the server host perform together; Defining constraint rules, wherein the constraint rules are used to limit the execution order of test items that have an impact between the storage device and the server host; Independent test items are executed on the storage device and the server host, and joint test items based on the constraint rules are executed on the storage device and the server host.
2. The method according to claim 1, characterized in that Before setting the test items to be executed for the storage device and the server host, the method further includes: Establishing a network server and configuring an IP address and port of the network server, wherein the network server is used for network communication between the storage device and the server host; Establishing a database, creating a test item table, a test result table, a constraint rule table and a sequence number table in the database; Setting the connection mode between the storage device and the server host, and configuring the baseboard management controller and operating system of the server host; The serial numbers of the server host and the storage device are scanned, and the corresponding relationship between the server host and the storage device and their respective serial numbers is saved in the serial number table of the database.
3. The method according to claim 2, characterized in that The number of the storage device is at least one; the performing of the joint test items based on the constraint rules on the storage device and the server host includes: Guiding the server host to execute corresponding joint test items based on the constraint rules through the baseboard management controller and the operating system of the server host; Through the baseboard management controller, each storage device is guided to execute the corresponding joint test items based on the constraint rules, and the execution status of each test item is updated to the database with the serial number as the index.
4. The method according to claim 1, characterized in that: The method of respectively setting independent test items and joint test items to be executed for the server host and the storage device connected to the server host includes: Independent test items are set for the server host and the storage device respectively, and the execution order of each independent test item is set. The independent test items of the server host include AC / DC test; the independent test items of the storage device include at least one or more of the following: baseboard management controller board test, power distribution board test, management board test and fan test; Setting joint test items for the server host and the storage device, and setting the execution order of each joint test item; Each test item is saved in the test item table of the pre-established database.
5. The method according to claim 2, characterized in that: The definition constraint rules include: Define that the firmware update of the storage device is performed before the firmware update of the server host; It is defined that when it is detected that the server host is performing an AC / DC test, the test item being performed by the storage device is suspended; It is defined that when it is detected that the storage device is performing a fan test or a management board test, the test item being performed by the server host is suspended; Update the above defined rules into the constraint rule table of the database.
6. The method according to claim 2, characterized in that The performing of independent test items on the storage device and the server host respectively includes: In response to the first execution instruction sent by the network server, query the test item table in the database to determine each independent test item to be executed by the storage device; Execute the independent test items on each storage device in turn according to the execution order of each independent test item; Monitor the test progress of each independent test item of each storage device, and update the test results in real time to the test result table of the database; Query the test result table of the database, and when it is checked that the independent test items of each storage device have been executed, query the test item table in the database to determine the independent test items to be executed by the server host; Execute the independent test items of the server host on the server host in sequence according to the execution order of each independent test item; Monitor the test progress of the independent test items of the server host, and update the test results in real time to the test result table of the database.
7. The method according to claim 2, characterized in that The performing of a joint test item based on the constraint rule on the storage device and the server host includes: In response to a second execution instruction sent by the network server, querying the test item table in the database to determine each joint test item to be executed by the storage device and the server host; Query the constraint rule table in the database to determine the rules defined by the constraint rule; Execute each joint test item in sequence according to the execution order; Dynamically adjust the execution order of each joint test item based on the rules defined by the constraint rules; Monitor the test progress of each joint test project and update the test results in real time to the test result table of the database.
8. The method according to claim 7, characterized in that The method further comprises: When it is detected that the test processes of the independent test items of the storage device and the server host are all completed, the second execution instruction is sent to the storage device and the server host through the network server.
9. A server testing device, characterized in that: The device comprises: A setting module, used to set independent test items and joint test items to be executed for a server host and a storage device connected to the server host, respectively, wherein the independent test items are test items to be executed by the storage device and the server host separately, and the joint test items are test items to be executed by the storage device and the server host in cooperation with each other; A rule definition module, used to define constraint rules, wherein the constraint rules are used to limit the execution order of test items that have an impact between the storage device and the server host; A testing module is used to execute respective independent test items on the storage device and the server host, and to execute joint test items based on the constraint rules on the storage device and the server host.
10. An electronic device, characterized in that: include: A processor, a memory, and a computer program stored in the memory and capable of running on the processor, wherein the computer program implements the steps of the method according to any one of claims 1 to 8 when executed by the processor.
Citation Information
Cited By
Cabinet server test method and system, electronic equipment and storage medium
CN120276924A
A rack server testing method, system, electronic device and storage medium
CN120276924B