一种同步客户端和服务器玩家每日状态的方法技术

技术编号:36340599 阅读:53 留言:0更新日期:2023-01-14 17:53
本发明专利技术公开了一种同步客户端和服务器玩家每日状态的方法,包括客户端临时重置和服务器常规重置;所述客户端临时重置时,仅客户端临时更新重置玩家每日状态数据,服务器的玩家每日状态数据不作更新重置;所述服务器常规重置时,服务器和客户端均更新重置玩家每日状态数据。本发明专利技术的方法实现了玩家每日状态数据的错峰同步,从而减少数据同步带来的网络峰值波动,有效降低服务器在跨天重置时间节点的性能峰值,改善服务器卡顿、玩家请求延迟响应的情况。况。

【技术实现步骤摘要】
一种同步客户端和服务器玩家每日状态的方法


[0001]本专利技术涉及游戏软件
,特别涉及一种同步客户端和服务器玩家每日状态的方法。

技术介绍

[0002]软件游戏中的一些功能常常设有每日状态,常见的带有每日状态的功能如商店购买商品的次数,很多游戏会限制玩家每日在商店的购买次数,玩家在当日购买的商品达到指定限购次数后,则不能继续再购买商品,在跨天重置每日购买次数后,玩家又可以再次在商店购买商品。
[0003]对于跨天重置玩家每日状态,目前普遍的实现方案是由服务器发起的,服务器先重置玩家每日状态,然后实时通讯客户端,同步客户端的玩家每日状态,而服务器的重置操作通常由跨天定时器触发,重置在线玩家的每日状态,不在线的玩家在玩家上线登录游戏时重置每日状态。
[0004]现有的服务器发起实时同步重置的方案存在一些不可避免的问题,随着游戏体量的增加,玩家人数增多,以及具有每日状态的游戏功能的增多,在跨天这个时间点(例如:在每日的0点进行同步重置)给服务器带来了严重的性能开销,拉升了服务器的性能峰值,从而造成服务器卡顿、玩家请求延迟响应等情况的发生,此外,同时通讯客户端的在线玩家同步每日状态也会带来网络的峰值波动,造成网络卡顿、在线玩家延迟接收到同步消息等情况的发生。

技术实现思路

