CN113805911A - 服务器端的多版本程序管理方法、装置和系统 - Google Patents
服务器端的多版本程序管理方法、装置和系统 Download PDFInfo
- Publication number
- CN113805911A CN113805911A CN202110207654.1A CN202110207654A CN113805911A CN 113805911 A CN113805911 A CN 113805911A CN 202110207654 A CN202110207654 A CN 202110207654A CN 113805911 A CN113805911 A CN 113805911A
- Authority
- CN
- China
- Prior art keywords
- version
- program
- server
- management method
- programs
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
Abstract
本发明公开了一种服务器端的多版本程序管理方法、装置和系统,包括:将至少一个版本的服务器端程序分别打包为至少一个版本的中间程序;分别加载至少一个版本的中间程序到至少一个相互隔离的加载器;接收来自客户端程序的包括版本号的请求信息;调用与版本号相同的加载器中的中间程序,并向客户端程序返回请求结果响应。本发明利用相互隔离的加载器,实现了各个版本的中间程序之间的代码隔离,使得同一个服务器端程序的不同版本的中间程序之间的代码逻辑互不影响,基于本发明方案,取消了服务器端程序中各个模块和类的关于版本的分支判断,简化了关于版本判断的代码逻辑和数量,消除了因为版本判断过程出错所带来的问题。
Description
技术领域
本发明涉及计算机及信息技术领域,特别涉及一种服务器端的多版本程序管理方法、装置和系统。
背景技术
随着信息技术的发展,计算机应用越来越广泛,各种大型的、长期性的APP应用相继而生,APP应用的持续升级迭代也成为了一种常态。当APP客户端应用(位于终端一侧)升级迭代时,与其相应的服务端应用程序(位于服务器一侧)也会跟着升级迭代。为保证低版本的APP客户端应用的正常使用,升级迭代时服务端应用程序需要做向下的兼容。进而,为了适应于多个版本的APP客户端应用,同一个服务端应用程序的多个不同版本需要同时并存和运行。而如何实现不同版本的同一个服务端应用程序的并存,并确保多版本APP客户端和不同版本的同一个服务端应用程序之间的正确对应,便成为亟待解决的问题。
发明内容
有鉴于此,本发明提供一种服务器端的多版本程序管理方法、装置和系统,以简化关于版本判断的代码逻辑和数量,消除因为版本判断过程出错所带来的问题。
本发明的技术方案是这样实现的:
一种服务器端的多版本程序管理方法,其中所述服务器端运行有至少一个版本的服务器端程序,所述服务器端的多版本程序管理方法包括服务器端执行的以下步骤:
将所述至少一个版本的服务器端程序分别打包为至少一个版本的中间程序;
分别加载所述至少一个版本的中间程序到至少一个相互隔离的加载器;
接收来自客户端程序的包括版本号的请求信息;
调用与所述版本号相同的加载器中的中间程序,并向所述客户端程序返回请求结果响应。
进一步,所述中间程序为跨平台类程序。
进一步,所述中间程序为运行于跨平台虚拟机中的程序。
进一步,所述跨平台虚拟机为Java虚拟机。
进一步,所述跨平台类程序为字节码文件包。
进一步,所述跨平台类程序为Java代码程序。
进一步,所述字节码文件包为Java的class文件包。
进一步,所述至少一个版本的服务器端程序为同一程序的不同版本。
一种服务器端的多版本程序管理系统,其中所述服务器端运行有至少一个版本的服务器端程序,所述服务器端的多版本程序管理系统包括:
程序打包模块,用于将所述至少一个版本的服务器端程序分别打包为至少一个版本的中间程序;
类加载模块,用于分别加载所述至少一个版本的中间程序到至少一个相互隔离的加载器;
请求转发模块,用于接收来自客户端程序的包括版本号的请求信息,调用与所述版本号相同的加载器中的中间程序,并向所述客户端程序返回请求结果响应。
一种服务器端的多版本程序管理装置,其中所述服务器端运行有至少一个版本的服务器端程序,所述服务器端的多版本程序管理装置包括:
加载器,所述加载器为至少一个并且相互隔离,用于分别加载至少一个版本的中间程序,其中,所述至少一个版本的中间程序由所述至少一个版本的服务器端程序分别打包而成;
请求转发器,用于接收来自客户端程序的包括版本号的请求信息,调用与所述版本号相同的加载器中的中间程序,并向所述客户端程序返回请求结果响应。
一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行如上任一项所述的服务器端的多版本程序管理方法中的步骤。
一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行如上任一项所述的服务器端的多版本程序管理方法中的步骤。
从上述方案可以看出,本发明的服务器端的多版本程序管理方法、装置和系统,利用相互隔离的加载器,实现了各个版本的中间程序之间的代码隔离,使得同一个服务器端程序的不同版本的中间程序之间的代码逻辑互不影响,当客户端程序发来包括版本号的请求信息时,只需要调用相应版本号的位于加载器中的中间程序即可实现服务器端程序与客户端程序的版本匹配。本发明利用相互隔离的加载器和其中的由不同版本的服务器端程序所打包成的不同版本的中间程序,基于此便取消了服务器端程序中各个模块和类的关于版本的分支判断,简化了关于版本判断的代码逻辑和数量,消除了因为版本判断过程出错所带来的问题。
附图说明
图1为本发明实施例的服务器端的多版本程序管理方法流程图;
图2为本发明实施例的服务器端的多版本程序管理系统示意图;
图3为本发明实施例的服务器端的多版本程序管理装置示意图;
图4为基于本发明实施例并利用Java语言实现的服务器端的多版本程序管理结构;
图5为本发明实施例的电子设备示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步详细说明。
作为一种解决方案,在服务端应用程序代码中,根据APP客户端版本号做分支判断,不同的版本执行不同的代码逻辑块,以实现多版本的并存和兼容。这种解决方案存在这样一个较大的缺点,当同一个服务端应用程序的版本较多时,版本分支的判断逻辑会导致代码越来越臃肿,一个功能可能会涉及很多模块和类,所有涉及的地方都需要进行版本的判断,这样,代码中就充斥着各种分支判断,代码的可读性和可维护性变差,且每次升级都要修改所有版本的代码逻辑,很容易出错,从而导致事故的发生。
考虑到上述问题,通过本发明实施例手段实现的代码隔离,使得同一个服务端应用程序的不同版本之间的代码逻辑互不影响,从而减少了出错的概率,降低了代码开发和维护难度。具体详见以下说明。
本发明实施例提供了一种服务器端的多版本程序管理方法,其中该服务器端运行有至少一个版本的服务器端程序,如图1所示,该服务器端的多版本程序管理方法包括服务端执行的以下步骤:
步骤1、将至少一个版本的服务器端程序分别打包为至少一个版本的中间程序;
步骤2、分别加载至少一个版本的中间程序到至少一个相互隔离的加载器;
步骤3、接收来自客户端程序的包括版本号的请求信息;
步骤4、调用与版本号相同的加载器中的中间程序,并向客户端程序返回请求结果响应。
本发明实施例中,利用相互隔离的加载器,实现了各个版本的中间程序之间的代码隔离,使得同一个服务器端程序的不同版本的中间程序之间的代码逻辑互不影响,当客户端程序发来包括版本号的请求信息时,只需要调用相应版本号的位于加载器中的中间程序即可实现服务器端程序与客户端程序的版本匹配。本发明实施例,利用相互隔离的加载器和其中的由不同版本的服务器端程序所打包成的不同版本的中间程序,基于此便取消了服务器端程序中各个模块和类的关于版本的分支判断,简化了关于版本判断的代码逻辑和数量,消除了因为版本判断过程出错所带来的问题。
在可选实施例中,中间程序为跨平台类程序。其中,跨平台类程序,可以不依赖于操作系统,也不依赖硬件环境,在一个操作系统和/或硬件环境中开发的跨平台类程序,放到另一个操作系统和/或硬件环境中依然可以运行,从而提升了中间程序在多种软硬件环境(操作系统和硬件平台)的可移植性,无需针对不同操作系统和/或硬件平台而单独开发代码,降低了开发难度,提升了开发效率,并降低了维护难度,进而整体降低了程序的开发和维护成本。
在可选实施例中,中间程序为运行于跨平台虚拟机中的程序。其中,跨平台是指可以在多种操作系统和/或硬件环境中运行。虚拟机是一种抽象化的计算机,可以在实际的硬件设备(如计算机、服务器)上通过仿真模拟各种计算机功能以实现,虚拟机具有其自身的“硬件”架构和指令系统,能够屏蔽操作系统和/或硬件平台的信息,使得在虚拟机中的目标代码(程序),不加修改地运行于多种平台。本发明实施例中采用跨平台虚拟机能够实现中间程序的跨平台运行,使得本发明实施例能够适用于多种操作系统和/或硬件平台,具有广泛的普适性。
在可选实施例中,跨平台虚拟机为Java虚拟机。Java虚拟机(Java VirtualMachine,JVM)是运行所有Java程序的抽象计算机,是Java语言的运行环境,采用Java虚拟机实现了程序与操作系统和/或硬件平台的无关性。
在可选实施例中,跨平台类程序为字节码文件包。其中,字节码(Byte-code)是一种包含执行程序、由一序列op代码或数据对组成的二进制文件。
在可选实施例中,跨平台类程序为Java代码程序。其中,Java是一种面向对象编程语言,具有平台独立和可移植性特点,能够适用于跨平台类程序的开发需求。
在可选实施例中,字节码文件包为Java的class文件包。其中,class即类,class是Java语言中的一种实现功能的代码,class文件包运行于Java虚拟机中。
在可选实施例中,至少一个版本的服务器端程序为同一程序的不同版本。例如某一个程序的1.0版本、2.0版本、3.0版本等。
本发明实施例中,利用Java编程语言,其中,相互隔离的加载器例如类加载的管理器,类加载的管理器用于加载Java应用程序的类。其中,类加载的管理器是利用Java提供的自定义类加载功能实现的,即通过继承Java提供的ClassLoader抽象类实现,因此,类加载的管理器可称为自定义类加载器。在本发明的可选实施例中,通过自定义类加载器去分别加载不同版本的服务器端程序代码的class文件包,即每个版本的class文件包都由不同的自定义类加载器去分别加载,从而实现不同版本之间的代码隔离。基于本发明实施例方案,取消了服务器端程序中各个模块和类的关于版本的分支判断,简化了关于版本判断的代码逻辑和数量,消除了因为版本判断过程出错所带来的问题。
本发明实施例还提供了一种服务器端的多版本程序管理系统,其中该服务器端运行有至少一个版本的服务器端程序,如图2所示,该服务器端的多版本程序管理系统包括程序打包模块1、类加载模块2和请求转发模块3。其中,程序打包模块1用于将至少一个版本的服务器端程序分别打包为至少一个版本的中间程序。类加载模块2用于分别加载至少一个版本的中间程序到至少一个相互隔离的加载器。请求转发模块3用于接收来自客户端程序的包括版本号的请求信息,调用与版本号相同的加载器中的中间程序,并向客户端程序返回请求结果响应。
本发明实施例还提供了一种服务器端的多版本程序管理装置,其中服务器端运行有至少一个版本的服务器端程序,如图3所示,该服务器端的多版本程序管理装置包括加载器10和请求转发器20。其中,加载器10为至少一个并且各个加载器10之间相互隔离,加载器10用于分别加载至少一个版本的中间程序,其中,至少一个版本的中间程序由至少一个版本的服务器端程序分别打包而成。请求转发器20用于接收来自客户端程序的包括版本号的请求信息,调用与版本号相同的加载器中的中间程序,并向客户端程序返回请求结果响应。
在可选实施例中,至少一个版本的服务器端程序由代码版本管理系统管理。其中,代码版本管理系统管理例如Git等代码管理工具。
如图4所示,为基于本发明实施例,利用Java语言实现的服务器端的多版本程序管理结构。其中,1.0版本应用代码分支、2.0版本应用代码分支……n.0版本应用代码分支分别为n个版本的服务器端程序,它们借助Git代码管理工具进行管理,当版本升级迭代时,新的代码版本可以在旧的代码版本基础上拉分支,每个版本都有自己独立的代码分支。其中,1.0版本应用代码分支、2.0版本应用代码分支……n.0版本应用代码分支由Java语言编写。1.0版本应用Class包、2.0版本应用Class包……n.0版本应用Class包分别由1.0版本应用代码分支、2.0版本应用代码分支……n.0版本应用代码分支各自独立打包而得。自定义类加载器(1.0版本应用)、自定义类加载器(2.0版本应用)……自定义类加载器(n.0版本应用)分别加载1.0版本应用Class包、2.0版本应用Class包……n.0版本应用Class包。自定义类加载器是指类加载的管理器,它用于加载Java应用程序的类。因为是利用Java提供的自定义类加载功能实现的,即通过继承Java提供的ClassLoader抽象类实现,因此称为自定义类加载器。本发明实施例通过自定义类加载器去分别加载不同版本的服务端应用程序代码的Class包,即每个版本的Class包都由不同的类加载器去分别加载,从而实现不同版本之间代码的隔离。请求转发器实现对客户端程序请求的接收和转发功能,它根据客户端程序请求中附带的版本号的不同,分别调用对应的不同版本的服务端应用程序,并给客户端程序返回相应的请求结果响应。不同版本的服务端应用程序加载于各个自定义类加载器中,即不同版本的服务端应用程序为各个自定义类加载器中的各个版本应用Class包。利用图4所示的管理结构,客户端程序(位于终端侧)的版本号可以通过接口参数的方式传给服务端(位于服务器侧),服务端通过版本号进行判断,选择该客户端程序版本对应的服务器端程序版本进行响应。
在可选实施例中,终端和服务器之间通过网络进行数据交互。
本发明实施例还同时提供一种非易失性计算机可读存储介质,该非易失性计算机可读存储介质存储指令,该指令在由处理器执行时使得所述处理器执行如上述说明中的服务器端的多版本程序管理方法中的各个步骤。
本发明实施例还同时提供一种执行服务器端的多版本程序管理方法的电子设备,如图5所示,该电子设备包括:至少一个处理器100以及存储器200。存储器200和至少一个处理器100通信连接,例如存储器200和至少一个处理器100通过总线连接。存储器200存储有可被至少一个处理器100执行的指令,所述指令被至少一个处理器100执行,以使至少一个处理器100执行如上述说明中的服务器端的多版本程序管理方法中的各个步骤。
本发明实施例的服务器端的多版本程序管理方法、装置和系统,利用相互隔离的加载器,实现了各个版本的中间程序之间的代码隔离,使得同一个服务器端程序的不同版本的中间程序之间的代码逻辑互不影响,当客户端程序发来包括版本号的请求信息时,只需要调用相应版本号的位于加载器中的中间程序即可实现服务器端程序与客户端程序的版本匹配。本发明实施例,利用相互隔离的加载器和其中的由不同版本的服务器端程序所打包成的不同版本的中间程序,基于此便取消了服务器端程序中各个模块和类的关于版本的分支判断,简化了关于版本判断的代码逻辑和数量,消除了因为版本判断过程出错所带来的问题。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (12)
1.一种服务器端的多版本程序管理方法,其中所述服务器端运行有至少一个版本的服务器端程序,所述服务器端的多版本程序管理方法包括服务器端执行的以下步骤:
将所述至少一个版本的服务器端程序分别打包为至少一个版本的中间程序;
分别加载所述至少一个版本的中间程序到至少一个相互隔离的加载器;
接收来自客户端程序的包括版本号的请求信息;
调用与所述版本号相同的加载器中的中间程序,并向所述客户端程序返回请求结果响应。
2.根据权利要求1所述的服务器端的多版本程序管理方法,其特征在于:
所述中间程序为跨平台类程序。
3.根据权利要求2所述的服务器端的多版本程序管理方法,其特征在于:
所述中间程序为运行于跨平台虚拟机中的程序。
4.根据权利要求3所述的服务器端的多版本程序管理方法,其特征在于:
所述跨平台虚拟机为Java虚拟机。
5.根据权利要求2所述的服务器端的多版本程序管理方法,其特征在于:
所述跨平台类程序为字节码文件包。
6.根据权利要求2所述的服务器端的多版本程序管理方法,其特征在于:
所述跨平台类程序为Java代码程序。
7.根据权利要求5所述的服务器端的多版本程序管理方法,其特征在于:
所述字节码文件包为Java的class文件包。
8.根据权利要求1所述的服务器端的多版本程序管理方法,其特征在于:
所述至少一个版本的服务器端程序为同一程序的不同版本。
9.一种服务器端的多版本程序管理系统,其中所述服务器端运行有至少一个版本的服务器端程序,其特征在于,所述服务器端的多版本程序管理系统包括:
程序打包模块,用于将所述至少一个版本的服务器端程序分别打包为至少一个版本的中间程序;
类加载模块,用于分别加载所述至少一个版本的中间程序到至少一个相互隔离的加载器;
请求转发模块,用于接收来自客户端程序的包括版本号的请求信息,调用与所述版本号相同的加载器中的中间程序,并向所述客户端程序返回请求结果响应。
10.一种服务器端的多版本程序管理装置,其中所述服务器端运行有至少一个版本的服务器端程序,其特征在于,所述服务器端的多版本程序管理装置包括:
加载器,所述加载器为至少一个并且相互隔离,用于分别加载至少一个版本的中间程序,其中,所述至少一个版本的中间程序由所述至少一个版本的服务器端程序分别打包而成;
请求转发器,用于接收来自客户端程序的包括版本号的请求信息,调用与所述版本号相同的加载器中的中间程序,并向所述客户端程序返回请求结果响应。
11.一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储指令,其特征在于,所述指令在由处理器执行时使得所述处理器执行如权利要求1至8中任一项所述的服务器端的多版本程序管理方法中的步骤。
12.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行如权利要求1至8中任一项所述的服务器端的多版本程序管理方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110207654.1A CN113805911A (zh) | 2021-02-24 | 2021-02-24 | 服务器端的多版本程序管理方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110207654.1A CN113805911A (zh) | 2021-02-24 | 2021-02-24 | 服务器端的多版本程序管理方法、装置和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113805911A true CN113805911A (zh) | 2021-12-17 |
Family
ID=78892859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110207654.1A Pending CN113805911A (zh) | 2021-02-24 | 2021-02-24 | 服务器端的多版本程序管理方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113805911A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116594678A (zh) * | 2023-07-18 | 2023-08-15 | 太平金融科技服务(上海)有限公司 | 开发联调隔离方法、装置、计算机设备、存储介质 |
-
2021
- 2021-02-24 CN CN202110207654.1A patent/CN113805911A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116594678A (zh) * | 2023-07-18 | 2023-08-15 | 太平金融科技服务(上海)有限公司 | 开发联调隔离方法、装置、计算机设备、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210073015A1 (en) | Java native interface and windows universal app hooking | |
CN104750528A (zh) | 一种Android程序中的组件管理方法和装置 | |
CN107577609B (zh) | 一种基于主机端动态链接的嵌入式系统动态模块调试系统 | |
CN111399840B (zh) | 一种模块开发方法及装置 | |
CN101025698A (zh) | 强制性地终止输入/输出操作阻止的线程的设备和方法 | |
CN114077423A (zh) | 基于移动跨平台的机场app开发容器架构 | |
US20050204351A1 (en) | Dynamic addressing (DA) using a centralized DA Manager | |
CN111880987A (zh) | 应用程序的动态监测方法、装置、存储介质以及电子装置 | |
CN112769706B (zh) | 组件化路由方法及系统 | |
CN110659031A (zh) | 应用程序的编译方法、装置、电子设备及存储介质 | |
CN111651219A (zh) | 一种多模块项目配置文件管理的方法及设备 | |
CN113407362A (zh) | 基于车载Android系统SOA架构SOMEIP通信中间层实现方法及系统 | |
CN112860236A (zh) | 一种基于single-spa的微前端技术 | |
CN113050984A (zh) | 资源调取方法、装置、电子设备及存储介质 | |
CN113805911A (zh) | 服务器端的多版本程序管理方法、装置和系统 | |
CN112860251A (zh) | 一种网站前端构建的方法与系统 | |
CN111651169B (zh) | 基于web容器的区块链智能合约运行方法及系统 | |
CN114490103A (zh) | 一种操作系统接口调用方法、装置以及电子设备 | |
CN116401003A (zh) | 基于桌面操作系统的安卓应用运行方法、系统及存储介质 | |
CN114546515B (zh) | 动态加载静态库的模块、固件及设备和C库转Lua库的方法 | |
CN115878267A (zh) | 对固件系统的仿真装置、方法、存储介质及电子设备 | |
CN112559336B (zh) | 自适应调试异构计算芯片的方法、装置、系统及主板芯片 | |
CN112363804B (zh) | 区块链jvm应用方法、设备和存储介质 | |
CN110661852B (zh) | 云环境中的业务处理方法及装置 | |
CN114115859A (zh) | iOS程序基于本地静态库的编译方法、装置及系统 |
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 |