数据处理方法、装置、设备及存储介质与流程

文档序号:34629951发布日期:2023-06-29 14:35阅读:20来源:国知局
数据处理方法、装置、设备及存储介质与流程

本公开涉及互联网,尤其涉及一种数据处理方法、装置、设备及存储介质。


背景技术:

1、随着网络技术的发展,各类基于人机交互的虚拟娱乐活动或者游戏活动不再局限于游戏应用,而是常见于各类应用中,如购物、社交、短视频等应用。在这些虚拟娱乐活动或者游戏活动中,常见使用某种虚拟资源,兑换其他虚拟资源,或者触发某个环节。例如,使用一定数量的道具兑换积分、经验、其他道具及各类奖励等,或者触发下一环节。相关技术中,用于实现某个互动场景的完整操作链路中,当某个环节出现异常时,通过对完整操作链路进行回滚,以恢复到扣减虚拟资源前的状态。这在完整操作链路中涉及的数据表较多时,回滚耗时较大。


技术实现思路

1、本公开提供一种数据处理方法、装置、设备及存储介质,以至少解决相关技术中在完整操作链路中涉及的数据表较多时,回滚耗时较大的问题。本公开的技术方案如下:

2、根据本公开实施例的第一方面,提供一种数据处理方法,包括:接收数据处理请求,所述数据处理请求包括用户账户,所述用户账户对应于所述数据处理请求所针对的用户账户数据,所述用户账户数据至少包括虚拟资源数;响应于所述数据处理请求,执行扣减操作,并在所述扣减操作执行成功后执行预定操作,所述扣减操作用于根据预设扣减量对所述用户账户对应的虚拟资源数进行扣减,所述预定操作是指通过扣减所述虚拟资源数所触发的操作;当执行所述预定操作失败时,异步执行撤销操作,所述撤销操作用于根据所述预设扣减量对所述用户账户对应的虚拟资源数进行补偿,以将所述用户账户对应的虚拟资源数恢复到扣减之前的数量。

3、结合第一方面,在第一方面可能的实现方式中,所述数据处理请求还包括场景标识,所述场景标识用于标识产生所述数据处理请求的场景;所述执行扣减操作,并在所述扣减操作执行成功后执行预定操作,包括:在第一数据中插入与所述场景标识对应的扣减记录,所述第一数据中,一个场景标识对应于一条扣减记录;在插入所述扣减记录成功的情况下,按照所述预设扣减量,对第二数据中与所述用户账户对应的虚拟资源数进行扣减,所述第二数据包括与每个用户账户对应的虚拟资源数;在扣减所述虚拟资源数成功的情况下,执行所述预定操作。

4、结合第一方面,在第一方面可能的实现方式中,所述在第一数据中插入与所述场景标识对应的扣减记录,包括:在所第一数据中不存在与所述场景标识对应的扣减记录的情况下,在所述第一数据中插入与所述场景标识对应的扣减记录;在所述第一数据中存在与所述场景标识对应的扣减记录的情况下,终止所述扣减操作。

5、结合第一方面,在第一方面可能的实现方式中,所述在第一数据中插入与所述场景标识对应的扣减记录,包括:在所述第一数据中不存在与所述场景标识对应的扣减记录的情况下,在所述第一数据中插入与所述场景标识对应的扣减记录;在所述第一数据中存在与所述场景标识对应的扣减记录,且所述扣减记录被标记为删除状态的情况下,将所述扣减记录标记为正常状态,并根据当前时间更新所述扣减记录的创建时间;在所述扣减记录未被标记为删除状态的情况下,终止所述扣减操作。

6、结合第一方面,在第一方面可能的实现方式中,所述当执行所述预定操作失败时,异步执行撤销操作,包括:将所述第一数据中与所述场景标识对应的扣减记录删除;在删除所述扣减记录成功的情况下,根据所述预设扣减量对所述第二数据中与所述用户账户对应的虚拟资源数进行补偿。

7、结合第一方面,在第一方面可能的实现方式中,所述将所述第一数据中与所述场景标识对应的扣减记录删除,包括:在所述第一数据中存在与所述场景标识对应的扣减记录的情况下,将所述第一数据中与所述场景标识对应的扣减记录删除;在所述第一数据中不存在与所述场景标识对应的扣减记录的情况下,终止所述撤销操作。

8、结合第一方面,在第一方面可能的实现方式中,所述将所述第一数据中与所述场景标识对应的扣减记录删除,包括:在所述第一数据中存在与所述场景标识对应的扣减记录,且与所述场景标识对应的扣减记录未被标记为删除状态的情况下,将所述扣减记录标记为删除状态;在所述第一数据中不存在与所述场景标识对应的扣减记录,或者,与所述场景标识对应的扣减记录被标记为删除状态的情况下,终止所述撤销操作。

9、结合第一方面,在第一方面可能的实现方式中,所述方法还包括:在对所述第二数据中与所述用户账户对应的虚拟资源数补偿失败的情况下,重新异步执行所述撤销操作。

