首页 百科知识 若干关键技术

若干关键技术

时间:2022-02-01 百科知识 版权反馈
【摘要】:对这些海量数据进行科学高效的存储与管理是整个项目的基础保障,同时也是一道技术上的难题和挑战。通过这些技术,No SQL能很好地处理海量数据,展现了低复杂性、高吞吐量、高水平扩展能力等优点,向人们提供高效便宜的数据管理方案。
若干关键技术_海底科学观测的国

12.2.1 数据存储及管理技术

海底观测网产生的海量非结构化异构数据无时无刻都在动态积累,充分体现出对于大数据大量(Volume)、多样(Variety)、实时(Velocity)的3V描述。对这些海量数据进行科学高效的存储与管理是整个项目的基础保障,同时也是一道技术上的难题和挑战。

1.关系型数据库与非关系型数据库

关系数据模型中的数据以表格的形式表达和存储,数据之间的关系由属性之间的链接进行表达,这样使得用户对数据的感受和理解更加直观。SQL(结构化查询语言)是一种基于关系代数演算的结构化数据查询语言,被用于关系型数据库系统中。

随着数据存储要求和访问要求的不断增长,基于传统关系模型的关系型数据库出现性能下降等弊端,导致在某些应用场合难以发挥出应有的作用,反而成为限制系统性能的瓶颈。在一些无需考虑关系数据库某些特性,甚至是关系模型的情形,非关系型数据库成为有效的替代方案。

非关系型数据库不使用SQL作为查询手段,数据存储往往不以表格结构为基础,表达数据的关联时也无需使用表之间的合并操作(练亚纯,2014)。从数据库规模角度看,非关系型数据库扩展性较高,可胜任大尺度数据存储管理任务。数据类型方面,非关系型数据库一般有文档存储、图存储、键 值存储和列存储等类型。这些没有固定数据模式且可水平扩展的系统现在统称为No SQL(“Not Only SQL”),即对关系型SQL数据系统的补充。No SQL系统普遍采用的一些技术包括(陆嘉恒,2013):简单数据模型、元数据和应用数据的分离、弱一致性。

通过这些技术,No SQL能很好地处理海量数据,展现了低复杂性、高吞吐量、高水平扩展能力等优点,向人们提供高效便宜的数据管理方案。

2.分布式冗余存储

按照传统的方式将数据都存放在一起,在海量数据中去找到相应的数据进行增加、删除、修改、查找的操作,所耗的时间和效率是不可接受的。因此,数据的分布式冗余存储技术应运而生。

分布式冗余存储中最为关键的是分区技术,简而言之,就是一种“分而治之”的技术,它可用来很方便地处理超大型表。通过将大型表和索引分成可管理的小块,为大量数据提供了可伸缩的性能。分区通过将操作分配给更小的存储单元,减少了需进行管理操作的时间,且通过增强的并行处理提高了性能,而通过屏蔽故障数据的分区,还增加了可用性(李华植, 2011)。

在海量数据中,对数据进行分布式存储的优势明显,且已成为未来数据存储模式的一个大趋势。数据分布式存储有如下优点(Madden,2012):可提高数据操作的可管理性、可用性和相应的性能;使得某些查询操作不用在整个数据库中进行,缩小了查询操作的范围;可只针对特定的分区进行维护,大大提高了维护操作的效率。

分布式冗余存储中另一项重要的技术是冗余存储,以便需要时能及时找到或恢复原来的数据(Abelloetal.,2013)。数据冗余存储的优点主要有如下两点:数据在遭到破坏或设备宕机时,能及时从冗余数据库中回复。这是冗余存储最大的优点,也是最直接的目的;数据存在冗余之后,在进行读取的时候在不同节点进行操作,大大降低了分布式网络中的吞吐量,能节约很多时间与提高一定的效率。

3.云存储

现代存储技术从磁带发展到磁盘,再从磁盘发展到阵列,继而从阵列发展到网络存储,而今又随着集群技术、网格技术、分布式存储技术、虚拟化存储技术的发展,进入了云存储的时代。云存储不仅是存储技术或设备,更是一种服务的创新。云存储的定义应由一下两部分构成(张继平,2013):第一,在面向用户的服务形态方面,提供按需服务的应用模式,用户可通过网络连接云端存储资源,实现用户数据在云端随时随地的存储;第二,在云存储服务构建方面,通过分布式、虚拟化、智能配置等技术,实现海量、可弹性扩展、低成本、低能耗的共享存储资源。

