一种样本属性的动态分布数据获取方法及系统.pdf

上传人:a**** 文档编号:177465 上传时间:2018-01-31 格式:PDF 页数:28 大小:4.51MB
返回 下载 相关 举报
摘要
申请专利号:

CN201310351587.6

申请日:

2013.08.13

公开号:

CN104133824A

公开日:

2014.11.05

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 17/30申请日:20130813|||公开

IPC分类号:

G06F17/30

主分类号:

G06F17/30

申请人:

腾讯科技(深圳)有限公司

发明人:

张尚良; 王旭新

地址:

518000 广东省深圳市福田区振兴路赛格科技园2栋东403室

优先权:

专利代理机构:

深圳市深佳知识产权代理事务所(普通合伙) 44285

代理人:

唐华明

PDF下载: PDF下载
内容摘要

本发明实施例提供一种样本属性的动态分布数据获取方法及系统,其中方法可以包括:获取大规模样本中的任一样本的样本属性;确定所获取的样本属性在预先维持的样本属性队列中的更新位置,在所述更新位置上更新入所获取的样本属性;保持所述样本属性队列中的样本属性的有序排列,得到样本属性的动态分布数据;其中,所述样本属性队列中存储有所述大规模样本中的样本的样本属性,样本属性在所述样本属性队列中有序的排列,所述样本属性队列的长度为设定数值N,N小于所述大规模样本中的总样本数。本发明实施例基于简单随机抽样原理,只需维持长度为N的样本属性队列即可得到样本属性的动态分布数据,减小了样本属性的动态分布数据获取的计算量。

权利要求书

1.  一种样本属性的动态分布数据获取方法,其特征在于,包括:
获取大规模样本中的任一样本的样本属性;
确定所获取的样本属性在预先维持的样本属性队列中的更新位置,在所述更新位置上更新入所获取的样本属性;
保持所述样本属性队列中的样本属性的有序排列,得到样本属性的动态分布数据;
其中,所述样本属性队列中存储有所述大规模样本中的样本的样本属性,样本属性在所述样本属性队列中有序的排列,所述样本属性队列的长度为设定数值N,N小于所述大规模样本中的总样本数。

2.
  根据权利要求1所述的方法,其特征在于,所述确定所获取的样本属性在预先维持的样本属性队列中的更新位置包括:
判断所获取的样本属性对应的样本与所述样本属性队列所对应的样本是否相匹配;
若所获取的样本属性对应的样本与所述样本属性队列所对应的样本相匹配,则确定所述样本属性队列中与所获取的样本属性对应的样本的位置为所述更新位置;
若所获取的样本属性对应的样本与所述样本属性队列所对应的样本不相匹配,则根据所获取的样本属性的大小与所述样本属性队列中存储的样本属性的大小确定更新位置。

3.
  根据权利要求2所述的方法,其特征在于,在所获取的样本属性对应的样本与所述样本属性队列所对应的样本相匹配时,所述在所述更新位置上更新入所获取的样本属性包括:
将所述样本属性队列中与所获取的样本属性对应的样本的位置上的样本属性替换为所获取的样本属性;
所述保持所述样本属性队列中的样本属性的有序排列包括:
根据所述更新位置上所更新的样本属性,调整所述样本属性队列中样本属性的排列顺序,以保持所述样本属性队列中的样本属性的有序排列。

4.
  根据权利要求2所述的方法,其特征在于,所述根据所获取的样本属性的大小与所述样本属性队列中存储的样本属性的大小确定更新位置包括:
判断所述样本属性队列的长度是否达到设定数值N;
若所述样本属性队列的长度达到设定数值N,且所获取的样本属性介于所述样本属性队列中存储的样本属性的最大值和最小值之间,确定所述样本属性队列中样本属性小于所获取的样本属性的最大样本属性,及样本属性不小于所获取的样本属性的最小样本属性,等概率随机的将所述最大样本属性或最小样本属性对应的位置确定为所述更新位置;
若所述样本属性队列的长度达到设定数值N,且所获取的样本属性小于所述样本属性队列中存储的样本属性的最小值,则等概率随机的将所述最小值的位置确定为所述更新位置或剔除所获取的样本属性;
若所述样本属性队列的长度达到设定数值N,且所获取的样本属性大于所述样本属性队列中存储的样本属性的最大值,则等概率随机的将所述最大值的位置确定为所述更新位置或剔除所获取的样本属性;
若所述样本属性队列的长度未达到设定数值N,则比对所获取的样本属性与样本属性队列中存储的样本属性的大小,通过所比对的所获取的样本属性与样本属性队列中存储的样本属性的大小,确定所获取的样本属性在所述样本属性队列中的更新位置。

5.
  根据权利要求4所述的方法,其特征在于,在所述样本属性队列的长度达到设定数值N,且所获取的样本属性介于所述样本属性队列中存储的样本属性的最大值和最小值之间时,所述将所述更新位置上的样本属性更新为所获取的样本属性包括:
等概率随机的将所述最大样本属性或最小样本属性对应的位置上的样本属性替换为所获取的样本属性;
所述保持所述样本属性队列中的样本属性的有序排列包括:
在随机的将所述最大样本属性或最小样本属性对应的位置上的样本属性替换为所获取的样本属性后,确定所述样本属性队列中的样本属性为有序排列状态。

6.
  根据权利要求4所述的方法,其特征在于,在所述样本属性队列的长度未达到设定数值N时,所述将所述更新位置上的样本属性更新为所获取的样本属性包括:
在所述更新位置上写入所获取的样本属性,以增长样本属性队列的长度;
所述保持所述样本属性队列中的样本属性的有序排列包括:
在所述更新位置上写入所获取的样本属性后,确定所述样本属性队列中的样本属性为有序排列状态。

7.
  一种样本属性的动态分布数据获取系统,其特征在于,包括:
获取模块,用于获取大规模样本中的任一样本的样本属性;
更新位置确定模块,用于确定所获取的样本属性在预先维持的样本属性队列中的更新位置;
更新模块,用于在所述更新位置确定模块所确定的更新位置上更新入所获取的样本属性;
排列保持模块,用于在所述更新位置上更新入所获取的样本属性后,保持所述样本属性队列中的样本属性的有序排列,得到样本属性的动态分布数据;
其中,所述样本属性队列中存储有所述大规模样本中的样本的样本属性,样本属性在所述样本属性队列中有序的排列,所述样本属性队列的长度为设定数值N,N小于所述大规模样本中的总样本数。

8.
  根据权利要求7所述的系统,其特征在于,所述更新位置确定模块包括:
第一判断单元,用于判断所获取的样本属性对应的样本与所述样本属性队列所对应的样本是否相匹配;
第一确定单元,用于在所述第一判断单元的判断结果为是时,确定所述样本属性队列中与所获取的样本属性对应的样本的位置为所述更新位置;
第二确定单元,用于在所述第一判断单元的判断结果为否时,根据所获取的样本属性的大小与所述样本属性队列中存储的样本属性的大小确定更新位置。

9.
  根据权利要求8所述的系统,其特征在于,在所述第一确定单元确定所述样本属性队列中与所获取的样本属性对应的样本的位置为所述更新位置的状态下,所述更新模块包括:
第一更新单元,用于将所述样本属性队列中与所获取的样本属性对应的样本的位置上的样本属性替换为所获取的样本属性;
所述排列保持模块包括:
第一排列保持单元,用于根据所述更新位置上所更新的样本属性,调整所述样本属性队列中样本属性的排列顺序,以保持所述样本属性队列中的样本属性的有序排列。

10.
  根据权利要求8所述的系统,其特征在于,所述第二确定单元包括:
队列长度判断子单元,用于判断所述样本属性队列的长度是否达到设定数值N;
第一更新位置确定子单元,用于在所述队列长度判断子单元的判断结果为是,且所获取的样本属性介于所述样本属性队列中存储的样本属性的最大值和最小值之间时,确定所述样本属性队列中样本属性小于所获取的样本属性的最大样本属性,及样本属性不小于所获取的样本属性的最小样本属性,等概率随机的将所述最大样本属性或最小样本属性对应的位置确定为所述更新位置;
第二更新位置确定子单元,用于在所述队列长度判断子单元的判断结果为否时,比对所获取的样本属性与样本属性队列中存储的样本属性的大小,通过所比对的所获取的样本属性与样本属性队列中存储的样本属性的大小,确定所获取的样本属性在所述样本属性队列中的更新位置;
在所述第一更新位置确定子单元确定更新位置的状态下,所述更新模块包括:第二更新单元;所述排列保持模块包括:第二排列保持单元;
在所述第二更新位置确定子单元确定更新位置的状态下,所述更新模块包括:第三更新单元;所述排列保持模块包括:第三排列保持单元;
其中,所述第二更新单元,用于在所述第一更新位置确定子单元确定更新位置后,等概率随机的将所述最大样本属性或最小样本属性对应的位置上的样本属性替换为所获取的样本属性;
所述第二排列保持单元,用于在等概率随机的将所述最大样本属性或最小样本属性对应的位置上的样本属性替换为所获取的样本属性后,确定所述样本属性队列中的样本属性为有序排列状态;
所述第三更新单元,用于在所述第二更新位置确定子单元确定更新位置后,在所述更新位置上写入所获取的样本属性,以增长样本属性队列的长度;
所述第三排列保持单元,用于在所述更新位置上写入所获取的样本属性后,确定所述样本属性队列中的样本属性为有序排列状态。

说明书

一种样本属性的动态分布数据获取方法及系统
技术领域
本发明涉及数据处理技术领域,更具体地说,涉及一种样本属性的动态分布数据获取方法及系统。
背景技术
样本属性是指样本中具有统计价值且处于动态变化的属性,样本属性可以如用户手机的流量,农林养殖中的样本(样本可如鸡、鸭、猪等家禽)体重,游戏中玩家的战斗力等;对应的样本则为用户手机,农林养殖中的样本,游戏中的玩家等。目前,当存在大规模的样本时,获取大规模样本的样本属性的动态分布数据成为一个困扰技术人员的问题,样本属性的动态分布数据是指大规模样本中各样本的样本属性的动态分布情况,比如某一区域(如某市,某基站)内的用户手机的流量使用情况,某一游戏中的玩家的战斗力分布情况等。通过获取样本属性的动态分布数据,可以直观的了解大规模样本中的样本状况,比如通过获取某一区域内的用户手机的使用流量,可以直观的了解该区域内各用户手机的流量使用情况,从而为该区域内的基站建设、信道优化提供指导意见等;又如通过获取农林养殖中的家禽的体重,可以直观的了解所养家禽的体重情况,从而进行养殖策略的调整等。
目前,大规模样本中各样本的样本属性一般会定期更新后存储在数据库中,为获取样本属性的动态分布数据,服务器一般会定时遍历数据库,读取数据库中所有样本的样本属性,从而整理得到大规模样本的样本属性的动态分布数据。本发明的发明人在研究和实践过程中发现,现有技术至少存在以下的技术问题:现有技术需要遍历数据库,读取数据库中所有样本的样本属性才能得到样本属性的动态分布数据,所需要的计算量较大,样本属性的动态分布数据的获取较为费时。
发明内容
有鉴于此,本发明实施例提供一种样本属性的动态分布数据获取方法及系统,以解决现有样本属性的动态分布数据的获取方式的计算量较大,较为 费时的问题。
为实现上述目的,本发明实施例提供如下技术方案:
一种样本属性的动态分布数据获取方法,包括:
获取大规模样本中的任一样本的样本属性;
确定所获取的样本属性在预先维持的样本属性队列中的更新位置,在所述更新位置上更新入所获取的样本属性;
保持所述样本属性队列中的样本属性的有序排列,得到样本属性的动态分布数据;
其中,所述样本属性队列中存储有所述大规模样本中的样本的样本属性,样本属性在所述样本属性队列中有序的排列,所述样本属性队列的长度为设定数值N,N小于所述大规模样本中的总样本数。
其中,所述确定所获取的样本属性在预先维持的样本属性队列中的更新位置包括:
判断所获取的样本属性对应的样本与所述样本属性队列所对应的样本是否相匹配;
若所获取的样本属性对应的样本与所述样本属性队列所对应的样本相匹配,则确定所述样本属性队列中与所获取的样本属性对应的样本的位置为所述更新位置;
若所获取的样本属性对应的样本与所述样本属性队列所对应的样本不相匹配,则根据所获取的样本属性的大小与所述样本属性队列中存储的样本属性的大小确定更新位置。
其中,在所获取的样本属性对应的样本与所述样本属性队列所对应的样本相匹配时,所述在所述更新位置上更新入所获取的样本属性包括:
将所述样本属性队列中与所获取的样本属性对应的样本的位置上的样本属性替换为所获取的样本属性;
所述保持所述样本属性队列中的样本属性的有序排列包括:
根据所述更新位置上所更新的样本属性,调整所述样本属性队列中样本属性的排列顺序,以保持所述样本属性队列中的样本属性的有序排列。
其中,所述根据所获取的样本属性的大小与所述样本属性队列中存储的样本属性的大小确定更新位置包括:
判断所述样本属性队列的长度是否达到设定数值N;
若所述样本属性队列的长度达到设定数值N,且所获取的样本属性介于所述样本属性队列中存储的样本属性的最大值和最小值之间,确定所述样本属性队列中样本属性小于所获取的样本属性的最大样本属性,及样本属性不小于所获取的样本属性的最小样本属性,等概率随机的将所述最大样本属性或最小样本属性对应的位置确定为所述更新位置;
若所述样本属性队列的长度达到设定数值N,且所获取的样本属性小于所述样本属性队列中存储的样本属性的最小值,则等概率随机的将所述最小值的位置确定为所述更新位置或剔除所获取的样本属性;
若所述样本属性队列的长度达到设定数值N,且所获取的样本属性大于所述样本属性队列中存储的样本属性的最大值,则等概率随机的将所述最大值的位置确定为所述更新位置或剔除所获取的样本属性;
若所述样本属性队列的长度未达到设定数值N,则比对所获取的样本属性与样本属性队列中存储的样本属性的大小,通过所比对的所获取的样本属性与样本属性队列中存储的样本属性的大小,确定所获取的样本属性在所述样本属性队列中的更新位置。
其中,在所述样本属性队列的长度达到设定数值N,且所获取的样本属性介于所述样本属性队列中存储的样本属性的最大值和最小值之间时,所述将所述更新位置上的样本属性更新为所获取的样本属性包括:
等概率随机的将所述最大样本属性或最小样本属性对应的位置上的样本属性替换为所获取的样本属性;
所述保持所述样本属性队列中的样本属性的有序排列包括:
在随机的将所述最大样本属性或最小样本属性对应的位置上的样本属性替换为所获取的样本属性后,确定所述样本属性队列中的样本属性为有序排列状态。
其中,在所述样本属性队列的长度未达到设定数值N时,所述将所述更新位置上的样本属性更新为所获取的样本属性包括:
在所述更新位置上写入所获取的样本属性,以增长样本属性队列的长度;
所述保持所述样本属性队列中的样本属性的有序排列包括:
在所述更新位置上写入所获取的样本属性后,确定所述样本属性队列中 的样本属性为有序排列状态。
本发明实施例还提供一种样本属性的动态分布数据获取系统,包括:
获取模块,用于获取大规模样本中的任一样本的样本属性;
更新位置确定模块,用于确定所获取的样本属性在预先维持的样本属性队列中的更新位置;
更新模块,用于在所述更新位置确定模块所确定的更新位置上更新入所获取的样本属性;
排列保持模块,用于在所述更新位置上更新入所获取的样本属性后,保持所述样本属性队列中的样本属性的有序排列,得到样本属性的动态分布数据;
其中,所述样本属性队列中存储有所述大规模样本中的样本的样本属性,样本属性在所述样本属性队列中有序的排列,所述样本属性队列的长度为设定数值N,N小于所述大规模样本中的总样本数。
其中,所述更新位置确定模块包括:
第一判断单元,用于判断所获取的样本属性对应的样本与所述样本属性队列所对应的样本是否相匹配;
第一确定单元,用于在所述第一判断单元的判断结果为是时,确定所述样本属性队列中与所获取的样本属性对应的样本的位置为所述更新位置;
第二确定单元,用于在所述第一判断单元的判断结果为否时,根据所获取的样本属性的大小与所述样本属性队列中存储的样本属性的大小确定更新位置。
其中,在所述第一确定单元确定所述样本属性队列中与所获取的样本属性对应的样本的位置为所述更新位置的状态下,所述更新模块包括:
第一更新单元,用于将所述样本属性队列中与所获取的样本属性对应的样本的位置上的样本属性替换为所获取的样本属性;
所述排列保持模块包括:
第一排列保持单元,用于根据所述更新位置上所更新的样本属性,调整所述样本属性队列中样本属性的排列顺序,以保持所述样本属性队列中的样本属性的有序排列。
其中,所述第二确定单元包括:
队列长度判断子单元,用于判断所述样本属性队列的长度是否达到设定数值N;
第一更新位置确定子单元,用于在所述队列长度判断子单元的判断结果为是,且所获取的样本属性介于所述样本属性队列中存储的样本属性的最大值和最小值之间时,确定所述样本属性队列中样本属性小于所获取的样本属性的最大样本属性,及样本属性不小于所获取的样本属性的最小样本属性,等概率随机的将所述最大样本属性或最小样本属性对应的位置确定为所述更新位置;
第二更新位置确定子单元,用于在所述队列长度判断子单元的判断结果为否时,比对所获取的样本属性与样本属性队列中存储的样本属性的大小,通过所比对的所获取的样本属性与样本属性队列中存储的样本属性的大小,确定所获取的样本属性在所述样本属性队列中的更新位置;
在所述第一更新位置确定子单元确定更新位置的状态下,所述更新模块包括:第二更新单元;所述排列保持模块包括:第二排列保持单元;
在所述第二更新位置确定子单元确定更新位置的状态下,所述更新模块包括:第三更新单元;所述排列保持模块包括:第三排列保持单元;
其中,所述第二更新单元,用于在所述第一更新位置确定子单元确定更新位置后,等概率随机的将所述最大样本属性或最小样本属性对应的位置上的样本属性替换为所获取的样本属性;
所述第二排列保持单元,用于在等概率随机的将所述最大样本属性或最小样本属性对应的位置上的样本属性替换为所获取的样本属性后,确定所述样本属性队列中的样本属性为有序排列状态;
所述第三更新单元,用于在所述第二更新位置确定子单元确定更新位置后,在所述更新位置上写入所获取的样本属性,以增长样本属性队列的长度;
所述第三排列保持单元,用于在所述更新位置上写入所获取的样本属性后,确定所述样本属性队列中的样本属性为有序排列状态。
基于上述技术方案,本发明实施例提供的样本属性的动态分布数据获取方法基于简单随机抽样原理,根据样本和总体(大规模样本)服从同一分布的原理,即从大规模样本中抽出N个样本组成的样本属性队列所反映的样本属性分布情况,与大规模样本整体的样本属性分布情况服从于同一分布,因 此可通过样本属性队列的样本属性分布情况反映大规模样本整体的样本属性分布情况;在此基础上,本发明实施例维持一个长度为N的样本属性进行有序排列的样本属性队列,N小于大规模样本中的总样本数,从大规模样本中获取任一样本的样本属性,确定所获取的样本属性在预先维持的样本属性队列中的更新位置,在所述更新位置上更新入所获取的样本属性;保持所述样本属性队列中的样本属性的有序排列,从而得到反映大规模样本整体的样本属性分布情况的样本属性的动态分布数据。相比现有技术需要遍历数据库,读取数据库中所有样本的样本属性才能得到样本属性的动态分布数据的方式,本发明实施例基于简单随机抽样原理,只需维持长度为N的样本属性队列即可得到样本属性的动态分布数据,减小了样本属性的动态分布数据获取的计算量,可以及时的获取样本属性的动态分布数据。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种样本属性的动态分布数据获取方法的流程图;
图2为本发明实施例提供的样本属性队列的结构图;
图3为本发明实施例提供的一种样本属性的动态分布数据获取方法的另一流程图;
图4为本发明实施例提供的样本属性的动态分布数据获取方法的又一流程图;
图5为本发明实施例提供的样本属性的动态分布数据获取方法的再一流程图;
图6为本发明实施例提供的某款游戏的玩家战斗力队列的数据图;
图7为本发明实施例提供的某款游戏的玩家战斗力队列的另一数据图;
图8为本发明实施例提供的样本属性的动态分布数据获取系统的结构框图;
图9为本发明实施例提供的更新位置确定模块的结构框图;
图10为本发明实施例提供的更新模块的结构框图;
图11为本发明实施例提供的排列保持模块的结构框图;
图12为本发明实施例提供的第二确定单元的结构框图;
图13为本发明实施例提供的更新模块的另一结构框图;
图14为本发明实施例提供的排列保持模块的另一结构框图;
图15为本发明实施例提供的更新模块的又一结构框图;
图16为本发明实施例提供的排列保持模块的又一结构框图;
图17为本发明实施例提供的服务器的硬件结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种样本属性的动态分布数据获取方法的流程图,该方法应用于服务器,该服务器能够进行数据处理从而得到样本属性的动态分布数据,参照图1,该方法可以包括:
步骤S100、获取大规模样本中的任一样本的样本属性;
可选的,本发明实施例可在大规模样本的任一样本的样本属性发生变更时,将变更后的样本属性发送给服务器,从而使得服务器获取到大规模样本中的任一样本的样本属性;
可选的,也可在大规模样本中的若干样本参与某一所有样本均可参与的模式时,将参与该模式的若干样本的各样本的样本属性上传给服务器,从而使得服务器获取到大规模样本中的任一样本的样本属性。值得注意的是,此处所指的模式可视样本应用领域的不同而进行变更,如样本为手机,样本属性为手机流量时,该模式可指使用手机流量登陆即时通讯软件的模式,则处于即时通讯软件登陆状态下的各手机将把手机流量上传给服务器;又如,样本为游戏中玩家,样本属性为游戏中玩家的战斗力时,该模式则可指所有玩 家均可使用战斗力参与的玩法,则处于所有玩家均可使用战斗力参与的玩法下的各玩家的战斗力将上传给服务器。
可选的,随同样本属性上传至服务器的数据还可以有样本标识,样本标识与样本属性相对应,比如上传至服务器的样本属性为手机流量时,样本标识可以为手机标识,服务器所获取的手机标识与手机流量对应,以表示该手机流量为该手机标识对应的手机所使用的;又如上传至服务器的样本属性为玩家战斗力时,样本标识可以为玩家ID,服务器所获取的玩家战斗力与玩家ID对应,以表示该玩家战斗力为该玩家ID对应的玩家所拥有。
步骤S110、确定所获取的样本属性在预先维持的样本属性队列中的更新位置,在所述更新位置上更新入所获取的样本属性;
在本发明实施例中,服务器中预先维持有样本属性队列,样本属性队列中存储有大规模样本中的样本的样本属性,在该样本属性队列中样本属性按属性的大小由从大到小,或从小到大的顺序有序排列,样本属性队列的长度为设定的数值N,数值N小于大规模样本中的总样本数,即样本属性队列中存储的样本总数为N,且小于大规模样本中的总样本数。
可选的,在本发明实施例中,样本属性队列中存储有样本属性及与样本属性对应的样本标识;样本标识可用于表示样本属性对应的样本,因此可采用样本标识对样本属性队列中的各样本属性所归属的样本进行区分。图2示出了样本属性队列的一种可选结构,参照图2,样本属性队列可以具有N个位置,各个位置上存储有1个样本属性及对应的样本标识,如位置1上可以存储样本属性1及对应的样本标识1,位置2上可以存储样本属性2及对应的样本标识2,以此类推。
值得注意的是,本发明实施例在更新位置上更新入所获取的样本属性的同时,还需要在更新位置上更新入所获取的样本属性对应的样本标识。
步骤S120、保持所述样本属性队列中的样本属性的有序排列,得到样本属性的动态分布数据。
在本发明实施例中,更新位置是指所获取的样本属性写入样本属性队列中的位置;需要注意的是,更新位置仅是所获取的样本属性在样本属性队列中的写入位置,其不是所获取的样本属性在样本属性队列中的最终位置,由于样本属性队列中的样本属性需要保持有序的排列,因此在所获取的样本属 性写入更新位置后,若样本属性队列中的样本属性并不是处于有序排列状态,则需要调整样本属性队列中的样本属性的位置,以保持样本属性队列中的样本属性的有序排列,才可得到最终的样本属性的动态分布数据;若在所获取的样本属性写入更新位置后,样本属性队列中的样本属性保持为有序排列状态,则不需要再对样本属性队列中的样本属性的位置进行调整,在更新位置写入所获取的样本属性后得到的样本属性队列,即可反映样本属性的动态分布数据。
本发明实施例提供的样本属性的动态分布数据获取方法基于简单随机抽样原理,根据样本和总体(大规模样本)服从同一分布的原理,即从大规模样本中抽出N个样本组成的样本属性队列所反映的样本属性分布情况,与大规模样本整体的样本属性分布情况服从于同一分布,因此可通过样本属性队列的样本属性分布情况反映大规模样本整体的样本属性分布情况;在此基础上,本发明实施例维持一个长度为N的样本属性进行有序排列的样本属性队列,N小于大规模样本中的总样本数,从大规模样本中获取任一样本的样本属性,确定所获取的样本属性在预先维持的样本属性队列中的更新位置,在所述更新位置上更新入所获取的样本属性;保持所述样本属性队列中的样本属性的有序排列,从而得到反映大规模样本整体的样本属性分布情况的样本属性的动态分布数据。相比现有技术需要遍历数据库,读取数据库中所有样本的样本属性才能得到样本属性的动态分布数据的方式,本发明实施例基于简单随机抽样原理,只需维持长度为N的样本属性队列即可得到样本属性的动态分布数据,减小了样本属性的动态分布数据获取的计算量,可以及时的获取样本属性的动态分布数据。
在本发明实施例中,所获取的样本属性与样本属性队列的关系主要有三种情况:第一种为,所获取的样本属性对应的样本在样本属性队列中存储有旧的样本属性,可使用所获取的样本属性对样本属性队列中的该旧样本属性进行更新;第二种为,所获取的样本属性对应的样本未在样本属性队列中存储有旧的样本属性,且样本属性队列的长度还未达到设定值N,则可将所获取的样本属性插入到样本属性队列中,以增加样本属性队列的长度,同时保持样本属性队列中样本属性的有序排列,直至样本属性队列的长度达到设定值N;第三种为,所获取的样本属性对应的样本未在样本属性队列中存储有 旧的样本属性,且样本属性队列的长度达到设定值N,此时,可从样本属性队列中选择与所获取的样本属性的大小相近的样本属性,等概率随机地将该所选择的样本属性对应的位置上的样本属性替换为所获取的样本属性。对应的,针对上述三种情况,图3示出了本发明实施例提供的一种样本属性的动态分布数据获取方法的另一流程,参照图3,该方法可以包括:
步骤S200、获取大规模样本中的任一样本的样本属性;
可选的,随同样本属性一同获取的数据还可以有样本属性对应的样本标识。
步骤S210、判断所获取的样本属性对应的样本是否与预先维持的样本属性队列所对应的样本相匹配,若是,执行步骤S220,若否,执行步骤S240;
可选的,本发明实施例中样本属性队列存储有样本属性及样本属性对应的样本标识。步骤S210在具体实现上可以如下:将所获取的样本属性对应的样本标识,与样本属性队列中存储的样本标识进行比对,若所获取的样本属性对应的样本标识与样本属性队列中存储的样本标识相匹配,则可确定所获取的样本属性对应的样本与预先维持的样本属性队列所对应的样本相匹配,即样本属性队列中存储有与所获取的样本属性对应的样本的旧样本属性;若所获取的样本属性对应的样本标识与样本属性队列中存储的样本标识不匹配,则可确定所获取的样本属性对应的样本不与预先维持的样本属性队列所对应的样本相匹配,即样本属性队列中未存储有所获取的样本属性对应的样本的旧样本属性。
步骤S220、确定所述样本属性队列中与所获取的样本属性对应的样本的位置为所述更新位置,将所述更新位置上的旧样本属性替换为所获取的样本属性;
由于样本属性队列中存储有与所获取的样本属性对应的样本的旧样本属性,因此步骤S220中所指的更新位置为旧样本属性对应的位置,即样本属性队列中与所获取的样本属性对应的样本的位置为,与所获取的样本属性对应的样本的旧样本属性所存储的位置,在该旧样本属性所存储的位置上将旧样本属性替换为所获取的样本属性。
设所获取的样本属性为D;an-2、an-1、an和an+1为样本属性队列中的样本属性,若D对应的样本与an对应的样本一致,即随同D上传至服务器的样本 标识,与样本属性队列中存储的an对应的样本标识一致时,an在样本属性队列中的位置即为D的更新位置,在an所在样本属性队列中的位置上,将an替换为D。
值得注意的是,在更新位置上将旧样本属性替换为所获取的样本属性的同时,还需在更新位置上将旧样本属性对应的样本标识替换为所获取的样本属性对应的样本标识。
步骤S230、根据所述更新位置上所更新的样本属性,调整所述样本属性队列中样本属性的排列顺序,以保持所述样本属性队列中的样本属性的有序排列;
由于步骤S220仅是在与所获取的样本属性对应的样本的旧样本属性所存储的位置上,将旧样本属性替换为所获取的样本属性,因此无法保证替换了所获取的样本属性的样本属性队列中的样本属性能够保持有序的排列,此时需要根据样本属性队列中样本属性的大小对各样本属性的排列顺序进行调整,以保持样本属性队列中的样本属性的有序排列。在具体实现上,可将更新位置上所更新的样本属性(即所获取的样本属性)与样本属性队列中的其他样本属性进行比较,从而通过比对的样本属性的大小安排样本属性队列中的样本属性的排列序位,从而保证样本属性队列中的样本属性的有序排列。
步骤S240、判断所述样本属性队列的长度是否达到设定数值N,若是,执行步骤S250,若否,执行步骤S290;
步骤S250、判断所获取的样本属性是否介于所述样本属性队列中存储的样本属性的最大值和最小值之间,若是,执行步骤S260,若否,执行步骤S280;
步骤S260、确定所述样本属性队列中样本属性小于所获取的样本属性的最大样本属性,及样本属性不小于所获取的样本属性的最小样本属性,等概率随机的将所述最大样本属性或最小样本属性对应的位置确定为所述更新位置;
由于样本属性队列的长度达到设定数值N,且所获取的样本属性不小于所述样本属性队列中存储的某一样本属性,则可确定所获取的样本属性可以替换样本属性队列中存储的某一样本属性。设所获取的样本属性为D,an-2、an-1、an和an+1为样本属性队列中的样本属性,若通过比对所获取的样本属性D的大小与样本属性队列中的其他样本属性的大小,可得出an-1<D<=an,则 an-1为样本属性队列中样本属性小于D的最大样本属性,an为样本属性队列中样本属性不小于D的最小样本属性,则可等概率随机的从an-1和an的位置中选择一个作为更新位置,以便等概率随机的用D替换掉an-1或an
步骤S270、等概率随机的将所述最大样本属性或最小样本属性对应的位置上的样本属性替换为所获取的样本属性,在等概率随机的将所述最大样本属性或最小样本属性对应的位置上的样本属性替换为所获取的样本属性后,所述样本属性队列中的样本属性为有序排列状态;
由于等概率随机的将所述最大样本属性或最小样本属性对应的位置上的样本属性替换为所获取的样本属性时,已经保证了替换了所获取的样本属性的样本属性队列的有序性,因此不必再重新的对样本属性队列中的样本属性的位置进行调整。
需要说明的是,在更新位置上等概率随机的将所述最大样本属性或最小样本属性替换为所获取的样本属性的同时,还需在更新位置上将相应的最大样本属性或最小样本属性对应的样本标识替换为所获取的样本属性对应的样本标识。
值得注意的是,本发明实施例不是一直用D替换掉小于D的最大样本属性an-1,若是一直用D替换掉小于D的最大样本属性an-1,则容易变成样本属性的最高排行榜;同理,本发明实施例也不是一直用D替换掉不小于D的最小样本属性an,若是一直用D替换掉不小于D的最小样本属性an,则容易变成样本属性的最低排行榜;本发明实施例是采用D等概率随机替换an-1或an,遵从这一原则,可使得本发明实施例得到的样本属性队列更能准确的反映大规模样本整体的样本属性分布情况。
可选的,可采用二分查找法进行所获取的样本属性的大小与样本属性队列中的样本属性的大小的比对,从而确定上述最大样本属性,和最小样本属性。
步骤S280、若所获取的样本属性小于所述样本属性队列中存储的样本属性的最小值,则随机等概率的将所述最小值的位置的样本属性替换为所获取的样本属性,或剔除所获取的样本属性;若所获取的样本属性大于所述样本属性队列中存储的样本属性的最大值,则随机等概率的将所述最大值的位置的样本属性替换为所获取的样本属性,或剔除所获取的样本属性;
设a0为样本属性队列中存储的最小样本属性,D为所获取的样本属性,若D小于a0,则本发明实施例会随机等概率的选择剔除D或在a0的位置上使用D替换a0,此时得到的样本属性队列为有序的;设an为样本属性队列中存储的最大样本属性,D为所获取的样本属性,若D大于an,则本发明实施例会随机等概率的选择剔除D或在an的位置上使用D替换an,此时得到的样本属性队列为有序的。
步骤S290、比对所获取的样本属性与样本属性队列中存储的样本属性的大小,通过所比对的所获取的样本属性与样本属性队列中存储的样本属性的大小,确定所获取的样本属性在所述样本属性队列中的更新位置;
步骤S300、在所述更新位置上写入所获取的样本属性,以增长样本属性队列的长度,在所述更新位置上写入所获取的样本属性后,所述样本属性队列中的样本属性为有序排列状态。
由于样本属性队列的长度未达到N,因此可将所获取的样本属性插入样本属性队列中的更新位置,以使得样本属性队列的长度可以增长,直至样本属性队列的长度达到设定数值N。设所获取的样本属性为D,an-2、an-1、an和an+1为样本属性队列中的样本属性,若D的大小为样本属性队列中的中间值,如D的大小介于an-1、an之间,则可将D插入an-1、an之间,若D为样本属性队列中的最大值,则可将D插入到样本属性队列的头部(头部可以为样本属性队列中最大样本属性的存储位置),若D为样本属性队列中的最小值,则可将D插入到样本属性队列的尾部(尾部可以为样本属性队列中最小样本属性的存储位置);即本发明实施例可在样本属性队列中增加一个位置,在该位置上存储D,使得样本属性队列的长度可以增长,直至样本属性队列的长度达到设定数值N。
本发明实施例可通过二分查找法进行所获取的样本属性的大小与样本属性队列中存储的样本属性的大小的比对。
值得注意的是,在更新位置上写入所获取的样本属性,以增长样本属性队列的长度的同时,还需在更新位置上写入所获取的样本属性对应的样本标识。
结合图3所示方法,可以看出本发明实施例实行样本属性的动态分布数据获取方法的一个重点在于更新位置的确定:
当所获取的样本属性对应的样本与所述样本属性队列所对应的样本相匹配时,可确定所述样本属性队列中与所获取的样本属性对应的样本的位置为所述更新位置;
当所获取的样本属性对应的样本与所述样本属性队列所对应的样本不相匹配时,则需要根据所获取的样本属性的大小与所述样本属性队列中存储的样本属性的大小确定更新位置;对于此种情况又具体分为下述四种情况:
若所述样本属性队列的长度未达到设定数值N,则比对所获取的样本属性与样本属性队列中存储的样本属性的大小,通过所比对的所获取的样本属性与样本属性队列中存储的样本属性的大小,确定所获取的样本属性在所述样本属性队列中的更新位置;
若所述样本属性队列的长度达到设定数值N,且所获取的样本属性介于所述样本属性队列中存储的样本属性的最大值和最小值之间,则确定所述样本属性队列中样本属性小于所获取的样本属性的最大样本属性,及样本属性不小于所获取的样本属性的最小样本属性,随机的将所述最大样本属性或最小样本属性对应的位置确定为所述更新位置;
若所述样本属性队列的长度达到设定数值N,且所获取的样本属性小于所述样本属性队列中存储的样本属性的最小值,则随机等概率的将所述最小值的位置的样本属性替换为所获取的样本属性,或剔除所获取的样本属性;
若所述样本属性队列的长度达到设定数值N,且所获取的样本属性大于所述样本属性队列中存储的样本属性的最大值,则随机等概率的将所述最大值的位置的样本属性替换为所获取的样本属性,或剔除所获取的样本属性。
为便于理解本发明实施例提供的样本属性的动态分布数据获取方法,现以样本属性为用户手机的流量为例,对本发明实施例提供的样本属性的动态分布数据获取方法进行说明。图4为本发明实施例提供的样本属性的动态分布数据获取方法的又一流程图,参照图4,该方法可以包括:
步骤S400、获取某一区域中的任一手机的手机流量;
可选的,可在某基站或某市等区域内的任一手机的手机流量发生变更时,将变更后的手机流量发送给服务器;可选的,也可在某基站或某市等区域内的手机使用手机流量参与某一上网模式时,将处于该上网模式下的各手机的手机流量发送给服务器,如在手机使用手机流量登陆即时通讯软件时,可将 处于即时通讯软件登陆状态下的各手机的手机流量发送给服务器。随同手机流量一同发送的数据还可以有手机标识(如手机号等)。
步骤S410、判断所获取的手机流量对应的手机是否与预先维持的手机流量队列所对应的手机相匹配,若是,执行步骤S420,若否,执行步骤S440;
其中,手机流量队列存储有该区域内的手机的手机流量,手机流量队列的长度为N,N小于该区域内的手机总数,手机流量在该手机流量队列中按照从大到小或从小到大的顺序有序排列。
可选的,手机流量队列中存储有手机流量和手机标识,手机流量和手机标识对应;可通过所获取的手机流量对应的手机标识,与手机流量队列中存储的手机标识进行比对,若所获取的手机流量对应的手机标识与手机流量队列中存储的手机标识相匹配,则可确定所获取的手机流量对应的手机与预先维持的手机流量队列所对应的手机相匹配,即所获取的手机流量对应的手机的旧手机流量存储在手机流量队列中;若所获取的手机流量对应的手机标识与手机流量队列中存储的手机标识不相匹配,则可确定所获取的手机流量对应的手机与预先维持的手机流量队列所对应的手机不相匹配,即手机流量队列中未存储有所获取的手机流量对应的手机的旧手机流量。
步骤S420、确定手机流量队列中与所获取的手机流量对应的手机的位置为所述更新位置,将所述更新位置上的旧手机流量替换为所获取的手机流量;
步骤S430、根据所述更新位置上所更新的手机流量,调整所述手机流量队列中手机流量的排列顺序,以保持所述手机流量队列中的手机流量的有序排列;
步骤S440、判断手机流量队列的长度是否达到数值N,若是,执行步骤S450,若否,执行步骤S490;
步骤S450、判断所获取的手机流量是否介于手机流量队列中存储的最小手机流量和最大手机流量之间,若是,执行步骤S460,若否,执行步骤S480;
步骤S460、确定手机流量队列中手机流量小于所获取的手机流量的最大手机流量,及手机流量不小于所获取的手机流量的最小手机流量,等概率随机的将所述最大手机流量或最小手机流量对应的位置确定为所述更新位置;
步骤S470、等概率随机的将最大手机流量或最小手机流量对应的位置上的手机流量替换为所获取的手机流量,在随机的将所述最大手机流量或最小 手机流量对应的位置上的手机流量替换为所获取的手机流量后,所述手机流量队列中的手机流量为有序排列状态;
步骤S480、若所获取的手机流量小于所述手机流量队列中存储的手机流量的最小值,则随机等概率的将所述最小值的位置的手机流量替换为所获取的手机流量,或剔除所获取的手机流量;若所获取的手机流量大于所述手机流量队列中存储的手机流量的最大值,则随机等概率的将所述最大值的位置的手机流量替换为所获取的手机流量,或剔除所获取的手机流量;
步骤S490、比对所获取的手机流量与手机流量队列中存储的手机流量的大小,通过所比对的所获取的手机流量与手机流量队列中存储的手机流量的大小,确定所获取的手机流量在手机流量队列中的更新位置;
步骤S500、在所述更新位置上写入所获取的手机流量,以增长手机流量队列的长度,在所述更新位置上写入所获取的手机流量后,所述手机流量队列中的手机流量为有序排列状态。
可选的,本发明实施例提供的样本属性的动态分布数据获取方法也可应用于游戏中玩家战斗力的分布数据的获取,对应的,样本为游戏玩家,样本属性为玩家战斗力。图5为本发明实施例提供的样本属性的动态分布数据获取方法的再一流程图,参照图5,该方法可以包括:
步骤S600、获取游戏中任一玩家的战斗力;
可选的,本发明实施例可在所有玩家的战斗力一有变化时,即向服务器上传玩家的战斗力;也可在一种所有玩家都能参与的玩法模式里(如玩家组队模式中),将每次参与该玩法模式的各玩家的玩家战斗力上传至服务器中,以使得服务器能够获取游戏中任一玩家的战斗力;可选的,随同玩家的战斗力一起上传至服务器的数据还可以有玩家ID。
步骤S610、判断所获取的玩家战斗力对应的玩家是否与预先维持的玩家战斗力队列所对应的玩家相匹配,若是,执行步骤S620,若否,执行步骤S640;
其中,玩家战斗力队列存储有游戏的玩家战斗力值,玩家战斗力队列的长度为N,N小于游戏中所有玩家的数目,玩家战斗力在该玩家战斗力队列中按照从大到小或从小到大的顺序有序排列。
可选的,玩家战斗力队列中可以存储有玩家ID和玩家ID对应的战斗力, 可通过所获取的玩家战斗力对应的玩家ID,与玩家战斗力队列中的存储的玩家ID进行比对,若所获取的玩家战斗力对应的玩家ID与玩家战斗力队列中存储的玩家ID相匹配,则可确定所获取的玩家战斗力对应的玩家与预先维持的玩家战斗力队列所对应的玩家相匹配,即玩家战斗力队列中存储有与所获取的玩家战斗力对应的玩家的旧战斗力;若不匹配,则可确定所获取的玩家战斗力对应的玩家与预先维持的玩家战斗力队列所对应的玩家不相匹配,即玩家战斗力队列中未存储有与所获取的玩家战斗力对应的玩家的旧战斗力。
可选的,服务器还可设置一个以玩家ID为key(密匙)的hash map(哈希地图),该hash map用于存储玩家战斗力在玩家战斗力队列中的位置,通过在hash map中查找所获取的玩家战斗力对应的玩家ID,可确定所获取的玩家战斗力数据对应的玩家是否与预先维持的玩家战斗力队列所对应的玩家相匹配。
步骤S620、确定玩家战斗力队列中与所获取的玩家战斗力对应的玩家的位置为所述更新位置,将所述更新位置上的旧玩家战斗力替换为所获取的玩家战斗力;
值得注意的是,在更新位置上将旧玩家战斗力替换为所获取的玩家战斗力的同时,还需在更新位置上将旧玩家战斗力对应的玩家标识替换为所获取的玩家战斗力对应的玩家标识。
步骤S630、根据所述更新位置上所更新的玩家战斗力,调整玩家战斗力队列中玩家战斗力的排列顺序,以保持玩家战斗力队列中的玩家战斗力的有序排列;
步骤S640、判断玩家战斗力队列的长度是否达到数值N,若是,执行步骤S650、若否,执行步骤S690;
步骤S650、判断所获取的玩家战斗力是否介于玩家战斗力队列中存储的最小玩家战斗力和最大玩家战斗力之间,若是,执行步骤S660,若否,执行步骤S680;
步骤S660、确定玩家战斗力队列中玩家战斗力小于所获取的玩家战斗力的最大玩家战斗力,及玩家战斗力不小于所获取的玩家战斗力的最小玩家战斗力,随机的将最大玩家战斗力或最小玩家战斗力对应的位置确定为所述更新位置;
步骤S670、等概率随机的将最大玩家战斗力或最小玩家战斗力对应的位置上的玩家战斗力替换为所获取的玩家战斗力,在随机的将最大玩家战斗力或最小玩家战斗力对应的位置上的玩家战斗力替换为所获取的玩家战斗力后,玩家战斗力队列中的玩家战斗力为有序排列状态;
需要说明的是,在更新位置上等概率随机的将最大玩家战斗力或最小玩家战斗力替换为所获取的玩家战斗力的同时,还需在更新位置上将相应的最大玩家战斗力或最小玩家战斗力对应的玩家标识替换为所获取的玩家战斗力对应的玩家标识。
步骤S680、若所获取的玩家战斗力小于所述玩家战斗力队列中存储的玩家战斗力的最小值,则随机等概率的将所述最小值的位置的玩家战斗力替换为所获取的玩家战斗力,或剔除所获取的玩家战斗力;若所获取的玩家战斗力大于所述玩家战斗力队列中存储的玩家战斗力的最大值,则随机等概率的将所述最大值的位置的玩家战斗力替换为所获取的玩家战斗力,或剔除所获取的玩家战斗力;
步骤S690、比对所获取的玩家战斗力与玩家战斗力队列中存储的玩家战斗力的大小,通过所比对的所获取的玩家战斗力与玩家战斗力队列中存储的玩家战斗力的大小,确定所获取的玩家战斗力在玩家战斗力队列中的更新位置;
步骤S700、在所述更新位置上写入所获取的玩家战斗力,以增长玩家战斗力队列的长度,在所述更新位置上写入所获取的玩家战斗力后,所述玩家战斗力队列中的样本属性为有序排列状态。
值得注意的是,在更新位置上写入所获取的玩家战斗力,以增长玩家战斗力队列的长度的同时,还需在更新位置上写入所获取的玩家战斗力对应的样本标识。
结合图5所示步骤S620和S630,步骤S670,及步骤S700可得到本发明实施例的玩家战斗力的动态分布数据;在得到玩家战斗力的动态分布数据后可将玩家战斗力的动态分布数据进行输出。在本发明实施例中,玩家战斗力队列反映了整个游戏的战斗力分布情况,某个战斗力区间在该队列中占有的数量反映了处于该战斗力区间的玩家数量多寡。图6和图7分别是某款游戏中两个不同时刻时玩家战斗力队列数据图。图中服务器维持的玩家战斗力队 列长度N为1000;目前游戏处于封测阶段,同时在线玩家只有300多,绘出的曲线还不够光滑,但从图中可以看到整体游戏战斗力分布情况。同时对比两张图,可以发现多数玩家的战斗力处于提升中。
本发明实施例提供的样本属性的动态分布数据获取方法基于简单随机抽样原理,只需维持长度为N的样本属性队列即可得到样本属性的动态分布数据,减小了样本属性的动态分布数据获取的计算量,可以及时的获取样本属性的动态分布数据。
下面对本发明实施例提供的样本属性的动态分布数据获取系统进行介绍,下文描述的样本属性的动态分布数据获取系统与上文描述的样本属性的动态分布数据获取方法相对应,两者可相互参照。
图8为本发明实施例提供的样本属性的动态分布数据获取系统的结构框图,参照图8,该系统可以包括:
获取模块100,用于获取大规模样本中的任一样本的样本属性;
更新位置确定模块200,用于确定所获取的样本属性在预先维持的样本属性队列中的更新位置;
更新模块300,用于在更新位置确定模块200所确定的更新位置上更新入所获取的样本属性;
排列保持模块400,用于在所述更新位置上更新入所获取的样本属性后,保持所述样本属性队列中的样本属性的有序排列,得到样本属性的动态分布数据;
其中,所述样本属性队列中存储有所述大规模样本中的样本的样本属性,样本属性在所述样本属性队列中有序的排列,所述样本属性队列的长度为设定数值N,N小于所述大规模样本中的总样本数。
图9示出了更新位置确定模块200的一种可选结构,参照图9,更新位置确定模块200可以包括:
第一判断单元210,用于判断所获取的样本属性对应的样本与所述样本属性队列所对应的样本是否相匹配;
第一确定单元220,用于在第一判断单元210的判断结果为是时,确定所述样本属性队列中与所获取的样本属性对应的样本的位置为所述更新位置;
第二确定单元230,用于在第一判断单元210的判断结果为否时,根据所获取的样本属性的大小与所述样本属性队列中存储的样本属性的大小确定更新位置。
在图9所示第一确定单元220的基础上,图10示出了更新模块300的一种可选结构,参照图10,更新模块300可以包括:
第一更新单元310,用于在第一确定单元220确定所述样本属性队列中与所获取的样本属性对应的样本的位置为所述更新位置的状态下,将所述样本属性队列中与所获取的样本属性对应的样本的位置上的样本属性替换为所获取的样本属性。
对应的,在图10所示第一更新单元310的基础上,图11示出了排列保持模块400的另一种可选结构,参照图11,排列保持模块400可以包括:
第一排列保持单元410,用于根据所述更新位置上所更新的样本属性,调整所述样本属性队列中样本属性的排列顺序,以保持所述样本属性队列中的样本属性的有序排列。
图12示出了第二确定单元230的一种可选结构,参照图12,第二确定单元230可以包括:
队列长度判断子单元231,用于判断所述样本属性队列的长度是否达到设定数值N;
第一更新位置确定子单元232,用于在队列长度判断子单元231的判断结果为是,且所获取的样本属性介于所述样本属性队列中存储的样本属性的最大值和最小值之间时,确定所述样本属性队列中样本属性小于所获取的样本属性的最大样本属性,及样本属性不小于所获取的样本属性的最小样本属性,随机的将所述最大样本属性或最小样本属性对应的位置确定为所述更新位置;
第二更新位置确定子单元233,用于在队列长度判断子单元231的判断结果为否时,比对所获取的样本属性与样本属性队列中存储的样本属性的大小,通过所比对的所获取的样本属性与样本属性队列中存储的样本属性的大小,确定所获取的样本属性在所述样本属性队列中的更新位置。
在图12所示第一更新位置确定子单元232的基础上,图13示出了更新模块300的另一种可选结构,参照图13,更新模块300可以包括:
第二更新单元320,用于在第一更新位置确定子单元232确定更新位置后,等概率随机的将所述最大样本属性或最小样本属性对应的位置上的样本属性替换为所获取的样本属性。
对应的,在图13所示第二更新单元320的基础上,图14示出了排列保持模块400的另一种可选结构,参照图14,排列保持模块400可以包括:
第二排列保持单元420,用于在第二更新单元320等概率随机的将所述最大样本属性或最小样本属性对应的位置上的样本属性替换为所获取的样本属性后,确定所述样本属性队列中的样本属性为有序排列状态。
在图12所示第二更新位置确定子单元233的基础上,图15示出了更新模块300的又一种可选结构,参照图15,更新模块300可以包括:
第三更新单元330,用于在第二更新位置确定子单元233确定更新位置后,在所述更新位置上写入所获取的样本属性,以增长样本属性队列的长度。
对应的,在图15所示第三更新单元330的基础上,图16示出了排列保持模块400的又一种可选结构,参照图16,排列保持模块400可以包括:
第三排列保持单元430,用于在所述更新位置上写入所获取的样本属性后,确定所述样本属性队列中的样本属性为有序排列状态。
本发明实施例提供的样本属性的动态分布数据获取系统基于简单随机抽样原理,只需维持长度为N的样本属性队列即可得到样本属性的动态分布数据,减小了样本属性的动态分布数据获取的计算量,可以及时的获取样本属性的动态分布数据。
本发明实施例提供的样本属性的动态分布数据获取方法可应用于服务器中,下面对应用有本发明实施例提供的样本属性的动态分布数据获取方法的服务器的硬件结构进行描述,值得注意的是,下文涉及样本属性的动态分布数据获取方法的部分,可与上文提供的动态分布数据获取方法及系统相对应,可相互参照。
图17为本发明实施例提供的服务器的硬件结构图,参照图17,服务器可以包括:通信接口1,存储器2,处理器3和通信总线4。
下面结合图17对服务器的各个构成部件进行具体的介绍:
通信接口1可以为通信模块的接口,如网卡的接口,用于在服务器与外 部设备进行信息收发过程中,实现信号的接收和发送。
存储器2可用于存储软件程序以及模块,处理器3通过运行存储在存储器2的软件程序以及模块,从而执行服务器的各种功能应用以及数据处理。存储器2可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器2可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器3是服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器2内的软件程序和/或模块,以及调用存储在存储器2内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器3可包括一个或多个处理单元;优选的,处理器3可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器3中。
通信接口1,存储器2,处理器3通过通信总线4完成相互间的通信。
在本发明实施例中,处理器3还可以具有如下功能:
通过通信接口1获取大规模样本中的任一样本的样本属性;
确定所获取的样本属性在预先维持的样本属性队列中的更新位置,在所述更新位置上更新入所获取的样本属性;
保持所述样本属性队列中的样本属性的有序排列,得到样本属性的动态分布数据;
其中,所述样本属性队列中存储有所述大规模样本中的样本的样本属性,样本属性在所述样本属性队列中有序的排列,所述样本属性队列的长度为设定数值N,N小于所述大规模样本中的总样本数。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

