CN112069203A - 一种数据查询方法及装置 - Google Patents
一种数据查询方法及装置 Download PDFInfo
- Publication number
- CN112069203A CN112069203A CN202011004963.0A CN202011004963A CN112069203A CN 112069203 A CN112069203 A CN 112069203A CN 202011004963 A CN202011004963 A CN 202011004963A CN 112069203 A CN112069203 A CN 112069203A
- Authority
- CN
- China
- Prior art keywords
- query
- data query
- data
- target user
- instruction
- 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
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/221—Column-oriented storage; Management thereof
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/245—Query processing
-
- 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/248—Presentation of query results
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- 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/602—Providing cryptographic facilities or services
-
- 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
- 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 Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例提供一种数据查询方法及装置,涉及数据查询技术领域,该数据查询方法包括:先获取目标用户输入的数据查询指令;然后,根据预先配置的查询权限表和数据查询指令判断目标用户是否具有查询权限;当目标用户具有查询权限时,判断数据查询指令是否包括对敏感数据的查询;当数据查询指令包括对敏感数据的查询时,根据预设的敏感数据查询限制和数据查询指令进行数据查询,得到数据查询结果。可见,实施这种实施方式,能够通过查询权限与查询类型进行数据查询的辅助方式,从而为数据查询提供安全保障,有利于避免数据泄露的风险。
Description
技术领域
本申请涉及数据查询技术领域,具体而言,涉及一种数据查询方法及装置。
背景技术
数据库是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合,用户可以对文件中的数据进行新增、查询、更新、删除等操作。现有的数据查询方法,用户可以通过自助查询工具连接到线上数据库进行查询,或者直接登录数据库通过数据查询指令进行查询。然而在实践中发现,现有的数据查询方法中,任何人都能够自由地对数据库进行查询,且查询内容也不受限制,容易导致数据库资料泄露,隐私数据泄露、敏感数据泄露等数据安全问题。可见,现有的数据查询方法安全性低、存在数据泄露等风险。
发明内容
本申请实施例的目的在于提供一种数据查询方法及装置,能够为数据查询提供安全保障,有利于避免数据泄露的风险。
本申请实施例第一方面提供了一种数据查询方法,包括:
获取目标用户输入的数据查询指令;
根据预先配置的查询权限表和所述数据查询指令判断所述目标用户是否具有查询权限;
如果是,判断所述数据查询指令是否包括对敏感数据的查询;
如果是,根据预设的敏感数据查询限制和所述数据查询指令进行数据查询,得到数据查询结果。
在上述实现过程中,该方法可以优先获取目标用户输入的数据查询指令;然后,根据预先配置的查询权限表和数据查询指令判断目标用户是否具有查询权限;当目标用户具有查询权限时,判断数据查询指令是否包括对敏感数据的查询;当数据查询指令包括对敏感数据的查询时,根据预设的敏感数据查询限制和数据查询指令进行数据查询,得到数据查询结果。可见,实施这种实施方式,能够通过查询权限与查询类型进行数据查询的辅助方式,从而为数据查询提供安全保障,有利于避免数据泄露的风险。
进一步地,所述获取目标用户输入的数据查询指令,包括:
获取目标用户输入的查询语句以及所述目标用户的用户标识;
对所述查询语句进行优化处理,得到初步优化语句;
对所述初步优化语句进行语法语义检测处理,得到语法语义提示信息;
接收所述目标用户针对所述语法语义提示信息输入的修正信息;
根据所述修正信息对所述初步优化语句的修正处理,得到目标查询语句;
根据所述目标查询语句和所述用户标识生成数据查询指令。
在上述实现过程中,该方法在获取目标用户输入的数据查询指令的过程中,可以优先获取目标用户输入的查询语句以及目标用户的用户标识;然后对查询语句进行优化处理,得到初步优化语句;再对初步优化语句进行语法语义检测处理,得到语法语义提示信息;再然后接收目标用户针对语法语义提示信息输入的修正信息;继而根据修正信息对初步优化语句的修正处理,得到目标查询语句;最后,根据目标查询语句和用户标识生成数据查询指令。可见,实施这种实施方式,能够根据多重信息生成对应的数据查询指令,从而使得数据查询指令具有更高的准确性,进而提高数据查询效果。
进一步地,所述方法还包括:
根据预先配置的查询权限表和所述用户标识判断所述目标用户是否具有全部数据查询权限;
如果否,执行所述的根据预先配置的查询权限表和所述数据查询指令判断所述目标用户是否具有查询权限。
在上述实现过程中,该方法可以根据预先配置的查询权限表和用户标识判断目标用户是否具有全部数据查询权限;并在目标用户不具有全部数据查询权限时,执行根据预先配置的查询权限表和数据查询指令判断目标用户是否具有查询权限的步骤。可见,实施这种实施方式,能够预先判断目标用户的权限等级,并在目标用户的权限等级并非足够高的时候进行权限匹配,并进一步确定目标用户是不是具有对应数据的查询权限,以使该方法针对于不具有全部数据查询权限的用户,从而避免对拥有全部数据查询权限的用户造成困扰,还能够提高该类型的数据查询效率。
进一步地,所述方法还包括:
当判断出所述目标用户具有全部数据查询权限时,根据所述数据查询指令进行数据查询,得到数据查询结果。
在上述实现过程中,该方法还可以在判断出所述目标用户具有全部数据查询权限时,根据所述数据查询指令进行数据查询,得到数据查询结果。可见,实施这种实施方式,可以简单、快速地对特定用户发出的指令进行相应的数据查询,从而提高了数据查询效率,避免了所有其他繁杂的验证过程。
进一步地,所述根据预先配置的查询权限表和所述数据查询指令判断所述目标用户是否具有查询权限,包括:
对所述目标查询语句进行解析处理,得到查询语法树;所述查询语法树包括待查询数据库、待查询表和待查询行列;
根据预先配置的查询权限表判断所述目标用户是否具有所述待查询数据库的查询权限;
如果是,根据所述查询权限表判断所述目标用户是否具有所述待查询表的查询权限;
如果是,根据所述查询权限表判断所述目标用户是否具有所述待查询行列的查询权限;
如果是,执行所述的判断所述目标查询语句是否包括敏感数据查询语句。
在上述实现过程中,该方法在根据预先配置的查询权限表和数据查询指令判断目标用户是否具有查询权限的过程中,可以优先对目标查询语句进行解析处理,得到查询语法树;查询语法树包括待查询数据库、待查询表和待查询行列;再根据预先配置的查询权限表判断目标用户是否具有待查询数据库的查询权限;当目标用户具有待查询数据库的查询权限时,根据查询权限表判断目标用户是否具有待查询表的查询权限;当目标用户具有待查询表的查询权限时,根据查询权限表判断目标用户是否具有待查询行列的查询权限;当目标用户具有待查询行列的查询权限时,判断目标查询语句是否包括敏感数据查询语句。可见,实施这种实施方式,能够确定如何根据预先配置的查询权限表和数据查询指令判断目标用户是否具有查询权限的过程,从而使得查询权限的确定有据可循,进而提高数据查询的稳定性,避免无关人员进行获取到相应资料,同时也提高了保密性。
进一步地,所述根据预设的敏感数据查询限制和所述数据查询指令进行数据查询,得到数据查询结果,包括:
根据所述目标查询语句进行数据查询,得到原始查询结果;
根据预设的敏感数据查询限制从所述原始查询结果中确定数据查询结果。
在上述实现过程中,该方法在根据预设的敏感数据查询限制和数据查询指令进行数据查询,得到数据查询结果的过程中,可以优先根据目标查询语句进行数据查询,得到原始查询结果;然后根据预设的敏感数据查询限制从原始查询结果中确定数据查询结果。可见,实施这种实施方式,能够层级化获取数据查询结果,从而使得获取到的数据查询结果准确性更高。
本申请实施例第二方面提供了一种数据查询装置,所述数据查询装置包括:
指令获取模块,用于获取目标用户输入的数据查询指令;
第一判断模块,用于根据预先配置的查询权限表和所述数据查询指令判断所述目标用户是否具有查询权限;
第二判断模块,用于在判断出所述目标用户具有查询权限时,判断所述数据查询指令是否包括对敏感数据的查询;
数据查询模块,用于在判断出包括对敏感数据的查询时,根据预设的敏感数据查询限制和所述数据查询指令进行数据查询,得到数据查询结果。
在上述实现过程中,该数据查询装置可以通过指令获取模块来获取目标用户输入的数据查询指令;通过第一判断模块根据预先配置的查询权限表和数据查询指令判断目标用户是否具有查询权限;通过第二判断模块在判断出目标用户具有查询权限时,判断数据查询指令是否包括对敏感数据的查询;通过数据查询模块在判断出包括对敏感数据的查询时,根据预设的敏感数据查询限制和数据查询指令进行数据查询,得到数据查询结果。可见,实施这种实施方式,能够通过查询权限与查询类型进行数据查询的辅助方式,从而为数据查询提供安全保障,有利于避免数据泄露的风险。
进一步地,所述指令获取模块包括:
第一子模块,用于获取目标用户输入的查询语句以及所述目标用户的用户标识;
第二子模块,用于对所述查询语句进行优化处理,得到初步优化语句;
第三子模块,用于对所述初步优化语句进行语法语义检测处理,得到语法语义提示信息;以及接收所述目标用户针对所述语法语义提示信息输入的修正信息;以及根据所述修正信息对所述初步优化语句的修正处理,得到目标查询语句;
第四子模块,用于根据所述目标查询语句和所述用户标识生成数据查询指令。
在上述实现过程中,该获取模块可以通过第一子模块来获取目标用户输入的查询语句以及所述目标用户的用户标识;通过第二子模块对所述查询语句进行优化处理,得到初步优化语句;通过第三子模块对所述初步优化语句进行语法语义检测处理,得到语法语义提示信息;以及接收所述目标用户针对所述语法语义提示信息输入的修正信息;以及根据所述修正信息对所述初步优化语句的修正处理,得到目标查询语句;通过第四子模块来根据所述目标查询语句和所述用户标识生成数据查询指令。可见,实施这种实施方式,能够根据多重信息生成对应的数据查询指令,从而使得数据查询指令具有更高的准确性,进而提高数据查询效果。
本申请实施例第三方面提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行本申请实施例第一方面中任一项所述的数据查询方法。
本申请实施例第四方面提供了一种计算机可读存储介质,其存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行本申请实施例第一方面中任一项所述的数据查询方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例一提供的一种数据查询方法的流程示意图;
图2为本申请实施例二提供的一种数据查询方法的流程示意图;
图3为本申请实施例三提供的一种数据查询装置的结构示意图;
图4为本申请实施例四提供的一种数据查询装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参看图1,图1为本申请实施例提供了一种数据查询方法的流程示意图。该方法应用于数据查询场景当中,具体用于用户输入查询指令时判断用户是否具有数据的查询权限。其中,该数据查询方法包括:
S101、获取目标用户输入的数据查询指令。
本申请实施例中,该数据查询指令包括目标用户的用户标识、该目标用户输入的查询语句等,对此本申请实施例不作限定。
本申请实施例中,查询语句可以为SQL(Structured Query Language,结构化查询语言)语句等,对此本申请实施例不作限定。
S102、根据预先配置的查询权限表和数据查询指令判断目标用户是否具有查询权限,若是,则执行步骤S104;若否,执行步骤S103。
本申请实施例中,该查询权限表为权限管理员预先配置,包括数据库标识、表标识、列标识、行标识、权限信息、审批人标识、职位标识以及敏感信息、报警方式等等中的一种或者多种,对此本申请实施例不作限定。
本申请实施例中,可以通过集群配置的方式预先配置该查询权限表,该查询权限表包括每个集群下每个库的权限配置信息。
本申请实施例中,可以为每个集群下的每个数据库进行负责人配置,将数据库与负责人一一对应起来,在普通员工查询数据库时,如果没有权限则需要向库负责人申请权限,形成严格的权限控制环节。
S103、输出需要进行查询权限申请的提示信息,并结束本流程。
S104、判断数据查询指令是否包括对敏感数据的查询,若是,则执行步骤S105;若否,执行步骤S106。
本申请实施例中,敏感数据包括个人隐私、商业机密等,具体的,该个人隐私可以为身份证、手机号、工资、健康状况、家庭住址等,对此本申请实施例不作限定。
S105、根据预设的敏感数据查询限制和数据查询指令进行数据查询,得到数据查询结果,并结束本流程。
本申请实施例中,预设的敏感数据查询限制包括查询范围、查询结果返回数量、查询结果加密显示等中的一种或者多种,对此本申请实施例不作限定。
本申请实施例中,当预设的敏感数据查询限制包括的查询结果返回数量上限为10个时,则先根据数据查询指令进行数据查询,得到初步查询结果,然后从初步查询结果中确定至多10个查询结果,作为最终的数据查询结果。
本申请实施例中,当预设的敏感数据查询限制包括的查询结果返回数量上限为10个时,从初步查询结果中确定的查询结果的个数,不超过敏感数据查询限制包括的查询结果返回数量,具体可以为0个、1个、5个等,对此本申请实施例不作限定。
本申请实施例中,在根据预设的敏感数据查询限制和数据查询指令进行数据查询,得到数据查询结果之后,还可以包括以下步骤:
确定数据查询结果中的敏感字符;
采用预设的加密替代字符对数据查询结果中的敏感字符进行替换处理,得到最终查询结果;
输出该最终查询结果。
在上述实施方式中,预设的敏感数据查询限制包括查询结果加密显示规则,该加密显示规则可以包括加密替代字符。
在上述实施方式中,该加密替代字符可以为“*”、“%”、“&”等,对此本申请实施例不作限定。
本申请实施例中,当判断出数据查询指令包括对敏感数据的查询时,在根据预设的敏感数据查询限制和数据查询指令进行数据查询,得到数据查询结果之后,还可以输出包括目标用户的用户标识以及查询语句的报警信息。具体的,该报警信息可以发送至预设的查询监控人的通信设备,进而有利于对敏感数据查询的实时监控,及时防止机密信息外漏,保证了数据的安全性。
本申请实施例中,当判断出数据查询指令包括对敏感数据的查询时,则表示目标用户在查询敏感数据,此时还可以输出敏感查询提示信息,以提示目标用户所查询的数据为敏感信息,并输出是否退出当前查询的选择提示信息。
S106、根据数据查询指令进行数据查询,得到数据查询结果,并结束本流程。
本申请实施例中,该方法的执行主体可以为计算机、服务器等计算装置,对此本实施例中不作任何限定。
在本申请实施例中,该方法的执行主体还可以为智能手机和平板等智能设备,对此本实施例中不作任何限定。
本申请实施例中,当得到数据查询结果之后,还可以获取该目标用户的用户标识、查询语句、数据查询结果、查询时间等信息,并存储。
本申请实施例中,用户标识、查询语句、数据查询结果、查询时间等信息都有表记录,可以追踪用户查询记录,如果出现事故,方便定位问题和审计。可见,实施本实施例所描述的数据查询方法,能够通过查询权限与查询类型进行数据查询的辅助方式,从而为数据查询提供安全保障,有利于避免数据泄露的风险。
请参看图2,图2为本申请实施例提供的一种数据查询方法的流程示意图。如图2所示,其中,该数据查询方法包括:
S201、获取目标用户输入的查询语句以及目标用户的用户标识。
本申请实施例中,查询语句可以为SQL(Structured Query Language,结构化查询语言)语句等,对此本申请实施例不作限定。
S202、对查询语句进行优化处理,得到初步优化语句。
本申请实施例中,通过预设自动优化键能够对目标用户输入的查询语句进行自动优化处理,具体的,可以通过ajax技术和后端实时交互对查询语句中的数据库标识、表标识、行标识、列标识进行自动优化处理,从而有效避免由于查询语句错误导致的查询失败的问题。
本申请实施例中,对查询语句进行优化处理时,如果查询语句有缺省部分,则对缺省部分进行补齐处理,如果查询语句有重复部分,则对重复部分进行去重处理。
本申请实施例中,Ajax(Asynchronous JavaScript And XML,异步JavaScript和XML),是指一种创建交互式、快速动态网页应用的网页开发技术,无需重新加载整个网页的情况下,能够更新部分网页的技术。
本申请实施例中,当用户输入的查询语句有SQL语句时,在用户输入SQL语句时,根据通过ajax技术将SQL语句往后端,用户还没输入完,SQL后端模块就可根据输入用户输入的不全的SQL语句智能匹配出用户可能要查询的数据库标识、数据表标识、数据列标识或者数据行标识传往前端,用户可以直接选择所需要的标识,加快用户输入速度。
S203、对初步优化语句进行语法语义检测处理,得到语法语义提示信息。
本申请实施例中,通过对初步优化语句进行语法语义检测,能够通过语法语义提示信息实时提示出语法、语义错误,从而有效避免由于查询语句错误导致的查询失败的问题。
S204、接收目标用户针对语法语义提示信息输入的修正信息,以及根据修正信息对初步优化语句的修正处理,得到目标查询语句。
本申请实施例中,通过步骤S202~步骤S204,能够实现对目标用户输入的查询语句进行自动美化处理,从而有效避免由于查询语句错误导致的查询失败的问题。
S205、根据目标查询语句和用户标识生成数据查询指令。
作为一种可选的实施方式,在得到数据查询指令之后,还可以包括以下步骤:
根据预先配置的查询权限表和用户标识判断目标用户是否具有全部数据查询权限;
如果否,执行步骤S206~步骤S207。
如果是,执行步骤S213。
在上述实施方式中,当目标用户为数据库总负责人时,即判断出目标用户具有全部数据查询权限,数据库总负责人默认拥有所有的数据库查询权限。
S206、对目标查询语句进行解析处理,得到查询语法树;查询语法树包括待查询数据库、待查询表和待查询行列。
本申请实施例中,可以通过语句解析组件对目标查询语句进行解析处理,得到查询语法树。根据查询语法树能够检测出目标用户查询了哪些数据库、表、列或者行。
本申请实施例中,当用户输入的查询语句有SQL语句时,能够自动解析出SQL语句中涉及的数据库和表,进而能够根据查询语法树进行校验,如果发现用户没有相应的查询权限,则可以输出需要进行权限申请的提示信息,然后经过对应的负责人审批通过后才能成功进行数据查询,进而能够较好的控制数据查询权限。
在步骤S206之后,还包括以下步骤:
S207、根据预先配置的查询权限表判断目标用户是否具有待查询数据库的查询权限,如果是,执行步骤S208;如果否,执行步骤S210。
本申请实施例中,在判断目标用户是否具有待查询数据库的查询权限时,还可以自动检测目标用户是否为数据库的负责人,如果是,则能够确定其所负责的数据库集合,当待查询数据库在其所负责的数据库集合内时,则该目标用户默认具有该待查询数据库的查询权限。
S208、根据查询权限表判断目标用户是否具有待查询表的查询权限,如果是,执行步骤S209;如果否,执行步骤S210。
本申请实施例中,数据表还分了一级机密表、二级机密表、三级机密表,每一级机密由不同层次的人员审批,在判断目标用户是否具有待查询表的查询权限时,需要根据表的分级,逐级判断目标用户是否具有查询权限。当判断出目标用户不具有待查询表的查询权限,则会输出需要进行查询权限申请的提示信息。
本申请实施例中,通过多级机密设置,能够人工控制机密数据的定义和保障数据安全:通过机密表的标记以及对目标查询语句进行解析处理,能够识别出目标用户是否查询了机密数据和敏感数据,机密表还需要额外进行申请,每一级机密都有不同的负责人,防止数据外泄。
本申请实施例中,将数据库的数据表划分了非机密表和机密表。在对目标查询语句进行解析处理之后,能根据解析出的待查询表判断目标用户对其是否有查询权限,用户即使拥有了该数据库的查询权限,但碰到机密表,还要额外申请权限,会自动展示申请权限的入口。这样防止了重要数据被用户随意查询和下载,泄露机密。
本申请实施例中,在判断目标用户是否具有待查询表的查询权限时,还可以自动检测目标用户是否为数据表的负责人,如果是,则能够确定其所负责的数据表集合,当待查询表在其所负责的数据表集合内时,则该目标用户默认具有该待查询表的查询权限。
S209、根据查询权限表判断目标用户是否具有待查询行列的查询权限,如果是,执行步骤S211;如果否,执行步骤S210。
本申请实施例中,待查询行列包括待查询行和/或待查询列。判断目标用户是否具有待查询行列的查询权限,即判断目标用户是否具有待查询行和/或待查询列的查询权限。
本申请实施例中,数据机密关卡设置为数据库、表、行或者列三层关卡。在判断目标用户是否具有查询权限时,需要根据数据机密关卡进行逐步判断,首先判断目标用户是否具有待查询数据库的查询权限,如果是,再判断目标用户是否具有查询权限表的查询权限,如果是,还需要进一步判断目标用户是否具有待查询行列的查询权限,如果是,则表明目标用户对于需要查询的数据具有查询权限。
本申请实施例中,对于待查询行,在判断目标用户是否具有待查询行的查询权限时,还可以自动检测目标用户是否为数据行的负责人,如果是,则能够确定其所负责的数据行集合,当待查询表在其所负责的数据行集合内时,则该目标用户默认具有该待查询行的查询权限。同理,如果该目标用户为待查询列的负责人,则该目标用户具有该待查询列的查询权限。
本申请实施例中,同数据表一样,数据行和数据列也分了一级机密、二级机密、三级机密等,每一级机密由不同层次的人员审批,在判断目标用户是否具有待查询行或者待查询列的查询权限时,需要根据行或者列的分级,逐级判断目标用户是否具有查询权限。
本申请实施例中,通过步骤S206~步骤S209,能够根据预先配置的查询权限表和数据查询指令判断目标用户是否具有查询权限。
S210、输出需要进行查询权限申请的提示信息,并结束本流程。
本申请实施例中,当判断出用户不具有数据库、表、行或者列的查询权限时,均可以输出需要用户申请数据库权限的提示信息。
S211、判断数据查询指令是否包括对敏感数据的查询,如果是,执行步骤S212;如果否,执行步骤S213。
S212、根据预设的敏感数据查询限制和数据查询指令进行数据查询,得到数据查询结果,并结束本流程。
作为一种可选的实施方式,根据预设的敏感数据查询限制和数据查询指令进行数据查询,得到数据查询结果,可以包括以下步骤:
根据目标查询语句进行数据查询,得到原始查询结果;
根据预设的敏感数据查询限制从原始查询结果中确定数据查询结果。
S213、根据数据查询指令进行数据查询,得到数据查询结果,并结束本流程。
本申请实施例中,进行数据查询时,会把用户查询记录存储到数据库中,方便定位到每个用户查询了哪些数据,查询时间和查询结果,能够全面记录用户查询历史,为历史问题追溯和审计工作提供便利。
可见,实施本实施例所描述的数据查询方法,能够通过查询权限与查询类型进行数据查询的辅助方式,从而为数据查询提供安全保障,有利于避免数据泄露的风险。
请参看图3,图3为本申请实施例提供的一种数据查询装置的结构示意图。如图3所示,该数据查询装置包括:
指令获取模块310,用于获取目标用户输入的数据查询指令;
第一判断模块320,用于根据预先配置的查询权限表和数据查询指令判断目标用户是否具有查询权限;
第二判断模块330,用于在判断出目标用户具有查询权限时,判断数据查询指令是否包括对敏感数据的查询;
数据查询模块340,用于在判断出包括对敏感数据的查询时,根据预设的敏感数据查询限制和数据查询指令进行数据查询,得到数据查询结果。
本申请实施例中,对于数据查询装置的解释说明可以参照实施例1或实施例2中的描述,对此本实施例中不再多加赘述。
可见,实施本实施例所描述的数据查询装置,能够通过查询权限与查询类型进行数据查询的辅助方式,从而为数据查询提供安全保障,有利于避免数据泄露的风险。
请一并参阅图4,图4是本申请实施例提供的一种数据查询装置的结构示意图。其中,图4所示的数据查询装置是由图3所示的数据查询装置进行优化得到的。如图4所示,指令获取模块310包括:
第一子模块311,用于获取目标用户输入的查询语句以及目标用户的用户标识。
第二子模块312,用于对查询语句进行优化处理,得到初步优化语句。
第三子模块313,用于对初步优化语句进行语法语义检测处理,得到语法语义提示信息;以及接收目标用户针对语法语义提示信息输入的修正信息;以及根据修正信息对初步优化语句的修正处理,得到目标查询语句。
第四子模块314,用于根据目标查询语句和用户标识生成数据查询指令。
作为一种可选的实施方式,该数据查询装置还包括:
第三判断模块350,用于根据预先配置的查询权限表和用户标识判断目标用户是否具有全部数据查询权限,以及在判断出目标用户不具有全部数据查询权限时,触发第一判断模块320根据预先配置的查询权限表和数据查询指令判断目标用户是否具有查询权限。
直接查询模块360,用于在判断出目标用户具有全部数据查询权限时,根据数据查询指令进行数据查询,得到数据查询结果。
作为一种可选的实施方式,第一判断模块320包括:
第五子模块321,用于对目标查询语句进行解析处理,得到查询语法树;查询语法树包括待查询数据库、待查询表和待查询行列。
第六子模块322,用于根据预先配置的查询权限表判断目标用户是否具有待查询数据库的查询权限。
第七子模块323,用于在目标用户具有待查询数据库的查询权限时,根据查询权限表判断目标用户是否具有待查询表的查询权限。
第八子模块324,用于目标用户具有待查询表的查询权限时,根据查询权限表判断目标用户是否具有待查询行列的查询权限。
第九子模块325,用于目标用户具有待查询行列的查询权限,判断目标查询语句是否包括敏感数据查询语句。
作为一种可选的实施方式,数据查询模块340包括:
查询子模块341,用于在判断出包括对敏感数据的查询时,根据目标查询语句进行数据查询,得到原始查询结果。
确定子模块342,用于根据预设的敏感数据查询限制从原始查询结果中确定数据查询结果。
本申请实施例中,对于数据查询装置的解释说明可以参照实施例1或实施例2中的描述,对此本实施例中不再多加赘述。
可见,实施本实施例所描述的数据查询装置,能够通过查询权限与查询类型进行数据查询的辅助方式,从而为数据查询提供安全保障,有利于避免数据泄露的风险。
本申请实施例提供了一种电子设备,包括存储器以及处理器,存储器用于存储计算机程序,处理器运行计算机程序以使电子设备执行本申请实施例1或实施例2中任一项数据查询方法。
本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序指令,计算机程序指令被一处理器读取并运行时,执行本申请实施例1或实施例2中任一项数据查询方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种数据查询方法,其特征在于,包括:
获取目标用户输入的数据查询指令;
根据预先配置的查询权限表和所述数据查询指令判断所述目标用户是否具有查询权限;
如果是,判断所述数据查询指令是否包括对敏感数据的查询;
如果是,根据预设的敏感数据查询限制和所述数据查询指令进行数据查询,得到数据查询结果。
2.根据权利要求1所述的数据查询方法,其特征在于,所述获取目标用户输入的数据查询指令,包括:
获取目标用户输入的查询语句以及所述目标用户的用户标识;
对所述查询语句进行优化处理,得到初步优化语句;
对所述初步优化语句进行语法语义检测处理,得到语法语义提示信息;
接收所述目标用户针对所述语法语义提示信息输入的修正信息;
根据所述修正信息对所述初步优化语句的修正处理,得到目标查询语句;
根据所述目标查询语句和所述用户标识生成数据查询指令。
3.根据权利要求2所述的数据查询方法,其特征在于,所述方法还包括:
根据预先配置的查询权限表和所述用户标识判断所述目标用户是否具有全部数据查询权限;
如果否,执行所述的根据预先配置的查询权限表和所述数据查询指令判断所述目标用户是否具有查询权限。
4.根据权利要求3所述的数据查询方法,其特征在于,所述方法还包括:
当判断出所述目标用户具有全部数据查询权限时,根据所述数据查询指令进行数据查询,得到数据查询结果。
5.根据权利要求2所述的数据查询方法,其特征在于,所述根据预先配置的查询权限表和所述数据查询指令判断所述目标用户是否具有查询权限,包括:
对所述目标查询语句进行解析处理,得到查询语法树;所述查询语法树包括待查询数据库、待查询表和待查询行列;
根据预先配置的查询权限表判断所述目标用户是否具有所述待查询数据库的查询权限;
如果是,根据所述查询权限表判断所述目标用户是否具有所述待查询表的查询权限;
如果是,根据所述查询权限表判断所述目标用户是否具有所述待查询行列的查询权限;
如果是,执行所述的判断所述目标查询语句是否包括敏感数据查询语句。
6.根据权利要求2所述的数据查询方法,其特征在于,所述根据预设的敏感数据查询限制和所述数据查询指令进行数据查询,得到数据查询结果,包括:
根据所述目标查询语句进行数据查询,得到原始查询结果;
根据预设的敏感数据查询限制从所述原始查询结果中确定数据查询结果。
7.一种数据查询装置,其特征在于,所述数据查询装置包括:
指令获取模块,用于获取目标用户输入的数据查询指令;
第一判断模块,用于根据预先配置的查询权限表和所述数据查询指令判断所述目标用户是否具有查询权限;
第二判断模块,用于在判断出所述目标用户具有查询权限时,判断所述数据查询指令是否包括对敏感数据的查询;
数据查询模块,用于在判断出包括对敏感数据的查询时,根据预设的敏感数据查询限制和所述数据查询指令进行数据查询,得到数据查询结果。
8.根据权利要求7所述的数据查询装置,其特征在于,所述指令获取模块包括:
第一子模块,用于获取目标用户输入的查询语句以及所述目标用户的用户标识;
第二子模块,用于对所述查询语句进行优化处理,得到初步优化语句;
第三子模块,用于对所述初步优化语句进行语法语义检测处理,得到语法语义提示信息;以及接收所述目标用户针对所述语法语义提示信息输入的修正信息;以及根据所述修正信息对所述初步优化语句的修正处理,得到目标查询语句;
第四子模块,用于根据所述目标查询语句和所述用户标识生成数据查询指令。
9.一种电子设备,其特征在于,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行权利要求1至6中任一项所述的数据查询方法。
10.一种可读存储介质,其特征在于,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行权利要求1至6任一项所述的数据查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011004963.0A CN112069203A (zh) | 2020-09-22 | 2020-09-22 | 一种数据查询方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011004963.0A CN112069203A (zh) | 2020-09-22 | 2020-09-22 | 一种数据查询方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112069203A true CN112069203A (zh) | 2020-12-11 |
Family
ID=73681125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011004963.0A Pending CN112069203A (zh) | 2020-09-22 | 2020-09-22 | 一种数据查询方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112069203A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112817810A (zh) * | 2020-12-25 | 2021-05-18 | 深圳市爱达思技术有限公司 | 设备数据监测方法、装置、终端设备和存储介质 |
CN116702110A (zh) * | 2023-06-15 | 2023-09-05 | 深圳千岸科技股份有限公司 | 供应链大数据共享方法、装置、设备及存储介质 |
CN116956347A (zh) * | 2023-07-28 | 2023-10-27 | 浙江大学 | 一种隐私保护下的可交互微数据发布系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106548085A (zh) * | 2015-09-17 | 2017-03-29 | 中国移动通信集团甘肃有限公司 | 一种数据的处理方法及装置 |
CN109325326A (zh) * | 2018-08-16 | 2019-02-12 | 深圳云安宝科技有限公司 | 非结构化数据访问时的数据脱敏方法、装置、设备及介质 |
CN109992986A (zh) * | 2017-12-29 | 2019-07-09 | 中国移动通信集团上海有限公司 | 一种敏感数据的脱敏处理方法及装置 |
CN110555039A (zh) * | 2018-03-29 | 2019-12-10 | 武汉斗鱼网络科技有限公司 | 数据查询控制方法、存储介质、设备及系统 |
CN110968601A (zh) * | 2019-11-28 | 2020-04-07 | 中国银行股份有限公司 | 一种数据查询处理方法及装置 |
CN111159754A (zh) * | 2019-12-12 | 2020-05-15 | 浙江华云信息科技有限公司 | 逆向解析的数据脱敏方法及装置 |
CN111177213A (zh) * | 2019-12-16 | 2020-05-19 | 北京淇瑀信息科技有限公司 | 一种隐私集群自助查询平台、方法及电子设备 |
-
2020
- 2020-09-22 CN CN202011004963.0A patent/CN112069203A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106548085A (zh) * | 2015-09-17 | 2017-03-29 | 中国移动通信集团甘肃有限公司 | 一种数据的处理方法及装置 |
CN109992986A (zh) * | 2017-12-29 | 2019-07-09 | 中国移动通信集团上海有限公司 | 一种敏感数据的脱敏处理方法及装置 |
CN110555039A (zh) * | 2018-03-29 | 2019-12-10 | 武汉斗鱼网络科技有限公司 | 数据查询控制方法、存储介质、设备及系统 |
CN109325326A (zh) * | 2018-08-16 | 2019-02-12 | 深圳云安宝科技有限公司 | 非结构化数据访问时的数据脱敏方法、装置、设备及介质 |
CN110968601A (zh) * | 2019-11-28 | 2020-04-07 | 中国银行股份有限公司 | 一种数据查询处理方法及装置 |
CN111159754A (zh) * | 2019-12-12 | 2020-05-15 | 浙江华云信息科技有限公司 | 逆向解析的数据脱敏方法及装置 |
CN111177213A (zh) * | 2019-12-16 | 2020-05-19 | 北京淇瑀信息科技有限公司 | 一种隐私集群自助查询平台、方法及电子设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112817810A (zh) * | 2020-12-25 | 2021-05-18 | 深圳市爱达思技术有限公司 | 设备数据监测方法、装置、终端设备和存储介质 |
CN116702110A (zh) * | 2023-06-15 | 2023-09-05 | 深圳千岸科技股份有限公司 | 供应链大数据共享方法、装置、设备及存储介质 |
CN116956347A (zh) * | 2023-07-28 | 2023-10-27 | 浙江大学 | 一种隐私保护下的可交互微数据发布系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112069203A (zh) | 一种数据查询方法及装置 | |
US9626412B2 (en) | Technique for recycling match weight calculations | |
US9460310B2 (en) | Method and apparatus for substitution scheme for anonymizing personally identifiable information | |
US20060005017A1 (en) | Method and apparatus for recognition and real time encryption of sensitive terms in documents | |
US20220067206A1 (en) | Token-based data security systems and methods with embeddable markers in unstructured data | |
EP3707635A1 (en) | Online determination of result set sensitivity | |
TK et al. | Identifying sensitive data items within hadoop | |
CN114048227A (zh) | Sql语句异常检测方法、装置、设备及存储介质 | |
CN113434588B (zh) | 基于移动通信话单的数据挖掘分析方法及装置 | |
CN110020134B (zh) | 一种知识服务信息的推送方法、系统、存储介质和处理器 | |
KR101742041B1 (ko) | 개인정보를 보호하는 장치, 개인정보를 보호하는 방법 및 개인정보를 보호하는 프로그램을 저장하는 저장매체 | |
CN114676231A (zh) | 一种目标信息检测方法、设备和介质 | |
CN111046382A (zh) | 数据库审计方法、设备、存储介质及装置 | |
CN114327471A (zh) | 基于sql的数据血缘分析方法、装置、电子设备及存储介质 | |
JP2019200582A (ja) | 検索装置、検索方法及び検索プログラム | |
CN113672457A (zh) | 识别数据库中的异常操作的方法和装置 | |
CA2748676C (en) | Entity representation identification using entity representation level information | |
Singh et al. | Implementing log based security in data warehouse | |
CN112800127B (zh) | 基于交易账单的数据挖掘分析方法及装置 | |
GB2475796A (en) | Identifying an entity representation by constructing a comprehensive search criteria | |
Samarin et al. | Preventing SQL injection attacks by automatic parameterizing of raw queries using lexical and semantic analysis methods | |
Castro | A New Approach for Dynamic and Risk-Based Data Anonymization | |
Woodall et al. | A Preliminary Study on Methods for Retaining Data Quality Problems in Automatically Generated Test Data | |
CN114329581A (zh) | 一种数据保护方法、装置及设备 | |
CN116541382A (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 |