基于序列化格式的配置文件校验方法和装置与流程

文档序号:11199016阅读:283来源:国知局
基于序列化格式的配置文件校验方法和装置与流程

本发明涉及互联网技术领域,尤其涉及一种基于序列化格式的配置文件校验方法和装置。



背景技术:

序列化是将对象转换为字节流以将其保存在内存、数据库或文件中的过程,其主要目的是保存对象的状态,以便在需要时重新创建对象,常见的序列化格式包括xml,json,yaml格式等。

目前,用户在提交配置文件时,对于一些可序列化的标准格式,需要进行合法性校检,避免用户的提交错误。例如,对于json格式(javascriptobjectnotation,是一种轻量级的数据交换格式)的配置文件而言,可通过json模板校检该配置文件的合法性,json模板定义变量名称和取值的对应关系,如果配置文件中的变量和取值符合对应关系,则认为配置文件是合法的,反之认为配置文件不合法。

然而,目前存在的问题是,json模板只能校检json格式的配置文件,对于不是json格式的配置文件而言并不能进行合法性校检。并且,json模板只能校检单个配置文件中的变量和取值是否符合预定义的格式,校检的内容并不丰富。



技术实现要素:

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本发明的第一个目的在于提出一种基于序列化格式的配置文件校验方法,该配置文件校验方法可以对多个配置文件相互间的内容进行校检,判断多个配置文件中的变量之间的相互关系是否符合预期,丰富了对配置文件内部进行校检的校检方案,同时减少了用户提交配置文件时出现提交错误的状况。

本发明的第二个目的在于提出一种基于序列化格式的配置文件校验装置。

为达上述目的,本发明第一方面实施例提出了一种基于序列化格式的配置文件校验方法,包括:获取配置文件中源配置文件的源表项的数据内容和目标配置文件的目标表项的数据内容;根据预设的匹配规则对所述源表项的数据内容和所述目标表项的数据内容进行匹配;以及根据匹配结果生成所述配置文件的校检结果。

本发明实施例的配置文件校验方法,根据预设的匹配规则对配置文件中源配置文件的源表项的数据内容和目标配置文件的目标表项的数据内容进行匹配,从而可以对多个配置文件相互间的内容进行校检,判断多个配置文件中的变量之间的相互关系是否符合预期,丰富了对配置文件内部进行校检的校检方案,同时减少了用户提交配置文件时出现提交错误的状况。

为达上述目的,本发明第二方面实施例提出了一种基于序列化格式的配置文件校验装置,包括:获取模块,用于获取配置文件中源配置文件的源表项的数据内容和目标配置文件的目标表项的数据内容;匹配模块,用于根据预设的匹配规则对所述源表项的数据内容和所述目标表项的数据内容进行匹配;以及生成模块,用于根据匹配结果生成所述配置文件的校检结果。本发明实施例的配置文件校验装置,根据预设的匹配规则对配置文件中源配置文件的源表项的数据内容和目标配置文件的目标表项的数据内容进行匹配,从而可以对多个配置文件相互间的内容进行校检,判断多个配置文件中的变量之间的相互关系是否符合预期,丰富了对配置文件内部进行校检的校检方案,同时减少了用户提交配置文件时出现提交错误的状况。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1是本发明一个实施例的基于序列化格式的配置文件校验方法的流程图;

图2是本发明一个实施例的配置文件的匹配规则的示意图;

图3是本发明一个具体实施例的基于序列化格式的配置文件校验方法的流程图;

图4是本发明一个实施例的结构规则的示意图;

图5是本发明一个实施例的配置文件的文件目录的格式规范的示意图;

图6是本发明一个实施例的配置文件约束规则的示意图;

图7是本发明另一个具体实施例的基于序列化格式的配置文件校验方法的流程图;

图8是本发明一个实施例的基于序列化格式的配置文件校验装置的结构示意图;

图9是本发明一个具体实施例的基于序列化格式的配置文件校验装置的结构示意图;以及

图10是本发明另一个具体实施例的基于序列化格式的配置文件校验装置的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

图1是本发明一个实施例的基于序列化格式的配置文件校验方法的流程图。

如图1所示,配置文件校验方法包括:

s101,获取配置文件中源配置文件的源表项的数据内容和目标配置文件的目标表项的数据内容。

具体地,在用户提交配置文件后,先读取配置文件中源文件的源表项中的数据内容,再读取配置文件中目标文件的目标表项的数据内容。

s102,根据预设的匹配规则对源表项的数据内容和目标表项的数据内容进行匹配。

具体地,不同的匹配规则以不同的规则编号进行区分并进行排序。图2示出了本发明一个实施例的配置文件的匹配规则的示意图,如图2所示,源配置文件定义匹配源的文件名,可包含通配符表示一组文件。源表项定义源文件中的具体表项名称,可用通配符匹配一组表项。

匹配规则定义了4种常用的规则关系,包括相等规则、包含规则、互斥规则和唯一规则。其中,相等规则表示源表项中的数据内容和目标表项中的数据内容完全相同;包含规则表示源表项中的数据内容包含目标表项中的数据内容;互斥规则表示源表项中的数据内容和目标表项中的数据内容不能有交集;唯一规则表示源表项中的数据内容之间不能有交集,在根据唯一规则对数据内容进行校检时,仅对源表项中的数据内容进行校检,对目标表项中的数据内容不进行校检,因此可以忽略目标文件和目标表项。

目标配置文件定义匹配目标的文件名,可包含通配符表示一组文件。目标表项定义目标文件中的具体表项名称,可用通配符匹配一组表项。

进而,根据匹配规则将可序列化的配置文件的内容转换为一组集合数据,在读取配置文件中源文件的源表项中的数据内容,和目标文件的目标表项的数据内容后,利用匹配规则中定义的运算关系计算源表项中的数据内容和目标表项的数据内容是否满足要求。

s103,根据匹配结果生成配置文件的校检结果。

具体地,若源表项的数据内容和目标表项的数据内容满足预设的匹配规则,则生成配置文件校检正确的校检结果。

若源表项的数据内容和目标表项的数据内容不满足预设的匹配规则,则生成配置文件生成校检错误的校检结果,同时生成配置文件校检错误的提示信息反馈给用户。

本发明实施例的配置文件校验方法,根据预设的匹配规则对配置文件中源配置文件的源表项的数据内容和目标配置文件的目标表项的数据内容进行匹配,从而可以对多个配置文件相互间的内容进行校检,判断多个配置文件中的变量之间的相互关系是否符合预期,丰富了对配置文件内部进行校检的校检方案,同时减少了用户提交配置文件时出现提交错误的状况。

图3是本发明一个具体实施例的基于序列化格式的配置文件校验方法的流程图。

如图3所示,配置文件校验方法包括:

s301,根据预设的结构规则判断配置文件的文件目录是否满足结构规则。

具体地,检查配置文件的格式是否符合预期,对配置文件的文件目录格式进行校检。

在本发明的一个实施例中,预设的结构规则包括类型规则和内容规则,判断文件目录的类型是否满足类型规则,若文件目录的类型不满足类型规则,则生成配置文件校检错误的提示信息,若文件目录的类型满足类型规则,则进一步判断文件目录的内容是否满足内容规则,若文件目录的内容不满足内容规则,则生成配置文件校检错误的提示信息。具体而言,图4是本发明一个实施例的结构规则的示意图,如图4所示,结构规则中定义需要检查的每个文件的文件类型和内容规则,对于目录而言,定义文件类型为目录后,需要定义目录内容,目录内容下可继续定义目录内的子目录或者文件。对于文件而言,定义类型为文件后,然后定义文件的内容,用于进行下一步的文件内容的检查。如果配置文件的文件目录不符合结构规则,例如文件目录的内容中需要有的文件没有、需要有的目录没有,生成配置文件校检错误的提示信息反馈给用户,或者文件目录的类型不匹配,也生成配置文件校检错误的提示信息反馈给用户。

例如,图5是本发明一个实施例的配置文件的文件目录的格式规范的示意图,如 图5所示,顶级目录包括集群配置文件、系统配置文件和服务列表目录。服务列表目录下每个服务均有自己的服务目录、配置文件目录和服务配置目录,在服务目录里放置该服务用到的配置文件,其中,配置文件包括部署配置文件和版本配置文件。配置目录包括服务升级配置文件,服务配置目录则包括用户配置文件。进而,根据上述格式规范检查配置文件的文件目录结构是否满足要求。

