免费智能真题库 > 历年试卷 > 数据库系统工程师 > 2014年上半年 数据库系统工程师 上午试卷 综合知识
  第3题      
  知识点:   编码   大数据   海明码   检验   数据编码
  关键词:   编码   大数据   海明码   检错   检验位   数据        章/节:   计算机软件基础知识       

 
海明码利用奇偶性检错和纠错,通过在n个数据位之间插入k个检验位,扩大数据编码的码距。若n=48,则k应为()。
 
 
  A.  4
 
  B.  5
 
  C.  6
 
  D. 

7

 
 
 

 
  第7题    2021年上半年  
   51%
( )是一种先进先出的线性表,只允许在表的一端插入元素,而在表的另一端删除元素。
  第24题    2011年上半年  
   64%
某文件管理系统在磁盘上建立了位示图(bitmap),记录磁盘的使用情况。若系统的字长为32位,磁盘上的物理块依次编号为:0、1、2、&h..
  第5题    2020年下半年  
   33%
在常见的数据结构中,(5)是只能通过访问它的端来实现数据存储和检索的一种线性数据结构,它的修改遵循先进后出的原则;(6)是..
   知识点讲解    
   · 编码    · 大数据    · 海明码    · 检验    · 数据编码
 
       编码
               编码过程
               在给定了软件设计规格说明书后,下一步的工作就是编写代码。一般来说,编码工作可以分为四个步骤:
               (1)确定源程序的标准格式,制订编程规范。
               (2)准备编程环境,包括软硬件平台的选择,包括操作系统、编程语言、集成开发环境等。
               (3)编写代码。
               (4)进行代码审查,以提高编码质量。为提高审查的效率,在代码审查前需要准备一份检查清单,并设定此次审查须找到的bug数量。在审查时,要检查软件规格说明书与编码内容是否一致;代码对硬件和操作系统资源的访问是否正确;中断控制模块是否正确等。
               编码准则
               在嵌入式系统中,由于资源有限,且实时性和可靠性要求较高,因此,在开发嵌入式软件时,要注意对执行时间、存储空间和开发/维护时间这三种资源的使用进行优化。也就是说,代码的执行速度要越快越好,系统占用的存储空间要越小越好,软件开发和维护的时间要越少越好。
               具体来说,在编写代码时,需要做到以下几点:
               .保持函数短小精悍。一个函数应该只实现一个功能,如果函数的代码过于复杂,将多个功能混杂在一起,就很难具备可靠性和可维护性。另外,要限制函数的长度,一般来说,一个函数的长度最好不要超过100行。
               .封装代码。将数据以及对其进行操作的代码封装在一个实体中,其他代码不能直接访问这些数据。例如,全局变量必须在使用该变量的函数或模块内定义。对代码进行封装的结果就是消除了代码之间的依赖性,提高了对象的内聚性,使封装后的代码对其他行为的依赖性较小。
               .消除冗余代码。例如,将一个变量赋给它自己,初始化或设置一个变量后却从不使用它,等等。研究表明,即使是无害的冗余也往往和程序的缺陷高度关联。
               .减少实时代码。实时代码不但容易出错、编写成本较高,而且调试成本可能更高。如果可能,最好将对执行时间要求严格的代码转移到一个单独的任务或者程序段中。
               .编写优雅流畅的代码。
               .遵守代码编写标准并借助检查工具。用自动检验工具寻找缺陷比人工调试便宜,而且能捕捉到通过传统测试检查不到的各种问题。
               编码技术
                      编程规范
                      在嵌入式软件开发过程中,遵守编程规范,养成良好的编程习惯,这是非常重要的,将直接影响到所编写代码的质量。
                      编程规范主要涉及的三方面内容:
                      .命名规则。从编译器的角度,一个合法的变量名由字母、数字和下画线三种字符组成,且第一个字符必须为字母或下画线。但是从程序员的角度,一个好的名字不仅要合法,还要载有足够的信息,做到“见名知意”,并且在语意清晰、不含歧义的前提下,尽可能地简短。
                      .编码格式。在程序布局时,要使用缩进规则,例如变量的定义和可执行语句要缩进一级,当函数的参数过长时,也要缩进。另外,括弧的使用要整齐配对,要善于使用空格和空行来美化代码。例如,在二元运算符与其运算对象之间,要留有空格;在变量定义和代码之间要留有空行;在不同功能的代码段之间也要用空行隔开。
                      .注释的书写。注释的典型内容包括:函数的功能描述;设计过程中的决策,如数据结构和算法的选择;错误的处理方式;复杂代码的设计思想等。在书写注释时要注意,注释的内容应该与相应的代码保持一致,同时要避免不必要的注释,过犹不及。
                      性能优化
                      由于嵌入式系统对实时性的要求较高,因此一般要求对代码的性能进行优化,使代码的执行速度越快越好。以算术运算为例,在编写代码时,需要仔细地选择和使用算术运算符。一般来说,整数的算术运算最快,其次是带有硬件支持的浮点运算,而用软件来实现的浮点运算是非常慢的。因此,在编码时要遵守以下准则:
                      .尽量使用整数(char、short、int和long)的加法和减法。
                      .如果没有硬件支持,尽量避免使用乘法。
                      .尽量避免使用除法。
                      .如果没有硬件支持,尽量避免使用浮点数。
                      下图是一个例子,其中两段代码的功能完全一样,都是对一个结构体数组的各个元素进行初始化,但采用两种不同的方法来实现。下图(a)采用数组下标的方法,在定位第i个数组元素时,需要将i乘以结构体元素的大小,再加上数组的起始地址。下图(b)采用的是指针访问的方法,先把指针fp初始化为数组的起始地址,然后每访问完一个数组元素,就把fp加1,指向下一个元素。在一个奔腾4的PC上,将这两段代码分别重复10 700次,右边这段代码需要1ms,而左边这段代码需要2.13ms。
                      
                      算术运算性能优化的例子
 
       大数据
               大数据相关概念
                      大数据概念
                      大数据的应用和技术是在互联网快速发展中诞生的,起点可追溯到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月,在北京市和中关村管委会指导下,中关村大数据交易产业联盟成立,将在国内推动国内大数据交易相关规范化方面开展工作。
               大数据对电子商务的发展影响
                      大数据更好地支撑了电子商务营销精准化和实时化
                      电子商务发展到今天,其营销平台、营销方式都发生了很大的改变。电子商务平台、移动终端、社交网络以及物联网等设备的使用大大增加了消费者数据,而云计算、复杂分析系统等大数据处理手段,为人们整合各个渠道消费者数据、形成有用的营销信息提供了可能。与传统的电子商务数据处理方式相比,大数据处理方式更快捷、更精细,它给我们科学分析消费者偏好及其消费行为轨迹提供巨大帮助。特别是在移动设备进入电子商务领域后,地理位置服务信息处理使电子商务一对一精准营销成为可能,极大程度提升了电子商务营销的准确性,有力地支撑了电子商务营销的精准化与实时化。
                      大数据更好地支撑了电子商务高度差异化和个性化
                      在传统电子商务营销背景下,企业与消费者总是处于双向信息不对称状态。一方面企业很难掌握消费者的消费行为和消费习惯,另一方面消费者了解企业产品的信息渠道相对较窄。进入大数据时代后,企业可以通过科学分析海量数据来获得更加丰富的消费者信息,从而针对不同消费者消费需求,提供特定的产品和服务,以最大限度地提高其满意度。消费者可以通过移动终端等渠道及时向电子商务企业传递信息,为企业进行个性化服务提供依据。由此可以推断,未来电子商务价值创造将会围绕消费者个性化需求展开,并将消费者纳入到企业产品设计与生产过程,实现共同的价值创造。
                      大数据进一步推进了价值链、供应链一体化
                      大数据等新型信息技术可以促进各个渠道的跨界数据整合,使所有围绕消费者消费行为的价值链、供应链企业成为一个整体。如大数据可以将地理位置不同、从事行业不同的研发、生产、加工、营销、仓储、配送、服务等各环节企业在满足消费者消费需求这一共同目的下组成动态联盟,通过彼此协作和创造,真正为消费者提供个性化产品和服务。相对于传统意义上的供应链,通过大数据连接起来的动态联盟反应速度更快、智能化程度更高,这既有利于联盟内企业的信息、资源共享,也有利于联盟内企业的分工协作,从而创造新的价值。
                      大数据推动了新型增值服务模式发展
                      电子商务中应用众多的新型信息技术产生了生产、消费、金融、物流等一系列大数据,这些本属于不同领域的大数据在被综合运用的过程中会产生新的融合,从而形成新的增值服务。如电子商务中产生的买卖双方信息、物流信息、金融信息,如果加以整合肯定能够使企业在市场竞争中处于比较有利的位置。在此基础上,企业还可以积极开展类似金融信用服务、供应链整合等增值服务。随着大数据的广泛应用,加之大数据分析手段创新,已经产生了互联网金融等多个增值服务,给包括电子商务企业在内的众多中小企业提供了新的发展空间。假以时日,大数据还会催生更多新型增值服务模式、产生众多的产业。
 
       海明码
        海明码用于多位并行数据检错纠错处理。
        实现:为k个数据位设r个校验位,使k+r位的码字(即海明码)能发现k位中任何一位出错且可以纠正。
        其数据位k和校验位r必须满足如下关系式:
        2rk+r+I
        1)海明码的编码规则
        设r个校验位PrPr-1P1,k个数据位Dk-1Dk-2D0,产生的海明码为Hr+k,Hr+k-1H1,则有如下规则。
        规则1:Pi在海明码的2i-1位置,即Hj=Pi,j=2i-l;数据位则依序从低至高占据海明码中其他的位置。
        规则2:海明码中的任意位都是由若干校验位来校验的。其对应关系是:被校验的海明位的下标等于所有参与校验该位的校验位的下标之和,而校验位则是由其自身来校验的。
        2)海明码校验
        下面以k=8对纠1位错的海明码的编码及校验原理给予说明。
        (1)确定r的位数。
        当r=4时,有24≥8+4+1,可以满足2rk+r+1。
        (2)确定海明码的位置。
        由规则1,Pi对应Hj的位置。
        如:确定P4的位置,因j=2i-1=24-1=8,则有P4H8的位置。同理得到以下位置的对应关系:
        H12H11H10H9H8H7H6H5H4H3H2H1
        D7D6D5D4P4D3D2D1P3D0P2P1
        (3)确定编码方案。
        由规则2,编码方案如下:
        形成HiP1相关的数据位有:S1=D0D1D3D4D6
        形成HiP2相关的数据位有:S2=D0D2D3D5D6
        形成HiP3相关的数据位有:S3=D1D2D3D7
        形成HiP4相关的数据位有:D7D6D5D4
        得校验关系:S4=D4D5D6D7
        (4)确定纠错译码方案。
        设G1=S1P1G2=S2P2G3=S3P3G4=S4P4。若采用偶校验则G4~G1的值全为0时数据正确,反之有错。用对出错位取反的方法即可实现纠错。
        例如,G4~G1=0111,其值为7,对应于H7D3的位置)。将D3的值取反就实现了纠错。
 
       检验
        检验(检查)包括测量、检查和测试等活动,目的是确定项目成果是否与要求相一致。检验可以在任何管理层次中开展,例如,一个单项活动的结果和整个项目的最后成果都可以检验。检验有各种名称,如复查、产品复查、审查及评审等。
        检查表(核对表)是常用的检验技术,检查表通常是由详细的条目组成的,用于检查和核对一系列必须采取的步骤是否已经实施的结构化工具,其具体内容因应用的不同而不同。检查表是一种有条理的工具,可简单可烦琐,语言表达形式可以是命令式,也可以是询问式。
        例如,下表是一个确认测试工具属性的检查表例子。
        
        一个确认测试工具属性的检查表例子
 
       数据编码
        通信信道有两种类型,即模拟信道和数字信道。计算机数据在不同的信道中传输,要采用不同的编码方式。
               数字数据的模拟信号编码
               将计算机中的数字数据变换成网络中的模拟信号,必须要进行调制,即进行频谱变换。模拟信号传输的基础是载波,载波具有三大要素,即幅度、频率和相位。数字数据可以针对载波的不同要素或它们的组合进行调制。
               将数字数据调制为模拟信号的基本方式有3种:即调幅、调频和调相,如下图所示。
               1)调幅
               调幅(Amplitude Modulation, AM)即载波的振幅随着基带数字信号而变化,又称幅移键控(ASK)。在调幅(幅移键控)方式中,用载波的两个不同振幅来表示两个二进制值。例如,用振幅恒定的载波的存在表示一个二进制数字1,载波不存在表示一个二进制数字0,如下图所示。其特点是实现容易,抗干扰能力差。
               2)调频
               调频(Frequency Modulation, FM)即载波的频率随着基带数字信号而变化,又称频移键控(FSK)。例如,用频率f1表示一个二进制数字1,频率f2表示一个二进制数字0,如下图所示。其特点是实现容易,抗干扰能力强。
               3)调相
               调相(Phase Modulation, PM)即载波的初始相位随着基带数字信号而变化,又称相移键控(PSK)。在调相方式(相移键控)中,数字0和1的载波起始相位不同。例如,可以用θ= 0°代表0,θ=180°代表1,如下图所示,这种方法称为两相调制;如果以θ为0°、90°、180°、270°,分别表示二进制数00、01、10、11,这种方法称为四相调制。每个调制时间间隔包含两个比特的信息,因此,使信息传输速率增加一倍。其特点是实现复杂、抗干扰能力强。
               
               数字数据调制方式
               由PSK和ASK结合的相位幅度调制(PAM),是解决相移数已达到上限但还要提高传输速率的有效方法。相位幅度调制,即采用相位调制和幅度调制结合的方法来提高传输速率(不提高调制速率)。它采用16个不同的相位和幅度电平,可以使1200b/s的Modem传送19 200b/s的数据信号。
               数字数据编码
               在数字信道中传输计算机数据时,要对计算机中的数字信号重新编码并进行基带传输。
               对于数字信号来说,最常用的方法是用不同的电压电平来表示两个二进制数字,即数字信号由矩形脉冲组成。
               在基带传输中,数字信号的编码方式有不归零编码、曼彻斯特编码和差分曼彻斯特编码,如下图所示。
               1)不归零编码
               不归零编码(Non-Return-Zero, NRZ)用低电平表示二进制0,用高电平表示二进制1。不归零编码有单极型不归零编码和双极型不归零编码两种。
               单极型不归零编码,无电压表示0,恒定正电压表示1,每个码元时间的中间点是采样时间,判决门限为半幅电平,如下图所示。
               双极型不归零编码,1码和0码都有电压,1为正电压,0为负电压,正负电压的幅度相等,判决门限为零电平,如下图所示。
               2)曼彻斯特编码
               曼彻斯特编码(Manchester Encoding),用电平的跳变表示二进制,电平由从高到低的跳变表示二进制1,从低到高的跳变表示二进制0,如下图所示。
               3)差分曼彻斯特编码
               差分曼彻斯特编码(Differential Manchester Encoding),每比特的开始无跳变表示二进制1,有跳变表示二进制0,如下图所示。
               
               常用编码方案
               两种曼彻斯特编码的最大优点是将时钟和数据包含在信号数据流中,在传输代码信息的同时,也将时钟同步信号一起传送给对方,所以这种编码也称为自同步码。但缺点也很明显,那就是编码效率低。例如,要传送10Mb/s的数据,需要20MHz的脉冲。曼彻斯特编码常用在以太网中,而差分曼彻斯特编码常用在令牌环网中。
               模拟数据的数字信号编码
               将模拟数据编码为数字信号的最常见方法是脉冲编码调制,简称脉码调制(Pulse Code Modulation, PCM)。脉码调制是以采样定理为基础的。从数学上可以这样说明采样定理:若对连续变化的模拟信号进行周期性采样,只要采样频率等于或大于有效信号最高频率的两倍,则采样信息包含原信号的全部信息。再利用低通滤波器可以从这些采样中重新构造出原始信号。
               采样定理表达公式为
               Fs≥2FmaxFs2Bs
               式中:Fs(即1/Ts)为采样频率;Fmax为原始信号的最高频率;Bs(=Fmax-Fmin)为原始信号的带宽。
               PCM编码过程包括采样、量化和编码3个步骤,如下图所示。
               1)采样
               每隔一定的时间对连续模拟信号进行采样,得到的信号就成为一组"离散"的脉冲信号序列,这种方式称为脉冲幅值调制(Pulse Amplitude Modulation, PAM)。
               
               PCM原理
               2)量化
               量化是一个分级过程,把采样所得到的PAM脉冲按量级比较,并且"取整",这样脉冲序列就成为数字信号了。
               3)编码
               表示采样序列量化后的量化幅度,它用一定位数的二进制码表示。如果有N个量化级,那么就应当有log2N位二进制数码。
               例如,声音数据频率一般在4000Hz以下,那么只要8000次/s的采样就可以完整地表示声音信号的特征。目前,在语音数字化脉冲调制系统中,通常分为128个量级,即用7位二进制数码表示。PCM编码的数据率为8000×7=56kb/s。
   题号导航      2014年上半年 数据库系统工程师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第3题    在手机中做本题