CN112084191B - 一种基于Spark SQL的OpenTsdb时序数据查询方法 - Google Patents
一种基于Spark SQL的OpenTsdb时序数据查询方法 Download PDFInfo
- Publication number
- CN112084191B CN112084191B CN202010916301.4A CN202010916301A CN112084191B CN 112084191 B CN112084191 B CN 112084191B CN 202010916301 A CN202010916301 A CN 202010916301A CN 112084191 B CN112084191 B CN 112084191B
- Authority
- CN
- China
- Prior art keywords
- data
- opentsdb
- time sequence
- time
- spark sql
- 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
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000005192 partition Methods 0.000 claims abstract description 48
- 238000007619 statistical method Methods 0.000 claims abstract description 11
- 238000005457 optimization Methods 0.000 claims abstract description 8
- 239000003054 catalyst Substances 0.000 claims abstract description 7
- 230000008569 process Effects 0.000 claims description 12
- 238000013507 mapping Methods 0.000 claims description 10
- 230000004807 localization Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/2453—Query optimisation
-
- 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/2474—Sequence data queries, e.g. querying versioned data
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
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)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种基于Spark SQL的OpenTsdb时序数据查询方法,涉及时序序列数据技术领域,其实现内容包括:(1)通过Spark SQL内置的DataFrame API自定义OpenTsdb数据源,包括:(1.1)定义Spark SQL数据表的元数据,(1.2)访问OpenTsdb底层存储HBase表中的数据,结合定义的schema与“tsdb‑meta”表中的数据,解析tsdb表中的时序数据,(1.3)通过tsdb表,对每个Region分区进行统计分析,为Spark SQL的Catalyst优化器提供算子下推、逻辑计划生成、物理执行计划优化提供数据支撑,提升Spark SQL的执行效率;(2)通过Spark SQL语句查询分析OpenTsdb中存储的时序数据。本发明可以提升OpenTsdb的易用性、兼容性,尤其在大量时序数据库复杂查询分析的场景下,还可以提升查询的响应时间,提升OpenTsdb的查询分析性能。
Description
技术领域
本发明涉及时序序列数据技术领域,具体的说是一种基于Spark SQL的OpenTsdb时序数据查询方法。
背景技术
物联网IoT(Internet of Things)体系分为感知层、传输层、应用层,随着物联网技术的发展,越来越多的物(设备或传感器等)相互连接起来,从而产生了海量的时序数据,在此背景下,诞生了满足海量数据快速存储的专业领域型数据库-时序数据库OpenTsdb。
OpenTsdb是基于Hbase的时序数据库,又称时间序列数据库,不具备通用性,主要针对具有时间特性和需求的数据,如监控数据、温度变化数据等。OpenTsdb说是数据库,但并不能称作为数据库,它是在Hbase(HBase才是具有存储功能的)的基础上,进行数据结构的优化和处理,从而适合存储具有时间特性的数据,同时提供特定的工具进行查询等操作
时间序列数据是指是一段时间内某个特定指标量的一系列数值数据点,OpenTsdb将时序数据通过指标和标签以及时间戳来唯一标识一个指标量,这些指标数据具有不可变性。TSD是OpenTsdb的服务进程,它是基于HBase集群的无状态服务,它通过将指标和标签数据数字化映射的方式、指定时间间隔的相同标签的指标数据聚合的方式以及Snappy、Zlib等数据压缩技术提高数据I/O的效率。
物联网平台中数据快速存储和读取的时序数据库OpenTsdb基于HTTP协议的RESTFUL风格的API查询,但并未对标准SQL语句查询提供支持,在易用性和大量时序数据复杂统计分析性能方面稍显不足。
发明内容
本发明针对物联网平台中数据快速存储和读取的时序数据库OpenTsdb未对标准SQL语句查询提供支持的缺陷,提供一种基于Spark SQL的OpenTsdb时序数据查询方法。
本发明的一种基于Spark SQL的OpenTsdb时序数据查询方法,解决上述技术问题采用的技术方案如下:
一种基于Spark SQL的OpenTsdb时序数据查询方法,其实现内容包括:
(1)通过Spark SQL内置的DataFrame API自定义OpenTsdb数据源,具体包括:
(1.1)定义Spark SQL数据表的元数据,
(1.2)访问OpenTsdb底层存储HBase表中的数据,结合定义的元数据与“tsdb-meta”表中的数据,解析tsdb表中的时序数据,
(1.3)通过tsdb表,对每个Region分区进行统计分析,为Spark SQL的Catalyst优化器提供算子下推、逻辑计划生成、物理执行计划优化提供数据支撑,提升Spark SQL的执行效率;
(2)通过Spark SQL语句查询分析OpenTsdb中存储的时序数据。
可选的,步骤(1.1)定义Spark SQL数据表的元数据,其具体实现为:
定义一个实现Spark的数据源、读取支持接口的时序数据源装置,通过数据源选项提供HBase集群地址、tsdb表、tsdb-meta表、时间序列数据精度、数据表元数据描述各项参数信息,在创建读取器方法中根据上述参数创建时序数据源读取器装置。
进一步可选的,步骤(1.2)解析tsdb表中的时序数据时,需要定义一个实现数据源读取器、下推过滤算子、报告统计数据、下推需求列、报告分区数据接口的时序数据源读取器装置;
时序数据源读取器装置实现读取元数据方法,读取数据表元数据描述信息创建结构体类型实例,
时序数据源读取器装置在计划输入分区方法中根据HBase数据库中“tsdb”表的Region列表创建时序数据输入分区实例集合列表,
时序数据源读取器装置实现过滤器下推方法支持算子下推。
优选的,时序数据源读取器装置实现过滤器下推方法中具体支持时序数据时间戳、标签键值、指标三个字段的算子下推。
进一步可选的,步骤(1.3)中,对每个Region分区进行统计分析,此时,
基于定义的时序数据源读取器装置,根据预估统计数据方法统计各个Region分区的数据量,根据Rowkey分析指标与Region分区的映射关系、时间戳与Region分区的映射关系、标签键值对于Region分区的映射关系,为Catalyst优化器优化执行计划提供数据支撑。
进一步可选的,时序数据源读取器装置采用广播的方式将HBase
中”tsdb-meta”表中的数据广播到所有执行读取任务的执行器中,避免频繁的网络I/O,减少时序数据的解析耗费时间,加快时序数据的解析速度。
进一步可选的,步骤(1.3)中,对每个Region分区进行统计分析,这一过程中,需要定义一个实现输入分区接口的时序数据输入分区,此时,
每个HBase“tsdb”数据表Region分区对应一个输入分区实例,在创建分区器方法中创建时序数据分区器,优化数据块位置方法为执行当前输入分区读取任务的执行器指定最优的数据块位置,即为数据本地化读取策略提供支持。
进一步可选的,解析tsdb表中的时序数据,并通过tsdb表对每个Region分区进行统计分析,这一过程中,需要定义一个实现输入分区读取器接口的时序数据输入分区读取器,时序数据输入分区读取器通过直接获取和下一个方法迭代读取Region并解析时序数据,读取完毕后调用close()方法关闭资源。
优选的,用户通过JDBC桥接器、控制台、应用程序中的任一方式作为入口,使用Spark SQL语句查询分析OpenTsdb中存储的时序数据。
本发明的一种基于Spark SQL的OpenTsdb时序数据查询方法,与现有技术相比具有的有益效果是:
本发明使用Spark SQL语句查询分析OpenTsdb中存储的时序数据,可以提升OpenTsdb的易用性、兼容性,尤其在大量时序数据库复杂查询分析的场景下,还可以提升查询的响应时间,提升OpenTsdb的查询分析性能。
附图说明
附图1是本发明的方法流程架构图;
附图2是本发明自定义OpenTsdb数据源的实现类图。
具体实施方式
为使本发明的技术方案、解决的技术问题和技术效果更加清楚明白,以下结合具体实施例,对本发明的技术方案进行清楚、完整的描述。
实施例一:
结合附图1,本实施例提出一种基于Spark SQL的OpenTsdb时序数据查询方法,其实现内容包括:
(1)通过Spark SQL内置的DataFrame API自定义OpenTsdb数据源,具体包括:
(1.1)定义Spark SQL数据表的元数据,结合附图2,其具体实现为:
定义一个实现Spark的数据源DataSourceV2、读取支持接口ReadSupport的时序数据源装置TsdbDataSource,通过数据源DataSourceOptions选项提供HBase集群地址、tsdb表、tsdb-meta表、时间序列数据精度、数据表元数据描述各项参数信息,在创建读取器createReader方法中根据上述参数创建时序数据源读取器装置TsdbDataSourceReader。
(1.2)访问OpenTsdb底层存储HBase表中的数据,结合定义的元数据与“tsdb-meta”表中的数据,解析tsdb表中的时序数据,结合附图2,其具体实现为:
定义一个实现数据源读取器DataSourceReader、下推过滤算子SupportPushDownFilters、报告统计数据SupportsReportStaticstics、下推需求列SupportPushDownRequiredColumns、报告分区数据SupportReportPartitioning接口的时序数据源读取器装置TsdbDataSourceReader;
时序数据源读取器装置TsdbDataSourceReader实现读取元数据readSchema方法,读取数据表元数据描述信息创建结构体StructType类型实例,
时序数据源读取器装置TsdbDataSourceReader在计划输入分区
planInputPartitions()方法中根据HBase数据库中“tsdb”表的Region列表创建时序数据输入分区TsdbInputPartition实例集合列表,
时序数据源读取器装置TsdbDataSourceReader实现过滤器下推pushedFilters方法具体支持时序数据时间戳、标签键值、指标三个字段的算子下推。
(1.3)通过tsdb表,对每个Region分区进行统计分析,为Spark SQL的Catalyst优化器提供算子下推、逻辑计划生成、物理执行计划优化提供数据支撑,提升Spark SQL的执行效率。这一过程中,
基于定义的时序数据源读取器装置TsdbDataSourceReader,根据预估统计数据estimateStatistics方法统计各个Region分区的数据量,根据Rowkey分析指标与Region分区的映射关系、时间戳与Region分区的映射关系、标签键值对于Region分区的映射关系,为Catalyst优化器优化执行计划提供数据支撑。
时序数据源读取器装置TsdbDataSourceReader采用广播的方式将HBase
中”tsdb-meta”表中的数据广播到所有执行读取任务的执行器Executor中,避免频繁的网络I/O,减少时序数据的解析耗费时间,加快时序数据的解析速度。
结合附图2,步骤(1.3)中,还需要定义一个实现输入分区InputPartition接口的时序数据输入分区TsdbInputPartition,此时,每个HBase“tsdb”数据表Region分区对应一个输入分区InputPartition实例,在创建分区器
createPartitionReader()方法中创建时序数据分区器TsdbInputPartitionReader,优化数据块位置perferredLocation()方法为为执行当前输入分区InputPartition读取任务的执行器Executor指定最优的数据块位置,即为数据本地化读取策略提供支持。
需要补充的一点是,解析tsdb表中的时序数据,并通过tsdb表对每个Region分区进行统计分析,这一过程中,还需要定义一个实现输入分区读取器InputPartitionReader接口的时序数据输入分区读取器TsdbInputPartitionReader,时序数据输入分区读取器TsdbInputPartitionReader通过get()和next()方法迭代读取Region并解析时序数据,读取完毕后调用close()方法关闭资源。
(2)用户通过JDBC桥接器、控制台、应用程序中的任一方式作为入口,使用SparkSQL语句查询分析OpenTsdb中存储的时序数据。Spark SQL是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象叫做DataFrame并且作为分布式SQL查询引擎的作用。
综上可知,采用本发明的一种基于Spark SQL的OpenTsdb时序数据查询方法,可以提升OpenTsdb的易用性、兼容性,尤其在大量时序数据库复杂查询分析的场景下,还可以提升查询的响应时间,提升OpenTsdb的查询分析性能。
以上应用具体个例对本发明的原理及实施方式进行了详细阐述,这些实施例只是用于帮助理解本发明的核心技术内容。基于本发明的上述具体实施例,本技术领域的技术人员在不脱离本发明原理的前提下,对本发明所作出的任何改进和修饰,皆应落入本发明的专利保护范围。
Claims (9)
1.一种基于Spark SQL的OpenTsdb时序数据查询方法,其特征在于,其实现过程包括:
(1)通过Spark SQL内置的DataFrame API自定义OpenTsdb数据源,具体包括:
(1.1)定义Spark SQL数据表的元数据,
(1.2)访问OpenTsdb底层存储HBase表中的数据,结合定义的元数据与“tsdb-meta”表中的数据,解析tsdb表中的时序数据,
(1.3)通过tsdb表,对每个Region分区进行统计分析,为Spark SQL的Catalyst优化器提供算子下推、逻辑计划生成、物理执行计划优化提供数据支撑;
(2)通过Spark SQL语句查询分析OpenTsdb中存储的时序数据。
2.根据权利要求1所述的一种基于Spark SQL的OpenTsdb时序数据查询方法,其特征在于,步骤(1.1)定义Spark SQL数据表的元数据,其具体实现为:
定义一个实现Spark的数据源、读取支持接口的时序数据源装置,通过数据源选项提供HBase集群地址、tsdb表、tsdb-meta表、时间序列数据精度、数据表元数据描述各项参数信息,在创建读取器方法中根据上述参数创建时序数据源读取器装置。
3.根据权利要求2所述的一种基于Spark SQL的OpenTsdb时序数据查询方法,其特征在于,步骤(1.2)解析tsdb表中的时序数据时,需要定义一个实现数据源读取器、下推过滤算子、报告统计数据、下推需求列、报告分区数据接口的时序数据源读取器装置;
时序数据源读取器装置实现读取元数据方法,读取数据表元数据描述信息创建结构体类型实例,
时序数据源读取器装置实现计划输入分区方法中根据HBase数据库中“tsdb”表的Region列表创建时序数据输入分区实例集合列表,
时序数据源读取器装置实现过滤器下推方法支持算子下推。
4.根据权利要求3所述的一种基于Spark SQL的OpenTsdb时序数据查询方法,其特征在于,时序数据源读取器装置实现过滤器下推方法中具体支持时序数据时间戳、标签键值、指标三个字段的算子下推。
5.根据权利要求4所述的一种基于Spark SQL的OpenTsdb时序数据查询方法,其特征在于,步骤(1.3)中,对每个Region分区进行统计分析,此时,
基于定义的时序数据源读取器装置,根据预估统计数据方法统计各个Region分区的数据量,根据Rowkey分析指标与Region分区的映射关系、时间戳与Region分区的映射关系、标签键值对于Region分区的映射关系,为Catalyst优化器优化执行计划提供数据支撑。
6.根据权利要求5所述的一种基于Spark SQL的OpenTsdb时序数据查询方法,其特征在于,时序数据源读取器装置采用广播的方式将HBase中”tsdb-meta”表中的数据广播到所有执行读取任务的执行器中。
7.根据权利要求5所述的一种基于Spark SQL的OpenTsdb时序数据查询方法,其特征在于,步骤(1.3)中,对每个Region分区进行统计分析,这一过程中,需要定义一个实现输入分区接口的时序数据输入分区,此时,
每个HBase“tsdb”数据表Region分区对应一个输入分区实例,在创建分区器方法中创建时序数据分区器,优化数据块位置方法为执行当前输入分区读取任务的执行器指定最优的数据块位置,即为数据本地化读取策略提供支持。
8.根据权利要求5所述的一种基于Spark SQL的OpenTsdb时序数据查询方法,其特征在于,解析tsdb表中的时序数据,并通过tsdb表对每个Region分区进行统计分析,这一过程中,需要定义一个实现输入分区读取器接口的时序数据输入分区读取器;
时序数据输入分区读取器通过直接获取和下一个方法迭代读取Region并解析时序数据,读取完毕后调用close()方法关闭资源。
9.根据权利要求1所述的一种基于Spark SQL的OpenTsdb时序数据查询方法,其特征在于,用户通过JDBC桥接器、控制台、应用程序中的任一方式作为入口,使用Spark SQL语句查询分析OpenTsdb中存储的时序数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010916301.4A CN112084191B (zh) | 2020-09-03 | 2020-09-03 | 一种基于Spark SQL的OpenTsdb时序数据查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010916301.4A CN112084191B (zh) | 2020-09-03 | 2020-09-03 | 一种基于Spark SQL的OpenTsdb时序数据查询方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112084191A CN112084191A (zh) | 2020-12-15 |
CN112084191B true CN112084191B (zh) | 2023-12-26 |
Family
ID=73732591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010916301.4A Active CN112084191B (zh) | 2020-09-03 | 2020-09-03 | 一种基于Spark SQL的OpenTsdb时序数据查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112084191B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113704296A (zh) * | 2021-08-03 | 2021-11-26 | 浪潮云信息技术股份公司 | 一种基于Spark SQL的计算下推查询优化方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105279286A (zh) * | 2015-11-27 | 2016-01-27 | 陕西艾特信息化工程咨询有限责任公司 | 一种交互式大数据分析查询处理方法 |
CN110442602A (zh) * | 2019-07-02 | 2019-11-12 | 新华三大数据技术有限公司 | 数据查询方法、装置、服务器及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7937319B2 (en) * | 2005-03-21 | 2011-05-03 | Oversight Technologies, Inc. | Methods and systems for compliance monitoring knowledge base |
CA2560277A1 (en) * | 2004-03-19 | 2005-09-29 | Oversight Technologies, Inc. | Methods and systems for transaction compliance monitoring |
US9355145B2 (en) * | 2011-01-25 | 2016-05-31 | Hewlett Packard Enterprise Development Lp | User defined function classification in analytical data processing systems |
-
2020
- 2020-09-03 CN CN202010916301.4A patent/CN112084191B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105279286A (zh) * | 2015-11-27 | 2016-01-27 | 陕西艾特信息化工程咨询有限责任公司 | 一种交互式大数据分析查询处理方法 |
CN110442602A (zh) * | 2019-07-02 | 2019-11-12 | 新华三大数据技术有限公司 | 数据查询方法、装置、服务器及存储介质 |
Non-Patent Citations (1)
Title |
---|
基于数据仓库技术的决策支持系统的研究与应用;李敏强, 潘振江, 寇纪淞;系统工程理论与实践(03);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112084191A (zh) | 2020-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108197237B (zh) | 可视化数据采集到展现系统 | |
CN105183735B (zh) | 数据的查询方法及查询装置 | |
CN104620239B (zh) | 自适应查询优化 | |
CN108256088A (zh) | 一种基于键值数据库的时序数据的存储方法及系统 | |
CN109542967B (zh) | 基于xbrl标准的智慧城市数据共享系统及方法 | |
CN104899295B (zh) | 一种异构数据源数据关联分析方法 | |
CN103970902A (zh) | 一种大量数据情况下的可靠即时检索方法及系统 | |
CN111078702A (zh) | 一种sql语句分类管理及统一查询方法和装置 | |
CN102779138B (zh) | 实时数据的硬盘存取方法 | |
CN102063449A (zh) | 提高数据库中数据对象统计信息可靠性的方法及装置 | |
CN102298598A (zh) | 一种专利信息分析方法及装置 | |
CN106599052A (zh) | 一种基于ApacheKylin的数据查询系统及其方法 | |
CN111400288A (zh) | 数据质量检查方法及系统 | |
CN104951509A (zh) | 一种大数据在线交互式查询方法及系统 | |
CN111061758A (zh) | 数据存储方法、装置及存储介质 | |
CN113177090A (zh) | 数据处理方法及装置 | |
CN112084191B (zh) | 一种基于Spark SQL的OpenTsdb时序数据查询方法 | |
CN108804594A (zh) | 一种新闻内容全文检索引擎的构建方法及装置 | |
CN102314514B (zh) | 一种表格数据结构化的作用域方法 | |
CN114328601A (zh) | 数据降采样和数据查询方法、系统及存储介质 | |
CN113515610A (zh) | 一种基于面向对象语言处理的档案管理方法 | |
CN116737113B (zh) | 面向海量科学数据的元数据目录管理系统及方法 | |
CN110019192B (zh) | 数据库的检索方法及装置 | |
CN116126973A (zh) | 气象格点数据管理方法和装置 | |
CN114925054A (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 |