编者按
现代社会每天都有大量信息产生,抖音、小红书等自媒体的普及,不断丰富着人们表达看法、传播诉求、分享信息的渠道和形式。如何完成多源异构数据的收集和处理,挖掘海量信息中的价值,洞察事件背后的观点和情绪,是做好政府和企业舆情监测工作不可忽视的问题。
百分点舆情洞察系统(Mediaforce)是一款面向政企客户的舆情监测SaaS
产品,自2014年上线至今,已累计服务客户近万家,积累了逾20
PB的全网数据,通过构建丰富的上层应用,为客户提供精准、实时、全面、多维度的洞察服务。本文从底层数据治理、上层应用架构,以及数据个性化和智能化角度,分享了大数据平台架构、AI平台架构和微服务架构在舆情产品上的实践。
一、平台架构简介
伴随着互联网内容形态的蓬勃发展,Mediaforce 平台数据量增长迅速,在产品创新和迭代过程中,自身平台架构也在不断的演进。
互联网舆情本质上是对互联网公开信息的采集、分析、研判,并产生业务价值,是一个价值数据挖掘的过程,我们覆盖了90%以上的网络公开数据,包含但不限于以下信源:
在线新闻、报刊、贴吧、博客、论坛、微博、微信、APP客户端;
电视、广播等;
社交自媒体:抖音、快手、小红书等。
百分点科技通过对以上数据进行存储、挖掘、可视化分析等一系列处理,最终为用户呈现多终端触达、一站式的舆情监测和价值分析平台。
到目前为止,大体分为如下三个平台架构,对应职责如下:
大数据平台架构
数据共享:统一业务数据存储,结合业务实际场景对数据进行关联使用,避免数据重复存储,降低沟通成本;
服务共享:统一服务架构,避免服务孤岛,统一服务的访问入口和访问规则;
易于使用:通过平台服务和工具的形式暴露平台能力,屏蔽平台底层细节。
AI平台架构
数据层:以平台化能力应对数据收集、数据准备等繁重工作,同时结合业务,构建数据流转闭环;
深度学习平台层:实现多租户及弹性的资源分配、模型库扩展、可视化训练和调整、滚动更新等能力;
应用和工具层:借助Rest\Grpc模型开放能力,对接金融领域舆情、定制化行业标签、离线数据预测等场景。
微服务架构
拆分:按照业务垂直拆分和功能水平拆分的总原则,以及从业务侧尽量规避分布式事务等考虑;
云原生:减少微服务架构的运维成本,借助容器化技术,实现资源动态感知、扩缩容等特性。
二、大数据平台架构
百分点舆情洞察系统最初是通过自主构建IDC来支撑,IaaS层由单独的运维团队来进行维护。
大数据平台(IaaS层除外)分层如下:
舆情的数据应用场景不同于海量日志、海量商品检索等的侧重于简单标签聚合,舆情应用完全基于自然语言全文检索,同时结合内存复杂聚合计算。为了保证检索准确率,往往会配置复杂的关键词和距离限定,因此对于检索引擎的内存优化策略要求很高。可以说,数据存储和检索架构的升级,是舆情业务的核心之一。在百分点科技大数据平台架构演进历程中,大致可以分为三个阶段:业务共享数据仓库阶段、业务自建数据集市阶段、湖仓一体阶段。
- 共享数据仓库阶段
在业务规模初期,大部分精力集中于业务系统的迭代和开发,采用共享数据仓库的解决方案。流程如下:
可以看到,随着客户规模和数据量的增大,以及业务复杂度的提升,仅仅依靠共享的数据仓库,已经无法满足需求。产生的主要问题如下:
业务侧查询响应时长无法保证;
复杂查询以及聚合操作,加重Elasticsearch Cluster负担,甚至引起节点OOM;
冷热数据未分离。
- 自建数据集市阶段
随着客户量及数据量的增多,百分点科技对数据仓库进行了冷热数据隔离,并通过自主构建数据集市来满足业务的快速响应。
下面将从数据仓库层、数据集市层进行介绍。
ES Cluster从2.3.4升级到6.0.0(当时最新版本);
数据仓库核心做了冷热数据分离,热数据使用SSD硬盘存储,且只存储近一周数据,冷数据使用HDD硬盘,存储近两