CN115373676A - 校验方法、装置、存储介质及电子设备 - Google Patents
校验方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN115373676A CN115373676A CN202110553939.0A CN202110553939A CN115373676A CN 115373676 A CN115373676 A CN 115373676A CN 202110553939 A CN202110553939 A CN 202110553939A CN 115373676 A CN115373676 A CN 115373676A
- Authority
- CN
- China
- Prior art keywords
- rule
- check
- verification
- attribute field
- node information
- 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
- 238000012795 verification Methods 0.000 title claims abstract description 230
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000011218 segmentation Effects 0.000 claims abstract description 15
- 230000006870 function Effects 0.000 claims description 42
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 5
- 230000018109 developmental process Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/109—Time management, e.g. calendars, reminders, meetings or time accounting
- G06Q10/1093—Calendar-based scheduling for persons or groups
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/20—Education
- G06Q50/205—Education administration or guidance
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- Educational Administration (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Educational Technology (AREA)
- Software Systems (AREA)
- Operations Research (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开涉及一种校验方法、装置、存储介质及电子设备,包括:针对待校验对象属性信息进行属性字段分割得到待校验对象的属性字段;从校验规则链中获取与每一属性字段关联的目标校验规则链,校验规则链是根据校验对象的校验逻辑,从规则明细库中选择校验规则节点信息存放至空白校验规则链的校验规则节点中构建的;根据每一目标校验规则链的校验规则节点信息对待校验对象的每一属性字段进行逻辑校验;若确定每一属性字段完成逻辑校验,根据逻辑校验结果生成校验报告。这样,基于规则明细库中校验规则节点信息构建校验规则链,校验规则节点信息可以共用,避免了程序代码重复,减小存储资源占用和避免校验逻辑改变导致其他校验对象校验失败。
Description
技术领域
本公开涉及教学管理技术领域,具体地,涉及一种校验方法、装置、存储介质及电子设备。
背景技术
在设班排课的日常开发中,存在大量的校验逻辑,检验逻辑十分复杂,并且散落在程序代码中,难以直观地展示每一功能的哪些字段存在哪些具体的校验逻辑,因而,校验代码维护较为困难,并且,新的功能在开发过程中,需要花费大量时间,编写新的校验逻辑。
例如,在新增加一门课程时,需要对任课教师的其他课程时间安排进行校验,也需要对每一个学生的上课时间进行校验,这样,需要针对任课教师的其他课程时间编写校验逻辑,也需要针对每一个学生的上课时间编写校验逻辑,即使有相同的校验逻辑需要复制相同的程序代码,这样占用了较多的存储资源,而如果直接引用相同的校验逻辑,一旦原校验逻辑发生改变,导致引用该部分校验逻辑的校验对象校验失败。
发明内容
本公开的目的是提供一种校验方法、装置、存储介质及电子设备,以解决校验逻辑代码重复,占用存储资源较多及校验逻辑改变可能导致校验失败的问题。
为了实现上述目的,本公开第一方面,提供一种校验方法,所述方法包括:
针对待校验对象的属性信息进行属性字段分割,得到所述待校验对象的属性字段;
从校验规则链中获取与每一所述属性字段关联的目标校验规则链,所述校验规则链是根据校验对象的校验逻辑,从规则明细库中选择校验规则节点信息存放至空白校验规则链的校验规则节点中构建的;
根据每一所述目标校验规则链的校验规则节点信息,对所述待校验对象的每一属性字段进行逻辑校验;
在确定每一所述属性字段完成逻辑校验的情况下,根据每一所述属性字段的逻辑校验结果生成所述待校验对象的校验报告。
可选地,所述根据校验对象的校验逻辑,从规则明细库中选择校验规则节点信息存放至空白校验规则链的校验规则节点中构建所述校验规则链,包括:
根据所述校验对象的校验逻辑中校验规则条数,选择具有与所述条数对应的校验规则节点数量的空白校验规则链;并,
根据所述校验对象的属性信息,从所述规则明细库中选择校验规则节点信息存放至所述空白校验规则链的每一所述校验规则节点中,并将存放所述校验规则节点信息完成后的校验规则链与相应的校验对象的属性字段关联。
可选地,在所述根据所述校验对象的校验逻辑中校验规则条数,选择具有所述条数对应校验规则节点数量的空白校验规则链之前,包括:
根据所述校验对象的属性字段的功能进行分类,并为每一类功能构建规则明细库;
对每一类功能对应的所述规则明细库配置对应该类功能的校验规则节点信息;
对每一所述规则明细库中的所述校验规则节点信息添加规则编码,所述规则编码用于表征所述校验规则节点信息的执行逻辑顺序。
可选地,所述根据每一所述目标校验规则链的校验规则节点信息,对所述待校验对象的每一属性字段进行逻辑校验,包括:
根据每一所述目标校验规则链的校验规则节点中的规则编码,获取相应的校验规则节点信息;并,
按照每一所述校验规则节点信息对应的规则编码,确定校验所述属性字段的目标执行顺序;
基于所述目标执行顺序,根据所述目标校验规则链的校验规则节点信息对所述待校验对象的每一属性字段进行校验。
可选地,所述从校验规则链中获取每一所述属性字段对应的目标校验规则链,包括:
对每一所述属性字段进行校验规则查询,确定所述属性字段是否配置有对应的校验规则;
在所述属性字段配置有对应的所述校验规则的情况下,根据所述待校验对象的所述属性信息的功能,从基于该功能对应的规则明细库中选取校验规则节点信息构建的校验规则链中获取该属性字段对应的目标校验规则链。
可选地,所述校验规则节点信息包括对所述校验规则节点信息进行的文字描述。
可选地,在所述根据每一所述目标校验规则链的校验规则节点信息,对所述待校验对象的每一属性字段进行逻辑校验之前,包括:
确定每一所述属性字段是否存在前提校验规则链;
在该属性字段存在所述前提校验规则链的情况下,根据每一所述属性字段对应的前提校验规则链的校验规则节点信息对该属性字段进行前提条件校验;
确定该属性字段通过所述前提条件校验;
所述方法还包括:
在该属性字段未通过所述前提条件校验的情况下,在所述校验报告中展示该属性字段的前提条件校验未通过的结果。
本公开第二方面,提供一种校验装置,所述装置包括:
分割模块,被配置为用于针对待校验对象的属性信息进行属性字段分割,得到所述待校验对象的属性字段;
获取模块,被配置为用于从校验规则链中获取与每一所述属性字段关联的目标校验规则链,所述校验规则链是根据校验对象的校验逻辑,从规则明细库中选择校验规则节点信息存放至空白校验规则链的校验规则节点中构建的;
校验模块,被配置为用于根据每一所述目标校验规则链的校验规则节点信息,对所述待校验对象的每一属性字段进行逻辑校验;
生成模块,被配置为用于在确定每一所述属性字段完成逻辑校验的情况下,根据每一所述属性字段的逻辑校验结果生成所述待校验对象的校验报告。
可选地,所述校验规则链具体是通过如下方式构建的:
根据所述校验对象的校验逻辑中校验规则条数,选择具有与所述条数对应的校验规则节点数量的空白校验规则链;并,
根据所述校验对象的属性信息,从所述规则明细库中选择校验规则节点信息存放至所述空白校验规则链的每一所述校验规则节点中,并将存放所述校验规则节点信息完成后的校验规则链与相应的校验对象的属性字段关联。
可选地,所述校验规则链的构建还包括:
根据所述校验对象的属性字段的功能进行分类,并为每一类功能构建规则明细库;
对每一类功能对应的所述规则明细库配置对应该类功能的校验规则节点信息;
对每一所述规则明细库中的所述校验规则节点信息添加规则编码,所述规则编码用于表征所述校验规则节点信息的执行逻辑顺序。
可选地,所述校验模块,被配置为用于:
根据每一所述目标校验规则链的校验规则节点中的规则编码,获取相应的校验规则节点信息;并,
按照每一所述校验规则节点信息对应的规则编码,确定校验所述属性字段的目标执行顺序;
基于所述目标执行顺序,根据所述目标校验规则链的校验规则节点信息对所述待校验对象的每一属性字段进行校验。
可选地,所述获取模块,被配置为用于:
对每一所述属性字段进行校验规则查询,确定所述属性字段是否配置有对应的校验规则;
在所述属性字段配置有对应的所述校验规则的情况下,根据所述待校验对象的所述属性信息的功能,从基于该功能对应的规则明细库中选取校验规则节点信息构建的校验规则链中获取该属性字段对应的目标校验规则链。
可选地,所述校验规则节点信息包括对所述校验规则节点信息进行的文字描述。
可选地,所述校验模块,被配置为在所述根据每一所述目标校验规则链的校验规则节点信息,对所述待校验对象的每一属性字段进行逻辑校验之前,确定每一所述属性字段是否存在前提校验规则链;并
在该属性字段存在所述前提校验规则链的情况下,根据每一所述属性字段对应的前提校验规则链的校验规则节点信息对该属性字段进行前提条件校验;并
确定该属性字段通过所述前提条件校验;
所述生成模块还被配置为在该属性字段未通过所述前提条件校验的情况下,在所述校验报告中展示该属性字段的前提条件校验未通过的结果。
本公开第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面任一项所述方法的步骤。
本公开第四方面,提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现第一方面任一项所述方法的步骤。
通过上述技术方案,至少可以达到以下技术效果:
通过对待校验对象的属性信息进行属性字段分割,得到待校验对象的属性字段;从校验规则链中获取与每一属性字段关联的目标校验规则链,校验规则链是根据校验对象的校验逻辑,从规则明细库中选择校验规则节点信息存放至空白校验规则链的校验规则节点中构建的;根据每一目标校验规则链的校验规则节点信息,对待校验对象的每一属性字段进行逻辑校验;在确定每一属性字段完成逻辑校验的情况下,根据每一属性字段的逻辑校验结果生成待校验对象的校验报告。这样,基于规则明细库中的校验规则节点信息构建校验规则链,校验规则节点信息可以共用,避免了校验规则节点信息的程序代码重复,减小了村塾资源占用和开发成本。并且校验规则节点中的校验规则节点信息改变,其他校验规则链中的校验规则节点信息不会变化,其他校验对象的检验不会受到影响。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1根据一示例性实施例示出的一种校验方法的流程图。
图2是根据一示例性实施例示出的一种实现图1中步骤S12的流程图。
图3是根据一示例性实施例示出的另一种实现图1中步骤S12的流程图。
图4是根据一示例性实施例示出的一种实现图1中步骤S13的流程图。
图5是根据一示例性实施例示出的另一种实现图1中步骤S12的流程图。
图6是根据一示例性实施例示出的另一种校验方法的流程图。
图7是根据一示例性实施例示出的一种规则明细库的示意图。
图8是根据一示例性实施例示出的一种校验方法的流程图。
图9是根据一示例性实施例示出的一种校验方法的流程图。
图10是根据一示例性实施例示出的一种校验装置的框图。
图11是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
需要说明的是,在本公开中,说明书和权利要求书以及附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必理解为描述特定的顺序或先后次序。同理,术语“S121”、“S123”等是用于区别方法步骤,而不必理解为描述特定的执行顺序。
图1根据一示例性实施例示出的一种校验方法的流程图,如图1所示,所述方法包括以下步骤。
在步骤S11中,针对待校验对象的属性信息进行属性字段分割,得到待校验对象的属性字段。
在步骤S12中,从校验规则链中获取与每一属性字段关联的目标校验规则链,校验规则链是根据校验对象的校验逻辑,从规则明细库中选择校验规则节点信息存放至空白校验规则链的校验规则节点中构建的。
在步骤S13中,根据每一目标校验规则链的校验规则节点信息,对待校验对象的每一属性字段进行逻辑校验。
在步骤S14中,在确定每一属性字段完成逻辑校验的情况下,根据每一属性字段的逻辑校验结果生成待校验对象的校验报告。
在一种实施方式中,根据待校验对象的通过反射取出的方式,确定待校验对象的属性信息。例如,在待校验对象为新设课程的情况下,根据新设课程的课程信息,通过反射取出课程信息对应的上课时间、任课老师、上课教室等一者或者多者属性信息。示例地,反射取出新设课程的属性信息为:上课时间为每周三下午三点至五点,任课老师为张三,上课教室为多媒体教室A。并对属性信息进行属性字段分割,得到第一属性字段:上课时间为每周三下午三点至五点,第二属性字段:任课老师为张三;第三属性字段:上课教室为多媒体教室A。
进一步地,从校验规则链中选择第一、第二以及第三属性字段对应的目标校验规则链。并根据第一属性字段对应目标校验规则链的校验规则节点信息对新设课程的上课时间进行逻辑校验,根据第二属性字段对应目标校验规则链的校验规则节点信息对新设课程的任课老师进行逻辑校验,以及根据第三属性字段对应目标校验规则链的校验规则节点信息对新设课程的上课教室进行逻辑校验。
可选地,在生成的校验报告中,可以展示每一属性字段是否校验成功,并可以通过标注颜色标注校验失败的属性字段。在每一属性字段均校验成功的情况下,可以将校验后的对象进行下一处理。
上述技术方案,基于规则明细库中的校验规则节点信息构建校验规则链,校验规则节点信息可以共用,避免了校验规则节点信息的程序代码重复,减小了村塾资源占用和开发成本。并且校验规则节点中的校验规则节点信息改变,其他校验规则链中的校验规则节点信息不会变化,其他校验对象的检验不会受到影响。
在上述实施例的基础上,图2是根据一示例性实施例示出的一种实现图1中步骤S12的流程图,在步骤S12中,所述根据校验对象的校验逻辑,从规则明细库中选择校验规则节点信息存放至空白校验规则链的校验规则节点中构建所述校验规则链,包括以下步骤。
在步骤S121中,根据校验对象的校验逻辑中校验规则条数,选择具有与条数对应的校验规则节点数量的空白校验规则链。
在步骤S122中,根据校验对象的属性信息,从规则明细库中选择校验规则节点信息存放至空白校验规则链的每一校验规则节点中,并将存放校验规则节点信息完成后的校验规则链与相应的校验对象的属性字段关联。
具体地,确定每一属性字段的校验规则条数,进而确定校验对象的校验逻辑中校验规则条数。例如,在校验对象为新设班级的情况下,若新设班级的属性信息包括开班人数,任课老师人数和开学时间。确定属性字段开班人数的校验规则条数为2条,任课老师人数的校验规则条数为3条,开学时间的校验规则条数为5条,则确定新设班级的校验规则条数为10条。选择具有10个校验规则节点的空白校验规则链。
进一步地,在规则明细库中的校验规则节点信息不冲突的情况下,从规则明细库选择每一属性字段对应的校验规则节点信息存放至空白校验规则链的不同校验规则节点中,例如,规则明细库中针对开班人数的校验规则节点信息包括:开班人数大于20人、开班人数大于25人、开班人数大于30人、开班人数小于30人以及开班人数小于40人。由于开班人数的校验规则条数为2条,所以从规则明细库中选择开班人数大于20人存放至空白校验规则链的第一校验规则节点以及从规则明细库中选择开班人数小于30人存放至空白校验规则链的第二校验规则节点,其中,第一校验规则节点和第二校验规则节点为不同校验规则节点;或者,从规则明细库中选择开班人数大于25人存放至空白校验规则链的第一校验规则节点以及从规则明细库中选择开班人数小于30人存放至空白校验规则链的第二校验规则节点。其他组合不再赘述。
同理,从规则明细库中选择任课老师人数和开学时间对应的校验规则节点信息,存放至空白校验规则链的剩余校验规则节点中,构成校验规则链。
采用上述技术方案,规则明细库中的校验规则节点信息为不重复的程序代码,并且检验逻辑改变相应检验规则链中的校验规则节点信息改变,不会导致其他校验对象的校验失败。若需要新增校验逻辑直接新增相应的校验规则链,可以直接选择空白校验规则链和校验规则节点信息构成校验规则链,增加了配置校验逻辑的灵活性。
在上述实施例的基础上,图3是根据一示例性实施例示出的另一种实现图1中步骤S12的流程图,在步骤S12中,在所述根据所述校验对象的校验逻辑中校验规则条数,选择具有所述条数对应校验规则节点数量的空白校验规则链之前,包括以下步骤。
在步骤S123中,根据校验对象的属性字段的功能进行分类,并为每一类功能构建规则明细库。
在步骤S124中,对每一类功能对应的规则明细库配置对应该类功能的校验规则节点信息。
在步骤S125中,对每一规则明细库中的校验规则节点信息添加规则编码,规则编码用于表征校验规则节点信息的执行逻辑顺序。
具体地,在规则明细层根据每一属性字段的功能进行分类,并对每一功能的规则明细库添加分类编号,例如,针对新设班级中的班级人数这一属性字段,构建班容规则明细库,并针对班容规则明细库添加分类编号,以及在班容规则明细库包括班容这一属性字段的所有校验规则节点信息。
可选地,若针对待校验对象的校验逻辑,规则明细库中有对应的校验规则节点信息,则选择该校验规则节点信息构建校验规则链;若针对待校验对象的校验逻辑,规则明细库中没有对应的校验规则节点信息,可以直接在该规则明细库中加入对应的校验规则节点信息,进而根据加入的校验规则节点信息构建校验规则链。
可选地,在属性规则层针对构建好的校验规则链,通过关联例如学校、部门等维度信息,可以将不同学校、部门与校验规则链关联起来。在设班排课时,针对待校验对象可以根据学校、部门等从校验规则链中查询到目标校验规则链。
沿用上述实施例进行说明,若针对待校验对象的班容校验逻辑,班容规则明细库中有对应的校验规则节点信息,则选择该校验规则节点信息构建校验规则链;若针对待校验对象的班容校验逻辑,班容规则明细库中没有对应的校验规则节点信息,可以直接在班容规则明细库中加入对应的校验规则节点信息,进而根据加入的校验规则节点信息构建校验规则链。
采用上述技术方案,可以减少检验逻辑的程序代码,并且校验规则链可以共用每一功能的规则明细库中的校验规则节点信息,若新增或者改变校验规则链,新增或者重新选择校验规则链中的校验规则节点信息,其他校验规则链中的校验规则节点信息不会变化,其他校验对象的检验不会受到影响。
在上述实施例的基础上,图4是根据一示例性实施例示出的一种实现图1中步骤S13的流程图,在步骤S13中,所述根据每一所述目标校验规则链的校验规则节点信息,对所述待校验对象的每一属性字段进行逻辑校验,包括以下步骤。
在步骤S131中,根据每一目标校验规则链的校验规则节点中的规则编码,获取相应的校验规则节点信息。
在步骤S132中,按照每一校验规则节点信息对应的规则编码,确定校验属性字段的目标执行顺序。
在步骤S133中,基于目标执行顺序,根据目标校验规则链的校验规则节点信息对待校验对象的每一属性字段进行校验。
具体地,在校验规则链的校验规则节点存放规则编码,在确定该校验规则链为目标校验规则链的情况下,根据该校验规则链中每一规则编码确定校验待校验对象的属性字段功能的目标执行顺序、以及每一功能的属性字段中校验规则节点信息的目标执行顺序。
示例地,若新设班级的属性信息包括开班人数,任课老师人数和开学时间,则确定属性字段开班人数对应的第一目标校验规则链、属性字段任课老师人数对应的第二目标校验规则链以及属性字段开学时间对应的第三目标校验规则链,进一步地,根据规则编码确定在逻辑校验时第一目标校验规则链、第二目标校验规则链、第三目标校验规则链的目标执行顺序。进一步地,根据每一目标校验规则链中的规则编码获取相应的校验规则节点信息,并在目标校验规则链中存在多个校验规则节点信息的情况下,确定多个校验规则节点信息在逻辑校验时的目标执行顺序。
进一步地,基于目标校验规则链的目标执行顺序以及对每一目标校验规则链中的校验规则节点信息的目标执行顺序,对待校验对象的每一属性字段进行校验。
采用上述技术方案,基于规则编码可以减小校验规则链中的数据储存量,并且基于规则编码可以确定逻辑校验顺序,提高了校验的便捷性。
在上述实施例的基础上,图5是根据一示例性实施例示出的另一种实现图1中步骤S12的流程图,在步骤S12中,所述从校验规则链中获取每一所述属性字段对应的目标校验规则链,包括以下步骤。
在步骤S1201中,对每一属性字段进行校验规则查询,确定属性字段是否配置有对应的校验规则。
在步骤S1202中,在属性字段配置有对应的校验规则的情况下,根据待校验对象的属性信息的功能,从基于该功能对应的规则明细库中选取校验规则节点信息构建的校验规则链中获取该属性字段对应的目标校验规则链。
可选地,在属性字段未配置有对应的校验规则的情况下,在校验报告中展示该属性字段未配置有对应的校验规则的结果。
示例地,若新设班级的属性信息包括开班人数,任课老师人数和开学时间,对开班人数、任课老师人数和开学时间进行校验规则查询,确定相应地是否配置校验规则,例如,若确定开班人数未配置校验规则,任课老师人数和开学时间配置有对应的校验规则,则在校验报告中展示开班人数未配置有对应的校验规则的结果。并从基于任课老师人数对应的规则明细库中选取校验规则节点信息构建的校验规则链中获取任课老师人数对应的目标校验规则链,以及从基于开学时间对应的规则明细库中选取校验规则节点信息构建的校验规则链中获取开学时间对应的目标校验规则链。
可选地,所述校验规则节点信息包括对所述校验规则节点信息进行的文字描述。
所述开学时间校验规则节点信息包括春上春下、春季下秋季下、春季上秋季上等文字描述。这样,校验规则节点信息包括文字描述,了解方便,并且由于校验规则节点信息是由最细粒度明细逐层组装起来的,可以在各个维度统计、展示和管理,可视化程度较高,提高了校验的便捷性。
在上述实施例的基础上,图6是根据一示例性实施例示出的另一种校验方法的流程图,在步骤S13根据每一所述目标校验规则链的校验规则节点信息,对所述待校验对象的每一属性字段进行逻辑校验之前,包括以下步骤。
在步骤S61中,确定每一属性字段是否存在前提校验规则链。
在步骤S62中,在该属性字段存在前提校验规则链的情况下,根据每一属性字段对应的前提校验规则链的校验规则节点信息对该属性字段进行前提条件校验。
在步骤S63中,确定该属性字段通过前提条件校验。
所述方法还包括以下步骤:
在步骤S64中,在该属性字段未通过前提条件校验的情况下,在校验报告中展示该属性字段的前提条件校验未通过的结果。
可选地,在该属性字段不存在前提校验规则链的情况下,根据该目标校验规则链的校验规则节点信息,对待校验对象的该属性字段进行逻辑校验。
具体地,前提校验规则链是从规则明细库中选择校验规则节点信息构建的。前提校验规则链的构建方式同规则校验链,此处不再赘述。
示例地,若新设班级的属性信息包括开班人数,任课老师人数和开学时间,确定属性字段开班人数是否存在前提校验规则链、属性字段任课老师人数是否存在前提校验规则链以及属性字段开学时间是否存在前提校验规则链。
进一步地,若开班人数存在前提校验规则链、任课老师人数以及开学时间不存在前提校验规则链,则根据任课老师人数的目标校验规则链的校验规则节点信息对任课老师人数进行逻辑校验,以及根据开学时间的目标校验规则链的校验规则节点信息对开学时间进行逻辑校验。
进一步地,确定开班人数的前提校验规则链,并根据前提校验规则链的校验规则节点信息对开班人数进行前提条件校验。并在确定开班人数通过前提条件校验的情况下,根据开班人数的目标校验规则链的校验规则节点信息对开班人数进行逻辑校验。
在上述实施例的基础上,参见图7所示出的一种规则明细库的示意图。在规则明细层,基于最细粒度,将校验规则节点信息进行配置,并且根据校验对象的属性字段的功能对规则明细库进行分类,得到例如第一、第二、第三规则明细库,其中,第一规则明细库包括第一、第二、第三校验规则节点信息,可以理解的是,第一、第二、第三校验规则节点信息是针对同一功能属性字段的不同逻辑校验。第二规则明细库包括第四、第五校验规则节点信息,第三规则明细库包括第六校验规则节点信息。
进一步地,在规则构建层,基于校验对象的校验逻辑,选择具有不同校验规则节点数量的空白校验规则链,并选择相应的校验规则节点信息存放如空白校验规则链构建校验规则链。例如,构建第一、第二和第三校验规则链。其中,第一校验规则链可以包括第一、第二、第三校验规则节点信息,第二校验规则链可以包括第一、第五验规则节点信息,第三校验规则链可以包括第四、第六验规则节点信息。
在一种实施方式中,第四验规则节点信息可以包括前提校验规则链,其中,前提校验规则链可以包括第二、第三校验规则节点信息。
进一步地,在属性规则层,针对不同的校验规则链,可以添加关联的维度信息,例如,第一校验规则链可以与学校甲部门X进行关联,并进行存储;第二校验规则链也可以与学校甲部门X进行关联,并进行存储;第二校验规则链也可以与学校乙部门X进行关联,并进行存储。进而在获取到待校验对象的情况下,可以根据待校验对象的属性信息,从属性规则层或者规则构建层查询目标校验规则链。进而参见图8和图9对校验对象的每一属性字段进行逻辑校验。
图8是根据一示例性实施例示出的一种校验方法的流程图。参见图8,获取待校验对象的属性参数,并取出属性参数中的待校验对象。针对待校验对象,使用反射取出的方式,得到待校验对象的属性字段。
进一步地,轮询待校验对象的所有属性字段,并根据属性字段以及待校验对象的学校、部门、功能等进行查询,判断属性字段是否配置有校验规则。例如,通过查询check_property_rule表,判断属性字段是否配置有校验规则。在属性字段未配置有检验规则的情况下,确定该属性字段无需进行逻辑校验。即表示针对当前属性字段,在当前学校、部门、功能不存在校验逻辑。
进一步地,在属性字段配置有检验规则的情况下,根据属性字段确定相应的目标校验规则链。并根据目标校验规则链对属性字段进行逻辑校验。在当前属性字段校验完成后,判断所有属性字段逻辑校验轮询是否完成。在存在属性字段逻辑校验轮询未完成的情况下,针对未进行逻辑校验的属性字段,根据属性字段以及待校验对象的学校、部门、功能进行查询校验规则。在所有属性字段逻辑校验轮询完成的情况下,汇总所有属性字段的校验结果,生成校验报告。
图9是根据一示例性实施例示出的一种校验方法的流程图。具体地,获取目标校验规则链的校验信息,包括rule_code、property_name和链文字描述。并根据rule_code查询每一校验规则节点的id、规则编码和确定是否存在前提校验规则链。进而根据校验规则节点的id和规则编码轮询校验规则节点的校验规则节点信息。
进一步地,判断当前属性字段是否配置有前提校验规则链,例如通过check_rule表的is_condition字段。在当前属性字段配置前提校验规则链的情况下,递归调用前提校验规则链,例如,调用前提校验规则链的check_rule表,并传入check_rule表的condition_rule_code、condition_property_name和condition_property_name_description。进而判断当前属性字段前提校验是否通过,在当前属性字段前提校验通过的情况下,以及在当前属性字段未配置前提校验规则链的情况下,根据目标校验规则链的校验规则节点信息对属性字段进行校验。
进一步地,在当前属性字段前提校验未通过的情况下,或者在通过目标校验规则链对当前属性字段完成逻辑校验的情况下,根据规则编码判断最后一个校验规则节点是否完成校验,并在最后一个校验规则节点完成校验的情况下,返回校验结果。在最后一个校验规则节点未完成校验的情况下,针对未完成逻辑校验的情况下,根据校验规则节点的id和规则编码轮询校验规则节点的校验规则节点信息。
基于相同的发明构思,本公开还提供一种校验装置,用于执行上述实施例提供的校验方法的步骤,该装置可以以软件、硬件或者两者相结合的方式实现校验方法。图10是根据一示例性实施例示出的一种校验装置100的框图,如图10所示,所述装置100包括:分割模块110、获取模块120、校验模块130和生成模块140。
其中,分割模块110,被配置为用于针对待校验对象的属性信息进行属性字段分割,得到所述待校验对象的属性字段;
获取模块120,被配置为用于从校验规则链中获取与每一所述属性字段关联的目标校验规则链,所述校验规则链是根据校验对象的校验逻辑,从规则明细库中选择校验规则节点信息存放至空白校验规则链的校验规则节点中构建的;
校验模块130,被配置为用于根据每一所述目标校验规则链的校验规则节点信息,对所述待校验对象的每一属性字段进行逻辑校验;
生成模块140,被配置为用于在确定每一所述属性字段完成逻辑校验的情况下,根据每一所述属性字段的逻辑校验结果生成所述待校验对象的校验报告。
上述装置基于规则明细库中的校验规则节点信息构建校验规则链,校验规则节点信息可以共用,避免了校验规则节点信息的程序代码重复,减小了村塾资源占用和开发成本。并且校验规则节点中的校验规则节点信息改变,其他校验规则链中的校验规则节点信息不会变化,其他校验对象的检验不会受到影响。
可选地,所述校验规则链具体是通过如下方式构建的:
根据所述校验对象的校验逻辑中校验规则条数,选择具有与所述条数对应的校验规则节点数量的空白校验规则链;并,
根据所述校验对象的属性信息,从所述规则明细库中选择校验规则节点信息存放至所述空白校验规则链的每一所述校验规则节点中,并将存放所述校验规则节点信息完成后的校验规则链与相应的校验对象的属性字段关联。
可选地,所述校验规则链的构建还包括:
根据所述校验对象的属性字段的功能进行分类,并为每一类功能构建规则明细库;
对每一类功能对应的所述规则明细库配置对应该类功能的校验规则节点信息;
对每一所述规则明细库中的所述校验规则节点信息添加规则编码,所述规则编码用于表征所述校验规则节点信息的执行逻辑顺序。
可选地,所述校验模块130,被配置为用于:
根据每一所述目标校验规则链的校验规则节点中的规则编码,获取相应的校验规则节点信息;并,
按照每一所述校验规则节点信息对应的规则编码,确定校验所述属性字段的目标执行顺序;
基于所述目标执行顺序,根据所述目标校验规则链的校验规则节点信息对所述待校验对象的每一属性字段进行校验。
可选地,所述获取模块120,被配置为用于:
对每一所述属性字段进行校验规则查询,确定所述属性字段是否配置有对应的校验规则;
在所述属性字段配置有对应的所述校验规则的情况下,根据所述待校验对象的所述属性信息的功能,从基于该功能对应的规则明细库中选取校验规则节点信息构建的校验规则链中获取该属性字段对应的目标校验规则链。
可选地,所述校验规则节点信息包括对所述校验规则节点信息进行的文字描述。
可选地,所述校验模块130,被配置为在所述根据每一所述目标校验规则链的校验规则节点信息,对所述待校验对象的每一属性字段进行逻辑校验之前,确定每一所述属性字段是否存在前提校验规则链;并,
在该属性字段存在所述前提校验规则链的情况下,根据每一所述属性字段对应的前提校验规则链的校验规则节点信息对该属性字段进行前提条件校验;并,
确定该属性字段通过所述前提条件校验;
所述生成模块140还被配置为在该属性字段未通过所述前提条件校验的情况下,在所述校验报告中展示该属性字段的前提条件校验未通过的结果。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
此外值得说明的是,为描述的方便和简洁,说明书中所描述的实施例均属于优选实施例,其所涉及的部分并不一定是本发明所必须的,例如,校验模块130和生成模块140,在具体实施时可以是相互独立的装置也可以是同一个装置,本公开对此不作限定。
本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现校验方法中任一项所述方法的步骤。
本公开实施例还提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现校验方法中任一项所述方法的步骤。
图11是根据一示例性实施例示出的一种电子设备700的框图。该电子设备700可以被配置为一教学管理终端设备,以执行上述校验方法,实现对教学管理中的设班、排课等校验。如图11所示,该电子设备700可以包括:处理器701,存储器702。该电子设备700还可以包括多媒体组件703,输入/输出(I/O)接口704,以及通信组件705中的一者或多者。
其中,处理器701用于控制该电子设备700的整体操作,以完成上述的校验方法中的全部或部分步骤。存储器702用于存储各种类型的数据以支持在该电子设备700的操作,这些数据例如可以包括用于在该电子设备700上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如学校数据、课程数据、班级数据、教师以及教室数据等等。该存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件703可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器702或通过通信组件705发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口704为处理器701和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件705用于该电子设备700与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙等等。因此相应的该通信组件705可以包括:Wi-Fi模块,蓝牙模块等等。
在一示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的校验方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的校验方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器702,上述程序指令可由电子设备700的处理器701执行以完成上述的校验方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (10)
1.一种校验方法,其特征在于,所述方法包括:
针对待校验对象的属性信息进行属性字段分割,得到所述待校验对象的属性字段;
从校验规则链中获取与每一所述属性字段关联的目标校验规则链,所述校验规则链是根据校验对象的校验逻辑,从规则明细库中选择校验规则节点信息存放至空白校验规则链的校验规则节点中构建的;
根据每一所述目标校验规则链的校验规则节点信息,对所述待校验对象的每一属性字段进行逻辑校验;
在确定每一所述属性字段完成逻辑校验的情况下,根据每一所述属性字段的逻辑校验结果生成所述待校验对象的校验报告。
2.根据权利要求1所述的方法,其特征在于,所述根据校验对象的校验逻辑,从规则明细库中选择校验规则节点信息存放至空白校验规则链的校验规则节点中构建所述校验规则链,包括:
根据所述校验对象的校验逻辑中校验规则条数,选择具有与所述条数对应的校验规则节点数量的空白校验规则链;并,
根据所述校验对象的属性信息,从所述规则明细库中选择校验规则节点信息存放至所述空白校验规则链的每一所述校验规则节点中,并将存放所述校验规则节点信息完成后的校验规则链与相应的校验对象的属性字段关联。
3.根据权利要求2所述的方法,其特征在于,在所述根据所述校验对象的校验逻辑中校验规则条数,选择具有所述条数对应校验规则节点数量的空白校验规则链之前,包括:
根据所述校验对象的属性字段的功能进行分类,并为每一类功能构建规则明细库;
对每一类功能对应的所述规则明细库配置对应该类功能的校验规则节点信息;
对每一所述规则明细库中的所述校验规则节点信息添加规则编码,所述规则编码用于表征所述校验规则节点信息的执行逻辑顺序。
4.根据权利要求3所述的方法,其特征在于,所述根据每一所述目标校验规则链的校验规则节点信息,对所述待校验对象的每一属性字段进行逻辑校验,包括:
根据每一所述目标校验规则链的校验规则节点中的规则编码,获取相应的校验规则节点信息;并,
按照每一所述校验规则节点信息对应的规则编码,确定校验所述属性字段的目标执行顺序;
基于所述目标执行顺序,根据所述目标校验规则链的校验规则节点信息对所述待校验对象的每一属性字段进行校验。
5.根据权利要求3所述的方法,其特征在于,所述从校验规则链中获取每一所述属性字段对应的目标校验规则链,包括:
对每一所述属性字段进行校验规则查询,确定所述属性字段是否配置有对应的校验规则;
在所述属性字段配置有对应的所述校验规则的情况下,根据所述待校验对象的所述属性信息的功能,从基于该功能对应的规则明细库中选取校验规则节点信息构建的校验规则链中获取该属性字段对应的目标校验规则链。
6.根据权利要求1所述的方法,其特征在于,所述校验规则节点信息包括对所述校验规则节点信息进行的文字描述。
7.根据权利要求1-6任一项所述的方法,其特征在于,在所述根据每一所述目标校验规则链的校验规则节点信息,对所述待校验对象的每一属性字段进行逻辑校验之前,包括:
确定每一所述属性字段是否存在前提校验规则链;
在该属性字段存在所述前提校验规则链的情况下,根据每一所述属性字段对应的前提校验规则链的校验规则节点信息对该属性字段进行前提条件校验;
确定该属性字段通过所述前提条件校验;
所述方法还包括:
在该属性字段未通过所述前提条件校验的情况下,在所述校验报告中展示该属性字段的前提条件校验未通过的结果。
8.一种校验装置,其特征在于,所述装置包括:
分割模块,被配置为用于针对待校验对象的属性信息进行属性字段分割,得到所述待校验对象的属性字段;
获取模块,被配置为用于从校验规则链中获取与每一所述属性字段关联的目标校验规则链,所述校验规则链是根据校验对象的校验逻辑,从规则明细库中选择校验规则节点信息存放至空白校验规则链的校验规则节点中构建的;
校验模块,被配置为用于根据每一所述目标校验规则链的校验规则节点信息,对所述待校验对象的每一属性字段进行逻辑校验;
生成模块,被配置为用于在确定每一所述属性字段完成逻辑校验的情况下,根据每一所述属性字段的逻辑校验结果生成所述待校验对象的校验报告。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110553939.0A CN115373676A (zh) | 2021-05-20 | 2021-05-20 | 校验方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110553939.0A CN115373676A (zh) | 2021-05-20 | 2021-05-20 | 校验方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115373676A true CN115373676A (zh) | 2022-11-22 |
Family
ID=84058248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110553939.0A Pending CN115373676A (zh) | 2021-05-20 | 2021-05-20 | 校验方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115373676A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117369866A (zh) * | 2023-09-22 | 2024-01-09 | 中科驭数(北京)科技有限公司 | 参数校验方法、装置、设备及存储介质 |
-
2021
- 2021-05-20 CN CN202110553939.0A patent/CN115373676A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117369866A (zh) * | 2023-09-22 | 2024-01-09 | 中科驭数(北京)科技有限公司 | 参数校验方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9740599B2 (en) | Directed random sequence generation method and apparatus for testing software | |
CN112711526B (zh) | Ui测试方法、装置、设备及存储介质 | |
CN103631720A (zh) | 测试用例的生成方法和装置 | |
US7895575B2 (en) | Apparatus and method for generating test driver | |
CN111026670B (zh) | 测试用例的生成方法、测试用例的生成装置及存储介质 | |
CN110990274B (zh) | 一种生成测试案例的数据处理方法、装置及系统 | |
Shugurov et al. | Generation of a set of event logs with noise | |
CN103984626A (zh) | 一种生成测试用例脚本的方法及装置 | |
CN109408385B (zh) | 一种基于缺陷规则和分类反馈的缺陷发现方法 | |
Janicki et al. | Obstacles and opportunities in deploying model‐based GUI testing of mobile software: a survey | |
CN111309624B (zh) | 测试方法、装置、设备及存储介质 | |
CN115373676A (zh) | 校验方法、装置、存储介质及电子设备 | |
CN108733557A (zh) | 一种测试点生成方法及装置 | |
CN114968817A (zh) | 代码改动影响范围的评估方法、装置、设备及存储介质 | |
US12008442B2 (en) | Analysing machine-learned classifier models | |
CN117290236A (zh) | 软件测试方法、装置、计算机设备及计算机可读存储介质 | |
US6907550B2 (en) | Stochastic simulation of computer activity based on user categories | |
CN116860608A (zh) | 一种接口测试方法、装置、计算设备及存储介质 | |
CN111258624B (zh) | 开源软件开发中Issue解决时间的预测方法及系统 | |
KR20100056337A (ko) | 메뉴 테스트용 스크립트 생성 장치, 이를 포함하는 메뉴 테스트 자동화 시스템, 및 그 방법 | |
Rahiman et al. | CopyPoppy–A Source Code Plagiarism Detector | |
CN108777648B (zh) | 一种网络设备测试方法及装置 | |
CN112860585A (zh) | 一种测试脚本断言生成方法及装置 | |
Martou et al. | Test scenario generation for context-oriented programs | |
Sommerville | Software testing |
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 |