CN110083337B - 一种软件开发优化方法 - Google Patents

一种软件开发优化方法 Download PDF

Info

Publication number
CN110083337B
CN110083337B CN201910266587.3A CN201910266587A CN110083337B CN 110083337 B CN110083337 B CN 110083337B CN 201910266587 A CN201910266587 A CN 201910266587A CN 110083337 B CN110083337 B CN 110083337B
Authority
CN
China
Prior art keywords
optimization
level
functional module
functional
software
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
CN201910266587.3A
Other languages
English (en)
Other versions
CN110083337A (zh
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.)
Jiangsu Mengliyuan Software Technology Co ltd
Original Assignee
Jiangsu Mengliyuan Software Technology 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 Jiangsu Mengliyuan Software Technology Co ltd filed Critical Jiangsu Mengliyuan Software Technology Co ltd
Priority to CN201910266587.3A priority Critical patent/CN110083337B/zh
Publication of CN110083337A publication Critical patent/CN110083337A/zh
Application granted granted Critical
Publication of CN110083337B publication Critical patent/CN110083337B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/524Deadlock detection or avoidance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明公开了一种软件开发优化方法,涉及优化方法相关领域,为解决现有技术中的优化过程中没有功能分区,局部对整体程序的影响大,且不能同时进行优化,对优化的工作效率不利的问题。包括如下步骤:步骤一:去除目标软件的整体框架,剥离目标软件中功能模块;步骤二:根据目标软件的功能模块建立功能分区;步骤三:提取功能分区中特性信息,建立树关系索引,并建立相应的跳转联系;步骤四:根据功能模块核心程度和特性信息核心程度建立优化等级;步骤五:建立该软件的镜像文件;步骤六:根据优化等级进行优化;步骤七:对修改后的功能模块进行测试,测试后迭代优化;步骤八:对优化后的功能模块结合整体框架进行优化和测试,测试后迭代优化。

Description

一种软件开发优化方法
技术领域
本发明涉及优化方法相关领域,具体为一种软件开发优化方法。
背景技术
随着嵌入式系统复杂性的提高,嵌入式软件的开发与维护已经成为一项非常重要的工作,这就对软件开发人员提出了更高的要求,在嵌入式软件开发过程中,项目人员应该在软件设计中运用现代的软件工程思想和先进的软件开发方法。同时,对于实时、嵌入式应用软件的开发还应做到在软件设计中支持实时、快速的软件开发和维护。
开发后的软件需要对其进行优化,使整个程序代码运行最优,在优化过程中需要对程序代码进行分区,减少局部代码的改变对整个程序代码影响过大,且分区可以进行同时优化,提高了优化过程的工作效率;因此市场急需研制一种软件开发优化方法来帮助人们解决现有的问题。
发明内容
本发明的目的在于提供一种软件开发优化方法,以解决上述背景技术中提出的优化过程中没有功能分区,局部对整体程序的影响大,且不能同时进行优化,对优化的工作效率不利的问题。
为实现上述目的,本发明提供如下技术方案:一种软件开发优化方法,包括如下步骤:
步骤一:去除目标软件的整体框架,剥离目标软件中功能模块;
步骤二:根据目标软件的功能模块建立功能分区;
步骤三:提取功能分区中特性信息,建立树关系索引,并建立相应的跳转联系;
步骤四:根据功能模块核心程度和特性信息核心程度建立优化等级;
步骤五:建立该软件的镜像文件;
步骤六:根据优化等级进行优化;
步骤七:对修改后的功能模块进行测试,测试后迭代优化;
步骤八:对优化后的功能模块结合整体框架进行优化和测试,测试后迭代优化。
优选的,所述步骤一中,剥离的功能模块两两之间没有直接关系,之间联系通过主程序的控制和调用来实现。
优选的,所述步骤二中,功能分区对功能模块二次细化,若功能模块中记录过多则再次建立分区,若该功能模块内相关功能记录不多,能直接开发优化,则不建立功能分区,直接对该功能模块进行优化。
优选的,所述步骤三中,树关系索引中特性信息为软件前期开发阶段设计树表的过程中加入相应的treePath字段,记载到该节点记录需要经历的树路径,并根据内容和数据关联程度建立相应的树关系图,以该节点记录需要经历的树路径中的关键信息建立树关系索引标题。
优选的,所述步骤四中,依据传统的优化等级参考,将优化等级相应分为8级,为1级优化、2级优化、3级优化、4级优化、5级优化、6级优化、7级优化和8级优化;
其中,1级优化为常数折叠,常数折叠是编译器最佳化技术,可以更精确地传播常数及无缝的移除无用的程式码,将编码过程中无用的代码进行消除,且该段代码的消除对整个功能模块或功能分区的访问和跳转无影响;
2级优化为跳转优化和访问优化,对内部数据的跳转和位地址的访问进行优化,提高访问和跳转速度;
3级优化为sql语句优化、冗余字段优化和冗余命令优化,耗时较长的sql语句将会阻塞全部用户等待,冗余字段优化是对代码中部分冗余字段进行删除,减少识别代码时间,冗余命令优化是对多个同样的命令进行删除,减少重复识别同命令时间;
4级优化为线程阻塞优化,相互阻塞的线程互相等待对方完成,运行时会出现死锁的现象,因前期软件开发过程中建立有树关系,事务中都按照相同的顺序访问,死锁的几率较低,一旦出现死锁,则将查询操作提前,修改操作置后完成,使事务能正常进行访问;
5级优化为回路循环和循环优化,为提高程序代码的执行速度,程序代码再运行时进行循环;
6级优化为寄存器变量和扩展优化,使自动变量和函数参数储存在工作寄存器中,减少这些变量占用的数据存储器空间,并使用数据指针,减小程序代码和提高执行速度;
7级优化为公共子式合并优化,同一功能模块或功能分区内相同的子表达式只计算一次,并将计算结果存入寄存器中,以寄存器代替计算;
8级优化为公共程序合并,对重复使用的公共程序代码进行储存,并建立数据指针,一旦访问到该指针位置则进行跳转,减小程序代码和提高执行速度。
优选的,所述步骤五中,镜像文件包括编码文件和相应的索引文件。
优选的,所述步骤七中,对同一功能模块或功能分区的编写均独立存在,分别进行测试,测试后将一次优化后的文件作为原文件进行再次优化,迭代优化直至优化效果最大化。
优选的,所述步骤八中,将完整的软件进行测试,对不同功能模块之间的内容和数据联系进行优化,主要进行2级优化、5级优化、6级优化、7级优化和8级优化。
与现有技术相比,本发明的有益效果是:
1、该发明将整体框架、功能模块和功能分区分别进行优化,减小了局部程序在优化过程中的改变对整个程序代码的影响程度,且各功能模块可分别进行优化,提高了优化效率,在功能模块和功能分区优化完毕后与整体框架进行结合,对功能模块间的访问和跳转进行优化,提高整个程序代码的读取和运行速度;
2、该发明通过建立树关系索引,事务中都按照相同的顺序访问,死锁的几率较低,一旦出现死锁,则通过树关系索引找到该位置,将查询操作提前,修改操作置后完成,使事务能正常进行访问,完成对该问题的优化,减少查找时间;
3、该发明通过8级优化等级对开发软件进行优化,优化过程有一定的逻辑顺序,且工程师能根据该优化等级进行优化过程中的优化日志进行优化问题查找,对该软件的自动优化进行一定的调整,使其下次优化的速度更快,优化效果更好。
附图说明
图1为本发明的一种软件开发优化方法的主视图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
请参阅图1,本发明提供的一种实施例:一种软件开发优化方法,包括如下步骤:
步骤一:去除目标软件的整体框架,剥离目标软件中功能模块,各功能模块两两之间没有直接关系;
步骤二:根据目标软件的功能模块建立功能分区,根据功能模块的程序代码大小程序建立;
步骤三:提取功能分区中特性信息,建立树关系索引,并建立相应的跳转联系;
步骤四:根据功能模块核心程度和特性信息核心程度建立优化等级;
步骤五:建立该软件的镜像文件;
步骤六:根据优化等级进行优化,优化顺序由低到高进行优化;
步骤七:对修改后的功能模块进行测试,测试后迭代优化;
步骤八:对优化后的功能模块结合整体框架进行优化和测试,测试后迭代优化。
进一步,步骤一中,剥离的功能模块两两之间没有直接关系,之间联系通过主程序的控制和调用来实现,剥离的功能模块根据不同开发软件功能的不同而不同。
进一步,步骤二中,功能分区对功能模块二次细化,若功能模块中记录过多则再次建立分区,若该功能模块内相关功能记录不多,能直接开发优化,则不建立功能分区,直接对该功能模块进行优化。
进一步,步骤三中,树关系索引中特性信息为软件前期开发阶段设计树表的过程中加入相应的treePath字段,记载到该节点记录需要经历的树路径,并根据内容和数据关联程度建立相应的树关系图,以该节点记录需要经历的树路径中的关键信息建立树关系索引标题。
进一步,步骤四中,依据传统的优化等级参考,将优化等级相应分为8级,为1级优化、2级优化、3级优化、4级优化、5级优化、6级优化、7级优化和8级优化,1级优化为基础优化,优化程度逐级增高;
其中,1级优化为常数折叠,常数折叠是编译器最佳化技术,可以更精确地传播常数及无缝的移除无用的程式码,将编码过程中无用的代码进行消除,且该段代码的消除对整个功能模块或功能分区的访问和跳转无影响;
2级优化为跳转优化和访问优化,对内部数据的跳转和位地址的访问进行优化,提高访问和跳转速度;
3级优化为sql语句优化、冗余字段优化和冗余命令优化,耗时较长的sql语句将会阻塞全部用户等待,冗余字段优化是对代码中部分冗余字段进行删除,减少识别代码时间,冗余命令优化是对多个同样的命令进行删除,减少重复识别同命令时间;
4级优化为线程阻塞优化,相互阻塞的线程互相等待对方完成,运行时会出现死锁的现象,因前期软件开发过程中建立有树关系,事务中都按照相同的顺序访问,死锁的几率较低,一旦出现死锁,则将查询操作提前,修改操作置后完成,使事务能正常进行访问;
5级优化为回路循环和循环优化,为提高程序代码的执行速度,程序代码再运行时进行循环;
6级优化为寄存器变量和扩展优化,使自动变量和函数参数储存在工作寄存器中,减少这些变量占用的数据存储器空间,并使用数据指针,减小程序代码和提高执行速度;
7级优化为公共子式合并优化,同一功能模块或功能分区内相同的子表达式只计算一次,并将计算结果存入寄存器中,以寄存器代替计算,减少此部分的计算过程时间;
8级优化为公共程序合并,对重复使用的公共程序代码进行储存,并建立数据指针,一旦访问到该指针位置则进行跳转,减小程序代码和提高执行速度。
进一步,步骤五中,镜像文件包括编码文件和相应的索引文件,避免优化过程中的文件受损等其他情况,出现文件损坏等问题时对镜像文件进行复制,重新进行优化。
进一步,步骤七中,对同一功能模块或功能分区的编写均独立存在,分别进行测试,测试后将一次优化后的文件作为原文件进行再次优化,迭代优化直至优化效果最大化。
进一步,步骤八中,将完整的软件进行测试,对不同功能模块之间的内容和数据联系进行优化,主要进行2级优化、5级优化、6级优化、7级优化和8级优化,主要是对不同功能模块与整体框架联系的优化,提高功能模块与整体框架的融合程度,减小整个程序和提高执行速度。
工作原理:去除目标软件的整体框架,剥离目标软件中功能模块,剥离的功能模块两两之间没有直接关系,之间联系通过主程序的控制和调用来实现,根据目标软件的功能模块建立功能分区,若功能模块中记录过多则再次建立分区,若该功能模块内相关功能记录不多,能直接开发优化,则不建立功能分区,直接对该功能模块进行优化,提取功能分区中特性信息,建立树关系索引,树关系索引中特性信息为软件前期开发阶段设计树表的过程中加入相应的treePath字段,记载到该节点记录需要经历的树路径,并根据内容和数据关联程度建立相应的树关系图,以该节点记录需要经历的树路径中的关键信息建立树关系索引标题,并建立相应的跳转联系,根据功能模块核心程度和特性信息核心程度建立优化等级,将优化等级相应分为8级,为1级优化、2级优化、3级优化、4级优化、5级优化、6级优化、7级优化和8级优化,建立该软件的镜像文件,根据优化等级进行优化,对同一功能模块或功能分区的编写均独立存在,分别进行测试,测试后将一次优化后的文件作为原文件进行再次优化,迭代优化直至优化效果最大化,对优化后的功能模块结合整体框架进行优化和测试,测试后迭代优化。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

Claims (7)

1.一种软件开发优化方法,其特征在于,包括如下步骤:
步骤一:去除目标软件的整体框架,剥离目标软件中功能模块;
步骤二:根据目标软件的功能模块建立功能分区;
步骤三:提取功能分区中特性信息,建立树关系索引,并建立相应的跳转联系;
步骤四:根据功能模块核心程度和特性信息核心程度建立优化等级;
步骤五:建立该软件的镜像文件;
步骤六:根据优化等级进行优化;
步骤七:对修改后的功能模块进行测试,测试后迭代优化;
步骤八:对优化后的功能模块结合整体框架进行优化和测试,测试后迭代优化;
其中,所述步骤四中,依据传统的优化等级参考,将优化等级相应分为8级,为1级优化、2级优化、3级优化、4级优化、5级优化、6级优化、7级优化和8级优化;
其中,1级优化为常数折叠,常数折叠是编译器最佳化技术,可以更精确地传播常数及无缝的移除无用的程式码,将编码过程中无用的代码进行消除,且该段代码的消除对整个功能模块或功能分区的访问和跳转无影响;
2级优化为跳转优化和访问优化,对内部数据的跳转和位地址的访问进行优化,提高访问和跳转速度;
3级优化为sql语句优化、冗余字段优化和冗余命令优化,耗时较长的sql语句将会阻塞全部用户等待,冗余字段优化是对代码中部分冗余字段进行删除,减少识别代码时间,冗余命令优化是对多个同样的命令进行删除,减少重复识别同命令时间;
4级优化为线程阻塞优化,相互阻塞的线程互相等待对方完成,运行时会出现死锁的现象,因前期软件开发过程中建立有树关系,事务中都按照相同的顺序访问,死锁的几率较低,一旦出现死锁,则将查询操作提前,修改操作置后完成,使事务能正常进行访问;
5级优化为回路循环和循环优化,为提高程序代码的执行速度,程序代码再运行时进行循环;
6级优化为寄存器变量和扩展优化,使自动变量和函数参数储存在工作寄存器中,减少这些变量占用的数据存储器空间,并使用数据指针,减小程序代码和提高执行速度;
7级优化为公共子式合并优化,同一功能模块或功能分区内相同的子表达式只计算一次,并将计算结果存入寄存器中,以寄存器代替计算;
8级优化为公共程序合并,对重复使用的公共程序代码进行储存,并建立数据指针,一旦访问到该指针位置则进行跳转,减小程序代码和提高执行速度。
2.根据权利要求1所述的一种软件开发优化方法,其特征在于:所述步骤一中,剥离的功能模块两两之间没有直接关系,之间联系通过主程序的控制和调用来实现。
3.根据权利要求1所述的一种软件开发优化方法,其特征在于:所述步骤二中,功能分区对功能模块二次细化,若功能模块中记录过多则再次建立分区,若该功能模块内相关功能记录不多,能直接开发优化,则不建立功能分区,直接对该功能模块进行优化。
4.根据权利要求1所述的一种软件开发优化方法,其特征在于:所述步骤三中,树关系索引中特性信息为软件前期开发阶段设计树表的过程中加入相应的treePath字段,记载到节点记录需要经历的树路径,并根据内容和数据关联程度建立相应的树关系图,以该节点记录需要经历的树路径中的关键信息建立树关系索引标题。
5.根据权利要求1所述的一种软件开发优化方法,其特征在于:所述步骤五中,镜像文件包括编码文件和相应的索引文件。
6.根据权利要求1所述的一种软件开发优化方法,其特征在于:所述步骤七中,对同一功能模块或功能分区的编写均独立存在,分别进行测试,测试后将一次优化后的文件作为原文件进行再次优化,迭代优化直至优化效果最大化。
7.根据权利要求1所述的一种软件开发优化方法,其特征在于:所述步骤八中,将完整的软件进行测试,对不同功能模块之间的内容和数据联系进行优化,主要进行2级优化、5级优化、6级优化、7级优化和8级优化。
CN201910266587.3A 2019-04-03 2019-04-03 一种软件开发优化方法 Active CN110083337B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910266587.3A CN110083337B (zh) 2019-04-03 2019-04-03 一种软件开发优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910266587.3A CN110083337B (zh) 2019-04-03 2019-04-03 一种软件开发优化方法

Publications (2)

Publication Number Publication Date
CN110083337A CN110083337A (zh) 2019-08-02
CN110083337B true CN110083337B (zh) 2023-01-03

Family

ID=67414093

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910266587.3A Active CN110083337B (zh) 2019-04-03 2019-04-03 一种软件开发优化方法

Country Status (1)

Country Link
CN (1) CN110083337B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112346714A (zh) * 2020-11-09 2021-02-09 南京云通电子科技有限公司 一种软件开发系统优化的方法
CN112699035B (zh) * 2020-12-29 2023-06-23 中国航空工业集团公司西安飞机设计研究所 一种多分区机载应用软件关联索引测试方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6081665A (en) * 1997-12-19 2000-06-27 Newmonics Inc. Method for efficient soft real-time execution of portable byte code computer programs
WO2012134122A2 (en) * 2011-03-26 2012-10-04 Samsung Electronics Co., Ltd. Method and apparatus for eliminating partially redundant array bounds checks in an embedded compiler
CN105393249A (zh) * 2013-06-28 2016-03-09 微软技术许可有限责任公司 针对查询优化的范围分区统计数据的增量式维护
CN108319458A (zh) * 2018-01-17 2018-07-24 南京航空航天大学 一种基于图形化卫式命令演算的多任务编译方法
CN109375908A (zh) * 2018-11-13 2019-02-22 温州华天软件科技有限公司 一种应用软件开发方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8966457B2 (en) * 2011-11-15 2015-02-24 Global Supercomputing Corporation Method and system for converting a single-threaded software program into an application-specific supercomputer

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6081665A (en) * 1997-12-19 2000-06-27 Newmonics Inc. Method for efficient soft real-time execution of portable byte code computer programs
WO2012134122A2 (en) * 2011-03-26 2012-10-04 Samsung Electronics Co., Ltd. Method and apparatus for eliminating partially redundant array bounds checks in an embedded compiler
CN105393249A (zh) * 2013-06-28 2016-03-09 微软技术许可有限责任公司 针对查询优化的范围分区统计数据的增量式维护
CN108319458A (zh) * 2018-01-17 2018-07-24 南京航空航天大学 一种基于图形化卫式命令演算的多任务编译方法
CN109375908A (zh) * 2018-11-13 2019-02-22 温州华天软件科技有限公司 一种应用软件开发方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Optimization of Function Partition between Hardware and Software Based on United Evolutionary Algorithm;Qiaoling Tong 等;《ResearchGate》;20091231;第275-279页 *
共享内存并行编程最优同步方法的研究;王凯等;《科学技术与工程》;20150318(第08期);第105-108,116页 *
解决协同开发和需求变化的插件结构方法;焦景欣等;《探测与控制学报》;20111226(第06期);第64-67,72页 *

