CN110362397A - 一种具有延迟约束功能的气泡执行方法 - Google Patents
一种具有延迟约束功能的气泡执行方法 Download PDFInfo
- Publication number
- CN110362397A CN110362397A CN201910668313.7A CN201910668313A CN110362397A CN 110362397 A CN110362397 A CN 110362397A CN 201910668313 A CN201910668313 A CN 201910668313A CN 110362397 A CN110362397 A CN 110362397A
- Authority
- CN
- China
- Prior art keywords
- bubble
- execution
- queue
- task
- failure
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/2455—Query execution
- G06F16/24553—Query execution of query operations
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种具有延迟约束功能的气泡执行方法,本发明涉及气泡执行方法。本发明的目的是为了解决现有查询处理过程中的计算效率和可控度低的问题。过程为:引入查询优化器,将所有的查询语句分成若干查询计划,查询计划由有向无环图组成;将有向无环图划分为子图;若气泡中所有任务的输入都已经准备好,进入气泡队列,否则等待气泡准备好;若气泡中全部任务执行成功,将气泡从队列中移除;若气泡中某一任务执行失败,故障传播到同一气泡中的其他任务,将气泡移除队列,当失败的任务准备好,将气泡重新推送至气泡队列;若多个气泡的执行总代价没有超过数据库系统要求的执行事务的代价上限,则气泡之间并行执行;否则串行执行。本发明用于气泡执行领域。
Description
技术领域
本发明涉及气泡执行方法。
背景技术
随着数据量规模逐步增大和数据操作复杂性的逐步提高,亟需一种显著降低查询执行延迟性和容错性的数据系统,目前存在的系统大多采用优化文件格式和改进查询算法的方法来降低容错率,但当数据量增长到成百上千个数据节点时,并行数据库方法变得极度昂贵而不再适用。交互式查询引擎解决了实时分析的需求,但使用的群执行方法在计算调用数千个操作符的复杂查询时,计算所占用资源超过执行所需,此外为了保证容错性,需要在相应执行操作器上保持中间数据而增加了延迟。
文章“Bubble Exection:Resource-aware Reliable Analytics at CloudScale”提出了一种新的用于云规模交互式工作负载下的查询处理框架,即气泡执行方法。该框架以JetScope的可伸缩架构为基础,将计算计划分离为很多小任务,执行任务排序、冗余任务消除和任务预测提取等工作。通过引入基于成本的查询优化器,采用启发式算法产生具有最佳分布式执行计划的气泡。在框架的组织阶段引入作业管理器,在避免资源浪费和死锁的前提下平滑调度气泡,在进行任务调度管理时,将任务按照优先级排序后按序分配。将任务分派给选定的计算节点,从节点收集并采用不同的策略来处理集群状态。气泡内部的任务连接采用管道通道形式,数据在内存与通道间流通,降低延迟量;气泡间的任务利用可恢复通道连接,在发生故障时使用者可以在任何节点快速读取数据。
文章“Bubble Exection:Resource-aware Reliable Analytics at CloudScale”提出的气泡执行方法进行交互式工作负载下的大规模数据量查询任务,在有效保持低查询延迟的同时提高了容错能力。但其中按照任务优先级进行任务调度管理时,采用系统默认的排序方法,忽视了用户需求,根据实时性执行气泡执行方法不完全实现数据回滚。因此仅靠系统进行任务调度不能很好的解决实时性执行需求,仍需进一步改进,以提高查询处理过程中的计算效率和可控度。
发明内容
本发明的目的是为了解决现有气泡执行方法按照任务优先级进行任务调度管理时,采用系统默认的排序方法,忽视了用户需求,导致查询处理过程中的计算效率和可控度低的问题,而提出一种具有延迟约束功能的气泡执行方法。
一种具有延迟约束功能的气泡执行方法,其特征在于:所述方法具体过程为:
步骤一、引入查询优化器,将所有的查询语句分成若干查询计划,查询计划由有向无环图组成;
查询优化器采用贪心算法,将有向无环图划分为子图,每个子图称为一个气泡,每个气泡有自己的ID,即每个查询语句由多个气泡组成,每个气泡中有多个任务;
所述多个为大于等于2个;
步骤二、在每个气泡内部有一个队列,若气泡中所有任务的输入都已经准备好,则该气泡已经准备好,准备好的气泡进入气泡队列,气泡队列中全是已经准备好的气泡;
若气泡没有准备好,等待数据准备好;
若气泡中全部任务执行成功,则该气泡执行成功,则保存气泡执行的结果,将气泡从队列中移除;
若气泡中某一任务执行失败,故障将通过管道通道传播到同一气泡中的其他任务,将执行失败的气泡中失败的任务按照故障到达时间的顺序移入泡沫队列,并且当前气泡从气泡队列移除;当执行失败的气泡中失败的任务准备好时,将对应气泡重新推送至气泡队列;
若某个气泡要优先执行,就在对应气泡准备好之后,直接进行执行,而不是在气泡序列中按照查询语句的顺序执行;
若不存在某个气泡要优先执行,则在气泡序列中按照查询语句的顺序执行;
步骤三、若多个气泡的执行总代价没有超过数据库系统要求的执行事务的代价上限,并且所访问的数据也互不冲突,则气泡之间并行执行;
若多个气泡的执行总代价超过数据库系统要求的执行事务的代价上限,并且所访问的数据也互不冲突,则气泡之间串行执行;
若多个气泡的执行总代价超过数据库系统要求的执行事务的代价上限,并且所访问的数据互相冲突,则等待,直至数据顺利访问,气泡之间串行执行;
每个查询语句的执行结果按照用户的要求输出即可,若用户没有要求指定结果输出顺序,则就按照查询语句的顺序输出结果。
本发明的有益效果为:
本发明的目的在于提出了一种能够依据用户需求进行延迟约束的气泡执行方法,由用户制定排列任务计算顺序,实现具有更高可控度的用于云规模交互式工作负载下的大规模数据查询处理框架。
本发明的关键点有二,其一在于由用户自主控制执行顺序,根据自身需求安排气泡序列,并将任务按照优先级排序后采用不同的策略来处理输出,使得重要度较高或发生故障失效的气泡能够以更快的速度解决,提高了查询计算效率并降低了计算成本。
其二在于以JetScope的可伸缩架构为基础,继承了气泡执行方法中的查询优化器和作业管理器,实现了最优气泡的生成和任务调度,与群执行方法相比,具有低延迟量和失效容错的性能。
与现有的方法相比,本发明提出的气泡执行方法非常适用于云规模下交互式工作负载的处理过程,避免了群执行方法在大规模数据处理时的延迟量高、失效死锁问题。同时,本方法考虑用户实际需求控制任务执行顺序调度气泡,有利于提高查询处理过程中的计算效率和可控性。
相同数量的查询语句使用本发明效率最高可在现有方法基础上提升50%。
附图说明
图1为本发明任务优先级排序示意图,B代表分区块(block),T代表一些操作(transaction),T03是合并,T02是连接,T04是合计,首先在B03中存着很多初步划分的气泡(1-100),这些基本气泡中的操作可以是分区操作,然后气泡101-125中有更复杂的操作,例如合并和连接等,要用到1-100中气泡的数据,然后执行完后,最后101-125气泡中的数据汇总到气泡126中,计算最终结果,这个图显示了一个查询语句从最基本的底层一点点向上执行,最终得出结果的过程。
具体实施方式
具体实施方式一:本实施方式一种具有延迟约束功能的气泡执行方法具体过程为:
步骤一、引入查询优化器,其作用是将查询语言按照查询数据库的逻辑,转换成高效的、分布式的物理查询计划(例如先访问A数据库的m表,再访问B数据库的n表),将所有的查询语句分成若干查询计划,查询计划由有向无环图(DAG)组成(例如上面的例子,就是有一个节点U表示“A数据库m表”,另一个节点V表示“B数据库n表”,在U和V之间有一条U指向V的边,代表先执行U,再执行V);
查询优化器采用贪心算法,将有向无环图划分为一个个子图,每个子图称为一个气泡,为气泡分配合适的内存(内存大小以及划分方法由贪心算法决定,贪心的目标可以是最终占用内存最小、并行性最好等等,由用户决定),每个气泡有自己的ID,即每个查询语句由多个气泡组成,每个气泡中有多个任务;
所述多个为大于等于2个;
步骤二、使用两阶段调用算法(第一阶段:任务准备好进入气泡内部中的队列;第二阶段:气泡准备好进入气泡队列),在每个气泡内部有一个队列(每个气泡为一个子图,按照子图中节点的拓扑顺序排序),若气泡中所有任务的输入都已经准备好,则该气泡已经准备好,准备好的气泡进入气泡队列,气泡队列中全是已经准备好的气泡;
若气泡没有准备好,意味着气泡中的任务所需访问的部分数据还不能顺利读出来,这时候等待数据准备好即可(数据准备好,任务才能访问,任务才能准备好);
若气泡中全部任务执行成功,则该气泡执行成功,则保存气泡执行的结果,将气泡从队列中移除;
若气泡中某一任务执行失败,故障将通过管道通道传播到同一气泡中的其他任务,将执行失败的气泡中失败的任务按照故障到达时间的顺序移入泡沫队列(这将进一步导致该气泡中的所有任务重新运行,因此它们将首先按照故障到达时间的顺序移入泡沫队列(专门存储执行失败的气泡中的失败的任务)),并且当前气泡从气泡队列移除;按照上面的两阶段调度逻辑,当执行失败的气泡中失败的任务准备好时,将对应气泡重新推送至气泡队列;本算法中气泡内部任务之间采用管道通道的形式进行连接,实现高性能和低资源利用率。
若某个气泡要优先执行,就在对应气泡准备好之后,直接进行执行,而不是在气泡序列中按照查询语句的顺序执行(和准备好的气泡进入气泡队列的顺序是一个顺序);
若不存在某个气泡要优先执行,则在气泡序列中按照查询语句的顺序执行(和准备好的气泡进入气泡队列的顺序是一个顺序);
步骤三、若多个气泡的执行总代价(用户预先设定,例如设定内存占用限制为单个任务最大占用内存5MB)没有超过数据库系统要求的执行事务(用户设置的,数据库执行单个事务的代价,比如内存限制、时间限制)的代价(气泡准备好之后,意味着气泡中所有的任务所要访问的数据都准备好,也就意味着要访问的数据已经读入到内存中,这里代价指的就是占用内存等数据,可以预先估计出来)上限,并且所访问的数据也互不冲突,则气泡之间并行执行;
若多个气泡的执行总代价(用户预先设定,例如设定内存占用限制为单个任务最大占用内存5MB)超过数据库系统要求的执行事务(用户设置的,数据库执行单个事务的代价,比如内存限制、时间限制)的代价(气泡准备好之后,意味着气泡中所有的任务所要访问的数据都准备好,也就意味着要访问的数据已经读入到内存中,这里代价指的就是占用内存等数据,可以预先估计出来)上限,并且所访问的数据也互不冲突,则气泡之间串行执行(一个一个气泡执行);
若多个气泡的执行总代价(用户预先设定,例如设定内存占用限制为单个任务最大占用内存5MB)超过数据库系统要求的执行事务(用户设置的,数据库执行单个事务的代价,比如内存限制、时间限制)的代价(气泡准备好之后,意味着气泡中所有的任务所要访问的数据都准备好,也就意味着要访问的数据已经读入到内存中,这里代价指的就是占用内存等数据,可以预先估计出来)上限,并且所访问的数据互相冲突,则等待,直至数据顺利访问,气泡之间串行执行(一个一个气泡执行);
每个查询语句的执行结果按照用户的要求输出即可,若用户没有要求指定结果输出顺序,则就按照查询语句的顺序输出结果。
具体实施方式二:本实施方式与具体实施方式一不同的是,所述步骤一中查询优化器为MySQL中的查询优化器。
其它步骤及参数与具体实施方式一相同。
具体实施方式三:本实施方式与具体实施方式一或二不同的是,所述步骤二中已经准备好的气泡为任务所要访问的数据都可以访问到,数据上没有被加锁。
其它步骤及参数与具体实施方式一或二相同。
具体实施方式四:本实施方式与具体实施方式一至三之一不同的是,所述步骤二中执行失败的气泡中失败的任务准备好的过程为:
气泡间采用恢复通道进行连接,在失效节点迅速恢复数据,降低气泡重新运行成本。
其它步骤及参数与具体实施方式一至三之一相同。
本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (4)
1.一种具有延迟约束功能的气泡执行方法,其特征在于:所述方法具体过程为:
步骤一、引入查询优化器,将所有的查询语句分成若干查询计划,查询计划由有向无环图组成;
查询优化器采用贪心算法,将有向无环图划分为子图,每个子图称为一个气泡,每个气泡有自己的ID,即每个查询语句由多个气泡组成,每个气泡中有多个任务;
所述多个为大于等于2个;
步骤二、在每个气泡内部有一个队列,若气泡中所有任务的输入都已经准备好,则该气泡已经准备好,准备好的气泡进入气泡队列,气泡队列中全是已经准备好的气泡;
若气泡没有准备好,等待数据准备好;
若气泡中全部任务执行成功,则该气泡执行成功,则保存气泡执行的结果,将气泡从队列中移除;
若气泡中某一任务执行失败,故障将通过管道通道传播到同一气泡中的其他任务,将执行失败的气泡中失败的任务按照故障到达时间的顺序移入泡沫队列,并且当前气泡从气泡队列移除;当执行失败的气泡中失败的任务准备好时,将对应气泡重新推送至气泡队列;
若某个气泡要优先执行,就在对应气泡准备好之后,直接进行执行,而不是在气泡序列中按照查询语句的顺序执行;
若不存在某个气泡要优先执行,则在气泡序列中按照查询语句的顺序执行;
步骤三、若多个气泡的执行总代价没有超过数据库系统要求的执行事务的代价上限,并且所访问的数据也互不冲突,则气泡之间并行执行;
若多个气泡的执行总代价超过数据库系统要求的执行事务的代价上限,并且所访问的数据也互不冲突,则气泡之间串行执行;
若多个气泡的执行总代价超过数据库系统要求的执行事务的代价上限,并且所访问的数据互相冲突,则等待,直至数据能访问,气泡之间串行执行;
每个查询语句的执行结果按照用户的要求输出即可,若用户没有要求指定结果输出顺序,则就按照查询语句的顺序输出结果。
2.根据权利要求1所述一种具有延迟约束功能的气泡执行方法,其特征在于:所述步骤一中查询优化器为MySQL中的查询优化器。
3.根据权利要求1或2所述一种具有延迟约束功能的气泡执行方法,其特征在于:所述步骤二中已经准备好的气泡为任务所要访问的数据都能访问到,数据上没有被加锁。
4.根据权利要求3所述一种具有延迟约束功能的气泡执行方法,其特征在于:所述步骤二中执行失败的气泡中失败的任务准备好的过程为:
气泡间采用恢复通道进行连接,在失效节点恢复数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910668313.7A CN110362397B (zh) | 2019-07-23 | 2019-07-23 | 一种具有延迟约束功能的气泡执行方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910668313.7A CN110362397B (zh) | 2019-07-23 | 2019-07-23 | 一种具有延迟约束功能的气泡执行方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110362397A true CN110362397A (zh) | 2019-10-22 |
CN110362397B CN110362397B (zh) | 2023-04-21 |
Family
ID=68219851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910668313.7A Active CN110362397B (zh) | 2019-07-23 | 2019-07-23 | 一种具有延迟约束功能的气泡执行方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110362397B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100077403A1 (en) * | 2008-09-23 | 2010-03-25 | Chaowei Yang | Middleware for Fine-Grained Near Real-Time Applications |
CN104283967A (zh) * | 2014-10-23 | 2015-01-14 | 武汉华大优能信息有限公司 | 一种基于物联网数据采集的第三方数据服务系统 |
US20150046207A1 (en) * | 2013-08-08 | 2015-02-12 | Hurd Hollis T | System, Method, and Computer Program Product for Automatically Scheduling a Plurality of Tasks |
CN105279286A (zh) * | 2015-11-27 | 2016-01-27 | 陕西艾特信息化工程咨询有限责任公司 | 一种交互式大数据分析查询处理方法 |
CN105574524A (zh) * | 2015-12-11 | 2016-05-11 | 北京大学 | 基于对白和分镜联合识别的漫画图像版面识别方法和系统 |
CN108345501A (zh) * | 2017-01-24 | 2018-07-31 | 全球能源互联网研究院 | 一种分布式资源调度方法和系统 |
CN108595254A (zh) * | 2018-03-09 | 2018-09-28 | 北京永洪商智科技有限公司 | 一种查询调度方法 |
-
2019
- 2019-07-23 CN CN201910668313.7A patent/CN110362397B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100077403A1 (en) * | 2008-09-23 | 2010-03-25 | Chaowei Yang | Middleware for Fine-Grained Near Real-Time Applications |
US20150046207A1 (en) * | 2013-08-08 | 2015-02-12 | Hurd Hollis T | System, Method, and Computer Program Product for Automatically Scheduling a Plurality of Tasks |
CN104283967A (zh) * | 2014-10-23 | 2015-01-14 | 武汉华大优能信息有限公司 | 一种基于物联网数据采集的第三方数据服务系统 |
CN105279286A (zh) * | 2015-11-27 | 2016-01-27 | 陕西艾特信息化工程咨询有限责任公司 | 一种交互式大数据分析查询处理方法 |
CN105574524A (zh) * | 2015-12-11 | 2016-05-11 | 北京大学 | 基于对白和分镜联合识别的漫画图像版面识别方法和系统 |
CN108345501A (zh) * | 2017-01-24 | 2018-07-31 | 全球能源互联网研究院 | 一种分布式资源调度方法和系统 |
CN108595254A (zh) * | 2018-03-09 | 2018-09-28 | 北京永洪商智科技有限公司 | 一种查询调度方法 |
Non-Patent Citations (3)
Title |
---|
YU-KWONG KWOK等: "Bubble scheduling: A quasi dynamic algorithm for static allocation of tasks to parallel architectures", 《PROCEEDINGS.SEVENTH IEEE SYMPOSIUM ON PARALLEL AND DISTRIBUTED PROCESSING》 * |
ZHICHENG YINT等: "Bubble Execution: Resource-aware Reliable Analytics at Cloud Scale", 《PROCEEDINGS OF THE VLDB ENDOWMENT》 * |
姜燕等: "基于扩展的随机DAG的并行任务调度算法研究", 《计算机科学》 * |
Also Published As
Publication number | Publication date |
---|---|
CN110362397B (zh) | 2023-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Pavlo et al. | Self-Driving Database Management Systems. | |
US5325525A (en) | Method of automatically controlling the allocation of resources of a parallel processor computer system by calculating a minimum execution time of a task and scheduling subtasks against resources to execute the task in the minimum time | |
CN105117286B (zh) | MapReduce中任务的调度方法和流水化执行方法 | |
CN105824957B (zh) | 分布式内存列式数据库的查询引擎系统及查询方法 | |
CN111061788B (zh) | 一种基于云架构的多源异构数据转换整合系统及其实现方法 | |
CN102546247B (zh) | 一种适用流式处理的大规模数据连续分析系统 | |
CN103324765B (zh) | 一种基于列存储的多核并行数据查询优化方法 | |
CN110222005A (zh) | 用于异构架构的数据处理系统及其方法 | |
CN102360309A (zh) | 片上多核异构系统的调度系统与调度执行方法 | |
CN108009270A (zh) | 一种基于分布式内存计算的文本检索方法 | |
CN109815283A (zh) | 一种异构数据源可视化查询方法 | |
CN109918199A (zh) | 基于gpu的分布式图处理系统 | |
CN102508639A (zh) | 一种基于卫星遥感数据特征的分布式并行处理方法 | |
US11704316B2 (en) | Systems and methods for determining peak memory requirements in SQL processing engines with concurrent subtasks | |
Wang et al. | Elastic pipelining in an in-memory database cluster | |
CN114756629A (zh) | 基于sql的多源异构数据交互分析引擎及方法 | |
CN112015765B (zh) | 基于缓存价值的Spark缓存淘汰方法及系统 | |
CN115904638A (zh) | 一种数据库事务智能管理方法及系统 | |
CN112101773A (zh) | 一种用于流程工业的多智能体系统任务调度方法及系统 | |
CN111831418A (zh) | 一种基于延迟调度技术的大数据分析作业性能优化方法 | |
Henzinger et al. | Scheduling large jobs by abstraction refinement | |
Wang et al. | Adaptive time, monetary cost aware query optimization on cloud database systems | |
Chen et al. | Pisces: optimizing multi-job application execution in mapreduce | |
CN110262896A (zh) | 一种面向Spark系统的数据处理加速方法 | |
JP2015106219A (ja) | 分散型データ仮想化システム、クエリ処理方法及びクエリ処理プログラム |
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 |