ICE-based monitoring picture data subscription and refreshing method and system

Through the integration of subscription information by ICE and ICESTORM middleware, the memory and CPU overhead problems of data publishing/subscription mode in the new energy centralized control system are solved, efficient and reliable data refresh of monitoring screens is achieved, and user experience and system reliability are improved.

CN120407979APending Publication Date: 2025-08-01XJ ELECTRIC CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510359662.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-25
Publication Date
2025-08-01

AI Technical Summary

Technical Problem

The existing new energy centralized control system has problems such as memory, excessive CPU overhead and confusing theme management in the data publishing/subscription mode, resulting in inefficient refresh of monitoring screen data.

Method used

Using ICE (Internet Communication Engine) remote procedure calls and ICESTORM middleware, we integrate subscription information through the subscription end and the server end respectively to reduce memory and CPU overhead, and achieve efficient and reliable data publishing/subscription through dynamic subscription topic management.

Benefits of technology

By reducing memory and CPU overhead, the data refresh efficiency of monitoring screens is improved, the theme management is simplified, and the user experience and data subscription reliability is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120407979A_ABST
    Figure CN120407979A_ABST
Patent Text Reader

Abstract

The invention relates to a monitoring picture data subscribing and refreshing method and system based on ICE, and belongs to the field of monitoring equipment. The subscription end analyzes the monitoring page and creates a graphic object; the subscription end integrates the subscription information, initiates subscription calling through ICE and sends the subscription information to the server end; and the server side integrates and organizes subscription data and sends the subscription data to the subscription side, and the subscription data and the graphic object are bound to generate a monitoring page. The subscription information integrated by the server side is periodically refreshed in a thread of the server side, and when the server side detects that data change in the integrated subscription information reaches a set threshold value, change information is published to a subscription management module; and the subscription management module sends a graphic change event to the corresponding graphic object according to the change information to re-render and generate a monitoring page. The subscription information is integrated through the subscription end and the server end to reduce the overhead of a memory and a CPU (Central Processing Unit), and efficient and reliable data publishing is realized through a publishing / subscription mechanism of ICESTORM middleware in ICE.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a method and system for subscribing to and refreshing monitoring screen data based on ICE, belonging to the field of monitoring devices. Background Art

[0002] The utilization of renewable new energy has become a focus, and the construction of new energy has accelerated. The installed capacity of new energy such as wind power and photovoltaic has been continuously expanding. As of the end of June 2024, the installed scale of new energy power generation nationwide exceeded that of coal power for the first time. However, its geographical location is scattered, the distribution area is wide, and the operating environment is harsh in remote areas, which brings great difficulties to refined and standardized management. In order to facilitate the refined and standardized management of large-scale new energy power generation installations, a new energy centralized control system has emerged. The new energy centralized control system conducts unified monitoring, diagnosis, and operation and maintenance management of substations such as wind power, photovoltaic, and energy storage, and transmits operation production data to the new energy intelligent control platform in real time for centralized processing, realizing a management mode of unattended operation and few operators on duty.

[0003] Currently, there are mainly two implementation methods for the new energy centralized control system to monitor a large amount of real-time data: ① Download the model data table to the real-time database and access the database data from the real-time database. However, this solution requires the establishment of a special database, which generally only supports simple sql queries; in addition, the real-time database must be synchronized with the model database, and storing model data will consume a large amount of hard disk space. ② Subscribe to the real-time data required for the screen through the data publish / subscribe method. However, subscribing to data is usually an independent task execution. When different subscribers subscribe to duplicate data, it will cause additional memory and CPU overhead; in addition, different topics need to be set for the subscription and publication of messages, and there is no good solution for how to manage topics, which is prone to topic confusion. Summary of the Invention

[0004] Based on the above situation of the prior art, the purpose of the present invention is to provide a method and system for subscribing to and refreshing monitoring screen data based on ICE, so as to solve the problems of consuming additional memory and CPU overhead and chaotic topic management in the process of subscribing to and viewing monitoring screens in the data publish / subscribe mode; it realizes reducing the memory and CPU overhead by integrating subscription information at the subscription end and the service end respectively, instantaneously obtaining the initialization model and real-time data through ICE (The Internet Communications Engine, Internet communication engine) remote procedure call and dynamically subscribing to topics, and realizing efficient and reliable data publication through the publish / subscribe mechanism of the ICESTORM middleware in ICE.

[0005] To achieve the above object, the solution of the present invention includes: the subscription end parses the configuration elements of the monitoring page and creates graphic objects; the subscription end integrates subscription information including a subscription topic and subscription content, and sends the subscription information to the server by initiating a subscription call through ICE; by integrating the subscription information on the client side and the server side respectively, the set of process data objects of each is minimized. The server integrates the subscription information and organizes the subscription data to be sent to the subscription end, and the subscription end binds the subscription data with the graphic objects to generate a monitoring page. The integrated subscription information on the server side is periodically refreshed in the thread of the server side. When the server detects that the data change in the integrated subscription information reaches a set threshold, it publishes a change message to the subscription management module; the subscription management module sends a graphic change event to the corresponding graphic object according to the change message, and the graphic object is re-rendered to generate a monitoring page. Through the data synchronization information and the data change information, when the publisher is reselected due to a subscription change, data can be quickly switched to other data services for acquisition.

[0006] A method for subscribing to and refreshing monitoring screen data based on ICE of the present invention includes the following steps: 1) The subscription end parses the configuration elements of the monitoring page and creates graphic objects; 2) The subscription end integrates subscription information including a subscription topic and subscription content through the subscription management module, and sends the subscription information to the server by initiating a subscription call through ICE; the server integrates the subscription information and organizes the subscription data to be sent to the subscription end; 3) The subscription end binds the subscription data with the graphic objects through the subscription management module to generate a monitoring page; 4) The integrated subscription information on the server side is periodically refreshed in the corresponding thread of the server side. When the server detects that the data change in the integrated subscription information reaches a set threshold, it publishes a change message to the subscription management module; 5) The subscription management module sends a graphic change event to the corresponding graphic object according to the change message, and the graphic object is re-rendered to generate a monitoring page.

[0007] Further, in step 2), the subscription information includes a set of data table names, a set of object IDs, and a set of table fields; the subscription topic includes the subscription end host name and process number information.

[0008] Further, in step 2), the subscription end integrating the subscription information through the subscription management module includes integrating and uniformly subscribing to the duplicate tables, object IDs, and table field attributes required to open the monitoring page.

[0009] Further, in step 2), ICE calls the data refresh service interface of the server, and the call parameters include the subscription topic and subscription content; the data refresh service obtains the proxy of the subscription topic in the subscription information through the ICESTORM middleware, and creates a proxy of the subscription topic if it does not exist.

[0010] Furthermore, in step 2), for subscription content that is not cached on the server, model data is read from the database and real-time data is read from the real-time library; for subscription content that is cached on the server, it is read from the cache; and the subscription content and the server host name are synchronously returned to the subscriber.

[0011] Furthermore, in step 3), the subscriber binds the subscription data to the graphic object through the subscription management module to generate a monitoring page, including the subscription management module creating a data object based on the subscription data, and the graphic object obtaining attribute values from the data object to initialize the shape and color of the rendering monitoring page.

[0012] Furthermore, in step 2), when the server returns the subscription data for the first time, it publishes a data synchronization topic message to other services. The data synchronization topic message includes the return data of the unique identifier of this service, the subscription topic, and the subscription information; when this service receives the data synchronization topic message, it does not process it. When other services receive the topic message, they determine whether the subscription topic in the data synchronization topic message exists. If it exists, they delete their own subscription topic and the subscription content corresponding to the subscription topic, and this subscription topic is switched to the corresponding service for publication.

[0013] Furthermore, in step 4), the server publishes a change topic message to other services at the same time. The change topic message includes the unique identifier of the service and the changed data. The service does not process the change topic message upon receiving it, while other services update the data cache pool upon receiving the change topic message.

[0014] Furthermore, the subscriber and the server periodically write heartbeat change information to the real-time library and read each other's heartbeat information according to a fixed period; when the subscriber detects that the heartbeat information of the server no longer changes, the subscriber re-initiates the subscription call; when the server detects that the heartbeat information of the subscriber no longer changes, the server deletes the corresponding subscription topic and subscription information.

[0015] The present invention provides an ICE-based monitoring screen data subscription and refresh system, comprising a processor configured to execute a computer program to implement the steps of the ICE-based monitoring screen data subscription and refresh method.

[0016] The beneficial effects of the present invention are: The subscription end parses the configuration elements of the monitoring page and creates graphic objects; the subscription end integrates subscription information including subscription topics and subscription contents, and sends the subscription information to the server through an ICE-initiated subscription call; by integrating the subscription information on the client side and the server side respectively, the set of process data objects of each is minimized, reducing memory and network overhead. The server integrates the subscription information and organizes the subscription data to be sent to the subscription end, and the subscription end binds the subscription data with the graphic objects to generate a monitoring page. The integrated subscription information on the server side is periodically refreshed in the server's thread. When the server detects that the data change in the integrated subscription information reaches the set threshold, it publishes the change information to the subscription management module; the subscription management module sends a graphic change event to the corresponding graphic object according to the change information, and the graphic object re-renders to generate a monitoring page. Through the data synchronization information and the data change information, when the subscription end changes and reselects a publisher, it can quickly switch to other data services to obtain data. At the same time, the data sets polled by each service in a cycle do not overlap, reducing the memory, CPU, and network overhead caused by repeated queries to the real-time database, improving the data refresh efficiency of the monitoring screen, and enhancing the user experience. Description of the Drawings

[0017] Figure 1 is the data flow diagram of the method for subscribing to and refreshing monitoring screen data based on ICE of the present invention; Figure 2 is the working flow diagram of the data refresh service in the method for subscribing to and refreshing monitoring screen data based on ICE of the present invention; Figure 3 is the data subscription and processing flow diagram in the method for subscribing to and refreshing monitoring screen data based on ICE of the present invention. Detailed Embodiment

[0018] To make the objectives, technical solutions, and advantages of the present invention clearer and more understandable, the present invention will be described in detail clearly and completely below with reference to the drawings and embodiments.

[0019] Method Embodiment: Generally, a centralized control station is configured with at least 2 application servers and at least 3, and up to a dozen, graphic workstations. A set of service programs runs on each set of servers, and each service program can be configured as master-slave or in a cluster. In this embodiment, 2 application servers are set, and a data refresh service is deployed on each server, which is used to query model data and real-time data, receive subscription information, and publish data changes. Each graphic workstation can start one or more graphic browser processes, and each graphic browser process supports opening multiple pages simultaneously.

[0020] As Figure 3 shown, the method for subscribing to and refreshing monitoring screen data based on ICE of the present invention includes the following steps: 1) The workstation starts the splash screen browser, initializes the subscribed topic name, using the local machine name + process ID as the subscribed topic name; the splash screen browser parses the monitoring page configuration elements and creates graphic objects; 2) The workstation integrates the data required for the page through the subscription management module to form subscription information, initiates a subscription call to the server data refresh interface through ICE. The subscription information includes the subscribed topic and the subscribed content; the server integrates the subscription information and organizes the subscription data according to the subscription information and sends it to the workstation; The set of data table names, the set of object IDs, and the set of table fields constitute the data required for the page; the subscribed topic includes the workstation host name and process number information; the subscribed content is the data required for the page; by integrating and uniformly subscribing to the repeated tables, object IDs, and table field attributes required for opening the monitoring page, the page data is integrated.

[0021] As Figure 2 shown, ICE calls the data refresh service interface of the server, and the call parameters include the subscribed topic name and the subscribed content; the data refresh service obtains the proxy of the subscribed topic in the subscription information, and creates a proxy for the subscribed topic if it does not exist.

[0022] For the subscribed content not cached in the server, read the model data from the database to create static objects, and read the real-time data from the real-time library and write it into the object real-time attributes; for the subscribed content cached in the server, read it from the cache; synchronously return the subscribed content and the server host name to the subscription management module in the ICE call and mark the subscription information at the same time.

[0023] Publish a data synchronization topic message for the initialization and creation of object models or synchronization of data by other data refresh services, and at the same time delete the subscription proxy for the same topic; periodically refresh the subscription information in a pre-opened thread; the subscription management module uses the subscription information to create data objects, and the graphic objects obtain the attribute values from the data objects to render the monitoring page.

[0024] As another embodiment, the data refresh service can configure the object model data and real-time data with a higher cache usage frequency when starting up, to improve the initial response efficiency of the workstation.

[0025] As a preferred embodiment, for the object model data, different threads can be configured according to the data volume.

[0026] 3) The workstation binds the subscription information with the graphic objects to generate a monitoring page; The subscription management module uses the returned data to create data objects, and the graphic objects obtain the attribute values from the bound data objects to initialize and render shapes, colors, etc.

