CN110488714B - Asynchronous state machine control method and device - Google Patents

Asynchronous state machine control method and device Download PDF

Info

Publication number
CN110488714B
CN110488714B CN201910816660.XA CN201910816660A CN110488714B CN 110488714 B CN110488714 B CN 110488714B CN 201910816660 A CN201910816660 A CN 201910816660A CN 110488714 B CN110488714 B CN 110488714B
Authority
CN
China
Prior art keywords
state
state machine
asynchronous
target state
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910816660.XA
Other languages
Chinese (zh)
Other versions
CN110488714A (en
Inventor
贺坤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN201910816660.XA priority Critical patent/CN110488714B/en
Publication of CN110488714A publication Critical patent/CN110488714A/en
Application granted granted Critical
Publication of CN110488714B publication Critical patent/CN110488714B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25257Microcontroller

Abstract

The embodiment of the invention discloses an asynchronous state machine control method and device, wherein the method comprises the following steps: monitoring whether the target state changes; when the target state changes, the asynchronous structure body triggers a state machine containing the target state; wherein the asynchronous structure is created in advance, and the state machine containing the target state is registered in advance in the asynchronous structure; the state machine containing the target state performs the computation. According to the technical scheme provided by the invention, all related state machines share one asynchronous callback function, and when one state changes, the asynchronous structure corresponding to the state triggers all the registered state machines to simultaneously calculate, so that the problem that the state cannot be updated in real time in cluster state management is solved.

Description

Asynchronous state machine control method and device
Technical Field
The invention relates to the technical field of computers, in particular to an asynchronous state machine control method and device.
Background
The state machine is a short name of finite state automata, does not refer to an actual machine, and is a mathematical model formed by abstracting operation rules of real things. For a state machine, the output state is unambiguously computed given its current state and input at the same time. For example, for an automatic door, given the current state "door closed state" and the input "door open", the next state should be "door open state" by calculation.
In the cluster state management, because the cluster has a plurality of states to be managed and configured, and various real-time states and configuration information need to determine whether to update the real-time states, modify the configuration information and the like according to the current state of the cluster and the current program operation, the state machine plays a crucial role in the cluster management. In a cluster, if the synchronization processing is adopted, that is, a previous event is executed and a subsequent event can be executed, a long-time request such as Ajax is encountered, a server cannot operate in the waiting time period, and a pause phenomenon occurs, and even more, if the request is not completed all the time for some reason, and the cardinality of objects involved in the cluster is large, all object states need to wait for the request, so that the server cluster is paralyzed, and the state cannot be updated in real time.
Therefore, the requirement of real-time state updating in cluster state management cannot be met by simply adopting synchronous processing operations such as synchronous input, calculation, updating, output serial mechanism logic processing and the like.
Disclosure of Invention
The invention provides an asynchronous state machine control method and device, which are used for solving the problem that the state cannot be updated in real time in cluster state management.
In a first aspect of the present application, there is provided an asynchronous state machine control method, including:
monitoring whether the target state changes;
when the target state changes, the asynchronous structure body triggers a state machine containing the target state; wherein the asynchronous structure is created in advance, and the state machine containing the target state is registered in advance in the asynchronous structure;
the state machine containing the target state performs the computation.
Optionally, the method further includes:
and after the state machine finishes calculating the target state, informing a user that the state machine finishes calculating the target state.
Optionally, the monitoring whether the state of the target changes includes:
subscribing whether the state of the monitoring target changes;
and when the target state is changed, sending a subscription message to the asynchronous structure body, and triggering a state machine containing the target state.
Optionally, the method further includes:
defining a logic function of the state machine;
the asynchronous structure body triggers all the interrelated state machines registered to the asynchronous structure body to calculate through a logic function.
Optionally, the logic function includes:
the logic function is embedded into an asynchronous call function in an asynchronous structure.
In a second aspect of the present application, there is provided an asynchronous state machine control apparatus, the apparatus comprising:
the monitoring unit, the scheduling unit, the creating unit and the registering unit;
the monitoring unit is used for monitoring whether the target state changes;
the scheduling unit is used for triggering a state machine containing the target state by the asynchronous structure when the target state is changed;
the creating unit is used for creating an asynchronous structural body;
the registering unit is used for registering the state machine containing the target state into the asynchronous structural body.
Optionally, the apparatus further comprises:
and the notification unit is used for notifying the user that the state machine finishes the calculation of the target state after the state machine finishes the calculation of the target state.
Optionally, the apparatus further comprises:
and the subscription unit is used for sending a subscription message to the asynchronous structure body and triggering a state machine containing the target state when the target state changes.
Optionally, the apparatus further comprises:
and the defining unit is used for defining the logic function of the state machine.
Optionally, the defining unit includes:
and the embedding module is used for embedding the logic function into the asynchronous calling function in the asynchronous structure body.
Compared with the prior art, the technical scheme of the application has the advantages that:
the invention provides an asynchronous state machine control method, which is characterized in that all state machines with the same state share one asynchronous structure body, when one state changes, the asynchronous structure body corresponding to the state can trigger all the state machines registered on the asynchronous structure body to carry out calculation at the same time, and the phenomenon that the state machines in the prior art can carry out calculation only in sequence and can continue to carry out calculation after the calculation of other unrelated states is finished is avoided. And meanwhile, a subscription and notification triggering mechanism is added to the state machine and the state to be processed, so that the triggering, inputting, calculating and updating of the state can be better controlled and managed. In the cluster state management, a management mechanism can be optimized, and configuration information can be effectively scheduled, managed and modified and the system state can be updated.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments described in the present application, and other drawings can be obtained by those skilled in the art without creative efforts.
Fig. 1 is a flowchart of an asynchronous state machine control method provided in the present application;
fig. 2 is a flowchart of an asynchronous state machine control method provided in the present application.
Detailed Description
In order to make the technical solutions of the present invention better understood, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The applicant finds that in the management of the cluster state by using the state machine, the situation of seizure and even crash always occurs when the traditional synchronous state machine is adopted to manage the cluster state. The inventor researches to find that the reason of the problems is mainly because the program cannot continue to run in sequence due to the fact that too many invalid states need to be waited for. For clarity of explanation, the following examples are set forth.
There are three state machines A, B, C, state machine a having three states a, B, C, state machine B having two states a, B, and state machine C having one state a. The conventional synchronous state machine is adopted to execute a state machine A, then execute a state machine B and finally execute a state machine C, if the monitored state a changes, the state machine A not only needs to execute the logic calculation of the state a, but also needs to execute the logic calculation of the states B and C, and then executes the calculation of the state machine B after all the logic calculation is finished. Similarly, the state machine B needs to calculate the state a and the state B, and the state a of the state machine C can be calculated after the calculation is finished, so that the whole calculation process is finished. It can be seen that when the state machine a calculates the state b, if the result is not obtained by the late operation, the subsequent operation will be affected, a stuck phenomenon will occur, and if the result is not obtained all the time, a dead phenomenon will occur due to long waiting time, however, the process of calculating the state b by the state machine a is not the calculation process that we need to wait.
Based on this, the applicant provides an asynchronous state machine control method, which implements asynchronous processing on cluster state machines by adopting an asynchronous scheduling mechanism, all the state machines share an asynchronous callback function, and when subscription input monitored by the state machines changes, the state machines registered to the same shared asynchronous callback function are triggered and do not sequentially execute logic calculation of the state machines. Meanwhile, a subscription and notification mechanism is added to the state machine and the state to be processed, so that states which do not need to be calculated, such as states B and C of the state machine, can not be waited for any more.
Referring to fig. 1, fig. 1 is a flowchart of an asynchronous state machine control method provided in the present application, and as shown in fig. 1, the method may include the following steps 101 to 102.
S101: and monitoring whether the target state changes.
S102: when the target state changes, the asynchronous structure body triggers a state machine containing the target state; wherein the state machine containing the target state is pre-registered in an asynchronous structure.
And creating a state machine asynchronous structure body for tracking and executing the callback state of the state machine.
Defining an instance to be executed according to the base number of the object database of the operation, creating a state machine related to the state of the instance, and registering a group of related state machines on the same asynchronous structure body. The reason that a group of related state machines share the same asynchronous structure is that the group of state machines can correspond to the same asynchronous structure, so that when one state of one state machine in the group changes, the state machines registered to the same asynchronous structure can be triggered to perform calculation. The state machine is not sequentially triggered to calculate, so that unnecessary state calculation waiting is avoided, and the probability of the phenomenon of stuck or even dead halt is greatly reduced. Also, by sharing an asynchronous fabric, all changes are performed as a set rather than independently.
S103: the state machine containing the target state performs the computation.
If the state changes, the asynchronous structure triggers all relevant state machines to carry out calculation, namely, the input of the logic function of the state machine is read, the information output by the logic function calculation is captured, and the information is stored in an output object database. A coherent asynchronous state machine refers to an asynchronous state machine that shares the same asynchronous callback function as the asynchronous state machine that is changing state.
In order to explain the cache structure proposed in the present application more clearly, the following describes the control method of the asynchronous state machine proposed in the present application with reference to fig. 2.
S201: and creating an asynchronous structural body, creating a state machine according to needs, and registering a group of related state machines into one asynchronous structural body.
For configuration management of storage software system volumes, an asynchronous structure should first be created. There are multiple state machines for configuration management of volumes, such as a state machine that can create volume capacity statistics, a state machine that controls volume capacity display, and so on. Since the state machine for volume capacity statistics and the state machine for controlling volume capacity display have correlation with the instance of configuration management of the volume, the former is used for counting the thin volume capacity, and the latter is used for displaying the thin volume capacity, the set of correlated state machines are all registered on the same asynchronous callback function.
S202: a logic function of the state machine is defined.
A data structure defining all data elements associated with a logical function and a field of the data structure, wherein the field of the data structure describes the size and layout of all fields in the data structure, information is represented by each data element of the data structure, and an object database is associated with its respective data structure field.
Logic functions executed by the state machine are defined and embedded in the asynchronous structure. The logic function executed by the user-defined state machine can read the effective monitoring data, thereby realizing the function of asynchronous calling.
The volume capacity statistical state machine has a plurality of states, such as volume type (thin volume, common volume), virtual capacity, volume physical allocation percentage, and the like, and the logic function relates to the thin volume statistical capacity; the state machine controlling the volume capacity display also has a plurality of states, such as volume type (thin volume, normal volume), virtual capacity, volume alert level, etc., and the logical function relates to the thin display capacity information.
S203: a subscription mechanism and a notification mechanism are added.
The subscription mechanism can be divided into subscription information and non-subscription information, wherein the subscription information is used for inputting into an object database of the state machine to enable the logic function to access external information, so that the information does not need to be copied into the internal, and in short, the subscription information is monitored in a required state, such as a monitoring volume type. The non-subscription information is used for reading and storing information necessary for realizing the self-defining algorithm of the logic function, the information which is not directly obtained from the outside is not copied to the outside, and in short, the non-subscription information is monitored to be in an unnecessary state, such as volume physical distribution percentage and volume warning level.
The state machine monitors all states needing to be maintained, and determines which states are changed according to whether the monitored states need to be updated or not, whether the monitored states need to participate in calculation or not and whether logic calculation needs to be triggered or not. When the type of the state volume is changed, the subscription information informs the state machine triggering volume capacity statistics of the asynchronous callback function and the state machine controlling volume capacity display to execute logic calculation because the volume type is set as subscription information, and when the subscription information is not used, namely the physical distribution percentage of the state volume and the volume warning level are changed, the state machine triggering volume capacity statistics of the asynchronous callback function and the state machine controlling volume capacity display are not informed to execute logic calculation, so that the logical calculation of the physical distribution percentage of the volume and the volume warning level is not required to be waited, and the probability of the phenomenon of blocking or even dead halt is greatly reduced.
Meanwhile, the existing state machine processing mechanism only relates to triggering, logical operation and state updating, and in a cluster with numerous states, which states need to participate in calculation, which states need to trigger operation, which states need to be updated and the like cannot be flexibly controlled and managed, so that the cluster state management efficiency is low, and the system performance cannot reach the optimum. By adding a subscription and notification mechanism to the state machine and the state to be processed, the triggering, inputting, calculating and updating of the state can be better controlled and managed. In the cluster state management, a management mechanism can be optimized, and configuration information can be effectively scheduled, managed and modified and the system state can be updated.
S204: when the state changes, the asynchronous structure triggers all registered state machines to perform computations.
When a volume type change notification is received, the asynchronous callback function reschedules, reads the inputs of the logical functions of the state machine for volume capacity statistics and the state machine for controlling volume capacity display, captures the information output by the logical function calculation, such as the volume capacity of the thin volume, and stores the logical calculation result of the volume capacity of the thin volume in the output object database.
The invention provides an asynchronous state machine control method, which is characterized in that all state machines with the same state share one asynchronous structure body, when one state changes, the asynchronous structure body corresponding to the state can trigger all the state machines registered on the asynchronous structure body to carry out calculation at the same time, and the phenomenon that the state machines in the prior art can only carry out calculation in sequence and can continue to carry out calculation after the calculation of other unrelated states is finished is avoided. And meanwhile, a subscription and notification triggering mechanism is added to the state machine and the state to be processed, so that the triggering, inputting, calculating and updating of the state can be better controlled and managed. In the cluster state management, a management mechanism can be optimized, and configuration information can be effectively scheduled, managed and modified and the system state can be updated.
Asynchronous state machine control techniques do not directly use infrastructure elements to perform any operations, it completely separates the task of describing the algorithm from the association of cluster states. The main focus of the state machine can be put on the core algorithm implementation and released in a very compact form. Notification of any input object database will notify re-execution of all associated asynchronous state machines, applicable to state machines sharing a large number of input states. In this case, a change in a particular input state will notify all state machines to re-execute.
Based on the method provided by the above embodiment, the embodiment of the present invention further provides a corresponding apparatus, and the following is an apparatus embodiment, and the apparatus may include the following units:
the monitoring unit, the scheduling unit, the creating unit and the registering unit;
the monitoring unit is used for monitoring whether the target state changes;
the scheduling unit is used for triggering a state machine containing the target state by the asynchronous structure when the target state is changed;
the creating unit is used for creating an asynchronous structural body;
the registering unit is used for registering the state machine containing the target state into the asynchronous structural body.
Optionally, the apparatus further comprises:
and the notification unit is used for notifying the user that the state machine finishes the calculation of the target state after the state machine finishes the calculation of the target state.
Optionally, the apparatus further comprises:
and the subscription unit is used for sending a subscription message to the asynchronous structure body and triggering a state machine containing the target state when the target state changes.
Optionally, the apparatus further comprises:
and the defining unit is used for defining the logic function of the state machine.
Optionally, the defining unit includes:
and the embedding module is used for embedding the logic function into the asynchronous calling function in the asynchronous structure body.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the apparatus embodiment, since it is substantially similar to the method embodiment, it is relatively simple to describe, and reference may be made to some descriptions of the method embodiment for relevant points. The above-described apparatus embodiments are merely illustrative, and the units and modules described as separate components may or may not be physically separate. In addition, some or all of the units and modules may be selected according to actual needs to achieve the purpose of the solution of the embodiment. One of ordinary skill in the art can understand and implement it without inventive effort.
The foregoing is directed to embodiments of the present invention, and it is understood that various modifications and improvements can be made by those skilled in the art without departing from the spirit of the invention.

Claims (6)

1. An asynchronous state machine control method, the method comprising:
monitoring whether the target state changes; whether the monitoring target state changes comprises the following steps: subscribing whether the state of the monitoring target changes;
when the target state changes, the asynchronous structure body triggers a state machine containing the target state; wherein the asynchronous structure is created in advance, and the state machine containing the target state is registered in advance in the asynchronous structure; the state machine containing the target state is multiple; when the target state changes, the method further comprises the following steps: sending a subscription message to the asynchronous structure body, and triggering a state machine containing the target state;
the state machine containing the target state carries out calculation; the calculating by the state machine including the target state further comprises: defining a logic function of the state machine; the asynchronous structure body triggers all the interrelated state machines registered to the asynchronous structure body to calculate through a logic function.
2. The method of claim 1, further comprising:
and after the state machine finishes calculating the target state, informing a user that the state machine finishes calculating the target state.
3. The method of claim 1, wherein the logic function comprises: an asynchronous call function embedded in an asynchronous structure.
4. An asynchronous state machine control apparatus, characterized in that the apparatus comprises:
the system comprises a monitoring unit, a subscription unit, a scheduling unit, a creation unit, a registration unit and a definition unit; the monitoring unit is used for monitoring whether the target state changes;
the subscription unit is used for sending a subscription message to the asynchronous structure body and triggering a state machine containing the target state when the target state changes;
the scheduling unit is used for triggering a state machine containing the target state by the asynchronous structure when the target state is changed; the state machine containing the target state is multiple;
the creating unit is used for creating an asynchronous structural body;
the registering unit is used for registering the state machine containing the target state into the asynchronous structural body; the definition unit is used for defining the logic function of the state machine.
5. The apparatus of claim 4, further comprising:
and the notification unit is used for notifying the user that the state machine finishes the calculation of the target state after the state machine finishes the calculation of the target state.
6. The apparatus of claim 4, wherein the defining unit comprises: and the embedding module is used for embedding the logic function into the asynchronous calling function in the asynchronous structure body.
CN201910816660.XA 2019-08-30 2019-08-30 Asynchronous state machine control method and device Active CN110488714B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910816660.XA CN110488714B (en) 2019-08-30 2019-08-30 Asynchronous state machine control method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910816660.XA CN110488714B (en) 2019-08-30 2019-08-30 Asynchronous state machine control method and device

Publications (2)

Publication Number Publication Date
CN110488714A CN110488714A (en) 2019-11-22
CN110488714B true CN110488714B (en) 2021-04-02

Family

ID=68555657

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910816660.XA Active CN110488714B (en) 2019-08-30 2019-08-30 Asynchronous state machine control method and device

Country Status (1)

Country Link
CN (1) CN110488714B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111708524B (en) * 2020-06-02 2024-02-23 苏州宏软信息技术有限公司 Method and system for realizing distributed dynamic finite state machine
CN116126402B (en) * 2023-04-04 2023-06-20 核工业西南物理研究院 Device and method for controlling running states of multiple asynchronous concurrent systems by single instruction

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567906A (en) * 2003-07-05 2005-01-19 华为技术有限公司 A method for controlling asynchronous operation by using state machine
CN1845081A (en) * 2006-02-24 2006-10-11 北京博联伟图科技有限公司 Process monitoring method for embedded application software testing
CN102096580A (en) * 2011-01-30 2011-06-15 瑞斯康达科技发展股份有限公司 Method and device for storing state machine related information
CN104660489A (en) * 2013-11-22 2015-05-27 国际商业机器公司 Method and system for controlling message delivery in messaging system
CN105828300A (en) * 2015-01-08 2016-08-03 北京信威通信技术股份有限公司 Method of realizing state information subscription in cluster system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10310994B2 (en) * 2017-02-28 2019-06-04 University Of Utah Research Foundation Asynchronous finite state machines

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567906A (en) * 2003-07-05 2005-01-19 华为技术有限公司 A method for controlling asynchronous operation by using state machine
CN1845081A (en) * 2006-02-24 2006-10-11 北京博联伟图科技有限公司 Process monitoring method for embedded application software testing
CN102096580A (en) * 2011-01-30 2011-06-15 瑞斯康达科技发展股份有限公司 Method and device for storing state machine related information
CN104660489A (en) * 2013-11-22 2015-05-27 国际商业机器公司 Method and system for controlling message delivery in messaging system
CN105828300A (en) * 2015-01-08 2016-08-03 北京信威通信技术股份有限公司 Method of realizing state information subscription in cluster system

Also Published As

Publication number Publication date
CN110488714A (en) 2019-11-22

Similar Documents

Publication Publication Date Title
US11513836B2 (en) Scheduling resuming of ready to run virtual processors in a distributed system
CN110488714B (en) Asynchronous state machine control method and device
CN101425024A (en) Multitasking method and device
KR20170134723A (en) Event processing system paging
CN103827864A (en) System and method for supporting a server-side event model in a distributed data grid
JP2000259585A (en) System application management system and recording medium stored with program for executing the system
Sallinen et al. Incremental graph processing for on-line analytics
JP2022521412A (en) Asynchronous storage management in distributed systems
CN116107728A (en) Task execution method and device, storage medium and electronic equipment
Wei et al. Probabilistically-Atomic 2-Atomicity: Enabling almost strong consistency in distributed storage systems
Joung The congenial talking philosophers problem in computer networks
CN114356720A (en) Graph database-based job chain task delay early warning method, device and equipment
CN111026526B (en) Timer configuration method and device for program, storage medium and terminal equipment
CN115098232A (en) Task scheduling method, device and equipment
CN116755868B (en) Task processing system and method
CN111698266A (en) Service node calling method, device, equipment and readable storage medium
Waudby et al. A performance study of epoch-based commit protocols in distributed OLTP databases
CN114443626A (en) Index calculation method and device, storage medium and index calculation platform
CN115145233B (en) Multi-stage small-granularity movement scheduling control method, device and equipment for robot
CN110096518A (en) Knowledge base metadata sending method and device, readable storage medium storing program for executing
CN109542720B (en) Registration mechanism-based on-satellite environment variable unified supervision method
CN105488076A (en) Data accumulation method and device
CN109766238A (en) Operation platform method for monitoring performance, device and relevant device based on session number
Cranefield et al. Handling agent perception in heterogeneous distributed systems: A policy-based approach
CN116339958B (en) Task execution method, device and equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant