一种基于云计算的数据访问方法和数据库系统的制作方法

文档序号:6437477阅读:466来源:国知局
专利名称:一种基于云计算的数据访问方法和数据库系统的制作方法
技术领域
本发明涉及云计算领域,具体涉及一种基于云计算的数据访问方法和数据库系统。
背景技术
云计算是一种新兴的商业计算模型,该模型将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算能力,存储空间和各种软件服务。目前, 网络环境中数据访问和集成大都采用访问者直接和DBS (Database System,数据库系统) 服务接口交互。这种交互方式会强迫使用人员在应用系统内部解决数据访问和集成问题, 使管理者或管理机构陷入数据库连接、数据格式转换等技术问题之中,增加了管理自动化程序开发的复杂性和重复性。

发明内容
本发明要解决的技术问题是如何在云计算环境中打破应用程序和数据库的紧耦合,使数据访问在更广阔的平台上扩展。为了解决上述问题,本发明提供了一种基于云计算的数据访问方法,包括
当收到云用户的数据库访问指令时,用该指令中携带的数据库元数据和云系统中各数据库的元数据进行匹配,确认该指令要访问的数据库;解析所述数据库访问指令得到结构化查询语言SQL指令;
生成数据库连接字符串,定位到所确认的数据库中;然后执行所述SQL指令,得到执行结果;
将所述执行结果转换为所述云用户采用的数据格式后反馈给该云用户。进一步地,所述确定该指令要访问的数据库的步骤后、解析数据库访问指令得到 SQL指令的步骤前还包括
对所述云用户的权限进行验证;如果验证通过,则根据所述云用户的数据库访问权限进行解析数据库访问指令得到SQL指令的步骤;如果没有通过,则向所述云用户报告异常。进一步地,云系统中各数据库的元数据预存在一数据资源配置文档中;
所述数据资源配置文档中还包括各数据库的用户验证信息;所述用户验证信息包括第三方签发的证书或该数据库中各用户的用户名、密码及数据库访问权限。进一步地,对云用户的权限进行验证的步骤包括
根据所述数据库访问指令中携带的用户名和密码,在所确认的数据库的用户验证信息中进行匹配;能匹配成功则验证通过,确定所述云用户的数据库访问权限;否则验证没有通过。进一步地,所述用户验证信息预存在一角色映射文档中。进一步地,由云系统中的服务层接收应用层中所述云用户的数据库访问指令并传递给云系统中的逻辑层,以及将数据格式转换后的执行结果返回给云用户;由逻辑层完成确认要访问的数据库、云用户的权限验证、解析得到SQL指令、以及执行结果数据格式转换的步骤;云系统中的数据链路层生成数据库连接字符串,定位到实体数据库中执行所述 SQL指令,得到执行结果。本发明还提供了一种基于云计算的数据库系统,包括 服务层模块;
逻辑层模块,用于当所述服务层模块收到云用户的数据库访问指令时,用该指令中携带的数据库元数据和云系统中各数据库的元数据进行匹配,确认该指令要访问的数据库; 解析所述数据库访问指令得到SQL指令;
数据链路层模块,用于生成数据库连接字符串,定位到所确认的数据库中;然后执行所述SQL指令,得到执行结果;
所述逻辑层模块还用于将所述执行结果转换为所述云用户采用的数据格式后通过所述服务层模块反馈给云用户。进一步地,所述逻辑层模块包括
中间件配置模块,用于保存云系统中各数据库的元数据;
查询信息提取模块,用于当所述服务层模块收到云用户的数据库访问指令时,用该指令中携带的数据库元数据和所述中间件配置模块保存的元数据进行匹配,确认该指令要访问的数据库;确认后对所述云用户的权限进行验证;如果验证没通过则通过所述服务层模块向所述云用户报告异常;
转换模块,用于当所述查询信息提取模块验证通过时,解析所述数据库访问指令得到 SQL指令,以及将所述执行结果转换为所述云用户采用的数据格式后通过所述服务层模块反馈给云用户。进一步地,所述中间件配置模块还用于保存各数据库的用户验证信息;所述用户验证信息包括第三方签发的证书或该数据库中各用户的用户名、密码及数据库访问权限;
所述查询信息提取模块对云用户的权限进行验证是指
所述查询信息提取模块根据所述数据库访问指令中携带的用户名和密码,在所确认的数据库的用户验证信息中进行匹配;能匹配成功则验证通过,确定所述云用户的数据库访问权限;否则验证没有通过。进一步地,云系统中各数据库的元数据预存在一数据资源配置文档中;所述用户验证信息预存在一角色映射文档中;所述查询信息提取模块提供一角色映射器,来完成云用户与角色映射文档的匹配。本发明的有益效果是新的模型的提出,克服了因开发标准和服务规范的改变而使系统变得不稳定的缺陷,同时消除了服务生命周期管理所带来的数据不一致性问题,避免了各种应用与环境中分布、异构的数据库直接连接,实现了信息访问和集成模型的平台无关性,增强了管理自动化系统的可移植性、健壮性,因而具有非常广阔的应用前景。


图1是基于云计算的数据库系统的示意框图。
具体实施方式
下面将结合附图及实施例对本发明的技术方案进行更详细的说明。需要说明的是,如果不冲突,本发明实施例以及实施例中的各个特征可以相互结合,均在本发明的保护范围之内。实施例一,一种基于云计算的数据访问方法,包括
当收到云用户的数据库访问指令时,用该指令中携带的数据库元数据和云系统中各数据库的元数据进行匹配,确认该指令要访问的数据库;解析所述数据库访问指令得到SQL (Structured Query Language,结构化查询i吾言)指令;
生成数据库连接字符串,定位到所确认的数据库中;然后执行所述SQL指令,得到执行结果;
将所述执行结果转换为所述云用户采用的数据格式后反馈给该云用户。本实施例可以忽视底层数据库实体的结构,不管是SQLServer,还是Orcal,MySQL 都可以在上述的逻辑层里进行区分,然后在数据链接层对数据进行访问,而对外提供的服务接口都是统一的。本实施例中,如果所述数据库访问指令是查询数据的,则执行结果为读到的数据; 如果访问指令是写数据或修改数据的,则执行结果为表示成功或失败的信息。本实施例中,所述确定该指令要访问的数据库的步骤后、解析数据库访问指令得到SQL指令的步骤前还可以包括
对所述云用户的权限进行验证;如果验证通过,则根据所述云用户的数据库访问权限进行解析数据库访问指令得到SQL指令的步骤;如果没有通过,则向所述云用户报告异常。本实施例中,云系统中各数据库的元数据可以但不限于预存在一数据资源配置文档中。本实施例中,所述数据资源配置文档中还可以包括各数据库的用户验证信息;所述用户验证信息包括第三方签发的证书或该数据库中各用户的用户名、密码及数据库访问权限;
对云用户的权限进行验证的步骤具体可以包括
根据所述数据库访问指令中携带的用户名和密码,在所确认的数据库的用户验证信息中进行匹配;能匹配成功则验证通过,确定所述云用户的数据库访问权限;否则验证没有通过。本实施例中,所述用户验证信息可以但不限于预存在一角色映射文档中;可提供一角色映射器,来完成云用户与角色映射文档的匹配。本实施例中,可由云系统中的服务层接收应用层中所述云用户的数据库访问指令并传递给云系统中的逻辑层,以及将数据格式转换后的执行结果返回给云用户;由逻辑层完成确认要访问的数据库、云用户的权限验证、解析得到SQL指令、以及执行结果数据格式转换的步骤;云系统中的数据链路层生成数据库连接字符串,定位到实体数据库中执行所述SQL指令,得到执行结果反馈给逻辑层。云系统中的应用层,主要是提供用户服务,是由应用程序和API (Application Programming hterface,应用程序编程接口)组成。其中, 应用层是整个模型的体现,可以通过在主流系统上定制的方式得到;服务接口层、逻辑层、 数据库链接层这三层可以以第三方库的形式发布到云计算平台上。逻辑层从服务层接收到数据库访问指令之后,锁定角色映射文档和数据资源配置文档,由角色映射器解析数据资源配置文档,获取由第三方签发的证书或用户访问数据库的用户名和密码,确定所述云用户的数据库访问权限。只有通过验证,才能获取与用户名、 密码相对应的数据库访问权限。若用户名、密码或数据库元数据任一项匹配不成功,系统抛
山巳齿
出升吊。本实施例的方法打破了传统数据库访问模式,用户,程序开发人员无需再在自己的应用上指定所需要的数据库,实现数据连接,数据访问,数据转换与应用无关,可以更容易的扩展应用,进而降低成本的效果。实施例二,一种基于云计算的数据库系统,如图1所示,包括 服务层模块;
逻辑层模块,用于当所述服务层模块收到云用户的数据库访问指令时,用该指令中携带的数据库元数据和云系统中各数据库的元数据进行匹配,确认该指令要访问的数据库; 解析所述数据库访问指令得到SQL指令;
数据链路层模块,用于生成数据库连接字符串,定位到所确认的数据库中;然后执行所述SQL指令,得到执行结果;
所述逻辑层模块还用于将所述执行结果转换为所述云用户采用的数据格式后通过所述服务层模块反馈给云用户。本实施例中,如果所述数据库访问指令是查询数据的,则执行结果为读到的数据; 如果访问指令是写数据或修改数据的,则执行结果为表示成功或失败的信息。本实施例中,所述逻辑层模块具体可以包括 中间件配置模块,用于保存云系统中各数据库的元数据;
查询信息提取模块,用于当所述服务层模块收到云用户的数据库访问指令时,用该指令中携带的数据库元数据和所述中间件配置模块保存的元数据进行匹配,确认该指令要访问的数据库;确认后对所述云用户的权限进行验证;如果验证没通过则通过所述服务层模块向所述云用户报告异常;
转换模块,用于当所述查询信息提取模块验证通过时,解析所述数据库访问指令得到 SQL指令,以及将所述执行结果转换为所述云用户采用的数据格式后通过所述服务层模块反馈给云用户。本实施例中,所述中间件配置模块还可以用于保存各数据库的用户验证信息;所述用户验证信息包括第三方签发的证书或该数据库中各用户的用户名、密码及数据库访问权限;
所述查询信息提取模块对云用户的权限进行验证具体可以是指 所述查询信息提取模块根据所述数据库访问指令中携带的用户名和密码,在所确认的数据库的用户验证信息中进行匹配;能匹配成功则验证通过,确定所述云用户的数据库访问权限;否则验证没有通过。本实施例中,云系统中各数据库的元数据可以但不限于预存在一数据资源配置文档中;所述用户验证信息可以但不限于预存在一角色映射文档中;所述查询信息提取模块可提供一角色映射器,来完成云用户与角色映射文档的匹配。本实施例中,服务层模块主要是与应用层交互,接收用户的服务请求,并给出反馈;逻辑层模块是核心,主要负责权限验证,解析SQL语句,数据库动态选择,数据格式转
7换;数据库链接层,主要负责数据读写、生成数据库的链接字符串,以及以上几层所需要的开发库。 当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明的权利要求的保护范围。
权利要求
1.种基于云计算的数据访问方法,包括当收到云用户的数据库访问指令时,用该指令中携带的数据库元数据和云系统中各数据库的元数据进行匹配,确认该指令要访问的数据库;解析所述数据库访问指令得到结构化查询语言SQL指令;生成数据库连接字符串,定位到所确认的数据库中;然后执行所述SQL指令,得到执行结果;将所述执行结果转换为所述云用户采用的数据格式后反馈给该云用户。
2.如权利要求1所述的方法,其特征在于,所述确定该指令要访问的数据库的步骤后、 解析数据库访问指令得到SQL指令的步骤前还包括对所述云用户的权限进行验证;如果验证通过,则根据所述云用户的数据库访问权限进行解析数据库访问指令得到SQL指令的步骤;如果没有通过,则向所述云用户报告异常。
3.如权利要求1所述的方法,其特征在于云系统中各数据库的元数据预存在一数据资源配置文档中;所述数据资源配置文档中还包括各数据库的用户验证信息;所述用户验证信息包括第三方签发的证书或该数据库中各用户的用户名、密码及数据库访问权限。
4.如权利要求3所述的方法,其特征在于,对云用户的权限进行验证的步骤包括根据所述数据库访问指令中携带的用户名和密码,在所确认的数据库的用户验证信息中进行匹配;能匹配成功则验证通过,确定所述云用户的数据库访问权限;否则验证没有通过。
5.如权利要求3所述的方法,其特征在于所述用户验证信息预存在一角色映射文档中。
6.如权利要求1到5中任一项所述的方法,其特征在于由云系统中的服务层接收应用层中所述云用户的数据库访问指令并传递给云系统中的逻辑层,以及将数据格式转换后的执行结果返回给云用户;由逻辑层完成确认要访问的数据库、云用户的权限验证、解析得到SQL指令、以及执行结果数据格式转换的步骤;云系统中的数据链路层生成数据库连接字符串,定位到实体数据库中执行所述SQL指令,得到执行结果。
7.一种基于云计算的数据库系统,其特征在于,包括服务层模块;逻辑层模块,用于当所述服务层模块收到云用户的数据库访问指令时,用该指令中携带的数据库元数据和云系统中各数据库的元数据进行匹配,确认该指令要访问的数据库; 解析所述数据库访问指令得到SQL指令;数据链路层模块,用于生成数据库连接字符串,定位到所确认的数据库中;然后执行所述SQL指令,得到执行结果;所述逻辑层模块还用于将所述执行结果转换为所述云用户采用的数据格式后通过所述服务层模块反馈给云用户。
8.如权利要求7所述的系统,其特征在于,所述逻辑层模块包括中间件配置模块,用于保存云系统中各数据库的元数据;查询信息提取模块,用于当所述服务层模块收到云用户的数据库访问指令时,用该指令中携带的数据库元数据和所述中间件配置模块保存的元数据进行匹配,确认该指令要访问的数据库;确认后对所述云用户的权限进行验证;如果验证没通过则通过所述服务层模块向所述云用户报告异常;转换模块,用于当所述查询信息提取模块验证通过时,解析所述数据库访问指令得到 SQL指令,以及将所述执行结果转换为所述云用户采用的数据格式后通过所述服务层模块反馈给云用户。
9.如权利要求8所述的系统,其特征在于所述中间件配置模块还用于保存各数据库的用户验证信息;所述用户验证信息包括第三方签发的证书或该数据库中各用户的用户名、密码及数据库访问权限; 所述查询信息提取模块对云用户的权限进行验证是指所述查询信息提取模块根据所述数据库访问指令中携带的用户名和密码,在所确认的数据库的用户验证信息中进行匹配;能匹配成功则验证通过,确定所述云用户的数据库访问权限;否则验证没有通过。
10.如权利要求9所述的系统,其特征在于云系统中各数据库的元数据预存在一数据资源配置文档中;所述用户验证信息预存在一角色映射文档中;所述查询信息提取模块提供一角色映射器,来完成云用户与角色映射文档的匹配。
全文摘要
本发明公开了一种基于云计算的数据访问方法和数据库系统;所述方法包括当收到云用户的数据库访问指令时,用该指令中携带的数据库元数据和云系统中各数据库的元数据进行匹配,确认该指令要访问的数据库;解析所述数据库访问指令得到结构化查询语言SQL指令;生成数据库连接字符串,定位到所确认的数据库中;然后执行所述SQL指令,得到执行结果;将所述执行结果转换为所述云用户采用的数据格式后反馈给该云用户。本发明能在云计算环境中打破应用程序和数据库的紧耦合,使数据访问在更广阔的平台上扩展。
文档编号G06F17/30GK102508898SQ20111034514
公开日2012年6月20日 申请日期2011年11月4日 优先权日2011年11月4日
发明者王帅, 高飞 申请人:浪潮(北京)电子信息产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1