网格数据挖掘体系结构

2024-09-09

网格数据挖掘体系结构(精选11篇)

网格数据挖掘体系结构 篇1

1 空间数据网格的研究背景

伴随科学技术的发展, 人们对计算机计算能力、存储能力的要求越来越高。网格 (Grid) 正是伴随着互联网技术而迅速发展起来的, 产生于科学研究与合作中的新一代计算基础设施, 专门针对复杂科学计算的新型计算模式。这种计算模式是利用互联网把分散在不同地理位置的电脑组织成一个s“虚拟的超级计算机”, 这样组织起来的“虚拟的超级计算机”有两个优势, 一个是数据处理能力超强;另一个是能充分利用网上的闲置处理能力。简单地讲, 网格是把整个网络整合成一台巨大的超级计算机, 利用互联网把广泛分布的各种资源, 包括计算资源、软件资源、存储资源、数据资源、信息资源等连成一个逻辑整体, 在动态变化的广域分布的异构虚拟组织间实现资源共享和协同工作。

网格的五个主要应用领域:分布式超级计算、分布式仪器系统、数据密集型计算、远程沉浸和信息集成。

网格最早以集成异构计算平台的身份出现, 接着跨入多个领域, 逐步形成多种类型的网格, 包括数据网格 (Data Grid) 、信息网格 (Information Grid) 、知识网格 (Knowledge Grid) 等。数据网格负责容纳和提供对跨组织数据的协作访问能力。

信息网格是在计算网格的基础上, 利用数据挖掘、信息融合和搜索引擎等技术构建的。主要研制一体化的智能信息处理平台, 消除信息孤岛, 方便用户分布、处理和获取信息, 向用户提供“信息随手可得”式的服务。知识网格研究的侧重点是智能信息处理, 目标是如何消除信息孤岛和知识孤岛, 实现信息资源和知识资源的智能共享。

空间信息网格是当前空间信息科学研究的主要内容, 而空间数据网格作为空间信息网格的重要组成部分和虚拟系统的中间层, 在整个网格系统中起桥梁和纽带的作用。在科学研究领域和商业应用领域也越来越受到重视。

2 网格系统体系结构分析

网格技术代表一种先进的技术和基础设施, 它基于现有因特网技术、Web技术和高性能计算技术, 能够充分吸纳各种计算资源, 并将它们转化成一种随处可得的、可靠的、标准的同时还是经济的计算能力, 从而实现网络资源的共享和协同工作。

网格所关心的问题是直接访问随时间动态变化计算机、软件、数据和其他资源, 因此它具备解决资源与任务的分配和调度、安全传输与通信保障、人与系统以及人与人之间的交互等能力。经典的网格体系结构是五层沙漏结构, 它是一种抽象层次结构, 以“协议”为中心, 强调协议在网格的资源共享和互操作中的地位。通过协议实现一种机制, 使得虚拟组织的用户与资源之间可以进行资源使用的协商、建立共享关系, 并且可以进一步管理和开发新的共享关系。这一标准化的开放结构对网格的扩展性、互操作性、一致性以及代码共享都很有好处。

五层沙漏模型将网格划分为五层, 分别是构造层 (fabric) , 连接层 (connectivity) , 资源层 (resource) , 聚合层 (collective) 和应用层 (application) 。

五层沙漏模型中各层协议的数量是不同的, 对于最核心的部分, 由于要能够既实现上层各种协议向自身协议的映射, 同时实现自身协议向下层其它各种协议的映射, 使得核心协议在所有支持网格计算的地点都得到支持, 所以核心协议的数量不应该太多, 这样核心协议就形成了协议层次结构中的一个瓶颈, 使得模型结构呈现沙漏形状。在五层结构中, 资源层和连接层共同组成这一核心的瓶颈部分。

3 网格空间数据库系统的构建

空间数据网格作为空间数据共享与应用的技术体系, 空间数据库系统是它的一个重要组成部分。本节主要讨论网格数据库系统的基本概念、网格数据库的体系结构以及数据访问与集成服务。

3.1 基本概念

网格空间数据库系统实质上是在网格环境下的分布式的空间数据库系统, 研究网格环境下分布式的空间数据库系统的管理、协同和数据访问与共享。

Web环境下的分布式的数据库系统一般分为分布式数据库系统和联邦数据库系统。

分布式数据库系统是在分布式环境下实现一个经典的集成库, 它有一个全局概念模式, 各个节点只能通过这个全局模式访问其它节点的数据库。分布式数据库系统为用户提供了对多个数据库的透明访问, 即用户不用指明所要访问的数据库即可获取目标数据。但在很大情况下, 由于节点的异构性, 想要构造一个全局的数据库模式是不容易的。

3.2 网格数据库体系结构

建立网格数据库系统的基本原则是:以基于服务的方式访问已有的数据库;独立于各种数据库:与其他的Web服务和网格服务共存:与网格认证与授权机制相衔接。

网格数据库是网格技术与数据库技术的结合产物, 它的体系结构也必然遵循网格的五层沙漏模型:构造层、连接层、资源层、聚合层和应用层。

在构造层和连接层, 网格数据库的功能与一般的网格应用没有特别的区别。

在资源层, 网格数据库通过信息协议管理资源的结构和状态信息, 包括数据库的配置 (类型、性能) 、负载和使用策略等;通过管理协议磋商对资源的访问, 包括分配、预留、监视和控制。

聚合层的功能包括:协同分配、调度及代理服务, 比如一个数据库建立多个副本, O L T P在正本中执行, O L A P在副本中执行, 提高性能, 平衡负载;数据库复制服务, 优化数据库的访问性能, 以及用于负载平衡、灾难恢复;监视和诊断、故障恢复服务;元目录服务GUS, 由多个GRIS构成。

在应用层, 通过API/SDK访问汇聚层和资源层的服务, 调用Grid Database Service执行交易或查询、报表、数据抽取、装载等。

空间数据网格体系结构中对网格数据库的访问属于网格数据库应用层的服务。

3.3 数据访问与集成服务

客户端Client指一个网格服务或应用程序, 在空间数据网格中指数据的请求者。客户端从网格服务注册中心获取网格数据服务工厂的GSH (Grid Service Handle) , 并向网格数据服务工厂请求网格数据服务, 网格数据服务根据客户端的数据请求从数据库中获取数据, 并将数据返回客户端。

网格数据库服务注册 (Grid Database Service Registry, GDSR) 是一个永久服务, 为网格环境下的多个用户所共享。GDSR提供GDS (Grid Database Service) 和GDSF (Grid Database Service Factory) 的专门注册服务, 属于GRIS的一个接口, 通过查询GDSR, 可发现提供特定服务或功能或数据源的G D S F和GDS。

参考文献

[1]边馥苓, 朱国宾, 余洁.等地理信息系统原理和方法[M].北京:测绘出版社, 1996.

[2]李德仁, 关泽群.空间信息系统的集成与实现[J].武汉:武汉测绘科技大学出版社, 2001.

[3]龚建雅地理信息系统基础[M].北京:科学出版社, 2001.

网格数据挖掘体系结构 篇2

VISUAL BASIC提供的网格控制(Grid)主要是用来直观地输出数据,但不能输入数据,使用起来很不方便。能不能向网格中输入数据呢?笔者提出了两种解决方法,供大家参考:方法一:

改写网格的KeyPress事件,在每次有合法字符输入时,把Grid的Text项和输入字符连接。这种方法缺点是:一代码较复杂,需要处理各种ASCII字符信息;二是通过编程只能实现很少的编辑功能,如用退格键删除前一字符,用Del键删除所有字符;三是这种方法不能输入汉字,使用起来受到很大的限制。

方法二:

利用一文本框作为缓冲,实现编辑功能。当网格改变行列时,把网格当前行列的内容传递给文本框;当网格中有ASCII字符产生时,把输入焦点设置为文本框,并把输入的ASCII字符送给文本框;当编辑完文本框的内容时,按Enter键或TAB键,把文本框的内容送给网格的当前行列,并把输入焦点设置为网格。如下程序所示(其中Textl为文本框,Labell为标签,Gridl为网格):Option ExplicitConst EnterAsc=13Const TabAsc=9Private Sub Form-Load()Labell.Caption=”请输入”End SubPrivate Sub Gridl-KeyPress(KeyAscii As Integer)Text1.StFocusTextl.SelStart=0If KeyAscii<>EnterAsc And KeyAscii<>TabAsc ThenSendKeys Chr(KeyAscii)

End IFEnd SubPrivate Sub Gridl-RowColChange()

Textl.Text=Grid1.TextEnd SubPrivate Sub Text1-KeyPress(KeyAscii As Integer)If KeyAscii=EnterAsc ThenGrid1.SetFocusKeyAscii=0End IfEnd SubPrivate Sub Text1-LostFocus()

网格系统中的数据备份技术探讨 篇3

关键词 数据网格;数据备份;地震减灾

中图分类号 TP30 文献标识码 A 文章编号 1673-9671-(2012)052-0146-01

目前我国已经形成了地震预报、防御以及紧急救援的三大地震减灾体系,在一定程度上提高了社会抗灾减灾的能力,但是在实际工作中仍然存在很多技术性的问题需要解决,如何更加迅速地进行震情分析,就需要对数据进行实时、准实时地处理,以下通过对数据备份策略的分析,来具体阐述网格系统中的数据备份技术。

1 备份需求

在地震应用中产生的各种源数据,都是各个地区的地震台网监测站的测量仪器监测产生的,每天产生的这些数据都要进行规范处理之后存储入各地区的数据库当中,由于工作量大,利用远程数据访问处理降低效率,同时如果监测数据库出现了故障,将带来很大的影响,这就要求注重整个地震应用网的服务质量以及可靠性,其中一个有效途径就是建立数据故障发生之后的最快速恢复机制,即利用网格资源备份技术。因此,网格中资源进行备份能够提高系统的可靠程度。

2 备份策略

数据资源备份的备份策略一般是按照网格内数据资源的具体访问情况来记录某一时间段内数据访问的请求者分别是来自哪里,当数据资源的访问量达到一个阈值的时候,开始进行备份系统的备份处理。

2.1 资源定义

为了能够正确选定备份资源,在这里运用了量化资源属性的方式,从而使问题更加简化。

定义一:假设资源r1=,式中,Id是资源标志,

A ttrs是资源属性组{A ttr1,A ttr2,A ttr3},那么称r1具备A ttrs属性值的可量化资源。

定义二:假设资源r1与r2具有相同的A ttrs定义,那么r1和r2是对等资源。

定义三:假设资源r1与r2是对等资源,那么资源r2可以替代资

源r1。

2.2 备份资源的可靠性量化

确定备份策略的其中一个指标就是利用资源的可靠性,这需要首先确定量化备份资源的可靠性的方法。要想得到资源的故障率,需利用故障检测系统经过测试得到,一个资源的故障率越低,其可靠性就越高,因此这里将资源的故障率看作是测量系统的可靠性的根据。在某个系统中,假如包括资源集合R{r1,r2,…,rn},那么系统的故障率则是由R中的r1,r2,…,rn的光障率所共同决定的。根据集合论理论,备份资源集合的故障率是按照资源集合中的所有资源元素故障率的交集所得的。如下图所示,资源集合{r1,r2}的故障率是f(r1)f(r2)。

2.3 备份资源的选择

在进行备份处理的时候,首先应该明确选定候选备份资源;在选择的过程中,出于简化问题的目的,主要依照以上对于资源的定义,设定资源r1和资源r2对等,那么r1与r2可互为备份。

图1 地震数据源分布

图2 多个备份资源故障率集合

定义四 如果在资源集合里,资源r1与资源r2是对等资源,那么r1与r2是互为备份资源。

依照定义四,设计出算法一,对于候选备份资源集合,应该选择同源资源对等的资源,最终进行确定候选备份资源集合。

算法一:

输入参数:注册而得的资源集合和源资源r

输出参数:候选的备份资源集合Rt

2.4 备份资源的数量

这里主要研究根据系统的可靠性的指标进行确定备份资源数量。当预先设定的指标大于网格系统的可靠性指标的时候,备份系统就会利用增加备份资源这种方式进行提高网格系统的可靠性。根据以上的设定,设计出算法二,确定备份的数量。

算法二:

输入参数:资源的故障率需求为Fn,资源r当前的故障率为F,候选的备份资源集合Rt;

输出参数:备份资源的数量为Nr。

2.5 备份策略

1)根据算法一确定候选备份资源集合Rt°;2)根据资源的故障率的指标进行升序排列资源集合Rt°;3)根据算法二计算出备份资源的数量Nr°;4)将排序之后的资源集合Rt当中的前Nr个资源选取为备份资源集合;5)返回到备份资源集合。

3 备份管理系统

3.1 备份资源目录的管理

备份目录的作用是存储和记录源备份资源信息和目标备份资源信息,而要想获得这些资源的详细信息,就要进行网格的元数据目录的检索。对备份资源目录的管理可以对备份目录的信息进行维护,例如添加、删除和更新操作等。

对备份资源目录的管理还可以实现维护备份资源的目的,当用户在读取源文件的时候,备份资源目录的管理会依照备份目录内的记录去获取一个最佳的资源备份进行服务用户的访问。

3.2 备份处理器

作为备份管理系统中枢的备份处理器,对哪些资源是需要备份的,备份到哪些资源中等内容起了决定性的作用。备份处理器最初由系统监视器内获得系统的可靠性参数,之后对需要进行触发资源备份操作的数据进行判断;每当需要备份处理操作的时候,备份处理器可以对备份资源进行选取以及备份资源的数量进行确定,并能够利用资源传输协议进行实际资源备份。

3.3 系统监控器

如果网格环境下的网格资源出现故障,可以利用系统监控器来进行监控,主要利用其相应的监控系统来收集和分析网格资源信息。

4 应用

在实际的地震的监测应用中,地震监测台中的大量观测数据均分布于异构的网络环境下,这就需要对这些数据实行有效管理,这是目前面临的问题。所以,可以在地震减灾仿真网格系统中利用备份管理的模型来管理网格数据资源。

5 总结

以上内容主要论述了利用资源的性能来为数据备份策略提供根据的设想,通过对备份管理系统的研究,指出了网格系统中的数据备份技术,虽然我们的地震应用领域已经初步建立了减灾灭灾体系,但在实际工作中还存在着许多机构性的问题,所以本文分析了具体了网格系统的数据备份技术,这项技术接下来会在此研究基础上对系统进行完善,为我国地震领域提供参考。

参考文献

[1]苑宁萍.网络环境下企业信息系统数据备份技术研究[J].内蒙古科技与经济,2010,16.

[2]申新鹏,李战怀,赵晓南.基于日志的数据热备份的实现[J].微电子学与计算机,2011,04.

网格数据挖掘体系结构 篇4

网格(grid)是一种先进的计算机基础设施,是一种能带来巨大存储、处理能力和其他IT资源的新型网络。其具有以下特征;

1.1 共享性

网格是一个通过互联网技术将地理上广泛分布的的资源集成起来的基础设施,但是它的各类资源都可以被共享使用,一个网格用户可以同时访问多个网络资源,而且多个网格用户也可以同时访问同一个网络资源,因而在网格式化没有资源孤岛和信息孤岛;

1.2 集成性

网格可以将不同类型、不同管理平台、能力千差万别的计算机资源集成为一个有机的整体,以协调不同地理位置上的资源请求者;

1.3 协商性

网格支持资源的协商使用,资源请求者可以与资源提供者进行协商,协商资源的可用性、数据传输带宽、系统安全性、系统响应时间等各项指标,从而能达到满足个人的需要;

1.4 开放性

网格是一个开放式的系统,不论计算机资源本地采用什么样的管理系统和通信协议,只要其遵守网格的规则和协议,都可随时加入网格;成为网格用户,只需将网格设备接入网格就可以使用网格中的各种资源。对于资源提供者,网格随时允许资源的加入或退出。对于网格用户需求和技术有一定确定性、封闭性,但是其技术和系统却是开放的;

1.5 通用性

网格网络有专门的领域、专有的技术,对于每个网格用户,其网格技术通用。

2 网格体系结构

网格的核心技术之一就是网格体系结构,它是网格的骨架与灵魂,其主要是定义规范和如何构造网格的技术,也是建立网格最基本的需要。它通过描述网格的集成方式和各组成部分的关系,来刻画网格的运转机制和基本功能。截止目前,较大影响力的网格体系结构有三种,第一个是五层沙漏结构、第二个是开放网格服务结构OGSA(Open Grid Service Architecture),是Foster在结合Web Services提出的,第三个是Web服务资源框架WSRF(Web Services Resource Framework)。是2004年由IBM、HP等重大IT服务提供商提出的。

2.1 五层沙漏结构的特点是呈沙漏状,是一种影响力十分广泛

的结构。五层沙漏模型自顶向下分别是应用层、汇聚层、资源层、连接层和构造层。应用层位于虚拟组织中,主要是给不同虚拟组织提供一个解决所面临的问题的方案,其由任一层定义的服务构建;汇聚层建立在资源层和连接层形成的瓶颈上,主要功能是解决资源间的共享问题,将下层单个资源集中起来;资源层调用构造层提供的资源访问接口,实现资源控制和访问;连接层制定了通信及认证协议,是为下层的物理资源之间能相互联系和通信,使得单个资源不再孤立,并且提供了消息加密机制,主要用于辨别用户和资源的身份;构造层直接与底层资源打交道,通过管理底层资源,从而向上层提供一个访问这些资源的统一接口,来屏蔽资源间的异构性。

五层沙漏模型且层次清晰,它的思想是以协议为中心,来强调服务与API和SDK的重要性。但该结构并没有对具体协议的定制做充分说明,既没有提供完整的协议,也没有指定严格的规范,而只是定义了该结构中各部分组件的通用要求,而形成这些组件间的层次关系。每一个上层组件都可建立在任意一个底层组件之上,同一层的组件具有相同的特性,每一层的API都是与特定服务交换协议信息的具体实现。根据各个组成部分与底层共享资源之间的距离不同,共享资源的使用及操作功能被分散在沙漏结构的各个层上,越往下越接近物理上的共享资源,与特定资源的相关成分就越多;相反,越向上层,越无法感知到特定资源的细节特征。

2.2 OGSA是在五层沙漏结构的基础上,结合Web Services技

