2019-10-14 21:59:34 xiaokaiabcde 阅读数 225
  • 深度学习项目实战-关键点定位视频课程

    购买课程后,可扫码进入学习群,获取唐宇迪老师答疑 深度学习项目实战-关键点定位课程以人脸关键点检测为背景,选择多阶段检测的网络架构,对于回归以及多label标签问题选择hdf5作为网络的输入数据源,实例演示如何制作多标签数据源并对原始数据进行数据增强。整个网络架构采用三个阶段的模式,从全局检测到单点校准,基于caffe深度学习框架实现一个既准确又的人脸关键点检测模型。对于每一阶段,详解代码中每一行的意义,带领大家一步步完成整个网络模型。

    5665 人正在学习 去看看 唐宇迪

大数据架构、大数据开发与数据分析的区别

大数据产业

顾名思义大数据是一个以数据为核心的产业。大数据产业生成流程从数据的生命周期的传导和演变上可分为这几个部分:数据收集、数据储存、数据建模、数据分析、数据变现。

数据通过各种软件收集,通过云数据中心储存,通过数据科学家或行业专家建模和加工,最后数据分析找到大量看似不相关数据背后的因果关系,这些因果关系的意义会让人们在各个方面可以推测未来,减少试错成本,降低风险,解放生产力。

大数据人才方向

目前市场上人才需求观和部署企业自身大数据项目来看,大致分为3个方向:大数据架构、大数据开发、大数据分析。

大数据架构

大数据架构偏重基建架构,更多注重的是Hadoop、Spark、Storm等大数据框架的实现原理、部署、调优稳定性问题,以及它们与Flume、Kafka等数据流工具以及可视化工具结合技巧,再有就是一些工具的商业应用问题,如Hive、Cassandra、HBase、PrestoDB等。能够将这些概念理解清楚,并能够用辩证的技术观点进行组合使用,达到软/硬件资源利用的最大化,服务提供的稳定化,这是大数据架构人才的目标。

主要研究方向

架构理论:高并发、高可用、并行计算、MapReduce、Spark等

数据流应用:Flume、Fluentd、Kafka、ZeroMQ等

储存应用:HDFS、Ceph等

软件应用:Hive、HBase、Cassandra、PrestoDB等。

可视化应用:HightCharts、ECharts、D3、HTML5、CSS3等。

大数据架构师对可视化应用部分要求不高,只需大致了解即可,但其他架构层面、数据流层面、存储层面、软件应用层面等都需要做比较深入的理解和落地应用。至少在每一个层面中挑选一个完全纯属的应用产品。

如果你对大数据开发感兴趣,想系统学习大数据的话,可以加入大数据技术学习交流扣扣群:数字5221数字89307,私信管理员即可免费领取开发工具以及入门学习资料

大数据开发

大数据开发偏重应用实现,注重服务器端开发、数据库开发、呈现与可视化人机交互等衔接数据载体和数据加工各个单元以及用户的功能落地与实现

主要研究方向

数据库开发:RDBMS、NoSQL、MySQL、Hive等。

数据流工具开发:Flume、Heka、Fluentd、Kafka、ZMQ等。

数据前端开发:HightCharts、ECharts、JavaScript、D3、HTML5、CSS3等。

数据获取开发:关键词有爬虫、分词、自然语言学习、文本分类等。

大数据开发和大数据架构方向很多关键词是重合的,但一个主要是“开发”,一个主要是“应用”。“应用”更多的是懂得这些这种技术能为人们提供什么功能,以及使用这种技术的优缺点,并擅长做取舍;“开发”更注重的是熟练掌握,快速实现。

大数据分析

大数据分析偏重于建模分析,更多注重的是数据指标的建立,数据的统计,数据之间的联系,数据的深度挖掘和机器学习,并利用探索性数据分析的方式得到更多的规律、知识,或者对未来事物预测和预判的手段。

主要研究方向

数据库应用:RDBMS、NoSQL、MySQL、Hive、Cassandra等。

数据加工:ETL、Python等。

数据统计:统计、概率等。

数据分析:数据建模、数据挖掘、机器学习、回归分析、聚类、分类、协同过滤等。

