CN110069266A - 应用升级方法、装置、计算机设备以及存储介质 - Google Patents

应用升级方法、装置、计算机设备以及存储介质 Download PDF

Info

Publication number
CN110069266A
CN110069266A CN201810068817.0A CN201810068817A CN110069266A CN 110069266 A CN110069266 A CN 110069266A CN 201810068817 A CN201810068817 A CN 201810068817A CN 110069266 A CN110069266 A CN 110069266A
Authority
CN
China
Prior art keywords
upgrade
host process
upgrading
application
host
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
Application number
CN201810068817.0A
Other languages
English (en)
Other versions
CN110069266B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201810068817.0A priority Critical patent/CN110069266B/zh
Publication of CN110069266A publication Critical patent/CN110069266A/zh
Application granted granted Critical
Publication of CN110069266B publication Critical patent/CN110069266B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

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

Abstract

本申请公开了一种应用升级方法、装置、计算机设备以及存储介质,该方法应用于计算机设备,计算机设备中运行有至少一个应用,应用具有主进程和升级进程,主进程用于实现应用所提供的服务,方法包括:当满足应用的升级条件时,应用的升级进程从版本升级服务器获取主进程的新版本数据,主进程的新版本数据为用于升级主进程的数据;升级进程利用主进程的新版本数据,升级主进程;当升级进程检测到主进程升级结束时,重启主进程,以维持主进程的运行,其中,主进程升级结束包括:主进程升级完成或者主进程出现升级异常。该方案可以提高应用升级的稳定性和可靠性,并降低由于应用升级失败,而导致应用无法正常运行的情况。

Description

应用升级方法、装置、计算机设备以及存储介质
技术领域
本申请涉及应用测试技术领域,尤其涉及一种应用升级方法、装置、计算机设备以及存储介质。
背景技术
在计算机设备中的应用存在版本更新时,计算机设备需要从服务器端获取更新该应用的版本更新数据(如,补丁包或者新版本的安装包等),并利用该版本更新数据更新应用的版本,以完成应用的升级。
然而,计算机设备在对应用进行升级的过程中,经常会由于版本更新数据存在漏洞或者其他原因,而导致应用升级失败,而计算机设备中的应用一旦升级失败,计算机设备就可能无法正常运行应用,从而使得计算机设备升级应用的稳定性和可靠性较差。
发明内容
有鉴于此,本申请提供了一种应用升级方法、装置、计算机设备以及存储介质,以提高应用升级的稳定性和可靠性,并降低由于应用升级失败,而导致应用无法正常运行的情况。
为实现上述目的,一方面,本申请提供了一种应用升级方法,应用于计算机设备,所述计算机设备中运行有至少一个应用,所述应用具有主进程和升级进程,所述主进程用于实现所述应用所提供的服务,所述方法包括:
当满足所述应用的升级条件时,所述应用的升级进程从所述版本升级服务器获取所述主进程的新版本数据,所述主进程的新版本数据为用于升级所述主进程的数据;
所述升级进程利用所述主进程的新版本数据,升级所述主进程;
当升级进程检测到所述主进程升级结束时,重启所述主进程,以维持所述主进程的运行,其中,所述主进程升级结束包括:主进程升级完成或者主进程出现升级异常。
在一种可能的实现方式中,在所述应用的升级进程从所述版本升级服务器获取所述主进程的新版本数据之前,还可以包括:
所述主进程检测所述版本升级服务器中是否存在所述升级进程的新版本数据;
当所述版本升级服务器中存在所述升级进程的新版本数据时,所述主进程从所述版本升级服务器中获取所述升级进程的新版本数据;
所述主进程利用所述升级进程的新版本数据,升级所述升级进程;
当主进程检测到所述升级进程升级结束时,重启所述升级进程,以维持所述升级进程的运行,其中,所述升级进程升级结束包括:升级进程升级完成或者升级进程出现升级异常;
所述应用的升级进程从所述版本升级服务器获取所述主进程的新版本数据,包括:
当所述版本升级服务器中不存在所述主进程的新版本数据或者所述升级进程升级结束,所述升级进程从所述版本升级服务器获取所述主进程的新版本数据。
在一种可能的实现方式中,该方法还可以包括:
当不满足所述应用的升级条件时,在所述应用运行过程中,所述主进程监控所述升级进程的运行状态,且所述升级进程监控所述主进程的运行状态;
当所述主进程检测到所述升级进程未处于运行状态时,启动所述升级进程,以维持所述升级进程的运行;
当所述升级进程检测到所述主进程未处于运行状态时,启动所述主进程,以维持所述主进程的运行。
又一方面,本申请还提供了一种应用升级装置,应用于计算机设备,所述计算机设备中运行有至少一个应用,所述应用具有主进程和升级进程,所述主进程用于实现所述应用所提供的服务,所述装置包括:
第一获取单元,用于当满足所述应用的升级条件时,通过所述应用的升级进程从所述版本升级服务器获取所述主进程的新版本数据,所述主进程的新版本数据为用于升级所述主进程的数据;
第一升级单元,用于通过所述升级进程利用所述主进程的新版本数据,升级所述主进程;
第一重启单元,用于当升级进程检测到所述主进程升级结束时,重启所述主进程,以维持所述主进程的运行,其中,所述主进程升级结束包括:主进程升级完成或者主进程出现升级异常。
又一方面,本申请还提供了一种计算机设备,所述计算机设备中运行有至少一个应用,所述应用具有主进程和升级进程,所述主进程用于实现所述应用所提供的服务,所述计算机设备包括:
处理器和存储器;
其中,所述处理器用于执行所述存储器中存储的程序;
所述存储器用于存储程序,所述程序至少用于:
当满足所述应用的升级条件时,所述应用的升级进程从所述版本升级服务器获取所述主进程的新版本数据,所述主进程的新版本数据为用于升级所述主进程的数据;
所述升级进程利用所述主进程的新版本数据,升级所述主进程;
当升级进程检测到所述主进程升级结束时,重启所述主进程,以维持所述主进程的运行,其中,所述主进程升级结束包括:主进程升级完成或者主进程出现升级异常。
又一方面,本申请还提供了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现如上所述的应用升级方法。
可见,在本申请实施例中,计算机设备中运行有的应用除了具有实现应用所提供的服务的主进程之外,还具有用于控制主进程升级的升级进程,这样,当满足应用的升级条件时,应用的升级进程会从版本升级服务器获取该主进程的新版本数据,并利用主进程的新版本数据,升级该主进程;而当升级进程检测到主进程升级完成或者主进程出现升级异常,升级进程会重启主进程,以维持主进程的运行,从而可以减少由于应用升级失败,而导致应用无法正常运行的情况,提高了应用升级的稳定性和可靠性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面
描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1示出了本申请实施例中一种应用升级方法的一种应用场景的组成结构示意图;
图2示出了本申请实施例中一种应用升级方法所适用的计算机设备的一种组成结构示意图;
图3示出了本申请实施例中一种应用升级方法的一种流程示意图;
图4示出了本申请实施例中一种应用升级方法的又一种流程示意图;
图5示出了本申请实施例中一种应用升级装置一个实施例的组成结构示意图;
图6示出了本申请实施例中一种应用升级装置又一个实施例的组成结构示意图。
具体实施方式
本申请的应用升级方法可以应用于对计算机设备中的应用进行升级,以提高应用升级的可靠性和稳定性。
为了便于理解,先对本申请实施例的应用升级方法所适用的应用场景进行介绍。如图1,在图1所示的应用场景中可以包括:计算机设备101以及版本升级服务器102。
其中,该版本升级服务器102,用于存储一个或多个应用升级所需的版本升级数据;接收计算机设备发送的版本升级请求,并向计算机设备返回该版本升级请求所请求的新版本数据。
其中,考虑到应用升级的方式可以包括全量升级和增量升级等,该版本升级服务器102中存储的应用的新版本数据可以为升级应用所需的应用安装包,也可以是应用升级所需的补丁包(如,增量补丁包等)等。
其中,该计算机设备102可以从版本升级服务器获取升级应用所需的新版本数据,如,该新版本数据可以应用的新版本安装包,或者是应用的增量安装包等。
该计算机设备101可以为平板电脑、台式电脑。考虑到对于一些服务器等计算机设备中应用一旦升级失败,则该计算机设备有可能无法正常向外提供服务器,比如,云主机(也可以称为云服务器)等一旦存在应用的升级失败,则可能无法正常运行相应的应用,进而无法提供存储或者计算等服务,因此,本申请实施例的方案尤其适用于云主机等服务器。
在本申请实施例中,该计算机设备运行有至少一个应用,且该应用中具有主进程和升级进程,主进程用于实现该应用所提供的服务,升级进程可以维护主进程的运行状态,并实现对主进程的升级。
为了便于理解,参见图2,其示出了本申请实施例的应用升级方法所适用的计算机设备的一种组成结构示意图。在图2中,该计算机设备200可以包括:处理器201、存储器202、通信接口203、输入单元204和显示器205和通信总线206。
处理器201、存储器202、通信接口203、输入单元204、显示器205、均通过通信总线206完成相互间的通信。
在本申请实施例中,该处理器201,可以为中央处理器(Central ProcessingUnit,CPU),特定应用集成电路(application-specific integrated circuit,ASIC),数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件等。
该处理器可以调用存储器202中存储的程序,具体的,可以处理器可以执行以下图3以及图4中计算机设备侧所执行的操作。
存储器202中用于存放一个或者一个以上程序,程序可以包括程序代码,所述程序代码包括计算机操作指令,在本申请实施例中,该存储器中至少存储有用于实现以下功能的程序:
当满足所述应用的升级条件时,所述应用的升级进程从所述版本升级服务器获取所述主进程的新版本数据,所述主进程的新版本数据为用于升级所述主进程的数据;
所述升级进程利用所述主进程的新版本数据,升级所述主进程;
当升级进程检测到所述主进程升级结束时,重启所述主进程,以维持所述主进程的运行,其中,所述主进程升级结束包括:主进程升级完成或者主进程出现升级异常。
在一种可能的实现方式中,该存储器202可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、以及至少一个功能(比如声音播放功能、图像播放功能等)所需的应用程序等;存储数据区可存储根据计算机的使用过程中所创建的数据,比如,用户数据、用户访问数据以及音频数据等等。
此外,存储器202可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
该通信接口203可以为通信模块的接口,如GSM模块的接口。
本申请还可以包括显示器204和输入单元205,该显示器204包括显示面板,如触摸显示面板等;该输入单元可以触摸感应单元、键盘等等。
当然,图2所示的计算机设备结构并不构成对本申请实施例中计算机设备的限定,在实际应用中计算机设备可以包括比图2所示的更多或更少的部件,或者组合某些部件。
结合以上共性,对本申请实施例的一种应用升级方法进行详细介绍。
如,参见图3,其示出了本申请一种应用升级方法一个实施例的流程示意图,本实施例的方法可以包括:
S301,计算机设备运行应用中的主进程和升级进程。
在本申请实施例中,应用除了具备执行该应用所提供的功能或者服务的主进程之外,还包括一个用于对该主进程进行升级的升级进程。
具体的,在应用的程序文件包中包括该主进程的程序文件和该升级进程的程序文件,这样,应用启动时,会运行主进程的程序文件中的程序代码,以使得主进程处于运行状态;同时,应用会运行该升级进程的程序文件中的程序代码,以使得升级进程处于运行状态。
在本申请实施例中,在应用运行过程中,主进程和升级进行会相互监控对方的运行状态,并在对方出现运行异常时,则会重新唤醒对方,以使得主进程和升级进程一直处于稳定的运行状态。具体的,在应用运行过程中,主进程用于监控升级进程的运行状态,并当检测到升级进程未处于运行状态时,启动该升级进程;相应的,升级进程用于监控主进程的运行状态,并当检测到主进程未处于运行状态时,启动该主进程。
需要说明的是,主进程和升级进程之间的相互监控的关系不适用于应用升级的过程。
其中,该步骤S301并不属于应用升级的过程,该步骤S301目的是为了便于清楚完整的理解应用运行以及升级的整个过程,在应用升级时,无需执行该步骤S301。
S302,当满足应用的升级条件时,主进程检测版本升级服务器中是否存在该升级进程的新版本数据,如果是,则执行步骤S303;如果否,则执行步骤S307。
其中,升级进程的新版本数据为用于升级该升级进程的数据,如,该新版本数据可以为升级进程最新版本的安装包,或者是,升级进程的当前版本与该新版本安装包的差分包等。
如果该版本升级服务器中存在升级进程的新版本数据,则说明当前存在新版本的升级进程,该升级进程可以被升级。
其中,满足应用升级条件的情况可以有多种,如,在一种可能的情况中,可以预先设定升级检测周期,当主进程按照该升级检测周期,确定出当前到达升级检测时刻时,则确定当前满足应用升级条件,这样,主进程会查询版本升级服务器中是否存在升级进程的新版本数据。
又如,在又一种可能的情况中,考虑到计算机设备中安装的应用需要与该应用对应的应用服务器进行数据交互,因此,用户可向该应用对应的应用服务器发出对该应用的升级请求,并由该应用服务器向该计算机设备发送对该应用的升级请求,相应的,在应用接收到升级请求时,则确定满足应用升级条件。
当然,在实际应用中,满足应用升级条件的情况还可以有其他可能,在本申请不加以限制。
S303,主进程结束该升级进程的运行。
其中,主进程结束该升级进程的运行也就是俗称的关闭该升级进程,以使得升级进程处于未运行状态。
可以理解的是,为了保证升级进程的可靠升级,在对升级进程升级之前,主进程会结束该升级进程的运行,以使得升级进程未处于运行状态。
需要说明的是,在应用运行过程中,如果应用不存在升级需求,则主进程和升级进程相互监控对方的运行,以使得主进程和升级进程之间具有相互守护的关系;但是在应用升级时,需要解除主进程和升级进程之间的守护关系。因此,在需要对升级进程升级时,主进程会关闭升级进程,以解除了升级进程对主进程的守护关系,在该种情况下,升级进程不会监控主进程的运行状态。
其中,为了能够区分出当前主进程和升级进程之间是否具有守护关系,在主进程确定出需要对升级进程升级时,如,检测到版本升级服务器中存在该升级进程的新版本数据时,主进程可以标注自身的状态为升级状态,在该种情况下,升级进程不会在监控主进程的运行状态,而主进程关闭升级进程之后,主进程会执行对该升级进程的升级。
可以理解的是,为了使得主进程能够更可靠的升级该升级进程之前,作为一种可选方式,主进程需要关闭该升级进程的运行。
S304,主进程从该版本升级服务器获取该升级进程的新版本数据。
如,根据该升级进程当前的版本标识,获取该升级进程的新版本对应的新版本数据。
需要说明的是,以上步骤S303和步骤S304的顺序并不限于图3所示,在实际应用中,也可以互换这两个步骤的顺序。
S305,主进程利用该升级进程的新版本数据,升级该升级进程。
如,新版本数据为升级进程的新版本的安装包时,主进程控制该新版本的安装包的安装,以升级该升级进程。
又如,该新版本数据为升级进程的新版本的差分包时,则根据该差分包以及计算机设备中该升级进程的当前版本的安装包,合成升级进程的新版本安装包,并利用新版本安装包升级该升级进程。
当然,主进程根据该升级进程的新版本数据升级该升级进程的方式还可以有其他可能,本申请对于升级进程的新版本数据升级该升级进程的具体过程不加以限制。
S306,当主进程完成该升级进程的升级或者检测到升级进程升级失败时,主进程启动该升级进程。
其中,完成升级进程的升级以及检测到升级进程升级失败均可以认为是升级进程的升级结束。
可以理解的是,为了后续能够对主进程进行升级,并使得升级进程可以守护该主进程,以维护主进程的可靠运行,在升级进程升级完成后,该主进程会重新启动升级后的该进程。
同时,如果由于升级进程的新版本数据存在漏洞等原因,而导致升级进程失败的情况中,主进程检测到升级进程升级失败,会通过回滚等方式,重新启动该升级进程,如,主进程存储升级进程升级前的运行状态数据,并利用升级前的运行状态数据,对升级进程进行回滚,以恢复升级进程升级前的运行状态。
S307,在主进程结束对升级进程的升级或者版本升级服务器中不存在升级进程的新版本数据时,升级进程检测版本升级服务器中是否存在该主进程的新版本数据,如果是,则执行步骤S308;如果否,则结束升级。
如,主进程重启升级进程之后,可以通知升级进程执行对主进程的升级流程;又如,升级进程检测到自身完成升级或者升级失败而被重启之后,可以执行对主进程的升级。
其中,主进程结束对升级进程的升级包括:主进程对升级进程升级成功,或者由于其他原因导致升级进程升级失败而结束升级等情况。
其中,主进程的新版本数据为用于升级该主进程的数据,如,主进程的新版本数据可以为主进程最新版本的安装包,或者是,主进程的当前版本与该新版本安装包的差分包等。
如果该版本升级服务器中存在主进程的新版本数据,则说明当前存在新版本的主进程,该主进程可以被升级。
S308,升级进程结束该主进程的运行。
其中,升级进程结束主进程的运行也就是俗称的关闭该主进程,以使得主进程处于未运行状态,从而保证主进程的可靠升级。
与步骤S303相似,在应用升级时,升级进程结束该主进程的运行,实际上就解除了主进程对升级进程的守护关系,在该种情况下,主进程不会监控升级进程的运行状态。
S309,升级进程从版本升级服务器获取该主进程的新版本数据。
S310,升级进程利用该主进程的新版本数据,升级该主进程。
如,主进程的新版本数据为主进程的新版本的安装包时,升级进程控制该新版本的安装包的安装,以升级该主进程。
当然,升级进程升级该主进程的方式可以有多种可能,本申请对此不加以限制。
S311,当升级进程完成该主进程的升级或者检测到主进程升级失败时,升级进程启动该主进程。
其中,完成主进程的升级以及检测到主进程升级失败均可以认为是主进程升级结束。其中,主进程完成升级时,升级进程可以直接启动主进程;而主进程升级失败时名,主进程可以利用升级进程升级前的数据,通过回滚等方式,重新启动该升级进程,以恢复升级进程升级前的运行状态。
其中,升级进程对主进程的升级过程,与主进程对升级进程升级的过程相似,因此,对升级进程对主进程的升级过程的介绍较为简单,具体可以参见主进程升级该升级进程的过程。
可以理解的是,为了使得计算机设备中的应用可以稳定运行,以实现该应用对应的功能,升级进程需要维护主进程的可靠运行,因此,在升级进程升级完成后,该主进程会重新启动升级后的该进程。同时,如果主进程升级失败,升级进程需要通过回滚等方式,重新启动该主进程,以保持应用的可靠运行,减少由于升级失败而导致应用无法正常运行的情况。
需要说明的是,本申请实施例是以先对升级进程进行升级为例,其目的是为了提高升级进程的可靠性,以便升级进程能够实现对主进程的可靠升级。但是可以理解的是,在升级主进程之前,也可以先检测是否需要对主进程进行升级,并主进程不需要升级或者完成主进程的升级之后,通过主进程对升级进程升级。
可见,在本申请实施例中,计算机设备的应用中除了包括主进程之外,还包括用于维护主进程升级的升级进程,这样,主进程和升级进程可以相互维护各自的运行状态,以保证主进程和升级进程均处于运行状态。
而且,在满足应用升级条件时,可以通过主进程和升级进程分别控制对方的升级,这样,在主进程升级完成以及主进程升级失败时,也可以通过升级进程重新启动该主进程的运行,从而可以保证应用的主进程处于稳定的运行状态,减少了由于升级失败等原因,而导致主进程无法正常运行等问题,保证了应用稳定、可靠的提供服务。
可以理解的是,考虑到计算机设备与版本升级服务器进行数据交互的过程中,如果计算机设备中应用的数据被篡改,或版本升级服务器返回的数据被窃取或者篡改等,就可能会影响计算机设备中应用的正常升级,甚至可能会导致应用无法正常运行,从而无法正常向外提供服务。如,以计算机设备为云主机为例,如果云主机中的应用的进程被恶意注入代码,则云主机从版本升级服务器获取到的新版本数据就可以会被窃取,甚至可能会在升级过程中,对云主机中存储的数据造成安全威胁。
为了降低计算机设备升级应用的过程中,由于计算机设备中应用的数据被篡改而出现的数据安全风险,本申请实施例中,在对计算机设备中应用进行升级之前,需要验证应用对应的程序数据是否存在篡改。具体的,应用的主进程对应用的升级进程升级之前,主进程需要验证升级进程的程序文件是否被篡改;相应的,升级进程升级主进程之前,升级进程也会验证主进程的程序文件是否被篡改。
同时,为了保证计算机设备与版本升级服务器之间数据交互的安全性,版本服务器与计算机设备传输的数据也会被加密。
下面以计算机设备为云主机为例,对本申请实施例的应用升级方法进行介绍。但是可以理解的是,对于计算机设备为云主机之外的情况,也同样适用于本实施例。如,参见图4,其示出了本申请一种应用升级方法一个实施例的流程示意图,本实施例的方法可以包括:
S401,云主机启动应用,运行应用中的主进程和升级进程。
S402,在应用运行过程中,主进程监控升级进程的运行状态,并当检测到升级进程未处于运行状态时,启动该升级进程。
S403,在应用运行过程中,升级进程监控主进程的运行状态,并当检测到主进程未处于运行状态时,启动该主进程。
其中,步骤S402和步骤S403仅仅是为了便于理解主进程和升级进程之间的守护关系,即相互监控并维护对方运行状态的关系。与前面图3实施例相似,这两个步骤仅仅是在应用升级之前会执行,而在应用升级过程中,主进程与升级进程之间的守护关系会解除。
可以理解的是,以上步骤S401到步骤S403并不属于应用升级过程,而仅仅是为了便于理解应用的升级而进行的介绍。
S404,当主进程按照预设的升级检测周期,确定当前到达升级检测时刻时,主进程从该应用的版本升级服务器中查询是否存在升级进程的新版本数据,如果是,则执行步骤S405,如果否,则返回执行该步骤S411。
可以理解的是,主进程按照预设升级检测周期触发升级检测仅仅是应用升级条件的一种方式,当应用升级条件为其他可能情况也同样适用于本实施例,具体可以参见前面实施例的相关介绍,在此不再赘述。
可以理解的是,为了保证版本升级服务器中数据的安全性,在云主机中该应用的主进程查询版本升级服务器是否存在该升级进程的新版本数据之前,该主进程还需要检测云主机是否已经登录该版本升级服务器。如果云主机尚未登录该版本升级服务器,则该主进程会向版本升级服务器发送登录请求,登录请求可以携带登录用的验证信息,如,该登录请求可以携带云主机的地址等标识信息。当版本升级服务器验证该登录请求携带的验证信息为有效信息时,则云主机可以登录该版本升级服务器。
在一种可能的实现方式中为了保证版本升级服务器中数据的安全性,该版本升级服务器还连接有鉴权服务器,如图1中示出的该鉴权服务器103。相应的,主进程请求登录版本升级服务器,可以是向版本升级服务器102相连的鉴权服务器103发送登录请求,而鉴权服务器103可以在接收到该登录请求之后,可以查询版本升级服务器中是否存在有该验证信息,如果是,则向主进程返回登录成功的响应,以完成主进程的登录。
可以理解的是,在云主机登录该版本升级服务器之后,为了保证后续数据交互的安全性,该版本升级服务器可以直接或者是通过该鉴权服务器向云主机发送一个客户端密钥,相应的,版本升级服务器会保存一个与该客户端密钥对应的服务器密钥。其中,该客户端密钥和服务器密钥可以互为一对数据加解密密钥,因此,该客户端密钥也可以称为解密密钥,而服务器密钥可以称为加密密钥。这样,版本升级服务器按照服务器密钥对数据加密后传输给云主机,而云主机可以按照该客户端密钥解密该版本升级服务器传输的加密数据。
进一步的,为了保证加解密密钥的安全性,在云主机登录版本升级服务器之后,在云主机与版本升级服务器建立连接的过程中,版本升级服务器可以每隔预设时长,定时更新加密密钥以及解密密钥,并将更新后的解密密钥发送给云主机。
S405,主进程关闭升级进程。
S406,主进程查询升级进程对应的第一程序文件的数据签名是否完整。
S407,当该第一程序文件的数据签名完整时,主进程从版本升级服务器获取经过加密的该升级进程的新版本数据。
其中,程序文件的数字签名用于验证程序文件是否被篡改,如果该程序文件的数字签名完整,则说明程序文件没有被篡改,在该种情况下,则说明该程序文件对应的进程中不存在恶意注入的代码,这样,对该程序文件的进程进行升级,不会存在升级数据被窃取等其他安全风险。
可以理解的是,为了便于与主进程的程序文件进行区分,在本实施例中,将升级进程的程序文件称为第一程序文件,并将主进程的程序文件称为第二程序文件。
可以理解的是,在实际应用中,还可以有其他检测该升级进程的程序文件是否被篡改的方式,对于其他方式也同样适用于本实施例,在此不加以限制。
可以理解的是,当该第一程序文件的数据签名不完整时,主进程可以结束对升级程序的升级。同时,为了保证升级进程的正常运行,主进程会重启该升级进程。当然,为了版本升级服务器获取到该升级进程的异常状态,该主进程还可以向该版本升级服务器上报异常通知。
S408,主进程依据升级版本服务器预先返回的解密密钥,对经过加密的升级进程的新版本数据进行解密,得到解密出的该升级进程的新版本数据。
该解密密钥为云主机登录该升级版本服务器之后,升级版本服务器为该云主机返回的密钥。具体可以参见步骤S404中的相关介绍,在此不再赘述。
S409,主进程利用解密出的该升级进程的新版本数据,对升级进程进行升级。
S410,当主进程完成该升级进程的升级或者升级进程存在升级异常时,则主进程重新启动该升级进程的运行。
其中,升级进程的升级异常可以包括升级进程的数据被篡改,而使得主进程中止对升级进程的升级,或者由于其他原因导致的升级进程升级失败等情况。
如,升级进程存在升级异常时,可以回滚该升级进程,以运行该升级进程;如,升级进程升级成功,则可以启动升级后的该升级进程。
S411,在主进程完成对升级进程的升级或者版本升级服务器中不存在升级进程的新版本数据时,升级进程检测版本升级服务器中是否存在该主进程的新版本数据,如果是,则执行步骤S412;如果否,则结束升级。
S412,升级进程关闭该主进程。
S413,升级进程检测主进程对应的第二程序文件的数据签名是否完整。
S414,当该第二程序文件的数据签名完整时,升级进程从版本升级服务器获取经过加密的该主进程的新版本数据。
S415,升级进程依据升级版本服务器预先返回的解密密钥,对经过加密的主进程的新版本数据进行解密,得到解密出的该主进程的新版本数据。
S416,升级进程利用解密出的该主进程的新版本数据,对主进程进行升级。
S417,当升级进程完成该主进程的升级或者主进程存在升级异常时,则重新启动该主进程的运行。
升级进程对主进程的升级过程可以参见主进程对该升级进程升级的相关介绍,在此不再赘述。
另一方面,本申请还提供了一种应用升级装置。
如,参见图5,其示出了本申请一种应用升级装置一个实施例的组成结构示意图,本实施例的装置可以应用于计算机设备,该计算机设备中运行有至少一个应用,且该应用具有主进程和升级进程,所述主进程用于实现所述应用所提供的服务,其中,该计算机设备的组成可以参见前面的相关介绍。
本实施例的装置可以包括:
第一获取单元501,用于当满足所述应用的升级条件时,通过所述应用的升级进程从所述版本升级服务器获取所述主进程的新版本数据,所述主进程的新版本数据为用于升级所述主进程的数据;
第一升级单元502,用于通过所述升级进程利用所述主进程的新版本数据,升级所述主进程;
第一重启单元503,用于当升级进程检测到所述主进程升级结束时,重启所述主进程,以维持所述主进程的运行,其中,所述主进程升级结束包括:主进程升级完成或者主进程出现升级异常。
在一种可能的实现方式中,所述第一获取单元,包括:
第二获取子单元,用于当满足应用升级条件时,通过所述应用的升级进程从所述版本服务器获取经过加密的主进程的新版本数据;
所述第一升级单元,包括:
第一升级子单元,用于通过所述升级进程获取预先存储的所述解密密钥,并利用所述解密密钥解密所述经过加密的主进程的新版本数据,得到所述主进程的新版本数据,其中,所述解密密钥为所述计算机设备登录所述版本升级服务器之后,由所述版本升级服务器返回的密钥。
在一种可能的实现方式中,该应用升级装置还包括:
完整性检测单元,用于在所述第一获取单元获取所述主进程的新版本数据之前,通过所述升级进程查询所述主进程的程序文件中的数据签名是否完整,并当所述主进程的程序文件中的数据签名完整时,触发执行所述第一获取单元的操作。
参见图6,其示出了本申请一种应用升级装置又一个实施例的组成结构示意图,本实施例的装置与图5的不同之处在于:
该装置还可以包括:
第一检测单元504,用于当满足所述应用的升级条件时,且在所述第一获取单元获取所述主进程的新版本数据之前,通过所述主进程检测所述版本升级服务器中是否存在所述升级进程的新版本数据;
第二获取单元505,用于当所述版本升级服务器中存在所述升级进程的新版本数据时,通过所述主进程从所述版本升级服务器中获取所述升级进程的新版本数据;
第二升级单元506,用于通过所述主进程利用所述升级进程的新版本数据,升级所述升级进程;
第二重启单元507,用于当主进程检测到所述升级进程升级结束时,重启所述升级进程,以维持所述升级进程的运行,其中,所述升级进程升级结束包括:升级进程升级完成或者升级进程出现升级异常;
相应的,所述第一获取单元501,包括:
第一获取子单元,用于当所述版本升级服务器中不存在所述主进程的新版本数据或者所述升级进程升级结束,所述升级进程从所述版本升级服务器获取所述主进程的新版本数据。
在一种可能的情况中,所述装置还包括:
第一关闭单元,用于在第一获取单元获取所述主进程的新版本数据之前,通过所述升级进程关闭所述主进程,以结束所述主进程的运行;
第二关闭单元,用于在第二获取单元在获取所述升级进程的新版本数据之前,通过所述主进程关闭所述升级进程,以结束所述升级进程的运行。
在一种可能的实现方式中,在以上装置的任意一个实施例中,该装置还可以包括:
状态监控单元,用于当不满足所述应用的升级条件时,在所述应用运行过程中,通过所述主进程监控所述升级进程的运行状态,且通过所述升级进程监控所述主进程的运行状态;
第一状态维护单元,用于当所述主进程检测到所述升级进程未处于运行状态时,通过所述主进程启动所述升级进程,以维持所述升级进程的运行;
第二状态维护单元,用于当所述升级进程检测到所述主进程未处于运行状态时,通过所述升级进程启动所述主进程,以维持所述主进程的运行。
另一方面,本申请还提供了一种存储介质,该存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现如上任意一个实施例中所描述的应用升级方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (14)

1.一种应用升级方法,其特征在于,应用于计算机设备,所述计算机设备中运行有至少一个应用,所述应用具有主进程和升级进程,所述主进程用于实现所述应用所提供的服务,所述方法包括:
当满足所述应用的升级条件时,所述应用的升级进程从所述版本升级服务器获取所述主进程的新版本数据,所述主进程的新版本数据为用于升级所述主进程的数据;
所述升级进程利用所述主进程的新版本数据,升级所述主进程;
当升级进程检测到所述主进程升级结束时,重启所述主进程,以维持所述主进程的运行,其中,所述主进程升级结束包括:主进程升级完成或者主进程出现升级异常。
2.根据权利要求1所述的应用升级方法,其特征在于,在所述应用的升级进程从所述版本升级服务器获取所述主进程的新版本数据之前,还包括:
所述主进程检测所述版本升级服务器中是否存在所述升级进程的新版本数据;
当所述版本升级服务器中存在所述升级进程的新版本数据时,所述主进程从所述版本升级服务器中获取所述升级进程的新版本数据;
所述主进程利用所述升级进程的新版本数据,升级所述升级进程;
当主进程检测到所述升级进程升级结束时,重启所述升级进程,以维持所述升级进程的运行,其中,所述升级进程升级结束包括:升级进程升级完成或者升级进程出现升级异常;
所述应用的升级进程从所述版本升级服务器获取所述主进程的新版本数据,包括:
当所述版本升级服务器中不存在所述主进程的新版本数据或者所述升级进程升级结束,所述升级进程从所述版本升级服务器获取所述主进程的新版本数据。
3.根据权利要求1或2所述的应用升级方法,其特征在于,还包括:
当不满足所述应用的升级条件时,在所述应用运行过程中,所述主进程监控所述升级进程的运行状态,且所述升级进程监控所述主进程的运行状态;
当所述主进程检测到所述升级进程未处于运行状态时,启动所述升级进程,以维持所述升级进程的运行;
当所述升级进程检测到所述主进程未处于运行状态时,启动所述主进程,以维持所述主进程的运行。
4.根据权利要求1或2所述的应用升级方法,其特征在于,所述应用的升级进程从所述版本升级服务器获取所述主进程的新版本数据,包括:
所述应用的升级进程从所述版本服务器获取经过加密的主进程的新版本数据;
所述升级进程利用所述主进程的新版本数据,升级所述主进程,包括:
所述升级进程获取预先存储的所述解密密钥,并利用所述解密密钥解密所述经过加密的主进程的新版本数据,得到所述主进程的新版本数据,其中,所述解密密钥为所述计算机设备登录所述版本升级服务器之后,由所述版本升级服务器返回的密钥。
5.根据权利要求1或2所述的应用升级方法,其特征在于,在所述应用的升级进程从所述版本升级服务器获取所述主进程的新版本数据之前,还包括:
所述升级进程查询所述主进程的程序文件中的数据签名是否完整;
当所述主进程的程序文件中的数据签名完整时,所述升级进程执行所述从所述版本升级服务器获取所述主进程的新版本数据的操作。
6.根据权利要求1或2所述的应用升级方法,其特征在于,所述应用的升级条件包括以下任意一种:
依据预设的升级周期,确定出当前达到升级检测时刻;
接收到所述应用的应用服务器发送的升级请求。
7.根据权利要求2所述的应用升级方法,其特征在于,在所述应用的升级进程从所述版本升级服务器获取所述主进程的新版本数据之前,还包括:
所述升级进程关闭所述主进程,以结束所述主进程的运行;
在所述主进程从所述版本升级服务器中获取所述升级进程的新版本数据之前,还包括:
所述主进程关闭所述升级进程,以结束所述升级进程的运行。
8.一种应用升级装置,其特征在于,应用于计算机设备,所述计算机设备中运行有至少一个应用,所述应用具有主进程和升级进程,所述主进程用于实现所述应用所提供的服务,所述装置包括:
第一获取单元,用于当满足所述应用的升级条件时,通过所述应用的升级进程从所述版本升级服务器获取所述主进程的新版本数据,所述主进程的新版本数据为用于升级所述主进程的数据;
第一升级单元,用于通过所述升级进程利用所述主进程的新版本数据,升级所述主进程;
第一重启单元,用于当升级进程检测到所述主进程升级结束时,重启所述主进程,以维持所述主进程的运行,其中,所述主进程升级结束包括:主进程升级完成或者主进程出现升级异常。
9.根据权利要求8所述的应用升级装置,其特征在于,还包括:
第一检测单元,用于当满足所述应用的升级条件时,且在所述第一获取单元获取所述主进程的新版本数据之前,通过所述主进程检测所述版本升级服务器中是否存在所述升级进程的新版本数据;
第二获取单元,用于当所述版本升级服务器中存在所述升级进程的新版本数据时,通过所述主进程从所述版本升级服务器中获取所述升级进程的新版本数据;
第二升级单元,用于通过所述主进程利用所述升级进程的新版本数据,升级所述升级进程;
第二重启单元,用于当主进程检测到所述升级进程升级结束时,重启所述升级进程,以维持所述升级进程的运行,其中,所述升级进程升级结束包括:升级进程升级完成或者升级进程出现升级异常;
所述第一获取单元,包括:
第一获取子单元,用于当所述版本升级服务器中不存在所述主进程的新版本数据或者所述升级进程升级结束,所述升级进程从所述版本升级服务器获取所述主进程的新版本数据。
10.根据权利要求8或9所述的应用升级装置,其特征在于,还包括:
状态监控单元,用于当不满足所述应用的升级条件时,在所述应用运行过程中,通过所述主进程监控所述升级进程的运行状态,且通过所述升级进程监控所述主进程的运行状态;
第一状态维护单元,用于当所述主进程检测到所述升级进程未处于运行状态时,通过所述主进程启动所述升级进程,以维持所述升级进程的运行;
第二状态维护单元,用于当所述升级进程检测到所述主进程未处于运行状态时,通过所述升级进程启动所述主进程,以维持所述主进程的运行。
11.根据权利要求8或9所述的应用升级装置,其特征在于,所述第一获取单元,包括:
第二获取子单元,用于当满足应用升级条件时,通过所述应用的升级进程从所述版本服务器获取经过加密的主进程的新版本数据;
所述第一升级单元,包括:
第一升级子单元,用于通过所述升级进程获取预先存储的所述解密密钥,并利用所述解密密钥解密所述经过加密的主进程的新版本数据,得到所述主进程的新版本数据,其中,所述解密密钥为所述计算机设备登录所述版本升级服务器之后,由所述版本升级服务器返回的密钥。
12.根据权利要求8或9所述的应用升级装置,其特征在于,还包括:
完整性检测单元,用于在所述第一获取单元获取所述主进程的新版本数据之前,通过所述升级进程查询所述主进程的程序文件中的数据签名是否完整,并当所述主进程的程序文件中的数据签名完整时,触发执行所述第一获取单元的操作。
13.一种计算机设备,其特征在于,所述计算机设备中运行有至少一个应用,所述应用具有主进程和升级进程,所述主进程用于实现所述应用所提供的服务,所述计算机设备包括:
处理器和存储器;
其中,所述处理器用于执行所述存储器中存储的程序;
所述存储器用于存储程序,所述程序至少用于:
当满足所述应用的升级条件时,所述应用的升级进程从所述版本升级服务器获取所述主进程的新版本数据,所述主进程的新版本数据为用于升级所述主进程的数据;
所述升级进程利用所述主进程的新版本数据,升级所述主进程;
当升级进程检测到所述主进程升级结束时,重启所述主进程,以维持所述主进程的运行,其中,所述主进程升级结束包括:主进程升级完成或者主进程出现升级异常。
14.一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现如上权利要求1至7任一项所述的应用升级方法。
CN201810068817.0A 2018-01-24 2018-01-24 应用升级方法、装置、计算机设备以及存储介质 Active CN110069266B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810068817.0A CN110069266B (zh) 2018-01-24 2018-01-24 应用升级方法、装置、计算机设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810068817.0A CN110069266B (zh) 2018-01-24 2018-01-24 应用升级方法、装置、计算机设备以及存储介质

Publications (2)

Publication Number Publication Date
CN110069266A true CN110069266A (zh) 2019-07-30
CN110069266B CN110069266B (zh) 2022-02-01

Family

ID=67365488

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810068817.0A Active CN110069266B (zh) 2018-01-24 2018-01-24 应用升级方法、装置、计算机设备以及存储介质

Country Status (1)

Country Link
CN (1) CN110069266B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112099825A (zh) * 2020-09-11 2020-12-18 北京金山云网络技术有限公司 组件进行升级的方法、装置、设备及存储介质
CN112346765A (zh) * 2020-11-06 2021-02-09 北京奇艺世纪科技有限公司 应用程序的升级方法、装置、电子设备及可读存储介质
CN112564956A (zh) * 2020-11-30 2021-03-26 山东亚华电子股份有限公司 一种客户端的远程升级方法及设备、装置、存储介质
CN112667269A (zh) * 2020-12-31 2021-04-16 广东万和新电气股份有限公司 热水器的固件升级方法、装置以及热水器
WO2024041283A1 (zh) * 2022-08-23 2024-02-29 北京比特大陆科技有限公司 一种客户端升级方法、装置、终端设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5577244A (en) * 1987-07-20 1996-11-19 International Business Machines Corporation Methods of applying software modifications
CN103761115A (zh) * 2013-11-30 2014-04-30 北京中启智源数字信息技术有限责任公司 一种实现软件自我升级的方法
CN104702631A (zh) * 2013-12-04 2015-06-10 航天信息股份有限公司 一种客户端软件的升级方法和系统
CN104881306A (zh) * 2015-05-15 2015-09-02 广东小天才科技有限公司 一种实现穿戴式智能设备自动升级的方法及装置
CN107291481A (zh) * 2016-03-30 2017-10-24 腾讯科技(深圳)有限公司 一种组件更新方法、装置和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5577244A (en) * 1987-07-20 1996-11-19 International Business Machines Corporation Methods of applying software modifications
CN103761115A (zh) * 2013-11-30 2014-04-30 北京中启智源数字信息技术有限责任公司 一种实现软件自我升级的方法
CN104702631A (zh) * 2013-12-04 2015-06-10 航天信息股份有限公司 一种客户端软件的升级方法和系统
CN104881306A (zh) * 2015-05-15 2015-09-02 广东小天才科技有限公司 一种实现穿戴式智能设备自动升级的方法及装置
CN107291481A (zh) * 2016-03-30 2017-10-24 腾讯科技(深圳)有限公司 一种组件更新方法、装置和系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112099825A (zh) * 2020-09-11 2020-12-18 北京金山云网络技术有限公司 组件进行升级的方法、装置、设备及存储介质
CN112099825B (zh) * 2020-09-11 2024-04-09 北京金山云网络技术有限公司 组件进行升级的方法、装置、设备及存储介质
CN112346765A (zh) * 2020-11-06 2021-02-09 北京奇艺世纪科技有限公司 应用程序的升级方法、装置、电子设备及可读存储介质
CN112346765B (zh) * 2020-11-06 2024-03-01 北京奇艺世纪科技有限公司 应用程序的升级方法、装置、电子设备及可读存储介质
CN112564956A (zh) * 2020-11-30 2021-03-26 山东亚华电子股份有限公司 一种客户端的远程升级方法及设备、装置、存储介质
CN112667269A (zh) * 2020-12-31 2021-04-16 广东万和新电气股份有限公司 热水器的固件升级方法、装置以及热水器
WO2024041283A1 (zh) * 2022-08-23 2024-02-29 北京比特大陆科技有限公司 一种客户端升级方法、装置、终端设备及存储介质

