数据处理方法及装置与流程

文档序号:33379559发布日期:2023-03-08 05:13阅读:32来源:国知局
数据处理方法及装置与流程

1.本技术涉及计算机技术领域,特别涉及数据处理方法。本技术同时涉及数据处理装置,一种计算设备,以及一种计算机可读存储介质。


背景技术:

2.现有的网络游戏中,客户端在登陆服务器之后,就会与服务器保持连接状态,并不断的与服务器进行数据上的交互,以获取服务器的最新数据。一旦服务器出现硬件故障或者服务器本身的宕机,就会造成客户端中玩家数据的丢失。
3.目前,为了避免玩家数据的丢失,可以增加服务器备份节点,定时将玩家数据备份至服务器备份节点中;这种方式的弊端在于,在玩家数据恢复的时候,只能恢复到上一个定时备份的数据,同时,维护服务器备份节点,还会为服务器带来较大的计算压力,提升了服务器运营成本。


技术实现要素:

4.有鉴于此,本技术实施例提供了数据处理方法。本技术同时涉及数据处理装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的上述问题。
5.根据本技术实施例的第一方面,提供了一种数据处理方法,包括:
6.接收目标用户的待处理业务数据,获取所述目标用户的本地业务数据;
7.在确定所述待处理业务数据与所述本地业务数据不一致的情况下,确定与所述目标用户关联的至少一个目标关联用户;
8.获取每个目标关联用户对应的参考业务数据,其中,所述参考业务数据为与所述待处理业务数据对应的业务数据;
9.基于所述待处理业务数据与所述每个目标关联用户对应的参考业务数据,确定所述目标用户的目标业务数据;
10.基于所述目标业务数据,更新所述本地业务数据。
11.根据本技术实施例的第二方面,提供了一种数据处理装置,包括:
12.数据接收模块,被配置为接收目标用户的待处理业务数据,获取所述目标用户的本地业务数据;
13.关联用户确定模块,被配置为在确定所述待处理业务数据与所述本地业务数据不一致的情况下,确定与所述目标用户关联的至少一个目标关联用户;
14.数据获取模块,被配置为获取每个目标关联用户对应的参考业务数据,其中,所述参考业务数据为与所述待处理业务数据对应的业务数据;
15.数据确定模块,被配置为基于所述待处理业务数据与所述每个目标关联用户对应的参考业务数据,确定所述目标用户的目标业务数据;
16.数据更新模块,被配置为基于所述目标业务数据,更新所述本地业务数据。
17.根据本技术实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储
在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述计算机指令时实现所述数据处理方法的步骤。
18.根据本技术实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现所述数据处理方法的步骤。
19.本技术提供的数据处理方法,接收目标用户的待处理业务数据,获取所述目标用户的本地业务数据;在确定所述待处理业务数据与所述本地业务数据不一致的情况下,确定与所述目标用户关联的至少一个目标关联用户;获取每个目标关联用户对应的参考业务数据,其中,所述参考业务数据为与所述待处理业务数据对应的业务数据;基于所述待处理业务数据与所述每个目标关联用户对应的参考业务数据,确定所述目标用户的目标业务数据;基于所述目标业务数据,更新所述本地业务数据。
20.本技术一实施例中,服务器在确定目标用户的待处理业务数据与本地业务数据不一致的情况下,通过获取各个目标关联用户对应的参考业务数据,以确定目标用户的目标业务数据,并对本次业务数据进行更新处理,进而恢复目标用户对应的业务数据;该种方式,服务器在出现故障,且确定目标玩家的玩家数据与本地存储的玩家数据不一致的情况下,可以通过其他玩家中暂存的目标玩家的玩家数据,来验证是否承认目标玩家上传的玩家数据的真实性,进而在服务器中恢复目标玩家的玩家数据,以解决服务器故障而出现的数据丢失的问题;因此,不采用增加服务备份节点进行数据备份的方式,不仅降低了服务器的计算压力,节省了服务器运营成本,还可以避免因服务器故障,导致服务器数据丢失无法恢复的情况发生。
附图说明
21.图1是本技术一实施例提供的一种数据处理方法应用于游戏服务器的场景示意图;
22.图2是本技术一实施例提供的一种数据处理方法的流程图;
23.图3是本技术一实施例提供的一种应用于游戏场景的数据处理方法的处理流程图;
24.图4是本技术一实施例提供的一种数据处理装置的结构示意图;
25.图5是本技术一实施例提供的一种计算设备的结构框图。
具体实施方式
26.在下面的描述中阐述了很多具体细节以便于充分理解本技术。但是本技术能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本技术内涵的情况下做类似推广,因此本技术不受下面公开的具体实施的限制。
27.在本技术一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术一个或多个实施例。在本技术一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本技术一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
28.应当理解,尽管在本技术一个或多个实施例中可能采用术语第一、第二等来描述
各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
29.首先,对本技术一个或多个实施例涉及的名词术语进行解释。
30.置信度:也称为可靠度,或置信水平、置信系数,即在抽样对总体参数作出估计时,由于样本的随机性,其结论总是不确定的。因此,采用一种概率的陈述方法,也就是数理统计中的区间估计法,即估计值与总体参数在一定允许的误差范围以内,其相应的概率有多大,这个相应的概率称作置信度。
31.一般游戏服务器出现故障包括硬件的故障和游戏服务器本身的宕机,这些故障都会造成玩家数据的丢失。传统做法一般是,增加服务器的节点,定时备份玩家数据到服务器的备用节点的方式,但是其弊端在于,出现故障时只能恢复玩家数据到上一个定时备份点。基于此,本技术实施例在不采取增加服务器的备用节点的前提下,玩家数据以分布式的形式备份在其他玩家中,以便于在服务器发生故障后,服务器可以根据置信度从其他玩家中恢复该玩家的数据,解决服务器发生故障导致的玩家数据丢失的问题。
32.在本技术中,提供了数据处理方法,本技术同时涉及数据处理装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
33.图1是本技术一实施例提供的一种数据处理方法应用于游戏服务器的场景示意图。
34.图1中包括游戏服务器s、玩家x、其他玩家1、其他玩家2以及其他玩家3;需要说明的是,玩家x、其他玩家1、其他玩家2以及其他玩家3是在同一个游戏场景下,比如在同一个副本、同一个地图中,且玩家x、其他玩家1、其他玩家2以及其他玩家3之间可以通过建立通信连接关系,实现数据的交互与同步。
35.实际应用中,玩家x将待处理业务数据发送至游戏服务器s,在游戏服务器s出现硬件故障或软件故障时,就会导致游戏服务器s本地存储的玩家x的数据与待处理业务数据不一致,那么为了保证玩家数据不丢失,游戏服务器s需要在重启后,确定玩家x的待处理业务数据是否为真实的,以恢复该待处理业务数据,保证游戏内容的正常运行。具体的,游戏服务器s可以从其他玩家1、其他玩家2以及其他玩家3中获取参考业务数据,需要说明的是,各个其他玩家中存储的参考业务数据,是玩家x发送至各个其他玩家的待处理业务数据对应的业务数据;进一步地,游戏服务器s判断玩家x的待处理业务数据与其他玩家的参考业务数据是否一致,若一致,则游戏服务器s承认玩家x的待处理业务数据,并更新本地业务数据,若不一致,则游戏服务器s需要根据参考业务数据的置信度,来确定真实目标业务数据,再更新本地业务数据,完成对玩家x对应的业务数据的恢复过程。
36.本技术实施例提供的数据处理方法,将玩家x的数据以分布式的形式备份至其他玩家中,并在服务器发生故障恢复数据的过程中,根据备份至其他玩家中的玩家x数据的置信度,来判定所恢复的数据内容,避免了因服务器故障导致数据丢失,无法恢复。
37.图2示出了根据本技术一实施例提供的一种数据处理方法的流程图,具体包括以下步骤:
38.需要说明的是,本技术实施例提供的数据处理方法,可应用于游戏服务器,或其他
业务服务器,本实施例对此不作限定,为了便于理解,下述以应用于游戏服务器为例,对数据处理方法进行详细介绍。
39.步骤202:接收目标用户的待处理业务数据,获取所述目标用户的本地业务数据。
40.其中,目标用户可以理解为游戏服务器在出现故障后,需要进行数据恢复的用户,比如某游戏中的目标玩家。
41.待处理业务数据可以理解为目标用户在游戏场景下,需要游戏服务器进一步处理的业务数据,比如目标玩家购买金币的数据。
42.本地业务数据可以理解为游戏服务器中存储的目标用户上传的业务数据,比如目标玩家已购买金币的数据,需要说明的是,本地业务数据与待处理业务数据在游戏服务器正常运行的情况下,两个业务数据是保持一致的。
43.实际应用中,游戏服务器在接收到目标玩家上传的待处理业务数据之后,还可获取本地存储的该目标玩家的业务数据,以判断目标玩家的客户端中的玩家数据与游戏服务器中存储的玩家数据是否保持一致。
44.步骤204:在确定所述待处理业务数据与所述本地业务数据不一致的情况下,确定与所述目标用户关联的至少一个目标关联用户。
45.需要说明的是,游戏服务器在处理目标用户的待处理业务数据时,可能会发生服务器故障的情况,比如服务器硬件故障、服务器本身的宕机等。
46.实际应用中,在游戏服务器出现故障的情况下,就会导致接收到的目标用户的待处理业务数据无法及时在本地存储空间中同步更新并存储,这样就会导致待处理业务数据与本地业务数据出现了数据不一致;进一步地,为了保证目标用户在客户端中的待处理业务数据,能在游戏服务器中及时更新,游戏服务器可利用与目标用户相关联的至少一个其他用户中的数据,来恢复目标用户在游戏服务器中本应存储并更新的业务数据。
47.更进一步地,所述确定与所述目标用户关联的至少一个目标关联用户,包括:
48.确定与所述目标用户对应的业务场景相关联的关联用户集群;
49.基于预设用户抽取策略,在所述关联用户集群中确定至少一个目标关联用户。
50.其中,关联用户集群可以理解为与目标用户有业务关联关系的至少一个其他用户,所组成的关联用户集群,比如与目标玩家一起组队,在同一游戏副本或同一游戏地图的其他玩家组成的玩家集群。
51.实际应用中,游戏服务器还可确定与目标用户所在的业务场景相关联的关联用户集群,其中,该关联用户集群中包括与目标用户相关联的至少一个其他关联用户;进一步地,游戏服务器可从关联用户集群中抽取至少一个目标关联用户,其中,目标关联用户是从关联用户集群的多个其他关联用户的全部或一部分;具体实施时,游戏服务器可先确定预设用户抽取策略,并根据预设用户抽取策略,在关联用户集群中确定至少一个目标关联用户,其中,预设用户抽取策略可以理解为从关联用户集群中抽取目标关联用户的策略,包括但不限制于抽取目标关联用户的数量、抽取目标关联用户的方式,可以为随机抽取,或者目标用户与关联用户满足某种交互条件的抽取方式,本实施例对此不作任何限定。
52.例如,游戏服务器可在目标玩家所在的同一游戏地图中确定至少一个其他玩家,则至少一个其他玩家可确定为关联玩家集群,并根据该游戏场景所涉及的玩家数量确定选取目标关联用户的数量为5位,那么,游戏服务器可在关联玩家集群中,随机抽取5位其他玩
家,确定为目标关联用户。
53.进一步地,预设用户抽取策略可以设置为在关联用户集群中抽取置信度较高的关联用户的策略,比如,通过获取关联用户集群中其他关联用户的置信度,确定每个其他关联用户置信度的优先级,选择优先级较高的其他关联用户,作为目标关联用户。
54.需要说明的是,实际应用中,服务器无需提取关联用户集群中所有的其他关联用户的参考业务数据,不仅会消耗大量的计算资源,还会占据较大的内存;因此,选择置信度较高的关联用户作为目标关联用户,不仅能够提高获取到的参考业务数据的准确度,还能够提高后续确定目标用户的目标业务数据的处理效率。例如,关联用户集群有20位玩家,游戏服务器从这20位玩家中筛选出置信度高较高的玩家,作为目标关联玩家,其中,筛选方式包括但不限定于利用每位玩家的历史置信度,或者是参考其他历史业务数据处理参数等,本实施例对此不作具体限定。
55.通过确定与目标用户关联的目标关联用户,即可利用该目标关联用户抽取目标用户同步给目标关联用户的数据内容,以便于对目标用户的数据内容进行恢复。
56.步骤206:获取每个目标关联用户对应的参考业务数据,其中,所述参考业务数据为与所述待处理业务数据对应的业务数据。
57.其中,参考业务数据可以理解为目标关联用户所在的客户端中存储的业务数据,且该业务数据为目标用户的待处理业务数据对应的业务数据,也即是说,待处理业务数据和参考业务数据是指代同一数据类型的数据,比如待处理业务数据是指目标玩家的金币数值,参考业务数据同样也是指目标玩家的金币数值。
58.需要说明的是,为了防止各个目标玩家的业务数据丢失,可采用分布式的形式,将目标玩家的业务数据备份在其他玩家的客户端中。
59.基于此,游戏服务器在出现故障后,可利用分布式的特性,从目标关联用户的客户端中抽取目标用户的备份业务数据(参考业务数据),便于后续根据参考业务数据,判定为目标玩家恢复对应的业务数据。
60.实际应用中,游戏服务器出现故障的时机不同,其对应的参考业务数据对应的业务数据也并不相同,具体的,所述参考业务数据为所述目标用户通过连接通道发送至每个目标关联用户的业务数据;或者所述参考业务数据为从所述本地业务数据下发至每个目标关联用户的业务数据。
61.作为示例,目标玩家在将待处理业务数据上传至游戏服务器时,还可将该待处理业务数据通过预先建立的连接通道,比如p2p连接通道,同步给各个目标关联玩家,那么,在游戏服务器出现故障,未接收到目标玩家发送的业务数据时,就可从各个目标关联玩家的客户端中获取目标玩家在目标关联玩家中备份的业务数据,即参考业务数据。另外,目标玩家将待处理业务数据上传至游戏服务器之后,游戏服务器已经接收到,并且对该业务数据进行处理,同步下发至各个目标关联玩家之后,游戏服务器才出现了故障,导致已经处理的业务数据还未存盘或者刚存储内容丢失,那么,游戏服务器可以通过获取刚刚下发至目标关联用户的业务数据,即参考业务数据。
62.基于此,本技术实施例中提供的参考业务数据可以指代两种情况下的业务数据,一个是由目标用户同步给其他用户的目标用户对应的业务数据,另一个是服务器下发至其他用户的目标用户对应的业务数据;对此,本实施例中不作任何限定,只要从其他用户中获
取到的目标用户对应的业务数据,便于后续对待处理业务数据进行恢复即可;需要说明的是,其他用户中存储目标用户的业务数据,可能是还未更新的旧数据,或者是已经更新的最新版本的新数据,并且更新日期距离当前时间越近,数据的置信度越高。
63.步骤208:基于所述待处理业务数据与所述每个目标关联用户对应的参考业务数据,确定所述目标用户的目标业务数据。
64.实际应用中,游戏服务器通过目标用户的待处理业务数据,和各个目标关联用户对应的参考业务数据,确定游戏服务器在数据恢复时,对目标用户对应的业务数据在本地所更新的具体业务数据。
65.进一步地,目标用户上传至游戏服务器的业务数据与同步给其他用户的业务数据可能是相同的,也可能是不同,不同的原因在于目标用户可能会对上传至游戏服务器的数据进行篡改,那么,为了防止业务数据更新有偏差,那么游戏服务在故障恢复的时候,就需要判定所恢复的业务数据是否真实,只有在确定了业务数据未被篡改的情况下,才会对业务数据在本地进行更新,并下发给各个与该目标用户关联的其他用户。
66.具体的,所述基于所述待处理业务数据与所述每个目标关联用户对应的参考业务数据,确定所述目标用户的目标业务数据,包括:
67.比对所述待处理业务数据与所述每个目标关联用户对应的参考业务数据;
68.在确定所述待处理业务数据与所有的参考业务数据一致的情况下,将所述待处理业务数据确定为所述目标用户的目标业务数据。
69.实际应用中,游戏服务器通过比对待处理业务数据和各个目标关联用户对应的参考业务数据,确定目标用户上传的待处理业务数据与同步给其他目标关联用户的业务数据是否一致,在确定一致的情况下,游戏服务器将承认目标用户上传的待处理业务数据,确定待处理业务数据是真实的,未被篡改的,即可将待处理业务数据确定为目标用户的目标业务数据,便于后续对本地目标用户的业务数据进行更新。
70.进一步地,游戏服务器在进行数据恢复的过程中,还可能会出现目标用户上传的待处理业务数据与本地存储的业务数据不同,这时,游戏服务器就需要判定目标用户上传的待处理业务数据是否为伪造数据,进而,准确地确定所需要恢复的业务数据;具体的,所述基于所述待处理业务数据与所述每个目标关联用户对应的参考业务数据,确定所述目标用户的目标业务数据,包括:
71.比对所述待处理业务数据与所述每个目标关联用户对应的参考业务数据;
72.基于比对结果在所述每个目标关联用户对应的参考业务数据中,确定至少一个目标参考业务数据,其中,所述目标参考业务数据为与所述待处理业务数据不一致的业务数据;
73.基于所述至少一个目标参考业务数据,确定所述目标用户的目标业务数据。
74.实际应用中,游戏服务器通过比对待处理业务数据和各个目标关联用户对应的参考业务数据,根据比对结果,确定至少一个目标参考数据,需要说明的是,目标参考数据可以理解为在各个参考业务数据中,与待处理业务数据不同的数据;该目标参考数据一般是经过证书签名认证过的,其他目标关联用户是不能轻易篡改的,所以游戏服务器通过在多个目标参考业务数据中,确定目标用户的目标业务数据,是具有可信度的。
75.基于此,本技术实施例中,在游戏服务器确定了与待处理业务数据不同的至少一
个目标参考业务数据之后,还可通过获取每个目标参考业务数据对应的置信度,来辅助判定目标用户的目标业务数据的具体内容,便于后续可以准确地对本地存储的业务数据进行更新,避免目标用户篡改数据成功;具体的,所述基于所述至少一个目标参考业务数据,确定所述目标用户的目标业务数据,包括:
76.确定每个目标参考业务数据对应的参考置信度;
77.基于所述参考置信度,确定所述目标用户的目标业务数据。
78.其中,参考置信度可以理解为服务器对某一客户端中的存储的数据是否可信的程度,是对数据可信度的概率性表达;在本实施例中,参考置信度表明游戏服务器对各个客户端中暂存的目标参考业务数据的可信度,比如60%、70%等。
79.实际应用中,游戏服务器在确定了与目标用户的待处理业务数据不一致的目标关联用户的目标参考业务数据之后,还可确定目标参考业务数据的参考置信度,通过对各个参考置信度的判断,以确定目标用户的待处理业务数据是否是真实的;需要说明的是,各个目标关联用户的客户端中,无需保存各个目标用户的业务数据,仅保存置信度较高的那部分数据即可,这样可以减少目标关联用户的存储压力。
80.需要说明的是,目标用户和其他关联用户中所存储的业务数据,在本实施例中均可配置相应的置信度,置信度可以表示服务器对该业务数据的可信程度。
81.进一步地,游戏服务器可通过各个参考业务数据对应的参考置信度,确定目标用户的真实业务数据作为目标业务数据。
82.具体实施时,所述基于所述参考置信度,确定所述目标用户的目标业务数据,包括:
83.在所述每个目标参考业务数据对应的参考置信度中,将大于预设置信度阈值的参考置信度,确定为目标置信度;
84.基于所述目标置信度,确定所述目标用户的目标业务数据。
85.实际应用中,游戏服务器可在每个目标参考业务数据对应的参考置信度中,选择大于预设置信度阈值的参考置信度,作为目标置信度,并将目标置信度对应的目标参考业务数据,确定为目标用户的目标业务数据;需要说明的是,对于游戏服务器来说,置信度较高的业务数据是可信的,所以,游戏服务器在多个参考置信度中,可筛选出大于预设置信度阈值的参考置信度对应的业务数据,以便于后续准确地判定目标用户对应的目标业务数据;其中,预设置信度阈值是根据不同的业务场景预先设置的,本实施例对此不作具体限定。
86.本技术实施例提供的数据处理方法,通过选择置信度较高的业务数据,来判定目标用户的真实目标业务数据,能够准确地对业务数据进行恢复。
87.另外,在游戏服务器获得了多个目标置信度时,还可通过统计多个目标置信度的数量,选择满足数量条件对应的目标参考业务数据,作为目标用户的目标业务数据;具体的,所述基于所述目标置信度,确定所述目标用户的目标业务数据,包括:
88.确定所述目标置信度的置信度数量;
89.在确定所述置信度数量满足预设置信度数量条件的情况下,根据每个置信度数量对应的目标参考业务数据,确定所述目标用户的目标业务数据。
90.实际应用中,游戏服务器在筛选出了多个目标置信度之后,还可判断目标置信度
的置信度数量,在确定了置信度数量满足预设置信度数量条件的情况下,可根据每个置信度数量对应的目标参考业务数据,以确定目标用户的目标业务数据;需要说明的是,预设置信度数量条件可以理解为置信度数量满足所有目标关联用户数量的半数、或者大于四分之三数量的条件;既可以理解为,游戏服务器不仅筛选较高的置信度作为目标置信度,还可根据目标置信度的数量来判定是否满足数量条件,以将大多数反馈的目标参考业务数据作为目标用户的目标业务数据。
91.本技术实施例提供的数据处理方法,在置信度较高的目标关联用户的客户端中,所存储的目标用户对应的业务数据均保持一致的情况下,可将该业务数据确定为目标用户对应的目标业务数据,说明了即使目标用户对上传的待处理业务数据进行了篡改,游戏服务器也可以明确得知,只有在置信度达到一定程度的所有目标关联用户同时帮助目标用户篡改了业务数据,才有可能使得游戏服务器相信被篡改的业务数据的真实性,以达到数业务数据篡改的目的;否则,即便是目标用户自己篡改了上传的待处理业务数据,或者是让一小部分的其他目标关联用户也帮助自己篡改了同步的业务数据,也不会影响游戏服务器最终所要更新目标用户的业务数据。
92.步骤210:基于所述目标业务数据,更新所述本地业务数据。
93.实际应用中,游戏服务器在确定了目标用户的目标业务数据之后,可及时地对本地业务数据进行更新,实现了游戏服务器出现故障后的数据恢复过程。
94.进一步地,所述基于所述目标业务数据,更新所述本地业务数据之后,还包括:
95.将所述目标业务数据,发送至所述每个目标关联用户;
96.确定所述目标用户的待处理业务数据对应的初始置信度,并基于所述初始置信度,确定所述目标业务数据对应的目标置信度;
97.基于所述目标置信度,更新所述待处理业务数据对应的初始置信度。
98.实际应用中,游戏服务器在确定了目标用户的目标业务数据之后,还可将目标业务数据下发至各个目标关联用户,或者是游戏服务器还可对目标业务数据进行处理,将处理结果反馈至目标用户以及各个目标关联用户,本实施例对此过程不做具体限定。进一步地,游戏服务器对目标用户的待处理业务数据进行处理后,可将待处理业务数据对应的初始置信度进行调整,可根据预设调整规则,对初始置信度进行计算,获得目标业务数据对应的目标置信度,比如待处理业务数据的初始置信度为60%,在对待处理业务数据进行处理了之后,其相应的目标置信度也会按比例提升为65%,然后,在游戏服务器本地对初始置信度进行更新,更新至目标置信度,便于下一次对业务数据的分析和处理,对此,本实施例中不作具体限定。
99.综上,本技术实施例提供的数据处理方法,通过将目标用户的待处理业务数据在其他关联用户的客户端中存储,以应对在服务器出现故障异常的情况下,利用存储在其他关联用户的客户端中的目标用户的待处理业务数据,恢复因服务器异常而丢失的数据,或者是还未完成更新存盘的业务数据;该种方式,不仅能够避免服务器维护备份节点以实时备份可能会丢失的数据,所带来的运营成本问题,还可以准确地判定目标用户是否篡改了业务数据。
100.下述结合附图3,以本技术提供的数据处理方法在游戏服务器的应用为例,对所述数据处理方法进行进一步说明。其中,图3示出了本技术一实施例提供的一种应用于游戏场
景的数据处理方法的处理流程图,具体包括以下步骤:
101.步骤302:玩家x客户端进行业务行为操作时,会发送待处理业务数据给服务器,并同步给关联的其他玩家,此待处理业务数据的数据置信度为a。
102.步骤304:服务器接收到玩家x业务行为操作后,确定了玩家x的操作,会返回结果给玩家x,并同步在玩家x关联的其他玩家,此时玩家的数据置信度更新为f(a)。
103.步骤306:当服务器出现故障恢复后,会出现服务器业务数据和玩家x业务数据不一致的情况,出现不一致数据的玩家x会把自己的业务数据发送给服务端。
104.需要说明的是,当服务器出现故障时,可替代上述步骤304,在执行步骤302之后,直接可执行步骤306。
105.步骤308:服务端接收到玩家x的业务数据后,会以一定策略抽取与玩家x有交集的其他关联玩家中存储的玩家x的业务数据,其他玩家的数据置信度为ai。
106.步骤310:判断玩家x的业务数据和其他玩家存储的玩家x的业务数据是否一致,若是,执行步骤312,若否,则执行步骤314。
107.步骤312:服务端承认玩家x的业务数据。
108.步骤314:服务端根据其他玩家中ai大于指定阈值的数据进行比较合并,从而恢复真实的玩家x的业务数据给服务器。
109.步骤316:通过步骤314的方式更新了业务数据后,服务器需要重新执行步骤304。
110.本技术实施例提供的数据处理方法,玩家x的数据以分布式的形式备份在其他玩家中,服务器会从根据置信度从其他玩家中恢复玩家x的数据;实现了在服务器故障的情况下,可以通过其他玩家恢复指定玩家的数据,同时,即便某个数据被篡改后,也不会影响最终的数据。需要置信度到达一定程度的所有玩家同时都篡改了数据,才有可能实现篡改数据,保障了数据恢复的真实性。
111.与上述方法实施例相对应,本技术还提供了数据处理装置实施例,图4示出了本技术一实施例提供的一种数据处理装置的结构示意图。如图4所示,该装置包括:
112.数据接收模块402,被配置为接收目标用户的待处理业务数据,获取所述目标用户的本地业务数据;
113.关联用户确定模块404,被配置为在确定所述待处理业务数据与所述本地业务数据不一致的情况下,确定与所述目标用户关联的至少一个目标关联用户;
114.数据获取模块406,被配置为获取每个目标关联用户对应的参考业务数据,其中,所述参考业务数据为与所述待处理业务数据对应的业务数据;
115.数据确定模块408,被配置为基于所述待处理业务数据与所述每个目标关联用户对应的参考业务数据,确定所述目标用户的目标业务数据;
116.数据更新模块410,被配置为基于所述目标业务数据,更新所述本地业务数据。
117.可选地,所述数据确定模块408,进一步被配置为:
118.比对所述待处理业务数据与所述每个目标关联用户对应的参考业务数据;
119.基于比对结果在所述每个目标关联用户对应的参考业务数据中,确定至少一个目标参考业务数据,其中,所述目标参考业务数据为与所述待处理业务数据不一致的业务数据;
120.基于所述至少一个目标参考业务数据,确定所述目标用户的目标业务数据。
121.可选地,所述数据确定模块408,进一步被配置为:
122.确定每个目标参考业务数据对应的参考置信度;
123.基于所述参考置信度,确定所述目标用户的目标业务数据。
124.可选地,所述数据确定模块408,进一步被配置为:
125.在所述每个目标参考业务数据对应的参考置信度中,将大于预设置信度阈值的参考置信度,确定为目标置信度;
126.基于所述目标置信度,确定所述目标用户的目标业务数据。
127.可选地,所述数据确定模块408,进一步被配置为:
128.确定所述目标置信度的置信度数量;
129.在确定所述置信度数量满足预设置信度数量条件的情况下,根据每个置信度数量对应的目标参考业务数据,确定所述目标用户的目标业务数据。
130.可选地,所述数据确定模块408,进一步被配置为:
131.比对所述待处理业务数据与所述每个目标关联用户对应的参考业务数据;
132.在确定所述待处理业务数据与所有的参考业务数据一致的情况下,将所述待处理业务数据确定为所述目标用户的目标业务数据。
133.可选地,所述关联用户确定模块404,进一步被配置为:
134.确定与所述目标用户对应的业务场景相关联的关联用户集群;
135.基于预设用户抽取策略,在所述关联用户集群中确定至少一个目标关联用户。
136.可选地,所述参考业务数据为所述目标用户通过连接通道发送至每个目标关联用户的业务数据;或者
137.所述参考业务数据为从所述本地业务数据下发至每个目标关联用户的业务数据。
138.可选地,所述装置,还包括:
139.置信度更新模块,被配置为将所述目标业务数据,发送至所述每个目标关联用户;
140.确定所述目标用户的待处理业务数据对应的初始置信度,并基于所述初始置信度,确定所述目标业务数据对应的目标置信度;
141.基于所述目标置信度,更新所述待处理业务数据对应的初始置信度。
142.本技术实施例提供的数据处理装置,服务器在确定目标用户的待处理业务数据与本地业务数据不一致的情况下,通过获取各个目标关联用户对应的参考业务数据,以确定目标用户的目标业务数据,并对本次业务数据进行更新处理,进而恢复目标用户对应的业务数据;该种方式,服务器在出现故障,且确定目标玩家的玩家数据与本地存储的玩家数据不一致的情况下,可以通过其他玩家中暂存的目标玩家的玩家数据,来验证是否承认目标玩家上传的玩家数据的真实性,进而在服务器中恢复目标玩家的玩家数据,以解决服务器故障而出现的数据丢失的问题;因此,不采用增加服务备份节点进行数据备份的方式,不仅降低了服务器的计算压力,节省了服务器运营成本,还可以避免因服务器故障,导致服务器数据丢失无法恢复的情况发生。
143.上述为本实施例的一种数据处理装置的示意性方案。需要说明的是,该数据处理装置的技术方案与上述的数据处理方法的技术方案属于同一构思,数据处理装置的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
144.图5示出了根据本技术一实施例提供的一种计算设备500的结构框图。该计算设备
500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。
145.计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(pstn,public switched telephone network)、局域网(lan,local area network)、广域网(wan,widearea network)、个域网(pan,personal area network)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic,network interface controller))中的一个或多个,诸如ieee802.11无线局域网(wlan,wireless local area network)无线接口、全球微波互联接入(wi-max,worldwide interoperability for microwave access)接口、以太网接口、通用串行总线(usb,universal serial bus)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc,near field communication)接口,等等。
146.在本技术的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本技术范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
147.计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或个人计算机(pc,personal computer)的静止计算设备。计算设备500还可以是移动式或静止式的服务器。
148.其中,处理器520执行所述计算机指令时实现所述的数据处理方法的步骤。
149.上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的数据处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
150.本技术一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现如前所述数据处理方法的步骤。
151.上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
152.上述对本技术特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
153.所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、
电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
154.需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本技术所必须的。
155.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
156.以上公开的本技术优选实施例只是用于帮助阐述本技术。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本技术的内容,可作很多的修改和变化。本技术选取并具体描述这些实施例,是为了更好地解释本技术的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本技术。本技术仅受权利要求书及其全部范围和等效物的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1