本發(fā)明的實(shí)施方式涉及網(wǎng)絡(luò)通訊領(lǐng)域,更具體地,本發(fā)明的實(shí)施方式涉及用于選取參與者的方法、用于選取參與者的設(shè)備以及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
背景技術(shù):
本部分旨在為權(quán)利要求書中陳述的本發(fā)明的實(shí)施方式提供背景或者上下文。此處的描述不因?yàn)榘ㄔ诒静糠种芯统姓J(rèn)是現(xiàn)有技術(shù)。
網(wǎng)絡(luò)抽獎(jiǎng)等諸多活動(dòng)都會(huì)涉及到從眾多參與者中選擇一定數(shù)量的參與者作為選取出的參與者(也可以稱為選中的參與者或者中獎(jiǎng)?wù)叩?的過(guò)程。
目前,已經(jīng)出現(xiàn)了根據(jù)預(yù)定的選取概率(也可以稱為中獎(jiǎng)概率等)以及選取數(shù)量確定是否將參與者作為選取出的參與者的技術(shù)方案;一個(gè)具體的例子,預(yù)先針對(duì)一個(gè)獎(jiǎng)品設(shè)置中獎(jiǎng)概率、獎(jiǎng)品發(fā)放數(shù)量以及獎(jiǎng)品發(fā)放時(shí)間,參與者在獎(jiǎng)品發(fā)放時(shí)間范圍內(nèi)申請(qǐng)領(lǐng)取該獎(jiǎng)品時(shí),在獎(jiǎng)品當(dāng)前剩余數(shù)量允許發(fā)放的情況下,根據(jù)該獎(jiǎng)品的中獎(jiǎng)概率進(jìn)行計(jì)算以確定是否允許為該參與者發(fā)放獎(jiǎng)品,在確定出允許為該參與者發(fā)放獎(jiǎng)品時(shí),針對(duì)該參與者執(zhí)行獎(jiǎng)品發(fā)放操作,如在數(shù)據(jù)庫(kù)中更新該參與者的相應(yīng)賬戶參數(shù),以便于將該獎(jiǎng)品添加在該參與者的相應(yīng)賬戶中,并更新獎(jiǎng)品當(dāng)前剩余數(shù)量等。
技術(shù)實(shí)現(xiàn)要素:
但是,在選取概率設(shè)置的較高或者參與者數(shù)量較多等情況下,選取的參與者的數(shù)量很快會(huì)達(dá)到預(yù)定的選取數(shù)量;而在選取概率設(shè)置的較低或者參與者數(shù)量較少等情況下,選取的參與者的數(shù)量可能很難達(dá)到預(yù)定的選取數(shù)量。
因此在現(xiàn)有技術(shù)中,選取的參與者的數(shù)量很快達(dá)到預(yù)定數(shù)量,會(huì)使預(yù)先設(shè)定的活動(dòng)有效時(shí)間失去意義,如使推出的活動(dòng)成為秒殺活動(dòng);而選取的參與者的數(shù)量很難達(dá)到預(yù)先設(shè)定的選取數(shù)量,會(huì)使預(yù)先設(shè)定的選取數(shù)量失去意義,并較易使參與者懷疑活動(dòng)的真實(shí)性;這是非常令人煩惱的過(guò)程。
為此,非常需要一種改進(jìn)的用于選取參與者的技術(shù)方案,以提高選取參與者的合理性,并豐富選取參與者的實(shí)現(xiàn)方式。
在本上下文中,本發(fā)明的實(shí)施方式期望提供一種用于選取參與者的方法、設(shè)備以及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
在本發(fā)明實(shí)施方式的第一個(gè)方面中,提供了一種用于選取參與者的方法,包括:接收在活動(dòng)時(shí)間范圍內(nèi)的來(lái)自參與活動(dòng)的參與者的申請(qǐng)被選取請(qǐng)求;在確定出所述申請(qǐng)被選取請(qǐng)求所屬的當(dāng)前時(shí)間段還未選取出參與者,且所述申請(qǐng)被選取請(qǐng)求為當(dāng)前時(shí)間段中的當(dāng)前時(shí)間片內(nèi)接收到的第N個(gè)申請(qǐng)被選取請(qǐng)求的情況下,根據(jù)當(dāng)前時(shí)間片對(duì)應(yīng)的被選取概率確定是否將所述參與者作為選取出的參與者;其中,所述活動(dòng)時(shí)間范圍根據(jù)允許選取總數(shù)量被劃分為多個(gè)時(shí)間段,時(shí)間段的數(shù)量與所述允許選取總數(shù)量相同,且一個(gè)時(shí)間段包括多個(gè)時(shí)間片,所述N為預(yù)設(shè)自然數(shù)。
在本發(fā)明的一個(gè)實(shí)施例中,所述接收在活動(dòng)時(shí)間范圍內(nèi)的來(lái)自參與活動(dòng)的參與者的申請(qǐng)被選取請(qǐng)求的步驟包括:根據(jù)接收到的來(lái)自用戶的活動(dòng)頁(yè)面請(qǐng)求向所述用戶推送所述活動(dòng)頁(yè)面,并接收來(lái)自所述用戶的針對(duì)所述活動(dòng)頁(yè)面的申請(qǐng)被選取請(qǐng)求。
在本發(fā)明的又一個(gè)實(shí)施例中,所述根據(jù)接收到的來(lái)自用戶的活動(dòng)頁(yè)面請(qǐng)求向所述用戶推送所述活動(dòng)頁(yè)面,并接收來(lái)自所述用戶的針對(duì)所述活動(dòng)頁(yè)面的申請(qǐng)被選取請(qǐng)求步驟包括:在WEB服務(wù)器接收到來(lái)自用戶的活動(dòng)頁(yè)面請(qǐng)求,且本地緩存有所述活動(dòng)頁(yè)面的情況下,向所述用戶推送所述活動(dòng)頁(yè)面;在WEB服務(wù)器接收到來(lái)自用戶的針對(duì)所述活動(dòng)頁(yè)面的申請(qǐng)被選取請(qǐng)求的情況下,將所述申請(qǐng)被選取請(qǐng)求傳輸給所述活動(dòng)對(duì)應(yīng)的應(yīng)用服務(wù)器,使所述應(yīng)用服務(wù)器接收到在活動(dòng)時(shí)間范圍內(nèi)的來(lái)自參與活動(dòng)的參與者的申請(qǐng)被選取請(qǐng)求。
在本發(fā)明的再一個(gè)實(shí)施例中,所述方法還包括:根據(jù)預(yù)定的參與者資格要求對(duì)所述發(fā)送所述申請(qǐng)被選取請(qǐng)求的參與者進(jìn)行過(guò)濾,以濾除不符合參與者資格要求的參與者發(fā)送的申請(qǐng)被選取請(qǐng)求。
在本發(fā)明的再一個(gè)實(shí)施例中,所述參與者資格要求包括下述至少一個(gè):參與者的注冊(cè)賬戶對(duì)應(yīng)的參與所述活動(dòng)的次數(shù)是否達(dá)到預(yù)定次數(shù)、參與者的注冊(cè)賬戶所綁定的用戶身份標(biāo)識(shí)是否與其他參與者的注冊(cè)賬戶所綁定的用戶身份標(biāo)識(shí)相同以及參與者的終端設(shè)備標(biāo)識(shí)信息是否與其他參與者的終端設(shè)備標(biāo)識(shí)信息的相似度達(dá)到預(yù)定相似度。
在本發(fā)明的再一個(gè)實(shí)施例中,所述方法還包括:根據(jù)隨機(jī)確定各時(shí)間片時(shí)長(zhǎng)的時(shí)間片劃分策略將各時(shí)間段分別劃分為多個(gè)時(shí)間片;其中,任一時(shí)間段中的不同時(shí)間片之間不存在重合時(shí)間,且任一時(shí)間段中的所有時(shí)間片相互銜接形成中間無(wú)間斷的時(shí)間段。
在本發(fā)明的再一個(gè)實(shí)施例中,所述第N個(gè)申請(qǐng)被選取請(qǐng)求包括:第一個(gè)申請(qǐng)被選取請(qǐng)求。
在本發(fā)明的再一個(gè)實(shí)施例中,針對(duì)任一時(shí)間段,該時(shí)間段中的第n個(gè)時(shí)間片對(duì)應(yīng)的被選取概率包括:1/((m-n)+1;其中,m為該時(shí)間段所包含的時(shí)間片的總數(shù)量,n為大于等于1且不大于m的整數(shù)。
在本發(fā)明的再一個(gè)實(shí)施例中,所述方法還包括:在確定出將所述參與者作為選取出的參與者的情況下,更新本地緩存的允許選取剩余數(shù)量。
在本發(fā)明的再一個(gè)實(shí)施例中,所述方法還包括:根據(jù)數(shù)據(jù)同步策略將本地緩存的允許選取剩余數(shù)量同步到用于存儲(chǔ)所述活動(dòng)的配置信息的數(shù)據(jù)庫(kù)中。
在本發(fā)明的再一個(gè)實(shí)施例中,所述方法還包括:在確定出所述申請(qǐng)被選取請(qǐng)求所屬的當(dāng)前時(shí)間段已選取出參與者的情況下,禁止將所述參與者作為選取出的參與者;和/或,在確定出所述申請(qǐng)被選取請(qǐng)求所屬的當(dāng)前時(shí)間段還未選取出參與者,且所述申請(qǐng)被選取請(qǐng)求不為當(dāng)前時(shí)間段中的當(dāng)前時(shí)間片內(nèi)接收到的第N個(gè)申請(qǐng)被選取請(qǐng)求的情況下,禁止將所述參與者作為選取出的參與者。
在本發(fā)明實(shí)施方式的第二個(gè)方面中,提供了一種用于選取參與者的設(shè)備,主要包括:接收請(qǐng)求模塊,用于接收在活動(dòng)時(shí)間范圍內(nèi)的來(lái)自參與活動(dòng)的參與者的申請(qǐng)被選取請(qǐng)求;選取參與者模塊,用于在確定出所述申請(qǐng)被選取請(qǐng)求所屬的當(dāng)前時(shí)間段還未選取出參與者,且所述申請(qǐng)被選取請(qǐng)求為當(dāng)前時(shí)間段中的當(dāng)前時(shí)間片內(nèi)接收到的第N個(gè)申請(qǐng)被選取請(qǐng)求的情況下,根據(jù)當(dāng)前時(shí)間片對(duì)應(yīng)的被選取概率確定是否將所述參與者作為選取出的參與者;其中,所述活動(dòng)時(shí)間范圍根據(jù)允許選取總數(shù)量被劃分為多個(gè)時(shí)間段,且時(shí)間段的數(shù)量與所述允許選取總數(shù)量相同,所述N為預(yù)設(shè)自然數(shù)。
在本發(fā)明的一個(gè)實(shí)施例中,所述接收請(qǐng)求模塊具體用于:根據(jù)接收到的來(lái)自用戶的活動(dòng)頁(yè)面請(qǐng)求向所述用戶推送所述活動(dòng)頁(yè)面,接收來(lái)自所述用戶的針對(duì)所述活動(dòng)頁(yè)面的申請(qǐng)被選取請(qǐng)求。
在本發(fā)明的又一個(gè)實(shí)施例中,所述接收請(qǐng)求模塊包括:第一子模塊,用于在WEB服務(wù)器接收到來(lái)自用戶的活動(dòng)頁(yè)面請(qǐng)求,且本地緩存有所述活動(dòng)頁(yè)面的情況下,向所述用戶推送所述活動(dòng)頁(yè)面;第二子模塊,用于在WEB服務(wù)器接收到來(lái)自用戶的針對(duì)所述活動(dòng)頁(yè)面的申請(qǐng)被選取請(qǐng)求的情況下,將所述申請(qǐng)被選取請(qǐng)求傳輸給所述活動(dòng)對(duì)應(yīng)的應(yīng)用服務(wù)器,使所述應(yīng)用服務(wù)器中的第三子模塊接收到在活動(dòng)時(shí)間范圍內(nèi)的來(lái)自參與活動(dòng)的參與者的申請(qǐng)被選取請(qǐng)求。
在本發(fā)明的再一個(gè)實(shí)施例中,所述設(shè)備還包括:過(guò)濾模塊,用于根據(jù)預(yù)定的參與者資格要求對(duì)所述發(fā)送所述申請(qǐng)被選取請(qǐng)求的參與者進(jìn)行過(guò)濾,以濾除不符合參與者資格要求的參與者發(fā)送的申請(qǐng)被選取請(qǐng)求。
在本發(fā)明的再一個(gè)實(shí)施例中,所述參與者資格要求包括下述至少一個(gè):參與者的注冊(cè)賬戶對(duì)應(yīng)的參與所述活動(dòng)的次數(shù)是否達(dá)到預(yù)定次數(shù)、參與者的注冊(cè)賬戶所綁定的用戶身份標(biāo)識(shí)是否與其他參與者的注冊(cè)賬戶所綁定的用戶身份標(biāo)識(shí)相同以及參與者的終端設(shè)備標(biāo)識(shí)信息是否與其他參與者的終端設(shè)備標(biāo)識(shí)信息的相似度達(dá)到預(yù)定相似度。
在本發(fā)明的再一個(gè)實(shí)施例中,所述設(shè)備還包括:劃分模塊,用于根據(jù)隨機(jī)確定各時(shí)間片時(shí)長(zhǎng)的時(shí)間片劃分策略將各時(shí)間段分別劃分為多個(gè)時(shí)間片;其中,任一時(shí)間段中的不同時(shí)間片之間不存在重合時(shí)間,且任一時(shí)間段中的所有時(shí)間片相互銜接形成中間無(wú)間斷的時(shí)間段。
在本發(fā)明的再一個(gè)實(shí)施例中,所述第N個(gè)申請(qǐng)被選取請(qǐng)求包括:第一個(gè)申請(qǐng)被選取請(qǐng)求。
在本發(fā)明的再一個(gè)實(shí)施例中,針對(duì)任一時(shí)間段,該時(shí)間段中的第n個(gè)時(shí)間片對(duì)應(yīng)的被選取概率包括:1/((m-n)+1;其中,m為該時(shí)間段所包含的時(shí)間片的總數(shù)量,n為大于等于1且不大于m的整數(shù)。
在本發(fā)明的再一個(gè)實(shí)施例中,所述設(shè)備還包括:更新模塊,用于在確定出將所述參與者作為選取出的參與者的情況下,更新本地緩存的允許選取剩余數(shù)量。
在本發(fā)明的再一個(gè)實(shí)施例中,所述設(shè)備還包括:同步模塊,用于根據(jù)數(shù)據(jù)同步策略將本地緩存的允許選取剩余數(shù)量同步到用于存儲(chǔ)所述活動(dòng)的配置信息的數(shù)據(jù)庫(kù)中。
在本發(fā)明的再一個(gè)實(shí)施例中,所述選取參與者模塊還用于:在確定出所述申請(qǐng)被選取請(qǐng)求所屬的當(dāng)前時(shí)間段已選取出參與者的情況下,禁止將所述參與者作為選取出的參與者;和/或,在確定出所述申請(qǐng)被選取請(qǐng)求所屬的當(dāng)前時(shí)間段還未選取出參與者,且所述申請(qǐng)被選取請(qǐng)求不為當(dāng)前時(shí)間段中的當(dāng)前時(shí)間片內(nèi)接收到的第N個(gè)申請(qǐng)被選取請(qǐng)求的情況下,禁止將所述參與者作為選取出的參與者。
在本發(fā)明實(shí)施方式的第三方面中,提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)步驟:接收在活動(dòng)時(shí)間范圍內(nèi)的來(lái)自參與活動(dòng)的參與者的申請(qǐng)被選取請(qǐng)求;在確定出所述申請(qǐng)被選取請(qǐng)求所屬的當(dāng)前時(shí)間段還未選取出參與者,且所述申請(qǐng)被選取請(qǐng)求為當(dāng)前時(shí)間段中的當(dāng)前時(shí)間片內(nèi)接收到的第N個(gè)申請(qǐng)被選取請(qǐng)求的情況下,根據(jù)當(dāng)前時(shí)間片對(duì)應(yīng)的被選取概率確定是否將所述參與者作為選取出的參與者;其中,所述活動(dòng)時(shí)間范圍根據(jù)允許選取總數(shù)量被劃分為多個(gè)時(shí)間段,時(shí)間段的數(shù)量與所述允許選取總數(shù)量相同,且一個(gè)時(shí)間段包括多個(gè)時(shí)間片,所述N為預(yù)設(shè)自然數(shù)。
根據(jù)本發(fā)明實(shí)施方式的用于選取參與者的方法、用于選取參與者的設(shè)備以及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),通過(guò)將活動(dòng)時(shí)間范圍根據(jù)允許選取總數(shù)量被劃分為多個(gè)時(shí)間段,且時(shí)間段的數(shù)量與所述允許選取總數(shù)量相同,這樣,一個(gè)時(shí)間段可以只選取出一個(gè)參與者,從而本發(fā)明實(shí)施方式將在活動(dòng)時(shí)間范圍內(nèi)選取出多個(gè)參與者的實(shí)現(xiàn)過(guò)程簡(jiǎn)化為從一個(gè)時(shí)間段內(nèi)選取出一個(gè)參與者的實(shí)現(xiàn)過(guò)程;通過(guò)將一個(gè)時(shí)間段劃分為多個(gè)時(shí)間片(如每個(gè)時(shí)間片的時(shí)長(zhǎng)隨機(jī)設(shè)置),并在申請(qǐng)被選取請(qǐng)求為當(dāng)前時(shí)間段中的當(dāng)前時(shí)間片內(nèi)接收到的第N個(gè)(如第一個(gè))申請(qǐng)被選取請(qǐng)求的情況下,根據(jù)當(dāng)前時(shí)間片對(duì)應(yīng)的被選取概率來(lái)確定是否將該參與者作為選取出的參與者,使本發(fā)明實(shí)施方式可以較易實(shí)現(xiàn)在整個(gè)活動(dòng)時(shí)間范圍內(nèi),均勻的選取出參與者,從而盡可能的避免了選取參與者的過(guò)程受到參與者數(shù)量以及被選取概率的影響;由此可知,本發(fā)明實(shí)施方式能夠在一定程度上提高選取參與者的合理性,從而能夠提高用戶參與活動(dòng)的積極性,且本發(fā)明實(shí)施方式還具有易于實(shí)現(xiàn)且易于推廣應(yīng)用等特點(diǎn)。
附圖說(shuō)明
通過(guò)參考附圖閱讀下文的詳細(xì)描述,本發(fā)明示例性實(shí)施方式的上述以及其他目的、特征和優(yōu)點(diǎn)將變得易于理解。在附圖中,以示例性而非限制性的方式示出了本發(fā)明的若干實(shí)施方式,其中:
圖1示意性地示出了根據(jù)本發(fā)明實(shí)施方式的可以在其中實(shí)現(xiàn)的應(yīng)用場(chǎng)景示意圖;
圖2示意性地示出了根據(jù)本發(fā)明一實(shí)施例的用于選取參與者的方法流程圖;
圖3示意性地示出了根據(jù)本發(fā)明又一實(shí)施例的用于選取參與者的方法流程圖;
圖4示意性地示出了根據(jù)本發(fā)明一實(shí)施例的用于選取參與者的設(shè)備的結(jié)構(gòu)示意圖;
圖5示意性地示出了根據(jù)本發(fā)明一實(shí)施例的計(jì)算機(jī)的結(jié)構(gòu)示意圖;
圖6示意性地示出了根據(jù)本發(fā)明一實(shí)施例的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的示意圖。
在附圖中,相同或?qū)?yīng)的標(biāo)號(hào)表示相同或?qū)?yīng)的部分。
具體實(shí)施方式
下面將參考若干示例性實(shí)施方式來(lái)描述本發(fā)明的原理和精神。應(yīng)當(dāng)理解,給出這些實(shí)施方式僅僅是為了使本領(lǐng)域技術(shù)人員能夠更好地理解進(jìn)而實(shí)現(xiàn)本發(fā)明,而并非以任何方式限制本發(fā)明的范圍。相反,提供這些實(shí)施方式是為了使本公開更加透徹和完整,并且能夠?qū)⒈竟_的范圍完整地傳達(dá)給本領(lǐng)域的技術(shù)人員。
本領(lǐng)域技術(shù)技術(shù)人員知道,本發(fā)明的實(shí)施方式可以實(shí)現(xiàn)為一種設(shè)備、方法或計(jì)算機(jī)程序產(chǎn)品。因此,本公開可以具體實(shí)現(xiàn)為以下形式,即:完全的硬件、完全的軟件(包括固件、駐留軟件、微代碼等),或者硬件和軟件結(jié)合的形式。
根據(jù)本發(fā)明的實(shí)施方式,提出了一種用于選取參與者的方法、設(shè)備以及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
在本文中,需要理解的是,本發(fā)明實(shí)施方式所涉及的術(shù)語(yǔ)活動(dòng)時(shí)間范圍可以是指推出的活動(dòng)的有效時(shí)間,且本發(fā)明實(shí)施方式中的活動(dòng)可以具體為抽獎(jiǎng)活動(dòng)或者報(bào)名活動(dòng)或者申領(lǐng)活動(dòng)等;本發(fā)明實(shí)施方式所涉及的術(shù)語(yǔ)WEB服務(wù)器通常是指能夠提供WEB信息瀏覽服務(wù)的服務(wù)器,且WEB服務(wù)器一般不包含具體的業(yè)務(wù)邏輯,其具有響應(yīng)時(shí)間較快且吞吐率較高等特點(diǎn),該WEB服務(wù)器可以具體為Nginx(即“engine x”)服務(wù)器等;本發(fā)明實(shí)施方式所涉及的術(shù)語(yǔ)應(yīng)用服務(wù)器通常是指提供有具體業(yè)務(wù)邏輯調(diào)用接口的服務(wù)提供方,且應(yīng)用服務(wù)器通??梢员籛EB服務(wù)器所調(diào)用,其吞吐率通常低于WEB服務(wù)器。此外,附圖中的任何元素?cái)?shù)量均用于示例而非限制,以及任何命名都僅用于區(qū)分,而不具有任何限制含義。
下面參考本發(fā)明的若干代表性實(shí)施方式,詳細(xì)闡釋本發(fā)明的原理和精神。
發(fā)明概述
本發(fā)明人發(fā)現(xiàn),由于現(xiàn)有技術(shù)在將選取概率設(shè)置的較高或者參與者數(shù)量較多等情況下,選取的參與者的數(shù)量很快會(huì)達(dá)到預(yù)定的選取數(shù)量;而在選取概率設(shè)置的較低或者參與者數(shù)量較少等情況下,選取的參與者的數(shù)量可能很難達(dá)到預(yù)定的選取數(shù)量;由此可知,在現(xiàn)有技術(shù)中,選取的參與者的數(shù)量很快達(dá)到預(yù)定數(shù)量,會(huì)使預(yù)先設(shè)定的活動(dòng)有效時(shí)間失去意義,如使推出的活動(dòng)成為秒殺活動(dòng);然而選取的參與者的數(shù)量很難達(dá)到預(yù)先設(shè)定的選取數(shù)量,會(huì)使預(yù)先設(shè)定的選取數(shù)量失去意義,并較易使參與者懷疑活動(dòng)的真實(shí)性。
本發(fā)明實(shí)施方式通過(guò)將活動(dòng)時(shí)間范圍根據(jù)允許選取總數(shù)量被劃分為多個(gè)時(shí)間段,且時(shí)間段的數(shù)量與所述允許選取總數(shù)量相同,這樣,一個(gè)時(shí)間段可以只選取出一個(gè)參與者,從而本發(fā)明實(shí)施方式能夠?qū)⒃诨顒?dòng)時(shí)間范圍內(nèi)選取出多個(gè)參與者的實(shí)現(xiàn)過(guò)程簡(jiǎn)化為從一個(gè)時(shí)間段內(nèi)選取出一個(gè)參與者的實(shí)現(xiàn)過(guò)程;通過(guò)將一個(gè)時(shí)間段劃分為多個(gè)時(shí)間片(如每個(gè)時(shí)間片的時(shí)長(zhǎng)隨機(jī)設(shè)置),并在申請(qǐng)被選取請(qǐng)求為當(dāng)前時(shí)間段中的當(dāng)前時(shí)間片內(nèi)接收到的第N個(gè)(如第一個(gè))申請(qǐng)被選取請(qǐng)求的情況下,根據(jù)當(dāng)前時(shí)間片對(duì)應(yīng)的被選取概率來(lái)確定是否將該參與者作為選取出的參與者,使本發(fā)明實(shí)施方式可以較易實(shí)現(xiàn)在整個(gè)活動(dòng)時(shí)間范圍內(nèi),均勻的選取出參與者,從而盡可能的避免了選取參與者的過(guò)程受到參與者數(shù)量以及被選取概率的影響;由此可知,本發(fā)明實(shí)施方式能夠在一定程度上提高選取參與者的合理性,從而能夠提高用戶參與活動(dòng)的積極性,且本發(fā)明實(shí)施方式還具有易于實(shí)現(xiàn)且易于推廣應(yīng)用等特點(diǎn)。
在介紹了本發(fā)明的基本原理之后,下面具體介紹本發(fā)明的各種非限制性實(shí)施方式。
應(yīng)用場(chǎng)景總覽
首先參考圖1,示意性地示出了根據(jù)本發(fā)明實(shí)施方式的可以在其中實(shí)現(xiàn)的應(yīng)用場(chǎng)景。
圖1中,終端設(shè)備1、終端設(shè)備2、……終端設(shè)備n中均安裝有瀏覽器或者應(yīng)用(APP),不同用戶可以利用其終端設(shè)備(如上述終端設(shè)備1至終端設(shè)備n中的一個(gè)終端設(shè)備)中安裝的瀏覽器或者APP等工具參與網(wǎng)絡(luò)側(cè)(如應(yīng)用服務(wù)器)推出的從眾多參與者中挑選出部分參與者的活動(dòng),如抽獎(jiǎng)活動(dòng)或者報(bào)名活動(dòng)或者申領(lǐng)活動(dòng)等活動(dòng),位于網(wǎng)絡(luò)側(cè)的相應(yīng)服務(wù)器(如應(yīng)用服務(wù)器等)通知相應(yīng)的參與者其是否為被挑選出的參與者(如中獎(jiǎng)?wù)呋蛘叱晒?bào)名者或者成功申領(lǐng)者等)。然而,本領(lǐng)域技術(shù)人員完全可以理解,本發(fā)明實(shí)施方式的適用場(chǎng)景不受到該框架任何方面的限制。
示例性方法
下面結(jié)合圖1所示的應(yīng)用場(chǎng)景,參考圖2-圖3來(lái)描述根據(jù)本發(fā)明示例性實(shí)施方式的用于選取參與者的方法。需要注意的是,上述應(yīng)用場(chǎng)景僅是為了便于理解本發(fā)明的精神和原理而示出,本發(fā)明的實(shí)施方式在此方面不受任何限制。相反,本發(fā)明的實(shí)施方式可以應(yīng)用于適用的任何場(chǎng)景。
參見圖2,示意性地示出了根據(jù)本發(fā)明一實(shí)施例的用于選取參與者的方法的流程圖,該方法通常在網(wǎng)絡(luò)側(cè)的服務(wù)器處執(zhí)行,具體的,該方法可以在WEB服務(wù)器或者應(yīng)用服務(wù)器處執(zhí)行,該方法也可以部分在WEB服務(wù)器處執(zhí)行而部分在應(yīng)用服務(wù)器處執(zhí)行,且該方法可以包括步驟S200以及S210;可選的,該方法還可以包括:步驟S220以及步驟S230。
S200、接收在活動(dòng)時(shí)間范圍內(nèi)的來(lái)自參與活動(dòng)的參與者的申請(qǐng)被選取請(qǐng)求。
作為示例,本發(fā)明實(shí)施方式中的申請(qǐng)被選取請(qǐng)求通常是基于預(yù)先設(shè)置的活動(dòng)頁(yè)面而產(chǎn)生的請(qǐng)求,一個(gè)具體的例子,用戶在通過(guò)其終端設(shè)備接收到的鏈接地址或者頁(yè)面獲知當(dāng)前存在抽獎(jiǎng)等活動(dòng)時(shí),通過(guò)點(diǎn)擊鏈接或者點(diǎn)擊頁(yè)面中的相應(yīng)區(qū)域等方式向網(wǎng)絡(luò)側(cè)的相應(yīng)服務(wù)器發(fā)送活動(dòng)頁(yè)面請(qǐng)求,網(wǎng)絡(luò)側(cè)的相應(yīng)服務(wù)器在接收到該活動(dòng)頁(yè)面請(qǐng)求后,向該用戶的終端設(shè)備推送相應(yīng)的活動(dòng)頁(yè)面,用戶在通過(guò)點(diǎn)擊其終端設(shè)備所顯示的該活動(dòng)頁(yè)面中的“參與活動(dòng)”等按鈕后,產(chǎn)生申請(qǐng)被選取請(qǐng)求并向網(wǎng)絡(luò)側(cè)的相應(yīng)服務(wù)器發(fā)送該申請(qǐng)被選取請(qǐng)求。
在申請(qǐng)被選取請(qǐng)求由應(yīng)用服務(wù)器來(lái)處理的情況下,本發(fā)明實(shí)施方式可以通過(guò)WEB服務(wù)器來(lái)使應(yīng)用服務(wù)器接收到來(lái)自用戶的申請(qǐng)被選取請(qǐng)求;如在WEB服務(wù)器接收到來(lái)自用戶的終端設(shè)備的活動(dòng)頁(yè)面請(qǐng)求時(shí),判斷本地是否緩存有該活動(dòng)頁(yè)面,WEB服務(wù)器在判斷出本地未緩存有該活動(dòng)頁(yè)面時(shí),向相應(yīng)的應(yīng)用服務(wù)器請(qǐng)求該活動(dòng)頁(yè)面,WEB服務(wù)器在接收到應(yīng)用服務(wù)器發(fā)送來(lái)的活動(dòng)頁(yè)面后,本地緩存該活動(dòng)頁(yè)面,并向用戶的終端設(shè)備推送該活動(dòng)頁(yè)面;WEB服務(wù)器在判斷出本地緩存有該活動(dòng)頁(yè)面時(shí),可以直接從其緩存的信息中獲取該活動(dòng)頁(yè)面,并向用戶推送該活動(dòng)頁(yè)面;用戶基于其終端設(shè)備接收到的活動(dòng)頁(yè)面執(zhí)行相應(yīng)的操作(如點(diǎn)擊活動(dòng)頁(yè)面中的“抽獎(jiǎng)”按鈕等),以參與該活動(dòng)成為參與者時(shí),產(chǎn)生針對(duì)活動(dòng)頁(yè)面的申請(qǐng)被選取請(qǐng)求,該申請(qǐng)被選取請(qǐng)求由用戶的終端設(shè)備向WEB服務(wù)器發(fā)送,并由WEB服務(wù)器將該申請(qǐng)被選取請(qǐng)求發(fā)送給應(yīng)用服務(wù)器,從而使應(yīng)用服務(wù)器接收到在活動(dòng)時(shí)間范圍內(nèi)的來(lái)自參與活動(dòng)的參與者的申請(qǐng)被選取請(qǐng)求。由于對(duì)活動(dòng)頁(yè)面請(qǐng)求的處理被WEB服務(wù)器所分擔(dān),而WEB服務(wù)器具有響應(yīng)時(shí)間較快且吞吐率較高等特點(diǎn),因此,本發(fā)明實(shí)施方式可以有效避免大量的活動(dòng)頁(yè)面請(qǐng)求對(duì)應(yīng)用服務(wù)器的壓力,有利于提高應(yīng)用服務(wù)器的可靠性以及安全性。
本發(fā)明實(shí)施方式中的活動(dòng)時(shí)間范圍可以稱為活動(dòng)舉辦時(shí)間或者活動(dòng)有效時(shí)間等,如在活動(dòng)為抽獎(jiǎng)活動(dòng)時(shí),活動(dòng)時(shí)間范圍可以具體為能夠參與抽獎(jiǎng)的時(shí)間范圍。本發(fā)明實(shí)施方式的活動(dòng)時(shí)間范圍通常包括一個(gè)或者多個(gè)連續(xù)的時(shí)間段,如某年某月某日的早8點(diǎn)至晚6點(diǎn),再如某年某月某日的早8點(diǎn)到中午12點(diǎn)以及同日的下午2點(diǎn)到晚6點(diǎn)等。本發(fā)明不限制活動(dòng)時(shí)間范圍的具體表現(xiàn)形式。
本發(fā)明實(shí)施方式中的活動(dòng)時(shí)間范圍應(yīng)根據(jù)允許選取總數(shù)量被劃分為多個(gè)時(shí)間段,其中的允許選取總數(shù)量即從眾多參與者中選擇出的參與者的總數(shù)量;一個(gè)具體的例子,在活動(dòng)為抽獎(jiǎng)活動(dòng)的情況下,允許選取總數(shù)量通常為中獎(jiǎng)總數(shù)量;在活動(dòng)為報(bào)名活動(dòng)的情況下,允許選取總數(shù)量通常為報(bào)名總數(shù)量;在活動(dòng)為申領(lǐng)活動(dòng)的情況下,允許選取總數(shù)量通常為被申請(qǐng)目標(biāo)的總數(shù)量。本發(fā)明實(shí)施方式將活動(dòng)時(shí)間范圍劃分出的時(shí)間段的數(shù)量應(yīng)與允許選取總數(shù)量相同,例如在允許選取總數(shù)量為A的情況下,應(yīng)將活動(dòng)時(shí)間范圍劃分A個(gè)時(shí)間段,這樣本發(fā)明實(shí)施方式可以在一個(gè)時(shí)間段中僅選取出一個(gè)參與者。
本發(fā)明實(shí)施方式中的任意一個(gè)時(shí)間段均包括多個(gè)時(shí)間片,不同時(shí)間段所包括的時(shí)間片的數(shù)量通常相同,當(dāng)然,不同時(shí)間段所包括的時(shí)間片的數(shù)量也可以不相同。另外,本發(fā)明實(shí)施方式中的一個(gè)時(shí)間段中的不同時(shí)間片的時(shí)長(zhǎng)通常并不相同,如本發(fā)明實(shí)施方式在將任意一個(gè)時(shí)間段劃分為多個(gè)時(shí)間片時(shí),可以根據(jù)隨機(jī)確定各時(shí)間片時(shí)長(zhǎng)的時(shí)間片劃分策略將時(shí)間段分別劃分為多個(gè)時(shí)間片,也就是說(shuō),在將時(shí)間段劃分為多個(gè)時(shí)間片的過(guò)程中,可以在考慮了時(shí)間段的時(shí)長(zhǎng)以及時(shí)間段所包含的時(shí)間片的數(shù)量的情況下,產(chǎn)生隨機(jī)數(shù),并將產(chǎn)生的隨機(jī)數(shù)作為時(shí)間片的時(shí)長(zhǎng)來(lái)對(duì)時(shí)間段進(jìn)行時(shí)間片的劃分。
作為示例,本發(fā)明實(shí)施方式中的任意一個(gè)時(shí)間段中的不同時(shí)間片之間不存在時(shí)間重合現(xiàn)象,且任一時(shí)間段中的所有時(shí)間片相互銜接形成中間無(wú)間斷的時(shí)間段,即一個(gè)時(shí)間段中的所有時(shí)間片的時(shí)長(zhǎng)之和為該時(shí)間段的時(shí)長(zhǎng);一個(gè)具體的例子,設(shè)定時(shí)間段10:00:00-10:01:00被劃分為五個(gè)時(shí)間片,這五個(gè)時(shí)間片可以具體為10:00:00-10:00:09、10:00:10-10:00:26、10:00:27-10:00:33、10:00:34-10:00:45以及10:00:46-10:00:60。
本發(fā)明實(shí)施方式在確定出上述申請(qǐng)被選取請(qǐng)求所屬的當(dāng)前時(shí)間段還未選取出參與者,且申請(qǐng)被選取請(qǐng)求為當(dāng)前時(shí)間段中的當(dāng)前時(shí)間片內(nèi)接收到的第N個(gè)申請(qǐng)被選取請(qǐng)求的情況下,到步驟S210。
S210、根據(jù)當(dāng)前時(shí)間片對(duì)應(yīng)的被選取概率確定是否將參與者作為選取出的參與者。
作為示例,本發(fā)明實(shí)施方式可以在接收到申請(qǐng)被選取請(qǐng)求之后,對(duì)申請(qǐng)被選取請(qǐng)求進(jìn)行過(guò)濾處理,以濾除由于用戶的不當(dāng)操作而導(dǎo)致活動(dòng)出現(xiàn)不公平現(xiàn)象的申請(qǐng)被選取請(qǐng)求;具體的,本發(fā)明實(shí)施方式可以根據(jù)預(yù)定的參與者資格要求對(duì)發(fā)送申請(qǐng)被選取請(qǐng)求的參與者進(jìn)行過(guò)濾,以濾除不符合參與者資格要求的參與者發(fā)送的申請(qǐng)被選取請(qǐng)求。上述預(yù)定的參與者資格要求通常包括:參與者的注冊(cè)賬戶對(duì)應(yīng)的參與活動(dòng)的次數(shù)是否達(dá)到預(yù)定次數(shù)(如是否達(dá)到一次)、參與者的注冊(cè)賬戶所綁定的用戶身份標(biāo)識(shí)是否與其他參與者的注冊(cè)賬戶所綁定的用戶身份標(biāo)識(shí)相同以及參與者的終端設(shè)備標(biāo)識(shí)信息是否與其他參與者的終端設(shè)備標(biāo)識(shí)信息的相似度達(dá)到預(yù)定相似度。當(dāng)然,預(yù)定的參與者資格要求也可以包括上述任意一個(gè)或者任意兩個(gè)。
本發(fā)明實(shí)施方式通過(guò)利用參與者的注冊(cè)賬戶對(duì)應(yīng)的參與活動(dòng)的次數(shù)是否達(dá)到預(yù)定次數(shù)可以有效避免一個(gè)用戶利用其同一個(gè)注冊(cè)賬戶重復(fù)參與活動(dòng)的次數(shù)(如重復(fù)進(jìn)行抽獎(jiǎng)的次數(shù)等)超過(guò)預(yù)定次數(shù)的現(xiàn)象。一個(gè)具體的例子,在一個(gè)抽獎(jiǎng)活動(dòng)中,如果規(guī)定一個(gè)用戶只能抽獎(jiǎng)一次,則本發(fā)明實(shí)施方式可以在接收到申請(qǐng)被選取請(qǐng)求后,從該申請(qǐng)被選取請(qǐng)求中獲取參與者的注冊(cè)賬戶信息,并判斷該注冊(cè)賬戶信息是否屬于預(yù)先存儲(chǔ)的已參加抽獎(jiǎng)的注冊(cè)賬戶信息集合,如果判斷出屬于該集合,則確定出該參與者已經(jīng)參與過(guò)抽獎(jiǎng)活動(dòng),應(yīng)濾除該申請(qǐng)被選取請(qǐng)求,如果判斷出不屬于該集合,則確定出該參與者還未參與過(guò)抽獎(jiǎng)活動(dòng),不應(yīng)濾除該申請(qǐng)被選取請(qǐng)求。
本發(fā)明實(shí)施方式通過(guò)利用參與者的注冊(cè)賬戶所綁定的用戶身份標(biāo)識(shí)是否與其他參與者的注冊(cè)賬戶所綁定的用戶身份標(biāo)識(shí)相同可以在一定程度上避免一個(gè)用戶利用其不同的注冊(cè)賬戶重復(fù)參與活動(dòng)的次數(shù)(如重復(fù)進(jìn)行抽獎(jiǎng)的次數(shù)等)超過(guò)預(yù)定次數(shù)的現(xiàn)象。一個(gè)具體的例子,在一個(gè)抽獎(jiǎng)活動(dòng)中,如果規(guī)定一個(gè)用戶只能抽獎(jiǎng)一次,則本發(fā)明實(shí)施方式可以在接收到申請(qǐng)被選取請(qǐng)求后,從該申請(qǐng)被選取請(qǐng)求中獲取參與者的注冊(cè)賬戶信息,并根據(jù)預(yù)先存儲(chǔ)的注冊(cè)信息確定該注冊(cè)賬戶信息所綁定的用戶身份標(biāo)識(shí)(如所綁定的移動(dòng)電話號(hào)碼或者身份證號(hào)碼等),然后,判斷該注冊(cè)賬戶信息所綁定的用戶身份標(biāo)識(shí)是否屬于預(yù)先存儲(chǔ)的已參加抽獎(jiǎng)的注冊(cè)賬戶信息所綁定的用戶身份標(biāo)識(shí)集合,如果判斷出屬于該集合,則確定出該參與者已經(jīng)利用其他注冊(cè)賬戶信息參與過(guò)抽獎(jiǎng)活動(dòng),應(yīng)濾除該申請(qǐng)被選取請(qǐng)求,如果判斷出不屬于該集合,則確定出該參與者還未參與過(guò)抽獎(jiǎng)活動(dòng),不應(yīng)濾除該申請(qǐng)被選取請(qǐng)求。
本發(fā)明實(shí)施方式通過(guò)利用參與者的終端設(shè)備標(biāo)識(shí)信息是否與其他參與者的終端設(shè)備標(biāo)識(shí)信息的相似度達(dá)到預(yù)定相似度可以在一定程度上避免一個(gè)用戶利用不同的終端設(shè)備重復(fù)參與活動(dòng)的次數(shù)(如重復(fù)進(jìn)行抽獎(jiǎng)的次數(shù)等)超過(guò)預(yù)定次數(shù)的現(xiàn)象。一個(gè)具體的例子,在一個(gè)抽獎(jiǎng)活動(dòng)中,如果規(guī)定一個(gè)用戶只能抽獎(jiǎng)一次,則本發(fā)明實(shí)施方式可以在接收到申請(qǐng)被選取請(qǐng)求后,從該申請(qǐng)被選取請(qǐng)求中獲取參與者的終端設(shè)備標(biāo)識(shí)信息(如終端設(shè)備中的網(wǎng)卡等硬件的標(biāo)識(shí)信息和/或?yàn)g覽器等軟件的標(biāo)識(shí)信息等),并將獲取到的終端設(shè)備的標(biāo)識(shí)信息抽象為一個(gè)多維向量,然后,計(jì)算該多維向量與預(yù)先存儲(chǔ)的已參加抽獎(jiǎng)的各用戶對(duì)應(yīng)的多維向量的相似度,如果判斷出計(jì)算獲得的任意一個(gè)相似度達(dá)到預(yù)定相似度,則確定出該用戶利用其它終端設(shè)備已經(jīng)參加過(guò)抽獎(jiǎng)活動(dòng),應(yīng)濾除該申請(qǐng)被選取請(qǐng)求,如果判斷出計(jì)算獲得的所有相似度均未達(dá)到預(yù)定相似度,則確定出該用戶還未參與過(guò)抽獎(jiǎng)活動(dòng),不應(yīng)濾除該申請(qǐng)被選取請(qǐng)求。
作為示例,針對(duì)未被濾除的申請(qǐng)被選取請(qǐng)求,本發(fā)明實(shí)施方式在確定出該申請(qǐng)被選取請(qǐng)求所屬的當(dāng)前時(shí)間段還未選取出參與者,且該申請(qǐng)被選取請(qǐng)求為當(dāng)前時(shí)間段中的當(dāng)前時(shí)間片內(nèi)接收到的第N(N為預(yù)設(shè)的自然數(shù))個(gè)申請(qǐng)被選取請(qǐng)求的情況下,應(yīng)根據(jù)當(dāng)前時(shí)間片對(duì)應(yīng)的被選取概率確定是否將參與者作為選取出的參與者。在通常情況下,上述第N個(gè)申請(qǐng)被選取請(qǐng)求可以為第一個(gè)申請(qǐng)被選取請(qǐng)求;當(dāng)然,上述第N個(gè)申請(qǐng)被選取請(qǐng)求也可以為第二個(gè)申請(qǐng)被選取請(qǐng)求或者第三個(gè)申請(qǐng)被選取請(qǐng)求等。在本發(fā)明實(shí)施方式采用隨機(jī)確定各時(shí)間片時(shí)長(zhǎng)的時(shí)間片劃分策略對(duì)各時(shí)間段進(jìn)行時(shí)間片劃分的情況下,由于每一個(gè)時(shí)間的時(shí)長(zhǎng)是隨機(jī)確定的,因此,每一個(gè)時(shí)間段內(nèi)的任意一個(gè)時(shí)刻都有可能成為第一個(gè)申請(qǐng)被選取請(qǐng)求的時(shí)間點(diǎn),從而本發(fā)明實(shí)施方式可以使選取出的參與者隨機(jī)的分布在每一個(gè)時(shí)間段的相應(yīng)時(shí)刻。
作為示例,本發(fā)明實(shí)施方式為每一個(gè)時(shí)間段中的每一個(gè)時(shí)間片均設(shè)置有被選取概率,且針對(duì)任意一個(gè)時(shí)間段而言,該時(shí)間段中的不同時(shí)間片所對(duì)應(yīng)的被選取概率可以相同,也可以不相同。一個(gè)具體的例子,本發(fā)明實(shí)施方式可以利用下述公式(1)來(lái)設(shè)置一個(gè)時(shí)間段中的第n個(gè)時(shí)間片所對(duì)應(yīng)的被選取概率:
1/((m-n)+1; 公式(1)
在上述公式(1)中,m為該時(shí)間段所包含的時(shí)間片的總數(shù)量,且m為大于1的整數(shù),n為大于等于1且不大于m的整數(shù)。
利用上述公式(1)設(shè)置時(shí)間段中的每一個(gè)時(shí)間片所對(duì)應(yīng)的被選取概率的一個(gè)具體例子為:在一個(gè)時(shí)間段被劃分為五個(gè)時(shí)間片的情況下,第一個(gè)時(shí)間片、第二個(gè)時(shí)間片、第三個(gè)時(shí)間片、第四個(gè)時(shí)間片以及第五個(gè)時(shí)間片各自對(duì)應(yīng)的被選取概率分別為1/5、1/4、1/3、1/2以及1;雖然各時(shí)間片各自對(duì)應(yīng)的被選取概率不相同,但是,由于在后的時(shí)間片中的申請(qǐng)被選取請(qǐng)求的參與者是否被作為選取出的參與者依賴于在先的時(shí)間片中的申請(qǐng)被選取請(qǐng)求的參與者不被作為選取出的參與者,因此,實(shí)際上在每個(gè)時(shí)間片的第N個(gè)申請(qǐng)被選取請(qǐng)求的參與者被作為選取出的參與者的概率是相同的,如第n個(gè)時(shí)間片的第N個(gè)申請(qǐng)被選取請(qǐng)求的參與者被作為選取出的參與者的概率下述公式(2)所示:
(1-1/((m-1)+1))ⅹ(1-1/((m-2)+1))ⅹ……ⅹ1/((m-n)+1));
=((m-1)/m)ⅹ((m-2)/(m-1))ⅹ……ⅹ1/((m-n)+1)
=1/m 公式(2)
由上述公式(2)可知,實(shí)際上,一個(gè)時(shí)間段內(nèi)的每一個(gè)時(shí)間片的第N個(gè)申請(qǐng)被選取請(qǐng)求的參與者被作為選取出的參與者的概率都是1/m;由于本發(fā)明實(shí)施方式中的每一個(gè)時(shí)間段內(nèi)的任意一個(gè)時(shí)刻都有可能成為第N個(gè)申請(qǐng)被選取請(qǐng)求的時(shí)間點(diǎn),而且每一個(gè)時(shí)間片中的第N個(gè)申請(qǐng)被選取請(qǐng)求的參與者被作為選取出的參與者的概率都是1/m,因此,本發(fā)明實(shí)施方式能夠保證每一個(gè)時(shí)刻接收到的申請(qǐng)被選取請(qǐng)求的參與者具有均等的被作為選取出的參與者的概率,且與參與者的數(shù)量以及現(xiàn)有技術(shù)中的預(yù)設(shè)的被選取概率的大小無(wú)關(guān)。
本發(fā)明實(shí)施方式在根據(jù)當(dāng)前時(shí)間片對(duì)應(yīng)的被選取概率確定出將上述參與者作為選取出的參與者的情況下,到步驟S220,而在確定出不將上述參與者作為選取出的參與者的情況下,到步驟S230。
S220、更新本地緩存的允許選取剩余數(shù)量。
作為示例,通常情況下,包括當(dāng)前允許選取剩余數(shù)量(如當(dāng)前剩余獎(jiǎng)品數(shù)量等)在內(nèi)的活動(dòng)的配置信息會(huì)存儲(chǔ)在數(shù)據(jù)庫(kù)中;由于每次選取出一個(gè)參與者的時(shí)候都需要對(duì)數(shù)據(jù)庫(kù)中的當(dāng)前允許選取剩余數(shù)量進(jìn)行更新,因此,在一些熱點(diǎn)時(shí)刻(如抽獎(jiǎng)的開始時(shí)刻等),對(duì)數(shù)據(jù)庫(kù)進(jìn)行集中大量的訪問(wèn)容易使數(shù)據(jù)庫(kù)崩潰,從而使對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)成為實(shí)現(xiàn)選取參與者的瓶頸。本發(fā)明實(shí)施方式通過(guò)從數(shù)據(jù)庫(kù)中獲取允許選取剩余數(shù)量(如在選取參與者的過(guò)程的一開始從數(shù)據(jù)庫(kù)中獲取允許選取總數(shù)量,并將允許選取總數(shù)量作為當(dāng)前允許選取剩余數(shù)量),并本地緩存,這樣,在后續(xù)選取出參與者時(shí),可以對(duì)本地緩存的當(dāng)前允許選取剩余數(shù)量進(jìn)行更新,后續(xù)可以根據(jù)預(yù)設(shè)的數(shù)據(jù)同步策略將本地緩存的允許選取剩余數(shù)量同步到數(shù)據(jù)庫(kù)中,如在預(yù)定數(shù)量個(gè)時(shí)間段結(jié)束后,將本地緩存的允許選取剩余數(shù)量同步到相應(yīng)的數(shù)據(jù)庫(kù)中的允許選取剩余數(shù)量,從而避免了熱點(diǎn)時(shí)刻對(duì)數(shù)據(jù)庫(kù)進(jìn)行集中大量的訪問(wèn)易使數(shù)據(jù)庫(kù)崩潰的現(xiàn)象,進(jìn)而提高了本發(fā)明實(shí)施方式的可靠性以及安全性。
本發(fā)明實(shí)施方式在確定出申請(qǐng)被選取請(qǐng)求所屬的當(dāng)前時(shí)間段已選取出參與者的情況下,到步驟S230;本發(fā)明實(shí)施方式也可以在確定出申請(qǐng)被選取請(qǐng)求所屬的當(dāng)前時(shí)間段還未選取出參與者,且上述申請(qǐng)被選取請(qǐng)求不為當(dāng)前時(shí)間段中的當(dāng)前時(shí)間片內(nèi)接收到的第N個(gè)申請(qǐng)被選取請(qǐng)求的情況下,到步驟S230。
S230、禁止將參與者作為選取出的參與者。
參見圖3,示意性地示出了根據(jù)本發(fā)明一實(shí)施例的用于選取參與者的方法的流程圖,該方法WEB服務(wù)器以及應(yīng)用服務(wù)器處執(zhí)行,且該方法可以包括下述步驟:
S300、針對(duì)當(dāng)前推出的抽獎(jiǎng)活動(dòng),開始本發(fā)明實(shí)施方式的用于選取參與者的方法。
S310、在抽獎(jiǎng)活動(dòng)時(shí)間范圍內(nèi),WEB服務(wù)器在接收到來(lái)自用戶的終端設(shè)備的抽獎(jiǎng)頁(yè)面請(qǐng)求的情況下,從其本地緩存的靜態(tài)資源中獲取該抽獎(jiǎng)活動(dòng)的抽獎(jiǎng)頁(yè)面,并向用戶的終端設(shè)備發(fā)送該抽獎(jiǎng)頁(yè)面。用戶的終端設(shè)備在接收到該抽獎(jiǎng)頁(yè)面并顯示后,用戶通過(guò)點(diǎn)擊抽獎(jiǎng)頁(yè)面中的抽獎(jiǎng)按鈕而參與抽獎(jiǎng)活動(dòng),用戶的終端設(shè)備會(huì)根據(jù)用戶基于該抽獎(jiǎng)頁(yè)面的操作而產(chǎn)生申請(qǐng)中獎(jiǎng)?wù)埱?也可以稱為中獎(jiǎng)?wù)埱?,并向WEB服務(wù)器發(fā)送該申請(qǐng)中獎(jiǎng)?wù)埱蟆?/p>
S320、WEB服務(wù)器在接收到申請(qǐng)中獎(jiǎng)?wù)埱蟮那闆r下,將該申請(qǐng)中獎(jiǎng)?wù)埱筠D(zhuǎn)發(fā)給應(yīng)用服務(wù)器。
S330、應(yīng)用服務(wù)器對(duì)接收到的申請(qǐng)中獎(jiǎng)?wù)埱筮M(jìn)行過(guò)濾,以濾除不符合抽獎(jiǎng)資格要求的參與者所發(fā)送的申請(qǐng)中獎(jiǎng)?wù)埱蟆?/p>
S340、對(duì)于符合抽獎(jiǎng)資格要求的參與者所發(fā)送的申請(qǐng)中獎(jiǎng)?wù)埱螅瑧?yīng)用服務(wù)器根據(jù)該申請(qǐng)中獎(jiǎng)?wù)埱笏鶎?duì)應(yīng)的當(dāng)前時(shí)間段是否已經(jīng)存在中獎(jiǎng)?wù)咭约霸撋暾?qǐng)中獎(jiǎng)?wù)埱笫欠袷钱?dāng)前時(shí)間片的第一個(gè)申請(qǐng)中獎(jiǎng)?wù)埱笈袛嘣撚脩羰欠裰歇?jiǎng),在申請(qǐng)中獎(jiǎng)?wù)埱笏鶎?duì)應(yīng)的當(dāng)前時(shí)間段已經(jīng)存在中獎(jiǎng)?wù)呋蛘咴撋暾?qǐng)中獎(jiǎng)?wù)埱蟛皇钱?dāng)前時(shí)間片的第一個(gè)申請(qǐng)中獎(jiǎng)?wù)埱髸r(shí),應(yīng)用服務(wù)器判斷出該用戶沒(méi)有中獎(jiǎng),到步驟S360;而在申請(qǐng)中獎(jiǎng)?wù)埱笏鶎?duì)應(yīng)的當(dāng)前時(shí)間段并未存在中獎(jiǎng)?wù)咔以撋暾?qǐng)中獎(jiǎng)?wù)埱笫钱?dāng)前時(shí)間片的第一個(gè)申請(qǐng)中獎(jiǎng)?wù)埱髸r(shí),應(yīng)用服務(wù)器判斷出該用戶中獎(jiǎng),到步驟S350。
S350、應(yīng)用服務(wù)器根據(jù)緩存的剩余獎(jiǎng)品數(shù)量的當(dāng)前計(jì)數(shù)值判斷是否還有可供發(fā)放的獎(jiǎng)品,如果判斷出還有可供發(fā)放的獎(jiǎng)品,則到步驟S351,如果判斷出已經(jīng)沒(méi)有可供發(fā)放的獎(jiǎng)品,則到步驟S360。
S351、應(yīng)用服務(wù)器將緩存的剩余獎(jiǎng)品數(shù)量的當(dāng)前計(jì)數(shù)值減1,并到步驟S352。
S352、應(yīng)用服務(wù)器執(zhí)行發(fā)放獎(jiǎng)品操作,如更新該參與者的相應(yīng)賬戶,以便于將該獎(jiǎng)品添加在該參與者的相應(yīng)賬戶中。
S360、本次用于選取參與者的方法結(jié)束。
示例性設(shè)備
在介紹了本發(fā)明示例性實(shí)施方式的方法之后,接下來(lái),參考圖4對(duì)本發(fā)明示例性實(shí)施方式的用于選取參與者的設(shè)備進(jìn)行說(shuō)明。
參見圖4,示意性地示出了根據(jù)本發(fā)明一實(shí)施例的用于選取參與者的設(shè)備的結(jié)構(gòu)示意圖,該設(shè)備通常設(shè)置于網(wǎng)絡(luò)側(cè)的服務(wù)器處,具體的,該設(shè)備可以設(shè)置于WEB服務(wù)器處或者應(yīng)用服務(wù)器處,該設(shè)備也可以部分設(shè)置于WEB服務(wù)器處,而部分設(shè)置于應(yīng)用服務(wù)器處。
圖4中,本發(fā)明實(shí)施方式的用于選取參與者的設(shè)備包括:接收請(qǐng)求模塊400以及選取參與者模塊410;可選的,該設(shè)備還可以包括:過(guò)濾模塊420、劃分模塊430、更新模塊440以及同步模塊450。
接收請(qǐng)求模塊400主要用于接收在活動(dòng)時(shí)間范圍內(nèi)的來(lái)自參與活動(dòng)的參與者的申請(qǐng)被選取請(qǐng)求。
作為示例,接收請(qǐng)求模塊400接收到的申請(qǐng)被選取請(qǐng)求通常是基于預(yù)先設(shè)置的活動(dòng)頁(yè)面而產(chǎn)生的請(qǐng)求,一個(gè)具體的例子,用戶在通過(guò)其終端設(shè)備接收到的鏈接地址或者頁(yè)面獲知當(dāng)前存在抽獎(jiǎng)等活動(dòng)時(shí),通過(guò)點(diǎn)擊鏈接或者點(diǎn)擊頁(yè)面中的相應(yīng)區(qū)域等方式向網(wǎng)絡(luò)側(cè)的相應(yīng)服務(wù)器發(fā)送活動(dòng)頁(yè)面請(qǐng)求,網(wǎng)絡(luò)側(cè)的相應(yīng)服務(wù)器中的接收請(qǐng)求模塊400在接收到該活動(dòng)頁(yè)面請(qǐng)求后,向該用戶的終端設(shè)備推送相應(yīng)的活動(dòng)頁(yè)面,用戶在通過(guò)點(diǎn)擊其終端設(shè)備所顯示的該活動(dòng)頁(yè)面中的“參與活動(dòng)”等按鈕后,產(chǎn)生申請(qǐng)被選取請(qǐng)求并向網(wǎng)絡(luò)側(cè)的相應(yīng)服務(wù)器發(fā)送該申請(qǐng)被選取請(qǐng)求,從而該接收請(qǐng)求模塊400接收到申請(qǐng)被選取請(qǐng)求。
在申請(qǐng)被選取請(qǐng)求由應(yīng)用服務(wù)器中的選取參與者模塊410來(lái)處理的情況下,本發(fā)明實(shí)施方式可以通過(guò)WEB服務(wù)器來(lái)使應(yīng)用服務(wù)器接收到來(lái)自用戶的申請(qǐng)被選取請(qǐng)求;在該情況下,本發(fā)明實(shí)施方式中的接收請(qǐng)求模塊400可以包括:第一子模塊、第二子模塊以及第三子模塊;其中的第一子模塊設(shè)置于WEB服務(wù)器中,且第一子模塊主要用于在WEB服務(wù)器在活動(dòng)時(shí)間范圍內(nèi)接收到來(lái)自用戶的活動(dòng)頁(yè)面請(qǐng)求,且WEB服務(wù)器本地緩存有活動(dòng)頁(yè)面的情況下,向該用戶推送該活動(dòng)頁(yè)面;其中的第二子模塊設(shè)置于WEB服務(wù)器中,且第二子模塊主要用于在WEB服務(wù)器接收到來(lái)自用戶的針對(duì)活動(dòng)頁(yè)面的申請(qǐng)被選取請(qǐng)求的情況下,將申請(qǐng)被選取請(qǐng)求傳輸給活動(dòng)對(duì)應(yīng)的應(yīng)用服務(wù)器;其中的第三子模塊設(shè)置于應(yīng)用服務(wù)器中,且第三子模塊主要用于接收第二子模塊傳輸來(lái)的申請(qǐng)被選取請(qǐng)求,使應(yīng)用服務(wù)器接收到在活動(dòng)時(shí)間范圍內(nèi)來(lái)自參與者的申請(qǐng)被選取請(qǐng)求。
一個(gè)具體的例子,在WEB服務(wù)器中的第一子模塊接收到來(lái)自用戶的終端設(shè)備的活動(dòng)頁(yè)面請(qǐng)求時(shí),判斷WEB服務(wù)器本地是否緩存有該活動(dòng)頁(yè)面,第一子模塊在判斷出本地未緩存有該活動(dòng)頁(yè)面時(shí),向相應(yīng)的應(yīng)用服務(wù)器請(qǐng)求該活動(dòng)頁(yè)面,第一子模塊在接收到應(yīng)用服務(wù)器發(fā)送來(lái)的活動(dòng)頁(yè)面后,在WEB服務(wù)器本地緩存該活動(dòng)頁(yè)面,并向用戶的終端設(shè)備推送該活動(dòng)頁(yè)面;第一子模塊在判斷出WEB服務(wù)器本地緩存有該活動(dòng)頁(yè)面時(shí),可以直接從其緩存的信息中獲取該活動(dòng)頁(yè)面,并向用戶推送該活動(dòng)頁(yè)面;用戶基于其終端設(shè)備接收到的活動(dòng)頁(yè)面執(zhí)行相應(yīng)的操作(如點(diǎn)擊活動(dòng)頁(yè)面中的“抽獎(jiǎng)”按鈕等),以參與該活動(dòng)成為參與者時(shí),產(chǎn)生針對(duì)活動(dòng)頁(yè)面的申請(qǐng)被選取請(qǐng)求,該申請(qǐng)被選取請(qǐng)求由用戶的終端設(shè)備向WEB服務(wù)器發(fā)送,并由WEB服務(wù)器中的第二子模塊將該申請(qǐng)被選取請(qǐng)求發(fā)送給應(yīng)用服務(wù)器,從而使應(yīng)用服務(wù)器中的第三子模塊接收到在活動(dòng)時(shí)間范圍內(nèi)的來(lái)自參與活動(dòng)的參與者的申請(qǐng)被選取請(qǐng)求。由于對(duì)活動(dòng)頁(yè)面請(qǐng)求的處理被WEB服務(wù)器中的第一子模塊所分擔(dān),而WEB服務(wù)器具有響應(yīng)時(shí)間較快且吞吐率較高等特點(diǎn),因此,本發(fā)明實(shí)施方式可以有效避免大量的活動(dòng)頁(yè)面請(qǐng)求對(duì)應(yīng)用服務(wù)器的壓力,有利于提高應(yīng)用服務(wù)器的可靠性以及安全性。
本發(fā)明實(shí)施方式中的活動(dòng)時(shí)間范圍可以稱為活動(dòng)舉辦時(shí)間或者活動(dòng)有效時(shí)間等,如在活動(dòng)為抽獎(jiǎng)活動(dòng)時(shí),活動(dòng)時(shí)間范圍可以具體為能夠參與抽獎(jiǎng)的時(shí)間范圍。本發(fā)明實(shí)施方式的活動(dòng)時(shí)間范圍通常包括一個(gè)或者多個(gè)連續(xù)的時(shí)間段,如某年某月某日的早8點(diǎn)至晚6點(diǎn),再如某年某月某日的早8點(diǎn)到中午12點(diǎn)以及同日的下午2點(diǎn)到晚6點(diǎn)等。本發(fā)明不限制活動(dòng)時(shí)間范圍的具體表現(xiàn)形式。
本發(fā)明實(shí)施方式中的活動(dòng)時(shí)間范圍應(yīng)根據(jù)允許選取總數(shù)量被劃分模塊430劃分為多個(gè)時(shí)間段,其中的允許選取總數(shù)量即從眾多參與者中選擇出的參與者的總數(shù)量;一個(gè)具體的例子,在活動(dòng)為抽獎(jiǎng)活動(dòng)的情況下,允許選取總數(shù)量通常為中獎(jiǎng)總數(shù)量;在活動(dòng)為報(bào)名活動(dòng)的情況下,允許選取總數(shù)量通常為報(bào)名總數(shù)量;在活動(dòng)為申領(lǐng)活動(dòng)的情況下,允許選取總數(shù)量通常為被申請(qǐng)目標(biāo)的總數(shù)量。本發(fā)明實(shí)施方式中的劃分模塊430可以將活動(dòng)時(shí)間范圍劃分出的時(shí)間段的數(shù)量應(yīng)與允許選取總數(shù)量相同,例如在允許選取總數(shù)量為A的情況下,劃分模塊430應(yīng)將活動(dòng)時(shí)間范圍劃分A個(gè)時(shí)間段,這樣本發(fā)明實(shí)施方式可以在一個(gè)時(shí)間段中僅選取出一個(gè)參與者。
本發(fā)明實(shí)施方式中的任意一個(gè)時(shí)間段均包括多個(gè)時(shí)間片,不同時(shí)間段所包括的時(shí)間片的數(shù)量通常相同,當(dāng)然,不同時(shí)間段所包括的時(shí)間片的數(shù)量也可以不相同。另外,本發(fā)明實(shí)施方式中的一個(gè)時(shí)間段中的不同時(shí)間片的時(shí)長(zhǎng)通常并不相同,如劃分模塊430可以根據(jù)隨機(jī)確定各時(shí)間片時(shí)長(zhǎng)的時(shí)間片劃分策略將各時(shí)間段分別劃分為多個(gè)時(shí)間片,也就是說(shuō),劃分模塊430在將時(shí)間段劃分為多個(gè)時(shí)間片的過(guò)程中,可以在考慮了時(shí)間段的時(shí)長(zhǎng)以及時(shí)間段所包含的時(shí)間片的數(shù)量的情況下,產(chǎn)生隨機(jī)數(shù),并將產(chǎn)生的隨機(jī)數(shù)作為時(shí)間片的時(shí)長(zhǎng)來(lái)對(duì)時(shí)間段進(jìn)行時(shí)間片的劃分。
作為示例,本發(fā)明實(shí)施方式中的任意一個(gè)時(shí)間段中的不同時(shí)間片之間不存在時(shí)間重合現(xiàn)象,且任一時(shí)間段中的所有時(shí)間片相互銜接形成中間無(wú)間斷的時(shí)間段,即一個(gè)時(shí)間段中的所有時(shí)間片的時(shí)長(zhǎng)之和為該時(shí)間段的時(shí)長(zhǎng)。
選取參與者模塊410主要用于在確定出該申請(qǐng)被選取請(qǐng)求所屬的當(dāng)前時(shí)間段還未選取出參與者,且該申請(qǐng)被選取請(qǐng)求為當(dāng)前時(shí)間段中的當(dāng)前時(shí)間片內(nèi)接收到的第N個(gè)申請(qǐng)被選取請(qǐng)求的情況下,根據(jù)當(dāng)前時(shí)間片對(duì)應(yīng)的被選取概率確定是否將該參與者作為選取出的參與者。
作為示例,過(guò)濾模塊420可以在接收請(qǐng)求模塊400接收到申請(qǐng)被選取請(qǐng)求之后,對(duì)申請(qǐng)被選取請(qǐng)求進(jìn)行過(guò)濾處理,以濾除由于用戶的不當(dāng)操作而導(dǎo)致活動(dòng)出現(xiàn)不公平現(xiàn)象的申請(qǐng)被選取請(qǐng)求;過(guò)濾模塊420主要用于根據(jù)預(yù)定的參與者資格要求對(duì)發(fā)送該申請(qǐng)被選取請(qǐng)求的參與者進(jìn)行過(guò)濾,以濾除不符合參與者資格要求的參與者發(fā)送的申請(qǐng)被選取請(qǐng)求。
具體的,過(guò)濾模塊420所使用的預(yù)定的參與者資格要求通常包括:參與者的注冊(cè)賬戶對(duì)應(yīng)的參與活動(dòng)的次數(shù)是否達(dá)到預(yù)定次數(shù)(如是否達(dá)到一次)、參與者的注冊(cè)賬戶所綁定的用戶身份標(biāo)識(shí)是否與其他參與者的注冊(cè)賬戶所綁定的用戶身份標(biāo)識(shí)相同以及參與者的終端設(shè)備標(biāo)識(shí)信息是否與其他參與者的終端設(shè)備標(biāo)識(shí)信息的相似度達(dá)到預(yù)定相似度。當(dāng)然,過(guò)濾模塊420所使用的預(yù)定的參與者資格要求也可以包括上述任意一個(gè)或者任意兩個(gè)。
過(guò)濾模塊420通過(guò)利用參與者的注冊(cè)賬戶對(duì)應(yīng)的參與活動(dòng)的次數(shù)是否達(dá)到預(yù)定次數(shù)可以有效避免一個(gè)用戶利用其同一個(gè)注冊(cè)賬戶重復(fù)參與活動(dòng)的次數(shù)(如重復(fù)進(jìn)行抽獎(jiǎng)的次數(shù)等)超過(guò)預(yù)定次數(shù)的現(xiàn)象。一個(gè)具體的例子,在一個(gè)抽獎(jiǎng)活動(dòng)中,如果規(guī)定一個(gè)用戶只能抽獎(jiǎng)一次,則過(guò)濾模塊420可以在接收請(qǐng)求模塊400接收到申請(qǐng)被選取請(qǐng)求后,從該申請(qǐng)被選取請(qǐng)求中獲取參與者的注冊(cè)賬戶信息,并判斷該注冊(cè)賬戶信息是否屬于預(yù)先存儲(chǔ)的已參加抽獎(jiǎng)的注冊(cè)賬戶信息集合,如果判斷出屬于該集合,則過(guò)濾模塊420確定出該參與者已經(jīng)參與過(guò)抽獎(jiǎng)活動(dòng),應(yīng)濾除該申請(qǐng)被選取請(qǐng)求,如果判斷出不屬于該集合,則過(guò)濾模塊420確定出該參與者還未參與過(guò)抽獎(jiǎng)活動(dòng),不應(yīng)濾除該申請(qǐng)被選取請(qǐng)求。
過(guò)濾模塊420通過(guò)利用參與者的注冊(cè)賬戶所綁定的用戶身份標(biāo)識(shí)是否與其他參與者的注冊(cè)賬戶所綁定的用戶身份標(biāo)識(shí)相同可以在一定程度上避免一個(gè)用戶利用其不同的注冊(cè)賬戶重復(fù)參與活動(dòng)的次數(shù)(如重復(fù)進(jìn)行抽獎(jiǎng)的次數(shù)等)超過(guò)預(yù)定次數(shù)的現(xiàn)象。一個(gè)具體的例子,在一個(gè)抽獎(jiǎng)活動(dòng)中,如果規(guī)定一個(gè)用戶只能抽獎(jiǎng)一次,則過(guò)濾模塊420可以在接收請(qǐng)求模塊400接收到申請(qǐng)被選取請(qǐng)求后,從該申請(qǐng)被選取請(qǐng)求中獲取參與者的注冊(cè)賬戶信息,并根據(jù)預(yù)先存儲(chǔ)的注冊(cè)信息確定該注冊(cè)賬戶信息所綁定的用戶身份標(biāo)識(shí)(如所綁定的移動(dòng)電話號(hào)碼或者身份證號(hào)碼等),然后,過(guò)濾模塊420判斷該注冊(cè)賬戶信息所綁定的用戶身份標(biāo)識(shí)是否屬于預(yù)先存儲(chǔ)的已參加抽獎(jiǎng)的注冊(cè)賬戶信息所綁定的用戶身份標(biāo)識(shí)集合,如果判斷出屬于該集合,則過(guò)濾模塊420確定出該參與者已經(jīng)利用其他注冊(cè)賬戶信息參與過(guò)抽獎(jiǎng)活動(dòng),應(yīng)濾除該申請(qǐng)被選取請(qǐng)求,如果判斷出不屬于該集合,則過(guò)濾模塊420確定出該參與者還未參與過(guò)抽獎(jiǎng)活動(dòng),不應(yīng)濾除該申請(qǐng)被選取請(qǐng)求。
過(guò)濾模塊420通過(guò)利用參與者的終端設(shè)備標(biāo)識(shí)信息是否與其他參與者的終端設(shè)備標(biāo)識(shí)信息的相似度達(dá)到預(yù)定相似度可以在一定程度上避免一個(gè)用戶利用不同的終端設(shè)備重復(fù)參與活動(dòng)的次數(shù)(如重復(fù)進(jìn)行抽獎(jiǎng)的次數(shù)等)超過(guò)預(yù)定次數(shù)的現(xiàn)象。一個(gè)具體的例子,在一個(gè)抽獎(jiǎng)活動(dòng)中,如果規(guī)定一個(gè)用戶只能抽獎(jiǎng)一次,則過(guò)濾模塊420可以在接收請(qǐng)求模塊400接收到申請(qǐng)被選取請(qǐng)求后,從該申請(qǐng)被選取請(qǐng)求中獲取參與者的終端設(shè)備標(biāo)識(shí)信息(如終端設(shè)備中的網(wǎng)卡等硬件的標(biāo)識(shí)信息和/或?yàn)g覽器等軟件的標(biāo)識(shí)信息等),并將獲取到的終端設(shè)備的標(biāo)識(shí)信息抽象為一個(gè)多維向量,然后,過(guò)濾模塊420計(jì)算該多維向量與預(yù)先存儲(chǔ)的已參加抽獎(jiǎng)的各用戶對(duì)應(yīng)的多維向量的相似度,如果判斷出計(jì)算獲得的任意一個(gè)相似度達(dá)到預(yù)定相似度,則過(guò)濾模塊420確定出該用戶利用其它終端設(shè)備已經(jīng)參加過(guò)抽獎(jiǎng)活動(dòng),應(yīng)濾除該申請(qǐng)被選取請(qǐng)求,如果判斷出計(jì)算獲得的所有相似度均未達(dá)到預(yù)定相似度,則過(guò)濾模塊420確定出該用戶還未參與過(guò)抽獎(jiǎng)活動(dòng),不應(yīng)濾除該申請(qǐng)被選取請(qǐng)求。
作為示例,針對(duì)未被過(guò)濾模塊420所濾除的申請(qǐng)被選取請(qǐng)求,選取參與者模塊410在確定出該申請(qǐng)被選取請(qǐng)求所屬的當(dāng)前時(shí)間段還未選取出參與者,且該申請(qǐng)被選取請(qǐng)求為當(dāng)前時(shí)間段中的當(dāng)前時(shí)間片內(nèi)接收到的第N(N為預(yù)設(shè)的自然數(shù))個(gè)申請(qǐng)被選取請(qǐng)求的情況下,應(yīng)根據(jù)當(dāng)前時(shí)間片對(duì)應(yīng)的被選取概率確定是否將參與者作為選取出的參與者。在通常情況下,上述第N個(gè)申請(qǐng)被選取請(qǐng)求可以為第一個(gè)申請(qǐng)被選取請(qǐng)求;當(dāng)然,上述第N個(gè)申請(qǐng)被選取請(qǐng)求也可以為第二個(gè)申請(qǐng)被選取請(qǐng)求或者第三個(gè)申請(qǐng)被選取請(qǐng)求等。在劃分模塊430采用隨機(jī)確定各時(shí)間片時(shí)長(zhǎng)的時(shí)間片劃分策略對(duì)各時(shí)間段進(jìn)行時(shí)間片劃分的情況下,由于每一個(gè)時(shí)間的時(shí)長(zhǎng)是隨機(jī)確定的,因此,每一個(gè)時(shí)間段內(nèi)的任意一個(gè)時(shí)刻都有可能成為第一個(gè)申請(qǐng)被選取請(qǐng)求的時(shí)間點(diǎn),從而本發(fā)明實(shí)施方式的設(shè)備可以使選取出的參與者隨機(jī)的分布在每一個(gè)時(shí)間段的相應(yīng)時(shí)刻。
作為示例,選取參與者模塊410為每一個(gè)時(shí)間段中的每一個(gè)時(shí)間片均設(shè)置有被選取概率,且針對(duì)任意一個(gè)時(shí)間段而言,該時(shí)間段中的不同時(shí)間片所對(duì)應(yīng)的被選取概率可以相同,也可以不相同。一個(gè)具體的例子,選取參與者模塊410可以利用上述公式(1)來(lái)設(shè)置一個(gè)時(shí)間段中的第n個(gè)時(shí)間片所對(duì)應(yīng)的被選取概率,具體在此不再詳細(xì)說(shuō)明。
選取參與者模塊410在確定出申請(qǐng)被選取請(qǐng)求所屬的當(dāng)前時(shí)間段已選取出參與者的情況下,禁止將參與者作為選取出的參與者;選取參與者模塊410也可以在確定出申請(qǐng)被選取請(qǐng)求所屬的當(dāng)前時(shí)間段還未選取出參與者,且上述申請(qǐng)被選取請(qǐng)求不為當(dāng)前時(shí)間段中的當(dāng)前時(shí)間片內(nèi)接收到的第N個(gè)申請(qǐng)被選取請(qǐng)求的情況下,禁止將參與者作為選取出的參與者。
更新模塊440主要用于在確定出將該參與者作為選取出的參與者的情況下,更新本地緩存的允許選取剩余數(shù)量;而同步模塊450主要用于根據(jù)數(shù)據(jù)同步策略將本地緩存的允許選取剩余數(shù)量同步到用于存儲(chǔ)活動(dòng)的配置信息的數(shù)據(jù)庫(kù)中。
作為示例,通常情況下,包括當(dāng)前允許選取剩余數(shù)量(如當(dāng)前剩余獎(jiǎng)品數(shù)量等)在內(nèi)的活動(dòng)的配置信息會(huì)存儲(chǔ)在數(shù)據(jù)庫(kù)中;由于每次選取出一個(gè)參與者的時(shí)候都需要對(duì)數(shù)據(jù)庫(kù)中的當(dāng)前允許選取剩余數(shù)量進(jìn)行更新,因此,在一些熱點(diǎn)時(shí)刻(如抽獎(jiǎng)的開始時(shí)刻等),對(duì)數(shù)據(jù)庫(kù)進(jìn)行集中大量的訪問(wèn)容易使數(shù)據(jù)庫(kù)崩潰,從而使對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)成為實(shí)現(xiàn)選取參與者的瓶頸。更新模塊440通過(guò)從數(shù)據(jù)庫(kù)中獲取允許選取剩余數(shù)量(如在選取參與者的過(guò)程的一開始更新模塊440從數(shù)據(jù)庫(kù)中獲取允許選取總數(shù)量,并將允許選取總數(shù)量作為當(dāng)前允許選取剩余數(shù)量),并本地緩存,這樣,在后續(xù)選取參與者模塊410選取出參與者時(shí),更新模塊440可以對(duì)本地緩存的當(dāng)前允許選取剩余數(shù)量進(jìn)行更新,后續(xù)同步模塊450可以根據(jù)預(yù)設(shè)的數(shù)據(jù)同步策略將本地緩存的允許選取剩余數(shù)量同步到數(shù)據(jù)庫(kù)中,如在預(yù)定數(shù)量個(gè)時(shí)間段結(jié)束后,同步模塊450將應(yīng)用服務(wù)器本地緩存的允許選取剩余數(shù)量同步到相應(yīng)的數(shù)據(jù)庫(kù)中的允許選取剩余數(shù)量,從而避免了熱點(diǎn)時(shí)刻對(duì)數(shù)據(jù)庫(kù)進(jìn)行集中大量的訪問(wèn)易使數(shù)據(jù)庫(kù)崩潰的現(xiàn)象,進(jìn)而提高了本發(fā)明實(shí)施方式的可靠性以及安全性。
圖5示出了適于用來(lái)實(shí)現(xiàn)本發(fā)明實(shí)施方式的示例性計(jì)算機(jī)系統(tǒng)/服務(wù)器50的框圖。圖5顯示的計(jì)算機(jī)系統(tǒng)/服務(wù)器50僅僅是一個(gè)示例,不應(yīng)對(duì)本發(fā)明實(shí)施例的功能和使用范圍帶來(lái)任何限制。
如圖5所示,計(jì)算機(jī)系統(tǒng)/服務(wù)器50以通用計(jì)算設(shè)備的形式表現(xiàn)。計(jì)算機(jī)系統(tǒng)/服務(wù)器50的組件可以包括但不限于:一個(gè)或者多個(gè)處理器或者處理單元501,系統(tǒng)存儲(chǔ)器502,連接不同系統(tǒng)組件(包括系統(tǒng)存儲(chǔ)器502和處理單元501)的總線503。
總線503表示幾類總線結(jié)構(gòu)中的一種或多種,包括存儲(chǔ)器總線或者存儲(chǔ)器控制器,外圍總線,圖形加速端口,處理器或者使用多種總線結(jié)構(gòu)中的任意總線結(jié)構(gòu)的局域總線。舉例來(lái)說(shuō),這些體系結(jié)構(gòu)包括但不限于工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線,微通道體系結(jié)構(gòu)(MAC)總線,增強(qiáng)型ISA總線、視頻電子標(biāo)準(zhǔn)協(xié)會(huì)(VESA)局域總線以及外圍組件互連(PCI)總線。
計(jì)算機(jī)系統(tǒng)/服務(wù)器50典型地包括多種計(jì)算機(jī)系統(tǒng)可讀介質(zhì)。這些介質(zhì)可以是任何能夠被計(jì)算機(jī)系統(tǒng)/服務(wù)器50訪問(wèn)的可用介質(zhì),包括易失性和非易失性介質(zhì),可移動(dòng)的和不可移動(dòng)的介質(zhì)。
系統(tǒng)存儲(chǔ)器502可以包括易失性存儲(chǔ)器形式的計(jì)算機(jī)系統(tǒng)可讀介質(zhì),例如隨機(jī)存取存儲(chǔ)器(RAM)5021和/或高速緩存存儲(chǔ)器5022。計(jì)算機(jī)系統(tǒng)/服務(wù)器50可以進(jìn)一步包括其它可移動(dòng)/不可移動(dòng)的、易失性/非易失性計(jì)算機(jī)系統(tǒng)存儲(chǔ)介質(zhì)。僅作為舉例,ROM5023可以用于讀寫不可移動(dòng)的、非易失性磁介質(zhì)(圖5中未顯示,通常稱為“硬盤驅(qū)動(dòng)器”)。盡管未在圖5中示出,可以提供用于對(duì)可移動(dòng)非易失性磁盤(例如“軟盤”)讀寫的磁盤驅(qū)動(dòng)器,以及對(duì)可移動(dòng)非易失性光盤(例如CD-ROM,DVD-ROM或者其它光介質(zhì))讀寫的光盤驅(qū)動(dòng)器。在這些情況下,每個(gè)驅(qū)動(dòng)器可以通過(guò)一個(gè)或者多個(gè)數(shù)據(jù)介質(zhì)接口與總線503相連。系統(tǒng)存儲(chǔ)器502中可以包括至少一個(gè)程序產(chǎn)品,該程序產(chǎn)品具有一組(例如至少一個(gè))程序模塊,這些程序模塊被配置以執(zhí)行本發(fā)明各實(shí)施例的功能。
具有一組(至少一個(gè))程序模塊5024的程序/實(shí)用工具5025,可以存儲(chǔ)在例如系統(tǒng)存儲(chǔ)器502中,且這樣的程序模塊5024包括但不限于操作系統(tǒng)、一個(gè)或者多個(gè)應(yīng)用程序、其它程序模塊以及程序數(shù)據(jù),這些示例中的每一個(gè)或某種組合中可能包括網(wǎng)絡(luò)環(huán)境的實(shí)現(xiàn)。程序模塊5024通常執(zhí)行本發(fā)明所描述的實(shí)施例中的功能和/或方法。
計(jì)算機(jī)系統(tǒng)/服務(wù)器50也可以與一個(gè)或多個(gè)外部設(shè)備504(如鍵盤、指向設(shè)備、顯示器等)通信,還可與一個(gè)或者多個(gè)使得用戶能與該計(jì)算機(jī)系統(tǒng)/服務(wù)器50交互的設(shè)備通信,和/或與使得該計(jì)算機(jī)系統(tǒng)/服務(wù)器50能與一個(gè)或多個(gè)其它計(jì)算設(shè)備進(jìn)行通信的任何設(shè)備(例如網(wǎng)卡,調(diào)制解調(diào)器等等)通信。這種通信可以通過(guò)輸入/輸出(I/O)接口505進(jìn)行。并且,計(jì)算機(jī)系統(tǒng)/服務(wù)器50還可以通過(guò)網(wǎng)絡(luò)適配器506與一個(gè)或者多個(gè)網(wǎng)絡(luò)(例如局域網(wǎng)(LAN),廣域網(wǎng)(WAN)和/或公共網(wǎng)絡(luò),例如因特網(wǎng))通信。如圖5所示,網(wǎng)絡(luò)適配器506通過(guò)總線503與計(jì)算機(jī)系統(tǒng)/服務(wù)器50的其它模塊(如處理單元501等)通信。應(yīng)當(dāng)明白,盡管圖5中未示出,可以結(jié)合計(jì)算機(jī)系統(tǒng)/服務(wù)器50使用其它硬件和/或軟件模塊,包括但不限于:微代碼、設(shè)備驅(qū)動(dòng)器、冗余處理單元、外部磁盤驅(qū)動(dòng)陣列、RAID系統(tǒng)、磁帶驅(qū)動(dòng)器以及數(shù)據(jù)備份存儲(chǔ)系統(tǒng)等。
處理單元501通過(guò)運(yùn)行存儲(chǔ)在系統(tǒng)存儲(chǔ)器502中的程序,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,例如執(zhí)行并實(shí)現(xiàn)用于選取參與者的方法中的各步驟,例如,執(zhí)行下述步驟:接收在活動(dòng)時(shí)間范圍內(nèi)的來(lái)自參與活動(dòng)的參與者的申請(qǐng)被選取請(qǐng)求;在確定出申請(qǐng)被選取請(qǐng)求所屬的當(dāng)前時(shí)間段還未選取出參與者,且申請(qǐng)被選取請(qǐng)求為當(dāng)前時(shí)間段中的當(dāng)前時(shí)間片內(nèi)接收到的第N個(gè)申請(qǐng)被選取請(qǐng)求的情況下,根據(jù)當(dāng)前時(shí)間片對(duì)應(yīng)的被選取概率確定是否將該參與者作為選取出的參與者;其中,活動(dòng)時(shí)間范圍根據(jù)允許選取總數(shù)量被劃分為多個(gè)時(shí)間段,時(shí)間段的數(shù)量與允許選取總數(shù)量相同,且一個(gè)時(shí)間段包括多個(gè)時(shí)間片,N為預(yù)設(shè)自然數(shù);上述各步驟的進(jìn)一步的具體內(nèi)容以及本發(fā)明實(shí)施方式所包含的其他步驟請(qǐng)參見上述實(shí)施方式中的描述,在此不再重復(fù)說(shuō)明。
本發(fā)明實(shí)施方式的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)一個(gè)具體例子如圖6所示。
圖6的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)為光盤600,其上存儲(chǔ)有計(jì)算機(jī)程序(即程序產(chǎn)品),該程序被處理器執(zhí)行時(shí),會(huì)實(shí)現(xiàn)上述方法實(shí)施方式中所記載的各步驟,例如,執(zhí)行下述步驟:接收在活動(dòng)時(shí)間范圍內(nèi)的來(lái)自參與活動(dòng)的參與者的申請(qǐng)被選取請(qǐng)求;在確定出申請(qǐng)被選取請(qǐng)求所屬的當(dāng)前時(shí)間段還未選取出參與者,且申請(qǐng)被選取請(qǐng)求為當(dāng)前時(shí)間段中的當(dāng)前時(shí)間片內(nèi)接收到的第N個(gè)申請(qǐng)被選取請(qǐng)求的情況下,根據(jù)當(dāng)前時(shí)間片對(duì)應(yīng)的被選取概率確定是否將該參與者作為選取出的參與者;其中,活動(dòng)時(shí)間范圍根據(jù)允許選取總數(shù)量被劃分為多個(gè)時(shí)間段,時(shí)間段的數(shù)量與允許選取總數(shù)量相同,且一個(gè)時(shí)間段包括多個(gè)時(shí)間片,N為預(yù)設(shè)自然數(shù);上述各步驟的進(jìn)一步的具體內(nèi)容以及本發(fā)明實(shí)施方式所包含的其他步驟請(qǐng)參見上述實(shí)施方式中的描述,在此不再重復(fù)說(shuō)明。
應(yīng)當(dāng)注意,盡管在上文詳細(xì)描述中提及了用于選取參與者的設(shè)備的若干模塊或子模塊,但是這種劃分僅僅并非強(qiáng)制性的。實(shí)際上,根據(jù)本發(fā)明的實(shí)施方式,上文描述的兩個(gè)或更多模塊的特征和功能可以在一個(gè)模塊中具體化。反之,上文描述的一個(gè)模塊的特征和功能可以進(jìn)一步劃分為由多個(gè)模塊來(lái)具體化。
此外,盡管在附圖中以特定順序描述了本發(fā)明方法的操作,但是,這并非要求或者暗示必須按照該特定順序來(lái)執(zhí)行這些操作,或是必須執(zhí)行全部所示的操作才能實(shí)現(xiàn)期望的結(jié)果。附加地或備選地,可以省略某些步驟,將多個(gè)步驟合并為一個(gè)步驟執(zhí)行,和/或?qū)⒁粋€(gè)步驟分解為多個(gè)步驟執(zhí)行。
雖然已經(jīng)參考若干具體實(shí)施方式描述了本發(fā)明的精神和原理,但是應(yīng)該理解,本發(fā)明并不限于所公開的具體實(shí)施方式,對(duì)各方面的劃分也不意味著這些方面中的特征不能組合以進(jìn)行受益,這種劃分僅是為了表述的方便。本發(fā)明旨在涵蓋所附權(quán)利要求的精神和范圍內(nèi)所包括的各種修改和等同布置。