术提出的一个面向服务的体系架构。其通过定制很多网格标准协议使得网格成为一个开放系统。在OGSA框架中,一切资源都被看作是服务,这样能够采用统一的标准来管理及访问网格资源。OGSA架构由下到上依次为资源层、web服务层、基于OGSA架构的服务层和网格应用层。在OGSA架构中,资源层是整个体系结构的中心,可划分为两层:物理资源层和逻辑资源层。物理资源层包含了存储器、服务器及网格。逻辑资源层为了提供额外的功能,对物理资源层进行虚拟化及聚合。在Web服务层,OGSA利用如XML、WDSL等Web服务机制并且以Web Services为基础,从而使Web服务的定义得到进一步的扩展。OGSA架构的服务层,是基于Web服务层及OGSI基础设施而建立的。随着数据服务、程序执行、核心服务等新架构服务的出现,将不断提高OGSA基于SOA思想架构的可用性,基于网格架构的服务的开发,从而加快了新型网格应用程序的不断出现,这些新型网格应用程序就构成了OGSA架构中的网格应用层。

2.3 WSRF是对OGSI的继承与发展,它解决了OGSI中Web服

务不能满足网格服务动态创建以及销毁的需求,保留了OGSI的核心功能,解决了OGSI将资源建模成有状态的Web服务。它将资源标识为有状态的,服务是无状态的,而在一种无状态的Web服务中,能使用到其有状态的资源,这些采用了与网格服务完全不同的定义。

3 结束语

通过网格技术,我们可以有效的、充分的利用网络资源。网格是一门新兴技术,己引起人们的广泛关注。网格有利于充分整合、调度、共享和管理现有资源,它将会不断加速科学研究、提升竞争力,从而全面提升整个社会的生产力水平。

摘要:网格是利用互联网把地理上分散的计算资源、存储资源、数据资源、知识资源等资源连接起来,形成一个逻辑整体,就像一台超级计算机。消除资源“孤岛”,实现资源共享。本文首先对网格的定义、网格的特征进行描述,再对网格的体系结构进行详细解析,这样可以对网格有一个详尽的认识,最后对网格计算的应用做了阐述,以促进网格研究。

关键词:网格,网格技术,网格计算

参考文献

[1]赵秀芳.网格技术及应用[期刊论文].兰台世界,2006,(05).

[2]施伯乐.数据库教程[M].北京摘要:人民邮电出版社,2004.

网格数据挖掘体系结构 篇5

多措并举将“社会管理治安防控网格化体系”

有效融入“社区网格化管理”工作

XXXXX在“社会管理治安防控网格化体系建设”工作的基础上,与辖区派出所民警多措并举,坚持“一切为了群众,一切依靠群众,从群众中来,到群众中去”的群众路线,切实将此工作融入到“社区网格化管理”中去。全面提升有效控制、整体协作的能力水平,努力创建“五无”社区,使群众安全感提升、社会平安和谐。

一、搭建网格化管理平台:

1、强化社区基础建设。在社区内设置“警民互动栏”,为网格内居民提供社区治安状况发布、治安防范建议以及举报、投诉、求助等服务。

2、网格化社区服务窗口。由派出所社区民警担任社区副书记的同时,在每个第二级网格中设立便民服务点、法制教育宣讲站,社区网格内民警除了日常的治安巡逻,户口查询,户籍登记等工作,还要经常性地开展相应的集中服务活动。

3、充实网格内群防群治队伍。把“群防群治”队伍建设作为创建平安和谐网格的重要环节,通过实施聘请制、定期联系制,积极在各网格内热心群众、志愿者中发展“群防群治”队伍,进一步拓展“群防群治”队伍的覆盖面。

二、实施网格化管理连心工程:

1、管理连心。将社区民警与第三级网格长的联系协作作为一项重要内容纳入“社区网格化管理”日常工作中,通过建立联席例会制度、网格维稳责任制、网格矛盾纠纷联合调处机制、网格信息共享机制等,进一步推动“社区网格化管理”工作,营造整体联动的工作氛围。

2、居民连心。积极探索实践“网格管理、群众路线”的网格工作路径,着力打造群众互动、合作协商的工作模式,全面提高网格群众对社区民警、网格长的熟悉率和对社会治安的满意度。使每一个网格真正成为社区管理服务的基本单元。制作了一批网格化服务七彩连心卡,悬挂张贴在各个网格区域内,并发放给辖区居民群众,方便辖区居民和网格工作人员之间的沟通联系,且能更好更全面掌握辖区内政治、经济、文化、社会等各项活动情况,对片区内的“人、地、物、情、事、组织”做到底数清、情况明、了如指掌。如我街道XXX社区有一个间歇性精神疾病患者XX,犯病时有暴力倾向,附近居民通过七彩连心卡联系上了社区民警XX,在得知这一消息后,XX主动与其进行了对接,常与其谈心,经常半夜三更还要接他的电话,换来的就是XX日益稳定的情绪,犯病次数越来越少。

3、单位连心。深入辖区各公共单位,积极开展走访活动,广泛征求对网格化管理的意见和建议,并深入到各公共单位中,开展法制宣传等活动。同时,在辖区30余家公共

单位,每个单位建立至少一名联络员,进一步完善公共单位矛盾纠纷排查及群体性事件快速反应等机制,积极疏导化解矛盾纠纷,加强自防自治。

三、开展网格化管理活动:

1、谈心活动。各社区民警与三级网格长通过定期集中宣传、阵地宣传,与网格内公共单位联络员、群防群治队伍进行面对面地交流,切实营造了广大群众共同参与、关心、支持“社区网格化管理”工作的良好氛围。社区网格化管理开展以来,已组织开展电信诈骗防范宣传、青少年暑期安全教育等为主题的谈心活动。

2、互动活动。为构建和谐社区,定期开展“警民互动现场办公”活动,将办公室“搬到”网格中去,与社区群众、公共单位一起互动,着力解决基层的突出问题,推进社区网格化管理工作扎实有效的开展。

3、评选活动。实施网格化管理民情日记制度,积极开展领导点评、优秀评选等活动,并在年底针对网格化管理民情日记记载的服务群众、为民解难等服务事例集中进行网格化管理为民实事评选,进一步激发民警和第三级网格长参与“社区网格化管理”工作的热情。

XXXXX

网格数据挖掘体系结构 篇6

1 引言