10、根据本公开实施例的第二方面,提供一种数据处理装置,包括:请求接收模块,用于接收数据处理请求,所述数据处理请求包括用户账户,所述用户账户对应于所述数据处理请求所针对的用户账户数据,所述用户账户数据至少包括虚拟资源数;请求响应模块,用于响应于所述数据处理请求,执行扣减操作,并在所述扣减操作执行成功后执行预定操作,所述扣减操作用于根据预设扣减量对所述用户账户对应的虚拟资源数进行扣减,所述预定操作是指通过扣减所述虚拟资源数所触发的操作;异步撤销模块,用于当执行所述预定操作失败时,异步执行撤销操作,所述撤销操作用于根据所述预设扣减量对所述用户账户对应的虚拟资源数进行补偿,以将所述用户账户对应的虚拟资源数恢复到扣减之前的数量。

11、结合第二方面,在第二方面可能的实现方式中,所述数据处理请求还包括场景标识,所述场景标识用于标识产生所述数据处理请求的场景;所述请求响应模块,具体用于:在第一数据中插入与所述场景标识对应的扣减记录,所述第一数据中,一个场景标识对应于一条扣减记录;在插入所述扣减记录成功的情况下,按照所述预设扣减量,对第二数据中与所述用户账户对应的虚拟资源数进行扣减,所述第二数据包括与每个用户账户对应的虚拟资源数;在扣减所述虚拟资源数成功的情况下,执行所述预定操作。

12、结合第二方面,在第二方面可能的实现方式中,所述请求响应模块,具体用于:在所第一数据中不存在与所述场景标识对应的扣减记录的情况下,在所述第一数据中插入与所述场景标识对应的扣减记录;在所述第一数据中存在与所述场景标识对应的扣减记录的情况下,终止所述扣减操作。

13、结合第二方面,在第二方面可能的实现方式中,所述请求响应模块,具体用于:在所述第一数据中不存在与所述场景标识对应的扣减记录的情况下,在所述第一数据中插入与所述场景标识对应的扣减记录;在所述第一数据中存在与所述场景标识对应的扣减记录,,且所述扣减记录被标记为删除状态的情况下,将所述扣减记录标记为正常状态,并根据当前时间更新所述扣减记录的创建时间;在所述第一数据中存在与所述场景标识对应的扣减记录,且所述扣减记录未被标记为删除状态的情况下,终止所述扣减操作。

14、结合第二方面,在第二方面可能的实现方式中,所述异步撤销模块,具体用于:将所述第一数据中与所述场景标识对应的扣减记录删除;在删除所述扣减记录成功的情况下,根据所述预设扣减量对所述第二数据中与所述用户账户对应的虚拟资源数进行补偿。

15、结合第二方面,在第二方面可能的实现方式中,所述异步撤销模块,具体用于:在所述第一数据中存在与所述场景标识对应的扣减记录的情况下,将所述第一数据中与所述场景标识对应的扣减记录删除;在所述第一数据中不存在与所述场景标识对应的扣减记录的情况下,终止所述撤销操作。

16、结合第二方面,在第二方面可能的实现方式中,所述异步撤销模块,具体用于:在所述第一数据中存在与所述场景标识对应的扣减记录的情况下,判断与所述场景标识对应的扣减记录是否被标记为删除状态;在与所述场景标识对应的扣减记录未被标记为删除状态的情况下,将所述扣减记录标记为删除状态;在所述第一数据中不存在与所述场景标识对应的扣减记录,或者,与所述场景标识对应的扣减记录被标记为删除状态的情况下,终止所述撤销操作。

17、结合第二方面,在第二方面可能的实现方式中,所述异步撤销模块,还用于:在对所述第二数据中与所述用户账户对应的虚拟资源数补偿失败的情况下,重新异步执行所述撤销操作。

18、根据本公开实施例的第三方面,提供一种电子设备,包括:处理器和用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述可执行指令,以实现如第一方面任一设计所述的方法。

19、根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如第一方面任一设计所述的方法。

20、根据本公开实施例的第五方面,提供一种计算机程序产品,所述计算机程序产品包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行第一方面任一设计所述的方法。

21、本公开的实施例提供的技术方案至少带来以下有益效果:对于数据处理请求的响应操作包括扣减操作和预定操作,扣减操作用于对用户账户的虚拟资源数进行扣减以触发预定操作。如果资源扣减成功后,执行某个预定操作失败,通过异步执行撤销对用户的虚拟资源数进行补偿。相比于相关技术中通过回滚整个事务以最终补偿用户虚拟资源数而言,异步执行的撤销操作耗时很低,因此能够在用户账户无感知的情况下,快速完成对虚拟资源数的补偿,同时使用户账户快速感知到请求失败,方便用户账户及时地再次发起数据处理请求,提升互动体验。

22、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1