免费智能真题库 > 历年试卷 > 系统架构设计师 > 2022年下半年 系统架构设计师 下午试卷 论文
  第4题      
  知识点:   背景   大数据   人工智能   事务   数据仓库   数据存储   数据分析   数据管理   数据类型   物联网   一致性

 
论湖仓一体架构及其应用
随着5G、大数据人工智能物联网等技术的不断成熟,各行各业的业务场景日益复杂,企业数据呈现出大规模、多样性的特点,特别是非结构化数据呈现出爆发式增长趋势。在这一背景下,企业数据管理不再局限于传统的结构化OLTP(On-Line Transaction Processing)数据交易过程,而是提出了多样化、异质性数据的实时处理要求。传统的数据湖(Data Lake)在事务一致性及实时处理方面有所欠缺,而数据仓库(Data Warehouse)也无法应对高并发、多数据类型的处理。因此,支持事务一致性、提供高并发实时处理及分析能力的湖仓一体(Lake House)架构应运而生。湖仓一体架构在成本、灵活性、统一数据存储、多元数据分析等多方面具备优势,正逐步转化为下一代数据管理系统的核心竞争力。
 
问题:4.1   请围绕“湖仓一体架构及其应用”论题,依次从以下三个方面进行论述。
1.概要叙述你参与管理和开发的、采用湖仓一体架构的软件项目以及你在其中所承担的主要工作。
2.请对湖仓一体架构进行总结与分析,给出其中四类关键特征,并简要对这四类关键特征的内涵进行阐述。
3.具体阐述你参与管理和开发的项目是如何采用湖仓一体架构的,并围绕上述四类关键特征,详细论述在项目设计与实现过程中遇到了哪些实际问题,是如何解决的。
 
 
 

   知识点讲解    
   · 背景    · 大数据    · 人工智能    · 事务    · 数据仓库    · 数据存储    · 数据分析    · 数据管理    · 数据类型    · 物联网    · 一致性
 
       背景
        .项目的承担者。
        .用户。
        .本项目和其他系统或机构的关系和联系。
 
       大数据
               大数据相关概念
                      大数据概念
                      大数据的应用和技术是在互联网快速发展中诞生的,起点可追溯到2000年前后。当时互联网网页爆发式增长,每天新增约700万个网页,到2000年底全球网页数达到40亿,用户检索信息越来越不方便。谷歌等公司率先建立了覆盖数十亿网页的索引库,开始提供较为精确的搜索服务,大大提升了人们使用互联网的效率,这是大数据应用的起点。当时搜索引擎要存储和处理的数据,不仅数量之大前所未有,而且以非结构化数据为主,传统技术无法应对。为此,谷歌提出了一套以分布式为特征的全新技术体系,即后来陆续公开的分布式文件系统(Google File System,GFS)、分布式并行计算(MapReduce)和分布式数据库(BigTable)等技术,以较低的成本实现了之前技术无法达到的规模。这些技术奠定了当前大数据技术的基础,可以认为是大数据技术的源头。
                      伴随着互联网产业的崛起,这种创新的海量数据处理技术在电子商务、定向广告、智能推荐、社交网络等方面得到应用,取得巨大的商业成功。这启发全社会开始重新审视数据的巨大价值,于是金融、电信等拥有大量数据的行业开始尝试这种新的理念和技术,取得初步成效。与此同时,业界也在不断对谷歌提出的技术体系进行扩展,使之能在更多的场景下使用。2011年,麦肯锡、世界经济论坛等知名机构对这种数据驱动的创新进行了研究总结,随即在全世界兴起了一股大数据热潮。
                      虽然大数据已经成为全社会热议的话题,但至今“大数据”尚无公认的统一定义。我们认为,认识大数据要把握“资源、技术、应用”三个层次。大数据是具有体量大、结构多样、时效强等特征的数据;处理大数据需采用新型计算架构和智能算法等新技术;大数据的应用强调以新的理念应用于辅助决策、发现新的知识,更强调在线闭环的业务流程优化。因此可以说,大数据不仅“大”,而且“新”,是新资源、新工具和新应用的综合体。
                      大数据特点
                      业界通常用Volume、Variety、Value、Velocity这4个V来概括大数据的特点:
                      (1)数据体量巨大(Volume)。IDC研究表明,数字领域存在着1.8万亿吉字节的数据。企业数据正在以55%的速度逐年增长。实体世界中,数以百万计的数据采集传感器被嵌入到各种设备中,在数字化世界中,消费者每天的生活(通信、上网浏览、购物、分享、搜索)都在产生着数量庞大的数据。
                      (2)数据类型繁多(Variety)。数据可分为结构化数据、半结构化数据和非结构化数据。相对于以往便于存储的以文本为主的结构化数据,音频、视频、图片、地理位置信息等类型的非结构化数据量占比达到了80%,并在逐步提升,有用信息的提取难度不断增大。
                      (3)价值密度低(Value)。价值密度的高低与数据总量的大小成反比。以视频为例,一部1小时的视频,在连续不间断监控过程中,可能有用的数据仅仅只有一两秒。
                      (4)时效性高(Velocity)。这是大数据区分于传统数据挖掘最显著的特征。数据的价值除了与数据规模相关,还与数据处理周期成正比关系。也就是,数据处理的速度越快、越及时,其价值越大,发挥的效能越大。
               大数据技术
                      大数据技术体系
                      大数据来源于互联网、企业系统和物联网等信息系统,经过大数据处理系统的分析挖掘,产生新的知识用以支撑决策或业务的自动智能化运转。从数据在信息系统中的生命周期看,大数据从数据源经过分析挖掘到最终获得价值一般需要经过5个主要环节,包括数据准备、数据存储与管理、计算处理、数据分析和知识展现,技术体系如下图所示。每个环节都面临不同程度的技术上的挑战。
                      
                      大数据技术框架
                      (1)数据准备环节。在进行存储和处理之前,需要对数据进行清洗、整理,传统数据处理体系中称为ETL(Extracting,Transforming,Loading)过程。与以往数据分析相比,大数据的来源多种多样,包括企业内部数据库、互联网数据和物联网数据,不仅数量庞大、格式不一,质量也良莠不齐。这就要求数据准备环节一方面要规范格式,便于后续存储管理,另一方面要在尽可能保留原有语义的情况下去粗取精、消除噪声。
                      (2)数据存储与管理环节。当前全球数据量正以每年超过50%的速度增长,存储技术的成本和性能面临非常大的压力。大数据存储系统不仅需要以极低的成本存储海量数据,还要适应多样化的非结构化数据管理需求,具备数据格式上的可扩展性。
                      (3)计算处理环节。需要根据处理的数据类型和分析目标,采用适当的算法模型,快速处理数据。海量数据处理要消耗大量的计算资源,对于传统单机或并行计算技术来说,速度、可扩展性和成本上都难以适应大数据计算分析的新需求。分而治之的分布式计算成为大数据的主流计算架构,但在一些特定场景下的实时性还需要大幅提升。
                      (4)数据分析环节。数据分析环节需要从纷繁复杂的数据中发现规律提取新的知识,是大数据价值挖掘的关键。传统数据挖掘对象多是结构化、单一对象的小数据集,挖掘更侧重根据先验知识预先人工建立模型,然后依据既定模型进行分析。对于非结构化、多源异构的大数据集的分析,往往缺乏先验知识,很难建立显式的数学模型,这就需要发展更加智能的数据挖掘技术。
                      (5)知识展现环节。在大数据服务于决策支撑场景下,以直观的方式将分析结果呈现给用户,是大数据分析的重要环节。如何让复杂的分析结果易于理解是主要挑战。在嵌入多业务中的闭环大数据应用中,一般是由机器根据算法直接应用分析结果而无需人工干预,这种场景下知识展现环节则不是必需的。
                      总的来看,大数据对数据准备环节和知识展现环节来说只是量的变化,并不需要根本性的变革。但大数据对数据分析、计算和存储三个环节影响较大,需要对技术架构和算法进行重构,是当前和未来一段时间大数据技术创新的焦点。下面简要分析上述3个环节面临的挑战及发展趋势。
                      大数据技术创新
                      大数据技术体系纷繁复杂,其中一些技术创新格外受到关注。随着社交网络的流行导致大量非结构化数据出现,传统处理方法难以应对,数据处理系统和分析技术开始不断发展。从2005年Hadoop的诞生开始,形成了数据分析技术体系这一热点。伴随着量急剧增长和核心系统对吞吐量以及时效性的要求提升,传统数据库需向分布式转型,形成了事务处理技术体系这一热点。然而时代的发展使得单个企业甚至行业的数据都难以满足要求,融合价值更加显现,形成了数据流通技术体系这一热点。
                             数据分析技术
                             从数据在信息系统中的生命周期看,数据分析技术生态主要有5个发展方向,包括数据采集与传输、数据存储与管理、计算处理、查询与分析、可视化展现。在数据采集与传输领域渐渐形成了Sqoop、Flume、Kafka等一系列开源技术,兼顾离线和实时数据的采集和传输。在存储层,HDFS已经成为了大数据磁盘存储的事实标准,针对关系型以外的数据模型,开源社区形成了K-V(key-value)、列式、文档、图这四类NoSQL数据库体系,Redis、HBase、Cassandra、MongoDB、Neo4j等数据库是各个领域的领先者。计算处理引擎方面,Spark已经取代MapReduce成为了大数据平台统一的计算平台,在实时计算领域Flink是Spark Streaming强力的竞争者。在数据查询和分析领域形成了丰富的SQL on Hadoop的解决方案,Hive、HAWQ、Impala、Presto、Spark SQL等技术与传统的大规模并行处理(Massively Parallel Processor,MPP)数据库竞争激烈,Hive还是这个领域当之无愧的王者。在数据可视化领域,敏捷商业智能(Business Intelligence,BI)分析工具Tableau、QlikView通过简单的拖拽来实现数据的复杂展示,是目前最受欢迎的可视化展现方式。
                             相比传统的数据库和MPP数据库,Hadoop最初的优势来源于良好的扩展性和对大规模数据的支持,但失去了传统数据库对数据精细化的操作,包括压缩、索引、数据的分配裁剪以及对SQL的支持度。经过10多年的发展,数据分析的技术体系渐渐在完善自己的不足,也融合了很多传统数据库和MPP数据库的优点,从技术的演进来看,大数据技术正在发生以下变化:
                             (1)更快。Spark已经替代MapReduce成为了大数据生态的计算框架,以内存计算带来计算性能的大幅提高,尤其是Spark 2.0增加了更多了优化器,计算性能进一步增强。
                             (2)流处理的加强。Spark提供一套底层计算引擎来支持批量、SQL分析、机器学习、实时和图处理等多种能力,但其本质还是小批的架构,在流处理要求越来越高的现在,Spark Streaming受到Flink激烈的竞争。
                             (3)硬件的变化和硬件能力的充分挖掘。大数据技术体系本质是数据管理系统的一种,受到底层硬件和上层应用的影响。当前硬件的芯片的发展从CPU的单核到多核演变转化为向GPU、FPGA、ASIC等多种类型芯片共存演变。而存储中大量使用SSD来代替SATA盘,NVRAM有可能替换DRAM成为主存。大数据技术势必需要拥抱这些变化,充分兼容和利用这些硬件的特性。
                             (4)SQL的支持。从Hive诞生起,Hadoop生态就在积极向SQL靠拢,主要从兼容标准SQL语法和性能等角度来不断优化,层出不穷的SQL on Hadoop技术参考了很多传统数据库的技术。而Greenplum等MPP数据库技术本身从数据库继承而来,在支持SQL和数据精细化操作方面有很大的优势。
                             (5)深度学习的支持。深度学习框架出现后,和大数据的计算平台形成了新的竞争局面,以Spark为首的计算平台开始积极探索如何支持深度学习能力,TensorFlow on Spark等解决方案的出现实现了TensorFlow与Spark的无缝连接,更好地解决了两者数据传递的问题。
                             事务处理技术
                             随着移动互联网的快速发展,智能终端数量呈现爆炸式增长,银行和支付机构传统的柜台式交易模式逐渐被终端直接交易模式替代。以金融场景为例,移动支付以及普惠金融的快速发展,为银行业、支付机构和金融监管机构带来了海量高频的线上小额资金支付行为,生产业务系统面临大规模并发事务处理要求的挑战。
                             传统事务技术模式以集中式数据库的单点架构为主,通过提高单机的性能上限适应业务的扩展。而随着摩尔定律的失效(底层硬件的变化),单机性能扩展的模式走到了尽头,而数据交易规模的急速增长(上层应用的变化)要求数据库系统具备大规模并发事务处理的能力。大数据分析系统经过10多年的实践,积累了丰富的分布式架构的经验,Paxos、Raft等一致性协议的诞生为事务系统的分布式铺平了道路。新一代分布式数据库技术在这些因素的推动下应运而生。
                             如下图所示,经过多年发展,当前分布式事务架构正处在快速演进的阶段,综合学术界以及产业界工作成果,目前主要分为三类:
                             
                             事务型数据库架构演进图
                             (1)基于原有单机事务处理关系数据库的分布式架构改造:利用原有单机事务处理数据库的成熟度优势,通过在独立应用层面建立起数据分片和数据路由的规则,建立起一套复合型的分布式事务处理数据库的架构。
                             (2)基于新的分布式事务数据库的工程设计思路的突破。通过全新设计关系数据库的核心存储和计算层,将分布式计算和分布式存储的设计思路和架构直接植入数据库的引擎设计中,提供对业务透明和非侵入式的数据管理和操作/处理能力。
                             (3)基于新的分布式关系数据模型理论的突破。通过设计全新的分布式关系数据管理模型,从数据组织和管理的最核心理论层面,构造出完全不同于传统单机事务数据库的架构,从数据库的数据模型的根源上解决分布式关系数据库的架构。
                             分布式事务数据库进入到各行各业面临诸多挑战,其一是多种技术路线,目前没有统一的定义和认识;其二是除了互联网公司有大规模使用外,其他行业的实践刚刚开始,需求较为模糊,采购、使用、运维的过程缺少可供参考的经验,需要较长时间的摸索;其三是缺少可行的评价指标、测试方法和测试工具来全方位比较当前的产品,规范市场,促进产品的进步。故应用上述技术进行交易类业务进行服务时,应充分考虑“可持续发展”“透明开放”“代价可控”三原则,遵循“知识传递先行”“测试评估体系建立”“实施阶段规划”三步骤,并认识到“应用过度适配和改造”“可用性管理策略不更新”“外围设施不匹配”三个误区。
                             大数据事务处理类技术体系的快速演进正在消除日益增长的数字社会需求同旧式的信息架构缺陷,未来人类行为方式、经济格局以及商业模式将会随大数据事务处理类技术体系的成熟而发生重大变革。
                             数据流通技术
                             数据流通是释放数据价值的关键环节。然而,数据流通也伴随着权属、质量、合规性、安全性等诸多问题,这些问题成为了制约数据流通的瓶颈。为了解决这些问题,大数据从业者从诸多方面进行了探索。目前来看,从技术角度的探索是卓有成效和富有潜力的。
                             从概念上讲,基础的数据流通只存在数据供方和数据需方这两类角色,数据从供方通过一定手段传递给需方。然而,由于数据权属和安全的需要,不能简单地将数据直接进行传送。数据流通的过程中需要完成数据确权、控制信息计算、个性化安全加密等一系列信息生产和再造,形成闭合环路。
                             安全多方计算和区块链是近年来常用的两种技术框架。由于创造价值的往往是对数据进行的加工分析等运算的结果而非数据本身,因此对数据需方来说,本身不触碰数据、但可以完成对数据的加工分析操作,也是可以接受的。安全多方计算这个技术框架就实现了这一点。其围绕数据安全计算,通过独特的分布式计算技术和密码技术,有区分地、定制化地提供安全性服务,使得各参与方在无需对外提供原始数据的前提下实现了对与其数据有关的函数的计算,解决了一组互不信任的参与方之间保护隐私的协同计算问题。区块链技术中多个计算节点共同参与和记录,相互验证信息有效性,既进行了数据信息防伪,又提供了数据流通的可追溯路径。业务平台中授权和业务流程的解耦对数据流通中的溯源、数据交易、智能合约的引入有了实质性的进展。
               大数据产业体系
               随着大数据技术不断演进和应用持续深化,以数据为核心的大数据产业体系正在加速构建。大数据产业体系中主要包括大数据解决方案提供商、大数据处理服务提供商和数据资源提供商三个角色,分别向大数据的应用者提供大数据服务、解决方案和数据资源,如下图所示。
               
               大数据产业体系
                      大数据解决方案提供商
                      大数据解决方案提供商面向企业用户提供大数据一站式部署方案,覆盖数据中心和服务器等硬件、数据存储和数据库等基础软件、大数据分析应用软件以及技术运维支持等方面内容。其中,大数据基础软件和应用软件是大数据解决方案中的重点内容。当前,企业提供的大数据解决方案大多基于Hadoop开源项目,例如,IBM基于Hadoop开发的大数据分析产品BigInsights、甲骨文融合了Hadoop开源技术的大数据一体机、Cloudera的Hadoop商业版等。大数据解决方案提供商中,主要包括传统IT厂商和新兴的大数据创业公司。传统IT厂商主要有IBM、HP等解决方案提供商以及甲骨文、Teradata等数据分析软件商。它们大多以原有IT解决方案为基础,融合Hadoop,形成融合了结构化和非结构化两条体系的“双栈”方案。通过一系列收购来提升大数据解决方案服务能力,成为这些IT巨头的主要策略。
                      国际上也诞生了一批专门提供非结构化数据处理方案的新兴创业公司。这些公司包括Cloudera、Hortonworks、MapR等,它们主要基于Hadoop开源项目,开发Hadoop商业版本和基于Hadoop的大数据分析工具,单独或者与传统IT厂商合作提供企业级大数据解决方案。这些新兴大数据企业成为资本市场的热点。国内华为、联想、浪潮、曙光等一批IT厂商也都纷纷推出大数据解决方案。但总体上,国内大数据解决方案提供商实力较弱,产品一些关键行业还未形成影响力,新兴大数据解决方案初创企业也凤毛麟角。
                      大数据处理服务提供商
                      大数据处理服务提供商主要以服务的方式为企业和个人用户提供大数据海量数据分析能力和大数据价值挖掘服务。按照服务模式进行划分,大数据处理服务提供商可以分为以下四类。
                      第一类是在线纯分析服务提供商。此类服务商主要是互联网企业、大数据分析软件商和新创企业等,通过SaaS或PaaS云服务形式为用户提供服务。典型的服务如谷歌提供的大数据分析工具Big Query、亚马逊提供的云数据仓库服务RedShift、微软的Azure HDInsigh1010data提供的商业智能服务等。国内一些云服务商也逐步开始提供大数据相关云服务,如阿里云的开放数据处理服务(ODPS)、百度的大数据引擎、腾讯的数据云等。
                      第二类是既提供数据又提供分析服务的在线提供商。此类服务商主要是拥有海量用户数据的大型互联网企业,主要以SaaS形式为用户提供大数据服务,服务背后以自有大数据资源为支撑。典型的服务如谷歌Facebook的自助式广告下单服务系统、Twitter基于实时搜索数据的产品满意度分析等。国内百度推出的大数据营销服务“司南”就属于此类。
                      第三类是单纯提供离线分析服务的提供商。此类服务商主要为企业提供专业、定制化的大数据咨询服务和技术支持,主要集中为大数据咨询公司、软件商等,例如专注于大数据分析的奥浦诺管理咨询公司(Opera Solutions)、数据分析服务提供商美优管理顾问公司(Mu Sigma)等。
                      第四类是既提供数据又提供离线分析服务的提供商。此类服务商主要集中在信息化水平较高、数据较为丰富的传统行业。例如日本日立集团(Hitachi)于2013年6月初成立的日立创新分析全球中心,其广泛收集汽车行驶记录、零售业购买动向、患者医疗数据、矿山维护数据和资源价格动向等庞大数据信息,并基于收集的海量信息开展大数据分析业务。又如美国征信机构Equifax基于全球8000亿条企业和消费者行为数据,提供70余项面向金融的大数据分析离线服务。
                      大数据资源提供商
                      既然数据成为了重要的资源和生产要素,必然会产生供应与流通需求。数据资源提供商因此应运而生,它是大数据产业的特有环节,也是大数据资源化的必然产物。数据资源提供商,包括数据拥有者和数据流通平台两个主要类型。数据拥有者可以是企业、公共机构或者个人。数据拥有者通常直接以免费或有偿的方式为其他有需求的企业和用户提供原数据或者处理过的数据。例如美国电信运营商Verizon推出的大数据应用精准营销洞察(Precision Market Insights),将向第三方企业和机构出售其匿名化和整合处理后的用户数据。国内阿里巴巴公司推出的淘宝量子恒道、数据魔方和阿里数据超市等,属于此种类型。
                      数据数据流通平台是多家数据拥有者和数据需求方进行数据交换流通的场所。按平台服务目的不同,可分为政府数据开放平台和数据交易市场。
                      (1)政府数据开放平台。主要提供政府和公共机构的非涉密数据开放服务,属于公益性质。全球不少国家已经加入到开放政府数据行动,推出公共数据库开放网站,例如美国数据开放网站Data.gov已有超过37万个数据集、1209个数据工具、309个网页应用和137个移动应用,数据源来自171个机构。国内地方政府数据开放平台开始出现,如国家统计局的国家数据网站、北京市政府和上海市政府的信息资源平台等数据开放平台正在建设过程中。
                      (2)数据交易市场。商业化的数据交易活动催生了多方参与的第三方数据交易市场。国际上比较有影响力的有微软的AzureData Marketplace、被甲骨文收购的BlueKai、DataMarket、Factual、Infochimps、DataSift等等,主要提供地理空间、营销数据和社交数据的交易服务。大数据交易市场发展刚刚起步,在市场机制、交易规则、定价机制、转售控制和隐私保护等方面还有很多工作要做。国内,2014年2月,在北京市和中关村管委会指导下,中关村大数据交易产业联盟成立,将在国内推动国内大数据交易相关规范化方面开展工作。
               大数据对电子商务的发展影响
                      大数据更好地支撑了电子商务营销精准化和实时化
                      电子商务发展到今天,其营销平台、营销方式都发生了很大的改变。电子商务平台、移动终端、社交网络以及物联网等设备的使用大大增加了消费者数据,而云计算、复杂分析系统等大数据处理手段,为人们整合各个渠道消费者数据、形成有用的营销信息提供了可能。与传统的电子商务数据处理方式相比,大数据处理方式更快捷、更精细,它给我们科学分析消费者偏好及其消费行为轨迹提供巨大帮助。特别是在移动设备进入电子商务领域后,地理位置服务信息处理使电子商务一对一精准营销成为可能,极大程度提升了电子商务营销的准确性,有力地支撑了电子商务营销的精准化与实时化。
                      大数据更好地支撑了电子商务高度差异化和个性化
                      在传统电子商务营销背景下,企业与消费者总是处于双向信息不对称状态。一方面企业很难掌握消费者的消费行为和消费习惯,另一方面消费者了解企业产品的信息渠道相对较窄。进入大数据时代后,企业可以通过科学分析海量数据来获得更加丰富的消费者信息,从而针对不同消费者消费需求,提供特定的产品和服务,以最大限度地提高其满意度。消费者可以通过移动终端等渠道及时向电子商务企业传递信息,为企业进行个性化服务提供依据。由此可以推断,未来电子商务价值创造将会围绕消费者个性化需求展开,并将消费者纳入到企业产品设计与生产过程,实现共同的价值创造。
                      大数据进一步推进了价值链、供应链一体化
                      大数据等新型信息技术可以促进各个渠道的跨界数据整合,使所有围绕消费者消费行为的价值链、供应链企业成为一个整体。如大数据可以将地理位置不同、从事行业不同的研发、生产、加工、营销、仓储、配送、服务等各环节企业在满足消费者消费需求这一共同目的下组成动态联盟,通过彼此协作和创造,真正为消费者提供个性化产品和服务。相对于传统意义上的供应链,通过大数据连接起来的动态联盟反应速度更快、智能化程度更高,这既有利于联盟内企业的信息、资源共享,也有利于联盟内企业的分工协作,从而创造新的价值。
                      大数据推动了新型增值服务模式发展
                      电子商务中应用众多的新型信息技术产生了生产、消费、金融、物流等一系列大数据,这些本属于不同领域的大数据在被综合运用的过程中会产生新的融合,从而形成新的增值服务。如电子商务中产生的买卖双方信息、物流信息、金融信息,如果加以整合肯定能够使企业在市场竞争中处于比较有利的位置。在此基础上,企业还可以积极开展类似金融信用服务、供应链整合等增值服务。随着大数据的广泛应用,加之大数据分析手段创新,已经产生了互联网金融等多个增值服务,给包括电子商务企业在内的众多中小企业提供了新的发展空间。假以时日,大数据还会催生更多新型增值服务模式、产生众多的产业。
 
       人工智能
               人工智能技术发展概述
                      人工智能技术流派发展简析
                      人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。让机器实现人的智能,一直是人工智能学者不断追求的目标,不同学科背景或应用领域的学者,从不同角度,用不同的方法,沿着不同的途径对智能进行了探索。其中,符号主义、连接主义和行为主义是人工智能发展历史上的三大技术流派。
                      符号主义又称为逻辑主义,在人工智能早期一直占据主导地位。该学派认为人工智能源于数学逻辑,其实质是模拟人的抽象逻辑思维,用符号描述人类的认知过程。早期的研究思路是通过基本的推断步骤寻求完全解,出现了逻辑理论家和几何定理证明器等。上世纪70年代出现了大量的专家系统,结合了领域知识和逻辑推断,使得人工智能进入了工程应用。PC的出现以及专家系统高昂的成本,使符号学派在人工智能领域的主导地位逐渐被连接主义取代。
                      连接主义又称为仿生学派,当前占据主导地位。该学派认为人工智能源于仿生学,应以工程技术手段模拟人脑神经系统的结构和功能。连接主义最早可追溯到1943年麦卡洛克和皮茨创立的脑模型,由于受理论模型、生物原型和技术条件的限制,在20世纪70年代陷入低潮。直到1982年霍普菲尔特提出的Hopfield神经网络模型和1986年鲁梅尔哈特等人提出的反向传播算法,使得神经网络的理论研究取得了突破。2006年,连接主义的领军者Hinton提出了深度学习算法,使神经网络的能力大大提高。2012年,使用深度学习技术的AlexNet模型在ImageNet竞赛中获得冠军。
                      行为主义又称为进化主义,近年来随着AlphaGo取得的突破而受到广泛关注。该学派认为人工智能源于控制论,智能行为的基础是“感知—行动”的反应机制,所以智能无需知识表示,无需推断。智能只是在与环境交互作用中表现出来,需要具有不同的行为模块与环境交互,以此来产生复杂的行为。
                      在人工智能的发展过程中,符号主义、连接主义和行为主义等流派不仅先后在各自领域取得了成果,各学派也逐渐走向了相互借鉴和融合发展的道路。特别是在行为主义思想中引入连接主义的技术,从而诞生了深度强化学习技术,成为AlphaGo战胜李世石背后最重要的技术手段。
                      深度学习带动下的人工智能发展
                      深度学习已经在语音识别、图像识别等领域取得突破。深度学习全称深度神经网络,本质上是多层次的人工神经网络算法,即从结构上模拟人脑的运行机制,从最基本的单元上模拟了人类大脑的运行机制。深度学习已经开始在计算机视觉、语音识别、自然语言理解等领域取得了突破。在语音识别领域,2010年,使用深度神经网络模型的语音识别相对传统混合高斯模型识别错误率降低超过20%,目前所有的商用语音识别算法都基于深度学习。在图像分类领域,目前针对ImageNet数据集的算法分类精度已经达到了95%以上,可以与人的分辨能力相当。深度学习在人脸识别、通用物体检测、图像语义分割、自然语言理解等领域也取得了突破性的进展。
                      海量的数据和高效的算力支撑是深度学习算法实现的基础。深度学习分为训练(training)和推断(inference)两个环节。训练需要海量数据输入,训练出一个复杂的深度神经网络模型。推断指利用训练好的模型,使用待判断的数据去“推断”得出各种结论。大数据时代的到来,图形处理器(Graphics Processing Unit,GPU)等各种更加强大的计算设备的发展,使得深度学习可以充分利用海量数据(标注数据、弱标注数据或无标注数据),自动地学习到抽象的知识表达,即把原始数据浓缩成某种知识。当前基于深度学习的人工智能技术架构如下图所示。
                      
                      基于深度学习的人工智能技术应用架构图
               人工智能技术
                      人工智能关键技术
                             机器学习
                             机器学习(Machine Learning)是一门涉及统计学、系统辨识、逼近理论、神经网络、优化理论、计算机科学、脑科学等诸多领域的交叉学科,研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,是人工智能技术的核心。基于数据的机器学习是现代智能技术中的重要方法之一,研究从观测数据(样本)出发寻找规律,利用这些规律对未来数据或无法观测的数据进行预测。根据学习模式、学习方法以及算法的不同,机器学习存在不同的分类方法。
                             根据学习模式将机器学习分类为监督学习、无监督学习和强化学习等。
                             (1)监督学习。监督学习是利用已标记的有限训练数据集,通过某种学习策略/方法建立一个模型,实现对新数据/实例的标记(分类)/映射,最典型的监督学习算法包括回归和分类。监督学习要求训练样本的分类标签已知,分类标签精确度越高,样本越具有代表性,学习模型的准确度越高。监督学习在自然语言处理、信息检索、文本挖掘、手写体辨识、垃圾邮件侦测等领域获得了广泛应用。
                             (2)无监督学习。无监督学习是利用无标记的有限数据描述隐藏在未标记数据中的结构/规律,最典型的无监督学习算法包括单类密度估计、单类数据降维、聚类等。无监督学习不需要训练样本和人工标注数据,便于压缩数据存储、减少计算量、提升算法速度,还可以避免正、负样本偏移引起的分类错误问题。主要用于经济预测、异常检测、数据挖掘、图像处理、模式识别等领域,例如组织大型计算机集群、社交网络分析、市场分割、天文数据分析等。
                             (3)强化学习。强化学习是智能系统从环境到行为映射的学习,以使强化信号函数值最大。由于外部环境提供的信息很少,强化学习系统必须靠自身的经历进行学习。强化学习的目标是学习从环境状态到行为的映射,使得智能体选择的行为能够获得环境最大的奖赏,使得外部环境对学习系统在某种意义下的评价为最佳。其在机器人控制、无人驾驶、下棋、工业控制等领域获得成功应用。
                             根据学习方法可以将机器学习分为传统机器学习和深度学习。
                             (1)传统机器学习。传统机器学习从一些观测(训练)样本出发,试图发现不能通过原理分析获得的规律,实现对未来数据行为或趋势的准确预测。相关算法包括逻辑回归、隐马尔科夫方法、支持向量机方法、K近邻方法、三层人工神经网络方法、Adaboost算法、贝叶斯方法以及决策树方法等。传统机器学习平衡了学习结果的有效性与学习模型的可解释性,为解决有限样本的学习问题提供了一种框架,主要用于有限样本情况下的模式分类、回归分析、概率密度估计等。传统机器学习方法共同的重要理论基础之一是统计学,在自然语言处理、语音识别、图像识别、信息检索和生物信息等许多计算机领域获得了广泛应用。
                             (2)深度学习。深度学习是建立深层结构模型的学习方法,典型的深度学习算法包括深度置信网络、卷积神经网络、受限玻尔兹曼机和循环神经网络等。深度学习又称为深度神经网络(指层数超过3层的神经网络)。深度学习作为机器学习研究中的一个新兴领域,由Hinton等人于2006年提出。深度学习源于多层神经网络,其实质是给出了一种将特征表示和学习合二为一的方式。深度学习的特点是放弃了可解释性,单纯追求学习的有效性。经过多年的摸索尝试和研究,已经产生了诸多深度神经网络的模型,其中卷积神经网络、循环神经网络是两类典型的模型。卷积神经网络常被应用于空间性分布数据;循环神经网络在神经网络中引入了记忆和反馈,常被应用于时间性分布数据。深度学习框架是进行深度学习的基础底层框架,一般包含主流的神经网络算法模型,提供稳定的深度学习API,支持训练模型在服务器和GPU、TPU间的分布式学习,部分框架还具备在包括移动设备、云平台在内的多种平台上运行的移植能力,从而为深度学习算法带来前所未有的运行速度和实用性。目前主流的开源算法框架有TensorFlow、Caffe/Caffe2、CNTK、MXNet、Paddle-paddle、Torch/PyTorch、Theano等。
                             此外,机器学习的常见算法还包括迁移学习、主动学习和演化学习等。
                             (1)迁移学习。迁移学习是指当在某些领域无法取得足够多的数据进行模型训练时,利用另一领域数据获得的关系进行的学习。迁移学习可以把已训练好的模型参数迁移到新的模型指导新模型训练,可以更有效地学习底层规则、减少数据量。目前的迁移学习技术主要在变量有限的小规模应用中使用,如基于传感器网络的定位,文字分类和图像分类等。未来迁移学习将被广泛应用于解决更有挑战性的问题,如视频分类、社交网络分析、逻辑推理等。
                             (2)主动学习。主动学习通过一定的算法查询最有用的未标记样本,并交由专家进行标记,然后用查询到的样本训练分类模型来提高模型的精度。主动学习能够选择性地获取知识,通过较少的训练样本获得高性能的模型,最常用的策略是通过不确定性准则和差异性准则选取有效的样本。
                             (3)演化学习。演化学习对优化问题性质要求极少,只需能够评估解的好坏即可,适用于求解复杂的优化问题,也能直接用于多目标优化。演化算法包括粒子群优化算法、多目标演化算法等。目前针对演化学习的研究主要集中在演化数据聚类、对演化数据更有效的分类,以及提供某种自适应机制以确定演化机制的影响等。
                             知识图谱
                             知识图谱本质上是结构化的语义知识库,是一种由节点和边组成的图数据结构,以符号形式描述物理世界中的概念及其相互关系,其基本组成单位是“实体—关系—实体”三元组,以及实体及其相关“属性—值”对。不同实体之间通过关系相互联结,构成网状的知识结构。在知识图谱中,每个节点表示现实世界的“实体”,每条边为实体与实体之间的“关系”。通俗地讲,知识图谱就是把所有不同种类的信息连接在一起而得到的一个关系网络,提供了从“关系”的角度去分析问题的能力。
                             知识图谱可用于反欺诈、不一致性验证、组团欺诈等公共安全保障领域,需要用到异常分析、静态分析、动态分析等数据挖掘方法。特别地,知识图谱在搜索引擎、可视化展示和精准营销方面有很大的优势,已成为业界的热门工具。但是,知识图谱的发展还有很大的挑战,如数据的噪声问题,即数据本身有错误或者数据存在冗余。随着知识图谱应用的不断深入,还有一系列关键技术需要突破。
                             自然语言处理
                             自然语言处理是计算机科学领域与人工智能领域中的一个重要方向,研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法,涉及的领域较多,主要包括机器翻译、语义理解和问答系统等。
                             (1)机器翻译。机器翻译技术是指利用计算机技术实现从一种自然语言到另外一种自然语言的翻译过程。基于统计的机器翻译方法突破了之前基于规则和实例翻译方法的局限性,翻译性能取得巨大提升。基于深度神经网络的机器翻译在日常口语等一些场景的成功应用已经显现出了巨大的潜力。随着上下文的语境表征和知识逻辑推理能力的发展,自然语言知识图谱不断扩充,机器翻译将会在多轮对话翻译及篇章翻译等领域取得更大进展。目前非限定领域机器翻译中性能较佳的一种是统计机器翻译,包括训练及解码两个阶段。训练阶段的目标是获得模型参数,解码阶段的目标是利用所估计的参数和给定的优化目标,获取待翻译语句的最佳翻译结果。统计机器翻译主要包括语料预处理、词对齐、短语抽取、短语概率计算、最大熵调序等步骤。基于神经网络的端到端翻译方法不需要针对双语句子专门设计特征模型,而是直接把源语言句子的词串送入神经网络模型,经过神经网络的运算,得到目标语言句子的翻译结果。在基于端到端的机器翻译系统中,通常采用递归神经网络或卷积神经网络对句子进行表征建模,从海量训练数据中抽取语义信息,与基于短语的统计翻译相比,其翻译结果更加流畅自然,在实际应用中取得了较好的效果。
                             (2)语义理解。语义理解技术是指利用计算机技术实现对文本篇章的理解,并且回答与篇章相关问题的过程。语义理解更注重于对上下文的理解以及对答案精准程度的把控。随着MCTest数据集的发布,语义理解受到更多关注,取得了快速发展,相关数据集和对应的神经网络模型层出不穷。语义理解技术将在智能客服、产品自动问答等相关领域发挥重要作用,进一步提高问答与对话系统的精度。在数据采集方面,语义理解通过自动构造数据方法和自动构造填空型问题的方法来有效扩充数据资源。为了解决填充型问题,一些基于深度学习的方法相继提出,如基于注意力的神经网络方法。当前主流的模型是利用神经网络技术对篇章、问题建模,对答案的开始和终止位置进行预测,抽取出篇章片段。对于进一步泛化的答案,处理难度进一步提升,目前的语义理解技术仍有较大的提升空间。
                             (3)问答系统。问答系统分为开放领域的对话系统和特定领域的问答系统。问答系统技术是指让计算机像人类一样用自然语言与人交流的技术。人们可以向问答系统提交用自然语言表达的问题,系统会返回关联性较高的答案。尽管问答系统目前已经有了不少应用产品出现,但大多是在实际信息服务系统和智能手机助手等领域中的应用,在问答系统鲁棒性方面仍然存在着问题和挑战。
                             自然语言处理面临四大挑战:一是在词法、句法、语义、语用和语音等不同层面存在不确定性;二是新的词汇、术语、语义和语法导致未知语言现象的不可预测性;三是数据资源的不充分使其难以覆盖复杂的语言现象;四是语义知识的模糊性和错综复杂的关联性难以用简单的数学模型描述,语义计算需要参数庞大的非线性计算。
                             人机交互
                             人机交互主要研究人和计算机之间的信息交换,主要包括人到计算机和计算机到人的两部分信息交换,是人工智能领域的重要的外围技术。人机交互是与认知心理学、人机工程学、多媒体技术、虚拟现实技术等密切相关的综合学科。传统的人与计算机之间的信息交换主要依靠交互设备进行,主要包括键盘、鼠标、操纵杆、数据服装、眼动跟踪器、位置跟踪器、数据手套、压力笔等输入设备,以及打印机、绘图仪、显示器、头盔式显示器、音箱等输出设备。人机交互技术除了传统的基本交互和图形交互外,还包括语音交互、情感交互、体感交互及脑机交互等技术,以下对后四种与人工智能关联密切的典型交互手段进行介绍。
                             (1)语音交互。语音交互是一种高效的交互方式,是人以自然语音或机器合成语音同计算机进行交互的综合性技术,结合了语言学、心理学、工程和计算机技术等领域的知识。语音交互不仅要对语音识别和语音合成进行研究,还要对人在语音通道下的交互机理、行为方式等进行研究。语音交互过程包括四部分:语音采集、语音识别、语义理解和语音合成。语音采集完成音频的录入、采样及编码;语音识别完成语音信息到机器可识别的文本信息的转化;语义理解根据语音识别转换后的文本字符或命令完成相应的操作;语音合成完成文本信息到声音信息的转换。作为人类沟通和获取信息最自然便捷的手段,语音交互比其他交互方式具备更多优势,能为人机交互带来根本性变革,是大数据和认知计算时代未来发展的制高点,具有广阔的发展前景和应用前景。
                             (2)情感交互。情感是一种高层次的信息传递,而情感交互是一种交互状态,它在表达功能和信息时传递情感,勾起人们的记忆或内心的情愫。传统的人机交互无法理解和适应人的情绪或心境,缺乏情感理解和表达能力,计算机难以具有类似人一样的智能,也难以通过人机交互做到真正的和谐与自然。情感交互就是要赋予计算机类似于人一样的观察、理解和生成各种情感的能力,最终使计算机像人一样能进行自然、亲切和生动的交互。情感交互已经成为人工智能领域中的热点方向,旨在让人机交互变得更加自然。目前,在情感交互信息的处理方式、情感描述方式、情感数据获取和处理过程、情感表达方式等方面还有诸多技术挑战。
                             (3)体感交互。体感交互是个体不需要借助任何复杂的控制系统,以体感技术为基础,直接通过肢体动作与周边数字设备装置和环境进行自然的交互。依照体感方式与原理的不同,体感技术主要分为三类:惯性感测、光学感测以及光学联合感测。体感交互通常由运动追踪、手势识别、运动捕捉、面部表情识别等一系列技术支撑。与其他交互手段相比,体感交互技术无论是硬件还是软件方面都有了较大的提升,交互设备向小型化、便携化、使用方便化等方面发展,大大降低了对用户的约束,使得交互过程更加自然。目前,体感交互在游戏娱乐、医疗辅助与康复、全自动三维建模、辅助购物、眼动仪等领域有了较为广泛的应用。
                             (4)脑机交互。脑机交互又称为脑机接口,指不依赖于外围神经和肌肉等神经通道,直接实现大脑与外界信息传递的通路。脑机接口系统检测中枢神经系统活动,并将其转化为人工输出指令,能够替代、修复、增强、补充或者改善中枢神经系统的正常输出,从而改变中枢神经系统与内外环境之间的交互作用。脑机交互通过对神经信号解码,实现脑信号到机器指令的转化,一般包括信号采集、特征提取和命令输出三个模块。从脑电信号采集的角度,一般将脑机接口分为侵入式和非侵入式两大类。除此之外,脑机接口还有其他常见的分类方式:按照信号传输方向可以分为脑到机、机到脑和脑机双向接口;按照信号生成的类型,可分为自发式脑机接口和诱发式脑机接口;按照信号源的不同还可分为基于脑电的脑机接口、基于功能性核磁共振的脑机接口以及基于近红外光谱分析的脑机接口。
                             计算机视觉
                             计算机视觉是使用计算机模仿人类视觉系统的科学,让计算机拥有类似人类提取、处理、理解和分析图像以及图像序列的能力。自动驾驶、机器人、智能医疗等领域均需要通过计算机视觉技术从视觉信号中提取并处理信息。近来随着深度学习的发展,预处理、特征提取与算法处理渐渐融合,形成端到端的人工智能算法技术。根据解决的问题,计算机视觉可分为计算成像学、图像理解、三维视觉、动态视觉和视频编解码五大类。
                             (1)计算成像学。计算成像学是探索人眼结构、相机成像原理以及其延伸应用的科学。在相机成像原理方面,计算成像学不断促进现有可见光相机的完善,使得现代相机更加轻便,可以适用于不同场景。同时计算成像学也推动着新型相机的产生,使相机超出可见光的限制。在相机应用科学方面,计算成像学可以提升相机的能力,从而通过后续的算法处理使得在受限条件下拍摄的图像更加完善,例如图像去噪、去模糊、暗光增强、去雾霾等,以及实现新的功能,例如全景图、软件虚化、超分辨率等。
                             (2)图像理解。图像理解是通过用计算机系统解释图像,实现类似人类视觉系统理解外部世界的一门科学。通常根据理解信息的抽象程度可分为三个层次:浅层理解,包括图像边缘、图像特征点、纹理元素等;中层理解,包括物体边界、区域与平面等;高层理解,根据需要抽取的高层语义信息,可大致分为识别、检测、分割、姿态估计、图像文字说明等。目前高层图像理解算法已逐渐广泛应用于人工智能系统,如刷脸支付、智慧安防、图像搜索等。
                             (3)三维视觉。三维视觉即研究如何通过视觉获取三维信息(三维重建)以及如何理解所获取的三维信息的科学。三维重建可以根据重建的信息来源,分为单目图像重建、多目图像重建和深度图像重建等。三维信息理解,即使用三维信息辅助图像理解或者直接理解三维信息。三维信息理解可分为,①浅层:角点、边缘、法向量等;②中层:平面、立方体等;③高层:物体检测、识别、分割等。三维视觉技术可以广泛应用于机器人、无人驾驶、智慧工厂、虚拟/增强现实等方向。
                             (4)动态视觉。动态视觉即分析视频或图像序列,模拟人处理时序图像的科学。通常动态视觉问题可以定义为寻找图像元素,如像素、区域、物体在时序上的对应,以及提取其语义信息的问题。动态视觉研究被广泛应用在视频分析以及人机交互等方面。
                             (5)视频编解码。视频编解码是指通过特定的压缩技术,将视频流进行压缩。视频流传输中最为重要的编解码标准有国际电联的H.261、H.263、H.264、H.265、M-JPEG和MPEG系列标准。视频压缩编码主要分为两大类:无损压缩和有损压缩。无损压缩指使用压缩后的数据进行重构时,重构后的数据与原来的数据完全相同,例如磁盘文件的压缩。有损压缩也称为不可逆编码,指使用压缩后的数据进行重构时,重构后的数据与原来的数据有差异,但不会影响人们对原始资料所表达的信息产生误解。有损压缩的应用范围广泛,例如视频会议、可视电话、视频广播、视频监控等。
                             目前,计算机视觉技术发展迅速,已具备初步的产业规模。未来计算机视觉技术的发展主要面临以下挑战:一是如何在不同的应用领域和其他技术更好的结合,计算机视觉在解决某些问题时可以广泛利用大数据,已经逐渐成熟并且可以超过人类,而在某些问题上却无法达到很高的精度;二是如何降低计算机视觉算法的开发时间和人力成本,目前计算机视觉算法需要大量的数据与人工标注,需要较长的研发周期以达到应用领域所要求的精度与耗时;三是如何加快新型算法的设计开发,随着新的成像硬件与人工智能芯片的出现,针对不同芯片与数据采集设备的计算机视觉算法的设计与开发也是挑战之一。
                             生物特征识别
                             生物特征识别技术是指通过个体生理特征或行为特征对个体身份进行识别认证的技术。从应用流程看,生物特征识别通常分为注册和识别两个阶段。注册阶段通过传感器对人体的生物表征信息进行采集,如利用图像传感器对指纹和人脸等光学信息、麦克风对说话声等声学信息进行采集,利用数据预处理以及特征提取技术对采集的数据进行处理,得到相应的特征进行存储。识别过程采用与注册过程一致的信息采集方式对待识别人进行信息采集、数据预处理和特征提取,然后将提取的特征与存储的特征进行比对分析,完成识别。从应用任务看,生物特征识别一般分为辨认与确认两种任务,辨认是指从存储库中确定待识别人身份的过程,是一对多的问题;确认是指将待识别人信息与存储库中特定单人信息进行比对,确定身份的过程,是一对一的问题。
                             生物特征识别技术涉及的内容十分广泛,包括指纹、掌纹、人脸、虹膜、指静脉、声纹、步态等多种生物特征,其识别过程涉及到图像处理、计算机视觉、语音识别、机器学习等多项技术。目前生物特征识别作为重要的智能化身份认证技术,在金融、公共安全、教育、交通等领域得到广泛的应用。下面将对指纹识别、人脸识别、虹膜识别、指静脉识别、声纹识别以及步态识别等技术进行介绍。
                             (1)指纹识别。指纹识别过程通常包括数据采集、数据处理、分析判别三个过程。数据采集通过光、电、力、热等物理传感器获取指纹图像;数据处理包括预处理、畸变校正、特征提取三个过程;分析判别是对提取的特征进行分析判别的过程。
                             (2)人脸识别。人脸识别是典型的计算机视觉应用,从应用过程来看,可将人脸识别技术划分为检测定位、面部特征提取以及人脸确认三个过程。人脸识别技术的应用主要受到光照、拍摄角度、图像遮挡、年龄等多个因素的影响,在约束条件下人脸识别技术相对成熟,在自由条件下人脸识别技术还在不断改进。
                             (3)虹膜识别。虹膜识别的理论框架主要包括虹膜图像分割、虹膜区域归一化、特征提取和识别四个部分,研究工作大多是基于此理论框架发展而来。虹膜识别技术应用的主要难题包含传感器和光照影响两个方面:一方面,由于虹膜尺寸小且受黑色素遮挡,需在近红外光源下采用高分辨图像传感器才可清晰成像,对传感器质量和稳定性要求比较高;另一方面,光照的强弱变化会引起瞳孔缩放,导致虹膜纹理产生复杂形变,增加了匹配的难度。
                             (4)指静脉识别。指静脉识别是利用了人体静脉血管中的脱氧血红蛋白对特定波长范围内的近红外线有很好的吸收作用这一特性,采用近红外光对指静脉进行成像与识别的技术。由于指静脉血管分布随机性很强,其网络特征具有很好的唯一性,且属于人体内部特征,不受到外界影响,因此模态特性十分稳定。指静脉识别技术应用面临的主要难题来自于成像单元。
                             (5)声纹识别。声纹识别是指根据待识别语音的声纹特征识别说话人的技术。声纹识别技术通常可以分为前端处理和建模分析两个阶段。声纹识别的过程是将某段来自某个人的语音经过特征提取后与多复合声纹模型库中的声纹模型进行匹配,常用的识别方法可以分为模板匹配法、概率模型法等。
                             (6)步态识别。步态是远距离复杂场景下唯一可清晰成像的生物特征,步态识别是指通过身体体型和行走姿态来识别人的身份。相比上述几种生物特征识别,步态识别的技术难度更大,体现在其需要从视频中提取运动特征,以及需要更高要求的预处理算法,但步态识别具有远距离、跨角度、光照不敏感等优势。
                             虚拟现实/增强现实
                             虚拟现实(VR)/增强现实(AR)是以计算机为核心的新型视听技术。结合相关科学技术,在一定范围内生成与真实环境在视觉、听觉、触感等方面高度近似的数字化环境。用户借助必要的装备与数字化环境中的对象进行交互,相互影响,获得近似真实环境的感受和体验,通过显示设备、跟踪定位设备、触力觉交互设备、数据获取设备、专用芯片等实现。
                             虚拟现实/增强现实从技术特征角度,按照不同处理阶段,可以分为获取与建模技术、分析与利用技术、交换与分发技术、展示与交互技术以及技术标准与评价体系五个方面。获取与建模技术研究如何把物理世界或者人类的创意进行数字化和模型化,难点是三维物理世界的数字化和模型化技术;分析与利用技术重点研究对数字内容进行分析、理解、搜索和知识化方法,其难点是在于内容的语义表示和分析;交换与分发技术主要强调各种网络环境下大规模的数字化内容流通、转换、集成和面向不同终端用户的个性化服务等,其核心是开放的内容交换和版权管理技术;展示与交换技术重点研究符合人类习惯数字内容的各种显示技术及交互方法,以期提高人对复杂信息的认知能力,其难点在于建立自然和谐的人机交互环境;标准与评价体系重点研究虚拟现实/增强现实基础资源、内容编目、信源编码等的规范标准以及相应的评估技术。
                             目前虚拟现实/增强现实面临的挑战主要体现在智能获取、普适设备、自由交互和感知融合四个方面。在硬件平台与装置、核心芯片与器件、软件平台与工具、相关标准与规范等方面存在一系列科学技术问题。总体来说虚拟现实/增强现实呈现虚拟现实系统智能化、虚实环境对象无缝融合、自然交互全方位与舒适化的发展趋势。
                      基于深度学习的人工智能技术体系
                      当前,基于深度学习的人工智能算法主要依托计算机技术体系架构实现,深度学习算法通过封装至软件框架的方式供开发者使用。软件框架是整个技术体系的核心,实现对人工智能算法的封装,数据的调用以及计算资源的调度使用。为提升算法实现的效率,其编译器及底层硬件技术也进行了功能优化,具体架构分为基础硬件层、深度神经网络模型编译器及软件框架等。
                      (1)基础硬件层。基础硬件层为算法提供了基础计算能力。硬件层涵盖范围除了中央处理器(Central Processing Unit,CPU)及GPU外,还包括为特定场景应用而定制的计算芯片,以及基于计算芯片所定制的服务器,包括GPU服务器集群,各类移动终端设备以及类脑计算机等。
                      (2)深度神经网络模型编译器。深度神经网络模型编译器是底层硬件和软件框架,以及不同软件框架之间的桥梁。该层旨在为上层应用提供硬件调用接口,解决不同上层应用在使用不同底层硬件计算芯片时可能存在的不兼容等问题。其涵盖范围包括针对人工智能计算芯片定向优化的深度神经网络模型编译器,以及针对不同神经网络模型表示的规定及格式。
                      (3)软件框架层。软件框架层实现算法的模块化封装,为应用开发提供集成软件工具包。该层涵盖范围包括针对算法实现开发的各类应用及算法工具包,为上层应用开发提供了算法调用接口,提升应用实现的效率。
                      (4)基础应用技术。当前人工智能的商业化实现主要是基于计算机视觉、智能语音、自然语言处理等基础应用技术实现,并形成了相应的产品或服务。
               人工智能产业体系
               人工智能产业生态主要分为核心业态、关联业态、衍生业态三个层次,如下图所示。
               
               人工智能产业生态图
                      智能基础设施
                      智能基础设施为人工智能产业提供计算能力支撑,其范围包括智能传感器、智能芯片、分布式计算框架等,是人工智能产业发展的重要保障。
                             智能芯片
                             智能芯片从应用角度可以分为训练和推理两种类型。从部署场景来看,可以分为云端和设备端两步大类。训练过程由于涉及海量的训练数据和复杂的深度神经网络结构,需要庞大的计算规模,主要使用智能芯片集群来完成。与训练的计算量相比,推理的计算量较少,但仍然涉及大量的矩阵运算。目前,训练和推理通常都在云端实现,只有对实时性要求很高的设备会交由设备端进行处理。
                             按技术架构来看,智能芯片可以分为通用类芯片(CPU、GPU、FPGA)、基于FPGA的半定制化芯片、全定制化ASIC芯片、类脑计算芯片(IBM TrueNorth)。另外,主要的人工智能处理器还有DPU、BPU、NPU、EPU等适用于不同场景和功能的人工智能芯片。
                             随着互联网用户量和数据规模的急剧膨胀,人工智能发展对计算性能的要求迫切增长,对CPU计算性能提升的需求超过了摩尔定律的增长速度。同时,受限于技术原因,传统处理器性能也无法按照摩尔定律继续增长,发展下一代智能芯片势在必行。未来的智能芯片主要是在两个方向发展:一是模仿人类大脑结构的芯片,二是量子芯片。智能芯片是人工智能时代的战略制高点,预计到2020年人工智能芯片全球市场规模将突破百亿美元。
                             智能传感器
                             智能传感器是具有信息处理功能的传感器。智能传感器带有微处理机,具备采集、处理、交换信息等功能,是传感器集成化与微处理机相结合的产物。智能传感器属于人工智能的神经末梢,用于全面感知外界环境。各类传感器的大规模部署和应用为实现人工智能创造了不可或缺的条件。不同应用场景,如智能安防、智能家居、智能医疗等对传感器应用提出了不同的要求。未来,随着人工智能应用领域的不断拓展,市场对传感器的需求将不断增多,2020年市场规模有望突破4600亿美元。未来,高敏度、高精度、高可靠性、微型化、集成化将成为智能传感器发展的重要趋势。
                             分布式计算框架
                             面对海量的数据处理、复杂的知识推理,常规的单机计算模式已经不能支撑。所以,计算模式必须将巨大的计算任务分成小的单机可以承受的计算任务,即云计算、边缘计算、大数据技术提供了基础的计算框架。目前流行的分布式计算框架如OpenStack、Hadoop、Storm、Spark、Samza、Bigflow等。各种开源深度学习框架也层出不穷,其中包括TensorFlow、Caffe、Keras、CNTK、Torch7、MXNet、Leaf、Theano、DeepLearning4、Lasagne、Neon等等。
                      智能信息及数据
                      信息数据是人工智能创造价值的关键要素之一。我国庞大的人口和产业基数带来了数据方面的天生优势。随着算法、算力技术水平的提升,围绕数据的采集、分析、处理产生了众多的企业。目前,在人工智能数据采集、分析、处理方面的企业主要有两种:一种是数据集提供商,以提供数据为自身主要业务,为需求方提供机器学习等技术所需要的不同领域的数据集;另一种是数据采集、分析、处理综合性厂商,自身拥有获取数据的途径,并对采集到的数据进行分析处理,最终将处理后的结果提供给需求方进行使用。对于一些大型企业,企业本身也是数据分析处理结果的需求方。
                      智能技术服务
                      智能技术服务主要关注如何构建人工智能的技术平台,并对外提供人工智能相关的服务。此类厂商在人工智能产业链中处于关键位置,依托基础设施和大量的数据,为各类人工智能的应用提供关键性的技术平台、解决方案和服务。目前,从提供服务的类型来看,提供技术服务厂商包括以下几类:
                      (1)提供人工智能的技术平台和算法模型。此类厂商主要针对用户或者行业需求,提供人工智能技术平台以及算法模型。用户可以在人工智能平台之上,通过一系列的算法模型来进行人工智能的应用开发。此类厂商主要关注人工智能的通用计算框架、算法模型、通用技术等关键领域。
                      (2)提供人工智能的整体解决方案。此类厂商主要针对用户或者行业需求,设计和提供包括软、硬件一体的行业人工智能解决方案,整体方案中集成多种人工智能算法模型以及软、硬件环境,帮助用户或行业解决特定的问题。此类厂商重点关注人工智能在特定领域或者特定行业的应用。
                      (3)提供人工智能在线服务。此类厂商一般为传统的云服务提供厂商,主要依托其已有的云计算和大数据应用的用户资源,聚集用户的需求和行业属性,为客户提供多类型的人工智能服务;从各类模型算法和计算框架的API等特定应用平台到特定行业的整体解决方案等,进一步吸引大量的用户使用,从而进一步完善其提供的人工智能服务。此类厂商主要提供相对通用的人工智能服务,同时也会关注一些重点行业和领域。
                      需要指出的是,上述三类角色并不是严格区分开的,很多情况下会出现重叠,随着技术的发展成熟,在人工智能产业链中已有大量的厂商同时具备上述两类或者三类角色的特征。
                      智能产品
                      智能产品是指将人工智能领域的技术成果集成化、产品化,具体的分类如下表所示。
                      
                      人工智能的产品
                      
                      随着制造强国、网络强国、数字中国建设进程的加快,在制造、家居、金融、教育、交通、安防、医疗、物流等领域对人工智能技术和产品的需求将进一步释放,相关智能产品的种类和形态也将越来越丰富。
               人工智能对电子商务的发展影响
                      人工智能技术在电子商务领域的应用
                      目前,人工智能采用的主流技术主要涉及机器学习和人机交互。机器学习(Machine Learning)是计算机科学的一个分支,也可以认为是模式识别或人工智能、数据挖掘(Data Mining)、概率论、统计学(statistics)等多个学科的交叉学科。机器学习与数值优化(Numerical Cptimization)具有很高的重合度。机器学习在电商领域的应用主要体现在以下几个方面。
                             人工智能助手
                             人工智能助手(聊天机器人),其主要功能是自动回复顾客问题,对简单的语音指令作出响应,并通过采用自然语言处理系统提供产品推荐。电子商务网站和移动端页面上的聊天对话框正是基于机器学习的算法,将其编程为以个性化方式与客户通信。聊天机器人能够帮助消费者找到合适的产品,检查产品供应情况,并比较各种产品,最后帮助消费者付款;如果有任何投诉或疑问,聊天机器人也可以帮助客户联系相应的服务人员。消费者可以通过文字,语音甚至图片与这些机器人进行“交谈”。2017年3月,阿里巴巴发布了人造智能服务机器人“Shop Xiaomi”,即是淘宝商家的聊天机器人,其经过商家授权和调试后,聊天机器人可以取代一些客户服务,从而减少了人工客户服务的工作量,同时能够增添个性化风格。
                             推荐引擎
                             推荐引擎是建立在机器学习算法框架基础上一套完整的推荐系统。使用AI算法可以实现海量数据集的深度学习、统计编程和预测、分析顾客行为,并利用算法预测哪些产品可能会吸引顾客。首先根据潜在客户最近的搜索,推荐引擎中的机器学习算法能够根据计算结果记录被搜索产品的关键细节,然后,推荐引擎为浏览器生成适合的建议,并将其列在个人页面上,最终帮助消费者快速找到所需产品。降维算法的应用开启了人工智能对推荐系统的改造,人工智能对推荐系统最深刻的变革,就是不再把推荐系统看作是独立的推荐结果组合,它是整个人机交互行为,通过引入时间维度来实现系统和用户的动态维度。许多电商公司,例如:亚马逊、阿里巴巴淘宝网、京东商城等都使用推荐引擎来识别其产品的目标受众。
                             智慧物流
                             智慧物流是指:利用信息技术使装备和控制智能化,从而用技术装备取代人的一种物流发展模式。与传统物流模式相比,智能物流可以大大提高提高服务质量和运营效率。智慧物流的概念最早由IBM公司在2009年提出。最初,IBM公司提出建立一个通过感应器、RFID标签、制动器、GPS和其他设备及系统生成实时信息的“智慧供应链”。人工智能最直接的影响是后端供应链和物流链接,面对快速变化的需求和竞争市场,预测库存并非简单,而人工智能和深度学习的算法可以在订单周转预测中派上用场,可以确定订单周转的关键因素。机器学习系统的优势在于它们可以随着时间的推移不断学习而变得更加智能,使商家预测库存需求变得更加准确。目前,在智能物流仓储领域,阿里巴巴和京东都已经发布了无人值守的自动化智能存储系统。
                             最优定格
                             当前的电商行业正在蓬勃发展,即使对于小规模库存的在线零售商,这种长期持续的价格调整也是一个很大的挑战。利用能够快速处理大数据的人工智能技术,已基本能够解决大量产品的自动定价问题。对产品的评分、物流、价格和服务质量都会影响最终的综合排名结果,因此,对于商家而言,最优定价非常困难,而这种需要深入研究的定价问题正是人工智能所擅长的。通过先进的深度机器学习算法,人工智能技术可以持续评估市场动态并改变竞争环境以解决最优定价问题。
                      电子商务应用人工智能技术的未来趋势
                      随着研究技术的飞速发展和不断推进,深度学习平台、语音分析技术、生物识别技术、图像与视频分析技术、机器人自动处理系统、文本分析和自然语言处理(NLP)等主流人工智能技术在接下来仍将稳步发展。根据人工智能技术的商业价值、技术成熟度、发展阶段等方面的发展状况,AI将在未来通过以下几种方式推动电子商务的发展变革。
                             视觉搜索引擎
                             计算机视觉搜索引擎主要功能是让消费者可以将照片或特定风格的图片上传,然后在APP客户端中搜索样式、品类、风格相似的商品。视觉搜索功能(特别是通过手机)可以“读取”该项目的线索、颜色、形状、大小、面料和品牌。这能够帮助消费者找到他们正在寻找的商品。视觉搜索引擎的功能建立了从线上到线下的联系,从离线到在线体验只需要很少的流程和操作步骤,为消费者提供了一种创新、自主的体验。
                             个性化服务
                             在移动电子商务时代,由于消费者对移动设备的偏好,个性化电子商务体验对销售的影响将更加明显。未来购物将使用AI来收集用户在网站上发布的信息,例如产品评论等,以更好的为其提供实质性服务。不管是在线商店,实体店还是移动应用程序,人工智能都为所有这些渠道带来无缝的客户体验。借助深度学习的AI算法,网上零售商可以不断学习每一个新信号,从而更好的展示个性化产品。
                             尽管人工智能发展迅速,但仍有许多问题亟待解决:不确定性问题、不可解释问题、数据共享问题、隐私保护问题、伦理道德问题、人工智能系统的鲁棒性等。这些都是人工智能技术将要面临的巨大挑战。
 
       事务
               概述
               事务(Transaction)是一系列的数据库操作,是数据库应用程序的基本逻辑单位,即应用程序对数据库的操作都应该以事务的方式进行。
               事务是一个操作序列,这些操作“要么都做,要么都不做”,是数据库环境中不可分割的逻辑工作单位。事务和程序是两个不同的概念,一般一个程序可包含多个事务。
               事务通常由数据库操纵语言或其他高级语言(如SQL、CoBOL、C、C++、Java等)书写的用户程序来实现。一个事务由应用程序的一组操作序列组成,它以BEGIN TRANSACTION语句开始,以END TRANSACTION结束语句。
               事务定义的语句如下:
               (1)BEGIN TRANSACTION:事务开始。
               (2)END TRANSACTION:事务结束。
               (3)COMMIT:事务提交。该操作表示事务成功地结束,它将通知事务管理器该事务的所有更新操作现在可以被提交或永久地保留。
               (4)ROLLBACK:事务回滚。该操作表示事务非成功地结束,它将通知事务管理器出故障了,数据库可能处于不一致状态,该事务的所有更新操作必须回滚或撤销。
               典型的例子是银行转账业务。对“从账户A转入账户B金额x元”业务,站在顾客角度来看,转账是一次单独操作;而站在数据库系统的角度它至少是由两个操作组成的,第一步从账户A减去x元,第二步给账户B加上x元。下面是银行转账事务的伪代码:
               
               SQL中事务的开始与结束
               SQL标准规定当一条SQL语句被执行,就隐式地开始了一个事务,SQL中的Commit work和Rollback work语句之一会结束一个事务。
               (1)Commit work:提交当前事务。这意味着将该事务所做的更新在数据库中永久保存。一旦事务被提交后,一个新的事务自动开始。
               (2)Rollback work:回滚当前事务。这意味着将撤销该事务对数据库的更新。这样,数据库恢复到该事务执行第一条语句之前的状态。
               需要注意的是,若事务已执行了Commit work,就不能用Rollback work来撤销。数据库系统能保证在发生诸如某条SQL语句错误、断电、系统崩溃的情况下,若事务还没有执行Commit work,则所造成的影响将被回滚。对断电、系统崩溃的情况,回滚是在系统重新启动时进行。
 
       数据仓库
        传统数据库在联机事务处理(OLTP)中获得了较大的成功,但是对管理人员的决策分析要求却无法满足。因为管理人员希望对组织中的大量数据进行分析,了解组织业务的发展趋势,而传统的数据库中只能保留当前的管理信息,缺乏决策分析所需要的大量的历史信息。为了满足管理人员的决策分析需要,在数据库基础上产生了能满足决策分析需要的数据环境——数据仓库(Data Warehouse,DW)。
        虽然数据仓库是从数据库发展而来的,但是二者在许多方面有相当大的差异,二者的比较情况如下表所示。
        
        数据仓库与数据库比较
               数据仓库的基本特性
               数据仓库有这样一些重要的特性:面向主题的、数据是集成的、数据是相对稳定的、数据是反映历史变化的。
                      面向主题的
                      数据仓库中数据是面向主题进行组织的。从信息管理的角度来看,主题就是一个较高的管理层次上对信息系统中数据按照某一具体的管理对象进行综合、归类所形成的分析对象。从数据组织的角度来看,主题就是一些数据集合,这些数据集合对分析对象进行了比较完整的、一致的数据描述,这种数据描述不仅涉及数据自身,还涉及数据间的联系。例如,企业中的客户、产品和供应商等都可以作为主题来看待。
                      数据仓库的创建使用都是围绕主题实现的,因此,必须了解如何按照决策分析来抽取主题,所抽取的主题应该包含哪些数据内容,这些数据应该如何组织。在进行主题抽取时,必须按照决策分析对象进行。例如,在企业销售管理中的管理人员所关心的是本企业哪些产品销售量大、利润高?哪些客户采购的产品数量多?竞争对手的哪些产品对本企业产品构成威胁?根据这些管理决策分析对象,就可以抽取“产品”“客户”等主题。
                      数据是集成的
                      数据仓库的集成性是指根据决策分析的要求,将分散于各处的原数据进行抽取、筛选、清理、综合等集成工作,使数据仓库中的数据具有集成性。
                      数据仓库所需要的数据不像业务处理系统那样直接从业务发生地获取数据。如在线事务处理系统(OLPT)、企业业务流程重组(BRP)以及基于因特网的电子商务(EC)中的数据是与业务处理联系在一起的,只为业务的日常处理服务,而不是为决策分析服务。这样,数据仓库在从业务处理系统那里获取数据时,并不能将原数据库中的数据直接加载到数据仓库中,而要进行一系列的数据预处理。即从原数据库中挑选出数据仓库所需要的数据,然后将来自不同数据库中的数据按某一标准进行统一,如将数据源中数据的单位、字长与内容统一起来,将源数据中字段的同名异义、异名同义现象消除,然后将源数据加载到数据仓库,并将数据仓库中的数据进行某种程度的综合,进行概括和聚集的处理。
                      数据是相对稳定的
                      数据仓库的数据主要是供决策分析之用,所涉及的数据操作主要是数据查询,一般情况下并不进行修改操作。数据仓库的数据反映的是一段相当长的时间内历史数据的内容,是不同时间的数据库快照的集合,以及基于这些快照进行统计、综合和重组的导出数据,而不是联机处理的数据。数据库中进行联机处理的数据经过集成输入到数据仓库中。因为数据仓库只进行数据查询操作,所以在DBMS中的完整性保护、并发控制在数据仓库管理中都可以省去。但是,由于数据仓库的查询数据量往往很大,所以对数据查询提出了更高的要求,需要采用复杂的索引技术。
                      数据是反映历史变化的
                      数据仓库中数据的相对稳定是针对应用来说的,数据仓库的用户进行分析处理时是不进行数据更新操作的。但并不表明在从数据集成输入数据仓库开始到最终被删除的整个数据生存周期中,所有的数据仓库数据是永远不变的。数据仓库的数据是反映历史变化的,这主要表现在如下三个方面:
                      (1)数据仓库随时间变化不断增加新的数据内容。数据仓库系统必须不断捕捉OLTP数据库中变化的数据,追加到数据仓库中去。
                      (2)数据仓库随时间变化不断删除旧的数据内容。
                      (3)数据仓库中包含大量的综合数据,这些数据有很多信息与时间有关,如数据经常按时间段进行综合,或隔一定的时间进行抽样等等,这些数据要随时间不断地进行重新综合。
               数据仓库的数据模式
               典型的数据仓库具有为数据分析而设计的模式,使用OLAP工具进行联机分析处理。因此数据通常是多维数据,包括维属性、度量属性。包含多维数据的表称为事实表,事实表通常很大。例如,一个表sales记录了零售商店的销售信息,其中每个元组对应一个商品售出记录,这是一个非常典型的事实表的例子。表sales的维包括售出的是何种商品(用商品标识表示)、商品售出的日期、商品售出的地点、哪个顾客购买该商品等等。度量属性包括售出商品的数量和金额。
               为了减少存储要求,维属性通常是一些短的标识,作为参照其他表的外码。例如,事实表sales含有属性item_key、time_key、branch_key和location_key,以及度量属性units_sold和dollars_sold。其中,属性item_key是一个参照维表item的外码,表item含有商品名称、商品的品牌、商品所属类别等属性;属性time_key是一个参照维表time的外码,表time含有日、月、季和年的属性;属性branch_key是一个参照维表branch的外码,表branch含有出售商品的分销商的名称、分销商的类型属性;属性location_key是一个参照维表location的外码,表location含有销售地点的街道、城市、省份、国家等属性。由此得到一个事实表、多维表以及从事实表到多维表的参照外码的模式称为星型模式,如下图所示。
               
               数据仓库的星型模式示例
               更复杂的数据仓库设计可能含有多级维表,例如维表item含有属性supplier_key,作为参照给出供应商的细节信息的另一个维表supplier的外码;维表location含有属性city_key,作为参照给出城市的细节信息的另一个维表city的外码。这种模式称为雪花模式,如下图所示。
               
               数据仓库的雪花模式示例
               复杂的数据仓库设计可能含有不止一个事实表,下图模式中含有Sales和Shipping两个事实表,共享location、item、time和branch维表。这种模式称为事实星型模式。
               
               数据仓库的事实星型模式示例
               数据仓库的体系结构
               数据仓库通常采用三层体系结构,底层为数据仓库服务器、中间层为OLAP服务器,顶层为前端工具。底层的数据仓库服务器一般是一个关系数据库系统,数据仓库服务器从操作型数据库或外部数据源提取数据,对数据进行清理、转换、集成等,然后装入数据仓库中。中间层的OLAP服务器的实现可以是关系型OLAP,即扩充的关系型DBMS,提供对多维数据的支持;也可以是多维的OLAP服务器,它是一种特殊的服务器,直接支持多维数据的存储和操作。顶层的前端工具包括查询和报表工具、分析工具、数据挖掘工具等。
               从结构的角度看有三种数据仓库模型:企业仓库、数据集市和虚拟仓库。
               企业仓库收集跨越整个企业的各个主题的所有信息。它提供全企业范围的数据集成,数据通常都来自多个操作型数据库和外部信息提供者,并且是跨越多个功能范围的。它通常包含详细数据和汇总数据。企业数据仓库可以在传统的大型机上实现,例如UNIX超级服务器或并行结构平台。它需要广泛的业务建模,可能需要多年的时间来设计和建造。
               数据集市包含对特定用户有用的、企业范围数据的一个子集。它的范围限于选定的主题,例如一个商场的数据集市可能限定于它的主题为顾客、商品和销售。包括在数据集市中的数据通常是汇总的。通常,数据集市可以在低价格的部门服务器上实现,基于UNIX或Windows NT/2000/XP。实现数据集市的周期一般是数周,而不是数月或数年。但是,如果它的规划不是企业范围的,从长远讲,可能会涉及很复杂的集成。根据数据的来源不同,数据集市分为独立的和依赖的两类。在独立的数据集市中,数据来自一个或多个操作型数据库或外部信息提供者,或者是一个特定部门或地区本地产生的数据。在依赖数据集市中,数据直接来自企业数据仓库。
               虚拟仓库是操作型数据库上视图的集合。为了有效地处理查询,只有一些可能的汇总视图被物化。虚拟仓库易于建立,但需要操作型数据库服务器具有剩余能力。
 
       数据存储
        数据存储用来表示存储数据。通常,一个流入加工的数据流经过加工处理后就消失了,而它的某些数据(或全部数据)可能被加工成输出数据流,流向其他加工或外部实体。除此之外,在软件系统中还常常要把某些信息保存下来以供以后使用,这时可以使用数据存储。每个数据存储都有一个定义明确的名字标识。可以有数据流流入数据存储,表示数据的写入操作;也可以有数据流从数据存储流出,表示数据的读操作;还可以用双向箭头的数据流指向数据存储,表示对数据的修改。
 
       数据分析
        数据分析是大数据处理过程中的重要组成部分,是大数据价值体现的核心环节。经典的机器学习方法是最常见的数据智能分析方法,近年来迅速发展的深度学习在某些领域取得了惊人的效果。在应用开发上,也形成了几种主流的大数据处理框架。
        机器学习中算法很多,也有很多不同种类的分类方法,一般分为监督学习和非监督学习(或无监督学习)。其中,监督学习是指利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程,也称为监督训练,是从标记的训练数据来推断一个功能的机器学习任务。根据训练集中的标识是连续的还是离散的,可以将监督学习分为两类:回归和分类。
        回归是研究一个或一组随机变量对一个或一组属性变量的相依关系的统计分析方法。线性回归模型是假设自变量和因变量满足线性关系。Logistic回归一般用于分类问题,而其本质是线性回归模型,只是在回归的连续值结果上加了一层函数映射。
        分类是机器学习中的一个重要问题,其过程也是从训练集中建立因变量和自变量的映射过程,与回归问题不同的是,分类问题中因变量的取值是离散的,根据因变量的取值范围,可将分类问题分为二分类问题、三分类问题和多分类问题。根据分类采用的策略和思路的不同,分类算法大致包括:基于示例的分类方法,如K最近邻(K-Nearest Neighbor,KNN)方法;基于概率模型的分类方法,如朴素贝叶斯、最大期望算法EM等;基于线性模型的分类方法,如SVM;基于决策模型的分类方法,如C4.5、AdaBoost、随机森林等。
        在实际应用中,缺乏足够的先验知识,因此难以人工标注类别或进行人工类别标注的成本太高,学习模型是为了推断出数据的一些内在结构。因此,根据类别未知(没有被标记)的训练样本解决模式识别中的各种问题,称为无监督学习。常见的算法有:关联规则挖掘,是从数据背后发现事物之间可能存在的关联或联系。比如数据挖掘领域著名的“啤酒-尿不湿”的故事。K-means算法,基本思想是两个对象的距离越近,其相似度越大;相似度接近的若干对象组成一个簇;算法的目标是从给定数据集中找到紧凑且独立的簇。
        近年来发展起来的深度学习算法是基于原有的神经网络算法发展起来的,包括BP神经网络、深度神经网络。
        BP神经网络是一种反向传播的前馈神经网络,所谓前馈神经网络就是指各神经元分层排列,每个神经元只与前一层的神经元相连,接收前一层的输出,并输出给下一层。所谓反向传播是指从输出层开始沿着相反的方向来逐层调整参数的过程。BP神经网络由输入层、隐含层和输出层组成。
        深度神经网络主要包括卷积神经网络、循环神经网络等,也包括它们的各种改进模型。
        (1)卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络,其结构包括输入层、卷积层、池化层、全连接层以及输出层等。该算法在图像处理、模式识别等领域取得了非常好的效果。在CNN的发展过程中,最经典的模型是AlexNet,针对不同的应用需要,又产生了全卷积模型(FCN)、残差神经网络模型(ResNet)、DeepFace等模型结构。
        (2)循环神经网络(Recurrent Neural Network,RNN)是一种人工神经网络,在该网络中,除了层间的连接以外,同层各单元之间连接构成了一个有向图序列,允许它显示一个时间序列的动态时间行为。RNN可以使用它们的内部状态来处理输入序列,这使得它们适用于诸如未分割的、连续的手写识别或语音识别等任务。传统的RNN是很难训练的,往往会出现梯度消失或梯度爆炸等情况,因此又出现了多个扩展版本,如BiRNN、LSTM等。
        随着深度学习的快速发展和应用的普及,开始出现了一些深度学习框架。深度学习框架是一种界面、库或工具,可以使用户在无需深入了解底层算法的细节的情况下,能够更容易、更快速地构建深度学习模型。深度学习框架利用预先构建和优化好的组件集合定义模型,为模型的实现提供了一种清晰而简洁的方法。常见的深度学习框架有:Caffe,是一个广泛使用的开源深度学习框架,支持常用的网络模型,比如Lenet、AlexNet、ZFNet、VGGNet、GoogleNet、ResNet等;TensorFlow,是一个使用数据流图进行数值计算的开源软件库,图中的节点表示数学运算,而图边表示节点之间传递的多维数据阵列(又称张量),其为大多数复杂的深度学习模型预先编写好了代码,比如递归神经网络和卷积神经网络,灵活架构使我们能够在一个或多个CPU(以及GPU)上部署深度学习模型;Keras,是一个由Python编写的开源人工神经网络库,可以作为TensorFlow、Microsoft-CNTK和Theano的高阶应用程序接口,进行深度学习模型的设计、调试、评估、应用和可视化,Keras完全模块化并具有可扩展性,并试图简化复杂算法的实现难度。
        随着大数据技术的广泛深入,大数据应用已经形成了庞大的生态系统,很难用一种架构或处理技术覆盖所有应用场景。下文介绍几种当前主流的大数据分布式计算架构。
        Apache Hadoop是用于开发可靠、可伸缩、分布式计算的开源软件,是一套用于在由通用硬件构建的大型集群上运行应用程序的框架。包含的模块有:Hadoop分布式文件系统(HDFS),提供对应用程序数据的高吞吐量访问的分布式文件系统;Hadoop YARN,作业调度和集群资源管理的框架;Hadoop MapReduc,一个用于大型数据集并行处理的基于YARN的系统;Hadoop Ozone,Hadoop的对象存储;Hadoop Submarine,Hadoop的机器学习引擎。
        Apache Spark是加州大学伯克利分校的AMP实验室所开源的类Hadoop MapReduce的通用并行框架。Spark是一个分布式的内存计算框架,是专为大规模数据处理而设计的快速通用的计算引擎。Spark的计算过程保持在内存中,不需要读写HDFS,减少了硬盘读写,提升了计算速度。除了Map和Reduce操作外,Spark还延伸出如filter、flatMap、count、distinct等更丰富的操作。同时通过Spark Streaming支持处理数据流。
        Apache Storm是一个免费的开源分布式实时计算系统,可以可靠地处理无边界的数据流变,可以实现实时处理。Apache Storm速度很快,它是可扩展的,容错的,并且易于设置和操作。Apache Storm应用于实时分析、在线机器学习、连续计算、分布式RPC、ETL等等。Storm的核心是拓扑(Topology),拓扑被提交给集群,由集群中的主控节点分发代码,将任务分配给工作节点执行。
 
       数据管理
               数据生命周期
               在数据的整个生命周期中,不同的数据需要不同水平的性能、可用性、保护、迁移、保留和处理。通常情况下,在其生命周期的初期,数据的生成和使用都需要利用高速存储,并相应地提供高水平的保护措施,以达到高可用性和提供相当等级的服务水准。随着时间的推移,数据的重要性会逐渐降低,使用频率也会随之下降。伴随着这些变化的发生,企业就可以将数据进行不同级别的存储,为其提供适当的可用性、存储空间、成本、性能和保护,并且在整个生命周期的不同阶段都能对数据保留进行管理。
               数据的安全性管理是数据生命周期中的一个比较重要的环节。在进行数据输入和存取控制的时候,企业必须首先保证输入数据的数据合法性。要保证数据的安全性,必须保证数据的保密性和完整性,主要表现在以下5个方面:
               (1)用户登录时的安全性。从用户登录网络开始,对数据的保密性和完整性的保护就应该开始了。
               (2)网络数据的保护。包括在本地网络上的数据或者穿越网络的数据。在本地网络的数据是由验证协议来保证其安全性的。
               (3)存储数据以及介质的保护。可以采用数字签名来签署软件产品(防范运行恶意的软件),或者加密文件系统。
               (4)通信的安全性。提供多种安全协议和用户模式的、内置的集成支持。
               (5)企业和Internet网的单点安全登录。
               随着时间的推移,大部分数据将不再会被用到。一般情况下,一些无用的数据将被删除以节省空间,或者将有用的数据无限期地存储,以避免数据损失。
               信息资源管理
               信息资源管理(Information Resource Management,IRM)是对整个组织信息资源开发利用的全面管理。IRM把经济管理和信息技术结合起来,使信息作为一种资源而得到优化地配置和使用。上次我们在谈企业信息化的任务时,说开发信息资源既是企业信息化的出发点,又是企业信息化的归宿;只有高档次的数据环境才能发挥信息基础设施作用、建立集成化的信息系统、落实信息资源的开发和利用。因此,从IRM的技术侧面看,数据环境建设是信息资源管理的重要工作。
               企业信息资源管理不是把资源整合起来就行了,而是需要一个有效的信息资源管理体系,其中最为关键的是从事信息资源管理的人才队伍建设;其次,是架构问题,在信息资源建设阶段,规划是以建设进程为主线的,在信息资源管理阶段,规划应是以架构为主线,主要涉及的是这个信息化运营体系的架构,这个架构要消除以往分散建设所导致的信息孤岛,实现大范围内的信息共享、交换和使用,提升系统效率,达到信息资源的最大增值;技术也是一个要素,要选择与信息资源整合和管理相适应的软件和平台;另外一个就是环境要素,主要是指标准和规范,信息资源管理最核心的基础问题就是信息资源的标准和规范。
               数据管理
               企业信息资源开发利用做得好坏的关键人物是企业领导和信息系统负责人。IRM工作层上的最重要的角色就是数据管理员(Data Administrator, DA)。数据管理员负责支持整个企业目标的信息资源的规划、控制和管理;协调数据库和其他数据结构的开发,使数据存储的冗余最小而具有最大的相容性;负责建立有效使用数据资源的标准和规程,组织所需要的培训;负责实现和维护支持这些目标的数据字典;审批所有对数据字典做的修改;负责监督数据管理部门中的所有职员的工作。数据管理员应能提出关于有效使用数据资源的整治建议,向主管部门提出不同的数据结构设计的优缺点忠告,监督其他人员进行逻辑数据结构设计和数据管理。
               数据管理员还需要有良好的人际关系:善于同中高层管理人员一起制定信息资源的短期和长期计划。在数据结构的研制、建立文档和维护过程中,能与项目领导、数据处理人员和数据库管理员协同工作。能同最终用户管理部门一起工作,为他们提供有关数据资源的信息。
               一般来说,由数据管理员对日常数据进行更新和维护。数据库为了保证存储在其中的数据的安全和一致,必须有一组软件来完成相应的管理任务,这组软件就是数据库管理系统,简称DBMS, DBMS随系统的不同而不同,但是一般来说,它应该包括数据库描述功能、数据库管理功能、数据库的查询和操纵功能、数据库维护功能等。为了提高数据库系统的开发效率,现代数据库系统除了DBMS之外,还提供了各种支持应用开发的工具。
               目前许多厂商提供了相应的DBMS,便于数据管理员对底层的数据进行维护。例如MySQL、东软的OpenBase、金仓的KingbaseES等。
               公司级的数据管理
               如何进行信息资源规划?信息资源规划主要可以概括为“建立两种模型和一套标准”。“两种模型”是指信息系统的功能模型和数据模型,“一套标准”是指信息资源管理基础标准。信息系统的功能模型和数据模型,实际上是用户需求的综合反映和规范化表达;信息资源管理基础标准是进行信息资源开发利用的最基本的标准,这些标准都要体现在数据模型之中。
               企业信息化的最终目标是实现各种不同业务信息系统间跨地域、跨行业、跨部门的信息共享和业务协同,而信息共享和业务协同则是建立在信息使用者和信息拥有者对共享数据的涵义、表示及标识有着相同的而无歧义的理解基础上。然而,由于各部门、各行业及各应用领域对于相同的数据概念有着不同的功能需求和不同的描述,从而导致了数据的不一致性。数据的不一致性主要表现为:数据名称的不一致性、数据长度的不一致性、数据表示的不一致性以及数据含义的不统一性。
               数据标准化是一种按照预定规程对共享数据实施规范化管理的过程。数据标准化的对象是数据元素和元数据。数据元素是通过定义、标识、表示以及允许值等一系列属性描述的数据单元,是数据库中表达实体及其属性的标识符。在特定的语义环境中,数据元素被认为是不可再分的最小数据单元。元数据是描述数据元素属性(即语义内容)的信息,并被存储在数据元素注册系统(又称数据字典)中。数据元素注册系统通过对规范化的数据元素及其属性(即元数据)的管理,可以有效实现用户跨系统和跨环境的数据共享。数据标准化主要包括业务建模阶段、数据规范化阶段、文档规范化阶段等三个阶段。
               数据标准化是建立在对现实业务过程全面分析和了解的基础上的,并以业务模型为基础的。业务建模阶段是业务领域专家和业务建模专家按照《业务流程设计指南》,利用业务建模技术对现实业务需求、业务流程及业务信息进行抽象分析的过程,从而形成覆盖整个业务过程的业务模型。该阶段着重对现实业务流程的分析和研究,尤其需要业务领域专家的直接参与和指导。业务模型是某个业务过程的图形表示或一个设计图。
               数据规范化阶段是数据标准化的关键和核心,该阶段是针对数据元素进行提取、规范化及管理的过程。数据元素的提取离不开对业务建模阶段成果的分析,通过研究业务模型能够获得业务的各个参与方、确定业务的实施细则、明确数据元素对应的信息实体。该阶段是业务领域专家和数据规范化专家按照《数据元素设计与管理规范》利用数据元素注册系统(或数据字典)对业务模型内的各种业务信息实体进行抽象、规范化和管理的过程,从而形成一套完整的标准数据元素目录。在实现数据元素标准化的同时,还应关注数据元素取值的规范化,以此实现信息表示和信息处理的标准化。
               文档规范化阶段是数据规范化成果的实际应用的关键,是实现离散数据有效合成的重要途径。标准数据元素是构造完整信息的基本单元,各类电子文档则是传递各类业务信息的有效载体,并是将分离的标准数据元素信息进行有效合成的手段。该阶段是业务领域专家和电子文档设计专家按照《电子文档设计指南》对各类电子文档格式进行规范化设计和管理的过程,并形成了一批电子文档格式规范。
               综上所述,数据标准化所涉及的三个主要阶段缺一不可、彼此密不可分。业务建模是数据标准化的基础和前提;数据规范化及其管理是数据标准化的核心和重点;文档规范化是数据标准化成果的有效应用的关键。
               此外,数据标准化也可以采用数据字典、数据指南或信息系统字典等加以统一。数据字典实际上也是以数据表和视图为主要存在形式的,它是关于数据的数据表和视图。管理员可以通过数据字典获得全面的数据库信息。
               数据库审计支持
               数据安全是大型数据库应用系统中必须仔细考虑的一个重要问题,也是数据库管理人员和系统管理人员日常工作中最为重要的一部分。有效的数据库审计是数据库安全的基本要求。企业应针对自己的应用和数据库活动定义审计策略。智能审计的实现对安全管理的意义重大,不仅能节省时间,而且能减少执行所涉及的范围和对象。通过智能限制日志大小,还能突出更加关键的安全事件。
               信息系统审计员可以从数据库系统本身、主体和客体三个方面来进行审计,审计对数据库对象的访问以及与安全相关的事件。数据库审计员可以分析审计信息、跟踪审计事件、追查责任以及使用审计服务器记录审计跟踪,并且可以根据审计信息,对审计结果进行统计、跟踪和分析,进行审计跟踪、入侵检测等。
               目前许多数据库供应商都提供了支持数据库审计的功能,例如东软公司的OpenBASE Secure就提供了十分完善的审计功能。
 
       数据类型
        基本数据类型是C++内部预先定义的数据类型,非基本数据类型是用户自己定义的数据类型。
        1)基本数据类型
        基本数据类型包括整型int、字符型char、逻辑型bool、无值型void、实型float、双精度型double,与C语言没什么差别。
        2)非基本数据类型
        非基本数据类型包括数组type[]、指针type*、结构struct、联合union、枚举enum和类class,比C语言增加了类class数据类型。
        3)new和delete
        (1)分配内存。
        在C语言中:char *name=(char*)malloc(Length+1);。
        使用new: char *name=new char[Length+1];。
        (2)释放内存。
        在C语言中:free(name);。
        使用delete: delete[]name;。
 
       物联网
               物联网概念及关键技术
               (1)物联网概念。物联网(IoT: Internet of Things)即“物物相联之网”,指通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把物与物、人与物进行智能化连接,进行信息交换和通信,以实现智能化识别、定位、跟踪、监控和管理的一种新兴网络。从计算机的协同处理来划分,可分为独立计算、互联网和物联网时代,如下图所示。
               
               物联网时代的划分图
               物联网不是一种物理上独立存在的完整网络,而是架构在现有互联网或下一代公网或专网基础上的联网应用和通信能力,是具有整合感知识别、传输互联和计算处理等能力的智能型应用。
               物联网概念的3个方面:
               .物:客观世界的物品,主要包括人、商品、地理环境等。
               .联:通过互联网、通信网、电视网以及传感网等实现网络互联。
               .网:首先,应和通信介质无关,有线无线都可。其次,应和通信拓扑结构无关,总线、星型均可。最后,只要能达到数据传输的目的即可。
               (2)物联网架构。物联网从架构上面可以分为感知层、网络层和应用层,如下图所示。
               
               物联网架构
               感知层:负责信息采集和物物之间的信息传输,信息采集的技术包括传感器、条码和二维码、RFID射频技术、音视频等多媒体信息,信息传输包括远近距离数据传输技术、自组织组网技术、协同信息处理技术、信息采集中间件技术等传感器网络。是实现物联网全面感知的核心能力,是物联网中包括关键技术、标准化方面、产业化方面亟待突破的部分,关键在于具备更精确、更全面的感知能力,并解决低功耗、小型化和低成本的问题。
               网络层:是利用无线和有线网络对采集的数据进行编码、认证和传输,广泛覆盖的移动通信网络是实现物联网的基础设施,是物联网三层中标准化程度最高、产业化能力最强、最成熟的部分,关键在于为物联网应用特征进行优化和改进,形成协同感知的网络。
               应用层:提供丰富的基于物联网的应用,是物联网发展的根本目标,将物联网技术与行业信息化需求相结合,实现广泛智能化应用的解决方案集,关键在于行业融合、信息资源的开发利用、低成本高质量的解决方案、信息安全的保障以及有效的商业模式的开发。
               各个层次所用的公共技术包括编码技术、标识技术、解析技术、安全技术和中间件技术。
               (3)物联网关键技术。感知层作为物联网架构的基础层面,主要是达到信息采集并将采集到的数据上传的目的,感知层主要包括:自动识别技术产品和传感器(条码、RFID、传感器等),无线传输技术(WLAN、Bluetooth、ZigBee、UWB),自组织组网技术和中间件技术,如下图所示。
               
               物联网关键技术设备
               物联网应用
               物联网的产业链(如下图所示)包括传感器和芯片、设备、网络运营及服务、软件与应用开发和系统集成。作为物联网“金字塔”的塔座,传感器将是整个链条需求总量最大和最基础的环节。将整体产业链按价值分类,硬件厂商的价值较小,占产业价值大头的公司通常都集多种角色为一体,以系统集成商的角色出现。
               
               物联网产业链
               (1)智能微尘:智能微尘(smart dust)(2001,美国国防部计划)是指具有电脑功能的一种超微型传感器,它可以探测周围诸多环境参数,能够收集大量数据,进行适当计算处理,然后利用双向无线通信装置将这些信息在相距1000英尺的微尘器件间往来传送。智能微尘的应用范围很广,除了主要应用于军事领域外,还可用于健康监控、环境监控、医疗等许多方面。
               (2)智能电网:物联网技术在传感技术、电网通信整合、安全技术和先进控制方法等关键技术领域助力美国新一代智能电网的建设,使配电系统进入计算机智能化控制的时代,以美国的可再生能源为基础,实现美国发电、输电、配电和用电体系的优化管理。
               (3)智慧物流:大型零售企业沃尔玛,拥有全美最大的送货车队,车辆全部安装了综合了GPS卫星定位、移动通信网络等功能的车载终端,调度中心可实时掌握车辆及货物的情况高效利用物流资源设施,使沃尔玛的配送成本仅占销售额的2%,远低于同行高达10%甚至20%的物流成本。提高物流效率,实现物流的全供应链流程管理支持。
               (4)智能家居:提供基于网络的通信,进行家居和建筑的自动化控制和外部共享信息,应用包括家庭安防类、信息服务类和家电设备管理等应用。
               (5)智能交通:瑞典在解决交通拥挤问题时,通过使用RFID技术、激光扫描、自动拍照和自由车流路边系统,自动检测标识车辆,向工作进出市中心的车辆收取费用。提供汽车信息服务,支持交通管理,车辆控制和安全系统,公共交通管理,商用车运营管理,交通应急管理以及出行和交通需求管理等领域。
               (6)智慧农业:荷兰阿姆斯特丹对城市建筑有另一个层面的应用,即利用城市内废弃建筑的多层结构提高种植面积,并利用物联网的感知与智能技术就地改造建筑内的LED照明设备与供水排水管道,形成自动根据天气条件补充光照与水分的城市农业。整合新型传感器技术,全流程的牧业管理和支持精细农业,应用涉及食品安全溯源,环境检测等应用。
               (7)环境保护:环境监测、河流区域监控、森林防火、动物监测等应用。
               (8)医疗健康:基于RFID技术的医疗健康服务管理,应用涉及医疗健康服务管理,药品和医疗器械管理以及生物制品管理等应用。
               (9)城市管理:应用物联网支撑城市综合管理,实现智慧城市。
               (10)金融服务保险业:依靠物联网支撑金融和保险行业体系,实现便捷和健壮的服务,应用涉及安全监控,手机钱包等。
               (11)公共安全:主要应用于机场防入侵,安全防范,城市轨道防控,城市公共安全等方面。
 
       一致性
        在讨论一致性之前,先看一下CAP理论。它作为一种理论依据,使得在不同应用中,对一致性也有了不同的要求。CAP理论:简单地说,就是对于一个分布式系统,一致性(Consistency)、可用性(Availablity)和分区容忍性(Partition tolerance)三个特点最多只能三选二。
        一致性意味着系统在执行了某些操作后仍处在一个一致的状态,这点在分布式的系统中尤其明显。比如某用户在一处对共享的数据进行了修改,那么所有有权使用这些数据的用户都可以看到这一改变。简言之,就是所有的结点在同一时刻有相同的数据。
        可用性指对数据的所有操作都应有成功的返回。高可用性则是在系统升级(软件或硬件)或在网络系统中的某些结点发生故障的时候,仍可以正常返回。简言之,就是任何请求不管成功或失败都有响应。
        分区容忍性这一概念的前提是在网络发生故障的时候。在网络连接上,一些结点出现故障,使得原本连通的网络变成了一块一块的分区,若允许系统继续工作,那么就是分区可容忍的。
        在数据库系统中,事务的ACID属性保证了数据库的一致性。比如银行系统中,转账就是一个事务,从原账户扣除金额,以及向目标账户添加金额,这两个数据库操作的总和构成一个完整的逻辑过程,具有原子的不可拆分特性,从而保证了整个系统中的总金额没有变化。
        然而,这些ACID特性对于大型的分布式系统来说,是和高性能不兼容的。比如,你在网上书店买书,任何一个人买书这个过程都会锁住数据库直到买书行为彻底完成(否则书本库存数可能不一致),买书完成的那一瞬间,世界上所有的人都可以看到书的库存减少了一本(这也意味着两个人不能同时买书)。这在小的网上书城也许可以运行得很好,可是对Amazon这种网上书城却并不是很好。
        而对于Amazon这种系统,它也许会用Cache系统,剩余的库存数也许是几秒甚至几个小时前的快照,而不是实时的库存数,这就舍弃了一致性。并且,Amazon可能也舍弃了独立性,当只剩下最后一本书时,也许它会允许两个人同时下单,宁愿最后给那个下单成功却没货的人道歉,而不是整个系统性能的下降。
        由于CAP理论的存在,为了提高性能,出现了ACID的一种变种BASE(这四个字母分别是Basically Available,Soft—state,Eventual consistency的开头字母,是一个弱一致性的理论,只要求最终一致性):
        .Basically Available:基本可用。
        .Soft state:软状态,可以理解为“无连接”的,而与之相对应的Hard state就是“面向连接”的。
        .Eventual consistency:最终一致性,最终整个系统(时间和系统的要求有关)看到的数据是一致的。
        在BASE中,强调可用性的同时,引入了最终一致性这个概念,不像ACID,其并不需要每个事务都是一致的,只需要整个系统经过一定时间后最终达到一致。比如Amazon的卖书系统,也许在卖的过程中,每个用户看到的库存数是不一样的,但最终卖完后,库存数都为0。再比如SNS网络中,C更新状态,A也许可以1分钟就看到,而B甚至5分钟后才看到,但最终大家都可以看到这个更新。
        具体地说,如果选择了CP(一致性和分区容忍性),那么就要考虑ACID理论(传统关系型数据库的基石,事务的四个特点)。如果选择了AP(可用性和分区容忍性),那么就要考虑BASE系统。如果选择了CA(一致性和可用性),如Google的bigtable,那么在网络发生分区的时候,将不能进行完整的操作。
        ACID理论和BASE的具体对比如下表所示。
        
        ACID和BASE的对比表
   题号导航      2022年下半年 系统架构设计师 下午试卷 论文   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
 
第4题    在手机中做本题