掌桥专利:专业的专利平台
掌桥专利
首页

软件发布方法、装置、计算机设备以及存储介质

文献发布时间:2023-06-19 18:29:06


软件发布方法、装置、计算机设备以及存储介质

技术领域

本申请涉及面向服务架构的技术领域,更具体地,涉及一种软件发布方法、装置、计算机设备以及存储介质。

背景技术

随着软件定义汽车的发展,基于面向服务架构(Service-OrientedArchitecture,SOA)的车载软件越来越多,然而车载软件的发布还缺乏比较智能化的手段,在车辆下载和安装发布的软件后,容易出现无法稳定运行软件的情况。

发明内容

鉴于上述问题,本申请提出了一种软件发布方法、装置、计算机设备以及存储介质,以实现自动确定目标软件的发布范围,并提高目标软件发布运行的稳定性。

第一方面,本申请实施例提供了一种软件发布方法,所述方法包括:响应于软件发布请求,获取目标软件对应的软件标识;基于所述软件标识、第一对应关系以及第二对应关系,确定所有支持所述目标软件运行的参考车辆,所述第一对应关系包括所述软件标识与服务编号之间的对应关系,所述第二对应关系包括所述服务编号与候选车辆的车辆标识之间的关系,所述服务编号为所述目标软件所关联的面向服务架构SOA服务对应的编号,所述候选车辆支持所述服务编号对应的SOA服务;若目标车辆的运行资源参数满足预设运行条件,则向所述目标车辆发布所述目标软件,所述目标车辆为任一所述参考车辆。

第二方面,本申请实施例提供了一种软件发布装置,所述装置包括:标识获取模块、车辆确定模块以及软件发布模块,其中,标识获取模块用于响应于软件发布请求,获取目标软件对应的软件标识;车辆确定模块用于基于所述软件标识、第一对应关系以及第二对应关系,确定所有支持所述目标软件运行的参考车辆,所述第一对应关系包括所述软件标识与服务编号之间的对应关系,所述第二对应关系包括所述服务编号与候选车辆的车辆标识之间的关系,所述服务编号为所述目标软件所关联的面向服务架构SOA服务对应的编号,所述候选车辆支持所述服务编号对应的SOA服务;软件发布模块用于若目标车辆的运行资源参数满足预设运行条件,则向所述目标车辆发布所述目标软件,所述目标车辆为任一所述参考车辆。

第三方面,本申请实施例提供了一种计算机设备,包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述第一方面提供的软件发布方法。

第四方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述第一方面提供的软件发布方法。

本申请提供的方案,通过响应于软件发布请求,获取目标软件对应的软件标识;基于所述软件标识、第一对应关系以及第二对应关系,确定所有支持所述目标软件运行的参考车辆,所述第一对应关系包括所述软件标识与服务编号之间的对应关系,所述第二对应关系包括所述服务编号与候选车辆的车辆标识之间的关系,所述服务编号为所述目标软件所关联的面向服务架构SOA服务对应的编号,所述候选车辆支持所述服务编号对应的SOA服务;若目标车辆的运行资源参数满足预设运行条件,则向所述目标车辆发布所述目标软件,所述目标车辆为任一所述参考车辆。通过软件标识、第一对应关系以及第二对应关系,自动确定目标软件的发布范围,并且通过获取目标车辆的运行资源参数,判断目标软件向目标车辆下发后能够稳定运行,实现了提高目标软件发布运行稳定性的效果。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了本申请实施例提供的软件发布方法的应用场景图。

图2示出了本申请一个实施例提供的软件发布方法的流程示意图。

图3示出了本申请另一个实施例提供的软件发布方法的流程示意图。

图4示出了本申请另一个实施例中步骤S205的具体流程示意图。

图5示出了本申请实施例提供的软件发布装置的结构框图。

图6示出了本申请实施例提供的一种计算机设备的结构框图。

图7示出了本申请实施例提供的计算机可读存储介质的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。

