专利名称:一种提高网格数据访问性能的方法
技术领域:
本发明是一种提高网格数据访问性能的方法,主要用于解决网格内资源分配 动态自适应调整,为用户提供高性能、高可靠性的数据传输服务,属于网格计算 软件技术领域。
背景技术:
在日新月异的计算机和通讯设备的发展中,网格这一新兴的基础设施带来了 新一片的网络繁荣。网格试图联通广域网上的资源,希望在现有技术上建立更高 层次的共享,提供计算资源、存储资源和其它资源的共享。数据传输及管理不仅 在处理海量数据的数据网格占据着不可撼动的位置,在计算网格、服务网格等领 域也有着至关重要的地位,数据高效、可靠、方便的移动和复制关系到整个系统 的效率。
网格文件传输协议(GridFTP)的提出对解决网格中异构存储的文件系统间的 数据传输和管理提供了一个有效的途径。它基于FTP协议,并进行了一定的扩展, 可支持GSI及Kerberos认证、动态调整TCP缓冲/窗口大小、并行和带状传输、 断点续传和部分传输、第三方传输等等。这样,数据传输在性能和安全上都有了 可靠的保证。
GridFTP在网格环境中虽然有着很好的数据传输功能,但是其作为单个数据传 输服务期的独立性上,在用户愈加增强的数据传输要求上带来了性能上的弊端。 其表现在用户对资源的定位困难,不得不借助第三方工具进行资源定位;为用户 提供的数据描述不充分,导致资源定位困难,同时难以避免不必要的数据冗余; 服务器负荷不均衡,因为服务器之间相互独立,大量缺乏服务器位置信息的用户 可能访问少数服务器,而其他的服务器则利用不足,导致负荷失衡;数据传输速 率不能满足用户日益增长的的需求,因为数据传输受到用户数、网络稳定性等因 素的影响。
目前,大多数网格数据传输系统采用两种系统结构。 一是类似于C/S系统结构,资源分布在少数的高兴能计算节点上,为了增强和优化用户数据传输性能, 整个系统需要复杂的负载和容错算法来提供持续可靠的访问,稳步增加的网络带 宽以处理来往的请求,此外还需要缓存和复制机制来缓解上述问题;二是采用P2P 结构,资源分散在各个节点上。这种系统避免了 C/S结构的很多问题,但是以消 耗更多网络带宽和增加迟延为代价,同时引入了更加复杂的节点组织、搜索、安 全以及版本等问题。两种结构各有优缺点,它们之间也并非不合逾越。当Server 数目增加时,C/S结构向P2P结构转变;而P2P系统中的大多数用户并不提供资源, 而50%或以上的用户请求由1%的主机来提供服务时,此刻的P2P系统实际上向C/S 结构蜕变。
发明内容
技术问题本发明的目的是提出一种提高网格数据访问性能的方法,该方 法糅合了 C/S技术和P2P技术的混合体,来解决在普通网格环境下如何提高数据 访问性能的问题,通过使用本发明提出的G-Gridftp (网格数据传输群)方法,在 网格环境下达到提高数据访问性能的目标。
技术方案本发明是一种策略性方案,基于GridFtp Server群组,通过算 法和策略将传统网格环境下的GridFtp Server组成方案中所提出的G-GridFtp, 来提高网格环境下的数据访问性能。
下面给出几种特殊服务器的定义-
Group Server:由组群内GridFtp Server组成,负责组织组群内数据集,形 成一个逻辑整体。
G~GridFtp:是Group Server组成的对等网,负责接收、处理或者转发用户 査询请求。
G-GridFtp的基本思想是将独立的GridFtp Server联结形成一个逻辑的整体 Group Server,然后再由Group Server以P2P的对等方式联合形成G-GridFtp。 因此,GridFtp Server是G-GridFtp中的重要组件。它们的组成方式原理如图1 所示。
在普通网格环境下,为用户提供的数据访问性能一个重要瓶颈是广域网中的 网络传输。而一般来说,局域网中的数据传输速度往往是广域网数据传输速度的 数十倍,局域网内的数据服务器亦享受相似的网络带宽,因此将子网内服务器联合形成Group Server有助于简化一个数据访问系统的管理。
GridFtp Server为用户提供了三方数据传输、并行传输、分块传输等性能, 为了提高用户访问数据性能,在网格环境中,将数据分布在各个节点上,即多个 节点上持有用户所需求的部分数据。对于访问频率较高的数据,支持缓存和复制 机制。大型数据亦支持并行和分块数据机制,即数据并行地存储在多个节点之上。 此刻,数据的分布通过Group Server进行管理。如图2所示。
当有节点需要加入到G-GridFtp时,若是初次连接,它需要先向Group Server 注册其拥有的数据集详细信息,包括数据集名称、大小、类型等,此过程称为节 点注册。Group Server为每个数据集分配一个唯一标识,以后这个节点重新连接 系统时,或改变其本身所拥有数据集内容,只需要向Group Server声明改变的部 分的信息即可,这个过程称之为节点更新。
每个节点向Group Server注册的数据集信息存储在Group Server目录数据库 中,其内容中每条条目主要包括数据集名称、文件名称、节点地址、数据大小、 起始区域等信息,另外还包括每个条目的类型等信息。它代表了整个G-GridFtp 网格中的数据及信息,因此所有Group Server都必须拥有相同的目录数据库,该 数据库由各个Group Server原始目录数据库所组成。
在一个G-GridFtp网格环境中有多个Group Server,如何保证所有基于对等 关系的Group Server保持相同的目录数据库来为用户描述G_GridFtp的数据信息, 本方法里提出了DGS (指定Group Server)和BDGS (备用指定Group Server)的 概念。
在G-GridFtp中包含多个Group Server,则必须选举一个DGS和BDGS来代表 这个G-GridFtp。在DGS工作时,BDGS不执行任何DGS的功能,但它会接受其他 Group Server发来的消息,只是不做处理而已,由DGS来完成转发和同步的任务。 BDGS只有当DGS失效时才承担DGS的工作。DGS和BDGS的价值体现在两个方面 一是减少目录数据库更新数据流——DGS和BDGS为给定G-GridFtp的目录数据库 信息交换起着联系中心点的作用,因此每个Group Server都必须建立与DGS和 BDGS的毗邻关系,各个Group Server只需要向DGS和BDGS发送目录数据库更新 消息,而不需要与G-GridFtp中所有其他的Group Server都交换目录数据更新消 息。DGS代表G-GridFtp的意义在于,其向G-GridFtp中所有的Group Server发 送各Group Server目录数据库信息。这个扩散信息大大减少了 G-GridFtp中与目录数据库相关的数据流,节省了网络负载,从而提高用户访问数据性能;二是DGS 和BDGS可保证G-GridFtp中其他的Group Server都具有有关G-GridFtp的相同 的目录数据库信息,通过这种方式,提高建立统一数据库信息效率同时,数据信 息错误率被降低。
毗邻关系是存在于Group Server与其DGS和BDGS之间的关系,毗邻的Group Server将具有同步的目录数据库。舭邻关系基于对等网络的使用,当Group Server 启动时,它将进入最初的Hello信息交换过程,并选举DGS和BDGS,然后Gro叩 Server将尝试与DGS和BDGS建立毗邻关系。
在G-GridFtp发生节点更新的时候,DGS将收到的目录数据库更新的消息转发 到G-GridFtp中的其他Group Server,另外设定,在一定的时间内,若是G-GridFtp 没有发生节点更新,DGS依然向外广播特殊的目录数据库信息,以宣称DGS的存在。 当G-GridFtp中加入新的节点,DGS和BDGS的角色不会发生改变。DGS和BDGS只 有在它们失效的时候才发生改变。如果DGS失效,BDGS将作为DGS,同时再选举 一台新的BDGS,如图2所示。如果BDGS失效,就选举一台新的BDGS,如图3所 示。为了判定DGS是否失效,BDGS设置一个计时器,该特性可增强可靠性。如果 BDGS在计时器到时之前不能听到DGS转发的目录数据库更新消息,那么BDGS就会 认为DGS不能再提供服务了。
当用户接入G-GridFtp,无论其连接到任何一个Group Server,发出广播请求 接入,Gro叩Server相应请求,告之其Gro叩Server清单。用户可以从数据库中 找到感兴趣的数据集名称,然后发起GridFtp连接以进行数据传输。
提高网格数据访问性能的方法所包含的步骤为
步骤1.按照区域将一节点接入到组服务器A中,并将自己所拥有的数据资源 注册到组服务器中;
步骤2.组服务器A在网格数据传输群中初次启动时,出于"停机"状态,因 为它没有与其他任何组服务器交换信息,通过多目组播地址,对外发出"请求链 接"信息;
步骤3.在网格数据传输群中的其他的组服务器接受到来自组服务器A的"请 求链接"数据包,并将组服务器A加入到它们的邻居列表中,开始建立毗邻关系;
步骤4.所有接受到该"请求链接"数据包的组服务器都向组服务器A发送一 个单点传送回复"请求链接"数据包,数据包信息包中的邻居域含有其他相邻的组服务器,包括组服务器A;
步骤5.组服务器A接受到这些数据包后,它将所有在它们的"请求链接"数
据包中有自己服务器名的组服务器都添加到自己的相邻关系数据库中,这个过程 称之为"双向"状态,此刻,所有在其邻居表中都有彼此组服务器名的组服务器
建立起双向通信;
步骤6.最初加入网格数据传输群中的组服务器来担任指定组服务器角色,以 后按照加入的时间顺序,确定各个组服务器的优先权,当备用指定组服务器实效 时,由次优先级的服务器担任备用指定组服务器,当指定组服务器实效时,备用 指定组服务器升级为指定组服务器,而次优先级的组服务器则担任备用指定组服 务器;
步骤7.组服务器定期交换"请求链接"数据包,以确保通信仍在进行,以及 指定组服务器和备用指定组服务器没有实效,"请求链接"更新中包括指定组服务 器、备用指定组服务器以及其"请求链接"数据包已被接收到的组服务器列表, 此时,"接收到"是指接收方组服务器在所接收的"请求链接"数据包中看到自己 的服务器名;
步骤8.指定组服务器和备用指定组服务器与网格数据传输群中其他的组服 务器建立毗邻关系;
步骤9.指定组服务器和备用指定组服务器与网格数据传输群中其他的组服 务器交换一个或多个数据库描述数据包;
步骤IO.当组服务器接收到数据库描述数据包,它进行以下的工作
——对数据库描述数据包做出回应,确认已经收到该数据库描述数据包; ——将它接收到的信息与其己有的信息进行比较,如果数据库描述数据包 有一个更新的数据库信息,则将其添加到自己的目录数数库中,并给与回应;
步骤11.所有组服务器都将新的目录数据条目添加到自己的目录数据库中; 步骤12.当给定组服务器都得到答复时,毗邻的组服务器就被认为达到完全 的同步状态,此刻都有的组服务器都拥有完全相同的目录数据库;
步骤13.用户使用广播请求接入网格数据传输群,组服务器节点相应请求; 步骤14.用户发出资源査询请求,由组服务器所拥有的目录数据库进行检索 和查询;
步骤15.对于用户感兴趣的资源,网格数据传输群提供可为用户服务的组服务器;
步骤16.用户向相应的组服务器发起连接请求,并开始获取所需数据;
步骤17.对于较大的数据,可采用网格数据传输群所提供的并行传输、多节 点分块数据传输,及部分数据传输等性能,以提高用户对网格数据访问的性能。
有益效果在网格环境下采用G-GridFtp方法来提高用户访问数据的性能, G-GridFtp系统特性主要体现在兼容性、易用性、可能性、快速型等几个方面。
兼容性保持了与现存的GridFtp系统的兼容性,有利于尽可能多的连接 GridFtp资源,增强系统的可能性。将G-GridFtp开发成为中间件,它包裹在现存 的GridFtp服务器的外层。
易用性易用的系统可以节省用户学习新系统的所消耗的时间。使用JSP和 Tomcat提供的用户界面,用户使用浏览器就方便的访问G-GridFtp功能。
可能性保证用户随时能够连接到系统获取所需要的数据,而不会被拒绝。 采用数据复制技术,提高系统的可用性和可靠性,同时有效平衡服务期负荷。
快速性通过GridFtp协议本身所特有的并行传输、分块传输,以及第三方 传输技术,可以显著提高用户获取数据的速度,减少传输延时。
图1 G-GridFtp的组成原理。 图2 G-GridFtp中当DGS实效时。 图3 G-GridFtp中当BDGS实效时。
具体实施例方式
具体实施方式
分为两个部分, 一是G-GridFtp的组建过程;二是用户对 G-GridFtp的数据访问过程。 —.G"GridFtp的组建过程
主要实现流程
St印1:按照区域将一节点接入到Group Server A中,并将自己所拥有的数 据资源注册到Group Server中。
Step 2: Group Server A在G-GridFtp中初次启动时,并且出于"down"状 态,因为它没有与其他任何Group Server交换信息。通过多目组播地址,对外发
9出Hello信息。
Step 3:在G-GridFtp中的其他的Group Server接受到来自Group Server A 的Hello数据包。并将Group Server A加入到它们的邻居列表中,开始建立毗邻 关系。
Step 4:所有接受到该Hello数据包的Group Server都向Group Server A发 送一个单点传送回复Hello数据包,其中包含有它们自己的相应信息。如,Hello 包的邻居域中含有其他相邻的Group Server,包括Group Server A。
St印5: Group Server A接受到这些数据包后,它将所有在它们的Hello数据 包中有自己ID的Group Server都添加到自己的相邻关系数据库中,这个过程称 之为"双向(two-way)"状态,此刻,所有在其邻居表中都有彼此Group Server ID 的Group Server建立起双向通信。
St印6:最初加入G-GridFtp中的Gro叩Server来担任DGS角色,以后按照 加入的时间顺序,确定各个Group Server的优先权,当BDGS实效时,由次优先 级的Group Server担任BDGS,当DGS实效时,BDGS升级为DGS,而次优先级的 Group Server则担任BDGS。
St印7: Gro叩Server定期交换hello数据包,以确保通信仍在进行,以及 DGS和BDGS没有实效。Hello更新中包括DGS、 BDGS以及其hello数据包已被接 收到的Group Server列表。此时,"接收到"是指接收方Group Server在所接收 的hello数据包中看到自己的ID。
St印8: DGS和BDGS与G-GridFtp中其他的Group Server建立B比邻关系。
St印9: DGS和BDGS与G-GridFtP中其他的Group Server交换一个或多个数 据库描述数据包(DDP)。
St印10:当Group Server接收到DDP,它进行以下的工作
——对DDP做出回应(echo),确认已经收到该DDP包;
——将它接收到的信息与其己有的信息进行比较,如果DDP有一个
更新的数据库信息,则将其添加到自己的目录数数库中,并给与回应。
St印11:所有Group Server都将新的目录数据条目添加到自己的目录数据库中。
Step 12:当给定Group Server都得到答复时,毗邻的Group Server就被认为达到完全的同步状态,此刻都有的Group Server都拥有完全相同的目录数据库。 二.用户对G-GridFtp的访问
主要实现流程
St印1:用户使用广播请求接入G-GridFtp, Group Server节点相应请求。 St印2:用户发出资源査询请求,由Group Server所拥有的目录数据库进行 检索和査询。
St印3:对于用户感兴趣的资源,G-GridFtp提供可为用户服务的Group Server。 St印4:用户向相应的Gro叩Server发起连接请求,并开始获取所需数据。 St印5:对于较大的数据,可采用GridFtp所提供的并行传输、多节点分块数
据传输,及部分数据传输等性能,以提高用户对网格数据访问的性能。
以上所有步骤在网格环境中均假设各个节点已取得Globus所提出的GSI安全信任。
权利要求
1、一种提高网格数据访问性能的方法,其特征在于该方法所包含的步骤为步骤1.按照区域将一节点接入到组服务器A中,并将自己所拥有的数据资源注册到组服务器中;步骤2.组服务器A在网格数据传输群中初次启动时,出于“停机”状态,因为它没有与其他任何组服务器交换信息,通过多目组播地址,对外发出“请求链接”信息;步骤3.在网格数据传输群中的其他的组服务器接受到来自组服务器A的“请求链接”数据包,并将组服务器A加入到它们的邻居列表中,开始建立毗邻关系;步骤4.所有接受到该“请求链接”数据包的组服务器都向组服务器A发送一个单点传送回复“请求链接”数据包,数据包信息包中的邻居域含有其他相邻的组服务器,包括组服务器A;步骤5.组服务器A接受到这些数据包后,它将所有在它们的“请求链接”数据包中有自己服务器名的组服务器都添加到自己的相邻关系数据库中,这个过程称之为“双向”状态,此刻,所有在其邻居表中都有彼此组服务器名的组服务器建立起双向通信;步骤6.最初加入网格数据传输群中的组服务器来担任指定组服务器角色,以后按照加入的时间顺序,确定各个组服务器的优先权,当备用指定组服务器实效时,由次优先级的服务器担任备用指定组服务器,当指定组服务器实效时,备用指定组服务器升级为指定组服务器,而次优先级的组服务器则担任备用指定组服务器;步骤7.组服务器定期交换“请求链接”数据包,以确保通信仍在进行,以及指定组服务器和备用指定组服务器没有实效,“请求链接”更新中包括指定组服务器、备用指定组服务器以及其“请求链接”数据包已被接收到的组服务器列表,此时,“接收到”是指接收方组服务器在所接收的“请求链接”数据包中看到自己的服务器名;步骤8.指定组服务器和备用指定组服务器与网格数据传输群中其他的组服务器建立毗邻关系;步骤9.指定组服务器和备用指定组服务器与网格数据传输群中其他的组服务器交换一个或多个数据库描述数据包;步骤10.当组服务器接收到数据库描述数据包,它进行以下的工作——对数据库描述数据包做出回应,确认已经收到该数据库描述数据包;——将它接收到的信息与其已有的信息进行比较,如果数据库描述数据包有一个更新的数据库信息,则将其添加到自己的目录数数库中,并给与回应;步骤11.所有组服务器都将新的目录数据条目添加到自己的目录数据库中;步骤12.当给定组服务器都得到答复时,毗邻的组服务器就被认为达到完全的同步状态,此刻都有的组服务器都拥有完全相同的目录数据库;步骤13.用户使用广播请求接入网格数据传输群,组服务器节点相应请求;步骤14.用户发出资源查询请求,由组服务器所拥有的目录数据库进行检索和查询;步骤15.对于用户感兴趣的资源,网格数据传输群提供可为用户服务的组服务器;步骤16.用户向相应的组服务器发起连接请求,并开始获取所需数据;步骤17.对于较大的数据,可采用网格数据传输群所提供的并行传输、多节点分块数据传输,及部分数据传输等性能,以提高用户对网格数据访问的性能。
全文摘要
一种提高网格数据访问性能的方法是一种新型的网格数据传输体系,糅合了C/S技术和P2P技术的混合体。来解决在普通网格环境下如何提高数据访问性能的问题。在一个G-GridFtp网格环境中有多个Group Server,如何保证所有基于对等关系的Group Server保持相同的目录数据库来为用户描述G-GridFtp的数据信息,本方法里提出了DGS(指定Group Server)和BDGS(备用指定Group Server)的概念。在G-GridFtp发生节点更新的时候,DGS将收到的目录数据库更新的消息转发到G-GridFtp中的其他Group Server,另外设定,在一定的时间内,若是G-GridFtp没有发生节点更新,DGS依然向外广播特殊的目录数据库信息,以宣称DGS的存在。
文档编号H04L29/06GK101309296SQ20081012413
公开日2008年11月19日 申请日期2008年6月13日 优先权日2008年6月13日
发明者雄 付, 任勋益, 季一木, 琳 张, 羽 张, 侃 易, 杨明慧, 王汝传, 蒋凌云, 松 邓 申请人:南京邮电大学