在本发明的一个实施例中,预设的结构规则还包括约束规则,判断文件目录的内容之间是否满足约束规则,若文件目录的内容之间不满足约束规则,则生成配置文件校检错误的提示信息。具体而言,除了对配置文件的文件目录格式进行检查之外,还对配置文件的文件目录的内容间的约束进行检查。例如,图6是本发明一个实施例的配置文件约束规则的示意图,如图6所示,如集群配置文件中定义了机器列表,在部署配置文件中同样包含机器列表,并且部署配置文件中的机器列表要包含于集群配置文件中的机器列表内。再如部署配置文件中定义了服务的角色列表,版本配置文件中同样包含角色列表,升级配置文件中也要包含角色列表。进而,根据不同应用的需求,可以定义多种不同的约束规则,根据这些约束规则对配置文件的文件目录的内容进行检查。

s302,获取配置文件中源配置文件的源表项的数据内容和目标配置文件的目标表项的数据内容。

具体地,在用户提交配置文件后,先读取配置文件中源文件的源表项中的数据内容,再读取配置文件中目标文件的目标表项的数据内容。

s303,根据预设的匹配规则对源表项的数据内容和目标表项的数据内容进行匹配。

具体地,不同的匹配规则以不同的规则编号进行区分并进行排序。图2示出了本发明一个实施例的配置文件的匹配规则的示意图,如图2所示,源配置文件定义匹配源的文件名,可包含通配符表示一组文件。源表项定义源文件中的具体表项名称,可用通配符匹配一组表项。

匹配规则定义了4种常用的规则关系,包括相等规则、包含规则、互斥规则和唯一规则。其中,相等规则表示源表项中的数据内容和目标表项中的数据内容完全相同;包含规则表示源表项中的数据内容包含目标表项中的数据内容;互斥规则表示源表项中的数据内容和目标表项中的数据内容不能有交集;唯一规则表示源表项中的数据内容之间不能有交集,在根据唯一规则对数据内容进行检查时,仅对源表项中的数据内容进行检查,对目标表项中的数据内容不进行检查,因此可以忽略目标文件和目标表项。

目标配置文件定义匹配目标的文件名,可包含通配符表示一组文件。目标表项定 义目标文件中的具体表项名称,可用通配符匹配一组表项。

进而,根据匹配规则将可序列化的配置文件的内容转换为一组集合数据,在读取配置文件中源文件的源表项中的数据内容,和目标文件的目标表项的数据内容后,利用匹配规则中定义的运算关系计算源表项中的数据内容和目标表项的数据内容是否满足要求。

s304,根据匹配结果生成配置文件的校检结果。

具体地,若源表项的数据内容和目标表项的数据内容满足预设的匹配规则,则生成配置文件校检正确的校检结果。

若源表项的数据内容和目标表项的数据内容不满足预设的匹配规则,则生成配置文件生成校检错误的校检结果,同时生成配置文件校检错误的提示信息反馈给用户。

本发明实施例的配置文件校验方法,根据预设的结构规则判断配置文件的文件目录是否满足结构规则,从而可以对多个配置文件的文件目录结构进行校检,检查配置文件的结构是否符合预期,进一步丰富了对单个配置文件内部进行校检的校检方案。

图7是本发明另一个具体实施例的基于序列化格式的配置文件校验方法的流程图。

如图7所示,配置文件校验方法包括:

s701,根据预设的结构规则判断配置文件的文件目录是否满足结构规则。

具体地,检查配置文件的格式是否符合预期,对配置文件的文件目录格式进行检查。

在本发明的一个实施例中,预设的结构规则包括类型规则和内容规则,判断文件目录的类型是否满足类型规则,若文件目录的类型不满足类型规则,则生成配置文件校检错误的提示信息,若文件目录的类型满足类型规则,则进一步判断文件目录的内容是否满足内容规则,若文件目录的内容不满足内容规则,则生成配置文件校检错误的提示信息。具体而言,图4是本发明一个实施例的结构规则的示意图,如图4所示,结构规则中定义需要检查的每个文件的文件类型和内容规则,对于目录而言,定义文件类型为目录后,需要定义目录内容,目录内容下可继续定义目录内的子目录或者文件。对于文件而言,定义类型为文件后,然后定义文件的内容,用于进行下一步的文件内容的检查。如果配置文件的文件目录不符合结构规则,例如文件目录的内容中需要有的文件没有、需要有的目录没有,生成配置文件校检错误的提示信息反馈给用户,或者文件目录的类型不匹配,也生成配置文件校检错误的提示信息反馈给用户。

例如,图5是本发明一个实施例的配置文件的文件目录的格式规范的示意图,如图5所示,顶级目录包括集群配置文件、系统配置文件和服务列表目录。服务列表目录下每个服务均有自己的服务目录、配置文件目录和服务配置目录,在服务目录里放置该服务用到的配置文件,其中,配置文件包括部署配置文件和版本配置文件。配置 目录包括服务升级配置文件,服务配置目录则包括用户配置文件。进而,根据上述格式规范检查配置文件的文件目录结构是否满足要求。

在本发明的一个实施例中,预设的结构规则还包括约束规则,判断文件目录的内容之间是否满足约束规则,若文件目录的内容之间不满足约束规则,则生成配置文件校检错误的提示信息。具体而言,除了对配置文件的文件目录格式进行检查之外,还对配置文件的文件目录的内容间的约束进行检查。例如,图6时本发明一个实施例的配置文件约束规则的示意图,如图6所示,如集群配置文件中定义了机器列表,在部署配置文件中同样包含机器列表,并且部署配置文件中的机器列表要包含于集群配置文件中的机器列表内。再如部署配置文件中定义了服务的角色列表,版本配置文件中同样包含角色列表,升级配置文件中也要包含角色列表。进而,根据不同应用的需求,可以定义多种不同的约束规则,根据这些约束规则对配置文件的文件目录的内容进行检查。

s702,根据预设的序列化文件模板判断配置文件的内容是否符合规范。

具体地,对单个配置文件的内容进行检查,例如,采用通用的json序列化文件模板对配置和文件的内容进行检查,其中json文件模板可以实现较为丰富的单文件内部的内容检查,检查过程可以使交互式或非交互式的,例如应用程序使用json模板进行用户输入的检查,确保输入的内容符合应用程序的规范。

若配置文件的内容不符合规范,则生成配置文件校检错误的提示信息。

s703,获取配置文件中源配置文件的源表项的数据内容和目标配置文件的目标表项的数据内容。

具体地,在用户提交配置文件后,先读取配置文件中源文件的源表项中的数据内容,再读取配置文件中目标文件的目标表项的数据内容。

s704,根据预设的匹配规则对源表项的数据内容和目标表项的数据内容进行匹配。

具体地,不同的匹配规则以不同的规则编号进行区分并进行排序。图2示出了本发明一个实施例的配置文件的匹配规则的示意图,如图2所示,源配置文件定义匹配源的文件名,可包含通配符表示一组文件。源表项定义源文件中的具体表项名称,可用通配符匹配一组表项。

匹配规则定义了4种常用的规则关系,包括相等规则、包含规则、互斥规则和唯一规则。其中,相等规则表示源表项中的数据内容和目标表项中的数据内容完全相同;包含规则表示源表项中的数据内容包含目标表项中的数据内容;互斥规则表示源表项中的数据内容和目标表项中的数据内容不能有交集;唯一规则表示源表项中的数据内容之间不能有交集,在根据唯一规则对数据内容进行检查时,仅对源表项中的数据内 容进行检查,对目标表项中的数据内容不进行检查,因此可以忽略目标文件和目标表项。

目标配置文件定义匹配目标的文件名,可包含通配符表示一组文件。目标表项定义目标文件中的具体表项名称,可用通配符匹配一组表项。

进而,根据匹配规则将可序列化的配置文件的内容转换为一组集合数据,在读取配置文件中源文件的源表项中的数据内容,和目标文件的目标表项的数据内容后,利用匹配规则中定义的运算关系计算源表项中的数据内容和目标表项的数据内容是否满足要求。

s705,根据匹配结果生成配置文件的校检结果。

具体地,若源表项的数据内容和目标表项的数据内容满足预设的匹配规则,则生成配置文件校检正确的校检结果。

若源表项的数据内容和目标表项的数据内容不满足预设的匹配规则,则生成配置文件生成校检错误的校检结果,同时生成配置文件校检错误的提示信息反馈给用户。

本发明实施例的配置文件校验方法,为了确保用户提交的配置文件符合预期,对配置文件进行三项校检,首先对配置文件的文件目录格式进行校检,其次对单个配置文件的内容进行校检,最后对多个配置文件相互间内容关联进行校检,不仅可以丰富对配置文件进行校检的校检方案,而且可以大大提高对配置文件校检的准确性,减少了用户提交配置文件时出现提交错误的状况。

为了实现上述实施例,本发明还提出一种基于序列化格式的配置文件校验装置。

图8是本发明一个实施例的基于序列化格式的配置文件校验装置的结构示意图。

如图8所示,配置文件校验装置包括:获取模块100、匹配模块200和生成模块300。

具体地,获取模块100用于获取配置文件中源配置文件的源表项的数据内容和目标配置文件的目标表项的数据内容。

匹配模块200用于根据预设的匹配规则对所述源表项的数据内容和所述目标表项的数据内容进行匹配。其中,预设的匹配规则包括相等规则、包含规则、互斥规则和唯一规则。

生成模块300用于根据匹配结果生成所述配置文件的校检结果。其中,生成模块300还用于在源表项的数据内容和目标表项的数据内容不满足预设的匹配规则时,生成配置文件校检错误的提示信息。

需要说明的是,前述对配置文件校验方法的实施例的解释说明也适用于该实施例的配置文件校验装置,其实现原理类似,此处不再赘述。

本发明实施例的配置文件校验装置,根据预设的匹配规则对配置文件中源配置文件 的源表项的数据内容和目标配置文件的目标表项的数据内容进行匹配,从而可以对多个配置文件相互间的内容进行校检,判断多个配置文件中的变量之间的相互关系是否符合预期,丰富了对配置文件内部进行校检的校检方案,同时减少了用户提交配置文件时出现提交错误的状况。

图9是本发明一个具体实施例的基于序列化格式的配置文件校验装置的结构示意图。

如图9所示,配置文件校验装置包括:获取模块100、匹配模块200、生成模块300和第一判断模块400。

具体地,第一判断模块400用于根据预设的结构规则判断配置文件的文件目录是否满足结构规则。

其中,当预设的结构规则包括类型规则和内容规则时,第一判断模块400还用于判断文件目录的类型是否满足类型规则,生成模块300还用于在文件目录的类型不满足类型规则时,生成配置文件校检错误的提示信息,第一判断模块400还用于在文件目录的类型满足类型规则时,进一步判断文件目录的内容是否满足内容规则,生成模块300还用于在文件目录的内容不满足内容规则时,生成配置文件校检错误的提示信息。

其中,当预设的结构规则还包括约束规则时,第一判断模块400还用于判断文件目录的内容之间是否满足约束规则,生成模块300还用于在文件目录的内容之间不满足约束规则时,生成配置文件校检错误的提示信息。

需要说明的是,前述对配置文件校验方法的实施例的解释说明也适用于该实施例的配置文件校验装置,其实现原理类似,此处不再赘述。

本发明实施例的配置文件校验装置,根据预设的结构规则判断配置文件的文件目录是否满足结构规则,从而可以对多个配置文件的文件目录结构进行校检,检查配置文件的结构是否符合预期,进一步丰富了对单个配置文件内部进行校检的校检方案。

图10是本发明另一个具体实施例的基于序列化格式的配置文件校验装置的结构示意图。

如图10所示,配置文件校验装置包括:获取模块100、匹配模块200、生成模块300、第一判断模块400和第二判断模块500。

具体地,第二判断模块500用于根据预设的序列化文件模板判断配置文件的内容是否符合规范。

生成模块300还用于在配置文件的内容不符合规范时,生成配置文件校检错误的提示信息。

需要说明的是,前述对配置文件校验方法的实施例的解释说明也适用于该实施例的配置文件校验装置,其实现原理类似,此处不再赘述。

本发明实施例的配置文件校验装置,为了确保用户提交的配置文件符合预期,对配置文件进行三项校检,首先对配置文件的文件目录格式进行校检,其次对单个配置文件的内容进行校检,最后对多个配置文件相互间内容关联进行校检,不仅可以丰富对配置文件进行校检的校检方案,而且可以大大提高对配置文件校检的准确性,减少了用户提交配置文件时出现提交错误的状况。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1