一种数据处理方法、装置、终端及存储介质与流程

文档序号:18868033发布日期:2019-10-14 18:49阅读:144来源:国知局
本发明实施例涉及计算机
技术领域
:,尤其涉及一种数据处理方法、装置、终端及存储介质。
背景技术
::随着网络技术的日益发展,各个网站的访问量和数据量与日俱增,系统由原有的基于数据库的存储方式发展成多种的数据存储方式,数据库架构更为复杂。而且,各大公司采用的技术体系的差异性使得数据库中数据的处理方式存在差异,比如,若基于java语言进行业务开发时,需要采用java数据库链接的方式处理数据;若c++语言和php语言进行业务开发时,需要采用开放数据库互联的方式处理数据,这些均提高了开发人员处理数据的实现难度。在此基础上,数据库中间件技术应运而生,它作为数据库的中间代理插件,实现了应用程序与本地或是异地的同构或异构数据库的数据交换。简单来说,数据库中间件可将客户端发出的数据处理请求,转发至与该数据库中间件链接的目标数据库中,以在目标数据库中完成数据处理工作,比如数据查询工作、数据存储工作等;数据库中间件接收目标数据库返回的与数据处理请求对应的响应结果,并将该响应结果返回给客户端。但是,现有的基于数据库中间件的数据处理技术在数据安全认证方面的校验和实现还存在诸多不足,使得用户在处理数据的过程中存在安全隐患。技术实现要素:本发明实施例提供了一种数据处理方法、装置、终端及存储介质,以提高数据库的链接管理的安全性。第一方面,本发明实施例提供了一种数据处理方法,可以包括:根据客户端发送的数据处理请求,确定待链接的目标数据库的链接请求;对链接请求进行权限验证,若成功,将客户端链接至与链接请求对应的目标数据库上;接收目标数据库返回的与数据处理请求对应的响应结果,并将响应结果返回至客户端。可选的,对链接请求进行权限验证,可以包括:根据客户端发送的链接授权请求,生成与链接授权请求对应的授权信息,并将授权信息返回至客户端;接收客户端返回的认证信息,若认证信息和授权信息一致,则链接请求权限验证成功。可选的,上述数据处理方法,还可以包括:建立数据库中间件的链接和各个数据库的链接之间的映射关系,其中,数据库包括目标数据库。可选的,在建立数据库中间件的链接和各个数据库的链接之间的映射关系之后,该数据处理方法还可以包括:初始化数据库中间件的登录信息,以使每个数据库对应有唯一的数据库中间件的登录信息。可选的,将客户端链接至与链接请求对应的目标数据库上,包括:根据映射关系,得到与链接请求对应的目标数据库的链接;根据客户端发送的用于登录数据库中间件的登录信息,以及,目标数据库的链接,将客户端链接至目标数据库上。可选的,得到与链接请求对应的目标数据库的链接,可以包括:从目标数据库的链接池中得到目标数据库的链接。可选的,接收目标数据库返回的与数据处理请求对应的响应结果,可以包括:以与目标数据库对应的目标验证方式,对数据处理请求进行验证,若验证合法,接收目标数据库返回的与数据处理请求对应的响应结果。第二方面,本发明实施例还提供了一种数据处理装置,该装置可以包括:链接请求确定模块,用于根据客户端发送的数据处理请求,确定待链接的目标数据库的链接请求;数据库链接模块,用于对链接请求进行权限验证,若成功,将客户端链接至与链接请求对应的目标数据库上;响应结果返回模块,用于接收目标数据库返回的与数据处理请求对应的响应结果,并将响应结果返回至客户端。第三方面,本发明实施例还提供了一种终端,该终端可以包括:一个或多个处理器;存储器,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现本发明任意实施例所提供的数据处理方法。第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本发明任意实施例所提供的数据处理方法。本发明实施例的技术方案,根据客户端发送的数据处理请求可以确定与该数据处理请求对应的待链接的目标数据库,以及,该目标数据库的链接请求;对链接请求进行权限验证,若验证成功,说明客户端有权限链接至该目标数据库,则将客户端链接至与该链接请求对应的目标数据库上;根据数据处理请求在目标数据库中完成相应的数据处理操作,进而,接收目标数据库返回的与数据处理请求对应的响应结果,并将响应结果返回至客户端。上述技术方案可以对目标数据库的链接请求进行安全权限验证,当客户端发送的链接请求具有链接权限时,该客户端才能链接至目标数据库,由此提高了目标数据库的链接的安全性,并且,降低了目标数据库中的数据被串改的风险。附图说明图1是本发明实施例一中的一种数据处理方法的流程图;图2是本发明实施例二中的一种数据处理方法的流程图;图3是本发明实施例二中的一种数据处理方法中初始化的第一流程图;图4是本发明实施例二中的一种数据处理方法中初始化的第二流程图;图5是本发明实施例二中的一种数据处理方法中数据处理的流程图;图6是本发明实施例三中的一种数据处理装置的结构框图;图7是本发明实施例四中的一种终端的结构示意图。具体实施方式下面结合附图和实施例对本发明作进一步详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。实施例一图1是本发明实施例一中提供的一种数据处理方法的流程图。本实施例可适用于处理数据库中的数据的情况,尤其适用于以数据库中间件为中间代理时,处理数据库中的数据的情况。该方法可以由本发明实施例提供的数据处理装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在各种用户终端或服务器上。参见图1,本发明实施例的方法具体包括如下步骤:s110、根据客户端发送的数据处理请求,确定待链接的目标数据库的链接请求。其中,在客户端链接至数据库中间件后,用户可以通过客户端将数据处理请求发送至数据库中间件。需要说明的是,该数据中间件可以是mycat、dbproxy、proxysql或是kingshard,也可以是其余的数据库中间件;该数据处理请求可以是一种数据库查询和程序设计语言,比如结构化查询语言(sql);客户端链接数据库中间件的方式有多种,比如,可以模拟mysql的链接方式链接客户端和数据库中间件,即,在客户端项目配置数据库时的配置信息是一个mysql链接,通讯协议可以是tcp/ip协议。客户端中间件在接收到数据处理请求后,可以对该数据处理请求进行解析,并根据解析结果确定该数据处理请求的实质内容,比如,与该数据处理请求对应的目标数据库,以及,在该目标数据库中需要完成的数据处理操作。需要说明的是,数据库中间件可以链接有一个数据库,则该数据库为目标数据库;数据库中间件也可以链接有多个数据库,则需要根据数据处理请求从多个数据库中筛选出目标数据库。当客户端想在目标数据库中完成一些数据处理操作时,需要与目标数据库相链接,因此,可以根据数据处理请求确定出待链接的目标数据库的链接请求,以便根据该链接请求完成客户端和目标数据库的链接。s120、对链接请求进行权限验证,若成功,将客户端链接至与链接请求对应的目标数据库上。其中,为了保障用户在处理数据过程中的安全性,可以对链接请求进行安全验证,示例性的,可以设置链接黑白名单比如ip黑白名单、数据处理请求黑白名单比如sql黑白名单、数据处理请求过滤验证方式等;还可以对链接请求的权限进行验证,即验证该客户端是否有权限链接至目标数据库中;等等。若上述内容涉及到的预先设置的安全验证信息存储在server.xml中,则可以将链接请求与server.xml进行链接信息验证。在权限验证成功后,可以将客户端链接至与链接请求对应的目标数据库上,以便实现数据库中间件和目标数据库之间的数据处理,比如数据交换、数据查询、数据存储等。对链接请求进行权限验证的方式有多种,示例性的,可以通过redis存储权限、token验证或者多个中间的权限验证系统进行链接请求的权限验证;还可以根据客户端发送的链接授权请求,生成与链接授权请求对应的授权信息,并将授权信息返回至客户端;接收客户端返回的认证信息,若认证信息和授权信息一致,则链接请求权限验证成功。具体的,首先,在初始化客户端时,客户端会向数据库中间件发送一个链接授权请求以请求获取授权信息,比如,该链接请求可以是一个nio操作。进一步,数据库中间件在接收到链接授权请求后,可以生成与该链接授权请求对应的授权信息,并将该授权信息缓存在本地一份且返回至客户端,其中,该授权信息可以是数码、图形等多种形式。再进一步,客户端在接收到授权信息后,可以将授权信息转换为验证信息,并将验证信息返回至数据库中间件进行验证。最后,当数据库中间件接收到验证信息后,会将验证信息与缓存在本地的授权信息进行对比,若二者一致,则链接请求权限验证成功,该客户端有权限链接至目标数据库中;反之,链接请求权限验证失败,该客户端没有权限链接至目标数据库中。需要说明的是,若客户端想要链接至另一个目标数据库时,需要对与该另一个目标数据库对应的链接请求重新进行权限验证。s130、接收目标数据库返回的与数据处理请求对应的响应结果,并将响应结果返回至客户端。其中,在客户端链接至与链接请求对应的目标数据库后,在目标数据库中完成与数据处理请求对应的数据处理操作,比如查询目标数据库中的目标数据,或是,将目标数据存储在目标数据库中,等等。在完成相应的数据处理操作后,目标数据库可以将与数据处理请求对应的响应结果返回至数据库中间件,进而,数据库中间件可以将响应结果返回至客户端,由此完成数据处理工作。可选的,在客户端链接至目标数据库后,可以以与目标数据库对应的目标验证方式,对数据处理请求进行验证,比如,可以对数据处理请求进行解析处理和/或过滤处理,并根据与目标数据库对应的目标验证方式对处理结果进行验证,由此确定该数据处理请求是否合法,若验证合法,则可以根据该数据处理请求在目标数据库中完成相应的数据处理操作;反之,则根据该数据处理请求无法在目标数据库中完成相应的数据处理操作。本发明实施例的技术方案,根据客户端发送的数据处理请求可以确定与该数据处理请求对应的待链接的目标数据库,以及,该目标数据库的链接请求;对链接请求进行权限验证,若验证成功,说明客户端有权限链接至该目标数据库,则将客户端链接至与该链接请求对应的目标数据库上;根据数据处理请求在目标数据库中完成相应的数据处理操作,进而,接收目标数据库返回的与数据处理请求对应的响应结果,并将响应结果返回至客户端。上述技术方案可以对目标数据库的链接请求进行安全权限验证,当客户端发送的链接请求具有链接权限时,该客户端才能链接至目标数据库,由此提高了目标数据库的链接的安全性,并且,降低了目标数据库中的数据被串改的风险。实施例二图2是本发明实施例二中提供的一种数据处理方法的流程图。本实施例以上述各技术方案为基础进行优化。在本实施例中,可选的,该数据处理方法,具体还可包括:建立数据库中间件的链接和各个数据库的链接之间的映射关系,其中,数据库包括目标数据库。其中,与上述各实施例相同或相应的术语的解释在此不再赘述。如图2所示,本实施例的方法具体可以包括如下步骤:s210、建立数据库中间件的链接和各个数据库的链接之间的映射关系,其中,数据库包括目标数据库。其中,在初始化过程中,需要对各个数据库进行配置,其中,各个数据库的类型可以相同,也可以不同。具体的,初始化配置中需要加载配置文件,该配置文件可以是.xml格式;当数据库配置成功时,数据库中间件的链接和各个数据库的链接之间的映射关系已建立。这样设置的目的在于,通过数据库中间件的链接和映射关系,可以得到各个数据库的链接,进而可以和各个数据库相链接。需要说明的是,数据库中间件对于获取各个数据库的链接的方式可以存在差异,比如,mongodb具有自己单独的方式来获取数据库链接和链接池,其余关系型数据库可以通过jdbc方式链接数据库,链接池可以通过druid管理。示例性的,该步骤的具体流程图可以如图3所示,开始/startdbproxy——(初始化/init)——初始化配置/initconfig——(加载待配置的文件/loading)——配置文件/schema.xml(databasecomnfig)——(sql处理成功/sqlhandlesuccess)——初始化服务/initserver——初始化成功/initserver。上述设置可以在数据库中间件和多个数据库之间同时存在映射关系,实现了一对多的映射;进而,数据库中间件可以实现对多种类型的数据库的统一代理链接管理,而且根据映射关系可以实现各个数据库的分开管理;数据库中间件还可以对各个数据库发送心跳检测(heartbeatthread)以实现对数据库状态的监管;降低了各个数据库的管理和维护成本,比如,在某个数据库的登录信息发生变化时,无需对数据库重新进行配置和部署工作,统一修改配置文件即可。可选的,在建立数据库中间件的链接和各个数据库的链接之间的映射关系之后,还可以初始化数据库中间件的登录信息,以使每个数据库对应有唯一的数据库中间件的登录信息。示例性的,可以通过解析xml配置文件比如schema.xml配置文件,获取到数据库中间件的链接和映射关系,进而可以得到各个数据库的链接,由此初始化数据库中间件的登录信息,该登录信息可以以用户名和密码的形式呈现,初始化结果可以存储在server.xml文件中。需要说明的是,在初始化数据库中间件的登录信息时,会配置很多的登录信息,使得每个数据库对应有唯一的数据库中间件的登录信息,由此一来,数据库中间件的登录信息和数据库的登录信息实质等同,在无需获知各个数据库的登录信息的情况下,通过数据库中间件的登录信息就可以登录到与该登录信息对应的数据库。示例性的,该步骤的具体流程图可以如图4所示,开始/startdbproxy——(初始化/init)——初始化配置/initconfig——(加载待配置的文件/loading)——配置文件/server.xml(databasecomnfig)——(sql处理成功/sqlhandlesuccess)——初始化服务/initserver——初始化成功/initserver。s220、根据客户端发送的数据处理请求,确定待链接的目标数据库的链接请求。s230、对链接请求进行权限验证,若成功,将客户端链接至与链接请求对应的目标数据库上。其中,上述初始化步骤在项目启动时已经完成,在此基础上,可以通过如下步骤实现客户端和目标数据库的链接:根据映射关系可以得到与链接请求对应的目标数据库的链接,比如,可以从目标数据库的链接池中得到目标数据库的链接;根据客户端发送的用于登录数据库中间件的登录信息,确定该登录信息和待链接的目标数据库是否匹配;若匹配,则根据登录信息和目标数据库的链接,将客户端链接至目标数据库上。即,以数据库中间件为媒介,将客户端和目标数据库链接上。在后续产生数据处理时,客户端和数据库中间件进行数据处理,数据库中间件和目标数据库进行数据处理,由此实现了客户端和目标数据库之间的数据处理。若未匹配,则客户端无法链接至目标数据库中。s240、接收目标数据库返回的与数据处理请求对应的响应结果,并将响应结果返回至客户端。本发明实施例的技术方案,通过建立数据库中间件的链接和各个数据库的链接之间的映射关系,实现了一对多的映射;进而,数据库中间件可以实现对多种类型的数据库的统一代理链接管理,而且根据映射关系可以实现各个数据库的分开管理,降低了各个数据库的管理和维护成本。为了更好地理解上述步骤的具体实现过程,下面对本实施例的数据处理方法进行示例性的说明。示例性的,如图5所示,在客户端(client)链接至数据库中间件(connectdbproxy)后,用户可以通过客户端将数据处理请求(sqlrequest)发送至数据库中间件,由此确定出链接请求;将链接请求与server.xml进行链接信息验证,若权限验证失败(rsa认证false),数据库链接失败(proxydatasourceerror);若权限验证成功(rsa认证success),从链接池(initconnectpool)中获取目标数据库的链接(获取schema.xml配置的数据源信息);根据目标数据库的链接和用于登录数据库中间件的登录信息,将客户端链接至目标数据库上(getdatasourceconnect);对数据处理请求进行解析、验证和过滤(parse、verifyandfiltersql),若验证失败(false),则返回未合法(returnsqlillegal),若验证成功(sucess),则执行数据处理请求(executablesql),并将与数据处理请求对应的响应结果返回至客户端(executesqlsuccess)。需要说明的是,图5中右侧的虚线框中的内容即为初始化流程,比如,server.xml即为图4所示的内容,schema.xml即为图3所示的内容。实施例三图6为本发明实施例三提供的数据处理装置的结构框图,该装置用于执行上述任意实施例所提供的数据处理方法。该装置与上述各实施例的数据处理方法属于同一个发明构思,在数据处理装置的实施例中未详尽描述的细节内容,可以参考上述数据处理方法的实施例。参见图6,该装置具体可包括:链接请求确定模块310、数据库链接模块320和响应结果返回模块330。其中,链接请求确定模块310,用于根据客户端发送的数据处理请求,确定待链接的目标数据库的链接请求;数据库链接模块320,用于对链接请求进行权限验证,若成功,将客户端链接至与链接请求对应的目标数据库上;响应结果返回模块330,用于接收目标数据库返回的与数据处理请求对应的响应结果,并将响应结果返回至客户端。可选的,数据库链接模块320,具体可以包括:授权信息返回单元,用于根据客户端发送的链接授权请求,生成与链接授权请求对应的授权信息,并将授权信息返回至客户端;权限验证单元,用于接收客户端返回的认证信息,若认证信息和授权信息一致,则链接请求权限验证成功。可选的,在上述装置的基础上,该装置还可包括:映射关系建立模块,用于建立数据库中间件的链接和各个数据库的链接之间的映射关系,其中,数据库包括目标数据库。可选的,在映射关系建立模块之后,该装置还可包括:登录信息初始化模块,用于初始化数据库中间件的登录信息,以使每个数据库对应有唯一的数据库中间件的登录信息。可选的,数据库链接模块320,具体可包括:目标数据库的链接得到单元,用于根据映射关系,得到与链接请求对应的目标数据库的链接;数据库链接单元,用于根据客户端发送的用于登录数据库中间件的登录信息,以及,目标数据库的链接,将客户端链接至目标数据库上。可选的,目标数据库的链接得到单元,具体可以用于:从目标数据库的链接池中得到目标数据库的链接。可选的,响应结果返回模块330,具体可以用于:以与目标数据库对应的目标验证方式,对数据处理请求进行验证,若验证合法,接收目标数据库返回的与数据处理请求对应的响应结果。本发明实施例三提供的数据处理装置,通过链接请求确定模块可以确定与客户端发送的数据处理请求对应的待链接的目标数据库,以及,该目标数据库的链接请求;数据库链接模块可以对链接请求进行权限验证,若验证成功,说明客户端有权限链接至该目标数据库,则将客户端链接至与该链接请求对应的目标数据库上;响应结果返回模块可以根据数据处理请求在目标数据库中完成相应的数据处理操作,进而,接收目标数据库返回的与数据处理请求对应的响应结果,并将响应结果返回至客户端。上述装置,可以对目标数据库的链接请求进行安全权限验证,当客户端发送的链接请求具有链接权限时,该客户端才能链接至目标数据库,由此提高了目标数据库的链接的安全性,并且,降低了目标数据库中的数据被串改的风险。本发明实施例所提供的数据处理装置可执行本发明任意实施例所提供的数据处理方法,具备执行方法相应的功能模块和有益效果。值得注意的是,上述数据处理装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。实施例四图7为本发明实施例四提供的一种终端的结构示意图,如图7所示,该终端包括存储器410、处理器420、输入装置430和输出装置440。终端中的处理器420的数量可以是一个或多个,图7中以一个处理器420为例;终端中的存储器410、处理器420、输入装置430和输出装置440可以通过总线或其它方式连接,图7中以通过总线450连接为例。存储器410作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的数据处理方法对应的程序指令/模块(例如,数据处理装置中的链接请求确定模块310、数据库链接模块320和响应结果返回模块330)。处理器420通过运行存储在存储器410中的软件程序、指令以及模块,从而执行终端的各种功能应用以及数据处理,即实现上述的数据处理方法。存储器410可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器410可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器410可进一步包括相对于处理器420远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。输入装置430可用于接收输入的数字或字符信息,以及产生与装置的用户设置以及功能控制有关的键信号输入。输出装置440可包括显示屏等显示设备。实施例五本发明实施例五提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种数据处理方法,包括:根据客户端发送的数据处理请求,确定待链接的目标数据库的链接请求;对链接请求进行权限验证,若成功,将客户端链接至与链接请求对应的目标数据库上;接收目标数据库返回的与数据处理请求对应的响应结果,并将响应结果返回至客户端。当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的数据处理方法中的相关操作。通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。依据这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1