CN113626307A - 一种基于k8s容器平台的数据校验方法和装置 - Google Patents

一种基于k8s容器平台的数据校验方法和装置 Download PDF

Info

Publication number
CN113626307A
CN113626307A CN202110744953.9A CN202110744953A CN113626307A CN 113626307 A CN113626307 A CN 113626307A CN 202110744953 A CN202110744953 A CN 202110744953A CN 113626307 A CN113626307 A CN 113626307A
Authority
CN
China
Prior art keywords
resource configuration
configuration file
format
json
yaml
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
Application number
CN202110744953.9A
Other languages
English (en)
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.)
Jinan Inspur Data Technology Co Ltd
Original Assignee
Jinan Inspur Data Technology 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 Jinan Inspur Data Technology Co Ltd filed Critical Jinan Inspur Data Technology Co Ltd
Priority to CN202110744953.9A priority Critical patent/CN113626307A/zh
Publication of CN113626307A publication Critical patent/CN113626307A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3608Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种基于K8S容器平台的数据校验方法和装置,在获取到yaml格式的资源配置文件之后,根据yaml格式的资源配置文件生成json格式的资源配置文件,并得到yaml格式的资源配置文件与json格式的资源配置文件的内容映射关系。利用shell脚本文件校验json格式的资源配置文件中的内容是否存在语法问题,若存在语法问题,则在json格式的资源配置文件中定位出发生语法错误的内容位置,并根据前述确定的内容映射关系将在json格式的资源配置文件中定位出发生语法错误的内容位置转换为在yaml格式的资源配置文件中发生语法错误的内容位置。由此,解决了K8S容器平台无法定位出yaml格式的资源配置文件中发生语法错误的内容位置,提高了开发效率。

Description

