CN105491043B - 一种数据处理方法以及装置 - Google Patents
一种数据处理方法以及装置 Download PDFInfo
- Publication number
- CN105491043B CN105491043B CN201510901869.8A CN201510901869A CN105491043B CN 105491043 B CN105491043 B CN 105491043B CN 201510901869 A CN201510901869 A CN 201510901869A CN 105491043 B CN105491043 B CN 105491043B
- Authority
- CN
- China
- Prior art keywords
- score
- service
- client
- clients
- total
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 17
- 238000000034 method Methods 0.000 claims abstract description 25
- 238000005070 sampling Methods 0.000 claims description 105
- 238000004364 calculation method Methods 0.000 claims description 65
- 230000008030 elimination Effects 0.000 claims description 5
- 238000003379 elimination reaction Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 122
- 238000010586 diagram Methods 0.000 description 12
- 230000000737 periodic effect Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开了一种数据处理方法以及装置,其中方法包括:当接收到至少一个客户端发送的业务操作请求时,发送预设的采样概率到所述至少一个客户端,以使每个客户端根据所述采样概率判断是否需要开启分数定时上传功能;获取已开启所述分数定时上传功能的客户端定时上传的所述业务增长分数;当接收到业务分数平均值计算请求时,根据获取到的所述业务增长分数计算业务总分数,并根据所述业务总分数以及已上传所述业务增长分数的客户端的总数量计算所述业务分数平均值。采用本发明,可在计算游戏平均分数时节省服务器的计算资源和网络带宽,以降低游戏系统成本。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种数据处理方法以及装置。
背景技术
在目前的游戏系统中需要经常基于传统的计算方式计算游戏平均分数,用户既可以根据游戏平均分数大概了解自身的游戏能力,也可以让游戏运营通过游戏平均分数了解整个游戏系统的活跃程度。其中,传统的计算方式必须先计算全量用户数,并计算每个用户的分数,再根据所有用户的总分数以及全量用户数计算出游戏平均分数。由此可见,随着互联网的发展,游戏系统通常需要服务海量用户,此时,若依然使用传统的计算方式计算游戏平均分数,则将十分耗费服务器的计算资源和网络带宽,导致游戏系统成本增高。
发明内容
本发明实施例提供一种数据处理方法以及装置,可在计算游戏平均分数时节省服务器的计算资源和网络带宽,以降低游戏系统成本。
本发明实施例提供了一种数据处理方法,包括:
当接收到至少一个客户端发送的业务操作请求时,发送预设的采样概率到所述至少一个客户端,以使每个客户端根据所述采样概率判断是否需要开启分数定时上传功能;
获取已开启所述分数定时上传功能的客户端定时上传的所述业务增长分数;所述业务增长分数是指在一个采样周期的时长内客户端的业务分数的增长值;
当接收到业务分数平均值计算请求时,根据获取到的所述业务增长分数计算业务总分数,并根据所述业务总分数以及已上传所述业务增长分数的客户端的总数量计算所述业务分数平均值。
相应地,本发明实施例还提供了一种数据处理装置,包括:
发送模块,用于当接收到至少一个客户端发送的业务操作请求时,发送预设的采样概率到所述至少一个客户端,以使每个客户端根据所述采样概率判断是否需要开启分数定时上传功能;
第一获取模块,用于获取已开启所述分数定时上传功能的客户端定时上传的所述业务增长分数;所述业务增长分数是指在一个采样周期的时长内客户端的业务分数的增长值;
平均计算模块,用于当接收到业务分数平均值计算请求时,根据获取到的所述业务增长分数计算业务总分数,并根据所述业务总分数以及已上传所述业务增长分数的客户端的总数量计算所述业务分数平均值。
本发明实施例通过发送预设的采样概率到至少一个客户端,可以使每个客户端根据采样概率判断是否需要开启分数定时上传功能,此后,服务器可以不断获取具有分数定时上传功能的客户端定时上传的业务增长分数,其中,具有分数定时上传功能的客户端的数量与采样概率相关联,即采样概率越低,则具有分数定时上传功能的客户端的数量将越少,从而服务器获取到的数据量也将越少;因此,当接收到业务分数平均值计算请求时,只需根据具有分数定时上传功能的客户端上传的业务增长分数以及具有分数定时上传功能的客户端的数量计算业务分数平均值,即无需通过计算全量用户数和所有用户的总分数即可得到业务分数平均值,由于通过发送采样概率可以降低服务器需要计算的数据量,所以可以节省服务器的计算资源和网络带宽,从而可以降低业务系统(如游戏系统)成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种网络构架的示意图;
图2是本发明实施例提供的一种数据处理方法的流程示意图;
图3是本发明实施例提供的另一种数据处理方法的流程示意图;
图4是本发明实施例提供的又一种数据处理方法的流程示意图;
图5是本发明实施例提供的一种数据处理装置的结构示意图;
图6是本发明实施例提供的一种第一获取模块的结构示意图;
图7是本发明实施例提供的一种平均计算模块的结构示意图;
图8是本发明实施例提供的另一种数据处理装置的结构示意图;
图9是本发明实施例提供的又一种数据处理装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了更好理解本发明实施例公开的一种数据处理方法以及装置,下面先对本发明实施例适用的网络构架进行描述。请参阅图1,图1是本发明实施例公开的一种网络构架的示意图。如图1所示,该网络构架可以包括多个服务器,每个服务器均可以通过网络与多个客户端进行通信连接,同时,每个服务器还可以通过网络与数据库连接。其中,在所有执行业务的客户端中,将有部分客户端需要定时上传数据到服务器,服务器可以定时对获取到的数据进行统计,再将统计后的数据发送到数据库,当指定某个服务器计算业务分数平均值时,该服务器可以通过数据库中存储的所有数据计算出业务分数平均值,例如,当图1所示的网络架构为游戏系统中的网络架构时,服务器所计算出的业务分数平均值可以为所有玩家或部分玩家所玩的游戏得分的平均分。本发明实施例中,所有客户端均可以是包括集合群聊、视频直播、频道K歌、在线游戏、在线影视等功能为一体的富媒体客户端。在图1所示的网络构架中,所有客户端均可以运行在包括但不限于移动电话、移动电脑、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、媒体播放器、智能电视、智能手表、智能眼镜、智能手环等用户设备上。进一步的,本发明实施例中所涉及的多种分数至少可以包括业务增长分数、业务总分数、业务分数平均值;每一种分数都是与玩家在进行虚拟游戏时所获得的游戏分数相关联。例如,所述业务增长分数可以指在采样周期的时长内玩家所增加的游戏分数,所述业务总分数可以指各个服务器所获取到的玩家的游戏分数的总和,所述业务分数平均值可以指各个服务器所获取到的玩家的游戏分数的总和与各个服务器所统计到的玩家人数的比值。
基于图1所示的网络构架,本发明实施例公开了一种数据处理方法。请参见图2,是本发明实施例提供的一种数据处理方法的流程示意图,所述方法可以包括:
S201,当接收到至少一个客户端发送的业务操作请求时,发送预设的采样概率到所述至少一个客户端,以使每个客户端根据所述采样概率判断是否需要开启分数定时上传功能;
具体的,当上述图1的网络架构中的某个服务器接收到至少一个客户端发送的业务操作请求时,说明所述至少一个客户端需要开始执行业务,如需要开始玩游戏,此时,该服务器可以发送预设的采样概率到所述至少一个客户端,以使每个客户端根据所述采样概率判断是否需要开启分数定时上传功能;所述分数定时上传功能是指客户端需要在整个业务执行过程中定时上传数据的功能。在所有客户端都根据所述采样概率进行判断操作后,将会有一部分客户端开启所述分数定时上传功能,其中,开启所述分数定时上传功能的客户端的数量与所述采样概率相关联。例如,若采样概率为0.2,且参与业务的客户端有10万,则每个客户端都会根据为0.2的采样概率判断自己是否需要开启所述分数定时上传功能,即每个客户端都有0.2的概率开启所述分数定时上传功能,因此,在所有客户端都判断结束后,已开启所述分数定时上传功能的客户端的数量大概为10万*0.2=2万。所述采样概率可以为0到1之间的任意一个数值,所述采样概率的具体数值可以由运营商根据即将参与业务的用户量进行设定。
S202,获取已开启所述分数定时上传功能的客户端定时上传的所述业务增长分数;
具体的,所述服务器下发所述采样概率后,即可开始实时获取已开启所述分数定时上传功能的客户端定时上传的所述业务增长分数,所述已开启所述分数定时上传功能的客户端即是指已根据所述采样概率开启所述分数定时上传功能的客户端,所述业务增长分数是指在一个采样周期的时长内客户端的业务分数的增长值,即指在采样周期的时长内玩家所增加的游戏分数。例如,若客户端的采样周期为2秒,则客户端每隔2秒上传一次前2秒内的业务增长分数(如在2秒内所获得的游戏分数)。又例如,客户端的采样周期为2秒,若客户端在当前满足所述采样周期,且当前的分数为15分,2秒前的分数为10分,则当前需要上传的业务增长分数为:当前的分数(15分)-2秒前的分数(10分)=5分。所述服务器通过获取所述业务增长分数,可以在玩家玩游戏的过程中实时跟踪玩家的游戏得分情况,以避免玩家在游戏结束之前中途退出而导致服务器没有记录到该玩家的游戏得分,而且通过计算玩家每一次上传的所述业务增长分数的总和,即可在玩家结束游戏时获得该玩家的最终游戏得分。
进一步的,所述服务器还可以预设统计周期,所述统计周期用于指示所述服务器定时对获取到的所述业务增长分数进行统计。因此,在满足预设的统计周期时对上一个统计周期内所获取到的所述业务增长分数进行统计,以得到周期总增长分数。例如,若预设的统计周期为2秒,则所述服务器可以每隔2秒计算一次前2秒内所获取到的所述业务增长分数的总和,以得到周期总增长分数。又例如,预设的统计周期为2秒,若所述服务器在当前满足所述统计周期,且从前2秒到当前的时间段内获取到了1万个业务增长分数,则当前需要计算这1万个业务增长分数的总和,以得到所述周期总增长分数。所述周期总增长分数可以是指一个服务器在一个统计周期内所获取的各客户端所上传的游戏分数的总和,各客户端所上传的游戏分数即是指已开启所述分数定时上传功能的客户端定时上传的所述业务增长分数。
所述服务器还可以对所述上一个统计周期内所获取到的所述业务增长分数所对应的客户端进行去重操作,以得到新增客户端数量。所述去重操作是指当识别出所述上一个统计周期内所获取到的所述业务增长分数所对应的客户端中存在已被统计过的客户端时,不再对这些已被统计过的客户端的数量进行统计。例如,若所述上一个统计周期内所获取到的所述业务增长分数所对应的客户端的数量一共有1万个,则可以根据客户端的用户标识识别这1万个客户端是否存在已被统计过的客户端(即已上传过所述业务增长分数的客户端),若识别出其中有9000个客户端已被统计过,则可以得到所述新增客户端数量为:10000-9000=1000个。由此可见,所述服务器在满足所述统计周期时,需要统计上一个统计周期的时间段内的所述周期总增长分数和所述新增客户端数量。
进一步的,所述服务器统计出所述周期总增长分数和所述新增客户端数量后,还可以将所述周期总增长分数添加至第一数据库,并将所述新增客户端数量添加至第二数据库,以便于后续根据所述第一数据库中的所有周期总增长分数计算所述业务总分数,并根据所述第二数据库中的所有新增客户端数量计算所述已上传所述业务增长分数的客户端的总数量;其中,所述第一数据库用于存储业务系统中多个服务器分别统计出的周期总增长分数,所述第二数据库用于存储所述多个服务器分别统计出的新增客户端数量。可选的,所述服务器也可以无需在本地进行去重操作,而是将获取到的所述业务增长分数分别对应的客户端的用户标识发送到所述第二数据库,由所述第二数据库根据这些用户标识进行去重操作,以统计出所述新增客户端数量,其中,为了提高去重操作的效率,可以将Redis数据库作为所述第二数据库。
S203,当接收到业务分数平均值计算请求时,根据获取到的所述业务增长分数计算业务总分数,并根据所述业务总分数以及已上传所述业务增长分数的客户端的总数量计算所述业务分数平均值;
具体的,当某个客户端的业务执行结束时,该客户端可以向所述服务器发送业务分数平均值计算请求,当所述服务器接收到业务分数平均值计算请求时,可以计算当前的所述第一数据库中的所有周期总增长分数的总和,以得到所述业务总分数;所述业务总分数是指从所述业务系统的最初始时刻到当前时刻的时间段内,在所述业务系统中所有已上传所述业务增长分数的客户端所对应的业务分数(这里的业务分数可以包括业务已执行结束/业务中断的客户端所对应的最终业务分数、以及当前仍在执行业务的客户端所对应的当前业务分数)的总和。所述服务器还可以计算当前的所述第二数据库中的所有新增客户端数量的总和,以得到所述已上传所述业务增长分数的客户端的总数量,最后再将所述业务总分数与所述已上传所述业务增长分数的客户端的总数量进行相除,以得到所述业务分数平均值。
本发明实施例通过发送预设的采样概率到至少一个客户端,可以使每个客户端根据采样概率判断是否需要开启分数定时上传功能,此后,服务器可以不断获取具有分数定时上传功能的客户端定时上传的业务增长分数,其中,具有分数定时上传功能的客户端的数量与采样概率相关联,即采样概率越低,则具有分数定时上传功能的客户端的数量将越少,从而服务器获取到的数据量也将越少;因此,当接收到业务分数平均值计算请求时,只需根据具有分数定时上传功能的客户端上传的业务增长分数以及具有分数定时上传功能的客户端的数量计算业务分数平均值,即无需通过计算全量用户数和所有用户的总分数即可得到业务分数平均值,由于通过发送采样概率可以降低服务器需要计算的数据量,所以可以节省服务器的计算资源和网络带宽,从而可以降低业务系统(如游戏系统)成本。
基于图1所示的网络构架,本发明实施例公开了另一种数据处理方法。请参见图3,是本发明实施例提供的另一种数据处理方法的流程示意图,所述方法可以包括:
S301,当接收到至少一个客户端发送的业务操作请求时,发送预设的采样概率到所述至少一个客户端,以使每个客户端根据所述采样概率判断是否需要开启分数定时上传功能;
具体的,当上述图1的网络架构中的某个服务器接收到至少一个客户端发送的业务操作请求时,说明所述至少一个客户端需要开始执行业务,如需要开始玩游戏,此时,该服务器可以发送预设的采样概率到所述至少一个客户端,以使每个客户端根据所述采样概率判断是否需要开启分数定时上传功能;所述分数定时上传功能是指客户端需要在整个业务执行过程中定时上传数据的功能。在所有客户端都根据所述采样概率进行判断操作后,将会有一部分客户端开启所述分数定时上传功能,其中,开启所述分数定时上传功能的客户端的数量与所述采样概率相关联。例如,若采样概率为0.2,且参与业务的客户端有10万,则每个客户端都会根据为0.2的采样概率判断自己是否需要开启所述分数定时上传功能,即每个客户端都有0.2的概率开启所述分数定时上传功能,因此,在所有客户端都判断结束后,已开启所述分数定时上传功能的客户端的数量大概为10万*0.2=2万。所述采样概率可以为0到1之间的任意一个数值,所述采样概率的具体数值可以由运营商根据即将参与业务的用户量进行设定。
S302,获取已开启所述分数定时上传功能的客户端定时上传的所述业务增长分数;
具体的,所述服务器下发所述采样概率后,即可开始实时获取已开启所述分数定时上传功能的客户端定时上传的所述业务增长分数,所述已开启所述分数定时上传功能的客户端即是指已根据所述采样概率开启所述分数定时上传功能的客户端,所述业务增长分数是指在一个采样周期的时长内客户端的业务分数的增长值,即指在采样周期的时长内玩家所增加的游戏分数。例如,若客户端的采样周期为2秒,则客户端每隔2秒上传一次前2秒内的业务增长分数(如在2秒内所获得的游戏分数)。又例如,客户端的采样周期为2秒,若客户端在当前满足所述采样周期,且当前的分数为15分,2秒前的分数为10分,则当前需要上传的业务增长分数为:当前的分数(15分)-2秒前的分数(10分)=5分。所述服务器通过获取所述业务增长分数,可以在玩家玩游戏的过程中实时跟踪玩家的游戏得分情况,以避免玩家在游戏结束之前中途退出而导致服务器没有记录到该玩家的游戏得分,而且通过计算玩家每一次上传的所述业务增长分数的总和,即可在玩家结束游戏时获得该玩家的最终游戏得分。
S303,在满足预设的统计周期时对上一个统计周期内所获取到的所述业务增长分数进行统计,以得到周期总增长分数,并对所述上一个统计周期内所获取到的所述业务增长分数所对应的客户端进行去重操作,以得到新增客户端数量;
具体的,所述服务器还可以预设统计周期,所述统计周期用于指示所述服务器定时对获取到的所述业务增长分数进行统计。因此,在满足预设的统计周期时对上一个统计周期内所获取到的所述业务增长分数进行统计,以得到周期总增长分数。例如,若预设的统计周期为2秒,则所述服务器可以每隔2秒计算一次前2秒内所获取到的所述业务增长分数的总和,以得到周期总增长分数。又例如,预设的统计周期为2秒,若所述服务器在当前满足所述统计周期,且从前2秒到当前的时间段内获取到了1万个业务增长分数,则当前需要计算这1万个业务增长分数的总和,以得到所述周期总增长分数。所述周期总增长分数可以是指一个服务器在一个统计周期内所获取的各客户端所上传的游戏分数的总和,各客户端所上传的游戏分数即是指已开启所述分数定时上传功能的客户端定时上传的所述业务增长分数。
所述服务器还可以对所述上一个统计周期内所获取到的所述业务增长分数所对应的客户端进行去重操作,以得到新增客户端数量。所述去重操作是指当识别出所述上一个统计周期内所获取到的所述业务增长分数所对应的客户端中存在已被统计过的客户端时,不再对这些已被统计过的客户端的数量进行统计。例如,若所述上一个统计周期内所获取到的所述业务增长分数所对应的客户端的数量一共有1万个,则可以根据客户端的用户标识识别这1万个客户端是否存在已被统计过的客户端(即已上传过所述业务增长分数的客户端),若识别出其中有9000个客户端已被统计过,则可以得到所述新增客户端数量为:10000-9000=1000个。由此可见,所述服务器在满足所述统计周期时,需要统计上一个统计周期的时间段内的所述周期总增长分数和所述新增客户端数量。
S304,将所述周期总增长分数添加至第一数据库,并将所述新增客户端数量添加至第二数据库;
具体的,所述服务器统计出所述周期总增长分数和所述新增客户端数量后,还可以将所述周期总增长分数添加至第一数据库,并将所述新增客户端数量添加至第二数据库,以便于后续根据所述第一数据库中的所有周期总增长分数计算所述业务总分数,并根据所述第二数据库中的所有新增客户端数量计算所述已上传所述业务增长分数的客户端的总数量;其中,所述第一数据库用于存储业务系统中多个服务器分别统计出的周期总增长分数,所述第二数据库用于存储所述多个服务器分别统计出的新增客户端数量。可选的,所述服务器也可以无需在本地进行去重操作,而是将获取到的所述业务增长分数分别对应的客户端的用户标识发送到所述第二数据库,由所述第二数据库根据这些用户标识进行去重操作,以统计出所述新增客户端数量,其中,为了提高去重操作的效率,可以将Redis数据库作为所述第二数据库。
S305,当接收到业务分数平均值计算请求时,计算当前的所述第一数据库中的所有周期总增长分数的总和,以得到所述业务总分数;
具体的,当某个已开启所述分数定时上传功能的客户端所执行的业务结束时,该客户端可以向所述服务器发送业务分数平均值计算请求,当所述服务器接收到业务分数平均值计算请求时,可以计算当前的所述第一数据库中的所有周期总增长分数的总和,以得到所述业务总分数;所述业务总分数是指从所述业务系统的最初始时刻到当前时刻的时间段内,在所述业务系统中所有已上传所述业务增长分数的客户端所对应的业务分数(这里的业务分数可以包括业务已执行结束/业务中断的客户端所对应的最终业务分数、以及当前仍在执行业务的客户端所对应的当前业务分数)的总和。
S306,计算当前的所述第二数据库中的所有新增客户端数量的总和,以得到所述已上传所述业务增长分数的客户端的总数量;
具体的,所述服务器在计算所述业务总分数的同时,还可以计算当前的所述第二数据库中的所有新增客户端数量的总和,以得到所述已上传所述业务增长分数的客户端的总数量。
S307,将所述业务总分数与所述已上传所述业务增长分数的客户端的总数量进行相除,以得到所述业务分数平均值;
具体的,所述服务器计算出所述业务总分数和所述已上传所述业务增长分数的客户端的总数量后,可以进一步将所述业务总分数与所述已上传所述业务增长分数的客户端的总数量进行相除,以得到所述业务分数平均值。
本发明实施例通过发送预设的采样概率到至少一个客户端,可以使每个客户端根据采样概率判断是否需要开启分数定时上传功能,此后,服务器可以不断获取具有分数定时上传功能的客户端定时上传的业务增长分数,其中,具有分数定时上传功能的客户端的数量与采样概率相关联,即采样概率越低,则具有分数定时上传功能的客户端的数量将越少,从而服务器获取到的数据量也将越少;因此,当接收到业务分数平均值计算请求时,只需根据具有分数定时上传功能的客户端上传的业务增长分数以及具有分数定时上传功能的客户端的数量计算业务分数平均值,即无需通过计算全量用户数和所有用户的总分数即可得到业务分数平均值,由于通过发送采样概率可以降低服务器需要计算的数据量,所以可以节省服务器的计算资源和网络带宽,从而可以降低业务系统(如游戏系统)成本。
基于图1所示的网络构架,本发明实施例公开了又一种数据处理方法。请参见图4,是本发明实施例提供的又一种数据处理方法的流程示意图,所述方法可以包括:
S401,当接收到至少一个客户端发送的业务操作请求时,发送预设的采样概率到所述至少一个客户端,以使每个客户端根据所述采样概率判断是否需要开启分数定时上传功能;
S402,获取已开启所述分数定时上传功能的客户端定时上传的所述业务增长分数;
S403,在满足预设的统计周期时对上一个统计周期内所获取到的所述业务增长分数进行统计,以得到周期总增长分数,并对所述上一个统计周期内所获取到的所述业务增长分数所对应的客户端进行去重操作,以得到新增客户端数量;
S404,将所述周期总增长分数添加至第一数据库,并将所述新增客户端数量添加至第二数据库;
其中,S401至S404步骤的具体实现方式可以参见上述图3对应实施例中的S301至S304,这里不再进行赘述。
S405,当接收到所述已开启所述分数定时上传功能的客户端在业务执行结束时发送的排位百分比计算请求时,将发送所述排位百分比计算请求的客户端确定为目标客户端;
具体的,当某个已开启所述分数定时上传功能的客户端所执行的业务结束时,该客户端可以向所述服务器发送排位百分比计算请求,当接收到所述已开启所述分数定时上传功能的客户端在业务执行结束时发送的排位百分比计算请求时,将发送所述排位百分比计算请求的客户端确定为目标客户端。
S406,获取所述目标客户端的最终业务分数;
具体的,所述服务器确定出所述目标客户端后,可以接收所述目标客户端发送的最终业务分数;或者,所述服务器也可以通过计算所述目标客户端所上传的每个业务增长分数的总和,以获得所述目标客户端的最终业务分数。例如,若所述目标客户端从业务开始到结束,一共定时上传了5次业务增长分数,分别每次为10分、5分、20分、15分、10分,则所述服务器可以通过计算5次上传的业务增长分数的总和,以获得所述目标客户端的最终业务分数,即所述最终业务分数为:10+5+20+15+10=60,或者,所述服务器可以直接接收所述目标客户端发送的最终业务分数(60分)。
S407,在所述业务系统中查找最小业务分数和最大业务分数;
具体的,所述服务器在获取所述目标客户端的最终业务分数的同时,还可以在所述业务系统中查找最小业务分数和最大业务分数,所述最小业务分数和所述最大业务分数均是指所述已开启所述分数定时上传功能的客户端在业务执行结束时所具有的最终分数。查找最小业务分数和最大业务分数的具体过程可以为:所述服务器可以通过与所述业务系统中的其他服务器进行同步,以获取所有已结束业务且已开启所述分数定时上传功能的客户端的最终业务分数,然后再从中查找出最大的最终业务分数以作为所述最大业务分数,并从中查找出最小的最终业务分数以作为所述最小业务分数;或者,所述业务系统中的每个服务器都将各自获取到的已结束业务且已开启所述分数定时上传功能的客户端的最终业务分数发送到数据库(可以为所述第一数据库或所述第二数据库),因此,获取到所述目标客户端的最终业务分数的服务器可以在所述数据库中查找出所述最小业务分数和所述最大业务分数。
S408,将所述目标客户端的最终业务分数减去所述最小业务分数,以得到第一差值,并将所述最大业务分数减去所述最小业务分数,以得到第二差值;
具体的,所述服务器获取到所述目标客户端的最终业务分数、所述最大业务分数以及所述最小业务分数后,可以将所述目标客户端的最终业务分数减去所述最小业务分数,以得到第一差值,并将所述最大业务分数减去所述最小业务分数,以得到第二差值。
S409,将所述第一差值与所述第二差值进行相除,以得到所述目标客户端的排位百分比;
具体的,所述服务器再将所述第一差值与所述第二差值进行相除,以得到所述目标客户端的排位百分比,即所述排位百分比=(所述目标客户端的最终业务分数-所述最小业务分数)/(所述最大业务分数-所述最小业务分数)。本发明实施例对排位百分比的计算方法是属于近似计算,而现有的排位百分比计算方式是通过对所有用户的分数进行排序以分别算出每个用户的排位百分比,虽然现有的排位百分比计算方式是精确计算,但是通过对现有方式所计算出的排位百分比和本发明实施例所计算出的排位百分比进行比较,可以发现本发明实施例所计算出的排位百分比的计算误差是很小的,该计算误差是在可接受范围内。而且最重要的是,本发明实施例的排位百分比计算方式所依据的所有数据量是已开启所述分数定时上传功能的客户端所上传的分数,而已开启所述分数定时上传功能的客户端的数量是由所述采样概率所决定,当所述采样概率越小,则已开启所述分数定时上传功能的客户端的数量占所有参与业务的客户端数量的比例就越小,因此,本发明实施例的排位百分比计算方式可以大大节省服务器的计算资源和网络带宽。
其中,通过计算出所述排位百分比,可以让用户通过所述排位百分比了解自身与其他玩家的差距,也可以增加玩家荣誉感,进一步提高游戏活跃度。
进一步的,当某个已开启所述分数定时上传功能的客户端所执行的业务结束时,该客户端可以同时向所述服务器发送所述排位百分比计算请求以及所述业务分数平均值计算请求(响应所述业务分数平均值计算请求的具体过程可以参见上述图3对应实施例中的S305-S307),使得所述服务器可以同时计算出所述排位百分比以及所述业务分数平均值。
本发明实施例通过发送预设的采样概率到至少一个客户端,可以使每个客户端根据采样概率判断是否需要开启分数定时上传功能,此后,服务器可以不断获取具有分数定时上传功能的客户端定时上传的业务增长分数,其中,具有分数定时上传功能的客户端的数量与采样概率相关联,即采样概率越低,则具有分数定时上传功能的客户端的数量将越少,从而服务器获取到的数据量也将越少;因此,当接收到业务分数平均值计算请求时,只需根据具有分数定时上传功能的客户端上传的业务增长分数以及具有分数定时上传功能的客户端的数量计算业务分数平均值,即无需通过计算全量用户数和所有用户的总分数即可得到业务分数平均值;同样的,当接收到排序百分比计算请求时,也只需根据具有分数定时上传功能的客户端的最终业务分数计算出排序百分比,即无需通过计算所有用户的分数即可得到排序百分比。由于通过发送采样概率可以降低服务器需要计算的数据量,所以可以节省服务器的计算资源和网络带宽,从而可以降低业务系统(如游戏系统)成本。
请参见图5,是本发明实施例提供的一种数据处理装置的结构示意图,所述数据处理装置1可以应用于服务器,所述数据处理装置1可以包括:发送模块10、第一获取模块20、平均计算模块30;
所述发送模块10,用于当接收到至少一个客户端发送的业务操作请求时,发送预设的采样概率到所述至少一个客户端,以使每个客户端根据所述采样概率判断是否需要开启分数定时上传功能;
具体的,当上述图1的网络架构中的某个服务器接收到至少一个客户端发送的业务操作请求时,说明所述至少一个客户端需要开始执行业务,如需要开始玩游戏,此时,所述发送模块10可以发送预设的采样概率到所述至少一个客户端,以使每个客户端根据所述采样概率判断是否需要开启分数定时上传功能;所述分数定时上传功能是指客户端需要在整个业务执行过程中定时上传数据的功能。在所有客户端都根据所述采样概率进行判断操作后,将会有一部分客户端开启所述分数定时上传功能,其中,开启所述分数定时上传功能的客户端的数量与所述采样概率相关联。例如,若采样概率为0.2,且参与业务的客户端有10万,则每个客户端都会根据为0.2的采样概率判断自己是否需要开启所述分数定时上传功能,即每个客户端都有0.2的概率开启所述分数定时上传功能,因此,在所有客户端都判断结束后,已开启所述分数定时上传功能的客户端的数量大概为10万*0.2=2万。所述采样概率可以为0到1之间的任意一个数值,所述采样概率的具体数值可以由运营商根据即将参与业务的用户量进行设定。
所述第一获取模块20,用于获取已开启所述分数定时上传功能的客户端定时上传的所述业务增长分数;所述业务增长分数是指在一个采样周期的时长内客户端的业务分数的增长值;
具体的,所述发送模块10下发所述采样概率后,所述第一获取模块20即可开始实时获取已开启所述分数定时上传功能的客户端定时上传的所述业务增长分数,所述已开启所述分数定时上传功能的客户端即是指已根据所述采样概率开启所述分数定时上传功能的客户端,所述业务增长分数是指在一个采样周期的时长内客户端的业务分数的增长值,即指在采样周期的时长内玩家所增加的游戏分数。例如,若客户端的采样周期为2秒,则客户端每隔2秒上传一次前2秒内的业务增长分数(如在2秒内所获得的游戏分数)。又例如,客户端的采样周期为2秒,若客户端在当前满足所述采样周期,且当前的分数为15分,2秒前的分数为10分,则当前需要上传的业务增长分数为:当前的分数(15分)-2秒前的分数(10分)=5分。所述服务器通过获取所述业务增长分数,可以在玩家玩游戏的过程中实时跟踪玩家的游戏得分情况,以避免玩家在游戏结束之前中途退出而导致服务器没有记录到该玩家的游戏得分,而且通过计算玩家每一次上传的所述业务增长分数的总和,即可在玩家结束游戏时获得该玩家的最终游戏得分。
进一步的,所述第一获取模块20还可以预设统计周期,所述统计周期用于指示所述服务器定时对获取到的所述业务增长分数进行统计。因此,所述第一获取模块20在满足预设的统计周期时对上一个统计周期内所获取到的所述业务增长分数进行统计,以得到周期总增长分数。例如,若预设的统计周期为2秒,则所述第一获取模块20可以每隔2秒计算一次前2秒内所获取到的所述业务增长分数的总和,以得到周期总增长分数。又例如,预设的统计周期为2秒,若所述第一获取模块20检测到当前满足所述统计周期,且从前2秒到当前的时间段内获取到了1万个业务增长分数,则当前需要计算这1万个业务增长分数的总和,以得到所述周期总增长分数。所述周期总增长分数可以是指一个服务器在一个统计周期内所获取的各客户端所上传的游戏分数的总和,各客户端所上传的游戏分数即是指已开启所述分数定时上传功能的客户端定时上传的所述业务增长分数。
所述第一获取模块20还可以对所述上一个统计周期内所获取到的所述业务增长分数所对应的客户端进行去重操作,以得到新增客户端数量。所述去重操作是指当识别出所述上一个统计周期内所获取到的所述业务增长分数所对应的客户端中存在已被统计过的客户端时,不再对这些已被统计过的客户端的数量进行统计。例如,若所述上一个统计周期内所获取到的所述业务增长分数所对应的客户端的数量一共有1万个,则所述第一获取模块20可以根据客户端的用户标识识别这1万个客户端是否存在已被统计过的客户端(即已上传过所述业务增长分数的客户端),若识别出其中有9000个客户端已被统计过,则所述第一获取模块20可以得到所述新增客户端数量为:10000-9000=1000个。由此可见,所述第一获取模块20在满足所述统计周期时,需要统计上一个统计周期的时间段内的所述周期总增长分数和所述新增客户端数量。
进一步的,所述第一获取模块20统计出所述周期总增长分数和所述新增客户端数量后,还可以将所述周期总增长分数添加至第一数据库,并将所述新增客户端数量添加至第二数据库,以便于后续根据所述第一数据库中的所有周期总增长分数计算所述业务总分数,并根据所述第二数据库中的所有新增客户端数量计算所述已上传所述业务增长分数的客户端的总数量;其中,所述第一数据库用于存储业务系统中多个服务器分别统计出的周期总增长分数,所述第二数据库用于存储所述多个服务器分别统计出的新增客户端数量。可选的,所述第一获取模块20也可以无需在本地进行去重操作,而是将获取到的所述业务增长分数分别对应的客户端的用户标识发送到所述第二数据库,由所述第二数据库根据这些用户标识进行去重操作,以统计出所述新增客户端数量,其中,为了提高去重操作的效率,可以将Redis数据库作为所述第二数据库。
所述平均计算模块30,用于当接收到业务分数平均值计算请求时,根据获取到的所述业务增长分数计算业务总分数,并根据所述业务总分数以及已上传所述业务增长分数的客户端的总数量计算所述业务分数平均值;
具体的,当某个客户端的业务执行结束时,该客户端可以向所述服务器发送业务分数平均值计算请求,当所述服务器接收到业务分数平均值计算请求时,所述平均计算模块30可以计算当前的所述第一数据库中的所有周期总增长分数的总和,以得到所述业务总分数;所述业务总分数是指从所述业务系统的最初始时刻到当前时刻的时间段内,在所述业务系统中所有已上传所述业务增长分数的客户端所对应的业务分数(这里的业务分数可以包括业务已执行结束/业务中断的客户端所对应的最终业务分数、以及当前仍在执行业务的客户端所对应的当前业务分数)的总和。所述平均计算模块30还可以计算当前的所述第二数据库中的所有新增客户端数量的总和,以得到所述已上传所述业务增长分数的客户端的总数量,最后再将所述业务总分数与所述已上传所述业务增长分数的客户端的总数量进行相除,以得到所述业务分数平均值。
进一步的,再请参见图6,是上述图5对应实施例中的第一获取模块20的结构示意图,所述第一获取模块20可以包括:数据获取单元201、统计单元202、添加单元203;
所述数据获取单元201,用于获取已开启所述分数定时上传功能的客户端定时上传的所述业务增长分数;
所述统计单元202,用于在满足预设的统计周期时对上一个统计周期内所获取到的所述业务增长分数进行统计,以得到周期总增长分数,并对所述上一个统计周期内所获取到的所述业务增长分数所对应的客户端进行去重操作,以得到新增客户端数量;
所述添加单元203,用于将所述周期总增长分数添加至第一数据库,并将所述新增客户端数量添加至第二数据库,以便于后续根据所述第一数据库中的所有周期总增长分数计算所述业务总分数,并根据所述第二数据库中的所有新增客户端数量计算所述已上传所述业务增长分数的客户端的总数量;
所述数据获取单元201、所述统计单元202以及所述添加单元203的具体实现方式可以参见上述图5对应实施例中对所述第一获取模块20的描述,这里不再进行赘述。
进一步的,再请参见图7,是上述图5对应实施例中的平均计算模块30的结构示意图,所述平均计算模块30可以包括:第一计算单元301、第二计算单元302;
所述第一计算单元301,用于当接收到业务分数平均值计算请求时,计算当前的所述第一数据库中的所有周期总增长分数的总和,以得到所述业务总分数;
所述第一计算单元301,还用于计算当前的所述第二数据库中的所有新增客户端数量的总和,以得到所述已上传所述业务增长分数的客户端的总数量;
所述第二计算单元302,用于将所述业务总分数与所述已上传所述业务增长分数的客户端的总数量进行相除,以得到所述业务分数平均值;
所述第一计算单元301以及所述第二计算单元302的具体实现方式可以参见上述图5对应实施例中对所述平均计算模块30的描述,这里不再进行赘述。
本发明实施例通过发送预设的采样概率到至少一个客户端,可以使每个客户端根据采样概率判断是否需要开启分数定时上传功能,此后,服务器可以不断获取具有分数定时上传功能的客户端定时上传的业务增长分数,其中,具有分数定时上传功能的客户端的数量与采样概率相关联,即采样概率越低,则具有分数定时上传功能的客户端的数量将越少,从而服务器获取到的数据量也将越少;因此,当接收到业务分数平均值计算请求时,只需根据具有分数定时上传功能的客户端上传的业务增长分数以及具有分数定时上传功能的客户端的数量计算业务分数平均值,即无需通过计算全量用户数和所有用户的总分数即可得到业务分数平均值,由于通过发送采样概率可以降低服务器需要计算的数据量,所以可以节省服务器的计算资源和网络带宽,从而可以降低业务系统(如游戏系统)成本。
再请参见图8,是本发明实施例提供的另一种数据处理装置的结构示意图,所述数据处理装置1可以应用于服务器,所述数据处理装置1可以包括上述图5对应实施例中的发送模块10、第一获取模块20、平均计算模块30,进一步的,所述数据处理装置1还可以包括:确定模块40、第二获取模块50、查找模块60、排位计算模块70;
所述确定模块40,用于当接收到所述已开启所述分数定时上传功能的客户端在业务执行结束时发送的排位百分比计算请求时,将发送所述排位百分比计算请求的客户端确定为目标客户端;
具体的,当某个已开启所述分数定时上传功能的客户端所执行的业务结束时,该客户端可以向所述服务器发送排位百分比计算请求,当接收到所述已开启所述分数定时上传功能的客户端在业务执行结束时发送的排位百分比计算请求时,所述确定模块40可以将发送所述排位百分比计算请求的客户端确定为目标客户端。
所述第二获取模块50,用于获取所述目标客户端的最终业务分数;
具体的,所述确定模块40确定出所述目标客户端后,所述第二获取模块50可以接收所述目标客户端发送的最终业务分数;或者,所述第二获取模块50也可以通过计算所述目标客户端所上传的每个业务增长分数的总和,以获得所述目标客户端的最终业务分数。例如,若所述目标客户端从业务开始到结束,一共定时上传了5次业务增长分数,分别每次为10分、5分、20分、15分、10分,则所述第二获取模块50可以通过计算5次上传的业务增长分数的总和,以获得所述目标客户端的最终业务分数,即所述最终业务分数为:10+5+20+15+10=60,或者,所述第二获取模块50可以直接接收所述目标客户端发送的最终业务分数(60分)。
所述查找模块60,用于在所述业务系统中查找最小业务分数和最大业务分数;所述最小业务分数和所述最大业务分数均是指所述已开启所述分数定时上传功能的客户端在业务执行结束时所具有的最终分数;
具体的,所述第二获取模块50在获取所述目标客户端的最终业务分数的同时,所述查找模块60可以在所述业务系统中查找最小业务分数和最大业务分数,所述最小业务分数和所述最大业务分数均是指所述已开启所述分数定时上传功能的客户端在业务执行结束时所具有的最终分数。所述查找模块60查找最小业务分数和最大业务分数的具体过程可以为:所述查找模块60可以通过与所述业务系统中的其他服务器进行同步,以获取所有已结束业务且已开启所述分数定时上传功能的客户端的最终业务分数,然后再从中查找出最大的最终业务分数以作为所述最大业务分数,并从中查找出最小的最终业务分数以作为所述最小业务分数;或者,所述业务系统中的每个服务器都将各自获取到的已结束业务且已开启所述分数定时上传功能的客户端的最终业务分数发送到数据库(可以为所述第一数据库或所述第二数据库),因此,所述查找模块60可以在所述数据库中查找出所述最小业务分数和所述最大业务分数。
所述排位计算模块70,用于将所述目标客户端的最终业务分数减去所述最小业务分数,以得到第一差值,并将所述最大业务分数减去所述最小业务分数,以得到第二差值;
具体的,获取到所述目标客户端的最终业务分数、所述最大业务分数以及所述最小业务分数后,所述排位计算模块70可以将所述目标客户端的最终业务分数减去所述最小业务分数,以得到第一差值,并将所述最大业务分数减去所述最小业务分数,以得到第二差值。
所述排位计算模块70,还用于将所述第一差值与所述第二差值进行相除,以得到所述目标客户端的排位百分比;
具体的,所述排位计算模块70再将所述第一差值与所述第二差值进行相除,以得到所述目标客户端的排位百分比,即所述排位百分比=(所述目标客户端的最终业务分数-所述最小业务分数)/(所述最大业务分数-所述最小业务分数)。本发明实施例对排位百分比的计算方法是属于近似计算,而现有的排位百分比计算方式是通过对所有用户的分数进行排序以分别算出每个用户的排位百分比,虽然现有的排位百分比计算方式是精确计算,但是通过对现有方式所计算出的排位百分比和本发明实施例所计算出的排位百分比进行比较,可以发现本发明实施例所计算出的排位百分比的计算误差是很小的,该计算误差是在可接受范围内。而且最重要的是,本发明实施例的排位百分比计算方式所依据的所有数据量是已开启所述分数定时上传功能的客户端所上传的分数,而已开启所述分数定时上传功能的客户端的数量是由所述采样概率所决定,当所述采样概率越小,则已开启所述分数定时上传功能的客户端的数量占所有参与业务的客户端数量的比例就越小,因此,本发明实施例的排位百分比计算方式可以大大节省服务器的计算资源和网络带宽。
其中,通过计算出所述排位百分比,可以让用户通过所述排位百分比了解自身与其他玩家的差距,也可以增加玩家荣誉感,进一步提高游戏活跃度。
本发明实施例通过发送预设的采样概率到至少一个客户端,可以使每个客户端根据采样概率判断是否需要开启分数定时上传功能,此后,服务器可以不断获取具有分数定时上传功能的客户端定时上传的业务增长分数,其中,具有分数定时上传功能的客户端的数量与采样概率相关联,即采样概率越低,则具有分数定时上传功能的客户端的数量将越少,从而服务器获取到的数据量也将越少;因此,当接收到业务分数平均值计算请求时,只需根据具有分数定时上传功能的客户端上传的业务增长分数以及具有分数定时上传功能的客户端的数量计算业务分数平均值,即无需通过计算全量用户数和所有用户的总分数即可得到业务分数平均值;同样的,当接收到排序百分比计算请求时,也只需根据具有分数定时上传功能的客户端的最终业务分数计算出排序百分比,即无需通过计算所有用户的分数即可得到排序百分比。由于通过发送采样概率可以降低服务器需要计算的数据量,所以可以节省服务器的计算资源和网络带宽,从而可以降低业务系统(如游戏系统)成本。
请参见图9,是本发明实施例提供的又一种数据处理装置的结构示意图。所述数据处理装置1000可以包括处理器1001、通信接口1002和存储器1003(所述数据处理装置1000中的处理器1001的数量可以为一个或多个,图9中以一个处理器为例)。本发明的一些实施例中,处理器1001、通信接口1002和存储器1003可通过通信总线或其他方式连接,其中,图9以通过通信总线连接为例。
其中,所述通信接口1002,用于与客户端进行通信;
所述存储器1003用于存储程序;
所述处理器1001用于执行所述程序,以实现
当接收到至少一个客户端发送的业务操作请求时,发送预设的采样概率到所述至少一个客户端,以使每个客户端根据所述采样概率判断是否需要开启分数定时上传功能;
获取已开启所述分数定时上传功能的客户端定时上传的所述业务增长分数;所述业务增长分数是指在一个采样周期的时长内客户端的业务分数的增长值;
当接收到业务分数平均值计算请求时,根据获取到的所述业务增长分数计算业务总分数,并根据所述业务总分数以及已上传所述业务增长分数的客户端的总数量计算所述业务分数平均值。
在一个实施例中,所述处理器1001在执行获取已开启所述分数定时上传功能的客户端定时上传的所述业务增长分数时,具体用于:
获取已开启所述分数定时上传功能的客户端定时上传的所述业务增长分数;
在满足预设的统计周期时对上一个统计周期内所获取到的所述业务增长分数进行统计,以得到周期总增长分数,并对所述上一个统计周期内所获取到的所述业务增长分数所对应的客户端进行去重操作,以得到新增客户端数量;
将所述周期总增长分数添加至第一数据库,并将所述新增客户端数量添加至第二数据库,以便于后续根据所述第一数据库中的所有周期总增长分数计算所述业务总分数,并根据所述第二数据库中的所有新增客户端数量计算所述已上传所述业务增长分数的客户端的总数量;
其中,所述第一数据库用于存储业务系统中多个服务器分别统计出的周期总增长分数,所述第二数据库用于存储所述多个服务器分别统计出的新增客户端数量。
在一个实施例中,所述处理器1001在执行当接收到业务分数平均值计算请求时,根据获取到的所述业务增长分数计算业务总分数,并根据所述业务总分数以及已上传所述业务增长分数的客户端的总数量计算所述业务分数平均值时,具体用于:
当接收到业务分数平均值计算请求时,计算当前的所述第一数据库中的所有周期总增长分数的总和,以得到所述业务总分数;
计算当前的所述第二数据库中的所有新增客户端数量的总和,以得到所述已上传所述业务增长分数的客户端的总数量;
将所述业务总分数与所述已上传所述业务增长分数的客户端的总数量进行相除,以得到所述业务分数平均值。
在一个实施例中,所述处理器1001还用于:
当接收到所述已开启所述分数定时上传功能的客户端在业务执行结束时发送的排位百分比计算请求时,将发送所述排位百分比计算请求的客户端确定为目标客户端;
获取所述目标客户端的最终业务分数;
在所述业务系统中查找最小业务分数和最大业务分数;所述最小业务分数和所述最大业务分数均是指所述已开启所述分数定时上传功能的客户端在业务执行结束时所具有的最终分数;
将所述目标客户端的最终业务分数减去所述最小业务分数,以得到第一差值,并将所述最大业务分数减去所述最小业务分数,以得到第二差值;
将所述第一差值与所述第二差值进行相除,以得到所述目标客户端的排位百分比。
在一个实施例中,所述处理器1001在执行获取所述目标客户端的最终业务分数时,具体用于:
接收所述目标客户端发送的最终业务分数;或者,
计算所述目标客户端所上传的每个业务增长分数的总和,以获得所述目标客户端的最终业务分数。
本发明实施例通过发送预设的采样概率到至少一个客户端,可以使每个客户端根据采样概率判断是否需要开启分数定时上传功能,此后,服务器可以不断获取具有分数定时上传功能的客户端定时上传的业务增长分数,其中,具有分数定时上传功能的客户端的数量与采样概率相关联,即采样概率越低,则具有分数定时上传功能的客户端的数量将越少,从而服务器获取到的数据量也将越少;因此,当接收到业务分数平均值计算请求时,只需根据具有分数定时上传功能的客户端上传的业务增长分数以及具有分数定时上传功能的客户端的数量计算业务分数平均值,即无需通过计算全量用户数和所有用户的总分数即可得到业务分数平均值;同样的,当接收到排序百分比计算请求时,也只需根据具有分数定时上传功能的客户端的最终业务分数计算出排序百分比,即无需通过计算所有用户的分数即可得到排序百分比。由于通过发送采样概率可以降低服务器需要计算的数据量,所以可以节省服务器的计算资源和网络带宽,从而可以降低业务系统(如游戏系统)成本。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
当接收到至少一个客户端发送的业务操作请求时,发送预设的采样概率到所述至少一个客户端,以使每个客户端根据所述采样概率判断是否需要开启分数定时上传功能;
获取已开启所述分数定时上传功能的客户端定时上传的业务增长分数;所述业务增长分数是指在一个采样周期的时长内客户端的业务分数的增长值;
当接收到业务分数平均值计算请求时,根据获取到的所述业务增长分数计算业务总分数,并根据所述业务总分数以及已上传所述业务增长分数的客户端的总数量计算所述业务分数平均值。
2.如权利要求1所述的方法,其特征在于,所述获取已开启所述分数定时上传功能的客户端定时上传的所述业务增长分数,包括:
获取已开启所述分数定时上传功能的客户端定时上传的所述业务增长分数;
在满足预设的统计周期时对上一个统计周期内所获取到的所述业务增长分数进行统计,以得到周期总增长分数,并对所述上一个统计周期内所获取到的所述业务增长分数所对应的客户端进行去重操作,以得到新增客户端数量;
将所述周期总增长分数添加至第一数据库,并将所述新增客户端数量添加至第二数据库,以便于后续根据所述第一数据库中的所有周期总增长分数计算所述业务总分数,并根据所述第二数据库中的所有新增客户端数量计算所述已上传所述业务增长分数的客户端的总数量;
其中,所述第一数据库用于存储业务系统中多个服务器分别统计出的周期总增长分数,所述第二数据库用于存储所述多个服务器分别统计出的新增客户端数量。
3.如权利要求2所述的方法,其特征在于,所述当接收到业务分数平均值计算请求时,根据获取到的所述业务增长分数计算业务总分数,并根据所述业务总分数以及已上传所述业务增长分数的客户端的总数量计算所述业务分数平均值,包括:
当接收到业务分数平均值计算请求时,计算当前的所述第一数据库中的所有周期总增长分数的总和,以得到所述业务总分数;
计算当前的所述第二数据库中的所有新增客户端数量的总和,以得到所述已上传所述业务增长分数的客户端的总数量;
将所述业务总分数与所述已上传所述业务增长分数的客户端的总数量进行相除,以得到所述业务分数平均值。
4.如权利要求2或3所述的方法,其特征在于,还包括:
当接收到所述已开启所述分数定时上传功能的客户端在业务执行结束时发送的排位百分比计算请求时,将发送所述排位百分比计算请求的客户端确定为目标客户端;
获取所述目标客户端的最终业务分数;
在所述业务系统中查找最小业务分数和最大业务分数;所述最小业务分数和所述最大业务分数均是指所述已开启所述分数定时上传功能的客户端在业务执行结束时所具有的最终分数;
将所述目标客户端的最终业务分数减去所述最小业务分数,以得到第一差值,并将所述最大业务分数减去所述最小业务分数,以得到第二差值;
将所述第一差值与所述第二差值进行相除,以得到所述目标客户端的排位百分比。
5.如权利要求4所述的方法,其特征在于,所述获取所述目标客户端的最终业务分数,具体包括:
接收所述目标客户端发送的最终业务分数;或者,
计算所述目标客户端所上传的每个业务增长分数的总和,以获得所述目标客户端的最终业务分数。
6.一种数据处理装置,其特征在于,包括:
发送模块,用于当接收到至少一个客户端发送的业务操作请求时,发送预设的采样概率到所述至少一个客户端,以使每个客户端根据所述采样概率判断是否需要开启分数定时上传功能;
第一获取模块,用于获取已开启所述分数定时上传功能的客户端定时上传的业务增长分数;所述业务增长分数是指在一个采样周期的时长内客户端的业务分数的增长值;
平均计算模块,用于当接收到业务分数平均值计算请求时,根据获取到的所述业务增长分数计算业务总分数,并根据所述业务总分数以及已上传所述业务增长分数的客户端的总数量计算所述业务分数平均值。
7.如权利要求6所述的装置,其特征在于,所述第一获取模块包括:
数据获取单元,用于获取已开启所述分数定时上传功能的客户端定时上传的所述业务增长分数;
统计单元,用于在满足预设的统计周期时对上一个统计周期内所获取到的所述业务增长分数进行统计,以得到周期总增长分数,并对所述上一个统计周期内所获取到的所述业务增长分数所对应的客户端进行去重操作,以得到新增客户端数量;
添加单元,用于将所述周期总增长分数添加至第一数据库,并将所述新增客户端数量添加至第二数据库,以便于后续根据所述第一数据库中的所有周期总增长分数计算所述业务总分数,并根据所述第二数据库中的所有新增客户端数量计算所述已上传所述业务增长分数的客户端的总数量;
其中,所述第一数据库用于存储业务系统中多个服务器分别统计出的周期总增长分数,所述第二数据库用于存储所述多个服务器分别统计出的新增客户端数量。
8.如权利要求7所述的装置,其特征在于,所述平均计算模块包括:
第一计算单元,用于当接收到业务分数平均值计算请求时,计算当前的所述第一数据库中的所有周期总增长分数的总和,以得到所述业务总分数;
所述第一计算单元,还用于计算当前的所述第二数据库中的所有新增客户端数量的总和,以得到所述已上传所述业务增长分数的客户端的总数量;
第二计算单元,用于将所述业务总分数与所述已上传所述业务增长分数的客户端的总数量进行相除,以得到所述业务分数平均值。
9.如权利要求7或8所述的装置,其特征在于,还包括:
确定模块,用于当接收到所述已开启所述分数定时上传功能的客户端在业务执行结束时发送的排位百分比计算请求时,将发送所述排位百分比计算请求的客户端确定为目标客户端;
第二获取模块,用于获取所述目标客户端的最终业务分数;
查找模块,用于在所述业务系统中查找最小业务分数和最大业务分数;所述最小业务分数和所述最大业务分数均是指所述已开启所述分数定时上传功能的客户端在业务执行结束时所具有的最终分数;
排位计算模块,用于将所述目标客户端的最终业务分数减去所述最小业务分数,以得到第一差值,并将所述最大业务分数减去所述最小业务分数,以得到第二差值;
所述排位计算模块,还用于将所述第一差值与所述第二差值进行相除,以得到所述目标客户端的排位百分比。
10.如权利要求9所述的装置,其特征在于,
第二获取模块,具体用于接收所述目标客户端发送的最终业务分数;或者,
所述第二获取模块,具体用于计算所述目标客户端所上传的每个业务增长分数的总和,以获得所述目标客户端的最终业务分数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510901869.8A CN105491043B (zh) | 2015-12-08 | 2015-12-08 | 一种数据处理方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510901869.8A CN105491043B (zh) | 2015-12-08 | 2015-12-08 | 一种数据处理方法以及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105491043A CN105491043A (zh) | 2016-04-13 |
CN105491043B true CN105491043B (zh) | 2018-11-23 |
Family
ID=55677758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510901869.8A Active CN105491043B (zh) | 2015-12-08 | 2015-12-08 | 一种数据处理方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105491043B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117056663B (zh) * | 2023-10-13 | 2024-02-13 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102480381A (zh) * | 2010-11-29 | 2012-05-30 | 腾讯科技(深圳)有限公司 | 一种校验网络业务运营数据的方法及装置 |
CN104759100A (zh) * | 2015-03-23 | 2015-07-08 | 小米科技有限责任公司 | 游戏生命周期的预测方法、装置及游戏运营商服务器 |
CN104809550A (zh) * | 2015-04-03 | 2015-07-29 | 北京奇虎科技有限公司 | 一种数据处理方法和系统 |
CN104954172A (zh) * | 2015-05-15 | 2015-09-30 | 广东小天才科技有限公司 | 一种显示网络排名的方法和装置 |
-
2015
- 2015-12-08 CN CN201510901869.8A patent/CN105491043B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102480381A (zh) * | 2010-11-29 | 2012-05-30 | 腾讯科技(深圳)有限公司 | 一种校验网络业务运营数据的方法及装置 |
CN104759100A (zh) * | 2015-03-23 | 2015-07-08 | 小米科技有限责任公司 | 游戏生命周期的预测方法、装置及游戏运营商服务器 |
CN104809550A (zh) * | 2015-04-03 | 2015-07-29 | 北京奇虎科技有限公司 | 一种数据处理方法和系统 |
CN104954172A (zh) * | 2015-05-15 | 2015-09-30 | 广东小天才科技有限公司 | 一种显示网络排名的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105491043A (zh) | 2016-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108499100B (zh) | 一种基于边缘计算的云游戏错误恢复方法及系统 | |
CN105933375B (zh) | 一种连麦会话的监测方法、装置和服务器 | |
WO2014194695A1 (en) | Method and server for pvp team matching in computer games | |
CN110929086A (zh) | 一种音视频推荐方法、装置及存储介质 | |
CN108654092B (zh) | 一种同步云游戏档案的方法和装置 | |
US9908047B2 (en) | User save data migration based on location information | |
CN109428910B (zh) | 一种数据处理方法、装置及系统 | |
CN108924213B (zh) | 一种服务器的qps控制方法、装置及电子设备 | |
CN106294564A (zh) | 一种视频推荐方法及装置 | |
CN109802926B (zh) | 内容分发网络的推荐模型建立方法、直播方法及装置 | |
CN107493326B (zh) | 网络投票处理方法、装置、服务器及计算机可读存储介质 | |
CN109847340B (zh) | 一种信息处理方法、装置、设备及介质 | |
CN104667511A (zh) | 一种基于大数据的比赛排位晋级系统及其方法 | |
Mo et al. | Understanding gaming experience in mobile multiplayer online battle arena games | |
CN113573093A (zh) | 直播数据分析方法、装置、电子设备及存储介质 | |
CN111135586B (zh) | 游戏匹配方法、游戏匹配装置、存储介质与电子设备 | |
CN113573146B (zh) | 主播互动方法、装置、设备、存储介质和程序产品 | |
CN106156270B (zh) | 多媒体数据推送方法及装置 | |
CN110585722A (zh) | 基于区块链的游戏时间信息的处理方法及装置、游戏控制方法及装置 | |
CN113068075B (zh) | 一种直播推流方法、装置、计算机设备及存储介质 | |
CN112764988B (zh) | 一种数据分段采集方法及装置 | |
CN105491043B (zh) | 一种数据处理方法以及装置 | |
CN114036395A (zh) | 内容推荐方法、装置、计算机设备及计算机可读存储介质 | |
CN109499070A (zh) | 一种下载管理方法、装置和存储介质 | |
CN109688217A (zh) | 一种消息推送方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |