CN113961542A - 一种数据库操作方法、装置、设备及存储介质 - Google Patents

一种数据库操作方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113961542A
CN113961542A CN202111215790.1A CN202111215790A CN113961542A CN 113961542 A CN113961542 A CN 113961542A CN 202111215790 A CN202111215790 A CN 202111215790A CN 113961542 A CN113961542 A CN 113961542A
Authority
CN
China
Prior art keywords
database
user
account
password
connection string
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
Application number
CN202111215790.1A
Other languages
English (en)
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.)
Ping An Puhui Enterprise Management Co Ltd
Original Assignee
Ping An Puhui Enterprise Management 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 Ping An Puhui Enterprise Management Co Ltd filed Critical Ping An Puhui Enterprise Management Co Ltd
Priority to CN202111215790.1A priority Critical patent/CN113961542A/zh
Publication of CN113961542A publication Critical patent/CN113961542A/zh
Pending legal-status Critical Current

Links

Images

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/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本申请涉及计算机技术领域,提供一种数据库操作方法、装置、设备及存储介质,所述方法包括:获取用户的登录信息以及获取所述用户提交的操作数据库的任务信息;读取所述用户的登录信息对应的数据库连接串、账号和密码,其中,所述数据库连接串、所述账号和所述密码预先存储在服务器中;根据所述数据库连接串,确定目标数据库;根据所述账号和所述密码,判断所述用户是否有操作所述目标数据库的权限;若所述用户有操作所述目标数据库的权限,则连接所述目标数据库;获取所述任务信息中的数据库操作指令,基于所述数据库操作指令对所述目标数据库进行操作,获取操作结果。本申请实施例的技术方案,提高了操作数据库的安全性和效率。

Description

一种数据库操作方法、装置、设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据库操作方法、装置、设备及存储介质。
背景技术
Hadoop是一个能够对大量数据进行分布式处理的软件框架,hive是基于Hadoop的数据仓库工具,用来进行数据提取、转化、加载,可以用于存储、查询和分析存储在Hadoop中的大规模数据。hiveserver2(HS2)是一个服务端接口,客户端通过hiveserver2构建查询语句,操作数据库,最后操作结果通过hiveserver2返回到客户端。
目前,客户端在通过hiveserver2操作数据库时,上层的应用必须在调度时输入数据库连接串、账号和密码,但是手动输入数据库连接串、账号和密码相应会有泄露的风险,因此安全性较差。另一方面,每次客户端操作数据库时都需要手动输入数据库连接串、账号和密码,频繁的输入会导致操作数据库的效率降低,并且用户体验也较差。
发明内容
本申请提供了一种数据库操作方法、装置、设备及存储介质,有利于提高操作数据库的安全性和效率。
本申请第一方面提供了一种数据库操作方法,包括:
获取用户的登录信息以及获取所述用户提交的操作数据库的任务信息;
读取所述用户的登录信息对应的数据库连接串、账号和密码,其中,所述数据库连接串、所述账号和所述密码预先存储在服务器中;
根据所述数据库连接串,确定目标数据库;
根据所述账号和所述密码,判断所述用户是否有操作所述目标数据库的权限;
若所述用户有操作所述目标数据库的权限,则连接所述目标数据库;
获取所述任务信息中的数据库操作指令,基于所述数据库操作指令对所述目标数据库进行操作,获取操作结果。
本申请第二方面提供了一种数据库操作装置,包括:
获取模块,用于获取用户的登录信息以及获取所述用户提交的操作数据库的任务信息;
读取模块,用于读取所述用户的登录信息对应的数据库连接串、账号和密码,其中,所述数据库连接串、所述账号和所述密码预先存储在服务器中;
确定模块,用于根据所述数据库连接串,确定目标数据库;
判断模块,用于根据所述账号和所述密码,判断所述用户是否有操作所述目标数据库的权限;
连接模块,用于若所述用户有操作所述目标数据库的权限,则连接所述目标数据库;
操作模块,用于获取所述任务信息中的数据库操作指令,基于所述数据库操作指令对所述目标数据库进行操作,获取操作结果。
本申请第三方面提供了一种电子设备,所述电子设备包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行本申请第一方面任一方法中的步骤的指令。
本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现本申请第一方面任一方法中所描述的部分或全部步骤。
可以看到,通过本申请提出的数据库操作方法、装置、设备及存储介质,首先获取用户的登录信息以及获取用户提交的操作数据库的任务信息。其次读取用户的登录信息对应的数据库连接串、账号和密码,其中,数据库连接串、账号和密码预先存储在服务器中。其次根据数据库连接串、账号和密码,连接目标数据库。最后获取任务信息中的数据库操作指令,基于数据库操作指令对目标数据库进行操作,获取操作结果。这样,将数据库连接串、账号和密码预先存储在服务器或数据库中,用户在操作数据库时,通过用户的登录信息读取对应的数据库连接串、账号和密码,最终操作数据库。一方面,不需要手动输入数据库连接串、账号和密码,降低了泄露的风险,提高了操作数据库的安全性;另一方面,用户不需要在每次操作数据库时重复输入数据库连接串、账号和密码,提高了操作数据库的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据库操作系统的结构示意图;
图2为本申请实施例提供的一种数据库操作方法的流程示意图;
图3为本申请实施例提供的另一种数据库操作方法的流程示意图;
图4为本申请实施例提供的一种数据库操作装置的示意图;
图5为本申请实施例涉及的硬件运行环境的电子设备结构示意图。
具体实施方式
本申请实施例提供的数据库操作方法、装置、设备及存储介质,有利于提高操作数据库的安全性和效率。
以下,对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
本申请实施例中涉及的“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
以及,除非有相反的说明,本申请实施例提及“第一”、“第二”等序数词是用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。例如,第一信息和第二信息,只是为了区分不同的信息,而并不是表示这两种信息的内容、优先级、发送顺序或者重要程度等的不同。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
下面对本申请实施例进行详细介绍。
首先参见图1,图1为本申请实施例提供的一种数据库操作系统的结构示意图。如图1所示,数据库操作系统100包括客户端101、调度平台102和目标数据库103。客户端101可以登录调度平台102,通过调度平台102操作目标数据库103。
在本申请实施例提供的数据库操作系统100中,首先,客户端101登录调度平台102。具体的,用户对应的客户端101在调度平台102输入登录信息,从而登录调度平台102。
调度平台102获取用户的登录信息以及获取所述用户提交的操作数据库的任务信息。具体的,用户的登录信息包括该用户的身份证号码、手机号码或者其他可以唯一识别该用户的号码,客户端101成功登录调度平台102后,在调度平台102中提交操作数据库的任务信息。
调度平台102读取所述用户的登录信息对应的数据库连接串、账号和密码,其中,所述数据库连接串、所述账号和所述密码预先存储在服务器中。具体的,调度平台102获取用户的登录信息后,该用户的登录信息可以唯一识别该用户,调度平台102在服务器本地或者用于存储数据的数据库服务器中读取预先存储的与该用户的登录信息对应的数据库连接串、账号和密码。除了服务器本地和数据库服务器之外,数据库连接串、账号和密码还可以预先存储在LDAP(light directory access portocol)数据库中。
调度平台102根据所述数据库连接串、所述账号和所述密码,连接目标数据库103。具体的,调度平台102首先根据数据库连接串,确定目标数据库103。然后,调度平台102根据账号和密码,判断用户是否有操作该目标数据库103的权限。最后,若该用户有操作该目标数据库103的权限,则连接该目标数据库103。
调度平台102获取所述任务信息中的数据库操作指令,基于所述数据库操作指令对所述目标数据库进行操作,获取操作结果。具体的,调度平台102连接目标数据库103后,获取任务信息中的数据库操作指令,基于该数据库操作指令对该目标数据库103进行操作,目标数据库103将操作结果返回给调度平台102,最后调度平台102将操作结果返回给客户端101。
可以看出,在本申请实施例提供的数据库操作系统中,引入了调度平台。将数据库连接串、账号和密码预先存储在服务器中,客户端登录调度平台,输入用户的登录信息,调度平台获取该用户的登录信息,读取与该用户的登录信息对应的数据库连接串、账号和密码,连接目标数据库,最后对目标数据库进行操作,操作结果通过调度平台返回给客户端。这样,一方面,不需要手动输入数据库连接串、账号和密码,降低了泄露的风险,提高了操作数据库的安全性;另一方面,用户不需要在每次操作数据库时重复输入数据库连接串、账号和密码,提高了操作数据库的效率。
参见图2,图2为本申请实施例提供的一种数据库操作方法的流程示意图。
其中,如图2所示,本申请实施例提供的一种数据库操作方法可以包括:
201、获取用户的登录信息以及获取所述用户提交的操作数据库的任务信息。
具体的,用户对应的客户端在调度平台输入登录信息,从而登录调度平台。调度平台获取用户的登录信息,其中,用户的登录信息包括该用户的身份证号码、手机号码或者其他可以唯一识别该用户的号码。客户端成功登录调度平台后,在调度平台中提交操作数据库的任务信息,调度平台获取用户提交的操作数据库的任务信息。
可选的,在获取用户的登录信息之后,在获取所述用户提交的操作数据库的任务信息之前,所述方法还包括:将所述用户的登录信息与预先存储的登录信息进行匹配;若所述用户的登录信息与所述预先存储的登录信息匹配成功,则确认所述用户有提交操作数据库的任务信息的权限。
具体的,调度平台支持对用户的身份进行鉴权。例如用户登录调度平台后,调度平台可以将该用户的登录信息与预先存储的登录信息进行匹配,判断该用户是否有提交操作数据库的任务信息的权限。如果匹配成功,则该用户有权限提交操作数据库的任务信息,可以继续后续操作数据库的步骤;如果匹配失败,则提示该用户无权限操作数据库。这样,可以在调度平台层面上进行权限管控,避免没有权限的用户继续输入操作数据库的任务信息。
可选的,在获取所述用户提交的操作数据库的任务信息之后,所述方法还包括:根据所述用户的登录信息,确定所述用户操作数据库的具体权限;获取所述任务信息中的数据库操作指令;将所述用户操作数据库的具体权限与所述数据库操作指令对应的操作进行对比,判断所述用户是否有所述数据库操作指令对应的操作的权限。
具体的,调度平台还支持对用户分权限管理。用户登录调度平台后,调度平台可以通过该用户的登录信息,判断该用户操作数据库的具体权限,例如操作数据库的权限包括读取、写入、修改等,将每个用户对应的具体权限与任务信息中的数据库操作指令进行对比,判断该用户是否有对应操作的权限。若有对应操作的权限,则可以继续后续操作数据库的步骤;若没有权限,则提示用户重新输入操作数据库的任务信息。
202、读取所述用户的登录信息对应的数据库连接串、账号和密码,其中,所述数据库连接串、所述账号和所述密码预先存储在服务器中。
具体的,调度平台获取用户的登录信息后,该用户的登录信息可以唯一识别该用户,调度平台在服务器本地或者用于存储数据的数据库服务器中读取预先存储的与该用户的登录信息对应的数据库连接串、账号和密码。除了服务器本地和数据库服务器之外,数据库连接串、账号和密码还可以预先存储在LDAP数据库中,其中,LDAP是基于X.500标准的轻量级目录访问协议,目录是一个为查询、浏览和搜索而优化的数据库。
可选的,读取所述用户的登录信息对应的数据库连接串、账号和密码的方法可以是:根据所述用户的登录信息,确定第一存储区域和第二存储区域,其中,所述第一存储区域用于存储多个用户对应的数据库连接串,所述第二存储区域用于存储多个用户对应的账号和密码;在所述第一存储区域中读取所述用户的登录信息对应的数据库连接串;在所述第二存储区域中读取所述用户的登录信息对应的账号和密码。
203、根据所述数据库连接串,确定目标数据库。
在一种可能的实施方式中,根据所述数据库连接串,确定目标数据库,包括:提取所述数据库连接串中的数据库标识;按照数据库访问频率由大到小的顺序依次将多个数据库的标识信息与所述数据库连接串中的数据库标识进行匹配,确定匹配成功的标识信息对应的数据库为所述目标数据库。
具体的,调度平台从服务器本地或者数据库服务器中读取数据库连接串后,提取该数据库连接串中的数据库标识。调度平台中还存储了多个数据库的标识信息,按照数据库访问频率由大到小的顺序对该多个数据库进行排序,依次将该多个数据库的标识信息与数据库连接串中的数据库标识进行匹配,匹配成功的标识信息对应的数据库即为目标数据库。这样,按照数据库访问频率由大到小的顺序进行匹配,可以减少匹配时间。
204、根据所述账号和所述密码,判断所述用户是否有操作所述目标数据库的权限。
可选的,根据所述账号和所述密码,判断所述用户是否有操作所述目标数据库的权限,包括:根据所述账号和所述密码,确定所述用户的身份标识;将所述用户的身份标识与预先存储的多个身份标识进行匹配,其中,所述预先存储的多个身份标识中每个身份标识对应的用户有操作所述目标数据库的权限;若所述用户的身份标识与所述预先存储的多个身份标识匹配成功,则确定所述用户有操作所述目标数据库的权限;若所述用户的身份标识与所述预先存储的多个身份标识匹配失败,则确定所述用户没有操作所述目标数据库的权限。
具体的,确定目标数据库后,需要对用户进行鉴权,确认该用户有操作该目标数据库进行操作的权限。调度平台中预先存储了与目标数据库对应的多个身份标识,该多个身份标识中每个身份标识对应的用户有权限操作目标数据库,也就是说,只有与该多个身份标识匹配的用户才可以操作该目标数据库。这样,确定目标数据库后对用户进行鉴权,避免了没有权限的用户任意操作数据库带来的风险,提高了安全性。
205、若所述用户有操作所述目标数据库的权限,则连接所述目标数据库。
206、获取所述任务信息中的数据库操作指令,基于所述数据库操作指令对所述目标数据库进行操作,获取操作结果。
具体的,调度平台连接目标数据库后,获取任务信息中的数据库操作指令,基于该数据库操作指令对该目标数据库进行操作,目标数据库将操作结果返回给调度平台,最后调度平台将操作结果返回给客户端。
可选的,所述方法还包括:将所述数据库连接串、所述账号和所述密码存储在缓存区中;若在预设时间内接收所述用户的登录信息,则从所述缓存区中读取所述数据库连接串、所述账号和所述密码;根据从所述缓存区中读取的所述数据库连接串、所述账号和所述密码,连接所述目标数据库。
具体的,调度平台在服务器本地或者数据库中读取数据库连接串、账号和密码之后,将该数据库连接串、账号和密码存储在缓存区中,并设置定时器,定时器开始计数。在该定时器超时之前,若调度平台接收到相同用户的登录信息,则调度平台不需要再次从服务器本地或者数据库中读取数据,而是从缓存区中读取数据库连接串、账号和密码,然后连接目标数据库。这样减少了调度平台频繁地从服务器本地或者数据库中读取数据所占用的资源和消耗的时间,提高了操作目标数据库的效率。
可以看出,通过本申请实施例提供的数据库操作方法,首先获取用户的登录信息以及获取用户提交的操作数据库的任务信息。其次读取用户的登录信息对应的数据库连接串、账号和密码,其中,数据库连接串、账号和密码预先存储在服务器中。其次根据数据库连接串、账号和密码,连接目标数据库。最后获取任务信息中的数据库操作指令,基于数据库操作指令对目标数据库进行操作,获取操作结果。这样,将数据库连接串、账号和密码预先存储在服务器或数据库中,用户在操作数据库时,通过用户的登录信息读取对应的数据库连接串、账号和密码,最终操作数据库。一方面,不需要手动输入数据库连接串、账号和密码,降低了泄露的风险,提高了操作数据库的安全性;另一方面,用户不需要在每次操作数据库时重复输入数据库连接串、账号和密码,提高了操作数据库的效率。
参见图3,图3为本申请实施例提供的另一种数据库操作方法的流程示意图。其中,如图3所示,本申请实施例提供的另一种数据库操作方法可以包括:
301、获取用户的登录信息。
具体的,用户对应的客户端在调度平台输入登录信息,从而登录调度平台。调度平台获取用户的登录信息,其中,用户的登录信息包括该用户的身份证号码、手机号码或者其他可以唯一识别该用户的号码。
在一种可能的实施方式中,获取用户的登录信息后,将用户的登录信息与预先存储的登录信息进行匹配;若用户的登录信息与预先存储的登录信息匹配成功,则确认用户有提交操作数据库的任务信息的权限。
具体的,调度平台支持对用户的身份进行鉴权。例如用户登录调度平台后,调度平台可以将该用户的登录信息与预先存储的登录信息进行匹配,判断该用户是否有提交操作数据库的任务信息的权限。如果匹配成功,则该用户有权限提交操作数据库的任务信息,可以继续后续操作数据库的步骤;如果匹配失败,则提示该用户无权限操作数据库。这样,可以在调度平台层面上进行权限管控,避免没有权限的用户继续输入操作数据库的任务信息。
302、获取用户提交的操作数据库的任务信息。
具体的,客户端成功登录调度平台后,在调度平台中提交操作数据库的任务信息,调度平台获取用户提交的操作数据库的任务信息。
在一种可能的实施方式中,获取任务信息之后,根据用户的登录信息,确定用户操作数据库的具体权限;获取任务信息中的数据库操作指令;将用户操作数据库的具体权限与数据库操作指令对应的操作进行对比,判断用户是否有数据库操作指令对应的操作的权限。
具体的,调度平台还支持对用户分权限管理。用户登录调度平台后,调度平台可以通过该用户的登录信息,判断该用户操作数据库的具体权限,例如操作数据库的权限包括读取、写入、修改等,将每个用户对应的具体权限与任务信息中的数据库操作指令进行对比,判断该用户是否有对应操作的权限。若有对应操作的权限,则可以继续后续操作数据库的步骤;若没有权限,则提示用户重新输入操作数据库的任务信息。
另外,若数据库操作指令包括sqoop脚本,则不允许该用户操作数据库,关闭了sqoop脚本类高危操作指令,提高了操作数据库的安全性。
303、读取用户的登录信息对应的数据库连接串、账号和密码。
具体的,调度平台获取用户的登录信息后,该用户的登录信息可以唯一识别该用户,调度平台在服务器本地或者数据库服务器中读取预先存储的与该用户的登录信息对应的数据库连接串、账号和密码。除了服务器本地和数据库服务器之外,数据库连接串、账号和密码还可以预先存储在LDAP数据库中。
在一种可能的实施方式中,读取用户的登录信息对应的数据库连接串、账号和密码的方法可以是:根据该用户的登录信息,确定第一存储区域和第二存储区域,其中,第一存储区域用于存储多个用户对应的数据库连接串,第二存储区域用于存储多个用户对应的账号和密码;在该第一存储区域中读取该用户的登录信息对应的数据库连接串;在该第二存储区域中读取该用户的登录信息对应的账号和密码。
在一种可能的实施方式中,调度平台支持更改存储在服务器本地或者数据库中的数据库连接串,当目标数据库减少时,删除该目标数据库对应的数据库连接串,同理,当目标数据库增加时,新增该目标数据库对应的数据库连接串。
在另一种可能的实施方式中,调度平台支持更改存储在服务器本地或者数据库中的账号和密码,当用户操作数据库的权限改变时,可以修改该用户对应的账号和密码,不同的账号和密码对应了不同的身份标识,不同的身份标识可能有不同的数据库操作权限。
304、根据数据库连接串,确定目标数据库。
在一种可能的实施方式中,根据所述数据库连接串,确定目标数据库,包括:提取所述数据库连接串中的数据库标识;按照数据库访问频率由大到小的顺序依次将多个数据库的标识信息与所述数据库连接串中的数据库标识进行匹配,确定匹配成功的标识信息对应的数据库为所述目标数据库。
具体的,调度平台从服务器本地或者数据库服务器中读取数据库连接串后,提取该数据库连接串中的数据库标识。调度平台中还存储了多个数据库的标识信息,按照数据库访问频率由大到小的顺序对该多个数据库进行排序,依次将该多个数据库的标识信息与数据库连接串中的数据库标识进行匹配,匹配成功的标识信息对应的数据库即为目标数据库。这样,按照数据库访问频率由大到小的顺序进行匹配,可以减少匹配时间。
305、根据账号和密码,判断用户是否有操作目标数据库的权限。
在一种可能的实施方式中,根据账号和密码,判断用户是否有操作目标数据库的权限的方法可以是:根据账号和密码,确定用户的身份标识;将用户的身份标识与预先存储的多个身份标识进行匹配,其中,预先存储的多个身份标识中每个身份标识对应的用户有操作目标数据库的权限;若用户的身份标识与预先存储的多个身份标识匹配成功,则确定用户有操作目标数据库的权限;若用户的身份标识与预先存储的多个身份标识匹配失败,则确定用户没有操作目标数据库的权限。
具体的,确定目标数据库后,需要对用户进行鉴权,确认该用户有操作该目标数据库进行操作的权限。调度平台中预先存储了与目标数据库对应的多个身份标识,该多个身份标识中每个身份标识对应的用户有权限操作目标数据库,也就是说,只有与该多个身份标识匹配的用户才可以操作该目标数据库。
306、若用户有操作目标数据库的权限,则连接目标数据库。
具体的,确定目标数据库后对用户进行鉴权,若用户有操作目标数据库的权限,再连接目标数据库,这样避免了没有权限的用户任意操作数据库带来的风险,提高了安全性。
307、获取任务信息中的数据库操作指令。
308、基于数据库操作指令对目标数据库进行操作。
309、获取操作结果。
具体的,调度平台连接目标数据库后,获取任务信息中的数据库操作指令,基于该数据库操作指令对该目标数据库进行操作,目标数据库将操作结果返回给调度平台,最后调度平台将操作结果返回给客户端。
310、将数据库连接串、账号和密码存储在缓存区中。
具体的,将数据库连接串、账号和密码存储在缓存区中。若在预设时间内接收用户的登录信息,则从缓存区中读取与该用户的登录信息对应的数据库连接串、账号和密码。根据从缓存区中读取的数据库连接串、账号和密码,连接目标数据库。
调度平台在服务器本地或者数据库中读取数据库连接串、账号和密码之后,将该数据库连接串、账号和密码存储在缓存区中,并设置定时器,定时器开始计数。在该定时器超时之前,若调度平台接收到相同用户的登录信息,则调度平台不需要再次从服务器本地或者数据库中读取数据,而是从缓存区中读取数据库连接串、账号和密码,然后连接目标数据库。这样减少了调度平台频繁地从服务器本地或者数据库中读取数据所占用的资源和消耗的时间,提高了操作目标数据库的效率。
可以看出,通过本申请实施例提供的数据库操作方法,首先获取用户的登录信息以及获取用户提交的操作数据库的任务信息。其次读取用户的登录信息对应的数据库连接串、账号和密码,其中,数据库连接串、账号和密码预先存储在服务器或数据库服务器中。其次根据数据库连接串、账号和密码,连接目标数据库。最后获取任务信息中的数据库操作指令,基于数据库操作指令对目标数据库进行操作,获取操作结果。另外,将数据库连接串、账号和密码存储在缓存区中。这样,将数据库连接串、账号和密码预先存储在服务器或数据库服务器中,用户在操作数据库时,通过用户的登录信息读取对应的数据库连接串、账号和密码,最终操作数据库。一方面,不需要手动输入数据库连接串、账号和密码,降低了泄露的风险,提高了操作数据库的安全性;另一方面,用户不需要在每次操作数据库时重复输入数据库连接串、账号和密码,并且当从缓存区中读取数据库连接串、账号和密码时,减少了频繁地从服务器本地或者数据库服务器中读取数据所占用的资源和消耗的时间,提高了操作数据库的效率。
参见图4,图4为本申请实施例提供的一种数据库操作装置的示意图。其中,如图4所示,本申请实施例提供的一种数据库操作装置可以包括:
获取模块401,用于获取用户的登录信息以及获取所述用户提交的操作数据库的任务信息;
读取模块402,用于读取所述用户的登录信息对应的数据库连接串、账号和密码,其中,所述数据库连接串、所述账号和所述密码预先存储在服务器中;
确定模块403,用于根据所述数据库连接串,确定目标数据库;
判断模块404,用于根据所述账号和所述密码,判断所述用户是否有操作所述目标数据库的权限;
连接模块405,用于若所述用户有操作所述目标数据库的权限,则连接所述目标数据库;
操作模块406,用于获取所述任务信息中的数据库操作指令,基于所述数据库操作指令对所述目标数据库进行操作,获取操作结果。
本申请实施例中数据库操作装置的具体实施可参见上述数据库操作方法的各实施例,在此不做赘述。
参见图5,图5为本申请的实施例涉及的硬件运行环境的电子设备结构示意图。其中,如图5所示,本申请的实施例涉及的硬件运行环境的电子设备可以包括:
处理器501,例如CPU。
存储器502,可选的,存储器可以为高速RAM存储器,也可以是稳定的存储器,例如磁盘存储器。
通信接口503,用于实现处理器501和存储器502之间的连接通信。
本领域技术人员可以理解,图5中示出的电子设备的结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图5所示,存储器502中可以包括操作系统、网络通信模块以及数据库操作程序。操作系统是管理和控制电子设备硬件和软件资源的程序,支持数据库操作程序以及其他软件或程序的运行。网络通信模块用于实现存储器502内部各组件之间的通信,以及与电子设备中其他硬件和软件之间通信。
在图5所示的电子设备中,处理器501用于执行存储器502中存储的数据库操作程序,实现以下步骤:
获取用户的登录信息以及获取所述用户提交的操作数据库的任务信息;
读取所述用户的登录信息对应的数据库连接串、账号和密码,其中,所述数据库连接串、所述账号和所述密码预先存储在服务器中;
根据所述数据库连接串,确定目标数据库;
根据所述账号和所述密码,判断所述用户是否有操作所述目标数据库的权限;
若所述用户有操作所述目标数据库的权限,则连接所述目标数据库;
获取所述任务信息中的数据库操作指令,基于所述数据库操作指令对所述目标数据库进行操作,获取操作结果。
本申请实施例中电子设备的具体实施可参见上述数据库操作方法的各实施例,在此不做赘述。
本申请的另一个实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行以实现以下步骤:
获取用户的登录信息以及获取所述用户提交的操作数据库的任务信息;
读取所述用户的登录信息对应的数据库连接串、账号和密码,其中,所述数据库连接串、所述账号和所述密码预先存储在服务器中;
根据所述数据库连接串,确定目标数据库;
根据所述账号和所述密码,判断所述用户是否有操作所述目标数据库的权限;
若所述用户有操作所述目标数据库的权限,则连接所述目标数据库;
获取所述任务信息中的数据库操作指令,基于所述数据库操作指令对所述目标数据库进行操作,获取操作结果。
本申请实施例中计算机可读存储介质的具体实施可参见上述数据库操作方法的各实施例,在此不做赘述。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (10)

1.一种数据库操作方法,其特征在于,包括:
获取用户的登录信息以及获取所述用户提交的操作数据库的任务信息;
读取所述用户的登录信息对应的数据库连接串、账号和密码,其中,所述数据库连接串、所述账号和所述密码预先存储在服务器中;
根据所述数据库连接串,确定目标数据库;
根据所述账号和所述密码,判断所述用户是否有操作所述目标数据库的权限;
若所述用户有操作所述目标数据库的权限,则连接所述目标数据库;
获取所述任务信息中的数据库操作指令,基于所述数据库操作指令对所述目标数据库进行操作,获取操作结果。
2.根据权利要求1所述的方法,其特征在于,在所述获取用户的登录信息之后,在所述获取所述用户提交的操作数据库的任务信息之前,所述方法还包括:
将所述用户的登录信息与预先存储的登录信息进行匹配;
若所述用户的登录信息与所述预先存储的登录信息匹配成功,则确认所述用户有提交操作数据库的任务信息的权限。
3.根据权利要求2所述的方法,其特征在于,在所述获取所述用户提交的操作数据库的任务信息之后,所述方法还包括:
根据所述用户的登录信息,确定所述用户操作数据库的具体权限;
获取所述任务信息中的数据库操作指令;
将所述用户操作数据库的具体权限与所述数据库操作指令对应的操作进行对比,判断所述用户是否有所述数据库操作指令对应的操作的权限。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述读取所述用户的登录信息对应的数据库连接串、账号和密码,包括:
根据所述用户的登录信息,确定第一存储区域和第二存储区域,其中,所述第一存储区域用于存储多个用户对应的数据库连接串,所述第二存储区域用于存储多个用户对应的账号和密码;
在所述第一存储区域中读取所述用户的登录信息对应的数据库连接串;
在所述第二存储区域中读取所述用户的登录信息对应的账号和密码。
5.根据权利要求1所述的方法,其特征在于,所述根据所述数据库连接串,确定目标数据库,包括:
提取所述数据库连接串中的数据库标识;
按照数据库访问频率由大到小的顺序依次将多个数据库的标识信息与所述数据库连接串中的数据库标识进行匹配,确定匹配成功的标识信息对应的数据库为所述目标数据库。
6.根据权利要求1或5所述的方法,其特征在于,所述根据所述账号和所述密码,判断所述用户是否有操作所述目标数据库的权限,包括:
根据所述账号和所述密码,确定所述用户的身份标识;
将所述用户的身份标识与预先存储的多个身份标识进行匹配,其中,所述预先存储的多个身份标识中每个身份标识对应的用户有操作所述目标数据库的权限;
若所述用户的身份标识与所述预先存储的多个身份标识匹配成功,则确定所述用户有操作所述目标数据库的权限;
若所述用户的身份标识与所述预先存储的多个身份标识匹配失败,则确定所述用户没有操作所述目标数据库的权限。
7.根据权利要求1所述的方法,其特征在于,在所述获取操作结果之后,所述方法还包括:
将所述数据库连接串、所述账号和所述密码存储在缓存区中;
若在预设时间内接收所述用户的登录信息,则从所述缓存区中读取所述数据库连接串、所述账号和所述密码;
根据从所述缓存区中读取的所述数据库连接串、所述账号和所述密码,连接所述目标数据库。
8.一种数据库操作装置,其特征在于,包括:
获取模块,用于获取用户的登录信息以及获取所述用户提交的操作数据库的任务信息;
读取模块,用于读取所述用户的登录信息对应的数据库连接串、账号和密码,其中,所述数据库连接串、所述账号和所述密码预先存储在服务器中;
确定模块,用于根据所述数据库连接串,确定目标数据库;
判断模块,用于根据所述账号和所述密码,判断所述用户是否有操作所述目标数据库的权限;
连接模块,用于若所述用户有操作所述目标数据库的权限,则连接所述目标数据库;
操作模块,用于获取所述任务信息中的数据库操作指令,基于所述数据库操作指令对所述目标数据库进行操作,获取操作结果。
9.一种电子设备,其特征在于,所述电子设备包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行权利要求1至7任一项方法中的步骤的指令。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1至7任意一项所述的方法。
CN202111215790.1A 2021-10-19 2021-10-19 一种数据库操作方法、装置、设备及存储介质 Pending CN113961542A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111215790.1A CN113961542A (zh) 2021-10-19 2021-10-19 一种数据库操作方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111215790.1A CN113961542A (zh) 2021-10-19 2021-10-19 一种数据库操作方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN113961542A true CN113961542A (zh) 2022-01-21

