A method and system for SSD test controller to interact with tester
By using the WebSocket protocol in SSD testing to achieve real-time bidirectional communication between the control machine and the test machine, the problems of high CPU utilization and latency caused by communication between the control machine and multiple test machines are solved, thus improving testing efficiency and communication smoothness.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- LUANQI TECH (SUZHOU) CO LTD
- Filing Date
- 2026-04-23
- Publication Date
- 2026-06-19
AI Technical Summary
During SSD batch testing, the communication method between the control machine and the test machine resulted in excessive CPU utilization. Polling consumed a lot of resources, causing the interface to lag. Furthermore, the increased latency when multiple test machines communicated simultaneously affected testing efficiency.
A real-time bidirectional communication channel is established between the control machine and the test machine using the WebSocket protocol. By establishing an SSD test service module on the control machine and an SSD test client module on the test machine, real-time bidirectional communication between the control machine and multiple test machines is achieved.
It improves the efficiency of SSD testing, reduces CPU overhead, reduces data transfer volume, supports server-side data push, reduces the performance overhead of frequent connection establishment and closure, and ensures smooth and real-time communication.
Smart Images

Figure CN122240505A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of SSD testing technology, specifically relating to a method for interaction between an SSD test controller and a test machine. Background Technology
[0002] SSD (Solid State Disk) is a type of hard drive that typically consists of a controller, cache, and flash memory arranged on a single circuit board. The controller manages data read and write tasks, the flash memory stores the data, and the cache caches data to improve read and write speeds. SSDs undergo various functional tests before leaving the factory, including tests for read and write performance, health status, data integrity, temperature control, and high-load testing. During batch testing of SSDs, stuttering and other issues can occur, leading to inefficiencies and difficulty in running smoothly. Summary of the Invention
[0003] The present invention aims to provide a method and system for interaction between an SSD test controller and a test machine, so as to achieve smooth communication between the controller and the test machine and improve the testing efficiency of SSDs.
[0004] In SSD testing scenarios, a control machine can be used to operate test machines to test the SSD. There is typically only one control machine, so it should ideally be set as the server. One communication method between the control and test machines is using the HTTP protocol. The drawback is that only the test machine (client) can actively send requests to the control machine (server). However, the control machine frequently needs to send commands to the test machines. Since the control machine cannot actively communicate with the test machines, the test machines can only frequently send HTTP requests to the control machine to poll for commands to be executed. But when there are multiple test machines, this can lead to excessive CPU usage on the control machine program. Polling consumes a lot of resources, causing the current user interface to lag. Therefore, to reduce CPU overhead, the polling frequency may need to be reduced. However, this also reduces the real-time refresh frequency, increasing the latency for commands sent from the interface (control machine) to the test machine. Furthermore, even with a reduced polling frequency, multiple test machines may still send a large number of HTTP requests within the same time period, causing CPU usage to remain high at certain times.
[0005] To achieve the above objectives, the present invention adopts the following technical solution: A method is provided for interaction between an SSD test controller and a test machine, including: Multiple test machines are set up for SSD testing, and SSD test client modules are established on different test machines. The SSD test client modules are equipped with SSD test units for executing different test contents during the SSD testing process. A control unit is set up to control each of the test machines. An SSD test service module is established on the control unit. The SSD test service module is provided with multiple SSD test service units for managing the testing of different SSDs. Each SSD test service unit is provided with an SSD test service subunit for managing the corresponding SSD test unit. A communication network is constructed between the control unit and each of the test units, and a communication channel based on the WebSocket protocol is established between the control unit and each of the test units to realize real-time bidirectional communication between the control unit and each of the test units.
[0006] Preferably, the SSD testing unit includes a script scheduling unit, a temperature chamber control unit, a temperature synchronization waiting unit, a statistical chart unit, an event log unit, a power control unit, a script transmission unit, a script YAML update unit, and / or a firmware update unit; The SSD testing service subunit includes a script scheduling service subunit, a temperature chamber control service subunit, a temperature synchronization waiting service subunit, a statistical chart service subunit, an event log service subunit, a power control service subunit, a script transmission service subunit, a script YAML update service subunit, and / or a firmware update service subunit.
[0007] Preferably, the real-time bidirectional communication between the control unit and each of the test units includes: Constructing control terminal category data: Encapsulate the information that the control machine needs to send to the test machine into control terminal category data, and encapsulate the business information that the test machine needs to execute during the test process into corresponding control terminal member functions into the control terminal category data; Construct test-end category data: Encapsulate the information that the test machine needs to send to the control machine into test-end category data, and encapsulate the business information that the control machine needs to execute during the test process into the corresponding test-end member functions into the test-end category data; Construct a communication container: Establish the binding relationship between the member functions of the control terminal and the communication interface names of each of the test machines, as well as the binding relationship between the member functions of the test terminal and the communication interface names of the control machine, and store them in a container for communication, so that the test machine or control machine can perform corresponding business processing after receiving the signal through the communication channel based on the WebSocket protocol.
[0008] Preferably, the control machine is a Windows 10 / 11 based control machine; the test machine is an Ubuntu based test machine; the control machine is equipped with a MySQL database, and the test machine is equipped with an SQLITE database.
[0009] Preferably, the SSD testing service module also includes a log recording unit, a permission control unit, and a message system unit.
[0010] This invention also provides a system for interaction between an SSD test controller and a test machine, comprising: The SSD test client module is deployed in multiple test machines used for SSD testing. The SSD test client module is equipped with an SSD test unit for performing different test contents during the SSD testing process. The SSD testing service module is located in a control unit for controlling each of the testing machines. The SSD testing service module includes an SSD testing service unit for managing the testing of different SSDs, and the SSD testing service unit includes an SSD testing service subunit for managing the corresponding SSD testing unit. The communication module based on the WebSocket protocol establishes a communication network between the control machine and each of the test machines, and establishes a communication channel based on the WebSocket protocol between the control machine and each of the test machines, thereby realizing real-time bidirectional communication between the control machine and each of the test machines.
[0011] Preferably, the SSD testing unit includes a script scheduling unit, a temperature chamber control unit, a temperature synchronization waiting unit, a statistical chart unit, an event log unit, a power control unit, a script transmission unit, a script YAML update unit, and a firmware update unit; The SSD testing service subunit includes a script scheduling service subunit, a temperature chamber control service subunit, a temperature synchronization waiting service subunit, a statistical chart service subunit, an event log service subunit, a power control service subunit, a script transmission service subunit, a script YAML update service subunit, and a firmware update service subunit.
[0012] Preferably, the communication module based on the WebSocket protocol includes: Control terminal category data construction unit: used to encapsulate the information that the control machine needs to send to the test machine into control terminal category data, and to encapsulate the business information that the test machine needs to execute during the test process into the corresponding control terminal member functions into the control terminal category data; Test-end category data construction unit: used to encapsulate the information that the test machine needs to send to the control machine into test-end category data, and to encapsulate the business information that the control machine needs to execute during the test process into corresponding test-end member functions into the test-end category data; Communication container construction unit: used to establish the binding relationship between the member functions of the control terminal and the communication interface names of each of the test machines, and the binding relationship between the member functions of the test terminal and the communication interface names of the control machine, and store them in a container for communication, so that the test machine or control machine can perform corresponding business processing after receiving the signal through the communication channel based on the WebSocket protocol.
[0013] Preferably, the control machine is a Windows 10 / 11 based control machine; the test machine is an Ubuntu based test machine; the control machine is equipped with a MySQL database, and the test machine is equipped with an SQLITE database.
[0014] Preferably, the SSD testing service module also includes a log recording unit, a permission control unit, and a message system unit.
[0015] Compared with existing technologies, the beneficial effects of this invention are as follows: In this method of interaction between the SSD test controller and the test machines, multiple test machines are controlled by one controller to perform SSD testing, enabling batch SSD testing. Test machines for corresponding test items can be configured according to testing requirements. Multiple test machines of different types can be deployed to perform batch testing of specific functions on different SSDs, improving testing efficiency. By establishing SSD test client modules on different test machines, establishing SSD test service modules on the controller, and constructing a communication network between the controller and each test machine, the SSD test service module can interact with the SSD test client module through the communication network. This method establishes communication channels based on the WebSocket protocol between the controller and each test machine, giving the communication in this method of interaction between the SSD test controller and the test machines the following advantages: 1. Real-time performance and low latency: WebSocket provides full-duplex communication, allowing the server and client to send and receive data simultaneously. 2. Less data transmission: The WebSocket communication protocol is lightweight with less header information; therefore, when transmitting data, the WebSocket protocol communication method can save bandwidth and reduce data transmission volume. 3. Supports server-side push: WebSocket allows the server to proactively push data to the client, making it more efficient in implementing real-time updates and notifications. 4. Better performance: Because WebSocket uses persistent connections, it reduces the performance overhead caused by frequently creating and closing connections, ensuring smooth communication between the control machine and each test machine, and guaranteeing high testing efficiency. Attached Figure Description
[0016] The accompanying drawings are provided to further illustrate the invention and form part of the specification. They are used in conjunction with embodiments of the invention to explain the invention and do not constitute a limitation thereof. In the drawings: Figure 1 This is a flowchart of an embodiment of the method for interaction between the SSD test controller and the test machine according to the present invention.
[0017] Figure 2 This is a schematic diagram illustrating the communication principle between the controller and the test machine in one embodiment of the SSD test controller and test machine interaction method of the present invention.
[0018] Figure 3 This is an architecture diagram of an embodiment of the system for interaction between the SSD test controller and the test machine according to the present invention. Detailed Implementation
[0019] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0020] In one embodiment, a method is provided for interaction between an SSD test controller and a test machine, such as... Figure 1-2 As shown, the method for the SSD test controller to interact with the test machine includes the following steps: Step S100: Deploy multiple test machines for SSD testing, and establish SSD test client modules on different test machines. Each SSD test client module has an SSD test unit for testing SSDs, and each SSD test unit has an SSD test unit for performing different test content.
[0021] Step S200: Deploy a control machine for controlling each test machine, establish an SSD test service module on the control machine, the SSD test service module has multiple SSD test service units for managing the testing of different SSDs, and the SSD test service units have SSD test service sub-units for managing the corresponding SSD test units.
[0022] Step S300: Build a communication network between the control unit and each test unit, and establish a communication channel based on the WebSocket protocol between the control unit and each test unit to realize real-time bidirectional communication between the control unit and each test unit.
[0023] In this method of interaction between the SSD test controller and the test machines, one controller can control multiple test machines to perform SSD tests, enabling batch testing and improving testing efficiency. Test machines can be configured according to specific testing requirements, such as some testing machines for SSD read / write performance, others for SSD health status, some for SSD data integrity, others for SSD temperature fluctuations, and still others for high-load operation. Multiple test machines of different types can be deployed to perform batch testing of specific functions on different SSDs. For example, after testing read / write performance, a batch of SSDs can be sequentially tested for health status, data integrity, temperature fluctuations, and high-load operation.
[0024] By establishing SSD test client modules on different test machines, each SSD test client module is configured with SSD test units according to the test items of that test machine, and different test contents are executed through different SSD test units. By establishing an SSD test service module on the control machine and building a communication network between the control machine and each test machine, the SSD test service module can interact with the SSD test client module based on the Socket communication mode through the communication network. Different SSD test service units in the SSD test service module are matched with corresponding test machines. That is, the SSD test service sub-units in the SSD test service unit correspond to the SSD test units in a certain test machine, so that the SSD test units can be controlled to execute test items through the SSD test service sub-units.
[0025] By establishing communication channels based on the WebSocket protocol between the control machine and each test machine, the communication method for interaction between the SSD test control machine and the test machines has the following advantages: 1. Real-time performance and low latency: WebSocket provides full-duplex communication, allowing the server and client to send and receive data simultaneously. In contrast, HTTP is half-duplex, requiring the client to send a request before the server can respond, resulting in poor real-time performance and higher latency. 2. Less data transmission: WebSocket's communication protocol is lightweight with fewer headers. In contrast, HTTP requests include more headers, thus saving bandwidth and reducing data transmission volume. 3. Support for server push: WebSocket allows the server to proactively push data to the client, while HTTP can only passively respond to client requests. This makes WebSocket more efficient for implementing real-time updates and notifications. 4. Better performance: Because WebSocket uses persistent connections, it reduces the performance overhead caused by frequently creating and closing connections. HTTP disconnects after each request and needs to re-establish a connection for subsequent requests, consuming more system resources.
[0026] Furthermore, in the method for interaction between the SSD test controller and the test machine, the SSD test unit includes a script scheduling unit, a temperature chamber control unit, a temperature synchronization waiting unit, a statistical chart unit, an event log unit, a power control unit, a script transmission unit, a script YAML update unit, and / or a firmware update unit.
[0027] The script scheduling unit schedules scripts during SSD testing; the temperature chamber control unit controls the temperature and time of the temperature chamber during SSD testing; the temperature synchronization waiting unit keeps the temperatures of different temperature chambers synchronized during SSD testing; the statistical chart unit compiles test reports during SSD testing; the EventLog unit records test logs during SSD testing; the Power Control unit controls the start and stop of the test machine during SSD testing; the script transmission unit transmits scripts during SSD testing; the script YAML update unit updates scripts during SSD testing; and the firmware update unit updates the firmware of the test machine during SSD testing. Based on the test items of each test machine, corresponding SSD test units are set up in the SSD test module of the test machine.
[0028] The SSD testing service subunit includes a script scheduling service subunit, a temperature chamber control service subunit, a temperature synchronization waiting service subunit, a statistical chart service subunit, an event log service subunit, a power control service subunit, a script transmission service subunit, a script YAML update service subunit, and / or a firmware update service subunit. The number and type of SSD testing service subunits in each SSD testing service unit are matched according to the SSD testing units in the corresponding test machine's SSD testing module. The script scheduling service subunit, temperature chamber control service subunit, temperature synchronization waiting service subunit, statistical chart service subunit, event log service subunit, power control service subunit, script transmission service subunit, script YAML update service subunit, and firmware update service subunit are respectively used to control the execution of the script scheduling unit, temperature chamber control unit, temperature synchronization waiting unit, statistical chart unit, event log unit, power control unit, script transmission unit, script YAML update unit, and firmware update unit through communication between the control machine and the test machine.
[0029] Furthermore, in the method for interaction between the SSD test controller and the test machine, the real-time bidirectional communication between the controller and each test machine includes: constructing control-end category data: encapsulating the information that the controller needs to send to the test machine into control-end category data, and encapsulating the business information that the test machine needs to execute during the test process into corresponding control-end member functions into the control-end category data; constructing test-end category data: encapsulating the information that the test machine needs to send to the controller into test-end category data, and encapsulating the business information that the controller needs to execute during the test process into corresponding test-end member functions into the test-end category data; constructing a communication container: establishing the binding relationship between the control-end member functions and the communication interface names of each test machine, as well as the binding relationship between the test-end member functions and the communication interface names of the controller, and storing them in a container for communication, so that the test machine or controller can perform corresponding business processing after receiving the signal through the WebSocket protocol-based communication channel.
[0030] To achieve real-time bidirectional communication between the control unit and various test units, the WebSocket protocol is implemented using C++ based on the system's provided Socket interface. Information sent by the control unit and the test units is encapsulated into WebSocketServer (control unit type data) and WebSocketClient (test unit type data), respectively. The business logic required for testing is encapsulated into corresponding member functions within their respective classes for easy invocation. Then, a binding relationship is established between the interface name and the member functions, and the data is stored in std::unordered_map.<std::string,std::function> Within the container, the testing machine or control machine processes the corresponding task after receiving the signal. In the real-time two-way communication between the control machine and each testing machine, the control machine mainly sends corresponding control information to each testing machine, while the information sent by the testing machines to the control machine mainly includes test reports and information such as test completion, test termination, and test end.
[0031] Based on the above embodiments, it can be seen that in the method of interaction between the SSD test controller and the test machine, when performing SSD testing, this method can establish a WebSocket channel between the controller and the test machine, allowing them to communicate with each other efficiently without frequently sending HTTP requests for polling, thereby saving bandwidth and reducing system overhead.
[0032] In this method of interaction between the SSD test controller and the test machine, the user can use this method to complete the following requirements: The user can click on the disk to be tested in the TestControl interface; the user can click the Start button to enter the script selection page; the user can select the script to be tested in the Select Script interface; the user can start the test by clicking the Submit button on the Select Script interface.
[0033] Furthermore, in the method for interaction between the SSD test controller and the test machine, the controller is based on a Windows 10 / 11 system; the test machine is based on an Ubuntu system; the controller has a MySQL database, and the test machine has an SQLite database. By using a Windows 10 / 11-based controller and an Ubuntu-based test machine, and by configuring a MySQL database on the controller and an SQLite database on the test machine, suitable hardware and software support is provided for the interaction method between the SSD test controller and the test machine.
[0034] Furthermore, in the method for interaction between the SSD test controller and the test machine, the SSD test service module also includes a log recording unit, a permission control unit, and a message system unit. The aforementioned Event Log unit records test logs during SSD testing; this log recording unit records various logs, including login attempts and access control logs for the controller, the controller's running status, and resource usage logs. The permission control unit controls user login permissions to the controller; and the message system unit records and displays messages from each test machine.
[0035] In another embodiment, a system is provided for interaction between an SSD test controller and a test machine, combined with... Figure 3As shown, the system includes an SSD test client module, an SSD test service module, and a WebSocket-based communication module. The SSD test client module is deployed in multiple test machines used for SSD testing. Each SSD test client module contains SSD test units for performing different tests. The SSD test service module is deployed in a control machine used to control the test machines. The SSD test client module also contains SSD test units for performing different tests during the SSD testing process. The WebSocket-based communication module establishes a communication network between the control machine and each test machine, and then establishes WebSocket-based communication channels between the control machine and each test machine, enabling real-time bidirectional communication between them.
[0036] In this SSD test controller and testing machine interaction system, a single controller manages multiple testing machines to perform SSD tests. This enables batch SSD testing, improving testing efficiency. Testing machines are configured according to specific testing needs; for example, some machines may test SSD read / write performance, others may test health status, data integrity, temperature fluctuations, or high-load operation. Multiple testing machines of different types can be deployed to perform batch testing of specific functions on different SSDs. For instance, after testing read / write performance, a batch of SSDs can be sequentially tested for health status, data integrity, temperature fluctuations, and high-load operation.
[0037] By establishing SSD test client modules on different test machines, each SSD test client module is configured with SSD test units according to the test items of that test machine, and different test contents are executed through different SSD test units. By establishing an SSD test service module on the control machine and building a communication network between the control machine and each test machine, the SSD test service module can interact with the SSD test client modules through the communication network. Different SSD test service units within the SSD test service module are matched with corresponding test machines; that is, the SSD test service sub-units within an SSD test service unit correspond to the SSD test units on a specific test machine, so that the SSD test units can be controlled to execute test items through the SSD test service sub-units.
[0038] By establishing communication channels based on the WebSocket protocol between the control machine and each test machine, the communication in the system interacting with the SSD test control machine has the following advantages: 1. Real-time performance and low latency: WebSocket provides full-duplex communication, allowing the server and client to send and receive data simultaneously. In contrast, HTTP is half-duplex, requiring the client to send a request before the server can respond, resulting in poor real-time performance and higher latency. 2. Less data transmission: WebSocket's communication protocol is lightweight with fewer headers. In contrast, each HTTP request carries more header information. Therefore, WebSocket's communication method saves bandwidth and reduces data transmission volume. 3. Support for server push: WebSocket allows the server to actively push data to the client, while HTTP can only passively respond to client requests. This makes WebSocket more efficient in implementing functions such as real-time updates and notifications. 4. Better performance: Because WebSocket uses persistent connections, it reduces the performance overhead caused by frequently creating and closing connections. HTTP disconnects after each request and needs to re-establish a connection for subsequent requests, consuming more system resources.
[0039] Furthermore, in combination Figure 3 As shown, in the system where the SSD test controller interacts with the test machine, the SSD test unit includes a script scheduling unit, a temperature chamber control unit, a temperature synchronization waiting unit, a statistical chart unit, an event log unit, a power control unit, a script transmission unit, a script YAML update unit, and a firmware update unit. The script scheduling unit schedules scripts during SSD testing; the temperature chamber control unit controls the temperature and time of the temperature chamber during SSD testing; the temperature synchronization waiting unit keeps the temperatures of different temperature chambers synchronized during SSD testing; the statistical chart unit compiles test reports during SSD testing; the event log unit records test logs during SSD testing; the power control unit controls the start and stop of the test machine during SSD testing; the script transmission unit transmits scripts during SSD testing; the script YAML update unit updates scripts during SSD testing; and the firmware update unit updates the firmware of the test machine during SSD testing. Based on the test items of each test machine, corresponding SSD test units are set up in the SSD test module of the test machine.
[0040] The SSD testing service subunit includes a script scheduling service subunit, a temperature chamber control service subunit, a temperature synchronization waiting service subunit, a statistical chart service subunit, an event log service subunit, a power control service subunit, a script transmission service subunit, a script YAML update service subunit, and / or a firmware update service subunit. The number and type of SSD testing service subunits in each SSD testing service unit are matched according to the SSD testing units in the corresponding test machine's SSD testing module. The script scheduling service subunit, temperature chamber control service subunit, temperature synchronization waiting service subunit, statistical chart service subunit, event log service subunit, power control service subunit, script transmission service subunit, script YAML update service subunit, and firmware update service subunit are respectively used to control the execution of the script scheduling unit, temperature chamber control unit, temperature synchronization waiting unit, statistical chart unit, event log unit, power control unit, script transmission unit, script YAML update unit, and firmware update unit through communication between the control machine and the test machine.
[0041] Furthermore, in the system where the SSD test controller interacts with the test machine, the communication module based on the WebSocket protocol includes a control-end category data construction unit, a test-end category data construction unit, and a communication container construction unit. The control-end category data construction unit encapsulates information that the controller needs to send to the test machine into control-end category data, and encapsulates the business information that the test machine needs to execute during the testing process into corresponding control-end member functions. The test-end category data construction unit encapsulates information that the test machine needs to send to the controller into test-end category data, and encapsulates the business information that the controller needs to execute during the testing process into corresponding test-end member functions. The communication container construction unit establishes the binding relationship between the control-end member functions and the communication interface names of each test machine, as well as the binding relationship between the test-end member functions and the communication interface names of the controller, and stores these in a container for communication. This allows the test machine or controller to perform corresponding business processing after receiving a signal through the WebSocket protocol-based communication channel.
[0042] To achieve real-time bidirectional communication between the control unit and various test units, the WebSocket protocol is implemented using C++ based on the system's provided Socket interface. Information sent by the control unit and the test units is encapsulated into WebSocketServer (control unit type data) and WebSocketClient (test unit type data), respectively. The business logic required for testing is encapsulated into corresponding member functions within their respective classes for easy invocation. Then, a binding relationship is established between the interface name and the member functions, and the data is stored in std::unordered_map.<std::string,std::function> Within the container, the testing machine or control machine processes the corresponding task after receiving the signal. In the real-time two-way communication between the control machine and each testing machine, the control machine mainly sends corresponding control information to each testing machine, while the information sent by the testing machines to the control machine mainly includes test reports and information such as test completion, test termination, and test end.
[0043] Based on the above embodiments, it can be seen that in the system where the SSD test controller and the test machine interact, when performing SSD testing, this method can establish a WebSocket channel between the controller and the test machine, allowing them to communicate with each other efficiently without frequently sending HTTP requests for polling, thereby saving bandwidth and reducing system overhead.
[0044] In this system where the SSD test controller interacts with the test machine, users can use this method to complete the following requirements: Users can click on the drive to be tested in the TestControl interface; users can click the Start button to enter the script selection page; users can select the script to be tested in the Select Script interface; users can start the test by clicking the Submit button on the Select Script interface.
[0045] Furthermore, in the system where the SSD test controller and the test machine interact, the controller is based on Windows 10 / 11, and the test machine is based on Ubuntu. The controller has a MySQL database, and the test machine has an SQLite database. By using a Windows 10 / 11 controller and an Ubuntu-based test machine, and by configuring a MySQL database on the controller and an SQLite database on the test machine, suitable hardware and software support is provided for the interaction between the SSD test controller and the test machine.
[0046] Furthermore, in the system where the SSD test control machine interacts with the test machines, the SSD test service module also includes a log recording unit, a permission control unit, and a message system unit. The Event Log unit, mentioned earlier, records test logs during SSD testing. This log recording unit records various logs, including login attempts and access control logs for the control machine, the control machine's running status, and resource usage logs. The permission control unit controls user login permissions to the control machine; the message system unit records and displays messages from each test machine.
[0047] It should be noted that, in this document, terms such as “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 process, method, article, or apparatus.
[0048] Although embodiments of the invention have been shown and described, it will be understood by those skilled in the art that various changes, modifications, substitutions and alterations can be made to these embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the appended claims and their equivalents.
Claims
1. A method for interaction between an SSD test controller and a test machine, characterized in that, include: Multiple test machines are set up for SSD testing, and SSD test client modules are established on different test machines. The SSD test client modules are equipped with SSD test units for executing different test contents during the SSD testing process. A control unit is set up to control each of the test machines. An SSD test service module is established on the control unit. The SSD test service module is provided with multiple SSD test service units for managing the testing of different SSDs. Each SSD test service unit is provided with an SSD test service subunit for managing the corresponding SSD test unit. A communication network is constructed between the control unit and each of the test units, and a communication channel based on the WebSocket protocol is established between the control unit and each of the test units to realize real-time bidirectional communication between the control unit and each of the test units.
2. The method for interaction between the SSD test controller and the test machine according to claim 1, characterized in that: The SSD testing unit includes a script scheduling subunit, a temperature chamber control subunit, a temperature synchronization waiting subunit, a statistical chart subunit, an event log subunit, a power control subunit, a script transmission subunit, a script YAML update subunit, and / or a firmware update subunit; The SSD testing service subunit includes a script scheduling service subunit, a temperature chamber control service subunit, a temperature synchronization waiting service subunit, a statistical chart service subunit, an event log service subunit, a power control service subunit, a script transmission service subunit, a script YAML update service subunit, and / or a firmware update service subunit.
3. The method for interaction between the SSD test controller and the test machine according to claim 2, characterized in that, The real-time bidirectional communication between the control unit and each of the test units includes: Constructing control terminal category data: Encapsulate the information that the control machine needs to send to the test machine into control terminal category data, and encapsulate the business information that the test machine needs to execute during the test process into corresponding control terminal member functions into the control terminal category data; Construct test-end category data: Encapsulate the information that the test machine needs to send to the control machine into test-end category data, and encapsulate the business information that the control machine needs to execute during the test process into the corresponding test-end member functions into the test-end category data; Construct a communication container: Establish the binding relationship between the member functions of the control terminal and the communication interface names of each of the test machines, as well as the binding relationship between the member functions of the test terminal and the communication interface names of the control machine, and store them in a container for communication, so that the test machine or control machine can perform corresponding business processing after receiving the signal through the communication channel based on the WebSocket protocol.
4. The method for interaction between the SSD test controller and the test machine according to claim 3, characterized in that: The control machine is based on the Windows 10 / 11 system; the test machine is based on the Ubuntu system; the control machine is equipped with a MySQL database, and the test machine is equipped with an SQLITE database.
5. The method for interaction between the SSD test controller and the test machine according to claim 3, characterized in that: The SSD testing service module also includes a log recording unit, an access control unit, and a message system unit.
6. A system for interaction between an SSD test controller and a test machine, characterized in that, include: The SSD test client module is deployed in multiple test machines used for SSD testing. The SSD test client module is equipped with an SSD test unit for performing different test contents during the SSD testing process. The SSD testing service module is located in a control unit for controlling each of the testing machines. The SSD testing service module includes an SSD testing service unit for managing the testing of different SSDs, and the SSD testing service unit includes an SSD testing service subunit for managing the corresponding SSD testing unit. The communication module based on the WebSocket protocol establishes a communication network between the control machine and each of the test machines, and establishes a communication channel based on the WebSocket protocol between the control machine and each of the test machines, thereby realizing real-time bidirectional communication between the control machine and each of the test machines.
7. The system for interaction between the SSD test controller and the test machine according to claim 6, characterized in that: The SSD testing unit includes a script scheduling unit, a temperature chamber control unit, a temperature synchronization waiting unit, a statistical chart unit, an event log unit, a power control unit, a script transmission unit, a script YAML update unit, and / or a firmware update unit; The SSD testing service subunit includes a script scheduling service subunit, a temperature chamber control service subunit, a temperature synchronization waiting service subunit, a statistical chart service subunit, an event log service subunit, a power control service subunit, a script transmission service subunit, a script YAML update service subunit, and / or a firmware update service subunit.
8. The system for interaction between the SSD test controller and the test machine according to claim 7, characterized in that, The communication module based on the WebSocket protocol includes: Control terminal category data construction unit: used to encapsulate the information that the control machine needs to send to the test machine into control terminal category data, and to encapsulate the business information that the test machine needs to execute during the test process into the corresponding control terminal member functions into the control terminal category data; Test-end category data construction unit: used to encapsulate the information that the test machine needs to send to the control machine into test-end category data, and to encapsulate the business information that the control machine needs to execute during the test process into corresponding test-end member functions into the test-end category data; Communication container construction unit: used to establish the binding relationship between the member functions of the control terminal and the communication interface names of each of the test machines, and the binding relationship between the member functions of the test terminal and the communication interface names of the control machine, and store them in a container for communication, so that the test machine or control machine can perform corresponding business processing after receiving the signal through the communication channel based on the WebSocket protocol.
9. The system for interaction between the SSD test controller and the test machine according to claim 8, characterized in that: The control machine is based on the Windows 10 / 11 system; the test machine is based on the Ubuntu system; the control machine is equipped with a MySQL database, and the test machine is equipped with an SQLITE database.
10. The system for interaction between the SSD test controller and the test machine according to claim 9, characterized in that: The SSD testing service module also includes a log recording unit, an access control unit, and a message system unit.