掌桥专利:专业的专利平台
掌桥专利
首页

数据库访问方法、装置、存储介质和计算机设备

文献发布时间:2023-06-19 12:13:22


数据库访问方法、装置、存储介质和计算机设备

技术领域

本申请涉及到大数据引擎技术领域,特别是涉及到一种数据库访问方法、装置、存储介质和计算机设备。

背景技术

随着大数据技术的不断发展,当企业建立起了大数据平台后,由于数据的集中和数据的重要性,因此能够利用大数据平台的数据方便地研究市场趋势、抢占市场先机,发掘商业价值。

在企业,大数据平台逐渐抽取企业各类数据库中的数据,存在的生产数据不断增加,用户的数据来源都是通过对接大数据平台,且一旦用户能够访问大数据平台,就可以实现对数据库中的几乎所有数据进行快速查询,中间缺乏完善的数据安全防护措施,容易产生数据泄露的风险。

发明内容

本申请的主要目的为提供一种数据库访问方法、装置、存储介质和计算机设备,提高数据访问的安全性。

为了实现上述发明目的,本申请提出一种数据库访问方法,包括:

在接收到用户的数据库访问请求时,根据所述数据库访问请求中携带的用户信息查询数据库是否包含所述用户对应的配置文件;其中,数据库对应预先设置有唯一一个配置文件,配置文件都记录有对应用户可访问的数据库及访问权限;

当查询到数据库没有所述用户对应的配置文件时,则禁止所述用户的数据库访问;

当查询到数据库含有所述用户对应的配置文件时,根据所述配置文件确定所述用户可访问的数据库及访问权限;

获取所述用户当前的操作环境数据,并查询所述用户在预设时间段内所使用终端的环境信息,以及获取所述用户在预设时间段内使用次数最多的终端的环境信息;

将所述用户使用次数最多的终端的环境信息设定为安全操作环境数据,将所述用户当前的操作环境数据与所述安全操作环境数据进行比对,根据比对结果确定当前操作环境的安全等级,根据所述安全等级调整所述用户的访问权限,得到目标访问权限;

控制所述用户在所述目标访问权限下访问数据库。

进一步地,所述控制所述用户在所述目标访问权限下访问数据库的步骤之后,还包括:

获取所述数据库访问请求中携带的查询信息,根据所述目标访问权限对所述查询信息进行授权验证,将授权验证成功的所述查询信息发送至presto查询引擎;

利用presto查询引擎根据所述查询信息在数据库中进行查询,获取查询到的数据,将所述数据发送给用户。

优选地,所述利用presto查询引擎根据所述查询信息在数据库中进行查询的步骤,包括:

利用所述Presto查询引擎将所述查询信息进行解析,得到逻辑查询计划;

将所述逻辑查询计划进行分布式处理,得到分布式逻辑查询计划;

将分布式逻辑查询计划转化为多个查询子任务,并将所述多个查询子任务分发至多个工作线程,通过所述多个工作线程在数据库中执行相应的查询子任务;

接收所述多个工作线程在执行完相应的查询子任务后查询得到的子数据,将所述子数据进行整理汇总后得到所述数据。

进一步地,所述将所述数据发送给用户的步骤,包括:

将查询到的数据封装成数据集;

根据所述数据集生成相应的数据报表及可视化图形,将所述数据报表及可视化图形发送给所述用户。

进一步地,所述控制所述用户在所述目标访问权限下访问数据库的步骤之后,还包括:

判断是否需要对所述数据库中的配置文件进行更新;

在检测到需要对所述数据库中的配置文件进行更新时,采用数据更新函数对所述配置文件进行更新;

根据所述配置文件的数据标识信息确定加密算法,利用所述加密算法对更新后的所述配置文件进行加密;其中,所述数据标识信息包括所述配置文件的名称或类型。

优选地,所述对所述用户进行行为监控的步骤,包括:

监控所述用户在终端的操作指令;

根据所述操作指令确定所述用户是否存在操作不当,若是,则监控到所述用户存在越权访问行为。

优选地,所述控制所述用户在所述目标访问权限下访问数据库的步骤,包括:

在所述用户访问数据库过程中,对所述用户进行行为监控;

在监控到所述用户存在超越所述目标访问权限的越权访问行为时,将所述用户对应的配置文件删除,并禁止所述用户的数据库访问。

优选地,所述对所述用户进行行为监控的步骤,包括:

启动所述用户用于发起数据库访问请求的终端的摄像头,控制所述摄像头拍摄所述用户访问数据库时的人脸图像;

接收所述终端发送的人脸图像,对所述人脸图像进行微表情识别,得到所述用户访问数据库的微表情;

根据所述微表情分析所述用户是否存在异常,若是,则监控到所述用户存在越权访问行为。

本申请还提供一种数据库访问装置,包括:

接收模块,用于在接收到用户的数据库访问请求时,根据所述数据库访问请求中携带的用户信息查询数据库是否包含所述用户对应的配置文件;其中,数据库对应预先设置有唯一一个配置文件,配置文件都记录有对应用户可访问的数据库及访问权限;

禁止访问模块,用于当查询到数据库没有所述用户对应的配置文件时,则禁止所述用户的数据库访问;

确定模块,用于当查询到数据库含有所述用户对应的配置文件时,根据所述配置文件确定所述用户可访问的数据库及访问权限;

查询模块,用于获取所述用户当前的操作环境数据,并查询所述用户在预设时间段内所使用终端的环境信息,以及获取所述用户在预设时间段内使用次数最多的终端的环境信息;

调整模块,用于将所述用户使用次数最多的终端的环境信息设定为安全操作环境数据,将所述用户当前的操作环境数据与所述安全操作环境数据进行比对,根据比对结果确定当前操作环境的安全等级,根据所述安全等级调整所述用户的访问权限,得到目标访问权限;

控制模块,用于控制所述用户在所述目标访问权限下访问数据库。

本申请还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。

本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。

本申请的数据库访问方法、装置、存储介质和计算机设备,在接收到用户的数据库访问请求时,根据数据库访问请求中携带的用户信息查询用户是否有配置文件;当查询到数据库没有用户对应的配置文件时,则表明该用户不具备数据库访问权限,禁止该用户的数据库访问;当查询到数据库含有用户对应的配置文件时,根据配置文件确定用户可访问的数据库及访问权限;获取用户当前的操作环境数据,并查询用户在预设时间段内所使用终端的环境信息,以及获取所述用户在预设时间段内使用次数最多的终端的环境信息;将用户使用次数最多的终端的环境信息设定为安全操作环境数据,将用户当前的操作环境数据与安全操作环境数据进行比对,根据比对结果确定当前操作环境的安全等级,根据安全等级调整用户的访问权限,得到目标访问权限,以根据当前操作环境调整访问权限,降低由于操作环境造成的数据泄露的风险;最后控制用户在目标访问权限下访问数据库,从而通过设置配置文件、操作环境检测及行为监控的方式,实现用户对数据库的有限访问,以对数据库有效地权限管控,同时也减少了运维人员的人力投入,提高数据访问的安全性。此外,当用户需要访问特定数据库的数据时,只需对特定数据库的配置文件进行添加或修改的方式,即可对用户实现有权限的数据库访问,简单易操作。

附图说明

图1为本申请一实施例的数据库访问方法的流程示意图;

图2为本申请一实施例的数据库访问装置的结构示意框图;

图3为本申请一实施例的计算机设备的结构示意框图。

本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提出一种数据库访问方法,用于解决当前用户一旦对接上大数据平台后,即可实现对数据库中的几乎所有数据进行快速查询,中间缺乏完善的数据安全防护措施,容易产生数据泄露的风险的问题,在一实施例中,如图1所示,该数据库访问方法包括:

S1、在接收到用户的数据库访问请求时,根据所述数据库访问请求中携带的用户信息查询数据库是否包含所述用户对应的配置文件;其中,数据库对应预先设置有唯一一个配置文件,配置文件都记录有对应用户可访问的数据库及访问权限;

S2、当查询到数据库没有所述用户对应的配置文件时,则禁止所述用户的数据库访问;

S3、当查询到数据库含有所述用户对应的配置文件时,根据所述配置文件确定所述用户可访问的数据库及访问权限;

S4、获取所述用户当前的操作环境数据,并查询所述用户在预设时间段内所使用终端的环境信息,以及获取所述用户在预设时间段内使用次数最多的终端的环境信息;

S5、将所述用户使用次数最多的终端的环境信息设定为安全操作环境数据,将所述用户当前的操作环境数据与所述安全操作环境数据进行比对,根据比对结果确定当前操作环境的安全等级,根据所述安全等级调整所述用户的访问权限,得到目标访问权限;

S6、控制所述用户在所述目标访问权限下访问数据库。

如上述步骤S1所述,用户可通过智能手机、平板、电脑等终端登陆相关网站或APP后发起数据库访问请求,服务器响应于该数据库访问请求,并从数据库访问请求中提取出该用户的用户信息,该用户信息用于查询在与大数据平台连接的数据库中是否含有该用户对应的配置文件,以判断该用户是否具有有访问权限的数据库。其中,该用户信息可包括该用户的账号、用户名、身份证号、人脸信息等信息,每个配置文件都记录有某个用户可访问的数据库名、表名以及访问权限,该访问权限包括访问时间段、访问时长、访问的数据及数据类型等等。此外,每个配置文件可对应有多个用户,即该多个用户都可对配置文件的数据库进行访问。

如上述步骤S2所述,当查询到数据库没有该用户对应的配置文件时,则表明该用户不存在有访问权限的数据库,禁止所述用户的数据库访问,并向该用户发送申请数据库访问权限的申请链接,接收该用户在申请链接填写的申请信息,在对申请信息校验通过后,为该用户分配数据库,并在该数据库构建相应的配置文件,以在该用户下次访问时,对其相应的数据库进行授权访问。此外,还可对该配置文件进行定期更新、修改、增加或删除等操作,以通过该配置文件,简单方便地实现数据库的有效管理。

如上述步骤S3所述,当确定数据库含有该用户对应的配置文件时,则表明该用户存在有访问权限的数据库,允许所述用户的数据库访问,并从相应的数据库中提取预存的配置文件,从该配置文件中提取用户名、数据库名、表名及访问权限。

如上述步骤S4所述,本步骤可通过网络安全检测工具检测用户的当前操作环境的安全性,并获取用户当前的操作环境数据,如通过杀毒工具对该用户当前使用的终端进行扫描,根据扫描结果对本次检测进行评分,根据评分判断当前操作环境的安全性,然后查询用户在预设时间段内所使用终端的环境信息,如用户在预设时间段内所使用过的所有终端的内置文件、应用程序的参数信息。

如上述步骤S5所述,在获取用户在预设时间段内使用次数最多的终端的环境信息之后,将用户使用次数最多的终端的环境信息作为最安全的操作环境,并将用户使用次数最多的终端的环境信息设定为安全操作环境数据,将用户当前的操作环境数据与安全操作环境数据进行比对,以确定当前操作环境的安全等级,根据安全等级调整用户的访问权限,得到目标访问权限。例如,当监测到当前操作环境的安全等级较高时,则允许该用户使用配置文件所设定的所有访问权限;当监测到当前操作环境的安全等级较低时,则禁止该用户使用配置文件所设定的一些访问权限,从而提高数据访问的安全性。

在将用户当前的操作环境数据与安全操作环境数据进行比对时,可对操作环境数据中的多个项目进行比对,该项目可包括防火墙启动次数、网络环境、杀毒工具的安装情况、信息泄露情况等等。例如,操作环境数据中的防火墙启动次数是否少于安全操作环境数据中规定的启动次数、操作环境数据中的网络环境是否为安全操作环境数据中规定的家庭网络、用户当前使用的终端是否安装了杀毒工具,当用户当前的操作环境数据中,符合安全操作环境数据的项目越多时,则对应的安全等级越高。例如,可规定符合安全操作环境数据的项目的数量少于3个所对应的安全等级为低级、4-8个所对应的安全等级为中级、8个以上所对应的安全等级为高级。

如上述步骤S6所述,根据目标访问权限控制用户访问相应的数据库,从而通过设置配置文件的方式,实现用户对数据库的有限访问,实现数据库有效的权限管控,同时也减少了运维人员的人力投入,提高数据的安全性。此外,当用户需要访问特定数据库的数据时,只需对特定数据库的配置文件进行添加或修改的方式,即可对用户实现有权限的数据库访问,简单易操作。

具体的,假设有两个用户:用户A和用户B,则可设置2个数据库:数据库A和数据库B,则只允许用户A针对数据库A的有访问权限,用户B针对数据库B的有访问权限。此时,本申请的执行主体可以是由两台服务器构成的服务机群,用户A通过jdbc方式连接其中一台服务器,用户B通过jdbc方式连接另一台服务器,并分别在两台服务器添加配置文件,在配置文件中添加配置信息,在配置信息中分别指明数据库对应的用户、库名、属主,并且在表格属性中指明每个用户需要访问的库名、表名以及权限(包含增删改查等权限),即可配置完成,实现了通过配置文件控制用户的权限访问。

本申请的数据库访问方法,在接收到用户的数据库访问请求时,根据数据库访问请求中携带的用户信息查询用户是否有配置文件;当查询到数据库没有用户对应的配置文件时,则表明该用户不具备数据库访问权限,禁止该用户的数据库访问;当查询到数据库含有用户对应的配置文件时,根据配置文件确定用户可访问的数据库及访问权限;获取用户当前的操作环境数据,以及获取所述用户在预设时间段内使用次数最多的终端的环境信息,并查询用户在预设时间段内所使用终端的环境信息;将用户使用次数最多的终端的环境信息设定为安全操作环境数据,将用户当前的操作环境数据与安全操作环境数据进行比对,根据比对结果确定当前操作环境的安全等级,根据安全等级调整用户的访问权限,得到目标访问权限,以根据当前操作环境调整访问权限,降低由于操作环境造成的数据泄露的风险;最后控制用户在目标访问权限下访问数据库,从而通过设置配置文件、操作环境检测及行为监控的方式,实现用户对数据库的有限访问,以对数据库有效地权限管控,同时也减少了运维人员的人力投入,提高数据访问的安全性。此外,当用户需要访问特定数据库的数据时,只需对特定数据库的配置文件进行添加或修改的方式,即可对用户实现有权限的数据库访问,简单易操作。

在一实施例中,在步骤S6中,所述控制所述用户在所述目标访问权限下访问数据库的步骤之后,还可包括:

S7、判断是否需要对所述数据库中的配置文件进行更新;

S8、在检测到需要对所述数据库中的配置文件进行更新时,采用数据更新函数对所述配置文件进行更新;

S9、根据所述配置文件的数据标识信息确定加密算法,利用所述加密算法对更新后的所述配置文件进行加密;其中,所述数据标识信息包括所述配置文件的名称或类型。

在本实施方式中,当监测到新增用户或当前用户的操作环境数据发生改变时,则需要对配置文件进行更新。例如,当新增用户时,则在配置文件中添加新增用户可访问的数据库及其访问权限;而当前用户的操作环境数据发生改变时,则对当前用户对应的配置文件中规定的用户可访问的数据库及访问权限进行调整。在存在配置文件需要更新时,如修改、新增或删除配置文件中的信息,则服务器调用数据更新函数对所述配置文件进行解析,根据所述配置文件的数据标识信息对解析后的配置文件进行加密,以防非法用户恶意修改配置文件,以获取数据库的访问权限。其中,该数据标识信息用于查询配置文件相对应的加密算法,根据该加密算法对解析后的配置文件进行加密,以针对不同的配置文件采用不同的加密算法,以降低配置文件被破解的风险,并防止非法用户对配置文件的恶意修改,提高配置文件的安全性。所述数据标识信息包括配置文件的名称或类型,如配置文件的命名方式及格式类型。其中,对配置文件的数据标识信息进行配置的方式包括增加、删除及修改中的至少一种方式。

本申请为了进一步提高数据库访问的安全性,除了对用户的数据库访问请求进行验证,还进一步在用户访问过程中,对所述用户进行行为监控,并提供了对用户进行行为监控的具体实现方式,下面通过一些实施例进行具体说明:

在一实施例中,在步骤S6中,所述控制所述用户在所述目标访问权限下访问数据库的步骤,可具体包括:

S61、在所述用户访问数据库过程中,对所述用户进行行为监控;

S62、在监控到所述用户存在超越所述目标访问权限的越权访问行为时,将所述用户对应的配置文件删除,并禁止所述用户的数据库访问。

在本实施例中,在用户访问过程中,还可对用户的操作行为进行实时监控,如用户对一些私密数据的拷贝、发送等行为,以判断是否存在越权行为,若监控到所述用户存在越权访问行为时,将所述用户对应的配置文件删除,并禁止所述用户的数据库访问,以进一步提高数据库访问的安全性。

在一实施例中,在步骤S61中,所述对所述用户进行行为监控的步骤,可具体包括:

S611、监控所述用户在终端的操作指令;

S612、根据所述操作指令确定所述用户是否存在操作不当,若是,则监控到所述用户存在越权访问行为。

如上述步骤S611所述,用户在访问数据库过程中,用户在终端执行触摸、点击、滑动、框选或截屏等操作行为之后,终端形成对应的操作指令。具体实现时,可通过在终端页面插入一监听脚本插件,实现实时监听用户在终端页面的操作行为。

如上述步骤S612所述,当监听脚本插件监听到用户在终端页面的操作行为时,实时生成对应的操作指令,并将该操作指令实时发送到服务器。另外地,还可以通过计算机行为监管系统或者监控平台实时监听用户在终端的操作行为,生成对应的操作指令,并将该操作指令实时发送到服务器,服务器根据操作指令对照表查询该操作指令是否合法,以确定所述用户是否存在操作不当。其中,操作指令对照表记录有各用户在历史访问数据库时造成数据泄露的操作指令。例如,当用户对隐私数据进行分享、下载或拷贝等操作行为时,则发送预警信息至终端。预警信息是用于提示用户的操作行为存在非合法行为的信息,以提示用户对该操作行为进行撤销。若在预设时间内未接收到终端对非合法行为的撤销指令时,则禁止所述用户的数据库访问,具体可以自动断开终端的网络连接,从而保证隐私数据无法对外泄露。

在另一实施例中,在步骤S61中,所述对所述用户进行行为监控的步骤,可具体包括:

D611、启动所述用户用于发起数据库访问请求的终端的摄像头,控制所述摄像头拍摄所述用户访问数据库时的人脸图像;

D612、接收所述终端发送的人脸图像,对所述人脸图像进行微表情识别,得到所述用户访问数据库的微表情;

D613、根据所述微表情分析所述用户是否存在异常,若是,则监控到所述用户存在越权访问行为。

如上述步骤D611所述,本步骤可通过启动用户于发起数据库访问请求的终端的摄像头,控制所述摄像头以视频模式采集终端面前的用户,生成视频流,并根据预设的图像识别算法从所述视频流中识别出含有人脸的视频帧,得到人脸图像;或者,控制所述摄像头以照相模式采集终端面前的用户的多张图像,当获取到的图像较大时,则需对所述图像进行人脸识别处理从而识别出面部区域,并将所述面部区域范围内的图像作为人脸图像,只对人脸图像进行处理,从而减少数据计算量,减轻计算负担。

如上述步骤D612所述,微表情是人们的真实心理活动或情绪投射到面部所表达出的信息,比如,在高兴时会表现出嘴角翘起的笑容,在惊讶时会表现出眼部的放大,在害怕时会表现出面部的一系列紧张或不适。这些都是正常心理活动或情绪的反应。在正常的不存在心理对抗的情况下,微表情的持续时间和表现程度是能够被比较准确地捕获和理解的。微表情的微动变化实际上也是真实心理活动或情绪的表现,但微表情的持续时间非常短暂并难以捕获,这主要是因为它是在特定情况下人们企图克制、压抑或隐藏非常难以控制的心理活动或情绪时而泄露出的非常短暂的表情信息。正因如此,微表情被理解为异常表达而非正常表达。这使得微表情识别成为解析真实心理的非常有效的工具,比如用在识别谎言。微表情识别具有非常好的应用前景,可以被广泛地应用于安全、司法以及临床等等领域。

因此,本步骤在获取到人脸图像后,可将人脸图像输入微表情识别模型,利用基于神经网络模型训练完成的微表情识别模型对所述人脸图像进行微表情识别,从而得到微表情识别结果。其中,所述微表情识别结果包括:开心、生气、害怕、惊讶等类型,还可细分为喜笑颜开、怒火中烧、胆颤心惊、大吃一惊等类型。

如上述步骤D613所述,判断所述微表情识别结果是否属于预设的恶意微表情列表,以分析所述用户是否存在异常,若是,则监控到用户存在越权访问行为。其中,预设的恶意微表情列表记录了具体的恶意微表情,例如假意微笑、心存窃喜等。若所述微表情识别结果属于预设的恶意微表情列表,例如为假意微笑,则表明用户的操作行为存在异常,若是,则禁止所述用户访问数据库。

在一实施例中,在步骤S6中,所述控制所述用户在所述目标访问权限下访问数据库的步骤之后,还可包括:

获取所述数据库访问请求中携带的查询信息,根据所述目标访问权限对所述查询信息进行授权验证,将授权验证成功的所述查询信息发送至presto查询引擎;

利用presto查询引擎根据所述查询信息在数据库中进行查询,获取查询到的数据,将所述数据发送给用户。

该查询信息是指将所需的数据从数据库中的大数据筛选出来的逻辑。查询信息可以是各种语言格式,且可以由各种语言格式进行组合,例如可以由SQL(Structured QueryLanguage,结构化查询语言)、HQL(Hibernate Query Language,一种查询语言)等查询语言组成。大数据是指存储于数据库中的海量数据、可以是结构化的数据库表、半结构化的文本数据及非结构化的语音、图片、视频等数据。查询信息所针对的查询数据是指数据库中存储的大数据中的全部或部分数据。

在一个实施例中,该查询信息可由用户直接输入查询语句而生成。终端界面上还可以提供查询语句组件,查询语句组件是指封装了的查询语句组件,可用于重复使用。用户可以通过拖拽查询界面上的至少一个查询语句组件,拼装成完整的查询信息。查询界面上还可包含查询控件,当终端检测到作用于查询控件的点击操作时,根据用户输入的查询信息生成数据库访问请求,并将查询信息上传至服务器,服务器根据目标访问权限对查询信息进行授权验证,判断该查询信息是否符合目标访问权限下所规定的可查询内容,若是,则授权验证成功,并将授权验证成功的所述查询信息发送至presto查询引擎。例如,当查询信息中包括企业流水的查询关键词时,而根据目标访问权限确定当前用户并无查询企业流水的权限,则授权验证失败,禁止所述用户的数据库访问请求。

其中,查询引擎Presto是基于内存的分布式实时查询引擎,无法执行需要对多个数据表进行连接操作的查询,查询引擎Presto所能查询的查询数据的数据量存在限制。但是查询引擎Presto在查询过程中不存在磁盘读写产生的延时问题,因此查询效率较高,适用于查询信息复杂度较低的快速查询过程。

优选地,所述利用presto查询引擎根据所述查询信息在数据库中进行查询的步骤,可具体包括:

利用所述Presto查询引擎将所述查询信息进行解析,得到逻辑查询计划;

将所述逻辑查询计划进行分布式处理,得到分布式逻辑查询计划;

将分布式逻辑查询计划转化为多个查询子任务,并将所述多个查询子任务分发至多个工作线程,通过所述多个工作线程在数据库中执行相应的查询子任务;

接收所述多个工作线程在执行完相应的查询子任务后查询得到的子数据,将所述子数据进行整理汇总后得到所述数据。

在本实施例中,针对查询引擎Presto,可预先构建一个线程池,并在线程池中预置多个工作线程。在查询引擎Presto接收到查询请求之后,可调用SqlParser(一种sql解析器)解析sql语句,得到抽象语法树AST(Abstract Syntax Tree),通过逻辑查询计划组件将抽象语法树AST转化为逻辑查询计划,并通过分布式计划组件对逻辑查询计划进行分布式解析,得到多个查询子计划,并将每个查询子计划转化为相应的查询子任务。然后可通过随机算法、轮询调度算法、加权轮询算法等方式将多个查询子任务分法至多个工作线程等待执行。子数据是指每个工作线程执行每个查询子任务从数据库中所筛选出的数据,将子数据整理汇总得到的数据是指最终查询得到的、与查询信息对应的完整数据。本申请通过多工作线程提高查询任务执行的高并发性,从而缩短执行查询任务的时间,提高查询效率。

在一个实施例中,所述将所述数据发送给用户的步骤,可具体包括:

将查询到的数据封装成数据集;

根据所述数据集生成相应的数据报表及可视化图形,将所述数据报表及可视化图形发送给所述用户。

本实施例可对查询到的数据进行格式转换操作,并封装成数据集,数据集中包含所有查询到的数据,利用该数据集生成数据报表及可视化图形,将数据报表和可视化图形进行结合后发送给用户,并在用户的终端上进行展示,使得数据展示更加直观易懂。

参照图2,本申请实施例中还提供一种数据库访问装置,包括:

接收模块1,用于在接收到用户的数据库访问请求时,根据所述数据库访问请求中携带的用户信息查询数据库是否包含所述用户对应的配置文件;其中,数据库对应预先设置有唯一一个配置文件,配置文件都记录有对应用户可访问的数据库及访问权限;

禁止访问模块2,用于当查询到数据库没有所述用户对应的配置文件时,则禁止所述用户的数据库访问;

确定模块3,用于当查询到数据库含有所述用户对应的配置文件时,根据所述配置文件确定所述用户可访问的数据库及访问权限;

