CN113633981A - 游戏应用中地图数据同步的方法、装置、设备及存储介质 - Google Patents

游戏应用中地图数据同步的方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113633981A
CN113633981A CN202110926103.0A CN202110926103A CN113633981A CN 113633981 A CN113633981 A CN 113633981A CN 202110926103 A CN202110926103 A CN 202110926103A CN 113633981 A CN113633981 A CN 113633981A
Authority
CN
China
Prior art keywords
version number
parcel
information
change
land parcel
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.)
Pending
Application number
CN202110926103.0A
Other languages
English (en)
Inventor
方嘉铭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202110926103.0A priority Critical patent/CN113633981A/zh
Publication of CN113633981A publication Critical patent/CN113633981A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/537Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
    • A63F13/5378Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen for displaying an additional top view, e.g. radar screens or maps
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/30Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
    • A63F2300/303Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device for displaying additional data, e.g. simulating a Head Up Display
    • A63F2300/306Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device for displaying additional data, e.g. simulating a Head Up Display for displaying a marker associated to an object or location in the game field
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/30Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
    • A63F2300/303Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device for displaying additional data, e.g. simulating a Head Up Display
    • A63F2300/307Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device for displaying additional data, e.g. simulating a Head Up Display for displaying an additional window with a view from the top of the game field, e.g. radar screen
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing

Abstract

本申请提供游戏应用中地图数据同步的方法、装置、设备及存储介质。该方法通过维护单调递增的版本号,在地块信息发生变化时生成本次变化对应的版本号,将发生变化的地块的标识与版本号对应存储,减少了地块变动信息的数据量,节省存储空间。终端设备向服务器发送终端设备存储的最大版本号,服务器根据终端设备存储的最大版本号和本地存储的版本号,确定终端设备需要更新的目标地块的标识,并将目标地块的最新地块信息同步到终端设备。终端设备获取目标地块的最新地块信息并更新本地存储的目标地块的地块信息,在地图数据同步时只需增量同步部分地块的最新地块信息,无需传输地块的历史修改数据,提高了地图数据同步效率,减少了流量消耗。

Description

游戏应用中地图数据同步的方法、装置、设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种游戏应用中地图数据同步的方法、装置、设备及存储介质。
背景技术
在一些网络游戏中会采用一张大地图,地图会被切割成多个地图区域,每个地图区域称为一个地块。玩家在地块上开展争夺,抢占地块上的资源或者在地块上建造。这一类游戏涉及到多人操作地图,所以当其中一名玩家操作了地图上的地块之后,需要同步对地块的变动给所有在地图上的玩家。
目前大多数此类游戏中,玩家在首次登录到游戏的时候拉取全部地块的信息。玩家断线重连服务器后,不会重新登录游戏,但是由于无法接收到在断线后到重连这段时间的地块变动的同步消息,因此需要重新拉取整个地图的所有地块的信息,需要消耗较长时间和较多资源。
发明内容
本申请提供一种游戏应用中地图数据同步的方法、装置、设备及存储介质。
第一方面,本申请提供一种游戏应用中地图数据同步的方法,应用于服务器,所述服务器存储有地图数据,所述地图数据对应地图被划分成多个地块,所述地图数据包括每一地块的地块信息,包括:
在地块信息发生变化时,生成本次变化对应的版本号,将发生变化的地块的标识与所述版本号对应存储,其中本次变化对应的版本号大于本地存储的最大版本号;
根据终端设备存储的最大版本号和本地存储的版本号,确定所述终端设备需要更新的目标地块的标识;
根据所述目标地块的标识,将所述目标地块的最新地块信息同步到所述终端设备。
第二方面,本申请提供一种游戏应用中地图数据同步的方法,应用于作为客户端的终端设备,包括:
向服务器发送终端设备存储的最大版本号,以使所述服务器根据所述终端设备存储的最大版本号和本地存储的最大版本号,确定所述终端设备需要更新的地块的标识,并将所述终端设备需要更新的目标地块的最新地块信息同步到所述终端设备,其中所述服务器存储有每次地块信息变化的版本号及发送变化的地块的标识,且每一次变化对应的版本号大于上一次变化对应的版本号;
从所述服务器获取所述目标地块的最新地块信息;
根据所述目标地块的最新地块信息,更新本地存储的所述目标地块的地块信息。
第三方面,本申请提供一种游戏应用中地图数据同步的装置,应用于服务器,所述服务器存储有地图数据,所述地图数据对应地图被划分成多个地块,所述地图数据包括每一地块的地块信息,包括:
地块变动信息存储模块,用于在地块信息发生变化时,生成本次变化对应的版本号,将发生变化的地块的标识与所述版本号对应存储,其中本次变化对应的版本号大于本地存储的最大版本号;
同步需求确定模块,用于根据终端设备存储的最大版本号和本地存储的版本号,确定所述终端设备需要更新的目标地块的标识;
数据同步模块,用于根据所述目标地块的标识,将所述目标地块的最新地块信息同步到所述终端设备。
第四方面,本申请提供一种游戏应用中地图数据同步的装置,应用于作为客户端的终端设备,包括:
发送模块,用于向服务器发送终端设备存储的最大版本号,以使所述服务器根据所述终端设备存储的最大版本号和本地存储的最大版本号,确定所述终端设备需要更新的地块的标识,并将所述终端设备需要更新的目标地块的最新地块信息同步到所述终端设备,其中所述服务器存储有每次地块信息变化的版本号及发送变化的地块的标识,且每一次变化对应的版本号大于上一次变化对应的版本号;
数据同步模块,用于从所述服务器获取所述目标地块的最新地块信息;根据所述目标地块的最新地块信息,更新本地存储的所述目标地块的地块信息。
第五方面,本申请提供一种服务器,包括:
处理器,存储器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序;
其中,所述处理器运行所述计算机程序时实现上述第一方面所述的方法。
第六方面,本申请提供一种终端设备,包括:
处理器,存储器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序;
其中,所述处理器运行所述计算机程序时实现上述第二方面所述的方法。
第七方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方面所述的方法。
本申请提供的游戏应用中地图数据同步的方法、装置、设备及存储介质,通过在地块信息发生变化时,生成本次变化对应的版本号,将发生变化的地块的标识与所述版本号对应存储,其中本次变化对应的版本号大于本地存储的最大版本号,对于任一地块的一次变化,服务器只需对应存储发生变化的地块的标识与所述版本号,减少存储数据量,节省存储空间。进一步地,在需要同步地图数据时,终端设备向服务器发送终端设备存储的最大版本号。服务器根据终端设备存储的最大版本号和本地存储的版本号,确定所述终端设备需要更新的目标地块的标识;根据所述目标地块的标识,将所述目标地块的最新地块信息同步到所述终端设备。终端设备从所述服务器获取所述目标地块的最新地块信息;根据所述目标地块的最新地块信息,更新本地存储的所述目标地块的地块信息。地图数据同步时,只需增量同步部分地块的最新地块信息,无需传输地块的历史修改数据,能够节省传输时间,提高传输效率,同时减少地图数据同步的流量消耗。
附图说明
图1为本申请实施例一提供的游戏应用中地图数据同步的方法流程图;
图2为本申请实施例二提供的地图数据的示意图;
图3为本申请实施例二提供的地块变动列表的示意图;
图4为本申请实施例二提供的另一地块变动列表的示意图;
图5为本申请实施例三提供的游戏应用中地图数据同步的方法流程图;
图6为本申请实施例四提供的游戏应用中地图数据同步的装置的结构示意图;
图7为本申请实施例五提供的游戏应用中地图数据同步的装置的结构示意图;
图8为本申请实施例六提供的服务器的结构示意图;
图9为本申请实施例七提供的终端设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
本申请所涉及的术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
在一些网络游戏中会采用一张大地图,地图会被切割成多个地图区域,每个地图区域称为一个地块。玩家在地块上开展争夺,抢占地块上的资源或者在地块上建造。这一类游戏涉及到多人操作地图,所以当其中一名玩家操作了地图上的地块之后,需要同步对地块的变动给所有在地图上的玩家。
在地图数据同步的方案中,终端设备(服务器)可以每次从服务器拉取整个地图的全部地块的信息,以保持本地的地图数据与服务器同步。但是这种方法每次同步时传输数据量大,耗费较长时间和较多的流量资源。
另外,该方案假定了在首次拉取之后,玩家和服务器的连接只要不中断,就能够不重复不乱序的接收到增量的地块同步消息,这在一些不可靠的传输框架的网络下可能就会出现地块同步消息丢失导致整个地图错乱的情况。
为了减少数据同步的消耗,服务器可以将每次地块变动的修改数据(比如块上的物品被破坏,地块上的资源被采集,地块上的建筑开始建造等)和变动版本号保存到历史变动数据列表中。在同步地图数据时,根据终端设备更新到的版本号获取终端设备尚未同步的历史变动数据,将终端设备尚未同步的历史变动数据全部发送到终端设备,终端设备根据历史变动数据,更新本地的地块信息,来实现本地与服务器端的地图数据的同步。但是,历史变动数据列表中存储每次地块变动的具体修改数据,数据量较大,占用的存储空间较大。在实际应用中,同一地块可能会被多个玩家反复修改(例如,多个玩家反复争夺占据同一地块,地块被A占据之后,又被B占据,之后又被C占据),玩家同步地块信息时只需要同步地块最新的地块信息(如地块被C占据),而不关心地块的历史变动消息,这种方案会同步不必要的历史变动数据,造成时间和流量资源的浪费。
其中,终端设备是指游戏应用的玩家使用的客户端设备。
本申请提供的游戏应用中地图数据同步的方法,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
实施例一
图1为本申请实施例一提供的游戏应用中地图数据同步的方法流程图。本实施例的方法应用于游戏应用场景,游戏应用具有地图数据,地图数据对应地图被划分成多个地块,地图数据包括每一地块的地块信息。
如图1所示,该方法具体步骤如下:
步骤S101、服务器在地块信息发生变化时,生成本次变化对应的版本号,将发生变化的地块的标识与版本号对应存储,其中本次变化对应的版本号大于本地存储的最大版本号。
本实施例中,维护一个单调递增的版本号,初始情况下每个地块都是没有任何变动的,每当其中一个地块发生变化时,会生成一个新的版本号,并且会记录下版本号对应的发生变化的地块的标识。对于任一地块的一次变化,服务器只需对应存储发生变化的地块的标识与版本号,减少存储数据量,节省存储空间。
其中,新生成的版本号大于已有的最大版本号,也就是新生成的版本号大于上一次的版本号,版本号单调递增。
其中,地块的标识能够唯一标识一个地块,可以是地块的ID等。
步骤S102、终端设备向服务器发送终端设备存储的最大版本号。
在需要进行地图数据的同步时,终端设备向服务器发送终端设备存储的最大版本号(记为“client_version”)。
步骤S103、服务器根据终端设备存储的最大版本号和本地存储的版本号,确定终端设备需要更新的目标地块的标识。
服务器接收终端设备发送的终端设备存储的最大版本号client_version,根据client_version和本地存储的版本号,可以确定本地存储的版本号中大于client_version的版本号,大于client_version的版本号对应的地块的标识,也就是终端设备需要更新的目标地块的标识。
步骤S104、服务器根据目标地块的标识,将目标地块的最新地块信息同步到终端设备。
步骤S105、终端设备从服务器获取目标地块的最新地块信息。
在确定终端设备需要更新的目标地块的标识之后,服务器根据目标地块的标识,将目标地块的最新地块信息同步到终端设备。
示例性地,服务器可以直接将目标地块的最新地块信息发送到终端设备,或者,服务器可以将目标地块的标识发送给终端设备,由终端设备根据目标地块的标识从服务器主动拉取目标地块的最新地块信息。
步骤S106、终端设备根据目标地块的最新地块信息,更新本地存储的目标地块的地块信息。
在获取到目标地块的最新地块信息之后,终端设备根据目标地块的最新地块信息,更新本地存储的目标地块的地块信息。
本申请实施例通过在地块信息发生变化时,生成本次变化对应的版本号,将发生变化的地块的标识与版本号对应存储,其中本次变化对应的版本号大于本地存储的最大版本号,对于任一地块的一次变化,服务器只需对应存储发生变化的地块的标识与版本号,减少存储数据量,节省存储空间。进一步地,在需要同步地图数据时,终端设备向服务器发送终端设备存储的最大版本号。服务器根据终端设备存储的最大版本号和本地存储的版本号,确定终端设备需要更新的目标地块的标识;根据目标地块的标识,将目标地块的最新地块信息同步到终端设备。终端设备从服务器获取目标地块的最新地块信息;根据目标地块的最新地块信息,更新本地存储的目标地块的地块信息。地图数据同步时,只需增量同步部分地块的最新地块信息,无需传输地块的历史修改数据,能够节省传输时间,提高传输效率,同时减少地图数据同步的流量消耗。
实施例二
在上述实施例一的基础上,本实施例中,用地块变动列表记录每一次的地块变化信息,地块变化信息包括本次变化对应的版本号和本次变化的地块的标识。对于任一地块的一次变化,服务器只需对应存储发生变化的地块的标识与版本号,减少存储数据量,节省存储空间。
这样,终端设备在与服务器同步地块信息的时候,终端设备会上传自己已经同步的最大版本号client_version,服务器根据当前存储的版本号server_version和终端设备发送的版本号client_version计算出需要同步的目标地块,并返回给终端设备,终端设备在收到相应的状态会更新终端设备的地块信息以及已经同步的最大版本号。
本实施例中,服务器存储的地图数据包括地图的所有地块的地块信息,每一地块信息包含地块资源相关信息以及版本号。
示例性地,图2为服务器存储的地图数据的示意图,图2中的第一行的数字和第一列中的字母可以用于表示地块的行列坐标,基于地块的行列坐标可以唯一确定一个地块。每个地块的地块信息中包括地块对应的版本号。图2以依次对地块3F,4G,5H,6I进行一次变动为例,将4次地块信息变化的版本号分别记录在对应地块信息中。
一种可选地实施方式中,服务器可以维护地块变动列表,并存储版本号记录起始值。地块变动列表中的每一列表项用于存储一次地块信息变化的地块标识,地块变动列表对应的版本号记录起始值为地块变动列表中的第一个列表项对应的版本号。
这样,地块变动列表中仅保存每次变动的地块的标识,能够极大地减少存储的地块修改信息的数据量,最大程度地节省存储空间。
在地块信息发送变化时,生成本次变化对应的版本号,将发生变化的地块的标识与版本号对应存储,具体可以采用如下方式实现:
在任一地块信息发生变化时,在地块变动列表末尾插入一个新的列表项,并将本次变化的地块的标识记录入列表项,列表项对应的版本号根据列表项在地块变动列表中的位置和地块变动列表对应的版本号记录起始值确定。
示例性地,以图2所示的依次对地块3F,4G,5H,6I进行一次变动为例,假设版本号记录起始值为1,可以向地块变动列表依次插入值为3F,4G,5H,6I的列表项,得到如图3所示的地块变动列表。如图3所示的表格中,第一项对应的是版本号为1的地块变动对应的地块的标识,第二项对应的是版本号为2的地块变动对应的地块的标识,依次类推,可以确定每一次地块变动对应的版本号和地块的标识。
进一步地,若地块变动列表中的列表项的数量等于列表项数量阈值,则删除地块变动列表中的前第一数量的列表项,并更新版本号记录起始值。其中,第一数量小于列表项数量阈值。
这样,能够在地块变动列表中的列表项的数量达到列表项数量阈值时,对地块变动列表进行压缩,减少地块变动列表的列表项数量,避免地块变动列表过长,能够进一步节省存储空间。
其中,列表项数量阈值可以根据实际应用场景的需要进行设置和调整,本实施例此处不做具体限定。
示例性地,假设列表项数量阈值为500,第一数量为100,可以在图3中所示的地块变动列表中列表项的数量达到500时,删除前100个列表项,并将版本号记录起始值更新为101,得到如图4所示的地块变动列表,此时,地块变动列表中的第一项对应于版本号为101的地块变动对应的地块的标识。
当版本号记录起始值发生变化时,如图4所示的例子,这个时候版本号记录起始值为101,表示101以前的地块变动信息已经被清理掉了,这时如果当前终端设备的版本号client_version小于版本号记录起始值101时,终端设备可以从服务器同步完整地图数据,这样即使中间删除了地块变动列表中的部分较早的地块变动信息,也不影响地图数据同步的正确性。
本实施例中,区别于传统方案的存储每一次地块信息变动的具体变化信息,本实施例中只保存了一次地块变动对应的版本号和变动地块的标识(地块ID),无需存储变动的具体信息,而地块的具体信息会存储在地图数据中,空间占用极低,可以保存非常多次地块变动的信息。此外通过地块变动列表压缩的机制,在地块变动列表达到一定长度时删除部分较早的地块变动信息,来避免地块变动列表的过度的空间增长。
实施例三
图5为本申请实施例三提供的游戏应用中地图数据同步的方法流程图。在上述实施例二的基础上,本实施例中,对于终端设备与服务器直接同步地块信息的具体实现流程进行示例性地说明。本实施例中第一终端设备可以是任一终端设备,第二终端设备是指除第一终端设备之外的在线终端设备。
本实施例的一种可选实施方式中,当第一终端设备在线时,玩家可通过在第一终端设备上对地块进行变动操作。响应于对任一地块的变动操作,第一终端设备向服务器发送地块信息变化请求,地块信息变化请求包括:待修改的第一地块的标识和变化内容信息。
服务器接收第一终端设备发送的地块信息修改请求,地块信息修改请求包含第一地块的标识和修改内容信息。服务器根据游戏应用的地块变动规则,判断地块信息修改请求是否符合地块变动规则,如果符合,则确认地块信息修改请求。
示例性地,服务器可以向第一终端设备发送确认修改信息。响应于服务器对地块信息变化请求的确认修改信息,终端设备根据变化内容信息修改本地存储的第一地块的地块信息。
在对地块信息修改请求确认后,服务器根据本地存储的最大版本号,生成本次变化对应的版本号,将发生变化的地块的标识与版本号对应存储;并根据修改内容信息修改和本次变化对应的版本号,更新本地存储的第一地块的地块信息。
进一步地,根据修改内容信息修改和本次变化对应的版本号,更新本地存储的第一地块的地块信息之后,服务器向除第一终端设备外的第二终端设备发送第一地块的地块变动同步信息。
其中,地块变动同步信息包括:本次变化对应的版本号,以及第一地块的标识和修改内容信息;或者,地块变动同步信息包括:本次变化对应的版本号,和修改后的第一地块的地块信息。
第二终端设备接收服务器发送的第一地块的地块变动同步信息。若本次变化对应的版本号是本地存储的最大版本号的下一个版本号,则根据地块变动同步信息,更新本地存储的第一地块的地块信息。
可选地,服务器可以将本次变化对应的版本号,以及第一地块的标识和修改内容信息同步到第二终端设备,第二终端设备根据第一地块的标识和修改内容信息,更新本地存储的第一地块的地块信息,并更新本地存储的最大版本号。
可选地,服务器可以将本次变化对应的版本号,和修改后的第一地块的地块信息同步到第二终端设备,第二终端设备根据修改后的第一地块的地块信息,更新本地存储的第一地块的地块信息,并更新本地存储的最大版本号。
示例性地,服务器可以向第二终端设备广播地块变动同步信息。
进一步地,若本次变化对应的版本号不是本地存储的最大版本号的下一个版本号,第二终端设备可以确定在本地存储的最大版本号与接收到的最新的版本号之间,缺少了至少一个版本号,也即第二终端设备丢失了至少一个版本号对应的地块变动信息。第二终端设备需要向服务器发送包含本地存储的最大版本号的地块信息同步请求。
当然,在其他终端设备对第二地块进行变动操作后,第一终端设备也可以接收服务器发送的第二地块的地块变动同步信息,地块变动同步信息包括:本次变化对应的版本号,以及第二地块的标识和修改内容信息;或者,地块变动同步信息包括:本次变化对应的版本号,和修改后的第二地块的地块信息。
若本次变化对应的版本号是本地存储的最大版本号的下一个版本号,则第一终端设备根据地块变动同步信息,更新本地存储的第二地块的地块信息。若本次变化对应的版本号不是本地存储的最大版本号的下一个版本号,第一终端设备可以确定在本地存储的最大版本号与接收到的最新的版本号之间,缺少了至少一个版本号,也即第一终端设备丢失了至少一个版本号对应的地块变动信息。第一终端设备需要向服务器发送包含本地存储的最大版本号的地块信息同步请求。
通过上述方式,在进行地图数据同步时,对于已经同步到最大版本号的服务器来说,后续会通过接收地块变动同步信息,根据地块变动同步信息及实地更新地块信息。对于已丢失部分地块变动同步信息的玩家,根据本地存储的最大版本号和服务器存储的最大版本号可以确定服务器缺少的版本号及对应的地块标识,即可得到服务器需要同步的哪些地块的地块信息,并从大地图数据里根据地块标识得到最新的地块信息返回给服务器。
在实际应用中的一种极端情况下,可能丢失了部分丢失了,又没有后续的新的消息,比如服务器丢失了client_version+1的消息,此后地块没有任何的变动,这种情况下服务器无法意识到地块的同步信息缺失了,所以需要引入额外的地块同步信息的自愈逻辑进行处理。
一种可选地实施方式中,终端设备在掉线并重新连接服务器之后,可以主动向服务器发送地块信息同步请求,该地块信息同步请求包含终端设备本地存储的最大版本号。服务器接收终端设备的地块信息同步请求,并可以获取到终端设备存储的最大版本号。
示例性地,以图2所示的4次地块变动为例,服务器在首次登录的时候由于没有最大版本号,会全量拉取所有地块的地块信息。假设服务器在接收了版本号为1,2的2次变动的地块信息之后离线,那么在重新连接服务器之后,可以将服务器发送已存储的最大版本号2。服务器根据本地存储的最大版本号4,可以计算确定服务器缺少了版本号3和4,并确定服务器需要同步的地块为版本号3和4对应的地块,即5H,6I。
另一种可选地实施方式中,网络游戏本身需要对终端设备是否在线进行在线测试。在线的终端设备需要每间隔一段时间向服务器发送一次在线测试消息,用于告知服务器终端设备仍然在线。可选地,可以将终端设备存储的最大版本号携带在在线测试消息中发送给服务器,服务器接收终端设备的在线测试消息,并获取终端设备存储的最大版本号。
在进行在线测试的同时,还可以验证终端设备存储的最大版本号(用client_version表示)与服务器存储的最大版本号(用server_version表示)是否一致,在确定不一致时,进行地块信息的增量同步。
另一种可选地实施方式中,当第一终端设备在线时,玩家通过在第一终端设备上对第一地块进行变动操作时,响应于对第一地块的变动操作,第一终端设备向服务器发送地块信息变化请求,地块信息变化请求包括:待修改的第一地块的标识,变化内容信息,以及第一地块对应的最大版本号。
服务器接收地块信息变化请求之后,若地块信息修改请求还包括终端设备存储的第一地块对应的最大版本号,且终端设备存储的第一地块对应的最大版本号与本地存储第一地块对应的最大版本号不一致,则说明第一终端设备上存储第一地块的地块信息与服务器不一致,此时不允许执行第一终端设备所请求的地块信息的修改,服务器向第一终端设备同步第一地块的地块信息。
终端设备可以根据接收到的第一地块的地块信息,更新本地存储的第一地块的地块信息,地块信息包括版本号。
在更新完第一地块的地块信息之后,如果需要,玩家可以在第一终端设备上重新对第一地块进行变动操作。
示例性地,在一些不可靠的网络的情况下,地块变动同步信息可能会存在丢失的情况。以图2所示的4次地块变动为例,服务器的版本号同步到2,版本号为3的地块变动同步信息丢失了。因此当服务器接收到版本号为4的地块变动同步信息时,能够发现自己当前缺失了版本号为3的地块变动同步信息,这时服务器可以向主动请求拉取版本号3和4对应地块的最新地块信息。
下面结合图5,对地图数据同步的方法具体实现方式进行示例性地说明,如图5所示,该方法具体步骤如下:
步骤S201、终端设备向服务器发送终端设备存储的最大版本号。
本实施的一种可选地实施方式中,服务器在获取到终端设备存储的最大版本号之后,通过步骤S202或S203,根据终端设备存储的最大版本号和本地存储的版本号,确定终端设备需要更新的目标地块的标识。
本实施的另一种可选地实施方式中,服务器在获取到终端设备存储的最大版本号之后,还可以根据终端设备存储的最大版本号和本地存储的版本号,确定终端设备未同步的地块变动的版本号,也即是大于终端设备存储的最大版本号的版本号,将终端设备未同步的地块变动的版本号发送给终端设备,由终端设备根据未同步的地块变动的版本号,从服务器拉取这些版本号对应地块的最新地块信息。
步骤S202、服务器接收终端设备存储的最大版本号。
步骤S203、若终端设备存储的最大版本号大于版本号记录起始值,并且本地存储的最大版本号与终端设备存储的最大版本号的差值小于或等于差值阈值,则服务器根据终端设备存储的最大版本号,确定在终端设备存储的最大版本号之后的每一个本地存储的版本号对应的地块的标识,得到终端设备需要更新的目标地块的标识。
若终端设备存储的最大版本号大于版本号记录起始值,并且本地存储的最大版本号与终端设备存储的最大版本号的差值小于或等于差值阈值,则说明终端设备遗漏了少数几次变动的地块信息的同步。
服务器根据终端设备存储的最大版本号和存储的地块变动表,可以确定在终端设备存储的最大版本号之后的版本号及其对应的地块的标识,得到终端设备需要更新的目标地块的标识。
示例性地,以图2所示的4次地块变动为例,服务器在首次登录的时候由于没有最大版本号,会全量拉取所有地块的地块信息。假设服务器在接收了版本号为1,2的2次变动的地块信息之后离线,那么在重新连接服务器之后,可以将服务器发送已存储的最大版本号2。服务器根据本地存储的最大版本号4,可以计算确定服务器缺少了版本号3和4,并确定服务器需要同步的地块为版本号3和4对应的地块,即5H,6I。
步骤S204、若终端设备存储的最大版本号小于版本号记录起始值,或者本地存储的最大版本号与终端设备存储的最大版本号的差值大于差值阈值,则服务器将所有地块作为终端设备需要更新的目标地块,得到目标地块的标识。
若终端设备存储的最大版本号小于版本号记录起始值,或者本地存储的最大版本号与终端设备存储的最大版本号的差值大于差值阈值,则说明终端设备遗漏了很多几次变动的地块信息的同步,可以重新同步整个地图数据。
服务器将所有地块作为终端设备需要更新的目标地块,得到目标地块的标识。
步骤S205、服务器根据目标地块的标识,将目标地块的最新地块信息发送到终端设备。
在确定终端设备需要更新的目标地块的标识,服务器根据目标地块的标识,获取目标地块的最新地块信息,并将目标地块的最新地块信息发送给终端设备。地块信息中包含对应地块的最近一次变动的版本号,也即地块对应的最大版本号。
步骤S206、终端设备接收服务器发送的目标地块的最新地块信息。
步骤S207、终端设备根据目标地块的最新地块信息,更新本地存储的目标地块的地块信息。
在接收到服务器发送的目标地块的最新地块信息之后,更新本地存储的目标地块的地块信息,并更新本地存储的最大版本号。
本申请实施例中,通过一个基于版本号的地块变动列表,实现了地块变动的增量地块信息同步方案,通过比对服务器存储的最大版本号和服务器本地存储的最大版本号实现地块变动信息的增量拉取,避免了断线重连时由于无法确定是否有没接收到的消息而完整拉取。此外还提供了一种自愈的机制,在收到错乱的消息或者会自动校验版本号的差异从而让服务器可以自行发现需要进行地块信息同步,进而实现服务器与服务器的地图数据的同步。
实施例四
图6为本申请实施例四提供的游戏应用中地图数据同步的装置的结构示意图。本申请实施例提供的游戏应用中地图数据同步的装置,可以执行游戏应用中地图数据同步的方法实施例提供的处理流程。该游戏应用中地图数据同步的装置应用于服务器,服务器存储有地图数据,地图数据对应地图被划分成多个地块,地图数据包括每一地块的地块信息。
如图6所示,该游戏应用中地图数据同步的装置30包括:地块变动信息存储模块301,同步需求确定模块302和数据同步模块303。
具体地,地块变动信息存储模块301,用于在地块信息发生变化时,生成本次变化对应的版本号,将发生变化的地块的标识与版本号对应存储,其中本次变化对应的版本号大于本地存储的最大版本号。
同步需求确定模块302,用于根据终端设备存储的最大版本号和本地存储的版本号,确定终端设备需要更新的目标地块的标识。
数据同步模块303,用于根据目标地块的标识,将目标地块的最新地块信息同步到终端设备。
可选地,地块变动信息存储模块具体用于:
在任一地块信息发生变化时,在地块变动列表末尾插入一个新的列表项,并将本次变化的地块的标识记录入列表项,列表项对应的版本号根据列表项在地块变动列表中的位置和地块变动列表对应的版本号记录起始值确定。
其中,地块变动列表对应的版本号记录起始值为地块变动列表中的第一个列表项对应的版本号。
可选地,地块变动信息存储模块还用于:
若地块变动列表中的列表项的数量等于列表项数量阈值,则删除地块变动列表中的前第一数量的列表项,并更新版本号记录起始值。
其中,第一数量小于列表项数量阈值。
可选地,同步需求确定模块具体用于:
若终端设备存储的最大版本号大于版本号记录起始值,并且本地存储的最大版本号与终端设备存储的最大版本号的差值小于或等于差值阈值,则根据终端设备存储的最大版本号,确定在终端设备存储的最大版本号之后的每一个本地存储的版本号对应的地块的标识,得到终端设备需要更新的目标地块的标识。
可选地,同步需求确定模块还用于:
若终端设备存储的最大版本号小于版本号记录起始值,或者本地存储的最大版本号与终端设备存储的最大版本号的差值大于差值阈值,则将所有地块作为终端设备需要更新的目标地块,得到目标地块的标识。
可选地,同步需求确定模块具体用于:
接收终端设备的地块信息同步请求,地块信息同步请求包括终端设备存储的最大版本号;
或者,
接收终端设备的在线测试消息,在线测试消息包括终端设备存储的最大版本号。
可选地,地块变动信息存储模块还用于
接收第一终端设备发送的地块信息修改请求,地块信息修改请求包含第一地块的标识和修改内容信息;
在对地块信息修改请求确认后,根据本地存储的最大版本号,生成本次变化对应的版本号,将发生变化的地块的标识与版本号对应存储;
根据修改内容信息修改和本次变化对应的版本号,更新本地存储的第一地块的地块信息。
可选地,数据同步模块还用于:
根据修改内容信息修改和本次变化对应的版本号,更新本地存储的第一地块的地块信息之后,向除第一终端设备外的第二终端设备发送第一地块的地块变动同步信息,地块变动同步信息包括:本次变化对应的版本号,以及第一地块的标识和修改内容信息;或者,地块变动同步信息包括:本次变化对应的版本号,和修改后的第一地块的地块信息。
可选地,数据同步模块还用于:
接收第一终端设备发送的地块信息修改请求之后,若地块信息修改请求还包括终端设备存储的第一地块对应的最大版本号,且终端设备存储的第一地块对应的最大版本号,与本地存储第一地块对应的最大版本号不一致,则向终端设备同步第一地块的地块信息。
本申请实施例提供的装置可以具体用于执行上述任一方法实施例中终端设备所执行的方法流程,具体功能和所能达到的技术效果此处不再赘述。
实施例五
图7为本申请实施例五提供的游戏应用中地图数据同步的装置的结构示意图。本申请实施例提供的游戏应用中地图数据同步的装置,可以执行游戏应用中地图数据同步的方法实施例提供的处理流程。该游戏应用中地图数据同步的装置应用于作为客户端的终端设备。
如图7所示,该游戏应用中地图数据同步的装置40包括:发送模块401和数据同步模块402。
具体地,发送模块401,用于向服务器发送终端设备存储的最大版本号,以使服务器根据终端设备存储的最大版本号和本地存储的最大版本号,确定终端设备需要更新的地块的标识,并将终端设备需要更新的目标地块的最新地块信息同步到终端设备,其中服务器存储有每次地块信息变化的版本号及发送变化的地块的标识,且每一次变化对应的版本号大于上一次变化对应的版本号。
数据同步模块402,用于从服务器获取目标地块的最新地块信息;根据目标地块的最新地块信息,更新本地存储的目标地块的地块信息。
可选地,发送模块还用于:
在掉线并重新连接服务器后,向服务器发送包含本地存储的最大版本号的地块信息同步请求;
或者,
向服务器发送在线测试消息,在线测试消息包括终端设备存储的最大版本号。
可选地,发送模块还用于:
响应于对任一地块的变动操作,向服务器发送地块信息变化请求,地块信息变化请求包括:待修改的第一地块的标识和变化内容信息。
数据同步模块还用于:
响应于服务器对地块信息变化请求的确认修改信息,根据变化内容信息修改本地存储的第一地块的地块信息。
可选地,数据同步模块还用于:
接收服务器发送的第二地块的地块变动同步信息,地块变动同步信息包括:本次变化对应的版本号,以及第二地块的标识和修改内容信息;或者,地块变动同步信息包括:本次变化对应的版本号,和修改后的第二地块的地块信息;若本次变化对应的版本号是本地存储的最大版本号的下一个版本号,则根据地块变动同步信息,更新本地存储的第二地块的地块信息。
可选地,数据同步模块还用于:
接收服务器发送的第二地块的地块变动同步信息之后,若本次变化对应的版本号不是本地存储的最大版本号的下一个版本号,向服务器发送包含本地存储的最大版本号的地块信息同步请求。
可选地,地块信息变化请求包括:第一地块对应的最大版本号。
数据同步模块还用于:
根据接收到的第一地块的地块信息,更新本地存储的第一地块的地块信息,地块信息包括版本号。
本申请实施例提供的装置可以具体用于执行上述任一方法实施例中服务器所执行的方法流程,具体功能和所能达到的技术效果此处不再赘述。
实施例六
图8为本申请实施例六提供的服务器的结构示意图。如图8所示,该服务器100包括:处理器1001,存储器1002,以及存储在存储器1002上并可在处理器1001上运行的计算机程序。
其中,处理器1001运行计算机程序时实现上述任一方法实施例中服务器所执行的方法流程,具体功能和所能达到的技术效果此处不再赘述。
实施例七
图9为本申请实施例七提供的终端设备的结构示意图。如图9所示,该终端设备110包括:处理器1101,存储器1102,以及存储在存储器1102上并可在处理器1101上运行的计算机程序。
其中,处理器1101运行计算机程序时实现上述任一方法实施例中服务器所执行的方法流程,具体功能和所能达到的技术效果此处不再赘述。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现上述任一方法实施例中服务器或者终端设备所执行的方法流程。
本申请实施例还提供了一种计算机程序产品,程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一方法实施例中服务器或者终端设备所执行的方法流程。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。

Claims (20)

1.一种游戏应用中地图数据同步的方法,其特征在于,应用于服务器,所述服务器存储有地图数据,所述地图数据对应地图被划分成多个地块,所述地图数据包括每一地块的地块信息,包括:
在地块信息发生变化时,生成本次变化对应的版本号,将发生变化的地块的标识与所述版本号对应存储,其中本次变化对应的版本号大于本地存储的最大版本号;
根据终端设备存储的最大版本号和本地存储的版本号,确定所述终端设备需要更新的目标地块的标识;
根据所述目标地块的标识,将所述目标地块的最新地块信息同步到所述终端设备。
2.根据权利要求1所述的方法,其特征在于,所述在地块信息发送变化时,生成本次变化对应的版本号,将发生变化的地块的标识与所述版本号对应存储,包括:
在任一地块信息发生变化时,在地块变动列表末尾插入一个新的列表项,并将本次变化的地块的标识记录入所述列表项,所述列表项对应的版本号根据所述列表项在所述地块变动列表中的位置和所述地块变动列表对应的版本号记录起始值确定;
其中,所述地块变动列表对应的版本号记录起始值为所述地块变动列表中的第一个列表项对应的版本号。
3.根据权利要求2所述的方法,其特征在于,所述在任一地块信息发生变化时,在地块变动列表末尾插入一个新的列表项,并将本次变化的地块的标识记录入所述列表项之后,还包括:
若所述地块变动列表中的列表项的数量等于列表项数量阈值,则删除所述地块变动列表中的前第一数量的列表项,并更新所述版本号记录起始值;
其中,第一数量小于所述列表项数量阈值。
4.根据权利要求2所述的方法,其特征在于,所述根据终端设备存储的最大版本号和本地存储的版本号,确定所述终端设备需要更新的目标地块的标识,包括:
若所述终端设备存储的最大版本号大于所述版本号记录起始值,并且本地存储的最大版本号与所述终端设备存储的最大版本号的差值小于或等于差值阈值,则根据所述终端设备存储的最大版本号,确定在所述终端设备存储的最大版本号之后的每一个本地存储的版本号对应的地块的标识,得到所述终端设备需要更新的目标地块的标识。
5.根据权利要求2所述的方法,其特征在于,所述根据终端设备存储的最大版本号和本地存储的版本号,确定所述终端设备需要更新的目标地块的标识,包括:
若所述终端设备存储的最大版本号小于所述版本号记录起始值,或者本地存储的最大版本号与所述终端设备存储的最大版本号的差值大于差值阈值,则将所有地块作为所述终端设备需要更新的目标地块,得到所述目标地块的标识。
6.根据权利要求4或5所述的方法,其特征在于,所述根据终端设备存储的最大版本号和本地存储的版本号,确定所述终端设备需要更新的目标地块的标识之前,还包括:
接收所述终端设备的地块信息同步请求,所述地块信息同步请求包括所述终端设备存储的最大版本号;
或者,
接收所述终端设备的在线测试消息,所述在线测试消息包括所述终端设备存储的最大版本号。
7.根据权利要求1-5中任一项所述的方法,其特征在于,所述在地块信息发生变化时,生成本次变化对应的版本号,将发生变化的地块的标识与所述版本号对应存储,包括:
接收第一终端设备发送的地块信息修改请求,所述地块信息修改请求包含第一地块的标识和修改内容信息;
在对所述地块信息修改请求确认后,根据本地存储的最大版本号,生成本次变化对应的版本号,将发生变化的地块的标识与所述版本号对应存储;
根据所述修改内容信息修改和本次变化对应的版本号,更新本地存储的所述第一地块的地块信息。
8.根据权利要求7所述的方法,其特征在于,所述根据所述修改内容信息修改和本次变化对应的版本号,更新本地存储的所述第一地块的地块信息之后,还包括:
向除所述第一终端设备外的第二终端设备发送所述第一地块的地块变动同步信息,所述地块变动同步信息包括:本次变化对应的版本号,以及所述第一地块的标识和修改内容信息;或者,所述地块变动同步信息包括:本次变化对应的版本号,和修改后的所述第一地块的地块信息。
9.根据权利要求7所述的方法,其特征在于,所述接收第一终端设备发送的地块信息修改请求之后,还包括:
若所述地块信息修改请求还包括所述终端设备存储的所述第一地块对应的最大版本号,且所述终端设备存储的所述第一地块对应的最大版本号,与本地存储所述第一地块对应的最大版本号不一致,则向所述终端设备同步所述第一地块的地块信息。
10.一种游戏应用中地图数据同步的方法,其特征在于,应用于作为客户端的终端设备,包括:
向服务器发送终端设备存储的最大版本号,以使所述服务器根据所述终端设备存储的最大版本号和本地存储的最大版本号,确定所述终端设备需要更新的地块的标识,并将所述终端设备需要更新的目标地块的最新地块信息同步到所述终端设备,其中所述服务器存储有每次地块信息变化的版本号及发送变化的地块的标识,且每一次变化对应的版本号大于上一次变化对应的版本号;
从所述服务器获取所述目标地块的最新地块信息;
根据所述目标地块的最新地块信息,更新本地存储的所述目标地块的地块信息。
11.根据权利要求10所述的方法,其特征在于,所述向服务器发送终端设备存储的最大版本号,包括:
在掉线并重新连接所述服务器后,向所述服务器发送包含本地存储的最大版本号的地块信息同步请求;
或者,
向所述服务器发送在线测试消息,所述在线测试消息包括所述终端设备存储的最大版本号。
12.根据权利要求10所述的方法,其特征在于,还包括:
响应于对任一地块的变动操作,向所述服务器发送地块信息变化请求,所述地块信息变化请求包括:待修改的第一地块的标识和变化内容信息;
响应于所述服务器对所述地块信息变化请求的确认修改信息,根据所述变化内容信息修改本地存储的所述第一地块的地块信息。
13.根据权利要求10所述的方法,其特征在于,还包括:
接收所述服务器发送的第二地块的地块变动同步信息,所述地块变动同步信息包括:本次变化对应的版本号,以及所述第二地块的标识和修改内容信息;或者,所述地块变动同步信息包括:本次变化对应的版本号,和修改后的所述第二地块的地块信息;
若所述本次变化对应的版本号是本地存储的最大版本号的下一个版本号,则根据所述地块变动同步信息,更新本地存储的所述第二地块的地块信息。
14.根据权利要求13所述的方法,其特征在于,所述接收所述服务器发送的第二地块的地块变动同步信息之后,还包括:
若所述本次变化对应的版本号不是本地存储的最大版本号的下一个版本号,向所述服务器发送包含本地存储的最大版本号的地块信息同步请求。
15.根据权利要求12所述的方法,其特征在于,所述地块信息变化请求包括:所述第一地块对应的最大版本号,
根据接收到的所述第一地块的地块信息,更新本地存储的所述第一地块的地块信息,所述地块信息包括版本号。
16.一种游戏应用中地图数据同步的装置,其特征在于,应用于服务器,所述服务器存储有地图数据,所述地图数据对应地图被划分成多个地块,所述地图数据包括每一地块的地块信息,包括:
地块变动信息存储模块,用于在地块信息发生变化时,生成本次变化对应的版本号,将发生变化的地块的标识与所述版本号对应存储,其中本次变化对应的版本号大于本地存储的最大版本号;
同步需求确定模块,用于根据终端设备存储的最大版本号和本地存储的版本号,确定所述终端设备需要更新的目标地块的标识;
数据同步模块,用于根据所述目标地块的标识,将所述目标地块的最新地块信息同步到所述终端设备。
17.一种游戏应用中地图数据同步的装置,其特征在于,应用于作为客户端的终端设备,包括:
发送模块,用于向服务器发送终端设备存储的最大版本号,以使所述服务器根据所述终端设备存储的最大版本号和本地存储的最大版本号,确定所述终端设备需要更新的地块的标识,并将所述终端设备需要更新的目标地块的最新地块信息同步到所述终端设备,其中所述服务器存储有每次地块信息变化的版本号及发送变化的地块的标识,且每一次变化对应的版本号大于上一次变化对应的版本号;
数据同步模块,用于从所述服务器获取所述目标地块的最新地块信息;根据所述目标地块的最新地块信息,更新本地存储的所述目标地块的地块信息。
18.一种服务器,其特征在于,包括:
处理器,存储器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序;
其中,所述处理器运行所述计算机程序时实现如权利要求1至9中任一项所述的方法。
19.一种终端设备,其特征在于,包括:
处理器,存储器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序;
其中,所述处理器运行所述计算机程序时实现如权利要求10至15中任一项所述的方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至15中任一项所述的方法。
CN202110926103.0A 2021-08-12 2021-08-12 游戏应用中地图数据同步的方法、装置、设备及存储介质 Pending CN113633981A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110926103.0A CN113633981A (zh) 2021-08-12 2021-08-12 游戏应用中地图数据同步的方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110926103.0A CN113633981A (zh) 2021-08-12 2021-08-12 游戏应用中地图数据同步的方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN113633981A true CN113633981A (zh) 2021-11-12

