CN117540052A - 描述文件的生成方法、装置、计算机设备和存储介质 - Google Patents
描述文件的生成方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN117540052A CN117540052A CN202311499729.3A CN202311499729A CN117540052A CN 117540052 A CN117540052 A CN 117540052A CN 202311499729 A CN202311499729 A CN 202311499729A CN 117540052 A CN117540052 A CN 117540052A
- Authority
- CN
- China
- Prior art keywords
- data
- data structure
- file
- conversion
- structured
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000006243 chemical reaction Methods 0.000 claims abstract description 150
- 238000012545 processing Methods 0.000 claims abstract description 22
- 238000013507 mapping Methods 0.000 claims abstract description 15
- 238000004590 computer program Methods 0.000 claims description 24
- 238000000605 extraction Methods 0.000 claims description 10
- 238000012216 screening Methods 0.000 claims description 10
- 238000013506 data mapping Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 21
- 239000002245 particle Substances 0.000 description 9
- 238000004891 communication Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
- 238000002910 structure generation Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/84—Mapping; Conversion
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种描述文件的生成方法、装置、计算机设备和存储介质。所述方法包括:获取汽车开放系统架构的可扩展标记语言规范文件和组件规范文件;从所述组件规范文件中提取得到与预设关键字对应的结构化数据;根据所述可扩展标记语言规范文件中与所述预设关键字相关的描述信息,生成与所述预设关键字对应的数据结构;建立所述结构化数据和所述数据结构之间的转换规则,并根据所述转换规则将所述结构化数据映射至所述数据结构中,得到所述数据结构的实例数据;对所述实例数据进行序列化处理,生成目标描述文件。采用本方法能够提高描述文件的生成效率和准确率。
Description
技术领域
本申请涉及汽车开放系统架构开发技术领域,特别是涉及一种描述文件的生成方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
在汽车开放系统架构(Automotive Open System Architecture,简称AUTOSAR)中,基础软件模块的开发通常涉及多个不同的软件层次结构、模块接口和配置参数。开发人员需要通过阅读系统描述功能文档来获取这些软件层次结构、模块接口和配置参数的定义规范,并基于这些定义规范手动编写生成汽车开放系统架构可扩展标记语言描述文件(AUTOSAR Extensible Markup Language文件,也即AUTOSAR XML文件,简称ARXML文件),是一种用可扩展标记语言(Extensible Markup Language,简称xml)描述汽车开放系统架构(AUTOSAR)模型的一种人机可读的文本格式下的文件。
但是,由于ARXML文件的复杂度和嵌套深度较高,开发人员手动编写时,往往容易产生疏漏,例如缺少属性字段、标签错误、标签不完整、标签的顺序错误、标签填写的属性信息不符合要求等情况,从而导致生成的ARXML文件错误率较高。
发明内容
基于此,有必要针对上述技术问题,提供一种准确率较高的描述文件的生成方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种描述文件的生成方法,包括:
获取汽车开放系统架构的可扩展标记语言规范文件和组件规范文件;
从所述组件规范文件中提取得到与预设关键字对应的结构化数据;
根据所述可扩展标记语言规范文件中与所述预设关键字相关的描述信息,生成与所述预设关键字对应的数据结构;
建立所述结构化数据和所述数据结构之间的转换规则,并根据所述转换规则将所述结构化数据映射至所述数据结构中,得到所述数据结构的实例数据;
对所述实例数据进行序列化处理,生成目标描述文件。
在其中一个实施例中,所述根据所述可扩展标记语言规范文件中与所述预设关键字相关的描述信息,生成与所述预设关键字对应的数据结构,包括:
从所述可扩展标记语言规范文件中查询得到与所述预设关键字匹配的元素标签;
采用所述元素标签在所述可扩展标记语言规范文件中确定出与所述预设关键字对应的描述信息;
根据所述描述信息和预设计算机编程语言的数据结构规范,生成数据结构转换指令;
执行所述数据结构转换指令,生成与所述预设关键字对应的,符合所述数据结构规范的,所述数据结构。
在其中一个实施例中,所述根据所述描述信息和预设计算机编程语言的数据结构规范,生成数据结构转换指令,包括:
根据所述元素标签确定与所述描述信息对应的转换类型;
采用与所述转换类型匹配的数据结构转换方式以及所述数据结构规范,生成所述数据结构转换指令。
在其中一个实施例中,所述采用与所述转换类型匹配的数据结构转换方式以及所述数据结构规范,生成所述数据结构转换指令,包括:
当所述转换类型为简单数据类型时,确定与所述简单数据类型匹配的数据结构转换方式为枚举方式,采用所述枚举方式以及所述数据结构规范生成所述数据结构转换指令;
当所述转换类型为复杂数据类型时,确定与所述复杂数据类型匹配的数据结构转换方式为根据所述元素标签的注释内容分别对于不同数据类型下的描述信息进行转换的方式,采用所述标签注释转换方式以及所述数据结构规范生成所述数据结构转换指令。
在其中一个实施例中,所述从所述组件规范文件中提取得到与预设关键字对应的结构化数据,包括:
创建结构化数据表;
确定所述组件规范文件中与所述结构化数据表对应的章节内容;
对所述章节内容进行文本识别处理,得到对应的文本识别结果;
根据所述预设关键字从所述文本识别结果中筛选得到目标数据内容;
将所述目标数据内容填充至所述结构化数据表,形成所述结构化数据。
在其中一个实施例中,所述建立所述结构化数据和所述数据结构之间的转换规则,并根据所述转换规则将所述结构化数据映射至所述数据结构中,得到所述数据结构的实例数据,包括:
根据所述结构化数据表的表头字段与所述数据结构对应的元素标签匹配得到对应的结构化数据和数据结构,并建立所述转换规则;
根据所述转换规则将所述结构化数据填充至对应的所述数据结构中,得到所述实例数据。
在其中一个实施例中,所述对所述实例数据进行序列化处理,生成目标描述文件,包括:
对所述实例数据进行序列化处理,生成可扩展标记语言文件;
在所述可扩展标记语言文件中添加预设控制条件,生成所述目标描述文件。
第二方面,本申请还提供了一种描述文件的生成装置,包括:
文件获取模块,用于获取汽车开放系统架构的可扩展标记语言规范文件和组件规范文件;
结构化提取模块,用于从所述组件规范文件中提取得到与预设关键字对应的结构化数据;
结构转换模块,用于根据所述可扩展标记语言规范文件中与所述预设关键字相关的描述信息,生成与所述预设关键字对应的数据结构;
数据映射模块,用于建立所述结构化数据和所述数据结构之间的转换规则,并根据所述转换规则将所述结构化数据映射至所述数据结构中,得到所述数据结构的实例数据;
文件生成模块,用于对所述实例数据进行序列化处理,生成目标描述文件。
第三方面,本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面任意一个实施例中所述的描述文件的生成方法。
第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面任意一个实施例中所述的描述文件的生成方法。
第五方面,本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述第一方面任意一个实施例中所述的描述文件的生成方法。
上述描述文件的生成方法、装置、计算机设备、存储介质和计算机程序产品,通过获取汽车开放系统架构的可扩展标记语言规范文件和组件规范文件;从组件规范文件中提取得到与预设关键字对应的结构化数据;根据可扩展标记语言规范文件中与预设关键字相关的描述信息,生成与预设关键字对应的数据结构;建立结构化数据和数据结构之间的转换规则,并根据转换规则将结构化数据映射至数据结构中,得到数据结构的实例数据;对实例数据进行序列化处理,生成目标描述文件,能够基于关键字实现结构化数据和数据结构的自动提取生成,从而提高目标描述文件的生成效率以及准确率。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中描述文件的生成方法的流程示意图;
图2为一个实施例中数据结构生成步骤的流程示意图;
图3为一个实施例中结构化数据提取步骤的流程示意图;
图4为另一个实施例中描述文件的生成方法的流程示意图;
图5为一个实施例中描述文件的生成装置500的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种描述文件的生成方法,本实施例以该方法应用于计算机设备进行举例说明,可以理解的是,该方法也可以应用于终端,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能电视、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
本实施例中,该方法包括以下步骤:
步骤S102,获取汽车开放系统架构的可扩展标记语言规范文件和组件规范文件。
其中,汽车开放系统架构,也即,Automotive Open System Architecture,简称AUTOSAR,是由全球各地的汽车制造商、供应商和工程师共同开发的开放式的汽车电子系统软件架构,用于规范化设计汽车的电子控制单元(Electronic Control Unit,以下简称为ECU)的逻辑代码。
在汽车开放系统架构中可以包括但不仅限于基础软件层(Basic Software,简称为BSW)的组件(用于提供运行上层软件功能部分所需的各种服务的标准化软件模块)、运行时环境层(Run-time environment,以下简称为RTE)的组件(用于管理应用层的各组件之间,以及基础软件层的各组件与应用层的各组件之间的在ECU内部和跨ECU的通信),以及应用层的组件(用于根据研发人员定义的功能用例在应用程序中执行特定的任务集)等各种软件组件。每种软件组件可以但不仅限于由运行实体、RTE事件、运行实体与所属软件组件的端口访问之间的端口接口、运行实体间变量等元素中任一种或多种组成。
汽车开放系统架构的组件规范文件,也即Automotive Open SystemArchitecture,简称AUTOSAR组件规范文件,用于存储与汽车开放系统架构中各种软件组件的元素对应的类型定义、函数定义、回调通知、调度函数、预期接口、Sender ReceiverInterface(发送方和接收方接口信息)、Client Server Interface(客户端服务器接口信息)、Mode Switch Interface(模式转换接口信息)、Implementation Data Type(执行数据类型)、Ports(端口信息)等标准化的描述信息。示例性地,组件规范文件中的描述信息可以是基于汽车电子系统在实际业务场景下的实际业务信息汇总得到的。例如,当汽车电子系统中的某种软件组件在实际业务场景下必须连接接口X时,组件规范文件中可以存储与该种软件组件的元素对应的预期接口为接口X。
AUTOSAR组件规范文件可以用于对汽车电子控制单元中应用软件与底层软件之间的接口以及应用软件之间的接口进行标准化,或者,提供汽车电子控制单元对应的控制器软件参考架构,或者规范汽车电子控制单元在分布式开发流程中的交换格式。
但由于目前主流的AUTOSAR组件规范文件通常以PDF文本(Portable DocumentFormat,即“便携式文档格式”的文本)的格式来呈现,计算机设备和研发工程师难以直接从AUTOSAR组件规范文件快速了解汽车开放系统架构中各个组件的描述信息。因此,出现了以XML语言(eXtensible Markup Language,可扩展标记语言)描述汽车开放系统架构中各种软件组件实现的功能需求以及各种软件组件中元素的配置属性的AUTOSAR XML文件,简称ARXML文件。
ARXML文件是一种人机可读的汽车开放系统架构的描述文件,也是本申请中最终需要生成的目标描述文件。
汽车开放系统架构的可扩展标记语言规范文件,也即AUTOSAR eXtensibleMarkup Language Schema文件,简称AUTOSAR XML Schema文件,可以用于规范描述汽车开放系统架构的ARXML文件中各种软件组件的元素(也即上文中所述的组成基础软件层、运行时环境层以及应用层的各种软件组件的元素)。
示例性地,汽车开放系统架构可以通过AUTOSAR XML Schema文件中存储的与各种软件组件的元素对应的元素声明(例如对元素名称、目标命名空间、元素类型的声明)、属性声明(例如对属性的名称、取值、默认值或固定值的声明)、数据类型(例如简单和复杂数据的类型)、使用的模型组和属性组(定义了被命名的元素和属性的组,可在许多数据类型定义中被重用)、属性使用(定义复杂数据类型和属性声明之间的关系,定义属性是必要的还是可选地,定义数据类型的应用场景)、元素粒子(定义复杂数据类型与元素的关系,定义元素在上下文中出现的最大和最小次数)的描述信息,来约束ARXML文件中各个组件中元素的数据格式、数据类型、数据合法规则、数据有效范围、各个元素和属性之间的关系、属性取值范围等内容。
AUTOSAR XML Schema文件是万维网联盟(World Wide Web Consortium,简称W3C)发布的工业标准XML Schema文件在汽车开放系统架构AUTOSAR中的一种实施方案。XMLSchema文件可以用于规范描述XML(eXtensible Markup Language,可扩展标记语言,以下均采用简称XML来表示)文件的元素,定义XML文件的合法构建模块,以及XML文件中各个元素和属性之间的关系,属性取值范围等信息,为XML应用程序提供了一种强大的验证机制。可选地,在一些实施方式中,XML Schema文件还可以用于定义可出现在XML文件中的元素和属性,定义哪个元素是子元素,定义子元素的次序和数目,定义元素是否为空,或者元素是否可以包含文本,定义元素和属性的数据类型,定义元素和属性的默认值以及固定值等。
具体地,计算机设备可以直接从本地数据库中查询得到汽车开放系统架构的可扩展标记语言规范文件和组件规范文件,或者,也可以从车载的可编程逻辑器件中读取得到可扩展标记语言规范文件和组件规范文件。
步骤S104,从组件规范文件中提取得到与预设关键字对应的结构化数据。
其中,预设关键字可以表示用于描述汽车开放系统架构所需的与各种软件组件的元素对应的具有标识性的字符串,例如预设关键字可以是各种软件组件的元素对应的元素名称、元素属性或属性值。可选地,预设关键字可以由研发人员预先定义存储在计算机设备中。预设关键字的数量可以为一个或多个。
其中,结构化数据可以是以结构化的方式(例如表格、树状结构或关系模型的方式)呈现的与预设关键字对应的描述信息。例如,当结构化数据以表格的方式来呈现时,可以包括在不同的单元格内存储的元素名称、元素属性或属性值。当结构化数据以树状结构的方式来呈现时,可以包括采用元素名称作为根节点数据,以元素属性作为在根节点下面的子节点,再将元素属性的属性值作为子节点的下一级节点的树状结构数据。当结构化数据以关系模型的方式来呈现时,可以包括同一元素的不同元素属性之间的关系。
具体地,计算机设备中可以预先存储预设关键字。由于组件规范文件一般是以不可以修改的PDF格式(Portable Document Format的简称,意为“便携式文件格式”)的形式存储。因此,计算机设备可以采用文本识别的方式获取组件规范文件的文本内容。采用预设关键字对文本内容进行数据筛选,将筛选后的与预设关键字相关的内容以结构化的形式存储(也即,将文本内容中包含预设关键字的内容以结构化的形式存储),得到与预设关键字对应的结构化数据。
步骤S106,根据可扩展标记语言规范文件中与预设关键字相关的描述信息,生成与预设关键字对应的数据结构。
其中,描述信息可以包括但不仅限于以人机可读的XML格式呈现的预设关键字对应的元素的元素声明、属性声明、数据类型、使用的模型组和属性组、属性使用、元素粒子等信息中的任一种或多种。
数据结构可以表示以计算机设备可以直接运行的编程语言(例如C语言、C++语言、Python语言等)生成的对预设关键字描述的元素进行约束定义的结构体。结构体通常由相互之间存在一种或多种特定关系的不同数据类型下的多种数据的集合构成。
具体地,计算机设备可以采用字符串匹配的方式,基于预设关键字,从可扩展标记语言规范文件中查询得到与预设关键字相关的描述信息(也即,与预设关键字描述的某种软件组件的元素对应的描述信息)。采用预设编程语言创建与预设关键字描述的元素对应的数据对象,将描述信息中的元素声明、属性声明、数据类型、使用的模型组和属性组、属性使用、元素粒子等信息,分别转换为在该预设编程语言下与该数据对象对应的属性定义信息,以构建与预设关键字描述的元素对应的数据结构。
步骤S108,建立结构化数据和数据结构之间的转换规则,并根据转换规则将结构化数据映射至数据结构中,得到数据结构的实例数据。
其中,转换规则可以用于表示将结构化数据转换为与数据结构在同一编程语言下的对该数据对象进行属性定义的值,以数据结构中对应的属性定义信息为键,建立键和值之间的映射关系,利用映射关系将结构化数据转换后的值映射至数据结构中的逻辑规则。
实例数据可以表示以组件规范文件的描述信息中元素具体的标准化的属性值定义数据结构中的属性,以得到与数据结构对应的元素的实例化结果。
具体地,由于数据结构是以编程语言格式来呈现的,而结构化数据是从组件规范文件(以PDF语言编写)中提取得到的结构化文本。因此,计算机设备需要建立将结构化文本转换为编程语言格式下的属性定义数据的转换规则,也即结构化数据和数据结构之间的转换规则,以在编程语言格式下统一可扩展标记语言规范文件和组件规范文件对同一预设关键字的元素的描述信息。
示例性地,在一些实施方式中,计算机设备可以根据预设关键字,确定出与同一预设关键字对应的结构化数据和数据结构中的属性定义信息。根据数据结构对应的编程语言格式,建立结构化数据和数据结构之间的转换规则。并根据转换规则将结构化数据转换为在该编程语言下与该属性定义信息对应的值,以该属性定义信息为键,建立值和键之间的映射关系,利用映射关系将结构化数据转换后的值映射(例如以数据填充的方式实现)至数据结构中对应的属性定义信息中,对该属性定义信息进行赋值,实现对数据结构中元素的实例化,得到数据结构的实例数据。
示例性地,当数据结构中与预设关键字对应的元素的属性声明中包括以十六进制存储接口地址的属性定义信息,且与该属性定义信息对应的结构化数据为预期接口地址为IP123.11.33时,计算机设备可以按照以十六进制存储接口地址的属性定义信息以及编程语言格式,将预期接口地址为IP123.11.33转换为在编程语言格式下的十六进制的IP地址(Internet Protocol Address互联网协议地址,简称IP地址),将十六进制的IP地址写入以编程语言格式呈现的数据结构中,作为数据结构的实例数据。
此外,本领域技术人员可以理解的是,由于当前步骤S108中建立的转换规则是基于汽车开放系统架构的可扩展标记语言规范文件和组件规范文件生成的。因此,在可扩展标记语言规范文件和组件规范文件未修改的场景下,当前步骤S108中的转换规则均适用。如果可扩展标记语言规范文件和组件规范文件发生修改更新,则相应的转换规则也需要基于修改更新后的可扩展标记语言规范文件和组件规范文件重新生成。
步骤S110,对实例数据进行序列化处理,生成目标描述文件。
其中,目标描述文件,也即AUTOSAR XML文件,简称ARXML文件,是一种用XML语言描述AUTOSAR组件功能实现需求的文档。
具体地,计算机设备可以对实例数据进行序列化处理,以将实例数据转换为字节序列,并重新拼接形成XML格式的目标描述文件。
上述描述文件的生成方法,通过获取汽车开放系统架构的可扩展标记语言规范文件和组件规范文件;从组件规范文件中提取得到与预设关键字对应的结构化数据;根据可扩展标记语言规范文件中与预设关键字相关的描述信息,生成与预设关键字对应的数据结构;建立结构化数据和数据结构之间的转换规则,并根据转换规则将结构化数据映射至数据结构中,得到数据结构的实例数据;对实例数据进行序列化处理,生成目标描述文件,能够基于关键字实现结构化数据和数据结构的自动提取生成,从而提高目标描述文件的生成效率和准确率。
在一个示例性的实施例中,如图2所示,提供了一种上述步骤S106的具体实现方式,包括以下步骤S202至步骤S208。其中:
步骤S202,从可扩展标记语言规范文件中查询得到与预设关键字匹配的元素标签。
具体地,由于可扩展标记语言规范文件中的描述信息都是以元素的元素标签、元素属性以及元素内容组成。例如,描述信息可以包括以下内容:
其中,带有<>标识的内容均为元素标签。
<xsd:group>和</xsd:group><xsd:appinfo>和</xsd:appinfo><xsd:sequence>和</xsd:sequence>互为元素开始标签和元素结束标签。而位于最外层的<xsd:group>和</xsd:group>是该元素根标签(通常一个元素只有一个根标签)的开始标签和结束标签。在元素开始标签和元素结束标签之间的atp.recommendedPackage="BswModuleEntry"为元素内容。在元素标签中的group name="BSW-MODULE-ENTRY"表示元素使用的模型组以及模型组名称;appinfo source="tags"表示元素的接口来源属性以及接口来源属性值;elementmaxOccurs="1"minOccurs="0"name="FUNCTION"type="STRING"依次表示元素的最大出现次数属性的属性值为1,元素的最小出现次数属性的属性值为0,元素的名称属性的属性值为FUNCTION,元素的数据类型属性的属性值为STRING。
因此,计算机设备可以采用字符串匹配的方式,从可扩展标记语言规范文件中先查询得到与预设关键字匹配的元素标签。也即,包含预设关键字的元素标签,或者与预设关键字的数据类型或数据属性匹配的元素标签。
例如,计算机设备可以采用上述元素的模型组名称BSW-MODULE-ENTRY作为预设关键字,查询得到包含预设关键字的元素标签<xsd:group name="BSW-MODULE-ENTRY">
或者,计算机设备也可以采用上述元素的数据类型STRING作为预设关键字,查询得到与预设关键字的数据类型STRING匹配的元素标签<xsd:element maxOccurs="1"minOccurs="0"name="FUNCTION"type="STRING">。
或者,计算机设备还可以采用上述元素的接口来源属性appinfo source作为预设关键字,查询得到同样具有该预设关键字的接口来源属性appinfo source的元素标签<xsd:appinfo source="tags">
步骤S204,采用元素标签在可扩展标记语言规范文件中确定出与预设关键字对应的描述信息。
具体地,计算机设备可以采用步骤S202中获取的元素标签,在可扩展标记语言规范文件中定位得到该元素标签所在的存储位置。从该存储位置开始向上向下进行根标签搜索,将搜索得到的在根标签的开始标签和结束标签之间的所有内容作为与该元素标签对应的元素的描述信息。
可扩展标记语言规范文件中通常可以存储有以下元素的描述信息:元素声明(Element declaration,用于定义元素的性质,例如元素名称、目标命名空间或元素类型,该元素类型可以用于约束该元素可以包含哪些属性和子元素,元素声明可以是全局的或局部的,允许同一个元素的名字被用于一个实例文档的不同部分的不相关的元素)、属性声明(Attribute declaration,用于定义属性的性质,包括名称、目标命名空间和类型等。该类型限制了属性可以取哪些值,并且可以指定属性的默认值或固定值(即属性只能取该值))、简单或复杂数据类型(Simple and Complex Type,用于区分不同的转换方式)、模型组(Model Group,用于定义被命名的元素的组,可在许多数据类型定义中被重用)和属性组(Attribute Group,用于定义被命名的属性的组,也可以在许多数据类型定义中被重用)、属性使用(Attribute Use,表示复杂数据类型和属性声明之间的关系,指出属性是必需的还是可选的,在什么时候使用这种数据类型)或元素粒子(Element Particle,类似于表示复杂类型与元素的关系,指出元素在上下文中出现的最大和最小次数。内容模型可以包括模型组粒子,在语法上相当于非终结符:定义了允许的元素序列的选择和重复的单位。此外,通配符粒子表示了一组元素或元素序列)等信息。也即与预设关键字对应的元素在可扩展标记语言规范文件中完整的描述信息。
可选地,在一些实施方式中,在可扩展标记语言规范文件是基于XSD 1.1标准(1.1版本的XML Schema Definition标准,也即保障XML文件有效的必要规则)生成的情况下,计算机设备还可以通过采用上述步骤S204的操作定位得到的元素声明中元素属性的值来生成有条件地定义该元素的元素类型的描述信息。例如,元素的数据类型属性的属性值为STRING时,可以生成该元素的元素类型为字符串类型的描述信息。
可选地,在另一些实施方式中,如果计算机设备采用上述步骤S204中的操作获取到的元素的描述信息中包括:元素E在元素H的替换组中的信息时,那么计算机设备还可以生成在模式schema许可元素H出现的地方元素E都可以出现的描述信息,也即元素E在模式schema许可元素H出现的地方下,也可以采用元素H的描述信息进行约束定义。
可选地,在另一些实施方式中,计算机设备还可以通过采用上述步骤S204的操作定位得到元素的完整性(integrity)约束、唯一性(uniqueness)约束和引用(referential)约束的描述信息。其中,唯一性约束用于确定特定的属性值在该元素为根的子树中是独一无二的,而引用约束用于确定属性值必须匹配一些其他元素的标识符。
步骤S206,根据描述信息和预设计算机编程语言的数据结构规范,生成数据结构转换指令。
其中,预设计算机编程语言可以表示计算机可以直接识别读取的语言,例如C语言、C++语言、Python语言等。
数据结构规范用于定义预设计算机编程语言的编写格式,例如在C语言中采用include<>的函数来引入文件;在C++语言中通过调用cin\cout来输入输出;在Python语言中可以用逗号分隔一列值形成固定长度的元组。
具体地,计算机设备中可以预先存储有预设计算机编程语言的数据结构规范。根据步骤S204中得到的描述信息可以确定在预设编程语言下与元素对应的数据对象具有的属性(例如数据类型属性、名称属性、接口属性等)及对应的属性定义信息(例如数据类型属性中可以出现属性A、属性B或属性C的信息)。按照预设计算机编程语言的数据结构规范,确定将描述信息转换为符合数据结构规范中与每种属性对应的属性定义信息的编写格式的操作逻辑。利用操作逻辑可以生成用于将汽车开放系统架构的可扩展标记语言规范文件AUTOSAR xml schema中与预设关键字描述的元素对应的描述信息(以下为便于简洁描述,均采用AUTOSAR xml schema描述信息的表述),转换为在预设计算机编程语言的数据结构规范下的数据结构转换指令。可选地,在一些实施方式中,数据结构转换指令也可以采用源程序的形式来呈现。
步骤S208,执行数据结构转换指令,生成与预设关键字对应的,符合数据结构规范的数据结构。
具体地,计算机设备可以执行数据结构转换指令,将预设关键字描述的元素对应的AUTOSAR xml schema描述信息中与每种属性对应的描述信息,转换为符合预设计算机编程语言的数据结构规范的编写格式下的属性定义信息。利用AUTOSAR xml schema描述信息转换后得到的在预设计算机编程语言下的多种属性的属性定义信息构建数据结构,也即,得到了与预设关键字对应的,在预设计算机编程语言下的数据结构。
由于AUTOSAR xml schema文件中定义的XML语言格式下的描述信息(也即,上文中所述步骤S204中的元素声明、属性声明、简单或复杂数据类型、模型组和属性组、属性使用或元素粒子等信息)无法被计算机直接读取理解。因此,相较于传统技术中需要开发人员手动编写数据结构的手段而言,采用本申请实施例中提供的步骤S202-S208中的操作,可以实现对AUTOSAR xml schema文件中的业务规则的自动化转换,以形成符合预设计算机编程语言的数据结构规范的,计算机可以直接读取理解的,数据结构,从而大幅提升数据结构的生成效率。
本实施例中,通过查询与预设关键字匹配的元素标签,读取元素标签的描述信息作为预设关键字对应的描述信息,利用AUTOSAR xml schema描述信息和预设计算机编程语言的数据结构规范,生成相应的数据结构转换源程序,进而生成符合预设计算机编程语言的数据结构规范的数据结构,能够实现数据结构的自动化生成,提高数据结构的生成效率。
可选地,在一些实施方式中,上述步骤S206还可以参照以下方式实现:根据元素标签确定与描述信息对应的转换类型;采用与转换类型匹配的数据结构转换方式以及数据结构规范,生成数据结构转换指令。
具体地,计算机设备可以根据描述信息中的元素标签确定与预设关键字对应的转换类型,例如,当描述信息中的元素标签携带简单数据类型“simpleType”的标识时,可以确定与描述信息对应的转换类型为简单数据类型。当描述信息中的元素标签携带复杂数据类型“Complex Type”的标识或携带模型组/属性组“group”标识时,可以确定与描述信息对应的转换类型为复杂数据类型。采用与转换类型匹配的数据结构转换方式以及预设计算机编程语言的数据结构规范,可以生成步骤S206-S208中的数据结构转换指令。
例如,当描述信息为:
</xsd:simpleType>,也即对元素A的限制性基础属性的描述信息为,在字符串类型下,元素A的限制性基础属性的属性值可以为A1、A2、A3或A4。
由于描述信息中的元素标签:<xsd:simpleType name="A">中携带simpleType的标识,可以确定与当前描述信息对应的转换类型为简单数据类型。计算机设备可以采用与简单数据类型匹配的数据结构转换方式,例如枚举方式,将描述信息转换为符合数据结构规范的属性定义信息。从而基于枚举方式以及预设编程语言的数据结构规范,构建对描述信息逐一进行转换的代码,以形成与简单数据类型的描述信息对应的数据结构转换指令:
class A(Enum):
A1="A1"
A2="A2"
A3="A3"
A4="A4"。
也即,执行上述数据结构转换指令后,可以生成对元素A对应的数据对象在限制性基础属性上的取值可以为A1、A2、A3或A4的属性定义信息。
而当描述信息为:
<xsd:group name="B">
<xsd:annotation>
<xsd:documentation>This class represents a single API entry(C-function prototype)into the BSW module or cluster,也即对于使用了模型组的元素B的模型组描述信息为:将元素B转换为预设编程语言格式后对应的属性定义信息为在基础软件层或者集群架构中一个单独的应用程序接口函数原型。
由于描述信息中元素标签<xsd:group name="B">中携带模型组/属性组“group”标识,可以确定与当前描述信息对应的转换类型为复杂数据类型。计算机设备可以采用与复杂数据类型匹配的数据结构转换方式,例如根据元素标签描述的注释内容分别对于不同数据类型下的描述信息进行转换的标签注释转换方式。计算机设备基于该标签注释转换方式以及预设编程语言的数据结构规范,可以根据上述元素标签<xsd:annotation><xsd:documentation>描述的注释内容:This class represents a single API entry(C-function prototype)into the BSW module or cluster,也即对元素B转换后的生成的数据对象的数据类型的注释内容,构建对元素B的描述信息进行转换的代码,以形成与复杂数据类型的描述信息对应的数据结构转换指令:
class B:
″″″This class represents a single APIentry(C-function prototype)intothe BSW module or cluster.″″″。
示例性的,在另一些实施方式中,当复杂数据类型下的描述信息中携带元素标签<xs:sequence>时,计算机设备根据元素标签<xs:sequence>描述的对元素转换后生成的数据对象的数据成员的注释内容,可以确定对元素进行数据结构转换生成时,生成与元素对应的数据对象的数据成员的先后顺序,从而基于前序确定出的属性定义信息(元素标签<xs:sequence>描述的生成数据成员的先后顺序)生成与当前的描述信息对应的数据结构转换指令。
在另一些实施方式中,当复杂数据类型下的描述信息中携带元素标签<xs:element>时,计算机设备根据元素标签<xs:element>描述对元素转换后生成的数据对象所属的类的注释内容,可以确定对元素进行数据转换后生成的数据对象的类的数据成员信息,从而基于前序确定出的属性定义信息(元素标签<xs:element>描述的数据成员信息),生成与当前的描述信息对应的数据结构转换指令,并为元素转换后生成的数据对象提供get(用于读取数据成员的信息)和set(用于修改数据成员的信息)的操作接口。
在另一些实施方式中,当复杂数据类型下的描述信息中携带元素标签<xs:element name="comments"type="commentsType"maxOccurs="unbounded"/>时,计算机可以根据上述元素标签描述的type="commentsType"的信息,确定与元素转换生成的数据对象的数据成员的数据类型为commentsType。计算机设备可以根据上述元素标签中描述的maxOccurs="unbounded"的信息,确定与元素转换后生成的数据对象的数据以列表的方式来存储。从而生成与当前的描述信息对应的数据结构转换指令。计算机设备可以根据上述元素标签中描述的name="comments"的信息,确定与元素转换后生成的数据对象的数据成员的名称为comments。从而基于前序确定出属性定义信息(name="comments"type="commentsType"maxOccurs="unbounded"),生成与复杂数据类型的描述信息对应的数据结构转换指令。
本实施例中,通过根据元素标签确定描述信息对应的转换类型,针对不同的转换类型,采用不同的数据结构转换方式与数据结构规范进行结合,以形成数据结构转换指令,能够提高数据结构转换源程序的生成效率和准确率。
可选地,在一个示例性的实施例中,如图3所示,提供了一种上述步骤S104的实现方式,包括:
步骤S302,创建结构化数据表。
具体地,计算机设备可以利用预设字段(例如name、type、appinfo、maxOccurs、minOccurs等)作为表头字段,创建结构化数据表。可选地,在一些实施方式中,结构化数据表的数量可以为一个或多个。例如,结构化数据表可以包括但不仅限于结构化数据表。可以包括但不仅限于导入类型表、数据类型表、函数定义表、预期接口表等中的一个或多个。
步骤S304,确定组件规范文件中与结构化数据表对应的章节内容。
具体地,计算机设备可以对组件规范文件的目录进行文本识别处理,将得到的目录文本识别结果与上述步骤S302中创建的结构化数据表的表头字段进行匹配,从而确定出与结构化数据表对应的章节内容。
步骤S306,对章节内容进行文本识别处理,得到对应的文本识别结果。
步骤S308,根据预设关键字从文本识别结果中筛选得到目标数据内容。
具体地,计算机设备可以对步骤S304中获取的章节内容进行文本识别处理,得到与章节内容对应的文本识别结果。采用预设关键字对文本识别结果进行数据筛选,得到筛选后的与预设关键字对应的目标数据内容(也即,包含预设关键字的内容)。
步骤S310,将目标数据内容填充至结构化数据表,形成结构化数据。
具体地,计算机设备可以在结构化数据表中确定出与预设关键字匹配的表头字段,进而将目标数据内容填充至结构化数据表中与预设关键字对应的表头字段下,形成与预设关键字对应的结构化数据,并存储。
由于AUTOSAR组件规范文件中定义的业务规则(例如导入类型、数据类型、函数定义、预期接口等信息)也无法被计算机直接读取理解。因此,相较于传统技术中需要开发人员基于AUTOSAR组件规范文件手动输入预设关键字相关的结构化数据的手段而言,采用本申请实施例中提供的上述步骤S302-S310的操作,能够实现对AUTOSAR组件规范文件中定义的与预设关键字对应的结构化数据的自动化提取以及分类存储,便于后续计算机设备从结构化数据表中快速地以结构化的方式读取到与预设关键字对应的组件规范内容,从而大幅提升结构化数据的读取效率。
本实施例中,通过创建结构化数据表,对组件规范文件进行文本识别扫描,以从与结构化数据表对应的章节内容中,基于预设关键字筛选得到对应的目标数据内容,进而将目标数据内容填充至结构化数据表中的对应位置处,形成预设关键字的结构化数据,能够实现对组件规范文件的结构化数据提取,提高结构化数据的提取效率以及提取准确率。
可选地,在一些实施方式中,基于上述图2和图3中的实现方式,上述步骤S108,还可以通过以下方式实现:根据结构化数据表的表头字段与数据结构对应的元素标签匹配得到对应的结构化数据和数据结构,并建立转换规则;根据转换规则将结构化数据填充至对应的数据结构中,得到实例数据。
具体地,计算机设备可以对结构化数据表的表头字段与数据结构对应的元素标签进行字符串匹配,在匹配一致的情况下,确定表头字段下对应的结构化数据以及基于元素标签的描述信息生成数据结构之间的对应关系。建立存在对应关系的结构化数据与数据结构之间的转换规则(例如可以参照上述步骤S108中的操作实现)。根据转换规则,将结构化数据转换为在预设编程语言格式下的属性值,并将结构化数据转换后生成的属性值填充至对应的数据结构中的属性定义信息中,以实现对数据结构的实例化,得到相应的实例数据。
本实施例中,通过对结构化数据表的表头字段与数据结构对应的元素标签进行字符串匹配,利用匹配一致的表头字段和元素标签确定结构化数据和数据结构之间的对应关系,并建立相应的转换规则,以实现结构化数据到数据结构的转换,能够提高实例数据的获取效率以及准确率。
可选地,在一些实施方式中,由于在实际应用场景下,无需使用汽车开放系统架构的组件规范文件中的所有约束功能。因此,本申请提供的描述文件的生成方法还可以包括:
对实例数据进行序列化处理,生成可扩展标记语言文件;在可扩展标记语言文件中添加预设控制条件,生成目标描述文件。
其中,预设控制条件可以用于关闭汽车开放系统架构中对某种软件组件定义的实现功能,或者修改汽车开放系统架构中对某种软件组件定义的实现功能。
具体地,由于在预设编程语言格式下的数据结构的实例数据是一些离散的属性值,因此计算机设备可以参照上述步骤S110的实现方式对实例数据进行序列化处理,生成可扩展标记语言文件。接收用户基于实际应用场景的使用需求,在可扩展标记语言文件中添加预设控制条件。采用预设控制条件填充至序列化处理后生成的可扩展标记语言文件,以修改或删除可扩展标记语言文件中的部分控制功能,从而得到最终与实际应用场景匹配的目标描述文件。
例如,在汽车开放系统架构的组件规范文件中存储有温度控制功能相关的描述信息,但在某些实际应用场景中不需要对温度进行控制。因此,在这种情况下,计算机设备可以选择采用在可扩展标记语言文件中添加与温度控制对应的预设控制条件来禁用对温度进行控制的约束,以形成最终的目标描述文件。
本实施例中,通过在可扩展标记语言文件中添加控制条件,以生成最终与实际应用场景匹配的目标描述文件,还能够提高描述文件的生成灵活性。
在一个实施例中,如图4所示,还提供了一种描述文件的生成方法,包括:
步骤S402,获取汽车开放系统架构的可扩展标记语言规范文件和组件规范文件。
步骤S404,创建结构化数据表,从组件规范文件中与结构化数据表对应的章节内容中,采用文本识别的方式筛选得到与预设关键字匹配的目标数据内容,并将目标数据内容填充至结构化数据表,形成对应的结构化数据。
具体地,计算机设备可以采用Python语言设计工具,自动从组件规范文件中确定出预设关键字对应的章节内容,并采用文本识别的方式获取章节内容的文本识别结果。采用预设关键字对文本识别结果进行筛选得到与预设关键字对应的目标数据内容。将目标数据内容填充至结构化数据表中的对应位置,形成预设关键字的结构化数据。可选地,在一些实施方式中,结构化数据可以包括但不仅限于类型定义数据、函数定义数据、回调通知数据、调度函数数据、预期接口数据等多种数据中的任一种或多种。
步骤S406,从可扩展标记语言规范文件中查询得到与预设关键字匹配的元素标签,采用元素标签确定与描述信息对应的转换类型。
具体地,计算机设备可以采用Python语言设计工具,从可扩展标记语言规范文件中查询得到与预设关键字匹配的元素标签。读取元素标签描述的元素的描述信息,根据元素标签描述的内容确定与描述信息对应的转换类型为简单数据类型或复杂数据类型。
步骤S408,采用与转换类型匹配的数据结构转换方式以及Python的数据结构规范,生成与描述信息对应的数据结构转换指令并执行,得到与描述信息对应的Python数据结构。
具体地,计算机设备可以基于不同的转换类型,采用不同的数据转换方式以及Python的数据结构规范,从而生成与元素的描述信息对应的数据结构转换指令。执行数据结构转换指令得到元素的描述信息对应的Python数据结构。
步骤S410,根据结构化数据表的表头字段与数据结构对应的元素标签建立结构化数据和Python数据结构的转换规则,根据转换规则将结构化数据填充至Python数据结构中,得到实例数据。
步骤S412,对实例数据进行序列化处理,生成可扩展标记语言文件,在可扩展标记语言文件中添加预设控制条件,生成目标描述文件。
上述描述文件的生成方法,通过基于汽车开放系统架构的可扩展标记语言规范文件和组件规范文件,使用Python语言的数据结构规范,自动化提取得到与预设关键字匹配的结构化数据以及Python数据结构,设计结构化数据和Python数据结构之间的转换规则,以将结构化数据填充至Python数据结构中,形成对Python数据结构的实例化,对实例化得到的实例数据进行序列化处理,并添加预设控制条件,以生成最终的目标描述文件,能够提高描述文件的生成效率、准确率以及灵活性,提高数据访问的便捷性,提高代码的可靠性和稳定性,减少开发工作量和程序错误。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的描述文件的生成方法的描述文件的生成装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个描述文件的生成装置实施例中的具体限定可以参见上文中对于描述文件的生成方法的限定,在此不再赘述。
在一个示例性的实施例中,如图5所示,提供了一种描述文件的生成装置500,包括:文件获取模块502、结构化提取模块504、结构转换模块506、数据映射模块508和文件生成模块510,其中:
文件获取模块502,用于获取汽车开放系统架构的可扩展标记语言规范文件和组件规范文件。
结构化提取模块504,用于从组件规范文件中提取得到与预设关键字对应的结构化数据。
结构转换模块506,用于根据可扩展标记语言规范文件中与预设关键字相关的描述信息,生成与预设关键字对应的数据结构。
数据映射模块508,用于建立结构化数据和数据结构之间的转换规则。并根据转换规则将结构化数据映射至数据结构中,得到数据结构的实例数据。
文件生成模块510,用于对实例数据进行序列化处理,生成目标描述文件。
在一个示例性的实施例中,结构转换模块506,包括标签确定单元,用于从可扩展标记语言规范文件中查询得到与预设关键字匹配的元素标签;信息获取单元,用于采用元素标签在可扩展标记语言规范文件中确定出与预设关键字对应的描述信息;程序构建单元,用于根据描述信息和预设计算机编程语言的数据结构规范,生成数据结构转换指令;结构转换单元,用于执行数据结构转换指令,生成与预设关键字对应的,符合数据结构规范的数据结构。
在一个示例性的实施例中,程序构建单元,还用于根据元素标签确定与描述信息对应的转换类型;采用与转换类型匹配的数据结构转换方式以及数据结构规范,生成数据结构转换指令。
在一个示例性的实施例中,程序构建单元,还用于当转换类型为简单数据类型时,确定与简单数据类型匹配的数据结构转换方式为枚举方式,采用枚举方式以及数据结构规范生成数据结构转换指令;
当转换类型为复杂数据类型时,确定与复杂数据类型匹配的数据结构转换方式为根据元素标签的注释内容分别对于不同数据类型下的描述信息进行转换的标签注释转换方式,采用标签注释转换方式以及数据结构规范生成数据结构转换指令。
在一个示例性的实施例中,结构化提取模块504,包括:数据表创建单元,用于创建结构化数据表;章节确定单元,用于确定组件规范文件中与结构化数据表对应的章节内容;文本识别单元,用于对章节内容进行文本识别处理,得到对应的文本识别结果;内容筛选单元,用于根据预设关键字从文本识别结果中筛选得到目标数据内容;结构化存储单元,用于将目标数据内容填充至结构化数据表,形成结构化数据。
在一个示例性的实施例中,数据映射模块508,还用于根据结构化数据表的表头字段与数据结构对应的元素标签匹配得到对应的结构化数据和数据结构,并建立转换规则;根据转换规则将结构化数据填充至对应的数据结构中,得到实例数据。
在一个示例性的实施例中,文件生成模块510,还用于对实例数据进行序列化处理,生成可扩展标记语言文件;在可扩展标记语言文件中添加预设控制条件,生成目标描述文件。
上述描述文件的生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个示例性的实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储汽车开放系统架构的模式定义文件、组件规范文件、业务参数、函数定义表字段以及数据结构转换方式等数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种描述文本的生成方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个示例性的实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,处理器执行计算机程序时还实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,计算机程序被处理器执行时还实现以下上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要符合相关规定。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,例如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种描述文件的生成方法,其特征在于,所述方法包括:
获取汽车开放系统架构的可扩展标记语言规范文件和组件规范文件;
从所述组件规范文件中提取得到与预设关键字对应的结构化数据;
根据所述可扩展标记语言规范文件中与所述预设关键字相关的描述信息,生成与所述预设关键字对应的数据结构;
建立所述结构化数据和所述数据结构之间的转换规则,并根据所述转换规则将所述结构化数据映射至所述数据结构中,得到所述数据结构的实例数据;
对所述实例数据进行序列化处理,生成目标描述文件。
2.根据权利要求1所述的方法,其特征在于,所述根据所述可扩展标记语言规范文件中与所述预设关键字相关的描述信息,生成与所述预设关键字对应的数据结构,包括:
从所述可扩展标记语言规范文件中查询得到与所述预设关键字匹配的元素标签;
采用所述元素标签在所述可扩展标记语言规范文件中确定出与所述预设关键字对应的描述信息;
根据所述描述信息和预设计算机编程语言的数据结构规范,生成数据结构转换指令;
执行所述数据结构转换指令,生成与所述预设关键字对应的,符合所述数据结构规范的,所述数据结构。
3.根据权利要求2所述的方法,其特征在于,所述根据所述描述信息和预设计算机编程语言的数据结构规范,生成数据结构转换指令,包括:
根据所述元素标签确定与所述描述信息对应的转换类型;
采用与所述转换类型匹配的数据结构转换方式以及所述数据结构规范,生成所述数据结构转换指令。
4.根据权利要求3所述的方法,其特征在于,所述采用与所述转换类型匹配的数据结构转换方式以及所述数据结构规范,生成所述数据结构转换指令,包括:
当所述转换类型为简单数据类型时,确定与所述简单数据类型匹配的数据结构转换方式为枚举方式,采用所述枚举方式以及所述数据结构规范生成所述数据结构转换指令;
当所述转换类型为复杂数据类型时,确定与所述复杂数据类型匹配的数据结构转换方式为根据所述元素标签的注释内容分别对于不同数据类型下的描述信息进行转换的标签注释转换方式,采用所述标签注释转换方式以及所述数据结构规范生成所述数据结构转换指令。
5.根据权利要求2所述的方法,其特征在于,所述从所述组件规范文件中提取得到与预设关键字对应的结构化数据,包括:
创建结构化数据表;
确定所述组件规范文件中与所述结构化数据表对应的章节内容;
对所述章节内容进行文本识别处理,得到对应的文本识别结果;
根据所述预设关键字从所述文本识别结果中筛选得到目标数据内容;
将所述目标数据内容填充至所述结构化数据表,形成所述结构化数据。
6.根据权利要求5所述的方法,其特征在于,所述建立所述结构化数据和所述数据结构之间的转换规则,并根据所述转换规则将所述结构化数据映射至所述数据结构中,得到所述数据结构的实例数据,包括:
根据所述结构化数据表的表头字段与所述数据结构对应的元素标签匹配得到对应的结构化数据和数据结构,并建立所述转换规则;
根据所述转换规则将所述结构化数据填充至对应的所述数据结构中,得到所述实例数据。
7.根据权利要求1~6中任一项所述的方法,其特征在于,所述对所述实例数据进行序列化处理,生成目标描述文件,包括:
对所述实例数据进行序列化处理,生成可扩展标记语言文件;
在所述可扩展标记语言文件中添加预设控制条件,生成所述目标描述文件。
8.一种描述文件的生成装置,其特征在于,所述装置包括:
文件获取模块,用于获取汽车开放系统架构的可扩展标记语言规范文件和组件规范文件;
结构化提取模块,用于从所述组件规范文件中提取得到与预设关键字对应的结构化数据;
结构转换模块,用于根据所述可扩展标记语言规范文件中与所述预设关键字相关的描述信息,生成与所述预设关键字对应的数据结构;
数据映射模块,用于建立所述结构化数据和所述数据结构之间的转换规则,并根据所述转换规则将所述结构化数据映射至所述数据结构中,得到所述数据结构的实例数据;
文件生成模块,用于对所述实例数据进行序列化处理,生成目标描述文件。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311499729.3A CN117540052A (zh) | 2023-11-10 | 2023-11-10 | 描述文件的生成方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311499729.3A CN117540052A (zh) | 2023-11-10 | 2023-11-10 | 描述文件的生成方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117540052A true CN117540052A (zh) | 2024-02-09 |
Family
ID=89783481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311499729.3A Pending CN117540052A (zh) | 2023-11-10 | 2023-11-10 | 描述文件的生成方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117540052A (zh) |
-
2023
- 2023-11-10 CN CN202311499729.3A patent/CN117540052A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7761586B2 (en) | Accessing and manipulating data in a data flow graph | |
US7194485B2 (en) | Mapping XML schema components to qualified java components | |
US7263654B2 (en) | System and method for generating optimized binary representation of an object tree | |
US20030018661A1 (en) | XML smart mapping system and method | |
US9535966B1 (en) | Techniques for aggregating data from multiple sources | |
US20140114916A1 (en) | Code generation and implementation method, system, and storage medium for delivering bidirectional data aggregation and updates | |
CN114047970A (zh) | 一种autosar架构软件的配置方法及系统 | |
CN105556504A (zh) | 从物理流生成逻辑表示 | |
CN115357286B (zh) | 一种程序文件对比方法、装置、电子设备及存储介质 | |
CN117540052A (zh) | 描述文件的生成方法、装置、计算机设备和存储介质 | |
CN108874944B (zh) | 一种基于xsl语言转换的异构数据映射系统及方法 | |
CN116028062A (zh) | 目标代码的生成方法、npu指令的显示方法及装置 | |
CN112395818B (zh) | 基于SysML的硬件算法模型构建方法 | |
CN111222015A (zh) | 一种异构xml映射生成文档方法 | |
CN115774767B (zh) | 一种地理信息元数据处理方法及装置 | |
CN116204554B (zh) | 数据处理方法、系统、电子设备和存储介质 | |
US20220121716A1 (en) | Negotiation of information contracts between information providers and consumers | |
CN117763027A (zh) | 数据处理方法、装置、计算机设备、存储介质 | |
CN109508183B (zh) | 一种存储集群中rest代码生成方法及装置 | |
CN116738954A (zh) | 报表导出方法、报表模板的配置方法、装置、计算机设备 | |
CN117851375A (zh) | 元数据模型优化方法和计算设备 | |
JP2002287961A (ja) | 業務アプリケーション開発システム及び方法 | |
CN115328540A (zh) | 用于应用框架的xml文档与java类的映射方法 | |
CN117331789A (zh) | 日志生成方法、装置、计算机设备和存储介质 | |
CN117407002A (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 |