一种数据权限控制方法和系统技术方案

技术编号:11022899 阅读:105 留言:0更新日期:2015-02-11 12:01
本申请提供一种数据权限控制方法和系统。其中一种数据权限控制方法包括获取操作体输入的查询条件,并生成与查询条件匹配的关系表达式;解析关系表达式,获得与关系表达式对应的逻辑数据结构;将所述逻辑数据结构转换为结构化查询语言语句;执行结构化查询语言语句以访问数据。因此在数据权限的条件变更后,查询条件作为对数据权限的条件的概括也发生变更,进而可以直接生成变更后的查询条件匹配的生产关系表达式,进而得到结构化查询语言语句,通过执行结构化查询语言语句实现对数据的访问,从而无需由程序开发人员在查询条件变更后修改程序代码,进而节省人力成本,节约时间,并提高工作效率。

【技术实现步骤摘要】
【专利摘要】本申请提供一种数据权限控制方法和系统。其中一种数据权限控制方法包括获取操作体输入的查询条件,并生成与查询条件匹配的关系表达式;解析关系表达式,获得与关系表达式对应的逻辑数据结构;将所述逻辑数据结构转换为结构化查询语言语句;执行结构化查询语言语句以访问数据。因此在数据权限的条件变更后,查询条件作为对数据权限的条件的概括也发生变更,进而可以直接生成变更后的查询条件匹配的生产关系表达式,进而得到结构化查询语言语句,通过执行结构化查询语言语句实现对数据的访问,从而无需由程序开发人员在查询条件变更后修改程序代码,进而节省人力成本,节约时间,并提高工作效率。【专利说明】一种数据权限控制方法和系统
本申请属于数据库控制
,尤其涉及一种数据权限控制方法和系统。
技术介绍
数据权限可以应用于企业应用、互联网服务以及云计算服务等各类软件的权限体系中,并且所述数据权限可以控制各类软件对数据的访问。 例如在对某个假单审批系统进行数据访问时,数据权限可以是“经理能审批自己部门的假单”,则程序开发人员根据该数据权限进行程序开发,在程序代码中加入“自己部门”的查询条件,以控制经理对自己部门假单的访问。然而,随着业务的发展,访问假单审批系统的数据权限变更为“经理能审批自己部门的且不超过三天的假单”,其限定的条件相应的发生变更,则程序开发人员修改程序的查询条件为“自己部门+天数〈3”,对应的程序代码可以是 if (department==self&&days〈3) {d0...}。 综上所述,现有数据权限变更后,业务人员需要将变更后的数据权限提交给程序开发人员,再由程序开发人员更改程序代码以匹配变更后的数据权限,从而造成权限变更延迟,并且造成人力和时间的消耗。
技术实现思路
有鉴于此,本申请的目的在于提供一种数据权限控制方法,在所述数据权限控制方法使用中,业务人员可自行调整数据权限的控制逻辑,无需由程序开发人员进行程序代码的修改,从而节省人力成本,节约时间,并提高工作效率。本申请还提供了一种数据权限控制系统,用以保证上述方法在实际中的实现及应用。技术方案如下: 一方面,本申请提供一种数据权限控制方法,包括: 获取操作体输入的查询条件,并生成与所述查询条件匹配的关系表达式,其中所述查询条件概括所述数据权限访问数据的条件; 解析所述关系表达式,获得与所述关系表达式对应的逻辑数据结构,其中所述逻辑数据结构可被程序阅读; 将所述逻辑数据结构转换为结构化查询语言语句,其中所述结构化查询语言语句与所述关系表达式对应相同的所述查询条件; 执行所述结构化查询语言语句以访问数据。 优选地,解析所述关系表达式,获得与所述关系表达式对应的逻辑数据结构包括: 获取所述关系表达式中所有的运算节点,其中所述运算节点包括运算符、运算函数、运算量和领域属性; 依据每个所述运算节点在所述关系表达式中的运算顺序,构建所述关系表达式对应的逻辑数据结构,其中每个所述运算节点作为所述逻辑数据结构中的逻辑节点。 优选地,所述逻辑数据结构中逻辑节点的级别依据所述运算顺序进行划分。 优选地,将所述逻辑数据结构转换为结构化查询语言语句包括: 遍历所述逻辑数据结构中的各个逻辑节点,获取各个逻辑节点的运算顺序,并将所述运算顺序采用结构化查询语言编写,获得结构化查询语言语句。 优选地,生成与数据权限的查询条件匹配的关系表达式包括: 确定与所述查询条件对应的运算量,并获取与所述查询条件对应的运算字符,其中所述运算量包括常量和变量中的至少一种,所述运算字符包括运算符和运算函数中的至少一种; 依据所述查询条件组合所述运算量和所述运算字符,生成所述关系表达式。 另一方面,本申请提供一种数据权限控制系统,包括: 表达式生成单元,用于获取操作体输入的查询条件,并生成与所述查询条件匹配的关系表达式,其中所述查询条件概括所述数据权限访问数据的条件; 解析单元,用于解析所述关系表达式,获得与所述关系表达式对应的逻辑数据结构,其中所述逻辑数据结构可被程序阅读; 转换单元,用于将所述逻辑数据结构转换为结构化查询语言语句,其中所述结构化查询语言语句与所述关系表达式对应相同的所述查询条件; 执行单元,用于执行所述结构化查询语言语句以访问数据。 优选地,所述解析单元包括: 节点获取子单元,用于获取所述关系表达式中所有的运算节点,其中所述运算节点包括运算符、运算函数、运算量和领域属性; 构建子单元,用于依据每个所述运算节点在所述关系表达式中的运算顺序,构建所述关系表达式对应的逻辑数据结构,其中每个所述运算节点作为所述逻辑数据结构中的逻辑节点。 优选地,所述逻辑数据结构中逻辑节点的级别依据所述运算顺序进行划分。 优选地,所述转换单元具体用于遍历所述逻辑数据结构中的各个逻辑节点,获取各个逻辑节点的运算顺序,并将所述运算顺序采用结构化查询语言编写,获得结构化查询语目语句。 优选地,所述表达式生成单元包括: 获取子单元,用于确定与所述查询条件对应的运算量,并获取与所述查询条件对应的运算字符,其中所述运算量包括常量和变量中的至少一种,所述运算字符包括运算符和运算函数中的至少一种; 生成子单元,用于依据所述查询条件组合所述运算量和所述运算字符,生成所述关系表达式。 在本申请中,获取操作体输入的查询条件后,可以生成与查询条件匹配的关系表达式。在解析关系表达式后获得与关系表达式对应的逻辑数据结构,并将所述逻辑数据结构转换为结构化查询语言语句,执行所述结构化查询语言语句以访问数据。也就是说在数据权限的条件变更后,查询条件作为对数据权限的条件的概括也发生变更,进而可以直接生成变更后的查询条件匹配的生产关系表达式,进而得到结构化查询语言语句,通过执行结构化查询语言语句实现对数据的访问,从而无需由程序开发人员在查询条件变更后修改程序代码,进而节省人力成本,节约时间,并提高工作效率。 【专利附图】【附图说明】 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。 图1是本申请提供的一种数据权限控制方法的流程图; 图2是本申请提供的数据权限控制方法中逻辑数据结构的一种示意图; 图3是本申请提供的数据权限控制方法中逻辑数据结构的另一种示意图; 图4是本申请提供的数据权限控制方法中逻辑数据结构的再一种示意图; 图5是本申请提供的一种数据权限控制系统的结构示意图; 图6是本申请提供的数据权限控制系统中表达式生成单元的结构示意图; 图7是本申请提供的数据权限控制系统中解析单元的结构示意图。 【具体实施方式】 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。 请参阅图1,其示出了本申请实施例提供的一种本文档来自技高网
...

【技术保护点】
一种数据权限控制方法,其特征在于,包括:获取操作体输入的查询条件,并生成与所述查询条件匹配的关系表达式,其中所述查询条件概括所述数据权限访问数据的条件;解析所述关系表达式,获得与所述关系表达式对应的逻辑数据结构,其中所述逻辑数据结构可被程序阅读;将所述逻辑数据结构转换为结构化查询语言语句,其中所述结构化查询语言语句与所述关系表达式对应相同的所述查询条件;执行所述结构化查询语言语句以访问数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:张宝玉郭铁志马向晖
申请(专利权)人:上海云端广告有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1