书城经济智慧城市技术推动和谐
3148900000011

第11章 数据存储与数据挖掘(3)

3.3.3云存储的支撑技术

从上文云存储结构模型可知,云存储系统是一个多设备、多应用、多服务协同工作的集合体,它的实现要以多种技术的发展为前提。

1.宽带网络技术

真正的云存储系统是一个多区域分布、遍布全国、甚至于遍布全球的庞大公用系统,使用者需要通过ADSL、DDN等宽带接入设备来连接云存储,而不是通过FC、SCSI或以太网线缆直接连接一台独立的、私有的存储设备上。只有宽带网络得到充足的发展,使用者才有可能获得足够大的数据传输带宽,实现大量容量数据的传输,真正享受到云存储服务。

2.Web2.0技术

Web2.0技术的核心是分享。只有通过Web2.0技术,云存储的使用者才有可能通过PC、手机、移动多媒体等多种设备,实现数据、文档、图片和视音频等内容的集中存储和资料共享。Web2.0技术的发展使得使用者的应用方式和可得服务更加灵活和多样。

3.应用存储技术

云存储不仅仅是存储,更多的是应用。应用存储是一种在存储设备中集成了应用软件功能的存储设备,它不仅具有数据存储功能,还具有应用软件功能,可以看作是服务器和存储设备的集合体。应用存储技术的发展可以大量减少云存储中服务器的数量,从而降低系统建设成本,减少系统中由服务器造成单点故障和性能瓶颈,减少数据传输环节,提供系统性能和效率,保证整个系统的高效稳定运行。

4.集群技术和网格技术与分布式文件系统

云存储系统是一个多存储设备、多应用、多服务协同工作的集合体,任何一个单点的存储系统都不是云存储。云存储是由多个存储设备构成的,不同存储设备之间需要通过集群技术、分布式文件系统和网格计算等技术,实现多个存储设备之间的协同工作,使多个存储设备可以对外提供同一种服务,并提供更大更强更好的数据访问性能。如果没有这些技术的存在,云存储就不可能真正实现,而只能是一个一个的独立系统,不能形成云状结构。

5.CDN内容分发、P2P技术、数据压缩技术、重复数据删除技术、数据加密技术

CDN内容分发系统、数据加密技术保证云存储中的数据不会被未授权的用户所访问,同时,通过各种数据备份和容灾技术保证云存储中的数据不会丢失,保证云存储自身的安全和稳定。

6.存储虚拟化技术、存储网络化管理技术

云存储中的存储设备数量庞大且分布在不同地域,如何实现不同厂商、不同型号甚至于不同类型(如FC存储和IP存储)的多台设备之间的逻辑卷管理、存储虚拟化管理和多链路冗余管理是一个巨大的难题,这个问题得不到解决,存储设备就会是整个云存储系统的性能瓶颈,结构上也无法形成一个整体,而且还会带来后期容量和性能扩展难等问题。

云存储中的存储设备数量庞大、分布地域广造成的另外一个问题就是存储设备运营管理问题。虽然这些问题对于云存储的使用者不需要关心,但云存储的运营单位却必须要通过切实可行和有效的手段来解决集中管理难、状态监控难、故障维护难、人力成本高等问题。因此,云存储必须要具有一个高效的类似与网络管理软件一样的集中管理平台,以实现云存储系统中所有存储设备、服务器和网络设备的集中管理和状态监控。

3.3.4云存储与云计算及网格计算的关系

云存储是在云计算(Cloud computing)概念上延伸和发展出来的一个新概念。云计算是分布式处理(Distributed computing)、并行处理(Parallel computing)和网格计算(Grid computing)的发展,是透过网络将庞大的计算处理程序自动分拆成无数个较小的子程序,再交由多部服务器所组成的庞大系统经计算分析之后将处理结果回传给用户。通过云计算技术,网络服务提供者可以在数秒之内,处理数以千万计甚至亿计的信息,达到和“超级计算机”同样强大的网络服务。

云计算可以认为是软件即服务SaaS、网格计算、虚拟化三个概念的结合体。虚拟化即基础设施的虚拟化(Virtualization),核心是传统已经成熟的集群技术和分区技术的结合。虚拟化目前还包括网络虚拟化(VPN)和存储虚拟化(SAN/NAS)等技术,与服务器虚拟化一起,构建为一个完整的计算资源虚拟化环境,在虚拟化管理系统的控制下,实现动态的可配置的智能系统。

网格计算(Grid computing)是一种计算能力提升的方式,其原理是依据并行计算理论,通过任务分解,将子任务分布式提交到其他服务器上运行,以获得更强大计算能力。网格计算的基础技术就是Web Services,通过任务分解为服务,这些服务可以在分布式的计算环境中,实现和设备无关的标准交互,并且通过服务的封装,可以实现并行的事务处理。应用场景:科学计算,天气预报,地震分析、地质勘探、石油勘探等;网格计算的特色是:重计算,弱流程,少交互,计算任务需要消耗大量的CPU计算系统开销。云计算是网格计算的另一种表现形式,是相似技术的两种表现形式。

云计算的平台技术主要是依赖于SOA,而SOA的主要实现技术体系也就是Web Serv-ices,因此云计算和网格计算的核心技术基础是相似的。云计算系统的建设目标是将运行在PC上、或单个服务器上的独立的、个人化的运算迁移到一个数量庞大服务器”云”中,由这个云系统来负责处理用户的请求,并输出结果,它是一个以数据运算和处理为核心的系统。

云存储是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。当云计算系统运算和处理的核心是大量数据的存储和管理时,云计算系统中就需要配置大量的存储设备,那么云计算系统就转变成为一个云存储系统,所以云存储是一个以数据存储和管理为核心的云计算系统。

与云计算系统相比,云存储可以认为是配置了大容量存储空间的一个云计算系统。从架构模型来看,云存储系统比云计算系统多了一个存储层,同时,在基础管理也多了很多与数据管理和数据安全有关的功能,两者在访问层和应用接口层则是完全相同的。

3.4数据挖掘技术概述

数据挖掘(Data Mining,DM)是从海量的、不完全的、有噪声的、模糊的、随机的数据中提取隐含在其中的、人们事先不知道的但又是潜在有用的信息和知识的过程。随着信息技术的高速发展,人们积累的数据量急剧增长,动辄以TB计,如何从海量的数据中提取有用的知识成为当务之急。数据挖掘就是为顺应这种需要应运而生并迅速发展起来的数据处理技术,它也是知识发现(Knowledge Discovery in Database)的关键步骤。

3.4.1数据挖掘的涵义与特点

近十几年来,人们利用信息技术生产和搜集数据的能力大幅度提高,大量的数据库被用于商业管理、政府办公、科学研究和工程开发等领域,并且这一势头仍将持续下去。大量的信息在给人们带来方便的同时也带来了一些问题:第一信息过量,难以消化;第二信息真假难以辨识;第三信息安全难以保证;第四信息形式不一致,难以统一处理。如何才能不被信息的汪洋大海所淹没,从中发现有用的知识,提高信息利用率呢?要想使数据真正成为企业的资源,只有充分利用它为企业自身的业务决策和战略发展服务,否则大量的数据可能成为包袱,甚至成为垃圾。因此,针对这种需求,数据挖掘和知识发现技术应运而生,并得以蓬勃发展,越来越显示出其强大的生命力。需要指出,数据挖掘技术它不仅是面向特定数据库的简单检索和查询,而且要对这些数据进行微观、中观乃至宏观的统计、分析、综合和推理,以指导实际问题的求解和发现事件间的相互关联,甚至对未来的活动进行预测。

从技术角度来看,一般认为数据挖掘是从大量的、不完全的、有噪声的、模糊的、随机的数据中,发现隐含的、未知的、有潜在应用价值的信息和知识的过程,也称之为数据开采。数据可以是结构化的、半结构化的和非结构化的,甚至可能是分布数据。发现知识的方法可以是数学的,也可以是非数学的;可以是演绎的,也可以是归纳的。发现的知识可被用于信息管理、查询优化、决策支持和过程控制等,还可用于数据自身的维护。因此,数据挖掘被认为是一门交叉学科,它把人们对数据的应用从低层次的简单查询,提升到挖掘知识,辅助决策支持的较高层次。

