优化的解决方案:大数据在线离线一体化解决方案最佳实践
优采云 发布时间: 2022-11-01 22:17优化的解决方案:大数据在线离线一体化解决方案最佳实践
概述
该方案的重点业务涉及中央网信办网络安全应急指挥中心。由于需要处理的网络数据流量巨大,以及对实时和离线大数据计算分析的要求,提供了该在线和离线一体化解决方案。程序。
混合云项目的主要业务概况如下:
Traffic采集技术是监控网络流量的关键技术之一,为流量分析提供数据源。为了有效分析复杂企业网络中的网络流量。
互联网探针(NET probe),*敏*感*词*网络数据包的网络探针称为互联网探针。数据包捕获、过滤和分析都可以在“Internet Probe”上实现。
本文主要为流量采集业务搭建场景。
适用场景技术架构
首先来看业务架构:由于数据量巨大,涉及产品多,数据链路相对复杂。
本实践方案基于对业务架构图的抽象,得到如下图所示的技术架构和主要流程,操作步骤照此编写:
从抽象的业务流程图可以看出,主要有线上计算和线下计算两个环节,因此可以通过本文的大数据线上线下一体化解决方案来实现。
方案优势方案实施
数据建模
业务数据量比较大。为了便于处理和分析,首先进行数据仓库建模,并进行数据分层,便于多维分析,提高整个系统的查询效率,降低查询穿透。
建模雪花
根据流量采集的业务分析,比较适合数据仓库常用的建模方法——雪花模型。根据业务特点和雪花模型建模原理,完成数据仓库建模,如下:
从上面的模型可以看出,有两个事实表,分别描述采集机器流量信息和采集机器规则事件信息,另外三个维度表分别记录算子,采集 机器和地理维度,方便后续业务分析。
数据分层
离线和在线引擎中的数据量非常大。如果直接连接BI进行数据分析,查询效率会很低。因此,有必要进行数据分层。海量数据源经过ETL,清洗,根据数据域和应用域提取到ADS层,交给BI进行分析。一般方法如下:
对于当前业务,可以进行数据分层,如下:
数据分层后,数据建模完成,后续重点是线下链路实现。
离线链接实现
本例中,离线链路主要满足以下两种应用领域客户场景:
离线环节主要是批量处理分析大量数据,存储冷热数据,实时性要求不高。线下链路实现主要以基础产品为核心进行开发对接。数据链接如下。本文通过自建数据模拟datahub数据源。
具体实施步骤如下:
创建 odps 项目
首先,创建一个odps任务云账号和配额组,创建一个odps项目。
创建基础项目
创建基础项目,创建工作空间,绑定刚刚创建的odps项目。
根据数据建模部分的设计实现离线计算,完成相关数据表的创建。
由于要创建的表很多,这里是ods层的事实表的一个ddl:
CREATE TABLE IF NOT EXISTS ods_wa_collector_flow_mpp
(
c_pcg INT COMMENT '网络',
c_pc INT COMMENT '省',
<p>
c_isp STRING COMMENT 'isp',
c_iao INT COMMENT '出入口',
c_ch BIGINT COMMENT '采集机',
c_pps BIGINT COMMENT '包速率',
c_bps BIGINT COMMENT '字节速率',
c_time TIMESTAMP COMMENT '时间'
) ;</p>
然后用同样的方法依次创建各个数据层的数据表。
然后创建维度表,ddl示例如下:
CREATE TABLE IF NOT EXISTS dim_province
(
c_pc INT COMMENT '省代码',
c_name STRING COMMENT '省名称'
) ;
然后用同样的方法依次创建其他维度表。
湾。通过数据处理完成数据建模和数据分层
首先,通过数据清洗操作,对源层数据进行处理。代码示例如下:
INSERT OVERWRITE TABLE dwd_wa_collector_flow_mpp
SELECT c_pcg
,c_pc
,c_isp
,c_iao
,c_ch
,c_pps
,c_bps
,c_time
FROM ods_wa_collector_flow_mpp
WHERE c_ch >= 0
AND c_pps >= 0
AND c_bps >= 0
;
接下来,对于dwd层的数据,数据聚合就完成了。代码示例如下:
INSERT OVERWRITE TABLE dws_wa_union
SELECT a.c_ch
,c_pcg
,c_pc
,c_isp
,c_iao
,c_pps
,c_bps
,c_rule_id
,c_events
,a.c_time
FROM
<p>
(
SELECT c_pcg,c_pc,c_isp,c_iao,c_ch,c_pps,c_bps,c_time FROM dwd_wa_collector_flow_mpp WHERE c_time = cast(to_char(getdate(),'yyyy-mm-dd 00:00:00') as timestamp)
)a
FULL OUTER JOIN
(
SELECT c_ch,c_rule_id,c_events,c_time FROM dwd_wa_collector_rule_event_mpp WHERE c_time = cast(to_char(getdate(),'yyyy-mm-dd 00:00:00') as timestamp)
)b
ON a.c_ch = b.c_ch;</p>
接下来,构建应用域的数据表,用于应用域的分析和查询。示例为各省机器事件总数统计表采集:
INSERT OVERWRITE TABLE ads_province_rule_event
SELECT c_ch
,c_pc
,c_rule_id
,c_events
,c_time
FROM dws_wa_union;
SELECT * FROM ads_province_rule_event;
最后通过离线同步将应用域的数据同步到交互引擎adb3.0,如下:
完成后通过base的工作流任务图将各个节点串联起来,点击运行按钮触发实例运行,生成应用领域数据供后续分析查询。具体任务图如下:
可以看出运行成功了,然后将任务图提交到生产环境,就可以用每天的自动化生产数据进行生产分析了。
4.结果分析实现
最终输出的应用领域数据一般会离线同步到交互引擎进行查询分析。这里选择的交互引擎是adb3.0。
一个。配置数据源和数据集
数据源配置
数据集配置
可以看到,我们已经在数据集中配置了维度表和事实表的关联。
湾。生成仪表板图
根据配置的数据集,通过简单的配置,可以得到:各省每日采集机器事件总和折线图,各运营商每日平均采集机器字节率仪表盘。
客户可以通过仪表盘上的数据分析采集机器的网络流量。以上是离线链接的整体实现。
实时链接实现
本例中实时链路主要遇到的应用领域客户场景如下:
每日实时采集机器事件总统计
与线下链接不同,实时链接更注重满足客户对信息处理和分析的高时效性和可操作性要求。例如,客户希望看到数据市场的分钟级数据波动和变化,便于及时决策。需要实时计算来满足需求。实时计算环节大致如下图所示:
实时计算的数据结构实时计算的数据量比离线计算要小,所以在这个例子中,不需要复杂的数据建模。datahub 实时数据生成
由于是实时链接,本文使用群里的ase工具,不断产生实时数据并传输到datahub,让flink订阅datahub的数据进行实时计算。ase 会自动创建一个datahub 主题(ase_dr_datahub_topic01)用于数据传输。如下图所示,ase_dr_datahub_topic01 不断接收实时数据。
接下来需要再创建一个topic(ase_dr_datahub_topic02)来接收flink处理的数据。
整体解决方案:云优 CMS
软件说明
云游cms企业版网站管理系统(分站版)是一款基于PHP+MYSQL开发的专业营销型企业建站系统。是一款免费+开源的php内容管理系统,在国内拥有自己的分站系统。长期以来,随着不断的改进和创新,云游cms将为您带来全新的体验!云游cms是远航cms的升级版。底层重构、支持模型字段自定义、支持分站二级域名模式成为新版本的两大特色。
产品安装说明十大优势
一、运行环境
1. IIS/Apache/Nginx + PHP 5.4 及以上 + MySQL 5.0 及以上
二、注意事项
1、网站所在目录必须有读写权限,否则无法安装使用;
2、建议打包到服务器并解压,以保证文件的完整性。FTP上传请使用二进制方式;
3.如果使用伪静态,请将对应的“伪静态”文件导入到主机配置中。(IIS/web.config、Apache/.htaccess、Nginx/nginx.txt)
三、安装方法
1、将此压缩包内的所有文件上传或复制到本站根目录;
2、打开浏览器,执行网站Access Path/,按照安装向导一步一步完成安装。
云游cms企业版网站管理系统更新日志:
V1.0.3 11月25日更新