CN109271187A - 一种应用程序的热修复方法、装置、存储介质及终端 - Google Patents
一种应用程序的热修复方法、装置、存储介质及终端 Download PDFInfo
- Publication number
- CN109271187A CN109271187A CN201811082680.0A CN201811082680A CN109271187A CN 109271187 A CN109271187 A CN 109271187A CN 201811082680 A CN201811082680 A CN 201811082680A CN 109271187 A CN109271187 A CN 109271187A
- Authority
- CN
- China
- Prior art keywords
- hot repair
- script
- message
- client
- hot
- 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
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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
Abstract
本发明公开了一种应用程序的热修复方法、装置、存储介质及终端,该方法包括:接收服务端下发的热修复消息,其中,热修复消息为预设类型的IM消息;根据热修复消息,调用热修复检测接口,并后台下载热修复脚本;执行热修复脚本。为防止用户对消息推送功能的关闭影响修复的及时性,本发明通过服务端下发的IM消息,利用IM消息的长连接优势,以通知正在运行的App存在热修复脚本需要下载,终端接收IM消息后,调用热修复检测接口,在后台下载对应的热修复脚本,在不打扰用户的情况下及时进行问题修复,避免了因无法及时进行热修复导致的额外崩溃次数,进而影响用户的使用体验的问题。
Description
技术领域
本发明涉及移动通讯领域,特别是涉及一种应用程序的热修复方法、装置、存储介质及终端。
背景技术
热修复(hotfix),又称为patch,指能够修复软件漏洞的一些代码,是一种快速、低成本修复产品软件版本缺陷的方式。现有的热修复方式,都是在客户端启动应用程序(App,application)时,主动向服务端发起请求,查看是否有热修复脚本,如果存在脚本则下载脚本并执行脚本。为了保证性能,一般热修复的网络请求一般都是在启动时发起一次,如果用户开启App后切入后台,长时间不进行重新启动的话,那么客户端是不会查询热修复脚本是否存在的,这就可能导致即使开发人员及时发现问题并下发了修复脚本,客户端在将App切回前台操作并触发问题时,仍然要牺牲一次崩溃,进而可能导致用户的使用体验降低。
为了解决上述问题,现有技术中还常用消息推送的形式向正在使用App的用户发布更新提醒,由用户主动点击更新提醒以进行热修复脚本的下载和执行,但由于很多用户在使用App的过程中会关闭消息推送防止过多推送消息打扰,因此,会导致客户端无法感知到需要检测更新脚本,用户在使用过程中依然会触发问题,导致崩溃。
发明内容
本发明提供一种应用程序的热修复方法、装置、存储介质及终端,用以解决现有技术中用户没有重新启动App造成无法及时进行热修复,用户在使用过程中依然容易触发崩溃,用户使用体验降低的问题。
为解决上述技术问题,一方面,本发明提供一种应用程序的热修复方法,应用于客户端,包括:接收服务端下发的热修复消息,其中,所述热修复消息为预设类型的IM消息;根据所述热修复消息,调用热修复检测接口,并后台下载热修复脚本;执行所述热修复脚本。
进一步,所述接收服务端下发的热修复消息,包括:接收服务端下发的热修复消息且不显示所述热修复消息。
进一步,所述调用热修复检测接口,并后台下载热修复脚本,包括:调用所述热修复检测接口,向所述服务端发送接口请求,其中,所述接口请求中至少包括以下之一:客户端型号、客户端所使用的操作系统版本、客户端当前使用的应用程序版本号、当前存在的脚本的版本号;接收所述服务端根据所述接口请求反馈的脚本数据,其中,所述脚本数据至少包括:热修复脚本下载地址;根据所述热修复脚本下载地址,后台下载所述热修复脚本。
另一方面,本发明还提供一种应用程序的热修复方法,应用于服务端,包括:在存在热修复脚本的情况下,向客户端发送热修复消息,其中,所述热修复消息为预设类型的IM消息;通过热修复检测接口为所述客户端提供所述热修复脚本。
进一步,所述向客户端发送热修复消息,包括:向客户端发送热修复消息,并屏蔽所述热修复消息的消息推送。
进一步,所述通过热修复检测接口为所述客户端提供所述热修复脚本,包括:通过所述热修复检测接口接收所述客户端发送的接口请求,其中,所述接口请求中至少包括以下之一:客户端型号、客户端所使用的操作系统版本、客户端当前使用的应用程序版本号、当前存在的脚本的版本号;根据所述接口请求确定脚本数据,其中,所述脚本数据至少包括:热修复脚本下载地址;将所述脚本数据发送至所述客户端。
另一方面,本发明还提供一种应用程序的热修复装置,安装于客户端,包括:接收模块,用于接收服务端下发的热修复消息,其中,所述热修复消息为预设类型的IM消息;下载模块,用于根据所述热修复消息,调用热修复检测接口,并后台下载热修复脚本;修复模块,用于执行所述热修复脚本。
进一步,所述接收模块,还用于:接收服务端下发的热修复消息但不显示所述热修复消息。
进一步,所述下载模块,还用于:调用所述热修复检测接口,向所述服务端发送接口请求,其中,所述接口请求中至少包括以下之一:客户端型号、客户端所使用的操作系统版本、客户端当前使用的应用程序ID、应用程序版本号、当前存在的脚本的版本号;接收所述服务端根据所述接口请求反馈的脚本数据,其中,所述脚本数据至少包括:热修复脚本下载地址;根据所述热修复脚本下载地址,后台下载所述热修复脚本。
另一方面,本发明还提供一种应用程序的热修复装置,安装于服务端,包括:发送模块,用于在存在热修复脚本的情况下,向客户端发送热修复消息,其中,所述热修复消息为预设类型的IM消息;接口模块,用于通过热修复检测接口为所述客户端提供所述热修复脚本。
进一步,所述发送模块,还用于:向客户端发送热修复消息,并屏蔽所述热修复消息的消息推送。
进一步,所述接口模块,还用于:接收所述客户端发送的接口请求,其中,所述接口请求中至少包括以下之一:客户端型号、客户端所使用的操作系统版本、客户端当前使用的应用程序ID、应用程序版本号、当前存在的脚本的版本号;根据所述接口请求确定脚本数据,其中,所述脚本数据至少包括:热修复脚本下载地址;将所述脚本数据发送至所述客户端。
另一方面,本发明还提供一种存储介质,存储有计算机程序,其特征在于,计算机程序被处理器执行时实现上述的应用程序的热修复方法的步骤。
另一方面,本发明还提供一种存储介质,存储有计算机程序,其特征在于,计算机程序被处理器执行时实现上述的应用程序的热修复方法的步骤。
另一方面,本发明还提供一种终端,至少包括存储器、处理器,存储器上存储有计算机程序,处理器在执行存储器上的计算机程序时实现上述的应用程序的热修复方法的步骤。
另一方面,本发明还提供一种终端,至少包括存储器、处理器,存储器上存储有计算机程序,处理器在执行存储器上的计算机程序时实现上述的应用程序的热修复方法的步骤。
为防止用户对消息推送功能的关闭影响修复的及时性,本发明通过服务端下发的IM消息,利用IM消息的长连接优势,以通知正在运行的App存在热修复脚本需要下载,终端接收IM消息后,调用热修复检测接口,在后台下载对应的热修复脚本,在不打扰用户的情况下及时进行问题修复,避免了因无法及时进行热修复导致的额外崩溃次数,进而影响用户的使用体验的问题。
附图说明
图1是本发明第一实施例中应用程序的热修复方法的流程图;
图2是本发明第二实施例中应用程序的热修复方法的流程图;
图3是本发明第三实施例中应用程序的热修复方法的流程图;
图4是本发明第四实施例中应用程序的热修复方法的流程图;
图5是本发明第五实施例和第六实施例中应用程序的热修复装置的结构示意图;
图6是本发明第七实施例和第八实施例中应用程序的热修复装置的结构示意图。
具体实施方式
为了解决现有技术中用户没有重新启动App造成无法及时进行热修复,用户在使用过程中依然容易触发崩溃,用户使用体验降低的问题,本发明提供了一种应用程序的热修复方法、装置、存储介质及终端,以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
本发明的第一实施例提供了一种应用程序的热修复方法,应用于安装有App的客户端,其流程图如图1所示,主要包括步骤S101至S103:
S101,接收服务端下发的热修复消息。
应用程序在运行中常常会出现各种程序问题,用户在使用App时,若使用到出现问题的功能时,可能会由于程序错误导致App卡顿甚至崩溃,影响用户的使用体验。热修复是指能够修复软件漏洞的一些代码,是一种快速、低成本修复产品软件版本缺陷的方式,不需要重新发版,即可以起到修复程序错误的作用,App的开发人员在发现某一版本的App出现程序错误时,编写新的程序脚本并通过服务端下发至客户端,以起到热修复的目的,开发人员编写的新的程序脚本即为热修复脚本,并且,根据客户端型号、客户端操作系统、App版本号的不同,针对同一个程序漏洞还可能下发多个不同的热修复脚本供不同用户下载。
为防止用户对消息推送功能的关闭影响热修复的及时性,在本实施例中,针对已经启动的应用程序,服务端在存在新的热修复脚本时,通过下发热修复消息以通知客户端存在新的热修复脚本。具体地,热修复消息为预设类型的即时通讯(IM,InstantMessaging)消息,其中,IM消息具有长连接的优势,可以保证服务端与客户端之间的持续连接以及消息传递,即使在用户关闭了消息提醒的情况下,IM消息作为即时通讯的一种传输方式,是不会被完全关闭的;并且,由于IM消息通常为使用者在网络上建立的私人聊天室内的实时消息,为了区别于普通的聊天信息,热修复消息的IM消息类型为预设类型,通常为patch类型。
进一步地,客户端接收到patch类型的IM消息后,不对用户显示该IM消息的内容,保证了用户对热修复操作无感知,提高了用户的使用体验,对于其他类型的IM消息,可能是其他用户发给当前使用者的即时消息,按照用户的设置进行正常显示即可。
S102,根据热修复消息,调用热修复检测接口,并后台下载热修复脚本。
S103,执行热修复脚本。
热修复检测接口为服务端对外提供的接口,主要用于客户端进行热修复脚本的下载。客户端在接收到服务端下发的热修复消息后,即知悉当前App版本存在程序错误,需要进行热修复,此时调用服务端的热修复检测接口,通过超文本传输协议(HTTP,HyperTextTransfer Protocol)向服务端请求热修复文本的下载,并且在下载时直接在后台进行下载,热修复脚本下载完成后立即执行,以及时修复App的程序错误,防止用户在使用过程中造成程序崩溃。
本实施例通过服务端下发的IM消息,利用IM消息的长连接优势,以通知正在运行的App存在热修复脚本需要下载,客户端接收IM消息后,调用热修复检测接口,在后台下载对应的热修复脚本,在不打扰用户的情况下及时进行问题修复,避免了因无法及时进行热修复导致的额外崩溃次数,进而影响用户的使用体验的问题。
本发明的第二实施例提供了一种应用程序的热修复方法,应用于安装有App的客户端,其流程图如图2所示,主要包括步骤S201至S205:
S201,接收服务端下发的热修复消息。
App的开发人员在发现某一版本的App出现程序错误时,编写新的程序脚本并通过服务端下发至客户端,以起到热修复的目的,开发人员编写的新的程序脚本即为热修复脚本,并且,根据客户端型号、客户端操作系统、App版本号的不同,针对同一个程序漏洞还可能下发多个不同的热修复脚本供不同用户下载。
为防止用户对消息推送功能的关闭影响热修复的及时性,在本实施例中,针对已经启动的应用程序,服务端在存在新的热修复脚本时,通过下发热修复消息以通知终端存在新的热修复脚本。具体地,热修复消息为预设类型的IM消息,其中,IM消息具有长连接的优势,可以保证服务端与终端之间的持续连接以及消息传递,即使在用户关闭了消息提醒的情况下,IM消息作为即时通讯的一种传输方式,是不会被完全关闭的;并且,由于IM消息通常为使用者在网络上建立的私人聊天室内的实时消息,为了区别于普通的聊天信息,热修复消息的IM消息类型为预设类型,通常为patch类型。
进一步地,客户端接收到patch类型的IM消息后,不对用户显示该IM消息的内容,保证了用户对热修复操作无感知,提高了用户的使用体验,对于其他类型的IM消息,可能是其他用户发给当前使用者的即时消息,按照用户的设置进行正常显示即可。
S202,调用热修复检测接口,向服务端发送接口请求。
热修复检测接口为服务端对外提供的接口,主要用于客户端进行热修复脚本的下载。由于服务端在新增了某个App的一个热修复脚本时,即会向所有使用该App的客户端发送热修复消息,以提示客户端存在热修复脚本可以进行下载。但是,由于客户端之间使用的操作系统的不同、App版本的不同、当前使用的脚本的版本号不同等情况,服务端当前的热修复脚本不一定适用于所有客户端用户,因此,需要客户端向服务端发送接口请求,在接口请求中携带自身相关的参数信息,以供服务端判断当前新增的热修复脚本是否可以用于该客户端的应用程序修复。
在本实施例中,客户端发送的接口请求中至少包括以下参数之一:客户端型号、客户端所使用的操作系统版本、客户端当前使用的应用程序版本号、当前存在的脚本的版本号等。具体地,客户端型号可以为客户端设备的具体型号,根据设备型号不同可能会存在分辨率等参数的区别;客户端所使用的操作系统版本,如客户端A的操作系统为安卓8.0.0版本,客户端B的操作系统为8.0.2版本,不同的操作系统版本可能会造成功能调用、显示方式等方面上的差异;客户端当前使用的应用程序版本号与操作系统版本号类似,针对同一个应用的不同发版,对应不同的版本号,不同版本之间可能存在功能或显示上的差异;当前存在的脚本的版本号是基于同一个发版的应用程序,可能存在不同的使用脚本,对应功能的完善程度可能存在不同。进一步地,接口请求中还可以包括应用程序的ID号,用以区分不同的应用程序。
S203,接收服务端根据接口请求反馈的脚本数据。
S204,根据热修复脚本下载地址,后台下载热修复脚本。
S205,执行热修复脚本。
服务端接收到接口请求后,则根据接口请求中具体携带的参数信息,确定当前热修复脚本是否适用于该客户端,如是否当前操作系统是否可用,或是否兼容当前应用程序版本等,若新增的热修复脚本适用于当前客户端,则向当前客户端反馈脚本数据,并且,脚本数据中至少包括热修复脚本下载地址,以供客户端根据该热修复脚本下载地址,对应下载该热修复脚本,并在热修复脚本下载完毕后,立即执行该热修复脚本以修复程序错误,防止出现程序崩溃的现象。
可选地,脚本数据中还可以包括以下数据信息:状态码、热修复脚本大小、热修复脚本的版本号等,用于进一步描述热修复脚本的信息。具体地,状态码为服务端和客户端预先约定的数字编码,每个编码具有不同含义,如编码100表示当前热修复脚本不适用于客户端,服务端在反馈脚本数据时,若状态码对应的值为100,则无需在脚本数据中附加热修复脚本下载地址或热修复脚本下载地址处为空,客户端在接收到状态码为100的脚本数据时,无需进行脚本下载;状态码的编码为200时,可以表示当前热修复脚本适用于客户端,并在热修复脚本下载地址处附加对应的下载地址,供客户端进行下载;编码300可以表示客户端当前使用的脚本已经为最新版本,客户端在接收到状态码为300的脚本数据时,无需进行脚本下载;在当前热修复脚本适用于客户端的情况下,脚本数据中还可以包括热修复脚本大小值,用于提示客户端此次更新的脚本的具体大小,供客户端选择具有足够空间的存储位置进行热修复脚本下载;脚本数据中的热修复脚本的版本号为此次热修复脚本的唯一标识,客户端在执行此次热修复脚本后,下一次接口请求中的当前存在的脚本的版本号的值,即为本次热修复脚本的版本号。
本实施例通过调用热修复检测接口,进行接口请求,在当前热修复脚本适用于当前客户端的情况下,进行热修复脚本的下载执行。与此同时,无需在每次App启动时均进行热修复请求,只需要在接收到IM消息后,对应进行一次接口请求即可,在及时进行程序问题修复的前提下,降低了客户端请求的频次,进而提高了热修复的效率。
本发明的第三实施例提供了一种应用程序的热修复方法,应用于服务端,其流程图如图3所示,主要包括步骤S301和S302:
S301,在存在热修复脚本的情况下,向客户端发送热修复消息。
应用程序在运行中常常会出现各种程序问题,用户在使用App时,若使用到出现问题的功能时,可能会由于程序错误导致App卡顿甚至崩溃,影响用户的使用体验。热修复是指能够修复软件漏洞的一些代码,是一种快速、低成本修复产品软件版本缺陷的方式,不需要重新发版,即可以起到修复程序错误的作用,App的开发人员在发现某一版本的App出现程序错误时,编写新的程序脚本并通过服务端下发至客户端,以起到热修复的目的,开发人员编写的新的程序脚本即为热修复脚本,并且,根据客户端型号、客户端操作系统、App版本号的不同,针对同一个程序漏洞还可能下发多个不同的热修复脚本供不同用户下载。
为防止用户对消息推送功能的关闭影响热修复的及时性,在本实施例中,服务端存在热修复脚本需要客户端进行下载更新时,由服务端向客户端发送热修复消息。具体地,热修复消息为预设类型的IM消息,其中,IM消息具有长连接的优势,可以保证服务端与客户端之间的持续连接以及消息传递,即使在用户关闭了消息提醒的情况下,IM消息作为即时通讯的一种传输方式,是不会被完全关闭的;并且,由于IM消息通常为使用者在网络上建立的私人聊天室内的实时消息,为了区别于普通的聊天信息,热修复消息的IM消息类型为预设类型,通常为patch类型。
进一步地,在客户端没有使用App或将App切入后台的情况下,服务端向客户端发送消息时,客户端可能无法及时查看该信息,此时服务端通常会以推送形式提醒用户查看消息,但在本实施例中,由于热修复进程不希望被用户感知,因此,服务端可以屏蔽热修复消息的消息推送,即屏蔽patch类型的IM消息的后台推送,使热修复进程做到用户无感知。
S302,通过热修复检测接口为客户端提供热修复脚本。
热修复检测接口为服务端对外提供的接口,主要用于为客户端提供热修复脚本。客户端在接收到服务端下发的热修复消息后,即知悉当前App版本存在程序错误,需要进行热修复,此时调用服务端的热修复检测接口,通过HTTP请求向服务端请求热修复文本的下载。
本实施例通过向客户端下发IM消息,利用IM消息的长连接优势,以通知客户端存在热修复脚本需要下载,即使在用户屏蔽了消息提醒的情况下,也可以保证客户端及时进行热修复脚本的下载和执行,防止由于修复不及时造成的程序崩溃问题出现。
本发明的第四实施例提供了一种应用程序的热修复方法,应用于服务端,其流程图如图4所示,主要包括步骤S401和S404:
S401,在存在热修复脚本的情况下,向客户端发送热修复消息。
App的开发人员在发现某一版本的App出现程序错误时,编写新的程序脚本并通过服务端下发至客户端,以起到热修复的目的,开发人员编写的新的程序脚本即为热修复脚本,并且,根据客户端型号、客户端操作系统、App版本号的不同,针对同一个程序漏洞还可能下发多个不同的热修复脚本供不同用户下载。
为防止用户对消息推送功能的关闭影响热修复的及时性,在本实施例中,服务端存在热修复脚本需要客户端进行下载更新时,由服务端向客户端发送热修复消息。具体地,热修复消息为预设类型的IM消息,其中,IM消息具有长连接的优势,可以保证服务端与客户端之间的持续连接以及消息传递,即使在用户关闭了消息提醒的情况下,IM消息作为即时通讯的一种传输方式,是不会被完全关闭的;并且,由于IM消息通常为使用者在网络上建立的私人聊天室内的实时消息,为了区别于普通的聊天信息,热修复消息的IM消息类型为预设类型,通常为patch类型。
进一步地,在客户端没有使用App或将App切入后台的情况下,服务端向客户端发送消息时,客户端可能无法及时查看该信息,此时服务端通常会以推送形式提醒用户查看消息,但在本实施例中,由于热修复进程不希望被用户感知,因此,服务端可以屏蔽热修复消息的消息推送,即屏蔽patch类型的IM消息的后台推送,使热修复进程做到用户无感知。
S402,通过热修复检测接口接收客户端发送的接口请求。
热修复检测接口为服务端对外提供的接口,主要用于为客户端提供热修复脚本。由于服务端在新增了某个App的一个热修复脚本时,即会向所有使用该App的客户端发送热修复消息,以提示客户端存在热修复脚本可以进行下载。但是,由于客户端之间使用的操作系统的不同、App版本的不同、当前使用的脚本的版本号不同等情况,服务端当前的热修复脚本不一定适用于所有客户端用户,因此,需要客户端向服务端发送接口请求,在接口请求中携带自身相关的参数信息,以供服务端判断当前新增的热修复脚本是否可以用于该客户端的应用程序修复。
在本实施例中,客户端发送的接口请求中至少包括以下参数之一:客户端型号、客户端所使用的操作系统版本、客户端当前使用的应用程序版本号、当前存在的脚本的版本号等,还可以包括应用程序的ID号。
S403,根据接口请求确定脚本数据。
S404,将脚本数据发送至客户端。
服务端接收到接口请求后,则根据接口请求中具体携带的参数信息,确定当前热修复脚本是否适用于该客户端,如是否当前操作系统是否可用,或是否兼容当前应用程序版本等,若新增的热修复脚本适用于当前客户端,则向当前客户端反馈脚本数据,并且,脚本数据中至少包括热修复脚本下载地址,以供客户端根据该热修复脚本下载地址,对应下载该热修复脚本。
可选地,脚本数据中还可以包括以下数据信息:状态码、热修复脚本大小、热修复脚本的版本号等,用于进一步描述热修复脚本的信息。具体地,状态码为服务端和客户端预先约定的数字编码,每个编码具有不同含义,如编码100表示当前热修复脚本不适用于客户端,服务端在反馈脚本数据时,若状态码对应的值为100,则无需在脚本数据中附加热修复脚本下载地址或热修复脚本下载地址处为空;状态码的编码为200时,可以表示当前热修复脚本适用于客户端,并在热修复脚本下载地址处附加对应的下载地址,供客户端进行下载;编码300可以表示客户端当前使用的脚本已经为最新版本;在当前热修复脚本适用于客户端的情况下,脚本数据中还可以包括热修复脚本大小值,用于提示客户端此次更新的脚本的具体大小,供客户端选择具有足够空间的存储位置进行热修复脚本下载;脚本数据中的热修复脚本的版本号为此次热修复脚本的唯一标识,供客户端进行脚本的版本号更新,客户端在执行此次热修复脚本后,下一次接口请求中的当前存在的脚本的版本号的值,即为本次热修复脚本的版本号。
本实施例通过热修复检测接口,在热修复版本适用于请求的客户端的情况想,实现热修复脚本的脚本数据下发,避免了客户端在每次App启动时均进行热修复请求,或者下载热修复脚本后无法适用的情况出现,进而提高了热修复的效率。
本发明的第五实施例提供了一种应用程序的热修复装置,安装于客户端,其结构示意图如图5所示,主要包括:接收模块11,用于接收服务端下发的热修复消息,其中,热修复消息为预设类型的IM消息;下载模块12,用于根据热修复消息,调用热修复检测接口,并后台下载热修复脚本;修复模块13,用于执行热修复脚本。
为防止用户对消息推送功能的关闭影响热修复的及时性,在本实施例中,针对已经启动的应用程序,服务端在存在新的热修复脚本时,通过下发热修复消息以通知客户端存在新的热修复脚本,客户端通过接收模块11接收服务端下发的热修复消息。具体地,热修复消息为预设类型的IM消息,其中,IM消息具有长连接的优势,可以保证服务端与客户端之间的持续连接以及消息传递,即使在用户关闭了消息提醒的情况下,IM消息作为即时通讯的一种传输方式,是不会被完全关闭的;并且,由于IM消息通常为使用者在网络上建立的私人聊天室内的实时消息,为了区别于普通的聊天信息,热修复消息的IM消息类型为预设类型,通常为patch类型。
进一步地,接收模块11接收到patch类型的IM消息后,不对用户显示该IM消息的内容,保证了用户对热修复操作无感知,提高了用户的使用体验,对于其他类型的IM消息,可能是其他用户发给当前使用者的即时消息,按照用户的设置进行正常显示即可。
热修复检测接口为服务端对外提供的接口,主要用于客户端进行热修复脚本的下载。接收模块11在接收到服务端下发的热修复消息后,即知悉当前App版本存在程序错误,需要进行热修复,此时由下载模块12调用服务端的热修复检测接口,通过HTTP请求向服务端请求热修复文本的下载,并且在下载时直接在后台进行下载,热修复脚本下载完成后由修复模块13立即执行,以及时修复App的程序错误,防止用户在使用过程中造成程序崩溃。
本实施例通过服务端下发的IM消息,利用IM消息的长连接优势,以通知正在运行的App存在热修复脚本需要下载,客户端接收IM消息后,调用热修复检测接口,在后台下载对应的热修复脚本,在不打扰用户的情况下及时进行问题修复,避免了因无法及时进行热修复导致的额外崩溃次数,进而影响用户的使用体验的问题。
本发明的第六实施例提供了一种应用程序的热修复装置,安装于客户端,其结构示意图如图5所示,主要包括:接收模块11,用于接收服务端下发的热修复消息,其中,热修复消息为预设类型的IM消息;下载模块12,用于调用热修复检测接口,向服务端发送接口请求,其中,接口请求中至少包括以下之一:客户端型号、客户端所使用的操作系统版本、客户端当前使用的应用程序ID、应用程序版本号、当前存在的脚本的版本号;接收服务端根据接口请求反馈的脚本数据,其中,脚本数据至少包括:热修复脚本下载地址;根据热修复脚本下载地址,后台下载热修复脚本;修复模块13,用于执行热修复脚本。
为防止用户对消息推送功能的关闭影响热修复的及时性,在本实施例中,针对已经启动的应用程序,服务端在存在新的热修复脚本时,通过下发热修复消息以通知客户端存在新的热修复脚本,客户端通过接收模块11接收服务端下发的热修复消息。具体地,热修复消息为预设类型的IM消息,其中,IM消息具有长连接的优势,可以保证服务端与客户端之间的持续连接以及消息传递,即使在用户关闭了消息提醒的情况下,IM消息作为即时通讯的一种传输方式,是不会被完全关闭的;并且,由于IM消息通常为使用者在网络上建立的私人聊天室内的实时消息,为了区别于普通的聊天信息,热修复消息的IM消息类型为预设类型,通常为patch类型。
进一步地,接收模块11接收到patch类型的IM消息后,不对用户显示该IM消息的内容,保证了用户对热修复操作无感知,提高了用户的使用体验,对于其他类型的IM消息,可能是其他用户发给当前使用者的即时消息,按照用户的设置进行正常显示即可。
热修复检测接口为服务端对外提供的接口,主要用于客户端进行热修复脚本的下载。由于服务端在新增了某个App的一个热修复脚本时,即会向所有使用该App的客户端发送热修复消息,以提示客户端存在热修复脚本可以进行下载。但是,由于客户端之间使用的操作系统的不同、App版本的不同、当前使用的脚本的版本号不同等情况,服务端当前的热修复脚本不一定适用于所有客户端用户,因此,下载模块12向服务端发送接口请求,在接口请求中携带客户端自身相关的参数信息,以供服务端判断当前新增的热修复脚本是否可以用于该客户端的应用程序修复。
在本实施例中,下载模块12发送的接口请求中至少包括以下参数之一:客户端型号、客户端所使用的操作系统版本、客户端当前使用的应用程序版本号、当前存在的脚本的版本号,还可以包括应用程序的ID号等参数。
服务端接收到接口请求后,则根据接口请求中具体携带的参数信息,确定当前热修复脚本是否适用于该客户端,如是否当前操作系统是否可用,或是否兼容当前应用程序版本等,若新增的热修复脚本适用于当前客户端,则向当前客户端反馈脚本数据,并且,脚本数据中至少包括热修复脚本下载地址,以供下载模块12根据该热修复脚本下载地址,对应下载该热修复脚本,并在热修复脚本下载完毕后,由修复模块13立即执行该热修复脚本以修复程序错误,防止出现程序崩溃的现象。可选地,脚本数据中还可以包括以下数据信息:状态码、热修复脚本大小、热修复脚本的版本号等,用于进一步描述热修复脚本的信息。
本实施例通过调用热修复检测接口,进行接口请求,在当前热修复脚本适用于当前客户端的情况下,进行热修复脚本的下载执行。与此同时,无需在每次App启动时均进行热修复请求,只需要在接收到IM消息后,对应进行一次接口请求即可,在及时进行程序问题修复的前提下,降低了客户端请求的频次,进而提高了热修复的效率。
本发明的第七实施例提供了一种应用程序的热修复装置,安装于服务端,其结构示意图如图6所示,主要包括:发送模块21,用于在存在热修复脚本的情况下,向客户端发送热修复消息,其中,热修复消息为预设类型的IM消息;接口模块22,用于通过热修复检测接口为客户端提供热修复脚本。
为防止用户对消息推送功能的关闭影响热修复的及时性,在本实施例中,服务端存在热修复脚本需要客户端进行下载更新时,由发送模块21向客户端发送热修复消息。具体地,热修复消息为预设类型的IM消息,其中,IM消息具有长连接的优势,可以保证服务端与客户端之间的持续连接以及消息传递,即使在用户关闭了消息提醒的情况下,IM消息作为即时通讯的一种传输方式,是不会被完全关闭的;并且,由于IM消息通常为使用者在网络上建立的私人聊天室内的实时消息,为了区别于普通的聊天信息,热修复消息的IM消息类型为预设类型,通常为patch类型。
进一步地,在客户端没有使用App或将App切入后台的情况下,发送模块21向客户端发送消息时,客户端可能无法及时查看该信息,此时发送模块21通常会以推送形式提醒用户查看消息,但在本实施例中,由于热修复进程不希望被用户感知,因此,发送模块21可以屏蔽热修复消息的消息推送,即屏蔽patch类型的IM消息的后台推送,使热修复进程做到用户无感知。
热修复检测接口为服务端对外提供的接口,主要用于为客户端提供热修复脚本。客户端在接收到服务端下发的热修复消息后,即知悉当前App版本存在程序错误,需要进行热修复,此时通过接口模块22调用服务端的热修复检测接口,通过HTTP请求向服务端请求热修复文本的下载。
本实施例通过向客户端下发IM消息,利用IM消息的长连接优势,以通知客户端存在热修复脚本需要下载,即使在用户屏蔽了消息提醒的情况下,也可以保证客户端及时进行热修复脚本的下载和执行,防止由于修复不及时造成的程序崩溃问题出现。
本发明的第八实施例提供了一种应用程序的热修复装置,安装于服务端,其结构示意图如图6所示,主要包括:发送模块21,用于在存在热修复脚本的情况下,向客户端发送热修复消息,其中,热修复消息为预设类型的IM消息;接口模块22,接收客户端发送的接口请求,其中,接口请求中至少包括以下之一:客户端型号、客户端所使用的操作系统版本、客户端当前使用的应用程序ID、应用程序版本号、当前存在的脚本的版本号;根据接口请求确定脚本数据,其中,脚本数据至少包括:热修复脚本下载地址;将脚本数据发送至客户端。
为防止用户对消息推送功能的关闭影响热修复的及时性,在本实施例中,服务端存在热修复脚本需要客户端进行下载更新时,由发送模块21向客户端发送热修复消息。具体地,热修复消息为预设类型的IM消息,其中,IM消息具有长连接的优势,可以保证服务端与客户端之间的持续连接以及消息传递,即使在用户关闭了消息提醒的情况下,IM消息作为即时通讯的一种传输方式,是不会被完全关闭的;并且,由于IM消息通常为使用者在网络上建立的私人聊天室内的实时消息,为了区别于普通的聊天信息,热修复消息的IM消息类型为预设类型,通常为patch类型。
进一步地,在客户端没有使用App或将App切入后台的情况下,发送模块21向客户端发送消息时,客户端可能无法及时查看该信息,此时发送模块21通常会以推送形式提醒用户查看消息,但在本实施例中,由于热修复进程不希望被用户感知,因此,发送模块21可以屏蔽热修复消息的消息推送,即屏蔽patch类型的IM消息的后台推送,使热修复进程做到用户无感知。
热修复检测接口为服务端对外提供的接口,主要用于为客户端提供热修复脚本。由于服务端在新增了某个App的一个热修复脚本时,发送模块21会向所有使用该App的客户端发送热修复消息,以提示客户端存在热修复脚本可以进行下载。但是,由于客户端之间使用的操作系统的不同、App版本的不同、当前使用的脚本的版本号不同等情况,服务端当前的热修复脚本不一定适用于所有客户端用户,因此,客户端向接口模块22发送接口请求,在接口请求中携带自身相关的参数信息,以供接口模块22判断当前新增的热修复脚本是否可以用于该客户端的应用程序修复。
在本实施例中,接口请求中至少包括以下参数之一:客户端型号、客户端所使用的操作系统版本、客户端当前使用的应用程序版本号、当前存在的脚本的版本号等,还可以包括应用程序的ID号。
接口模块22接收到接口请求后,则根据接口请求中具体携带的参数信息,确定当前热修复脚本是否适用于该客户端,如是否当前操作系统是否可用,或是否兼容当前应用程序版本等,若新增的热修复脚本适用于当前客户端,则向当前客户端反馈脚本数据,并且,脚本数据中至少包括热修复脚本下载地址,以供客户端根据该热修复脚本下载地址,对应下载该热修复脚本。可选地,脚本数据中还可以包括以下数据信息:状态码、热修复脚本大小、热修复脚本的版本号等,用于进一步描述热修复脚本的信息。
本实施例通过热修复检测接口,在热修复版本适用于请求的客户端的情况想,实现热修复脚本的脚本数据下发,避免了客户端在每次App启动时均进行热修复请求,或者下载热修复脚本后无法适用的情况出现,进而提高了热修复的效率。
本发明第九实施例提供了一种存储介质,存储有计算机程序,计算机程序被处理器执行时实现如下步骤S11至S13:
S11,接收服务端下发的热修复消息,其中,热修复消息为预设类型的IM消息;
S12,根据热修复消息,调用热修复检测接口,并后台下载热修复脚本;
S13,执行热修复脚本。
在本实施例中,存储介质可以安装在用户侧使用的客户端中,如手机、平板电脑等。由于在第一实施例中已经对应用程序的热修复方法的具体步骤进行了详细说明,因此,在本实施例中不再赘述。
本发明第十实施例提供了一种存储介质,存储有计算机程序,计算机程序被处理器执行时实现如下步骤S21和S22:
S21,在存在热修复脚本的情况下,向客户端发送热修复消息,其中,热修复消息为预设类型的IM消息;
S22,通过热修复检测接口为客户端提供热修复脚本。
在本实施例中,存储介质可以安装在网络侧的服务端中,如网络服务器等。由于在第三实施例中已经对应用程序的热修复方法的具体步骤进行了详细说明,因此,在本实施例中不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述实施例记载的方法步骤。可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
本发明的第十一实施例提供了一种终端,至少包括存储器、处理器,存储器上存储有计算机程序,处理器在执行存储器上的计算机程序时实现如下步骤S31至S33:
S31,接收服务端下发的热修复消息,其中,热修复消息为预设类型的IM消息;
S32,根据热修复消息,调用热修复检测接口,并后台下载热修复脚本;
S33,执行热修复脚本。
在本实施例中,终端可以为用户侧使用的手机、平板电脑等设备。由于在第一实施例中已经对应用程序的热修复方法的具体步骤进行了详细说明,因此,在本实施例中不再赘述。
本发明的第十二实施例提供了一种终端,至少包括存储器、处理器,存储器上存储有计算机程序,处理器在执行存储器上的计算机程序时实现如下步骤S41和S42:
S41,在存在热修复脚本的情况下,向客户端发送热修复消息,其中,热修复消息为预设类型的IM消息;
S42,通过热修复检测接口为客户端提供热修复脚本。
在本实施例中,终端可以为网络侧使用网络服务器等设备。由于在第三实施例中已经对应用程序的热修复方法的具体步骤进行了详细说明,因此,在本实施例中不再赘述。
尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。
Claims (16)
1.一种应用程序的热修复方法,应用于客户端,其特征在于,包括:
接收服务端下发的热修复消息,其中,所述热修复消息为预设类型的IM消息;
根据所述热修复消息,调用热修复检测接口,并后台下载热修复脚本;
执行所述热修复脚本。
2.如权利要求1所述的热修复方法,其特征在于,所述接收服务端下发的热修复消息,包括:
接收服务端下发的热修复消息且不显示所述热修复消息。
3.如权利要求1或2所述的热修复方法,其特征在于,所述调用热修复检测接口,并后台下载热修复脚本,包括:
调用所述热修复检测接口,向所述服务端发送接口请求,其中,所述接口请求中至少包括以下之一:客户端型号、客户端所使用的操作系统版本、客户端当前使用的应用程序版本号、当前存在的脚本的版本号;
接收所述服务端根据所述接口请求反馈的脚本数据,其中,所述脚本数据至少包括:热修复脚本下载地址;
根据所述热修复脚本下载地址,后台下载所述热修复脚本。
4.一种应用程序的热修复方法,应用于服务端,其特征在于,包括:
在存在热修复脚本的情况下,向客户端发送热修复消息,其中,所述热修复消息为预设类型的IM消息;
通过热修复检测接口为所述客户端提供所述热修复脚本。
5.如权利要求4所述的热修复方法,其特征在于,所述向客户端发送热修复消息,包括:
向客户端发送热修复消息,并屏蔽所述热修复消息的消息推送。
6.如权利要求4或5所述的热修复方法,其特征在于,所述通过热修复检测接口为所述客户端提供所述热修复脚本,包括:
通过所述热修复检测接口接收所述客户端发送的接口请求,其中,所述接口请求中至少包括以下之一:客户端型号、客户端所使用的操作系统版本、客户端当前使用的应用程序版本号、当前存在的脚本的版本号;
根据所述接口请求确定脚本数据,其中,所述脚本数据至少包括:热修复脚本下载地址;
将所述脚本数据发送至所述客户端。
7.一种应用程序的热修复装置,安装于客户端,其特征在于,包括:
接收模块,用于接收服务端下发的热修复消息,其中,所述热修复消息为预设类型的IM消息;
下载模块,用于根据所述热修复消息,调用热修复检测接口,并后台下载热修复脚本;
修复模块,用于执行所述热修复脚本。
8.如权利要求7所述的热修复装置,其特征在于,所述接收模块,还用于:
接收服务端下发的热修复消息但不显示所述热修复消息。
9.如权利要求7或8所述的热修复装置,其特征在于,所述下载模块,还用于:
调用所述热修复检测接口,向所述服务端发送接口请求,其中,所述接口请求中至少包括以下之一:客户端型号、客户端所使用的操作系统版本、客户端当前使用的应用程序ID、应用程序版本号、当前存在的脚本的版本号;
接收所述服务端根据所述接口请求反馈的脚本数据,其中,所述脚本数据至少包括:热修复脚本下载地址;
根据所述热修复脚本下载地址,后台下载所述热修复脚本。
10.一种应用程序的热修复装置,安装于服务端,其特征在于,包括:
发送模块,用于在存在热修复脚本的情况下,向客户端发送热修复消息,其中,所述热修复消息为预设类型的IM消息;
接口模块,用于通过热修复检测接口为所述客户端提供所述热修复脚本。
11.如权利要求10所述的热修复装置,其特征在于,所述发送模块,还用于:
向客户端发送热修复消息,并屏蔽所述热修复消息的消息推送。
12.如权利要求10或11所述的热修复装置,其特征在于,所述接口模块,还用于:
接收所述客户端发送的接口请求,其中,所述接口请求中至少包括以下之一:客户端型号、客户端所使用的操作系统版本、客户端当前使用的应用程序ID、应用程序版本号、当前存在的脚本的版本号;
根据所述接口请求确定脚本数据,其中,所述脚本数据至少包括:热修复脚本下载地址;
将所述脚本数据发送至所述客户端。
13.一种存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至3中任一项所述的应用程序的热修复方法的步骤。
14.一种存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求4至6中任一项所述的应用程序的热修复方法的步骤。
15.一种终端,至少包括存储器、处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器在执行所述存储器上的计算机程序时实现权利要求1至3中任一项所述的应用程序的热修复方法的步骤。
16.一种终端,至少包括存储器、处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器在执行所述存储器上的计算机程序时实现权利要求4至6中任一项所述的应用程序的热修复方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811082680.0A CN109271187A (zh) | 2018-09-17 | 2018-09-17 | 一种应用程序的热修复方法、装置、存储介质及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811082680.0A CN109271187A (zh) | 2018-09-17 | 2018-09-17 | 一种应用程序的热修复方法、装置、存储介质及终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109271187A true CN109271187A (zh) | 2019-01-25 |
Family
ID=65188845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811082680.0A Pending CN109271187A (zh) | 2018-09-17 | 2018-09-17 | 一种应用程序的热修复方法、装置、存储介质及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109271187A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110457151A (zh) * | 2019-07-10 | 2019-11-15 | 五八有限公司 | 热修复方法、装置及可读存储介质 |
CN113453219A (zh) * | 2020-03-26 | 2021-09-28 | 北京小米移动软件有限公司 | 消息处理方法、装置、电子设备以及计算机可读存储介质 |
CN114900424A (zh) * | 2022-05-27 | 2022-08-12 | 网易(杭州)网络有限公司 | 数据热修复方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106843933A (zh) * | 2016-12-27 | 2017-06-13 | 北京五八信息技术有限公司 | 一种应用程序的漏洞修复方法、移动终端及补丁服务器 |
CN106897095A (zh) * | 2017-02-24 | 2017-06-27 | 网易(杭州)网络有限公司 | 应用程序热修复的方法、装置和可读存储介质 |
CN108399080A (zh) * | 2018-03-05 | 2018-08-14 | 深圳市华讯方舟软件信息有限公司 | 一种Android App热更新方法 |
-
2018
- 2018-09-17 CN CN201811082680.0A patent/CN109271187A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106843933A (zh) * | 2016-12-27 | 2017-06-13 | 北京五八信息技术有限公司 | 一种应用程序的漏洞修复方法、移动终端及补丁服务器 |
CN106897095A (zh) * | 2017-02-24 | 2017-06-27 | 网易(杭州)网络有限公司 | 应用程序热修复的方法、装置和可读存储介质 |
CN108399080A (zh) * | 2018-03-05 | 2018-08-14 | 深圳市华讯方舟软件信息有限公司 | 一种Android App热更新方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110457151A (zh) * | 2019-07-10 | 2019-11-15 | 五八有限公司 | 热修复方法、装置及可读存储介质 |
CN110457151B (zh) * | 2019-07-10 | 2022-01-28 | 五八有限公司 | 热修复方法、装置及可读存储介质 |
CN113453219A (zh) * | 2020-03-26 | 2021-09-28 | 北京小米移动软件有限公司 | 消息处理方法、装置、电子设备以及计算机可读存储介质 |
US11695616B2 (en) | 2020-03-26 | 2023-07-04 | Beijing Xiaomi Mobile Software Co., Ltd. | Message processing method and apparatus, electronic device and computer-readable storage medium |
CN113453219B (zh) * | 2020-03-26 | 2024-01-30 | 北京小米移动软件有限公司 | 消息处理方法、装置、电子设备以及计算机可读存储介质 |
CN114900424A (zh) * | 2022-05-27 | 2022-08-12 | 网易(杭州)网络有限公司 | 数据热修复方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102970362B (zh) | 一种云端数据共享的方法及装置 | |
US20060217111A1 (en) | Network for customer care and distribution of firmware and software updates | |
CN108845816A (zh) | 应用程序更新方法、系统、计算机设备及存储介质 | |
CN109271187A (zh) | 一种应用程序的热修复方法、装置、存储介质及终端 | |
CN101079931B (zh) | 一种电话号码验证系统及方法 | |
CN101635643B (zh) | 终端业务变更方法和系统、网管平台 | |
CN106708557A (zh) | 一种针对终端应用的更新处理方法及装置 | |
CN104536890A (zh) | 测试系统、方法和装置 | |
CN102571940A (zh) | 应用程序远程安装系统、方法、智能终端、应用服务器 | |
CN103440142A (zh) | 基于gprs远程升级及动态加载方法 | |
CN106339273A (zh) | 一种应用程序修复方法、终端及服务器 | |
CN103200022B (zh) | 一种数据下载异常处理方法、设备及系统 | |
CN103167535A (zh) | 一种用于wlan网络中ap的升级方法 | |
US20020004386A1 (en) | Apparatus comprising a storage device for storing performance data and method of updating this storage device | |
US7086051B2 (en) | Method and apparatus for just-in-time provisioning application-related information at a communication device | |
EP2814201A1 (en) | Notification message sending method, system, manipulation apparatus, and terminal device | |
CN109683780A (zh) | 控制移动终端的方法、系统和被控终端 | |
KR100818962B1 (ko) | 이동 장치에 대한 원격 관리 방법 | |
US20050101310A1 (en) | Real time system update in a mobile communication network | |
CN105847284B (zh) | 一种通信服务处理方法、装置及以及服务器 | |
CN112416617A (zh) | 蓝牙设备的控制方法及装置、存储介质、电子装置 | |
CN111544894A (zh) | 小游戏客户端的服务器登录方法和装置 | |
CN110809031A (zh) | 一种电脑传输文件至手机的方法 | |
CN109951549A (zh) | 网络页面的访问方法、装置及计算机可读存储介质 | |
KR102056529B1 (ko) | 모바일 단말용 클라우드 서비스 기반 보안 정보 취득 방법, 단말 및 저장 매체, 모바일 단말용 클라우드 서비스 기반 보안 정보 전달 방법 및 서버 |
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 |