CN106855804B - 代码变更管控方法及装置 - Google Patents

代码变更管控方法及装置 Download PDF

Info

Publication number
CN106855804B
CN106855804B CN201610958831.9A CN201610958831A CN106855804B CN 106855804 B CN106855804 B CN 106855804B CN 201610958831 A CN201610958831 A CN 201610958831A CN 106855804 B CN106855804 B CN 106855804B
Authority
CN
China
Prior art keywords
record
code
client
verification
verified
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
CN201610958831.9A
Other languages
English (en)
Other versions
CN106855804A (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.)
Guangzhou Shiyuan Electronics Thecnology Co Ltd
Original Assignee
Guangzhou Shiyuan Electronics Thecnology 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 Guangzhou Shiyuan Electronics Thecnology Co Ltd filed Critical Guangzhou Shiyuan Electronics Thecnology Co Ltd
Priority to CN201610958831.9A priority Critical patent/CN106855804B/zh
Publication of CN106855804A publication Critical patent/CN106855804A/zh
Application granted granted Critical
Publication of CN106855804B publication Critical patent/CN106855804B/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/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种代码变更管控方法及装置,当侦测到代码仓库中的代码有变更时,获取代码变更信息,并在代码变更后通过各个客户的配置文件确定各个客户的待校验记录;将各个客户的待校验记录与校验对照表中各个客户的校验记录进行对比;在多于一个客户的待校验记录与校验记录的对比结果为不同时,发送异常变更信息至预设角色;所述异常变更信息包括所述代码变更信息、所述待校验记录与校验记录不同的客户的客户信息。该方法及装置,可以在代码变更涉及到多个客户时,向预设角色发送异常变更信息,使得预设角色可以知晓代码变更情况,从而能够及时发现异常变更,避免异常变更发现不及时,造成大量的人力、物力、财力的浪费。

Description

代码变更管控方法及装置
技术领域
本发明涉及计算机信息技术领域,尤其涉及一种代码变更管控方法及装置。
背景技术
同一类产品,客户(用户)的需求大多数是相同的,但同时也存在一些差异化的需求。反应到软件代码中即为不同的客户(用户)有公用的需求配置,也有不同的需求配置。即同一个代码仓库中往往存在多个客户(用户)的多种需求配置。
工程师在修改A客户(用户)的需求时,有可能有意/无意修改到公共代码部分,即影响公共需求配置,导致B客户(用户)的需求功能受影响,即此时按B客户原有需求配置给出的软件已不一定符合B客户(用户)的需求。为方便表述,称为异常变更。存在的问题是:此异常变更不能被及时发现。通常到工程师人工审核代码,测试工程师测试时才可能被发现。有时甚至到客户(用户)提出时才被发现。异常变更发现不及时,往往会造成大量的人力、物力、财力浪费。
发明内容
基于此,有必要提供能够及时发现异常变更的代码变更管控方法及装置。
一种代码变更管控方法,包括:
当侦测到代码仓库中的代码有变更时,获取代码变更信息,并在代码变更后通过各个客户的配置文件确定各个客户的待校验记录;
将各个客户的待校验记录与校验对照表中各个客户的校验记录进行对比;
在多于一个客户的待校验记录与校验记录的对比结果为不同时,发送异常变更信息至预设角色;
所述异常变更信息包括所述代码变更信息、所述待校验记录与校验记录不同的客户的客户信息。
一种代码变更管控装置,包括:
变更信息获取模块,用于当侦测到代码仓库中的代码有变更时,获取代码变更信息;
待校记录确定模块,用于在代码变更后通过各个客户的配置文件确定各个客户的待校验记录;
校验记录对比模块,用于将各个客户的待校验记录与校验对照表中各个客户的校验记录进行对比;
异常信息发送模块,用于在多于一个客户的待校验记录与校验记录的对比结果为不同时,发送异常变更信息至预设角色;所述异常变更信息包括所述代码变更信息、所述待校验记录与校验记录不同的客户的客户信息。
上述代码变更管控方法及装置,由于在代码变更后根据各个客户的配置文件确定各个客户的待校验记录,并将各个客户的待校验记录与校验对照表中各个客户的校验记录进行对比,在多于一个客户的待校验记录与校验记录的对比结果为不同时,发送异常变更信息至预设角色,如此,可以在代码变更涉及到多个客户时,向预设角色发送异常变更信息,使得预设角色可以知晓代码变更情况,从而能够及时发现异常变更,避免异常变更发现不及时,造成大量的人力、物力、财力的浪费。
附图说明
图1为一实施例的代码变更管控方法的流程图;
图2为另一实施例的代码变更管控方法的流程图;
图3为一实施例的代码变更管控方法的一个步骤的具体流程图;
图4为一实施例的代码变更管控装置的结构图;
图5为另一实施例的代码变更管控装置的结构图;
图6为一个实施例的代码变更管控装置的一个模块的具体结构图。
具体实施方式
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的较佳的实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“或/和”包括一个或多个相关的所列项目的任意的和所有的组合。
如图1所示,为本发明一实施例的代码变更管控方法,包括:
S130:当侦测到代码仓库中的代码有变更时,获取代码变更信息,并在代码变更后通过各个客户的配置文件确定各个客户的待校验记录。
代码仓库用于存储有同一类产品的各个客户的代码。由于同一类产品各个客户的需求大多数都是相同的,同时也存在一些差异化的需求,因此,同一类产品各个客户可以共用相同需求的代码,分用存在差异的需求的代码。
在侦测到代码仓库中的代码有变更时,即代码仓库中的代码有更新时,获取代码更新的代码更新信息。具体地,代码更新信息包括修改文件的文件名称、文件路径、文件内容、版本号、变更人及变更时间中的第一项及后续的任意一项或多项。
在代码变更后通过各个客户的配置文件确定各个客户的待校验记录的方式可以为:在代码变更后对各个客户的配置文件进行编译,得到二进制文件;对得到的二进制文件进行校验,得到各个客户的校验码;根据同一个客户的客户信息及校验码生成该客户的待校验记录。一个客户的客户信息记录有客户名称或/及客户编号;还可以记录有该客户的配置文件,即客户信息包括客户名称或/及客户编号、配置文件等属性。
由于代码更新后配置文件中调用的文件或方法所涉及的代码若有变更,则编译后得到的二进制文件将有所不同。因此,若某个客户涉及的代码有变更,则确定的该客户的待校验记录将与未变更之前的校验记录不同。从而,可以通过对比代码变更前的校验记录与变更后的待校验记录,来确定各个客户相关的代码是否有变更。
S150:将各个客户的待校验记录与校验对照表中各个客户的校验记录进行对比。
在本实施例中,校验对照表中记录有代码变更前各个客户的校验记录。校验记录可以是通过在代码变更前通过各个客户的配置文件采用与待校验记录相似的确定方式确定的。其不同之处在于,校验记录是通过代码变更前的各个客户的配置文件来确定的,而待校验记录是通过代码变更后的各个客户的配置文件来确定的。每一个客户的待校验记录与检验记录进行对比的对比结果可以为相同或不同。
S170:在多于一个客户的待校验记录与校验记录的对比结果为不同时,发送异常变更信息至预设角色;所述异常变更信息包括所述代码变更信息、所述待校验记录与校验记录不同的客户的客户信息。
在本实施例中,将代码变更涉及多个客户的情况判定为异常变更,此时,需要发送变更信息到预设角色。预设角色可以为变更人对应的审核人员、主管、经理或者测试工程师的角色。具体地,预设角色可以与变更信息相关。如,预设角色可以为变更信息中的变更人的角色、变更人的上级的角色、变更人对应的质量控制人员的角色、变更文件的文件名称对应的管控人员的角色等中的任意一项或多项。
在本实施例中,可以通过发系统消息的形式发送变更信息到预设角色;或/及,通过发送邮件的形式发送变更信息到预设角色;或/及,通过发送短信的形式发送变更信息到预设角色。
上述代码变更管控方法,由于在代码变更后根据各个客户的配置文件确定各个客户的待校验记录,并将各个客户的待校验记录与校验对照表中各个客户的校验记录进行对比,在多于一个客户的待校验记录与校验记录的对比结果为不同时,发送异常变更信息至预设角色,如此,可以在代码变更涉及到多个客户时,向预设角色发送异常变更信息,使得预设角色可以知晓代码变更情况,从而能够及时发现异常变更,避免异常变更发现不及时,造成大量的人力、物力、财力的浪费。
在其中一个实施例中,所述代码变更信息包括修改文件的文件名称、文件路径、文件内容、版本号、变更人及变更时间。如此,使得预设角色可以了解到变更异常的代码变更中修改文件的文件名称、文件路径、文件内容、版本号、变更人及变更时间,可以使得预设角色能够根据这些信息进行代码变更情况的了解及审核。
在其中一个实施例中,所述当侦测到代码仓库中的代码有变更时,获取代码变更信息,并在代码变更后通过各个客户的配置文件确定各个客户的待校验记录的步骤之前,还包括:通过各个客户的配置文件确定校验对照表。
具体地,通过各个客户的配置文件确定校验对照表的步骤包括:对各个客户的配置文件进行编译,得到二进制文件;对得到的二进制文件进行校验,得到各个客户的校验码;根据同一个客户的客户信息及校验码生成该客户的校验记录;校验对照表包括各个客户的校验记录。进一步地,通过各个客户的配置文件确定校验对照表的步骤,还包括:根据各个客户的校验记录形成校验对照表。
在另一个实施例中,所述当侦测到代码仓库中的代码有变更时,获取代码变更信息,并在代码变更后通过各个客户的配置文件确定各个客户的待校验记录的步骤之前,还包括:获取校验对照表,所述校验对照表中记录有上一次代码变更无误时各个客户的待校验记录。
在第一次对各个客户的配置文件进行编译成功时,便通过各个客户的配置文件确定校验对照表;之后在每次代码变更无误之后,更新校验对照表。在本实施例中,在所述当侦测到代码仓库中的代码有变更时,获取代码变更信息,并在代码变更后通过各个客户的配置文件确定各个客户的待校验记录的步骤之前,获取该校验对照表。可以理解地,该校验对照表中记录有上一次代码变更无误时各个客户的待校验记录。
请参阅图2,在其中一个实施例中,所述在多于一个客户的待校验记录与校验记录的对比结果为不同时,发送异常变更信息至预设角色的步骤之后,还包括:
S290:在接收到预设角色发送的、确认代码变更无误的信息后,根据所述校验对照表中校验记录与待校验记录不同的客户的待校验记录,更新所述校验对照表。
具体地,更新所述校验对照表的步骤为,将所述校验对照表中校验记录与待校验记录不同的客户的校验记录更新为对应的待校验记录。
如此,可以在代码变更无误后可以对校验对照表进行更新,而无需每次在代码更新之前,重复确定校验对照表的步骤来确定校验对照表,因此可以节约系统资源。
请参阅图3,在其中一个实施例中,所述通过各个客户的配置文件确定校验对照表的步骤,包括:
S311:根据各个客户的客户信息对各个客户的配置文件进行编译,得到编译后的二进制文件;
S313:对所述二进制文件进行校验,确定各个客户的校验码;
S315:根据所述客户信息及所述客户信息对应的客户的校验码生成校验记录,所述校验对照表包括各个客户的校验记录。
在本实施例中,客户信息至少包括客户标识及配置文件,客户标识可以为客户名称或客户编码。
形成校验码的方式为采用现有的校验方法确定校验码的方式,如,可以采用:MD5校验、CRC检验等校验方法进行检验,形成校验码。
校验记录可以由客户信息和该客户信息对应的客户的校验码组合而成。具体地,校验记录可以由客户信息的客户编码或客户名称再加上校验码组合而成。
可以理解地,步骤S325之后,还可以包括:
S 317:根据各个客户的校验记录生成校验对照表。
请参阅图4,本发明还提供一种与上述代码变更管控方法对应的代码变更管控装置,包括:
变更信息获取模块430,用于当侦测到代码仓库中的代码有变更时,获取代码变更信息;
待校记录确定模块440,用于在代码变更后通过各个客户的配置文件确定各个客户的待校验记录;
校验记录对比模块450,用于将各个客户的待校验记录与校验对照表中各个客户的校验记录进行对比;
异常信息发送模块470,用于在多于一个客户的待校验记录与校验记录的对比结果为不同时,发送异常变更信息至预设角色;所述异常变更信息包括所述代码变更信息、所述待校验记录与校验记录不同的客户的客户信息。
上述代码变更管控装置,由于在代码变更后根据各个客户的配置文件确定各个客户的待校验记录,并将各个客户的待校验记录与校验对照表中各个客户的校验记录进行对比,在多于一个客户的待校验记录与校验记录的对比结果为不同时,发送异常变更信息至预设角色,如此,可以在代码变更涉及到多个客户时,向预设角色发送异常变更信息,使得预设角色可以知晓代码变更情况,从而能够及时发现异常变更,避免异常变更发现不及时,造成大量的人力、物力、财力的浪费。
请参阅图5,在其中一个实施例中,还包括:
校验表确定模块510,用于在代码变更之前,通过各个客户的配置文件确定校验对照表;或者,
校验表获取模块520,用于在代码变更之前,获取校验对照表,所述校验对照表中记录有上一次代码变更无误时各个客户的待校验记录。
请继续参阅图5,在其中一个实施例中,还包括:
对照表更新模块590,用于在接收到预设角色发送的、确认代码变更无误的信息后,根据所述校验对照表中校验记录与待校验记录不同的客户的待校验记录,更新所述校验对照表。
请参阅图6,在其中一个实施例中,所述校验表确定模块510,包括:
编译单元611,用于根据各个客户的客户信息对各个客户的配置文件进行编译,得到编译后的二进制文件;
校验单元613,用于对所述二进制文件进行校验,确定各个客户的校验码;
记录生成单元615,用于根据所述客户信息及所述客户信息对应的客户的校验码生成校验记录,所述校验对照表包括各个客户的校验记录。
请继续参阅图6,在其中一个实施例中,所述校验表确定模块510,还包括:
对照表生成单元617,用于根据各个客户的校验记录生成校验对照表。
在其中一个实施例中,所述代码变更信息包括修改文件的文件名称、文件路径、文件内容、版本号、变更人及变更时间。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出多个变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种代码变更管控方法,其特征在于,包括:
当侦测到代码仓库中的代码有变更时,获取代码变更信息,并在代码变更后通过各个客户的配置文件确定各个客户的待校验记录;
将各个客户的待校验记录与校验对照表中各个客户的校验记录进行对比;
在多于一个客户的待校验记录与校验记录的对比结果为不同时,发送异常变更信息至预设角色,所述异常变更信息包括所述代码变更信息、所述待校验记录与校验记录不同的客户的客户信息;
所述当侦测到代码仓库中的代码有变更时,获取代码变更信息,并在代码变更后通过各个客户的配置文件确定各个客户的待校验记录的步骤之前,还包括:
通过各个客户的配置文件确定校验对照表;或者,
获取校验对照表,所述校验对照表中记录有上一次代码变更无误时各个客户的待校验记录。
2.根据权利要求1所述的代码变更管控方法,其特征在于,所述在多于一个客户的待校验记录与校验记录的对比结果为不同时,发送异常变更信息至预设角色的步骤之后,还包括:
在接收到预设角色发送的、确认代码变更无误的信息后,根据所述校验对照表中校验记录与待校验记录不同的客户的待校验记录,更新所述校验对照表。
3.根据权利要求1所述的代码变更管控方法,其特征在于,所述通过各个客户的配置文件确定校验对照表的步骤,包括:
根据各个客户的客户信息对各个客户的配置文件进行编译,得到编译后的二进制文件;
对所述二进制文件进行校验,确定各个客户的校验码;
根据所述客户信息及所述客户信息对应的客户的校验码生成校验记录,所述校验对照表包括各个客户的校验记录。
4.根据权利要求1所述的代码变更管控方法,其特征在于,所述代码变更信息包括修改文件的文件名称、文件路径、文件内容、版本号、变更人及变更时间。
5.一种代码变更管控装置,其特征在于,包括:
变更信息获取模块,用于当侦测到代码仓库中的代码有变更时,获取代码变更信息;
待校记录确定模块,用于在代码变更后通过各个客户的配置文件确定各个客户的待校验记录;
校验记录对比模块,用于将各个客户的待校验记录与校验对照表中各个客户的校验记录进行对比;
异常信息发送模块,用于在多于一个客户的待校验记录与校验记录的对比结果为不同时,发送异常变更信息至预设角色;所述异常变更信息包括所述代码变更信息、所述待校验记录与校验记录不同的客户的客户信息;
还包括:
校验表确定模块,用于在代码变更之前,通过各个客户的配置文件确定校验对照表;或者,
校验表获取模块,用于在代码变更之前,获取校验对照表,所述校验对照表中记录有上一次代码变更无误时各个客户的待校验记录。
6.根据权利要求5所述的代码变更管控装置,其特征在于,还包括:
对照表更新模块,用于在接收到预设角色发送的、确认代码变更无误的信息后,根据所述校验对照表中校验记录与待校验记录不同的客户的待校验记录,更新所述校验对照表。
7.根据权利要求5所述的代码变更管控装置,其特征在于,所述校验表确定模块,包括:
编译单元,用于根据各个客户的客户信息对各个客户的配置文件进行编译,得到编译后的二进制文件;
校验单元,用于对所述二进制文件进行校验,确定各个客户的校验码;
记录生成单元,用于根据所述客户信息及所述客户信息对应的客户的校验码生成校验记录,所述校验对照表包括各个客户的校验记录。
8.根据权利要求5所述的代码变更管控装置,其特征在于,所述代码变更信息包括修改文件的文件名称、文件路径、文件内容、版本号、变更人及变更时间。
9.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时可实现如权利要求1至4任一项所述的代码变更管控方法。
10.一种终端设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至4中任一项所述的代码变更管控方法。
CN201610958831.9A 2016-11-03 2016-11-03 代码变更管控方法及装置 Active CN106855804B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610958831.9A CN106855804B (zh) 2016-11-03 2016-11-03 代码变更管控方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610958831.9A CN106855804B (zh) 2016-11-03 2016-11-03 代码变更管控方法及装置

