CN102375763B - 一种用于实现进程间通信的系统和方法 - Google Patents
一种用于实现进程间通信的系统和方法 Download PDFInfo
- Publication number
- CN102375763B CN102375763B CN 201010259827 CN201010259827A CN102375763B CN 102375763 B CN102375763 B CN 102375763B CN 201010259827 CN201010259827 CN 201010259827 CN 201010259827 A CN201010259827 A CN 201010259827A CN 102375763 B CN102375763 B CN 102375763B
- Authority
- CN
- China
- Prior art keywords
- exchanges data
- data bus
- node
- configuration information
- configuration
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
Abstract
本发明提供了一种用于实现进程间通信的系统和方法。该系统包括同步配置客户端和位于每个节点中的数据交换总线;所述数据交换总线,与该数据交换总线所在节点上的各个进程相连,存储该节点上所有进程的配置信息,通过同步配置客户端获取其他节点上所有进程的配置信息并存储,每个进程通过与其相连的数据交换总线与其他进程进行通信;所述同步配置客户端,与各个数据交换总线相连,获取各个数据交换总线存储的配置信息,将每一节点中数据交换总线存储的该节点上的各个进程的配置信息发给其他节点上的数据交换总线。应用本发明能够简化计算机系统的接口复杂度,降低计算机系统升级维护所需的人力物力。
Description
技术领域
本发明涉及数据通信技术领域,尤其涉及一种用于实现进程间通信的系统和方法。
背景技术
为了实现某种方案或者解决某类问题,目前的计算机系统常常需要多个应用进程协同工作。在现有的计算机系统中,各个应用进程是直接彼此连接的,他们一对一通信或者一对多通信,常常会出现类似蜘蛛网状的链接及通信关系,图1示例性地给出了现有的计算机系统中各进程间的通信连接示意图。
图1是现有计算机系统中各进程间的通信连接示意图。
如图1所示,其中的节点1、节点2和节点3分别表示三台实际的物理机器,进程A到进程E表示部署在这3个节点上的进程,这些进程属于一个计算机系统。
在图1所示系统中,各个需要通信的进程彼此直接相连,例如,如果进程A要获取进程C和进程D的数据,则进程A需要开放两个端口,分别连接到进程C和进程D,即通过不同的线程来处理与进程C和进程D的通信。而且,图1中每个进程与其他进程之间的连接关系等配置信息都由该进程记录在该进程本身的配置文件中,不同进程的配置信息存储在不同的配置文件中。
由图1可见,现有的计算机系统中进程间通信的方法存在如下的问题:
每个进程在开发时都需要预留多个接口用于与其他进程相连,且当一个进程需要升级时,与该进程相连的其他进程也需要升级,例如图1中进程A升级则会影响进程C和进程D,因此现有计算机系统的接口繁复,升级维护需要耗费大量的人力物力。
发明内容
有鉴于此,本发明提供了一种用于实现进程间通信的系统和方法,以便简化计算机系统的接口复杂度,降低计算机系统升级维护所需的人力物力。
本发明采用的技术方案具体是这样实现的:
一种用于实现进程间通信的系统,该系统包括同步配置客户端和位于每个节点中的数据交换总线;
所述数据交换总线,与该数据交换总线所在节点上的各个进程相连,存储该节点上所有进程的配置信息,通过同步配置客户端获取其他节点上所有进程的配置信息并存储,每个进程通过与其相连的数据交换总线与其他进程进行通信;
所述同步配置客户端,获取各个数据交换总线存储的配置信息,将每一节点中数据交换总线存储的该节点上的各个进程的配置信息发给其他节点上的数据交换总线。
一种用于实现进程间通信的方法,该方法包括:
每个节点上的每个进程通过在该节点中预先设置的该数据交换总线与该节点上的其他进程或者其他节点上的任意进程通信;
其中,在每个节点中预先设置数据交换总线,该节点中的所有进程与该数据交换总线相连,预先在该数据交换总线中存储该节点上所有进程的配置信息,预先设置与所有数据交换总线相连的同步配置客户端,通过该同步配置客户端获取各个数据交换总线存储的配置信息,将每一节点中数据交换总线存储的该节点上的各个进程的配置信息发给其他节点上的数据交换总线。
由上述技术方案可见,本发明通过在每个节点(即实际的物理机器)中设置数据交换总线,将每个节点中的所有进程与该节点中的数据交换总线相连,同时设置与各个数据交换总线相连的同步配置客户端,通过该同步配置客户端,每个数据交换总线中存储所有节点中所有进程的配置信息,每个进程都通过与该进程相连的数据交换总线与其他进程通信,由于不需要与其他进程直接相连,因此简化了进程接口,而且,由于数据交换总线中存储了所有进程的配置信息,每个进程通过与该数据交换总线可以与其他任意进程通信,因此当需要升级时,只需要修改相应数据交换总线中的配置信息、以及升级的进程与数据交换总线之间的接口,能够降低系统升级所需的人力物力。
附图说明
图1是现有计算机系统中各进程间的通信连接示意图。
图2是本发明提供的用于实现进程间通信的系统组成示意图。
图3是本发明提供的数据交换总线的详细结构示意图。
图4是本发明提供的进程间通信的示意性方法流程图。
具体实施方式
图2是本发明提供的用于实现进程间通信的系统组成示意图。
如图2所示,该系统包括同步配置客户端202和位于每个节点中的数据交换总线201。
数据交换总线201,与该数据交换总线所在节点上的各个进程相连,存储该节点上所有进程的配置信息,通过同步配置客户端202获取其他节点上所有进程的配置信息并存储,每个进程通过与其相连的数据交换总线与其他进程进行通信。
其中,进程与数据交换总线201之间通常采用socket连接,可以采用长连接模式,也可以采用短连接模式,其中,采用短连接模式可以避免节点过多时的连接资源耗尽问题。
同步配置客户端202,与各个数据交换总线201相连,获取各个数据交换总线201存储的配置信息,将每一节点中数据交换总线201存储的该节点上的各个进程的配置信息发给其他节点上的数据交换总线201。
其中,同步配置客户端202,在任意节点中的数据交换总线存储的配置信息更新时,将该数据交换总线的更新的配置信息发给在线的任意其他数据交换总线,并标识该配置信息来自同步配置客户端202;数据交换总线201,接收更新的配置信息,在该更新的配置信息来自同步配置客户端202时,将该更新的配置信息发给其他数据总线,并标识该配置信息来自数据交换总线。
可见,本发明通过由同步配置客户端202将更新的配置信息发给任意在线的数据交换总线201,再由该数据交换总线将该更新的配置信息发给其他的数据交换总线,可以实现配置信息的及时更新。其中,通过标识更新的配置信息的来源,即是来源于同步配置客户端202,还是来源于数据交换总线201,还可以避免由于数据交换总线在接收到更新的配置消息后即进行转发所引起的通信风暴。
通过同步配置客户端201,还可以将新增节点中的数据交换总线存储的配置信息发给在线的任意其他数据交换总线,并标识该配置信息来自同步配置客户端;或者,指示当前存在的各节点清除已删除节点中各进程的配置信息。可见,通过该同步配置客户端201,可以为系统添加新增节点、及时通信新增节点的配置信息、以及及时清除已删除节点的配置信息。
本发明中,进程与数据交换总线之间采用键和键值形式(key value)的数据包交换接口进行数据交互。当数据交换总线与进程之间采用key value的数据包格式时,可以实现数据交换总线将一个数据处理请求拆分为多个任务,由多个进程分别处理不同的任务以实现对该数据处理请求进行并行处理,其中,每个进程根据自身的数据处理任务从数据包中抽取自身需要的数据,将数据处理结果添加到数据包中返回给相应的数据交换总线。另外,还可以在数据包中预留一定的键,以便后续扩展。
每个数据交换总线通过控制接口与同步配置客户端相连,通过该控制接口实现与同步配置客户端以及其他数据交换总线的通信。另外,为了降低数据交换总线的实现复杂度,每个数据交换总线与进程相连的接口可以划分为更新接口和查询接口。其中,数据交换总线的更新接口,与该数据交换总线上的各个进程相连,与各个进程交互需要处理的数据;数据交换总线的查询接口,与该数据交换总线上的各个进程相连,用于根据进程的查询请求返回相应的查询结果。可见,其中的更新接口专门用于进行数据处理所需的数据通信,查询接口专门用于进行信息查询所需的数据通信。
本发明的数据交换总线中除了存储有所有进程的配置信息外,还可以进一步存储所有进程的资源占用信息,例如已占用的资源量或者已占用的资源率等,数据交换总线可以根据各个进程的配置信息以及资源占用信息协调各个进程的工作,以便提高数据处理效率。具体协调方法请参见图3。
图3是本发明提供的数据交换总线的详细结构示意图。
如图3所示,该数据交换总线除了包括控制接口、更新接口和查询接口外,还包括配置管理模块301、流程控制模块302、转发规则配置模块303和缓存队列模块304。
配置管理模块301,与同步配置客户端相连,用于存储该数据交换总线所在节点中各个进程的配置信息及资源占用信息,通过同步配置客户端获取其他节点上各个进程的配置信息及资源占用信息并存储。
流程控制模块302,与该数据交换总线所在节点上的各个进程相连,接收该节点上任意进程发起的数据处理请求,根据该数据处理请求确定需要进行数据处理的进程及其处理顺序,按照该顺序将需要处理的数据依次发给相应的进程。
转发规则配置模块303,根据配置管理模块301中存储的各个进程的资源占用信息,当有多个进程能够进行当前的数据处理时,确定由占用的资源最少或者资源占用率最低的进程进行所述数据处理。
缓存队列模块304,用于缓存数据信息。
其中的缓存队列模块304是可选模块,用于在各个进程的数据处理速度不一致时,对数据信息进行缓存,以使得数据处理过程能够顺利进行。
图2和图3中的数据交换总线的状态一共包括三种,分别为在线状态、离线状态和断线状态。其中的在线状态和离线状态都是预先设置的状态,将数据交换总线设置为在线状态时,相当于开启数据交换总线,即可以通过处于在线状态的数据交换总线进行进程间的通信,将数据交换总线设置为离线状态时,相当于关闭该数据交换总线,即不能通过处于离线状态的数据交换总线进行进程间的通信。断线状态通常是不可预测的状态,一般由于系统故障等原因会引起数据交换总线处于断线状态,为了避免短期断线状态导致数据交换总线一直不可访问,本发明中,可以根据断线状态的持续时间控制对处于断线状态的数据交换总线的访问频率。一般地,当访问某一数据交换总线状态连续失败预定次数时,可以断定该数据交换总线处于断线状态,该数据交换总线处于断线状态的时间越长,访问该数据交换总线的频率越低。
本发明还提供了用于实现进程间通信的方法,该方法包括:
每个节点上的每个进程通过在该节点中预先设置的数据交换总线与该节点上的其他进程或者其他节点上的任意进程通信;其中,在每个节点中预先设置数据交换总线,该节点中的所有进程与该数据交换总线相连,预先在该数据交换总线中存储该节点上所有进程的配置信息,预先设置与所有数据交换总线相连的同步配置客户端,通过该同步配置客户端获取各个数据交换总线存储的配置信息,将每一节点中数据交换总线存储的该节点上的各个进程的配置信息发给其他节点上的数据交换总线。
该方法还可以进一步包括:
同步配置客户端在任意节点中的数据交换总线存储的配置信息更新时,将该数据交换总线的更新的配置信息发给在线的任意其他数据交换总线,并标识该配置信息来自同步配置客户端;数据交换总线接收更新的配置信息,在该更新的配置信息来自同步配置客户端时,将该更新的配置信息发给其他数据总线,并标识该配置信息来自数据交换总线。
该方法还可以进一步包括:进程与数据交换总线之间采用以键和键值形式组织的数据包进行数据交互。其中,以键和键值形式组织的数据包就是key value格式的数据包。
所述通过在该节点中预先设置的数据交换总线与该节点上的其他进程或者其他节点上的任意进程通信包括:每个数据交换总线接收该节点上任意进程发起的数据处理请求,根据该数据处理请求确定需要进行数据处理的进程及其处理顺序,按照该顺序将需要处理的数据依次发给相应的进程。
其中,每个数据交换总线可以存储该数据交换总线所在节点中各个进程的配置信息及资源占用信息,获取其他节点上各个进程的配置信息及资源占用信息并存储;相应地,所述按照该顺序将需要处理的数据依次发给相应的进程包括:当有多个进程能够进行当前的数据处理时,根据各个进程的资源占用信息确定由占用的资源最少或者资源占用率最低的进程进行所述数据处理。
在数据交换总线处于断线状态时,随着断线状态持续时间的增长,降低对该数据交换总线的访问频率。
下面以图4为例,对本发明提供的进程间通信的方法进行示例性说明。
图4是本发明提供的进程间通信的示意性方法流程图。
图4所基于的系统中,进程A与总线A相连,总线A与总线B相连,请求客户端通过总线B获取进程A的数据处理服务。具体地,图4所示流程包括:
步骤401,进程A向总线A发送上线请求。
步骤402,总线A向进程A返回该总线A中存储的该进程A的配置信息。
步骤403,总线A确认总线A返回的配置信息是否是该进程A最新的配置信息,如果是,则向总线A返回确认请求,如果否,向总线A返回最新的配置信息。
步骤404,总线A根据进程A返回的确认请求或者最新的配置信息,将进程A的上线信息通过同步配置客户端同步给总线B。
步骤405,总线B向总线A返回同步确认信息。
其中的步骤401-405是进程配置信息的同步过程。
步骤406,请求客户端向总线B发送服务请求信息。
步骤407,总线B通过总线A向进程A转发服务请求信息。
步骤408,进程A将处理结果通过总线A返回给总线B。
步骤409,总线B将处理结果返回给请求客户端。
其中的步骤406-409是服务请求处理过程。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (14)
1.一种用于实现进程间通信的系统,其特征在于,该系统包括同步配置客户端和位于每个节点中的数据交换总线;
所述数据交换总线,与该数据交换总线所在节点上的各个进程相连,存储该节点上所有进程的配置信息,通过同步配置客户端获取其他节点上所有进程的配置信息并存储;
所述同步配置客户端,与各个数据交换总线相连,获取各个数据交换总线存储的配置信息,将每一节点中数据交换总线存储的该节点上的各个进程的配置信息发给其他节点上的数据交换总线;
其中,每个进程通过与其相连的数据交换总线与其他进程进行通信。
2.根据权利要求1所述的系统,其特征在于,
所述同步配置客户端,在任意节点中的数据交换总线存储的配置信息更新时,将该数据交换总线的更新的配置信息发给在线的任意一个其他数据交换总线,并标识该配置信息来自同步配置客户端;
所述数据交换总线,接收更新的配置信息,在该更新的配置信息来自同步配置客户端时,将该更新的配置信息发给其他数据交换总线,并标识该配置信息来自数据交换总线。
3.根据权利要求2所述的系统,其特征在于,
所述同步配置客户端,将新增节点中的数据交换总线存储的配置信息发给在线的任意其他数据交换总线,并标识该配置信息来自同步配置客户端;或者,指示当前存在的各节点清除已删除节点中各进程的配置信息。
4.根据权利要求1所述的系统,其特征在于,
进程与数据交换总线之间采用以键和键值形式组织的数据包进行数据交互。
5.根据权利要求4所述的系统,其特征在于,
所述数据交换总线,接收数据处理请求,将一个数据处理请求拆分为多个数据处理任务,多个进程分别根据自身的数据处理任务从数据包中抽取自身需要的数据,将数据处理结果添加到数据包中返回给相应的数据交换总线。
6.根据权利要求1至5任一权利要求所述的系统,其特征在于,所述数据交换总线包括控制接口、更新接口和查询接口;
所述控制接口,与同步配置客户端以及其他数据交换总线相连,用于与同步配置客户端以及其他数据交换总线进行通信;
所述更新接口,与该数据交换总线上的各个进程相连,与各个进程交互需要处理的数据;
所述查询接口,与该数据交换总线上的各个进程相连,用于根据进程的查询请求返回相应的查询结果。
7.根据权利要求6所述的系统,其特征在于,该数据交换总线还包括配置管理模块、流程控制模块、转发规则配置模块和缓存队列模块;
所述配置管理模块,与所述同步配置客户端相连,用于存储该数据交换总线所在节点中各个进程的配置信息及资源占用信息,通过所述同步配置客户端获取其他节点上各个进程的配置信息及资源占用信息并存储;
所述流程控制模块,与该数据交换总线所在节点上的各个进程相连,接收该节点上任意进程发起的数据处理请求,根据该数据处理请求确定需要进行数据处理的进程及其处理顺序,按照该顺序将需要处理的数据依次发给相应的进程;
所述转发规则配置模块,根据配置管理模块中存储的各个进程的资源占用信息,当有多个进程能够进行当前的数据处理时,确定由占用的资源最少或者资源占用率最低的进程进行所述数据处理;
所述缓存队列模块,缓存数据信息。
8.根据权利要求1所述的系统,其特征在于,
所述数据交换总线,在处于断线状态时,随着断线时间的增长降低接收访问请求的频率。
9.一种用于实现进程间通信的方法,其特征在于,该方法包括:
每个节点上的每个进程通过在该节点中预先设置的数据交换总线与该节点上的其他进程或者其他节点上的任意进程通信;
其中,在每个节点中预先设置数据交换总线,该节点中的所有进程与该数据交换总线相连,预先在该数据交换总线中存储该节点上所有进程的配置信息,预先设置与所有数据交换总线相连的同步配置客户端,通过该同步配置客户端获取各个数据交换总线存储的配置信息,将每一节点中数据交换总线存储的该节点上的各个进程的配置信息发给其他节点上的数据交换总线。
10.根据权利要求9所述的方法,其特征在于,该方法进一步包括:
同步配置客户端在任意节点中的数据交换总线存储的配置信息更新时,将该数据交换总线的更新的配置信息发给在线的任意一个其他数据交换总线,并标识该配置信息来自同步配置客户端;
数据交换总线接收更新的配置信息,在该更新的配置信息来自同步配置客户端时,将该更新的配置信息发给其他数据总线,并标识该配置信息来自数据交换总线。
11.根据权利要求9所述的方法,其特征在于,该方法进一步包括:
进程与数据交换总线之间采用以键和键值形式组织的数据包进行数据交互。
12.根据权利要求11所述的方法,其特征在于,所述通过在该节点中预先设置的数据交换总线与该节点上的其他进程或者其他节点上的任意进程通信包括:
每个数据交换总线接收该节点上任意进程发起的数据处理请求,根据该数据处理请求确定需要进行数据处理的进程及其处理顺序,按照该顺序将需要处理的数据依次发给相应的进程。
13.根据权利要求12所述的方法,其特征在于,
该方法进一步包括:在每个数据交换总线中存储该数据交换总线所在节点中各个进程的资源占用信息,通过所述同步配置客户端获取其他节点上各个进程的资源占用信息并存储;
所述按照该顺序将需要处理的数据依次发给相应的进程包括:
当有多个进程能够进行当前的数据处理时,根据各个进程的资源占用信息确定由占用的资源最少或者资源占用率最低的进程进行所述数据处理。
14.根据权利要求9所述的方法,其特征在于,
在数据交换总线处于断线状态时,随着断线状态持续时间的增长,降低对该数据交换总线的访问频率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010259827 CN102375763B (zh) | 2010-08-20 | 2010-08-20 | 一种用于实现进程间通信的系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010259827 CN102375763B (zh) | 2010-08-20 | 2010-08-20 | 一种用于实现进程间通信的系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102375763A CN102375763A (zh) | 2012-03-14 |
CN102375763B true CN102375763B (zh) | 2013-06-19 |
Family
ID=45794402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010259827 Active CN102375763B (zh) | 2010-08-20 | 2010-08-20 | 一种用于实现进程间通信的系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102375763B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102012219180A1 (de) * | 2012-10-22 | 2014-05-08 | Robert Bosch Gmbh | Recheneinheit für ein Steuergerät und Betriebsverfahren hierfür |
CN106919461B (zh) * | 2017-03-10 | 2022-07-15 | Oppo广东移动通信有限公司 | 广播接收者队列调整方法、装置和终端设备 |
CN110750419B (zh) * | 2019-09-30 | 2023-03-14 | 北京百度网讯科技有限公司 | 离线任务的处理方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001038998A1 (en) * | 1999-11-25 | 2001-05-31 | Telefonaktiebolaget Lm Ericsson | Inter process communication in a distributed processing system |
CN101448018A (zh) * | 2008-12-26 | 2009-06-03 | 中兴通讯股份有限公司 | 进程间通信方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4028444B2 (ja) * | 2003-06-27 | 2007-12-26 | 株式会社東芝 | スケジューリング方法およびリアルタイム処理システム |
-
2010
- 2010-08-20 CN CN 201010259827 patent/CN102375763B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001038998A1 (en) * | 1999-11-25 | 2001-05-31 | Telefonaktiebolaget Lm Ericsson | Inter process communication in a distributed processing system |
CN101448018A (zh) * | 2008-12-26 | 2009-06-03 | 中兴通讯股份有限公司 | 进程间通信方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102375763A (zh) | 2012-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101902473B (zh) | 基于网格gis的数据同步更新实现方法 | |
CN105338078B (zh) | 用于存储系统的数据存储方法和装置 | |
CN103369051B (zh) | 一种数据服务器集群系统及数据同步方法 | |
US9477735B2 (en) | Cloud computing-based data sharing system and method | |
CN103701913B (zh) | 数据同步方法及装置 | |
CN101951341B (zh) | 服务器物理位置标记方法、设备及系统 | |
CN105099761A (zh) | 一种集中管理客户端的配置信息的方法和系统 | |
CN104780071A (zh) | 虚拟交换机的升级方法及装置 | |
CN110213359B (zh) | 一种基于d2d的车联网组网数据推送系统和方法 | |
CN103024065A (zh) | 用于云存储系统的系统配置管理方法 | |
CN104125104A (zh) | 一种光网络单元中业务数据的配置方法 | |
CN102143006B (zh) | 通讯设备中的接口拓扑控制方法、系统及装置 | |
CN106453541A (zh) | 一种数据同步的方法、服务器以及数据同步系统 | |
CN102571923A (zh) | 数据同步系统及方法 | |
CN103036934A (zh) | 基于镜像的广域网集群部署系统和方法 | |
CN104486394A (zh) | 不中断业务软件升级方法及装置 | |
CN102375763B (zh) | 一种用于实现进程间通信的系统和方法 | |
CN102769544A (zh) | 通信系统中设备业务适配层架构及业务适配层实现方法 | |
CN111641521A (zh) | 一种基于Ambari的云上部署大数据集群的方法 | |
CN104580425A (zh) | 一种客户端数据同步方法及系统 | |
CN102957546A (zh) | 配置处理方法、装置及系统 | |
CN105591801A (zh) | 一种虚拟网络功能vnf故障处理方法及vnf管理设备 | |
CN100466550C (zh) | 实现多业务板架构的方法、装置和系统 | |
CN102082680B (zh) | 采集机控制网元连接的方法、采集机和系统 | |
CN109257403B (zh) | 数据存储方法及设备、分布式存储系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |