一种多服务器dve系统中保持连通性的动态匹配方法

文档序号:9869978阅读:262来源:国知局
一种多服务器dve系统中保持连通性的动态匹配方法
【技术领域】
[0001]本发明涉及多服务器结构DVE系统中的动态匹配技术,具体涉及一种多服务器DVE系统中保持连通性的动态匹配方法。
【背景技术】
[0002]分布式虚拟环境(Distributed Virtual Environment,简称DVE)系统由于其低开销,可重复性以及安全性等优点,已经被广泛应用于在线游戏,远程教育以及军事训练等多个领域。伴随着用户规模的不断扩大,系统的可扩展性问题日益严重,因此,具有高可扩展性的多服务器结构DVE系统得到了工业界和学术界的广泛关注。如图1所示,在现有的某多服务器DVE系统中,整个虚拟环境系统由通过高速互联网络相互连接的多台服务器(Server#l?Server#4)共同维护。同单服务器结构DVE系统不同,在多服务器结构下,客户端可以由系统中任意一台服务器提供服务,因此如何在运行时将众多的客户端分配给合适的服务器,即通常所谓的匹配问题,就成为了影响系统运行效果的关键问题。恰当的匹配可以有效改善系统的响应能力、平衡服务器之间的工作负载并有效降低服务器间的通信开销。相反,不恰当的匹配可能会严重影响系统的整体性能,进而破坏用户在虚拟环境中的交互体验。
[0003]由于客户端在虚拟环境中的机动性,匹配结果通常需要在运行期进行动态的调整,即采用所谓的动态匹配方法,将客户端所属的部分虚拟空间在不同的服务器之间进行迀移。在动态匹配过程中,通常有三方面的要素需要注意,即客户端与服务器间通信延迟,服务器间的负载平衡以及虚拟世界的完整性。保持客户与服务器之间的低通信延迟可以保证用户在虚拟环境中很好的交互体验,而在服务器间保持负载均衡同样是为了避免过载的服务器无法为用户提供可接受的响应能力,现有的研究工作也主要集中在优化这两个要素。然而事实上,保持虚拟世界完整性这一要素也同样重要。所谓保持虚拟世界完整性是指在将整个虚拟空间划分为多个区域并分配给不同的服务器时,尽可能地保证每个服务器负责区域的连通性与完整性。如果匹配结果不能保持较好的虚拟世界完整性,比如虚拟世界被划分为大量的细小碎片并且大部分的相邻碎片都被分配到不同的服务器上。这种匹配结果一方面增加了虚拟世界地图维护的复杂性,另一方面也大大的增加了客户端在各个服务器之间迀移的概率以及各个服务器之间的通讯开销。因此,如何能在动态匹配过程中尽量保持较好的虚拟世界完整性就成为了多服务器结构下DVE系统需要解决的一个关键问题。

【发明内容】

[0004]本发明要解决的技术问题:针对现有技术的上述问题,提供一种匹配过程速度快、效果好,能够有效保证各服务器维护区域的连通性,能够保障多服务器DVE系统虚拟世界完整性要素、用户真实体验好、适用性好的多服务器DVE系统中保持连通性的动态匹配方法。
[0005]为了解决上述技术问题,本发明采用的技术方案为:
一种多服务器DVE系统中保持连通性的动态匹配方法,步骤包括: 1)在多服务器DVE系统运行前,预先将多服务器DVE系统的虚拟环境的二维空间根据服务器数量划分为多个无孔的连通区域,每个区域都由具有相同大小的正方形的区块组成,所述区块为负载均衡过程中不同服务器之间进行二维空间迀移的最小单位;所述连通区域指组成该区域的所有区块可组成强连通子图,对于该区域中的任何两个区块,都可以在该区域内找到一条路径连接这两个区块,且该路径只包括水平和垂直两个方向的连接线,并不包括45度角的斜线;所述无孔的连通区域是指该区域内部不包含不属于该区域的区块,描述为该连通区域的补充区域也是连通区域,所述该连通区域的补充区域是指虚拟空间中除去该连通区域的之外其他区块共同组成的区域;将划分得到的多个无孔的连通区域分别指派给不同的服务器,每个服务器负责维护所分配区域及其上运行的客户端实体;
2)在多服务器DVE系统运行期间,各个服务器周期性地检查自身的负载情况,如果负载超出预设的负载阈值,则启动动态匹配过程,根据区域连通性检查法则和区块满意度优化原则对所分配区域的备选迀移区块进行选择,并根据选择结果将相应区块发送给维护相邻区域的服务器。
[0006]优选地,所述步骤2)的详细步骤包括:
2.1)在多服务器DVE系统运行期间,各个服务器周期性地检查自己的负载情况,判断自身的负载是否超出预设的负载阈值,如果自身的负载超出预设的负载阈值,则跳转执行步骤2.2),否则在下一个周期时跳转执行步骤2.1);
2.2)当前服务器向在多服务器DVE系统虚拟环境的二维空间中维护相邻区域的服务器发送区块迀移请求,收到区块迀移请求的服务器根据自身目前负载情况给予反馈,若目前处于低负载情况则反馈可以迀移,否则反馈无法迀移;
2.3)当前服务器接收来自其他服务器的反馈,若其他服务器均反馈无法接收当前服务器的迀移请求,则本周期的动态匹配过程中止,在下一周期跳转执行步骤2.1),否则当前服务器从自身维护的区域中选择备选迀移区块准备进行动态匹配;
2.4)当前服务器根据区域连通性检查法则对备选迀移区块进行筛选,保留可以保持迀出与迀入服务器的无孔连通性的区块;
2.5)当前服务器根据区块满意度优化原则对可迀移区块进行排序;
2.6)当前服务器根据排序结果选择区块发送给反馈可以进行迀移的服务器实施迀移;
2.7)当前服务器判断自身的负载情况是否仍然超出预设的负载阈值,如果仍然超出预设的负载阈值,则跳转执行步骤2.4);否则迀移过程结束,在下一个周期跳转执行步骤
2.D0
[0007]优选地,所述步骤2.4)的详细步骤包括:
2.4.1)对备选迀移区块和待迀出区域按照区块迀出区域的无孔连通性保持原则进行检查,如果可以保持,则在可迀移区块列表中保留该区块,否则剔除该区块;
2.4.2)对备选迀移区块和待迀入区域的补充区域按照区块迀出区域的无孔连通性保持原则进行检查,如果可以保持,则在可迀移区块列表中保留该区块,否则剔除该区块。
[0008]优选地,所述区块迀出区域的无孔连通性保持原则包括下述规则:①如果区块与区域的交界线有一个,则该区块迀出该区域不会影响区域的无孔连通性;②如果区块与区域的交界线有两个、且交界线位于区块相对的两侧,则该区块迀出该区域会影响区域的无孔连通性;③如果区块与区域的交界线有两个、且交界线位于区块相邻的两侧,当该区块在相邻交界线的对角区块也属于该区域时,则该区块迀出该区域不会影响区域的无孔连通性,否则当该区块在相邻交界线的对角区块不属于该区域时,则该区块迀出该区域会影响区域的无孔连通性,所述相邻交界线的对角区块是指与该区块相邻的两个区块也都相邻的区块;④如果区块与区域的交界线有三个,当该区块在两组相邻交界线的对角区块都属于该区域时,则该区块迀出该区域不会影响区域的无孔连通性,否则当该区块在两组相邻交界线的对角区块不都属于该区域时,则该区块迀出该区域会影响区域的无孔连通性,所述相邻交界线的对角区块是指与该区块相邻的两组区块分别相邻的两个区块;⑤如果区块与区域的交界线有四个,则该区块迀出该区域会影响区域的无孔连通性。
[0009]优选地,所述步骤2.5)的详细步骤包括:对备选迀移区块按区块不满意度调整值由高到低的顺序进行排序,所述区块不满意度调整值为该备选迀移区块在迀出服务器的不满意度减去该区块在待迀入服务器的不满意度,所述区块在服务器的不满意度是指该区块中与该服务器的通信延迟高于额定延迟的客户端的数量。
[0010]本发明多服务器DVE系统中保持连通性的动态匹配方法具有下述优点:本发明面向多服务器结构DVE系统中影响系统运行效果的关键问题动态匹配问题,在保持现有匹配方法重视服务器间负载的均衡性以及客户端与服务器之间的延迟情况的同时,进一步考虑了虚拟世界完整性对系统运行效果的影响,通过引入区域连通性检查法则对备选迀移区块进行筛选,
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1