12.2.2 数据可视化技术

数据可视化是关于数据视觉表现形式,主要是借助于图形化手段,清晰有效地传达与沟通信息。设计可视化视图包括三个主要步骤:确定数据到图形元素(即标记)和视觉通道的映射;视图的选择与用户交互控制的设计;数据的筛选,即确定在有限的可视化视图空间中选择适当容量的信息进行编码,以避免在数据量过大情况下产生视觉混乱,也就是保持合理的信息密度(Keimetal.,2013)。

1.高维多元数据的可视化分析

高维多元数据指每个数据对象有两个或两个以上独立或相关属性的数据。高维指数据具有多个独立属性,而多元指数据具有多个相关属性。目前高维多元数据可视化技术已提出许多方法,这些方法根据其可视化的原理不同可划分为基于空间映射的技术、基于像素的技术、基于图标的技术等(陈为,2013)。

2.流数据的可视化分析

流数据是一类特殊的时变型数据,输入数据(全部或部分)并不存储在可随机访问的磁盘或内存中,而是以一个或多个“连续数据流”的形式表达。常见的流数据有网络数据、高性能集群平台日志、传感器网络纪录等。

流数据处理没有一个固定的模型,通常按处理目的和方法的不同(如聚类、检索、监控等)会有不同的模型。数据流进入流处理器后经过整理大部分原始数据会保存在归档数据库中,而另一部分关键数据保存在另一个便于存取的数据库中作为可视化的数据来源。关键数据进入可视化处理器后,经过一系列可视映射和布局等可视化过程转化为可视化输出呈现给用户(图12-18)。用户交互包括三个部分:一是输出内容的可视检索,二是对可视布局的基本交互,三是自定义的数据定制。其中,多数据库的设计既保护了原始数据,也提高了数据存取效率(陈为,2013)。

图12-18 流数据可视化模型(陈为等,2013)

3.可视化中的交互技术

数据可视化系统除了视觉呈现部分,另一个核心要素是用户交互。交互是用户通过与系统之间的对话和互动来操纵与理解数据的过程。交互式的数据可视化是一种动态的数据可视化,相比于静态的数据可视化,交互式的数据可视化允许用户自由选取最为相关的数据信息,以及选择数据信息的展示形式,同时也包括数据的粒度,因此数据可视化中的交互技术为研究者提供了更为灵活深入的数据分析手段。常用的两类基本交互方法有“概览+细节”和“焦点+上下文”(陈为,2013)。

12.2.3 数据分析及挖掘技术

数据挖掘就是从大量的、不完全的、有噪声的、模糊的、随机的数据中提取隐含在其中的、人们事先不知道但又是潜在有用的信息和知识的过程。通过数据挖掘算法可帮助决策者从海量的数据中自动发现隐藏其中有价值的关系和模式,从而对未来可能发生的行为进行预测。适用于海洋大数据挖掘的关键技术主要包括数据降维、数据聚类、关联分析、回归算法、数据分类等。

1.数据降维

在海洋大数据分析和挖掘中,为了尽可能地保留数据信息、提高挖掘结果的正确率,通常需采集数量巨大的数据特征,使得原始空间或输入空间的维数可能高达几千维或万维,这时就要进行数据降维。数据降维可分为特征抽取和特征选择两大类。

特征抽取分为线性非线性抽取方法。特征抽取通过某种线性或非线性变换将高维样本转换到一个新的低维空间来表示,且还要尽可能保留原始高维空间中的数据信息。线性方法有主成分分析(Principal Component Analysis,PCA;Jolliffe,2002)和基于核的主分量分析(Kernel PCA;Mikaetal.,1998)等。非线性方法有等距映射算法(Isomap) (Balasubramanian&Schwartz,2002)和局部线性嵌入算法(LLE;Roweis&Saul, 2000)等。

特征选择(Feature Selection)也称特征子集选择(Feature Subset Selection,FSS;Kohavi&John,1997),或属性选择(Attribute Selection),是指从全部特征中选取一个特征子集,使其构造出来的更好的模型。它从原始特征集中选择使某种评估标准最优的特征子集。传统的特征选择方法可分成过滤式(Filter)、包装式(Wrapper)、嵌入式(Embed-ded)这三种。

2.数据聚类

聚类(clustering;Jain&Dubes,1988)就是将样本分组成为多个簇(cluster)的过程。簇就是类别,在同一个簇中的样本之间具有较高的相似度,而不同簇中的样本差别较大。聚类算法可分为如下几类:划分法(partitioning method)、层次法(hierarchical method)、密度法(density-based method)、网格法(grid-basedmethod)等。

