System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() DBC文件的差异比较方法、装置、电子设备及存储介质制造方法及图纸_技高网

DBC文件的差异比较方法、装置、电子设备及存储介质制造方法及图纸

技术编号:44500166 阅读:0 留言:0更新日期:2025-03-04 18:08
本申请提供一种DBC文件的差异比较方法、装置、电子设备及存储介质,该方法包括获取不同版本的待比较DBC文件,根据待比较DBC文件的多个关键字进行分块读取数据,得到各自的待比较对象,创建待比较对象的消息索引和信号索引,基于预设差异类型、各消息索引和各信号索引分类比较待比较对象的差异,得到版本差异信息,预设差异类型用于表征待比较DBC文件中消息层级和信号层级对应的差异;本申请可基于待比较DBC文件的语义精确且快速地定位每条消息和信号的变化,并提供详细的变化信息。

【技术实现步骤摘要】

本申请涉及dbc差异检测,尤其涉及一种dbc文件的差异比较方法、装置、电子设备及存储介质。


技术介绍

1、在现代汽车电子系统中,车辆控制单元之间的通信通常采用控制器局域网(controller area network,can)总线协议。控制器局域网数据库(data base can,dbc)文件是描述can总线通信协议的文件,定义了信号、消息及其相关的属性参数。随着软件版本的更新会产生不同版本的dbc文件。这些dbc文件之间的差异是生成集成的软件模型接口的关键信息。因此,快速而准确地生成dbc文件的差异摘要对于软件模型接口、软件集成至关重要,也为集成自动化提供关键依据。但一般需要借助外部的比较工具来处理dbc文件的差异。

2、目前,常用文件比较工具、差异比较工具和手动检查确定dbc文件的差异。其中,文件比较工具包括beyond compare,支持文本文件的逐行比较,能够高亮显示不同之处,可以对比包括dbc文件在内的各种文件格式;但由于dbc文件的复杂性和特定结构,beyondcompare只能进行表面的文本比较,无法深入理解dbc文件的语义层次,无法有效识别和处理信号级别和/或消息级别的变化,更没办法生成差异摘要,并且beyond compare是收费软件。差异比较工具包括diff工具,可以对比文本文件的差异,以命令行或图形界面形式提供,能够快速识别两个文本文件中的不同之处;但与beyond compare类似,差异比较工具只能进行字面上的文本比较,无法解析dbc文件的结构和语义,容易漏掉潜在的重要变化,或者提供不相关的变化信息。工程师手动查看和比较两个版本的dbc文件,可以在变化较小或较为简单的情况下使用;手动检查不仅耗时,而且容易出现人为错误,特别是对于复杂的dbc文件或大量的信号变化时。现有技术手段都存在无法深入理解dbc文件的语义,从而无法生成差异摘要报告等。


技术实现思路

1、本申请提供一种dbc文件的差异比较方法、装置、电子设备及存储介质,以解决上述无法基于待比较dbc文件的语义快速进行差异比较的技术问题。

2、于本申请一实施例中,本申请提供一种dbc文件的差异比较方法,包括获取不同版本的待比较dbc文件;根据所述待比较dbc文件的多个关键字进行分块读取数据,得到各自的待比较对象;创建所述待比较对象的消息索引和信号索引;基于预设差异类型、各所述消息索引和各所述信号索引分类比较所述待比较对象的差异,得到版本差异信息,所述预设差异类型用于表征所述待比较dbc文件中消息层级和信号层级对应的差异。

3、于本申请一实施例中,所述待比较对象包括所述消息标识、所述消息对象、所述信号名称和所述信号对象,创建所述待比较对象的消息索引和信号索引,包括:将所述消息标识作为消息索引的索引标识,并将所述消息对象作为消息索引的索引值,所述消息对象用于表征消息属性值,所述消息标识用于对消息进行唯一身份标识;将所述消息标识作为信号索引的索引标识,并将二级索引作为信号索引的索引值,所述二级索引的索引标识为所述信号名称,所述二级索引的索引值为所述信号对象,所述信号对象用于表征信号属性值。

4、于本申请一实施例中,根据所述待比较dbc文件的多个关键字进行分块读取数据,得到待比较对象,包括:根据多个关键字按块分割所述待比较dbc文件,并存入至缓存区;基于所述关键字的数量创建多个转换协程和多个通道;通过每一转换协程将所述缓存区中对应关键字后的属性值数据进行结构化转换和合法性校验,并将通过合法性校验的结构化数据发送至对应的通道或基于未通过合法性校验的结构化数据生成错误提示信息,所述结构化数据用于表征结构化转换后的属性值数据,所述属性值数据用于表征消息和信号对应的属性值;若未生成错误提示信息,则依次汇总各所述通道接收到的结构化数据,得到待比较对象。

5、于本申请一实施例中,基于预设差异类型、各所述消息索引和各所述信号索引分类比较所述待比较对象的差异,得到版本差异信息,包括:创建共享数据结构;基于预设差异类型创建多个比较协程;通过每一比较协程基于各所述消息索引、各所述信号索引比较所述待比较对象对应预设差异类型的差异,得到版本差异信息,并存入所述共享数据结构;其中,所述共享数据结构用于各所述比较协程同时存储对应预设差异类型比较出的差异数据。

