当前位置: 首页 > 软件架构 > 正文

SOA架构的云平台分析与设计

1 星2 星3 星4 星5 星 (2 次投票, 评分: 5.00, 总分: 5)
Loading ... Loading ...
baidu_share

空间数据挖掘(SDM)或空间知识发现,是从大量的空间数据库中抽取隐含的知识、空间关系或非显式存储在数据库中有意义的特征或模式。此技术在理解空间数据、获取空间与非空间数据间的内在关系具有重要意义。由于近年已经和正在积累大量与空间位置相关的空间数据,因此空间数据挖掘研究已成为当前急待研究的重要课题。

对SDM、GIS、SOA等技术进行了研究,设计了一种基于SOA架构、面向Web Service的空间数据挖掘平台——SpatialMiner。SpatialMiner以Web Service的方式为用户提供空间数据挖掘服务,从而大大降低了空间数据挖掘的使用难度,以一种耦合度极低的方式实现空间数据挖掘与第三方软件有效集成。

1. 空间数据挖掘与SOA架构

空间数据挖掘

所谓空间数据挖掘(Spatial Data Mining,SDM)指的是从空间数据库中抽取隐含的知识、空间关系或非显式地存储在空间数据库中的其它模式。它可以用来理解或重组空间数据、发现空间和非空间数据间的关系、构建空间知识库、优化查询等。

SOA软件体系架构

SOA是一种面向接口的软件构架,以接口定义开始,然后构建整个应用拓扑实施为一个接口拓扑、接口实现和接口请求。SOA是服务和服务用户之间的一种联系,通过一个充分的软件模型来代替和实现一个商务功能,通过一个接口来实现软件模型就是服务。SOA也是一种设计和构建松散耦合的软件解决方案的方法,松散耦合的解决方案能够以程序化的可访问的软件服务形式公开其业务功能,并使其他应用程序可以通过已发布的和可发现的接口来使用这些服务。通过应用SOA,一个企业可以使用一组分布式服务来构成并组织应用程序,并能通过重用企业自己的资产及其伙伴的业务功能来构造新的应用程序和修改现有的应用程序。WebH 艮务代表了面向服务的体系结构的一种实现,但并不能认为所有的SOA应用程序都是Web服务。

2. 系统分析与设计

系统功能分析

根据上述数据挖掘一般过程的描述,我们可以得出,一个数据挖掘系统需要完成的功能主要包括:挖掘数据的抽取,挖掘数据预处理,挖掘任务的定义与执行,挖掘结果模型的表示与应用。此外,作为一个可扩展及可二次开发应用的数据挖掘平台,还必须具备系统扩展的各种接口。

空间数据抽取功能 主要用于完成SDM所需数据的数据提取、空间分析、空间关系提取、空间属性提取等功能,其数据源为存于GIS中的空间数据库,数据格式包括SHP、 Person Geodatabase、SDEGeodatabase、栅格图、CAD等。用户可设置过滤条件,进行记录过滤,数据抽取结果时行GIS可视化显示,并根据挖掘任务的要求进行抽取结果的存取。

数据预处理功能 原始空间数据中存在噪音数据或空缺值,需要对其进行一定处理,否则可能对挖掘结果产生重要负面影响,甚至可能造成算法失效。接着对数据进行离散化或抽象化处理,连续属性离散化在数据挖掘中是一个很重要的问题。

该功能主要完成数据抽取模块所得数据的预处理,包括空缺值处理、数据离散化、属性约简、数据概化。

挖掘任务的定义与执行 该功能为系统的核心功能,客户首先对挖掘任务进行挖掘功能、挖掘算法等设定,然后系统根据设定对预处理后的数据进行挖掘,挖掘结果进行存储并进行可视化处理。

挖掘定义设置是一组用于构造或应用数据挖掘模型的输入参数集合,在我们的平台中包括了数据设置、功能设置和算法设置三类。数据设置确定挖掘任务的输入数据源、数值数据的离散化方法、丢失值及离群数据的处理方式等。功能设置指定了挖掘任务的功能类型以及相对应的属性被挖掘算法使用的方式。挖掘功能与挖掘算法的分离使得用户在指定挖掘结果类型的时候不必关心特定的算法。

挖掘结果模型的表示与应用 该模块完成的功能是数据挖掘结果模型的应用查询功能。应该说,该功能是一个相对独立的功能模块。要求该模块不仅能够应用查询通过我们的挖掘系统得到的结果模型,同时也以够使用其它挖掘工具得到的结果。如上所述,PMML是目前被广泛支持的结果模型表示规范,这就要求模型应用查询功能模块能够处理PMML格式表示的模型。因此,该模块的主要功能包括PMML模型的读取、PMML模型可视化、PMML模型的应用(如分类与预测)

构件设计,根据我们的设计思想,服务器端的核心对象将按照CBD设计方法进一步封装为构件(componet)。面向构件的设计要求设计构件的接口,将接口作为调用构件功能的途径,因此,在前面设计的类图基础上需进一步对公共或预暴露给客户的方法、属性进行接口抽象。

Web Service接口(Web Service Faqade层)在系统设计中,究竟要将哪些方法提供给客户端调用,即系统提供哪些Web Sefivee,是设计中的一个关键问题。在系统架构设计中我们增加了一个Web Service Facade层作为Web Service接口,里面封装了所有的Web Service定义,并根据这些定义生成WSDL文件。

Web Service设计。根据前面的设计,我们为客户端提供以下的Web Service,Web ServiceProvider是通过服务端的构件实现的,每个Service内包含了若干相关方法。空间数据集服务:GeoDatasetSvc,主要方法有:数据抽取ExtractData,获取数据集属性数GetAtt曲utesCount,获取数据实例数GetInstancesCount, 存储数据集PersistPhisicalDataset,此服务通过PhisicalDataset类相关方法实现。数据过滤器服务:DataFilterSvc,完成数据预处理,主要方法有:空缺值处理ReplaceMissingValuesFilter,数据离散化 Discretetizefiher,属性约简AttributeFiher,数据概化DataGeneralizeFiher。挖掘任务设定服务:DataMiningsettingSvc,主要方法有:设定挖掘功能MiningFunctionsetting,设定算法 MiningAlgorthmSetting,概念层次树设定Taxonomy Setting。数据挖掘服务:DataMiningSvc,主要方法有:挖掘任务执行MiningTaskExcute,挖掘任务取消 MiningTaskCancel。挖掘模型服务:MiningModelSvc类,主要方法有:创建指定类型的挖掘模型CreateModel(如 AssociationModel等),在PMML库中增加模型InsertToPMML,从PMML库中读取模型selectFromPMML,更新 PMMI。库中的大概Update ToPMML,删除PMML库中的模型DeleteFromPMML。

Web Service定义。以下是.NET平台下Web Service Faqade层中的“挖掘任务设定服务”(DataMiningSettingSer、rice)定义。

结束语

通过对面向对象、GIS、Web Service、SDM等多种软件技术进行了深入的研究与应用,最后将多种技术融合起来设计了“基于SOA的空间数据挖掘平台”。通过以上的研究与分析,完成了平台的设计,这是一个融合了Web Service、GIS、SMM技术的平台。文中提出并设计了一种基于SOA的SDM平台体系结构,设计了SDM的相关模块,设计了空间数据挖掘服务。

本文固定链接: http://www.chepoo.com/soa-cloud-platforms-analysis-and-design.html | IT技术精华网

SOA架构的云平台分析与设计:等您坐沙发呢!

发表评论