划分法典型的有:K均值(K-means)法、K中心(K-medoids)法。层次法基于一个“分层”的思想来进行数据聚类。自底向上的凝聚和自顶向下的分裂是两种类型的层次聚类方法。这两种算法都是基于距离来描述相似度,对于非球状数据,是无法正确聚类的。密度法的相似性度量是基于密度的,可发现任意形状的簇,还有抑制数据噪声的作用。密度聚类法的代表算法有:DBSCAN(Density-based Spatial Clustering of Applications with Noise)算法(Birant&Kut,2007)、OPTICS(Ordering Points To Identify the Clustering Structure)算法(Boyd,2003)等。网格法首先将数据样本空间量化为有限数目的单元,形成一个多分辨率的网格结构,然后利用构建好的网格结构进行聚类。代表算法有:STING(Statistical Information Grid)算法(Wangetal.,2003)、CLIQUE(Clustering In Quest)算法(Bomze etal.,1999)、Wave Cluster算法(Sheikholeslami et al.,1998)等。

3.关联分析

关联分析在大规模数据集中寻找相关关系,形成关联规则,其中的关键指标有置信度和支持度。置信度是对关联规则准确度的衡量,支持度是对关联规则重要性的衡量。支持度说明规则有多大的代表性,支持度越大,关联规则越重要。关联规则挖掘中,满足最小置信度以及支持度的集合成为频繁项集(frequent item set)。关联规则挖掘是一个寻找频繁集的过程。根据挖掘频繁项集的搜索策略可把现有算法分为:宽度优先搜索和深度优先搜索。宽度优先搜索自底向上地逐层搜索整个搜索空间,它首先得到频繁一项集,然后得到频繁二项集,最后才得到最长的频集。经典的宽度优先算法有Apriori算法(Borgelt&Kruse, 2002)、Apriori Tid算法(Lietal.,2005)和Apriori Hybrid(Agrawal&Shafer,1996)等。深度优先搜索逐个分枝对整个搜索空间进行搜索,常用的深度优先算法有FP-growth(Li etal.,2008),Eclat(Borgelt,2003)和Diffiset等。

4.回归算法

回归分析(Regression Analysis;Kleinbaum et al.,2013)来源于统计学上分析数据的方法,利用历史数据建立数学模型来预测连续事件的发生情况。回归算法可大致分为经典法和新型算法两类。其中,经典法假设回归函数由一系列有限参数所定义,而这些参数可从历史数据中计算出来。新型算法则对回归函数的具体形式无任何要求,理论上任何函数形式都是允许的。

一元线性回归和多元回归可统称为一般线性回归(ordinary linear regression),是最经典的回归算法。此外,常见的经典算法还有有序回归(ordinal regression;Herbrich et al., 1999)、泊松回归(Poisson regression;Zou,2004)、自回归模型(Autoregressive model,简称AR模型;Akaike,1969)等。新型回归算法则有基于神经网络的回归、高斯过程的回归和回归树等。神经网络解除了对回归模型形式的约束,往往有更好的预测精度。高斯过程的优势在于其能更精准地拟合回归函数,能提供预测的偏差程度。

5.数据分类

分类首先用一组带有类标标记的样本训练某个分类模型,然后用该模型对未知类标的样本进行分类。分类不同于聚类,前者需带标记的训练样本,是监督学习的一种。而后者不需事先标记训练样本,仅将一组样本按照距离远近分簇。

分类算法也可大致分为经典算法和新型算法,但在实践时还通常采用另外一种算法——集成方法来进一步提高分类的精度。逻辑回归(Logistic regression)也叫回归,但它其实可解决分类问题,之所以名字里有回归字样是因为它和线性回归几乎一样。唯一的区别是需在最后把回归算法预测的连续值转换为离散值。常用的分类算法有支持向量机(support vector machines;Hearst,1998)、核支持向量机(kernel SVM;Huetal.,2009)、决策树、K最近邻(K-Nearest Neighbor,KNN)算法(Keller et al.,1985)等。在数据挖掘实践中,很多人会组合多个前面讨论的算法,也就是使用集成方法(Ensemble methods;Diet-terich,2000)。集成方法的效果往往要好于单个算法,当然需消耗的时间也会增加。具体的算法有装袋算法(Bagging Methods;Greffe,1977)、随机森林(Forest of Randomized Trees;Rogezetal.,2008)、提升算法(boosting methods;Duffy&Helmbold,2002)等。

