一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据库访问系统及方法与流程

2021-11-05 22:58:00 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,特别涉及一种数据库访问系统及方法、一种客户端、一种代理层服务器、计算设备和计算机可读存储介质。


背景技术:

2.随着计算机技术的快速发展,各种各样的数据库层出不穷,对于不同的数据库可能需要不同的访问安全系数,用户在访问某个数据库时,也可能需要具备相应的访问条件,才能成功访问。
3.现有技术中,当用户想要访问特定数据库时,客户端界面上会显示出一个身份验证框,提示用户输入身份验证信息,如登录账号、密码、手机验证码等,或者对于某些应用程序、客户端来说,可以直接读取已保存或者默认的登录账号、密码等,在对用户的身份验证信息进行确认后,才能访问数据库。然而,上述数据库访问方法,一旦用户的登录账号和密码泄露,会造成数据库的数据泄露,导致损失严重,可见上述数据库访问方法的安全性不强。因此,急需提供一种实现过程简单、提高数据库访问安全系数的方法。


技术实现要素:

4.有鉴于此,本技术实施例提供了一种数据库访问系统及方法、一种客户端、一种代理层服务器、计算设备和计算机可读存储介质,以解决现有技术中存在的技术缺陷。
5.根据本技术实施例的第一方面,提供了一种数据库访问系统,包括:
6.配置有数据库连接器的第一客户端、代理层服务器和至少一个数据库;
7.所述第一客户端,被配置为确定数据库访问请求,所述数据库访问请求中包含第一访问协议和第一握手包,通过所述数据库连接器将所述第一访问协议封装为第二访问协议,根据所述第一握手包生成第二握手包,通过所述第二访问协议将所述第二握手包发送至所述代理层服务器;
8.所述代理层服务器,被配置为在接收到第二握手包的情况下,对所述第二握手包进行解析,根据解析结果进行认证,在认证通过的情况下,根据所述解析结果确定待访问的数据库,发送第三握手包至所述待访问的数据库,其中,所述待访问的数据库为所述至少一个数据库中的任意一个数据库;
9.所述至少一个数据库中的所述待访问的数据库,被配置为接收所述第三握手包,解析所述第三握手包并认证,在认证通过的情况下,通过所述代理层服务器将访问允许信息反馈至所述第一客户端。
10.可选地,所述第一客户端,还被配置为将所述第一握手包解析为第一认证信息和待访问的数据库标识,将第二认证信息与待访问的数据库标识封装为第二握手包。
11.可选地,所述代理层服务器,还被配置为将所述第二握手包解析为第二认证信息与待访问的数据库标识。
12.可选地,所述代理层服务器,还被配置为对所述第二认证信息进行认证,在认证通
过的情况下,根据所述待访问的数据库标识确定待访问的数据库。
13.可选地,所述代理层服务器,还被配置为在认证不通过的情况下,发送拒绝连接信息至所述第一客户端。
14.可选地,所述系统还包括:
15.第二客户端;
16.所述第二客户端,被配置为确定数据库访问请求,所述数据库访问请求中包含第一访问协议和第一握手包,通过第一访问协议向所述代理层服务器发送第一握手包;
17.所述代理层服务器,还被配置为在接收到所述第二客户端发送的第一握手包后,发送拒绝连接信息至所述第二客户端。
18.可选地,所述代理层服务器,还被配置为在接收到第一握手包和/或第二握手包后,将所述第一访问协议和/或第二访问协议与预设访问协议进行校验,在所述第一访问协议和/或第二访问协议与预设访问协议一致的情况下,反馈允许连接信息,在所述第一访问协议和/或第二访问协议与预设访问协议不一致的情况下,反馈拒绝连接信息,其中,所述预设访问协议为第二访问协议。
19.可选地,所述至少一个数据库中的所述待访问的数据库,还被配置为屏蔽与预设地址不同的终端发送的所有信息,其中所述预设地址与所述代理层服务器的地址相同。
20.可选地,所述代理层服务器,还被配置为通过第一访问协议发送第三握手包至所述待访问的数据库。
21.可选地,所述第一客户端,还被配置为接收用户输入的登录信息,所述登录信息包括登录账号和密码,在所述登录账号与密码验证失败的情况下,显示拒绝登录信息。
22.根据本技术实施例的第二方面,提供了一种数据库访问方法,应用于配置有数据库连接器的第一客户端,所述方法包括:
23.确定数据库访问请求,所述数据库访问请求中包含第一访问协议和第一握手包;
24.通过所述数据库连接器将所述第一访问协议封装为第二访问协议;
25.根据所述第一握手包生成第二握手包,通过所述第二访问协议将所述第二握手包发送至代理层服务器。
26.可选地,所述根据所述第一握手包生成第二握手包,包括:
27.将所述第一握手包解析为第一认证信息和待访问的数据库标识;
28.将第二认证信息与待访问的数据库标识封装为第二握手包。
29.可选地,在所述确定数据库访问请求之前,还包括:
30.接收用户输入的登录信息,所述登录信息包括登录账号和密码;
31.在所述登录账号与密码验证失败的情况下,显示拒绝登录信息。
32.根据本技术实施例的第三方面,提供了一种数据库访问方法,应用于代理层服务器,所述方法包括:
33.在接收到第二握手包的情况下,对所述第二握手包进行解析;
34.根据解析结果进行认证,在认证通过的情况下,根据所述解析结果确定待访问的数据库,其中,所述待访问的数据库为至少一个数据库中的任意一个数据库;
35.发送第三握手包至所述待访问的数据库。
36.可选地,所述对所述第二握手包进行解析,包括:
37.将所述第二握手包解析为第二认证信息与待访问的数据库标识。
38.可选地,所述根据解析结果进行认证,在认证通过的情况下,根据所述解析结果确定待访问的数据库,包括:
39.对所述第二认证信息进行认证,在认证通过的情况下,根据所述待访问的数据库标识确定待访问的数据库。
40.可选地,所述方法还包括:
41.在认证不通过的情况下,发送拒绝连接信息至第一客户端。
42.可选地,所述方法还包括:
43.在接收到第二客户端发送的第一握手包后,发送拒绝连接信息至所述第二客户端。
44.可选地,所述方法还包括:
45.在接收到第一握手包和/或第二握手包后,将第一访问协议和/或第二访问协议与预设访问协议进行校验,其中,所述预设访问协议为第二访问协议;
46.在所述第一访问协议和/或第二访问协议与预设访问协议一致的情况下,反馈允许连接信息;
47.在所述第一访问协议和/或第二访问协议与预设访问协议不一致的情况下,反馈拒绝连接信息。
48.可选地,所述发送第三握手包至数据层服务器,包括:
49.通过第一访问协议发送第三握手包至所述待访问的数据库。
50.根据本技术实施例的第四方面,提供了一种客户端,所述客户端配置有数据库连接器,所述客户端包括:
51.接收模块,被配置为确定数据库访问请求,所述数据库访问请求中包含第一访问协议和第一握手包;
52.封装模块,被配置为通过所述数据库连接器将所述第一访问协议封装为第二访问协议;
53.发送模块,被配置为根据所述第一握手包生成第二握手包,通过所述第二访问协议将所述第二握手包发送至代理层服务器。
54.根据本技术实施例的第四方面,提供了一种代理层服务器,包括:
55.解析模块,被配置为在接收到第二握手包的情况下,对所述第二握手包进行解析;
56.认证模块,被配置为根据解析结果进行认证,在认证通过的情况下,根据所述解析结果确定待访问的数据库,其中,所述待访问的数据库为至少一个数据库中的任意一个数据库;
57.发送模块,被配置为发送第三握手包至所述待访问的数据库。
58.根据本技术实施例的第六方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述计算机指令时实现所述数据库访问方法的步骤。
59.根据本技术实施例的第七方面,提供了一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现所述数据库访问方法的步骤。
60.本技术提供的数据库访问系统,包括配置有数据库连接器的第一客户端、代理层
服务器和至少一个数据库;所述第一客户端,被配置为确定数据库访问请求,所述数据库访问请求中包含第一访问协议和第一握手包,通过所述数据库连接器将所述第一访问协议封装为第二访问协议,根据所述第一握手包生成第二握手包,通过所述第二访问协议将所述第二握手包发送至所述代理层服务器;所述代理层服务器,被配置为在接收到第二握手包的情况下,对所述第二握手包进行解析,根据解析结果进行认证,在认证通过的情况下,根据所述解析结果确定待访问的数据库,发送第三握手包至所述待访问的数据库,其中,所述待访问的数据库为所述至少一个数据库中的任意一个数据库;所述至少一个数据库中的所述待访问的数据库,被配置为接收所述第三握手包,解析所述第三握手包并认证,在认证通过的情况下,通过所述代理层服务器将访问允许信息反馈至所述第一客户端。通过在客户端配置数据库连接器并通过代理层服务器访问数据库,不仅实现过程简单,还提高了数据库的访问安全系数,避免了数据的泄露。
附图说明
61.图1是本技术实施例提供的数据库访问系统的结构示意图;
62.图2是本技术另一实施例提供的数据库访问系统的结构示意图;
63.图3是本技术实施例提供的第一客户端侧的数据库访问方法的流程图;
64.图4是本技术实施例提供的代理层服务器侧的数据库访问方法的流程图;
65.图5是本技术实施例提供的一种应用于现实场景中的数据库访问方法的流程图;
66.图6是本技术实施例提供的一种客户端的结构示意图;
67.图7是本技术实施例提供的一种代理层服务器的结构示意图;
68.图8是本技术实施例提供的计算设备的结构框图。
具体实施方式
69.在下面的描述中阐述了很多具体细节以便于充分理解本技术。但是本技术能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本技术内涵的情况下做类似推广,因此本技术不受下面公开的具体实施的限制。
70.在本技术一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术一个或多个实施例。在本技术一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本技术一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
71.应当理解,尽管在本技术一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
72.本技术实施例提供了一种数据库访问系统及方法、一种客户端、一种代理层服务器、计算设备和计算机可读存储介质,在下面的实施例中逐一进行详细说明。
73.图1示出了根据本技术一实施例提供的一种数据库访问系统的结构示意图,所述
系统包括:
74.配置有数据库连接器的第一客户端102、代理层服务器104和至少一个数据数据库106;
75.所述第一客户端102,被配置为确定数据库访问请求,所述数据库访问请求中包含第一访问协议和第一握手包,通过所述数据库连接器将所述第一访问协议封装为第二访问协议,根据所述第一握手包生成第二握手包,通过所述第二访问协议将所述第二握手包发送至所述代理层服务器104;
76.所述代理层服务器104,被配置为在接收到第二握手包的情况下,对所述第二握手包进行解析,根据解析结果进行认证,在认证通过的情况下,根据所述解析结果确定待访问的数据库,发送第三握手包至所述待访问的数据库,其中,所述待访问的数据库为所述至少一个数据库106中的任意一个数据库;
77.所述至少一个数据库106中的所述待访问的数据库,被配置为接收所述第三握手包,解析所述第三握手包并认证,在认证通过的情况下,通过所述代理层服务器104将访问允许信息反馈至所述第一客户端102。
78.具体的,所述数据库连接器是连接客户端与代理层服务器104的一个功能模块;所述第一客户端102是指配置有所述数据库连接器的客户端;所述代理层服务器104是指第一客户端102和数据库之间的中间代理服务器,可以代理第一客户端102去获取数据库的访问允许信息;所述至少一个数据库106可以是开源关系型数据库,如mysql server、rds server;所述数据库访问请求是指根据用户访问数据库的需求而生成请求;所述第一访问协议为第一客户端102根据用户待访问的数据库确定的访问协议,其中未配置数据库连接器的客户端也可以根据用户待访问的数据库确定第一访问协议;所述第一握手包是指第一客户端102与用户待访问的数据库建立连接时发送的信息包,所述第一握手包可以包括第一认证信息和待访问的数据库标识,其中未配置数据库连接器的客户端也可以生成第一握手包;所述第二访问协议是指第一客户端102中的数据库连接器根据第一访问协议生成的访问协议,所述第二访问协议用于第一客户端102通过数据库连接器与代理层服务器104进行通信连接;所述第二握手包为第一客户端102通过数据库连接器与代理层服务器104建立连接时发送的信息包。
79.实际应用中时,当用户通过第一客户端102访问数据库时,第一客户端102会根据用户待访问的数据库确定第一访问协议和第一握手包,并根据用户访问数据库的指示生成数据库访问请求,即确定数据库访问请求。需要说明的是,所述数据库访问请求中包含有第一访问协议和第一握手包。由于第一客户端102配置有数据库连接器,所述数据库连接器可以将第一访问协议进行封装,生成数据库连接器与代理层服务器104之间进行连接的一种特定形式的访问协议,即第二访问协议,同时根据第一握手包生成与代理层服务器104之间进行连接通信的第二握手包。在此基础上,第一客户端102中的数据库连接器通过第二访问协议发送第二握手包至所述代理层服务器104。
80.例如,在一个配置有数据库连接器的电脑上,用户通过该电脑访问某个数据库,该电脑根据待访问的数据库生成访问协议a和握手包b,此时在数据库连接器的作用下,将协议a封装为了协议a,根据握手包b生成了握手包b。在此基础上,该电脑通过协议a将握手包b发送给代理层服务器。
81.本技术中,由于与代理层服务器104进行连接时需要通过第二访问协议,而第一客户端102通过数据库连接器对第一访问协议进行封装,生成了第二访问协议,第一客户端102可以通过第二访问协议去连接代理层服务器104,为实现第一客户端102与代理层服务器104的连接奠定了基础,避免了代理层服务器104对第一客户端102的协议拒绝。
82.具体的,所述解析为对所述第二握手包进行分解、分析的过程;所述解析结果为对第二握手包进行解析完成后的一个结果;所述认证是指代理层服务器104判断所述解析结果是否符合要求。
83.在实际应用中,代理层服务器104在接收到第二握手包后,可以对第二握手包进行解析,对解析结果进行认证,判断所述第二握手包是否为有效包。若所述第二握手包为有效包,代理层服务器104会根据解析结果确定用户想要访问的数据库,即确定待访问的数据库,在生成第三握手包的基础上将所述第三握手包发送给待访问的数据库。
84.进一步的,所述访问允许信息是指数据库在允许访问该数据库时反馈给对应的需要访问该数据库的客户端的信息。在接收到由代理层服务器104发送的第三握手包的情况下,所述至少一个数据库106中的所述待访问的数据库同样需要对第三握手包进行解析,并根据解析结果进行认证,判断所述第三握手包是否为有效握手包。若判断所述第三握手为有效握手包,则认证通过,也就说明所述至少一个数据库106中的所述待访问的数据库可以安全地接受访问,此时至少一个数据库106中的所述待访问的数据库生成访问允许信息,并将所述访问允许信息通过所述代理层服务器104反馈给第一客户端102。
85.例如,小明(第一客户端)在作业做完后想要玩电脑,且电脑设置有密码,而小明不知道密码;此时小明问爸爸(代理层服务器),爸爸也不知道,只有妈妈(数据库)知道密码,但是妈妈不在家。爸爸给妈妈打电话咨询密码;但是妈妈需要知道小明是否完成了作业(认证),爸爸告知妈妈——小明完成了作业(第三握手包),确认之后,妈妈告知了爸爸密码(访问允许信息),再由爸爸告诉小明。
86.本技术中,通过对第三握手包的认证,并在认证通过的情况下,所述至少一个数据库106中的所述待访问的数据库才发送访问允许信息,进一步保障了数据库的访问安全。
87.本实施例一个可选的实施方式中,所述第一客户端102,还被配置为将所述第一握手包解析为第一认证信息和待访问的数据库标识,将第二认证信息与待访问的数据库标识封装为第二握手包。
88.具体的,所述第一认证信息为第一客户端102根据用户访问数据库的需求生成的认证信息;所述待访问的数据库标识为用户想要访问的数据库的标志,可以通过所述待访问的数据库标识确定用户想要访问的数据库具体为哪一个,例如“小明家的地址”和“小明家”,可以通过“小明家的地址”找到“小明家”;所述第二认证信息为第一客户端102通过内部数据库连接器生成的认证信息。
89.实际应用中,第一客户端102在确定了第一握手包之后,需要将第一握手包进行解析,将其分为第一认证信息和待访问的数据库标识,这样有利于内部数据库连接器根据待访问的数据库标识和第二认证信息生成发送给代理层服务器104的第二握手包。
90.例如,第一客户端102将第一握手包ab解析为认证信息a和待访问的数据库标识b,在内部数据库连接器生成认证信息a的基础上,将认证信息a和待访问的数据库标识b进行结合并生成第二握手包ab。
91.本技术中,在对第一握手包进行解析的基础上生成第二握手包,再将第二握手包发送给代理层服务器104,相对于直接在第一握手包的基础上加入第二认证信息并封装为第二握手包发送给代理层服务器104,减少了传输耗能。
92.本实施例一个可选的实施方式中,所述代理层服务器104,还被配置为将所述第二握手包解析为第二认证信息与待访问的数据库标识。
93.在实际应用中,代理层服务器104在接收到第一客户端102发送的第二握手包之后,将对第二握手包进行解析,其解析结果为将第二握手包拆分为第二认证信息与待访问的数据库标识。例如,代理层服务器104接收到第一客户端102发送的第二握手包ab,开始对第二握手包ab进行解析,将其分为认证信息a和待访问的数据库标识b。
94.在本技术中,代理层服务器104将第二握手包解析为第二认证信息与待访问的数据库标识,为代理层服务器104根据待访问的数据库标识确定待访问的数据库做好了前提准备,并且避免了代理层服务器104直接根据第二握手包确定待访问的数据库时的复杂程序。
95.进一步地,所述代理层服务器104,还被配置为对所述第二认证信息进行认证,在认证通过的情况下,根据所述待访问的数据库标识确定待访问的数据库。
96.具体的,在代理层服务器104将所述第二握手包解析为第二认证信息与待访问的数据库标识的基础上,代理层服务器104可以直接根据第二认证信息判断所述第二认证信息是否为有效信息,若判断结果为是,则认证通过,执行下一步操作,即根据所述待访问的数据库标识确定待访问的数据库;若判断结果为否,则认证不通过,无需对所述待访问的数据库标识进行解析。如此可以在认证不通过的情况下,减少代理层服务器104的数据处理量,避免了运算资源的浪费。
97.例如,对于认证信息a和待访问的数据库标识b来说,代理层服务器对认证信息a进行认证,若认证信息a为有效信息,则根据待访问的数据库标识b确定待访问的数据库标识b对应的数据库;若认证信息a为无效信息,则忽略对待访问的数据库标识b响应或处理。
98.进一步地,所述代理层服务器104,还被配置为在认证不通过的情况下,发送拒绝连接信息至所述第一客户端102。
99.具体的,所述拒绝连接信息是指代理层服务器104在认证不通过的情况下拒绝与第一客户端102进行连接、通信而发出的信息。
100.实际应用中,在代理层服务器104对第二握手包进行认证的基础上,若判断结果为第二认证信息为无效信息,即认证不通过,表征着代理层服务器无法与第一客户端102建立有效的连接,也可以理解为通信连接失败,此时代理层服务器104会给第一客户端102反馈拒绝连接的信息。这样将拒绝连接信息反馈给第一客户端102,可以起到提醒第一客户端102无法连接的作用,避免第一客户端102在无法连接到代理层服务器104时重复发送无效信息,从而一定程度上可以使代理层服务器104避免重复处理无效信息的操作。
101.例如,代理层服务器104对认证信息a进行认证并确认认证信息a为无效信息,此时代理层服务器104会生成一个类似于“无法连接”的信息并发送给第一客户端102。
102.本实施例一个可选的实施方式中,参见图2,图2示出了本技术另一实施例提供的数据库访问系统的结构示意图。在图1所示的系统的基础上,所述系统还包括:第二客户端202;
103.所述第二客户端202,被配置为确定数据库访问请求,所述数据库访问请求中包含第一访问协议和第一握手包,通过第一访问协议向所述代理层服务器104发送连接请求;
104.所述代理层服务器104,还被配置为在接收到所述第二客户端202发送的第一握手包后,发送拒绝连接信息至所述第二客户端202。
105.具体的,所述第二客户端104是指没有安装数据库连接器的客户端,即除第一客户端102以外的其他客户端。
106.实际应用中,用户可能会通过第二客户端202访问数据库,用户在第二客户端202通过登录账号和密码登录成功后,第二客户端202会根据用户待访问的数据库确定第一访问协议和第一握手包,并根据用户访问数据库的指示生成数据库访问请求,即确定数据库访问请求。由于第二客户端202没有配置数据库连接器,无法将第一访问协议封装为第二访问协议,因此,第二客户端202只能通过第一访问协议将第一握手包发送给代理层服务器104。
107.例如,在一个未配置数据库连接器的电脑上,用户通过该电脑访问某个数据库,该电脑根据待访问的数据库生成访问协议a和握手包b,此时,该电脑通过协议a将握手包b发送给代理层服务器。
108.进一步地,由于第二客户端202是通过第一访问协议将第一握手包发送给代理层服务器104的,并非通过代理层服务器104指定的第二访问协议发送第一握手包,因此,代理层服务器104即使接收到了第一握手包,也会拒绝与第二客户端202进行连接,同时生成拒绝连接信息并发送至所述第二客户端202。这样,即使用户知道登录账号和密码,由于未在设定的环境下(第一客户端102)访问数据库,也无法访问待访问的数据库,进一步加强了数据库的访问安全。
109.本实施例一个可选的实施方式中,所述代理层服务器104,还被配置为在接收到第一握手包和/或第二握手包后,将所述第一访问协议和/或第二访问协议与预设访问协议进行校验,在所述第一访问协议和/或第二访问协议与预设访问协议一致的情况下,反馈允许连接信息,在所述第一访问协议和/或第二访问协议与预设访问协议不一致的情况下,反馈拒绝连接信息,其中,所述预设访问协议为第二访问协议。
110.具体的,所述预设访问协议为代理层服务器104预先设置的允许建立连接的访问协议。在设置有预设访问协议的基础上,所述代理层服务器104在接收到由第一客户端102发送的第二握手包和/或第二客户端202发送的第一握手包后,首先会对发送第二握手包的第二访问协议和/或发送第一握手包的第一访问协议与预设访问协议进行对比。预设访问协议被预设为第二访问协议,因此,第二访问协议与预设访问协议一致,则反馈给发送第二握手包的第一客户端102允许连接信息;第一访问协议与预设访问协议不一致,则反馈给发送第一握手包的第二客户端202拒绝连接信息。这样通过设置预设访问协议,通过协议对比就可以直接拒绝通过非预设访问协议与代理层服务器进行连接的客户端,在加强访问安全的同时,还简化了实现访问安全的过程。
111.例如,在代理层服务器104中设置一个预设访问协议,所述预设访问协议为访问协议a。接收到握手包b时,对传输握手包b的访问协议进行校验,若该访问协议为访问协议a,则代理层服务器104发送允许连接信息给发送握手包b的客户端;若该访问协议不是访问协议a,则代理层服务器104发送拒绝连接信息给发送握手包b的客户端。
112.本实施例一个可选的实施方式中,所述至少一个数据库106中的所述待访问的数据库,还被配置为屏蔽与预设地址不同的终端发送的所有信息,其中所述预设地址与所述代理层服务器的地址相同。
113.具体的,所述预设地址为至少一个数据库106中的所述待访问的数据库预先设置的具有网络权限的地址,可以是ip地址。所述终端可以是第一客户端102,也可以是第二客户端202。
114.在实际应用中,为了提高数据库的访问安全,会在数据库中设置一些可信赖的ip地址,即预设地址。对于非信赖的ip地址对应的终端发送给数据库信息时,该数据库会直接忽视或者不响应这条信息,即屏蔽与预设地址不同的终端发送的所有信息。
115.需要说明的是,在本实施例中,将预设地址设置为代理层服务器104的地址,说明代理层服务器104的地址为可信赖地址,即由代理层服务器104发送的信息为可信赖信息,因此数据库会响应由代理层服务器104发送的信息。而第一客户端102、第二客户端202的地址为非信赖的地址,由第一客户端102、第二客户端202直接发送给数据库的信息,数据库不响应。这样可以避免非信赖的终端访问数据库,再一次加强了数据库的访问安全。
116.例如,设置数据库的预设地址为1,终端a的地址为1,终端b的地址为2。当终端a给数据库发送信息a时,数据库会响应信息a;当终端b给数据库发送信息b时,数据库直接忽略信息b。
117.本实施例一个可选的实施方式中,所述代理层服务器104,还被配置为通过第一访问协议发送第三握手包至所述待访问的数据库。
118.具体的,第三握手包是指代理层服务器104与待访问的数据库建立连接时发送的信息包,所述第三握手包可以包括第三认证信息。
119.实际应用中,由于与待访问的数据库建立连接时需通过第一访问协议,因此,所述代理层服务器104在将所述第三握手包发送至待访问的数据库时,还需要通过第一访问协议进行发送。这样通过第一访问协议与待访问的数据库进行连接,避免了第三握手包的无效发送,同时也提高了第三握手包的发送成功率。例如,a只能通过协议c向b来发送d,若a通过协议e来发送d到b,由于选择协议不正确,b无法收到a发送的d,从而造成发送失败。
120.本实施例一个可选的实施方式中,用户通过第一客户端102访问数据库之前,即在确定数据库访问请求之前,为了确保数据库访问安全的问题,可以设置第一重保障:对用户进行身份验证,即验证登录信息。可选地,所述第一客户端102,还被配置为接收用户输入的登录信息,所述登录信息包括登录账号和密码,在所述登录账号与密码验证失败的情况下,显示拒绝登录信息。
121.具体的,所述登录信息为验证用户身份是否具有访问数据库权限的信息;所述登录账号可以为用户进行登录时的用户名、手机号等;所述密码为用户进行登录时验证身份的一种“钥匙”,且每个登录账号有且只有一个有效密码。
122.在实际应用中,当用户通过第一客户端102进行数据库访问时,为了保证访问安全,需要进行身份验证。第一客户端102为用户提供了登录界面,登录界面中有用于填写登录账号和密码的区域。当用户填入登录账号和密码,并通过点击等操作触发“登录”按键后,第一客户端102将收到用户的登录账号和密码。在该登录账号未注册的情况下,显示拒绝登录信息,如显示“该用户未注册”的信息;在登录账号与密码验证失败的情况下,信息拒绝登
录信息,如显示“密码或登录账号不正确”的信息。在登录账号与密码验证成功的情况下,进入对应的页面。可选地,对用户进行身份验证时,还可以通过人脸识别进行登录;可以通过登录账号与手机/邮箱验证码验证进行登录。
123.示例的,表1为已注册的登录账号和对应的密码。根据表1,假设用户输入“账号4”和“222222”并点击登录按键,会显示登录失败和“该账户未注册”的信息;假设用户输入“账号1”和“222111”并点击登录按键,会显示登录失败和“密码或登录账号不正确”的信息;假设用户输入“账号3”和“333333”并点击登录按键,可进入对应的页面,即登录成功。
124.表1登录账号和密码的对应关系
125.登录账号密码账号1111111账号2222222账号3333333
126.本技术提供的数据库访问系统,包括配置有数据库连接器的第一客户端、代理层服务器和至少一个数据库;所述第一客户端,被配置为确定数据库访问请求,所述数据库访问请求中包含第一访问协议和第一握手包,通过所述数据库连接器将所述第一访问协议封装为第二访问协议,根据所述第一握手包生成第二握手包,通过所述第二访问协议将所述第二握手包发送至所述代理层服务器;所述代理层服务器,被配置为在接收到第二握手包的情况下,对所述第二握手包进行解析,根据解析结果进行认证,在认证通过的情况下,根据所述解析结果确定待访问的数据库,发送第三握手包至所述待访问的数据库,其中,所述待访问的数据库为所述至少一个数据库中的任意一个数据库;所述至少一个数据库中的所述待访问的数据库,被配置为接收所述第三握手包,解析所述第三握手包并认证,在认证通过的情况下,通过所述代理层服务器将访问允许信息反馈至所述第一客户端。通过在客户端配置数据库连接器并通过代理层服务器访问数据库,不仅实现过程简单,还提高了数据库的访问安全系数,避免了数据的泄露。
127.图3示出了根据本技术一实施例提供的第一客户端侧的一种数据库访问方法的流程图,应用于配置有数据库连接器的第一客户端,如图3所示,具体包括以下步骤:
128.步骤302:确定数据库访问请求,所述数据库访问请求中包含第一访问协议和第一握手包。
129.具体实施时,当用户通过第一客户端访问数据库时,第一客户端会根据用户待访问的数据库确定第一访问协议和第一握手包,并根据用户访问数据库的指示生成数据库访问请求,即确定数据库访问请求。
130.本实施例一个可选的实施方式中,在所述接收数据库访问请求之前,还可以对用户的身份进行验证,具体实现过程可以为:
131.接收用户输入的登录信息,所述登录信息包括登录账号和密码;
132.在所述登录账号与密码验证失败的情况下,显示拒绝登录信息。
133.实际应用中,当用户通过第一客户端进行数据库访问时,为了保证访问安全,需要进行身份验证。第一客户端可以为用户提供登录界面,登录界面中有用于填写登录账号和密码的区域。当用户填入登录账号和密码,并通过点击等操作触发“登录”按键后,第一客户端将收到用户输入的登录账号和密码。当用户输入的登录账号和密码验证失败时,用户无
法登录,从而无法访问数据库。
134.步骤304:通过所述数据库连接器将所述第一访问协议封装为第二访问协议。
135.由于第一客户端配置有数据库连接器,所述数据库连接器可以将第一访问协议进行封装,生成数据库连接器与代理层服务器之间进行连接的一种特定形式的访问协议,即第二访问协议。
136.步骤306:根据所述第一握手包生成第二握手包,通过所述第二访问协议将所述第二握手包发送至代理层服务器。
137.在数据库连接器将第一访问协议封装为第二访问协议的基础上,根据第一握手包生成与代理层服务器之间进行连接通信的第二握手包,第一客户端中的数据库连接器通过第二访问协议发送第二握手包至所述代理层服务器。
138.进一步地,根据所述第一握手包生成第二握手包的具体实现过程可以为:
139.将所述第一握手包解析为第一认证信息和待访问的数据库标识;
140.将第二认证信息与待访问的数据库标识封装为第二握手包。
141.实际应用中,第一客户端在确定了第一握手包之后,需要将第一握手包进行解析,将其分为第一认证信息和待访问的数据库标识,这样有利于内部数据库连接器根据待访问的数据库标识和第二认证信息生成发送给代理层服务器的第二握手包。
142.本技术实施例提供的数据库访问方法,应用于配置有数据库连接器的第一客户端,确定数据库访问请求,所述数据库访问请求中包含第一访问协议和第一握手包;通过所述数据库连接器将所述第一访问协议封装为第二访问协议;根据所述第一握手包生成第二握手包,通过所述第二访问协议将所述第二握手包发送至代理层服务器。通过在客户端配置数据库连接器并通过代理层服务器访问数据库,不仅实现过程简单,还提高了数据库的访问安全系数,避免了数据的泄露。
143.图4示出了根据本技术一实施例提供的代理层服务器侧的一种数据库访问方法的流程图,应用于代理层服务器,如图4所示,具体包括以下步骤:
144.步骤402:在接收到第二握手包的情况下,对所述第二握手包进行解析。
145.实际应用中,在接收到第二握手包的基础上,代理层服务器将对第二握手包进行解析,具体实现过程可以为:将所述第二握手包解析为第二认证信息与待访问的数据库标识。
146.步骤404:根据解析结果进行认证,在认证通过的情况下,根据所述解析结果确定待访问的数据库,其中,所述待访问的数据库为至少一个数据库中的任意一个数据库。
147.具体实施时,代理层服务器对第二握手包的解析结果进行认证,判断所述第二握手包是否为有效包。若所述第二握手包为有效包,代理层服务器会根据解析结果确定用户想要访问的数据库,即确定待访问的数据库。
148.本实施例一个可选的实施方式中,所述根据解析结果进行认证,在认证通过的情况下,根据所述解析结果确定待访问的数据库,具体实现过程可以为:
149.对所述第二认证信息进行认证,在认证通过的情况下,根据所述待访问的数据库标识确定待访问的数据库。
150.代理层服务器在接收到第一客户端发送的第二握手包之后,将对第二握手包进行解析,其解析结果为将第二握手包拆分为第二认证信息与待访问的数据库标识。进一步地,
在认证不通过的情况下,发送拒绝连接信息至第一客户端。即若判断结果为第二认证信息为无效信息,即认证不通过,表征着代理层服务器无法与第一客户端建立有效的连接,也可以理解通信连接失败,此时代理层服务器将反馈给第一客户端拒绝连接的信息。
151.实际应用中,用户不仅会通过配置有数据库连接器的第一客户端与代理层服务器进行连接,还会通过未配置数据库连接器的第二客户端发送第一握手包至代理层服务器,代理层服务器在接收到第二客户端发送的第一握手包后,发送拒绝连接信息至所述第二客户端。由于第二客户端是通过第一访问协议将第一握手包发送给代理层服务器的,并非通过代理层服务器指定的第二访问协议发送第一握手包,因此,代理层服务器即使接收到了第一握手包,也会拒绝与第二客户端进行连接,同时生成拒绝连接信息并发送至所述第二客户端。
152.本实施例一个可选的实施方式中,代理层服务器在接收到第一握手包和/或第二握手包后,将第一访问协议和/或第二访问协议与预设访问协议进行校验,其中,所述预设访问协议为第二访问协议;在所述第一访问协议和/或第二访问协议与预设访问协议一致的情况下,反馈允许连接信息;在所述第一访问协议和/或第二访问协议与预设访问协议不一致的情况下,反馈拒绝连接信息。
153.所述代理层服务器在接收到由第一客户端发送的第二握手包和/或第二客户端发送的第一握手包后,首先会对发送第二握手包的第二访问协议和/或发送第一握手包的第一访问协议与预设访问协议进行对比。由于预设访问协议被预设为第二访问协议,因此,第二访问协议与预设访问协议一致,则反馈给发送第二握手包的第一客户端允许连接信息;第一访问协议与预设访问协议不一致,则反馈给发送第一握手包的第二客户端拒绝连接信息。
154.步骤406:发送第三握手包至所述待访问的数据库。
155.在生成第三握手包的基础上,代理层服务器将所述第三握手包发送给待访问的数据库。具体的,代理层服务器可以通过第一访问协议发送第三握手包至所述待访问的数据库。
156.本技术实施例提供的数据库访问方法,应用于代理层服务器,在接收到第二握手包的情况下,对所述第二握手包进行解析;根据解析结果进行认证,在认证通过的情况下,根据所述解析结果确定待访问的数据库,其中,所述待访问的数据库为至少一个数据库中的任意一个数据库;发送第三握手包至所述待访问的数据库。通过在客户端配置数据库连接器并通过代理层服务器访问数据库,不仅实现过程简单,还提高了数据库的访问安全系数,避免了数据的泄露。
157.图5示出了本技术一实施例提供的一种应用于现实场景中的数据库访问方法,如图5所示,具体包括以下步骤:
158.步骤502:客户端确定数据库访问请求。
159.客户端根据用户待访问的数据库确定第一访问协议和第一握手包,并根据用户访问数据库的指示以及生成数据库访问请求,即确定数据库访问请求。
160.步骤504:客户端判断是否装有数据库连接器。
161.当客户端配置有数据库连接器时,执行步骤510;当客户端未配置数据库连接器时,执行步骤506。
162.步骤506:若否,客户端通过第一访问协议发送第一握手包。
163.未配置数据库连接器的客户端可以通过第一访问协议向代理层服务器发送第一握手包。
164.步骤508:客户端接收拒绝连接信息。
165.由于未配置数据库连接器的客户端传输第一握手包的协议为第一访问协议,并非代理层服务器指定第二访问协议,被拒绝,即未配置数据库连接器的客户端接收拒绝连接信息。
166.步骤510:若是,客户端将第一访问协议封装为第二访问协议。
167.配置有数据库连接器的客户端通过数据库连接器将第一访问协议封装为第二访问协议。
168.步骤512:客户端生成第二握手包。
169.配置有数据库连接器的客户端根据第一握手包生成与代理层服务器之间进行连接通信的第二握手包。
170.步骤514:客户端通过第二协议发送第二握手包。
171.客户端中的数据库连接器通过第二访问协议发送第二握手包至所述代理层服务器。
172.步骤516:客户端接收允许连接信息。
173.由于配置有数据库连接器的客户端传输第二握手包的协议为第二访问协议,为代理层服务器指定的第二访问协议,被接收,即配置有数据库连接器的客户端接收允许连接信息。
174.步骤518:代理层服务器解析第二握手包。
175.在接收到第二握手包的基础上,代理层服务器将对第二握手包进行解析。
176.步骤520:代理层服务器进行认证。
177.代理层服务器对第二握手包的解析结果进行认证,判断所述第二握手包是否为有效包。
178.步骤522:认证通过,代理层服务器发送第三握手包。
179.在第二握手包为有效包的情况下,代理层服务器会根据解析结果确定待访问的数据库,并通过第一访问协议将第三握手包发送至待访问的数据库。
180.步骤524:待访问的数据库解析第三握手包并认证。
181.在接收到第三握手包的情况下,待访问的数据库同样需要对第三握手包进行解析,并根据解析结果进行认证,判断所述第三握手包是否为有效握手包。
182.步骤526:认证通过,待访问的数据库反馈访问允许信息。
183.在第三握手包为有效握手包的情况下,待访问的数据库发送访问允许信息至代理层服务器。
184.步骤528:代理层服务器转发访问允许信息。
185.代理层服务器将待访问的数据库发送的访问允许信息发送给配置有数据库连接器的客户端。
186.步骤530:客户端发送第一握手包/第二握手包。
187.当客户端未配置数据库连接器时向待访问的数据库发送第一握手包;当客户端配
置有数据库连接器时向待访问的数据库发送第二握手包。
188.步骤532:待访问的数据库屏蔽步骤530中的第一握手包/第二握手包。
189.不论是第一握手包还是第二握手包,待访问的数据库直接忽略。
190.本技术实施例提供的数据库访问方法,客户端确定数据库访问请求;客户端判断是否装有数据库连接器;若否,客户端通过第一访问协议发送第一握手包;客户端接收拒绝连接信息;若是,客户端将第一访问协议封装为第二访问协议;客户端生成第二握手包;客户端通过第二协议发送第二握手包;客户端接收允许连接信息;代理层服务器解析第二握手包;代理层服务器进行认证;认证通过,代理层服务器发送第三握手包;待访问的数据库解析第三握手包并认证;认证通过,待访问的数据库反馈访问允许信息;代理层服务器转发访问允许信息;客户端发送第一握手包/第二握手包;待访问的数据库屏蔽上述步骤中的第一握手包/第二握手包。通过在客户端配置数据库连接器并通过代理层服务器访问数据库,不仅实现过程简单,还提高了数据库的访问安全系数,避免了数据的泄露。
191.与上述方法实施例相对应,本技术还提供了一种客户端实施例,图6示出了本技术一个实施例提供的一种客户端的结构示意图。如图6所示,所述客户端配置有数据库连接器,所述客户端包括:
192.接收模块602,被配置为确定数据库访问请求,所述数据库访问请求中包含第一访问协议和第一握手包;
193.封装模块604,被配置为通过所述数据库连接器将所述第一访问协议封装为第二访问协议;
194.发送模块606,被配置为根据所述第一握手包生成第二握手包,通过所述第二访问协议将所述第二握手包发送至代理层服务器。
195.可选地,所述发送模块606,进一步被配置为:
196.将所述第一握手包解析为第一认证信息和待访问的数据库标识;
197.将第二认证信息与待访问的数据库标识封装为第二握手包。
198.可选地,所述客户端还包括:
199.登录模块,被配置为接收用户输入的登录信息,所述登录信息包括登录账号和密码,在所述登录账号与密码验证失败的情况下,显示拒绝登录信息。
200.本技术实施例提供的客户端,配置有数据库连接器,接收模块,被配置为确定数据库访问请求,所述数据库访问请求中包含第一访问协议和第一握手包;封装模块,被配置为通过所述数据库连接器将所述第一访问协议封装为第二访问协议;发送模块,被配置为根据所述第一握手包生成第二握手包,通过所述第二访问协议将所述第二握手包发送至代理层服务器。通过所述第二访问协议将所述第二握手包发送至代理层服务器。通过在客户端配置数据库连接器并通过代理层服务器访问数据库,不仅实现过程简单,还提高了数据库的访问安全系数,避免了数据的泄露。
201.上述为本实施例的一种客户端的示意性方案。需要说明的是,所述客户端的技术方案与上述的第一客户端侧的数据库访问方法的技术方案属于同一构思,客户端的技术方案未详细描述的细节内容,均可以参见上述第一客户端侧的数据库访问方法的技术方案的描述。
202.与上述方法实施例相对应,本技术还提供了一种代理层服务器实施例,图7示出了
本技术一个实施例的一种代理层层服务器的结构示意图。如图7所示,所述代理层服务器包括:
203.解析模块702,被配置为在接收到第二握手包的情况下,对所述第二握手包进行解析;
204.认证模块704,被配置为根据解析结果进行认证,在认证通过的情况下,根据所述解析结果确定待访问的数据库,其中,所述待访问的数据库为至少一个数据库中的任意一个数据库;
205.发送模块706,被配置为发送第三握手包至所述待访问的数据库。
206.可选地,所述解析模块702,进一步被配置为:
207.将所述第二握手包解析为第二认证信息与待访问的数据库标识。
208.可选地,所述认证模块704,进一步被配置为:
209.对所述第二认证信息进行认证,在认证通过的情况下,根据所述待访问的数据库标识确定待访问的数据库。
210.可选地,所述发送模块706,进一步被配置为:
211.在认证不通过的情况下,发送拒绝连接信息至第一客户端。
212.可选地,所述发送模块706,进一步被配置为:
213.在接收到第二客户端发送的第一握手包后,发送拒绝连接信息至所述第二客户端。
214.可选地,所述代理层服务器还包括:
215.校验模块,被配置为在接收到第一握手包和/或第二握手包后,将第一访问协议和/或第二访问协议与预设访问协议进行校验,其中,所述预设访问协议为第二访问协议;
216.所述发送模块706,进一步被配置为:
217.在所述第一访问协议和/或第二访问协议与预设访问协议一致的情况下,反馈允许连接信息;
218.在所述第一访问协议和/或第二访问协议与预设访问协议不一致的情况下,反馈拒绝连接信息。
219.可选地,所述发送模块706,进一步被配置为:
220.通过第一访问协议发送第三握手包至所述待访问的数据库。
221.本技术实施例提供的代理层服务器,解析模块,被配置为在接收到第二握手包的情况下,对所述第二握手包进行解析;认证模块,被配置为根据解析结果进行认证,在认证通过的情况下,根据所述解析结果确定待访问的数据库,其中,所述待访问的数据库为至少一个数据库中的任意一个数据库;发送模块,被配置为发送第三握手包至所述待访问的数据库。通过在客户端配置数据库连接器并通过代理层服务器访问数据库,不仅实现过程简单,还提高了数据库的访问安全系数,避免了数据的泄露。
222.上述为本实施例的一种代理层服务器的示意性方案。需要说明的是,所述代理层服务器的技术方案与上述的代理层服务器侧的数据库访问方法的技术方案属于同一构思,代理层服务器的技术方案未详细描述的细节内容,均可以参见上述代理层服务器侧的数据库访问方法的技术方案的描述。
223.本技术一实施例中还提供一种计算设备,包括存储器、处理器及存储在存储器上
并可在处理器上运行的计算机指令,所述处理器执行所述计算机指令时实现所述的数据库访问方法的步骤。
224.图8示出了根据本技术一实施例提供的一种计算设备800的结构框图。该计算设备800的部件包括但不限于存储器810和处理器820。处理器820与存储器810通过总线830相连接,数据库850用于保存数据。
225.计算设备800还包括接入设备840,接入设备840使得计算设备800能够经由一个或多个网络860通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备840可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi

max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。
226.在本技术的一个实施例中,计算设备800的上述部件以及图8中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图8所示的计算设备结构框图仅仅是出于示例的目的,而不是对本技术范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
227.计算设备800可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备800还可以是移动式或静止式的服务器。
228.其中,处理器820执行所述计算机指令时实现所述的数据库访问方法的步骤。
229.上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的数据库访问方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述数据库访问方法的技术方案的描述。
230.本技术一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述数据库访问方法的步骤。
231.上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据库访问方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据库访问方法的技术方案的描述。
232.上述对本技术特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
233.所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内
容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
234.需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本技术所必须的。
235.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
236.以上公开的本技术优选实施例只是用于帮助阐述本技术。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本技术的内容,可作很多的修改和变化。本技术选取并具体描述这些实施例,是为了更好地解释本技术的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本技术。本技术仅受权利要求书及其全部范围和等效物的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献