数据网格中一种优化的副本分布方法

文档序号:6586658阅读:152来源:国知局
专利名称:数据网格中一种优化的副本分布方法
技术领域
本发明主要设计数据网格中一种优化的副本分布方法,属于网格计算(Grid)领 域,具体涉及网格系统,尤其是数据网格系统中副本的分布问题。
背景技术
作为一种新型网络计算平台,网格的目的是为了在分布、异构、自治的网络资源环 境上构造动态的虚拟组织,并在其内部实现跨自治域的资源共享与资源协作。数据网格是 网格技术在数据管理方面的应用和实现,面向广域网异构环境,通过集成网络上分布的多 种数据资源,屏蔽底层物理资源的异构性,为上层应用提供通用和可靠的数据服务,实现分 布、异构、海量数据的一体化访问、存储与服务架构。 副本技术是提高数据网格系统的数据可用性、数据访问性能和容错能力的重要技 术。 一方面,数据网格系统中的节点具有高度动态性,随时加入和离开系统,副本技术能够 提高数据的可获取性和系统容错性;另一方面,通过对数据网格中被频繁访问的数据资源 进行复制、提供多个数据副本,可以减少访问延迟、消除热点瓶颈和实现负载均衡,有效改 善网格系统性能。 数据网格中的副本创建策略可分为动态副本创建策略和静态副本创建策略,静态 副本创建策略不考虑实际应用情况,预先在指定的多个节点上创建副本, 一般较少使用。动 态副本创建策略能够更好地满足数据网格系统动态性以及大规模的要求。
动态副本创建又可分为集中式副本创建和分布式副本创建两种不同的策略。 N即ster和Gnutella是采用集中式副本管理方法的典型系统,由于单点失效和扩展性不 好很难应用到大规模分布式系统中。比较成熟的分布式副本创建策略是由Ranganathan 和Foster以欧洲数据网格为基础提出的六种动态复制策略无副本策略、最佳客户复制策 略、瀑布复制策略、简单的缓存策略、缓存加瀑布策略、快速扩散策略。这些策略主要针对欧 洲数据网格的系统特征,运用层次化的复制过程对副本进行创建,没有考虑源数据分布、网 络通信能力、节点存储能力以及副本更新的代价。另一种动态副本创建策略是基于经济模 型的副本创建策略,主要解决的问题是利用一些经济模型判断数据副本的创建是否能给本 地系统带来"利润",并以此决定是否在本地创建副本。 此外,现有数据网格系统中,通常假定共享的数据资源是静态的和只读的,如果有 数据资源的更新,则作为新的只读资源出现,因此副本技术大多在查询资源的路径中的每 个节点上创建副本,或者在路径的两端创建副本,只考虑副本数量上的差异,并不考虑存放 位置的差异。 对于只读数据资源来讲,副本数量越多就越能获得好的性能。但是,在拥有可写数 据资源的数据网格系统中应用这些方法将会带来不必要的资源复制和高额的副本一致性 维护开销。例如对于一个以多媒体音像共享和制作为主要应用的数据网格系统,所有节点 在网格系统服务支持下形成了一个大容量的虚拟媒体存储系统,每个节点既为其它节点提 供存储服务,也可以下载多媒体文件、参与多媒体文件的制作更新,处于不同地理位置的人
3们可以共同协作完成多媒体制作任务。在这样的数据网格系统中,由于需要维护副本的数 据一致性,单纯追求副本数量会极大增加副本一致性维护的代价。 因此,对于拥有可读写数据资源的数据网格系统,副本的位置和数量会直接影响 到资源的访问性能。需要从系统全局角度对数据副本进行优化分布,确定适当的副本数量 和分布位置,平衡副本维护的开销和多副本带来的访问性能提升之间的关系,提高整体数 据访问性能。 为更好地说明本发明内容,下面对所针对的数据网格系统的网络结构做如下说 明 (1)网络中所有节点之间以全分布方式连接,根据节点的网络带宽和处理能力的 差异性,可分为超级节点和普通节点。超级节点由性能好、带宽高、在线时间长的节点承担, 除了共享自身资源、访问系统中其他资源外,还要承担维护系统正常运行的管理功能。在超 级节点的管理下,网络结构呈现出层次式的树状结构,树结构中的叶节点是普通节点,树结 构中的其他节点是超级节点。特别地,树状结构中树内所有节点形成了域,树的根节点称为 域超级节点。 图1显示了一个超级节点的网络结构示例。为了便于表现,附图1只简化体现了 超级节点和普通节点之间的管理关系,而忽略了节点之间的全分布连接。图1中虚线所示 的节点集合即为域。 (2)每个超级节点对本地共享资源和它所管理的普通节点的共享资源承担副本管 理的职责,负责制定优化的副本分布策略。超级节点P管理的所有数据资源集合记做LR,其 中LR = {LR。, L&, . . . , LRn} , n是超级节点P负责管理的数据资源的个数。
(3)网络中的每个节点都维护一个本地副本目录,保存自身共享资源的副本信息。 超级节点的本地副本目录中,除了本地共享资源的副本信息之外,还包含由它管理的所有 节点的副本目录信息。副本管理服务部署在超级节点上,提供副本管理服务,记录副本访问 的所有信息,包括哪个节点发起的请求、访问了哪个副本、资源响应时间,以及节点的实时 网络带宽等信息。这些数据将为副本的优化分布提供充足的依据。

发明内容
本发明的目的是为解决现有副本技术应用在数据网格中、当共享资源为可读写资 源时,副本一致性维护代价大、访问性能差的问题,而提供一种优化的副本分布方法,根据
节点对数据资源的访问情况计算副本的数量和位置,动态适应数据访问请求的变化和网络
通讯状况。该方法能够有效平衡副本数量和副本维护开销之间的关系,不仅适用于只读资
源的数据网格系统,尤其适用于拥有可读写数据资源的数据网格系统。 本发明的数据网格中一种优化的副本分布方法,如图2所示,具体步骤如下 步骤一.在整个网格系统范围内确定需要放置副本的所有域 确定原则为如果某个域内的节点访问超级节点P所管理的数据资源LRj(O《j <n)的时间超过整个系统内资源LRj的平均响应时间,则需要在该域内创建副本。
(1)超级节点P计算整个系统内数据资源LRj的平均响应时间。资源LRj的平均 响应时间(Average Response Time, ART)定义为单位时间间隔内,访问资源LR」的所有副 本的响应时间之和与访问次数之比。计算公式如下<formula>formula see original document page 5</formula> 其中,Timej表示单位时间间隔内资源LR」所有副本被访问的次数,RTk表示单位时 间间隔内第k次访问资源LRj副本的响应时间。 (2)超级节点P根据本地副本目录中记录的数据资源LRj的所有副本的访问情况, 统计不同域(记做Dk, k = 0, 1, . . . , m, m是系统内域的个数)内的节点访问资源LRj的域 平均响应时间。计算方法如下
<formula>formula see original document page 5</formula> 其中,RTj,i是域Dk内节点Pi访问资源LRj的响应时间,T7m。^是单位时间内域Dk 内所有节点访问数据资源LRj的次数。 (3)如果^^^'. > I「,即域Dk内节点访问资源LRj的平均时间大于整个系统
内资源LRj的平均响应时间,则说明域Dk内的副本数量过少,需要在域Dk内创建副本。 步骤二.在每一个需要放置副本的域内确定需要创建的副本数量 根据域Dk内所有请求资源LRj的实际响应时间计算创建副本的数目。 引入记号单位时间间隔内,域Dk中的节点访问资源LRj的副本数目记做count,
需要新增副本的数量记做A count, Tavg表示域内节点对资源LRj的平均访问时间,TlOT表示
域内节点对资源LRj的最小访问时间。 考虑到增加副本数量的目的是降低域Dk内对资源LRj的平均访问时间Tavg,使Tavg 能够尽量接近域Dk内对资源LRj的最小访问时间TlOT。如果最小访问时间TlOT与平均访问 时间T^相差比较大,则需要创建多的副本数量。因此,新增副本的数量应该满足下式
r<formula>formula see original document page 5</formula>根据公式3可以推导出需要创建的副本数量A count的计算公式如下
<formula>formula see original document page 5</formula>
步骤三.在每一个需要放置副本的域内确定适合放置副本的地点
在广域网范围内,由于网络带宽有限、节点的动态性等特点使网络传输延迟成为 影响数据访问性能的最重要的指标,相比之下节点本身的CPU和1/0的处理时间是可以忽 略不计的。定义复制因子(RF),用来衡量节点适合放置资源LRj的副本的程度。节点PJ勺 复制因子的计算公式如下
<formula>formula see original document page 5</formula>
其中,Memoryi是节点Pt的可用内存,f ilesize是资源LR」所占空间的大小,AvgBWi 是节点Pi的平均可用带宽。 因为超级节点P并不拥有域Dk内所有节点的信息,所以域Dk内副本位置的确定工作交由域Dk的域超级节点完成。节点P发送请求消息,通知域Dk的域超级节点确定放置副 本的地点。 域Dk的域超级节点接到请求消息后,完成下面的工作域Dk内没有资源LRj副本 的节点属于待选地点,域超级节点计算每个待选节点的复制因子,节点的复制因子值越大, 说明该节点越适合放置该副本。选择Acount个具有最大复制因子的节点作为副本创建的 地点。根据复制因子的定义,可知在这些节点上放置副本,可以有效降低资源的访问时间。 域Dk的域超级节点将A count个适合放置副本的节点地址返回给超级节点P。
步骤四.在指定的副本放置地点创建副本 由超级节点P负责在A count个适合放置副本的地点上创建副本,完成优化的副 本分布。 有益效果 本发明给出的动态自适应的副本分布方法,通过资源的平均响应时间计算新增副 本的数目,根据访问请求的变化和网络通讯状况计算副本放置地点,能够在减少资源响应 时间和降低副本一致性维护开销之间获得有效平衡。其合理性、优点和积极效果如下
(1)统计单位时间内的资源访问情况,对每个域计算域内节点访问该资源的平均 响应时间。域内平均响应时间能够综合反映该域内节点对数据资源的缺乏程度和访问热 度。在平均响应时间大的域内分布副本会极大地改善或减少数据访问的代价。
(2)根据域内节点访问资源的平均响应时间计算新建副本的数量,能够有效控制 副本的数量,减少副本一致性维护的代价。 (3)提出复制因子的概念,根据用户访问特征和节点实时带宽数据等计算适合放 置副本的最佳地点,实现副本的优化分布。
(4)适用与任何具有超级节点的数据网格系统,不仅适用拥有只读数据资源的系
统,尤其适合拥有可读写数据资源的系统,应用领域广,解决了现有网格副本技术不适用于 拥有可读写数据资源的缺陷。
(5)操作简单,不依赖中心控制节点,仅通过超级节点之间简单协作即可完成。
(6)方法运行代价小,多数操作在超级节点本地完成,很少占用广域网带宽。


图1为具有超级节点的数据网格系统的网络结构示意图;
图2为副本分布方法的操作流程图;
图3为资源LRj的副本分布情况示意图; 图4为单位时间内网格系统中的节点对资源LRj的访问情况示例。
具体实施例方式
下面结合附图和具体实施方式
对本发明作进一步说明。 每个超级节点对自身的共享资源和自己管理的普通节点的共享资源承担副本管
理的职责,负责制定优化的副本分布策略。超级节点周期性的记录自己管理的数据资源下 所有副本的访问情况,包括何时、从哪个域内的哪个节点发出过请求,访问了哪个副本,资
源的响应时间等。这些副本访问信息记录在超级节点的本地副本目录中。
6
例如,资源LRj的副本分布情况如附图3所示,图中显示了两个域,域超级节点分 别是节点A和节点B。资源LRj拥有4个副本,分别放置在节点Al、节点A12、节点A2和节 点Bll上。资源LRj是节点A12的共享资源,因为节点A12是普通节点,所以节点A12的父 节点P负责资源LRj的副本管理,节点P的本地副本目录中记录资源LRj的所有副本信息, 如附图3中虚线所示。 图4显示了单位时间内网格系统中的节点对资源LRj的访问情况,图4中用带箭 头的线段表示所有对资源LRj的访问请求,线段起始端表示资源发起点所在域,键头所指表 示访问的具体副本。线段旁边的数字表示资源的响应时间。 假设超级节点P负责管理的数据资源LRj需要创建副本,则超级节点P执行以下 操作 1.在整个网格系统范围内确定需要放置副本的所有域 节点P根据单位时间内资源LRj的响应时间,依据公式1计算资源LRj的平均响应 时间是118,即





一60M + 200n + 12(^3 + 200 + 20 …
U1, =- 118
J 12
依据公式2计算域A内节点访问资源LRj的平均响应时间为60,即
60 + 60 + 60 + 60
4
60
域B内节点访问资源LRj的平均访问代价为140,即 200 + 200 + 200 + 120 + 120 + 120
6
=160
域C内节点访问资源LRj的平均访问代价为200,即 200 + 200
2
=200 因为ARTj,A < ARTj,ARTj,B > ARTj,ARTj,c > ARTj,所以需要在域C和域B内创建资 源LRj的副本。 2.在每一个需要放置副本的域内确定创建副本的数量 依据公式4计算附图4实例中需要创建的副本数量。域B内访问过的副本数目为
2,则需要在域B内创建的副本数目为
""160-60
160
x2
=2
域c内访问过的副本数目为l,需要在域C创建的副本数目为
200-60 200
xl
=1
3.在每一个需要放置副本的域内确定适合放置副本的地点
节点P发送请求消息,通知域B的域超级节点B和域C的域超级节点C确定放置 副本的地点。因为节点B和节点C拥有域内所有节点的信息,可以分别计算资源LRj放置 在每个待选节点上的复制因子(RF)。节点B选择域内2个具有最大复制因子的节点作为副
7本创建地点;节点C选择域内l个具有最大复制因子的节点作为副本创建地点。最后,节点 B和节点C将适合放置副本的节点地址返回给超级节点P。 4.节点P依据域超级节点B和域超级节点C返回的节点信息,分别在域B指定的 节点上分别创建两个新副本,在域C指定节点上创建一个新副本。
权利要求
数据网格中一种优化的副本分布方法,其特征在于针对具有超级节点的数据网格系统,首先在整个网格系统范围内确定需要放置副本的所有域;其次,在每一个需要放置副本的域内确定需要创建的副本数量;然后,在每一个需要放置副本的域内确定适合放置副本的最佳节点;最后,在指定的地点创建副本。
2. 根据权利要求1所述的数据网格中一种优化的副本分布方法,其特征在于超级节 点对自己管理的所有资源实时监控;当需要为资源LRj创建副本时,超级节点统计单位时间 间隔内资源的访问情况,计算整个系统内资源LRj的平均响应时间以及每个域内所有请求 资源LRj的平均响应时间;如果某个域Dk内节点访问资源LRj的平均时间大于整个系统内 资源LRj的平均响应时间,则说明资源LRj在域Dk内的副本数量过少,需要在域Dk内创建副 本。
3. 根据权利要求1所述的数据网格中一种优化的副本分布方法,其特征在于在需要 创建副本的域Dk内,如果单位时间里域Dk中的节点访问的资源LRj的副本数目记做count,则域Dk需要新增副本的数量<formula>formula see original document page 2</formula>其中,T^表示域内节点访问资源LRj的平均访问时间,TlOT表示域内节点访问资源LRj的最小访问时间。
4.根据权利要求1所述的数据网格中一种优化的副本分布方法,其特征在于需要创 建副本的域Dk的域超级节点负责确定合适的副本放置地点;域Dk内没有资源LRj副本的节 点属于待选地点,域超级节点根据域内节点的节点性能、网络带宽等信息确定A count 适合放置副本的最佳节点;由超级节点P在指定的节点上创建副本。
全文摘要
本发明主要设计数据网格中一种优化的副本分布方法,属于网格计算(Grid)领域,具体涉及网格系统,尤其是数据网格系统中副本的分布问题。本发明给出了数据网络中一种分布式动态自适应的副本分布方法,以降低资源请求方的访问代价为主要目的,通过资源的响应时间计算副本数量;综合考虑节点的负载率、节点性能,以及实时带宽等因素确定合适的副本放置地点,使副本分布能够动态地适应访问请求的变化和网络通讯状况。与现有单纯追求副本数量来提高数据访问性能的方法相比,本发明从系统全局角度评估副本数量和最佳的副本放置地点,能够有效平衡副本数量和副本维护开销之间的关系。该方法不仅适用于只读资源的数据网格系统,尤其适用于拥有可读写数据资源的数据网格系统。
文档编号G06F17/30GK101751309SQ20091026542
公开日2010年6月23日 申请日期2009年12月28日 优先权日2009年12月28日
发明者孙新, 郑军, 高春晓 申请人:北京理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1