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

一种ADAS域控制器差分升级方法、系统及存储介质

文献发布时间:2024-04-18 20:01:30


一种ADAS域控制器差分升级方法、系统及存储介质

技术领域

本发明属于车载控制器应用升级技术领域,具体涉及一种ADAS域控制器差分升级方法、系统及存储介质。

背景技术

随着汽车智能网联的发展,车联网处于越来越重要的地位,汽车的ECU控制器如IVI、TBOX、ADAS以及新能源ECU控制器相比传统车辆,软件更新迭代越来越多,用于为用户提供更好的用户体验。

在现有嵌入式软件升级方案中,通常采用全覆盖的升级方案,即是使用新的软件版本的完全覆盖老版本软件,其缺点就是需要把新版本软件完全下载到本地,然后把下载的升级包覆盖到目标区域。随着车载控制器功能越来越多,功能软件也越做越大,可能只是一个小小的改动就需要重新下载安装整个升级软件包。这种方式在智能网络汽车普遍采用OTA升级方式的当今,既增加了服务器的压力,又浪费了用户的流量,因此每当软件商发布新版本的时候,一些用户升级并不是很积极,这就造成了新版本的升级率不高、升级时间长等问题。

因此,亟需开发一种新的ADAS域控制器差分升级方法、系统及存储介质,以解决上述问题。

发明内容

本发明的目的是提供一种ADAS域控制器差分升级方法、系统及存储介质。

为了解决上述技术问题,本发明提供了一种ADAS域控制器差分升级方法,其包括:在服务器收集成对的旧版文件和更新文件,以构建判断新版和旧版文件相似度模型;根据判断新版和旧版文件相似度模型在服务器构建决策使用全量更新或差分模型,以向域控制器下发更新文件;在域控制器接收更新文件,完成更新后校验并重启;设置监测和回滚机制,在域控制器判断更新文件是否有误,将有误的更新文件返回至服务器。

具体地,获取文件数据;文件数据经数据预处理、构建相似度判别神经网络、特征提取、特征向量生成、距离度量、损失函数计算、训练及优化、输出相似度,以构建判断新版和旧版文件相似度模型。

具体地,通过将文件内容转换为数字表示形式对文件数据进行数据预处理,并对每个文件内容进行归一化处理。

具体地,设置孪生网络,以共享权重;同时将两个输入数据输入孪生网络中,以使孪生网络分别接收两个输入X1与X2,以转换为向量G

具体地,每个输入数据通过孪生网络中各自的子网络,经卷积层、池化层和全连接层层后提取出代表性的特征;经过特征提取后,孪生网络中每个子网络将输入数据映射为一个低维特征向量;两个输入数据各自经过孪生网络中子网络后,分别得到对应的特征向量,且经距离度量后衡量两个输入数据在特征空间中的距离,以得出两个输入数据之间的相似程度。

具体地,通过优化器随机梯度下降更新网络的权重,以最小化对比损失函数;设置对比损失函数学习率为0.002。

具体地,计算两个输入数据的特征向量之间的相似度,通过使用孪生网络将两个输入数据转化为特征向量;通过余弦相似度或欧氏距离评估两个输入数据的相似性。

具体地,当域控制器需要升级时,域控制器向服务器发送请求,并提供旧版本和新版本的文件;服务器使用已训练的孪生网络,分别对旧版本和新版本的文件进行特征提取,并计算它们的特征向量之间的差异,以形成差分文件。

另一方面,本发明提供一种采用如上述的ADAS域控制器差分升级方法的ADAS域控制器差分升级系统,其包括:服务器,收集成对的旧版文件和更新文件,以构建判断新版和旧版文件相似度模型,根据判断新版和旧版文件相似度模型在服务器构建决策使用全量更新或差分模型,以向域控制器下发更新文件;域控制器,接收更新文件,完成更新后校验并重启。

第三方面,本发明提供一种计算机存储介质,所述计算机存储介质中存储有计算机程序,所述计算机程序在被处理器执行时,实现如上述的ADAS域控制器差分升级方法。

本发明的有益效果是,本发明能够降低域控制器更新时所需的资源消耗,增强汽车ECU升级过程中的用户体验,对不同类型的文件和变更具有较好的泛化能力,且不受文件大小影响就能自动生成有效的差分文件,减少了人工操作的需求,并具有高效性、容错性及应用广泛的特点。

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

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

图1是本发明的ADAS域控制器差分升级方法的工作流程图;

