基于云点播生产平台的智能分析系统

2015-05-12 09:38杨继伟
科技创新导报 2015年34期
关键词:视频云计算数据挖掘

杨继伟

摘 要:随着互联网技术的发展,网络视频的需求日益增加,而云计算的兴起,极大地推动了网络视频业务的发展,视频云服务越来越重要。该文介绍了云点播生产平台的现状,针对不能及时监控异常数据、缺少数据分析等问题,提出了智能分析系统。智能分析系统包括4个子模块:数据中心、数据分析、监控中心、报表中心。该文重点对各个子模块的功能、系统架构及实现方式进行了阐述。智能分析系统为优化生产平台提供了数据支撑,为生产平台正常运行提供保障,也为后续业务扩展提供决策依据。

关键词:云计算 视频 智能分析 数据挖掘

中图分类号:TP31 文献标识码:A 文章编号:1674-098X(2015)12(a)-0143-03

云计算是一种基于互联网的新兴商业计算模型,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能根据需要获取计算力、存储空间和各种软件服务。云点播是基于云计算的视频平台,集合了拍摄、视频上传、存储备份、多码率转码、CDN分发、视频播放六大核心基础功能于一身,为用户提供优质的视频一站式服务。云点播的核心技术是多码率转码,将云点播平台中的上传、存储、转码、分发过程抽取出来,形成云点播视频的生产平台,生产平台负责对各个子模块进行统一调度,统一管理。

1 云点播生产平台及现状

云点播生产平台是进行视频生产的平台,一个视频的生产流程大致如下。

生产平台的编辑人员把需要进行转码的视频片源上传至生产平台中,生产平台调用存储模块,将视频保存在云端存储;生产平台生成转码任务,调用转码模块,由转码模块完成后续的视频转码、截图等;生产平台调用分发模块,将转码成功的视频分发到CDN节点上。最终用户可以通过生产平台返回的播放页地址进行视频观看。

随着生产平台业务量的增长,以及各类需求的提出,生产平台逐渐暴露出一些问题。例如,生产平台在与各个子模块交互过程中,如果出现问题,不能快速定位,也不能及时通知到相关负责人;各类角色人员无法了解到生产平台的运行状况、平台转码能力、网络设备使用情况等。

2 智能分析系统概述

智能分析系统负责监控生产平台和各个子模的交互细节,通过预警,使开发人员及时发现生产平台的问题,确保了生产平台的稳定性和容错率;通过对生产平台的历史数据、现有数据、情景、性能的分析,全方位地统计生产平台的运行情况,包括平台的稳定性、转码失败率、平台的吞吐量以及各业务线的服务请求量等,同时决策者还可以得到有价值的洞察力,使他们能够预测未来趋势,做出更优的决策。

智能分析系统在设计时,需要考虑两点。

第一,监控响应实时性。生产平台肩负着支撑视频点播业务的重任,一旦某个子模块出现问题,需要能及时预警,并反馈给相关人员。

第二,数据准确性。智能分析系统提供各类监控数据及报表数据,它是生产平台优化的依据,也是后续运营决策的依据,由于业务数据的复杂性,在数据处理时,务必要将数据误差控制在合理范围内,保证数据的准确性。

3 智能分析系统架构

智能分析系统由4个模块组成:数据中心、数据分析、监控中心、报表中心。架构图如图1。

3.1 数据中心

数据中心主要负责采集视频生产过程中的各类数据,并将数据汇总至数据仓库。数据采集的数据来源包括以下几方面。

第一,业务数据库。为保证正常业务不受影响,采集系统对业务数据库进行主从备份,做到数据隔离,在从库中进行数据采集,保证了数据的安全性,采集过程使用ETL实现。

第二,消息。业务系统使用异步消息队列发送数据,例如转码状态数据,数据采集模块收到消息后对消息进行解析,将数据汇总至数据仓库。

第三,接口。对实时性要求较高的数据,业务系统采用接口上报方式,将数据上报至数据采集模块,采集模块收到数据后将数据汇总至数据仓库。例如对于转码环节的数据,需要转码机实时上报转码轨迹数据。

第四,日志文件。采集模块创建定时任务,定期从业务日志文件中采集数据。

数据采集过程中,需要对数据源的数据进行预处理,预处理过程包括数据整合、数据清洗、数据变换、数据约简。其中,数据整合是指从数据源中收集相关数据,过滤不必要的部分,找出必要的数据和变量。数据清洗是识别数据集中的值,填补空缺值,减少数据噪声,消除不一致性。数据变换是将数据标准化、离散化。数据约简是将数据进行降维,减少数据的质量。

通过以上预处理,将数据汇总至数据仓库,供后续数据分析使用。

3.2 数据分析

数据分析包括3个层次。

第一,描述性分析。了解企业正在发生什么,并理解潜在的趋势和事件发生的原因。

第二,预测性分析。分析未来可能会发生什么。例如使用聚类分析算法将客户细分为不同的类别,按照不同类别针对性地提供不同的服务。

第三,规范性分析。目的是认识到正在发生什么,并对未来做出可能的预测,同时制定决策获得最大收益。

根据实际业务需求,数据分析模块采用联机分析处理(OLAP)技术,利用各种模型对数据进行分析,确定事实表的粒度、相关维度、属性、指标等。OLAP技术使数据仓库能够快速响应重复而复杂的分析查询,从而使数据仓库能有效地用于联机分析。OLAP的多维数据模型和数据聚合技术可以组织并汇总大量的数据,以便能够利用联机分析和图形工具迅速对数据进行评估,最终形成多维的数据集,供监控中心和报表中心使用。用到的分析算法有加权平均算法、K均值聚类算法等,例如转码耗时的估算。

3.3 监控中心

监控的任务就是第一时间发现、定位并记录异常,通过掌握生产环境下的多个维度数据,按照一定的监控模型或规则,对影响运营质量的诸多要素和运营过程的各个环节进行监控、采集、建模、展现,通过监控来量化产品运营状况和确保最佳用户体验。对于运维人员,通过各个层次的数据的展示和告警设置,可以快速、直观地发现和定位故障。对于研发、测试人员,通过各层次数据的展示来反映业务的容量和性能,通过设置阈值来对业务的容量和性能进行管理。监控中心的主要模块包括以下几方面。

第一,监控规则。对各个业务、环节制定监控规则,实时监控运行状况,对符合规则的数据进行报警。根据业务的不同,监控规则也有所不同,例如文件上传失败规则、转码失败规则等。

第二,自动重试。监控中心需要对失败的请求进行智能重试,智能重试后仍失败的请求需要报警通知相关人员。

第三,报警。监控中心支持电话、短信、邮件方式进行报警。

第四,页面展示。通过图表,形象地展现任务的执行情况以及异常任务。

3.4 报表中心

报表中心主要对数据进行统计,并进行可视化展现。主要模块包括以下几方面。

第一,缓存数据。为了提高报表查询的响应速度,对常用数据以及查询过的数据进行缓存,提高用户体验。

第二,权限控制。在视频生产环节,涉及到的人员有视频编辑人员、运营人员、开发人员、部门负责人等,由于不同角色看到的数据不同,报表中心需要设置权限,以便不同人员查看不同的报表。

第三,各类报表。不同角色人员根据不同的需求,需要了解不同层面、不同维度的数据,报表中心将数据分为6种,供相关人员查看。

第四,页面展示。使用折线图、饼图、地图、气泡图等将结果展现出来,使数据更生动、更具人性化。

4 智能分析系统实现

4.1 负载均衡集群

数据中心、监控中心、报表中心的应用服务器均采用负载均衡集群架构。负载均衡是将负载压力根据某种算法合理分配到集群中的每一台计算机上,以减轻主服务器的压力,降低对主服务器的硬件和软件要求,当集群中的某个服务器出现了故障,该服务器的负载将转移到其他服务器,从而实现服务器不间断地提供高质量的服务。负载均衡加强了网络数据处理能力,同时提高了应用的灵活性和可用性。

