一種樣本屬性的動態(tài)分布數(shù)據(jù)獲取方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明實施例提供一種樣本屬性的動態(tài)分布數(shù)據(jù)獲取方法及系統(tǒng),其中方法可以包括:獲取大規(guī)模樣本中的任一樣本的樣本屬性;確定所獲取的樣本屬性在預先維持的樣本屬性隊列中的更新位置,在所述更新位置上更新入所獲取的樣本屬性;保持所述樣本屬性隊列中的樣本屬性的有序排列,得到樣本屬性的動態(tài)分布數(shù)據(jù);其中,所述樣本屬性隊列中存儲有所述大規(guī)模樣本中的樣本的樣本屬性,樣本屬性在所述樣本屬性隊列中有序的排列,所述樣本屬性隊列的長度為設定數(shù)值N,N小于所述大規(guī)模樣本中的總樣本數(shù)。本發(fā)明實施例基于簡單隨機抽樣原理,只需維持長度為N的樣本屬性隊列即可得到樣本屬性的動態(tài)分布數(shù)據(jù),減小了樣本屬性的動態(tài)分布數(shù)據(jù)獲取的計算量。
【專利說明】一種樣本屬性的動態(tài)分布數(shù)據(jù)獲取方法及系統(tǒng)
【技術領域】
[0001]本發(fā)明涉及數(shù)據(jù)處理【技術領域】,更具體地說,涉及一種樣本屬性的動態(tài)分布數(shù)據(jù)獲取方法及系統(tǒng)。
【背景技術】
[0002]樣本屬性是指樣本中具有統(tǒng)計價值且處于動態(tài)變化的屬性,樣本屬性可以如用戶手機的流量,農林養(yǎng)殖中的樣本(樣本可如雞、鴨、豬等家禽)體重,游戲中玩家的戰(zhàn)斗力等;對應的樣本則為用戶手機,農林養(yǎng)殖中的樣本,游戲中的玩家等。目前,當存在大規(guī)模的樣本時,獲取大規(guī)模樣本的樣本屬性的動態(tài)分布數(shù)據(jù)成為一個困擾技術人員的問題,樣本屬性的動態(tài)分布數(shù)據(jù)是指大規(guī)模樣本中各樣本的樣本屬性的動態(tài)分布情況,比如某一區(qū)域(如某市,某基站)內的用戶手機的流量使用情況,某一游戲中的玩家的戰(zhàn)斗力分布情況等。通過獲取樣本屬性的動態(tài)分布數(shù)據(jù),可以直觀的了解大規(guī)模樣本中的樣本狀況,比如通過獲取某一區(qū)域內的用戶手機的使用流量,可以直觀的了解該區(qū)域內各用戶手機的流量使用情況,從而為該區(qū)域內的基站建設、信道優(yōu)化提供指導意見等;又如通過獲取農林養(yǎng)殖中的家禽的體重,可以直觀的了解所養(yǎng)家禽的體重情況,從而進行養(yǎng)殖策略的調整等。
[0003]目前,大規(guī)模樣本中各樣本的樣本屬性一般會定期更新后存儲在數(shù)據(jù)庫中,為獲取樣本屬性的動態(tài)分布數(shù)據(jù),服務器一般會定時遍歷數(shù)據(jù)庫,讀取數(shù)據(jù)庫中所有樣本的樣本屬性,從而整理得到大規(guī)模樣本的樣本屬性的動態(tài)分布數(shù)據(jù)。本發(fā)明的發(fā)明人在研究和實踐過程中發(fā)現(xiàn),現(xiàn)有技術至少存在以下的技術問題:現(xiàn)有技術需要遍歷數(shù)據(jù)庫,讀取數(shù)據(jù)庫中所有樣本的樣本屬性才能得到樣本屬性的動態(tài)分布數(shù)據(jù),所需要的計算量較大,樣本屬性的動態(tài)分布數(shù)據(jù)的獲取較為費時。
【發(fā)明內容】
[0004]有鑒于此,本發(fā)明實施例提供一種樣本屬性的動態(tài)分布數(shù)據(jù)獲取方法及系統(tǒng),以解決現(xiàn)有樣本屬性的動態(tài)分布數(shù)據(jù)的獲取方式的計算量較大,較為費時的問題。
[0005]為實現(xiàn)上述目的,本發(fā)明實施例提供如下技術方案:
[0006]—種樣本屬性的動態(tài)分布數(shù)據(jù)獲取方法,包括:
[0007]獲取大規(guī)模樣本中的任一樣本的樣本屬性;
[0008]確定所獲取的樣本屬性在預先維持的樣本屬性隊列中的更新位置,在所述更新位置上更新入所獲取的樣本屬性;
[0009]保持所述樣本屬性隊列中的樣本屬性的有序排列,得到樣本屬性的動態(tài)分布數(shù)據(jù);
[0010]其中,所述樣本屬性隊列中存儲有所述大規(guī)模樣本中的樣本的樣本屬性,樣本屬性在所述樣本屬性隊列中有序的排列,所述樣本屬性隊列的長度為設定數(shù)值N,N小于所述大規(guī)模樣本中的總樣本數(shù)。
[0011]其中,所述確定所獲取的樣本屬性在預先維持的樣本屬性隊列中的更新位置包括:
[0012]判斷所獲取的樣本屬性對應的樣本與所述樣本屬性隊列所對應的樣本是否相匹配;
[0013]若所獲取的樣本屬性對應的樣本與所述樣本屬性隊列所對應的樣本相匹配,則確定所述樣本屬性隊列中與所獲取的樣本屬性對應的樣本的位置為所述更新位置;
[0014]若所獲取的樣本屬性對應的樣本與所述樣本屬性隊列所對應的樣本不相匹配,則根據(jù)所獲取的樣本屬性的大小與所述樣本屬性隊列中存儲的樣本屬性的大小確定更新位置。
[0015]其中,在所獲取的樣本屬性對應的樣本與所述樣本屬性隊列所對應的樣本相匹配時,所述在所述更新位置上更新入所獲取的樣本屬性包括:
[0016]將所述樣本屬性隊列中與所獲取的樣本屬性對應的樣本的位置上的樣本屬性替換為所獲取的樣本屬性;
[0017]所述保持所述樣本屬性隊列中的樣本屬性的有序排列包括:
[0018]根據(jù)所述更新位置上所更新的樣本屬性,調整所述樣本屬性隊列中樣本屬性的排列順序,以保持所述樣本屬性隊列中的樣本屬性的有序排列。
[0019]其中,所述根據(jù)所獲取的樣本屬性的大小與所述樣本屬性隊列中存儲的樣本屬性的大小確定更新位置包括:
[0020]判斷所述樣本屬性隊列的長度是否達到設定數(shù)值N ;
[0021]若所述樣本屬性隊列的長度達到設定數(shù)值N,且所獲取的樣本屬性介于所述樣本屬性隊列中存儲的樣本屬性的最大值和最小值之間,確定所述樣本屬性隊列中樣本屬性小于所獲取的樣本屬性的最大樣本屬性,及樣本屬性不小于所獲取的樣本屬性的最小樣本屬性,等概率隨機的將所述最大樣本屬性或最小樣本屬性對應的位置確定為所述更新位置;
[0022]若所述樣本屬性隊列的長度達到設定數(shù)值N,且所獲取的樣本屬性小于所述樣本屬性隊列中存儲的樣本屬性的最小值,則等概率隨機的將所述最小值的位置確定為所述更新位置或剔除所獲取的樣本屬性;
[0023]若所述樣本屬性隊列的長度達到設定數(shù)值N,且所獲取的樣本屬性大于所述樣本屬性隊列中存儲的樣本屬性的最大值,則等概率隨機的將所述最大值的位置確定為所述更新位置或剔除所獲取的樣本屬性;
[0024]若所述樣本屬性隊列的長度未達到設定數(shù)值N,則比對所獲取的樣本屬性與樣本屬性隊列中存儲的樣本屬性的大小,通過所比對的所獲取的樣本屬性與樣本屬性隊列中存儲的樣本屬性的大小,確定所獲取的樣本屬性在所述樣本屬性隊列中的更新位置。
[0025]其中,在所述樣本屬性隊列的長度達到設定數(shù)值N,且所獲取的樣本屬性介于所述樣本屬性隊列中存儲的樣本屬性的最大值和最小值之間時,所述將所述更新位置上的樣本屬性更新為所獲取的樣本屬性包括:
[0026]等概率隨機的將所述最大樣本屬性或最小樣本屬性對應的位置上的樣本屬性替換為所獲取的樣本屬性;
[0027]所述保持所述樣本屬性隊列中的樣本屬性的有序排列包括:
[0028]在隨機的將所述最大樣本屬性或最小樣本屬性對應的位置上的樣本屬性替換為所獲取的樣本屬性后,確定所述樣本屬性隊列中的樣本屬性為有序排列狀態(tài)。
[0029]其中,在所述樣本屬性隊列的長度未達到設定數(shù)值N時,所述將所述更新位置上的樣本屬性更新為所獲取的樣本屬性包括:
[0030]在所述更新位置上寫入所獲取的樣本屬性,以增長樣本屬性隊列的長度;
[0031]所述保持所述樣本屬性隊列中的樣本屬性的有序排列包括:
[0032]在所述更新位置上寫入所獲取的樣本屬性后,確定所述樣本屬性隊列中的樣本屬性為有序排列狀態(tài)。
[0033]本發(fā)明實施例還提供一種樣本屬性的動態(tài)分布數(shù)據(jù)獲取系統(tǒng),包括:
[0034]獲取模塊,用于獲取大規(guī)模樣本中的任一樣本的樣本屬性;
[0035]更新位置確定模塊,用于確定所獲取的樣本屬性在預先維持的樣本屬性隊列中的更新位置;
[0036]更新模塊,用于在所述更新位置確定模塊所確定的更新位置上更新入所獲取的樣本屬性;
[0037]排列保持模塊,用于在所述更新位置上更新入所獲取的樣本屬性后,保持所述樣本屬性隊列中的樣本屬性的有序排列,得到樣本屬性的動態(tài)分布數(shù)據(jù);
[0038]其中,所述樣本屬性隊列中存儲有所述大規(guī)模樣本中的樣本的樣本屬性,樣本屬性在所述樣本屬性隊列中有序的排列,所述樣本屬性隊列的長度為設定數(shù)值N,N小于所述大規(guī)模樣本中的總樣本數(shù)。
[0039]其中,所述更新位置確定模塊包括:
[0040]第一判斷單元,用于判斷所獲取的樣本屬性對應的樣本與所述樣本屬性隊列所對應的樣本是否相匹配;
[0041]第一確定單元,用于在所述第一判斷單元的判斷結果為是時,確定所述樣本屬性隊列中與所獲取的樣本屬性對應的樣本的位置為所述更新位置;
[0042]第二確定單元,用于在所述第一判斷單元的判斷結果為否時,根據(jù)所獲取的樣本屬性的大小與所述樣本屬性隊列中存儲的樣本屬性的大小確定更新位置。
[0043]其中,在所述第一確定單元確定所述樣本屬性隊列中與所獲取的樣本屬性對應的樣本的位置為所述更新位置的狀態(tài)下,所述更新模塊包括:
[0044]第一更新單元,用于將所述樣本屬性隊列中與所獲取的樣本屬性對應的樣本的位置上的樣本屬性替換為所獲取的樣本屬性;
[0045]所述排列保持模塊包括:
[0046]第一排列保持單元,用于根據(jù)所述更新位置上所更新的樣本屬性,調整所述樣本屬性隊列中樣本屬性的排列順序,以保持所述樣本屬性隊列中的樣本屬性的有序排列。
[0047]其中,所述第二確定單元包括:
[0048]隊列長度判斷子單元,用于判斷所述樣本屬性隊列的長度是否達到設定數(shù)值N ;
[0049]第一更新位置確定子單元,用于在所述隊列長度判斷子單元的判斷結果為是,且所獲取的樣本屬性介于所述樣本屬性隊列中存儲的樣本屬性的最大值和最小值之間時,確定所述樣本屬性隊列中樣本屬性小于所獲取的樣本屬性的最大樣本屬性,及樣本屬性不小于所獲取的樣本屬性的最小樣本屬性,等概率隨機的將所述最大樣本屬性或最小樣本屬性對應的位置確定為所述更新位置;
[0050]第二更新位置確定子單元,用于在所述隊列長度判斷子單元的判斷結果為否時,比對所獲取的樣本屬性與樣本屬性隊列中存儲的樣本屬性的大小,通過所比對的所獲取的樣本屬性與樣本屬性隊列中存儲的樣本屬性的大小,確定所獲取的樣本屬性在所述樣本屬性隊列中的更新位置;
[0051]在所述第一更新位置確定子單元確定更新位置的狀態(tài)下,所述更新模塊包括--第二更新單元;所述排列保持模塊包括:第二排列保持單元;
[0052]在所述第二更新位置確定子單元確定更新位置的狀態(tài)下,所述更新模塊包括--第三更新單元;所述排列保持模塊包括:第三排列保持單元;
[0053]其中,所述第二更新單元,用于在所述第一更新位置確定子單元確定更新位置后,等概率隨機的將所述最大樣本屬性或最小樣本屬性對應的位置上的樣本屬性替換為所獲取的樣本屬性;
[0054]所述第二排列保持單元,用于在等概率隨機的將所述最大樣本屬性或最小樣本屬性對應的位置上的樣本屬性替換為所獲取的樣本屬性后,確定所述樣本屬性隊列中的樣本屬性為有序排列狀態(tài);
[0055]所述第三更新單元,用于在所述第二更新位置確定子單元確定更新位置后,在所述更新位置上寫入所獲取的樣本屬性,以增長樣本屬性隊列的長度;
[0056]所述第三排列保持單元,用于在所述更新位置上寫入所獲取的樣本屬性后,確定所述樣本屬性隊列中的樣本屬性為有序排列狀態(tài)。
[0057]基于上述技術方案,本發(fā)明實施例提供的樣本屬性的動態(tài)分布數(shù)據(jù)獲取方法基于簡單隨機抽樣原理,根據(jù)樣本和總體(大規(guī)模樣本)服從同一分布的原理,即從大規(guī)模樣本中抽出N個樣本組成的樣本屬性隊列所反映的樣本屬性分布情況,與大規(guī)模樣本整體的樣本屬性分布情況服從于同一分布,因此可通過樣本屬性隊列的樣本屬性分布情況反映大規(guī)模樣本整體的樣本屬性分布情況;在此基礎上,本發(fā)明實施例維持一個長度為N的樣本屬性進行有序排列的樣本屬性隊列,N小于大規(guī)模樣本中的總樣本數(shù),從大規(guī)模樣本中獲取任一樣本的樣本屬性,確定所獲取的樣本屬性在預先維持的樣本屬性隊列中的更新位置,在所述更新位置上更新入所獲取的樣本屬性;保持所述樣本屬性隊列中的樣本屬性的有序排列,從而得到反映大規(guī)模樣本整體的樣本屬性分布情況的樣本屬性的動態(tài)分布數(shù)據(jù)。相比現(xiàn)有技術需要遍歷數(shù)據(jù)庫,讀取數(shù)據(jù)庫中所有樣本的樣本屬性才能得到樣本屬性的動態(tài)分布數(shù)據(jù)的方式,本發(fā)明實施例基于簡單隨機抽樣原理,只需維持長度為N的樣本屬性隊列即可得到樣本屬性的動態(tài)分布數(shù)據(jù),減小了樣本屬性的動態(tài)分布數(shù)據(jù)獲取的計算量,可以及時的獲取樣本屬性的動態(tài)分布數(shù)據(jù)。
【專利附圖】
【附圖說明】
[0058]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0059]圖1為本發(fā)明實施例提供的一種樣本屬性的動態(tài)分布數(shù)據(jù)獲取方法的流程圖;
[0060]圖2為本發(fā)明實施例提供的樣本屬性隊列的結構圖;
[0061]圖3為本發(fā)明實施例提供的一種樣本屬性的動態(tài)分布數(shù)據(jù)獲取方法的另一流程圖;
[0062]圖4為本發(fā)明實施例提供的樣本屬性的動態(tài)分布數(shù)據(jù)獲取方法的又一流程圖;
[0063]圖5為本發(fā)明實施例提供的樣本屬性的動態(tài)分布數(shù)據(jù)獲取方法的再一流程圖;
[0064]圖6為本發(fā)明實施例提供的某款游戲的玩家戰(zhàn)斗力隊列的數(shù)據(jù)圖;
[0065]圖7為本發(fā)明實施例提供的某款游戲的玩家戰(zhàn)斗力隊列的另一數(shù)據(jù)圖;
[0066]圖8為本發(fā)明實施例提供的樣本屬性的動態(tài)分布數(shù)據(jù)獲取系統(tǒng)的結構框圖;
[0067]圖9為本發(fā)明實施例提供的更新位置確定模塊的結構框圖;
[0068]圖10為本發(fā)明實施例提供的更新模塊的結構框圖;
[0069]圖11為本發(fā)明實施例提供的排列保持模塊的結構框圖;
[0070]圖12為本發(fā)明實施例提供的第二確定單元的結構框圖;
[0071]圖13為本發(fā)明實施例提供的更新模塊的另一結構框圖;
[0072]圖14為本發(fā)明實施例提供的排列保持模塊的另一結構框圖;
[0073]圖15為本發(fā)明實施例提供的更新模塊的又一結構框圖;
[0074]圖16為本發(fā)明實施例提供的排列保持模塊的又一結構框圖;
[0075]圖17為本發(fā)明實施例提供的服務器的硬件結構圖。
【具體實施方式】
[0076]為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0077]圖1為本發(fā)明實施例提供的一種樣本屬性的動態(tài)分布數(shù)據(jù)獲取方法的流程圖,該方法應用于服務器,該服務器能夠進行數(shù)據(jù)處理從而得到樣本屬性的動態(tài)分布數(shù)據(jù),參照圖1,該方法可以包括:
[0078]步驟S100、獲取大規(guī)模樣本中的任一樣本的樣本屬性;
[0079]可選的,本發(fā)明實施例可在大規(guī)模樣本的任一樣本的樣本屬性發(fā)生變更時,將變更后的樣本屬性發(fā)送給服務器,從而使得服務器獲取到大規(guī)模樣本中的任一樣本的樣本屬性;
[0080]可選的,也可在大規(guī)模樣本中的若干樣本參與某一所有樣本均可參與的模式時,將參與該模式的若干樣本的各樣本的樣本屬性上傳給服務器,從而使得服務器獲取到大規(guī)模樣本中的任一樣本的樣本屬性。值得注意的是,此處所指的模式可視樣本應用領域的不同而進行變更,如樣本為手機,樣本屬性為手機流量時,該模式可指使用手機流量登陸即時通訊軟件的模式,則處于即時通訊軟件登陸狀態(tài)下的各手機將把手機流量上傳給服務器;又如,樣本為游戲中玩家,樣本屬性為游戲中玩家的戰(zhàn)斗力時,該模式則可指所有玩家均可使用戰(zhàn)斗力參與的玩法,則處于所有玩家均可使用戰(zhàn)斗力參與的玩法下的各玩家的戰(zhàn)斗力將上傳給服務器。
[0081]可選的,隨同樣本屬性上傳至服務器的數(shù)據(jù)還可以有樣本標識,樣本標識與樣本屬性相對應,比如上傳至服務器的樣本屬性為手機流量時,樣本標識可以為手機標識,服務器所獲取的手機標識與手機流量對應,以表示該手機流量為該手機標識對應的手機所使用的;又如上傳至服務器的樣本屬性為玩家戰(zhàn)斗力時,樣本標識可以為玩家ID,服務器所獲取的玩家戰(zhàn)斗力與玩家ID對應,以表示該玩家戰(zhàn)斗力為該玩家ID對應的玩家所擁有。
[0082]步驟S110、確定所獲取的樣本屬性在預先維持的樣本屬性隊列中的更新位置,在所述更新位置上更新入所獲取的樣本屬性;
[0083]在本發(fā)明實施例中,服務器中預先維持有樣本屬性隊列,樣本屬性隊列中存儲有大規(guī)模樣本中的樣本的樣本屬性,在該樣本屬性隊列中樣本屬性按屬性的大小由從大到小,或從小到大的順序有序排列,樣本屬性隊列的長度為設定的數(shù)值N,數(shù)值N小于大規(guī)模樣本中的總樣本數(shù),即樣本屬性隊列中存儲的樣本總數(shù)為N,且小于大規(guī)模樣本中的總樣本數(shù)。
[0084]可選的,在本發(fā)明實施例中,樣本屬性隊列中存儲有樣本屬性及與樣本屬性對應的樣本標識;樣本標識可用于表示樣本屬性對應的樣本,因此可采用樣本標識對樣本屬性隊列中的各樣本屬性所歸屬的樣本進行區(qū)分。圖2示出了樣本屬性隊列的一種可選結構,參照圖2,樣本屬性隊列可以具有N個位置,各個位置上存儲有I個樣本屬性及對應的樣本標識,如位置I上可以存儲樣本屬性I及對應的樣本標識1,位置2上可以存儲樣本屬性2及對應的樣本標識2,以此類推。
[0085]值得注意的是,本發(fā)明實施例在更新位置上更新入所獲取的樣本屬性的同時,還需要在更新位置上更新入所獲取的樣本屬性對應的樣本標識。
[0086]步驟S120、保持所述樣本屬性隊列中的樣本屬性的有序排列,得到樣本屬性的動態(tài)分布數(shù)據(jù)。
[0087]在本發(fā)明實施例中,更新位置是指所獲取的樣本屬性寫入樣本屬性隊列中的位置;需要注意的是,更新位置僅是所獲取的樣本屬性在樣本屬性隊列中的寫入位置,其不是所獲取的樣本屬性在樣本屬性隊列中的最終位置,由于樣本屬性隊列中的樣本屬性需要保持有序的排列,因此在所獲取的樣本屬性寫入更新位置后,若樣本屬性隊列中的樣本屬性并不是處于有序排列狀態(tài),則需要調整樣本屬性隊列中的樣本屬性的位置,以保持樣本屬性隊列中的樣本屬性的有序排列,才可得到最終的樣本屬性的動態(tài)分布數(shù)據(jù);若在所獲取的樣本屬性寫入更新位置后,樣本屬性隊列中的樣本屬性保持為有序排列狀態(tài),則不需要再對樣本屬性隊列中的樣本屬性的位置進行調整,在更新位置寫入所獲取的樣本屬性后得到的樣本屬性隊列,即可反映樣本屬性的動態(tài)分布數(shù)據(jù)。
[0088]本發(fā)明實施例提供的樣本屬性的動態(tài)分布數(shù)據(jù)獲取方法基于簡單隨機抽樣原理,根據(jù)樣本和總體(大規(guī)模樣本)服從同一分布的原理,即從大規(guī)模樣本中抽出N個樣本組成的樣本屬性隊列所反映的樣本屬性分布情況,與大規(guī)模樣本整體的樣本屬性分布情況服從于同一分布,因此可通過樣本屬性隊列的樣本屬性分布情況反映大規(guī)模樣本整體的樣本屬性分布情況;在此基礎上,本發(fā)明實施例維持一個長度為N的樣本屬性進行有序排列的樣本屬性隊列,N小于大規(guī)模樣本中的總樣本數(shù),從大規(guī)模樣本中獲取任一樣本的樣本屬性,確定所獲取的樣本屬性在預先維持的樣本屬性隊列中的更新位置,在所述更新位置上更新入所獲取的樣本屬性;保持所述樣本屬性隊列中的樣本屬性的有序排列,從而得到反映大規(guī)模樣本整體的樣本屬性分布情況的樣本屬性的動態(tài)分布數(shù)據(jù)。相比現(xiàn)有技術需要遍歷數(shù)據(jù)庫,讀取數(shù)據(jù)庫中所有樣本的樣本屬性才能得到樣本屬性的動態(tài)分布數(shù)據(jù)的方式,本發(fā)明實施例基于簡單隨機抽樣原理,只需維持長度為N的樣本屬性隊列即可得到樣本屬性的動態(tài)分布數(shù)據(jù),減小了樣本屬性的動態(tài)分布數(shù)據(jù)獲取的計算量,可以及時的獲取樣本屬性的動態(tài)分布數(shù)據(jù)。
[0089]在本發(fā)明實施例中,所獲取的樣本屬性與樣本屬性隊列的關系主要有三種情況:第一種為,所獲取的樣本屬性對應的樣本在樣本屬性隊列中存儲有舊的樣本屬性,可使用所獲取的樣本屬性對樣本屬性隊列中的該舊樣本屬性進行更新;第二種為,所獲取的樣本屬性對應的樣本未在樣本屬性隊列中存儲有舊的樣本屬性,且樣本屬性隊列的長度還未達到設定值N,則可將所獲取的樣本屬性插入到樣本屬性隊列中,以增加樣本屬性隊列的長度,同時保持樣本屬性隊列中樣本屬性的有序排列,直至樣本屬性隊列的長度達到設定值N;第三種為,所獲取的樣本屬性對應的樣本未在樣本屬性隊列中存儲有舊的樣本屬性,且樣本屬性隊列的長度達到設定值N,此時,可從樣本屬性隊列中選擇與所獲取的樣本屬性的大小相近的樣本屬性,等概率隨機地將該所選擇的樣本屬性對應的位置上的樣本屬性替換為所獲取的樣本屬性。對應的,針對上述三種情況,圖3示出了本發(fā)明實施例提供的一種樣本屬性的動態(tài)分布數(shù)據(jù)獲取方法的另一流程,參照圖3,該方法可以包括:
[0090]步驟S200、獲取大規(guī)模樣本中的任一樣本的樣本屬性;
[0091]可選的,隨同樣本屬性一同獲取的數(shù)據(jù)還可以有樣本屬性對應的樣本標識。
[0092]步驟S210、判斷所獲取的樣本屬性對應的樣本是否與預先維持的樣本屬性隊列所對應的樣本相匹配,若是,執(zhí)行步驟S220,若否,執(zhí)行步驟S240 ;
[0093]可選的,本發(fā)明實施例中樣本屬性隊列存儲有樣本屬性及樣本屬性對應的樣本標識。步驟S210在具體實現(xiàn)上可以如下:將所獲取的樣本屬性對應的樣本標識,與樣本屬性隊列中存儲的樣本標識進行比對,若所獲取的樣本屬性對應的樣本標識與樣本屬性隊列中存儲的樣本標識相匹配,則可確定所獲取的樣本屬性對應的樣本與預先維持的樣本屬性隊列所對應的樣本相匹配,即樣本屬性隊列中存儲有與所獲取的樣本屬性對應的樣本的舊樣本屬性;若所獲取的樣本屬性對應的樣本標識與樣本屬性隊列中存儲的樣本標識不匹配,則可確定所獲取的樣本屬性對應的樣本不與預先維持的樣本屬性隊列所對應的樣本相匹配,即樣本屬性隊列中未存儲有所獲取的樣本屬性對應的樣本的舊樣本屬性。
[0094]步驟S220、確定所述樣本屬性隊列中與所獲取的樣本屬性對應的樣本的位置為所述更新位置,將所述更新位置上的舊樣本屬性替換為所獲取的樣本屬性;
[0095]由于樣本屬性隊列中存儲有與所獲取的樣本屬性對應的樣本的舊樣本屬性,因此步驟S220中所指的更新位置為舊樣本屬性對應的位置,即樣本屬性隊列中與所獲取的樣本屬性對應的樣本的位置為,與所獲取的樣本屬性對應的樣本的舊樣本屬性所存儲的位置,在該舊樣本屬性所存儲的位置上將舊樣本屬性替換為所獲取的樣本屬性。
[0096]設所獲取的樣本屬性為D ;an_2、an_1、an和an+1為樣本屬性隊列中的樣本屬性,若D對應的樣本與應的樣本一致,即隨同D上傳至服務器的樣本標識,與樣本屬性隊列中存儲的Bn對應的樣本標識一致時,&11在樣本屬性隊列中的位置即為D的更新位置,在8?所在樣本屬性隊列中的位置上,將an替換為D。
[0097]值得注意的是,在更新位置上將舊樣本屬性替換為所獲取的樣本屬性的同時,還需在更新位置上將舊樣本屬性對應的樣本標識替換為所獲取的樣本屬性對應的樣本標識。
[0098]步驟S230、根據(jù)所述更新位置上所更新的樣本屬性,調整所述樣本屬性隊列中樣本屬性的排列順序,以保持所述樣本屬性隊列中的樣本屬性的有序排列;
[0099]由于步驟S220僅是在與所獲取的樣本屬性對應的樣本的舊樣本屬性所存儲的位置上,將舊樣本屬性替換為所獲取的樣本屬性,因此無法保證替換了所獲取的樣本屬性的樣本屬性隊列中的樣本屬性能夠保持有序的排列,此時需要根據(jù)樣本屬性隊列中樣本屬性的大小對各樣本屬性的排列順序進行調整,以保持樣本屬性隊列中的樣本屬性的有序排列。在具體實現(xiàn)上,可將更新位置上所更新的樣本屬性(即所獲取的樣本屬性)與樣本屬性隊列中的其他樣本屬性進行比較,從而通過比對的樣本屬性的大小安排樣本屬性隊列中的樣本屬性的排列序位,從而保證樣本屬性隊列中的樣本屬性的有序排列。
[0100]步驟S240、判斷所述樣本屬性隊列的長度是否達到設定數(shù)值N,若是,執(zhí)行步驟S250,若否,執(zhí)行步驟S290 ;
[0101]步驟S250、判斷所獲取的樣本屬性是否介于所述樣本屬性隊列中存儲的樣本屬性的最大值和最小值之間,若是,執(zhí)行步驟S260,若否,執(zhí)行步驟S280 ;
[0102]步驟S260、確定所述樣本屬性隊列中樣本屬性小于所獲取的樣本屬性的最大樣本屬性,及樣本屬性不小于所獲取的樣本屬性的最小樣本屬性,等概率隨機的將所述最大樣本屬性或最小樣本屬性對應的位置確定為所述更新位置;
[0103]由于樣本屬性隊列的長度達到設定數(shù)值N,且所獲取的樣本屬性不小于所述樣本屬性隊列中存儲的某一樣本屬性,則可確定所獲取的樣本屬性可以替換樣本屬性隊列中存儲的某一樣本屬性。設所獲取的樣本屬性為D^nIanYan和an+1為樣本屬性隊列中的樣本屬性,若通過比對所獲取的樣本屬性D的大小與樣本屬性隊列中的其他樣本屬性的大小,可得出Blr1Gan,則an_i為樣本屬性隊列中樣本屬性小于D的最大樣本屬性,an為樣本屬性隊列中樣本屬性不小于D的最小樣本屬性,則可等概率隨機的從Blri和a?的位置中選擇一個作為更新位置,以便等概率隨機的用D替換掉an_i或an。
[0104]步驟S270、等概率隨機的將所述最大樣本屬性或最小樣本屬性對應的位置上的樣本屬性替換為所獲取的樣本屬性,在等概率隨機的將所述最大樣本屬性或最小樣本屬性對應的位置上的樣本屬性替換為所獲取的樣本屬性后,所述樣本屬性隊列中的樣本屬性為有序排列狀態(tài);
[0105]由于等概率隨機的將所述最大樣本屬性或最小樣本屬性對應的位置上的樣本屬性替換為所獲取的樣本屬性時,已經(jīng)保證了替換了所獲取的樣本屬性的樣本屬性隊列的有序性,因此不必再重新的對樣本屬性隊列中的樣本屬性的位置進行調整。
[0106]需要說明的是,在更新位置上等概率隨機的將所述最大樣本屬性或最小樣本屬性替換為所獲取的樣本屬性的同時,還需在更新位置上將相應的最大樣本屬性或最小樣本屬性對應的樣本標識替換為所獲取的樣本屬性對應的樣本標識。
[0107]值得注意的是,本發(fā)明實施例不是一直用D替換掉小于D的最大樣本屬性an_i,若是一直用D替換掉小于D的最大樣本屬性an_i,則容易變成樣本屬性的最高排行榜;同理,本發(fā)明實施例也不是一直用D替換掉不小于D的最小樣本屬性an,若是一直用D替換掉不小于D的最小樣本屬性an,則容易變成樣本屬性的最低排行榜;本發(fā)明實施例是采用D等概率隨機替換an_i或an,遵從這一原則,可使得本發(fā)明實施例得到的樣本屬性隊列更能準確的反映大規(guī)模樣本整體的樣本屬性分布情況。
[0108]可選的,可采用二分查找法進行所獲取的樣本屬性的大小與樣本屬性隊列中的樣本屬性的大小的比對,從而確定上述最大樣本屬性,和最小樣本屬性。
[0109]步驟S280、若所獲取的樣本屬性小于所述樣本屬性隊列中存儲的樣本屬性的最小值,則隨機等概率的將所述最小值的位置的樣本屬性替換為所獲取的樣本屬性,或剔除所獲取的樣本屬性;若所獲取的樣本屬性大于所述樣本屬性隊列中存儲的樣本屬性的最大值,則隨機等概率的將所述最大值的位置的樣本屬性替換為所獲取的樣本屬性,或剔除所獲取的樣本屬性;
[0110]設a(l為樣本屬性隊列中存儲的最小樣本屬性,D為所獲取的樣本屬性,若D小于a0,則本發(fā)明實施例會隨機等概率的選擇剔除D或在%的位置上使用D替換%,此時得到的樣本屬性隊列為有序的;San為樣本屬性隊列中存儲的最大樣本屬性,D為所獲取的樣本屬性,若D大于an,則本發(fā)明實施例會隨機等概率的選擇剔除D或在an的位置上使用D替換an,此時得到的樣本屬性隊列為有序的。
[0111]步驟S290、比對所獲取的樣本屬性與樣本屬性隊列中存儲的樣本屬性的大小,通過所比對的所獲取的樣本屬性與樣本屬性隊列中存儲的樣本屬性的大小,確定所獲取的樣本屬性在所述樣本屬性隊列中的更新位置;
[0112]步驟S300、在所述更新位置上寫入所獲取的樣本屬性,以增長樣本屬性隊列的長度,在所述更新位置上寫入所獲取的樣本屬性后,所述樣本屬性隊列中的樣本屬性為有序排列狀態(tài)。
[0113]由于樣本屬性隊列的長度未達到N,因此可將所獲取的樣本屬性插入樣本屬性隊列中的更新位置,以使得樣本屬性隊列的長度可以增長,直至樣本屬性隊列的長度達到設定數(shù)值N。設所獲取的樣本屬性為D,BnIan^an和an+1為樣本屬性隊列中的樣本屬性,若D的大小為樣本屬性隊列中的中間值,如D的大小介于an_1、an之間,則可將D插入an_1、an之間,若D為樣本屬性隊列中的最大值,則可將D插入到樣本屬性隊列的頭部(頭部可以為樣本屬性隊列中最大樣本屬性的存儲位置),若D為樣本屬性隊列中的最小值,則可將D插入到樣本屬性隊列的尾部(尾部可以為樣本屬性隊列中最小樣本屬性的存儲位置);即本發(fā)明實施例可在樣本屬性隊列中增加一個位置,在該位置上存儲D,使得樣本屬性隊列的長度可以增長,直至樣本屬性隊列的長度達到設定數(shù)值N。
[0114]本發(fā)明實施例可通過二分查找法進行所獲取的樣本屬性的大小與樣本屬性隊列中存儲的樣本屬性的大小的比對。
[0115]值得注意的是,在更新位置上寫入所獲取的樣本屬性,以增長樣本屬性隊列的長度的同時,還需在更新位置上寫入所獲取的樣本屬性對應的樣本標識。
[0116]結合圖3所示方法,可以看出本發(fā)明實施例實行樣本屬性的動態(tài)分布數(shù)據(jù)獲取方法的一個重點在于更新位置的確定:
[0117]當所獲取的樣本屬性對應的樣本與所述樣本屬性隊列所對應的樣本相匹配時,可確定所述樣本屬性隊列中與所獲取的樣本屬性對應的樣本的位置為所述更新位置;
[0118]當所獲取的樣本屬性對應的樣本與所述樣本屬性隊列所對應的樣本不相匹配時,則需要根據(jù)所獲取的樣本屬性的大小與所述樣本屬性隊列中存儲的樣本屬性的大小確定更新位置;對于此種情況又具體分為下述四種情況:
[0119]若所述樣本屬性隊列的長度未達到設定數(shù)值N,則比對所獲取的樣本屬性與樣本屬性隊列中存儲的樣本屬性的大小,通過所比對的所獲取的樣本屬性與樣本屬性隊列中存儲的樣本屬性的大小,確定所獲取的樣本屬性在所述樣本屬性隊列中的更新位置;
[0120]若所述樣本屬性隊列的長度達到設定數(shù)值N,且所獲取的樣本屬性介于所述樣本屬性隊列中存儲的樣本屬性的最大值和最小值之間,則確定所述樣本屬性隊列中樣本屬性小于所獲取的樣本屬性的最大樣本屬性,及樣本屬性不小于所獲取的樣本屬性的最小樣本屬性,隨機的將所述最大樣本屬性或最小樣本屬性對應的位置確定為所述更新位置;
[0121]若所述樣本屬性隊列的長度達到設定數(shù)值N,且所獲取的樣本屬性小于所述樣本屬性隊列中存儲的樣本屬性的最小值,則隨機等概率的將所述最小值的位置的樣本屬性替換為所獲取的樣本屬性,或剔除所獲取的樣本屬性;
[0122]若所述樣本屬性隊列的長度達到設定數(shù)值N,且所獲取的樣本屬性大于所述樣本屬性隊列中存儲的樣本屬性的最大值,則隨機等概率的將所述最大值的位置的樣本屬性替換為所獲取的樣本屬性,或剔除所獲取的樣本屬性。
[0123]為便于理解本發(fā)明實施例提供的樣本屬性的動態(tài)分布數(shù)據(jù)獲取方法,現(xiàn)以樣本屬性為用戶手機的流量為例,對本發(fā)明實施例提供的樣本屬性的動態(tài)分布數(shù)據(jù)獲取方法進行說明。圖4為本發(fā)明實施例提供的樣本屬性的動態(tài)分布數(shù)據(jù)獲取方法的又一流程圖,參照圖4,該方法可以包括:
[0124]步驟S400、獲取某一區(qū)域中的任一手機的手機流量;
[0125]可選的,可在某基站或某市等區(qū)域內的任一手機的手機流量發(fā)生變更時,將變更后的手機流量發(fā)送給服務器;可選的,也可在某基站或某市等區(qū)域內的手機使用手機流量參與某一上網(wǎng)模式時,將處于該上網(wǎng)模式下的各手機的手機流量發(fā)送給服務器,如在手機使用手機流量登陸即時通訊軟件時,可將處于即時通訊軟件登陸狀態(tài)下的各手機的手機流量發(fā)送給服務器。隨同手機流量一同發(fā)送的數(shù)據(jù)還可以有手機標識(如手機號等)。
[0126]步驟S410、判斷所獲取的手機流量對應的手機是否與預先維持的手機流量隊列所對應的手機相匹配,若是,執(zhí)行步驟S420,若否,執(zhí)行步驟S440 ;
[0127]其中,手機流量隊列存儲有該區(qū)域內的手機的手機流量,手機流量隊列的長度為N, N小于該區(qū)域內的手機總數(shù),手機流量在該手機流量隊列中按照從大到小或從小到大的順序有序排列。
[0128]可選的,手機流量隊列中存儲有手機流量和手機標識,手機流量和手機標識對應;可通過所獲取的手機流量對應的手機標識,與手機流量隊列中存儲的手機標識進行比對,若所獲取的手機流量對應的手機標識與手機流量隊列中存儲的手機標識相匹配,則可確定所獲取的手機流量對應的手機與預先維持的手機流量隊列所對應的手機相匹配,即所獲取的手機流量對應的手機的舊手機流量存儲在手機流量隊列中;若所獲取的手機流量對應的手機標識與手機流量隊列中存儲的手機標識不相匹配,則可確定所獲取的手機流量對應的手機與預先維持的手機流量隊列所對應的手機不相匹配,即手機流量隊列中未存儲有所獲取的手機流量對應的手機的舊手機流量。
[0129]步驟S420、確定手機流量隊列中與所獲取的手機流量對應的手機的位置為所述更新位置,將所述更新位置上的舊手機流量替換為所獲取的手機流量;
[0130]步驟S430、根據(jù)所述更新位置上所更新的手機流量,調整所述手機流量隊列中手機流量的排列順序,以保持所述手機流量隊列中的手機流量的有序排列;
[0131]步驟S440、判斷手機流量隊列的長度是否達到數(shù)值N,若是,執(zhí)行步驟S450,若否,執(zhí)行步驟S490 ;
[0132]步驟S450、判斷所獲取的手機流量是否介于手機流量隊列中存儲的最小手機流量和最大手機流量之間,若是,執(zhí)行步驟S460,若否,執(zhí)行步驟S480 ;
[0133]步驟S460、確定手機流量隊列中手機流量小于所獲取的手機流量的最大手機流量,及手機流量不小于所獲取的手機流量的最小手機流量,等概率隨機的將所述最大手機流量或最小手機流量對應的位置確定為所述更新位置;
[0134]步驟S470、等概率隨機的將最大手機流量或最小手機流量對應的位直上的手機流量替換為所獲取的手機流量,在隨機的將所述最大手機流量或最小手機流量對應的位置上的手機流量替換為所獲取的手機流量后,所述手機流量隊列中的手機流量為有序排列狀態(tài);
[0135]步驟S480、若所獲取的手機流量小于所述手機流量隊列中存儲的手機流量的最小值,則隨機等概率的將所述最小值的位置的手機流量替換為所獲取的手機流量,或剔除所獲取的手機流量;若所獲取的手機流量大于所述手機流量隊列中存儲的手機流量的最大值,則隨機等概率的將所述最大值的位置的手機流量替換為所獲取的手機流量,或剔除所獲取的手機流量;
[0136]步驟S490、比對所獲取的手機流量與手機流量隊列中存儲的手機流量的大小,通過所比對的所獲取的手機流量與手機流量隊列中存儲的手機流量的大小,確定所獲取的手機流量在手機流量隊列中的更新位置;
[0137]步驟S500、在所述更新位置上寫入所獲取的手機流量,以增長手機流量隊列的長度,在所述更新位置上寫入所獲取的手機流量后,所述手機流量隊列中的手機流量為有序排列狀態(tài)。
[0138]可選的,本發(fā)明實施例提供的樣本屬性的動態(tài)分布數(shù)據(jù)獲取方法也可應用于游戲中玩家戰(zhàn)斗力的分布數(shù)據(jù)的獲取,對應的,樣本為游戲玩家,樣本屬性為玩家戰(zhàn)斗力。圖5為本發(fā)明實施例提供的樣本屬性的動態(tài)分布數(shù)據(jù)獲取方法的再一流程圖,參照圖5,該方法可以包括:
[0139]步驟S600、獲取游戲中任一玩家的戰(zhàn)斗力;
[0140]可選的,本發(fā)明實施例可在所有玩家的戰(zhàn)斗力一有變化時,即向服務器上傳玩家的戰(zhàn)斗力;也可在一種所有玩家都能參與的玩法模式里(如玩家組隊模式中),將每次參與該玩法模式的各玩家的玩家戰(zhàn)斗力上傳至服務器中,以使得服務器能夠獲取游戲中任一玩家的戰(zhàn)斗力;可選的,隨同玩家的戰(zhàn)斗力一起上傳至服務器的數(shù)據(jù)還可以有玩家ID。
[0141]步驟S610、判斷所獲取的玩家戰(zhàn)斗力對應的玩家是否與預先維持的玩家戰(zhàn)斗力隊列所對應的玩家相匹配,若是,執(zhí)行步驟S620,若否,執(zhí)行步驟S640 ;
[0142]其中,玩家戰(zhàn)斗力隊列存儲有游戲的玩家戰(zhàn)斗力值,玩家戰(zhàn)斗力隊列的長度為N,N小于游戲中所有玩家的數(shù)目,玩家戰(zhàn)斗力在該玩家戰(zhàn)斗力隊列中按照從大到小或從小到大的順序有序排列。
[0143]可選的,玩家戰(zhàn)斗力隊列中可以存儲有玩家ID和玩家ID對應的戰(zhàn)斗力,可通過所獲取的玩家戰(zhàn)斗力對應的玩家ID,與玩家戰(zhàn)斗力隊列中的存儲的玩家ID進行比對,若所獲取的玩家戰(zhàn)斗力對應的玩家ID與玩家戰(zhàn)斗力隊列中存儲的玩家ID相匹配,則可確定所獲取的玩家戰(zhàn)斗力對應的玩家與預先維持的玩家戰(zhàn)斗力隊列所對應的玩家相匹配,即玩家戰(zhàn)斗力隊列中存儲有與所獲取的玩家戰(zhàn)斗力對應的玩家的舊戰(zhàn)斗力;若不匹配,則可確定所獲取的玩家戰(zhàn)斗力對應的玩家與預先維持的玩家戰(zhàn)斗力隊列所對應的玩家不相匹配,即玩家戰(zhàn)斗力隊列中未存儲有與所獲取的玩家戰(zhàn)斗力對應的玩家的舊戰(zhàn)斗力。
[0144]可選的,服務器還可設置一個以玩家ID為key (密匙)的hash map (哈希地圖),該hash map用于存儲玩家戰(zhàn)斗力在玩家戰(zhàn)斗力隊列中的位置,通過在hash map中查找所獲取的玩家戰(zhàn)斗力對應的玩家ID,可確定所獲取的玩家戰(zhàn)斗力數(shù)據(jù)對應的玩家是否與預先維持的玩家戰(zhàn)斗力隊列所對應的玩家相匹配。
[0145]步驟S620、確定玩家戰(zhàn)斗力隊列中與所獲取的玩家戰(zhàn)斗力對應的玩家的位置為所述更新位置,將所述更新位置上的舊玩家戰(zhàn)斗力替換為所獲取的玩家戰(zhàn)斗力;
[0146]值得注意的是,在更新位置上將舊玩家戰(zhàn)斗力替換為所獲取的玩家戰(zhàn)斗力的同時,還需在更新位置上將舊玩家戰(zhàn)斗力對應的玩家標識替換為所獲取的玩家戰(zhàn)斗力對應的玩家標識。
[0147]步驟S630、根據(jù)所述更新位置上所更新的玩家戰(zhàn)斗力,調整玩家戰(zhàn)斗力隊列中玩家戰(zhàn)斗力的排列順序,以保持玩家戰(zhàn)斗力隊列中的玩家戰(zhàn)斗力的有序排列;
[0148]步驟S640、判斷玩家戰(zhàn)斗力隊列的長度是否達到數(shù)值N,若是,執(zhí)行步驟S650、若否,執(zhí)行步驟S690 ;
[0149]步驟S650、判斷所獲取的玩家戰(zhàn)斗力是否介于玩家戰(zhàn)斗力隊列中存儲的最小玩家戰(zhàn)斗力和最大玩家戰(zhàn)斗力之間,若是,執(zhí)行步驟S660,若否,執(zhí)行步驟S680 ;
[0150]步驟S660、確定玩家戰(zhàn)斗力隊列中玩家戰(zhàn)斗力小于所獲取的玩家戰(zhàn)斗力的最大玩家戰(zhàn)斗力,及玩家戰(zhàn)斗力不小于所獲取的玩家戰(zhàn)斗力的最小玩家戰(zhàn)斗力,隨機的將最大玩家戰(zhàn)斗力或最小玩家戰(zhàn)斗力對應的位置確定為所述更新位置;
[0151]步驟S670、等概率隨機的將最大玩家戰(zhàn)斗力或最小玩家戰(zhàn)斗力對應的位置上的玩家戰(zhàn)斗力替換為所獲取的玩家戰(zhàn)斗力,在隨機的將最大玩家戰(zhàn)斗力或最小玩家戰(zhàn)斗力對應的位置上的玩家戰(zhàn)斗力替換為所獲取的玩家戰(zhàn)斗力后,玩家戰(zhàn)斗力隊列中的玩家戰(zhàn)斗力為有序排列狀態(tài);
[0152]需要說明的是,在更新位置上等概率隨機的將最大玩家戰(zhàn)斗力或最小玩家戰(zhàn)斗力替換為所獲取的玩家戰(zhàn)斗力的同時,還需在更新位置上將相應的最大玩家戰(zhàn)斗力或最小玩家戰(zhàn)斗力對應的玩家標識替換為所獲取的玩家戰(zhàn)斗力對應的玩家標識。
[0153]步驟S680、若所獲取的玩家戰(zhàn)斗力小于所述玩家戰(zhàn)斗力隊列中存儲的玩家戰(zhàn)斗力的最小值,則隨機等概率的將所述最小值的位置的玩家戰(zhàn)斗力替換為所獲取的玩家戰(zhàn)斗力,或剔除所獲取的玩家戰(zhàn)斗力;若所獲取的玩家戰(zhàn)斗力大于所述玩家戰(zhàn)斗力隊列中存儲的玩家戰(zhàn)斗力的最大值,則隨機等概率的將所述最大值的位置的玩家戰(zhàn)斗力替換為所獲取的玩家戰(zhàn)斗力,或剔除所獲取的玩家戰(zhàn)斗力;
[0154]步驟S690、比對所獲取的玩家戰(zhàn)斗力與玩家戰(zhàn)斗力隊列中存儲的玩家戰(zhàn)斗力的大小,通過所比對的所獲取的玩家戰(zhàn)斗力與玩家戰(zhàn)斗力隊列中存儲的玩家戰(zhàn)斗力的大小,確定所獲取的玩家戰(zhàn)斗力在玩家戰(zhàn)斗力隊列中的更新位置;
[0155]步驟S700、在所述更新位置上寫入所獲取的玩家戰(zhàn)斗力,以增長玩家戰(zhàn)斗力隊列的長度,在所述更新位置上寫入所獲取的玩家戰(zhàn)斗力后,所述玩家戰(zhàn)斗力隊列中的樣本屬性為有序排列狀態(tài)。
[0156]值得注意的是,在更新位置上寫入所獲取的玩家戰(zhàn)斗力,以增長玩家戰(zhàn)斗力隊列的長度的同時,還需在更新位置上寫入所獲取的玩家戰(zhàn)斗力對應的樣本標識。
[0157]結合圖5所示步驟S620和S630,步驟S670,及步驟S700可得到本發(fā)明實施例的玩家戰(zhàn)斗力的動態(tài)分布數(shù)據(jù);在得到玩家戰(zhàn)斗力的動態(tài)分布數(shù)據(jù)后可將玩家戰(zhàn)斗力的動態(tài)分布數(shù)據(jù)進行輸出。在本發(fā)明實施例中,玩家戰(zhàn)斗力隊列反映了整個游戲的戰(zhàn)斗力分布情況,某個戰(zhàn)斗力區(qū)間在該隊列中占有的數(shù)量反映了處于該戰(zhàn)斗力區(qū)間的玩家數(shù)量多寡。圖6和圖7分別是某款游戲中兩個不同時刻時玩家戰(zhàn)斗力隊列數(shù)據(jù)圖。圖中服務器維持的玩家戰(zhàn)斗力隊列長度N為1000 ;目前游戲處于封測階段,同時在線玩家只有300多,繪出的曲線還不夠光滑,但從圖中可以看到整體游戲戰(zhàn)斗力分布情況。同時對比兩張圖,可以發(fā)現(xiàn)多數(shù)玩家的戰(zhàn)斗力處于提升中。
[0158]本發(fā)明實施例提供的樣本屬性的動態(tài)分布數(shù)據(jù)獲取方法基于簡單隨機抽樣原理,只需維持長度為N的樣本屬性隊列即可得到樣本屬性的動態(tài)分布數(shù)據(jù),減小了樣本屬性的動態(tài)分布數(shù)據(jù)獲取的計算量,可以及時的獲取樣本屬性的動態(tài)分布數(shù)據(jù)。
[0159]下面對本發(fā)明實施例提供的樣本屬性的動態(tài)分布數(shù)據(jù)獲取系統(tǒng)進行介紹,下文描述的樣本屬性的動態(tài)分布數(shù)據(jù)獲取系統(tǒng)與上文描述的樣本屬性的動態(tài)分布數(shù)據(jù)獲取方法相對應,兩者可相互參照。
[0160]圖8為本發(fā)明實施例提供的樣本屬性的動態(tài)分布數(shù)據(jù)獲取系統(tǒng)的結構框圖,參照圖8,該系統(tǒng)可以包括:
[0161]獲取模塊100,用于獲取大規(guī)模樣本中的任一樣本的樣本屬性;
[0162]更新位置確定模塊200,用于確定所獲取的樣本屬性在預先維持的樣本屬性隊列中的更新位置;
[0163]更新模塊300,用于在更新位置確定模塊200所確定的更新位置上更新入所獲取的樣本屬性;
[0164]排列保持模塊400,用于在所述更新位置上更新入所獲取的樣本屬性后,保持所述樣本屬性隊列中的樣本屬性的有序排列,得到樣本屬性的動態(tài)分布數(shù)據(jù);
[0165]其中,所述樣本屬性隊列中存儲有所述大規(guī)模樣本中的樣本的樣本屬性,樣本屬性在所述樣本屬性隊列中有序的排列,所述樣本屬性隊列的長度為設定數(shù)值N,N小于所述大規(guī)模樣本中的總樣本數(shù)。
[0166]圖9示出了更新位置確定模塊200的一種可選結構,參照圖9,更新位置確定模塊200可以包括:
[0167]第一判斷單元210,用于判斷所獲取的樣本屬性對應的樣本與所述樣本屬性隊列所對應的樣本是否相匹配;
[0168]第一確定單元220,用于在第一判斷單元210的判斷結果為是時,確定所述樣本屬性隊列中與所獲取的樣本屬性對應的樣本的位置為所述更新位置;
[0169]第二確定單元230,用于在第一判斷單元210的判斷結果為否時,根據(jù)所獲取的樣本屬性的大小與所述樣本屬性隊列中存儲的樣本屬性的大小確定更新位置。
[0170]在圖9所示第一確定單元220的基礎上,圖10示出了更新模塊300的一種可選結構,參照圖10,更新模塊300可以包括:
[0171]第一更新單元310,用于在第一確定單元220確定所述樣本屬性隊列中與所獲取的樣本屬性對應的樣本的位置為所述更新位置的狀態(tài)下,將所述樣本屬性隊列中與所獲取的樣本屬性對應的樣本的位置上的樣本屬性替換為所獲取的樣本屬性。
[0172]對應的,在圖10所示第一更新單元310的基礎上,圖11示出了排列保持模塊400的另一種可選結構,參照圖11,排列保持模塊400可以包括:
[0173]第一排列保持單元410,用于根據(jù)所述更新位置上所更新的樣本屬性,調整所述樣本屬性隊列中樣本屬性的排列順序,以保持所述樣本屬性隊列中的樣本屬性的有序排列。
[0174]圖12示出了第二確定單元230的一種可選結構,參照圖12,第二確定單元230可以包括:
[0175]隊列長度判斷子單元231,用于判斷所述樣本屬性隊列的長度是否達到設定數(shù)值N;
[0176]第一更新位置確定子單元232,用于在隊列長度判斷子單元231的判斷結果為是,且所獲取的樣本屬性介于所述樣本屬性隊列中存儲的樣本屬性的最大值和最小值之間時,確定所述樣本屬性隊列中樣本屬性小于所獲取的樣本屬性的最大樣本屬性,及樣本屬性不小于所獲取的樣本屬性的最小樣本屬性,隨機的將所述最大樣本屬性或最小樣本屬性對應的位置確定為所述更新位置;
[0177]第二更新位置確定子單元233,用于在隊列長度判斷子單元231的判斷結果為否時,比對所獲取的樣本屬性與樣本屬性隊列中存儲的樣本屬性的大小,通過所比對的所獲取的樣本屬性與樣本屬性隊列中存儲的樣本屬性的大小,確定所獲取的樣本屬性在所述樣本屬性隊列中的更新位置。
[0178]在圖12所示第一更新位置確定子單元232的基礎上,圖13示出了更新模塊300的另一種可選結構,參照圖13,更新模塊300可以包括:
[0179]第二更新單元320,用于在第一更新位置確定子單元232確定更新位置后,等概率隨機的將所述最大樣本屬性或最小樣本屬性對應的位置上的樣本屬性替換為所獲取的樣本屬性。
[0180]對應的,在圖13所示第二更新單元320的基礎上,圖14示出了排列保持模塊400的另一種可選結構,參照圖14,排列保持模塊400可以包括:
[0181]第二排列保持單元420,用于在第二更新單元320等概率隨機的將所述最大樣本屬性或最小樣本屬性對應的位置上的樣本屬性替換為所獲取的樣本屬性后,確定所述樣本屬性隊列中的樣本屬性為有序排列狀態(tài)。
[0182]在圖12所示第二更新位置確定子單元233的基礎上,圖15示出了更新模塊300的又一種可選結構,參照圖15,更新模塊300可以包括:
[0183]第三更新單元330,用于在第二更新位置確定子單元233確定更新位置后,在所述更新位置上寫入所獲取的樣本屬性,以增長樣本屬性隊列的長度。
[0184]對應的,在圖15所示第三更新單元330的基礎上,圖16示出了排列保持模塊400的又一種可選結構,參照圖16,排列保持模塊400可以包括:
[0185]第三排列保持單元430,用于在所述更新位置上寫入所獲取的樣本屬性后,確定所述樣本屬性隊列中的樣本屬性為有序排列狀態(tài)。
[0186]本發(fā)明實施例提供的樣本屬性的動態(tài)分布數(shù)據(jù)獲取系統(tǒng)基于簡單隨機抽樣原理,只需維持長度為N的樣本屬性隊列即可得到樣本屬性的動態(tài)分布數(shù)據(jù),減小了樣本屬性的動態(tài)分布數(shù)據(jù)獲取的計算量,可以及時的獲取樣本屬性的動態(tài)分布數(shù)據(jù)。
[0187]本發(fā)明實施例提供的樣本屬性的動態(tài)分布數(shù)據(jù)獲取方法可應用于服務器中,下面對應用有本發(fā)明實施例提供的樣本屬性的動態(tài)分布數(shù)據(jù)獲取方法的服務器的硬件結構進行描述,值得注意的是,下文涉及樣本屬性的動態(tài)分布數(shù)據(jù)獲取方法的部分,可與上文提供的動態(tài)分布數(shù)據(jù)獲取方法及系統(tǒng)相對應,可相互參照。
[0188]圖17為本發(fā)明實施例提供的服務器的硬件結構圖,參照圖17,服務器可以包括:通信接口 1,存儲器2,處理器3和通信總線4。
[0189]下面結合圖17對服務器的各個構成部件進行具體的介紹:
[0190]通信接口 I可以為通信模塊的接口,如網(wǎng)卡的接口,用于在服務器與外部設備進行信息收發(fā)過程中,實現(xiàn)信號的接收和發(fā)送。
[0191]存儲器2可用于存儲軟件程序以及模塊,處理器3通過運行存儲在存儲器2的軟件程序以及模塊,從而執(zhí)行服務器的各種功能應用以及數(shù)據(jù)處理。存儲器2可主要包括存儲程序區(qū)和存儲數(shù)據(jù)區(qū),其中,存儲程序區(qū)可存儲操作系統(tǒng)、至少一個功能所需的應用程序(比如聲音播放功能、圖像播放功能等)等;存儲數(shù)據(jù)區(qū)可存儲根據(jù)服務器的使用所創(chuàng)建的數(shù)據(jù)(比如音頻數(shù)據(jù)、電話本等)等。此外,存儲器2可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他易失性固態(tài)存儲器件。
[0192]處理器3是服務器的控制中心,利用各種接口和線路連接整個服務器的各個部分,通過運行或執(zhí)行存儲在存儲器2內的軟件程序和/或模塊,以及調用存儲在存儲器2內的數(shù)據(jù),執(zhí)行服務器的各種功能和處理數(shù)據(jù),從而對服務器進行整體監(jiān)控??蛇x的,處理器3可包括一個或多個處理單元;優(yōu)選的,處理器3可集成應用處理器和調制解調處理器,其中,應用處理器主要處理操作系統(tǒng)、和應用程序等,調制解調處理器主要處理無線通信??梢岳斫獾氖?,上述調制解調處理器也可以不集成到處理器3中。
[0193]通信接口 1,存儲器2,處理器3通過通信總線4完成相互間的通信。
[0194]在本發(fā)明實施例中,處理器3還可以具有如下功能:
[0195]通過通信接口 I獲取大規(guī)模樣本中的任一樣本的樣本屬性;
[0196]確定所獲取的樣本屬性在預先維持的樣本屬性隊列中的更新位置,在所述更新位置上更新入所獲取的樣本屬性;
[0197]保持所述樣本屬性隊列中的樣本屬性的有序排列,得到樣本屬性的動態(tài)分布數(shù)據(jù);
[0198]其中,所述樣本屬性隊列中存儲有所述大規(guī)模樣本中的樣本的樣本屬性,樣本屬性在所述樣本屬性隊列中有序的排列,所述樣本屬性隊列的長度為設定數(shù)值N,N小于所述大規(guī)模樣本中的總樣本數(shù)。
[0199]本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對于實施例公開的裝置而言,由于其與實施例公開的方法相對應,所以描述的比較簡單,相關之處參見方法部分說明即可。
[0200]專業(yè)人員還可以進一步意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術方案的特定應用和設計約束條件。專業(yè)技術人員可以對每個特定的應用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應認為超出本發(fā)明的范圍。
[0201]結合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結合來實施。軟件模塊可以置于隨機存儲器(RAM)、內存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或【技術領域】內所公知的任意其它形式的存儲介質中。
[0202]對所公開的實施例的上述說明,使本領域專業(yè)技術人員能夠實現(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領域的專業(yè)技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。
【權利要求】
1.一種樣本屬性的動態(tài)分布數(shù)據(jù)獲取方法,其特征在于,包括: 獲取大規(guī)模樣本中的任一樣本的樣本屬性; 確定所獲取的樣本屬性在預先維持的樣本屬性隊列中的更新位置,在所述更新位置上更新入所獲取的樣本屬性; 保持所述樣本屬性隊列中的樣本屬性的有序排列,得到樣本屬性的動態(tài)分布數(shù)據(jù);其中,所述樣本屬性隊列中存儲有所述大規(guī)模樣本中的樣本的樣本屬性,樣本屬性在所述樣本屬性隊列中有序的排列,所述樣本屬性隊列的長度為設定數(shù)值N,N小于所述大規(guī)模樣本中的總樣本數(shù)。
2.根據(jù)權利要求1所述的方法,其特征在于,所述確定所獲取的樣本屬性在預先維持的樣本屬性隊列中的更新位置包括: 判斷所獲取的樣本屬性對應的樣本與所述樣本屬性隊列所對應的樣本是否相匹配; 若所獲取的樣本屬性對應的樣本與所述樣本屬性隊列所對應的樣本相匹配,則確定所述樣本屬性隊列中與所獲取的樣本屬性對應的樣本的位置為所述更新位置; 若所獲取的樣本屬性對應的樣本與所述樣本屬性隊列所對應的樣本不相匹配,則根據(jù)所獲取的樣本屬性的大小與所述樣本屬性隊列中存儲的樣本屬性的大小確定更新位置。
3.根據(jù)權利要求2所述的方法,其特征在于,在所獲取的樣本屬性對應的樣本與所述樣本屬性隊列所對應的樣本相匹配時,所述在所述更新位置上更新入所獲取的樣本屬性包括: 將所述樣本屬性隊列中與所獲取的樣本屬性對應的樣本的位置上的樣本屬性替換為所獲取的樣本屬性; 所述保持所述樣本屬性隊列中的樣本屬性的有序排列包括: 根據(jù)所述更新位置上所更新的樣本屬性,調整所述樣本屬性隊列中樣本屬性的排列順序,以保持所述樣本屬性隊列中的樣本屬性的有序排列。
4.根據(jù)權利要求2所述的方法,其特征在于,所述根據(jù)所獲取的樣本屬性的大小與所述樣本屬性隊列中存儲的樣本屬性的大小確定更新位置包括: 判斷所述樣本屬性隊列的長度是否達到設定數(shù)值N ; 若所述樣本屬性隊列的長度達到設定數(shù)值N,且所獲取的樣本屬性介于所述樣本屬性隊列中存儲的樣本屬性的最大值和最小值之間,確定所述樣本屬性隊列中樣本屬性小于所獲取的樣本屬性的最大樣本屬性,及樣本屬性不小于所獲取的樣本屬性的最小樣本屬性,等概率隨機的將所述最大樣本屬性或最小樣本屬性對應的位置確定為所述更新位置;若所述樣本屬性隊列的長度達到設定數(shù)值N,且所獲取的樣本屬性小于所述樣本屬性隊列中存儲的樣本屬性的最小值,則等概率隨機的將所述最小值的位置確定為所述更新位置或剔除所獲取的樣本屬性; 若所述樣本屬性隊列的長度達到設定數(shù)值N,且所獲取的樣本屬性大于所述樣本屬性隊列中存儲的樣本屬性的最大值,則等概率隨機的將所述最大值的位置確定為所述更新位置或剔除所獲取的樣本屬性; 若所述樣本屬性隊列的長度未達到設定數(shù)值N,則比對所獲取的樣本屬性與樣本屬性隊列中存儲的樣本屬性的大小,通過所比對的所獲取的樣本屬性與樣本屬性隊列中存儲的樣本屬性的大小,確定所獲取的樣本屬性在所述樣本屬性隊列中的更新位置。
5.根據(jù)權利要求4所述的方法,其特征在于,在所述樣本屬性隊列的長度達到設定數(shù)值N,且所獲取的樣本屬性介于所述樣本屬性隊列中存儲的樣本屬性的最大值和最小值之間時,所述將所述更新位置上的樣本屬性更新為所獲取的樣本屬性包括: 等概率隨機的將所述最大樣本屬性或最小樣本屬性對應的位置上的樣本屬性替換為所獲取的樣本屬性; 所述保持所述樣本屬性隊列中的樣本屬性的有序排列包括: 在隨機的將所述最大樣本屬性或最小樣本屬性對應的位置上的樣本屬性替換為所獲取的樣本屬性后,確定所述樣本屬性隊列中的樣本屬性為有序排列狀態(tài)。
6.根據(jù)權利要求4所述的方法,其特征在于,在所述樣本屬性隊列的長度未達到設定數(shù)值N時,所述將所述更新位置上的樣本屬性更新為所獲取的樣本屬性包括: 在所述更新位置上寫入所獲取的樣本屬性,以增長樣本屬性隊列的長度; 所述保持所述樣本屬性隊列中的樣本屬性的有序排列包括: 在所述更新位置上寫入所獲取的樣本屬性后,確定所述樣本屬性隊列中的樣本屬性為有序排列狀態(tài)。
7.—種樣本屬性的動態(tài)分布數(shù)據(jù)獲取系統(tǒng),其特征在于,包括: 獲取模塊,用于獲取大規(guī)模樣本中的任一樣本的樣本屬性; 更新位置確定模塊,用于確定所獲取的樣本屬性在預先維持的樣本屬性隊列中的更新位置; 更新模塊,用于在所述更新位置確定模塊所確定的更新位置上更新入所獲取的樣本屬性; 排列保持模塊,用于在所述更新位置上更新入所獲取的樣本屬性后,保持所述樣本屬性隊列中的樣本屬性的有序排列,得到樣本屬性的動態(tài)分布數(shù)據(jù); 其中,所述樣本屬性隊列中存儲有所述大規(guī)模樣本中的樣本的樣本屬性,樣本屬性在所述樣本屬性隊列中有序的排列,所述樣本屬性隊列的長度為設定數(shù)值N,N小于所述大規(guī)模樣本中的總樣本數(shù)。
8.根據(jù)權利要求7所述的系統(tǒng),其特征在于,所述更新位置確定模塊包括: 第一判斷單元,用于判斷所獲取的樣本屬性對應的樣本與所述樣本屬性隊列所對應的樣本是否相匹配; 第一確定單元,用于在所述第一判斷單元的判斷結果為是時,確定所述樣本屬性隊列中與所獲取的樣本屬性對應的樣本的位置為所述更新位置; 第二確定單元,用于在所述第一判斷單元的判斷結果為否時,根據(jù)所獲取的樣本屬性的大小與所述樣本屬性隊列中存儲的樣本屬性的大小確定更新位置。
9.根據(jù)權利要求8所述的系統(tǒng),其特征在于,在所述第一確定單元確定所述樣本屬性隊列中與所獲取的樣本屬性對應的樣本的位置為所述更新位置的狀態(tài)下,所述更新模塊包括: 第一更新單元,用于將所述樣本屬性隊列中與所獲取的樣本屬性對應的樣本的位置上的樣本屬性替換為所獲取的樣本屬性; 所述排列保持模塊包括: 第一排列保持單元,用于根據(jù)所述更新位置上所更新的樣本屬性,調整所述樣本屬性隊列中樣本屬性的排列順序,以保持所述樣本屬性隊列中的樣本屬性的有序排列。
10.根據(jù)權利要求8所述的系統(tǒng),其特征在于,所述第二確定單元包括: 隊列長度判斷子單元,用于判斷所述樣本屬性隊列的長度是否達到設定數(shù)值N; 第一更新位置確定子單元,用于在所述隊列長度判斷子單元的判斷結果為是,且所獲取的樣本屬性介于所述樣本屬性隊列中存儲的樣本屬性的最大值和最小值之間時,確定所述樣本屬性隊列中樣本屬性小于所獲取的樣本屬性的最大樣本屬性,及樣本屬性不小于所獲取的樣本屬性的最小樣本屬性,等概率隨機的將所述最大樣本屬性或最小樣本屬性對應的位置確定為所述更新位置; 第二更新位置確定子單元,用于在所述隊列長度判斷子單元的判斷結果為否時,比對所獲取的樣本屬性與樣本屬性隊列中存儲的樣本屬性的大小,通過所比對的所獲取的樣本屬性與樣本屬性隊列中存儲的樣本屬性的大小,確定所獲取的樣本屬性在所述樣本屬性隊列中的更新位置; 在所述第一更新位置確定子單元確定更新位置的狀態(tài)下,所述更新模塊包括:第二更新單元;所述排列保持模塊包括:第二排列保持單元; 在所述第二更新位置確定子單元確定更新位置的狀態(tài)下,所述更新模塊包括:第三更新單元;所述排列保持模塊包括:第三排列保持單元; 其中,所述第二更新單元,用于在所述第一更新位置確定子單元確定更新位置后,等概率隨機的將所述最大樣本屬性或最小樣本屬性對應的位置上的樣本屬性替換為所獲取的樣本屬性; 所述第二排列保持單元,用于在等概率隨機的將所述最大樣本屬性或最小樣本屬性對應的位置上的樣本屬性替換為所獲取的樣本屬性后,確定所述樣本屬性隊列中的樣本屬性為有序排列狀態(tài); 所述第三更新單元,用于在所述第二更新位置確定子單元確定更新位置后,在所述更新位置上寫入所獲取的樣本屬性,以增長樣本屬性隊列的長度; 所述第三排列保持單元,用于在所述更新位置上寫入所獲取的樣本屬性后,確定所述樣本屬性隊列中的樣本屬性為有序排列狀態(tài)。
【文檔編號】G06F17/30GK104133824SQ201310351587
【公開日】2014年11月5日 申請日期:2013年8月13日 優(yōu)先權日:2013年8月13日
【發(fā)明者】張尚良, 王旭新 申請人:騰訊科技(深圳)有限公司