查询模块4,用于获取所述用户当前的操作环境数据,并查询所述用户在预设时间段内所使用终端的环境信息,以及获取所述用户在预设时间段内使用次数最多的终端的环境信息;

调整模块5,用于将所述用户使用次数最多的终端的环境信息设定为安全操作环境数据,将所述用户当前的操作环境数据与所述安全操作环境数据进行比对,根据比对结果确定当前操作环境的安全等级,根据所述安全等级调整所述用户的访问权限,得到目标访问权限;

控制模块6,用于控制所述用户在所述目标访问权限下访问数据库。

用户可通过智能手机、平板、电脑等终端登陆相关网站或APP后发起数据库访问请求,服务器响应于该数据库访问请求,并从数据库访问请求中提取出该用户的用户信息,该用户信息用于查询在与大数据平台连接的数据库中是否含有该用户对应的配置文件,以判断该用户是否具有有访问权限的数据库。其中,该用户信息可包括该用户的账号、用户名、身份证号、人脸信息等信息,每个配置文件都记录有某个用户可访问的数据库名、表名以及访问权限,该访问权限包括访问时间段、访问时长、访问的数据及数据类型等等。此外,每个配置文件可对应有多个用户,即该多个用户都可对配置文件的数据库进行访问。

当查询到数据库没有该用户对应的配置文件时,则表明该用户不存在有访问权限的数据库,禁止所述用户的数据库访问,并向该用户发送申请数据库访问权限的申请链接,接收该用户在申请链接填写的申请信息,在对申请信息校验通过后,为该用户分配数据库,并在该数据库构建相应的配置文件,以在该用户下次访问时,对其相应的数据库进行授权访问。此外,还可对该配置文件进行定期更新、修改、增加或删除等操作,以通过该配置文件,简单方便地实现数据库的有效管理。

当确定数据库含有该用户对应的配置文件时,则表明该用户存在有访问权限的数据库,允许所述用户的数据库访问,并从相应的数据库中提取预存的配置文件,从该配置文件中提取用户名、数据库名、表名及访问权限。

本装置可通过网络安全检测工具检测用户的当前操作环境的安全性,并获取用户当前的操作环境数据,如通过杀毒工具对该用户当前使用的终端进行扫描,根据扫描结果对本次检测进行评分,根据评分判断当前操作环境的安全性,然后查询用户在预设时间段内所使用终端的环境信息,如用户在预设时间段内所使用过的所有终端的内置文件、应用程序的参数信息。

在获取用户在预设时间段内使用次数最多的终端的环境信息之后,本装置可将用户使用次数最多的终端的环境信息作为最安全的操作环境,并将用户使用次数最多的终端的环境信息设定为安全操作环境数据,将用户当前的操作环境数据与安全操作环境数据进行比对,以确定当前操作环境的安全等级,根据安全等级调整用户的访问权限,得到目标访问权限。例如,当监测到当前操作环境的安全等级较高时,则允许该用户使用配置文件所设定的所有访问权限;当监测到当前操作环境的安全等级较低时,则禁止该用户使用配置文件所设定的一些访问权限,从而提高数据访问的安全性。

在将用户当前的操作环境数据与安全操作环境数据进行比对时,可对操作环境数据中的多个项目进行比对,该项目可包括防火墙启动次数、网络环境、杀毒工具的安装情况、信息泄露情况等等。例如,操作环境数据中的防火墙启动次数是否少于安全操作环境数据中规定的启动次数、操作环境数据中的网络环境是否为安全操作环境数据中规定的家庭网络、用户当前使用的终端是否安装了杀毒工具,当用户当前的操作环境数据中,符合安全操作环境数据的项目越多时,则对应的安全等级越高。例如,可规定符合安全操作环境数据的项目的数量少于3个所对应的安全等级为低级、4-8个所对应的安全等级为中级、8个以上所对应的安全等级为高级。

根据目标访问权限控制用户访问相应的数据库,从而通过设置配置文件的方式,实现用户对数据库的有限访问,实现数据库有效的权限管控,同时也减少了运维人员的人力投入,提高数据的安全性。此外,当用户需要访问特定数据库的数据时,只需对特定数据库的配置文件进行添加或修改的方式,即可对用户实现有权限的数据库访问,简单易操作。

