CN110825816B - System and method for data acquisition of partitioned database - Google Patents
System and method for data acquisition of partitioned database Download PDFInfo
- Publication number
- CN110825816B CN110825816B CN202010020041.2A CN202010020041A CN110825816B CN 110825816 B CN110825816 B CN 110825816B CN 202010020041 A CN202010020041 A CN 202010020041A CN 110825816 B CN110825816 B CN 110825816B
- Authority
- CN
- China
- Prior art keywords
- acquisition
- data
- control information
- database
- module
- 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
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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/21—Design, administration or maintenance of databases
Abstract
The invention relates to a system and a method for collecting data of a fragment database, wherein the system comprises a main program module: receiving parameters and starting an xcat thread; a configuration module: configuring the connection information of each fragment database; a priority configuration module: storing priority configuration information of an acquisition table; a control information module: recording the control information of the acquisition table through the control information table; collecting a subprogram module: and receiving data generated by the control information table and parameter output of the main program module, and performing distributed concurrent data acquisition on the same acquisition table from different fragment databases. When the invention is used for collecting data of a data warehouse with large data volume, the configurable data collection of the existing and newly added sub-warehouse sub-tables is completely realized, a task script is not required to be developed, an application program is not required to be changed, and the configurable data collection can be realized only according to corresponding associated configuration information, so that the performance of data collection is more efficient.
Description
Technical Field
The invention relates to a system and a method for data acquisition, in particular to a system and a method for data acquisition of a segmented database.
Background
Among conventional database middleware, many have significant limitations. For example, both the Mycat and the shading Proxy are middleware of a distributed database, but none of the middleware is designed for common data collection of sub-warehouse and sub-table, and although the middleware has more functions, the middleware is not suitable for data collection of large data volume in an application scenario of a distributed data warehouse. One of the important reasons is that when the database middleware queries a database table, if no fragment field is found in the where condition of the select statement, full table scanning (fullscan) is performed, the query result is stored in the database middleware, and the final result set is returned to the queried client after the last fragment library data acquisition is completed, so that the operation load of the database middleware is overloaded, and an unpredictable problem is caused when a large amount of data is acquired.
Disclosure of Invention
The invention provides a system and a method for collecting data of a fragment database, which aim at a large data platform data warehouse, realize collection of database and table dividing programs and meet the requirements of convenience, configurability and stability.
The invention relates to a system for collecting data of a fragment database, which comprises:
a main program module: receiving a batch date and a table name of an acquisition table through a processor of the system, and starting an xcat thread, wherein various data needing to be acquired are recorded in the acquisition table, and the data in the acquisition table is stored in different fragment databases;
a configuration module: receiving the output of the main program module through the processor, configuring the connection information of each fragment database, generating a configuration table and storing the configuration table in a memory of the system;
a priority configuration module: receiving the output of the main program module through the processor, and storing a priority configuration table in a memory of the system, wherein the priority configuration table comprises priority configuration information of an acquisition table according to different degrees of dependence of a downstream system on different acquisition tables;
a control information module: after the acquisition table is respectively associated with the configuration table and the priority configuration table, recording the control information of the acquisition table through the formed control information table;
collecting a subprogram module: and receiving data generated by the control information table and parameter output of the main program module through the processor, and performing distributed concurrent data acquisition on the same acquisition table from different fragment databases through the Sqoop program.
In the existing distributed system, the priority of the acquisition list is usually realized by the operation of a scheduling tool, the priority is fixed in advance, and the corresponding program logic needs to be modified when the priority is adjusted. The priority of the acquisition list is initialized by the priority configuration list, and the weight of the acquisition list is automatically updated according to the degree of dependence of subsequent operation on the information of the acquisition list, so that the method is more intelligent and real-time, and a program does not need to be modified.
Furthermore, the system also comprises an information log module which receives the control information table generated data through the processor, and records the information and the acquisition state of each time of data acquisition through the information log table.
The invention also provides a method for collecting the data of the fragment database, which is used for the system and comprises the following steps:
A. receiving the batch date and the table name of the acquisition table by a main program module through a processor of the system, and then starting an xcat thread;
B. reading an acquisition table, a configuration table and a priority configuration table from a memory through an xcat thread, associating the acquisition table with the configuration table and the priority configuration table respectively to form a control information table, recording control information of the acquisition table through the control information table, and adjusting acquisition interval time among different fragment databases in real time when acquiring data of the same acquisition table according to the degree of dependence of a downstream system on different acquisition tables stored in the priority configuration table by the system;
C. the system judges whether all the fragment data of the current acquisition table are acquired by the acquisition subprogram according to the control information of the acquisition table in the control information table, if so, the acquisition subprogram returns to the main program and then ends, otherwise, the acquisition subprogram continues to the corresponding fragment database to acquire data through the Sqoop program according to the data of the control information table and the output parameters of the main program module;
D. and C, judging whether the data acquisition process has errors or not by the system, if not, returning to the step B for circular execution after data acquisition, and otherwise, returning to the main program and ending.
Furthermore, when data is collected every time, the system records the number of records and the collection state of the data collected every time through the information log table.
Further, in the step B, the collection table is associated with the configuration table through the information of the corresponding fragmentation database, and the collection table is associated with the priority configuration table through the collection table name, so as to form one-to-many control information between the collection table and the fragmentation database.
Preferably, in step D, if an error occurs in the process of acquiring data, the system performs retry acquisition, and if an error still occurs after the number of retries reaches a preset threshold, the system reports the error and returns to the main program to end.
On the basis, only one set of control information of the acquisition table corresponding to the batch date in the step A is stored in the same acquisition table in the control information table.
On the basis, when the acquisition subprogram acquires the data in the fragment database in the step C, the acquisition subprogram controls the maximum concurrent acquisition thread number of different fragment databases of the same acquisition table according to the configuration, and automatically adjusts the threshold value of the maximum concurrent acquisition thread number according to the running state of the current system.
In the data acquisition program of the existing distributed system, the concurrency number of the threads is usually not controlled, and if the concurrency is too large, the pressure on the online system is too large, so that the normal service development of the service system and the loading of the distributed system are risked. The invention effectively avoids the problem by controlling the number of the concurrent threads.
The system and the method for collecting the data of the partitioned database completely realize configurable data collection of the existing and newly added partitioned tables when the data of a large-data-volume data warehouse is collected, do not need to develop a task script, do not need to change an application program, and can be realized only according to corresponding associated configuration information, so that the performance of collecting the data is more efficient.
The present invention will be described in further detail with reference to the following examples. This should not be understood as limiting the scope of the above-described subject matter of the present invention to the following examples. Various substitutions and alterations according to the general knowledge and conventional practice in the art are intended to be included within the scope of the present invention without departing from the technical spirit of the present invention as described above.
Drawings
FIG. 1 is a block diagram of a system for sharded database data collection in accordance with the present invention.
FIG. 2 is a flow chart of the method for data collection of the partitioned database according to the present invention.
Detailed Description
In this embodiment, data collection of the sub-library and the sub-table is realized through Python (a computer programming language) + Sqoop (a distributed application system).
As shown in fig. 1, the system for collecting fragmented database data of the present invention includes:
a main program module: and receiving the batch date and the table name of the acquisition table through a processor of the system, and starting the xcat thread.
A configuration module: and receiving the output of the main program module through the processor, configuring the connection information of each fragment database, generating a configuration table and storing the configuration table in a memory of the system.
A priority configuration module: the processor receives the output of the main program module, and stores a priority configuration table in the memory of the system, wherein the priority configuration table contains priority configuration information of the acquisition table according to different degrees of dependence of a downstream system on different acquisition tables. The priority of the acquisition list is automatically updated by the priority configuration list according to the degree of dependence of subsequent operation on the information of the acquisition list, so that the method is more intelligent and real-time, and a program is not required to be modified.
A control information module: and after the acquisition table is respectively associated with the configuration table and the priority configuration table, recording the control information of the acquisition table through the formed control information table.
An information log module: and receiving control information table generated data through the processor, and recording the information and the acquisition state of the data acquired each time through an information log table.
Collecting a subprogram module: and receiving data generated by the control information table and parameter output of the main program module through the processor, and performing distributed concurrent data acquisition on the same acquisition table from different fragment databases through the Sqoop program.
As shown in fig. 2, the method for collecting data of a segmented database in the above system of the present invention includes:
A. two parameters of batch date and table name of an acquisition table needing to acquire data are received by a main program module through a processor of the system, and then an xcat py thread which calls a main program BatchExtractData is started.
B. And reading the acquisition table, the configuration table and the priority configuration table from the memory through the xcat thread, associating the acquisition table with the priority configuration table by the acquisition table name to obtain the optimization level of the acquisition table, and associating the acquisition table with the configuration table by the fragment database name to obtain the fragment databases from which the acquisition table needs to acquire data. Thereby forming a control information table containing one-to-many information between the acquisition table and the fragmentation database.
The information of each fragment database is recorded in the configuration table, and the granularity is equal to that of each fragment database. And controlling the thread number of the concurrent data acquisition fragmentation database through a Concurrenty field in the configuration table. If the number of threads is too high, the operation performance of the database of the source system can be affected, and therefore the normal development of the service of the source system is affected.
The configuration table is structured as table 1:
table 1:
the priority configuration table records the priority configuration information of the acquisition list. The priority configuration table is not manually configured, but is programmatically fully automated. The system adjusts the acquisition interval time between different fragment databases in real time when acquiring the data of the same acquisition table according to different weights of the dependence degree of the downstream system on different acquisition tables stored in the priority configuration table. In this embodiment, the weight is divided into 10 levels [10, 100], and the step size is 10.
The priority setting is to make all the fragmentation data of an acquisition table complete within a connection time period. If the data collection times of the various sharded databases are too far apart, then the waiting time of the jobs downstream of the job will be long, and if the job is a critical path job, then the batch of the entire data warehouse will be late. To ensure that the job with the stronger dependency runs first, the system sets the job weight for the data collection to be higher.
The structure of the priority configuration table is table 2:
table 2:
the structure of the acquisition table is table 3:
table 3:
the control information table records the control information of all the acquisition tables and shows from which fragment databases each acquisition table needs to acquire data. And also records the data acquisition state of each acquisition table in the corresponding fragment database. And after all the fragments of the acquisition list are successfully acquired or one or more fragment databases are mistakenly acquired, the retry times reach a preset threshold value, and then an error is reported and the main program is returned to end.
In the control information table, only one set of control information of the acquisition table corresponding to the batch date in the step A is stored in the same acquisition table. When the batch date of the incoming xcat thread is different from the stored batch date, the control information table deletes the last record of the corresponding acquisition table, and regenerates a group of current records. For example: the cls _ loan acquisition table is divided into 32 slice databases, so that 32 records exist in the cls _ loan acquisition table in the control information table, each piece of data represents different slices, and represents that the 32 slice databases are successfully acquired, and the data of the cls _ loan acquisition table is only really acquired and can trigger downstream operation.
The structure of the control information table is table 4:
table 4:
serial number | Name of field | Data type | Field description | Key value | Sample examples |
1 | id | int | Serial number | PK | 1 |
2 | table_name | string | Data warehouse table name | FK | cls_loan(table.table_name) |
3 | server_name | string | Name of service for slicing | txn _ hedger accounting service | |
4 | db_type | string | Database type | Database types collected by MYSQL | |
5 | db_host | string | Database address | IP address of x.x database 12.10 | |
6 | db_port | string | Database port | 3309 Port of database | |
7 | db_name | string | Database name | the first slice database of the txn _ hedger _01 accounting service. A total of 32 data | |
8 | o_date | string | Run time in batches | ||
9 | Status | string | Operation carrierLine state | ready、doing、error、done | |
10 | error_retry_count | string | Number of retries | The number of job failure retries is recorded. Fault tolerant mechanism control | |
11 | create_time | timestamp | Recording creation time | ||
12 | updte_time | timestamp | Recording update time |
The error _ retry _ count of the control information table can also make a space for fault-tolerant processing during data acquisition.
C. The system calls an acquisition subprogram edwExtractSqoop to generate a subprogram according to the control information of the acquisition table in the control information table and the xcat thread of the main program, judges whether all the fragment data of the current acquisition table are acquired by the acquisition subprogram, if so, returns to the main program and then ends, otherwise, the acquisition subprogram continues to acquire data in the corresponding fragment database according to the data of the control information table and the output parameters of the main program module through the Sqoop program. When the acquisition subprogram is used for acquiring data in the fragment database, the acquisition subprogram controls the maximum concurrent acquisition thread number of different fragment databases of the same acquisition table according to local configuration (settings, max _ failure _ count, maximum failure times and local _ max _ security local operation maximum parallel number), and automatically adjusts the threshold value of the maximum concurrent acquisition thread number according to the operation state of the current system, so that the risk of loading a service system and a distributed system caused by overlarge pressure of an online system is avoided.
Meanwhile, when data are collected every time, the system records the information and the collection state of the data collected every time through the information log table. The structure of the information log table is table 5:
table 5:
serial number | Name of field | Data type | Field description | Key value | Sample examples |
1 | id | int | Serial number | PK | 1 |
2 | table_name | string | Data warehouse table name | FK | cls_loan |
3 | server_name | string | Name of service for slicing | cls | |
4 | db_type | string | Database type | Database types collected by MYSQL | |
5 | db_host | string | Database address | IP address of x.x database 12.10 | |
6 | db_port | string | Database port | 3309 Port of database | |
7 | db_name | string | Database name | First slice database of txn _ hedger _01 accounting service | |
8 | o_date | string | Run time in batches | ||
9 | job_status | string | Operational state | doing、error | |
10 | extract_rowcount | bigint | Number of collected records | Recording number of acquisition segments | |
11 | error_retry_count | string | Number of retries | Recording number of retry times of operation failure | |
12 | create_time | timestamp | Recording creation time | ||
13 | updte_time | timestamp | Recording update time |
D. And C, judging whether the data acquisition process has errors or not by the system, if not, returning to the step B for circular execution, otherwise, carrying out retry acquisition by the system, and if the retry times reach a preset threshold value and still have errors, reporting the errors and returning to the main program to finish the operation.
Claims (8)
1. The system for collecting the data of the fragment database is characterized by comprising the following steps:
a main program module: receiving the batch date and the table name of the acquisition table through a processor of the system, and starting an xcat thread;
a configuration module: receiving the output of the main program module through the processor, configuring the connection information of each fragment database, generating a configuration table and storing the configuration table in a memory of the system;
a priority configuration module: receiving the output of the main program module through the processor, and storing a priority configuration table in a memory of the system, wherein the priority configuration table comprises priority configuration information of an acquisition table according to different degrees of dependence of a downstream system on different acquisition tables;
a control information module: after the acquisition table is respectively associated with the configuration table and the priority configuration table, recording control information of the acquisition table through a formed control information table, wherein the acquisition table is associated with the configuration table through information of a corresponding fragment database, and the acquisition table is associated with the priority configuration table through an acquisition table name to form one-to-many control information between the acquisition table and the fragment database;
collecting a subprogram module: and receiving data generated by the control information table and parameter output of the main program module through the processor, and performing distributed concurrent data acquisition on the same acquisition table from different fragment databases through the Sqoop program.
2. The system for data collection of a partitioned database as claimed in claim 1, wherein: the data acquisition system is also provided with an information log module for receiving and controlling the information table to generate data through the processor, and the data volume and the acquisition state of each acquired data are recorded through the information log table.
3. A method for fragmented database data acquisition for use with the system of claim 1 or 2, comprising:
A. receiving the batch date and the table name of the acquisition table by a main program module through a processor of the system, and then starting an xcat thread;
B. reading an acquisition table, a configuration table and a priority configuration table from a memory through an xcat thread, associating the acquisition table with the configuration table and the priority configuration table respectively to form a control information table, recording control information of the acquisition table through the control information table, and adjusting acquisition interval time among different fragment databases in real time when acquiring data of the same acquisition table according to the degree of dependence of a downstream system on different acquisition tables stored in the priority configuration table by the system;
C. the system judges whether all the fragment data of the current acquisition table are acquired by the acquisition subprogram according to the control information of the acquisition table in the control information table, if so, the acquisition subprogram returns to the main program and then ends, otherwise, the acquisition subprogram continues to the corresponding fragment database to acquire data through the Sqoop program according to the data of the control information table and the output parameters of the main program module;
D. and C, judging whether the data acquisition process has errors or not by the system, if not, returning to the step B for circular execution after data acquisition, and otherwise, returning to the main program and ending.
4. The method for data collection of a partitioned database as claimed in claim 3, wherein: when data is collected every time, the system records the number of records and the collection state of the data collected every time through the information log table.
5. The method for sharded database data collection as claimed in claim 3 or 4, wherein: in the step B, the acquisition table is associated with the configuration table through the information of the corresponding fragment database, and the acquisition table is associated with the priority configuration table through the name of the acquisition table to form one-to-many control information between the acquisition table and the fragment database.
6. The method for sharded database data collection as claimed in claim 3 or 4, wherein: and D, if errors occur in the data acquisition process, the system performs retry acquisition, and if the errors still occur after the retry times reach a preset threshold value, the system reports the errors and returns to the main program to finish the operation.
7. The method for sharded database data collection as claimed in claim 3 or 4, wherein: in the control information table, only one set of control information of the acquisition table corresponding to the batch date in the step A is stored in the same acquisition table.
8. The method for sharded database data collection as claimed in claim 3 or 4, wherein: and C, when the acquisition subprogram acquires the data in the fragment database, the acquisition subprogram controls the maximum concurrent acquisition thread number of different fragment databases of the same acquisition table according to the configuration, and automatically adjusts the threshold value of the maximum concurrent acquisition thread number according to the running state of the current system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010020041.2A CN110825816B (en) | 2020-01-09 | 2020-01-09 | System and method for data acquisition of partitioned database |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010020041.2A CN110825816B (en) | 2020-01-09 | 2020-01-09 | System and method for data acquisition of partitioned database |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110825816A CN110825816A (en) | 2020-02-21 |
CN110825816B true CN110825816B (en) | 2020-04-21 |
Family
ID=69546494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010020041.2A Active CN110825816B (en) | 2020-01-09 | 2020-01-09 | System and method for data acquisition of partitioned database |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110825816B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112100160B (en) * | 2020-11-05 | 2021-09-07 | 四川新网银行股份有限公司 | Elastic Search based double-activity real-time data warehouse construction method |
CN113742247B (en) * | 2021-09-23 | 2023-04-18 | 四川新网银行股份有限公司 | Data acquisition test optimization method for sqoop |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013147785A1 (en) * | 2012-03-29 | 2013-10-03 | Hitachi Data Systems Corporation | Highly available search index with storage node addition and removal |
CN103488778A (en) * | 2013-09-27 | 2014-01-01 | 华为技术有限公司 | Data searching method and device |
CN106250565A (en) * | 2016-08-30 | 2016-12-21 | 福建天晴数码有限公司 | Querying method based on burst relevant database and system |
CN108351900A (en) * | 2015-10-07 | 2018-07-31 | 甲骨文国际公司 | Relational database tissue for fragment |
CN108932316A (en) * | 2018-06-21 | 2018-12-04 | 吉旗(成都)科技有限公司 | A kind of intermediary service scheme comprising cold and hot data separating and distributed data word |
CN109669988A (en) * | 2018-12-17 | 2019-04-23 | 武汉达梦数据库有限公司 | It is a kind of to inquire the fractionation synchronous method and system for building table things |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11010379B2 (en) * | 2017-08-15 | 2021-05-18 | Sap Se | Increasing performance of in-memory databases using re-ordered query execution plans |
CN110008286A (en) * | 2019-03-26 | 2019-07-12 | 华南理工大学 | A kind of injection molding equipment big data acquisition and storage system and method |
CN110147372B (en) * | 2019-05-21 | 2022-12-23 | 电子科技大学 | HTAP-oriented distributed database intelligent hybrid storage method |
-
2020
- 2020-01-09 CN CN202010020041.2A patent/CN110825816B/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013147785A1 (en) * | 2012-03-29 | 2013-10-03 | Hitachi Data Systems Corporation | Highly available search index with storage node addition and removal |
CN103488778A (en) * | 2013-09-27 | 2014-01-01 | 华为技术有限公司 | Data searching method and device |
CN108351900A (en) * | 2015-10-07 | 2018-07-31 | 甲骨文国际公司 | Relational database tissue for fragment |
CN106250565A (en) * | 2016-08-30 | 2016-12-21 | 福建天晴数码有限公司 | Querying method based on burst relevant database and system |
CN108932316A (en) * | 2018-06-21 | 2018-12-04 | 吉旗(成都)科技有限公司 | A kind of intermediary service scheme comprising cold and hot data separating and distributed data word |
CN109669988A (en) * | 2018-12-17 | 2019-04-23 | 武汉达梦数据库有限公司 | It is a kind of to inquire the fractionation synchronous method and system for building table things |
Also Published As
Publication number | Publication date |
---|---|
CN110825816A (en) | 2020-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3602341B1 (en) | Data replication system | |
US8239369B2 (en) | Method and apparatus for enhancing performance of database and environment thereof | |
US20190146966A1 (en) | Applications Of Automated Discovery Of Template Patterns Based On Received Requests | |
AU2017243870B2 (en) | "Methods and systems for database optimisation" | |
CN110825816B (en) | System and method for data acquisition of partitioned database | |
US10970343B2 (en) | Adapting database queries for data virtualization over combined database stores | |
WO2021051627A1 (en) | Database-based batch importing method, apparatus and device, and storage medium | |
CN110674161A (en) | Method, system, storage medium and SQL operation platform for online SQL | |
CN110795614A (en) | Index automatic optimization method and device | |
US20200250188A1 (en) | Systems, methods and data structures for efficient indexing and retrieval of temporal data, including temporal data representing a computing infrastructure | |
CN112434003B (en) | SQL optimization method and device, computer equipment and storage medium | |
CN110309206B (en) | Order information acquisition method and system | |
CN110321388A (en) | A kind of quicksort querying method and system based on Greenplum | |
US8849833B1 (en) | Indexing of data segments to facilitate analytics | |
CN115080666A (en) | Data synchronization method, system, electronic device and storage medium | |
US20220156163A1 (en) | Fault tolerance in scale-out distributed query processing appliance | |
US10698796B2 (en) | Non-transitory computer-readable medium, information processing apparatus, debugging system and debugging method | |
EP3436988B1 (en) | "methods and systems for database optimisation" | |
CN113032368A (en) | Data migration method and device, storage medium and platform | |
WO2019150589A1 (en) | Information processing program, information processing device, and debugging system | |
US11372885B2 (en) | Replication of complex augmented views | |
Wagner et al. | A sampling-based approach to accelerating queries in log management systems | |
US20240086392A1 (en) | Consistency checks for compressed data | |
US11740836B2 (en) | Parallel reads of data staging table | |
CN117555953A (en) | Method and device for exporting big data table based on table configuration and electronic 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 |