Energy storage system and data transmission method

By using a genetic algorithm to adaptively adjust the encryption algorithm, the problem of fixed encryption methods between energy storage devices and servers is solved, improving the flexibility and reliability of data transmission.

CN121077652APending Publication Date: 2025-12-05JINKO SOLAR CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511221069.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-08-28
Publication Date
2025-12-05

AI Technical Summary

Technical Problem

The existing encryption method between energy storage devices and servers is fixed, which leads to large encryption and decryption delays under high load or poor network conditions, affecting data transmission efficiency and causing data transmission failures.

Method used

The energy storage device negotiates a target encryption algorithm with the server. Based on the algorithm characteristics, the server's encryption test, the current network quality, and the security requirements of the data to be transmitted, the encryption algorithm is adaptively adjusted through a genetic algorithm.

Benefits of technology

It improves the flexibility and reliability of data transmission, avoiding data transmission delays and failures caused by encryption and decryption latency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121077652A_ABST
    Figure CN121077652A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of energy storage, in particular to an energy storage system and a data transmission method. The method is applied to the energy storage device, when a first condition is met, the energy storage device negotiates a target encryption algorithm with a server, and the method comprises the following steps: selecting one or more encryption algorithms; sending a key negotiation request to a server, wherein the key negotiation request comprises information of the selected encryption algorithm; the server is used for performing encryption testing on a corresponding encryption algorithm in response to the key negotiation request; receiving encrypted test data returned by the server; determining the fitness value of the selected encryption algorithm according to the algorithm features of the selected encryption algorithm, the encryption test data, the current network quality and the security demand features of the to-be-transmitted data; and determining a target encryption algorithm for data transmission from the selected encryption algorithms according to the fitness value. In the embodiment of the invention, the energy storage equipment can adaptively adjust the encryption algorithm used for data transmission between the energy storage equipment and the server.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of energy storage, in particular to an energy storage system and a data transmission method. BACKGROUND

[0002] In order to ensure the confidentiality and integrity of data transmission, the energy storage device and the server transmit data in an encrypted manner, and the encryption strategy adopted is usually fixed. However, in some cases, if the energy storage device and the server always transmit data in the inherent encryption manner, it may cause problems such as data transmission delay. For example, in the case of high transmission load or poor network environment, if the encryption manner with a relatively high encryption level is still used, data transmission failure may occur due to encryption and decryption delay. Therefore, how to adaptively adjust the encryption strategy becomes a technical problem to be solved. SUMMARY

[0003] Therefore, the present application provides an energy storage system and a data transmission method, which can adaptively adjust the encryption algorithm according to the algorithm characteristics of the encryption algorithm, the encryption test of the server on the encryption algorithm, the current network quality, and the security requirement characteristics of the data to be transmitted.

[0004] In a first aspect, an embodiment of the present application provides a data transmission method of an energy storage system, which is applied to an energy storage device. When a first condition is met, the energy storage device negotiates a target encryption algorithm with a server, including:

[0005] selecting one or more encryption algorithms;

[0006] sending a key negotiation request to the server, wherein the key negotiation request contains information of the selected encryption algorithm; wherein the server is configured to perform an encryption test on the corresponding encryption algorithm in response to the key negotiation request;

[0007] receiving encryption test data returned by the server;

[0008] determining an adaptability value of the selected encryption algorithm according to the algorithm characteristics of the selected encryption algorithm, the encryption test data, the current network quality, and the security requirement characteristics of the data to be transmitted;

[0009] determining a target encryption algorithm for data transmission from the selected encryption algorithm according to the adaptability value.

[0010] In some embodiments, the energy storage device determines the target encryption algorithm by using a genetic algorithm, wherein the encryption algorithm is used as a population individual in the genetic algorithm, and in each iteration process of the genetic algorithm, the method includes:

[0011] selecting an encryption algorithm from the population;

[0012] sending information of the selected encryption algorithm to a server for encryption test to obtain encryption test data of the encryption algorithm from the server;

[0013] determining an adaptability value of the selected encryption algorithm according to algorithm characteristics of the selected encryption algorithm, the encryption test data, current network quality, and security requirement characteristics of the data to be transmitted;

[0014] selecting a target individual from the selected encryption algorithm according to the adaptability value;

[0015] performing crossover and mutation on the target individual to obtain a next generation population individual, and performing next iteration of the genetic algorithm based on the next generation population individual until the number of iterations meets a preset maximum number of iterations;

[0016] wherein, when the number of iterations meets the preset maximum number of iterations, the target encryption algorithm is determined according to the adaptability value.

[0017] In some embodiments, the determining of the adaptability value of the selected encryption algorithm according to the algorithm characteristics of the selected encryption algorithm, the encryption test data, the current network quality, and the security requirement characteristics of the data to be transmitted comprises:

[0018] determining an encryption security value of the selected encryption algorithm according to the algorithm characteristics of the selected encryption algorithm, the encryption test data, and the current network quality;

[0019] determining an encryption requirement reducible value of the data to be transmitted according to the security requirement characteristics of the data to be transmitted;

[0020] determining the adaptability value of the selected encryption algorithm according to the encryption security value of the selected encryption algorithm and the encryption requirement reducible value of the data to be transmitted.

[0021] In some embodiments, the determining of the encryption security value of the selected encryption algorithm according to the algorithm characteristics of the selected encryption algorithm, the encryption test data, and the current network quality comprises:

[0022] determining a security level value of the selected encryption algorithm according to the algorithm characteristics of the selected encryption algorithm;

[0023] determining an encryption effect value of the selected encryption algorithm according to the encryption test data of the selected encryption algorithm;

[0024] determining an encryption attenuation value according to the current network quality;

[0025] determining the encryption security value of the selected encryption algorithm according to the security level value and the encryption effect value of the selected encryption algorithm, and the encryption attenuation value.

[0026] In some embodiments, the algorithm feature of the encryption algorithm includes: an encryption algorithm type and a key length; different encryption algorithm types and key lengths correspond to different security level values.

[0027] The encryption test data includes: encryption time consumption and transmission bit error rate; different encryption time consumption and transmission bit error rate correspond to different encryption effect values.

[0028] The current network quality includes: network quality on the side of the energy storage device, network quality on the side of the server, and / or data load condition on the side of the server; different network qualities correspond to different encryption attenuation values.

