CN111506611A - 数据的查询方法、装置、设备及存储介质 - Google Patents
数据的查询方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111506611A CN111506611A CN202010315674.6A CN202010315674A CN111506611A CN 111506611 A CN111506611 A CN 111506611A CN 202010315674 A CN202010315674 A CN 202010315674A CN 111506611 A CN111506611 A CN 111506611A
- Authority
- CN
- China
- Prior art keywords
- data
- query statement
- database
- query
- current
- 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
-
- 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/604—Tools and structures for managing or administering access control systems
-
- 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
-
- 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/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Automation & Control Theory (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种数据的查询方法、装置、设备及存储介质,通过接收数据使用方的终端设备发送的包括数据使用方标识的数据查询请求;获取与数据使用方标识对应的当前目标查询语句,当前目标查询语句为与数据使用方标识对应的当前数据访问权限的查询语句;截取数据库查询指令中的预设查询语句;将预设查询语句设置为当前目标查询语句,并将当前目标查询语句携带在数据库查询指令中发送给数据库,从数据库中获取目标数据发送给数据使用方的终端设备。通过拦截技术实现将当前数据访问权限对应的当前目标查询语句替换预设查询语句,可对数据访问权限的动态修改和配置,避免频繁发版带来的系统风险,在开发阶段无需关注数据访问权限,降低开发成本。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种数据的查询方法、装置、设备及存储介质。
背景技术
目前越来越多的企业可以提供数据系统服务,为数据使用方提供数据查询、访问的服务。而对于不同的数据使用方可以访问数据系统中的不同数据,因此需要对数据使用方配置不同的数据访问权限。
现有技术中,针对数据系统中的某一个数据库,例如数据表等,通常采用硬编码的方式进行数据访问权限控制,对每一个数据使用方根据其各自的数据访问权限配置对应的数据查询语句,例如SQL(Structured Query Language,结构化查询语言)语句,通过该数据查询语句,可以在数据库中查询数据使用方的数据访问权限范围内的数据。
现有技术中,在数据库频繁的新增数据或修改数据时、或者需要修改数据使用方的数据访问权限时,需要从新修改代码中硬编码形式的数据查询语句,采用硬编码的方式进行数据访问权限控制的开发成本高、周期长,可扩展性较差,难以满足业务期望,并且发版频繁,需要在原有的硬编码形式的数据查询语句的基础上进行修改,可能会影响当前的数据访问功能,导致数据系统风险无法控制。
发明内容
本发明实施例提供一种数据的查询方法、装置、设备及存储介质,以实现动态配置数据使用方的数据访问权限,降低开发成本,提高扩展性和系统安全性。
第一方面,本发明实施例提供一种数据的查询方法,包括:
接收数据使用方的终端设备发送的数据查询请求,所述数据查询请求包括数据使用方标识;
根据所述数据查询请求,获取与所述数据使用方标识对应的当前目标查询语句;其中所述当前目标查询语句为与所述数据使用方标识对应的当前数据访问权限的查询语句;
截取数据库查询指令中的预设查询语句,其中所述数据库查询指令是基于所述数据查询请求以及所述预设查询语句而生成的向所述数据库查询数据的指令;
将所述预设查询语句设置为所述当前目标查询语句,并将所述当前目标查询语句携带在所述数据库查询指令中发送给所述数据库,以从所述数据库中获取与所述当前目标查询语句对应的目标数据;
将所述目标数据发送给所述数据使用方的终端设备。
第二方面,本发明实施例提供一种数据的查询装置,包括:
接收模块,用于接收数据使用方的终端设备发送的数据查询请求,所述数据查询请求包括数据使用方标识;
处理模块,用于根据所述数据查询请求,获取与所述数据使用方标识对应的当前目标查询语句,其中所述当前目标查询语句为与所述数据使用方标识对应的当前数据访问权限的查询语句;截取数据库查询指令中的预设查询语句,其中所述数据库查询指令是基于所述数据查询请求以及所述预设查询语句而生成的向所述数据库查询数据的指令;将所述预设查询语句设置为所述当前目标查询语句,并将所述当前目标查询语句携带在所述数据库查询指令中发送给所述数据库,以从所述数据库中获取与所述当前目标查询语句对应的目标数据;
发送模块,用于将所述目标数据发送给所述数据使用方的终端设备。
第三方面,本发明实施例提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于运行所述存储器中存储的计算机程序以实现如第一方面所述的方法。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面所述的方法。
本发明实施例提供的数据的查询方法、装置、设备及存储介质,通过接收数据使用方的终端设备发送的数据查询请求,数据查询请求包括数据使用方标识;根据数据查询请求,获取与数据使用方标识对应的当前目标查询语句;其中当前目标查询语句为与数据使用方标识对应的当前数据访问权限的查询语句;截取数据库查询指令中的预设查询语句,其中数据库查询指令是基于数据查询请求以及预设查询语句而生成的向数据库查询数据的指令;将预设查询语句设置为当前目标查询语句,并将当前目标查询语句携带在数据库查询指令中发送给数据库,以从数据库中获取与当前目标查询语句对应的目标数据;将目标数据发送给数据使用方的终端设备。本发明实施例通过拦截技术实现将当前数据访问权限对应的当前目标查询语句替换预设查询语句,实现查询当前数据访问权限范围内的数据,可便于对数据使用方的数据访问权限的动态修改和配置,不需要发布版本,避免了频繁发版带来的系统风险,并且在开发阶段无需关注数据访问权限,可扩展性较高,降低开发成本。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为本发明一实施例提供的数据的查询方法的流程图;
图2为本发明另一实施例提供的数据的查询方法的流程图;
图3为本发明另一实施例提供的数据的查询方法的流程图;
图4为本发明另一实施例提供的数据的查询方法的流程图;
图5为本发明一实施例提供的数据的查询装置的结构图;
图6为本发明一实施例提供的电子设备的架构图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
现有技术中,针对数据系统中的某一个数据库,例如数据表等,通常采用硬编码的方式进行数据访问权限控制,对每一个数据使用方根据其各自的数据访问权限配置对应的数据查询语句,例如SQL语句,通过该数据查询语句,可以在数据库中查询数据使用方的数据访问权限范围内的数据。现有技术中,在数据库频繁的新增数据或修改数据时、或者需要修改数据使用方的数据访问权限时,需要从新修改代码中硬编码形式的数据查询语句,采用硬编码的方式进行数据访问权限控制的开发成本高、周期长,可扩展性较差,难以满足业务期望,并且发版频繁,需要在原有的硬编码形式的数据查询语句的基础上进行修改,可能会影响当前的数据访问功能,导致数据系统风险无法控制。
本发明实施例提供的数据的查询方法,旨在解决现有技术的如上技术问题,在数据库频繁的新增数据或修改数据时、或者需要修改数据使用方的数据访问权限时,并不通过修改硬编码的方式,而是通过拦截技术实现将当前数据访问权限对应的当前目标查询语句替换预设查询语句,根据替换后的当前目标查询语句实现查询当前数据访问权限范围内的数据,可便于对数据使用方的数据访问权限的动态修改和配置,不需要发版,避免了频繁发版带来的系统风险,并且在开发阶段无需关注数据访问权限,可扩展性较高,降低开发成本。
本发明实施例提供的数据的查询方法,可以适用于如下通信系统,该系统包括数据系统服务器、管理员的终端设备、以及数据使用方的终端设备,其中,所述数据系统服务器可以向数据使用方的终端设备提供数据查询服务,数据使用方可以从数据系统服务器获取到其数据访问权限范围内的数据,其中数据可存储于数据系统服务器的数据库,或者也可存储于数据表中,而管理员的终端设备则可配置数据使用方的数据访问权限。更具体的,数据系统服务器可通过接收数据使用方的终端设备发送的数据查询请求,数据查询请求包括数据使用方标识;根据数据查询请求,获取与数据使用方标识对应的当前目标查询语句;其中当前目标查询语句为与数据使用方标识对应的当前数据访问权限的查询语句;截取数据库查询指令中的预设查询语句,其中数据库查询指令是基于数据查询请求以及预设查询语句而生成的向数据库查询数据的指令;将预设查询语句设置为当前目标查询语句,并将当前目标查询语句携带在数据库查询指令中发送给数据库,以从数据库中获取与当前目标查询语句对应的目标数据;将目标数据发送给数据使用方的终端设备。
作为一种具体的应用场景中,在产品推广的场景中,各数据使用方可以发放广告,数据系统服务器可获取到消费者根据数据使用方发放的广告进行消费的相关数据存储到数据库中,并对每一数据使用方配置对应的数据访问权限,各数据使用方可以从数据系统服务器查询其数据访问权限范围内的数据,其数据查询过程则可使用本申请实施例提供的数据的查询方法。当然本申请实施例提供的数据的查询方法也可应用到其他的应用场景中,此处不再赘述。
下面以具体地实施例对本发明的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
图1为本发明实施例提供的数据的查询方法流程图。本实施例提供了一种数据的查询方法,执行主体为数据系统服务器,如图1所示,该数据的查询方法具体步骤如下:
S101、接收数据使用方的终端设备发送的数据查询请求,所述数据查询请求包括数据使用方标识。
在本实施例中,数据使用方在需要查询数据时,可以通过数据使用方的终端设备向数据系统服务器发送数据查询请求,由于不同的数据使用方具有不同的数据访问权限,为了使数据系统服务器能够返回该数据使用方的数据访问权限范围内的数据,因此可以在数据查询请求中携带数据使用方标识,其中数据使用方标识用于唯一标识该数据使用方。
S102、根据所述数据查询请求,获取与所述数据使用方标识对应的当前目标查询语句;其中所述当前目标查询语句为与所述数据使用方标识对应的当前数据访问权限的查询语句;
S103、截取数据库查询指令中的预设查询语句,其中所述数据库查询指令是基于所述数据查询请求以及所述预设查询语句而生成的向所述数据库查询数据的指令;
S104、将所述预设查询语句设置为所述当前目标查询语句,并将所述当前目标查询语句携带在所述数据库查询指令中发送给所述数据库,以从所述数据库中获取与所述当前目标查询语句对应的目标数据。
在本实施例中,在接收到数据使用方的终端设备发送的数据查询请求后,需要由数据系统服务器从数据库中查询数据使用方的数据访问权限范围内的数据,也即需要由数据系统服务器生成一个数据库查询指令,并根据该数据库查询指令从数据库中查询数据,其中数据查询指令可基于数据查询请求和预设查询指令生成,预设查询语句,也即针对某一数据使用方的终端设备任意一次发送的数据查询请求,数据系统服务器都会生成一个相同的数据查询指令,该数据查询指令中包括相同的预设查询语句。查询语句具体可以为SQL(Structured Query Language,结构化查询语言)语句片段,用于查询数据库中的数据。
然而在数据库频繁的新增数据或修改数据时、或者需要修改数据使用方的数据访问权限时,数据使用方的数据访问权限会发生变化,因此根据包含预设查询语句的数据查询指令并不能准确的从数据库中获取到数据使用方的当前数据访问权限范围内的数据,因此本实施例中可以在数据使用方的数据访问权限发生变化时数据系统服务器可以预先获取数据使用方当前数据访问权限的查询语句,作为当前目标查询语句并与数据使用方标识关联存储;当数据系统服务器在接收到数据使用方的终端设备的数据查询请求后,可获取预先配置好的数据使用方标识对应的当前目标查询语句,并且在数据系统服务器向数据库查询数据过程中拦截数据库查询指令,截取数据库查询指令中的预设查询语句,并将预设查询语句替换为当前目标查询语句,这样即可使得数据库查询指令携带当前目标查询语句,进而能够根据此时的数据库查询指令从数据库中查询目标数据,该目标数据即为数据使用方当前数据访问权限范围内的数据。
需要说明的是,由于预设查询语句为以硬编码的形式嵌入到数据系统服务器的查询程序中,因此在每次接收到数据使用方的终端设备发送的数据查询请求后可执行S102-S104的获取当前目标查询语句、拦截数据库查询指令、替换数据库查询指令中的预设查询语句的过程,从而保证在数据使用方的数据访问权限发生变化时能够准确获取到目标数据。
此外,由于预设查询语句需要被当前目标查询语句替换掉,预设查询语句实际并未起到从数据库查询数据的作用,因此在一种可选实施例中,对于不同的数据使用方可以配置相同的预设查询语句,也即对于不同的数据使用方标识对应的预设查询语句相同,这样可以在对数据系统服务器的程序开发过程中不需要关注不同的数据使用方的数据访问权限,采用相同的预设查询语句可减少开发过程中的工作量,提高开发效率。可选的,预设查询语句可以为查询数据库全量数据的查询语句。
S105、将所述目标数据发送给所述数据使用方的终端设备。
在本实施例中,在数据系统服务器获取到目标数据后即可将目标数据发送给数据使用放的终端设备,以供数据使用方浏览和使用。
需要说明的是,如果数据系统服务器包括多个数据库,数据使用方的终端设备发送的数据查询请求中还可携带数据库标识;相应的,对于不同的数据库,数据使用方的当前访问权限不同,因此对于同一个数据使用方标识,不同的数据库标识对应的当前目标查询语句不同,在获取当前目标查询语句时需要根据数据使用方标识和数据库标识来获取当前目标查询语句。
本实施例提供的数据的查询方法,通过接收数据使用方的终端设备发送的数据查询请求,数据查询请求包括数据使用方标识;根据数据查询请求,获取与数据使用方标识对应的当前目标查询语句;其中当前目标查询语句为与数据使用方标识对应的当前数据访问权限的查询语句;截取数据库查询指令中的预设查询语句,其中数据库查询指令是基于数据查询请求以及预设查询语句而生成的向数据库查询数据的指令;将预设查询语句设置为当前目标查询语句,并将当前目标查询语句携带在数据库查询指令中发送给数据库,以从数据库中获取与当前目标查询语句对应的目标数据;将目标数据发送给数据使用方的终端设备。本实施例通过拦截技术实现将当前数据访问权限对应的当前目标查询语句替换预设查询语句,实现查询当前数据访问权限范围内的数据,可便于对数据使用方的数据访问权限的动态修改和配置,不需要发版,避免了频繁发版带来的系统风险,并且在开发阶段无需关注数据访问权限,可扩展性较高,降低开发成本。
在上述任一实施例的基础上,如图2所示,在S102所述的获取与所述数据使用方标识对应的当前目标查询语句之前,还可包括:
S201、接收管理员的终端设备发送的配置请求,所述配置请求包括所述数据使用方的终端设备对应的当前数据访问权限和所述数据使用方标识。
在本实施例中,当需要对某一数据使用方的终端设备配置数据访问权限时,例如对于新增的数据使用方的终端设备对应的配置数据访问权限,或者对修改某一数据使用方的终端设备对应的数据访问权限,此时需要由数据系统的管理员通过其终端设备来进行配置,也即管理员在其终端设备上配置好数据使用方的终端设备对应的当前数据访问权限后,将数据使用方的终端设备对应的当前数据访问权限和数据使用方标识携带于配置请求中发送给数据系统服务器,以由数据系统服务器根据配置请求进行配置。
S202、根据所述配置请求,获取与所述当前数据访问权限对应的当前目标查询语句,并将所述数据使用方标识和所述当前目标查询语句相关联。
在本实施例中,在数据系统服务器接收到管理员的终端设备发送的配置请求后,可根据配置请求中携带的当前数据访问权限获取到对应的当前目标查询语句,进而将当前目标查询语句与数据使用方标识进行关联存储,以便于后续在数据使用方查询数据时根据数据使用方标识即可直接获取到对应的当前目标查询语句,提高响应速度。
在上述实施例的基础上,如图3所示,S201所述的接收管理员的终端设备发送的配置请求,具体可包括:
S2011、接收所述管理员的终端设备发送的权限管理界面的登录请求。
在本实施例中,管理员可以在其终端设备上通过一个权限管理界面来实现对数据使用方的当前数据访问权限的配置,管理员需要先在其终端设备上登录权限管理界面,通过管理员的终端设备向数据系统服务器发送权限管理界面的登录请求。
S2012、根据所述登录请求,向所述管理员的终端设备发送所述数据库的数据字段信息,以在所述管理员的终端设备的权限管理界面中展示。
在本实施例中,当管理员的终端设备登录到权限管理界面,需要对数据使用方的数据访问权限进行配置时可以在权限管理界面上展示出数据库中允许访问的数据字段信息,以供管理员在配置数据访问权限时可根据数据库的数据字段信息根据选择该数据使用方能够访问的数据字段,从而以管理员所选择的数据字段作为该数据使用方的数据访问权限。因此数据系统服务器在接收到所述管理员的终端发送的权限管理界面的登录请求后,可向管理员的终端设备发送数据库的数据字段信息。其中,数据字段信息可以包括数据字段的名称,例如数据表的行名称、列名称等,当然可也包括其他信息,此处不再赘述。需要说明的是,由于数据库可能发生变化,因此需要动态的获取数据库的数据字段信息,也即获取最新的数据库的数据字段信息,发送给管理员的终端设备。
可选的,管理员还可提前在其终端设备上对数据库的字段名称进行定义,也即管理员的终端设备向数据系统服务器发送字段名称定义指令,所述字段名称定义指令中包括所述数据库的数据字段名称;数据系统服务器在接收到字段名称定义指令后,可根据字段名称定义指令,对数据库的数据字段配置对应的数据字段名称。更具体的,可将管理员配置的数据字段名称与数据库中数据字段的原名称进行关联存储,例如管理员配置的数据字段名称可以为便于理解的名称,如可以为表示数据字段内容的中文名称,而原名称则可能是外文或者一些不利于理解名称。进一步的,在向管理员的终端设备发送所述数据库的数据字段信息时,可向管理员的终端设备发送数据库的数据字段名称,以便于管理员理解、并根据数据字段名称快速配置数据访问权限。
S2013、获取所述管理员的终端设备发送的所述配置请求;
其中,所述配置请求为所述管理员的终端设备在所述权限管理界面根据所述数据字段信息确定所述数据使用方的终端设备的当前访问权限后,根据所述当前数据访问权限和所述数据使用方标识生成的。
在本实施例中,管理员可以在其终端设备上的权限管理界面上根据数据字段信息选择数据使用方的终端设备能够访问的数据字段,从而以管理员所选择的数据字段作为该数据使用方的数据访问权限,并由管理员的终端设备根据当前数据访问权限和数据使用方标识生成配置请求,并向数据系统服务器发送配置请求。通过上述过程可以更方便快捷的实现对数据使用方的终端设备的当前访问权限进行配置。
在上述实施例的基础上,如图4所示,S202所述的根据所述配置请求,获取与所述当前数据访问权限对应的当前目标查询语句,可包括:
S2021、根据所述配置请求,确定所述当前访问权限对应数据在所述数据库中所处的数据字段信息;
S2022、根据所述当前访问权限对应数据在所述数据库中所处的数据字段信息,生成所述当前目标查询语句。
在本实施例中,在接收到管理员的终端设备发送的配置请求后,可提取其中的当前数据访问权限,确定当前访问权限对应数据在数据库中所处的数据字段信息,进而根据前访问权限对应数据在数据库中所处的数据字段信息生成当前目标查询语句,例如SQL语句片段。具体的,可根据上述的管理员配置的数据字段名称与数据库中数据字段的原名称的关联关系,确定当前访问权限对应数据在数据库中所处的数据字段的原名称,根据该数据字段的原名称生成当前目标查询语句。本实施例中生成当前目标查询语句的过程可以按照数据库的查询语句的规则进行生成,具体此处不再赘述。
在上述任一实施例的基础上,在所述接收管理员的终端设备发送的配置请求之前,所述方法还可包括:
接收所述管理员的终端设备发送的新增数据使用方指令,所述新增数据使用方指令中包括所述数据使用方标识以及所述数据使用方的基本信息;对所述数据使用方标识以及所述数据使用方的基本信息进行关联存储。
在本实施例中,当需要新增数据使用方时,可以由管理员在其终端设备上填写数据使用方标识以及数据使用方的基本信息,数据使用方的基本信息可以包括数据使用方名称、地址、电话等等,然后通过管理员的终端设备向数据系统服务器发送新增数据使用方指令,并在新增数据使用方指令中携带数据使用方标识和数据使用方的基本信息;进一步的,在完成数据使用方的新增过程后,可由管理员在其终端设备上进行该数据使用方的数据访问权限的配置,其配置过程可参照上述实施例,此处不再赘述。
在上述任一实施例的基础上,S103所述的截取数据库查询指令中的预设查询语句,包括:
通过拦截器拦截所述数据库查询指令,以获取所述数据库查询指令中的预设查询语句。
在本实施例中,数据系统服务器可通过拦截器实现对数据库查询指令的拦截,获取数据库查询指令中的预设查询语句。可选的,拦截器具体可以为MyBatis拦截器,其中MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,而MyBatista拦截器则是在MyBatis框架下的拦截器,通过java语言扩展自定义拦截器,可以实现对SQL查询语句的拦截,而不入侵原有代码。进一步的,还可在拦截器中可完成将所述预设查询语句替换为所述当前目标查询语句的过程。
基于上述实施例,还提供用于存储各个关联关系的数据结构,例如在第一数据结构中存储数据使用方标识和当前目标查询语句的关联关系,当然还可包括数据库标识;在第二数据结构中存储数据使用方标识和数据使用方的基本信息的关联关系;在第三数据结构中存储管理员配置的数据字段名称与数据库中数据字段的原名称的关联关系,例如,可存储数据表的行中文名称与行英文名称的对应关系、以及列中文名称与列英文名称的对应关系,其中英文名称为数据表中数据字段的原名称;在第四数据结构中记录各数据结构之间关联关系,例如第一数据结构和第二数据结构之间的关联关系。本实施例提供的存储各个关联关系的数据结构可便于记录上述的关联关系,同时也便于快速查询到所需要的内容,例如根据数据使用方标识可以从第一数据结构中查询到当前目标查询语句。
基于上述各实施例,本实施例中提供一种数据的查询方法的示例,具体过程如下:
1)管理员的终端设备可预先向数据系统服务器发送字段名称定义指令,字段名称定义指令中包括所述数据库的数据字段名称;数据系统服务器在根据字段名称定义指令对数据库的数据字段配置对应的数据字段名称,并将数据字段名称的关联关系记录于上述的第三数据结构中;
2)在需要新增数据使用方时,管理员的终端设备向数据系统服务器发送新增数据使用方指令,新增数据使用方指令中包括所述数据使用方标识以及所述数据使用方的基本信息;数据系统服务器将数据使用方标识以及数据使用方的基本信息的关联关系存储于上述的第二数据结构中;
3)在对数据使用方配置数据访问权限时,管理员的终端设备可向数据系统服务器发送的权限管理界面的登录请求;数据系统服务器根据登录请求向管理员的终端设备发送数据库的数据字段信息,以在管理员的终端设备的权限管理界面中展示;管理员的终端设备可根据管理员在权限管理界面针对数据使用方选择的数据字段确定数据使用方的终端设备的当前访问权限后,根据当前数据访问权限和数据使用方标识生成配置请求;数据系统服务器根据配置请求确定当前访问权限对应数据在数据库中所处的数据字段信息,并生成当前目标查询语句,并将当前目标查询语句和数据使用方标识的关联关系存储到上述的第一数据结构中;此外,还可将第一数据结构和第二数据结构之间的关联关系存储于第四数据结构中;
4)在数据使用方需要查询数据时,数据使用方的终端设备向数据系统服务器发送数据查询请求,数据查询请求包括数据使用方标识;数据系统服务器可获取与数据使用方标识对应的当前目标查询语句,截取数据库查询指令中的预设查询语句,将预设查询语句设置为当前目标查询语句,并将当前目标查询语句携带在所述数据库查询指令中发送给数据库,以从数据库中获取与当前目标查询语句对应的目标数据,并将所述目标数据发送给所述数据使用方的终端设备。
上述实施例通过拦截技术实现将当前数据访问权限对应的当前目标查询语句替换预设查询语句,实现查询当前数据访问权限范围内的数据,可便于对数据使用方的数据访问权限的动态修改和配置,不需要发版,避免了频繁发版带来的系统风险,并且在开发阶段无需关注数据访问权限,可扩展性较高,降低开发成本。
图5为本发明实施例提供的数据的查询装置的结构图。本实施例提供的数据的查询装置可以执行数据的查询方法实施例提供的处理流程,如图5所示,所述数据的查询装置500包括接收模块501、处理模块502以及发送模块503。
接收模块501,用于接收数据使用方的终端设备发送的数据查询请求,所述数据查询请求包括数据使用方标识;
处理模块502,用于根据所述数据查询请求,获取与所述数据使用方标识对应的当前目标查询语句,并截取数据库查询指令中的预设查询语句;其中,所述当前目标查询语句为与所述数据使用方标识对应的当前数据访问权限的查询语句,所述数据库查询指令是基于所述数据查询请求以及所述预设查询语句而生成的向所述数据库查询数据的指令;将所述预设查询语句设置为所述当前目标查询语句,并将所述当前目标查询语句携带在所述数据库查询指令中发送给所述数据库,以从所述数据库中获取与所述当前目标查询语句对应的目标数据;
发送模块503,用于将所述目标数据发送给所述数据使用方的终端设备。
在上述实施例的基础上,所述接收模块501还用于,在获取与所述数据使用方标识对应的当前目标查询语句之前,接收管理员的终端设备发送的配置请求,所述配置请求包括所述数据使用方的终端设备对应的当前数据访问权限和所述数据使用方标识;
所述处理模块502还用于,根据所述配置请求,获取与所述当前数据访问权限对应的当前目标查询语句,并将所述数据使用方标识和所述当前目标查询语句相关联。
在上述任一实施例的基础上,所述处理模块502在根据所述配置请求,获取与所述当前数据访问权限对应的当前目标查询语句时,用于:
根据所述配置请求,确定所述当前访问权限对应数据在所述数据库中所处的数据字段信息;
根据所述当前访问权限对应数据在所述数据库中所处的数据字段信息,生成所述当前目标查询语句。
在上述任一实施例的基础上,所述接收模块501在接收管理员的终端设备发送的配置请求时,用于:
接收所述管理员的终端设备发送的权限管理界面的登录请求;
根据所述登录请求,通过所述发送模块503向所述管理员的终端设备发送所述数据库的数据字段信息,以在所述管理员的终端设备的权限管理界面中展示;
获取所述管理员的终端设备发送的所述配置请求,其中,所述配置请求为所述管理员的终端设备在所述权限管理界面根据所述数据字段信息确定所述数据使用方的终端设备的当前访问权限后,根据所述当前数据访问权限和所述数据使用方标识生成的。
在上述任一实施例的基础上,所述处理模块502在截取数据库查询指令中的预设查询语句时,用于:
通过拦截器拦截所述数据库查询指令,以获取所述数据库查询指令中的预设查询语句。
在上述任一实施例的基础上,所述接收模块501还用于,接收所述管理员的终端设备发送的字段名称定义指令,所述字段名称定义指令中包括所述数据库的数据字段名称;
所述处理模块502还用于,根据所述字段名称定义指令,对所述数据库的数据字段配置对应的数据字段名称;
所述接收模块501根据所述登录请求,通过所述发送模块503向所述管理员的终端设备发送所述数据库的数据字段信息时,用于:
根据所述登录请求,通过所述发送模块503向所述管理员的终端设备发送所述数据库的数据字段名称。
在上述任一实施例的基础上,所述接收模块501还用于,在接收管理员的终端设备发送的配置请求之前,接收所述管理员的终端设备发送的新增数据使用方指令,所述新增数据使用方指令中包括所述数据使用方标识以及所述数据使用方的基本信息;
所述处理模块502还用于,对所述数据使用方标识以及所述数据使用方的基本信息进行关联存储。
在上述任一实施例的基础上,对于不同的数据使用方标识,所述预设查询语句相同。
本发明实施例提供的数据的查询装置可以具体用于执行上述图1-5所提供的方法实施例,具体功能此处不再赘述。
本发明实施例提供的数据的查询装置,通过接收数据使用方的终端设备发送的数据查询请求,数据查询请求包括数据使用方标识;根据数据查询请求,获取与数据使用方标识对应的当前目标查询语句;其中当前目标查询语句为与数据使用方标识对应的当前数据访问权限的查询语句;截取数据库查询指令中的预设查询语句,其中数据库查询指令是基于数据查询请求以及预设查询语句而生成的向数据库查询数据的指令;将预设查询语句设置为当前目标查询语句,并将当前目标查询语句携带在数据库查询指令中发送给数据库,以从数据库中获取与当前目标查询语句对应的目标数据;将目标数据发送给数据使用方的终端设备。本发明实施例通过拦截技术实现将当前数据访问权限对应的当前目标查询语句替换预设查询语句,实现查询当前数据访问权限范围内的数据,可便于对数据使用方的数据访问权限的动态修改和配置,不需要发版,避免了频繁发版带来的系统风险,并且在开发阶段无需关注数据访问权限,可扩展性较高,降低开发成本。
图6为本发明实施例提供的电子设备的结构示意图。本发明实施例提供的电子设备可以执行数据的查询方法实施例提供的处理流程,该电子设备具体可以为上述实施例中的数据系统服务器。如图6所示,电子设备60包括存储器61、处理器62、计算机程序和通讯接口63;其中,计算机程序存储在存储器61中,并被配置为由处理器62执行以上实施例中所述的数据的查询方法。
图6所示实施例的电子设备可用于执行上述数据的查询方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
另外,本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述实施例所述的数据的查询方法。
本申请还提供了一种计算机程序,包括程序代码,当计算机运行所述计算机程序时,所述程序代码执行如上述实施例所述的数据的查询方法。
在本发明实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明实施例各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例各实施例技术方案的范围。
Claims (10)
1.一种数据的查询方法,其特征在于,包括:
接收数据使用方的终端设备发送的数据查询请求,所述数据查询请求包括数据使用方标识;
根据所述数据查询请求,获取与所述数据使用方标识对应的当前目标查询语句;其中所述当前目标查询语句为与所述数据使用方标识对应的当前数据访问权限的查询语句;
截取数据库查询指令中的预设查询语句,其中所述数据库查询指令是基于所述数据查询请求以及所述预设查询语句而生成的向所述数据库查询数据的指令;
将所述预设查询语句设置为所述当前目标查询语句,并将所述当前目标查询语句携带在所述数据库查询指令中发送给所述数据库,以从所述数据库中获取与所述当前目标查询语句对应的目标数据;
将所述目标数据发送给所述数据使用方的终端设备。
2.根据权利要求1所述的方法,其特征在于,在所述获取与所述数据使用方标识对应的当前目标查询语句之前,还包括:
接收管理员的终端设备发送的配置请求,所述配置请求包括所述数据使用方的终端设备对应的当前数据访问权限和所述数据使用方标识;
根据所述配置请求,获取与所述当前数据访问权限对应的当前目标查询语句,并将所述数据使用方标识和所述当前目标查询语句相关联。
3.根据权利要求2所述的方法,其特征在于,所述根据所述配置请求,获取与所述当前数据访问权限对应的当前目标查询语句,包括:
根据所述配置请求,确定所述当前访问权限对应数据在所述数据库中所处的数据字段信息;
根据所述当前访问权限对应数据在所述数据库中所处的数据字段信息,生成所述当前目标查询语句。
4.根据权利要求2所述的方法,其特征在于,所述接收管理员的终端设备发送的配置请求,包括:
接收所述管理员的终端设备发送的权限管理界面的登录请求;
根据所述登录请求,向所述管理员的终端设备发送所述数据库的数据字段信息,以在所述管理员的终端设备的权限管理界面中展示;
获取所述管理员的终端设备发送的所述配置请求,其中,所述配置请求为所述管理员的终端设备在所述权限管理界面根据所述数据字段信息确定所述数据使用方的终端设备的当前访问权限后,根据所述当前数据访问权限和所述数据使用方标识生成的。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
接收所述管理员的终端设备发送的字段名称定义指令,所述字段名称定义指令中包括所述数据库的数据字段名称;
根据所述字段名称定义指令,对所述数据库的数据字段配置对应的数据字段名称;
所述根据所述登录请求,向所述管理员的终端设备发送所述数据库的数据字段信息,包括:
根据所述登录请求,向所述管理员的终端设备发送所述数据库的数据字段名称。
6.根据权利要求4或5所述的方法,其特征在于,在所述接收管理员的终端设备发送的配置请求之前,所述方法还包括:
接收所述管理员的终端设备发送的新增数据使用方指令,所述新增数据使用方指令中包括所述数据使用方标识以及所述数据使用方的基本信息;
对所述数据使用方标识以及所述数据使用方的基本信息进行关联存储。
7.根据权利要求1所述的方法,其特征在于,对于不同的数据使用方标识,所述预设查询语句相同。
8.一种数据的查询装置,其特征在于,包括:
接收模块,用于接收数据使用方的终端设备发送的数据查询请求,所述数据查询请求包括数据使用方标识;
处理模块,用于根据所述数据查询请求,获取与所述数据使用方标识对应的当前目标查询语句,其中所述当前目标查询语句为与所述数据使用方标识对应的当前数据访问权限的查询语句;截取数据库查询指令中的预设查询语句,其中所述数据库查询指令是基于所述数据查询请求以及所述预设查询语句而生成的向所述数据库查询数据的指令;将所述预设查询语句设置为所述当前目标查询语句,并将所述当前目标查询语句携带在所述数据库查询指令中发送给所述数据库,以从所述数据库中获取与所述当前目标查询语句对应的目标数据;
发送模块,用于将所述目标数据发送给所述数据使用方的终端设备。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于运行所述存储器中存储的计算机程序以实现如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010315674.6A CN111506611A (zh) | 2020-04-21 | 2020-04-21 | 数据的查询方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010315674.6A CN111506611A (zh) | 2020-04-21 | 2020-04-21 | 数据的查询方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111506611A true CN111506611A (zh) | 2020-08-07 |
Family
ID=71864237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010315674.6A Pending CN111506611A (zh) | 2020-04-21 | 2020-04-21 | 数据的查询方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111506611A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112685451A (zh) * | 2020-12-28 | 2021-04-20 | 招商局金融科技有限公司 | 数据查询处理方法、装置、计算机设备及存储介质 |
CN112905592A (zh) * | 2021-02-08 | 2021-06-04 | 中国工商银行股份有限公司 | 一种数据查询方法、系统及服务器 |
CN113064925A (zh) * | 2021-03-15 | 2021-07-02 | 深圳依时货拉拉科技有限公司 | 一种大数据查询方法、系统及计算机可读存储介质 |
CN113282591A (zh) * | 2021-06-29 | 2021-08-20 | 深圳平安智汇企业信息管理有限公司 | 权限过滤方法、装置、计算机设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101312396A (zh) * | 2007-05-24 | 2008-11-26 | 中兴通讯股份有限公司 | 一种电子工单管理系统及其资源权限控制方法 |
CN103530568A (zh) * | 2012-07-02 | 2014-01-22 | 阿里巴巴集团控股有限公司 | 权限控制方法、装置及系统 |
CN109409119A (zh) * | 2017-08-17 | 2019-03-01 | 北京京东尚科信息技术有限公司 | 数据操作方法和装置 |
CN109710655A (zh) * | 2018-11-09 | 2019-05-03 | 中国平安人寿保险股份有限公司 | 数据库查询方法、装置、终端设备及存储介质 |
CN109815284A (zh) * | 2019-01-04 | 2019-05-28 | 平安科技(深圳)有限公司 | 一种数据处理的方法和装置 |
CN110989998A (zh) * | 2019-12-16 | 2020-04-10 | 重庆锐云科技有限公司 | 动态sql语句写入代码的方法、程序代码执行方法及平台 |
-
2020
- 2020-04-21 CN CN202010315674.6A patent/CN111506611A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101312396A (zh) * | 2007-05-24 | 2008-11-26 | 中兴通讯股份有限公司 | 一种电子工单管理系统及其资源权限控制方法 |
CN103530568A (zh) * | 2012-07-02 | 2014-01-22 | 阿里巴巴集团控股有限公司 | 权限控制方法、装置及系统 |
CN109409119A (zh) * | 2017-08-17 | 2019-03-01 | 北京京东尚科信息技术有限公司 | 数据操作方法和装置 |
CN109710655A (zh) * | 2018-11-09 | 2019-05-03 | 中国平安人寿保险股份有限公司 | 数据库查询方法、装置、终端设备及存储介质 |
CN109815284A (zh) * | 2019-01-04 | 2019-05-28 | 平安科技(深圳)有限公司 | 一种数据处理的方法和装置 |
CN110989998A (zh) * | 2019-12-16 | 2020-04-10 | 重庆锐云科技有限公司 | 动态sql语句写入代码的方法、程序代码执行方法及平台 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112685451A (zh) * | 2020-12-28 | 2021-04-20 | 招商局金融科技有限公司 | 数据查询处理方法、装置、计算机设备及存储介质 |
CN112685451B (zh) * | 2020-12-28 | 2024-02-13 | 招商局金融科技有限公司 | 数据查询处理方法、装置、计算机设备及存储介质 |
CN112905592A (zh) * | 2021-02-08 | 2021-06-04 | 中国工商银行股份有限公司 | 一种数据查询方法、系统及服务器 |
CN113064925A (zh) * | 2021-03-15 | 2021-07-02 | 深圳依时货拉拉科技有限公司 | 一种大数据查询方法、系统及计算机可读存储介质 |
CN113282591A (zh) * | 2021-06-29 | 2021-08-20 | 深圳平安智汇企业信息管理有限公司 | 权限过滤方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111698228B (zh) | 系统访问权限授予方法、装置、服务器及存储介质 | |
CN111506611A (zh) | 数据的查询方法、装置、设备及存储介质 | |
CN102982141B (zh) | 一种实现分布式数据库代理的方法及装置 | |
US20130132372A1 (en) | Systems and methods for dynamic service integration | |
CN111240763A (zh) | 配置更新方法、装置、设备及存储介质 | |
CN109063077B (zh) | 一种基于弹性搜索的数据访问方法及装置 | |
WO2011115839A2 (en) | Computer relational database method and system having role based access control | |
CN101814084A (zh) | Api管理方法及系统 | |
KR20120062514A (ko) | SaaS 환경에서의 권한 관리 장치 및 방법 | |
US10354255B2 (en) | Client access license tracking mechanism | |
US11477179B2 (en) | Searching content associated with multiple applications | |
CN111385370B (zh) | Id分配方法、装置、存储介质及id分配系统 | |
CN109889625B (zh) | 访问服务器的方法、记账节点、服务器及计算机可读存储介质 | |
CN108696559B (zh) | 流处理方法及装置 | |
CN112434037A (zh) | 数据处理方法、处理装置、数据处理设备和存储介质 | |
CN111200645B (zh) | 业务请求处理方法、装置、设备及可读存储介质 | |
CN112506961A (zh) | 一种提高数据查询效率的方法 | |
CN112131230A (zh) | 应用SaaS化实现方法、装置、设备及存储介质 | |
CN113051271B (zh) | 一种冷热数据分离方法、装置及其设备 | |
CN113127906A (zh) | 基于c/s架构的统一权限管理平台、方法及存储介质 | |
US20170344549A1 (en) | Enhanced database query processing | |
CN116305288B (zh) | 一种隔离数据库资源的方法、装置、设备和存储介质 | |
CN116186046B (zh) | 设备数据的修改方法、装置、计算机设备及存储介质 | |
US11176108B2 (en) | Data resolution among disparate data sources | |
CN115455005A (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 |