一种访问控制方法、相关装置及存储介质与流程

文档序号:26139064发布日期:2021-08-03 14:22阅读:60来源:国知局
一种访问控制方法、相关装置及存储介质与流程

本申请涉及计算机技术领域,尤其涉及一种访问控制方法、相关装置及存储介质。



背景技术:

近年来,随着计算机技术的不断发展,人们生活与计算机的联系越来越紧密,计算机数据中存储了大量的用户隐私信息,使得计算机数据的安全性和合规性显得尤为重要。

因此,在用户发起对计算机数据的业务操作时,往往需要先进行访问控制的校验,校验通过后,才可以进行后续的业务操作。目前对于计算机数据的访问控制的方法,主要是采用责任链模式,即给每个校验场景配置多个校验器。当校验场景的事件发生时,按照配置的顺序依次执行各个校验器。当上游的校验器验证通过后,才能继续执行下游的校验器。

在责任链模式中,各个校验器之间的耦合度较高,只能依次执行完所有校验器逻辑,导致执行效率较低。



技术实现要素:

有鉴于此,本申请提供一种访问控制方法,用于提高校验器组中各个节点的校验效率。

本申请一方面提供一种访问控制方法,包括:

接收目标操作指令;

根据所述目标操作指令获取对应的校验器组,所述校验器组包括多个校验器作为节点;

对所述校验器组中各个节点的层级进行解析,确定出n个层级,其中,所述n个层级包括目标层级,所述n为大于或等于1的整数;

获取同属于所述目标层级的多个第一节点;

同时采用所述多个第一节点对所述目标操作指令进行校验;

若所述目标操作指令通过了所述多个第一节点的校验,则确定所述目标操作指令通过了所述目标层级的校验;

若所述目标操作指令通过了所述n个层级的校验,则执行所述目标操作指令。

在一种可能的实现方式中,所述校验器组还包括第二节点,所述第二节点属于所述目标层级的上一层级,所述同时采用所述多个第一节点对所述目标操作指令进行校验之前,所述方法还包括:

采用所述第二节点对目标操作指令进行校验;

若校验通过,则触发所述同时采用所述多个第一节点对所述目标操作指令进行校验的步骤。

在一种可能的实现方式中,所述校验器组还包括第三节点,所述第三节点属于所述目标层级的下一层级,所述确定所述目标操作指令通过了所述目标层级的校验之后,所述方法还包括:

采用所述第三节点对所述目标操作指令进行校验。

在一种可能的实现方式中,所述接收目标操作指令之前,所述方法还包括:

配置针对于目标操作指令的多个校验器;

配置所述多个校验器的层级;

根据所述多个校验器的层级,将所述多个校验器进行封装,得到校验器组。

在一种可能的实现方式中,所述方法还包括:

接收针对于所述校验器组的修改指令;

根据所述修改指令,调整所述多个校验器的层级,得到新的校验器组。

本申请另一方面提供一种访问控制装置,包括:

接收单元,用于接收目标操作指令;

获取单元,用于根据所述目标操作指令获取对应的校验器组,所述校验器组包括多个校验器作为节点;

确定单元,用于对所述校验器组中各个节点的层级进行解析,确定出n个层级,其中,所述n个层级包括目标层级,所述n为大于或等于1的整数;

所述获取单元,还用于获取同属于所述目标层级的多个第一节点;

第一校验单元,同时采用所述多个第一节点对所述目标操作指令进行校验;

确定单元,还用于当所述目标操作指令通过了所述多个第一节点的校验时,确定所述目标操作指令通过了所述目标层级的校验;

执行单元,用于当所述目标操作指令通过了所述n个层级的校验时,执行所述目标操作指令。

在一种可能的实现方式中,所述校验器组还包括第二节点,所述第二节点属于所述目标层级的上一层级,所述访问控制装置还包括第二校验单元和触发单元;

所述第二校验单元,还用于采用所述第二节点对目标操作指令进行校验;

所述触发单元,用于当校验通过时,触发所述第一校验单元。

在一种可能的实现方式中,所述校验器组还包括第三节点,所述第三节点属于所述目标层级的下一层级,所述访问控制装置还包括第三校验单元;

所述第三校验单元,用于采用所述第三节点对所述目标操作指令进行校验。

在一种可能的实现方式中,所述校验器组还包括配置单元和封装单元;

所述配置单元,用于配置针对于目标操作指令的多个校验器;

所述配置单元,还用于配置所述多个校验器的层级;

封装单元,用于根据所述多个校验器的层级,将所述多个校验器进行封装,得到校验器组。

在一种可能的实现方式中,所述访问控制装置还包括调整单元,

接收单元,还用于接收针对于所述校验器组的修改指令;

调整单元,用于根据所述修改指令,调整所述多个校验器的层级,得到新的校验器组。

本申请另一方面提供一种计算机设备,包括:存储器、处理器以及总线系统;所述存储器用于存储程序代码;所述处理器用于根据所述程序代码中的指令执行上述任一方面所述的访问控制方法。

本申请另一方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一方面所述的访问控制方法。

根据本申请的另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一方面所述的访问控制方法。

从以上技术方案可以看出,本申请实施例具有以下优点:接收目标操作指令,根据目标操作指令获取对应的校验器组,校验器组包括多个校验器作为节点。对校验器组中各个节点的层级进行解析,确定出n个层级,其中,n个层级包括目标层级。获取同属于目标层级的多个第一节点,同时采用多个第一节点对目标操作指令进行校验,若目标操作指令通过了多个第一节点的校验,则确定目标操作指令通过了目标层级的校验。若目标操作指令通过了n个层级的校验,则执行目标操作指令。通过上述方式,可以将校验器组中,属于同一层级的各个节点同时对目标操作指令进行校验,提高了校验器组中各个节点的校验效率。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例提供的一种访问控制的流程图;

图2为本申请实施例中校验器组的一种可能的节点配置框架示意图;

图3为本申请实施例中校验器组另一种可能的节点配置框架示意图;

图4为本申请实施例中校验器组另一种可能的节点配置框架示意图;

图5为本申请实施例中校验器组另一种可能的节点配置框架示意图

图6为本申请实施例提供的一种访问控制装置的结构示意图;

图7为本申请实施例中计算机设备的一个结构示意图。

具体实施方式

本申请实施例提供了一种访问控制方法,用于提高校验器组中各个节点的校验效率。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本申请提出了一种访问控制方法,请参阅图1,图1为本申请实施例提供的一种访问控制的流程图,本申请实施例包括以下步骤:

101、接收目标操作指令;

本申请实施例所提供的访问控制方法,在用户发起访问指令时(例如读操作或写操作等),为了校验用户身份以及用户操作的合法性,可以以接收到的访问指令为目标操作指令,执行相应的访问控制流程。

102、根据目标操作指令获取对应的校验器组,校验器组包括多个校验器作为节点;

根据该目标操作指令,获取相应的校验器组,该校验器组包括多个校验器作为节点。该校验器组中的各个节点(校验器),都可以存在相应的校验逻辑,可以对该目标操作指令执行校验。

示例性的,当目标操作指令为表单提交的操作时,需要进行必录字段校验、功能权限校验、数据权限校验、业务完整性校验以及业务一致性校验等校验流程。因此,该校验器组中,应当包括必录字段校验器、功能权限校验器、数据权限校验器、业务完整性校验器以及业务一致性校验器,作为校验器组的各个节点。

103、对校验器组中各个节点的层级进行解析,确定出n个层级,其中,n个层级包括目标层级,n为大于或等于1的整数;

在传统的校验流程中,上述步骤102中,各个校验器的校验流程是采用责任链模式,即各个校验器需要按照配置的顺序,依次对该目标操作指令进行校验。

本申请实施例中,为各个节点都配置了相应的层级,其中,校验器的层级表示了各个校验器的执行优先级以及执行流程的递进关系。校验器组中的各个节点,会按照层级关系,依次对目标操作指令进行校验。最开始,会由第一层的校验器开始执行校验,第一层的校验器的校验流程通过后,采用下一层级的校验器对目标操作指令进行校验,直至各个层级中的所有校验器全部校验完毕。其中,对于同一层级内的各个节点,其所对应的执行优先级应当是相同的,各个节点彼此之间的执行流程互相独立,不存在递进关系。本申请实施例中,当校验器a为校验器b的父节点时,则定义校验器a属于校验器b的上一层级;当校验器a为校验器b的子节点时,则定义校验器a属于校验器b的下一层级。

104、获取同属于目标层级的多个第一节点;

本申请中,为了降低各个节点之间的耦合度,提高校验器组的校验效率,可以获取同一层级下的所有节点,这些节点之间,并不存在父节点或子节点关系,即同一层级下的各个节点之间的校验逻辑是互相独立的,并不存在执行顺序上的先后关系。

应理解,本实施例及后续实施例中,以目标层级中存在两个第一节点为例进行阐述,在实际应用中,并不限定同属于目标层级的第一节点的数量,例如目标层级中还可以包括更多数量的第一节点,这些第一节点都属于同一个层级。

为了便于理解,请参阅图2,图2为本申请实施例中校验器组的一种可能的节点配置框架示意图,如图2所示,可以将各个校验器全部进行解耦,各个校验器都属于同一层级,使得各个校验器可以独立对目标操作指令进行校验。接收到目标操作指令之后,开始校验流程,每个校验器自身的校验流程不受其他校验器的影响,从而可以做到多个校验器同时对目标操作指令进行校验。

