1.什么是采集

在一般的分层业务系统中,数据采集都是一个非常重要的部分:主要负责数据的输入。

2.为什么需要采集

在传统的管理系统中,一般的业务系统都是采集,存储,显示 ,报表,这是传统分层模型下的架构方式下的业务功能;我们重点看一下数据采集部分;

3.场景分析

1.第一种数据采集就是基于请求式样的采集,意味着请求即是采集。常见的情景就是HTTP 请求,把大量请求作为数据源存储都DB中。

2.第二种就是基于网页版的数据采集,前端使用打点技术,没隔一段时间完成数据采集,存储到DB中。

3.最后一种就是数据钻取方式,从中间表查询存储到DB中

4基于ETL导入的方式数据采集。

5.基于消息队列的数据采集,

4.解决方案:

第1种方案就是常见的程序采集,实现是实体类的映射,存储到DB中,主要是实现对Bean的映射和格式转换。入xml,Object,配置文件等自定义数据结构等解析

数组解析,配置文件读取,xml的解析,Object解析,JSON解析,等数据基本数据类型和复杂数据类型解析。

xml这方面实现技术:Jaxb2

配置文件实现jdk protites,Map 映射

xml解析:dom4j,JDOM,

Object:对象之间的映射,一对多,多对一等方式,常见入Herbernate,Mybatis等。

JSON:Gson 实现,fastjson等

第二种方案:是基于网页采集的,常见的入divolte技术等。

第三种方案:比较常见的是启动一个定时任务去采集,我们可以到中间库去采集,查询出中间库的数据,定时采集到自己的业务表中。

第四中方案:利用DB之前的迁移工具,如oracle 的导入泵,RMAN工具等。

第五种方案: 基于消息队列的方式,如kafka进行监听和消费存储到DB中。

开源方案对数据采集的方式:
参见开源中国使用最新的解决方案:

Logo

快速构建 Web 应用程序

更多推荐