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

ECU数据刷写方法、ECU数据刷写装置、车载终端及介质

文献发布时间:2023-06-19 11:16:08


ECU数据刷写方法、ECU数据刷写装置、车载终端及介质

技术领域

本申请属于汽车技术领域,尤其涉及一种ECU数据刷写方法、ECU数据刷写装置、车载终端及计算机可读存储介质。

背景技术

在车载终端中,通常需要实现电子控制单元(Electronic Control Unit,ECU)的数据刷写功能,该数据刷写功能用于将新的程序包更新至ECU中。目前,不同车型的ECU对数据刷写逻辑有不同的要求,在现有的安装于车载终端的ECU刷写软件中,需要使用多重条件语句(if…else…)来判断当前需要对哪种车型的ECU进行数据刷写,从而使用对应的数据刷写逻辑实现ECU的数据刷写功能。因此,现有的ECU刷写软件的耦合性较大。当业务特别复杂时,通过判断if分支来处理业务会存在多种问题,特别是在增加新车型的数据刷写逻辑时,需要考虑各功能模块之间的依赖性以及融合处理,需要修改大量的代码,甚至修改软件架构,开发人员改动难度高、工作量大,后期也不便于维护。

发明内容

有鉴于此,本申请提供了一种ECU数据刷写方法、ECU数据刷写装置、车载终端及计算机可读存储介质,可以降低车载终端进行ECU刷写业务处理时各刷写算法模块的耦合度,提高刷写算法模块的可移植性,减少开发人员的开发维护难度和工作量。

第一方面,本申请提供了一种ECU数据刷写方法,包括:

获取待刷写数据和目标车辆的车型信息,上述待刷写数据为当前需要写入上述目标车辆的ECU的数据;

根据上述车型信息,在算法模块集合中确定目标刷写算法模块,其中,上述算法模块集合包括至少一个刷写算法模块,上述目标刷写算法模块实现上述车型信息指示的车型的ECU所要求的刷写逻辑;

通过执行上述目标刷写算法模块将上述待刷写数据更新至上述目标车辆的电子控制单元。

可选地,上述算法模块集合中的各刷写算法模块共用一个公共接口,上述通过执行上述目标刷写算法模块将上述待刷写数据更新至上述目标车辆的ECU,包括:

通过调用上述公共接口,发起对上述目标刷写算法模块的操作请求;

响应上述操作请求,通过执行上述目标刷写算法模块将上述待刷写数据更新至上述目标车辆的ECU。

可选地,获取上述目标车辆的车型信息的方法包括:

将上述目标车辆的VIN码上传至服务器,以指示上述服务器根据上述VIN码查询上述目标车辆的车型信息;

接收上述服务器下发的上述目标车辆的车型信息。

可选地,上述ECU数据刷写方法还包括:

每间隔预设周期向服务器发送模块更新请求;

接收上述服务器响应于上述模块更新请求发送的更新文件;

基于上述更新文件更新上述算法模块集合中的刷写算法模块。

可选地,上述ECU数据刷写方法还包括:

若上述算法模块集合中不存在与上述目标车辆的车型信息对应的刷写算法模块,则向服务器发送模块获取请求,其中,上述模块获取请求携带有上述目标车辆的车型信息;

接收上述服务器发送的与上述目标车辆的车型信息对应的刷写算法模块;

将接收到的刷写算法模块加入到上述算法模块集合中。

可选地,在上述通过执行上述目标刷写算法模块将上述待刷写数据更新至上述目标车辆的ECU之后,上述ECU数据刷写方法还包括:

接收上述目标车辆的ECU反馈的刷写结果;

若上述刷写结果指示刷写失败,则向服务器发送模块更新请求;

接收上述服务器响应于上述模块更新请求发送的更新文件;

基于上述更新文件更新上述目标刷写算法模块。

第二方面,本申请提供了一种ECU数据刷写装置,包括:

获取单元,用于获取待刷写数据和目标车辆的车型信息,上述待刷写数据为当前需要写入上述目标车辆的ECU的数据;

确定单元,用于根据上述车型信息,在算法模块集合中确定目标刷写算法模块,其中,上述算法模块集合包括至少一个刷写算法模块,上述目标刷写算法模块实现上述车型信息指示的车型的ECU所要求的刷写逻辑;

发送单元,用于通过执行上述目标刷写算法模块将上述待刷写数据更新至上述目标车辆的ECU。

可选地,上述算法模块集合中的各刷写算法模块共用一个公共接口,上述发送单元包括:

请求发起子单元,用于通过调用上述公共接口,发起对上述目标刷写算法模块的操作请求;

数据发送子单元,用于响应上述操作请求,通过执行上述目标刷写算法模块将上述待刷写数据更新至上述目标车辆的ECU。

可选地,上述获取单元,具体用于将上述目标车辆的VIN码上传至服务器,以指示上述服务器根据上述VIN码查询上述目标车辆的车型信息;接收上述服务器下发的上述目标车辆的车型信息。

可选地,上述ECU数据刷写装置还包括:

请求间隔发送单元,用于每间隔预设周期向服务器发送模块更新请求;

更新文件接收单元,用于接收上述服务器响应于上述模块更新请求发送的更新文件;

刷写算法模块更新单元,用于基于上述更新文件更新上述算法模块集合中的刷写算法模块。

可选地,上述ECU数据刷写装置还包括:

获取请求发送单元,用于若上述算法模块集合中不存在与上述目标车辆的车型信息对应的刷写算法模块,则向服务器发送模块获取请求,其中,上述模块获取请求携带有上述目标车辆的车型信息;

模块接收单元,用于接收上述服务器发送的与上述目标车辆的车型信息对应的刷写算法模块;

目标模块确定单元,用于将接收到的刷写算法模块加入到上述算法模块集合中。

可选地,上述ECU数据刷写装置还包括:

结果接收单元,用于接收上述目标车辆的ECU反馈的刷写结果;

更新请求发送单元,用于若上述刷写结果指示刷写失败,则向服务器发送模块更新请求;

文件接收单元,用于接收上述服务器响应于上述模块更新请求发送的更新文件;

模块更新单元,用于基于上述更新文件更新上述目标刷写算法模块。

第三方面,本申请提供了一种车载终端,上述车载终端包括存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现如上述第一方面的方法的步骤。

第四方面,本申请提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现如上述第一方面的方法的步骤。

第五方面,本申请提供了一种计算机程序产品,上述计算机程序产品包括计算机程序,上述计算机程序被一个或多个处理器执行时实现如上述第一方面的方法的步骤。

由上可见,本申请方案中首先获取待刷写数据和目标车辆的车型信息,然后根据上述车型信息,在算法模块集合中确定目标刷写算法模块,其中,上述算法模块集合包括至少一个刷写算法模块,上述目标刷写算法模块实现上述车型信息指示的车型的ECU所要求的刷写逻辑,最后通过执行上述目标刷写算法模块将上述待刷写数据更新至上述目标车辆的ECU。通过本申请方案,对不同车型所要求的刷写逻辑进行划分,由不同的刷写算法模块实现不同车型的刷写逻辑,在进行ECU刷写业务处理时,不同的刷写算法模块可以自由切换,从而降低了各刷写算法模块的耦合度,提高了刷写算法模块的可移植性,减少了开发人员的开发维护难度和工作量。可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。

附图说明

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

图1是本申请实施例提供的ECU数据刷写方法的实现流程图;

图2是本申请实施例提供的程序类图;

图3是本申请实施例提供的ECU数据刷写装置的结构框图;

图4是本申请实施例提供的车载终端的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

在车载终端中,需要实现电子控制单元(Electronic Control Unit,ECU)的数据刷写功能,通过ECU的数据刷写功能,可以在线更新ECU中的ECU程序,其中,车载终端可以是远程信息处理器(TelematicsBOX,TBOX)。目前,不同车型的ECU对数据刷写逻辑有不同的要求,在现有的安装在车载终端的ECU刷写软件中,需要使用多重条件语句(if…else…)来判断当前需要对哪种车型的ECU进行数据刷写,从而使用对应的数据刷写逻辑实现ECU的数据刷写功能。也即是说,目前ECU刷写软件是将各种不同车型的数据刷写逻辑耦合在一起的。因此,当业务特别复杂时,通过判断if分支来处理业务会存在多种问题,特别是在增加新车型的ECU数据刷写逻辑时,需要考虑各刷写算法模块之间的依赖性以及融合处理,需要修改大量的代码,甚至修改软件架构,开发人员改动难度高、工作量大,后期也不便于维护。

基于此,本申请实施例提出了一种ECU数据刷写方法、ECU数据刷写装置、车载终端及计算机可读存储介质,对不同车型的ECU所要求的刷写逻辑进行划分,每种车型的ECU对应一个刷写算法模块,由不同的刷写算法模块实现不同车型ECU的刷写逻辑。在本申请实施例中,每个刷写算法模块均为一个独立的模块,各刷写算法模块之间不存在依赖关系,在进行ECU刷写业务处理时,不同的刷写算法模块之间可以自由切换,从而降低了各模块的耦合度,提高了刷写算法模块的可移植性,减少了开发人员的开发维护难度和工作量。为了说明本申请实施例所提出的技术方案,下面通过具体实施例来进行说明。

下面对本申请实施例提供的一种ECU数据刷写方法进行描述。请参阅图1,该ECU数据刷写方法应用于目标车辆上的车载终端,该车载终端可以是远程信息处理器TBOX,包括:

步骤101,获取待刷写数据和目标车辆的车型信息。

在本申请实施例中,目标车辆为用户当前需要进行ECU数据刷写的车辆,待刷写数据为用户当前需要更新至目标车辆的ECU中的数据,例如,如果用户需要升级目标车辆的ECU中的ECU程序,则待刷写数据可以是ECU程序包。具体地,车载终端可以从指定的服务器获取待刷写数据和目标车辆的车型信息,当车载终端需要获取目标车辆的车型信息时,车载终端可以先采集目标车辆的车辆识别号码(Vehicle Identification Number,VIN),然后将采集到的VIN码上传至服务器。服务器可以根据该VIN码查询目标车辆的车型信息,并将目标车辆的车型信息下发至车载终端。

步骤102,根据车型信息,在算法模块集合中确定目标刷写算法模块。

在本申请实施例中,车载终端获取到目标车辆的车型信息后,可以根据该目标车辆的车型信息,在算法模块集合中确定目标刷写算法模块,其中,算法模块集合包括至少一个刷写算法模块,不同的刷写算法模块实现不同车型的ECU所要求的刷写逻辑(比如车载终端与ECU的通讯连接建立逻辑和指令封装逻辑等),目标刷写算法模块实现的是目标车辆的车型信息指示的车型的ECU(即目标车辆的车型)所要求的刷写逻辑。

举例来说,假设算法模块集合包括刷写算法模块1、刷写算法模块2和刷写算法模块3,刷写算法模块1实现的是车型A的ECU所要求的刷写逻辑,刷写算法模块2实现的是车型B的ECU所要求的刷写逻辑,刷写算法模块3实现的是车型C的ECU所要求的刷写逻辑。在目标车辆为车型A的情况下,根据获取到的目标车辆的车型信息,可以将刷写算法模块1确定为目标刷写算法模块。

步骤103,通过执行目标刷写算法模块将待刷写数据更新至目标车辆的ECU。