发明人提出了本申请实施例提供的软件发布方法、装置、计算机设备以及存储介质,通过软件标识、第一对应关系以及第二对应关系,自动确定目标软件的发布范围,并且通过获取目标车辆的运行资源参数,判断目标软件向目标车辆下发后能够稳定运行,实现了提高目标软件发布运行稳定性的效果。其中,具体的软件发布方法在后续实施例中进行详细说明。

下面对本申请实施例提供的软件发布方法的应用场景进行介绍。

请参阅图1,本申请实施例提供的软件发布方法应用于计算机设备300,其中计算机设备300可以为物理服务器、云服务器等,计算机设备300可以与多台车辆100连接。计算机设备300包括存储各个软件对应的软件标识以及与该软件相关联的所有SOA服务的第一对应关系,以及存储每台车辆100及其所能够支持的所有SOA服务的第二对应关系。在发布目标软件之前,计算机设备300可以通过第一对应关系以及第二对应关系,自动确定目标软件的发布范围,同时通过目标车辆100的运行资源参数,判断目标软件是否能够在目标车辆上稳定运行,以实现在软件发布之前预知软件发布后是否能够正常运行的效果。同时,在每个新的软件生成之后,计算机设备300会自动将这个软件所关联的所有SOA服务写入第一对应关系中,在每一个新的车辆100生成时,计算机设备300也会自动收集这个车辆100的车辆标识及其所支持的所有SOA服务,并写入第二对应关系中。也就是说,计算机设备300会自动对第一对应关系以及第二对应关系进行更新,以确保基于第一对应关系和第二对应关系确定的发布范围以及软件运行状况的判断是及时准确的。

下面将结合附图具体描述本申请实施例提供的软件发布方法。

请参阅图2,图2示出了本申请一个实施例提供的软件发布方法的流程示意图,下面将针对图2所示流程进行详细阐述,所述软件发布方法具体可以包括以下步骤:

步骤S110:响应于软件发布请求,获取目标软件对应的软件标识。

在本申请实施例中,用户在需要发布任意目标软件时,可以向计算机设备发送一个软件发布请求,该请求可以包括目标软件对应的版本号、目标软件发布的开始时间、截止时间以及目标软件发布的优先级等设置条件的。计算机设备在接收到软件发布请求后,可以基于软件发布请求中携带的信息,确定用户需求发布的目标软件及其对应的软件标识,进而基于软件标识,确定目标软件的发布范围,也就是可以支持目标软件运行的所有车辆的相关信息。同时,计算机设备还可以基于软件发布请求中携带的信息,对目标软件的发布过程进行管理控制。

在一些实施方式中,计算机设备可以为用户提供一个可视化平台,以便于用户进行软件发布操作。用户可以在浏览器的相关页面中进行发布操作,也可以通过一个单独的应用软件进行。用户可以在可视化平台上选择需求发布的软件对应的版本号、设置软件发布的起止时间以及选择软件发布的优先级等,设置完成后就可以自动创建软件发布请求并发送给计算机设备。

步骤S120:基于所述软件标识、第一对应关系以及第二对应关系,确定所有支持所述目标软件运行的参考车辆,所述第一对应关系包括所述软件标识与服务编号之间的对应关系,所述第二对应关系包括所述服务编号与候选车辆的车辆标识之间的关系,所述服务编号为所述目标软件所关联的面向服务架构SOA服务对应的编号,所述候选车辆支持所述服务编号对应的SOA服务。

在本申请实施例中,计算机设备在基于软件发布请求确定目标软件对应的软件标识后,可以基于预先存储的第一对应关系,查找到目标软件所关联的所有SOA服务及其对应服务编号。其中,第一对应关系包括目标软件的软件标识与目标软件所关联的SOA服务的服务编号之间的对应关系。具体来说,第一对应关系包括了所有软件的软件标识与各个软件分别所关联的SOA服务的服务编号之间的对应关系,计算机设备通过目标软件的软件标识,可以得到目标软件所关联的所有SOA服务的服务编号。

在此基础上,计算机设备还可以进一步基于目标软件所关联的多个SOA服务中每个SOA服务对应的服务编号,以及预先存储的第二对应关系,查找到每个服务编号对应的车辆标识集合,进而通过多个集合之间的交集确定所有支持目标软件运行的参考车辆。其中,每个车辆标识集合中包括多个候选车辆分别对应的车辆标识,一个车辆标识集合可以表征集合中的所有车辆均能够支持集合对应的服务编号所对应的SOA服务。而目标软件对应的多个车辆标识集合之间的交集,可以表征交集中的车辆标识对应的候选车辆能够支持目标软件所关联的所有SOA服务。由此可以确定目标软件对应的参考车辆,也就是目标软件的软件发布范围。

在一些实施方式中,计算机设备接收到的软件发布请求还可以包括用户对目标软件的软件发布范围的限制,如对于车辆型号的限制等。计算机设备在基于目标软件对应的软件标识、第一对应关系以及第二对应关系,确定参考车辆的过程中,还可以预先基于软件发布请求中对软件发布范围的限制,对第二对应关系中的候选车辆进行筛选,其后再基于筛选后的第二对应关系,以及软件标识和第一对应关系,确定参考车辆。

步骤S130:若目标车辆的运行资源参数满足预设运行条件,则向所述目标车辆发布所述目标软件,所述目标车辆为任一所述参考车辆。

在本申请实施例中,计算机设备在确定了所有能够支持目标软件运行的参考车辆后,可以进一步基于这些参考车辆分别对应的运行资源参数,判断参考车辆在获取目标软件后,是否能够稳定运行目标软件。也就是说,计算机设备可以基于参考车辆的运行资源参数,提前预知目标软件在向参考车辆发布后,是否能够正常运行,若运行资源参数符合预设运行条件,则表明该参考车辆在获取目标软件后,可以正常运行目标软件。显然,若基于运行资源参数显示参考车辆不能正常运行目标软件,那么计算机设备可以不向这个参考车辆发布目标软件,由此可以减少目标软件发布后运行不稳定的情况,实现对发布过程的精细化管控。

本申请实施例提供的软件发布方法,通过响应于软件发布请求,获取目标软件对应的软件标识;基于所述软件标识、第一对应关系以及第二对应关系,确定所有支持所述目标软件运行的参考车辆,所述第一对应关系包括所述软件标识与服务编号之间的对应关系,所述第二对应关系包括所述服务编号与候选车辆的车辆标识之间的关系,所述服务编号为所述目标软件所关联的面向服务架构SOA服务对应的编号,所述候选车辆支持所述服务编号对应的SOA服务;若目标车辆的运行资源参数满足预设运行条件,则向所述目标车辆发布所述目标软件,所述目标车辆为任一所述参考车辆。通过软件标识、第一对应关系以及第二对应关系,自动确定目标软件的发布范围,并且通过获取目标车辆的运行资源参数,判断目标软件向目标车辆下发后能够稳定运行,实现了提高目标软件发布运行稳定性的效果。

请参阅图3,图3示出了本申请另一个实施例提供的软件发布方法的流程示意图,下面将针对图3所示流程进行详细阐述,所述软件发布方法具体可以包括以下步骤:

步骤S201:响应于软件发布请求,获取目标软件对应的软件标识。

在本申请实施例中,步骤S201可以参阅其他实施例的内容,在此不再赘述。

步骤S202:基于所述软件标识以及所述第一对应关系,确定所述目标软件所关联的所有SOA服务对应的服务编号,得到多个目标服务编号。

在本申请实施例中,第一对应关系用于记录所有软件的软件标识与各个软件所关联的所有SOA服务分别对应的服务编号之间的对应关系,通常情况下,一个软件的软件标识可以包括多个不同的服务编号。计算机设备可以基于通过软件发布请求得到的目标软件对应的软件标识,在第一对应关系中查找到目标软件所关联的所有SOA服务以及每个SOA服务对应的目标服务编号。由此计算机设备还可以进一步基于目标软件所关联的SOA服务对应的目标服务编号,得到能够支持目标软件运行的所有参考车辆。

在一些实施方式中,计算机设备可以在每一个新的SOA服务建立时,自动获取这个新建SOA服务并为其分配一个独立的与已有服务编号均不同的服务编号。在一些实施方式中,计算机设备还可以通过一个专有的SOA服务注册服务器实现上述收集新建SOA的功能,并在SOA服务注册服务器中存储第一对应关系以及第二对应关系。

步骤S203:基于每个目标服务编号以及所述第二对应关系,确定所述每个目标服务编号对应的车辆标识集合,得到多个车辆标识集合。

在本申请实施例中,计算机设备在通过第一对应关系确定目标软件所关联的所有SOA服务分别对应的目标服务编号后,可以基于每个目标服务编号以及第二对应关系,得到每个目标服务编号对应的车辆标识集合。其中,每个目标服务编号对应的车辆标识集合用于表示集合中的所有车辆标识对应的候选车辆可以支持目标服务编号对应的SOA服务。计算机设备基于目标软件对应的多个目标任务编号可以得到多个车辆标识集合,也就是分别支持任一个SOA服务的所有候选车辆。

在一些实施方式中,每一个新的车辆生成下线时,计算机设备会获取车辆对应的车辆标识以及车辆所支持的所有SOA服务,并将这些数据存储更新至第二对应关系中。

步骤S204:确定所述多个车辆标识集合之间的交集,并将所述交集中的车辆标识对应的候选车辆作为所述参考车辆。

在本申请实施例中,计算机设备在得到多个车辆标识集合后,可以对这多个车辆标识集合求取交集,可以理解的,每个集合中的车辆标识对应的候选车辆能够支持目标服务编号对应的SOA服务,那么多个车辆标识集合之间的交集中的包括的车辆标识所对应的候选车辆,则能够支持所有目标服务编号对应的SOA服务,而由于目标软件关联所有的目标服务编号对应的SOA服务,也就是说,交集中的候选车辆都能够支持目标软件的运行。因此,计算机设备可以将交集中的车辆标识对应的候选车辆作为参考车辆。其中,通过上述步骤的筛选,参考车辆能够支持目标软件所关联的所有SOA服务的运行,但参考车辆在运行过程中,车端的各种资源的利用率在不断发生变化,并不能确保目标软件在参考车辆上可以正常运行。因此,为确保目标软件发布后可以在车辆上稳定地运行,计算机设备还需要进一步基于各个参考车辆对应的运行资源参数对其进行筛选。

步骤S205:向所述目标车辆下发所述目标软件对应的第一说明文件,所述第一说明文件包括所述目标软件对应的第二说明文件的下载地址,所述第二说明文件包括所述目标软件的安装包对应的下载地址。

在本申请实施例中,目标车辆为任一参考车辆。计算机设备在确定目标软件对应的所有参考车辆,也就是确定目标软件的软件发布范围后,可以进一步对参考车辆进行筛选。具体来说,计算机设备可以先向目标车辆下发第一说明文件,用以获取目标车辆的运行资源参数。其中,第一说明文件包括第二说明文件的下载地址,第二说明文件包括目标软件的安装包的下载地址。目标车辆在接收到第一说明文件后,可以基于第一说明文件中的下载地址,向服务器请求下载第二说明文件,进而基于第二说明文件获取目标软件的安装包,而服务器则可以基于目标车辆对于第二说明文件的下载请求,获取目标车辆对应的运行资源参数,用以判断目标软件是否能够在目标车辆上稳定运行。因此,计算机设备可以先向目标车辆下发第一说明文件,并通过第一说明文件以及第二说明文件,间接地向目标车辆发布目标软件,并在此期间实现对目标车辆的筛选。

在一些实施方式中,如图4所示,步骤S205中向目标车辆下发目标软件对应的第一说明文件,包括下述步骤:

步骤S2051:所述第一说明文件包括所述目标软件对应的有效期限以及截止期限,若当前时刻处于所述有效期限内,并且所述当前时刻处于所述截止期限以前,则向所述目标车辆下发所述目标软件对应的第一说明文件。

在本申请实施例中,计算机设备在向目标车辆下发第一说明文件之前,还可以基于第一说明文件中目标软件的有效期限以及截止期限,对目标软件的发布的时间进行判断。其中,目标软件的有效期限是指目标软件可以在有效期限内正常运行,超过有效期限的目标软件可能无法正常运行或者不能再被目标车辆下载;截止期限是针对于目标软件的发布而言,在截止期限之前,通过计算机设备筛选的目标车辆可以下载目标软件对应的安装包,但一旦超过截止期限,还未下载目标软件的目标车辆将无法从计算机设备中下载目标软件的安装包。可以理解的,每个目标软件在软件开发过程中都会对有效期限和截止期限进行设置,并将这两个期限封装在目标软件对应的第一说明文件中。因此,计算机设备在向目标车辆下发第一说明文件之前,还可以判断当前时刻与目标软件对应的有效期限以及截止期限的关系,若当前时刻处于有效期限内,并且处于截止期限之前,那么计算机设备可以向所有目标车辆下发第一说明文件,避免车辆在下载第一说明文件后才发现目标软件已过期的无效操作。

在一些实施方式中,在当前时刻处于有效期限内,并且当前时刻处于截止期限以前的情况下,计算机设备还可以通过判断目标车辆是否处于在线状态来进一步筛选能够获取目标软件的车辆。具体来说,包括:

若当前时刻处于有效期限内,并且当前时刻处于截止期限以前,则确定目标车辆是否处于在线状态;若目标车辆处于在线状态,则向目标车辆发布第一说明文件;若目标车辆处于离线状态,则获取目标车辆的连续离线时长;若连续离线时长小于预设时长,则在目标车辆处于在线状态时向目标车辆下发第一说明文件。

也就是说,在当前时刻处于有效期限内,并且当前时刻处于截止期限以前时,计算机设备还会判断目标车辆是否处于在线状态。若目标车辆处于在线状态,表明目标车辆此时可以立刻下载第一说明文件,那么计算机设备可以向该目标车辆下发第一说明文件,但若目标车辆此时处于离线状态,那么计算机设备可以先将第一说明文件存储在目标车辆对应的云端服务器中,以等待车辆上线。此时目标车辆对应的云端服务器可以记录目标车辆的连续离线时长,若连续离线时长超过预设时长,也就是目标车辆连续预设时长没有被使用,那么目标车辆对应的云端服务器可以终止向该目标车辆发布目标软件,并向计算机设备反馈一个终止发布信息,计算机设备则从目标软件对应的软件发布范围中将该目标车辆剔除。

步骤S2052:若所述当前时刻处于所述有效期限外,则终止所述目标软件的发布。

在本申请实施例中,由上述分析可知,若当前时刻处于目标软件对应的有效期限外,表明此时目标软件已经无法正常运行或者目标软件已经不再支持下载,此时无论哪个车辆得到了目标软件的下载地址,也会出现下载出错的情况,此时限制目标软件下载的并不是目标车辆的限制,而是目标软件自身的时间限制,因此,计算机设备在当前时刻处于有效期限外时,可以直接终止目标软件的发布。

步骤S2053:若所述当前时刻处于所述有效期限内,并且所述当前时刻处于所述截止期限以后,则终止所述目标软件的发布。

在本申请实施例中,若当前时刻处于有效期期限内,但当前时刻处于截止期限之后,表明此时虽然部分目标车辆可以基于下载地址得到目标软件的安装包,但根据软件发布人员的设置,此时软件发布指令已经过期,应当禁止任何车辆下载目标软件。因此,这种情况下,计算机设备也应当直接终止目标软件的发布。

在一些实施方式中,出现当前时刻处于有效期限外,或者当前时刻在有效期限内,但在截止期限以后的情况,都表明此时无论哪一种车辆都无法通过正常的下载得到目标软件的安装包,因此,计算机设备在终止目标软件的发布的同时,还可以输出提示信息,以提示软件开发人员,或者发出软件发布请求的人员,目标软件的发布过程出错。

步骤S206:响应于所述目标车辆基于所述第一说明文件发送的第一下载请求,获取所述目标车辆的运行资源参数,所述第一下载请求用于下载所述第二说明文件。

在本申请实施例中,计算机设备在向所有目标车辆下发目标软件对应的第一说明文件后,目标车辆可以基于第一说明文件中包括的第二说明文件的下载地址,向计算机设备请求下载第二说明文件,也就是向计算机设备发送第一下载请求。此时计算机设备可以响应于第一下载请求,获取目标车辆的运行资源参数,用以计算机设备基于运行资源参数,判断目标软件在目标车辆上运行时是否稳定。其中,目标车辆对应的运行资源参数,可以是与第一下载请求一同发送至计算机设备的,也可以是计算机设备在接收到第一下载请求后,向目标车辆反馈的参数获取指令,以指示目标车辆将运行资源参数发送至计算机设备的。

步骤S207:确定所述目标车辆的运行资源参数是否满足预设运行条件。

在本申请实施例中,计算机设备获取目标车辆对应的运行资源参数后,可以基于运行资源参数所表征的目标车辆的运行状态,判断目标软件在目标车辆上安装运行后,是否能够稳定运行。也就是判断目标车辆对应的运行资源参数是否满足预设运行条件,其中预设运行条件就是目标软件能够稳定运行的车辆对应的运行资源参数。其中,目标车辆的运行资源参数可以是目标车辆的耗时峰值、车机系统CPU/内存使用率峰值等可以表征目标车辆运行性能状态的参数,具体的运行资源参数的设置可以不做限定。

步骤S208:若满足预设运行条件,则向所述目标车辆下发所述第二说明文件。

在本申请实施例中,计算机设备通过将目标车辆对应的运行资源参数与预设运行条件进行比较,可以预计目标软件在目标车辆上安装后运行的稳定性。若目标车辆的运行资源参数满足预设运行条件,那么计算机设备可以向目标车辆下发目标软件对应的第二说明文件。此时目标车辆通过第二说明文件中的下载地址,得到目标软件的安装包后,可以顺利地安装并运行目标软件。

在一些实施方式中,目标软件在开发完成后,会将软件程序打包并上传至云端存储服务器,同时生成目标软件对应的第二说明文件,用以记录目标软件的安装包在云端存储服务器中的存储位置以及安装包校验值。

在一些实施方式中,为确保目标软件的发布过程符合软件发布人员的设定,计算机设备在向目标车辆下发第二说明文件之前,还可以对软件发布的时间进行判断。也就是判断当前时刻与目标软件对应的有效期限以及截止期限的关系。由上述分析可知,若当前时刻处于有效期限以内,并且当前时刻处于截止期限以前,表明此时目标软件的发布仍然有效,计算机设备可以向目标车辆下发第二说明文件,其中若目标车辆处于离线状态,那么计算机设备可以将第二说明文件存入目标车辆对应的云端服务器,若目标车辆的连续离线时长超过预设时长,那么云端服务器可以终止向目标车辆发布目标软件,并向计算机设备反馈发布终止信息,以指示计算机设备将目标车辆从目标软件对应的发布范围中剔除。若当前时刻处于有效期限以内,或者当前时刻处于截止期限之后,那么即使此时目标车辆可以稳定运行目标软件,但基于软件发布人员的时间设定,目标软件的发布已经过期,目标车辆应该无法获取目标软件的安装包,因此,这种情况下,计算机设备可以直接向所有车辆终止目标软件的发布。

步骤S209:接收所述目标车辆反馈的错误指示信息,所述错误指示信息用于指示所述目标车辆对下载的所述目标软件的安装包未通过校验。

在本申请实施例中,目标车辆在接收到目标软件对应的第二说明文件后,可以基于第二说明文件中存储的目标软件的安装包的下载地址,获取目标软件的安装包。并且应当理解的是,目标车辆为确保车机系统运行的安全性,需要在安装目标软件之前对目标软件的安装包进行校验,若校验通过则可以安装目标软件,若校验出错则表明安装包存在错误,可能是目标车辆下载安装包的过程中数据传输错误,或者云端存储的安装包错误,此时目标车辆可以删除安装包,并向计算机设备反馈错误指示信息,以告知计算机设备目标车辆下载的目标软件的安装包未通过校验。

具体来说,目标车辆获取的第二说明文件中包括目标软件的安装包的校验码,目标车辆在通过下载地址获取目标软件的安装包后,也可以基于安装包计算得到一个校验码,这个计算得到的校验码若与第二说明文件中的校验码相同,则表明目标车辆下载的目标软件的安装包安全,反之则说明安装包可能被篡改,以及安装包不安全。

步骤S210:输出所述错误指示信息对应的提示信息。

在本申请实施例中,计算机设备在接收到目标车辆反馈的错误指示信息后,可以输出对应的提示信息,以提示相关人员对目标车辆或目标软件的安装包进行检查和处理。其中,计算机设备可以将错误指示信息对应的提示信息发送至用户终端,并在提示信息中包括出现错误的目标车辆的车辆标识,以及目标软件的软件标识等信息,以便于人工排查错误。

本申请实施例提供的软件发布方法,通过响应于软件发布请求,获取目标软件对应的软件标识,基于软件标识以及第一对应关系,确定目标软件所关联的所有SOA服务对应的服务编号,得到多个目标服务编号;基于每个目标服务编号以及第二对应关系,确定每个目标服务编号对应的车辆标识集合,得到多个车辆标识集合;确定多个车辆标识集合之间的交集,并将交集中的车辆标识对应的候选车辆作为参考车辆;向目标车辆下发目标软件对应的第一说明文件;响应于目标车辆基于第一说明文件发送的第一下载请求,获取目标车辆的运行资源参数;确定目标车辆的运行资源参数是否满足预设运行条件;若满足预设运行条件,则向目标车辆下发第二说明文件。由此通过软件标识、第一对应关系以及第二对应关系,自动确定了目标软件的软件发布范围;并且通过向目标车辆下发第一说明文件以及第二说明文件,间接向目标车辆发布目标软件,并且剔除了运行资源参数不满足预设运行条件的目标车辆,实现了提前预知软件发布后目标软件是否能够稳定运行,并能够对目标软件的发布过程进行精细化管控。

请参阅图5,其示出了本申请实施例提供的一种软件发布装置200的结构框图,软件发布装置200包括:标识获取模块210、车辆确定模块220以及软件发布模块230。其中,标识获取模块210用于响应于软件发布请求,获取目标软件对应的软件标识;车辆确定模块220用于基于软件标识、第一对应关系以及第二对应关系,确定所有支持目标软件运行的参考车辆,第一对应关系包括软件标识与服务编号之间的对应关系,第二对应关系包括服务编号与候选车辆的车辆标识之间的关系,服务编号为目标软件所关联的面向服务架构SOA服务对应的编号,候选车辆支持服务编号对应的SOA服务;软件发布模块230用于若目标车辆的运行资源参数满足预设运行条件,则向目标车辆发布目标软件,目标车辆为任一所述参考车辆。

作为一种可能的实施方式,车辆确定模块220包括编号确定单元、标识确定单元以及车辆确定单元。其中编号确定单元用于基于软件标识以及第一对应关系,确定目标软件所关联的所有SOA服务对应的服务编号,得到多个目标服务编号;标识确定单元用于基于每个目标服务编号以及第二对应关系,确定每个目标服务编号对应的车辆标识集合,得到多个车辆标识集合;车辆确定单元用于确定多个车辆标识集合之间的交集,并将交集中的车辆标识集合对应的候选车辆作为参考车辆。

