一种通过空中下载OTA技术获取文件的方法及相关设备与流程

文档序号:26012796发布日期:2021-07-23 21:33阅读:175来源:国知局
一种通过空中下载OTA技术获取文件的方法及相关设备与流程

本申请涉及车载技术领域,尤其涉及一种通过空中下载ota技术获取文件的方法及相关设备。



背景技术:

在相关技术中,当车辆需要实现某个业务功能时,需要车辆从外部的专用的文件服务器处获得该业务功能对应的文件,且由于车辆内部包括多个部件,而且每个部件均可以安装多个软件,每个软件又可以实现不同的业务功能,导致文件服务器在管理车辆的不同的业务功能对应的文件时复杂度高、效率低。

举例来说,使用许可license文件(一种用于软件保护的文件)可以用于实现车辆某个业务功能的开通,服务器向用户提供目标文件,由目标文件控制软件的运行,从而控制软件在授权的范围内使用,以使得车辆实现某个个性化的功能。其中,整个车辆的目标文件的生成、下发和管理是由专门的license服务器完成,且由于车辆复杂的内部结构以及丰富的业务功能模块和各异的资源权限导致整个车辆的license文件管理是一个很复杂的工程。



技术实现要素:

本申请实施例提供一种基于空中下载ota技术获取文件的方法及相关设备,可以实现基于ota技术实现文件的获取,简化车辆功能关联文件的管理。

第一方面,本申请实施例提供了一种基于空中下载ota技术获取文件的方法,所述方法包括:

第一车辆获取目标请求,所述目标请求包括目标业务信息,所述目标业务信息用于获取目标功能关联的目标文件;

所述第一车辆向服务器发送所述目标请求;

所述第一车辆接收所述目标请求请求获取的所述目标文件,所述目标文件用于指示所述第一车辆实现所述目标功能。

在相关技术中,当车辆需要实现某个业务功能时,需要车辆从外部专用的文件服务器处获得该业务功能对应的文件,且由于车辆内部包括多个部件,而且每个部件均可以安装多个软件,每个软件又可以实现不同的业务功能,导致文件服务器在管理车辆的不同的业务功能对应的文件时复杂度高、效率低。本申请实施例中,基于相关ota技术中,车辆在进行固件/软件的ota远程升级过程中,服务器和车辆(包括主车载控制单元和一个或多个从车载单元)之间搭建远程升级通道,主车载控制单元管理各个从车载控制单元的硬件信息和各个从车载控制单元上安装的至少一个软件对应的软件版本信息,并对各个从车载控制单元上软件的升级包进行分发等的相关特性,当车辆在接收到包括目标业务信息的目标请求后,通过复用上述服务器和车辆之间的ota远程升级通道向服务器发起相关请求并通过ota技术接收服务器发送的目标功能关联的目标文件,进而基于目标文件实现目标功能,从而实现了基于ota技术的业务关联文件的获取。综上,本申请中通过复用服务器和车辆之间的ota远程升级通道,避免需要新建文件管理通道且需要由专门的文件服务器完成整个车辆的功能关联文件的生成、下发和管理,而导致的功能关联文件管理复杂。同时,用户可以根据个人的需求为车辆购买相应的业务,满足用户的个性化需求,降低购买成本,提升用户体验。

在一种可能的实现方式中,所述第一车辆向服务器发送所述目标请求,包括:所述第一车辆通过ota技术向服务器发送所述目标请求。

在一种可能的实现方式中,所述第一车辆接收所述目标请求请求获取的所述目标文件,包括:所述第一车辆通过ota技术接收所述目标请求请求获取的所述目标文件。

在一种可能的实现方式中,所述方法还包括:所述第一车辆对所述目标文件进行签名验证;在所述目标文件签名验证成功的情况下,所述第一车辆根据所述目标文件实现所述目标功能。

本申请实施例中的第一车辆可包括主车载控制单元和一个或多个从车载控制单元,所述目标功能为所述一个或多个从车载控制单元中的目标从车载控制单元实现的功能,具体地,所述主车载控制单元可以对所述目标文件进行签名验证;在所述目标文件签名验证成功的情况下,所述主车载控制单元所述将所述目标文件发送至所述目标从车载控制单元。本申请实施例中的第一车辆通过在验证了从车辆外部获取的经过签名的目标文件之后,再在第一车辆内部根据所述目标文件实现所述目标功能,以保证第一车辆目标功能实现的安全性。

在一种可能的实现方式中,所述方法还包括:所述第一车辆校验所述目标文件的合法性;在所述目标文件的合法性校验成功的情况下,所述第一车辆根据所述目标文件实现所述目标功能。

本申请实施例中的第一车辆可通过主车载控制单元或目标从车载控制单元校验所述目标文件的合法性,通过在验证了从车辆外部获取的目标文件的合法性之后,再根据所述目标文件实现所述目标功能,以避免所接收到目标文件不是目标功能对应的目标文件而导致的目标功能无法实现的情况的出现,保证第一车辆目标功能实现的高效性和安全性。

在一种可能的实现方式中,所述目标请求还包括所述第一车辆的硬件信息;所述目标文件中包括根据所述硬件信息生成的设备特征码;所述第一车辆校验所述目标文件的合法性,包括:所述第一车辆判断所述硬件信息和所述设备特征码是否匹配;在所述硬件信息和所述设备特征码匹配的情况下,判定所述目标文件为合法文件。

所述目标请求包括的第一车辆的硬件信息可以是第一车辆中目标从车载控制单元的硬件信息;所述目标文件中包括根据从车载控制单元的硬件信息生成的设备特征码;第一车辆通过判断所述目标从车载控制单元的硬件信息和所述设备特征码是否匹配判断所述目标文件是否合法。本申请实施例中的第一车辆通过在验证了从车辆外部获取的目标文件的合法性之后,再根据所述目标文件实现所述目标功能,以避免所接收到目标文件不是目标功能对应的目标文件而导致的目标功能无法实现的情况的出现,保证第一车辆目标功能实现的高效性和安全性。

在一种可能的实现方式中,所述方法还包括:所述第一车辆根据所述目标业务信息和所述第一车辆对应的至少一个软件版本信息,检测所述第一车辆是否安装所述目标功能对应的软件。

本申请实施例中,第一车辆对应的至少一个软件版本信息可以是目标从车载控制单元上安装的至少一个软件对应的至少一个软件版本信息。所述第一车辆可通过主车载控制单元在获取目标业务信息后,基于目标从车载控制单元上安装的至少一个软件对应的至少一个软件版本信息以及目标业务信息,判断所述目标从车载控制单元是否安装所述目标功能对应的软件,从而进一步保证目标功能的顺利实现。

在一种可能的实现方式中,所述方法还包括:在所述第一车辆未安装所述目标功能对应的软件的情况下,所述第一车辆向所述服务器发送所述目标功能对应的软件的安装包获取请求。

本申请实施例中,在所述第一车辆未安装所述目标功能对应的软件的情况下,所述第一车辆可通过主车载控制单元向所述服务器发送所述目标功能对应的软件的安装包获取请求,从而进一步保证车辆在安装目标功能对应的软件后顺利实现该目标功能。

在一种可能的实现方式中,所述方法还包括:

所述第一车辆接收所述服务器根据所述安装包获取请求发送的安装包,并对所述安装包进行签名验证;在所述安装包签名验证成功的情况下,所述第一车辆根据所述安装包安装所述目标功能对应的软件,并基于所述软件和所述目标文件实现所述目标功能。

本申请实施例中,所述第一车辆可以通过主车载控制单元接收所述服务器根据所述安装包获取请求发送的安装包,并对所述安装包进行签名验证;若签名验证成功,所述主车载控制单元将所述安装包发送至所述目标从车载控制单元;所述目标从车载控制单元根据所述安装包安装所述目标功能的对应的软件,并基于所述软件和所述目标文件实现所述目标功能。本申请实施例中,目标从车载控制单元在安装了目标功能的对应的软件后,再基于该软件实现所述目标功能,进而保证目标功能的顺利实现。

在一种可能的实现方式中,所述目标请求还包括所述第一车辆对应的至少一个软件版本信息,所述方法还包括:所述第一车辆接收所述服务器发送的所述目标功能对应的软件的安装包,并对所述安装包进行签名验证,所述安装包是所述服务器根据所述目标业务信息和所述软件版本信息检测到所述第一车辆未安装所述目标功能对应的软件时发送的;在所述安装包签名验证成功的情况下,所述第一车辆根据所述安装包安装所述目标功能对应的软件,并基于所述软件和所述目标文件实现所述目标功能。

本申请实施例中,在所述目标请求还包括所述第一车辆对应的至少一个软件版本信息的情况下,所述目标请求还用于指示所述服务器根据所述至少一个软件版本信息和所述目标业务信息检测所述车辆的目标从车载控制单元是否安装所述目标功能对应的软件;在检测到所述第一车辆未安装所述目标功能对应的软件的情况下,向车辆发送目标功能对应的软件的安装包,所述第一车辆根据所述安装包安装所述目标功能对应的软件,并基于目标功能对应的软件和所述目标文件实现所述目标功能,进而保证目标功能的顺利实现。基于ota技术实现对目标文件的下发,复用服务器和第一车辆之间的固件/软件的远程升级通道,避免需要新建文件管理通道而导致文件管理复杂。

在一种可能的实现方式中,所述第一车辆包括主车载控制单元和一个或多个从车载控制单元,所述目标功能为所述一个或多个从车载控制单元中的目标从车载控制单元实现的功能;所述第一车辆接收所述目标请求请求获取的所述目标文件,包括:所述主车载控制单元接收所述目标请求请求获取的所述目标文件;所述主车载控制单元将所述目标文件发送至所述目标从车载控制单元,所述目标文件用于指示所述目标从车载控制单元根据所述目标文件实现所述目标功能。

本申请实施例中,基于相关ota技术中,车辆在进行固件/软件的ota远程升级过程中,服务器和车辆(包括主车载控制单元和一个或多个从车载单元)之间搭建远程升级通道,主车载控制单元管理各个从车载控制单元的硬件信息和各个从车载控制单元上安装的至少一个软件对应的软件版本信息,并对各个从车载控制单元上软件的升级包进行分发等的相关特性,当车辆在接收到包括目标业务信息的目标请求后,通过复用上述服务器和车辆之间的ota远程升级通道向服务器发起相关请求并通过ota技术接收服务器发送的目标功能关联的目标文件,主车载控制单元在接收到服务器发送的目标文件后,基于内部管理的各个从车载控制单元的硬件信息和各个从车载控制单元上安装的至少一个软件对应的软件版本信息对目标文件进行分发,以使得目标从车载控制单元基于目标文件实现目标功能,从而实现了基于ota技术的业务关联文件的获取。综上,本申请中通过复用服务器和车辆之间的ota远程升级通道,避免需要新建文件管理通道且需要由专门的文件服务器完成整个车辆的功能关联文件的生成、下发和管理,而导致的功能关联文件管理复杂。同时,用户可以根据个人的需求为车辆购买相应的业务,满足用户的个性化需求,降低购买成本,提升用户体验。

在一种可能的实现方式中,所述第一车辆还包括人机交互接口(humanmachineinterface,hmi),所述第一车辆获取目标请求,包括:所述第一车辆通过所述hmi获取所述目标请求。

本申请实施例中,用户可以通过hmi订阅目标功能,方便用户操作。

在一种可能的实现方式中,所述方法还包括:所述第一车辆将所述目标功能的状态发送至所述服务器,所述目标功能的状态包括所述目标功能是否实现和/或所述目标功能的有效期。

本申请实施例中,目标从车载控制单元可以定期地将所述目标功能的状态发送至所述主车载控制单元,所述主车载控制单元将所述目标功能的状态发送至所述服务器以方便用服务器管理对下发给第一车辆的目标文件进行管理。同时,主车载控制单元会将所述目标功能的状态显示给用户,以方便用户通过hmi知晓该目标功能的使用情况以及该目标功能的有效期等。

在一种可能的实现方式中,所述目标请求还包括所述目标功能的有效期、所述第一车辆的硬件信息和所述第一车辆对应的至少一个软件版本信息中的一个或多个;所述目标文件是所述服务器根据所述目标业务信息、所述目标功能的有效期、所述硬件信息和所述至少一个软件版本信息中的一个或多个生成的。

本申请实施例中,可以避免服务器下发的目标文件不是针对目标从控制单元或目标功能对应的软件的当前版本信息的,从而避免目标功能无法实现这一现象的出现。服务器在接收到目标请求后,基于该目标请求中第一车辆的硬件信息(即目标从车载控制单元的硬件信息)和第一车辆对应的至少一个软件版本信息(即目标从车载控制单元安装的至少一个软件对应的至少一个软件版本信息)生成与所述目标功能、硬件信息以及所述目标功能对应的软件均匹配的目标文件,从而目标功能实现的高效性和针对性。

本申请实施例中,所述目标文件包括所述目标功能的使用许可license文件。

本申请实施例中,服务器向用户提供license文件,由license文件控制软件的运行,从而控制软件在授权的范围内使用,以使得车辆实现某个个性化的功能。

第二方面,本申请实施例提供了一种基于空中下载ota技术获取文件的方法,所述方法包括:

服务器接收第一车辆的发送的目标请求,所述目标请求包括目标业务信息,所述目标业务信息用于获取目标功能关联的目标文件;

