CN112860749A - 数据处理方法、装置、计算机设备和存储介质 - Google Patents
数据处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112860749A CN112860749A CN202110244677.XA CN202110244677A CN112860749A CN 112860749 A CN112860749 A CN 112860749A CN 202110244677 A CN202110244677 A CN 202110244677A CN 112860749 A CN112860749 A CN 112860749A
- Authority
- CN
- China
- Prior art keywords
- data
- target
- query request
- field
- query
- 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/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种数据处理方法、装置、计算机设备和存储介质。所述方法包括:对终端发送的数据查询请求进行识别;若识别到数据查询请求为目标数据查询请求,则对数据查询请求进行解析,得到数据查询请求对应的语法树;目标数据查询请求用于表示针对目标数据库的查询请求;若识别到语法树中包含预设的敏感字段,则将数据查询请求进行转换,得到转换后的数据查询请求;转换后的数据查询请求中包括与预设的敏感字段对应的目标字段;根据转换后的数据查询请求查询对应的目标数据库,得到查询数据;根据目标字段对应的脱敏配置信息,对查询数据中与目标字段对应的原始数据进行脱敏处理,得到目标查询数据。采用本方法,能够提高数据脱敏处理效率。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及一种数据处理方法、装置、计算机设备和存储介质。
背景技术
随着大数据商业价值挖掘和客户精准定位,数据的重要性和价值日益凸显,但同时也带来数据泄露的风险;为了保证从数据库中查询得到的数据不被泄露,需要对从数据库中查询得到的数据进行脱敏处理。
传统技术中,一般是通过数据库管理员手工编写脚本,利用手工编写的脚本对从数据库中查询得到的数据进行脱敏处理;但是,若针对每一次从数据库中获取的数据,都需要通过数据库管理员单独手工编写脚本来进行脱敏处理,过程会比较繁琐,导致数据脱敏处理效率较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高数据脱敏处理效率的数据处理方法、装置、计算机设备和存储介质。
一种数据处理方法,所述方法包括:
对终端发送的数据查询请求进行识别;
若识别到所述数据查询请求为目标数据查询请求,则对所述数据查询请求进行解析,得到所述数据查询请求对应的语法树;所述目标数据查询请求用于表示针对目标数据库的查询请求,所述目标数据库为存储有待脱敏数据的数据库;
若识别到所述语法树中包含预设的敏感字段,则将所述数据查询请求进行转换,得到转换后的数据查询请求;所述转换后的数据查询请求中包括与所述预设的敏感字段对应的目标字段;
根据所述转换后的数据查询请求查询对应的目标数据库,得到查询数据;
根据所述目标字段对应的脱敏配置信息,对所述查询数据中与所述目标字段对应的原始数据进行脱敏处理,得到目标查询数据。
在其中一个实施例中,所述对终端发送的数据查询请求进行识别,包括:
获取终端发送的数据查询请求对应的待查询数据;
确定所述待查询数据对应的数据库;
若所述数据库为所述目标数据库,则确认所述数据查询请求为目标数据查询请求。
在其中一个实施例中,在若识别到所述语法树中包含预设的敏感字段,则将所述数据查询请求进行转换,得到转换后的数据查询请求之前,还包括:
将所述语法树中的字段与预设的敏感字段进行匹配,若匹配成功,则确认所述语法树中包含所述预设的敏感字段;
所述将所述数据查询请求进行转换,得到转换后的数据查询请求,包括:
确定与所述预设的敏感字段对应的目标字段;
将所述数据查询请求中的所述预设的敏感字段转换成所述目标字段,得到所述转换后的数据查询请求。
在其中一个实施例中,在根据所述目标字段对应的脱敏配置信息,对所述查询数据中与所述目标字段对应的原始数据进行脱敏处理,得到目标查询数据之前,还包括:
查询脱敏配置信息表,得到所述目标字段对应的脱敏配置信息;所述脱敏配置信息表包括多个目标字段对应的脱敏配置信息;
所述根据所述目标字段对应的脱敏配置信息,对所述查询数据中与所述目标字段对应的原始数据进行脱敏处理,得到目标查询数据,包括:
从所述目标字段对应的脱敏配置信息中,提取出所述目标字段对应的替换字段;
将所述查询数据中与所述目标字段对应的原始数据替换成所述替换字段,得到所述目标查询数据。
在其中一个实施例中,所述脱敏配置信息表通过下述方式得到:
获取所述目标数据库中存储的数据表中的目标字段;
确定所述目标字段对应的替换字段;
根据所述目标字段对应的替换字段,确定所述目标字段对应的脱敏配置信息;
根据所述目标字段对应的脱敏配置信息,构建所述脱敏配置信息表。
在其中一个实施例中,所述根据所述目标字段对应的脱敏配置信息,对所述查询数据中与所述目标字段对应的原始数据进行脱敏处理,得到目标查询数据,包括:
从所述目标字段对应的脱敏配置信息中,提取出所述目标字段对应的加密指令;
根据所述加密指令,对所述查询数据中与所述目标字段对应的原始数据进行加密处理,得到所述目标查询数据。
在其中一个实施例中,在得到目标查询数据之后,还包括:
获取与所述目标字段对应的验证文件;所述验证文件用于验证所述目标查询数据中是否包含与所述目标字段对应的原始数据;
根据所述验证文件对所述目标查询数据进行验证;
若所述目标查询数据验证通过,则将所述目标查询数据返回至所述终端。
一种数据处理装置,所述装置包括:
请求识别模块,用于对终端发送的数据查询请求进行识别;
请求解析模块,用于若识别到所述数据查询请求为目标数据查询请求,则对所述数据查询请求进行解析,得到所述数据查询请求对应的语法树;所述目标数据查询请求用于表示针对目标数据库的查询请求,所述目标数据库为存储有待脱敏数据的数据库;
请求转换模块,用于若识别到所述语法树中包含预设的敏感字段,则将所述数据查询请求进行转换,得到转换后的数据查询请求;所述转换后的数据查询请求中包括与所述预设的敏感字段对应的目标字段;
数据查询模块,用于根据所述转换后的数据查询请求查询对应的目标数据库,得到查询数据;
数据脱敏模块,用于根据所述目标字段对应的脱敏配置信息,对所述查询数据中与所述目标字段对应的数据进行脱敏处理,得到目标查询数据。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
对终端发送的数据查询请求进行识别;
若识别到所述数据查询请求为目标数据查询请求,则对所述数据查询请求进行解析,得到所述数据查询请求对应的语法树;所述目标数据查询请求用于表示针对目标数据库的查询请求,所述目标数据库为存储有待脱敏数据的数据库;
若识别到所述语法树中包含预设的敏感字段,则将所述数据查询请求进行转换,得到转换后的数据查询请求;所述转换后的数据查询请求中包括与所述预设的敏感字段对应的目标字段;
根据所述转换后的数据查询请求查询对应的目标数据库,得到查询数据;
根据所述目标字段对应的脱敏配置信息,对所述查询数据中与所述目标字段对应的原始数据进行脱敏处理,得到目标查询数据。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
对终端发送的数据查询请求进行识别;
若识别到所述数据查询请求为目标数据查询请求,则对所述数据查询请求进行解析,得到所述数据查询请求对应的语法树;所述目标数据查询请求用于表示针对目标数据库的查询请求,所述目标数据库为存储有待脱敏数据的数据库;
若识别到所述语法树中包含预设的敏感字段,则将所述数据查询请求进行转换,得到转换后的数据查询请求;所述转换后的数据查询请求中包括与所述预设的敏感字段对应的目标字段;
根据所述转换后的数据查询请求查询对应的目标数据库,得到查询数据;
根据所述目标字段对应的脱敏配置信息,对所述查询数据中与所述目标字段对应的原始数据进行脱敏处理,得到目标查询数据。
上述数据处理方法、装置、计算机设备和存储介质,在终端发送的数据查询请求为目标数据查询请求,且数据查询请求对应的语法树中包含预设的敏感字段的情况下,将数据查询请求进行转换,得到转换后的数据查询请求,转换后的数据查询请求中包括与预设的敏感字段对应的目标字段;然后根据转换后的数据查询请求查询对应的目标数据库,得到查询数据;最后根据目标字段对应的脱敏配置信息,对查询数据中与目标字段对应的原始数据进行脱敏处理,得到目标查询数据;实现了根据与转换后的数据查询请求中包括的目标字段对应的脱敏配置信息,自动对得到的查询数据中与目标字段对应的原始数据进行脱敏处理的目的,整个过程中无需数据库管理员手工编写脚本,并调用脚本对查询数据进行脱敏处理,节约了大量人力,从而提高了数据脱敏处理效率。
附图说明
图1为一个实施例中数据处理方法的应用环境图;
图2为一个实施例中数据处理方法的流程示意图;
图3为另一个实施例中数据处理方法的流程示意图;
图4为又一个实施例中数据处理方法的流程示意图;
图5为一个实施例中数据处理装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的数据处理方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。参考图1,终端102响应用户的数据查询操作,生成数据查询请求,并将该数据查询请求发送至对应的服务器104;服务器104对终端发送的数据查询请求进行识别;若识别到数据查询请求为目标数据查询请求,则对数据查询请求进行解析,得到数据查询请求对应的语法树;目标数据查询请求用于表示针对目标数据库的查询请求,目标数据库为存储有待脱敏数据的数据库;若识别到语法树中包含预设的敏感字段,则将数据查询请求进行转换,得到转换后的数据查询请求;转换后的数据查询请求中包括与预设的敏感字段对应的目标字段;根据转换后的数据查询请求查询对应的目标数据库,得到查询数据;根据目标字段对应的脱敏配置信息,对查询数据中与目标字段对应的原始数据进行脱敏处理,得到目标查询数据。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种数据处理方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤S201,对终端发送的数据查询请求进行识别。
其中,数据查询请求是终端响应用户的数据查询操作所生成的,可以是SQL(Structured Query Language,结构化查询语言);在实际场景中,数据查询请求具体是指身份证查询请求、用户信息查询请求、手机号码查询请求等。
具体地,终端响应用户在数据查询界面上的数据查询操作,生成数据查询请求,并将数据查询请求发送至对应的服务器;服务器对接收到的数据查询请求进行识别,以判断该数据查询请求是否为针对包含有待脱敏数据的目标数据库的查询请求。
步骤S202,若识别到数据查询请求为目标数据查询请求,则对数据查询请求进行解析,得到数据查询请求对应的语法树;目标数据查询请求用于表示针对目标数据库的查询请求,目标数据库为存储有待脱敏数据的数据库。
其中,数据查询请求对应的语法树,是指由数据查询请求对应的源代码所转化而成的树状结构,具体是指AST(abstract syntax tree,抽象语法树);语法树中包括多个字段,这些字段是指从数据查询请求对应的源代码中所筛选出来的代码。
其中,目标数据库是指存储有待脱敏数据的数据库,而针对这些目标数据库的查询请求称为目标数据查询请求。
具体地,服务器对数据查询请求进行识别,得到数据查询请求对应的数据库;若该数据库为目标数据库,则确认数据查询请求为目标数据查询请求;根据预设的请求解析指令,对数据查询请求进行解析,得到数据查询请求对应的语法树。
步骤S203,若识别到语法树中包含预设的敏感字段,则将数据查询请求进行转换,得到转换后的数据查询请求;转换后的数据查询请求中包括与预设的敏感字段对应的目标字段。
其中,预设的敏感字段,是指需要进行脱敏处理的数据的所属字段,比如身份证、姓名、电话号码等;每个预设的敏感字段都对应有一个目标字段,比如身份证对应ID,姓名对应Name,手机号码对应Number。
需要说明的是,目标数据库中存储的是数据表,每个数据表包括多个目标字段对应的原始数据,故需要将数据查询请求中的敏感字段进行转换。
具体地,服务器提取出语法树中的字段,将语法树中的字段与预设的敏感字段进行匹配,若匹配成功,则确认语法树中包含预设的敏感字段;将语法树中包含的预设的敏感字段,转换成对应的目标字段,得到转换后的数据查询请求。
步骤S204,根据转换后的数据查询请求查询对应的目标数据库,得到查询数据。
具体地,服务器根据转换后的数据查询请求查询对应的目标数据库,从目标数据库中获取与转换后的数据查询请求对应的查询数据。
步骤S205,根据目标字段对应的脱敏配置信息,对查询数据中与目标字段对应的原始数据进行脱敏处理,得到目标查询数据。
其中,脱敏配置信息用于表征与目标字段对应的原始数据的脱敏规则,比如手机号码的第5-8位数字用“****”代替;不同目标字段对应的脱敏配置信息不一样。
具体地,服务器获取与目标字段对应的脱敏配置信息,根据与目标字段对应的脱敏配置信息,对查询数据中与目标字段对应的原始数据进行脱敏处理,得到脱敏处理后的数据,作为目标查询数据。
进一步地,服务器还可以将目标查询数据进行加密,得到加密后的目标查询数据,并将加密后的目标查询数据返回至所述终端,通过终端对加密后的目标查询数据进行解密,并显示目标查询数据;这样,有利于避免目标查询数据泄露,保证了目标查询数据的安全性。
上述数据处理方法中,在终端发送的数据查询请求为目标数据查询请求,且数据查询请求对应的语法树中包含预设的敏感字段的情况下,将数据查询请求进行转换,得到转换后的数据查询请求,转换后的数据查询请求中包括与预设的敏感字段对应的目标字段;然后根据转换后的数据查询请求查询对应的目标数据库,得到查询数据;最后根据目标字段对应的脱敏配置信息,对查询数据中与目标字段对应的原始数据进行脱敏处理,得到目标查询数据;实现了根据与转换后的数据查询请求中包括的目标字段对应的脱敏配置信息,自动对得到的查询数据中与目标字段对应的原始数据进行脱敏处理的目的,整个过程中无需数据库管理员手工编写脚本,并调用脚本对查询数据进行脱敏处理,节约了大量人力,从而提高了数据脱敏处理效率。
在一个实施例中,在步骤S201,对终端发送的数据查询请求进行识别,包括:获取终端发送的数据查询请求对应的待查询数据;确定待查询数据对应的数据库;若数据库为目标数据库,则确认数据查询请求为目标数据查询请求。
其中,待查询数据是指需要查询的数据,比如身份证、姓名、电话号码等。
具体地,服务器对终端发送的数据查询请求进行识别,得到该数据查询请求对应的待查询数据;根据数据与数据库的对应关系,确定待查询数据对应的数据库;若识别到该数据库为目标数据库,说明该数据查询请求为针对目标数据库的查询请求,则确认该数据查询请求为目标数据查询请求,并对该数据查询请求进行拦截。
本实施例提供的技术方案,通过对终端发送的数据查询请求进行识别,有利于判断终端发送的数据查询请求是否为目标数据查询请求,便于在终端发送的数据查询请求为目标数据查询请求的情况下,才判断数据查询请求对应的语法树中是否包含预设的敏感字段,有利于进一步提高后续的数据脱敏处理效率,避免了在终端发送的数据查询请求不是目标数据查询请求的情况下,还对数据查询请求进行解析,并判断对应语法树中是否包含预设的敏感字段,导致数据脱敏处理过程较为繁琐的缺陷。
在一个实施例中,在步骤S203中,在若识别到语法树中包含预设的敏感字段,则将数据查询请求进行转换,得到转换后的数据查询请求之前,还包括:将语法树中的字段与预设的敏感字段进行匹配,若匹配成功,则确认语法树中包含预设的敏感字段。
具体地,服务器获取语法树中的字段,将语法树中的字段与预设的敏感字段进行匹配,若语法树中的字段与预设的敏感字段匹配成功,则确认语法树中包含该预设的敏感字段。
进一步地,在步骤S203中,将数据查询请求进行转换,得到转换后的数据查询请求,包括:确定与预设的敏感字段对应的目标字段;将数据查询请求中的预设的敏感字段转换成目标字段,得到转换后的数据查询请求。
具体地,服务器查询预设的敏感字段与目标字段的对应关系,得到与该预设的敏感字段对应的目标字段,比如与身份证对应的目标字段为ID;构建该预设的敏感字段与对应的目标字段之间的转换关系,根据该转换关系,将数据查询请求中的预设的敏感字段转换成目标字段,得到转换后的数据查询请求,比如将数据查询请求中的身份证转换为ID。
需要说明的是,本方案不在一开始查询的时候就定位到目标数据库中的目标字段,是为了避免目标数据库中的原始数据太容易被窃取。
本实施例提供的技术方案,通过将数据查询请求进行转换,得到转换后的数据查询请求,便于后续根据转换后的数据查询请求查询对应的目标数据库,得到查询数据,避免了一开始查询的时候就定位到目标数据库中的目标字段,导致目标数据库中的原始数据太容易被窃取的缺陷,从而提高了目标数据库中的原始数据的安全性。
在一个实施例中,在步骤S205中,在根据目标字段对应的脱敏配置信息,对查询数据中与目标字段对应的原始数据进行脱敏处理,得到目标查询数据之前,还包括:查询脱敏配置信息表,得到目标字段对应的脱敏配置信息;脱敏配置信息表包括多个目标字段对应的脱敏配置信息。
具体地,服务器从本地数据库中,获取包括多个目标字段对应的脱敏配置信息的脱敏配置信息表;根据目标字段查询脱敏配置信息表,得到与该目标字段对应的脱敏配置信息。
进一步地,在步骤S205中,根据目标字段对应的脱敏配置信息,对查询数据中与目标字段对应的原始数据进行脱敏处理,得到目标查询数据,包括:从目标字段对应的脱敏配置信息中,提取出目标字段对应的替换字段;将查询数据中与目标字段对应的原始数据替换成替换字段,得到目标查询数据。
其中,脱敏配置信息可以重复利用,且可以根据实际情况进行调整,比如将手机号码的第5-8位数字用“****”代替,更新为将手机号码的第5-8位数字用“0000”代替。
具体地,服务器从目标字段对应的脱敏配置信息中,提取出与该目标字段对应的替换字段;根据与该目标字段对应的替换字段,构建该目标字段对应的原始数据与对应的替换字段之间的替换关系;根据该替换关系,将查询数据中与目标字段对应的原始数据替换成替换字段,得到目标查询数据;比如将查询数据中与Number对应的手机号码的第5-8位数字替换为“****”。
本实施例提供的技术方案,实现了根据目标字段对应的脱敏配置信息,自动对查询数据中与目标字段对应的原始数据进行脱敏处理,得到目标查询数据的目的,整个过程中无需数据库管理员手工编写脚本,并调用脚本对查询数据进行脱敏处理,节约了大量人力,从而提高了数据脱敏处理效率。
在一个实施例中,脱敏配置信息表通过下述方式得到:获取目标数据库中存储的数据表中的目标字段;确定目标字段对应的替换字段;根据目标字段对应的替换字段,确定目标字段对应的脱敏配置信息;根据目标字段对应的脱敏配置信息,构建脱敏配置信息表。
其中,目标字段对应的替换字段,是指目标字段对应的原始数据的替换字段。
具体地,服务器识别目标数据库中存储的数据表中的敏感数据,并获取敏感数据对应的字段,作为数据表中的目标字段,比如将身份证对应的字段ID确定为目标字段;确定目标字段对应的原始数据的替换字段,作为目标字段对应的替换字段,比如将目标字段Number对应的手机号码中的第5-8位数字的替换字段“****”,作为目标字段Number对应的替换字段;将目标字段与替换字段之间的对应关系,作为目标字段对应的脱敏配置信息;根据多个目标字段对应的脱敏配置信息,构建脱敏配置信息表。
本实施例提供的技术方案,通过构建脱敏配置信息表,有利于后续从脱敏配置信息表中获取目标字段对应的脱敏配置信息,并根据目标字段对应的脱敏配置信息,对查询数据中与目标字段对应的原始数据进行脱敏处理,从而实现了根据目标字段对应的脱敏配置信息,自动对查询数据中与目标字段对应的原始数据进行脱敏处理的目的,无需人工参与,进一步提高了数据脱敏处理效率。
在一个实施例中,在步骤S205中,根据目标字段对应的脱敏配置信息,对查询数据中与目标字段对应的原始数据进行脱敏处理,得到目标查询数据,包括:从目标字段对应的脱敏配置信息中,提取出目标字段对应的加密指令;根据加密指令,对查询数据中与目标字段对应的原始数据进行加密处理,得到目标查询数据。
其中,脱敏配置信息中包括目标字段对应的加密指令,目标字段对应的加密指令,是指目标字段对应的原始数据的加密指令,即对目标字段对应的原始数据进行加密的指令,比如AES(Advanced Encryption Standard,高级加密标准)指令、MD5加密指令;需要说明的是,不同目标字段对应的加密指令不一样。
具体地,服务器从目标字段对应的脱敏配置信息中,获取该目标字段对应的加密指令,根据该目标字段对应的加密指令,对查询数据中与目标字段对应的原始数据进行加密处理,以将查询数据中与目标字段对应的原始数据替换为加密数据,从而得到目标查询数据。
例如,查询客户用户名,需要多次查询同一批人员,为避免通过撞库匹对的形式泄露数据,可以在脱敏时加入可变因子(如时间戳、日期等)进行MD5取值,再返回给用户;比如用户在20210120查询客户的身份证A,那可以通过将A+20210120作为初始数据,对初始数据进行MD5加密之后再返回给用户;这样每天返回的结果是不一致,便可以避免多次查询同一批人员,每次返回结果都一致之后,用户猜到查询的人员是谁,从而导致数据泄露。
本实施例提供的技术方案,根据目标字段对应的加密指令,对查询数据中与目标字段对应的原始数据进行加密处理,得到目标查询数据,避免了通过撞库匹对的形式泄露数据的缺陷,保证了目标数据库中的原始数据的安全性;同时,通过加密指令自动对查询数据中与目标字段对应的原始数据进行加密处理,有利于提高数据脱敏处理效率。
在一个实施例中,在步骤S205中,在得到目标查询数据之后,还包括:获取与目标字段对应的验证文件;验证文件用于验证目标查询数据中是否包含与目标字段对应的原始数据;根据验证文件对目标查询数据进行验证;若目标查询数据验证通过,则将目标查询数据返回至终端。
其中,与目标字段对应的验证文件,是一种能够验证目标查询数据中是否包含与目标字段对应的原始数据的算法文件。
具体地,服务器查询目标字段与验证文件之间的对应关系,得到与转换后的数据查询请求中的目标字段对应的验证文件;根据验证文件,验证目标查询数据中是否包含与目标字段对应的原始数据;若目标查询数据中不包含与目标字段对应的原始数据,则确认目标查询数据验证通过,并将目标查询数据返回至终端进行显示。
进一步地,若目标查询数据中包含与目标字段对应的原始数据,则确认目标查询数据验证不通过,则重新根据目标字段对应的脱敏配置信息,对查询数据中与目标字段对应的原始数据进行脱敏处理,得到目标查询数据。
本实施例提供的技术方案,在得到目标查询数据之后,根据与目标字段对应的验证文件,验证目标查询数据中是否包含与目标字段对应的原始数据,有利于准确确定最终得到的目标查询数据是否脱敏处理完毕。
在一个实施例中,如图3所示,提供了另一种数据处理方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤S301,获取终端发送的数据查询请求对应的待查询数据;确定待查询数据对应的数据库;若数据库为目标数据库,则确认数据查询请求为目标数据查询请求;目标数据库为存储有待脱敏数据的数据库。
步骤S302,若识别到数据查询请求为目标数据查询请求,则对数据查询请求进行解析,得到数据查询请求对应的语法树。
步骤S303,将语法树中的字段与预设的敏感字段进行匹配,若匹配成功,则确认语法树中包含预设的敏感字段。
步骤S304,确定与预设的敏感字段对应的目标字段;将数据查询请求中的预设的敏感字段转换成目标字段,得到转换后的数据查询请求。
步骤S305,根据转换后的数据查询请求查询对应的目标数据库,得到查询数据。
步骤S306,查询脱敏配置信息表,得到目标字段对应的脱敏配置信息;脱敏配置信息表包括多个目标字段对应的脱敏配置信息。
步骤S307,从目标字段对应的脱敏配置信息中,提取出目标字段对应的替换字段;将查询数据中与目标字段对应的原始数据替换成替换字段,得到目标查询数据。
上述数据处理方法中,实现了根据与转换后的数据查询请求中包括的目标字段对应的脱敏配置信息,自动对得到的查询数据中与目标字段对应的原始数据进行脱敏处理的目的,整个过程中无需数据库管理员手工编写脚本,并调用脚本对查询数据进行脱敏处理,节约了大量人力,从而提高了数据脱敏处理效率。
在一个实施例中,如图4所示,提供了又一种数据处理方法,以该方法应用于图1中的服务器为例进行说明,包括以下内容:
首先,服务器进行脱敏规则配置,比如对数据源、脱敏表、加密器进行配置;接着,用户在数据库查询界面上对SQL进行组装,以触发终端发起组装后的SQL至对应的服务器;服务器利用SQL解析器对接收到的SQL进行解析,得到SQL语法树;避免SQL语法树,以判断接收到的SQL是否触发脱敏配置规则,若否,则根据接收到的SQL查询对应的数据库,得到对应的目标查询数据,并将目标查询数据返回至用户;若是,则对接收到的SQL进行改写,得到改写后的SQL,利用改写后的SQL,通过JDBC(Java DataBase Connectivity,java数据库连接)再与底层数据库进行操作,得到查询回来的数据;根据脱敏配置规则,对查询回来的数据进行脱敏处理,得到目标查询数据,并将目标查询数据返回至用户。
本实施例提供的技术方案,可以达到以下技术效果:(1)可移植性高、透明度高。使用的数据库中间件适用多种关系型数据库(如MYSQL,ORACLE等),并且不需要更改业务代码和业务SQL,只需要对数据库中表的相应列配置脱敏规则,在对配置脱敏规则的列进行查询的时候会自动进行脱敏;(2)贴合行内使用需求;在数据库中存储明文,但读取查询获得的是脱敏之后的数据;(3)个性化定制脱敏规则形式;使用灵活,复用度高;(4)使用友好,便于扩展。对于开发人员而言,只需要正常的使用SQL进行开发,将底层的SQL解析和改写等进行封装、拆离,而且仍可以通过原始数据进行分析,避免由于脱敏而造成的数据信息丢失。
应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种数据处理装置,包括:请求识别模块501、请求解析模块502、请求转换模块503、数据查询模块504和数据脱敏模块505,其中:
请求识别模块501,用于对终端发送的数据查询请求进行识别。
请求解析模块502,用于若识别到数据查询请求为目标数据查询请求,则对数据查询请求进行解析,得到数据查询请求对应的语法树;目标数据查询请求用于表示针对目标数据库的查询请求,目标数据库为存储有待脱敏数据的数据库。
请求转换模块503,用于若识别到语法树中包含预设的敏感字段,则将数据查询请求进行转换,得到转换后的数据查询请求;转换后的数据查询请求中包括与预设的敏感字段对应的目标字段。
数据查询模块504,用于根据转换后的数据查询请求查询对应的目标数据库,得到查询数据。
数据脱敏模块505,用于根据目标字段对应的脱敏配置信息,对查询数据中与目标字段对应的数据进行脱敏处理,得到目标查询数据。
在一个实施例中,请求识别模块501,还用于获取终端发送的数据查询请求对应的待查询数据;确定待查询数据对应的数据库;若数据库为目标数据库,则确认数据查询请求为目标数据查询请求。
在一个实施例中,数据处理装置还包括字段匹配模块,用于将语法树中的字段与预设的敏感字段进行匹配,若匹配成功,则确认语法树中包含预设的敏感字段;
请求转换模块503,还用于确定与预设的敏感字段对应的目标字段;将数据查询请求中的预设的敏感字段转换成目标字段,得到转换后的数据查询请求。
在一个实施例中,数据处理装置还包括信息获取模块,用于查询脱敏配置信息表,得到目标字段对应的脱敏配置信息;脱敏配置信息表包括多个目标字段对应的脱敏配置信息;
数据脱敏模块505,还用于从目标字段对应的脱敏配置信息中,提取出目标字段对应的替换字段;将查询数据中与目标字段对应的原始数据替换成替换字段,得到目标查询数据。
在一个实施例中,数据处理装置还包括信息表构建模块,用于获取目标数据库中存储的数据表中的目标字段;确定目标字段对应的替换字段;根据目标字段对应的替换字段,确定目标字段对应的脱敏配置信息;根据目标字段对应的脱敏配置信息,构建脱敏配置信息表。
在一个实施例中,数据脱敏模块505,还用于从目标字段对应的脱敏配置信息中,提取出目标字段对应的加密指令;根据加密指令,对查询数据中与目标字段对应的原始数据进行加密处理,得到目标查询数据。
在一个实施例中,数据处理装置还包括数据验证模块,用于获取与目标字段对应的验证文件;验证文件用于验证目标查询数据中是否包含与目标字段对应的原始数据;根据验证文件对目标查询数据进行验证;若目标查询数据验证通过,则将目标查询数据返回至终端。
关于数据处理装置的具体限定可以参见上文中对于数据处理方法的限定,在此不再赘述。上述数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储脱敏配置信息等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据处理方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种数据处理方法,其特征在于,所述方法包括:
对终端发送的数据查询请求进行识别;
若识别到所述数据查询请求为目标数据查询请求,则对所述数据查询请求进行解析,得到所述数据查询请求对应的语法树;所述目标数据查询请求用于表示针对目标数据库的查询请求,所述目标数据库为存储有待脱敏数据的数据库;
若识别到所述语法树中包含预设的敏感字段,则将所述数据查询请求进行转换,得到转换后的数据查询请求;所述转换后的数据查询请求中包括与所述预设的敏感字段对应的目标字段;
根据所述转换后的数据查询请求查询对应的目标数据库,得到查询数据;
根据所述目标字段对应的脱敏配置信息,对所述查询数据中与所述目标字段对应的原始数据进行脱敏处理,得到目标查询数据。
2.根据权利要求1所述的方法,其特征在于,所述对终端发送的数据查询请求进行识别,包括:
获取终端发送的数据查询请求对应的待查询数据;
确定所述待查询数据对应的数据库;
若所述数据库为所述目标数据库,则确认所述数据查询请求为目标数据查询请求。
3.根据权利要求1所述的方法,其特征在于,在若识别到所述语法树中包含预设的敏感字段,则将所述数据查询请求进行转换,得到转换后的数据查询请求之前,还包括:
将所述语法树中的字段与预设的敏感字段进行匹配,若匹配成功,则确认所述语法树中包含所述预设的敏感字段;
所述将所述数据查询请求进行转换,得到转换后的数据查询请求,包括:
确定与所述预设的敏感字段对应的目标字段;
将所述数据查询请求中的所述预设的敏感字段转换成所述目标字段,得到所述转换后的数据查询请求。
4.根据权利要求1所述的方法,其特征在于,在根据所述目标字段对应的脱敏配置信息,对所述查询数据中与所述目标字段对应的原始数据进行脱敏处理,得到目标查询数据之前,还包括:
查询脱敏配置信息表,得到所述目标字段对应的脱敏配置信息;所述脱敏配置信息表包括多个目标字段对应的脱敏配置信息;
所述根据所述目标字段对应的脱敏配置信息,对所述查询数据中与所述目标字段对应的原始数据进行脱敏处理,得到目标查询数据,包括:
从所述目标字段对应的脱敏配置信息中,提取出所述目标字段对应的替换字段;
将所述查询数据中与所述目标字段对应的原始数据替换成所述替换字段,得到所述目标查询数据。
5.根据权利要求4所述的方法,其特征在于,所述脱敏配置信息表通过下述方式得到:
获取所述目标数据库中存储的数据表中的目标字段;
确定所述目标字段对应的替换字段;
根据所述目标字段对应的替换字段,确定所述目标字段对应的脱敏配置信息;
根据所述目标字段对应的脱敏配置信息,构建所述脱敏配置信息表。
6.根据权利要求1所述的方法,其特征在于,所述根据所述目标字段对应的脱敏配置信息,对所述查询数据中与所述目标字段对应的原始数据进行脱敏处理,得到目标查询数据,包括:
从所述目标字段对应的脱敏配置信息中,提取出所述目标字段对应的加密指令;
根据所述加密指令,对所述查询数据中与所述目标字段对应的原始数据进行加密处理,得到所述目标查询数据。
7.根据权利要求1至6任一项所述的方法,其特征在于,在得到目标查询数据之后,还包括:
获取与所述目标字段对应的验证文件;所述验证文件用于验证所述目标查询数据中是否包含与所述目标字段对应的原始数据;
根据所述验证文件对所述目标查询数据进行验证;
若所述目标查询数据验证通过,则将所述目标查询数据返回至所述终端。
8.一种数据处理装置,其特征在于,所述装置包括:
请求识别模块,用于对终端发送的数据查询请求进行识别;
请求解析模块,用于若识别到所述数据查询请求为目标数据查询请求,则对所述数据查询请求进行解析,得到所述数据查询请求对应的语法树;所述目标数据查询请求用于表示针对目标数据库的查询请求,所述目标数据库为存储有待脱敏数据的数据库;
请求转换模块,用于若识别到所述语法树中包含预设的敏感字段,则将所述数据查询请求进行转换,得到转换后的数据查询请求;所述转换后的数据查询请求中包括与所述预设的敏感字段对应的目标字段;
数据查询模块,用于根据所述转换后的数据查询请求查询对应的目标数据库,得到查询数据;
数据脱敏模块,用于根据所述目标字段对应的脱敏配置信息,对所述查询数据中与所述目标字段对应的数据进行脱敏处理,得到目标查询数据。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110244677.XA CN112860749A (zh) | 2021-03-05 | 2021-03-05 | 数据处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110244677.XA CN112860749A (zh) | 2021-03-05 | 2021-03-05 | 数据处理方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112860749A true CN112860749A (zh) | 2021-05-28 |
Family
ID=75993868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110244677.XA Pending CN112860749A (zh) | 2021-03-05 | 2021-03-05 | 数据处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112860749A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535754A (zh) * | 2021-07-27 | 2021-10-22 | 杭州海康威视数字技术股份有限公司 | 一种数据访问方法、装置及系统 |
CN113626847A (zh) * | 2021-08-24 | 2021-11-09 | 北京京东乾石科技有限公司 | 一种数据处理的方法和装置 |
CN114416774A (zh) * | 2022-01-05 | 2022-04-29 | 深圳萨摩耶数字科技有限公司 | 跨平台多数据源取数方法、装置、电子设备及存储介质 |
-
2021
- 2021-03-05 CN CN202110244677.XA patent/CN112860749A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535754A (zh) * | 2021-07-27 | 2021-10-22 | 杭州海康威视数字技术股份有限公司 | 一种数据访问方法、装置及系统 |
CN113626847A (zh) * | 2021-08-24 | 2021-11-09 | 北京京东乾石科技有限公司 | 一种数据处理的方法和装置 |
CN114416774A (zh) * | 2022-01-05 | 2022-04-29 | 深圳萨摩耶数字科技有限公司 | 跨平台多数据源取数方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109344642B (zh) | 接口规则校验方法、装置、计算机设备及存储介质 | |
CN112860749A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN109474578B (zh) | 报文消息校验方法、装置、计算机设备和存储介质 | |
WO2020233219A1 (zh) | 异常问题的定位方法、装置、设备及计算机可读存储介质 | |
CN110727954B (zh) | 数据授权脱敏自动化方法、装置及存储介质 | |
US9875370B2 (en) | Database server and client for query processing on encrypted data | |
CN109189367B (zh) | 一种数据处理方法、装置、服务器及存储介质 | |
CN110751550B (zh) | 对账方法、装置、计算机设备和存储介质 | |
CN108628743B (zh) | 应用程序测试方法、装置、设备及存储介质 | |
WO2019134339A1 (zh) | 脱敏方法、程序、应用服务器及计算机可读存储介质 | |
WO2019071967A1 (zh) | 敏感信息屏蔽方法、程序、应用服务器及计算机可读存储介质 | |
CN108287823B (zh) | 消息数据处理方法、装置、计算机设备和存储介质 | |
WO2018121266A1 (zh) | 一种应用程序获取方法和装置以及一种终端设备 | |
CN105653947A (zh) | 一种评估应用数据安全风险的方法及装置 | |
CN111475324A (zh) | 日志信息的分析方法、装置、计算机设备和存储介质 | |
US11972023B2 (en) | Compatible anonymization of data sets of different sources | |
CN112506481A (zh) | 业务数据交互方法、装置、计算机设备和存储介质 | |
WO2021169469A1 (zh) | 声纹数据处理方法、装置、计算机设备和存储介质 | |
CN112417406A (zh) | 一种数据的脱敏方法、装置、可读存储介质及电子设备 | |
CN112579571B (zh) | 监控数据配置、数据监控方法、装置、设备及存储介质 | |
CN114222288A (zh) | 设备标识生成方法、设备标识校验方法和装置 | |
CN112783866A (zh) | 数据读取方法、装置、计算机设备和存储介质 | |
CN112231377A (zh) | 数据映射方法、系统、装置、服务器和存储介质 | |
CN111782678A (zh) | 数据存储方法和装置 | |
CN116680203B (zh) | 面向多租户的SaaS平台的测试方法、装置、设备和介质 |
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 |