Publications (2)

Publication Number Publication Date
CN106855804A CN106855804A (zh) 2017-06-16
CN106855804B true CN106855804B (zh) 2020-05-19

Family

ID=59126828

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610958831.9A Active CN106855804B (zh) 2016-11-03 2016-11-03 代码变更管控方法及装置

Country Status (1)

Country Link
CN (1) CN106855804B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109241482A (zh) * 2018-08-28 2019-01-18 优视科技新加坡有限公司 确定变更事件发布成功的方法及其装置
CN111666206B (zh) * 2020-04-30 2023-12-22 北京百度网讯科技有限公司 变更代码的影响范围的获取方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101783801A (zh) * 2010-01-29 2010-07-21 福建星网锐捷网络有限公司 一种基于网络的软件保护方法、客户端及服务器
CN104461670A (zh) * 2014-11-21 2015-03-25 闻泰通讯股份有限公司 多项目公用代码管理方法
CN105549959A (zh) * 2015-12-04 2016-05-04 小米科技有限责任公司 编译检查方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020199118A1 (en) * 2001-02-02 2002-12-26 Medinservice.Com, Inc. Internet training course system and methods

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101783801A (zh) * 2010-01-29 2010-07-21 福建星网锐捷网络有限公司 一种基于网络的软件保护方法、客户端及服务器
CN104461670A (zh) * 2014-11-21 2015-03-25 闻泰通讯股份有限公司 多项目公用代码管理方法
CN105549959A (zh) * 2015-12-04 2016-05-04 小米科技有限责任公司 编译检查方法及装置