图2是本发明的核心网络的架构图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1,在本实施例中,如图1至图2所示,本实施例提供了一种ADAS域控制器差分升级方法,其包括:在服务器收集成对的旧版文件和更新文件,以构建判断新版和旧版文件相似度模型;根据判断新版和旧版文件相似度模型在服务器构建决策使用全量更新或差分模型,以向域控制器下发更新文件;在域控制器接收更新文件,完成更新后校验并重启;设置监测和回滚机制,在域控制器判断更新文件是否有误,将有误的更新文件返回至服务器。

在本实施例中,服务器为域控制器提供安装更新包,确定全量更新和差分更新,生成最小的更新包。

在本实施例中,本实施例能够降低域控制器更新时所需的资源消耗,增强汽车ECU升级过程中的用户体验,对不同类型的文件和变更具有较好的泛化能力,且不受文件大小影响就能自动生成有效的差分文件,减少了人工操作的需求,并具有高效性、容错性及应用广泛的特点。

在本实施例中,获取文件数据;文件数据经数据预处理、构建相似度判别神经网络、特征提取、特征向量生成、距离度量、损失函数计算、训练及优化、输出相似度,以构建判断新版和旧版文件相似度模型。

在本实施例中,通过将文件内容转换为数字表示形式对文件数据进行数据预处理,并对每个文件内容进行归一化处理。

具体地,收集并准备成对的文件数据,每对数据包括原始文件和目标文件。为每一对数据添加差异类型标签,用于监督训练,这些数据将用于训练和测试深度学习网络。

具体地,将文件内容转换为数字表示形式,如字符编码、词向量等。确保数据格式适合Siamese网络的输入,再对每个内容进行归一化处理,以防止奇异样本对结果影响过大,并且能有效地加快梯度下降求解最优解的速度,并且生成一个标签,表示是否存在差异。

在本实施例中,设置孪生网络,以共享权重;同时将两个输入数据输入孪生网络中,以使孪生网络分别接收两个输入X1与X2,以转换为向量G

具体地,孪生网络由两个子网络组成,每个子网络用于处理一个输入文件。子网络这里采取了相同结构并且共享权重,以确保它们学到相似的特征表示。孪生网络是一种神经网络架构,可以处理成对数据的相似性比较或匹配任务。其原理基于共享权重的双子结构,使得网络能够学习数据的表示,并度量两个输入之间的相似性,SiameseNetwork的两个子网络分别接收两个输入X1与X2。

在本实施例中,每个输入数据通过孪生网络中各自的子网络,经卷积层、池化层和全连接层层后提取出代表性的特征;经过特征提取后,孪生网络中每个子网络将输入数据映射为一个低维特征向量;两个输入数据各自经过孪生网络中子网络后,分别得到对应的特征向量,且经距离度量后衡量两个输入数据在特征空间中的距离,以得出两个输入数据之间的相似程度。

具体地,每个输入数据通过各自的子网络,经过一系列的卷积、池化和全连接等层,提取出代表性的特征。这些特征可以捕捉输入数据的关键信息,如图像中的边缘、纹理,或文本中的语义信息等。

具体地,特征向量生成:经过特征提取后,每个子网络将输入数据映射为一个低维特征向量,这个特征向量在表示空间中,能够更好地捕捉输入数据的本质特征。

具体地,距离度量:两个输入数据各自经过子网络后,分别得到对应的特征向量。为了衡量它们的相似性,常常使用距离度量方法,如欧氏距离、曼哈顿距离、余弦相似度等。通过这些度量,可以衡量两个输入数据在特征空间中的距离,从而得出它们的相似程度。

在本实施例中,通过优化器随机梯度下降更新网络的权重,以最小化对比损失函数;设置对比损失函数学习率为0.002。

具体地,损失函数计算:孪生网络的训练过程涉及到一个损失函数,它基于两个输入数据的真实标签(如是否匹配)以及它们在特征空间中的距离计算。损失函数的目标是使得相同标签的样本在特征空间中更加接近,不同标签的样本更远离。对比损失函数能够在衡量数据对的相似性时非常灵活,可以根据任务的需要进行调整,且在小样本时表现出色。

具体地,训练和优化:已对一系列成对的文件进行了标注,将这些数据两两对应的输入到两个孪生的神经网络得到了特征向量,再将这两个特征进行相减得到新的向量,进一步将相减得到的新向量输入到一个全连接层得到一个标量,经过sigmoid函数,更新权重,即完成了一轮训练。迭代地将训练数据输入孪生网络,计算损失函数,并根据损失函数的梯度更新网络的权重。训练过程中,网络逐渐调整权重,使得网络能够更好地区分相似和不相似的数据对。本方案优化器随机梯度下降,用于更新网络的权重以最小化损失函数。设置学习率为0.002,通过更改调整超参数,以控制优化的速度和稳定性。

在本实施例中,计算两个输入数据的特征向量之间的相似度,通过使用孪生网络将两个输入数据转化为特征向量;通过余弦相似度或欧氏距离评估两个输入数据的相似性。

具体地,输出相似度:计算两个文件的特征向量之间的相似度。通过使用孪生网络,可以将两个文件转化为特征向量,并通过相似度计算方法来评估它们的相似性。本方案采取的相似度度量方法包括余弦相似度、欧氏距离。余弦相似度通常用于衡量向量之间的夹角,越接近1表示越相似,越接近0表示越不相似。欧氏距离表示向量之间的空间距离,距离越小表示越相似。对于n维空间中的两个点A(x1,x2,...,xn)和B(y1,y2,...,yn):

在本实施例中,当域控制器需要升级时,域控制器向服务器发送请求,并提供旧版本和新版本的文件;服务器使用已训练的孪生网络,分别对旧版本和新版本的文件进行特征提取,并计算它们的特征向量之间的差异,以形成差分文件。

具体地,在服务器部署已训练好的网络模型。建立与域控制器的通信机制,确保服务器可以接收升级请求。差分文件生成过程:当域控制器需要升级时,向服务器的差分文件生成服务发送请求,提供旧版本和新版本的文件。差分文件生成服务使用已训练的孪生网络模型,分别对旧版本和新版本的文件进行特征提取,然后计算它们的特征向量之间的差异,将具有差异的文件提取出来,整合成差分文件。通过比较文件的相似度,决策算法根据新版文件的大小、和旧版程序的相似度,设定相应的阈值,采用最优的更新方式,需要使用差分更新时,便调用BsDiff算法模块生成差分文件,生成的域控制器文件所需的更新文件可以是增量文件、补丁文件或其他适合升级的文件格式。

具体地,域控制器通过无线网络接口将差分包下载到待升级与域控制器内部MCU的Flash上,内部的BootLoader程序先解压差分包,再通过差分恢复算法,并将新老固件进行合成变成新的V1.1版本固件。执行MCU的升级程序,升级成功后则进行校验(在应用差分文件后,客户端会进行完整性验证,以确保差分文件的应用没有导致数据损坏),校验成功后重启。

具体地,设置监控机制能够及时检测到升级后的问题,准备好回滚计划,以防在升级过程中出现严重问题,需要恢复到旧版本。出现更新错误的更新包将作为新的样本,通过更多的数据集迭代优化模型,提升更新任务的鲁棒性。结合了孪生网络的特征提取能力和差分文件生成的实际需求,使得域控制器的升级过程更加自动化和高效。

工作过程,域控制器向服务器上传新的固件V1.1新版本全量的固件版本,或将新的全量版本固件V1.1加载到车辆升级设备内;在服务器上使用包含孪生网络模型和BsDiff差分算法的上位机软件加载旧固件V1.0,并生成差分包Diff_V1.0~V1.1;可通过无线网络接口,将差分包下载到待升级的域控制器内部MCU的Flash上,内部的BootLoader程序先解压差分包,再通过差分恢复算法,并将新老固件进行合成变成新的V1.1版本固件;执行MCU的升级程序,升级成功后则进行校验,校验成功后重启。通过使用包含BsDiff差分算法上位机软件生成差分包Diff_V1.0~V1.1的具体步骤如下:读取旧文件,使用后缀排序算法生成字符串索引;使用该索引遍历新文件,生成差异文件和新增文件;将差异文件和新增文件以及必要的索引控制信息进行压缩,生成补丁包。生成字符串索引时,BsDiff算法里采用了基于时间复杂度更小的SA-IS算法来进行索引的生成,该算法时间复杂度与空间复杂度为O(n),其中n为旧文件的二进制字符串长度。SA-IS算法是基于诱导排序的思想,即将问题的规模缩小,通过解决更小的问题,获取足够信息,就可以快速的解决原始问题。该算法的优势在于它比较后缀的方式,它根据两个后缀首字母是否相同来比较两个后缀,如果两个后缀(i,j)的首字母不同,那么两个后缀可以直接比较,反之,若首字母相同,则删掉两个后缀的首字母,进而递归比较(i+1,j+1)这两个后缀的大小。SA-IS算法的基本框架如下:将所有的后缀分为为S型后缀和L型后缀;倒序扫描S数组的所有后缀,得到后缀类型的数组,即type数组;正序扫描type数组得到所有LMS字符的位置和顺序;对所有*型后缀进行诱导排序,处理出*型后缀的后缀数组;对每个LMS子串重新命名,得到新的数组S1;若S1中有重复的命名,递归计算S1;诱导排序前半计算SA1,后半利用SA1诱导计算SA。其中,关于S型后缀和L型后缀的定义为:如果后缀i比i+1小i就是S型后缀,否则就是L型后缀。其中,*型后缀的定义为:*型后缀是S型后缀的一种,其左边的后缀必须为L型后缀。其中,LMS子串的定义为:LMS子串表示从左向右数第i个LMS后缀和第i+1个LMS后缀之间的字符串(LMS后缀:当且仅当这个后缀左边是L型后缀而它本身是一个S型后缀)。

具体地,差分更新解决了更新包过大而造成流量浪费、更新时间过长的问题,但是还存在以下问题:每次发布新版本,服务端都需要为以前所有的老版本生成对应的差分包,以应对不同客户版本的更新需求,并根据客户端请求返回对应的更新包,服务端的维护过程将会变得相对复杂,而客户端需要对差分包做更为详细的版本及数据验证,以防止出错。同时,当新旧固件包之间的差异过小时,比如2m以下,此时生成的差分包仍然有几百k,使用差分更新显然有些得不偿失,因为形成差分包和合并的过程都相对比较耗时。通过在服务器构建神经网络模型用于判断全量更新和差分更新的情况。以最小的消耗完成升级任务。采用孪生网络由两个相同的子网络分支组成,每个分支用于处理一个文件。以下是一个其基本的网络架构:文件编码器:每个文件输入经过多个隐藏层,将文件内容映射为潜在空间的表示。差异度量:将两个文件的潜在表示相减,得到表示文件之间差异的特征向量。差异生成器:接受表示文件差异的特征向量作为输入,生成表示差异文件的数字表示。重构层:差异生成器的输出将与目标文件的数字表示进行比较,用于重构损失的计算。

具体地,通过共享权重的双子结构,将两个输入数据映射为特征向量,并在特征空间中度量它们的相似性。通过模型比较新老版本文件的相似性,如:原版本压缩文件500MB,新版本压缩文件与之相似度0.98,可以判别为非常接近,便采取差分更新,通过孪生网络也可以比较子文件的相似度,相似度为1,则视为无需更新模块,反之低于1则列为需更新文件,整合存在差异的文件,利用BsDiff算法生成差分文件供客户端更新,若相似度过低,低于设定的阈值,则进行全局量更新,以此达到降低更新中的资源消耗。

实施例2,在实施例1的基础上,本实施例提供一种采用如实施例1所提供的ADAS域控制器差分升级方法的ADAS域控制器差分升级系统,其包括:服务器,收集成对的旧版文件和更新文件,以构建判断新版和旧版文件相似度模型,根据判断新版和旧版文件相似度模型在服务器构建决策使用全量更新或差分模型,以向域控制器下发更新文件;域控制器,接收更新文件,完成更新后校验并重启。

实施例3,在上述实施例的基础上,本实施例提供一种计算机存储介质,所述计算机存储介质中存储有计算机程序,所述计算机程序在被处理器执行时,实现如实施例1所提供的ADAS域控制器差分升级方法。

综上所述,本发明能够有效降低域控升级资源消耗,通过在服务器有效的做出决策,权衡采用的升级方式,以最优资源完成升级任务;灵活性和泛化能力:通过从数据中学习文件的特征表示,这使得它对不同类型的文件和变更具有较好的泛化能力,即无论文件的类型如何变化,网络都能够捕捉到文件间的差异;在特征提取过程使得它不受文件大小的影响,无论文件大小如何,网络都可以从中提取出代表性的特征,从而生成有效的差分文件;差分文件可以自动地从学习到的特征中生成,减少人工操作的需求;生成文件差分的过程可以高度并行化,特别是在批量处理文件时,提高处理效率,特别是对于大量文件的情况;可以考虑文件中的微小变化,而不仅仅关注大规模的改动,生成的差分文件更加细致和准确;生成的差分文件不仅适用于文本文件,还可以应用于其他类型的文件,如图像、音频等,在各种应用升级都具有应用潜力;通过训练方案中的模型,它可以学习文件之间的模式和变化规律,有助于更深入地理解文件的变化方式,从而为更复杂的分析提供基础。

本申请中选用的各个器件(未说明具体结构的部件)均为通用标准件或本领域技术人员知晓的部件,其结构和原理都为本技术人员均可通过技术手册得知或通过常规实验方法获知。

在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

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

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

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。

相关技术
  • 用于不同采灌场景下的地热资源动态资源量的评价方法
  • 一种用于地热资源量估算评价的方法
技术分类

06120116557855