一种元数据文件转换的方法、系统、设备及介质技术方案

技术编号:30137034 阅读:21 留言:0更新日期:2021-09-23 14:49
本发明专利技术公开了一种元数据文件转换的方法、系统、设备和存储介质,方法包括:响应于接收到输入文件,判断所述输入文件的最外层标签是否属于元数据文件对应的标签;响应于所述输入文件的最外层标签属于元数据文件对应的标签,读取所述输入文件中的关键字,并判断每个关键字的引用是否合法;响应于每个关键字的引用均合法,提取所述输入文件的数据服务元素和属性元素,并将所述数据服务元素和所述属性元素进行分类组装以得到中间数据;以及根据所述中间数据生成目标模板,并根据所述中间数据的属性约束条件在所述目标模板中填充相应的属性。本发明专利技术能够将不同规范中的元数据文件自动转换成预设格式的模板,提高了开发人员的效率。提高了开发人员的效率。提高了开发人员的效率。

【技术实现步骤摘要】
一种元数据文件转换的方法、系统、设备及介质


[0001]本专利技术涉及数据转换领域,更具体地,特别是指一种元数据文件转换的方法、系统、计算机设备及可读介质。

技术介绍

[0002]在软件开发领域,RESTful风格的接口方式已经被大众广泛接受,与之伴随的JSON格式的响应数据,被越来越多的开发人员采用。从RESTful的诞生之日起,为了统一RESTful风格的具体实现,共产生了三个具有广泛影响力的标准,首先是微软引领的OData(Open Data Protocol,开放数据协议)标准,其次是OpenAPI规范,最后是借鉴了前两者成果的Redfish规范。
[0003]上述三种规范,都定义了能够描述对象JSON表述的语言与模型,可以简称之为元数据,即描述数据的数据。元数据随着规范的发布而发布,目的就是约束数据的格式。常见的元数据文件的格式有ODdata的CSDL(包含xml与json格式,OpenAPI的yaml格式数据描述模型。
[0004]尽管某些规范,如Redfish提供了对数据返回结果的校验工具。但是令人惊讶的是,目前并没有能够基于元数据模型生成对应JSON示例的工具。这确实给开发人员带来了非常大的不便,因为,这个转换过程需要开发人员非常了解元数据模型的语法规则,按照其语法规则,逐一的手动添加字段,最终才能生成模板,然后在模板的基础上进行数据的填充。而不同规范的语法规则都是不同的,需要较高的学习成本,这就给开发人员带来了不必要的麻烦。

技术实现思路

[0005]有鉴于此,本专利技术实施例的目的在于提出一种元数据文件转换的方法、系统、计算机设备及计算机可读存储介质,本专利技术通过对元数据文件进行解析和组装,能够将不同规范中的数据模型描述文件(即元数据文件)自动转换成示例格式的模板,然后根据模板填充数据,使得开发人员可以不再需要了解元数据模型的对应的语法规则,提高了开发人员的效率。
[0006]基于上述目的,本专利技术实施例的一方面提供了一种元数据文件转换的方法,包括如下步骤:响应于接收到输入文件,判断所述输入文件的最外层标签是否属于元数据文件对应的标签;响应于所述输入文件的最外层标签属于元数据文件对应的标签,读取所述输入文件中的关键字,并判断每个关键字的引用是否合法;响应于每个关键字的引用均合法,提取所述输入文件的数据服务元素和属性元素,并将所述数据服务元素和所述属性元素进行分类组装以得到中间数据;以及根据所述中间数据生成目标模板,并根据所述中间数据的属性约束条件在所述目标模板中填充相应的属性。
[0007]在一些实施方式中,所述判断每个关键字的引用是否合法包括:将所有关键字组成集合,判断所述集合中的所有引用是否在所述输入文件中均存在定义。
[0008]在一些实施方式中,所述将所述数据服务元素和所述属性元素进行分类组装以得到中间数据包括:选择预设数量的属性元素构造属性组,并依次将其他所述属性元素组装到所述属性组。
[0009]在一些实施方式中,所述将所述数据服务元素和所述属性元素进行分类组装以得到中间数据包括:响应于将属性元素组装到所述属性组,判断当前属性组中的所有引用是否在所述输入文件中均存在定义;以及响应于当前属性组中的存在引用在所述输入文件中不存在定义,停止组装。
[0010]在一些实施方式中,所述将所述数据服务元素和所述属性元素进行分类组装以得到中间数据包括:响应于当前属性组中的所有引用在所述输入文件中均存在定义,继续组装直到将所有属性元素组装成属性体。
[0011]在一些实施方式中,所述将所述数据服务元素和所述属性元素进行分类组装以得到中间数据包括:在所述属性体中设置所有属性元素的定义以及属性约束条件,并在所述属性体上组装所述数据服务元素。
[0012]在一些实施方式中,方法还包括:校验所述输入文件和所述目标模板是否匹配。
[0013]本专利技术实施例的另一方面,提供了一种元数据文件转换的系统,包括:第一判断模块,配置用于响应于接收到输入文件,判断所述输入文件的最外层标签是否属于元数据文件对应的标签;第二判断模块,配置用于响应于所述输入文件的最外层标签属于元数据文件对应的标签,读取所述输入文件中的关键字,并判断每个关键字的引用是否合法;组装模块,配置用于响应于每个关键字的引用均合法,提取所述输入文件的数据服务元素和属性元素,并将所述数据服务元素和所述属性元素进行分类组装以得到中间数据;以及模板模块,配置用于根据所述中间数据生成目标模板,并根据所述中间数据的属性约束条件在所述目标模板中填充相应的属性。
[0014]本专利技术实施例的又一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现如上方法的步骤。
[0015]本专利技术实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。
[0016]本专利技术具有以下有益技术效果:通过对元数据文件进行解析和组装,能够将不同规范中的数据模型描述文件(即元数据文件)自动转换成示例格式的模板,然后根据模板填充数据,使得开发人员可以不再需要了解元数据模型的对应的语法规则,提高了开发人员的效率。
附图说明
[0017]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
[0018]图1为本专利技术提供的元数据文件转换的方法的实施例的示意图;
[0019]图2为本专利技术提供的元数据文件转换的方法的实施例的架构示意图;
[0020]图3为本专利技术提供的元数据文件转换的计算机设备的实施例的硬件结构示意图;
[0021]图4为本专利技术提供的元数据文件转换的计算机存储介质的实施例的示意图。
具体实施方式
[0022]为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术实施例进一步详细说明。
[0023]需要说明的是,本专利技术实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本专利技术实施例的限定,后续实施例对此不再一一说明。
[0024]本专利技术实施例的第一个方面,提出了一种元数据文件转换的方法的实施例。图1示出的是本专利技术提供的元数据文件转换的方法的实施例的示意图。如图1所示,本专利技术实施例包括如下步骤:
[0025]S1、响应于接收到输入文件,判断所述输入文件的最外层标签是否属于元数据文件对应的标签;
[0026]S2、响应于所述输入文件的最外层标签属于元数据文件对应的标签,读取所述输入文件中的关键字,并判断每个关键字的引用是否合法;
[0027]S3、响应本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种元数据文件转换的方法,其特征在于,包括以下步骤:响应于接收到输入文件,判断所述输入文件的最外层标签是否属于元数据文件对应的标签;响应于所述输入文件的最外层标签属于元数据文件对应的标签,读取所述输入文件中的关键字,并判断每个关键字的引用是否合法;响应于每个关键字的引用均合法,提取所述输入文件的数据服务元素和属性元素,并将所述数据服务元素和所述属性元素进行分类组装以得到中间数据;以及根据所述中间数据生成目标模板,并根据所述中间数据的属性约束条件在所述目标模板中填充相应的属性。2.根据权利要求1所述的方法,其特征在于,所述判断每个关键字的引用是否合法包括:将所有关键字组成集合,判断所述集合中的所有引用是否在所述输入文件中均存在定义。3.根据权利要求1所述的方法,其特征在于,所述将所述数据服务元素和所述属性元素进行分类组装以得到中间数据包括:选择预设数量的属性元素构造属性组,并依次将其他所述属性元素组装到所述属性组。4.根据权利要求3所述的方法,其特征在于,所述将所述数据服务元素和所述属性元素进行分类组装以得到中间数据包括:响应于将属性元素组装到所述属性组,判断当前属性组中的所有引用是否在所述输入文件中均存在定义;以及响应于当前属性组中的存在引用在所述输入文件中不存在定义,停止组装。5.根据权利要求4所述的方法,其特征在于,所述将所述数据服务元素和所述属性元素进行分类组装以得到中间数据包括:响应于当前属性组中的所有引用在所述输入文件中均存在定义,继续组装直到将所有属性...

【专利技术属性】
技术研发人员:刘畅
申请(专利权)人:济南浪潮数据技术有限公司
类型:发明
国别省市:

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

1