CN117421009B - 信号代码生成方法、装置、终端设备以及存储介质 - Google Patents

信号代码生成方法、装置、终端设备以及存储介质 Download PDF

Info

Publication number
CN117421009B
CN117421009B CN202311747145.3A CN202311747145A CN117421009B CN 117421009 B CN117421009 B CN 117421009B CN 202311747145 A CN202311747145 A CN 202311747145A CN 117421009 B CN117421009 B CN 117421009B
Authority
CN
China
Prior art keywords
signal
code
data
file
template
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
Application number
CN202311747145.3A
Other languages
English (en)
Other versions
CN117421009A (zh
Inventor
伍培境
尹玉涛
谢彬彬
陈祺
涂莉娟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Hangsheng Electronic Co Ltd
Original Assignee
Shenzhen Hangsheng Electronic Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Hangsheng Electronic Co Ltd filed Critical Shenzhen Hangsheng Electronic Co Ltd
Priority to CN202311747145.3A priority Critical patent/CN117421009B/zh
Publication of CN117421009A publication Critical patent/CN117421009A/zh
Application granted granted Critical
Publication of CN117421009B publication Critical patent/CN117421009B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种信号代码生成方法、装置、终端设备以及存储介质,通过根据文件解析算法对信号表文件进行解析,得到信号的相关数据;通过统计方法对所述信号的相关数据进行清洗和预处理,得到整洁的数据集;基于图形用户界面和领域特定语言,预设信号处理规则和代码输出模板;基于所述信号处理规则和所述代码输出模板,通过模板引擎对所述整洁的数据集进行转换和计算,生成代码。该方案通过读取、解析不同类型的信号表,并结合数据清洗和预处理技术和模板引擎,高效、灵活地自动生成代码,不仅降低了人为错误风险,满足不同项目需求,还确保了代码生成的准确性和一致性。

Description

信号代码生成方法、装置、终端设备以及存储介质
技术领域
本发明涉及信号处理领域,尤其涉及信号代码生成方法、装置、终端设备以及存储介质。
背景技术
随着计算机和通信技术的迅速发展,人们对于高效、可靠的信号传输和处理的需求也越来越大。为了对各种信号进行监测和诊断,以检测和排除故障,可以通过解析信号表,了解每个信号的数据类型、取值范围等信息,从而编写相应的软件代码来进行数据处理和计算。
目前,往往需要工程师手动从信号表中解析信号并编写相应的软件代码,这种方法不仅很容易导致人为疏忽或解读错误,从而产生编码错误,还需要大量的时间,无法快速适应特殊要求。
发明内容
本发明的主要目的在于提供一种信号代码生成方法、装置、终端设备以及存储介质,旨在解决手动编写信号的软件代码的技术问题。
为实现上述目的,本发明提供一种信号代码生成方法,所述信号代码生成方法包括:
根据文件解析算法对信号表文件进行解析,得到信号的相关数据;
通过统计方法对所述信号的相关数据进行清洗和预处理,得到整洁的数据集;
基于图形用户界面和领域特定语言,预设信号处理规则和代码输出模板;
基于所述信号处理规则和所述代码输出模板,通过模板引擎对所述整洁的数据集进行转换和计算,生成代码。
可选地,所述根据文件解析算法对信号表文件进行解析,得到信号的相关数据的步骤之前,还包括:
获取信号表文件;
判断所述信号表文件是否受支持;
若是,则根据文件解析算法对所述信号表文件进行解析,得到信号的相关数据;
若否,则向用户发送更换文件格式的提示消息。
可选地,所述根据文件解析算法对信号表文件进行解析,得到信号的相关数据的步骤包括:
根据所述信号表文件的格式类型,通过预设的识别方法对相应类型的信号表文件进行文字提取,得到信号的相关数据;和/或
根据所述信号表文件的格式类型,通过文件解析库对相应类型的信号表文件进行内容读取,得到信号的相关数据。
可选地,所述通过统计方法对所述信号的相关数据进行清洗和预处理,得到整洁的数据集的步骤包括:
通过统计方法对所述信号的相关数据进行异常数据的检测,得到异常数据检测结果;
通过统计方法对所述信号的相关数据进行异常数据的检测,得到异常数据检测结果;
根据所述异常数据检测结果,对异常数据进行标记;
对标记的异常数据进行去除或修正处理,得到清洗后的数据集;
对所述清洗后的数据集进行数据格式的标准化和统一,以得到整洁的数据集。
可选地,所述基于图形用户界面和领域特定语言,预设信号处理规则和代码输出模板的步骤包括:
根据领域特定语言,确定所述整洁的数据集的语法特征;
基于所述整洁的数据集的语法特征,通过图形用户界面预设信号处理规则和代码输出模板。
可选地,所述基于所述信号处理规则和所述代码输出模板,通过模板引擎对所述整洁的数据集进行转换和计算,生成代码的步骤包括:
根据所述信号处理规则和所述代码输出模板,构建代码生成算法;
基于所述信号处理规则,通过模板引擎执行所述代码生成算法;
通过所述代码生成算法对所述整洁的数据集进行转换和计算,得到解析后的数据;
将所述解析后的数据映射到所述代码输出模板中的相应位置,得到数据映射后的代码输出模板;
根据所述数据映射后的代码输出模板,生成代码。
可选地,所述根据所述数据映射后的代码输出模板,生成代码的步骤之后,还包括:
获取输出文件的保存路径;
通过所述输出文件的保存路径,将所述代码存储至输出文件中;
当进行代码质量验证时,从所述输出文件中导出所述代码进行验证。
本申请实施例还提出一种信号代码装置,所述信号代码装置包括:
解析模块,用于根据文件解析算法对信号表文件进行解析,得到信号的相关数据;
清洗和预处理模块,用于通过统计方法对所述信号的相关数据进行数据清洗和预处理,得到整洁的数据集;
预设模块,用于基于图形用户界面和领域特定语言,预设信号处理规则和代码输出模板;
生成模块,用于基于所述信号处理规则和所述代码输出模板,通过模板引擎对所述整洁的数据集进行转换和计算,生成代码。
本申请实施例还提出一种信号代码生成终端设备,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的信号代码程序,所述信号代码程序配置为实现如上所述的信号代码生成方法的步骤。
本申请实施例还提出一种存储介质,所述存储介质上存储有信号代码程序,所述信号代码程序被处理器执行时实现如上所述的信号代码生成方法的步骤。
本申请实施例提出的信号代码生成方法、装置、终端设备以及存储介质,通过根据文件解析算法对信号表文件进行解析,得到信号的相关数据;通过统计方法对所述信号的相关数据进行清洗和预处理,得到整洁的数据集;基于图形用户界面和领域特定语言,预设信号处理规则和代码输出模板;基于所述信号处理规则和所述代码输出模板,通过模板引擎对所述整洁的数据集进行转换和计算,生成代码。该方案通过读取、解析不同类型的信号表,并结合数据清洗和预处理技术和模板引擎,高效、灵活地自动生成代码,不仅降低了人为错误风险,满足不同项目需求,还确保了代码生成的准确性和一致性。
附图说明
图1为本申请信号代码生成装置所属终端设备的功能模块示意图;
图2为本申请信号代码生成方法第一示例性实施例的流程示意图;
图3为本申请信号代码生成方法第二示例性实施例的流程示意图;
图4为本申请信号代码生成方法第三示例性实施例的流程示意图;
图5为本申请信号代码生成方法第四示例性实施例的流程示意图;
图6为本申请信号代码生成方法第五示例性实施例的流程示意图;
图7为本发明信号代码生成方法具体场景举例中涉及的CAN信号代码生成的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本申请实施例的主要解决方案是:根据文件解析算法对信号表文件进行解析,得到信号的相关数据;通过统计方法对所述信号的相关数据进行清洗和预处理,得到整洁的数据集;基于图形用户界面和领域特定语言,预设信号处理规则和代码输出模板;基于所述信号处理规则和所述代码输出模板,通过模板引擎对所述整洁的数据集进行转换和计算,生成代码。该方案不仅通过自动化解析信号表,降低了人为错误风险,利用模板引擎生成代码,还结合预设的信号处理规则和代码输出模板确保了生成的代码的统一性和标准性。
本申请实施例考虑到,传统的相关技术,是通过工程师手动从信号表中解析信号并编写相应的软件代码,容易导致人为的疏忽或解读错误,从而产生编码错误。
基于此,本申请实施例提出一种解决方案,不仅可以完全自动化解析信号表,降低人为错误风险,通过算法优化和预设的处理规则,还可实现对大量信号的快速处理和代码生成,确保生成的代码的统一标准和风格,有利于项目的代码一致性和可维护性。
具体地,参照图1,图1为本申请信号代码生成装置所属终端设备的功能模块示意图。该信号代码生成装置可以为独立于终端设备的、能够进行数据处理的装置,其可以通过硬件或软件的形式承载于终端设备上。该终端设备可以为计算机、手机、平板电脑、物联网设备等具备一定的计算和数据处理能力的智能设备。本申请实施例以计算机进行举例说明。
在本实施例中,该信号代码生成装置所属终端设备至少包括信号表解析模块110、处理器120、存储器130以及代码生成模块140。
存储器130中存储有操作系统以及信号代码生成程序,信号代码生成装置可以将获取的信号表、相关信号的数据、代码生成算法以及通过代码生成算法生成的代码存储于该存储器130中;信号表解析模块110可以包括信号分析仪、数据采集设备等。代码生成模块140可以包括代码生成器、集成开发环境等。
其中,存储器130中的信号代码生成程序被处理器执行时实现以下步骤:
根据文件解析算法对信号表文件进行解析,得到信号的相关数据;
通过统计方法对所述信号的相关数据进行清洗和预处理,得到整洁的数据集;
基于图形用户界面和领域特定语言,预设信号处理规则和代码输出模板;
基于所述信号处理规则和所述代码输出模板,通过模板引擎对所述整洁的数据集进行转换和计算,生成代码。
进一步地,存储器130中的信号代码生成程序被处理器执行时还实现以下步骤:
获取信号表文件;
判断所述信号表文件是否受支持;
若是,则根据文件解析算法对所述信号表文件进行解析,得到信号的相关数据;
若否,则向用户发送更换文件格式的提示消息。
进一步地,存储器130中的信号代码生成程序被处理器执行时还实现以下步骤:
根据所述信号表文件的格式类型,通过预设的识别方法对相应类型的信号表文件进行文字提取,得到信号的相关数据;和/或
根据所述信号表文件的格式类型,通过文件解析库对相应类型的信号表文件进行内容读取,得到信号的相关数据。
进一步地,存储器130中的信号代码生成程序被处理器执行时还实现以下步骤:
通过统计方法对所述信号的相关数据进行异常数据的检测,得到异常数据检测结果;
根据所述异常数据检测结果,对异常数据进行标记;
对标记的异常数据进行去除或修正处理,得到清洗后的数据集;
对所述清洗后的数据集进行数据格式的标准化和统一,以得到整洁的数据集。
进一步地,存储器130中的信号代码生成程序被处理器执行时还实现以下步骤:
根据领域特定语言,确定所述整洁的数据集的语法特征;
基于所述整洁的数据集的语法特征,通过图形用户界面预设信号处理规则和代码输出模板。
进一步地,存储器130中的信号代码生成程序被处理器执行时还实现以下步骤:
根据所述信号处理规则和所述代码输出模板,构建代码生成算法;
基于所述信号处理规则,通过模板引擎执行所述代码生成算法;
通过所述代码生成算法对所述整洁的数据集进行转换和计算,得到解析后的数据;
将所述解析后的数据映射到所述代码输出模板中的相应位置,得到数据映射后的代码输出模板;
根据所述数据映射后的代码输出模板,生成代码。
进一步地,存储器130中的信号代码生成程序被处理器执行时还实现以下步骤:
获取输出文件的保存路径;
通过所述输出文件的保存路径,将所述代码存储至输出文件中;
当进行代码质量验证时,从所述输出文件中导出所述代码进行验证。
本实施例通过上述方案,具体通过根据文件解析算法对信号表文件进行解析,得到信号的相关数据;通过统计方法对所述信号的相关数据进行清洗和预处理,得到整洁的数据集;基于图形用户界面和领域特定语言,预设信号处理规则和代码输出模板;基于所述信号处理规则和所述代码输出模板,通过模板引擎对所述整洁的数据集进行转换和计算,生成代码。该方案通过读取、解析不同类型的信号表,并结合数据清洗和预处理技术和模板引擎,高效、灵活地自动生成代码,不仅降低了人为错误风险,满足不同项目需求,还确保了代码生成的准确性和一致性。
基于上述终端设备架构但不限于上述架构,提出本申请方法实施例。
参照图2,图2为本申请信号代码生成方法第一示例性实施例的流程示意图。所述信号代码生成方法包括:
步骤S10,根据文件解析算法对信号表文件进行解析,得到信号的相关数据。
其中,文件解析算法是指用于解析文件内容的算法或方法。它们同于将文件中的数据按照特定的规则和格式进行提取和处理,以便获取所需的信息或进行后续的数据处理;
信号表文件是一种用于描述信号的文件,通常用于电子设备、通信系统或数据处理系统中。信号表文件可以包括演示稿文件、表格文件和文本文件等。
信号表文件中的信号信息通常是以特定的格式或编码方式存储的。通过解析不同类型的信号表文件,可以将信号信息转换为系统或应用程序所需的数据,方便后续的转换成代码操作提供处理基础。
为了能够对多种格式信号表进行解析,从而得到信号的相关信息,在本实施例中,利用文件解析算法,对多种格式的信号表进行解析。
具体地,首先,需要获取用户上传的信号表文件,其中可以通过在应用程序界面或系统提供一个文件上传功能来实现。用户可以选择要上传的信号表文件,并将该信号表文件通过应用程序界面进行提交。
然后,在接收到用户上传的信号表文件后,需要对该信号表文件进行检查,判断该信号表文件的格式是否受支持;
若判断的结果为该信号表文件的格式受支持,则可以根据文件解析算法对该信号表文件进行解析,以获取信号的相关数据。其中,文件解析算法可以根据该信号表文件的格式和结构来设计,可以使用常见的文件解析技术,如读取文件内容、解析文件格式、提取所需数据等;
若判断的结果为该信号表文件的格式不受支持,则需要向用户发送一个提示消息,提示用户更换文件格式。这可以通过应用程序或系统的界面来实现。提示消息可以包含建议的文件格式或提供其他解决方案,以帮助用户解决问题。
通过上述步骤,可以帮助用户更好地理解和处理信号数据,以减少错误和不必要的计算,还可以实现对信号表文件的自动化解析和处理,提取信号的相关数据,从而为后续信号转换成代码提供处理基础,提供了良好的用户体验。
步骤S20,通过统计方法对所述信号的相关数据进行清洗和预处理,得到整洁的数据集。
其中,统计方法是一种用于收集、整理、分析和解释数据的方法。统计方法可以包括:描述统计、探索性数据分析、假设检验、回归分析以及方差分析等。
具体地,首先,通过统计方法,可以收集、整理并分析信号的相关数据,从而识别和处理相关数据中的异常值。
其次,可以通过识别和处理数据中的缺失值,以确保数据的完整性和可靠性,其中,缺失值是指在数据中缺少某些观测值的情况。可以使用统计方法,如均值、中位数、众数等,来填充缺失值。另外,还可以使用插值方法,如线性插值、多项式插值、K近邻插值等,根据数据的特点进行缺失值的填充。
此外,还可以通过统计方法识别和处理数据中的重复值。其中,重复值是指在数据中存在完全相同的观测值。可以使用统计方法,如唯一值计数、重复值检测等,来识别和删除重复值,确保数据集中的每个观测值都是唯一的。
通过上述步骤,通过统计方法对信号的相关数据进行清洗和预处理,可以得到一个整洁的数据集,确保代码生成始终基于准确和一致的数据,数据也更加准确和可靠。
步骤S30,基于图形用户界面和领域特定语言,预设信号处理规则和代码输出模板。
其中,图形用户界面是一种图形化的方式与计算机程序进行交互的界面,其使用图像元素,如按钮、菜单、文本框、滑块等和视觉效果来呈现信息和接收用户的输入;
领域特定语言是一种专门用于解决特定领域问题的编程语言;
代码输出模板是根据特定需求和规则设计的一种结构化的代码框架或模板。
具体地,为了更方便地描述信号处理规则,首先需要设计一个领域特定语言,该领域特定语言可以针对预设的信号处理领域的特点需求进行定制,以确定整洁的数据集的语言特征。
然后,用户可以根据该整洁的数据集的语言特征,通过图形用户界面配置和设置信号处理规则。
并通过内置的代码模板编辑器,基于预设的信号处理规则,选择或编辑代码输出模板,该代码输出模板可以包含预设的代码结构、函数和变量的定义,以及信号处理的具体实现逻辑。
最后,判断代码输出模板和预设信号处理规则是否已配置;
若是,则确定代码输出模板和预设信号处理规则,将该代码输出模板和预设信号处理规则作为解析信号的相关数据的依据;
若否,则向用户发送提示消息,提示用户重新完成配置。
通过基于图形用户界面和领域特定语言,预设信号处理规则和代码输出模板,不仅可以使信号处理的过程更加简化和高效,还可以提高信号处理的效率和准确性,减少人为错误的发生。
步骤S40,基于所述信号处理规则和所述代码输出模板,通过模板引擎对所述整洁的数据集进行转换和计算,生成代码。
其中,模板引擎是一种用于生成动态内容的工具或库。它将静态的模板文件与动态数据进行结合,从而生成最终的输出内容。
具体地,首先通过多线程并行的方式对整洁的数据集中的数据进行处理解析。
然后,选择合适的模板引擎,并进行相应的配置。模板引擎可以是现有的开源库或自定义的实现。配置包括设置模板文件路径、定义模板语法、注册自定义函数等。
再根据预设的信号处理规则,通过配置好的模板引擎会解析模板文件中的占位符或标记,并根据数据集中的值进行替换和计算。其中,可以使用模板语法中提供的控制结构、循环、条件判断等功能,对数据集进行处理和计算。
最后,模板引擎根据模板文件和数据集的处理结果,生成最终的代码。
通过上述步骤,利用模板引擎对整洁的数据集进行转换和计算,使得生成的代码易于在不同项目之间复用,大大减少了重复劳动和资源浪费,还提高代码的可维护性和可扩展性,同时减少手动编写代码的工作量。
进一步地,参照图3,图3是基于上述第一示例性实施例提出的本申请信号代码生成方法第二示例性实施例的流程示意图,步骤S10,根据文件解析算法对信号表文件进行解析,得到信号的相关数据的步骤,还包括:
步骤S11,根据所述信号表文件的格式类型,通过预设的识别方法对相应类型的信号表文件进行文字提取,得到信号的相关数据;和/或
步骤S12,根据所述信号表文件的格式类型,通过文件解析库对相应类型的信号表文件进行内容读取,得到信号的相关数据。
其中,信号表文件可以包括PDF(演示稿)文件、Excel(表格)文件以及CSV(文本)文件等;
预设的识别方法可以包括OCR(Optical Character Recognition,光学字符识别);
文件解析库是指用于解析和处理各种文件格式的软件库或工具。它们提供了一组函数、类和方法,用于读取、解析和提取文件中的数据,并将其转换为可供程序进一步处理的数据结构。其可以包括:Excel解析库、CVS解析库等。
为了能够对多种格式的信号表文件进行解析,本实施例提出了一种通过预设的识别方法和/或文件解析库对不同格式的信号表进行解析的方式。
具体地,首先判断该信号表文件的格式类型。
如果为PDF文件,则可利用OCR技术将PDF文件中的文字内容提取出来,其中可以使用OCR库,将PDF文件转换为可编辑的文本格式,得到信号的相关数据;
如果为Excel文件,则可以使用Excel解析库,读取和解析Excel文件中的表格数据,并将该表格数据转换为程序可处理的数据结构,如列表、字典等,得到信号的相关数据;
如果为CVS文件 ,则可以使用CVS解析库,读取和解析CVS文件的表格数据,并将其转换为程序可处理的数据结构,得到信号的相关数据。
通过上述实施例方法,提供了灵活的信号表文件处理方法。不同的信号表文件可能采用不同的格式,如PDF、Excel、CSV等。通过根据文件格式类型选择合适的方法,可以确保对不同格式的信号表文件进行准确的数据提取,为后续的分析和处理提供基础。
进一步地,参照图4,图4是基于上述第一示例性实施例提出的本申请信号代码生成方法第三示例性实施例的流程示意图,步骤S20,通过统计方法对所述信号的相关数据进行清洗和预处理,得到整洁的数据集的步骤,还包括:
步骤S21,通过统计方法对所述信号的相关数据进行异常数据的检测,得到异常数据检测结果;
步骤S22,根据所述异常数据检测结果,对异常数据进行标记;
步骤S23,对标记的异常数据进行去除或修正处理,得到清洗后的数据集;
步骤S24,对所述清洗后的数据集进行数据格式的标准化和统一,以得到整洁的数据集。
具体地,首先通过统计方法,可以识别和处理数据中的异常值。异常值是与其他数据明显不同的值,可能是由于测量误差或其他原因引起的。可以使用统计方法,如均值、标准差、箱线图等,来检测和处理异常值。
当识别到数据中的异常值后,系统会自动移除或标记含空值的行,即将包含异常值的整行数据从数据集中删除,这样可以确保数据的准确性和可靠性,避免异常值对后续的工作操作的影响。而标记含空值的行是指系统会在数据集中的异常值所在的行上进行标记,其中,标记可以采用不同的方式,例如将异常值所在的单元格置为空值,或者在异常值所在的行上添加一个特殊的标记值。目的是保留异常值的信息,并在后续的生成代码的过程中保证了代码的可靠性和安全性。
然后,可以对被标记的异常值进行排除或修正处理,得到清洗后的数据集,例如可以对无效值数据进行删除,或将该无效值数据修正成有效值数据,
再对清洗后的数据集进行数据格式统一和规范化校正,可以通过对数据集中的各列进行数据类型转换,确保每列的数据类型与其所代表的含义相符,例如,将日期和时间转换为日期时间类型,将数值列转换为数值类型,将文本列转换为字符串类型等。
对于某些特定数据,可能存在一定的范围限制,可以根据实际需求,对数据进行范围限定,排除超出范围的无限制数据,以达到数据格式的统一性。
对数据集进行标准化处理,可以通过将数据转换为具体相同尺度和分布的形式。
通过上述对相关数据进行清洗和预处理,可以得到一个整洁的数据集。
最后,判断该整洁的数据集中的数据是否清洗完成;
如果判断结果为数据清洗完成,则会向用户发送一个数据清洗完成的提示信息,并把该整洁的数据集作为后续生成代码的数据基础;
如果判断结果为数据清洗没有完成,则向用户发送一个数据清洗出错的提示信息,以便用户根据该提示进行更改方案,对数据重新进行清洗和预处理。
通过上述实施例方法,可以确保数据的一致性和可比性,减少无效值数据的影响,为后续的数据分析和生成代码提供可靠的数据基础。
进一步地,参照图5,图5是基于上述第一示例性实施例提出的本申请信号代码生成方法第四示例性实施例的流程示意图,步骤S40,基于所述信号处理规则和所述代码输出模板,通过模板引擎对所述整洁的数据集进行转换和计算,生成代码的步骤,还包括:
步骤S41,根据所述信号处理规则和所述代码输出模板,构建代码生成算法;
步骤S42,基于所述信号处理规则,通过模板引擎执行所述代码生成算法;
步骤S43,通过所述代码生成算法对所述整洁的数据集进行转换和计算,得到解析后的数据;
步骤S44,将所述解析后的数据映射到所述代码输出模板中的相应位置,得到数据映射后的代码输出模板;
步骤S45,根据所述数据映射后的代码输出模板,生成代码。
其中,代码生成算法是指根据一定的规则和逻辑,自动生成程序代码的算法。代码生成算法可以根据输入的需求和规范,生成符合要求的代码片段、函数或完整的程序,该代码生成算法可以包括抽象语树技术。
具体地,首先根据所定义的信号处理规则和代码输出模板,设计和实现代码生成算法。该代码生成算法是根据信号处理规则来解析和处理输入数据。
然后,使用模板引擎来执行代码生成算法。其中,模板引擎可以根据代码输出模板和输入数据,将代码生成算法中的占位符替换为实际的数据。
随后,通过代码生成算法对经过数据预处理和清洗得到的数据集进行转换和计算,得到解析后的数据。其中,在本实施例中,代码生成算法是采用抽象语法树技术,对数据集进行转换和计算的。
在得到解析后的数据后,将解析后的数据与代码输出模板中的占位符进行匹配,并将数据填充到相应的位置。
最后代码生成算法会将数据映射后的代码输出模板转换为可执行的代码字符串或文件,生成最终的代码。
通过上述实施例方法,可以实现根据信号处理规则和代码输出模板自动生成代码的过程,还可以提高代码的生成效率和准确性,降低了因人为失误导致的潜在缺陷。
进一步地,参照图6,图6是基于上述第四示例性实施例提出的本申请信号代码生成方法第五示例性实施例的流程示意图,步骤S45,根据所述数据映射后的代码输出模板,生成代码的步骤之后,还包括:
步骤S451,获取输出文件的保存路径;
步骤S452,通过所述输出文件的保存路径,将所述代码存储至输出文件中;
步骤S453,当进行代码质量验证时,从所述输出文件中导出所述代码进行验证。
相比于上述实施例,在本实施中还提出一种对生成的代码进行审核和验证的方法,以确保生成的代码的质量。
具体地,首先确定用户选择的输出文件的保存路径,并通过该输出文件的保存路径将生成的代码存储至对应的输出文件中或者上传到云端和IDE(IntegratedDevelopment Environment,集成开发环境)中。
然后,当进行代码质量验证时,可以从输出文件或者云端和IDE中导出该代码,并判断代码是否成功导出;
若导出成功,则向用户发送导出成功提示信息,并对导出的代码进行后续审核和验证操作;
若导出失败,则向用户发送导出出错的提示信息。
接着,通过内置代码对比工具对导出的代码进行代码版本对比,通过对导出的代码进行代码版本对比,可以将两个代码文件之间的差异以不同的颜色或标记方式进行突出显示,以便用户清楚地看到哪些部分发生了变化,从而更好地进行版本控制和代码管理。
之后,可以通过信号模拟环境对已经对比而筛选出的代码进行功能验证,并判断代码是否验证成功;
若验证成功,则向用户发送验证成功提示信息,并将该代码进行后续的集成操作;
若验证失败,则向用户发送验证失败提示信息,提示用户检查和修改代码。
最后,可以通过集成工具将代码集成到测试环境、预生产环境或生产环境,并进行相应的部署操作。
通过上述实施例方法,可以与其他工具或IDE集成,提供一站式的解决方案,并确保代码在集成和部署过程中的正确性和可靠性,以提高软件开发的效率和质量。
以下结合具体场景,对本实施例方案进行详细地阐述。
假设需要对车厂提供的信号表中解析CAN(Controller Area Network,汽车控制区域网络)信号并编写相应的软件代码。其中,CAN信号代码生成的流程示意图,如图7所示,其中,该过程可包括8个模块:信号导入模块、数据预处理与清洗模块、规则与模板配置模块、信号数据解析模块、代码生成模块、代码导出模块、审核与验证模块以及集成与部署模块。
具体地,首先,需要获取用户上传车厂定义的CAN信号表文件,并判断该文件格式是否受支持,若该文件格式受支持,则系统利用文件解析算法解析文件内容,并进一步判断该文件是否解析成功,若是,则得到信号的相关数据并提供内容预览;若否,则通过发送提示信息的方式向用户提示文件内容问题或格式有问题。
若该文件格式不受支持,则向用户发送提示更改文件格式的信息。
当接收到信号的相关数据后,系统会对信号的相关数据中含空值的行进行移除或标记,并通过对信号的相关数据的格式进行统一和规范化,从而对“Invalid Value”(无效值)数据进行标记或排除,得到整洁的数据集。
随后,判断该数据集是否清洗完成,若是,则向用户发送一个数据清洗完成的提示信息,并把该整洁的数据集作为后续生成代码的数据基础;
若否,则向用户发送一个数据清洗出错的提示信息,以便用户根据该提示进行更改方案,对数据重新进行清洗和预处理。
用户可通过界面定义解析规则,即信号处理规则,以及通过内置的代码模板编辑器选择或编译代码输出模板,之后系统会判断模板和规制是否已配置成功,若是,则确定代码输出模板以及信号处理规则。若否,则通过向用户发送提示信息的方式,提示用户完成配置。
接着,根据预设的信号处理规则和代码输出模板,可生成代码生成算法,通过模板引擎执行该代码生成算法,对整洁的数据集进行计算和转换,得到解析后的数据,并判断数据解析是否成功,若是,则向用户发送解析成功的信息,并将该解析后的数据映射到代码输出模板上生成代码;若否,则向用户发送解析出错的信息。
在生成相应的代码后,可将该代码保存至用户选的输出文件中,其中输出文件可包括主要文件和涉及中间件。
当进行代码质量检验时,需要从输出文件中导出相应的代码,通过内置代码对比工具进行代码版本对比,以及系统提供的CAN信号模拟环境进行代码的功能验证。
最后,可以通过API(Application Programming Interface,应用程序编程接口)与主流汽车开发工具将代码集成到测试环境、预生产环境或生产环境,并进行相应的部署操作。
通过上述方法,实现对大量CAN信号的快速处理和代码生成,并且系统集成了数据清洗和预处理功能,确保代码生成始终基于准确和一致的数据,自动化的流程降低了因人为失误导致的潜在缺陷,确保了代码的质量和可靠性。
通过上述实施例方法,具体通过根据文件解析算法对信号表文件进行解析,得到信号的相关数据;通过统计方法对所述信号的相关数据进行清洗和预处理,得到整洁的数据集;基于图形用户界面和领域特定语言,预设信号处理规则和代码输出模板;基于所述信号处理规则和所述代码输出模板,通过模板引擎对所述整洁的数据集进行转换和计算,生成代码。该方案通过读取、解析不同类型的信号表,并结合数据清洗和预处理技术和模板引擎,高效、灵活地自动生成代码,不仅降低了人为错误风险,满足不同项目需求,还确保了代码生成的准确性和一致性。
此外,本申请实施例还提出一种信号代码生成装置,所述信号代码装置包括:
解析模块,用于根据文件解析算法对信号表文件进行解析,得到信号的相关数据;
清洗和预处理模块,用于通过统计方法对所述信号的相关数据进行数据清洗和预处理,得到整洁的数据集;
预设模块,用于基于图形用户界面和领域特定语言,预设信号处理规则和代码输出模板;
生成模块,用于基于所述信号处理规则和所述代码输出模板,通过模板引擎对所述整洁的数据集进行转换和计算,生成代码。
本实施例实现信号代码生成的原理及实施过程,请参照上述各实施例,在此不再赘述。
此外,本申请实施例还提出一种信号代码生成终端设备,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的信号代码程序,所述信号代码程序配置为实现如上所述的信号代码生成方法的步骤。
由于本信号代码生成程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。
此外,本申请实施例还提出一种存储介质,所述存储介质上存储有信号代码程序,所述信号代码程序被处理器执行时实现如上所述的信号代码生成方法的步骤。
由于本信号代码生成程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。
还可需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还 包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、 方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述 实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通 过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体 现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光 盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (6)

1.一种信号代码生成方法,其特征在于,所述信号代码生成方法包括以下步骤:
获取信号表文件;
判断所述信号表文件是否受支持;
若是,则根据文件解析算法对所述信号表文件进行解析,得到信号的相关数据;
若否,则向用户发送更换文件格式的提示消息;
根据文件解析算法对所述信号表文件进行解析,得到信号的相关数据,所述信号为CAN信号;
其中,所述根据文件解析算法对信号表文件进行解析,得到信号的相关数据的步骤包括:
根据所述信号表文件的格式类型,通过预设的识别方法对相应类型的信号表文件进行文字提取,得到信号的相关数据;和/或
根据所述信号表文件的格式类型,通过文件解析库对相应类型的信号表文件进行内容读取,得到信号的相关数据;
通过统计方法对所述信号的相关数据进行清洗和预处理,得到整洁的数据集;
基于图形用户界面和领域特定语言,预设信号处理规则和代码输出模板;
其中,所述基于图形用户界面和领域特定语言,预设信号处理规则和代码输出模板的步骤包括:
根据领域特定语言,确定所述整洁的数据集的语法特征;
基于所述整洁的数据集的语法特征,通过图形用户界面预设信号处理规则和代码输出模板;
基于所述信号处理规则和所述代码输出模板,通过模板引擎对所述整洁的数据集进行转换和计算,生成代码;
其中,所述基于所述信号处理规则和所述代码输出模板,通过模板引擎对所述整洁的数据集进行转换和计算,生成代码的步骤包括:
根据所述信号处理规则和所述代码输出模板,构建代码生成算法;
基于所述信号处理规则,通过模板引擎执行所述代码生成算法;
通过所述代码生成算法基于抽象语法树技术对所述整洁的数据集进行转换和计算,得到解析后的数据;
将所述解析后的数据映射到所述代码输出模板中的相应位置,得到数据映射后的代码输出模板;
根据所述数据映射后的代码输出模板,生成代码。
2.如权利要求1所述的信号代码生成方法,其特征在于,所述通过统计方法对所述信号的相关数据进行清洗和预处理,得到整洁的数据集的步骤包括:
通过统计方法对所述信号的相关数据进行异常数据的检测,得到异常数据检测结果;
根据所述异常数据检测结果,对异常数据进行标记;
对标记的异常数据进行去除或修正处理,得到清洗后的数据集;
对所述清洗后的数据集进行数据格式的标准化和统一 ,以得到整洁的数据集。
3.如权利要求1所述的信号代码生成方法,其特征在于,所述根据所述数据映射后的代码输出模板,生成代码的步骤之后,还包括:
获取输出文件的保存路径;
通过所述输出文件的保存路径,将所述代码存储至输出文件中;
当进行代码质量验证时,从所述输出文件中导出所述代码进行验证。
4.一种信号代码生成装置,其特征在于,所述信号代码生成装置包括:
解析模块,用于根据文件解析算法对信号表文件进行解析,得到信号的相关数据,所述信号为CAN信号;其中,所述根据文件解析算法对信号表文件进行解析,得到信号的相关数据,所述信号为CAN信号的步骤包括:根据所述信号表文件的格式类型,通过预设的识别方法对相应类型的信号表文件进行文字提取,得到信号的相关数据;和/或根据所述信号表文件的格式类型,通过文件解析库对相应类型的信号表文件进行内容读取,得到信号的相关数据;所述根据文件解析算法对所述信号表文件进行解析,得到信号的相关数据,所述信号为CAN信号的步骤之前,包括:获取信号表文件;判断所述信号表文件是否受支持;若是,则根据文件解析算法对所述信号表文件进行解析,得到信号的相关数据;若否,则向用户发送更换文件格式的提示消息;
清洗和预处理模块,用于通过统计方法对所述信号的相关数据进行清洗和预处理,得到整洁的数据集;
预设模块,用于基于图形用户界面和领域特定语言,预设信号处理规则和代码输出模板;其中,所述基于图形用户界面和领域特定语言,预设信号处理规则和代码输出模板的步骤包括:根据领域特定语言,确定所述整洁的数据集的语法特征;基于所述整洁的数据集的语法特征,通过图形用户界面预设信号处理规则和代码输出模板;
生成模块,用于基于所述信号处理规则和所述代码输出模板,通过模板引擎对所述整洁的数据集进行转换和计算,生成代码;其中,所述基于所述信号处理规则和所述代码输出模板,通过模板引擎对所述整洁的数据集进行转换和计算,生成代码的步骤包括:根据所述信号处理规则和所述代码输出模板,构建代码生成算法;基于所述信号处理规则,通过模板引擎执行所述代码生成算法;通过所述代码生成算法基于抽象语法树技术对所述整洁的数据集进行转换和计算,得到解析后的数据;将所述解析后的数据映射到所述代码输出模板中的相应位置,得到数据映射后的代码输出模板;根据所述数据映射后的代码输出模板,生成代码。
5.一种信号代码生成终端设备,其特征在于,所述终端设备包括:存储器、处理器及存储 在所述存储器上并可在所述处理器上运行的信号代码生成程序,所述信号代码生成程序配置为实现如权利要求1至3中任一项所述的信号代码生成方法的步骤。
6.一种存储介质,其特征在于,所述存储介质上存储有信号代码生成程序,所述信号代码生成程序被处理器执行时实现如权利要求1至3中任一项所述的信号代码生成方法的步骤。
CN202311747145.3A 2023-12-19 2023-12-19 信号代码生成方法、装置、终端设备以及存储介质 Active CN117421009B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311747145.3A CN117421009B (zh) 2023-12-19 2023-12-19 信号代码生成方法、装置、终端设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311747145.3A CN117421009B (zh) 2023-12-19 2023-12-19 信号代码生成方法、装置、终端设备以及存储介质

Publications (2)

Publication Number Publication Date
CN117421009A CN117421009A (zh) 2024-01-19
CN117421009B true CN117421009B (zh) 2024-04-19

Family

ID=89532946

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311747145.3A Active CN117421009B (zh) 2023-12-19 2023-12-19 信号代码生成方法、装置、终端设备以及存储介质

Country Status (1)

Country Link
CN (1) CN117421009B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112015396A (zh) * 2020-08-28 2020-12-01 平安国际智慧城市科技股份有限公司 基于dsl的智能合约代码生成方法、装置、设备及存储介质
CN112256253A (zh) * 2020-11-12 2021-01-22 北斗星通智联科技有限责任公司 代码生成方法、装置、电子设备和计算机可读存储介质
CN112416337A (zh) * 2020-11-11 2021-02-26 北京京航计算通讯研究所 一种面向航天嵌入式系统的软件架构开发系统
CN114461193A (zh) * 2022-04-11 2022-05-10 北京远特科技股份有限公司 一种通信协议代码的生成方法、装置、设备及存储介质
CN114721641A (zh) * 2022-03-24 2022-07-08 阳光保险集团股份有限公司 一种自动生成代码的方法、装置、电子设备及存储介质
CN115048111A (zh) * 2022-08-16 2022-09-13 深圳华锐分布式技术股份有限公司 基于元数据的代码生成方法、装置、设备及介质
CN117008918A (zh) * 2023-07-21 2023-11-07 上海呦尔哈科技有限公司 领域特定语言的处理方法、装置、介质及电子设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100325607A1 (en) * 2009-06-17 2010-12-23 Microsoft Corporation Generating Code Meeting Approved Patterns
KR101051600B1 (ko) * 2010-03-29 2011-07-22 주식회사 소프트 포 소프트 아밥 소스코드의 코드 검사를 수행하는 코드검사 수행시스템

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112015396A (zh) * 2020-08-28 2020-12-01 平安国际智慧城市科技股份有限公司 基于dsl的智能合约代码生成方法、装置、设备及存储介质
CN112416337A (zh) * 2020-11-11 2021-02-26 北京京航计算通讯研究所 一种面向航天嵌入式系统的软件架构开发系统
CN112256253A (zh) * 2020-11-12 2021-01-22 北斗星通智联科技有限责任公司 代码生成方法、装置、电子设备和计算机可读存储介质
CN114721641A (zh) * 2022-03-24 2022-07-08 阳光保险集团股份有限公司 一种自动生成代码的方法、装置、电子设备及存储介质
CN114461193A (zh) * 2022-04-11 2022-05-10 北京远特科技股份有限公司 一种通信协议代码的生成方法、装置、设备及存储介质
CN115048111A (zh) * 2022-08-16 2022-09-13 深圳华锐分布式技术股份有限公司 基于元数据的代码生成方法、装置、设备及介质
CN117008918A (zh) * 2023-07-21 2023-11-07 上海呦尔哈科技有限公司 领域特定语言的处理方法、装置、介质及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
新软件技术在燃料电池客车控制系统中的应用;华剑锋等;机械工程学报;20090215(第02期);全文 *

Also Published As

Publication number Publication date
CN117421009A (zh) 2024-01-19

Similar Documents

Publication Publication Date Title
EP3410245A1 (en) Process analysis apparatus, process analysis method, and process analysis program
US20190108001A1 (en) Correction of code errors using machine learning
US8448139B2 (en) Automatic correction of application based on runtime behavior
US11775414B2 (en) Automated bug fixing using deep learning
US9280406B2 (en) Automatic correction of application based on runtime behavior
JP2018206362A (ja) 工程解析装置、工程解析方法、及び工程解析プログラム
CN111382070B (zh) 兼容性测试方法、装置、存储介质和计算机设备
KR20160122452A (ko) 비주얼 콘텐츠기반 영상 인식을 위한 딥러닝 프레임워크 및 영상 인식 방법
CN104657274B (zh) 软件界面测试方法及装置
CN110941427B (zh) 代码生成方法及代码生成器
CN115062117A (zh) 一种基于自然语言处理技术的文档自动生成分类的方法
CN111103861B (zh) 开发基于车辆售后诊断需求的集成系统的方法和装置
CN117421009B (zh) 信号代码生成方法、装置、终端设备以及存储介质
KR20220080311A (ko) 프로그램 오류 자동 수정 방법 및 이를 지원하는 시스템
CN117520148A (zh) 基于大型语言模型的测试用例生成系统
CN109508204B (zh) 一种前端代码质量检测方法及装置
CN115454702A (zh) 日志故障分析方法、装置、存储介质及电子设备
CN113312485B (zh) 日志自动化分类方法及装置、计算机可读存储介质
CN113672509A (zh) 自动化测试方法、装置、测试平台及存储介质
CN110928535A (zh) 衍生变量部署方法、装置、设备及可读存储介质
JP2005202494A (ja) 静的解析結果分析システムおよび静的解析結果分析装置
CN110704068B (zh) 基于数据库进行跨文件协同程序分析的处理方法及系统
KR102428573B1 (ko) 어노테이션 변환 장치 및 그 제어 방법
CN110990281B (zh) 一种自动化静态分析方法
US20220092447A1 (en) Model-based functional hazard assessment (fha)

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