Implementation method of energy storage EMS system based on Vert.x library

By using Vert.x library and Hazelcast to build a serverless architecture in the EMS system, the direct communication between energy storage controllers is solved, and the communication pressure problem when the number of energy storage controllers is large is achieved, efficient and stable distributed communication is achieved, and the system's operating efficiency and scalability are improved.

CN120499181APending Publication Date: 2025-08-15SHENZHEN HUAXING NEW ENERGY TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510663467.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-22
Publication Date
2025-08-15

AI Technical Summary

Technical Problem

When the existing EMS system has a large number of energy storage controllers, the communication pressure is too high, resulting in the server becoming a performance bottleneck, affecting the system stability and efficiency.

Method used

Using Vert.x library and Hazelcast technology, a serverless architecture is built to enable direct communication between energy storage controllers, data consistency and efficient communication is achieved through the Hazelcast cluster, and the distributed features of the Event Bus and Hazelcast of the Vert.x library can be used to realize direct message delivery and task queue management between nodes.

Benefits of technology

It improves the overall operating efficiency and stability of the EMS system, reduces dependence on the central server, enhances the scalability and fault tolerance of the system, and simplifies the development process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120499181A_ABST
    Figure CN120499181A_ABST
Patent Text Reader

Abstract

The invention discloses an implementation method of an energy storage EMS system based on a Vert.x library, and belongs to the technical field of telecommunication technologies. The implementation method of the energy storage EMS system based on the Vert.x library comprises the following steps that application programs of a plurality of energy storage controllers are written on the Vert.x library; the Hazelcast of each energy storage controller is configured in the same cluster; and all the energy storage controllers directly communicate through the Vert.x library. According to the invention, the communication technology of the Vert.x library is adopted, so that the energy storage controllers of the whole EMS can directly send messages, transmit data and complete related control functions, a traditional server function is omitted, all the energy storage controllers form a cluster through Hazelcast, and direct communication can be realized among the energy storage controllers, so that the energy storage control efficiency is improved. The distributed characteristic of the Hazelcast enables each node to directly communicate with other nodes, a central server is not needed, and the Event Bus of the Vert.x library realizes direct communication between the nodes under the support of the Hazelcast.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of electrical communication technology, and specifically relates to an implementation method of an energy storage EMS system based on a Vert.x library. Background Art

[0002] With the rapid development of my country's new energy industry and the deepening energy revolution, energy storage, as a key pillar of future energy system development, is increasingly gaining attention. Energy storage will be a key technology influencing the future energy landscape. Its integration into energy systems is crucial for safe, stable, and efficient operation, improving comprehensive energy utilization, promoting the development of the new energy industry, and driving strategic energy transformation. Energy storage has widespread applications in power systems, encompassing all aspects of power generation, transmission, distribution, and end-user operations.

[0003] Energy Management Systems (EMS) are energy management solutions designed to improve the flexibility and reliability of power systems. With the rapid development of renewable energy, the effective storage and management of electrical energy has become a critical issue. By combining energy storage devices with intelligent management systems, EMS enables efficient utilization and dispatch of electrical energy.

[0004] In mainstream EMS systems, the client (energy storage controller) usually connects to the server (cloud energy storage system server) through some form of communication to provide on-site equipment data. The server then processes and saves the received data in some form; communication between clients is carried out indirectly through the server-side relaying messages.

[0005] In the architecture adopted by conventional EMS systems, when there are too many energy storage controllers, the increased communication between the energy storage controllers will cause excessive pressure on the server side; the stability of the server side will become a performance bottleneck of the EMS system. In view of this, the present invention provides an implementation method of an energy storage EMS system based on the Vert.x library. Summary of the Invention

[0006] The technical problem to be solved by the present invention is to overcome the shortcomings of the above-mentioned prior art and provide an implementation method of an energy storage EMS system based on the Vert.x library.

[0007] The technical solutions adopted to solve the above technical problems are:

[0008] A method for implementing an energy storage EMS system based on the Vert.x library includes the following steps:

[0009] Multiple energy storage controller applications are written on top of the Vert.x library;

[0010] The Hazelcast configurations of each energy storage controller are in the same cluster;

[0011] Each energy storage controller communicates directly through the Vert.x library.

