用于SAPHANA的数据抽取方法及装置与流程

文档序号:22759889发布日期:2020-10-31 09:58阅读:684来源:国知局
用于SAP HANA的数据抽取方法及装置与流程

本发明涉及数据处理技术领域,具体而言,本发明涉及一种用于saphana的数据抽取方法及装置。



背景技术:

sap,为“systemapplicationsandproducts”的简称,是sap公司的产品——企业管理解决方案的软件名称,saphana平台用于提供高性能的数据查询功能,用户可以直接对大量实时业务数据进行查询和分析,现有的saphana平台定时抽取数据时通过sap数据服务进行抽取,但采用sap数据服务抽取数据时对sap配置文件的配置较繁琐,且出现问题时排查难度大,办事效率低。



技术实现要素:

本发明要解决的技术问题是提供一种用于saphana的数据抽取方法及装置,配置简单,且出现问题时便于排查。

为解决上述技术问题,本发明采用如下技术方案:

一种用于saphana的数据抽取方法,其包括:

在saphana的配置文件中配置源数据库信息、目标sap数据库信息和需抽取数据的表信息;

根据所述配置文件配置的源数据库信息,获取所述需抽取数据的表在源数据库中的表结构信息,并拼装为目标sap数据库中执行的建表语句;

根据所述配置文件配置的目标sap数据库信息,连接目标sap数据库,并执行所述建表语句在目标sap数据库中创建空的目标sap表;

根据所述配置文件配置的源数据库信息,从源数据库中将需抽取的数据读取出来并保存;

根据所述配置文件配置的目标sap数据库信息,将保存的数据写入到目标数据库已创建好的所述目标sap表中。

其中,读取出来的数据保存在文本文件中。

其中,在saphana的配置文件中还配置数据过滤条件,从源数据库中将需抽取的数据读取出来还包括根据数据过滤条件对需抽取的数据进行过滤。

其中,所述源数据库信息包括:源数据库的ip、源数据库的端口、源数据库的用户名和密码、源数据库的数据库实例。

其中,所述目标sap数据库信息包括:目标sap数据库的ip、目标sap数据库的端口、目标sap数据库的用户名和密码。

另外,本发明的一种用于saphana的数据抽取装置,其包括:

配置处理模块,用于在saphana的配置文件中配置源数据库信息、目标sap数据库信息和需抽取数据的表信息;

拼装处理模块,用于根据所述配置文件配置的源数据库信息,获取所述需抽取数据的表在源数据库中的表结构信息,并拼装为目标sap数据库中执行的建表语句;

创建处理模块,用于根据所述配置文件配置的目标sap数据库信息,连接目标sap数据库,并执行所述建表语句在目标sap数据库中创建空的目标sap表;

数据读取处理模块,用于根据所述配置文件配置的源数据库信息,从源数据库中将需抽取的数据读取出来并保存;

数据写入处理模块,根据所述配置文件配置的目标sap数据库信息,将保存的数据写入到目标数据库已创建好的所述目标sap表中。

其中,数据读取处理模块读取出来的数据保存在文本文件中。

其中,配置处理模块在saphana的配置文件中还配置数据过滤条件,数据读取处理模块从源数据库中将需抽取的数据读取出来还包括根据数据过滤条件对需抽取的数据进行过滤。

其中,所述源数据库信息包括:源数据库的ip、源数据库的端口、源数据库的用户名和密码、源数据库的数据库实例。

其中,所述目标sap数据库信息包括:目标sap数据库的ip、目标sap数据库的端口、目标sap数据库的用户名和密码。

与现有技术相比,本发明具有以下有益效果:

本发明的用于saphana的数据抽取方法及装置中,通过在saphana的配置文件中配置源数据库信息、目标sap数据库信息和需抽取数据的表信息;根据所述配置文件配置的源数据库信息,获取所述需抽取数据的表在源数据库中的表结构信息,并拼装为目标sap数据库中执行的建表语句;根据所述配置文件配置的目标sap数据库信息,连接目标sap数据库,并执行所述建表语句在目标sap数据库中创建空的目标sap表;根据所述配置文件配置的源数据库信息,从源数据库中将需抽取的数据读取出来并保存;根据所述配置文件配置的目标sap数据库信息,将保存的数据写入到目标数据库已创建好的所述目标sap表中。由于在saphana的配置文件中仅需配置源数据库信息、目标sap数据库信息和需抽取数据的表信息,因此,配置简单,易于实现,另外,将抽取的数据保存为数据中间文件,便于后续根据数据中间文件进行排查。

附图说明

图1是本发明用于saphana的数据抽取方法的一个具体实施例流程图;

图2是本发明用于saphana的数据抽取装置的一个具体实施例组成框图。

具体实施方式

参考图1,该图是本发明用于saphana的数据抽取方法的一个具体实施例流程图,本实施例的方法主要包括如下步骤:

步骤s101,在saphana的配置文件中配置源数据库信息、目标sap数据库信息和需抽取数据的表信息;具体实现时,所述源数据库信息可包括:源数据库的ip、源数据库的端口、源数据库的用户名和密码、源数据库的数据库实例,所述目标sap数据库信息包括:目标sap数据库的ip、目标sap数据库的端口、目标sap数据库的用户名和密码,实际中具体的源数据库信息和目标sap数据库信息可根据实际情况进行调整,这里不做具体限定;

