本发明涉及云计算技术,尤其涉及一种基于mybatis实现的openstack数据查询方法与装置。
背景技术:
在以使用openstack管理协调服务器虚拟化资源的云管理系统中,认证授权是必不可少的过程,在openstack中使用keystone组件进行认证,所有的访问openstack的请求都经过keystone的认证,通过认证后才能获取相应的数据或资源。但是,此过程受组件性能或网络等影响性能和效率都很低,导致每个请求所花费时间过长,用户体验下降。因此如何提升认证性能和效率是使用openstack作为计算机虚拟化软件急需要解决的问题。
技术实现要素:
本发明要解决的技术问题在于针对现有技术中的缺陷,提供一种基于mybatis实现的openstack数据查询方法与装置。
本发明解决其技术问题所采用的技术方案是:一种基于mybatis实现的openstack数据查询方法,包括以下步骤:
1)在部署openstack时以配置文件或数据库数据形式记录并存储openstack的数据库连接地址以及用户名密码;
2)引用mybatis,根据步骤1)的信息配置mybatis的数据库连接地址、用户名和密码,并配置连接参数,所述连接参数包括:数据库连接池参数、mybatis使用的mapper文件路径、mybatis扫描器配置参数;
3)接收用户查询数据的请求,针对请求中需要查询的openstack数据编写sql语句并以xml格式进行保存;
4)调用mybatis的查询接口,mybatis根据配置的数据库连接信息与openstack的数据库建立连接;
5)mybatis通过接口找到存放sql的xml文件,并对xml进行解析将编写好的sql转化为可执行的sql,并根据接口传入的参数将对应的参数设置到sql中;
6)可执行的sql在openstack的数据库执行sql数据查询,并将查询结果通过接口返回给用户。
一种基于mybatis实现的openstack数据查询装置,包括:
数据存储模块,用于在部署openstack时以配置文件或数据库数据形式记录并存储openstack的数据库连接地址以及用户名密码;
配置模块,用于引用mybatis,根据步骤1)的信息配置mybatis的数据库连接地址、用户名和密码,并配置连接参数,所述连接参数包括:数据库连接池参数、mybatis使用的mapper文件路径、mybatis扫描器配置参数;
查询文件生成模块,用于接收用户查询数据的请求,针对请求中需要查询的openstack数据编写sql语句并以xml格式进行保存;
数据查询模块,用于在openstack的数据库执行sql数据查询,并将查询结果通过接口返回给用户;具体过程如下:
调用mybatis的查询接口,mybatis根据配置的数据库连接信息与openstack的数据库建立连接;
mybatis通过接口找到存放sql的xml文件,并对xml进行解析将编写好的sql转化为可执行的sql,并根据接口传入的参数将对应的参数设置到sql中;
可执行的sql在openstack的数据库执行sql数据查询,并将查询结果通过接口返回给用户。
本发明产生的有益效果是:本发明提供了一种可绕过keystone校验获取openstack数据或资源的方法,能有效解决由于openstack作为计算机虚拟化软认证性能和效率太低导致的访问时间过长的问题。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明实施例的方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如图1所示,一种基于mybatis实现的openstack数据查询方法,包括以下步骤:
1)在部署openstack时以配置文件或数据库数据形式记录下openstack的数据库连接地址以及用户名密码;
2)java中引用mybatis,根据步骤1)的信息配置mybatis的数据库连接地址、用户名和密码,并配置连接参数,所述连接参数包括:数据库连接池参数、mybatis使用的mapper文件路径、mybatis扫描器配置;
3)使用该方法查询的系统接收用户查询数据的请求,针对需要查询的openstack数据编写sql语句并以xml格式进行保存;
4)使用java调用mybatis的查询接口,mybatis根据配置的数据库连接信息与openstack的数据库建立连接;
5)mybatis通过接口找到存放sql的xml文件,并对xml进行解析将编写好的sql转化为可执行的sql,并根据接口传入的参数(主要为查询所需数据对应的各种查询条件参数)将对应的参数设置到sql中;
6)可执行的sql在openstack的数据库执行sql数据查询,并将查询结果通过接口返回给java。
根据以上方法,我们容易通过编程获得一种基于mybatis实现的openstack数据查询装置,包括:
数据存储模块,用于在部署openstack时以配置文件或数据库数据形式记录并存储openstack的数据库连接地址以及用户名密码;
配置模块,用于引用mybatis,根据步骤1)的信息配置mybatis的数据库连接地址、用户名和密码,并配置连接参数,所述连接参数包括:数据库连接池参数、mybatis使用的mapper文件路径、mybatis扫描器配置;
查询文件生成模块,用于接收用户查询数据的请求,针对请求中需要查询的openstack数据编写sql语句并以xml格式进行保存;
数据查询模块,用于在openstack的数据库执行sql数据查询,并将查询结果通过接口返回给用户;具体过程如下:
调用mybatis的查询接口,mybatis根据配置的数据库连接信息与openstack的数据库建立连接;
mybatis通过接口找到存放sql的xml文件,并对xml进行解析将编写好的sql转化为可执行的sql,并根据接口传入的参数将对应的参数设置到sql中;
可执行的sql在openstack的数据库执行sql数据查询,并将查询结果通过接口返回给用户。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。