一种基于BS和CS架构的数据ETL构建方法和系统技术方案

技术编号:29789843 阅读:58 留言:0更新日期:2021-08-24 18:08
本发明专利技术实施例提供基于BS和CS架构的数据ETL构建方法和系统,创建城市大脑的数据库;新建WEB应用,在WEB应用中调用集成于WEB应用中的Kettle源码,生成Kettle数据库资源库并保存;将数据库资源库配置到预先创建的所述数据库;当根据预先设置的任务调度方法调度数据库资源库中的任务时,获取与数据库资源库对应配置的数据库中存储的数据,进行清洗、转换和加载操作。本发明专利技术减少系统环境对使用Kettle便利性的影响,支持对Kettle调用日志的监控,使开发人员能够更精准的监控Kettle任务,随时掌握Kettle工具中各任务的工作状态,保证Kettle工具稳定运行。

【技术实现步骤摘要】
一种基于BS和CS架构的数据ETL构建方法和系统
本专利技术涉及城市大脑的数据ETL系统
,具体涉及一种基于BS和CS架构的数据ETL构建方法和系统。
技术介绍
信息是现代企业的重要资源,是企业运用科学管理、决策分析的基础。目前,大多数企业花费大量的资金和时间来构建联机事务处理OLTP的业务系统和办公自动化系统,用来记录事务处理的各种相关数据。据统计,数据量每2-3年时间就会成倍增长,这些数据蕴含着巨大的商业价值,而企业所关注的通常只占总数据量的2%-4%左右。因此,企业仍然没有最大化地利用已存在的数据资源,以致于浪费了更多的时间和资金,也失去制定关键商业决策的最佳契机。于是,企业如何通过各种手段,并把数据转换为信息、知识,已经成了提高其核心竞争力的主要瓶颈。而ETL(Extraction-Transformation-Loading,数据抽取、转换和加载)工具则是主要的一个技术手段。数据ETL是构建数据仓库比较重要的一个部分,其按照预先设计好的规则,提供不同数据源的数据进行抽取、转换和清洗,集成和净化来自于多个不同系统的数据,最后将转换完的数据增量或者全部数据载入目标数据库中。数据ETL的处理过程,从不同的异构数据源流得到相同的目标数据,作为联系分析处理、数据挖掘的基础。目前常用的数据ETL工具分为C/S架构和B/S架构二种。C/S架构:是一种典型的两层架构即客户端/服务器架构,其全称是Client/Server。C/S架构主要特点是交互性强、具有安全的存取模式、网络通信量低、响应速度快、支持功能复杂的UI界面,提供良好的用户体验。C/S架构一般基于TCP实现客户端与服务器的消息交互,需要开发者编码完成Socket的创建、消息收发、销毁管理。C/S架构的软件需要针对不同的操作系统开发不同版本的软件,软件需要独立部署安装,需要较高的开发维护及分发安装升级成本。B/S架构:全称为Browser/Server:即浏览器/服务器架构。B/S模式使用成熟的WEB服务器(如Tomcat)与浏览器实现Socket消息交互,浏览器通过解释执行WEB服务器生成的网页脚本控制UI界面显示,软件运算功能主要集中于服务器端,浏览器主要用于结果展示以及接收用户输入。B/S架构无需在客户端独立布署程序,减轻了系统开发维护、分发布署升级的支出成本。但数据安全性问题、对服务器要求过高、消息传输开销大、软件缺乏个性化,难以实现传统模式下的特殊功能要求。对于实现复杂的应用功能有较大的困难。常用的数据ETL工具虽然各有其优点,但是缺点也很突出,基于基于C/S架构工具的缺点:1、适用面窄,通常用于局域网中;2、用户群固定。由于程序需要安装才可使用,因此不适合面向一些不可知的用户;3、维护成本高,发生一次升级,则所有客户端的程序都需要改变;4、客户端需要独立安装,分发安装升级代价较高;5、兼容性差,对于不同的操作系统,通常需要改写程序;6、开发、维护成本较高,需要具有一定专业水准的技术人员才能完成。基于B/S架构工具的缺点:1、功能薄弱,无法实现复杂的界面功能;2、在跨浏览器上,B/S架构不尽如人意;3、大部分操作需要与WEB服务器通过HTTP进行消息交互,用户操作响应慢;4、表现要达到C/S程序的程度需要花费不少精力;5、在速度和安全性上需要花费巨大的设计成本,这是B/S架构的最大问题;6、客户端服务器端的交互是请求-响应模式,通常需要刷新页面,这并不是客户乐意看到的。
技术实现思路
因此,为了能够解决上述单独采用C/S或B/S架构存在的技术问题,本专利技术实施例提供一种基于BS和CS架构的数据ETL构建方法和系统,该方法将Kettle源码集成到包含前端架构的WEB应用中,通过适配器模式开发出能够正常调用KettleAPI类的方法来执行数据抽取任务,并根据业务需要,使用time-quartz框架设置了适用于城市大脑场景的任务调度工作。其具体技术方案如下:为实现上述目的,本专利技术实施例提供一种基于BS和CS架构的数据ETL构建方法,包括步骤:创建城市大脑的数据库;新建WEB应用,在所述WEB应用中调用集成于所述WEB应用中的Kettle源码,生成Kettle数据库资源库并保存;所述WEB应用用于对所述Kettle的抽取工具进行管理;将所述数据库资源库配置到预先创建的所述数据库;当根据预先设置的任务调度方法调度所述数据库资源库中的任务时,获取与所述数据库资源库对应配置的所述数据库中存储的数据,进行清洗、转换和加载操作。进一步的,所述任务调度方法采用time-quartz框架开发完成。进一步的,所述WEB应用的前端采用bootstrap,后端采用springboot+springmvc+spring+mysql,数据库使用MySQL数据库。进一步的,所述WEB应用中设置有WEB应用UI,所述UI的界面包括首页和查看详情页面;其中,所述首页用于显示监控信息,所述查看详情页面用于查看每次执行任务的日志及执行时间,日志可以下载;所述监控信息包括总监控任务数,监控作业数,监控转换数,转换监控记录,作业监控记录以及一个月内作业和转换的监控状况;所述首页显示前10条转换监控记录和前10条作业监控记录。进一步的,所述WEB应用对所述Kettle抽取工具进行管理,包括数据库资源库管理,作业定时任务管理,执行策略管理和对处于运行的作业监控管理。进一步的,所述数据库资源库管理包括新增,修改和删除数据库资源库;所述作业定时任务管理包括新增,修改和删除作业定时任务,启动作业定时任务后作业即开始运行;所述执行策略管理包括新增,修改和删除执行策略或定时执行策略;所述作业监控管理包括监控总作业任务数,总执行成功次数,总执行失败次数以及每个作业的成功次数和失败次数。进一步的,所述WEB应用部署在Tomcat服务器中。本专利技术实施例的第二方面提供一种基于BS和CS架构的数据ETL构建系统,包括:创建模块,用于创建城市大脑的数据库;生成保存模块,用于新建WEB应用,在所述WEB应用中调用集成于所述WEB应用中的Kettle源码,生成Kettle数据库资源库并保存;所述WEB应用用于对所述Kettle的抽取工具进行管理;配置模块,用于将所述数据库资源库配置到预先创建的所述数据库;任务调度模块,用于当根据预先设置的任务调度方法调度所述数据库资源库中的任务时,获取与所述数据库资源库对应配置的所述数据库中存储的数据,进行清洗、转换和加载操作。本专利技术实施例的第三方面还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器处理上述所述的基于BS和CS架构的数据ETL构建方法的步骤。本专利技术的第四方面提供一种电子设备,该电子设备包括:处理器;以及,被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行上述所述基于BS和CS架构的数据ETL构建本文档来自技高网
...

