Energy storage data reporting method and related device

By performing privacy-preserving computations and segmenting energy storage data for transmission, the problem of data leakage during energy storage data transmission is solved, achieving data transmission security and privacy protection.

CN117521130BActive Publication Date: 2026-06-19XIAMEN HITHIUM ENERGY STORAGE TECHNOLOGY CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
XIAMEN HITHIUM ENERGY STORAGE TECHNOLOGY CO LTD
Filing Date
2023-11-02
Publication Date
2026-06-19

AI Technical Summary

Technical Problem

Existing energy storage data reporting schemes lack encryption during transmission, resulting in a high risk of data privacy leaks and insufficient data security.

Method used

By performing privacy calculations on energy storage data and splitting the encrypted data into multiple parts for separate transmission, the PCS and EMS for sending data are dynamically determined to ensure that even if a hijacker obtains part of the encrypted data, they cannot restore the original data.

Benefits of technology

It ensures the security of energy storage data during transmission, guaranteeing that even if some data is hijacked, the original data cannot be recovered, thus improving the security of data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117521130B_ABST
    Figure CN117521130B_ABST
Patent Text Reader

Abstract

This application discloses a method and related apparatus for reporting energy storage data based on privacy computing. The method includes: obtaining a data transmission request from a slave PCS; determining N master PCSs from a set of PCSs; determining M master EMSs from a set of EMSs based on the N master PCSs; sending a first control instruction to the slave PCS, the first control instruction being used to instruct the slave PCS to send N pieces of privacy data to the N master PCSs; sending a second control instruction to the N master PCSs, the second control instruction being used to cause the M master EMSs to acquire the N pieces of privacy data; acquiring the N pieces of privacy data from the M master EMSs, decrypting the N pieces of privacy data, and obtaining energy storage data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of energy storage data information technology, and in particular to energy storage data reporting methods and related devices. Background Technology

[0002] Current energy storage data reporting primarily involves the power conversion system (PCS) within the energy storage system sending data to the energy management system (EMS). The EMS then centrally manages the data, collecting and aggregating it from various nodes within the system before uploading it to a cloud service. However, this method has several drawbacks. For instance, during the data transmission process from the energy storage system nodes to the cloud server, the data is vulnerable to cyberattacks or data leaks. Furthermore, current energy storage data reporting schemes do not perform any encryption or other processing during transmission. If this data is intercepted, it directly leads to the leakage of private information, indicating insufficient data security. Summary of the Invention

[0003] This application provides a method and related apparatus for reporting energy storage data. By performing privacy calculations on the energy storage data, splitting the encrypted energy storage data into multiple parts for separate transmission, and dynamically determining the PCS and EMS for sending data, it is possible to ensure that even if a hijacker obtains part of the encrypted data, the original data cannot be recovered, thus guaranteeing the secure transmission of data.

[0004] In a first aspect, embodiments of this application provide an energy storage data reporting method, applied to a server of an energy storage system. The energy storage system includes the server, an energy conversion system (EMS) set, a power converter (PCS) set, and an energy storage device set. Each EMS in the EMS set is connected to each PCS in the PCS set in a one-to-one communication connection. The server is connected to each EMS and each PCS in a communication connection. The method includes:

[0005] Obtain a data transmission request from a PCS, the data transmission request including N privacy data, the N privacy data being used to indicate encrypted energy storage data, the PCS being a PCS in the set of PCS, and N being a positive integer greater than or equal to 2;

[0006] N master PCS are determined from the set of PCS, and the N master PCS are the PCS in the set of PCS excluding the slave PCS;

[0007] Based on the N master PCS, M master EMS are determined from the EMS set, where M is a positive integer greater than or equal to 2;

[0008] Send a first control instruction to the slave PCS, the first control instruction being used to instruct the slave PCS to send the N privacy data to the N master PCS;

[0009] Send a second control instruction to the N master PCSs, the second control instruction being used to enable the M master EMSs to acquire the N privacy data;

[0010] Obtain the N pieces of privacy data from the M main EMS;

[0011] The N pieces of privacy data are decrypted to obtain the energy storage data.

[0012] Secondly, embodiments of this application provide an energy storage data reporting device, the device comprising:

[0013] A receiving unit is configured to acquire a data transmission request from a PCS, wherein the data transmission request includes N privacy data, the N privacy data being used to indicate encrypted energy storage data, the PCS being a PCS in the set of PCS, and N being a positive integer greater than or equal to 2;

[0014] The processing unit is configured to determine N master PCS from the PCS set, wherein the N master PCS are PCS in the PCS set excluding the slave PCS; and to determine M master EMS from the EMS set based on the N master PCS, wherein M is a positive integer greater than or equal to 2.

[0015] A sending unit is configured to send a first control instruction to the slave PCS, the first control instruction being configured to instruct the slave PCS to send the N privacy data to the N master PCS; and to send a second control instruction to the N master PCS, the second control instruction being configured to cause the M master EMS to acquire the N privacy data;

[0016] The receiving unit is also used to acquire the N privacy data from the M master EMSs;

[0017] The processing unit is also used to decrypt the N privacy data to obtain the energy storage data.

[0018] Thirdly, embodiments of this application provide a server including a processor, a memory, and one or more programs stored in the memory and configured to be executed by the processor, the programs including instructions for performing steps as described in any of the first aspects.

[0019] Fourthly, embodiments of this application provide a computer-readable storage medium having a computer program / instructions stored thereon, which, when executed by a processor, implement the steps of the method as described in any of the first aspects.

[0020] The beneficial effects of the technical solutions in the second to fourth aspects can be found in the technical effects of the technical solution in the first aspect, and will not be repeated here. Attached Figure Description

[0021] 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 or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0022] Figure 1 This application provides a schematic diagram of the structure of a distributed energy storage system according to an embodiment of the present application.

[0023] Figure 2 A hardware structure block diagram of the server provided in the embodiments of this application;

[0024] Figure 3 A flowchart illustrating an energy storage data reporting method provided in this application embodiment;

[0025] Figure 4 A functional unit block diagram of an energy storage data reporting device provided in this application embodiment;

[0026] Figure 5 This application provides a schematic diagram of the structure of a server according to an embodiment of the present application.

[0027] Figure 6 This is a schematic diagram of a scenario application structure for a residential energy storage system provided in an embodiment of this application. Detailed Implementation

[0028] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort should fall within the scope of protection of the present application.

[0029] The following sections will provide detailed explanations.

[0030] The terms "first," "second," "third," and "fourth," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish different objects, not to describe a specific order. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or apparatuses.

[0031] In this document, the term "embodiment" means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.

[0032] Because the energy people need is highly time- and space-dependent, in order to make rational use of energy and improve energy efficiency, it is necessary to use a medium or device to store one form of energy in the same way or by converting it into another form of energy, and then release it in a specific form of energy based on future application needs.

[0033] Currently, the main way to generate green electricity is to develop green energy sources such as photovoltaics and wind power to replace fossil fuels. However, wind and solar power generally suffer from strong intermittency and large fluctuations, which can cause grid instability, insufficient electricity during peak demand periods, and excessive electricity during off-peak periods. Unstable voltage can also damage the power grid. Therefore, insufficient electricity demand or insufficient grid capacity may lead to the problem of "wind and solar curtailment." Solving these problems requires energy storage. This involves converting electrical energy into other forms of energy through physical or chemical means and storing it. When needed, the energy can be converted back into electrical energy and released. Simply put, energy storage is like a large "power bank," storing electrical energy when photovoltaic and wind power are abundant and releasing the stored electricity when needed.

[0034] Taking electrochemical energy storage as an example, this solution provides an energy storage device. The energy storage device is equipped with a set of chemical batteries, which mainly use the chemical elements in the batteries as energy storage medium. The charging and discharging process is accompanied by the chemical reaction or change of the energy storage medium. Simply put, the electrical energy generated by wind and solar energy is stored in the chemical batteries. When the use of external electrical energy reaches its peak, the stored electrical energy is released for use, or transferred to places with a shortage of electricity for use.

[0035] Current energy storage applications are quite widespread, including generation-side energy storage, grid-side energy storage, and consumption-side energy storage. The corresponding types of energy storage devices include:

[0036] (1) Large-scale energy storage power stations applied to wind power and photovoltaic power stations can assist renewable energy power generation in meeting grid connection requirements and improve the utilization rate of renewable energy. As a high-quality active / reactive power regulation power source on the power supply side, energy storage power stations can achieve load matching of power in time and space, enhance the absorption capacity of renewable energy, reduce instantaneous power changes, reduce the impact on the power grid, improve the absorption of new energy power generation, and are of great significance in power grid system backup, alleviating peak load power supply pressure and peak regulation and frequency regulation.

[0037] (2) Energy storage containers applied on the grid side mainly function as peak shaving, frequency regulation and grid congestion relief. In terms of peak shaving, they can realize peak shaving and valley filling of electricity load, that is, charging the energy storage battery when the electricity load is low and releasing the stored electricity during the peak electricity load period, thereby achieving a balance between power production and consumption.

[0038] (3) Small energy storage cabinets applied to the electricity consumption side mainly function as self-consumption of electricity, peak-valley price arbitrage, capacity cost management, and improvement of power supply reliability. Depending on the application scenario, electricity consumption side energy storage can be divided into industrial and commercial energy storage cabinets, household energy storage devices, energy storage charging piles, etc., which are generally used in conjunction with distributed photovoltaics. Industrial and commercial users can use energy storage for peak-valley price arbitrage and capacity cost management. In the electricity market implementing peak-valley pricing, by charging the energy storage system when the electricity price is low and discharging the energy storage system when the electricity price is high, peak-valley price arbitrage can be achieved, reducing electricity costs. In addition, industrial enterprises subject to two-part tariffs can use energy storage systems to store energy during off-peak hours and discharge during peak loads, thereby reducing peak power and the maximum demand declared, achieving the goal of reducing capacity charges. Household photovoltaics with energy storage can improve the level of self-consumption of electricity. Due to high electricity prices and poor power supply stability, the demand for household photovoltaic installations is driven. Given that photovoltaic power generation occurs during the day, while user load is generally higher at night, configuring energy storage can better utilize photovoltaic power, improve self-consumption levels, and reduce electricity costs. Furthermore, energy storage is needed in areas such as communication base stations and data centers for backup power.

[0039] Please see Figure 6 , Figure 6 This application provides a schematic diagram of a scenario application structure for a residential energy storage system. Figure 6 The embodiments are illustrated using a home energy storage scenario in user-side energy storage as an example. The energy storage device in this application is not limited to the home energy storage scenario.

[0040] This application provides a residential energy storage system 6, which includes a power conversion device 602, a first user load 603, a second user load 604, and an energy storage device 601. The energy storage device 601 is a small energy storage box that can be wall-mounted to an outdoor wall. Specifically, the power conversion device 602 can convert solar energy into electrical energy during periods of low electricity prices, and the energy storage device 601 is used to store this electrical energy and supply it to the first user load 603 and the second user load 604 during periods of high electricity prices, or to supply power to the first user load 603 and the second user load 604 during power outages / power failures.

[0041] Among them, the power conversion device 602 can be a photovoltaic panel.

[0042] Among them, the first user load 603 can be a street light.

[0043] Among them, the second user load 604 can be household appliances such as air conditioners.

[0044] First, the energy storage system of this application will be introduced.

[0045] Please see Figure 1 , Figure 1 A schematic diagram of a distributed energy storage system provided in this application embodiment is shown in the figure:

[0046] The energy storage system 100 includes a server 1001, an EMS set 1002, a PCS set 1003, and an energy storage device set 1004. Each EMS in the EMS set 1002 is connected to each PCS in the PCS set 1003 in a one-to-one communication connection. The server 1001 is connected to each EMS and each PCS in a communication connection.

[0047] Server 1001 is the core control center of energy storage system 100, responsible for overall management and monitoring of system operation. It establishes communication connections with each EMS in EMS set 1002 and each PCS in PCS set 1003. Through these connections, the server can collect data from EMS and PCS and send instructions and control signals to them, achieving centralized control of the entire system.

[0048] EMS set 1002 contains multiple EMSs, each responsible for managing, controlling, and optimizing one or more energy storage devices in a specific energy storage device set 1004. Each EMS communicates with the energy storage devices it manages and achieves control and coordination through a one-to-one communication connection with the corresponding PCS in PCS set 1003. Each EMS establishes a communication connection with server 1001 to receive instructions and send real-time data for monitoring and analysis.

[0049] PCS set 1003 contains multiple PCSs, each responsible for converting the energy stored in energy storage device set 1004 into electricity and interacting with the power system. Each PCS establishes a one-to-one communication connection with the corresponding EMS in EMS set 1002 to achieve coordinated and synchronized operation. In addition, each PCS also establishes a communication connection with server 1001 to receive control commands and upload real-time data.

[0050] Energy storage device set 1004 consists of the actual energy storage devices in the energy storage system, including batteries, supercapacitors, thermal storage devices, etc. Each energy storage device is managed and controlled by an EMS in EMS set 1002. The EMS schedules and controls the charging and discharging process of the energy storage device through communication connections with the PCS in the relevant PCS set 1003 to adapt to actual energy demand.

[0051] In summary, the architecture of the energy storage system 100 includes a server 1001, an EMS cluster 1002, a PCS cluster 1003, and an energy storage device cluster 1004. By establishing communication connections between the server, EMS, and PCS, centralized control, management, and optimization of the energy storage and release process of the energy storage system are achieved.

[0052] Please see Figure 2 , Figure 2 The hardware structure block diagram of the server provided in the embodiments of this application is shown in the figure:

[0053] The server 200 may include: a processor 2001, such as a CPU; a network interface 2004; a user interface 2003; a memory 2005; and a communication bus 2002. The communication bus 2002 is used to enable communication between these components. The user interface 2003 may include a display screen and an input unit such as a keyboard; optionally, the user interface 2003 may also include a standard wired interface or a wireless interface. The network interface 2004 may optionally include a standard wired interface or a wireless interface (such as a Wi-Fi interface). The memory 2005 may be high-speed RAM or stable, non-volatile memory, such as a disk drive. Optionally, the memory 2005 may also be a storage device independent of the aforementioned processor 2001.

[0054] Those skilled in the art will understand that Figure 2 The device structure shown does not constitute a limitation on the device and may include more or fewer components than shown, or combine certain components, or have different component arrangements.

[0055] like Figure 2As shown, the memory 2005, which is a computer storage medium, may include an operating system, a network communication module, a user interface module, and a computer program for reporting energy storage data based on privacy computing.

[0056] exist Figure 2 In the device shown, the network interface 2004 is mainly used to connect to the backend server and communicate with the backend server; the user interface 2003 is mainly used to connect to the client (user terminal) and communicate with the client; and the processor 2001 can be used to call the privacy-based energy storage data reporting program stored in the memory 2005 and execute the operations in the privacy-based energy storage data reporting method described below. The method implemented when the privacy-based energy storage data reporting program running on the processor is executed can be referred to the various embodiments of the privacy-based energy storage data reporting method of this application, which will not be repeated here.

[0057] Based on the above hardware structure, the following describes an energy storage data reporting method provided in this application.

[0058] Please see Figure 3 , Figure 3 This is a flowchart illustrating an energy storage data reporting method provided in an embodiment of this application. The method is applied to a server in an energy storage system. The energy storage system includes the server, an energy conversion system (EMS) set, a power converter (PCS) set, and an energy storage device set. Each EMS in the EMS set is connected one-to-one with each PCS in the PCS set. The server is connected to both each EMS and each PCS. The method includes:

[0059] S301, Obtain data transmission request from PCS.

[0060] The data transmission request includes N privacy data points, which are used to indicate encrypted energy storage data. PCS refers to the PCS in the PCS set, and N is a positive integer greater than or equal to 2.

[0061] Among them, PCS refers to the PCS that needs to send energy storage data.

[0062] Here, N pieces of privacy data refer to the privacy data obtained by performing privacy calculations on the energy storage data when the PCS needs to send it. This privacy data is then divided into multiple parts, i.e., N pieces of privacy data. The privacy data can only be sent separately if N is an integer greater than 2. In subsequent data transmission, the N pieces of privacy data are transmitted through different primary PCS and primary EMS.

[0063] In this process, N pieces of privacy data are sent from PCS to N master PCS.

[0064] Optionally, data sending requests can be sent to the server using the HTTP protocol.

[0065] Optionally, data sending requests can also use remote procedure calls (RPC requests).

[0066] It should be noted that, in addition to the methods mentioned above, other communication protocols and technologies can be used for data transmission requests, such as TCP / IP, UDP, and AMQP. The specific method chosen depends on the application's specific requirements and the communication environment.

[0067] In one possible embodiment, privacy computation of energy storage data can be encrypted using an elliptic curve discrete logarithm hypothesis algorithm.

[0068] The basic principle of the elliptic curve discrete logarithm hypothesis algorithm is as follows: given a base point G of an elliptic curve and a finite field element X, it is feasible to calculate G^X; conversely, given G and G^X, it is difficult to solve for X. The symbol "^" represents the exponentiation operation in the elliptic curve discrete logarithm hypothesis.

[0069] When encrypting a single initial data point in the energy storage data, it is first necessary to map the single initial data point to a point on an elliptic curve, that is, to perform a hash to curve operation. The specific process includes:

[0070] A single initial data point is converted into a fixed-length hash value using a hash function, typically represented as an integer. Common hash functions include SHA-256, SHA-3, and MD5.

[0071] Converting hash values ​​to points on an elliptic curve includes:

[0072] Perform a modulo operation on the hash result to ensure it falls within the order range of the elliptic curve. If it exceeds the order range, repeat the modulo operation cyclically until it falls within the appropriate range. Here, the order refers to the number of points on the elliptic curve.

[0073] The result of the modulo operation is used as the X-coordinate, and the corresponding Y-coordinate is calculated according to the equation of the elliptic curve.

[0074] If a Y-coordinate that satisfies the formula exists, it means that the point on the elliptic curve containing the hash value has been found; if no Y-coordinate that satisfies the formula does not exist, it means that the corresponding point cannot be found, and it may be necessary to adjust the parameters or choose other methods for mapping.

[0075] Output the points on the found elliptic curve as the initial encryption result of the initial data;

[0076] Perform a further encryption operation on the initial encryption result.

[0077] Performing encryption operations from PCS includes the following steps:

[0078] Multiply the initial encryption result by the first random number of times to obtain the encryption result of a single data point in the energy storage data.

[0079] The first random number is used to repeatedly multiply the initial encryption result of a single data point in the energy storage data to obtain a single encrypted data point in the privacy data.

[0080] Encrypted information refers to the data, algorithms, etc. involved in the energy storage data encryption process.

[0081] In this process, after the PCS encrypts the energy storage data using the elliptic curve discrete logarithm hypothesis algorithm, it synchronously sends the information of the first random number to the server through a data sending request. The purpose of this process is for the server to generate a corresponding random number based on the first random number, thereby decrypting the received private data.

[0082] It is important to note that choosing appropriate elliptic curve parameters and hash functions is crucial in practical applications. These parameter selections should consider both security and performance requirements and must adhere to relevant standards or protocols. Specific standards or protocols may have more specific mapping rules and requirements. Therefore, relevant documentation and guidelines should be consulted during implementation.

[0083] Optionally, privacy calculations of energy storage data can also be encrypted using common encryption algorithms such as symmetric encryption algorithms (e.g., AES), asymmetric encryption algorithms (e.g., RSA), and differential privacy.

[0084] It should be noted that the encryption algorithms provided above can be used individually or in combination. PCS can select the appropriate privacy computing method based on the specific energy storage data and privacy requirements.

[0085] As can be seen, in this embodiment of the application, performing privacy calculations on energy storage data through PCS can achieve preliminary protection of energy storage data.

[0086] In one possible embodiment, the data transmission request further includes a first random number associated with the encryption information of the energy storage data.

[0087] As can be seen, in this embodiment of the application, by sending the first random number to the server separately in advance, it can be ensured that the first random number and the privacy data are simultaneously intercepted by the hijacker so as to decrypt the privacy data.

[0088] S302, determine N master PCS from the set of PCS.

[0089] Among them, the N master PCS are the PCS in the PCS set excluding the slave PCS.

[0090] Each master PCS is primarily used to receive a single piece of privacy data from a slave PCS, where the single piece of privacy data is any one of N pieces of privacy data, and to send the received single piece of privacy data to the master EMS.

[0091] The master PCS can be selected by the slave PCS from among the PCS in the PCS set, excluding the slave PCS.

[0092] In one possible embodiment, determining N master PCSs from the PCS set includes:

[0093] Send a voting instruction to the PCS, the voting instruction being used to instruct the PCS to select X reference PCS from the PCS set excluding the PCS itself, where X is a positive integer greater than N;

[0094] Obtain response information from the PCS, the response information including the voting results of the PCS, the voting results being used to indicate the X reference PCS selected by the PCS and the weight of each reference PCS;

[0095] The N master PCS are determined based on the response information.

[0096] The voting instructions include the PCS that can be selected from the PCS and the number of PCS to be selected.

[0097] Among them, X reference PCS can be selected from the PCS set excluding the PCS itself, and the server determines N master PCS based on the response information of the PCS.

[0098] It should be noted that during the voting process, the final selected primary PCS should be able to protect the security and privacy of energy storage data. Other possible methods may also be included in the specific voting mechanism, which will not be specifically limited here.

[0099] As can be seen, in this embodiment, a single slave PCS can select N master PCS based on the weight of each reference PCS. The master PCS is not unique or fixed, which ensures the flexibility of the master PCS and allows for corresponding selection according to the needs of the slave PCS, ensuring that the finally selected master PCS can protect the security and privacy of privacy data.

[0100] In one possible embodiment, when X equals N, the N master PCS can be directly determined as the X selected reference PCS.

[0101] In one possible embodiment, X is greater than N, and the response information further includes a weight for each reference PCS. Determining the N master PCS based on the response information includes:

[0102] Calculate the number of votes for each reference PCS, where the number of votes is the number of times each reference PCS was selected multiplied by the weight of each reference PCS;