一种样本属性的动态分布数据获取方法及系统.pdf_第1页
第1页 / 共28页
一种样本属性的动态分布数据获取方法及系统.pdf_第2页
第2页 / 共28页
一种样本属性的动态分布数据获取方法及系统.pdf_第3页
第3页 / 共28页
点击查看更多>>
资源描述

《一种样本属性的动态分布数据获取方法及系统.pdf》由会员分享,可在线阅读,更多相关《一种样本属性的动态分布数据获取方法及系统.pdf(28页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104133824A43申请公布日20141105CN104133824A21申请号201310351587622申请日20130813G06F17/3020060171申请人腾讯科技(深圳)有限公司地址518000广东省深圳市福田区振兴路赛格科技园2栋东403室72发明人张尚良王旭新74专利代理机构深圳市深佳知识产权代理事务所普通合伙44285代理人唐华明54发明名称一种样本属性的动态分布数据获取方法及系统57摘要本发明实施例提供一种样本属性的动态分布数据获取方法及系统,其中方法可以包括获取大规模样本中的任一样本的样本属性;确定所获取的样本属性在预先维持的样本属性队列中的更。

2、新位置,在所述更新位置上更新入所获取的样本属性;保持所述样本属性队列中的样本属性的有序排列,得到样本属性的动态分布数据;其中,所述样本属性队列中存储有所述大规模样本中的样本的样本属性,样本属性在所述样本属性队列中有序的排列,所述样本属性队列的长度为设定数值N,N小于所述大规模样本中的总样本数。本发明实施例基于简单随机抽样原理,只需维持长度为N的样本属性队列即可得到样本属性的动态分布数据,减小了样本属性的动态分布数据获取的计算量。51INTCL权利要求书3页说明书16页附图8页19中华人民共和国国家知识产权局12发明专利申请权利要求书3页说明书16页附图8页10申请公布号CN104133824A。

3、CN104133824A1/3页21一种样本属性的动态分布数据获取方法,其特征在于,包括获取大规模样本中的任一样本的样本属性;确定所获取的样本属性在预先维持的样本属性队列中的更新位置,在所述更新位置上更新入所获取的样本属性;保持所述样本属性队列中的样本属性的有序排列,得到样本属性的动态分布数据;其中,所述样本属性队列中存储有所述大规模样本中的样本的样本属性,样本属性在所述样本属性队列中有序的排列,所述样本属性队列的长度为设定数值N,N小于所述大规模样本中的总样本数。2根据权利要求1所述的方法,其特征在于,所述确定所获取的样本属性在预先维持的样本属性队列中的更新位置包括判断所获取的样本属性对应的。

4、样本与所述样本属性队列所对应的样本是否相匹配;若所获取的样本属性对应的样本与所述样本属性队列所对应的样本相匹配,则确定所述样本属性队列中与所获取的样本属性对应的样本的位置为所述更新位置;若所获取的样本属性对应的样本与所述样本属性队列所对应的样本不相匹配,则根据所获取的样本属性的大小与所述样本属性队列中存储的样本属性的大小确定更新位置。3根据权利要求2所述的方法,其特征在于,在所获取的样本属性对应的样本与所述样本属性队列所对应的样本相匹配时,所述在所述更新位置上更新入所获取的样本属性包括将所述样本属性队列中与所获取的样本属性对应的样本的位置上的样本属性替换为所获取的样本属性;所述保持所述样本属性。

5、队列中的样本属性的有序排列包括根据所述更新位置上所更新的样本属性,调整所述样本属性队列中样本属性的排列顺序,以保持所述样本属性队列中的样本属性的有序排列。4根据权利要求2所述的方法,其特征在于,所述根据所获取的样本属性的大小与所述样本属性队列中存储的样本属性的大小确定更新位置包括判断所述样本属性队列的长度是否达到设定数值N;若所述样本属性队列的长度达到设定数值N,且所获取的样本属性介于所述样本属性队列中存储的样本属性的最大值和最小值之间,确定所述样本属性队列中样本属性小于所获取的样本属性的最大样本属性,及样本属性不小于所获取的样本属性的最小样本属性,等概率随机的将所述最大样本属性或最小样本属性。

6、对应的位置确定为所述更新位置;若所述样本属性队列的长度达到设定数值N,且所获取的样本属性小于所述样本属性队列中存储的样本属性的最小值,则等概率随机的将所述最小值的位置确定为所述更新位置或剔除所获取的样本属性;若所述样本属性队列的长度达到设定数值N,且所获取的样本属性大于所述样本属性队列中存储的样本属性的最大值,则等概率随机的将所述最大值的位置确定为所述更新位置或剔除所获取的样本属性;若所述样本属性队列的长度未达到设定数值N,则比对所获取的样本属性与样本属性队列中存储的样本属性的大小,通过所比对的所获取的样本属性与样本属性队列中存储的样本属性的大小,确定所获取的样本属性在所述样本属性队列中的更新。

7、位置。权利要求书CN104133824A2/3页35根据权利要求4所述的方法,其特征在于,在所述样本属性队列的长度达到设定数值N,且所获取的样本属性介于所述样本属性队列中存储的样本属性的最大值和最小值之间时,所述将所述更新位置上的样本属性更新为所获取的样本属性包括等概率随机的将所述最大样本属性或最小样本属性对应的位置上的样本属性替换为所获取的样本属性;所述保持所述样本属性队列中的样本属性的有序排列包括在随机的将所述最大样本属性或最小样本属性对应的位置上的样本属性替换为所获取的样本属性后,确定所述样本属性队列中的样本属性为有序排列状态。6根据权利要求4所述的方法,其特征在于,在所述样本属性队列的。

8、长度未达到设定数值N时,所述将所述更新位置上的样本属性更新为所获取的样本属性包括在所述更新位置上写入所获取的样本属性,以增长样本属性队列的长度;所述保持所述样本属性队列中的样本属性的有序排列包括在所述更新位置上写入所获取的样本属性后,确定所述样本属性队列中的样本属性为有序排列状态。7一种样本属性的动态分布数据获取系统,其特征在于,包括获取模块,用于获取大规模样本中的任一样本的样本属性;更新位置确定模块,用于确定所获取的样本属性在预先维持的样本属性队列中的更新位置;更新模块,用于在所述更新位置确定模块所确定的更新位置上更新入所获取的样本属性;排列保持模块,用于在所述更新位置上更新入所获取的样本属。

9、性后,保持所述样本属性队列中的样本属性的有序排列,得到样本属性的动态分布数据;其中,所述样本属性队列中存储有所述大规模样本中的样本的样本属性,样本属性在所述样本属性队列中有序的排列,所述样本属性队列的长度为设定数值N,N小于所述大规模样本中的总样本数。8根据权利要求7所述的系统,其特征在于,所述更新位置确定模块包括第一判断单元,用于判断所获取的样本属性对应的样本与所述样本属性队列所对应的样本是否相匹配;第一确定单元,用于在所述第一判断单元的判断结果为是时,确定所述样本属性队列中与所获取的样本属性对应的样本的位置为所述更新位置;第二确定单元,用于在所述第一判断单元的判断结果为否时,根据所获取的样。

10、本属性的大小与所述样本属性队列中存储的样本属性的大小确定更新位置。9根据权利要求8所述的系统,其特征在于,在所述第一确定单元确定所述样本属性队列中与所获取的样本属性对应的样本的位置为所述更新位置的状态下,所述更新模块包括第一更新单元,用于将所述样本属性队列中与所获取的样本属性对应的样本的位置上的样本属性替换为所获取的样本属性;所述排列保持模块包括第一排列保持单元,用于根据所述更新位置上所更新的样本属性,调整所述样本属性权利要求书CN104133824A3/3页4队列中样本属性的排列顺序,以保持所述样本属性队列中的样本属性的有序排列。10根据权利要求8所述的系统,其特征在于,所述第二确定单元包括。

11、队列长度判断子单元,用于判断所述样本属性队列的长度是否达到设定数值N;第一更新位置确定子单元,用于在所述队列长度判断子单元的判断结果为是,且所获取的样本属性介于所述样本属性队列中存储的样本属性的最大值和最小值之间时,确定所述样本属性队列中样本属性小于所获取的样本属性的最大样本属性,及样本属性不小于所获取的样本属性的最小样本属性,等概率随机的将所述最大样本属性或最小样本属性对应的位置确定为所述更新位置;第二更新位置确定子单元,用于在所述队列长度判断子单元的判断结果为否时,比对所获取的样本属性与样本属性队列中存储的样本属性的大小,通过所比对的所获取的样本属性与样本属性队列中存储的样本属性的大小,确。

12、定所获取的样本属性在所述样本属性队列中的更新位置;在所述第一更新位置确定子单元确定更新位置的状态下,所述更新模块包括第二更新单元;所述排列保持模块包括第二排列保持单元;在所述第二更新位置确定子单元确定更新位置的状态下,所述更新模块包括第三更新单元;所述排列保持模块包括第三排列保持单元;其中,所述第二更新单元,用于在所述第一更新位置确定子单元确定更新位置后,等概率随机的将所述最大样本属性或最小样本属性对应的位置上的样本属性替换为所获取的样本属性;所述第二排列保持单元,用于在等概率随机的将所述最大样本属性或最小样本属性对应的位置上的样本属性替换为所获取的样本属性后,确定所述样本属性队列中的样本属性。

13、为有序排列状态;所述第三更新单元,用于在所述第二更新位置确定子单元确定更新位置后,在所述更新位置上写入所获取的样本属性,以增长样本属性队列的长度;所述第三排列保持单元,用于在所述更新位置上写入所获取的样本属性后,确定所述样本属性队列中的样本属性为有序排列状态。权利要求书CN104133824A1/16页5一种样本属性的动态分布数据获取方法及系统技术领域0001本发明涉及数据处理技术领域,更具体地说,涉及一种样本属性的动态分布数据获取方法及系统。背景技术0002样本属性是指样本中具有统计价值且处于动态变化的属性,样本属性可以如用户手机的流量,农林养殖中的样本(样本可如鸡、鸭、猪等家禽)体重,游戏。

14、中玩家的战斗力等;对应的样本则为用户手机,农林养殖中的样本,游戏中的玩家等。目前,当存在大规模的样本时,获取大规模样本的样本属性的动态分布数据成为一个困扰技术人员的问题,样本属性的动态分布数据是指大规模样本中各样本的样本属性的动态分布情况,比如某一区域(如某市,某基站)内的用户手机的流量使用情况,某一游戏中的玩家的战斗力分布情况等。通过获取样本属性的动态分布数据,可以直观的了解大规模样本中的样本状况,比如通过获取某一区域内的用户手机的使用流量,可以直观的了解该区域内各用户手机的流量使用情况,从而为该区域内的基站建设、信道优化提供指导意见等;又如通过获取农林养殖中的家禽的体重,可以直观的了解所养。

15、家禽的体重情况,从而进行养殖策略的调整等。0003目前,大规模样本中各样本的样本属性一般会定期更新后存储在数据库中,为获取样本属性的动态分布数据,服务器一般会定时遍历数据库,读取数据库中所有样本的样本属性,从而整理得到大规模样本的样本属性的动态分布数据。本发明的发明人在研究和实践过程中发现,现有技术至少存在以下的技术问题现有技术需要遍历数据库,读取数据库中所有样本的样本属性才能得到样本属性的动态分布数据,所需要的计算量较大,样本属性的动态分布数据的获取较为费时。发明内容0004有鉴于此,本发明实施例提供一种样本属性的动态分布数据获取方法及系统,以解决现有样本属性的动态分布数据的获取方式的计算量。

16、较大,较为费时的问题。0005为实现上述目的,本发明实施例提供如下技术方案0006一种样本属性的动态分布数据获取方法,包括0007获取大规模样本中的任一样本的样本属性;0008确定所获取的样本属性在预先维持的样本属性队列中的更新位置,在所述更新位置上更新入所获取的样本属性;0009保持所述样本属性队列中的样本属性的有序排列,得到样本属性的动态分布数据;0010其中,所述样本属性队列中存储有所述大规模样本中的样本的样本属性,样本属性在所述样本属性队列中有序的排列,所述样本属性队列的长度为设定数值N,N小于所述大规模样本中的总样本数。0011其中,所述确定所获取的样本属性在预先维持的样本属性队列中。

17、的更新位置包说明书CN104133824A2/16页6括0012判断所获取的样本属性对应的样本与所述样本属性队列所对应的样本是否相匹配;0013若所获取的样本属性对应的样本与所述样本属性队列所对应的样本相匹配,则确定所述样本属性队列中与所获取的样本属性对应的样本的位置为所述更新位置;0014若所获取的样本属性对应的样本与所述样本属性队列所对应的样本不相匹配,则根据所获取的样本属性的大小与所述样本属性队列中存储的样本属性的大小确定更新位置。0015其中,在所获取的样本属性对应的样本与所述样本属性队列所对应的样本相匹配时,所述在所述更新位置上更新入所获取的样本属性包括0016将所述样本属性队列中与。

18、所获取的样本属性对应的样本的位置上的样本属性替换为所获取的样本属性;0017所述保持所述样本属性队列中的样本属性的有序排列包括0018根据所述更新位置上所更新的样本属性,调整所述样本属性队列中样本属性的排列顺序,以保持所述样本属性队列中的样本属性的有序排列。0019其中,所述根据所获取的样本属性的大小与所述样本属性队列中存储的样本属性的大小确定更新位置包括0020判断所述样本属性队列的长度是否达到设定数值N;0021若所述样本属性队列的长度达到设定数值N,且所获取的样本属性介于所述样本属性队列中存储的样本属性的最大值和最小值之间,确定所述样本属性队列中样本属性小于所获取的样本属性的最大样本属性。

19、,及样本属性不小于所获取的样本属性的最小样本属性,等概率随机的将所述最大样本属性或最小样本属性对应的位置确定为所述更新位置;0022若所述样本属性队列的长度达到设定数值N,且所获取的样本属性小于所述样本属性队列中存储的样本属性的最小值,则等概率随机的将所述最小值的位置确定为所述更新位置或剔除所获取的样本属性;0023若所述样本属性队列的长度达到设定数值N,且所获取的样本属性大于所述样本属性队列中存储的样本属性的最大值,则等概率随机的将所述最大值的位置确定为所述更新位置或剔除所获取的样本属性;0024若所述样本属性队列的长度未达到设定数值N,则比对所获取的样本属性与样本属性队列中存储的样本属性的。

20、大小,通过所比对的所获取的样本属性与样本属性队列中存储的样本属性的大小,确定所获取的样本属性在所述样本属性队列中的更新位置。0025其中,在所述样本属性队列的长度达到设定数值N,且所获取的样本属性介于所述样本属性队列中存储的样本属性的最大值和最小值之间时,所述将所述更新位置上的样本属性更新为所获取的样本属性包括0026等概率随机的将所述最大样本属性或最小样本属性对应的位置上的样本属性替换为所获取的样本属性;0027所述保持所述样本属性队列中的样本属性的有序排列包括0028在随机的将所述最大样本属性或最小样本属性对应的位置上的样本属性替换为所获取的样本属性后,确定所述样本属性队列中的样本属性为有。

21、序排列状态。说明书CN104133824A3/16页70029其中,在所述样本属性队列的长度未达到设定数值N时,所述将所述更新位置上的样本属性更新为所获取的样本属性包括0030在所述更新位置上写入所获取的样本属性,以增长样本属性队列的长度;0031所述保持所述样本属性队列中的样本属性的有序排列包括0032在所述更新位置上写入所获取的样本属性后,确定所述样本属性队列中的样本属性为有序排列状态。0033本发明实施例还提供一种样本属性的动态分布数据获取系统,包括0034获取模块,用于获取大规模样本中的任一样本的样本属性;0035更新位置确定模块,用于确定所获取的样本属性在预先维持的样本属性队列中的更。

22、新位置;0036更新模块,用于在所述更新位置确定模块所确定的更新位置上更新入所获取的样本属性;0037排列保持模块,用于在所述更新位置上更新入所获取的样本属性后,保持所述样本属性队列中的样本属性的有序排列,得到样本属性的动态分布数据;0038其中,所述样本属性队列中存储有所述大规模样本中的样本的样本属性,样本属性在所述样本属性队列中有序的排列,所述样本属性队列的长度为设定数值N,N小于所述大规模样本中的总样本数。0039其中,所述更新位置确定模块包括0040第一判断单元,用于判断所获取的样本属性对应的样本与所述样本属性队列所对应的样本是否相匹配;0041第一确定单元,用于在所述第一判断单元的判。

23、断结果为是时,确定所述样本属性队列中与所获取的样本属性对应的样本的位置为所述更新位置;0042第二确定单元,用于在所述第一判断单元的判断结果为否时,根据所获取的样本属性的大小与所述样本属性队列中存储的样本属性的大小确定更新位置。0043其中,在所述第一确定单元确定所述样本属性队列中与所获取的样本属性对应的样本的位置为所述更新位置的状态下,所述更新模块包括0044第一更新单元,用于将所述样本属性队列中与所获取的样本属性对应的样本的位置上的样本属性替换为所获取的样本属性;0045所述排列保持模块包括0046第一排列保持单元,用于根据所述更新位置上所更新的样本属性,调整所述样本属性队列中样本属性的排。

24、列顺序,以保持所述样本属性队列中的样本属性的有序排列。0047其中,所述第二确定单元包括0048队列长度判断子单元,用于判断所述样本属性队列的长度是否达到设定数值N;0049第一更新位置确定子单元,用于在所述队列长度判断子单元的判断结果为是,且所获取的样本属性介于所述样本属性队列中存储的样本属性的最大值和最小值之间时,确定所述样本属性队列中样本属性小于所获取的样本属性的最大样本属性,及样本属性不小于所获取的样本属性的最小样本属性,等概率随机的将所述最大样本属性或最小样本属性对应的位置确定为所述更新位置;0050第二更新位置确定子单元,用于在所述队列长度判断子单元的判断结果为否时,说明书CN10。

25、4133824A4/16页8比对所获取的样本属性与样本属性队列中存储的样本属性的大小,通过所比对的所获取的样本属性与样本属性队列中存储的样本属性的大小,确定所获取的样本属性在所述样本属性队列中的更新位置;0051在所述第一更新位置确定子单元确定更新位置的状态下,所述更新模块包括第二更新单元;所述排列保持模块包括第二排列保持单元;0052在所述第二更新位置确定子单元确定更新位置的状态下,所述更新模块包括第三更新单元;所述排列保持模块包括第三排列保持单元;0053其中,所述第二更新单元,用于在所述第一更新位置确定子单元确定更新位置后,等概率随机的将所述最大样本属性或最小样本属性对应的位置上的样本属。

26、性替换为所获取的样本属性;0054所述第二排列保持单元,用于在等概率随机的将所述最大样本属性或最小样本属性对应的位置上的样本属性替换为所获取的样本属性后,确定所述样本属性队列中的样本属性为有序排列状态;0055所述第三更新单元,用于在所述第二更新位置确定子单元确定更新位置后,在所述更新位置上写入所获取的样本属性,以增长样本属性队列的长度;0056所述第三排列保持单元,用于在所述更新位置上写入所获取的样本属性后,确定所述样本属性队列中的样本属性为有序排列状态。0057基于上述技术方案,本发明实施例提供的样本属性的动态分布数据获取方法基于简单随机抽样原理,根据样本和总体(大规模样本)服从同一分布的。

27、原理,即从大规模样本中抽出N个样本组成的样本属性队列所反映的样本属性分布情况,与大规模样本整体的样本属性分布情况服从于同一分布,因此可通过样本属性队列的样本属性分布情况反映大规模样本整体的样本属性分布情况;在此基础上,本发明实施例维持一个长度为N的样本属性进行有序排列的样本属性队列,N小于大规模样本中的总样本数,从大规模样本中获取任一样本的样本属性,确定所获取的样本属性在预先维持的样本属性队列中的更新位置,在所述更新位置上更新入所获取的样本属性;保持所述样本属性队列中的样本属性的有序排列,从而得到反映大规模样本整体的样本属性分布情况的样本属性的动态分布数据。相比现有技术需要遍历数据库,读取数据。

28、库中所有样本的样本属性才能得到样本属性的动态分布数据的方式,本发明实施例基于简单随机抽样原理,只需维持长度为N的样本属性队列即可得到样本属性的动态分布数据,减小了样本属性的动态分布数据获取的计算量,可以及时的获取样本属性的动态分布数据。附图说明0058为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。0059图1为本发明实施例提供的一种样本属性的动态分布数据获取方法的流程图;0060图2为本发明。

29、实施例提供的样本属性队列的结构图;0061图3为本发明实施例提供的一种样本属性的动态分布数据获取方法的另一流程说明书CN104133824A5/16页9图;0062图4为本发明实施例提供的样本属性的动态分布数据获取方法的又一流程图;0063图5为本发明实施例提供的样本属性的动态分布数据获取方法的再一流程图;0064图6为本发明实施例提供的某款游戏的玩家战斗力队列的数据图;0065图7为本发明实施例提供的某款游戏的玩家战斗力队列的另一数据图;0066图8为本发明实施例提供的样本属性的动态分布数据获取系统的结构框图;0067图9为本发明实施例提供的更新位置确定模块的结构框图;0068图10为本发明。

30、实施例提供的更新模块的结构框图;0069图11为本发明实施例提供的排列保持模块的结构框图;0070图12为本发明实施例提供的第二确定单元的结构框图;0071图13为本发明实施例提供的更新模块的另一结构框图;0072图14为本发明实施例提供的排列保持模块的另一结构框图;0073图15为本发明实施例提供的更新模块的又一结构框图;0074图16为本发明实施例提供的排列保持模块的又一结构框图;0075图17为本发明实施例提供的服务器的硬件结构图。具体实施方式0076为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描。

31、述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。0077图1为本发明实施例提供的一种样本属性的动态分布数据获取方法的流程图,该方法应用于服务器,该服务器能够进行数据处理从而得到样本属性的动态分布数据,参照图1,该方法可以包括0078步骤S100、获取大规模样本中的任一样本的样本属性;0079可选的,本发明实施例可在大规模样本的任一样本的样本属性发生变更时,将变更后的样本属性发送给服务器,从而使得服务器获取到大规模样本中的任一样本的样本属性;0080可选的,也可在大规模样本中的若。

32、干样本参与某一所有样本均可参与的模式时,将参与该模式的若干样本的各样本的样本属性上传给服务器,从而使得服务器获取到大规模样本中的任一样本的样本属性。值得注意的是,此处所指的模式可视样本应用领域的不同而进行变更,如样本为手机,样本属性为手机流量时,该模式可指使用手机流量登陆即时通讯软件的模式,则处于即时通讯软件登陆状态下的各手机将把手机流量上传给服务器;又如,样本为游戏中玩家,样本属性为游戏中玩家的战斗力时,该模式则可指所有玩家均可使用战斗力参与的玩法,则处于所有玩家均可使用战斗力参与的玩法下的各玩家的战斗力将上传给服务器。0081可选的,随同样本属性上传至服务器的数据还可以有样本标识,样本标识。

33、与样本属性相对应,比如上传至服务器的样本属性为手机流量时,样本标识可以为手机标识,服务器所获取的手机标识与手机流量对应,以表示该手机流量为该手机标识对应的手机所使用说明书CN104133824A6/16页10的;又如上传至服务器的样本属性为玩家战斗力时,样本标识可以为玩家ID,服务器所获取的玩家战斗力与玩家ID对应,以表示该玩家战斗力为该玩家ID对应的玩家所拥有。0082步骤S110、确定所获取的样本属性在预先维持的样本属性队列中的更新位置,在所述更新位置上更新入所获取的样本属性;0083在本发明实施例中,服务器中预先维持有样本属性队列,样本属性队列中存储有大规模样本中的样本的样本属性,在该样。

34、本属性队列中样本属性按属性的大小由从大到小,或从小到大的顺序有序排列,样本属性队列的长度为设定的数值N,数值N小于大规模样本中的总样本数,即样本属性队列中存储的样本总数为N,且小于大规模样本中的总样本数。0084可选的,在本发明实施例中,样本属性队列中存储有样本属性及与样本属性对应的样本标识;样本标识可用于表示样本属性对应的样本,因此可采用样本标识对样本属性队列中的各样本属性所归属的样本进行区分。图2示出了样本属性队列的一种可选结构,参照图2,样本属性队列可以具有N个位置,各个位置上存储有1个样本属性及对应的样本标识,如位置1上可以存储样本属性1及对应的样本标识1,位置2上可以存储样本属性2及。

35、对应的样本标识2,以此类推。0085值得注意的是,本发明实施例在更新位置上更新入所获取的样本属性的同时,还需要在更新位置上更新入所获取的样本属性对应的样本标识。0086步骤S120、保持所述样本属性队列中的样本属性的有序排列,得到样本属性的动态分布数据。0087在本发明实施例中,更新位置是指所获取的样本属性写入样本属性队列中的位置;需要注意的是,更新位置仅是所获取的样本属性在样本属性队列中的写入位置,其不是所获取的样本属性在样本属性队列中的最终位置,由于样本属性队列中的样本属性需要保持有序的排列,因此在所获取的样本属性写入更新位置后,若样本属性队列中的样本属性并不是处于有序排列状态,则需要调整。

36、样本属性队列中的样本属性的位置,以保持样本属性队列中的样本属性的有序排列,才可得到最终的样本属性的动态分布数据;若在所获取的样本属性写入更新位置后,样本属性队列中的样本属性保持为有序排列状态,则不需要再对样本属性队列中的样本属性的位置进行调整,在更新位置写入所获取的样本属性后得到的样本属性队列,即可反映样本属性的动态分布数据。0088本发明实施例提供的样本属性的动态分布数据获取方法基于简单随机抽样原理,根据样本和总体(大规模样本)服从同一分布的原理,即从大规模样本中抽出N个样本组成的样本属性队列所反映的样本属性分布情况,与大规模样本整体的样本属性分布情况服从于同一分布,因此可通过样本属性队列的。

37、样本属性分布情况反映大规模样本整体的样本属性分布情况;在此基础上,本发明实施例维持一个长度为N的样本属性进行有序排列的样本属性队列,N小于大规模样本中的总样本数,从大规模样本中获取任一样本的样本属性,确定所获取的样本属性在预先维持的样本属性队列中的更新位置,在所述更新位置上更新入所获取的样本属性;保持所述样本属性队列中的样本属性的有序排列,从而得到反映大规模样本整体的样本属性分布情况的样本属性的动态分布数据。相比现有技术需要遍历数据库,读取数据库中所有样本的样本属性才能得到样本属性的动态分布数据的方式,本发明实施例基于简单随机抽样原理,只需维持长度为N的样本属性队列即可得到样本属性的说明书CN。

38、104133824A107/16页11动态分布数据,减小了样本属性的动态分布数据获取的计算量,可以及时的获取样本属性的动态分布数据。0089在本发明实施例中,所获取的样本属性与样本属性队列的关系主要有三种情况第一种为,所获取的样本属性对应的样本在样本属性队列中存储有旧的样本属性,可使用所获取的样本属性对样本属性队列中的该旧样本属性进行更新;第二种为,所获取的样本属性对应的样本未在样本属性队列中存储有旧的样本属性,且样本属性队列的长度还未达到设定值N,则可将所获取的样本属性插入到样本属性队列中,以增加样本属性队列的长度,同时保持样本属性队列中样本属性的有序排列,直至样本属性队列的长度达到设定值N。

39、;第三种为,所获取的样本属性对应的样本未在样本属性队列中存储有旧的样本属性,且样本属性队列的长度达到设定值N,此时,可从样本属性队列中选择与所获取的样本属性的大小相近的样本属性,等概率随机地将该所选择的样本属性对应的位置上的样本属性替换为所获取的样本属性。对应的,针对上述三种情况,图3示出了本发明实施例提供的一种样本属性的动态分布数据获取方法的另一流程,参照图3,该方法可以包括0090步骤S200、获取大规模样本中的任一样本的样本属性;0091可选的,随同样本属性一同获取的数据还可以有样本属性对应的样本标识。0092步骤S210、判断所获取的样本属性对应的样本是否与预先维持的样本属性队列所对应。

40、的样本相匹配,若是,执行步骤S220,若否,执行步骤S240;0093可选的,本发明实施例中样本属性队列存储有样本属性及样本属性对应的样本标识。步骤S210在具体实现上可以如下将所获取的样本属性对应的样本标识,与样本属性队列中存储的样本标识进行比对,若所获取的样本属性对应的样本标识与样本属性队列中存储的样本标识相匹配,则可确定所获取的样本属性对应的样本与预先维持的样本属性队列所对应的样本相匹配,即样本属性队列中存储有与所获取的样本属性对应的样本的旧样本属性;若所获取的样本属性对应的样本标识与样本属性队列中存储的样本标识不匹配,则可确定所获取的样本属性对应的样本不与预先维持的样本属性队列所对应的。

41、样本相匹配,即样本属性队列中未存储有所获取的样本属性对应的样本的旧样本属性。0094步骤S220、确定所述样本属性队列中与所获取的样本属性对应的样本的位置为所述更新位置,将所述更新位置上的旧样本属性替换为所获取的样本属性;0095由于样本属性队列中存储有与所获取的样本属性对应的样本的旧样本属性,因此步骤S220中所指的更新位置为旧样本属性对应的位置,即样本属性队列中与所获取的样本属性对应的样本的位置为,与所获取的样本属性对应的样本的旧样本属性所存储的位置,在该旧样本属性所存储的位置上将旧样本属性替换为所获取的样本属性。0096设所获取的样本属性为D;AN2、AN1、AN和AN1为样本属性队列中。

42、的样本属性,若D对应的样本与AN对应的样本一致,即随同D上传至服务器的样本标识,与样本属性队列中存储的AN对应的样本标识一致时,AN在样本属性队列中的位置即为D的更新位置,在AN所在样本属性队列中的位置上,将AN替换为D。0097值得注意的是,在更新位置上将旧样本属性替换为所获取的样本属性的同时,还需在更新位置上将旧样本属性对应的样本标识替换为所获取的样本属性对应的样本标识。0098步骤S230、根据所述更新位置上所更新的样本属性,调整所述样本属性队列中样本属性的排列顺序,以保持所述样本属性队列中的样本属性的有序排列;说明书CN104133824A118/16页120099由于步骤S220仅是。

43、在与所获取的样本属性对应的样本的旧样本属性所存储的位置上,将旧样本属性替换为所获取的样本属性,因此无法保证替换了所获取的样本属性的样本属性队列中的样本属性能够保持有序的排列,此时需要根据样本属性队列中样本属性的大小对各样本属性的排列顺序进行调整,以保持样本属性队列中的样本属性的有序排列。在具体实现上,可将更新位置上所更新的样本属性(即所获取的样本属性)与样本属性队列中的其他样本属性进行比较,从而通过比对的样本属性的大小安排样本属性队列中的样本属性的排列序位,从而保证样本属性队列中的样本属性的有序排列。0100步骤S240、判断所述样本属性队列的长度是否达到设定数值N,若是,执行步骤S250,若。

44、否,执行步骤S290;0101步骤S250、判断所获取的样本属性是否介于所述样本属性队列中存储的样本属性的最大值和最小值之间,若是,执行步骤S260,若否,执行步骤S280;0102步骤S260、确定所述样本属性队列中样本属性小于所获取的样本属性的最大样本属性,及样本属性不小于所获取的样本属性的最小样本属性,等概率随机的将所述最大样本属性或最小样本属性对应的位置确定为所述更新位置;0103由于样本属性队列的长度达到设定数值N,且所获取的样本属性不小于所述样本属性队列中存储的某一样本属性,则可确定所获取的样本属性可以替换样本属性队列中存储的某一样本属性。设所获取的样本属性为D,AN2、AN1、A。

45、N和AN1为样本属性队列中的样本属性,若通过比对所获取的样本属性D的大小与样本属性队列中的其他样本属性的大小,可得出AN1DAN,则AN1为样本属性队列中样本属性小于D的最大样本属性,AN为样本属性队列中样本属性不小于D的最小样本属性,则可等概率随机的从AN1和AN的位置中选择一个作为更新位置,以便等概率随机的用D替换掉AN1或AN。0104步骤S270、等概率随机的将所述最大样本属性或最小样本属性对应的位置上的样本属性替换为所获取的样本属性,在等概率随机的将所述最大样本属性或最小样本属性对应的位置上的样本属性替换为所获取的样本属性后,所述样本属性队列中的样本属性为有序排列状态;0105由于等。

46、概率随机的将所述最大样本属性或最小样本属性对应的位置上的样本属性替换为所获取的样本属性时,已经保证了替换了所获取的样本属性的样本属性队列的有序性,因此不必再重新的对样本属性队列中的样本属性的位置进行调整。0106需要说明的是,在更新位置上等概率随机的将所述最大样本属性或最小样本属性替换为所获取的样本属性的同时,还需在更新位置上将相应的最大样本属性或最小样本属性对应的样本标识替换为所获取的样本属性对应的样本标识。0107值得注意的是,本发明实施例不是一直用D替换掉小于D的最大样本属性AN1,若是一直用D替换掉小于D的最大样本属性AN1,则容易变成样本属性的最高排行榜;同理,本发明实施例也不是一直。

47、用D替换掉不小于D的最小样本属性AN,若是一直用D替换掉不小于D的最小样本属性AN,则容易变成样本属性的最低排行榜;本发明实施例是采用D等概率随机替换AN1或AN,遵从这一原则,可使得本发明实施例得到的样本属性队列更能准确的反映大规模样本整体的样本属性分布情况。0108可选的,可采用二分查找法进行所获取的样本属性的大小与样本属性队列中的样本属性的大小的比对,从而确定上述最大样本属性,和最小样本属性。说明书CN104133824A129/16页130109步骤S280、若所获取的样本属性小于所述样本属性队列中存储的样本属性的最小值,则随机等概率的将所述最小值的位置的样本属性替换为所获取的样本属性。

48、,或剔除所获取的样本属性;若所获取的样本属性大于所述样本属性队列中存储的样本属性的最大值,则随机等概率的将所述最大值的位置的样本属性替换为所获取的样本属性,或剔除所获取的样本属性;0110设A0为样本属性队列中存储的最小样本属性,D为所获取的样本属性,若D小于A0,则本发明实施例会随机等概率的选择剔除D或在A0的位置上使用D替换A0,此时得到的样本属性队列为有序的;设AN为样本属性队列中存储的最大样本属性,D为所获取的样本属性,若D大于AN,则本发明实施例会随机等概率的选择剔除D或在AN的位置上使用D替换AN,此时得到的样本属性队列为有序的。0111步骤S290、比对所获取的样本属性与样本属性。

49、队列中存储的样本属性的大小,通过所比对的所获取的样本属性与样本属性队列中存储的样本属性的大小,确定所获取的样本属性在所述样本属性队列中的更新位置;0112步骤S300、在所述更新位置上写入所获取的样本属性,以增长样本属性队列的长度,在所述更新位置上写入所获取的样本属性后,所述样本属性队列中的样本属性为有序排列状态。0113由于样本属性队列的长度未达到N,因此可将所获取的样本属性插入样本属性队列中的更新位置,以使得样本属性队列的长度可以增长,直至样本属性队列的长度达到设定数值N。设所获取的样本属性为D,AN2、AN1、AN和AN1为样本属性队列中的样本属性,若D的大小为样本属性队列中的中间值,如。

50、D的大小介于AN1、AN之间,则可将D插入AN1、AN之间,若D为样本属性队列中的最大值,则可将D插入到样本属性队列的头部(头部可以为样本属性队列中最大样本属性的存储位置),若D为样本属性队列中的最小值,则可将D插入到样本属性队列的尾部(尾部可以为样本属性队列中最小样本属性的存储位置);即本发明实施例可在样本属性队列中增加一个位置,在该位置上存储D,使得样本属性队列的长度可以增长,直至样本属性队列的长度达到设定数值N。0114本发明实施例可通过二分查找法进行所获取的样本属性的大小与样本属性队列中存储的样本属性的大小的比对。0115值得注意的是,在更新位置上写入所获取的样本属性,以增长样本属性队。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1