【技术保护点】
1.一种基于BS和CS架构的数据ETL构建方法,其特征在于,包括步骤:/n创建城市大脑的数据库;/n新建WEB应用,在所述WEB应用中调用集成于所述WEB应用中的Kettle源码,生成Kettle数据库资源库并保存;所述WEB应用用于对所述Kettle的抽取工具进行管理;/n将所述数据库资源库配置到预先创建的所述数据库;/n当根据预先设置的任务调度方法调度所述数据库资源库中的任务时,获取与所述数据库资源库对应配置的所述数据库中存储的数据,进行清洗、转换和加载操作;/n所述WEB应用的前端采用bootstrap,后端采用spring boot+spring mvc+spring+mysql,数据库使用MySQL数据库;/n所述WEB应用前端采用bootstrap,后端采用spring boot+spring mvc+spring+mysql,数据库使用MySQL数据库;所述WEB前端开发的工具包,是基于jQuery框架。/n

【技术特征摘要】
1.一种基于BS和CS架构的数据ETL构建方法,其特征在于,包括步骤:
创建城市大脑的数据库;
新建WEB应用,在所述WEB应用中调用集成于所述WEB应用中的Kettle源码,生成Kettle数据库资源库并保存;所述WEB应用用于对所述Kettle的抽取工具进行管理;
将所述数据库资源库配置到预先创建的所述数据库;
当根据预先设置的任务调度方法调度所述数据库资源库中的任务时,获取与所述数据库资源库对应配置的所述数据库中存储的数据,进行清洗、转换和加载操作;
所述WEB应用的前端采用bootstrap,后端采用springboot+springmvc+spring+mysql,数据库使用MySQL数据库;
所述WEB应用前端采用bootstrap,后端采用springboot+springmvc+spring+mysql,数据库使用MySQL数据库;所述WEB前端开发的工具包,是基于jQuery框架。


2.根据权利要求1所述的基于BS和CS架构的数据ETL构建方法,其特征在于,所述任务调度方法采用time-quartz框架开发完成。


3.根据权利要求1所述的基于BS和CS架构的数据ETL构建方法,其特征在于,所述WEB应用中设置有WEB应用UI,所述UI的界面包括首页和查看详情页面;其中,所述首页用于显示监控信息,所述查看详情页面用于查看每次执行任务的日志及执行时间,日志可以下载;所述监控信息包括总监控任务数,监控作业数,监控转换数,转换监控记录,作业监控记录以及一个月内作业和转换的监控状况;所述首页显示前10条转换监控记录和前10条作业监控记录。


4.根据权利要求1所述的基于BS和CS架构的数据ETL构建方法,其特征在于,所述WEB应用对所述Kettle抽取工具进行管理,包括数据库资源库管理,作业定时任务管...

【专利技术属性】
技术研发人员:苏鹏徐大鹏王婷婷张艳艳王崟乐
申请(专利权)人:中关村科学城城市大脑股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1