在气象领域,全国有八个气象区域中心,物理化置分布在不同的城市,这些区域中心分别建设有高性能汁算系统,为全国的气象部门的气象业务提供计算和数据存储能力。随着高性能汁算机技术的进步,我们应该有效的整合利用这些区域巾心现有的高性能计算资源,搭建气象网格环境CMA Grid[,以提高气象作业运行过程中的资源利用率和效率。

1 引言

在气象领域,全国有八个气象区域中心,物理化置分布在不同的城市,这些区域中心分别建设有高性能汁算系统,为全国的气象部门的气象业务提供计算和数据存储能力。随着高性能汁算机技术的进步,我们应该有效的整合利用这些区域巾心现有的高性能计算资源,搭建气象网格环境CMA Grid[,以提高气象作业运行过程中的资源利用率和效率。

1 引言

网格环境下数据集成模型研究 篇7

英国e-science核心项目OGSA-DAI[2,3]是数据库网格研究领域的代表作,OGSA-DAI是一种数据访问和集成的中间件平台,它主要实现了对多种数据库的服务化访问,使得数据库能够用网格服务的形式对外共享数据。利用这些服务,虽然可以使客户端通过统一接口对不同的数据资源进行访问,但没有真正实现对异构数据源的数据集成[4]。另外,在网格环境下,如何对分布异构的数据资源动态的组成一个虚拟数据库以完成一个特定任务、如何解决虚拟数据库对分布异构的数据资源信息了解匮乏的问题,这些都需要做进一步研究。本文在详细分析了基于Web Service的OGSA架构[5]和OGSA-DAI的构架、内部流程的基础上,给出一个基于OGSA-DAI的数据集成模型,该模型用于解决网格环境下异构数据源数据集成和分布式查询处理的问题,并且在此基础上利用元数据管理来解决客户端对异构分布的数据资源信息了解匮乏的问题,从而在网格环境下为用户提供一种直观的、可视化的虚拟数据库视图环境以及高度透明的分布式查询环境,以便于上层用户透明地使用。

1 网格环境下数据集成的关键技术研究

1.1 网格环境下数据源的访问和集成

图1给出了OGSA-DAI对数据源访问的执行流程。

OGSA-DAI提供了数据存取和集成的基本的接口,还提供了扩展性机制,从而可以向OGSA-DAI添加更多的用户定义的服务。客户端发送执行文档给数据服务,执行文档中描述了需要数据服务资源执行的活动,这些活动可以包括对数据源的查询、更新、数据转换、数据传递操作。然后,数据服务把执行文档转交给代表实际数据源的数据服务资源。数据服务资源对执行文档进行解析并执行指定的活动。当活动是对数据源执行一个SQL查询语句时,数据服务资源创建描述请求结果的响应文档,其中包含了执行本次查询的结果集。最后,把响应文档通过数据服务返回给客户端[2]。

目前,数据集成方法主要分为模式集成方法、数据复制方法以及综合型集成方法。模式集成的基本思想是在构建集成系统时将各数据源的数据视图集成为全局模式,使用户能够按照全局模式透明地访问各数据源的数据。联邦数据库和中间件集成方法是两种比较典型的模式集成方法。数据复制方法是将各个数据源的数据复制到与其相关的其它数据源上,并维护数据源整体上的一致性。比较常见的数据复制方法是数据仓库方法。综合型集成方法是把上述两种方法综合起来使用,以突破两种方法的局限性[6]。在本文中使用综合型集成方法来完成数据集成,由于各个异构数据源的元数据相对比较稳定,同时客户端对各个异构数据源的访问比较频繁,故客户端元数据库采用数据复制方法把各个异构数据源的元数据进行集成。客户端对异构数据源数据的访问,考虑到被集成的系统规模可能比较庞大且数据更新频繁,所以可采用中间件集成方法在全局模式下进行集成。

1.2 利用元数据对数据进行管理

元数据是关于数据的数据。在OGSA-DAI提供的查询服务中,对描述数据资源的元数据信息进行了内省,这样虽然不必专门对元数据进行管理,却使得描述数据资源的信息匮乏。用户在事先不知道数据源的情况下,需要多次与数据源进行交互才能得到数据内容。所以我们在模型的用户应用层和数据集成层之间建立了一个元数据库,该数据库中存放了所有已注册数据库的基本信息、数据库中的所有表信息和字段信息。同时,我们在用户应用层也建立了一个元数据管理模块来负责对各个分布、异构的数据源的元数据信息进行收集、发布和维护。有了这种配套机制,用户可以很方便地了解到各个数据库的信息以及表的结构、字段的类型、表间的关系等信息,并给分布式查询优化带来很大的方便。

1.3 分布式查询处理的设计、分解和优化

网格环境下分布式查询处理最大的特点是自适应性,它必须能充分利用并行计算能力和网格资源动态演化的特性[7]。在OGSA-DAI中,提供了基本服务接口,实现与存储资源之间的交互,对物理数据资源进行统一访问。对于用户来讲,关心的是通过一种简单、方便的机制去得到他想要的数据,不关心网格环境下分布式查询的复杂性,更不会主动地把分布式查询人工的分解为多个对单库的查询。所以在网格应用中,分布式查询操作应该在动态组成的虚拟数据库中进行,从而屏蔽不同关系数据库及其运行结点的异构性[8]。本文中采用网格服务和元数据服务来为客户端用户提供SQL查询服务,用户对虚拟数据库的操作可以像操作一个真实的数据库一样来进行。

2 网格环境下数据集成模型设计

本模型是基于OGSA-DAI中间件进行设计的,是建立在OGSA-DAI对网格环境下异构数据源的访问能力之上的。为了实现用户透明的访问网格环境下的异构数据源,可通过查询客户端本地元数据库中存储的异构数据源的元数据信息,把客户端的查询请求分解、优化为多个对单数据源的子查询请求。然后把各个优化后的子查询分派给OGSA-DAI执行,待OGSA-DAI执行完后,由数据合成模块接收OGSA-DAI执行的各个查询的结果,并利用本地临时数据库作为缓存,按照查询计划合成结果,并把合成结果返回给客户端,客户端利用本地元数据库和查询计划构建出虚拟数据库视图供客户端用户使用。图2是基于本模型设计的体系结构图。

2.1 数据层

通过OGSA-DAI访问的各种数据资源,本模型中主要包括了各种关系型数据库,例如:My Sql、IBM DB2、Microsoft SQL Server、Oracle、PostgreSQL。

2.2 支撑环境层

该层是本模型的网格支撑环境,提供的网格接口包括资源发现与管理、通知机制和网格服务生命周期管理、用户认证和授权、容错、安全等,由Globus Toolkit实现。OGSA-DAI模块负责以网格服务的形式对各种不同数据库的访问,这些服务包括GDSR(网格数据服务注册)、GDSF(网格数据服务工厂)、GDS(网格数据服务),利用这些服务实现数据源的注册、发现、定位、访问及结果的返回。

2.3 数据集成层

该层是本模型的核心层,集成了下述多个核心功能模块。

(1)分布式查询分解、优化模块对用户提出的SQL查询语句进行分析、分解、优化以形成一个或多个对单库的SQL查询语句。在此通过对本地元数据库的交互来完成查询计划的生成,并利用优化算法决定那些查询应该先做,那些应该后做。

(2)子查询分派模块把当前分解出的子查询分派给OGSA-DAI执行,并提供当前各个子查询执行状态的查看接口。子查询的执行和状态查看是间接地通过OGSA-DAI提供的服务来完成。例如:GDSR服务可使应用程序动态找到欲访问数据库,通过GDS服务的相应活动可以得到当前的执行情况。

(3)数据合成模块负责接收OGSA-DAI执行的各个查询结果,并利用本地临时数据库作为缓存,按照查询计划和所涉及的元数据库信息来进行结果的合成。

(4)元数据抽取模块负责从指定数据库中提取元数据,该功能的实现是通过扩展GDS服务来实现,提取之后,进行格式转换并由元数据管理模块完成对元数据库的更新。

(5)数据格式转换模块OGSA-DAI执行查询后,返回包含了查询结果的响应文档。该文档中的结果集是以XML格式来进行描述的,需要在本模块完成XML格式到行集的转换。

(6)数据库自动发现和注册实现局域网内或域内带有某些特征或授权的数据库的自动发现和注册。但一般使用手动注册的方式完成数据库注册和元数据的提取工作。

(7)数据集成总控制器负责与用户应用层的交互,如:接收SQL查询、发送结果集,并协调各个组件的交流和执行过程。

2.4 用户应用层

完成虚拟数据库视图环境的构建,查询结果的显示、元数据的管理。

(1)数据显示模块负责虚拟数据库视图的建立,以及用户结果的显示与转存,还包括用户SQL查询的保存与传递。结果的显示分为两种,一种是Table格式,另一种是XML格式

(2)元数据管理模块负责建立和维护元数据。包括元数据格式定义和表示、插入新注册数据库的元数据、更新元数据、删除元数据,以及向GDSR订阅元数据变动通知。通知是OGSA-DAI提供的一个服务,当数据库元数据有变动时,该模块能够及时得到消息并做出相应处理。

(3)本地SQL查询语句解析器位于数据显示模块和元数据库之间的一个中介模块,负责解析构建用户视图时的SQL语句。SQL查询语句往往涉及到多个数据库的查询,此处利用本地元数据库来实现SQL语句的解析,避免了访问远程数据库所造成的耗时。

3 工作流程

分布式查询和数据集成的工作流程如图3所示:

(1)从数据显示模块接收用户的SQL查询命令,分布式查询分解、优化模块与元数据库交互,确定要访问的数据库及其对象是否可用,然后,对查询任务进行分解、优化以形成高效的一个或多个子任务。最后把子任务提交给子查询分派模块。

(2)子查询分派模块按照子任务的接收顺序依次进行执行。期间,可以通过指定的服务查询各个子任务的执行情况。

(3)子查询分派模块现在充当了OGSA-DAI的客户端。客户端与GDSR通信,查找满足需求的服务工厂。

(4)把满足要求的服务工厂的GSH(网格服务句柄)返回给客户端。

(5)客服端可以查询GDSF的配置信息,调用Create Service()方法来创建GDS实例。

(6)GDSF创建GDS实例,并把该实例的GSH返回给客服端。

(7)用户把客户端生成的执行文档(其中包含了要执行的SQL语句,格式为XML)交付给GDS实例。

(8)连接数据库Database1,并将查询结果返回给GDS实例

(9)把处理结果以响应文档的形式发送给数据合成模块。

(10)同样的过程,可以访问Database2,并把结果也返回给数据合成模块。

(11)把XML文档转换成行集(或表的形式),并在数据合成模块合成数据,期间,可能需要暂存数据。

(12)把合成的结果传递给显示模块显示或转存。

4 结束语

本文介绍了网格环境下数据集成的关键技术,详细论述了如何在网格环境下利用OGSA-DAI进行数据集成,给出了模型的体系结构和实现方法,阐述了其工作流程,并利用与客户端元数据库交互的方式解决了用户对目标数据库信息了解匮乏的问题。

摘要:基于OGSA-DAI给出了一个用于解决网格环境下异构数据源数据集成和分布式查询处理的数据集成模型,在此基础上利用客户端元数据库解决了用户对目标数据库信息了解匮乏的问题,从而为用户的分布式查询处理提供了一种直观透明的、可视化的虚拟数据库视图环境。

关键词:数据集成,OGSA-DAI,元数据,网格计算

参考文献

[1]Foster I,Kesselman C.The grid2:blueprint for a new computing infras-tructure[M].Morgan Kaufmann,2004.

[2]OGSA-DAI WSRF2.2User Guide[EB/OL].http://www.ogsadai.org.uk/documentation/ogsadai-wsrf-2.2/doc/

[3]Atkinson,M.,Karasavvas,K.,Antonioletti,M.,Baxter,R.,Borley,A.,Chue Hong,N.,Hume,A.,Jackson,M.,Krause,A.,Laws,S.,Paton,N.,Schopf,J.M.,Sudgen,T.,Tourlas,K.and Watson,P.A new Architecturefor OGSA-DAI[EB/OL].http://www.ogsadai.org.uk/documentation/presentations/NewArchitecturePresentationAHMSep05MPA.pdf,2005-09-27.

[4]蒋明亮,傅秀芬,侯文国,肖树腾,李志清.基于OGSA—DAI的数据集成模型研究[J].微计算机信息,2006(11X):204-206,214.

[5]I.Foster,H.Kishimoto,A.Savva,D.Berry,A.Grimshaw,B.Horn,F.Maciel,F.Siebenlist,R.Subramaniam,J.Treadwell,J.Von Reich.The Open Grid Services Architecture,Version1.5[EB/OL].http://www.ogf.org/documents/GFD.80.pdf,2006-09-05.

[6]陈跃国,王京春.数据集成综述[J].计算机科学,2004,31(5):48-51.

[7]M.R.Martinez,N.RoussPoulos.MOCHA:A Self-extensible Database Middleware System for Distributed Data Sources.Porceedings of the ACM SIGMOD International Coneference on Management of Data[C].IEEE Press,2000(3):213-214.

网格体系结构综述 篇8

20世纪90年代中期, 在电力网的概念中引申出的“网格 (Grid) ”的出现, 被人们称为第三代互联网, 它为人们提供了信息系统建设的全新视角和体系结构理念。网格是利用互联网把分散在不同地理的异构、动态变化的各种资源包括计算资源、存储资源、带宽资源、软件资源、数据资源、信息资源、知识资源等连成一个逻辑整体, 整合成一台超级计算机, 为用户提供一体化信息和应用服务、虚拟组织, 最终实现资源共享和协同工作, 彻底消除资源“孤岛”。

网格体系结构就是关于如何建造网格的技术描述。它给出了网格的基本组成与功能, 描述了网格各组成部分的关系以及它们集成的方式或方法, 刻画了支持网格有效运转的机制。合理的网格体系结构是建立良好网格的核心, 只有建立合理的网格体系结构, 才能够设计和建造好网格系统, 才能够使网格更加高效更加有效地发挥其作用。

1 网格体系结构

现在主流的网格体系结构主要有三个:第一个是Ian Foster等人在早些时候提出的五层沙漏结构;第二个是在以IBM为代表的工业界的影响下, 考虑到Web技术的发展与影响后, Ian Foster等结合五层沙漏结构和Web Service提出的OGSA (开放网格服务体系结构) ;第三个是由Globus联盟、IBM和HP于2004年初共同提出的WSRF (Web服务资源框架) 。

1.1 五层沙漏体系结构

在五层沙漏体系结构中, 最基本的思想就是:以协议为中心的体系结构, 强调协议在网格资源共享和互操作中的地位, 强调服务与API和SDK等的重要性。五层沙漏结构的设计原则是:

(1) 要保持参与的开销最小, 即较少的核心协议, 提供一些核心服务为基础, 类似于OS内核, 以方便移植。

(2) 沙漏结构管辖多种资源, 允许局部控制。

(3) 可用来构建高层的、特定领域的应用服务, 支持广泛的适应性。

(4) “IP hourglass”model。

五层沙漏结构根据该模型中各组成部分与共享资源的距离, 将对共享资源进行操作、管理和使用的功能分散在五个不同的层次, 越向下层越接近于物理的共享资源;越向上层就更加抽象共享资源的表示, 就不需要关心与底层资源相关的具体实现等问题。

五层体系结构由构造层、连接层、资源层、汇聚层和应用层。如图1所示。沙漏形状是这种结构的一个重要的特点。其内在的含义就是各部分协议的数量是不同的, 对于其最核心的部分, 要能够实现上层各种协议向核心协议的映射, 同时实现核心协议向下层各种协议的映射, 核心协议在所有支持网格计算的地点都应该得到支持, 因此核心协议的数量不应该太多, 这样核心协议就形成了协议层次结构中的一个瓶颈。瓶颈是由资源层和连接层共同组成的, 形成了沙漏形状的结构。沙漏核心的思想和微内核的操作系统进行类比, 即操作系统只实现一些关键的基本功能, 而把大量与特定设备有关和与应用有关的部分来完成。

下面对五层的功能特点分别进行简单描述。

(1) 构造层的基本功能就是控制局部的资源, 包括查询机制 (发现资源的结构和状态等信息) 、控制服务质量的资源管理能力等, 并向上提供访问这些资源的接口。

(2) 连接层的基本功能就是实现相互的通信。它定义了核心的通信和认证协议, 用于网格的网络事务处理。通信协议允许在构造层资源之间交换数据, 要求包括传输、路由、命名等功能。

(3) 资源层的主要功能就是实现对单个资源的共享。资源层是建立在连接层的通信和认证协议之上, 定义的协议包括安全初始化、监视、控制单个资源的共享操作、审计以及付费等。

(4) 汇聚层的主要功能是协调多种资源的共享, 它涉及资源的共性, 而不是资源的具体特征。

(5) 应用层是在虚拟组织环境中存在的, 关心的是如何解决不同虚拟组织的具体问题。每一层都定义了协议, 以提供对相关服务的访问, 这些服务包括资源管理、数据存取、资源发现等。

1.2 开放网格服务体系结构 (OGSA)

开放式网格体系结构 (OGSA) 是一种基于网格服务的分布式交互和计算体系结构, 用来确保异构系统间的互操作性, 使不同类型的系统可以相互通信、共享信息。网格技术和Web Service技术是OGSA包括两大关键技术, 它是在五层沙漏结构的基础上, 结合Web Service技术提出来的, 解决了两个重要问题——标准服务接口的定义和协议的识别。

OGSA最基本的思想就是以“服务”为中心, 在OGSA中一切都是服务。在OGSA框架中, 将一切抽象为服务, 包括各种计算资源、存储资源、网络、程序、数据库等等, 简而言之, 一切都是服务。五层模型的目的是要实现对资源的共享;而在OGSA中则要实现的是对服务的共享。

网格技术 (如Globus软件包) 和Web Service是OGSA的两大支撑技术。①Globus是一种基于社团的、开放结构、开放源码的服务的集合, 也是支持网格和网格应用的软件库。学和工程计算领域广泛接受的网格技术解决方案。②Web Service是一种标准的存取网络应用的框架。XML协议相关的工作是Web Service的基础。Web Service中几个比较重要的协议标准是SOAP、WSDL、WS-Inspection、UDDI。

OGSA符合标准的Web Service框架。Web Service解决了发现和激活永久服务的问题, 但是在网格中有大量的临时服务, 因此OGSA对Web Service进行了扩展, 定义了网格服务的概念, 网格服务是一种Web Service, 该服务提供了一组接口, 这些接口的定义明确并且遵守特定的管理, 解决服务发现、动态服务创建、生命周期管理等问题。简单地说, 网格服务=接口/行为+服务数据。图2是网格服务体系结构的简单描述。

OGSA以服务为中心的网格体系结构具有如下优势:

在OGSA中一切都是服务, 通过一组相对统一的核心接口, 所有的网格服务都基于这些接口实现, 可以很容易地构造出具有层次结构的、更高级别的服务, 这些服务可以跨越不同的抽象层次。

网格的虚拟化可以使得将多个逻辑资源实例映射到相同的物理资源上, 在对服务进行组合时不必考虑具体的实现, 可以底层资源组成为基础, 在虚拟组织中进行资源管理。通过网格服务的虚拟化, 可以将通用的服务语义和行为, 无缝地映射到本地平台的基础设施之上。

1.3 Web服务资源框架

Web服务资源框架 (Web Service Resource Framework, WSRF) 提供了一种利用Web服务建模和访问有状态资源的通用开放框架。WSRF标准包括一套平等, 互操作和有标准组件的规范, 使得定义和实现一个Web服务以及整合管理多种服务变得更加简易化。

引入Web服务资源框架的Web服务规范, 它们通过具体的消息交换和相关的XML定义描述了Web服务资源方法。这些规范使得程序员能够声明和实现Web服务与一个或多个具有名称的类型化状态组件之间的关联集, 这些状态组件称为Web服务资源。它们描述了一些定义Web服务资源以及将Web服务资源与Web服务接口的描述相关联的方式。它们还描述了如何使Web服务资源可以通过Web服务接口进行访问, 并且定义了与资源分组和寻址有关的机制。这个框架提供标准化定义的五个独立规范文档之间的相互关系。这五个文档是:Web服务资源特性、Web服务资源生命周期、Web服务可更新引用、Web服务服务组和Web服务基本故障。

WSRF采用了与网格服务完全不同的定义:资源是有状态的, 服务是无状态的。为了充分兼容现有的W e b服务, WSRF使用WSDL 1.1定义OGSI中的各项能力, 避免对扩展工具的要求, 原有的网格服务已经演变成了Web服务和资文档两部分。WSRF推出的目的在于, 定义出一个通用且开放的架构, 利用Web服务对具有状态属性的资源进行存取并包含描述状态属性的机制, 另外也包含如何将机制延伸至Web服务中的方式。

WSRF是一个服务资源的框架, 一个具有五个技术规范的集合, 它们根据特定的Web服务消息交换和相关的XM定义来定义了Web服务资源方法的标准化描述。在表1中结了这些技术规范。

WSRF规范是针对OGSI规范的主要接口和操作而定义的, 它保留了OGSI中规定的所有基本功能, 只是改变了某语法, 并且使用了不同的术语进行表达。表2给出了从OG to WSRF:重构和演化。

WSRF使Web服务体系结构发生了以下两点演化:提供了传输中立机制来定位Web服务;提供获取已发布服务的信息机制集, 具体的信息包括WSDL描述、XML模式定义和使用这项服务的必要信息。

和OGSA的最初核心规范OGSI相比, WSRF具有以下七个方面的优势:

(1) WSRF使用了不同的结构模型一个状态资源和一个Web服务, 更具有表达性, OGSI采用了同一种结构模型化态资源作为一个Web服务 (支持Grid Service Porttype) 。

(2) WSRF更具有表达性, Many services-to-Many Resources, OGSI的模式在WSRF均可以表达。而在中是One-to-One。

(3) 在OGSI中不能使用现有的Web服务工具, WSRF采用了标准XML Schema, 融入Web服务标准, 在目前的开发环境下, 使其实现更为简单。

确了其目标是允许Web服务操作对状态资源进行管理和操纵。

(5) OGSI中的Factory接口提供了较少的可用功能, 在WSRF中定义了更加通用的WS-Resource Factory模式。

(6) OGSI中的通知接口不支持通常事件系统中要求的和现存的面向消息的中间件所支持的各种功能, WSRF中规范弥补了上述的不足, 从广义角度来理解通知机制, 状态改变通知机制正是建立在常规的Web服务的需求之上。

(7) OGSI在一个定义中, 没有清晰的功能划分, 以支持增量的发展;WSRF将OGSI v1.0功能分成一个可合成定义的家族, 明确具体任务中所需的组件, 在WSRF中通过将功能进行分离, 使之简化并拓展了组合的伸缩性。OGSI中太多的“面向对象”, WSRF将服务和服务操作的状态资源明确区分开。

对于WSRF而言, 其规范还需在实践中逐步丰富完善。基于OGSA和WSRF的服务网格平台和规范协议, 将最终成为下一代互联网的基础设施, 所有的应用都将在网格的基础平台上得以实施。当然也有一些非主流网格体系结构, 如基于代理的网格体系结构、基于对象模型的网格体系结构等。

2 结束语

网格体系结构是网格的骨架和灵魂, 是网格技术中最核心的部分。本文通过对三种主流网格体系结构的讲述, 有利于建立一个网格的整体性认识, 有利于更好地把握网格的核心技术和整体特征, 它对设计和开发高效实用的网格系统提供基础。随着时间的推移, 网格体系结构和网格技术会更加成熟和发展。

参考文献

[1]网格体系结构概述.http://www.ibm.com/developerworks/cn/grid/gr-fann.2006.

[2]都志辉, 陈渝, 刘鹏.网格计算[M].北京:清华大学.2002.

[3] (美) Ian Foster, Carl Kesselman The Grid2:Blueprint for a New Computing Infrastructure Morgan Kaufmann.2006.

[4]刘鼎鼎.网格体系结构及其Portal应用研究[J].电子科技大学.2006.1.

[5]桂小林.网格技术导论[M].北京:北京邮电大学出版社.2006.

[6]赵念强, 鞠时光.网格计算及网格体系结构研究综述[J].计算机工程与设计.2006.

网格数据库事务管理策略 篇9

事务管理是传统数据库的关键技术之一[3],同样网格数据库要能充分发挥其协同处理能力,它也离不开事务管理。在相关的研究中人们已经对多数据库系统的事务管理进行了系统的研究[6,7],虽然网格数据库与多数据库在某些方面有类似之处,但是网格数据库的分布地域以及节点数据库的协同处理能力是多数据库系统无法比拟的,也正是由于网格数据库的特殊运行环境网格平台,使得网格数据库的事务管理与其他数据库的事务管理有着不同。本文对网格数据库的事务管理进行了深入研究,给出了网格数据库全局事务与局部事务的概念,并作了相关形式化定义,为了保证全局事务的正确执行,网格数据库全局事务必须串行化,我们给出了网格数据库全局事务串行化的条件,并进行了相关证明。

1网格数据库的事务形式化模型

1.1网格数据库中的全局事务与局部事务

网格数据库由运行于网格平台上的节点数据库和网格平台一起组成,这些节点s1,s2,…,sn上的数据库独立且具有自治功能。网格数据库将在网格环境中所有节点数据库提供的功能服务化,充分利用网格的优势,提供多个数据资源协同工作。一个应用发出请求的时候,网格平台管理系统根据整个网格环境的运行状况,选择合适的一个或多个节点数据库提供的一个服务或多个服务来完成该项请求任务,并返回结果。假设现有一个服务请求Ti,就某一个节点数据库无法来完成或者是为了提高执行这个服务请求的速度,需要网格环境中的多个节点数据库共同完成该项请求(在网格环境中,只要有空闲的服务就提倡充分使用该服务),可将这个服务请求分解成Ti1,Ti2,…,Tin,让网格环境中的所有服务一起来共同完成某个或者某些服务请求。我们称Ti1,Ti2,…,Tin为网格数据库的全局事务,且Ti1,Ti2,…,Tin称为事务Ti的子事务。如果服务请求Ti在网格数据库中由某个节点数据库所提供的服务就能完成,称Ti为局部事务。网格数据库的全局事务与局部事务的关系如图1所示。

1.2网格数据库事务形式化模型

为了给出网格数据库的事务形式化模型,先引入几个操作符:

Ω:事务所有读、写操作的集合。Ω(Ti)表示事务Ti中所有读、写操作的集合;

Θ:完成事务操作所需数据库服务的集合。Θ(Ω(Ti))表示事务Ti中所有读、写操作完成所需要的数据库服务的集合;

Ψ:事务所有读、写、提交、回退操作的集合。Ψ(Ti)表示事务Ti中所有读、写、提交、回退操作的集合。

根据网格数据库中全局事务和局部事务的说明,下面给出与网格数据库事务形式化模型有关的形式化定义。

定义1 节点数据库组成网格数据库的每一个自治的数据库均被称为一个节点数据库。存放在场地i的DBMS中的节点数据库的数据集记为LDBi,网格数据库的数据集用GDB表示。

定义2 局部事务提交给场地j中DBMS(记为DBMSj)的事务Ti是一个局部事务,如果Θ(Ω(Ti))⊆LDBi。在DBMSj上所有局部事务记为undefined,GDBS中所有局部事务记为:

undefined

定义3 一个事务是全局事务(GTi),当且仅当

(i)Θ(Ω(GTi))⊆GDB;

(ii)∀LDBkΘ(GTi)⊄LDBk。

定义3表明全局事务所完成的任务请求,不是由一个节点数据库所提供的服务能完成的。全局事务是所有节点数据库上子服务对应的子事务的并集。

2网格数据库全局事务的串行化

由前面的内容可知,网格数据库中的一个事务操作同样是由一组读写操作组成,事务的结束同样也是以提交或放弃为标志,这些读写操作分别用ri、wi来表示。在某个节点sk上的局部调度用Sk来表示,这个局部调度是由一组在节点sk上执行的局部和全局事务组成。

定义4 如果局部调度Sk包含一个wi操作,在它之后执行的是rj操作,并且在rj执行之前Ti不放弃,我们称事务Ti关于操作wr与事务Tj冲突。如果事务Ti关于操作rw、wr、或者ww与事务Tj冲突,我们说事务Ti与事务Tj冲突。

定义5 对于事务Ti、Tj∈Sk,如果Ti、Tj在调度Sk中冲突,且Ti在调度Sk中提交,那么在Ti提交前Tj不提交,则称调度Sk是严格可恢复调度。它们的调度次序是Ti先于Tj。

对每一个全局事务,全局事务管理器(GTM)首先选择一个能够执行相关局部事务的节点数据库,然后根据这些局部事务执行时是否有冲突来决定该事务是接受、延时还是放弃。由于节点数据库的自治性,可能会出现有的局部事务提交,而有点的局部事务回滚,使得全局事务执行无法得到正确的结果。为了保证结果的正确性,一个比较通用的方法就是实现局部事务的全局可串行化调度。

下面来考虑一个网格数据库系统。如图2所示根据网格数据库全局事务和局部事务的定义,我们知道,这里的事务T1、T2是全局事务,T3、T4是局部事务。在节点s1上的数据库中有数据项a和b,节点s2上的数据库中有数据项c和d。全局事务T1、T2分别定义如下:T1:r1(a)r1(c);T2:r2(b)r2(d)。

节点上的局部事务T3、T4分别定义如下:T3:w3(a)w3(c);T4:w4(b)w4(d)。

假定事务T1在事务T2执行和提交之后执行和提交,那么在两个节点上将产生两个局部调度S1和S2,调度次序分别如下:

S1:r1(a)c1w3(a)w3(b)c3r2(b)c2

S2:w4(c)r1(c)c1r2(d)c2w4(d)c4

最后的结果是,在节点s1上事务T1发生在事务T2之前,节点s2上事务T1发生在事务T2之后,因此事务的全局串行化得不到保证。

为了能够维持网格数据库中事务的全局串行化,我们给出下面的定理。

定理1 对一个网格数据库系统,假设每一个节点数据库上的局部调度都是严格可恢复调度,那么如果网格数据库的全局服务请求(全局事务)所产生的全部子服务(局部事务)像在节点sk上的局部调度Sk一样,存在一个全局的调度次序,那么这些全局事务是可串行化的。

证明 假设这些全局事务不可串行化,并且在每个节点上存在一个全局的调度次序,那么对将在节点sk上执行的全局事务Ti、Tj来说,事务Ti在事务Tj前提交,那么事务根据定义6知,Ti的调度次序先于Tj。又因为每一个节点上局部调度是严格可恢复调度,所以所有的全局事务T1,T2,T3,…,Tr一定存在这样的一个环,事务T1在节点si1上的调度次序先于T2,事务T2在节点si2上的调度次序先于T3,等等,事务Tr在节点sir上的调度次序先于T1。现研究节点sij上的事务Tj和Tk,如果事务Tj先于Tk,则在总的调度次序中Tj先于Tk。因为节点sij上的事务Tj先于Tk,根据定义5知,节点sij上的调度是严格可恢复调度,所以在节点sij上Tj在Tk执行前提交,那么它们在总的事务调度次序中Tj先于Tk。同理可得在总的事务调度次序中T1先于T2,T2先于T3,…,Tr先于T1。这说明全局事务T1,T2,T3,…,Tr是全局可串行化的。

下面我们用一个有向图来表示网格数据库中的全局事务执行过程。

定义6 网格数据库中任意一个全局事务执行过程用一个有向图来表示,它是一个四元组,G=(GT,LT,E),其中:

1) GT是全局事务的集合;

2) LT是局部事务的集合;

