CN116560697A - Dbc数据库同步方法、装置、电子设备及可读存储介质 - Google Patents
Dbc数据库同步方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN116560697A CN116560697A CN202310819460.6A CN202310819460A CN116560697A CN 116560697 A CN116560697 A CN 116560697A CN 202310819460 A CN202310819460 A CN 202310819460A CN 116560697 A CN116560697 A CN 116560697A
- Authority
- CN
- China
- Prior art keywords
- configuration code
- code
- configuration
- attribute information
- update data
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000003068 static effect Effects 0.000 claims abstract description 52
- 238000012545 processing Methods 0.000 claims abstract description 6
- 238000013515 script Methods 0.000 claims description 54
- 238000013507 mapping Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 4
- 238000011161 development Methods 0.000 abstract description 20
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 6
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种DBC数据库更新方法、装置、电子设备及可读存储介质,涉及数据处理技术领域。所述方法包括:根据DBC数据库的更新数据对应的属性信息,获取更新数据对应的配置代码;根据更新数据对应的静态代码库以及配置代码,对DBC数据库进行更新。解决了现有技术中CAN报文解析工作量大,错误率高而导致开发效率低的问题。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种DBC数据库同步方法、装置、电子设备及可读存储介质。
背景技术
当前车载控制器中关于CAN(Controller Area Network,控制局域网总线)报文解析开发工作主要分为2种路线,一种是手写代码开发的方案,一种是基于工具链配置的方案,比如AUTOSAR(AUTomotive Open System Architecture,汽车开放系统体系结构)工具链。
当前车载控制器中关于CAN报文解析开发的方案中,手写代码方案和基于配置工具链的方案都存在些问题,具体如下:
使用手写代码开发的方案,所有代码全部手写开发,使用手写代码开发的方案,所有CAN报文解析都需要通过手写代码实现,代码本身通用性差。一方面,可能由于信号量较多导致CAN报文解析的代码开发工作量比较大;另一方面,当DBC(Data Base Commande,数据库管理)数据库发生变更时,可能由于信号内容更新较多导致CAN报文解析的代码更新工作量比较大。
使用工具链配置的方案,需要将DBC数据库导入到工具链中,通过工具配置来生成对应代码,使用工具链配置的方案,需要将DBC数据库导入到工具链中,通过工具配置生成所有CAN报文解析代码。一方面,对DBC数据库文件本身属性要求比较高,如果因为属性缺失或者错误,会导致DBC数据库文件导入失败或者导入信息不完整,那么很多工作都需要手动配置来完成,工作量较大、效率较低;另一方面,当DBC数据库发生变更时,可能由于信号量较多导致配置开发工作量较大。
综上,在当前车载控制器中关于CAN报文解析开发存在工作量较大、开发效率低下、代码通用性较差的问题。
发明内容
本申请实施例提供一种DBC数据库同步方法、装置、电子设备及可读存储介质,以解决现有技术中CAN报文解析工作量大,错误率高而导致开发效率低的问题。
为了解决上述技术问题,本申请是这样实现的:
第一方面,本申请实施例提供了一种DBC数据库更新方法,所述方法包括:
根据DBC数据库的更新数据对应的属性信息,获取所述更新数据对应的配置代码;
根据所述更新数据对应的静态代码库以及所述配置代码,对所述DBC数据库进行更新。
可选地,所述根据DBC数据库的更新数据对应的属性信息,获取所述更新数据对应的配置代码,包括:
通过预设脚本,根据所述属性信息获取所述更新数据对应的第一配置代码,其中,所述预设脚本是预先根据所述属性信息对应的配置代码模板生成的;
对所述第一配置代码以及第二配置代码进行汇总,以得到所述配置代码。
可选地,所述通过预设脚本,根据所述属性信息获取所述更新数据对应的第一配置代码,包括:
通过所述预设脚本,对所述更新数据进行解析,以获取所述属性信息;
通过所述预设脚本,将所述属性信息以及所述第一配置代码的配置表,以获取所述第一配置代码。
可选地,在所述对所述第一配置代码以及第二配置代码进行汇总,以得到所述配置代码之前,还包括:
响应于输入指令,获取所述输入指令对应的所述第二配置代码。
可选地,在所述根据DBC数据库的更新数据对应的属性信息,获取所述更新数据对应的配置代码之前,还包括:
根据CAN报文与信号、信号物理值与原始值之间的映射关系,生成所述静态代码库。
第二方面,本申请实施例另外提供了一种DBC数据库更新装置,所述装置包括:
获取模块,用于根据DBC数据库的更新数据对应的属性信息,获取所述更新数据对应的配置代码;
更新模块,用于根据所述更新数据对应的静态代码库以及所述配置代码,对所述DBC数据库进行更新。
可选地,所述获取模块包括:
第一获取子模块,用于通过预设脚本,根据所述属性信息获取所述更新数据对应的第一配置代码,其中,所述预设脚本是预先根据所述属性信息对应的配置代码模板生成的;
汇总子模块,用于对所述第一配置代码以及第二配置代码进行汇总,以得到所述配置代码。
可选地,所述获取子模块包括:
解析单元,用于通过所述预设脚本,对所述更新数据进行解析,以获取所述属性信息;
获取单元,用于将所述属性信息以及所述第一配置代码的配置表,以获取所述第一配置代码。
可选地,还包括:第二获取子模块,用于在所述对所述第一配置代码以及第二配置代码进行汇总,以得到所述配置代码之前,响应于输入指令,获取所述输入指令对应的所述第二配置代码。
可选地,还包括:
处理模块,用于在所述根据DBC数据库的更新数据对应的属性信息,获取所述更新数据对应的配置代码之前,根据CAN报文与信号、信号物理值与原始值之间的映射关系,生成所述静态代码库。
第三方面,本申请实施例另外提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如前第一方面所述的DBC数据库更新方法的步骤。
第四方面,本申请实施例另外提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前第一方面所述的DBC数据库更新方法的步骤。
在本申请实施例中,根据DBC数据库的更新数据对应的属性信息,获取更新数据对应的配置代码;根据更新数据对应的静态代码库以及配置代码,对DBC数据库进行更新。通过获取CAN报文对应的静态代码库以及获取更新数据对应的配置代码,降低了CAN报文解析配置代码的错误率,提高了开发效率,以解决现有技术中CAN报文解析工作量大,错误率高而导致开发效率低的问题。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例中的一种DBC数据库更新方法的步骤流程图;
图2是本申请实施例中的又一种DBC数据库更新方法的步骤流程图;
图3是本申请实施例中的一种生成预设脚本的流程图;
图4是本申请实施例中的一种DBC数据库更新装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
详细介绍本申请实施例提供的一种DBC数据库更新方法。
参照图1,示出了本申请实施例中一种DBC数据库更新方法的步骤流程图。
S102,根据DBC数据库的更新数据对应的属性信息,获取更新数据对应的配置代码;
S104,根据更新数据对应的静态代码库以及配置代码,对DBC数据库进行更新。
在本实施例中,DBC数据库用于解析CAN报文,例如对预设终端中CAN报文的接收和发送进行解析。
在本实施例中,DBC数据库的更新数据可以是DBC数据库的全部配置数据或部分配置数据。例如,在首次对DBC数据库进行配置时,更新数据可以是DBC数据库的全部配置数据,在非首次对DBC数据库进行更新时,更新数据可以是DBC数据库的全部配置数据或部分配置数据。
在本实施例中,获取DBC数据库中CAN报文对应的静态代码库可以包括但不限于将报文与信号之间的组包/拆包,以及,信号物理值与原始值的数值转化这两个过程的代码内容,解耦和通用化成静态代码库。静态代码库用于表示报文与信号之间、信号物理值与原始值的数值转化之间的映射关系。
在具体实现中,可以将车载控制器中关于CAN解析代码进行重构和优化,具体地,可以对CAN报文解析代码解耦和通用化,更新之后的代码可以分为两部分,一部分为静态代码库,另一部分为配置代码。
在将车载控制器中关于CAN解析代码进行重构和优化之后,即可以得到配置代码和静态代码库,然后,可以通过CAN报文分析静态代码库。具体分析过程可以为:将报文与信号之间的组包/拆包和信号物理值与原始值的数值转化这两个过程的代码内容,解耦和通用化成静态代码库。
在本实施例中,根据更新数据对应的属性信息获取更新数据对应的配置代码。本实施例中的属性信息包括但不限于报文和信号等相关属性信息。例如信号物理值的位置、大小、长度、最大值、最小值等属性信息。
在获取到CAN报文对应的静态代码库以及更新数据对应的配置代码之后,对DBC数据库中的CAN报文解析代码进行更新,以实现对DBC数据库的更新。
在具体地应用场景中,在接收DBC数据库对应的更新指令后,接收DBC数据库的更新数据。通过对更新数据进行解析得到配置代码以及静态代码库,并在对更新数据校验完成后,基于配置代码以及静态代码库对DBC数据库中的CAN报文解析代码进行更新。后续可以实现由更新后的DBC数据库对CAN报文进行解析。
在上述技术方案中,通过对CAN报文解析代码和流程进行重构和优化,将CAN报文解析功能解耦封装为静态代码库和配置代码,静态代码库无需更新,配置代码根据需求进行更新,无需进行大量的代码开发或配置工作,节省了大量的人力成本。
需要说明的是,通过本实施例,根据DBC数据库的更新数据对应的属性信息,获取更新数据对应的配置代码;根据更新数据对应的静态代码库以及配置代码,对DBC数据库进行更新。通过获取CAN报文对应的静态代码库以及获取更新数据对应的配置代码,降低了CAN报文解析配置代码的错误率,提高了开发效率,以解决现有技术中CAN报文解析工作量大,错误率高而导致开发效率低的问题。
可选地,在本实施例中,根据DBC数据库的更新数据对应的属性信息,获取更新数据对应的配置代码,包括但不限于:通过预设脚本,根据属性信息获取更新数据对应的第一配置代码,其中,预设脚本是预先根据属性信息对应的配置代码模板生成的;对第一配置代码以及第二配置代码进行汇总,以得到配置代码。
脚本是指批处理文件的延伸,是一种纯文本保存的程序,一般来说的计算机脚本程序是确定的一系列控制计算机进行运算操作动作的组合,在其中可以实现一定的逻辑分支等。在本示例中,预设脚本可以为但不限于Python脚本等,具体地,对于预设脚本的具体类型可以根据业务需求而定,本实施例对此不加以限制。
具体地,在本实施例中,预先对CAN报文进行解析,以得到CAN报文对应的配置代码模板。主要将DBC数据库中的报文和信号等相关属性信息,作为模板信息生成配置代码模板,基于配置代码模板生成预设脚本。在具体实现中,可以由CAN报文解析配置代码模板,并将CAN DBC数据库中的报文和信号等相关属性信息,填写在配置代码模板中。配置代码模块可以根据CAN DBC数据库中的报文和信号等相关属性信息和配置代码相关信息,编写预设脚本,实现CAN DBC数据库->配置代码的自动化生成。
然后,通过预设脚本将DBC数据库中的报文和信息的相关属性信息写到配置代码中的配置表里,以实现自动更新配置代码,即根据CAN DBC数据库内容,将对应信息自动化更新到配置代码中。在本实施例中,通过预设脚本根据相关属性信息自动获取更新数据对应的第一配置代码。
此外,在实际的应用场景中,存在一些属性信息需要根据用户输入的输入指令进行配置,例如总线特性等相关参数。或者,如CAN报文与CANFD(基于灵活数据速率CAN,CANwith Flexible Data rate)报文对应的消息数据最大长度值是不一样的,因此需要根据用户输入的输入指令来设置消息数据的最大长度值,根据输入指令获取第二配置代码,避免配置代码出错。
在某些示例中,输入指令可以为语音指令,例如,在用户需要对例如总线特性等相关参数进行配置时,可以输入语音指令如“配置总线特性、xxx参数”等,以进行代码配置。
在某些示例中,输入指令可以为文本指令,例如,在代码配置页面内,用户可以输入需要进行配置的参数,如总线特性等参数文本,然后点击代码配置页面内的“提交”控件,以进行代码配置等。
可以理解地,上述示例仅是为了更好地理解本申请实施例的技术方案而列举的示例,在具体实现中,还可以设置其它地输入指令的触发形式,如在代码配置页面内,针对每项参数均设置一个对应的代码配置控件,在用户需要对某项或多项参数进行配置时,点击其对应的代码配置控件即可等。对于输入指令的触发形式可以根据业务需求而定,本实施例对此不加以限制。
最后,对第一配置代码以及第二配置代码进行汇总,得到更新数据对应的全部的配置代码,对DBC数据库进行更新。
通过上述示例,通过预设脚本,根据属性信息获取更新数据对应的第一配置代码,对第一配置代码以及第二配置代码进行汇总,以得到配置代码,通过自动化脚本实现DBC数据库的更新数据到配置代码的自动化配置,降低了手写代码的错误率,降低了工作量。
可选地,在本实施例中,通过预设脚本,根据属性信息获取更新数据对应的第一配置代码,包括但不限于:通过预设脚本,对DBC数据库数据进行解析,以获取属性信息;通过预设脚本,将属性信息以及第一配置代码的配置表,以获取第一配置代码。
具体地,在本实施例中,根据CAN报文对应的 DBC数据库的报文和信号等相关属性信息和配置代码相关信息,来确定配置代码模板,进而根据配置代码模板编写预设脚本,通过预设脚本实现基于CAN报文中的更新数据自动化生成配置代码。
当根据更新数据对DBC数据库进行更新时,将DBC数据库的更新数据作为输入信息,通过预设脚本对更新数据进行内容解析,解析出更新数据中报文和信号等相关的属性信息。
具体地,通过预设脚本将DBC数据库中的报文和信息的相关属性信息写到配置代码中的配置表里,以确定属性信息对应的第一配置代码。
通过上述示例,通过自动化脚本实现DBC数据库的更新数据到配置代码的自动化配置,降低了手写代码的错误率,减少了工作量,提高了开发效率。
可选地,在本实施例中,在对第一配置代码以及第二配置代码进行汇总,以得到配置代码之前,还包括但不限于:响应于输入指令,获取输入指令对应的第二配置代码。
在实际的应用场景中,属性信息分别包括静态属性信息和动态属性信息,其中,第一配置代码通常为静态属性信息,而部分属性信息为动态的。动态属性信息由于是非固定的,需要人工进行设置。在本实施例中,需要根据CAN报文总线特性手动更新配置代码中的总线特性相关参数,例如CAN和CANFD对应的消息数据Message Data的最大长度是不一样的,因此需要根据用户输入的输入指令更新相关参数。
通过上述示例,根据用户输入的输入指令更新相关参数,以得到第二配置代码,以降低配置代码的错误率。
可选地,在本实施例中,在根据DBC数据库的更新数据对应的属性信息,获取更新数据对应的配置代码之前,还包括但不限于:根据CAN报文与信号、信号物理值与原始值之间的映射关系,生成静态代码库。
具体地,在本实施例中,对于CAN报文解析生成静态代码库,主要是将报文与信号之间的组包/拆包和信号物理值与原始值的数值转化这两个过程的代码内容,解耦和通用化成静态代码库。通过静态代码库确定报文与信号之间、信号物理值与原始值的数值转化之间的映射关系。
最后,在本实施例中,汇总预设脚本生成的配置代码和基于用户输入得到的配置代码,作为全部的配置代码;综合对CAN报文解析得到的静态代码库和配置代码,完成DBC数据库的CAN报文解析功能代码更新。
在一个具体地实施例中,如图2所示的DBC数据库更新方法的流程图,该方法具体可以包括以下步骤:
S201,接收DBC数据库对应的更新数据;
具体地,接收DBC数据库更新指令之后,接收DNC数据库更新的更新数据。
在一个示例中,当DBC数据库发生更新时,将CAN报文对应的DBC数据库作为报文解析的输入信息。
S202,通过预设脚本读取和解析更新数据;
具体地,通过预设脚本对CAN报文进行内容解析,解析得出DBC数据库的报文和信号相关的属性信息。
S203,根据属性信息生成配置代码;
具体地,将DBC数据库中的报文和信息的相关属性信息写到配置代码中的配置表里,自动更新配置代码,根据DBC数据库中的报文以及内容,通过预设脚本将对应信息自动化更新到配置代码中。
S204,根据输入指令获取总线特性相关参数;
具体地,响应于用户输入的输入指令,根据用户输入的输入指令更新配置代码中的总线特性相关参数。
S205,配置代码更新;
具体地,汇总预设脚本更新的配置代码和由输入指令更新的配置代码,作为总的配置代码更新。
S206,对DBC数据库进行更新。
具体地,综合CAN报文解析静态代码库和配置代码,完成对CAN报文解析功能代码的更新,以实现DBC数据库的更新。
在执行S201之前,如图3所示,还可以包括以下步骤:
S301,对CAN报文解析代码进行解耦和通用化;
具体地,对CAN报文解析代码进行解耦和通用化,主要是为了实现将CAN报文解析代码进行重构和优化,更新之后的CAN报文解析代码主要分为两部分,一部分为静态代码库,另一部分为配置代码;需要说明的是,此过程理论上只需进行一次即可,后续无需更新。
S302,对CAN报文解析,以得到静态代码库;
具体地,通过对CAN报文解析,以获取静态代码库。将报文与信号之间的组包/拆包和信号物理值与原始值的数值转化这两个过程的代码内容,解耦和通用化成静态代码库。
S303,对CAN报文解析,以得到配置代码模板;
具体地,CAN报文解析配置代码模板,主要将CAN报文对应的DBC数据库中的报文和信号等相关属性信息,填写在配置代码中,作为1个配置代码模板,为后续CAN 报文与DBC数据库更新做参考。
S304,根据配置代码模板编写预设脚本。
具体地,根据CAN报文与 DBC数据库中的报文和信号等相关属性信息和配置代码相关信息,根据配置代码模板编写预设脚本,通过预设脚本实现CAN 报文与DBC数据库的内容之间的转化,以得到配置代码的自动化生成。
接下来,结合具体步骤对本申请实施例的技术方案进行如下完整描述。
步骤S1、CAN报文解析代码解耦和通用化。具体地,可以将CAN解析代码进行重构和优化,更新之后的代码主要分为两部分,一部分为静态代码库,另一部分为配置代码。
步骤S2、CAN报文解析静态代码库。具体地,可以将报文与信号之间的组包/拆包和信号物理值与原始值的数值转化这两个过程的代码内容,解耦和通用化成静态代码库。
步骤S3、CAN报文解析配置代码模板。具体地,可以将CAN DBC数据库中的报文和信号等相关属性信息,填写在配置代码模板中,以作为一个模板信息,为后续CAN DBC数据库更新做参考。
步骤S4、配置代码自动化脚本编写。具体地,可以根据CAN DBC数据库中的报文和信号等相关属性信息和配置代码相关信息,编写自动化脚本,实现CAN DBC数据库->配置代码的自动化生成。
步骤S5、CAN DBC数据库输入或内容更新。具体地,在CAN DBC数据库给出或发生更新时,将CAN DBC数据库作为报文解析的输入信息。
步骤S6、通过自动化脚本读取和解析DBC数据库内容。即通过自动化脚本对CANDBC进行内容解析,解析出CAN DBC数据库中报文和信号等相关的属性信息。
步骤S7、将DBC数据库中的报文和信息的相关属性信息写到配置代码中的配置表里,自动更新配置代码。具体地,可以根据CAN DBC数据库内容,将对应信息自动化更新到配置代码中。
步骤S8、根据总线特性,手动更新配置代码中的总线特性相关参数。如根据CAN和CANFD对应的Message Data的最大长度是不一样的,因此,需要进行手动更新相关参数。
步骤S9、配置代码更新。具体地,可以汇总自动化脚本更新的配置代码和手动更新的配置代码,作为总的配置代码更新。
步骤S10、CAN报文解析功能代码更新。即综合CAN报文解析静态代码库和配置代码,完成CAN报文解析功能代码更新。
在上述实现过程中,通过将CAN报文解析功能解耦封装为静态代码库和配置代码,静态代码库无需更新,配置代码根据需求进行更新。通过自动化脚本实现CAN DBC数据库到配置代码的自动化配置,降低了手写代码的错误率,减少了工作量,提高了开发效率。
通过本申请实施例,根据DBC数据库的更新数据对应的属性信息,获取更新数据对应的配置代码;根据更新数据对应的静态代码库以及配置代码,对DBC数据库进行更新。通过获取CAN报文对应的静态代码库以及获取更新数据对应的配置代码,降低了CAN报文解析配置代码的错误率,提高了开发效率,以解决现有技术中CAN报文解析工作量大,错误率高而导致开发效率低的问题。
详细介绍本申请实施例提供的一种DBC数据库更新装置。
参照图4,示出了本申请实施例中一种DBC数据库更新装置的结构示意图。
本申请实施例的DBC数据库更新装置包括:获取模块40、更新模块42。
下面分别详细介绍各模块的功能以及各模块之间的交互关系。
获取模块40,用于根据DBC数据库的更新数据对应的属性信息,获取所述更新数据对应的配置代码;
更新模块42,用于根据所述更新数据对应的静态代码库以及所述配置代码,对所述DBC数据库进行更新。
可选地,在本实施例中,所述获取模块40包括:
第一获取子模块,用于通过预设脚本,根据所述属性信息获取所述更新数据对应的第一配置代码,其中,所述预设脚本是预先根据所述属性信息对应的配置代码模板生成的;
汇总子模块,用于对所述第一配置代码以及第二配置代码进行汇总,以得到所述配置代码。
可选地,在本实施例中,所述获取子模块包括:
解析单元,用于通过所述预设脚本,对所述更新数据进行解析,以获取所述属性信息;
获取单元,用于将所述属性信息以及所述第一配置代码的配置表,以获取所述第一配置代码。
可选地,在本实施例中,还包括:
第二获取子模块,用于在所述对所述第一配置代码以及第二配置代码进行汇总,以得到所述配置代码之前,响应于输入指令,获取所述输入指令对应的所述第二配置代码。
可选地,在本实施例中,还包括:
处理模块,用于在所述根据DBC数据库的更新数据对应的属性信息,获取所述更新数据对应的配置代码之前,根据CAN报文与信号、信号物理值与原始值之间的映射关系,生成所述静态代码库。
而且,在本申请实施例中,根据DBC数据库的更新数据对应的属性信息,获取更新数据对应的配置代码;根据更新数据对应的静态代码库以及配置代码,对DBC数据库进行更新。通过获取CAN报文对应的静态代码库以及获取更新数据对应的配置代码,降低了CAN报文解析配置代码的错误率,提高了开发效率,以解决现有技术中CAN报文解析工作量大,错误率高而导致开发效率低的问题。
根据本申请实施例,还提供了一种电子设备,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如上所述的DBC数据库更新方法的步骤。
可选地,在本实施例中,存储器被设置为存储用于执行以下步骤的程序代码:
S1,根据DBC数据库的更新数据对应的属性信息,获取所述更新数据对应的配置代码;
S2,根据所述更新数据对应的静态代码库以及所述配置代码,对所述DBC数据库进行更新。
可选地,本实施例中的具体示例可以参考上述实施例1中所描述的示例,本实施例在此不再赘述。
本申请的实施例还提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如上所述的DBC数据库更新方法的步骤。
可选地,在本实施例中,可读存储介质被设置为存储用于执行以下步骤的程序代码:
S1,根据DBC数据库的更新数据对应的属性信息,获取所述更新数据对应的配置代码;
S2,根据所述更新数据对应的静态代码库以及所述配置代码,对所述DBC数据库进行更新。
可选地,可读存储介质还被设置为存储用于执行上述实施例1中的方法中所包括的步骤的程序代码,本实施例中对此不再赘述。
可选地,在本实施例中,上述可读存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例1中所描述的示例,本实施例在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
本领域普通技术人员可以意识到,结合本申请实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种DBC数据库更新方法,其特征在于,所述方法包括:
根据DBC数据库的更新数据对应的属性信息,获取所述更新数据对应的配置代码;
根据所述更新数据对应的静态代码库以及所述配置代码,对所述DBC数据库进行更新。
2.根据权利要求1所述的方法,其特征在于,所述根据DBC数据库的更新数据对应的属性信息,获取所述更新数据对应的配置代码,包括:
通过预设脚本,根据所述属性信息获取所述更新数据对应的第一配置代码,其中,所述预设脚本是预先根据所述属性信息对应的配置代码模板生成的;
对所述第一配置代码以及第二配置代码进行汇总,以得到所述配置代码。
3.根据权利要求2所述的方法,其特征在于,所述通过预设脚本,根据所述属性信息获取所述更新数据对应的第一配置代码,包括:
通过所述预设脚本,对所述更新数据进行解析,以获取所述属性信息;
通过所述预设脚本,将所述属性信息以及所述第一配置代码的配置表,以获取所述第一配置代码。
4.根据权利要求2所述的方法,其特征在于,在所述对所述第一配置代码以及第二配置代码进行汇总,以得到所述配置代码之前,还包括:
响应于输入指令,获取所述输入指令对应的所述第二配置代码。
5.根据权利要求1所述的方法,其特征在于,在所述根据DBC数据库的更新数据对应的属性信息,获取所述更新数据对应的配置代码之前,还包括:
根据CAN报文与信号、信号物理值与原始值之间的映射关系,生成所述静态代码库。
6.一种DBC数据库更新装置,其特征在于,所述装置包括:
获取模块,用于根据DBC数据库的更新数据对应的属性信息,获取所述更新数据对应的配置代码;
更新模块,用于根据所述更新数据对应的静态代码库以及所述配置代码,对所述DBC数据库进行更新。
7.根据权利要求6所述的装置,其特征在于,所述获取模块包括:
第一获取子模块,用于通过预设脚本,根据所述属性信息获取所述更新数据对应的第一配置代码,其中,所述预设脚本是预先根据所述属性信息对应的配置代码模板生成的;
汇总子模块,用于对所述第一配置代码以及第二配置代码进行汇总,以得到所述配置代码。
8.根据权利要求7所述的装置,其特征在于,所述获取子模块包括:
解析单元,用于通过所述预设脚本,对所述更新数据进行解析,以获取所述属性信息;
获取单元,用于将所述属性信息以及所述第一配置代码的配置表,以获取所述第一配置代码。
9.根据权利要求7所述的装置,其特征在于,还包括:
第二获取子模块,用于在所述对所述第一配置代码以及第二配置代码进行汇总,以得到所述配置代码之前,响应于输入指令,获取所述输入指令对应的所述第二配置代码。
10.根据权利要求6所述的装置,其特征在于,还包括:
处理模块,用于在所述根据DBC数据库的更新数据对应的属性信息,获取所述更新数据对应的配置代码之前,根据CAN报文与信号、信号物理值与原始值之间的映射关系,生成所述静态代码库。
11.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至5中任一项所述的DBC数据库更新方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的DBC数据库更新方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310819460.6A CN116560697B (zh) | 2023-07-06 | 2023-07-06 | Dbc数据库同步方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310819460.6A CN116560697B (zh) | 2023-07-06 | 2023-07-06 | Dbc数据库同步方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116560697A true CN116560697A (zh) | 2023-08-08 |
CN116560697B CN116560697B (zh) | 2023-09-15 |
Family
ID=87491855
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310819460.6A Active CN116560697B (zh) | 2023-07-06 | 2023-07-06 | Dbc数据库同步方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116560697B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116795584A (zh) * | 2023-08-28 | 2023-09-22 | 上海鉴智其迹科技有限公司 | 一种校验方法、装置、电子设备及存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4648036A (en) * | 1985-03-06 | 1987-03-03 | At&T Bell Laboratories | Method for controlling query and update processing in a database system |
CN107465695A (zh) * | 2017-09-21 | 2017-12-12 | 扬州航盛科技有限公司 | 一种基于数据库动态更新can解析参数的方法和系统 |
CN108197139A (zh) * | 2017-11-22 | 2018-06-22 | 链家网(北京)科技有限公司 | 一种同步更新配置项的处理方法及终端 |
CN111008018A (zh) * | 2019-12-04 | 2020-04-14 | 东风电驱动系统有限公司 | 一种can信号解包处理方法及系统 |
WO2020125233A1 (zh) * | 2018-12-20 | 2020-06-25 | 阿里巴巴集团控股有限公司 | 字段更新方法及装置、电子设备 |
CN112256253A (zh) * | 2020-11-12 | 2021-01-22 | 北斗星通智联科技有限责任公司 | 代码生成方法、装置、电子设备和计算机可读存储介质 |
CN112379883A (zh) * | 2020-11-10 | 2021-02-19 | 上海拿森汽车电子有限公司 | 一种代码文件生成方法、装置、设备及存储介质 |
EP3787260A1 (en) * | 2019-08-16 | 2021-03-03 | Argus Cyber Security Ltd | System and method for generating a dbc file |
CN113094029A (zh) * | 2020-01-08 | 2021-07-09 | 广州汽车集团股份有限公司 | 一种capl代码自动生成方法、系统及汽车 |
WO2021169277A1 (zh) * | 2020-02-25 | 2021-09-02 | 平安科技(深圳)有限公司 | 数据同步方法、装置、设备及计算机可读存储介质 |
CN115495133A (zh) * | 2022-11-17 | 2022-12-20 | 达芬骑动力科技(北京)有限公司 | Dbc动态自适应更新方法、装置、电子设备及存储介质 |
CN116009822A (zh) * | 2022-12-13 | 2023-04-25 | 浙江吉利控股集团有限公司 | 辅助进行汽车功能软件开发的方法、装置、设备及介质 |
-
2023
- 2023-07-06 CN CN202310819460.6A patent/CN116560697B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4648036A (en) * | 1985-03-06 | 1987-03-03 | At&T Bell Laboratories | Method for controlling query and update processing in a database system |
CN107465695A (zh) * | 2017-09-21 | 2017-12-12 | 扬州航盛科技有限公司 | 一种基于数据库动态更新can解析参数的方法和系统 |
CN108197139A (zh) * | 2017-11-22 | 2018-06-22 | 链家网(北京)科技有限公司 | 一种同步更新配置项的处理方法及终端 |
WO2020125233A1 (zh) * | 2018-12-20 | 2020-06-25 | 阿里巴巴集团控股有限公司 | 字段更新方法及装置、电子设备 |
EP3787260A1 (en) * | 2019-08-16 | 2021-03-03 | Argus Cyber Security Ltd | System and method for generating a dbc file |
CN111008018A (zh) * | 2019-12-04 | 2020-04-14 | 东风电驱动系统有限公司 | 一种can信号解包处理方法及系统 |
CN113094029A (zh) * | 2020-01-08 | 2021-07-09 | 广州汽车集团股份有限公司 | 一种capl代码自动生成方法、系统及汽车 |
WO2021169277A1 (zh) * | 2020-02-25 | 2021-09-02 | 平安科技(深圳)有限公司 | 数据同步方法、装置、设备及计算机可读存储介质 |
CN112379883A (zh) * | 2020-11-10 | 2021-02-19 | 上海拿森汽车电子有限公司 | 一种代码文件生成方法、装置、设备及存储介质 |
CN112256253A (zh) * | 2020-11-12 | 2021-01-22 | 北斗星通智联科技有限责任公司 | 代码生成方法、装置、电子设备和计算机可读存储介质 |
CN115495133A (zh) * | 2022-11-17 | 2022-12-20 | 达芬骑动力科技(北京)有限公司 | Dbc动态自适应更新方法、装置、电子设备及存储介质 |
CN116009822A (zh) * | 2022-12-13 | 2023-04-25 | 浙江吉利控股集团有限公司 | 辅助进行汽车功能软件开发的方法、装置、设备及介质 |
Non-Patent Citations (2)
Title |
---|
HURRI_CANE: "CAN通讯进阶-基于Python使用dbc文件解析CAN数据(dbc文件的创建、使用方法)", 《HTTPS://BLOG.CSDN.NET/SHAKALAKAPHD/ARTICLE/DETAILS/115770026》 * |
王胜达;?海涛;董利莹;李家月;: "基于Simulink的纯电动汽车整车控制系统设计", 科学技术与工程, no. 07 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116795584A (zh) * | 2023-08-28 | 2023-09-22 | 上海鉴智其迹科技有限公司 | 一种校验方法、装置、电子设备及存储介质 |
CN116795584B (zh) * | 2023-08-28 | 2023-11-17 | 上海鉴智其迹科技有限公司 | 一种校验方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116560697B (zh) | 2023-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109857404B (zh) | Sdk接口的封装方法及装置、存储介质、电子设备 | |
CN116560697B (zh) | Dbc数据库同步方法、装置、电子设备及可读存储介质 | |
CN107179971B (zh) | 用于can总线故障处理的自动编码方法和系统 | |
CN110244936B (zh) | 用于支持visio流程图自动导入dcs算法组态软件的方法和装置 | |
CN111309593A (zh) | Json接口校验的方法、装置、设备及计算机可读存储介质 | |
CN106941501B (zh) | 一种数据通信方法及装置 | |
CN111506579B (zh) | 一种智能合约代码的生成方法、程序及设备 | |
CN110769002A (zh) | 基于LabVIEW的报文解析方法、系统、电子设备和介质 | |
CN111723019A (zh) | 接口的调试方法及系统 | |
CN115378862A (zh) | 具有分组功能的路由配置方法、装置、设备和介质 | |
CN102238593B (zh) | 数据割接方法及装置 | |
CN114091383A (zh) | 测试序列生成方法、装置、系统及相关设备 | |
CN112463261B (zh) | 接口调用方法、装置、电子设备、介质及产品 | |
CN115525534A (zh) | 基于swagger的接口测试的测试用例生成方法、生成平台 | |
CN112527286A (zh) | 业务代码的生成方法、装置、计算机设备及存储介质 | |
CN113010473A (zh) | 一种编辑yaml文件的方法和设备 | |
CN116996601A (zh) | 报文格式的转换方法、装置、电子设备及存储介质 | |
CN110069812B (zh) | 用于机器人路径轨迹点属性的配置方法、系统及存储介质 | |
CN110825795B (zh) | 访问数据库的方法、装置、设备及计算机可读存储介质 | |
CN111708542B (zh) | 测试用例生成方法、系统、设备及存储介质 | |
CN112698825B (zh) | 编程积木块转换方法、装置、处理设备及存储介质 | |
CN110853327B (zh) | 一种基于单片机的船舶机舱设备数据现场调试采集方法及装置 | |
CN112559470A (zh) | 文件格式转换的方法、装置、存储介质及电子设备 | |
CN111158661A (zh) | 系统接口对接方法、装置、介质及电子设备 | |
CN116795584B (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 |