中企动力 > 商学院 > 数据计算平台方案
  • ?

    云计算数据中心建设网络解决方案

    North

    展开

    云计算数据中心是一整套复杂的设施,它不仅仅包括计算机系统和其它与之配套的设备(例如通信和存储系统),还包含冗余的数据通信连接、环境控制设备、监控设备以及各种安全装置。作为云架构的基础设施之一,云计算数据中心的构建至关重要。

    传统的数据中心网络的架构包括四大部分,即核心层、汇聚层、接入层和运营管理层。核心层一般采用双机冗余的路由设备,对外运行E-BGP或静态路由协议,对内运行IGP协议(如OSPF);汇聚层采用双机冗余的三层交换机;接入层和运营管理层则采用二/三层交换机。

    目前的网络结构有以下缺点,例如网络层次较多、时延大,核心层或网络层网络设备容量会成为发展的瓶颈,同时随着数据中心规模越来越大,网络结构也成为瓶颈问题。

    网络传输由于技术成熟度和设备价格成本等因素,传统数据中心网络一般使用以太网进行数据的传输。然而传统数据中心网络与互联网运行环境有极大差别,其特殊的数据转发需求例如负载均衡或者多路径传输等,必须通过特殊的转发机制实现。这存在以下问题:一是传统的数据包转发设备,例如以太网交换机,除非进行重新设计否则无法实现这些需求;二是基于软件的转发可以通过编程很方便的实现不同需求,但是无法以较低成本达到性能要求。

    解决方案针对上述问题,提出云数据中心采取扁平化结构来进行构建。 首先,由于数据中心交换机的容量和性能逐渐优越,核心层的路由转发和防攻击的功能完全可被汇聚层的交换机实现,因此从减少时延的角度可采用2层的扁平化架构,将核心层和汇聚层合并。

    其次,横向扩展设备的同时会造成出口设备数量多,导致管理复杂,为了简化管理和避免STP/MSTP/RSTP等协议造成带宽利用率不高的问题,可在单纯的提高设备性能的基础上,将临近的同类网络设备进行集群化以满足需求。

    最后,使用以太网进行数据传输时,由于运行环境的差别导致其转发机制各不相同,可使用VLAN技术通过软件的配置而不是对局域网的主机进行物理上的划分,实现动态灵活地将服务器群或存储设备分割成多个逻辑网络,适应不同的传输环境。同时采用传统的STP+VRRP技术部署二层网络时会带来部署复杂、链路利用率低、网络收敛时间慢等诸多问题,因此网络方案的设计需要重点考虑增强二级网络技术(如IRF/VSS、TRILL等)的应用,以解决传统技术带来的问题。

  • ?

    试述面向科学计算和海量数据处理的云计算平台

    残缺

    展开

    大型工程分析与科学研究的数值模拟要求的计算量与存储量都是巨大的,甚至是海量的。多CPU并行机与大规模的集群环境为用户求解数百万、数千万甚至更多的自由度提供了可能,同时也为复杂和大规模的工程与科学计算找到了出路。石油勘探、地震预测预报、气候模拟与天气预报、人体基因与遗传工程、医学图像的快速处理、海洋环流和超导模拟等。此外,还可以作为超级服务器用于信息服务、事务处理、决策支持等进行应用。

    信息技术的不断发展,使得各行业的信息量呈爆炸性增长趋势,一些科学应用中的数据量已经从几十个TeraBytes发展到PetaBytes,并且在不断扩大。科学应用每年需要处理的总数据量已经达到数百TeraBytes,2010年科学应用每年所要处理的数据量预计将要达到数百;数据规模指数级的增长已经超过了由摩尔定律所预测的计算能力和存储空间的增长。

    高能物理学实验:大型强子对撞器通过把高度活跃的质子以超快速度撞击到一起来完成高能物理学实验,2009年夏天启动以来,这些物理学实验每年都会产生数PB的原始数据和派生数据,预计会持续15年。分布于世界各地的科学家将会以协作的方式对这些数据进行科学分析。

    特定的网络应用程序而 的专属云计算平台。针对内部网络数据规模超大的特点,提出了一整套基于分布式并行集群方式的基础架构,利用软件的能力来处理集群中经常发生的节点失效理由。这个平台先是为最重要的搜索应用提供服务,现在已经扩展到其他应用程序。通过架构一个分布的、可全球访问的资源结构,使数据中心在类似互联网的环境下运转计算。

    亚马逊凭借其简单存储服务和弹性计算云被运来越多的人所熟知。通过这两个平台,个人或者企业可以将他们的数据和应用放置到亚马逊提供的云平台上去,亚马逊已成为全球最成功的公共云服务中心之一。运用虚拟化技术让各种应用运转在共享的资源上,运用自动化技术完成应用之间的资源调配,提升学校公共计算服务平台的功能和安全性,有效改善学校大型计算设备及通用、专用软件的使用条件,培养出一批具备高性能计算能力和高素质的 科研梯队,

    跨硬件平台,操作系统平台,能够支持各种应用的不同需求。进一步提高集群和小机两种具有普适性的科学计算方案的计算性能,完善多级存储体系,实现高性价比的海量数据存储,满足未来计算发展对数据存储的需求,同时充分考虑关键数据的管理和应用需求。

    构建“SMP集群+PC集群”混合架构,以满足用户各种用户工程计算和科学研究的需求,配置由XIV存储组成的存储系统来存放相关的数据,通过并行文件系统GPFS将数据共享出来供用户使用 。

  • ?

    从内部业务到外部赋能,详解阿里大数据计算平台的扩张野心

    Ilona

    展开

    2018 年是阿里巴巴公司成立的第 19 个年头。在这过去的 19 年里,伴随着中国互联网的快速发展,阿里巴巴也无到有、从小到大,迅速成长为一家世界级的互联网巨头,创造了一个令世界瞩目的「中国奇迹」。

    而在这 19 年的时间内,公众对于阿里巴巴公司的认知也在悄然发生着变化。从早年间的 B2B 公司到后来的 C2C(淘宝)、B2C(天猫)的电商公司再到现在一个无所不包的阿里巴巴生态体系,「阿里巴巴到底是一家什么公司?」这个问题可以有多个回答的角度,比如,阿里巴巴是一家以用户需求为导向的互联网公司,再比如,阿里巴巴是一家「商业太过成功以至于掩盖了技术创新的公司」(阿里巴巴 CTO 张建锋语)。

    但如果从最微观的角度切入,阿里巴巴其实一家大数据公司。在阿里所有的产品里,流淌的着是各种各样的数据,比如天猫淘宝的电商数据、阿里云的企业业务数据、支付宝的支付数据等等,这些海量的数据组成了阿里巴巴各个产品线,而让这些数据转化为业务和产品,最终成为可以让普通用户享受到的服务,则离不开一个稳定可靠的大数据计算平台,这也是阿里巴巴计算平台所要承担的艰巨任务。

    公开资料显示,阿里巴巴计算平台支撑了整个阿里经济体 90% 以上的结构化/非结构化数据的存储、交换、管控,数据规模已超 EB 级别。在上周的云栖大会上,阿里巴巴副总裁、计算平台负责人周靖人博士及其团队像外界展示了阿里巴巴大数据智能计算引擎的核心技术能力,比如可以实现海量数据规模下的高性价的离线实时计算,以及实时+离线任务一体化研发能力等等,这一系列新的能力也让其具备了新一代计算引擎的诸多特点。

    更重要的是,不管是大数据引擎 MaxCompute 还是实时计算引擎 Blink,都是在阿里内部被业务一步步「锻炼」出来的产品,因此具有实战性、可用性的优势。另一方面,作为阿里巴巴大数据研发平台的 DataWorks,在经过 9年 内部发展、5年公共云、3年专有云的发展后,也成为阿里巴巴大数据赋能行业的重要技术输出口。

    MaxCompute 与 Blink,从在线业务到民生业务的数据引擎

    先来看看 MaxCompute。这是阿里巴巴自主研发的大数据计算平台,从 2010 年开始正式开始运行在阿里云飞天分布式操作系统智商,提供统一的计算引擎,支持 SQL、MR、迭代计算、图计算、流计算。

    在历经多次、不同规模的业务锤炼后,目前 MaxCompute 承载了阿里巴巴集团内部 99% 的数据存储及 95% 的计算能力。

    与此同时,MaxCompute的成长速度也非常惊人。去年10月的云栖大会上,MaxCompute与TPC委员会的benchmark适配,在业界领先的基于端到端的大数据分析领域应用级测试基准下,MaxCompute完成了全球首次基于公共云的bigbench大数据基准测试,数据规模拓展到100TB,性能达到7830QPM,成为首个突破7000分的数据引擎。

    2018年,该性能测试的结果再次提升超过2倍,达到18176.71QPM。这一系列成绩充分展现了 MaxCompute 作为一款中国自主研发的大数据引擎,已经具备了可以引领行业发展的能力。

    再来看看看看 Blink。Blink 是阿里巴巴基于 Apache Flink 开源流处理框架所开发的实时计算引擎,过去三年,阿里的实时计算团队针对其内部特定的业务场景,对 Flink 做了大量优化迭代,并命名为 Blink。

    实时计算场景在电商业务里非常普遍,比如电商促销的场景,如何让用户的需求在短暂的促销阶段被更多地刺激出来,就考验着电商平台的搜索和推荐,这就需要电商平台的数据能在最短的时间内实现模型更新,这就是实时计算最能发挥作用的应用场景。

    在历年的双十一的大考中,公众最关注的 GMV 大屏幕的背后技术就是 Blink 实时计算引擎,每一条交易信息都是一个数据,从数据写入数据开始,到被实时处理并最终显现到大屏幕,都要求数据计算的精确性、可用性以及低延时(延迟在亚秒级别)。而双十一全天的活动里,每秒几十万笔的交易和支付的实时聚合统计操作全部是由Blink计算完成,从而最大限度地保证了双十一的稳定运行。

    从上文可以看出,MaxCompute 和 Blink 分别对应了不同领域的计算需求,前者主要应对海量数据的离线计算,而后者,则在实时计算中扮演重要角色,两个计算相辅相成,成为阿里巴巴内部诸多产品的底层数据支持平台。

    2016 年,阿里云推出 ET 城市大脑项目,在杭州,阿里云希望将城市交通数据统一到一个「大脑」中,通过云端的海量、实时计算,实现对城市发展的数字化管理,这也是对 MaxCompute 和 Blink 计算引擎的新考验,如果说过去的数据计算是处理互联网的交易数据,那么当数据范围扩大到物理世界,MaxCompute 和 Blink 能否有效应对呢?

    答案也很乐观。在上周发布的杭州城市大脑 2.0 中,阿里云 ET 城市大脑相的管辖范围扩大了28倍,优化信号灯路口1300个,覆盖杭州四分之一路口,同时已接入了视频4500 路。这意味着,MaxCompute 和 Blink 不仅可以计算互联网数据,还完全可以承载一个城市的离线和实时计算需求。

    这样灵活、强大的数据计算能力,也正在成为驱动其他行业变革的新变量。

    DataWorks,一站式数据开发平台

    事实上,MaxCompute 和 Blink 实时计算都已经运行在阿里云平台,企业和开发者可以根据自身需求去购买相应的服务。而在此次云栖大会上,阿里巴巴计算平台的多位技术专家还分享了 DataWorks 的数据研发平台对于更多行业的数据赋能能力。

    首先,DataWorks 的可用性已经得到验证。作为一个在阿里内部「孕育」出来的数据研发平台,DataWorks 也被广泛应用到阿里集团、蚂蚁金服、菜鸟、优酷、高德等所有事业部的数据开发流程里,还通过阿里云的公共云平台和专有云平台被广泛应用到多个国家和地区。

    其次,DataWorks 的技术能力毋庸置疑。不完全统计,2017年,以 DataWorks 为主体的阿里云数加,获得了国际软博会金奖;2018年,DataWorks 名列国家大数据博览会十佳产品,荣获最佳案例实践奖。

    2018 年 3 月,咨询机构 Forrester 发布 Cloud Data Warehouse 第一季度榜单,DataWorks 携手 MaxCompute,与AWS,Microsoft Azure,Google Cloud 一众强手共同进入云数仓第一阵营,是唯一入选榜单的中国企业,也奠定了世界级大数据研发平台的地位。

    第三,在产品设计上,DataWorks 拥有完整的开发流程,实现了端到端的数据开发。DataWorks 将上文提及的 MaxCompute 离线计算能力和 Blink 实时计算能力封装为可用的接口,另外还将阿里巴巴机器学习平台 PAI 的机器学习能力融合到平台里,覆盖从数据计算到模型训练、线上数据服务,再到云上应用搭建的一站式云上大数据解决方案。

    另外,基于云上编程环境 Cloud IDW,DataWorks 还提供从 Sql、python,甚至 Java 的开发能力,这也意味着,开发者不必花费过多时间和精力去配置各种开发变量,只需将开发环境切换到云端,然后直接写代码就能快速搭建自己的产品。

    DataWorks 的上述能力也在体现在阿里巴巴计算平台日前举办的云上编程比赛中,各路选手需要利用DataWorks 快速搭建一个天气预报云端应用。

    第一步是离线数据导入和处理。选手们要将历史数据通过数据集成导入到MaxCompute 表,然后在 DataWorks 编写离线 SQL 进行数据预处理,处理后的数据在 PAI 机器学习平台通过引用内置的各种算法/模板进行建模、训练,并最终一键发布到EAS提供预测服务。

    第二步则是实时数据的接入和处理。将实时采集的气象数据通过数据集成导入到DataHub,然后在DataWorks编写实时SQL进行数据加工,加工后的实时数据和离线基础数据拖过简单拖拽就可以装载到Lightning引擎进行异构数据整合,并提供实时交互式查询服务。

    第三步构建应用。在DataWorks 的数据服务中,可快速的打通 EAS 服务和 Lightning 引擎并生成高性能的在线 API,同时在 AppStudio 中可无缝对接数据服务API;用可视化组件模板,简单几步配置就可以完成云上Web应用开发;另外AppStudio也提供了在线IDE环境可支持Java在线开发、编译、调试、运行、版本管理、多用户协同编辑等功能。

    尾巴:数据时代的红利

    无论承认与否,「数据是新时代的石油」已然成为行业共识,向数据要价值正在成为全社会各个行业的方法论。在这场数据智能的淘金热里,阿里将自己放在行业赋能者的位置,既有能提供处理海量数据的 MaxCompute,还有支撑双十一的实时计算引擎 Blink,也有面向机器智能开发的 PAI,而在这一系列产品的上层,也就是最接近企业、开发者的那一层,DataWorks 整合了所有的核心技术,并以友好的界面、一站式的流程展现给企业、开发者。

    如果阿里巴巴过去 19 年的努力,践行了「让天下没有难做的生意」的口号,那么,现在的阿里巴巴大数据计算平台上的这些产品,则正在努力实现「让天下没有计算不了的数据」的新愿景,这是阿里巴巴技术驱动型公司最直接的体现,也是数据时代企业、个人开发者的新红利。(完)

  • ?

    纪检监察大数据平台解决方案

    Goddard

    展开
    投稿邮箱190155218@QQ.COM

    1. 系统概述

    谷尼纪检监察大数据平台以监督对象信息、廉政信息等数据为基础,将大数据技术与纪检监察业务需求相结合,通过数据采集、存储、清洗、挖掘和可视化技术,提高廉政线索发现、腐败预防、权力监管等工作的效率和效果,促进纪检监察管理工作的升级。

    2. 产品价值

    实现及时发现违规违纪问题线索

    实现整体提升纪检监察工作成效

    实现有效提高纪检监察办案效率

    实现显著增强腐败预防的前瞻性

    3. 系统结构

    4. 系统特点

    纪检监察业务管理与大数据技术有机结合;

    领导干部量化监督与预防腐败的有机结合;

    定向、定性、定量和定期分析评估的有机结合;

    考核以量化评价、排名与预防职务犯罪的有机结合。

    5. 功能描述

    廉政档案管理

    实现对党员干部本人基本情况、家庭成员情况、财产收入情况、个人重大事项报告情况等档案信息的管理。

    考核监督管理

    实现对“两个责任”工作情况的信息管理,自动统计、计分、排名,并可以多级联动,立体监督。

    “八项规定”监督管理

    实现对“八项规定”相关事项监督管理,通过与财政局的数据分析比对,实现动态监控,对异常支出进行预警,进行重点抽查。

    基层小微权力监督管理

    实现对农村“党务、村务、财务”信息管理,构建农村“小微权力”监督体系。

    纠治“四风”监督管理

    实现对“四风”问题的组织监督和社会监督,“纪检督查”、“四风拍拍”、“工作纪律”3个子系统,让“四风”问题无处遁形。

    大数据可视化呈现

    实现对行政区域内干部人员分布、廉政情况等多个维度的分析和可视化呈现,为干部任用、提拔提供有效的参考依据。

    关键词:纪检监察大数据平台,纪检监察大数据解决方案,谷尼大数据

  • ?

    智慧农业大数据分析平台规划方案(ppt)

    任老五

    展开

    农业数据来源涵盖区域广、涉及领域和内容宽泛,数量庞大且错综复杂。农业领域影响因素信息的全收集,才可以使得全面、多维感知精准决策成为可能。建立数据交换系统,形成快速稳定的数据采集渠道,收集各类涉农信息。 建立科学规范的信息标准体系,通过数据治理整治异构系统传来的多规数据,形成真实可信的有效数据。通过各涉农部门与单位的不同数据整合,形成完整数据链条,描绘出产业全链信息。

    免责声明:物联价值公众号除非特别注明,本站所载内容来源于互联网、微信公众号等公开渠道,不代表本站观点,仅供参考、交流之目的。转载的稿件版权归原作者或机构所有,如有侵权,请联系删除。

  • ?

    智慧校园大数据平台解决方案「开运联合案例」

    葛翠彤

    展开

    智慧校园大数据平台的建设,从应用范围来讲包括校内和校外两个部分。校内应用以满足管理者、教师、学生、在学校的教学、教务、行政、德育、科研、总务等各种应用需求,而校外应用部分将扩展到广大家长和社区公众,以信息资源的共享、交流、互动为主要内容,实现智慧校园向社区、家庭的延伸扩展。

    行业痛点

    1、学校工作流程复杂,且办事效率低下,比如:公文审批、物料申请等等;

    2、校内大量信息和数据的处理,对人工依赖程度较高,比如:学生学籍、教师信息等数据的录入、维护;

    3、各个管理平台之间无法实现数据共享对接。比如:教师、学生的基础数据需要在不同平台中重复录入,信息维护成本极高。

    4、管理数据不能为其他平台服务,比如:考勤管理中的数据,不能服务于教师和学生的评价;阅卷管理的数据,不能服务于教学。

    5、数据可靠性差,不能支撑管理工作的改善,为领导决策提供科学依据。

    项目背景

    目前,随着学校教师的教育信息化水平在不断提升、现代化教育教学设施的进一步完善,智慧校园是学校教育现代化的一种体现,虽然大部分学校经过多年的信息化建设取得了一些成绩,但随着社会信息技术的不断发展,智慧校园的建设也需要不断更新,现主要存在以下问题需要解决:

    缺少教育教学相关应用,大多数学校在软件应用取得了一些成绩,但由于主要是以探索方式进行建设,缺乏整体规划,教育教学方面应用较为粗浅,文化管理特色已不能满足学校发展的要求。学校教师专业发展、学生教育教学、校园文化活动等方面的应用有待提高。

    信息的共享和利用不充分,尽管学校多年的信息化应用积累了大量的数据,但并未实现统一身份认证,并且信息孤岛的壁垒一直没有打破,对这些数据无法进一步的挖掘、分析、加工、整理,不能给学校教育、教学、德育、科研、总务等各方面管理决策提供科学、有效的数据支撑。

    建设原则

    智慧校园大数据平台定位于开放的、可扩展的、可持续提供服务的信息化平台,同时,该平台以应用为向导,基于智慧的软硬件环境,结合云计算、物联网、移动网络、虚拟社区等先进技术为管理者、师生、家长和相关联的社会群体提供智慧的服务。平台规划需具有一定的超前性、引领性与创新性,同时需要充分考虑信息化的实用价值,试点成功将对我市、我省的校园信息化建设起到示范作用。

    在技术上,平台将基于顶层设计,基于“硬件集群、数据集中、应用集成”的建设理念,从基础环境、管理应用、教学应用、信息服务、信息标准、安全保障等层面进行整体规划,构建了一个松散耦合的分布式应用体系,实现各类应用在数据流、业务流、服务流、界面展现等各层面的融合,同时利用云计算模式,在为更广泛的用户提供云服务的同时,有效节约教育信息化硬件资金与人力投入,满足教育服务应用软件的不断扩充。

    功能概述

    智慧管理:管理与服务是师生教学顺利高效开展的保障。提供智慧学校“智慧管理”解决方案,提升学校OA办公系统、人事管理、后勤管理、资产管理、图书管理、学生管理等的效率,并通过对相关数据的挖掘与分析,为学校教学改革决策、教学质量检测、全面教学质量及校园管理提供支撑。

    智慧教学:教学是中学教育改革的关键,充分利用信息化手段,改革传统”填鸭式、被动式、单一式“的教学方法,探索信息化环境下学生中心、寓教于乐、协作学习等全面、快乐和高效的教学方式,提升教学效率和学生兴趣,提升学生学习绩效,达成教学目标。

    智慧实践:课改是深化教育改革的重点,如何将素质教育从理念转化为切实可实施的课程与教学行为,是推进素质教育,实施”全人“培养战略的关键,也是全面推进素质教育的龙头和战略抓手。采用信息技术手段,开发特色课程与信息技术实现高度融合,以”虚实结合“的生态学习环境、实践中心信息化平台的实训软件为依托,结合师资培训和校际合作竞赛等增值服务,以培养德智体美等全面发展的一代新人为根本宗旨,为学校提供”智慧实践“素质教育拓展课程全面的解决方案,推进新课改及高考两类人才、两种模式——”技能型及学术型“改革,全面提升基础教育的质量与水平。

    智慧教研:积累数十年教育行业的经验,在教学改革中,着重提供教师发展服务,为教师提供教育技术能力、中小学班主任心理健康咨询与辅导能力的提升提供系列网络课程、虚拟仿真实训、在线名师咨询等系列支持服务。通过开展教师专业发展联盟、智慧校长研训班及卓越教师研训班等形式,采用O2O线上线下模式构建网上教研活动平台,建立虚拟教研社区,构建智慧学校”智慧教研“教师素质提升解决方案,实现校企合作,与教育研究者、教育企业合作,建立教改联盟,进行跨校公开课教学、跨校虚拟教研、校企协同课程开发等多种协同教改模式的创新探索。

    智慧文化:通过校园文化顶层设计,全面打造”智慧校园“,为学校提供“智慧文化”品牌价值提升解决方案。通过信息化的手段,对校园文化进行展示,从而促进学校招生和品牌价值的提升,帮助学校打造智慧示范学校,树立当地标杆。

    智慧服务:通过信息化手段,简化老师与学生、家长与学校互联 互通;通过校园一卡通的服务平台,服务于学校师生校园消费、图书馆借阅、宿舍校园门禁等,让“智慧服务”解决方案为学校带来对于管理者、教师、学生校园生活的品质提升。

  • ?

    智慧政府:政府大数据服务平台规划方案(ppt)

    忆梅

    展开

    数据的开放共享是建立开放型、服务型、现代型政府的开始。现今,大数据产业大发展、大机遇、大红利的时代已然到来。目前,大数据应用以政府数据和公共数据为基础,以数据汇集和共享为支撑,以提高政务效率和服务能力为目标的政府管理和公共服务领域应用相对成熟和广泛。

    结束语:

    对各个国家地区大数据实践的研究表明,大数据的应用可以从五个方面提高政府公共管理水平:

    一是实现信息透明和共享,使外部利益相关者(比如公民和企业)和内部利益相关者(比如政府雇员和政府机构)都能提高自身的工作效率,产生积极的经济社会综合效益。

    二是通过评估公共部门的绩效,增强内部竞争,激励工作表现,提高公共建设效率,提升行政服务质量,降低政府的管理成本。

    三是通过人口细分和定制政策,增强公共服务的针对性,提高工作效率和公众满意度,减少开支。在传统公共管理中,公共部门倾向于为所有公民提供相同的服务。

    四是用政务智能替代或辅助人工决策,在纷繁复杂的数据中自动识别出不一致、错误和虚假的信息,减少出错 成本和福利管理中的诈骗,缩小税收缺口。

    五是引导公共部门内部和外部的创新,例如,商业、非营利性机构、第三方通过开发出大数据工具和分析,对公 共服务进行反馈,为改善现有的方案提出建议,从而为公共部门创造新的价值。

    (来源: 悟道方案 518doc)

  • ?

    智慧方案:大数据可视化共享平台规划

    Zhou

    展开

    大数据可视化共享平台,一方面,作为“一站式云计算服务来源”,政府各机构可以集中购买大数据处理各种云服务产品,节约大量IT预算。通过应用程序商店,采用成熟的软件产品,规范与整合了部门业务流程,减少部门重复的软件开发成本,减少各部门在硬件、软件和运行方面的开销,提升大数据信息技术方面的整体安全性。另一方面,IT企业可以通过网站向政府提供专业化的IT服务,并通过竞争提升服务能力和服务质量,与大数据运营形成良好互动,可有效地推动政府的云战略,也有利于提升整个国家的信息化水平。

    结束语:为什么要共享大数据?1、唤醒数据价值;整合分散于各个政府部门、科研院所、行业部门的数据资源,逐步向社会数据需求方开放,提升科技资源的公共服务能力。2、提高数据运行效率;社会治安曾是纽约市政府最为棘手的问题,每年要花费大笔的财政经费在警察和警务装备上。而随着详尽犯罪记录数据的开放,不仅开发出了提示公众避免进入犯罪高发区域和提高警惕的手机应用,从而降低犯罪发生的概率;而且还能将犯罪记录信息和动态交通数据结合起来,起到指导调配警力的作用。 3、 激发巨大商业价值;美国将原本用于军事的卫星定位系统GPS向公众开放使用,从汽车导航、精准农业耕作到物流、通讯等,北斗卫星系统开放后不仅服务了生产和生活,同时还创造了大量就业岗位。据现阶段数据估算,仅美国国内就有约三百万的就业岗位依赖于GPS卫星引导系统。

  • ?

    【独家】一文读懂大数据计算框架与平台

    惨白

    展开

    1.前言

    计算机的基本工作就是处理数据,包括磁盘文件中的数据,通过网络传输的数据流或数据包,数据库中的结构化数据等。随着互联网、物联网等技术得到越来越广泛的应用,数据规模不断增加,TB、PB量级成为常态,对数据的处理已无法由单台计算机完成,而只能由多台机器共同承担计算任务。而在分布式环境中进行大数据处理,除了与存储系统打交道外,还涉及计算任务的分工,计算负荷的分配,计算机之间的数据迁移等工作,并且要考虑计算机或网络发生故障时的数据安全,情况要复杂得多。

    举一个简单的例子,假设我们要从销售记录中统计各种商品销售额。在单机环境中,我们只需把销售记录扫描一遍,对各商品的销售额进行累加即可。如果销售记录存放在关系数据库中,则更省事,执行一个SQL语句就可以了。现在假定销售记录实在太多,需要设计出由多台计算机来统计销售额的方案。为保证计算的正确、可靠、高效及方便,这个方案需要考虑下列问题:

    如何为每台机器分配任务,是先按商品种类对销售记录分组,不同机器处理不同商品种类的销售记录,还是随机向各台机器分发一部分销售记录进行统计,最后把各台机器的统计结果按商品种类合并?上述两种方式都涉及数据的排序问题,应选择哪种排序算法?应该在哪台机器上执行排序过程?如何定义每台机器处理的数据从哪里来,处理结果到哪里去?数据是主动发送,还是接收方申请时才发送?如果是主动发送,接收方处理不过来怎么办?如果是申请时才发送,那发送方应该保存数据多久?会不会任务分配不均,有的机器很快就处理完了,有的机器一直忙着?甚至,闲着的机器需要等忙着的机器处理完后才能开始执行?如果增加一台机器,它能不能减轻其他机器的负荷,从而缩短任务执行时间?如果一台机器挂了,它没有完成的任务该交给谁?会不会遗漏统计或重复统计?统计过程中,机器之间如何协调,是否需要专门的一台机器指挥调度其他机器?如果这台机器挂了呢?(可选)如果销售记录在源源不断地增加,统计还没执行完新记录又来了,如何保证统计结果的准确性?能不能保证结果是实时更新的?再次统计时能不能避免大量重复计算?(可选)能不能让用户执行一句SQL就可以得到结果?

    上述问题中,除了第1个外,其余的都与具体任务无关,在其他分布式计算的场合也会遇到,而且解决起来都相当棘手。即使第1个问题中的分组、统计,在很多数据处理场合也会涉及,只是具体方式不同。如果能把这些问题的解决方案封装到一个计算框架中,则可大大简化这类应用程序的开发。

    2004年前后,Google先后发表三篇论文分别介绍分布式文件系统GFS、并行计算模型MapReduce、非关系数据存储系统BigTable,第一次提出了针对大数据分布式处理的可重用方案。在Google论文的启发下,Yahoo的工程师Doug Cutting和Mike Cafarella开发了Hadoop。在借鉴和改进Hadoop的基础上,又先后诞生了数十种应用于分布式环境的大数据计算框架。本文在参考业界惯例的基础上,对这些框架按下列标准分类:

    如果不涉及上面提出的第8、9两个问题,则属于批处理框架。批处理框架重点关心数据处理的吞吐量,又可分为非迭代式和迭代式两类,迭代式包括DAG(有向无环图)、图计算等模型。若针对第8个问题提出来应对方案,则分两种情况:如果重点关心处理的实时性,则属于流计算框架;如果侧重于避免重复计算,则属于增量计算框架。如果重点关注的是第9个问题,则属于交互式分析框架。

    本文下面分别讨论批处理、流计算、交互式分析三种类别的框架,然后简要介绍大数据计算框架的一些发展趋势。文章最后介绍这一领域的学习资料。

    图1.大数据计算框架全景图2.批处理框架

    2.1.Hadoop

    Hadoop最初主要包含分布式文件系统HDFS和计算框架MapReduce两部分,是从Nutch中独立出来的项目。在2.0版本中,又把资源管理和任务调度功能从MapReduce中剥离形成YARN,使其他框架也可以像MapReduce那样运行在Hadoop之上。与之前的分布式计算框架相比,Hadoop隐藏了很多繁琐的细节,如容错、负载均衡等,更便于使用。

    Hadoop也具有很强的横向扩展能力,可以很容易地把新计算机接入到集群中参与计算。在开源社区的支持下,Hadoop不断发展完善,并集成了众多优秀的产品如非关系数据库HBase、数据仓库Hive、数据处理工具Sqoop、机器学习算法库Mahout、一致性服务软件ZooKeeper、管理工具Ambari等,形成了相对完整的生态圈和分布式计算事实上的标准。

    图2.Hadoop生态圈(删减版)

    MapReduce可以理解为把一堆杂乱无章的数据按照某种特征归并起来,然后处理并得到最后的结果。基本处理步骤如下:

    把输入文件按照一定的标准分片,每个分片对应一个map任务。一般情况下,MapReduce和HDFS运行在同一组计算机上,也就是说,每台计算机同时承担存储和计算任务,因此分片通常不涉及计算机之间的数据复制。按照一定的规则把分片中的内容解析成键值对。通常选择一种预定义的规则即可。

    执行map任务,处理每个键值对,输出零个或多个键值对。

    MapReduce获取应用程序定义的分组方式,并按分组对map任务输出的键值对排序。默认每个键名一组。

    待所有节点都执行完上述步骤后,MapReduce启动Reduce任务。每个分组对应一个Reduce任务。

    执行reduce任务的进程通过网络获取指定组的所有键值对。

    把键名相同的值合并为列表。

    执行reduce任务,处理每个键对应的列表,输出结果。

    图3.MapReduce处理过程

    在上面的步骤中,应用程序主要负责设计map和reduce任务,其他工作均由框架负责。在定义map任务输出数据的方式时,键的选择至关重要,除了影响结果的正确性外,也决定数据如何分组、排序、传输,以及执行reduce任务的计算机如何分工。前面提到的商品销售统计的例子,可选择商品种类为键。MapReduce执行商品销售统计的过程大致如下:

    把销售记录分片,分配给多台机器。每条销售记录被解析成键值对,其中值为销售记录的内容,键可忽略。

    执行map任务,每条销售记录被转换为新的键值对,其中键为商品种类,值为该条记录中商品的销售额。

    MapReduce把map任务生成的数据按商品种类排序。

    待所有节点都完成排序后,MapReduce启动reduce任务。每个商品种类对应一个reduce任务。

    执行reduce任务的进程通过网络获取指定商品种类的各次销售额。

    MapReduce把同一种商品下的各次销售额合并到列表中。

    执行reduce任务,累加各次销售额,得到该种商品的总销售额。

    上面的过程还有优化的空间。在传输各种商品每次的销售额数据前,可先在map端对各种商品的销售额进行小计,由此可大大减少网络传输的负荷。MapReduce通过一个可选的combine任务支持该类型的优化。

    2.2.DAG模型

    现在假设我们的目标更进一步,希望知道销售得最好的前10种商品。我们可以分两个环节来计算:

    统计各种商品的销售额。通过MapReduce实现,这在前面已经讨论过。对商品种类按销售额排名。可以通过一个排序过程完成。假定商品种类非常多,需要通过多台计算机来加快计算速度的话,我们可以用另一个MapReduce过程来实现,其基本思路是把map和reduce分别当作小组赛和决赛,先计算各分片的前10名,汇总后再计算总排行榜的前10名。

    从上面的例子可以看出,通过多个MapReduce的组合,可以表达复杂的计算问题。不过,组合过程需要人工设计,比较麻烦。另外,每个阶段都需要所有的计算机同步,影响了执行效率。

    为克服上述问题,业界提出了DAG(有向无环图)计算模型,其核心思想是把任务在内部分解为若干存在先后顺序的子任务,由此可更灵活地表达各种复杂的依赖关系。Microsoft Dryad、Google FlumeJava、Apache Tez是最早出现的DAG模型。Dryad定义了串接、全连接、融合等若干简单的DAG模型,通过组合这些简单结构来描述复杂的任务,FlumeJava、Tez则通过组合若干MapReduce形成DAG任务。

    图4.MapReduce(左)与Tez(右)执行复杂任务时对比

    MapReduce的另一个不足之处是使用磁盘存储中间结果,严重影响了系统的性能,这在机器学习等需要迭代计算的场合更为明显。加州大学伯克利分校AMP实验室开发的Spark克服了上述问题。Spark对早期的DAG模型作了改进,提出了基于内存的分布式存储抽象模型RDD(Resilient Distributed Datasets,可恢复分布式数据集),把中间数据有选择地加载并驻留到内存中,减少磁盘IO开销。与Hadoop相比,Spark基于内存的运算要快100倍以上,基于磁盘的运算也要快10倍以上。

    图5.MapReduce与Spark中间结果保存方式对比

    Spark为RDD提供了丰富的操作方法,其中map、 filter、 flatMap、 sample、groupByKey、 reduceByKey、union、join、cogroup、mapValues、sort、partionBy用于执行数据转换,生成新的RDD,而count、collect、 reduce、lookup、save用于收集或输出计算结果。如前面统计商品销售额的例子,在Spark中只需要调用map和reduceByKey两个转换操作就可以实现,整个程序包括加载销售记录和保存统计结果在内也只需要寥寥几行代码,并且支持Java、Scala、Python、R等多种开发语言,比MapReduce编程要方便得多。下图说明reduceByKey的内部实现。

    图6.RDD reduceByKey内部实现

    RDD由于把数据存放在内存中而不是磁盘上,因此需要比Hadoop更多地考虑容错问题。分布式数据集的容错有两种方式:数据检查点和记录数据的更新。处理海量数据时,数据检查点操作成本很高,因此Spark默认选择记录更新的方式。不过如果更新粒度太细太多,记录更新成本也不低。因此,RDD只支持粗粒度转换,即只记录单个块上执行的单个操作,然后将创建RDD的一系列变换序列记录下来,类似于数据库中的日志。

    当RDD的部分分区数据丢失时,Spark根据之前记录的演变过程重新运算,恢复丢失的数据分区。Spark生态圈的另一项目Alluxio(原名Tachyon)也采用类似的思路,使数据写入速度比HDFS有数量级的提升。

    下面总结Spark对MapReduce的改进:

    MapReduce抽象层次低,需要手工编写代码完成;Spark基于RDD抽象,使数据处理逻辑的代码非常简短。MapReduce只提供了map和reduce两个操作,表达力欠缺;Spark提供了很多转换和动作,很多关系数据库中常见的操作如JOIN、GROUP BY已经在RDD中实现。MapReduce中,只有map和reduce两个阶段,复杂的计算需要大量的组合,并且由开发者自己定义组合方式;Spark中,RDD可以连续执行多个转换操作,如果这些操作对应的RDD分区不变的话,还可以放在同一个任务中执行。MapReduce处理逻辑隐藏在代码中,不直观;Spark代码不包含操作细节,逻辑更清晰。MapReduce中间结果放在HDFS中;Spark中间结果放在内存中,内存放不下时才写入本地磁盘而不是HDFS,这显著提高了性能,特别是在迭代式数据处理的场合。MapReduce中,reduce任务需要等待所有map任务完成后才可以开始;在Spark中,分区相同的转换构成流水线放到同一个任务中运行。3.流计算框架

    3.1.流计算概述

    在大数据时代,数据通常都是持续不断动态产生的。在很多场合,数据需要在非常短的时间内得到处理,并且还要考虑容错、拥塞控制等问题,避免数据遗漏或重复计算。流计算框架则是针对这一类问题的解决方案。流计算框架一般采用DAG(有向无环图)模型。图中的节点分为两类:一类是数据的输入节点,负责与外界交互而向系统提供数据;另一类是数据的计算节点,负责完成某种处理功能如过滤、累加、合并等。从外部系统不断传入的实时数据则流经这些节点,把它们串接起来。如果把数据流比作水的话,输入节点好比是喷头,源源不断地出水,计算节点则相当于水管的转接口。如下图所示。

    图7.流计算DAG模型示意图

    为提高并发性,每一个计算节点对应的数据处理功能被分配到多个任务(相同或不同计算机上的线程)。在设计DAG时,需要考虑如何把待处理的数据分发到下游计算节点对应的各个任务,这在实时计算中称为分组(Grouping)。最简单的方案是为每个任务复制一份,不过这样效率很低,更好的方式是每个任务处理数据的不同部分。随机分组能达到负载均衡的效果,应优先考虑。不过在执行累加、数据关联等操作时,需要保证同一属性的数据被固定分发到对应的任务,这时应采用定向分组。在某些情况下,还需要自定义分组方案。

    图8.流计算分组

    由于应用场合的广泛性,目前市面上已经有不少流计算平台,包括Google MillWheel、Twitter Heron和Apache项目Storm、Samza、S4、Flink、Apex、Gearpump。

    3.2.Storm及Trident

    在流计算框架中,目前人气最高,应用最广泛的要数Storm。这是由于Storm具有简单的编程模型,且支持Java、Ruby、Python等多种开发语言。Storm也具有良好的性能,在多节点集群上每秒可以处理上百万条消息。Storm在容错方面也设计得很优雅。下面介绍Storm确保消息可靠性的思路。

    在DAG模型中,确保消息可靠的难点在于,原始数据被当前的计算节点成功处理后,还不能被丢弃,因为它生成的数据仍然可能在后续的计算节点上处理失败,需要由该消...

  • ?

    大数据平台快速解决方案

    黎巴嫩

    展开

    内容来源:2017年5月13日,周末去哪儿架构师李锡铭在“Java开发者大会 | Java之美【上海站】”进行《大数据平台快速解决方案中》演讲分享。

    阅读字数:1891 | 4分钟阅读

    摘要

    大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。周末去哪儿架构师李锡铭根据自己的成功经验,为我们分享大数据平台快速解决方案。

    大咖演讲视频

    http://t/R9an7Rr

    搭建始末

    当时我们确定要做大数据的时候,有两种选型。第一种选型是用用原生的、开源的大数据技术,需要自己搭建;第二种是ODPS。

    后来我们选择了利用原生大数据,自己搭建一个大数据平台。因为我们已经有了一定的小积累,并且也想做一个大数据方面的技术沉淀。

    在移动互联网时代,用户所有的行为、浏览、记录和收藏等所有的数据,我们都会把它拿下来分析,前段时间阶段性沉淀的东西有多少,是对之前的一个总结。这个数据还能帮助我们进行深度挖掘,之后如何对不同用户分类,做一个精准化的营销定位。

    每个公司都会对这些数据进行报表级的展现。我们最开始的数据实现方式是把所有用户的行为数据放到传统的关系型数据库中,利用纯Java应用程序去读这张表。当计算某个指标的时候,还会关联若干张子表。这张主表大概有几千万,其它子表也是百万级甚至千万级的。如果单纯用Java去算的话,还要额外处理多线程。

    所以我们用传统的Java纯程序+关系型数据库去处理报表的时候,在存储和计算的性能上会出现问题,以至于报表需求越来越慢。

    在这样的大背景下,我们改成了使用大数据去处理这种场景。

    技术概览

    Hadoop是现在所有大数据计算存储的一个底层概念,后面所有衍生的大数据产品都是在Hadoop的基础上进行衍生的。

    这张图是目前大数据平台的架构。

    原生的Hadoop应该包含了Hdfs(文件存储)、Yarn(资源调度)和Mapreduce(算法)。

    Spark是类似于Mapreduce的一个计算框架,它在很多场景中的性能会比原生的Mapreduce好很多,尤其是迭代计算的时候,会有好几个数量级的提升。

    Sqoop是一个数据的迁移工具。

    Hive是对底层Hdfs系统的文件抽象出一个类似Mysql的关系型数据库,但大前提是它是在Hadoop这个大的语义下的关系型数据库。

    Oozie是一个任务编排和调度的框架。

    Hue是大数据的管理后台。

    Zookeeper是分布式协调工具。

    1.组件分类

    基础数据:Mysql,File。基础数据层是游离于大数据之外的概念,它是传统的数据来源。

    大数据存储:Hdfs、Hive。大数据存储是最基础的文件存储,在这基础上抽象出一个大数据的关系型数据库。

    大数据计算:Mapreduce、Spark、Sqoop。Mapreduce是原生的,Spark是新生的,Sqoop是数据转移的工具。

    大数据协调与调度:Yarn、Zookeeper、Oozie。Yarn是原生的,Zookeeper是一个分布式保证文件原子性的工具,Oozie是调度工具。

    大数据展现:Hue。Curd的展现层。

    2.典型执行流程

    最开始说过,我们遇到的问题是,Mysql的表存不下,计算也有问题。在这个场景下要把数据,从Mysql转到大数据,并利用大数据进行计算,最后做一个展现。

    它的流程是,首先通过Sqoop把Mysql的数据一次性或是增量的同步到一张Hive表里,用Hive Sql写好查询后,本质上Hive Sql会转化成Mapreduce任务再去执行,最后数据就展现出来了。

    很多时候后台的服务Control层会有入口和出口,我们需要把入口和出口的参数都记下来,方便以后排错或做统计方面的应用。

    在应用程序里,把这些消息定时写到消息队列中,用Spark定时读消息队列,并把这些读取到的消息按Spark的方式做一个编程。这个任务最终会被丢到Hadoop的底层计算里,然后用Yarn去调度,计算出结果,把这个结果写入Hive,这就完成了一次流式计算。

    3.Hue

    这里写了一个Hive Sql,与传统Mysql的写法几乎一样。Hive Sql写好以后点执行。它的过程是把Sql首先交给Hive去跑,Hive用自己的Sql解析引擎把这个任务翻译成Mapreduce,Mapreduce再用Yarn跑在Hadoop上,最终把结果跑出来。

    4.存储:Hadoop hdfs

    HadoopHdfs是基础的存储层。

    HadoopHdfs其实只包含了两种类型,一个是Namenode,一个是Datanode。Namenode是一个管理的节点,而datanode只负责数据的存储和冗余。

    5.计算:Mapreduce&spark

    Hadoop原生的计算框架是Mapreduce,而spark是一个新兴的计算框架,它更快更全面。

    6.资源管理器:yarn、Apache、hadoop yarn

    资源管理器的架构内包含rescource manager和node manager。Rescource manager是管理节点,node manager是work节点。

    把任务丢给rescource manager,它去把任务分发给每个节点,做一些状态的变换,最后把结果通过rescource manager汇总以后,处理完毕交给客户端。

    7.hive

    hive的架构并不是很复杂,上层是一些用户的API、web页面和命令行。它的核心是执行引擎,把sql翻译成大数据平台可以接受的任务。底层基于存储,它可以存在hdfs上。

    8.sqoop

    主要用于在hadoop与传统的数据库间进行数据的传递。

    9.ooize

    大数据任务编排调度。

    学习与使用路线

    如果想要学习一些大数据相关的东西,我推荐可以先掌握一些基础,然后找一个场景套进技术里,进行快速实践。在快速实践的过程中会发现很多问题需要解决,很多知识需要补充,所以要在实践中前行,在错误中补充。

    我的分享到此结束,谢谢大家!

数据计算平台方案

所有视频需要登录后,才能观看

请先登录您的帐号,即可完整播放,如果您尚未注册帐号,请先点击注册。

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP