一种跨数据源的数据存储装置
技术领域
本发明涉及数据存储领域,尤其涉及一种跨数据源的数据存储装置。
背景技术
现代互联网行业互补性越来越强了,当我们需要接入外部公司数据时,通常采用HTTP网络传输的方式获取对方的数据,然后根据其数据类别存储到我方数据库中。比如,当我们接入高德数据时,通过HTTP接口获取数据存储到我方Hive数据仓库中;当我们接入到墨迹天气数据时,通过HTTP接口获取数据存储到我方Redis/MongoDB中。因此,我们需要对每一个数据库的存储分别开发程序实现其数据存储,耗时耗力。
每次数据接入并存储数据库,都需要单独开发程序实现,费时费力。当数据需求发生迭代时,程序也需要迭代。开发技术门槛高,不利于普及。数据存储程序越来越多,不利于公司对内部代码的优化管理。
发明内容
鉴于上述问题,提出了本发明以便提供克服上述问题或者至少部分地解决上述问题的一种网约车运力调度方法。
根据本发明的一个方面,提供了一种跨数据源的数据存储装置,所述数据存储装置包括:JSON配置生成模块、数据解析器模块、数据连接器构造模块和数据存储执行模块,使用JAVA编译开发;所述数据连接器构造模块可扩展性。
可选的,所述JSON配置生成模块为JSON配置生成器,服务请求被JSON配置生产器解析,生成对应的JSON配置,供整个工具使用。
可选的,所述数据解析模块为数据解析器,所述数据解析器根据对应的JSON配置,将数据解析成对应的数据结构。
可选的,所述数据连接器构造模块为数据库连接器,根据所述JSON配置设置好对应数据库的连接并通知所述数据存储执行模块。
可选的,所述数据存储执行模块为数据存储执行器;数据存储执行器执行数据存储。
本发明提供的一种跨数据源的数据存储装置,有益效果:数据存储装置包括:JSON配置生成模块、数据解析器模块、数据连接器构造模块和数据存储执行模块,使用JAVA编译开发;所述数据连接器构造模块可扩展性,提供一种跨数据源的数据存储装置,通过JSON封装对应数据库配置,解析其JSON配置获得数据存储器,然后将HTTP接口获得的数据通过数据存储器存储到不同的数据库中。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的
具体实施方式
。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的一种跨数据源的数据存储装置结构图;
图2为本发明实施例提供的一种跨数据源的数据流示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明的说明书实施例和权利要求书及附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。
下面结合附图和实施例,对本发明的技术方案做进一步的详细描述。
如图1所示,一种跨数据源的数据存储装置,数据存储装置包括:JSON配置生成模块1、数据解析器模块2、数据连接器构造模块3和数据存储执行模块4,使用JAVA编译开发;所述数据连接器构造3模块可扩展性。
JSON配置生成模块1为JSON配置生成器,服务请求被JSON配置生产器解析,生成对应的JSON配置,供整个工具使用。数据解析器模块2为数据解析器,数据解析器根据对应的JSON配置,将数据解析成对应的数据结构。
数据连接器构造模块3为数据库连接器,根据JSON配置设置好对应数据库的连接并通知数据存储执行模块4。数据存储执行模块4为数据存储执行器;数据存储执行器执行数据存储。
JSON配置生成器,其主要分为二部分:
数据Reader:封装了HTTP接口的url、请求方式(get or post)、HTTP解析实现类、以及解析参数;
数据Writer:type指的是数据库类型,connect封装数据库链接信息,conf封装的是数据存储格式相关信息。
数据解析器,根据上述JSON配置生成器里的Reader配置,生成HTTP解析器,该解析器具备以下3个方法:
a.执行方法execute:目的是开始执行解析,
b.校验方法hasNext():目的是判断数据是否已经解析完成,
c.获取下一条数据next():当上一步校验方法得到的结果是数据未解析完时,执行此方法继续执行。
解析器因其接口的特性,通过用户自定义的实现不同格式数据解析能力,使具备良好的扩展性,可自定义以满足不同的需求。
数据库连接器构造:数据库连接器是根据JSON配置生成器里的Writer配置,构造出对应数据库的连接器,支持多种数据库,如MySQL、Hive、Redis、MongoDB等,并且还支持数据库的动态扩展。
连接器接收数据解析器发过来的数据,触发数据存储执行器,将数据保存到各数据库中。连接器接收数据解析器因其接口的特性,通过用户自定义的实现不同格式数据解析能力,使具备良好的扩展性,可自定义以满足不同的需求。
数据存储执行器依赖于各个数据库连接器,其核心作用是将数据解析器发到连接器上的数据存储到对应的数据库中。
数据库连接器接收数据解析器发过来的数据,触发数据存储执行器,将数据保存到各数据库中。
图2为数据流通过HTTP接口进入到数据库连接器中,数据库连接器分为Hive连接器、MySQL连接器、Redis连接器、MongoDB连接器等等,数据经过连接器通过存储执行器存储到其对应的数据库(Hive、MySQL、Redis、MongoDB)中。
装置使用方法:装置使用JAVA开发,运行在配置有JDK的虚拟机上。可以依靠crontab、Azkaban等调度工具执行。使用前只需要根据需求配置好对应的JSON,即conf.properties。其启动命令为:java-jar database-to-http.jar conf.properties。
有益效果:
1、通过简单的JSON配置,即可实现将外部数据(第三方数据)存入不同的数据库中,避免了大量的开发编译工作。
2、本发明的数据解析器、数据库连接器具有良好的可扩展性,可以通过自定义的方式生成新的连接器,以实现数据存储功能。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。