Battery data processing method, system and apparatus, and device, medium, and program product

By defining the hyperparameters, input data, and output data for the battery algorithm, the problem of the diversity of battery algorithm types and data sources is solved, and unified management and efficient processing of battery algorithms are achieved.

WO2026156912A1PCT designated stage Publication Date: 2026-07-30CONTEMPORARY AMPEREX FUTURE ENERGY RES INST (SHANGHAI) LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
CONTEMPORARY AMPEREX FUTURE ENERGY RES INST (SHANGHAI) LTD
Filing Date
2025-01-27
Publication Date
2026-07-30

AI Technical Summary

Technical Problem

The diversity of hyperparameters, input data, and output data of different battery algorithms makes it impossible to directly process data from different sources. Existing technologies struggle to achieve unified management, scheduling, and operation of battery algorithms.

Method used

By defining hyperparameters, input data, and output data for each battery algorithm, and receiving adaptive configuration information, the system automatically acquires and processes data, achieving automatic adaptation and unified management of battery algorithms.

Benefits of technology

It enables unified management, scheduling, and operation of battery algorithms, improves the automation and intelligence of data processing, and enhances processing efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025075559_30072026_PF_FP_ABST
    Figure CN2025075559_30072026_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the fields of new energy batteries, data processing, etc., and discloses a battery data processing method, system, apparatus, and a device, a medium, and a program product. The battery data processing method comprises: receiving data source configuration information and algorithm hyperparameter configuration information, wherein the algorithm hyperparameter configuration information is adapted to an algorithm hyperparameter definition of a battery algorithm; on the basis of the data source configuration information and an input data definition of the battery algorithm, acquiring, from a target data source, battery input data adapted to the input data definition; and using the battery algorithm to perform data processing on the battery input data on the basis of the algorithm hyperparameter configuration information and an output data definition of the battery algorithm, so as to obtain battery output data, wherein the battery output data is adapted to the output data definition.
Need to check novelty before this filing date? Find Prior Art

Description

Battery data processing methods, systems, devices, equipment, media, and program products Technical Field

[0001] This application relates to the fields of new energy batteries and data processing, and in particular to a battery data processing method, system, device, equipment, medium and program product. Background Technology

[0002] With the development of new energy technologies, more and more business scenarios require data processing based on algorithms. Battery algorithms are diverse, with varying hyperparameters, input data, and output data. Furthermore, the data sources for these algorithms differ, preventing them from directly processing data from various sources. Therefore, it is necessary to standardize the definition of battery algorithms to achieve unified management, scheduling, and operation.

[0003] For different battery algorithms, related technologies typically require business personnel to manually configure the hyperparameters of the algorithm itself or modify the data format of data from different sources to adapt it to the battery algorithm, according to the needs of different battery algorithms. This method is not intelligent enough and has high costs, making it difficult to achieve unified management, scheduling and operation of battery algorithms. Summary of the Invention

[0004] In view of the above problems, this application provides a battery data processing method, system, device, equipment, medium and program product. The battery data processing method can solve the problem of the diversity of battery algorithm types, data formats and data sources in battery data processing scenarios, and realize unified management, scheduling and operation of battery algorithms.

[0005] In a first aspect, this application provides a battery data processing method, which includes: receiving data source configuration information and algorithm hyperparameter configuration information, wherein the algorithm hyperparameter configuration information is adapted to the algorithm hyperparameter definition of the battery algorithm; obtaining battery input data adapted to the input data definition from a target data source based on the data source configuration information and the input data definition of the battery algorithm; and processing the battery input data using the battery algorithm based on the algorithm hyperparameter configuration information and the output data definition of the battery algorithm to obtain battery output data, wherein the battery output data is adapted to the output data definition.

[0006] In the technical solution of this application embodiment, each battery algorithm defines an algorithm hyperparameter definition, an input data definition, and an output data definition. It receives algorithm hyperparameter configuration information and data source configuration information adapted to the algorithm hyperparameter definition. When running the battery algorithm, it automatically obtains battery input data adapted to the input data definition from the target data source based on the data source configuration information. The battery algorithm processes the battery input data based on the algorithm hyperparameter configuration information and the output data definition to obtain battery output data adapted to the output data definition. This solves the problem of the diversity of battery algorithm types, input and output data formats, and data sources in battery data processing scenarios, realizes unified management, scheduling, and operation of battery algorithms, and improves the automation, intelligence, and processing efficiency of data processing.

[0007] In some embodiments, based on data source configuration information and the input data definition of the battery algorithm, battery input data adapted to the input data definition is obtained from the target data source, including: obtaining initial input data from the target data source based on data source configuration information; and performing data format processing on the initial input data based on the input data definition to obtain battery input data.

[0008] In the technical solution of this application embodiment, after obtaining initial input data from the target data source, the initial input data is processed according to the input data definition of the battery algorithm to obtain battery input data, so that the battery input data meets the format requirements of the battery algorithm and realizes that the battery algorithm can automatically adapt to different data sources.

[0009] In some embodiments, the initial input data is processed based on the input data definition to obtain battery input data, including at least one of the following: mapping the field names of the initial input data to field names that conform to the input data definition; converting the data type of the initial input data to a data type that conforms to the input data definition; and converting the unit of measurement of the initial input data to a unit of measurement that conforms to the input data definition.

[0010] In the technical solutions of this application embodiment, the format of the initial input data can be adjusted in various ways, including adjusting field names, data types and units of measurement, to improve flexibility.

[0011] In some embodiments, the battery algorithm processes the battery input data based on the algorithm hyperparameter configuration information and the battery algorithm output data definition to obtain battery output data, including: processing the battery input data based on the algorithm logic and the algorithm hyperparameter configuration information to obtain initial output data; and processing the initial output data according to the output data definition to obtain battery output data.

[0012] In the technical solution of this application embodiment, after processing the battery input data based on the battery algorithm to obtain the initial output data, the initial output data is processed according to the output data definition of the battery algorithm to obtain the battery output data, so that the battery output data meets the format requirements of the battery algorithm or meets the format requirements of subsequent return and storage to the target data source, thereby realizing the battery algorithm automatically adapting to different data sources.

[0013] In some embodiments, the initial output data is processed based on the output data definition to obtain battery output data, including at least one of the following: mapping the field names of the initial output data to field names that conform to the output data definition; converting the data type of the initial output data to a data type that conforms to the output data definition; and converting the unit of measurement of the initial output data to a unit of measurement that conforms to the output data definition.

[0014] In the technical solutions of this application embodiment, the format of the initial output data can be adjusted in various ways, including adjusting field names, data types and units of measurement, to improve flexibility.

[0015] In some embodiments, the method further includes: obtaining a battery algorithm; parsing the battery algorithm to obtain an algorithm definition and algorithm logic, wherein the algorithm definition includes at least one of an algorithm hyperparameter definition, an input data definition, an output data definition, and an algorithm overview definition; and storing the algorithm definition and algorithm logic to await reading of the algorithm definition and calling of the algorithm logic.

[0016] In the technical solution of this application embodiment, the algorithm definition and algorithm logic are obtained by acquiring and parsing the battery algorithm, and the algorithm definition and algorithm logic are stored separately for subsequent reading and calling, which simplifies the acquisition method and parsing process of the battery algorithm and further improves the efficiency of battery data processing.

[0017] In some embodiments, obtaining a battery algorithm includes at least one of the following: receiving an imported battery algorithm; receiving algorithm overview description information, determining an algorithm overview definition that matches the algorithm overview description information, and obtaining the battery algorithm corresponding to the algorithm overview definition.

[0018] In the technical solutions of this application embodiment, battery algorithms can be obtained in various ways, including directly receiving imported battery algorithms, and receiving algorithm overview description information and determining the corresponding battery algorithm from multiple stored battery algorithms, thereby improving flexibility and scenario applicability.

[0019] In some embodiments, the method further includes: obtaining a battery algorithm upgrade instruction, wherein the battery algorithm upgrade instruction includes identification information of the battery algorithm to be upgraded and identification information of the version; determining the battery algorithm to be upgraded based on the identification information of the battery algorithm to be upgraded and the identification information of the version; and upgrading the battery algorithm to be upgraded.

[0020] In the technical solution of this application embodiment, the battery algorithm that needs to be upgraded can be specified according to the requirements. For example, it can be specified by a battery algorithm upgrade instruction. The battery algorithm upgrade instruction includes the identification information of the battery algorithm to be upgraded and the identification information of the version. Based on the identification information of the battery algorithm to be upgraded and the identification information of the version, the specified battery algorithm is determined from a number of stored battery algorithms for upgrade, thereby improving the efficiency and flexibility of battery algorithm upgrade.

[0021] In some embodiments, the method further includes: receiving task execution plan configuration information; and generating task scheduling and execution instructions based on the task execution plan configuration information.

[0022] In the technical solution of this application embodiment, task scheduling and execution instructions are generated through task execution plan configuration information, thereby improving the flexibility of task scheduling and execution.

