发明内容
有鉴于此,本发明实施例提供一种资源更新方法、装置与系统,以及计算设备和计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本申请实施例的第一方面,提供了一种资源更新方法,用于客户端,所述方法包括:
接收操作指令,根据所述操作指令对所述初始资源数据进行处理,得到第一处理数据、第二处理数据和客户端处理结果数据;
将所述第一处理数据发送至云服务器,将所述第二处理数据发送至校验服务器;
在所述客户端处理结果数据正确的情况下,从云服务器获取最终资源数据,基于所述最终资源数据对所述客户端目标场景进行更新。
可选地,根据所述操作指令对所述初始资源数据进行处理,得到第一处理数据、第二处理数据和客户端处理结果数据,包括:
根据所述操作指令,得到处理位置信息、操作信息、处理方式、第一版本号和第一文件名,并根据所述处理位置信息、和操作信息和所述处理方式对所述初始资源数据进行处理;
将所述处理位置信息和所述操作信息保存为第一处理数据;
将所述处理方式、所述第一版本号和所述第一文件名保存为第二处理数据;
将所述处理方式、所述处理位置信息和所述操作信息保存为客户端处理结果数据。
可选地,所述第一处理数据包括处理位置信息和操作信息,所述第二处理数据包括处理方式、第一版本号和第一文件名。
可选地,将所述第一处理数据发送至云服务器,将所述第二处理数据发送至校验服务器,包括:
将所述第一处理数据中包含的处理位置信息和操作信息发送至云服务器;
将所述第二处理数据中包含的处理方式、第一版本号和第一文件名发送至校验服务器。
可选地,所述最终资源数据包括最终处理方式、最终处理位置信息和最终操作信息。
可选地,从云服务器获取最终资源数据,基于所述最终资源数据对所述客户端目标场景进行更新,包括:
从云服务器获取所述最终资源数据中包含的最终处理方式、第二文件名、第二版本号、最终处理位置信息和最终操作信息,基于所述最终处理方式、第二文件名、第二版本号、最终处理位置信息和最终操作信息对所述客户端目标场景进行更新。
根据本申请实施例的第二方面,提供了一种资源更新方法,用于校验服务器,所述方法包括:
接收客户端发送的第二处理数据,基于所述第二处理数据,从云服务器获取第一处理数据;
根据所述第一处理数据和所述第二处理数据对所述校验服务器目标场景进行处理,得到校验服务器处理结果数据;
获取客户端处理结果数据,将所述校验服务器处理结果数据与所述客户端处理结果数据进行匹配,得到匹配结果;
在所述匹配结果一致的情况下,将所述校验服务器处理结果数据保存为最终资源数据并发送至云服务器,基于所述校验服务器处理结果数据对所述校验服务器目标场景进行更新。
可选地,所述第一处理数据包括处理位置信息和操作信息,所述第二处理数据包括处理方式。
可选地,接收客户端发送的第二处理数据,基于所述第二处理数据,从云服务器获取第一处理数据,包括:
接收客户端发送的第二处理数据中包含的处理方式,基于所述处理方式,从云服务器获取与所述处理方式对应的处理位置信息和操作信息。
可选地,根据所述第一处理数据和所述第二处理数据对所述校验服务器目标场景进行处理,得到校验服务器处理结果数据,包括:
基于所述处理方式、所述处理位置信息和所述操作信息对所述校验服务器目标场景进行处理,得到校验服务器处理结果数据。
可选地,所述客户端处理结果数据包括第一文件名和第一版本号,所述校验服务器处理结果包括第二文件名和第二版本号。
可选地,获取客户端处理结果数据,将所述校验服务器处理结果数据与所述客户端处理结果数据进行匹配,得到匹配结果,包括:
将所述客户端处理结果数据中包含的第一文件名和第一版本号,分别与所述校验服务器处理结果数据中包含的第二文件名和第二版本号进行对比,得到匹配结果。
可选地,在所述匹配结果一致的情况下,将所述校验服务器处理结果数据保存为最终资源数据并发送至云服务器,包括:
在所述匹配结果一致的情况下,将所述校验服务器处理结果数据中包含的第二文件名、第二版本号、处理位置信息和操作信息保存为最终资源数据,并将所述最终资源数据发送至云服务器。
根据本申请实施例的第三方面,提供了一种资源更新方法,用于云服务器,所述方法包括:
接收客户端发送的第一处理数据并下发至校验服务器;
接收校验服务器上传的最终资源数据;
将所述最终资源数据下发至对应的客户端。
根据本申请实施例的第四方面,提供了一种资源更新装置,用于客户端,所述装置包括:
第一处理模块,被配置为接收操作指令,根据所述操作指令对所述初始资源数据进行处理,得到第一处理数据、第二处理数据和客户端处理结果数据;
发送模块,被配置为将所述第一处理数据发送至云服务器,将所述第二处理数据发送至校验服务器;
第一更新模块,被配置为在所述客户端处理结果数据正确的情况下,从云服务器获取最终资源数据,基于所述最终资源数据对所述客户端目标场景进行更新。
根据本申请实施例的第五方面,提供了一种资源更新装置,用于校验服务器,所述装置包括:
获取模块,被配置为接收客户端发送的第二处理数据,基于所述第二处理数据,从云服务器获取第一处理数据;
第二处理模块,被配置为根据所述第一处理数据和所述第二处理数据对所述校验服务器目标场景进行处理,得到校验服务器处理结果数据;
匹配模块,被配置为获取客户端处理结果数据,将所述校验服务器处理结果数据与所述客户端处理结果数据进行匹配,得到匹配结果;
第二更新模块,被配置为在所述匹配结果一致的情况下,将所述校验服务器处理结果数据保存为最终资源数据并发送至云服务器,基于所述校验服务器处理结果数据对所述校验服务器目标场景进行更新。
根据本发明实施例的第六方面,提供了一种资源更新装置,用于云服务器,所述装置包括:
第一接收模块,被配置为接收客户端发送的第一处理数据并下发至校验服务器;
第二接收模块,被配置为接收校验服务器上传的最终资源数据;
下发模块,被配置为将所述最终资源数据下发至对应的客户端。
根据本发明实施例的第七方面,提供了一种资源更新系统,所述系统包括:
客户端、校验服务器和云服务器;
所述客户端,被配置为接收操作指令,根据所述操作指令对所述初始资源数据进行处理,得到第一处理数据、第二处理数据和客户端处理结果数据;将所述第一处理数据发送至云服务器,将所述第二处理数据发送至校验服务器;在所述客户端处理结果数据正确的情况下,从云服务器获取最终资源数据,基于所述最终资源数据对所述客户端目标场景进行更新;
所述校验服务器,被配置为接收客户端发送的第二处理数据,基于所述第二处理数据,从云服务器获取第一处理数据;根据所述第一处理数据对校验服务器目标场景进行处理,得到校验服务器处理结果数据;获取客户端处理结果数据,将所述校验服务器处理结果数据与所述客户端处理结果数据进行匹配,得到匹配结果;在所述匹配结果一致的情况下,将所述校验服务器处理结果数据保存为最终资源数据并发送至云服务器,基于所述校验服务器处理结果数据对所述校验服务器目标场景进行更新;
所述云服务器,被配置为接收客户端发送的第一处理数据并下发至校验服务器;接收校验服务器上传的最终资源数据,将所述最终资源数据下发至对应的客户端。
根据本申请实施例的第八方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机指令,所述处理器用于执行所述计算机指令,其中,所述处理器执行所述计算机可执行指令时实现所述资源更新方法的步骤。
根据本申请说明书实施例的第九方面,提供了一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现任意所述资源更新方法的步骤。
本发明提供的一种资源更新方法、装置与系统,通过客户端分别向云服务器与校验服务器发送第一处理数据和第二处理数据,校验服务器对所述第二处理数据进行对比校验,并在校验结果正确的情况下向云服务器发送最终资源数据,接着基于所述最终资源数据对校验服务器目标场景进行更新,保证了客户端与校验服务器之间可以做到资源的快速更新。
其次,客户端向云服务器发送第一处理数据,向校验服务器发送第二处理数据,保证了客户端和校验服务器之间的通讯数据量少、交互速度快。并且,客户端与校验服务器分别基于从云服务器获取的初始资源数据构建客户端目标场景和校验服务器目标场景,进一步保证了客户端与校验服务器不需要进行过多通讯。
另外,通过校验服务器对比客户端的文件名称与版本号的方式,确保了客户端与校验服务器的文件版本一致,避免了客户端与校验服务器文件版本不一致造成的游戏崩溃问题。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本发明一个或多个实施例涉及的名词术语进行解释。
版本号:在游戏文件中,每一个资源文件都有一个版本号。版本号能使用户了解所使用的游戏文件是否为最新的版本以及它所提供的功能与设施。
NPC:为非玩家角色(Non-Player Character)的英文缩写。泛指一切游戏中不受玩家控制的角色。在电子游戏中,NPC一般由计算机的人工智能控制。
地块:在现有技术中,一般在游戏中将整个地图分为若干个较小的地形,其中每一个小地形称为地块。
图1是示出了根据本说明书一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据。
计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备100的上述部件以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备100还可以是移动式或静止式的校验服务器。
其中,处理器120可以执行图2所示方法中的步骤。图2是示出了根据本发明一实施例提供的一种资源更新方法应用于客户端的步骤流程示意图,包括步骤S202至步骤S206。
步骤S202:接收操作指令,根据所述操作指令对所述初始资源数据进行处理,得到第一处理数据、第二处理数据和客户端处理结果数据。
需要说明的是,在实际应用中,在步骤S202之前,还可以包括步骤S200:从云服务器获取初始资源数据,根据所述初始资源数据构建客户端目标场景。
在实际应用中,所述初始资源数据为预设的虚拟场景数据,例如所述虚拟场景中包括的地图、地图大小、NPC(Non-Player Character)人物等数据。根据所述初始资源,可以在客户端构建需要展示的虚拟场景。
客户端从云服务器获取初始资源数据,保证了客户端不需要从校验服务器获取大量的初始资源,确保了客户端与校验服务器之间的通讯速度快、通讯数据量小的有益效果。另外,根据所述初始资源数据构建客户端目标场景,也确保了客户端所展示的虚拟场景稳定;将所述初始资源数据存储于云服务器,也保证了初始资源数据不会缺失,进而避免了客户端的虚拟场景缺失、混乱的问题。
在实际应用中,所述操作指令可以是游戏玩家通过客户端发送的游戏指令,例如对游戏中的某一个地块进行修改,所述操作指令可以包括“挖洞”、“添加障碍物”等。
可选地,根据所述操作指令,得到处理位置信息和操作信息,并根据所述处理位置信息和操作信息对所述初始资源数据进行处理;
将所述处理位置信息和所述操作信息保存为第一处理数据。
具体地,沿用上例,所述处理位置信息可以是所述地块的坐标信息,所述操作信息可以是对某一个地块的具体修改数据,例如“添加种类A的树木”,或是“将障碍物的高度修改为2”。所述客户端处理结果数据,可以是客户端基于所述操作指令对所述初始资源数据进行操作后得到的数据。
客户端将处理位置信息、操作信息保存为第一处理数据并上传至云服务器,保证了客户端不需要与校验服务器进行大规模的数据交互,提升了游戏的流畅性。
可选地,根据所述操作指令,得到处理方式、第一版本号和第一文件名,并根据所述处理方式对所述初始资源数据进行处理;
将所述处理方式、第一版本号和第一文件名保存为第二处理数据。
具体地,在实际应用中,所述处理方式可以是较为概括性的指令,例如“修改地块”或是“删除地块”,但所述处理方式不包括具体地操作数据,例如对待修改的地块作出的具体修改。
所述第一版本号和所述第一文件名可以是由客户端进行操作后得到的某一地块的文件名和当前的游戏版本,例如“地块A23”可以作为游戏大地图中某一地块的名称。
通过将处理方式、第一版本号和第一文件名保存为第二处理数据,保证了客户端可以及时保存当前的游戏状态,提升了游戏的稳定性。
可选地,根据所述操作指令确定处理方式、处理位置信息和操作信息,并根据所述处理方式、所述处理位置信息和所述操作信息对所述初始资源数据进行处理;
将所述处理方式、所述处理位置信息和所述操作信息保存为客户端处理结果数据。
在实际应用中,对所述初始资源数据的处理方式,可以是根据操作指令得到的操作方式,对初始资源数据进行增加、删除或修改,将处理完成后得到的数据和所述处理方式、所述处理位置信息和所述操作信息保存为客户端处理结果数据。
通过保存所述处理方式、所述处理位置信息和所述操作信息,保证了客户端的操作步骤和内容可以留存,玩家在进行游戏的过程中可以根据客户端的操作步骤和内容进行返档,进一步提升了游戏体验。
步骤S204:将所述第一处理数据发送至云服务器,将所述第二处理数据发送至校验服务器。
具体地,所述第一处理数据包括处理位置信息和操作信息,所述第二处理数据包括处理方式、第一版本号和第一文件名。
可选地,将所述第一处理数据中包含的处理位置信息和操作信息发送至云服务器;
将所述第二处理数据中包含的处理方式、第一版本号和第一文件名发送至校验服务器。
在实际应用中,所述第一处理数据中包含的数据量远大于所述第二处理数据中包含的数据量,例如,第二处理数据中包含的第一版本号由数个字符组成,大小仅为几个字节,同理,所述第一文件名和处理方式也仅有几个字节大小。
需要说明的是,所述第一数据是以数据流的形式发送给云服务器的,因为若要保证客户端的操作完整流畅,游戏玩家的操作指令是连续不断的,例如,游戏玩家对某一地块执行“挖掘”这一操作,游戏玩家可以连续多次执行“挖掘”这一动作。在游戏的进程中,游戏玩家选择某一个地块进行操作时,首先选择该地块,接着再对该地块进行处理。此时,玩家的操作指令依次为“选择该地块”和“具体的处理方式”,客户端接收到玩家的操作指令后,依次将上述两个操作指令发送至云服务器或校验服务器。
客户端通过数据流的方式传输数据至云服务器,既保证了客户端可以流畅、连续地获取游戏玩家的操作指令,也保证了云服务器的数据可以实时更新。
步骤S206:在所述客户端处理结果数据正确的情况下,从云服务器获取最终资源数据,基于所述最终资源数据对所述客户端目标场景进行更新。
具体地,所述最终资源数据包括最终处理方式、最终处理位置信息和最终操作信息。
其中,所述最终处理方式、所述最终处理位置信息和所述最终操作信息由校验服务器得到并下发至所述客户端。
可选地,从云服务器获取所述最终资源数据中包含的最终处理方式、第二文件名、第二版本号、最终处理位置信息和最终操作信息,基于所述最终处理方式、第二文件名、第二版本号、最终处理位置信息和最终操作信息对所述客户端目标场景进行更新。
在实际应用中,客户端接收校验服务器进行校验后的上传至云服务器的最终资源数据,并基于所述最终资源数据中包含的最终处理方式、第二文件名、第二版本号、最终处理位置信息和最终操作信息对客户端目标场景进行更新。
根据从云服务器获取的最终资源数据对客户端目标场景进行更新,保证了构造的客户端目标场景和构造的校验服务器目标场景保持一致,加强了游戏进程中客户端的稳定性。
可选地,在所述客户端处理结果数据正确的情况下,从云服务器获取最终资源数据,基于所述最终资源数据对所述客户端目标场景进行更新之后,还包括:
在所述客户端处理结果数据不正确的情况下,删除所述第一处理数据、所述第二处理数据和所述客户端处理结果数据,重新获取操作指令并根据所述操作指令对所述初始资源数据进行处理。
在实际应用中,有校验服务器对客户端上传至云服务器的数据进行校验并进行二次计算,若所述校验服务器通过二次计算得到的校验服务器处理结果数据与所述客户端处理结果数据不符,则确定所述客户端处理结果不正确,并在客户端和云服务器删除所述第一处理数据、第二处理数据和客户端处理结果数据,接着由玩家在客户端进行重新操作。
具体地,假设在客户端中的某一地块的修改数据与校验服务器进行二次计算得到的数据不符合,则由校验服务器确定所述客户端处理结果数据不正确,并向客户端发送错误提示。
由校验服务器校验客户端处理结果数据,并向客户端发送提示,保证了客户端能够及时的与校验服务器进行联络,提升了游戏的稳定性,也保证了客户端与校验服务器可以实时联络,进一步提升了游戏的流畅度。
需要说明的是,在实际应用中,在步骤S206之后,还包括步骤S208:在客户端更新后,通知预设范围内的其他客户端进行更新。
在实际应用中,可以根据实际需要配置更新后的客户端的通知范围。具体的,在预设的通知范围内的客户端接收更新后的客户端的更新指令,所述更新指令中包含更新后的版本号,在预设的通知范围内的客户端根据更新后的版本号从所述云服务器获取更新后的资源数据并进行更新。
通知预设范围内的客户端进行更新,保证了其余的客户端可以同步进行更新,确保了数据的同步,提升了游戏体验。并且,由一个客户端更新后再通知其他范围内的客户端进行更新,确保了在同一时间内客户端和校验服务器之间通信的数据量较小,进一步保证了游戏的流畅。
如图3所示,图3是根据本发明一实施例提供的一种资源更新方法应用于校验服务器的步骤流程示意图,包括步骤S302至步骤S308。
步骤S302:接收客户端发送的第二处理数据,基于所述第二处理数据,从云服务器获取第一处理数据。
需要说明的是,在实际应用中,在步骤S302之前,还包括步骤S302:从云服务器获取初始资源数据,根据所述初始资源数据模拟校验服务器目标场景。
在实际应用中,所述初始资源数据为预设的虚拟场景数据,例如所述虚拟场景中包括的地图、地图大小、NPC人物等数据。根据所述初始资源数据,可以在校验服务器模拟需要展示的虚拟场景,所述校验服务器模拟的场景与所述客户端构建的场景,在实际应用的过程中是相同的。
校验服务器从云服务器获取初始资源数据,保证了校验服务器不需要从客户端获取大量的初始资源数据,确保了客户端与校验服务器之间的通讯速度快、通讯数据量小的有益效果,也保证了游戏的流畅性。
具体地,所述第一处理数据包括处理位置信息和操作信息,所述第二处理数据包括处理方式。
可选地,接收客户端发送的第二处理数据,基于所述第二处理数据,从云服务器获取第一处理数据,包括:
接收客户端发送的第二处理数据中包含的处理方式,基于所述处理方式,从云服务器获取与所述处理方式对应的处理位置信息和操作信息。
在实际应用中,校验服务器只需要从客户端获取数据量很小的第二处理数据即可,无需从客户端获取大量的数据。在校验服务器获取所述第二处理数据后,根据所述第二处理数据从云服务器获取与所述第二处理数据对应的第一处理数据。例如,客户端向云服务器上传了对某一地块的具体操作“删除地块A并在地块A的位置添加障碍物B”,并向校验服务器上传了“操作地块A”,校验服务器接收的“操作地块A”后,根据所述“操作地块A”这一指令在云服务器进行查找。
通过校验服务器接收客户端的第一处理数据,接着根据所述第一处理数据从云服务器获取相应的第二处理数据,保证了校验服务器与客户端之间的数据交互较少,提升了游戏体验。
步骤S304:根据所述第一处理数据和所述第二处理数据对所述校验服务器目标场景进行处理,得到校验服务器处理结果数据。
可选地,接收客户端发送的第二处理数据,基于所述第二处理数据,从云服务器获取第一处理数据,包括:
接收客户端发送的第二处理数据中包含的处理方式,基于所述处理方式,从云服务器获取与所述处理方式对应的处理位置信息和操作信息。
具体地,沿用上例,校验服务器根据所述“操作地块A”这一指令在云服务器进行查找与地块A相关的操作,并从云服务器获取“删除地块A并在地块A的位置添加障碍物B”这一具体的操作指令。
可选地,基于所述处理方式、所述处理位置信息和所述操作信息对所述校验服务器目标场景进行处理,得到校验服务器处理结果数据。
通过校验服务器根据客户端上传至云服务器的方式,保证了校验服务器与客户端之间的通讯数据量较小,保障了校验服务器的稳定性。
步骤S306:获取客户端处理结果数据,将所述校验服务器处理结果数据与所述客户端处理结果数据进行匹配,得到匹配结果。
在实际应用中,校验服务器根据自身的得到的处理结果数据和从客户端获取的客户端处理结果数据,按照处理方式、处理位置信息、操作信息、版本号和文件名进行一一对比,得到匹配结果。
具体地,所述客户端处理结果数据包括第一文件名和第一版本号,所述校验服务器处理结果包括第二文件名和第二版本号。
可选地,将所述客户端处理结果数据中包含的第一文件名和第一版本号,分别与所述校验服务器处理结果数据中包含的第二文件名和第二版本号进行对比,得到匹配结果。
通过校验服务器基于自身的运算结果对从客户端获取的第二处理数据进行对比,保证了校验服务器与客户端分别计算得到的数据可以保持一致,并且,在客户端与校验服务器不一致的情况下,校验服务器也能迅速得到结果,进一步保证了游戏的流畅性和稳定性。
步骤S308:在所述匹配结果一致的情况下,将所述校验服务器处理结果数据保存为最终资源数据并发送至云服务器,基于所述校验服务器处理结果数据对所述校验服务器目标场景进行更新。
可选地,在所述匹配结果一致的情况下,将所述校验服务器处理结果数据中包含的第二文件名、第二版本号、处理位置信息和操作信息保存为最终资源数据,并将所述最终资源数据发送至云服务器。
在实际应用中,游戏中的虚拟场景需要以校验服务器的数据为基准,以校验服务器校验后的数据为基础进行创建。校验服务器将检验后的文件名、版本号、处理位置信息和操作信息上传至云服务器,进一步保证了客户端与校验服务器之间的通讯数据量较少,提高了游戏的流畅程度和稳定性。
若游戏版本进行更新,必然是由校验服务器首先得到更新后的游戏版本数据,若在校验服务器对游戏版本进行更新的过程中,客户端向校验服务器发送客户端当前的版本号,校验服务器能够立刻判断出客户端与更新后的游戏版本不一致,从而对客户端发出提示,也保证了客户端所展示的游戏画面与更新后的游戏版本能够保持一致。
如图4所示,图4是本发明一实施例的步骤流程示意图,其中包括步骤S402至步骤S418,以一沙盒建造游戏为例,本实施例结合具体应用场景对本发明进行进一步说明。
步骤S402:客户端接收操作指令,并从云服务器获取初始资源数据。
以电脑端的沙盒创造游戏为例,用户首次进入游戏场景时,校验服务器和客户端回根据云服务器中的初始资源数据对游戏场景进行初始化。用户在客户端进行操作后,客户端首先接收用户发出的操作指令,接着根据所述操作指令对应的游戏场景从云服务器获取初始资源数据。
例如,用户发出的指令为“前往地区X,并在地区X的B1地块上种一棵苹果树,版本1.1”,客户端根据所述操作指令,从云服务器获取地区X的初始资源数据。
步骤S404:客户端根据所述操作指令对所述初始资源数据进行处理,得到第一处理数据、第二处理数据和客户端处理结果数据。
客户端根据“前往地区X,并在地区X的B1地块上种一棵苹果树,版本1.1”这一指令首先创建地区X的场景,并根据所述指令得到第一处理数据:“处理地区X的B1地块,版本1.1”和第二处理数据:“在地块B1上种一棵苹果树”,以及客户端处理结果数据“地区X的地块B1上被种了一颗苹果树,版本1.1”。
步骤S406:客户端将所述第一处理数据发送至云服务器,将所述第二处理数据发送至校验服务器。
沿用上例,客户端将第一处理数据:“处理地区X的B1地块,版本1.1”和第二处理数据:“在地块B1上种一棵苹果树”分别发送至校验服务器和云服务器。
步骤S408:校验服务器从云服务器获取初始资源数据,接收所述第一处理数据,并根据所述第一处理数据从云服务器获取对应的第二处理数据。
校验服务器接收到由客户端发出的第一处理数据:“处理地区X的B1地块,版本1.1”后,根据所述第一处理数据中包含的内容,从云服务器查找并获取与“地区X的B1地块”相应的操作数据。
步骤S410:校验服务器根据所述第二处理数据对所述初始资源数据进行处理,得到校验服务器处理结果数据。
具体地,校验服务器根据所述第二处理数据对所述初始资源数据进行处理后,得到的校验服务器处理结果数据为:“地区X的地块B1上被种了一颗苹果树,版本1.1”。
步骤S412:校验服务器获取客户端处理结果数据,基于校验服务器处理结果数据对所述客户端处理结果数据进行排匹配,得到匹配结果。
具体地,客户端在对所述初始资源数据进行处理后,得到的结果为:“地区X的地块B1上被种了一颗苹果树,版本1.1”,相应的,校验服务器对所述初始资源数据进行处理后,得到的结果为:“地区X的地块B1上被种了一颗苹果树,版本1.1”,此时需要校验服务器对比客户端的游戏版本和所述地块B1的文件名。
步骤S414:校验服务器根据匹配结果得到最终资源数据并将所述最终资源数据上传至云服务器。
步骤S416:客户端从云服务器获取最终资源数据并根据所述最终资源数据对客户端目标场景进行更新。
需要说明的是,若校验服务器发现游戏版本与客户端当前的游戏版本不一致,或是具体的操作数据存在冲突,则向客户端发送“操作失败”的提示。例如,校验服务器接收到的第二处理数据为“地区X的地块B1上被种了一颗苹果树,版本1.1”,但此时游戏版本更新至1.2,则校验服务器的游戏版本与客户端的游戏版本不一致,校验服务器就会向客户端下发“版本不一致,操作失败”的提示。并且在客户端收到“操作失败”的提示后,会取消当前的操作并将客户端的游戏场景还原至操作之前的状态。
步骤S418:在客户端更新后,通知预设范围内的其他客户端进行更新。
具体的,在预设的通知范围内的客户端接收更新后的客户端的更新指令,所述更新指令中包含更新后的版本号1.2,在预设的通知范围内的客户端根据更新后的版本号从所述云服务器获取更新后的资源数据并进行更新。
通知预设范围内的客户端进行更新,保证了其余的客户端可以同步进行更新,确保了数据的同步,提升了游戏体验。并且,由一个客户端更新后再通知其他范围内的客户端进行更新,确保了在同一时间内客户端和校验服务器之间通信的数据量较小,进一步保证了游戏的流畅。
如图5所示,图5是本发明一实施例的步骤流程示意图,其中包括步骤S502至步骤S508,以一个建造游戏为例,本实施例结合具体应用场景对本发明进行进一步说明。
步骤S502:客户端主动发起版本校验,将当前的客户端版本作为校验信息发送至校验服务器。
例如,假设当前客户端的游戏版本为1.3,所述客户端将当前的版本号1.3发送至校验服务器。
步骤S504:校验服务器接收到校验信息后,对比客户端和校验服务器当前的版本,并向客户端发出反馈。
具体的,在所述校验服务器接收到所述客户端上传的版本号后,将所述客户端上传的版本号与自身当前的版本号进行对比。需要说明的是,在游戏的过程中,以校验服务器的游戏版本为准,将校验服务器的游戏版本作为最新版本。
步骤S506:在客户端和校验服务器当前的版本不一致的情况下,校验服务器向客户端发送版本更新指令,版本更新指令包括校验服务器当前的版本号。
假设校验服务器当前的版本号为1.4,接收到的客户端版本号为1.3,则确定所述客户端未达到最新版本,则向所述客户端下发版本更新指令,所述版本更新指令包含校验服务器当前的版本号1.4。
需要说明的是,若客户端当前的版本号与校验服务器当前的版本号一致,则认为所述客户端的版本为最新版本,校验服务器不下发版本更新指令。
步骤S508:所述客户端接收所述版本更新指令,根据所述版本更新指令对所述客户端进行更新。
在实际应用中,客户端接收到更新指令后,基于更新指令中包含的版本号从云服务器获取与校验服务器版本号对应的资源数据,根据与校验服务器版本号对应的资源数据对客户端的场景进行更新。
如图6所示,图6为本实施例中客户端、校验服务器和云服务器的交互示意图。在图6中,在所述校验服务器和所述客户端之间执行上述步骤S502和S506,在所述校验服务器执行上述步骤S504,在所述云服务器和所述客户端之间执行步骤S508。
通过客户端主动发起更新请求,并从校验服务器获取更新指令,所述客户端根据所述更新指令从云服务器中获取最新的资源数据对所述客户端进行更新,保证了在进行游戏的过程中,客户端可以保证一直处于最新的游戏版本,避免了与校验服务器的版本发生冲突造成的游戏崩溃的问题。
另外,客户端与校验服务器仅发送和接收更新请求和版本号,保证了客户端与校验服务器之间的数据通信量较小,进一步保证了游戏的流畅性。
如图7所示,图7是本发明的客户端、校验服务器和云服务器的交互步骤示意图,包括步骤S702至步骤S712,本实施例通过一具体应用场景对本发明进行进一步说明。
在实际应用中,在步骤S702之前,客户端和校验服务器还需要从云服务器获取初始资源数据对游戏中的虚拟场景进行初始化,所述客户端通过接收玩家的操作指令得到第一处理数据和第二处理数据。
需要说明的是,在实际应用中,所述第一处理数据包括处理位置信息和操作信息,所述第二处理数据包括处理方式、第一版本号和第一文件名。
步骤S702:客户端将所述第一处理数据发送至校验服务器。
步骤S704:客户端将所述第二处理数据发送至云服务器。
步骤S706:所述校验服务器接收到所述第一处理数据后,向所述云服务器获取与所述第一处理数据对应的第二处理数据。
步骤S708:所述校验服务器根据所述第二处理数据对所述校验服务器当前的初始资源数据进行处理得到最终资源数据并上传至云服务器。
步骤S710:所述校验服务器通知所述客户端处理结果。
步骤S712:在所述处理结果为成功的情况下,所述客户端从所述云服务器获取所述最终资源数据。
如图8所示,图8为本实施例中客户端、校验服务器和云服务器的交互示意图。图8中,由客户端、校验服务器和云服务器进行交互,在所述校验服务器和所述客户端之间执行上述步骤S702和S710,在所述云服务器和所述客户端之间执行上述步骤S704和S710,在所述校验服务器和所述云服务器之间执行上述步骤S706和S708。
本发明一实施例公开了一种资源更新装置,用于客户端,参见图9,所述装置包括:
第一获取模块902,被配置为从云服务器获取初始资源数据,根据所述初始资源数据构建客户端目标场景;
第一处理模块904,被配置为获取操作指令,根据所述操作指令对所述初始资源数据进行处理,得到第一处理数据、第二处理数据和客户端处理结果数据;
发送模块906,被配置为将所述第一处理数据发送至云服务器,将所述第二处理数据发送至校验服务器;
第一更新模块908,被配置为在所述客户端处理结果数据正确的情况下,从云服务器获取最终资源数据,基于所述最终资源数据对所述客户端目标场景进行更新。本实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述的一种资源更新方法的步骤。
所述第一处理模块904,被进一步配置为根据所述操作指令,得到处理位置信息和操作信息,并根据所述处理位置信息和操作信息对所述初始资源数据进行处理;
将所述处理位置信息和所述操作信息保存为第一处理数据;
根据所述操作指令,得到处理方式、第一版本号和第一文件名,并根据所述处理方式对所述初始资源数据进行处理;
根据所述操作指令确定处理方式、处理位置信息和操作信息,并根据所述处理方式、所述处理位置信息和所述操作信息对所述初始资源数据进行处理;
将所述处理方式、所述处理位置信息和所述操作信息保存为客户端处理结果数据。
具体地,所述第一处理数据包括处理位置信息和操作信息,所述第二处理数据包括处理方式、第一版本号和第一文件名。
所述发送模块906,进一步被配置为将所述第一处理数据中包含的处理位置信息和操作信息发送至云服务器;
将所述第二处理数据中包含的处理方式、第一版本号和第一文件名发送至校验服务器。
具体地,所述最终资源数据包括最终处理方式、最终处理位置信息和最终操作信息。
所述第一更新模块908,进一步被配置为从云服务器获取所述最终资源数据中包含的最终处理方式、第二文件名、第二版本号、最终处理位置信息和最终操作信息,基于所述最终处理方式、第二文件名、第二版本号、最终处理位置信息和最终操作信息对所述客户端目标场景进行更新。
所述资源更新装置,还包括:
删除模块910,被配置为在所述客户端处理结果数据不正确的情况下,删除所述第一处理数据、所述第二处理数据和所述客户端处理结果数据,重新获取操作指令并根据所述操作指令对所述初始资源数据进行处理。
本发明一实施例公开了一种资源更新装置,用于校验服务器,参见图10,所述装置包括:
第二获取模块1002,被配置为从云服务器获取初始资源数据,根据所述初始资源数据构建校验服务器目标场景;
第三获取模块1004,被配置为接收客户端发送的第二处理数据,基于所述第二处理数据,从云服务器获取第一处理数据;
第二处理模块1006,被配置为根据所述第一处理数据和所述第二处理数据对所述校验服务器目标场景进行处理,得到校验服务器处理结果数据;
匹配模块1008,被配置为获取客户端处理结果数据,将所述校验服务器处理结果数据与所述客户端处理结果数据进行匹配,得到匹配结果;
第二更新模块1010,被配置为在所述匹配结果一致的情况下,将所述校验服务器处理结果数据保存为最终资源数据并发送至云服务器,基于所述校验服务器处理结果数据对所述校验服务器目标场景进行更新。
具体地,所述第一处理数据包括处理位置信息和操作信息,所述第二处理数据包括处理方式。
所述第三获取模块1004,进一步被配置为接收客户端发送的第二处理数据中包含的处理方式,基于所述处理方式,从云服务器获取与所述处理方式对应的处理位置信息和操作信息。
所述第三获取模块1004,还被配置为基于所述处理方式、所述处理位置信息和所述操作信息对所述校验服务器目标场景进行处理,得到校验服务器处理结果数据。
具体地,所述客户端处理结果数据包括第一文件名和第一版本号,所述校验服务器处理结果包括第二文件名和第二版本号。
所述匹配模块1008,进一步被配置为将所述客户端处理结果数据中包含的第一文件名和第一版本号,分别与所述校验服务器处理结果数据中包含的第二文件名和第二版本号进行对比,得到匹配结果。
所述第二更新模块1010,进一步被配置为在所述匹配结果一致的情况下,将所述校验服务器处理结果数据中包含的第二文件名、第二版本号、处理位置信息和操作信息保存为最终资源数据,并将所述最终资源数据发送至云服务器。
本发明一实施例公开了一种资源更新装置,用于云服务器,参见图11,所述装置包括:
第一接收模块1102,被配置为接收客户端发送的第一处理数据并下发至校验服务器;
第二接收模块1104,被配置为接收校验服务器上传的最终资源数据;
下发模块1106,被配置为将所述最终资源数据下发至对应的客户端。
本发明一实施例提供了一种资源更新系统,如图12所示,所述系统包括:
客户端、校验服务器和云服务器;
所述客户端,被配置为接收操作指令,根据所述操作指令对所述初始资源数据进行处理,得到第一处理数据、第二处理数据和客户端处理结果数据;将所述第一处理数据发送至云服务器,将所述第二处理数据发送至校验服务器;在所述客户端处理结果数据正确的情况下,从云服务器获取最终资源数据,基于所述最终资源数据对所述客户端目标场景进行更新;
所述校验服务器,被配置为接收客户端发送的第二处理数据,基于所述第二处理数据,从云服务器获取第一处理数据;根据所述第一处理数据对校验服务器目标场景进行处理,得到校验服务器处理结果数据;获取客户端处理结果数据,将所述校验服务器处理结果数据与所述客户端处理结果数据进行匹配,得到匹配结果;在所述匹配结果一致的情况下,将所述校验服务器处理结果数据保存为最终资源数据并发送至云服务器,基于所述校验服务器处理结果数据对所述校验服务器目标场景进行更新;
所述云服务器,被配置为接收客户端发送的第一处理数据并下发至校验服务器;接收校验服务器上传的最终资源数据,将所述最终资源数据下发至对应的客户端。
本发明提供的一种资源更新系统,通过客户端分别向云服务器与校验服务器发送第一处理数据和第二处理数据,校验服务器对所述第二处理数据进行对比校验,并在校验结果正确的情况下向云服务器发送最终资源数据,接着基于所述最终资源数据对校验服务器目标场景进行更新,保证了客户端与校验服务器之间可以做到资源的快速更新。
其次,客户端向云服务器发送第一处理数据,向校验服务器发送第二处理数据,保证了客户端和校验服务器之间的通讯数据量少、交互速度快。并且,客户端与校验服务器分别基于从云服务器获取的初始资源数据构建客户端目标场景和校验服务器目标场景,进一步保证了客户端与校验服务器不需要进行过多通讯的有益效果。
另外,通过校验服务器对比客户端的文件名称与版本号的方式,确保了客户端与校验服务器的文件版本一致,避免了客户端与校验服务器文件版本不一致造成的游戏崩溃问题。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的一种资源更新方法方法技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述一种资源更新方法的技术方案的描述。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的元素,可以参见其它实施例的相关描述。
以上公开的本发明优选实施例只是用于帮助阐述本发明。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的处理和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。