CN106034118A - 一种用于游戏的跨服务器方法 - Google Patents
一种用于游戏的跨服务器方法 Download PDFInfo
- Publication number
- CN106034118A CN106034118A CN201510113866.8A CN201510113866A CN106034118A CN 106034118 A CN106034118 A CN 106034118A CN 201510113866 A CN201510113866 A CN 201510113866A CN 106034118 A CN106034118 A CN 106034118A
- Authority
- CN
- China
- Prior art keywords
- server
- game
- clothes
- cross
- taking
- 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
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种用于游戏的跨服务器方法,涉及数据整合领域。该方法:S1,游戏服务器A将其玩家的跨服请求A发送到跨服服务器;S2,跨服服务器判断所述玩家的跨服活动的范围,若为小范围跨服活动,进入S3;若为大范围的跨服活动,在跨服服务器上启动跨服场景并在其上进行跨服活动;S3,向A发送进入等待消息,同时,判断其他的跨服请求B与跨服请求A是否属于同类型跨服活动,若是,进入S4;若不是,继续判断;S4,从两个游戏服务其中选择一个作为临时跨服服务器,两个游戏服务器建立连接;S5,两个游戏服务器的玩家在临时跨服服务器上进行跨服活动。本发明减小了跨服服务器工作量、平衡服务器负载、提高跨服效率和跨服通讯效率。
Description
技术领域
本发明涉及数据整合领域,尤其涉及一种用于游戏的跨服务器方法。
背景技术
在网络游戏中,由于计算机性能和资源的限制,会开启多个服务器,每一个服务器是一个独立的游戏世界。玩家在进入游戏前必须选定一个服务器,进入游戏后所创建的角色只能在选定的服务器里面游戏。因此,每一个服务器中的玩家只能与本服务器中的玩家交互,不能与其他服务器的玩家进行交流、竞技和协作。因此就造成了游戏时间越长,玩家的圈子变得越小,甚至变成独自一个人玩游戏的局面,导致玩家难以体会到交流互动和团队协作的乐趣。
现有的跨服技术是使用一台中心服务器做中心节点,在中心节点中启动跨服场景,将客户端的连接切换到中心节点,使玩家在中心节点的场景中活动。使用这种方式需要额外建立服务器,所有的跨服活动都只能通过中心服务器。但是实际上游戏中很多的跨服玩法只是某两个或者是某几个玩家的交互,例如跨服的一对一对战,这种情况下的跨服其实只涉及到2个服务器的交互,如果全部通过中心节点,会加大中心节点的工作量,容易形成性能瓶颈,降低跨服的效率。
发明内容
本发明的目的在于提供一种用于游戏的跨服务器方法,从而解决现有技术中存在的前述问题。
为了实现上述目的,本发明提供的一种用于游戏的跨服务器方法,采用的技术方案如下:
S1,游戏服务器A将其玩家的跨服请求A发送到跨服服务器;
S2,跨服服务器判断所述玩家的跨服活动的范围,如果是小范围的跨服活动,则进入S3;如果是大范围的跨服活动,则在跨服服务器上启动跨服场景,玩家在跨服服务器上进行跨服活动;
S3,向游戏服务器A发送进入等待消息,同时,判断其他游戏服务器发送的跨服请求B与跨服请求A是否属于同类型跨服活动,如果是,则进入S4;如果不是,则继续判断;
S4,跨服服务器在游戏服务A和游戏服务器B中选择一个作为临时跨服服务器,通知游戏服务器A和游戏服务器B建立连接,进入S5;
S5,游戏服务器A与游戏服务器B建立连接,游戏服务器A的玩家与游戏服务器B的玩家在S4步骤中选定的临时跨服服务器上进行跨服活动。
优选地,步骤S2中,依据游戏玩法规则设定所述玩家的跨服活动的范围,如果是两个游戏服务器之间的跨服活动,则判定所述跨服活动为小范围的跨服活动,如果是两个以上游戏服务器之间的跨服活动,则判定所述跨服活动为大范围的跨服活动。
优选地,游戏服务器与跨服服务器之间、任意两个游戏服务器之间均采用TCP/IP协议通讯。
更优选地,游戏服务器与跨服服务器之间、任意两个游戏服务器之间的通信层均设置心跳机制,具体为:在预先设定的时间,两个服务器均彼此向对方发送KEEP_ALIVE消息,
如果在预先设定的时间阈值内,收到返回的答复消息,则认为彼此之间的连接可用;
如果在预先设定的时间阈值内,没有收到返回的答复消息,则认为彼此之间的连接不可用。
优选地,游戏服务器与跨服服务器之间、任意两个游戏服务器之间采用同步RPC调用和/或异步RPC调用实现服务器间RPC。
优选地,步骤S5中,游戏服务器A与游戏服务器B采用异步RPC调用实现两个服务器间RPC。
优选地,步骤S5中,所述游戏服务器A的玩家与游戏服务器B的玩家在游戏服务器A或游戏服务器B上进行跨服活动,更具体的为:
判断游戏服务器A和游戏服务器B的负载,选择负载小的游戏服务器作为跨服活动的临时跨服节点。
更优选地,进行跨服活动时,服务器之间的数据获取都是通过同步远程调用的方式进行,数据更新通过异步远程调用的方式进行;
如果数据结构简单,数据变化频率低,则服务器之间直接采用实时同步方式更新数据;
如果数据结构复杂,数据变化频率高,则把数据按照重要程度划分等级,重要的数据实时同步,其他数据在临时跨服节点上暂时缓存,然后采用定时同步方式或者跨服活动结束时同步。
更优选地,同步方式采用异步远程调用。
本发明的有益效果是:
本发明所述游戏跨服务器方法,让不同服务器的玩家可以实现游戏交互、竞技和组队协作。对于小范围的服务器跨服行为,采用服务器直接互连的方式,绕开跨服中心节点,大大减小了跨服服务器的工作量,转而将压力分散到各个游戏服务器中,分散中心服务器的压力,同时,平衡了服务器的负载。仅仅只有大范围集体同场景跨服活动时,才需要在中心服务器上进行。同时使用远程调用的方式,避免玩家数据的多次拷贝和来回传输合并操作,大大提高跨服的效率,也提高了跨服的通讯效率。
附图说明
图1是实施例中所述用于游戏的跨服务器方法的流程示意图;
图2是实施例中跨服服务器与游戏服务器之间、游戏服务器之间的通讯连接示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
实施例
参照图1,本实施例中所述用于游戏的跨服务器方法,按照下述步骤实现:
S1,游戏服务器A将其玩家的跨服请求A发送到跨服服务器;
S2,跨服服务器根据所述玩家参与的跨服活动类型判断所述玩家的跨服活动的范围,如果是小范围的跨服活动,则进入S3;如果是大范围的跨服活动,则在跨服服务器上启动跨服场景,玩家在跨服服务器上进行跨服活动;
S3,向游戏服务器A发送进入等待消息,同时,判断其他游戏服务器发送的跨服请求B与跨服请求A是否属于相同类型跨服活动,如果是,则进入S4;如果不是,则继续判断;
S4,跨服服务器在游戏服务A和游戏服务器B中选择一个作为临时跨服服务器,通知游戏服务器A和游戏服务器B建立连接,进入S5;
S5,游戏服务器A与游戏服务器B建立连接,游戏服务器A的玩家与游戏服务器B的玩家在S4步骤中选定的临时跨服服务器上进行跨服活动。
在本实施例中,步骤S2中,依据游戏玩法规则设定所述玩家的跨服活动的范围,如果是两个游戏服务器之间的跨服活动,则设定所述跨服活动为小范围的跨服活动,如果是两个以上游戏服务器之间的跨服活动,则设定所述跨服活动为大范围的跨服活动。
在本实施例中,游戏服务器与跨服服务器之间、任意两个游戏服务器之间均采用TCP/IP协议通讯;其中,游戏服务器与跨服服务器之间、任意两个游戏服务器之间的通信层均设置心跳机制,具体为:在预先设定的时间,两个服务器均彼此向对方发送KEEP_ALIVE消息,
如果在预先设定的时间阈值内,收到返回的答复消息,则认为彼此之间的连接可用;
如果在预先设定的时间阈值内,没有收到返回的答复消息,则认为彼此之间的连接不可用。
本实施例中,游戏服务器与跨服服务器之间、任意两个游戏服务器之间采用同步RPC调用和/或异步RPC调用实现服务器间RPC。
同步RPC调用:请求服务器向目标服务器发出远程调用消息,然后挂起调用的进程。目标服务器收到消息后,根据消息中的编号执行对应的流程,完成后将执行的结果返回请求服务器,请求服务器恢复刚才挂起的进程,再根据返回的结果做出不同的响应。
异步RPC调用:请求服务器向目标服务器发出远程调用消息,不挂起调用的进程。目标服务器收到消息后,根据消息中的编号执行对应的流程,完成后将执行的结果返回请求服务器,请求服务器根据返回的结果做出不同的响应。
本实施例中,步骤S5中,游戏服务器A与游戏服务器B采用异步RPC调用实现两个服务器间RPC。
本实施例中,步骤S5中,所述游戏服务器A的玩家与游戏服务器B的玩家在游戏服务器A或游戏服务器B上进行跨服活动,更具体的为:
判断游戏服务器A和游戏服务器B的负载,选择负载小的游戏服务器作为跨服活动的临时跨服节点,在此过程中,游戏服务器A和游戏服务器B直接通讯。
本实施例中,进行跨服活动时,服务器之间的数据获取以及同步都是通过远程调用的方式进行;
如果数据结构简单,数据变化频率低,则服务器之间直接采用实时同步方式更新数据;
如果数据结构复杂,数据变化频率高,则把数据按照重要程度划分等级,重要的数据实时同步,其他数据在临时跨服节点上暂时缓存,然后采用定时同步方式或者跨服活动结束时同步方式,减小同步的次数,提高跨服的效率。同步方式采用异步远程调用,避免进程阻塞,大大提高跨服的效率,也提高了跨服的通讯效率。
每个单位时间内数据均有变化,则界定为数据变化频率高,多个单位时间内数据无变化,则界定为数据变化频率低,所述单位时间是由服务器性能测试得出的阈值,如果服务器性能比正常性能好,所述阀值小于t,保证数据及时同步,如果服务器性能比正常性能差,所述阀值大于t,为保证游戏运行流畅,需要减小数据同步次数;其中,所述t为服务器性能正常情况下的阈值。
通过采用本发明公开的上述技术方案,得到了如下有益的效果:
本发明所述游戏服务器跨服方法,让不同服务器的玩家可以实现游戏交互、竞技和组队协作。对于小范围的服务器跨服行为,采用服务器直接互连的方式,绕开跨服中心节点,大大减小了跨服服务器的工作量,转而将压力分散到各个游戏服务器中,分散中心服务器的压力,同时,平衡了服务器的负载。仅仅只有大范围集体同场景跨服活动时,才需要在中心服务器上进行。同时使用远程调用的方式,避免玩家数据的多次拷贝和来回传输合并操作,大大提高跨服的效率,也提高了跨服的通讯效率。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
Claims (9)
1.一种用于游戏的跨服务器方法,其特征在于,该方法按照下述步骤实现:
S1,游戏服务器A将其玩家的跨服请求A发送到跨服服务器;
S2,跨服服务器判断所述玩家的跨服活动的范围,如果是小范围的跨服活动,则进入S3;如果是大范围的跨服活动,则在跨服服务器上启动跨服场景,玩家在跨服服务器上进行跨服活动;
S3,向游戏服务器A发送进入等待消息,同时,判断其他游戏服务器发送的跨服请求B与跨服请求A是否属于同类型跨服活动,如果是,则进入S4;如果不是,则继续判断;
S4,跨服服务器在游戏服务A和游戏服务器B中选择一个作为临时跨服服务器,通知游戏服务器A和游戏服务器B建立连接,进入S5;
S5,游戏服务器A与游戏服务器B建立连接,游戏服务器A的玩家与游戏服务器B的玩家在S4步骤中选定的临时跨服服务器上进行跨服活动。
2.根据权利要求1所述用于游戏的跨服务器方法,其特征在于,步骤S2中,依据游戏玩法规则设定所述玩家的跨服活动的范围,如果是两个游戏服务器之间的跨服活动,则判定所述跨服活动为小范围的跨服活动,如果是两个以上游戏服务器之间的跨服活动,则判定所述跨服活动为大范围的跨服活动。
3.根据权利要求1所述用于游戏的跨服务器方法,其特征在于,游戏服务器与跨服服务器之间、任意两个游戏服务器之间均采用TCP/IP协议通讯。
4.根据权利要求3所述用于游戏的跨服务器方法,其特征在于,游戏服务器与跨服服务器之间、任意两个游戏服务器之间的通信层均设置心跳机制,具体为:在预先设定的时间,两个服务器均彼此向对方发送KEEP_ALIVE消息,
如果在预先设定的时间阈值内,收到返回的答复消息,则认为彼此之间的连接可用;
如果在预先设定的时间阈值内,没有收到返回的答复消息,则认为彼此之间的连接不可用。
5.根据权利要求1所述用于游戏的跨服务器方法,其特征在于,游戏服务器与跨服服务器之间、任意两个游戏服务器之间采用同步RPC调用和/或异步RPC调用实现服务器间RPC。
6.根据权利要求1所述用于游戏的跨服务器方法,其特征在于,步骤S5中,游戏服务器A与游戏服务器B采用异步RPC调用实现两个服务器间RPC。
7.根据权利要求1所述用于游戏的跨服务器方法,其特征在于,步骤S5中,所述游戏服务器A的玩家与游戏服务器B的玩家在游戏服务器A或游戏服务器B上进行跨服活动,更具体的为:
判断游戏服务器A和游戏服务器B的负载,选择负载小的游戏服务器作为跨服活动的临时跨服节点。
8.根据权利要求7所述用于游戏的跨服务器方法,其特征在于,进行跨服活动时,服务器之间的数据获取都是通过同步远程调用的方式进行,数据更新通过异步远程调用的方式进行;
如果数据结构简单,数据变化频率低,则服务器之间直接采用实时同步方式更新数据;
如果数据结构复杂,数据变化频率高,则把数据按照重要程度划分等级,重要的数据实时同步,其他数据在临时跨服节点上暂时缓存,然后采用定时同步方式或者跨服活动结束时同步。
9.根据权利要求8所述用于游戏的跨服务器方法,其特征在于,同步方式采用异步远程调用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510113866.8A CN106034118B (zh) | 2015-03-16 | 2015-03-16 | 一种用于游戏的跨服务器方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510113866.8A CN106034118B (zh) | 2015-03-16 | 2015-03-16 | 一种用于游戏的跨服务器方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106034118A true CN106034118A (zh) | 2016-10-19 |
CN106034118B CN106034118B (zh) | 2019-03-01 |
Family
ID=57150714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510113866.8A Expired - Fee Related CN106034118B (zh) | 2015-03-16 | 2015-03-16 | 一种用于游戏的跨服务器方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106034118B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106572099A (zh) * | 2016-10-25 | 2017-04-19 | 霍尔果斯霹雳互动网络科技有限公司 | 一种网络游戏的跨服方法和系统 |
CN107149772A (zh) * | 2017-05-24 | 2017-09-12 | 上海悦游网络信息科技股份有限公司 | 一种游戏跨服系统及服务器系统 |
CN110585697A (zh) * | 2019-09-09 | 2019-12-20 | 网易(杭州)网络有限公司 | 一种游戏中的跨服控制方法及装置 |
CN111870936A (zh) * | 2020-08-06 | 2020-11-03 | 网易(杭州)网络有限公司 | 跨服游戏实现方法、装置、服务器及存储介质 |
CN111957052A (zh) * | 2020-08-07 | 2020-11-20 | 完美世界(北京)软件科技发展有限公司 | 任务组队方法、装置、电子设备及存储介质 |
CN112604270A (zh) * | 2020-12-29 | 2021-04-06 | 北京冰封互娱科技有限公司 | 网络游戏的跨服方法、装置及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101377798A (zh) * | 2008-09-23 | 2009-03-04 | 上海久游网络科技有限公司 | 游戏道具统一处理系统及其处理方法 |
CN101593229A (zh) * | 2008-05-29 | 2009-12-02 | 鈊象电子股份有限公司 | 线上游戏的信息流动管理方法 |
CN102497330A (zh) * | 2011-12-12 | 2012-06-13 | 北京像素软件科技股份有限公司 | 一种mmorpg中跨服务器组队的方法 |
CN103795782A (zh) * | 2013-12-27 | 2014-05-14 | 北京像素软件科技股份有限公司 | 一种网络游戏的跨服方法及系统 |
US8825765B2 (en) * | 2006-11-28 | 2014-09-02 | Verizon Patent And Licensing Inc. | Cross platform gaming |
-
2015
- 2015-03-16 CN CN201510113866.8A patent/CN106034118B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8825765B2 (en) * | 2006-11-28 | 2014-09-02 | Verizon Patent And Licensing Inc. | Cross platform gaming |
CN101593229A (zh) * | 2008-05-29 | 2009-12-02 | 鈊象电子股份有限公司 | 线上游戏的信息流动管理方法 |
CN101377798A (zh) * | 2008-09-23 | 2009-03-04 | 上海久游网络科技有限公司 | 游戏道具统一处理系统及其处理方法 |
CN102497330A (zh) * | 2011-12-12 | 2012-06-13 | 北京像素软件科技股份有限公司 | 一种mmorpg中跨服务器组队的方法 |
CN103795782A (zh) * | 2013-12-27 | 2014-05-14 | 北京像素软件科技股份有限公司 | 一种网络游戏的跨服方法及系统 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106572099A (zh) * | 2016-10-25 | 2017-04-19 | 霍尔果斯霹雳互动网络科技有限公司 | 一种网络游戏的跨服方法和系统 |
CN107149772A (zh) * | 2017-05-24 | 2017-09-12 | 上海悦游网络信息科技股份有限公司 | 一种游戏跨服系统及服务器系统 |
CN110585697A (zh) * | 2019-09-09 | 2019-12-20 | 网易(杭州)网络有限公司 | 一种游戏中的跨服控制方法及装置 |
CN111870936A (zh) * | 2020-08-06 | 2020-11-03 | 网易(杭州)网络有限公司 | 跨服游戏实现方法、装置、服务器及存储介质 |
CN111870936B (zh) * | 2020-08-06 | 2023-11-24 | 网易(杭州)网络有限公司 | 跨服游戏实现方法、装置、服务器及存储介质 |
CN111957052A (zh) * | 2020-08-07 | 2020-11-20 | 完美世界(北京)软件科技发展有限公司 | 任务组队方法、装置、电子设备及存储介质 |
CN112604270A (zh) * | 2020-12-29 | 2021-04-06 | 北京冰封互娱科技有限公司 | 网络游戏的跨服方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN106034118B (zh) | 2019-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106034118A (zh) | 一种用于游戏的跨服务器方法 | |
CN105959347B (zh) | 一种基于p2p网络的全数字协同仿真系统通信方法 | |
CN103188245B (zh) | 一种对战类游戏服务端系统 | |
CN110351246A (zh) | 服务器集群系统Socket管理方法及装置 | |
WO2021233093A1 (zh) | 帐号接入方法和装置、存储介质及电子设备 | |
CN110120931A (zh) | 一种信息交互方法、装置及存储介质 | |
BRPI0507775B1 (pt) | "sistema e método para fornecer interação de áudio com base em contexto simultâneo; e mídia não transitória legível por computador". | |
CN105208058B (zh) | 基于web会话共享的信息交互系统 | |
CN111314714B (zh) | 一种游戏直播方法和装置 | |
CN109254845A (zh) | 一种应用于分布式通信计算服务端的线性扩展实现方法 | |
CN105573850B (zh) | 多进程交互方法、系统和服务器 | |
CN202094929U (zh) | 游戏服务器集群架构 | |
US10051084B2 (en) | Methods and systems for bandwidth-efficient remote procedure calls | |
JP2015139565A (ja) | ゲームに関わるサーバコンピュータ及びゲームプログラム | |
CN102769544B (zh) | 通信系统中设备业务适配层架构及业务适配层实现方法 | |
CN109510872A (zh) | 一种跨服务器系统、一种跨服务器方法和服务器 | |
CN109675303A (zh) | 一种虚拟现实云渲染系统 | |
CN103581197B (zh) | 跨服务器实现团队数据处理的方法和系统 | |
US20150134842A1 (en) | Translated session information to provision a network path | |
CN101420347B (zh) | 一种将Flash单机双人游戏在双主机上同步运行的方法 | |
CN104778085A (zh) | 一种手游的游戏对战处理方法及装置 | |
CN110580257A (zh) | 数据共享方法、服务器及介质 | |
CN109857439A (zh) | 一种游戏版本的更新方法及装置 | |
CN109936539A (zh) | 帐号信息的传输方法 | |
CN103209255A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190301 Termination date: 20200316 |
|
CF01 | Termination of patent right due to non-payment of annual fee |