另外,本实施例中需抽取数据的表信息为需抽取的数据的表名,这里也不对需抽取数据的表信息做具体限定,另外,saphana进行统计和分析时,只需指定的数据,因此可对需抽取的数据进行过滤,本实施例中在saphana的配置文件中还配置数据过滤条件以对抽取的数据进行过滤,这里不再赘述;

步骤s102,根据所述配置文件配置的源数据库信息,获取所述需抽取数据的表在源数据库中的表结构信息,并拼装为目标sap数据库中执行的建表语句;具体实现时,可通过配置文件中的表名读取表中各字段的类型、长度等表结构信息,并通过适当的类型转换,拼装为目标数据库执行的建表语句,这里不再赘述;

步骤s103,根据所述配置文件配置的目标sap数据库信息,连接目标sap数据库,并执行所述建表语句在目标sap数据库中创建空的目标sap表,具体实现时,将拼装好的建表语句在目标sap数据库执行,从而将需抽取数据的表在目标数据库中自动创建起来,这里不再赘述;

步骤s104,根据所述配置文件配置的源数据库信息,从源数据库中将需抽取的数据读取出来并保存,具体实现时,读取出来的数据保存进文本文件中,后续进行排查时,只需查看保存的文本文件中的数据中间文件,便于排查,这里不再赘述;

步骤s105,根据所述配置文件配置的目标sap数据库信息,将保存的数据写入到目标数据库已创建好的所述目标sap表中,具体实现时,例如,从读取保存数据的文本文件,将读取到的数据写入目标sap数据库中已创建好的目标sap表,这里不再赘述。

下面以一个具体的实施例进行说明,将表test_xyk的数据从oracle数据库中抽取到saphana平台中,初始状态spahana平台的数据库中不存在表test_xyk,本实施例中首先将表test_xyk配置进配置文件,配置文件的信息包括:目标sap数据库的ip,目标sap数据库的端口,目标sap数据库的用户名和密码;还有源oracle数据库的ip,源oracle数据库的端口,源oracle数据库的用户名和密码,源oracle数据库的数据库实例;然后根据配置文件先从源oracle数据库中将表text_xyk的数据读取出来保存进tmp.txt的文本文件中;同时也从源oracle数据库中获取text_xyk的表结构信息,例如字段类型及长度,通过类型转换,拼装成目标sap数据库可执行的建表语句;然后根据配置文件,连接目标sap数据库,将拼装好的建表语句,在目标sap数据库中执行,生产空的目标sap表;再读取之前保存数据的tmp.txt文本文件,将读取到的数据,逐条保存进目标sap数据库中。

需要说明的,上述实施例中,仅需在saphana的配置文件中配置源数据库信息、目标sap数据库信息和需抽取数据的表信息,配置简单,易于实现,另外,将抽取的数据保存为数据中间文件,便于后续根据数据中间文件进行排查。

参考图2,该图为本发明用于saphana的数据抽取装置的一个具体实施例组成框图,本实施例的装置主要包括:配置处理模块101、拼装处理模块102、创建处理模块103、数据读取处理模块104和数据写入处理模块105,其中

配置处理模块101,本实施例中配置处理模块101主要用于在saphana的配置文件中配置源数据库信息、目标sap数据库信息和需抽取数据的表信息,具体实现时,配置的源数据库信息可包括:源数据库的ip、源数据库的端口、源数据库的用户名和密码、源数据库的数据库实例,配置的目标sap数据库信息包括:目标sap数据库的ip、目标sap数据库的端口、目标sap数据库的用户名和密码,实际中具体的源数据库信息和目标sap数据库信息可根据实际情况进行调整,这里不做具体限定;

需要说明的,对于只需要指定数据的情况,配置处理模块在saphana的配置文件中还配置数据过滤条件对数据进行过滤;

拼装处理模块102,本实施例中拼装处理模块102主要用于根据所述配置文件配置的源数据库信息,获取所述需抽取数据的表在源数据库中的表结构信息,并拼装为目标sap数据库中执行的建表语句,具体实现时,可通过配置文件中的表名读取表中各字段的类型、长度等表结构信息,并通过适当的类型转换,拼装为目标数据库执行的建表语句,这里不再赘述;

创建处理模块103,本实施例中创建处理模块103主要用于根据所述配置文件配置的目标sap数据库信息,连接目标sap数据库,并执行所述建表语句在目标sap数据库中创建空的目标sap表;

数据读取处理模块104,本实施例中数据读取处理模块104主要用于根据所述配置文件配置的源数据库信息,从源数据库中将需抽取的数据读取出来并保存,具体实现时,读取出来的数据保存进文本文件中,后续进行排查时,只需查看保存的文本文件中的数据中间文件,便于排查,这里不再赘述;

对于配置有过滤条件的情况,,数据读取处理模块从源数据库中将需抽取的数据读取出来还包括根据数据过滤条件对需抽取的数据进行过滤。这里不再赘述;

数据写入处理模块105,本实施例中数据写入处理模块105主要根据所述配置文件配置的目标sap数据库信息,将保存的数据写入到目标数据库已创建好的所述目标sap表中,具体实现时,例如,从读取保存数据的文本文件,将读取到的数据写入目标sap数据库中已创建好的目标sap表,这里不再赘述。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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