从商业角度来看,数据挖掘是一种新的信息处理技术,其主要特点是对数据库中的大量业务数据进行抽取、转换、分析和处理,从中提取辅助商业决策的关键性数据。目前,CRM(客户关系管理)是数据挖掘应用中一个比较集中的领域,其目的是使企业更好地、更有效地将资源分配给最希望得到它们的客户,以获得最大利益。另外,由于各部门业务自动化的实现,商业领域产生了大量的业务数据,这些数据不再是为了分析的目的而收集的,而是由于纯机会的商业运作而产生。分析这些数据也不再是单纯为了研究的需要,更主要是为商业决策提供真正有价值的信息,进而获得利润。但所有企业面临的一个共同问题是:企业数据量大,而其中真正有价值的信息却很少,只有从大量的数据中经过深层分析,获得有利于商业运作和提高竞争力的信息,才能提高企业的决策分析能力。因此,数据挖掘还可以描述为:按企业既定业务目标,对大量的企业数据进行探索和分析,揭示隐藏的、未知的或验证已知的规律性。

数据挖掘与传统的数据分析(如查询、报表、联机应用分析等)的本质区别是:数据挖掘是在没有明确假设的前提下去挖掘信息、发现知识。数据挖掘所得到的信息应具有先前未知、有效和可实用三大特征。先前未知的信息是指该信息是预先未曾预料到的,即数据挖掘是要发现那些不能靠直觉发现的信息或知识,甚至是违背直觉的信息或知识,挖掘出的信息越是出乎意料,就可能越有价值。在商业应用中最典型的例子,就是一家连锁店通过数据挖掘发现了小孩尿布和啤酒之间有着惊人的联系。

3.4.2数据挖掘系统与流程

1.数据挖掘流程

数据挖掘(DM)流程一般包括定义问题、选择数据、数据预处理、数据清洗和转换、选择相应的算法进行数据挖掘、数据挖掘的结果进行解释和评价等环节。

DM过程是多个步骤相互连接起来,反复进行人机交互的过程。

(1)选择:从数据集中选择一个或多个数据子集作为目标数据。

(2)预处理:去除噪声或无关数据,去除空白数据域,考虑时间顺序和数据的变化等。

(3)数据转换:找到数据的特征进行编码,减少有效变量的数目。

(4)数据挖掘:针对不同的挖掘目的,选择数据挖掘算法(如聚类、分类、回归等),并用所选取的挖掘算法产生有特定兴趣的模式。

(5)解释:解释某个发现的模式,去掉多余的不切题意的模式,转换某个有用模式为知识。

(6)评价:将这些知识放到实际系统中,查看这些知识的作用,或者证明这些知识,用预先可信的知识检查和解决知识中可能的矛盾。

2.数据挖掘系统

基于以上观点,给出了一个完整数据挖掘系统的结构示意图,主要由以下主要成分组成:

(1)数据库、数据仓库:由一个或多个数据库、数据仓库、电子表格或其他类型的信息库组成,可以在这些库上进行数据清理和集成操作。

(2)数据库或数据仓库服务器/管理系统:根据用户的数据挖掘请求,数据库或数据仓库服务器负责提取相关数据。

(3)知识库:是指领域知识,用于指导搜索,或评估结果模式的兴趣度。

(4)数据挖掘引擎:这是数据挖掘系统的主要部分,由一组功能模块组成,可以完成特征化、关联、分类、聚类、演变及偏差等分析过程。

(5)模式评估:通常使用兴趣度闽值过滤发现的模式,并与数据挖掘模块交互,以便搜索聚焦在有趣的模式上。不同的数据挖掘方法,可能使模式评估与数据挖掘引擎的集成程度不尽相同。

(6)图形用户界面:提供了月户和数据挖掘系统之间通信,允许用户与系统交互,指定数据挖掘查询或任务,提供信息、帮助搜索聚焦,根据数据挖掘的中间结果进行探索式数据挖掘。

此外,还允许用户浏览数据库和数据仓库模式或数据结构,评估挖掘模式,以不同的形式对模式进行可视化。

3.4.3数据挖掘的对象

根据信息存储格式,用于挖掘的对象有关系数据库、面向对象数据库、数据仓库、文本数据源、多媒体数据库、空间数据库、时态数据库、异质数据库以及Internet等,其中挖掘的对象主要是关系数据库。但随着数据挖掘技术的发展,逐步扩展到多媒体数据库、空间数据库、文本数据库、Web数据库等。