一种基于K8S容器平台的数据校验方法和装置
技术领域
本发明涉及数据处理技术领域,尤其是涉及一种基于K8S容器平台的数据校验方法和装置。
背景技术
K8S是Kubernetes的简称,是一个开源的、用于管理云平台中多个主机上的容器化的应用,K8S容器平台提供了应用部署、规划、更新、维护的一种机,其目标是让部署容器化的应用简单并且高效(powerful)。
K8S容器平台的工作负载在正常运行过程中,开发人员需要手动将环境参数编写成Configmap资源配置文件,以存储卷的形式挂载到容器内的文件或目录,提高应用的部署效率。
K8S容器平台的自身机制虽然会对Configmap资源配置文件进行简单数据校验,但没有抛出具体错误原因,开发人员只能根据经验不断修改、调试跟踪问题,从而出现开发效率低的问题。
发明内容
针对上述问题,本申请提供一种基于K8S容器平台的数据校验方法和装置,用于提高开发效率。
一方面,本申请实施例提供一种基于K8S容器平台的数据校验方法,所述方法包括:
获取yaml格式的资源配置文件;
根据所述yaml格式的资源配置文件生成json格式的资源配置文件,并得到所述yaml格式的资源配置文件与所述json格式的资源配置文件的内容映射关系;
利用shell脚本文件校验所述json格式的资源配置文件中内容的语法是否正确,响应于所述json格式的资源配置文件中内容的语法不正确,得到所述json格式的资源配置文件中发生语法错误的内容位置;
根据所述内容映射关系和所述json格式的资源配置文件中发生语法错误的内容位置,确定在所述yaml格式的资源配置文件中发生语法错误的内容位置。
可选的,在得到所述json格式的资源配置文件中发生语法错误的内容位置之后,所述方法还包括:
将所述json格式的资源配置文件中发生语法错误的内容进行字符串替换,得到json格式语法正确的资源配置文件;
根据所述内容映射关系,将所述json格式语法正确的资源配置文件转换为yaml格式语法正确的资源配置文件;
将所述yaml格式语法正确的资源配置文件输入至所述K8S容器平台。
可选的,所述根据所述yaml格式的资源配置文件生成json格式的资源配置文件,包括:
识别所述yaml格式的资源配置文件中符合json格式的目标内容;
从所述yaml格式的资源配置文件中提取所述目标内容,生成json格式的资源配置文件。
可选的,所述根据所述yaml格式的资源配置文件生成json格式的资源配置文件,包括:
将所述yaml格式的资源配置文件解析为map对象;
根据所述map对象生成json格式的资源配置文件。
可选的,所述方法还包括:
根据配置项生成yaml格式的资源配置模板,所述配置项包括接口版本、所需组件、源数据、卷的挂载位置或所需环境变量中的至少一种;
所述获取yaml格式的资源配置文件,包括:
根据所述yaml格式的资源配置模板和所述配置项对应的参数,生成yaml格式的资源配置文件。
另一方面,本申请实施例还提供一种基于K8S容器平台的数据校验装置,所述装置包括:获取单元、生成单元、校验单元和确定单元;
所述获取单元,用于获取yaml格式的资源配置文件;
所述生成单元,用于根据所述yaml格式的资源配置文件生成json格式的资源配置文件,并得到所述yaml格式的资源配置文件与所述json格式的资源配置文件的内容映射关系;
所述校验单元,用于利用shell脚本文件校验所述json格式的资源配置文件中内容的语法是否正确,响应于所述json格式的资源配置文件中内容的语法不正确,得到所述json格式的资源配置文件中发生语法错误的内容位置;
所述确定单元,用于根据所述内容映射关系和所述json格式的资源配置文件中发生语法错误的内容位置,确定在所述yaml格式的资源配置文件中发生语法错误的内容位置。
可选的,所述装置还包括替换单元、转换单元和输入单元;在得到所述json格式的资源配置文件中发生语法错误的内容位置之后,
所述替换单元,用于将所述json格式的资源配置文件中发生语法错误的内容进行字符串替换,得到json格式语法正确的资源配置文件;
所述转换单元,用于根据所述内容映射关系,将所述json格式语法正确的资源配置文件转换为yaml格式语法正确的资源配置文件;
所述输入单元,用于将所述yaml格式语法正确的资源配置文件输入至所述K8S容器平台。
可选的,所述生成单元,用于:
识别所述yaml格式的资源配置文件中符合json格式的目标内容;
从所述yaml格式的资源配置文件中提取所述目标内容,生成json格式的资源配置文件。
可选的,所述生成单元,用于:
将所述yaml格式的资源配置文件解析为map对象;
根据所述map对象生成json格式的资源配置文件。
可选的,所述生成单元,还用于:
根据配置项生成yaml格式的资源配置模板,所述配置项包括接口版本、所需组件、源数据、卷的挂载位置或所需环境变量中的至少一种;
所述获取单元,用于:
根据所述yaml格式的资源配置模板和所述配置项对应的参数,生成yaml格式的资源配置文件。
相对于现有技术,本申请上述技术方案的优点在于:
在获取到yaml格式的资源配置文件之后,根据yaml格式的资源配置文件生成json格式的资源配置文件,并得到yaml格式的资源配置文件与json格式的资源配置文件的内容映射关系。利用shell脚本文件校验json格式的资源配置文件中的内容是否存在语法问题,若存在语法问题,则在json格式的资源配置文件中定位出发生语法错误的内容位置,并根据前述确定的内容映射关系将在json格式的资源配置文件中定位出发生语法错误的内容位置转换为在yaml格式的资源配置文件中发生语法错误的内容位置。由此,通过确定与yaml格式的资源配置文件具有对应关系的json格式的资源配置文件中发生语法错误的内容位置,可以确定出yaml格式的资源配置文件中发生语法错误的内容位置,解决了K8S容器平台无法定位出yaml格式的资源配置文件中发生语法错误的内容位置,提高了开发效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请提供的一种基于K8S容器平台的数据校验方法的流程图;
图2为本申请提供的一种基于K8S容器平台的数据校验装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
K8S容器平台可以运行各种场景下的业务应用,如web应用,大数据计算任务等。K8S容器平台的正常运行依赖各组件之间的稳定运行,稳定的计算平台可以保障业务应用正常提供服务。基于K8S的容器应用工作负载主要分为有状态和无状态负载,工作负载在正常运行过程中,Configmap资源配置文件可以为应用提供环境变量的统一配置、设置容器启动的命令参数等,开发人员在编写好Configmap资源配置文件后,以存储卷的形式挂载到容器内的文件或目录,以期提高容器应用的部署效率。
Configmap资源配置文件最常见的定义是yaml格式的文件,使用yaml所面临的挑战之一是,开发人员在编写Configmap资源配置文件时必须严格遵循相关规则,否则使用Configmap配置文件进行Configmap资源创建时会报错或资源创建后应用无法正常读取相关配置、指令。
虽然K8S容器平台的自身机制会对Configmap资源配置文件进行简单数据校验,但其没有抛出具体错误原因,开发人员只能根据经验查找问题,定位问题,不断修改、调试跟踪问题,特别是对于刚接触K8S的开发人员来说,开发效率较低。
基于此,本申请实施例提供一种基于K8S容器平台的数据校验方法和相关装置。在获取到yaml格式的资源配置文件之后,根据yaml格式的资源配置文件生成json格式的资源配置文件,并得到yaml格式的资源配置文件与json格式的资源配置文件的内容映射关系。利用shell脚本文件校验json格式的资源配置文件中的内容是否存在语法问题,若存在语法问题,则在json格式的资源配置文件中定位出发生语法错误的内容位置,并根据前述确定的内容映射关系将在json格式的资源配置文件中定位出发生语法错误的内容位置转换为在yaml格式的资源配置文件中发生语法错误的内容位置。
由此,通过确定与yaml格式的资源配置文件具有对应关系的json格式的资源配置文件中发生语法错误的内容位置,可以确定出yaml格式的资源配置文件中发生语法错误的内容位置,解决了K8S容器平台无法定位出yaml格式的资源配置文件中发生语法错误的内容位置,提高了开发效率。
下面对本申请所需的一些名词进行说明。
Configmap资源配置文件:configmap资源配置文件用于保存配置数据的键值对,可以用来保存单个属性,也可以保存配置文件。Secret可以为Pod提供密码、Token、私钥等敏感数据,对于一些非敏感数据,比如容器应用的配置信息,则可以使用configmap资源配置文件。为了方便说明,以下将configmap资源配置文件简称为资源配置文件。
Pod:在Kubernetes中,最小的管理元素是Pod,Pod是最小的管理、创建应用的最小调度单元,一个Pod中可以包含多个容器。
工作负载:工作负载是在Kubernetes上运行的应用程序,使用工作负载来管理一组Pod。这些资源配置控制器来确保合适类型的、处于运行状态的Pod个数是正确的,与用户所指定的状态相一致。
Docker:Docker是一个开源的应用容器引擎,让开发者可以打包其应用以及依赖包到一个可移植的镜像中,然后发布到Linux或Windows机器上,也可以实现虚拟化。
下面结合图1对本申请实施例提供的一种基于K8S容器平台的数据校验方法具体进行说明。
参见图1,图1是本申请提供的一种基于K8S容器平台的数据校验方法的流程图,该方法可以包括以下步骤101-104。
S101:获取yaml格式的资源配置文件。
本申请的技术方案可以由物理服务器或者虚拟机中的服务器执行,还可以由K8S容器平台中的服务器执行,用于提供资源配置文件的数据校验功能。其中,K8S容器平台可以提供创建资源配置文件所需要的容器云平台环境。
基础环境完成部署配置以后,用户首先通过选择不同CPU架构、不同操作系统的基础镜像,创建出相应的Shell脚本开发测试环境;然后选择不同的Shell脚本功能模块进行组合,用于实现不同的功能;最后根据实际需求,设置测试条件,输入测试数据,在已经创建好的容器中进行脚本的开发和测试,如果提供的功能模块不满足当前的需要,开发人员也可以根据模块进行二次开发,由此,完成装置部署,可以开始执行S101,即获取yaml格式的资源配置文件。
若yaml格式的资源配置文件中存在语法问题,如缺少空格、缺少分号等,通过K8S容器平台仅能告知yaml格式的资源配置文件中存在问题,却无法定位出yaml格式的资源配置文件中哪一行代码出现了语法错误,也无法给出具体错误的原因以便开发人员可以对应修改,使得开发人员只能根据经验查找问题,定位问题,不断修改、调试跟踪问题,特别是对于刚接触K8S的开发人员来说,开发效率较低。
故此,可以将yaml格式的资源配置文件转换为其他可以进行语法校验的格式。
S102:根据yaml格式的资源配置文件生成json格式的资源配置文件,并得到yaml格式的资源配置文件与json格式的资源配置文件的内容映射关系。
由于json格式的文件可以通过shell脚本解析数据,实现对数据语法的校验,并返回语法错误的位置,故可以将yaml格式的资源配置文件转换为json格式的资源配置文件,同时,还可以得到yaml格式的资源配置文件与json格式的资源配置文件的内容映射关系。
本申请不具体限定转换的方式,下面以两种方式为例进行说明。
方式一:识别yaml格式的资源配置文件中符合json格式的目标内容,从yaml格式的资源配置文件中提取目标内容,生成json格式的资源配置文件。
需要说明的是,yaml格式的资源配置文件中部分代码符合json规则,故可以利用相关插件解析出yaml格式的资源配置文件中包括的json字符串(目标内容),从而根据json字符串生成json格式的资源配置文件。
例如,yaml格式的资源配置文件包括10行代码,其中第3行至第10行代码符合json格式,故可以将yaml格式的资源配置文件中的第3行至第10行代码提取出来,生成json格式的资源配置文件。对应的,可以获得yaml格式的资源配置文件与json格式的资源配置文件的内容映射关系,即json格式的资源配置文件的第1行代码对应于yaml格式的资源配置文件中的第3行代码,json格式的资源配置文件的第2行代码对应于yaml格式的资源配置文件中的第4行代码等,依次类推。
方式二:将yaml格式的资源配置文件解析为map对象,根据map对象生成json格式的资源配置文件。
在java中,可以利用snakeyaml库进行yaml格式的文件与json格式的文件的格式互转,其原理就是将yaml格式的文件解析为map对象,再将map对象转为json格式的文件。故可以将yaml格式的资源配置文件解析为map对象,根据map对象生成json格式的资源配置文件。
对应的,可以先获取yaml格式的资源配置文件与map对象的第一对应关系,再获取map对象与json格式的资源配置文件的第二对应关系,通过第一对应关系和第二对应关系得到内容映射关系。
S103:利用shell脚本文件校验json格式的资源配置文件中内容的语法是否正确,响应于json格式的资源配置文件中内容的语法不正确,得到json格式的资源配置文件中发生语法错误的内容位置。
需要说明的是,shell脚本文件包括json格式规则,通过json格式规则识别json格式的资源配置文件,从而校验json格式的资源配置文件中内容的语法是否正确,若存在语法不正确的内容,还会返回json格式的资源配置文件中发生语法错误的内容位置。
S104:根据内容映射关系和json格式的资源配置文件中发生语法错误的内容位置,确定在yaml格式的资源配置文件中发生语法错误的内容位置。
在确定json格式的资源配置文件中发生语法错误的内容位置后,根据内容映射关系,可以在yaml格式的资源配置文件中确定出发生语法错误的内容位置。
由上述技术方案可以看出,在获取到yaml格式的资源配置文件之后,根据yaml格式的资源配置文件生成json格式的资源配置文件,并得到yaml格式的资源配置文件与json格式的资源配置文件的内容映射关系。利用shell脚本文件校验json格式的资源配置文件中的内容是否存在语法问题,若存在语法问题,则在json格式的资源配置文件中定位出发生语法错误的内容位置,并根据前述确定的内容映射关系将在json格式的资源配置文件中定位出发生语法错误的内容位置转换为在yaml格式的资源配置文件中发生语法错误的内容位置。由此,通过确定与yaml格式的资源配置文件具有对应关系的json格式的资源配置文件中发生语法错误的内容位置,可以确定出yaml格式的资源配置文件中发生语法错误的内容位置,解决了K8S容器平台无法定位出yaml格式的资源配置文件中发生语法错误的内容位置,提高了开发效率。
作为一种可能的实现方式,在得到json格式的资源配置文件中发生语法错误的内容位置之后,将json格式的资源配置文件中发生语法错误的内容进行字符串替换,对发生语法错误的内容进行语法修正,如对缺少空格的内容添加空格,对缺少分号的内容添加分号,从而得到json格式语法正确的资源配置文件,然后根据内容映射关系,将json格式语法正确的资源配置文件转换为yaml格式语法正确的资源配置文件,从而yaml格式语法正确的资源配置文件基本可以排除语法带来的格式问题,将yaml格式语法正确的资源配置文件输入至K8S容器平台进行使用,提高yaml格式的资源配置文件创建的准确性。
需要说明的是,可以将根据yaml格式语法正确的资源配置文件进行Configmap资源创建,如果资源创建失败,将K8S容器平台返回的错误信息进行输出,该错误信息中不会包括由于语法错误带来的格式问题。如果资源可以正常创建,可通过busybox基础镜像进行环境变量读取验证,如果可以正常读取则输出Configmap资源配置文件。
作为一种可能的实现方式,根据配置项生成yaml格式的资源配置模板,由此生成的资源配置模板中包含配置文件中常用的配置项,如接口版本(apiVersion)、所需组件(kind)、源数据(metadata)、卷的挂载位置(containers、volumes)、参数(spec)或所需环境变量(env)中的至少一种。根据yaml格式的资源配置模板和配置项对应的参数,如用户可以通过将配置项对应的参数写入资源配置模板中,生成yaml格式的资源配置文件。由此,通过资源配置模板可以减少开发人员的开发时间,还可以减少格式错误的出现概率。
由此,开发人员在需要生成基于K8S容器平台的容器应用相关Configmap资源配置文件时,可以先根据容器应用实际需求,在yaml格式的资源配置模板中配置相应的环境变量,以满足容器应用运行的基本要求,配置完成后,生成yaml格式的资源配置文件。通过前述S101-S104所述的方式校验yaml格式的资源配置文件中是否存在语法问题,并对存在语法问题的内容位置进行修正,得到yaml格式语法正确的资源配置文件,并基于K8S容器平台进行yaml格式语法正确的资源配置文件的第二次验证,判断其是否能够正确读取到相关环境变量。从而解决了K8S容器平台无法定位出yaml格式的资源配置文件中发生语法错误的内容位置,提高了开发效率。
本申请实施例除了提供的基于K8S容器平台的数据校验方法外,还提供了基于K8S容器平台的数据校验装置,如图2所示,所述装置包括获取单元201、生成单元202、校验单元203和确定单元204;
所述获取单元201,用于获取yaml格式的资源配置文件;
所述生成单元202,用于根据所述yaml格式的资源配置文件生成json格式的资源配置文件,并得到所述yaml格式的资源配置文件与所述json格式的资源配置文件的内容映射关系;
所述校验单元203,用于利用shell脚本文件校验所述json格式的资源配置文件中内容的语法是否正确,响应于所述json格式的资源配置文件中内容的语法不正确,得到所述json格式的资源配置文件中发生语法错误的内容位置;
所述确定单元204,用于根据所述内容映射关系和所述json格式的资源配置文件中发生语法错误的内容位置,确定在所述yaml格式的资源配置文件中发生语法错误的内容位置。
作为一种可能的实施方式,所述装置还包括替换单元、转换单元和输入单元;在得到所述json格式的资源配置文件中发生语法错误的内容位置之后,
所述替换单元,用于将所述json格式的资源配置文件中发生语法错误的内容进行字符串替换,得到json格式语法正确的资源配置文件;
所述转换单元,用于根据所述内容映射关系,将所述json格式语法正确的资源配置文件转换为yaml格式语法正确的资源配置文件;
所述输入单元,用于将所述yaml格式语法正确的资源配置文件输入至所述K8S容器平台。
作为一种可能的实施方式,所述生成单元202,用于:
识别所述yaml格式的资源配置文件中符合json格式的目标内容;
从所述yaml格式的资源配置文件中提取所述目标内容,生成json格式的资源配置文件。
作为一种可能的实施方式,所述生成单元202,用于:
将所述yaml格式的资源配置文件解析为map对象;
根据所述map对象生成json格式的资源配置文件。
作为一种可能的实施方式,所述生成单元202,还用于:
根据配置项生成yaml格式的资源配置模板,所述配置项包括接口版本、所需组件、源数据、卷的挂载位置或所需环境变量中的至少一种;
所述获取单元201,用于:
根据所述yaml格式的资源配置模板和所述配置项对应的参数,生成yaml格式的资源配置文件。
根据本申请实施例提供的基于K8S容器平台的数据校验装置,在获取到yaml格式的资源配置文件之后,根据yaml格式的资源配置文件生成json格式的资源配置文件,并得到yaml格式的资源配置文件与json格式的资源配置文件的内容映射关系。利用shell脚本文件校验json格式的资源配置文件中的内容是否存在语法问题,若存在语法问题,则在json格式的资源配置文件中定位出发生语法错误的内容位置,并根据前述确定的内容映射关系将在json格式的资源配置文件中定位出发生语法错误的内容位置转换为在yaml格式的资源配置文件中发生语法错误的内容位置。由此,通过确定与yaml格式的资源配置文件具有对应关系的json格式的资源配置文件中发生语法错误的内容位置,可以确定出yaml格式的资源配置文件中发生语法错误的内容位置,解决了K8S容器平台无法定位出yaml格式的资源配置文件中发生语法错误的内容位置,提高了开发效率。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元及模块可以是或者也可以不是物理上分开的。另外,还可以根据实际的需要选择其中的部分或者全部单元和模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种基于K8S容器平台的数据校验方法,其特征在于,所述方法包括:
获取yaml格式的资源配置文件;
根据所述yaml格式的资源配置文件生成json格式的资源配置文件,并得到所述yaml格式的资源配置文件与所述json格式的资源配置文件的内容映射关系;
利用shell脚本文件校验所述json格式的资源配置文件中内容的语法是否正确,响应于所述json格式的资源配置文件中内容的语法不正确,得到所述json格式的资源配置文件中发生语法错误的内容位置;
根据所述内容映射关系和所述json格式的资源配置文件中发生语法错误的内容位置,确定在所述yaml格式的资源配置文件中发生语法错误的内容位置。
2.根据权利要求1所述的方法,其特征在于,在得到所述json格式的资源配置文件中发生语法错误的内容位置之后,所述方法还包括:
将所述json格式的资源配置文件中发生语法错误的内容进行字符串替换,得到json格式语法正确的资源配置文件;
根据所述内容映射关系,将所述json格式语法正确的资源配置文件转换为yaml格式语法正确的资源配置文件;
将所述yaml格式语法正确的资源配置文件输入至所述K8S容器平台。
3.根据权利要求1所述的方法,其特征在于,所述根据所述yaml格式的资源配置文件生成json格式的资源配置文件,包括:
识别所述yaml格式的资源配置文件中符合json格式的目标内容;
从所述yaml格式的资源配置文件中提取所述目标内容,生成json格式的资源配置文件。
4.根据权利要求1所述的方法,其特征在于,所述根据所述yaml格式的资源配置文件生成json格式的资源配置文件,包括:
将所述yaml格式的资源配置文件解析为map对象;
根据所述map对象生成json格式的资源配置文件。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据配置项生成yaml格式的资源配置模板,所述配置项包括接口版本、所需组件、源数据、卷的挂载位置或所需环境变量中的至少一种;
所述获取yaml格式的资源配置文件,包括:
根据所述yaml格式的资源配置模板和所述配置项对应的参数,生成yaml格式的资源配置文件。
6.一种基于K8S容器平台的数据校验装置,其特征在于,所述装置包括:获取单元、生成单元、校验单元和确定单元;
所述获取单元,用于获取yaml格式的资源配置文件;
所述生成单元,用于根据所述yaml格式的资源配置文件生成json格式的资源配置文件,并得到所述yaml格式的资源配置文件与所述json格式的资源配置文件的内容映射关系;
所述校验单元,用于利用shell脚本文件校验所述json格式的资源配置文件中内容的语法是否正确,响应于所述json格式的资源配置文件中内容的语法不正确,得到所述json格式的资源配置文件中发生语法错误的内容位置;
所述确定单元,用于根据所述内容映射关系和所述json格式的资源配置文件中发生语法错误的内容位置,确定在所述yaml格式的资源配置文件中发生语法错误的内容位置。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括替换单元、转换单元和输入单元;在得到所述json格式的资源配置文件中发生语法错误的内容位置之后,
所述替换单元,用于将所述json格式的资源配置文件中发生语法错误的内容进行字符串替换,得到json格式语法正确的资源配置文件;
所述转换单元,用于根据所述内容映射关系,将所述json格式语法正确的资源配置文件转换为yaml格式语法正确的资源配置文件;
所述输入单元,用于将所述yaml格式语法正确的资源配置文件输入至所述K8S容器平台。
8.根据权利要求6所述的装置,其特征在于,所述生成单元,用于:
识别所述yaml格式的资源配置文件中符合json格式的目标内容;
从所述yaml格式的资源配置文件中提取所述目标内容,生成json格式的资源配置文件。
9.根据权利要求6所述的装置,其特征在于,所述生成单元,用于:
将所述yaml格式的资源配置文件解析为map对象;
根据所述map对象生成json格式的资源配置文件。
10.根据权利要求6所述的装置,其特征在于,所述生成单元,还用于:
根据配置项生成yaml格式的资源配置模板,所述配置项包括接口版本、所需组件、源数据、卷的挂载位置或所需环境变量中的至少一种;
所述获取单元,用于:
根据所述yaml格式的资源配置模板和所述配置项对应的参数,生成yaml格式的资源配置文件。
CN202110744953.9A 2021-06-30 2021-06-30 一种基于k8s容器平台的数据校验方法和装置 Pending CN113626307A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110744953.9A CN113626307A (zh) 2021-06-30 2021-06-30 一种基于k8s容器平台的数据校验方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110744953.9A CN113626307A (zh) 2021-06-30 2021-06-30 一种基于k8s容器平台的数据校验方法和装置