大数据分析主要是数据统计和数据分析,要有较好的数学素养,一般来说都是数学专业出身。此外还有一方面就是业务知识的理解,每个行业和公司的业务形态都是千姿百态的,只有对这些业务形态和业务流程充分理解才能对数据有可能更正确的建模和解读。

关系

大数据架构师创建数据仓库,大数据工程师获取数据处理后存入数据仓库,大数据分析师提取数据,建立指标、数据挖掘和机器学习……

2014-06-12 15:40:31 Mark_5528 阅读数 25
  • 深度学习项目实战-关键点定位视频课程

    购买课程后,可扫码进入学习群,获取唐宇迪老师答疑 深度学习项目实战-关键点定位课程以人脸关键点检测为背景,选择多阶段检测的网络架构,对于回归以及多label标签问题选择hdf5作为网络的输入数据源,实例演示如何制作多标签数据源并对原始数据进行数据增强。整个网络架构采用三个阶段的模式,从全局检测到单点校准,基于caffe深度学习框架实现一个既准确又的人脸关键点检测模型。对于每一阶段,详解代码中每一行的意义,带领大家一步步完成整个网络模型。

    5665 人正在学习 去看看 唐宇迪

和云计算一样,大数据也一直是个很热的话题,尤其是在BAT这样的海量数据公司,一定离不开大数据。大数据目前也成为了一个领域,数据挖掘、数据分析和数据管理等等。

说到大数据,hadoop是必然要谈的话题,其优越、稳定的分布式方案,已经被大多数大数据业务的公司采用,有电商、有云商和电信公司。从某种意义上说,hadoop技术已经成为大数据的一种标识。

记得2011-2013在给移动做云平台时,用户的访问日志数据和应用的log数据就是用hadoop采集、分析、处理和管理的,这已经是在2012年项目二期快要发布的时候引入的解决方案,2011年做原型的时候,因为都是内部用户测试在用,日志还紧紧是直接从log文件里去读取;到后来形成集群后,需要采集集群上所有的日志,log采集和读取形成瓶颈,渐渐的变成了项目的鸡肋,所以引入hadoop来采集日志、并且进行分析处理后,进行持久化入库,供业务层去做日志展示和日志分析。

互联网在极速发展,带来网路流量也是空前巨大的,在这种趋势下,hadoop技术应运而生,很好的解决了海量数据的分析和存储问题。全球用户量大的网站,Baidutaobaofacebook,依靠hadoop技术,很好的处理了大量用户带来的海量数据问题。

 

这本书写的还算可以,写的还算通俗易懂,理论性比较强,不过挺适合我这种初学者来好好读一翻的。

2009-05-17 22:43:00 WuOu 阅读数 3442
  • 深度学习项目实战-关键点定位视频课程

    购买课程后,可扫码进入学习群,获取唐宇迪老师答疑 深度学习项目实战-关键点定位课程以人脸关键点检测为背景,选择多阶段检测的网络架构,对于回归以及多label标签问题选择hdf5作为网络的输入数据源,实例演示如何制作多标签数据源并对原始数据进行数据增强。整个网络架构采用三个阶段的模式,从全局检测到单点校准,基于caffe深度学习框架实现一个既准确又的人脸关键点检测模型。对于每一阶段,详解代码中每一行的意义,带领大家一步步完成整个网络模型。

    5665 人正在学习 去看看 唐宇迪

关于

  三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。
  1、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。
  2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。
  3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。

概述

  在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或成为领域层)、表示层。
  三层结构原理:
  3个层次中,系统主要功能和业务逻辑都在业务逻辑层进行处理。
  所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。
  三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互。
  表示层
  
 位于最外层(最上层),离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。
  业务逻辑层
  
 业务逻辑层(Business Logic Layer)无疑是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统 所应对的领域(Domain)逻辑有关,很多时候,也将业务逻辑层称为领域层。例如Martin Fowler在《Patterns of Enterprise Application Architecture》一书中,将整个架构分为三个主要的层:表示层、领域层和数据源层。作为领域驱动设计的先驱Eric Evans,对业务逻辑层作了更细致地划分,细分为应用层与领域层,通过分层进一步将领域逻辑与领域逻辑的解决方案分离。
  业务逻辑层在体系架构中的位置很关键,它处于数据访问层与表示层中间,起到了数据交换中承上启 下的作用。由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是“无知”的,改变上层的设计对于其调用的底层而言没有任何影响。如果在 分层设计时,遵循了面向接口设计的思想,那么这种向下的依赖也应该是一种弱依赖关系。因而在不改变接口定义的前提下,理想的分层式架构,应该是一个支持可 抽取、可替换的“抽屉”式架构。正因为如此,业务逻辑层的设计对于一个支持可扩展的架构尤为关键,因为它扮演了两个不同的角色。对于数据访问层而言,它是 调用者;对于表示层而言,它却是被调用者。依赖与被依赖的关系都纠结在业务逻辑层上,如何实现依赖关系的解耦,则是除了实现业务逻辑之外留给设计师的任 务。
  数据层
  
 数据访问层:有时候也称为是持久层,其功能主要是负责数据库的访问,可以访问数据库系统、二进制文件、文本文档或是XML文档。
  简单的说法就是实现对数据表的Select,Insert,Update,Delete的操作。如果要加入ORM的元素,那么就会包括对象和数据表之间的mapping,以及对象实体的持久化。

优缺点

  优点:
  1、开发人员可以只关注整个结构中的其中某一层;
  2、可以很容易的用新的实现来替换原有层次的实现;
  3、可以降低层与层之间的依赖;
  4、有利于标准化;
  5、利于各层逻辑的复用。
  缺点:
  1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。
  2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。

规则

  三层结构的程序不是说把项目分成DAL, BLL, WebUI三个模块就叫三层了, 下面几个问题在你的项目里面:
  1. UILayer里面只有少量(或者没有)的SQL语句或者存储过程调用, 并且这些语句保证不会修改数据?
  2. 如果把UILayer拿掉, 你的项目还能在Interface/API的层次上提供所有功能吗?
  3. 你的DAL可以移植到其他类似环境的项目吗?
  4. 三个模块, 可以分别运行于不同的服务器吗?
  如果不是所有答案都为YES, 那么你的项目还不能算是严格意义上的三层程序. 三层程序有一些需要约定遵守的规则:
  1. 最关键的, UI层只能作为一个外壳, 不能包含任何BizLogic的处理过程
  2. 设计时应该从BLL出发, 而不是UI出发. BLL层在API上应该实现所有BizLogic, 以面向对象的方式
  3. 不管数据层是一个简单的SqlHelper也好, 还是带有Mapping过的Classes也好, 应该在一定的抽象程度上做到系统无关
  4. 不管使用COM+(Enterprise Service), 还是Remoting, 还是WebService之类的远程对象技术, 不管部署的时候是不是真的分别部署到不同的服务器上, 最起码在设计的时候要做这样的考虑, 更远的, 还得考虑多台服务器通过负载均衡作集群
  所以考虑一个项目是不是应该应用三层/多层设计时, 先得考虑下是不是真的需要? 实际上大部分程序就开个WebApplication就足够了, 完全没必要作的这么复杂. 而多层结构, 是用于解决真正复杂的项目需求的。

与MVC的区别

  MVC(模型Model-视图View-控制器Controller)是一种设计模式,我们可以用它来创建在域对象和UI表示层对象之间的区分。
  同样是架构级别的,相同的地方在于他们都有一个表现层,但是他们不同的地方在于其他的两个层。
  在三层架构中没有定义Controller的概念。这是我认为最不同的地方。而MVC也没有把 业务的逻辑访问看成两个层,这是采用三层架构或MVC搭建程序最主要的区别。当然了。在三层中也提到了Model,但是三层架构中Model的概念与 MVC中Model的概念是不一样的,“三层”中典型的Model层是已实体类构成的,而MVC里,则是由业务逻辑与访问数据组成的。

