Index collection method and device and related equipment
By employing a long-connection communication mechanism in distributed training, custom metric collection and testing were achieved, solving the problem that traditional polling monitoring could not collect millisecond-level data in a timely manner. This improved the real-time performance and resource utilization efficiency of operation and maintenance monitoring, and reduced the waste of GPU computing power.
Patent Information
- Application Number
- CN202511149299.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-15
- Publication Date
- 2025-12-09
AI Technical Summary
In distributed training, when the GPU memory bandwidth and RDMA network throughput are mismatched, traditional polling monitoring cannot collect millisecond-level data in a timely manner, resulting in the inability to locate performance bottlenecks, wasting GPU computing power, and failing to selectively collect key indicators.
It adopts a long-connection communication mechanism, using WebSocket to achieve bidirectional communication between the client and the data collection server. It supports custom metric collection tasks and test commands, maintains blacklists and whitelists at the client and command levels, and achieves millisecond-level metric collection and testing.
It improves the convenience and real-time performance of operation and maintenance monitoring, reduces the probability of AI training interruption, saves computing power costs, supports custom collection methods and millisecond-level collection, and improves the ability to locate performance bottlenecks in a timely manner.
Smart Images

Figure CN121098689A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of operation and maintenance monitoring technology, and in particular to an indicator collection method, device and related equipment. Background Technology
[0002] In distributed training, the collaborative efficiency of the GPU and RDMA network directly impacts computational performance. Most obviously, when the GPU's memory bandwidth and the RDMA network throughput are mismatched, traditional polling monitoring, which often employs polling mechanisms (such as HTTP polling or timed push reporting), suffers from long collection intervals. This prevents the selective collection of millisecond-level data on key metrics, hindering the detection of performance fluctuations and hindering the timely identification of performance bottlenecks, resulting in wasted GPU computing power. Therefore, timely identification of performance bottlenecks provides crucial foundational data support for computational optimization. Summary of the Invention
[0003] This application provides an indicator acquisition method, apparatus, and related equipment.
[0004] Firstly, this application provides a method for collecting metrics, applied to a data collection server, wherein a proxy program for metric collection is deployed on a client, and a long-lived communication connection is established and maintained between the data collection server and the proxy program on the client; the method includes:
[0005] A collection task instruction is sent to the agent program of the target client through a long communication connection. The collection task instruction includes the target indicator to be collected, the collection period of the target indicator, and the collection duration of the target indicator using the collection period.
[0006] The agent program receiving the target client collects the target metrics based on the collection task.
[0007] Optionally, the agent program of the target client communicates with the agents programs of other clients; the method further includes:
[0008] Test commands are sent to the agent program of the target client through a long communication connection with the agent program of the target client, so that the agent program of the target client and the agent programs of the other clients can complete the test based on the test commands and obtain the test results;
[0009] Receive the test results returned by the agent program of the target client.
[0010] Optionally, the data collection server maintains a blacklist of client IP addresses; before sending data collection task instructions / test instructions to the agent program of the target client via a long-lived communication connection, the method further includes:
[0011] Determine whether the target client's IP address is in the client IP blacklist;
[0012] If it is determined that the IP of the target client is not in the client IP blacklist, then the operation of sending the collection task instruction / test instruction to the agent program of the target client through the long communication connection between the agent program and the agent program of the target client is executed;
[0013] If the target client's IP address is determined to be in the client IP blacklist, the process ends.
[0014] Optionally, the data collection server maintains a blacklist of instructions; the method further includes:
[0015] Determine whether the test instruction is in the instruction blacklist;
[0016] If it is determined that the test instruction is not in the instruction blacklist, then the operation of sending the test instruction to the agent program of the target client through a long communication connection with the agent program of the target client is executed;
[0017] If the target client's IP address is determined to be in the client IP blacklist, the process ends.
[0018] Optionally, the long-lived communication connection is a WebSocket connection.
[0019] Secondly, this application provides an indicator acquisition device applied to an acquisition server, wherein an agent program for indicator acquisition is deployed on a client, and a long-lived communication connection is established and maintained between the acquisition server and the agent program on the client; the device includes:
[0020] The sending unit is configured to send a collection task instruction to the agent program of the target client through a long communication connection with the agent program of the target client, wherein the collection task instruction includes a target indicator to be collected, a collection period of the target indicator, and a collection duration of the target indicator using the collection period.
[0021] A receiving unit is used to receive the target indicators collected by the agent program of the target client based on the collection task.
[0022] Optionally, the agent program of the target client communicates with the agents programs of other clients;
[0023] The sending unit is further configured to send a test command to the agent program of the target client through a long communication connection with the agent program of the target client, so that the agent program of the target client and the agent programs of the other clients complete the test based on the test command and obtain the test result;
[0024] The receiving unit is also configured to receive the test results returned by the agent program of the target client.
[0025] Optionally, the data acquisition server maintains a blacklist of client IP addresses; before sending data acquisition task instructions / test instructions to the agent program of the target client via a long-lived communication connection, the device further includes:
[0026] The judgment unit is used to determine whether the IP of the target client is in the client IP blacklist list;
[0027] If the determination unit determines that the IP of the target client is not in the client IP blacklist, the sending unit is used to perform the operation of sending a collection task instruction / test instruction to the agent program of the target client through a long communication connection with the agent program of the target client;
[0028] If the determination unit determines that the target client's IP address is in the client IP blacklist, the process ends.
[0029] Optionally, the data collection server maintains an instruction blacklist.
[0030] The judgment unit is further configured to determine whether the test instruction is in the instruction blacklist list;
[0031] If the determination unit determines that the test instruction is not in the instruction blacklist, the sending unit is used to perform the operation of sending the test instruction to the agent program of the target client through a long communication connection with the agent program of the target client;
[0032] If the determination unit determines that the target client's IP address is in the client IP blacklist, the process ends.
[0033] Optionally, the long-lived communication connection is a WebSocket connection.
[0034] Thirdly, embodiments of this application provide an indicator acquisition device, which includes:
[0035] Memory, used to store program instructions;
[0036] A processor is configured to invoke program instructions stored in the memory and execute the steps of the method as described in any one of the first aspects above, according to the obtained program instructions.
[0037] Fourthly, embodiments of this application also provide a computer-readable storage medium storing computer-executable instructions for causing a computer to perform the steps of the method as described in any of the first aspects above.
[0038] In summary, the indicator collection method provided in this application is applied to a collection server, and an agent program for indicator collection is deployed on the client. A long-lived communication connection is established and maintained between the collection server and the agent program on the client. The method includes: sending a collection task instruction to the agent program of the target client through the long-lived communication connection, wherein the collection task instruction includes a target indicator to be collected, a collection period for the target indicator, and a collection duration for collecting the target indicator using the collection period; and receiving the target indicator collected by the agent program of the target client based on the collection task.
[0039] The indicator collection method provided in this application deploys agent programs on the client side. The collection server can issue custom collection task instructions through long-lived communication connections with each agent program, supporting custom collection methods and millisecond-level collection support, which can improve the convenience and real-time performance of operation and maintenance monitoring. By combining pre-training global dynamic instruction tasks to troubleshoot global problems with in-training millisecond-level monitoring, the probability of AI training interruption can be reduced, indirectly saving computing power costs. Attached Figure Description
[0040] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments of this application or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this application. For those skilled in the art, other drawings can be obtained based on these drawings of the embodiments of this application.
[0041] Figure 1 A detailed flowchart of an indicator collection method provided in an embodiment of this application;
[0042] Figure 2 This is a schematic diagram of the structure of an indicator acquisition device provided in an embodiment of this application;
[0043] Figure 3 This is a schematic diagram of the hardware architecture of an indicator acquisition device provided in an embodiment of this application. Detailed Implementation
[0044] The terminology used in the embodiments of this application is for the purpose of describing particular embodiments only and is not intended to limit the application. The singular forms “a,” “the,” and “the” as used in this application and claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to any and all possible combinations comprising one or more of the associated listed items.
[0045] It should be understood that although the terms first, second, third, etc., may be used to describe various information in embodiments of this application, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, without departing from the scope of this application, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" may also be interpreted as "when," "when," or "in response to a determination."
[0046] In distributed training, hundreds, thousands, or even tens of thousands of GPUs work simultaneously, calculating and exchanging billions to trillions of parameters. Interrupting computation results in extremely high costs and waste. Ensuring the health of both hardware and software before training is crucial. At the hardware level, the health of the GPU chip, memory, power supply, and PCIe connections must be verified. For the software environment, driver version compatibility, dependency library integrity, and the correct configuration of the distributed communication framework (such as NCCL) must be checked. Simultaneously, system stability must be verified through stress tests (such as matrix calculations and convolution calculations) to ensure 72 hours of trouble-free operation. Health checks can significantly reduce the risk of training interruptions.
[0047] Current metrics collection and monitoring methods (such as Prometheus exporter) can collect various metrics from nodes, network cards, GPUs, etc., and send them to the server for display and monitoring. However, the supported data collection granularity is generally above the second level, and it is impossible to directly set millisecond-level monitoring. This cannot meet the needs of AI training for detailed tracing of specific node performance monitoring or fault location. In addition, it will cause frequent TCP connection establishment, resulting in waste of CPU and network resources. Of course, metrics can be generated at the millisecond level on the client side, aggregated, and pushed to the Pushgateway in batches, which can significantly reduce the number of TCP connection establishments. However, this will introduce two new problems: reduced timeliness of data received by the server and the risk of cache queue overflow. Therefore, it can be concluded that Prometheus exporter cannot simultaneously achieve real-time performance and resource utilization in millisecond-level monitoring. Furthermore, the exporter cannot receive commands from the server to perform various benchmark tests, cannot flexibly initiate various custom detection tasks from the server to the client, and cannot support detection tasks with custom client and command blacklists and whitelists.
[0048] This application provides a method for real-time interactive control of a monitoring system through a bidirectional long-connection communication protocol, overcoming the technical limitation that Prometheus Exporter cannot receive dynamic commands from the server. Its core lies in breaking through the single-data-stream constraint of the traditional Pull / Push mode, enabling the Agent to securely execute diagnostic commands (such as memory tests) issued by the server, while maintaining the original functions of collecting various types and granularities of indicators. It also supports blacklist and whitelist settings at the client and command levels, providing more flexible operation and maintenance management methods for large-scale servers in data centers.
[0049] For example, see Figure 1 The diagram shown is a detailed flowchart of an indicator collection method provided in this application embodiment. This method is applied to a collection server, and a proxy program for indicator collection is deployed on the client. A long-lived communication connection is established and maintained between the collection server and the client's proxy program. The method includes the following steps:
[0050] Step 100: Send a data collection task instruction to the agent program of the target client through a long communication connection with the agent program of the target client.
[0051] In this embodiment of the application, the data collection task instruction includes the target indicator to be collected, the collection period of the target indicator, and the collection duration of the target indicator using the collection period.
[0052] In this embodiment, an agent program for metric collection is pre-deployed and installed on each client. The agent program reads the configuration file and initiates a long-lived communication connection to the collection server. This connection is unique. After the client's agent program successfully establishes a connection with the collection server, both parties save the corresponding connection for full-duplex communication. In this embodiment, the collection server establishes long-lived communication connections with the agent programs of each client. To ensure high-performance connection and communication between the collection server and the agent programs of a large number of clients, this can be technically implemented based on Netty.
[0053] In this embodiment, the long-lived communication connection is a WebSocket connection. That is, each client's proxy program establishes a WebSocket connection with the data collection server, and the data collection server issues custom commands through the WebSocket connection with the client's proxy program.
[0054] So, if the administrator determines that the target metric of the target client needs to be monitored intensively (e.g., millisecond-level data collection is required), then based on the administrator's custom data collection task instruction, specifically, the target metric to be collected can be defined (e.g., if metric 1 needs to be monitored intensively, then metric 1 is the target metric). If it is determined that the target metric needs to be monitored intensively, that is, the data collection of the target metric needs to be performed using a millisecond-level data collection cycle, then the data collection task instruction can define the data collection cycle of the target metric (millisecond-level data collection cycle). Furthermore, the key monitoring period of the target metric can also be defined (e.g., the duration of data collection of the target metric using a millisecond-level data collection cycle).
[0055] After generating a custom data collection task instruction, the data collection task instruction is sent to the target client's agent program through a long communication connection.
[0056] After receiving the collection task instruction from the collection server, the agent program on the target client changes the collection behavior for the target indicator without restarting, and sends the collected target indicator to the collection server for big data processing.
[0057] In practical applications, monitoring metrics involve host hardware, operating system, drivers, related software (e.g., CUDA), network interface cards (including RDMA-related PFC, ECN, etc.), GPUs, and other information. The agent program routinely collects various metrics (e.g., collection period of 10 seconds to 5 minutes) for basic information viewing and analysis. If it is determined that certain collected metrics of the target client need to be monitored in a focused manner, a custom collection task instruction can be issued to the agent program of the target client, causing the agent program of the target client to execute the custom collection task instruction, thereby ultimately achieving focused monitoring of the target metrics of the target client.
[0058] Step 110: Receive the target metrics collected by the agent program of the target client based on the collection task.
[0059] In this embodiment of the application, the proxy program of the target client communicates with the proxy programs of other clients; the method may further include the following steps:
[0060] Test commands are sent to the agent program of the target client through a long communication connection with the agent program of the target client, so that the agent program of the target client and the agent programs of the other clients can complete the test based on the test commands and obtain the test results;
[0061] Receive the test results returned by the agent program of the target client.
[0062] Specifically, the server (data acquisition server) can send test commands to the target client's agent (agent Chen Gu) via a long-lived communication connection. These commands include, but are not limited to, memtest, Perftest, NCCL test, GPU computing power test, and vdbench read / write test commands. Based on the test commands, the target client's agent completes the test individually or jointly with other client agents and returns the test results to the server in a pre-defined format. The server then stores the test results in the PG database for subsequent business processing.
[0063] Furthermore, in this embodiment of the application, the data collection server maintains a blacklist of client IP addresses; before sending the data collection task instruction / test instruction to the agent program of the target client through a long communication connection with the agent program of the target client, the method may further include the following steps:
[0064] Determine whether the target client's IP address is in the client IP blacklist;
[0065] If it is determined that the IP of the target client is not in the client IP blacklist, then the operation of sending the collection task instruction / test instruction to the agent program of the target client through the long communication connection between the agent program and the agent program of the target client is executed;
[0066] If the target client's IP address is determined to be in the client IP blacklist, the process ends.
[0067] Furthermore, the data collection server maintains a blacklist of instructions; the method may also include the following steps:
[0068] Determine whether the test instruction is in the instruction blacklist;
[0069] If it is determined that the test instruction is not in the instruction blacklist, then the operation of sending the test instruction to the agent program of the target client through a long communication connection with the agent program of the target client is executed;
[0070] If the target client's IP address is determined to be in the client IP blacklist, the process ends.
[0071] In practical applications, the server (data collection server) independently maintains blacklists and whitelists at the client IP level. Furthermore, the server can jointly maintain command-level blacklists and whitelists with the agents of each client. These command-level blacklists and whitelists are synchronized whenever a connection is established or the list changes. The blacklist represents prohibited actions under any circumstances, while the whitelist is generally recommended to store commands that do not require verification but require certain privileges, such as systemctl.
[0072] For example, see Figure 2 The diagram shown is a structural schematic of an indicator acquisition device provided in an embodiment of this application. This device is applied to the device's acquisition server, and a proxy program for indicator acquisition is deployed on the client. A long-lived communication connection is established and maintained between the acquisition server and the client's proxy program; including:
[0073] The sending unit 20 is used to send a collection task instruction to the agent program of the target client through a long communication connection with the agent program of the target client. The collection task instruction includes the target indicator to be collected, the collection period of the target indicator, and the collection duration of the target indicator using the collection period.
[0074] The receiving unit 21 is used to receive the target indicators collected by the agent program of the target client based on the collection task.
[0075] Optionally, the agent program of the target client communicates with the agents programs of other clients;
[0076] The sending unit 20 is further configured to send a test command to the agent program of the target client through a long communication connection with the agent program of the target client, so that the agent program of the target client and the agent programs of the other clients complete the test based on the test command and obtain the test result;
[0077] The receiving unit 21 is further configured to receive the test results returned by the agent program of the target client.
[0078] Optionally, the data acquisition server maintains a blacklist of client IP addresses; before sending data acquisition task instructions / test instructions to the agent program of the target client via a long-lived communication connection, the device further includes:
[0079] The judgment unit is used to determine whether the IP of the target client is in the client IP blacklist list;
[0080] If the determination unit determines that the IP of the target client is not in the client IP blacklist, the sending unit 20 is used to perform the operation of sending a collection task instruction / test instruction to the agent program of the target client through a long communication connection with the agent program of the target client;
[0081] If the determination unit determines that the target client's IP address is in the client IP blacklist, the process ends.
[0082] Optionally, the data collection server maintains an instruction blacklist.
[0083] The judgment unit is further configured to determine whether the test instruction is in the instruction blacklist list;
[0084] If the determination unit determines that the test instruction is not in the instruction blacklist, the sending unit 20 is used to perform the operation of sending the test instruction to the agent program of the target client through a long communication connection with the agent program of the target client;
[0085] If the determination unit determines that the target client's IP address is in the client IP blacklist, the process ends.
[0086] Optionally, the long-lived communication connection is a WebSocket connection.
[0087] These units can be one or more integrated circuits configured to implement the above methods, such as one or more Application Specific Integrated Circuits (ASICs), one or more digital signal processors (DSPs), or one or more Field Programmable Gate Arrays (FPGAs). Alternatively, when one of these units is implemented using processing element scheduler code, the processing element can be a general-purpose processor, such as a Central Processing Unit (CPU) or other processor capable of calling program code. Furthermore, these units can be integrated together to form a system-on-a-chip (SOC).
[0088] Furthermore, regarding the indicator acquisition device provided in this application embodiment, from a hardware perspective, the hardware architecture schematic diagram of the indicator acquisition device can be found in [reference needed]. Figure 3 As shown, the indicator acquisition device may include: a memory 30 and a processor 31.
[0089] The memory 30 is used to store program instructions; the processor 31 calls the program instructions stored in the memory 30 and executes the above method embodiment according to the obtained program instructions. The specific implementation method and technical effect are similar, and will not be described again here.
[0090] Optionally, this application also provides a data acquisition server, including at least one processing element (or chip) for performing the above-described method embodiments.
[0091] Optionally, this application also provides a program product, such as a computer-readable storage medium storing computer-executable instructions for causing the computer to perform the above-described method embodiments.
[0092] Here, a machine-readable storage medium can be any electronic, magnetic, optical, or other physical storage device that can contain or store information, such as executable instructions, data, etc. For example, a machine-readable storage medium can be: RAM (Random Access Memory), volatile memory, non-volatile memory, flash memory, storage drives (such as hard disk drives), solid-state drives, any type of storage disk (such as optical discs, DVDs, etc.), or similar storage media, or combinations thereof.
[0093] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer, which can take the form of a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email sending and receiving device, game console, tablet computer, wearable device, or any combination of these devices.
[0094] For ease of description, the above devices are described separately by function as various units. Of course, in implementing this application, the functions of each unit can be implemented in one or more software and / or hardware.
[0095] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, embodiments of this application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0096] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0097] Furthermore, these computer program instructions can also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in the process. Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0098] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0099] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of protection of this application.
Claims
1. A method for collecting indicators, characterized in that, The method is applied to a data acquisition server, with an agent program for indicator data acquisition deployed on the client side. A long-lived communication connection is established and maintained between the data acquisition server and the agent program on the client side. The method includes: A collection task instruction is sent to the agent program of the target client through a long communication connection. The collection task instruction includes the target indicator to be collected, the collection period of the target indicator, and the collection duration of the target indicator using the collection period. The agent program receiving the target client collects the target metrics based on the collection task.
2. The method as described in claim 1, characterized in that, The target client's agent program establishes a communication connection with agent programs of other clients; the method further includes: Test commands are sent to the agent program of the target client through a long communication connection with the agent program of the target client, so that the agent program of the target client and the agent programs of the other clients can complete the test based on the test commands and obtain the test results; Receive the test results returned by the agent program of the target client.
3. The method as described in claim 1 or 2, characterized in that, The data acquisition server maintains a blacklist of client IP addresses; before sending data acquisition task instructions / test instructions to the agent program of the target client via a long-lived communication connection, the method further includes: Determine whether the target client's IP address is in the client IP blacklist; If it is determined that the IP of the target client is not in the client IP blacklist, then the operation of sending the collection task instruction / test instruction to the agent program of the target client through the long communication connection between the agent program and the agent program of the target client is executed; If the target client's IP address is determined to be in the client IP blacklist, the process ends.
4. The method as described in claim 3, characterized in that, The data acquisition server maintains a blacklist of commands; the method further includes: Determine whether the test instruction is in the instruction blacklist; If it is determined that the test instruction is not in the instruction blacklist, then the operation of sending the test instruction to the agent program of the target client through a long communication connection with the agent program of the target client is executed; If the target client's IP address is determined to be in the client IP blacklist, the process ends.
5. The method as described in claim 1 or 2, characterized in that, The long-lived communication connection is a WebSocket connection.
6. An indicator acquisition device, characterized in that, The device is applied to a data acquisition server, and a client-side agent program for indicator data acquisition is deployed on the client side. A long-lived communication connection is established and maintained between the data acquisition server and the client-side agent program. The device includes: The sending unit is configured to send a collection task instruction to the agent program of the target client through a long communication connection with the agent program of the target client, wherein the collection task instruction includes a target indicator to be collected, a collection period of the target indicator, and a collection duration of the target indicator using the collection period. A receiving unit is used to receive the target indicators collected by the agent program of the target client based on the collection task.
7. The apparatus as claimed in claim 6, characterized in that, The target client's agent program communicates with the agent programs of other clients. The sending unit is further configured to send a test command to the agent program of the target client through a long communication connection with the agent program of the target client, so that the agent program of the target client and the agent programs of the other clients complete the test based on the test command and obtain the test result; The receiving unit is also configured to receive the test results returned by the agent program of the target client.
8. The apparatus as claimed in claim 6 or 7, characterized in that, The data acquisition server maintains a blacklist of client IP addresses; before sending data acquisition task instructions / test instructions to the agent program of the target client via a long-lived communication connection, the device further includes: The judgment unit is used to determine whether the IP of the target client is in the client IP blacklist list; If the determination unit determines that the IP of the target client is not in the client IP blacklist, the sending unit is used to perform the operation of sending a collection task instruction / test instruction to the agent program of the target client through a long communication connection with the agent program of the target client; If the determination unit determines that the target client's IP address is in the client IP blacklist, the process ends.
9. The apparatus as claimed in claim 8, characterized in that, The data acquisition server maintains a blacklist of instructions. The judgment unit is also used to determine whether the test instruction is in the instruction blacklist list; If the determination unit determines that the test instruction is not in the instruction blacklist, the sending unit is used to perform the operation of sending the test instruction to the agent program of the target client through a long communication connection with the agent program of the target client; If the determination unit determines that the target client's IP address is in the client IP blacklist, the process ends.
10. An indicator acquisition device, characterized in that, The indicator acquisition device includes: Memory, used to store program instructions; A processor is configured to invoke program instructions stored in the memory and execute the steps of the method as described in any one of claims 1-5 according to the obtained program instructions.
11. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions for causing the computer to perform the steps of the method as described in any one of claims 1-5.