Also Published As

Publication number Publication date
CN110083337A (zh) 2019-08-02

Similar Documents

Publication Publication Date Title
CN107391653B (zh) 一种分布式NewSQL数据库系统及图片数据储存方法
US11886407B2 (en) Method of performing transactional and analytical data processing using a data structure
CN110019218B (zh) 数据存储与查询方法及设备
US20070250517A1 (en) Method and Apparatus for Autonomically Maintaining Latent Auxiliary Database Structures for Use in Executing Database Queries
JPH03131941A (ja) アクセス・プランを生成する方法及びコンピュータ・システム
CN110083337B (zh) 一种软件开发优化方法
CN107545015B (zh) 一种查询故障的处理方法及处理装置
CN103365776A (zh) 基于确定性重放的并行系统弱一致性的验证方法和系统
CN107665219B (zh) 一种日志管理方法及装置
US8141082B2 (en) Node-based representation of multi-threaded computing environment tasks, and node-based data race evaluation
CN102760095A (zh) 基于静态共享变量识别的动态数据竞争检测方法
CN110895537A (zh) 自由查询权限控制的方法及装置
CN105988792A (zh) 核电软件开发自动化系统和方法
CN105487911A (zh) 一种基于编译指导的众核数据分片方法
CN113419828B (zh) 一种对象存储的生命周期管理方法和系统
CN110321584B (zh) 数据库表的约束满足软件工具
CN112346714A (zh) 一种软件开发系统优化的方法
CN112364600B (zh) 一种处理器微架构设计验证方法
CN112650797A (zh) 同异构dbms数据交换方法及应用该方法的系统
CN116893854B (zh) 指令资源的冲突检测方法、装置、设备及存储介质
Ji et al. A Semantic and Structural Transformer for Code Summarization Generation
CN110928875B (zh) 关系型数据库管理系统中的元组排序方法、查询方法及装置
Fritchey et al. Execution Plan Cache Analysis
CN117785652A (zh) 基于变异的并发软件测试用例生成方法、测试方法及系统
Generation Execution Plan Cache Analysis

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