CN112148378A - 一种冲突类的隔离方法及装置 - Google Patents

一种冲突类的隔离方法及装置 Download PDF

Info

Publication number
CN112148378A
CN112148378A CN202010864316.0A CN202010864316A CN112148378A CN 112148378 A CN112148378 A CN 112148378A CN 202010864316 A CN202010864316 A CN 202010864316A CN 112148378 A CN112148378 A CN 112148378A
Authority
CN
China
Prior art keywords
class
isolated
isolation
loading
information
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.)
Pending
Application number
CN202010864316.0A
Other languages
English (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.)
New H3C Big Data Technologies Co Ltd
Original Assignee
New H3C Big Data Technologies 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 New H3C Big Data Technologies Co Ltd filed Critical New H3C Big Data Technologies Co Ltd
Priority to CN202010864316.0A priority Critical patent/CN112148378A/zh
Publication of CN112148378A publication Critical patent/CN112148378A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44552Conflict resolution, i.e. enabling coexistence of conflicting executables
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本说明书提供一种冲突类的隔离方法及装置,其中方法包括:监控系统启动后,查询隔离目录中存储的待隔离类的信息;将待隔离类的信息存储到隔离加载子系统,并在隔离加载子系统中为每个待隔离类创建单独的类加载器;在加载所述待隔离类时,利用与该隔离类对应的类加载器加载所述待隔离类。本公开所提供的方法对可能产生类冲突的方法类进行了隔离,并且针对隔离的方法类分别创建了类加载器,因此能够在同一个进程中解决不同的第三方开发工具包之间的类冲突问题。替代了之前监控系统的JAVA进程隔离技术,由于不需要启用额外的JAVA进程,大大降低了系统损耗,从而提高了监控系统能监控应用的数量。

Description

一种冲突类的隔离方法及装置
技术领域
本说明书涉及通信技术领域,尤其涉及一种冲突类的隔离方法及装置。
背景技术
监控系统需要引入被监控方提供的第三方的软件开发工具包,使用第三方的软件开发工具包所提供的方法调用所需信息,在拥有大量被监控方的网络设备或者应用时,监控系统引入了大量的第三方的软件开发工具包,这些第三方的软件开发工具包可能存在类冲突的情况,类冲突指的是JAVA里存在两个相同的类,即由同一个类加载器加载,冲突类不仅类路径相同,类的名称也相同,但是类的内容不同。由于监控系统在运行过程中会互相引用不同的类,对于此种类冲突会导致监控系统引用错误的类,而导致系统不能正常运行。
现有的解决类冲突的方案是:对类冲突的应用监控,使用进程隔离方式,进程隔离即对于特定应用的监控,不直接使用当前进程,重新启动另一个JAVA进程来监控,利用进程之间天然的隔离性来解决第三方的软件开发工具包之间的冲突,使监控系统正常运行。但是JAVA进程的启动停止非常损耗系统性能进程,在大量监控应用时极大损耗处理器性能,从而降低了系统能监控应用的数量。
发明内容
为克服相关技术中存在的问题,本说明书提供了一种冲突类的隔离方法及装置。
根据本说明书实施例的第一方面,提供一种冲突类的隔离方法,所述方法包括:
监控系统启动后,查询隔离目录中存储的待隔离类的信息;
将待隔离类的信息存储到隔离加载子系统,并在隔离加载子系统中为每个待隔离类创建单独的类加载器;
在加载所述待隔离类时,利用与该隔离类对应的类加载器加载所述待隔离类。
根据本说明书实施例的第二方面,提供一种冲突类的隔离装置,包括:
查询模块,用于在监控系统启动后,查询隔离目录中存储的待隔离类的信息;
隔离模块,用于将待隔离类的信息存储到隔离加载子系统,并在隔离加载子系统中为每个待隔离类创建单独的类加载器;
加载模块,用于利用与该隔离类对应的类加载器加载所述待隔离类。
本说明书的实施例提供的技术方案可以包括以下有益效果:
本公开中所提供的方法类的隔离方法和装置中,由于对可能产生类冲突的方法类进行了隔离,并且针对隔离的方法类分别创建了类加载器,因此能够在同一个进程中解决不同的第三方开发工具包之间的类冲突问题。替代了之前监控系统的JAVA进程隔离技术,由于不需要启用额外的JAVA进程,大大降低了系统损耗,从而提高了监控系统能监控应用的数量。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
图1是本说明书根据一示例性实施例示出的一种冲突类的隔离方法的流程图;
图2是本公开实施例提供的一种隔离目录以及隔离目录下子目录的示意图;
图3为本公开一实施例给出的一种冲突类的隔离装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
接下来对本说明书实施例进行详细说明。
如图1所示,图1是本说明书根据一示例性实施例示出的一种冲突类的隔离方法的流程图,包括以下步骤:
在步骤102,监控系统启动后,查询隔离目录中存储的待隔离类的信息;
步骤104,将待隔离类的信息存储到隔离加载子系统,并在隔离加载子系统中为每个待隔离类创建单独的类加载器;
步骤106,在加载所述待隔离类时,利用与该隔离类对应的类加载器加载所述待隔离类。
首先对本公开实施例中涉及到的一些概念做一些介绍。
(1)本公开中对于可能存在冲突的类,由于需要隔离处理,因此本公开中可能存在冲突的类又称为待隔离类。
(2)本公开实施例中的监控系统可以用于监控各种应用、服务器、交换机、路由器等各种指标的软件系统。
(3)隔离目录为本公开中新增的目录,隔离目录中包括多个子目录,每个子目录都用于存储可能存在冲突的类的信息、以及该冲突的类所在的第三方软件工具包。具体的,图2示出了一种隔离目录以及隔离目录下子目录的示意图。隔离目录bundle下存储了多个子目录ext1、ext2、ext3。其中,子目录中以.jar结尾的文件即为第三方软件工具包,第三方软件工具包中存储了多个方法类。以.properties结尾的文件存储了待隔离类的信息。
(4)隔离加载子系统是独立于隔离目录的存储空间,用于存储待隔离类的信息。
在监控系统启动后,监控系统的主程序会加载正常工作所需要加载的类,正常工作所需的类包括两种,一种是在相互调用时不存在冲突的类,一种是在相互调用时可能存在冲突的类,即待隔离的类。正常工作所需要加载的类、以及该类所在的开发工具包的名称会在预设的目录中存储。例如,存在一个目录bundle2中存储了待加载的工具包,目录bundle2中包括工具包AA.jar、工具包VMware-connect.jar等待加载的工具包的名称。
在监控系统启动之后,主程序首先会查询隔离目录中存储的待隔离类的信息。具体的,隔离目录中存储了第三方的软件开发工具包以及该开发工具包中可能存在冲突的类的名称、类的路径等信息。
主程序将待隔离类的信息存储到隔离加载子系统,为了将待隔离类之间在相互调用时不存在冲突,本公开在在隔离加载子系统中为每个待隔离类创建单独的类加载器。
在创建类加载器之后,一种可选的实施方式中,主程序继续执行类的加载工作,因此可以判断当前待加载的类是否属于隔离加载子系统中存储的待隔离类。
如果待加载的类不属于隔离加载子系统中存储的待隔离类,则按照已有技术加载待加载的类。
如果待加载的类属于隔离加载子系统中存储的待隔离类,则利用与该隔离类对应的类加载器加载待隔离类。
具体的,主程序会查询预设的目录中存储的待加载的类以及待加载的类所在的工具包的名称,根据待加载的类以及待加载的类所在的工具包的名称查询隔离加载子系统,即确定待加载的类是否是可能存在冲突的类。如果待加载的类的名称以及待加载的类所在的工具包的名称与隔离加载子系统中存在的待隔离类的信息匹配,那么说明该待加载的类是一个可能存在冲突的类。此时根据隔离加载子系统中为该可能存在冲突的类建立的类加载器加载该方法类。
举例来说,根据目录bundle2确定待加载的类a所在的工具包为AA.jar,那么根据隔离加载子系统中存储的待隔离类的信息确定在是否存在AA.jar的工具包,若不存在,则说明待加载的类a不是待隔离的类。此时按照现有技术的已有流程加载类a。
进一步的,根据bundle2确定下一个加载的类若为b,根据bundle2中存储的类名称和类所在的工具包名称之间的对应关系,可以确定待加载的类b所在的工具包为VMware-connect.jar,如果根据隔离加载子系统中存储的待隔离类的信息(待隔离类的名称、待隔离类所在的软件开发工具包的名称)可以确定待加载的方法类b与隔离加载子系统中待隔离的类匹配,由于待隔离的类都有其对应的类加载器,因此可以利用VMware-connect.jar中方法类b对应的类加载器对VMware-connect.jar中方法类b进行加载。
如果根据bundle2确定下一个加载的类也是b,但是待加载类b所在的工具包为apache-connect.jar,根据隔离加载子系统中存储的待隔离信息可以确定待加载的apache-connect.jar中的方法类b是待隔离的类,也就是可能产生类冲突的类,此时根据为apache-connect.jar中的方法类b创建的类加载器对apache-connect.jar中的方法类b进行加载。
由此可见,本公开中所提供的方法类的隔离方法中,由于对可能产生类冲突的方法类进行了隔离,并且针对隔离的方法类分别创建了类加载器,因此能够在同一个进程中解决不同的第三方开发工具包之间的类冲突问题。替代了之前监控系统的JAVA进程隔离技术,由于不需要启用额外的JAVA进程,大大降低了系统损耗,从而提高了监控系统能监控应用的数量。
在上述实施例的基础上,当根据待加载的类以及待加载的类所在的工具包的名称查询隔离加载子系统类加载器加载待隔离类时,如果确定待加载的类为隔离加载子系统中的隔离类,对于该隔离类的加载,此时可以启动该隔离类对应的类加载器,类加载器根据隔离类的信息,例如隔离类所在的隔离目录,访问隔离目录,并根据该隔离类所在的软件开发工具包的名称,访问对应的软件开发工具包,进一步的,根据该隔离类的路径和名称加载该隔离类。
在上述实施例的基础上,本公开还提供一种冲突类的隔离装置,如图3所示,图3位本公开提供的冲突类的隔离装置的结构示意图,该隔离装置包括:查询模块301、隔离模块302、加载模块303;
查询模块301,用于在监控系统启动后,查询隔离目录中存储的待隔离类的信息;
隔离模块302,用于将待隔离类的信息存储到隔离加载子系统,并在隔离加载子系统中为每个待隔离类创建单独的类加载器;
加载模块303,用于利用与该隔离类对应的类加载器加载所述待隔离类。
可选的,隔离模块302还用于将待隔离类的信息存储到隔离加载子系统,并在隔离加载子系统中为每个待隔离类创建单独的类加载器之后,判断当前待加载的类是否属于隔离加载子系统中存储的待隔离类,如果属于隔离加载子系统中存储的待隔离类,则执行所述利用与该隔离类对应的类加载器加载所述待隔离类的步骤。如果待加载的类不属于隔离加载子系统中存储的待隔离类,那么隔离模块302按照已有的方式对待加载的类进行正常加载即可。
可选的,所述待隔离类的信息包括:待隔离类所在的软件开发工具包的名称、以及所述软件开发工具包所在的隔离目录的信息、待隔离类路径以及待隔离类的名称。
可选的,所述加载模块303还用于启动类加载器,所述类加载器访问所述隔离目录;加载模块还用于根据所述隔离目录中访问隔离目录下待隔离类所在的软件开发工具包;加载模块还用于根据所述待隔离类的路径和待隔离类的名称加载所述待隔离类。
本公开中所提供的方法类的隔离装置中,对可能产生类冲突的方法类进行了隔离,并且针对隔离的方法类分别创建了类加载器,因此能够在同一个进程中解决不同的第三方开发工具包之间的类冲突问题。替代了之前监控系统的JAVA进程隔离技术,由于不需要启用额外的JAVA进程,大大降低了系统损耗,从而提高了监控系统能监控应用的数量。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