在本申请实施例中,由于目标刷写算法模块实现了目标车辆的车型的ECU所要求的刷写逻辑,因此,通过执行该目标刷写算法模块,车载终端可以将待刷写数据更新(烧录)至目标车辆的ECU中,其中,车载终端可以通过车载诊断系统(On Board Diagnostics,OBD),使用CAN线实现与ECU之间的通信。目标车辆的ECU在接收到该待刷写数据后,可以将该待刷写数据写入到ECU的闪存中,以完成一次ECU数据刷写。

由上可见,本申请方案中首先获取待刷写数据和目标车辆的车型信息,然后根据上述车型信息,在算法模块集合中确定目标刷写算法模块,其中,上述算法模块集合包括至少一个刷写算法模块,上述目标刷写算法模块实现上述车型信息指示的车型的ECU所要求的刷写逻辑,最后通过执行上述目标刷写算法模块将上述待刷写数据更新至上述目标车辆的ECU。通过本申请方案,对不同车型所要求的刷写逻辑进行划分,由不同的刷写算法模块实现不同车型的刷写逻辑,在进行ECU刷写业务处理时,不同的刷写算法模块可以自由切换,从而降低了各模块的耦合度,提高了刷写算法模块的可移植性,减少了开发人员的开发维护难度和工作量。

可选地,上述步骤102具体包括:

根据车型信息与刷写算法模块的对应关系,在算法模块集合中查找与目标车辆的车型信息对应的刷写算法模块;

若查找到与目标车辆的车型信息对应的刷写算法模块,则将查找到的刷写算法模块确定为目标刷写算法模块。

在本申请实施例中,可以在车载终端中预先设置车型信息与刷写算法模块的对应表,该对应表存储有车型信息与刷写算法模块的对应关系,在该对应表中,任一车型信息对应的刷写算法模块实现了该车型信息指示的车型的ECU所要求的刷写逻辑。车载终端通过该对应表,可以在算法模块集合中查找与目标车辆的车型信息对应的刷写算法模块。如果在算法模块集合中查找到了与目标车辆的车型信息对应的刷写算法模块,则可以将查找到的刷写算法模块确定为目标刷写算法模块。

可选地,算法模块集合中的各刷写算法模块可以共用一个公共接口,基于此,上述步骤103具体包括:

A1、通过调用公共接口,发起对目标刷写算法模块的操作请求;

A2、响应操作请求,通过执行目标刷写算法模块将待刷写数据更新至ECU。

在本申请实施例中,算法模块集合中的各刷写算法模块可以设计为实现同一个接口,该接口即为各刷写算法模块共用的公共接口。通过调用该公共接口,可以发起对目标刷写算法模块的操作请求。然后响应于该操作请求,车载终端可以执行目标刷写算法,以将待刷写数据更新至目标车辆的ECU。通过调用公共接口的方式,可以实现各个刷写算法模块之间的自由切换,从而降低了各模块的耦合度,提高了刷写算法模块的可移植性,减少了开发人员的开发维护难度和工作量。

可选地,上述步骤A1具体包括:

通过主程序的上下文对象调用公共接口,发起对目标刷写算法模块的操作请求。

在本申请实施例中,主程序也称主函数(main function),是程序开始运行的地方。为了屏蔽主程序对刷写算法模块的直接访问,可以在主程序与刷写算法模块之间设计一个上下文(Context)类,该上下文类起到承上启下的作用,其中封装的是在算法模块集合中确定目标刷写算法模块的行为和规则。因此,通过主程序的上下文对象(即上下文类对应的对象),即可发起对目标刷写算法模块的操作请求。具体地,请参阅图2,StrategyPatternBrushEcu为主类,包含有主函数main(),可以使用上下文对象;Context为上下文类,可以调用公共接口Strategy,该公共接口Strategy包含有用于执行刷写操作的方法doBrushECU();WeichaiEcu、ComminsEcu、YuchaiEcu以及XichaiEcu均为刷写算法模块,分别在方法doBrushECU()中实现不同车型的ECU所要求的刷写逻辑。