Family

ID=78421338

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110926103.0A Pending CN113633981A (zh) 2021-08-12 2021-08-12 游戏应用中地图数据同步的方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113633981A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114153862A (zh) * 2021-12-09 2022-03-08 腾讯科技(成都)有限公司 业务数据处理方法、装置、设备及存储介质
CN114817204A (zh) * 2022-04-02 2022-07-29 深圳市大梦龙途文化传播有限公司 游戏地图管理方法、装置、设备及计算机可读存储介质
CN115168112A (zh) * 2022-09-07 2022-10-11 中建三局信息科技有限公司 动态区段变更下的区段数据还原方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3125501A1 (en) * 2014-04-15 2017-02-01 Huawei Technologies Co., Ltd File synchronization method, server, and terminal
CN109918463A (zh) * 2019-02-22 2019-06-21 广州多益网络股份有限公司 地图数据处理方法、装置、设备及存储介质
CN110457292A (zh) * 2019-08-12 2019-11-15 网易(杭州)网络有限公司 游戏地图的管理方法、装置、设备及存储介质
CN111385317A (zh) * 2018-12-27 2020-07-07 华为技术有限公司 一种数据传输方法、装置及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3125501A1 (en) * 2014-04-15 2017-02-01 Huawei Technologies Co., Ltd File synchronization method, server, and terminal
CN111385317A (zh) * 2018-12-27 2020-07-07 华为技术有限公司 一种数据传输方法、装置及系统
CN109918463A (zh) * 2019-02-22 2019-06-21 广州多益网络股份有限公司 地图数据处理方法、装置、设备及存储介质
CN110457292A (zh) * 2019-08-12 2019-11-15 网易(杭州)网络有限公司 游戏地图的管理方法、装置、设备及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114153862A (zh) * 2021-12-09 2022-03-08 腾讯科技(成都)有限公司 业务数据处理方法、装置、设备及存储介质
CN114817204A (zh) * 2022-04-02 2022-07-29 深圳市大梦龙途文化传播有限公司 游戏地图管理方法、装置、设备及计算机可读存储介质
CN115168112A (zh) * 2022-09-07 2022-10-11 中建三局信息科技有限公司 动态区段变更下的区段数据还原方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN113633981A (zh) 游戏应用中地图数据同步的方法、装置、设备及存储介质
CN106598762A (zh) 一种消息同步方法及系统
CN108390933B (zh) 消息分发方法、装置、服务器及存储介质
CN108829720B (zh) 数据处理方法及装置
CN102387401B (zh) 一种调整音视频信息的播放时间点的方法、装置及设备
CN114979158B (zh) 一种资源监控方法、系统、设备及计算机可读存储介质
US10972296B2 (en) Messaging to enforce operation serialization for consistency of a distributed data structure
CN104750738B (zh) 一种更新数据信息的方法、数据节点、管理节点及系统
CN110012115A (zh) 直播间推送信息的更新方法和系统
CN111935242B (zh) 数据传输方法、装置、服务器以及存储介质
CN102024040A (zh) 数据库同步方法、装置和系统
CN110912805B (zh) 消息读取状态的同步方法、终端、服务端及系统
CN112000850B (zh) 进行数据处理的方法、装置、系统及设备
CN113691600A (zh) 设备状态信息的同步方法以及装置、计算机可读存储介质
CN114726871A (zh) 一种数据同步方法、装置和网络系统
CN113304469B (zh) 游戏玩家匹配方法、装置、计算机设备
US20160110285A1 (en) Method of controlling data writing to persistent storage device
CN106790354A (zh) 一种防数据拥堵的通信方法及其装置
CN114006946B (zh) 同质资源请求的处理方法、装置、设备及存储介质
CN113746931B (zh) 数据同步方法及装置
CN114374705A (zh) 服务集群和消息推送方法
CN2929830Y (zh) 一种搜索引擎服务器和搜索系统
CN112764988A (zh) 一种数据分段采集方法及装置
CN113413586A (zh) 一种虚拟对象传送方法、装置、设备及存储介质
CN112015807A (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