具体的,假设有两个用户:用户A和用户B,则可设置2个数据库:数据库A和数据库B,则只允许用户A针对数据库A的有访问权限,用户B针对数据库B的有访问权限。此时,本申请的执行主体可以是由两台服务器构成的服务机群,用户A通过jdbc方式连接其中一台服务器,用户B通过jdbc方式连接另一台服务器,并分别在两台服务器添加配置文件,在配置文件中添加配置信息,在配置信息中分别指明数据库对应的用户、库名、属主,并且在表格属性中指明每个用户需要访问的库名、表名以及权限(包含增删改查等权限),即可配置完成,实现了通过配置文件控制用户的权限访问。

如上所述,可以理解地,本申请中提出的所述数据库访问装置的各组成部分可以实现如上所述数据库访问方法任一项的功能,具体结构不再赘述。

参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于关系抽取模型、药物发现模型等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据库访问方法。

上述处理器执行上述的数据库访问方法,包括:

在接收到用户的数据库访问请求时,根据所述数据库访问请求中携带的用户信息查询数据库是否包含所述用户对应的配置文件;其中,数据库对应预先设置有唯一一个配置文件,配置文件都记录有对应用户可访问的数据库及访问权限;

当查询到数据库没有所述用户对应的配置文件时,则禁止所述用户的数据库访问;

当查询到数据库含有所述用户对应的配置文件时,根据所述配置文件确定所述用户可访问的数据库及访问权限;

获取所述用户当前的操作环境数据,并查询所述用户在预设时间段内所使用终端的环境信息,以及获取所述用户在预设时间段内使用次数最多的终端的环境信息;

将所述用户使用次数最多的终端的环境信息设定为安全操作环境数据,将所述用户当前的操作环境数据与所述安全操作环境数据进行比对,根据比对结果确定当前操作环境的安全等级,根据所述安全等级调整所述用户的访问权限,得到目标访问权限;

控制所述用户在所述目标访问权限下访问数据库。

本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种数据库访问方法,包括步骤:

在接收到用户的数据库访问请求时,根据所述数据库访问请求中携带的用户信息查询数据库是否包含所述用户对应的配置文件;其中,数据库对应预先设置有唯一一个配置文件,配置文件都记录有对应用户可访问的数据库及访问权限;

当查询到数据库没有所述用户对应的配置文件时,则禁止所述用户的数据库访问;

当查询到数据库含有所述用户对应的配置文件时,根据所述配置文件确定所述用户可访问的数据库及访问权限;

获取所述用户当前的操作环境数据,并查询所述用户在预设时间段内所使用终端的环境信息,以及获取所述用户在预设时间段内使用次数最多的终端的环境信息;

将所述用户使用次数最多的终端的环境信息设定为安全操作环境数据,将所述用户当前的操作环境数据与所述安全操作环境数据进行比对,根据比对结果确定当前操作环境的安全等级,根据所述安全等级调整所述用户的访问权限,得到目标访问权限;

控制所述用户在所述目标访问权限下访问数据库。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

综上所述,本申请的最大有益效果在于:

本申请的数据库访问方法、装置、存储介质和计算机设备,在接收到用户的数据库访问请求时,根据数据库访问请求中携带的用户信息查询用户是否有配置文件;当查询到数据库没有用户对应的配置文件时,则表明该用户不具备数据库访问权限,禁止该用户的数据库访问;当查询到数据库含有用户对应的配置文件时,根据配置文件确定用户可访问的数据库及访问权限;获取用户当前的操作环境数据,并查询用户在预设时间段内所使用终端的环境信息,以及获取所述用户在预设时间段内使用次数最多的终端的环境信息;将用户使用次数最多的终端的环境信息设定为安全操作环境数据,将用户当前的操作环境数据与安全操作环境数据进行比对,根据比对结果确定当前操作环境的安全等级,根据安全等级调整用户的访问权限,得到目标访问权限,以根据当前操作环境调整访问权限,降低由于操作环境造成的数据泄露的风险;最后控制用户在目标访问权限下访问数据库,从而通过设置配置文件、操作环境检测及行为监控的方式,实现用户对数据库的有限访问,以对数据库有效地权限管控,同时也减少了运维人员的人力投入,提高数据访问的安全性。此外,当用户需要访问特定数据库的数据时,只需对特定数据库的配置文件进行添加或修改的方式,即可对用户实现有权限的数据库访问,简单易操作。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

相关技术
  • 数据库访问方法、装置、计算机可读存储介质和计算机设备
  • 数据库访问方法、装置、计算机设备和存储介质
技术分类

06120113212135