[0023] In some embodiments, the method further includes: obtaining a target data flow graph based on a task scheduling execution instruction; parsing the target data flow graph to obtain at least one battery algorithm node; instantiating each battery algorithm node to obtain an algorithm task; executing the algorithm task to perform the steps of obtaining battery input data adapted to the input data definition from the target data source based on data source configuration information and battery algorithm input data definition, and processing the battery input data using the battery algorithm based on algorithm hyperparameter configuration information and battery algorithm output data definition to obtain battery output data.

[0024] In the technical solution of this application embodiment, the algorithm task is instantiated by the target data flow graph, which can simplify the process of generating the algorithm task and improve the task processing efficiency.

[0025] In some embodiments, the target data flow graph includes multiple nodes and connections between nodes. The multiple nodes include at least battery algorithm nodes and data source nodes. Connections between battery algorithm nodes and data source nodes are established through anchor points, and / or connections between two battery algorithm nodes are established through anchor points. Executing algorithm tasks includes, when executing any battery algorithm node: when the battery algorithm node needs to input multiple algorithm input data, receiving multiple algorithm input data based on the multiple input anchor points corresponding to the battery algorithm node; when the battery algorithm node needs to output multiple algorithm output data, outputting multiple algorithm output data based on the multiple output anchor points corresponding to the battery algorithm node.

[0026] In the technical solution of this application embodiment, multiple anchor points are configured for the nodes of the target data flow graph, so that the nodes can support multiple algorithm input data or multiple algorithm output data, adapt to scenarios with multiple input and output data, and improve the data processing effect.

[0027] In some embodiments, the battery input data includes a first number of input tables; the battery output data is obtained by processing the battery input data using a battery algorithm based on algorithm hyperparameter configuration information and the battery algorithm output data definition, including: merging the first number of input tables to obtain a merged input table; and processing the merged input table using a battery algorithm based on algorithm hyperparameter configuration information and the battery algorithm output data definition to obtain the battery output data.

[0028] In the technical solution of this application embodiment, when the battery input data includes multiple input tables, the multiple input tables can be merged, and then the merged input table can be processed, which is suitable for scenarios with multiple table inputs and improves the data processing effect.

[0029] In some embodiments, the method further includes: preprocessing the first number of input tables before merging them, wherein the preprocessing includes at least one of the following: adding a label column based on the name of the input table and compressing the data in the input table.

[0030] In the technical solution of this application embodiment, multiple input tables can be preprocessed before merging, thereby improving the effect and efficiency of subsequent data processing.

[0031] In some embodiments, battery output data is obtained by processing the merged input table using a battery algorithm based on algorithm hyperparameter configuration information and the battery algorithm's output data definition. This includes: splitting the merged input table based on label columns to obtain a second number of input sub-tables; sending the second number of input sub-tables to a second number of computing nodes; processing the corresponding input sub-tables using the battery algorithm based on algorithm hyperparameter configuration information and the battery algorithm's output data definition at each computing node to obtain an output sub-table; and obtaining battery output data based on the second number of output sub-tables corresponding to the second number of computing nodes.

[0032] In the technical solution of this application embodiment, the merged input table is split into multiple input sub-tables, and then multiple computing nodes process the multiple input sub-tables in parallel, thereby improving the efficiency of data processing and realizing distributed data processing.

[0033] In some embodiments, obtaining battery output data based on a second number of output sub-tables corresponding to a second number of computing nodes includes: merging the second number of output sub-tables to obtain a merged output table; and splitting the merged output table based on the label column to obtain a first number of output tables, wherein the data format of the first number of output tables is consistent with that of the first number of input tables.

[0034] In the technical solution of this application embodiment, multiple output sub-tables output by multiple computing nodes are merged and then split based on the label column, so that the number and format of the output table are consistent with the number and format of the input table, which facilitates the storage of data in the output table and improves the data processing effect.

[0035] In some embodiments, the method further includes: after splitting the merged output table based on the label column, removing the label column from the output table and performing data decompression on the data in the output table to obtain a first number of output tables.

[0036] In the technical solution of this application embodiment, after splitting the output table, the label column in the output table can be removed and the data in the output table can be decompressed so that the number and format of the output table are consistent with the number and format of the input table.

[0037] In some embodiments, the method further includes: scanning and reading the written algorithm logic to generate an algorithm definition; and packaging the algorithm definition and the algorithm logic to obtain a battery algorithm.

[0038] In the technical solution of this application embodiment, the algorithm definition is generated by scanning and reading the written algorithm logic, thereby realizing the automated generation of the algorithm definition. The algorithm definition and algorithm logic are packaged to obtain the battery algorithm, thereby improving the generation efficiency of the battery algorithm.

[0039] In some embodiments, the method further includes: receiving an algorithm export instruction; based on the algorithm export instruction, obtaining a stored algorithm definition and algorithm logic, and obtaining at least one of data source configuration information, algorithm hyperparameter configuration information, and task execution plan configuration information; packaging the algorithm definition and algorithm logic, and at least one of data source configuration information, algorithm hyperparameter configuration information, and task execution plan configuration information to generate a battery algorithm to be exported and exporting it.

[0040] In the technical solution of this application embodiment, the stored algorithm definition and algorithm logic, as well as at least one of the data source configuration information, algorithm hyperparameter configuration information, and task execution plan configuration information, can be packaged to obtain a battery algorithm and exported according to requirements, thereby improving the convenience of battery algorithm delivery and realizing one-time development and multiple deliveries.

[0041] On the other hand, this application provides a battery management system for performing the above-described method.

[0042] On the other hand, this application provides a battery data processing apparatus, comprising: a receiving module for receiving data source configuration information and algorithm hyperparameter configuration information, wherein the algorithm hyperparameter configuration information is adapted to the algorithm hyperparameter definition of the battery algorithm; an acquisition module for acquiring battery input data adapted to the input data definition from a target data source based on the data source configuration information and the input data definition of the battery algorithm; and a processing module for processing the battery input data using the battery algorithm based on the algorithm hyperparameter configuration information and the output data definition of the battery algorithm to obtain battery output data, wherein the battery output data is adapted to the output data definition.

[0043] On the other hand, this application provides an electronic device including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps of the method of any of the above embodiments.

[0044] On the other hand, this application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the method of any of the above embodiments.

[0045] On the other hand, this application provides a computer program product, including a computer program, which, when executed by a processor, implements a method for any of the above-described embodiments.

[0046] The above description is only an overview of the technical solution of this application. In order to better understand the technical means of this application and to implement it in accordance with the contents of the specification, and to make the above and other objects, features and advantages of this application more obvious and understandable, the following are specific embodiments of this application. Attached Figure Description

[0047] Various other advantages and benefits will become apparent to those skilled in the art upon reading the detailed description of the preferred embodiments below. The accompanying drawings are for illustrative purposes only and are not intended to limit the scope of this application. Furthermore, the same reference numerals denote the same parts throughout the drawings. In the drawings:

[0048] Figure 1 shows a schematic diagram of the battery management system according to an embodiment of this application;

[0049] Figure 2 shows an example of the OSL algorithm definition in an embodiment of this application;

[0050] Figure 3 shows a flowchart of a battery data processing method according to an embodiment of this application;

[0051] Figure 4 shows a schematic diagram of battery data processing based on an algorithm engine according to an embodiment of this application;

[0052] Figure 5 shows a flowchart of node-based battery data processing according to an embodiment of this application;

[0053] Figure 6 shows a flowchart of the battery algorithm operation in an embodiment of this application;

[0054] Figure 7 shows a schematic diagram of the DAG data flow diagram of an embodiment of this application;

[0055] Figure 8 shows a schematic diagram of the preprocessing of multi-table input in an embodiment of this application;

[0056] Figure 9 illustrates a schematic diagram of the merging and splitting of multiple table inputs in an embodiment of this application;

[0057] Figure 10 illustrates a schematic diagram of the merging and splitting of multiple table outputs in an embodiment of this application;

[0058] Figure 11 shows a schematic diagram of the algorithm engine in an embodiment of this application;

[0059] Figure 12 shows a schematic diagram of the battery algorithm development according to an embodiment of this application;

[0060] Figure 13 shows a schematic diagram of battery algorithm management according to an embodiment of this application;

[0061] Figure 14 shows a schematic diagram of the battery algorithm export delivery according to an embodiment of this application;

[0062] Figure 15 shows a block diagram of a battery data processing device according to an embodiment of this application;

[0063] Figure 16 shows a schematic diagram of an electronic device according to an embodiment of this application. Detailed Implementation

[0064] The embodiments of the technical solution of this application will now be described in detail with reference to the accompanying drawings. These embodiments are only used to more clearly illustrate the technical solution of this application and are therefore merely examples, and should not be used to limit the scope of protection of this application.

[0065] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains; the terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the application; the terms “comprising” and “having”, and any variations thereof, in the specification, claims, and foregoing description of the drawings are intended to cover non-exclusive inclusion.

[0066] In the description of the embodiments of this application, technical terms such as "first" and "second" are used only to distinguish different objects and should not be construed as indicating or implying relative importance or implicitly specifying the number, specific order, or primary and secondary relationship of the indicated technical features. In the description of the embodiments of this application, "multiple" means two or more, unless otherwise explicitly defined.

[0067] 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.

[0068] In the description of the embodiments in this application, the term "and / or" is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. Additionally, the character " / " in this document generally indicates that the preceding and following related objects have an "or" relationship.

[0069] In the description of the embodiments of this application, the term "multiple" refers to two or more (including two), similarly, "multiple sets" refers to two or more (including two sets), and "multiple pieces" refers to two or more (including two pieces).

[0070] In the description of the embodiments of this application, the technical terms "center," "longitudinal," "lateral," "length," "width," "thickness," "upper," "lower," "front," "rear," "left," "right," "vertical," "horizontal," "top," "bottom," "inner," "outer," "clockwise," "counterclockwise," "axial," "radial," and "circumferential" indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are only for the convenience of describing the embodiments of this application and simplifying the description, and are not intended to indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on the embodiments of this application.

[0071] In the description of the embodiments of this application, unless otherwise expressly specified and limited, technical terms such as "installation," "connection," "joining," and "fixing" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral part; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; they can refer to the internal communication of two components or the interaction between two components. For those skilled in the art, the specific meaning of the above terms in the embodiments of this application can be understood according to the specific circumstances.

[0072] With the development of new energy technologies, more and more business scenarios require data processing based on algorithms. Battery algorithms are diverse, with varying hyperparameters, input data, and output data. Furthermore, the data sources for these algorithms differ, preventing them from directly processing data from various sources. Therefore, it is necessary to standardize the definition of battery algorithms to achieve unified management, scheduling, and operation.

[0073] Some algorithm systems can use standard format data files to standardize the input and output of operators. This is primarily to ensure that the standardized operators can be recognized by ensemble algorithms, enabling them to be scheduled using algorithms from multiple languages, such as C and MATLAB. However, operators created based on standard format data files cannot automatically retrieve data from the target data source based on the data source configuration information. Furthermore, the operators do not define input and output data definitions, and therefore cannot automatically process data of different formats. It is clear that creating operators based on standard format data files cannot solve the problem of diverse data formats and sources for algorithm input and output data in battery algorithm scheduling scenarios.

[0074] In view of this, this application proposes a battery data processing method applicable to a battery management system.

[0075] Figure 1 shows a schematic diagram of the battery management system according to an embodiment of this application.

[0076] As shown in Figure 1, a battery management system may include an algorithm standard description language, an algorithm development framework, and an algorithm engine.

[0077] An algorithm standard description language (OSL) at least describes the algorithm definition. The algorithm definition includes at least the input data definition, output data definition, and algorithm hyperparameter definition, and may also include an algorithm overview definition. In one example, the OSL may include the Operator Specification Language (OSL), or it may include other standard description languages ​​with the same or similar functionality. The OSL describes the algorithm's OSL definition, which specifies the algorithm's interface, implementing the interface information for describing the algorithm in an abstract language. The OSL definition can be stored in JSON (JavaScript Object Notation) format or other formats.

[0078] Algorithm development frameworks can include those adapted to OSL. These frameworks support the development of battery algorithms. When developing a battery algorithm, developers only need to implement the logic of the relevant interfaces defined within the framework. After development, the algorithm engine can quickly run the algorithm during execution.

[0079] The algorithm engine may include an algorithm engine adapted to OSL. The algorithm engine can execute the battery data processing method of the embodiments of this application by running the developed battery algorithm. The algorithm engine may include an algorithm registration module, an algorithm scheduling module, an algorithm execution module, and a data storage module, the details of which are described below.

[0080] A developed battery algorithm includes an algorithm definition and algorithm logic. The algorithm definition can include the algorithm's OSL (Optical List) definition. Specifically, the algorithm definition includes at least the input data definition, output data definition, and algorithm hyperparameter definition, and may also include an algorithm overview definition. The input data definition specifies the data format required by the battery algorithm. The output data definition specifies the data format required by the battery algorithm. The hyperparameter definition specifies the hyperparameters required by the battery algorithm. The algorithm overview definition includes descriptive information about the battery algorithm, such as its unique identifier, version information, and name.

[0081] Figure 2 shows an example of the OSL algorithm definition in an embodiment of this application.

[0082] As shown in Figure 2, the OSL (Optical System Language) definition includes an algorithm profile, input data definition, output data definition, and hyperparameter definition. The profile describes a battery algorithm named "Difference Pressure Excess Monitoring Algorithm," with version 1.0.0. The input data definition describes the algorithm's input data, such as an input table named "measurement," containing three fields: maximum voltage, minimum voltage, and time information, along with their corresponding data types and required fields. The output data definition describes the algorithm's output data, such as an output table named "warning," containing two fields: battery failure time and alarm level, along with their corresponding data types. The hyperparameter definition describes the algorithm's hyperparameters, including four hyperparameters representing four alarm level thresholds.

[0083] Figure 3 shows a flowchart of a battery data processing method according to an embodiment of this application.

[0084] As shown in Figure 3, the battery data processing method provided in this application includes steps S310 to S330.

[0085] Step S310: Receive data source configuration information and algorithm hyperparameter configuration information. The algorithm hyperparameter configuration information is adapted to the algorithm hyperparameter definition of the battery algorithm.

[0086] For example, for a battery algorithm, the user can configure the data source and hyperparameters of the battery algorithm. For example, the user can input data source configuration information and algorithm hyperparameter configuration information into the battery management system. The data source configuration information specifies the data source of the battery algorithm, and the algorithm hyperparameter configuration information specifies the hyperparameters of the algorithm.

[0087] Taking the battery algorithm as an example of an "excessive differential voltage monitoring algorithm," the input data source configuration information specifies, for example, that the maximum voltage, minimum voltage, and time information input by the battery algorithm come from a certain table. The algorithm hyperparameter definition defines, for example, the type of hyperparameter for battery alarms (hyperparameters may include voltage). The algorithm hyperparameter configuration information matching the hyperparameter definition specifies, for example, the specific values ​​of the hyperparameters. Specific values ​​may include, for example, the battery alarm threshold. The alarm threshold, for example, is 10 volts, meaning that the battery algorithm will issue an alarm if the battery voltage exceeds 10 volts when processing battery data.

[0088] Step S320: Based on the data source configuration information and the input data definition of the battery algorithm, obtain battery input data adapted to the input data definition from the target data source.

[0089] After receiving the data source configuration information, the target data source can be determined based on the data source configuration information, data can be obtained from the target data source, and the input data definition of the battery algorithm can be called. This makes it easier to process the data obtained from the target data source into data that is adapted to the input data definition, and use it as battery input data.

[0090] Step S330: Using the battery algorithm based on the algorithm hyperparameter configuration information and the battery algorithm output data definition, the battery input data is processed to obtain the battery output data, and the battery output data is adapted to the output data definition.

[0091] After obtaining the battery input data, the battery algorithm is used to process it. This process involves obtaining specific values ​​for hyperparameters (such as alarm thresholds) based on the algorithm's hyperparameter configuration information, performing relevant calculations, and then calling the battery algorithm's output data definition to process the results. This yields battery output data adapted to the defined output data, thus completing the battery data processing flow.

[0092] According to the embodiments of this application, firstly, each battery algorithm can perform different functions, so the hyperparameters required for different battery algorithms to run are usually different. This application defines corresponding algorithm hyperparameter definitions for each battery algorithm, so that the hyperparameters required for the battery algorithm to run can be indicated through the algorithm hyperparameter definitions. When the corresponding battery algorithm is called to process battery data in the future, the algorithm hyperparameter configuration information adapted to the algorithm hyperparameter definition can be received. The algorithm hyperparameter configuration information can include the specific hyperparameter values. The hyperparameter values ​​are not fixed in the battery algorithm, but can be flexibly configured according to the requirements. It is possible to flexibly configure different hyperparameter values ​​according to different battery algorithms, so that a battery algorithm can be applied to scenarios that are calculated based on different hyperparameter values.

[0093] Secondly, the sources of battery data generated during battery use are usually diverse. In order to enable the battery algorithm to process battery data from different data sources, this application does not bind the battery algorithm to a fixed data source. Instead, based on actual needs, when it is necessary to process battery data from a target data source based on the battery algorithm, the target data source is specified by inputting data source configuration information. This enables the battery algorithm to automatically obtain battery input data from the target data source based on the data source configuration information when running the battery algorithm, thus enabling the battery algorithm to process data from different data sources.

[0094] Finally, the data formats obtained from the target data source are diverse, and the data formats output by different battery algorithms are also diverse. In order to enable the battery algorithm to automatically adapt to process input data of different data formats and to automatically adapt to output data of the required data format, this application defines input data and output data for the battery algorithm. This enables the battery input data adapted to the input data definition to be obtained from different data sources, and the battery algorithm processes the battery input data based on the algorithm hyperparameter configuration information and the output data definition to obtain battery output data adapted to the output data definition.

[0095] In summary, this application addresses the challenges of diverse battery algorithm types, input and output data formats, and data sources in battery data processing scenarios by defining algorithm hyperparameters, input data, and output data for the battery algorithm. This enables unified management, scheduling, and operation of battery algorithms, thereby improving the automation, intelligence, and efficiency of data processing.

[0096] Figure 4 shows a schematic diagram of battery data processing based on an algorithm engine according to an embodiment of this application.

[0097] As shown in Figure 4, the battery management system includes an algorithm engine 400 (computation engine), which can execute the battery data processing method of the embodiments of this application.

[0098] For example, the algorithm engine 400 may include an algorithm registration module 410, an algorithm scheduling module 420, an algorithm execution module 430, and a data storage module 440.

[0099] In some embodiments, the developed battery algorithm can be an algorithm package, which includes an algorithm OSL definition and algorithm logic. The algorithm OSL definition may include at least one of the following: algorithm overview definition, input data definition, output data definition, and algorithm hyperparameter definition. The algorithm logic may include program code that implements the algorithm's functionality, and may include program code such as Python or Java.

[0100] In some embodiments, the algorithm engine 400 can acquire the battery algorithm, parse the battery algorithm to obtain the algorithm definition and algorithm logic, and then store the algorithm definition and algorithm logic to await subsequent reading of the algorithm definition and calling of the algorithm logic.

[0101] In one example, a battery algorithm can be registered or imported into the algorithm engine 400. The algorithm registration module 410 of the algorithm engine 400 receives the imported battery algorithm, parses the battery algorithm to obtain the algorithm OSL definition and algorithm logic, and stores the parsed algorithm OSL definition, algorithm logic and related algorithm information in the data storage module 440. The stored algorithm OSL definition is waiting to be read later, and the stored algorithm logic is waiting to be called later.

[0102] In the technical solution of this application embodiment, the algorithm definition and algorithm logic are obtained by acquiring and parsing the battery algorithm, and the algorithm definition and algorithm logic are stored separately for subsequent reading and calling, which simplifies the acquisition method and parsing process of the battery algorithm and further improves the efficiency of battery data processing.

[0103] In another example, besides receiving imported battery algorithms, users can also input algorithm overview description information into the battery management system. This description information includes, for example, the name and version information of the battery algorithm. Based on the received algorithm overview description information, the battery management system determines the algorithm overview definition that matches the description from a pool of pre-developed and stored battery algorithms, and obtains the corresponding battery algorithm. Then, the algorithm registration module 410 parses the obtained battery algorithm to obtain the algorithm OSL definition and algorithm logic, and stores the OSL definition and logic in the data storage module 440, awaiting subsequent reading of the OSL definition and calling of the algorithm logic.

[0104] In the technical solutions of this application embodiment, battery algorithms can be obtained in various ways, including directly receiving imported battery algorithms, and receiving algorithm overview description information and determining the corresponding battery algorithm from multiple stored battery algorithms, thereby improving flexibility and scenario applicability.

[0105] Before processing battery data based on the battery algorithm, the user can input configuration information into the algorithm scheduling module 420. This configuration information includes task execution plan configuration information, data source configuration information, and algorithm hyperparameter configuration information. Task execution plan configuration information may include, for example, the task execution time and the task trigger time. This configuration information can be stored in the data storage module 440.

[0106] The algorithm execution module 430 can schedule and run the battery algorithm based on the configuration information received by the algorithm scheduling module 420. For example, the algorithm execution module 430 determines the task execution time based on the task execution plan configuration information. When the task execution time is reached, the algorithm execution module 430 extracts data from the target data source in the data storage module 440 (e.g., a data warehouse) based on the data source configuration information. The extracted data includes, for example, battery data from the target data source and / or feature data calculated intermediately by the battery algorithm or other battery algorithms. Then, it reads the input data definition from the data storage module 440 and processes the extracted data into battery input data that matches the input data definition. After obtaining the battery input data, the algorithm execution module 430 calls the algorithm logic from the data storage module 440 and runs the algorithm logic based on the algorithm hyperparameter configuration information to process the battery input data, thereby obtaining battery output data. The battery output data is then distributed and stored in the data storage module 440 as the intermediately calculated feature data and / or the calculated result data.

[0107] The data storage module 440 includes various data storage formats, such as business databases (MySQL), distributed file systems (HDFS), data warehouses (HIVE), and message queues (KAFKA). The data storage method can be determined based on the data type, data volume, or data retrieval method. For example, algorithm information, algorithm OSL definitions, and configuration information can be stored in the business database; algorithm logic can be stored in a file storage database; battery data and feature data can be stored in the data warehouse; and result data can be stored in the data warehouse and / or message queue.

[0108] The embodiments of this application can enable the same battery algorithm to be adapted to or deployed to different data sources. For example, different data sources include battery data of type A vehicles and battery data of type B vehicles. The usual practice is to develop separate battery algorithms for different data sources, thus requiring the development of two separate battery algorithms.

[0109] To reduce the number of times battery algorithms need to be developed and to lower development costs, the embodiments of this application only require the development of one battery algorithm. The OSL definition of the battery algorithm is defined based on the OSL standard description language. When it is necessary to process data from different data sources, it is only necessary to input the corresponding data source configuration information and the algorithm hyperparameter configuration information corresponding to different data sources into the algorithm scheduling module 420 (for example, the hyperparameters used by the algorithm logic of the same battery algorithm can be different when processing data from different data sources). The algorithm execution module 430 can then call the same battery algorithm to process data from different data sources.

[0110] In another example, the battery management system can also upgrade stored battery algorithms. For instance, the battery management system obtains a battery algorithm upgrade command, which includes the identifier and version identifier of the battery algorithm to be upgraded. Alternatively, the battery algorithm upgrade command may include an algorithm overview description, which further includes the identifier and version identifier of the battery algorithm to be upgraded. The algorithm overview description may include, for example, the algorithm name, the battery algorithm's identifier, and the battery algorithm's version identifier (version information). The identifier of the battery algorithm to be upgraded may include a unique algorithm identifier, and the version identifier may include a version number.

[0111] Then, based on the identification information of the battery algorithm to be upgraded and the identification information of the version, the battery algorithm to be upgraded is determined and upgraded.

[0112] For example, the identification information of the battery algorithm to be upgraded included in the battery algorithm upgrade instruction can be the code value of the battery algorithm (the code value can be, for example, A001). The code value of a battery algorithm uniquely represents the battery algorithm. The version identification information can be version 10.0.0, indicating that the battery algorithm to be upgraded needs to be upgraded to version 10.0.0.

[0113] When determining the battery algorithm to be upgraded based on its identifier and version identifier, multiple battery algorithms (e.g., three) can be identified first. These three algorithms might include "code value: A001; version identifier: 7.0.0", "code value: A001; version identifier: 8.0.0", and "code value: A001; version identifier: 9.0.0", all with versions lower than 10.0.0. Then, any one of these three algorithms is selected as the battery algorithm to be upgraded. For example, "code value: A001; version identifier: 8.0.0" is selected as the battery algorithm to be upgraded, and this algorithm is upgraded to version 10.0.0.

[0114] In one example, the identification information of the battery algorithm to be upgraded and the identification information of its version can be stored in the "algorithm profile definition" defined by the algorithm OSL. When the battery algorithm upgrade instruction is obtained, based on the identification information of the battery algorithm to be upgraded and the identification information of its version in the battery algorithm upgrade instruction, the matching algorithm profile definition is determined from the stored algorithm profile definitions corresponding to each of the multiple battery algorithms. Then, the battery algorithm corresponding to the matching algorithm profile definition is determined as the battery algorithm to be upgraded.

[0115] In another example, the identification information and version identification information of the battery algorithm to be upgraded can be stored in the file name and / or a custom algorithm description file of the battery algorithm. When the battery algorithm upgrade instruction is obtained, based on the identification information and version identification information of the battery algorithm to be upgraded in the battery algorithm upgrade instruction, the matching file name and / or custom algorithm description file is determined from the file name and / or custom algorithm description file corresponding to each of the multiple stored battery algorithms. Then, the battery algorithm corresponding to the matching file name and / or custom algorithm description file is determined as the battery algorithm to be upgraded.

[0116] In the technical solution of this application embodiment, the battery algorithm to be upgraded can be specified according to requirements. For example, it can be specified through a battery algorithm upgrade command. The battery algorithm upgrade command includes the identification information of the battery algorithm to be upgraded and the identification information of its version. Based on the identification information of the battery algorithm to be upgraded and the identification information of its version, the specified battery algorithm is determined for upgrade, thereby improving the efficiency and flexibility of battery algorithm upgrades. In addition, the identification information of the battery algorithm to be upgraded and the identification information of its version can also be stored in different locations, such as in the algorithm overview definition, file name, or custom algorithm description file, thereby improving flexibility.

[0117] Figure 5 shows a flowchart of node-based battery data processing according to an embodiment of this application.

[0118] As shown in Figure 5, battery data processing includes data input, algorithm logic execution, and data output, specifically including steps S510-S550. Nodes used for battery data processing include, for example, an input data extraction node, an input data processing node, an algorithm execution node, an output data processing node, and an output data distribution node.

[0119] Step S510: Based on the data source configuration information, obtain initial input data from the target data source (data warehouse HIVE).

[0120] This step can be performed by the input data extraction node, for example. The data source configuration information specifies the data source, and the initial input data can be obtained from the corresponding target data source based on the data source configuration information.

[0121] Step S520: Based on the input data definition, perform data format processing on the initial input data to obtain battery input data.

[0122] This step can be performed by the input data processing node, for example. Since the data format of the initial input data obtained from the target data source may not be compatible with the input data definition of the battery algorithm, before processing the input data based on the battery algorithm, it is necessary to convert the initial input data format based on the input data definition of the battery algorithm to obtain battery input data that is compatible with the input data definition.

[0123] In the technical solution of this application embodiment, after obtaining initial input data from the target data source, the initial input data is processed according to the input data definition of the battery algorithm to obtain battery input data, so that the battery input data meets the format requirements of the battery algorithm and realizes that the battery algorithm can automatically adapt to different data sources.

[0124] In some embodiments, the initial input data is processed based on the input data definition to obtain battery input data, including at least one of the following: mapping the field names of the initial input data to field names that conform to the input data definition; converting the data type of the initial input data to a data type that conforms to the input data definition; and converting the unit of measurement of the initial input data to a unit of measurement that conforms to the input data definition.

[0125] For example, the field name of the initial input data can be "current(I)", and the field name of the input data definition of the battery algorithm can be "current". Based on the input data definition, "current(I)" is mapped to "current".

[0126] For example, the initial input data can be of type string, while the input data of the battery algorithm can be of type int (integer). The string type is converted to int (integer) based on the input data definition.

[0127] For example, the initial input data may include voltage data, and the unit of measurement for the initial input data may be "volt (V)". The unit of measurement for the input data of the battery algorithm may be "millivolt (mV)". The unit of measurement "volt (V)" is converted to "millivolt (mV)" based on the input data definition.

[0128] In the technical solutions of this application embodiment, the format of the initial input data can be adjusted in various ways, including adjusting field names, data types and units of measurement, to improve flexibility.

[0129] Step S530: Using the battery algorithm, based on the algorithm logic and the hyperparameter configuration information, the battery input data is processed to obtain the initial output data.

[0130] This step is executed by the algorithm running node, which can call and run the algorithm logic of the battery algorithm. When running the algorithm logic, the battery input data is processed according to the algorithm hyperparameter configuration information to obtain the initial output data.

[0131] Step S540: Based on the output data definition, process the initial output data to obtain battery output data.

[0132] This step can be performed by the output data processing node, for example. Since the data format of the initial output data may not be compatible with the output data definition of the battery algorithm, after obtaining the initial output data, it is necessary to convert the data format of the initial output data based on the output data definition of the battery algorithm to obtain battery output data that is compatible with the output data definition.

[0133] In the technical solution of this application embodiment, after processing the battery input data based on the battery algorithm to obtain the initial output data, the initial output data is processed according to the output data definition of the battery algorithm to obtain the battery output data, so that the battery output data meets the format requirements of the battery algorithm or meets the format requirements of subsequent return and storage to the target data source, thereby realizing the battery algorithm automatically adapting to different data sources.

[0134] In some embodiments, the initial output data is processed based on the output data definition to obtain battery output data, including at least one of the following: mapping the field names of the initial output data to field names that conform to the output data definition; converting the data type of the initial output data to a data type that conforms to the output data definition; and converting the unit of measurement of the initial output data to a unit of measurement that conforms to the output data definition.

[0135] For example, the field name of the initial output data can be "current", and the field name of the output data definition of the battery algorithm can be "current(I)", and "current" is mapped to "current(I)" based on the output data definition.

[0136] For example, the initial output data can be of type int (integer), while the output data of the battery algorithm can be of type string (string). Based on the output data definition, the int type can be converted to a string type.

[0137] For example, the initial output data may include voltage data, and the unit of measurement for the initial output data may be "millivolt (mV)". The unit of measurement for the output data defined by the battery algorithm may be "volt (V)". The unit of measurement "millivolt (mV)" is converted to "volt (V)" based on the output data definition.

[0138] In the technical solutions of this application embodiment, the format of the initial output data can be adjusted in various ways, including adjusting field names, data types and units of measurement, to improve flexibility.

[0139] Step S550: Distribute battery output data to a designated location (HIVE, KAFKA, etc.) for storage based on the output data definition.

[0140] This step is performed, for example, by the output data distribution node, and the output data definition can also specify the storage location of the battery output data. For example, the data storage module of the algorithm engine includes various data storage formats, such as a business database (MySQL), a file storage database (HDFS), a data warehouse (HIVE), and a message queue (KAFKA). The specified location can include locations in the data warehouse (HIVE) and / or the message queue (KAFKA).

[0141] Figure 6 shows a flowchart of the battery algorithm operation in an embodiment of this application.

[0142] As shown in Figure 6, the battery algorithm is executed by an algorithm engine, which includes an algorithm scheduling module, an algorithm execution module, and a data storage module. The data storage module may further include a distributed file system and a data warehouse.

[0143] The algorithm scheduling module receives task execution plan configuration information and generates task scheduling execution instructions based on this information. For example, the task execution plan configuration information includes the task execution time, task trigger time, etc. When the task execution time is determined based on the task execution plan configuration information, the algorithm task is triggered, and task scheduling execution instructions are generated. Therefore, generating task scheduling execution instructions using task execution plan configuration information improves the flexibility of task scheduling execution.

[0144] Next, the algorithm execution module can obtain the target data flow graph based on the task scheduling execution instruction, and parse the target data flow graph to obtain at least one battery algorithm node. Then, each battery algorithm node is instantiated to obtain the algorithm task. For example, the target data flow graph may include multiple nodes, with connecting arrows between two nodes, indicating the direction of data processing. The target data flow graph may include tree graphs, chain graphs, directed acyclic graphs (DAGs), etc.

[0145] For example, after instantiating the target data flow graph to obtain the algorithm task, this application can execute the algorithm task to implement the battery data processing flow based on the battery algorithm. Executing the algorithm task may include reading data from a data warehouse based on data source configuration information. The read data may include, for example, battery data from the target data source and / or feature data calculated intermediately by the battery algorithm or other battery algorithms. Then, the read data is processed according to the input data definition of the battery algorithm to obtain battery input data adapted to the input data definition. Next, the battery algorithm (algorithm package) is loaded from the distributed file system to obtain the algorithm logic, and the algorithm logic is run. During the execution of the algorithm logic, the battery input data can be processed based on the algorithm hyperparameter configuration information to obtain battery output data that conforms to the output data definition of the battery algorithm. The battery output data is then stored in the data warehouse as intermediately calculated feature data and / or the result data of the calculation.

[0146] In the technical solution of this application embodiment, the algorithm task is instantiated by the target data flow graph, which can simplify the process of generating the algorithm task and improve the task processing efficiency.

[0147] Figure 7 shows a schematic diagram of the DAG data flow diagram of an embodiment of this application.

[0148] As shown in Figure 7, this application uses a DAG data flow graph as an example for illustration. For instance, a DAG data flow graph includes multiple nodes and the connections between them. These multiple nodes include at least battery algorithm nodes and data source nodes, and may also include a start node, an end node (not shown), etc. This embodiment uses a DAG data flow graph including one start node, two data source nodes (data source node 1 and data source node 2), and three battery algorithm nodes (battery algorithm node A, battery algorithm node B, and battery algorithm node C) as an example for illustration.

[0149] For example, battery algorithm nodes and data source nodes are connected via anchor points, and two battery algorithm nodes can also be connected via anchor points. Start or end nodes (not shown) can also be connected to other nodes via anchor points; for example, a start node can be connected to data source node 1 and / or data source node 2 via its own anchor point. Anchor point names can include the names of the data to be transmitted (such as input or output data) as defined in the algorithm's OSL specification.

[0150] Executing the instantiated algorithm task involves implementing data processing through the corresponding data processing logic executed by multiple battery algorithm nodes. Specifically, executing the instantiated algorithm task includes: when any battery algorithm node is executed, if the battery algorithm node needs to input multiple algorithm input data, it receives multiple algorithm input data based on the multiple input anchors corresponding to the battery algorithm node. For example, taking battery algorithm node A as an example, battery algorithm node A needs to input multiple algorithm input data (e.g., two algorithm input data), which come from data source node 1 and data source node 2, respectively. Battery algorithm node A includes two input anchors (anchor A1 and anchor A2). Battery algorithm node A receives algorithm input data from data source node 1 through anchor A1 and algorithm input data from data source node 2 through anchor A2. Then, battery algorithm node A processes the received multiple algorithm input data to obtain algorithm output data.

[0151] When battery algorithm node A needs to output multiple algorithm output data (e.g., three algorithm output data), battery algorithm node A includes three output anchors (anchor B1, anchor B2, and anchor B3). Battery algorithm node A outputs multiple algorithm output data based on the corresponding output anchors. For example, battery algorithm node A outputs one algorithm output data to battery algorithm node B through anchor B1, and then outputs the other two algorithm output data to battery algorithm node C through anchors B2 and B3 respectively. After receiving the algorithm output data, battery algorithm nodes B and C can continue to process the algorithm output data. This process continues until the final battery output data is obtained after multiple battery algorithm nodes have processed the data.

[0152] In the technical solution of this application embodiment, compared with some DAG data flow graphs where each node only includes one input anchor point and one output anchor point, which is not suitable for computation scenarios with multiple inputs and multiple outputs, the embodiments of this application configure multiple anchor points for nodes in the DAG data flow graph, enabling nodes to support multiple algorithm input data or multiple algorithm output data, adapting to scenarios with multiple input and output data, and improving the data processing effect.

[0153] Figure 8 shows a schematic diagram of the preprocessing of multi-table input in an embodiment of this application.

[0154] As shown in Figure 8, the battery input data may include a first number of input tables, which can be 2, 3, 4, etc. In this embodiment, the first number is 2 as an example. Before performing the merging process of the first number of input tables as shown in Figure 9 below, the preprocessing process of the first number of input tables as shown in Figure 8 can be performed first.

[0155] For example, preprocessing includes at least one of the following: adding a label column based on the name of the input table and compressing the data in the input table.

[0156] Specifically, the first set of input tables includes Table A and Table B, where "deviceID" represents the "device identifier." Table A and Table B can, for example, come from different data sources. v1, v2, and v3 can represent, for example, device 1, device 2, and device 3, respectively. Devices can be vehicles using batteries, energy storage stations, etc. A1, A2, and A3 can represent different types of battery data, such as A1 representing voltage, A2 representing current, A3 representing temperature, B1 representing power, B2 representing resistance, etc. "xxx" represents a specific battery value, such as the voltage of the battery in device 1. "yyy" represents a specific battery value, such as the power of the battery in device 1, etc.

[0157] Preprocess Tables A and B, including adding label columns (table columns) based on the names of the input tables. For example, add label column A based on the name "A" of table A, and add label column B based on the name "B" of table B. The label column can serve as a table identifier, which facilitates subsequent table splitting.

[0158] Preprocessing tables A and B can also include compressing the data in the input tables. For example, compressing the numeric columns in tables A and B to a byte-type format reduces the data size, facilitating subsequent data transmission and processing. Numeric columns in tables A and B can also be merged. For instance, data type identifiers (such as A1, A2, A3) and specific numerical values ​​"xxx" (e.g., including x, y, and z values) can be merged, resulting in a format like {A1:x, A2:y, A3:z}.

[0159] In the technical solution of this application embodiment, multiple input tables can be preprocessed before merging, thereby improving the effect and efficiency of subsequent data processing.

[0160] Figure 9 illustrates a schematic diagram of the merging and splitting of multiple table inputs in an embodiment of this application.

[0161] As shown in Figure 9, after obtaining the first number of preprocessed input tables (Table A and Table B), it is necessary to merge and split the first number of input tables.

[0162] First, for the first number of input tables included in the battery input data, these first number of input tables are merged to obtain a merged input table. For example, merging preprocessed table A and preprocessed table B results in a merged input table (table A + B).

[0163] Next, based on the hyperparameter configuration information and the output data definition of the battery algorithm, the merged input table (Table A+B) is processed to obtain the battery output data.

[0164] For example, the merged input table (table A+B) can be split (grouped) based on the label column to obtain a second number of input sub-tables. For example, the second number of input sub-tables includes three input sub-tables, namely "device:v1 table A+B", "device:v2 table A+B", and "device:v3 table A+B".

[0165] Then, the second number of input sub-tables are sent to the second number of computing nodes (Computing Node 1, Computing Node 2, and Computing Node 3) for distributed computing. Each computing node can call its corresponding battery algorithm to process the input sub-table. For example, each computing node uses the battery algorithm based on the algorithm hyperparameter configuration information and the battery algorithm's output data definition to process the corresponding input sub-table and obtain the output sub-table, thus obtaining the second number of output sub-tables corresponding to the second number of computing nodes.

[0166] Before each computing node inputs its corresponding input sub-table into the battery algorithm for computation, the input sub-table can be decompressed. Decompression includes table splitting and converting byte-type values ​​into data types that are easier to compute. For example, computing node 1 decompresses the input sub-table "device:v1 table A+B" into tables "device:v1 table A" and "device:v1 table B". Then, the decompressed input sub-table is input into the battery algorithm for computation, resulting in output sub-tables. For example, the output sub-tables for computing node 1 are "device:v1 table C" and "device:v1 table D".

[0167] In the technical solution of this application embodiment, when the battery input data includes multiple input tables, the multiple input tables can be merged, and then the merged input table can be processed, adapting to scenarios with multiple table inputs and improving the data processing effect. Furthermore, by splitting the merged input table into multiple input sub-tables, and then processing the multiple input sub-tables in parallel through multiple computing nodes, the efficiency of data processing is improved, achieving distributed data processing.

[0168] Figure 10 illustrates a schematic diagram of the merging and splitting of multiple table outputs in an embodiment of this application.

[0169] As shown in Figure 10, after obtaining the second number of output sub-tables corresponding to the second number of computing nodes, the battery output data is obtained based on the second number of output sub-tables.

[0170] Taking the second quantity as 3 as an example, the first output sub-tables are "device:v1 table C" and "device:v1 table D", the second output sub-tables are "device:v2 table C" and "device:v2 table D", and the third output sub-tables are "device:v3 table C" and "device:v3 table D".

[0171] Before merging the three output sub-tables, each output sub-table can be preprocessed, compressed, and merged separately by each computing node. For example, computing node 1 preprocesses and compresses the first output sub-tables "device:v1 table C" and "device:v1 table D", compressing the values ​​into byte types, and then merges "device:v1 table C" and "device:v1 table D" in the first output sub-table to obtain "device:v1 table C+D". Computing node 2 preprocesses and compresses the second output sub-tables "device:v2 table C" and "device:v2 table D", compressing the values ​​into byte types, and then merges "device:v2 table C" and "device:v2 table D" in the second output sub-table to obtain "device:v2 table C+D". Compute node 3 preprocesses and compresses the third output sub-tables "device:v3 table C" and "device:v3 table D", compressing the values ​​into byte types. It then merges "device:v3 table C" and "device:v3 table D" in the third output sub-table to obtain "device:v3 table C+D". Next, it merges the three output sub-tables "device:v1 table C+D", "device:v2 table C+D", and "device:v3 table C+D" to obtain the merged output table (table C+D).

[0172] Next, the merged output tables (tables C and D) are split based on the label column, and the label column in the output tables is removed. The data in the output tables is also decompressed (e.g., decompressing byte-type data) to obtain a first number of output tables (e.g., two tables, C and D). The data format of the first number of output tables is consistent with that of the first number of input tables.

[0173] In the technical solution of this application embodiment, multiple output sub-tables output by multiple computing nodes are merged and then split based on the label column, so that the number and format of the output table are consistent with the number and format of the input table, which facilitates the storage of data in the output table and improves the data processing effect.

[0174] In the technical solution of this application embodiment, after splitting the output table, the label column in the output table can be removed and the data in the output table can be decompressed so that the number and format of the output table are consistent with the number and format of the input table.

[0175] Figure 11 shows a schematic diagram of the algorithm engine of an embodiment of this application.

[0176] As shown in Figure 11, the algorithm engine used to execute battery data processing methods includes a basic service layer. This layer comprises core business logic and infrastructure interfaces, and can be decoupled from the application layer. The application layer includes, for example, application layers with different hardware resources, such as cloud, edge, and endpoint computing scenarios. The basic service layer connects to the application layer through a Service Provider Interface (SPI). When the algorithm engine needs to be deployed to a target computing scenario (such as cloud, edge, or endpoint), the data storage method, file storage method, task execution method, etc., supported by the target computing scenario can be defined in the algorithm engine's infrastructure interface. Data storage methods and file storage methods include, for example, the database type or data storage format type, and task execution methods include, for example, parallel computing or serial computing. Then, the core business logic and infrastructure interfaces are packaged and deployed to the cloud, edge, or endpoint.

[0177] The hardware resources differ across cloud, edge, and device computing scenarios. For example, cloud-side hardware resources are greater than edge-side hardware resources, and edge-side hardware resources are greater than device-side hardware resources. Hardware resources include, for example, the data storage method, the type of algorithm engine, or the computation method.

[0178] For different computing scenarios, the algorithm engine uses different methods to call the battery algorithm.

[0179] For example, in cloud-based scenarios (such as cluster deployments), the data required by the battery algorithm can be stored in a distributed file system (such as HDFS), while the algorithm definition and scheduling information can be stored in a business database (such as MySQL). The algorithm engine can use a distributed execution engine (such as Spark-Cluster, Spark, or Flink) to execute algorithm tasks to meet the parallel computing needs of large-scale data volumes in the cloud. For example, an algorithm task with a large number of nodes (such as 100 nodes) can be started, with each node simultaneously calling the battery algorithm for computation.

[0180] For example, in edge scenarios (such as energy storage station deployment scenarios), the data required by the battery algorithm can be stored in a local file system (such as File), the algorithm definition and scheduling information can be stored in a data management system (such as Derby), and the algorithm engine can use a local version of the execution engine (such as the Spark-Local engine) to execute the algorithm task.

[0181] For example, in edge-side scenarios (such as energy storage container deployment scenarios), the data required by the battery algorithm can be stored in a local file system (such as File), and the algorithm definition and scheduling information can be stored in a local database (such as SQLite, a lightweight database). The algorithm engine can start the algorithm task in the form of a subprocess to call the battery algorithm, so as to solve the problem of limited resources in edge-side scenarios.

[0182] In the technical solution of this application embodiment, the core business logic and infrastructure interface in the algorithm engine are decoupled and configured so that the algorithm engine can be deployed to computing scenarios with different hardware resources based on the infrastructure interface, making the algorithm engine adaptable to computing scenarios with different hardware resources, and making the battery data processing method applicable to various scenarios.

[0183] Figure 12 shows a schematic diagram of the battery algorithm development according to an embodiment of this application.

[0184] As shown in Figure 12, the algorithm development process involves developers, an algorithm development framework, a local file system, and an algorithm registration module.

[0185] When it is necessary to develop new battery algorithms, the code repository can be initialized based on the algorithm development framework, and then the algorithm code repository can be determined in the local file system for easy storage of the developed battery algorithms.

[0186] Next, algorithm logic development is carried out, such as writing the algorithm logic and storing the written algorithm logic (algorithm code) in the local file system. When generating the algorithm OSL definition, the algorithm development framework can scan and read the written algorithm logic, automatically generate the algorithm OSL definition, and store the generated algorithm OSL definition in the local file system.

[0187] Next, based on the algorithm development framework, the algorithm OSL definition and algorithm logic are packaged according to a standard format to obtain the battery algorithm. The packaged battery algorithm (battery pack) is then stored in the local file system. When subsequent battery data processing based on the battery algorithm is needed, the battery algorithm can be registered in the algorithm registration module.

[0188] In the technical solution of this application embodiment, the algorithm definition is generated by scanning and reading the written algorithm logic, thereby realizing the automated generation of the algorithm definition. The algorithm definition and algorithm logic are packaged to obtain the battery algorithm, which improves the development and generation efficiency of the battery algorithm.

[0189] Figure 13 shows a schematic diagram of battery algorithm management according to an embodiment of this application.

[0190] As shown in Figure 13, after the developed battery algorithm is registered in the algorithm registration module, the module can manage the battery algorithm. The algorithm registration module's management of battery algorithms includes supporting the import and export of battery algorithms, supporting upgrades of battery algorithms, and supporting modifications and editing of battery algorithms, etc.

[0191] Taking battery algorithm A and battery algorithm B as examples, the algorithm registration module can manage various versions of battery algorithm A and battery algorithm B, and assign tags to each battery algorithm to indicate its function. For example, battery algorithm A is tagged with "voltage-related" and "fault," indicating that its function is related to testing battery voltage faults. Battery algorithm B is tagged with "lifespan," indicating that its function is battery lifespan prediction or management.

[0192] Figure 14 shows a schematic diagram of the battery algorithm export delivery according to an embodiment of this application.

[0193] As shown in Figure 14, the battery algorithm export and delivery involves an algorithm registration module, an algorithm scheduling module, a business database, and file storage.

[0194] After the battery algorithm (algorithm package) is imported into the algorithm registration module, the algorithm registration module parses and stores the algorithm package, stores the parsed algorithm information in the business database, and stores the algorithm package as a file.

[0195] Users can also perform configuration operations such as data source configuration, algorithm hyperparameter configuration, and task execution plan configuration. The algorithm scheduling module stores the received data source configuration information, algorithm hyperparameter configuration information, and task execution plan configuration information into the business database.

[0196] When a battery algorithm (algorithm package) needs to be exported for delivery, upon receiving an algorithm export instruction, the stored battery algorithm (algorithm package) is retrieved based on the instruction. The battery algorithm (algorithm package) includes the algorithm definition and algorithm logic, and may also retrieve at least one of the following: data source configuration information, algorithm hyperparameter configuration information, and task execution plan configuration information. Then, the algorithm definition and algorithm logic, along with at least one of the data source configuration information, algorithm hyperparameter configuration information, and task execution plan configuration information, are packaged to generate the battery algorithm to be exported and exported. The exported battery algorithm can be distributed to other computing nodes or computing devices, enabling rapid delivery and quick application after delivery. It eliminates the need for reconfiguration of data source, algorithm hyperparameter, and task execution plan, improving the convenience of data processing.

[0197] In the technical solution of this application embodiment, the stored algorithm definition and algorithm logic, as well as at least one of the data source configuration information, algorithm hyperparameter configuration information, and task execution plan configuration information, can be packaged to obtain a battery algorithm and exported according to requirements, thereby improving the convenience of battery algorithm delivery and realizing one-time development and multiple deliveries.

[0198] Embodiments of this application also provide a battery management system for executing the battery data processing method described above. Specifically, the battery management system includes an algorithm engine that can execute the battery data processing method described above.

[0199] For example, the battery management system can be deployed to different business scenarios as needed. These scenarios may include cloud platforms and / or on-site applications, where the battery management system can be deployed to cloud platforms and / or on-site applications.

[0200] Cloud platforms include public cloud platforms and private cloud platforms. When a battery management system is deployed to a public cloud platform, it can support multi-tenant downloading or access. When a battery management system is deployed to a private cloud platform, it can support single-tenant downloading or access.

[0201] Station terminals include, for example, energy storage stations, which can be either centralized or distributed.

[0202] A centralized site consists of a server cluster and multiple devices, with the server cluster managing all devices centrally. When a battery management system (BMS) needs to be deployed to the centralized site, it can be deployed within the server cluster. The server cluster can then process battery data from multiple devices based on the BMS. The server cluster can include multiple containerized or virtualized servers, and the BMS can be deployed on any one or more of these servers.

[0203] A distributed site can include a monitoring center and at least one Battery Energy Storage System (BESS). The monitoring center manages at least one BESS, and the at least one BESS manages multiple devices. When a battery management system needs to be deployed to a distributed site, it can be deployed to the monitoring center and each BESS. The monitoring center and the BESS can process battery data from multiple devices based on the battery management system.

[0204] If a site requires security partitioning, multiple security zones can typically be included. For example, three security zones could be designated as Security Zone 1, Security Zone 2, and Security Zone 3, with the partitioning based on the site's functionality and security level. Security Zone 1 has the highest security level, followed by Security Zone 2, and then Security Zone 3. To ensure the security of the site's operations, the battery management system can be deployed to Security Zone 3 based on security requirements.

[0205] It is understood that this application can deploy the battery management system to different business scenarios according to business needs. The battery management system has higher versatility and flexibility, and can adapt to different business needs.

[0206] Figure 15 shows a block diagram of a battery data processing apparatus according to an embodiment of this application.

[0207] This application provides a battery data processing device 1500. Referring to FIG15, the battery data processing device 1500 includes:

[0208] The receiving module 1510 is used to receive data source configuration information and algorithm hyperparameter configuration information, wherein the algorithm hyperparameter configuration information is adapted to the algorithm hyperparameter definition of the battery algorithm;

[0209] The acquisition module 1520 is used to acquire battery input data adapted to the input data definition from the target data source based on the data source configuration information and the input data definition of the battery algorithm.

[0210] The processing module 1530 is used to process the battery input data using the battery algorithm based on the algorithm hyperparameter configuration information and the battery algorithm output data definition to obtain battery output data, wherein the battery output data is adapted to the output data definition.

[0211] It is understood that for a detailed description of the battery data processing device 1500, please refer to the description of the battery data processing method above.

[0212] This application provides an electronic device, including a memory and a processor. The memory stores a computer program, and the processor executes the computer program to implement the steps of the method in any of the above embodiments.

[0213] This application provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the steps of the method in any of the above embodiments.

[0214] This application provides a computer program product, including a computer program, which, when executed by a processor, implements the method of any of the above embodiments.

[0215] Figure 16 shows a schematic diagram of an electronic device according to an embodiment of this application.

[0216] This application provides an electronic device, including a memory and a processor. The memory stores a computer program, and the processor executes the computer program to implement the method in any of the above embodiments.

[0217] As shown in Figure 16, for ease of understanding, an embodiment of this application illustrates a specific electronic device 1600.

[0218] Electronic device 1600 is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. Electronic device 1600 may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0219] As shown in Figure 16, device 1600 includes a computing unit 1601, which can perform various appropriate actions and processes according to a computer program stored in read-only memory (ROM) 1602 or a computer program loaded into random access memory (RAM) 1603 from storage unit 1608. RAM 1603 may also store various programs and data required for the operation of electronic device 1600. The computing unit 1601, ROM 1602, and RAM 1603 are interconnected via bus 1604. Input / output (I / O) interface 1605 is also connected to bus 1604.

[0220] Multiple components in electronic device 1600 are connected to I / O interface 1605. These components include: input unit 1606, such as a keyboard or mouse; output unit 1607, such as various types of displays or speakers; storage unit 1608, such as a hard disk or optical disk; and communication unit 1609, such as a network interface card (NIC), modem, or wireless transceiver. Communication unit 1609 allows electronic device 1600 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0221] The computing unit 1601 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 1601 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 1601 performs the various methods described above. For example, in some embodiments, any one or more of the methods described above can be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 1608. In some embodiments, part or all of the computer program can be loaded and / or installed on the electronic device 1600 via ROM 1602 and / or communication unit 1609. When the computer program is loaded into RAM 1603 and executed by the computing unit 1601, one or more steps of any one or more of the methods described above can be performed. Alternatively, in other embodiments, the computing unit 1601 can be configured to perform any one or more of the methods described above by any other suitable means (e.g., by means of firmware).

[0222] It should be noted that the logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequential list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (such as a computer-based system, a processor-included system, or other system that can fetch and execute instructions from, an instruction execution system, apparatus, or device). For the purposes of this application, "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transmit programs for use by, or in conjunction with, an instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of computer-readable media include: electrical connections (electronic devices) having one or more wires, portable computer disk drives (magnetic devices), random access memory (RAM), read-only memory (ROM), erasable and editable read-only memory (EPROM or flash memory), fiber optic devices, and portable optical disc read-only memory (CDROM). Furthermore, computer-readable media can even be paper or other suitable media on which programs can be printed, because programs can be obtained electronically, for example, by optically scanning the paper or other media, followed by editing, interpreting, or otherwise processing as necessary, and then stored in computer memory.

[0223] It should be understood that various parts of this application can be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented using software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.

[0224] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and not to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features therein. These modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application, and they should all be covered within the scope of the claims and specification of this application. In particular, as long as there is no structural conflict, the various technical features mentioned in the embodiments can be combined in any way. This application is not limited to the specific embodiments disclosed herein, but includes all technical solutions falling within the scope of the claims.

Claims

1. A battery data processing method, wherein, The method includes: Receive data source configuration information and algorithm hyperparameter configuration information, wherein the algorithm hyperparameter configuration information is adapted to the algorithm hyperparameter definition of the battery algorithm; Based on the data source configuration information and the input data definition of the battery algorithm, obtain battery input data adapted to the input data definition from the target data source; The battery algorithm, based on the hyperparameter configuration information and the output data definition of the battery algorithm, processes the battery input data to obtain battery output data, wherein the battery output data is adapted to the output data definition.

2. The method according to claim 1, wherein, The step of obtaining battery input data adapted to the input data definition from the target data source based on the data source configuration information and the battery algorithm input data definition includes: Based on the data source configuration information, initial input data is obtained from the target data source; Based on the input data definition, the initial input data is processed to obtain the battery input data.

3. The method according to claim 2, wherein, The process of processing the initial input data based on the input data definition to obtain the battery input data includes at least one of the following: Map the field names of the initial input data to field names that conform to the definition of the input data; Convert the data type of the initial input data to a data type that conforms to the input data definition; The units of measurement of the initial input data are converted to units of measurement that conform to the definition of the input data.

4. The method according to any one of claims 1-3, wherein, The process of using the battery algorithm based on the algorithm hyperparameter configuration information and the battery algorithm output data definition to process the battery input data to obtain battery output data includes: The battery algorithm is used to process the battery input data based on the algorithm logic and the algorithm hyperparameter configuration information to obtain initial output data. Based on the defined output data, the initial output data is processed to obtain the battery output data.

5. The method according to claim 4, wherein, The process of processing the initial output data based on the output data definition to obtain the battery output data includes at least one of the following: Map the field names of the initial output data to field names that conform to the definition of the output data; Convert the data type of the initial output data to a data type that conforms to the definition of the output data; The units of measurement of the initial output data are converted to units of measurement that conform to the definition of the output data.

6. The method according to any one of claims 1-5, wherein, The method further includes: Obtain the battery algorithm; The battery algorithm is analyzed to obtain the algorithm definition and algorithm logic, wherein the algorithm definition includes at least one of the following: algorithm hyperparameter definition, input data definition, output data definition, and algorithm overview definition; The algorithm definition and the algorithm logic are stored to await reading of the algorithm definition and calling of the algorithm logic.

7. The method according to claim 6, wherein, The battery acquisition algorithm includes at least one of the following: Receive the imported battery algorithm; Receive algorithm overview description information, determine the algorithm overview definition that matches the algorithm overview description information, and obtain the battery algorithm corresponding to the algorithm overview definition.

8. The method according to any one of claims 1-7, wherein, The method further includes: Obtain a battery algorithm upgrade instruction, wherein the battery algorithm upgrade instruction includes the identification information of the battery algorithm to be upgraded and the identification information of the version; The battery algorithm to be upgraded is determined based on the identification information of the algorithm to be upgraded and the identification information of the version. The battery algorithm to be upgraded is then upgraded.

9. The method according to any one of claims 1-8, wherein, The method further includes: Receive task execution plan configuration information; Based on the task execution plan configuration information, a task scheduling and execution instruction is generated.

10. The method according to claim 9, wherein, The method further includes: Based on the task scheduling and execution instructions, obtain the target data flow graph; Parse the target data flow graph to obtain at least one battery algorithm node; The algorithm task is obtained by instantiating each battery algorithm node; The algorithm task is executed to perform the steps of obtaining battery input data adapted to the input data definition from the target data source based on the data source configuration information and the battery algorithm input data definition, and processing the battery input data using the battery algorithm based on the algorithm hyperparameter configuration information and the battery algorithm output data definition to obtain battery output data.

11. The method according to claim 10, wherein, The target data flow graph includes multiple nodes and connections between them. The multiple nodes include at least the battery algorithm node and the data source node. Connections are established between the battery algorithm node and the data source node through anchor points, and / or between two battery algorithm nodes through anchor points. Executing the algorithm task includes, when executing any battery algorithm node: When the battery algorithm node needs to input multiple algorithm input data, it receives the multiple algorithm input data based on the multiple input anchor points corresponding to the battery algorithm node. When the battery algorithm node needs to output multiple algorithm output data, the multiple algorithm output data are output based on the multiple output anchor points corresponding to the battery algorithm node.

12. The method according to any one of claims 1-11, wherein, The battery input data includes a first number of input tables; the step of using the battery algorithm to process the battery input data based on the algorithm hyperparameter configuration information and the battery algorithm output data definition to obtain battery output data includes: The first number of input tables are merged to obtain a merged input table; The battery output data is obtained by processing the merged input table using the battery algorithm based on the algorithm hyperparameter configuration information and the battery algorithm output data definition.

13. The method according to claim 12, wherein, The method further includes: Before merging the first number of input tables, the first number of input tables are preprocessed, wherein the preprocessing includes at least one of the following: adding a label column according to the name of the input table and compressing the data in the input table.

14. The method according to claim 13, wherein, The process of using the battery algorithm based on the algorithm hyperparameter configuration information and the battery algorithm output data definition to process the merged input table to obtain battery output data includes: Based on the label column, the merged input table is split into a second number of input sub-tables; Send the second number of input sub-tables to the second number of calculation nodes respectively; Each computing node uses the battery algorithm based on the algorithm hyperparameter configuration information and the battery algorithm output data definition to process the corresponding input sub-table and obtain the output sub-table. Battery output data is obtained based on the second number of output sub-tables corresponding to the second number of computing nodes.

15. The method according to claim 14, wherein, The battery output data is obtained based on the second number of output sub-tables corresponding to the second number of computing nodes, including: The second number of output sub-tables are merged to obtain the merged output table; The merged output table is split based on the label column to obtain a first number of output tables, wherein the data format of the first number of output tables is consistent with that of the first number of input tables.

16. The method according to claim 15, wherein, The method further includes: After splitting the merged output table based on the label column, the label column in the output table is removed and the data in the output table is decompressed to obtain a first number of output tables.

17. The method according to any one of claims 1-16, wherein, The method further includes: Scan and read the written algorithm logic to generate the algorithm definition; The battery algorithm is obtained by packaging the algorithm definition and the algorithm logic together.

18. The method according to any one of claims 1-17, wherein, The method further includes: Receive algorithm export instructions; Based on the algorithm, derive instructions to obtain the stored algorithm definition and algorithm logic, and obtain at least one of the following: data source configuration information, algorithm hyperparameter configuration information, and task execution plan configuration information; Package the algorithm definition and algorithm logic, along with at least one of the data source configuration information, algorithm hyperparameter configuration information, and task execution plan configuration information, to generate a battery algorithm to be exported and then export it.

19. A battery management system, wherein, The system is used to perform the method according to any one of claims 1-18.

20. A battery data processing device, wherein, The device includes: The receiving module is used to receive data source configuration information and algorithm hyperparameter configuration information, wherein the algorithm hyperparameter configuration information is adapted to the algorithm hyperparameter definition of the battery algorithm; The acquisition module is used to acquire battery input data adapted to the input data definition from the target data source based on the data source configuration information and the input data definition of the battery algorithm. The processing module is used to process the battery input data using the battery algorithm based on the algorithm hyperparameter configuration information and the output data definition of the battery algorithm to obtain battery output data, wherein the battery output data is adapted to the output data definition.

21. An electronic device comprising a memory and a processor, wherein the memory stores a computer program, wherein, When the processor executes the computer program, it implements the method of any one of claims 1-18.

22. A computer-readable storage medium having a computer program stored thereon, wherein, When the computer program is executed by a processor, it implements the steps of the method described in any one of claims 1-18.

23. A computer program product having a computer program stored thereon, wherein, When the computer program is executed by a processor, it implements the steps of the method described in any one of claims 1-18.