一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于kettle的轻量级数据采集方法及设备与流程

2023-02-04 16:05:01 来源:中国专利 TAG:


1.本技术涉及数据etl技术领域,尤其涉及一种基于kettle的轻量级数据采集方法及设备。


背景技术:

2.kettle是采用客户端服务器端(client/server,c/s)架构的客户端工具,需要etl从业人员单独维护一套kettle。特别是对于企业中多个部门的数据如何进行抽取、转换和加载到统一的数据仓库中,如何协调管理和监控kettle集群中的任务,如何对不同部门的使用者进行管理等,都是使用传统的kettle客户端工具所需要解决的问题。
3.目前的主要解决方式是基于kettle客户端工具,对业务提出的一些数据分发、同步等任务进行处理,本质上对于etl工作还是使用的kettle客户端工具,需要使用kettle客户端生成转换和作业,然后在此基础上,通过开发的另外一个系统来完成任务调度或管理、监控kettle中转换、作业等工作,这会导致用户需要在kettle客户端和其他一个或多个系统之间频繁切换,容易出错,同时也增加了工作的复杂性及人力成本。


技术实现要素:

4.本技术实施例提供了一种基于kettle的轻量级数据采集方法及设备,用于解决如下技术问题:现有的数据采集方法需要在kettle客户端与系统之间频繁切换,工作复杂性高。
5.本技术实施例采用下述技术方案:
6.一方面,本技术实施例提供了一种基于kettle的轻量级数据采集方法,方法包括:根据kettle资源库连接信息,将分布式可视化任务调度系统与已配置的kettle资源库建立连接;基于数据转换指令,调用已连接的kettle资源库,并在所述分布式可视化任务调度系统中创建对应的数据转换任务;根据用户设置,对需要调度的数据转换任务进行定时设置,并根据所述定时设置,执行所述需要调度的数据转换任务,以在所述分布式可视化任务调度系统中完成轻量级数据采集。
7.在一种可行的实施方式中,根据kettle资源库连接信息,将分布式可视化任务调度系统与已配置的kettle资源库建立连接,具体包括:接收用户在分布式可视化任务调度系统的web端填写的kettle资源库连接信息;其中,所述kettle资源库连接信息至少包括以下一项或多项:资源库的数据库类型、ip、端口号、账号、密码;根据所述kettle资源库连接信息,调用对应的kettle api,将所述分布式可视化任务调度系统与对应的kettle资源库建立连接;若无法连接到对应的kettle资源库,则给出提示信息,以使用户修改所述kettle资源库连接信息并再次尝试连接。
8.在一种可行的实施方式中,在根据所述kettle资源库连接信息,调用对应的kettle api,将所述分布式可视化任务调度系统与对应的kettle资源库建立连接之后,所述方法还包括:所述kettle资源库连接成功后,通过所述kettle api,将所述kettle资源库
中的业务数据固化到数据表中,并将所述数据表保存到所述分布式可视化任务调度系统的数据库中;将连接成功的kettle资源库名称存入所述数据库中的资源库列表。
9.在一种可行的实施方式中,在根据kettle资源库连接信息,将分布式可视化任务调度系统与已配置的kettle资源库建立连接之后,所述方法还包括:基于预设时间间隔,查询所述分布式可视化任务调度系统的数据库中的资源库列表;循环调用所述资源库列表中每个kettle资源库的kettle api,获取每个kettle资源库的连接状态信息;将kettle资源库名称及对应的连接状态信息封装到远程字典服务器redis中;若kettle资源库新增或修改,则将新增信息或修改信息保存到远程字典服务器redis中。
10.在一种可行的实施方式中,基于数据转换指令,调用已连接的kettle资源库,并在所述分布式可视化任务调度系统中创建对应的数据转换任务,具体包括:响应于用户在所述分布式可视化任务调度系统的web端新建数据转换任务的操作,生成所述数据转换指令;根据所述数据转换指令,调用对应的kettle api,并打开所述分布式可视化任务调度系统的kettle任务转换页面,提示所述用户在所述kettle任务转换页面中编辑任务内容;响应于用户结束编辑的操作,根据所述任务内容创建数据转换任务,并将所述数据转换任务保存到对应的kettle资源库。
11.在一种可行的实施方式中,根据用户设置,对需要调度的数据转换任务进行定时设置,并根据所述定时设置,执行所述需要调度的数据转换任务,具体包括:基于用户在所述分布式可视化任务调度系统的web端输入的任务定时信息,对所述用户选择的需要调度的数据转换任务进行定时设置;其中,所述任务定时信息至少包括:定时时间、执行频率;将所述定时任务信息保存到所述分布式可视化任务调度系统的数据库;通过quartz定时调度框架,加载所述数据库中保存的定时任务信息,并根据所述定时任务信息中的定时时间以及执行频率,执行所述数据转换任务。
12.在一种可行的实施方式中,执行所述数据转换任务,具体包括:在所述数据转换任务执行时,判断所述数据转换任务的处理对象;其中,所述处理对象包括kettle资源库以及任务脚本文件;若处理对象为任务脚本文件,则根据所述数据转换任务中指定的文件存储路径,获取所述任务脚本文件进行执行;若处理对象为kettle资源库,则连接所述kettle资源库,并根据任务id,在所述kettle资源库中查询任务配置信息以及任务脚本文件;调用所述kettle资源库的kettle api,执行所述任务脚本文件,并将执行结果记录到所述分布式可视化任务调度系统的任务执行历史表中。
13.在一种可行的实施方式中,在执行所述需要调度的数据转换任务,以在所述分布式可视化任务调度系统中完成轻量级数据采集之后,所述方法还包括:基于用户查询任务执行结果的操作,将所述任务执行历史表中的任务执行日志按照预设模板进行分组统计,并将统计结果显示在所述分布式可视化任务调度系统的web界面中,供用户查看;其中,所述统计结果至少包括任务执行次数及任务执行结果。
14.在一种可行的实施方式中,所述方法还包括:监控所述数据转换任务的执行次数、成功次数以及失败次数,并显示在所述分布式可视化任务调度系统的web界面中;若所述数据转换任务执行失败,则发送告警信息给创建所述数据任务的用户。
15.另一方面,本技术实施例还提供了一种基于kettle的轻量级数据采集设备,所述设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存
储器存储有能够被所述至少一个处理器执行的指令,以使所述至少一个处理器能够执行根据上述任一实施方式所述的一种基于kettle的轻量级数据采集方法。
16.与现有技术相比,本技术实施例提供的一种基于kettle的轻量级数据采集方法及设备,具有如下有益效果:
17.1、本技术在web端进行etl任务编辑,并在系统的web端直接调用kettle资源库,不需要再下载kettle客户端,在一个系统中即可实现数据转换,不需要在系统和kettle客户端之间切换,提供了简单易用的操作界面,降低了用户学习成本,缩短任务配置时间,避免配置过程中出错。
18.2、本技术将etl任务保存在资源库中,并将etl任务调度功能在web页面实现,方便版本管理和维护,更加易于使用。
19.3、本技术增加了任务监控功能和etl日志查看功能,可以直观展示任务运行情况以及任务运行历史。
附图说明
20.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
21.图1为本技术实施例提供的一种基于kettle的轻量级数据采集方法流程图;
22.图2为本技术实施例提供的一种基于kettle的轻量级数据采集设备的结构示意图。
具体实施方式
23.为了使本技术领域的人员更好地理解本技术中的技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
24.具体地,kettle(kettlee.t.t.lenvironment的缩写)是一款国外开源的etl(extract-transform-load的缩写),用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程工具,采用纯java语言编写,可以运行在windows、linux、unix等平台上,数据抽取高效稳定。
25.本技术实施例提供了一种基于kettle的轻量级数据采集方法,应用于在kettle工具的基础上开发的分布式可视化任务调度系统中,系统对接webspoon,支持在线编辑kettle脚本,通过数据整合功能,可同步资源库中已有的脚本,用户在创建完脚本之后,可通过系统任务管理,创建数据同步任务,监控任务运行情况,如图1所示,基于kettle的轻量级数据采集方法具体包括步骤s101-s103:
26.s101、根据kettle资源库连接信息,将分布式可视化任务调度系统与已配置的kettle资源库建立连接。
27.首先,用户在分布式可视化任务调度系统的web端页面中填写已配置好的kettle资源库的连接信息;kettle资源库连接信息包括资源库的数据库类型、ip、端口号、账号、密码等。然后根据连接信息,调用对应的kettle api,将分布式可视化任务调度系统与对应的kettle资源库建立连接。
28.在一个实施例中,用户可以提前使用kettle工具配置需要的kettle资源库,并通过上述方法在分布式可视化任务调度系统中连接自己配置的一个或多个kettle资源库。
29.作为一种可行的实施方式,若无法连接到对应的kettle资源库,则给出提示信息,以使用户修改连接信息再次尝试连接。无法连接的原因包括连接信息填写错误、网络连接错误等。
30.在一个实施例中,用户在web页面中填写资源库类型、ip、端口号、账号、密码等信息调用kettle api,尝试链接资源库,如果可以连接到资源库,分布式可视化任务调度系统会将资源库中的业务数据固化到自己系统的数据表中,便于查看。如果无法连接到资源库,则给出提示信息,提醒用户通过修改连接信息再次尝试连接。
31.进一步地,kettle资源库连接成功后,通过kettle api,将kettle资源库中的业务数据固化到数据表中,并将数据表保存到分布式可视化任务调度系统的数据库。将连接成功的kettle资源库名称存入数据库中的资源库列表。
32.作为一种可行的实施方式,在分布式可视化任务调度系统与已配置的kettle资源库建立连接之后,方法还包括:基于预设时间间隔,查询数据库中的资源库列表;循环调用资源库列表中每个kettle资源库的kettle api,获取每个kettle资源库的连接状态信息;然后将kettle资源库名称及对应的连接状态信息封装到远程字典服务器(remote dictionary server,redis)中;若kettle资源库新增或修改,也将新增信息或修改信息保存到redis中。
33.在一个实施例中,每个小时定时查询数据库中已经配置的资源库列表,循环调用kettle api获取资源库连接状态信息,同时将资源库和连接状态封装到redis中,用户查询时,优先从redis中获取连接状态信息。
34.s102、基于数据转换指令,调用已连接的kettle资源库,并在分布式可视化任务调度系统中创建对应的数据转换任务。
35.具体地,分布式可视化任务调度系统响应于用户在web端页面中新建数据转换任务的操作,生成数据转换指令,然后根据数据转换指令,调用对应的kettle api,并打开kettle任务转换页面,提示用户在kettle任务转换页面中编辑任务内容。
36.进一步地,响应于用户结束编辑的操作,根据任务内容创建数据转换任务,并将数据转换任务保存到对应的kettle资源库。
37.在一个实施例中,本技术提供的分布式可视化任务调度系统支持在线编辑kettle脚本功能:用户可以直接在web端页面中点击编辑直接打开kettle任务转换页面,进行kettle任务编辑操作,实现kettle脚本的创建、修改、删除等操作,同时会调用kettle api,将创建或修改的脚本保存到kettle资源库中。
38.s103、根据用户设置,对需要调度的数据转换任务进行定时设置,并根据定时设置,执行需要调度的数据转换任务,以在分布式可视化任务调度系统中完成轻量级数据采集。
39.具体地,基于用户在web端输入的任务定时信息,对用户选择的需要调度的数据转换任务进行定时设置;其中,任务定时信息至少包括:定时时间、执行频率。
40.进一步地,将定时任务信息保存到数据库;然后,通过quartz定时调度框架,加载数据库中保存的定时任务信息,并根据定时任务信息中的定时时间以及执行频率,执行数据转换任务,完成轻量级数据采集。
41.作为一种可行的实施方式,在数据转换任务执行时,首先需要判断数据转换任务的处理对象;其中,处理对象包括kettle资源库以及任务脚本文件。若处理对象为任务脚本文件,则根据数据转换任务中指定的文件存储路径,获取任务脚本文件进行执行;若处理对象为kettle资源库,则连接kettle资源库,并根据任务id,在kettle资源库中查询任务配置信息以及任务脚本文件。
42.作为一种可行的实施方式,本技术提供的分布式可视化任务调度系统还可以查看脚本执行结果日志:调用kettle资源库的kettle api,执行任务脚本文件,并将执行结果记录到任务执行历史表中。基于用户查询任务执行结果的操作,将任务执行历史表中的任务执行日志按照预设模板进行分组统计,并将统计结果显示在web端的web界面中,供用户查看;其中,统计结果至少包括任务执行次数及任务执行结果。
43.作为一种可行的实施方式,本技术提供的分布式可视化任务调度系统还可以进行任务监控及告警:监控数据转换任务的执行次数、成功次数以及失败次数,并显示在web端的web界面中;若数据转换任务执行失败,则发送告警信息给创建数据任务的用户。
44.另外,本技术实施例还提供了一种基于kettle的轻量级数据采集设备,如图2所示,基于kettle的轻量级数据采集设备具体包括:
45.至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,
46.存储器存储有能够被至少一个处理器执行的指令,以使至少一个处理器能够执行:
47.根据kettle资源库连接信息,将分布式可视化任务调度系统与已配置的kettle资源库建立连接;
48.基于数据转换指令,调用已连接的kettle资源库,并在所述分布式可视化任务调度系统中创建对应的数据转换任务;
49.根据用户设置,对需要调度的数据转换任务进行定时设置,并根据所述定时设置,执行所述需要调度的数据转换任务,以在所述分布式可视化任务调度系统中完成轻量级数据采集。
50.本技术实施例提供的一种基于kettle的轻量级数据采集方法及设备,在可视化界面中实现了etl任务创建、任务监控、任务调度。提供了简单易用的操作界面,降低用户学习成本,缩短任务配置时间,避免配置过程中出错。系统对接webspoon,支持在线编辑kettle脚本,通过数据整合功能,可同步资源库中已有的脚本,用户在创建完脚本之后,可通过系统任务管理,创建数据同步任务,监控任务运行情况,操作简单,且容易推广。分布式部署,可以扩展性更好。
51.本技术中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的
部分说明即可。
52.上述对本技术特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
53.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术的实施例可以有各种更改和变化。凡在本技术实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献