2019-05-12 16:47:43 qq_38459998 阅读数 406
  • 深度学习项目实战-关键点定位视频课程

    购买课程后,可扫码进入学习群,获取唐宇迪老师答疑 深度学习项目实战-关键点定位课程以人脸关键点检测为背景,选择多阶段检测的网络架构,对于回归以及多label标签问题选择hdf5作为网络的输入数据源,实例演示如何制作多标签数据源并对原始数据进行数据增强。整个网络架构采用三个阶段的模式,从全局检测到单点校准,基于caffe深度学习框架实现一个既准确又的人脸关键点检测模型。对于每一阶段,详解代码中每一行的意义,带领大家一步步完成整个网络模型。

    5665 人正在学习 去看看 唐宇迪

Hadoop得以在大数据处理应用中广泛应用得益于其自身在数据提取、变形和加载(ETL)方面上的天然优势。Hadoop的分布式架构,大数据处理引擎尽可能的靠近存储,对例如像ETL这样的批处理操作相对合适,因为类似这样操作的批处理结果可以直接走向存储。Hadoop的MapReduce功能实现了将单个任务打碎,并将碎片任务发送(Map)到多个节点上,之后再以单个数据集的形式加载(Reduce)到数据仓库里。

 

但是对于Hadoop,特别是Hadoop分布式文件系统(HDFS)来说,大数据处理至少需要三份以支持数据的高可用性。对于TB级别的数据来说,HDFS看起来还是可行的,但当达到PB级别海量数据的时候,其带来的存储成本压力不可小觑。即便是可横向扩展存储亦不能避免压力本身,一些厂商选择了使用RAID技术实现卷级别的保护,而在系统级别则使用了复制的方式。对象存储技术可以提供面对大型环境的数据冗余问题的解决方案。

 

对象存储。基于对象的存储架构可以通过替代分层存储架构的方式,极大程度上提升可横向扩展存储的优势,它使用的方式则是以单一索引来关联灵活的数据对象。这将解决无限制扩展问题,从而提升了性能本身。对象存储系统包含了无需RAID或者复制作为数据保护的纠删码,极大程度上提升了存储的使用效率。

 

不像HDFS方式下需要两份或者三份多余数据拷贝以及额外的RAID机制,对象存储系统的纠删码可仅以50%-60%的额外容量就能达到更高的数据保护级别。在大数据存储级别,对于存储本身的节省将是非常重大的。许多对象存储系统亦可选择,包括Caringo、 DataDirectNetworksWebObjectScaler、NetAppStorageGRID、QuantumLattus以及开源的 OpenStackSwift和Ceph。

 

一些对象存储系统,比如Cleversafe的,甚至可以做到与Hadoop兼容。在这些项目的实施中,Hadoop软件组件可以运行在这些对象存储节点的CPU上,对象存储系统将替换存储节点的Hadoop分布式文件系统。

在这里我还是要推荐下我自己建的大数据学习交流qq裙:522189307 , 裙 里都是学大数据开发的,如果你正在学习大数据 ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有大数据开发相关的),包括我自己整理的一份最新的大数据进阶资料和高级开发教程,欢迎进阶中和进想深入大数据的小伙伴。上述资料加群可以领取
 

 

大数据处理存储的底线

 

大数据处理分析逐渐在IT行业成为了一个热门的话题,越来越多的企业相信它将引领企业走向成功。然而任何事情都有两个方面。这件事情上来看,就是现有存储技术本身。传统存储系统不管是在需要极低延时响应、实时大数据应用或者还是面对海量数据仓储的数据挖掘应用的时候都会遇到瓶颈。为了保证大数据分析业务能正常运行,相应的存储系统需要足够快,可扩展并且性价比有优势。

 

对于闪存解决方案来说,不管是以服务器端flash卡的形式还是以全闪存阵列的形式,都提供了一些对于高性能、低延时、大容量存储的替代解决方案。基于对象的带有擦写功能编程的可横向扩展架构为使用传统RAID以及复制方式的存储结构提供了一种能具备更高效率和更低价格的选择。

2015-11-11 16:13:31 hebeind100 阅读数 236
  • 深度学习项目实战-关键点定位视频课程

    购买课程后,可扫码进入学习群,获取唐宇迪老师答疑 深度学习项目实战-关键点定位课程以人脸关键点检测为背景,选择多阶段检测的网络架构,对于回归以及多label标签问题选择hdf5作为网络的输入数据源,实例演示如何制作多标签数据源并对原始数据进行数据增强。整个网络架构采用三个阶段的模式,从全局检测到单点校准,基于caffe深度学习框架实现一个既准确又的人脸关键点检测模型。对于每一阶段,详解代码中每一行的意义,带领大家一步步完成整个网络模型。

    5665 人正在学习 去看看 唐宇迪

腾讯大数据处理平台-魔方

我们的团队研发了一个叫魔方的大数据处理和分析的平台,底层我们集成了MySQL、MongoDB,Spark、Hadoop等技术,在用户层面我们只需要写一些简单的SQL语句、完成一些配置就可以实现例行分析。

这里我们收集了社交、电商、支付、游戏等场景的数据,针对这些数据我们建立一些模型,发现哪些是恶意的数据,并且将数据沉淀下来。

沉淀下来的对安全有意义的数据,一方面就存储在魔方平台上,供线下审计做模型使用;另一方面会做成实时的服务,提供给线上的系统查询使用。

一、腾讯用户画像沉淀方法

画像,本质上就是给账号、设备等打标签。

用户画像 = 打标签

我们这里主要从安全的角度出发来打标签,比如IP画像,我们会标注IP是不是代理IP,这些对我们做策略是有帮助的。

以QQ的画像为例,比如,一个QQ只登录IM、不登录其他腾讯的业务、不聊天、频繁的加好友、被好友删除、QQ空间要么没开通、要么开通了QQ空间但是评论多但回复少,这种号码我们一般会标注QQ养号(色    。情、营销),类似的我们也会给QQ打上其他标签。

标签的类别和明细,需要做风控的人自己去设定,比如:地理位置,按省份标记。性别,安男女标记。其他细致规则以此规律自己去设定。

我们看看腾讯的IP画像,沉淀的逻辑如下图:

大数据架构

一般的业务都有针对IP的频率、次数限制的策略,那么黑产为了对抗,必然会大量采用代理IP来绕过限制。

既然代理IP的识别如此重要,那我们就以代理IP为例来谈下腾讯识别代理IP的过程。

识别一个IP是不是代理IP,技术不外乎就是如下四种:

  1. 反向探测技术:扫描IP是不是开通了80,8080等代理服务器经常开通的端口,显然一个普通的用户IP不太可能开通如上的端口。
  2. HTTP头部的X_Forwarded_For:开通了HTTP代理的IP可以通过此法来识别是不是代理IP;如果带有XFF信息,该IP是代理IP无疑。
  3. Keep-alive报文:如果带有Proxy-Connection的Keep-alive报文,该IP毫无疑问是代理IP。
  4. 查看IP上端口:如果一个IP有的端口大于10000,那么该IP大多也存在问题,普通的家庭IP开这么大的端口几乎是不可能的。

以上代理IP检测的方法几乎都是公开的,但是盲目去扫描全网的IP,被拦截不说,效率也是一个很大的问题。

因此,我们的除了利用网络爬虫爬取代理IP外,还利用如下办法来加快代理IP的收集:通过业务建模,收集恶意IP(黑产使用代理IP的可能性比较大)然后再通过协议扫描的方式来判断这些IP是不是代理IP。每天腾讯都能发现千万级别的恶意IP,其中大部分还是代理IP。

二、腾讯用户画像类别概览

大数据架构

三、防御逻辑

大数据架构

实时系统使用C/C++开发实现,所有的数据通过共享内存的方式进行存储,相比其他的系统,安全系统更有他自己特殊的情况,因此这里我们可以使用“有损”的思路来实现,大大降低了开发成本和难度。

数据一致性,多台机器,使用共享内存,如何保障数据一致性?

其实,安全策略不需要做到强数据一致性。

从安全本身的角度看,风险本身就是一个概率值,不确定,所以有一点数据不一致,不影响全局。

但是安全系统也有自己的特点,安全系统一般突发流量比较大,我们这里就需要设置各种应急开关,而且需要微信号、短信等方式方便快速切换,避免将影响扩散到后端系统。

 

http://www.36dsj.com/archives/35887

数据库与架构

阅读数 683

没有更多推荐了,返回首页