作为一种可能的实施方式,软件发布模块230包括第一发布单元、资源获取单元、条件判断单元以及第二发布单元。其中,第一发布单元用于向目标车辆下发目标软件对应的第一说明文件,第一说明文件包括目标软件对应的第二说明文件的下载地址,第二说明文件包括目标软件安装包对应的下载地址;资源获取单元用于响应于目标车辆基于第一说明文件发送的第一下载请求,获取目标车辆的运行资源参数,第一下载请求用于下载第二说明文件;条件判断单元用于确定目标车辆的运行资源参数是否满足预设运行条件;第二发布单元用于若满足预设运行条件,则向目标车辆下发第二说明文件。

作为一种可能的实施方式,第一说明文件包括目标软件对应的有效期限以及截止期限,第一发布单元还包括期限判断组件,用于若当前时刻处于有效期限内,并且当前时刻处于截止期限以前,则向目标车辆下发目标软件对应的第一说明文件。

作为一种可能的实施方式,期限判断组件还用于若当前时刻处于有效期限内,并且当前时刻处于截止期限以前,则确定目标车辆是否处于在线状态;若目标车辆处于在线状态,则向目标车辆发布第一说明文件;若目标车辆处于离线状态,则获取目标车辆的连续离线时长;若连续离线时长小于预设时长,则在目标车辆处于在线状态时向目标车辆下发第一说明文件。

作为一种可能的实施方式,第一发布单元还包括发布终止组件,用于若当前时刻处于有效期限外,则终止目标软件的发布;若当前时刻处于有效期限内,并且当前时刻处于截止期限以后,则终止目标软件的发布。

作为一种可能的实施方式,软件发布装置200还包括错误反馈模块,用于接收目标车辆反馈的错误指示信息,错误指示信息用于指示目标车辆对下载的目标软件的安装包未通过校验;输出错误指示信息对应的提示信息。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。

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

综上所述,本申请提供的方案,通过响应于软件发布请求,获取目标软件对应的软件标识;基于所述软件标识、第一对应关系以及第二对应关系,确定所有支持所述目标软件运行的参考车辆,所述第一对应关系包括所述软件标识与服务编号之间的对应关系,所述第二对应关系包括所述服务编号与候选车辆的车辆标识之间的关系,所述服务编号为所述目标软件所关联的面向服务架构SOA服务对应的编号,所述候选车辆支持所述服务编号对应的SOA服务;若目标车辆的运行资源参数满足预设运行条件,则向所述目标车辆发布所述目标软件,所述目标车辆为任一所述参考车辆。通过软件标识、第一对应关系以及第二对应关系,自动确定目标软件的发布范围,并且通过获取目标车辆的运行资源参数,判断目标软件向目标车辆下发后能够稳定运行,实现了提高目标软件发布运行稳定性的效果。

请参考图6,其示出了本申请实施例提供的一种计算机设备300的结构框图。其中,计算机设备300可以为物理服务器、云服务器等。本申请中的计算机设备300可以包括一个或多个如下部件:处理器310、存储器320、以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器320中并被配置为由一个或多个处理器310执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。

处理器310可以包括一个或者多个处理核。处理器310利用各种接口和线路连接整个计算机设备内的各个部分,通过运行或执行存储在存储器320内的指令、程序、代码集或指令集,以及调用存储在存储器320内的数据,执行计算机设备的各种功能和处理数据。可选地,处理器310可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器310可集成中央处理器(CentralProcessing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器310中,单独通过一块通信芯片进行实现。

存储器320可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器320可用于存储指令、程序、代码、代码集或指令集。存储器320可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储计算机设备在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。

请参考图7,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质800中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。

计算机可读存储介质800可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质800包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质800具有执行上述方法中的任何方法步骤的程序代码810的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码810可以例如以适当形式进行压缩。

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

相关技术
  • 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
  • 一种数据存储方法、装置、设备及计算机可读存储介质
  • 消息数据存储方法、装置、计算机设备和存储介质
  • 存储空间配置方法、装置、计算机设备及存储介质
  • 样本存储路径生成方法、装置、计算机设备及存储介质
  • 软件发布方法、软件发布平台、计算机可读存储介质
  • 软件发布方法及装置、计算机可读存储介质、终端设备
技术分类

06120115581803