An intelligent operation and maintenance management platform based on an internal network of a power grid
Patent Information
- Application Number
- CN202310731315.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-20
- Publication Date
- 2026-10-20
- Estimated Expiration
- 2043-06-20
AI Technical Summary
[0002]目前开源的node-exporter和mysql-exporter是分别针对服务器和数据库mysql的指标抓取agent,但是这两款程序无法管理我们的服务器和数据库
[0021]1、本发明集成了数据的抓取、展示、入库、异常运维等较全的功能在同一平台上,通过平台可直接观看与操作;
Smart Images

Figure CN116757675B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application is based on the use of node-exporter and MySQL-exporter tools, using java language to develop a kind of monitoring, display and automatic operation and maintenance platform applied to power grid intranet service, server and other hardware devices, in particular to a kind of intelligent operation and maintenance management platform based on power grid intranet. BACKGROUND
[0002] At present, open source node-exporter and mysql-exporter are server and database mysql index grabbing agents respectively, but the two programs cannot manage our servers and databases. In the environment of power grid intranet, it is also impossible to deploy centrally, at the same time, some device exception alarms and node offline on the business cannot be displayed together with the alarms of server and database components. The technology can write the underlying server and database alarms into the local database through node-exporter and mysql-exporter, and can also collect and display the device exception alarm information of the business together. At the same time, some key indicators of basic services are also displayed, so that the on-site operation and maintenance personnel can obtain all the related business information, basic service information and basic device information through one interface. For the fault scene that has already appeared, the java program can achieve the purpose of one-key operation and maintenance. SUMMARY
[0003] In order to solve the above technical problems, the application provides an intelligent operation and maintenance management platform based on power grid intranet, which integrates the functions of data grabbing, display, storage and abnormal operation and maintenance, and integrates the alarms of business and basic services, which is more convenient for users to use.
[0004] In order to achieve the above purpose, the technical scheme adopted by the application is:
[0005] An intelligent operation and maintenance management platform based on a power grid internal network, characterized in that: comprising a main controller, a Node collection module, a MySQL collection module, a Redis module, an MQ module and a device alarm information module, the Node collection module is installed in a server for deploying services and connected to the main controller, the MySQL collection module is installed in a server for deploying MySQL services and connected to the main controller, the Redis module is connected to the main controller through jedis, and sends a ping instruction every 15 seconds, and the server responds with pong to obtain the survival state of the Redis module, an emq subscription interface is arranged on the main controller, the MQ module and the device alarm information module are connected to the emq subscription interface respectively, the service state of the Mq module is to actively provide data, the device alarm information of the device alarm information module is provided by emq, and the Web interface display is connected to the main controller, and the main controller provides display data to the Web interface display,
[0006] The main controller acquires basic data of the Node collection module, the MySQL collection module, the Redis module, the MQ module and the device alarm information module respectively, then processes the basic data in a json mode, and then stores the processed basic data in a local database or a specified other database through HiKariCP;
[0007] Four main tables are respectively arranged for the system, the database, emq and the device alarm information, for storing basic inspection devices, services or system ledgers, the system ledger is manually added and the alarm threshold can be manually set;
[0008] Four inspection tables are arranged for the inspection information, corresponding tables and fields are arranged for storing basic inspection data of devices, services or servers, and the device alarm information is judged by a corresponding MySQL row trigger to determine whether the basic data is abnormal device alarm information, and then stored in the device alarm information table;
[0009] The trigger judges the classification threshold of each main table, and the information greater than or equal to the threshold is stored in the device alarm information table by the row trigger, a certain period of historical data is saved according to the storage requirement, and according to the jdbcTemplate technology and the timing task of quartz, whether the current time is according to the preset frequency to perform the next cycle is checked, when a new cycle is reached, a new device alarm information table is created, and subsequent data is saved to the new table,
[0010] According to the landing data of the MySQL collection module, the current information is loaded to the front-end Web interface display according to the preset frequency, and the setting is reserved here, when the data volume is too large and the frequency is high, the redis module is used to hot load part of the data to prevent the large data IO of the MySQL module.
[0011] As a preferred technical solution of the present invention: the Node acquisition module runs on the server where the service is deployed, and periodically acquires server CPU, memory and disk information through a single-process operation mode.
[0012] As a preferred technical solution of the present invention: the Node acquisition module periodically acquires basic information of the server and opens a port on the local server to transmit it to the main controller through a normal HTTP service.
[0013] As a preferred technical solution of the present invention: the MySQL acquisition module runs on a server that deploys MySQL services, binds to a port through a single process, accesses the MySQL service through a MySQL client, executes customized SQL to obtain MySQL running status data, that is, obtains basic service data, and sends it to the main controller through a normal HTTP service.
[0014] As a preferred technical solution of the present invention: when a single server runs multiple instances of MySQL service, a multi-process, multi-port exporter service is enabled, with each process and each port corresponding to a MySQL service.
[0015] As a preferred technical solution of the present invention: the device alarm information of the device alarm information module is provided by EMQ and transmitted to the main controller through ordinary HTTP service.
[0016] As a preferred technical solution of the present invention: when the device information data volume of the device alarm information module is large, the device information data is transferred through EMQ, and the device information data can be connected to the main controller by adding an EMQ subscription interface on the main controller.
[0017] As a preferred technical solution of the present invention: the web interface is written in TypeScript, the style pre-compiler is Sass, the development is carried out using the Vue.js framework, and the build is carried out using the Vite / esbuild build tool.
[0018] As a preferred technical solution of the present invention: the main controller can be configured to perform timed tasks and corresponding processing scripts while running the HiKariCP tool. The timed tasks include polling-triggered tasks and web interface-triggered tasks.
[0019] As a preferred technical solution of the present invention: the preset frequency is 1: month, 2: quarter, 3: half a year, 4: year.
[0020] Compared with the prior art, the beneficial effects of the present invention are as follows:
[0021] 1. This invention integrates a relatively complete set of functions such as data capture, display, storage, and anomaly maintenance on the same platform, which can be directly viewed and operated through the platform;
[0022] 2. This invention integrates business alarms and basic service alarms together, making it more convenient and faster for users to operate.
[0023] 3. This invention provides a user-friendly interface for operation and maintenance management, integrating multiple functions, making observation and use more convenient and efficient. Attached Figure Description
[0024] Figure 1 Principle framework diagram of the invention;
[0025] Figure 2 This is a code diagram of the main program within the main controller in this invention;
[0026] Figure 3 This is a diagram of the login interface of the present invention;
[0027] Figure 4 These are the four main table diagrams in this invention;
[0028] Figure 5 This is a tabular diagram of the components in this invention;
[0029] Figure 6 This is the database selection diagram in this invention;
[0030] Figure 7 This is the system selection diagram in this invention;
[0031] Figure 8 This is the code of the camera device control program in this invention. Figure 1 ;
[0032] Figure 9 This is the code of the camera device control program in this invention. Figure 2 . Detailed Implementation
[0033] The present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments:
[0034] like Figures 1-7As shown: This invention proposes an intelligent operation and maintenance management platform based on a power grid intranet, including a main controller, a Node acquisition module, a MySQL acquisition module, a Redis module, an MQ module, and a device alarm information module. The Node acquisition module is installed on a server deploying services and connected to the main controller. The MySQL acquisition module is installed on a server deploying MySQL services and connected to the main controller. The Redis module connects to the main controller via Jedis, and its liveness status is determined by sending a ping command every 15 seconds and the server responding with a pong. The main controller has an EMQ subscription interface, and the MQ module and the device alarm information module subscribe to the EMQ interface respectively. The MQ module's service status is actively providing data. The device alarm information of the device alarm information module is provided by EMQ. The platform also includes a web interface display, which is connected to the main controller, and the main controller provides the data to the web interface for display.
[0035] The main controller acquires basic data from the Node acquisition module, MySQL acquisition module, Redis module, MQ module, and device alarm information module, processes the data using JSON, and then stores the processed basic data in a local database or another specified database via HiKariCP.
[0036] Four main tables are set up for the system, database, EMQ and equipment alarm information respectively, to store the equipment, services or system ledgers of basic inspection. The system ledger can be added manually and the alarm threshold can be set manually.
[0037] The inspection information is set up with four inspection tables. There are corresponding tables and fields for storing basic inspection data for equipment, services or servers. Equipment alarm information is determined by the corresponding MySQL row trigger to determine whether the basic data is abnormal equipment alarm information and then stored in the equipment alarm information table.
[0038] The trigger checks the classification threshold for each main table. Information greater than or equal to the threshold is stored in the device alarm information table by the row trigger. According to storage requirements, historical data for a period of time is saved. Based on JDBCTemplate technology and Quartz's scheduled tasks, it checks whether the current time is set to the preset frequency for the next cycle. When a new cycle is reached, a new device alarm information table is created, and subsequent data is saved to the new table.
[0039] Based on the data collected by the MySQL acquisition module, the current information is loaded to the front-end web interface for display at a preset frequency. This setting is reserved. When the data volume is too large or the frequency is too high, the Redis module is used to hot-load some data to prevent excessive data I / O from the MySQL module.
[0040] The Node-collection module includes Node-exporter, which runs on the server where the service is deployed. It periodically acquires information such as server CPU, memory, and disk usage using a single-process approach. This module periodically retrieves basic server information and opens a port on the local server to provide basic server data externally via a standard HTTP service. The module's access to system files and some file handles has a negligible impact on system performance. With only one process running on a single server, memory consumption is approximately 10KB.
[0041] The MySQL data collection module includes MySQL-exporter, which runs on the server where the MySQL service is deployed. Similar to the node-exporter program, it operates as a single process bound to a single port. It connects to the MySQL service via a MySQL client, executes custom SQL to retrieve MySQL runtime status data, and then provides basic MySQL data externally via a standard HTTP service. The custom SQL only retrieves basic service data, resulting in a minimal impact on MySQL service performance—approximately 0.5% performance loss—and memory consumption of about 16KB. For running multiple instances of the MySQL service on a single server, a multi-process, multi-port exporter service is used, with each process and port corresponding to one MySQL service instance.
[0042] The Redis module passively collects data and sends it to the main controller. The main controller connects via Jedis and sends a ping command every 15 seconds. The server responds with a pong to obtain the liveness status of the Redis service.
[0043] The Mq module service actively provides collected data to the main controller. The current mainstream versions of EMQ come with WebSockets natively, and the main controller can obtain EMQ traffic information, service liveness status, message loss rate, and other information through EMQ's WebSockets.
[0044] The device alarm information module is provided by the EMQ service. Currently, the device information data volume is large. The native architecture itself can transfer device data through EMQ. By adding an EMQ subscription interface to the main controller, the device information can be connected to the main controller.
[0045] like Figure 8 and Figure 9As shown, the camera device calculates the 2D viewpoint between the two vectors by obtaining the device's coordinates and calculating the offset angle between the device and the target point's coordinates. If the angle offset exceeds the allowable range, this invention needs to generate an alarm message to indicate that the camera device's offset has exceeded the threshold.
[0046] Obtain the angle of the camera equipment:
[0047] a) Calculate the rotation angle based on the difference between the current coordinate position of the camera device and the coordinates of the target point.
[0048] b) To obtain the angle, in the XYZ coordinate system, in the plane formed by X and Z, calculate the angle angleX based on the x-direction coordinate and the z-direction coordinate; then calculate the angle angleY based on the y-direction coordinate and the z-direction coordinate; a vector can be obtained through angleX and angleY.
[0049] like Figure 7 As shown, the main program in the main controller is written in Java. Its basic functions are divided into four areas: first, basic data access; second, data interaction and storage in the local MySQL database; third, providing data for display on the web interface; and fourth, executing related tasks for predetermined alarms.
[0050] Data interaction:
[0051] Basic data for each module is acquired by the main controller, processed using JSON, and stored in a local database, or alternatively in a specified database. The database schema is dsa5200_monitor. Four main tables are designed for system, database, EMQ, and device information, storing basic inspection data for devices, services, or system ledgers. System ledgers are added manually, and alarm thresholds can be manually set. Additionally, four inspection tables are designed for inspection information, with corresponding tables and fields for devices, services, or servers to store basic inspection data. Abnormal alarm information is determined by corresponding MySQL row triggers to check if the basic data represents an abnormal device alarm and then stored in the device alarm information table.
[0052] The trigger checks the classification threshold for each main table. Information exceeding or equal to the threshold is stored in the device alarm information table by the row trigger. Historical data for a specific period is saved according to storage requirements. Using JDBCTemplate technology and Quartz's scheduled tasks, the system checks if the current time has reached the next cycle (1: monthly, 2: quarterly, 3: semi-annually, 4: yearly). When a new cycle begins, a new device alarm information table is created, and subsequent data is saved to this new table. This achieves horizontal data partitioning, reducing the amount of data in a single table.
[0053] Data acquisition is similar to data storage. Based on the stored data in MySQL, the current information is loaded and displayed on the front-end interface at a preset frequency. This is a reserved setting; when the data volume is too large or the frequency is too high, we can use Redis to hot-load some data to prevent excessive data I / O to MySQL.
[0054] Management tasks:
[0055] The main controller uses HiKariCP, a high-performance connection pooling technology, to quickly save the detection data from various systems to a MySQL database. The runtime tools allow configuration of scheduled tasks and corresponding processing scripts; scheduled tasks can be configured using Quartz technology. The JSchUtils utility class interacts with the server's underlying layer using the provided IP address, port, username, and password, allowing the creation and execution of command statements. Two types of scheduled tasks are available: automatically triggered tasks via polling and manually triggered tasks via a web interface. Both are pre-defined tasks, such as scheduled or manual cleanup of service logs, manual service restarts, and automatic or manual cleanup of mysqlbinlog.
[0056] Web interface display:
[0057] The system is primarily written in TypeScript, with Sass as the style preprocessor, Vue.js as the development framework, and Vite / esbuild as the build tool. Charts are displayed using Zrender technology. Data is retrieved from the server via HTTP requests, including alert information, system-selected data, and database-selected data components, which are then rendered onto the page. After selections are made on the page, the selections are passed to the server via requests. The front-end receives the data and renders it in the browser, employing the MVVM design pattern. Data is retrieved from the server, bound, and then rendered. During rendering, browser performance is monitored and optimized accordingly.
[0058] This invention integrates a relatively complete set of functions such as data capture, display, storage, and anomaly maintenance on a single platform, which can be directly viewed and operated through the platform.
[0059] This invention integrates alarms for business operations and alarms for basic services, making it more convenient and faster for users to operate.
[0060] This invention provides a user-friendly interface for operation and maintenance management, integrating multiple functions and making observation and use more convenient and efficient.
[0061] The above description is merely a preferred embodiment of the present invention and is not intended to limit the present invention in any other way. Any modifications or equivalent changes made based on the technical essence of the present invention shall still fall within the scope of protection claimed by the present invention.
Claims
1. An intelligent operation and maintenance management platform based on the power grid intranet, characterized in that: The system includes a main controller, a Node acquisition module, a MySQL acquisition module, a Redis module, an MQ module, and a device alarm information module. The Node acquisition module is installed on the server where the service is deployed and connected to the main controller. The MySQL acquisition module is installed on the server where the MySQL service is deployed and connected to the main controller. The Redis module connects to the main controller via Jedis and checks its liveness by sending a ping command every 15 seconds and receiving a pong response from the server. The main controller has an EMQ subscription interface, and both the MQ module and the device alarm information module subscribe to the EMQ interface. The MQ module is in an active data-providing state, and the device alarm information is provided by EMQ. The system also includes a web interface connected to the main controller, which provides the data to be displayed. The main controller acquires basic data from the Node acquisition module, MySQL acquisition module, Redis module, MQ module, and device alarm information module, processes the data using JSON, and then stores the processed basic data in a local database or another specified database via HiKariCP. Four main tables are set up for the system, database, EMQ and equipment alarm information respectively, to store the equipment, services or system ledgers of basic inspection. The system ledger can be added manually and the alarm threshold can be set manually. The inspection information is set up with four inspection tables. There are corresponding tables and fields for storing basic inspection data for equipment, services or servers. Equipment alarm information is determined by the corresponding MySQL row trigger to determine whether the basic data is abnormal equipment alarm information and then stored in the equipment alarm information table. The trigger checks the classification threshold for each main table. Information greater than or equal to the threshold is stored in the device alarm information table by the row trigger. According to storage requirements, historical data for a period of time is saved. Based on JDBCTemplate technology and Quartz's scheduled tasks, it checks whether the current time is set to the preset frequency for the next cycle. When a new cycle is reached, a new device alarm information table is created, and subsequent data is saved to the new table. Based on the data collected by the MySQL acquisition module, the current information is loaded to the front-end web interface for display at a preset frequency. This setting is reserved. When the data volume is too large or the frequency is too high, the Redis module is used to hot-load some data to prevent excessive data I / O from the MySQL module. The Node acquisition module runs on the server where the service is deployed, and periodically acquires server CPU, memory and disk information through a single-process operation. The Node acquisition module periodically obtains basic information from the server and opens a port on the local server to transmit it to the main controller via a regular HTTP service. The MySQL acquisition module runs on the server where the MySQL service is deployed. It binds to a port in a single-process manner and accesses the MySQL service through a MySQL client. It executes customized SQL to obtain MySQL running status data, i.e., obtains basic service data, and sends it to the main controller through a regular HTTP service. When a single server runs multiple instances of MySQL service, a multi-process, multi-port exporter service is enabled, with each process and each port corresponding to one MySQL service. The device alarm information of the device alarm information module is provided by EMQ and transmitted to the main controller through ordinary HTTP service; When the device information data volume of the device alarm information module is large, the device information data can be relayed through EMQ, and the device information data can be connected to the main controller by adding an EMQ subscription interface on the main controller; The web interface is written in TypeScript, the style pre-compiler is Sass, the development uses the Vue.js framework, and the build tool is Vite / esbuild. The main controller runs the HiKariCP tool and configures scheduled tasks and corresponding processing scripts. The scheduled tasks include polling-triggered tasks and web interface-triggered tasks.
2. The intelligent operation and maintenance management platform based on the power grid intranet according to claim 1, characterized in that: The preset frequencies are 1: monthly, 2: quarterly, 3: semi-annually, and 4: annually.
Citation Information
Patent Citations
Distributed task scheduling operation and maintenance monitoring system and method
CN106484530A
Method and system for discovering service faults of offline places in real time
CN106533782A