[0029] In some embodiments, the security requirement feature of the data to be transmitted includes: a combination of one or more of the following: data volume feature, tolerable lost data feature, tolerable confidentiality impairment feature, and feature of needing to guarantee data confidentiality and integrity.

[0030] Different security requirement features correspond to different encryption requirement reducible values.

[0031] In some embodiments, the higher the encryption security and encryption efficiency represented by the algorithm feature of the encryption algorithm and the encryption test data, or the better the current network quality, the greater the encryption security value, otherwise the smaller the encryption security value.

[0032] The lower the data security requirement represented by the security requirement feature of the data to be transmitted, the greater the encryption requirement reducible value, otherwise the smaller the encryption requirement reducible value.

[0033] In some embodiments, a plurality of encryption levels are pre-set, and different encryption levels correspond to different encryption security value ranges.

[0034] A plurality of encryption requirement levels are pre-set, and different encryption requirement levels correspond to different encryption requirement reducible value ranges.

[0035] Each of the encryption requirement levels is associated with a corresponding encryption level.

[0036] The determining of the fitness value of the selected encryption algorithm according to the encryption security value of the selected encryption algorithm and the encryption requirement reducible value of the data to be transmitted includes:

[0037] According to the encryption security value of the selected encryption algorithm, the encryption level to which the selected encryption algorithm belongs is determined.

[0038] According to the encryption requirement reducible value of the data to be transmitted, a target encryption requirement level is determined.

[0039] If the encryption level to which the encryption algorithm belongs is associated with the target encryption requirement level, a high fitness value is configured for the corresponding encryption algorithm.

[0040] If the encryption level to which the encryption algorithm belongs is not associated with the target encryption requirement level, a low fitness value is configured for the corresponding encryption algorithm.

[0041] In some embodiments, the selecting the target individual from the selected encryption algorithms according to the fitness values comprises:

[0042] The encryption algorithm with the fitness value greater than a preset threshold is selected as the target individual.

[0043] In some embodiments, the method further comprises: determining an initial population of the genetic algorithm according to an encryption algorithm list shared by the energy storage device and the server, the encryption algorithm list comprising a plurality of encryption algorithms.

[0044] In the second aspect, an energy storage system is provided, comprising: an energy storage device and a server.

[0045] The energy storage device is configured to perform the data transmission method of the energy storage system according to the first aspect or any one of the first aspect.

[0046] The server is configured to receive a key negotiation request sent by the energy storage device, wherein the key negotiation request comprises information of the encryption algorithm selected by the energy storage device; in response to the key negotiation request, the server performs encryption testing on the corresponding encryption algorithm and returns encryption testing data of the encryption algorithm to the energy storage device.

[0047] The server is further configured to receive and verify the encryption data sent by the energy storage device based on the target encryption algorithm after the target encryption algorithm is determined by the energy storage device.

[0048] The energy storage system and the data transmission method of the embodiments of the present application have at least the following beneficial effects:

[0049] The encryption algorithm can be adaptively adjusted between the energy storage device and the server according to the algorithm characteristics of the encryption algorithm, the encryption testing of the encryption algorithm by the server, the current network quality, and the security requirement characteristics of the data to be transmitted, so that the encryption algorithm used between the energy storage device and the server is more in line with the current network state and can better meet the transmission load requirements of the server, and the data transmission delay or data transmission failure caused by encryption and decryption delay can be avoided as much as possible. BRIEF DESCRIPTION OF DRAWINGS

[0050] Figure 1 A flowchart for negotiating a target encryption algorithm between an energy storage device and a server is provided in the embodiments of the present application.

[0051] Figure 2 A flow chart for determining a target encryption algorithm by a genetic algorithm is provided for an embodiment of the present application;

[0052] Figure 3 A flow chart for determining a fitness value is provided for an embodiment of the present application;

[0053] Figure 4 A flow chart for negotiating a target encryption algorithm between a server and a power storage device is provided for another embodiment of the present application;

[0054] Figure 5 A structural schematic diagram of a power storage device is provided for an embodiment of the present application. DETAILED DESCRIPTION

[0055] In order to better understand the technical solutions of the present application, the embodiments of the present application are described in detail below with reference to the accompanying drawings.

[0056] It should be clear that the described embodiments are only some of the embodiments of the present application, but not all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative labor fall within the scope of protection of the present application.

[0057] The terms used in the embodiments of the present application are only for the purpose of describing the specific embodiments, and are not intended to limit the present application. The singular forms "a", "an" and "the" used in the embodiments of the present application and the appended claims are also intended to include the plural forms, unless the context clearly indicates otherwise.

[0058] It should be understood that the term "and / or" used herein is only to describe the association relationship of the associated objects, which means that there can be three relationships, for example, A and / or B, which can represent the three cases of A alone, A and B together, and B alone. In addition, the character " / " in this paper generally represents that the front and rear associated objects are a "or" relationship.

[0059] The energy storage system includes a photovoltaic assembly, an energy storage device, and a server. The photovoltaic assembly converts solar energy into electric energy for use by a load or storage in the energy storage device. The energy storage device stores the electric energy output by the photovoltaic assembly and discharges to supply power to the load when needed. The energy storage device also communicates with the server to report data to the server. The server is used to manage and control the energy storage device and issue management and control information to the energy storage device. To ensure the confidentiality and integrity of data transmission, the energy storage device and the server use an encryption method to transmit data, but the encryption method used is usually a fixed encryption method. If the encryption method used between the energy storage device and the server is of a higher encryption level, in the scenario of high load or poor network environment, data transmission may fail due to encryption and decryption delay. Therefore, how to adaptively adjust the encryption method between the energy storage device and the server becomes a problem to be solved.

[0060] To this end, an energy storage system data transmission method is provided in the embodiments of the present application. In the method, the energy storage device can adaptively adjust the encryption algorithm used for data transmission with the server according to the algorithm characteristics of the encryption algorithm, the security requirement characteristics of the data to be transmitted, the encryption test of the server, and the network quality.

[0061] The energy storage system data transmission method of the embodiments of the present application is applied to the energy storage device. When the first condition is met, the energy storage device negotiates a target encryption algorithm with the server. It can be understood that before the energy storage device negotiates the target encryption algorithm with the server, the energy storage device and the server can use any encryption algorithm for data transmission. When the first condition is met, it means that the encryption algorithm currently used between the energy storage device and the server may not meet the current data transmission requirements and needs to be adjusted. The first condition can include that the user issues an instruction to the energy storage device to adjust the encryption algorithm, or the network quality on the energy storage device side or the network quality on the server side is not suitable for the current encryption algorithm, or the transmission load on the server side is high. For example, the network quality on the energy storage device side or the server side is poor, and the encryption algorithm used by the energy storage device and the server for data transmission has a high encryption level. In the current poor network quality, the encryption and decryption of data will bring a large delay, and the encryption level of the encryption algorithm needs to be reduced. Of course, in some embodiments, when the network quality is good and the data to be transmitted has high confidentiality requirements, the encryption level of the encryption algorithm used between the energy storage device and the server can also be increased.

[0062] In some embodiments, when the first condition is met, the specific process of negotiating the target encryption algorithm between the energy storage device and the server includes: Figure 1

[0063] ​101, the energy storage device selects one or more encryption algorithms.

[0064] In some embodiments, the energy storage device maintains a list of encryption algorithms, and the list of encryption algorithms includes a plurality of encryption algorithms. The energy storage device selects one or more encryption algorithms from the list of encryption algorithms maintained by the energy storage device.

[0065] In some embodiments, the list of encryption algorithms described above is a list of encryption algorithms shared between the energy storage device and the server. The energy storage device selects one or more encryption algorithms from the list of encryption algorithms shared with the server.

[0066] 102, the energy storage device sends a key agreement request to the server, and the key agreement request includes information of the selected encryption algorithm.

[0067] 103, the server performs encryption testing on the corresponding encryption algorithm in response to the key agreement request.

[0068] 104, the server sends encryption testing data to the energy storage device.

[0069] 105, the energy storage device receives the encryption testing data returned by the server.

[0070] 106, the energy storage device determines a fitness value of the selected encryption algorithm according to the algorithm characteristics of the selected encryption algorithm, the encryption testing data, the current network quality, and the security requirement characteristics of the data to be transmitted.

[0071] 107, the energy storage device determines a target encryption algorithm for data transmission from the selected encryption algorithm according to the fitness value. After determining the target encryption algorithm, the energy storage device and the server perform data transmission according to the target encryption algorithm.

[0072] In the method of the embodiments of the present application, the energy storage device and the server can adaptively adjust the encryption algorithm according to the algorithm characteristics of the encryption algorithm, the encryption testing of the server on the encryption algorithm, the current network quality, and the security requirement characteristics of the data to be transmitted, so that the encryption algorithm used between the energy storage device and the server is more in line with the current network state, and can better meet the transmission load requirements of the server, and can avoid data transmission delay or data transmission failure caused by encryption and decryption delay as much as possible.

[0073] In some embodiments, the energy storage device and the server can determine the target encryption algorithm through one round of negotiation. That is, the energy storage device and the server determine the target encryption algorithm by performing steps 101-106 described above.

[0074] In some embodiments, the target encryption algorithm can also be determined between the energy storage device and the server through multiple rounds of negotiation. That is, the target encryption algorithm can be determined between the energy storage device and the server by performing multiple rounds of the above steps 101-106.

[0075] In some embodiments, the way of determining the target encryption algorithm through multiple rounds of negotiation can include: employing a genetic algorithm to determine the target encryption algorithm. As shown in Figure 2 The process of determining the target encryption algorithm through the genetic algorithm includes:

[0076] 200, the energy storage device determines an initial population and presets a maximum iteration number. The initial value of the iteration number is one.

[0077] In the genetic algorithm of the embodiments of the present application, the encryption algorithm can be taken as a population individual.

[0078] When starting to perform the genetic algorithm, the initial population can be determined according to the encryption algorithm list maintained by the energy storage device. Alternatively, the encryption algorithm list can be an encryption algorithm list shared by the energy storage device and the server. That is, the initial population can be determined according to the encryption algorithm list shared by the energy storage device and the server.

[0079] 201, the energy storage device determines whether the iteration number is greater than the preset maximum iteration number; if yes, step 211 is performed; if no, step 202 is performed.

[0080] 202, the energy storage device selects an encryption algorithm from the population.

[0081] 203, the energy storage device sends the information of the selected encryption algorithm to the server. Alternatively, the energy storage device sends a key negotiation request to the server, and the key negotiation request contains the encryption algorithm selected by the energy storage device.

[0082] 204, the server performs an encryption test according to the received information of the encryption algorithm. Alternatively, the server obtains the information of the encryption algorithm from the key negotiation request after receiving the key negotiation request, and performs an encryption test on the corresponding encryption algorithm.

[0083] 205, the server returns encryption test data to the energy storage device according to the test result.

[0084] 206, the energy storage device receives the encryption test data returned by the server.

[0085] 207, the energy storage device determines the fitness value of each selected encryption algorithm according to the algorithm characteristics of the selected encryption algorithm, the encryption test data returned by the server, the current network quality, and the security requirement characteristics of the to-be-transmitted data.

[0086] 208, the energy storage device selects the target individual from the selected encryption algorithm according to the fitness value of each encryption algorithm. Alternatively, the energy storage device can select the encryption algorithm with a fitness value greater than a preset threshold as the target individual.

[0087] 209, the energy storage device performs crossover and mutation on the target individual to obtain next-generation population individuals, and updates the population based on the next-generation population individuals.

[0088] 210, after the iteration number is incremented by one, jump to step 201.

[0089] 211, when the iteration number meets a preset maximum iteration number, the energy storage device determines the target encryption algorithm according to the fitness value. Alternatively, the energy storage device can select the encryption algorithm with the largest fitness value in the iteration process as the target encryption algorithm. After the energy storage device determines the target encryption algorithm, the energy storage device establishes an encrypted connection with the server according to the target encryption algorithm, and sends encrypted data to the server. The server receives and verifies the encrypted data sent by the energy storage device.

[0090] In the method of the embodiment of the application, the genetic algorithm is introduced in the process of determining the target encryption algorithm based on the algorithm characteristics of the encryption algorithm, the encryption test of the server on the encryption algorithm, the current network quality, and the security requirement characteristics of the data to be transmitted, so as to quickly find the optimal solution of the target encryption algorithm in a limited time and space based on the genetic algorithm.

