网络投票方法和装置
技术领域
本发明涉及网络应用技术领域,特别涉及一种网络投票方法和装置。
背景技术
网络投票是以投票为中心的社会化网络服务,网络投票的投票和开票由服务器控制,并且服务器还承担验票的角色。减少了人工干预,在一定程度上能够保证投票的公正性。但也正是因为网络投票在网上进行,其作弊成本相对较低。
在大型的网络投票活动中,通过刷票实现重复投票、增加点击率和人气的过程,实际上是一种网络投票造假行为,既降低了投票结果的真实程度,同时损害了其他投票人和被投票人的权益。因此,如何防止网络投票中刷票行为是急需解决的问题。
发明内容
为了解决现有技术中网络投票中存在刷票行为的问题,本发明实施例提供了一种网络投票方法和装置。所述技术方案如下:
一方面,本发明实施例提供了一种网络投票方法,所述方法包括:
从后台服务器中获取防刷票策略,所述防刷票策略包括一个IP地址或者一个网段的IP地址在周期时间内的投票次数阈值、以及一个用户名在周期时间内的投票次数阈值中的至少一个;
接收客户端发送的投票信息,所述投票信息包括:投票活动标识、投票人的IP地址或用户名、投票选项以及投票票数;
判断所述投票人的IP地址或用户名是否处于黑名单中,所述黑名单包括无效投票人的IP地址或用户名,所述无效投票人的IP地址或用户名用于记录在周期时间内投票次数达到投票次数阈值的投票人的IP地址或用户名;
如果所述投票人IP地址或用户名处于黑名单中,则确定接收到的所述投票信息无效;
如果所述投票人IP地址或用户名未处于黑名单中,则在行为数据库中查找所述投票人的IP地址或用户名的历史投票记录,所述行为数据库用于存储历史投票记录;
根据所述投票人的IP地址或用户名的历史投票记录和接收到的所述投票信息,确定所述投票人的IP地址或用户名在周期时间内的投票次数;
如果所述投票人的IP地址或用户名在周期时间内的投票次数达到所述防刷票策略中的投票次数阈值,则确定接收到的所述投票信息无效;
如果所述投票人的IP地址或用户名在周期时间内的投票次数未达到所述防刷票策略中的投票次数阈值,确定接收到的所述投票信息有效,并按照所述投票信息中的投票选项和投票票数进行计票。
在本发明实施例的一种实现方式中,所述从后台服务器中获取防刷票策略,包括:
接收定时线程发送的信号;
当所述定时线程的信号指示达到预定时间间隔时,从后台服务器中获取防刷票策略。
在本发明实施例的另一种实现方式中,所述方法还包括:
如果所述投票人的IP地址或用户名在周期时间内的投票次数达到所述防刷票策略中的投票次数阈值,将所述投票人的IP地址或用户名作为无效投票人的IP地址或用户名加入所述黑名单中。
在本发明实施例的另一种实现方式中,所述方法还包括:
周期性地清空所述黑名单;或者,
当黑名单中的投票人的惩罚时间达到预定时间后,将惩罚时间达到预定时间的所述投票人的IP地址或用户名从所述黑名单中移除,所述惩罚时间用于记录所述投票人的IP地址或用户名处于所述黑名单中的时间。
在本发明实施例的另一种实现方式中,所述方法还包括:
当确定所述投票信息有效时,将所述投票信息中投票人的IP地址或用户名以及接收到投票信息的时间写入所述行为数据库中的历史投票记录中。
另一方面,本发明实施例还提供了一种网络投票装置,所述装置包括:
获取模块,用于从后台服务器中获取防刷票策略,所述防刷票策略包括一个IP地址或者一个网段的IP地址在周期时间内的投票次数阈值、以及一个用户名在周期时间内的投票次数阈值中的至少一个;
接收模块,用于接收客户端发送的投票信息,所述投票信息包括:投票活动标识、投票人的IP地址或用户名、投票选项以及投票票数;
预判断模块,用于判断所述接收模块接收到的投票信息中所述投票人的IP地址或用户名是否处于黑名单中,所述黑名单包括无效投票人的IP地址或用户名,所述无效投票人的IP地址或用户名用于记录在周期时间内投票次数达到投票次数阈值的投票人的IP地址或用户名;
当所述投票人IP地址或用户名处于黑名单中时,确定接收到的所述投票信息无效;
防刷票模块,用于在所述投票人IP地址或用户名未处于黑名单中时,在行为数据库中查找所述投票人的IP地址或用户名的历史投票记录,所述行为数据库用于存储历史投票记录;根据所述投票人的IP地址或用户名的历史投票记录和接收到的所述投票信息,确定所述投票人的IP地址或用户名在周期时间内的投票次数;
当所述投票人的IP地址或用户名在周期时间内的投票次数达到所述获取模块获取到的所述防刷票策略中的投票次数阈值时,确定接收到的所述投票信息无效;
计票模块,用于在所述投票人的IP地址或用户名在周期时间内的投票次数未达到所述防刷票策略中的投票次数阈值时,确定接收到的所述投票信息有效,并按照所述接收模块接收到的所述投票信息中的投票选项和投票票数进行计票。
在本发明实施例的一种实现方式中,所述获取模块包括:
接收单元,用于接收定时线程发送的信号;
获取单元,用于当所述定时线程的信号指示达到预定时间间隔时,从后台服务器中获取防刷票策略。
在本发明实施例的另一种实现方式中,所述预判断模块包括:
设置单元,用于当所述投票人的IP地址或用户名在周期时间内的投票次数达到所述防刷票策略中的投票次数阈值时,将所述投票人的IP地址或用户名作为无效投票人的IP地址或用户名加入所述黑名单。
在本发明实施例的另一种实现方式中,所述设置单元,还用于周期性地清空所述黑名单;或者,
当黑名单中的投票人的惩罚时间达到预定时间后,将惩罚时间达到预定时间的所述投票人的IP地址或用户名从所述黑名单中移除,所述惩罚时间用于记录所述投票人的IP地址或用户名处于所述黑名单中的时间。
在本发明实施例的另一种实现方式中,所述防刷票模块包括:
记录单元,用于当确定所述投票信息有效时,将所述投票信息中投票人的IP地址或用户名以及接收到投票信息的时间写入所述行为数据库中的历史投票记录中。
本发明实施例提供的技术方案带来的有益效果是:
通过在接收到客户端发送的投票信息后,判断投票信息中投票人的IP地址或用户名是否处于黑名单中,如果投票人的IP地址或用户名处于黑名单中,确定接收到的投票信息无效,黑名单包括无效投票人的IP地址或用户名,无效投票人的IP地址或用户名用于记录在周期时间内投票次数达到投票次数阈值的投票人的IP地址或用户名,这样就避免了用户的刷票行为;如果投票人的IP地址或用户名未处于黑名单中,则查找投票人的IP地址或用户名的历史投票记录,根据投票人的IP地址或用户名的历史投票记录和接收到的投票信息,确定投票人的IP地址或用户名在周期时间内的投票次数;如果投票人的IP地址或用户名在周期时间内的投票次数未达到防刷票策略中的投票次数阈值,确定接收到的投票信息有效,并按照投票信息中的投票选项和投票票数进行计票,使得用户无法进行刷票,通过上述两个方面对用户刷票进行防御,避免了网络投票中刷票行为带来的危害。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的应用场景图;
图2是本发明实施例一提供的网络投票方法的流程图;
图3是本发明实施例二提供的网络投票方法的流程图;
图4是本发明实施例三提供的网络投票装置的结构示意图;
图5是本发明实施例四提供的网络投票装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
为了便于实施例的描述,下面先简单介绍一下本发明中实施例的应用场景。参见图1,该场景中包括客户端1,客户端1可以是个人电脑、移动终端等设备。客户端1中设有可以进行网络投票的应用,以使用户可以进行网络投票。客户端1与服务器2通过网络连接。服务器2接收用户通过客户端1发送的投票信息,并进行验票统计等功能。
需要说明的是,以上所述的设备种类及连接方式仅为举例,本发明对此不作限制。
实施例一
本发明实施例提供了一种网络投票方法,适用于网络投票的服务器,参见图2,该方法包括:
步骤101:从后台服务器中获取防刷票策略,防刷票策略包括一个IP地址或者一个网段的IP地址在周期时间内的投票次数阈值、以及一个用户名在周期时间内的投票次数阈值中的至少一个。
步骤102:接收客户端发送的投票信息,投票信息包括:投票活动标识、投票人的IP地址或用户名、投票选项以及投票票数;
具体地,投票活动标识用来指示该投票信息所参与的投票,因为可能一个投票人同时能对多场投票活动进行投票。当用户采用实名投票时,投票信息可以以投票人的用户名来作为身份标识。而当用户采用匿名身份投票时,此时投票人的用户名为空,投票信息可以以投票人的IP地址来作为身份标识。这里投票人的IP地址一般是投票人发送投票信息的客户端的IP(Internet Protocol,网络互连协议)地址,当然也可以是客户端的MAC(Media Access Control,媒体介入控制层)地址。投票选项是投票人选投的选项,既可以是一个选项也可以多个选项。投票票数与投票选项对应,当可以投多个选项时,每个选项的票数与之对应。当然,在只能对每个选项投固定票数(如一票)的投票中,该投票票数可以省略。
步骤103:判断投票人的IP地址或用户名是否处于黑名单中,黑名单包括无效投票人的IP地址或用户名,无效投票人的IP地址或用户名用于记录在周期时间内投票次数达到投票次数阈值的投票人的IP地址或用户名;如果投票人IP地址或用户名处于黑名单中,则确定接收到的投票信息无效;如果投票人IP地址或用户名未处于黑名单中,则执行步骤104。
无效投票人的IP地址或用户名对应的投票信息是无效的,即当前没有投票资格,票数不计入该场投票的结果中。
黑名单中也可以像防刷票策略一样使用网段的IP地址来进行防御。
该黑名单存储在网络投票的服务器中。该黑名单的生成策略在后文中会做进一步解释,当然该黑名单也可以由管理员手动设置,以满足实际需求。
步骤104:在行为数据库中查找投票人的IP地址或用户名的历史投票记录,行为数据库用于存储历史投票记录。
该历史投票记录存储在网络投票的服务器中。该历史投票记录的生成策略在后文中会做进一步解释。
步骤105:根据投票人的IP地址或用户名的历史投票记录和接收到的投票信息,确定投票人的IP地址或用户名在周期时间内的投票次数是否达到防刷票策略中的投票次数阈值;如果投票人的IP地址或用户名在周期时间内的投票次数达到防刷票策略中的投票次数阈值,则确定接收到的投票信息无效;如果投票人的IP地址或用户名在周期时间内的投票次数未达到防刷票策略中的投票次数阈值,则执行步骤106。
具体地,确定在周期时间内投票人的IP地址或用户名在历史投票记录中的投票次数,将该历史投票记录中的投票次数加一后与周期时间内的投票次数阈值比较即可。这里将历史投票记录中的投票次数加一是因为,本次投票在历史投票记录中并未算入。
在确定出周期时间内投票人的IP地址或用户名在历史投票记录中的投票次数后,从防刷票策略中找出相对于地投票次数阈值,这里的对应指的是与投票人的IP地址或用户名对应。例如,当接收到的投票信息中携带的是投票人的IP地址时,先查找该IP地址对应的防刷票策略,如果没有该IP地址对应的防刷票策略,则用该IP地址去匹配相应网段,确定其对应的防刷票策略。
步骤106:确定接收到的投票信息有效,并按照投票信息中的投票选项和投票票数进行计票。
本发明实施例通过在接收到客户端发送的投票信息后,判断投票信息中投票人的IP地址或用户名是否处于黑名单中,如果投票人的IP地址或用户名处于黑名单中,确定接收到的投票信息无效,黑名单包括无效投票人的IP地址或用户名,无效投票人的IP地址或用户名用于记录在周期时间内投票次数达到投票次数阈值的投票人的IP地址或用户名,这样就避免了用户的刷票行为;如果投票人的IP地址或用户名未处于黑名单中,则查找投票人的IP地址或用户名的历史投票记录,根据投票人的IP地址或用户名的历史投票记录和接收到的投票信息,确定投票人的IP地址或用户名在周期时间内的投票次数;如果投票人的IP地址或用户名在周期时间内的投票次数未达到防刷票策略中的投票次数阈值,确定接收到的投票信息有效,并按照投票信息中的投票选项和投票票数进行计票,使得用户无法进行刷票,通过上述两个方面对用户刷票进行防御,避免了网络投票中刷票行为带来的危害。
实施例二
本发明实施例提供了一种网络投票方法,适用于网络投票的服务器,参见图3,该方法包括:
步骤201:从后台服务器中获取防刷票策略,防刷票策略包括一个IP地址或者一个网段的IP地址在周期时间内的投票次数阈值、以及一个用户名在周期时间内的投票次数阈值中的至少一个。
具体地,步骤201可以包括:
接收定时线程发送的信号;
当定时线程的信号指示达到预定时间间隔时,从后台服务器中获取防刷票策略。
这里的预定时间间隔可以根据实际需要进行设置,例如10秒。通过周期性地获取防刷票策略可以保证在不需停机的情况下对防刷票策略进行更新,以保证对于刷票行为更好的防御。
在本实施例中防刷票策略的内容还可以是更多策略的组合,并不以前述为限制。
步骤202:接收客户端发送的投票信息,投票信息包括:投票活动标识、投票人的IP地址或用户名、投票选项以及投票票数;
具体地,投票活动标识用来指示该投票信息所参与的投票,因为可能一个投票人同时能对多场投票活动进行投票。当用户采用实名投票时,投票信息可以以投票人的用户名来作为身份标识。而当用户采用匿名身份投票时,此时投票人的用户名为空,投票信息可以以投票人的IP地址来作为身份标识。这里投票人的IP地址一般是投票人发送投票信息的客户端的IP地址,当然也可以是客户端的MAC地址。投票选项是投票人选投的选项,既可以是一个选项也可以多个选项。投票票数与投票选项对应,当可以投多个选项时,每个选项的票数与之对应。当然,在只能对每个选项投固定票数(如一票)的投票中,该投票票数可以省略。
步骤203:判断投票人的IP地址或用户名是否处于黑名单中,黑名单包括无效投票人的IP地址或用户名,无效投票人的IP地址或用户名用于记录在周期时间内投票次数达到投票次数阈值的投票人的IP地址或用户名;如果投票人IP地址或用户名处于黑名单中,则确定接收到的投票信息无效;如果投票人IP地址或用户名未处于黑名单中,则执行步骤204。
无效投票人的IP地址或用户名对应的投票信息是无效的,即当前没有投票资格,票数不计入该场投票的结果中。
黑名单中也可以像防刷票策略一样使用网段的IP地址来进行防御。
该黑名单存储在网络投票的服务器中。该黑名单的生成策略在后文中会做进一步解释,当然该黑名单也可以由管理员手动设置,以满足实际需求。
进一步地,该方法还可以包括:
周期性地清空黑名单;或者,
当黑名单中的投票人的惩罚时间达到预定时间后,将惩罚时间达到预定时间的投票人的IP地址或用户名从黑名单中移除,惩罚时间用于记录投票人的IP地址或用户名处于黑名单中的时间。
例如,每天0点清空黑名单,或者投票人进入黑名单的时间为2小时,两小时后会自动从黑名单中被移除。
步骤204:在行为数据库中查找投票人的IP地址或用户名的历史投票记录,行为数据库用于存储历史投票记录。
该历史投票记录存储在网络投票的服务器中。该历史投票记录的生成策略在后文中会做进一步解释。
步骤205:根据投票人的IP地址或用户名的历史投票记录和接收到的投票信息,确定投票人的IP地址或用户名在周期时间内的投票次数是否达到防刷票策略中的投票次数阈值;如果投票人的IP地址或用户名在周期时间内的投票次数达到防刷票策略中的投票次数阈值,则执行步骤206;如果投票人的IP地址或用户名在周期时间内的投票次数未达到防刷票策略中的投票次数阈值,则执行步骤207。
具体地,确定在周期时间内投票人的IP地址或用户名在历史投票记录中的投票次数,将该历史投票记录中的投票次数加一后与周期时间内的投票次数阈值比较即可。这里将历史投票记录中的投票次数加一是因为,本次投票在历史投票记录中并未算入。
在确定出周期时间内投票人的IP地址或用户名在历史投票记录中的投票次数后,从防刷票策略中找出相对于地投票次数阈值,这里的对应指的是与投票人的IP地址或用户名对应。例如,当接收到的投票信息中携带的是投票人的IP地址时,先查找该IP地址对应的防刷票策略,如果没有该IP地址对应的防刷票策略,则用该IP地址去匹配相应网段,确定其对应的防刷票策略。
步骤206:确定接收到的投票信息无效,并将投票人的IP地址或用户名作为无效投票人的IP地址或用户名加入黑名单中。
具体地,在两种情况下,会确认收到的投票信息无效,一种是该投票人的IP地址或用户名处于黑名单中。另一种是该投票人的IP地址或用户名并未处于黑名单中,但是该投票人的这一次投票使其在周期时间内的投票次数达到投票次数阈值,在第二种情况下,也会被确定为投票信息无效。
步骤207:确定接收到的投票信息有效,并按照投票信息中的投票选项和投票票数进行计票。
具体地,根据投票信息中投票活动标识确定投票场次,根据投票选项以及投票票数对该投票场次的票数进行统计。当然除了可以对投票选项票数进行统计外,还可以对投票人的投票选项进行统计。
步骤208:将投票信息中投票人的IP地址或用户名以及接收到投票信息的时间写入行为数据库中的历史投票记录中。
本发明实施例通过在接收到客户端发送的投票信息后,判断投票信息中投票人的IP地址或用户名是否处于黑名单中,如果投票人的IP地址或用户名处于黑名单中,确定接收到的投票信息无效,黑名单包括无效投票人的IP地址或用户名,无效投票人的IP地址或用户名用于记录在周期时间内投票次数达到投票次数阈值的投票人的IP地址或用户名,这样就避免了用户的刷票行为;如果投票人的IP地址或用户名未处于黑名单中,则查找投票人的IP地址或用户名的历史投票记录,根据投票人的IP地址或用户名的历史投票记录和接收到的投票信息,确定投票人的IP地址或用户名在周期时间内的投票次数;如果投票人的IP地址或用户名在周期时间内的投票次数未达到防刷票策略中的投票次数阈值,确定接收到的投票信息有效,并按照投票信息中的投票选项和投票票数进行计票,使得用户无法进行刷票,通过上述两个方面对用户刷票进行防御,避免了网络投票中刷票行为带来的危害。
实施例三
本发明实施例提供了一种网络投票装置,参见图4,该服务器包括:
获取模块301,用于从后台服务器中获取防刷票策略,防刷票策略包括一个IP地址或者一个网段的IP地址在周期时间内的投票次数阈值、以及一个用户名在周期时间内的投票次数阈值中的至少一个。
接收模块302,用于接收客户端发送的投票信息,投票信息包括:投票活动标识、投票人的IP地址或用户名、投票选项以及投票票数。
具体地,投票活动标识用来指示该投票信息所参与的投票,因为可能一个投票人同时能对多场投票活动进行投票。当用户采用实名投票时,投票信息可以以投票人的用户名来作为身份标识。而当用户采用匿名身份投票时,此时投票人的用户名为空,投票信息可以以投票人的IP地址来作为身份标识。这里投票人的IP地址一般是投票人发送投票信息的客户端的IP地址,当然也可以是客户端的MAC地址。投票选项是投票人选投的选项,既可以是一个选项也可以多个选项。投票票数与投票选项对应,当可以投多个选项时,每个选项的票数与之对应。当然,在只能对每个选项投固定票数(如一票)的投票中,该投票票数可以省略。
预判断模块303,用于判断接收模块302接收到的投票信息中投票人的IP地址或用户名是否处于黑名单中,黑名单包括无效投票人的IP地址或用户名,无效投票人的IP地址或用户名用于记录在周期时间内投票次数达到投票次数阈值的投票人的IP地址或用户名;
当投票人IP地址或用户名处于黑名单中时,确定接收到的投票信息无效。
无效投票人的IP地址或用户名对应的投票信息是无效的,即当前没有投票资格,票数不计入该场投票的结果中。
黑名单中也可以像防刷票策略一样使用网段的IP地址来进行防御。
防刷票模块304,用于在投票人IP地址或用户名未处于黑名单中时,在行为数据库中查找投票人的IP地址或用户名的历史投票记录,行为数据库用于存储历史投票记录;根据投票人的IP地址或用户名的历史投票记录和接收到的投票信息,确定投票人的IP地址或用户名在周期时间内的投票次数;
当投票人的IP地址或用户名在周期时间内的投票次数达到获取模块301获取到的防刷票策略中的投票次数阈值时,确定接收到的投票信息无效。
具体地,确定在周期时间内投票人的IP地址或用户名在历史投票记录中的投票次数,将该历史投票记录中的投票次数加一后与周期时间内的投票次数阈值比较即可。这里将历史投票记录中的投票次数加一是因为,本次投票在历史投票记录中并未算入。
在确定出周期时间内投票人的IP地址或用户名在历史投票记录中的投票次数后,从防刷票策略中找出相对于地投票次数阈值,这里的对应指的是与投票人的IP地址或用户名对应。例如,当接收到的投票信息中携带的是投票人的IP地址时,先查找该IP地址对应的防刷票策略,如果没有该IP地址对应的防刷票策略,则用该IP地址去匹配相应网段,确定其对应的防刷票策略。
计票模块305,用于在投票人的IP地址或用户名在周期时间内的投票次数未达到防刷票策略中的投票次数阈值时,确定接收到的投票信息有效,并按照接收模块302接收到的投票信息中的投票选项和投票票数进行计票。
本发明实施例通过在接收到客户端发送的投票信息后,判断投票信息中投票人的IP地址或用户名是否处于黑名单中,如果投票人的IP地址或用户名处于黑名单中,确定接收到的投票信息无效,黑名单包括无效投票人的IP地址或用户名,无效投票人的IP地址或用户名用于记录在周期时间内投票次数达到投票次数阈值的投票人的IP地址或用户名,这样就避免了用户的刷票行为;如果投票人的IP地址或用户名未处于黑名单中,则查找投票人的IP地址或用户名的历史投票记录,根据投票人的IP地址或用户名的历史投票记录和接收到的投票信息,确定投票人的IP地址或用户名在周期时间内的投票次数;如果投票人的IP地址或用户名在周期时间内的投票次数未达到防刷票策略中的投票次数阈值,确定接收到的投票信息有效,并按照投票信息中的投票选项和投票票数进行计票,使得用户无法进行刷票,通过上述两个方面对用户刷票进行防御,避免了网络投票中刷票行为带来的危害。
实施例四
本发明实施例提供了一种网络投票装置,参见图5,该服务器包括:
获取模块401,用于从后台服务器中获取防刷票策略,防刷票策略包括一个IP地址或者一个网段的IP地址在周期时间内的投票次数阈值、以及一个用户名在周期时间内的投票次数阈值中的至少一个。
接收模块402,用于接收客户端发送的投票信息,投票信息包括:投票活动标识、投票人的IP地址或用户名、投票选项以及投票票数。
具体地,投票活动标识用来指示该投票信息所参与的投票,因为可能一个投票人同时能对多场投票活动进行投票。当用户采用实名投票时,投票信息可以以投票人的用户名来作为身份标识。而当用户采用匿名身份投票时,此时投票人的用户名为空,投票信息可以以投票人的IP地址来作为身份标识。这里投票人的IP地址一般是投票人发送投票信息的客户端的IP地址,当然也可以是客户端的MAC地址。投票选项是投票人选投的选项,既可以是一个选项也可以多个选项。投票票数与投票选项对应,当可以投多个选项时,每个选项的票数与之对应。当然,在只能对每个选项投固定票数(如一票)的投票中,该投票票数可以省略。
预判断模块403,用于判断接收模块402接收到的投票信息中投票人的IP地址或用户名是否处于黑名单中,黑名单包括无效投票人的IP地址或用户名,无效投票人的IP地址或用户名用于记录在周期时间内投票次数达到投票次数阈值的投票人的IP地址或用户名;
当投票人IP地址或用户名处于黑名单中时,确定接收到的投票信息无效。
无效投票人的IP地址或用户名对应的投票信息是无效的,即当前没有投票资格,票数不计入该场投票的结果中。
黑名单中也可以像防刷票策略一样使用网段的IP地址来进行防御。
防刷票模块404,用于在投票人IP地址或用户名未处于黑名单中时,在行为数据库中查找投票人的IP地址或用户名的历史投票记录,行为数据库用于存储历史投票记录;根据投票人的IP地址或用户名的历史投票记录和接收到的投票信息,确定投票人的IP地址或用户名在周期时间内的投票次数;
当投票人的IP地址或用户名在周期时间内的投票次数达到获取模块401获取到的防刷票策略中的投票次数阈值时,确定接收到的投票信息无效。
具体地,确定在周期时间内投票人的IP地址或用户名在历史投票记录中的投票次数,将该历史投票记录中的投票次数加一后与周期时间内的投票次数阈值比较即可。这里将历史投票记录中的投票次数加一是因为,本次投票在历史投票记录中并未算入。
在确定出周期时间内投票人的IP地址或用户名在历史投票记录中的投票次数后,从防刷票策略中找出相对于地投票次数阈值,这里的对应指的是与投票人的IP地址或用户名对应。例如,当接收到的投票信息中携带的是投票人的IP地址时,先查找该IP地址对应的防刷票策略,如果没有该IP地址对应的防刷票策略,则用该IP地址去匹配相应网段,确定其对应的防刷票策略。
计票模块405,用于在投票人的IP地址或用户名在周期时间内的投票次数未达到防刷票策略中的投票次数阈值时,确定接收到的投票信息有效,并按照接收模块402接收到的投票信息中的投票选项和投票票数进行计票。
具体地,根据投票信息中投票活动标识确定投票场次,根据投票选项以及投票票数对该投票场次的票数进行统计。当然除了可以对投票选项票数进行统计外,还可以对投票人的投票选项进行统计。
具体地,获取模块401包括:
接收单元4011,用于定时线程发送的信号;
获取单元4012,用于当定时线程的信号指示达到预定时间间隔时,从后台服务器中获取防刷票策略。
这里的预定时间间隔可以根据实际需要进行设置,例如10秒。通过周期性地获取防刷票策略可以保证在不需停机的情况下对防刷票策略进行更新,以保证对于刷票行为更好的防御。
具体地,预判断模块403包括:
设置单元4031,用于当投票人的IP地址或用户名在周期时间内的投票次数达到防刷票策略中的投票次数阈值时,将投票人的IP地址或用户名作为无效投票人的IP地址或用户名加入黑名单。
进一步地,设置单元4031,还用于周期性地清空黑名单;或者,
当黑名单中的投票人的惩罚时间达到预定时间后,将惩罚时间达到预定时间的投票人的IP地址或用户名从黑名单中移除,惩罚时间用于记录投票人的IP地址或用户名处于黑名单中的时间。
例如,每天0点清空黑名单,或者投票人进入黑名单的时间为2小时,两小时后会自动从黑名单中被移除。
具体地,防刷票模块404包括:
记录单元4041,用于当确定投票信息有效时,将投票信息中投票人的IP地址或用户名以及接收到投票信息的时间写入行为数据库中的历史投票记录中。
本发明实施例通过在接收到客户端发送的投票信息后,判断投票信息中投票人的IP地址或用户名是否处于黑名单中,如果投票人的IP地址或用户名处于黑名单中,确定接收到的投票信息无效,黑名单包括无效投票人的IP地址或用户名,无效投票人的IP地址或用户名用于记录在周期时间内投票次数达到投票次数阈值的投票人的IP地址或用户名,这样就避免了用户的刷票行为;如果投票人的IP地址或用户名未处于黑名单中,则查找投票人的IP地址或用户名的历史投票记录,根据投票人的IP地址或用户名的历史投票记录和接收到的投票信息,确定投票人的IP地址或用户名在周期时间内的投票次数;如果投票人的IP地址或用户名在周期时间内的投票次数未达到防刷票策略中的投票次数阈值,确定接收到的投票信息有效,并按照投票信息中的投票选项和投票票数进行计票,使得用户无法进行刷票,通过上述两个方面对用户刷票进行防御,避免了网络投票中刷票行为带来的危害。
需要说明的是:上述实施例提供的网络投票装置在进行网络投票时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的网络投票装置与网络投票方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。