远程车辆更新安装排程的制作方法

文档序号:13619762阅读:152来源:国知局
本发明涉及车辆,且更具体地涉及以有效和灵活的方式远程更新车辆的一个或多个电子控制单元(ecu)的方法和系统。
背景技术
:诸如动力系统、车身控制系统、防抱死制动系统等的车辆系统越来越多地由一个或多个电子控制单元(ecu)控制。每一个ecu包括用于其特定车辆系统的软件,例如操作控制软件和包括增益和设定值的校准文件。ecu响应于驾驶员需求和车辆状况来控制车辆系统的操作。通过刷新存储在闪存中的软件和安装新的软件版本,随时更新软件,以反映软件改进和更正。也会更新软件以便适应用户喜好。技术实现要素:根据一个或多个示例性实施例,一种更新在具有多个通信总线的车辆中的多个电子控制单元(ecu)的计算机实现的方法包括:基于分配给电子控制单元(ecu)的每一个的优先级和针对电子控制单元(ecu)的每一个而言的每一个更新包的大小,确定更新多个电子控制单元(ecu)的安装顺序。该计算机实现的方法还包括通过根据安装顺序安装相应的更新包来同时更新电子控制单元(ecu)。根据一个或多个示例性实施例,一种更新车辆中的多个电子控制单元(ecu)的装置包括存储器、被配置为与车辆的ecu通信的通信接口,以及与存储器和通信接口耦接的处理器。该处理器访问包括分别与多个ecu对应的多个更新包的安装包。该处理器还基于分配给ecu的每一个的优先级以及每一个更新包的大小来确定更新多个ecu的安装顺序。处理器通过根据安装顺序同时安装更新包的子集来进一步更新ecu。根据一个或多个示例性实施例,一种更新车辆中的多个电子控制单元(ecu)的计算机程序产品包括计算机可读存储介质,该计算机可读存储介质包括计算机可执行指令。计算机可读存储介质包括访问包括分别与多个ecu对应的多个更新包的安装包的指令。计算机可读存储介质包括基于分配给ecu的每一个的优先级以及每一个更新包的大小来确定更新多个ecu的安装顺序的指令。计算机可读存储介质包括通过根据安装顺序同时安装更新包的子集来更新ecu的指令。从以下结合附图对本技术方案的详细描述,本技术方案的上述特征和优点以及其它特征和优点将显而易见。附图说明其它特征、优点和细节仅以示例方式出现在以下对实施例的详细描述中,详细描述参考附图,在附图中:图1是通过诸如移动车辆通信系统等的无线网络远程更新ecu的说明性操作环境;图2示出了车辆通信网络的示例性组件;图3示出了更新车辆中的多个ecu的示例性方法的流程图;图4示出了对针对车辆中多个ecu而言的更新子包进行安装的示例性场景;以及图5示出了对针对车辆中的多个ecu而言的更新进行并行安装的用例。具体实施方式以下描述本质上仅仅是示例性的,且并不意图限制本发明、其应用或用途。应当理解,贯穿整个附图,相应的附图标记表示相似或相应的部件和特征。如本文所使用,术语模块是指下述处理电路,可包括专用集成电路(asic)、电子电路、处理器(共享、专用或组)和执行一个或多个软件或固件程序的存储器、组合逻辑电路和/或提供所描述的功能的其它合适的组件。本文描述的技术方案有助于以有效和灵活的方式远程更新车辆中的电子控制单元(ecu)。更新ecu可包括对控制ecu的软件进行更新。更新一个或多个ecu具有若干障碍。例如,更新取决于车主将车辆带到经销商处进行软件更新。车主可能不会收到更新通知。由于将车辆交给经销商所花费的时间和精力带来不便,车主可能会遗漏有用的更新。此外,当更新任何ecu时,更新过程必须确定针对ecu的更新的软件版本正确并且与车辆中其它ecu中存在的软件版本兼容。例如,考虑具有第一ecu和第二ecu的车辆。如果第一ecu更新到软件版本ecu1-1.1.2,则第二ecu可利用所安装的针对第一ecu的软件版本的ecu2-3.2.1而可兼容,以正常运行。如果第二ecu使用较旧的软件版本,如ecu2-3.1.8,则第二ecu也将在第一ecu更新到软件版本ecu1-1.1.2之前或同时进行更新。因此,本文所述的技术方案例如通过诸如移动车辆通信系统、wifitm等无线通信网络来远程刷新软件来更新ecu并克服上述障碍。当ecu以有线方式更新ecu时,例如在可以将车辆连接到诸如包含更新包的计算机的更新设备的经销商/机修处时,本技术方案也可以操作。此外,本技术方案有利于在单个更新会话中更新车辆中的多个ecu,从而减少安装时间。在软件更新安装期间,本技术方案考虑到多个ecu之间的时序依赖关系。为此,有鉴于受限的串行容量(如时序依赖),本技术方案有助于并行安装更新。图1是通过诸如移动车辆通信系统等的无线网络远程更新ecu的说明性操作环境。图1示出了移动车辆通信系统100。移动通信系统100包括:至少一个移动车辆110(车辆),移动车辆110(车辆)包括车辆通信网络112和远程信息处理设备120;一个或多个无线载波系统140;一个或多个通信网络142;一个或多个陆地网络144;一个或多个客户端,个人或用户计算机150;一个或多个web托管门户160;和一个或多个呼叫中心170。移动车辆110包括与远程信息处理设备120通信的多个电子控制单元(ecu)114。在一个实施例中,移动车辆110被实现为配备有用于发射和接收语音和数据通信的适当硬件和软件的车辆。远程信息处理设备120也称为车辆通信单元(vcu)或远程信息处理单元。在一个实施例中,远程信息处理设备120包括处理器122,处理器122连接到无线调制解调器124、全球定位系统(gps)单元126、车载存储器128(例如非易失性闪存)、麦克风130、一个或多个扬声器132以及嵌入式或车载移动电话134。在一个实施例中,处理器122是微控制器、控制器、主机处理器或车辆通信处理器。在一个示例中,处理器122被实现为专用集成电路(asic)。gps单元126提供车辆的经度和纬度坐标,以及时间和日期戳。车载移动电话系统134是诸如举例而言模拟、数字、双模、双频、多模或多频蜂窝电话的蜂窝式电话。在另一示例中,移动电话系统是在规定频带标称800mhz下工作的模拟移动电话系统。在另一示例中,移动电话系统是在规定频带标称800mhz、900mhz、1900mhz或能够承载数字蜂窝通信的任何合适的频带下工作的数字移动电话系统。处理器122执行作用车辆110内的电子和机械系统的通信、编程和操作模式的各种计算机程序和通信控制和协议算法。在一个实施例中,处理器122是嵌入式系统控制器。在另一个实施例中,处理器122控制远程信息处理设备120、无线载波系统140和呼叫中心170之间的通信。在另一实施例中,处理器122控制无线调制解调器124与移动自组织网络节点之间的通信。在另一个实施例中,处理器122提供确定车辆110的发动机排放性能的处理、分析和控制函数。处理器122被配置为产生和接收在远程信息处理设备120和车辆通信网络112之间发射的数字信号,车辆通信网络112连接到车辆110中的各个电子模块。在一个实施例中,数字信号激活编程模式和操作模式,以及提供数据传送。在另一个实施例中,公用程序利于在车辆110和呼叫中心170之间传送排放数据、排放分析数据、指令、触发和数据请求。移动车辆110经由车辆通信网络112向车辆110内的设备和系统的各个单元发送信号,以执行各种功能,例如监视车辆系统的操作状态、收集和存储来自车辆系统的数据、为各个车辆系统提供指令、数据和程序,以及从远程信息处理设备120呼叫。为了促进各种通信和电子模块之间的交互,车辆通信网络112利用下述接口,诸如控制器区域网络(can)、国际标准化组织(iso)标准9141、高速应用的iso标准11898、低速应用的iso标准11519和用于更高和更低速应用的汽车工程师协会(sae)标准j1850。在一个实施例中,车辆通信网络112在连接的设备之间直接连接。车辆110经由远程信息处理设备120从无线载波系统140发送和接收无线电传输。无线载波系统140被实现为将信号从移动车辆110发射至通信网络142的任何合适的系统。无线载波系统140并入电磁波在部分或整个通信路径上发射信号的任何类型的电信系统。在一个实施例中,无线载波系统140发射模拟音频和/或视频信号。在一个示例中,无线载波系统140发射模拟音频和/或视频信号,例如从am和fm无线电台和发射机发送的那些信号,或者在s频带(美国批准使用)和l频带(在欧洲和加拿大使用)中的数字音频信号。在一个实施例中,无线载波系统140是通过s带(2.3ghz)中的频谱广播的卫星广播系统,s带由美国联邦通信委员会(fcc)为基于卫星的数字音频无线电服务(dars)的全国广播分配。通信网络142包括来自一个或多个移动电话交换局和无线网络的服务。通信网络142将无线载波系统140连接到陆地网络144。通信网络142被实现为用于将无线载波系统140连接到移动车辆110和陆地网络144的任何合适的系统或系统集合。在一个示例中,无线载波系统140包括短消息服务,该消息服务建模在建立诸如is-637sms标准、针对sms的is-136空中接口标准,和gsm03.40和09.02标准的协议之后。类似于寻呼,可以向多个区域接收者广播sms通信。在另一示例中,载波系统140使用根据其它标准的服务,例如符合ieee802.11的无线系统和符合蓝牙的无线系统。陆地网络144是公共交换电话网络(pstn)。在一个实施例中,陆地网络144被实现为因特网协议(ip)网络。在其它实施例中,陆地网络144被实现为有线网络、光网络、光纤网络、另一无线网络、虚拟专用网络(vpn)或其任何组合。陆地网络144连接到一个或多个固定电话。陆地网络144将通信网络142连接到计算机150、web托管门户160和呼叫中心170。通信网络142和陆地网络144将无线载波系统140连接到web托管门户160和呼叫中心170。客户端、个人或用户计算机150包括计算机可用介质,以执行因特网浏览器和因特网接入计算机程序,用于通过陆地网络144和可选地有线或无线通信网络142发送和接收数据到web托管门户160和车辆110。计算机150通过使用诸如超文本传输协议(http)和传输控制协议因特网协议(tcp/ip)的通信标准通过网页界面向web托管门户发送数据。在一个实施例中,数据包括改变车辆110内的电子和机械系统的某些编程和操作模式的指示。在另一实施例中,数据包括对诸如车辆系统性能信息的某些数据的请求。在操作中,诸如车辆设计者或制造工程师的用户利用计算机150与移动车辆110交换高速缓存或存储在web托管门户160中的信息。在一个实施例中,来自客户端软件的车辆系统性能信息被发射至web托管门户160的服务器端软件。在一个实施例中,车辆系统性能信息被存储在web托管门户160处。在另一个实施例中,计算机150包括用于存储所接收的车辆系统性能数据的数据库。在另一个实施例中,为客户端计算机150和web托管门户160实现专用局域网(lan),使得web托管门户作为虚拟专用网络(vpn)运行。web托管门户160包括一个或多个数据调制解调器162、一个或多个web服务器164、一个或多个数据库166和网络168。web托管门户160通过有线直接连接到呼叫中心170,或者通过电话线连接到陆地网络144,陆地网络144连接到呼叫中心17。web托管门户160通过一个或多个数据调制解调器162连接到陆地网络144。陆地网络144发射至和来自调制解调器162的数字数据;随后数据被传送到web服务器164。在一个实现方式中,调制解调器162驻留在web服务器164内。陆地网络144在web托管门户160和呼叫中心170之间发射数据通信。web服务器164经由陆地网络144从计算机150接收各种数据、请求或指令。在替代实施例中,计算机150包括无线调制解调器,以通过无线通信网络142和陆地网络144向web托管门户160发送数据。数据由调制解调器162接收并发送至一个或多个web服务器164。在一个实施例中,web服务器164被实现为能够提供web服务以发射和接收从计算机150到车辆110中的远程信息120的数据的硬件和软件。web服务器164经由网络168发送至或接收来自于一个或多个数据库166的数据传输。在一个实施例中,web服务器164包括用于管理排放性能数据的计算机应用程序和文件。在一个实施例中,一个或多个web服务器164经由网络168联网,以在其诸如数据库166的网络组件中分发车辆发动机排放性能数据。在一个示例中,数据库166是web服务器164的一部分或与web服务器164分离的计算机。在一个实施例中,web服务器164经由调制解调器162并通过陆地网络144向呼叫中心170发送包括车辆系统性能信息的数据传输。呼叫中心170是呼叫被接收且同时被服务或者呼叫同时被发送的位置。在一个实施例中,呼叫中心是远程信息处理呼叫中心,利于至和来自车辆110中的远程信息处理设备120的通信。在一个示例中,呼叫中心是语音呼叫中心,提供呼叫中心中的顾问和移动车辆中的用户之间的口头通信。在另一个示例中,呼叫中心含有这些功能中的每一项功能。在其它实施例中,呼叫中心170和web托管门户160位于相同或不同的设施中。呼叫中心170含有一个或多个语音和数据交换机172、一个或多个通信服务管理器174、一个或多个通信服务数据库176、一个或多个通信服务顾问178和一个或多个网络180。呼叫中心170的交换机172连接到陆地网络144。通过无线载波系统140和/或无线调制解调器124、通信网络142和陆地网络144,交换机172发射来自呼叫中心170的语音或数据传输,并且接收来自移动车辆110中的远程信息处理设备120的语音或数据传输。交换机172接收来自于和发送至一个或多个web托管门户160的数据传输。交换机172经由一个或多个网络180接收来自于或发送至一个或多个通信服务管理器174的数据传输。通信服务管理器174是能够向移动车辆110中的远程信息处理设备120提供通信服务的硬件和软件的组合。通信服务管理器174经由网络180发送至或接收来自于一个或多个通信服务数据库176的数据传输。通信服务管理器174经由网络180发送至或接收来自于一个或多个通信服务顾问178的数据传输。通信服务数据库176经由网络180发送至或接收来自于一个或多个通信服务顾问178的数据传输。通信服务顾问178接收来自于或发送至交换机172的语音或数据传输。通信服务管理器174利于一个或多个服务,例如但不限于登记服务、导航辅助、目录援助、路边援助、商业或住宅援助、信息服务援助、紧急援助、通信援助,和车辆系统性能信息的远程信息处理检索。通过无线载波系统140、通信网络142、陆地网络144、无线调制解调器124、语音和数据交换机172和网络180,通信服务管理器174发射和接收至移动车辆110中的远程信息处理设备120的操作状态、指令和其它类型的车辆数据。通信服务管理器174存储或检索来自通信服务数据库176的车辆系统性能信息。通信服务管理器174向通信服务顾问178提供所请求的信息。在一个实施例中,通信服务顾问178是虚拟顾问。在一个示例中,通信服务顾问178是在服务供应商服务中心处经由远程信息处理设备120与移动车辆110中的服务用户进行口头通信的人。在另一示例中,虚拟顾问被实现为响应于来自移动车辆110中的远程信息处理设备120的请求的合成语音接口。通信服务顾问178向移动车辆110中的远程信息处理设备120提供服务。由通信服务顾问178提供的服务包括登记服务、导航辅助、实时交通咨询、目录援助、路边援助、商业或住宅协助、信息服务援助、紧急援助,和通讯援助。使用语音传输通过无线载波系统140、通信网络142和陆地网络144,或者使用数据传输通过通信服务管理器174和交换机172,通信服务顾问178与移动车辆110中的远程信息处理设备120进行通信。交换机172在语音传输和数据传输之间进行选择。移动车辆110通过向远程信息处理设备120发送语音或数字信号命令来向呼叫中心170发起服务请求,远程信息设备120继而通过无线调制解调器124、无线载波系统140、通信网络142和陆地网络144向呼叫中心170发送指令信号或语音呼叫。在一个实施例中,存储在远程信息处理设备120中的一个或多个触发器使车辆发起服务请求。该触发器例如是多个点火周期、特定时间和日期、截止时间、公里数、绝对全球定位系统(gps)时间戳、对车辆排放性能数据的请求等。移动车辆110包括多个电子控制单元(ecu)114。ecu114响应于驾驶员需求和车辆状况来控制车辆系统操作。包括ecu114的车辆系统的示例是动力传动系统、车身控制系统、防抱死制动系统等。每一个ecu114存储用于其特定车辆系统的软件。通常,ecu114包括执行存储软件和数据的软件和存储器的处理器。在一个实施例中,存储器包括可以被擦除和重写以存储新的软件和数据的闪存。该软件包括操作控制软件和校准文件,校准文件包括增益和设定值。ecu114与远程信息处理设备120通信,以通过无线载波系统140发送和接收诸如软件、数据和状态标志的信息。在一个或多个示例中,远程信息处理设备120响应于接收到更新ecu114的指令,经由移动车辆通信系统100接收更新。图2示出了利于以有效和灵活的方式更新ecu114的车辆通信网络112的示例性组件。例如,远程信息处理设备120接收用于更新一个或多个ecu114的更新包205。替代地或另外地,中央网关模块(而不是远程信息处理设备120)更新ecu114。在一个或多个其它示例中,来自ecu114的ecu更新ecu114(包括/不排除其自身)。因此,尽管在本文所述的示例中,远程信息处理设备120以并行方式安装更新包205以更新ecu114中的一个或多个,但是在其它示例中,不同的组件可能负责安装。在图2的示例中考虑使用更新包205来更新ecu114a-114d。在其它示例中,可以更新更少、更多和/或不同的ecu。如图所示,车辆通信网络112包括多个网络210-280,以与ecu114和移动车辆110的其它部件进行通信。网络210-280可以是利于ecu114和远程信息处理设备120以及ecu114之间的通信的can、以太网等。网络210-280可以各自在带宽容量上变化。例如,网络210-280包括带宽为500kbps的net1210、带宽为2mbps的net2220、带宽为500kbps的net3230、带宽为125kbps的net4240、带宽为500kbps的net5250、带宽为5mbps的net6260、带宽为5mbps的net7270、带宽为2mbps的net8280。在其它示例中,可以使用更少、更多或不同的网络。更新包205包括针对要更新的ecu114a-d的每一个而言的更新子包。针对ecu114a-d的每一个而言的更新子包可以具有与另一个不同的大小。例如,ecu114a的更新子包可以具有与ecu114b不同的大小,等等。因此,安装更新子包的每一个可能需要不同的持续时间。此外,如这里所述,更新ecu114a-d的顺序会影响ecu114和移动车辆110的运行。更新包205可以进一步包括经由车辆通信网络112的其它分支(例如net1210,net2220等)耦接的ecu的子包。因此,将根据利于ecu114继续运行而无需性能损失的优先级顺序来安装更新子包。此外,更新ecu可包括多个部分,例如部分-1和部分-2,其中部分-2必须在部分-1完成之后完成。在一个或多个示例中,来自ecu114的一个或多个ecu的特征和功能在更新期间被禁用。例如,部分-2可包括在安装子包的部分-1之后重新设置或重新配置ecu的参数。替代地或另外地,部分-2可包括清除与ecu相关联的一个或多个诊断故障代码(dtc)。基于由上述条件构成的一个或多个限制,本文所述的技术方案确定了安装排程,其利于在最短的时间内为包括针对多个互连ecu114(诸如ecu114a-d)而言的多个子包的系统安装更新包205。在一个或多个示例中,远程信息处理设备120确定在更新包205中的子包的安装顺序。远程信息处理设备120基于一些参数来确定安装顺序,这些参数诸如子包的安装优先级之类、每一个数据传输总线分组的子包大小、每一总线的传输带宽限制、一些子包优于其它子包的安装优先级的功能限制等或其组合。在一个或多个示例中,基于所确定的安装顺序,远程信息处理设备120在任何限制允许的情况下,最大容量地利用传输带宽将更新子包并行安装。因此,远程信息处理设备确定多个ecu114a-d(和其它ecu)的安装顺序,并且基于该约束以并行/串行方式安装更新包205中的子包。图3示出了更新移动车辆110的多个ecu的示例性方法的流程图。在一个或多个示例中,远程信息处理设备120实现该方法。远程信息处理设备120对更新包205中的更新子包进行排序,如框310所示。在一个或多个示例中,根据与子包相关联的安装优先级对更新子包进行排序。例如,安装优先级表示依此更新ecu114a-d的顺序,以确保兼容性和维护性能。远程信息处理设备120还可以根据对应的子包的大小进一步对更新子包进行排序。例如,如果两个更新子包具有相同的安装优先级,则具有较大大小的子包可能被安排在具有较小大小的子包之前先被安装。具有相同优先级的ecu的顺序基于相应的更新子包的大小来确定。因此,该技术方案利于使用优先级将待更新的ecu一起并行地分组,并且基于更新子包的大小来确定组内的顺序。远程信息处理设备120通过识别哪个子包要起始安装以及哪个子包已经起始来开始并行安装当前优先级的更新子包,如框320a-f所示。远程信息处理设备120限制每一总线(例如网络210-280)同时安装的子包的数量。例如,每一个网络210-280可被分配针对可以跨总线同时安装的多个子包而言的预定最大值。在一个或多个示例中,预定的最大值可以基于每一个总线的带宽容量。因此,远程信息处理设备120确定与要更新的ecu114a-114d相关联的网络,并且进一步确定与相应网络相关联的预定最大值。在一个或多个示例中,远程信息处理设备120在第一网络net1210上开始安装当前优先级最大大小的更新子包,并确定是否达到net1210的最大值,如框320a-f和330所示。如果没有达到最大值,则远程信息处理设备120使用net1210开始安装另一个更新子包。如果达到最大值,则远程信息处理设备120对net1210的剩余的更新子包的安装进行排队。另外,当诸如net1的一个网络达到最大值时,远程信息处理设备120在诸如不在其对应的最大值安装的net2的另一个网络上识别一个或多个相同优先级的其它ecu。在这种情况下,诸如远程信息处理设备120的安装执行设备,遵循相同的过程,以安排具有相同优先级的其它ecu在其它总线中安装。如框340所示,远程信息处理设备120等待已开始将完成的更新子包的一个或多个安装。一旦一个或多个安装完成,则远程信息处理设备120确定是否存在尚未安装的当前优先级的附加更新子包,如框360a所示。如果更新子包被排队,则存在附加的更新子包,且因此,远程信息处理设备120生成事件以开始安装排队的更新子包,如框340和360c所示。远程信息处理设备120重复该过程,以基于每一个网络210-280的预定最大值同时安装多个排队的更新子包。如果所有的子包都正在安装,即在当前批处理之后没有剩下其它待安装的子包,则远程信息处理设备会等待当前批次的安装,并开始安装过程的部分-2,如框360a、360b和380所示。如本文所述,部分-2可包括基于安装来配置参数。如果已经安装了当前优先级的所有更新子包,则远程信息处理设备120确定是否从更新包205中安装剩下待安装的附加更新子包。如果所有更新子包都已被安装,若存在更新子包的部分-2(和/或其它部分),则远程信息处理设备120继续开始安装这些部分。更新安装中的部分-2和其它步骤通常在可忽略的时间内完成,因为这些步骤包括更新ecu114中的参数值。如果所有更新子包尚未安装,则远程信息处理设备120选择下一个优先级,如框390所示。根据如本文所述的网络210-280的预定最大值,远程信息处理设备120进一步重复对更新的当前优先级的更新子包的安装。因此,远程信息处理设备120重复上述步骤,直到更新包205的所有子包都被安装。在一个或多个示例中,远程信息处理设备120可以为相同优先级的所有子包并行地执行针对每一个网络210-280的上述方法。或者,如果每一个子包的优先级别不同,则远程信息处理设备120连续地安装每一个子包,以满足车辆中的功能约束。通过调整子包的优先级,使用本技术方案也可以满足部分并行和部分串行的情况。图4示出了使用本文所述的技术方案安装更新子包的示例场景。在所示的用例a和用例b两者中,相应的五个子包ecu(ecu1、ecu2、ecu3、ecu4和ecu5)待更新。在示例情况下,所有五个ecu都经由相同的net8280与远程信息处理设备120耦接,net8280具有预定的最大值,即3个同时安装。应当理解,在其它示例中,同时安装的预定最大值可以不同。此外,所有五个ecu都具有部分-2安装阶段,只有ecu1更新子包更新学习参数,并且所有五个ecu更新重置dtc值。用例a和用例b之间的区别是,在前者中,所有子包的安装优先级相同(例如,1),而在后者中,ecu2-5的安装优先级是相同的(例如1),且ecu1具有较低的优先级值(例如2)。如图4所示,与ecu2-4的更新子包相比,ecu1的更新子包的大小更大。下表1描述了与更新子包关联的大小。表1更新子包大小ecu1350mbecu2250mbecu3100mbecu4250mbecu580mb使用本文所述的方法,对于用例a,由于更新子包具有相同的优先级,因此更新子包的大小确定安装顺序。因此,远程信息处理设备120开始安装最大子包ecu1子包。由于net88280支持的预定最大子包数量为3,所以远程信息处理设备120开始安装ecu4和ecu2子包(根据它们的大小)。因此,如图4所示,ecu1、ecu2以及ecu4的子包的安装并行(同时)进行。远程信息处理设备对剩余的子包ecu3和ecu5进行排队。ecu1、ecu2和ecu4的同时安装继续进行,直到安装完成;在这种情况下,要考虑ecu2先完成。由于最大值为3,且现在,随着ecu2的完成,仅2个子包在安装,远程信息处理设备120开始安装下一个子包ecu3。因此,远程信息处理设备120现在并行地安装ecu1、ecu4和ecu3子包,而ecu5在排队。此外,以类似的方式,一旦ecu4完成安装,则远程信息处理设备120开始安装ecu5子包。在所有子包都被安装时,在该情况下是ecu1完成安装时,子包完成安装。一旦完成安装部分-1阶段,远程信息处理设备120完成下一个阶段,例如部分-2阶段,更新学习的参数以及重新设置dtc。对于所有子包而言部分-1之后的阶段同时完成。安装的部分并行化减少了安装子包的时间。例如,如果子包以串行方式安装,则安装显然需要比图4的部分并行安装花更多的时间。如果子包并行安装,则所有五个子包的安装需要花费单独安装ecu1子包所需的时间,正如图4所示。应当理解,并行安装使用交错消息(例如,当使用can时)和并行发送消息会减慢数据向ecu的传输。因此,每一个单独的ecu的更新时间会增加,但到不了顺序安装每一个更新子包的总时间的程度。参考用例b,远程信息处理设备120完成具有较高优先级的子包的安装,即具有优先级1的用于ecu2-5的子包。如前所述,远程信息处理设备120开始安装net8的预定最大数量的子包,在这种情况下为3。因此,开始安装前3个最大的子包ecu4、ecu2和ecu3。远程信息处理设备120在将ecu5的安装排队在下一循环。一旦ecu3的安装完成,则远程信息处理设备开始ecu5的安装。因为ecu1具有较低的优先级值,所以在开始安装ecu1之前,远程信息处理设备120首先完成所有具有较高优先级的子包ecu2-5的安装。一旦完成ecu1的安装,远程信息处理设备120则确定所有子包的部分-1阶段已经完成,并且进行到类似于用例a的下一阶段。根据部分并行化的用例b中安装子包的时间比基于子包的优先级的用例a花费的时间要长。在ecu正在更新的示例中,使用单独的网络210-280与远程信息处理设备120通信,远程信息处理设备120可以经由独立网络并行地开始安装更新包。例如,考虑表2的示例场景,其中与表1的示例场景不同,ecu使用不同的网络。表2在一个或多个示例中,远程信息处理设备120经由net1开始同时安装ecu1-3的更新,根据预定的最大起始值3对ecu4的安装进行排队,并经由net3开始安装ecu5。一旦例如ecu3的ecu1-ecu3中的一个完成更新,就可以开始安装ecu1。图5示出了并行安装车辆中的多个ecu的更新的另一用例。如图所示,更新包205包括针对六个ecu的更新子包ecu1-ecu6。在这六个ecu中,除ecu-5以外的每一个ecu都使用net1作为通信总线,而ecu-5使用net2作为通信总线。此外,更新包205指示除ecu-4之外的每一个子包都具有安装优先级1,并且与ecu-4对应的子包具有安装优先级2。还进一步,在图5中,每一个子包的大小由相应块的大小来描绘。在一个或多个示例中,子包的大小可以作为元数据包括在更新包205中。替代地或另外地,远程信息处理设备120或负责安装更新的任何其它设备确定子包的大小。子包的大小描述了子包所占用的内存量。另外,考虑到net1和net2两者并行安装的数量的预定最大值为3。使用本文描述的方法,远程信息处理设备120或负责安装更新的任何其它设备组织如图5所示的子包。对相同安装优先级的子包根据其大小进行排序。远程信息处理设备120基于通信总线和相应的大小来开始并行安装优先级为1的子包,如图5所示。远程信息处理设备分别开始并行安装net1和net2上的ecu-2和ecu-5的子包。此外,由于net1的预定最大值为3,所以远程信息处理设备120还使用net1开始安装ecu-3和ecu-1的更新(依次),与安装ecu-2和ecu-5的更新的并行。在此期间,远程信息处理设备对ecu-6(较小大小)和ecu-4(优先级2)的安装进行排队。因为ecu-1的安装子包在使用net1开始的那些包中最小,所以更新ecu-1首先完成。在完成ecu-1的安装后,远程信息处理设备120开始安装具有优先级为1的ecu-6的子包。一旦安装优先级为1的所有子包都已经以这种方式被安装,则远程信息处理设备120进行安装优先级为2的子包,在这种情况下是ecu-4的子包。此外,如本文所述,远程信息处理设备120进行到更新过程的部分-2,其包括在更新包205中的所有子包都安装之后配置和/或重新设置ecu的参数。本文所述的技术方案进一步利于容纳对不允许其它ecu与之同时被编程的ecu的更新。例如,这样的ecu可以被分配单独的安装优先级,利于远程信息处理设备120单独安装该ecu的更新。因此,本文所述的技术方案在更新车辆内的多个ecu时优化了总安装时间。本技术方案不需要手动干预,具有默认设置(所有ecu具有相同的安装优先级),本技术方案提供的安装时间最短。本技术方案可在使用诸如can、以太网或任何其它通信总线的通信总线的车辆中使用。例如,本文描述的技术方案可以使用can总线,其中用于ecu的总线通信中的帧间和帧间间隔时间在预定的方差内(例如5%;例如100微秒、200微秒,或任何其它预定方差)。因此,本文所述的技术方案提供并行和串行安装时间排程的混合,具有可配置性,以配置在一个会话中更新多个ecu时要使用的并行和串行化程度。此外,本技术方案解决了车辆中的限制,例如待更新的ecu的有限带宽,常规的安装排程技术,如先到者服务、最短作业第一、基于优先级、最长作业第一。因此,本文描述的技术方案在单个会话中改进车辆中多个ecu的更新。本技术方案可以包括任何可能的集成技术细节级别的系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或介质),用于使处理器执行本技术方案的各个方面。计算机可读存储介质可以是可以保留和存储由指令执行装置使用的指令的有形设备。计算机可读存储介质可以是但不限于电子存储设备、磁存储设备、光学存储设备、电磁存储设备、半导体存储设备或上述的任何合适的组合。计算机可读存储介质的更具体示例的非详尽列表包括以下:便携式计算机软盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程读取存储器只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式光盘只读存储器(cd-rom)、数字通用盘(dvd)、记忆棒、软盘、在其上记录有指令的凹槽中的诸如穿孔卡或凸起结构的机械编码设备,以及上述的任何合适的组合。如本文所使用的计算机可读存储介质不应被解释为暂态信号本身,例如无线电波或其它自由传播的电磁波、通过波导或其它传输介质传播的电磁波(例如,通过的光脉冲光纤电缆)或通过电线传输的电信号。本文描述的计算机可读程序指令可以经由网络(例如,因特网、局域网、广域网和/或无线网络),从计算机可读存储介质或外部计算机或外部存储设备下载到相应的计算/处理设备。网络可以包括铜传输电缆、传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每一个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并将计算机可读程序指令转发以存储在相应的计算/处理设备内的计算机可读存储介质中。用于执行本技术方案的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、用于集成电路的配置数据,或以一种或多种编程语言的组合(包括面向对象的编程语言,诸如smalltalk,c++等,以及过程编程语言语言,诸如“c”编程之类,或类似的编程语言)编写的源代码或目标代码。计算机可读程序指令可以以下述方式执行:完全在用户的计算机上、部分地在用户的计算机上、作为独立的软件包、部分地在用户的计算机上且部分地在远程计算机上,或者完全在远程计算机或服务器上。在后一种情况下,远程计算机可以通过包括局域网(lan)或广域网(wan)的任何类型的网络连接到用户的计算机,或者该连接可以被连接到外部计算机(例如,通过使用互联网服务提供商的互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令,以个性化电子电路,以便执行本技术方案的各个方面。参考根据本技术方案的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图,在本文中描述了本技术方案的各方面。应当理解,流程图和/或框图的每一框以及流程图和/或框图中的框的组合都可以由计算机可读程序指令来实现。这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器以产生机器,使得经由计算机或其它可编程数据处理装置的处理器执行的指令,创建实现流程图和/或框图框或多个框中指定的功能/动作的途径。这些计算机可读程序指令还可以存储在计算机可读存储介质中,计算机可读存储介质可以引导计算机、可编程数据处理设备和/或其它设备以特定方式工作,使得具有存储在其上的指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图框或多个框中指定的功能/动作的途径的方面的指令。计算机可读程序指令还可以被加载到计算机、其它可编程数据处理装置或其它设备上,以使得在计算机、其它可编程装置或其它设备上执行一系列操作步骤以产生计算机实现的过程,使得在计算机、其它可编程装置或其它装置上执行的指令实现流程图和/或框图框或多个框中指定的功能/动作。附图中的流程图和框图示出了根据本技术方案的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这方面,流程图或框图中的每一框可以表示包括用于实现指定的逻辑功能的一个或多个可执行指令的模块、部件或指令部分。在一些替代实施方案中,框中记录的功能可能不符合图中所示的顺序。例如,依次示出的两个框实际上可以基本上同时执行,或者有时可以以相反的顺序执行框,这取决于所涉及的功能。还将注意到,框图和/或流程图的每一个框和方框图和/或流程图中的框的组合可以由基于硬件的系统来实现,该系统执行指定的功能或动作或者进行专用硬件和计算机指令的组合。第二动作可以说是“响应于”第一动作,而不管第二动作是直接还是间接地因第一动作产生。第二动作可以在比第一动作更迟的时间发生,并且仍然是响应于第一动作。类似地,即使在第一动作和第二动作之间发生中间动作,并且即使一个或多个中间动作直接导致执行第二动作,也可以将第二动作视为响应于第一动作。例如,如果第一动作设置标志,且每当设置标志时,第三动作随后开始第二动作,则第二动作可以响应于第一动作。为了澄清其使用并因此向公众提供通知,短语“<a>、<b>……和<n>中的至少一个”或“<a>、<b>……<n>,或其组合中的至少一个”,或“<a>、<b>……和/或<n>”应以最广泛的含义来解释,取代上文或下文中的任何其它隐含定义,除非明确声明相反,是指从包括a、b……和n的组中选择的一种或多种元素。换句话说,该短语是指元素a,b或n中的一个或多个的任何组合,包括单独的任何一个元素,或该单独的一个元素与一个或多个其它元素组合,其还可以组合地包括未列出的附加元素。还将理解,执行指令的本文示例的任何模块、单元、组件、服务器、计算机、终端或设备可以包括或以其它方式访问计算机可读介质,诸如存储介质、计算机存储介质或数据存储设备(可移动和/或不可移动),例如磁盘、光盘或磁带。计算机存储介质可包括用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性和非易失性,可移动和不可移动介质。这种计算机存储介质可以是设备的一部分或可访问或可连接到其上。本文描述的任何应用或模块可以使用可由这种计算机可读介质存储或以其它方式保持的计算机可读/可执行指令来实现。虽然已经参照示例性实施例描述了技术方案,但是本领域技术人员将会理解,在不脱离本发明的保护范围的情况下,可以进行各种改变,并且可以使用等同物替代其元素。此外,在不脱离其本质范围的情况下,可以进行许多修改以使特定情况或材料适应本技术方案的教导。因此,意图是技术方案不限于所公开的特定实施例,而是包括落在本申请范围内的所有实施例。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1