[0103] The N main PCS are determined based on the relationship between the number of votes received by each reference PCS.

[0104] When there are multiple slave PCSs, each slave PCS selects N second reference PCSs. Therefore, the server actually receives more than or equal to N second reference PCSs. The server calculates the number of votes received by each selected second reference PCS based on the response information from the multiple slave PCSs. The server can directly determine the N master PCSs based on the relative numbers of votes received by each second reference PCS.

[0105] Optionally, the server can sort and select the votes for each second reference PCS from largest to smallest or smallest to largest.

[0106] Optionally, when calculating the votes for each second reference PCS, a weight can be set for each second reference PCS. The final voting result is calculated based on the number of votes obtained and the corresponding weight. The server determines the N main PCS based on the final voting result.

[0107] Each PCS can also select more than N second reference PCS from the PCS set other than the plurality of PCS.

[0108] As can be seen, in this embodiment, when there are multiple slave PCS, the multiple slave PCS simultaneously vote to select N second reference PCS. The server can directly determine N master PCS based on the selected second reference PCS. The master PCS is not unique or fixed, which can ensure the flexibility of the master PCS and also make corresponding selections according to the needs of the slave PCS, ensuring that the finally selected master PCS can protect the security and privacy of privacy data.

[0109] S303, determine M master EMS from the EMS set based on the N master PCS.

[0110] Where M is a positive integer greater than or equal to 2.

[0111] M represents the number of primary EMSs. The primary EMSs receive privacy data from the primary PCS. Therefore, it is also necessary to avoid the primary PCS from aggregating all privacy data into a single primary EMS. The number of primary EMSs should be at least two.

[0112] In one possible embodiment, determining M primary EMSs from the EMS set based on the N primary PCSs includes:

[0113] A third voting instruction is sent to each of the N master PCSs, the third voting instruction being used to instruct each master PCS to select M candidate EMSs from the EMS set;

[0114] Obtain third response information from each of the main PCS, the third response information including the third voting result of each main PCS, the third voting result being used to indicate the M candidate EMS selected by each main PCS;

[0115] The number of votes for each candidate EMS is calculated based on the third response information. Each candidate EMS is selected once, which means it receives one vote.

[0116] The M main EMSs are determined based on the ranking of the number of votes received by each candidate EMS.

[0117] The voting instructions include the EMS that the main PCS can select and the number of EMSs to be selected.

[0118] When there are N master PCSs, each master PCS selects N candidate EMSs. Therefore, the number of candidate EMSs actually received by the server is greater than or equal to N. The server calculates the number of votes received by each selected candidate EMS based on the response information from the N master PCSs. The server can directly determine the M master EMSs based on the relationship between the number of votes received by each candidate EMS.

[0119] Optionally, the server can sort and select each candidate EMS based on the number of votes received, either from largest to smallest or smallest to largest.

[0120] Optionally, when calculating the number of votes for each candidate EMS, a weight can be set for each candidate EMS. The final voting result is calculated based on the number of votes obtained and the corresponding weight. The server determines the M main EMS based on the final voting result.

[0121] Each master PCS can also select more than M candidate MES from the EMS set.

[0122] Among them, the main EMS can be the EMS corresponding to the main PCS, or it can be other EMS besides the EMS corresponding to the main PCS, or a part of the M main EMS can be the EMS corresponding to the main PCS and a part can be other EMS besides the EMS corresponding to the main PCS.

[0123] The reason why M is greater than or equal to 2 is that during the transmission of N private data, it is necessary to avoid all N private data being collected into a single main EMS. This way, even if a hijacker obtains some private data, they will not be able to recover all the energy storage data, thus ensuring the security of energy storage data transmission.

[0124] It should be noted that during the voting process, the final selected primary EMS should be able to protect the security and privacy of energy storage data. Other possible methods may also be included in the specific voting mechanism, which will not be specifically limited here.

[0125] As can be seen, in this embodiment, the main EMS is selected by the main PCS itself. The main EMS is not unique or fixed. This ensures the flexibility of the main EMS and allows for corresponding selection according to the needs of the main PCS, ensuring that the finally selected main EMS can protect the security and privacy of privacy data.

[0126] S304, send a first control command to the PCS.

[0127] The first control instruction is used to instruct N pieces of privacy data to be sent from PCS to N master PCS.

[0128] The server can directly send control commands to the PCS.

[0129] After receiving the first control command from the PCS, N pieces of privacy data will be sent to N master PCS respectively.

[0130] Communication and transmission are possible between the PCS and the main PCS.

[0131] Optionally, data transfer between the PCS and the master PCS can be done via network transfer.

[0132] Optionally, data transmission between the slave PCS and the master PCS can be achieved through a direct connection. If the slave PCS and the master PCS are located in the same physical location or within the same local area network, data transmission can be performed through a direct connection, which can be achieved using Ethernet cables, fiber optic cables, or other connection methods.

[0133] Optionally, data transmission between the PCS and the master PCS can be wireless. If there is no physical connection between the master PCS and the slave PCS, wireless technologies such as Wi-Fi, Bluetooth, or mobile communication networks (such as 4G and 5G) can be used for data transmission.

[0134] It should be noted that the specific transmission method between the master and slave PCS needs to be selected according to the specific scenario and requirements. One or more of the above methods can be selected in combination, or other possible methods can be selected. No specific restrictions are made here.

[0135] In this process, N pieces of privacy data are sent from PCS to N master PCS. The specific sending method can be random or in a specific order, which can be set by the user.

[0136] As can be seen, in this step, the privacy data from the PCS is transferred to the main PCS through the first control command.

[0137] S305, send a second control command to the N master PCS.

[0138] The second control command is used to enable M master EMS to acquire N pieces of privacy data.

[0139] The server can directly send control commands to the master PCS.

[0140] The second control command is used to enable M master EMSs to acquire N pieces of privacy data, and the acquisition methods include two types:

[0141] First, if the M primary EMSs include N primary PCS corresponding reference EMSs, then the EMSs in the M primary EMSs that correspond to the N primary PCSs can directly receive one or more of the N privacy data through the data channel between the PCS and the EMS.

[0142] Second, if the M primary EMSs do not include the reference EMSs corresponding to the N primary PCSs, then if the M primary EMSs want to obtain N pieces of privacy data, they rely on the data channels between the PCSs and EMSs, as well as between the EMSs, to receive the N pieces of privacy data. Specifically, the N primary PCSs need to initially transmit the N pieces of privacy data to their corresponding N reference EMSs, and then, through the channels between the EMSs, the N reference EMSs transmit the N pieces of privacy data to the M primary EMSs.

[0143] The second control command is used to instruct the N master PCSs to send privacy data to the corresponding reference EMS. The M master EMSs need to go through the execution of the second control command, regardless of whether they are obtained through the first or the second method.

[0144] As can be seen, in this step, the privacy data of the main PCS is transferred to the reference EMS corresponding to the main PCS through the first control command.

[0145] In one possible embodiment, before sending the second control command to the N master PCSs, the method further includes:

[0146] N reference EMSs are determined based on the N master PCSs, and the N reference EMSs are EMSs in the EMS set that have a one-to-one communication connection with the N master PCSs;

[0147] The first primary PCS and the second primary PCS are determined based on the N reference EMS and the M primary EMS. The M primary EMS include the reference EMS corresponding to the first primary PCS, and the second primary PCS is the PCS other than the first primary PCS among the N primary PCS.

[0148] Determine whether the second main PCS is included among the N main PCS;

