一种用于在直播网站移动端中实现抽奖的方法和系统的利记博彩app

文档序号:10661470阅读:495来源:国知局
一种用于在直播网站移动端中实现抽奖的方法和系统的利记博彩app
【专利摘要】本发明公开了一种用于在直播网站移动端中实现抽奖的方法,包括:移动端设置抽奖条件数据,并将使用该移动端的用户的ID、以及设置好的抽奖条件数据发送到服务器端;服务器端判断接收到的抽奖条件数据是否会超出其存储的缓存队列,如果不会则服务器端根据接收到的移动端的用户的ID和服务器端存储的缓存队列判断该用户在同一预设时间段内是否进行了超过一次的抽奖操作,如果不是则服务器端将接收到的该移动端的用户的ID、以及设置好的抽奖条件数据存储在其缓存队列中,并把当前的时间戳返回给移动端以便存储。本发明能解决现有直播网站中存在由于海量数据的统计时间过长,影响直播网站抽奖活动的及时性的缺点,以及直播网站中存在的虚假抽奖的技术问题。
【专利说明】
一种用于在直播网站移动端中实现抽奖的方法和系统
技术领域
[0001]本发明属于视频直播网站技术领域,更具体地,涉及一种用于在直播网站移动端中实现抽奖的方法和系统。
【背景技术】
[0002]如今的直播网站拥有复杂的礼物系统和庞大的用户群体,每天用户给主播刷的礼物流水数据量惊人,从而造成历史累计礼物流水数据基本都是数亿级别海量数据。由于,该海量数据的统计时间过长,会极大地影响直播网站抽奖活动的及时性和用户体验感;为了解决该问题,一些直播网站往往使用虚假抽奖的方式进行抽奖操作,这会影响抽奖的公正和公平性。

【发明内容】

[0003]针对现有技术的以上缺陷或改进需求,本发明提供了一种用于在直播网站移动端中实现抽奖的方法和系统,其目的在于,解决现有直播网站中存在由于海量数据的统计时间过长,极大地影响直播网站抽奖活动的及时性和用户体验感的缺点,以及一些直播网站中存在的虚假抽奖的技术问题。
[0004]为实现上述目的,按照本发明的一个方面,提供了一种用于在直播网站移动端中实现抽奖的方法,包括以下步骤:
[0005](I)移动端设置抽奖条件数据,包括抽奖的开始时间、结束时间、抽奖能获得的礼物的数量,并将使用该移动端的用户的ID、以及设置好的抽奖条件数据发送到服务器端;
[0006](2)服务器端判断接收到的抽奖条件数据是否会超出其存储的缓存队列,如果会,则向移动端的用户返回当前缓存队列已满的提示信息,然后过程结束,否则进入步骤(3);
[0007](3)服务器端根据接收到的移动端的用户的ID和服务器端存储的缓存队列判断该用户在同一预设时间段内是否进行了超过一次的抽奖操作,如果是则向用户返回重复设置抽奖的提示信息,然后过程结束,否则转步骤(4);
[0008](4)服务器端将接收到的该移动端的用户的ID、以及设置好的抽奖条件数据存储在其缓存队列中,并把当前的时间戳返回给移动端以便存储;
[0009](5)服务器端监听其缓存队列,并在其自身的当前时间已经等于抽奖条件数据中的抽奖结束时间时将缓存队列中该移动端的用户的ID、以及设置好的抽奖条件数据存储在数据库中;
[0010](6)服务器端根据数据库中的该抽奖条件数据查询该数据库中对应礼物的历史流水,并根据查询到的历史流水筛选出可参与抽奖的用户ID;
[0011](7)移动端使用步骤(4)中存储的时间戳向服务器端发送用户抽奖请求,该请求中包括用户ID;
[0012](8)服务器端接收来自移动端的用户抽奖请求,并判断当前时间是否处于抽奖条件数据中的抽奖开始时间与抽奖结束时间之间,若是,则进入步骤(9),否则向移动端的用户发送不在抽奖时间段的提示信息,过程结束;
[0013](9)服务器端判断该用户抽奖请求对应的用户ID是否处于步骤(6)所确定的多个用户ID中,如果是则根据用户的时间戳为用户随机生成抽奖礼物,然后过程结束,否则向用户发送其不是合法抽奖用户的通知,过程结束。
[0014]优选地,步骤(I)中的用户ID是以令牌的形式发送,开始时间不超过当前时间的前一个月,结束时间不晚于当前时间的后15分钟。
[0015]优选地,缓存数据库是Redis,缓存队列是线性表,其只允许在队头进行删除操作,在队尾进行插入操作。
[0016]优选地,步骤(6)中礼物的历史流水格式是“用户ID+礼物类型+礼物数量+礼物赠送的时间”,步骤(6)具体是在历史流水中确定所有大于礼物数量阈值的所有流水及该流水对应的所有用户ID。
[0017]按照本发明的另一方面,提供了一种用于在直播网站移动端中实现抽奖的系统,包括:
[0018]第一模块,用于移动端设置抽奖条件数据,包括抽奖的开始时间、结束时间、抽奖能获得的礼物的数量,并将使用该移动端的用户的ID、以及设置好的抽奖条件数据发送到服务器端;
[0019]第二模块,用于服务器端判断接收到的抽奖条件数据是否会超出其存储的缓存队列,如果会,则向移动端的用户返回当前缓存队列已满的提示信息,然后过程结束,否则进入第三模块;
[0020]第三模块,用于服务器端根据接收到的移动端的用户的ID和服务器端存储的缓存队列判断该用户在同一预设时间段内是否进行了超过一次的抽奖操作,如果是则向用户返回重复设置抽奖的提示信息,然后过程结束,否则转第四模块;
[0021]第四模块,用于服务器端将接收到的该移动端的用户的ID、以及设置好的抽奖条件数据存储在其缓存队列中,并把当前的时间戳返回给移动端以便存储;
[0022]第五模块,用于服务器端监听其缓存队列,并在其自身的当前时间已经等于抽奖条件数据中的抽奖结束时间时将缓存队列中该移动端的用户的ID、以及设置好的抽奖条件数据存储在数据库中;
[0023]第六模块,用于服务器端根据数据库中的该抽奖条件数据查询该数据库中对应礼物的历史流水,并根据查询到的历史流水筛选出可参与抽奖的用户ID;
[0024]第七模块,用于移动端使用第四模块中存储的时间戳向服务器端发送用户抽奖请求,该请求中包括用户ID ;
[0025]第八模块,用于服务器端接收来自移动端的用户抽奖请求,并判断当前时间是否处于抽奖条件数据中的抽奖开始时间与抽奖结束时间之间,若是,则进入第九模块,否则向移动端的用户发送不在抽奖时间段的提示信息,过程结束;
[0026]第九模块,用于服务器端判断该用户抽奖请求对应的用户ID是否处于第六模块所确定的多个用户ID中,如果是则根据用户的时间戳为用户随机生成抽奖礼物,然后过程结束,否则向用户发送其不是合法抽奖用户的通知,过程结束。
[0027]优选地,第一模块中的用户ID是以令牌的形式发送,开始时间不超过当前时间的前一个月,结束时间不晚于当前时间的后15分钟。
[0028]优选地,缓存数据库是Redis,缓存队列是线性表,其只允许在队头进行删除操作,在队尾进行插入操作。
[0029]优选地,第六模块中礼物的历史流水格式是“用户ID+礼物类型+礼物数量+礼物赠送的时间”,第六模块具体是在历史流水中确定所有大于礼物数量阈值的所有流水及该流水对应的所有用户ID。
[0030]总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
[0031](I)本发明通过设置缓存队列,并通过查询该数据库筛选出可参与抽奖的用户ID,能够实现较快速地处理海量的抽奖流水数据,从而解决了现有直播网站中存在由于海量数据的统计时间过长,极大地影响直播网站抽奖活动的及时性和用户体验感的技术问题。
[0032](2)由于本发明能够较为真实而快速地处理海量抽奖数据,因此本发明的抽奖方法较为公正和公平,不存在现有网站由于处理海量数据时间过长,而采用虚假抽奖的方式提供抽奖结果的缺陷。
[0033](3)本发明的抽奖方法对服务器端无压力,即使多个主播同时进行抽奖活动,也不会影响现有服务器端的正常运转。
【附图说明】
[0034]图1是本发明用于在直播网站移动端中实现抽奖的方法的流程图。
【具体实施方式】
[0035]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0036]如图1所示,本发明用于在直播网站移动端中实现抽奖的方法包括以下步骤:
[0037](I)移动端设置抽奖条件数据,包括抽奖的开始时间、结束时间、抽奖能获得的礼物的数量,并将使用该移动端的用户的ID(该用户ID是以令牌的形式发送)、以及设置好的抽奖条件数据发送到服务器端;具体而言,开始时间不能超过当前时间的前一个月,结束时间不能晚于当前时间的后15分钟;
[0038](2)服务器端判断接收到的抽奖条件数据是否会超出其存储的缓存队列,如果会,则向移动端的用户返回当前缓存队列已满的提示信息,然后过程结束,否则进入步骤(3);
[0039]本步骤的优点在于,可以有效的在多个主播同时设置抽奖的高峰期进行限制,减小服务器压力。
[0040](3)服务器端根据接收到的移动端的用户的ID和服务器端存储的缓存队列判断该用户在同一预设时间段内是否进行了超过一次的抽奖操作,如果是则向用户返回重复设置抽奖的提示信息,然后过程结束,否则转步骤(4);在本实施方式中,预设时间段是I秒。
[0041]本步骤的优点在于,可以有效防止主播恶意频繁设置抽奖活动,增大服务器压力。
[0042](4)服务器端将接收到的该移动端的用户的ID、以及设置好的抽奖条件数据存储在其缓存队列中,并把当前的时间戳返回给移动端以便存储;在本实施方式中,本发明所采用的缓存数据库是Redis,其为一个开源的内存数据库,使用的缓存队列是一种特殊的线性表,其只允许在队头进行删除操作,在队尾进行插入操作;
[0043](5)服务器端监听其缓存队列,并在其自身的当前时间已经等于抽奖条件数据中的抽奖结束时间时将缓存队列中该移动端的用户的ID、以及设置好的抽奖条件数据存储在数据库中;在本发明中,使用的数据库是MYSQL开源数据库;
[0044]本步骤的优点在于,可以做到数据持久化,避免因为服务器宕机引起数据丢失。
[0045](6)服务器端根据数据库中的该抽奖条件数据查询该数据库中对应礼物的历史流水,并根据查询到的历史流水筛选出可参与抽奖的用户ID;具体而言,某个礼物的历史流水格式是“用户ID+礼物类型+礼物数量+礼物赠送的时间”,本步骤具体就是在历史流水中确定所有大于礼物数量阈值(其取值可自由设置,其数值越小则统计时间越快,越大则统计时间越快)的所有流水及该流水对应的所有用户ID;
[0046](7)移动端使用步骤(4)中存储的时间戳向服务器端发送用户抽奖请求,该请求中包括用户ID;
[0047](8)服务器端接收来自移动端的用户抽奖请求,并判断当前时间是否处于抽奖条件数据中的抽奖开始时间与抽奖结束时间之间,若是,则进入步骤(9),否则向移动端的用户发送不在抽奖时间段的提示信息,过程结束;
[0048](9)服务器端判断该用户抽奖请求对应的用户ID是否处于步骤(6)所确定的多个用户ID中,如果是则根据用户的时间戳为用户随机生成抽奖礼物,然后过程结束,否则向用户发送其不是合法抽奖用户的通知,过程结束。
[0049]总而言之,本发明具有以下优点:
[0050](I)本发明通过设置缓存队列,并通过查询该数据库筛选出可参与抽奖的用户ID,能够实现较快速地处理海量的抽奖流水数据,从而解决了现有直播网站中存在由于海量数据的统计时间过长,极大地影响直播网站抽奖活动的及时性和用户体验感的技术问题。
[0051](2)由于本发明能够较为真实而快速地处理海量抽奖数据,因此本发明的抽奖方法较为公正和公平,不存在现有网站由于处理海量数据时间过长,而采用虚假抽奖的方式提供抽奖结果的缺陷。
[0052](3)本发明的抽奖方法对服务器端无压力,即使多个主播同时进行抽奖活动,也不会影响现有服务器端的正常运转。
[0053]本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种用于在直播网站移动端中实现抽奖的方法,其特征在于,包括以下步骤: (1)移动端设置抽奖条件数据,包括抽奖的开始时间、结束时间、抽奖能获得的礼物的数量,并将使用该移动端的用户的ID、以及设置好的抽奖条件数据发送到服务器端; (2)服务器端判断接收到的抽奖条件数据是否会超出其存储的缓存队列,如果会,则向移动端的用户返回当前缓存队列已满的提示信息,然后过程结束,否则进入步骤(3); (3)服务器端根据接收到的移动端的用户的ID和服务器端存储的缓存队列判断该用户在同一预设时间段内是否进行了超过一次的抽奖操作,如果是则向用户返回重复设置抽奖的提示信息,然后过程结束,否则转步骤(4); (4)服务器端将接收到的该移动端的用户的ID、以及设置好的抽奖条件数据存储在其缓存队列中,并把当前的时间戳返回给移动端以便存储; (5)服务器端监听其缓存队列,并在其自身的当前时间已经等于抽奖条件数据中的抽奖结束时间时将缓存队列中该移动端的用户的ID、以及设置好的抽奖条件数据存储在数据库中; (6)服务器端根据数据库中的该抽奖条件数据查询该数据库中对应礼物的历史流水,并根据查询到的历史流水筛选出可参与抽奖的用户ID; (7)移动端使用步骤(4)中存储的时间戳向服务器端发送用户抽奖请求,该请求中包括用户ID; (8)服务器端接收来自移动端的用户抽奖请求,并判断当前时间是否处于抽奖条件数据中的抽奖开始时间与抽奖结束时间之间,若是,则进入步骤(9),否则向移动端的用户发送不在抽奖时间段的提示信息,过程结束; (9)服务器端判断该用户抽奖请求对应的用户ID是否处于步骤(6)所确定的多个用户ID中,如果是则根据用户的时间戳为用户随机生成抽奖礼物,然后过程结束,否则向用户发送其不是合法抽奖用户的通知,过程结束。2.根据权利要求1所述的方法,其特征在于,步骤(I)中的用户ID是以令牌的形式发送,开始时间不超过当前时间的前一个月,结束时间不晚于当前时间的后15分钟。3.根据权利要求1所述的方法,其特征在于,缓存数据库是Redis,缓存队列是线性表,其只允许在队头进行删除操作,在队尾进行插入操作。4.根据权利要求1所述的方法,其特征在于,步骤(6)中礼物的历史流水格式是“用户ID+礼物类型+礼物数量+礼物赠送的时间”,步骤(6)具体是在历史流水中确定所有大于礼物数量阈值的所有流水及该流水对应的所有用户ID。5.—种用于在直播网站移动端中实现抽奖的系统,其特征在于,包括: 第一模块,用于移动端设置抽奖条件数据,包括抽奖的开始时间、结束时间、抽奖能获得的礼物的数量,并将使用该移动端的用户的ID、以及设置好的抽奖条件数据发送到服务器端; 第二模块,用于服务器端判断接收到的抽奖条件数据是否会超出其存储的缓存队列,如果会,则向移动端的用户返回当前缓存队列已满的提示信息,然后过程结束,否则进入第三模块; 第三模块,用于服务器端根据接收到的移动端的用户的ID和服务器端存储的缓存队列判断该用户在同一预设时间段内是否进行了超过一次的抽奖操作,如果是则向用户返回重复设置抽奖的提示信息,然后过程结束,否则转第四模块; 第四模块,用于服务器端将接收到的该移动端的用户的ID、以及设置好的抽奖条件数据存储在其缓存队列中,并把当前的时间戳返回给移动端以便存储; 第五模块,用于服务器端监听其缓存队列,并在其自身的当前时间已经等于抽奖条件数据中的抽奖结束时间时将缓存队列中该移动端的用户的ID、以及设置好的抽奖条件数据存储在数据库中; 第六模块,用于服务器端根据数据库中的该抽奖条件数据查询该数据库中对应礼物的历史流水,并根据查询到的历史流水筛选出可参与抽奖的用户ID; 第七模块,用于移动端使用第四模块中存储的时间戳向服务器端发送用户抽奖请求,该请求中包括用户ID; 第八模块,用于服务器端接收来自移动端的用户抽奖请求,并判断当前时间是否处于抽奖条件数据中的抽奖开始时间与抽奖结束时间之间,若是,则进入第九模块,否则向移动端的用户发送不在抽奖时间段的提示信息,过程结束; 第九模块,用于服务器端判断该用户抽奖请求对应的用户ID是否处于第六模块所确定的多个用户ID中,如果是则根据用户的时间戳为用户随机生成抽奖礼物,然后过程结束,否则向用户发送其不是合法抽奖用户的通知,过程结束。6.根据权利要求5所述的系统,其特征在于,第一模块中的用户ID是以令牌的形式发送,开始时间不超过当前时间的前一个月,结束时间不晚于当前时间的后15分钟。7.根据权利要求5所述的系统,其特征在于,缓存数据库是Redis,缓存队列是线性表,其只允许在队头进行删除操作,在队尾进行插入操作。8.根据权利要求5所述的系统,其特征在于,第六模块中礼物的历史流水格式是“用户ID+礼物类型+礼物数量+礼物赠送的时间”,第六模块具体是在历史流水中确定所有大于礼物数量阈值的所有流水及该流水对应的所有用户ID。
【文档编号】H04N21/475GK106028165SQ201610431930
【公开日】2016年10月12日
【申请日】2016年6月17日
【发明人】李东波
【申请人】武汉斗鱼网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1