爬虫系列之数据质量监控(二):信源系统设计

二、数据监控流程图

爬虫系列之数据质量监控(二):信源系统设计

三、流程详解

(一)信源系统

信源系统主要是用来管理各种规则,同时接收异常信息、并分析异常情况。

根据分析结果,把相应的信息推送给信源管理、采集人员等相关人员,以便优化采集策略及采集器,从而达到采集闭环(采集--反馈--优化采集--采集)。

1)相关规则阐述:

设计数据校验规则的目:

① 为了保证流入产品的数据质量。
② 为了发现采集的不足之处,以便优化采集策略,完善采集器。

终极目标是提高数据产品的用户体验,增强用户粘性

校验规则说明

只有标题非空的信息,才会进行数据质量校验,数据矫正等后续操作。

规则分类说明

① 非空校验规则;type=1
② 数据质量校验规则;type=2
③ 数据清洗规则;type=3
④ 二次排重规则。type=4

非空规则

具体的判断规则,根据索引字段管理中配置为准。包括但不限于下面几方面:

① 标题/评论是否非空;
② [发布时间](http://www.blog2019.net/tag/%E5%8F%91%E5%B8%83%E6%97%B6%E9%97%B4?tagId=31)是否非空;
③ 内容是否非空;
④ 采集时间是否非空;
⑤ 插入时间是否非空;
⑥ 数据类型是否非空;
⑦ 如果为空,就无法判断该条数据使用那一类型的校验规则;
⑧ Kafka根据该字段值,来判断数据存入那个ES索引中;
⑨ 采集人ID标识是否非空。
⑩ 设计该字段的主要用了记录数据来源,以便快速定位到人。
⑪ 新闻或网站类型的数据中site_id和site_name不可为空;

注释事项:

只有标题/评论内容不为空的信息,才可以流入后续环境。

数据质量规则

1)标题:

① 标题是否有乱码;
② 是否出现日期信息。如:
③ 标题是否以”XXXXXX_XXX网站/门户网站”等结束;
④ 标题是否包含JS、CSS样式等。
⑤ 标题是否包含HTML转义字符等;如: 
⑥ 包含特殊格式。比如:

等等

2)正文/评论:

① 是否包含乱码;
② 是否包含JS、CSS;
③ 是否包含无用内容。如:打开APP、查看更多、精彩图片、展开全文、			扫一扫、扫码关注等等;
④ 内容和标题描述是否一致;
⑤ 内容是否包含转义字符等;如下图所示:
⑥ 包含特殊重复格式。比如:多个”

”、换行等同时出现 ⑦ 是否包含版权信息。如:独家稿文,禁止转载等字样

3)发布时间:

① 是否大于采集时间;
② 长度否是19位;
③ 格式是否为:yyyy-MM-dd HH:mm:ss。

数据清洗规则

1)根据域名

根据域名过滤掉整个网站的数据。这种情况主要为应对一些域名异常的情况。比如一些网站实际跳转到一些异常网站等

2)根据关键词进行特定清洗

① 包含某个关键词整行删除。
② 删除某个特定关键词;

二次排重规则

1)排重依据字段。

可以单个字段,也可以是多字段联合排重。比如微信使用“公众号名称”+“标题”的二次排重。

2)排重规则具有唯一性

一种类型的数据只能设置一种排重规则;

2)系统功能设计

规则库管理

① 非空规则的添加、编辑、删除、查询等;type=1
② 数据质量校验规则的添加、编辑、删除、查询等;type=2
③ 数据清洗规则的添加、编辑、删除、查询等;type=3
④ 默认规则参考《相关规则阐述》中《非空规则》、《数据质量规则》和《数据清洗规则》;
⑤ 规则下需要可以添加相应的判断关键词。

Kafka统一推送接口管理

① 能够实现现有接口的添加、编辑、删除、查询等管理。同时把信息同步到Redis库中。格式如③中图所示;
② 接口服务记录中须包括:[部署](http://www.blog2019.net/tag/%E9%83%A8%E7%BD%B2?tagId=13)的服务器IP、接口端口号等信息;
③ 由于是分布式部署,每个接口会有多个地址URL,如下图所示。
④ 接口在Redis中的存储方式:key=方法名,value=拼接字符串

数据类型管理

数据类型管理

① 能够实现对数据类型的添加、编辑、删除、查询等基本功能;
② 该功能需可以添加排重依据字段,字段可以是单个,或者是组合;
③ 该功能需可选择数据推送接口地址URL;通过接口方法名进行关联;
④ 数据类型一般可以分为:新闻(或网站)、论坛、博客、微博、纸媒、外媒、客户端、微信、视频、广播、电视台、评论等;
⑤ 数据类型需要通过ES索引类型进行关联;
⑥ 数据类型需要和人员相关联。

 ...........................

如需完整Word文档,请关注“十点数据公众号获取。

相关阅读:

爬虫系列之数据质量监控(一)

相关推荐