Family

ID=79465277

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111215790.1A Pending CN113961542A (zh) 2021-10-19 2021-10-19 一种数据库操作方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113961542A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116702110A (zh) * 2023-06-15 2023-09-05 深圳千岸科技股份有限公司 供应链大数据共享方法、装置、设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116702110A (zh) * 2023-06-15 2023-09-05 深圳千岸科技股份有限公司 供应链大数据共享方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
Costin et al. A {Large-scale} analysis of the security of embedded firmwares
CN102281539B (zh) 移动终端及其应用程序登录方法
US11165793B2 (en) Method and system for detecting credential stealing attacks
US20190260777A1 (en) Systems and methods for detecting and thwarting attacks on an it environment
CN101815291A (zh) 一种自动登录客户端的方法和系统
CN108259502A (zh) 用于获取接口访问权限的鉴定方法、服务端及存储介质
CN109194689B (zh) 异常行为识别方法、装置、服务器及存储介质
EP3306904A1 (en) Automatic recharging system, method and server
WO2017102390A1 (en) Genome query handling
CN105337739B (zh) 安全登录方法、装置、服务器及终端
CN106650490A (zh) 云账号的登录方法及装置
CN107277068B (zh) 一种身份识别方法及终端
CN113961542A (zh) 一种数据库操作方法、装置、设备及存储介质
CN105760729B (zh) 一种登录方法及电子设备
CN107766743B (zh) 文件访问权限的设置方法及装置、终端设备、存储介质
CN111680303B (zh) 漏洞扫描方法、装置、存储介质及电子设备
CN101271507B (zh) 一种基于usb设备的文件隐藏的方法、系统及装置
EP1574929A1 (en) Technique for evaluating computer system passwords
CN107818102A (zh) 数据提取方法和装置
CN106302317A (zh) 登陆网页的生成方法和装置
CN111092867B (zh) Ssh后门账号检测方法、装置及电子设备和存储介质
EP3182313B1 (en) Content-based authentication
CN112804237A (zh) 一种用户身份认证装置、计算设备及系统
CN112632559A (zh) 漏洞自动验证方法、装置、设备及存储介质
CN107977569B (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