A routing method of notifying an event and a semiconductor process apparatus

By monitoring the variable status in semiconductor process equipment and delivering notification events step by step, the problem of disorderly propagation of notification events is solved, efficient and orderly event processing is achieved, code duplication is reduced, and the flexibility of the system and resource utilization efficiency are improved.

CN114385383BActive Publication Date: 2025-10-10XIAN NAURA MICROELECTRONICS EQUIP CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111620241.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-27
Publication Date
2025-10-10
Estimated Expiration
2041-12-27

AI Technical Summary

Technical Problem

The existing technology cannot flexibly control the propagation and processing of notification events, resulting in disordered reception order of message notification events in the data carrier container receiving the message. This may cause the adjacent parent page to not update data, while other less closely related pages update data and display first.

Method used

The variable status of the variables in the target system is monitored through the N-level data carrier container, which triggers the notification event and passes it to the N-1-level data carrier container for processing. Finally, the first-level data carrier container broadcasts the notification event to achieve orderly propagation and processing of the event.

Benefits of technology

It realizes the fast and efficient transmission of notification events, reduces the coupling between different pages in the system, reduces code duplication, and ensures orderly message transmission, avoiding resource waste.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114385383B_ABST
    Figure CN114385383B_ABST
Patent Text Reader

Abstract

The embodiment of the present application provides a routing method of a notification event, which comprises the following steps: monitoring a variable state of a variable in a target system through an N-level data bearing container, wherein N is an integer greater than 1; triggering a notification event when it is detected that the variable state meets a preset condition; delivering the notification event to an N-1-level data bearing container, and processing the notification event by the N-1-level data bearing container; the N-1-level data bearing container corresponds to at least one N-level data bearing container; delivering the notification event to a one-level data bearing container step by step when the N-1-level data bearing container completes processing of the notification event; and broadcasting the notification event by the one-level data bearing container for each data bearing container. According to the embodiment of the present application, the propagation and processing of the notification event can be efficiently managed.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of semiconductor equipment, in particular to a notification event routing method and a semiconductor process equipment. BACKGROUND

[0002] With the continuous development of information technology, systems that integrate multiple interfaces are widely used in many fields. For the transmission of events between different interfaces in the system, the event processing mechanism is usually separated out to form a registration and reception module for event processing. When the module needs to listen to events, it registers events and handles them. After other modules send messages, the module that registers events will receive the messages, thereby realizing the processing of events. This event message mechanism is a general message mechanism based on a container and can realize the registration, sending and receiving of messages.

[0003] However, this scheme cannot flexibly control the propagation and processing process of notification events, and the receiving order of message notification events in the data-bearing container that receives messages is also disordered, that is, it will cause the parent page that is adjacent to not update the data, and other pages that are not closely related to update the data display first. SUMMARY

[0004] The technical problem to be solved by the embodiments of the present application is that the propagation and processing of notification events cannot be efficiently managed at present.

[0005] To solve the above problems, the embodiments of the present application disclose a notification event routing method, which comprises:

[0006] Monitoring the variable state of a variable in a target system through an N-level data-bearing container, wherein N is an integer greater than 1;

[0007] Triggering a notification event when it is detected that the variable state meets a preset condition;

[0008] Transferring the notification event to an N-1-level data-bearing container, and processing the notification event by the N-1-level data-bearing container; the N-1-level data-bearing container corresponds to at least one N-level data-bearing container;

[0009] Transferring the notification event to a one-level data-bearing container step by step when the N-1-level data-bearing container completes the processing of the notification event;

[0010] Broadcasting the notification event by the one-level data-bearing container to each data-bearing container.

[0011] The embodiments of the present application disclose a semiconductor process equipment, which further comprises:

[0012] A controller configured to monitor variable states of variables in a target system through N-level data carrying containers, where N is an integer greater than 1;

[0013] When it is detected that the variable state meets the preset condition, a notification event is triggered;

[0014] The notification event is delivered to the N-1 level data bearing container, and the N-1 level data bearing container processes the notification event; the N-1 level data bearing container corresponds to at least one N level data bearing container;

[0015] When the N-1-level data bearing container completes processing of the notification event, the notification event is delivered to the first-level data bearing container step by step;

[0016] The notification event is broadcast to each of the data bearing containers through the primary data bearing container.

[0017] According to an embodiment of the present invention, the variable status of a variable in a target system is monitored through an N-level data carrier container. When it is detected that the variable status meets a preset condition, a notification event is triggered and the notification event is passed to the N-1-level data carrier container, which then processes the notification event. The N-1-level data carrier container corresponds to at least one N-level data carrier container. Here, the N-1-level data carrier container can uniformly process the notification event passed from at least one N-level data carrier container, reducing code duplication and lowering the coupling between different pages in the system. When the N-1-level data carrier container completes processing the notification event, the notification event is passed step by step to the first-level data carrier container. By broadcasting the notification event to each data carrier container through the first-level data carrier container, the notification event can be quickly and efficiently conveyed to the data carrier containers of the entire system. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] Figure 1 A schematic structural diagram of a data container provided by this embodiment is shown;

[0019] Figure 2 A schematic diagram of notification event transmission of a sibling relationship provided by this embodiment is shown;

[0020] Figure 3 A schematic diagram of notification event transmission of a parent-child relationship provided by this embodiment is shown;

[0021] Figure 4 A schematic diagram of an event mechanism based on a data carrying container provided by this embodiment is shown;

[0022] Figure 5 A flowchart of a method for routing notification events provided by this embodiment is shown;

[0023] Figure 6 A processing flow diagram of notifying an event provided by the embodiment is shown;

[0024] Figure 7 A delivery flow diagram of notifying an event provided by the embodiment is shown;

[0025] Figure 8 A flow chart of a routing method of notifying an event provided by the embodiment is shown;

[0026] Figure 9 A structure diagram of a semiconductor process equipment provided by the embodiment is shown. DETAILED DESCRIPTION

[0027] The features and exemplary embodiments of various aspects of the present application will be described below in detail, in order to make the purposes, technical solutions and advantages of the present application more clear, the present application will be further described in detail below in combination with the drawings and specific embodiments. It should be understood that the specific embodiments described herein are only configured to explain the present application, and are not configured to limit the present application. The present application can be implemented without some of these specific details for those skilled in the art. The following description of the embodiments is only to provide a better understanding of the present application by showing examples of the present application.

[0028] It should be noted that in this paper, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply that there is any such actual relationship or order between the entities or operations. Moreover, the terms "include", "contain" or any other variants thereof are intended to cover non-exclusive inclusion, so that the process, method, article or device including a series of elements not only includes those elements, but also includes other elements not explicitly listed or inherent to such process, method, article or device. Without more limitations, the elements defined by the statement "include" do not exclude the presence of other identical elements in the process, method, article or device including the elements.

[0029] First, the technical terms related to the embodiments of the present application are introduced.

[0030] Windows-based user interface framework (Windows Presentation Foundation, WPF), which provides a unified programming model, language and framework, provides a consistent description and operation method for user interface, 2D / 3D graphics, documents and media.

[0031] The following describes routed events. WPF uses Extensible Application Markup Language (XAML) files to organize user interface (UI) elements into a tree structure. This tree of UI elements builds the overall interface. UI elements communicate with each other through events to achieve UI rendering. WPF has two event models: Common Language Runtime (CLR) events and WPF-era routed events. Route events are a unique messaging mechanism in WPF.

[0032] On the one hand, in the traditional CLR event mechanism, event initiators and receivers are closely linked and difficult to decouple. If events are used to pass messages, events must be defined hierarchically and nested level by level, which is cumbersome and difficult to manage. On the other hand, in the routed event mechanism, a routed event is an event that can call handlers for multiple listeners in the element tree (rather than just the object that caused the event). The commonly used routing strategy is the bubble routing strategy, which propagates from the event trigger location along the UI element tree to the parent element, and each element can process the received event.

[0033] The routed event mechanism solves the problem of the initiator and receiver of the CRL event mechanism being closely related and the redundant event nesting problem during message transmission. At the same time, routed events have other advantages:

[0034] It can record the routing sequence of routed events from the trigger point to the event processing node, enabling event propagation tracking. Furthermore, it can flexibly control the message propagation process. Once an event is processed by a UI element node, that node can decide whether the event continues to propagate and whether other nodes should continue processing it. Of course, whether it is the CRL event mechanism or the routed event mechanism, the event mechanism is closely related to the UI element node, which also leads to a high degree of coupling between the business logic of event processing on UI elements. To achieve decoupling of the UI interface and business logic, the MVVM (Model-View-ViewModel) design pattern was introduced.

[0035] The following explains MVVM. MVVM is a product of Microsoft's WPF technology. It is a new architectural framework that evolved from the MVP (Model-View-Presenter) pattern combined with WPF. MVVM abstracts the state and behavior of the page rendering container (View), separating the UI from the business logic, thereby implementing a data-driven architecture.

[0036] The MVVM pattern structure is as follows Figure 1 As shown, the page rendering container (View) is used to render the UI control element interface. The corresponding file type is XAML, which provides element layout for data rendering.

[0037] Among them, the data carrying container (ViewModel) is responsible for loading data logic. View and ViewModel directly bind page elements to ViewModel public properties through the data binding mechanism. View property changes are directly transmitted to ViewModel. Changes in ViewModel variables themselves are determined by property notifications to determine View data changes and update UI elements, thereby realizing two-way data binding.

[0038] Events in the View are converted into public property objects in the ViewModel through WPF's CommandBinding mechanism, inheriting the ICommand interface. This transfers the View event business logic to the ViewModel, separating the event logic from the UI. The ViewModel directly calls these events during the implementation of the underlying business logic.

[0039] The following describes event message transmission and subscription between UI components. When the MVVM design pattern is used to implement the UI system, it is necessary to implement message transmission for multiple View combinations so that messages can be propagated in each View or sub-page rendering container (Subview) to achieve the rendering of control elements in different UI areas.

[0040] There are two scenarios where view combinations require event messaging between Views:

[0041] One is to combine multiple views to form a system function page, such as Figure 2 As shown in FIG, the process of transmitting notification event messages between brother combination page messages is shown. Another process of transmitting notification event messages between child view and parent view is shown in FIG. Figure 3 As shown, a parent-child combination page message is shown.

[0042] The notification event routing method provided by the embodiment of the present invention can be applied to at least the following application scenarios, which are described below.

[0043] To achieve a complete separation between the UI interface and business logic, the MVVM design pattern implements a data-driven mechanism. Data changes trigger event handling at the ViewModel layer. The ViewModels of other Views then subscribe to these events to propagate notification messages through the ViewModel layer, thereby modifying the display of each View's visual elements. Current technical solutions typically separate the event handling mechanism into a separate registration and reception module for event handling, decoupling the event handling module from other modules. When a module needs to monitor an event, it registers for an event handler. When other modules send messages, the registered module receives the message, thus processing the event. This event messaging mechanism is a general-purpose messaging mechanism based on a container (implemented via a dictionary or hash table) that enables ViewModel-based message registration, sending, and receiving. Under the MVVM design pattern, data changes drive the event triggering process. Notification events propagate through the collection of registered ViewModels. The ViewModel that receives the message checks whether a handler exists for the event. If so, it activates its own handler function to handle the event.

[0044] The event registration processing mechanism in the current technical solution specifically includes: receiving a registration message; registering a message based on information such as the received entity, message token, and message type; determining whether the message type exists in the dictionary; if so, searching for a message processing queue based on the message type and obtaining the queue; if not, creating a message processing queue based on the message type and obtaining the queue; finally, saving the instance of the message recipient, the message token, and the message processing function to the processing queue of the message type, and storing the message registration in a dictionary or hash table.

