CN111475525A - 基于结构化查询语言的脱敏方法、及其相关设备 - Google Patents
基于结构化查询语言的脱敏方法、及其相关设备 Download PDFInfo
- Publication number
- CN111475525A CN111475525A CN202010150183.0A CN202010150183A CN111475525A CN 111475525 A CN111475525 A CN 111475525A CN 202010150183 A CN202010150183 A CN 202010150183A CN 111475525 A CN111475525 A CN 111475525A
- Authority
- CN
- China
- Prior art keywords
- structured query
- query language
- desensitization
- initial
- field
- 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
Images
Classifications
-
- 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
- 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/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据处理技术领域,提供了一种基于结构化查询语言的脱敏方法、及其相关设备,所述基于结构化查询语言的脱敏方法包括:从预设待处理库中获取查询用户提交的初始结构化查询语言;利用预设语法解析器对初始结构化查询语言进行解析处理,得到解析文本;遍历解析文本,获取数据表表名、初始字段和过滤条件;根据数据表表名、初始字段和过滤条件进行脱敏处理,并基于脱敏处理后的结果生成目标结构化查询语言;将目标结构化查询语言导入到查询库中进行查询,获取查询结果;通过正则表达式对查询结果进行二次脱敏处理,得到目标结果。本发明的技术方案实现提高对初始结构化查询语言进行脱敏处理的准确性,保证数据的安全性。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种基于结构化查询语言的脱敏方法、及其相关设备。
背景技术
随着企业的发展,业务数据不断增长,随之而来的是数据相关工作的开展。越来越多的分析和数据挖掘都是以真实生产数据为基础进行,数据在使用过程中,面临数据安全的问题。分析人员在查询数据时通常是以结构化查询语言进行查询,为保障数据分析人员对数据的使用,同时降低数据泄露的风险,需要对数据进行脱敏处理。
目前针对结构化查询语言进行脱敏处理主要是通过以下三种方案:
1.创建对应脱敏表,将源表中的敏感信息进行脱敏后,写入到该表中,提供给用户使用。
2.将源表的敏感字段直接进行update后,提供给用户使用。
3.创建映射的视图,在视图中将敏感信息字段进行屏蔽,然后提供给用户使用。
但以上方案在数据信息量较大的数据库中,只对包含敏感信息较多的数据表进行脱敏,故存在少量数据表中存在敏感信息,从而导致脱敏处理不准确,进而影响数据的安全性。
发明内容
本发明实施例提供一种基于结构化查询语言的脱敏方法、及其相关设备,以解决传统对结构化查询语言进行脱敏处理方法准确性低,影响数据安全性的问题。
一种基于结构化查询语言的脱敏方法,包括:
从预设待处理库中获取查询用户提交的初始结构化查询语言;
利用预设语法解析器对所述初始结构化查询语言进行解析处理,得到解析文本;
遍历所述解析文本,获取数据表表名、初始字段和过滤条件;
根据所述数据表表名、所述初始字段和所述过滤条件进行脱敏处理,并基于脱敏处理后的结果生成目标结构化查询语言;
将所述目标结构化查询语言导入到查询库中进行查询,获取查询结果;
通过正则表达式对查询结果进行二次脱敏处理,得到目标结果。
一种基于结构化查询语言的脱敏装置,包括:
第一获取模块,用于从预设待处理库中获取查询用户提交的初始结构化查询语言;
解析模块,用于利用预设语法解析器对所述初始结构化查询语言进行解析处理,得到解析文本;
遍历模块,用于遍历所述解析文本,获取数据表表名、初始字段和过滤条件;
脱敏模块,用于根据所述数据表表名、所述初始字段和所述过滤条件进行脱敏处理,并基于脱敏处理后的结果生成目标结构化查询语言;
查询模块,用于将所述目标结构化查询语言导入到查询库中进行查询,获取查询结果;
二次脱敏模块,用于通过正则表达式对查询结果进行二次脱敏处理,得到目标结果。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于结构化查询语言的脱敏方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于结构化查询语言的脱敏方法的步骤。
上述基于结构化查询语言的脱敏方法、及其相关设备,通过利用预设语法解析器对获取到的初始结构化查询语言进行解析处理,得到解析文本,遍历解析文本以获取数据表表名、初始字段和过滤条件,根据数据表表名、初始字段和过滤条件进行脱敏处理,并基于脱敏处理后的结果生成目标结构化查询语言,利用目标结构化查询语言进行查询获取查询结果,最后通过正则表达式对查询结果进行二次脱敏处理,得到目标结果。由于数据表表名、初始字段和过滤条件之间存在的关联关系,通过根据数据表表名、初始字段和过滤条件进行脱敏处理再生成目标结构化查询语言的方式,能够有效提高脱敏处理的精确度,且对查询结果进行二次脱敏处理,能够避免由于脱敏处理过程中存在脱敏不彻底,导致脱敏不准确的情况,从而提高对初始结构化查询语言进行脱敏处理的准确性,进一步提高数据的安全性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的基于结构化查询语言的脱敏方法的流程图;
图2是本发明实施例提供的基于结构化查询语言的脱敏方法中对结构化查询语言进行权限判断的流程图;
图3是本发明实施例提供的基于结构化查询语言的脱敏方法中步骤S8的流程图;
图4是本发明实施例提供的基于结构化查询语言的脱敏方法中步骤S2的流程图;
图5是本发明实施例提供的基于结构化查询语言的脱敏方法中步骤S4的流程图;
图6是本发明实施例提供的基于结构化查询语言的脱敏方法中步骤S6的流程图;
图7是本发明实施例提供的基于结构化查询语言的脱敏装置的示意图;
图8是本发明实施例提供的计算机设备的基本机构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请提供的基于结构化查询语言的脱敏方法应用于服务端,服务端具体可以用独立的服务器或者多个服务器组成的服务器集群实现。在一实施例中,如图1所示,提供一种基于结构化查询语言的脱敏方法,包括如下步骤:
S1:从预设待处理库中获取查询用户提交的初始结构化查询语言。
在本发明实施例中,结构化查询语言(Structured Query Language,SQL),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
具体地,对预设待处理库进行检测,当检测到预设待处理库中存在初始SQL时,表示查询用户从客户端对初始SQL进行提交,并对该初始SQL进行提取,且在完成对初始SQL的提取后,将该初始SQL从预设待处理库中进行删除处理。
其中,预设待处理库是指专门用于存储用户从客户端中提交的初始SQL的数据库。
S2:利用预设语法解析器对初始结构化查询语言进行解析处理,得到解析文本。
在本发明实施例中,预设语法解析器是指专门用于对初始SQL进行解析,并转换成解析文本的解析工具,且解析文本通常是以语法树的形式存在。
具体地,将初始SQL导入到预设语法解析器中,当预设语法解析器检测到初始SQL时,将该初始SQL进行解析处理,并在解析处理后转换成解析文本。
S3:遍历解析文本,获取数据表表名、初始字段和过滤条件。
在本发明实施例中,由于解析文本是基于初始SQL解析得到,故解析文本中包含初始SQL的属性信息。通过对解析文本进行遍历,获取解析文本包含的每个数据表表名、每个初始字段及过滤条件。
需要说明的是,过滤条件是指用户设定的限制条件。例如,假设一张表中的数据包含全国各个子公司的数据,某一子公司用户在查询该表的时候,仅能让他查询他所在子公司的数据。所以需要设定过滤条件,同时加上限制子公司查询的条件,使得用户仅能查询所在子公司的数据。
S4:根据数据表表名、初始字段和过滤条件进行脱敏处理,并基于脱敏处理后的结果生成目标结构化查询语言。
在本发明实施例中,脱敏处理是指对数据中的某些敏感信息按照脱敏规则进行数据屏蔽,以实现对敏感数据的保护。
具体地,将数据表表名、初始字段和过滤条件导入到预设脱敏端口中,预设脱敏端口将先根据数据表表名确定敏感数据表,在从敏感数据表中查找敏感字段,在根据敏感字段及其对应的过滤条件进行脱敏处理,当完成脱敏处理时,利用脱敏结果对敏感字段及其对应的过滤条件进行替换,并在替换处理后将解析文本导入到SQL生成库中重新生成结构化查询语言,并将该结构化查询语言作为目标结构化查询语言。
其中,预设脱敏端口是指专门用于根据数据表表名、初始字段和过滤条件进行脱敏处理的处理端口。
SQL生成库是指专门用于根据解析文本生成SQL的数据库。
S5:将目标结构化查询语言导入到查询库中进行查询,获取查询结果。
在本发明实施例中,将目标SQL导入到查询库中,当查询库检测到目标SQL时,将对目标SQL进行分析处理,并输出与目标SQL相同的合法SQL对应的数据结果,并将该数据结果作为查询结果。
其中,查询库中包含不同的合法SQL及每个合法SQL对应的数据结果。
S6:通过正则表达式对查询结果进行二次脱敏处理,得到目标结果。
在本发明实施例中,正则表达式是用来处理字符串的,可以用一些特定字符来描述字符串里字符出现的规则,从而匹配,提取或者替换符合某一个规则的字符串,还可以用来查找、删除和替换字符串,查找速度快且精准。
需要说明的是,查询结果是由至少一列数据组成,且每列数据都有其对应的数据规则,例如,某列数据的数据规则为由11位数字组成。
具体地,利用正则表达式对查询结果中的每列数据进行匹配,当符合正则表达式的规则的数据个数达到预设数量时,表示该列数据为敏感数据,则对该列数据进行脱敏处理,即对查询结果进行二次脱敏处理,并将二次脱敏处理后的查询结果作为目标结果。
其中,预设数量具体可以是50,也可以根据用户的实际需求进行设置,此处不做限制。
本实施例中,通过利用预设语法解析器对获取到的初始结构化查询语言进行解析处理,得到解析文本,遍历解析文本以获取数据表表名、初始字段和过滤条件,根据数据表表名、初始字段和过滤条件进行脱敏处理,并基于脱敏处理后的结果生成目标结构化查询语言,利用目标结构化查询语言进行查询获取查询结果,最后通过正则表达式对查询结果进行二次脱敏处理,得到目标结果。由于数据表表名、初始字段和过滤条件之间存在的关联关系,通过根据数据表表名、初始字段和过滤条件进行脱敏处理再生成目标结构化查询语言的方式,能够有效提高脱敏处理的精确度,且对查询结果进行二次脱敏处理,能够避免由于脱敏处理过程中存在脱敏不彻底,导致脱敏不准确的情况,从而提高对初始结构化查询语言进行脱敏处理的准确性,进一步提高数据的安全性。
在一实施例中,如图2所示,步骤S1之前,所述基于结构化查询语言的脱敏方法还包括如下步骤:
S7:从预设数据库中获取查询用户提交的结构化查询语言。
具体地,通过直接从预设数据库中获取结构化查询语言,其中,预设数据库是指专门用于存储查询用户提交的结构化查询语言的数据库。
需要说明的是,结构化查询语言包含其对应的查询id。
S8:根据预设权限组对结构化查询语言进行权限判断,提取初始结构化查询语言。
在本发明实施例中,预设权限组是专门用于记录合法用户id及合法用户id对应的用户权限。初始结构化查询语言是指查询用户在其对应的用户权限内提交的结构化查询语言。
具体地,利用结构化查询语言对应的查询id与预设权限组中的合法用户id进行匹配,进而判断结构化查询语言对应的查询用户是否拥有该结构化查询语言对应的用户权限,并从中选择查询用户拥有用户权限的结构化查询语言,将该结构化查询语言作为初始结构化查询语言。
本实施例中,根据预设权限组对结构化查询语言进行权限判断,并提取初始结构化查询语言。通过权限判断的方式,能够针对结构化查询语言进行筛选,避免数据泄露,进一步保证初始结构化查询语言的安全性,有效提升系统的安全性能,保证系统的正常处理效率。
在一实施例中,如图3所示,步骤S8中,即根据预设权限组对结构化查询语言进行权限判断,提取初始结构化查询语言包括如下步骤:
S81:从预设权限组获取查询用户的用户权限。
具体地,当检测到结构化查询语言时,利用结构化查询语言对应的查询id与预设权限组中的合法用户id进行匹配,获取预设权限组中与查询id相同的合法用户id对应的用户权限。
S82:根据用户权限,判断查询用户提交的结构化查询语言是否超过查询权限。
在本发明实施例中,用户权限是指查询用户拥有对结构化查询语言的查询请求权利,用户权限包括查询用户对应的所有有效结构化查询语言。通过步骤S81得到查询用户对应的用户权限,根据用户权限得到该查询用户对应的所有有效结构化查询语言,将查询用户的结构化查询语言与其对应的每个有效结构化查询语言进行对比,并根据对比结果判断查询用户的结构化查询语言是否超过权限。
S83:若查询用户拥有结构化查询语言的查询权限,则将结构化查询语言确定为初始结构化查询语言,并提取初始结构化查询语言。
本实施例中,根据步骤S82将查询用户的结构化查询语言与其对应的每个有效结构化查询语言进行对比,经过对比后若存在结构化查询语言与有效结构化查询语言相同,则表示该查询用户拥有该结构化查询语言对应的查询权限,将该结构化查询语言确定为初始结构化查询语言,对初始结构化查询语言进行提取并保存到预设待处理库中。
需要说明的是,若存在结构化查询语言与有效结构化查询语言都不相同,则表示该查询用户未拥有该结构化查询语言对应的权限,将该结构化查询语言确定为无效查询,并对该结构化查询语言进行撤回处理,将该结构化查询语言按照预设的方式反馈给该结构化查询语言对应的查询用户,提示该查询用户受到权限限制,无法进行查询。
其中,预设的方式具体可以是系统消息的形式展示在查询用户的操作界面上,也可以根据用户的实际需求进行设置。
本实施例中,根据用户权限判断查询用户提交的所述结构化查询语言是否超过查询权限,并将拥有查询权限的结构化查询语言确定为初始结构化查询语言。从而实现对查询用户查询权限的审核,保证初始结构化查询语言的安全性,有效提升系统的安全性能,保证系统的正常处理效率。
在一实施例中,如图4所示,步骤S2中,即利用预设语法解析器对初始结构化查询语言进行解析处理,得到解析文本包括如下步骤:
S21:对初始结构化查询语言进行token拆分,得到token数组。
在本发明实施例中,预设解析器包含token拆分单元和语法解析单元,其中,token拆分单元主要用于对对初始结构化查询语言进行token拆分处理,语法解析单元主要用于对对token数组进行语法解析处理。
预设解析器的token拆分单元中存在结构化查询语言对应的所有语法规则,根据语法规则对结构化查询语言进行分析,识别结构化查询语言中每个token所包含的属性信息,其中,属性信息包含关键字、符号、注释、数字、字符串等信息。
具体地,通过将结构化查询语言导入到预设解析器中,当预设解析器检测到结构化查询语言时,预设解析器中的token拆分单元将把结构化查询语言拆分成一个个token,并将所有的token组成token数组,且每个token包含其在结构化查询语言中对应的属性信息。其中,属性信息包含关键字、符号以及单词层级等信息。
需要说明的是,token对应结构化查询语言中的每个单词。
S22:通过对token数组进行语法解析处理,得到解析文本。
在本发明实施例中,预设解析器包含的语法解析单元通过为输入的token数组构建解析树进行验证查询,解析树是在语法规则的帮助下构建的。在构建解析树的同时,还使用语法定向翻译的概念在同一处理阶段执行语义分析。借助语法定向的翻译,输入的token数组被转换成一种中间查询表示形式,该中间查询表示形式也为语法树,即为解析文本。
具体地,通过利用预设解析器包含的语法解析单元对token数组进行语法解析,得到对应的解析文本。
需要说明的是,语法解析单元是使用byacc工具生成,该工具将yacc文件作为输入。yacc文件包含所有语法规则,也称为带关联操作的生产规则。
本实施例中,对初始结构化查询语言进行token拆分,得到token数组,并对token数组进行语法解析处理得到解析文本。通过对初始结构化查询语言进行token拆分,得到token数组的方式,能够加强数据之间的关联性,提高对token数组进行语法解析的准确性。
在一实施例中,数据表表名存在与其对应的数据表,且该数据表包含初始字段,初始字段包含过滤条件,如图5所示,步骤S4中,即根据数据表表名、初始字段和过滤条件进行脱敏处理,并基于脱敏处理后的结果生成目标结构化查询语言包括如下步骤:
S41:将数据表表名与目标数据库中的目标表名进行匹配,确定敏感数据表。
在本发明实施例中,将获取到的数据表表名分别与目标数据库中的目标表名进行匹配,若匹配到数据表表名与目标表名相同,则表示该数据表表名对应的数据表需要进行脱敏处理,并将该数据表确定为敏感数据表。其中,目标数据库是指专门用于存储目标表名的数据库。
需要说明的是,每个数据表都有其对应的数据表表名。
敏感数据表中包含至少一个的字段,字段具体可以是insert、update或者select等等。
S42:从预设用户库中获取查询用户的用户敏感字段。
具体地,将结构化查询语言包含对应的查询id与预设用户库中的用户id进行匹配,当匹配到查询id与用户id相同时,获取该用户id对应的敏感字段作为查询用户的用户敏感字段。
其中,预设用户库是指专门用于存储不同的用户id及用户id对应的敏感字段的数据库,且预设用户库中存在与查询id相同的用户id。
S43:利用敏感数据表中的初始字段与用户敏感字段进行匹配的方式,将与用户敏感字段相匹配的初始字段确定为待脱敏字段。
具体地,将敏感数据表中的每个初始字段与用户敏感字段进行匹配,若匹配到初始字段与用户敏感字段相同,则将该初始字段确定为待脱敏字段。
需要说明的是,由于数据表表名对应的数据表包含初始字段,敏感数据表是从数据表中筛选得出,故敏感数据表包含初始字段。
S44:根据预设脱敏要求,对待脱敏字段及待脱敏字段包含的过滤条件进行脱敏处理,得到脱敏字段及脱敏字段包含的脱敏过滤条件。
具体地,按照预设脱敏要求,对待脱敏字段及待脱敏字段包含的过滤条件进行脱敏处理,得到待脱敏字经过脱敏处理后的脱敏字段,过滤条件经过脱敏处理后的脱敏过滤条件。
其中,预设脱敏要求是指根据用户实际需求进行设定用于对数据进行脱敏的方法,其具体可以是替换预先设定的字符,也可以是删除等。
S45:将待脱敏字段替换成脱敏字段,将待脱敏字段包含的过滤条件替换成脱敏过滤条件,以重新生成目标结构化查询语言。
具体地,将解析文本中的待脱敏字段替换成脱敏字段,将待脱敏字段包含的过滤条件替换成脱敏过滤条件,并在替换处理后将解析文本导入到SQL生成库中重新生成结构化查询语言,并将该结构化查询语言作为目标结构化查询语言。
本实施例中,将数据表表名与目标表名进行匹配,得到敏感数据表,将敏感数据表中的初始字段与用户敏感字段进行匹配,确定待脱敏字段,根据预设脱敏要求对待脱敏字段及待脱敏字段包含的过滤条件进行脱敏处理,得到脱敏字段及脱敏字段包含的脱敏过滤条件,将待脱敏字段替换成脱敏字段,将过滤条件替换成脱敏过滤条件,重新生成目标结构化查询语言。通过先根据数据表名确定敏感数据表,再根据敏感数据表中的初始字段确定待脱敏字段,能够快速准确地识别出需要进行脱敏处理的数据,提高脱敏处理的准确性;通过根据脱敏处理后的结果重新生成目标结构化查询语言,保证后续利用目标结构化查询语言进行查询时的准确性。
在一实施例中,如图6所示,步骤S6中,即通过正则表达式对查询结果进行二次脱敏处理,得到目标结果包括如下步骤:
S61:利用正则表达式与查询结果进行匹配,得到敏感信息匹配度,其中,敏感信息匹配度包含敏感数据。
具体地,针对查询结果中包含的每列数据,通过正则表达式匹配数据是否符合正则表达式中的规则,若数据符合正则表达式中的规则,表示该数据属于敏感数据,并计算敏感数据与其所在列中的所有数据之间的占比,并将该占比确定为敏感信息匹配度。
例如,第一列数据中存在100条数据,100条数据中存在20条敏感数据,则该列数据的敏感信息匹配度为1/5。
例如,正则表达式中的规则为“可包含字符和长度限制”,该正则表达式为:“/^[\da-z\x21-\x2F\x3A-\x40\x5B-\x60\x7B-\x7E]{m,n}$/i”。
其中,符号表示“∧”匹配的开始部分,符号“$”匹配结束部分以保证其后不能有其他字符,“\d”表示可包含数字,“a-z”表示可包含字母,
“\x21-\x2F\x3A-\x40\x5B-\x60\x7B-\x7E”是可包含特殊字符,“m”表示最小长度,“n”表示最大长度。
S62:若敏感信息匹配度大于预设阈值,则对敏感数据进行屏蔽处理,并将屏蔽处理后的查询结果确定为目标结果。
具体地,将敏感信息匹配度与预设阈值进行比较,若敏感信息匹配度大于预设阈值,则对敏感信息匹配度包含敏感数据进行屏蔽处理,并将屏蔽处理后的查询结果确定为目标结果。
其中,预设阈值具体可以是0.5,也可以根据用户的实际需求进行设置,此处不作限制。
本实施例中,利用正则表达式与查询结果进行匹配,得到敏感信息匹配度,在敏感信息匹配度大于预设阈值时,对敏感数据进行屏蔽处理,并将屏蔽处理后的查询结果确定为目标结果。根据正则表达式能够快速准确地识别出查询结果中包含的敏感信息,并根据敏感信息确定敏感信息匹配度,保证敏感信息匹配度的准确获取;且对敏感数据进行屏蔽处理的方式,能够实现对查询结果的二次脱敏,从而提高对查询结果进行敏感信息过滤的精度,提高对结构化查询语言进行脱敏处理的准确性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种基于结构化查询语言的脱敏装置,该基于结构化查询语言的脱敏装置与上述实施例中基于结构化查询语言的脱敏方法一一对应。如图7所示,该基于结构化查询语言的脱敏装置包括获取模块71,解析模块72,遍历模块73,脱敏模块74,查询模块75和二次脱敏模块76。各功能模块详细说明如下:
第一获取模块71,用于从预设待处理库中获取查询用户提交的初始结构化查询语言;
解析模块72,用于利用预设语法解析器对初始结构化查询语言进行解析处理,得到解析文本;
遍历模块73,用于遍历解析文本,获取数据表表名、初始字段和过滤条件;
脱敏模块74,用于根据数据表表名、初始字段和过滤条件进行脱敏处理,并基于脱敏处理后的结果生成目标结构化查询语言;
查询模块75,用于将目标结构化查询语言导入到查询库中进行查询,获取查询结果;
二次脱敏模块76,用于通过正则表达式对查询结果进行二次脱敏处理,得到目标结果。
进一步地,基于结构化查询语言的脱敏装置还包括:
用户权限获取模块,用于从预设数据库中获取查询用户提交的结构化查询语言;
权限判断模块,用于根据预设权限组对结构化查询语言进行权限判断,提取初始结构化查询语言。
进一步地,权限判断模块包括:
第二获取子模块,用于从预设权限组获取查询用户的用户权限;
判断子模块,用于根据用户权限,判断查询用户提交的结构化查询语言是否超过查询权限;
确定子模块,用于若查询用户拥有结构化查询语言的查询权限,则将结构化查询语言确定为初始结构化查询语言,并提取初始结构化查询语言。
进一步地,解析模块72包括:
拆分子模块,用于对初始结构化查询语言进行token拆分,得到token数组;
解析文本获取子模块,用于通过对token数组进行语法解析处理,得到解析文本。
进一步地,脱敏模块74包括:
第一匹配子模块,用于将数据表表名与目标数据库中的目标表名进行匹配,确定敏感数据表;
第三获取子模块,用于从预设用户库中获取查询用户的用户敏感字段;
待脱敏字段确定子模块,用于利用敏感数据表中的初始字段与用户敏感字段进行匹配的方式,将与用户敏感字段相匹配的初始字段确定为待脱敏字段;
初步脱敏子模块,用于根据预设脱敏要求,对待脱敏字段及待脱敏字段包含的过滤条件进行脱敏处理,得到脱敏字段及脱敏字段包含的脱敏过滤条件;
替换子模块,用于将待脱敏字段替换成脱敏字段,将待脱敏字段包含的过滤条件替换成脱敏过滤条件,以重新生成目标结构化查询语言。
进一步地,二次脱敏模块76包括:
第二匹配子模块,用于利用正则表达式与查询结果进行匹配,得到敏感信息匹配度,其中,敏感信息匹配度包含敏感数据;
目标结果确定子模块,用于若敏感信息匹配度大于预设阈值,则对敏感数据进行屏蔽处理,并将屏蔽处理后的查询结果确定为目标结果。
本申请的一些实施例公开了计算机设备。具体请参阅图8,为本申请的一实施例中计算机设备90基本结构框图。
如图8中所示意的,所述计算机设备90包括通过系统总线相互通信连接存储器91、处理器92、网络接口93。需要指出的是,图8中仅示出了具有组件91-93的计算机设备90,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器91至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器91可以是所述计算机设备90的内部存储单元,例如该计算机设备90的硬盘或内存。在另一些实施例中,所述存储器91也可以是所述计算机设备90的外部存储设备,例如该计算机设备90上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器91还可以既包括所述计算机设备90的内部存储单元也包括其外部存储设备。本实施例中,所述存储器91通常用于存储安装于所述计算机设备90的操作系统和各类应用软件,例如所述基于结构化查询语言的脱敏方法的程序代码等。此外,所述存储器91还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器92在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器92通常用于控制所述计算机设备90的总体操作。本实施例中,所述处理器92用于运行所述存储器91中存储的程序代码或者处理数据,例如运行所述基于结构化查询语言的脱敏方法的程序代码。
所述网络接口93可包括无线网络接口或有线网络接口,该网络接口93通常用于在所述计算机设备90与其他电子设备之间建立通信连接。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有初始结构化查询语言录入程序,所述初始结构化查询语言录入程序可被至少一个处理器执行,以使所述至少一个处理器执行上述任意一种基于结构化查询语言的脱敏方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台计算机设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
最后应说明的是,显然以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (10)
1.一种基于结构化查询语言的脱敏方法,其特征在于,所述基于结构化查询语言的脱敏方法包括:
从预设待处理库中获取查询用户提交的初始结构化查询语言;
利用预设语法解析器对所述初始结构化查询语言进行解析处理,得到解析文本;
遍历所述解析文本,获取数据表表名、初始字段和过滤条件;
根据所述数据表表名、所述初始字段和所述过滤条件进行脱敏处理,并基于脱敏处理后的结果生成目标结构化查询语言;
将所述目标结构化查询语言导入到查询库中进行查询,获取查询结果;
通过正则表达式对查询结果进行二次脱敏处理,得到目标结果。
2.如权利要求1所述的基于结构化查询语言的脱敏方法,其特征在于,所述从预设待处理库中获取查询用户提交的初始结构化查询语言的步骤之前,所述基于结构化查询语言的脱敏方法还包括:
从预设数据库中获取所述查询用户提交的结构化查询语言;
根据预设权限组对所述结构化查询语言进行权限判断,提取所述初始结构化查询语言。
3.如权利要求2所述的基于结构化查询语言的脱敏方法,其特征在于,所述根据预设权限组对所述结构化查询语言进行权限判断,提取所述初始结构化查询语言的步骤包括:
从预设权限组获取所述查询用户的用户权限;
根据所述用户权限,判断所述查询用户提交的所述结构化查询语言是否超过查询权限;
若所述查询用户拥有所述结构化查询语言的查询权限,则将所述结构化查询语言确定为所述初始结构化查询语言,并提取所述初始结构化查询语言。
4.如权利要求1所述的基于结构化查询语言的脱敏方法,其特征在于,所述利用预设语法解析器对所述初始结构化查询语言进行解析处理,得到解析文本的步骤包括:
对所述初始结构化查询语言进行token拆分,得到token数组;
通过对所述token数组进行语法解析处理,得到所述解析文本。
5.如权利要求1所述的基于结构化查询语言的脱敏方法,其特征在于,所述数据表表名存在与其对应的数据表,且该数据表包含所述初始字段,所述初始字段包含所述过滤条件,所述根据所述数据表表名、所述初始字段和所述过滤条件进行脱敏处理,并基于脱敏处理后的结果生成目标结构化查询语言的步骤包括:
将所述数据表表名与目标数据库中的目标表名进行匹配,确定敏感数据表;
从预设用户库中获取所述查询用户的用户敏感字段;
利用所述敏感数据表中的所述初始字段与所述用户敏感字段进行匹配的方式,将与所述用户敏感字段相匹配的所述初始字段确定为待脱敏字段;
根据预设脱敏要求,对所述待脱敏字段及所述待脱敏字段包含的所述过滤条件进行脱敏处理,得到脱敏字段及所述脱敏字段包含的脱敏过滤条件;
将所述待脱敏字段替换成所述脱敏字段,将所述待脱敏字段包含的所述过滤条件替换成所述脱敏过滤条件,以重新生成所述目标结构化查询语言。
6.如权利要求1所述的基于结构化查询语言的脱敏方法,其特征在于,所述通过正则表达式对查询结果进行二次脱敏处理,得到目标结果的步骤包括:
利用所述正则表达式与所述查询结果进行匹配,得到敏感信息匹配度,其中,所述敏感信息匹配度包含敏感数据;
若所述敏感信息匹配度大于预设阈值,则对所述敏感数据进行屏蔽处理,并将屏蔽处理后的查询结果确定为所述目标结果。
7.一种基于结构化查询语言的脱敏装置,其特征在于,所述基于结构化查询语言的脱敏装置包括:
第一获取模块,用于从预设待处理库中获取查询用户提交的初始结构化查询语言;
解析模块,用于利用预设语法解析器对所述初始结构化查询语言进行解析处理,得到解析文本;
遍历模块,用于遍历所述解析文本,获取数据表表名、初始字段和过滤条件;
脱敏模块,用于根据所述数据表表名、所述初始字段和所述过滤条件进行脱敏处理,并基于脱敏处理后的结果生成目标结构化查询语言;
查询模块,用于将所述目标结构化查询语言导入到查询库中进行查询,获取查询结果;
二次脱敏模块,用于通过正则表达式对查询结果进行二次脱敏处理,得到目标结果。
8.如权利要求7所述的基于结构化查询语言的脱敏装置,其特征在于,所述解析模块包括:
拆分子模块,用于对所述初始结构化查询语言进行token拆分,得到token数组;
解析文本获取子模块,用于通过对所述token数组进行语法解析处理,得到所述解析文本。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述基于结构化查询语言的脱敏方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述基于结构化查询语言的脱敏方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010150183.0A CN111475525A (zh) | 2020-03-05 | 2020-03-05 | 基于结构化查询语言的脱敏方法、及其相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010150183.0A CN111475525A (zh) | 2020-03-05 | 2020-03-05 | 基于结构化查询语言的脱敏方法、及其相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111475525A true CN111475525A (zh) | 2020-07-31 |
Family
ID=71747334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010150183.0A Pending CN111475525A (zh) | 2020-03-05 | 2020-03-05 | 基于结构化查询语言的脱敏方法、及其相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111475525A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112069183A (zh) * | 2020-09-07 | 2020-12-11 | 中国平安财产保险股份有限公司 | 屏蔽数据管理方法、装置、电子设备及可读存储介质 |
CN112560100A (zh) * | 2020-12-22 | 2021-03-26 | 网易(杭州)网络有限公司 | 数据脱敏方法及装置、计算机可读存储介质、电子设备 |
CN112965982A (zh) * | 2021-03-16 | 2021-06-15 | 中国平安财产保险股份有限公司 | 表格处理方法、装置、设备及存储介质 |
CN113032836A (zh) * | 2021-04-22 | 2021-06-25 | 支付宝(杭州)信息技术有限公司 | 数据脱敏方法和装置 |
CN113535754A (zh) * | 2021-07-27 | 2021-10-22 | 杭州海康威视数字技术股份有限公司 | 一种数据访问方法、装置及系统 |
CN113656830A (zh) * | 2021-08-06 | 2021-11-16 | 杭州安恒信息技术股份有限公司 | 数据库脱敏语法解析方法、系统、计算机及可读存储介质 |
CN113704306A (zh) * | 2021-08-31 | 2021-11-26 | 上海观安信息技术股份有限公司 | 数据库的数据处理方法、装置、存储介质及电子设备 |
CN113722348A (zh) * | 2021-06-24 | 2021-11-30 | 马上消费金融股份有限公司 | 结构化查询语言sql语句的处理方法、装置和电子设备 |
CN114416773A (zh) * | 2021-12-30 | 2022-04-29 | 联通智网科技股份有限公司 | 数据处理方法、装置、存储介质和服务器 |
CN114547085A (zh) * | 2022-03-22 | 2022-05-27 | 中国铁塔股份有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
CN117010019A (zh) * | 2023-08-04 | 2023-11-07 | 北京泰策科技有限公司 | 一种基于nlp语言模型的数据脱敏方法及系统 |
-
2020
- 2020-03-05 CN CN202010150183.0A patent/CN111475525A/zh active Pending
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112069183B (zh) * | 2020-09-07 | 2024-05-03 | 中国平安财产保险股份有限公司 | 屏蔽数据管理方法、装置、电子设备及可读存储介质 |
CN112069183A (zh) * | 2020-09-07 | 2020-12-11 | 中国平安财产保险股份有限公司 | 屏蔽数据管理方法、装置、电子设备及可读存储介质 |
CN112560100B (zh) * | 2020-12-22 | 2023-09-26 | 网易(杭州)网络有限公司 | 数据脱敏方法及装置、计算机可读存储介质、电子设备 |
CN112560100A (zh) * | 2020-12-22 | 2021-03-26 | 网易(杭州)网络有限公司 | 数据脱敏方法及装置、计算机可读存储介质、电子设备 |
CN112965982A (zh) * | 2021-03-16 | 2021-06-15 | 中国平安财产保险股份有限公司 | 表格处理方法、装置、设备及存储介质 |
CN113032836A (zh) * | 2021-04-22 | 2021-06-25 | 支付宝(杭州)信息技术有限公司 | 数据脱敏方法和装置 |
CN113722348A (zh) * | 2021-06-24 | 2021-11-30 | 马上消费金融股份有限公司 | 结构化查询语言sql语句的处理方法、装置和电子设备 |
CN113535754A (zh) * | 2021-07-27 | 2021-10-22 | 杭州海康威视数字技术股份有限公司 | 一种数据访问方法、装置及系统 |
CN113656830A (zh) * | 2021-08-06 | 2021-11-16 | 杭州安恒信息技术股份有限公司 | 数据库脱敏语法解析方法、系统、计算机及可读存储介质 |
CN113656830B (zh) * | 2021-08-06 | 2024-03-26 | 杭州安恒信息技术股份有限公司 | 数据库脱敏语法解析方法、系统、计算机及可读存储介质 |
CN113704306B (zh) * | 2021-08-31 | 2024-01-30 | 上海观安信息技术股份有限公司 | 数据库的数据处理方法、装置、存储介质及电子设备 |
CN113704306A (zh) * | 2021-08-31 | 2021-11-26 | 上海观安信息技术股份有限公司 | 数据库的数据处理方法、装置、存储介质及电子设备 |
CN114416773A (zh) * | 2021-12-30 | 2022-04-29 | 联通智网科技股份有限公司 | 数据处理方法、装置、存储介质和服务器 |
CN114547085A (zh) * | 2022-03-22 | 2022-05-27 | 中国铁塔股份有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
CN117010019A (zh) * | 2023-08-04 | 2023-11-07 | 北京泰策科技有限公司 | 一种基于nlp语言模型的数据脱敏方法及系统 |
CN117010019B (zh) * | 2023-08-04 | 2024-04-16 | 北京泰策科技有限公司 | 一种基于nlp语言模型的数据脱敏方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111475525A (zh) | 基于结构化查询语言的脱敏方法、及其相关设备 | |
CN111522816B (zh) | 基于数据库引擎的数据处理方法、装置、终端及介质 | |
CN111177184A (zh) | 基于自然语言的结构化查询语言转换方法、及其相关设备 | |
CN109033410B (zh) | 一种基于正则与字符串切割的sql解析方法 | |
CN110795455A (zh) | 依赖关系解析方法、电子装置、计算机设备及可读存储介质 | |
CN103186639B (zh) | 数据生成方法及系统 | |
CN110597844B (zh) | 异构数据库数据统一访问方法及相关设备 | |
CN112860727B (zh) | 基于大数据查询引擎的数据查询方法、装置、设备及介质 | |
CN110059006B (zh) | 代码审计方法及装置 | |
CN107526968A (zh) | 一种基于语法分析的sql防注入方法和装置 | |
CN112445775B (zh) | 一种光刻机的故障分析方法、装置、设备和存储介质 | |
CN111797217A (zh) | 基于faq匹配模型的信息查询方法、及其相关设备 | |
CN111552792A (zh) | 一种信息查询方法、装置、电子设备及存储介质 | |
CN116226170A (zh) | 一种数据库语句转换方法、装置、电子设备及存储介质 | |
CN112182637A (zh) | 一种安全控制系统、方法、装置及存储介质 | |
CN114936369B (zh) | 基于标记的sql注入攻击主动防御方法、系统及存储介质 | |
CN114666078B (zh) | Sql注入攻击的检测方法及系统、电子设备及存储介质 | |
CN113297622A (zh) | 一种日志脱敏方法、系统、电子设备及存储介质 | |
CN112948415A (zh) | Sql语句检测方法、装置、终端设备及存储介质 | |
CN112948400A (zh) | 一种数据库管理方法、数据库管理装置及终端设备 | |
CN114880351B (zh) | 慢查询语句的识别方法及装置、存储介质、电子设备 | |
CN117331963B (zh) | 数据访问处理方法、装置、电子设备及存储介质 | |
CN117009319B (zh) | 基于大语言模型的数据库操作方法、系统及存储介质 | |
CN116244315B (zh) | 一种法律法规数据库时效性动态更新的方法和系统 | |
CN116975697B (zh) | 一种主数据管理方法、系统、设备及介质 |
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 |