CN114327548A - 软件升级方法及相关装置 - Google Patents

软件升级方法及相关装置 Download PDF

Info

Publication number
CN114327548A
CN114327548A CN202111604181.5A CN202111604181A CN114327548A CN 114327548 A CN114327548 A CN 114327548A CN 202111604181 A CN202111604181 A CN 202111604181A CN 114327548 A CN114327548 A CN 114327548A
Authority
CN
China
Prior art keywords
package
application
installation package
version
update
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
CN202111604181.5A
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.)
Guang Dong Ming Chuang Software Technology Corp ltd
Original Assignee
Guang Dong Ming Chuang Software Technology Corp 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 Guang Dong Ming Chuang Software Technology Corp ltd filed Critical Guang Dong Ming Chuang Software Technology Corp ltd
Priority to CN202111604181.5A priority Critical patent/CN114327548A/zh
Publication of CN114327548A publication Critical patent/CN114327548A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本申请实施例提供了一种软件升级方法及相关装置,方法包括:向服务器发送针对第一应用程序的第一更新请求;接收来自服务器的第一更新包,第一更新包为第一应用程序的版本更新差分包,版本更新差分包包括第一安装包相对于第二安装包的被更改文件的文件集合,第二安装包为第一安装包的前一个版本的安装包,第一安装包为第一应用程序的最新版本的安装包;将第一更新包拆分成多个资源块;将多个资源块合并到第一应用程序中,以将第一应用程序更新为与第一安装包的版本对应的第一应用程序。这样,就实现了对应第一应用程序的增量更新,缩小了更新安装包的大小,且能够在应用程序运行时进行更新。

Description

软件升级方法及相关装置
技术领域
本申请属于软件升级领域,具体涉及一种软件升级方法及相关装置。
背景技术
目前,现有的软件升级一般使用插件化方案,应用开发者可以手动将部分代码单独打包下发到应用中并且通过安卓Android系统的加载机制实时生效。
但是该插件化方案对代码的侵入性强,而且需要开发者投入比较高的开发成本,还会涉及到诸多系统兼容问题,安全性较低。
发明内容
本申请实施例提供了一种软件升级方法及相关装置,以期对应第一应用程序的增量更新。
第一方面,本申请实施例提供了一种软件升级方法,应用于第一用户设备,包括:向服务器发送针对第一应用程序的第一更新请求;接收来自所述服务器的第一更新包,所述第一更新包为所述第一应用程序的版本更新差分包,所述版本更新差分包包括第一安装包相对于第二安装包的被更改文件的文件集合,所述第二安装包为所述第一安装包的前一个版本的安装包,第一安装包为所述第一应用程序的最新版本的安装包;将所述第一更新包拆分成多个资源块;将所述多个资源块合并到所述第一应用程序中,以将所述第一应用程序更新为与所述第一安装包的版本对应的第一应用程序。
第二方面,本申请实施例提供了一种软件升级方法,应用于服务器,包括:接收来自第一用户设备针对第一应用程序的第一更新请求;响应所述第一更新请求,向所述第一用户设备发送第一更新包,所述第一更新包为所述第一应用程序的版本更新差分包,所述版本更新差分包包括第一安装包相对于第二安装包的被更改文件的文件集合,所述第二安装包为所述第一安装包的前一个版本的安装包,第一安装包为所述第一应用程序的最新版本的安装包,所述第一更新包用于以多个资源块的形式参与对所述第一应用程序的更新。
第三方面,本申请实施例提供了一种软件升级装置,应用于第一用户设备,包括:发送单元,用于向服务器发送针对第一应用程序的第一更新请求;接收单元,用于接收来自所述服务器的第一更新包,所述第一更新包为所述第一应用程序的版本更新差分包,所述版本更新差分包包括第一安装包相对于第二安装包的被更改文件的文件集合,所述第二安装包为所述第一安装包的前一个版本的安装包,第一安装包为所述第一应用程序的最新版本的安装包;拆分单元,用于将所述第一更新包拆分成多个资源块;更新单元,用于将所述多个资源块合并到所述第一应用程序中,以将所述第一应用程序更新为与所述第一安装包的版本对应的第一应用程序。
第四方面,本申请实施例提供了一种软件升级装置,应用于服务器,包括:接收单元,用于接收来自第一用户设备针对第一应用程序的第一更新请求;发送单元,用于响应所述第一更新请求向所述第一用户设备发送第一更新包,所述第一更新包为所述第一应用程序的版本更新差分包,所述版本更新差分包包括第一安装包相对于第二安装包的被更改文件的文件集合,所述第二安装包为所述第一安装包的前一个版本的安装包,第一安装包为所述第一应用程序的最新版本的安装包,所述第一更新包用于以多个资源块的形式参与对所述第一应用程序的更新
第五方面,本申请实施例提供了一种电子设备,包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行本申请实施例第一方面至第四方面中任一方面的步骤的指令。
第六方面,本申请实施例提供了一种计算机存储介质,其特征在于,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如本实施例第一方面至第四方面中任一方面所描述的部分或全部步骤。
第七方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面至第四方面中任一方面所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
可以看出,本申请实施例中,首先通过向服务器发送针对第一应用程序的第一更新请求;接收来自所述服务器的第一更新包,所述第一更新包为所述第一应用程序的版本更新差分包,所述版本更新差分包包括第一安装包相对于第二安装包的被更改文件的文件集合,所述第二安装包为所述第一安装包的前一个版本的安装包,第一安装包为所述第一应用程序的最新版本的安装包;将所述第一更新包拆分成多个资源块;将所述多个资源块合并到所述第一应用程序中,以将所述第一应用程序更新为与所述第一安装包的版本对应的第一应用程序。这样,就实现了对应第一应用程序的增量更新,缩小了更新安装包的大小,且能够在应用程序运行时进行更新。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种电子设备的示意图;
图2是本申请实施例提供的一种软件升级方法的流程示意图;
图3是本申请实施例提供的另一种软件升级方法的流程示意图;
图4a是本申请实施例提供的一种软件升级装置的功能单元组成框图;
图4b是本申请实施例提供的另一种软件升级装置的功能单元组成框图;
图5a是本申请实施例提供的另一种软件升级装置的功能单元组成框图;
图5b是本申请实施例提供的另一种软件升级装置的功能单元组成框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
下面先对本申请涉及到的相关术语进行介绍。
增量更新:增量更新是指在进行更新操作时,只更新需要改变的地方,不需要更新或者已经更新过的地方则不会重复更新,增量更新与完全更新相对。这种更新的概念应用范围比较广泛,凡是需要进行数据更新的地方都会用到,如软件更新、数据库更新、杀毒软件的病毒库更新、CMS更新和路由表更新等。
目前,现有的软件升级一般使用插件化方案,应用开发者可以手动将部分代码单独打包下发到应用中并且通过android系统的加载机制实时生效。但是该插件化方案对代码的侵入性强,而且需要开发者投入比较高的开发成本,还会涉及到诸多系统兼容问题,安全性较低。
为解决上述问题,本申请实施例提供了一种软件升级方法。该软件升级方法可以应用于对应用程序进行升级的场景中。可以通过向服务器发送针对第一应用程序的第一更新请求;然后接收来自所述服务器的第一更新包,所述第一更新包为所述第一应用程序的版本更新差分包,所述版本更新差分包包括第一安装包相对于第二安装包的被更改文件的文件集合,所述第二安装包为所述第一安装包的前一个版本的安装包,第一安装包为所述第一应用程序的最新版本的安装包;之后将所述第一更新包拆分成多个资源块;最后将所述多个资源块合并到所述第一应用程序中,以将所述第一应用程序更新为与所述第一安装包的版本对应的第一应用程序。本方案可以适用于多种场景,包括但不限于上述提到的应用场景。
下面介绍本申请实施例涉及的系统架构。
本申请还提供了一种电子设备10,如图1所示,其包括至少一个处理器(processor)11;显示屏12;以及存储器(memory)13,还可以包括通信接口(CommunicationsInterface)15和总线14。其中,处理器11、显示屏12、存储器13和通信接口15可以通过总线14完成相互间的通信。显示屏12设置为显示初始设置模式中预设的用户引导界面。通信接口15可以传输信息。处理器11可以调用存储器13中的逻辑指令,以执行上述实施例中的方法。
可选的,所述电子设备10可以是用户设备,也可以是电子设备或其他设备,在此不做唯一性限定。
其中,所述用户设备可以是手机(mobile phone)、平板电脑(pad)、台式机、笔记本电脑、一体机、车载终端、虚拟现实(virtual reality,VR)终端设备、增强现实(augmentedreality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(selfdriving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、蜂窝电话、无绳电话、会话启动协议(session initiation protocol,SIP)电话、无线本地环路(wireless localloop,WLL)站、个人数字助理(personal digital assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、可穿戴设备、未来移动通信网络中的终端设备或者未来演进的公共移动陆地网络(public land mobile network,PLMN)中的终端设备等,此处不做唯一限定。
此外,上述的存储器13中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器13作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器11通过运行存储在存储器13中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
存储器13可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据电子设备10的使用所创建的数据等。此外,存储器13可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
下面对具体的方法进行详细的介绍。
请参阅图2,本申请还提供了一种软件升级方法,所述软件升级方法可以应用于如上文所述的电子设备,本实施例中具体应用于第一用户设备,包括以下步骤:
步骤201、向服务器发送针对第一应用程序的第一更新请求。
在一个可能的实施例中,所述向服务器的发送针对第一应用程序的第一更新请求之前,包括:向所述服务器发送针对第一应用程序的版本询问消息;接收来自所述服务器的针对所述版本询问消息的第一版本响应消息;检测到所述第一版本响应消息指示所述第一应用程序不是最新版本。
示例的,所述第一版本响应消息用于指示所述第一应用程序不是最新版本。
具体实现中,所述第一用户设备中安装有一个或多个应用程序,所述第一应用程序是所述第一个或多个应用程序中的任意一个。由所述第一用户设备向服务器发送针对第一应用程序的版本询问消息,然后所述第一用户设备接收来自所述服务器的针对所述版本询问消息的第一版本响应消息,根据所述第一版本响应消息确定所述第一应用程序不是最新版本,进而执行步骤201。
进一步的,所述第一用户设备可以针对所述一个或多个应用程序依次向所述服务器发送对应的版本询问消息,以实现对所述一个或多个应用程序的更新询问。并且,可以设置发送所述版本询问消息的时间节点,例如,在每天的零点发送版本询问消息,或者每隔预设时间发送一次版本询问消息,或者在手机息屏的时候发送版本询问消息。可以理解的是,时间节点的设置可以是任意方式,且可以是多种规则的组合,在此不做唯一性限定。
可以看出,本实施例中,通过向服务器发送版本询问消息,确定了第一应用程序是否需要更新。
步骤202、接收来自所述服务器的第一更新包。
其中,所述第一更新包为所述第一应用程序的版本更新差分包,所述版本更新差分包包括第一安装包相对于第二安装包的被更改文件的文件集合,所述第二安装包为所述第一安装包的前一个版本的安装包,第一安装包为所述第一应用程序的最新版本的安装包。
在一个可能的实施例中,所述接收来自所述服务器的第一更新包之前,所述方法还包括:接收来自所述服务器的下载地址;根据所述下载地址向所述服务器发送针对相应的第一更新包的下载请求消息。
具体实现中,在所述第一用户设备向所述服务器发送第一更新请求之后,服务器会向所述第一用户设备发送所述第一应用程序的第一更新包的下载地址,然后再由所述第一用户设备根据所述下载地址下载相应的第一更新包。
可以看出,本实施例中,实现了对第一更新包的下载。
步骤203、将所述第一更新包拆分成多个资源块。
在一个可能的实施例中,所述将所述第一更新包拆分成多个资源块,包括:获取所述第一应用程序的初始安装包的安装过程记录;按照所述安装过程记录中所要加载的多个资源文件,将所述第一更新包拆分成对应的多个资源块。
示例的,所述初始安装包为所述第一用户设备第一次所述第一应用程序是的安装包。
具体实现中,所述第一用户设备第一次安装所述第一应用程序时,会记录该第一应用程序的初始安装包的安装过程,得到安装过程记录。所述安装过程记录中记录了安装所述第一应用程序所要加载的多个资源文件,因此,为了符合安装所述第一应用程序安装流程,将所述第一更新包拆分成对应的多个资源块。
可以看出,本实施例中,基于第一应用程序的初始安装包的安装过程记录中所要加载的多个资源文件,将第一更新包拆分成对应的多个资源块,使得在对所述第一应用程序更新的过程中,能够针对相应的资源文件进行更新,而不需要完整的安装包。
步骤204、将所述多个资源块合并到所述第一应用程序中,以将所述第一应用程序更新为与所述第一安装包的版本对应的第一应用程序。
在一个可能的实施例中,所述将所述多个资源块合并到所述第一应用程序中,包括:确定所述多个资源块被加载到内存的第一加载顺序;根据所述第一加载顺序,将所述多个资源块依次合并到所述第一应用程序中。
具体实现中,现有的更新过程中,正常情况下在应用程序运行时无法对应用程序进行更新和安装,只能暂挂等下一次检测周期再自动安装更新。为了能够实现第一应用程序在运行的过程中也能够进行更新的目的,本实施例需要先确定所述多个资源模块被加载到内存的第一加载顺序,然后根据该第一加载顺序依次对所述第一应用程序的资源文件进行更新,最终使得在所述第一应用程序运行的过程中,对逐个资源文件进行更新,在更新完成后也不需要重启所述第一应用程序。
可以看出,本实施例中,实现了对运行过程中对一应用程序进行更新。
下面针对第一加载顺序的确定方式,举例进行说明。
方式1:所述确定所述多个资源块被加载到内存的第一加载顺序,包括:获取所述安装过程记录中所述多个资源文件中每个资源文件被加载到内存中的第一时间;将所述多个资源块中每个资源块与对应的资源文件的第一时间进行关联,得到以第一时间先后排序的第一加载顺序。
具体实现中,在安装所述初始安装包时,第一用户设备会记录下所述初始安装包中的每个资源文件加载到内存的第一时间,根据所述第一时间可以确定每个资源文件被加载到内存的先后顺序。最后,将所述资源块的对应的资源文件的第一时间进行关联,然后根据每个第一时间的先后顺序对所述多个资源块进行排序,得到第一加载顺序。
进一步的,存在资源块少于资源文件的情况,针对该情况,也可以根据第一时间的先后顺序得到对应的第一加载顺序。
可以看出,本实施例中,通过初始安装包在安装过程中多个资源文件被加载到内存的时间先后顺序,以确定所述多个资源块的第一加载顺序。
方式2:所述确定所述多个资源块被加载到内存的第一加载顺序,包括:获取加载顺序记录,所述加载顺序记录包括多个顺序标识,所述多个顺序标识与所述多个资源文件一一对应,所述多个顺序标识中的每个顺序标识用于指示对应的资源文件被加载到内存中的顺序;将所述多个资源块中每个资源块与对应的资源文件的顺序标识进行关联,得到以顺序标识先后排序的第一加载顺序。
具体实现中,在安装所述初始安装包时,第一用户设备会为每个加载到内存的资源文件关联一个顺序标识,该顺序标识用于指示每个资源文件被加载到内存的顺序。例如,资源文件1第一个被加载到内存中,则为资源文件1关联顺序标识1;资源文件3第二个被加载到内存中,则为资源文件3关联顺序标识2,依次类推,最终得到所有资源文件被加载到内存中的顺序。最后,将多个资源块与对应的资源文件的顺序标识进行关联,然后根据每个顺序标识的序号对所述多个资源块进行排序,得到第一加载顺序。
可以看出,本实施例中,通过在初始安装包在安装过程中,为多个资源文件被加载到内存的先后顺序设置顺序标识,以确定所述多个资源块的第一加载顺序。
在一个可能的实施例中,所述根据所述第一加载顺序,将所述多个资源块依次合并到所述第一应用程序中,包括:按照所述第一加载顺序针对所述多个资源块依次执行如下操作:获取当前顺序需要处理的资源块;判断所述资源块相对于所述第一应用程序中对应的资源文件的更改类型,所述更改类型包括新增、删除和修改;根据所述更改类型将所述资源块与所述第一应用程序中对应的资源文件进行合并。
具体实现中,安卓系统包括增量文件子系统,所述增量文件子系统用于执行增量更新的具体操作。具体的,获取所述第一加载顺序中的第一个资源块,将该第一资源块写入所述增量文件子系统中,所述增量文件子系统则根据更改类型将所述第一个资源块与正在运行的第一应用程序中对应的资源文件进行合并,进而完成第一个资源块的更新。然后,再依次获取下一个资源块写入所述增量文件子系统中进行更新,直至所述多个资源块按照第一加载顺序依次合并到第一应用程序中,则完成对第一应用程序的更新。
可以看出,本实施例中,实现了按照第一加载顺序逐个将资源块更新到第一应用程序中。
在一个可能的实施例中,所述根据所述更改类型将所述资源块与所述第一应用程序中对应的资源文件进行合并,包括:若所述更改类型为新增,则将所述资源块直接增加到对应的资源文件中;若所述更改类型为删除,则删除所述资源块对应的资源文件或者删除对应的资源文件中与所述资源块对应的单元;若所述更改类型为修改,则将所述资源块与所述资源文件进行替换。
具体实现中,可以在每个资源块都对应设置相应的更改类型标识,进而通过所述更改类型标识判断每个资源块对应的更改类型。然后,对于更改类型为新增的资源块,则将所述资源块直接增加到对应的资源文件中,对所述对应的资源文件新增相应的内容;对于更改类型为删除的资源块,由于可能是删除对应的资源文件的部分内容或者整个资源文件,因此根据资源块对应删除的内容来确定是删除整个对应的资源文件还是删除对应的资源文件的部分内容;对于更改类型为修改的资源块,则将所述资源块与所述资源文件进行替换或者可以将被修改的内容进行替换。
可以看出,本实施例中,实现了针对不同的更改类型执行不同的合并操作。
在一个可能的实施例中,所述方法还包括:若检测到所述第一更新包中的部分内容没有对应的资源文件,则将所述部分内容直接增加到所述第一应用程序中。
具体实现中,在实际应用中,可能存在增加新的资源文件的情况,这种情况下,第一更新包中的部分内容在第一应用程序中没有对应的资源文件,因此将这部分内容划分为独立资源块,在更新时,则将所述独立资源块直接增加到所述第一应用程序中。
可以看出,本实施例中,实现了对新增资源文件的更新。
综上所述,本申请实施例中,首先通过向服务器发送针对第一应用程序的第一更新请求;接收来自所述服务器的第一更新包,所述第一更新包为所述第一应用程序的版本更新差分包,所述版本更新差分包包括第一安装包相对于第二安装包的被更改文件的文件集合,所述第二安装包为所述第一安装包的前一个版本的安装包,第一安装包为所述第一应用程序的最新版本的安装包;将所述第一更新包拆分成多个资源块;将所述多个资源块合并到所述第一应用程序中,以将所述第一应用程序更新为与所述第一安装包的版本对应的第一应用程序。这样,就实现了对应第一应用程序的增量更新,缩小了更新安装包的大小,且能够在应用程序运行时进行更新。
上述主要从终端侧的方法执行过程的角度对本申请实施例的方案进行了介绍。下面从服务器侧的方法执行过程的角度对本申请实施例的方案进行介绍。
请参阅图3,本申请实施例还提供了一种软件升级方法,应用于服务器,包括:
步骤301、接收来自第一用户设备针对第一应用程序的第一更新请求。
步骤302、响应所述第一更新请求,向所述第一用户设备发送第一更新包。
其中,所述第一更新包为所述第一应用程序的版本更新差分包,所述版本更新差分包包括第一安装包相对于第二安装包的被更改文件的文件集合,所述第二安装包为所述第一安装包的前一个版本的安装包,第一安装包为所述第一应用程序的最新版本的安装包,所述第一更新包用于以多个资源块的形式参与对所述第一应用程序的更新。
可以看出,本实施例中,实现了对应第一应用程序的增量更新,缩小了更新安装包的大小,且能够在应用程序运行时进行更新。
在一个可能的实施例中,所述接收来自第一用户设备针对第一应用程序的第一更新请求之前,所述方法还包括:接收来自第二用户设备针对所述第一应用程序的第一安装包;获取所述第一安装包前一个版本的第二安装包;拆分出所述第一安装包相对于第二安装包的被更改文件的文件集合,得到第一更新包。
示例的,所述第二用户设备为第一应用程序的软件开发者对应的用户设备。
具体实现中,由所述软件开发者通过第二用户设备上传针对所述第一应用程序的第一安装包,然后由服务器接收所述第一安装包,同时获取到所述第一安装包前一个版本的第二安装包,将第一安装包和第二安装包通过差分算法在内存中进行比较,识别出第一安装包相对于第二安装包的被更改文件的文件集合,得到第一更新包。
可以看出,本实施例中,通过比较第一安装包和第二安装包的差异,实现了对第一更新包的获取。
在一个可能的实施例中,所述得到第一更新包之后,所述方法还包括:接收来自第一用户设备的版本询问消息;获取所述询问消息中对应的第一应用程序的第一版本号;将所述第一版本号与所述第一应用程序的最新版本号进行对比;若所述第一版本号与所述最新版本号不一致,则向所述第一用户设备发送第一版本响应消息;若所述第一版本号与所述最新版本号一致,则向所述第一用户设备发送第二版本响应消息。
具体实现中,所述版本询问消息中携带有所述第一用户设备中对应的第一应用程序的第一版本号,从所述版本询问消息中获取所述第一版本号。然后将所述第一版本号与第一安装包中的最新版本号进行对比。若所述第一版本号与所述最新版本号不一致,则表示所述第一用户设备中的第一应用程序不是最新版本,因此,向所述第一用户设备发送第一版本响应消息;若所述第一版本号与所述最新版本号一致,则表示所述第一用户设备中的第一应用程序是最新版本,因此,向所述第一用户设备发送第二版本响应消息。
可以看出,本实施例中,通过版本号对比确定了所述第一用户设备中的第一应用程序是否为最新版本。
下面对服务器侧和用户设备侧的交互进行举例说明。
具体实现中,软件开发者第二用户设备通过第二用户设备上传针对所述第一应用程序的第一安装包。然后由服务器接收所述第一安装包,同时获取到所述第一安装包前一个版本的第二安装包,将第一安装包和第二安装包通过差分算法在内存中进行比较,识别出第一安装包相对于第二安装包的被更改文件的文件集合,得到第一更新包。所述第一用户设备向服务器发送针对第一应用程序的版本询问消息。所述服务器接收来自第一用户设备的版本询问消息,然后从所述询问消息中获取对应的第一应用程序的第一版本号,之后将所述第一版本号与所述第一应用程序的最新版本号进行对比,并在所述第一版本号与所述最新版本号不一致,则向所述第一用户设备发送第一版本响应消息。然后所述第一用户设备接收来自所述服务器的针对所述版本询问消息的第一版本响应消息,根据所述第一版本响应消息确定所述第一应用程序不是最新版本,则向服务器发送针对第一应用程序的第一更新请求。然后,所述服务器接收来自第一用户设备针对第一应用程序的第一更新请求,并响应所述第一更新请求,向所述第一用户设备发送第一更新包。所述第一用户设备接收来自所述服务器的第一更新包将所述第一更新包拆分成多个资源块,然后将所述多个资源块合并到所述第一应用程序中,以将所述第一应用程序更新为与所述第一安装包的版本对应的第一应用程序。
上述主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,电子设备或服务器为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所提供的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对电子设备或服务器进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
请参阅图4a,本申请还提供一种软件升级装置,应用于第一用户设备,所述装置包括:
发送单元401,用于向服务器发送针对第一应用程序的第一更新请求;
接收单元402,用于接收来自所述服务器的第一更新包,所述第一更新包为所述第一应用程序的版本更新差分包,所述版本更新差分包包括第一安装包相对于第二安装包的被更改文件的文件集合,所述第二安装包为所述第一安装包的前一个版本的安装包,第一安装包为所述第一应用程序的最新版本的安装包;
拆分单元404,用于将所述第一更新包拆分成多个资源块;
更新单元403,用于将所述多个资源块合并到所述第一应用程序中,以将所述第一应用程序更新为与所述第一安装包的版本对应的第一应用程序。
可以看出,本实施例中,实现了对应第一应用程序的增量更新,缩小了更新安装包的大小,且能够在应用程序运行时进行更新。
可以理解的是,由于方法实施例与装置实施例为相同技术构思的不同呈现形式,因此,本申请中方法实施例部分的内容应同步适配于装置实施例部分,此处不再赘述。
在采用集成的单元的情况下,如图4b所示,图4b是本申请实施例提供的另一种软件升级装置的功能单元组成框图。在图4b中,软件升级装置41包括:处理模块412和通信模块411。处理模块412用于对软件升级装置41的动作进行控制管理,例如,执行发送单元401、接收单元402、更新单元403和拆分单元404的步骤,和/或用于执行本文所描述的技术的其它过程。通信模块411用于支持软件升级装置41与其他设备之间的交互。如图4b所示,软件升级装置41还可以包括存储模块413,存储模块413用于存储软件升级装置的程序代码和数据。
其中,处理模块412可以是处理器或控制器,例如可以是中央处理器(CentralProcessing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块411可以是收发器、RF电路或通信接口等。存储模块413可以是存储器。
其中,上述方法实施例涉及的各场景的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。上述软件升级装置41均可执行上述图2所示的编译方法。
请参阅图5a,本申请还提供一种软件升级装置,应用于服务器,所述装置包括:
接收单元501,用于接收来自第一用户设备针对第一应用程序的第一更新请求;
发送单元502,用于响应所述第一更新请求向所述第一用户设备发送第一更新包,所述第一更新包为所述第一应用程序的版本更新差分包,所述版本更新差分包包括第一安装包相对于第二安装包的被更改文件的文件集合,所述第二安装包为所述第一安装包的前一个版本的安装包,第一安装包为所述第一应用程序的最新版本的安装包,所述第一更新包用于以多个资源块的形式参与对所述第一应用程序的更新。
可以看出,本实施例中,实现了对应第一应用程序的增量更新,缩小了更新安装包的大小,且能够在应用程序运行时进行更新。
可以理解的是,由于方法实施例与装置实施例为相同技术构思的不同呈现形式,因此,本申请中方法实施例部分的内容应同步适配于装置实施例部分,此处不再赘述。
在采用集成的单元的情况下,如图5b所示,图5b是本申请实施例提供的另一种软件升级装置的功能单元组成框图。在图5b中,软件升级装置51包括:处理模块512和通信模块511。处理模块512用于对软件升级装置51的动作进行控制管理,例如,执行接收单元501和发送单元502的步骤,和/或用于执行本文所描述的技术的其它过程。通信模块511用于支持软件升级装置51与其他设备之间的交互。如图5b所示,软件升级装置51还可以包括存储模块513,存储模块513用于存储软件升级装置的程序代码和数据。
其中,处理模块512可以是处理器或控制器,例如可以是中央处理器(CentralProcessing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块511可以是收发器、RF电路或通信接口等。存储模块513可以是存储器。
其中,上述方法实施例涉及的各场景的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。上述软件升级装置51均可执行上述图3所示的编译方法。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。
本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置和系统,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的;例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、磁碟、光盘、易失性存储器或非易失性存储器。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。等各种可以存储程序代码的介质。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,可轻易想到变化或替换,均可作各种更动与修改,包含上述不同功能、实施步骤的组合,包含软件和硬件的实施方式,均在本发明的保护范围。

Claims (17)

1.一种软件升级方法,其特征在于,应用于第一用户设备,包括:
向服务器发送针对第一应用程序的第一更新请求;
接收来自所述服务器的第一更新包,所述第一更新包为所述第一应用程序的版本更新差分包,所述版本更新差分包包括第一安装包相对于第二安装包的被更改文件的文件集合,所述第二安装包为所述第一安装包的前一个版本的安装包,第一安装包为所述第一应用程序的最新版本的安装包;
将所述第一更新包拆分成多个资源块;
将所述多个资源块合并到所述第一应用程序中,以将所述第一应用程序更新为与所述第一安装包的版本对应的第一应用程序。
2.根据权利要求1所述的方法,其特征在于,所述将所述第一更新包拆分成多个资源块,包括:
获取所述第一应用程序的初始安装包的安装过程记录;
按照所述安装过程记录中所要加载的多个资源文件,将所述第一更新包拆分成对应的多个资源块。
3.根据权利要求1所述的方法,其特征在于,所述将所述多个资源块合并到所述第一应用程序中,包括:
确定所述多个资源块被加载到内存的第一加载顺序;
根据所述第一加载顺序,将所述多个资源块依次合并到所述第一应用程序中。
4.根据权利要求3所述的方法,其特征在于,所述确定所述多个资源块被加载到内存的第一加载顺序,包括:
获取所述安装过程记录中所述多个资源文件中每个资源文件被加载到内存中的第一时间;
将所述多个资源块中每个资源块与对应的资源文件的第一时间进行关联,得到以第一时间先后排序的第一加载顺序。
5.根据权利要求3所述的方法,其特征在于,所述确定所述多个资源块被加载到内存的第一加载顺序,包括:
获取加载顺序记录,所述加载顺序记录包括多个顺序标识,所述多个顺序标识与所述多个资源文件一一对应,所述多个顺序标识中的每个顺序标识用于指示对应的资源文件被加载到内存中的顺序;
将所述多个资源块中每个资源块与对应的资源文件的顺序标识进行关联,得到以顺序标识先后排序的第一加载顺序。
6.根据权利要求3所述的方法,其特征在于,所述根据所述第一加载顺序,将所述多个资源块依次合并到所述第一应用程序中,包括:
按照所述第一加载顺序针对所述多个资源块依次执行如下操作:
获取当前顺序需要处理的资源块;
判断所述资源块相对于所述第一应用程序中对应的资源文件的更改类型,所述更改类型包括新增、删除和修改;
根据所述更改类型将所述资源块与所述第一应用程序中对应的资源文件进行合并。
7.根据权利要求6所述的方法,其特征在于,所述根据所述更改类型将所述资源块与所述第一应用程序中对应的资源文件进行合并,包括:
若所述更改类型为新增,则将所述资源块直接增加到对应的资源文件中;
若所述更改类型为删除,则删除所述资源块对应的资源文件或者删除对应的资源文件中与所述资源块对应的单元;
若所述更改类型为修改,则将所述资源块与所述资源文件进行替换。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若检测到所述第一更新包中的部分内容没有对应的资源文件,则将所述部分内容直接增加到所述第一应用程序中。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述向服务器的发送针对第一应用程序的第一更新请求之前,包括:
向所述服务器发送针对所述第一应用程序的版本询问消息;
接收来自所述服务器的针对所述版本询问消息的第一版本响应消息;
检测到所述第一版本响应消息指示所述第一应用程序不是最新版本。
10.一种软件升级方法,其特征在于,应用于服务器,包括:
接收来自第一用户设备针对第一应用程序的第一更新请求;
响应所述第一更新请求,向所述第一用户设备发送第一更新包,所述第一更新包为所述第一应用程序的版本更新差分包,所述版本更新差分包包括第一安装包相对于第二安装包的被更改文件的文件集合,所述第二安装包为所述第一安装包的前一个版本的安装包,第一安装包为所述第一应用程序的最新版本的安装包,所述第一更新包用于以多个资源块的形式参与对所述第一应用程序的更新。
11.根据权利要求10所述的方法,其特征在于,所述接收来自第一用户设备针对第一应用程序的第一更新请求之前,所述方法还包括:
接收来自第二用户设备针对所述第一应用程序的第一安装包;
获取所述第一安装包前一个版本的第二安装包;
拆分出所述第一安装包相对于第二安装包的被更改文件的文件集合,得到第一更新包。
12.根据权利要求11所述的方法,其特征在于,所述得到第一更新包之后,所述方法还包括:
接收来自第一用户设备的版本询问消息;
获取所述询问消息中对应的第一应用程序的第一版本号;
将所述第一版本号与所述第一应用程序的最新版本号进行对比;
若所述第一版本号与所述最新版本号不一致,则向所述第一用户设备发送第一版本响应消息;
若所述第一版本号与所述最新版本号一致,则向所述第一用户设备发送第二版本响应消息。
13.一种软件升级装置,其特征在于,应用于第一用户设备,包括:
发送单元,用于向服务器发送针对第一应用程序的第一更新请求;
接收单元,用于接收来自所述服务器的第一更新包,所述第一更新包为所述第一应用程序的版本更新差分包,所述版本更新差分包包括第一安装包相对于第二安装包的被更改文件的文件集合,所述第二安装包为所述第一安装包的前一个版本的安装包,第一安装包为所述第一应用程序的最新版本的安装包;
拆分单元,用于将所述第一更新包拆分成多个资源块;
更新单元,用于将所述多个资源块合并到所述第一应用程序中,以将所述第一应用程序更新为与所述第一安装包的版本对应的第一应用程序。
14.一种软件升级装置,其特征在于,应用于服务器,包括:
接收单元,用于接收来自第一用户设备针对第一应用程序的第一更新请求;
发送单元,用于响应所述第一更新请求向所述第一用户设备发送第一更新包,所述第一更新包为所述第一应用程序的版本更新差分包,所述版本更新差分包包括第一安装包相对于第二安装包的被更改文件的文件集合,所述第二安装包为所述第一安装包的前一个版本的安装包,第一安装包为所述第一应用程序的最新版本的安装包,所述第一更新包用于以多个资源块的形式参与对所述第一应用程序的更新。
15.一种电子设备,其特征在于,包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-12任一项所述的方法中的步骤的指令,或者所述程序包括权利要求13或14所述的装置的步骤的指令。
16.一种计算机可读存储介质,其特征在于,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-12任一项所述的方法中的步骤的指令,或者执行如权利要求13或14所述的装置的步骤的指令。
17.一种计算机程序产品,其特征在于,包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可被操作来使计算机执行如权利要求1-12任一项所述的方法中的步骤的指令,或者执行如权利要求13或14所述的装置的步骤的指令。
CN202111604181.5A 2021-12-24 2021-12-24 软件升级方法及相关装置 Pending CN114327548A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111604181.5A CN114327548A (zh) 2021-12-24 2021-12-24 软件升级方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111604181.5A CN114327548A (zh) 2021-12-24 2021-12-24 软件升级方法及相关装置

Publications (1)

Publication Number Publication Date
CN114327548A true CN114327548A (zh) 2022-04-12

Family

ID=81014017

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111604181.5A Pending CN114327548A (zh) 2021-12-24 2021-12-24 软件升级方法及相关装置

Country Status (1)

Country Link
CN (1) CN114327548A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115904478A (zh) * 2022-12-19 2023-04-04 安超云软件有限公司 云平台资源管理方法、系统及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104932909A (zh) * 2014-03-17 2015-09-23 中兴通讯股份有限公司 一种终端软件升级方法及装置
CN108874439A (zh) * 2018-07-02 2018-11-23 京东方科技集团股份有限公司 获取定制差分包的方法及装置、升级方法及装置
CN110113391A (zh) * 2019-04-17 2019-08-09 北京奇艺世纪科技有限公司 一种客户端上线方法、装置及一种客户端运行方法、装置
CN110231947A (zh) * 2019-05-21 2019-09-13 深圳壹账通智能科技有限公司 一种应用程序的插件更新方法、设备、服务器及存储介质
CN113448611A (zh) * 2021-08-31 2021-09-28 中邮消费金融有限公司 一种应用程序快速热更新的方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104932909A (zh) * 2014-03-17 2015-09-23 中兴通讯股份有限公司 一种终端软件升级方法及装置
CN108874439A (zh) * 2018-07-02 2018-11-23 京东方科技集团股份有限公司 获取定制差分包的方法及装置、升级方法及装置
CN110113391A (zh) * 2019-04-17 2019-08-09 北京奇艺世纪科技有限公司 一种客户端上线方法、装置及一种客户端运行方法、装置
CN110231947A (zh) * 2019-05-21 2019-09-13 深圳壹账通智能科技有限公司 一种应用程序的插件更新方法、设备、服务器及存储介质
CN113448611A (zh) * 2021-08-31 2021-09-28 中邮消费金融有限公司 一种应用程序快速热更新的方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115904478A (zh) * 2022-12-19 2023-04-04 安超云软件有限公司 云平台资源管理方法、系统及电子设备
CN115904478B (zh) * 2022-12-19 2023-08-22 安超云软件有限公司 云平台资源管理方法、系统及电子设备

Similar Documents

Publication Publication Date Title
CN108027741B (zh) 基于补丁升级的文件处理方法、装置、终端以及存储介质
CN108388599B (zh) 电子装置、数据迁移及调用方法及存储介质
CN110058873B (zh) 应用页面更新方法、装置、设备和存储介质
CN105867947B (zh) 预置应用程序升级后的数据处理方法及装置
EP1869924B1 (en) Method for providing contents for mobile communication terminal
CN109726067B (zh) 一种进程监控方法以及客户端设备
CN106874328B (zh) 一种数据处理方法和设备
CN107526608B (zh) 一种ota升级包升级方法及设备
CN111638894A (zh) 一种软件升级方法、装置及计算机存储介质
CN113301203B (zh) 基于通讯录对历史信息数据进行更新的方法及装置
CN110750286A (zh) OTA升级Mbn的管理方法、装置、系统、设备和介质
CN110837391B (zh) 应用程序的热更新方法及装置、存储介质及电子设备
CN105356989A (zh) 一种基于mtp模式的数据同步方法、系统和设备
CN112860953A (zh) 图数据库的数据导入方法、装置、设备及存储介质
CN114327548A (zh) 软件升级方法及相关装置
CN111176715A (zh) 一种信息调用方法及服务器
CN108241515B (zh) 应用快捷方式建立方法及终端
CN111556127B (zh) 一种可穿戴设备升级方法及相关设备
CN106293790B (zh) 基于Firefox操作系统的应用程序升级方法和装置
US20210349855A1 (en) Method of data structuring for difference between old and new data and device thereof
CN113094064A (zh) 网关软件模块升级方法、装置、设备及存储介质
CN113312073B (zh) 一种安装包文件处理方法和相关装置
CN114610366A (zh) 一种差分包升级方法、系统、智能电子设备和存储介质
CN106156235B (zh) 一种基于Android平台的图片下载方法及系统
CN110825406A (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