精华内容
下载资源
问答
  • 很多朋友提问: ARM内核和架构都是什么意思?内核和架构的关系是什么?比如ARMv7架构,这个架构指的是什么?小编选出了几个精彩回答!希望对嵌友们在选择设计电路时有所帮助~ 1.ARM内核:从ARM7、ARM9到Cortex-A
    文章转载自ocean2015 http://www.cnblogs.com/locean/p/5710225.html
    ARM产品越来越丰富,命名也越来越多。很多朋友提问:  ARM内核架构都是什么意思?内核和架构的关系是什么?比如ARMv7架构,这个架构指的是什么?小编选出了几个精彩回答!希望对嵌友们在选择设计电路时有所帮助~

    1.ARM内核:从ARM7、ARM9到Cortex-A7、A8、A9、A12、A15再到Cortex-A53、A57等,总之不同版本 ARM 有不同的想法。比如为高速度设计的Cortex A8、A9都是ARMv7a 架构;Cortex M3、M4是ARMv7m架构;前者是内核,后者是指令集的架构。

    2.ARM的架构都是基于RISC指令集而架构的,而其内核只是实现这一指令集的硬件架构的基础,Thumb-2指令集架构(ISA)的子集,包含所有基本的16位 和32位Thumb-2指令、 、哈佛处理器架构,在加载/存储数据的同时能够执行指令取指,带分支预测的三级流水线等。

    3.好比你盖房子,刚开始因为水平低流行盖平房,这就是一种架构(V5T),然后这种平房架构你可以设计出一款独立卫生间的款式, 这叫ARM7内核。 然后其他人(芯片设计公司)想盖房子的就买你这个图纸去盖,接着过一段时间,有人觉得光独立卫生间还不够啊, 我还想有个小院子! 好吧,那ARM就满足你们的要求,出个带小院子的款式(ARM9)。

    又过了很久, 这种平房的架构就随着大伙的需求一直改啊改啊,后来经过ARM研究发现: 现在大伙盖房子的能力duang duang直升啊(包括工艺、设计能力、时钟主频),只盖这种平房施展不开啊! 好吧,ARM为了不让这帮设计的人闲着,就推出一种二三层楼房的样式, 这因为跟平房设计结构完全不一样嘛, 那就叫一种新的架构(ARMv6),同样这种楼房样式ARM也为大家准备了带游泳池的和带车库的款式(ARM11),好吧继续改啊改啊, 改到后来大家已经开始有能力盖十层以上的大楼了。 ARM一如既往地出了新的款式(ARMv7架构), 这时ARM觉得以前名字都太土鳖了, 什么ARM5、 ARM6、 ARM7—又难听又难记, 我要取个看起来牛逼的名字, 咱至少也算个能设计摩天大楼的主儿了, 于是后面的内核都叫Cortex。

    改名只是一部分, 随着这个架构出来后, ARM发现以前用咱们图纸盖出的楼也就做个民宅, 民宅图个啥? 实惠嘛(功耗低)。 现在不一样了,现在咱的图纸盖得楼不仅可以做民宅,还可以做军事基地、 还可以做高档写字楼, 以前这些高级功能的楼房可是只有小英(英特尔)才能设计出来的啊!为了满足这些不同的需求, ARM把这个架构设计出来的款式分成3个系列(M系列、R系列、A系列)。

    M系列是为民宅设计的, 因为老百姓图实惠嘛, 这种设计就设计个十层左右(功耗低); R系列是为军事基地设计的, 这种楼设计的也不高— 十层左右吧, 但是关键是要对特殊情况要有快速反应的能力(中断快); 最后A系列是给商业大佬用的, 那当然是要高端大气上档次, 就是要性能高,各种LED灯灯光秀啊都给我上。

     
     
    本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
    分类:  ARM
    展开全文
  • 在某些框架中,因为开发和发布是的内容或者代码形式是不一样的(比如利用Grunt压缩等等), 这时候就需要一个存放最终发布版本的代码,这就是dist文件夹的用处。 是最终放到服务器上的发布版本。如果是放到开源去...

    全称是distribution。

    distribution英 [dɪstrɪ'bjuːʃ(ə)n]美 ['dɪstrə'bjʊʃən]: 发行版
    n. 分布;分配

    在某些框架中,因为开发和发布是的内容或者代码形式是不一样的(比如利用Grunt压缩等等),

    这时候就需要一个存放最终发布版本的代码,这就是dist文件夹的用处。

     

    是最终放到服务器上的发布版本。
    如果是放到开源去,一般放开发版,而不是发布版的,因为发布版通常是全部压缩优化过,不利于开源开发。

    转载于:https://www.cnblogs.com/straybirds/p/9073537.html

    展开全文
  • 区分什么是架构框架、模式和平台,一直都感觉这几个词过于抽象和模糊,今天大家来说说到底什么是架构框架、模式和平台?收集了的一些来自网上各自的定义和区分如下:来自 冬眠的蛤蟆 概念: 设计模式<框架<架构...

    区分什么是架构、框架、模式和平台,一直都感觉这几个词过于抽象和模糊,今天大家来说说到底什么是架构、框架、模式和平台?

    收集了的一些来自网上各自的定义和区分如下:

    来自 冬眠的蛤蟆 概念:

    设计模式<框架<架构<平台,从复用角度讲,设计模式是代码级复用、框架是模块级复用、架构是系统级复用、平台是企业应用级复用。

    1、设计模式

    为什么要先说设计模式?因为设计模式在这些概念中是最基本的,而且也比较简单。那么什么是设计模式呢?说的直白点,设计模式就是告诉你针对特定问题如何组织类、对象和接口之间的关系,是前人总结的经验。比如我要在代码中实现一个全局唯一的配置类,那么就使用Singleton模式。设计模式在实际编码工作和设计框架时会被使用到,而更高层的架构和平台则不会太关注它。

    2、框架

    做WEB开发接触到最多的框架可数ORM框架,ORM框架只是所有数据关系映射框架的统称,具体的如NHibernate、ActiveRecord等,框架是为了解决特定问题而存在的,其它诸如模板框架、缓存框架,框架不能直接使用,需要二次开发。

    3、架构

    从大的层面来说,比如针对公司业务的B2C网站系统架构,里面可能会用到多种解决各方面问题的框架,关注的是技术整合、扩展、可维护性。换个角度,在框架中也会涉及到架构问题,比如开发NHibernate框架,也需要考虑如何进行设计。

    4、平台

    平台的概念类似框架,但又结合的架构的考虑,它是更高层面上的“框架”,准确说是一种应用。它是针对企业用户,为解决企业业务需要而形成的产品。

    来自 http://www.duduwolf.com/ 网的定义:

    什么是架构?

    软件体系结构通常被称为架构,指可以预制和可重构的软件框架结构。架构尚处在发展期,对于其定义,学术界尚未形成一个统一的意见,而不同角度的视点也会造成软件体系结构的不同理解,以下是一些主流的标准观点。
      ANSI/IEEE 610.12-1990软件工程标准词汇对于体系结构定义是:“体系架构是以构件、构件之间的关系、构件与环境之间的关系为内容的某一系统的基本组织结构以及知道上述内容设计与演化的原理(principle)”。
      Mary Shaw和David Garlan认为软件体系结构是软件设计过程中,超越计算中的算法设计和数据结构设计的一个层次。体系结构问题包括各个方面的组织和全局控制结构,通信协议、同步,数据存储,给设计元素分配特定功能,设计元素的组织,规模和性能,在各设计方案之间进行选择。Garlan & Shaw模型[1]的基本思想是:软件体系结构={构件(component),连接件(connector),约束(constrain)}.其中构件可以是一组代码,如程序的模块;也可以是一个独立的程序,如数据库服务器。连接件可以是过程调用、管道、远程过程调用(RPC)等,用于表示构件之间的相互作用。约束一般为对象连接时的规则,或指明构件连接的形式和条件,例如,上层构件可要求下层构件的服务,反之不行;两对象不得递规地发送消息;代码复制迁移的一致性约束;什么条件下此种连接无效等。
      关于架构的定义还有很多其他观点,比如Bass定义、Booch & Rumbaugh &Jacobson定义、Perry & Wolf模型[7]、Boehm模型等等,虽然各种定义关键架构的角度不同,研究对象也略有侧重,但其核心的内容都是软件系统的结构,其中以Garlan & Shaw模型为代表,强调了体系结构的基本要素是构件、连接件及其约束(或者连接语义),这些定义大部分是从构造的角度来甚至软件体系结构,而IEEE的定义不仅强调了系统的基本组成,同时强调了体系结构的环境即和外界的交互。

    什么是模式?
    

    模式(Pattern)的概念最早由建筑大师Christopher Alexander于二十世纪七十年代提出,应用于建筑领域,八十年代中期由Ward Cunningham和Kent Beck将其思想引入到软件领域,Christopher Alexander将模式分为三个部分:首先是周境(Context,也可以称着上下文),指模式在何种状况下发生作用;其二是动机(System of Forces),意指问题或预期的目标;其三是解决方案(Solution),指平衡各动机或解决所阐述问题的一个构造或配置(Configuration)。他提出,模式是表示周境、动机、解决方案三个方面关系的一个规则,每个模式描述了一个在某种周境下不断重复发生的问题,以及该问题解决方案的核心所在,模式即是一个事物(thing)又是一个过程(process),不仅描述该事物本身,而且提出了通过怎样的过程来产生该事物。这一定义已被软件界广为接受。

        架构和模式应该是一个属于相互涵盖的过程,但是总体来说Architecture更加关注的是所谓的High-Level Design,而模式关注的重点在于通过经验提取的“准则或指导方案”在设计中的应用,因此在不同层面考虑问题的时候就形成了不同问题域上的Pattern。模式的目标是,把共通问题中的不变部分和变化部分分离出来。不变的部分,就构成了模式,因此,模式是一个经验提取的“准则”,并且在一次一次的实践中得到验证,在不同的层次有不同的模式,小到语言实现(如Singleton)大到架构。在不同的层面上,模式提供不同层面的指导。根据处理问题的粒度不同,从高到低,模式分为3个层次:架构模式(Architectural Pattern)、设计模式(Design Pattern)、实现模式(Implementation Pattern).架构模式是模式中的最高层次,描述软件系统里的基本的结构组织或纲要,通常提供一组事先定义好的子系统,指定它们的责任,并给出把它们组织在一起的法则和指南。比如,用户和文件系统安全策略模型,N-层结构,组件对象服务等,我们熟知的MVC结构也属于架构模式的层次。一个架构模式常常可以分解成很多个设计模式的联合使用。设计模式是模式中的第二层次,用来处理程序设计中反复出现的问题。例如,[GOF95][2]总结的23个基本设计模式——Factory Pattern, Observer Pattern等等。实现模式是最低也是最具体的层次,处理具体到编程语言的问题。比如,类名,变量名,函数名的命名规则;异常处理的规则等等。
    

    来自:http://dev.yesky.com/378/2012378.shtml

    由于[GOF95]是论述软件模式的著作的第一本,也是OO设计理论著作中最流行的一本,因此有些人常常使用设计模式(Design Pattern)一词来指所有直接处理软件的架构、设计、程序实现的任何种类的模式。另外一些人则强调要划分三种不同层次的模式:架构模式(Architectural Pattern)、设计模式(Design Pattern)、成例(Idiom)。成例有时称为代码模式(Coding Pattern)。

      这三者之间的区别在于三种不同的模式存在于它们各自的抽象层次和具体层次上。架构模式是一个系统的高层次策略,涉及到大尺度的组件以及整体性质和力学。架构模式的好坏可以影响到总体布局和框架性结构。设计模式是中等尺度的结构策略。这些中等尺度的结构实现了一些大尺度组件的行为和它们之间的关系。模式的好坏不会影响到系统的总体布局和总体框架。设计模式定义出子系统或组件的微观结构。代码模式(或成例)是特定的范例和与特定语言有关的编程技巧。代码模式的好坏会影响到一个中等尺度组件的内部、外部的结构或行为的底层细节,但不会影响到一个部件或子系统的中等尺度的结构,更不会影响到系统的总体布局和大尺度框架。

      1、代码模式或成例(Coding Pattern 或 Idiom)
      代码模式(或成例)是较低层次的模式,并与编程语言密切相关。代码模式描述怎样利用一个特定的编程语言的特点来实现一个组件的某些特定的方面或关系。
      较为著名的代码模式的例子包括双检锁(Double-Check Locking)模式等。

      2、设计模式(Design Pattern)
      一个设计模式提供一种提炼子系统或软件系统中的组件的,或者它们之间的关系的纲要设计。设计模式描述普遍存在的在相互通讯的组件中重复出现的结构,这种结构解决在一定的背景中的具有一般性的设计问题。
      设计模式常常划分成不同的种类,常见的种类有:
      创建型设计模式,如工厂方法(Factory Method)模式、抽象工厂(Abstract Factory)模式、原型(Prototype)模式、单例(Singleton)模式,建造(Builder)模式等
      结构型设计模式,如合成(Composite)模式、装饰(Decorator)模式、代理(Proxy)模式、享元(Flyweight)模式、门面(Facade)模式、桥梁(Bridge)模式等
      行为型模式,如模版方法(Template Method)模式、观察者(Observer)模式、迭代子(Iterator)模式、责任链(Chain of Responsibility)模式、备忘录(Memento)模式、命令(Command)模式、状态(State)模式、访问者(Visitor)模式等等。
    以上是三种经典类型,实际上还有很多其他的类型,比如Fundamental型、Partition型,Relation型等等
      设计模式在特定的编程语言中实现的时候,常常会用到代码模式。比如单例(Singleton)模式的实现常常涉及到双检锁(Double-Check Locking)模式等。

      3、架构模式(Architectural Pattern)
      一个架构模式描述软件系统里的基本的结构组织或纲要。架构模式提供一些事先定义好的子系统,指定它们的责任,并给出把它们组织在一起的法则和指南。有些作者把这种架构模式叫做系统模式[STELTING02]。
      一个架构模式常常可以分解成很多个设计模式的联合使用。显然,MVC模式就是属于这一种模式。MVC模式常常包括调停者(Mediator)模式、策略(Strategy)模式、合成(Composite)模式、观察者(Observer)模式等。
      此外,常见的架构模式还有:
      ·Layers(分层)模式,有时也称Tiers模式
      ·Blackboard(黑板)模式
      ·Broker(中介)模式
      ·Distributed Process(分散过程)模式
      ·Microkernel(微核)模式
      架构模式常常划分成如下的几种:
      一)、 From Mud to Structure型。帮助架构师将系统合理划分,避免形成一个对象的海洋(A sea of objects)。包括Layers(分层)模式、Blackboard(黑板)模式、Pipes/Filters(管道/过滤器)模式等。
      二)、分散系统(Distributed Systems)型。为分散式系统提供完整的架构设计,包括像Broker(中介)模式等。
      三)、人机互动(Interactive Systems)型,支持包含有人机互动介面的系统的架构设计,例子包括MVC(Model-View-Controller)模式、PAC(Presentation-Abstraction-Control)模式等。
      四)、Adaptable Systems型,支持应用系统适应技术的变化、软件功能需求的变化。如Reflection(反射)模式、Microkernel(微核)模式等。

    来自:http://fanqiang.chinaunix.net/program/project/2005-06-16/3316.shtml

    软件框架是项目软件开发过程中提取特定领域软件的共性部分形成的体系结构,不同领域的软件项目有着不同的框架类型。框架的作用在于:由于提取了特定领域软件的共性部分,因此在此领域内新项目的开发过程中代码不需要从头编写,只需要在框架的基础上进行一些开发和调整便可满足要求;对于开发过程而言,这样做会提高软件的质量,降低成本,缩短开发时间,使开发越做越轻松,效益越做越好,形成一种良性循环。

      框架不是现成可用的应用系统。是一个半成品,需要后来的开发人员进行二次开发,实现具体功能的应用系统。框架不是“平台”,平台概念比较模糊可以是一种操作系统,一种应用服务器,一种数据库软件,一种通讯中间件等地那个,因此平台在应用平台主要指提供特定服务的系统软件,而框架更侧重了设计,开发过程,或者可以说,框架通过调用平台提供的服务而起的作用。

      框架不是工具包或者类库,调用API并不就是在使用框架开发,紧紧使用API是,开发者完成系统的主题部分,并不时地调用类库实现特定任务。而框架构成了通用的、具有一般性的系统主体部分,二次开发人员只是像做填空一样,根据具体业务,完成特定应用系统中与众不同的特殊部分。

      框架与架构之间的关系

      框架不是构架(即软件体系机构)。体系结构确定了系统整体结构、层次划分,不同部分之间的协作等设计考虑。框架比架构更具体。更偏重于技术涉嫌。确定框架后,软件体系结构也随之确定,而对于同一软件体系结构(比如Web开发中的MVC),可以通过多种框架来实现。

      框架与设计模式之间的关系

      设计模式和框架在软件设计中是两个不同的研究领域。设计模式研究的是一个设计问题的解决方法,一个模式可应用于不同的框架和被不同的语言所实现;而框架则是一个应用的体系结构,是一种或多种设计模式和代码的混合体虽然它们有所不同,但却共同致力于使人们的设计可以被重用,在思想上存在着统一性的特点,因而设计模式的思想可以在框架设计中进行应用。

      框架和设计模式存在着显著的区别,主要表现在二者提供的内容和致力应用的领域。

      1)、从应用领域上分,框架给出的是整个应用的体系结构;而设计模式则给出了单一设计问题的解决方案,并且这个方案可在不同的应用程序或者框架中进行应用。

      2)、从内容上分,设计模式仅是一个单纯的设计,这个设计可被不同语言以不用方式来实现;而框架则是设计和代码的一个混合体,编程者可以用各种方式对框架进行扩展,进而形成完整的不同的应用。

      3)、以第二条为基础,可以得出设计模式比框架更容易移植:框架一旦设计成形,虽然还没有构成完整的一个应用,但是以其为基础进行应用的开发显然要受制于框架的实现环境;而设计模式是与语言无关的,所以可以在更广泛的异构环境中进行应用。

      总之,框架是软件,而设计模式是软件的知识体。

    来自:http://founderfix.com:81/showtopic-712.aspx

    1.什么是模式?
    模式,即pattern。其实就是解决某一类问题的方法论。你把解决某类问题的方法总结归纳到理论高度,那就是模式。
    Alexander给出的经典定义是:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。
    模式有不同的领域,建筑领域有建筑模式,软件设计领域也有设计模式。当一个领域逐渐成熟的时候,自然会出现很多模式。
    什么是框架?
    框架,即framework。其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软件。

    2.为什么要用模式?
    因为模式是一种指导,在一个良好的指导下,有助于你完成任务,有助于你作出一个优良的设计方案,达到事半功倍的效果。而且会得到解决问题的最佳办法。
    为什么要用框架?
    因为软件系统发展到今天已经很复杂了,特别是服务器端软件,设计到的知识,内容,问题太多。在某些方面使用别人成熟的框架,就相当于让别人帮你完成一些基础工作,你只需要集中精力完成系统的业务逻辑设计。而且框架一般是成熟,稳健的,他可以处理系统很多细节问题,比如,事物处理,安全性,数据流控制等问题。还有框架一般都经过很多人使用,所以结构很好,所以扩展性也很好,而且它是不断升级的,你可以直接享受别人升级代码带来的好处。
    框架一般处在低层应用平台(如J2EE)和高层业务逻辑之间的中间层。

    展开全文
  • 大数据架构设计用来处理对传统数据库系统而言太大或太复杂的数据的引入、处理和分析。组织进入大数据领域的门槛各不相同,具体取决于用户的权限及其工具的功能。对某些组织来说,大数据可能意味着数百个 GB 的数据,...

    大数据架构设计用来处理对传统数据库系统而言太大或太复杂的数据的引入、处理和分析。组织进入大数据领域的门槛各不相同,具体取决于用户的权限及其工具的功能。对某些组织来说,大数据可能意味着数百个 GB 的数据,而对另一些组织来说,大数据则意味着数百个 TB 的数据。随着处理大数据集的工具的发展,大数据的涵义也在不断地变化。慢慢地,这个术语更多的是指通过高级分析从数据集获取的价值,而不是严格地指数据的大小,虽然这种情况下的数据往往是很大的。

    多年来,数据格局一直在变。数据的功能和预期功能一直在变。存储成本在大幅下降,而数据的收集手段则在增多。一些数据会瞬间出现,需要不断地进行收集和观察。另一些数据出现速度较慢,但却是很大型的区块,通常是以数十年的历史数据的形式出现。你面对的可能是高级分析问题,也可能是需要机器学习的问题。这些都是大数据架构寻求解决的难题。

    大数据解决方案通常涉及一个或多个以下类型的工作负荷:

    静态大数据源的批处理。

    移动中的大数据的实时处理。

    大数据的交互式浏览。

    预测分析和机器学习。

    需要解决以下难题时,可以考虑使用大数据架构:

    存储和处理对传统数据库而言数量太大的数据。

    转换非结构化数据以进行分析和报告。

    实时或者以较低的延迟捕获、处理和分析无限的数据流。

    大数据架构的组件

    下图显示了组成大数据架构的逻辑组件。单个解决方案可能不会包含此图中的每个项目。

    大多数大数据架构都包括下列组件中的一些或全部:

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

    数据源。所有大数据解决方案一开始都有一个或多个数据源。示例包括:

    应用程序数据存储,例如关系数据库。

    应用程序生成的静态文件,例如 Web 服务器日志文件。

    实时数据源,例如 IoT 设备。

    数据存储。用于批处理操作的数据通常存储在分布式文件存储中,该存储可以容纳大量各种格式的大型文件。这类存储通常称为Data Lake。用于实现此存储的选项包括 Azure Data Lake Store 和 Azure 存储中的 blob 容器。

    批处理。由于数据集很大,因此大数据解决方案通常必须使用长时间运行的批处理作业来处理数据文件,以便筛选、聚合和准备用于分析的数据。这些作业通常涉及读取源文件、对它们进行处理,以及将输出写入到新文件。选项包括在 Azure Data Lake Analytics 中运行 U-SQL 作业,在 HDInsight Hadoop 群集中使用 Hive、Pig 或自定义 Map/Reduce 作业,或者在 HDInsight Spark 群集中使用 Java、Scala 或 Python 程序。

    实时消息引入。如果解决方案包括实时源,则架构必须包括一种方法来捕获并存储进行流处理的实时消息。这可以是一个简单的数据存储,将在其中将传入消息放置在一个文件夹中以进行处理。不过,许多解决方案都需要一个消息引入存储来充当消息缓冲区,以及支持横向扩展处理、可靠传递和其他消息队列语义。此部分的流式处理架构通常称为流缓冲。选项包括 Azure 事件中心、Azure IoT 中心和 Kafka。

    流处理。捕获实时消息后,解决方案必须通过筛选、聚合以及准备用于分析的数据来处理消息。然后,会将处理后的流数据写入到输出接收器。Azure 流分析基于不断运行的 SQL 查询提供托管流处理服务,这些查询对无限的流进行操作。还可以在 HDInsight 群集中使用开源 Apache 流式处理技术,例如 Storm 和 Spark 流式处理。

    分析数据存储。许多大数据解决方案会先准备用于分析的数据,然后以结构化格式提供已处理的数据供分析工具查询。如大多数传统业务智能 (BI) 解决方案中所见,用来为这些查询提供服务的分析数据存储可以是 Kimball 样式的关系数据仓库。或者,数据也可以通过低延迟 NoSQL 技术(如 HBase)或 Interactive Hive 数据库中呈现,该数据库提供分布式数据存储中数据文件的元数据抽象。Azure SQL 数据仓库为大规模、基于云的数据仓库提供托管服务。HDInsight 支持交互式 Hive、HBase 和 Spark SQL,也可以使用这些技术来提供用于分析的数据。

    分析和报告。大多数大数据解决方案的目的是通过分析和报告提供对数据的见解。若要使用户能够对数据进行分析,架构可以包括一个数据建模层,例如 Azure Analysis Services 中的多维 OLAP 多维数据集或表格数据模型。它还可以使用 Microsoft Power BI 或 Microsoft Excel 中的建模和可视化技术支持自助式 BI。分析和报告还可以采用适用于数据科学家或数据分析人员的交互式数据浏览形式。对于这些方案,许多 Azure 服务都支持分析笔记本(例如 Jupyter),这允许这些用户通过 Python 或 R 利用其现有技能。对于大规模数据浏览,可以使用 Microsoft R Server,可以独立使用,也可以将其与 Spark 一起使用。

    业务流程。大多数大数据解决方案都包括重复的数据处理操作(封装在工作流中),这些操作对源数据进行转换、在多个源和接收器之间移动数据、将已处理的数据加载到分析数据存储中,或者直接将结果推送到报表或仪表板。若要自动执行这些工作流,可以使用诸如 Azure 数据工厂或 Apache Oozie 和 Sqoop 的业务流程技术。

    Lambda 架构

    使用极大型数据集时,运行客户端所需的查询类型可能需要很长时间。这些查询无法实时执行,并且通常需要 MapReduce之类的算法跨整个数据集进行并行操作。然后,结果会与原始数据分开存储,用于查询。

    此方法的一个缺点是会造成延迟 — 如果处理需要数小时,则查询返回的结果可能是数小时之前的数据的结果。最好是能够获取一些实时结果(也许准确性稍欠),然后将这些结果与批处理分析结果结合在一起。

    lambda 架构首先由 Nathan Marz 提出,通过创建两个数据流路径来解决此问题。所有进入系统的数据都经过这两个路径:

    批处理层(冷路径)以原始形式存储所有传入数据,对数据进行批处理。该处理的结果作为批处理视图存储。

    速度层(热路径)可实时分析数据。设计此层是为了降低延迟,但代价是准确性也会降低。

    批处理层将结果馈送到服务层中,后者会编制批处理视图的索引,以便提高查询效率。速度层会根据最新数据使用增量更新来更新服务层。

    流入热路径的数据受速度层提出的延迟要求约束,因此可以尽快处理。通常情况下,这需要牺牲一定程度的准确性,以便数据尽快就绪。例如,在使用某个 IoT 方案时,需要通过大量的温度传感器发送遥测数据。可以使用速度层来处理传入数据的滑动时间窗口。

    另一方面,流入冷路径中的数据不受这些相同的低延迟要求约束。这样可以跨大型数据集进行高精度计算,这样的计算可能很耗时。

    热路径和冷路径最终在分析客户端应用程序处会合。如果需要实时显示时间性要求高但准确性要求可能不高的数据,客户端会从热路径获取结果。否则,客户端会从冷路径选择结果来显示时间性要求不高但准确性要求高的数据。换言之,一开始可以使用时限相对较短的热路径的数据作为结果,稍后再使用冷路径的准确性较高的数据对结果进行更新。

    存储在批处理层的原始数据是不可变的。传入数据始终追加到现有数据上,不覆盖以前的数据。对特定基准的值进行更改时,所做的更改会作为带时间戳的新事件记录来存储。这样就可以选择历史记录中任意时间点的已收集数据重新进行计算。根据最初的原始数据重新计算批处理视图这一功能很重要,因为这样就可以随着系统的发展不断创建新视图。

    Kappa 架构

    Lambda 架构的一个缺点是复杂。处理逻辑显示在冷路径和热路径两个不同的位置,而且使用不同的框架。这样会导致计算逻辑重复,而且两个路径的架构管理起来也很复杂。

    Kappa 架构由 Jay Kreps 提出,用于替代 Lambda 架构。它具有与 lambda 体系结构相同的基本目标,但有一个重要区别:所有数据流经一个路径,使用一个流处理系统。

    某些方面与 Lambda 架构的批处理层有些类似,那就是,事件数据不可变,而且全都可以收集,而不是只能收集一部分。数据作为事件流引入到能容错的分布式统一日志中。这些事件按顺序排列。一个事件的当前状态只在追加新事件的情况下更改。与 Lambda 架构的速度层类似,所有事件处理均在输入流的基础上进行,作为实时视图保存。

    如需重新计算整个数据集(相当于 Lambda 中批处理层执行的操作),只需重播该流即可,通常可使用并行方式及时完成计算。

    物联网 (IoT)

    从实用角度来看,物联网 (IoT) 囊括连接到 Internet 的任何设备, 其中包括电脑、移动电话、智能表、智能调温器、智能致冷器、联网汽车、植入式心脏监测仪,以及任何其他可以连接到 Internet 并可发送或接收数据的设备。连接的设备数与日俱增,从其收集的数据量也是如此。通常情况下,此类数据是在受到严格约束且有时候延迟很严重的环境中收集的。另外一些情况下,数据是在低延迟环境中通过数千甚至数百万台设备发送的,这就要求能够快速引入数据并对其进行相应的处理。因此,为了应对这些约束和特殊要求,需要正确地进行规划。

    事件驱动的架构是 IoT 解决方案的中心环节。下列图表显示 IoT 可能出现的逻辑架构。此图表强调架构的事件流式传输组件。

    云网关使用可靠、低延迟的消息传递系统在云边界引入设备事件。

    设备可能会直接将事件发送到云网关,或通过现场网关发送。现场网关是一种专用设备或软件,通常与接收事件并将事件转接到云网关的设备位于同一位置。现场网关也可预处理原始设备事件,执行过滤、聚合或协议转换等功能。

    引入后,事件将通过一个或多个流处理器,此处理器可将数据路由到存储等位置,也可执行分析和其他处理。

    下面是一些常见的处理类型。(此列表并未囊括所有类型。)

    将事件数据写入冷存储,用于存档或批处理分析。

    热路径分析,实时(或近乎实时)分析事件流,以检测异常,识别滚动时间范围内的模式,或者在流中出现特殊情况时触发警报。

    处理设备中特殊类型的非遥测消息,例如通知和警报。

    机器学习。

    具有灰色阴影的框表示 IoT 系统的组件,虽然这些组件与事件流式传输没有直接关系,但为了完整起见,仍在此处提出。

    设备注册表是预配设备的数据库,包括设备 ID 和常见的设备元数据,如位置信息。

    预配 API 是一种常见的外部接口,用于预配和注册新设备。

    某些 IoT 解决方案可使命令和控制消息发送到设备。

    展开全文
  • 一个架构师谈什么是架构以及怎么成为一个架构

    万次阅读 多人点赞 2015-02-24 20:05:45
    所以今天我们先来点”番外篇“,讲讲什么是架构师,什么是架构这个永恒的话题吧。此篇源出自我在公司内部写的一个PPT,它是用于在公司内部向广大技术人员做普及用的一个资料,而CSDN这边的编辑不支持图文混排的效果...
  • 云平台是什么意思 云服务平台有哪些【详细介绍】  摘要:云平台是什么意思?随着云计算的不断发展,很多的云平台都应运而生,这种平台允许开发者们或是将写好的程序放在“云”里运行,或是使用“云”里提供的...
  • 大数据是什么意思

    千次阅读 2018-10-19 11:58:54
    是一个体量特别大,数据类别特别大的数据集,并且这样的数据集无法用传统数据库工具对其内容进行抓取、管理和处理。 "大数据"首先是指数据体量(volumes)大,指代大型数据集,一般在10TB规模左右,但在实际...
  • 什么是js框架

    千次阅读 2019-10-15 15:22:48
    js框架就是将常用的方法进行封装,方便调取使用。 一个框架是一个可复用的设计构件,它规定了应用的...js框架就是对js各种功能的封装和抽象,使得在使用的时候具有简便性和更好的兼容性,并且可以扩展框架中的内容 ...
  • 什么是web框架
  • 区分什么是架构框架、模式和平台,一直都感觉这几个词过于抽象和模糊,今天大家来说说到底什么是架构框架、模式和平台?   收集了的一些来自网上各自的定义和区分如下:   来自 冬眠的蛤蟆 概念:  ...
  • 4. 架构制品(Architectural Artifacts) 架构制品是针对某个系统或解决方案的模型描述,与架构交付物和构建块相比,架构制品既不是架构开发方法过程各阶段的合约性产物,亦不是企业中客观存在的各种可重用解决方案...
  • 这python爬虫是什么意思呢?为什么要用python写爬虫,其他的编程语言不可以吗?今天一起跟IP代理精灵去了解一下python爬虫的一些基础知识。一、python爬虫是什么意思爬虫:是一种按照一定的规则,自动地抓取万维网...
  • 框架学习:框架什么以及框架怎么学

    万次阅读 多人点赞 2012-08-11 21:15:42
     接下来要解决的问题就是我们为什么要使用框架,因为在《劝学》中有“君子生非异也,善假于物也”,什么意思呢?就是君子的资质秉性跟一般人没什么不同,(只是君子)善于借助外物罢了。道理是一样的
  • ORM框架什么

    千次阅读 2017-01-11 23:12:55
    ORM框架什么  对象关系映射,目前数据库是关系型数据库  ORM 主要是把数据库中的关系数据映射称为程序中的对象 目前集中常见的ORM框架 1 Nhibernate 原因:用的比较多,资料也比较好找。 2 Castle...
  • 随着Web最新发展趋势的不断升级,Web项目开发也越来越难,而且...Web框架(Web framework)或者叫做Web应用框架(Web application framework),是用于进行Web开发的一套软件架构。大多数的Web框架提供了一套开发和部署...
  • 什么是关键字驱动框架

    万次阅读 2018-03-19 20:37:15
    什么是关键字驱动框架? 关键字驱动框架是一种功能自动化测试框架,它也被称为表格驱动测试或者基于动作字的测试。关键字驱动的框架的基本工作是将测试用例分成四个不同的部分。首先是测试步骤(Test Step),二是...
  • 什么是SEO?搜索引擎优化是什么意思? 搜索引擎优化(SEO)是所有方法的总称,可用于确保您的网站及其内容在搜索引擎结果页面(SERP)上的可见性。 这些方法不同于您在网站幕后可以实现的技术实践(我们倾向于将其...
  • 什么是spring框架,spring框架究竟有什么用呢?我们可以用spring框架来做些什么呢?让我们来具体了解一下,以及经常所说的IOC和AOP是一种怎样的思想,到底是怎么实现这些思想的!
  • 什么是系统架构

    千次阅读 2019-06-10 21:06:18
    软件架构师的工作内容究竟是什么?这项工作又是什么时候进行的呢? 软件架构师自身需要是程序员,并且必须一直坚持做一线程序员,绝对不要听从那些说应该让软件架构师从代码中解放出来以专心解决高阶问题的伪建议。...
  • 问题一:什么是框架框架有啥用咧? 框架,即baiframework。指的是实现了某应用领域通用完备功能的底层服务。使用这种框架的编程人员可以在一个通用功能已经实现的基础上开始具体的系统开发。框架提供了所有应用...
  • SSM框架概念(什么是SSM框架

    万次阅读 多人点赞 2019-08-21 13:36:53
    SSM框架 全称为Spring+SpringMVC+MyBatis ,这个是继SSH之后,目前比较主流的... 由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。 Spring ...
  • php框架什么

    千次阅读 2017-08-10 13:49:32
    框架思想就是提供一种可以在多个应用程序中使用的设计。所有应用程序都有大量通用的基本内容 —— 具体地说,就是某类与数据库的接口、某些应用程序逻辑、应用程序呈现给用户的内容等。如果您编写过许多 PHP 应用...
  • SSM框架什么

    千次阅读 2020-05-03 23:30:46
    SSM(spring MVC+spring+mybatis) 角色: spring MVC:负责请求 转发 视图管理 spring :实现业务对象管理 mybatis:数据对象的持久化...CSDN 旗下精品原创内容社区 GitChat App ,阅读更多 GitChat 专享技术内容哦。
  • 什么是框架
  • 什么是架构

    万次阅读 多人点赞 2019-03-28 09:42:39
    什么是架构师 曾经有这么个段子: 甲:我已经应聘到一家中型软件公司了,今天上班的时候,全公司的人都来欢迎我。 乙:羡慕ing,都什么人来了? 甲:CEO、COO、CTO、All of 程序员,还有会计、司机都来了。 ...
  • 什么是bootstrap框架

    千次阅读 2019-09-10 14:10:20
    1.什么是BootStrap框架 Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架。Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的前端框架,之所以它能够帮我们快速构建一个前端应用是因为它实现了很多默认的网页...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 251,448
精华内容 100,579
关键字:

内容架构是什么意思