Publications (1)

Publication Number Publication Date
CN113626307A true CN113626307A (zh) 2021-11-09

Family

ID=78378859

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110744953.9A Pending CN113626307A (zh) 2021-06-30 2021-06-30 一种基于k8s容器平台的数据校验方法和装置

Country Status (1)

Country Link
CN (1) CN113626307A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117148801A (zh) * 2023-10-27 2023-12-01 浙江禾川科技股份有限公司 一种控制器适配方法、装置、电子设备及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117148801A (zh) * 2023-10-27 2023-12-01 浙江禾川科技股份有限公司 一种控制器适配方法、装置、电子设备及介质
CN117148801B (zh) * 2023-10-27 2024-02-02 浙江禾川科技股份有限公司 一种控制器适配方法、装置、电子设备及介质

Similar Documents

Publication Publication Date Title
US20210311858A1 (en) System and method for providing a test manager for use with a mainframe rehosting platform
US20180275989A1 (en) Automated program code analysis and reporting
US8630836B2 (en) Predicting system performance and capacity using software module performance statistics
CN112241360B (zh) 一种测试用例生成方法、装置、设备及存储介质
CN111158741B (zh) 监控业务模块对第三方类库依赖关系变化的方法及装置
CN110955409B (zh) 在云平台上创建资源的方法和装置
US10169205B2 (en) Automated system testing in a complex software environment
US20190050209A1 (en) Method and system to develop, deploy, test, and manage platform-independent software
CN111240955A (zh) Http接口自动化测试方法及装置、存储介质、电子设备
CN114818565A (zh) 基于python的仿真环境管理平台、方法、设备及介质
US11422917B2 (en) Deriving software application dependency trees for white-box testing
US20150339219A1 (en) Resilient mock object creation for unit testing
CN116560683A (zh) 软件更新方法、装置、设备及存储介质
EP4293498A1 (en) Application modification method, and system, cluster, medium and program product
CN111260336A (zh) 基于规则引擎的业务核对方法、装置及设备
CN113626307A (zh) 一种基于k8s容器平台的数据校验方法和装置
CN112988578A (zh) 一种自动化测试方法和装置
US11182272B2 (en) Application state monitoring
CN116841543A (zh) 基于Flutter动态生成跨平台多端应用的开发方法
US11755458B2 (en) Automatic software behavior identification using execution record
US11947966B2 (en) Identifying computer instructions enclosed by macros and conflicting macros at build time
CN111176653B (zh) 程序编译合包方法、装置、电子设备及存储介质
CN109358972B (zh) 中间件客户端的日志管理方法、装置及计算机系统
CN112328503A (zh) 一种软件开发工作平台任务验收方法
CN111367796A (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