实时数据分析界面后台
负责用户对数据处理任务的增删改查。起初为兼容老系统,没有用流行框架。用Axis提供WebService接口。利用JDK动态代理技术,做了统一日志,异常处理。并封装了一套自动事务管理机制。后项目,迁移至SpringBoolt。
实时数据分析预处理
1.将获取的原始数据发送到Kafka中。
2.从Kafka中读取 实时数据处理引擎 分析后的结果写入到数据库中。写入成功后,给用户发送消息。
3.读取用户设置的数据处理任务,更新到Redids中供引擎使用。
通过Kafka实时读取,用户修改的任务,并更新Redis。
实时数据分析引擎
使用Storm做为数据流处理引擎。从Kafkak中读取实时数据,根据用户设置的数据处理任务,对数据流进行分析比对。将结果发送至Kafka。
1.通过模板模式,制定任务处理流程。
2.将不同的处理规则,封装成不同的处理策略。
通过简单工厂模式,根据任务规则ID自动选择对应的处理策略。
Java爬虫
根据客户提供的网址,爬取相关数据。然后利用客户提供的数据处理公式,对爬取的数据进行分析、存储。
1.利用HtmlUnit框架模拟浏览器访问。并执行页面js方法。
2.通过Jsoup获取页面数据。
利用Jdk8的并行流,做多线程并行爬取,以提高爬取速度。