CN105938446A - 基于rdma和htm支持的数据复制容错方法 - Google Patents
基于rdma和htm支持的数据复制容错方法 Download PDFInfo
- Publication number
- CN105938446A CN105938446A CN201610018490.7A CN201610018490A CN105938446A CN 105938446 A CN105938446 A CN 105938446A CN 201610018490 A CN201610018490 A CN 201610018490A CN 105938446 A CN105938446 A CN 105938446A
- Authority
- CN
- China
- Prior art keywords
- data
- affairs
- htm
- rdma
- fault
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1474—Saving, restoring, recovering or retrying in transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于RDMA和HTM支持的数据复制容错方法,包括如下步骤:步骤1:在数据库事务提交时将事务修改的数据提交为一个中间的版本,使得其他执行中的事务可以检测到未完成备份的数据;步骤2:通过RDMA进行数据备份,数据备份完成后再将其修改的数据的版本修改为一个合法的版本;步骤3:在数据库事务的执行过程中,通过检测是否操作到中间版本的数据来保证这次事务执行的正确性。与现有的技术相比,本发明可以实现基于HTM和RDMA的并发控制方法,并提供相应的系统容错支持,同时不损失HTM和RDMA带来的并发控制的性能优势。
Description
技术领域
本发明涉及分布式计算和多核计算技术领域,具体地,涉及一种基于RDMA和HTM支持的数据复制容错方法。
背景技术
分布式内存计算为处理超大规模的并发事务提供了便利,而提供可用性是分布式系统一般需求;通常系统的可用性可以通过数据的备份来完成。当事务在某个主机器完成后,事务的修改会被备份到备份机器中。这样当某些主机器不工作的时候,备份机器可以代替主机器来完成请求。
现有使用新的硬件技术,比如硬件事务性内存HTM(Hardware TransactionalMemory),和远程内存直接访问RDMA(Remote Direct Memory Access)来加速分布式事务处理的系统。这些系统相比传统的并发控制方法具有非常好的性能,然而这些系统没有提供容错支持,从而目前这些系统不支持可用性。
硬件事务性内存HTM是一种硬件特性,直接由处理器提供执行程序时对共享内存数据的并发控制,具有非常低的开销。远程内存直接访问RDMA是新的网络通信技术,直接由网卡来对远端机器的内存进行操作,拥有非常高的吞吐量和低延迟的特性。虽然这两个技术一起使用的时候可以非常高效的执行数据库事务,然而却加大了系统容错的难度。
这类系统通常使用HTM来提交事务对本地机器的修改,这样可以拥有非常好的性能,却同时给系统容错带来了困难。因为通常采用数据备份或写日志来完成容错,如果等到数据用HTM提交完再作这些操作,则有数据在这些操作完成前可能会被远端机器用RDMA操作读到,因此当主机器不工作的时候,备份机器可能没有办法恢复主机器的数据,而这些数据却可能被某些其他服务器读到,从而违反了数据库事务的一致性。如果在事务提交前备份数据,则需要复杂的协议来检测未提交的数据,这会带来非常大的开销。所以之前利用HTM和RDMA的数据库事务系统都没有提供事务数据的备份。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于RDMA和HTM支持的数据复制容错方法。
根据本发明提供的基于RDMA和HTM支持的数据复制容错方法,包括如下步骤:
步骤1:将数据库执行事务前的所有数据记录为初始版本数据;
步骤2:将数据库事务提交时的事务修改数据作为中间版本数据;
步骤3:将事务修改数据复制至相应的备份服务器进行备份;
步骤4:将经过备份的事务修改数据作为合法版本数据;
步骤5:执行事务时,若读取到某一中间版本数据,则将该中间版本数据记录至对应的一个读集合中;
步骤6:检查事务是否能提交时时,若读集合中包含有中间版本数据,则中断执行对应的事务;
步骤7:定期检查备份服务器的日志,并恢复在主服务器中执行过的操作;
步骤8:当存在主服务器宕机时,则新的主服务器恢复原主服务器执行过的操作,并接受用户请求。
优选地,所述步骤1包括:在数据库执行事务前,将所有数据设为初始版本数据,即将初始版本数据的版本号设为0。
优选地,所述步骤2包括:在数据库利用HTM提交数据的时候,将事务修改数据设为一个中间版本数据,即相对于初始版本数据,所述中间版本数据的版本号自增1。
优选地,所述步骤3包括:将事务修改数据复制至相应的备份服务器中,即通过RDMA写操作将事务修改数据写到备份机服务器的日志中。
优选地,所述步骤4包括:将经过备份的事务修改数据设置为合法版本数据,即相对于中间版本数据,所述合法版本数据的版本号自增1。
优选地,所述步骤5包括:在事务的执行过程中,当读到一个中间版本数据,则将该数据记录到一个读集合中;其中,所述中间版本数据的版本号为奇数,且每个事务维护一个读集合。
优选地,所述步骤6包括:在检查事务能否提交的过程中,读取读集合中数据的版本,若读集合中包含有中间版本数据,即存在版本号为奇数的数据,则中断执行对应对的事务。
优选地,所述步骤7包括:当在检查备份服务器的日志时发现存在数据操作,则将相应的操作应用于所述备份服务器复制的数据上。
优选地,所述步骤8包括:在备份服务器开始恢复数据时,从所有原主服务器的备份服务器的日志中读取数据的修改操作,并在新的主服务器中执行所述修改操作。
优选地,使用HTM将数据提交为一个中间状态,同时事务提交时检测是否读到一个中间状态的数据,这样对未完成备份的数据不需要进行上锁操作。与现有技术相比,本发明具有如下的有益效果:
1、本发明提供的基于RDMA和HTM支持的数据复制容错方法,利用HTM提交事务本身就需要修改数据的版本号的特性,将版本变为一个中间版本,从而避免了性能开销很大的上锁操作。
2、本发明提供的基于RDMA和HTM支持的数据复制容错方法的数据备份操作在事务提交操作之后,使得备份的操作基本不会影响事务并发控制的性能。
3、本发明提供的基于RDMA和HTM支持的数据复制容错方法避免了很多事务执行时候的中断重试,事务执行的时候可以读到一个没有完成备份的数据,然而事务可以不用中断继续执行,只要事务提交的时候数据已经完成备份就可以通过验证;这样使得数据备份和事务执行可以并发的进行而不影响正确性。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明提供的基于RDMA和HTM支持的数据复制容错方法的流程图;
图2为本发明提供的基于RDMA和HTM支持的数据复制容错方法的拓扑图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
根据本发明提供的基于RDMA和HTM支持的数据复制容错方法,该方法先在数据库事务提交时将事务修改的数据提交为一个中间的版本,使得其他执行中的事务可以检测到未完成备份的数据,然后通过RDMA进行数据备份,数据备份完成后再将其修改的数据的版本修改为一个合法的版本;在数据库事务的执行过程中,通过检测是否操作到中间版本的数据来保证这次事务执行的正确性;在机器宕机时,数据可以从备份机器中恢复;具体地,包括以下步骤:
步骤1:在数据库执行事务前将所有数据的版本设为一个初始版本;
步骤2:在事务利用HTM提交事务的时候将所修改的数据的版本变为一个中间版本;
步骤3:将事务所修改的数据复制到数据的备份机器中;
步骤4:将事务所修改的数据的版本变为一个合法的版本;
步骤5:在事务的执行过程中,如果读到一个中间版本的数据,则记录这个数据到一个读集合中;
步骤6:在事务的检查过程中,如果读集合中仍然有数据的版本是中间版本,则中断这个事务的执行;
步骤7:备份服务器定期检查其日志,并恢复主服务器中执行过的操作;
步骤8:在有主服务器宕机后,被选为新的主服务器的原备份机器从恢复主服务器的事务的操作,随后开始接受用户请求。
所述步骤1包括:在数据库执行事务前将所有数据的版本设为一个初始版本,将初始版本设为0。
所述步骤2包括:在事务利用HTM提交的时候将所修改的数据的版本变为一个中间版本,特别的将数据的版本变为之前的版本加上1。
所述步骤3包括,将事务所修改的数据复制到数据的备份机器中,使用RDMA写操作将所有数据的操作写到他们的备份机器的日志中。
所述步骤4包括,将事务所修改的数据变为一个合法的版本,即再将其版本在其之前版本上加上1。
所述步骤5包括,在事务的执行过程中,如果读到一个中间版本的数据,则记录这个数据到一个读集合中,中间版本即数据的版本是一个奇数,每个事务维护一个读集合。
所述步骤6包括,在事务的检查过程中,再次读取读集合中数据的版本,如果其中仍然有版本号为基数的数据,则中断事务的执行。
所述步骤7包括,在备份服务器检查日志发现有数据操作时,将相应的操作应用在其复制的数据上。
所述步骤8包括,在备份服务器开始恢复数据的时候,从所有原主服务器的备份服务器的日志中中读取数据的修改的操作,在本地机器执行这些操作。
具体地,如图1所示,为本发明数据库事务数据备份的具体流程,下面以一个数据有两个备份为例,结合图1对一下数据备份步骤进行详细描述:
在步骤S1中,执行事务逻辑,如果有读写版本号为奇数的数据,则将这个数据记录到事务的读集合中;
在步骤S2中,事务提交时再次读取读集合中的数据,并检查是否这些数据中仍然有奇数版本的数据,如果是则返回执行步骤S1重新执行事务;
在步骤S3中,事务提交,事务将所有修改的数据的版本号修改为当前版本号加上一;
在步骤S4中,事务将所修改的数据使用RDMA操作备份到备份机器中,如图2所示,主服务器A会将事务的修改通过RDMA网络将数据写到备份服务器C的日志中;
在步骤S5中,事务将所有修改的数据版本号修改为当前版本加1,事务提交完成。
更进一步地,如图2所示,本发明假设拥有多个服务器,它们通过RDMA网络请求;其中一部分服务器作为主服务器接受用户请求,执行用户指定的事务;一部分服务器作为备份服务器储存主服务器数据,他们复制其对应的主服务器上的数据;当主服务器宕机的时候对应的备份服务器会恢复主服务器的数据接并代替原主服务器接受用户的请求。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
Claims (10)
1.一种基于RDMA和HTM支持的数据复制容错方法,其特征在于,包括如下步骤:
步骤1:将数据库执行事务前的所有数据记录为初始版本数据;
步骤2:将数据库事务提交时的事务修改数据作为中间版本数据;
步骤3:将事务修改数据复制至相应的备份服务器进行备份;
步骤4:将经过备份的事务修改数据作为合法版本数据;
步骤5:执行事务时,若读取到某一中间版本数据,则将该中间版本数据记录至对应的一个读集合中;
步骤6:检查事务是否能提交时时,若读集合中包含有中间版本数据,则中断执行对应的事务;
步骤7:定期检查备份服务器的日志,并恢复在主服务器中执行过的操作;
步骤8:当存在主服务器宕机时,则新的主服务器恢复原主服务器执行过的操作,并接受用户请求。
2.根据权利要求1所述的基于RDMA和HTM支持的数据复制容错方法,其特征在于,所述步骤1包括:在数据库执行事务前,将所有数据设为初始版本数据,即将初始版本数据的版本号设为0。
3.根据权利要求1所述的基于RDMA和HTM支持的数据复制容错方法,其特征在于,所述步骤2包括:在数据库利用HTM提交数据的时候,将事务修改数据设为一个中间版本数据,即相对于初始版本数据,所述中间版本数据的版本号自增1。
4.根据权利要求1所述的基于RDMA和HTM支持的数据复制容错方法,其特征在于,所述步骤3包括:将事务修改数据复制至相应的备份服务器中,即通过RDMA写操作将事务修改数据写到备份机服务器的日志中。
5.根据权利要求1所述的基于RDMA和HTM支持的数据复制容错方法,其特征在于,所述步骤4包括:将经过备份的事务修改数据设置为合法版本数据,即相对于中间版本数据,所述合法版本数据的版本号自增1。
6.根据权利要求3所述的基于RDMA和HTM支持的数据复制容错方法,其特征在于,所述步骤5包括:在事务的执行过程中,当读到一个中间版本数据,则将该数据记录到一个读集合中;其中,所述中间版本数据的版本号为奇数,且每个事务维护一个读集合。
7.根据权利要求6所述的基于RDMA和HTM支持的数据复制容错方法,其特征在于,所述步骤6包括:在检查事务能否提交的过程中,读取读集合中数据的版本,若读集合中包含有中间版本数据,即存在版本号为奇数的数据,则中断执行对应对的事务。
8.根据权利要求1所述的基于RDMA和HTM支持的数据复制容错方法,其特征在于,所述步骤7包括:当在检查备份服务器的日志时发现存在数据操作,则将相应的操作应用于所述备份服务器复制的数据上。
9.根据权利要求1所述的基于RDMA和HTM支持的数据复制容错方法,其特征在于,所述步骤8包括:在备份服务器开始恢复数据时,从所有原主服务器的备份服务器的日志中读取数据的修改操作,并在新的主服务器中执行所述修改操作。
10.根据权利要求1所述的基于RDMA和HTM支持的数据复制容错方法,其特征在于,使用HTM将数据提交为一个中间状态,同时事务提交时检测是否读到一个中间状态的数据,这样对未完成备份的数据不需要进行上锁操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610018490.7A CN105938446B (zh) | 2016-01-12 | 2016-01-12 | 基于rdma和硬件事务性内存支持的数据复制容错方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610018490.7A CN105938446B (zh) | 2016-01-12 | 2016-01-12 | 基于rdma和硬件事务性内存支持的数据复制容错方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105938446A true CN105938446A (zh) | 2016-09-14 |
CN105938446B CN105938446B (zh) | 2019-01-25 |
Family
ID=57152911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610018490.7A Active CN105938446B (zh) | 2016-01-12 | 2016-01-12 | 基于rdma和硬件事务性内存支持的数据复制容错方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105938446B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107590028A (zh) * | 2017-09-14 | 2018-01-16 | 广州华多网络科技有限公司 | 一种信息处理的方法、服务器 |
CN107967188A (zh) * | 2016-10-18 | 2018-04-27 | 腾讯科技(深圳)有限公司 | 数据存储中的处理方法和装置 |
CN110069431A (zh) * | 2018-01-24 | 2019-07-30 | 上海交通大学 | 基于RDMA和HTM的弹性Key-Value键值对数据存储方法 |
CN110874290A (zh) * | 2019-10-09 | 2020-03-10 | 上海交通大学 | 分布式内存数据库的事务分析混合处理方法及数据库 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101089857A (zh) * | 2007-07-24 | 2007-12-19 | 中兴通讯股份有限公司 | 一种内存数据库事务管理方法及系统 |
CN102722401A (zh) * | 2012-04-25 | 2012-10-10 | 华中科技大学 | 一种硬件事务内存系统中的伪相联多版本数据管理方法 |
CN103366511A (zh) * | 2013-05-30 | 2013-10-23 | 中国水利水电科学研究院 | 一种山洪预警数据接收汇集的方法 |
CN103636181A (zh) * | 2011-06-29 | 2014-03-12 | 微软公司 | 通过远程直接存储器访问的任意大小的传输操作 |
CN104410681A (zh) * | 2014-11-21 | 2015-03-11 | 上海交通大学 | 基于远程直接内存访问的虚拟机动态迁移优化方法 |
CN104866430A (zh) * | 2015-04-30 | 2015-08-26 | 上海交通大学 | 结合主从备份和纠删码的内存计算系统高可用优化方法 |
-
2016
- 2016-01-12 CN CN201610018490.7A patent/CN105938446B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101089857A (zh) * | 2007-07-24 | 2007-12-19 | 中兴通讯股份有限公司 | 一种内存数据库事务管理方法及系统 |
CN103636181A (zh) * | 2011-06-29 | 2014-03-12 | 微软公司 | 通过远程直接存储器访问的任意大小的传输操作 |
CN102722401A (zh) * | 2012-04-25 | 2012-10-10 | 华中科技大学 | 一种硬件事务内存系统中的伪相联多版本数据管理方法 |
CN103366511A (zh) * | 2013-05-30 | 2013-10-23 | 中国水利水电科学研究院 | 一种山洪预警数据接收汇集的方法 |
CN104410681A (zh) * | 2014-11-21 | 2015-03-11 | 上海交通大学 | 基于远程直接内存访问的虚拟机动态迁移优化方法 |
CN104866430A (zh) * | 2015-04-30 | 2015-08-26 | 上海交通大学 | 结合主从备份和纠删码的内存计算系统高可用优化方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107967188A (zh) * | 2016-10-18 | 2018-04-27 | 腾讯科技(深圳)有限公司 | 数据存储中的处理方法和装置 |
CN107967188B (zh) * | 2016-10-18 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 数据存储中的处理方法和装置 |
CN107590028A (zh) * | 2017-09-14 | 2018-01-16 | 广州华多网络科技有限公司 | 一种信息处理的方法、服务器 |
CN107590028B (zh) * | 2017-09-14 | 2021-05-11 | 广州华多网络科技有限公司 | 一种信息处理的方法、服务器 |
CN110069431A (zh) * | 2018-01-24 | 2019-07-30 | 上海交通大学 | 基于RDMA和HTM的弹性Key-Value键值对数据存储方法 |
CN110069431B (zh) * | 2018-01-24 | 2020-11-24 | 上海交通大学 | 基于RDMA和HTM的弹性Key-Value键值对数据存储方法 |
CN110874290A (zh) * | 2019-10-09 | 2020-03-10 | 上海交通大学 | 分布式内存数据库的事务分析混合处理方法及数据库 |
CN110874290B (zh) * | 2019-10-09 | 2023-05-23 | 上海交通大学 | 分布式内存数据库的事务分析混合处理方法及数据库 |
Also Published As
Publication number | Publication date |
---|---|
CN105938446B (zh) | 2019-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11256715B2 (en) | Data backup method and apparatus | |
US9798792B2 (en) | Replication for on-line hot-standby database | |
US8874508B1 (en) | Systems and methods for enabling database disaster recovery using replicated volumes | |
US9830223B1 (en) | Methods for repairing a corrupted database to a new, correct state | |
US8909604B1 (en) | Methods for returning a corrupted database to a known, correct state by selectively using redo and undo operations | |
US7613890B1 (en) | Consistent replication across multiple storage devices | |
US9479395B2 (en) | Model framework to facilitate robust programming of distributed workflows | |
JP4791051B2 (ja) | 任意数のバックアップ・コンポーネント用のシステム・アーキテクチャのための方法、システム、およびコンピュータ・プログラム | |
US8364636B2 (en) | Real time data replication | |
CN107004010A (zh) | 控制多数据库系统 | |
US20100169289A1 (en) | Two Phase Commit With Grid Elements | |
CN105938446A (zh) | 基于rdma和htm支持的数据复制容错方法 | |
US20230315713A1 (en) | Operation request processing method, apparatus, device, readable storage medium, and system | |
CN105574026A (zh) | 非关系型数据库支持事务的方法及装置 | |
US11797523B2 (en) | Schema and data modification concurrency in query processing pushdown | |
US20160170842A1 (en) | Writing to files and file meta-data | |
WO2023216636A1 (zh) | 事务处理方法、装置及电子设备 | |
WO2022132333A1 (en) | Schema and data modification concurrency in query processing pushdown | |
CN109446212B (zh) | 一种双活主机系统切换方法及系统 | |
CN113220784A (zh) | 高可用数据库系统的实现方法、装置、设备及存储介质 | |
Zhou et al. | FoundationDB: A Distributed Key Value Store | |
CN109271277B (zh) | 数据库宕机后的访问方法、装置和系统 | |
Okun et al. | Atomic writes for data integrity and consistency in shared storage devices for clusters | |
WO2024193138A1 (zh) | 事务处理方法及相关设备 | |
CN117851011B (zh) | 任务队列管理方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |