CN103218265A - 基于空间密度聚类的并行式虚拟角色划分方法 - Google Patents

基于空间密度聚类的并行式虚拟角色划分方法 Download PDF

Info

Publication number
CN103218265A
CN103218265A CN2013101618628A CN201310161862A CN103218265A CN 103218265 A CN103218265 A CN 103218265A CN 2013101618628 A CN2013101618628 A CN 2013101618628A CN 201310161862 A CN201310161862 A CN 201310161862A CN 103218265 A CN103218265 A CN 103218265A
Authority
CN
China
Prior art keywords
server
virtual role
virtual
servers
cluster
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2013101618628A
Other languages
English (en)
Other versions
CN103218265B (zh
Inventor
胡海洋
许旭
胡华
李涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Dianzi University
Original Assignee
Hangzhou Dianzi University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN201310161862.8A priority Critical patent/CN103218265B/zh
Publication of CN103218265A publication Critical patent/CN103218265A/zh
Application granted granted Critical
Publication of CN103218265B publication Critical patent/CN103218265B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了基于空间密度聚类的并行式虚拟角色划分方法。本发明首先初始化DVE系统虚拟环境,采用静态多服务器划分方法进行区域划分,得到的一个四叉树结构模型。其次把已经聚类好的用户分配给多个服务器。然后在系统运行阶段,采用动态区域划分方法进行密度聚类;最后采用动态分配服务器方法将每个聚类中的用户分配到相应服务器中,并处理不满足负载平衡条件的服务器,将多余用户分配到最大剩余负载服务器中。该发明采用空间密度聚类方法将适量的虚拟角色划分给服务器,从而及时响应客户端的各类请求信息,有效地减少虚拟角色之间的视图不一致性事件,并使服务器端的负载达到均衡。

Description

基于空间密度聚类的并行式虚拟角色划分方法
技术领域
     本发明涉及一种虚拟角色划分方法,特别是一种基于空间密度聚类的虚拟角色划分方法。
背景技术
分布式虚拟环境(DVE)系统是由不同地点的虚拟现实终端通过网络共同生成一个逼真的虚拟世界。它可以让这些不同地点的用户参与到同一个虚拟环境中进行交互,即生成的虚拟角色(avatar)在虚拟环境中进行自由移动,并相互“交流”,获取彼此间的状态信息。关于DVE系统的架构设计已日渐成熟,通常采用的是两级层次架构模型用来管理海量虚拟用户的信息。其中一层架构是,服务器端与服务器端之间进行通信,其目的是共享每个客户端处的虚拟角色状态信息的副本,使其他客户端方便获取其信息。另一层架构是每个服务器分配有一定数量的用户,并且负责管理这些用户的虚拟角色,即:Ⅰ响应本地请求,将某一虚拟角色的状态更新信息直接发送给本地其他用户;Ⅱ响应其他服务器请求,将本地虚拟角色的状态更新信息发送给其他服务器;Ⅲ接收并转发其他服务器传送的虚拟角色状态更新信息。由于网络带宽和服务器的负载能力有限,当分配到某一服务器端的用户数量超过其阈值时,虚拟角色的状态更新数据包的丢包率将大大增加。这将导致每个客户端处虚拟环境的视图不一致,从而影响了用户的真实体验。关联过滤方法有效的缓解了这一状况,即DVE系统中的每个虚拟角色都负责维护一个感兴趣区(AOI)。只有在同一个AOI区域内的虚拟角色才进行“通信”,即服务器仅仅将虚拟角色的状态更新数据包发送给该区域内的用户。这种方法有效的减少了服务器端的负载,并且相对提高了DVE系统的运行效率。但是,在网络背景下,通信延迟无法避免,再加上参与虚拟环境中的用户数量瞬间增加,服务器超负荷工作,这就使得虚拟角色的状态更新信息不能及时到达其他用户那里,也就无法及时更新虚拟环境中的视图,这与设计DVE系统的初衷是相背的。因此必须提出有效的机制来维持每个服务器的负载均衡,并且减少虚拟角色的位置移动而发生的不一致性事件。在此背景下,提出一种有效划分动态虚拟角色的方法,即基于空间密度聚类的思想实现DVE系统中虚拟角色间的聚类,然后根据聚类的大小和服务器的负载能力选取优化的分配策略,从而实现保持服务器负载均衡以及减少视图不一致性的目标。
发明内容
本发明针对目前的技术的不足,提出一种基于空间密度聚类的优化分配虚拟角色给服务器的划分方法。
本发明方法的大体思想是:
在初始化DVE系统环境阶段,任何客户端用户都具有虚拟空间的初始化位置,此时采用基于空间距离的静态多服务器划分方法,即四叉树划分方法(Quadtree Partition Algorithm,简称QPA),将空间距离较近的用户划分到同一个服务器内。由于初始化阶段有大量的系统数据需要初始化,包含有环境参数资料录入、用户数据加入服务器、服务器参数初始化等等。因此,采用QPA方法能够使得虚拟空间中欧几里得距离较近的用户尽可能的聚类到一起,并且把同一聚类中的用户尽可能的分配到同一个服务器内。这样就尽可能的保证了这些虚拟角色间的通讯延迟较小,使整个虚拟现实系统的网络质量得以保证。QPA方法还具有的优点是速度较快,能够在定量时间复杂度的数量级下完成算法的执行过程,这也就提高了DVE系统的运行速度。
在DVE系统运行阶段,每时每刻系统的实时数据都可能会发生变化,即虚拟角色加入、退出系统、在线虚拟角色的移动和通信等等。此时采用基于密度聚类的动态多服务器划分方法(Dynamic Cluster Algorithm,简称DCA)。此方法是对传统的密度聚类算法DBSCAN和虚拟空间距离角度的区域划分方法的进一步改进,即改进了DBSCAN算法中关于虚拟角色的邻域半径阈值Eps和邻近虚拟角色的数量阈值MinPts,并提出一种裁剪步的操作使待处理用户规模大小降低。结合密度聚类的虚拟现实区域划分方法(User Cluster Algorithm,简称UCA),把虚拟现实环境中的所有虚拟角色通过聚类方法划分为不同的多个聚类中。然后为解决服务器负载平衡问题,采用动态分配服务器方法(Dynamic Assign Server,简称DAS)将每个聚类中的用户分配到同一个服务器中。当聚类中用户个数大于对应服务器负载能力时,判定哪些用户为多余用户,并将这些多余用户再分配给其他“空闲”服务器。这样合理和有效的解决了虚拟环境中运行阶段应用系统所期待的特点要求,同时缩短了用户与服务器通信或与其他用户通信时所需的等待时间。
本发明方法的具体步骤是:
步骤(1)初始化DVE系统虚拟环境,包括2D空间区域的规格、虚拟角色的初始位置状态、用户的视窗范围等。
步骤(2)采用静态多服务器划分方法(即QPA方法)进行区域划分,得到的一个四叉树结构模型,使每个四叉树叶节点含有合适数量的虚拟角色。
步骤(3)根据步骤(2)区域划分得到的四叉树模型结果,把已经聚类好的用户分配给多个服务器。
步骤(4)系统运行阶段,采用动态区域划分方法(DCA)进行密度聚类;
步骤(5)采用动态分配服务器方法(DAS)将每个聚类中的用户分配到相应服务器中,并处理不满足负载平衡条件的服务器,将多余用户分配到最大剩余负载服务器中;
步骤(6)在系统的刷新周期T内,处理某一用户进入、移动、离开所在服务器的情况,即执行步骤(4)和(5)。
本发明的有益效果:该发明用于具有大规模用户、基于多服务器架构下的分布式虚拟环境中,比如大型商业在线游戏、军事训练及远程教育等领域,用于维护其虚拟角色之间视图的一致性。该发明采用空间密度聚类方法将适量的虚拟角色划分给服务器,从而及时响应客户端的各类请求信息,有效地减少虚拟角色之间的视图不一致性事件,并使服务器端的负载达到均衡。
具体实施方式
相关概念定义及符号说明
                                                   
Figure 2013101618628100002DEST_PATH_IMAGE002
:表示第i个虚拟角色,包含自身信息和服务器信息;
            
Figure 2013101618628100002DEST_PATH_IMAGE004
:表示第i个服务器,包含自身信息和虚拟角色的信息;
            
Figure 2013101618628100002DEST_PATH_IMAGE006
:表示系统刷新周期;
            
Figure 2013101618628100002DEST_PATH_IMAGE008
:表示空间数据库DB的虚拟角色集合;
            
Figure 2013101618628100002DEST_PATH_IMAGE010
:表示空间数据库DB的服务器集合;
            
Figure 2013101618628100002DEST_PATH_IMAGE012
:表示服务器
Figure 80349DEST_PATH_IMAGE004
的负载能力;
            
Figure 2013101618628100002DEST_PATH_IMAGE014
:表示时间戳t时的虚拟角色i的移动速度信息;
            AOI(
Figure 638237DEST_PATH_IMAGE002
):表示虚拟角色
Figure 480291DEST_PATH_IMAGE002
的视窗信息;
            AOM(
Figure 937817DEST_PATH_IMAGE002
):表示虚拟角色
Figure 315971DEST_PATH_IMAGE002
移动可见兴趣区域;
            
Figure 2013101618628100002DEST_PATH_IMAGE016
:表示第i个聚类,包含聚类中所有的虚拟角色信息;
            
Figure 2013101618628100002DEST_PATH_IMAGE018
:表示虚拟角色的聚类数据;
    InE(
Figure 592417DEST_PATH_IMAGE002
):表示虚拟角色
Figure 352170DEST_PATH_IMAGE002
发生不一致性事件的次数;
本发明所提供的基于空间密度聚类的优化分配用户给服务器的划分方法的具体实施步骤如下:
(1)初始化DVE系统虚拟环境,具体工作如下:
(1.1)初始化虚拟环境2D空间区域的大小为n*n(n为事先设定的值);
(1.2)根据空间虚拟角色集合
Figure 83365DEST_PATH_IMAGE008
初始化虚拟角色
Figure 76729DEST_PATH_IMAGE002
的初始位置状态o(x,y);
(1.3)初始化虚拟角色AOI区域半径R的值,并计算虚拟角色
Figure 893375DEST_PATH_IMAGE002
的视窗范围大小,即AOI() =
Figure 2013101618628100002DEST_PATH_IMAGE020
(2)采用静态多服务器划分方法(即QPA方法)进行区域划分,具体工作如下:
(2.1)根据虚拟环境2D空间区域中虚拟角色的位置信息均匀划分(长与宽对半折)该区域,过程如下:
(2.2)统计四叉树根节点i(原空间区域视为根节点)包含的用户个数
Figure 2013101618628100002DEST_PATH_IMAGE022
(2.3)判断划分终止条件为虚拟区域中包含的虚拟角色数为0、或虚拟区域的直径大小为R;如果不满足此条件,将原空间区域划分为四个面积相同的区域,此时,该四叉树节点对应四个子节点;
(2.4)递归操作步骤(2.3),直至满足终止条件。
(3)根据步骤(2)区域划分得到的虚拟区域四叉树模型结果,把相应的虚拟角色分配给多个服务器,过程如下:
(3.1)扫描四叉树模型的叶子节点并由左到右的顺序链接,保存扫描得到的叶子节点,直到四叉树所有叶子节点均已扫描完毕;
 (3.2) 将叶子节点所代表的虚拟区域、及其相邻区域中的虚拟角色划分给同一个聚类:划分过程中判断是否满足负载平衡的条件
Figure 2013101618628100002DEST_PATH_IMAGE024
,如果满足此条件,那么就继续针对当前服务器的虚拟角色分配;如果不满足此条件,需要把虚拟角色分配给新的空闲服务器。
(3.4)循环执行以上两步,直至所有用户分配完成。然后标识这些虚拟角色所在的聚类号;
(4)系统运行阶段,采用动态区域划分方法(DCA)进行密度聚类,具体工作如下:
(4.1)系统计算并设置虚拟角色的邻域面积阈值和邻近虚拟角色的数量阈值MinPts,即用户
Figure 966822DEST_PATH_IMAGE002
移动可见域为
Figure 2013101618628100002DEST_PATH_IMAGE026
,我们用
Figure 2013101618628100002DEST_PATH_IMAGE028
来表示虚拟角色的领域面积阈值;虚拟角色的最邻近用户数量阈值为
Figure 2013101618628100002DEST_PATH_IMAGE030
=
Figure 2013101618628100002DEST_PATH_IMAGE032
,其中Area(DVE)表示整个虚拟区域的面积。
(4.2)根据上步设定的
Figure 150328DEST_PATH_IMAGE028
值对所有用户按降序排序,并把排序结果保存在队列Array中。
(4.3)接着服务器从队列Array中不停地取出虚拟角色
Figure 2013101618628100002DEST_PATH_IMAGE034
,判断
Figure 18052DEST_PATH_IMAGE034
是其所在聚类的边缘节点还是中心节点,处理如下:若为边缘节点,即位于
Figure 61280DEST_PATH_IMAGE028
中的虚拟角色数小于
Figure 957299DEST_PATH_IMAGE030
,则直接将该虚拟角色标记为已处理且有噪声节点;若为中心节点且满足成为聚类的条件,即位于
Figure 686220DEST_PATH_IMAGE028
中的虚拟角色数大于
Figure 827352DEST_PATH_IMAGE030
,则扩展该聚类范围,实施相应的密度可达聚类;
(4.4)按以上步骤依次处理队列Array中还未标记的用户对象,直到队列Array为空为止。于是,虚拟现实环境中的所有虚拟角色通过聚类方法区域划分到不同的多个聚类中;
(5)采用动态分配服务器方法将每个聚类中的用户分配到相应服务器中,具体工作如下:
(5.1)扫描每个聚类,找到聚类的几何重心,然后对该聚类中的每个虚拟角色按其到几何重心的距离进行排序,建立一个距离由小到大的序列;
(5.2)执行服务器分配,即从上步获得序列的最前排开始分配,为每个用户分配服务器并进行判断是否满足负载平衡条件,处理如下:
若满足此条件,继续下一个虚拟角色的分配;若不满足,将从当前虚拟角色开始,将其划分给新的空闲的服务器;
(6)在系统的刷新周期T内,当某一用户进入、移动、离开所在服务器时,执行步骤(4)和(5)。

Claims (1)

1. 基于空间密度聚类的并行式虚拟角色划分方法,其特征在于该方法的具体步骤:
步骤(1)初始化DVE系统虚拟环境,包括2D空间区域的规格、虚拟角色的初始位置状态、虚拟角色的视窗范围;
步骤(2)采用静态多服务器划分方法进行区域划分,得到的一个四叉树结构模型,使每个四叉树叶节点含有合适数量的虚拟角色;
步骤(3)根据步骤(2)区域划分得到的四叉树结构模型结果,把位于同一虚拟区域或邻近虚拟区域的虚拟角色划分给同一个服务器;
步骤(4)处理服务器负载均衡,即当前服务器已经达到负载能力范围后,将其它虚拟角色分配给新的、空闲服务器;
步骤(5)系统运行阶段,根据系统计算并设置的虚拟角色邻域范围阈值和邻近虚拟角色的数量阈值MinPts以及裁剪步操作,采用动态区域划分方法进行密度聚类;
步骤(6)采用动态分配服务器方法将每个聚类中的用户分配到相应服务器中,并处理不满足负载平衡条件的服务器,将多余用户分配到空闲服务器中;
步骤(7)在系统的刷新周期T内,当某虚拟角色进入、移动、离开所在服务器时,执行步骤(4)和步骤(5)。
CN201310161862.8A 2013-05-06 2013-05-06 基于空间密度聚类的并行式虚拟角色划分方法 Active CN103218265B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310161862.8A CN103218265B (zh) 2013-05-06 2013-05-06 基于空间密度聚类的并行式虚拟角色划分方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310161862.8A CN103218265B (zh) 2013-05-06 2013-05-06 基于空间密度聚类的并行式虚拟角色划分方法

Publications (2)

Publication Number Publication Date
CN103218265A true CN103218265A (zh) 2013-07-24
CN103218265B CN103218265B (zh) 2016-04-27

Family

ID=48816087

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310161862.8A Active CN103218265B (zh) 2013-05-06 2013-05-06 基于空间密度聚类的并行式虚拟角色划分方法

Country Status (1)

Country Link
CN (1) CN103218265B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106991013A (zh) * 2017-04-18 2017-07-28 腾讯科技(深圳)有限公司 一种对资源请求进行处理的方法及装置
CN108182230A (zh) * 2017-12-27 2018-06-19 南京师范大学 基于位向量四叉树的移动对象汇聚模式挖掘方法
CN110784506A (zh) * 2019-09-05 2020-02-11 腾讯科技(深圳)有限公司 一种云资源分配方法、装置及系统
CN113592668A (zh) * 2021-06-25 2021-11-02 杭州智果科技有限公司 一种水质区域划分管理系统
CN113810916A (zh) * 2021-09-14 2021-12-17 电子科技大学 一种5g/6g边缘计算场景下的多服务器混合部署架构及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080104245A1 (en) * 2006-10-25 2008-05-01 Francisco Romero System and method for selectively controlling the addition of reserve computing capacity
CN102567077A (zh) * 2011-12-15 2012-07-11 杭州电子科技大学 一种基于博弈论的虚拟化资源分配方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080104245A1 (en) * 2006-10-25 2008-05-01 Francisco Romero System and method for selectively controlling the addition of reserve computing capacity
CN102567077A (zh) * 2011-12-15 2012-07-11 杭州电子科技大学 一种基于博弈论的虚拟化资源分配方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
LUI J.C.S. ET AL: "An efficient partitioning algorithm for distributed virtual environment", 《IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS》 *
卫宁 等: "DVE系统下基于区域密度划分算法研究", 《计算机仿真》 *
李忠福 等: "DVE中基于四叉树的形缺管理研究", 《微计算机信息》 *
栾丽华 等: "一种基于四叉树的快速聚类算法", 《计算机应用》 *
胡海洋 等: "虚拟环境中一种基于密度聚类的区域划分算法", 《系统仿真学报》 *
陶道 等: "一种基于动态四叉树划分区域的兴趣管理方法", 《微计算机信息》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106991013A (zh) * 2017-04-18 2017-07-28 腾讯科技(深圳)有限公司 一种对资源请求进行处理的方法及装置
CN106991013B (zh) * 2017-04-18 2018-09-07 腾讯科技(深圳)有限公司 一种对资源请求进行处理的方法及装置
US11216313B2 (en) 2017-04-18 2022-01-04 Tencent Technology (Shenzhen) Company Limited Method and apparatus for processing resource request
CN108182230A (zh) * 2017-12-27 2018-06-19 南京师范大学 基于位向量四叉树的移动对象汇聚模式挖掘方法
CN108182230B (zh) * 2017-12-27 2020-11-03 南京师范大学 基于位向量四叉树的移动对象汇聚模式挖掘方法
CN110784506A (zh) * 2019-09-05 2020-02-11 腾讯科技(深圳)有限公司 一种云资源分配方法、装置及系统
CN110784506B (zh) * 2019-09-05 2021-05-14 腾讯科技(深圳)有限公司 一种云资源分配方法、装置及设备
CN113592668A (zh) * 2021-06-25 2021-11-02 杭州智果科技有限公司 一种水质区域划分管理系统
CN113592668B (zh) * 2021-06-25 2023-11-03 杭州智果科技有限公司 一种水质区域划分管理系统
CN113810916A (zh) * 2021-09-14 2021-12-17 电子科技大学 一种5g/6g边缘计算场景下的多服务器混合部署架构及方法

Also Published As

Publication number Publication date
CN103218265B (zh) 2016-04-27

Similar Documents

Publication Publication Date Title
CN104461740B (zh) 一种跨域集群计算资源聚合和分配的方法
CN103218265B (zh) 基于空间密度聚类的并行式虚拟角色划分方法
CN108170530B (zh) 一种基于混合元启发式算法的Hadoop负载均衡任务调度方法
Bezerra et al. A load balancing scheme for massively multiplayer online games
Liu et al. Swarm optimization algorithms applied to multi-resource fair allocation in heterogeneous cloud computing systems
Pluzhnik et al. Optimal control of applications for hybrid cloud services
Liu et al. Task scheduling in fog enabled Internet of Things for smart cities
Filiposka et al. Community-based allocation and migration strategies for fog computing
CN102624922A (zh) 一种网络gis异构集群服务器负载均衡方法
Chertov et al. Optimistic load balancing in a distributed virtual environment
CN105975345A (zh) 一种基于分布式内存的视频帧数据动态均衡存储管理方法
CN107257356B (zh) 一种基于超图分割的社交用户数据优化放置方法
Pius et al. Survey on load balancing in cloud computing
CN108182243A (zh) 一种基于Spark的分布式进化算法岛模型并行化方法
CN101778135A (zh) 一种农村综合信息平台的服务器系统及其运行方法
Medhat et al. An Ant Algorithm for cloud task scheduling
CN103269519B (zh) 一种集中式基站架构中的处理资源分配方法与系统
Zhou et al. JPR: Exploring joint partitioning and replication for traffic minimization in online social networks
CN105740398A (zh) 虚拟旅游互动平台
Farooq et al. Faster dynamic spatial partitioning in opensimulator
Morillo et al. An ACS-based partitioning method for distributed virtual environment systems
Li et al. Research on container migration mechanism of power edge computing on load balancing
Morillo et al. An adaptive load balancing technique for distributed virtual environment systems.
Bezerra et al. A fine granularity load balancing technique for MMOG servers using a kd-tree to partition the space
CN102710615A (zh) 一种网络游戏动态负载均衡方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant