一种数据库访问方法及装置制造方法及图纸

技术编号:14412520 阅读:105 留言:0更新日期:2017-01-12 00:30
本发明专利技术涉及一种数据库访问方法,包括以下步骤:接收应用程序发送的对数据库系统中目标数据库的访问请求;从接口层中预设的各类数据库对应的访问接口中选择该目标数据库对应的访问接口;根据所述访问请求,调用所选择的访问接口对该目标数据库执行访问操作。本发明专利技术还提供一种数据库访问装置。利用本发明专利技术可以使应用程序的访问简单化,保证数据库系统升级时的稳定性和完整性。

【技术实现步骤摘要】

本专利技术涉及数据处理
,特别涉及一种数据库访问方法及装置
技术介绍
在通信、互联网、计算机等领域,随着处理的数据量与日俱增,目前大数据数据库已经得到广泛的使用。从Oracle、SybaseIQ到Hive、Spark,越来越多的数据库被应用在数据库系统中,成为数据库系统中非常重要的一个部分,为各类数据提供了保存、查询、分析等访问方式。当数据库系统需要升级,例如在数据库系统中接入新的数据库,或是替换原有的数据库时,保证数据库系统的完整性和稳定性是对升级操作提出的一大挑战。为了使数据库系统能够兼容不同种类的数据库,目前的做法是当在数据库系统中新增一种数据库时,需要在数据库系统中新增一套与新增数据库适配的接口,或将与替换前的数据库适配的接口修改成与替换后的数据库适配的接口,从而完成数据库系统的升级。这样不可避免地会对数据库系统进行大规模的改动,从而破坏了原有系统的完整性,为系统的稳定性埋下了隐患。例如图1所示,数据库系统中原先仅包括数据库SybaseIQ,CPP(C++)应用程序通过ODBC(OpenDatabaseConnectivity,开放数据库互连)接口访问SybaseIQ。SybaseIQ是一种集中存储的列式数据库。随着数据量越来越大,集中存储无法满足海量数据的存储需求,需要在数据库系统中接入一大数据数据库Hive。然而采用ODBC接口访问Hive不太稳定,而采用JDBC(JavaDataBaseConnectivity,Java数据库互连)接口访问Hive是比较稳定的。因此,CPP应用程序访问JDBC接口时需要增加一个CPP调用Java程序的转接接口。CPP应用程序既需要访问ODBC接口,也需要访问CPP转JDBC接口,而这两种接口的调用方式不一致,因此CPP应用程序需要关注接口层的一些技术细节,导致应用层访问越来越复杂。
技术实现思路
有鉴于此,有必要提供一种数据库访问方法及装置,可以通过独立于数据库系统的接口层访问数据库系统中各数据库,屏蔽应用程序对不同种类数据库的访问差异,在数据库系统升级时,可以保证系统的稳定性和完整性,且应用程序无需感知,从而使应用程序的访问简单化。一种数据库访问方法,包括以下步骤:接收应用程序发送的对数据库系统中目标数据库的访问请求;从接口层中预设的各类数据库对应的访问接口中选择该目标数据库对应的访问接口;根据所述访问请求,调用所选择的访问接口对该目标数据库执行访问操作。一种数据库访问装置,包括:接收模块,用于接收应用程序发送的对数据库系统中目标数据库的访问请求;选择模块,用于从接口层中预设的各类数据库对应的访问接口中选择该目标数据库对应的访问接口;访问模块,用于根据所述访问请求,调用所选择的访问接口对该目标数据库执行访问操作。上述技术方案的有益效果是:数据库访问方法及装置,在接收到应用程序发送的对数据库系统中目标数据库的访问请求时,从接口层中预设的各类数据库对应的访问接口中选择该目标数据库对应的访问接口,然后根据所述访问请求调用所选择的访问接口对该目标数据库执行访问操作,因此可以通过独立于数据库系统的接口层访问数据库系统中各数据库,屏蔽应用程序对不同种类数据库的访问差异,在数据库系统升级时,可以保证系统的稳定性和完整性,且应用程序无需感知,从而使应用程序的访问简单化,减轻应用程序开发的工作量。为让本专利技术的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。附图说明图1为现有技术中数据库系统升级后对数据库的访问方式的示例图。图2为本专利技术第一实施例提供的数据库访问方法的流程图。图3为本专利技术第一实施例提供的数据库访问方法的应用示例图。图4为本专利技术第三实施例提供的数据库访问方法的流程图。图5为本专利技术第三实施例提供的数据库访问方法的应用示例图。图6为本专利技术第四实施例提供的数据库访问装置的框图。具体实施方式为更进一步阐述本专利技术为实现预定专利技术目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本专利技术的具体实施方式、结构、特征及其功效,详细说明如后。第一实施例参阅图2所示,为本专利技术第一实施例提供的数据库访问方法的流程图。在本实施例中,该方法包括以下步骤:步骤S1,接收应用程序发送的对数据库系统中目标数据库的访问请求;步骤S2,从接口层中预设的各类数据库对应的访问接口中选择该目标数据库对应的访问接口;步骤S3,根据所述访问请求,调用所选择的访问接口对该目标数据库执行访问操作。按照上述的数据库访问方法,可以通过独立于数据库系统的接口层访问数据库系统中各数据库,屏蔽应用层对不同种类数据库的访问差异,在数据库系统升级时,可以保证系统的稳定性和完整性,且应用程序无需感知,从而使应用程序的访问简单化,减轻应用程序开发的工作量。在一些实例中,上述方法的各步骤的实现细节如下:步骤S1所述的应用程序例如为CPP程序、Java应用程序等。该应用程序为应用层中的应用程序之一。该应用层中包括的一个或多个应用程序可以通过所述接口层访问数据库系统中的各个相同种类或不同种类的数据库。其中,该应用层、接口层及数据库系统的架构如图3所示。所述接口层独立于所述数据库系统设置。该接口层中预设有各类数据库对应的访问接口,该各类数据库对应的访问接口根据各类数据库的访问特性预设和优化,并且可以根据需要灵活地更新,例如新增某类数据库对应的访问接口,或修改某类数据库对应的访问接口。具体地,在一些实例中,如图3所示,数据库系统中包括Hive、Impala、SparkSQL、Oracle和SybaseIQ五类数据库,根据该五类数据库的访问特性,可以将其对应的访问接口预设如下:预设Hive的访问接口为HiveJDBC;预设Impala的访问接口为ImpalaJDBC;预设SparkSQL的访问接口为HiveContext;预设Oracle的访问接口为OracleODBC;及预设SybaseIQ的访问接口为SybaseIQODBC。步骤S1所述的访问请求例如可以是对目标数据库中数据的查询、保存或分析等请求。当应用层中的一个或多个程序需要查询或分析目标数据库中的数据时,或需要将数据保存至目标数据库时,可向接口层发送所述访问请求。步骤S2根据所述的访问请求,得知所需访问的目标数据库,从而从接口层中找出预设的该目标数据库对应的访问接口。具体地,可以根据所述访问请求获取目标数据库的标识,例如ID号等,并将该标识与数据库系统中各个数据库的标识进行比对,从而找出目标数据库。步骤S3根据所述访问请求,调用所选择的访问接口对该目标数据库执行访问操作。此外,步骤S3还可以调用所选择的访问接口获取对目标数据库的访问结果,并将该访问结果发送至所述应用程序。具体地,例如,若该访问请求为请求将数据保存到目标数据库中,则调用所选择的访问接口将该数据库保存至目标数据库,所述访问结果可以为该数据保存成功的信息。若该访问请求为请求查询目标数据库中的数据,则调用所选择的访问接口在目标数据库中查询该数据,并将查询得到的该数据作为访问结果,然后通过所选择的访问接口获取该访问结果,并将该访问结果发送至所述应用程序。若该访问请求为请求分析目标数据库中的数据,则调用所选择的访问接口在目标数据库中分析该数本文档来自技高网
...
一种数据库访问方法及装置

