CN116795584B - 一种校验方法、装置、电子设备及存储介质 - Google Patents
一种校验方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116795584B CN116795584B CN202311082866.7A CN202311082866A CN116795584B CN 116795584 B CN116795584 B CN 116795584B CN 202311082866 A CN202311082866 A CN 202311082866A CN 116795584 B CN116795584 B CN 116795584B
- Authority
- CN
- China
- Prior art keywords
- function
- message
- callout
- function code
- checked
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000012795 verification Methods 0.000 title claims abstract description 72
- 230000006870 function Effects 0.000 claims description 265
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 238000012216 screening Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 description 18
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001351 cycling effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Telephone Function (AREA)
Abstract
本申请提供了一种校验方法、装置、电子设备及存储介质。所述方法包括:调用预设工具,识别DBC文件中的待校验报文;获取达芬奇config工具中与所述待校验报文匹配的配置信息;在所述配置信息内添加预先定义的Callout函数,以生成Callout函数代码,实现CAN报文E2E校验。本申请实施例可以降低人力成本,提高CAN报文E2E校验的效率,同时,可以降低校验出错率。
Description
技术领域
本申请涉及E2E校验技术领域,尤其涉及一种校验方法、装置、电子设备及存储介质。
背景技术
对于.dbc文件中含有的CheckSum和RollingCounter的报文,软件需要对其进行校验处理。在AUTOSAR(AUTomotive Open System Architecture,汽车开放系统架构)的标准模块Com中,可以对每个报文增加Callout函数,此Callout函数中可以增加报文的校验处理。按照上述方式,对于待校验报文,在达芬奇Config工具中逐个添加Callout函数并手动编写Callout函数代码。
对于含有的CheckSum和RollingCounter待校验报文,需要人为在.dbc文件中逐个识别出来,并手动在达芬奇Config工具中添加Callout函数,然后还需要手动编写Callout函数代码。大量的重复工作,不仅会浪费人力时间,而且容易造成修改错误或者遗漏等问题。
发明内容
本申请实施例提供一种校验方法、装置、电子设备及存储介质,以解决现有技术中人为在.dbc文件中逐个识别出来,并手动在达芬奇Config工具中添加Callout函数,然后还需要手动编写Callout函数代码。存在大量重复的工作,不仅会浪费人力时间,而且容易造成修改错误或者遗漏等问题的问题。
为了解决上述技术问题,本申请实施例是这样实现的:
第一方面,本申请实施例提供了一种校验方法,所述方法包括:
调用预设工具,识别DBC文件中的待校验报文;
获取达芬奇config工具中与所述待校验报文匹配的配置信息;
在所述配置信息内添加预先定义的Callout函数,以生成Callout函数代码,实现CAN报文E2E校验。
可选地,在所述调用预设工具,识别DBC文件中的待校验报文之前,还包括:
调用预设脚本编写报文识别功能的第一功能代码、节点查找功能的第二功能代码、以及Callout函数添加功能的第三功能代码;
封装所述第一功能代码、所述第二功能代码和所述第三功能代码,生成所述预设工具。
可选地,所述调用预设工具,识别DBC文件中的待校验报文,包括:
调用所述预设工具中的第一功能代码,对所述DBC文件中的各信号报文进行识别,得到识别结果;
根据所述识别结果,确定所述各信号报文包含设定关键词的所述待校验报文。
可选地,所述获取达芬奇config工具中与所述待校验报文匹配的配置信息,包括:
调用所述预设工具中的第二功能代码,获取所述达芬奇config工具的CFG配置文件中的所有节点;
获取所述所有节点中所述待校验报文对应的目标节点;
从所述目标节点中筛选出与Callout函数匹配的子节点,并将该子节点作为所述配置信息。
可选地,所述在所述配置信息内添加预先定义的Callout函数,以生成Callout函数代码,实现CAN报文E2E校验,包括:
调用所述预设工具中的第三功能代码,获取预先定义的所述Callout函数;
将所述Callout函数添加到所述子节点上;
根据所述子节点上的所述Callout函数,生成所述Callout函数代码;
通过所述Callout函数代码调用预先编写函数库内对应的函数,进行CAN报文E2E校验。
可选地,所述预设脚本为Python脚本。
第二方面,本申请实施例提供了一种校验装置,所述装置包括:
待校验报文识别模块,用于调用预设工具,识别DBC文件中的待校验报文;
配置信息获取模块,用于获取达芬奇config工具中与所述待校验报文匹配的配置信息;
E2E校验模块,用于在所述配置信息内添加预先定义的Callout函数,以生成Callout函数代码,实现CAN报文E2E校验。
可选地,所述装置还包括:
功能代码编写模块,用于调用预设脚本编写报文识别功能的第一功能代码、节点查找功能的第二功能代码、以及Callout函数添加功能的第三功能代码;
预设工具生成模块,用于封装所述第一功能代码、所述第二功能代码和所述第三功能代码,生成所述预设工具。
可选地,所述待校验报文识别模块包括:
识别结果获取单元,用于调用所述预设工具中的第一功能代码,对所述DBC文件中的各信号报文进行识别,得到识别结果;
待校验报文确定模块,用于根据所述识别结果,确定所述各信号报文包含设定关键词的所述待校验报文。
可选地,所述配置信息获取模块包括:
所有节点获取单元,用于调用所述预设工具中的第二功能代码,获取所述达芬奇config工具的CFG配置文件中的所有节点;
目标节点获取单元,用于获取所述所有节点中所述待校验报文对应的目标节点;
配置信息获取单元,用于从所述目标节点中筛选出与Callout函数匹配的子节点,并将该子节点作为所述配置信息。
可选地,所述E2E校验模块包括:
Callout函数获取单元,用于调用所述预设工具中的第三功能代码,获取预先定义的所述Callout函数;
Callout函数添加单元,用于将所述Callout函数添加到所述子节点上;
Callout函数代码生成单元,用于根据所述子节点上的所述Callout函数,生成所述Callout函数代码;
E2E校验单元,用于通过所述Callout函数代码调用预先编写函数库内对应的函数,进行CAN报文E2E校验。
可选地,所述预设脚本为Python脚本。
第三方面,本申请实施例提供了一种电子设备,包括:
存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述任一项所述的校验方法。
第四方面,本申请实施例提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述任一项所述的校验方法。
在本申请实施例中,通过调用预设工具,识别DBC文件中的待校验报文。获取达芬奇config工具中与待校验报文匹配的配置信息。在配置信息内容添加预先定义的Callout函数,以生成Callout函数代码,实现CAN报文E2E校验。本申请实施例通过预设工具即可实现DBC文件中待校验报文的识别,以及Config工具中添加Callout函数的添加,无需人工操作,能够节省大量的人力成本。同时,无需人工编写Callout函数代码,能够提高E2E校验的效率,且相较于人工编写Callout函数代码的方式,能够降低校验出错率。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种校验方法的步骤流程图;
图2为本申请实施例提供的一种预设工具生成方法的步骤流程图;
图3为本申请实施例提供的一种待校验报文确定方法的步骤流程图;
图4为本申请实施例提供的一种配置信息获取方法的步骤流程图;
图5为本申请实施例提供的一种E2E校验方法的步骤流程图;
图6为本申请实施例提供的一种E2E校验流程的示意图;
图7为本申请实施例提供的一种校验装置的结构示意图;
图8为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参照图1,示出了本申请实施例提供的一种校验方法的步骤流程图。如图1所示,该校验方法可以包括:步骤101、步骤102和步骤103。
步骤101:调用预设工具,识别DBC文件中的待校验报文。
本申请实施例可以应用于自动处理CAN报文E2E校验的场景中。
预设工具是指预先通过设定脚本编写的用于自动执行CAN报文E2E校验的工具。在预设工具中包含有多个功能代码,每个功能代码可以实现不同的功能,如报文识别功能的功能代码、节点查找功能的功能代码、Callout函数添加功能的功能代码等。对于预设工具的生成过程可以结合图2进行如下详细描述。
参照图2,示出了本申请实施例提供的一种预设工具生成方法的步骤流程图。如图2所示,该预设工具生成方法可以包括:步骤201和步骤202。
步骤201:调用预设脚本编写报文识别功能的第一功能代码、节点查找功能的第二功能代码、以及Callout函数添加功能的第三功能代码。
在本申请实施例中,预设脚本可以为Python脚本、JavaScript、VBScript、Perl、PHP等脚本语言中的任一种。在本示例中,预设脚本优先为Python脚本。
在建立预设工具时,可以调用预设脚本编写报文识别功能的第一功能代码、节点查找功能的第二功能代码、以及Callout函数添加功能的第三功能代码。
其中,第一功能代码可以用于识别DBC文件中的待校验报文。
第二功能代码可以用于查找达芬奇config工具中与待校验报文匹配的配置信息。
第三功能代码可以用于在查找到的配置信息中自动添加Callout函数。
在调用预设脚本编写报文识别功能的第一功能代码、节点查找功能的第二功能代码、以及Callout函数添加功能的第三功能代码之后,执行步骤202。
步骤202:封装所述第一功能代码、所述第二功能代码和所述第三功能代码,生成所述预设工具。
在编写得到第一功能代码、第二功能代码和第三功能代码之后,可以封装第一功能代码、第二功能代码和第三功能代码,以生成预设工具。该预设工具即可应用于后续的CAN报文E2E校验过程中的自动识别待校验报文、查找对应配置信息、及自动添加Callout函数的过程。
本申请实施例通过预先调用预设脚本编写得到预设工具,从而在后续进行CAN报文E2E校验时,即可直接调用该预设工具完成一系列流程,无需人工参与,能够节省校验时间和人力成本。
DBC(Database Can)代表的是CAN的数据库文件,在这个文件中把CAN通讯的信息定义的非常完整清楚,而CAN网络的通讯就是依据这个文件的描述进行的。所以DBC文件的作用非常强大,正是因为有了它才可以使得整个CAN网路的节点控制器无差错的协同同步开发。
待校验报文可以为CheckSum报文和RollingCounter报文中的至少一种。
CheckSum,即CRC校验,8bit,位于报文数据段,用于判断CAN报文传输是否出错。发送方根据特定的检验算法计算CRC校验码并将其置于CAN报文中与报文中的其他信号一同发送至CAN总线。接收方也会根据收到的CAN报文(除CRC检验位)用同样的算法计算出CRC校验码,并将该校验码与接收到的CAN报文中的校验码进行比对。若两者一致,说明报文传输过程未出现错误,否则认为报文传输错误,该报文不可信,同时报CRC检验错误故障码。
CRC(Cyclic Redundancy Check)校验是指循环冗余校验码,是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。
Rolling Count,报文计数器,4bit,位于CAN报文数据段,顾名思义,就是发送一条报文计数器加1,用于判断报文传输过程是否出现丢帧。从0累加到15,然后不断循环,其中若出现计数器不连续或首尾值不对,接收方会认为丢帧,同时会报报文丢失或超时故障码。
在进行CAN报文E2E校验时,可以调用预设工具,识别DBC文件中的待校验报文。具体地,可以调用预设工具内的第一功能代码识别DBC文件中的待校验报文。对于该实现过程可以结合图3进行如下详细描述。
参照图3,示出了本申请实施例提供的一种待校验报文确定方法的步骤流程图。如图3所示,该待校验报文确定方法可以包括:步骤301和步骤302。
步骤301:调用所述预设工具中的第一功能代码,对所述DBC文件中的各信号报文进行识别,得到识别结果。
在本申请实施例中,在进行CAN报文E2E校验时,可以调用预设工具的第一功能代码,对DBC文件中的各信号报文进行识别,得到识别结果。
在调用预设工具中的第一功能代码对DBC文件中的各信号报文进行识别,得到识别结果之后,执行步骤302。
步骤302:根据所述识别结果,确定所述各信号报文包含设定关键词的所述待校验报文。
在得到DBC文件对应的报文识别结果之后,可以根据该识别结果,确定各信号报文包含设定关键词的待校验报文。例如,通过第三方库“canmatrix”(即本示例中的第一功能代码)读取DBC文件,遍历每个报文,检查是否为待校验报文。可通过查询报文中信号名称是否含关键字如"RollCnt", "AliveCounter", "RollingCounter","Rolling_Counter", "Chksum", "Chksm", "CheckSum", "Checksum", "Checksum"等,以识别出DBC文件中的待校验报文等。
可以理解地,上述示例仅是为了更好地理解本申请实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
本申请实施例通过调用预设工具内的第一功能代码即可以实现DBC文件中待校验报文的识别,无需人工去识别DBC文件中含有的CheckSum和RollingCounter的报文,脚本会根据关键字自动搜索。因此,能够极大地节省待校验报文的搜索时间,提高校验效率。
在调用预设工具识别出DBC文件中的待校验报文之后,执行步骤102。
步骤102:获取达芬奇config工具中与所述待校验报文匹配的配置信息。
在调用预设工具识别出DBC文件中的待校验报文之后,可以调用预设工具,获取达芬奇config工具中与待校验报文匹配的配置信息。在具体实现中,配置信息即为达芬奇config工具中与待校验报文匹配的某个子节点,对于配置信息的获取过程可以结合图4进行如下详细描述。
参照图4,示出了本申请实施例提供的一种配置信息获取方法的步骤流程图。如图4所示,该配置信息获取方法可以包括:步骤401、步骤402和步骤403。
步骤401:调用所述预设工具中的第二功能代码,获取所述达芬奇config工具的CFG配置文件中的所有节点。
在本申请实施例中,在获取到DBC文件中的待校验报文之后,则可以调用预设工具内的第二功能代码,获取达芬奇config工具的CFG配置文件中的所有节点。例如,可以通过第三方库“ElementTree”(即本示例中的第二功能代码),读取达芬奇CFG配置文件Com_ecuc.arxml,先将所有报文对应的节点找出,可通过查找文本为“/MICROSAR/Com/ComConfig/ComIPdu” 的节点等。
可以理解地,上述示例仅是为了更好地理解本申请实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
在调用预设工具中的第二功能代码获取到达芬奇config工具的CFG配置文件中的所有节点之后,执行步骤402。
步骤402:获取所述所有节点中所述待校验报文对应的目标节点。
在调用预设工具中的第二功能代码获取到达芬奇config工具的CFG配置文件中的所有节点之后,可以获取所有节点中待校验报文对应的目标节点。具体地,可以根据从DBC文件中搜索到的待校验报文,去找出需要待校验报文的节点。每个待校验报文对应的节点中,会存在标签为“SHORT-NAME”的子节点,子节点中的文本是由报文的名称组成的。可通过对比两者(报文名称和子节点的文本)内容,判断是否为所查找节点。
在获取到所有节点中待校验报文对应的目标节点之后,执行步骤403。
步骤403:从所述目标节点中筛选出与Callout函数匹配的子节点,并将该子节点作为所述配置信息。
在获取到所有节点中待校验报文对应的目标节点之后,可以从目标节点中筛选出与Callout函数匹配的子节点,并将该子节点作为配置信息。例如,从找到的节点中,再次查找文本为"/MICROSAR/Com/ComConfig/ComIPdu /ComIPduCallout "的子节点,该子节点可以作为配置信息等。
可以理解地,上述示例仅是为了更好地理解本申请实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
本申请实施例通过预设工具即可以自动搜索达芬奇config工具中与待校验报文匹配的配置信息,此过程无需人工搜索,能够节省人力成本,同时提高校验效率。
在获取到达芬奇config工具中与待校验报文匹配的配置信息之后,执行步骤103。
步骤103:在所述配置信息内添加预先定义的Callout函数,以生成Callout函数代码,实现CAN报文E2E校验。
在AUTOSAR中,会经常使用到Callout函数和CallBack函数。
CallBack函数是AUTOSAR规范中定义好的接口,通常是用于较底层模块根据需求向上层提供通知。
Callout函数与CallBack函数最大区别在于Callout函数没有在AUTOSAR规范中定义,仅提供一个函数指针,通常用于OEM或者Tirer1实现特殊的需求,例如在Com模块中,对IPDU进行处理时,提供ComlPduCallout配置选项,用于设置一个Callout函数对CAN或者其它总线信号进行处理。
在获取到达芬奇config工具中与待校验报文匹配的配置信息之后,可以调用预设工具在配置信息内添加预先定义的Callout函数,以生成Callout函数代码,实现CAN报文E2E校验。对于该实现过程可以结合图5进行如下详细描述。
参照图5,示出了本申请实施例提供的一种E2E校验校验方法的步骤流程图。如图5所示,该E2E校验方法可以包括:步骤501、步骤502、步骤503和步骤504。
步骤501:调用所述预设工具中的第三功能代码,获取预先定义的所述Callout函数。
在本实施例中,在获取到达芬奇Config工具内的与待校验报文匹配的配置信息之后,则可以调用预设工具中的第三功能代码,获取预先定义的所述Callout函数。其中,Callout函数为自定义的函数,本实施例对于Callout函数的具体内容不加以限制。
在调用预设工具中的第三功能代码获取到预先定义的所述Callout函数之后,执行步骤502。
步骤502:将所述Callout函数添加到所述子节点上。
在调用预设工具中的第三功能代码获取到预先定义的所述Callout函数之后,则可以将Callout函数添加到对应的子节点上。具体地,可以在子节点中加上Callout函数,函数名可以为“COMCbk_”+“报文名称”等。
此过程即可以通过第三功能代码实现,无需人工添加。
在将Callout函数添加到子节点上之后,执行步骤503。
步骤503:根据所述子节点上的所述Callout函数,生成所述Callout函数代码。
在将Callout函数添加到子节点上之后,则可以根据子节点上的Callout函数,生成Callout函数代码。
在根据子节点上的Callout函数生成Callout函数代码之后,执行步骤504。
步骤504:通过所述Callout函数代码调用预先编写函数库内对应的函数,进行CAN报文E2E校验。
在根据子节点上的Callout函数生成Callout函数代码之后,则可以通过Callout函数代码调用预先编写函数库内对应的函数,进行CAN报文E2E校验。
可以理解地,在函数库内包含多个函数,每个函数可以执行不同的校验功能,通过Callout函数代码调用封装好函数库的函数接口,即可以调用相应的函数以进行CAN报文E2E校验。
本申请实施例提供的上述实现方案,通过预设工具即可实现DBC文件中待校验报文的识别,以及Config工具中添加Callout函数的添加,无需人工操作,能够节省大量的人力成本。同时,无需人工编写Callout函数代码,能够提高E2E校验的效率,且相较于人工编写Callout函数代码的方式,能够降低校验出错率。
对于上述实现方案可以结合图6进行如下概述。
参照图6,示出了本申请实施例提供的一种E2E校验流程的示意图。如图6所示,该校验流程可以包括:步骤601、步骤602、步骤603和步骤604。
步骤601:逐个搜索dbc中的报文是否为待校验报文。
在本步骤中,可以通过第三方库“canmatrix”读取dbc文件,遍历每个报文,检查是否为待校验报文。可通过报文中信号名称是否含关键字"RollCnt", "AliveCounter", "RollingCounter","Rolling_Counter", "Chksum", "Chksm", "CheckSum", "Checksum","Checksum"判断。
步骤602:在达芬奇Config配置文件Com_ecuc.arxml中搜寻报文对应的配置信息。
通过第三方库“ElementTree”,读取达芬奇CFG配置文件Com_ecuc.arxml,先将所有报文对应的节点找出,可通过查找文本为“/MICROSAR/Com/ComConfig/ComIPdu” 的节点。
根据从dbc中搜索到的报文,去找出需要校验报文的节点。每个报文对应的节点中,会存在标签为“SHORT-NAME”的子节点,子节点中的文本是由报文的名称组成的。可通过对比两者(报文名称和子节点的文本)内容,判断是否为所查找节点。
然后,可以从找到的节点中再次查找文本为"/MICROSAR/Com/ComConfig/ComIPdu/ComIPduCallout "的子节点,该子节点即可以作为配置信息。
步骤603:在配置信息中,增添Callout函数。
然后,可以在配置信息中,增添Callout函数。具体地,可以在子节点中加上Callout函数,函数名可以为“COMCbk_”+“报文名称”。
步骤604:生成Callout函数代码。
根据子节点上添加的Callout函数,可以生成Callout函数代码,通过Callout函数代码直接调用封装好的函数接口,以调用相应函数进行CAN报文E2E校验。
上述过程均可以通过Python脚本文件自动实现,无需人工去识别dbc中含有的CheckSum和RollingCounter的报文,脚本会根据关键字自动搜索。同时不需人工在达芬奇Config工具中添加Callout函数,脚本自动填充。也不需要人工编写Callout函数代码。能够极大地减少人力成本,能够避免人为操作大量重复工作造成的时间浪费,以及低级错误的出现,提升校验效率并减少错误率。
本申请实施例提供的校验方法,通过调用预设工具,识别DBC文件中的待校验报文。获取达芬奇config工具中与待校验报文匹配的配置信息。在配置信息内容添加预先定义的Callout函数,以生成Callout函数代码,实现CAN报文E2E校验。本申请实施例通过预设工具即可实现DBC文件中待校验报文的识别,以及Config工具中添加Callout函数的添加,无需人工操作,能够节省大量的人力成本。同时,无需人工编写Callout函数代码,能够提高E2E校验的效率,且相较于人工编写Callout函数代码的方式,能够降低校验出错率。
参照图7,示出了本申请实施例提供的一种校验装置的结构示意图,如图7所示,该校验装置700可以包括以下模块:
待校验报文识别模块710,用于调用预设工具,识别DBC文件中的待校验报文;
配置信息获取模块720,用于获取达芬奇config工具中与所述待校验报文匹配的配置信息;
E2E校验模块730,用于在所述配置信息内添加预先定义的Callout函数,以生成Callout函数代码,实现CAN报文E2E校验。
可选地,所述装置还包括:
功能代码编写模块,用于调用预设脚本编写报文识别功能的第一功能代码、节点查找功能的第二功能代码、以及Callout函数添加功能的第三功能代码;
预设工具生成模块,用于封装所述第一功能代码、所述第二功能代码和所述第三功能代码,生成所述预设工具。
可选地,所述待校验报文识别模块包括:
识别结果获取单元,用于调用所述预设工具中的第一功能代码,对所述DBC文件中的各信号报文进行识别,得到识别结果;
待校验报文确定模块,用于根据所述识别结果,确定所述各信号报文包含设定关键词的所述待校验报文。
可选地,所述配置信息获取模块包括:
所有节点获取单元,用于调用所述预设工具中的第二功能代码,获取所述达芬奇config工具的CFG配置文件中的所有节点;
目标节点获取单元,用于获取所述所有节点中所述待校验报文对应的目标节点;
配置信息获取单元,用于从所述目标节点中筛选出与Callout函数匹配的子节点,并将该子节点作为所述配置信息。
可选地,所述E2E校验模块包括:
Callout函数获取单元,用于调用所述预设工具中的第三功能代码,获取预先定义的所述Callout函数;
Callout函数添加单元,用于将所述Callout函数添加到所述子节点上;
Callout函数代码生成单元,用于根据所述子节点上的所述Callout函数,生成所述Callout函数代码;
E2E校验单元,用于通过所述Callout函数代码调用预先编写函数库内对应的函数,进行CAN报文E2E校验。
可选地,所述预设脚本为Python脚本。
本申请实施例提供的校验装置,通过调用预设工具,识别DBC文件中的待校验报文。获取达芬奇config工具中与待校验报文匹配的配置信息。在配置信息内容添加预先定义的Callout函数,以生成Callout函数代码,实现CAN报文E2E校验。本申请实施例通过预设工具即可实现DBC文件中待校验报文的识别,以及Config工具中添加Callout函数的添加,无需人工操作,能够节省大量的人力成本。同时,无需人工编写Callout函数代码,能够提高E2E校验的效率,且相较于人工编写Callout函数代码的方式,能够降低校验出错率。
本申请实施例提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述校验方法。
图8示出了本发明实施例的一种电子设备800的结构示意图。如图8所示,电子设备800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的计算机程序指令或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序指令,来执行各种适当的动作和处理。在RAM 803中,还可存储电子设备800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
电子设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标、麦克风等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许电子设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,可由处理单元801执行。例如,上述任一实施例的方法可被实现为计算机软件程序,其被有形地包含于计算机可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM802和/或通信单元809而被载入和/或安装到电子设备800上。当计算机程序被加载到RAM803并由CPU801执行时,可以执行上文描述的方法中的一个或多个动作。
本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述校验方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
本领域普通技术人员可以意识到,结合本申请实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组间可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种校验方法,其特征在于,所述方法包括:
调用预设工具,识别DBC(Database Can)文件中的待校验报文;
获取达芬奇config工具中与所述待校验报文匹配的配置信息;
在所述配置信息内添加预先定义的Callout函数,以生成Callout函数代码,实现CAN报文E2E校验;
所述获取达芬奇config工具中与所述待校验报文匹配的配置信息,包括:
调用所述预设工具中的第二功能代码,获取所述达芬奇config工具的CFG配置文件中的所有节点;所述第二功能代码为节点查找功能的代码;
获取所述所有节点中所述待校验报文对应的目标节点;
从所述目标节点中筛选出与Callout函数匹配的子节点,并将该子节点作为所述配置信息。
2.根据权利要求1所述的方法,其特征在于,在所述调用预设工具,识别DBC文件中的待校验报文之前,还包括:
调用预设脚本编写报文识别功能的第一功能代码、节点查找功能的第二功能代码、以及Callout函数添加功能的第三功能代码;
封装所述第一功能代码、所述第二功能代码和所述第三功能代码,生成所述预设工具。
3.根据权利要求2所述的方法,其特征在于,所述调用预设工具,识别DBC文件中的待校验报文,包括:
调用所述预设工具中的第一功能代码,对所述DBC文件中的各信号报文进行识别,得到识别结果;
根据所述识别结果,确定所述各信号报文包含设定关键词的所述待校验报文。
4.根据权利要求1所述的方法,其特征在于,所述在所述配置信息内添加预先定义的Callout函数,以生成Callout函数代码,实现CAN报文E2E校验,包括:
调用所述预设工具中的第三功能代码,获取预先定义的所述Callout函数;
将所述Callout函数添加到所述子节点上;
根据所述子节点上的所述Callout函数,生成所述Callout函数代码;
通过所述Callout函数代码调用预先编写函数库内对应的函数,进行CAN报文E2E校验。
5.根据权利要求2-4中任一项所述的方法,其特征在于,所述预设脚本为Python脚本。
6.一种校验装置,其特征在于,所述装置包括:
待校验报文识别模块,用于调用预设工具,识别DBC(Database Can)文件中的待校验报文;
配置信息获取模块,用于获取达芬奇config工具中与所述待校验报文匹配的配置信息;
E2E校验模块,用于在所述配置信息内添加预先定义的Callout函数,以生成Callout函数代码,实现CAN报文E2E校验;
所述配置信息获取模块包括:
所有节点获取单元,用于调用所述预设工具中的第二功能代码,获取所述达芬奇config工具的CFG配置文件中的所有节点;所述第二功能代码为节点查找功能的代码;
目标节点获取单元,用于获取所述所有节点中所述待校验报文对应的目标节点;
配置信息获取单元,用于从所述目标节点中筛选出与Callout函数匹配的子节点,并将该子节点作为所述配置信息。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
功能代码编写模块,用于调用预设脚本编写报文识别功能的第一功能代码、节点查找功能的第二功能代码、以及Callout函数添加功能的第三功能代码;
预设工具生成模块,用于封装所述第一功能代码、所述第二功能代码和所述第三功能代码,生成所述预设工具。
8.一种电子设备,其特征在于,包括:
存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现权利要求1至5中任一项所述的校验方法。
9.一种可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行权利要求1至5中任一项所述的校验方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311082866.7A CN116795584B (zh) | 2023-08-28 | 2023-08-28 | 一种校验方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311082866.7A CN116795584B (zh) | 2023-08-28 | 2023-08-28 | 一种校验方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116795584A CN116795584A (zh) | 2023-09-22 |
CN116795584B true CN116795584B (zh) | 2023-11-17 |
Family
ID=88044234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311082866.7A Active CN116795584B (zh) | 2023-08-28 | 2023-08-28 | 一种校验方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116795584B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108345288A (zh) * | 2017-01-23 | 2018-07-31 | 长城汽车股份有限公司 | Can信号接口软件的自动生成方法、系统及车辆 |
CN113094029A (zh) * | 2020-01-08 | 2021-07-09 | 广州汽车集团股份有限公司 | 一种capl代码自动生成方法、系统及汽车 |
CN113341906A (zh) * | 2020-03-02 | 2021-09-03 | 北京新能源汽车股份有限公司 | 一种故障处理方法、装置、设备及汽车 |
CN113507487A (zh) * | 2021-09-06 | 2021-10-15 | 蜂巢能源科技有限公司 | Can通信安全的检测方法、装置、电子设备及车辆 |
US11398117B1 (en) * | 2021-09-02 | 2022-07-26 | Rivian Ip Holdings, Llc | Method for real-time ECU crash reporting and recovery |
CN115080104A (zh) * | 2021-03-15 | 2022-09-20 | 广汽埃安新能源汽车有限公司 | 一种对Autosar中COM代码进行自动配置的方法及系统 |
CN115085867A (zh) * | 2022-06-15 | 2022-09-20 | 北斗星通智联科技有限责任公司 | 一种can总线报文的e2e校验方法及装置 |
CN115348200A (zh) * | 2022-07-14 | 2022-11-15 | 武汉光庭信息技术股份有限公司 | 一种can通信功能测试方法及测试系统 |
CN115600558A (zh) * | 2022-10-12 | 2023-01-13 | 星河智联汽车科技有限公司(Cn) | 配置文件导入方法、装置、终端设备及存储介质 |
CN115757483A (zh) * | 2022-08-26 | 2023-03-07 | 惠州市德赛西威汽车电子股份有限公司 | 一种自动化测试方法、装置、电子设备和存储介质 |
CN115967604A (zh) * | 2022-12-21 | 2023-04-14 | 知行汽车科技(苏州)股份有限公司 | 报文传输方法、装置、电子设备及计算机可读存储介质 |
CN116455697A (zh) * | 2023-04-07 | 2023-07-18 | 北斗星通智联科技有限责任公司 | 一种批量数据回灌校验方法、系统和终端设备 |
CN116489043A (zh) * | 2023-04-25 | 2023-07-25 | 深蓝汽车科技有限公司 | 一种can通信自动化测试方法 |
CN116521217A (zh) * | 2023-04-28 | 2023-08-01 | 深蓝汽车科技有限公司 | 一种基于autosar工具快速配置bsw的方法、系统及储存介质 |
CN116560697A (zh) * | 2023-07-06 | 2023-08-08 | 上海鉴智其迹科技有限公司 | Dbc数据库同步方法、装置、电子设备及可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10867046B2 (en) * | 2018-08-08 | 2020-12-15 | Quanta Computer Inc. | Methods and apparatus for authenticating a firmware settings input file |
-
2023
- 2023-08-28 CN CN202311082866.7A patent/CN116795584B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108345288A (zh) * | 2017-01-23 | 2018-07-31 | 长城汽车股份有限公司 | Can信号接口软件的自动生成方法、系统及车辆 |
CN113094029A (zh) * | 2020-01-08 | 2021-07-09 | 广州汽车集团股份有限公司 | 一种capl代码自动生成方法、系统及汽车 |
CN113341906A (zh) * | 2020-03-02 | 2021-09-03 | 北京新能源汽车股份有限公司 | 一种故障处理方法、装置、设备及汽车 |
CN115080104A (zh) * | 2021-03-15 | 2022-09-20 | 广汽埃安新能源汽车有限公司 | 一种对Autosar中COM代码进行自动配置的方法及系统 |
US11398117B1 (en) * | 2021-09-02 | 2022-07-26 | Rivian Ip Holdings, Llc | Method for real-time ECU crash reporting and recovery |
CN113507487A (zh) * | 2021-09-06 | 2021-10-15 | 蜂巢能源科技有限公司 | Can通信安全的检测方法、装置、电子设备及车辆 |
CN115085867A (zh) * | 2022-06-15 | 2022-09-20 | 北斗星通智联科技有限责任公司 | 一种can总线报文的e2e校验方法及装置 |
CN115348200A (zh) * | 2022-07-14 | 2022-11-15 | 武汉光庭信息技术股份有限公司 | 一种can通信功能测试方法及测试系统 |
CN115757483A (zh) * | 2022-08-26 | 2023-03-07 | 惠州市德赛西威汽车电子股份有限公司 | 一种自动化测试方法、装置、电子设备和存储介质 |
CN115600558A (zh) * | 2022-10-12 | 2023-01-13 | 星河智联汽车科技有限公司(Cn) | 配置文件导入方法、装置、终端设备及存储介质 |
CN115967604A (zh) * | 2022-12-21 | 2023-04-14 | 知行汽车科技(苏州)股份有限公司 | 报文传输方法、装置、电子设备及计算机可读存储介质 |
CN116455697A (zh) * | 2023-04-07 | 2023-07-18 | 北斗星通智联科技有限责任公司 | 一种批量数据回灌校验方法、系统和终端设备 |
CN116489043A (zh) * | 2023-04-25 | 2023-07-25 | 深蓝汽车科技有限公司 | 一种can通信自动化测试方法 |
CN116521217A (zh) * | 2023-04-28 | 2023-08-01 | 深蓝汽车科技有限公司 | 一种基于autosar工具快速配置bsw的方法、系统及储存介质 |
CN116560697A (zh) * | 2023-07-06 | 2023-08-08 | 上海鉴智其迹科技有限公司 | Dbc数据库同步方法、装置、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116795584A (zh) | 2023-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20130007068A1 (en) | Validation of schema and schema conformance verification | |
CN103617118B (zh) | 测试结果的统一处理方法、装置及系统 | |
CN106941501B (zh) | 一种数据通信方法及装置 | |
CN112069511B (zh) | 数据保护方法、装置、电子控制单元、设备及存储介质 | |
CN111651140B (zh) | 基于工作流的服务方法及装置 | |
CN112817935A (zh) | 基于字段类型的数据处理方法、装置、设备及存储介质 | |
CN105630927A (zh) | 链接生成方法和装置 | |
CN116560697B (zh) | Dbc数据库同步方法、装置、电子设备及可读存储介质 | |
CN116795584B (zh) | 一种校验方法、装置、电子设备及存储介质 | |
CN113360300A (zh) | 接口调用链路生成方法、装置、设备及可读存储介质 | |
CN115858320A (zh) | 操作日志记录方法、装置、介质及产品 | |
CN114968822A (zh) | 接口测试方法、装置、计算机设备及存储介质 | |
CN115883512A (zh) | Dns域名处理方法、装置、系统、设备及介质 | |
CN111459819B (zh) | 软件测试方法及装置、电子设备、计算机可读介质 | |
CN113535578A (zh) | 一种cts测试方法、装置及测试设备 | |
CN112910697A (zh) | 一种故障处理方法及装置 | |
CN110597517A (zh) | 动态解析mat文件的方法及装置 | |
CN116431119B (zh) | 软件组件端口创建方法、装置、电子设备及存储介质 | |
CN113825166B (zh) | 一种基站测试方法、装置、电子设备及存储介质 | |
CN112737872B (zh) | 一种arinc664p7端系统跨网测试系统和方法 | |
CN112416409B (zh) | 车载电脑软件升级方法、装置、设备及存储介质 | |
US11403467B2 (en) | Semantic correction of messages | |
CN110099096B (zh) | 应用程序配置方法、装置、计算机设备及存储介质 | |
CN116016721A (zh) | 报文处理方法、装置、电子设备及计算机可读存储介质 | |
CN117910017A (zh) | 数据校验方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |