CN106326128A - 配置文件的检测方法及装置 - Google Patents

配置文件的检测方法及装置 Download PDF

Info

Publication number
CN106326128A
CN106326128A CN201610808820.2A CN201610808820A CN106326128A CN 106326128 A CN106326128 A CN 106326128A CN 201610808820 A CN201610808820 A CN 201610808820A CN 106326128 A CN106326128 A CN 106326128A
Authority
CN
China
Prior art keywords
detection
configuration file
configuration
file
rule
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.)
Granted
Application number
CN201610808820.2A
Other languages
English (en)
Other versions
CN106326128B (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.)
Shanghai NetEasy Brilliant Network Technology Co., Ltd.
Original Assignee
Netease Hangzhou Network 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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN201610808820.2A priority Critical patent/CN106326128B/zh
Publication of CN106326128A publication Critical patent/CN106326128A/zh
Application granted granted Critical
Publication of CN106326128B publication Critical patent/CN106326128B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种配置文件的检测方法及装置。其中,该方法包括:获取已修改的一个或多个配置文件;为一个或多个配置文件中的每个配置文件分别匹配对应的检测组件;采用匹配到的检测组件检测对应的配置文件是否满足自身的配置规则和/或是否满足对应的配置文件与其他配置文件的关联规则进行检测。本发明解决了相关技术中所提供的配置文件的错误检测方式操作复杂度较高、检测效率较低的技术问题。

Description

配置文件的检测方法及装置
技术领域
本发明涉及计算机领域,具体而言,涉及一种配置文件的检测方法及装置。
背景技术
目前,游戏中的游戏数据都是由策划填写的Excel配置表来控制的。例如:游戏角色的技能效果实现,需要在技能相关配置表中填写技能的作用方式、开始发挥作用的时间点、发挥作用的持续时间、技能所产生伤害的计算方式、吟唱动作等。再比如:任务的配置,需要准确地填写前后序任务、任务需求的道具、完成任务的判断依据、完成任务后能够得到的奖励等。当配置表填写完毕后,在提交前转化为对应的代码文件才能够被程序所识别。为了使得对配置表进行修改以及将配置表转化为对应的可识别代码文件并提交等操作能够迅速被执行,需要简洁高效的转表工具(转表是指将EXCEL形式的配置表转化为对应的可识别代码文件)来辅助实现。配置表通常可以分为以下两种形式:
(1)客户端、服务器共用配置表;
(2)服务器专用配置表。
如果修改过服务器专用配置表,则需要对服务器进行重启或对服务器进行热更新才能够在游戏中体现修改后得到的效果。而如果修改过客户端与服务器共用的配置表时,则还需要重新打包客户端并对服务器进行重启。为了实现复杂的功能,游戏配置表通常会设计的较为复杂,其中会暗藏一些潜在规则,例如:配置表中特定的列属性需要在另一个配置表中存在相关索引、配置表中特定索引的列属性需要与另一个配置表中同一索引的列属性互斥等。在这种情况下,配置错误可能难以发现,漏洞(bug)容易遗漏到外部网络,同时错误发现后也需要经历重新配置、转表、服务器更新、客户端重新打包等一系列繁琐的过程,修复时间较长,极大地影响了工作进度。
为了提高工作效率,及时检测出配置表的填写错误,各个游戏项目中均配备有相应的配置表检测工具。这些检测工具的实现方式大相径庭,通常可以分为以下两类:
第一类、游戏内配置表检测。游戏内配置表检测是指在游戏中通过手动或自动调用方式来执行的配置表检测。该方法的检测范围较为完整,通过对比当前外网环境正式运营的代码版本(即Release版)与自定义检测规则,可以详细地检测配置表改动内容是否存在异常。这种配置表检测方式,对于减少配置错误遗漏到外部网络的情况较为有效。但是,在内网测试过程中,一些阻碍性配置错误,例如:游戏活动配置日期不合法、游戏中的魔法操作替换类型被配置为一个不存在的类型等,一旦提交就会导致客户端、服务器无法正常启动或频繁宕机。对于此类错误,从发现到修复依然会耗时严重。同时,这种传统的配置表检测方式需要由测试人员发起检测,并且在发现问题后还需要定位相关责任策划,效率较低。
第二类、配置表填写检测。配置表填写检测是基于配置表插件制定规则以限制填写内容来避免配置错误的产生。该方法在更改配置的源头进行了合法性检测和干预,降低了内网测试过程中阻碍性错误出现的频率。但是,此类方法对于单个配置表只能对表项进行简单地检测,例如:数据类型,数值范围等;而对于多个配置表间隐藏的潜规则检测效果有限,需要其它方式辅助才能全面覆盖检测;另外,当配置表规则变更时需要额外更新插件,执行过程十分繁琐。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种配置文件的检测方法及装置,以至少解决相关技术中所提供的配置文件的错误检测方式操作复杂度较高、检测效率较低的技术问题。
根据本发明实施例的一个方面,提供了一种配置文件的检测方法,包括:
获取一个或多个配置文件;为一个或多个配置文件中的每个配置文件分别匹配对应的检测组件;采用匹配到的检测组件检测对应的配置文件是否满足自身的配置规则和/或是否满足对应的配置文件与其他配置文件的关联规则进行检测。
可选地,获取一个或多个配置文件包括:将第一版本内容相对于第二版本内容发生变化的配置文件确定为一个或多个配置文件,其中,第一版本内容为当前最新时刻的配置文件内容,第二版本内容为距离当前最新时刻相邻的前一预设时刻的配置文件内容。
可选地,为一个或多个配置文件中的每个配置文件分别匹配对应的检测组件包括:将一个或多个配置文件中的每个配置文件转化为可识别的代码文件;利用转化后的代码文件的文件名称为关键字索引从预先配置的检测组件集合中匹配对应的检测组件。
可选地,在利用转化后的代码文件的文件名称为关键字索引从预先配置的检测组件集合中匹配对应的检测组件之前,还包括:在预先配置的检测组件集合中为每个配置文件新建对应的检测组件或者在已经存在的检测组件中新建对应的检测功能,其中,在新建的检测组件的键值对属性中,索引属性为对应的代码文件的名称,值属性为入口函数,入口函数用于激活检测对应的配置文件是否满足配置规则和/或是否满足关联规则的函数集;根据配置规则在新建的检测组件中封装第一检测函数集来检测对应的配置文件是否满足配置规则和/或根据关联规则在新建的检测组件中封装第二检测函数集来检测对应的配置文件是否满足关联规则,其中,第一检测函数集中的每个检测函数分别对应一项检测功能,第二检测函数集中的每个检测函数分别对应一项检测功能;启用新建的检测组件或者新建的检测功能。
可选地,采用匹配到的检测组件检测对应的配置文件是否满足配置规则和/或是否满足关联规则包括:将转化后的代码文件加载至内存,并对匹配到的检测组件执行激活操作;采用激活后的检测组件中封装的第一检测函数集检测对应的配置文件是否满足配置规则和/或封装的第二检测函数集检测对应的配置文件是否满足关联规则。
可选地,在采用匹配到的检测组件检测对应的配置文件是否满足配置规则和/或是否满足关联规则之后,还包括:若发现对应的配置文件存在未满足配置规则的第一错误信息和/或未满足关联规则的第二错误信息,则将发现的第一错误信息和/或第二错误信息发送至监控设备并向监控设备发出告警信息。
根据本发明实施例的另一方面,还提供了一种配置文件的检测装置,包括:
获取模块,用于获取一个或多个配置文件;匹配模块,用于为一个或多个配置文件中的每个配置文件分别匹配对应的检测组件;检测模块,用于采用匹配到的检测组件检测对应的配置文件是否满足自身的配置规则和/或是否满足对应的配置文件与其他配置文件的关联规则进行检测。
可选地,获取模块,用于将第一版本内容相对于第二版本内容发生变化的配置文件确定为一个或多个配置文件,其中,第一版本内容为当前最新时刻的配置文件内容,第二版本内容为距离当前最新时刻相邻的前一预设时刻的配置文件内容。
可选地,匹配模块包括:转换单元,用于将一个或多个配置文件中的每个配置文件转化为可识别的代码文件;匹配单元,用于利用转化后的代码文件的文件名称为关键字索引从预先配置的检测组件集合中匹配对应的检测组件。
可选地,上述装置还包括:建立模块,用于在预先配置的检测组件集合中为每个配置文件新建对应的检测组件或者在已经存在的检测组件中新建对应的检测功能,其中,在新建的检测组件的键值对属性中,索引属性为对应的代码文件的名称,值属性为入口函数,入口函数用于激活检测对应的配置文件是否满足配置规则和/或是否满足关联规则的函数集;封装模块,用于根据配置规则在新建的检测组件中封装第一检测函数集来检测对应的配置文件是否满足配置规则和/或根据关联规则在新建的检测组件中封装第二检测函数集来检测对应的配置文件是否满足关联规则,其中,第一检测函数集中的每个检测函数分别对应一项检测功能,第二检测函数集中的每个检测函数分别对应一项检测功能;启用模块,用于启用新建的检测组件或者新建的检测功能。
可选地,检测模块包括:处理单元,用于将转化后的代码文件加载至内存,并对匹配到的检测组件执行激活操作;检测单元,用于采用激活后的检测组件中封装的第一检测函数集检测对应的配置文件是否满足配置规则和/或封装的第二检测函数集检测对应的配置文件是否满足关联规则。
可选地,上述装置还包括:反馈模块,用于若发现对应的配置文件存在未满足配置规则的第一错误信息和/或未满足关联规则的第二错误信息,则将发现的第一错误信息和/或第二错误信息发送至监控设备并向监控设备发出告警信息。
在本发明实施例中,采用从本地当前存在的全部配置文件中获取一个或多个配置文件,并为一个或多个配置文件中的每个配置文件分别匹配对应的检测组件,然后再采用匹配到的检测组件检测对应的配置文件是否满足自身的配置规则和/或是否满足对应的配置文件与其他配置文件的关联规则进行检测的方式,通过为每个配置文件分别匹配对应的检测组件不但可以检测该配置文件自身是否符合配置规则,而且还可以检测该配置文件与其他配置文件是否符合关联规则,达到了在转表之后svn提交之前,针对不同的配置文件定制不同且检测规则完备的检测组件的目的,从而实现了降低了配置文件检测过程的操作复杂度,提升了配置文件的检测效率的技术效果,进而解决了相关技术中所提供的配置文件的错误检测方式操作复杂度较高、检测效率较低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的配置文件的检测方法的流程图;
图2是根据本发明实施例的配置文件的检测装置的结构框图;
图3是根据本发明优选实施例的配置文件的检测装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种配置文件的检测方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的配置文件的检测方法的流程图,如图1所示,该方法包括如下步骤:
步骤S12,获取一个或多个配置文件;
步骤S14,为一个或多个配置文件中的每个配置文件分别匹配对应的检测组件;
步骤S16,采用匹配到的检测组件检测对应的配置文件是否满足自身的配置规则和/或是否满足对应的配置文件与其他配置文件的关联规则进行检测。
通过上述步骤,采用从本地当前存在的全部配置文件中获取一个或多个配置文件,并为一个或多个配置文件中的每个配置文件分别匹配对应的检测组件,然后再采用匹配到的检测组件检测对应的配置文件是否满足自身的配置规则和/或是否满足对应的配置文件与其他配置文件的关联规则进行检测的方式,通过为每个配置文件分别匹配对应的检测组件不但可以检测该配置文件自身是否符合配置规则,而且还可以检测该配置文件与其他配置文件是否符合关联规则,达到了在转表之后svn提交之前,针对不同的配置文件定制不同且检测规则完备的检测组件,在配置文件发生变更时,提前发现配置错误的目的,从而实现了降低了配置文件检测过程的操作复杂度,提升了配置文件的检测效率的技术效果,进而解决了相关技术中所提供的配置文件的错误检测方式操作复杂度较高、检测效率较低的技术问题。
可选地,在步骤S12中,获取一个或多个配置文件可以包括以下执行步骤:
步骤S121,将第一版本内容相对于第二版本内容发生变化的配置文件确定为一个或多个配置文件,其中,第一版本内容为当前最新时刻的配置文件内容,第二版本内容为距离当前最新时刻相邻的前一预设时刻的配置文件内容。
在转表过程中,研发人员虽然可以从服务器下载多个配置文件到本地,但是,研发人员可能仅会对其中部分配置文件进行修改。因此,对于修改过的配置文件而言,不仅在本地存储距离当前修改时刻最近的前一时刻对于的前一版本的配置文件,而且还可以对当前最新修改过的配置文件缓存为最新版本的配置文件,因此,可以根据最新版本的配置文件与前一版本的配置文件的比较结果,将配置文件内容发生变化的配置文件提取出来,由此可以实现仅对发生改动的配置文件进行检测,由此避免出现冗余检测。
可选地,在步骤S14中,为一个或多个配置文件中的每个配置文件分别匹配对应的检测组件可以包括以下执行步骤:
步骤S141,将一个或多个配置文件中的每个配置文件转化为可识别的代码文件;
步骤S142,利用转化后的代码文件的文件名称为关键字索引从预先配置的检测组件集合中匹配对应的检测组件。
在优选实施例中,当配置文件修改完成后,需要通过预设类型的转表工具将采用Excel编辑的配置文件转换为研发项目中使用语言对应的代码文件;同时,还需要对检测环境进行初始化,例如:加载检测基础工具库、初始化被检测文件路径等,由此能够实现转表过程与检测组件一体化设置,进而使得检测过程可以透明地执行,并可以提前发现错误的配置,以避免提交错误信息。
在获取到上述一个或多个配置文件之后,需要将一个或多个配置文件中的每个配置文件转化为可识别的代码文件,然后再对转化后得到的代码文件的名称进行统计,得到待检测代码文件缓存表,并依据待检测代码文件缓存表匹配对应的检测组件。具体地,从待检测代码文件缓存表中按照预设顺序获取待检测代码文件的文件名称,以文件名称为关键字从预先配置的检测组件集合中索引对应的检测组件,若发现索引值不为空,则将待检测代码文件加载至内存并激活该检测组件执行检测操作;若索引值为空,则跳过该待检测代码文件并获取下一个待检测代码文件继续匹配对应的检测组件。
可选地,在步骤S142,利用转化后的代码文件的文件名称为关键字索引从预先配置的检测组件集合中匹配对应的检测组件之前,还可以包括以下处理步骤:
步骤S143,在预先配置的检测组件集合中为每个配置文件新建对应的检测组件或者在已经存在的检测组件中新建对应的检测功能,其中,在新建的检测组件的键值对属性中,索引属性为对应的代码文件的名称,值属性为入口函数,入口函数用于激活检测对应的配置文件是否满足配置规则和/或是否满足关联规则的函数集;
步骤S144,根据配置规则在新建的检测组件中封装第一检测函数集来检测对应的配置文件是否满足配置规则和/或根据关联规则在新建的检测组件中封装第二检测函数集来检测对应的配置文件是否满足关联规则,其中,第一检测函数集中的每个检测函数分别对应一项检测功能,第二检测函数集中的每个检测函数分别对应一项检测功能;
步骤S145,启用新建的检测组件或者新建的检测功能。
在优选实施例中,可以提供一个涵盖所有检测组件的键值表,即检测组件表(相当于上述预先配置的检测组件集合),其索引属性为检测组件所监控的代码文件的文件名称,值属性为检测组件的入口函数(通过调用入口函数即可激活检测组件执行组件中的检测函数);因此,在初始化流程中,可以将新的检测组件添加到检测组件表中。
在新的检测组件被添加成功后,可以在检测组件入口函数中调用具体的检测方法;该具体的检测方法可以根据被检测的配置文件的配置规则来设定;另外,在原有检测组件中还可以添加新的检测功能。
在完成添加新的检测组件的操作和在原有检测组件中添加新的检测功能之后,通过对svn进行更新,新的检测组件以及新的检测功能即会生效。因此,本发明优选实施例所提供的检测组件的配置方式更新操作简单易行,具有良好的可扩展性。
当检测组件被启动时,可以在初始化过程中将所有的检测组件入口函数缓存在检测组件表中;检测组件表以被监控的代码文件的名称作为索引,监控入口函数名为值;当配置文件匹配到检测组件表索引时,监控入口函数即被调用,检测组件被激活,由此可以动态地激活检测组件对改动文件进行检测,从而缩小的检测范围,以避免冗余检测。
可选地,在步骤S16中,采用匹配到的检测组件检测对应的配置文件是否满足配置规则和/或是否满足关联规则可以包括以下执行步骤:
步骤S161,将转化后的代码文件加载至内存,并对匹配到的检测组件执行激活操作;
步骤S162,采用激活后的检测组件中封装的第一检测函数集检测对应的配置文件是否满足配置规则和/或封装的第二检测函数集检测对应的配置文件是否满足关联规则。
当检测组件被激活后,即启动组件中预先定义完成的检测函数集,其检测的类型可以包括:单表检测和多表联查,其中,单表检测是指检测单个配置文件中所填写内容的正确性,例如:特定取值是否按照预设要求进行填写、填写类型是否符合预设要求、填写范围是否符合要求等;多表联查则是针对多个文件之间隐藏的关联规则进行检测,例如:特定文件中的取值在另外几个文件中是否存在对应的解释说明、特定取值需要连续索引多个文件才能够判断其含义是否正确等。
需要说明的是,多表联查需要在该步骤中加载联查所需的其它文件,由此完成对包括代码文件之间的关联规则在内的复杂检测内容的检测。另外,每个检测功能均被单独封装至一个对应的检测函数中,检测函数之间无需互相依赖从而打破检测组件内各个检测方法之间的耦合性,以便于检测组件内检测功能的扩展。
可选地,在步骤S16,采用匹配到的检测组件检测对应的配置文件是否满足配置规则和/或是否满足关联规则之后,还可以包括以下执行步骤:
步骤S18,若发现对应的配置文件存在未满足配置规则的第一错误信息和/或未满足关联规则的第一错误信息,则将发现的第一错误信息和/或第二错误信息发送至监控设备并向监控设备发出告警信息。
若发现对应的配置文件存在未满足配置规则的错误信息和/或未满足关联规则的错误信息,会将发现的错误信息提交到控制台并设置内存中的全局错误标志为真,若发现全局错误标志设置为真,则可以对错误信息加以标红并高亮显示,进而提醒监控人员进行相应地处理。
通过上述优选实施例,在转表之后、svn提交之前执行配置文件检测过程,通过配置检测组件的方式针对不同的已修改配置文件定制了不同且规则完备的检测组件,通过采用检测组件动态地激活、加载、检测被修改过的配置文件,可以详细地对配置文件进行完整地检测。在完成对一个已修改配置文件进行检测后,还需要继续查找是否还有尚未检测的其他已修改配置文件,如果存在,则提取下一个配置文件按照上述检测过程进行检测,直至全部已修改配置文件检测完毕。因此,可以有效地预防错误的配置修改被提交到主干版本,并可以检测包括配置文件之间的关联规则在内的复杂检测内容;检测过程在转表后被自动调用执行,过程透明,且只针对本次被修改的配置文件,避免了冗余检测。
根据本发明实施例,还提供了一种配置文件的检测装置的实施例。图2是根据本发明实施例的配置文件的检测装置的结构框图,如图2所示,该装置包括:获取模块10,用于获取一个或多个配置文件;匹配模块20,用于为一个或多个配置文件中的每个配置文件分别匹配对应的检测组件;检测模块30,用于采用匹配到的检测组件检测对应的配置文件是否满足自身的配置规则和/或是否满足对应的配置文件与其他配置文件的关联规则进行检测。
可选地,图3是根据本发明优选实施例的配置文件的检测装置的结构框图,如图3所示,获取模块10,用于将第一版本内容相对于第二版本内容发生变化的配置文件确定为一个或多个配置文件,其中,第一版本内容为当前最新时刻的配置文件内容,第二版本内容为距离当前最新时刻相邻的前一预设时刻的配置文件内容。
可选地,如图3所示,匹配模块20可以包括:转换单元200,用于将一个或多个配置文件中的每个配置文件转化为可识别的代码文件;匹配单元202,用于利用转化后的代码文件的文件名称为关键字索引从预先配置的检测组件集合中匹配对应的检测组件。
可选地,如图3所示,上述装置还可以包括:建立模块40,用于在预先配置的检测组件集合中为每个配置文件新建对应的检测组件或者在已经存在的检测组件中新建对应的检测功能,其中,在新建的检测组件的键值对属性中,索引属性为对应的代码文件的名称,值属性为入口函数,入口函数用于激活检测对应的配置文件是否满足配置规则和/或是否满足关联规则的函数集;封装模块50,用于根据配置规则在新建的检测组件中封装第一检测函数集来检测对应的配置文件是否满足配置规则和/或根据关联规则在新建的检测组件中封装第二检测函数集来检测对应的配置文件是否满足关联规则,其中,第一检测函数集中的每个检测函数分别对应一项检测功能,第二检测函数集中的每个检测函数分别对应一项检测功能;启用模块60,用于启用新建的检测组件或者新建的检测功能。
可选地,如图3所示,检测模块30可以包括:处理单元300,用于将转化后的代码文件加载至内存,并对匹配到的检测组件执行激活操作;检测单元302,用于采用激活后的检测组件中封装的第一检测函数集检测对应的配置文件是否满足配置规则和/或封装的第二检测函数集检测对应的配置文件是否满足关联规则。
可选地,如图3所示,上述装置还可以包括:反馈模块70,用于若发现对应的配置文件存在未满足配置规则的第一错误信息和/或未满足关联规则的第二错误信息,则将发现的第一错误信息和/或第二错误信息发送至监控设备并向监控设备发出告警信息。
通过本发明实施例所提供的上述装置,可以有效地预防错误的配置修改被提交到主干版本,其中,主干版本为当前内网开发使用的svn库版本,所有开发内容都会提交到该版本上,而放到外网的Release版也是通过该版本生成的。此外,上述检测方式还可以检测包括配置文件之间的关联规则在内的复杂检测内容;检测在转表后自动执行,且只针对本次即将提交的被修改的配置文件,由此避免了冗余的检测。当发现新的检测规则需要添加时,只需要在相应文件的检测组件中添加检测函数或新增检测组件即可。当新检测规则对应的代码提交到svn后,配置表修改人员需要更新检测工具,新的规则即会生效,因此该检测方法运行迅速且过程透明,具有良好的可扩展性。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (12)

1.一种配置文件的检测方法,其特征在于,包括:
获取一个或多个配置文件;
为所述一个或多个配置文件中的每个配置文件分别匹配对应的检测组件;
采用匹配到的检测组件检测对应的配置文件是否满足自身的配置规则和/或是否满足对应的配置文件与其他配置文件的关联规则。
2.根据权利要求1所述的方法,其特征在于,获取一个或多个配置文件包括:
将第一版本内容相对于第二版本内容发生变化的配置文件确定为所述一个或多个配置文件,其中,所述第一版本内容为当前最新时刻的配置文件内容,所述第二版本内容为距离所述当前最新时刻相邻的前一预设时刻的配置文件内容。
3.根据权利要求1所述的方法,其特征在于,为所述一个或多个配置文件中的每个配置文件分别匹配对应的检测组件包括:
将所述一个或多个配置文件中的每个配置文件转化为可识别的代码文件;
利用转化后的代码文件的文件名称为关键字索引从预先配置的检测组件集合中匹配对应的检测组件。
4.根据权利要求3所述的方法,其特征在于,在利用转化后的代码文件的文件名称为关键字索引从预先配置的检测组件集合中匹配对应的检测组件之前,还包括:
在所述预先配置的检测组件集合中为每个配置文件新建对应的检测组件或者在已经存在的检测组件中新建对应的检测功能,其中,在新建的检测组件的键值对属性中,索引属性为对应的代码文件的名称,值属性为入口函数,所述入口函数用于激活检测对应的配置文件是否满足所述配置规则和/或是否满足所述关联规则的函数集;
根据所述配置规则在新建的检测组件中封装第一检测函数集来检测对应的配置文件是否满足所述配置规则和/或根据所述关联规则在新建的检测组件中封装第二检测函数集来检测对应的配置文件是否满足所述关联规则,其中,所述第一检测函数集中的每个检测函数分别对应一项检测功能,所述第二检测函数集中的每个检测函数分别对应一项检测功能;
启用新建的检测组件或者新建的检测功能。
5.根据权利要求4所述的方法,其特征在于,采用匹配到的检测组件检测对应的配置文件是否满足所述配置规则和/或是否满足所述关联规则包括:
将所述转化后的代码文件加载至内存,并对匹配到的检测组件执行激活操作;
采用激活后的检测组件中封装的第一检测函数集检测对应的配置文件是否满足所述配置规则和/或封装的第二检测函数集检测对应的配置文件是否满足所述关联规则。
6.根据权利要求5所述的方法,其特征在于,在采用匹配到的检测组件检测对应的配置文件是否满足所述配置规则和/或是否满足所述关联规则之后,还包括:
若发现对应的配置文件存在未满足所述配置规则的第一错误信息和/或未满足所述关联规则的第二错误信息,则将发现的第一错误信息和/或第二错误信息发送至监控设备并向所述监控设备发出告警信息。
7.一种配置文件的检测装置,其特征在于,包括:
获取模块,用于获取一个或多个配置文件;
匹配模块,用于为所述一个或多个配置文件中的每个配置文件分别匹配对应的检测组件;
检测模块,用于采用匹配到的检测组件检测对应的配置文件是否满足自身的配置规则和/或是否满足对应的配置文件与其他配置文件的关联规则进行检测。
8.根据权利要求7所述的装置,其特征在于,所述获取模块,用于将第一版本内容相对于第二版本内容发生变化的配置文件确定为所述一个或多个配置文件,其中,所述第一版本内容为当前最新时刻的配置文件内容,所述第二版本内容为距离所述当前最新时刻相邻的前一预设时刻的配置文件内容。
9.根据权利要求7所述的装置,其特征在于,所述匹配模块包括:
转换单元,用于将所述一个或多个配置文件中的每个配置文件转化为可识别的代码文件;
匹配单元,用于利用转化后的代码文件的文件名称为关键字索引从预先配置的检测组件集合中匹配对应的检测组件。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
建立模块,用于在所述预先配置的检测组件集合中为每个配置文件新建对应的检测组件或者在已经存在的检测组件中新建对应的检测功能,其中,在新建的检测组件的键值对属性中,索引属性为对应的代码文件的名称,值属性为入口函数,所述入口函数用于激活检测对应的配置文件是否满足所述配置规则和/或是否满足所述关联规则的函数集;
封装模块,用于根据所述配置规则在新建的检测组件中封装第一检测函数集来检测对应的配置文件是否满足所述配置规则和/或根据所述关联规则在新建的检测组件中封装第二检测函数集来检测对应的配置文件是否满足所述关联规则,其中,所述第一检测函数集中的每个检测函数分别对应一项检测功能,所述第二检测函数集中的每个检测函数分别对应一项检测功能;
启用模块,用于启用新建的检测组件或者新建的检测功能。
11.根据权利要求10所述的装置,其特征在于,所述检测模块包括:
处理单元,用于将所述转化后的代码文件加载至内存,并对匹配到的检测组件执行激活操作;
检测单元,用于采用激活后的检测组件中封装的第一检测函数集检测对应的配置文件是否满足所述配置规则和/或封装的第二检测函数集检测对应的配置文件是否满足所述关联规则。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
反馈模块,用于若发现对应的配置文件存在未满足所述配置规则的第一错误信息和/或未满足所述关联规则的第二错误信息,则将发现的第一错误信息和/或第二错误信息发送至监控设备并向所述监控设备发出告警信息。
CN201610808820.2A 2016-09-06 2016-09-06 配置文件的检测方法及装置 Active CN106326128B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610808820.2A CN106326128B (zh) 2016-09-06 2016-09-06 配置文件的检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610808820.2A CN106326128B (zh) 2016-09-06 2016-09-06 配置文件的检测方法及装置

Publications (2)

Publication Number Publication Date
CN106326128A true CN106326128A (zh) 2017-01-11
CN106326128B CN106326128B (zh) 2018-09-18

Family

ID=57786610

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610808820.2A Active CN106326128B (zh) 2016-09-06 2016-09-06 配置文件的检测方法及装置

Country Status (1)

Country Link
CN (1) CN106326128B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107357717A (zh) * 2017-06-07 2017-11-17 阿里巴巴集团控股有限公司 检测配置错误的方法、装置及设备
CN107368383A (zh) * 2017-06-29 2017-11-21 汽-大众汽车有限公司 一种汽车控制器配置文件校验方法及设备
CN108108182A (zh) * 2017-12-18 2018-06-01 北京像素软件科技股份有限公司 游戏版本制作方法及装置
CN108304201A (zh) * 2017-09-14 2018-07-20 腾讯科技(深圳)有限公司 对象更新方法、装置及设备
CN109542875A (zh) * 2018-11-20 2019-03-29 中国银行股份有限公司 一种配置文件的生成方法及装置
CN111984531A (zh) * 2020-07-31 2020-11-24 五八有限公司 一种代码耦合检测的方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020052937A1 (en) * 2000-11-02 2002-05-02 Microsoft Corporation Method and apparatus for verifying the contents of a global configuration file
CN102867274A (zh) * 2012-07-27 2013-01-09 江苏省电力公司电力科学研究院 智能变电站scl配置文件管理及图形化显示系统
CN103218398A (zh) * 2013-03-13 2013-07-24 江苏省电力公司电力科学研究院 智能变电站scl文件差异性比较方法
CN105550354A (zh) * 2015-12-29 2016-05-04 珠海金山网络游戏科技有限公司 一种配置文件管理的方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020052937A1 (en) * 2000-11-02 2002-05-02 Microsoft Corporation Method and apparatus for verifying the contents of a global configuration file
CN102867274A (zh) * 2012-07-27 2013-01-09 江苏省电力公司电力科学研究院 智能变电站scl配置文件管理及图形化显示系统
CN103218398A (zh) * 2013-03-13 2013-07-24 江苏省电力公司电力科学研究院 智能变电站scl文件差异性比较方法
CN105550354A (zh) * 2015-12-29 2016-05-04 珠海金山网络游戏科技有限公司 一种配置文件管理的方法和系统

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107357717A (zh) * 2017-06-07 2017-11-17 阿里巴巴集团控股有限公司 检测配置错误的方法、装置及设备
CN107357717B (zh) * 2017-06-07 2020-06-09 阿里巴巴集团控股有限公司 检测配置错误的方法、装置及设备
CN107368383A (zh) * 2017-06-29 2017-11-21 汽-大众汽车有限公司 一种汽车控制器配置文件校验方法及设备
CN107368383B (zh) * 2017-06-29 2020-11-24 一汽-大众汽车有限公司 一种汽车控制器配置文件校验方法及设备
CN108304201A (zh) * 2017-09-14 2018-07-20 腾讯科技(深圳)有限公司 对象更新方法、装置及设备
CN108304201B (zh) * 2017-09-14 2022-02-22 腾讯科技(深圳)有限公司 对象更新方法、装置及设备
CN108108182A (zh) * 2017-12-18 2018-06-01 北京像素软件科技股份有限公司 游戏版本制作方法及装置
CN109542875A (zh) * 2018-11-20 2019-03-29 中国银行股份有限公司 一种配置文件的生成方法及装置
CN109542875B (zh) * 2018-11-20 2021-09-24 中国银行股份有限公司 一种配置文件的生成方法及装置
CN111984531A (zh) * 2020-07-31 2020-11-24 五八有限公司 一种代码耦合检测的方法及装置

Also Published As

Publication number Publication date
CN106326128B (zh) 2018-09-18

Similar Documents

Publication Publication Date Title
CN106326128A (zh) 配置文件的检测方法及装置
US10296303B2 (en) Visual programming system
US10721129B2 (en) Automated change approval
Ke et al. Repairing programs with semantic code search (t)
KR101707369B1 (ko) 이벤트 저장소의 구축 방법 및 장치
CN106663003A (zh) 用于软件分析的系统和方法
CN112256321A (zh) 静态库打包方法、装置、计算机设备和存储介质
US11301221B2 (en) Rapid code compiling system
CN102486749A (zh) 数据驱动测试方法及系统
US10990507B2 (en) System and method for provisioning a virtual machine test environment
Sallou et al. Breaking the silence: the threats of using llms in software engineering
Dennis et al. Two-stage agent program verification
CN104572439A (zh) 回归警告方法和系统
CN104679510A (zh) 安全苛求系统的扩展uml类图模型的故障树生成方法
EP3062245A1 (en) Dynamic modular ontology
CN115878589A (zh) 结构化数据的版本管理方法、装置及相关设备
US20090031308A1 (en) Method And Apparatus For Executing Multiple Simulations on a Supercomputer
Denney et al. Composition of safety argument patterns
Huang et al. Ymir: A rapid data-centric development platform for vision applications
US20140129532A1 (en) Packaging, storing and distributing guidance packages
US20140129934A1 (en) Dynamic model-based management tooling
Almulla et al. Using search-based test generation to discover real faults in Guava
CN103605546A (zh) 一种软件版本的检测方法和装置
Kacimi et al. Creating a reference technology platform: Performing model-based safety analysis in a heterogeneous development environment
EP3605353B1 (en) Method and system for data transfer between databases

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20181127

Address after: Room 3040, 3rd floor, 2879 Longteng Avenue, Xuhui District, Shanghai, 2002

Patentee after: Shanghai NetEasy Brilliant Network Technology Co., Ltd.

Address before: 310000 7 storeys, Building No. 599, Changhe Street Network Business Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee before: NetEase (Hangzhou) Network Co., Ltd.

TR01 Transfer of patent right