3) E是符合下列条件的边的集合:

i) 连接GT中全局事务顶点的边集。对于任意的两冲突的全局事务GTi,GTj∈GT,如果GTundefined,GTundefined分别为全局事务GTi,GTj在节点sk上的局部子事务,那么存在一条从GTi到GTj的E边;

ii) 如果E是连接GT和LT中顶点的边集。对于任意的两提交给节点数据库DBMSk的冲突事务Tki和Tkj,那么边集E中可以包括全局事务顶点间、局部事务顶点间、全局事务顶点与局部事务顶点间的边集。

定理2 网格数据库的事务是可串行化的,当且仅当它的全局事务和局部事务所构成的事务图中无环存在。

证明 1)先证明充分性。即网格数据库的事务图边集E没有环存在,网格数据库事务是可串行化的。因为事务图没有环存在,则由定义可得,对局部事务一定是可串行化的。对事务图中与全局事务相关的点也无环存在,不失一般性,假设全局事务集GT={GT1,GT2,…,GTn},因为无环存在,可对GT1,GT2,…,GTn进行拓扑排序,现假设拓扑排序结果为GTi1,GTi2,…,GTin(i1,i2,…,in是1,2,…,n的一个排列),根据前面的假设,可得网格数据库事务执行过程(GP’)是GTi1,GTi2,…,GTin的一个串行执行的事务经历。将事实上的网格数据库事务执行过程设为GP,下面我们来证明GP≡GP'。设任意两冲突操作p,q,如果p∈GTi,q∈GTj,且p