[0149] If the second master PCS is not included, then the second control instruction is generated, which is used to instruct the N master PCSs to send the N privacy data to the N reference EMS respectively.

[0150] The first master PCS is used to characterize the reference EMS that includes N master PCS among the M master EMS, and the second master PCS is used to characterize the reference EMS that does not include N master PCS among the M master EMS.

[0151] If it is determined that the M primary EMSs do not include the reference EMSs corresponding to the N primary PCSs, then if the M primary EMSs want to obtain N pieces of privacy data, they rely on the data channels between the PCSs and EMSs, as well as between the EMSs, to receive the N pieces of privacy data. Specifically, the N primary PCSs need to initially transmit the N pieces of privacy data to their corresponding N reference EMSs, and then, through the channels between the EMSs, the N reference EMSs transmit the N pieces of privacy data to the M primary EMSs.

[0152] As can be seen, in this embodiment, by dividing the main PCS into the first PCS and the second main PCS, it can be determined whether there is a reference EMS corresponding to the main PCS among the N main EMS. The reason for distinguishing the two is that the main EMS obtains privacy data through different paths. By clearly defining the first main PCS and the second main PCS in advance, it can be avoided that when the reference EMS is the main EMS, the reference EMS will transmit the received privacy data to other main EMS, thus saving the communication overhead of the system.

[0153] In one possible embodiment, after determining whether the second master PCS exists among the N master PCSs, the method further includes:

[0154] If the second master PCS is included among the N master PCSs, the method further includes the following before sending the second control command to the N master PCSs:

[0155] Generate the second control command, which instructs the N master PCSs to send the N privacy data to the N reference EMSs respectively;

[0156] After sending the second control command to the N master PCSs, the method further includes:

[0157] A third control instruction is generated, which is used to instruct the reference EMS corresponding to the second master PCS to send the privacy data it receives to the master EMS other than the reference EMS corresponding to the first master PCS among the M master EMS.

[0158] The third control command is sent to the reference EMS corresponding to the second master PCS.

[0159] If a second primary PCS is included, it means that among the M primary EMSs, there are N primary PCS corresponding reference EMSs. In this case, the EMS among the M primary EMSs that corresponds to the N primary PCSs can directly receive one or more of the N privacy data through the data channel between the PCS and the EMS.

[0160] As can be seen, in this embodiment, by dividing the main PCS into the first PCS and the second main PCS, it can be determined whether there is a reference EMS corresponding to the main PCS among the N main EMS. The reason for distinguishing the two is that the main EMS obtains privacy data through different paths. By clearly defining the first main PCS and the second main PCS in advance, it can be avoided that when the reference EMS is the main EMS, the reference EMS will transmit the received privacy data to other main EMS, thus saving the communication overhead of the system.

[0161] S306, Obtain the N privacy data from the M master EMSs.

[0162] Specifically, the server can directly obtain N pieces of privacy data from M main EMSs through the communication path between the server and the EMS.

[0163] S307, decrypt the N pieces of privacy data to obtain the energy storage data.

[0164] In one possible embodiment, after generating the third control command, the method further includes:

[0165] If the number C1 of reference EMS corresponding to the second master PCS is greater than the number C2 of the M master EMS excluding the reference EMS corresponding to the first master PCS, then a first number is sent to each reference EMS corresponding to the second master PCS, and a second number is sent to each of the M master EMS excluding the reference EMS corresponding to the first master PCS. The first number is an element in a first number set, where the elements are consecutive integers from 1 to C1 or multiples of consecutive integers from 1 to C1. The second number is an element in a second number set, where the elements are consecutive integers from 0 to C2-1. The first number and the second number are used to indicate the correspondence between the reference EMS corresponding to the second master PCS and the master EMS excluding the reference EMS corresponding to the first master PCS, where the correspondence is as follows:

[0166] The value obtained by taking the first number modulo C2 is the second number of the main EMS among the M main EMS that should receive privacy data, excluding the reference EMS corresponding to the first main PCS.

[0167] In this embodiment, the corresponding primary EMS includes the reference EMS corresponding to the first primary PCS and all EMS other than the reference EMS corresponding to the primary PCS. Therefore, after the reference EMS corresponding to the second primary PCS receives the privacy data sent by the PCS, it needs to send the received privacy data to the corresponding primary EMS. Since M and N are not necessarily equal, M may be less than N. For example, there are 5 PCS (PCS1, PC2, PCS3, PCS4, PCS5), where the slave PCS is (PCS1, PC2) and the primary PCS is (PCS3, PCS4, PCS5); and 5 EMS (EMS1, EMS2, EMS3, EMS4, EMS5), where:

[0168] First example: The primary EMS is (EMS2, EMS3); the primary PCS sends privacy data to the reference EMS:

[0169] PCS1--EMS1;

[0170] PCS2--EMS2 (Main);

[0171] (First Master) PCS3 → EMS3 (Master);

[0172] (Second Master) PCS4 → EMS4;

[0173] (Second main) PCS5 → EMS5;

[0174] The first primary PCS has only PCS3: PCS3 directly corresponds to primary EMS3, so no additional transmission is needed. For ease of allocation, EMS3 also stops receiving privacy data from other EMSs. There are a total of two primary EMSs. Excluding EMS3, C2 = 1, and the second set of numbers is {0}. Now there are two secondary primary PCSs, so C1 = 2, and the first set of numbers is {1,2} or {2,4} or {3,6}.

[0175] If we want EMS4's first number to be 1, EMS5's first number to be 2, and EMS2's second number to be 0, then we can obtain the second number by taking the modulo of C2 based on the first number:

[0176] 1%1 = 0; 2%1 = 0; 0 corresponds to EMS2, so both EMS4 and EMS5 send their respective private data to EMS2.

[0177] Second example:

[0178] If the main EMS is (EMS1, EMS2, EMS3);

[0179] PCS1--EMS1 (Main);

[0180] PCS2--EMS2 (Main);

[0181] (First Master) PCS3 → EMS3 (Master);

[0182] (Second Master) PCS4 → EMS4;

[0183] (Second main) PCS5 → EMS5;

[0184] Then C1 equals 2, C2 = 2; the first set of numbers is {1, 2}; the second set of numbers is {0, 1};

[0185] If we set the first number of EMS4 to 1, the first number of EMS5 to 2, the second number of EMS1 to 0, and the second number of EMS2 to 1, then taking the first number modulo C2 will give us the second number. 1%2 = 1, 2%2 = 0. Therefore, EMS4 sends its private data to EMS2, and EMS5 sends its private data to EMS1.

[0186] The third example:

[0187] If the main EMS is (EMS1, EMS2);

[0188] PCS1--EMS1 (Main);

[0189] PCS2--EMS2 (Main);

[0190] (Second Master) PCS3 → EMS3;

[0191] (Second Master) PCS4 → EMS4;

[0192] (Second main) PCS5 → EMS5;

[0193] Then C1 = 3, C2 = 2, the first set of numbers is {1, 2, 3}, and the second set of numbers is {0, 1};

[0194] If we set the first number of EMS3 to 1, the first number of EMS4 to 2, the first number of EMS5 to 3, the second number of EMS1 to 0, and the second number of EMS2 to 1, then taking the first number modulo C2 yields the second number:

[0195] 1%2 = 1, 2%2 = 0, 3%2 = 1, therefore EMS3 sends to EMS2, EMS4 sends to EMS1, and EMS5 sends to EMS2.

[0196] In one possible embodiment, c2 can also be a multiple of 0 to c2-1, in which case a second number that is a multiple of 0 to c2-1 is sent to each of the M master EMS except for the reference EMS corresponding to the first master PCS.

[0197] As can be seen, in this embodiment, the reference EMS and the main EMS are randomly mapped by taking the modulo of the first number, so that the data sent by the reference EMS has randomness, which can effectively ensure the security of data allocation.

[0198] In one possible embodiment, the data transmission request further includes a first random number, which is associated with the encryption information of the energy storage data;

[0199] The process of decrypting the N pieces of privacy data to obtain the energy storage data includes:

[0200] For each individual encrypted data item among the N privacy data items, the following method is used for decryption:

[0201] A second random number is generated based on the first random number, wherein the second random number is the inverse of the first random number;

[0202] The single encrypted data is multiplied by the second random number a number of times to obtain a single data point in the energy storage data.

[0203] In this context, the inverse is a mathematical concept that represents the unit element obtained by multiplying an element by its corresponding inverse under a certain operation. For integer multiplication, the inverse can be understood as the corresponding reciprocal.

[0204] In this application, the inverse element is used to represent the server's decryption of the result encrypted using a first random integer.

[0205] Optionally, the extended Euclidean algorithm can be used to generate the inverse under a preset modulus p.

[0206] The specific steps are as follows:

[0207] The first random number is 'a'.

[0208] Suppose we want to solve a linear congruence equation ax≡1(mod p) with respect to a first random number a, where a and p are known integers and p is a prime number.

[0209] The equation ax≡1 (mod p) expresses the following meaning:

[0210] Calculate the greatest common divisor (gcd) of a and p using the Euclidean algorithm:

[0211] Assuming the greatest common divisor is d, then the equation ax + p*y = d, where x and y are integers.

[0212] If the greatest common divisor d is not equal to 1, it means that a and p are not coprime, that is, a has no inverse in the sense of modulo p. In this case, it is impossible to continue to find the inverse.

[0213] If the greatest common divisor d equals 1, it means that a and p are coprime, that is, a has an inverse modulo p, and we can proceed to the next step.

[0214] Based on the calculation results of the extended Euclidean algorithm, a set of integer solutions (x0, y0) to the equation ax + p*y = 1 can be obtained. Here, x0 is the inverse of a modulo p.

[0215] Optionally, when encryption is performed using other methods from the PCS, an appropriate method should be used for decryption.

[0216] As can be seen, in this embodiment, the server can obtain the initial energy storage data by decrypting the encrypted data.

[0217] As can be seen, in this embodiment, the server first obtains a data transmission request from a slave PCS. The data transmission request includes N pieces of privacy data, which are used to indicate encrypted energy storage data. The slave PCS is a PCS in the PCS set, and N is a positive integer greater than or equal to 2. Next, N master PCSs are determined from the PCS set. The N master PCSs are PCSs in the PCS set excluding the slave PCSs. Based on the N master PCSs, M master EMSs are determined from the EMS set, where M is a positive integer greater than or equal to 2. Then, a first control command is sent to the slave PCS. The first control command is used to instruct the slave PCS to send a data transmission request to the slave PCS. The CS sends N pieces of privacy data to N master PCSs; sends a second control command to the N master PCSs, the second control command being used to enable M master EMSs to acquire N pieces of privacy data; finally, it acquires N pieces of privacy data from the M master EMSs; and decrypts the N pieces of privacy data to obtain the energy storage data. In summary, the technical solution provided in this application, by performing privacy calculations on the energy storage data, splitting the encrypted energy storage data into multiple parts for separate transmission, and dynamically determining the PCS and EMS for sending data, can ensure that even if a hijacker obtains part of the encrypted data, they cannot recover the original data, thus guaranteeing the secure transmission of data.

[0218] The above primarily describes the solutions of the embodiments of this application from the perspective of the method execution process. It is understood that, in order to achieve the above functions, the server includes the corresponding hardware structure and / or software modules for executing each function. Those skilled in the art should readily recognize that, based on the units and algorithm steps of the examples described in the embodiments provided herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0219] This application embodiment can divide the server into functional units according to the above method example. For example, each function can be divided into different functional units, or two or more functions can be integrated into one processing unit. The integrated unit can be implemented in hardware or as a software program module. It should be noted that the unit division in this application embodiment is illustrative and only represents a logical functional division, while other division methods may be used in actual implementation.

[0220] In the case of using integrated units, please refer to Figure 4 , Figure 4This is a functional unit block diagram of an energy storage data reporting device provided in an embodiment of this application. The energy storage data reporting device 400 includes a receiving unit 401, a processing unit 402, and a sending unit 403.

[0221] Optionally, the receiving unit 401 can be a module unit used for acquiring data, etc.

[0222] Optionally, the processing unit 402 can be a module unit for processing data, etc.

[0223] It should be noted that the processing unit 402 can be a processor or controller, such as a central processing unit (CPU), a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. The processing unit 402 can also be a combination that implements computational functions, such as including one or more microprocessor combinations, a combination of a DSP and a microprocessor, etc.

[0224] Optionally, the transmitting unit 403 can be a module unit for transmitting data.

[0225] Optionally, the privacy-based energy storage data reporting device 400 may further include a storage unit for storing computer program code or instructions executed by the privacy-based energy storage data reporting device 400. For example, the storage unit may be a memory.

[0226] Optionally, the energy storage data reporting device 400 based on privacy computing can be a chip or a chip module.

[0227] In a specific implementation, the energy storage data reporting device 400 based on privacy computing is used to perform the steps performed by the chip / chip module / server, etc., as described in the above method embodiments.

[0228] The following is a detailed explanation:

[0229] The receiving unit 401 is used to acquire a data transmission request from the PCS, wherein the data transmission request includes N privacy data, the N privacy data are used to indicate encrypted energy storage data, the PCS is a PCS in the set of PCS, and N is a positive integer greater than or equal to 2;

[0230] Processing unit 402 is configured to determine N master PCS from the PCS set, wherein the N master PCS are PCS in the PCS set excluding the slave PCS; and to determine M master EMS from the EMS set based on the N master PCS, wherein M is a positive integer greater than or equal to 2.

[0231] The sending unit 403 is configured to send a first control instruction to the slave PCS, the first control instruction being configured to instruct the slave PCS to send the N privacy data to the N master PCS; and to send a second control instruction to the N master PCS, the second control instruction being configured to cause the M master EMS to acquire the N privacy data;

[0232] The receiving unit 401 is also used to acquire the N privacy data from the M master EMSs;

[0233] The processing unit 402 is also used to decrypt the N privacy data to obtain the energy storage data.

[0234] As can be seen, in this embodiment, the server first obtains a data transmission request from a slave PCS. The data transmission request includes N pieces of privacy data, which are used to indicate encrypted energy storage data. The slave PCS is a PCS in the PCS set, and N is a positive integer greater than or equal to 2. Next, N master PCSs are determined from the PCS set. The N master PCSs are PCSs in the PCS set excluding the slave PCSs. Based on the N master PCSs, M master EMSs are determined from the EMS set, where M is a positive integer greater than or equal to 2. Then, a first control command is sent to the slave PCS. The first control command is used to instruct the slave PCS to send a data transmission request to the slave PCS. The CS sends N pieces of privacy data to N master PCSs; sends a second control command to the N master PCSs, the second control command being used to enable M master EMSs to acquire N pieces of privacy data; finally, it acquires N pieces of privacy data from the M master EMSs; and decrypts the N pieces of privacy data to obtain the energy storage data. In summary, the technical solution provided in this application, by performing privacy calculations on the energy storage data, splitting the encrypted energy storage data into multiple parts for separate transmission, and dynamically determining the PCS and EMS for sending data, can ensure that even if a hijacker obtains part of the encrypted data, they cannot recover the original data, thus guaranteeing the secure transmission of data.

[0235] In one possible embodiment, before sending the second control command to the N master PCSs, the processing unit 402 is further configured to:

[0236] N reference EMSs are determined based on the N master PCSs, and the N reference EMSs are EMSs in the EMS set that have a one-to-one communication connection with the N master PCSs;

[0237] The first primary PCS and the second primary PCS are determined based on the N reference EMS and the M primary EMS. The M primary EMS include the reference EMS corresponding to the first primary PCS, and the second primary PCS is the PCS other than the first primary PCS among the N primary PCS.

[0238] Determine whether the second main PCS is included among the N main PCS;

[0239] If the second master PCS is not included, then the second control instruction is generated, which is used to instruct the N master PCSs to send the N privacy data to the N reference EMS respectively.

[0240] In one possible embodiment, after determining whether the second master PCS exists among the N master PCSs, the processing unit 402 is further configured to:

[0241] If the second master PCS is included among the N master PCSs, the method further includes the following before sending the second control command to the N master PCSs:

[0242] Generate the second control command, which instructs the N master PCSs to send the N privacy data to the N reference EMSs respectively;

[0243] After sending the second control command to the N master PCSs, the method further includes:

[0244] A third control instruction is generated, which instructs the reference EMS corresponding to the second master PCS to send the received privacy data to the master EMS other than the reference EMS corresponding to the first master PCS among the M master EMSs; and sends the third control instruction to the reference EMS corresponding to the second master PCS.

[0245] In one possible embodiment, the data transmission request further includes a first random number, which is associated with the encryption information of the energy storage data;

[0246] In the process of decrypting the N pieces of privacy data to obtain the energy storage data, the processing unit 402 is further configured to:

[0247] For each individual encrypted data item among the N privacy data items, the following method is used for decryption:

[0248] A second random number is generated based on the first random number, wherein the second random number is the inverse of the first random number;

[0249] The single encrypted data is multiplied by the second random number a number of times to obtain a single data point in the energy storage data.

[0250] In one possible embodiment, regarding the determination of N master PCS from the PCS set, the processing unit 402 is further configured to:

[0251] Send a voting instruction to the PCS, the voting instruction being used to instruct the PCS to select X reference PCS from the PCS set excluding the PCS itself, where X is a positive integer greater than or equal to N;

[0252] Obtain response information from the PCS, the response information including the voting results of the PCS, the voting results being used to indicate the X reference PCS selected by the PCS and the weight of each reference PCS;

[0253] The N master PCS are determined based on the response information.

[0254] In one possible embodiment, X is greater than N, and the response information further includes a weight for each reference PCS. In determining the N master PCS based on the response information, the processing unit 402 is further configured to:

[0255] Calculate the number of votes for each reference PCS, where the number of votes is the number of times each reference PCS was selected multiplied by the weight of each reference PCS;

[0256] The N main PCS are determined based on the relationship between the number of votes received by each reference PCS.

[0257] In one possible embodiment, after generating the third control command, the processing unit 402 is further configured to:

[0258] If the number C1 of reference EMS corresponding to the second master PCS is greater than the number C2 of the M master EMS excluding the reference EMS corresponding to the first master PCS, then a first number is sent to each reference EMS corresponding to the second master PCS, and a second number is sent to each of the M master EMS excluding the reference EMS corresponding to the first master PCS. The first number is an element in a first number set, where the elements are consecutive integers from 1 to C1 or multiples of consecutive integers from 1 to C1. The second number is an element in a second number set, where the elements are consecutive integers from 0 to C2-1. The first number and the second number are used to indicate the correspondence between the reference EMS corresponding to the second master PCS and the master EMS excluding the reference EMS corresponding to the first master PCS, where the correspondence is as follows:

[0259] The value obtained by taking the first number modulo C2 is the second number of the main EMS among the M main EMS that should receive privacy data, excluding the reference EMS corresponding to the first main PCS.

[0260] It is understood that since the method embodiments and the device embodiments are different presentations of the same technical concept, the content of the method embodiment section in this application should be adapted to the device embodiment section in a synchronous manner, and will not be repeated here.

[0261] Please see Figure 5 , Figure 5 This is a schematic diagram of the structure of a server provided in an embodiment of this application, wherein the server 500 includes a processor 510, a memory 520, and a communication bus for connecting the processor 510 and the memory 520.

[0262] Optionally, the memory 520 may include, but is not limited to, RAM, ROM, EPROM or CD-ROM, and the memory 520 is used to store relevant instructions and data.

[0263] Optionally, server 500 also includes a communication interface for receiving and sending data.

[0264] Optionally, the processor 510 may be one or more central processing units (CPUs). If the processor 510 is a central processing unit (CPU), the central processing unit (CPU) may be a single-core central processing unit (CPU) or a multi-core central processing unit (CPU).

[0265] Optionally, the processor 510 can be a baseband chip, a chip, a central processing unit (CPU), a general-purpose processor, a DSP, an ASIC, an FPGA, or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof.

[0266] Optionally, the processor 510 in server 500 is used to execute one or more programs 521 stored in memory 520 to perform the following operations:

[0267] Obtain a data transmission request from a PCS, the data transmission request including N privacy data, the N privacy data being used to indicate encrypted energy storage data, the PCS being a PCS in the set of PCS, and N being a positive integer greater than or equal to 2;

[0268] N master PCS are determined from the set of PCS, and the N master PCS are the PCS in the set of PCS excluding the slave PCS;

[0269] Based on the N master PCS, M master EMS are determined from the EMS set, where M is a positive integer greater than or equal to 2;

[0270] Send a first control instruction to the slave PCS, the first control instruction being used to instruct the slave PCS to send the N privacy data to the N master PCS;

[0271] Send a second control instruction to the N master PCSs, the second control instruction being used to enable the M master EMSs to acquire the N privacy data;

[0272] Obtain the N pieces of privacy data from the M main EMS;

[0273] The N pieces of privacy data are decrypted to obtain the energy storage data.

[0274] As can be seen, in this embodiment, the server first obtains a data transmission request from a slave PCS. The data transmission request includes N pieces of privacy data, which are used to indicate encrypted energy storage data. The slave PCS is a PCS in the PCS set, and N is a positive integer greater than or equal to 2. Next, N master PCSs are determined from the PCS set. The N master PCSs are PCSs in the PCS set excluding the slave PCSs. Based on the N master PCSs, M master EMSs are determined from the EMS set, where M is a positive integer greater than or equal to 2. Then, a first control command is sent to the slave PCS. The first control command is used to instruct the slave PCS to send data to the slave PCS. The PCS sends N pieces of privacy data to N master PCSs; sends a second control command to the N master PCSs, the second control command being used to enable M master EMSs to acquire N pieces of privacy data; finally, it acquires N pieces of privacy data from the M master EMSs; and decrypts the N pieces of privacy data to obtain the energy storage data. In summary, the technical solution provided in this application, by performing privacy calculations on the energy storage data, splitting the encrypted energy storage data into multiple parts for separate transmission, and dynamically determining the PCS and EMS for sending the data, can ensure that even if a hijacker obtains part of the encrypted data, they cannot recover the original data, thus guaranteeing the secure transmission of data.