[0012] The above technical solution uses the Vert.x library's Event Bus and Hazelcast's distributed cache unified communication protocol, achieves data consistency through Hazelcast cluster configuration, selects compatible operating systems and JDK versions, and optimizes resources to ensure stable network connections and support distributed communication. This can solve compatibility and hardware matching issues in serverless architectures, enable peer-to-peer communication between energy storage controllers, and effectively replace traditional server-based EMS systems with serverless architectures, improving overall operational efficiency and stability.

[0013] Furthermore, create a Hazelcast configuration file (hazelcast.xml), define the cluster name, network configuration, etc., and start a Hazelcast instance on each energy storage controller.

[0014] Through the above technical solutions, Hazelcast is an open source distributed in-memory data grid (IMDG) solution that provides distributed caching, data storage and computing capabilities. It supports clustered deployment, can achieve high availability and elastic expansion, and is very suitable for data sharing and communication in distributed environments.

[0015] Furthermore, configure the Hazelcast cluster, ensure that the cluster-name is set to the same name in the Hazelcast configuration files (cluster.xml) of all energy storage controllers, and use the TCP discovery mechanism to configure the member to the host name and IP address.

[0016] Through the above technical solution, the same cluster name ensures that all energy storage controllers belong to the same logical cluster, facilitating unified management and data sharing. Secondly, by configuring member information through the TCP discovery mechanism, nodes can automatically discover each other and establish connections, eliminating the need for additional discovery services and simplifying the deployment process. This configuration method improves the automation and flexibility of the cluster, ensuring efficient communication and data consistency between nodes, while also enhancing the system's fault tolerance and scalability, allowing energy storage controllers to operate stably and collaboratively in a distributed environment.

[0017] Furthermore, the Vert.x library is used to write the energy storage controller application, and the event-driven characteristics of the Vert.x library are used to implement the communication function. Through the ClusterManager interface of the Vert.x library, Hazelcast is integrated into the Vert.x library to achieve clustered deployment.

[0018] Through the above technical solution, Hazelcast uses a consistent hashing algorithm to distribute data across multiple nodes and ensures high data availability and consistency through distributed replication. Furthermore, the integration of Vert.x's EventBus with Hazelcast enables inter-node messaging and task queue management, supporting multi-node collaboration. This architecture not only improves system scalability and fault tolerance, but also simplifies the development process.

[0019] Furthermore, the Hazelcast is used as a distributed cluster management tool, and the distributed Map and Queue of the Hazelcast are used to store shared data to ensure data consistency between nodes.

[0020] Through the above technical solutions, Hazelcast stores data in the form of key-value pairs in a distributed map. The distributed queue supports task queue management among multiple nodes and realizes node collaboration through the message passing mechanism. These features make Hazelcast highly available, high-performance and scalable. Even if some nodes fail, the system can still operate normally, and the data access and processing speed are significantly improved, thereby simplifying development and improving system stability.

[0021] Furthermore, Java JDK is used to provide a development and runtime environment, which serves as the basic environment for running the Vert.x library and Hazelcast.

[0022] Through the above technical solution, Java JDK (Java Development Kit) is the basic tool set for Java development. It provides all the tools required to compile, debug, and run Java programs, ensuring the normal operation of the Vert.x library and Hazelcast.

[0023] Furthermore, Linux is used as an operating system to provide a stable operating environment for the Vert.x library and Hazelcast, and the Linux supports resource management and system optimization.

[0024] Through the above technical solutions, Linux is a stable, efficient and customizable operating system that is widely used in servers and embedded systems, providing stable infrastructure support.

[0025] The beneficial effects of the present invention are as follows:

[0026] (1) The present invention uses communication technology through the Vert.x library to enable direct messaging and data transmission between energy storage controllers throughout the EMS, completing related control functions. This eliminates traditional server functions, improves overall operational efficiency, increases project revenue, and increases revenue for the enterprise.

[0027] (2) The present invention forms a cluster of all energy storage controllers through Hazelcast, which allows them to communicate directly with each other. The distributed nature of Hazelcast enables each node to communicate directly with other nodes without the need for a central server. The Event Bus of the Vert.x library, supported by Hazelcast, enables direct communication between nodes.

