[发明专利]地图服务器、视野的控制方法和系统有效
申请号: | 201210210449.1 | 申请日: | 2012-06-25 |
公开(公告)号: | CN103514799A | 公开(公告)日: | 2014-01-15 |
发明(设计)人: | 蔡铭福;丁晓成 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G09B29/10 | 分类号: | G09B29/10 |
代理公司: | 广州华进联合专利商标代理有限公司 44224 | 代理人: | 何平;曾旻辉 |
地址: | 518044 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 地图 服务器 视野 控制 方法 系统 | ||
技术领域
本发明涉及计算机技术领域,特别是涉及一种地图服务器、视野的控制方法和系统。
背景技术
在基于地图的应用程序中,每个用户(通常以对象来实现)所在的客户端所能显示的场景范围称为该用户的视野。对于基于地图的应用程序,在地图服务器通常会维护每个用户对应的视野列表,该视野列表即为该用户所在的客户端应显示的用户列表。例如,对于用户A,其对应的视野列表中包含了其他10个用户,在用户A所在的客户端应显示视野列表中的这10个用户。
由于用户在一个地图场景中的位置会经常变化,当用户对应的视野列表中的数据变化时,该用户所在客户端的地图场景中所显示的用户也会变化,也即该用户的视野发生了变化。
当某个用户的状态信息变化时,地图服务器会实时获取到该用户的状态变化信息,并将该用户的状态变化信息广播至其对应的视野列表中的其他用户所在的客户端。
在一个地图场景中,地图中的每一个用户都需要随时把自己的状态变化信息通知到场景中的其它用户。这种变化信息由服务器进行验证,然后服务器把它广播到场景中其它用户的客户端上。现在的基于地图的应用程序中地图场景通常都非常大,如果用户对应的视野列表中包含了该用户所在地图场景中的所有其他用户,则地图服务器广播用户的状态变化信息时将会十分的耗费资源。
服务器总的广播包量与场景中用户的数量之间是n*n的关系,场景中用户的数量越多,广播的包量也越多。以每人每秒产生一个变化信息包、变化信息包大小500字节、场景中用户2000人计算,如果所有人的状态变化都通知到场景中所有用户,将产生500*2000*2000=2GB/秒=16Gbps的流量。这种流量远远超出了千兆网卡的承受能力,同时也会造成服务器的CPU压力超出承受能力。
传统解决方法是把地图场景分成很多小格,服务器维护每个小格上有哪些用户。传统的地图服务器维护的用户对应的视野列表中包含的是以用户为中心的九宫格范围内的用户,则地图服务器可将用户的状态变化信息广播给该九宫格范围内的其他用户。
然而,由于在一些地图场景中的某些位置,用户会比较集中,传统的这种地图服务器所维护的视野列表在这些地图场景下仍然可能包含大量的用户,因此传统的地图服务器在广播用户的状态变化信息时仍然会十分的耗费资源,服务器的广播压力仍然很大。
发明内容
基于此,有必要提供一种能够有效降低服务器的广播压力的地图服务器、视野的控制方法和系统。
一种地图服务器,包括:
用户列表获取模块,用于获取以当前用户为中心的九宫格内的用户列表;
距离队列生成模块,用于获取所述用户列表中的用户与所述当前用户之间的距离,根据所述距离生成与预设的距离范围对应的至少二个距离队列,所述距离队列中包含与所述当前用户之间的距离在对应的距离范围内的所述用户列表中的用户;
视野列表生成模块,用于根据与所述距离队列对应的预设的权重,从所述距离队列中选取预设数量的用户加入视野列表中;其中,所述距离队列对应的距离范围与所述当前用户越近,则所述距离队列对应的权重越高。
一种视野的控制系统,其包括所述的地图服务器和与所述地图服务器进行交互的客户端。
一种视野的控制方法,包括以下步骤:
获取以当前用户为中心的九宫格内的用户列表;
获取所述用户列表中的用户与所述当前用户之间的距离,根据所述距离生成与预设的距离范围对应的至少二个距离队列,所述距离队列中包含与所述当前用户之间的距离在对应的距离范围内的所述用户列表中的用户;
根据与所述距离队列对应的预设的权重,从所述距离队列中选取预设数量的用户加入视野列表中;其中,所述距离队列对应的距离范围与所述当前用户越近,则所述距离队列对应的权重越高。
上述地图服务器以及视野的控制系统和方法,通过多个预设的距离范围将九宫格内用户分类到多个距离列队中,根据各个距离列队的不同权重选取部分用户视野列表,从而降低了服务器的压力。此时,当前用户既可以看到附近较多的用户,而且相对较远的地方也有用户存在,在大量用户非常集中的情况下,场景更真实,用户体验度更高
附图说明
图1为一实施例的地图服务器的功能模块图;
图2为另一实施例的地图服务器的功能模块图;
图3为一实施例视野的控制方法的步骤流程图;
图4为用户跨越小块时九宫格的变化以及名额配置示意图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210210449.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于评估电压转换器的车辆系统
- 下一篇:一种液压模具架