[0005]为解决上述问题,本专利技术提供了一种同步客户端和服务器玩家每日状态的方法。
[0006]本专利技术采用以下技术方案:
[0007]一种同步客户端和服务器玩家每日状态的方法,包括客户端临时重置和服务器常规重置;所述客户端临时重置时,仅客户端临时更新重置玩家每日状态数据,服务器的玩家每日状态数据不作更新重置;所述服务器常规重置时,服务器和客户端均更新重置玩家每日状态数据;
[0008]所述客户端临时重置包括重置时间节点触发的临时重置和登录动作触发的临时重置;所述重置时间节点触发的临时重置为:每当玩家处于在线状态且到达重置时间节点时,客户端就进行一次临时重置;所述登录动作触发的临时重置为:每当玩家进行登录操作时,客户端就进行一次临时重置;
[0009]所述服务器常规重置为:当玩家执行输入操作的通讯请求时,客户端先向服务器发起状态同步请求,服务器更新重置玩家每日状态数据后将更新重置结果返回给客户端,然后客户端根据返回结果判断是否重置成功。
[0010]进一步地,所述玩家每日状态数据包括每日的重置时间和各个功能模块的玩家每日状态数值。
[0011]进一步地,所述重置时间节点是预先设定的每日更新重置玩家每日状态数据的时间节点。
[0012]进一步地,所述客户端设有客户端状态同步模块用于管理客户端的每日玩家状态数据,所述服务器设有服务器状态同步模块用于管理服务器的每日玩家状态数据。
[0013]进一步地,所述客户端还设有跨天定时器,所述跨天定时器用于设定重置时间节点和发出跨天重置消息。
[0014]进一步地,所述客户端状态同步模块接收到所述跨天定时器发出的跨天重置消息后,所述客户端判断玩家是否处于在线状态,若玩家处于在线状态则临时更新重置客户端的玩家每日状态数据,若玩家处于非在线状态则不更新重置客户端的玩家每日状态数据。
[0015]进一步地,所述客户端临时重置,具体为:客户端临时重置被触发后,所述客户端获取当前时间,比较当前时间与重置时间节点是否处于同一天,若不处于同一天,则更新重置客户端的玩家每日状态数据,若处于同一天,则保持客户端的玩家每日状态数据不变。
[0016]进一步地,所述服务器常规重置,包括如下步骤:
[0017]S1、服务器接收到客户端的状态同步请求后,获取当前时间,比较当前时间与重置时间节点是否处于同一天,若不处于同一天,则更新重置玩家每日状态数据,并将更新后的数据返回给客户端,若处于同一天,则将当前服务器的玩家每日状态数据返回给客户端;
[0018]S2、客户端接收到服务端的返回结果,判断是否重置成功,若客户端当前的玩家每日状态数据与客户端返回的玩家每日状态数据一致,则判断为重置成功,若客户端当前的玩家每日状态数据与客户端返回的玩家每日状态数据不一致,则判断为重置失败并将客户端的数据更新为服务端返回的玩家每日状态数据。
[0019]采用上述技术方案后,本专利技术与
技术介绍
相比,具有如下优点:
[0020]本专利技术的玩家每日状态数据由客户端单独重置,不实时通讯服务器进行同步,仅在玩家输入操作触发通讯服务器前,才同步客户端和服务器的玩家每日状态数据,通过这种延时同步客户端和服务器玩家每日状态数据的方法,实现了玩家每日状态数据的错峰同步,从而减少数据同步带来的网络峰值波动,有效降低服务器在跨天重置时间节点的性能峰值,改善服务器卡顿、玩家请求延迟响应的情况。
具体实施方式
[0021]为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。
[0022]实施例
[0023]一种同步客户端和服务器玩家每日状态的方法,包括客户端临时重置和服务器常规重置;所述客户端临时重置时,仅客户端临时更新重置玩家每日状态数据,服务器的玩家每日状态数据不作更新重置;所述服务器常规重置时,服务器和客户端均更新重置玩家每日状态数据;所述玩家每日状态数据包括每日的重置时间和各个功能模块的玩家每日状态数值,本实施例以商店购物功能模块为例进行说明,在游戏中的商店购物时,限定玩家每日在商店的购买次数,玩家当日在商店购买商品达到指定限购次数后,不能在继续购买商品,玩家每日状态数值即为剩余购买次数,在跨天重置玩家每日购买次数后,玩家又可以再次
在商店购买商品。具体的玩家每日状态数据同步方法如下:
[0024](1)客户端临时重置
[0025]所述客户端临时重置包括重置时间节点触发的临时重置和登录动作触发的临时重置;所述客户端设有客户端状态同步模块用于管理客户端的每日玩家状态数据,所述客户端还设有跨天定时器,所述跨天定时器用于设定重置时间节点和发出跨天重置消息。
[0026]所述重置时间节点触发的临时重置为:每当玩家处于在线状态且到达重置时间节点时,客户端就进行一次临时重置;具体的:当所述客户端状态同步模块在每日0点接收到所述跨天定时器发出的跨天重置消息后,所述客户端判断玩家是否处于在线状态,若玩家处于在线状态,则客户端状态同步模块临时更新重置客户端的玩家每日状态数据,若玩家处于非在线状态则不更新重置客户端的玩家每日状态数据。其中,重置时间节点是预先设定的每日更新重置玩家每日状态数据的时间节点,本实施例的重置时间节点设定为每日的0点。
[0027]所述登录动作触发的临时重置为:每当玩家进行登录操作时,客户端就进行一次临时重置;
[0028]客户端临时重置被触发后,所述客户端获取当前时间,比较当前时间与重置时间节点是否处于同一天,若不处于同一天,则更新重置客户端的玩家每日状态数据,若处于同一天本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种同步客户端和服务器玩家每日状态的方法,其特征在于:包括客户端临时重置和服务器常规重置;所述客户端临时重置时,仅客户端临时更新重置玩家每日状态数据,服务器的玩家每日状态数据不作更新重置;所述服务器常规重置时,服务器和客户端均更新重置玩家每日状态数据;所述客户端临时重置包括重置时间节点触发的临时重置和登录动作触发的临时重置;所述重置时间节点触发的临时重置为:每当玩家处于在线状态且到达重置时间节点时,客户端就进行一次临时重置;所述登录动作触发的临时重置为:每当玩家进行登录操作时,客户端就进行一次临时重置;所述服务器常规重置为:当玩家执行输入操作的通讯请求时,客户端先向服务器发起状态同步请求,服务器更新重置玩家每日状态数据后将更新重置结果返回给客户端,然后客户端根据返回结果判断是否重置成功。2.如权利要求1所述的一种同步客户端和服务器玩家每日状态的方法,其特征在于:所述玩家每日状态数据包括每日的重置时间和各个功能模块的玩家每日状态数值。3.如权利要求2所述的一种同步客户端和服务器玩家每日状态的方法,其特征在于:所述重置时间节点是预先设定的每日更新重置玩家每日状态数据的时间节点。4.如权利要求3所述的一种同步客户端和服务器玩家每日状态的方法,其特征在于:所述客户端设有客户端状态同步模块用于管理客户端的每日玩家状态数据,所述服务器设有服务器状态同步模块用于管理服务器的每日玩家状态数据。5.如权利要求4所述的一种同步客户端和服务器玩家每日状态的方法,其特征在于:所述客户端还...

【专利技术属性】
技术研发人员:张弦
申请(专利权)人:厦门极致互动网络技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1