[0027] 4) The subscription information is periodically refreshed in the server thread. When the server detects data changes in the subscription information or reaches the change threshold, it publishes the change information to the subscription topic of the subscriber.

[0028] When the subscription management module receives a data change message for the subscription topic, it sends a data change event to the graphical object bound to the data object. After receiving the data change, the graphical object re - renders the primitive display form.

[0029] When a new page is opened or the page is switched, the subscription information is re - integrated. When the subscription information changes, a new subscription call is initiated. The subscription call may connect to different servers through the load balancing of the ICE cluster; the data synchronization topic published by the called server should include subscription topic information, sending service information, and the returned subscription data. After receiving this topic, other data refresh services delete the proxy for the original topic name of this service and create objects or update the cache at the same time.

[0030] As a preferred embodiment, different refresh cycles can also be configured for tables and fields, and only the timeout time needs to be judged in the thread where they are located to refresh according to the configured cycle.

[0031] 5) When the subscription management module receives a change message for the subscription topic, it sends a graphical change event to the graphical object corresponding to the subscription topic, and the graphical object re - renders to generate a monitoring page.

[0032] In this embodiment, each server subscribes to the data synchronization topic and the data change topic for each service to initialize object creation and synchronize data. When the server first returns subscription data, it publishes a data synchronization topic message, and the message content includes the unique identifier of this service, the subscription topic, and the subscription return data; when this service receives this message, it does not process it. Other services judge whether the subscription topic exists. If it exists, the subscription topic and the corresponding subscription content are deleted because this subscription topic has been switched to other services for publishing. When it detects changes in the subscription data, it publishes a data change topic message, and the message content includes the unique identifier of this service and the changed data. When this service receives this message, it does not process it, and other services update the data cache pool when they receive this message.

[0033] The workstation and the server periodically write heartbeat change information to the real - time database and regularly read the heartbeat information of each other; when the subscriber detects that the heartbeat information of the server no longer changes, the subscriber initiates a new subscription call; when the server detects that the heartbeat information of the subscriber no longer changes, the server deletes the corresponding subscription topic and subscription information to improve the reliability of data subscription and refresh.

[0034] Such as Figure 1As shown, ICESTROM can support any number of subscribed topics, which are dynamically created and distinguished by unique names. Each subscribed topic can have multiple publishers and subscribers. By using ICE calls to subscribe / publish to subscribed topics with ICESTROM, the client and the server can dynamically create and delete topics, decouple the publishers and subscribers, simplify the development, so that the application can focus on data publishing rather than various trivial distributed transactions.

[0035] The server periodically refreshes the integrated subscription information in a thread and immediately publishes the changed data to the subscribed topics when it detects data changes or reaches the change threshold; when the subscription management module receives a data change message for a subscribed topic, it sends a data change event to the graphical object bound to the data object, and the graphical object re-renders the primitive display form after receiving the data change.

[0036] As other embodiments, all ICE transport mechanisms including but not limited to TCP, SSL, and UDP can be used for publishing and receiving messages, and the present invention is applicable to a variety of application scenarios.

[0037] As a preferred embodiment, for object model data, different threads can be configured according to the data volume; for tables and fields, different refresh periods can also be configured, and only the timeout time needs to be judged in the corresponding thread to refresh according to the configured period.

