一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于软件大版本的车载软件版本管控方法及系统与流程

2022-05-06 07:39:34 来源:中国专利 TAG:


1.本发明涉及车载软件远程升级技术领域,具体涉及基于软件大版本的车载软件版本管控技术。


背景技术:

2.随着网联车技术的发展,各大车厂为了减少问题车辆的召回,及时处理售后问题,迭代更新市场车辆功能,提升用户体验,均在深入研究和运用车载设备软件的远程升级技术,但现目前要么采用车辆各个软件按照单个软件分别升级,要么车辆所有软件做成整包升级。由于一辆车往往可升级的软件较多,车辆各个软件按照单个单个软件升级,则无法保证车载软件版本的一致性,导致市场车辆软件版本状态混乱,车辆各软件间常常还相互依赖,不可避免地出现软件间的兼容性问题。车辆按照整包软件升级,则升级软件的文件过大,升级耗时长,还要求特殊的整车软件架构,而且会出现多数并不更新的软件,也需要跟着升级。


技术实现要素:

3.本发明的目的是提供一种基于软件大版本的车载软件版本管控方法及系统,解决的技术问题:目前车辆软件的升级方式有二,其一是按照单个软件分别升级,其二是将车辆所有软件做成整包升级;针对前者,由于一辆车往往可升级的软件多,如按照单个软件升级,无法保证车载软件版本的一致性,且车辆各软件之间通常相互依赖,软件之间不兼容。针对后者,升级软件的文件过大,升级耗时长,还要求特殊的整车软件架构,且会出现多数并不更新的软件也需跟着升级。为解决上述技术问题,本发明采用的技术方案为:一种基于软件大版本的车载软件版本管控方法,包括以下步骤:s01:创建基于车系车型配置组的软件大版本及其具体软件版本;s02:构建基于所述软件大版本的升级任务;s03:基于所述软件大版本的升级任务检测。
4.优选地,在所述s01中,基于车系车型配置组的软件大版本及其具体软件版本的具体创建流程为:s011:配置车系软件全集;s012:创建车型配置组;s013:设置车型配置组下含有的车型配置;s014:设置车型配置组的软件集合;s015:创建车型配置组的一个软件大版本;s016:根据软件集合设置大版本下每个软件具体版本。
5.优选地,
在所述s02中,所述升级任务的具体构建流程为:s021:创建车系版本分发的升级任务;s022:设置任务发布给哪个配置组;s023:选择发布配置组下某个的大版本;s024:设置其他任务配置;s025:设置任务发布范围;s026:任务启用。
6.优选地,在所述s03中,基于所述软件大版本的升级任务的具体检测流程为:s031:接收终端发送的升级任务检测请求;s032:软硬件信息校验及信息补充;s033:判断上传信息是否合格,如果是,执行下一步;s034:获取车辆所属车系及车型配置;s035:通过车型配置找所属车型配置组;s036:判断是否属于一个配置组,如果是,执行下一步;s037:获取车型配置组的软件列表;s038:判断终端上传软件信息是否与软件列表匹配,如果是,执行下一步;s039:获取配置组相关联的激活状态的任务;s040:判断是否存在任务信息,如果是,执行下一步;s041:任务列表按大版本大于终端版本并由低到高排序;s042:按任务顺序查看升级范围是否匹配,是否有更新包信息;s043:判断是否匹配到任务,如果是,执行下一步;s044:车系相关信息、大版本及其软件包信息组装到任务中。
7.优选地,在所述s033中,如果否,跳转执行s031;在所述s036中,如果否,跳转执行s031;在所述s038中,如果否,跳转执行s031;在所述s040中,如果否,跳转执行s031;在所述s043中,如果否,跳转执行s031。
8.本发明还提供一种基于软件大版本的车载软件版本管控系统,包括:创建模块,用于创建基于车系车型配置组的软件大版本及其具体软件版本;构建模块,用于构建基于所述软件大版本的升级任务;检测模块,用于基于所述软件大版本的升级任务检测。
9.优选地,在所述创建模块中,基于车系车型配置组的软件大版本及其具体软件版本的具体创建流程为:配置车系软件全集;创建车型配置组;设置车型配置组下含有的车型配置;设置车型配置组的软件集合;创建车型配置组的一个软件大版本;根据软件集合设置大版本下每个软件具体版本。
10.优选地,
在所述构建模块中,所述升级任务的具体构建流程为:创建车系版本分发的升级任务;设置任务发布给哪个配置组;选择发布配置组下某个的大版本;设置其他任务配置;设置任务发布范围;任务启用。
11.优选地,在所述检测模块中,基于所述软件大版本的升级任务的具体检测流程为:接收终端发送的升级任务检测请求;软硬件信息校验及信息补充;判断上传信息是否合格,如果是,执行下一步;获取车辆所属车系及车型配置;通过车型配置找所属车型配置组;判断是否属于一个配置组,如果是,执行下一步;获取车型配置组的软件列表;判断终端上传软件信息是否与软件列表匹配,如果是,执行下一步;获取配置组相关联的激活状态的任务;判断是否存在任务信息,如果是,执行下一步;任务列表按大版本大于终端版本并由低到高排序;按任务顺序查看升级范围是否匹配,是否有更新包信息;判断是否匹配到任务,如果是,执行下一步;车系相关信息、大版本及其软件包信息组装到任务中。
12.优选地,如果上传信息不合格,则执行接收终端发送的升级任务检测请求的任务;如果不属于一个配置组,则执行接收终端发送的升级任务检测请求的任务;如果终端上传软件信息不与软件列表匹配,则执行接收终端发送的升级任务检测请求的任务;如果不存在任务信息,则执行接收终端发送的升级任务检测请求的任务;如果没匹配到任务,则执行接收终端发送的升级任务检测请求的任务。
13.通过采用上述技术方案,本发明可达到的有益技术效果陈述如下:通过构建车辆所属车型配置分组的软件大版本、按照软件集合配置软件大版本的下述软件的具体软件版本、配置升级任务、车辆升级任务检测,实现基于大版本管理车辆软件版本的一致性。在本发明中,集中化管理车辆可升级软件,通过构筑车辆升级软件大版本,一方面统一了车辆可升级软件的版本状态,使得市场相同车型的车辆的软件状态不再混乱,另一方面,有了软件大版本的概念,使得管理者控制软件集合中多个软件间的同升同降、升级先后顺序变得容易,保证了软件间的兼容性。以软件大版本为粒度进行升级任务发布和升级任务下发,使得车厂能够很方便的统一管理某个升级任务的版本特性,也为后续功能可售奠定了基础。
附图说明
14.图1为本发明的总逻辑流程图;图2为构建车辆所属车型配置组的软件大版本极其相关软件信息子逻辑流程图;图3为车系软件集合示意图;图4为车系、车型配置组、车型软件集合关系示意图;图5为车型配置组设置软件大版本及其具体软件版本示意图;图6为构建基于软件大版本的升级任务子逻辑流程图;图7为基于软件大版本的车辆升级任务检测子逻辑流程图。
具体实施方式
15.下面结合附图对本发明作进一步说明。
16.本发明提供一种基于软件大版本的车载软件版本管控方法,包括以下步骤:第一步,创建基于车系车型配置组的软件大版本及其具体软件版本。
17.具体地,管理员登录ota云端系统,进入系统提供的车系ota配置页面,按照车系区别某一类车,这一类车的ota行为是一致的。首先,需要选择一个车系,给该车系配置该车系下的所有的可升级软件,通常车系下有很多款不同的车型,每款车型可升级软件可能不一样,有的车型可升级的软件较多,有的则较少,不同车型同一个升级对象,可能对应的软件也是不一样的。通过创建车型配置组来对不同车型进行分组,将具有同样升级软件集合的多个车型分配到同一个车型配置组来进行统一管理。然后就可以设置车型配置组的升级软件集合,该软件集合是上面配置的车系软件集合的子集。该车型配置组下的所有车型的车辆的软件必须全部在车型配置组配置的升级软件集合当中。接着,需要给该车型配置组创建软件大版本,先创建基线版本,基线版本为初始版本,也即车辆出厂时的版本,然后根据迭代或者软件更新情况创建更高版本的软件大版本。当创建好软件大版本以后,需要给每个软件大版本分别设置软件集合中每个软件的具体的版本,设置具体版本时需要当前配置的软件大版本下的某个具体软件的版本应当介于较高软件大版本和较低软件大版本中该软件的版本。当设置完某个软件大版本下的所有软件的具体版本后,即创建成功了一个车系的一个车型配置组的一个软件大版本,然后就可以创建升级任务了。
18.第二步,构建基于软件大版本的升级任务。
19.管理员登录ota云端系统,进入系统提供的车系任务管理页面,按照车系区别某一类车,这一类车的ota行为是一致的。首先,需要选择一个车系,创建一条该车系的升级任务,设置任务发布给前面创建的某个配置组,选择该任务要发布该配置组的某个大版本,然后还可以设置其他任务信息,如升级预计耗时,最大部署次数,最大安装次数,最大回滚次数,升级方式等。然后,设置任务的发布范围,任务的发布范围主要用来设置该车系下哪些车辆可以检测到某个升级任务,可以将该任务发布给单个车,或者一个车辆分组,也可以发布给车型配置组中的某一个车型配置的车辆,还可以发布给某个地区该车型配置组的车辆等等,灵活的发布范围设置,满足了像内测、公测等升级运营场景。设置好任务发布范围后,则可以启用该升级任务。此时,满足升级范围条件的车辆就可以检测到这个升级任务了。
20.第三步,基于软件大版本的车辆升级任务检测。
21.当构建好基于软件大版本的升级任务后,车辆即可进行升级任务检测。当一个车辆的升级任务检测请求达到ota云端系统后,系统首先需要校验软硬件信息是否合乎规范,然后补充相关信息,如车辆所属租户、车架号和当前的位置信息等,如果上传的信息不合规范,则返回错误信息,否则,从车厂系统中获取该车辆所属的车系、车型信息,通过车型可以找到该车辆所属的配置组,此时,需要校验配置组的软件集合列表和该车辆的软件列表是否匹配,如果不匹配,则需要记录该车辆及其软硬件信息,并标识为软件异常车辆,给后续管理员处理。当车辆的软件列表信息是该车型配置组的软件集合的子集,则认为该车辆软件信息是合规的。拉取当前发布该配置组的启用状态下的所有的升级任务,并去掉任务发布大版本不高于当前车辆大版本的升级任务,然后按照升级任务发布的大版本进行升序排序,顺序查看每个任务的升级范围是否包含该车辆,顺序查看是为了保证该车辆不跳大版本升级,一旦发现车辆满足升级范围,则查看软件集合中是否有较高版本的软件即是否有更新包,如果没有较高版本的软件即没有更新包,则继续下一个任务的判定,否则当前任务
即是检测到的需要车辆升级的升级任务。最后,将车系相关配置信息、大版本信息及其需要更新的软件包信息组装到任务信息中返回给车辆,车辆开始升级任务。
22.将上述步骤结合附图详细说明。
23.如图1所示,上述步骤主要是在ota云端系统运行,还涉及车载终端。通过构建软件大版本及其相关软件信息、构建基于软件大版本的升级任务、基于软件大版本的车辆升级任务检测几个步骤协作完成。
24.在第一步中,如图2所示,登录到ota云端系统,进入到系统提供的车系ota配置页面,该页面已经提供了车厂所有的车系信息,选择一个车系,如车系p90。配置车系p90的最大支持的ota软件全集,如图3所示,将车系p90的所有需要进行ota升级的软件加入到列表中,按照升级对象和软件件号进行区分,如升级对象apa,对应的软件的软件号9111115-po21,有可能会出现不同车型的同一升级对象软件不兼容,则需要增加两个不同软件件号的软件,如图3中升级对象thu_os分别有9111782-m52和9111782-m49两种软件。
25.为了解决车系下不同车型同一升级对象有不同软件的情况,通过创建车型配置组来对不同车型进行分组,即将具有相同升级软件集合的多个车型分配到同一个车型配置组来进行统一管理。然后设置车型配置组的升级软件集合,该软件集合是上面配置的车系软件集合的子集。该车型配置组下的所有车型的车辆的软件必须全部在车型配置组配置的升级软件集合当中。否则不能进行升级。如图4所示,车系p90下有创建了两个车型配置组p90_conf_g_01和p90_conf_g_02,两个配置组的thu_os的软件不同,且p90_conf_g_02能够升级的软件较p90_conf_g_01少,但二者的软件集合均是车系p90软件结合的子集。每个配置组下有多个车型,如p90_conf_g_01有车型p90_model_01、p90_model_02和p90_model_03,同样的p90_model_01、p90_model_02和p90_model_03的软件列表也是p90_conf_g_01的子集,同时也是车系p90的软件集合的子集。
26.设置好车型配置组以后,每个车型配置组就可以按照软件大版本管理自己的软件状态了。可以统一规定大版本的命名规范,按照车系_主版本号.次版本号_日期进行大版本设置,如p90_v001.01_20210120,并设置基线版本,基线版本为初始版本,也即车辆出厂时的版本,它应当是最小的版本,如p90_v000.00_00000000。然后就可以根据迭代或者软件更新情况创建更高版本的软件大版本,如p90_v008.01_20210521。
27.当创建好车型配置组的软件大版本以后,需要给每个软件大版本分别设置软件集合中每个软件的具体的版本,设置具体版本时要求当前车型配置组的软件大版本下的某个具体软件的版本,应当介于较高软件大版本和较低软件大版本中该软件的版本。如图5所示,车型配置组p90_conf_g_02下创建了一些软件大版本,有基线版本p90_v000.00_00000000,其他的迭代的版本p90_v001.01_20210608、p90_v002.01_20210909等,其中软件大版本p90_v001.01_20210608中各软件的版本应当大于或者等于p90_v000.00_00000000中对应软件的版本,并小于等于p90_v002.01_20210909中对应软件的版本,软件大版本p90_v002.01_20210909p90_v001.01_20210608中各软件的版本应当大于或者等于p90_v001.01_20210608中对应软件的版本,如软件9111733-bh01三个软件大版中的软件版本分别为:v0001.0001《v0021.0001《v0025.0001,软件9211601-cr01三个软件大版中的软件版本分别为:v0001.0001《v0008.6001=v0008.6001。
28.当设置完某个软件大版本下的所有软件的具体版本后,即创建成功了一个车系的
一个车型配置组的一个软件大版本,然后就可以创建升级任务了。
29.在第二步中,如图6所示,登录到ota云端系统,进入到系统提供的车系ota升级任务配置页面,该页面已经提供了车厂所有的车系信息,选择一个车系,如车系p90。创建车系p90的一个升级任务,设置任务发布给前面创建的某个配置组,选择该任务要发布该配置组的某个大版本,然后还可以设置其他任务信息,如升级预计耗时,最大部署次数,最大安装次数,最大回滚次数,升级方式等。如创建升级任务名称为升级任务a,发布给车型配置组p90_conf_g_02,发布的软件大版本是p90_v001.01_20210608。设置升级预计耗时28分钟,最大部署次数、最大安装次数、最大回滚次数均设置为2次,升级方式为选择升级。为了说明问题,此处再配置一个升级任务b,发布给车型配置组p90_conf_g_02,发布的软件大版本是p90_v002.01_20210909。设置升级预计耗时20分钟,最大部署次数、最大安装次数、最大回滚次数均设置为2次,升级方式为选择升级。
30.接着,设置升级任务a和升级任务b的发布范围,任务的发布范围主要用来设置该车系下哪些车辆可以检测到这个升级任务,可以将该任务发布给单个车,或者一个车辆分组,也可以发布给车型配置组中的某一个车型的车辆,还可以发布给某个地区该车型配置组的车辆等等,灵活的发布范围设置,满足了像内测、公测等升级运营场景。如设置升级任务a和升级任务b均发布给车型p90_model_06。设置好任务发布范围后,启用该升级任务。此时,满足升级范围条件的车辆就可以检测到这个升级任务了。即车型为p90_model_06的车辆可以匹配到升级任务了。
31.在第三步中,如图7所示,当一个车辆p90_model_06_0001的升级任务检测请求到达ota云端系统后,假设车辆p90_model_06_0001当前状态为软件大版为p90_v001.01_20210608,各软件情况为软件9111782-m49版本v0012.3401,软件9211601-cr01版本v0008.6001,软件9111733-bh01版本v0021.0001,软件9111711-bh05版本v0001.0001,软件9111715-ai01版本v0061.0001,车辆p90_model_06_0001上报的软件等信息均是准确的。ota云端系统从车厂系统中获取该车辆p90_model_06_0001所属的车系为p90,车型为p90_model_06,通过车型p90_model_06找到该车辆所属的配置组为p90_conf_g_02,然后校验配置组的软件集合列表和该车辆的软件列表是否匹配,发现车辆p90_model_06_0001上报的软件列表是配置组p90_conf_g_02的软件集合的子集,可以正常检测。如果不匹配,则需要记录车辆p90_model_06_0001当前的软件等信息,并标识为软件异常车辆,给后续管理员处理。
32.ota云端系统发现配置组p90_conf_g_02有两个启用的升级任务,分别是升级任务a和升级任务b,去掉任务发布大版本不高于当前车辆大版本的升级任务a,然后按照升级任务发布的大版本进行升序排序,此时只有升级任务b及其发布软件大版本p90_v002.01_20210909,则不排序。顺序查看车辆p90_model_06_0001是否满足每个任务的升级范围,顺序查看是为了保证该车辆不跳大版本升级,发现车辆p90_model_06_0001的车型为p90_model_06,满足升级任务b设置的升级范围,则比对升级任务发布的软件大版本p90_v002.01_20210909和车辆p90_model_06_0001上报的软件版本,查看是否有较高版本的软件,发现有较高版本的软件,分别是软件9111782-m49版本v0015.6091、软件9111733-bh01版本v0025.0001,软件9111711-bh05版本v0002.0001,软件9111715-ai01版本v0062.0001,即升级任务b是车辆p90_model_06_0001需要进行升级的升级任务。最后啊,将车系相关配
置信息、大版本信息及其需要更新的软件包信息组装到任务信息中返回给车辆,车辆开始升级任务。
33.本发明还提供一种基于软件大版本的车载软件版本管控系统,包括:创建模块,用于创建基于车系车型配置组的软件大版本及其具体软件版本;构建模块,用于构建基于软件大版本的升级任务;检测模块,用于基于软件大版本的升级任务检测。
34.具体地,在创建模块中,基于车系车型配置组的软件大版本及其具体软件版本的具体创建流程为:配置车系软件全集;创建车型配置组;设置车型配置组下含有的车型配置;设置车型配置组的软件集合;创建车型配置组的一个软件大版本;根据软件集合设置大版本下每个软件具体版本。
35.具体地,在构建模块中,所述升级任务的具体构建流程为:创建车系版本分发的升级任务;设置任务发布给哪个配置组;选择发布配置组下某个的大版本;设置其他任务配置;设置任务发布范围;任务启用。
36.具体地,在检测模块中,基于所述软件大版本的升级任务的具体检测流程为:接收终端发送的升级任务检测请求;软硬件信息校验及信息补充;判断上传信息是否合格,如果是,执行下一步;获取车辆所属车系及车型配置;通过车型配置找所属车型配置组;判断是否属于一个配置组,如果是,执行下一步;获取车型配置组的软件列表;判断终端上传软件信息是否与软件列表匹配,如果是,执行下一步;获取配置组相关联的激活状态的任务;判断是否存在任务信息,如果是,执行下一步;任务列表按大版本大于终端版本并由低到高排序;按任务顺序查看升级范围是否匹配,是否有更新包信息;判断是否匹配到任务,如果是,执行下一步;车系相关信息、大版本及其软件包信息组装到任务中。
37.具体地,如果上传信息不合格,则执行接收终端发送的升级任务检测请求的任务;如果不属于一个配置组,则执行接收终端发送的升级任务检测请求的任务;如果终端上传软件信息不与软件列表匹配,则执行接收终端发送的升级任务检测请求的任务;如果不存在任务信息,则执行接收终端发送的升级任务检测请求的任务;如果没匹配到任务,则执行接收终端发送的升级任务检测请求的任务。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献