Claims (8)

1.一种冲突类的隔离方法,其特征在于,所述方法包括:
监控系统启动后,查询隔离目录中存储的待隔离类的信息;
将待隔离类的信息存储到隔离加载子系统,并在隔离加载子系统中为每个待隔离类创建单独的类加载器;
在加载所述待隔离类时,利用与该隔离类对应的类加载器加载所述待隔离类。
2.根据权利要求1所述的方法,其特征在于,将待隔离类的信息存储到隔离加载子系统,并在隔离加载子系统中为每个待隔离类创建单独的类加载器之后,判断当前待加载的类是否属于隔离加载子系统中存储的待隔离类;
如果属于隔离加载子系统中存储的待隔离类,则执行所述利用与该隔离类对应的类加载器加载所述待隔离类的步骤。
3.根据权利要求1所述的方法,其特征在于,所述待隔离类的信息包括:
待隔离类所在的软件开发工具包的名称、以及所述软件开发工具包所在的隔离目录的信息、待隔离类路径以及待隔离类的名称。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述利用与该隔离类对应的类加载器加载所述待隔离类包括:
启动类加载器,所述类加载器访问所述隔离目录;
根据所述隔离目录中访问隔离目录下待隔离类所在的软件开发工具包;
根据所述待隔离类的路径和待隔离类的名称加载所述待隔离类。
5.一种冲突类的隔离装置,其特征在于,包括:
查询模块,用于在监控系统启动后,查询隔离目录中存储的待隔离类的信息;
隔离模块,用于将待隔离类的信息存储到隔离加载子系统,并在隔离加载子系统中为每个待隔离类创建单独的类加载器;
加载模块,用于利用与该隔离类对应的类加载器加载所述待隔离类。
6.根据权利要求5所述的装置,其特征在于,所述隔离模块还用于,将待隔离类的信息存储到隔离加载子系统,并在隔离加载子系统中为每个待隔离类创建单独的类加载器之后,判断当前待加载的类是否属于隔离加载子系统中存储的待隔离类;
如果属于隔离加载子系统中存储的待隔离类,则执行所述利用与该隔离类对应的类加载器加载所述待隔离类的步骤。
7.根据权利要求5所述的装置,其特征在于,所述待隔离类的信息包括:待隔离类所在的软件开发工具包的名称、以及所述软件开发工具包所在的隔离目录的信息、待隔离类路径以及待隔离类的名称。
8.根据权利要求5-7任一项所述的装置,其特征在于,所述加载模块还用于启动类加载器,所述类加载器访问所述隔离目录;加载模块还用于根据所述隔离目录中访问隔离目录下待隔离类所在的软件开发工具包;加载模块还用于根据所述待隔离类的路径和待隔离类的名称加载所述待隔离类。
CN202010864316.0A 2020-08-25 2020-08-25 一种冲突类的隔离方法及装置 Pending CN112148378A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010864316.0A CN112148378A (zh) 2020-08-25 2020-08-25 一种冲突类的隔离方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010864316.0A CN112148378A (zh) 2020-08-25 2020-08-25 一种冲突类的隔离方法及装置