可选地,上述ECU数据刷写方法还包括:

每间隔预设周期向服务器发送模块更新请求;

接收服务器响应于模块更新请求发送的更新文件;

基于更新文件更新算法模块集合中的刷写算法模块。

在本申请实施例中,车载终端可以定期对算法模块集合中的刷写算法模块进行检测更新,具体地,车载终端可以每间隔预设周期向服务器发送一次模块更新请求,其中,预设周期可以基于刷写算法模块的平均更新频率适当设定,比如预设周期可以是一个星期。服务器每次接收到模块更新请求,均会响应于该模块更新请求在服务器本地查找用于更新算法模块集合中各刷写算法模块的更新文件,然后将更新文件发送至车载终端。最后,车载终端可以基于该更新文件更新算法模块集合中的各刷写算法模块,使得算法模块集合中的刷写算法模块更新至最新版本。

考虑到在汽车行业的发展过程中,可能会不断地出现新车型,当目标车辆为新车型时,车载终端无法在算法模块集合中查找到该目标车辆的车型信息对应的刷写算法模块。基于此,上述ECU数据刷写方法还包括:

若算法模块集合中不存在与目标车辆的车型信息对应的刷写算法模块,则向服务器发送模块获取请求;

接收服务器发送的与目标车辆的车型信息对应的刷写算法模块;

将接收到的刷写算法模块确定为目标刷写算法模块。

在本申请实施例中,如果在算法模块集合中不存在与目标车辆的车型信息对应的刷写算法模块,则可以向指定的服务器发送模块获取请求,该模块获取请求携带有目标车辆的车型信息。需要说明的是,开发人员每当开发完成新车型所要求的刷写算法模块后,会将该刷写算法模块存储至该指定的服务器。该指定的服务器在接收到车载终端发送的模块获取请求后,响应于该模块获取请求,可以从模块获取请求中提取出目标车辆的车型信息,然后从服务器本地查找到与该目标车辆的车型信息对应的刷写算法模块,并将与该目标车辆的车型信息对应的刷写算法模块发送至车载终端。车载终端接收到服务器发送的刷写算法模块后,可以将接收到的刷写算法模块加入到算法模块集合中。如此一来,当用户下一次需要进行ECU数据刷写时,车载终端可以直接从算法模块集合中查找到与目标车辆的车型信息对应的刷写算法模块。

可选地,在上述步骤103之后还包括:

接收目标车辆的ECU反馈的刷写结果;

若刷写结果指示刷写失败,则向服务器发送模块更新请求;

接收服务器响应于模块更新请求发送的更新文件;

基于更新文件更新目标刷写算法模块。

在本申请实施例中,车载终端与ECU进行通信,可以接收ECU反馈的刷写结果,该刷写结果用于指示是否成功将待刷写数据写入到ECU的闪存中。如果刷写结果指示刷写失败,即表明未成功将待刷写数据写入到ECU的闪存中,此时,车载终端可以向指定的服务器发送模块更新请求,该模块更新请求携带有目标刷写算法模块的版本号。服务器接收到模块更新请求后,可以从模块更新请求中提取出目标刷写算法模块的版本号,并根据版本号在服务器本地查找用于更新目标刷写算法模块的更新文件,然后将更新文件发送至车载终端。最后,车载终端可以基于更新文件更新目标刷写算法模块,使得目标刷写算法模块更新至最新版本,从而解决了因目标刷写算法模块的版本过低导致的刷写失败问题。

对应于上文所提供的ECU数据刷写方法,本申请实施例还提供了一种ECU数据刷写装置,应用于目标车辆上的车载终端。如图3所示,本申请实施例中的ECU数据刷写装置300包括:

获取单元301,用于获取待刷写数据和目标车辆的车型信息,上述待刷写数据为当前需要写入上述目标车辆的ECU的数据;

确定单元302,用于根据上述车型信息,在算法模块集合中确定目标刷写算法模块,其中,上述算法模块集合包括至少一个刷写算法模块,上述目标刷写算法模块实现上述车型信息指示的车型的ECU所要求的刷写逻辑;

发送单元303,用于通过执行上述目标刷写算法模块将上述待刷写数据更新至上述目标车辆的ECU。

可选地,上述算法模块集合中的各刷写算法模块共用一个公共接口,上述发送单元303包括:

请求发起子单元,用于通过调用上述公共接口,发起对上述目标刷写算法模块的操作请求;

数据发送子单元,用于响应上述操作请求,通过执行上述目标刷写算法模块将上述待刷写数据更新至上述目标车辆的ECU。

可选地,上述获取单元301,具体用于将上述目标车辆的VIN码上传至服务器,以指示上述服务器根据上述VIN码查询上述目标车辆的车型信息;接收上述服务器下发的上述目标车辆的车型信息。

可选地,上述ECU数据刷写装置300还包括:

请求间隔发送单元,用于每间隔预设周期向服务器发送模块更新请求;

更新文件接收单元,用于接收上述服务器响应于上述模块更新请求发送的更新文件;

刷写算法模块更新单元,用于基于上述更新文件更新上述算法模块集合中的刷写算法模块。

可选地,上述ECU数据刷写装置300还包括:

获取请求发送单元,用于若上述算法模块集合中不存在与上述目标车辆的车型信息对应的刷写算法模块,则向服务器发送模块获取请求,其中,上述模块获取请求携带有上述目标车辆的车型信息;

模块接收单元,用于接收上述服务器发送的与上述目标车辆的车型信息对应的刷写算法模块;

目标模块确定单元,用于将接收到的刷写算法模块加入到上述算法模块集合中。

可选地,上述ECU数据刷写装置300还包括:

结果接收单元,用于接收上述目标车辆的ECU反馈的刷写结果;

更新请求发送单元,用于若上述刷写结果指示刷写失败,则向服务器发送模块更新请求;

文件接收单元,用于接收上述服务器响应于上述模块更新请求发送的更新文件;

模块更新单元,用于基于上述更新文件更新上述目标刷写算法模块。

由上可见,本申请方案中首先获取待刷写数据和目标车辆的车型信息,然后根据上述车型信息,在算法模块集合中确定目标刷写算法模块,其中,上述算法模块集合包括至少一个刷写算法模块,上述目标刷写算法模块实现上述车型信息指示的车型的ECU所要求的刷写逻辑,最后通过执行上述目标刷写算法模块将上述待刷写数据更新至上述目标车辆的电子控制单元。通过本申请方案,对不同车型所要求的刷写逻辑进行划分,由不同的刷写算法模块实现不同车型的刷写逻辑,在进行ECU刷写业务处理时,不同的刷写算法模块可以自由切换,从而降低了各模块的耦合度,提高了刷写算法模块的可移植性,减少了开发人员的开发维护难度和工作量。

对应于上文所提供的数据刷写方法,本申请实施例还提供了一种车载终端,请参阅图4,本申请实施例中的车载终端4包括:存储器401,一个或多个处理器402(图4中仅示出一个)及存储在存储器401上并可在处理器上运行的计算机程序。其中:存储器401用于存储软件程序以及单元,处理器402通过运行存储在存储器401的软件程序以及单元,从而执行各种功能应用以及数据处理。具体地,处理器402通过运行存储在存储器401的上述计算机程序时实现以下步骤:

获取待刷写数据和目标车辆的车型信息,上述待刷写数据为当前需要写入上述目标车辆的ECU的数据;

根据上述车型信息,在算法模块集合中确定目标刷写算法模块,其中,上述算法模块集合包括至少一个刷写算法模块,上述目标刷写算法模块实现上述车型信息指示的车型的ECU所要求的刷写逻辑;

