[发明专利]一种数据权限的解析方法有效
申请号: | 201811330733.6 | 申请日: | 2018-11-09 |
公开(公告)号: | CN109492383B | 公开(公告)日: | 2022-02-01 |
发明(设计)人: | 廖洪;孙瑞 | 申请(专利权)人: | 四川长虹电器股份有限公司 |
主分类号: | G06F21/45 | 分类号: | G06F21/45;G06F21/62 |
代理公司: | 四川省成都市天策商标专利事务所(有限合伙) 51213 | 代理人: | 吴瑞芳 |
地址: | 621000 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 权限 解析 方法 | ||
本发明公开了一种数据权限的解析方法,将权限条件语句转化为条件实体,所述的条件实体包括以下属性:条件列名,条件符号,条件值,and条件数组,or条件数组,所述的解析方法包括以下步骤:组装条件实体;计算条件实体。本发明主要介绍一种基于条件实体以及将布尔表达式的条件语句解析成为条件实体的方法,通过对条件实体的设计及表达式解析过程的设计,使得数据权限控制条件语句可以直接存储在数据库中,通过解析可以轻易实现条件语句与条件实体的转化,具有简洁、实用、高效、通用、易扩展的特点。
技术领域
本发明涉及计算机软件技术领域,特别是一种数据权限的解析方法。
背景技术
在计算机软件设计与开发过程中,权限管理几乎成为系统设计中必不可少的一部分,每一个系统都会涉及到不同的程度的权限控制。当管理员在配置一个较为复杂的权限时,无可避免的会对所配置的权限条件进行存储,这个存储条件既需要传递给前端供管理员查看,也需要转化为控制条件用于逻辑计算,所以这个存储条件需要结构简单,逻辑清晰,易于转化,方便修改,怎样存储这个条件成为急需解决的问题。对于这个问题,现无成熟解决方案。
当下最主要的解决方案是将复杂的条件进行拆分,将每一个条件及条件之间的关系都存储在数据库中,当使用这些条件的时候,无可避免的要对这些条件以及条件之间的关系查询出来,然后根据条件之间的关系进行组装,能拿到完整的条件结构。查询的时候,需要先查询条件关系,然后根据条件关系中对条件的引用查询下一个条件或者条件关系,这样对于一个十几个条件的表达式,需要进行几十次甚至上百次的数据库操作,才能将关系查询出来,这无疑是很耗时的,并且将每个条件存储到数据库中,也比较浪费空间,所以急需一种既能减少数据库操作,并且转化不费时的方法来取代该方法。
发明内容
为解决现有技术中存在的问题,本发明的目的是提供一种数据权限的解析方法,该方法解决了现有技术多次操作数据库耗时及存储量大的缺点,具有简洁、实用、高效、通用、易扩展的特点。
为实现上述目的,本发明采用的技术方案是:一种数据权限的解析方法,将权限条件语句转化为条件实体,所述的条件实体包括以下属性:条件列名,表示该条件的实体;条件符号,表示该条件的运算符号;条件值,紧跟着所述条件符号,表示该条件的运算值;and条件数组,表示与该条件是and关系的条件数组;or条件数组,表示与该条件是or关系的条件数组;其中,所述的运算符号包括等于,不等于,大于,大于等于,小于,小于等于,NULL,NOT_NULL,LIKE,NOT_LIKE,IN,NOT_IN;
本发明涉及到的实体类型,一种是真实的条件实体,一种是虚拟的条件实体:真实的条件实体,表示一个正常的condition表达式,比如“name20”可以表示为一个条件列名为name,条件符号为大于,条件值为20,and条件数组为空,or条件数组为空的一个条件;虚拟的条件实体,表示一个虚拟的表达式对象,虚拟条件包括True条件实体、False条件实体,主要的作用是用于代替“()”的作用,使得既存在“”又存在“||”的多混合条件可以与另一个条件进行“”或者“||”运算。
所述的解析方法包括以下步骤:
S1、组装条件实体,将各权限条件语句的表达式中的条件符号计算出来,并根据条件列名、条件符号以及条件值组装成相应的条件实体,将各条件实体通过“()”以及逻辑运算符“”和“||”组装后进行表达;
S2、计算条件实体,按照先计算同级条件实体之间的“”运算,再计算同级条件实体之间的“||”运算,最后计算括号的方法对步骤S1中组装后的各条件实体进行计算,则每一个括号都会创建一个满足布尔表达式的True条件实体或False条件实体,最终计算出的条件实体即为解析出的数据权限。
优选地,所述步骤S1具体包括以下步骤:
S11、输入字符串格式的权限条件语句组成的表达式,按照空格分割字符串成队列Str;
S12、设栈集合S为空;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川长虹电器股份有限公司,未经四川长虹电器股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811330733.6/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置