CN112966025A - 一种binlog日志挖掘字典实现方法 - Google Patents
一种binlog日志挖掘字典实现方法 Download PDFInfo
- Publication number
- CN112966025A CN112966025A CN202110283819.3A CN202110283819A CN112966025A CN 112966025 A CN112966025 A CN 112966025A CN 202110283819 A CN202110283819 A CN 202110283819A CN 112966025 A CN112966025 A CN 112966025A
- Authority
- CN
- China
- Prior art keywords
- dictionary
- mining
- base
- library
- ddl
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/128—Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种binlog日志挖掘字典实现方法,其特征在于,包括步骤1:在进行挖掘前,对字典库进行初始化准备动作,所述初始化准备动作包括部署字典库、检查源库和字典库的库表结构;步骤2:重演binlog日志挖掘过程中捕获到ddl记录;步骤3:在库表的指定位置进行回溯挖掘。本发明以极小代价获取挖掘过程中字典信息,通过额外引入字典库作为持久层,并将ddl操作重演至字典库,这样可以还原挖掘时间点上数据库的字典状态,从而保障了字典与挖掘日志进度一致的问题。解决现有mysql8.0之前日志挖掘字典信息无法获取和mysql8.0之后binlog记录字典信息开销过大的问题。
Description
技术领域
本发明涉及关系型数据库变更日志分析以及应用领域,特别是涉及一种与挖掘进度同步的binlog日志挖掘字典实现方法。
背景技术
随着互联网的蓬勃发展,越来越多的公司使用mysql数据库。在使用mysql过程中,常常会对binlog日志进行变更数据的捕获分析,比如对不同数据中心mysql之间进行数据同步。对于mysql8.0之前的版本来说,每次进行数据改动操作后,binlog日志文件会记录数据的变动信息,但并不会记录每列数据所对应的字典信息,如列名和列类型,且mysql8.0后即使配置记录字典信息的参数,每次变更操作都记录字典信息,会导致磁盘空间占用过多。
面对该问题,可以实时的去查询获取当前表的字典并加载至缓存,但字典数据无法与binlog挖掘进度保持一致性,如果一旦出现数据的挖掘延时、停止的情况,则挖掘出来的数据和实时获取表的字典信息则可能出现错位的问题,从而导致挖掘信息匹配错误。
现有技术“mysqlbinlog基于某个偏移量进行数据的恢复(重做)”https://www.cnblogs.com/chuanzhang053/p/8874951.html,只能实现关于mysql数据的恢复与同步,无法获取挖掘信息所对应的字典信息,达不到日志挖掘分析和应用所需要的效果。此外,现有技术“mysql8.0新增参数binlog_row_metadata_”https://www.mytecdb.com/blogDetail.php?id=141,虽然binlog_row_metadata设置为FULL,可以记录字典信息,但只能在mysql8.0以后进行使用,且如若记录字典信息,则会使得binlog日志变得庞大,占用磁盘,影响数据库的性能等等。
因此,需要更好的一种与挖掘进度同步的binlog日志挖掘字典实现方法。
发明内容
本发明所要解决的技术问题是克服现有技术的不足,提供一种与挖掘进度同步的binlog日志挖掘字典实现方法。
为解决上述技术问题,本发明提供一种binlog日志挖掘字典实现方法,其特征在于,包括如下步骤:
步骤1:在进行挖掘前,对字典库进行初始化准备动作,所述初始化准备动作包括部署字典库、检查源库和字典库的库表结构;
步骤2:重演binlog日志挖掘过程中捕获到ddl记录;
步骤3:在库表的指定位置进行回溯挖掘。
所述步骤1中,初始化准备动作具体为:
步骤1-1:部署一套mysql数据库,用于当做字典库,停止修改源库库表结构的所有ddl操作,导出源库上所有的库表信息,并导入mysql字典库;
步骤1-2:对源库和字典库做一致性校验,创建fdatabus_dictionary_schema库以及相应的trace表、快照记录表,所述快照记录表包括快照记录新表、快照记录旧表;查询库表的ddl创建语句,查询当前源库的事务执行到的挖掘位置,将所得信息记录至快照记录表中,所述所得信息包括当前创建时间、ddl所属的表名和库名。
所述步骤2具体为:
步骤2-1:开启binlog日志挖掘,捕获并分析binlog日志中每个事件的信息,对于ddl事件,解析出ddl sql语句,通过正则表达式解析出库名和表名;
步骤2-2:通过配置的需要挖掘数据的库表来判断对应的ddl是否需要重演至字典库,经判断,如果需要重演至字典库,选中对应的库名,并执行挖掘到的ddl语句至字典库中,执行成功后将该执行记录信息插入trace表中,用于回溯重演;
步骤2-3:当ddl语句重演到字典库后,清除缓存中该ddl语句所对应的库表缓存,待后续挖掘到相应库表的dml操作时,从字典库重新加载该库表的字典信息到缓存中以保持字典与挖掘进度的同步。
所述步骤3具体为:
步骤3-1:指定挖掘的偏移位置,如果偏移位置是gtid模式,则使用全局事务号,如果是非gtid模式,则指定文件名和当前文件偏移的位置;
步骤3-2:构建当前时间点的新快照信息,首先对快照记录表进行转换,将原快照记录新表转化为当前的快照记录旧表,将原快照记录旧表转换为当前的快照记录旧表的临时文件,将原快照记录旧表的临时文件数据清除并转化为当前的快照记录新表,清除trace表中所有早于当前的快照记录旧表的快照记录旧表数据,这样就减少了重演执行到字典库的trace记录的个数,从而加快了构建库表的速度,减少出错的风险。使用查询表结构语句将当前字典库上的表结构信息和最后一个ddl事件的偏移位置信息记录在当前的快照记录新表上;
步骤3-3:进行回溯挖掘,删除字典库上的关于源库的库表,具体为:读取快照旧表中的所有ddl,并执行,执行成功后,读取trace表的ddl执行记录,如果该执行记录的偏移位置量小于等于指定阈值,则将其重演至字典库的库表上,如果该记录的偏移位置量大于指定阈值,将其标记删除状态,跳转步骤2,挖掘binlog日志并重演至字典库中。
本发明所达到的有益效果:
1.挖掘的ddl事件重演至字典库,确保字典数据与挖掘进度的一致性,且保证了持久化。
2.通过回溯机制,可是使得mysql挖掘可以指定当前挖掘位置之前的任意位置进行挖掘,解决了漏挖等等问题。
3.通过定期生成新的快照机制,减少了trace表占用的空间,回溯过程中出错的风险,增加了回溯挖掘的效率。
本发明以极小代价获取挖掘过程中字典信息,通过额外引入字典库作为持久层,并将ddl操作重演至字典库,这样可以还原挖掘时间点上数据库的字典状态,从而保障了字典与挖掘日志进度一致的问题。解决现有mysql8.0之前日志挖掘字典信息无法获取和mysql8.0之后binlog记录字典信息开销过大的问题。
附图说明
图1为本发明的示例性实施例的方法流程简图;
图2为本发明的另一示例性实施例的方法流程图;
图3为本发明的另一示例性实施例中的方法时序示意图。
具体实施方式
下面结合附图和示例性实施例对本发明作进一步的说明:
如图1所示的一种与挖掘进度同步的binlog日志挖掘字典实现方法,包括如下步骤:
步骤1:在进行挖掘前,对字典库进行初始化准备动作,所述初始化准备动作包括部署字典库、检查源库和字典库的库表结构;
步骤2:重演binlog日志挖掘过程中捕获到ddl记录;
步骤3:在库表的指定位置进行回溯挖掘。
如图2所示,本发明的另一示例性实施例分为以下几个步骤:
步骤101:导出源库所有库表至字典库,并做一致性校验。紧接着将源库中所有的库表的ddl创建语句以及ddl的偏移量记录到快照表中,解决初始状态下字典与挖掘进度一致的问题;
为解决字典无法与挖掘binlog日志进度保持一致性的问题,引入一个mysql数据库作为字典库,在字典库上初始导入源库的库表结构,且初始时记录源库库表结构的快照信息至快照记录表中。
步骤102:首先需要进行判断是否需要进行字典库的回溯,通过配置的需要挖掘数据的库表来判断对应的ddl是否需要重演至字典库,如果需要前移挖掘位置,则是需要回溯。否则不需要回溯(忽略步骤103,104,105)。
步骤103:如果需要回溯,则清空原有的字典库中对应源库的所有的库表信息。
步骤104:根据指定的offset挖掘偏移量,通过快照表和trace日志进行重演ddl至指定的offset挖掘偏移量。
步骤105:重演到指定位置后,将指定位置后面挖掘到的trace记录清除。
将挖掘出来的需要关注ddl信息重演至该字典库,保证字典库上的库表状态和挖掘进度的事件信息一致,从而实现字典信息的精确匹配,防止出现错位的问题。
步骤106:发送挖掘数据请求,并进行权限校验成功后,数据库会主动推送binlog日志至挖掘端。
步骤107:解析binlog日志,将其字节数组转化成我们需要的格式。
步骤108:判断解析出来的事件是否为ddl事件,以确定是否需要重演至字典库。
步骤109:如果是ddl事件,通过管理端指定的需要挖掘的库表信息,判断该表是否为我们所关注(没有被过滤),则将其sql语句和当前挖掘的偏移量以及创建时间等等记录至trace表。
为了满足mysql回溯挖掘能获取字典信息,会记录挖掘到的ddl的sql语句信息以及ddl所在binlog日志的偏移量至ddl_modify_trace表中,以便于指定回溯位置时可以通过快照信息和ddl_modify_trace表中trace记录构建出回溯位置的库表信息。
步骤110:通过正则表达式解析出ddl的schema信息,设置当前操作字典库的schema,并执行该ddl至字典库指定的库表上,执行完成后,清空缓存信息,以便后续重新加载。
步骤111:由于解析出来的事件不是ddl事件,不做字典库的相关处理。
在回溯前,为了避免trace表过大以及回溯挖掘时构建库表的时间过长,可以定期重建快照信息,以后就可以从新快照(这里的新不是指的dictionary_new_snapshot中新的快照,而是相对构建快照之前的快照是新快照)的位置加新快照之后的一些trace记录即可回溯挖掘。
图3为本发明的另一个实施例的时序图,分为以下几个步骤:
上述实施例分为两个场景,但由于对这两个场景其实是涵盖包含关系的。所以在这里将这两个场景进行合并阐述。图3中有步骤204、205、206,即为回溯挖掘字典相对于顺序挖掘字典,与挖掘进度同步的不同之处。
步骤201:发送初始化指令至字典库模块;
步骤202:字典库模块进行字典库与源库库执行一致性检测。如果不一致,执行步骤203返回校验失败。紧接着将源库中所有的库表的ddl创建语句以及ddl的偏移量记录到快照表中,如果成功则步骤203返回成功,否则步骤203返回失败;
步骤203:返回给管理端响应,以便管理端做处理;
回溯挖掘步骤204,205,206,顺序挖掘则忽略;
步骤204:指定offset和源库,并将当前需要回溯的源库以及回溯offset发送至字典库模块。
步骤205:首先清除字典库上源库的所有库表,执行旧快照表中的ddl语句,配合执行trace表中的记录,每次执行时,比对offset挖掘偏移量。如果该记录的offset小于等于指定的offset,则将其重演至字典库的库表上。如果该记录的offset大于指定的offset,则忽略。
步骤206:执行成功反馈给管理端,管理端表示字典初始化动作完成。
步骤207:管理端发送启动同步指令。
步骤208:挖掘数据库发送请求同步指令,以用于源库进行数据的推送。
步骤209:源库持续推送binlog日志。
步骤210:解析binlog日志的事件,处理ddl event。
步骤211:通过正则表达式解析ddl语句中相关库和表信息并传入字典库模块。
步骤212:通过jdbc驱动执行ddl至字典库对应的库表,并记录trace日志至ddl_modify_trace表。
步骤213:如果执行成功,则挖掘数据库刷新该库表的缓存信息,如果执行失败,则直接抛出异常。
本发明主要用于提供一种与挖掘进度同步的binlog日志挖掘字典实现方法,本发明所达到的有益效果:
1.挖掘的ddl事件重演至字典库,确保字典数据与挖掘进度的一致性,且保证了持久化。
2.通过回溯机制,可是使得mysql挖掘可以指定当前挖掘位置之前的任意位置进行挖掘,解决了漏挖等等问题。
3.通过定期生成新的快照机制,减少了trace表占用的空间,回溯过程中出错的风险,增加了回溯挖掘的效率。
以上实施例不以任何方式限定本发明,凡是对以上实施例以等效变换方式做出的其它改进与应用,都属于本发明的保护范围。
Claims (4)
1.一种binlog日志挖掘字典实现方法,其特征在于,包括如下步骤:
步骤1:在进行挖掘前,对字典库进行初始化准备动作,所述初始化准备动作包括部署字典库、检查源库和字典库的库表结构;
步骤2:重演binlog日志挖掘过程中捕获到ddl记录;
步骤3:在库表的指定位置进行回溯挖掘。
2.如权利要求1所述的一种binlog日志挖掘字典实现方法,其特征在于:所述步骤1中,初始化准备动作具体为:
步骤1-1:部署一套mysql数据库,用于当做字典库,停止修改源库库表结构的所有ddl操作,导出源库上所有的库表信息,并导入mysql字典库;
步骤1-2:对源库和字典库做一致性校验,创建fdatabus_dictionary_schema库以及相应的trace表、快照记录表,所述快照记录表包括快照记录新表、快照记录旧表;查询库表的ddl创建语句,查询当前源库的事务执行到的挖掘位置,将所得信息记录至快照记录表中,所述所得信息包括当前创建时间、ddl所属的表名和库名。
3.如权利要求2所述的一种binlog日志挖掘字典实现方法,其特征在于:所述步骤2具体为:
步骤2-1:开启binlog日志挖掘,捕获并分析binlog日志中每个事件的信息,对于ddl事件,解析出ddl sql语句,通过正则表达式解析出库名和表名;
步骤2-2:通过配置的需要挖掘数据的库表来判断对应的ddl是否需要重演至字典库,经判断,如果需要重演至字典库,选中对应的库名,并执行挖掘到的ddl语句至字典库中,执行成功后将该执行记录信息插入trace表中,用于回溯重演;
步骤2-3:当ddl语句重演到字典库后,清除缓存中该ddl语句所对应的库表缓存,待后续挖掘到相应库表的dml操作时,从字典库重新加载该库表的字典信息到缓存中以保持字典与挖掘进度的同步。
4.如权利要求3所述的一种binlog日志挖掘字典实现方法,其特征在于:所述步骤3具体为:
步骤3-1:指定挖掘的偏移位置,如果偏移位置是gtid模式,则使用全局事务号,如果是非gtid模式,则指定文件名和当前文件偏移的位置;
步骤3-2:构建当前时间点的新快照信息,首先对快照记录表进行转换,将原快照记录新表转化为当前的快照记录旧表,将原快照记录旧表转换为当前的快照记录旧表的临时文件,将原快照记录旧表的临时文件数据清除并转化为当前的快照记录新表,清除trace表中所有早于当前的快照记录旧表的快照记录旧表数据,使用查询表结构语句将当前字典库上的表结构信息和最后一个ddl事件的偏移位置信息记录在当前的快照记录新表上;
步骤3-3:进行回溯挖掘,删除字典库上的关于源库的库表,具体为:读取快照旧表中的所有ddl,并执行,执行成功后,读取trace表的ddl执行记录,如果该执行记录的偏移位置量小于等于指定阈值,则将其重演至字典库的库表上,如果该记录的偏移位置量大于指定阈值,将其标记删除状态,跳转步骤2,挖掘binlog日志并重演至字典库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110283819.3A CN112966025B (zh) | 2021-03-17 | 2021-03-17 | 一种binlog日志挖掘字典实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110283819.3A CN112966025B (zh) | 2021-03-17 | 2021-03-17 | 一种binlog日志挖掘字典实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112966025A true CN112966025A (zh) | 2021-06-15 |
CN112966025B CN112966025B (zh) | 2022-07-19 |
Family
ID=76277856
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110283819.3A Active CN112966025B (zh) | 2021-03-17 | 2021-03-17 | 一种binlog日志挖掘字典实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112966025B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113672679A (zh) * | 2021-07-02 | 2021-11-19 | 杭州沃趣科技股份有限公司 | 一种还原历史表结构的方法和系统 |
CN114169523A (zh) * | 2022-02-10 | 2022-03-11 | 一道新能源科技(衢州)有限公司 | 太阳能电池的使用数据分析方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105447014A (zh) * | 2014-08-15 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 基于binlog的元数据管理方法和用于提供元数据的方法及装置 |
CN109656934A (zh) * | 2018-11-19 | 2019-04-19 | 武汉达梦数据库有限公司 | 基于日志解析的源端Oracle数据库DDL同步方法及设备 |
CN110347746A (zh) * | 2019-06-13 | 2019-10-18 | 武汉达梦数据库有限公司 | 一种异构数据库同步数据一致性校验方法及装置 |
-
2021
- 2021-03-17 CN CN202110283819.3A patent/CN112966025B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105447014A (zh) * | 2014-08-15 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 基于binlog的元数据管理方法和用于提供元数据的方法及装置 |
CN109656934A (zh) * | 2018-11-19 | 2019-04-19 | 武汉达梦数据库有限公司 | 基于日志解析的源端Oracle数据库DDL同步方法及设备 |
CN110347746A (zh) * | 2019-06-13 | 2019-10-18 | 武汉达梦数据库有限公司 | 一种异构数据库同步数据一致性校验方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113672679A (zh) * | 2021-07-02 | 2021-11-19 | 杭州沃趣科技股份有限公司 | 一种还原历史表结构的方法和系统 |
CN114169523A (zh) * | 2022-02-10 | 2022-03-11 | 一道新能源科技(衢州)有限公司 | 太阳能电池的使用数据分析方法及系统 |
CN114169523B (zh) * | 2022-02-10 | 2022-05-31 | 一道新能源科技(衢州)有限公司 | 太阳能电池的使用数据分析方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112966025B (zh) | 2022-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110879813B (zh) | 一种基于二进制日志解析的MySQL数据库增量同步实现方法 | |
CN107402963B (zh) | 搜索数据的构建方法、增量数据的推送方法及装置和设备 | |
CN110347746B (zh) | 一种异构数据库同步数据一致性校验方法及装置 | |
CN112966025B (zh) | 一种binlog日志挖掘字典实现方法 | |
CN107766575B (zh) | 读写分离的数据库访问方法及装置 | |
CN107515874B (zh) | 一种分布式非关系型数据库中同步增量数据的方法与设备 | |
CN110727548A (zh) | 一种基于数据库dml同步的持续数据保护方法及装置 | |
CN105205053A (zh) | 一种数据库增量日志解析方法及系统 | |
CN102368267A (zh) | 一种维护分布式系统中副本一致性的方法 | |
CN109298978B (zh) | 一种指定位置的数据库集群的恢复方法及系统 | |
EP4170509A1 (en) | Method for playing back log on data node, data node, and system | |
CN114036119A (zh) | 一种基于kettle和数据库日志的数据同步方法 | |
CN111858501B (zh) | 一种基于日志解析同步的日志读取方法和数据同步系统 | |
US20220245132A1 (en) | Transaction monitoring method, apparatus and system for distributed database, and storage medium | |
CN112100194A (zh) | 一种数据库版本管理方法及系统 | |
CN114691704A (zh) | 一种基于MySQL binlog的元数据同步方法 | |
KR20080084332A (ko) | 데이터베이스 마이그레이션 장치 및 방법 | |
CN111767346A (zh) | 一种数据库的数据同步方法、装置、设备及存储介质 | |
CN110287251B (zh) | MongoDB到HBase的分布式高容错数据实时同步方法 | |
CN117473021B (zh) | 一种基于cdc方式的达梦数据库增量同步实现方法 | |
CN112069254B (zh) | 一种基于Djangorestframework的日志记录方法及系统 | |
CN111930788B (zh) | 操作请求的处理方法、装置、设备、可读存储介质及系统 | |
CN112800060A (zh) | 数据处理方法、装置、计算机可读存储介质及电子设备 | |
CN114490570A (zh) | 生产数据同步方法、装置、数据同步系统及服务器 | |
CN114816247A (zh) | 一种逻辑数据获取方法及装置 |
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 |