[0091] In the above method of the embodiment of the application, determining the fitness value of the selected encryption algorithm according to the algorithm characteristics of the selected encryption algorithm, the encryption test data, the current network quality, and the security requirement characteristics of the data to be transmitted includes: determining the encryption security value of the selected encryption algorithm according to the algorithm characteristics of the selected encryption algorithm, the encryption test data, and the current network quality. Determine the encryption requirement reducible value of the data to be transmitted according to the security requirement characteristics of the data to be transmitted. Determine the fitness value of the selected encryption algorithm according to the encryption security value of the encryption algorithm and the encryption requirement reducible value of the data to be transmitted.

[0092] In some embodiments, determining the encryption security value of the selected encryption algorithm according to the algorithm characteristics of the selected encryption algorithm, the encryption test data, and the current network quality includes: determining the security level value of the selected encryption algorithm according to the algorithm characteristics of the selected encryption algorithm; determining the encryption effect value of the selected encryption algorithm according to the encryption test data of the selected encryption algorithm; determining the encryption attenuation value according to the current network quality. Determine the encryption security value of the selected encryption algorithm according to the security level value and the encryption effect value of the selected encryption algorithm, and the encryption attenuation value.

[0093] In the above method, the algorithm characteristics of the encryption algorithm include an encryption algorithm type and a key length. Different encryption algorithm types and key lengths correspond to different security level values. The higher the encryption security represented by the encryption algorithm type and the key length, the larger the security level value, and otherwise the smaller the security level value.

[0094] In some embodiments, the encryption test data includes an encryption time consumption and a transmission error rate. Different encryption time consumptions and transmission error rates correspond to different encryption effect values. Among them, the lower the encryption time consumption and the lower the transmission error rate, the larger the encryption effect value, and otherwise the smaller the encryption effect value.

[0095] In some embodiments, the current network quality includes a network quality on the side of the energy storage device, a network quality on the side of the server, and / or a data load situation on the side of the server; different network qualities correspond to different encryption attenuation values. In some embodiments, the worse the network quality on the side of the energy storage device or the network quality on the side of the server, or the higher the data load on the side of the server, that is, the more the number of energy storage devices connected on the side of the server and the more data to be transmitted, the smaller the encryption attenuation value, and otherwise the larger the encryption attenuation value. Of course, in some embodiments, the encryption attenuation value can also be a negative value, and when the network quality on the side of the energy storage device or the network quality on the side of the server is worse, or the data load on the side of the server is higher, the absolute value of the encryption attenuation value is larger, and otherwise the absolute value of the encryption attenuation value is smaller.

[0096] It can be understood that the higher the encryption security represented by the algorithm characteristics of the encryption algorithm and the encryption test data, or the better the current network quality, the larger the encryption security value calculated, and otherwise the smaller the encryption security value.

[0097] The present application also provides a specific example of determining the encryption security value, in which example:

[0098] Fitness=\frac{SecurityLevel}{EncryptTime+ErrorRate}\timesNetworkQuality^α.

[0099] Among them, Fitness is used to represent the encryption security value.

[0100] SecurityLevel is used to represent a security level value, which is determined according to the encryption algorithm type, the key length and / or the encryption mode. Different combinations of the encryption algorithm type, the key length and the encryption mode can correspond to different security level values. SecurityLevel can be used to determine which combinations of the encryption algorithm type, the key length and / or the encryption mode are valid combinations, in addition to predefining the security level values corresponding to various encryption algorithm types, key lengths and / or encryption modes. In an implementation, the security level values corresponding to the encryption algorithm type, the key length and / or the encryption mode can be preset. When the encryption algorithm is selected, the security level value of the selected encryption algorithm can be determined according to the algorithm type, the key length and / or the encryption mode of the selected encryption algorithm. For example,

[0101] AES-256-GCM = 0.9;

[0102] AES-128-GCM = 0.7;

[0103] AES-256-CBC = 0.5;

[0104] RSA-2048 = 0.6, and the like.

[0105] EncryptTime is used to represent the encryption time consumption, which can be obtained from the encryption test data returned by the server.

[0106] ErrorRate is used to represent the transmission error rate, which can be obtained from the encryption test data returned by the server.

[0107] NetworkQuality^α is used to represent the network quality, the value of which can be represented as an encryption attenuation value. In the present example, NetworkQuality^α is mainly used to represent the network quality on the server side and the data load condition on the server side. α is an attenuation factor, the value of which is determined by the server according to the network quality on the server side and the data load condition on the server side. In other embodiments, NetworkQuality^α can also be determined by the network quality on the side of the energy storage device. Alternatively, NetworkQuality^α can be determined by the network quality on the server side and the data load condition on the server side, and the network quality on the side of the energy storage device.

[0108] In some embodiments, the security requirement features of the data to be transmitted include one or more of a combination of a data volume feature, a feature of tolerable lost data, a feature of tolerable compromised confidentiality, and a feature of requiring guaranteed data confidentiality and integrity; wherein different security requirement features correspond to different encryption requirement drop values. In some embodiments, the lower the data security requirement feature of the data to be transmitted represents, the greater the encryption requirement drop value corresponds, or else the smaller the encryption requirement drop value corresponds.

[0109] In one specific example, the encryption requirement drop value ranges between 0 and 1, and the closer to 1 indicates that the data to be transmitted is currently more acceptable to have compromised confidentiality.

[0110] The data volume feature is used to represent an estimation of the data volume of the data to be transmitted, and the greater the data volume of the data to be transmitted, the greater the encryption requirement drop value corresponds. Alternatively, different encryption requirement drop values can be set corresponding to different data volume ranges.

[0111] The feature of tolerable lost data is used to represent whether the data to be transmitted is tolerable lost data. In embodiments of the present application, it can be pre-set which data can be tolerable lost data. For example, the tolerable lost data includes historical logs and non-real-time statistical reports, and the encryption requirement drop value corresponding thereto is 0.9.

[0112] The feature of tolerable compromised confidentiality is used to represent whether the data to be transmitted is tolerable compromised confidentiality. In embodiments of the present application, it can be pre-set which data can be tolerable compromised confidentiality. For example, the tolerable compromised confidentiality data includes environmental monitoring data and non-critical operating state values, and the encryption requirement drop value corresponding thereto is 0.7.

[0113] The feature of requiring guaranteed data confidentiality and integrity is used to represent whether the data to be transmitted is data requiring guaranteed data confidentiality and integrity. In embodiments of the present application, it can be pre-set which data is data requiring guaranteed data confidentiality and integrity. For example, the data requiring guaranteed data confidentiality and integrity includes encryption keys, user privacy, and real-time control instructions, and the encryption requirement drop value corresponding thereto is 0.1.

[0114] On the basis of the above scheme, embodiments of the present application further provide a specific implementation method for determining the fitness value, as shown in Figure 3 , which includes:

[0115] 301, pre-set a plurality of encryption levels, and different encryption levels correspond to different encryption security value ranges.

[0116] 302, pre-set a plurality of encryption requirement levels, and different encryption requirement levels correspond to different encryption requirement drop value ranges.

[0117] Furthermore, each encryption requirement level is associated with a corresponding encryption level.

[0118] 303. Determine the encryption level of the selected encryption algorithm based on its encryption security value.

[0119] 304. The target encryption requirement level can be determined by reducing the value based on the encryption requirements of the data to be transmitted.

[0120] 305. If the encryption level of the encryption algorithm is related to the target encryption requirement level, then the corresponding encryption algorithm should be configured with a high fitness value.

[0121] 306. If the encryption level of the encryption algorithm is not related to the target encryption requirement level, then the corresponding encryption algorithm should be configured with a low fitness value.

[0122] according to Figure 3 The fitness value of the encryption algorithm selected by the energy storage device can be determined in the manner shown.

[0123] exist Figure 2 In the genetic algorithm shown, after selecting a target individual based on its fitness value in each iteration, the process of crossover and mutation of the target individual may include:

[0124] Crossover example:

[0125] Parent generation 1: [AES, 128, CBC]

[0126] Parent Generation 2: [ChaCha20,128,GCM]

[0127] Crossover = 1 → Offspring: [AES, 128, GCM]

[0128] Crossover = 2 → Offspring: [AES, 256, CBC]

[0129] Crossover = 3 → Offspring: [ChaCha20, 128, CBC]

[0130] Based on the valid combinations of encryption algorithm type and key length preset by SecurityLevel, invalid intersections are removed; based on the security level value corresponding to the encryption algorithm type and key length preset by SecurityLevel, intersections with security level values ​​less than the preset value are removed, such as intersection 3.

[0131] Variant example:

[0132] Before mutation: [AES,128,GCM]

[0133] After mutation: [AES, 256, GCM] # key length + 128, block mode mutation

[0134] The fitness value of the encryption algorithm obtained after cross mutation can be determined, and in this case, the influence of network quality can not be considered in the calculation of the fitness value to improve the calculation speed of the fitness value. Alternatively, the encryption algorithm with a high fitness value score can be retained for the next iteration.

[0135] The embodiment of the application also provides a specific process for negotiating a target encryption algorithm between the energy storage device and the server, as shown in Figure 4 , which comprises:

[0136] 400, the energy storage device maintains an encryption algorithm list.

[0137] In some embodiments, the encryption algorithm list includes encryption algorithm elements, and the encryption algorithm elements include encryption algorithm types (such as AES, RSA, etc.), key lengths (such as 128, 256, 2048, 3072, etc.), encryption modes (such as CBC, GCM), etc. Among them, the encryption algorithm type, the key length and the encryption mode can be combined into an encryption algorithm individual. Alternatively, each encryption algorithm element can be provided with a corresponding score value, and when the encryption algorithm type, the key length and the encryption mode are combined into an encryption algorithm individual, the security level value of the corresponding encryption algorithm individual can be weighted according to the score values of the encryption algorithm type, the key length and the encryption mode included in the encryption algorithm individual.

[0138] In some embodiments, the encryption algorithm list includes encryption algorithm individuals, and the encryption algorithm individuals are composed of encryption algorithm elements. Specifically, the encryption algorithm individual can include encryption algorithm types, key lengths, encryption modes, etc. In some embodiments, the encryption algorithm individual is directly provided with a corresponding security level value. For example, the security level value of the encryption algorithm individual AES-256-GCM is 0.9; the security level value of AES-128-GCM is 0.7; the security level value of AES-256-CBC = 0.5 is 0.5; and the security level value of RSA-2048 is 0.6.

[0139] When the first condition is met, the energy storage device and the server negotiate the target encryption algorithm, and the steps performed include:

[0140] 401, the energy storage device determines the initial population of genetic algorithms and the iteration number N according to the encryption algorithm list, and the initial value of the iteration number is 1. Among them, each encryption algorithm individual in the initial population is taken as a population individual.

[0141] 402, determine whether the iteration number is greater than N. If yes, execute step 416. If not, execute step 403.

[0142] 403, select multiple encryption algorithm individuals from the population.

[0143] 404, send information of the selected multiple encryption algorithm individuals to the server.

[0144] 405, the server performs encryption test on the multiple encryption algorithm individuals, and obtains encryption time consumption and transmission error rate of the multiple encryption algorithm individuals.

[0145] 406, the server sends the encryption time consumption, the transmission error rate of the multiple encryption algorithm individuals, and network quality and data load condition on the server side to the energy storage device.

[0146] 407, the energy storage device receives data returned by the server, including the encryption time consumption, the transmission error rate of the multiple encryption algorithm individuals, and the network quality and data load condition on the server side.

[0147] 408, the energy storage device determines encryption security value of the multiple encryption algorithm individuals.

[0148] If the encryption algorithm list maintained by the energy storage device contains the security level value of the encryption algorithm individual, the security level value of the selected multiple encryption algorithm individuals is queried according to the encryption algorithm list. Then, the encryption effect value of the selected encryption algorithm individual is determined according to the encryption time consumption and the transmission error rate of the selected encryption algorithm individual. The encryption attenuation value is determined according to the network quality and the data load condition on the server side, and / or the network quality on the energy storage device side. Then, the encryption security value of the selected encryption algorithm individual is determined according to the security level value, the encryption effect value and the encryption attenuation value.

[0149] In other embodiments, if the encryption algorithm list maintained by the energy storage device contains only the score value corresponding to each encryption algorithm element, the score value of the encryption algorithm element contained in the selected encryption algorithm individual is queried according to the encryption algorithm list, and the security level value of the encryption algorithm individual is weighted. Then, the encryption effect value of the selected encryption algorithm individual is determined according to the encryption time consumption and the transmission error rate of the selected encryption algorithm individual. The encryption attenuation value is determined according to the network quality and the data load condition on the server side, and / or the network quality on the energy storage device side. Then, the encryption security value of the selected encryption algorithm individual is determined according to the security level value, the encryption effect value and the encryption attenuation value.

[0150] 409, the energy storage device determines the encryption requirement reducible value of the to-be-transmitted data according to the security requirement characteristics of the to-be-transmitted data. The way of determining the encryption requirement reducible value of the to-be-transmitted data can refer to the description of the above embodiments, which will not be described here.

[0151] 410, the energy storage device determines the fitness value of the selected encryption algorithm individual according to the encryption security value of the selected encryption algorithm individual and the encryption demand reducible value. The way of determining the fitness value can refer to the description above, which will not be repeated here.

[0152] 411, the energy storage device selects the encryption algorithm individual with the fitness value greater than the preset threshold value as the target individual.

[0153] 412, the energy storage device performs crossover and mutation on the target individual. The process of crossover and mutation on the target individual can refer to the description above, which will not be repeated here.

[0154] 413, the energy storage device screens the available encryption algorithm individual from each encryption algorithm individual obtained by crossover and mutation. In some embodiments, the encryption algorithm list maintained by the energy storage device contains the list of available encryption algorithms. The energy storage device can determine whether the encryption algorithm individual obtained by crossover and mutation is in the list of available encryption algorithms. If not, the encryption algorithm individual not in the list of available encryption algorithms is removed. If yes, it is determined as the available encryption algorithm individual. Alternatively, when the encryption algorithm individual is in the list of available encryption algorithms, the security level value of the encryption algorithm individual is further determined, and the encryption algorithm individual with the security level value greater than a certain value is determined as the available encryption algorithm individual. Alternatively, when the encryption algorithm individual is in the list of available encryption algorithms, the fitness value of the encryption algorithm individual is further determined. The fitness value of the encryption algorithm individual can be determined according to the security level value of the encryption algorithm individual and the encryption demand reducible value of the data to be transmitted. For details, refer to the description above, which will not be repeated here.

[0155] Of course, in some embodiments, the security level value of each encryption algorithm individual obtained by crossover and mutation can be directly determined, and the encryption algorithm individual with the security level value greater than a certain value is determined as the available encryption algorithm individual. Specifically, the way of determining the security level value of each encryption algorithm individual obtained by crossover and mutation can refer to the description of step 407, which will not be repeated here. Alternatively, the fitness value of the encryption algorithm individual can be directly determined. The fitness value of the encryption algorithm individual can be determined according to the security level value of the encryption algorithm individual and the encryption demand reducible value of the data to be transmitted. For details, refer to the description above, which will not be repeated here.

[0156] 414, the energy storage device updates the population according to the available encryption algorithm individual.

[0157] 415, after adding 1 to the iteration number, jump to step 402.

[0158] 416, the energy storage device determines the target encryption algorithm. Optionally, the energy storage device can select the encryption algorithm with the largest fitness value in the iteration process as the target encryption algorithm. After the energy storage device determines the target encryption algorithm, the energy storage device establishes an encrypted connection with the server according to the target encryption algorithm and sends encrypted data to the server. The server receives and verifies the encrypted data sent by the energy storage device.

[0159] In the embodiments of the present application, the energy storage device and the server can adaptively adjust the encryption algorithm according to the algorithm characteristics of the encryption algorithm, the encryption test of the server on the encryption algorithm, the current network quality, and the security requirement characteristics of the data to be transmitted, so that the encryption algorithm used between the energy storage device and the server is more in line with the current network state, and can better meet the transmission load requirements of the server, and try to avoid data transmission delay or data transmission failure caused by encryption and decryption delay.

[0160] Corresponding to the data transmission method of the energy storage system, the embodiments of the present application also provide an energy storage device. As shown in the figure, the energy storage device 500 includes a processor 501, a memory 502, and a communication unit 503. These components communicate through one or more buses, and those skilled in the art can understand that the structure of the energy storage device 500 shown in the figure does not constitute a limitation on the embodiments of the present application. It can be a bus structure, or a star structure, and can include more or fewer components than shown in the figure, or combine some components, or different component arrangements. Figure 5

[0161] The communication unit 503 is used to establish a communication channel, so that the energy storage device can communicate with other devices. It receives user data sent by other devices or sends user data to other devices.

[0162] The processor 501 is the control center of the energy storage device 500, which connects various parts of the entire device through various interfaces and lines, executes or runs software programs, instructions, and / or modules stored in the memory 502, and calls data stored in the memory, to perform various functions of the energy storage device and / or process data. The processor can be composed of integrated circuits (IC), such as a single packaged IC, or a plurality of packaged ICs with the same function or different functions connected together. For example, the processor 501 can include a central processing unit (CPU), a microcontroller unit (MCU), etc.

[0163] ​The memory 502 is configured to store execution instructions of the processor 501. The memory 502 can be implemented by any type of volatile or nonvolatile storage devices or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage devices, flash memory, magnetic disks or optical disks. When the execution instructions in the memory 502 are executed by the processor 501, the energy storage device 500 is enabled to perform the data transmission method of the energy storage system in the embodiments of the present application.

[0164] In specific implementations, the present application further provides a computer storage medium, wherein the computer storage medium can store a program, and the program can include some or all steps of the data transmission method of the energy storage system provided by the present application when executed. The storage medium can be a magnetic disk, an optical disk, a read-only memory (ROM) or a random access memory (RAM), etc.

[0165] In specific implementations, the present application further provides a computer program product, wherein the computer program product contains executable instructions, and when the executable instructions are executed on a computer, the computer is enabled to perform the data transmission method of the energy storage system provided by the present application.

[0166] The embodiments of the present application further provide a non-transitory computer readable storage medium, wherein the non-transitory computer readable storage medium stores computer instructions, and the computer instructions enable the computer to perform the data transmission method of the energy storage system provided by the embodiments of the present application.

[0167] Further, the embodiments of the present application further provide an energy storage system. The energy storage system comprises an energy storage device and a server. The energy storage device is configured to perform the data transmission method of the energy storage system in the above method embodiments. The server is configured to receive a key negotiation request sent by the energy storage device, wherein the key negotiation request contains algorithm information of an encryption algorithm selected by the energy storage device; in response to the key negotiation request, the server performs encryption testing on the corresponding encryption algorithm, and returns encryption testing data of the encryption algorithm to the energy storage device. The server is further configured to receive and verify encrypted data sent by the energy storage device based on a target encryption algorithm after the energy storage device determines the target encryption algorithm.

