掌桥专利:专业的专利平台
掌桥专利
首页

元数据访问权限控制方法、系统、电子设备及存储介质

文献发布时间:2023-06-19 11:26:00


元数据访问权限控制方法、系统、电子设备及存储介质

技术领域

本发明涉及数据处理技术领域,尤其涉及一种元数据访问权限控制方法、系统、电子设备及存储介质。

背景技术

在多租户架构下,所有租户既有共享的元数据,也有各租户独有的元数据。共享的元数据在面向所有租户时都是相同的一份元数据,但由于每个租户的功能不同,因此在使用到共享的元数据时,应根据租户授权许可的功能范围,访问对应权限范围内的元数据。

在每次进行元数据访问操作时,通过代码逻辑判断相应功能对应获取某一范围内的元数据。另外,租户开通的功能是根据售卖侧运行时动态确定的,而元数据定义是在产品设计侧静态确定的,其中,售卖侧逻辑是根据产品特点、市场销售情况而灵活定义的,比如根据功能范围售卖、根据使用时间售卖、根据使用人数售卖、根据资源空间售卖,或者是以上几种场景的组合模式售卖,或者前期使用一种售卖方式,后期调整为另一种售卖方式。

在进行元数据访问操作时,元数据自身逻辑则会导致元数据访问的权限判定逻辑与元数据自身逻辑之间发生深度耦合,且元数据的访问操作耦合了经常变动的售卖侧逻辑,以致元数据的访问操作稳定性较差,且不适合普遍使用。

发明内容

本发明提供一种元数据访问权限控制方法、系统、电子设备及存储介质,用以解决现有技术中元数据访问逻辑易与元数据自身逻辑发生深度耦合的缺陷,提高元数据访问结果的准确性,实现元数据访问操作的稳定性及普适性。

本发明提供一种元数据访问权限控制方法,包括:接收租户访问请求;根据所述租户访问请求判断请求访问模块是否符合租户授权认证,若符合,则基于所述请求访问模块与其它功能模块之间的受控关系判断是否访问所述请求访问模块内的元数据,否则,访问失败。

根据本发明提供的一种元数据访问权限控制方法,所述基于所述请求访问模块与其它功能模块之间的受控关系判断是否访问所述请求访问模块内的元数据,包括:判断所述请求访问模块内的元数据与其它功能模块之间是否存在受控关系;若存在受控关系,则判断所述其它功能模块是否符合所述租户授权认证,并基于符合所述租户授权认证的其它功能模块获取所述请求访问模块内相应的元数据;否则,获取所述请求访问模块内的元数据。

根据本发明提供一种元数据访问权限控制方法,所述根据所述租户访问请求判断请求访问模块是否符合租户授权认证,包括:根据所述租户访问请求,提取租户请求访问的请求访问模块;根据所述租户授权认证判断所述请求访问模块是否为基于租户授权以与所述租户对应关联的功能模块。

根据本发明提供的一种元数据访问权限控制方法,在接收租户访问请求之前,包括:形成功能模块;基于租户需求对所述功能模块进行授权,并生成租户授权认证。

根据本发明提供的一种元数据访问权限控制方法,所述形成功能模块,包括:基于业务划分形成具有不同业务功能的功能模块;定义不同功能模块之间的受控关系,使受控功能模块内的元数据的访问权限受控于其它功能模块;

所述基于租户需求对所述功能模块进行授权,并生成租户授权认证,包括:根据租户需求对所述功能模块进行授权,以获取所述功能模块的访问权限;根据所述授权,生成租户授权认证,所述租户授权认证用于将所述租户授权的功能模块与所述租户对应关联。

本发明还提供一种元数据访问权限控制系统,包括:接收模块,用于接收租户访问请求;访问模块,根据租户访问请求判断请求访问模块是否符合所述租户授权认证,若符合,则基于所述请求访问模块与其它功能模块之间的受控关系判断是否访问所述请求访问模块内的元数据,否则,访问失败。

根据本发明提供的一种元数据访问权限控制系统,所述访问模块包括:判断子模块,根据租户访问请求判断请求访问模块是否符合所述租户授权认证,以及基于所述请求访问模块与其它功能模块之间的受控关系判断所述其它功能单元是否符合所述功能模块认证;读取子模块,根据所述判断子模块的判断结果判断是否访问所述请求访问模块内的元数据。

根据本发明提供的一种元数据访问权限控制系统,还包括:受控定义模块,用于定义不同功能模块之间的受控关系,使受控功能模块内的元数据的访问权限受控于其它功能模块。

