发明内容
本申请实施例提供一种版本管理方法和装置,有利于提高升级效率。
第一方面,本申请实施例提供一种版本管理方法,该方法可以应用于版本管理系统,该版本管理系统包括服务器和智能汽车,该方法可以包括:该服务器生成多个升级包和该多个升级包的指示信息,该指示信息用于指示该多个升级包中的每个升级包所属的分组,该分组至少包括第一升级包组或该第二升级包组,其中,该第一升级包组的重要级高于该第二升级包组;该服务器向该智能汽车发送该多个升级包和该指示信息;该智能汽车获取该多个升级包的安装结果,该安装结果包括安装成功或安装失败;该智能汽车基于该多个升级包的安装结果和该指示信息,对该多个升级包对应的升级对象进行版本管理。
可见,采用本申请提供的版本管理方法,服务器将多个升级包划分为至少两个分组,如第一升级包组和第二升级包组,并通过指示信息指示每个升级包所属的分组。相应地,智能汽车基于该多个升级包的安装结果和该指示信息,以分组为单位,对该多个升级包进行版本管理,有利于提高升级效率。
可选地,本申请中所述的服务器是指能够作为厂商或OEM为终端提供版本管理服务的装置。示例的,该版本管理服务可以包括管理终端的升级任务以及向终端发布升级任务。示例的,该升级任务可以包括多个升级包的升级等。
可选地,该服务器可以部署在云端。
可选地,本申请中所述的终端是指支持该服务器提供的该版本管理服务的装置。
可选地,本申请中所述的终端可以为运输工具或者智能设备。
示例的,该运输工具可以包括机动车辆(如无人车、智能汽车、电动车、数字汽车等)、无人机、轨道车、交通灯等。
示例的,该智能设备可以包括手机、平板电脑、笔记本电脑、个人数字助理、销售终端、车载电脑、增强现实设备、虚拟现实、可穿戴设备、车载终端等。
在一种可能的实现方式中,该服务器与该终端之间可以进行无线通信。
为清楚起见,本申请实施例中仅以终端为智能汽车为例进行介绍,但应理解,本申请实施例不限于此。
需要说明的是,本申请实施例中所述的升级任务成功是指该升级任务中包括的该多个升级包均升级成功。
还需要说明的是,本申请实施例中所述的升级包升级成功可以包括该升级包安装成功。可选地,该升级包升级成功还可以包括该升级包激活成功。
可选地,该多个升级包可以被分为至少两个分组,不同分组的重要级不同。
示例的,以该多个升级包被分为两个分组,即第一升级包组和第二升级包组为例,其中,该第一升级包组包括该多个升级包中的至少一个第一升级包,该第二升级包组包括该多个升级包中的至少一个第二升级包,且该至少一个第一升级包的重要级均高于该至少一个第二升级包。
可选地,该服务器可以通过多种分组方式对该多个升级包进行分组,本申请实施例对此不做限定。
在第一种可能的实现方式中,该服务器可以按照与本次升级任务所升级的主要功能的相关性,对升级包进行分组。
在第二种可能的实现方式中,该服务器还可以按照与本次升级任务所修复的重大安全缺陷的相关性,对升级包进行分组。
在第三种可能的实现方式中,该服务器还可以按照是否具备准入功能和/或参数修改功能,对升级包进行分组。
需要说明的是,本申请实施例中所述的分组方式是指对本次升级任务中的升级包进行分组的方式。可选地,不同升级任务中,对升级包进行分组的分组方式可以相同也可以不同,本申请对此不做限定。示例的,升级任务1中的升级包可以采用第一种分组方式进行分组,升级任务2中的升级包可以采用第二种分组方式进行分组。
可选地,该指示信息可以显式或隐式指示该每个升级包所属的分组,本申请对此不做限定。
在一种可能的实现方式中,该指示信息可以包括该每个升级包的名称,即通过该每个升级包的名称隐式指示该每个升级包所属的分组。
在另一种可能的实现方式中,该多个升级包可以被打包为第一升级包组和第二升级包组,该指示信息可以包括该第一升级包组和/或该第二升级包组的名称,即通过该第一升级包组的名称和/或该第二升级包组的名称隐式指示该每个升级包所属的分组。
采用本申请实施例提供的版本管理方法,通过升级包的名称或升级包组的名称隐式指示每个升级包所属的分组,即无需通过额外的信息指示该每个升级包所属的分组,可以降低传输的数据量。
在又一种可能的实现方式中,该指示信息可以显式指示该每个升级包的分组,也就是说,该指示信息可以包括该第一升级包组中的每个升级包的标识和/或该第二升级包组中的每个升级包的标识。
采用本申请实施例提供的版本管理方法,通过该指示信息显式指示该每个升级包所属的分组,可以降低智能汽车的计算能力和计算量。
可选地,该服务器可以通过多种方式向该智能汽车发送该多个升级包和该指示信息,本申请实施例对此不做限定。
在一种可能的实现方式中,该服务器可以分别向该终端发送该多个升级包和该指示信息。
可选地,本申请实施例对该多个升级包和该指示信息的发送顺序不做限定。
采用本申请实施例提供的版本管理方法,分别发送该多个升级包和该指示信息可以提高传输的灵活性。
在另一种可能的实现方式中,该服务器可以向该终端发送本次升级任务,该本次升级任务中包括该多个升级包和该指示信息。示例的,该本次升级任务可以为该多个升级包和该指示信息经过打包后得到的。
采用本申请实施例提供的版本管理方法,一起发送该多个升级包和该指示信息可以降低传输的数据量,从而提高传输的效率。
可选地,在本次升级任务的执行过程中,该智能汽车可以只在首次获取的时候接收来自该服务器的该多个升级包和该指示信息。示例的,该智能汽车可以在首次获取到该多个升级包和该指示信息之后,可以将该多个升级包和该指示信息保存在存储区,后续需要的时候直接从存储区获取,即无需再次从服务器获取。
可选地,在该智能汽车获取该多个升级包的安装结果之前,该智能汽车可以安装该多个升级包,得到该多个升级包中的安装结果。
可选地,在所述智能汽车基于所述多个升级包的安装结果和所述指示信息,对所述多个升级包对应的升级对象进行版本管理之前,该服务器还可以向该终端发送该多个升级包的版本信息,该版本信息包括第一版本信息和/或第二版本信息,其中,该第一版本信息用于指示所述多个升级包对应的整机版本号为第一整机版本号,所述第二版本信息用于指示所述第一升级包组对应的分组版本号为第一分组版本号。相应地,该智能汽车接收来自该服务器的该版本信息。
可选地,该服务器可以分别发送该版本信息、该指示信息和该多个升级包;或者,该服务器可以分别发送上述本次升级任务(包括该多个升级包和该版本信息)和该版本信息;或者,该服务器可以发布本次升级任务,该本次升级任务中包括该版本信息、该指示信息和该多个升级包,本申请实施例对此不做限定。
可选地,该第一版本信息可以包括该第一整机版本号。类似地,该第二版本信息可以包括该第一分组版本号。
下面将结合该多个升级包的安装结果对应的3种不同的情况(包括以下情况1、请况2和情况3),分别介绍在不同的情况下,该智能汽车如何对该多个升级包对应的升级对象进行版本管理。
情况1:该多个升级包中的每个升级包均安装成功。
在一种可能的实现方式中,若该多个升级包中的每个升级包均安装成功,该智能汽车确定本次升级任务完成。
可选地,若该版本信息仅包括第一版本信息,该智能汽车可以将该智能汽车当前的整机版本号由第二整机版本号更新为该第一整机版本号。其中,该第二整机版本号为第一整机版本号的前一个整机版本号,即该第二整机版本号为执行本次升级任务之前的整机版本号。
可选地,若该版本信息包括第一版本信息和第二版本信息,该智能汽车可以将该智能汽车当前的整机版本号由第二整机版本号更新为该第一整机版本号,并将当前的分组版本号更新为该第一分组版本号。其中,该第二分组版本号为第一分组版本号的前一个分组版本号,即该第二分组版本号为执行本次升级任务之前的分组版本号。
综上所示,在上述情况1下,本次升级任务成功。
情况2:安装失败的升级包部分或全部属于该第一升级包组。
在一种可能的实现方式中,该智能汽车基于该多个升级包的安装结果和该指示信息,确定安装失败的升级包部分或全部属于该第一升级包组;该智能汽车回退该多个升级包中的每个升级包对应的升级对象的版本。
也就是说,只要该第一升级包组中有安装失败的升级包,不管该第二升级包组中是否有安装失败的升级包,该智能汽车都会回退该多个升级包中的每个升级包对应的升级对象的版本。
可选地,该智能汽车维持该智能汽车当前的版本信息不变。
综上所述,在情况2下,本次升级任务失败,后续需要重新执行本申请实施例提供的版本管理方法,以完成本次升级任务。
情况3:安装失败的升级包均属于该第二升级包组。
在一种可能的实现方式中,该智能汽车基于该多个升级包的安装结果和该指示信息,确定安装失败的升级包均属于该第二升级包组;该智能汽车仅回退该第二升级包组中的每个升级包对应的升级对象的版本。
也就是说,只要安装失败的升级包不属于该第一升级包组,该智能汽车仅需要回退该第二升级包中的每个升级包对应的升级对象的版本。
可选地,若该版本信息仅包括第一版本信息,该智能汽车可以将该智能汽车当前的整机版本号由第二整机版本号更新为第三整机版本号,该第三整机版本号用于指示该第一升级包组中的升级包均安装成功,但该第二升级包组中存在安装失败的升级包。
可选地,若该版本信息包括第一版本信息和第二版本信息,该智能汽车可以将当前的分组版本号由第二分组版本号更新为该第一分组版本号,并维持当前的整机版本号为第二整机版本号不变。
综上所述,在情况3下,本次升级任务部分成功,即第一升级包组升级成功,但是第二升级包组升级失败。
可见,采用本申请提供的版本管理方法,服务器将多个升级包划分为至少两个分组,如第一升级包组和第二升级包组,并通过指示信息指示每个升级包所属的分组。相应地,智能汽车基于该多个升级包的安装结果和该指示信息,确定安装失败的升级包不属于该第一升级包组(即第一升级包组中的升级包均安装成功),在这种情况下,该智能汽车可以仅回退第二升级包组中的升级包对应的升级对象的版本,而无需回退该第一升级包组中的升级包对应的升级对象的版本。因此,能够保证安装成功的第一升级包组中的升级包对应的升级对象正常使用更新后的版本。
此外,在本次升级任务的后续过程中,智能汽车无需重新安装第一升级包组中的升级包,仅需要重新安装第二升级包组中的升级包即可,这样能够提高升级效率。
可选地,情况3下,该方法还可以包括:该智能汽车重新安装该第二升级包组中的每个升级包,得到该第二升级包组中的每个升级包的安装结果。
可选地,在该智能汽车重新安装该第二升级包组中的每个升级包之前,该智能汽车可以获取该第二升级包组。
可选地,该本申请实施例对该第二升级包组的获取方式不做限定。
在一种可能的实现方式中,该智能汽车从服务器获取到该多个升级包之后,可以将该多个升级包保存在存储区中,该智能汽车可以从存储区中获取该第二升级包组。
在另一种可能的实现方式中,该智能汽车可以重新获取该第二升级包组。
示例的,该智能汽车可以向该服务器发送该多个升级包的第一版本同步信息,该第一版本同步信息用于指示当前的整机版本号为该第三整机版本号;相应地,该服务器接收来自该智能汽车的该第一版本同步信息;基于该第三整机版本号,向该智能汽车重新发送该第二升级包组。相应地,该智能汽车接收该服务器重新发送的该第二升级包组。
示例的,该智能汽车可以向该服务器发送该多个升级包的第二版本同步信息,该第二版本同步信息用于指示当前的整机版本号为该第二整机版本号以及当前的分组版本号为该第一分组版本号;相应地,该服务器接收来自该智能汽车的该第二版本同步信息;基于该当前的整机版本号(即第二整机版本号)与该多个升级包对应的整机版本号(即第一整机版本号)不同,但该当前的分组版本号(即第一分组版本号)与该第一升级包组对应的分组版本号(即第一分组版本号)相同,向该智能汽车重新发送该第二升级包组。相应地,该智能汽车接收该服务器重新发送的该第二升级包组。
采用本申请实施例提供的版本管理方法,由于该第二升级包组第一次升级未成功,可能是由于该第二升级包组中的升级包的自身原因(如升级包受损或缺失)导致的,因此,该服务器重新向该智能汽车发送该第二升级包组,有利于提高升级成功率。此外,该服务器只向该智能汽车重新发送该第二升级包组,即不用重新发送该多个升级包中的每个升级包,能够降低传输的数据量,从而提高升级效率。
可选地,该服务器也可以基于该第一版本同步信息或该第二版本同步信息,向该智能汽车重新发送该多个升级包。相应地,该智能汽车基于该指示信息,从多个升级包中获取该第二升级包组。
采用本申请实施例提供的版本管理方法,服务器只需要判断是否需要重新发送该多个升级包,由智能汽车从该多个升级包中获取该第二升级包组,这样可以降低服务器的计算量和计算复杂度。
可选地,若该第二升级包组中的每个升级包均安装成功,该智能汽车可以将当前的整机版本号更新为该第一整机版本号,即实现本次升级任务成功。
第二方面,本申请实施例还提供一种版本管理方法,该方法可以用于终端,该方法可以包括:获取多个升级包和所述多个升级包的指示信息,所述指示信息用于指示所述多个升级包中的每个升级包所属的分组,所述分组至少包括第一升级包组或所述第二升级包组,其中,所述第一升级包组的重要级高于所述第二升级包组;获取所述多个升级包的安装结果,所述升级包的安装结果包括安装成功或安装失败;基于所述多个升级包的安装结果和所述指示信息,对所述每个升级包对应的升级对象进行版本管理。
可见,采用本申请提供的版本管理方法,终端接收到的该多个升级包被划分为至少两个分组,如第一升级包组和第二升级包组,并通过接收到的指示信息指示每个升级包所属的分组,该终端以分组为单位,对该多个升级包进行版本管理,有利于提高升级效率。
在一种可能的实现方式中,所述基于所述多个升级包的安装结果和所述指示信息,对所述多个升级包进行版本管理,包括:基于所述多个升级包的安装结果和所述指示信息,确定安装失败的升级包均不属于所述第一升级包组;回退所述第二升级包组中的每个升级包对应的升级对象的版本。
可见,采用本申请提供的版本管理方法,终端基于该多个升级包的安装结果和该指示信息,确定安装失败的升级包不属于该第一升级包组(即第一升级包组中的升级包均安装成功),在这种情况下,该终端可以仅回退第二升级包组中的升级包对应的升级对象的版本,而无需回退该第一升级包组中的升级包对应的升级对象的版本。因此,能够保证安装成功的第一升级包组中的升级包对应的升级对象正常使用更新后的版本。
在一种可能的实现方式中,所述方法还包括:获取所述多个升级包的第一版本信息,所述第一版本信息用于指示所述多个升级包对应的整机版本号为第一整机版本号;其中,所述回退所述第二升级包组中的每个升级包对应的升级对象的版本,包括:将所述第二升级包组中的每个升级包对应的升级对象的版本回退至所述第二整机版本号对应的版本,其中,所述第二整机版本号为所述第一整机版本号的前一个整机版本号。
在一种可能的实现方式中,所述方法还包括:将当前的整机版本号更新为第三整机版本号,所述第三整机版本号用于指示所述第一升级包组中的升级包均安装成功,但所述第二升级包组中存在安装失败的升级包。
在一种可能的实现方式中,所述方法还包括:向服务器发送第一版本同步信息,所述第一版本同步信息用于指示当前的整机版本号为所述第三整机版本号;接收来自所述服务器的所述第二升级包组。
在一种可能的实现方式中,所述方法还包括:获取所述多个升级包的第二版本信息,所述第二版本信息用于指示所述第一升级包组对应的分组版本号为第一分组版本号;将当前的分组版本号更新为所述第一分组版本号。
在一种可能的实现方式中,所述方法还包括:向服务器发送第二版本同步信息,所述第二版本同步信息用于指示当前的整机版本号为所述第二整机版本号以及当前的分组版本号为所述第一分组版本号;接收来自所述服务器的所述第二升级包组。
采用本申请实施例提供的版本管理方法,由于该第二升级包组第一次升级未成功,可能是由于该第二升级包组中的升级包的自身原因(如升级包受损或缺失)导致的,因此,该终端重新从服务器接收该第二升级包组,有利于提高升级成功率。此外,该终端可以只从该服务器重新获取该第二升级包组,即不用重新获取该多个升级包中的每个升级包,能够降低传输的数据量,从而提高升级效率。
在一种可能的实现方式中,所述方法还包括:获取重新接收到的所述第二升级包组中的升级包的安装结果;确定所述第二升级包组中的升级包均安装成功;将当前的整机版本号更新为所述第一整机版本号。
可见,采用本申请实施例提供的版本管理方法,若第一升级包组中的升级包安装成功,而第二升级包中的部分或全部升级包安装失败,在本次升级任务的后续过程中,该终端无需重新安装第一升级包组中的升级包,仅需要重新安装第二升级包组中的升级包即可,这样能够提高升级效率。
在一种可能的实现方式中,所述基于所述多个升级包的安装结果和所述指示信息,对所述多个升级包进行版本管理,包括:若所述安装失败的升级包部分或全部属于所述第一升级包组,回退所述多个升级包中的每个升级包对应的升级对象的版本。
在一种可能的实现方式中,所述每个升级包对应的升级对象为电子控制单元或软件。
可见,采用本申请实施例提供的版本管理方法,升级对象可以为电子控制单元或软件,能够提高版本管理的灵活性。
第二方面中未介绍的内容可以参考第一方面中的相关介绍。
第三方面,本申请实施例还提供一种版本管理方法,该方法可以用于服务器,该方法可以包括:生成多个升级包和所述多个升级包的指示信息,所述指示信息用于指示所述多个升级包中的每个升级包所属的分组,所述分组至少包括第一升级包组或所述第二升级包组,其中,所述第一升级包组的重要级高于所述第二升级包组;向终端发送所述多个升级包和所述指示信息。
可见,采用本申请提供的版本管理方法,服务器将多个升级包被划分为至少两个分组,如第一升级包组和第二升级包组,并通过指示信息指示每个升级包所属的分组,以便于该终端以分组为单位,对该多个升级包进行版本管理,有利于提高升级效率。
在一种可能的实现方式中,所述方法还包括:接收来自所述终端的第一版本同步信息,所述第一版本同步信息用于指示当前的整机版本号为所述第三整机版本号;所述第三整机版本号用于指示所述第一升级包组中的升级包均安装成功,但所述第二升级包组中存在安装失败的升级包;基于所述第三整机版本号,向所述终端重新发送所述第二升级包组。
在一种可能的实现方式中,所述方法还包括:接收来自所述终端的第二版本同步信息,所述第二版本同步信息用于指示当前的整机版本号为所述第二整机版本号以及当前的分组版本号为所述第一分组版本号;基于所述当前的整机版本号与所述多个升级包对应的整机版本号不同,但所述当前的分组版本号与所述第一升级包组对应的分组版本号相同,向所述终端重新发送所述第二升级包组。
采用本申请实施例提供的版本管理方法,由于该第二升级包组第一次升级未成功,可能是由于该第二升级包组中的升级包的自身原因(如升级包受损或缺失)导致的,因此,该服务器可以重新向终端发送该第二升级包组,有利于提高升级成功率。此外,该服务器可以只向该终端重新发送该第二升级包组,即不用重新发送该多个升级包中的每个升级包,能够降低传输的数据量,从而提高升级效率。
第三方面中未介绍的内容可以参考第一方面中的相关介绍。
第四方面,本申请实施例还提供一种版本管理装置,用于执行上述第二方面或其任意可能的实现方式中所述的方法。具体地,该版本管理装置可以包括用于执行上述第二方面或其任意可能的实现方式中所述的方法的单元。
可选地,该版本管理装置可以用于服务器。
第五方面,本申请实施例还提供一种版本管理装置,用于执行上述第三方面或其任意可能的实现方式中所述的方法。具体地,该版本管理装置可以包括用于执行上述第三方面或其任意可能的实现方式中所述的方法的单元。
可选地,该版本管理装置可以用于终端。示例的,该终端可以为智能汽车。
第六方面,本申请实施例还提供一种服务器,该装置包括:至少一个处理器和收发器。进一步,该至少一个处理器与该收发器耦合。该至少一个处理器用于执行指令使得该服务器实现上述第二方面或其任意可能的实现方式中所述的方法。
可选地,该服务器还可包括存储器,该存储器、该收发器和该至少一个处理器耦合,该存储器用于存储上述指令。
第七方面,本申请实施例还提供一种终端,该装置包括:至少一个处理器和收发器。进一步,该至少一个处理器与该收发器耦合。该至少一个处理器用于执行指令使得该终端实现上述第三方面或其任意可能的实现方式中所述的方法。
可选地,该终端还可包括存储器,该存储器、该收发器和该至少一个处理器耦合,该存储器用于存储上述指令。
第八方面,本申请还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序包括用于实现上述各方面或其任意可能的实现方式中所述的方法。
第九方面,本申请还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机实现上述各方面或其任意可能的实现方式中所述的方法。
第十方面,本申请还提供一种芯片,包括:输入接口、输出接口和至少一个处理器。可选的,所述芯片装置还包括存储器。该至少一个处理器用于执行该存储器中的代码,当该至少一个处理器执行该代码时,该芯片实现上述各方面或其任意可能的实现方式中所述的方法。
本申请实施例提供的版本管理装置、服务器、终端、计算机存储介质、计算机程序产品、芯片均用于执行上文所提供的版本管理方法,因此,其所能达到的有益效果可参考上文所提供的版本管理方法中的有益效果,此处不再赘述。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行详细描述。
图1示出了本申请实施例提供的版本管理系统100的示意图。如图1所示,该系统100可以包括:服务器110和至少一个终端120,该服务器110和该至少一个终端120之间可以进行通信。
可选地,本申请中所述的服务器110是指能够作为厂商或OEM为终端120提供版本管理服务的装置。示例的,该版本管理服务可以包括管理终端的升级任务以及向终端发布升级任务。示例的,该升级任务可以包括多个升级包的升级等。
可选地,该服务器110可以部署在云端。
可选地,本申请中所述的终端是指支持该服务器110提供的该版本管理服务的装置。
可选地,本申请中所述的终端可以为运输工具或者智能设备。
示例的,该运输工具可以包括机动车辆(如无人车、智能汽车、电动车、数字汽车等)、无人机、轨道车、交通灯等。
示例的,该智能设备可以包括手机、平板电脑、笔记本电脑、个人数字助理、销售终端、车载电脑、增强现实设备、虚拟现实、可穿戴设备、车载终端等。
在一种可能的实现方式中,该服务器110与该终端120之间可以进行无线通信。
示例的,本申请中所述的无线通信可以为通过通信网络实现通信,该通信网络可以是局域网,也可以是通过中继(relay)设备转接的广域网,或者包括局域网和广域网。当该通信网络为局域网时,示例性的,该通信网络可以是wifi热点网络、wifi点到点(pointto point,P2P)网络、蓝牙网络、zigbee网络、近场通信(near field communication,NFC)网或者未来可能的通用短距离通信网络等。当该通信网络为广域网时,该通信网络可以是第三代移动通信技术(3rd-generation wireless telephone technology,3G)网络、第四代移动通信技术(the 4th generation mobile communication technology,4G)网络、第五代移动通信技术(5th-generation mobile communication technology,5G)网络、公共陆地移动网(public land mobile network,PLMN)或因特网(Internet)等,本申请实施例对此不做限定。
可选地,该服务器110与该终端120可以支持通过空中下载(over the air,OTA)技术进行无线通信。
图2示出了本申请实施例提供的终端120的示意性框图,如图2所示,该终端120可以包括主节点121和多个从节点122。其中,从节点122部署主要负责升级对象的版本管理(如升级版本、回退版本和/或更新版本号等),主节点121主要负责管理和协调多个从节点122共同完成升级任务。
示例的,主节点121用于接收来自服务器的升级包;向该从节点122发送该从节点122所负责的升级对象的升级包。从节点122用于安装升级包,并向主节点121发送该升级包的安装结果。主节点121用于基于每个从节点122发送的升级包的安装结果,控制从节点122进行版本管理(如回退版本和/或更新版本号等)。
可选地,本申请实施例对升级对象的具体形态不做限定。示例的,该升级对象可以为电子控制单元(electronic control unit,ECU)或ECU中的软件,其中,一个ECU可以支持安装至少一个软件。
示例的,该多个从节点122可以分别部署在不同的ECU中。该主节点121可以与任一个主节点122部署在同一个ECU中,或者,该主节点121与该多个从节点122可以部署在不同的ECU中,本申请实施例对此不做限定。
上面介绍了本申请提供的版本管理方法所应用的系统100,以及该系统100中的终端120的结构,下面将进一步介绍本申请提供的版本管理方法。
为清楚起见,本申请实施例中仅以终端120为智能汽车为例进行介绍,但应理解,本申请实施例不限于此。
图3示出了本申请实施例提供的版本管理方法300的示意性流程图,该方法300可以应用于如图1所示的系统100。
需要说明的是,该方法300仅示意性以完成一次完整的升级任务(以下称为“本次升级任务”)的过程中的版本管理方法为例进行介绍,但本申请不限于此,其它升级任务中的版本管理方法可以参考该方法300。
S310,服务器生成多个升级包和该多个升级包的指示信息,该指示信息用于指示该多个升级包中的每个升级包所属的分组,该分组至少包括第一升级包组或该第二升级包组,其中,该第一升级包组的重要级高于该第二升级包组。
需要说明的是,本申请实施例中所述的升级任务成功是指该升级任务中包括的该多个升级包均升级成功。
还需要说明的是,本申请实施例中所述的升级包升级成功可以包括该升级包安装成功。可选地,该升级包升级成功还可以包括该升级包激活成功。
可选地,该多个升级包可以被分为至少两个分组,不同分组的重要级不同。
示例的,以该多个升级包被分为两个分组,即第一升级包组和第二升级包组为例,其中,该第一升级包组包括该多个升级包中的至少一个第一升级包,该第二升级包组包括该多个升级包中的至少一个第二升级包,且该至少一个第一升级包的重要级均高于该至少一个第二升级包。
可选地,该服务器可以通过多种分组方式对该多个升级包进行分组,本申请实施例对此不做限定。
在第一种可能的实现方式中,该服务器可以按照与本次升级任务所升级的主要功能的相关性,对升级包进行分组。
示例的,本次升级任务包括升级包1至升级包10,其中,升级包1、升级包3和升级包4与本次升级任务所升级的主要功能强相关(也称为关键升级包或核心升级包),重要级为最重要;升级包6和升级包9与上述关键升级包(或核心升级包)有强依赖关系,重要级为一般重要;剩余的升级包2、升级包5、升级包7、升级包8和升级包10与主要功能的相关系较弱,重要级为不重要。相应地,该服务器可以将重要级为最重要和一般重要的升级包确定为第一升级包组,并将重要级为不重要的升级包确定为第二升级包组;或者,该服务器可以将重要级为最重要的升级包确定为第一升级包组,并将重要级为一般重要和不重要的升级包确定为第二升级包组。
在第二种可能的实现方式中,该服务器还可以按照与本次升级任务所修复的重大安全缺陷的相关性,对升级包进行分组。
示例的,本次升级任务包括升级包1至升级包10,其中,升级包1、升级包3和升级包4与本次升级任务所修复的重大安全缺陷强相关,重要级为重要;升级包2、升级包5、升级包6、升级包7、升级包8、升级包9和升级包10与本次升级任务所修复的重大安全缺陷弱相关,重要级为不重要。相应地,该服务器可以将重要级为重要的升级包确定为第一升级包组,并将重要级为不重要的升级包确定为第二升级包组。
在第三种可能的实现方式中,该服务器还可以按照是否具备准入功能和/或参数修改功能,对升级包进行分组。
示例的,本次升级任务包括升级包1至升级包10,其中,升级包1、升级包3和升级包4具备准入功能和/或参数修改功能,重要级为重要;升级包2、升级包5、升级包6、升级包7、升级包8、升级包9和升级包10不具备准入功能和/或参数修改功能,重要级为不重要。相应地,该服务器可以将重要级为重要的升级包确定为第一升级包组,并将重要级为不重要的升级包确定为第二升级包组。
需要说明的是,本申请实施例中所述的分组方式是指对本次升级任务中的升级包进行分组的方式。可选地,不同升级任务中,对升级包进行分组的分组方式可以相同也可以不同,本申请对此不做限定。示例的,升级任务1中的升级包可以采用第一种分组方式进行分组,升级任务2中的升级包可以采用第二种分组方式进行分组。
可选地,该指示信息可以显示或隐式指示该每个升级包所属的分组,本申请对此不做限定。
在一种可能的实现方式中,该指示信息可以包括该每个升级包的名称,即通过该每个升级包的名称隐式指示该每个升级包所属的分组。
示例的,升级包1的名称为“A1.1”,其中,“.”前面的“A1”用于指示该升级包1为升级对象1的升级包,“.”后面的“1”用于指示该升级包1属于第一升级包组。
示例的,升级包2的名称为“A2.0”,其中,“.”前面的“A2”用于指示该升级包2为升级对象2的升级包,“.”后面的“0”用于指示该升级包2属于第二升级包组。
在另一种可能的实现方式中,该多个升级包可以被打包为第一升级包组和第二升级包组,该指示信息可以包括该第一升级包组和/或该第二升级包组的名称,即通过该第一升级包组的名称和/或该第二升级包组的名称隐式指示该每个升级包所属的分组。
示例的,名称为“C1”的升级包组为第一升级包组,名称为“C2”的升级包组为第二升级包组。
在又一种可能的实现方式中,该指示信息可以显式指示该每个升级包的分组,也就是说,该指示信息可以包括该第一升级包组中的每个升级包的标识和/或该第二升级包组中的每个升级包的标识。
示例的,该指示信息可以包括表一和/或表二。
表一
通过表一可以指示该第二升级包组包括升级包2(即A2)、升级包5(即A5)、升级包7(即A7)、升级包8(即A8)和升级包10(即A10)。相应地,升级包1(即A1)、升级包3(即A3)、升级包4(即A4)、升级包6(即A6)和升级包9(即A9)就属于第一升级包组。
表二
通过表二可以指示该第一升级包组包括升级包1(即A1)、升级包3(即A3)、升级包4(即A4)、升级包6(即A6)和升级包9(即A9)。相应地,升级包2(即A2)、升级包5(即A5)、升级包7(即A7)、升级包8(即A8)和升级包10(即A10)就属于第二升级包组。
S320,该服务器向智能汽车发送该多个升级包和该指示信息;相应地,该智能汽车接收来自该服务器的该多个升级包和该指示信息。
可选地,该服务器可以通过多种方式向该智能汽车发送该多个升级包和该指示信息,本申请实施例对此不做限定。
在一种可能的实现方式中,该服务器可以分别向该终端发送该多个升级包和该指示信息。
可选地,本申请实施例对该多个升级包和该指示信息的发送顺序不做限定。
在另一种可能的实现方式中,该服务器可以向该终端发送本次升级任务,该本次升级任务中包括该多个升级包和该指示信息。示例的,该本次升级任务可以为该多个升级包和该指示信息经过打包后得到的。
可选地,本申请对该智能汽车获取该多个升级包和该指示信息的方式不做限定。
在一种可能的实现方式中,在本次升级任务的执行过程中,该智能汽车和该服务器可以在首次获取该多个升级包和该指示信息的时候执行S310和S320。示例的,该智能汽车在首次获取到该多个升级包和该指示信息之后,可以将该多个升级包和该指示信息保存在存储区,后续需要的时候直接从存储区获取,即无需再次从服务器获取。
在另一种可能的实现方式中,该智能汽车还可以接收来自其他设备的该多个升级包和该指示信息。示例的,该其他设备可以为其它终端(如其它智能汽车)或其他存储有该多个升级包和该指示信息的设备。
在又一种可能的实现方式中,该多个升级包和该指示信息可以为预先存储或预先配置在该智能汽车的存储区中,也就是说,该智能汽车可以从存储区中获取该多个升级包和该指示信息。
上面仅以该智能汽车通过同一种获取方式获取该多个升级包和该指示信息为例进行介绍,但本申请实施例不限于此。可选地,该智能汽车可以通过不同的获取方式分别获取该多个升级包和该指示信息,本申请实施例对此不做限定。
示例的,该智能汽车可以接收来自服务器的该多个升级包,并从存储区中获取预先存储的该指示信息。
示例的,该智能汽车可以接收来自其它智能汽车的该多个升级包,并接收来自服务器的该指示信息。
在一种可能的实现方式中,以该智能汽车如图2所示为例,该服务器可以向该智能汽车中的主节点发送该多个升级包和该指示信息,相应地,该主节点接收来自该服务器的该多个升级包和该指示信息。
S330,该智能汽车获取该多个升级包的安装结果,该安装结果包括安装成功或安装失败。
可选地,S330可以包括:该智能汽车安装该多个升级包,得到该多个升级包中的安装结果。
示例的,以该智能汽车如图2所示为例,该智能汽车的主节点可以向该每个升级包对应的从节点发送该每个升级包;相应地,该每个升级包对应的从节点安装该每个升级包,得到该每个升级包的安装结果;向该主节点发送该每个升级包的安装结果。
S340,该智能汽车基于该多个升级包的安装结果和该指示信息,对该多个升级包对应的升级对象进行版本管理。
可选地,在S340之前,该服务器还可以向该终端发送该多个升级包的版本信息,该版本信息包括第一版本信息和/或第二版本信息,其中,该第一版本信息用于指示所述多个升级包对应的整机版本号为第一整机版本号,所述第二版本信息用于指示所述第一升级包组对应的分组版本号为第一分组版本号。相应地,该智能汽车接收来自该服务器的该版本信息。
可选地,该服务器可以分别发送该版本信息、该指示信息和该多个升级包;或者,该服务器可以分别发送上述本次升级任务(包括该多个升级包和该版本信息)和该版本信息;或者,该服务器可以发布本次升级任务,该本次升级任务中包括该版本信息、该指示信息和该多个升级包,本申请实施例对此不做限定。
可选地,该第一版本信息可以包括该第一整机版本号。类似地,该第二版本信息可以包括该第一分组版本号。
下面将结合该多个升级包的安装结果对应的3种不同的情况(包括以下情况1、请况2和情况3),分别介绍在不同的情况下,S340中,该智能汽车如何对该多个升级包对应的升级对象进行版本管理。
情况1:该多个升级包中的每个升级包均安装成功。
在一种可能的实现方式中,若该多个升级包中的每个升级包均安装成功,该智能汽车确定本次升级任务完成。
可选地,若该版本信息仅包括第一版本信息,该智能汽车可以将该智能汽车当前的整机版本号更新为该第一整机版本号。
示例的,以该智能汽车如图2所示为例,该主节点将当前的整机版本号更新为该第一整机版本号。
示例的,在S340之前,该智能汽车当前的版本信息如表三所示,该多个升级包对应的版本信息如表四所示。在S340之后,该智能汽车更新后的版本信息如表五所示。
需要说明的是,本申请中所述的第二整机版本号为第一整机版本号的前一个整机版本号,即该第二整机版本号为执行本次升级任务之前的整机版本号。
表三
表四
表五
可选地,若该版本信息包括第一版本信息和第二版本信息,该智能汽车可以将该智能汽车当前的整机版本号更新为该第一整机版本号,并将当前的分组版本号更新为该第一分组版本号。
示例的,以该智能汽车如图2所示为例,该主节点将该智能汽车当前的整机版本号更新为该第一整机版本号,并将当前的分组版本号更新为该第一分组版本号。
示例的,在S340之前,该智能汽车当前的版本信息如表六所示,该多个升级包对应的版本信息如表七所示。在S340之后,该智能汽车更新后的版本信息如表八所示。
需要说明的是,本申请中所述的第二分组版本号为第一分组版本号的前一个分组版本号,即该第二分组版本号为执行本次升级任务之前的分组版本号。
表六
表七
表八
综上所示,在上述情况1下,本次升级任务成功。
情况2:安装失败的升级包部分或全部属于该第一升级包组。
在一种可能的实现方式中,该智能汽车基于该多个升级包的安装结果和该指示信息,确定安装失败的升级包部分或全部属于该第一升级包组;该智能汽车回退该多个升级包中的每个升级包对应的升级对象的版本。
也就是说,只要该第一升级包组中有安装失败的升级包,不管该第二升级包组中是否有安装失败的升级包,该智能汽车都会回退该多个升级包中的每个升级包对应的升级对象的版本。
示例的,以该智能汽车如图2所示为例,该主节点基于该多个升级包的安装结果和该指示信息,确定安装失败的升级包部分或全部属于该第一升级包组;向该多个升级包对应的从节点发送第一回退指示信息,该第一回退指示信息用于指示回退该多个升级包对应的升级对象的版本。相应地,该多个升级包对应的从节点基于该第一回退指示信息,回退该多个升级包中的每个升级包对应的升级对象的版本。
可选地,该智能汽车维持该智能汽车当前的版本信息不变。
示例的,在S340之前,该智能汽车当前的版本信息如表三所示,该多个升级包对应的版本信息如表四所示。在S340之后,该智能汽车更新后的版本信息依然如表三所示。
示例的,在S340之前,该智能汽车当前的版本信息如表六所示,该多个升级包对应的版本信息如表七所示。在S340之后,该智能汽车更新后的版本信息依然如表六所示。
综上所述,在情况2下,本次升级任务失败,后续需要重新执行上述步骤310~340,以完成本次升级任务。
情况3:安装失败的升级包均属于该第二升级包组。
在一种可能的实现方式中,该智能汽车基于该多个升级包的安装结果和该指示信息,确定安装失败的升级包均属于该第二升级包组;该智能汽车仅回退该第二升级包组中的每个升级包对应的升级对象的版本。
也就是说,只要安装失败的升级包不属于该第一升级包组,该智能汽车仅需要回退该第二升级包中的每个升级包对应的升级对象的版本。
示例的,以该智能汽车如图2所示为例,该主节点基于该多个升级包的安装结果和该指示信息,确定安装失败的升级包均属于该第二升级包组;向该第二升级包组对应的从节点发送第二回退指示信息,该第二回退指示信息用于指示回退该第二升级包组对应的升级对象的版本。相应地,该第二升级包组对应的从节点基于该第二回退指示信息,回退该第二升级包组中的每个升级包对应的升级对象的版本。
可选地,若该版本信息仅包括第一版本信息,该智能汽车可以将该智能汽车当前的整机版本号更新为第三整机版本号,该第三整机版本号用于指示该第一升级包组中的升级包均安装成功,但该第二升级包组中存在安装失败的升级包。
示例的,以该智能汽车如图2所示为例,该主节点可以将该智能汽车当前的整机版本号更新为第三整机版本号。
示例的,在S340之前,该智能汽车当前的版本信息如表三所示,该多个升级包对应的版本信息如表四所示。在S340之后,该智能汽车更新后的版本信息如表九所示。
表九
可选地,若该版本信息包括第一版本信息和第二版本信息,该智能汽车可以将当前的分组版本号更新为该第一分组版本号,并维持当前的整机版本号不变。
示例的,以该智能汽车如图2所示为例,该主节点可以将当前的分组版本号更新为该第一分组版本号,并维持当前的整机版本号不变。
示例的,在S340之前,该智能汽车当前的版本信息如表六所示,该多个升级包对应的版本信息如表七所示。在S340之后,该智能汽车更新后的版本信息如表十所示。
表十
综上所述,在情况3下,本次升级任务部分成功,即第一升级包组升级成功,但是第二升级包组升级失败。
可见,采用本申请提供的版本管理方法,服务器将多个升级包划分为至少两个分组,如第一升级包组和第二升级包组,并通过指示信息指示每个升级包所属的分组。相应地,智能汽车基于该多个升级包的安装结果和该指示信息,确定安装失败的升级包不属于该第一升级包组(即第一升级包组中的升级包均安装成功),在这种情况下,该智能汽车可以仅回退第二升级包组中的升级包对应的升级对象的版本,而无需回退该第一升级包组中的升级包对应的升级对象的版本。因此,能够保证安装成功的第一升级包组中的升级包对应的升级对象正常使用更新后的版本。
此外,在本次升级任务的后续过程中,智能汽车无需重新安装第一升级包组中的升级包,仅需要重新安装第二升级包组中的升级包即可,这样能够提高升级效率。
可选地,在情况3下,上述S340之后还可以进一步包括以下S341和S342(图中均未示出)。
S341,该智能汽车重新安装该第二升级包组中的每个升级包,得到该第二升级包组中的每个升级包的安装结果。
可选地,在S341之前,该智能汽车可以获取该第二升级包组。
示例的,以该智能汽车如图2所示为例,该主节点可以重新获取该第二升级包组。相应地,S341可以包括:该主节点可以向该第二升级包组对应的从节点发送该第二升级包组中的每个升级包;相应地,该第二升级包组对应的从节点安装该第二升级包组中的每个升级包,得到该第二升级包组中的每个升级包的安装结果;向该主节点发送该第二升级包组中的每个升级包的安装结果。
可选地,该本申请实施例对该第二升级包组的获取方式不做限定。
在一种可能的实现方式中,该智能汽车可以从存储区中获取该第二升级包组,即从S310和S320之后保存在存储区中的该多个升级包中获取该第二升级包组。
在另一种可能的实现方式中,该智能汽车可以重新获取该第二升级包组。
示例的,该智能汽车可以向该服务器发送该多个升级包的第一版本同步信息,该第一版本同步信息用于指示当前的整机版本号为该第三整机版本号;相应地,该服务器接收来自该智能汽车的该第一版本同步信息;基于该第三整机版本号,向该智能汽车重新发送该第二升级包组。相应地,该智能汽车接收该服务器重新发送的该第二升级包组。
示例的,该智能汽车可以向该服务器发送该多个升级包的第二版本同步信息,该第二版本同步信息用于指示当前的整机版本号为该第二整机版本号以及当前的分组版本号为该第一分组版本号;相应地,该服务器接收来自该智能汽车的该第二版本同步信息;基于该当前的整机版本号(即第二整机版本号)与该多个升级包对应的整机版本号(即第一整机版本号)不同,但该当前的分组版本号(即第一分组版本号)与该第一升级包组对应的分组版本号(即第一分组版本号)相同,向该智能汽车重新发送该第二升级包组。相应地,该智能汽车接收该服务器重新发送的该第二升级包组。
采用本申请实施例提供的版本管理方法,由于该第二升级包组第一次升级未成功,可能是由于该第二升级包组中的升级包的自身原因(如升级包受损或缺失)导致的,因此,该服务器重新向该智能汽车发送该第二升级包组,有利于提高升级成功率。此外,该服务器只向该智能汽车重新发送该第二升级包组,即不用重新发送该多个升级包中的每个升级包,能够降低传输的数据量,从而提高升级效率。
可选地,该服务器也可以基于该第一版本同步信息或该第二版本同步信息,向该智能汽车重新发送该多个升级包。相应地,该智能汽车基于该指示信息,从多个升级包中获取该第二升级包组。
示例的,以该智能汽车如图2所示为例,该主节点可以向该服务器发送上述第一版本同步信息或第二版本同步信息;类似地,该主节点接收该服务器重新发送的该第二升级包组。
S342,若该第二升级包组中的每个升级包均安装成功,该智能汽车将当前的整机版本号更新为该第一整机版本号。
示例的,以该智能汽车如图2所示为例,若该第二升级包组中的每个升级包均安装成功,该主节点将当前的整机版本号更新为该第一整机版本号。
示例的,在S342之后,表九中所示的更新后的版本信息,被再次更新为如表十一所示的版本信息。
表十一
示例的,在S342之后,表十中所示的更新后的版本信息,被再次更新为如表十二所示的版本信息。
表十二
综上所述,经过上述S341和S342可以进一步完成第二升级包组的升级,以实现本次升级任务成功。
上面结合图3介绍了本申请实施例提供版本管理方法,下面将结合图4至图6介绍用于执行上述版本管理方法的版本管理装置。
需要说明的是,版本管理装置可以为上述各方法实施例中所述的服务器,能够执行上述各方法实施例中由服务器所实现的方法;或者,版本管理装置可以为上述各方法实施例中所述的终端(如智能汽车),能够执行上述各方法实施例中由终端(如智能汽车)所实现的方法。
可以理解的是,服务器或终端为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本实施例可以根据上述方法示例对服务器或终端进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块可以采用硬件的形式实现。需要说明的是,本实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图4示出了上述实施例中涉及的终端或服务器的一种可能的组成示意图,如图4所示,该装置400可以包括:收发单元410和处理单元420。
其中,处理单元420可以控制收发单元410实现上述方法200实施例中由终端或服务器执行的方法,和/或用于本文所描述的技术的其他过程。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在采用集成的单元的情况下,装置400可以包括处理单元、存储单元和通信单元。其中,处理单元可以用于对装置400的动作进行控制管理,例如,可以用于支持装置400执行上述各个单元执行的步骤。存储单元可以用于支持装置400执行存储程序代码和数据等。通信单元可以用于支持装置400与其他设备的通信。
其中,处理单元可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理(digital signal processing,DSP)和微处理器的组合等等。存储单元可以是存储器。通信单元具体可以为射频电路、蓝牙芯片、Wi-Fi芯片等与其他电子设备交互的设备。
在一种可能的实现方式中,本申请实施例所涉及的终端或服务器可以为具有图5所示结构的装置500,该装置500可以是终端的结构示意图,也可以是服务器的结构示意图,该装置500包括处理器510和收发器520,该处理器510和收发器520通过内部连接通路互相通信。图4中的处理单元420所实现的相关功能可以由处理器510来实现,收发单元410所实现的相关功能可以由处理器510控制收发器520来实现。
可选地,该装置500还可以包括存储器530,该处理器510、该收发器520和该存储器530通过内部连接通路互相通信。图4中所述的存储单元所实现的相关功能可以由存储器530来实现。
本申请实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的版本管理方法。
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的版本管理方法。
另外,本申请实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的版本管理方法。
图6示出了一种芯片600的结构示意图。芯片600包括一个或多个处理器610以及接口电路620。可选的,所述芯片600还可以包含总线630。其中:
处理器610可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器610中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器610可以是通用处理器、数字信号处理(digital signal processing,DSP)器、集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
接口电路620可以用于数据、指令或者信息的发送或者接收,处理器610可以利用接口电路620接收的数据、指令或者其它信息,进行加工,可以将加工完成信息通过接口电路620发送出去。
可选的,芯片还包括存储器,存储器可以包括只读存储器和随机存取存储器,并向处理器提供操作指令和数据。存储器的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,NVRAM)。
可选的,存储器存储了可执行软件模块或者数据结构,处理器可以通过调用存储器存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。
可选的,芯片可以使用在本申请实施例涉及的版本管理装置或接入版本管理装置中。可选的,接口电路620可用于输出处理器610的执行结果。关于本申请的一个或多个实施例提供的版本管理方法可参考前述各个实施例,这里不再赘述。
需要说明的,处理器610、接口电路620各自对应的功能既可以通过硬件设计实现,也可以通过软件设计来实现,还可以通过软硬件结合的方式来实现,这里不作限制。
本申请实施例还提供一种终端,该终端包含上述图4中所述的装置400、图5中所述的装置500或图6中所述的芯片600。
本申请实施例还提供一种服务器,该服务器包含上述图4中所述的装置400、图5中所述的装置500或图6中所述的芯片600。
需要说明的是,本实施例提供的版本管理装置、计算机存储介质、计算机程序产品、芯片、终端或服务器均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。