目前大多数回归和分类算法都是使用浅层的结构框架,如只有一层隐含层的神经网络、逻辑回归、支持向量机等。浅层模型下学习到的数据特征是简单的,其无法从海量数据中提取数据的复杂结构。相比之下,人脑在处理视觉数据时,脑皮层对物体的识别过程属于多层次处理。所谓深度学习就是指处理层次非常多(深),能挖掘不同层次对象特征综合分析和判别的方法。这是近年来数据挖掘和机器学习领域的一个新方向。深度学习可广泛应用于特征抽取、分类等。深度学习算法可细分为自动编码器、卷积神经网络(Convolution Neural Networks,CNN;Krizhevsky et al.,2012)、递归神经网络(Recurrent Neural Network, RNN;Mikolov et al.,2010)等。这些新型的深度学习模型在图像处理、序列数据挖掘、文本分析等各领域表现出卓越的性能,全面刷新了已有的技术水平。

12.2.4 信息安全技术

信息安全技术就是为防范计算机网络硬件、软件、数据偶然或蓄意破坏、篡改、窃听、假冒、泄露、非法访问和保护网络系统持续有效工作的措施总和。海底观测系统的核心是各类数据的采集、处理、访问,和传统模式不同,借助互联网技术,未来的数据访问和应用是开放式的。一个安全的数据网络可让海底观测系统采集的数据快速有效地分发到各类用户,且保证核心业务的完整、有效。

1.网络安全

海洋观测系统利用互联网联系所有外部实体。这种访问的目的是使信息传播机制简单而流畅,执行多种业务功能,并提供对系统和数据的远程访问。互联网采用的TCP/IP协议最基础的功能就是实现计算机之间通过网络来传输数据的方法。而防火墙则是为了控制主机与网络之间的TCP/IP数据包传递。实际上,TCP/IP协议是由一组在OSI模型的各层中执行不同功能的协议或程序组成的。在TCP/IP中将独立的数据块组成数据包,然后每一层在数据包上添加不同的包头,以实现在网络中传输数据。根据现有的防火墙技术,防火墙从包头中获取信息从而制定访问控制决策。如果防火墙是基于应用层的,也叫应用网关,也可根据载荷或其中的部分内容来决定数据包的流向。

防火墙是内部网络和不可信任网络之间的第一道防线。应根据具体的保护对象来考虑防火墙的部署,从而使得网络环境达到合适的防护水平。现如今防火墙所要做的事远不只是简单地对外部网络流量的阻断(例如TCP或UDP端口)。由于应用程序变得越来越复杂和自适应性,为了控制这些应用程序,防火墙也变得越来越复杂。防火墙应至少具备几个功能,分别是应用感知、精确的应用程序指纹识别、细粒度应用程度控制和带宽管理。

虚拟专用网(VPN)目的是提供一条安全的网络通道,通常是通过互联网的专用隧道。要达到这个目的,需将传输内容封装在含有目的路由信息的数据包包头中,这些信息有助于将所传输内容送达目的地。传输内容通常也会进行加密处理,这样能保证数据的完整性、机密性和可认证性。

2.系统可靠性

核心系统的可靠性对海底观测系统的意义十分重大。如果在某个重要时刻系统不能访问,可能会带来数据不一致甚至是数据丢失。提高系统可靠性的一个有效办法是冗余系统。

对于关键业务系统,一般采用集群的方式来提升可靠性。集群的方式是通过双机或更多的机器,借助集群软件来提升系统的可靠性。但其中一台机器设备发生故障时,由另外一台设备来接替故障设备的工作。最理想的状况,是无缝切换,但在实际工作中往往做不到,有各种原因会导致系统切换不成功。此外,有时候也会导致在不该切换时候的误切换,这都会降低系统的可靠性。

较之集群,容错具有更高的可靠性级别。容错系统从整体上可视为一台机器,由两套独立硬件系统构成,受时钟锁步系统控制,在相同指令周期内执行同一条指令。容错系统特有的ASIC(Application Specific Integrated Circuits,专用集成电路)故障检测系统将对CPU、内存、芯片组、磁盘、I/O等部件的处理结果进行比对,相同执行下一步,不相同则重新计算。容错系统不仅可有效应对硬件故障,还可避免各种不可预知的因素,如电磁干扰、尖峰脉冲等对可靠性的影响,避免潜在的计算错误所导致的风险。因此对于关键业务应用,应选择具有更高可靠性的系统。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