[0045] The event sending and receiving processing mechanism in the current technical solution specifically includes: sending a message; sending a message based on the message type or the message target receiver type; checking whether the message type exists in the registration storage; if so, obtaining the message processing queue of this type; if not, ending; then, checking from the processing queue whether it is necessary to determine the type of receiver who directly receives the message; if so, obtaining the message processing queue based on the receiver type and executing message processing; if not, obtaining all message processing functions corresponding to the message type and executing message processing.

[0046] Therefore, the current technical solution cannot, first, achieve flexible control over the message propagation and processing within the view tree. Second, it cannot obtain information about the message routing nodes during the message sending process. Finally, the order in which message notification events are received in the receiving ViewModel container is also disordered, which may cause other pages to receive the message before the adjacent related page. In some scenarios, this can lead to message transmission delays, causing the adjacent parent page to not update data while other, less closely related pages update and display data first.

[0047] Based on the above application scenarios, combined with Figure 4 First, the ViewModel event mechanism based on routing strategy provided by an embodiment of the present invention is described. By completely mapping the nested relationship between View and sub-views to the nested relationship between ViewModel and sub-ViewModel, through the data-driven mechanism, when data changes, ViewModel1.1.1 activates the notification event. At the same time, ViewModel1.1.1 decides whether to process it and whether to propagate it to ViewModel1.1. The notification event propagates upward along the ViewModel tree, and the system records the routing nodes along the notification event path.

[0048] Here, based on the MVVM design pattern, there is a one-to-one correspondence between View and ViewModel. View forms the user interface through combination and nesting. The routing message event of WPF technology adopts the bubbling routing strategy, that is, through View1.1.1 (such as Figure 4 As shown in the figure, the event is triggered and propagated to the parent View1.1 (or even higher parent view levels). After receiving the message event, the higher parent determines whether its own view needs to respond to the message event in order to re-render other interface elements in its own interface, and propagates to higher nodes in turn like bubbles.

[0049] Therefore, based on the implementation principle of WPF's routing message mechanism, the ViewModel corresponding to the View is also combined through the design concept to form a tree structure of the ViewModel. In this way, the bubbling routing strategy of WPF's routing message events can be transplanted to the ViewModel data layer, thereby realizing the propagation of message events under the ViewModel, thereby realizing the separation of business logic and UI.

[0050] Based on the above application scenario, the routing method of notification events provided by an embodiment of the present invention is described in detail below.

[0051] Figure 5 The present invention provides a flowchart of a method for routing notification events.

[0052] like Figure 5As shown, the routing method of the notification event may include steps 510 to 550, and the method is applied to a data processing device, as shown below:

[0053] Step 510: Monitor the variable status of the variables in the target system through N-level data carrying containers, where N is an integer greater than 1.

[0054] Step 520: When it is detected that the variable state meets the preset condition, a notification event is triggered.

[0055] Step 530: The notification event is transferred to the N-1 level data carrying container, and the N-1 level data carrying container processes the notification event; the N-1 level data carrying container corresponds to at least one N level data carrying container.

[0056] Step 540: When the N-1 level data bearing container completes processing the notification event, the notification event is delivered to the first level data bearing container step by step.

[0057] Step 550: broadcast a notification event to each data bearing container via the first-level data bearing container.

[0058] In the routing method for notification events provided by the present invention, the variable status of the variable in the target system is monitored through an N-level data carrier container. When it is detected that the variable status meets the preset conditions, a notification event is triggered and the notification event is passed to the N-1-level data carrier container, which processes the notification event. The N-1-level data carrier container corresponds to at least one N-level data carrier container. Here, the N-1-level data carrier container can uniformly process the notification events passed from at least one N-level data carrier container, reducing the code duplication rate and the coupling degree of different pages in the system. When the N-1-level data carrier container completes the processing of the notification event, the notification event is passed step by step to the first-level data carrier container; by broadcasting the notification event to each data carrier container through the first-level data carrier container, the notification event can be quickly and efficiently conveyed to the data carrier containers of the entire system.

[0059] The contents of steps 510 to 550 are described below:

[0060] Involved is step 510 .

[0061] Step 510: Monitor the variable status of the variables in the target system through N-level data carrying containers, where N is an integer greater than 1.

[0062] The N-level data container is a child data container in the target system, where N is an integer greater than 1, i.e., N is 2, 3, ..., etc. The N-level data container is a child of the N-1-level data container, and the N-1-level data container is a parent of the N-level data container.

[0063] In a possible embodiment, before step 510, the method further includes:

[0064] Build a routing mechanism for notification events in the target system.

[0065] The process of constructing the routing event mechanism is completed in the process of creating the child ViewModel from the parent ViewModel based on the routing strategy.

[0066] The routing mechanism of notification events, that is, the sending and receiving processing of notification events, mainly includes two aspects: on the one hand, the message delivery and event reception processing of the bubbling strategy; on the other hand, the broadcasting of notification events at the Root node of the ViewModel tree, so that the message propagates to the nodes in the entire tree and allows each node to respond.

[0067] The above-mentioned steps of constructing a routing mechanism for notification events in the target system may specifically include the following steps:

[0068] Corresponding to the view layer structure of the first-level view layer to the N-level view layer in the user interface, data carrying containers of various levels from the first-level data carrying container to the N-level data carrying container are created in sequence, and each data carrying container from the first-level data carrying container to the N-1-level data carrying container corresponds to at least one next-level data carrying container;

[0069] The data carrying containers at each level subscribe to the notification events delivered by the data carrying containers at the next level, forming a routing mechanism for notification events.

[0070] Corresponding to the view layer structure from the first-level view layer to the N-level view layer in the user interface, data carrying containers at each level from the first-level data carrying container to the N-level data carrying container are created in sequence, notification event routing is created, the parent ViewModel (N-1 level data carrying container) creates a child ViewModel (N level data carrying container), and adds the child ViewModel to the parent ViewModels collection. This cycle is repeated until the routing notification event mechanism design is completed. Therefore, each level of data carrying container from the first-level data carrying container to the N-1 level data carrying container corresponds to at least one next-level data carrying container.

[0071] The data-carrying containers at each level subscribe to the notification events delivered by the data-carrying containers at the next level, that is, the parent ViewModel subscribes to the propagation notification events of the child ViewMoel, forming a routing mechanism for notification events. Thus, through the parent-child nested association, a ViewModel tree creation cycle is formed, completing the parent node's subscription to the child node's message notification events, thus forming an event bubbling strategy.

[0072] Involved in step 520.

[0073] Step 520: When it is detected that the variable state meets the preset condition, a notification event is triggered.

[0074] In a possible embodiment, after step 520, the following steps may be further included:

[0075] Determine whether the N-level data carrier container needs to process the notification event;

[0076] If not, executing the step of delivering the notification event to the N-1 level data bearing container, and having the N-1 level data bearing container process the notification event;

[0077] If necessary, the N-level data carrying container processes the notification event and further determines whether the notification event needs to be passed to the N-1-level data carrying container. If necessary, the steps of passing the notification event to the N-1-level data carrying container and having the N-1-level data carrying container process the notification event are executed.

[0078] In response to detecting that the variable state meets the preset conditions, a notification event is triggered, and then the N-level data-carrying container (child ViewModel) determines whether to process the notification event by itself. If the child ViewModel determines that it does not need to process it by itself, it executes the step of passing the notification event to the N-1-level data-carrying container, and the N-1-level data-carrying container processes the notification event. If the child ViewModel determines that it needs to process it by itself, the child ViewModel executes the processing of the notification event, and further determines whether it needs to pass the notification event to the N-1-level data-carrying container. If necessary, it executes the step of passing the notification event to the N-1-level data-carrying container, and the N-1-level data-carrying container processes the notification event. In this way, flexible control of the processing process of the notification event can be achieved.

[0079] The preset condition includes a first sub-preset condition, wherein the aforementioned processing of the notification event by the N-level data bearing container and further determining whether the notification event needs to be delivered to the N-1-level data bearing container include:

[0080] When the variable state satisfies the first sub-preset condition, the N-level data bearing container determines that the notification event needs to be delivered to the N-1-level data bearing container;

[0081] When the variable state does not satisfy the first sub-preset condition, the N-level data bearing container determines that it is not necessary to transmit the notification event to the N-1-level data bearing container.

[0082] For example, when a variable state satisfies a preset condition, the third-level page (N-level data container) triggers a notification event. The third-level page (N-level data container) then needs to further determine whether to pass the notification event to the N-1-level data container. Specifically, during the processing, the third-level page (N-level data container) determines whether to pass the notification event to the second-level page (N-1-level data container) by determining the variable state. This allows the control software subpage to determine whether to send a notification message and whether to request the parent page to perform UI rendering in conjunction with changes in component state variables.

[0083] The variable is a process parameter, the variable state is the parameter value, and the preset condition is that the parameter value is within a preset parameter range. The preset parameter range includes an upper limit and a lower limit. The steps of processing the notification event by the N-level data carrier container and further determining whether to transmit the notification event to the N-1-level data carrier container may specifically include the following steps:

[0084] When the parameter value is less than the lower limit of the interval, the N-level data bearing container determines that the notification event needs to be delivered to the N-1-level data bearing container; when the parameter value is not less than the lower limit of the interval, the N-level data bearing container determines that the notification event does not need to be delivered to the N-1-level data bearing container; or

[0085] When the parameter value is greater than the upper limit of the interval, the N-level data bearing container determines that the notification event needs to be delivered to the N-1-level data bearing container; when the parameter value is not greater than the upper limit of the interval, the N-level data bearing container determines that the notification event does not need to be delivered to the N-1-level data bearing container; or

[0086] When the change in the parameter value is greater than the preset change threshold, the N-level data carrying container determines that the notification event needs to be passed to the N-1-level data carrying container; when the change in the parameter value is not greater than the preset change threshold, the N-level data carrying container determines that the notification event does not need to be passed to the N-1-level data carrying container.

[0087] For example, the target system can be used to record the temperature parameters of wafers in a process chamber. Specifically, the variable is the temperature parameter, and the variable state is the temperature value. When the temperature value reaches a threshold, a message notification is sent to alert the user. The thresholds are divided into warning thresholds and error thresholds. Warning thresholds only require the user to be aware of them and do not require equipment inspection; error thresholds require the user to inspect the equipment.

[0088] like Figure 7As shown below: Now suppose a third-level page is responsible for recording temperature values ​​and sending a notification when a warning threshold is reached. A second-level page (containing a list control) within this third-level page stores notification messages. If the temperature exceeds the warning threshold, the second-level page only stores the notification message; this notification message does not need to be sent to the main page. If the temperature exceeds the error threshold, the second-level page not only stores the message but also sends a notification to the first-level data container, which receives and processes the message.

[0089] This involves step 530 .

[0090] Step 530: The notification event is transferred to the N-1 level data carrying container, and the N-1 level data carrying container processes the notification event; the N-1 level data carrying container corresponds to at least one N level data carrying container.

[0091] The parent ViewModel propagates itself as a child ViewModel to its parent ViewModel and processes it.

[0092] For example, the target system, such as the control system, usually adopts a three-level navigation mode. The notification event "Message 1" is triggered from the bottom two pages (third-level pages). The page that triggers the notification event does not process it, and the second-level page uniformly processes the message. At the same time, after processing, the message is passed to the root page. When the message notification reaches the root page (the page corresponding to the first-level data container), the message can be broadcast to other pages in a broadcast manner, such as Figure 6 As shown:

[0093] "Message 1" is triggered from two third-level pages. The third-level page does not need to receive and process the message, but throws the message to the second-level page. The second-level page uses a unified processing function to receive "Message 1". The message processing function does not need to be distributed on the page that triggers the message for separate processing, thereby reducing code duplication and decoupling message sending and message processing from the page level.

[0094] It should be noted that since the View tree and the ViewModel tree have a one-to-one correspondence, this article uses the page-level View tree to explain the message passing process of the data-level ViewModel tree to make it easier to understand the message passing process.

[0095] Here, two third-level pages send the same message, which is received and processed by the parent (second-level page), requiring only one processing step. This implements a more flexible control mechanism for UI notification event propagation and event processing.

[0096] In this way, the coupling between the event trigger source and the processing process is avoided, and the message can be routed to the parent level, which is then responsible for unified processing by the parent level (N-1 level data carrier container), reducing the duplication and dispersion of message processing logic code and improving code quality.

[0097] This involves step 540 .

[0098] Step 540: When the N-1 level data bearing container completes processing the notification event, the notification event is delivered to the first level data bearing container step by step.

[0099] In a possible embodiment, step 540 may specifically include the following steps:

[0100] Each level of data carrying container between the N-level data carrying container and the first-level data carrying container determines in turn whether it is necessary to transmit a notification event to the first-level data carrying container, and transmits the notification event to the first-level data carrying container only when necessary.

[0101] For example, a third-level page sends a message, and the second-level page (data container at each level) receives and processes the message. During the processing, it determines whether to continue to propagate the message to the first-level page (the data container at the previous level of each level) by judging the surrounding environmental variables. Whether to propagate the message is dynamically determined based on the environmental parameters of the surrounding current target system. It is possible to control the software sub-page to determine whether to send a notification message and whether to request the parent page to link UI rendering according to the changes in component state variables.

[0102] The preset condition includes a second sub-preset condition, wherein the data carrying containers of each level from the N-level data carrying container to the first-level data carrying container sequentially determine whether a notification event needs to be transmitted to the data carrying container of the next level, including:

[0103] When the variable state satisfies the second sub-preset condition, the data carrying containers at each level determine that a notification event needs to be transmitted to the data carrying container at the next level;

[0104] When the variable state does not satisfy the second sub-preset condition, the data bearing containers at each level determine that there is no need to transmit the notification event to the data bearing container at the next level.

[0105] The variable is a process parameter, the variable state is a parameter value, the preset condition is that the parameter value is within a preset parameter range, and the preset parameter range includes an upper limit and a lower limit. The data carrying containers at each level between the N-level data carrying container and the first-level data carrying container sequentially determine whether it is necessary to transmit a notification event to the first-level data carrying container, and transmit the notification event to the first-level data carrying container only when necessary. The following steps may be specifically included:

[0106] When the parameter value is less than the lower limit of the interval, the data carrying containers at each level pass the notification event to the data carrying container at the next level; or,

[0107] When the parameter value is greater than the upper limit of the interval, the data carrying containers at each level pass the notification event to the data carrying container at the next level; or

[0108] When the change in the parameter value is greater than a preset change threshold, the data bearing containers at each level transmit the notification event to the data bearing container at the next level above.

[0109] For example, the target system can be used to record the cumulative number of wafers processed in a process chamber, with the variable state being the wafer count. When the count reaches a threshold, a notification message is displayed to prompt the user to issue a warning or replace hardware that has reached its service life. The thresholds are divided into warning thresholds and error thresholds. Warning thresholds only require the user to be aware of the warning and do not require hardware replacement; error thresholds require the user to replace hardware.

[0110] like Figure 7 As shown below: Now assume that the third-level page is responsible for recording the cumulative value of wafer processing and sending a message when the warning threshold is reached. The second-level page (containing a list control) of this third-level page is used to store notification messages. If the cumulative value of the wafer processing exceeds the warning threshold, the second-level page only stores the notification message, and this notification message does not need to be sent to the main page. If the cumulative value of the wafer processing exceeds the error threshold, the second-level page not only stores the message but also sends a notification to the first-level data container so that the first-level data container receives the message and notifies the user in a prominent position on the main page corresponding to the first-level data container.

[0111] Therefore, each level of data carrier container determines in turn whether it is necessary to pass a notification event to the data carrier container of the next higher level, and only passes the notification event to the data carrier container of the next higher level when necessary. This can flexibly and dynamically control whether the message is propagated upward, avoiding resource loss caused by the mass sending of useless messages.

[0112] Step 540 may specifically include the following steps:

[0113] In response to detecting that the notification event is delivered, a delivery path in which the notification event is delivered step by step to the primary data bearing container is recorded.

[0114] Specifically, if a navigation message event is triggered from the innermost ViewModel, the message will be passed from the triggered ViewModel to the upper-level ViewModel, and finally to the root node ViewModel. Since there is a corresponding relationship between ViewModel and View, the complete transmission path from View (N-level data carrier container) to root View (first-level data carrier container) can be obtained, thereby realizing the recording of the transmission path from child page to parent page in the data layer through ViewModel. Based on the message routing mechanism, the complete path from child view to parent view can be dynamically obtained by sending a navigation notification message through the child view corresponding to the N-level data carrier container, without occupying system resources for a long time.

[0115] Therefore, by responding to the detection of the notification event being delivered and recording the transmission path of the notification event being delivered step by step to the first-level data carrying container, the implementation logic of the navigation function is simplified. As the notification event is delivered, the transmission path of the notification event being delivered step by step to the first-level data carrying container can be automatically recorded, reducing the memory occupied by each navigation node (each level of data carrying container) to store the entire navigation path, saving system resources.

[0116] This involves step 550 .

[0117] Step 550: broadcast a notification event to each data bearing container via the first-level data bearing container.

[0118] In a possible embodiment, step 550 may specifically include the following steps:

[0119] According to the transmission path, it is determined whether the data carrying containers at each level from the first-level data carrying container to the N-level data carrying container need to process the notification event. If necessary, the data carrying containers at each level process the notification event.

[0120] In the process of broadcasting the notification event to each data bearing container through the first-level data bearing container, it can be determined based on the transmission path whether at least one data bearing container between the second-level data bearing container and the N-level data bearing container needs to process the notification event.

[0121] The above-mentioned step of determining whether the first-level data carrying container, the N-level data carrying container, and the data carrying containers at all levels therebetween need to process the notification event according to the transmission path may specifically include the following steps:

[0122] For any data carrying container, if the data carrying container is in the transmission path, the notification event does not need to be processed; if the data carrying container is not in the transmission path, the notification event needs to be processed.

[0123] For any data container, if the data container is in the delivery path, it means that the data container is a node ViewModel through which the notification event is propagated to the root ViewModel, i.e. if a node ViewModel is any data container that undertakes the delivery step in the previous delivery path, the ViewModel will not process the event, but only propagate the notification event to the child ViewModels until the notification event is broadcast to each child ViewModel, and then the broadcast process of the notification event is completed.

[0124] For any data container, if the data container is not in the delivery path, it means that the data container is not a node through which the notification event is propagated to the root ViewModel, and the notification event needs to be processed. That is, if a node ViewModel does not undertake the delivery step in the previous delivery path, the data container can choose to process the notification event.

[0125] In summary, in the embodiment of the present application, the variable state of the variable in the target system is monitored by the N-level data container, and when it is detected that the variable state meets the preset condition, the notification event is triggered and delivered to the N-1-level data container, and the notification event is processed by the N-1-level data container. The N-1-level data container corresponds to at least one N-level data container. Here, the N-1-level data container can uniformly process the notification event delivered by at least one N-level data container, reducing the code repetition rate and reducing the coupling degree of different pages in the system. In the case where the N-1-level data container completes the processing of the notification event, the notification event is delivered to the one-level data container step by step; through the one-level data container, the notification event is broadcast to each data container, which can quickly and efficiently convey the notification event to the data container of the whole system.

[0126] Based on the above Figure 5 The notification event routing method shown in the figure, the present application further provides a kind of implementation notification event routing method, Figure 8 A flow chart of the implementation notification event routing method provided by the embodiment of the present application.

[0127] Wherein, detailed notification sending and receiving process as shown in Figure 8 As shown in

[0128] Step 810, the child ViewModel activates the notification event according to the data change.

[0129] Step 820, the child ViewModel judges whether it needs to execute the processing process, if the child ViewModel needs to execute the processing, executes the processing step 830; otherwise, executes step 840.

[0130] In step 830, the child ViewModel performs event processing. After processing is completed, it determines whether to continue to propagate to the parent ViewModel. If "yes", step 840 is executed. If not, the message processing ends.

[0131] Step 840: The event is propagated to the parent ViewModel, and the propagation routing node is recorded.

[0132] In step 850 , the parent ViewModel propagates itself as a child ViewModel to its parent ViewModel and processes it, and repeats steps 810 to 840 .

[0133] Step 860: When the notification event propagates to the root node ViewModel, the root node can initiate a broadcast notification event command (optional).

[0134] Step 870: broadcast the event to each node in the ViewModel via broadcasting.

[0135] Determine whether the notification event reaches the node to which the notification event is delivered in the bubbling strategy. If so, execute step 890; if not, execute step 880.

[0136] In step 880, each child ViewModel may choose to receive the event and process it accordingly.

[0137] In step 890, if a certain node ViewModel is a path node for the previous notification event to propagate to the root ViewModel, then the ViewModel will not process the event and will only propagate the notification event downward to the child ViewModel.

[0138] Until it is broadcast to each child ViewModel, the broadcast process of the notification event is completed.

[0139] In summary, in an embodiment of the present invention, a mechanism similar to message routing events that is closer to WPF is used to meet the complex scenarios of semiconductor control software interface state control. First, the control flexibility of the message notification propagation and processing process is achieved, reducing the coupling between the trigger source of the notification message and the processing process. The message can be routed to the parent, and the parent is responsible for unified processing, reducing the duplication and dispersion of message processing logic code. Secondly, the problem of obtaining routing node information in the message sending process is solved, and at the same time, the message transmission is orderly propagated according to the routing order, avoiding disorderly reception by the message recipient. Finally, the routing message mechanism also simplifies the navigation function implementation logic, reduces the problem of navigation nodes storing all navigation paths occupying memory, and saves system resources. As a result, not only is the data-driven architecture of the UI interface of the semiconductor control software implemented under WPF technology improved, but the MVVM design pattern and the message routing mechanism are more effectively integrated to enhance the flexibility of event message processing.

[0140] It should be noted that for the sake of simplicity, the method embodiments are described as a series of actions. However, those skilled in the art should be aware that the embodiments of the present invention are not limited by the order of the actions described, because according to the embodiments of the present invention, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in this specification are all preferred embodiments, and the actions involved are not necessarily required by the embodiments of the present invention.

[0141] Reference Figure 9 , shows a structural block diagram of a semiconductor process equipment according to an embodiment of the present invention, the semiconductor process equipment 910 includes:

[0142] The controller 911 is configured to monitor the variable status of the variables in the target system through N-level data carrying containers, where N is an integer greater than 1;

[0143] When the variable status meets the preset conditions, a notification event is triggered;

[0144] The notification event is passed to the N-1 level data carrying container, and the N-1 level data carrying container processes the notification event; the N-1 level data carrying container corresponds to at least one N level data carrying container;

[0145] When the N-1 level data bearing container completes processing of the notification event, the notification event is passed to the first level data bearing container step by step;

[0146] The notification event is broadcast to each data bearing container through the first-level data bearing container.

[0147] In an optional embodiment of the present invention, the controller is further configured to:

[0148] Determine whether the N-level data carrier container needs to process the notification event;

[0149] If not, executing the step of delivering the notification event to the N-1 level data bearing container, and having the N-1 level data bearing container process the notification event;

[0150] If necessary, the N-level data carrying container processes the notification event and further determines whether the notification event needs to be passed to the N-1-level data carrying container. If necessary, the steps of passing the notification event to the N-1-level data carrying container and having the N-1-level data carrying container process the notification event are executed.

[0151] In an optional embodiment of the present invention, the controller is specifically configured to:

[0152] Each level of data carrying container between the N-level data carrying container and the first-level data carrying container determines in turn whether it is necessary to transmit a notification event to the first-level data carrying container, and transmits the notification event to the first-level data carrying container only when necessary.

[0153] In an optional embodiment of the present invention, the controller is specifically configured to:

[0154] In response to detecting that the notification event is delivered, a delivery path in which the notification event is delivered step by step to the primary data bearing container is recorded.

[0155] In an optional embodiment of the present invention, the controller is specifically configured to:

[0156] According to the transmission path, it is determined whether the data carrying containers at each level from the first-level data carrying container to the N-level data carrying container need to process the notification event. If necessary, the data carrying containers at each level process the notification event.

[0157] In an optional embodiment of the present invention, the controller is specifically configured to:

[0158] For any data carrying container, if the data carrying container is in the transmission path, the notification event does not need to be processed; if the data carrying container is not in the transmission path, the notification event needs to be processed.

[0159] In an optional embodiment of the present invention, the controller is further configured to:

[0160] Build a routing mechanism for notification events in the target system.

[0161] In an optional embodiment of the present invention, the controller is specifically configured to:

[0162] Corresponding to the view layer structure of the first-level view layer to the N-level view layer in the user interface, data carrying containers of various levels from the first-level data carrying container to the N-level data carrying container are created in sequence, and each data carrying container from the first-level data carrying container to the N-1-level data carrying container corresponds to at least one next-level data carrying container;

[0163] The data carrying containers at each level subscribe to the notification events delivered by the data carrying containers at the next level, forming a routing mechanism for notification events.

[0164] In an optional embodiment of the present invention, the controller is specifically configured to:

[0165] When the variable state satisfies the first sub-preset condition, the N-level data bearing container determines that the notification event needs to be delivered to the N-1-level data bearing container;

[0166] When the variable state does not satisfy the first sub-preset condition, the N-level data bearing container determines that it is not necessary to transmit the notification event to the N-1-level data bearing container.

[0167] In an optional embodiment of the present invention, the controller is specifically configured to:

[0168] When the variable state satisfies the second sub-preset condition, the data carrying containers at each level determine that a notification event needs to be transmitted to the data carrying container at the next level;

[0169] When the variable state does not satisfy the second sub-preset condition, the data bearing containers at each level determine that there is no need to transmit the notification event to the data bearing container at the next level.

[0170] Among them, the variable is the process parameter, the variable state is the parameter value, and the preset condition is that the parameter value is within the preset parameter range.

[0171] In summary, in an embodiment of the present invention, the variable status of a variable in a target system is monitored through an N-level data carrier container. In response to detecting that the variable status meets a preset condition, a notification event is triggered, and the notification event is passed to the N-1-level data carrier container, which processes the notification event. The N-1-level data carrier container corresponds to at least one N-level data carrier container. Here, the N-1-level data carrier container can uniformly process the notification event passed from at least one N-level data carrier container, reducing code duplication and lowering the coupling between different pages in the system. When the N-1-level data carrier container completes processing the notification event, the notification event is passed step by step to the first-level data carrier container. By broadcasting the notification event to each data carrier container through the first-level data carrier container, the notification event can be quickly and efficiently conveyed to the data carrier containers of the entire system.

[0172] As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0173] An embodiment of the present invention also provides an electronic device, comprising: a processor, a memory, and a computer program stored in the memory and capable of running on the processor. When the computer program is executed by the processor, the various processes of the above-mentioned routing method embodiment of a notification event are implemented, and the same technical effect can be achieved. To avoid repetition, it will not be repeated here.

[0174] An embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the various processes of the above-mentioned routing method embodiment of a notification event are implemented, and the same technical effect can be achieved. To avoid repetition, it will not be repeated here.

[0175] As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0176] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.

[0177] Those skilled in the art will appreciate that embodiments of the present invention may be provided as methods, apparatus, or computer program products. Thus, embodiments of the present invention may take the form of a fully hardware embodiment, a fully software embodiment, or an embodiment combining software and hardware. Furthermore, embodiments of the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0178] The embodiments of the present invention are described with reference to the flowcharts and / or block diagrams of the methods, terminal devices (systems), and computer program products according to the embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of the processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing terminal device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing terminal device generate instructions for implementing the process in the flowchart and / or block diagram. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0179] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing terminal device to operate in a specific manner, so that the instructions stored in the computer readable memory produce a manufactured product including an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.

[0180] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal device so that a series of operating steps are executed on the computer or other programmable terminal device to produce a computer-implemented process, thereby providing instructions for executing on the computer or other programmable terminal device to implement the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0181] Although the preferred embodiments of the present invention have been described, those skilled in the art may make additional changes and modifications to these embodiments once they become aware of the basic creative concepts. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the embodiments of the present invention.

[0182] Finally, it should be noted that, in this document, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or terminal device that includes a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or terminal device. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of additional identical elements in the process, method, article, or terminal device that includes the element.

[0183] The above is a detailed introduction to a routing method for notification events and a semiconductor process equipment provided by the present invention. Specific examples are used herein to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only used to help understand the method of the present invention and its core idea. At the same time, for those skilled in the art, according to the ideas of the present invention, there will be changes in the specific implementation methods and application scopes. In summary, the content of this specification should not be understood as limiting the present invention.

Claims

1. A routing method for notification events, applied to semiconductor process equipment, characterized in that: The method comprises: Monitoring the variable status of variables in the target system through N-level data bearing containers, where N is an integer greater than 1, and the data bearing containers are responsible for data logic loading; When it is detected that the variable state meets the preset condition, a notification event is triggered; The notification event is delivered to the N-1 level data bearing container, and the N-1 level data bearing container processes the notification event; the N-1 level data bearing container corresponds to at least one N level data bearing container; When the N-1-level data bearing container completes processing of the notification event, the notification event is delivered to the first-level data bearing container step by step; broadcasting the notification event to each of the data bearing containers through the primary data bearing container; The step of delivering the notification event to the first-level data bearing container step by step includes: Each level of data bearing container between the N-level data bearing container and the first-level data bearing container sequentially determines whether it is necessary to transmit the notification event to the upper-level data bearing container, and transmits the notification event to the upper-level data bearing container only when necessary; The broadcasting of the notification event to each of the data bearing containers through the primary data bearing container includes: According to the transmission path, it is determined whether the data carrying containers at each level from the first-level data carrying container to the N-level data carrying container need to process the notification event. If necessary, the data carrying containers at each level process the notification event.

2. The method according to claim 1, characterized in that After triggering a notification event when it is detected that the variable state meets a preset condition, the method further includes: Determining whether the N-level data carrying container needs to process the notification event; If not, executing the step of transferring the notification event to the N-1 level data bearing container, and having the N-1 level data bearing container process the notification event; If necessary, the N-level data carrying container processes the notification event and further determines whether it is necessary to pass the notification event to the N-1-level data carrying container. If necessary, the steps of passing the notification event to the N-1-level data carrying container and having the N-1-level data carrying container process the notification event are executed.

3. The method according to claim 1, characterized in that When the N-1-level data bearing container completes processing of the notification event, the notification event is delivered to the first-level data bearing container step by step, including: In response to detecting that the notification event is delivered, a delivery path of the notification event to the first-level data bearing container is recorded.

4. The method according to claim 3, characterized in that The determining, based on the transmission path, whether the first-level data carrying container, the N-level data carrying container, and the data carrying containers at each level therebetween need to process the notification event includes: For any of the data carrying containers, if the data carrying container is in the transmission path, it is not necessary to process the notification event; if the data carrying container is not in the transmission path, it is necessary to process the notification event.

5. The method according to claim 1, wherein Before monitoring the variable status of the variable in the target system through the N-level data carrying container, the method further includes: Construct a routing mechanism for the notification event in the target system.

