本发明涉及Web管理Kettle工具技术领域,特别涉及一种基于Web管理和调度Kettle抽数工具的方法。
背景技术:
信息是现代企业的重要资源,是企业运用科学管理、决策分析的基础。目前,大多数企业花费大量的资金和时间来构建联机事务处理OLTP的业务系统和办公自动化系统,用来记录事务处理的各种相关数据。据统计,数据量每2~3年时间就会成倍增长,这些数据蕴含着巨大的商业价值,而企业所关注的通常只占在总数据量的2%~4%左右。因此,企业仍然没有最大化地利用已存在的数据资源,以致于浪费了更多的时间和资金,也失去制定关键商业决策的最佳契机。于是,企业如何通过各种技术手段,并把数据转换为信息、知识,已经成了提高其核心竞争力的主要瓶颈。而ETL(Extraction-Transformation-Loading,数据抽取、转换和加载)工具则是主要的一个技术手段。
ETL是数据抽取(Extract)、清洗(Cleaning)、转换(Transform)、装载(Load)的过程,是构建数据仓库的重要一环。用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。
ETL工具负责将分布的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础。ETL是BI(Business Intelligence,商业智能)项目最重要的一个环节,通常情况下ETL会花掉整个项目的1/3的时间,ETL工具设计的好坏直接关接到BI项目的成败。ETL工具也是一个长期的过程,只有不断的发现问题并解决问题,才能使ETL工具运行效率更高,为项目后期开发提供准确的数据。
为了帮助企业或行业应用用户处理经常遇到的各种数据的处理,转换和迁移,Kettle工具应运而生。
Kettle工具是为了解决数据抽取而产生的一款非常优秀的开源ETL工具。Kettle工具可以在Window环境、Linux环境和Unix环境中运行,支持图形化的GUI(Graphical User Interface,图形用户界面)设计界面,然后可以以工作流的形式流转,在做一些简单或复杂的数据抽取、质量检测、数据清洗、数据转换、数据过滤等方面有着比较稳定的表现。更重要的是,用户通过熟练的应用Kettle工具,能够减少非常多的研发工作量,提高用户的工作效率。
但是,Kettle工具在使用过程中也有很多不便利的地方,比如只支持桌面版的GUI,没有Web页面来管理和调度Kettle任务。如果安装部署到linux环境中,没有安装桌面工具的linux系统则无法方便快捷的使用Kettle。Kettle工具急需一个专业的Web调度页面来管理和调度Kettle任务。
基于上述情况,本发明设计了一种基于Web管理和调度Kettle抽数工具的方法。
技术实现要素:
本发明为了弥补现有技术的缺陷,提供了一种简单高效的基于Web管理和调度Kettle抽数工具的方法。
本发明是通过如下技术方案实现的:
一种基于Web管理和调度Kettle抽数工具的方法,其特征在于:由于Kettle抽数工具本身为开源项目,源代码共享,因而可以将Kettle源码集成到包含前端架构的Web应用中,通过适配器模式开发出能够正常调用Kettle API((Application Programming Interface,应用程序编程接口)类的方法来执行转换和作业,并且使用time-quartz框架完成调度工作。
所述Web应用前端采用bootstrap,后端采用spring boot+spring mvc+spring+mybatis,数据库使用MySQL数据库。
所述Web应用打包部署到Tomcat服务器后,可以通过浏览器Web页面直接调度Kettle任务,管理作业转换,监控作业状态,并实时监控Kettle调度任务,邮件通知工作人员数据转换结果,将Kettle任务状态及时反馈给工作人员,使工作人员能够第一时间掌握数据转换结果。
当一个任务,包括作业和转换,启动后,这个任务就处于系统的监控状态下;所述Web应用UI(User Interface用户界面)界面中,首页用于显示监控信息;查看详情页面可以查看每次执行任务的日志及执行时间,且日志可以下载。
所述监控信息包括总监控任务数,监控作业数,监控转换数,转换监控记录,作业监控记录以及一个月内作业和转换的监控状况。
所述Web应用UI(User Interface用户界面)界面中,首页仅显示前10条转换监控记录和前10条作业监控记录。
所述Web应用对Kettle抽数工具的管理,包括数据库资源库管理,作业定时任务管理,执行策略管理和对处于运行的作业的作业监控管理。
所述数据库资源库管理包括新增,修改和删除数据库资源库;
所述作业定时任务管理包括新增,修改和删除作业定时任务,启动作业定时任务后作业即开始运行;
所述执行策略管理包括新增,修改和删除执行策略或定时执行策略;
所述作业监控管理包括监控总作业任务数,总执行成功次数,总执行失败次数以及每个作业的成功次数和失败次数。
本发明的有益效果是:该基于Web管理和调度Kettle抽数工具的方法,使用Web页面就能够管理和调度Kettle任务,不但减少了Kettle对自身GUI的依赖,还减少了系统环境对使用Kettle便利性的影响,同时支持对Kettle调用日志的监控,使开发人员能够更精准的监控Kettle任务,能够随时掌握Kettle工具中各个任务的工作状态,能够保证Kettle工具的稳定运行。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
该基于Web管理和调度Kettle抽数工具的方法,由于Kettle抽数工具本身为开源项目,源代码共享,因而可以将Kettle源码集成到包含前端架构的Web应用中,通过适配器模式开发出能够正常调用Kettle API((Application Programming Interface,应用程序编程接口)类的方法来执行转换和作业,并且使用time-quartz框架完成调度工作。
time-quartz框架是一个定时任务框架,可以实现异常灵活的定时任务。开发人员只要编写少量的代码就可以实现“每隔1小时执行”、“每天22点执行”、“每月18号的下午执行8次”等各种定时任务。
所述Web应用前端采用bootstrap,后端采用spring boot+spring mvc+spring+mybatis,数据库使用MySQL数据库。
Bootstrap是Twitter推出的一个开源的用于web前端开发的工具包,是基于jQuery框架开发的。它在jQuery框架的基础上进行了更为个性化和人性化的完善,形成一套自己独有的网站风格,并兼容大部分jQuery插件。
所述Web应用打包部署到Tomcat服务器后,可以通过浏览器Web页面直接调度Kettle任务,管理作业转换,监控作业状态,并实时监控Kettle调度任务,邮件通知工作人员数据转换结果,将Kettle任务状态及时反馈给工作人员,使工作人员能够第一时间掌握数据转换结果。
Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
当一个任务,包括作业和转换,启动后,这个任务就处于系统的监控状态下;所述Web应用UI(User Interface用户界面)界面中,首页用于显示监控信息;查看详情页面可以查看每次执行任务的日志及执行时间,且日志可以下载。
所述监控信息包括总监控任务数,监控作业数,监控转换数,转换监控记录,作业监控记录以及一个月内作业和转换的监控状况。
所述Web应用UI(User Interface用户界面)界面中,首页仅显示前10条转换监控记录和前10条作业监控记录。
所述Web应用对Kettle抽数工具的管理,包括数据库资源库管理,作业定时任务管理,执行策略管理和对处于运行的作业的作业监控管理。
所述数据库资源库管理包括新增,修改和删除数据库资源库;
所述作业定时任务管理包括新增,修改和删除作业定时任务,启动作业定时任务后作业即开始运行;
所述执行策略管理包括新增,修改和删除执行策略或定时执行策略;
所述作业监控管理包括监控总作业任务数,总执行成功次数,总执行失败次数以及每个作业的成功次数和失败次数。
该基于Web管理和调度Kettle抽数工具的方法,使用Web页面就能够管理和调度Kettle任务,不但减少了Kettle对自身GUI的依赖,还减少了系统环境对使用Kettle便利性的影响,同时支持对Kettle调用日志的监控,使开发人员能够更精准的监控Kettle任务,能够随时掌握Kettle工具中各个任务的工作状态,能够保证Kettle工具的稳定运行。
以上所述的实施例,只是本发明具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。