2) 再证明必要性。即网格数据库事务执行过程是可串行化的,证明事务图中边集无环存在。假设事务图中边集存在全局事务环,设为GTi1,GTi2,…,GTin,…,GTi1,设事务串行执行过程为GP,则由定义可得,∃p∈GTi1,∃q∈GTi2,p在q之前执行,由串行执行的定义得,在GP中,GTi1中所有操作均在GTi2之前执行,以此类推有GTi1的所有操作均在GTin之前执行,同时GTin的所有操作均在GTi1之前执行,这是不符合事实的,因此事务图中无环存在。下面来讨论事务图中边集仅存在局部事务环的情况,设为LT1,LT2,…,LTi,…,LT1,这个环说明存在事务LTi,事务LTi-1有操作在LTi之前执行,且事务LTi也有操作在LTi-1之前执行。而每一个局部事务执行过程均认为是可串行化的,那么LTi和LTi-1应该是全局事务,如果不是这样,那么局部事务执行过程是不可串行化,这与局部事务执行过程串行化矛盾。当LTi和LTi-1为全局事务时,那么又回到刚刚的证明上去了。所以事务图中也应该无局部事务环存在。

3结束语

网格数据库作为一个新兴的研究方向刚刚起步,需要研究和解决的问题还很多,本文主要是从事务管理的角度出发,将网格数据库中的服务事务化,当作事务来进行管理,并对网格数据库中的全局事务和子事务进行了定义,并给出了有关事务的形式化定义。为了保证事务执行结果的正确性,提出了保证事务正确执行的相关定理,并加以证明。今后我们的研究工作是进一步改进和完善网格数据库系统的事务管理理论体系,提高事务管理的效率,研究网格数据库事务管理的算法实现,并在实际系统的开发中加以实现。

参考文献

[1] Foster I,Kesselman C,Tuecke S.The anatomy of the grid.International Journal of Supercomputer Applications,2001,5(3):200-222.

[2]Fedak G,Germain C,Neri V,et al.XtremWeb:Ageneric global compu-ting system.In:Proceedings of the 1st IEEE/ACMInternational Sympo-sium on Cluster Computing and the Grid,2001:582-587.

[3]Breitbart Y,Silberschatz A,Thompson G R.Reliable transaction man-agement in a database system.In Proceedings of ACM-SIGMOD 1999International Conference on Management of Data,Atlantic City,NewJersey,1999:215-224.

[4]Breitbart Y,Georgakopolous D,Rusinkiewicz M,et al.On rigorous trans-action scheduling.IEEE Transaction on Software Engineering,1991.

[5]Elmagarmid A K,Du W.A paradigm for concurrency control in hetero-geneous distributed database systems.In Proceedings of the Sixth In-ternational Conference on Data Engineering,1998.

[6]Lu Zhengding,Yang Yuping,Li Changlei,et al.Maintaining consistencyin multidatabase systems[J].Journal of Computer Research&Develop-ment,2001,38(2):157-162.

网格环境下教学资源元数据管理 篇10

“网格”(Grid)一词来源于人们熟悉的电力网(PowerGrid)。[1]网格是利用互联网将地理上广泛分布的各种资源连成一个逻辑整体[2],就像一台超级计算机一样为用户提供一体化信息和应用服务,最终实现在这个虚拟环境上进行资源共享和协同工作,彻底消除资源孤岛,让人们使用网格上的资源像用电一样简单。基于对网格重要性的认识,2003年4月,教育部启动了中国教育网格计划(China Grid),中国教育科研网格是迄今为止由政府推出的最宏大的网格工程[3],该项目由12所大学联合推出。教育部希望利用网格技术将网上的教学资源有效地聚合起来,实现网上教学资源的广泛共享,为中国高等院校(特别是部分研究型大学)的科学研究提供先进的计算手段。

目前,教育网格研究方向和任务主要集中在提供一种通信管理的网格平台或架构,重点在网格计算能力上。[4,5,6,7]而对于教学与研究人员关注使用的基于网格的教学资源管理及其在网格环境中的深层次应用方面没有太多的研究。为屏蔽不同课程内容上的多样性和差异性,将知识点作为原子资源,并采用元数据进行描述,原子资源间的结构和逻辑规律遵循人的认识规律和教学规律,采用统一的模式进行结构化存储和管理。在此基础上,可以开发教学资源库,提供资源搜索、资源共享、资源组织管理等功能。

教学资源库建设规划

教学资源主要是指教学过程中教师和学生使用的课程资源,可以理解为教学过程中的软资源。教学资源的元数据可分为两个层次:直接对教学资源进行描述的元数据,称为教学资源信息ERI(Education ResourcesInformation);对教学资源的组织目录进行描述的元数据,称为教学资源目录信息ERII(Education ResourcesIndex Information)。其中ERII根据资源规模可抽象为多个层次。元数据是指描述数据的数据,是指与业务技术过程及企业使用数据有关的所有物理数据以及包含知识的信息,是指来自企业内外所有(软件或其他介质含有的)物理数据和(员工和各种媒介中含有的)知识,包括物理数据的格式、技术和业务过程、数据的规则和约束以及企业使用数据的结构。教学资源中的元数据是指描述教学资源的类型、规格、属性、联系、约束等信息的数据。教学资源库建设规划如下。

(1)提取教学资源知识单元,结合教学资源本身及其应用的特点,确定元数据的基本数据结构。知识单元是教学资源中可应用于交流使用并能完整描述一个知识点的最小单元。目前在知识单元划分上还没有具体的规范标准。一般由课程专家和教学专家参照教育部课程建设规范中的要求对教学资源进行三级划分,将划分得到的第三级资源作为知识单元进行管理,并向上逐层扩展,得到相应层次的粗粒度资源。

(2)构建教学资源目录树。目录树从根节点开始,包含一个对其所有数据的层次视图,并提供基于树形的搜索系统。教学资源目录信息ERII根据资源规模可抽象为多个层次。按照目前的惯例和一般使用情况,将课程资源按内容及其关系,划分成大的章,章内再划分小节,小节中又可包含若干更细分的知识单元。这种结构可以看作是教学资源目录信息ERII的外在显现,即教学资源目录树。

(3)教学资源服务。在教学资源使用过程中,系统存在三种角色:资源提供者、资源管理者、资源消费者。资源消费者是指教师或学生,他们提出资源消费请求,包括对资源质和量上的要求;资源管理者即资源中介,是系统管理中心,主要管理ERI或ERII,并根据资源消费者提出的请求进行必要的计算,反馈消费者信息,满足其需求;资源提供者是教学资源存储中心,主要负责资源的存储,并按接收到的指令为消费者提供相关资源。按照信息流动的不同方式,分析他们之间的工作模式,相应地设置层次代理结构。将资源与其元数据适当分隔存储管理,在资源服务时采取资源信息处理和资源实体传递两条线的方式,减轻资源代理的负担,平衡网格环境的负载,有利于提高系统的整体性能。

关键技术

1.元数据结构设计

本文拟采用的元数据基本结构如右表所示。

需要说明的是,该元数据结构根据教育部课程教学及大纲规范要求,结合本学科方向课程及教学实践,以及资源管理和软件开发的需要,并综合其他相关因素形成。

2.教学资源目录树构建

目录树是指存储有关网络资源信息的特殊数据库,把网络环境中的各种资源都作为目录信息,在目录树结构中分层存储、访问、管理和使用。目录树将分布式系统中的用户和资源,以及其他对象统一组织起来,提供一个单一逻辑视图,允许用户透明地访问网络上的资源。一个由目录树支持的网络系统是一个集成、网络化、统一的系统,而不是各个独立功能部分的简单聚合。

目录的内容称为对象类(ObjectClass)和项(Entry)。对象类描述什么信息可存储在目录中,而项把相关信息组合在一起,也可以理解为对象为抽象约束,项为信息内容。ERI之上的ERII逐层抽象或封装生成,下层的ERII是上次ERII的一个项,这是逐层递归或递推的过程,因此它们采用一致的管理操作方式,软件算法具有可复用性。元数据信息采用数据库方式存储,方便检索管理,而资源本身仍以文件方式存储于磁盘。为了管理的方便和统一,资源库的物理存储与资源管理的目录树结构基本保持一致。通过目录树方式记录存储教学资源数据信息,与资源库本身的层次结构(树型结构)相统一,同时也与Internet及各种管理中的层次结构相一致,为教学资源管理提供方便,易于使用现有技术手段进行管理。

3.教学资源服务

在教学资源库中,资源建设是基础,资源管理是关键,要对资源进行深层次的应用,就需要对资源进行规范化建设和管理。资源提供者对资源进行存储、传输等控制管理,资源的搜索、协调传输等任务主要由资源管理者完成。网格资源管理的目的是有效调度、管理、配置可利用资源,将实际上的异构环境转换成一个虚拟的同构环境。基于网格的教学资源管理是网格资源管理的进一步延伸,需要完成资源寻址和定位,找到特定的教学资源。教学资源本身也属于网格资源的一部分,教学资源节点与网格节点也是统一的。在基于网格的教学资源管理中,选择基于代理的网格资源管理方法,满足教学资源访问中的结构关系,能够方便地搜索到资源及资源信息所在的服务器,与Internet和网格层次管理结构一致,而且层次化的代理体系也有利于系统的维护和管理。代理系统在用户和资源之间架起了一座桥梁。基于网格的教学资源体系,通过代理的方式将异构、分布的大型教学资源库中的资源进行提取共享。通常一个资源请求任务被派分给一组Agent,这些Agent根据被请求资源特征,在构造层各计算节点间自主地移动,寻找资源信息,获得资源服务,完成自身的任务,满足用户在广域范围内对教学资源的个性化请求。代理结构由三部分组成,如下图所示。

上面是用户(消费者),提供资源服务请求;下面是资源提供者,提供教学资源;中间是代理服务系统。消费者通过就近代理(或网格结点)提出资源服务请求,代理通过当前获得的资源信息ERI以及资源目录信息ERII,进行分析计算,并根据结果将请求任务分发到相关的代理,进一步处理;最后根据获得的教学资源分布信息,按照一定的模式交付给用户。

结束语

浅析网格数据库的访问与查询技术 篇11

网格是继传统互联网、Web之后第三个大浪潮,可以称之为第三代互联网应用。而数据库在网格环境下的应用,必定带来数据的大量传输、某些数据操作只能在特定节点执行等问题,还有网格环境本身固有的高度异构性(节点执行的快慢不同、网络连接速率不同等,此外对数据库来说,很可能没有一个统一的逻辑视图),这都给数据库的查询带来了新的问题。

目前有很多关于数据库查询方法的研究,一般情况下很多都是针对同构的网络结构。本文就是针对高度异构的网格环境,提出一种数据库系统的查询原型。

2. 网格数据库访问与查询的设计思想

数据库网格查询系统体系结构采用网格组件构架的方式进行设计,参照开发网格服务体系结构OGSA的思想,将元数据管理、分布式查询都抽象为服务,在OGSA-DAI的基础服务和组件的基础上对原有的系统功能进行扩展和完善,提出网格数据库访问与查询系统的原型。网格数据库访问与查询系统功能服务结构表示如图1所示:

本系统由以下几个部分组成:

(l)资源层。资源层包括广域分布的计算资源、存储资源、网络、程序、数据库、仪器设备等[1]。本文中的资源层只涉及网内的多个异构数据库。

(2)网格基础接口和数据集成接口层。网格基础接口包括元数据管理、资源发现与管理、通知机制和网格服务生命周期管理等;数据集成接口层包括数据发送、数据格式转换、数据存储、数据库查询等,这些数据集成接口实现数据库的连接和数据的具体集成过程。

(3)OGSA-DAI基础服务层。这层包括服务组注册器GSR、网格数据服务工厂GDSF、网格数据服务GDS。

(4)用户服务层。是指用户根据自身系统的特性和要求,利用OGSA-DAI提供的接口构建的自定义的服务,实现对异构数据库的管理。

3. 网格数据库访问与查询的实现

3.1 访问与查询内部表达的实现

因为原型基于的OGSA-DAI是用Java语言实现的,所以为了方便调用其功能和便于移植,把SQL查询语句转化为内部表达,我们用类来表达查询语句:

因为查询命令中的列名数量和条件等都不是固定的,所以用Vector来存放,上面的数据targetColumnList、tableList、columnList的元素都可以直接用Java里面的String来表示,布尔变量isNested指出是否是一个嵌套查询;int变量nested Condition指出查询中所用的嵌套表达式的编号。

有了这个内部表达之后,就很容易检查用户输入的表名的合法性了,这个可以通过MDS得到相应的信息。完成分析之后,为了便于下一步的处理,要对表名、属性做一个简单的变换,因为用户给出的表名和属性可能是建立在真实表名之上的虚拟表名。这个变换比较简单,只要查询相应的MDS元数据就可以了。

3.2 分配访问与查询的实现

得到访问与查询的内部表达式之后,就可以把它们分配到访问与查询执行模块执行。有两种情况比较简单:第一,如果访问与查询中涉及的所有表都只是属于一个真实数据库,那么,只要把这个查询直接发到这个此数据库对应的查询执行模块就完成了,不需要作查询的分解;第二,如果访问与查询中的一般条件表达式里面都没有涉及到表与表的连接操作,那么只要分别把每个嵌套子查询依次发到相应的真实数据库对应的查询执行模块,上层查询接受返回结果继续完成这一层的查询,如此反复直到最上层的查询得到完成为止。后面的这种情况比较复杂,涉及访问与查询的数据库是多个,而且表与表之间有连接操作,这时就不能简单地把访问与查询分配到相应的真实数据库就行了,因为这时查询执行模块之间一定要有数据的交换以完成连接操作,这时分配程序要提供给查询执行模块足够的信息,让其可以配合完成连接操作。

访问与查询执行模块负责执行从查询任务分解模块发过来的查询子命令,然后通过CDSF创建CDS访问真实的数据库。因为查询操作是嵌套的,父查询只能在子查询层查询完成之后才可以开始执行,所以在这里,接到父查询的查询执行模块或者在连接操作中负责合并结果的主控模块。分配子查询的过程如下:

把nestedQuery的结果返回地址设成当前模块;

检查tableList,从MDS得到信息,取出每个表名发到对应的执行模块;

把当前节点设为主控模块;//等待子查询结果返回才能开始执行;

3.3 访问与查询执行的实现

访问与查询执行模块负责执行从查询计划生成模块发过来的查询子命令,然后通过GDSF创建GDS访问真实的数据库。在这里,GDS负责提供一个标准的访问真实数据库的接口,并且它对返回的数据做必要的格式转换,转化为标准形式(通常采用XML格式)[2]。以服务的观点来看,GDS提供的是一个数据库服务,但它怎么实现的,那不是上层调用者所关心的,它可能是通过一个关系数据库提供的,或者一个只是通过一个简单的表式的文本文件提供的,甚至是通过一个程序动态产生的,只要它已提供标准的接口和返回符合格式的结果就可以了。

访问与查询执行过程根据查询原型接到查询子命令,可以分为两种情况:

(l)查询命令只涉及到单个数据库,那只要简单地把查询命令转化为符合GDS调用规范的形式,并向GDS发出请求,然后等待返回结果,并把结果送回上层节点。

(2)查询命令涉及到多个数据库,负责这多个数据库查询的查询执行模块中有一个被称为主控执行模块,它负责这组查询执行模块的同步工作,并且它负责接受这组模块的结果,把结果汇总并返回。

当操作涉及到多个数据库时,如何选择传输的策略是一个非常重要的问题,因为网络的传输开销可能是很高的。降低传输开销的一个有效方法是采用半连接技术。

连接操作的重要性在于关系数据库是由许多关系组成的,关系与关系之间的联系是现实世界的抽象。这种联系主要通过连接操作表现出来,因而在二元操作中,连接操作远比其它操作使用得更多,而且是不可避免的。对于网格下动态组成的虚拟数据库更是如此。在这些虚拟数据库中,连接操作的大量数据会引起场地间的传输,它直接影响整个系统。当前对连接操作的优化有两种方法,一种是采用一种半连接技术来减少连接操作的数据传输量,以降低通讯费用;另一种是直接进行连接操作的代价计算,不采用半连接技术。

4. 小结

总之,网格数据库访问与查询系统在网格环境下为用户提供了对地理分布、异构数据库资源的透明访问,为用户提供了单一的逻辑数据库视图和统一的数据库服务接口,使用户可以更方便、更高效地使用网格中的数据库资源。也正因为网格数据库访问与查询系统的分布透明性和异构透明性、命名透明性以及可扩展性等优点,使之得到了广泛的研究与应用。

参考文献

[1]张非,阎保平.一种基于网格服务的数据库元数据管理框架[J].计算机工程与应用,2007(29):209-212.

上一篇:现代化工企业管理下一篇:心电采集电路