6、于本申请一实施例中,基于各所述消息索引、各所述信号索引比较所述待比较对象对应预设差异类型的差异,得到版本差异信息,包括:若所述预设差异类型为新增差异或删除差异,则计算不同版本的待比较数据集合对应预设差异类型的差集,得到新增信息或删除信息;若所述预设差异类型为信号的修改,则根据不同版本的信号组合标识集合比较信号的关键属性,得到信号修改信息;其中,所述待比较数据集合包括消息标识集合或信号组合标识集合,所述消息标识集合基于所述消息索引得到,所述信号组合标识集合基于所述信号索引对消息标识和信号名称进行组合得到,所述版本差异信息包括所述新增信息、所述删除信息和所述信号修改信息。

7、于本申请一实施例中,若所述预设差异类型为新增差异或删除差异,则计算不同版本的待比较数据集合对应预设差异类型的差集,得到新增信息或删除信息,包括:若所述新增差异为消息的新增,则计算当前消息标识集合和历史消息标识集合的差集,得到新增消息标识;若所述删除差异为消息的删除,则计算历史消息标识集合和当前消息标识集合的差集,得到删除消息标识;若所述新增差异为信号的新增,则计算当前信号组合标识集合和历史信号组合标识集合的差集,得到新增信号组合标识;若所述新增差异为信号的删除,则计算历史信号组合标识集合和当前信号组合标识集合的差集,得到删除信号组合标识;其中,所述新增信息包括所述新增消息标识和所述新增信号组合标识,所述删除信息包括所述删除消息标识和所述删除信号组合标识,所述不同版本的待比较数据集合包括所述当前消息标识集合、所述历史消息标识集合、所述当前信号组合标识集合和所述历史信号组合标识集合。

8、于本申请一实施例中,根据不同版本的信号组合标识集合比较信号的关键属性,得到信号修改信息,包括:若一当前信号组合标识和一历史信号组合标识相同,则比较当前关键属性和历史关键属性,得到所述当前信号组合标识的信号修改信息;其中,所述当前关键属性基于所述当前信号组合标识对应的信号索引得到,所述历史关键属性基于所述历史信号组合标识对应的信号索引得到。

9、于本申请一实施例中,本申请提供一种dbc文件的差异比较装置,包括:文件获取模块,用于获取不同版本的待比较dbc文件;数据读取模块,用于根据所述待比较dbc文件的多个关键字进行分块读取数据,得到各自的待比较对象;数据分类模块,用于创建所述待比较对象的消息索引和信号索引;差异比较模块,用于基于预设差异类型、各所述消息索引和各所述信号索引分类比较所述待比较对象的差异,得到版本差异信息,所述预设差异类型用于表征所述待比较dbc文件中消息层级和信号层级对应的差异。

10、于本申请一实施例中,本申请提供一种本文档来自技高网...

【技术保护点】

1.一种DBC文件的差异比较方法,其特征在于,所述方法包括:

2.根据权利要求1所述的DBC文件的差异比较方法,其特征在于,所述待比较对象包括所述消息标识、所述消息对象、所述信号名称和所述信号对象,创建所述待比较对象的消息索引和信号索引,包括:

3.根据权利要求1所述的DBC文件的差异比较方法,其特征在于,根据所述待比较DBC文件的多个关键字进行分块读取数据,得到待比较对象,包括:

4.根据权利要求1-3任一项所述的DBC文件的差异比较方法,其特征在于,基于预设差异类型、各所述消息索引和各所述信号索引分类比较所述待比较对象的差异,得到版本差异信息,包括:

5.根据权利要求4所述的DBC文件的差异比较方法,其特征在于,基于各所述消息索引、各所述信号索引比较所述待比较对象对应预设差异类型的差异,得到版本差异信息,包括:

6.根据权利要求5所述的DBC文件的差异比较方法,其特征在于,若所述预设差异类型为新增差异或删除差异,则计算不同版本的待比较数据集合对应预设差异类型的差集,得到新增信息或删除信息,包括:

7.根据权利要求5所述的DBC文件的差异比较方法,其特征在于,根据不同版本的信号组合标识集合比较信号的关键属性,得到信号修改信息,包括:

8.一种DBC文件的差异比较装置,其特征在于,所述装置包括:

9.一种电子设备,其特征在于,所述电子设备包括:

10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,当所述计算机程序被计算机的处理器执行时,使计算机执行权利要求1至7中任一项所述的DBC文件的差异比较方法。

...

【技术特征摘要】

1.一种dbc文件的差异比较方法,其特征在于,所述方法包括:

2.根据权利要求1所述的dbc文件的差异比较方法,其特征在于,所述待比较对象包括所述消息标识、所述消息对象、所述信号名称和所述信号对象,创建所述待比较对象的消息索引和信号索引,包括:

3.根据权利要求1所述的dbc文件的差异比较方法,其特征在于,根据所述待比较dbc文件的多个关键字进行分块读取数据,得到待比较对象,包括:

4.根据权利要求1-3任一项所述的dbc文件的差异比较方法,其特征在于,基于预设差异类型、各所述消息索引和各所述信号索引分类比较所述待比较对象的差异,得到版本差异信息,包括:

5.根据权利要求4所述的dbc文件的差异比较方法,其特征在于,基于各所述消息索引、各所述信号索引比较所述待比较对...

【专利技术属性】
技术研发人员:张强李钢王富民牛贤蒙韩益江
申请(专利权)人:重庆赛力斯凤凰智创科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1