Coal application and development system
Through the coal application development system, the event chain-driven architecture and standardized interface are used to solve the problem that traditional development methods are difficult to respond to complex needs quickly, and high concurrent processing and flexible expansion are achieved to meet the business needs of coal mines in many aspects.
Patent Information
- Application Number
- CN202510472676.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-15
- Publication Date
- 2025-08-15
AI Technical Summary
Traditional coal data application development methods are difficult to quickly respond to complex and changeable coal mine production, safety and management needs, and have a long development cycle and high cost.
It adopts a coal application development system, including data integration module, event processing and driver module, user interaction module and visual module, provides standardized protocols and interfaces, and adopts an event chain driven architecture to achieve high concurrent processing and flexible expansion.
It realizes cascade and resource sharing between different coal systems, supports high concurrent processing, has good scalability and flexibility, and meets the complex and changing business needs of coal mines.
Smart Images

Figure CN120492182A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the technical field of coal system development, and in particular to a coal application development system. Background Art
[0002] As coal mines advance toward intelligent development, data application requirements are becoming increasingly complex. Beyond basic data query and reporting capabilities, advanced applications such as data mining, data analysis, forecasting and early warning, and intelligent decision-making are also required to meet diverse business needs across coal mine production, safety, and management. Traditional data application development methods struggle to quickly respond to these complex and ever-changing requirements, resulting in long development cycles and high costs. Summary of the Invention
[0003] The present disclosure aims to solve one of the technical problems in the related art at least to a certain extent.
[0004] To this end, one object of the present disclosure is to propose a coal application development system.
[0005] To achieve the above-mentioned purpose, the first embodiment of the present disclosure proposes a coal application development system, including: a data integration module, an event processing and driving module, a user interaction module and a visualization module; the data integration module is used to obtain multi-source heterogeneous data of various business systems of coal mines, and generate a data model based on the multi-source heterogeneous data, and the data model provides a standardized protocol and a standardized interface for the event processing and driving module; the event processing and driving module is used to provide an event chain model, and the event chain model is used to define event chains, dynamically generate event chain instances and execute event chains, and the event chain is used to execute corresponding events; the user interaction module is used to provide an interactive device for users, and the user inputs request data to the event processing and driving module through the interactive device, and receives output data of the event processing and driving module; the visualization module is used to display the execution data and execution results of the event chain uploaded by the event processing and driving module.
[0006] According to one embodiment of the present disclosure, defining an event chain includes: obtaining the triggering sequence, dependency relationship and execution logic of the event to be defined; generating an event processing function based on the triggering sequence, the dependency relationship and the execution logic; and generating the event chain based on the triggering sequence, the dependency relationship, the execution logic and the event processing function.
[0007] According to one embodiment of the present disclosure, the event processing and driving module further includes: an event distribution unit, wherein the event distribution unit is used to distribute the acquired event data to the corresponding processing function for processing.
[0008] According to an embodiment of the present disclosure, the dynamically generating an event chain instance includes: acquiring system state change data; and generating the event chain instance based on the system state change data.
[0009] According to one embodiment of the present disclosure, the dynamically generating event chain instance further includes: acquiring request data uploaded by the user interaction module; and generating the event chain instance based on the request data.
[0010] According to one embodiment of the present disclosure, the dynamically generating event chain instance further includes: acquiring a visualization event; and generating the event chain instance based on the visualization event.
[0011] According to one embodiment of the present disclosure, the event processing and driving module is also used to: obtain the event node of the generated event chain, the event node at least including the triggering conditions, execution logic and output results of the event chain; monitor, schedule, manage and correct the event node.
[0012] According to one embodiment of the present disclosure, the event processing and driving module further includes: a subscription unit, which is used to provide subscription and unsubscription functions for the event chain, and send corresponding subscription messages to objects subscribing to events based on the event chain.
[0013] According to one embodiment of the present disclosure, the event processing and driving module further includes: an event filtering unit, which is used to parse the received events to be processed according to preset rules and filter the events to be processed based on the parsing results.
[0014] According to one embodiment of the present disclosure, the visualization module is further used to generate charts and / or graphs and / or maps and / or three-dimensional scene data based on the execution data and execution results of the event chain uploaded by the event processing and driving module.
[0015] The coal application development system in the embodiment of the present disclosure provides standardized protocols and standardized interfaces, which can be applied to different coal systems, thereby realizing cascading or resource sharing between different coal systems in the later stage. At the same time, the coal application development system in the embodiment of the present disclosure adopts an event chain driven architecture, which can achieve high concurrent processing and has good scalability and flexibility. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] Figure 1 is a schematic diagram of a coal application development system according to one embodiment of the present disclosure;
[0017] Figure 2 is a flowchart of defining an event chain according to one embodiment of the present disclosure;
[0018] Figure 3 is a schematic diagram of an event processing and driving module according to one embodiment of the present disclosure;
[0019] Figure 4 is a schematic diagram of another event processing and driving module according to one embodiment of the present disclosure;
[0020] Figure 5 is a schematic diagram of another event processing and driving module according to one embodiment of the present disclosure;
[0021] Figure 6 It is a flowchart of system development through the coal application development system in an embodiment of the present disclosure;
[0022] Figure 7 A schematic diagram of the operation flow of a coal system developed by the coal application development system according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0023] The following describes in detail embodiments of the present disclosure, examples of which are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are intended to be used to explain the present disclosure, and should not be construed as limiting the present disclosure.
[0024] The acquisition, storage, use, and processing of data in this disclosed technical solution comply with the relevant provisions of relevant laws and regulations.
[0025] It should be noted that in the embodiments of this application, certain software, components, models and other existing solutions in the industry may be mentioned. They should be considered as exemplary. Their purpose is only to illustrate the feasibility of implementing the technical solution of this application, but it does not mean that the applicant has or will necessarily use the solution.
[0026] Figure 1 is a schematic diagram of a coal application development system according to an embodiment of the present disclosure. Figure 1 As shown, the coal application development system 100 includes: a data integration module 110 , an event processing and driving module 120 , a user interaction module 130 and a visualization module 140 .
[0027] The data integration module 110 is used to obtain multi-source heterogeneous data from various business systems of the coal mine and generate a data model based on the multi-source heterogeneous data. The data model provides standardized protocols and standardized interfaces for event processing and driving modules.
[0028] It should be noted that the data integration module 110 is the foundation of the system, responsible for integrating the multi-source, heterogeneous data resources of various coal mine business systems. Through technical means such as data cleaning, format conversion, and standardization, it integrates scattered data resources into a unified data model and provides a standardized data interface for upper layers to ensure data accuracy, consistency, and availability.
[0029] The event processing and driving module 120 is used to provide an event chain model, which is used to define an event chain, dynamically generate event chain instances, and execute the event chain, which is used to execute corresponding events.
[0030] It's important to note that the event-driven architecture is an event-centric system design concept. Its core idea is to organically connect the various independent components in the system through the generation, transmission, and processing of events, forming an efficient and collaborative workflow. In this architecture, each component is either a producer or consumer of events. Events serve as a carrier for information transmission, driving system operation and the execution of business logic. Processing events through event chains offers the following advantages:
[0031] (1) High concurrent processing capability: The event chain driven architecture adopts an asynchronous communication mechanism, which can process a large number of events in parallel and significantly improve the concurrent performance of the system. It is especially suitable for the needs of high-frequency data collection and real-time processing in coal mine scenarios.
[0032] (2) Good scalability: Since components are loosely coupled through events, the system can flexibly add or reduce components without large-scale adjustments to the overall architecture, and can quickly adapt to changes and expansions in coal mining operations.
[0033] (3) High flexibility: The event chain-driven architecture supports dynamic adjustment of event processing logic and can customize event processing processes according to different business scenarios to meet the complex and changing three-dimensional business needs of coal mines, such as geological modeling, equipment monitoring, disaster warning, etc.
[0034] (4) Adaptability to complex scenarios: Coal mine business scenarios usually involve multi-source heterogeneous data (such as geological data, equipment data, environmental data, etc.) and complex business logic (such as real-time monitoring, data analysis, decision support, etc.). The event chain-driven architecture can effectively integrate these data and application requirements through event distribution and processing, providing a unified solution.
[0035] The user interaction module 130 is used to provide an interaction device for the user, through which the user inputs request data to the event processing and driving module 120 and receives output data from the event processing and driving module 120.
[0036] It should be noted that the user interaction module 130 is the part of the event-chain-driven architecture that directly interacts with the user. It is responsible for receiving user input, displaying system output, and providing a user-friendly interface. Its primary goal is to enhance the user experience and ensure that users can interact with the system conveniently and efficiently. It supports user operations and queries on 3D visualization scenes, as well as the definition and management of event chains.
[0037] Core functions include the following:
[0038] User input processing: Receive and process user input, such as clicks, drags, and text input.
[0039] Interface display: The results of the data visualization layer are presented to users in a user-friendly interface, such as dashboards, reports, charts, etc.
[0040] Operation feedback: timely feedback on the results of user operations, such as success prompts, error prompts, loading status, etc.
[0041] Permission management: Control the functions and data that users can access based on their roles and permissions.
[0042] Personalization settings: Allow users to customize interface layout, theme, notification method, etc.
[0043] It should be noted that the interactive devices in the embodiments of the present disclosure may be of various types, without any limitation herein. For example, they may include a keyboard, a touch screen input device, a voice interactive device, an image interactive device, and the like.
[0044] The visualization module 140 is used to display the execution data and execution results of the event chain uploaded by the event processing and driving module 120.
[0045] In the embodiment of the present disclosure, the visualization module 140 is further used to generate charts and / or graphs and / or maps and / or three-dimensional scene data based on the execution data and execution results of the event chain uploaded by the event processing and driving module 120.
[0046] The visualization module 140 is the core of the system's presentation, responsible for presenting processed data to users in an intuitive and easy-to-understand format. Its primary goal is to help users quickly understand the meaning behind the data and support decision-making through methods such as 3D scenes, 2D charts, and 2D dashboards.
[0047] The core functions of the visualization module 140 are as follows:
[0048] Two-dimensional data display: Display the data processed by the event processing and driving framework in the form of charts, graphs, maps, etc., such as line charts, bar charts, pie charts, heat maps, etc.
[0049] 3D data display: Utilizing 3D modeling and visualization technology, the coal mine's production environment, equipment status, personnel location, and other information are presented in an intuitive and dynamic manner. This includes 3D scene construction, such as building a high-precision 3D coal mine model based on geological exploration data and coal mine design drawings, including tunnels, working faces, equipment, pipelines, and more. This displays equipment operating status, environmental monitoring data, personnel location, and other information in real time, with dynamic updates and interactive queries. Combining event processing with data from the driver framework enables dynamic monitoring and alarming of the coal mine production process. When equipment anomalies occur, the faulty equipment is highlighted in the 3D scene; when environmental parameters exceed standards, dangerous areas are marked in the 3D scene; and when personnel cross a boundary, their location and movement trajectory are displayed in the 3D scene.
[0050] Real-time update: supports dynamic display of real-time data to ensure that users can obtain the latest information in a timely manner.
[0051] Data filtering and screening: Allows users to filter data according to specific conditions to focus on key information.
[0052] Interactive exploration: Provides interactive operations such as zooming, dragging, and clicking to help users deeply analyze data.
[0053] Multi-dimensional analysis: supports slicing and dicing data from different dimensions (such as time, region, category, etc.).
[0054] Custom View: Allows users to customize the layout and content of dashboards or reports based on their needs.
[0055] The visualization module 140 and the user interaction module 130 work closely together to provide users with an efficient and intuitive data display and operation experience. The visualization module 140 is responsible for converting complex data into easy-to-understand 3D scenes and 2D charts, while the user interaction module 130 ensures that users can easily interact with these visualizations. The two modules exchange data via the Application Programming Interface (API) or WebSocket protocol, ensuring real-time and consistent data.
[0056] The coal application development system in the embodiment of the present disclosure provides standardized protocols and standardized interfaces, which can be applied to different coal systems, thereby realizing cascading or resource sharing between different coal systems in the later stage. At the same time, the coal application development system in the embodiment of the present disclosure adopts an event chain driven architecture, which can achieve high concurrent processing and has good scalability and flexibility.
[0057] In the above embodiment, the event chain is defined, and Figure 2 Explaining further, the method includes:
[0058] S201, obtaining the triggering sequence, dependency relationship and execution logic of the event to be defined.
[0059] In the disclosed embodiments, a to-be-defined event may include multiple event nodes, with different event nodes being executed sequentially according to a specific triggering order. For example, a to-be-defined event may include five event nodes, A, B, C, D, and E, and their triggering order may be A→B→C→D→E, or A→E→D→C→B, etc., depending on actual design needs.
[0060] Dependencies are relationships between multiple event nodes. These relationships can be diverse and need to be defined based on actual design needs. For example, the relationship between event nodes A and B could be such that B needs to be processed only after A completes, or it could be such that both A and B need to be processed simultaneously.
[0061] The execution logic describes the specific operations performed by the event node (such as data processing, status update, calling external services, etc.).
[0062] S202: Generate an event processing function based on the trigger sequence, dependency relationship and execution logic.
[0063] The event processing function is the core execution unit of the event chain, responsible for receiving event parameters and executing business logic. Its main functions are to receive event parameters (such as event type, event source, event data, etc.), execute business logic (such as data processing, status update, triggering subsequent events, etc.), return processing results or trigger new events. Event processing functions follow the following principles:
[0064] Single responsibility: Each processing function is responsible for only one specific task.
[0065] Reusability: Abstract common logic into independent functions for easy reuse.
[0066] Scalability: Supports dynamic addition or modification of processing logic.
[0067] When a user clicks on a device model, a device details query event is triggered, and the processing function queries the device information from the database and returns it. After the device status update event sequence combination is triggered, the processing function updates the device status and triggers an alarm event.
[0068] S203: Generate an event chain based on the trigger sequence, dependency, execution logic, and event processing function.
[0069] In the disclosed embodiments, an event chain is an ordered process consisting of multiple events and processing functions, used to complete a complete business logic. There are three ways to build it:
[0070] Linear event chain: Events are triggered and processed in sequence, for example: event A → processing function A → event B → processing function B.
[0071] Branch event chain: trigger different event chains based on conditions, for example: event A → condition judgment → event B or event C.
[0072] Circular event chain: The event chain contains circular logic, for example: event A → processing function A → event A (loop until the condition is met).
[0073] For example:
[0074] User searches for keywords → triggers data filtering event → triggers data display event → triggers interface update event.
[0075] Device failure → trigger alarm event → trigger log event → trigger notification event.
[0076] In one possible implementation, Figure 3 As shown, the event processing and driving module 120 further includes an event distribution unit 310, which is used to distribute the acquired event data to the corresponding processing function for processing.
[0077] The event distribution unit 310 can ensure that events can be efficiently and accurately delivered to corresponding processing functions.
[0078] Implementation:
[0079] Queue system: Use a message queue (such as RabbitMQ, Kafka) or a custom queue system to distribute events in order.
[0080] Priority mechanism: Set priorities for events to ensure that high-priority events are handled first.
[0081] Asynchronous processing: Supports asynchronous event processing to avoid blocking the main thread.
[0082] For example:
[0083] User interaction events and system status change events enter different queues and are processed according to priority.
[0084] High-priority alarm events take precedence over low-priority logging events.
[0085] In the above embodiment, there are many methods for dynamically generating event chain instances, which are not limited here.
[0086] In a possible implementation manner, system state change data may be first acquired, and then an event chain instance may be generated based on the system state change data.
[0087] It should be noted that system state change data is generated by events triggered by changes in the system's internal state, reflecting changes in the system's operating state. For example, events triggered by changes in the system's internal state may include:
[0088] After the model is loaded, the scene initialization event is triggered.
[0089] The device operating status changes from "normal" to "fault", triggering a device alarm event.
[0090] Environmental parameters (such as temperature and humidity) exceed the standard, triggering a warning event.
[0091] Resource status events: If the memory usage exceeds the threshold, a resource cleanup event is triggered.
[0092] Task status event: If a task is completed or failed, a task status update event is triggered.
[0093] In another possible implementation manner, the request data uploaded by the user interaction module 130 may be first obtained, and then an event chain instance may be generated based on the request data.
[0094] It should be noted that user request data may be generated by user interaction events, which are usually directly related to user behavior. Users interact with the system through input devices such as mouse, keyboard, touch screen, etc. For example, user interaction events may include:
[0095] The user clicks on the device model, triggering a device detailed information query event.
[0096] The user enters the search keyword, triggering data filtering and display events.
[0097] The user drags the 3D model, triggering a model position update event.
[0098] Gesture events: On touch screen devices, gesture operations such as pinching and sliding are supported to trigger events such as zooming and rotating.
[0099] Voice interaction event: An event is triggered by voice input. For example, when a user says "zoom in model", a model zoom event is triggered.
[0100] In another possible implementation, visualization events can be obtained, and then event chain instances can be generated based on the visualization events. It should be noted that visualization events can include many types, and no limitation is given here. For example, they can include 3D visualization events and 2D statistical chart events.
[0101] It should be noted that 3D visualization events are events related to 3D application display, and are mainly used to support dynamic display and interaction of 3D scenes. For example, 3D visualization events may include:
[0102] The device position in the 3D scene changes, triggering a scene update event.
[0103] The user adjusts the camera's viewing angle, triggering a viewing angle synchronization event.
[0104] Model rendering is completed, triggering the rendering completion event.
[0105] Animation events: When a model animation starts or ends, it triggers an animation status update event.
[0106] Collision detection event: If two models collide, a collision handling event is triggered.
[0107] Two-dimensional statistical chart events refer to events triggered by user operations or data changes in two-dimensional statistical charts (such as line charts, bar charts, pie charts, etc.). These events are usually related to operations such as data display, filtering, and interaction.
[0108] In an embodiment of the present disclosure, two-dimensional statistical chart events can be based on user operations (clicking on data points in the chart, dragging chart areas, adjusting chart parameters, etc.), data changes (data updates, data filtering, data sorting, etc.), and chart status changes (chart rendering completion, chart zooming, chart switching, etc.).
[0109] For example, 2D chart events may include:
[0110] When a user clicks on a column in the bar chart, the data details display event corresponding to the column is triggered.
[0111] The user adjusts the time range of the line chart, triggering data reload and chart update events.
[0112] After the data is updated, the chart re-rendering event is triggered.
[0113] After the chart rendering is completed, the chart initialization completed event is triggered.
[0114] Multi-chart linkage: supports linkage between multiple charts. For example, when a data point is selected in one chart, other charts will be updated synchronously.
[0115] Data drilling: supports drilling from summary data to detailed data. For example, clicking a piece in a pie chart triggers a detailed data display event.
[0116] Dynamic parameter adjustment: supports users to dynamically adjust chart parameters (such as color, style, label, etc.) and trigger chart re-rendering events.
[0117] Export and Share: Supports users to export charts as images or PDFs, or share charts via links, triggering export or share events.
[0118] In the above embodiment, the event processing and driving module 120 is also used to obtain the event nodes of the generated event chain, which event nodes at least include the triggering conditions, execution logic and output results of the event chain, and then monitor, schedule, manage and correct the event nodes.
[0119] It should be noted that the event chain includes multiple event nodes. Each node represents an independent event processing unit and supports customization based on event type and business needs. Each event node contains the event triggering conditions, execution logic, and output results. For example, when equipment anomalies, environmental parameters exceed standards, or personnel cross the line, an event will be triggered. The event is distributed to the relevant processing nodes through the event bus, and the event executes specific business logic, such as alarms, data analysis, and status updates. Finally, the processing results are fed back to the user or system, such as updating the three-dimensional scene and sending notifications. Event nodes can be defined and executed independently, and multiple event nodes can be combined into complex event chains. Event nodes can be reused in different event chains.
[0120] The core functions include the following three:
[0121] Trigger conditions: define the triggering rules of event nodes (such as user clicks, data updates, system status changes, etc.).
[0122] Execution logic: describes the specific operations performed by the event node (such as data processing, status update, calling external services, etc.).
[0123] Output result: The data or state change generated after the event node is executed, which serves as the input for subsequent events.
[0124] In the disclosed embodiment, the event processing and driving module 120 also includes an event-driven mechanism. The event-driven mechanism is used as the execution engine of the event processing and driving framework, responsible for monitoring the triggering of event sequence combinations, scheduling the execution of event nodes, and ensuring the integrity and consistency of the event chain. It supports high-concurrency event processing to ensure the real-time performance of the system, has a transaction mechanism to ensure the atomicity and consistency of the event chain, and supports dynamic adjustment of the execution order of the event chain or skipping certain event nodes.
[0125] The core functions include the following four:
[0126] Event monitoring: monitor user interactions, system status changes, or external data input in real time and trigger corresponding event nodes.
[0127] Event scheduling: Schedule the execution of event nodes according to the logical sequence of the event chain model.
[0128] State management: Maintain the state information during the execution of the event chain to ensure the correct execution of the event chain.
[0129] Error handling: Capture exceptions during event node execution and provide error recovery mechanisms.
[0130] Event processing and driving framework workflow.
[0131] Event chain definition: Define the event chain model, including event nodes and event-driven mechanisms, through configuration files or visualization tools.
[0132] Event sequence combination trigger: User interaction or system state change triggers the starting node of the event chain.
[0133] Event execution: The event-driven mechanism executes event nodes in the logical order of the event chain model.
[0134] State update: The execution result of each event node updates the system state or generates new data.
[0135] Visual presentation: The final results are presented to users through the data visualization module.
[0136] Example scenarios for event handling and driver frameworks.
[0137] Suppose in a data visualization system, a user clicks a button to trigger data update and chart refresh:
[0138] (1) Event chain model:
[0139] Define the event chain: user clicks -> data updates -> chart refreshes.
[0140] (2) Event Node:
[0141] User clicks a node: The trigger condition is a button click, and the execution logic is sending a data request.
[0142] Data update node: The trigger condition is data return, and the execution logic is to update the data cache.
[0143] Chart refresh node: The trigger condition is that the data update is completed, and the execution logic is to re-render the chart.
[0144] (3) Event-driven mechanism:
[0145] Listen for button click events and schedule the execution of data update and chart refresh nodes in sequence.
[0146] In the embodiment of the present disclosure, Figure 4 As shown, the event processing and driving module 120 further includes a subscription unit 410, which is used to provide a subscription function and an unsubscription function for the event chain, and send corresponding subscription messages to objects that subscribe to events based on the event chain.
[0147] In the embodiment of the present disclosure, the subscription unit 410 can implement the following functions:
[0148] Through the publish-subscribe pattern: Components receive notifications by subscribing to events of a specific type.
[0149] Event Bus: Use a global event bus (such as EventBus) to manage event publishing and subscription.
[0150] Dynamic registration: Components can register or unregister event listeners at runtime.
[0151] For example:
[0152] The device management component subscribes to device status change events and receives notifications when the device status is updated.
[0153] The 3D scene component subscribes to camera perspective change events and is updated synchronously when the user adjusts the perspective.
[0154] In the embodiment of the present disclosure, Figure 5 As shown, the event processing and driving module 120 further includes an event filtering unit 510, which is used to parse the received events to be processed according to preset rules and filter the events to be processed based on the parsing results.
[0155] It should be noted that the event filtering unit 510 is used to filter events before they are distributed, passing only those that meet specific criteria, thereby reducing unnecessary event processing and improving system efficiency. This primarily involves filtering events based on conditions such as event type, event source, and event data. It supports dynamic adjustment of filtering rules at runtime and supports the serial connection of multiple filters to form multi-level filtering logic.
[0156] The event filtering unit 510 can implement the following functions:
[0157] Rule Engine: Use a rule engine (such as Drools) to define complex filtering rules.
[0158] Lambda expressions: Implement simple filtering logic through Lambda expressions.
[0159] Configuration file: Define filtering rules through configuration files and support dynamic loading.
[0160] For example:
[0161] Only events where the device status changes from "normal" to "fault" are processed.
[0162] Only handle events where the user clicks on a specific area.
[0163] Only handles environmental parameter events where the temperature exceeds the threshold.
[0164] In the disclosed embodiment, the coal application development system 100 also includes an event retry mechanism. This mechanism automatically retries or triggers backup processing logic when event processing fails, ensuring system reliability and fault tolerance. This mechanism primarily defines the number of retries, retry interval, and retry conditions. Upon a failed retry, the backup processing logic or alarm mechanism is triggered to ensure that the retry operation does not adversely affect the system state.
[0165] The event retry mechanism can achieve the following functions:
[0166] Retry framework: Use a retry framework (such as Spring Retry, Resilience4j) to implement retry logic.
[0167] Message queue: Implement event retry and dead letter processing through message queues (such as RabbitMQ and Kafka).
[0168] Manual retry: Provides a manual retry interface, allowing administrators to manually trigger a retry.
[0169] For example, after a device status update fails, retries are performed three times, with an interval of 5 seconds between each retries. In another possible implementation, after data synchronization fails, backup synchronization logic may be triggered or an alarm notification may be sent.
[0170] In the disclosed embodiment, the coal application development system 100 also includes a function for automatically generating and storing event logs. The event log is used to record the triggering, transmission, and processing process of events, facilitating system debugging, performance analysis, and auditing. It mainly includes recording information such as the type, source, time, and data of the event. It records the processing function, processing results, and processing time of the event, and supports logging at different levels (such as DEBUG, INFO, WARN, and ERROR). The log is stored in a file, database, or log management system (such as ELK Stack).
[0171] The logging function can achieve the following functions:
[0172] Logging framework: Use a logging framework (such as Log4j, SLF4J) to record event logs.
[0173] Asynchronous logging: Logs are recorded asynchronously to avoid affecting the performance of the main thread.
[0174] Log aggregation: Use log aggregation tools (such as Fluentd and Logstash) to centrally manage logs.
[0175] For example, the log function can record events when users click on device models, including click time, device ID, user ID and other information. In another possible implementation method, it can also record the processing results of device status update events, including the status before and after the update, processing time, etc.
[0176] In one possible implementation, the process of developing a system using the coal application development system in the embodiment of the present disclosure can be as follows: Figure 6 As shown, first perform event visual editing:
[0177] Use the drag-and-drop event chain editor to configure event visualization for 2D statistical charts, function buttons, and 3D scene components. 2D statistical charts require a data source. Configured events include basic events and custom events. Once defined, the 2D statistical charts, function buttons, and 3D scene components will execute their event functions according to the configured events.
[0178] Then proceed to edit the functional components.
[0179] Common functions are designed in a component-based manner, splitting the 3D visualization system into multiple independent components, such as scene management, model loading, and interactive control. Each component communicates and collaborates with other components through event chains. For example, for model loading, the model loading method is pre-configured in a custom event on a button. Users can drag the "Model Loading" button to use the built-in custom event.
[0180] (1) 3D scene management component
[0181] Responsible for the initialization, configuration, rendering and optimization of 3D scenes.
[0182] (2) Model loading component
[0183] Provides a model loading mechanism that supports 3D model files in multiple formats (such as FBX, OBJ, GLTF, etc.), optimizes loading speed, and reduces memory usage. A pre-configured library of equipment models commonly used in the coal industry (such as shearers, roadheaders, ventilation equipment, support structures, etc.) allows users to quickly load the required models into the scene by simply dragging and dropping or configuring the interface.
[0184] Bind the model loading operation to a button or menu item in the user interface (UI). Users can trigger a custom event for model loading by clicking it, achieving instant feedback.
[0185] (3) Interactive control components
[0186] It has rich interactive functions, such as roaming, zooming, rotating, and perspective switching, to enhance the user experience. It also adds specific interactive functions, such as mine inspection path planning, equipment operation simulation (such as coal mining machine cutting path), safety warning area highlighting, etc.
[0187] All interactive operations are linked to other components through event chains. For example, when a user clicks a device model, it can trigger the display of detailed information about the device or simulated operating status.
[0188] (4) Data analysis and display components
[0189] Integrated data analysis tools visualize mine monitoring data, such as real-time display of environmental parameters like gas concentration, temperature, and humidity. It provides risk assessment and early warning functions, and intuitively displays data changes through charts and heat maps to aid decision-making.
[0190] Use data analysis events to set parameters such as the data source to be analyzed, analysis method, analysis parameters, and display format. By defining this event on a button or menu item in the user interface (UI), you can implement data analysis binding, allowing users to trigger custom events with a single click.
[0191] Finally, the event flow process is carried out.
[0192] (1) 3D engine custom message body. When using a third-party 3D engine function API, the usual method is to introduce the engine and use the provided API for development. Here, the 3D engine custom message body is used to call the third-party 3D engine function API. Through the official documentation of the 3D engine, you can understand how to interact with the API and construct a message body that meets the requirements according to the engine's API specifications so that the engine can understand and process the request. Different 3D engines provide different APIs, so this part belongs to the custom development part. If you change the 3D engine, this part needs to be redefined.
[0193] (2) Event registration: Defined events need to be registered, which is divided into basic event registration and custom event registration.
[0194] (3) Component event configuration event processing. When the 3D scene starts running, clicking on a 2D statistical chart, function button, or model in the 3D scene activates a defined event, which is then passed to the component event configuration event processing center. Because defined events are divided into basic events and custom events, they are passed through the basic function message body and custom message body, respectively.
[0195] If the defined event is a basic event, the basic event will be called according to the event monitoring mechanism, thereby executing the corresponding event function.
[0196] If a custom event is defined, it will be called according to the event monitoring mechanism. Custom events will be distributed through the 3D scene basic components, and the corresponding functional API will be called through the 3D engine's custom message body to respond to 3D functions.
[0197] Figure 7 This is a flow chart of the operation of the coal system developed by the coal application development system according to the embodiment of the present disclosure, such as Figure 7 As shown in the figure, taking 3D scene operation as an example, during 3D scene operation, preconfigured information is first entered into the system through mouse and keyboard interaction. This configuration information includes 2D statistical charts, function buttons, and 3D scenes after event definition. This configuration information is then passed to the component configuration event processing center. In the component configuration event processing center, basic function message bodies and custom message bodies are generated. Next, the system monitors and registers events, including refresh data, other basic events, jump links, and component display and hiding. Furthermore, when the scene loads, the system triggers events such as scene updates, mouse clicks on scene objects, and mouse hovers over scene objects. These events are received by the basic and custom events of the inherited base class components. All of these events are collected by the 3D scene base component and sent to the 3D engine custom message body through the event distribution mechanism. Subsequently, the third-party 3D engine function API responds to these messages, ultimately implementing the corresponding 3D functionality. The entire process begins with the 3D scene operation, proceeds through mouse and keyboard interaction, event definition, component configuration, event monitoring and registration, event distribution, and finally, the 3D engine and third-party API complete the functional response, forming a complete closed loop.
[0198] It is important to note that personal information collected from users should be used for legitimate and reasonable purposes and should not be shared or sold beyond these legitimate uses. Furthermore, such collection / sharing should be conducted only after receiving the user's informed consent, including but not limited to notifying the user to read the user agreement / user notice and sign an agreement / authorization that includes the relevant user information before using the feature. Furthermore, any necessary steps must be taken to safeguard and secure access to such personal information and ensure that others with access to personal information comply with its privacy policy and procedures.
[0199] This application contemplates providing implementations that allow users to selectively block the use or access of personal information data. Specifically, this disclosure contemplates providing hardware and / or software to prevent or block access to such personal information data. Risks can be minimized by limiting data collection and deleting data once it is no longer needed. Furthermore, where applicable, such personal information can be de-identified to protect user privacy.
[0200] In the descriptions of the foregoing embodiments, the reference terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" mean that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present application. In this specification, the schematic expressions of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art may combine and combine the different embodiments or examples described in this specification and the features of the different embodiments or examples, unless they are mutually inconsistent.
[0201] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of the technical features being referred to. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of such features. Throughout the description of this application, "plurality" means at least two, for example, two, three, etc., unless otherwise specifically defined.
[0202] Any process or method description in a flowchart or otherwise described herein may be understood to represent a module, segment or portion of code comprising one or more executable instructions for implementing the steps of a custom logical function or process, and the scope of the preferred embodiments of the present application includes alternative implementations in which functions may be performed out of the order shown or discussed, including performing functions in a substantially simultaneous manner or in the reverse order depending on the functions involved, which should be understood by those skilled in the art to which the embodiments of the present application belong.
[0203] The logic and / or steps represented in the flowcharts or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing the 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 (e.g., a computer-based system, a system including a processor, or other system that can fetch and execute instructions from an instruction execution system, apparatus, or device). For purposes of this specification, a "computer-readable medium" can be any device that can contain, store, communicate, propagate, or transport a program 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 the following: an electrical connection with one or more wires (electronic devices), a portable computer disk cartridge (magnetic device), random access memory (RAM), read-only memory (ROM), erasable and programmable read-only memory (EPROM or flash memory), fiber optic devices, and a portable compact disc read-only memory (CDROM). Furthermore, the computer-readable medium may even be paper or other suitable medium on which the program is printed, since the program may be obtained electronically, for example, by optically scanning the paper or other medium and then editing, interpreting or processing it in another suitable manner if necessary, and then storing it in a computer memory.
[0204] It should be understood that various parts of the present 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 a memory and executed by a suitable instruction execution system. For example, if implemented using hardware, as in another embodiment, any one of the following technologies known in the art or a combination thereof can be used to implement: a discrete logic circuit having a logic gate circuit for implementing a logic function on a data signal, an application-specific integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.
[0205] Those skilled in the art will understand that all or part of the steps in the method of the above embodiment can be completed by instructing related hardware through a program, and the program can be stored in a computer-readable storage medium. When the program is executed, it includes one or a combination of the steps of the method embodiment.
[0206] In addition, the functional units in the various embodiments of the present application may be integrated into a processing module, or each unit may exist physically separately, or two or more units may be integrated into a module. The above-mentioned integrated module may be implemented in the form of hardware or in the form of a software functional module. If the integrated module is implemented in the form of a software functional module and sold or used as an independent product, it may also be stored in a computer-readable storage medium.
[0207] The storage medium mentioned above may be a read-only memory, a magnetic disk, or an optical disk, etc. Although the embodiments of the present application have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting the present application. Persons skilled in the art may make changes, modifications, substitutions, and variations to the above embodiments within the scope of the present application.
Claims
1. A coal application development system, characterized in that: include: Data integration module, event processing and driving module, user interaction module and visualization module; The data integration module is used to obtain multi-source heterogeneous data from various business systems of the coal mine and generate a data model based on the multi-source heterogeneous data. The data model provides a standardized protocol and standardized interface for the event processing and driving modules; The event processing and driving module is used to provide an event chain model, the event chain model is used to define event chains, dynamically generate event chain instances and execute event chains, and the event chain is used to execute corresponding events; The user interaction module is used to provide an interaction device for the user, through which the user inputs request data to the event processing and driving module and receives output data from the event processing and driving module; The visualization module is used to display the execution data and execution results of the event chain uploaded by the event processing and driving module.
2. The system according to claim 1, wherein: The defined event chain includes: Obtain the triggering sequence, dependencies, and execution logic of the events to be defined; Generate an event processing function based on the trigger sequence, the dependency relationship and the execution logic; The event chain is generated based on the triggering sequence, the dependency relationship, the execution logic, and the event processing function.
3. The system according to claim 2, characterized in that The event processing and driving module further includes: An event distribution unit is used to distribute the acquired event data to a corresponding processing function for processing.
4. The system according to claim 1, wherein: The dynamically generated event chain instance includes: Obtain system status change data; The event chain instance is generated based on the system state change data.
5. The system according to claim 1, wherein: The dynamically generated event chain instance further includes: Obtaining request data uploaded by the user interaction module; The event chain instance is generated based on the request data.
6. The system according to claim 1, wherein: The dynamically generated event chain instance further includes: Get visualization events; The event chain instance is generated based on the visualization event.
7. The system according to any one of claims 1 to 6, characterized in that The event processing and driving module is also used to: Obtaining an event node of the generated event chain, wherein the event node at least includes a trigger condition, execution logic, and output result of the event chain; Monitor, schedule, manage and correct errors on the event nodes.
8. The system according to claim 1, wherein: The event processing and driving module further includes: The subscription unit is used to provide subscription and unsubscription functions for the event chain, and send corresponding subscription messages to objects that subscribe to events based on the event chain.
9. The system according to claim 1, wherein: The event processing and driving module further includes: The event filtering unit is used to parse the received events to be processed according to preset rules, and filter the events to be processed based on the parsing results.
10. The system according to claim 1, wherein: The visualization module is further used to: Generate charts and / or graphs and / or maps and / or three-dimensional scene data based on the execution data and execution results of the event chain uploaded by the event processing and driving module.
Citation Information
Patent Citations
Event-handling-based coal mine alarm system and method
CN102562162A
System for providing services of event-driven service-oriented internet of things and working method thereof
CN103458033A
Event driving method and device
CN110162413A
Batch scheduling method and system of alliance chain
CN114816714A
Intelligent linkage method for coal mine disasters based on space-time event chain
CN118280091A
