前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于Docker容器云技术的大数据智能挖掘处理一站式服务平台

基于Docker容器云技术的大数据智能挖掘处理一站式服务平台

作者头像
机械视角
发布2019-10-23 11:05:47
1.6K0
发布2019-10-23 11:05:47
举报
文章被收录于专栏:TensorbytesTensorbytes

背景简介

随着各行业信息化速度的加快,不同类型的数据皆呈现出爆发性的增长并质变成大数据。随着海量、细致的新数据源的不断呈现,大数据在运营、策划、营销等方面的应用,得到不同层面的技术指标,产生系列的报表并反馈在生产和运营中,大数据价值的挖掘应用成为智慧企业发展的所迫切需要迈出的重要一步。

随着海量、细致的新数据源的呈现,基于海量数据的存储技术、挖掘技术、计算技术、剖析技术等各种技术的飞速进步,使企业可以深化发掘大数据的发展潜力,应用以往无法应用的商业信息,从而发现大量的商机。自2012年发展至今,大数据已经渗透到了每个行业和业务领域,逐渐成为重要的生产因素。但是,传统的信息化系统和工具逐渐无法承载如此庞大的数据存储和运算,分析效率逐步地下,以至于无法胜任数据挖掘分析的需求。在这种情况下,决策者们往往向大数据靠拢,对原有信息系统进行改造,去拥抱真正意义上的大数据资产。

面对如此庞大而复杂的数据,还需要专门设计的软硬件工具进行处理,数据分析类产品应运而生。数据分析类产品侧重于数据的分析和挖掘以及为企业用户提供比较完整的解决方案。目前国内外市场的大数据服务商纷纷推出了面向云计算、数据挖掘和数据可视化等领域的的大数据服务应用技术及平台,但由于受到研发投入不足、研发人才稀缺等因素的制约,主要是仅面向其中一个细分领域应用的功能性产品,存在应用操作复杂、对操作人员的技术素质的要求高、多功能产品整合利用成本高等不足,制约了中小企业对大数据技术的应用。

因此,站在对大数据全局认识的角度、深入中小企业的大数据应用需求研究一套从大数据数据采集到数据清洗、到数据挖掘和数据处理可视化的一站式大数据应用解决方案对推动大数据及相关行业的发展具有非常重要意义。

技术研发情况

本项目是站在对大数据全局认识的角度、深入中小企业低成本大数据应用需求,研究的一套基于Docker容器云技术的大数据智能挖掘处理一站式服务平台,是一个面向中小企业通用型的集成智能数据采集、数据分析挖掘、数据可视化的一站式大数据服务平台,使得用户无需关心集群的搭建和运维,WEB页面的工作环境实现了拖拽式、点击式等类似于桌面操作方式,从最初始的网站数据采集到对采集回来的数据进行数据清洗和数据分析,最后以可视化图表的形式呈现分析结果,为中小企业提供安全、便捷、高效的一站式数据挖掘处理服务,基于轻量级虚拟化技术——docker技术实现了一站式云计算与大数据智能挖掘处理的完美结合。

所采用的关键技术

(1) 基于Docker和Mesos结合的分布式计算架构

本项目整合了Mesos和Docker的优势,实现Mesos和Docker的无缝对接,将各应用通过Docker进行容器化管理,让应用在更轻量化的情况下分配资源、隔离进程和网络,完成从开发到部署的快速搭建,同时将Docker作为分布式环境下的进程管理,对通过Mesos各应用进行管理,既解决了分布式的痛点,又为用户提供基于集群环境的高速计算能力,极大地提高了发布效率。

(2) 基于机器学习的防封杀智能数据爬取技术

该平台首先,模拟浏览器头文件请求,模拟浏览器头文件请求可以伪装成浏览器对服务器进行访问,模拟的头请求包括了手机PC端等数十种浏览器;其次,构建ip代理池,可以通过切换ip防止服务器对ip访问的限制,通过蒙特卡罗算法随机切换ip代理,伪装成多个用户进行访问,并利用机器学习学习网站封杀规律使得代理池可以最大效率的利用代理ip,从而防止某些网站对单个用户的访问限制;最后,通过Phantomjs对javascript代码进行模拟运行,从而实现对网站的交互式操作,模范真人上网行为,防止网站对爬虫的封杀。采用基于机器学习的多种反封杀组合实现对数据的智能爬取,提高抓取数据的质量、可靠性和完整性。

(3) 基于MD5树的URL去重算法的数据清洗技术

对URL进行去重是实现高性能数据挖掘服务的一项十分关键的技术之一。该平台将 MD5 加密算法以及树相结合设计出一种基于 MD5 的URL去重树对URL进行去重处理,避免了数据的重复。主要方法如下:1)由于在网络爬虫抓取过程中需要频繁的解析URL,导致对DNS服务器的压力过大,本项目引入并且优化了 DNS 本地缓存模块,将域名使用哈希函数到哈希表,利用线性指针将域名到ip的映射指向至冲突域,以此解决当数据量较大时发生碰撞的情形。2)再利用了MD5加密的低碰撞率,将MD5和树相结合构成去重树,由于树的结构与操作系统文件目录的结构一样,去重树也可以用另一种方法即基于磁盘符号的查找方式,将密文生成的数组转为相应的路径,如果路径存在则代表linkurl中已有相应的url,如果不存在说明此url为新的url。

(4) 基于二分策略分组的负载均衡改进算法的数据分析技术

对于服务类型的应用,分布式系统用负载均衡器和服务发现来保证高可靠性的服务。本项目基于Spark对APFP_Growth 算法进行改进,研究基于二分策略分组的负载均衡改进,改进现有的并行PFP_Growth 算法在 FList 分组的步骤中没有考虑分组中负载均衡的问题,改进的 APFP_Growth 算法具有很好的可扩展性,并且比 PFP_Growth 算法具有更好的负载均衡效果。

(5) 基于改进的并行协同过滤算法的数据处理技术

本项目基于Spark通过将构建共现矩阵、矩阵相乘简化为获取邻居用户改进基于共现矩阵的并行算法,改进的并行协同过滤算法比原来基于共现矩阵的并行算法更适合于分布式并行计算,具有更好的运行效率和更高的推荐精度。改进后的并行算法主要通过三个步骤实现:生成评分矩阵、获取邻居用户、形成推荐。获取邻居用户主要是通过相似度计算方法来找出目标用户的 K 个邻居用户,即用 K 最小堆的算法来找出 K 个相似度最大值。

技术研发方案

该平台以Apache Mesos为资源管理框架支持资源调度,以Spark、Storm、Hive作为计算框架,使用Docker作为容器包装Mesos、Spark、Storm、Hive实现资源隔离。

本项目以Docker容器为单元为每个应用构建一个容器(如图1所示),借助Docker实现用户定制的分布式系统。

Docker主要包括了Docker Client、Docker Daemon、Docker Registry、Graph、Driver、libcontainer以及Docker container七个模块,其中Docker Client是Docker架构中用户用来和Docker Daemon建立通信的客户端;Docker Daemon是Docker架构中一个常驻在后台的系统进程,其负责接受并处理Docker Client发送的请求;Docker Registry是一个存储容器镜像的仓库;Graph负责对Docker已下载容器镜像的保管者,以及已下载容器镜像之间关系的记录者;Driver是Docker架构中的驱动模块,通过Driver驱动,Docker可以实现对Docker容器执行环境的定制,为了将Docker容器的管理从Docker Daemon内部业务逻辑中区分开来,设计了Driver层驱动来接管所有这部分请求;libcontainer是Docker架构直接访问内核中与容器相关的API,libcontainer扩展了LXC特性并使用高层的 API,LXC 作为一种共享 Kernel 的操作系统级别的虚拟化解决方案,通过在执行时不重复加载内核,且虚拟容器(Container)与宿主机(Host)之间共享内核来加快启动速度和减少内存消耗;Docker container(Docker容器)是Docker架构中服务交付的最终体现形式。

Mesos用于实现了双层调度机制,使它可以管理多种类型的应用程序:第一级调度是Master的守护进程,管理Mesos集群中所有节点上运行的Slave守护进程。集群由物理服务器或虚拟服务器组成,用于运行应用程序的任务,比如Hadoop和MPI作业;第二级调度由被称作Framework的“组件”组成,包括调度器(Scheduler)和执行器(Executor)进程,其中每个节点上都会运行执行器。

Mesos由四个组件组成,分别是Mesos-master,mesos-slave,framework和executor。Mesos-master是整个系统的核心,负责管理接入mesos的各个framework和slave,并将slave上的资源按照某种策略分配给framework。Mesos-slave负责接收并执行来自mesos-master的命令、管理节点上的mesos-task,并为各个task分配资源。mesos-slave将自己的资源量发送给mesos-master,由mesos-master中的Allocator模块决定将资源分配给哪个framework。Framework是指外部的计算框架,本项目中采用的计算框架包括了Spark、Storm、Hive等,可通过注册的方式接入mesos,以便mesos进行统一管理和资源分配,整个mesos系统采用了双层调度框架:第一层,由mesos将资源分配给框架;第二层,框架自己的调度器将资源分配给自己内部的任务。Executor主要用于启动框架内部的task。由于不同的框架,启动task的接口或者方式不同,当一个新的框架要接入mesos时,需要编写一个executor,告诉mesos如何启动该框架中的task。

