一种数据同步方法和装置制造方法及图纸

技术编号:21671206 阅读:45 留言:0更新日期:2019-07-24 11:27
本申请实施例公开了一种数据同步方法和装置,用于利用有限的CPU内在带宽资源实现全部玩家参与排行榜,且实时同步全部排行榜数据的功能。包括:主服务器设置第一时间阈值;该主服务器缓存第一待同步数据,该第一待同步数据为以该第一时间阈值为周期存储的已合并计算的更新数据,该第一待同步数据携带该第一待同步数据中的全部数据版本号;该主服务器接收子服务器的数据同步请求;在该数据同步请求与前一次数据同步请求之间的时间间隔小于或等于该第一时间阈值时,该主服务器将该第一待同步数据发送给该子服务器,以使得该子服务器根据该第一待同步数据更新原始排行榜数据。

【技术实现步骤摘要】
一种数据同步方法和装置
本申请涉及游戏领域,尤其涉及一种数据同步方法和装置。
技术介绍
游戏中通常存在排行榜,即按照某种游戏规则把所有参玩家有序排列,并展示给所有玩家的榜单。目前每个游戏区都对应一个服务器程序,简称为子服(其架构的终端设备称为子服务器);还有些服务器程序负责收集处理所有子服的数据,实现一些所有玩家共同参与的游戏功能,简称主服(其架构的终端设备称为主服务器)。这些成百上千个子服和主服,分别架设在不同的终端设备(或称为服务器)上,这些终端设备通过网络互连,组成分布式服务器集群。主服具有整合各个排行榜的功能,即该主服内的排行榜容纳所有玩家,然后该主服需要将实时变化的排行榜同步到所有的子服。但是由于参与玩家比较多,多个玩家的操作指令将导致排行榜变动频繁且排行榜规模较大。该主服使用传统算法将该排行榜数据同步至子服时,通常需要在子服发送排行榜数据同步请求之后,主服需要将更新数据与子服的原始数据进行合并计算。而在游戏中,同步排行榜这一功能可以得到的中央处理器(CentralProcessingUnit/Processor,CPU)内存带宽资源有限,因此目前为了能够快速同步排行榜数据本文档来自技高网...

【技术保护点】
1.一种数据同步方法,应用于同步游戏排行榜数据的场景,其特征在于,包括:主服务器设置第一时间阈值;所述主服务器缓存第一待同步数据,所述第一待同步数据为以所述第一时间阈值为周期存储的已合并计算的更新数据,所述第一待同步数据携带所述第一待同步数据对应的全部数据版本号;所述主服务器接收子服务器的数据同步请求;在所述数据同步请求与前一次数据同步请求之间的时间间隔小于或等于所述第一时间阈值时,所述主服务器将所述第一待同步数据发送给所述子服务器,以使得所述子服务器根据所述第一待同步数据更新原始排行榜数据。

【技术特征摘要】
1.一种数据同步方法,应用于同步游戏排行榜数据的场景,其特征在于,包括:主服务器设置第一时间阈值;所述主服务器缓存第一待同步数据,所述第一待同步数据为以所述第一时间阈值为周期存储的已合并计算的更新数据,所述第一待同步数据携带所述第一待同步数据对应的全部数据版本号;所述主服务器接收子服务器的数据同步请求;在所述数据同步请求与前一次数据同步请求之间的时间间隔小于或等于所述第一时间阈值时,所述主服务器将所述第一待同步数据发送给所述子服务器,以使得所述子服务器根据所述第一待同步数据更新原始排行榜数据。2.根据权利要求1所述的方法,其特征在于,在所述数据同步请求与前一次数据同步请求之间的时间周期大于所述第一时间阈值时,所述主服务器将全部数据发送给所述子服务器。3.根据权利要求1所述的方法,其特征在于,在所述主服务器将所述第一待同步数据发送给所述子服务器之后,所述方法还包括:所述主服务器确定所述子服务器为活跃服务器;所述主服务器在预设时间范围内向所述活跃服务器推送更新数据。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述主服务器设置预设第二时间阈值;所述主服务器缓存第二待同步数据,所述第二待同步数据为以所述第二时间阈值为周期存储的已合并计算的更新数据,所述第二待同步数据携带所述第二待同步数据中全部数据版本号;所述主服务器接收子服务器的数据同步请求之后,所述方法还包括:所述主服务器根据所述第一待同步数据中的最小数据版本号、所述第二待同步数据中的最小数据版本号和所述原始数据版本号确定目标待同步数据;所述主服务器发送所述目标待同步数据给所述子服务器。5.根据权利要求4所述的方法,其特征在于,所述主服务器根据所述第一待同步数据中的最小数据版本号、所述第二待同步数据中的最小数据版本号和所述原始数据版本号确定目标待同步数据包括:所述主服务器依次判断所述第一待同步数据中的最小数据版本号和所述第二待同步数据中的最小数据版本号是否小于所述原始数据版本号;若所述第一待同步数据中的最小数据版本号小于或等于所述原始数据版本号且所述第二待同步数据中的最小数据版本号大于所述原始数据版本号,则所述主服务器确定所述第一待同步数据作为所述目标待同步数据;若所述第二待同步数据中的最小数据版本号小于或等于所述原始数据版本号且所述第一待同步数据中的最小数据版本号大于所述原始数据版本号,则所述主服务器确定所述第二待同步数据作为所述目标待同步数据;若所述第二待同步数据中的最小数据版本号和所述第一待同步数据中的最小数据版本号均小于或等于所述原始数据版本号,则所述主服务器确定所述第一待同步数据中的最小数据版本号与所述原始数据版本号的第一差距和所述第二待同步数据中的最小数据版本号与所述原始数据版本号的第二差距;若所述第一差距小于所述第二差距,则所述主服务器确定所述第一待同步数据作为所述目标待同步数据;若所述第一差距大于所述第二差距,则所述主服务器确定所述第二待同步数据作为所述目标待同步数据;若所述第一差距等于所述第二差距,则所述主服务器任意确定所述第一待同步数据或所述第二待同步数据作为所述目标待同步数据。6.根据权利要求1至5中任一项所述的方法,其特征在于,所述主服务器缓存第一待同步数据包括:所述主服务器建立前数据结构和后数据结构;所述主服务器将第一更新数据存储于所述前数据结构,所述第一更新数据为第一周期内的更新数据,所述周期时长为所述第一时间阈值;在更新时长大于或等于所述第一周期时,所述主服务器将所述第一更新数据转存于所述后数据结构,并将第二更新数据存储于所述前数据结构,所述第二更新数据为第二周期内的更新数据;在所述更新时长大于或等于所述第二周期时,所述主服务器删除所述第一更新数据;将所述第二更新数据转存于所述后数据结构,并将第三更新数据存储于所述前数据结构,所述第三更新数据为第三周期内的更新数据。7.根据权利要求1至5中任一项所述的方法,其特征在于,所述数据版本号用于指示不同时刻对应的排行榜数...

【专利技术属性】
技术研发人员:李俊峰
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:北京,11

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

1