[0028] (3) Each energy storage controller of the present invention can directly send and receive messages through the Event Bus without going through the central server. By configuring the TCP discovery mechanism of Hazelcast, all energy storage controllers can discover each other and communicate directly. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] Figure 1 It is a principle flow chart of the present invention. DETAILED DESCRIPTION

[0030] In order to make the purpose, technical solutions and advantages of the present invention more clearly understood, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.

[0031] Mainstream EMS systems utilize a client-server model, where clients (energy storage controllers) send data to servers via communication protocols such as MQTT and HTTP. The servers are responsible for data storage, processing, and forwarding, supporting indirect communication between multiple clients. With centralized management, communication between clients typically transits through the server, facilitating data monitoring and unified scheduling. This increases server load, making the server a performance bottleneck. This is especially true when there are many energy storage controllers and communication is frequent, as server stability directly impacts the availability of the entire system.

[0032] like Figure 1 As shown, this embodiment provides a serverless architecture design. Through a distributed communication mechanism, energy storage controllers can communicate directly with each other without server intermediary, achieving decentralized communication. This design aims to improve communication efficiency and reduce server load, while avoiding single points of failure through high availability and scalability. It also supports dynamic node expansion, ultimately simplifying deployment and maintenance, reducing reliance on central servers, and lowering operation and maintenance costs.

[0033] Specifically, in a serverless architecture, the Vert.x library and Hazelcast can be combined to achieve peer-to-peer communication between energy storage controllers:

[0034] The Vert.x library is an event-driven, asynchronous, and non-blocking lightweight framework for building high-performance, scalable network applications. It supports running on the JVM and provides powerful reactive programming capabilities, making it ideal for serverless architectures and microservices scenarios. In this solution, the Vert.x library is used to build the energy storage controller application, supporting asynchronous communication and event-driven development to improve system performance.

[0035] Hazelcast is an open-source distributed in-memory data grid (IMDG) solution that provides distributed caching, data storage, and computing capabilities. It supports clustered deployment, enables high availability, and elastic scalability, making it ideal for data sharing and communication in distributed environments. In this solution, Hazelcast serves as a distributed cluster management tool, responsible for storing shared data and managing communication between cluster nodes.

[0036] Note that you also need to use the Java JDK to provide a development and runtime environment. The Java JDK (Java Development Kit) is a basic tool set for Java development. It provides all the tools needed to compile, debug, and run Java programs. It is the basic environment for running the Vert.x library and Hazelcast, ensuring their normal operation.

[0037] It's important to note that this solution uses Linux as the operating system. Linux is a stable, efficient, and customizable operating system widely used in servers and embedded systems. It provides a reliable operating environment for the Vert.x library and Hazelcast, while also supporting resource management and system optimization, providing stable infrastructure support.

[0038] Finally, through Hazelcast's cluster management function, the Vert.x library instances of each energy storage controller are connected into a cluster, enabling direct communication between nodes. Through event-driven and on-demand resource allocation, Hazelcast's distributed Map and Queue are used to store shared data, ensure data consistency between nodes, and ultimately build a serverless architecture, reducing dependence on traditional servers and improving system efficiency and flexibility.

[0039] Specific implementation steps:

[0040] Environment Preparation: Install the Java JDK to ensure that the system supports running Java applications; install the Linux operating system and select a Linux distribution suitable for embedded systems (such as Ubuntu Server); install the Vert.x library and Hazelcast, and deploy them using Maven or by directly downloading the JAR package.

[0041] Configure the Hazelcast cluster: Create a Hazelcast configuration file (hazelcast.xml), define the cluster name, network configuration, etc., start a Hazelcast instance on each energy storage controller, and join them to the same cluster.

[0042] Deploy Vert.x library applications: Use the Vert.x library to write energy storage controller applications, leveraging its event-driven nature for communication. Integrate Hazelcast into the Vert.x library through the Vert.x library's ClusterManager interface to achieve clustered deployment. Start the Vert.x library cluster and ensure all nodes join the Hazelcast cluster. When writing energy storage controller applications using the Vert.x library, leverage its event-driven nature for efficient communication. Vert.x, based on the event loop, handles concurrent requests through asynchronous, non-blocking I / O, enabling applications to quickly respond to external events and improving overall performance. To achieve clustered deployment, integrate Hazelcast into Vert.x and manage it through the Vert.x ClusterManager interface. As a distributed cluster management tool, Hazelcast provides data sharing and consistency guarantees through distributed data structures such as maps and queues. Specifically, Hazelcast uses a consistent hashing algorithm to distribute data across multiple nodes and ensures high data availability and consistency through distributed replication. Furthermore, the Vert.x event bus, combined with Hazelcast, enables inter-node messaging and task queue management, supporting multi-node collaborative operations. This architecture not only improves the system's scalability and fault tolerance, but also simplifies the development process, enabling the energy storage controller to operate efficiently and stably in a distributed environment.

[0043] Testing and optimization: Test the communication and data synchronization between energy storage controllers. Adjust the configuration of Hazelcast and Vert.x libraries based on actual operation to optimize performance.

[0044] In a further embodiment, a practical case is disclosed: First, configure the Hazelcast cluster, ensure that the cluster-name is set to the same name in the Hazelcast configuration files (cluster.xml) of all energy storage controllers, and use the TCP discovery mechanism to configure member as the host name and IP. When configuring the Hazelcast cluster, ensure that the cluster-name is set to the same name in the Hazelcast configuration files (cluster.xml) of all energy storage controllers, and use the TCP discovery mechanism to configure member as the host name and IP. This can achieve the following beneficial effects: First, the same cluster-name ensures that all energy storage controllers belong to the same logical cluster, which facilitates unified management and data sharing. Secondly, by configuring member information through the TCP discovery mechanism, nodes can automatically discover each other and establish connections without the need for additional discovery services, simplifying the deployment process. This configuration method improves the automation and flexibility of the cluster, ensures efficient communication and data consistency between nodes, and enhances the fault tolerance and scalability of the system, so that the energy storage controllers can run stably and work together in a distributed environment. In this way, all energy storage controllers can discover each other and form a cluster:

[0045]

[0046] Next, Energy Storage Controller 1 sends a message. Energy Storage Controller 1 uses the Event Bus of the Vert.x library to send messages. Assume that the message sent is "hello":

[0047]

[0048] Next, the energy storage controller 2 sends a response message. After processing the received message, the energy storage controller 2 sends a response message "reply-hello":

[0049] / / Energy storage controller 2

[0050] vertx.eventBus().send("reply-hello","Reply Hel lo from Energy Storage Controller 2");

[0051] Finally, energy storage controller 1 receives and processes the response message, and energy storage controller 1 receives and processes the "reply-hello" response message sent by energy storage controller 2:

[0052]

[0053] In summary, all energy storage controllers form a cluster using Hazelcast, enabling direct communication between them. Hazelcast's distributed nature enables each node to communicate directly with other nodes, eliminating the need for a centralized server. The Vert.x library's Event Bus, powered by Hazelcast, enables direct communication between nodes. Each energy storage controller can send and receive messages directly via the Event Bus, eliminating the need for a centralized server. By configuring Hazelcast's TCP discovery mechanism, all energy storage controllers can discover and communicate directly with each other. The Vert.x library's Event Bus leverages Hazelcast's distributed nature to achieve peer-to-peer communication.

[0054] In a further embodiment, replacing the traditional EMS communication architecture with a serverless architecture requires resolving compatibility and hardware matching issues, specifically:

[0055] 1. Traditional EMS may use centralized communication protocols (such as MQTT and AMQP), while serverless architectures must support point-to-point communication protocols (such as the Event Bus in the Vert.x library).

[0056] 2. In a serverless architecture, data consistency must be achieved through a distributed cache (such as Hazelcast), and data synchronization and conflict issues in a distributed environment must be handled.

[0057] 3. Different energy storage controller models may use different hardware platforms (such as CPU, memory) and operating systems (such as Linux distributions). You need to ensure that the Vert.x library and Hazelcast can run stably on these platforms.

[0058] 4. The Vert.x library and Hazelcast have certain operating system version requirements. You must choose officially supported versions (such as CentOS, Ubuntu, and Debian). The Java JDK version must be compatible with the Vert.x library and Hazelcast to avoid operational anomalies caused by version differences.

[0059] 5. A stable network environment is also required to support distributed communication. It is necessary to ensure that all energy storage controllers are in the same local area network, or to achieve secure communication through VPN or other means;

[0060] 6. The energy storage controller hardware resources (such as CPU and memory) may be limited. You need to optimize the configuration of the Vert.x library and Hazelcast to reduce resource consumption.