[0168] The same or similar parts among various embodiments in the present specification can be referred to each other. Especially, for the device embodiments and the terminal embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts can be referred to the description in the method embodiments. The same or similar parts among various embodiments in the present specification can be referred to each other. Especially, for the device embodiments and the terminal embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts can be referred to the description in the method embodiments.

Claims

1. A data transmission method for an energy storage system, characterized by, The method is applied to an energy storage device, and when a first condition is met, the energy storage device negotiates a target encryption algorithm with a server, including: selecting one or more encryption algorithms; sending a key negotiation request to the server, the key negotiation request containing information of the selected encryption algorithm; wherein the server is configured to perform encryption testing on the corresponding encryption algorithm in response to the key negotiation request; receiving encryption testing data returned by the server; determining an adaptability value of the selected encryption algorithm according to algorithm characteristics of the selected encryption algorithm, the encryption testing data, current network quality, and security requirement characteristics of the data to be transmitted; determining a target encryption algorithm for data transmission from the selected encryption algorithm according to the adaptability value.

2. The data transmission method of the energy storage system according to claim 1, wherein the energy storage device determines the target encryption algorithm using a genetic algorithm, and in the genetic algorithm, the encryption algorithm is used as a population individual, and in each iteration process of the genetic algorithm, the method includes: selecting an encryption algorithm from the population; sending information of the selected encryption algorithm to the server for encryption testing to obtain encryption testing data of the encryption algorithm from the server; determining an adaptability value of the selected encryption algorithm according to algorithm characteristics of the selected encryption algorithm, the encryption testing data, current network quality, and security requirement characteristics of the data to be transmitted; selecting a target individual from the selected encryption algorithm according to the adaptability value; crossing and mutating the target individual to obtain next-generation population individuals, and performing the next iteration of the genetic algorithm based on the next-generation population individuals until the number of iterations meets a preset maximum number of iterations; wherein when the number of iterations meets the preset maximum number of iterations, the target encryption algorithm is determined according to the adaptability value.

3. The data transmission method of the energy storage system according to claim 1 or 2, wherein the determination of the adaptability value of the selected encryption algorithm according to the algorithm characteristics of the selected encryption algorithm, the encryption testing data, the current network quality, and the security requirement characteristics of the data to be transmitted includes: determining an encryption security value of the selected encryption algorithm according to the algorithm characteristics of the selected encryption algorithm, the encryption testing data, and the current network quality; determining an encryption requirement reducible value of the data to be transmitted according to the security requirement characteristics of the data to be transmitted; determining the adaptability value of the selected encryption algorithm according to the encryption security value of the selected encryption algorithm and the encryption requirement reducible value of the data to be transmitted.

4. The data transmission method of the energy storage system according to claim 3, wherein the determination of the encryption security value of the selected encryption algorithm according to the algorithm characteristics of the selected encryption algorithm, the encryption testing data, and the current network quality includes: determining a security level value of the selected encryption algorithm according to the algorithm characteristics of the selected encryption algorithm; determining an encryption effect value of the selected encryption algorithm according to the encryption testing data of the selected encryption algorithm; determining an encryption attenuation value according to the current network quality; ​ ​ ​ According to the security level value and the encryption effect value of the selected encryption algorithm, and the encryption attenuation value, determine the encryption security value of the selected encryption algorithm.

5. The data transmission method of the energy storage system according to claim 4, wherein the algorithm characteristics of the encryption algorithm include: encryption algorithm type and key length; different encryption algorithm types and key lengths correspond to different security level values; the encryption test data include: encryption time consumption and transmission error rate; different encryption time consumption and transmission error rate correspond to different encryption effect values; the current network quality includes: network quality on the side of the energy storage device, network quality on the side of the server, and / or data load condition on the side of the server; different network qualities correspond to different encryption attenuation values.

6. The data transmission method of the energy storage system according to claim 3, wherein the security requirement characteristics of the data to be transmitted include: one or more combinations of data amount characteristics, tolerable lost data characteristics, tolerable confidentiality impairment characteristics, and characteristics of needing to guarantee data confidentiality and integrity; different security requirement characteristics correspond to different encryption requirement reducible values.

7. The data transmission method of the energy storage system according to claim 3, wherein the higher the algorithm characteristics of the encryption algorithm and the encryption security and encryption efficiency represented by the encryption test data, or the better the current network quality, the larger the corresponding encryption security value, otherwise the smaller the encryption security value; the lower the data security requirement represented by the security requirement characteristics of the data to be transmitted, the larger the corresponding encryption requirement reducible value, otherwise the smaller the encryption requirement reducible value.

8. The data transmission method of the energy storage system according to claim 3, wherein a plurality of encryption levels are pre-set, and different encryption levels correspond to different encryption security value ranges; a plurality of encryption requirement levels are pre-set, and different encryption requirement levels correspond to different encryption requirement reducible value ranges; each encryption requirement level is associated with a corresponding encryption level; determining the fitness value of the selected encryption algorithm according to the encryption security value of the selected encryption algorithm and the encryption requirement reducible value of the data to be transmitted includes: determining the encryption level to which the selected encryption algorithm belongs according to the encryption security value of the selected encryption algorithm; determining the target encryption requirement level according to the encryption requirement reducible value of the data to be transmitted; if the encryption level to which the encryption algorithm belongs is associated with the target encryption requirement level, the corresponding encryption algorithm is configured with a high fitness value; if the encryption level to which the encryption algorithm belongs is not associated with the target encryption requirement level, the corresponding encryption algorithm is configured with a low fitness value; selecting a target individual from the selected encryption algorithm according to the fitness value includes: selecting an encryption algorithm with a fitness value greater than a preset threshold as the target individual; the method further includes: determining the initial population of the genetic algorithm according to the encryption algorithm list shared by the energy storage device and the server, wherein the encryption algorithm list contains a plurality of encryption algorithms. The method further includes: determining the initial population of the genetic algorithm according to the encryption algorithm list shared by the energy storage device and the server, wherein the encryption algorithm list contains a plurality of encryption algorithms. The method further includes: determining the initial population of the genetic algorithm according to the encryption algorithm list shared by the energy storage device and the server, wherein the encryption algorithm list contains a plurality of encryption algorithms. The method further includes: determining the initial population of the genetic algorithm according to the encryption algorithm list shared by the energy storage device and the server, wherein the encryption algorithm list contains a plurality of encryption algorithms. The method further includes: determining the initial population of the genetic algorithm according to the encryption algorithm list shared by the energy storage device and the server, wherein the encryption algorithm list contains a plurality of encryption algorithms. The method further includes: determining the initial population of the genetic algorithm according to the encryption algorithm list shared by the energy storage device and the server, wherein the encryption algorithm list contains a plurality of encryption algorithms. The method further includes: determining the initial population of the genetic algorithm according to the encryption algorithm list shared by the energy storage device and the server, wherein the encryption algorithm list contains a plurality of encryption algorithms. The method further includes: determining the initial population of the genetic algorithm according to the encryption algorithm list shared by the energy storage device and the server, wherein the encryption algorithm list contains a plurality of encryption algorithms. The method further includes: determining the initial population of the genetic algorithm according to the encryption algorithm list shared by the energy storage device and the server, wherein the encryption algorithm list contains a plurality of encryption algorithms. The method further includes: determining the initial population of the genetic algorithm according to the encryption algorithm list shared by the energy storage device and the server, wherein the encryption algorithm list contains a plurality of encryption algorithms. The method further includes: determining the initial population of the genetic algorithm according to the encryption algorithm list shared by the energy storage device and the server, wherein the encryption algorithm list contains a plurality of encryption algorithms. The method further includes: determining the initial population of the genetic algorithm according to the encryption algorithm list shared by the energy storage device and the server, wherein the encryption algorithm list contains a plurality of encryption algorithms. The method further includes: determining the initial population of the genetic algorithm according to the encryption algorithm list shared by the energy storage device and the server, wherein the encryption algorithm list contains a plurality of encryption algorithms. The method further includes: determining the initial population of the genetic algorithm according to the encryption algorithm list shared by the energy storage device and the server, wherein the encryption algorithm list contains a plurality of encryption algorithms. The method further includes: determining the initial population of the genetic algorithm according to the encryption algorithm list shared by the energy storage device and the server, wherein the encryption algorithm list contains a plurality of encryption algorithms. The method further includes: determining the initial population of the genetic algorithm according to the encryption algorithm list shared by the energy storage device and the server, wherein the encryption algorithm list contains a plurality of encryption algorithms.

9. The data transmission method of an energy storage system according to claim 2, wherein, The method further includes: determining the initial population of the genetic algorithm according to the encryption algorithm list shared by the energy storage device and the server, wherein the encryption algorithm list contains a plurality of encryption algorithms. The method further includes: determining the initial population of the genetic algorithm according to the encryption algorithm list shared by the energy storage device and the server, wherein the encryption algorithm list contains a plurality of encryption algorithms.

10. The data transmission method of an energy storage system according to claim 2, wherein, The method further includes: determining the initial population of the genetic algorithm according to the encryption algorithm list shared by the energy storage device and the server, wherein the encryption algorithm list contains a plurality of encryption algorithms. The method further includes: determining the initial population of the genetic algorithm according to the encryption algorithm list shared by the energy storage device and the server, wherein the encryption algorithm list contains a plurality of encryption algorithms.

11. An energy storage system characterized by, The method further includes: determining the initial population of the genetic algorithm according to the encryption algorithm list shared by the energy storage device and the server, wherein the encryption algorithm list contains a plurality of encryption algorithms. The method further includes: determining the initial population of the genetic algorithm according to the encryption algorithm list shared by the energy storage device and the server, wherein the encryption algorithm list contains a plurality of encryption algorithms. The method further includes: determining the initial population of the genetic algorithm according to the encryption algorithm list shared by the energy storage device and the server, wherein the encryption algorithm list contains a plurality of encryption algorithms. The method further includes: determining the initial population of the genetic algorithm according to the encryption algorithm list shared by the energy storage device and the server, wherein the encryption algorithm list contains a plurality of encryption algorithms. The method further includes: determining the initial population of the genetic algorithm according to the encryption algorithm list shared by the energy storage device and the server, wherein the encryption algorithm list contains a plurality of encryption algorithms. The method further includes: determining the initial population of the genetic algorithm according to the encryption algorithm list shared by the energy storage device and the server, wherein the encryption algorithm list contains a plurality of encryption algorithms. The method further includes: determining the initial population of the genetic algorithm according to the encryption algorithm list shared by the energy storage device and the server, wherein the encryption algorithm list contains a plurality of encryption algorithms. The method further includes: determining the initial population of the genetic algorithm according to the encryption algorithm list shared by the energy storage device and the server, wherein the encryption algorithm list contains a plurality of encryption algorithms. The method further includes: determining the initial population of the genetic algorithm according to the encryption algorithm list shared by the energy storage device and the server, wherein the encryption algorithm list contains a plurality of encryption algorithms. The method further includes: determining the initial population of the genetic algorithm according to the encryption algorithm list shared by the energy storage device and the server, wherein the encryption algorithm list contains a plurality of encryption algorithms. The method further includes: determining the initial population of the genetic algorithm according to the encryption algorithm list shared by the energy storage device and the server, wherein the encryption algorithm list contains a plurality of encryption algorithms. The method further includes: determining the initial population of the genetic algorithm according to the encryption algorithm list shared by the energy storage device and the server, wherein the encryption algorithm list contains a plurality of encryption algorithms. The method further includes: determining the initial population of the genetic algorithm according to the encryption algorithm list shared by the energy storage device and the server, wherein the encryption algorithm list contains a plurality of encryption algorithms. The method further includes: determining the initial population of the genetic algorithm according to the encryption algorithm list shared by the energy storage device and the server, wherein the encryption algorithm list contains a plurality of encryption algorithms. The method further includes: determining the initial population of the genetic algorithm according to the encryption algorithm list shared by the energy storage device and the server, wherein the encryption algorithm list contains a plurality of encryption algorithms. The method further includes: determining the initial population of the genetic algorithm according to the encryption The energy storage device is configured to execute the data transmission method of the energy storage system according to any one of claims 1 to 10. The server is configured to receive a key negotiation request sent by the energy storage device, wherein the key negotiation request comprises information of an encryption algorithm selected by the energy storage device; and in response to the key negotiation request, the server performs encryption testing on the corresponding encryption algorithm, and returns encryption testing data of the encryption algorithm to the energy storage device. The server is further configured to receive and verify the encryption data sent by the energy storage device based on the target encryption algorithm after the energy storage device determines the target encryption algorithm.