一种基于关系型数据库转存大数据平台的方法及系统与流程

文档序号:15851174发布日期:2018-11-07 09:58阅读:309来源:国知局
本发明涉及电力系统配电网多种数据源存储领域,具体涉及一种基于关系型数据库转存大数据平台的方法及系统。
背景技术
:在当今数据时代,数据变的越来越重要,普通的关系型数据库已经不能满足存储大量数据的需求,而目前将数据存储于关系型数据库已成为一种习惯,但关系型数据库中的数据不能直接跨平台在大数据平台中进行调用,虽然现在已有的将关系型数据库中的数据转存到大数据平台的数据仓库技术(extract-transform-load,etl),用于将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。但是它在进行数据转存的时候,要求关系型数据库必须跟大数据平台必须满足数据仓库技术设置的条件,然而在正常应用的时候经常会出现关系型数据库跟大数据平台不满足数据仓库技术设置的条件,因此,数据仓库技术不能够很好的满足实际的需求。技术实现要素:为了解决现有技术中所存在的上述不足,本发明提供一种基于关系型数据库转存大数据平台的方法及系统。本发明提供的技术方案是:一种基于关系型数据库转存大数据平台的方法,包括:在关系型数据库文件中抽取待转存的数据,并转换为大数据平台指定的格式文件;如果所述关系型数据库与大数据平台在同一个网络环境中时,将所述指定格式的文件存储至获取的分布式文件系统路径中;否则通过中间媒介将所述指定格式的文件存储至获取的分布式文件系统路径中。优选的,所述通过中间媒介将所述指定格式的文件存储至获取的分布式文件系统路径中,包括:将所述指定格式的文件转存为中间文件;将所述中间文件通过转存方式转存至获取的分布式文件系统路径中。优选的,所述将所述指定格式的文件转存为中间文件,包括:将所述指定格式的文件中每一个表对应生成一个中间文件,并以表名对相应的中间文件进行命名;基于预先设置的路径将所有的中间文件进行保存。优选的,所述将所述中间文件通过转存方式转存至获取的分布式文件系统路径中,包括:将所述中间文件通过网络转存或移动设备转存至获取的分布式文件系统路径中。优选的,所述将所述指定格式的文件转存为中间文件,还包括:对所述指定格式的文件进行加密转存为中间文件。优选的,所述在关系型数据库文件中抽取待转存的数据,包括:将关系型数据库中需要转存的多个表转化为对应的待转存文件;基于预先设定的参数获取需要转存的数据,并转换为大数据平台指定的格式文件;其中所述预先设定的参数包括:每个待转存文件中根据关系型数据库中需要转存的表的表名和对应表的属性列名称。基于同一发明构思,本发明还提供了一种基于关系型数据库转存大数据平台的系统,包括:预处理模块,用于在关系型数据库文件中抽取待转存的数据,并转换为大数据平台指定的格式文件;处理方案模块,用于如果所述关系型数据库与大数据平台在同一个网络环境中时,将所述指定格式的文件存储至获取的分布式文件系统路径中;否则通过中间媒介将所述指定格式的文件存储至获取的分布式文件系统路径中。优选的,所述处理方案模块,包括:中间子模块,用于将所述指定格式的文件转存为中间文件;转存子模块,用于将所述中间文件通过转存方式转存至获取的分布式文件系统路径中。优选的,所述中间子模块,包括:中间单元,用于将所述指定格式的文件中每一个表对应生成一个中间文件,并以表名对相应的中间文件进行命名;保存单元,用于基于预先设置的路径将所有的中间文件进行保存。优选的,所述预处理模块,包括:转化单元,用于将关系型数据库中需要转存的多个表转化为对应的待转存文件;获取单元,用于基于预先设定的参数获取需要转存的数据,并转换为大数据平台指定的格式文件;其中所述预先设定的参数包括:每个待转存文件中根据关系型数据库中需要转存的表的表名、对应表的属性列名称。与最接近的现有技术相比,本发明提供的技术方案具有以下有益效果:本发明提供的技术方案,在关系型数据库文件中抽取待转存的数据,并转换为大数据平台指定的格式文件;如果所述关系型数据库与大数据平台在同一个网络环境中时,将所述指定格式的文件存储至获取的分布式文件系统路径中;否则通过中间媒介将所述指定格式的文件存储至获取的分布式文件系统路径中,与传统的etl工具相比,解决了etl只能转存关系型数据源和大数据平台在同一网络的缺点,从而满足了不同的网络环境要求,进而提高了效率。本发明提供的技术方案,用这种方式进行数据信息收集到大数据平台,对以后用大数据的方法进行数据的分析、挖掘进行铺垫。附图说明图1为本发明中一种基于关系型数据库转存大数据平台的方法流程图;图2为本发明实施例中基于关系型数据库转存大数据平台的判断框图;图3为本发明实施例的数据源表结构格式示意图;图4为本发明实施例中数据库中数据格式示意图;图5为本发明实施例中本地生成临时文件示意图;图6为本发明实施例中经过转存后保存的大数据平台中的示意图。具体实施方式为了更好地理解本发明,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。图1为一种基于关系型数据库转存大数据平台方法的流程图,如图1所示,包括:步骤s101,在关系型数据库文件中抽取待转存的数据,并转换为大数据平台指定的格式文件;步骤s102,如果所述关系型数据库与大数据平台在同一个网络环境中时,将所述指定格式的文件存储至获取的分布式文件系统路径中;否则通过中间媒介将所述指定格式的文件存储至获取的分布式文件系统路径中。步骤s101,在关系型数据库文件中抽取待转存的数据,并转换为大数据平台指定的格式文件,包括:将关系型数据库中需要转存的多个表转化为对应的待转存文件;基于预先设定的参数获取需要转存的数据,并转换为大数据平台指定的格式文件;其中预先设定的参数包括:每个待转存文件中根据关系型数据库中需要转存的表的表名、对应表的属性列名称。步骤s102中通过中间媒介将指定格式的文件存储至获取的分布式文件系统路径中,包括:将指定格式的文件转存为中间文件;将中间文件通过转存方式转存至获取的分布式文件系统路径中。其中,将指定格式的文件转存为中间文件,包括:将指定格式的文件中每一个表对应生成一个中间文件,并以表名对相应的中间文件进行命名;基于预先设置的路径将所有的中间文件进行保存。将指定格式的文件转存为中间文件,还包括:对指定格式的文件进行加密转存为中间文件。进一步的,将中间文件通过转存方式转存至获取的分布式文件系统路径中,包括:将中间文件通过网络或移动设备转存至获取的分布式文件系统路径中。本实施中还提供了基于本发明的方法具体操作包括:步骤1:在配置文件中配置数据库有关的信息,确定是转换某个表还是整个数据库中所有的表。例如在配置文件中配置了oracle数据库的驱动名称,访问路径,用户名称和密码信息。当需要转存多张表格时,还需要配置转存的数据库表和对应的属性列名称。步骤2:在配置文件中配置大数据平台所需要的信息,在一个公共类中配置一个静态变量对应于大数据的分布式文件系统的路径,配置这个参数的依据是在跟大数据底层的hdfs文件系统进行通信的时候必须知道对应的文件主节点namenode的配置信息,这个信息可以从大数据平台的配置文件中获取。步骤3:如图2所示,基于关系型数据源转存大数据平台的判断框图,包括:根据需求,判断数据库服务器是否跟大数据平台不在同一个网络下的话。如果不在同一网络则执行步骤4,如果在同一网络则执行步骤5。步骤4:当数据库数据源和大数据平台不在同一网络中,把数据库中的数据源表操作转存到本地临时文件中,如附图3、图4所示为数据库中数据源表结构格式示意图,附图5为本地生成临时文件示意图。然后再把本地生成的临时文件转存到大数据平台系统中,附图6为经过转存后保存的大数据平台中的示意图。如果是单表转存的话,在配置文件配置数据库表名称和表的属性列名称两个参数,这两个分别对应数据库中的表名和对应表的属性列名称;第一步需要从关系型数据库单个表中抽取数据生成文件到本地目录,执行如下命令java-cpadapter.jarcom.thp.adapter.hadoop.rdmsone2localdirarg1在执行过程中会自动去配置文件读取数据库表名称和表的属性列名称两个参数分别对应数据库中的表名和对应表的属性列名称。根据参数arg1来确定保存的位置,然后生成的文件再通过u盘等移动设备复制到大数据平台其中一台机器或者同一网络下的机器上面执行如下命令java-cpadapter.jarcom.thp.adapter.hadoop.copyfile2hdfsoptsarg1arg2;其中,arg1代表中间的结果文件路径,arg2代表存储的大数据平台的目录,执行上面的命令就会从中间的结果文件路径下获取数据然后存储到对应大数据平台的目录下。如果是数据库对应下的所有表转存的话,需要从关系型数据库中所有的表抽取数据生成文件到本地目录,则执行如下命令:java-cpadapter.jarcom.thp.adapter.hadoop.rdmsall2localdirarg1根据参数arg1来确定保存的位置,每一个表对应一个文件,而且表名对应文件名,然后生成的文件再通过u盘等存储工具复制到大数据平台其中一台机器或者同一网络下的机器上面执行如下命令:java-cpadapter.jarcom.thp.adapter.hadoop.copyfile2hdfsoptsarg1arg2,从临时的目录下获取所有文件名然后存储到对应大数据平台的目录下。步骤5:当数据库数据源和大数据平台在同一网络中,直接操作关系型数据库中的数据转存到大数据平台系统中。如果是单表转存的话,首先需要在配置文件db.properties配置tablename和attributes两个参数,这两个分别对应数据库中的表名和对应表的属性值。java-cpadapter.jarcom.thp.adapter.hadoop.localrdb2hadoopoptsarg1,根据参数arg1来确定转存的路径位置。如果是数据库下所有表的转存,执行如下命令:java-cpadapter.jarcom.thp.adapter.hadoop.rdmsall2hadoopoptsarg1,参数arg1代表大数据存储目录。基于同一发明构思,本实施例中还提供了一种基于关系型数据库转存大数据平台的系统,包括:预处理模块,用于在关系型数据库文件中抽取待转存的数据,并转换为大数据平台指定的格式文件;处理方案模块,用于如果所述关系型数据库与大数据平台在同一个网络环境中时,将所述指定格式的文件存储至获取的分布式文件系统路径中;否则通过中间媒介将所述指定格式的文件存储至获取的分布式文件系统路径中。实施例中,所述处理方案模块,包括:中间子模块,用于将所述指定格式的文件转存为中间文件;转存子模块,用于将所述中间文件通过转存方式转存至获取的分布式文件系统路径中。实施例中,所述中间子模块,包括:中间单元,用于将所述指定格式的文件中每一个表对应生成一个中间文件,并以表名对相应的中间文件进行命名;保存单元,用于基于预先设置的路径将所有的中间文件进行保存。实施例中,所述预处理模块,包括:转化单元,用于将关系型数据库中需要转存的多个表转化为对应的待转存文件;获取单元,用于基于预先设定的参数获取需要转存的数据,并转换为大数据平台指定的格式文件;其中所述预先设定的参数包括:每个待转存文件中根据关系型数据库中需要转存的表的表名、对应表的属性列名称。本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。以上仅为本发明的实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均包含在申请待批的本发明的权利要求范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1