105、同时采用多个第一节点对目标操作指令进行校验;

获取到目标层级中的多个第一节点之后,由于这些第一节点都属于同一层级,则所获取的多个第一节点之间的执行优先级是相同的,可以将所获取的多个第一节点同时对目标操作指令进行校验。

106、若目标操作指令通过了多个第一节点的校验,则确定目标操作指令通过了目标层级的校验;

当多个第一节点对目标操作指令的校验全部通过时,则确定目标操作指令通过了目标层级的校验。在实际应用中,校验器组往往存在多个层级,若该目标层级还存在下一层级,确定目标操作指令通过了目标层级的校验之后,则需要继续采用下一层级的校验器对目标操作指令进行校验,直至各个层级中的所有校验器全部校验完毕。若目标层级为校验器组的最后一个层级,则确定目标操作指令通过了目标层级的校验之后,可以确定目标操作指令通过了全部层级的校验。

107、若目标操作指令通过了n个层级的校验,则执行目标操作指令。

确定目标操作指令通过了全部层级的校验之后,则说明该目标操作指令是合法的,可以执行该目标操作指令。

本申请实施例中,接收目标操作指令,根据目标操作指令获取对应的校验器组,校验器组包括多个校验器作为节点。对校验器组中各个节点的层级进行解析,确定出n个层级,其中,n个层级包括目标层级。获取同属于目标层级的多个第一节点,同时采用多个第一节点对目标操作指令进行校验,若目标操作指令通过了多个第一节点的校验,则确定目标操作指令通过了目标层级的校验。若目标操作指令通过了n个层级的校验,则执行目标操作指令。通过上述方式,可以将校验器组中,属于同一层级的各个节点同时对目标操作指令进行校验,提高了校验器组中各个节点的校验效率。

可选地,在上述图1对应的实施例的基础上,本申请实施例提供的访问控制方法的一个可选实施例中,校验器组还包括第二节点,第二节点为多个第一节点的父节点,因此属于目标层级的上一层级,同时采用多个第一节点对目标操作指令进行校验之前,还可以包括如下步骤:

采用第二节点对目标操作指令进行校验;

若校验通过,则触发同时采用多个第一节点对目标操作指令进行校验的步骤。

为了便于理解,请参阅图3,图3为本申请实施例中校验器组另一种可能的节点配置框架示意图,如图3所示,第二节点为所有第一节点的父节点,即第二节点属于第一节点所在的目标层级的上一层级。因此,需要先执行第二节点的校验流程,当第二节点的校验流程通过后,由于多个第一节点都属于同一层级,则同时触发多个第一节点的校验流程。

应理解,本实施例中,也并不限定第二节点的数量,即第二节点的数量可以是一个,也可以是多个,具体此处不做限定。

本实施例中,将传统的责任链式的节点布局,与本申请中互相独立的节点布局相结合,提高了方案的灵活性。

可选地,在上述图1对应的实施例的基础上,本申请实施例提供的访问控制方法的一个可选实施例中,校验器组还包括第四节点,第四节点属于目标层级的下一层级,确定目标操作指令通过了目标层级的校验之后,还可以包括如下步骤:

采用第四节点对目标操作指令进行校验。

为了便于理解,请参阅图4,图4为本申请实施例中校验器组另一种可能的节点配置框架示意图,如图4所示,第三节点为多个第一节点的子节点,即第三节点属于多个第一节点所在的目标层级的下一层级。因此,需要先执行同一层级下的多个第一节点的校验流程。当多个第一节点的校验流程全部通过,则采用第三节点对目标操作指令进行校验。

应理解,本实施例中,也并不限定第三节点的数量,即第三节点的数量可以是一个,也可以是多个,具体此处不做限定。

本实施例中,将传统的责任链式的节点布局,与本申请中互相独立的节点布局相结合,提高了方案的灵活性。

可选地,在上述图1对应的实施例的基础上,本申请实施例提供的访问控制方法的一个可选实施例中,校验器组还包括第四节点,第四节点为其中一个第一节点的子节点,但第四节点与其他的第一节点并无任何递进关系,并非为其他第一节点的子节点或父节点。

为了便于理解,请参阅图5,图5为本申请实施例中校验器组另一种可能的节点配置框架示意图,如图5所示,第四节点为其中一个第一节点的子节点,而其他第一节点与第四节点之间并无关联。因此,可以先同步执行同一层级下所有第一节点的校验流程。当与第四节点存在递进关系的第一节点的校验流程通过后,无需等待其他第一节点的校验结果,即可直接则采用下一级的节点(第四节点)对目标操作指令进行校验。

本实施例中,将传统的责任链式的节点布局,与本申请中互相独立的节点布局相结合,提高了方案的灵活性。

可选地,在上述图1对应的实施例的基础上,本申请实施例提供的访问控制方法的一个可选实施例中,接收目标操作指令之前,还可以包括如下步骤:

配置针对于目标操作指令的多个校验器;

配置多个校验器的层级;

根据多个校验器的层级,将多个校验器进行封装,得到校验器组。

本实施例中,需要预先根据业务需要,配置针对于目标操作指令目标操作指令的多个校验器。示例性的,当目标操作指令为表单提交的操作时,需要进行必录字段校验、功能权限校验、数据权限校验、业务完整性校验以及业务一致性校验等校验流程。因此,该校验器组中,应当包括必录字段校验器、功能权限校验器、数据权限校验器、业务完整性校验器以及业务一致性校验器,作为校验器组的各个节点。

进一步的,还需要为各个校验器配置相应的层级,从而确定各个校验器的执行优先级和递进关系。然后将配置好的校验器按照层级关系进行封装,得到校验器组。当接收到目标操作指令时,便会触发该校验器组。通过上述方式,已经封装好的校验器组,可以根据业务需要,适用于多种场景下的校验流程,提高了校验器组的复用率,且各个校验器组的层级分明,也可以有效降低维护成本。

可选地,在上述图1对应的实施例的基础上,本申请实施例提供的访问控制方法的一个可选实施例中,还可以包括如下步骤:

接收针对于校验器组的修改指令;

根据修改指令,调整多个校验器的层级,得到新的校验器组。

在实际应用中,业务需求往往不是一成不变的,当业务需求和应用场景发生改变时,用户可以发起针对于校验器组的修改指令。本实施例中,接收到相应的修改指令之后,无需重新配置校验器组,可以直接通过修改各个校验器的层级关系,来适用不同的业务需求和应用场景,从而降低了校验器组的维护成本。

为了更好的实施本申请实施例的上述方案,下面还提供用于实施上述方案的相关装置。请参阅图6,图6为本申请实施例提供的一种访问控制装置的结构示意图,访问控制装置包括:

接收单元201,用于接收目标操作指令;

获取单元202,用于根据所述目标指令目标操作指令获取对应的校验器组,所述校验器组包括多个校验器作为节点;

确定单元203,用于对所述校验器组中各个节点的层级进行解析,确定出n个层级,其中,所述n个层级包括目标层级,所述n为大于或等于1的整数;

所述获取单元202,还用于获取同属于所述目标层级的多个第一节点;

第一校验单元204,同时采用所述多个第一节点对所述目标操作指令进行校验;

确定单元203,还用于当所述目标操作指令通过了所述多个第一节点的校验时,确定所述目标操作指令通过了所述目标层级的校验;

执行单元205,用于当所述目标操作指令通过了所述n个层级的校验时,执行所述目标指令目标操作指令。

可选地,在上述图6所对应的实施例的基础上,所述校验器组还包括第二节点,所述第二节点属于所述目标层级的上一层级,所述访问控制装置还包括第二校验单元206和触发单元207;

所述第二校验单元206,还用于采用所述第二节点对目标操作指令进行校验;

所述触发单元207,用于当校验通过时,触发所述第一校验单元。

可选地,在上述图6所对应的实施例的基础上,所述校验器组还包括第三节点,所述第三节点属于所述目标层级的下一层级,所述访问控制装置还包括第三校验单元208;

所述第三校验单元208,用于采用所述第三节点对所述目标操作指令进行校验。

可选地,在上述图6所对应的实施例的基础上,所述校验器组还包括配置单元209和封装单元210;

所述配置单元209,用于配置针对于目标操作指令的多个校验器;

所述配置单元209,还用于配置所述多个校验器的层级;

封装单元210,用于根据所述多个校验器的层级,将所述多个校验器进行封装,得到校验器组。

可选地,在上述图6所对应的实施例的基础上,所述访问控制装置还包括调整单元211;

接收单元201,还用于接收针对于所述校验器组的修改指令;

调整单元211,用于根据所述修改指令,调整所述多个校验器的层级,得到新的校验器组。

本实施例中,访问控制装置可以执行前述图1至图5中任一项所示实施例的操作,具体此处不再赘述。

本申请实施例还提供了一种计算机设备,用于执行图1至图5对应的实施例中任一项所示实施例的操作。请参阅图7,图7为本申请实施例中计算机设备300的一个结构示意图。如图所示,该计算机设备300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,cpu)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对计算机设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在计算机设备300上执行存储介质330中的一系列指令操作。

计算机设备300还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

上述实施例中所执行的步骤可以基于该图3所示的计算机设备的结构。

本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如前述各个实施例描述的方法。

本申请实施例中还提供一种包括程序的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例描述的方法。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,互动视频的管理装置,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

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