数据中心的数据库服务器也采用集群模式,服务器间通过数据同步,保证每台服务器数据的一致性。

4.2 缓存

分布式集群架构,需要解决session共享问题,即保证session可以在多个服务器之间共享http会话的状态。例如,报表中心有用户登录页面,需要在session中保存用户登录的信息,为此,系统引入了缓存技术。缓存技术使用的是CouchBase,将部分数据信息保存在CouchBase集群服务器中,可以大大提高数据读取速度。CouchBase集群中所有点都是对等的,集群中的任何节点失效,集群对外提供服务完全不会中断。

4.3 数据同步

数据中心在进行数据采集时,要将数据从业务数据库采集到数据仓库,由于多台服务器同时在运行,需要保持数据的一致性,为此,数据中心使用Zookeeper解决这一问题。Zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,它的核心是原子广播,这个机制保证了集群中服务器间的同步,Zookeeper中的角色主要有领导者、学习者、客户端。系统启动时,集群中的服务器会选举出一台服务器为领导者,其他的服务器为学习者,由担任领导者角色的服务器进行数据采集,保证数据只采集一次。

4.4 监控中心

监控中心只监测最近两周的数据,包括如下内容。

(1)上传过程监控:监控上传环节失败、上传节点故障等信息。

(2)转码过程监控:监控转码各个环节的失败信息。

(3)分发过程监控:监控分发环节失败信息。

4.5 报表中心

报表中心功能模块包括以下几方面。

(1)运营数据报表。统计不同用户和业务线的上传、转码数据量,以及各环节成功率、失败率走势,上传用户地域分布等信息。

(2)生产过程数据。统计上传、转码、分发各子模块状态数据、失败详细信息。

(3)资源利用率。统计转码机利用率、转码容量利用率及各环节耗时速度比。

(4)用户行为数据。统计上传视频的用户类型以及用户活跃时间段。

(5)媒体信息数据。统计视频码率分析、时长分析、视频内容分析。

(6)性能报表。统计上传、转码、分发速度数据。

5 结语

综上所述,通过智能分析系统,完成了对生产平台的实时监控,保证了生产平台的良好运转;报表数据的分析,为优化生产平台提供了依据,大大提高了平台的吞吐量;对海量数据中隐含的商业价值的挖掘,也为企业的经营决策提供了支撑。

参考文献

[1] 金怡虹.商务智能在现代企业ERP系统中的应用[J].科技信息,2014(1):285-286.

[2] 周竞亮,李照,余丹.基于数据仓库和BI技术的关键绩效指标系统在大型集团企业的建设实践[J].软件,2014(7):89-92.

[3] 马斌,周平,张建业,等.大数据时代的数据挖掘[J].中国科技信息,2014(23):117-118.

[4] 袁凡,唐国华.数据挖掘在电子商务中的应用研究[J].江西科学,2015(6):921-924.

[5] Ramesh Sharda,Dursun Delen,Efraim Turban,等,著.商务智能数据分析的管理视角[M].赵卫东,译.北京:机械工业出版社,2015.

[6] 王继民.Web用户查询日志挖掘与应用[M].北京:知识产权出版社,2014.

猜你喜欢
视频云计算数据挖掘
探讨人工智能与数据挖掘发展趋势
基于并行计算的大数据挖掘在电网中的应用
网络视频广告的传播策略探讨
基于IPv6组播技术校园网络视频服务设计
怎样提高中小学日常教学视频资源拍摄的整体质量
基于云计算的移动学习平台的设计
实验云:理论教学与实验教学深度融合的助推器
云计算中的存储虚拟化技术应用
一种基于Hadoop的大数据挖掘云服务及应用
基于GPGPU的离散数据挖掘研究