CN109492383A - 一种数据权限的解析方法 - Google Patents
一种数据权限的解析方法 Download PDFInfo
- Publication number
- CN109492383A CN109492383A CN201811330733.6A CN201811330733A CN109492383A CN 109492383 A CN109492383 A CN 109492383A CN 201811330733 A CN201811330733 A CN 201811330733A CN 109492383 A CN109492383 A CN 109492383A
- Authority
- CN
- China
- Prior art keywords
- condition
- entity
- term entity
- term
- array
- 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.)
- Granted
Links
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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- 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
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种数据权限的解析方法,将权限条件语句转化为条件实体,所述的条件实体包括以下属性:条件列名,条件符号,条件值,and条件数组,or条件数组,所述的解析方法包括以下步骤:组装条件实体;计算条件实体。本发明主要介绍一种基于条件实体以及将布尔表达式的条件语句解析成为条件实体的方法,通过对条件实体的设计及表达式解析过程的设计,使得数据权限控制条件语句可以直接存储在数据库中,通过解析可以轻易实现条件语句与条件实体的转化,具有简洁、实用、高效、通用、易扩展的特点。
Description
技术领域
本发明涉及计算机软件技术领域,特别是一种数据权限的解析方法。
背景技术
在计算机软件设计与开发过程中,权限管理几乎成为系统设计中必不可少的一部分,每一个系统都会涉及到不同的程度的权限控制。当管理员在配置一个较为复杂的权限时,无可避免的会对所配置的权限条件进行存储,这个存储条件既需要传递给前端供管理员查看,也需要转化为控制条件用于逻辑计算,所以这个存储条件需要结构简单,逻辑清晰,易于转化,方便修改,怎样存储这个条件成为急需解决的问题。对于这个问题,现无成熟解决方案。
当下最主要的解决方案是将复杂的条件进行拆分,将每一个条件及条件之间的关系都存储在数据库中,当使用这些条件的时候,无可避免的要对这些条件以及条件之间的关系查询出来,然后根据条件之间的关系进行组装,能拿到完整的条件结构。查询的时候,需要先查询条件关系,然后根据条件关系中对条件的引用查询下一个条件或者条件关系,这样对于一个十几个条件的表达式,需要进行几十次甚至上百次的数据库操作,才能将关系查询出来,这无疑是很耗时的,并且将每个条件存储到数据库中,也比较浪费空间,所以急需一种既能减少数据库操作,并且转化不费时的方法来取代该方法。
发明内容
为解决现有技术中存在的问题,本发明的目的是提供一种数据权限的解析方法,该方法解决了现有技术多次操作数据库耗时及存储量大的缺点,具有简洁、实用、高效、通用、易扩展的特点。
为实现上述目的,本发明采用的技术方案是:一种数据权限的解析方法,将权限条件语句转化为条件实体,所述的条件实体包括以下属性:条件列名,表示该条件的实体;条件符号,表示该条件的运算符号;条件值,紧跟着所述条件符号,表示该条件的运算值;and条件数组,表示与该条件是and关系的条件数组;or条件数组,表示与该条件是or关系的条件数组;其中,所述的运算符号包括等于,不等于,大于,大于等于,小于,小于等于,NULL,NOT_NULL,LIKE,NOT_LIKE,IN,NOT_IN;
本发明涉及到的实体类型,一种是真实的条件实体,一种是虚拟的条件实体:真实的条件实体,表示一个正常的condition表达式,比如“name>20”可以表示为一个条件列名为name,条件符号为大于,条件值为20,and条件数组为空,or条件数组为空的一个条件;虚拟的条件实体,表示一个虚拟的表达式对象,虚拟条件包括True条件实体、False条件实体,主要的作用是用于代替“()”的作用,使得既存在“&&”又存在“||”的多混合条件可以与另一个条件进行“&&”或者“||”运算。
所述的解析方法包括以下步骤:
S1、组装条件实体,将各权限条件语句的表达式中的条件符号计算出来,并根据条件列名、条件符号以及条件值组装成相应的条件实体,将各条件实体通过“()”以及逻辑运算符“&&”和“||”组装后进行表达;
S2、计算条件实体,按照先计算同级条件实体之间的“&&”运算,再计算同级条件实体之间的“||”运算,最后计算括号的方法对步骤S1中组装后的各条件实体进行计算,则每一个括号都会创建一个满足布尔表达式的True条件实体或False条件实体,最终计算出的条件实体即为解析出的数据权限。
优选地,所述步骤S1具体包括以下步骤:
S11、输入字符串格式的权限条件语句组成的表达式,按照空格分割字符串成队列Str;
S12、设栈集合S为空;
S13、依次遍历Str,得到队列元素s,如果s不存在,则转到步骤S18,如果s以“(”开头,则转到步骤S14,如果s属于{&&,||},则转到步骤S15,如果s以“)”结尾,则转到步骤S16,否则转到步骤S17;
S14、拆分s中的“(”及条件列名,并将每一个“(”拆分出来入栈,将条件列名入栈,转到步骤S13;
S15、弹出最近入栈的第一个元素,如果该元素为“NULL”或者“NOT_NULL”,则再弹出栈顶元素,并组装成一个条件实体,否则再弹出两个元素,并组装为一个条件实体,将组装的条件实体入栈,s入栈,转到步骤S13;
S16、拆分出“)”部分,判断剩下部分,如果该元素为“NULL”或者“NOT_NULL”,则再弹出栈顶的第一个元素,并组装成一个条件实体;否则再弹出两个元素,并组装为一个条件实体,将组装的条件实体入栈,并将剩下的“)”部分拆分为单个“)”入栈,转到步骤S13;
S17、将s入栈,转到步骤S13;
S18、返回栈S。
优选地,所述步骤S2具体包括以下步骤:
S21、输入队列A,栈为S;
S22、依次取出A中的元素a,如果a不存在,转到步骤S27,如a是“)”,转到步骤S23,否则压入S的栈顶;
S23、从S中依次弹出栈顶对象,直到找到第一个“(”,取出两者之间的所有元素记作S1,转到步骤S24;
S24、依次取出S1集合中的元素记作i,如果元素i是条件实体,则将元素i记为当前元素,转到步骤S25;
S25、判断当前元素i的后一个对象是否为“&&”,如果是,则依次扫描偶数位是否存在连续“&&”,直到数组结束或者遇到“||”,并将“||”与元素i之间的条件实体组装为数组赋值给第一个条件实体的and条件数组,并将当前元素i变为“||”符号后一个对象,重复步骤S25;如果S1集合遍历完毕,转到步骤S26;
S26、将S1集合中除第一个条件实体的部分组成or条件数组,赋值给S1中第一个条件实体记作Con1的or条件数组,此时从A中去掉栈顶“(”元素,并判断a的下一个元素是否为“&&”,如果为“&&”,创建一个False条件实体Con2,并将Con1赋值给Con2的or属性中;如果为“||”,创建True条件实体Con2,并将Con1赋值给Con2的and属性中,并将Con2入栈,转到步骤S22;
S27、返回栈的第一个元素。
本发明的有益效果是:本发明主要介绍一种基于条件实体以及将布尔表达式的条件语句解析成为条件实体的方法,通过对条件实体的设计及表达式解析过程的设计,使得数据权限控制条件语句可以直接存储在数据库中,通过解析可以轻易实现条件语句与条件实体的转化,具有简洁、实用、高效、通用、易扩展的特点。
附图说明
图1为本发明实施例的流程框图;
图2为本发明实施例拆分表达式组装为条件实体的流程框图;
图3为本发明实施例计算得到最终条件实体的流程框图。
具体实施方式
下面结合附图对本发明的实施例进行详细说明。
实施例
如图1所示,一种数据权限的解析方法,将权限条件语句转化为条件实体,所述的条件实体包括以下属性:条件列名,表示该条件的实体;条件符号,表示该条件的运算符号;条件值,紧跟着所述条件符号,表示该条件的运算值;and条件数组,表示与该条件是and关系的条件数组;or条件数组,表示与该条件是or关系的条件数组;其中,所述的运算符号包括等于,不等于,大于,大于等于,小于,小于等于,NULL,NOT_NULL,LIKE,NOT_LIKE,IN,NOT_IN;
所述的解析方法包括以下步骤:
S1、组装条件实体,将各权限条件语句的表达式中的条件符号计算出来,并根据条件列名、条件符号以及条件值组装成相应的条件实体,将各条件实体通过“()”以及逻辑运算符“&&”和“||”组装后进行表达;
S2、计算条件实体,按照先计算同级条件实体之间的“&&”运算,再计算同级条件实体之间的“||”运算,最后计算括号的方法对步骤S1中组装后的各条件实体进行计算,则每一个括号都会创建一个满足布尔表达式的True条件实体或False条件实体,最终计算出的条件实体即为解析出的数据权限。
本实施例具有通用性,使用一个条件控制案例来对本实施例作进一步说明,案例如下:
某学校评选五佳学生,权限条件如下:
1.大一学生要求成绩在该学院排名前五,计算机学院学生要求排名前十并且有软件作品;
2.大四学生不参与评选;
3.其他年级的学生要求学院排名前十或获得过全国级比赛奖项;
4.学生不能有记大过和留校察看的严重处分记录。
各权限条件语句组成的表达式如下:“((年级=大一&&(学院=计算机&&学院排名>=10&&软件作品NOT_NULL||学院排名>=5)||(学院排名>=10||获奖记录LIKE全国)&&年级!=大四)&&处分记录NOT_IN记大过;留校察看)”;表达式中相邻元素之间除括号以外有且只有一个空格,括号与相邻数值为一体。
解析过程如下:
第一步,如图2所示,将上述表达式组装为条件实体,使其只包含“()”,条件实体,“&&”,“||”的表达式:
1.首先将表达式以空格为分隔符拆分为数组A,从左到右取出,并将每一项记作a;
2.如果a以“(”开始,则拆分“(”分别入栈,如果存在多个连续的“(”,全部入栈,并将剩下部分入栈,如“((年级”,入栈后栈中有{(,(,年级};
3.如果a为“&&”或者“||”时,弹出栈顶对象s1,判断s1是否为“NULL”或者“NOT_NULL”,如果是,则弹出一个栈顶对象记作列名s2,则使用s1为符号,和s2组成一个条件实体压入栈顶;如果不是,弹出栈顶对象s2作为条件符号,再弹出栈顶对象s3作为条件列名,s1为条件值组成条件实体压入栈顶;并将遇到的“&&”或者“||”入栈,计算后S={(,(,A,&&},A为刚计算的条件实体;
4.如果a以“)”结尾的对象时,比如“5)”取出第一个“)”所在位置,判断“)”前的部分是否为“NULL”或“NOT_NULL”。如果是,如第三步一样,弹出栈顶对象,组合成条件实体。如果不是,弹出两个对象分别作为条件列名和条件符号,并组合成为条件实体。剩下的“)”入栈,如果存在多个“)”,依次入栈,计算后S={(,(,A,&&,(,B,&&,C,&&,D,||,E,)}。
5.否则a直接入栈,比如“=”,计算后S={(,(,年级,=,大一}。
最后可将上述表达式转化为((A&&(B&&C&&D||E)||(F||G)&&H)&&I),其中大写字母表示一个条件实体,条件实体的or和and属性全为null;
第二步,如图3所示,组装条件实体之间的关系,计算得到最终条件实体:
1.数组简化为
Arr={(,(,A,&&,(,B,&&,C,&&,D,||,E,),||,(,F,||,G,),&&,H,),&&,I,)},设栈为S;
2.从左到右依次取出Arr中的元素记作a,如果a为不为“)”,直接入栈;如果a为“)”时,依次弹出栈顶对象直到找到第一个“(”。取出两者之间的值记作S1,此时为S1={B&&C&&D||E},转到第3步;
计算B&&C&&D||E之间的关系。首先从左到右依次扫描,当遇到条件实体时,此时为对象B,判断他的下一个是否为“&&”,如果是,依次扫描偶数位,直到找到第一个不是“&&”符号的或者不存在元素扫描时,将B和“||”之间的条件实体组合成数组赋值给B的and属性,则B的and属性中有C、D。然后删除C、D。继续扫描,遇到E的时候,继续扫描其后是否有“&&”,如果有重复上边的步骤。否则进入第4步;
3.此时表达式为S1={B||E},B.and={C,D},现在将所有的条件值组成数组赋值给B的or属性,此时表达式为B,B.and={C,D},B.or={E};现判断a的后一位a2,如果a2为“||”,则弹出“(”。并创建新虚拟的True条件实体,并将B赋值给True条件实体的and数组中,并将True条件实体入栈;如果为“&&”,弹出“(”,并创建虚拟的False条件实体,并将B赋值给True条件实体的or数组中;经过计算此时栈为S={(,(,A,&&,true,},true.and={B},B.and={C,D},B.or={E},跳转到步骤2继续执行;
4.重复以上步骤,当数组Arr扫描完成时,上述表达式可以转化为一个条件实体对象。
以上所述实施例仅表达了本发明的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (3)
1.一种数据权限的解析方法,其特征在于,将权限条件语句转化为条件实体,所述的条件实体包括以下属性:条件列名,表示该条件的实体;条件符号,表示该条件的运算符号;条件值,紧跟着所述条件符号,表示该条件的运算值;and条件数组,表示与该条件是and关系的条件数组;or条件数组,表示与该条件是or关系的条件数组;其中,所述的运算符号包括等于,不等于,大于,大于等于,小于,小于等于,NULL,NOT_NULL,LIKE,NOT_LIKE,IN,NOT_IN;
所述的解析方法包括以下步骤:
S1、组装条件实体,将各权限条件语句的表达式中的条件符号计算出来,并根据条件列名、条件符号以及条件值组装成相应的条件实体,将各条件实体通过“()”以及逻辑运算符“&&”和“||”组装后进行表达;
S2、计算条件实体,按照先计算同级条件实体之间的“&&”运算,再计算同级条件实体之间的“||”运算,最后计算括号的方法对步骤S1中组装后的各条件实体进行计算,则每一个括号都会创建一个满足布尔表达式的True条件实体或False条件实体,最终计算出的条件实体即为解析出的数据权限。
2.根据权利要求1所述的数据权限的解析方法,其特征在于,所述步骤S1具体包括以下步骤:
S11、输入字符串格式的权限条件语句组成的表达式,按照空格分割字符串成队列Str;
S12、设栈集合S为空;
S13、依次遍历Str,得到队列元素s,如果s不存在,则转到步骤S18,如果s以“(”开头,则转到步骤S14,如果s属于{&&,||},则转到步骤S15,如果s以“)”结尾,则转到步骤S16,否则转到步骤S17;
S14、拆分s中的“(”及条件列名,并将每一个“(”拆分出来入栈,将条件列名入栈,转到步骤S13;
S15、弹出最近入栈的第一个元素,如果该元素为“NULL”或者“NOT_NULL”,则再弹出栈顶元素,并组装成一个条件实体,否则再弹出两个元素,并组装为一个条件实体,将组装的条件实体入栈,s入栈,转到步骤S13;
S16、拆分出“)”部分,判断剩下部分,如果该元素为“NULL”或者“NOT_NULL”,则再弹出栈顶的第一个元素,并组装成一个条件实体;否则再弹出两个元素,并组装为一个条件实体,将组装的条件实体入栈,并将剩下的“)”部分拆分为单个“)”入栈,转到步骤S13;
S17、将s入栈,转到步骤S13;
S18、返回栈S。
3.根据权利要求2所述的数据权限的解析方法,其特征在于,所述步骤S2具体包括以下步骤:
S21、输入队列A,栈为S;
S22、依次取出A中的元素a,如果a不存在,转到步骤S27,如a是“)”,转到步骤S23,否则压入S的栈顶;
S23、从S中依次弹出栈顶对象,直到找到第一个“(”,取出两者之间的所有元素记作S1,转到步骤S24;
S24、依次取出S1集合中的元素记作i,如果元素i是条件实体,则将元素i记为当前元素,转到步骤S25;
S25、判断当前元素i的后一个对象是否为“&&”,如果是,则依次扫描偶数位是否存在连续“&&”,直到数组结束或者遇到“||”,并将“||”与元素i之间的条件实体组装为数组赋值给第一个条件实体的and条件数组,并将当前元素i变为“||”符号后一个对象,重复步骤S25;如果S1集合遍历完毕,转到步骤S26;
S26、将S1集合中除第一个条件实体的部分组成or条件数组,赋值给S1中第一个条件实体记作Con1的or条件数组,此时从A中去掉栈顶“(”元素,并判断a的下一个元素是否为“&&”,如果为“&&”,创建一个False条件实体Con2,并将Con1赋值给Con2的or属性中;如果为“||”,创建True条件实体Con2,并将Con1赋值给Con2的and属性中,并将Con2入栈,转到步骤S22;
S27、返回栈的第一个元素。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811330733.6A CN109492383B (zh) | 2018-11-09 | 2018-11-09 | 一种数据权限的解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811330733.6A CN109492383B (zh) | 2018-11-09 | 2018-11-09 | 一种数据权限的解析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109492383A true CN109492383A (zh) | 2019-03-19 |
CN109492383B CN109492383B (zh) | 2022-02-01 |
Family
ID=65694193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811330733.6A Active CN109492383B (zh) | 2018-11-09 | 2018-11-09 | 一种数据权限的解析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109492383B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111008020A (zh) * | 2019-12-24 | 2020-04-14 | 四川新网银行股份有限公司 | 将逻辑表达式解析为通用查询语句的方法 |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4924219A (en) * | 1986-08-13 | 1990-05-08 | Kabushiki Kaisha Toshiba | Retrieval apparatus using logical operators |
US6681217B1 (en) * | 1998-10-27 | 2004-01-20 | Jerzy Lewak | Boolean text search combined with extended regular expression search |
CN1881208A (zh) * | 2005-06-14 | 2006-12-20 | 联想(北京)有限公司 | 动态结构化查询语言语句的构造方法 |
WO2007008583A2 (en) * | 2005-07-07 | 2007-01-18 | Kohne David E | Improved protein expression comparison assay results and applications |
CN101122983A (zh) * | 2007-08-28 | 2008-02-13 | 南京联创科技股份有限公司 | 条件配置管理的方法 |
CN101984439A (zh) * | 2010-12-09 | 2011-03-09 | 上海市共进通信技术有限公司 | 基于子查询实现数据源xml查询系统优化的方法 |
CN102222193A (zh) * | 2011-06-28 | 2011-10-19 | 用友软件股份有限公司 | 数据权限设置装置和数据权限设置方法 |
CN102789457A (zh) * | 2011-05-17 | 2012-11-21 | 航天信息股份有限公司 | 动态定制过滤条件的方法 |
CN103440331A (zh) * | 2013-09-05 | 2013-12-11 | 五八同城信息技术有限公司 | 基于逆波兰和多叉树的搜索引擎查询语句解析方法 |
CN104346383A (zh) * | 2013-07-31 | 2015-02-11 | 上海云端广告有限公司 | 一种数据权限控制方法和系统 |
CN104407839A (zh) * | 2014-10-31 | 2015-03-11 | 北京思特奇信息技术股份有限公司 | 一种复杂运算逻辑的解析方法及装置 |
CN104794240A (zh) * | 2015-05-08 | 2015-07-22 | 国家测绘地理信息局四川测绘产品质量监督检验站 | 面向地理空间数据库属性值约束检查的表达式解析方法 |
CN105677528A (zh) * | 2016-01-06 | 2016-06-15 | 长园共创电力安全技术股份有限公司 | 通过逆波兰表达式对五防逻辑表达式进行校验的方法 |
CN106250782A (zh) * | 2016-08-12 | 2016-12-21 | 天津西瑞尔信息工程有限公司 | 一种基于sql语句解析的数据权限控制方法及装置 |
CN106445910A (zh) * | 2015-09-02 | 2017-02-22 | 深圳市览网络股份有限公司 | 一种文档解析方法与装置 |
CN107392053A (zh) * | 2017-08-11 | 2017-11-24 | 四川长虹电器股份有限公司 | 一种企业员工信息数据库中的数据权限控制方法 |
CN107729001A (zh) * | 2017-09-08 | 2018-02-23 | 北京京东尚科信息技术有限公司 | 一种表达式处理方法和装置 |
-
2018
- 2018-11-09 CN CN201811330733.6A patent/CN109492383B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4924219A (en) * | 1986-08-13 | 1990-05-08 | Kabushiki Kaisha Toshiba | Retrieval apparatus using logical operators |
US6681217B1 (en) * | 1998-10-27 | 2004-01-20 | Jerzy Lewak | Boolean text search combined with extended regular expression search |
CN1881208A (zh) * | 2005-06-14 | 2006-12-20 | 联想(北京)有限公司 | 动态结构化查询语言语句的构造方法 |
WO2007008583A2 (en) * | 2005-07-07 | 2007-01-18 | Kohne David E | Improved protein expression comparison assay results and applications |
CN101122983A (zh) * | 2007-08-28 | 2008-02-13 | 南京联创科技股份有限公司 | 条件配置管理的方法 |
CN101984439A (zh) * | 2010-12-09 | 2011-03-09 | 上海市共进通信技术有限公司 | 基于子查询实现数据源xml查询系统优化的方法 |
CN102789457A (zh) * | 2011-05-17 | 2012-11-21 | 航天信息股份有限公司 | 动态定制过滤条件的方法 |
CN102222193A (zh) * | 2011-06-28 | 2011-10-19 | 用友软件股份有限公司 | 数据权限设置装置和数据权限设置方法 |
CN104346383A (zh) * | 2013-07-31 | 2015-02-11 | 上海云端广告有限公司 | 一种数据权限控制方法和系统 |
CN103440331A (zh) * | 2013-09-05 | 2013-12-11 | 五八同城信息技术有限公司 | 基于逆波兰和多叉树的搜索引擎查询语句解析方法 |
CN104407839A (zh) * | 2014-10-31 | 2015-03-11 | 北京思特奇信息技术股份有限公司 | 一种复杂运算逻辑的解析方法及装置 |
CN104794240A (zh) * | 2015-05-08 | 2015-07-22 | 国家测绘地理信息局四川测绘产品质量监督检验站 | 面向地理空间数据库属性值约束检查的表达式解析方法 |
CN106445910A (zh) * | 2015-09-02 | 2017-02-22 | 深圳市览网络股份有限公司 | 一种文档解析方法与装置 |
CN105677528A (zh) * | 2016-01-06 | 2016-06-15 | 长园共创电力安全技术股份有限公司 | 通过逆波兰表达式对五防逻辑表达式进行校验的方法 |
CN106250782A (zh) * | 2016-08-12 | 2016-12-21 | 天津西瑞尔信息工程有限公司 | 一种基于sql语句解析的数据权限控制方法及装置 |
CN107392053A (zh) * | 2017-08-11 | 2017-11-24 | 四川长虹电器股份有限公司 | 一种企业员工信息数据库中的数据权限控制方法 |
CN107729001A (zh) * | 2017-09-08 | 2018-02-23 | 北京京东尚科信息技术有限公司 | 一种表达式处理方法和装置 |
Non-Patent Citations (2)
Title |
---|
ROHIT RASTOGI 等: "An exhaustive review for infix to postfix conversion with applications and benefits", 《 2015 2ND INTERNATIONAL CONFERENCE ON COMPUTING FOR SUSTAINABLE GLOBAL DEVELOPMENT (INDIACOM)》 * |
何云东: "复杂表达式解析和计算的研究实现", 《中国科技信息》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111008020A (zh) * | 2019-12-24 | 2020-04-14 | 四川新网银行股份有限公司 | 将逻辑表达式解析为通用查询语句的方法 |
CN111008020B (zh) * | 2019-12-24 | 2023-04-07 | 四川新网银行股份有限公司 | 将逻辑表达式解析为通用查询语句的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109492383B (zh) | 2022-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8244046B2 (en) | Character string updated degree evaluation program | |
US7305404B2 (en) | Data structure and management system for a superset of relational databases | |
US6947947B2 (en) | Method for adding metadata to data | |
CN101021850B (zh) | 单词检索设备和单词检索方法 | |
CN100447779C (zh) | 文档信息处理设备及文档信息处理方法 | |
CN106202248B (zh) | 信息检索系统中基于短语的搜索 | |
CN105830064A (zh) | 情态生成装置以及用于其的计算机程序 | |
CN108733644B (zh) | 一种文本情感分析方法、计算机可读存储介质及终端设备 | |
CN103329122A (zh) | 使用多个表示的文档存储 | |
Sayed et al. | Predicting potential banking customer churn using apache spark ML and MLlib packages: a comparative study | |
US20160210333A1 (en) | Method and device for mining data regular expression | |
CN106484797A (zh) | 基于稀疏学习的突发事件摘要抽取方法 | |
Specht et al. | A story of data won, data lost and data re-found: the realities of ecological data preservation | |
CN113254507A (zh) | 一种数据资产目录智能构建盘点方法 | |
KR101379128B1 (ko) | 사전 생성 장치, 사전 생성 방법 및 사전 생성 프로그램을 기억하는 컴퓨터 판독 가능 기록 매체 | |
CN109492383A (zh) | 一种数据权限的解析方法 | |
CN100421107C (zh) | 用于关系数据库的超集的数据结构和管理系统 | |
JP4309933B2 (ja) | 文書分類装置及び分類方法 | |
CN114330284A (zh) | 一种基于规则模型的自动化保险条款解析方法 | |
CN115238092A (zh) | 一种实体关系抽取方法、装置、设备及存储介质 | |
US8238351B2 (en) | Method for determining a most probable K location | |
US20070219975A1 (en) | Method for processing K node count fields using an intensity variable | |
US7676330B1 (en) | Method for processing a particle using a sensor structure | |
EP1484694A1 (en) | Converting object structures for search engines | |
Deshmukh et al. | Predictive data mining: A generalized approach |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |