CN117272374A - 权限的控制方法及相关设备 - Google Patents
权限的控制方法及相关设备 Download PDFInfo
- Publication number
- CN117272374A CN117272374A CN202311213307.5A CN202311213307A CN117272374A CN 117272374 A CN117272374 A CN 117272374A CN 202311213307 A CN202311213307 A CN 202311213307A CN 117272374 A CN117272374 A CN 117272374A
- Authority
- CN
- China
- Prior art keywords
- field
- metadata
- node
- query statement
- authority
- 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
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000004364 calculation method Methods 0.000 claims abstract description 59
- 230000001419 dependent effect Effects 0.000 claims abstract description 42
- 238000012216 screening Methods 0.000 claims abstract description 10
- 230000004044 response Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 8
- 238000001914 filtration Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 12
- 238000004458 analytical method Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 11
- 239000000306 component Substances 0.000 description 10
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000013475 authorization Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/253—Grammatical analysis; Style critique
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供一种权限的控制方法及相关设备。具体地,所述控制方法包括:获取查询语句;根据预设元数据和所述查询语句,确定并标记所述查询语句对应的至少一元数据节点;根据所述查询语句确定计算字段的定义;基于所述计算字段的定义,对所述至少一元数据节点筛选得到所述计算字段的依赖元数据节点;以及根据所述依赖元数据节点的权限,确定所述计算字段的权限,从而实现计算字段的鉴权,保证系统数据安全。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种权限的控制方法及相关设备。
背景技术
随着经济的发展,用户的业务类型越来越丰富,同时产生大量的数据。为了保证存储系统的统一性,并兼容业务的多样性,需要对数据进行统一建模描述,这样才能使一套系统灵活对应不同业务,而不是为每个业务都要重新建立全新结构的数据表。这样的数据建模中,业务意义的表和字段,被映射到数据库中实际存放的表和字段,这种映射关系存储在元数据中,使得用户可以直接面向自己熟悉的业务字段。
常用的分析、筛选、标签、群组等查询动作,直接由预定好的程序,结合元数据信息,转换成为面向最终实际数据库的结构化查询语言(Structured Query Language,简称SQL)语句并进行查询。但是对于更加灵活的分析,或者具有探索性的实验,需要借助自定义查询来实现,例如对象查询语言(Objective Query Language,简称OQL)。用户可以通过自定义查询得到相关数据并输出为虚拟表在组件中使用,然而,目前还缺少有效保证数据安全的方法。
发明内容
有鉴于此,本公开的目的在于提出一种权限的控制方法及相关设备。
基于上述目的,本公开提供了一种权限的控制方法,包括:
获取查询语句;
根据预设元数据和所述查询语句,确定并标记所述查询语句对应的至少一元数据节点;
根据所述查询语句确定计算字段的定义;
基于所述计算字段的定义,对所述至少一元数据节点筛选得到所述计算字段的依赖元数据节点;以及
根据所述依赖元数据节点的权限,确定所述计算字段的权限。
基于同一发明构思,本公开实施例还提供了一种权限的控制装置,包括:
获取模块,被配置为:获取查询语句;
识别模块,被配置为:根据预设元数据和所述查询语句,确定并标记所述查询语句对应的至少一元数据节点;
定义模块,被配置为:根据所述查询语句确定计算字段的定义;
依赖确定模块,被配置为:基于所述计算字段的定义,对所述至少一元数据节点筛选得到所述计算字段的依赖元数据节点;以及
权限确定模块,被配置为:根据所述依赖元数据节点的权限,确定所述计算字段的权限。
基于同一发明构思,本公开实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如上述任意一项所述的控制方法。
基于同一发明构思,本公开实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,其特征在于,所述计算机指令用于使计算机执行上述任一所述的控制方法。
从上面所述可以看出,本公开实施例提供的权限的控制方法及相关设备,先根据预设元数据和查询语句,确定并标记所述查询语句对应的至少一元数据节点;再根据所述查询语句确定计算字段的定义;基于所述计算字段的定义,对所述至少一元数据节点筛选得到所述计算字段的依赖元数据节点;最后基于所述依赖元数据节点的权限,确定所述计算字段的权限,从而实现计算字段的鉴权,保证系统数据安全。
附图说明
为了更清楚地说明本公开或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A示出本公开实施例提供的一种应用场景的示意图;
图1B示出图1A中的应用场景的配置界面的示意图;
图2示出本公开实施例提供的一种查询语句的处理流程示意图;
图3示出本公开实施例提供的一种权限的控制方法的流程示意图;
图4示出本公开实施例提供的一种元数据节点的结构示意图;
图5示出本公开实施例提供的一种计算字段的定义示意图;
图6示出本公开实施例提供提供的一种权限的控制装置的结构示意图;
图7示出本公开实施例提供提供的一种电子设备的结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
需要说明的是,除非另外定义,本公开实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当依据相关法律法规通过恰当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获取和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。
作为一种可选的但非限定性的实现方式,响应于接收到用户的主动请求,向用户发送提示信息的方式例如可以是弹窗的方式,弹窗中可以以文字的方式呈现提示信息。此外,弹窗中还可以承载供用户选择“同意”或者“不同意”向电子设备提供个人信息的选择控件。
可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其它满足相关法律法规的方式也可应用于本公开的实现方式中。
为了便于理解本公开的技术方案,下面对本公开涉及的一些技术术语进行介绍。
数据库:又称为数据管理系统,是处理的数据按照一定的方式储存在一起,能够让多个用户共享、尽可能减小冗余度的数据集合,简而言之可视为电子化的文件柜——存储电子文件的处所。
元数据(Metadata):又称中介数据、中继数据,为描述数据的数据(data aboutdata),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。
物理表:为数据库的核心组件,由行和列组成。行包含若干列信息项,一行数据成为一个或一条记录;列又成为字段,用于描述相关数据的特征。
虚拟表:为实际上并不存在(物理上不存在),但是逻辑上存在的表。虚拟表基于物理表定义,用于提供数据服务,但不实际存储数据,其数据使用方式和物理表一致。
SDK:软件开发工具包,本公开中SDK包括解析对象查询语言相关的功能。
为了使得本公开的技术方案更加清楚、易于理解,下面结合附图对本公开实施例提供的一种权限的控制方法的应用场景进行介绍。
图1A示出本公开实施例提供的一种应用场景的示意图;图1B示出图1A中的应用场景的配置界面的示意图。页面100包括组件101。图1B的配置界面包括逻辑配置界面102和数据编辑界面103。示例性的,参考逻辑配置界面102,点击组件101之后的逻辑结构是请求数据1,若成功则显示对应的数据值,若失败则显示失败。借助数据编辑界面103,可以编写对象查询语言对对象进行查询,虚拟表可以是对象查询语句对应的逻辑关系,对应的字段值可以作为数据1被组件101使用。
图2示出本公开实施例提供的一种查询语句的处理流程示意图。结合图2,对通过查询语句至执行得到数据1的过程进行说明。需要说明的是,本公开以对象查询语言为例进行是说明。
首先,用户可以通过终端输入第一查询语句或者终端根据预设条件调用预先配置的第一查询语句。这里第一查询语句可以以标准化语言编写得到的,其中,标准化语言可以是对象查询语言。
接着,可以利用软件开发工具包201对第一查询语句进行解析。软件开发工具包201可以对第一查询语句进行词法分析、语法分析、语义分析并最终生成中间代码。其中,语义分析包括语义理解、语义检查。语义理解阶段可以调用预设元数据203中的对象、字段等。语义检查可以对所述第一查询语句进行异常检测,例如是否包含异常语句如:笛卡尔积、大表left Join、敏感词等,若有则直接拒绝。其中,大表定义为记录数大于指定值或占用存储大于指定值表或视图。
最后,可以将中间代码转化为第二查询语句。这里,第二查询语句可以直接查询数据库,借助数据引擎202可以对第二查询语句进行优化生成目标代码并执行,执行结果即是虚拟表的结果。
对于不同的用户通常具有不同的数据库权限。由此,在生成中间代码之前,通常需要判断用户对相关数据的权限。目前,对于自定义查询这种相当于从一个数据模型上派生出一个新的模型的鉴权,一般采用两种方式。第一种是直接忽略掉原模型的权限,为新模型单独设计授权系统,这种方式在技术角度来说更简单,但是考虑到原模型的复杂性,容易出现错漏;第二种是继承原模型权限,这种方式在技术角度不易实现。
有鉴于此,本公开实施例提供了一种权限的控制方法、装置、电子设备及存储介质。先根据预设元数据和查询语句,确定并标记所述查询语句对应的至少一元数据节点;再根据所述查询语句确定计算字段的定义;基于所述计算字段的定义,对所述至少一元数据节点筛选得到所述计算字段的依赖元数据节点;最后基于所述依赖元数据节点的权限,确定所述计算字段的权限,从而实现计算字段的鉴权,保证系统数据安全。
查询语句可以输出的字段可以包括引用字段和计算字段。在一些实施例中,两者的区分标准是:
引用字段的值直接取自其他元数据(对象/数据集等)上的某个字段;
计算字段的值是由常量、字段值、函数等多种语法加工计算而得出。
示例性的,查询语句1如下所示:
select field+1as newField,field from object。
从查询语句1可以看出,newField通过field+1得到,是计算字段;field直接来自object,是引用字段。
示例性的,查询语句2如下所示:
select 1as newField1,newField2 from(select field as newField2 fromobject)。
从查询语句2可以看出,newField1是常量(1)而不是直接取自元数据,是计算字段;来自object的field直接作为newField2,因此newField2引用字段。
本公开的一些实施例提供的权限控制方法,对于引用字段和计算字段采用不同的权限的控制方法。
在一些实施例中,引用字段的权限根据被其引用的字段的权限确定。可选地,若用户对被其引用的对象字段具有权限,则用户对引用字段具有权限。
在一些实施例中,计算字段的权限则需要推算该字段是否有权限,推算规则为:若计算字段使用了无权限的对象字段,则无权限;若没有使用无权限的对象字段,则有权限。这里,对象字段是指计算字段引用的对象中的字段。这里,对象是查询语句确定的引用目标,通常位于from之后,例如可以是数据表、数据集等,本公开对此不做限定。
接下来,结合图2、图4和图5对本公开实施例提供的权限的控制方法进行详细说明。
如前所述,对第一查询语句进行解析。这里,对第一查询语句进行解析可以借助如图2所示的SDK 201进行。通过词法分析、语法分析、语义分析,借助第一查询语句中的词的位置、名称等信息可以推到出第一查询语句中哪些节点是对象(object),哪些节点是字段(field)。
可选地,预设元数据203可以是具有业务意义的数据,例如,是具有业务意义的表和字段与数据库中实际存放的表和字段之间映射关系。预设元数据203可以包括对象和字段。对象可以是表、数据等。
在语义分析阶段,可以获取预设元数据203的信息。示例性的,获取预设元数据203的信息可以基于元数据服务的加载对象(LoadObjects)、加载字段(LoadFields)等方法的调用。
在一些实施例中,将第一查询语句的字段节点和预设元数据203进行比较,响应于该字段节点和任一预设元数据的字段匹配成功,则表明该字段节点与预设元数据203匹配,即该字段节点是元数据节点。此时,可以对该字段节点进行标记,例如标记为“field”。在一些实施例中,将前述获取的预设元数据的信息中与该字段节点对应的元数据信息填充至该字段节点。
可选地,该字段节点对应的元数据信息包括权限信息,所述权限信息叠加所述字段节点所属对象的权限信息。需要说明的是,在预设元数据中,通常一个对象可以包括多个字段,对象和字段可以分别设置权限。只有用户对对象和字段均有权限,则对字段有权限,否则对字段无权限。
在一些实施例中,将第一查询语句的对象节点和预设元数据203进行比较,响应于该对象节点和任一预设元数据的对象匹配成功,则表明该对象节点与预设元数据203匹配,即该对象节点是元数据节点。此时,可以对该对象节点进行标记,例如标记为“object”。在一些实施例中,将前述获取的预设元数据的信息中与该对象节点对应的元数据信息填充至该对象节点。
在一些实施例中,若对象节点或字段节点和各预设元数据均匹配失败,则表明对象节点或字段节点存在错误,此时可以提示错误,以便于用户修改。
示例性的,第一查询语句如下所示:
select number+1as newField from object。
预设元数据203包括object和number,经过上述的处理,可以确定object节点和number节点均是元数据节点,均具有对应的标记和元数据信息。示例性的,object节点的标记是“object”,number节点的标记是“field”。
图4示出本公开实施例提供的一种元数据节点的结构示意图。元数据节点400包括节点名(number)、标签401(field)以及对象字段信息402。
接着,根据第一查询语句,可以确定计算字段的定义。在一些实施例中,生成计算字段节点,在该过程中,将计算字段的定义赋值至该计算字段节点。图5示出本公开实施例提供的一种计算字段的定义示意图。计算字段(newField)节点500中的计算字段定义包括参数501、502以及函数运算。其中,参数501是元数据节点number的字段值,参数502是常量1,函数运算是加法。
然后,根据计算字段的定义,可以对元数据节点进行筛选得到依赖元数据节点。示例性的,前述确定的元数据节点包括object节点和number节点。通过计算字段的定义可知,计算字段的值与number节点有关,与object节点无关,由此确定依赖元数据节点是number字段节点。
对于确定依赖元数据节点的方案,本公开还提供另一示例。第一查询语句如下所示:
select newField+1as newField2 from(select number+1as newField fromobject)as temp。
上述第一查询语句包括多个计算字段时,依据由外层至内层顺序确定依赖元数据节点。根据第一查询语句,可以确定newField的定义为number+1,newField2的定义为newField+1。当判断最外层的计算字段newField2的权限时,可以确定其依赖newField和常量节点1,接着再遍历newField的定义,最终找到newField2的依赖元数据节点是对象字段number。
接着,根据依赖元数据节点(例如number字段)的权限,可以推算计算字段的权限。可选地,依据依赖元数据节点的元数据信息,可以确定依赖元数据节点的权限。在一些实施例中,响应于任一所述元数据节点无权限,则所述计算字段无权限;否则,所述计算字段有权限。
最后,当用户对第一查询语句涉及的计算字段和/或引用字段具有权限时,可以依据第一查询语句生成中间代码,以用于生成可以直接访问数据库的第二查询语句。本公开实施例对于基于第二查询语句进行数据库查询的步骤不再赘述。当用户对第一查询语句涉及的计算字段和/或引用字段无权限时,可以向用户提示无权限。
需要说明的是,本公开实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本公开实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本公开的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本公开示例性实施例还通过一种权限的控制方法。图3示出本公开实施例提供的一种权限的控制方法的流程示意图,所述控制方法包括:
步骤S302:获取查询语句;需要说明的是,这里的查询语句可以是第一查询语句,获取查询语句的方式可参见前述获取第一查询语句的相关描述。可选地,所述查询语句可以是以对象查询语言编写的查询语句。
步骤S304:根据预设元数据和所述查询语句,确定并标记所述查询语句对应的至少一元数据节点;这里,参考图2,预设元数据203可以是具有业务意义的数据,例如,是业务意义的表和字段以及其与数据库中实际存放的表和字段之间映射关系;预设元数据203可以包括对象和字段;对象可以是表、数据等;这里,元数据节点的结构可以参阅图4;
步骤S306:根据所述查询语句确定计算字段的定义(请参阅图5);需要说明的是,计算字段的定义是指计算字段的表达式;可选地,表达式包括参数和函数运算;
步骤S308:基于所述计算字段的定义,对所述至少一元数据节点筛选得到所述计算字段的依赖元数据节点;
步骤S3010:根据所述依赖元数据节点的权限,确定所述计算字段的权限。采用这样的方式,无需重新设计鉴权系统,利用预设元数据推导计算字段的权限,能够简单方便保证数据安全。
在一些实施例中,所述元数据节点包括字段节点;所述根据预设元数据和所述查询语句,确定并标记所述查询语句对应的至少一元数据节点的步骤,具体包括:
通过解析所述查询语句,得到与所述查询语句对应的至少一字段节点;需要说明的是,查询语句包括多个节点,例如对象节点、字段节点、常量节点等;
响应于所述字段节点和预设元数据的任一字段相匹配,对所述字段节点进行标记并基于所述预设元数据获取对应的字段信息。这里,标记可以是标签,用于对节点的类型进行区分。示例性的,对象节点的标记可以是对象标签,由预设元数据获取的信息是对象信息;字段节点的标记可以是字段标签,由预设元数据获取的信息是字段信息。
在一些实施例中,还包括:
响应于所述字段节点和所述预设元数据的任一字段匹配失败,则输出错误信息。通过输出错误信息,可以提醒用户检查查询语句,提高查询效率。
在一些实施例中,所述计算字段的定义包括至少一参数,所述基于所述计算字段的定义,对所述至少一元数据节点筛选得到所述计算字段的依赖元数据节点,具体包括:
将所述参数和所述至少一元数据节点进行比较;
响应于所述参数和任一所述元数据节点相对应,则将对应的所述元数据节点确定为所述计算字段的依赖元数据节点。
在一些实施例中,所述元数据节点包括元数据信息,所述元数据信息基于匹配的预设元数据获取;示例性的,元数据节点是字段节点,则元数据信息是字段信息,这里的字段信息是描述字段属性的信息,包括但不限于权限信息;获取的方式可以是调用Loadfields;所述根据所述依赖元数据节点的权限,确定所述计算字段的权限的步骤,具体包括:
根据所述元数据信息确定所述依赖元数据节点的权限;
响应于任一所述依赖元数据节点无权限,则确定所述计算字段无权限;响应于所有依赖元数据节点均有权限,则确定所述计算字段有权限。
采用这样的方式确定计算字段的权限,简单方便。
在一些实施例中,所述元数据节点包括字段节点,所述元数据信息叠加所述字段节点所属的对象的权限信息。这里,对象的权限信息可以由预设元数据中对应的对象获取。
在一些实施例中,还包括:
根据所述查询语句确定引用字段;这里,引用字段的定义参见前述,引用字段、计算字段均可以依据所述查询语句的解析结果确定,本公开对此不做详述,计算字段同理;由于查询语句对应至少一元数据节点,若存在引用字段,则引用字段通常对应一元数据节点;
根据所述引用字段对应的元数据节点的权限,确定所述引用字段的权限。这里,引用字段对应一元数据节点,元数据节点包括元数据的权限信息,因此可以直接复用元数据的权限作为引用字段的权限,简便安全。
本公开实施例提供的权限的控制方法,对引用字段和计算字段分别确定权限,使得权限的控制更有针对性,有利于高效、准确确定权限。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种权限的控制装置。
参考图6,所述权限的控制装置,包括:
获取模块602,被配置为:获取查询语句;
识别模块604,被配置为:根据预设元数据和所述查询语句,确定并标记所述查询语句对应的至少一元数据节点;
定义模块606,被配置为:根据所述查询语句确定计算字段的定义;
依赖确定模块608,被配置为:基于所述计算字段的定义,对所述至少一元数据节点筛选得到所述计算字段的依赖元数据节点;以及
权限确定模块6010,被配置为:根据所述依赖元数据节点的权限,确定所述计算字段的权限。
在一些实施例中,所述元数据节点包括字段节点;识别模块604,还被配置为:通过解析所述查询语句,得到与所述查询语句对应的至少一字段节点;
响应于所述字段节点和预设元数据的任一字段相匹配,对所述字段节点进行标记并基于所述预设元数据获取对应的字段信息。
在一些实施例中,识别模块604,还被配置为:响应于所述字段节点和所述预设元数据的任一字段匹配失败,则输出错误信息。
在一些实施例中,所述计算字段的定义包括至少一参数,依赖确定模块608,还被配置为:将所述参数和所述至少一元数据节点进行比较;
响应于所述参数和任一所述元数据节点相对应,则将对应的所述元数据节点确定为所述计算字段的依赖元数据节点。
在一些实施例中,所述元数据节点包括元数据信息,所述元数据信息基于匹配的预设元数据获取;权限确定模块6010,还被配置为:
根据所述元数据信息确定所述依赖元数据节点的权限;
响应于任一所述依赖元数据节点无权限,则确定所述计算字段无权限;响应于所有依赖元数据节点均有权限,则确定所述计算字段有权限。
在一些实施例中,所述元数据节点包括字段节点,所述元数据信息叠加所述字段节点所属的对象的权限信息。
在一些实施例中,定义模块606,还被配置为:根据所述查询语句确定引用字段;
权限确定模块6010,还被配置为:根据所述引用字段对应的元数据节点的权限,确定所述引用字段的权限。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本公开时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述任一实施例中相应的控制方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的控制方法。
图7示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述任一实施例中相应的控制方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的控制方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的控制方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例所述的控制方法相对应的,本公开还提供了一种计算机程序产品,其包括计算机程序指令。在一些实施例中,所述计算机程序指令可以由计算机的一个或多个处理器执行以使得所述计算机和/或所述处理器执行所述的色彩矫正方法。对应于所述的色彩矫正方法各实施例中各步骤对应的执行主体,执行相应步骤的处理器可以是属于相应执行主体的。
上述实施例的计算机程序产品用于使所述计算机和/或所述处理器执行如上任一实施例所述的控制方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本公开实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本公开实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本公开实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本公开实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本公开实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本公开实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本公开实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (10)
1.一种权限的控制方法,其特征在于,包括:
获取查询语句;
根据预设元数据和所述查询语句,确定并标记所述查询语句对应的至少一元数据节点;
根据所述查询语句确定计算字段的定义;
基于所述计算字段的定义,对所述至少一元数据节点筛选得到所述计算字段的依赖元数据节点;以及
根据所述依赖元数据节点的权限,确定所述计算字段的权限。
2.根据权利要求1所述的控制方法,其特征在于,所述元数据节点包括字段节点;
所述根据预设元数据和所述查询语句,确定并标记所述查询语句对应的至少一元数据节点的步骤,具体包括:
通过解析所述查询语句,得到与所述查询语句对应的至少一字段节点;
响应于所述字段节点和预设元数据的任一字段相匹配,对所述字段节点进行标记并基于所述预设元数据获取对应的字段信息。
3.根据权利要求2所述的控制方法,其特征在于,还包括:
响应于所述字段节点和所述预设元数据的任一字段匹配失败,则输出错误信息。
4.根据权利要求1所述的控制方法,其特征在于,所述计算字段的定义包括至少一参数,所述基于所述计算字段的定义,对所述至少一元数据节点筛选得到所述计算字段的依赖元数据节点,具体包括:
将所述参数和所述至少一元数据节点进行比较;
响应于所述参数和任一所述元数据节点相对应,则将对应的所述元数据节点确定为所述计算字段的依赖元数据节点。
5.根据权利要求1所述的控制方法,其特征在于,所述元数据节点包括元数据信息,所述元数据信息基于匹配的预设元数据获取;所述根据所述依赖元数据节点的权限,确定所述计算字段的权限的步骤,具体包括:
根据所述元数据信息确定所述依赖元数据节点的权限;
响应于任一所述依赖元数据节点无权限,则确定所述计算字段无权限;响应于所有依赖元数据节点均有权限,则确定所述计算字段有权限。
6.根据权利要求5所述的控制方法,其特征在于,所述元数据节点包括字段节点,所述元数据信息叠加所述字段节点所属的对象的权限信息。
7.根据权利要求1所述的控制方法,其特征在于,还包括:
根据所述查询语句确定引用字段;
根据所述引用字段对应的元数据节点的权限,确定所述引用字段的权限。
8.一种权限的控制装置,其特征在于,包括:
获取模块,被配置为:获取查询语句;
识别模块,被配置为:根据预设元数据和所述查询语句,确定并标记所述查询语句对应的至少一元数据节点;
定义模块,被配置为:根据所述查询语句确定计算字段的定义;
依赖确定模块,被配置为:基于所述计算字段的定义,对所述至少一元数据节点筛选得到所述计算字段的依赖元数据节点;以及
权限确定模块,被配置为:根据所述依赖元数据节点的权限,确定所述计算字段的权限。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可由所述处理器执行的计算机程序,其特征在于,所述处理器在执行所述计算机程序时实现根据权利要求1至7中任意一项所述的控制方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行根据权利要求1至7中任意一项所述的控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311213307.5A CN117272374A (zh) | 2023-09-19 | 2023-09-19 | 权限的控制方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311213307.5A CN117272374A (zh) | 2023-09-19 | 2023-09-19 | 权限的控制方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117272374A true CN117272374A (zh) | 2023-12-22 |
Family
ID=89203727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311213307.5A Pending CN117272374A (zh) | 2023-09-19 | 2023-09-19 | 权限的控制方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117272374A (zh) |
-
2023
- 2023-09-19 CN CN202311213307.5A patent/CN117272374A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11042662B2 (en) | Data aggregation system for enabling query operations on restricted data that originates from multiple independent multiple sources | |
CN110032599B (zh) | 数据结构的读取及更新方法、装置、电子设备 | |
US20120174194A1 (en) | Role setting apparatus, and role setting method | |
US9135591B1 (en) | Analysis and assessment of software library projects | |
US11907941B2 (en) | Anonymization of data fields in transactions | |
US10891298B2 (en) | Systems and methods for package component visualizations | |
US10943027B2 (en) | Determination and visualization of effective mask expressions | |
CN115328569B (zh) | 处理数据冲突的方法、系统、电子设备及计算机可读存储介质 | |
CN111400681A (zh) | 数据权限处理方法、装置及设备 | |
US11704114B2 (en) | Data structures for managing configuration versions of cloud-based applications | |
CN116541372A (zh) | 一种数据资产治理方法及系统 | |
US20240037264A1 (en) | Systems and methods for providing network-based permissioning using security node hash identifiers | |
CN116974581B (zh) | 代码生成方法、装置、电子设备和存储介质 | |
US20160070765A1 (en) | Integrating search with application analysis | |
CN116628773A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN117272374A (zh) | 权限的控制方法及相关设备 | |
CN114238273A (zh) | 数据库管理方法、装置、设备及存储介质 | |
CN111880805A (zh) | 软件项目的包文件生成方法及装置、设备、存储介质 | |
CN111737293A (zh) | 一种数据仓库权限管理方法、装置、设备和存储介质 | |
CN116661758B (zh) | 一种优化日志框架配置的方法、装置、电子设备及介质 | |
US11847143B2 (en) | Systems and methods for automated data governance | |
US12001416B1 (en) | Systems and methods for generic data parsing applications | |
CN113704746A (zh) | 数据权限处理方法、装置及计算机设备 | |
CN117540124A (zh) | 埋点数据生成方法、系统、计算设备及存储介质 | |
WO2024010662A1 (en) | Tenant configuration state extraction and variance detection |
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 |