Also Published As

Publication number Publication date
CN110069266B (zh) 2022-02-01

Similar Documents

Publication Publication Date Title
EP3346415B1 (en) Event attestation for an electronic device
CN110069266A (zh) 应用升级方法、装置、计算机设备以及存储介质
US11176255B2 (en) Securely booting a service processor and monitoring service processor integrity
US10397230B2 (en) Service processor and system with secure booting and monitoring of service processor integrity
US9720782B2 (en) Authenticating a backup image with bifurcated storage
EP2693789B1 (en) Mobile terminal encryption method, hardware encryption device and mobile terminal
WO2020233308A1 (zh) 基于本地证书的自校验方法、装置、设备及存储介质
CN110795126A (zh) 一种固件安全升级系统
CN103649964A (zh) 安全寄存执行体系架构
CN110245495B (zh) Bios校验方法、配置方法、设备及系统
CN102831355A (zh) 安全操作系统中建立可信路径的方法
US10154023B1 (en) Method and system for secure instantiation of an operation system within the cloud
US10909516B2 (en) Basic input/output system (BIOS) credential management
US20230359741A1 (en) Trusted boot method and apparatus, electronic device, and readable storage medium
US20230041769A1 (en) Management system for disk encryption
KR102386111B1 (ko) 보호되는 시크릿을 보안 부팅 업데이트에 걸쳐 보존하는 기법
US20200244461A1 (en) Data Processing Method and Apparatus
US10826924B1 (en) Computer security and methods of use thereof
CN108228219B (zh) 一种带外刷新bios时验证bios合法性的方法及装置
CN100555237C (zh) 用于检测和防止回放攻击的方法和系统
CN112286553B (zh) 用户锁的升级方法、装置、系统、电子设备和存储介质
US11973879B2 (en) Logging modification indications for electronic device components
CN109995700B (zh) 一种应用程序的安全防护方法、应用客户端及acr服务器
CN118051919A (zh) 数据处理方法、芯片、电子设备以及存储介质
CN114721693A (zh) 一种微处理器、bios固件更新方法、计算机设备及存储介质

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