本发明涉及计算机人工智能及数据安全,尤其涉及一种差异化数据库的访问方法、装置、电子设备及存储介质。
背景技术:
1、国产化替代,旨在通过对it软硬件各个环节的重构,建立自主可控的it产业标准和生态,因此形成了差异化的数据库,其数据结构、交互方式与原有的数据库存在差别,这导致现有的应用程序访问这些数据库变得困难,存在的改造成本高、适配工作复杂等问题。
技术实现思路
1、本发明实施例的主要目的在于提出一种差异化数据库的访问方法、装置、电子设备及存储介质,实现了在不改变差异化数据库的数据结构、交互方式的同时,提高访问便捷程度,提高了其安全性。
2、本发明的一方面提供一种差异化数据库的访问方法,包括:
3、获取应用程序对目标数据库的访问请求,确定所访问的应用程序类型及第一查询字段,所述应用程序类型用于确定访问所述目标数据库的第一驱动管理;
4、根据所述驱动管理器的类型及所述应用程序的类型创建第二驱动管理,通过所述第二驱动管理连接所述目标数据库;
5、通过第二驱动管理对所述第一查询字段进行解析和转换,得到第二查询字段,根据所述第一驱动管理、第二驱动管理及所述第二查询字段向所述目标数据库执行访问,得到查询结果;
6、通过所述第二驱动管理获取所述查询结果并返回至所述应用程序。
7、根据所述的差异化数据库的访问方法,其中应用程序类型包括基于java、c/c++、php及python中的一种程序语言所开发的软件程序,所述驱动管理器的类型包括jdbc及odbc中的一种。
8、根据所述的差异化数据库的访问方法,其中根据所述驱动管理器类型及所述应用程序类型创建第二驱动管理,包括:
9、所述应用程序的类型为java时,基于jdbc采用虚拟接口的方式生成所述第二驱动管理;
10、所述应用程序的类型为c/c++、php及python中的一种时,基于odbc采用拦截方式生成所述第二驱动管理。
11、根据所述的差异化数据库的访问方法,其中通过所述第一驱动管理及第二驱动管理连接所述目标数据库,包括:
12、所述应用程序的类型为java时,通过所述第二驱动管理获取目标数据库的配置文件,采用java反射机制及所述配置文件加载所述第一驱动管理,通过所述第一驱动管理建立与所述目标数据库的连接;
13、所述应用程序的类型为c/c++、php及python中的一种时,通过所述第二驱动管理获取目标数据库的配置文件,根据配置文件获取并加载所述第一驱动管理,根据所述第二驱动管理中数据库操作接口建立与所述目标数据的连接。
14、根据所述的差异化数据库的访问方法,其中通过第二驱动管理对所述第一查询字段进行解析和转换,得到第二查询字段,根据所述第一驱动管理、第二驱动管理及所述第二查询字段向所述目标数据库执行访问,包括:
15、通过第二驱动管理获取所述第一查询字段,将所述第一查询字段采用解析转换接口进行解析及转换处理,得到所述第二查询字段,将所述第二查询字段通过所述第一驱动管理及所述目标数据库执行查询,得到所述查询结果。
16、根据所述的差异化数据库的访问方法,其中所述解析转换接口用于对所述第一查询字段进行解析,获取查询信息,根据所述目标数据库的语法规则及查询信息,将所述第一查询字段进行转换,得到符合所述目标数据库查询规则的所述第二查询字段。
17、根据所述的差异化数据库的访问方法,还包括:
18、所述应用程序的类型为c/c++、php及python中的一种时通过所述第二驱动管理采用jni虚拟机加载所述解析转换接口,完成对所述第一查询字段的解析和转换处理。
19、本发明实施例的另一方面提供了一种差异化数据库的访问装置,包括:
20、访问模块,用于获取应用程序对目标数据库的访问请求,确定所访问的应用程序类型及第一查询字段,所述应用程序类型用于确定访问所述目标数据库的第一驱动管理;
21、连接模块,用于根据所述驱动管理器的类型及所述应用程序的类型创建第二驱动管理,通过所述第二驱动管理连接所述目标数据库;
22、拦截模块,用于通过第二驱动管理对所述第一查询字段进行解析和转换,得到第二查询字段,根据所述第一驱动管理、第二驱动管理及所述第二查询字段向所述目标数据库执行访问,得到查询结果;
23、返回模块,用于通过所述第二驱动管理获取所述查询结果并返回至所述应用程序。
24、本发明实施例的另一方面提供了一种电子设备,包括处理器以及存储器;
25、所述存储器用于存储程序;
26、所述处理器执行所述程序实现如前文所描述的方法。
27、本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前文所描述的方法。
28、本发明的有益效果为:针对java应用程序所使用的jdbc驱动管理器,以及,c/c++、php、python语言应用程序对应odbc驱动管理器,通过加载基于jdbc的第二驱动管理读取的目标数据库连接配置信息,再通过数据库原生jdbc驱动和数据库进行交互,以及,基于odbc的第二驱动管理增加拦截访问的查询字段,调用语句解析转换接口转换查询字段,并通过原生驱动管理器完成数据的查询和返回,不需要对原生驱动管理器进行改造,且避免了应用程序直接访问目标数据库,提高了目标数据库的安全性,同时提高了目标数据库的访问及存储数据的兼容性。
29、本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
1.一种差异化数据库的访问方法,其特征在于,包括:
2.根据权利要求1所述的差异化数据库的访问方法,其特征在于,所述应用程序类型包括基于java、c/c++、php及python中的一种程序语言所开发的软件程序,所述驱动管理器的类型包括jdbc及odbc中的一种。
3.根据权利要求2所述的差异化数据库的访问方法,其特征在于,所述根据所述驱动管理器类型及所述应用程序类型创建第二驱动管理,包括:
4.根据权利要求3所述的差异化数据库的访问方法,其特征在于,所述通过所述第一驱动及所述第二驱动管理连接所述目标数据库,包括:
5.根据权利要求1所述的差异化数据库的访问方法,其特征在于,所述通过第二驱动管理对所述第一查询字段进行解析和转换,得到第二查询字段,根据所述第一驱动管理、第二驱动管理及所述第二查询字段向所述目标数据库执行访问,包括:
6.根据权利要求5所述的差异化数据库的访问方法,其特征在于,所述解析转换接口用于对所述第一查询字段进行解析,获取查询信息,根据所述目标数据库的语法规则及查询信息,将所述第一查询字段进行转换,得到符合所述目标数据库查询规则的所述第二查询字段。
7.根据权利要求6所述的差异化数据库的访问方法,其特征在于,还包括:
8.一种差异化数据库的访问装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括处理器以及存储器;
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有程序,所述程序被处理器执行实现如权利要求1-7中任一项所述的差异化数据库的访问方法。