CN110825816B - System and method for data acquisition of partitioned database - Google Patents

System and method for data acquisition of partitioned database Download PDF

Info

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
Application number
CN202010020041.2A
Other languages
Chinese (zh)
Other versions
CN110825816A (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.)
Sichuan XW Bank Co Ltd
Original Assignee
Sichuan XW Bank 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 Sichuan XW Bank Co Ltd filed Critical Sichuan XW Bank Co Ltd
Priority to CN202010020041.2A priority Critical patent/CN110825816B/en
Publication of CN110825816A publication Critical patent/CN110825816A/en
Application granted granted Critical
Publication of CN110825816B publication Critical patent/CN110825816B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, 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

System and method for data acquisition of partitioned database
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:
Figure 287014DEST_PATH_IMAGE002
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:
Figure DEST_PATH_IMAGE004AA
the structure of the acquisition table is table 3:
table 3:
Figure DEST_PATH_IMAGE006AA
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.
CN202010020041.2A 2020-01-09 2020-01-09 System and method for data acquisition of partitioned database Active CN110825816B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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