CN109966736B - 基于用户地理信息的服务器弹性部署方法、设备及计算机可读存储介质 - Google Patents
基于用户地理信息的服务器弹性部署方法、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN109966736B CN109966736B CN201910170951.6A CN201910170951A CN109966736B CN 109966736 B CN109966736 B CN 109966736B CN 201910170951 A CN201910170951 A CN 201910170951A CN 109966736 B CN109966736 B CN 109966736B
- Authority
- CN
- China
- Prior art keywords
- server
- center
- user
- geographic
- list
- 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.)
- Active
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/352—Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种基于用户地理信息的服务器弹性部署方法,步骤包括:S1第一服务器获取用户端地理位置数据;S2第一服务器计算用户端之间的地理位置中心;S3第一服务器依据地理位置中心,筛选出地理位置临近的云数据中心列表,并令列表中各云数据中心部署服务资源,获取IP地址列表,并发送至用户端;S4第一服务器获取用户端与列表中各云数据中心的网络性能参数;S5第一服务器根据第一规则,在云数据中心列表中指定主服务器,籍此构建了网络服务环境的公平性需求,同时还兼顾了互联网服务的跨地域、多元化的互动特性,消除了跨地域用户之间参与的限制,使得不同地区的网络服务用户都能被平等的对待。
Description
技术领域
本发明涉及服务器弹性部署技术领域,尤其涉及基于用户地理信息的服务器弹性部署方法、设备及其计算机可读存储介质。
背景技术
现有互联网服务提供商为提高用户体验,通常会将用户根据不同区域或网络通信质量进行分选,并为其提供与服务端最优选的适配接入方案,从而提高客户体验,如专利号:201210064706.5,基于网络距离的游戏撮合方法和游戏服务器,该方案揭露了在网络游戏服务领域,为了给予游戏用户优选的网络服务环境,避免因为网络延迟或丢包问题造成游戏的不顺畅等体验问题,其给出了基于用户网络距离及ping值特征,来撮合匹配的游戏用户在适配的服务器中进行游戏的方案,以聚合网络距离相近的网络用户,从而为用户提供相对流畅的网络服务环境。
然而此类现有技术方案,本实质上是为用户提供一个相对公平的网络服务环境,以平衡同等条件的用户能够获得相似的游戏网络体验,而结合现有网游现状可知,网络服务环境的平衡性,将直接影响游戏体验的公平性,尤其是在具有竞争性、对抗性较强的网游中。
因此上述现有技术的缺陷在于,该方案仅考虑了用户网络服务环境的公平性需求,但却忽视了互联网服务的跨地域、多元化的互动特性,使得跨地域用户之间参与度极低,用户仅能局限于与地域相近的用户互动,或因网络问题而被区别对待,从而不但丧失了与来自世界各地用户互动的机会,同时也会因为用户自身网络问题而被边缘化。
发明内容
本发明的主要目的在于提供一种基于用户地理信息的服务器弹性部署方法、设备及其计算机可读存储介质,以解决参与服务的用户因地理/地域跨度大而导致的网络服务公平性差、参与度低的问题。
为了实现上述目的,根据本发明的一个方面,提供了一种基于用户地理信息的服务器弹性部署方法,步骤包括:S1第一服务器获取用户端地理位置数据;S2第一服务器计算用户端之间的地理位置中心;S3第一服务器依据地理位置中心,筛选出地理位置最近的云数据中心,令其部署服务资源,获取IP地址,并发送至用户端供其连接。
为了实现上述目的,根据本发明的另一方面,还提供了一种基于用户地理信息的服务器弹性部署方法,步骤包括:S1第一服务器获取用户端地理位置数据;S2第一服务器计算用户端之间的地理位置中心;S3第一服务器依据地理位置中心,筛选出地理位置临近的云数据中心列表,并令列表中各云数据中心部署服务资源,获取IP地址列表,并发送至用户端;S4第一服务器获取用户端与列表中各云数据中心的网络性能参数;S5第一服务器根据第一规则,在云数据中心列表中指定主服务器。
在优选方案中,该基于用户地理信息的服务器弹性部署方法,步骤还包括:S6除主服务器外,第一服务器释放其余云数据中心服务资源。
在优选方案中,该地理位置数据包括:经纬度坐标[Ei,Ni]数据,该步骤S2中用户端之间的地理位置中心计算步骤包括:将经纬度坐标转换为以地球中心为原点的三维笛卡尔坐标[Xi,Yi,Zi];设用户端数为n,计算n个用户端地理位置的空间几何中心点在笛卡尔坐标系下的坐标数值(X’c,Y’c,Z’c);计算该空间几何中心点映射在地球表面上的地理位置中心点经纬度坐标[Ec,Nc],及其在笛卡尔坐标系下所对应的坐标数值(Xc,Yc,Zc),以得出用户端之间地理位置中心。
在优选方案中,该第一规则包括:设用户端与各云数据中心联网的网络性能参数为Li,j,计算各用户端至当前云数据中心的平均网络性能参数 基于网络性能参数计算各云数据中心的公平度参数Fj,指定公平度参数Fj值最大的云数据中心为主服务器。
在优选方案中,该网络性能参数包括:网络延迟参数和丢包率参数中的至少一种网络性能参数。
为了实现上述目的,根据本发明的另一方面,还提供了一种基于用户地理信息的服务器弹性部署方法,步骤包括:S1第一服务器获取用户端地理位置数据;S2第一服务器计算用户端之间的地理中心位置;S3第一服务器依据地理中心位置,筛选出地理位置临近的第二服务器列表,并向用户端发送对应IP地址列表;S4用户端向第一服务器汇报与列表中第二服务器的网络性能参数;S5第一服务器根据第一规则,在第二服务器列表中指定主服务器。
在优选方案中,该基于用户地理信息的服务器弹性部署方法,步骤还包括:S6除主服务器外,第一服务器令其余第二服务器关闭。
为了实现上述目的,根据本发明的另一方面,还提供了一种基于用户地理信息的服务器弹性部署设备,其包括:中央处理器,检测模块,控制模块,其中中央处理器获取检测模块传输的用户地理位置数据,经处理后获取地理中心位置数据,并据此筛选出地理位置临近的第二服务器列表,以令控制模块依据第二服务器列表控制各云数据中心部署服务资源,获取IP地址列表,并发送至用户端;该检测模块获取用户端上报的与列表中第二服务器连线的网络性能参数,并传递至中央处理器,经所述中央处理器根据第一规则在第二服务器列表中指定主服务器,并令控制模块向用户端传达主服务器连接指令。
为了实现上述目的,根据本发明的另一方面,还提供了一种计算机可读存储介质,其存储有计算机可执行指令,当该计算机可执行指令被中央处理器执行时,该中央处理器执行上述基于用户地理信息的服务器弹性部署方法。
通过本发明提供的该基于用户地理信息的服务器弹性部署方法、设备及其计算机可读存储介质,其不但能够解决用户网络服务环境的公平性需求,同时还兼顾了互联网服务的跨地域、多元化的互动特性,消除了跨地域用户之间参与的限制,使得不同地区的网络服务用户都能被平等的对待。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明的基于用户地理信息的服务器弹性部署方法的概念示意图;
图2是本发明的基于用户地理信息的服务器弹性部署方法的第一实施例的步骤示意图;
图3是本发明的基于用户地理信息的服务器弹性部署方法的第二实施例的步骤示意图;
图4是本发明的基于用户地理信息的服务器弹性部署方法的第三实施例的步骤示意图;
图5是本发明的基于用户地理信息的服务器弹性部署设备的结构示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本领域的技术人员更好的理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,在本领域普通技术人员没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“S1”、“S2”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
请参阅图1,本发明提供的该基于用户地理信息的服务器弹性部署方法,可广泛适用于通过互联网服务器为接入的用户提供网络服务的场景,并且为了提高服务器弹性部署的灵活性,该弹性部署的服务器优选为云数据中心,同时为了便于理解与说明,本发明实施例中以网络游戏服务场景为例进行阐述,但并未进行限制,本领域技术人员应当理解,根据下述实施例的揭露,并结合本领域技术常识及公开文献,可以得知运用本发明的技术方案在相关的互联网服务领域中,或/和,采用在世界各地分布的传统服务器进行弹性部署,而无需进行创造性的智力劳动,因此任何采用本发明中揭露的技术手段,来实现本发明有益效果的技术方案,并运用于其他互联网服务领域的变化实施方式,如应用于网络社交、媒体、娱乐、医疗等网络服务领域,皆属于本发明的揭露范围。
(一)
据此请参阅图2为本发明的第一实施例,其中该基于用户地理信息的服务器弹性部署方法,步骤包括:步骤S1:第一服务器获取用户端地理位置数据,其中该第一服务器在本实施例中优选为登陆服务器,用于接入用户端并为其进行网络服务的分配等,其中该S1步骤具体包括:用户端通过登录第一服务器连接至游戏平台后,首先通过用户端向第一服务器汇报自身的地理位置数据,即经纬度信息。
其中在本实施例中该经纬度信息,优选可通过用户端允许接入第一服务器时自行填写城市/区域信息获得。若该用户端为移动终端,则可以直接通过移动设备采集定位信息,以直接获得经纬度信息;或者,第一服务器通过玩家登录时所使用的IP地址,反向推测出玩家终端所在位置的经纬度信息。因此本实施例并未做出限制,任何现有技术中通过搜集用户信息方式获取用户端地理位置数据的方案,皆属于本实施例的揭露范围。
步骤S2:第一服务器计算用户端之间的地理中心位置,该步骤具体包括:根据各个用户端的地理位置数据,采用求地理中心位置/地理位置中心点的算法,计算出登陆第一服务器中该组用户端之间的地理位置中心数据。
步骤S3:该第一服务器依据地理位置中心,筛选出地理位置最近的云数据中心,令其部署服务资源,获取其对应IP地址,并发送至用户端供其连接。从而实现服务器弹性部署,以主动为各用户端提供网络环境接近的服务环境,并消除了用户端的地域限制。此外本实施例中具体计算方案可参照下述实施例。
(二)
请参阅图3为本发明的第二实施例,其中该基于用户地理信息的服务器弹性部署方法,步骤包括:步骤S1:第一服务器获取用户端地理位置数据,其中该第一服务器在本实施例中优选为登陆服务器,用于接入用户端并为其进行网络服务的分配等,其中该S1步骤具体包括:用户端通过登录第一服务器连接至游戏平台后,首先通过用户端向第一服务器汇报自身的地理位置数据,即经纬度信息。其中在本实施例中该经纬度信息,优选可通过用户端允许接入第一服务器时自行填写城市/区域信息获得。若该用户端为移动终端,则可以直接通过移动设备采集定位信息,以直接获得经纬度信息;或者,第一服务器通过玩家登录时所使用的IP地址,反向推测出玩家终端所在位置的经纬度信息。因此本实施例并未做出限制,任何现有技术中通过搜集用户信息方式获取用户端地理位置数据的方案,皆属于本实施例的揭露范围。
步骤S2:第一服务器计算用户端之间的地理中心位置,该步骤具体包括:根据各个用户端的地理位置数据,采用求地理中心位置/地理位置中心点的算法,计算出登陆第一服务器中该组用户端之间的地理位置中心数据。
步骤S3:该第一服务器依据地理位置中心,筛选出地理位置临近的云数据中心列表,并令该列表中的云数据中心部署服务资源,获取其对应IP地址,并发送至用户端,该步骤具体来说包括:该第一服务器收集本局游戏中所有用户端的地理位置信息之后,计算出用户端之间的地理位置中心点的示例算法如下:当一局游戏中共有n个用户端参与时:用户端P1、P2、P3…Pn,经过步骤S1之后得到所有用户端的地理位置信息为一系列包含经度和纬度的二元组,即(E1,N1)、(E2,N2)、(E3,N3)…(En,Nn)。此处经度E和纬度N的数值是经过特定转换后的值。其中,当地理位置为东经时,经度E记为正值;反之,为西经时,经度E则记为负值。同理,当地理位置为北纬时,纬度N记为正值;反之,为南纬时,纬度N则记为负值。另外,此处经度E和纬度N的单位都是弧度,记为rad。
将每个二元组的经纬度坐标,(Ei,Ni),转换为以地球中心为原点的三维笛卡尔坐标系中的坐标,(Xi,Yi,Zi),计算公式如下(1)、(2)、(3)所示:
Xi=cos(Ei)*cos(Ni) (1)
Yi=cos(Ni)*sin(Ei) (2)
Zi=sin(Ni) (3)
随后计算该n个玩家地理位置的空间几何中心点在笛卡尔坐标系下的坐标数值,(X’c,Y’c,Z’c),计算公式如下(4)、(5)、(6)所示:
X’c=(X1+X2+X3+…+Xn)/n (4)
Y’c=(Y1+Y2+Y3+…+Yn)/n (5)
Z’c=(Z1+Z2+Z3+…+Zn)/n (6)
由此可计算出该空间几何中心点映射在地球表面上的地理位置中心点。计算公式如下(7)、(8)所示,即可求出该地理位置中心点的经纬度,(Ec,Nc):
Ec=atan2(Y′c,X′c) (7)
其中,atan2表示反正切函数。
最后,根据求得的地理位置中心点的经纬度,(Ec,Nc),计算其在笛卡尔坐标系下所对应的坐标数值,(Xc,Yc,Zc)。具体计算方法如公式(1)、(2)、(3)所示。
之后该第一服务器根据参数设定,在其自身存储的可用云数据中心列表中选出距离该地理位置中心点地理距离最近的多个数据中心。即计算获得参与连线的用户端之间的地理位置中心点之后,处于正常运行,并且第一服务器有权限使用的云数据中心列表里,选取k个地理位置与该地理位置中心点地理距离最接近的云数据中心。
其中k为可以根据实际情况调节的参数。具体做法为:假设m个可用云数据中心列表为D1、D2、D3…Dm,且所有云数据中心的地理位置已知,并通过笛卡尔坐标系表示,即(DX1,DY1,DZ1)、(DX2,DY2,DZ2)…(DXm,DYm,DZm)。计算每个云数据中心坐标点到地理位置中心点之间的几何距离,计算方法如公式(9)所示:
将所得各个云数据中心与地理位置中心点之间的几何距离,按照从小到大的顺序排序,选择其中数值最小的k个云数据中心。
其中由于地球球面上两点的三维空间直线距离,正比于球面上该两点间的最短距离,因此该k个云数据中心也是距离该中心点地理距离最近的k个云数据中心,记为SD1、SD2、SD3…SDk。之后在所选取的各个云数据中心内申请虚拟计算资源,构建备选服务器,即该第一服务器向列表备选的云数据中心申请构建虚拟计算资源后,获得所构建备选服务器的公网IP地址,记为IP1、IP2、IP3…IPk。并将各个备选云数据中心的IP地址告知参与的用户端后,即可供用户端与其分别连线,开始测试网络性能参数。
步骤S4:该第一服务器获取用户端与列表中各云数据中心连线的网络性能参数,具体步骤包括:各个用户端收到备选云数据中心的IP地址列表之后,对k个备选云数据中心依次进行实际的网络性能测量,其中需要说明的是,本发明所称的网络性能主要指网络延迟和/或丢包率,但并未进行限制,而本实施例中优选以网络延迟作为网络性能指标为例进行说明,本领域技术人员应当理解,任何适用于本实施例方案的现有技术中,可对该网络性能进行评价的各类指标皆属于本实施例的揭露范围。
首先定义Li,j,其表示用户端Pi所测得的,其到位于所选云数据中心SDj之备选服务器之间的网络延迟数据。其中每个用户端Pi测完到每个云数据中心备选服务器(备选云数据中心)的实际网络延迟数据后,将该网络性能数据Li,1、Li,2、Li,3…Li,k上传汇报至第一服务器。
步骤S5:该第一服务器根据第一规则,在云数据中心列表中指定主服务器,该步骤具体包括:该第一服务器将会汇总网络性能数据,并比较网络性能差别,根据第一规则,选取相对各个用户端最公平的运数据中心备选服务器作为游戏主服务器,其中值得一提的是,本发明中所称的公平并不具有绝对性,而是相对的,尤其指用以平衡各用户端所能够获得相似/近似的网络服务。
此外该所述第一规则具体包括:该第一服务器汇总所有用户端上传的实际网络性能数据列表之后,根据所得数据为每个备选云数据中心进行计算,而本实施例中优选以网络延迟为示例进行说明,以该网络性能参数作为本实施例下评价公平度的首要指标。其中位于所选云数据中心SDj内的备选服务器的公平度定义如公式(10)所示:
由此定义可知,若对公平度要求越高,则所有用户端到该备选云数据中心的网络延迟越接近,因而相对来说也越公平。在计算得到所有备选云数据中心的公平度之后,该第一服务器可以求得其中的公平度最大值Fs,并指定该备选云数据中心为本次服务的主服务器。从而不但实现了用户网络服务环境的公平性需求,同时还兼顾了互联网服务的跨地域、多元化的互动特性,消除了跨地域用户之间参与的限制,使得不同地区的网络服务用户都能被平等的对待。
其中值得一提的是,本发明各实施例中,优选云数据中心作为弹性部署的服务器资源原因在于,现有采用传统服务器进行网络服务运维成本高昂,在网络游戏领域,为了保证游戏公平性,游戏运营商需要尽可能的多地部署游戏服务器以满足不同地域的游戏需求,从而导致必须维护大量的游戏服务器,这是一项成本极其高昂的运维开支;另一方面,用户的游戏需求是弹性的。游戏运营商如果按照传统模式运营,即在某一个时段没有玩家进行游戏,也仍然需要维护游戏服务器,由此将造成资源大量浪费,也相应增加了游戏维护开销。
而采用现有云数据中心与本发明的方案结合的优势在于,现有商业云数据中心本身在世界范围内分布广泛,其计算资源可以随时生成和施放,并仅在使用时进行收费,从而可极大的降低日常维护和资源闲置的运维成本,具有较强的商业可控性,因此极具实用价值。
因此在优选实施方案中,本实施例下还可包括步骤S6:除主服务器外,第一服务器释放其余云数据中心服务资源。具体来说,该第一服务器在所有备选数据中心中指定主服务器后,将该主服务器的地址IPs通知给所有参与本局的游戏用户端。随后,所有用户端便可连接至该备选的主服务器进行游戏。
由此,该主服务器的角色也正式转变为游戏服务器。同时,该第一服务器联系除了主服务器的云数据中心SDs以外的k-1个云数据中心。动态终止这些备选云数据中心内的备选服务器,以释放计算资源。另外,在本局游戏结束时,该第一服务器还可以联系该主服务器的云数据中心SDs,终止其中的游戏服务器,达到减少游戏运维开销的目的。
(三)
请参阅图4为本发明的第三实施例,其中该基于用户地理信息的服务器弹性部署方法中,该弹性布设的服务器优选为传统服务器,或其与云数据中心的结合,以便对现有技术方案进行改进并提供拓展的可能,具体来说,该实施例中,该基于用户地理信息的服务器弹性部署方法,步骤包括:步骤S1:第一服务器获取用户端地理位置数据,其中该第一服务器在本实施例中优选为登陆服务器,用于接入用户端并为其进行网络服务的分配等,其中该S1步骤具体包括:用户端通过登录第一服务器连接至游戏平台后,首先通过用户端向第一服务器汇报自身的地理位置数据,即经纬度信息。
其中在本实施例中该经纬度信息,优选可通过用户端允许接入第一服务器时自行填写城市/区域信息获得。若该用户端为移动终端,则可以直接通过移动设备采集定位信息,以直接获得经纬度信息;或者,第一服务器通过玩家登录时所使用的IP地址,反向推测出玩家终端所在位置的经纬度信息。因此本实施例并未做出限制,任何现有技术中通过搜集用户信息方式获取用户端地理位置数据的方案,皆属于本实施例的揭露范围。
步骤S2:第一服务器计算用户端之间的地理中心位置,该步骤具体包括:根据各个用户端的地理位置数据,采用求地理中心位置/地理位置中心点的算法,计算出登陆第一服务器中该组用户端之间的地理位置中心数据。
步骤S3:该第一服务器依据地理位置中心,筛选出地理位置临近的第二服务器列表,以获取其对应IP地址,并发送至用户端,该步骤具体来说包括:该第一服务器收集本局游戏中所有用户端的地理位置信息之后,计算出用户端之间的地理位置中心点的示例算法如下:当一局游戏中共有n个用户端参与时:用户端P1、P2、P3…Pn,经过步骤S1之后得到所有用户端的地理位置信息为一系列包含经度和纬度的二元组,即(E1,N1)、(E2,N2)、(E3,N3)…(En,Nn)。
此处经度E和纬度N的数值是经过特定转换后的值。其中,当地理位置为东经时,经度E记为正值;反之,为西经时,经度E则记为负值。同理,当地理位置为北纬时,纬度N记为正值;反之,为南纬时,纬度N则记为负值。另外,此处经度E和纬度N的单位都是弧度,记为rad。
将每个二元组的经纬度坐标,(Ei,Ni),转换为以地球中心为原点的三维笛卡尔坐标系中的坐标,(Xi,Yi,Zi),计算公式如下(1)、(2)、(3)所示:
Xi=cos(Ei)*cos(Ni) (1)
Yi=cos(Ni)*sin(Ei) (2)
Zi=sin(Ni) (3)
随后计算该n个玩家地理位置的空间几何中心点在笛卡尔坐标系下的坐标数值,(X’c,Y’c,Z’c),计算公式如下(4)、(5)、(6)所示:
X’c=(X1+X2+X3+…+Xn)/n (4)
Y’c=(Y1+Y2+Y3+…+Yn)/n (5)
Z’c=(Z1+Z2+Z3+…+Zn)/n (6)
由此可计算出该空间几何中心点映射在地球表面上的地理位置中心点。计算公式如下(7)、(8)所示,即可求出该地理位置中心点的经纬度,(Ec,Nc):
Ec=atan2(Y′c,X′c) (7)
其中,atan2表示反正切函数。
最后,根据求得的地理位置中心点的经纬度,(Ec,Nc),计算其在笛卡尔坐标系下所对应的坐标数值,(Xc,Yc,Zc)。具体计算方法如公式(1)、(2)、(3)所示。
之后该第一服务器根据参数设定,在其自身存储的可用第二服务器列表中选出距离该地理位置中心点地理距离最近的多个第二服务器备选。即计算获得参与连线的用户端之间的地理位置中心点之后,处于正常运行,并且第一服务器有权限使用的第二服务器列表里,选取k个地理位置与该地理位置中心点地理距离最接近的第二服务器。
其中在优选实施方式下该第二服务器列表中包括:传统服务器;或传统服务器与云数据中心的结合使用,从而通过云数据中心,根据本发明的实施方案,来补充运营方未布设传统服务器的区域,从而扩大自身可提供公平网络服务的覆盖区域。
其中k为可以根据实际情况调节的参数。具体做法为:假设m个可用第二服务器列表为D1、D2、D3…Dm,且所有第二服务器的地理位置已知,并通过笛卡尔坐标系表示,即(DX1,DY1,DZ1)、(DX2,DY2,DZ2)…(DXm,DYm,DZm)。计算每个第二服务器坐标点到地理位置中心点之间的几何距离,计算方法如公式(9)所示:
将所得各个第二服务器与地理位置中心点之间的几何距离,按照从小到大的顺序排序,选择其中数值最小的k个第二服务器。
其中由于地球球面上两点的三维空间直线距离,正比于球面上该两点间的最短距离,因此该k个第二服务器也是距离该中心点地理距离最近的k个第二服务器,记为SD1、SD2、SD3…SDk。之后令所选取的各个第二服务器作为备选服务器,即该第一服务器获取该备选服务器的公网IP地址,记为IP1、IP2、IP3…IPk。并将各个备选第二服务器的IP地址告知参与的用户端后,即可供用户端与其分别连线,开始测试网络性能参数。
步骤S4:该第一服务器获取用户端与列表中各第二服务器连线的网络性能参数,具体步骤包括:各个用户端收到备选第二服务器的IP地址列表之后,对k个备选第二服务器依次进行实际的网络性能测量,其中需要说明的是,本发明所称的网络性能主要指网络延迟和/或丢包率,但并未进行限制,而本实施例中优选以网络延迟作为网络性能指标为例进行说明,本领域技术人员应当理解,任何适用于本实施例方案的现有技术中,可对该网络性能进行评价的各类指标皆属于本实施例的揭露范围。
首先定义Li,j,其表示用户端Pi所测得的,其到位于所选第二服务器SDj之备选服务器之间的网络延迟数据。其中每个用户端Pi测完到每个备选第二服务器的实际网络延迟数据后,将该网络性能数据Li,1、Li,2、Li,3…Li,k上传汇报至第一服务器。
步骤S5:该第一服务器根据第一规则,在第二服务器列表中指定主服务器,该步骤具体包括:该第一服务器将会汇总网络性能数据,并比较网络性能差别,根据第一规则,选取相对各个用户端最公平的运数据中心备选服务器作为游戏主服务器,其中值得一提的是,本发明中所称的公平并不具有绝对性,而是相对的,尤其指用以平衡各用户端所能够获得相似/近似的网络服务。
此外该所述第一规则具体包括:该第一服务器汇总所有用户端上传的实际网络性能数据列表之后,根据所得数据为每个备选第二服务器进行计算,而本实施例中优选以网络延迟为示例进行说明,以该网络性能参数作为本实施例下评价公平度的首要指标。其中位于所选第二服务器SDj内的备选服务器的公平度定义如公式(10)所示:
由此定义可知,若对公平度要求越高,则所有用户端到该备选第二服务器的网络延迟越接近,因而相对来说也越公平。在计算得到所有备选第二服务器的公平度之后,该第一服务器可以求得其中的公平度最大值Fs,并指定该备选第二服务器为本次服务的主服务器。
综上本实施例的方案,通过改进现有传统服务器的弹性部署方式,不但实现了用户网络服务环境的公平性需求,同时还兼顾了互联网服务的跨地域、多元化的互动特性,消除了跨地域用户之间参与的限制,使得不同地区的网络服务用户都能被平等的对待。
而在优选实施方案中,本实施例下还可包括步骤S6:除主服务器外,第一服务器令其余第二服务器关闭。具体来说,该第一服务器在所有备选数据中心中指定主服务器后,将该主服务器的地址IPs通知给所有参与本局的游戏用户端。随后,所有用户端便可连接至该备选的主服务器进行游戏。
由此,该主服务器的角色也正式转变为游戏服务器。同时,该第一服务器联系除了主服务器的第二服务器SDs以外的k-1个第二服务器。关闭这些备选第二服务器,以节省运用成本。另外,在本局游戏结束时,该第一服务器还可以联系该主服务器的第二服务器SDs,终止其中的游戏服务器,达到减少游戏运维开销的目的。
(四)
请参阅图5为本发明的第四实施例,其中,本实施例提供了一种适配上述实施例中基于用户地理信息的服务器弹性部署的设备,其包括:中央处理器,检测模块,控制模块,其中中央处理器获取检测模块传输的用户地理位置数据,经处理后获取地理中心位置数据,并据此筛选出地理位置临近的第二服务器列表,以令控制模块依据第二服务器列表控制各云数据中心部署服务资源,获取IP地址列表,并发送至用户端;该检测模块获取用户端上报的与列表中第二服务器连线的网络性能参数,并传递至中央处理器,经所述中央处理器根据第一规则在第二服务器列表中指定主服务器,并令控制模块向用户端传达主服务器连接指令。
其中该中央处理器包括:存储单元,计算单元,所述存储单元存储有计算机可读存储指令,及第二服务器列表数据,当该计算机可读存储指令被该计算单元读取时,计算单元执行上述实施例中,基于用户地理信息的服务器弹性部署方法,在该第二服务器列表内选出主服务器,并向该控制模块传达,并由该控制模块传送该主服务器IP地址信息,以向用户端传输供其连接。
(五)
根据本发明的另一方面,还提供了一种计算机可读存储介质,其可单独存在,或作为上述实施例中的存储单元,其中该计算机可读存储介质存储有计算机可执行指令,当该计算机可执行指令被中央处理器执行时,该中央处理器执行上述基于用户地理信息的服务器弹性部署方法。
综上所述,通过本发明提供的该基于用户地理信息的服务器弹性部署方法、设备及其计算机可读存储介质,其不但能够解决用户网络服务环境的公平性需求,同时还兼顾了互联网服务的跨地域、多元化的互动特性,消除了跨地域用户之间参与的限制,使得不同地区的网络服务用户都能被平等的对待,具有显著进步。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得单片机、芯片或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
此外,本发明实施例的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施例的思想,其同样应当视为本发明实施例所公开的内容。
Claims (9)
1.一种基于用户地理信息的服务器弹性部署方法,步骤包括:
S1第一服务器获取用户端地理位置数据;
S2第一服务器计算用户端之间的地理位置中心;
S3第一服务器依据地理位置中心,筛选出地理位置最近的云数据中心,令其部署服务资源,获取对应IP地址,并发送至用户端供其连接;
所述地理位置数据包括:经纬度坐标[Ei, Ni]数据,所述步骤S2中用户端之间的地理位置中心计算步骤包括:
将经纬度坐标转换为以地球中心为原点的三维笛卡尔坐标[Xi, Yi, Zi];
设用户端数为n,计算n个用户端地理位置的空间几何中心点在笛卡尔坐标系下的坐标数值(X’c, Y’c, Z’c);
X’c = ( X1 + X2 + X3 + … + Xn ) / n
Y’c = ( Y1 + Y2 + Y3 + … + Yn ) / n
Z’c = ( Z1 + Z2 + Z3 + … + Zn ) / n
计算所述空间几何中心点映射在地球表面上的地理位置中心点经纬度坐标[Ec, Nc],
及其在笛卡尔坐标系下所对应的坐标数值 (Xc, Yc, Zc),以得出用户端之间地理位置中心。
2.一种基于用户地理信息的服务器弹性部署方法,步骤包括:
S1第一服务器获取用户端地理位置数据;
S2第一服务器计算用户端之间的地理位置中心;
S3第一服务器依据地理位置中心,筛选出地理位置临近的云数据中心列表,并令列表中各云数据中心部署服务资源,获取对应IP地址列表,并发送至用户端;
S4第一服务器获取用户端与列表中各云数据中心连线的网络性能参数;
S5第一服务器根据第一规则,在云数据中心列表中指定主服务器;
所述地理位置数据包括:经纬度坐标[Ei, Ni]数据,所述步骤S2中用户端之间的地理位置中心计算步骤包括:
将经纬度坐标转换为以地球中心为原点的三维笛卡尔坐标[Xi, Yi, Zi];
设用户端数为n,计算n个用户端地理位置的空间几何中心点在笛卡尔坐标系下的坐标数值(X’c, Y’c, Z’c);
X’c = ( X1 + X2 + X3 + … + Xn ) / n
Y’c = ( Y1 + Y2 + Y3 + … + Yn ) / n
Z’c = ( Z1 + Z2 + Z3 + … + Zn ) / n
计算所述空间几何中心点映射在地球表面上的地理位置中心点经纬度坐标[Ec, Nc],
及其在笛卡尔坐标系下所对应的坐标数值 (Xc, Yc, Zc),以得出用户端之间地理位置中心。
3.根据权利要求2所述的基于用户地理信息的服务器弹性部署方法,步骤还包括:S6除主服务器外,第一服务器释放其余云数据中心服务资源。
4.根据权利要求2所述的基于用户地理信息的服务器弹性部署方法,所述第一规则包括:设用户端与各云数据中心联网的网络性能参数为L i,j ,计算各用户端至当前云数据中心的平均网络性能参数,;基于网络性能参数计算各云数据中心的公平度参数Fj,;指定公平度参数Fj值最大的云数据中心为主服务器。
5.根据权利要求4所述的基于用户地理信息的服务器弹性部署方法,所述网络性能参数包括:网络延迟参数和丢包率参数中的至少一种网络性能参数。
6.一种基于用户地理信息的服务器弹性部署方法,步骤包括:
S1第一服务器获取用户端地理位置数据;
S2第一服务器计算用户端之间的地理中心位置;
S3第一服务器依据地理中心位置,筛选出地理位置临近的第二服务器列表,并向用户端发送对应IP地址列表;
S4用户端向第一服务器汇报与列表中第二服务器连线的网络性能参数;
S5第一服务器根据第一规则,在第二服务器列表中指定主服务器;
所述地理位置数据包括:经纬度坐标[Ei, Ni]数据,所述步骤S2中用户端之间的地理位置中心计算步骤包括:
将经纬度坐标转换为以地球中心为原点的三维笛卡尔坐标[Xi, Yi, Zi];
设用户端数为n,计算n个用户端地理位置的空间几何中心点在笛卡尔坐标系下的坐标数值(X’c, Y’c, Z’c);
X’c = ( X1 + X2 + X3 + … + Xn ) / n
Y’c = ( Y1 + Y2 + Y3 + … + Yn ) / n
Z’c = ( Z1 + Z2 + Z3 + … + Zn ) / n
计算所述空间几何中心点映射在地球表面上的地理位置中心点经纬度坐标[Ec, Nc],
及其在笛卡尔坐标系下所对应的坐标数值 (Xc, Yc, Zc),以得出用户端之间地理位置中心。
7.根据权利要求6所述的基于用户地理信息的服务器弹性部署方法,步骤还包括:S6除主服务器外,第一服务器令其余第二服务器关闭。
8.一种基于用户地理信息的服务器弹性部署设备,其包括:中央处理器,检测模块,控制模块,其中中央处理器获取检测模块传输的用户地理位置数据,经处理后获取地理中心位置数据,并据此筛选出地理位置临近的第二服务器列表,以令控制模块依据第二服务器列表控制各云数据中心部署服务资源,获取IP地址列表,并发送至用户端;所述检测模块获取用户端上报的与列表中第二服务器连线的网络性能参数,并传递至中央处理器,经所述中央处理器根据第一规则在第二服务器列表中指定主服务器,并令控制模块向用户端传达主服务器连接指令;其中所述地理位置数据包括:经纬度坐标[Ei, Ni]数据,所述用户端之间的地理中心位置数据计算步骤包括:
将经纬度坐标转换为以地球中心为原点的三维笛卡尔坐标[Xi, Yi, Zi];
设用户端数为n,计算n个用户端地理位置的空间几何中心点在笛卡尔坐标系下的坐标数值(X’c, Y’c, Z’c);
X’c = ( X1 + X2 + X3 + … + Xn ) / n
Y’c = ( Y1 + Y2 + Y3 + … + Yn ) / n
Z’c = ( Z1 + Z2 + Z3 + … + Zn ) / n
计算所述空间几何中心点映射在地球表面上的地理位置中心点经纬度坐标[Ec, Nc],
及其在笛卡尔坐标系下所对应的坐标数值 (Xc, Yc, Zc),以得出用户端之间地理位置中心。
9.一种计算机可读存储介质,存储有计算机可执行指令,当所述计算机可执行指令被中央处理器执行时,所述中央处理器执行如权利要求1至7任一所述基于用户地理信息的服务器弹性部署方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910170951.6A CN109966736B (zh) | 2019-03-06 | 2019-03-06 | 基于用户地理信息的服务器弹性部署方法、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910170951.6A CN109966736B (zh) | 2019-03-06 | 2019-03-06 | 基于用户地理信息的服务器弹性部署方法、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109966736A CN109966736A (zh) | 2019-07-05 |
CN109966736B true CN109966736B (zh) | 2022-08-16 |
Family
ID=67078172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910170951.6A Active CN109966736B (zh) | 2019-03-06 | 2019-03-06 | 基于用户地理信息的服务器弹性部署方法、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109966736B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW202315668A (zh) * | 2021-10-01 | 2023-04-16 | 新加坡商競舞娛樂有限公司 | 在多人電子遊戲中用於將一伺服器分配給多個使用者的方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102075359A (zh) * | 2011-01-17 | 2011-05-25 | 北京瑞汛世纪科技有限公司 | 一种基于网络坐标的服务器部署方法及装置 |
CN103491202A (zh) * | 2013-09-09 | 2014-01-01 | 中国科学院计算机网络信息中心 | 一种基于网络测量的dns节点选址方法 |
CN103888485A (zh) * | 2012-12-19 | 2014-06-25 | 华为技术有限公司 | 云计算资源的分配方法、装置及系统 |
CN104935462A (zh) * | 2015-06-02 | 2015-09-23 | 清华大学 | 一种端服务器部署方法及装置 |
CN106899681A (zh) * | 2017-03-10 | 2017-06-27 | 腾讯科技(深圳)有限公司 | 一种信息推送的方法以及服务器 |
CN107786620A (zh) * | 2016-08-31 | 2018-03-09 | 华为技术有限公司 | 一种获取资源的方法、终端及服务器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100088405A1 (en) * | 2008-10-08 | 2010-04-08 | Microsoft Corporation | Determining Network Delay and CDN Deployment |
-
2019
- 2019-03-06 CN CN201910170951.6A patent/CN109966736B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102075359A (zh) * | 2011-01-17 | 2011-05-25 | 北京瑞汛世纪科技有限公司 | 一种基于网络坐标的服务器部署方法及装置 |
CN103888485A (zh) * | 2012-12-19 | 2014-06-25 | 华为技术有限公司 | 云计算资源的分配方法、装置及系统 |
CN103491202A (zh) * | 2013-09-09 | 2014-01-01 | 中国科学院计算机网络信息中心 | 一种基于网络测量的dns节点选址方法 |
CN104935462A (zh) * | 2015-06-02 | 2015-09-23 | 清华大学 | 一种端服务器部署方法及装置 |
CN107786620A (zh) * | 2016-08-31 | 2018-03-09 | 华为技术有限公司 | 一种获取资源的方法、终端及服务器 |
CN106899681A (zh) * | 2017-03-10 | 2017-06-27 | 腾讯科技(深圳)有限公司 | 一种信息推送的方法以及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN109966736A (zh) | 2019-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Manweiler et al. | Switchboard: a matchmaking system for multiplayer mobile games | |
Armitage et al. | Networking and online games: understanding and engineering multiplayer Internet games | |
JP7296978B2 (ja) | 対戦ゲームプレイに参加させるためのプレーヤへのインセンティブ授与 | |
CN116210212A (zh) | 云计算环境中的内容自适应数据中心路由和转发 | |
KR20210121289A (ko) | 증강 현실 모바일 에지 컴퓨팅 | |
JP2007505673A (ja) | ネットワークを利用したゲーム・システム | |
CN111617487B (zh) | 游戏应用中的帐号接入方法和装置、存储介质及电子设备 | |
CN109529326A (zh) | 战斗服务器的匹配方法和装置 | |
JP2021524696A (ja) | 低レイテンシデータグラム応答性コンピュータネットワークプロトコル | |
KR20120046276A (ko) | 이미지 처리 방법, 아바타 디스플레이 적응 방법 및 대응하는 이미지 처리 프로세서, 가상 세계 서버 및 통신 단말 | |
US11297132B2 (en) | Methods and devices for orchestrating selection of a multi-access edge computing server for a multi-client application | |
CN106060052A (zh) | 移动终端网络游戏的三维导航方法 | |
CN111418192B (zh) | 一种基于坐标映射的多模标识网络寻址方法及系统 | |
CN108933840B (zh) | 一种分布式代理方法及系统 | |
CN109966736B (zh) | 基于用户地理信息的服务器弹性部署方法、设备及计算机可读存储介质 | |
CN108876081A (zh) | 虚拟房间分配方法、装置、存储介质及处理器 | |
Bujari et al. | Optimal configuration of active and backup servers for augmented reality cooperative games | |
CN111135586B (zh) | 游戏匹配方法、游戏匹配装置、存储介质与电子设备 | |
CN111773662A (zh) | 一种基于雾计算的云游戏加速方法、系统、装置及介质 | |
CN104836827B (zh) | 基于非对称p2p网络的数据处理方法和系统 | |
CN110113414A (zh) | 一种管理副本的方法、装置、服务器及存储介质 | |
CN106075910A (zh) | 移动终端网络游戏的三维导航系统 | |
CN106130893B (zh) | 一种数据包发送方法及电子设备 | |
Zhao et al. | Server allocation for massively multiplayer online cloud games using evolutionary optimization | |
CN104394952A (zh) | 通信目的地判定装置、游戏系统、通信目的地判定方法、通信目的地判定程序 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |