游戏中数据的处理方法、装置、存储介质和电子装置与流程

文档序号:15491149发布日期:2018-09-21 20:35阅读:182来源:国知局
本发明涉及数据处理领域,具体而言,涉及一种游戏中数据的处理方法、装置、存储介质和电子装置。
背景技术
:现有的游戏在运行过程中,可能会出现创建建筑物、刷新操作对象、场景等操作,在进行这些操作时,一般需要向数据库请求地图上的空地数据,对空地执行完操作后,再更新数据库中的数据。这就导致反复、大量的访问数据库,导致数据库的负载压力比较大。针对上述的问题,目前尚未提出有效的解决方案。技术实现要素:本发明实施例提供了一种游戏中数据的处理方法、装置、存储介质和电子装置,以至少解决数据库的负载压力比较大的技术问题。根据本发明实施例的一个方面,提供了一种游戏中数据的处理方法,包括:从空地点集合中查找目标地图点,其中,所述空地点集合用于存储游戏地图中的空地点,所述空地点为所述游戏地图中的空地所在的点,所述空地点集合中空地点的数据为从数据库获得;在查找到所述目标地图点的情况下从所述空地点集合中删除所述目标地图点;对所述目标地图点进行更新;在所述更新失败的情况下,将所述目标地图点重新写入所述空地点集合;在所述更新成功的情况下,对删除所述目标地图点的所述空地点集合与所述数据库进行同步。根据本发明实施例的另一方面,还提供了一种游戏中数据的处理装置,包括:查找单元,用于从保存在服务器的空地点集合中查找目标地图点,其中,所述空地点集合用于存储游戏地图中的空地点,所述空地点为所述游戏地图中的空地所在的点,所述空地点集合中空地点的数据为预先从数据库获得;删除单元,用于在查找到所述目标地图点的情况下从所述空地点集合中删除所述目标地图点;更新单元,用于对所述目标地图点进行更新;写入单元,用于在所述更新失败的情况下,将所述目标地图点重新写入所述空地点集合;同步单元,用于在所述更新成功的情况下,对删除所述目标地图点的所述空地点集合与所述数据库进行同步。根据本发明实施例的另一方面,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述的方法。根据本发明实施例的另一方面,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行上述的方法。在本发明实施例中,对目标地图点进行更新时,可以直接从空地点集合中查找目标地图点,在目标地图点为空地的情况下对目标地图点进行更新,从而避免反复向数据库请求查询空地点的数据,解决了数据库的负载压力比较大的技术问题,达到了降低数据库的负载压力的技术效果。附图说明此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1是根据本发明实施例的一种硬件环境的架构图;图2是根据本发明实施例的另一种硬件环境的架构图;图3是根据本发明实施例的游戏中数据的处理方法的流程图;图4是根据本发明实施例的游戏中多种模块的示意图;图5是根据本发明实施例的从空地点集合中移除空地点的示意图;图6是根据本发明实施例的向空地点集合中写入空地点的示意图;图7是根据本发明实施例的地图点预使用委托的流程图;图8是根据本发明实施例的地图空地点的示意图;图9是根据本发明实施例的在空地点上建设城堡的示意图;图10是根据本发明实施例的地图划分为多个小区块的示意图;图11是根据本发明实施例的游戏中数据的处理装置的示意图;图12是根据本发明实施例的电子装置的结构示意图。具体实施方式为了使本
技术领域
的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。名词解释:SLG:即SimulationGame,模拟策略游戏。模拟策略游戏可以模拟现实生活的各种形式,达到训练玩家的目的,如提高熟练度、分析情况或预测。模拟策略游戏中玩家可以自由控制、管理和使用游戏中的人或事物,通过这种自由的手段以及玩家的思维来相处对抗敌人的办法来达到游戏所要求的目标。例如,模拟城池和田地,玩家可以创建城池等。游戏地图:包含所有玩家城池、资源点的地方。地图点:大地图中的每个方格点,可以用来存放资源点,玩家城池等。资源点:策略游戏中,用于产出游戏成长所必须资源的地点。在模拟策略游戏中玩家需要派遣部队在这些地点采集得到资源,以此用于成长。城池:玩家在游戏中需要努力发展、提升实力的目标。资源刷新块:刷新资源点的区域。根据本发明实施例的一个方面,提供了一种游戏中数据的处理方法。在本实施例中,上述游戏中数据的处理方法可以应用于如图1所示的服务器102和数据库104所构成的硬件环境中。如图1所示,服务器102通过网络与数据库104进行连接,上述网络包括但不限于:广域网、城域网或局域网。上述的数据库104还可以是图2所示的一个数据库集群,上述的服务器102也可以是图2所示的一个数据库集群。每个服务器102可以从数据库104中读取数据,或者向数据库104中写入数据。一个服务器102可以对应一个或者多个数据库104,一个数据库104也可以对应一个或者多个服务器102。图3是根据本发明实施例的游戏中数据的处理方法的流程图。如图3所示,该游戏中数据的处理方法包括如下步骤:步骤S302,从保存在服务器的空地点集合中查找目标地图点,其中,空地点集合用于存储游戏地图中的空地点,空地点为游戏地图中的空地所在的点,空地点集合中空地点的数据为预先从数据库获得。空地点集合中保存了游戏地图中所有的空地点,该空地点集合可以以表格的形式存储在服务器中。该空地点集合中的数据可以是从数据库中获得。空地点集合中主要保存空地点在游戏地图中的位置数据。空地点集合中所保存的空地点数量以及每个空地点的位置与数据库中的相应数据一致。空地点可以采用表1所示的坐标来表示位置,也可以采用地图点来表示位置。地图点是游戏地图中的点,地图点包括空地点。在一个游戏地图中有很多个地图点,地图点包括已经被占用的点和没有被占用的空地点。已经占用的点例如已经设置有建筑、田野和怪兽等对象的点。目标地图点是地图点中没有被占用的空地点中的一个。也即表1中空地1至空地n中中的任意一个。空地点集合的表现形式可以如表1所示:表1名称位置(坐标)位置(地图点)空地1x1,y1地图点1空地2x2,y2地图点2………空地nxn,yn地图点n步骤S304,在查找到所述目标地图点的情况下从空地点集合中删除目标地图点。在空地点集合中能够查找到目标地图点,则该目标地图点是空地点,如果查找不到,则该目标地图点不是空地点。对目标地图点的更新通常包括占用空地点,例如,在空地点上设置建筑,田地等。在确定更新目标地图点之后,从空地点集合中删除目标地图点。由于空地点集合中记录的是空地点,不是空地点的地图点就要从空地点集合中删除,以避免目标地图点被再次选中进行更新,造成目标地图点的数据相互覆盖。可选地,为了防止在高并发的情况下,对目标地图点执行多个更改,从空地点集合中删除目标地图点包括:对目标地图点执行加锁处理,其中,加锁后的目标地图点不允许被更改;在执行加锁处理后,判断目标地图点是否为空地;在判断出目标地图点为空地的情况下,从空地点集合中删除目标地图点。加锁后的目标地图点不允许被其他模块更改,为了防止在加锁期间该目标地图点就被更改,需要在加锁处理后再次判断目标地图点是否为空地,在判断出目标地图点为空地,从空地点集合中删除目标地图点,防止其他模块获取到该目标地图点带来性能开销的浪费。从空地点集合中删除目标地图点之后,可以通知数据库该目标地图点已经处于非空地的状态,即已占用状态。步骤S306,对目标地图点进行更新。可选地,对目标地图点进行更新包括:对加锁后的目标地图点进行更新;成功更新后对加锁后的目标地图点执行解锁处理,其中,解锁后的目标地图点允许被更改。对加锁后的目标地图点进行解锁处理,以便其他模块对该更新后的目标地图点进行其他更改操作。步骤S308,在更新失败的情况下,将目标地图点重新写入空地点集合。更新失败的情况下该目标地图点没有被占用,还是空地,那么先前从空地点集合中删除的目标地图点就需要重新被写入到空地点集合,以便于下次需要更新时,该目标地图点处于可选择的状态,即允许被选择进行更新。步骤S310,在更新成功的情况下,对删除目标地图点的空地点集合与数据库进行同步。在更新成功的情况下,空地点集合中少了一个空地点,这时需要与数据库同步,使得空地点集合中记载的空地点的数据和数据库中记载的空地点的数据一致。本实施例中,对目标地图点进行更新时,可以直接从空地点集合中查找目标地图点,在目标地图点为空地的情况下对目标地图点进行更新,从而避免反复向数据库请求查询空地点的数据,解决了数据库的负载压力比较大的技术问题,达到了降低数据库的负载压力的技术效果。在本实施例中,上述的空地点集合可以通过空地管理模块进行管理,该空地管理模块设置在服务器中,在服务器启动初始化的时候也随着初始化,空地管理模块会先从数据库中获取到所有的可用空地,并记录在该空地管理模块中的可用空地列表(即空地点集合)里,当要使用目标地图点时,只需要通过空地管理模块去获取以及判断是否为空地,并进行更新。空地管理模块主要对依赖于从数据库中获取空地点的模块有重要的提升优化意义,这些依赖从数据库中获取空地点的模块包括地图点交互比较多的模块,如图4所示的地图刷新模块、玩家城堡出生模块、随机迁城模块、玩家在地图上放置类操作模块、以及其他使用地图点模块。这些模块可以直接从空地管理模块中去获取空地、判断点是否为空地等,就可以节省大量不必要的数据库访问查询等操作,降低了数据库的负载压力。(1)在该目标地图点要更改为某建筑点时,其需要经过图5所示的以下几个流程:模块A先从空地管理模块的空地点集合(图5中该空地点集合以表格的形式的存储,表格中的黑色实心圆点表示存储的空地点,空心白色圆点表示没有存储空地点)中查找该目标地图点B,如果能够查询到该目标地图点,则判断出该目标地图点为空地点,模块A可以对该目标地图点进行更改操作。如果未查询到该目标地图点则该目标地图点为非空地点,返回失败,可以省去后续不必要的流程操作。在此过程查询空地管理模块中的空地点集合,不需要访问和查询数据库,降低了数据库的负载压力。在查询到该目标地图点的情况下对该目标地图点进行加锁,然后再判断目标地图点是否为空地,以防止在高并发的情况下,除了模块A以外的其他模块在加锁期间就对该地图点做了更改(更改后的目标地图点不再是空地),如果为非空地则终止操作,失败返回;如果再次判断出目标地图点为空点,则先从空地管理模块的空地点集合中移除该目标地图点B,防止除了模块A以外的其他模块获取到该目标地图点B带来不必要的性能开销。在对目标地图点加锁处理后,模块A就可以对该目标地图点B做更改操作,并在更改后向数据库同步数据,即通知该目标地图点B不再是空地点。对目标地图点做更改操作后对该目标地图点B进行解锁操作,以便其他模块对该目标地图点进行写操作。如果更改失败,则将该目标地图点B再次写入空地点集合。可选地,从空地点集合中查找目标地图点包括:在接收到更新所述目标地图点的指令后,从所述空地点集合中查找目标地图点,其中,所述指令用于指示在所述目标地图点创建目标对象;对所述目标地图点进行更新包括:根据所述指令在所述目标地图点创建所述目标对象。在客户端中接收到指令后,客户端上显示的目标空地点被刷新掉,即不显示目标空地点的建筑,然后再次刷新时在目标空地点显示指令所指示的目标对象,完成在目标空地点创建目标对象。目标对象可以是建筑,如城池等。(2)当要把建筑点更改为空地的时候,需要经过以下流程:首先也要对目标地图点B加锁,以保证高并发情况下也能按照预期下工作,而不被其他模块更改。然后把目标地图点B更新为空地,并如图6所示将该目标地图点B归还给空地管理模块,记录在空地点集合中。在本实施例中,底层的数据落地接口,可以自动对地图点做检测,如果为空地,则会将地图点加入到空地管理模块的空地点集合中,如果为非空地,则会将该地图点移除出空地点集合,以保证空地管理模块中维护的空地点数据与数据库中的数据保持一致。在把目标地图点更新为空地之后对该目标地图点解锁。需要说明的是,本实施例中,空地管理模块中可以设置一个定时器,周期性地检测空地管理模块中的空地数量是否与数据库中的空地数量保持一致,如果不一致就会自动监控告警,以提醒及时定位排查问题;在定时器程序中,本实施例也可以提供开关去控制,在有必要的时候控制定时器打开以自动修复空地管理模块中没有记录的地图点或者被数据覆盖的地图点。即,在从空地点集合中查找目标地图点之前,方法还包括:按照预定周期检测空地点集合中空地点的数量是否与数据库中记录的空地点的数量一致。通过本实施例,不仅可以通过从服务器上的空地管理模块维护空地点来保证游戏中对地图点的操作功能,而且还节省了大量的不必要的数据库操作,提升了服务器性能。可选地,为了保证未占用的空地点能够写入空地点集合,避免在更新空地点时发生异常而更新失败时,空地点没有写入空地点集合,本实施例在更新失败的情况下,将目标地图点重新写入空地点集合包括:监控目标地图点在预设时间段内是否被更新为已占用状态;在预设时间段内目标地图点没有被更新为已占用状态,则将目标地图点重新写入空地点集合。例如,在跨服的情况下,玩家想从其当前所在服务器迁城到远程服务器,需要先获取远程服务器的空地点作为出生点,然后再把城堡迁到远程服务器;在这种跨服务器迁城中,获取出生点以及迁城需要分两步完成,那么就有遇到两个问题:一个是将远程服务器的出生点返回给玩家,但是并不从空地管理模块中移除,当多个玩家同时请求远程迁城的时候,可能会获取到相同的空地点给玩家作为出生点,那势必后使用出生点的那些玩家是要失败的,这些玩家就需要回滚数据,然后重新发起远程迁城请求;另外一个是,如果找到了远程服务器的空地出生点,并将该空地出生点移除出远程服务器的空地管理模块,这样就能很好的解决上述迁城失败的问题。但是当该玩家的迁城操作过程中,因为某些原因抛出异常了,那么就可能会导致这个已经从空地管理模块中移除出的空地出生点没有被正常使用(还是空地),但是该空地出生点又不在空地管理模块中,无法被其他玩家所使用,这就导致地图空地点的泄露。为解决这个上述问题,本实施例中可以采用地图点预使用委托来克服上述问题。如图7所示,该地图点预使用委托流程如下:S701,从空地管理模块中查找到目标地图点,即空地出生点,如图8示出的空地点A、B、C、D、E、F和H等;S702,对目标地图点加锁;S703,再次判断目标地图点是否为空地;S704,如果目标地图点是空地,则将该目标地图点从空地管理模块中移除,并在地图点委托管理模块中登记预先使用了该目标地图点,地图点委托管理模块会对该目标地图点启动一个超时使用目标地图点的定时器;S705,使用地图点的模块只需要关心并合理使用地图点,在图8所示的空地点A上建立城堡,建立城堡后图8所示的具有空地点A的画面变为图9所示的在空地点A处建有城堡的画面。当正确成功使用了目标地图点(即在空地点A建立城堡)后,使用地图点的模块需要通知地图委托管理其已经正确使用了该目标地图点,地图委托管理模块就会取消对目标地图点的委托管理并取消定时器;需要说明的是,该空地点A的使用可以是建立城堡,也可以的建立其他建筑,或者需要占用空地点的农田、草地、训练场等。S706,假如使用地图点的模块发生了异常没有正常的通知地图委托管理其使用完毕,地图委托管理中为该点起的超时定时器到时间了就会去检查点是否为空地;S707,如果为空地,则将空地点归还给空地管理模块,否则说明点已经被使用,则取消定时器。本实施例可以解决对于使用地图点比较耗时的模块,既要保证及时正确响应玩家请求,又可以保证了地图空地点不会被泄露。可选地,对目标地图点进行更新包括:在服务器的缓存中存储的地图点集合中包括目标地图点的情况下,从缓存中调用目标地图点的数据进行更新,其中,地图点集合包括地图点,地图点是游戏地图中的点,地图点包括空地点;在缓存中存储的数据不包括目标地图点的数据的情况下,从数据库中获取目标地图点的数据并存储在缓存中,以便在缓存中调用目标地图点的数据进行更新。可选地,在对目标地图点进行更新之后,方法还包括:在目标地图点的数据不是从缓存中获取的情况下,重新从缓存中获取目标地图点的数据进行更新;将更新后的目标地图点的数据同步到数据库中。本实施例中,针对于不同的模块同时缓存同一个地图点,可能会造成数据不一致的问题。本实施例中,所有关于地图点的缓存都会集中缓存在地图缓存管理中,当模块需要使用到地图点时,都需要通过地图缓存管理模块,这样就可以保证了不同的模块使用的同一个地图点对象都是引用了同一个缓存对象;此外,本实施例的地图点缓存采用的是弱引用缓存在内存中,也就是说当数据不再被访问、持有的时候,这些地图点缓存就会自动被当作垃圾清除掉,直到下次该地图点继续被访问时,又会从数据库中获取相关数据并缓存起来,这样就可以节省服务器的内存资源。调用模块要访问某个地图点的数据时,如果该地图点的数据不在缓存中,则会先从数据库中获取该地图点的数据,并缓存在地图缓存管理模块中;如果该地图点的数据已经在缓存中,则将缓存中地图点的数据直接返回给调用模块。在更新数据时,需要确保更新的地图点的数据对象是否从地图缓存管理模块中获取到的,如果不是则需要重新从地图缓存管理模块中过滤一遍,然后再把数据更改到数据库中;由于变更数据的对象都是指向了地图缓存管理模块中的同一个对象,同时地图点的数据的更改经过加锁而串行化(加锁后其他模块无法对该地图点的数据进行更改,在当前模块完成数据更改并解锁后,其他模块才可以继续对该地图点的数据进行更改,即串行化),其他模块对该地图点的读和写,可以获得一致的且是最新的正确数据,就不会出现数据相互覆盖导致数据不一致的问题。可选地,在从保存在服务器的空地点集合中查找目标地图点之前,方法还包括:划分游戏地图得到多个区块;将多个区块中的第一区块作为初始区块,其中,第一区块为多个区块中的任意一个区块,重复执行以下步骤;查找初始区块的超时资源;将初始区块中超时资源所在的地图点作为空地点写入空地点集合中;在对初始区块进行刷新时,从空地点集合中查找初始区块中的空地点;对初始区块中空地点的多种类型的资源数据进行刷新;完成对初始区块的刷新后,将初始区块相邻的下一个区块作为初始区块。地图刷新在模拟策略游戏中,占据一个很重要的位置,玩家的各种玩法基本都集中在地图刷新的建筑上,地图刷新包括了建筑的超时刷掉以及生成新的建筑,刷新的数量也比较多,这就导致刷新程序会占用比较多的服务器资源。为了解决该问题,本实施例将游戏地图做切分为n*n的小区块,如图10所示。当要对地图做刷新时,每次就只对图10所示的一个小区块做刷新,这样一方面刷新区块变小了,刷新的时间也变短,使得在游戏地图刷掉超时的建筑以及重新生成新的建筑耗费的时间很短,避免在地图上不显示建筑的情况出现,提高了玩家游戏体验;另一方面,由于小区块刷新时所需的资源相当于整个地图要小很多,那么每次的小区块刷新所用的服务器资源也要小的多,在服务器性能压力比较大的情况下,可以灵活调整每个区块间的刷新间隔,以降低服务器的性能压力。本实施例在刷新地图的小区块时,会把区块里所有需要刷新出来的各类建筑都统一一次性刷新出来。例如,在一个小区块中包括资源田、野怪、M类建筑和N类建筑,本实施例在刷新该小区块时,会同时刷新上述资源田、野怪、M类建筑和N类建筑,而不是按照资源田、野怪、M类建筑和N类建筑的顺序依次刷新,这种同时刷新一个区块中的多个类型的资源时,可以避免刷新不同类资源时重复向数据库请求数据的情况。比如,重复获取空地、建筑类型统计和数据库同步等,向数据库的一次请求就可以获得多种类型的资源将要占用的空地数据,获取不同的建筑类型,以及更新后一次性与数据库进行数据同步。同时,这种方式无需多次向数据库发送请求的方式节省大量的服务器资源,而且还可以在服务器高压力的情况下,调整刷新间隔等配置,从而降低服务器的性能压力,保证游戏服务器的服务质量。在本实施例中,通过空地点管理模块统一管理空地点,减少访问数据库的次数,降低数据库负载并提高用户请求的响应速度;利用地图点预使用委托机制,可以保证在调用模块不正常使用地图点的情况下,也能将未使用的空地归还给空地管理模块,保证空地点不会被泄露;应用地图分区块刷新,提高刷新的灵活性,削弱服务器性能毛刺,同时对刷新建筑做统一刷新操作,节省了很多不必要的性能开销;地图点缓存机制,不仅可以解决了不同模块引用同一个点,在高并发情况下数据相互覆盖的问题,而且缓存使用的是弱引用,在地图点不再被引用时就会被清除出缓存,这样可以减少缓存对内存空间的占用。需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。根据本发明实施例的另一个方面,还提供了一种用于实施上述游戏中数据的处理方法的游戏中数据的处理装置,如图11所示,该装置包括:查找单元90、删除单元92、更新单元94、写入单元96和同步单元98。查找单元90用于从保存在服务器的空地点集合中查找目标地图点,其中,所述空地点集合用于存储游戏地图中的空地点,所述空地点为所述游戏地图中的空地所在的点,所述空地点集合中空地点的数据为预先从数据库获得;删除单元92用于在查找到所述目标地图点的情况下从所述空地点集合中删除所述目标地图点;更新单元94用于对所述目标地图点进行更新;写入单元96用于在所述更新失败的情况下,将所述目标地图点重新写入所述空地点集合;同步单元98用于在所述更新成功的情况下,对删除所述目标地图点的所述空地点集合与所述数据库进行同步。可选地,所述删除单元包括:加锁模块,用于对所述目标地图点执行加锁处理,其中,加锁后的所述目标地图点不允许被更改;判断模块,用于在执行所述加锁处理后,判断所述目标地图点是否为空地;删除模块,用于在所述目标地图点为所述空地的情况下,从所述空地点集合中删除所述目标地图点。可选地,所述更新单元包括:更新模块,用于对加锁后的所述目标地图点进行更新;解锁模块,用于成功更新后对加锁后的所述目标地图点执行解锁处理,其中,解锁后的所述目标地图点允许被更改。可选地,所述写入单元包括:监控模块,用于监控所述目标地图点在预设时间段内是否被更新为已占用状态;第一写入模块,用于在所述预设时间段内所述目标地图点没有被更新为所述已占用状态,则将所述目标地图点重新写入所述空地点集合。可选地,所述更新单元包括:调用模块,用于在所述服务器的缓存中存储的地图点集合中包括所述目标地图点的情况下,从所述缓存中调用所述目标地图点的数据进行更新,其中,所述地图点集合包括地图点;存储模块,用于在所述缓存中存储的数据中不包括所述目标地图点的数据的情况下,从所述数据库中获取所述目标地图点的数据并存储在所述缓存中,以便在所述缓存中调用所述目标地图点的数据进行更新。可选地,所述装置还包括:获取模块,用于在对所述目标地图点进行更新之后,在所述目标地图点的数据不是从所述缓存中获取的情况下,重新从所述缓存中获取所述目标地图点的数据进行更新;同步模块,用于将更新后的所述目标地图点的数据同步到所述数据库中。可选地,所述装置还包括:检测单元,用于在从空地点集合中查找目标地图点之前,按照预定周期检测所述空地点集合中空地点的数量是否与所述数据库中记录的空地点的数量一致。可选地,所述装置还包括:划分单元,用于在从保存在服务器的空地点集合中查找目标地图点之前,划分所述游戏地图得到多个区块;确定单元,用于将所述多个区块中的第一区块作为初始区块,其中,所述第一区块为所述多个区块中的任意一个区块,重复调用以下模块:第一查找模块,用于查找所述初始区块的超时资源;第二写入模块,用于将所述初始区块中所述超时资源所在的地图点作为空地点写入所述空地点集合中;第二查找模块,用于在对所述初始区块进行刷新时,从所述空地点集合中查找所述初始区块中的空地点;刷新模块,用于对所述初始区块中空地点的多种类型的资源数据进行刷新;确定模块,用于在完成对所述初始区块的刷新后,将所述初始区块相邻的下一个区块作为所述初始区块。本实施例各单元和模块所执行的动作参考上述方法中的描述,此处不再赘述。根据本发明实施例的又一个方面,还提供了一种用于实施上述游戏中数据的处理方法的电子装置,如图12所示,该电子装置包括,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为通过计算机程序执行上述任一项方法实施例中的步骤。可选地,图12是根据本发明实施例的一种电子装置的结构框图。如图12所示,该电子装置可以包括:一个或多个(图中仅示出一个)处理器1001、至少一个通信总线1002、用户接口1003、至少一个传输装置1004和存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示器1006和键盘1007。传输装置1004可选的可以包括标准的有线接口和无线接口。可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:S1,从保存在服务器的空地点集合中查找目标地图点,其中,所述空地点集合用于存储游戏地图中的空地点,所述空地点为所述游戏地图中的空地所在的点,所述空地点集合中空地点的数据为预先从数据库获得;S2,在查找到所述目标地图点的情况下从所述空地点集合中删除所述目标地图点;S3,对所述目标地图点进行更新;S4,在所述更新失败的情况下,将所述目标地图点重新写入所述空地点集合;S5,在所述更新成功的情况下,对删除所述目标地图点的所述空地点集合与所述数据库进行同步。可选地,本领域普通技术人员可以理解,图12所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(MobileInternetDevices,MID)、PAD等终端设备。图12其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图12中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图12所示不同的配置。其中,存储器1005可用于存储软件程序以及模块,如本发明实施例中的游戏中数据的处理方法和装置对应的程序指令/模块,处理器1001通过运行存储在存储器1005内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的游戏中数据的处理方法。存储器1005可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1005可进一步包括相对于处理器1001远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。上述的传输装置1004用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1004包括一个网络适配器(NetworkInterfaceController,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1004为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。其中,具体地,存储器1005用于存储预设动作条件和预设权限用户的信息、以及应用程序。本实施例中,对目标地图点进行更新时,可以直接从空地点集合中查找目标地图点,在目标地图点为空地的情况下对目标地图点进行更新,从而避免反复向数据库请求查询空地点的数据,解决了数据库的负载压力比较大的技术问题,达到了降低数据库的负载压力的技术效果。本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:S1,从保存在服务器的空地点集合中查找目标地图点,其中,所述空地点集合用于存储游戏地图中的空地点,所述空地点为所述游戏地图中的空地所在的点,所述空地点集合中空地点的数据为预先从数据库获得;S2,在查找到所述目标地图点的情况下从所述空地点集合中删除所述目标地图点;S3,对所述目标地图点进行更新;S4,在所述更新失败的情况下,将所述目标地图点重新写入所述空地点集合;S5,在所述更新成功的情况下,对删除所述目标地图点的所述空地点集合与所述数据库进行同步。可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:对所述目标地图点执行加锁处理,其中,加锁后的所述目标地图点不允许被更改;在执行所述加锁处理后,判断所述目标地图点是否为空地;在所述目标地图点为所述空地的情况下,从所述空地点集合中删除所述目标地图点可选地,存储介质还被设置为存储用于执行上述实施例中的方法中所包括的步骤的计算机程序,本实施例中对此不再赘述。可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:对加锁后的所述目标地图点进行更新;成功更新后对加锁后的所述目标地图点执行解锁处理,其中,解锁后的所述目标地图点允许被更改。可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:监控所述目标地图点在预设时间段内是否被更新为已占用状态;在所述预设时间段内所述目标地图点没有被更新为所述已占用状态,则将所述目标地图点重新写入所述空地点集合。可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:在所述服务器的缓存中存储的地图点集合中包括所述目标地图点的情况下,从所述缓存中调用所述目标地图点的数据进行更新,其中,所述地图点集合包括地图点;在所述缓存中存储的数据中不包括所述目标地图点的数据的情况下,从所述数据库中获取所述目标地图点的数据并存储在所述缓存中,以便在所述缓存中调用所述目标地图点的数据进行更新。可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:在所述目标地图点的数据不是从所述缓存中获取的情况下,重新从所述缓存中获取所述目标地图点的数据进行更新;将更新后的所述目标地图点的数据同步到所述数据库中。可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:划分所述游戏地图得到多个区块;将所述多个区块中的第一区块作为初始区块,其中,所述第一区块为所述多个区块中的任意一个区块,重复执行以下步骤;查找所述初始区块的超时资源;将所述初始区块中所述超时资源所在的地图点作为空地点写入所述空地点集合中;在对所述初始区块进行刷新时,从所述空地点集合中查找所述初始区块中的空地点;对所述初始区块中空地点的多种类型的资源数据进行刷新;完成对所述初始区块的刷新后,将所述初始区块相邻的下一个区块作为所述初始区块。可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-OnlyMemory,ROM)、随机存取器(RandomAccessMemory,RAM)、磁盘或光盘等。上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1