[0038] System embodiment: An ICE-based monitoring screen data subscription and refresh system in this embodiment includes a processor, which is used to execute instructions stored in a memory to implement the above-mentioned ICE-based monitoring screen data subscription and refresh method. [[ID=1']]

[0039] The present invention provides a method and system for subscribing to and integrating monitoring images. By integrating subscription information on the client side and the server side respectively, the set of process data objects of each can be minimized, reducing memory and network overhead. Through data synchronization topics and data change topics, when the subscription changes and a new publisher is reselected, data can be quickly obtained from other data services. At the same time, the data sets polled by each service cycle do not overlap, reducing the memory, CPU, and network overhead caused by repeated queries of the real-time database, improving the data refresh efficiency of the monitoring images and enhancing the user experience. By periodically writing and polling the heartbeat change information between the subscriber and the server, the server can promptly delete subscription information when the client goes offline, and the client can re-initiate a subscription call when the server goes offline, improving the reliability of data subscription and refresh. Through ICE calls and ICESTROM subscriptions / publishes, the client and the server can dynamically create and delete topics, decoupling the publisher and the subscriber, simplifying development, and enabling the application to focus on data publishing rather than various trivial distributed transactions.

[0040] The above is only a preferred embodiment of the present invention and is not intended to limit the present invention. The patent protection scope of the present invention is subject to the claims. Any equivalent structural changes made by using the description and drawings of the present invention shall be included in the protection scope of the present invention by the same token.

Claims

1. A method for subscribing to and refreshing monitoring screen data based on ICE, characterized in that It includes the following steps: 1) The subscription end parses the configuration elements of the monitoring page and creates graphic objects; 2) The subscription end integrates the subscription information through the subscription management module, and initiates a subscription call through ICE to send the subscription information to the server end. The subscription information includes a subscription topic and subscription content; The server end integrates the subscription information and organizes the subscription data to be sent to the subscription end; 3) The subscription end binds the subscription data with the graphic objects through the subscription management module to generate a monitoring page; 4) The integrated subscription information is periodically refreshed in the thread of the server end. When the server end detects that the data change in the integrated subscription information reaches a set threshold, it publishes change information to the subscription management module; 5) The subscription management module sends a graphic change event to the corresponding graphic object according to the change information, and the graphic object is re-rendered to generate a monitoring page.

2. The method for subscribing to and refreshing monitoring screen data based on ICE according to claim 1, characterized in that, In step 2), the subscription information includes a set of data table names, a set of object IDs, and a set of table fields; the subscription topic includes the host name of the subscription end and process number information.

3. The method for subscribing to and refreshing monitoring screen data based on ICE according to claim 1, characterized in that, In step 2), the subscription end integrating the subscription information through the subscription management module includes integrating and uniformly subscribing to the repeated tables, object IDs, and table field attributes required to open the monitoring page.

4. The method for subscribing to and refreshing monitoring screen data based on ICE according to claim 1, wherein In step 2), ICE calls the data refresh service interface of the server end, and the call parameters include the subscription topic and subscription content; the data refresh service obtains the proxy of the subscription topic in the subscription information through the ICESTORM middleware, and creates the proxy of the subscription topic if it does not exist.

5. The method for subscribing to and refreshing monitoring screen data based on ICE according to claim 1, wherein In step 2), for the subscription content not cached in the server end, the model data is read from the database and the real-time data is read from the real-time library; for the subscription content cached in the server end, it is read from the cache; the subscription content and the server end host name are synchronously returned to the subscription end.

6. The method for subscribing to and refreshing monitoring screen data based on ICE according to claim 1, wherein In step 3), the subscription end binding the subscription data with the graphic objects through the subscription management module to generate a monitoring page includes the subscription management module creating a data object based on the subscription data, and the graphic object obtaining attribute values from the data object to initialize and render the shape and color of the monitoring page.

7. The method for subscribing to and refreshing monitoring screen data based on ICE according to claim 1, wherein In step 2), when the server end first returns the subscription data, it publishes a data synchronization topic message to other services. The data synchronization topic message includes the unique identifier of this service, the subscription topic, and the return data of the subscription information; this service does not process when receiving the data synchronization topic message, and other services judge whether the subscription topic in the data synchronization topic message exists when receiving the topic message. If it exists, they delete their own subscription topic and the subscription content corresponding to the subscription topic, and this subscription topic is switched to the corresponding service for publication.

8. The method for subscribing to and refreshing monitoring screen data based on ICE according to claim 1, wherein In step 4), the server end simultaneously publishes a change topic message to other services. The change topic message includes the unique identifier of this service and the change data; this service does not process when receiving the change topic message, and other services update the data cache pool when receiving the change topic message.

9. The method for subscribing to and refreshing monitoring screen data based on ICE according to claim 1, characterized in that, The subscription end and the server end periodically write heartbeat change information to the real-time library and read the heartbeat information of each other at fixed intervals; When the subscriber detects that the heartbeat information of the server no longer changes, the subscriber re-initiates the subscription call; When the server detects that the subscriber's heartbeat information no longer changes, the server deletes the corresponding subscription topic and subscription information.

10. A monitoring screen data subscription and refresh system based on ICE, including a processor, characterized in that, The processor is used to execute a computer program to implement the steps of the monitoring screen data subscription and refresh method based on ICE as described in any one of claims 1 to 9.