该平台的架构主要围绕这数据采集、数据分析挖掘、数据处理这几个关键点进行构建,分别实现在云平台上实行数据计算、挖掘、服务等相关功能,数据采集挖掘能力是该架构的核心能力,可以实现在云计算平台上实现对不同格式的数据进行并行挖掘,使数据的分析处理能够运行更加稳定,方便整个架构的高效运行。

A. 大数据采集

大数据的采集是整个流程的基础。随着互联网技术和应用的发展以及各种终端设备的普及,使得数据生产者范围越来越大,数据的产量也越来越多,数据之间的关联也越来越复杂,因此对数据采集速度和精度的要求越来越高。

该模块的核心是智能爬虫抓取模块的实现,主要将互联网数据通过WebUI操作界面对数据采集规则进行个性化设定实现对大数据的个性化采集,该平台采用机器学习方法的主动爬虫技术实现智能数据高并发爬取提高数据的采集精度,整个过程无需太多的人工介入,降低学习门槛,平滑学习曲线,同时将更多设置放在底层处理,实现半自动化设计,使得界面简单清晰,提高数据的采集效率。

B. 大数据挖掘处理

大数据挖掘是整个流程的核心,数据挖掘则是将大量的、不完全的、有噪声的、模糊的、随机的实际应用数据经过加工处理,筛选优化后,提取隐藏其中的有价值的信息。由于数据复杂多样、数据挖掘和处理需要高速、高效,基于Docker容器云技术的数据挖掘架构是能够利用Docker容器云技术的轻量级虚拟化海量存储和并行计算能力解决了大数据的海量、高可靠性和高效性要求。

该模块主要提供数据预处理到模型评估的一站式平台服务,基于WEB工作界面,通过拖、拉、拽等方式即可完成复杂数据挖掘流程,支持自定义算法和组件,灵活开放的个性化设置,提供丰富的分布式算法,提高模型精度,其核心内容主要包括:数据挖掘流程配置服务、DMS数据挖掘服务、数据挖掘模型管理等。

C. 大数据分析展示

大数据分析展示是整个流程的目标。在完成数据的采集和处理后,需要对数据进行分析,因为在进行数据分析后才能体现所有大数据的重要价值。数据分析的对象是对上一步数据的处理与集成后的统一格式数据,根据所需数据的应用需求和价值体现方向对这些数据进一步处理和分析,并将分析的结果向用户进行交互展示。

该平台主要采用ECharts框架和D3框架相结合的方式,为中小企业提供运营动态直播、数据综合展示、设备监控预警等多种可视化场景模板;通过拖拽即可实现灵活的可视化布局;以WebGL技术作为支撑,能够绘制海量数据下的地理轨迹、飞线、热力、区块、3D地图/地球,支持多层叠加,支持关系型数据库、非关系型数据库、Restful API、CSV、静态JSON等多种数据来源,且能够实现动态轮询,将多个数据源汇聚于一个可视化界面中,并同时实现在线分享应用功能。

关键技术

  • A. 该平台整合了Mesos和Docker的优势,实现Mesos和Docker的无缝对接,利用Mesos实现对分布式集群做细粒度资源分配,结合Docker规避了Mesos无中心化缺陷,将各应用通过Docker进行容器化管理,让应用在更轻量化的情况下分配资源、隔离进程和网络,完成从开发到部署的快速搭建,既解决了分布式的痛点,又为用户提供基于集群环境的高速计算能力,极大地提高了发布效率
  • B. 该平台将数据采集模块的解析、设计和点击功能全部通过网页的Web端实现,从而可以使得平台具有跨平台特性和自定义数据服务功能,满足中小企业低成本享受一站式大数据服务需求。
  • C. 采用基于机器学习的多种反封杀组合实现对数据的智能爬取,结合基于 MD5 的URL去重树对URL进行去重处理对数据进行清洗,提高挖掘数据的质量、可靠性和完整性。
  • D. 该平台基于Spark对并行协同过滤算法和APFP_Growth 算法进行改进,改进的并行协同过滤算法比原来基于共现矩阵的并行算法具有更高的运行效率和更高的推荐精度,基于二分策略分组的负载均衡改进的APFP_Growth算法,规避了现有的并行 PFP_Growth 算法在 FList 分组的步骤中没有考虑分组中负载均衡的问题,达到更好的负载均衡效果。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-04-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景简介
  • 技术研发情况
    • 所采用的关键技术
      • (1) 基于Docker和Mesos结合的分布式计算架构
      • (2) 基于机器学习的防封杀智能数据爬取技术
      • (3) 基于MD5树的URL去重算法的数据清洗技术
      • (4) 基于二分策略分组的负载均衡改进算法的数据分析技术
      • (5) 基于改进的并行协同过滤算法的数据处理技术
      • A. 大数据采集
      • B. 大数据挖掘处理
      • C. 大数据分析展示
  • 技术研发方案
  • 关键技术
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档