Remote test method and system for load identification algorithm, electronic equipment and storage medium
By uploading the load identification algorithm through the remote test terminal and using the data provided by the cloud server to perform the load identification test, it solves the problems of inconvenient equipment, high cost, and low efficiency in the existing test methods, and achieves efficient and low-cost load identification algorithm performance. Evaluate.
Patent Information
- Application Number
- CN202411305206.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-19
- Publication Date
- 2025-01-24
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
The existing load identification testing methods have problems such as inconvenient portability, high testing cost and low testing efficiency.
Through remote test terminal upload load recognition algorithms, the history and real -time data provided by the cloud server are used for load recognition testing, reducing test costs and improving test efficiency.
The efficient performance assessment of the load recognition algorithm is achieved, the test cost is reduced, the test efficiency is improved, and the test data is ensured through random load encryption processing.
Smart Images

Figure CN119357608A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of non-intrusive load identification testing, and in particular, to a remote testing method and system for a load identification algorithm, an electronic device, and a computer-readable storage medium. Background Art
[0002] Non-intrusive load identification is widely used in power systems to identify the types of power users' electrical equipment by monitoring and analyzing the voltage, current and other data at the entrance of the power user's load. At present, commonly used load identification algorithms include support vector machines, K nearest neighbors, decision trees, clustering and other algorithms. As the types of power grid users' electrical equipment continue to increase, new load identification algorithms are also emerging. Before new load identification algorithms are applied to non-intrusive load identification and non-intrusive load monitoring of power systems, the performance of the load identification algorithm needs to be tested first. Only after the test is passed can it be promoted and applied. At present, load identification tests are usually carried out manually on site or in the laboratory with test equipment equipped with the algorithm to be tested to collect real-time load data, and then load identification is performed based on the collected real-time load data, and then the performance of the load identification algorithm is judged based on the load identification results. There are disadvantages such as inconvenient test equipment, high test cost and low test efficiency. Summary of the invention
[0003] The present invention provides a load identification remote testing method and system, electronic equipment, and a computer-readable storage medium. The user only needs to upload the load identification algorithm to be tested on the remote testing terminal, and the test data is provided by the cloud server. There is no need to carry test equipment to collect real-time load data for load identification locally, which greatly reduces the testing cost and improves the testing efficiency.
[0004] According to one aspect of the present invention, a remote testing method for a load identification algorithm is provided, comprising the following contents:
[0005] Upload the load identification algorithm to the remote test terminal;
[0006] Sending a test request to a cloud server on a remote test terminal, wherein the cloud server collects historical data and real-time data of power load and establishes a test data set;
[0007] The cloud server responds to the test request and sends the test data set to the remote test terminal;
[0008] The remote test terminal performs load identification based on the received test data set and sends the load identification result to the cloud server;
[0009] The cloud server evaluates the performance of the load identification algorithm based on the load identification results.
[0010] Furthermore, before sending the test data set, the test data set is encrypted with random load, and the cloud server determines the consistency of the test data based on whether the load identification result contains random load.
[0011] Furthermore, the process of performing random load encryption processing on the test data set includes the following contents:
[0012] The terminal local timestamp t1 when the remote test terminal sends the test request and the server timestamp t2 when the remote server receives the test request are obtained, and the terminal local timestamp t1 and the server timestamp t2 are added to obtain a new timestamp t3, and the last value of the new timestamp t3 is taken to obtain a random number s, and the pure resistive electrical load data with a random load value r is generated according to the random number s, r=s+1, and the load samples in the test data set are traversed. If there are load samples with a load value close to the random load value r, r=r+1 is set, and it is repeated until the final random load value r is confirmed; then a random load data sequence R is generated based on the final random load value r, and the random load data sequence R is incorporated into the end of the test data set to obtain the test data set after random load encryption processing.
[0013] Furthermore, the remote test terminal and the cloud server also calculate hash check values based on the test data set after random load encryption processing. After completing the load identification, the remote test terminal also sends the hash check value to the cloud server. The cloud server compares the two hash check values to determine the consistency of the test data.
[0014] Furthermore, the calculation process of the hash check value is:
[0015] The length of the test data set after random load encryption is 2 to the kth power. It is first divided into multiple data blocks of fixed size, and hash calculation is performed on each data block to generate a unique hash value. The calculated hash value is used as the leaf node of the tree, and then the adjacent hash values are combined into a new hash value in pairs to build a binary tree. If the total number of hash values at the bottom layer is odd, the last hash value will be directly used as a node. Repeat the above steps until the root node of the tree is generated, and the hash value of the root node is used as the hash check value of the entire test data set.
[0016] Furthermore, if the two hash check values are inconsistent, or the load identification result does not contain a random load, the data consistency verification is determined to have failed, and a new round of test data set generation and verification is performed based on the timestamp of the load identification result sent by the remote test terminal; if the number of data consistency verification failures reaches the round threshold, the remote load identification test is determined to have failed.
[0017] Furthermore, a test data set for different power usage scenarios is established in the cloud server, and the remote test terminal can specify the test data set when sending a test request.
[0018] In addition, the present invention also provides a remote testing system for a load identification algorithm, comprising:
[0019] An identification algorithm uploading module, mounted on the remote test terminal, is used to upload the load identification algorithm to the remote test terminal;
[0020] A test request sending module, mounted on the remote test terminal, is used to send a test request to a cloud server, wherein the cloud server collects historical data and real-time data of the power load and establishes a test data set;
[0021] The test data sending module is installed on the cloud server and is used to send the test data set to the remote test terminal;
[0022] An identification result sending module, mounted on the remote test terminal, is used to send the load identification result to the cloud server;
[0023] The algorithm performance evaluation module is installed on the cloud server and is used to evaluate the performance of the load identification algorithm based on the load identification results.
[0024] In addition, the present invention also provides an electronic device, including a processor and a memory, wherein the memory stores a computer program, and the processor executes the steps of the above method by calling the computer program stored in the memory.
[0025] In addition, the present invention also provides a computer-readable storage medium for storing a computer program for performing remote testing of a load identification algorithm, wherein the computer program executes the steps of the method described above when running on a computer.
[0026] The present invention has the following beneficial effects:
[0027] In the remote testing method of the load identification algorithm of the present invention, the user uploads the load identification algorithm to be tested to the remote test terminal and then sends a test request to the cloud server. After responding to the test request, the cloud server sends the test data set to the remote test terminal. The remote test terminal performs load identification based on the received test data and sends the load identification result to the cloud server. The cloud server compares the load identification result of the load identification algorithm to be tested with the load identification results of the remaining load identification algorithms to evaluate the accuracy and reliability of the load identification algorithm to be tested. During the remote testing process, the user only needs to upload the load identification algorithm to be tested on the remote test terminal, and the test data is provided by the cloud server. There is no need to carry test equipment to collect real-time load data for load identification locally, which greatly reduces the test cost and improves the test efficiency.
[0028] In addition, the remote testing system of the load identification algorithm of the present invention also has the above advantages.
[0029] In addition to the above-described purposes, features and advantages, the present invention has other purposes, features and advantages. The present invention will be further described in detail with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0030] The drawings constituting a part of this application are used to provide a further understanding of the present invention. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation of the present invention. In the drawings:
[0031] Figure 1 It is a flowchart of a remote testing method of a load identification algorithm according to a preferred embodiment of the present application.
[0032] Figure 2 It is a schematic diagram of the module structure of a remote testing system for a load identification algorithm according to another embodiment of the present application. DETAILED DESCRIPTION
[0033] It should be noted that, in the absence of conflict, the embodiments and features in the embodiments of the present application can be combined with each other. The present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0034] Reference Figure 1 The preferred embodiment of the present application provides a remote testing method for a load identification algorithm, comprising the following contents:
[0035] Step S1: Upload the load identification algorithm to the remote test terminal;
[0036] Step S2: Sending a test request to the cloud server on the remote test terminal, wherein the cloud server collects historical data and real-time data of the power load and establishes a test data set;
[0037] Step S3: The cloud server responds to the test request and sends the test data set to the remote test terminal;
[0038] Step S4: the remote test terminal performs load identification based on the received test data set, and sends the load identification result to the cloud server;
[0039] Step S5: The cloud server evaluates the performance of the load identification algorithm according to the load identification result.
[0040] It can be understood that in the remote testing method of the load identification algorithm of this embodiment, the user uploads the load identification algorithm to be tested to the remote test terminal and then sends a test request to the cloud server. After responding to the test request, the cloud server will send the test data set to the remote test terminal. The remote test terminal performs load identification based on the received test data and sends the load identification result to the cloud server. The cloud server compares the load identification result of the load identification algorithm to be tested with the load identification results of the remaining load identification algorithms to evaluate the accuracy and reliability of the load identification algorithm under test. During the remote testing process, the user only needs to upload the load identification algorithm to be tested on the remote test terminal, and the test data is provided by the cloud server. There is no need to carry test equipment to collect real-time load data for load identification locally, which greatly reduces the test cost and improves the test efficiency.
[0041] It can be understood that in step S1, the user can upload the load identification algorithm, view the test results, and set execution parameters on the operation interface of the remote test terminal. In addition, when uploading the load identification algorithm to the remote service terminal, the uploading manufacturer is also required to digitally sign it. The remote service terminal will verify the digital signature, and subsequent remote testing will be allowed only after the verification is passed.
[0042] It can be understood that in step S2, the user sends a test request to the cloud server on the operation interface of the remote test terminal, and the cloud server collects historical data and real-time data of the power load, including time, load, seasonal changes, user behavior patterns, etc., and establishes a test data set. Optionally, the cloud server establishes test data sets for different power usage scenarios, and the remote test terminal can specify the test data set when sending a test request to implement a load identification test for a characteristic power usage scenario.
[0043] It can be understood that in step S3, after receiving the test request from the remote test terminal, the cloud server schedules the test task according to the reception time of the test request and the currently available test tasks, and sends the test samples in rotation to ensure the availability and test priority of different remote test terminals.
[0044] Optionally, in step S3, before sending the test data set, random load encryption processing is also performed on the test data set, and the cloud server determines the consistency of the test data according to whether the load identification result contains random load. The process of performing random load encryption processing on the test data set includes the following contents:
[0045] The terminal local timestamp t1 when the remote test terminal sends the test request and the server timestamp t2 when the remote server receives the test request are obtained, and the terminal local timestamp t1 and the server timestamp t2 are added to obtain a new timestamp t3, and the last value of the new timestamp t3 is taken to obtain a random number s, and the pure resistive electrical load data with a random load value r is generated according to the random number s, r=s+1, and the load samples in the test data set are traversed. If there are load samples with a load value close to the random load value r, r=r+1 is set, and it is repeated until the final random load value r is confirmed; then a random load data sequence R is generated based on the final random load value r, and the random load data sequence R is incorporated into the end of the test data set to obtain the test data set after random load encryption processing.
[0046] It can be understood that in order to verify the consistency of the test data and ensure the reliability of the test results, the test data needs to be encrypted. The commonly used data encryption method is key encryption, but the existing key encryption method requires that each load sample in the test data set be encrypted. Since the sample data volume of the test data set is usually large, the encryption process is very complicated. The present invention first calculates the sum of the terminal local timestamp t1 when the test terminal sends the test request and the server timestamp t2 when the remote server receives the test request to obtain a new timestamp t3, then takes the last value of the new timestamp t3 to obtain a random number s, and then determines the load value r of the random load according to the random number s, thereby ensuring the randomness of the random load value and improving the encryption reliability; then, traverse the load samples in the test data set, if there is a load sample whose load value differs from the random load value r within the range of ±0.5kw, then set r=r+1, and repeat until the final random load value r is confirmed, thereby ensuring the uniqueness of the random load; finally, generate a random load data sequence R based on the final random load value r, and merge it into the end of the original test data set T0, so as to obtain the test data set T after random load encryption processing, T=(T0||R). The remote test terminal performs load identification based on the test data set T, and if the load identification result contains the random load value r, the consistency of the test data can be verified. The present invention is based on the inherent characteristics of load test data. It first generates random load data based on random numbers, then adds the random load data into the test data set, and also uses the random load data for load identification. The consistency of the test data is verified based on whether the load identification result contains a random load value. There is no need to encrypt all load sample data, which greatly simplifies the encryption process.
[0047] It can be understood that in step S4, the remote test terminal performs load identification based on the uploaded load identification algorithm and the remotely received test data set, and transmits the load identification result to the cloud server.
[0048] It can be understood that in step S5, after receiving the load identification result sent by the remote test terminal, the cloud server compares and analyzes it with the load identification results of other load identification algorithms stored in the server, and evaluates the accuracy and reliability of the tested load identification algorithm based on the analysis results. In addition, the cloud server can also automatically generate a test report and send the test report to the remote test terminal or the user App for easy viewing.
[0049] In addition, the remote test terminal and the cloud server also calculate hash check values based on the test data set after random load encryption. After completing the load identification, the remote test terminal also sends the hash check value to the cloud server. The cloud server compares the two hash check values to determine the consistency of the test data. The length of the test data set after random load encryption is 2 to the kth power, where the calculation process of the hash check value is:
[0050] First, divide the test data set after random load encryption processing into multiple data blocks of fixed size, perform hash calculation on each data block to generate a unique hash value, and use the calculated hash value as the leaf node of the tree. Then, combine the adjacent hash values into a new hash value to build a binary tree. If the total number of hash values at the bottom layer is odd, the last hash value will be directly used as a node. Repeat the above steps until the root node of the tree is generated, and use the hash value of the root node as the hash check value of the entire test data set.
[0051] It can be understood that the present invention uses a Merkle tree to determine the root hash value based on the test data set after random load encryption, and uses the root hash value as the hash check value of the entire test data set. By combining hash encryption with random load encryption, the reliability and security of data encryption are further improved.
[0052] In addition, if the hash check value calculated by the cloud server is inconsistent with the hash check value calculated by the remote test terminal, or the load identification result does not contain random load, the data consistency verification is judged to have failed, and a new round of test data set generation and verification is performed based on the timestamp of the load identification result sent by the remote test terminal; if the number of data consistency verification failures reaches the round threshold, the remote load identification test is judged to have failed.
[0053] In addition, if Figure 2 As shown, another embodiment of the present invention further provides a remote testing system for a load identification algorithm, preferably using the remote testing method as described above, including:
[0054] An identification algorithm uploading module, mounted on the remote test terminal, is used to upload the load identification algorithm to the remote test terminal;
[0055] A test request sending module, mounted on the remote test terminal, is used to send a test request to a cloud server, wherein the cloud server collects historical data and real-time data of the power load and establishes a test data set;
[0056] The test data sending module is installed on the cloud server and is used to send the test data set to the remote test terminal;
[0057] An identification result sending module, mounted on the remote test terminal, is used to send the load identification result to the cloud server;
[0058] The algorithm performance evaluation module is installed on the cloud server and is used to evaluate the performance of the load identification algorithm based on the load identification results.
[0059] It can be understood that in the remote testing system of the load identification algorithm of this embodiment, the user uploads the load identification algorithm to be tested to the remote test terminal and then sends a test request to the cloud server. After responding to the test request, the cloud server will send the test data set to the remote test terminal. The remote test terminal performs load identification based on the received test data and sends the load identification result to the cloud server. The cloud server compares the load identification result of the load identification algorithm to be tested with the load identification results of the remaining load identification algorithms to evaluate the accuracy and reliability of the load identification algorithm under test. During the remote testing process, the user only needs to upload the load identification algorithm to be tested on the remote test terminal, and the test data is provided by the cloud server. There is no need to carry test equipment to collect real-time load data for load identification locally, which greatly reduces the test cost and improves the test efficiency.
[0060] In addition, another embodiment of the present invention further provides an electronic device, including a processor and a memory, wherein the memory stores a computer program, and the processor executes the steps of the above method by calling the computer program stored in the memory.
[0061] In addition, another embodiment of the present invention further provides a computer-readable storage medium for storing a computer program for performing remote testing of a load identification algorithm, wherein the computer program executes the steps of the method described above when running on a computer.
[0062] The general form of computer readable storage media includes: floppy disk, flexible disk, hard disk, magnetic tape, any other magnetic medium, CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with a pattern of holes, random access memory (RAM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), flash erasable programmable read-only memory (FLASH-EPROM), any other memory chip or cartridge, or any other medium that can be read by a computer. The instructions can further be transmitted or received by a transmission medium. The term transmission medium can include any tangible or intangible medium that can be used to store, encode or carry instructions for execution by a machine, and includes digital or analog communication signals or other intangible media that facilitate the communication of the above instructions. Transmission media include coaxial cables, copper wires and optical fibers, which include the wires of a bus used to transmit a computer data signal.
[0063] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can adopt the form of complete hardware embodiments, complete software embodiments, or embodiments in combination with software and hardware. Moreover, the present application can adopt 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.) that contain computer-usable program code. The scheme in the embodiments of the present application can be implemented in various computer languages, for example, object-oriented programming language Java and literal scripting language JavaScript, etc.
[0064] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes 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 device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing 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 A device that provides the functions specified in a block or multiple blocks.
[0065] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0066] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.
[0067] Although the preferred embodiments of the present application have been described, those skilled in the art may make other 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 falling within the scope of the present application.
[0068] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.
[0069] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.
Claims
1. A remote testing method for a load identification algorithm, characterized in that: Includes the following: Upload the load identification algorithm to the remote test terminal; Sending a test request to a cloud server on a remote test terminal, wherein the cloud server collects historical data and real-time data of power load and establishes a test data set; The cloud server responds to the test request and sends the test data set to the remote test terminal; The remote test terminal performs load identification based on the received test data set and sends the load identification result to the cloud server; The cloud server evaluates the performance of the load identification algorithm based on the load identification results.
2. The remote testing method of the load identification algorithm according to claim 1, characterized in that: Before sending the test data set, the test data set is also encrypted with random load. The cloud server determines the consistency of the test data based on whether the random load is included in the load identification result.
3. The remote testing method of the load identification algorithm according to claim 2, characterized in that: The process of performing random load encryption processing on the test data set includes the following contents: The terminal local timestamp t1 when the remote test terminal sends the test request and the server timestamp t2 when the remote server receives the test request are obtained, and the terminal local timestamp t1 and the server timestamp t2 are added to obtain a new timestamp t3, and the last value of the new timestamp t3 is taken to obtain a random number s, and the pure resistive electrical load data with a random load value r is generated according to the random number s, r=s+1, and the load samples in the test data set are traversed. If there are load samples with a load value close to the random load value r, r=r+1 is set, and it is repeated until the final random load value r is confirmed; then a random load data sequence R is generated based on the final random load value r, and the random load data sequence R is incorporated into the end of the test data set to obtain the test data set after random load encryption processing.
4. The remote testing method of the load identification algorithm according to claim 3, characterized in that: The remote test terminal and the cloud server also calculate hash check values based on the test data set after random load encryption processing. After completing the load identification, the remote test terminal also sends the hash check value to the cloud server. The cloud server compares the two hash check values to determine the consistency of the test data.
5. The remote testing method of the load identification algorithm according to claim 4, characterized in that: The calculation process of the hash check value is: The length of the test data set after random load encryption is 2 to the kth power. It is first divided into multiple data blocks of fixed size, and hash calculation is performed on each data block to generate a unique hash value. The calculated hash value is used as the leaf node of the tree, and then the adjacent hash values are combined into a new hash value in pairs to build a binary tree. If the total number of hash values at the bottom layer is odd, the last hash value will be directly used as a node. Repeat the above steps until the root node of the tree is generated, and the hash value of the root node is used as the hash check value of the entire test data set.
6. The remote testing method of the load identification algorithm according to claim 4, characterized in that: If the two hash check values are inconsistent, or the load identification result does not contain random load, the data consistency verification is judged to have failed, and a new round of test data set generation and verification is performed based on the timestamp of the load identification result sent by the remote test terminal; if the number of data consistency verification failures reaches the round threshold, the remote load identification test is judged to have failed.
7. The remote testing method of the load identification algorithm according to claim 1, characterized in that: Test data sets for different power usage scenarios are established in the cloud server, and the remote test terminal can specify the test data set when sending a test request.
8. A remote testing system for a load identification algorithm, characterized in that: include: An identification algorithm uploading module, mounted on the remote test terminal, is used to upload the load identification algorithm to the remote test terminal; A test request sending module, mounted on the remote test terminal, is used to send a test request to a cloud server, wherein the cloud server collects historical data and real-time data of the power load and establishes a test data set; The test data sending module is installed on the cloud server and is used to send the test data set to the remote test terminal; An identification result sending module, mounted on the remote test terminal, is used to send the load identification result to the cloud server; The algorithm performance evaluation module is installed on the cloud server and is used to evaluate the performance of the load identification algorithm based on the load identification results.
9. An electronic device, characterized in that: The method comprises a processor and a memory, wherein the memory stores a computer program, and the processor executes the steps of the method according to any one of claims 1 to 7 by calling the computer program stored in the memory.
10. A computer-readable storage medium for storing a computer program for performing remote testing of a load identification algorithm, characterized in that: When the computer program is run on a computer, the steps of the method according to any one of claims 1 to 7 are executed.
Citation Information
Patent Citations
Non-intrusive load recognition detection method and system
CN110927477A
Intelligent substation remote test system and method
CN110958327A
Method for detecting result credibility of load identification equipment
CN111007450A
Non-intrusive load identification test method and system
CN111830345A
Method and system for determining identification accuracy of non-intrusive load identification module
CN112861354A
Cited By
Automatic test and evaluation method and system for load identification algorithm
CN120995042A