CN112891952A - 数据处理方法、装置、电子设备和计算机可读存储介质 - Google Patents
数据处理方法、装置、电子设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN112891952A CN112891952A CN202110242081.6A CN202110242081A CN112891952A CN 112891952 A CN112891952 A CN 112891952A CN 202110242081 A CN202110242081 A CN 202110242081A CN 112891952 A CN112891952 A CN 112891952A
- Authority
- CN
- China
- Prior art keywords
- data
- user
- updated
- game
- model
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 23
- 238000000034 method Methods 0.000 claims abstract description 42
- 230000008569 process Effects 0.000 claims abstract description 28
- 238000012545 processing Methods 0.000 claims abstract description 28
- 238000012544 monitoring process Methods 0.000 claims description 15
- 230000008859 change Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 9
- 230000001360 synchronised effect Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 7
- 238000011161 development Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 6
- 239000010931 gold Substances 0.000 description 6
- 229910052737 gold Inorganic materials 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/79—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/77—Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/50—Features 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/55—Details of game data or player data management
- A63F2300/552—Details of game data or player data management for downloading to client devices, e.g. using OS version, hardware or software profile of the client device
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/50—Features 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/55—Details of game data or player data management
- A63F2300/5546—Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明的实施例提供了一种数据处理方法、装置、电子设备和计算机可读存储介质,涉及互联网技术领域,方法包括:监听游戏玩家的游戏相关数据是否存在更新,在存在更新的情况下,得到更新事件,并调用同步模块对更新事件进行处理,得到与更新事件对应的待更新数据,从而基于待更新数据对预先创建的用户模型中的游戏相关数据进行更新,进而提高数据处理的便捷性。
Description
技术领域
本发明涉及互联网技术领域,具体而言,涉及一种数据处理方法、装置、电子设备和计算机可读存储介质。
背景技术
随着互联网的发展,越来越多的领域涉及到数据处理,例如,在游戏中存在各种数据,需要前后台同步。示例性地,玩家的基本数据:等级、体力、金币等;玩家背包里面的各个道具等;其他子***的数据,如帮派***中的帮派等级、帮派名称等,这些数据在发生改变时,均需进行处理。游戏越复杂,子***越多,需要处理的数据就越多,数据处理的便捷性有待提升。
发明内容
本发明的目的之一包括,例如,提供了一种数据处理方法、装置、电子设备和计算机可读存储介质,以至少部分地提高数据处理的便捷性。
本发明的实施例可以这样实现:
第一方面,本发明提供一种数据处理方法,应用于电子设备,所述电子设备中存储有同步模块,所述方法包括:
监听游戏玩家的游戏相关数据是否存在更新,在存在更新的情况下,得到更新事件;
调用所述同步模块对所述更新事件进行处理,得到与所述更新事件对应的待更新数据,基于所述待更新数据对预先创建的用户模型中的游戏相关数据进行更新,其中,所述用户模型包括所述游戏玩家的游戏相关数据。
在可选的实施方式中,所述方法还包括创建所述用户模型的步骤,该步骤包括:
响应游戏玩家执行的游戏登录操作,生成游戏登录协议并发送至游戏后台;
接收所述游戏后台返回的所述游戏玩家的游戏相关数据;
创建全局唯一的用户模型,并将所述游戏相关数据填充至所述用户模型中。
在可选的实施方式中,所述监听游戏玩家的游戏相关数据是否存在更新,在存在更新的情况下,得到更新事件的步骤,包括:
监听是否接收到游戏后台发送的、包括目标字段的回包,在接收到所述回包的情况下,判定所述游戏玩家的游戏相关数据存在更新,将所述回包作为更新事件;其中,所述目标字段中存储有所述游戏相关数据的变更情况。
在可选的实施方式中,所述调用所述同步模块对所述更新事件进行处理的步骤,包括:
直接调用所述同步模块对所述回包中的目标字段进行处理;或者,
将所述回包中的目标字段发送至所述更新事件对应的业务模块,在该业务模块执行完对应的业务逻辑之后,通过该业务模块调用所述同步模块对所述目标字段进行处理。
在可选的实施方式中,所述用户模型中包括各对象分别对应的字段,每个所述对象的游戏相关数据记载于该对象对应的字段中;
所述基于所述待更新数据对预先创建的用户模型中的游戏相关数据进行更新的步骤,包括:
基于所述待更新数据得到待更新的目标对象,以及该目标对象对应的字段;
基于所述待更新数据对所述目标对象对应的字段进行更新。
在可选的实施方式中,在基于所述待更新数据对预先创建的用户模型中的游戏相关数据进行更新之后,所述方法还包括:
基于所述用户模型发送更新广播,以使存在与所述待更新数据相关业务的业务模块从所述用户模型对更新后的游戏相关数据进行同步。
在可选的实施方式中,所述游戏相关数据包括用户基本数据和用户背包数据;所述用户模型包括用户基本模型和用户背包模型,所述用户基本数据填充于所述用户基本模型中,所述用户背包数据填充于所述用户背包模型中;
所述基于所述用户模型发送更新广播,以使存在与所述待更新数据相关业务的业务模块从所述用户模型对更新后的游戏相关数据进行同步的步骤,包括:
在所述待更新数据包括用户基本数据的情况下,基于所述用户基本模型发送更新广播,以使存在与所述待更新数据相关业务的业务模块从所述用户基本模型对更新后的用户基本数据进行同步;
在所述待更新数据包括用户背包数据的情况下,基于所述用户背包模型发送更新广播,以使存在与所述待更新数据相关业务的业务模块从所述用户背包模型对更新后的用户背包数据进行同步。
第二方面,本发明实施例提供一种数据处理装置,应用于电子设备,所述电子设备中存储有同步模块,所述数据处理装置包括:
更新监听模块,用于监听游戏玩家的游戏相关数据是否存在更新,在存在更新的情况下,得到更新事件;
更新处理模块,用于调用所述同步模块对所述更新事件进行处理,得到与所述更新事件对应的待更新数据,基于所述待更新数据对预先创建的用户模型中的游戏相关数据进行更新,其中,所述用户模型包括所述游戏玩家的游戏相关数据。
第三方面,本发明提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前述实施方式任一项所述的数据处理方法。
第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,所述计算机程序运行时控制所述计算机可读存储介质所在电子设备执行前述实施方式任一项所述的数据处理方法。
本发明实施例的有益效果包括,例如:巧妙地设置了同步模块,在游戏相关数据存在更新的情况下,由同步模块对更新事件进行处理,在用户模型中实现游戏相关数据的更新,基于该种设计,使得各业务模块只需“关心”自己的业务逻辑,便可基于用户模型实现数据同步,显著提升了数据处理的便捷性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的一种应用场景示意图。
图2示出了本发明实施例提供的一种数据处理方法的流程示意图。
图3示出了本发明实施例提供的一种数据处理方法的另一流程示意图。
图4示出了本发明实施例提供的一种数据处理装置的示例性结构框图。
图标:100-电子设备;110-存储器;120-处理器;130-通信模块;140-数据处理装置;141-更新监听模块;142-更新处理模块。
具体实施方式
游戏中的各种数据经常会发生改变,例如,游戏里面的任何一条协议都可能触发各种数据的改变。示例性地,某一领奖活动,只需用户在用户终端点击一个按钮,就可以领奖,奖励是随机的,可能会获得玩家体力、玩家金币等,也可能掉落道具到背包里面,还可能获得帮派的经验等。
由于上述领奖活动可能涉及的奖励较多,用户领取奖励之后,发生改变的数据可能为多种,相应地,所要进行的数据处理,如数据同步可能涉及多个业务模块。
例如,若领取的奖励包括帮派的经验值、背包中的道具和玩家体力,其中,帮派的经验值对应于帮派相关业务模块、背包中的道具对应于背包相关业务模块、玩家体力对应于用户基本数据相关业务模块。那么,用户领取这些奖励之后,帮派相关业务模块、背包相关业务模块和用户基本数据相关业务模块均需要进行数据更新。并且,帮派相关业务模块、背包相关业务模块和用户基本数据相关业务模块在完成数据更新后,还需通知与所更新数据存在相关业务的业务模块进行数据同步。例如,在完成更新后,帮派相关业务模块、背包相关业务模块和用户基本数据相关业务模块还需通知界面展示模块进行数据同步,以展示更新后的数据。
由此可知,现有技术中,为了在数据发生改变的情况下进行数据处理,需要后台开发人员针对每种业务模块分别进行业务开发,如针对每种业务模块写入与该领奖活动对应的数据处理代码,使得后台开发人员不仅要关心各业务模块自身的业务逻辑,还需关心各种数据的变更,实现较为复杂,容易出错,成本较高。
基于上述研究,本发明实施例提供一种数据处理方案,设置了同步模块,由同步模块统一对更新事件进行处理,实现游戏相关数据的更新。基于该种设置,在存在数据变更的情况下,后台开发人员只需对同步模块进行业务开发便可实现数据处理,无需针对各业务模块分别进行业务开发,各业务模块只需“关心”自己的业务逻辑便可基于用户模型实现数据同步,实现较为便捷,降低了出错率,性价比较高。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本发明实施例针对上述问题所提出的解决方案,都应该是发明人在发明过程中做出的贡献。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
请参照图1,是本实施例提供的一种电子设备100的方框示意图,本实施例中的电子设备100可以为游戏玩家用以进行游戏相关操作的用户终端,如手机、平板电脑、游戏设备等,该用户终端能够与游戏后台通信。所述电子设备100包括存储器110、处理器120及通信模块130。所述存储器110、处理器120以及通信模块130各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
其中,存储器110用于存储程序或者数据。所述存储器110可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(ErasableProgrammable Read-Only Memory,EPROM),电可擦除只读存储器(Electric ErasableProgrammable Read-Only Memory,EEPROM)等。
处理器120用于读/写存储器110中存储的数据或程序,并执行相应地功能。
通信模块130用于通过所述网络建立所述电子设备100与其它通信终端之间的通信连接,并用于通过所述网络收发数据。
应当理解的是,图1所示的结构仅为电子设备100的结构示意图,所述电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。例如,电子设备100还可以包括用以进行人机交互的人机交互组件,如触摸显示屏、键盘、鼠标等。
请结合参阅图2,为本发明实施例提供的一种数据处理方法的流程示意图,可以由图1所述电子设备100执行,例如可以由电子设备100中的处理器120执行,电子设备100中存储有同步模块。该数据处理方法包括S110和S120。
S110,监听游戏玩家的游戏相关数据是否存在更新,在存在更新的情况下,得到更新事件。
S120,调用所述同步模块对所述更新事件进行处理,得到与所述更新事件对应的待更新数据,基于所述待更新数据对预先创建的用户模型中的游戏相关数据进行更新,其中,所述用户模型包括所述游戏玩家的游戏相关数据。
其中,可以通过多种方式监听游戏玩家的游戏相关数据是否存在更新,例如,可以通过已有的监听组件监听游戏玩家的游戏相关数据是否存在更新。又例如,可以创建用户模型,通过用户模型监听游戏玩家的游戏相关数据是否存在更新。
用户模型的创建方式可以有多种,示例性地,请参阅图3,用户模型的创建可以通过S210、S220和S230实现。
S210,玩家在用户终端执行游戏登陆操作,用户终端响应游戏玩家执行的游戏登录操作,生成游戏登录协议并发送至游戏后台。
S220,用户终端接收游戏后台返回的游戏玩家的游戏相关数据。
其中,游戏后台接收到登录协议后,根据登陆协议获得玩家的游戏相关数据,如用户基本数据、背包数据等,并将游戏相关数据发送至用户终端。
S230,用户终端创建全局唯一的用户模型,并将游戏后台发送的游戏相关数据填充至用户模型中,从而完成用户模型的创建。
针对每个玩家的每局游戏,分别创建全局唯一的用户模型,在存在更新的情况下,同步模块基于待更新数据对用户模型中的游戏相关数据进行更新,从而使得该局游戏中,游戏内的各业务模块能够基于用户模型统一获取、使用更新后的数据,无需针对各业务模块分别进行业务开发,各业务模块只需“关心”自己的业务逻辑便可基于用户模型实现数据同步,实现较为便捷。
本实施例中,根据游戏相关数据的不同,所创建的模型可以为一个,也可以为多个,相应地,可以基于一个或多个模型监听游戏玩家的游戏相关数据是否存在更新。
在一种实现方式中,在游戏相关数据包括用户基本数据和用户背包数据的情况下,用户模型可以包括用户基本模型和用户背包模型。相应地,将游戏相关数据填充至用户模型中可以通过以下方式实现:将用户基本数据填充至用户基本模型中。将用户背包数据填充至用户背包模型中。进而基于填充用户基本数据之后的用户基本模型监听游戏玩家的用户基本数据是否存在更新。基于填充用户背包数据之后的用户背包模型,监听游戏玩家的用户背包数据是否存在更新。
其中,用户基本数据可以包括玩家在游戏中的多种基本数据,如玩家等级、玩家体力、玩家金币等。用户背包数据可以包括游戏中玩家背包内各项物品的数据,如背包中各个道具的数据。
为了进一步提高数据处理的便捷性,本实施例中的更新事件可以为包括目标字段的回包。游戏相关数据的变更均存储于回包包括的目标字段中。例如,回包的结构体可以继承父结构体,回包中有一个目标字段,如changeObj,游戏里面有任何的数据,如用户基本数据、用户背包数据、帮派数据等发生变更,均会放到该目标字段changeObj中。相应地,用户终端监听是否接收到游戏后台发送的、包括目标字段的回包,在接收到所述回包的情况下,便可以判定游戏玩家的游戏相关数据存在更新,将回包作为更新事件,进而调用同步模块对目标字段changeObj进行处理。
其中,在接收到回包的情况下,用户终端可以直接调用同步模块对回包中的目标字段进行处理,还可以将回包转发至其他模块,经由其他模块调用同步模块对回包中的目标字段进行处理。例如,在接收到回包的情况下,可以将回包中的目标字段发送至更新事件对应的业务模块,在该业务模块执行完对应的业务逻辑之后,再通过该业务模块调用同步模块对目标字段进行处理。
示例性地,若设定为默认自动同步数据,那么,用户终端在收到游戏后台发送的回包的情况下,则将changeObj发送至同步模块。若设定为非自动同步数据,如某一个转盘活动,在收到游戏后台的回包之后,不能马上同步数据,需要用户终端侧活动的转盘转动完毕,才去执行数据同步。该种情况下,用户终端收到回包之后,不会直接调用同步模块去同步数据,而会将changeObj返回给转盘活动对应的业务模块,业务模块执行完业务逻辑之后(转盘旋转完毕),再由业务模块调用同步模块执行数据同步。
为了进一步提高数据处理的便捷性,在一种可选的实现方式中,需要进行数据同步的各对象,如玩家体力、玩家金币、经验值等可以通过不同的字段予以表征,用户模型中包括各对象分别对应的字段,每个对象的游戏相关数据记载于该对象对应的字段中。基于该种设置,基于待更新数据对游戏相关数据进行更新可以通过以下方式实现:基于待更新数据得到待更新的目标对象,以及该目标对象对应的字段,基于待更新数据对目标对象对应的字段进行更新。
例如,在玩家体力对应的字段为A的情况下,玩家体力存储于字段A中,在待更新数据包括变化后的玩家体力的情况下,可以确定需要更新的对象为玩家体力,需要更新的字段为A,进而将字段A中的玩家体力替换为变化后的玩家体力,从而完成玩家体力的更新。
基于上述设计,在用户模型包括用户基本模型和用户背包模型的情况下,用户基本模型中可以包括用户基本数据所属的各对象分别对应的字段,用户背包模型中可以包括用户背包数据所属的各对象分别对应的字段。类似地,在某一对象存在更新的情况下,将该对象对应的字段进行更新。
例如,在背包中某一道具甲对应的字段为B的情况下,道具甲的相关信息如数量存储于字段B中,在待更新数据包括变化后的道具甲的情况下,可以确定需要更新的对象为道具甲,需要更新的字段为B,进而将用户背包模型的字段B中道具甲的相关信息替换为变化后的道具甲的相关信息,从而完成背包中道具甲的相关信息的更新。
由于游戏相关数据均包括在用户模型中,因而,可以基于用户模型进行游戏相关数据的同步。例如,在对游戏相关数据进行更新之后,可以基于用户模型发送更新广播,以使存在与待更新数据相关业务的各业务模块均从用户模型对更新后的游戏相关数据进行同步。例如,若界面展示模块展示的内容包括待更新数据,那么,界面展示模块接收到用户模型发送的更新广播后,判定自身存在与待更新数据相关业务,从而向用户模型发送数据同步请求,对更新后的游戏相关数据进行同步及展示。
相应地,在游戏相关数据包括用户基本数据和用户背包数据,用户模型包括用户基本模型和用户背包模型的情况下,若待更新数据包括用户基本数据,则基于用户基本模型发送更新广播,以使存在与待更新数据相关业务的业务模块从用户基本模型对更新后的用户基本数据进行同步。若待更新数据包括用户背包数据,基于用户背包模型发送更新广播,以使存在与待更新数据相关业务的业务模块从用户背包模型对更新后的用户背包数据进行同步。例如,界面展示模块可以从用户基本模型对更新后的用户基本数据进行同步,从用户背包模型对更新后的用户背包数据进行同步,进而展示更新后的用户基本数据和用户背包数据。
为了更为清楚地阐述本申请实施例的实现原理,现以下述场景为例,对数据处理方法的实现流程进行举例说明。
在用户终端设置同步模块。在新增子***、数据结构存在变更的情况下,仅修改同步模块的代码,而无需改动其他业务模块,通过同步模块实现数据的处理。设置数据的模型(后称为Model)结构,基于Model配合同步模块进行数据同步,例如,数据发生改变后,基于Model展示刷新后的数据。
其中,用户基本数据对应有用户基本模型UserModel,用户基本数据包括玩家等级level、玩家金币gold、玩家体力power等。UserModel中有玩家等级level、玩家金币gold、玩家体力power等对象分别对应的字段。
用户背包数据对应有用户背包模型PackModel,PackModel中有数组列表list字段,该list字段存放有背包中各道具PackItem。
基于上述场景,用户终端在玩家执行游戏登录操作的情况下,生成游戏登录协议并发送至游戏后台。游戏后台响应游戏登录协议将用户基本数据、用户背包数据返回至用户终端。
用户终端进入游戏的首屏主界面,创建全局唯一的UserModel以及PackModel,接收游戏后台返回的用户基本数据、用户背包数据,向UserModel中填充用户基本数据,基于UserModel展示用户基本数据,以及监听用户基本数据的UPDATE事件(更新事件)。用户终端打开背包界面,向PackModel中填充用户背包数据,基于PackModel展示用户背包数据,以及监听用户背包数据的UPDATE事件。
玩家在用户终端进入某个活动,如点击领取奖励按钮的情况下,用户终端通过网络模块将领奖协议发送至游戏后台,游戏后台根据该领奖协议进行奖励分配,生成回包并通过网络模块发送至用户终端。其中,回包中有一个字段,为changeObj,游戏里面有任何的数据变更,均放到该changeObj中。
用户终端接收到游戏后台的回包后,调用同步模块处理回包中的changeObj。
同步模块对changeObj进行的处理包括:如果有用户基本数据的改变,则修改全局的UserModel,并抛出UPDATE事件(发送更新广播)。如果有用户背包数据的改变,则修改全局的PackModel,并抛出UPDATE事件(发送更新广播)。
同步模块处理完这些数据的修改之后,用户终端将用户获得的奖励情况展示给玩家。
基于上述流程,在用户基本数据存在改变的情况下,用户终端中的主界面触发UserModel的UPDATE事件,与UserModel进行数据同步交互,基于交互结果刷新UI上面的数据。在用户背包数据存在改变的情况下,用户终端中的背包界面触发PackModel的UPDATE事件,与PackModel进行数据同步交互,基于交互结果刷新UI上面的数据。
其中,是否需要网络模块自动同步数据,默认选择可以是true。该种情况下,网络模块收到回包后,直接将changeObj发送给同步模块,然后主界面的数据和/或者背包界面的数据同步刷新。
在另一些情况下,是否需要网络模块自动同步数据可以设置成false。例如,某一转盘活动,在收到游戏后台的回包之后,不能马上同步数据,需要活动的转盘转动完毕,再同步数据。该种情况下,网络模块收到回包,不直接调用同步模块去同步数据,而是将changeObj返回给业务模块执行相应的业务逻辑,业务逻辑执行完之后(转盘旋转完毕),再由业务模块去调用同步模块进行同步。
是否需要将获得的对象展示给玩家,可以默认设置为true。该种情况下,UserModel会将更新后的用户基本数据进行展示,PackModel会将更新后的用户背包数据进行展示。
基于上设计,后台开发人员只需设置同步模块,撰写发送领奖协议给游戏后台的代码,便可实现数据同步。无需对各业务模块进行自身业务逻辑之外的其他业务开发,实现较为便捷。
为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种数据处理装置的实现方式。请参阅图4,图4为本发明实施例提供的一种数据处理装置140的功能模块图,该数据处理装置140可以应用于图1所示电子设备100,电子设备100中存储有同步模块。需要说明的是,本实施例所提供的数据处理装置140,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。该数据处理装置140包括更新监听模块141和更新处理模块142。
其中,更新监听模块141用于监听游戏玩家的游戏相关数据是否存在更新,在存在更新的情况下,得到更新事件。
更新处理模块142用于调用所述同步模块对所述更新事件进行处理,得到与所述更新事件对应的待更新数据,基于所述待更新数据对预先创建的用户模型中的游戏相关数据进行更新,其中,所述用户模型包括所述游戏玩家的游戏相关数据。
在上述基础上,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,所述计算机程序运行时控制所述计算机可读存储介质所在电子设备执行上述的数据处理方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据处理方法,其特征在于,应用于电子设备,所述电子设备中存储有同步模块,所述方法包括:
监听游戏玩家的游戏相关数据是否存在更新,在存在更新的情况下,得到更新事件;
调用所述同步模块对所述更新事件进行处理,得到与所述更新事件对应的待更新数据,基于所述待更新数据对预先创建的用户模型中的游戏相关数据进行更新,其中,所述用户模型包括所述游戏玩家的游戏相关数据。
2.根据权利要求1所述的数据处理方法,其特征在于,所述方法还包括创建所述用户模型的步骤,该步骤包括:
响应游戏玩家执行的游戏登录操作,生成游戏登录协议并发送至游戏后台;
接收所述游戏后台返回的所述游戏玩家的游戏相关数据;
创建全局唯一的用户模型,并将所述游戏相关数据填充至所述用户模型中。
3.根据权利要求2所述的数据处理方法,其特征在于,所述监听游戏玩家的游戏相关数据是否存在更新,在存在更新的情况下,得到更新事件的步骤,包括:
监听是否接收到游戏后台发送的、包括目标字段的回包,在接收到所述回包的情况下,判定所述游戏玩家的游戏相关数据存在更新,将所述回包作为更新事件;其中,所述目标字段中存储有所述游戏相关数据的变更情况。
4.根据权利要求3所述的数据处理方法,其特征在于,所述调用所述同步模块对所述更新事件进行处理的步骤,包括:
直接调用所述同步模块对所述回包中的目标字段进行处理;或者,
将所述回包中的目标字段发送至所述更新事件对应的业务模块,在该业务模块执行完对应的业务逻辑之后,通过该业务模块调用所述同步模块对所述目标字段进行处理。
5.根据权利要求1所述的数据处理方法,其特征在于,所述用户模型中包括各对象分别对应的字段,每个所述对象的游戏相关数据记载于该对象对应的字段中;
所述基于所述待更新数据对预先创建的用户模型中的游戏相关数据进行更新的步骤,包括:
基于所述待更新数据得到待更新的目标对象,以及该目标对象对应的字段;
基于所述待更新数据对所述目标对象对应的字段进行更新。
6.根据权利要求1至5任意一项所述的数据处理方法,其特征在于,在基于所述待更新数据对预先创建的用户模型中的游戏相关数据进行更新之后,所述方法还包括:
基于所述用户模型发送更新广播,以使存在与所述待更新数据相关业务的业务模块从所述用户模型对更新后的游戏相关数据进行同步。
7.根据权利要求6所述的数据处理方法,其特征在于,所述游戏相关数据包括用户基本数据和用户背包数据;所述用户模型包括用户基本模型和用户背包模型,所述用户基本数据填充于所述用户基本模型中,所述用户背包数据填充于所述用户背包模型中;
所述基于所述用户模型发送更新广播,以使存在与所述待更新数据相关业务的业务模块从所述用户模型对更新后的游戏相关数据进行同步的步骤,包括:
在所述待更新数据包括用户基本数据的情况下,基于所述用户基本模型发送更新广播,以使存在与所述待更新数据相关业务的业务模块从所述用户基本模型对更新后的用户基本数据进行同步;
在所述待更新数据包括用户背包数据的情况下,基于所述用户背包模型发送更新广播,以使存在与所述待更新数据相关业务的业务模块从所述用户背包模型对更新后的用户背包数据进行同步。
8.一种数据处理装置,其特征在于,应用于电子设备,所述电子设备中存储有同步模块,所述数据处理装置包括:
更新监听模块,用于监听游戏玩家的游戏相关数据是否存在更新,在存在更新的情况下,得到更新事件;
更新处理模块,用于调用所述同步模块对所述更新事件进行处理,得到与所述更新事件对应的待更新数据,基于所述待更新数据对预先创建的用户模型中的游戏相关数据进行更新,其中,所述用户模型包括所述游戏玩家的游戏相关数据。
9.一种电子设备,其特征在于,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至7任一项所述的数据处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,所述计算机程序运行时控制所述计算机可读存储介质所在电子设备执行权利要求1至7任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110242081.6A CN112891952A (zh) | 2021-03-04 | 2021-03-04 | 数据处理方法、装置、电子设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110242081.6A CN112891952A (zh) | 2021-03-04 | 2021-03-04 | 数据处理方法、装置、电子设备和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112891952A true CN112891952A (zh) | 2021-06-04 |
Family
ID=76106944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110242081.6A Pending CN112891952A (zh) | 2021-03-04 | 2021-03-04 | 数据处理方法、装置、电子设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112891952A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116832439A (zh) * | 2023-05-17 | 2023-10-03 | 广州三七极梦网络技术有限公司 | 一种游戏数据刷新***的处理方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108744504A (zh) * | 2018-05-17 | 2018-11-06 | 网易(杭州)网络有限公司 | 游戏数据的处理方法及装置、游戏服务器、游戏*** |
CN110278283A (zh) * | 2019-07-10 | 2019-09-24 | 广州虎牙科技有限公司 | 排行榜处理方法、装置、计算机可读存储介质及电子设备 |
CN110639207A (zh) * | 2019-09-20 | 2020-01-03 | 北京代码乾坤科技有限公司 | 游戏数据同步方法、装置、存储介质及处理器 |
CN112044079A (zh) * | 2020-10-14 | 2020-12-08 | 腾讯科技(深圳)有限公司 | 一种游戏运行方法、装置、存储介质和电子设备 |
-
2021
- 2021-03-04 CN CN202110242081.6A patent/CN112891952A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108744504A (zh) * | 2018-05-17 | 2018-11-06 | 网易(杭州)网络有限公司 | 游戏数据的处理方法及装置、游戏服务器、游戏*** |
CN110278283A (zh) * | 2019-07-10 | 2019-09-24 | 广州虎牙科技有限公司 | 排行榜处理方法、装置、计算机可读存储介质及电子设备 |
CN110639207A (zh) * | 2019-09-20 | 2020-01-03 | 北京代码乾坤科技有限公司 | 游戏数据同步方法、装置、存储介质及处理器 |
CN112044079A (zh) * | 2020-10-14 | 2020-12-08 | 腾讯科技(深圳)有限公司 | 一种游戏运行方法、装置、存储介质和电子设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116832439A (zh) * | 2023-05-17 | 2023-10-03 | 广州三七极梦网络技术有限公司 | 一种游戏数据刷新***的处理方法、装置、设备及介质 |
CN116832439B (zh) * | 2023-05-17 | 2024-06-07 | 广州三七极梦网络技术有限公司 | 一种游戏数据刷新***的处理方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230211235A1 (en) | Device control method and apparatus, computer device, and storage medium | |
CN112653670B (zh) | 业务逻辑漏洞检测方法、装置、存储介质以及终端 | |
CN112260853B (zh) | 容灾切换方法、装置、存储介质及电子设备 | |
US20140074909A1 (en) | Managing conversations in single view pane environment | |
CN111124412A (zh) | 一种游戏页面绘制方法、装置、设备及存储介质 | |
CN111124668A (zh) | 内存释放方法、装置、存储介质及终端 | |
CN113260434B (zh) | 统一数据平台的数据模型 | |
CN113230660A (zh) | 应用程序更新方法、装置及设备 | |
CN112891952A (zh) | 数据处理方法、装置、电子设备和计算机可读存储介质 | |
CN112131240B (zh) | 脏数据的处理方法和装置、存储介质及电子设备 | |
CN112044061B (zh) | 游戏画面处理方法、装置、电子设备以及存储介质 | |
CN112084044A (zh) | ***中事件处理方法及相关装置 | |
EP3788587A1 (en) | Server-side ui task control for onboarding users to a messaging platform | |
CN112585985A (zh) | 提供有关数字内容的活动通知 | |
CN107301089B (zh) | 一种app部署及调用方法和终端 | |
CN113144606B (zh) | 虚拟对象的技能触发方法及相关设备 | |
CN112367535B (zh) | 活动的用户界面的生成方法及装置 | |
CN115905742A (zh) | 一种数据展示方法、装置、设备及存储介质 | |
CN108881344B (zh) | 业务处理方法、装置、存储设备及处理服务器 | |
CN117591488B (zh) | 一种文件检测方法、装置、存储介质及电子设备 | |
CN112055057B (zh) | 一种Web***动态扩展的方法及***和设备 | |
CN112817764A (zh) | 虚拟资源处理的方法、装置、设备及存储介质 | |
CN118069355A (zh) | 一种资源调度方法、装置、存储介质及电子设备 | |
CN117235349A (zh) | 一种任务处理方法、装置、电子设备及存储介质 | |
CN116931914A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210604 |