[0275] It should be noted that the specific implementation of each operation can adopt the corresponding description of the method embodiments shown above. The server 500 can be used to execute the terminal device side method of the above method embodiments of this application, and will not be described in detail here.

[0276] This application provides a computer-readable storage medium having a computer program / instructions stored thereon, which, when executed by a processor, implement the steps of the method described in any possible embodiment.

[0277] It should be understood that in the various embodiments of this application, the order of the above-mentioned processes does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0278] In the several embodiments provided in this application, it should be understood that the disclosed methods, apparatuses, and systems can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for example, the division of units is merely a logical functional division, and other division methods may exist in actual implementation; for example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.

[0279] The unit described as a separate component may or may not be physically separate. The component shown as a unit may or may not be a physical unit; that is, it may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0280] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can be physically included separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or in the form of hardware plus software functional units.

[0281] The integrated units implemented as software functional units described above can be stored in a computer-readable storage medium. These software functional units, stored in a storage medium, include several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute some steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes: a USB flash drive, a portable hard drive, a magnetic disk, an optical disk, volatile memory, or non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of random access memory (RAM) are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate synchronous DRAM (DDR SDRAM), enhanced synchronous DRAM (ESDRAM), synchronous linked DRAM (SLDRAM), and direct rambus RAM (DR RAM), etc., which are various media capable of storing program code.

[0282] While this application discloses the above information, it is not limited thereto. Any person skilled in the art can easily conceive of variations or substitutions without departing from the spirit and scope of this application, and can make various alterations and modifications, including combinations of the different functions and implementation steps described above, as well as software and hardware implementation methods, all of which are within the protection scope of this application.

Claims

1. A method for reporting energy storage data, characterized in that, A server is applied to an energy storage system, the energy storage system including the server, an energy conversion system (EMS) set, a power converter (PCS) set, and an energy storage device set, wherein each EMS in the EMS set is connected to each PCS in the PCS set in a one-to-one communication connection, and the server is connected to each EMS and each PCS in a communication connection; the method includes: Obtain a data transmission request from a PCS, the data transmission request including N privacy data, the N privacy data being used to indicate encrypted energy storage data, the PCS being a PCS in the set of PCS, and N being a positive integer greater than or equal to 2; N master PCS are determined from the set of PCS, and the N master PCS are the PCS in the set of PCS excluding the slave PCS; Based on the N master PCS, M master EMS are determined from the EMS set, where M is a positive integer greater than or equal to 2; Send a first control instruction to the slave PCS, the first control instruction being used to instruct the slave PCS to send the N privacy data to the N master PCS; Send a second control command to the N master PCS, the second control command being used to enable the M master EMS to acquire the N privacy data; Obtain the N pieces of privacy data from the M main EMS; The N pieces of privacy data are decrypted to obtain the energy storage data.

2. The method according to claim 1, characterized in that, Before sending the second control command to the N master PCSs, the method further includes: N reference EMSs are determined based on the N master PCSs, and the N reference EMSs are EMSs in the EMS set that have a one-to-one communication connection with the N master PCSs; The first primary PCS and the second primary PCS are determined based on the N reference EMS and the M primary EMS. The M primary EMS include the reference EMS corresponding to the first primary PCS, and the second primary PCS is the PCS other than the first primary PCS among the N primary PCS. Determine whether the second main PCS is included among the N main PCS; If the second master PCS is not included, then the second control instruction is generated, which is used to instruct the N master PCSs to send the N privacy data to the N reference EMS respectively.

3. The method according to claim 2, characterized in that, After determining whether the second master PCS exists among the N master PCSs, the method further includes: If the second master PCS is included among the N master PCSs, the method further includes the following before sending the second control command to the N master PCSs: Generate the second control command, which instructs the N master PCSs to send the N privacy data to the N reference EMSs respectively; After sending the second control command to the N master PCSs, the method further includes: A third control instruction is generated, which is used to instruct the reference EMS corresponding to the second master PCS to send the privacy data it receives to the master EMS other than the reference EMS corresponding to the first master PCS among the M master EMS. The third control command is sent to the reference EMS corresponding to the second master PCS.

4. The method according to claim 1, characterized in that, The data transmission request also includes a first random number, which is associated with the encryption information of the energy storage data; The process of decrypting the N pieces of privacy data to obtain the energy storage data includes: For each individual encrypted data item among the N privacy data items, the following method is used for decryption: A second random number is generated based on the first random number, wherein the second random number is the inverse of the first random number; The single encrypted data is multiplied by the second random number a number of times to obtain a single data point in the energy storage data.

5. The method according to claim 1, characterized in that, The step of determining N master PCSs from the PCS set includes: Send a voting instruction to the PCS, the voting instruction being used to instruct the PCS to select X reference PCS from the PCS set excluding the PCS itself, where X is a positive integer greater than or equal to N; Obtain response information from the PCS, the response information including the voting results of the PCS, the voting results being used to indicate the X reference PCS selected by the PCS; The N master PCS are determined based on the response information.

6. The method according to claim 5, characterized in that, The X is greater than the N, and the response information also includes the weight of each reference PCS. Determining the N master PCS based on the response information includes: Calculate the number of votes for each reference PCS, where the number of votes is the number of times each reference PCS was selected multiplied by the weight of each reference PCS; The N main PCS are determined based on the relationship between the number of votes received by each reference PCS.

7. The method according to claim 3, characterized in that, After generating the third control command, the method further includes: If the number C1 of reference EMS corresponding to the second master PCS is greater than the number C2 of the M master EMS excluding the reference EMS corresponding to the first master PCS, then a first number is sent to each reference EMS corresponding to the second master PCS, and a second number is sent to each of the M master EMS excluding the reference EMS corresponding to the first master PCS. The first number is an element in a first number set, where the elements are consecutive integers from 1 to C1 or multiples of consecutive integers from 1 to C1. The second number is an element in a second number set, where the elements are consecutive integers from 0 to C2-1. The first number and the second number are used to indicate the correspondence between the reference EMS corresponding to the second master PCS and the master EMS excluding the reference EMS corresponding to the first master PCS, where the correspondence is as follows: The value obtained by taking the first number modulo C2 is the second number of the main EMS among the M main EMS that should receive privacy data, excluding the reference EMS corresponding to the first main PCS.

8. An energy storage data reporting device, characterized in that, The device includes: A receiving unit is configured to acquire a data transmission request from a PCS, wherein the data transmission request includes N privacy data, the N privacy data being used to indicate encrypted energy storage data, the PCS being a PCS in a set of PCS, and N being a positive integer greater than or equal to 2; The processing unit is configured to determine N master PCS from the PCS set, wherein the N master PCS are PCS in the PCS set excluding the slave PCS; and to determine M master EMS from the EMS set based on the N master PCS, wherein M is a positive integer greater than or equal to 2. A sending unit is configured to send a first control instruction to the slave PCS, the first control instruction being configured to instruct the slave PCS to send the N privacy data to the N master PCS; and to send a second control instruction to the N master PCS, the second control instruction being configured to cause the M master EMS to acquire the N privacy data; The receiving unit is also used to acquire the N privacy data from the M master EMSs; The processing unit is also used to decrypt the N privacy data to obtain the energy storage data.

9. A server, characterized in that, The method includes a processor, a memory, and one or more programs, said programs being stored in the memory and configured to be executed by the processor, said programs including instructions for performing the steps of the method as described in any one of claims 1-7.

10. A computer-readable storage medium, characterized in that, It stores a computer program / instruction thereon, which, when executed by a processor, implements the steps of the method as described in any one of claims 1-7.