[0061] Therefore, when implementing a serverless architecture, a unified communication protocol is required. That is, all energy storage controllers communicate using the Event Bus of the Vert.x library and configure a Hazelcast cluster to ensure distributed data consistency.

[0062] Sample code:

[0063]

[0064] At the same time, data consistency must be guaranteed. That is, Hazelcast's distributed caching function should be used to store key data (such as energy storage status and control instructions) in multiple nodes, and Hazelcast's TCP discovery mechanism should be configured to ensure that all nodes join the same cluster.

[0065]

[0066]

[0067] In addition, hardware and operating system compatibility must be integrated. You can choose officially supported Linux distributions (such as Ubuntu 20.04LTS and CentOS 7) to ensure that all energy storage controllers use the same operating system version.

[0068] Use a Java JDK version that is compatible with the Vert.x libraries and Hazelcast (such as JDK 11).

[0069] Example configuration:

[0070] #Install JDK

[0071] sudo apt update

[0072] sudo apt install openjdk-11-jdk

[0073] #Set environment variables

[0074] export JAVA_HOME= / usr / lib / jvm / java-11-openjdk-amd64

[0075] export PATH=$JAVA_HOME / bin:$PATH

[0076] Furthermore, adjust the memory and thread pool configuration of the Vert.x library and Hazelcast to reduce resource consumption.

[0077] Example (adjusting Hazelcast configuration):

[0078]

[0079]

[0080] In addition, to optimize the network environment, it is necessary to ensure that all energy storage controllers are in the same local area network, or achieve secure communication through VPN and other means, and use static IP addresses to avoid communication interruptions caused by dynamic IP addresses.

[0081] Example (configuring a static IP):

[0082] #Configure static IP (taking Ubuntu as an example)

[0083]

[0084] The above solution uses the Vert.x library's Event Bus and Hazelcast's distributed cache unified communication protocol, achieves data consistency through Hazelcast cluster configuration, selects compatible operating systems and JDK versions, and optimizes resources to ensure stable network connections and support distributed communication. This solves compatibility and hardware matching issues in serverless architectures, enables peer-to-peer communication between energy storage controllers, and effectively replaces traditional server-based EMS systems with serverless architectures, improving overall operational efficiency and stability.

[0085] The above description is merely a preferred embodiment of the present invention and is not intended to limit the scope of protection of the present invention.

Claims

1. A method for implementing an energy storage EMS system based on the Vert.x library, characterized in that: The steps include: Multiple energy storage controller applications are written on top of the Vert.x library; The Hazelcast configurations of each energy storage controller are in the same cluster; Each energy storage controller communicates directly through the Vert.x library.

2. The implementation method of the energy storage EMS system based on the Vert.x library according to claim 1 is characterized in that: Create a Hazelcast configuration file, define the cluster name, network configuration, etc., and start a Hazelcast instance on each energy storage controller.

3. The implementation method of the energy storage EMS system based on the Vert.x library according to claim 2 is characterized in that: Configure the Hazelcast cluster, ensure that the cluster-name is set to the same name in the Hazelcast configuration files of all energy storage controllers, and use the TCP discovery mechanism to configure the member to the host name and IP address.

4. The implementation method of the energy storage EMS system based on the Vert.x library according to claim 2 is characterized in that: Use the Vert.x library to write energy storage controller applications, leverage the event-driven nature of the Vert.x library to implement communication functions, and integrate Hazelcast into the Vert.x library through the Vert.x library's ClusterManager interface to achieve clustered deployment.

5. The implementation method of the energy storage EMS system based on the Vert.x library according to claim 4 is characterized in that: The Hazelcast is used as a distributed cluster management tool, and uses the distributed Map and Queue of the Hazelcast to store shared data and ensure data consistency between nodes.

6. The implementation method of the energy storage EMS system based on the Vert.x library according to claim 1 is characterized in that: Use Java JDK to provide the development and runtime environment, which serves as the basic environment for running the Vert.x library and Hazelcast.

7. The implementation method of the energy storage EMS system based on the Vert.x library according to claim 1 is characterized in that: Linux is used as the operating system to provide a stable operating environment for the Vert.x library and Hazelcast. The Linux supports resource management and system optimization.