用于选取参与者的方法及设备与流程

文档序号:12673941阅读:384来源:国知局
用于选取参与者的方法及设备与流程

本发明的实施方式涉及网络通讯领域,更具体地,本发明的实施方式涉及用于选取参与者的方法、用于选取参与者的设备以及计算机可读存储介质。



背景技术:

本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或者上下文。此处的描述不因为包括在本部分中就承认是现有技术。

网络抽奖等诸多活动都会涉及到从众多参与者中选择一定数量的参与者作为选取出的参与者(也可以称为选中的参与者或者中奖者等)的过程。

目前,已经出现了根据预定的选取概率(也可以称为中奖概率等)以及选取数量确定是否将参与者作为选取出的参与者的技术方案;一个具体的例子,预先针对一个奖品设置中奖概率、奖品发放数量以及奖品发放时间,参与者在奖品发放时间范围内申请领取该奖品时,在奖品当前剩余数量允许发放的情况下,根据该奖品的中奖概率进行计算以确定是否允许为该参与者发放奖品,在确定出允许为该参与者发放奖品时,针对该参与者执行奖品发放操作,如在数据库中更新该参与者的相应账户参数,以便于将该奖品添加在该参与者的相应账户中,并更新奖品当前剩余数量等。



技术实现要素:

但是,在选取概率设置的较高或者参与者数量较多等情况下,选取的参与者的数量很快会达到预定的选取数量;而在选取概率设置的较低或者参与者数量较少等情况下,选取的参与者的数量可能很难达到预定的选取数量。

因此在现有技术中,选取的参与者的数量很快达到预定数量,会使预先设定的活动有效时间失去意义,如使推出的活动成为秒杀活动;而选取的参与者的数量很难达到预先设定的选取数量,会使预先设定的选取数量失去意义,并较易使参与者怀疑活动的真实性;这是非常令人烦恼的过程。

为此,非常需要一种改进的用于选取参与者的技术方案,以提高选取参与者的合理性,并丰富选取参与者的实现方式。

在本上下文中,本发明的实施方式期望提供一种用于选取参与者的方法、设备以及计算机可读存储介质。

在本发明实施方式的第一个方面中,提供了一种用于选取参与者的方法,包括:接收在活动时间范围内的来自参与活动的参与者的申请被选取请求;在确定出所述申请被选取请求所属的当前时间段还未选取出参与者,且所述申请被选取请求为当前时间段中的当前时间片内接收到的第N个申请被选取请求的情况下,根据当前时间片对应的被选取概率确定是否将所述参与者作为选取出的参与者;其中,所述活动时间范围根据允许选取总数量被划分为多个时间段,时间段的数量与所述允许选取总数量相同,且一个时间段包括多个时间片,所述N为预设自然数。

在本发明的一个实施例中,所述接收在活动时间范围内的来自参与活动的参与者的申请被选取请求的步骤包括:根据接收到的来自用户的活动页面请求向所述用户推送所述活动页面,并接收来自所述用户的针对所述活动页面的申请被选取请求。

在本发明的又一个实施例中,所述根据接收到的来自用户的活动页面请求向所述用户推送所述活动页面,并接收来自所述用户的针对所述活动页面的申请被选取请求步骤包括:在WEB服务器接收到来自用户的活动页面请求,且本地缓存有所述活动页面的情况下,向所述用户推送所述活动页面;在WEB服务器接收到来自用户的针对所述活动页面的申请被选取请求的情况下,将所述申请被选取请求传输给所述活动对应的应用服务器,使所述应用服务器接收到在活动时间范围内的来自参与活动的参与者的申请被选取请求。

在本发明的再一个实施例中,所述方法还包括:根据预定的参与者资格要求对所述发送所述申请被选取请求的参与者进行过滤,以滤除不符合参与者资格要求的参与者发送的申请被选取请求。

在本发明的再一个实施例中,所述参与者资格要求包括下述至少一个:参与者的注册账户对应的参与所述活动的次数是否达到预定次数、参与者的注册账户所绑定的用户身份标识是否与其他参与者的注册账户所绑定的用户身份标识相同以及参与者的终端设备标识信息是否与其他参与者的终端设备标识信息的相似度达到预定相似度。

在本发明的再一个实施例中,所述方法还包括:根据随机确定各时间片时长的时间片划分策略将各时间段分别划分为多个时间片;其中,任一时间段中的不同时间片之间不存在重合时间,且任一时间段中的所有时间片相互衔接形成中间无间断的时间段。

在本发明的再一个实施例中,所述第N个申请被选取请求包括:第一个申请被选取请求。

在本发明的再一个实施例中,针对任一时间段,该时间段中的第n个时间片对应的被选取概率包括:1/((m-n)+1;其中,m为该时间段所包含的时间片的总数量,n为大于等于1且不大于m的整数。

在本发明的再一个实施例中,所述方法还包括:在确定出将所述参与者作为选取出的参与者的情况下,更新本地缓存的允许选取剩余数量。

在本发明的再一个实施例中,所述方法还包括:根据数据同步策略将本地缓存的允许选取剩余数量同步到用于存储所述活动的配置信息的数据库中。

在本发明的再一个实施例中,所述方法还包括:在确定出所述申请被选取请求所属的当前时间段已选取出参与者的情况下,禁止将所述参与者作为选取出的参与者;和/或,在确定出所述申请被选取请求所属的当前时间段还未选取出参与者,且所述申请被选取请求不为当前时间段中的当前时间片内接收到的第N个申请被选取请求的情况下,禁止将所述参与者作为选取出的参与者。

在本发明实施方式的第二个方面中,提供了一种用于选取参与者的设备,主要包括:接收请求模块,用于接收在活动时间范围内的来自参与活动的参与者的申请被选取请求;选取参与者模块,用于在确定出所述申请被选取请求所属的当前时间段还未选取出参与者,且所述申请被选取请求为当前时间段中的当前时间片内接收到的第N个申请被选取请求的情况下,根据当前时间片对应的被选取概率确定是否将所述参与者作为选取出的参与者;其中,所述活动时间范围根据允许选取总数量被划分为多个时间段,且时间段的数量与所述允许选取总数量相同,所述N为预设自然数。

在本发明的一个实施例中,所述接收请求模块具体用于:根据接收到的来自用户的活动页面请求向所述用户推送所述活动页面,接收来自所述用户的针对所述活动页面的申请被选取请求。

在本发明的又一个实施例中,所述接收请求模块包括:第一子模块,用于在WEB服务器接收到来自用户的活动页面请求,且本地缓存有所述活动页面的情况下,向所述用户推送所述活动页面;第二子模块,用于在WEB服务器接收到来自用户的针对所述活动页面的申请被选取请求的情况下,将所述申请被选取请求传输给所述活动对应的应用服务器,使所述应用服务器中的第三子模块接收到在活动时间范围内的来自参与活动的参与者的申请被选取请求。

在本发明的再一个实施例中,所述设备还包括:过滤模块,用于根据预定的参与者资格要求对所述发送所述申请被选取请求的参与者进行过滤,以滤除不符合参与者资格要求的参与者发送的申请被选取请求。

在本发明的再一个实施例中,所述参与者资格要求包括下述至少一个:参与者的注册账户对应的参与所述活动的次数是否达到预定次数、参与者的注册账户所绑定的用户身份标识是否与其他参与者的注册账户所绑定的用户身份标识相同以及参与者的终端设备标识信息是否与其他参与者的终端设备标识信息的相似度达到预定相似度。

在本发明的再一个实施例中,所述设备还包括:划分模块,用于根据随机确定各时间片时长的时间片划分策略将各时间段分别划分为多个时间片;其中,任一时间段中的不同时间片之间不存在重合时间,且任一时间段中的所有时间片相互衔接形成中间无间断的时间段。

在本发明的再一个实施例中,所述第N个申请被选取请求包括:第一个申请被选取请求。

在本发明的再一个实施例中,针对任一时间段,该时间段中的第n个时间片对应的被选取概率包括:1/((m-n)+1;其中,m为该时间段所包含的时间片的总数量,n为大于等于1且不大于m的整数。

在本发明的再一个实施例中,所述设备还包括:更新模块,用于在确定出将所述参与者作为选取出的参与者的情况下,更新本地缓存的允许选取剩余数量。

在本发明的再一个实施例中,所述设备还包括:同步模块,用于根据数据同步策略将本地缓存的允许选取剩余数量同步到用于存储所述活动的配置信息的数据库中。

在本发明的再一个实施例中,所述选取参与者模块还用于:在确定出所述申请被选取请求所属的当前时间段已选取出参与者的情况下,禁止将所述参与者作为选取出的参与者;和/或,在确定出所述申请被选取请求所属的当前时间段还未选取出参与者,且所述申请被选取请求不为当前时间段中的当前时间片内接收到的第N个申请被选取请求的情况下,禁止将所述参与者作为选取出的参与者。

在本发明实施方式的第三方面中,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现步骤:接收在活动时间范围内的来自参与活动的参与者的申请被选取请求;在确定出所述申请被选取请求所属的当前时间段还未选取出参与者,且所述申请被选取请求为当前时间段中的当前时间片内接收到的第N个申请被选取请求的情况下,根据当前时间片对应的被选取概率确定是否将所述参与者作为选取出的参与者;其中,所述活动时间范围根据允许选取总数量被划分为多个时间段,时间段的数量与所述允许选取总数量相同,且一个时间段包括多个时间片,所述N为预设自然数。

根据本发明实施方式的用于选取参与者的方法、用于选取参与者的设备以及计算机可读存储介质,通过将活动时间范围根据允许选取总数量被划分为多个时间段,且时间段的数量与所述允许选取总数量相同,这样,一个时间段可以只选取出一个参与者,从而本发明实施方式将在活动时间范围内选取出多个参与者的实现过程简化为从一个时间段内选取出一个参与者的实现过程;通过将一个时间段划分为多个时间片(如每个时间片的时长随机设置),并在申请被选取请求为当前时间段中的当前时间片内接收到的第N个(如第一个)申请被选取请求的情况下,根据当前时间片对应的被选取概率来确定是否将该参与者作为选取出的参与者,使本发明实施方式可以较易实现在整个活动时间范围内,均匀的选取出参与者,从而尽可能的避免了选取参与者的过程受到参与者数量以及被选取概率的影响;由此可知,本发明实施方式能够在一定程度上提高选取参与者的合理性,从而能够提高用户参与活动的积极性,且本发明实施方式还具有易于实现且易于推广应用等特点。

附图说明

通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:

图1示意性地示出了根据本发明实施方式的可以在其中实现的应用场景示意图;

图2示意性地示出了根据本发明一实施例的用于选取参与者的方法流程图;

图3示意性地示出了根据本发明又一实施例的用于选取参与者的方法流程图;

图4示意性地示出了根据本发明一实施例的用于选取参与者的设备的结构示意图;

图5示意性地示出了根据本发明一实施例的计算机的结构示意图;

图6示意性地示出了根据本发明一实施例的计算机可读存储介质的示意图。

在附图中,相同或对应的标号表示相同或对应的部分。

具体实施方式

下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

本领域技术技术人员知道,本发明的实施方式可以实现为一种设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。

根据本发明的实施方式,提出了一种用于选取参与者的方法、设备以及计算机可读存储介质。

在本文中,需要理解的是,本发明实施方式所涉及的术语活动时间范围可以是指推出的活动的有效时间,且本发明实施方式中的活动可以具体为抽奖活动或者报名活动或者申领活动等;本发明实施方式所涉及的术语WEB服务器通常是指能够提供WEB信息浏览服务的服务器,且WEB服务器一般不包含具体的业务逻辑,其具有响应时间较快且吞吐率较高等特点,该WEB服务器可以具体为Nginx(即“engine x”)服务器等;本发明实施方式所涉及的术语应用服务器通常是指提供有具体业务逻辑调用接口的服务提供方,且应用服务器通常可以被WEB服务器所调用,其吞吐率通常低于WEB服务器。此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。

下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。

发明概述

本发明人发现,由于现有技术在将选取概率设置的较高或者参与者数量较多等情况下,选取的参与者的数量很快会达到预定的选取数量;而在选取概率设置的较低或者参与者数量较少等情况下,选取的参与者的数量可能很难达到预定的选取数量;由此可知,在现有技术中,选取的参与者的数量很快达到预定数量,会使预先设定的活动有效时间失去意义,如使推出的活动成为秒杀活动;然而选取的参与者的数量很难达到预先设定的选取数量,会使预先设定的选取数量失去意义,并较易使参与者怀疑活动的真实性。

本发明实施方式通过将活动时间范围根据允许选取总数量被划分为多个时间段,且时间段的数量与所述允许选取总数量相同,这样,一个时间段可以只选取出一个参与者,从而本发明实施方式能够将在活动时间范围内选取出多个参与者的实现过程简化为从一个时间段内选取出一个参与者的实现过程;通过将一个时间段划分为多个时间片(如每个时间片的时长随机设置),并在申请被选取请求为当前时间段中的当前时间片内接收到的第N个(如第一个)申请被选取请求的情况下,根据当前时间片对应的被选取概率来确定是否将该参与者作为选取出的参与者,使本发明实施方式可以较易实现在整个活动时间范围内,均匀的选取出参与者,从而尽可能的避免了选取参与者的过程受到参与者数量以及被选取概率的影响;由此可知,本发明实施方式能够在一定程度上提高选取参与者的合理性,从而能够提高用户参与活动的积极性,且本发明实施方式还具有易于实现且易于推广应用等特点。

在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。

应用场景总览

首先参考图1,示意性地示出了根据本发明实施方式的可以在其中实现的应用场景。

图1中,终端设备1、终端设备2、……终端设备n中均安装有浏览器或者应用(APP),不同用户可以利用其终端设备(如上述终端设备1至终端设备n中的一个终端设备)中安装的浏览器或者APP等工具参与网络侧(如应用服务器)推出的从众多参与者中挑选出部分参与者的活动,如抽奖活动或者报名活动或者申领活动等活动,位于网络侧的相应服务器(如应用服务器等)通知相应的参与者其是否为被挑选出的参与者(如中奖者或者成功报名者或者成功申领者等)。然而,本领域技术人员完全可以理解,本发明实施方式的适用场景不受到该框架任何方面的限制。

示例性方法

下面结合图1所示的应用场景,参考图2-图3来描述根据本发明示例性实施方式的用于选取参与者的方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。

参见图2,示意性地示出了根据本发明一实施例的用于选取参与者的方法的流程图,该方法通常在网络侧的服务器处执行,具体的,该方法可以在WEB服务器或者应用服务器处执行,该方法也可以部分在WEB服务器处执行而部分在应用服务器处执行,且该方法可以包括步骤S200以及S210;可选的,该方法还可以包括:步骤S220以及步骤S230。

S200、接收在活动时间范围内的来自参与活动的参与者的申请被选取请求。

作为示例,本发明实施方式中的申请被选取请求通常是基于预先设置的活动页面而产生的请求,一个具体的例子,用户在通过其终端设备接收到的链接地址或者页面获知当前存在抽奖等活动时,通过点击链接或者点击页面中的相应区域等方式向网络侧的相应服务器发送活动页面请求,网络侧的相应服务器在接收到该活动页面请求后,向该用户的终端设备推送相应的活动页面,用户在通过点击其终端设备所显示的该活动页面中的“参与活动”等按钮后,产生申请被选取请求并向网络侧的相应服务器发送该申请被选取请求。

在申请被选取请求由应用服务器来处理的情况下,本发明实施方式可以通过WEB服务器来使应用服务器接收到来自用户的申请被选取请求;如在WEB服务器接收到来自用户的终端设备的活动页面请求时,判断本地是否缓存有该活动页面,WEB服务器在判断出本地未缓存有该活动页面时,向相应的应用服务器请求该活动页面,WEB服务器在接收到应用服务器发送来的活动页面后,本地缓存该活动页面,并向用户的终端设备推送该活动页面;WEB服务器在判断出本地缓存有该活动页面时,可以直接从其缓存的信息中获取该活动页面,并向用户推送该活动页面;用户基于其终端设备接收到的活动页面执行相应的操作(如点击活动页面中的“抽奖”按钮等),以参与该活动成为参与者时,产生针对活动页面的申请被选取请求,该申请被选取请求由用户的终端设备向WEB服务器发送,并由WEB服务器将该申请被选取请求发送给应用服务器,从而使应用服务器接收到在活动时间范围内的来自参与活动的参与者的申请被选取请求。由于对活动页面请求的处理被WEB服务器所分担,而WEB服务器具有响应时间较快且吞吐率较高等特点,因此,本发明实施方式可以有效避免大量的活动页面请求对应用服务器的压力,有利于提高应用服务器的可靠性以及安全性。

本发明实施方式中的活动时间范围可以称为活动举办时间或者活动有效时间等,如在活动为抽奖活动时,活动时间范围可以具体为能够参与抽奖的时间范围。本发明实施方式的活动时间范围通常包括一个或者多个连续的时间段,如某年某月某日的早8点至晚6点,再如某年某月某日的早8点到中午12点以及同日的下午2点到晚6点等。本发明不限制活动时间范围的具体表现形式。

本发明实施方式中的活动时间范围应根据允许选取总数量被划分为多个时间段,其中的允许选取总数量即从众多参与者中选择出的参与者的总数量;一个具体的例子,在活动为抽奖活动的情况下,允许选取总数量通常为中奖总数量;在活动为报名活动的情况下,允许选取总数量通常为报名总数量;在活动为申领活动的情况下,允许选取总数量通常为被申请目标的总数量。本发明实施方式将活动时间范围划分出的时间段的数量应与允许选取总数量相同,例如在允许选取总数量为A的情况下,应将活动时间范围划分A个时间段,这样本发明实施方式可以在一个时间段中仅选取出一个参与者。

本发明实施方式中的任意一个时间段均包括多个时间片,不同时间段所包括的时间片的数量通常相同,当然,不同时间段所包括的时间片的数量也可以不相同。另外,本发明实施方式中的一个时间段中的不同时间片的时长通常并不相同,如本发明实施方式在将任意一个时间段划分为多个时间片时,可以根据随机确定各时间片时长的时间片划分策略将时间段分别划分为多个时间片,也就是说,在将时间段划分为多个时间片的过程中,可以在考虑了时间段的时长以及时间段所包含的时间片的数量的情况下,产生随机数,并将产生的随机数作为时间片的时长来对时间段进行时间片的划分。

作为示例,本发明实施方式中的任意一个时间段中的不同时间片之间不存在时间重合现象,且任一时间段中的所有时间片相互衔接形成中间无间断的时间段,即一个时间段中的所有时间片的时长之和为该时间段的时长;一个具体的例子,设定时间段10:00:00-10:01:00被划分为五个时间片,这五个时间片可以具体为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。

本发明实施方式在确定出上述申请被选取请求所属的当前时间段还未选取出参与者,且申请被选取请求为当前时间段中的当前时间片内接收到的第N个申请被选取请求的情况下,到步骤S210。

S210、根据当前时间片对应的被选取概率确定是否将参与者作为选取出的参与者。

作为示例,本发明实施方式可以在接收到申请被选取请求之后,对申请被选取请求进行过滤处理,以滤除由于用户的不当操作而导致活动出现不公平现象的申请被选取请求;具体的,本发明实施方式可以根据预定的参与者资格要求对发送申请被选取请求的参与者进行过滤,以滤除不符合参与者资格要求的参与者发送的申请被选取请求。上述预定的参与者资格要求通常包括:参与者的注册账户对应的参与活动的次数是否达到预定次数(如是否达到一次)、参与者的注册账户所绑定的用户身份标识是否与其他参与者的注册账户所绑定的用户身份标识相同以及参与者的终端设备标识信息是否与其他参与者的终端设备标识信息的相似度达到预定相似度。当然,预定的参与者资格要求也可以包括上述任意一个或者任意两个。

本发明实施方式通过利用参与者的注册账户对应的参与活动的次数是否达到预定次数可以有效避免一个用户利用其同一个注册账户重复参与活动的次数(如重复进行抽奖的次数等)超过预定次数的现象。一个具体的例子,在一个抽奖活动中,如果规定一个用户只能抽奖一次,则本发明实施方式可以在接收到申请被选取请求后,从该申请被选取请求中获取参与者的注册账户信息,并判断该注册账户信息是否属于预先存储的已参加抽奖的注册账户信息集合,如果判断出属于该集合,则确定出该参与者已经参与过抽奖活动,应滤除该申请被选取请求,如果判断出不属于该集合,则确定出该参与者还未参与过抽奖活动,不应滤除该申请被选取请求。

本发明实施方式通过利用参与者的注册账户所绑定的用户身份标识是否与其他参与者的注册账户所绑定的用户身份标识相同可以在一定程度上避免一个用户利用其不同的注册账户重复参与活动的次数(如重复进行抽奖的次数等)超过预定次数的现象。一个具体的例子,在一个抽奖活动中,如果规定一个用户只能抽奖一次,则本发明实施方式可以在接收到申请被选取请求后,从该申请被选取请求中获取参与者的注册账户信息,并根据预先存储的注册信息确定该注册账户信息所绑定的用户身份标识(如所绑定的移动电话号码或者身份证号码等),然后,判断该注册账户信息所绑定的用户身份标识是否属于预先存储的已参加抽奖的注册账户信息所绑定的用户身份标识集合,如果判断出属于该集合,则确定出该参与者已经利用其他注册账户信息参与过抽奖活动,应滤除该申请被选取请求,如果判断出不属于该集合,则确定出该参与者还未参与过抽奖活动,不应滤除该申请被选取请求。

本发明实施方式通过利用参与者的终端设备标识信息是否与其他参与者的终端设备标识信息的相似度达到预定相似度可以在一定程度上避免一个用户利用不同的终端设备重复参与活动的次数(如重复进行抽奖的次数等)超过预定次数的现象。一个具体的例子,在一个抽奖活动中,如果规定一个用户只能抽奖一次,则本发明实施方式可以在接收到申请被选取请求后,从该申请被选取请求中获取参与者的终端设备标识信息(如终端设备中的网卡等硬件的标识信息和/或浏览器等软件的标识信息等),并将获取到的终端设备的标识信息抽象为一个多维向量,然后,计算该多维向量与预先存储的已参加抽奖的各用户对应的多维向量的相似度,如果判断出计算获得的任意一个相似度达到预定相似度,则确定出该用户利用其它终端设备已经参加过抽奖活动,应滤除该申请被选取请求,如果判断出计算获得的所有相似度均未达到预定相似度,则确定出该用户还未参与过抽奖活动,不应滤除该申请被选取请求。

作为示例,针对未被滤除的申请被选取请求,本发明实施方式在确定出该申请被选取请求所属的当前时间段还未选取出参与者,且该申请被选取请求为当前时间段中的当前时间片内接收到的第N(N为预设的自然数)个申请被选取请求的情况下,应根据当前时间片对应的被选取概率确定是否将参与者作为选取出的参与者。在通常情况下,上述第N个申请被选取请求可以为第一个申请被选取请求;当然,上述第N个申请被选取请求也可以为第二个申请被选取请求或者第三个申请被选取请求等。在本发明实施方式采用随机确定各时间片时长的时间片划分策略对各时间段进行时间片划分的情况下,由于每一个时间的时长是随机确定的,因此,每一个时间段内的任意一个时刻都有可能成为第一个申请被选取请求的时间点,从而本发明实施方式可以使选取出的参与者随机的分布在每一个时间段的相应时刻。

作为示例,本发明实施方式为每一个时间段中的每一个时间片均设置有被选取概率,且针对任意一个时间段而言,该时间段中的不同时间片所对应的被选取概率可以相同,也可以不相同。一个具体的例子,本发明实施方式可以利用下述公式(1)来设置一个时间段中的第n个时间片所对应的被选取概率:

1/((m-n)+1; 公式(1)

在上述公式(1)中,m为该时间段所包含的时间片的总数量,且m为大于1的整数,n为大于等于1且不大于m的整数。

利用上述公式(1)设置时间段中的每一个时间片所对应的被选取概率的一个具体例子为:在一个时间段被划分为五个时间片的情况下,第一个时间片、第二个时间片、第三个时间片、第四个时间片以及第五个时间片各自对应的被选取概率分别为1/5、1/4、1/3、1/2以及1;虽然各时间片各自对应的被选取概率不相同,但是,由于在后的时间片中的申请被选取请求的参与者是否被作为选取出的参与者依赖于在先的时间片中的申请被选取请求的参与者不被作为选取出的参与者,因此,实际上在每个时间片的第N个申请被选取请求的参与者被作为选取出的参与者的概率是相同的,如第n个时间片的第N个申请被选取请求的参与者被作为选取出的参与者的概率下述公式(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)可知,实际上,一个时间段内的每一个时间片的第N个申请被选取请求的参与者被作为选取出的参与者的概率都是1/m;由于本发明实施方式中的每一个时间段内的任意一个时刻都有可能成为第N个申请被选取请求的时间点,而且每一个时间片中的第N个申请被选取请求的参与者被作为选取出的参与者的概率都是1/m,因此,本发明实施方式能够保证每一个时刻接收到的申请被选取请求的参与者具有均等的被作为选取出的参与者的概率,且与参与者的数量以及现有技术中的预设的被选取概率的大小无关。

本发明实施方式在根据当前时间片对应的被选取概率确定出将上述参与者作为选取出的参与者的情况下,到步骤S220,而在确定出不将上述参与者作为选取出的参与者的情况下,到步骤S230。

S220、更新本地缓存的允许选取剩余数量。

作为示例,通常情况下,包括当前允许选取剩余数量(如当前剩余奖品数量等)在内的活动的配置信息会存储在数据库中;由于每次选取出一个参与者的时候都需要对数据库中的当前允许选取剩余数量进行更新,因此,在一些热点时刻(如抽奖的开始时刻等),对数据库进行集中大量的访问容易使数据库崩溃,从而使对数据库的访问成为实现选取参与者的瓶颈。本发明实施方式通过从数据库中获取允许选取剩余数量(如在选取参与者的过程的一开始从数据库中获取允许选取总数量,并将允许选取总数量作为当前允许选取剩余数量),并本地缓存,这样,在后续选取出参与者时,可以对本地缓存的当前允许选取剩余数量进行更新,后续可以根据预设的数据同步策略将本地缓存的允许选取剩余数量同步到数据库中,如在预定数量个时间段结束后,将本地缓存的允许选取剩余数量同步到相应的数据库中的允许选取剩余数量,从而避免了热点时刻对数据库进行集中大量的访问易使数据库崩溃的现象,进而提高了本发明实施方式的可靠性以及安全性。

本发明实施方式在确定出申请被选取请求所属的当前时间段已选取出参与者的情况下,到步骤S230;本发明实施方式也可以在确定出申请被选取请求所属的当前时间段还未选取出参与者,且上述申请被选取请求不为当前时间段中的当前时间片内接收到的第N个申请被选取请求的情况下,到步骤S230。

S230、禁止将参与者作为选取出的参与者。

参见图3,示意性地示出了根据本发明一实施例的用于选取参与者的方法的流程图,该方法WEB服务器以及应用服务器处执行,且该方法可以包括下述步骤:

S300、针对当前推出的抽奖活动,开始本发明实施方式的用于选取参与者的方法。

S310、在抽奖活动时间范围内,WEB服务器在接收到来自用户的终端设备的抽奖页面请求的情况下,从其本地缓存的静态资源中获取该抽奖活动的抽奖页面,并向用户的终端设备发送该抽奖页面。用户的终端设备在接收到该抽奖页面并显示后,用户通过点击抽奖页面中的抽奖按钮而参与抽奖活动,用户的终端设备会根据用户基于该抽奖页面的操作而产生申请中奖请求(也可以称为中奖请求),并向WEB服务器发送该申请中奖请求。

S320、WEB服务器在接收到申请中奖请求的情况下,将该申请中奖请求转发给应用服务器。

S330、应用服务器对接收到的申请中奖请求进行过滤,以滤除不符合抽奖资格要求的参与者所发送的申请中奖请求。

S340、对于符合抽奖资格要求的参与者所发送的申请中奖请求,应用服务器根据该申请中奖请求所对应的当前时间段是否已经存在中奖者以及该申请中奖请求是否是当前时间片的第一个申请中奖请求判断该用户是否中奖,在申请中奖请求所对应的当前时间段已经存在中奖者或者该申请中奖请求不是当前时间片的第一个申请中奖请求时,应用服务器判断出该用户没有中奖,到步骤S360;而在申请中奖请求所对应的当前时间段并未存在中奖者且该申请中奖请求是当前时间片的第一个申请中奖请求时,应用服务器判断出该用户中奖,到步骤S350。

S350、应用服务器根据缓存的剩余奖品数量的当前计数值判断是否还有可供发放的奖品,如果判断出还有可供发放的奖品,则到步骤S351,如果判断出已经没有可供发放的奖品,则到步骤S360。

S351、应用服务器将缓存的剩余奖品数量的当前计数值减1,并到步骤S352。

S352、应用服务器执行发放奖品操作,如更新该参与者的相应账户,以便于将该奖品添加在该参与者的相应账户中。

S360、本次用于选取参与者的方法结束。

示例性设备

在介绍了本发明示例性实施方式的方法之后,接下来,参考图4对本发明示例性实施方式的用于选取参与者的设备进行说明。

参见图4,示意性地示出了根据本发明一实施例的用于选取参与者的设备的结构示意图,该设备通常设置于网络侧的服务器处,具体的,该设备可以设置于WEB服务器处或者应用服务器处,该设备也可以部分设置于WEB服务器处,而部分设置于应用服务器处。

图4中,本发明实施方式的用于选取参与者的设备包括:接收请求模块400以及选取参与者模块410;可选的,该设备还可以包括:过滤模块420、划分模块430、更新模块440以及同步模块450。

接收请求模块400主要用于接收在活动时间范围内的来自参与活动的参与者的申请被选取请求。

作为示例,接收请求模块400接收到的申请被选取请求通常是基于预先设置的活动页面而产生的请求,一个具体的例子,用户在通过其终端设备接收到的链接地址或者页面获知当前存在抽奖等活动时,通过点击链接或者点击页面中的相应区域等方式向网络侧的相应服务器发送活动页面请求,网络侧的相应服务器中的接收请求模块400在接收到该活动页面请求后,向该用户的终端设备推送相应的活动页面,用户在通过点击其终端设备所显示的该活动页面中的“参与活动”等按钮后,产生申请被选取请求并向网络侧的相应服务器发送该申请被选取请求,从而该接收请求模块400接收到申请被选取请求。

在申请被选取请求由应用服务器中的选取参与者模块410来处理的情况下,本发明实施方式可以通过WEB服务器来使应用服务器接收到来自用户的申请被选取请求;在该情况下,本发明实施方式中的接收请求模块400可以包括:第一子模块、第二子模块以及第三子模块;其中的第一子模块设置于WEB服务器中,且第一子模块主要用于在WEB服务器在活动时间范围内接收到来自用户的活动页面请求,且WEB服务器本地缓存有活动页面的情况下,向该用户推送该活动页面;其中的第二子模块设置于WEB服务器中,且第二子模块主要用于在WEB服务器接收到来自用户的针对活动页面的申请被选取请求的情况下,将申请被选取请求传输给活动对应的应用服务器;其中的第三子模块设置于应用服务器中,且第三子模块主要用于接收第二子模块传输来的申请被选取请求,使应用服务器接收到在活动时间范围内来自参与者的申请被选取请求。

一个具体的例子,在WEB服务器中的第一子模块接收到来自用户的终端设备的活动页面请求时,判断WEB服务器本地是否缓存有该活动页面,第一子模块在判断出本地未缓存有该活动页面时,向相应的应用服务器请求该活动页面,第一子模块在接收到应用服务器发送来的活动页面后,在WEB服务器本地缓存该活动页面,并向用户的终端设备推送该活动页面;第一子模块在判断出WEB服务器本地缓存有该活动页面时,可以直接从其缓存的信息中获取该活动页面,并向用户推送该活动页面;用户基于其终端设备接收到的活动页面执行相应的操作(如点击活动页面中的“抽奖”按钮等),以参与该活动成为参与者时,产生针对活动页面的申请被选取请求,该申请被选取请求由用户的终端设备向WEB服务器发送,并由WEB服务器中的第二子模块将该申请被选取请求发送给应用服务器,从而使应用服务器中的第三子模块接收到在活动时间范围内的来自参与活动的参与者的申请被选取请求。由于对活动页面请求的处理被WEB服务器中的第一子模块所分担,而WEB服务器具有响应时间较快且吞吐率较高等特点,因此,本发明实施方式可以有效避免大量的活动页面请求对应用服务器的压力,有利于提高应用服务器的可靠性以及安全性。

本发明实施方式中的活动时间范围可以称为活动举办时间或者活动有效时间等,如在活动为抽奖活动时,活动时间范围可以具体为能够参与抽奖的时间范围。本发明实施方式的活动时间范围通常包括一个或者多个连续的时间段,如某年某月某日的早8点至晚6点,再如某年某月某日的早8点到中午12点以及同日的下午2点到晚6点等。本发明不限制活动时间范围的具体表现形式。

本发明实施方式中的活动时间范围应根据允许选取总数量被划分模块430划分为多个时间段,其中的允许选取总数量即从众多参与者中选择出的参与者的总数量;一个具体的例子,在活动为抽奖活动的情况下,允许选取总数量通常为中奖总数量;在活动为报名活动的情况下,允许选取总数量通常为报名总数量;在活动为申领活动的情况下,允许选取总数量通常为被申请目标的总数量。本发明实施方式中的划分模块430可以将活动时间范围划分出的时间段的数量应与允许选取总数量相同,例如在允许选取总数量为A的情况下,划分模块430应将活动时间范围划分A个时间段,这样本发明实施方式可以在一个时间段中仅选取出一个参与者。

本发明实施方式中的任意一个时间段均包括多个时间片,不同时间段所包括的时间片的数量通常相同,当然,不同时间段所包括的时间片的数量也可以不相同。另外,本发明实施方式中的一个时间段中的不同时间片的时长通常并不相同,如划分模块430可以根据随机确定各时间片时长的时间片划分策略将各时间段分别划分为多个时间片,也就是说,划分模块430在将时间段划分为多个时间片的过程中,可以在考虑了时间段的时长以及时间段所包含的时间片的数量的情况下,产生随机数,并将产生的随机数作为时间片的时长来对时间段进行时间片的划分。

作为示例,本发明实施方式中的任意一个时间段中的不同时间片之间不存在时间重合现象,且任一时间段中的所有时间片相互衔接形成中间无间断的时间段,即一个时间段中的所有时间片的时长之和为该时间段的时长。

选取参与者模块410主要用于在确定出该申请被选取请求所属的当前时间段还未选取出参与者,且该申请被选取请求为当前时间段中的当前时间片内接收到的第N个申请被选取请求的情况下,根据当前时间片对应的被选取概率确定是否将该参与者作为选取出的参与者。

作为示例,过滤模块420可以在接收请求模块400接收到申请被选取请求之后,对申请被选取请求进行过滤处理,以滤除由于用户的不当操作而导致活动出现不公平现象的申请被选取请求;过滤模块420主要用于根据预定的参与者资格要求对发送该申请被选取请求的参与者进行过滤,以滤除不符合参与者资格要求的参与者发送的申请被选取请求。

具体的,过滤模块420所使用的预定的参与者资格要求通常包括:参与者的注册账户对应的参与活动的次数是否达到预定次数(如是否达到一次)、参与者的注册账户所绑定的用户身份标识是否与其他参与者的注册账户所绑定的用户身份标识相同以及参与者的终端设备标识信息是否与其他参与者的终端设备标识信息的相似度达到预定相似度。当然,过滤模块420所使用的预定的参与者资格要求也可以包括上述任意一个或者任意两个。

过滤模块420通过利用参与者的注册账户对应的参与活动的次数是否达到预定次数可以有效避免一个用户利用其同一个注册账户重复参与活动的次数(如重复进行抽奖的次数等)超过预定次数的现象。一个具体的例子,在一个抽奖活动中,如果规定一个用户只能抽奖一次,则过滤模块420可以在接收请求模块400接收到申请被选取请求后,从该申请被选取请求中获取参与者的注册账户信息,并判断该注册账户信息是否属于预先存储的已参加抽奖的注册账户信息集合,如果判断出属于该集合,则过滤模块420确定出该参与者已经参与过抽奖活动,应滤除该申请被选取请求,如果判断出不属于该集合,则过滤模块420确定出该参与者还未参与过抽奖活动,不应滤除该申请被选取请求。

过滤模块420通过利用参与者的注册账户所绑定的用户身份标识是否与其他参与者的注册账户所绑定的用户身份标识相同可以在一定程度上避免一个用户利用其不同的注册账户重复参与活动的次数(如重复进行抽奖的次数等)超过预定次数的现象。一个具体的例子,在一个抽奖活动中,如果规定一个用户只能抽奖一次,则过滤模块420可以在接收请求模块400接收到申请被选取请求后,从该申请被选取请求中获取参与者的注册账户信息,并根据预先存储的注册信息确定该注册账户信息所绑定的用户身份标识(如所绑定的移动电话号码或者身份证号码等),然后,过滤模块420判断该注册账户信息所绑定的用户身份标识是否属于预先存储的已参加抽奖的注册账户信息所绑定的用户身份标识集合,如果判断出属于该集合,则过滤模块420确定出该参与者已经利用其他注册账户信息参与过抽奖活动,应滤除该申请被选取请求,如果判断出不属于该集合,则过滤模块420确定出该参与者还未参与过抽奖活动,不应滤除该申请被选取请求。

过滤模块420通过利用参与者的终端设备标识信息是否与其他参与者的终端设备标识信息的相似度达到预定相似度可以在一定程度上避免一个用户利用不同的终端设备重复参与活动的次数(如重复进行抽奖的次数等)超过预定次数的现象。一个具体的例子,在一个抽奖活动中,如果规定一个用户只能抽奖一次,则过滤模块420可以在接收请求模块400接收到申请被选取请求后,从该申请被选取请求中获取参与者的终端设备标识信息(如终端设备中的网卡等硬件的标识信息和/或浏览器等软件的标识信息等),并将获取到的终端设备的标识信息抽象为一个多维向量,然后,过滤模块420计算该多维向量与预先存储的已参加抽奖的各用户对应的多维向量的相似度,如果判断出计算获得的任意一个相似度达到预定相似度,则过滤模块420确定出该用户利用其它终端设备已经参加过抽奖活动,应滤除该申请被选取请求,如果判断出计算获得的所有相似度均未达到预定相似度,则过滤模块420确定出该用户还未参与过抽奖活动,不应滤除该申请被选取请求。

作为示例,针对未被过滤模块420所滤除的申请被选取请求,选取参与者模块410在确定出该申请被选取请求所属的当前时间段还未选取出参与者,且该申请被选取请求为当前时间段中的当前时间片内接收到的第N(N为预设的自然数)个申请被选取请求的情况下,应根据当前时间片对应的被选取概率确定是否将参与者作为选取出的参与者。在通常情况下,上述第N个申请被选取请求可以为第一个申请被选取请求;当然,上述第N个申请被选取请求也可以为第二个申请被选取请求或者第三个申请被选取请求等。在划分模块430采用随机确定各时间片时长的时间片划分策略对各时间段进行时间片划分的情况下,由于每一个时间的时长是随机确定的,因此,每一个时间段内的任意一个时刻都有可能成为第一个申请被选取请求的时间点,从而本发明实施方式的设备可以使选取出的参与者随机的分布在每一个时间段的相应时刻。

作为示例,选取参与者模块410为每一个时间段中的每一个时间片均设置有被选取概率,且针对任意一个时间段而言,该时间段中的不同时间片所对应的被选取概率可以相同,也可以不相同。一个具体的例子,选取参与者模块410可以利用上述公式(1)来设置一个时间段中的第n个时间片所对应的被选取概率,具体在此不再详细说明。

选取参与者模块410在确定出申请被选取请求所属的当前时间段已选取出参与者的情况下,禁止将参与者作为选取出的参与者;选取参与者模块410也可以在确定出申请被选取请求所属的当前时间段还未选取出参与者,且上述申请被选取请求不为当前时间段中的当前时间片内接收到的第N个申请被选取请求的情况下,禁止将参与者作为选取出的参与者。

更新模块440主要用于在确定出将该参与者作为选取出的参与者的情况下,更新本地缓存的允许选取剩余数量;而同步模块450主要用于根据数据同步策略将本地缓存的允许选取剩余数量同步到用于存储活动的配置信息的数据库中。

作为示例,通常情况下,包括当前允许选取剩余数量(如当前剩余奖品数量等)在内的活动的配置信息会存储在数据库中;由于每次选取出一个参与者的时候都需要对数据库中的当前允许选取剩余数量进行更新,因此,在一些热点时刻(如抽奖的开始时刻等),对数据库进行集中大量的访问容易使数据库崩溃,从而使对数据库的访问成为实现选取参与者的瓶颈。更新模块440通过从数据库中获取允许选取剩余数量(如在选取参与者的过程的一开始更新模块440从数据库中获取允许选取总数量,并将允许选取总数量作为当前允许选取剩余数量),并本地缓存,这样,在后续选取参与者模块410选取出参与者时,更新模块440可以对本地缓存的当前允许选取剩余数量进行更新,后续同步模块450可以根据预设的数据同步策略将本地缓存的允许选取剩余数量同步到数据库中,如在预定数量个时间段结束后,同步模块450将应用服务器本地缓存的允许选取剩余数量同步到相应的数据库中的允许选取剩余数量,从而避免了热点时刻对数据库进行集中大量的访问易使数据库崩溃的现象,进而提高了本发明实施方式的可靠性以及安全性。

图5示出了适于用来实现本发明实施方式的示例性计算机系统/服务器50的框图。图5显示的计算机系统/服务器50仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图5所示,计算机系统/服务器50以通用计算设备的形式表现。计算机系统/服务器50的组件可以包括但不限于:一个或者多个处理器或者处理单元501,系统存储器502,连接不同系统组件(包括系统存储器502和处理单元501)的总线503。

总线503表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。

计算机系统/服务器50典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器50访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

系统存储器502可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)5021和/或高速缓存存储器5022。计算机系统/服务器50可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,ROM5023可以用于读写不可移动的、非易失性磁介质(图5中未显示,通常称为“硬盘驱动器”)。尽管未在图5中示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线503相连。系统存储器502中可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。

具有一组(至少一个)程序模块5024的程序/实用工具5025,可以存储在例如系统存储器502中,且这样的程序模块5024包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块5024通常执行本发明所描述的实施例中的功能和/或方法。

计算机系统/服务器50也可以与一个或多个外部设备504(如键盘、指向设备、显示器等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器50交互的设备通信,和/或与使得该计算机系统/服务器50能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口505进行。并且,计算机系统/服务器50还可以通过网络适配器506与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图5所示,网络适配器506通过总线503与计算机系统/服务器50的其它模块(如处理单元501等)通信。应当明白,尽管图5中未示出,可以结合计算机系统/服务器50使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

处理单元501通过运行存储在系统存储器502中的程序,从而执行各种功能应用以及数据处理,例如执行并实现用于选取参与者的方法中的各步骤,例如,执行下述步骤:接收在活动时间范围内的来自参与活动的参与者的申请被选取请求;在确定出申请被选取请求所属的当前时间段还未选取出参与者,且申请被选取请求为当前时间段中的当前时间片内接收到的第N个申请被选取请求的情况下,根据当前时间片对应的被选取概率确定是否将该参与者作为选取出的参与者;其中,活动时间范围根据允许选取总数量被划分为多个时间段,时间段的数量与允许选取总数量相同,且一个时间段包括多个时间片,N为预设自然数;上述各步骤的进一步的具体内容以及本发明实施方式所包含的其他步骤请参见上述实施方式中的描述,在此不再重复说明。

本发明实施方式的计算机可读存储介质一个具体例子如图6所示。

图6的计算机可读存储介质为光盘600,其上存储有计算机程序(即程序产品),该程序被处理器执行时,会实现上述方法实施方式中所记载的各步骤,例如,执行下述步骤:接收在活动时间范围内的来自参与活动的参与者的申请被选取请求;在确定出申请被选取请求所属的当前时间段还未选取出参与者,且申请被选取请求为当前时间段中的当前时间片内接收到的第N个申请被选取请求的情况下,根据当前时间片对应的被选取概率确定是否将该参与者作为选取出的参与者;其中,活动时间范围根据允许选取总数量被划分为多个时间段,时间段的数量与允许选取总数量相同,且一个时间段包括多个时间片,N为预设自然数;上述各步骤的进一步的具体内容以及本发明实施方式所包含的其他步骤请参见上述实施方式中的描述,在此不再重复说明。

应当注意,尽管在上文详细描述中提及了用于选取参与者的设备的若干模块或子模块,但是这种划分仅仅并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。

此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1