通过执行上述目标刷写算法模块将上述待刷写数据更新至上述目标车辆的ECU。

假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,上述算法模块集合中的各刷写算法模块共用一个公共接口,上述通过执行上述目标刷写算法模块将上述待刷写数据更新至上述目标车辆的ECU,包括:

通过调用上述公共接口,发起对上述目标刷写算法模块的操作请求;

响应上述操作请求,通过执行上述目标刷写算法模块将上述待刷写数据更新至上述目标车辆的ECU。

在上述第一种可能的实施方式作为基础而提供的第三种可能的实施方式中,获取上述目标车辆的车型信息的方法包括:

将上述目标车辆的VIN码上传至服务器,以指示上述服务器根据上述VIN码查询上述目标车辆的车型信息;

接收上述服务器下发的上述目标车辆的车型信息。

在上述第一种可能的实施方式作为基础,或者上述第二种可能的实施方式作为基础,或者上述第三种可能的实施方式作为基础而提供的第四种可能的实施方式中,处理器402通过运行存储在存储器401的上述计算机程序时还实现以下步骤:

每间隔预设周期向服务器发送模块更新请求;

接收上述服务器响应于上述模块更新请求发送的更新文件;

基于上述更新文件更新上述算法模块集合中的刷写算法模块。

在上述第一种可能的实施方式作为基础,或者上述第二种可能的实施方式作为基础,或者上述第三种可能的实施方式作为基础而提供的第五种可能的实施方式中,处理器402通过运行存储在存储器401的上述计算机程序时还实现以下步骤:

若上述算法模块集合中不存在与上述目标车辆的车型信息对应的刷写算法模块,则向服务器发送模块获取请求,其中,上述模块获取请求携带有上述目标车辆的车型信息;

接收上述服务器发送的与上述目标车辆的车型信息对应的刷写算法模块;

将接收到的刷写算法模块加入到上述算法模块集合中。

在上述第一种可能的实施方式作为基础,或者上述第二种可能的实施方式作为基础,或者上述第三种可能的实施方式作为基础而提供的第六种可能的实施方式中,在上述通过执行上述目标刷写算法模块将上述待刷写数据更新至上述目标车辆的ECU之后,处理器402通过运行存储在存储器401的上述计算机程序时还实现以下步骤:

接收上述目标车辆的ECU反馈的刷写结果;

若上述刷写结果指示刷写失败,则向服务器发送模块更新请求;

接收上述服务器响应于上述模块更新请求发送的更新文件;

基于上述更新文件更新上述目标刷写算法模块。

应当理解,在本申请实施例中,所称处理器402可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器401可以包括只读存储器和随机存取存储器,并向处理器402提供指令和数据。存储器401的一部分或全部还可以包括非易失性随机存取存储器。例如,存储器401还可以存储设备类别的信息。

由上可见,本申请方案中首先获取待刷写数据和目标车辆的车型信息,然后根据上述车型信息,在算法模块集合中确定目标刷写算法模块,其中,上述算法模块集合包括至少一个刷写算法模块,上述目标刷写算法模块实现上述车型信息指示的车型的ECU所要求的刷写逻辑,最后通过执行上述目标刷写算法模块将上述待刷写数据更新至上述目标车辆的ECU。通过本申请方案,对不同车型所要求的刷写逻辑进行划分,由不同的刷写算法模块实现不同车型的刷写逻辑,在进行ECU刷写业务处理时,不同的刷写算法模块可以自由切换,从而降低了各模块的耦合度,提高了刷写算法模块的可移植性,减少了开发人员的开发维护难度和工作量。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

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

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者外部设备软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

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

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

上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关联的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读存储介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机可读存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括是电载波信号和电信信号。

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

相关技术
  • ECU数据刷写方法、ECU数据刷写装置、车载终端及介质
  • ECU刷写数据长度的确定方法、装置、电子设备及介质
技术分类

06120112860103