一种数据适配系统的制作方法

文档序号:12466150阅读:202来源:国知局

本发明涉及计算机技术领域,具体地说是一种实用性强、数据适配系统。



背景技术:

随着计算机技术的飞速发展,数据库技术的应用领域也日趋扩大和深入,数据库从根本上改变了许多公司和个人的工作方式,它是信息系统的基本框架。在面向服务应用大行其道的今天,协调数据库的多样性是开发互联网应用中不可避免的首要问题,我们常见的数据库包括MySQL、SQL Server、ORACLE、Hive2、Hbase、mongoDB、PostgreSQL、DB2及达梦数据库等,作为数据处理的中间层,能够让用户以统一的接口连接不同的数据源是一个基本需求。

大数据在近些年来越来越火热,在这个大数据的时代对数据的存储和处理提出了更高的要求,Hadoop技术体系中hbase、hive则在大数据的时代中应运而生。Hbase是当前noSql数据库的一种,最常见的应用场景就是存储采集的网页数据;而hive主要针对的是OLAP应用,基于一个统一的查询分析层,支撑OLAP应用中的各种关联,分组,聚合类SQL语句等;而传统数据库MySQL或oracle完全不是相同的应用场景,针对的更多的是结构化的数据,事物一致性要求高,业务规则逻辑复杂,数据模型复杂。基于数据库之间的差异性,对应用层软件来说是一个挑战,应用层软件需要适配各种类型的数据库,这样不仅增加了开发成本,而且使业务应用的可靠性降低,而且不便于产品的维护。

针对这一情况,现提供一种数据适配系统,来屏蔽掉数据库之间的差异性,使得用户更加关注于业务实现,便于产品维护,降低了开发成本,也给数据存储和数据处理带来了方便。



技术实现要素:

本发明的技术任务是针对以上不足之处,提供一种实用性强、数据适配系统。

一种数据适配系统,配置于数据库应用软件和数据库平台之间,向上为数据库应用软件提供服务,向下使用数据库平台提供的服务;该系统提供统一调用接口模块,当用户进行操作时,只需在数据库应用软件上输入操作的语句,该统一调用接口模块即可根据输入的语句实现对数据库的操作调用,并返回操作结果给数据库应用软件。

统一调用接口模块在进行数据库应用软件和数据库平台之间的接口服务协调时,通过Zookeeper服务实现,该统一调用接口模块支持的数据库类型包括传统关系型数据库和非关系型数据库、国产化数据库和非国产化数据库、结构化数据库和非结构化数据库。

所述统一调用接口模块支持的数据库类型具体包括MySQL、SQL Server、ORACLE、Hive2、Hbase、mongoDB、PostgreSQL、DB2及达梦数据库。

当用户进行操作时,首先进行统一数据库初始化服务,完成数据库编程环境的初始化的步骤,由上层应用在初始化时调用,该步骤具体为:数据库初始化实现数据库的连接初始化,即统一调用接口模块在启动时完成数据库的连接初始化,供上层应用调用,初始化后的数据库环境应用可后续获取连接进行相应的操作。

用户进行操作时,统一调用接口模块还实现统一数据库环境释放服务,完成数据库编程环境的释放,由上层应用在推出时调用,其中数据库环境释放实现数据库的连接释放,上层应用获得数据库连接后即可对数据库进行相应的操作,在本次连接环境内的操作应用无需重新获取连接,该连接只在应用推出此次数据库操作的情况下释放该连接。

用户进行操作时,统一调用接口模块还实现统一数据库操作服务,上层应用有数据库操作服务时直接调用;该数据库操作服务包括增加、删除、修改、查询服务;其中查询服务具体包括:获取数据库信息服务、获取数据库中表信息、获取数据库中表字段信息、判断表是否存在服务,最后统一调用接口模块将结果数据以json格式返回给用户,返回的结果信息包括成功或失败编码、错误信息及正确调用获取的数据。

本发明的一种数据适配系统,具有以下优点:

本发明的一种数据适配系统,基于JDBC技术屏蔽各数据库SQL语句直接的差异性,使得用户更加关注于业务实现而无需针对各类数据库进行必要的产品维护;本专利位于数据库应用软件和具体的数据库平台的一个中间层,降低了业务应用与服务调度的耦合性,降低数据服务对业务应用系统的侵入;消除数据储存和数据处理对数据库之间的差异性,使得用户更加关注于业务实现,降低产品开发和维护成本,增加了业务应用的可靠性和业务分析的能力,为应用层软件提供可靠性、一致性的数据库接口服务,实用性强,适用范围广泛,易于推广。

附图说明

为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

附图1为本发明的实现示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如附图1所示,一种数据适配系统,它屏蔽掉了不同的数据库使用之间的差异,使得用户可以专注于业务实现而不需要关心数据库类型。

该系统是位于数据库应用软件和具体的数据库平台的一个中间层,向上为数据库应用软件提供服务,向下使用具体的数据库平台提供的服务。数据库应用软件不需要关系数据库操作的每一步骤,不必进行准备、定义、绑定参数、取结果等操作,用户只需要将操作的语句交给统一调用接口模块,由该模块实现数据库的操作细节,用户只需要取回操作结果即可。

接口服务之间的协调通过Zookeeper实现,涉及到数据库初始化服务、数据库环境释放服务和数据库操作服务,其中数据库操作服务包括对数据的查询、修改、删除和插入操作。其中支持的数据库类型包括传统关系型数据库和非关系型数据库、国产化数据库和非国产化数据库、结构化数据库和非结构化数据库。

为了实现以上目标,本发明采用的技术方案如下:

1)一种统一数据库接口的数据适配系统采用的是JDBC技术执行SQL语句,接口服务之间的协调通过Zookeeper实现,支持的数据库类型包括MySQL、SQL Server、ORACLE、Hive2、Hbase、mongoDB、PostgreSQL、DB2及达梦数据库,为应用层软件提供可靠性、一致性的数据存储和数据处理服务。

2)在完成上述技术方案的基础上,统一的数据库接口实现了传统关系型数据库和非关系型数据库的一致性、结构化数据库和非结构化数据库的一致性、国产化数据库和非国产化数据库的一致性。在此基础上,用户无需关心底层数据库类型,只需调用提供的操作数据库的接口即可满足用户需求。

3)在完成以上技术方案的基础上,统一数据库初始化服务,完成数据库编程环境的初始化,由上层应用在初始化时调用。数据库初始化主要实现数据库的连接初始化,统一数据库接口的数据适配系统启动时完成数据库的连接初始化(比如:hbase、hive的连接初始化过程),供上层应用调用,初始化后的数据库环境应用可后续获取连接进行相应的操作。

4)在完成以上技术方案的基础上,统一数据库环境释放服务,完成数据库编程环境的释放,由上层应用在推出时调用。数据库环境释放主要实现数据库的连接释放,上层应用获得数据库连接后可对数据库进行相应的操作,在本次连接环境内的操作应用无需重新获取连接,该连接只在应用推出此次数据库操作的情况下释放该连接。

5)在完成以上技术方案的基础上,统一数据库操作服务,上层应用有数据库操作时直接调用。数据库操作服务包括增(insert)、删(delete)、改(update)、查(select)服务;其中查询服务还可进一步分为:获取数据库信息服务、获取数据库中表信息、获取数据库中表字段信息、判断表是否存在服务等。调用统一数据库接口需要传入必要的参数,比如数据源的信息、表中字段信息以及是否需要包括数据库存储过程等,接口将结果数据以json格式返回给用户,返回的结果信息包括成功或失败编码、错误信息及正确调用获取的数据。

6)以上步骤完成之后,用户可使用统一数据库接口的数据适配系统完成自己的业务需要。用户可根据接口的json格式的返回结果查看应用调用接口情况,了解相关业务功能的运行情况,不会因为调用接口失败导致应用出现故障而无法找出其中的缘由,这样保证了业务运行的可靠性。

上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的一种数据适配系统的权利要求书的且任何所述技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1