共计 1083 个字符,预计需要花费 3 分钟才能阅读完成。
背景
网易易盾是网易智企旗下一站式数字内容风控品牌。易盾关注最新舆情,笼罩全网资讯数据。舆情监测平台将海量原始数据转换为对立数据格式成为数据处理前置条件,这一过程称为舆情数据荡涤。本文次要分享易盾是如何实现舆情数据荡涤的。
舆情数据荡涤次要面临如下几个难点:
- 全网数据格式多种多样,如何疾速相应新数据接入,同时不影响架构的“开闭准则”?
- 如何协调爬虫、ETL、研发三方的合作与数据流通?
- 如何让数据荡涤满足灵活性的同时,保障其荡涤性能?
业务架构上“动”、“静”拆散
基于上述剖析,咱们仔细分析整个数据处理链中的各环节,挖掘出各模块的解决逻辑实质,进行动静分类。比方将灵活性较高的分类为“动”的局部,将固定逻辑的分类为“静”的局部,这样两者各司其职、互不烦扰。如下图所示:
- 人员职能上,ETL 与零碎开发拆散,制订荡涤流程标准;
- 荡涤脚本动静可配置,实现新数据源接入实时化;
- 反对数据荡涤链,正当治理荡涤脚本,各荡涤脚本可互相复用;
- 动态模块(去重、组装),依据动静荡涤后果,抉择相应的数据处理策略;
数据荡涤的“动”
基于下面的问题和思考,易盾舆情搭建了脚本可配置的数据荡涤平台,制订数据荡涤流程,实现新数据源实时接入。该计划据有如下两个特定:业务架构上动静拆散 、 技术架构上高性能、可扩大、高可用。
具体来说,基于 Groovy 脚本,联合JVM 动静类加载,将 Groovy 脚本 动静加载、内化 为 JVM 中一般 Function 甚至能够利用 JIT 优化减速 荡涤逻辑执行速度,从而保证数据荡涤整体性能。多节点部署,保障整体解决吞吐量,高可用、可扩大。
数据处理链的“静”
对爬虫的原始数据,做一系列解决,如图去重、感情打标、数据组装、关键词提取等。如上文所示,因为数据荡涤模块将不同信源数据转成对立格局,同时通过设置去重字段、组装策略等办法,“通知”解决链该如何解决这些数据。因而,数据处理链能够不须要针对不同信源定制化解决逻辑,实现数据处理链的”静“。如下所示,数据处理链次要包含如下几点:
- 依据数据荡涤出的去重策略、组装策略,执行相应的数据处理逻辑;
- 基于 自研路由线程组,联合 KAFKA 分区程序性,保证数据生产程序性,实现数据程序组装;
- 对爬虫数据正当分片路由,保证数据程序性、并行性,兼顾解决性能与数据处理正确性;
总结
基于 Groovy 类脚本,联合 JVM 动静类加载,保证数据荡涤灵活性与高性能。多节点部署,保障整体解决吞吐量,高可用、可扩大。从而实现业务架构上“动”、“静”拆散 , 技术架构上高性能、可扩大、高可用。最终实现新数据源实时接入,进步舆情零碎数据处理的相应速度。
更多技术内容欢送关注【网易智企技术 +】公众号