本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述数据访问权限控制方法的步骤。

本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述数据访问权限控制方法的步骤。

本发明提供的数据访问权限控制方法、系统、电子设备及存储介质,根据租户访问请求判断请求访问模块是否符合租户授权认证,再根据符合租户授权认证的请求访问模块的受控关系判断其所受控的其它功能模块是否符合租户授权认证,从而进一步细化功能模块内的元数据的访问权限控制,避免元数据访问的权限控制与元数据自身的逻辑发生深度耦合,进而确保元数据访问的准确性以及元数据访问操作的稳定性及普适性;另外,基于租户授权认证,将租户授权功能模块的授权逻辑与元数据访问的权限控制逻辑隔离,实现清晰解耦。

附图说明

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

图1是本发明提供的元数据访问权限控制方法的流程示意图;

图2是本发明提供的元数据访问权限控制方法的结构示意图;

图3是本发明提供的元数据访问权限控制系统的结构示意图;

图4是本发明提供的电子设备的结构示意图;

附图标记:

1:接收模块;2:访问模块;41:处理器;42:通信接口;43:存储器;44:通信总线。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

下面结合图1-图2描述本发明的一种元数据访问权限控制方法,包括:

S01,接收租户访问请求;

S02,根据租户访问请求判断请求访问模块是否符合租户授权认证,若符合,则基于请求访问模块与其它功能模块之间的受控关系判断是否访问请求访问模块内的元数据,否则,访问失败。

需要说明的是,本说明书中的S0N不代表元数据访问权限控制方法的先后顺序,下面结合图1-图2具体描述本发明的元数据访问权限控制方法。

步骤S01,接收租户访问请求。

在本实施例中,在接收租户访问请求之前,包括:形成功能模块;基于租户需求对功能模块进行授权,并生成租户授权认证。

首先,形成功能模块,包括:基于业务划分形成具有不同业务功能的功能模块;定义不同功能模块之间的受控关系,使受控功能模块内的元数据的访问权限受控于其它功能模块。具体而言,在形成功能模块时,先根据业务划分形成具有不同业务功能的功能模块,再根据功能模块对应负责的业务功能向其内存储相应元数据。另外,在形成功能模块时,还可以基于数据分层将功能模块内的元数据进行分层,形成所有租户共享的共享元数据以及各租户私有的私有元数据。

需要说明的是,租户为使用软件即服务系统(SaaS系统)并开通相应功能的租户。软件即服务系统(SaaS系统)是一款面向多租户的系统,即多个租户共同使用同一SaaS系统,且租户之间互相隔离,任一租户包含多个使用账号。

根据业务划分形成具有不同业务功能的功能模块包括:客户管理模块、订单管理模块、联系人管理模块等租户。元数据的类型包括全体租户共享的共享元数据以及各租户私有的私有元数据,共享元数据包括实体、实体权限、实体布局、实体业务规则等。应当注意,当形成功能模块之后,需要将对应的元数据存储于功能模块内,比如,当功能模块为客户管理模块时,对应的元数据包括客户实体的基本信息、权限信息和布局信息,以及客户实体的业务规则等,客户实体的基本信息包括客户名称、客户规模、客户地址等客户实体的基本属性。

在形成功能模块之后,通过定义任一功能模块内的元数据与其它功能模块的受控关系,以便于后续通过判断功能模块受控于的其它功能模块是否符合租户授权认证,以进一步确定租户是否对该功能模块内的元数据具有访问权限,使功能模块内的任一元数据的访问权限不随租户对功能模块进行授权时授权逻辑的变化而重新定义元数据以及元数据受控关系。需要说明的是,若上述形成功能模块时,对功能模块内的元数据进行分层,则在定义受控关系时,定义功能模块内的共享元数据与其它功能模块的受控关系,以使后续租户授权之后,请求访问该功能模块时,仅可访问其内的共享元数据。

其次,基于租户需求对功能模块进行授权,并生成租户授权认证,包括:根据租户需求对功能模块进行授权,以获取功能模块的访问权限;根据授权,生成租户授权认证,租户授权认证用于将租户授权的功能模块与租户对应关联,使得该租户具有相应授权的功能模块的访问权限。

比如,存在三个租户,分别为第一租户、第二租户和第三租户,以及存在三个功能模块,分别为第一功能模块、第二功能模块和第三功能模块,若第一租户根据需求购买了三个功能模块,则第一租户对应授权第一、第二和第三功能模块以获得其访问权限,再根据上述租户授权认证将租户授权的第一、第二、第三功能模块与租户对应关联;同样的,若第二租户根据需求对其中两个功能模块进行了购买,则第二租户对应授权第一、第三功能模块以获得其访问权限,再根据租户授权认证将租户授权的第一、第三功能模块与租户对应关联;同样的,若第三租户根据需求仅购买一个功能模块,则第三租户对应许可授权第一功能模块以获得其访问权限,再根据租户授权认证将租户授权的第一功能模块与租户对应关联。通过上述操作,以便于后续相应租户请求访问其授权的功能模块时,基于租户授权认证使得租户快速访问相应功能模块。

需要说明的是,上述授权可以根据售卖需要,灵活组合具有不同功能的功能模块。通过上述授权,以将租户对功能模块进行授权时的授权逻辑与元数据访问的权限控制逻辑隔离,实现了清晰解耦,避免功能模块内的元数据随租户对功能模块进行授权时的授权逻辑的变化而重新定义元数据以及元数据受控关系。

步骤S02,根据租户访问请求判断请求访问模块是否符合租户授权认证,若符合,则基于请求访问模块与其它功能模块之间的受控关系判断是否访问请求访问模块内的元数据,否则,访问失败。

在本实施例中,根据租户访问请求判断请求访问模块是否符合租户授权认证,包括:根据租户访问请求,提取租户请求访问的请求访问模块;根据租户授权认证判断请求访问模块是否为基于租户授权以与租户对应关联的功能模块,若是,则租户具有请求访问模块的访问权限;否则,租户无法访问请求访问模块。

更进一步地说,在判断租户与请求访问模块对应关联之后,基于请求访问模块与其它功能模块之间的受控关系判断是否访问请求访问模块内的元数据,包括:判断请求访问模块内的元数据与其它功能模块之间是否存在受控关系;若存在受控关系,则判断其它功能模块是否符合租户授权认证,并基于符合租户授权认证的其它功能模块获取功能模块内相应的元数据;否则,获取请求访问模块内的元数据。需要说明的是,在存在受控关系时,若其它功能模块不符合租户授权认证,即其它功能模块不属于基于租户授权与该租户对应关联的功能模块,则不读取受控于该其它功能模块的请求访问模块内的元数据。通过符合租户授权认证的请求访问模块内的元数据与其它功能模块之间的受控关系,以进一步细化功能模块内的某一元数据的访问权限控制,避免元数据的访问权限控制与元数据自身的逻辑发生深度耦合,进而确保访问结果的准确定以及访问操作的稳定性、普适性。

举例而言,存在三个功能模块,分别为第一、第二、第三功能模块,其中第一功能模块(mudule1)中存储有第一元数据(item1)、第二元数据(item2)和第三元数据(item3),其中,第一元数据与第二、第三功能模块之间不存在受控关系,第二元数据受控于第二功能模块(module2),第三元数据受控于第三功能模块(module3),而该租户仅对第一、第三功能模块进行授权。基于上述步骤,判断第一元数据与第二、第三功能模块之间不存在受控关系,则租户对第一元数据具有访问权限,可访问或获取第一元数据;第二元数据受控于第二功能模块,而第二功能模块未经租户授权,不符合租户授权认证,则租户对于第二元数据不具备访问权限,不能访问或获取第二元数据;第三元数据受控于第三功能模块,而第三功能模块经租户授权,符合租户授权认证,则租户基于符合租户授权认证的第三功能模块的基础上对第三元数据具有访问权限,以访问或获取第三元数据。

综上所述,本发明实施例通过根据租户访问请求判断请求访问模块是否符合租户授权认证,再根据符合租户授权认证的请求访问模块的受控关系判断其所受控的其它功能模块是否符合租户授权认证,从而进一步细化功能模块内的元数据的访问权限控制,避免元数据访问的权限控制与元数据自身的逻辑发生深度耦合,进而确保元数据访问的准确性以及元数据访问操作的稳定性及普适性;另外,基于租户授权认证,将租户授权功能模块的授权逻辑与元数据的访问逻辑隔离,实现清晰解耦。

下面对本发明提供的元数据访问权限控制系统进行描述,下文描述的元数据访问权限控制系统与上文描述的元数据访问权限控制方法可相互对应参照。

参考图3,图3示出了一种元数据访问权限控制系统的结构示意图,该元数据访问权限控制系统,包括:接收模块1,用于接收租户访问请求;访问模块2,根据租户访问请求判断请求访问模块是否符合所述租户授权认证,若符合,则基于所述请求访问模块与其它功能模块之间的受控关系判断是否访问所述请求访问模块内的元数据,否则,访问失败。

在本实施例中,功能模块包括提取单元和存储单元,其中:提取单元,根据功能模块划分的业务功能提取相应元数据;存储单元,根据提取单元提取的元数据进行存储。为了定义不同功能模块之间的受控关系,该系统还包括受控定义模块,用于定义不同功能模块之间的受控关系,使受控功能模块内的元数据的访问权限受控于其它功能模块。需要说明的是,通过受控定义模块定义功能模块内的某些元数据与其它功能模块的受控关系,即一个功能模块内的元数据访问权限依赖于其它功能模块,以便于后续根据其它功能模块是否符合租户授权认证以控制受控功能模块内元数据的访问权限,进一步细化功能模块内的某一元数据的访问权限控制,避免元数据的访问权限控制与元数据自身的逻辑发生深度耦合,进而确保访问结果的准确性以及访问操作的稳定性、普适性。

为便于访问模块2访问请求访问模块内的元数据,访问模块2包括:判断子模块,根据租户访问请求判断请求访问模块是否符合租户授权认证,以及基于请求访问模块与其它功能模块之间的受控关系判断是否访问请求访问模块内的元数据;读取子模块,根据判断子模块的判断结果判断是否访问请求访问模块内的元数据。

具体而言,判断子模块包括第一判断单元和第二判断单元,第一判断单元用于根据租户访问请求判断请求访问模块是否符合所述租户授权认证,第二判断单元用于基于所述请求访问模块与其它功能模块之间的受控关系判断所述其它功能单元是否符合所述功能模块认证。需要说明的是,若第一判断单元判断请求访问模块符合租户授权认证,第二判断单元请求访问模块受控于的其它功能模块符合所述功能模块认证,则读取子模块获取请求访问模块内受控于其它功能模块的元数据;若第一判断单元判断请求访问模块符合租户授权认证,第二判断单元请求访问模块受控于的其它功能模块不符合所述功能模块认证,则读取子模块获取请求访问模块内不存在受控关系的元数据;若第一判断单元判断请求访问模块不符合租户授权认证,则读取子模块读取失败。

另外,为生成租户授权认证,以便于访问模块2根据接收模块1接收的租户访问请求判断功能模块是否符合基于租户授权的租户授权认证,访问模块还包括:授权单元,根据租户需求对功能模块进行授权,以获取功能模块的访问权限;认证单元,根据授权单元的授权,生成租户授权认证,租户授权认证用于将租户授权的功能模块与租户对应关联。通过认证单元(ModuleAuth)描述一个租户授权许可访问的功能模块集合。应当注意,租户仅对授权许可的功能模块下的元数据有访问权限。在根据业务功能划分形成功能模块时,建立业务功能与功能模块的映射关系,以在进行功能模块许可授权时,将功能模块授权给租户之后,经授权的功能模块内的元数据的访问权限通过认证模块实现。

图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)41、通信接口(Communications Interface)42、存储器(memory)43和通信总线44,其中,处理器41,通信接口42,存储器43通过通信总线44完成相互间的通信。处理器41可以调用存储器43中的逻辑指令,以执行元数据访问权限控制方法,该方法包括:接收租户访问请求;根据租户访问请求判断请求访问模块是否符合租户授权认证,若符合,则基于请求访问模块与其它功能模块之间的受控关系判断是否访问请求访问模块内的元数据,否则,访问失败。

此外,上述的存储器43中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的元数据访问权限控制方法,该方法包括:接收租户访问请求;根据租户访问请求判断请求访问模块是否符合租户授权认证,若符合,则基于请求访问模块与其它功能模块之间的受控关系判断是否访问请求访问模块内的元数据,否则,访问失败。

又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的元数据访问权限控制方法,该方法包括:接收租户访问请求;根据租户访问请求判断请求访问模块是否符合租户授权认证,若符合,则基于请求访问模块与其它功能模块之间的受控关系判断是否访问请求访问模块内的元数据,否则,访问失败。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

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

相关技术
  • 元数据访问权限控制方法、系统、电子设备及存储介质
  • 数据访问权限控制方法、装置、系统、存储介质及设备
技术分类

06120112922948