CN110309213A - 一种数据库访问控制方法、装置、系统、介质及设备 - Google Patents

一种数据库访问控制方法、装置、系统、介质及设备 Download PDF

Info

Publication number
CN110309213A
CN110309213A CN201810266200.XA CN201810266200A CN110309213A CN 110309213 A CN110309213 A CN 110309213A CN 201810266200 A CN201810266200 A CN 201810266200A CN 110309213 A CN110309213 A CN 110309213A
Authority
CN
China
Prior art keywords
access
database
access request
request
control strategy
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
Application number
CN201810266200.XA
Other languages
English (en)
Other versions
CN110309213B (zh
Inventor
李乾明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201810266200.XA priority Critical patent/CN110309213B/zh
Publication of CN110309213A publication Critical patent/CN110309213A/zh
Application granted granted Critical
Publication of CN110309213B publication Critical patent/CN110309213B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据库访问控制方法、装置、系统、介质及设备,应用于数据库技术领域,用以解决当一个终端应用需要使用多个不同类型的数据库时,数据库的接口维护成本较高的问题。具体为:接收第一访问请求;根据第一访问请求,确定请求访问的目标数据库的类型,并根据目标数据库的类型,确定目标数据库对应的语法格式;根据目标数据库对应的语法格式,将第一访问请求转换为目标数据库识别的第二访问请求;根据第二访问请求,对目标数据库执行相应的访问操作。这样,只需维护少量的数据库的接口,即可通过语法格式的转换实现对各类数据库的访问,从而有效地降低了数据库的接口维护成本。

Description

一种数据库访问控制方法、装置、系统、介质及设备
技术领域
本发明涉及数据库技术领域,尤其涉及一种数据库访问控制方法、装置、系统、介质及设备。
背景技术
随着互联网技术的不断发展,电子商务、企业办公、社交通信、购物、理财等各类终端应用应运而生,这些终端应用主要通过数据库为其提供内容支持。
目前,数据库的类型各种各样,对于大型的终端应用,可能需要使用多个不同类别的数据库为其提供不同的内容支持,因此,当一个终端应用需要使用多个不同类别的数据库时,如何降低数据库的接口维护成本仍然是互联网技术领域亟待解决的技术问题。
发明内容
本发明实施例提供了一种数据库访问控制方法、装置、系统、介质及设备,用以解决当一个终端应用需要使用多个不同类别的数据库时,数据库的接口维护成本较高的问题。
本发明实施例提供的具体技术方案如下:
第一方面,本发明实施例提供了一种数据库访问控制方法,包括:
接收第一访问请求;
根据第一访问请求,确定请求访问的目标数据库的类型,并根据目标数据库的类型,确定目标数据库对应的语法格式;
根据目标数据库对应的语法格式,将第一访问请求转换为目标数据库识别的第二访问请求;
根据第二访问请求,对目标数据库执行相应的访问操作。
较佳的,接收的第一访问请求是通过统一接口发送的。
较佳的,接收第一访问请求之前,还包括:
接收授权请求;
对授权请求对应的终端应用进行身份认证,若认证通过,则为终端应用生成通信密钥和访问凭证,并为通信密钥和访问凭证设置有效期;
将终端应用的通信密钥、访问凭证、通信密钥的有效期和访问凭证的有效期返回至终端应用。
较佳的,接收的授权请求是通过统一接口发送的。
较佳的,根据第一访问请求,确定请求访问的目标数据库的类型之前,还包括:
根据缓存的终端应用的通信密钥的有效期和访问凭证的有效期,确定终端应用的通信密钥和访问凭证有效,并根据缓存的终端应用的访问凭证,确定第一访问请求中携带的访问凭证合法。
较佳的,根据第一访问请求,确定请求访问的目标数据库的类型之前,还包括:
根据安全访问控制策略,确定终端应用通过统一接口发送的第一访问请求合法。
较佳的,根据第一访问请求,确定请求访问的目标数据库的类型,包括:
根据第一访问请求中携带的访问数据,确定目标数据库的类型;或者,
将第一访问请求中携带的数据库的类型,作为目标数据库的类型。
较佳的,根据第二访问请求,对目标数据库执行相应的访问操作之前,还包括:
对第二访问请求进行性能优化,得到符合预设的最优性能条件的第二访问请求。
较佳的,根据第二访问请求,对目标数据库执行相应的访问操作,包括:
若第二访问请求为写请求,则将第二访问请求中携带的访问数据写入目标数据库;
若第二访问请求为读请求,则从目标数据库中,读取与第二访问请求中携带的访问数据相对应的响应数据。
较佳的,根据第二访问请求,对目标数据库执行相应的访问操作,还包括:
若第二访问请求为读请求,则从缓存中,读取第二访问请求中携带的访问数据对应的响应数据,若未读取到响应数据,则从目标数据库中,读取响应数据并缓存。
第二方面,本发明实施例提供了一种数据库访问控制装置,包括:
接收单元,用于接收第一访问请求;
确定单元,用于根据所述第一访问请求,确定请求访问的目标数据库的类型,并根据所述目标数据库的类型,确定所述目标数据库对应的语法格式;
转换单元,用于根据所述目标数据库对应的语法格式,将所述第一访问请求转换为所述目标数据库识别的第二访问请求;
访问单元,用于根据所述第二访问请求,对所述目标数据库执行相应的访问操作。
较佳的,接收单元接收的第一访问请求是通过统一接口发送的。
较佳的,接收单元还用于:
接收授权请求;
对授权请求对应的终端应用进行身份认证,若认证通过,则为终端应用生成通信密钥和访问凭证,并为通信密钥和访问凭证设置有效期;
将终端应用的通信密钥、访问凭证、通信密钥的有效期和访问凭证的有效期返回至终端应用。
较佳的,接收单元接收的授权请求是通过统一接口发送的。
较佳的,接收单元还用于:
根据缓存的终端应用的通信密钥的有效期和访问凭证的有效期,确定终端应用的通信密钥和访问凭证有效,并根据缓存的终端应用的访问凭证,确定第一访问请求中携带的访问凭证合法。
较佳的,该数据库访问控制装置还包括:
验证单元,用于根据安全访问控制策略,确定第一访问请求合法。
较佳的,在根据第一访问请求,确定请求访问的目标数据库的类型时,确定单元具体用于:
根据第一访问请求中携带的访问数据,确定目标数据库的类型;或者,
将第一访问请求中携带的数据库的类型,作为目标数据库的类型。
较佳的,该数据库访问控制装置还包括:
优化单元,用于对第二访问请求进行性能优化,得到符合预设的最优性能条件的第二访问请求。
较佳的,在根据第二访问请求,对目标数据库执行相应的访问操作时,访问单元具体用于:
若第二访问请求为写请求,则将第二访问请求中携带的访问数据写入目标数据库;
若第二访问请求为读请求,则从目标数据库中,读取与第二访问请求中携带的访问数据相对应的响应数据。
较佳的,在根据第二访问请求,对目标数据库执行相应的访问操作时,访问单元还用于:
若第二访问请求为读请求,则从缓存中,读取第二访问请求中携带的访问数据对应的响应数据,若未读取到响应数据,则从目标数据库中,读取响应数据并缓存。
第三方面,本发明实施例提供了一种数据库访问控制系统,包括:
统一接口模块,用于接收第一访问请求;
语法解析模块,用于根据第一访问请求,确定请求访问的目标数据库的类型,并根据目标数据库的类型,确定目标数据库对应的语法格式,以及根据目标数据库对应的语法格式,将第一访问请求转换为目标数据库识别的第二访问请求;
数据库选择模块,用于根据第二访问请求,对目标数据库执行相应的访问操作。
较佳的,统一接口模块接收的第一访问请求是通过统一接口发送的。
较佳的,该数据库访问控制系统还包括:
鉴权模块,用于接收授权请求;对授权请求对应的终端应用进行身份认证,若认证通过,则为终端应用生成通信密钥和访问凭证,并为通信密钥和访问凭证设置有效期;通过统一接口模块,将终端应用的通信密钥、访问凭证、通信密钥的有效期和访问凭证的有效期返回至终端应用。
较佳的,鉴权模块接收的授权请求是通过统一接口发送的。
较佳的,统一接口模块还用于:
根据缓存的终端应用的通信密钥的有效期和访问凭证的有效期,验证终端应用的通信密钥和访问凭证是否有效;
若有效,则根据缓存的终端应用的访问凭证,验证第一访问请求中携带的访问凭证是否合法;
若合法,则转发第一访问请求。
较佳的,该数据库访问控制系统还包括:
网络隔离模块,用于截获第一访问请求;根据安全访问控制策略,判断第一访问请求是否合法,若是,则转发第一访问请求;若否,则丢弃第一访问请求。
较佳的,该数据库访问控制系统还包括:
数据转发模块,用于根据负载均衡策略,将接收到的第一访问请求分配至相应的语法解析模块。
较佳的,语法解析模块用于:
根据第一访问请求中携带的访问数据,确定目标数据库的类型;或者,
将第一访问请求中携带的数据库的类型,作为目标数据库的类型。
较佳的,该数据库访问控制系统还包括:
优化模块,用于对第二访问请求进行性能优化,得到符合预设的最优性能条件的第二访问请求并发送。
较佳的,数据库选择模块用于:
若第二访问请求为写请求,则将第二访问请求中携带的访问数据写入目标数据库;
若第二访问请求为读请求,则从目标数据库中,读取与第二访问请求中携带的访问数据相对应的响应数据。
较佳的,该数据库访问控制系统还包括:
缓存模块,用于缓存对应的访问频率不小于预设阈值的数据。
较佳的,数据库选择模块还用于:
若第二访问请求为读请求,则从缓存模块中,读取第二访问请求中携带的访问数据对应的响应数据,若未读取到响应数据,则从目标数据库中,读取响应数据,并将响应数据缓存至缓存模块。
较佳的,该数据库访问控制系统还包括:
数据存储模块,用于存储各个数据库;
数据备份模块,用于对数据存储模块中的各个数据库进行备份。
第四方面,本发明实施例提供了一种非易失性计算机存储介质,该非易失性计算机存储介质存储有可执行程序,该可执行程序被处理器执行实现上述数据库访问控制方法的步骤。
第五方面,本发明实施例提供了一种数据库访问控制设备,包括存储器、处理器和存储在该存储器上的计算机程序,该处理器执行计算机程序时实现上述数据库访问控制方法的步骤。
本发明实施例的有益效果如下:
本发明实施例中,不仅能够根据第一访问请求确定出目标数据库对应的语法格式,还能够将第一访问请求转换为目标数据库识别的第二访问请求,从而实现了语法格式的转换,这样,只需维护少量的数据库的接口,即可通过语法格式的转换实现对各类数据库的访问,有效地降低了数据库的接口维护成本。
附图说明
图1为本发明实施例中提供的当终端应用使用多个不同类别的数据库为其提供不同的内容支持时的接口维护逻辑示意图;
图2为本发明实施例中提供的一种数据库访问控制系统的系统架构示意图;
图3为本发明实施例中提供的一种数据库访问控制方法的流程示意图;
图4为本发明实施例中提供的另一种数据库访问控制系统的系统架构示意图;
图5为本发明实施例中提供的另一种数据库访问控制方法的流程示意图;
图6为本发明实施例中提供的又一种数据库访问控制系统的系统架构示意图;
图7为本发明实施例中提供的又一种数据库访问控制方法的流程示意图;
图8为本发明实施例中提供的以“终端应用100为社交网络服务网站(比如Facebook)”为具体应用场景,以“数据库访问控制系统中的各个模块均集成在数据库访问控制设备中”为例时数据库访问控制方法的流程示意图;
图9为本发明实施例中提供的一种数据库访问控制装置的功能结构示意图;
图10为本发明实施例中提供的一种数据库访问控制设备的硬件结构示意图。
具体实施方式
目前,终端应用主要采用多数据库多接口维护的方式,实现数据库的访问和管理,参阅图1所示,为终端应用使用多个不同类别的数据库为其提供不同的内容支持时的接口维护逻辑示意图,具体地,由于每一类数据库使用的语法格式不同,所以,终端应用需要针对每一类数据库分别维护相应的接口,通过调用不同的接口来访问不同的数据库。目前的这种数据库访问控制方法,接口的维护成本较高,而且,也缺少对数据库的安全访问机制,无法保证数据库的安全,拖库风险较高。基于此,为了降低数据库的接口维护成本、实现数据库的安全访问,本发明实施例提供了一种数据库访问控制系统、方法、介质及设备。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先,对本发明实施例中涉及的部分用语进行说明,以便于本领域技术人员理解。
终端应用,为可以完成一项或多项特定工作的计算机程序,具有可视的显示界面,能与用户进行交互,例如,办公系统,社交网络服务网站,购物网站,电子商务平台等。
数据库,为按照一定的数据结构存储和管理数据的数据集合,比如,MySQL、Oralce、Redis、Hadoop、SQL Server、PgSQL等。
数据库的接口,为终端应用可以调用的、用于访问该数据库的通道,比如,MySQL接口为终端应用可以调用的、用于访问MySQL数据库的通道,又如,Oralce接口为终端应用可以调用的、用于访问Oralce数据库的通道等。
统一接口,为终端应用可以调用的、用于访问各种类型的数据库的统一通道,比如,超文本传输安全协议(Hypertext Transfer Protocol over Secure Socket Layer,HTTPS)接口,该HTTPS接口为终端应用可以调用的、用于访问MySQL、Oralce、Redis、Hadoop、SQL Server、PgSQL等各种类型的数据库的统一通道。
数据库的语法格式,为该数据库能够识别的数据语法和数据格式。
接下来,对本发明示例性实施方式的数据库访问控制系统和方法进行简单说明。
本发明实施例提供了一种如图2所示的数据库访问控制系统,包括:
统一接口模块201,用于接收第一访问请求;
语法解析模块202,用于根据第一访问请求,确定请求访问的目标数据库的类型,并根据目标数据库的类型,确定目标数据库对应的语法格式,以及根据目标数据库对应的语法格式,将第一访问请求转换为目标数据库识别的第二访问请求;
数据库选择模块203,用于根据第二访问请求,对目标数据库执行相应的访问操作。
较佳的,统一接口模块201接收的第一访问请求是通过统一接口发送的。
较佳的,该数据库访问控制系统还包括:
鉴权模块204,用于接收授权请求;对授权请求对应的终端应用100进行身份认证,若认证通过,则为终端应用100生成通信密钥和访问凭证,并为通信密钥和访问凭证设置有效期;通过统一接口模块201,将终端应用100的通信密钥、访问凭证、通信密钥的有效期和访问凭证的有效期返回至终端应用100。
较佳的,鉴权模块204接收的授权请求是通过统一接口发送的。
较佳的,统一接口模块201还用于:
根据缓存的终端应用100的通信密钥的有效期和访问凭证的有效期,验证终端应用100的通信密钥和访问凭证是否有效;
若有效,则根据缓存的终端应用100的访问凭证,验证第一访问请求中携带的访问凭证是否合法;
若合法,则转发第一访问请求。
较佳的,该数据库访问控制系统还包括:
网络隔离模块205,用于截获第一访问请求;根据安全访问控制策略,判断第一访问请求是否合法,若是,则转发第一访问请求;若否,则丢弃第一访问请求。当然,网络隔离模块205也可以截获授权请求;根据安全访问控制策略,判断授权请求是否合法,若是,则转发授权请求;若否,则丢弃授权请求。
值得说的是,网络隔离模块205可以部署在统一接口模块201的前面,也可以部署在统一接口模块201的后面,其中,图2中仅以网络隔离模块205部署在统一接口模块201的前面为例,并不仅以为限。具体地,若网络隔离模块205部署在统一接口模块201的前面,网络隔离模块205截获授权请求或第一访问请求,根据安全访问控制策略确定授权请求或第一访问请求合法时,将授权请求或第一访问请求转发至统一接口模块201。此时,统一接口模块201接收到的授权请求或第一访问请求是网络隔离模块205转发的,鉴权模块204接收到的授权请求以及数据转发模块206接收到的第一访问请求是统一接口模块201转发的。
若网络隔离模块205部署在统一接口模块201的后面,统一接口模块201接收授权请求或第一访问请求,网络隔离模块205截获统一接口模块201转发给鉴权模块204的授权请求,并根据安全访问控制策略确定授权请求合法时,将授权请求转发至鉴权模块204;或者,网络隔离模块205截获统一接口模块201转发给数据转发模块206的第一访问请求,并根据安全访问控制策略确定第一访问请求合法时,将第一访问请求转发至数据转发模块206。此时,鉴权模块204接收到的授权请求以及数据转发模块206接收到的第一访问请求是网络隔离模块205转发的。
较佳的,该数据库访问控制系统还包括:
数据转发模块206,用于根据负载均衡策略,将接收到的第一访问请求分配至相应的语法解析模块202。
较佳的,语法解析模块202用于:
根据第一访问请求中携带的访问数据,确定目标数据库的类型;或者,
将第一访问请求中携带的数据库的类型,作为目标数据库的类型。
较佳的,该数据库访问控制系统还包括:
优化模块207,用于对第二访问请求进行性能优化,得到符合预设的最优性能条件的第二访问请求并发送。
较佳的,数据库选择模块203用于:
若第二访问请求为写请求,则将第二访问请求中携带的访问数据写入目标数据库;
若第二访问请求为读请求,则从目标数据库中,读取与第二访问请求中携带的访问数据相对应的响应数据。
较佳的,该数据库访问控制系统还包括:
缓存模块208,用于缓存对应的访问频率不小于预设阈值的数据。
较佳的,数据库选择模块203还用于:
若第二访问请求为读请求,则从缓存模块208中,读取第二访问请求中携带的访问数据对应的响应数据,若未读取到响应数据,则从目标数据库中,读取响应数据并缓存至缓存模块208。
较佳的,该数据库访问控制系统还包括:
数据存储模块209,用于存储各个数据库;
数据备份模块210,用于对数据存储模块209中的各个数据库进行备份。
基于本发明实施例提供的如图2所示的数据库访问控制系统,本发明实施例提供了一种数据库访问控制方法,下面仅以“将网络隔离模块205部署在统一接口模块201前面”为例进行说明,参阅图3所示,该数据库访问控制方法的流程如下:
步骤301:终端应用100实时监测访问事件,并根据监测到的访问事件生成授权请求。
步骤302:终端应用100通过统一接口将授权请求发送至数据库访问控制系统。
步骤303:数据库访问控制系统中的网络隔离模块205截获该授权请求,并根据安全访问控制策略,判断该授权请求是否合法。
步骤304:网络隔离模块205确定该授权请求合法时,将该授权请求转发至统一接口模块201。
值得说的是,网络隔离模块205确定该授权请求非法时,丢弃该授权请求。
步骤305:统一接口模块201接收到网络隔离模块205转发的授权请求时,将该授权请求转发至鉴权模块205。
步骤306:鉴权模块205接收到统一接口模块201转发的授权请求时,对终端应用100进行身份认证,若认证通过,则为终端应用100生成通信密钥和访问凭证,并为通信密钥和访问凭证设置有效期。
值得说的是,通信密钥可以是长期有效,也可以是短期有效,而访问凭证可以是短期有效。具体地,鉴权模块205可以将通信密钥的有效期设置为永久或者设置为一个时间段,而将访问凭证的有效期设置为一个时间段。可选的,当通信密钥为短期有效时,鉴权模块205可以为通信密钥和访问凭证设置相同的有效期,比如,均设置为5分钟,也可以为通信密钥和访问凭证设置不同的有效期,比如,将通信密钥的有效期设置为5分钟,将访问凭证的有效期设置为10分钟。
步骤307:鉴权模块205通过统一接口模块201将终端应用100的通信密钥、访问凭证、通信密钥的有效期和访问凭证的有效期返回至终端应用100。
步骤308:统一接口模块201缓存鉴权模块205返回的终端应用100的通信密钥、访问凭证、通信密钥的有效期和访问凭证的有效期。
步骤309:终端应用100接收到鉴权模块205通过统一接口模块201返回的通信密钥、访问凭证、通信密钥的有效期和访问凭证的有效期时,根据监测到的访问事件确定访问数据,并利用通信密钥对该访问数据和访问凭证进行加密,得到访问数据密文。
步骤310:终端应用100通过统一接口将访问数据密文携带在第一访问请求中发送至数据库访问控制系统。
步骤311:数据库访问控制系统中的网络隔离模块205截获到该第一访问请求时,根据安全访问控制策略,判断该第一访问请求是否合法。
步骤312:网络隔离模块205确定该第一访问请求合法时,将该第一访问请求转发至统一接口模块201。
值得说的是,网络隔离模块205确定该第一访问请求非法时,丢弃该第一访问请求。
步骤313:统一接口模块201接收到网络隔离模块205转发的该第一访问请求时,根据缓存的终端应用100的通信密钥的有效期和访问凭证的有效期,验证终端应用100的通信密钥和访问凭证是否有效。
步骤314:统一接口模块201确定终端应用100的通信密钥和访问凭证有效时,根据缓存的终端应用100的访问凭证,验证该第一访问请求中携带的访问凭证是否合法。
步骤315:统一接口模块201确定该第一访问请求中携带的访问凭证合法时,将该第一访问请求转发至数据转发模块206。
值得说的是,若终端应用100的通信密钥和/或访问凭证无效,或者,第一访问请求中携带的访问凭证非法,统一接口模块201可以拒绝终端应用100的第一访问请求,并向终端应用100返回表征无法访问的访问响应。
步骤316:数据转发模块206根据负载均衡策略,将统一接口模块201转发的第一访问请求分配至相应的语法解析模块202。
具体地,数据转发模块206在执行步骤316时,可以采用但不限于以下方式:
(1)确定第一访问请求的请求类型,根据建立的请求类型和语法解析模块202之间的关联关系,确定与第一访问请求的请求类型对应的语法解析模块202,并将第一访问请求分配至确定出的语法解析模块202;或者,确定第一访问请求对应的服务类型,根据建立的服务类型和语法解析模块202之间的关联关系,确定与第一访问请求的服务类型对应的语法解析模块202,并将第一访问请求分配至确定出的语法解析模块202。
(2)根据各个语法解析模块202当前处理第一访问请求的数量以及当前剩余处理资源,确定相应语法解析模块202的当前负载值,从对应的当前负载值小于负载阈值的语法解析模块202中,选取一个语法解析模块202,并将统一接口模块201转发的第一访问请求分配至选取出的语法解析模块202。
值得说的是,上述两种方式仅是示例性实施方式,并不是全部的实施方式,具备负载均衡效果的其他所有实施方式都可以适用在数据转发模块206中,在此不再一一列举。
步骤317:语法解析模块202接收到第一访问请求时,按照统一接口定义的统一语法格式,对第一访问请求中携带的访问数据的语法格式进行校验。
步骤318:语法解析模块202确定第一访问请求中携带的访问数据的语法格式无误时,根据该第一访问请求,确定请求访问的目标数据库的类型。
较佳的,语法解析模块202可以根据该第一访问请求中携带的访问数据,确定目标数据库的类型,比如,根据预先建立访问数据与数据库的类型之间的关联关系,确定出与该第一访问请求中携带的访问数据相关联的数据库的类型,从而确定出目标数据库的类型。当然,语法解析模块202还可以将该第一访问请求中携带的数据库的类型,作为目标数据库的类型,具体的确定方式在此不作具体限定。
步骤319:语法解析模块202根据目标数据库的类型,确定目标数据库对应的语法格式,并根据目标数据库对应的语法格式,将该第一访问请求转换为目标数据库识别的第二访问请求。
步骤320:语法解析模块202将该第二访问请求发送至优化模块207。
步骤321:优化模块207对该第二访问请求进行性能优化,得到符合预设的最优性能条件的第二访问请求。
步骤322:优化模块207将该符合预设的最优性能条件的第二访问请求发送至数据库选择模块203。
步骤323:数据库选择模块203根据该第二访问请求,对数据存储模块209中的目标数据库执行相应的访问操作。
具体地,若第二访问请求为写请求,则数据库选择模块203将第二访问请求中携带的访问数据写入目标数据库。
若第二访问请求为读请求,则数据库选择模块203从目标数据库中,读取与第二访问请求中携带的访问数据相对应的响应数据。较佳的,数据库选择模块203还可以先从缓存模块208中,读取第二访问请求中携带的访问数据对应的响应数据,若未读取到响应数据,再从目标数据库中,读取响应数据并缓存至缓存模块208。
步骤324:数据库选择模块203通过统一接口模块201,向终端应用100返回相应的访问响应。
具体地,若第二访问请求为写请求,则数据库选择模块203可以返回表征访问数据已写入数据库的访问响应;若第二访问请求为读请求,则数据库选择模块203可以返回携带有读取到的响应数据的访问响应,以便终端应用100将访问响应中携带的响应数据展示给用户。较佳的,数据库选择模块203可以将访问响应返回至语法解析模块202,由语法解析模块202将访问响应转换成终端应用100识别的访问响应,即,将访问响应的语法格式转换为统一接口对应的统一语法格式,并依次通过数据转发模块206和统一接口模块201返回至终端应用100。
步骤325:数据备份模块210实时或定期地对数据存储模块209中的各个数据库进行备份。
具体地,数据备份模块210可以采用冷备份方式,也可以采用热备份方式,在此不作具体限定。
值得说的是,本发明实施例提供的如图2所示的数据库访问控制系统中的各个模块可以部署在多个设备中,有鉴于此,本发明实施例还提供了一种如图4所示的数据库访问控制系统,包括集成有网络隔离模块204的网络隔离设备401,集成有统一接口模块201、语法解析模块202、数据库选择模块203、鉴权模块205、数据转发模块206、优化模块207和缓存模块208的数据转发设备402,以及集成有数据库存储模块209和数据库备份模块210的数据库存储设备403。其中,如图4所示的数据库访问控制系统中仅以各个模块的数量均是一个为例,并不引以为限。
基于本发明实施例提供的如图4所示的数据库访问控制系统,本发明实施例提供了一种数据库访问控制方法,参阅图5所示,该数据库访问控制方法的流程如下:
步骤501:终端应用100实时监测访问事件,并根据监测到的访问事件生成授权请求。
步骤502:终端应用100通过统一接口将授权请求发送至数据库访问控制系统。
步骤503:数据库访问控制系统中的网络隔离设备401截获到该授权请求时,根据安全访问控制策略,判断该授权请求是否合法。
步骤504:网络隔离设备401确定该授权请求合法时,将该授权请求转发至数据转发设备402。
值得说的是,网络隔离设备401确定该授权请求非法时,丢弃该授权请求。
步骤505:数据转发设备402接收到网络隔离设备401转发的该授权请求时,对终端应用100进行身份认证,若认证通过,则为终端应用100生成通信密钥和访问凭证,并通信密钥和访问凭证设置有效期。
值得说的是,通信密钥可以是长期有效,也可以是短期有效,而访问凭证可以是短期有效。具体地,数据转发设备402可以将通信密钥的有效期设置为永久或者设置为一个时间段,而将访问凭证的有效期设置为一个时间段。可选的,当通信密钥为短期有效时,数据转发设备402可以为通信密钥和访问凭证设置相同的有效期,比如,均设置为5分钟,也可以为通信密钥和访问凭证设置不同的有效期,比如,将通信密钥的有效期设置为5分钟,将访问凭证的有效期设置为10分钟。
步骤506:数据转发设备402通过统一接口,将终端应用100的通信密钥、访问凭证、通信密钥的有效期和访问凭证的有效期返回至终端应用100。
步骤507:数据转发设备402缓存终端应用100的通信密钥、访问凭证、通信密钥的有效期和访问凭证的有效期。
步骤508:终端应用100接收到数据转发设备402返回的通信密钥、访问凭证、通信密钥的有效期和访问凭证的有效期时,根据监测到的访问事件确定访问数据,并利用通信密钥对该访问数据和访问凭证进行加密,得到访问数据密文。
步骤509:终端应用100将访问数据密文携带在第一访问请求中发送至数据库访问控制系统。
步骤510:数据库访问控制系统中的网络隔离设备401截获到该第一访问请求时,根据安全访问控制策略,判断该第一访问请求是否合法。
步骤511:网络隔离设备401确定该第一访问请求合法时,将该第一访问请求转发至数据转发设备402。
值得说的是,网络隔离设备401确定该第一访问请求非法时,丢弃该第一访问请求。
步骤512:数据转发设备402接收到网络隔离设备40转发的该第一访问请求时,根据缓存的终端应用100的通信密钥的有效期和访问凭证的有效期,验证终端应用100的通信密钥和访问凭证是否有效。
步骤513:数据转发设备402确定终端应用100的通信密钥和访问凭证有效时,根据缓存的终端应用100的访问凭证,验证第一访问请求中携带的访问凭证是否合法。
步骤514:数据转发设备402确定第一访问请求中携带的访问凭证合法时,根据统一接口定义的统一语法格式,对第一访问请求中携带的访问数据的语法格式进行校验。
值得说的是,若终端应用100的通信密钥和/或访问凭证无效,或者,第一访问请求中携带的访问凭证非法,数据转发设备402可以拒绝终端应用100的第一访问请求,并通过统一接口向终端应用100返回表征无法访问的访问响应。
步骤515:数据转发设备402确定该第一访问请求中携带的访问数据的语法格式无误时,根据该第一访问请求,确定请求访问的目标数据库的类型。
较佳的,数据转发设备402可以根据该第一访问请求中携带的访问数据,确定目标数据库的类型,比如,根据预先建立访问数据与数据库的类型之间的关联关系,确定出与该第一访问请求中携带的访问数据相关联的数据库的类型,从而确定出目标数据库的类型。当然,数据转发设备402还可以将该第一访问请求中携带的数据库的类型,作为目标数据库的类型,具体的确定方式在此不作具体限定。
步骤516:数据转发设备402根据目标数据库的类型,确定目标数据库对应的语法格式,并根据目标数据库对应的语法格式,将该第一访问请求转换为目标数据库识别的第二访问请求。
步骤517:数据转发设备402对该第二访问请求进行性能优化,得到符合预设的最优性能条件的第二访问请求。
步骤518:数据转发设备402根据该符合预设的最优性能条件的第二访问请求,对数据库存储设备402中的目标数据库执行相应的访问操作。
具体地,若第二访问请求为写请求,则数据转发设备402将第二访问请求中携带的访问数据写入目标数据库。
若第二访问请求为读请求,则数据转发设备402从目标数据库中,读取与第二访问请求中携带的访问数据相对应的响应数据。较佳的,数据转发设备402还可以先从缓存中,读取第二访问请求中携带的访问数据对应的响应数据,若未读取到响应数据,再从目标数据库中,读取响应数据并缓存。
步骤519:数据转发设备402通过统一接口,向终端应用100返回相应的访问响应。
具体地,若第二访问请求为写请求,则数据转发设备401可以通过统一接口向终端应用100返回表征访问数据已写入数据库的访问响应;若第二访问请求为读请求,则数据转发设备401可以将读取到的响应数据携带在访问响应中,通过统一接口返回至终端应用201,以便终端应用100将访问响应中携带的响应数据展示给用户。
步骤520:数据库存储设备402实时或定期地对各个数据库进行备份。
此外,本发明实施例提供的如图2所示的数据库访问控制系统中的各个模块还可以部署在一个设备中,有鉴于此,本发明实施例还提供了一种如图6所示的数据库访问控制系统,包括集成有各个模块的数据库访问控制设备601。其中,如图6所示的数据库访问控制系统中,仅以数据库访问控制设备601的数量以及数据库访问控制设备601中的各个模块的数量均是一个为例,并不引以为限。
基于本发明实施例提供的如图6所示的数据库访问控制系统,本发明实施例提供了一种数据库访问控制方法,参阅图7所示,该数据库访问控制方法的流程如下:
步骤701:终端应用100实时监测访问事件,并根据监测到的访问事件生成授权请求。
步骤702:终端应用100通过统一接口将授权请求发送至数据库访问控制设备601。
步骤703:数据库访问控制设备601接收到授权请求时,根据安全访问控制策略,判断该授权请求是否合法。
步骤704:数据库访问控制设备601确定该授权请求合法时,对终端应用100进行身份认证,若认证通过,则为终端应用100生成通信密钥和访问凭证,并为通信密钥和访问凭证设置有效期。
值得说的是,通信密钥可以是长期有效,也可以是短期有效,而访问凭证可以是短期有效。具体地,数据库访问控制设备601可以将通信密钥的有效期设置为永久或者设置为一个时间段,而将访问凭证的有效期设置为一个时间段。可选的,当通信密钥为短期有效时,数据库访问控制设备601可以为通信密钥和访问凭证设置相同的有效期,比如,均设置为5分钟,也可以为通信密钥和访问凭证设置不同的有效期,比如,将通信密钥的有效期设置为5分钟,将访问凭证的有效期设置为10分钟。
步骤705:数据库访问控制设备601通过统一接口,将终端应用100的通信密钥、访问凭证、通信密钥的有效期和访问凭证的有效期返回至终端应用100。
步骤706:数据库访问控制设备601缓存终端应用100的通信密钥、访问凭证、通信密钥的有效期和访问凭证的有效期。
步骤707:终端应用100接收到数据库访问控制设备601返回的通信密钥、访问凭证、通信密钥的有效期和访问凭证的有效期时,根据监测到的访问事件确定访问数据,并利用通信密钥对该访问数据和访问凭证进行加密,得到访问数据密文。
步骤708:终端应用100将访问数据密文携带在第一访问请求中发送至数据库访问控制设备601。
步骤709:数据库访问控制设备601接收到第一访问请求时,根据安全访问控制策略,判断该第一访问请求是否合法。
步骤710:数据库访问控制设备601确定该第一访问请求合法时,根据缓存的终端应用100的通信密钥的有效期和访问凭证的有效期,验证终端应用100的通信密钥和访问凭证是否有效。
步骤711:数据库访问控制设备601确定终端应用100的通信密钥和访问凭证有效时,根据缓存的终端应用100的访问凭证,验证第一访问请求中携带的访问凭证是否合法。
步骤712:数据库访问控制设备601确定第一访问请求中携带的访问凭证合法时,根据统一接口定义的统一语法格式,对第一访问请求中携带的访问数据的语法格式进行校验。
值得说的是,若终端应用100的通信密钥和/或访问凭证无效,或者,第一访问请求中携带的访问凭证非法,数据库访问控制设备601可以拒绝终端应用100的第一访问请求,并通过统一接口向终端应用100返回表征无法访问的访问响应。
步骤713:数据库访问控制设备601确定第一访问请求中携带的访问数据的语法格式无误时,根据该第一访问请求,确定请求访问的目标数据库的类型。
较佳的,数据库访问控制设备601可以根据该第一访问请求中携带的访问数据,确定目标数据库的类型,比如,根据预先建立访问数据与数据库的类型之间的关联关系,确定出与该第一访问请求中携带的访问数据相关联的数据库的类型,从而确定出目标数据库的类型。当然,数据库访问控制设备601还可以将该第一访问请求中携带的数据库的类型,作为目标数据库的类型,具体的确定方式在此不作具体限定。
步骤714:数据库访问控制设备601根据目标数据库的类型,确定目标数据库对应的语法格式,并根据目标数据库对应的语法格式,将第一访问请求转换为目标数据库识别的第二访问请求。
步骤715:数据库访问控制设备601对第二访问请求进行性能优化,得到符合预设的最优性能条件的第二访问请求,并根据该符合预设的最优性能条件的第二访问请求,对目标数据库执行相应的访问操作。
具体地,若第二访问请求为写请求,则数据库访问控制设备601将第二访问请求中携带的访问数据写入目标数据库。
若第二访问请求为读请求,则数据库访问控制设备601从目标数据库中,读取与第二访问请求中携带的访问数据相对应的响应数据。较佳的,数据库访问控制设备601还可以先从缓存中,读取第二访问请求中携带的访问数据对应的响应数据,若未读取到响应数据,再从目标数据库中,读取响应数据并缓存。
步骤716:数据库访问控制设备601通过统一接口,向终端应用100返回相应的访问响应。
具体地,若第二访问请求为写请求,则数据库访问控制设备601可以通过统一接口向终端应用100返回表征访问数据已写入数据库的访问响应;若第二访问请求为读请求,则数据库访问控制设备601可以将读取到的响应数据携带在访问响应中通过统一接口返回至终端应用100,以便终端应用100将访问响应中携带的响应数据展示给用户。
步骤717:数据库访问控制设备601实时或定期地对各个数据库进行备份。
在大型的社交网络服务网站中,比如,在脸书(Facebook)中,用户信息的存储、简讯的交互、图片文章的分享等都可能涉及数据库的访问,基于此,下面以“终端应用100为社交网络服务网站(比如Facebook)”为具体应用场景,以“数据库访问控制系统中的各个模块均集成在数据库访问控制设备601中”为例对上述实施例作进一步说明,参阅图8所示,本发明实施例提供的数据库访问控制方法的流程如下:
步骤801:Facebook实时监测访问事件,并根据监测到的访问事件生成授权请求。
步骤802:Facebook通过统一接口将授权请求发送至数据库访问控制设备601。
步骤803:数据库访问控制设备601接收到授权请求时,根据安全访问控制策略,判断该授权请求是否合法。
步骤804:数据库访问控制设备601确定该授权请求合法时,对Facebook进行身份认证,若认证通过,则为Facebook生成通信密钥和访问凭证,并为通信密钥和访问凭证设置有效期。
值得说的是,通信密钥可以是长期有效,也可以是短期有效,而访问凭证可以是短期有效。具体地,数据库访问控制设备601可以将通信密钥的有效期设置为永久或者设置为一个时间段,而将访问凭证的有效期设置为一个时间段。可选的,当通信密钥为短期有效时,数据库访问控制设备601可以为通信密钥和访问凭证设置相同的有效期,比如,均设置为5分钟,也可以为通信密钥和访问凭证设置不同的有效期,比如,将通信密钥的有效期设置为5分钟,将访问凭证的有效期设置为10分钟。
步骤805:数据库访问控制设备601通过统一接口,将Facebook的通信密钥、访问凭证、通信密钥的有效期和访问凭证的有效期返回至Facebook。
步骤806:数据库访问控制设备601缓存Facebook的通信密钥、访问凭证、通信密钥的有效期和访问凭证的有效期。
步骤807:Facebook接收到数据库访问控制设备601返回的通信密钥、访问凭证、通信密钥的有效期和访问凭证的有效期时,根据监测到的访问事件确定访问数据,并利用通信密钥对该访问数据和访问凭证进行加密,得到访问数据密文。
步骤808:Facebook将访问数据密文携带在第一访问请求中发送至数据库访问控制设备601。
步骤809:数据库访问控制设备601接收到第一访问请求时,根据安全访问控制策略,判断该第一访问请求是否合法。
步骤810:数据库访问控制设备601确定该第一访问请求合法时,根据缓存的Facebook的通信密钥的有效期和访问凭证的有效期,验证Facebook的通信密钥和访问凭证是否有效。
步骤811:数据库访问控制设备601确定Facebook的通信密钥和访问凭证有效时,根据缓存的Facebook的访问凭证,验证第一访问请求中携带的访问凭证是否合法。
步骤812:数据库访问控制设备601确定第一访问请求中携带的访问凭证合法时,根据统一接口定义的统一语法格式,对第一访问请求中携带的访问数据的语法格式进行校验。
值得说的是,若Facebook的通信密钥和/或访问凭证无效,或者,第一访问请求中携带的访问凭证非法,数据库访问控制设备601可以拒绝Facebook的第一访问请求,并通过统一接口向Facebook返回表征无法访问的访问响应。
步骤813:数据库访问控制设备601确定第一访问请求中携带的访问数据的语法格式无误时,根据该第一访问请求,确定请求访问的目标数据库的类型。
较佳的,数据库访问控制设备601可以根据该第一访问请求中携带的访问数据,确定目标数据库的类型,比如,根据预先建立访问数据与数据库的类型之间的关联关系,确定出与该第一访问请求中携带的访问数据相关联的数据库的类型,从而确定出目标数据库的类型。当然,数据库访问控制设备601还可以将该第一访问请求中携带的数据库的类型,作为目标数据库的类型,具体的确定方式在此不作具体限定。
步骤814:数据库访问控制设备601根据目标数据库的类型,确定目标数据库对应的语法格式,并根据目标数据库对应的语法格式,将第一访问请求转换为目标数据库识别的第二访问请求。
步骤815:数据库访问控制设备601对第二访问请求进行性能优化,得到符合预设的最优性能条件的第二访问请求,并根据该符合预设的最优性能条件的第二访问请求,对目标数据库执行相应的访问操作。
具体地,若第二访问请求为写请求,则数据库访问控制设备601将第二访问请求中携带的访问数据写入目标数据库。
若第二访问请求为读请求,则数据库访问控制设备601从目标数据库中,读取与第二访问请求中携带的访问数据相对应的响应数据。较佳的,数据库访问控制设备601还可以先从缓存中,读取第二访问请求中携带的访问数据对应的响应数据,若未读取到响应数据,再从目标数据库中,读取响应数据并缓存。
步骤816:数据库访问控制设备601通过统一接口,向Facebook返回相应的访问响应。
具体地,若第二访问请求为写请求,则数据库访问控制设备601可以通过统一接口向Facebook返回表征访问数据已写入数据库的访问响应;若第二访问请求为读请求,则数据库访问控制设备601可以将读取到的响应数据携带在访问响应中通过统一接口返回至Facebook,以便Facebook将访问响应中携带的响应数据展示给用户。
步骤817:数据库访问控制设备601实时或定期地对各个数据库进行备份。
基于同一发明构思,本发明实施例提供了一种数据库访问控制装置,参阅图9所示,该数据库访问控制装置至少包括:
接收单元901,用于接收第一访问请求;
确定单元902,用于根据所述第一访问请求,确定请求访问的目标数据库的类型,并根据所述目标数据库的类型,确定所述目标数据库对应的语法格式;
转换单元903,用于根据所述目标数据库对应的语法格式,将所述第一访问请求转换为所述目标数据库识别的第二访问请求;
访问单元904,用于根据所述第二访问请求,对所述目标数据库执行相应的访问操作。
较佳的,接收单元901接收的第一访问请求是通过统一接口发送的。
较佳的,接收单元901还用于:
接收授权请求;
对授权请求对应的终端应用进行身份认证,若认证通过,则为终端应用生成通信密钥和访问凭证,并为通信密钥和访问凭证设置有效期;
将终端应用的通信密钥、访问凭证、通信密钥的有效期和访问凭证的有效期返回至终端应用。
较佳的,接收单元901接收的授权请求是通过统一接口发送的。
较佳的,接收单元901还用于:
根据缓存的终端应用的通信密钥的有效期和访问凭证的有效期,确定终端应用的通信密钥和访问凭证有效,并根据缓存的终端应用的访问凭证,确定第一访问请求中携带的访问凭证合法。
较佳的,该数据库访问控制装置还包括:
验证单元905,用于根据安全访问控制策略,确定第一访问请求合法。
较佳的,在根据第一访问请求,确定请求访问的目标数据库的类型时,确定单元902具体用于:
根据第一访问请求中携带的访问数据,确定目标数据库的类型;或者,
将第一访问请求中携带的数据库的类型,作为目标数据库的类型。
较佳的,该数据库访问控制装置还包括:
优化单元906,用于对第二访问请求进行性能优化,得到符合预设的最优性能条件的第二访问请求。
较佳的,在根据第二访问请求,对目标数据库执行相应的访问操作时,访问单元904具体用于:
若第二访问请求为写请求,则将第二访问请求中携带的访问数据写入目标数据库;
若第二访问请求为读请求,则从目标数据库中,读取与第二访问请求中携带的访问数据相对应的响应数据。
较佳的,在根据第二访问请求,对目标数据库执行相应的访问操作时,访问单元904还用于:
若第二访问请求为读请求,则从缓存中,读取第二访问请求中携带的访问数据对应的响应数据,若未读取到响应数据,则从目标数据库中,读取响应数据并缓存。
另外,本发明实施例还提供了一种数据库访问控制设备,参阅图10所示,该数据库访问控制设备至少包括:存储器1001、处理器1002和存储在存储器1002上的计算机程序,处理器1002执行该计算机程序时实现上述数据库访问控制方法的步骤。
较佳的,该数据库访问控制设备还可以包括输入装置1003和输出装置1004等。输入装置1003可以包括触控笔、键盘、鼠标、触摸屏等;输出装置1004可以包括显示设备,如液晶显示器(Liquid Crystal Display,LCD)、阴极射线管(Cathode Ray Tube,CRT),触摸屏等。
本发明实施例中不限定存储器1001,处理器1002、输入装置1003和输出装置1004之间的具体连接介质。本发明实施例在图10中以存储器1001,处理器1002、输入装置1003和输出装置1004之间通过总线1005连接,总线1005在图10中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。其中,总线1005可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
接下来,对本发明示例性实施方式的非易失性计算机可读存储介质进行介绍。本发明实施例提供了一种非易失性计算机可读存储介质,该非易失性计算机可读存储介质存储有计算机可执行指令,该可执行程序被处理器执行实现上述数据库访问控制方法的步骤。具体地,该可执行程序可以内置在数据库访问控制设备中,这样,数据库访问控制设备就可以通过执行内置的可执行程序实现上述数据库访问控制方法的步骤。
此外,本发明实施例提供的数据库访问控制方法还可以实现为一种程序产品,该程序产品包括程序代码,当该程序产品可以在数据库访问控制设备上运行时,该程序代码用于使数据库访问控制设备执行上述数据库访问控制方法的步骤。
较佳的,本发明实施例提供的程序产品可以采用一个或多个可读介质的任意组合,其中,可读介质可以是可读信号介质或者可读存储介质,而可读存储介质可以是但不限于是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合,具体地,可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
较佳的,本发明实施例提供的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,还可以在计算设备上运行。然而,本发明实施例提供的程序产品不限于此,在本发明实施例中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络连接到用户计算设备,诸如通过局域网(LAN)或广域网(WAN)连接到用户计算设备;或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (14)

1.一种数据库访问控制方法,其特征在于,包括:
接收第一访问请求;
根据所述第一访问请求,确定请求访问的目标数据库的类型,并根据所述目标数据库的类型,确定所述目标数据库对应的语法格式;
根据所述目标数据库对应的语法格式,将所述第一访问请求转换为所述目标数据库识别的第二访问请求;
根据所述第二访问请求,对所述目标数据库执行相应的访问操作。
2.如权利要求1所述的数据库访问控制方法,其特征在于,所述第一访问请求是通过统一接口发送的。
3.如权利要求1所述的数据库访问控制方法,其特征在于,接收第一访问请求之前,还包括:
接收授权请求;
对所述授权请求对应的终端应用进行身份认证,若认证通过,则为所述终端应用生成通信密钥和访问凭证,并为所述通信密钥和所述访问凭证设置有效期;
将所述终端应用的通信密钥、访问凭证、所述通信密钥的有效期和所述访问凭证的有效期返回至所述终端应用。
4.如权利要求3所述的数据库访问控制方法,其特征在于,所述授权请求是通过统一接口发送的。
5.如权利要求3或4所述的数据库访问控制方法,其特征在于,根据所述第一访问请求,确定请求访问的目标数据库的类型之前,还包括:
根据缓存的所述终端应用的通信密钥的有效期和访问凭证的有效期,确定所述终端应用的通信密钥和访问凭证有效,并根据缓存的所述终端应用的访问凭证,确定所述第一访问请求中携带的访问凭证合法。
6.如权利要求1所述的数据库访问控制方法,其特征在于,根据所述第一访问请求,确定请求访问的目标数据库的类型之前,还包括:
根据安全访问控制策略,确定所述第一访问请求合法。
7.如权利要求1所述的数据库访问控制方法,其特征在于,根据所述第一访问请求,确定请求访问的目标数据库的类型,包括:
根据所述第一访问请求中携带的访问数据,确定所述目标数据库的类型;或者,
将所述第一访问请求中携带的数据库的类型,作为所述目标数据库的类型。
8.如权利要求1所述的数据库访问控制方法,其特征在于,根据所述第二访问请求,对所述目标数据库执行相应的访问操作之前,还包括:
对所述第二访问请求进行性能优化,得到符合预设的最优性能条件的第二访问请求。
9.如权利要求1所述的数据库访问控制方法,其特征在于,根据所述第二访问请求,对所述目标数据库执行相应的访问操作,包括:
若所述第二访问请求为写请求,则将所述第二访问请求中携带的访问数据写入所述目标数据库;
若所述第二访问请求为读请求,则从所述目标数据库中,读取与所述第二访问请求中携带的访问数据相对应的响应数据。
10.如权利要求1所述的数据库访问控制方法,其特征在于,根据所述第二访问请求,对所述目标数据库执行相应的访问操作,还包括:
若所述第二访问请求为读请求,则从缓存中,读取所述第二访问请求中携带的访问数据对应的响应数据,若未读取到所述响应数据,则从所述目标数据库中,读取所述响应数据并缓存。
11.一种数据库访问控制装置,其特征在于,包括:
接收单元,用于接收第一访问请求;
确定单元,用于根据所述第一访问请求,确定请求访问的目标数据库的类型,并根据所述目标数据库的类型,确定所述目标数据库对应的语法格式;
转换单元,用于根据所述目标数据库对应的语法格式,将所述第一访问请求转换为所述目标数据库识别的第二访问请求;
访问单元,用于根据所述第二访问请求,对所述目标数据库执行相应的访问操作。
12.一种数据库访问控制系统,其特征在于,包括:
统一接口模块,用于接收第一访问请求;
语法解析模块,用于根据所述第一访问请求,确定请求访问的目标数据库的类型,并根据所述目标数据库的类型,确定所述目标数据库对应的语法格式,以及根据所述目标数据库对应的语法格式,将所述第一访问请求转换为所述目标数据库识别的第二访问请求;
数据库选择模块,用于根据所述第二访问请求,对所述目标数据库执行相应的访问操作。
13.一种非易失性计算机存储介质,其特征在于,所述非易失性计算机存储介质存储有可执行程序,所述可执行程序被处理器执行实现权利要求1-10任一项所述的数据库访问控制方法的步骤。
14.一种数据库访问控制设备,其特征在于,包括存储器、处理器和存储在所述存储器上的计算机程序,所述处理器执行所述计算机程序时实现权利要求1-10任一项所述的数据库访问控制方法的步骤。
CN201810266200.XA 2018-03-28 2018-03-28 一种数据库访问控制方法、装置、系统、介质及设备 Active CN110309213B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810266200.XA CN110309213B (zh) 2018-03-28 2018-03-28 一种数据库访问控制方法、装置、系统、介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810266200.XA CN110309213B (zh) 2018-03-28 2018-03-28 一种数据库访问控制方法、装置、系统、介质及设备

Publications (2)

Publication Number Publication Date
CN110309213A true CN110309213A (zh) 2019-10-08
CN110309213B CN110309213B (zh) 2023-10-13

Family

ID=68073793

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810266200.XA Active CN110309213B (zh) 2018-03-28 2018-03-28 一种数据库访问控制方法、装置、系统、介质及设备

Country Status (1)

Country Link
CN (1) CN110309213B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111737527A (zh) * 2020-06-29 2020-10-02 中国南方电网有限责任公司 异构终端的数据处理方法、装置、电子设备和存储介质
CN112597231A (zh) * 2020-12-28 2021-04-02 中国农业银行股份有限公司 一种数据处理方法和装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1764883A (zh) * 2003-03-24 2006-04-26 松下电器产业株式会社 数据保护管理装置和数据保护管理方法
WO2010075343A2 (en) * 2008-12-28 2010-07-01 Qualcomm Incorporated Apparatus and methods for providing authorized device access
CN102521254A (zh) * 2011-11-17 2012-06-27 广东电网公司电力科学研究院 异构数据库的统一访问方法
CN102984252A (zh) * 2012-11-26 2013-03-20 中国科学院信息工程研究所 一种基于动态跨域安全令牌的云资源访问控制方法
CN103491538A (zh) * 2008-09-12 2014-01-01 高通股份有限公司 基于凭证的频谱授权和访问控制
CN103916368A (zh) * 2012-12-31 2014-07-09 中国移动通信集团公司 一种实现不同数据源之间数据处理的方法及装置
CN104216907A (zh) * 2013-06-02 2014-12-17 上海贝尔股份有限公司 一种用于提供数据库访问控制的方法、装置与系统
CN106547766A (zh) * 2015-09-18 2017-03-29 华为技术有限公司 一种数据访问方法和装置
US20170300704A1 (en) * 2016-04-19 2017-10-19 Bank Of America Corporation System for Controlling Database Security and Access

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1764883A (zh) * 2003-03-24 2006-04-26 松下电器产业株式会社 数据保护管理装置和数据保护管理方法
CN103491538A (zh) * 2008-09-12 2014-01-01 高通股份有限公司 基于凭证的频谱授权和访问控制
WO2010075343A2 (en) * 2008-12-28 2010-07-01 Qualcomm Incorporated Apparatus and methods for providing authorized device access
CN102521254A (zh) * 2011-11-17 2012-06-27 广东电网公司电力科学研究院 异构数据库的统一访问方法
CN102984252A (zh) * 2012-11-26 2013-03-20 中国科学院信息工程研究所 一种基于动态跨域安全令牌的云资源访问控制方法
CN103916368A (zh) * 2012-12-31 2014-07-09 中国移动通信集团公司 一种实现不同数据源之间数据处理的方法及装置
CN104216907A (zh) * 2013-06-02 2014-12-17 上海贝尔股份有限公司 一种用于提供数据库访问控制的方法、装置与系统
CN106547766A (zh) * 2015-09-18 2017-03-29 华为技术有限公司 一种数据访问方法和装置
US20170300704A1 (en) * 2016-04-19 2017-10-19 Bank Of America Corporation System for Controlling Database Security and Access

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111737527A (zh) * 2020-06-29 2020-10-02 中国南方电网有限责任公司 异构终端的数据处理方法、装置、电子设备和存储介质
CN112597231A (zh) * 2020-12-28 2021-04-02 中国农业银行股份有限公司 一种数据处理方法和装置

Also Published As

Publication number Publication date
CN110309213B (zh) 2023-10-13

Similar Documents

Publication Publication Date Title
US12021854B2 (en) Secure permissioning of access to user accounts, including secure deauthorization of access to user accounts
WO2019214311A1 (zh) 一种基于区块链的信息监管方法及装置
CN102281311B (zh) 一种基于开放应用编程接口实现网络业务的方法、系统及装置
US20210083856A1 (en) Improved hardware security module management
CN109379369A (zh) 单点登录方法、装置、服务器及存储介质
CN107113302A (zh) 多租户计算系统中的安全性和许可架构
CN103369022B (zh) 与存储设备通信的方法和系统
CN107924411A (zh) 事务系统中ui状态的恢复
CN107483418A (zh) 登录处理方法、业务处理方法、装置及服务器
CN110458559B (zh) 交易数据处理方法、装置、服务器和存储介质
US11316862B1 (en) Secure authorization of access to user accounts by one or more authorization mechanisms
CN106341234A (zh) 一种授权方法及装置
CN103581187A (zh) 访问权限的控制方法及控制系统
US20140089156A1 (en) Addresses in financial systems
CN110276184A (zh) 一种云计算资源授权方法及装置
CN102025495A (zh) 基于saml2.0的身份认证和管理
CN106464497A (zh) 利用低延迟会话聚合框架体系发放、传送和管理令牌的方法和系统
CN103685244A (zh) 一种差异化认证方法及装置
CN109766365A (zh) 基于redis的运行事件控制方法、装置及电子设备
CN110390184A (zh) 用于在云中执行应用的方法、装置和计算机程序产品
CN104104702A (zh) 面向家庭物联网的云计算架构
CN114090368A (zh) 一种微服务治理系统
CN110309213A (zh) 一种数据库访问控制方法、装置、系统、介质及设备
Zhang et al. Integration of communication and computing in blockchain-enabled multi-access edge computing systems
CN113114678B (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
GR01 Patent grant
GR01 Patent grant