6. The method according to claim 5, characterized in that The constructing of a routing mechanism for the notification event in the target system includes: Corresponding to the view layer structure of the first-level view layer to the N-level view layer in the user interface, data carrying containers of each level from the first-level data carrying container to the N-level data carrying container are sequentially created, and each level of the data carrying container from the first-level data carrying container to the N-1-level data carrying container corresponds to at least one data carrying container of the next lower level; The data carrying containers at each level are enabled to subscribe to the notification events transmitted by the data carrying containers at the next level, thereby forming a routing mechanism for the notification events.

7. The method according to claim 2, characterized in that The preset condition includes a first sub-preset condition, wherein the N-level data bearing container processes the notification event and further determines whether the notification event needs to be transferred to the N-1-level data bearing container, including: When the variable state satisfies the first sub-preset condition, the N-level data carrying container determines that the notification event needs to be delivered to the N-1-level data carrying container; When the variable state does not satisfy the first sub-preset condition, the N-level data carrying container determines that it is not necessary to transmit the notification event to the N-1-level data carrying container.

8. The method according to claim 3, characterized in that The preset condition includes a second sub-preset condition, wherein each level of data carrying container from the N-level data carrying container to the first-level data carrying container sequentially determines whether it is necessary to transmit the notification event to the next-level data carrying container, including: When the variable state satisfies the second sub-preset condition, the data carrying containers at each level determine that the notification event needs to be transmitted to the data carrying container at the next level; When the variable state does not satisfy the second sub-preset condition, the data carrying containers at each level determine that it is not necessary to transmit the notification event to the data carrying container at the next level.

9. The method according to any one of claims 1 to 8, characterized in that The variable is a process parameter, the variable state is a parameter value, and the preset condition is that the parameter value is within a preset parameter range.

10. A semiconductor process equipment, characterized in that: The semiconductor process equipment includes a controller; The controller is used to monitor the variable status of variables in the target system through N-level data carrying containers, where N is an integer greater than 1. The data carrying container is ViewModel, which is responsible for data logic loading; The controller is configured to trigger a notification event when detecting that the variable state meets a preset condition; The controller is used to transmit the notification event to the N-1 level data carrying container, and the N-1 level data carrying container processes the notification event; the N-1 level data carrying container corresponds to at least one N level data carrying container; The controller is configured to transfer the notification event to the first-level data bearing container step by step when the N-1-level data bearing container completes processing of the notification event; The step of delivering the notification event to the first-level data bearing container step by step includes: Each level of data bearing container between the N-level data bearing container and the first-level data bearing container sequentially determines whether it is necessary to transmit the notification event to the upper-level data bearing container, and transmits the notification event to the upper-level data bearing container only when necessary; The controller is configured to broadcast the notification event to each of the data bearing containers through the primary data bearing container; The broadcasting of the notification event to each of the data bearing containers through the primary data bearing container includes: According to the transmission path, it is determined whether the data carrying containers at each level from the first-level data carrying container to the N-level data carrying container need to process the notification event. If necessary, the data carrying containers at each level process the notification event.

Citation Information

Patent Citations

  • Data updating method and device

    CN106302008A

  • Page component modification method and device

    CN108762753A