所述服务器根据所述目标请求生成对应的所述目标文件;

所述服务器将所述目标文件发送至所述第一车辆,所述目标文件用于指示所述第一车辆实现所述目标功能。

在相关技术中,当车辆需要实现某个业务功能时,需要车辆从外部专用的文件服务器处获得该业务功能对应的文件,且由于车辆内部包括多个部件,而且每个部件均可以安装多个软件,每个软件又可以实现不同的业务功能,导致文件服务器在管理车辆的不同的业务功能对应的文件时复杂度高、效率低。本申请实施例中,基于相关ota技术中,车辆在进行固件/软件的ota远程升级过程中,服务器和车辆(包括主车载控制单元和一个或多个从车载单元)之间搭建远程升级通道,主车载控制单元管理各个从车载控制单元的硬件信息和各个从车载控制单元上安装的至少一个软件对应的软件版本信息,并对各个从车载控制单元上软件的升级包进行分发等的相关特性,当车辆在接收到包括目标业务信息的目标请求后,通过复用上述服务器和车辆之间的ota远程升级通道向服务器发起相关请求,服务器通过ota技术向第一车辆发送目标功能关联的目标文件,第一车辆基于目标文件实现目标功能,从而实现了基于ota技术的业务关联文件的获取。综上,本申请中通过复用服务器和车辆之间的ota远程升级通道,避免需要新建文件管理通道且需要由专门的文件服务器完成整个车辆的功能关联文件的生成、下发和管理,而导致的功能关联文件管理复杂。同时,用户可以根据个人的需求为车辆购买相应的业务,满足用户的个性化需求,降低购买成本,提升用户体验。

在一种可能的实现方式中,所述服务器接收第一车辆的发送的目标请求,包括:所述服务器通过ota技术接收所述第一车辆的发送的目标请求。

在一种可能的实现方式中,所述服务器将所述目标文件发送至所述第一车辆包括:所述服务器通过ota技术将所述目标文件发送至所述第一车辆。

在一种可能的实现方式中,所述方法还包括:所述服务器对所述目标文件进行签名。

在一种可能的实现方式中,所述目标请求还包括所述第一车辆对应的至少一个软件版本信息;所述方法还包括:所述服务器根据所述至少一个软件版本信息和所述目标业务信息检测所述第一车辆是否安装所述目标功能对应的软件;在所述第一车辆未安装所述目标功能对应的软件的情况下,所述服务器向所述第一车辆发送所述目标功能对应的软件的安装包,所述安装包用于所述第一车辆根据所述安装包安装所述目标功能对应的软件。

在一种可能的实现方式中,所述目标请求还包括所述目标功能的有效期、所述第一车辆的硬件信息和所述第一车辆对应的至少一个软件版本信息中的一个或多个。

在一种可能的实现方式中,所述服务器根据所述目标请求生成对应的目标文件包括:

所述服务器根据所述第一车辆的硬件信息生成设备特征码;所述服务器根据所述第一车辆对应的至少一个软件版本信息生成资源控制项和功能控制项;所述服务器根据所述目标业务信息、所述目标功能的有效期、所述设备特征码、资源控制项和功能控制项生成所述目标文件。

本申请实施例中,可以防止服务器下发的目标文件不是针对第一车辆或目标功能对应的软件的当前版本信息的目标文件,从而避免目标功能无法实现这一现象的出现。服务器在接收到目标请求后,基于该目标请求中第一车辆的硬件信息(即目标从车载控制单元的硬件信息)和第一车辆对应的至少一个软件版本信息(即目标从车载控制单元安装的至少一个软件对应的至少一个软件版本信息)生成与所述目标功能、硬件信息以及对所述目标功能对应的安装在目标控制单元上的软件均匹配的目标文件,从而保证目标功能实现的高效性和针对性。

在一种可能的实现方式中,所述方法还包括:所述服务器接收所述第一车辆发送的所述目标功能的状态,所述目标功能的状态包括所述目标功能是否开通和/或所述目标功能的有效期。

在一种可能的实现方式中,所述目标文件包括所述目标功能的使用许可license文件。

第三方面,本申请实施例提供了一种基于空中下载ota技术获取文件的方法,应用于第一车辆,所述第一车辆包括主车载控制单元和一个或多个从车载控制单元,所述方法包括:

所述主车载控制单元获取目标请求,所述目标请求包括目标业务信息,所述目标业务信息用于获取目标功能关联的目标文件,所述目标功能为所述一个或多个从车载控制单元中的目标从车载控制单元实现的功能;

所述主车载控制单元向服务器发送所述目标请求;

所述主车载控制单元接收所述目标请求请求获取的所述目标文件;

所述主车载控制单元将所述目标文件发送至所述目标从车载控制单元,所述目标文件用于指示所述目标从车载控制单元根据所述目标文件实现所述目标功能。

在一种可能的实现方式中,所述方法还包括:

所述主车载控制单元对所述目标文件进行签名验证;

在所述目标文件签名验证成功的情况下,所述主车载控制单元执行所述将所述目标文件发送至所述目标从车载控制单元的操作。

在一种可能的实现方式中,所述方法还包括:

所述目标从车载控制单元校验所述目标文件的合法性;

在所述目标文件的合法性校验成功的情况下,所述目标从车载控制单元根据所述目标文件实现所述目标功能。

在一种可能的实现方式中,所述目标请求还包括所述目标从车载控制单元的硬件信息;所述目标文件中包括根据所述硬件信息生成的设备特征码;所述目标从车载控制单元校验所述目标文件的合法性,包括:

所述目标从车载控制单元判断所述硬件信息和所述设备特征码是否匹配;在所述硬件信息和所述设备特征码匹配的情况下,判定所述目标文件为合法文件。

在一种可能的实现方式中,所述方法还包括:

所述主车载控制单元根据所述目标业务信息和所述第一车辆中目标从车载控制单元安装的至少一个软件对应的至少一个软件版本信息,检测所述目标从车载控制单元是否安装所述目标功能对应的软件。

在一种可能的实现方式中,所述方法还包括:

在所述目标从车载控制单元未安装所述目标功能对应的软件的情况下,所述主车载控制单元向所述服务器发送所述目标功能对应的软件的安装包获取请求。

在一种可能的实现方式中,所述方法还包括:

所述主车载控制单元接收所述服务器根据所述安装包获取请求发送的安装包,并对所述安装包进行签名验证;在所述安装包签名验证成功的情况下,所述主车载控制单元将所述安装包发送至所述目标从车载控制单元;所述目标从车载控制单元根据所述安装包安装所述目标功能对应的软件,并基于所述软件和所述目标文件实现所述目标功能。

在一种可能的实现方式中,所述目标请求还包括所述第一车辆对应的至少一个软件版本信息,所述方法还包括:

所述主车载控制单元接收所述服务器发送的所述目标功能对应的软件的安装包,并对所述安装包进行签名验证,所述安装包是所述服务器根据所述目标业务信息和所述软件版本信息检测到所述第一车辆未安装所述目标功能对应的软件时发送的;在所述安装包签名验证成功的情况下,所述主车载控制单元将所述安装包发送至所述目标从车载控制单元;所述目标从车载控制单元根据所述安装包安装所述目标功能对应的软件,并基于所述软件和所述目标文件实现所述目标功能。

在一种可能的实现方式中,所述第一车辆还包括人机交互接口,所述主车载控制单元获取目标请求,包括:

所述主车载控制单元通过所述人机交互接口获取所述目标请求。

在一种可能的实现方式中,所述方法还包括:

所述主车载控制单元所述目标功能的状态发送至所述服务器和/或人机交互接口,所述目标功能的状态包括所述目标功能是否实现和/或所述目标功能的有效期。

在一种可能的实现方式中,所述目标请求还包括所述目标功能的有效期、所述第一车辆的硬件信息和所述第一车辆中目标从车载控制单元安装的至少一个软件对应的至少一个软件版本信息中的一个或多个;所述目标文件是所述服务器根据所述目标业务信息、所述目标功能的有效期、所述硬件信息和所述至少一个软件版本信息中的一个或多个生成的。

在一种可能的实现方式中,所述目标文件包括所述目标功能的使用许可license文件。

第四方面,本申请实施例提供了一种车辆,包括;

获取单元,用于获取目标请求,所述目标请求包括目标业务信息,所述目标业务信息用于获取目标功能关联的目标文件;

发送单元,用于向服务器发送所述目标请求;

接收单元,用于接收所述目标请求请求获取的所述目标文件,所述目标文件用于指示所述车辆实现所述目标功能。

在一种可能的实现方式中,所述获取单元,具体用于通过ota技术获取目标请求,所述目标请求包括目标业务信息,所述目标业务信息用于获取目标功能关联的目标文件。

在一种可能的实现方式中,所述发送单元,具体用于通过ota技术向服务器发送所述目标请求。

在一种可能的实现方式中,所述车辆还包括:

签名验证单元,用于对所述目标文件进行签名验证;在所述目标文件签名验证成功的情况下,所述车辆根据所述目标文件实现所述目标功能。

在一种可能的实现方式中,所述车辆还包括:

合法性验证单元,用于校验所述目标文件的合法性;在所述目标文件的合法性校验成功的情况下,所述车辆根据所述目标文件实现所述目标功能。

在一种可能的实现方式中,所述目标请求还包括所述车辆的硬件信息;所述目标文件中包括根据所述硬件信息生成的设备特征码;所述合法性验证单元,具体用于:判断所述硬件信息和所述设备特征码是否匹配;在所述硬件信息和所述设备特征码匹配的情况下,判定所述目标文件为合法文件。

在一种可能的实现方式中,所述车辆还包括:

安装检测单元,用于根据所述目标业务信息和所述车辆对应的至少一个软件版本信息,检测所述车辆是否安装所述目标功能对应的软件。

在一种可能的实现方式中,所述发送单元,还用于在所述车辆未安装所述目标功能对应的软件的情况下,向所述服务器发送所述目标功能对应的软件的安装包获取请求。

在一种可能的实现方式中,所述车辆还包括:

第一安装单元,用于接收所述服务器根据所述安装包获取请求发送的安装包,并对所述安装包进行签名验证;在所述安装包签名验证成功的情况下,根据所述安装包安装所述目标功能对应的软件,并基于所述软件和所述目标文件实现所述目标功能。

在一种可能的实现方式中,所述目标请求还包括所述车辆对应的至少一个软件版本信息,所述车辆还包括:

第二安装单元,用于接收所述服务器发送的所述目标功能对应的软件的安装包,并对所述安装包进行签名验证,所述安装包是所述服务器根据所述目标业务信息和所述软件版本信息检测到所述车辆未安装所述目标功能对应的软件时发送的;在所述安装包签名验证成功的情况下,根据所述安装包安装所述目标功能对应的软件,并基于所述软件和所述目标文件实现所述目标功能。

在一种可能的实现方式中,所述车辆包括主车载控制单元和一个或多个从车载控制单元,所述目标功能为所述一个或多个从车载控制单元中的目标从车载控制单元实现的功能;所述接收单元,具体用于:

通过所述主车载控制单元接收所述目标请求请求获取的所述目标文件;通过所述主车载控制单元将所述目标文件发送至所述目标从车载控制单元,所述目标文件用于指示所述目标从车载控制单元根据所述目标文件实现所述目标功能。

在一种可能的实现方式中,所述车辆还包括人机交互接口,所述获取单元,具体用于通过所述人机交互接口获取所述目标请求。

在一种可能的实现方式中,所述发送单元,还用于将所述目标功能的状态发送至所述服务器,所述目标功能的状态包括所述目标功能是否实现和/或所述目标功能的有效期。

在一种可能的实现方式中,所述目标请求还包括所述目标功能的有效期、所述车辆的硬件信息和所述车辆对应的至少一个软件版本信息中的一个或多个;所述目标文件是所述服务器根据所述目标业务信息、所述目标功能的有效期、所述硬件信息和所述至少一个软件版本信息中的一个或多个生成的。

在一种可能的实现方式中,所述目标文件包括所述目标功能的使用许可license文件。

第五方面,本申请实施例提供了一种服务器,所述服务器包括:

接收单元,用于接收第一车辆的发送的目标请求,所述目标请求包括目标业务信息,所述目标业务信息用于获取目标功能关联的目标文件;

生成单元,用于根据所述目标请求生成对应的所述目标文件;

发送单元,用于将所述目标文件发送至所述第一车辆,所述目标文件用于指示所述第一车辆实现所述目标功能。

在一种可能的实现方式中,所述接收单元,具体用于通过ota技术接收所述第一车辆的发送的目标请求。

在一种可能的实现方式中,发送单元,具体用于通过ota技术将所述目标文件发送至所述第一车辆。

在一种可能的实现方式中,所述服务器还包括:

签名单元,用于对所述目标文件进行签名。

在一种可能的实现方式中,所述目标请求还包括所述第一车辆对应的至少一个软件版本信息;所述服务器还包括:安装检测单元,用于根据所述至少一个软件版本信息和所述目标业务信息检测所述第一车辆是否安装所述目标功能对应的软件;

所述发送单元,还用于在所述第一车辆未安装所述目标功能对应的软件的情况下,向所述第一车辆发送所述目标功能对应的软件的安装包,所述安装包用于所述第一车辆根据所述安装包安装所述目标功能对应的软件。

在一种可能的实现方式中,所述目标请求还包括所述目标功能的有效期、所述第一车辆的硬件信息和所述第一车辆对应的至少一个软件版本信息中的一个或多个。

在一种可能的实现方式中,所述生成单元具体用于:

根据所述第一车辆的硬件信息生成设备特征码;

根据所述第一车辆对应的至少一个软件版本信息生成资源控制项和功能控制项;

根据所述目标业务信息、所述目标功能的有效期、所述设备特征码、资源控制项和功能控制项生成所述目标文件。

在一种可能的实现方式中,所述接收单元,还用于接收所述第一车辆发送的所述目标功能的状态,所述目标功能的状态包括所述目标功能是否开通和/或所述目标功能的有效期。

在一种可能的实现方式中,所述目标文件包括所述目标功能的使用许可license文件。

第六方面,本申请实施例提供了一种基于ota技术获取文件的系统,所述系统包括服务器和车辆;所述车辆,为上述第四方面中提供的任意一种所述的车辆;所述服务器,为上述第五方面中提供的任意一种所述的服务器。

第七方面,本申请提供一种基于ota技术获取文件的装置,该基于ota技术获取文件的装置具有实现上述任意一种基于ota技术获取文件的方法实施例中方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。

第八方面,本申请提供一种车辆,该车辆中包括处理器,处理器被配置为支持该车辆执行第一方面提供的一种基于ota技术获取文件的方法中相应的功能。该车辆还可以包括存储器,存储器用于与处理器耦合,其保存车辆必要的程序指令和数据。该车辆还可以包括通信接口,用于车辆与其他设备或通信网络通信。

第九方面,本申请提供一种主车载控制单元,该主车载控制单元中包括处理器,处理器被配置为支持该主车载控制单元执行第三方面提供的一种基于ota技术获取文件的方法中主车载控制单元相应的功能。该主车载控制单元还可以包括存储器,存储器用于与处理器耦合,其保存主该车载控制单元必要的程序指令和数据。该主车载控制单元还可以包括通信接口,用于主该车载控制单元与其他设备或通信网络通信。

第十方面,本申请提供一种从车载控制单元,该从车载控制单元中包括处理器,处理器被配置为支持该从车载控制单元执行第三方面提供的一种基于ota技术获取文件的方法中从车载控制单元(或目标从车载控制单元)相应的功能。该从车载控制单元还可以包括存储器,存储器用于与处理器耦合,其保存该从车载控制单元必要的程序指令和数据。该从车载控制单元还可以包括通信接口,用于该从车载控制单元与其他设备或通信网络通信。

第十一方面,本申请提供一种服务器,该服务器中包括处理器,处理器被配置为支持该服务器执行第二方面提供的一种控制基于ota技术获取文件的方法中相应的功能。该服务器还可以包括存储器,存储器用于与处理器耦合,其保存该服务器必要的程序指令和数据。该服务器还可以包括通信接口,用于该服务器与其他设备或通信网络通信。

第十二方面,本申请提供一种计算机存储介质,用于储存为上述第八方面提供的车辆所用的计算机软件指令,其包含用于执行上述方面所设计的程序。

第十三方面,本申请提供一种计算机存储介质,用于储存为上述第十一方面提供的服务器所用的计算机软件指令,其包含用于执行上述方面所设计的程序。

第十四方面,本申请实施例提供了一种计算机程序,该计算机程序包括指令,当该计算机程序被计算机执行时,使得计算机可以执行上述第一方面中任意一项的基于ota技术获取文件的方法中的流程。

第十五方面,本申请实施例提供了一种计算机程序,该计算机程序包括指令,当该计算机程序被计算机执行时,使得计算机可以执行上述第二方面中任意一项的基于ota技术获取文件的方法中的流程。

第十六方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持车辆或服务器实现上述方面中所涉及的功能,例如,例如接收或处理上述方法中所涉及的数据和/或信息。

在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存车辆或服务器必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。

附图说明

为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。

图1是本申请实施例提供的一种基于ota技术获取文件的应用场景的示意图;

图2是本申请实施例提供的一种基于ota技术获取文件的应用场景的示意图;

图3是本申请实施例提供的一种基于ota技术获取文件的应用场景的示意图;

图4是本申请实施例提供的一种基于ota技术获取文件的系统的架构图;

图5是本申请实施例提供的一种主车载控制单元的结构示意图;

图6为本申请实施例提供的一种从车载控制单元的结构示意图;

图7为本申请实施例提供的一种终端设备的结构示意图;

图8是本申请实施例提供的另一种基于ota技术获取文件的系统的架构图;

图9是本申请实施例提供的一种车辆的结构示意图;

图10是本申请实施例提供的相关技术中ota升级架构图;

图11是本申请实施例提供的一种基于ota技术获取文件的方法的流程示意图;

图12是本申请实施例提供的另一种基于ota技术获取文件的方法的流程示意图;

图13是本申请实施例提供的又一种基于ota技术获取文件的方法的流程示意图;

图14是本申请实施例提供的再一种基于ota技术获取文件的方法的流程示意图;

图15是本申请实施例提供的再一种基于ota技术获取文件的方法的流程示意图;

图16是本申请实施例提供的一种车辆的结构示意图;

图17是本申请实施例提供的一种车辆的结构示意图;

图18是本申请实施例提供的一种服务器的结构示意图;

图19是本申请实施例提供的一种设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例进行描述。

本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。

首先,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。

(1)、空中下载(overtheairtechnology,ota)技术。是通过移动通信的空中接口进行远程固件或软件远程升级的技术。ota现已被广泛应用于智能电视、手机、平板电脑、机顶盒等设备的网络升级中。随着智能网联汽车的发展,ota在线升级成为了汽车的重要功能。

(2)、车载信息盒子(telematicsbox)也可以称之为汽车盒子(t-box),是远距离通信的电信(telecommunications)与信息科学(informatics)的合成词,按字面可定义为通过内置在汽车、航空、船舶、火车等运输工具上的计算机系统、无线通信技术、卫星导航装置、交换文字、语音等信息的互联网技术而提供信息的服务系统。简单的说就通过无线网络将车辆接入互联网,为车主提供驾驶、生活所必需的各种信息。

(3)、电子控制单元(electroniccontrolunit,ecu),从用途上讲则是汽车专用微机控制器。它和普通的电脑一样,由微处理器(cpu)、存储器(rom、ram)、输入/输出接口(i/o)、模数转换器(a/d)以及整形、驱动等大规模集成电路组成。本申请实施例中的从车载控制单元即为电子控制单元。

(4)、车辆控制单元(vehiclecontrolunit,vcu),也可以称之为电动汽车整车控制器vcu是电动汽车动力系统的总成控制器,负责协调发动机、驱动电机、变速箱、动力电池等各部件的工作,具有提高车辆的动力性能、安全性能和经济性等作用。是电动汽车整车控制系统的核心部件,是用来控制电动车电机的启动、运行、进退、速度、停止以及电动车的其它电子器件的核心控制器件。vcu作为纯电动汽车控制系统最核心的部件,其承担了数据交换、安全管理、驾驶员意图解释、能量流管理的任务。vcu采集电机控制系统信号、加速踏板信号、制动踏板信号及其他部件信号,根据驾驶员的驾驶意图综合分析并作出响应判断后,监控下层的各部件控制器的动作,对汽车的正常行驶、电池能量的制动回馈、网络管理、故障诊断与处理、车辆状态监控等功能起着关键作用。

(5)、人机交互接口(humanmachineinterface,hmi),简称人机接口,也称人机界面、用户界面或使用者界面,是系统和用户之间进行交互和信息交换的媒介,它实现信息的内部形式与人类可以接受形式之间的转换。

(6)、控制器局域网络(controllerareanetwork,can)总线,是国际上应用最广泛的现场总线之一。其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境。can总线是一种应用广泛的现场总线,在工业测控和工业自动化等领域有很大的应用前景。can属于总线式串行通信网络。can总线在数据通信方面具有可靠、实时和灵活的优点。为使设计透明和执行灵活,遵循iso/osi标准模型,can总线结构划分为两层物理层和数据链路层(包括逻辑链路控制子层llc和媒体访问控制子层mac)。

(7)、传输层安全协议(transportlayersecurity,tls),用于两个应用程序之间提供保密性和数据完整性。该协议由两层组成:tls记录协议(tlsrecord)和tls握手协议(tlshandshake)。安全传输层协议(tls)用于在两个通信应用程序之间提供保密性和数据完整性。

(8)、终端设备,可以为用户设备(userequipment,ue)、无线局域网(wirelesslocalareanetworks,wlan)中的站点(staion,st)、蜂窝电话、无线本地环路(wirelesslocalloop,wll)站、个人数字处理(personaldigitalassistant,pda)设备、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、可穿戴设备等。

(9)、license文件,即使用许可文件,用于来授权软件中某项业务的使用,对软件的使用进行限制,比如使用期限、最多使用人数等。长期以来,软件的盗版和非法使用一直困扰着软件产品开发商。为了保护知识产权,遏制软件盗版和非法使用,需要使用软件保护技术用以控制软件的非授权使用。目前,一种普遍应用的软件保护技术是:向用户提供license文件,由license文件控制软件的运行,从而控制软件在授权的范围内使用。同时,设备中一些业务功能模块或者可加载的资源项数量也可以通过license权限控制的。

为了便于理解本申请实施例,以下示例性列举本申请中基于ota技术获取文件的方法所应用的场景,可以包括如下三个场景。

场景一,用户通过终端设备对车辆进行一对一管理:

请参见图1,图1是本申请实施例提供的一种基于ota技术获取文件的应用场景的示意图,该应用场景中包括终端设备(图1中以终端设备为智能手机为例)、车辆和服务器,终端设备和车辆之间可以通过蓝牙、nfc、wi-fi和移动网络等进行通信,而服务器和终端设备或车辆之间则可以通过wi-fi和移动网络等进行通信。其中,智能手机和车辆之间可以建立一对一的匹配关系,例如通过车辆的车牌或唯一标识与终端设备的身份识别卡或者合法账号进行匹配,匹配完成后,智能手机和车辆之间便可以合作执行本申请中提供的基于ota技术获取文件的方法的流程。从而实现用户通过智能手机对驾驶的车辆进行业务的订阅,满足用户的个性化需求。

场景二,用户通过终端设备对车辆进行一对多管理:

请参见图2,图2是本申请实施例提供的另一种基于ota技术获取文件的应用场景的示意图。该应用场景中包括终端设备(图2中以终端设备智能手机为例),多个车辆和服务器,该应用场景中的通信方式可以参考图1中的通信方式,在此不再赘述。其中,智能手机和车辆之间可以建立一对多的匹配关系,例如一个用户可以同时拥有并管理多个车辆,也可以是一个用户对多个不同用户的车辆进行管理。比如4s店的员工,通过专用的终端设备对店内的多个同一个型号的车辆进行系统升级,或者某个用户通过自己的终端设备对附近的与其建立了匹配关系的车辆进行目标文件的提供或管理等,以实现一个设备同时管理多个车辆的应用场景,节省时间、节省网络传输带宽以及存储资源。可以理解的是,在一对多的管理中,需要该终端设备中预先存储有该多个车辆的相关信息,或者是该多个车辆向终端设备证明其合法性以及与该终端设备之间存在服务关系。

场景三,用户直接对车辆进行一对一管理:

请参见图3,图3是本申请实施例提供的又一种基于ota技术获取文件的应用场景的示意图。该应用场景中包括车辆和服务器,服务器和车辆之间则可以通过wi-fi和移动网络等进行通信。用户通过车辆的hmi查看新的业务并进行业务的订阅,从而使车辆满足用户的个性化需求。

可以理解的是,图1、图2和图3中的应用场景的只是本申请实施例中的几种示例性的实施方式,本申请实施例中的应用场景包括但不仅限于以上应用场景。

结合上述应用场景,下面先对本申请实施例所基于的其中一种系统架构进行描述。请参见图4,图4是本申请实施例提供的一种基于ota技术获取文件的系统的架构示意图(简称为架构一),本申请提出的基于ota技术获取文件的方法可以应用于该系统架构。该系统架构中包含了服务器300、车辆100和终端设备200(图4中以终端设备为智能手机为例),其中车辆100包括主车载控制单元(也可称为updatemaster或otamaster)101和一个或多个从车载控制单元(也可称为updateslave或otaslave)102,其中,一个或多个从车载控制单元102可以包括电子控制单元(electroniccontrolunit,ecu)1和ecu2等,而主车载控制单元可以位于汽车的某个部件,例如网关(gateway)和汽车盒子(telematicsbox,t-box)中。图4所示的系统架构以主车载单元位于网关为例。其中,网关是整车电子电气架构中的核心部件,其作为整车网络的数据交互枢纽,可将控制器局域网络(controllerareanetwork,can)、局域互联网络(localinterconnectnetwork,lin)、多媒体传输系统(mediaorientedsystemtransport,most)、flexray(即flexray车载网络标准)等网络数据在不同网络中进行路由。汽车盒子,主要用于和汽车外部,后台系统和手机应用程序(application,app)通信。

主车载控制单元101用于管理和辅助多个从车载控制单元102上安装软件的功能的实现。

服务器300,可以用于从开发者处获取目标文件或者软件的安装包,该目标文件可用于车辆实现某个功能(或开通某个业务),该安装包用于安装某一软件。

其中,主车载控制单元101主要负责与多个从车载控制单元102或负责与本申请中的终端设备200进行通信,其主要功能是管理和辅助某一个性化的功能的实现。主车载控制单元101是个逻辑实体,物理上可以部署任何功能强大的单元或模块上,例如汽车盒子telematics(又称为车载信息服务)、网关gateway、车辆控制单元vcu等。

主车载控制单元101的结构可以如图5所示,图5是本申请实施例提供的一种主车载控制单元101的结构示意图。其中,主车载控制单元101可以包括处理器cpu以及相关的易失性存储器(randomaccessmemory,ram)和非易时性存储器(read-onlymemory,rom),用于存放基于ota技术获取文件的程序的存储器,以及用于通过canbus或其他车内网络与其他车载设备通信的网络接口。可以理解的是,如果主车载控制单元101实现在汽车盒子上,它还需有与外部网络通信的网络接口。即主车载控制单元101应有较强的计算能力和较多资源辅助从车载控制单元完成业务的订阅,并被其他车载设备信任。从逻辑架构上划分,主车载控制单元101把该架构分为车外通信部分和车内通信部分。

从车载控制单元102,任意一个从车载控制单元102(包括本申请中的目标从车载控制单元)的构成可以如图6所示,图6是本申请实施例提供的一种从车载控制单元102的结构示意图。从车载控制单元102可以包括微型控制器(microcontroller),can控制器(cancontroller)和收发器(transceiver)。其中,从车载控制单元102通过收发器transceiver与车内网络如can总线(canbus)通信,can控制器(cancontroller)则用于实现can协议,微型控制器则用于实现待申请以及申请后的相关的计算处理,例如可以实现本申请中关于目标从车载控制单元所执行的基于ota技术获取文件的方法中的相关流程。结合上述结构示意图,在本申请中,从车载控制单元102基于车内网络如canbus,通过收发器(transceiver)接收主车载控制单元101发送的目标文件,并通过微型控制器(microcontroller)利用所述目标文件实现目标功能。更具体的功能可以参照后续实施例中关于目标从控制单元102相关功能的描述。

终端设备200的构成可以参考图7,图7是本申请实施例提供的一种终端设备的结构示意图。该终端设备200可包括处理器cpu以及相关的易失性存储器ram和非易时性存储器rom;用于存储基于ota技术获取文件的程序的存储器,该基于ota技术获取文件的程序用于实现车载业务的订阅;用于与其它设备(包括车辆以及ota服务器等)进行通信的无线通信模块;用于为用户提供基于ota技术获取文件的交互控制界面的显示及输入,如音频输入输出模块、按键或触摸输入模块以及显示器等。该终端设备200可以对应图1和图2中的应用场景。

可以理解的是,上述图4中的系统架构只是本申请实施例中的一种示例性的实施方式本申请实施例中的通信系统架构包括但不仅限于以上通信系统架构。

请参见图8,图8是本申请实施例提供的另一种系统架构图(简称为架构二),与图1提供的系统架构不同之处在于,该系统架构中服务器300进一步包括文件服务器300-1和ota服务器300-2。其中,

文件服务器300-1,用于从开发者处获取目标文件并发送至ota服务器300-2。

ota服务器300-2,用于接收文件服务器300-1发送的目标文件,并与车辆100进行数据交互。

可以理解的是其它关于主车载控制单元101和多个从车载控制单元102的具体功能,请参照上述图4对应的系统架构中的各个功能实体或单元的描述,在此不再赘述。

还以理解的是,本申请中的系统架构还可以包括开发者,开发者在固件/软件发布的开发和测试目标文件后,将目标文件交付给文件服务器或300-1和ota服务器300-2。后续会详细描述对应实施例。

需要说明的是,图4和图8中的系统架构只是本申请实施例中的两种示例性的实施方式,本申请实施例中的通信系统架构包括但不仅限于以上系统架构。

图9是本申请实施例提供的车辆100的功能框图。该车辆100可包括各种子系统,例如行进系统110、传感器系统120、控制系统130、一个或多个外围设备140以及电源150、计算机系统160和用户接口170。可选地,车辆100可包括更多或更少的子系统,并且每个子系统可包括多个元件。另外,车辆100的每个子系统和元件可以通过有线或者无线互连。

行进系统110可包括为车辆100提供动力运动的组件。在一个实施例中,推进系统110可包括引擎111、传动装置112、能量源113和车轮/轮胎114。引擎111可以是内燃引擎、电动机、空气压缩引擎或其他类型的引擎组合,例如汽油发动机和电动机组成的混动引擎,内燃引擎和空气压缩引擎组成的混动引擎。引擎111将能量源113转换成机械能量。能量源113的示例包括汽油、柴油、其他基于石油的燃料、丙烷、其他基于压缩气体的燃料、乙醇、太阳能电池板、电池和其他电力来源。能量源113也可以为车辆100的其他系统提供能量。传动装置112可以将来自引擎111的机械动力传送到车轮114。传动装置112可包括变速箱、差速器和驱动轴。在一个实施例中,传动装置112还可以包括其他器件,比如离合器。其中,驱动轴可包括可耦合到一个或多个车轮114的一个或多个轴。

传感器系统120可包括感测关于车辆100周边的环境的信息的若干个传感器。例如,传感器系统120可包括定位系统121(定位系统可以是gps系统,也可以是北斗系统或者其他定位系统)、惯性测量单元(inertialmeasurementunit,imu)122、雷达123、激光测距仪124以及相机125。传感器系统120还可包括被监视车辆100的内部系统的传感器(例如,车内空气质量监测器、燃油量表、机油温度表等)。来自这些传感器中的一个或多个的传感器数据可用于检测对象及其相应特性(位置、形状、方向、速度等)。这种检测和识别是车辆100的安全操作的关键功能。定位系统121可用于估计车辆100的地理位置。imu122用于基于惯性加速度来感测车辆100的位置和朝向变化。在一个实施例中,imu122可以是加速度计和陀螺仪的组合。雷达123可利用无线电信号来感测车辆100的周边环境内的物体。在一些实施例中,除了感测物体以外,雷达123还可用于感测物体的速度和/或前进方向。激光测距仪124可利用激光来感测车辆100所位于的环境中的物体。在一些实施例中,激光测距仪124可包括一个或多个激光源、激光扫描器以及一个或多个检测器,以及其他系统组件。相机125可用于捕捉车辆100的周边环境的多个图像。相机125可以是静态相机或视频相机。

控制系统130为控制车辆100及其组件的操作。控制系统130可包括各种元件,其中可包括转向系统131、油门132、制动单元133、计算机视觉系统134、路线控制系统135以及障碍物避免系统136。转向系统131可操作来调整车辆100的前进方向。例如在一个实施例中可以为方向盘系统。油门132用于控制引擎111的操作速度并进而控制车辆100的速度。制动单元133用于控制车辆100减速。制动单元133可使用摩擦力来减慢车轮114。在其他实施例中,制动单元133可将车轮114的动能转换为电流。制动单元133也可采取其他形式来减慢车轮114转速从而控制车辆100的速度。计算机视觉系统134可以操作来处理和分析由相机125捕捉的图像以便识别车辆100周边环境中的物体和/或特征。该物体和/或特征可包括交通信号、道路边界和障碍物。计算机视觉系统134可使用物体识别算法、运动中恢复结构(structurefrommotion,sfm)算法、视频跟踪和其他计算机视觉技术。在一些实施例中,计算机视觉系统134可以用于为环境绘制地图、跟踪物体、估计物体的速度等等。路线控制系统135用于确定车辆100的行驶路线。在一些实施例中,路线控制系统135可结合来自传感器系统120和一个或多个预定地图的数据以为车辆100确定行驶路线。障碍物避免系统136用于识别、评估和避免或者以其他方式越过车辆100的环境中的潜在障碍物。

当然,在一个实例中,控制系统130可以增加或替换地包括除了所示出和描述的那些以外的组件。或者也可以减少一部分上述示出的组件。

车辆100通过外部设备140与外部传感器、其他车辆、其他计算机系统或用户之间进行交互。外部设备140可包括无线通信系统141、车载电脑142、麦克风143和/或扬声器144。

在一些实施例中,外部设备140提供车辆100的用户与用户接口170交互的手段。例如,车载电脑142可向车辆100的用户提供信息。用户接口170还可操作车载电脑142来接收用户的输入。车载电脑142可以通过触摸屏进行操作。在其他情况中,外部设备140可提供用于车辆100与位于车内的其它设备通信的手段。例如,麦克风143可从车辆100的用户接收音频(例如,语音命令或其他音频输入)。类似地,扬声器144可向车辆100的用户输出音频。无线通信系统141可以直接地或者经由通信网络来与一个或多个设备无线通信。例如,无线通信系统141可使用3g蜂窝通信,例如码分多址(codedivisionmultipleaccess,cdma)、数据优化(evolution-dataoptimized,evd)0、全球移动通信系统(globalsystemformobilecommunications,gsm)/通用无线分组业务(generalpacketradioservice,gprs),或者第四代移动通信技术(the4thgenerationmobilenetworks,4g)蜂窝通信,例如长期演进(longtermevolution,lte),或者第五代移动通信技术(the5thgenerationmobilenetworks或5thgenerationwirelesssystems、5th-generation,5g)蜂窝通信。无线通信系统141可利用wi-fi与无线局域网(wirelesslocalareanetwork,wlan)通信。在一些实施例中,无线通信系统141可利用红外链路、蓝牙或zigbee与设备直接通信。其他无线协议,例如各种车辆通信系统,例如,无线通信系统141可包括一个或多个专用短程通信(dedicatedshortrangecommunications,dsrc)设备,这些设备可包括车辆和/或路边台站之间的公共和/或私有数据通信。

电源150可向车辆100的各种组件提供电力。在一个实施例中,电源150可以为可再充电锂离子或铅酸电池。这种电池的一个或多个电池组可被配置为电源为车辆100的各种组件提供电力。在一些实施例中,电源150和能量源113可一起实现,例如一些全电动车中那样。

车辆100的部分或所有功能受计算机系统160控制。计算机系统160可包括至少一个处理器161,处理器161执行存储在例如数据存储装置162这样的非暂态计算机可读介质中的指令163。计算机系统160还可以是采用分布式方式控制车辆100的个体组件或子系统的多个计算设备。

处理器161可以是任何常规的处理器,诸如商业可获得的中央处理器(centralprocessingunit,cpu)。替选地,该处理器可以是诸如专用集成电路(applicationspecificintegratedcircuit,asic)或其它基于硬件的处理器的专用设备。尽管图9功能性地图示了处理器、存储器、和在相同块中的计算机系统160的其它元件,但是本领域的普通技术人员应该理解该处理器、计算机系统、或存储器实际上可以包括可以或者可以不存储在相同的物理外壳内的多个处理器、计算机、或存储器。例如,存储器可以是硬盘驱动器或位于不同于计算机系统160的外壳内的其它存储介质。因此,对处理器或计算机的引用将被理解为包括对可以或者可以不并行操作的处理器或计算机或存储器的集合的引用。不同于使用单一的处理器来执行此处所描述的步骤,诸如转向组件和减速组件的一些组件每个都可以具有其自己的处理器,所述处理器只执行与特定于组件的功能相关的计算。

在此处所描述的各个方面中,处理器可以位于远离该车辆并且与该车辆进行无线通信。在其它方面中,此处所描述的过程中的一些在布置于车辆内的处理器上执行而其它则由远程处理器执行,包括采取执行单一操纵的必要步骤。

在一些实施例中,存储器162可包含指令163(例如,程序逻辑),指令163可被处理器161执行来执行车辆100的各种功能,包括以上描述的那些功能。存储器162也可包含额外的指令,包括向行进系统110、传感器系统120、控制系统130和外围设备140中的一个或多个发送数据、从其接收数据、与其交互和/或对其进行控制的指令。

除了指令163以外,数据存储装置162还可存储数据,例如软件的安装包、目标文件以及其他信息。这种信息可在车辆100安装软件或实现目标功能时被车辆100和计算机系统160使用。

用户接口170,用于向车辆100的用户提供信息或从其接收信息。可选地,用户接口170可包括在外围设备140的集合内的一个或多个输入/输出设备,例如无线通信系统141、车载电脑142、麦克风143和扬声器144。

计算机系统160可基于从各种子系统(例如,行进系统110、传感器系统120和控制系统130)以及从用户接口170接收的输入来控制车辆100的功能。例如,计算机系统160可利用来自外部设备108的目标业务信息生成目标请求。在一些实施例中,计算机系统160可操作来对车辆100及其子系统的许多方面提供控制。

可选地,上述这些组件中的一个或多个可与车辆100分开安装或关联。例如,存储器162可以部分或完全地与车辆100分开存在。上述组件可以按有线和/或无线方式来通信地耦合在一起。

可选地,上述组件只是一个示例,实际应用中,上述各个模块中的组件有可能根据实际需要增添或者删除,图9不应理解为对本申请实施例的限制。

上述车辆100可以为轿车、卡车、摩托车、公共汽车、船、飞机、直升飞机、割草机、娱乐车、游乐场车辆、施工设备、电车、高尔夫球车、火车、和手推车等,本申请实施例不做特别的限定。