Publications (1)

Publication Number Publication Date
CN112148378A true CN112148378A (zh) 2020-12-29

Family

ID=73889107

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010864316.0A Pending CN112148378A (zh) 2020-08-25 2020-08-25 一种冲突类的隔离方法及装置

Country Status (1)

Country Link
CN (1) CN112148378A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6597366B1 (en) * 2000-01-14 2003-07-22 International Business Machines Corporation Transparent general purpose object isolation for multi-tier distributed object environments
CN101639770A (zh) * 2008-07-30 2010-02-03 国际商业机器公司 用于在jvm中支持多租户隔离/多租户定制的系统和方法
CN105404524A (zh) * 2014-09-15 2016-03-16 阿里巴巴集团控股有限公司 Java应用中的类加载隔离方法及装置
CN105718282A (zh) * 2016-01-05 2016-06-29 山东中创软件工程股份有限公司 一种类冲突问题的处理方法及装置
US20190087207A1 (en) * 2017-09-21 2019-03-21 Citrix Systems, Inc. Accessing Conflicting Frameworks and Classes
CN110795357A (zh) * 2019-11-04 2020-02-14 中国工商银行股份有限公司 程序监控方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6597366B1 (en) * 2000-01-14 2003-07-22 International Business Machines Corporation Transparent general purpose object isolation for multi-tier distributed object environments
CN101639770A (zh) * 2008-07-30 2010-02-03 国际商业机器公司 用于在jvm中支持多租户隔离/多租户定制的系统和方法
CN105404524A (zh) * 2014-09-15 2016-03-16 阿里巴巴集团控股有限公司 Java应用中的类加载隔离方法及装置
CN105718282A (zh) * 2016-01-05 2016-06-29 山东中创软件工程股份有限公司 一种类冲突问题的处理方法及装置
US20190087207A1 (en) * 2017-09-21 2019-03-21 Citrix Systems, Inc. Accessing Conflicting Frameworks and Classes
CN110795357A (zh) * 2019-11-04 2020-02-14 中国工商银行股份有限公司 程序监控方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
赵宇等: "深入研究Java的类加载机制", 《唐山师范学院学报》 *
陈昊鹏等: "J2EE应用服务器内置部署器的设计与实现", 《计算机应用与软件》 *

Similar Documents

Publication Publication Date Title
CN111858083B (zh) 一种远程服务的调用方法、装置、电子设备及存储介质
CN110297808B (zh) 容器应用的文件修改方法、装置、计算机设备及存储介质
CN112306957A (zh) 获取索引节点号的方法、装置、计算设备和存储介质
CN112256351B (zh) Feign组件的实现方法、微服务调用方法及装置
CN111399999B (zh) 计算机资源处理方法、装置、可读存储介质和计算机设备
CN114691445A (zh) 集群故障处理方法、装置、电子设备及可读存储介质
CN104536785A (zh) 实时系统更新方法及装置
CN112148378A (zh) 一种冲突类的隔离方法及装置
CN114610516B (zh) 应用程序的修复方法、装置、计算机设备以及存储介质
CN112579591A (zh) 数据校验方法、装置、电子设备及计算机可读存储介质
CN104536784A (zh) 实时系统更新方法及装置
US20030163804A1 (en) Method for assuring compatibility and method for securing data within a distributed computer system
CN112947991A (zh) 版本差异代码文件的获取方法、装置、计算机设备和介质
US8527484B2 (en) Accessing a data structure
US11687547B1 (en) System and methods for an automated core dump to a Java heap dump conversion
CN114020357B (zh) namenode节点的启动方法、装置、系统及介质
CN116400945B (zh) 一种动态链接库升级方法、电子设备及存储介质
CN114205231B (zh) 批量启动hadoop集群的方法、系统及可读存储介质
CN117389713B (zh) 存储系统应用业务数据迁移方法、装置、设备及介质
CN112860338B (zh) 软件启动方法和装置
CN117311734A (zh) 流水线部署优化方法、系统、智能终端、可读存储介质
CN110389868B (zh) 一种服务器制造工厂整机诊断流程优化方法及系统
CN117149235A (zh) 云基础设施在线升级方法、系统、终端设备及存储介质
CN117014353A (zh) 一种数据分析的方法、装置和计算设备集群
CN115658124A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20201229

RJ01 Rejection of invention patent application after publication