【技术保护点】
一种数据库访问方法,其特征在于,该方法包括以下步骤:接收应用程序发送的对数据库系统中目标数据库的访问请求;从接口层中预设的各类数据库对应的访问接口中选择该目标数据库对应的访问接口;根据所述访问请求,调用所选择的访问接口对该目标数据库执行访问操作。

【技术特征摘要】
1.一种数据库访问方法,其特征在于,该方法包括以下步骤:接收应用程序发送的对数据库系统中目标数据库的访问请求;从接口层中预设的各类数据库对应的访问接口中选择该目标数据库对应的访问接口;根据所述访问请求,调用所选择的访问接口对该目标数据库执行访问操作。2.如权利要求1所述的数据库访问方法,其特征在于,所述接收应用程序发送的对数据库系统中目标数据库的访问请求通过编程语言无关的数据交换协议实现。3.如权利要求2所述的数据库访问方法,其特征在于,所述编程语言无关的数据交换协议为简单对象访问协议。4.如权利要求1所述的数据库访问方法,其特征在于,所述根据所述访问请求对该目标数据库执行访问操作的步骤还包括:调用所选择的访问接口获取对目标数据库的访问结果,并将该访问结果发送至所述应用程序。5.一种...

【专利技术属性】
技术研发人员:杨兆辉
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1