本申请实施例中的主车载控制单元101和从车载单元102可以分别位于图9所示的车辆100中的任何一个子系统当中。

首先,提出本申请需要解决的技术问题及应用场景。在相关技术中,传统车载设备的固件/软件升级是采用车辆招回的方式,即将车招回到指定的地点,如维修厂/4s店,然后采用下述方法进行固件/软件升级:具体实现有如下方案一和方案二:

方案一:借助联合测试工作组(jointtestactiongroup,jtag)接口或(调试模式backgrounddebuggingmode,bdm)接口在线烧写或者将车载设备拆卸烧写,具体可以包括如下方式一和方式二。

方式一,先把要升级的软件通过个人计算机(personalcomputer,pc)下载到程序烧录仪,然后将程序烧录仪连接到烧录工装,接着将汽车电子控制系统的印制电路板(printedcircuitboard,pcb)放入烧录工装对准下载接口,最后通电烧录软件。

方式二,将pc机、单片机程序下载数据线和汽车电子控制系统的pcb板串联起来,通过操作pc机直接将程序下载到单片机中。

上述方式一和方式二的问题是需要专业人员,增加成本,操作起来非常不方便。

方案二:根据can线的车载诊断系统(on-boarddiagnostic,obd)进行flash烧写。

步骤1:从汽车电子系统正常的应用程序运行状态进入到刷新模式;(中断或诊断触发);

步骤2:对汽车电子控制器芯片的存储器进行检验,并判断存储器中是否保存有正确的应用程序;

步骤3:如果存储器中没有正确的应用程序,从诊断设备下载应用程序软件,通过can总线传输,并刷新flash中的应用程序(刷新模块用于启动引导和软件烧写)。

上述方案二的问题是需要专业人员,且周期长。

除了上述方案一和方案二,现在一些车辆也实现了远程升级,例如如图10所示,原始设备厂商(originalequipmentmanufacturer,oem)定时或定期地统一地升级所有车辆的相关固件/软件,ota服务器对升级包进行签名,通过传输层安全协议(transportlayersecurity,tls)安全通道等下发签名的升级包;主车载控制单元通过tls安全通道下载升级包,对升级包进行签名验证后,将升级包进行拆解然后分发给相应的从车载控制单元,从车载控制单元从主车载控制单元出接收升级包,主车载控制单元只会各个从车载控制单元按照一定的依赖关系和顺序安装升级包,以完成软件的远程升级。车辆包含多个部件,在整车ota升级中涉及到多个部件的升级,需要一个主车载控制单元(或称为otamaster模块)来协调各个部件的升级。主车载控制单元运行在汽车的某个部件(gw、tbox…)上,协调控制其他部件的升级模块(从车载控制单元,或称为otaslave模块),共同完成整车升级。

但是,当车辆需要实现某个业务功能时,需要车辆从外部的专用的文件服务器处获得该业务功能对应的文件,且由于车辆内部包括多个部件,而且每个部件均可以安装多个软件,每个软件又可以实现不同的业务功能,导致文件服务器在管理车辆的不同的业务功能对应的文件时复杂度高、效率低。举例来说,使用许可license文件(一种用于软件保护的文件)可以用于实现车辆某个业务功能的开通,服务器向用户提供目标文件,由目标文件控制软件的运行,从而控制软件在授权的范围内使用,以使得车辆实现某个个性化的功能。其中,整个车辆的目标文件的生成、下发和管理是由专门的license服务器完成,且由于车辆复杂的内部结构以及丰富的业务功能模块和各异的资源权限导致整个车辆的目标文件管理是一个很复杂的工程。

下面结合本申请中提供的基于ota技术获取文件的方法的实施例,对本申请中提出的技术问题进行具体分析和解决。

请参见图11,是本申请实施例提供的一种基于ota技术获取文件的方法的流程示意图,可应用于上述图4或者图8中所述的系统架构,下面将结合附图11从服务器和第一车辆的交互侧进行描述,其中本申请实施例中的服务器、第一车辆以及终端设备可以为图1至图10中所述描述的服务器300、车辆100、以及终端设备200。该方法可以包括以下步骤s201-步骤s203。

s201,第一车辆获取目标请求,所述目标请求包括目标业务信息,所述目标业务信息用于获取目标功能关联的目标文件。

具体地,所述第一车辆还包括人机交互接口hmi,第一车辆可以通过hmi接收所述目标业务信息。目标功能可以是第一车辆待申请开通的某个业务功能。目标业务信息用于描述第一车辆待申请开通的某个业务功能,例如,目标业务信息包括业务标识等。

s202,所述第一车辆向服务器发送所述目标请求。

对应地,所述服务器接收所述第一车辆发送的所述目标请求。

其中,第一车辆和服务器在进行数据交互之前,第一车辆和服务器可以进行一些配置,比如配置证书、私钥等。基于配置的信息,第一车辆和服务器之间建立安全通道,比如安全套接层超文本传输协议(hypertexttransferprotocoloversecuresocketlayer,https)安全通道,传输层安全协议(transportlayersecurity,tls)安全通道或数据传输层安全协议(datagramtransportlayersecurity,dtls)安全通道等,以便在第一车辆和服务器之间可以安全的传输信息。

可选地,所述第一车辆可以通过ota技术向服务器发送所述目标请求。其中,通过ota技术向服务器发送所述目标请求可以理解为,所述第一车辆复用服务器和第一车辆之间的ota远程升级通道向服务器发送目标请求。

s203,所述第一车辆接收所述目标请求请求获取的所述目标文件,所述目标文件用于指示所述第一车辆实现所述目标功能。

对应地,所述服务器在接收到所述第一车辆发送的所述目标请求后,可以根据所述目标请求生成对应的目标文件,进而将目标文件发送至所述第一车辆。

可选地,所述第一车辆可以通过ota技术接收所述目标请求请求获取的所述目标文件。其中,通过ota技术接收所述目标请求请求获取的所述目标文件可以理解为,所述第一车辆复用服务器和第一车辆之间的ota远程升级通道接收所述目标文件。

在相关技术中,当车辆需要实现某个业务功能时,需要车辆从外部专用的文件服务器处获得该业务功能对应的文件,且由于车辆内部包括多个部件,而且每个部件均可以安装多个软件,每个软件又可以实现不同的业务功能,导致文件服务器在管理车辆的不同的业务功能对应的文件时复杂度高、效率低。本申请实施例中,基于相关ota技术中,车辆在进行固件/软件的ota远程升级过程中,服务器和车辆(包括主车载控制单元和一个或多个从车载单元)之间搭建远程升级通道,主车载控制单元管理各个从车载控制单元的硬件信息和各个从车载控制单元上安装的至少一个软件对应的软件版本信息,并对各个从车载控制单元上软件的升级包进行分发等的相关特性,当车辆在接收到包括目标业务信息的目标请求后,通过复用上述服务器和车辆之间的ota远程升级通道向服务器发起相关请求并通过ota技术接收服务器发送的目标功能关联的目标文件,进而基于目标文件实现目标功能,从而实现了基于ota技术的业务关联文件的获取。综上,本申请中通过复用服务器和车辆之间的ota远程升级通道,避免需要新建文件管理通道且需要由专门的文件服务器完成整个车辆的功能关联文件的生成、下发和管理,而导致的功能关联文件管理复杂。同时,用户可以根据个人的需求为车辆购买相应的业务,满足用户的个性化需求,降低购买成本,提升用户体验。

在一种可能的实现方式中,所述方法还包括:

s204,所述服务器根据所述目标请求生成对应的目标文件。

具体地,服务器在接收到第一车辆发送的目标请求后,根据该目标请求生成目标功能对应的目标文件。其中,本申请实施例中的服务器可以包括ota服务器和文件服务器,所述服务器根据所述目标请求生成对应的目标文件可以有如下多种方式。例如,ota服务器接收到第一车辆发送的目标请求后,直接根据所述目标请求生成对应的目标文件;或者,ota服务器接收到第一车辆发送的目标请求后,将该目标请求转发至另一文件服务器,文件服务器根据所述目标请求生成对应的目标文件后将生成的目标文件发送至ota服务器,进而由ota服务器发送至第一车辆。

在一种可能的实现方式中,所述方法还包括:

s205,第一车辆基于所述目标文件实现所述目标功能。

其中,第一车辆基于所述目标文件实现所述目标功能之前,还可以检测第一车辆是否安装目标功能对应的软件,在检测到第一车辆安装有目标功能对应的软件时,基于所述目标文件实现所述目标功能。在检测到第一车辆未安装目标功能对应的软件时,需要先安装目标功能对应的软件,进而再基于所述目标文件实现所述目标功能。

在一种可能的实现方式中,所述方法还包括:

s206,所述服务器对所述目标文件进行签名。

s207,所述第一车辆对所述目标文件进行签名验证。

其中,在所述目标文件签名验证成功的情况下,所述第一车辆执行步骤s205,即根据所述目标文件实现所述目标功能。

具体地,服务器在向第一车辆发送目标文件之前,可以对目标文件进行安全处理,其中该安全处理可以为签名处理、加密处理或其它安全处理等,以防止对目标文件被非法修改。本申请实施例中,第一车辆通过在验证了从车辆外部获取的经过签名的目标文件之后,再在车辆内部根据所述目标文件实现所述目标功能,以保证车辆业务开通的安全性。

在一种可能的实现方式中,所述方法还包括:

s208,所述第一车辆校验所述目标文件的合法性。

其中,在所述目标文件的合法性校验成功的情况下,所述第一车辆执行步骤s205,即根据所述目标文件实现所述目标功能。具体地,第一车辆可以在所述目标文件签名验证成功的情况下,进一步校验所述目标文件的合法性,在所述目标文件的合法性校验成功的情况下,所述第一车辆根据所述目标文件实现所述目标功能。其中,第一车辆在接收到服务器发送的目标文件后,可以先对目标文件进行签名验证。在目标文件签名验证成功的情况下,导入目标文件,读取第一车辆的硬件信息的唯一标识字段与目标文件中包括的唯一标识字段进行比较,从而判断目标文件是否合法。若第一车辆的硬件信息中的唯一标识字段与目标文件中包括的唯一标识字段一致或者匹配,则所述目标文件合法性校验成功;若第一车辆的硬件信息中的唯一标识字段与目标文件中包括的唯一标识字段不一致或者不匹配,则所述目标文件合法性校验失败。本申请实施例中的第一车辆通过在验证了从第一车辆外部获取的目标文件的合法性之后,再根据所述目标文件实现所述目标功能,以避免所接收到目标文件不是目标功能对应的目标文件而导致的目标功能无法实现,保证车辆业务开通的高效性和安全性。

在一种可能的实现方式中,所述目标请求还包括所述第一车辆的硬件信息;所述目标文件中包括根据所述硬件信息生成的设备特征码;所述第一车辆校验所述目标文件的合法性,包括:

所述第一车辆判断所述硬件信息和所述设备特征码是否匹配;在所述硬件信息和所述设备特征码匹配的情况下,判定所述目标文件为合法文件。

本申请实施例中的第一车辆通过在验证了从车辆外部获取的目标文件的合法性之后,再根据所述目标文件实现所述目标功能,以避免所接收到目标文件不是目标功能对应的目标文件而导致的目标功能无法实现,保证车辆业务开通的高效性和安全性。

在一种可能的实现方式中,所述目标文件包括所述目标功能的使用许可license文件。

其中,license文件的内容可包括软件生产厂商、产品名称、产品版本、设备特征码、截止日期、资源控制项、功能控制项、签名等,license文件包括一些控制策略(例如license控制项)用于对软件的运行进行控制,其中,上述目标文件中包括的设备特征码、截止日期、资源控制项、功能控制项就属于license控制项。通过license技术,可以灵活地控制软件功能、可供使用的资源的数量等。在所述目标文件合法性校验成功后,第一车辆可以根据目标文件的控制项运行软件,以实现该软件对应的目标功能。

可选地,所述第一车辆在获取目标功能的业务信息后,第一车辆或是服务器会判断第一车辆是否安装有目标功能对应的软件,即是否需要下载目标功能对应软件的安装包,上述实施例是在第一车辆或是服务器判断第一车辆安装有目标功能对应的软件时执行的。下面将结合步骤s209至s213,阐述在判断第一车辆未安装目标功能对应的软件时,服务器或第一车辆所需要执行的操作。可选地,步骤s209至s213描述了判断第一车辆是否安装有目标功能对应的软件是由第一车辆执行的;可选地,当判断第一车辆是否安装有目标功能对应的软件是由服务器执行的情况下,所述目标请求还包括所述第一车辆对应的至少一个软件版本信息,此时步骤s209和步骤s210无需执行,该方法可以包括以下步骤s211至s213。

在一种可能的实现方式中,第一车辆判断目标从车载控制单元是否安装有目标功能对应的软件。所述方法还包括:

s209,所述第一车辆根据所述目标业务信息和所述第一车辆对应的至少一个软件版本信息,检测所述第一车辆是否安装所述目标功能对应的软件。

在一种可能的实现方式中,所述方法还包括:

s210,在所述第一车辆未安装所述目标功能对应的软件的情况下,所述第一车辆向所述服务器发送所述目标功能对应的软件的安装包获取请求。

其中,上述安装包获取请求可以包括软件标识、软件的版本信息以及第一车辆的硬件信息。

在一种可能的实现方式中,所述方法还包括:

s211,所述第一车辆接收所述服务器发送的安装包。

具体地,服务器在接收到第一车辆发送的安装包获取请求后,可以从开发者处获取安装包,并对安装包进行签名或加密等安全处理,以防止安装包被非法修改。

s212,所述第一车辆对所述安装包进行签名验证。

s213,在所述安装包签名验证成功的情况下,所述第一车辆根据所述安装包安装所述目标功能对应的软件。

其中,在第一车辆安装好目标功能对应的软件后,第一车辆基于所述软件和所述目标文件实现所述目标功能。

在一种可能的实现方式中,所述目标请求还包括所述第一车辆对应的至少一个软件版本信息,此时,所述方法包括上述步骤s211至s213。即当所述目标请求还包括所述第一车辆对应的至少一个软件版本信息时,所述服务器根据所述目标业务信息和所述软件版本信息检测所述第一车辆是否安装所述目标功能对应的软件,在所述服务器根据所述目标业务信息和所述软件版本信息检测到所述第一车辆未安装所述目标功能对应的软件时,所述服务器向第一车辆发送所述目标功能对应的软件的安装包,所述第一车辆接收所述目标功能对应的软件的安装包,并对所述安装包进行签名验证,在所述安装包签名验证成功的情况下,所述第一车辆根据所述安装包安装所述目标功能对应的软件,并基于所述软件和所述目标文件实现所述目标功能。

在一种可能的实现方式中,所述第一车辆包括主车载控制单元和一个或多个从车载控制单元,所述目标功能为所述一个或多个从车载控制单元中的目标从车载控制单元实现的功能;所述第一车辆接收所述目标请求请求获取的所述目标文件,包括:

所述主车载控制单元接收所述目标请求请求获取的所述目标文件;所述主车载控制单元将所述目标文件发送至所述目标从车载控制单元,所述目标文件用于指示所述目标从车载控制单元根据所述目标文件实现所述目标功能。

其中,当所述第一车辆包括主车载控制单元和一个或多个从车载控制单元时,所述主车载控制单元和一个或多个从车载控制单元所执行的操作可以具体参考图12至图15所对应的实施例中相关步骤的描述,此处不做赘述。

在一种可能的实现方式中,所述第一车辆还包括人机交互接口,所述第一车辆获取目标请求,包括:所述第一车辆通过所述人机交互接口获取所述目标请求。

在一种可能的实现方式中,所述方法还包括:

s214,所述第一车辆将所述目标功能的状态发送至所述服务器。

其中,所述目标功能的状态包括所述目标功能是否实现和/或所述目标功能的有效期。

具体地,第一车辆可以定期地将所述目标功能的状态发送至所述服务器,以方便用服务器管理对下发的目标文件进行管理。同时,第一车辆会将所述目标功能的状态显示给用户,以方便用户通过第一车辆的hmi知晓该目标功能的使用情况以及该目标功能的有效期等。

在一种可能的实现方式中,所述目标请求还包括所述目标功能的有效期、所述第一车辆的硬件信息和所述第一车辆对应的至少一个软件版本信息中的一个或多个;所述目标文件是所述服务器根据所述目标业务信息、所述目标功能的有效期、所述硬件信息和所述至少一个软件版本信息中的一个或多个生成的。

可选地,目标请求还可以包括所述车辆的识别码。

请参见图12,是本申请实施例提供的一种基于ota技术获取文件的方法的流程示意图,可应用于上述图4或者图8中所述的系统架构,下面将结合附图12从服务器、第一车辆的主车载控制单元、和第一车辆的目标从车载控制单元的交互侧进行描述,其中,本申请实施例中的服务器、第一车辆的主车载控制单元、第一车辆的目标从车载控制单元以及终端设备可以为图1至图10中所述描述的服务器300、车辆100、主车载控制单元101、目标从车载控制单元102以及终端设备300。该方法可以包括以下步骤s301-步骤s305。

s301,所述主车载控制单元获取目标请求,所述目标请求包括目标业务信息,所述目标业务信息用于获取目标功能关联的目标文件,所述目标功能为所述一个或多个从车载控制单元中的目标从车载控制单元实现的功能。

具体地,所述车辆还包括人机交互接口hmi,用户通过hmi触发使用或购买某项业务或功能,hmi接收所述目标业务信息。hmi将用户目标业务信息发送给主车载控制单元,所述目标业务信息可包括业务标识等。可选地,用户也可以通过智能手机等终端设备触发使用或购买某项业务,智能手机在接收到用户针对某项业务的购买请求后,获取该目标业务信息,并将该目标业务信息发送至hmi,hmi再将该目标业务信息转发给主车载控制单元;或者智能手机也可以直接将目标业务信息发送至主车载控制单元,本申请实施例不作限制。

s302,所述主车载控制单元向所述服务器发送所述目标请求。

其中,主车载控制单元和服务器在进行数据交互之前,主车载控制单元和服务器可以进行一些配置,比如配置证书、私钥等。基于配置的信息,主车载控制单元和服务器之间建立安全通道,比如安全套接层超文本传输协议(hypertexttransferprotocoloversecuresocketlayer,https)安全通道,传输层安全协议(transportlayersecurity,tls)安全通道或数据传输层安全协议(datagramtransportlayersecurity,dtls)安全通道等,以便在主车载控制单元和服务器之间可以安全的传输信息。可选地,目标请求还可以包括所述车辆的识别码,本申请实施例不作限制。

s303,所述服务器根据所述目标请求生成对应的目标文件。

具体地,服务器在接收到主车载控制单元发送的目标请求,根据该目标请求生成对应的目标文件,所述目标文件用于指示所述目标从车载控制单元根据所述目标文件实现所述目标功能。其中,本申请实施例中的服务器可以包括ota服务器和license服务器,所述服务器根据所述目标请求生成对应的目标文件可以有如下多种方式。例如,ota服务器接收到主车载控制单元发送的目标请求后,直接根据所述目标请求生成对应的目标文件;或者,ota服务器接收到主车载控制单元发送的目标请求后,将该目标请求转发至文件服务器,文件服务器根据所述目标请求生成对应的目标文件后将生成的目标文件发送至ota服务器。

s304,所述主车载控制单元接收所述目标请求请求获取的目标文件。

其中,服务器在向主车载控制单元发目标文件之前,可以对目标进行安全处理,其中该安全处理可以为签名处理、加密处理或其它安全处理等,以防止对目标文件的非法修改。主车载控制单元在接收到目标文件之后,可以对接收到的目标文件进行签名验证。

s305,所述主车载控制单元将所述目标文件发送至所述目标从车载控制单元,所述目标文件用于指示所述目标从车载控制单元根据所述目标文件实现所述目标功能。

具体地,所述主车载控制单元接收所述服务器发送的目标文件后,将目标文件发送至目标功能对应的软件所位于的目标从车载控制单元,目标车载控制单元在接收到目标文件后,基于该目标文件实现所述目标功能。

在相关技术中,当车辆需要实现某个业务功能时,需要车辆从外部专用的文件服务器处获得该业务功能对应的文件,且由于车辆内部包括多个部件,而且每个部件均可以安装多个软件,每个软件又可以实现不同的业务功能,导致文件服务器在管理车辆的不同的业务功能对应的文件时复杂度高、效率低。本申请实施例中,基于相关ota技术中,车辆在进行固件/软件的ota远程升级过程中,服务器和车辆(包括主车载控制单元和一个或多个从车载单元)之间搭建远程升级通道,主车载控制单元管理各个从车载控制单元的硬件信息和各个从车载控制单元上安装的至少一个软件对应的软件版本信息,并对各个从车载控制单元上软件的升级包进行分发等的相关特性,当车辆在接收到包括目标业务信息的目标请求后,通过复用上述服务器和车辆之间的ota远程升级通道向服务器发起相关请求并通过ota技术接收服务器发送的目标功能关联的目标文件,进而基于目标文件实现目标功能,从而实现了基于ota技术的业务关联文件的获取。综上,本申请中通过复用服务器和车辆之间的ota远程升级通道,避免需要新建文件管理通道且需要由专门的文件服务器完成整个车辆的功能关联文件的生成、下发和管理,而导致的功能关联文件管理复杂。同时,用户可以根据个人的需求为车辆购买相应的业务,满足用户的个性化需求,降低购买成本,提升用户体验。

在一种可能的实现方式中,所述方法还包括:

s306,所述服务器对所述目标文件进行签名。

s307,所述主车载控制单元对所述目标文件进行签名验证。

其中,若签名验证成功,所述主车载控制单元执行所述将所述目标文件发送至所述目标从车载控制单元的操作,即执行操作s305。

具体地,服务器在向主车载控制单元发目标文件之前,可以对目标文件进行安全处理,其中该安全处理可以为签名处理、加密处理或其它安全处理等,以防止对目标文件被非法修改。可选地,主车载控制单元在接收到目标文件之后,可以直接对所述目标文件进行签名验证,也可以将目标文件发送至所述目标从车载控制单元,由目标车载控制单元进行签名验证,本申请实施例不作限制。

本申请实施例中的车辆中的主车载控制单元,通过在验证了从车辆外部获取的经过签名的目标文件之后,再在车辆内部将所述目标文件发送至目标从车载控制单元,以保证车辆业务开通的安全性。

在一种可能的实现方式中,所述方法还包括:

s308,所述目标从车载控制单元校验所述目标文件的合法性。

s309,若所述目标文件合法性校验成功,所述目标从车载控制单元根据所述目标文件实现所述目标功能。

其中,目标从车载控制单元在接收到主车载控制单元发送的目标文件后,导入目标文件,读取目标从车载控制单元的硬件信息中的唯一标识字段与目标文件中包括的唯一标识字段进行比较,从而判断目标文件是否合法。若目标从车载控制单元的硬件信息中的唯一标识字段与目标文件中包括的唯一标识字段一致或者匹配,则所述目标文件合法性校验成功;若目标从车载控制单元的硬件信息中的唯一标识字段与目标文件中包括的唯一标识字段不一致或者不匹配,则所述目标文件合法性校验失败。可选地,目标文件的合法性校验也可以有主车载控制单元执行,即所述主车载控制单元对所述目标文件进行签名验证后,若签名验证成功,所述主车载控制单元校验所述目标文件的合法性,若所述目标文件合法性校验成功,所述主车载控制单元执行所述将所述目标文件发送至所述目标从车载控制单元的操作,所述目标从车载控制单元在接收到目标文件后,直接根据所述目标文件实现所述目标功能。

本申请实施例中的车辆通过在验证了从车辆外部获取的目标文件的合法性之后,再根据所述目标文件开通所述目标功能,并在所述业务有效期内使用所述目标功能,以避免所接收到目标文件不是目标功能对应的目标文件而导致的业务开通失败,保证车辆功能实现的高效性和安全性。

在一种可能的实现方式中,所述目标请求还包括所述目标从车载控制单元的硬件信息;所述目标文件中包括根据从车载控制单元的硬件信息生成的设备特征码;所述目标从车载控制单元可以通过如下方式校验所述目标文件的合法性。所述目标从车载控制单元判断所述目标从车载控制单元的硬件信息和所述设备特征码是否匹配,在目标从车载控制单元的硬件信息和所述设备特征码匹配的情况下,判定所述目标文件为合法。

具体地,主车载控制单元向服务器发送的目标请求包括目标功能对应的从车载控制单元的硬件信息,服务器在接收到目标请求后会根据目标请求中包括的从车载控制单元的硬件信息生成设备特征码。目标从车载控制单元通过判断所述目标从车载控制单元的硬件信息和所述设备特征码是否匹配进而验证所述目标文件是否合法。

本申请实施例中的车辆通过在验证了从车辆外部获取的目标文件的合法性之后,再根据所述目标文件实现所述目标功能,以避免所接收到目标文件不是目标功能对应的目标文件而导致的目标功能无法实现,保证车辆业务开通的高效性和安全性。

在一种可能的实现方式中,所述目标文件包括所述目标功能的使用许可license文件。

其中,license文件的内容可包括软件生产厂商、产品名称、产品版本、设备特征码、截止日期、资源控制项、功能控制项、签名等,license文件包括一些控制策略(例如license控制项)用于对软件的运行进行控制,其中,上述license文件中包括的设备特征码、截止日期、资源控制项、功能控制项就属于license控制项。通过license技术,可以灵活地控制软件功能、可供使用的资源的数量等。在所述license文件合法性校验成功后,目标从车载控制单元可以根据license文件的控制项运行软件,以开通该软件对应的待开通业务。

在一种可能的实现方式中,所述方法还包括:

s310,所述目标从车载控制单元将所述目标功能的状态发送至所述主车载控制单元,所述目标功能的状态包括所述目标功能是否实现和/或所述目标功能的有效期。

s311,所述主车载控制单元将所述目标功能的状态发送至所述服务器。

s312,所述主车载控制单元将所述目标功能的状态发送至人机交互接口。

具体地,目标从车载控制单元可以定期地将所述目标功能的状态发送至所述主车载控制单元,所述主车载控制单元将所述目标功能的状态发送至所述服务器,以方便用服务器管理对下发的目标文件进行管理。同时,主车载控制单元会将所述目标功能的状态发送至人机交互接口hmi,以方便用户通过hmi知晓该业务的使用情况以及该业务的有效期等。