Also Published As

Publication number Publication date
CN106855804A (zh) 2017-06-16

Similar Documents

Publication Publication Date Title
US11163731B1 (en) Autobuild log anomaly detection methods and systems
US20070276970A1 (en) Data Consistency Validation
US8214508B2 (en) Support apparatus, program, information processing system and support method
CN112306855B (zh) 接口自动化测试方法、装置、终端和存储介质
US20190116178A1 (en) Application error fingerprinting
CN107844385B (zh) 一种基于共享内存的变量读写方法及装置
CN109828780B (zh) 一种开源软件的识别方法及装置
US20060112189A1 (en) Method for tracking transport requests and computer system with trackable transport requests
CN106855804B (zh) 代码变更管控方法及装置
CN112486946A (zh) 一种版本确认方法、系统、电子设备及存储介质
US8429466B2 (en) XML-schema-based automated test procedure for enterprise service pairs
CN115617780A (zh) 数据导入方法、装置、设备及存储介质
CN112306568A (zh) 服务实例配置方法、装置、电子设备及存储介质
CN110018835B (zh) Yang模型配置数据处理方法及装置、终端设备及存储介质
US8498963B2 (en) Method and system for data synchronization
CN115617555A (zh) 一种信息处理系统以及方法
CN110888804A (zh) 接口测试方法以及接口测试平台
CN115774881A (zh) 代码审计方法、装置、设备及介质
CN108536577B (zh) 程序代码信息处理方法及装置
US11868441B2 (en) Duplicate frames detection
US11494183B1 (en) Executor microservices for automated application compliance processing
CN111680279B (zh) 登录验证方法、装置及系统
CN113672497A (zh) 无埋点事件的生成方法、装置、设备及存储介质
CN109240906B (zh) 数据库配置信息适配方法、装置、计算机设备和存储介质
CN108197147B (zh) 号卡数据库运维方法及装置

Legal Events

Date Code Title Description
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