一种基于路径组合的多服务器动态区域调整方法

文档序号:7926809阅读:156来源:国知局
专利名称:一种基于路径组合的多服务器动态区域调整方法
技术领域
本发明涉及一种基于虚拟环境区域划分的分布式虚拟现实系统中的一种动态区域调 整方法,属于虚拟现实和分布式系统领域。
背景技术
分布式虚拟环境(Distributed Virtual Environment,简称DVE)系统将分散在不同地 域的虚拟环境系统通过网络联结起来,多个用户在共享的分布式虚拟环境中进行交互和 协作,共同完成特定的任务(参见赵沁平.DVENET分布式虚拟现实应用系统运行平台与 开发工具.北京科学出版社,2005.)。随着DVE系统规模的不断扩大,其中一个关键问 题是提高其扩展性和负载能力,而这主要由系统所采用的体系结构所决定。DVE系统中
常见的体系结构主要有全分布结构、单服务器结构和多服务器结构。其中多服务器结 构将整个系统的负载分配到多台服务器,具有更强的负载能力,而多台并行服务器的存 在,也为提高扩展性提供了可能。目前大部分DVE系统采用了多服务器结构(参见Singhal S, Zyda M. Networked Virtual Environments: Design and Implementation. New York: ACM Press Siggraph Series and Addison-Wesley, 1999.和Thomas A. F. Network Topologies for Scalable Multi-user Virtual Environments. Proc. IEEE Virtual Reality Ann. Int,l Symp., 1996, 222-228.)。由于虚拟环境的空间特性和用户兴趣区域的有限性,DVE系统通常 采用基于虚拟环境区域划分的多服务器结构,通过将整个虚拟环境划分为多个区域,每 个区域由一台服务器进行管理,从而实现对多台服务器的组织。CyberWalk (参见NgB, Lau W. H. R, Si A et al. M'ultiserver Support for Large-scale Distributed Virtual Environments. IEEE Trans. Multimedia, 2005, 7(6): 1054~1065.) , ATLAS (参见Lee D, Lim M, Han S. ATLAS: A Scalable Network Framework for Distributed Virtual Environments. Proc. ACM Collaborative Virtual Environments Conf.(CVE 2002), 2002, 47~54.和Han S, Lim M. ATLAS-II: Scalable and Self-tunable Network Framework for Networked Virtual Environments.In Proc. The Second Young Investigator's Forum on Virtual Reality (YVR'03), 2003.) , CittaTron (参见Hori M, Iseri T, Fujikawa K et al. Scalability Issues of Dynamic Space Management for Multiple-server Networked Virtual Environments. Proceedings of 2001 IEEE Pacific Rim Conference on Communications, Computers and signal Processing,2001, 1:200-203.)等DVE系统都釆用了这种结构。
多服务器结构具有诸多优点,但也存在着一些问题,其中最为突出的是负载平衡问 题。由于用户在虚拟环境的不均匀分布,可能会在某些区域聚集过多用户,导致管理这 些区域的服务器负载过重,严重影响整个系统的负载能力和交互性,需要提供一种有效 的负载平衡机制。
在基于虚拟环境区域划分的多服务器结构的DVE系统中通常釆用动态区域调整方 法对负载进行平衡。动态区域调整方法通过将过载服务器所管理的部分区域交由其它服 务器进行管理,以此减小其自身的负载来实现负载平衡。如何选取负载迁移的目标服务 器,以及如何选择待迁移的区域是动态区域调整方法实现过程需要解决的核心问题。

发明内容
本发明的技术解决问题针对目前的方法在负载迁移目标服务器的选取上存在的问 题,提供了一种基于路径组合的多服务器动态区域调整方法,通过生成树的路径向外延 伸,穿越用户聚集区域,在聚集区域外层找到轻载服务器,提高了负载平衡的效率,并 在此基础上对集合内的服务器进行基于Cell的待迁移区域选择,从而在产生较小开销。
本发明的技术解决方案 一种基于路径组合的多服务器动态区域调整方法,步骤如

第一步,建立生成树
以过载区域服务器为根结点建立区域生成树,为选取目标服务器集提供依据; 第二步,选取服务器集
区域生成树建立完成后,首先将符合要求的路径组成集合,然后从路径集合中构造 路径组合,对路径集合进行评估计算,得到可以进行负载平衡的有效服务器集,最后从 所有有效服务器集中选取含服务器数最少的作为目标服务器集;
第三步,调整区域
在选取目标服务器集后,对集合内的区域服务器所管理的区域进行基于Cell (Cell 是虚拟环境中划分的最小单位,如图1所示。Cell的相邻关系定义为两个Cell存在一条 公共边。Cell分为两种类型边界Cell和内部Cell。边界Cell定义为R为区域,a、 b 为Cell, aERi, I={b I b与a相邻),3beRj,且ig,则称a为边界Cdl。)的全局性 的区域调整,以完成负载平衡。
所述第一步中的以过载区域服务器为根结点的区域生成树构建的步骤如下
(1) 建立区域相邻表;
(2) 根据区域相邻表,以过载区域服务器建立生成树。
所述第二步中的路径组合构造的步骤如下-
(1) 在建立的生成树中,将所有以L(RSj)<SLT的结点为起点,根结点为终点的路 径加入到一个路径集合中,其中SLT为区域服务器的安全负载阈值是其能够安全运行的 临界值,L(RSi)表示区域服务器当前的负载量;
(2) 从路径集合中得到所有路径组合,即获取路径集合的所有子集,称其为待选服 务器集。
所述第二步中的目标服务器集选取的步骤如下
(1) 从所有待选服务器集中选取有效服务器集。有效服务器集是满足 J^.(见r-£(及&》-(Z(i^)-(9丄r)〉0的待选服务器集,其中过载区域服务器为RSi,集合
中其它区域服务器为RSj, SLT为区域服务器的安全负载阈值是其能够安全运行的临界 值,L(RSO表示区域服务器当前的负载量,区域服务器的过载阈值OLT;
(2) 对所有有效服务器集进行比较,选取含服务器数最少的作为最后进行区域调整 的目标服务器集。
所述第三步中的基于Cell的区域调整的步骤如下-
(1) 在目标服务器集中选取为位于生成树层次最深且满L(RSi)<SLT的区域服务器 RSi作为Cell迁移的目标对象,计算出EL(RSi),并从目标服务器集中删除RSj,其中RS 为区域服务器,EL(RSi)表示区域服务器可接受的负载迁移量,SLT为区域服务器的安全 负载阈值是其能够安全运行的临界值,L(RSi)表示区域服务器当前的负载量;
(2) 取得RSi的父节点区域RSj,从RSj选取负载之和为EL(RSi)的Cell集合,将这 些Cell迁移至RSi,更新RSj的负载,计算EL(RSj)。如果RSj即为生成树的根则转到第
(3)步,否则将j赋给i转到步骤(2);
(3) 判断目标服务器集是否为空,如果为空则结束区域调整,否则转到步骤(1)。 本发明与现有技术相比的优点在于利用生成树的路径向外延伸,可以在服务器集
选取的过程中穿越过载服务器周围用户相对聚集区域服务器,并在聚集区域服务器外层 找到轻载服务器,提高了搜寻目标服务器的效率,在此基础上对集合内的服务器进行基 于Cell的待迁移区域选择,由于Cell的迁移过程相对简单,从而在产生了较小的计算开 销和网络负担,提高了负载平衡的效率。


图1为本发明的高聚集分布示意图2为本发明的整体过程流程图; 图3为本发明的生成树建立示意图;其中图3中a为虚拟世界区域划分示意图,图3 中b为区域相邻表示意图,图3中c为a对应的生成树示意图4为本发明的Cell选取示意图,其中图4中a为区域调整前虚拟世界区域划分示 意图,图4中b为不采用相邻因子进行区域调整后的结果示意图,图4中c为采用相邻 因子进行区域调整后的结果示意图。
具体实施例方式
下面结合附图与实施例对本发明作进一步详细描述
本发明主要针对大规模DVE系统中同时存在大量用户,负载过重的区域会聚集在某
处,如图1所示,负载平衡难度相对较大的情况,提供了一种负载平衡的解决方法。
本发明实施过程包括三个主要步骤建立生成树,选取服务器集,调整区域。如图 2所示。
步骤一建立生成树。
生成树的建立是本发明的实现基础,直接影响方法的执行效率。生成树是以过载区 域服务器所管理的区域为根结点,其他区域服务器为一般结点而构成的。生成树中每个 结点的子结点为与其所管理的区域存在相邻关系的区域服务器所组成的。
生成树的建立主要分成二个阶段。
第一个阶段建立区域相邻表。
本发明为了使生成树的建立过程更加快捷需要维护一张区域相邻表,而且当用户在 多个区域服务器间进行移动时,区域相邻表亦可为缓冲机制提供服务。根据图3中(a) 给出的虚拟世界的初始区域划分状态得到区域相邻表如图3中(b)。
第二个阶段根据区域相邻表建立生成树。
根据区域相邻表就可以快速建立区域生成树,如区域RS4过载就可以根据区域相邻 表建立如图3中(c)给出的区域生成树。
生成树是服务器集选取的依据,随着虚拟世界的扩大,可能会划分很多区域,生成 树的层次会随着区域的增多而加深,服务器集选取所需的时间也会随之增加,可以通过 限定生成树的建立深度来实现服务器集选取效率和区域调整效果的平衡,本发明的方法 从深度为3开始建立生成树,如果无法找到有效服务器集合,则继续扩大生成树的深度。
步骤二选取服务器集。
服务器集的选取是本发明最关键的步骤,是区域调整的处理对象。为了选取目标服 务器集,首先需要定义区域服务器的状态。每个区域由一台服务器进行管理,称其为区
域服务器,记为RS。区域服务器的过载阈值OLT, OLT是其能够同时支持的最大用户
数。区域服务器的安全负载阈值是其能够安全运行的临界值,记为SLT。 L(RSi)表示区域 服务器当前的负载量。EL(RSi)表示区域服务器可接受的负载迁移量。
区域服务器存在三种状态过载状态、临界状态和安全状态。具体定义如下
a) 当L(RSi)^OLT时,称其为过载状态。
b) 当SLT5L(RSi)OLT时,称其为临界状态。
c) 当L(RSj)<SLT时,称其为安全状态。
处于过载状态的区域服务器需要执行区域调整方法来缓解过载;处于临界状态的区 域服务器不能接受迁移负载;处于安全状态的区域服务器可以接受迁移负载,是区域调 整方法的主要迁移目标。
服务器集的选取主要分成四个阶段。
第一个阶段建立路径集合。
在步骤一建立的生成树中,将所有以L(RSj)〈SLT的结点为起点,根结点为终点的路 径加入到一个集合中,形成路径集合。 第二个阶段确定待选服务器集。
从路径集合中得到所有路径组合构成的待选服务器集。设l路径集合l-n,则路径组合 的个数为211-1。
第三个阶段确定有效服务器集。
从所有待选服务器集中选取有效服务器集。有效服务器集是满足下式的待选服务器
集,其中过载区域服务器为RSi,集合中其它区域服务器为RSj:
L(szr -丄(及s》)-_ or) > o 。
第四个阶段确定目标服务器集。
对所有有效服务器集进行比较,选取含服务器数最少的作为最后进行区域调整的目 标服务器集。区域调整涉及的服务器越少,则方法效率越高,对系统正常运行的影响也越小。
通过以上阶段选取的负载迁移的目标服务器并不只局限在相邻区域,负载将沿着生
成树的路径迁移到负载聚集的区域之外,提高了负载平衡方法的效果。此外在大规模DVE 系统中,满足L(RSi)〈SLT的服务器相对较少,即n值较小,因此在2n-l个路径组合中 寻找目标服务器集不会使方法效率受到太大影响。如果在目标服务器集合中除了根结点 即调用方法的区域服务器以外还存在有其他过载的区域服务器,那么经集合内全局区域 调整后能缓解集合内所有过载区域服务器的过载状态,将其变为临界状态或安全状态。
步骤三调整区域。
在选取目标服务器集后,需要对集合内的区域服务器所管理的区域进行全局性的区 域调整。在本发明所适用的系统中,每个区域由多个Cdl组成,区域的动态调整是通过 Cell的迁移完成的。本发明给出了一种基于Cell的待迁移区域选择方法,降低区域调整 引入的计算开销。
区域的调整过程如下
(1) 在目标服务器集中选取为位于生成树层次最深且满L(RSi)<SLT的区域RSi作 为Cell迁移的目标对象,计算出EL(RSi),并从目标服务器集中删除RSi;
(2) 取得RSi的父节点区域RSj,从RSj选取负载之和为EL(RSj)的Cell集合,将这 些Cell迁移至RSi,更新RSj的负载,计算EL(RSj)。如果RSj即为生成树的根则转到第
(3)步,否则将j赋给i转到第(2)步;
(3) 判断目标服务器集是否为空,如果为空则结束区域调整,否则转到第(1)步。 每个区域由两种类型的Cell组成,进行迁移的Cell必须是边界Cdl。而且Cell的选
取必须考虑区域调整后使相邻边界线最短。因为当用户在区域边界上运动时往往会引起 管理此相邻区域的服务器间的通信,如果相邻区域的边界线越长,则产生服务期间通信 的可能性越大,对此相邻服务器造成的负担也越大,因此必须在Cell的选取时考虑迁移 后区域边界线的长度。如图4所示给出了 Cell选取的一个示例。图4中填充为灰色的Cell 是区域的部分边界Cell,填充为蓝色的Cell是被迁移的Cell。此时I^过载需要向R2迁 移CdI,如果选取Cells进行迁移则如图4 (b)中所示,边界线长度为7个Cdl边长。 但如果选取Cell6进行迁移则如图4 (c)中所示,边界线长度为4个Cell边长,明显后 者的Cell选取方式更优。
为了实现图4 (c)中的Cell选取方式,弓l入Cell的相邻因子(Neighbour Factor, NF)的定义。Cem的相邻因子表示为Celli与其相邻区域Rj的相邻边数,记为NF(Cell;, Rj)。如图4 (a)中Cell6与区域R2的相邻因子为NF(Ce116, R2)=3。
根据相邻因子,Cell的选取规则可定义为依次选取相邻因子最大的边界Cell进行 迁移。
Cell迁移会造成与其相邻的Cell类型的改变,需要动态调整受影响的Cell的类型。 如图4中Cells的迁移将影响的Cellg和Celluj的类型,Cell6的迁移将影响的Cell:t和Cell9 的类型。同时在区域调整中Cell的迁移,也可能会使区域的相邻关系发生变化,需要对 区域相邻表进行更新。
本发明说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
以上所述仅是本发吸的优选实施方式,应当指出,对于本技术领域的普通技术人员 来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也 应视为本发明的保护范围。
权利要求
1、一种基于路径组合的多服务器动态区域调整方法,其特征在于步骤如下第一步,建立生成树以过载区域服务器为根结点建立区域生成树,为选取目标服务器集提供依据;第二步,选取服务器集区域生成树建立完成后,首先将符合要求的路径组成集合,然后从路径集合中构造路径组合,对路径集合进行评估计算,得到可以进行负载平衡的有效服务器集,最后从所有有效服务器集中选取含服务器数最少的作为目标服务器集;第三步,调整区域在选取目标服务器集后,对集合内的区域服务器所管理的区域进行基于Cell(Cell是虚拟环境中划分的最小单位,如图1所示,Cell的相邻关系定义为两个Cell存在一条公共边;Cell分为两种类型边界Cell和内部Cell;边界Cell定义为R为区域,a、b为Cell,a∈Ri,I={b |b与a相邻},<maths id="math0001" num="0001" ><math><![CDATA[ <mrow><mo>&Exists;</mo><mi>b</mi><mo>&Element;</mo><mi>Rj</mi><mo>,</mo> </mrow>]]></math> id="icf0001" file="A2008102220410002C1.tif" wi="13" he="3" top= "115" left = "90" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/></maths>且i≠j,则称a为边界Cell;)的全局性的区域调整,以完成负载平衡。
2、 根据权利要求1所述的基于路径组合的多服务器动态区域调整方法,其特征在于所述第一步中的以过载区域服务器为根结点的区域生成树构建的步骤如下(1) 建立区域相邻表;(2) 根据区域相邻表,以过载区域服务器建立生成树。
3、 根据权利要求1所述的基于路径组合的多服务器动态区域调整方法,其特征在于 所述第二步中的路径组合构造的步骤如下(1) 在建立的生成树中,将所有以L(RS0<SLT的结点为起点,根结点为终点的路 径加入到一个路径集合中,其中SLT为区域服务器的安全负载阈值是其能够安全运行的 临界值,L(RSi)表示区域服务器当前的负载量;(2) 从路径集合中得到所有路径组合,即获取路径集合的所有子集,称其为待选服 务器集。
4、 根据权利要求l所述的基于非均匀空间划分的场景可见性裁剪方法,其特征在于-. 所述第二步中的目标服务器集选取的步骤如下(1)从所有待选服务器集中选取有效服务器集,有效服务器集是满足 Z(i^》_(£(/^,)-0£70>0的待选服务器集,其中过载区域服务器为RSi,集合中其它区域服务器为RSj, SLT为区域服务器的安全负载阈值是其能够安全运行的临界 值,L(RSi)表示区域服务器当前的负载量,区域服务器的过载阈值OLT;(2)对所有有效服务器集进行比较,选取含服务器数最少的作为最后进行区域调整 的目标服务器集。
5、根据权利要求1所述的基于路径组合的多服务器动态区域调整方法,其特征在于 所述第三步中的基于Cell的区域调整的步骤如下(1) 在目标服务器集中选取为位于生成树层次最深且满L(RSi)<SLT的区域服务器 RSi作为Cell迁移的目标对象,计算出EL(RSi),并从目标服务器集中删除RSi,其中RS 为区域服务器,EL(RSi)表示区域服务器可接受的负载迁移量,SLT为区域服务器的安全 负载阈值是其能够安全运行的临界值,L(RSi)表示区域服务器当前的负载量;(2) 取得RSi的父节点区域RSj,从RSj选取负载之和为EL(RSi)的Cell集合,将这 些Cell迁移至RSi,更新RSj的负载,计算EL(RS」);如果RSj即为生成树的根则转到第(3)步,否则将j赋给i转到步骤(2);(3) 判断目标服务器集是否为空,如果为空则结束区域调整,否则转到步骤(1)。
全文摘要
一种基于路径组合的多服务器动态区域调整方法(1)以过载区域服务器为根结点建立区域生成树;(2)选取服务器集首先将符合要求的路径组成集合,然后从路径集合中构造路径组合,对路径集合进行评估计算,得到可以进行负载平衡的有效服务器集,最后从所有有效服务器集中选取含服务器数最少的作为目标服务器集;(3)调整区域在选取目标服务器集后,对集合内的区域服务器所管理的区域进行全局性的区域调整,以完成负载平衡。本发明通过生成树的路径向外延伸,穿越用户聚集区域,在聚集区域外层找到轻载服务器,提高了负载平衡的效率,并在此基础上对集合内的服务器进行基于Cell的待迁移区域选择,从而产生较小开销。
文档编号H04L29/08GK101355518SQ20081022204
公开日2009年1月28日 申请日期2008年9月8日 优先权日2008年9月8日
发明者梁晓辉, 林 许, 可 谢 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1