在一种可能的实现方式中,所述方法还包括:

s313,主车载控制单元获取所述目标从车载控制单元的硬件信息和所述目标从车载控制单元安装的至少一个软件对应的软件版本信息。

在一种可能的实现方式中,所述目标请求还包括所述目标功能的有效期、所述第一车辆的硬件信息和所述第一车辆中目标从车载控制单元安装的至少一个软件对应的至少一个软件版本信息中的一个或多个;所述目标文件是所述服务器根据所述目标业务信息、所述目标功能的有效期、所述硬件信息和所述至少一个软件版本信息中的一个或多个生成的。

可选地,在主车载控制单元发送目标请求之前,主车载控制单元查询目标从车载控制单元的硬件信息和目标从车载控制单元安装的至少一个软件对应的至少一个软件版本信息,然后向服务器发送携带该目标从车载控制单元的硬件信息和目标从车载控制单元安装的至少一个软件对应的软件版本信息的目标请求。服务器在接收到目标请求后,基于该目标请求中目标从车载控制单元的硬件信息和目标从车载控制单元安装的至少一个软件对应的至少一个软件版本信息生成与所述目标功能、目标车载控制单元硬件信息以及对所述目标功能对应的安装在目标控制单元上的软件匹配的目标文件。

在一种可能的实现方式中,在所述目标请求还包括所述目标从车载控制单元的硬件信息和所述目标从车载控制单元安装的至少一个软件对应的软件版本信息时,所述服务器根据所述目标请求生成对应的目标文件包括:所述服务器根据所述目标从车载控制单元的硬件信息生成设备特征码;所述服务器根据所述目标从车载控制单元安装的至少一个软件对应的软件版本信息生成资源控制项和功能控制项;所述服务器根据所述目标功能的业务信息、所述设备特征码、资源控制项和功能控制项生成所述目标文件。

具体地,一个典型的目标文件(例如,license文件)示例可以如表1所示。

表1

本申请实施例中,可以防止服务器下发的目标文件不是针对目标从控制单元或目标功能对应的软件的当前版本信息的目标文件,从而避免目标功能无法实现这一现象的出现。服务器在接收到目标请求后,基于该目标请求中目标从车载控制单元的硬件信息和目标从车载控制单元安装的至少一个软件对应的至少一个软件版本信息生成与所述目标功能、目标车载控制单元硬件信息以及对所述目标功能对应的安装在目标控制单元上的软件均匹配的目标文件,从而保证业务开通的高效性和针对性。

可选地,所述主车载控制单元获取目标业务信息后,主车载控制单元或是服务器会判断目标从车载控制单元是否安装有目标功能对应的软件,即是否需要下载目标功能对应的软件的安装包,上述实施例是在主车载控制单元或是服务器判断目标从车载控制单元安装有目标功能对应的软件时执行的。下面将结合图13和图14阐述在判断出目标从车载控制单元未安装目标功能对应的软件时,服务器或主车载控制单元或目标从车载控制单元所需要执行的操作。其中,步骤s314至s319即图13描述了判断目标从车载控制单元是否安装有目标功能对应的软件是由主车载控制单元执行的,s320至s325即图13描述了判断目标从车载控制单元是否安装有目标功能对应的软件是由服务器执行的。

在一种可能的实现方式中,主车载控制单元判断目标从车载控制单元是否安装有目标功能对应的软件。下面将结合附图12从服务器、车辆的主车载控制单元、和车辆的目标从车载控制单元的交互侧进行描述,该方法还可以包括以下步骤s314-步骤s319。

所述方法还包括:

s314,所述主车载控制单元根据所述目标业务信息和所述目标从车载控制单元安装的至少一个软件对应的软件版本信息,检测所述目标从车载控制单元是否安装所述目标功能对应的软件。

具体地,主车载控制单元在获取到所述目标从车载控制单元的硬件信息和所述目标从车载控制单元安装的至少一个软件对应的软件版本信息后,基于软件版本信息与目标业务信息判断目标从车载控制单元是否安装有目标功能对应的软件。

s315,在所述目标从车载控制单元未安装所述目标功能对应的软件的情况下,所述主车载控制单元向所述服务器发送所述目标功能对应的软件的安装包获取请求。

具体地,上述安装包获取请求可以包括软件标识、软件的版本信息以及目标从车载控制单元的硬件信息。

s316,所述主车载控制单元接收所述服务器根据所述安装包获取请求发送的安装包。

服务器在接收到主车载控制单元发送的安装包获取请求后,可以从开发者处获取安装包,并对安装包进行签名或加密等安全处理,以防止安装包被非法修改。

s317,所述主车载控制单元并对所述安装包进行签名验证。

s318,若签名验证成功,所述主车载控制单元将所述安装包发送至所述目标从车载控制单元。

s319,所述目标从车载控制单元根据所述安装包安装所述目标功能的对应的软件。

本申请实施例中,主车载控制单元获取目标业务信息后,会获取该目标功能对应的目标从车载控制单元上安装的至少一个软件对应的至少一个软件版本信息,基于该业务信息所包括的目标业务信息和至少一个软件版本信息判断所述目标从车载控制单元是否安装所述目标功能对应的软件,并在判断出所述目标从车载控制单元未安装所述目标功能对应的软件时,向服务器发送所述目标功能对应的软件的安装包获取请求。目标从车载控制单元在安装了目标功能的对应的软件后,基于软件和目标文件实现所述目标功能,进而保证用户订购的业务功能的顺利开通和使用。

在一种可能的实现方式中,服务器判断目标从车载控制单元是否安装有目标功能对应的软件,下面将结合附图14从服务器、车辆的主车载控制单元、和车辆的目标从车载控制单元的交互侧进行描述,该方法还可以包括以下步骤s320-步骤s325。

s320,所述服务器根据所述软件版本信息和所述目标业务信息检测所述目标从车载控制单元是否安装所述目标功能对应的软件。

具体地,所述目标请求还包括所述目标从车载控制单元的硬件信息和所述目标从车载控制单元安装的至少一个软件对应的软件版本信息,所述目标请求还用于指示所述服务器根据所述软件版本信息和所述目标业务信息检测所述目标从车载控制单元是否安装所述目标功能对应的软件。

其中,若检测到所述目标从车载控制单元安装所述目标功能对应的软件,所述服务器执行所述将所述目标文件发送至所述主车载控制单元的操作,所述主车载控制单元执行接收所述服务器发送的目标文件的操作,即执行步骤s304。具体操作可以参考步骤s304的相关描述,此处不在赘述。

若检测到所述车辆未安装所述目标功能对应的软件,所述服务器向主车载控制单元发送所述目标功能对应的软件的安装包和目标文件,其中,所述服务器向主车载控制单元发送目标文件的操作可以参考步骤s304的相关描述,此处不在赘述。可以可选地,所述服务器向主车载控制单元发送所述目标功能对应的软件的安装包可以包括步骤s321-s323。

s321,若检测到所述车辆未安装所述目标功能对应的软件,所述服务器向所述主车载控制单元发送所述目标功能的业务信息对应的策略包和所述目标文件,所述策略包包括所述目标功能对应的软件的安装包的下载地址,所述策略包用于所述主车载控制单元根据所述策略包下载所述安装包。

具体地,服务器在检测到目标从车载控制单元安装的至少一个软件对应的软件版本信息包不包括目标功能对应的软件后,会获取目标功能的对应的安装包、生成目标文件和策略包,并对目标功能的对应的安装包、目标文件和策略包分别进行安全处理。其中该安全处理可以为签名处理、加密处理或其它安全处理等,以防止对目标文件的非法修改。其中,策略包可以包括目标功能的对应的安装包的下载地址,目标功能的实现条件以及安装包或目标文件的大小等,本申请实施例不作限制。其中服务器生成目标文件的方式可以参考步骤s303以及其它实施例中生成目标文件的相关描述,此处不再赘述。

s322,所述主车载控制单元对所述策略包进行签名验证。

具体地,所述主车载控制单元对所述策略包进行签名验证的过程可以参考s307中对目标文件进行签名验证的相关描述,此处不在赘述。

s323,若签名验证成功,所述主车载控制单元根据所述策略包下载所述安装包。

具体地,若签名验证成功,所述主车载控制单元接收服务器随同策略包一起发送的目标文件以及根据策略包下载所述安装包。其中主车载控制单元下载安装包和接收目标文件可能有多种实现方法。例如,安装包和目标文件同时下载接收;或者,主车载控制单元先下载安装包,然后将安装包发送给目标从车载控制单元,目标从车载单元安装包安装好之后,通知主车载控制单元再下载接收目标文件,主车载控制单元下载接收目标文件后将目标文件发送至目标从车载控制单元,目标从车载控制单元基于目标文件控制软件和目标功能的运行;或者,主车载控制单元先接收目标文件,待目标文件的签名和合法性校验通过之后,主车载控制单元再下载安装包。本申请实施例的后续操作即步骤s322和s323以安装包和license同时下载为例进行说明,当安装包和目标文件不同时下载时,相应步骤进行拆分即可,此处不再赘述。

s324,所述主车载控制单元将所述安装包和所述目标文件发送至所述目标从车载控制单元。

其中,所述主车载控制单元在接收所述目标文件以及根据所述策略包下载所述安装包后,还可以进一步分别对安装包和目标文件进行签名验证,若签名验证成功,所述主车载控制单元将所述安装包和所述目标文件发送至所述目标从车载控制单元。

s325,所述目标从车载控制单元根据所述安装包安装所述目标功能的对应的软件,并根据所述目标文件实现所述目标功能。

具体地,目标从车载控制单元在接收到主车载控制单元发送的目标文件后,会进一步校验目标文件的合法性,若所述目标文件合法性校验成功,所述目标从车载控制单元根据所述目标文件实现所述目标功能。其中,目标从车载控制单元校验目标文件的合法性的操作可以参考s308-s309和其它实施例中目标从车载控制单元校验目标文件的合法性的相关描述,此处不再赘述。

本申请实施例中,服务器在接收到主控制单元发送的目标请求后,会基于目标请求中包括的目标业务信息和至少一个软件版本信息判断所述目标从车载控制单元是否安装所述目标功能对应的软件,并在判断出所述目标从车载控制单元未安装所述目标功能对应的软件时,向主车载控制单元发送目标文件和包括安装包的下载地址的策略包。目标从车载控制单元在安装了目标功能的对应的软件后,再开通所述目标功能,进而保证用户订购的业务的顺利开通和使用。

在一些其它实施例中,如图15所示,车辆还可以进一步包括文件管理单元,该文件管理单元可以位于从车载控制单元中,也可以位于车辆的其它部件中。当车辆包括文件管理单元时,可以由文件管理单元校验所述目标文件的合法性,并在所述目标文件合法性校验成功时,文件管理单元通知所述目标从车载控制单元根据所述目标文件实现所述目标功能。文件管理单元可以定期地将所述目标功能的状态发送至所述主车载控制单元,主车载控制单元将所述目标功能的状态发送至所述服务器,以方便用服务器管理对下发的目标文件进行管理。同时,文件管理单元可以将所述目标功能的状态发送至所述主车载控制单元,所述主车载控制单元将所述目标功能的状态发送至所述hmi,方便用户通过hmi知晓该业务的使用情况以及该业务的有效期等。因此结合图12和图14来看,当车辆还可以进一步包括文件管理单元时,区别在于所述方法还包括以下步骤:

s326,目标从车载控制单元将接收到目标文件发送至文件管理单元。

s327,文件管理单元校验目标文件的合法性,并在合法性校验成功时,通知目标从车载控制单元执行步骤s309,即,根据目标文件开通所述目标功能,并在业务有限期内使用所述目标功能。

其中,图12至图14所对应的实施例可以看作为文件管理单元位于车辆的从车载控制单元即ecu中,图15所对应的实施例可以看作为文件管理单元位于车辆中除从车载控制单元的其他部件中。

上述详细阐述了本申请实施例的方法,下面提供了本申请实施例的相关装置。

请参见图16,图16是本申请实施例提供的一种车辆100的结构示意图,所述车辆100包括主车载控制单元101和一个或多个从车载控制单元102。该车辆100可以为上述系统中的车辆100,该主车载控制单元101可以为上述系统中的主车载控制单元101,该从车载控制单元102可以为上述系统中的从车载控制单元102其中,各个单元的详细描述如下。

所述主车载控制单元101,用于获取目标请求,所述目标请求包括目标业务信息,所述目标业务信息用于获取目标功能关联的目标文件,所述目标功能为所述一个或多个从车载控制单元102中的目标从车载控制单元102实现的功能;向服务器发送所述目标请求;接收所述目标请求请求获取的所述目标文件;将所述目标文件发送至所述目标从车载控制单元102,所述目标文件用于指示所述目标从车载控制单元根据所述目标文件实现所述目标功能。

在一种可能的实现方式中,所述主车载控制单元101,还用于对所述目标文件进行签名验证;在所述目标文件签名验证成功的情况下,所述主车载控制单元101执行所述将所述目标文件发送至所述目标从车载控制单元102的操作。

在一种可能的实现方式中,所述目标从车载控制单元102,还用于校验所述目标文件的合法性;在所述目标文件的合法性校验成功的情况下,所述目标从车载控制单元102根据所述目标文件实现所述目标功能。

在一种可能的实现方式中,所述目标请求还包括所述目标从车载控制单元的硬件信息;所述目标文件中包括根据所述硬件信息生成的设备特征码;所述目标从车载控制单元102,在用于校验所述目标文件的合法性时,具体用于:判断所述硬件信息和所述设备特征码是否匹配;在所述硬件信息和所述设备特征码匹配的情况下,判定所述目标文件为合法文件。

在一种可能的实现方式中,所述主车载控制单元101,还用于根据所述目标业务信息和所述第一车辆中目标从车载控制单元安装的至少一个软件对应的至少一个软件版本信息,检测所述目标从车载控制单元102是否安装所述目标功能对应的软件。

在一种可能的实现方式中,在所述目标从车载控制单元102未安装所述目标功能对应的软件的情况下,所述主车载控制单元101,还用于向所述服务器发送所述目标功能对应的软件的安装包获取请求。

在一种可能的实现方式中,所述主车载控制单元101,还用于接收所述服务器根据所述安装包获取请求发送的安装包,并对所述安装包进行签名验证;在所述安装包签名验证成功的情况下,将所述安装包发送至所述目标从车载控制单元102;所述目标从车载控制单元102,还用于根据所述安装包安装所述目标功能对应的软件,并基于所述软件和所述目标文件实现所述目标功能。

在一种可能的实现方式中,所述目标请求还包括所述第一车辆对应的至少一个软件版本信息,所述主车载控制单元101,还用于接收所述服务器发送的所述目标功能对应的软件的安装包,并对所述安装包进行签名验证,所述安装包是所述服务器根据所述目标业务信息和所述软件版本信息检测到所述第一车辆(中的目标从车载控制单元)未安装所述目标功能对应的软件时发送的;在所述安装包签名验证成功的情况下,将所述安装包发送至所述目标从车载控制单元102;所述目标从车载控制单元102,用于根据所述安装包安装所述目标功能对应的软件,并基于所述软件和所述目标文件实现所述目标功能。

在一种可能的实现方式中,所述第一车辆还包括人机交互接口103;所述主车载控制单元101,在用于获取目标请求时,具体用于通过所述人机交互接口103获取所述目标请求。

在一种可能的实现方式中,所述主车载控制单元101,还用于所述目标功能的状态发送至所述服务器和/或人机交互接口103,所述目标功能的状态包括所述目标功能是否实现和/或所述目标功能的有效期。

在一种可能的实现方式中,所述目标请求还包括所述目标功能的有效期、所述第一车辆的硬件信息和所述第一车辆中目标从车载控制单元安装的至少一个软件对应的至少一个软件版本信息中的一个或多个;所述目标文件是所述服务器根据所述目标业务信息、所述目标功能的有效期、所述硬件信息和所述至少一个软件版本信息中的一个或多个生成的。

在一种可能的实现方式中,所述目标文件包括所述目标功能的使用许可license文件。

需要说明的是,本申请实施例中所描述的车辆100中的主车载控制单元101和目标从车载控制单元102可参见上述图12-图15中所述的方法实施例中的主车载控制单元和从车载控制单元相关描述,此处不再赘述。

可以理解的是,车辆100还可以运用计算机、现代传感、信息融合、通讯、人工智能及自动控制等技术,集成智能驾驶系统、生活服务系统、安全防护系统、位置服务系统以及用车服务系统等功能,本申请对此不作具体限定,也不再赘述。

请参见图17,图17是本申请实施例提供的另一种车辆100的结构示意图,该车辆100可以为上述系统中的车辆100,所述车辆100可以包括获取单元401,发送单元402和接收单元403,其中,各个单元的详细描述如下。

获取单元401,用于获取目标请求,所述目标请求包括目标业务信息,所述目标业务信息用于获取目标功能关联的目标文件;

发送单元402,用于向服务器发送所述目标请求;

接收单元403,用于接收所述目标请求请求获取的所述目标文件,所述目标文件用于指示所述车辆实现所述目标功能。

在一种可能的实现方式中,所述获取单元401,具体用于通过ota技术获取目标请求,所述目标请求包括目标业务信息,所述目标业务信息用于获取目标功能关联的目标文件。

在一种可能的实现方式中,所述发送单元402,具体用于通过ota技术向服务器发送所述目标请求。

在一种可能的实现方式中,所述车辆还包括:

签名验证单元404,用于对所述目标文件进行签名验证;在所述目标文件签名验证成功的情况下,所述车辆根据所述目标文件实现所述目标功能。

在一种可能的实现方式中,所述车辆100还包括:

合法性验证单元405,用于校验所述目标文件的合法性;在所述目标文件的合法性校验成功的情况下,所述车辆根据所述目标文件实现所述目标功能。

在一种可能的实现方式中,所述目标请求还包括所述车辆的硬件信息;所述目标文件中包括根据所述硬件信息生成的设备特征码;所述合法性验证单元405,具体用于:判断所述硬件信息和所述设备特征码是否匹配;在所述硬件信息和所述设备特征码匹配的情况下,判定所述目标文件为合法文件。

在一种可能的实现方式中,所述车辆100还包括:

安装检测单元406,用于根据所述目标业务信息和所述车辆对应的至少一个软件版本信息,检测所述车辆是否安装所述目标功能对应的软件。

在一种可能的实现方式中,所述发送单元402,还用于在所述车辆未安装所述目标功能对应的软件的情况下,向所述服务器发送所述目标功能对应的软件的安装包获取请求。

在一种可能的实现方式中,所述车辆100还包括:

第一安装单元407,用于接收所述服务器根据所述安装包获取请求发送的安装包,并对所述安装包进行签名验证;在所述安装包签名验证成功的情况下,根据所述安装包安装所述目标功能对应的软件,并基于所述软件和所述目标文件实现所述目标功能。

在一种可能的实现方式中,所述目标请求还包括所述车辆对应的至少一个软件版本信息,所述车辆还包括:

第二安装单元408,用于接收所述服务器发送的所述目标功能对应的软件的安装包,并对所述安装包进行签名验证,所述安装包是所述服务器根据所述目标业务信息和所述软件版本信息检测到所述车辆未安装所述目标功能对应的软件时发送的;在所述安装包签名验证成功的情况下,根据所述安装包安装所述目标功能对应的软件,并基于所述软件和所述目标文件实现所述目标功能。

在一种可能的实现方式中,所述车辆包括主车载控制单元和一个或多个从车载控制单元,所述目标功能为所述一个或多个从车载控制单元中的目标从车载控制单元实现的功能;所述接收单元403,具体用于:通过所述主车载控制单元接收所述目标请求请求获取的所述目标文件;通过所述主车载控制单元将所述目标文件发送至所述目标从车载控制单元,所述目标文件用于指示所述目标从车载控制单元根据所述目标文件实现所述目标功能。

在一种可能的实现方式中,所述车辆还包括人机交互接口,所述获取单元401,具体用于通过所述人机交互接口获取所述目标请求。

在一种可能的实现方式中,所述发送单元402,还用于将所述目标功能的状态发送至所述服务器,所述目标功能的状态包括所述目标功能是否实现和/或所述目标功能的有效期。

在一种可能的实现方式中,所述目标请求还包括所述目标功能的有效期、所述车辆的硬件信息和所述车辆对应的至少一个软件版本信息中的一个或多个;所述目标文件是所述服务器根据所述目标业务信息、所述目标功能的有效期、所述硬件信息和所述至少一个软件版本信息中的一个或多个生成的。

在一种可能的实现方式中,所述目标文件包括所述目标功能的使用许可license文件。

需要说明的是,本申请实施例中所描述的车辆中各功能单元的功能可参见上述图11至图15所述的方法实施例的相关描述,此处不再赘述。

请参见图18,图18是本申请实施例提供的一种服务器300的结构示意图;该服务器300可以为上述系统中的服务器300,所述服务器可以包括接收单元501,生成单元502和发送单元503,其中,各个单元的详细描述如下。

接收单元501,用于接收第一车辆的发送的目标请求,所述目标请求包括目标业务信息,所述目标业务信息用于获取目标功能关联的目标文件;

生成单元502,用于根据所述目标请求生成对应的所述目标文件;

发送单元503,用于将所述目标文件发送至所述第一车辆,所述目标文件用于指示所述第一车辆实现所述目标功能。

在一种可能的实现方式中,所述接收单元501,具体用于通过ota技术接收所述第一车辆的发送的目标请求。

在一种可能的实现方式中,发送单元503,具体用于通过ota技术将所述目标文件发送至所述第一车辆。

在一种可能的实现方式中,所述服务器300还包括:签名单元504,用于对所述目标文件进行签名。

在一种可能的实现方式中,所述目标请求还包括所述第一车辆对应的至少一个软件版本信息;所述服务器300还包括:安装检测单元505,用于根据所述至少一个软件版本信息和所述目标业务信息检测所述第一车辆是否安装所述目标功能对应的软件;

所述发送单元503,还用于在所述第一车辆未安装所述目标功能对应的软件的情况下,向所述第一车辆发送所述目标功能对应的软件的安装包,所述安装包用于所述第一车辆根据所述安装包安装所述目标功能对应的软件。

在一种可能的实现方式中,所述目标请求还包括所述目标功能的有效期、所述第一车辆的硬件信息和所述第一车辆对应的至少一个软件版本信息中的一个或多个。

在一种可能的实现方式中,所述生成单元502具体用于:

根据所述第一车辆的硬件信息生成设备特征码;

根据所述第一车辆对应的至少一个软件版本信息生成资源控制项和功能控制项;

根据所述目标业务信息、所述目标功能的有效期、所述设备特征码、资源控制项和功能控制项生成所述目标文件。

在一种可能的实现方式中,所述接收单元501,还用于接收所述第一车辆发送的所述目标功能的状态,所述目标功能的状态包括所述目标功能是否开通和/或所述目标功能的有效期。

在一种可能的实现方式中,所述目标文件包括所述目标功能的使用许可license文件。

需要说明的是,本申请实施例中所描述的服务器中各功能单元的功能可参见上述图11-图15所述的方法实施例的相关描述,此处不再赘述。

如图19所示,图19是本申请实施例提供的一种设备的结构示意图。车辆和服务器,均可以以图19中的结构来实现,该设备60包括至少一个处理器601,至少一个存储器602、至少一个通信接口603。此外,该设备还可以包括天线等通用部件,在此不再详述。

处理器601可以是通用中央处理器(cpu),微处理器,特定应用集成电路(application-specificintegratedcircuit,asic),或一个或多个用于控制以上方案程序执行的集成电路。

通信接口603,用于与其他设备或通信网络通信,如ota服务器、密钥服务器、车载内部的设备等。

存储器602可以是只读存储器(read-onlymemory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(randomaccessmemory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、只读光盘(compactdiscread-onlymemory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。

其中,所述存储器602用于存储执行以上方案的应用程序代码,并由处理器601来控制执行。所述处理器601用于执行所述存储器602中存储的应用程序代码。

图19所示的设备为车辆100时,存储器602存储的代码可执行以上图11至图15提供的基于ota技术获取文件的方法,比如获取目标请求,所述目标请求包括目标业务信息,所述目标业务信息用于获取目标功能关联的目标文件;向服务器发送所述目标请求;接收所述目标请求请求获取的所述目标文件,所述目标文件用于指示所述第一车辆实现所述目标功能。

需要说明的是,本申请实施例中所描述的车辆中各功能单元的功能可参见上述图11至图15所述的方法实施例中第一车辆所执行的操作相关描述,此处不再赘述。

图19所示的设备为服务器300时,存储器602存储的代码可执行以上图11至图15提供的基于ota技术获取文件的方法,比如接收第一车辆的发送的目标请求,所述目标请求包括目标业务信息,所述目标业务信息用于获取目标功能关联的目标文件;根据所述目标请求生成对应的所述目标文件;将所述目标文件发送至所述第一车辆,所述目标文件用于指示所述第一车辆实现所述目标功能。

需要说明的是,本申请实施例中所描述的服务器中各功能单元的功能可参见上述图11至图15所述的方法实施例中服务器所执行操作的相关描述,此处不再赘述。

本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的任意一种基于ota技术获取文件的方法的部分或全部步骤。

本申请实施例还提供一种计算机程序,该计算机程序包括指令,当该计算机程序被计算机执行时,使得计算机可以执行任意一种基于ota技术获取文件的方法的部分或全部步骤。

本申请实施例还提供一种基于ota技术获取文件的系统,所述系统包括服务器和车辆;所述车辆,为图16或图17对应的实施例中提供的任意一种所述的车辆;所述服务器,为图18对应的实施例中提供的任意一种所述的服务器。

本申请实施例还提供了一种芯片系统,该芯片系统包括处理器,用于支持车辆或服务器实现上述方面中所涉及的功能,例如,例如接收或处理上述方法中所涉及的数据和/或信息。

在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存车辆或服务器必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可能可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。

上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。根据这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以为个人计算机、服务器或者网络设备等,具体可以是计算机设备中的处理器)执行本申请各个实施例上述方法的全部或部分步骤。其中,而前述的存储介质可包括:u盘、移动硬盘、磁碟、光盘、只读存储器(read-onlymemory,rom)或者随机存取存储器(randomaccessmemory,ram)等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1