一种数据发送方法和装置制造方法

文档序号:7778584阅读:112来源:国知局
一种数据发送方法和装置制造方法
【专利摘要】本发明公开了一种数据发送方法和装置,涉及计算机领域。所述方法包括:获取待分配的分配数据,以及待分配的第一时间节点和第二时间节点;获取所述分配数据中分配数据的总数N,在第一时间节点和第二时间节点之间随机确定N个互不相同的时间节点i;将每个时间节点i与分配数据进行对应,并按序将分配数据放入数据队列中;当接收到客户端的数据获取请求后,根据所述数据获取请求的发起时间点和时间节点i,确定客户端是否具备根据所述数据队列获取分配数据的权限;当客户端具备所述权限,则根据所述数据队列获取分配数据发送给所述客户端。本发明方便维护、可降低系统资源的占用、还可提高数据性能,在统计分配数据时可提高统计效率。
【专利说明】一种数据发送方法和装置
【技术领域】
[0001]本发明涉及计算机领域,具体涉及一种数据发送方法和装置。
【背景技术】
[0002]现有技术中存在一种数据发送的方法,即一段时间的某在指定的时间点,将有限的待分配的数据的权限对客户端公开,由客户发送请求按任意顺序获取这些待分配数据,但是该种一次性全部放开权限、任意获取待分配数据的方式,对于系统来说,维持每个待分配的数据,等待符合初步要求的客户端进行提取,系统资源占用较高,影响系统性能,并且由待分配数据被任意获取,最后在系统统计哪些分配数据未发出、哪些数据已发出时,也需要遍历每个分配数据,资源占用高,速度慢、效率低。
[0003]对应上述的数据发送方法,下面以一个应用场景进行说明:
[0004]现在很多网站会在某些时间段进行促销等活动,可能在活动期间设置抽奖活动,现有技术中,其服务器在活动期间的指定时刻将奖品数据的发放权限完全开放,当客户端用户点击抽奖,其达到抽奖概率,则服务器则从这些奖品数据中提取一个分配给该客户端用户,到抽奖时间结束,再统计哪些奖品数据发出去了哪些没发出去,其执行过程与前述过程基本类似,因此对于系统来说,每个待分配数据相当于存在一个队列,等待符合初步要求的客户端进行提取,系统资源占用较高,影响系统性能,并且由待分配数据被任意获取,最后在系统统计哪些分配数据未发出、哪些数据已发出时,也需要遍历每个分配数据,资源占用高,速度慢、效率低;并且其奖品数据可能在瞬间就发放完,剩余时间就没有可发的奖品数据。

【发明内容】

[0005]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种数据发送和相应的一种数据发送方法。
[0006]依据本发明的一个方面,提供了本发明公开了一种数据发送方法,包括:
[0007]获取待分配的分配数据,以及待分配的第一时间节点和第二时间节点;
[0008]获取所述分配数据中分配数据的总数N,在第一时间节点和第二时间节点之间随机确定N个互不相同的时间节点i;
[0009]将每个时间节点i与分配数据进行对应,并按序将分配数据放入数据队列中;
[0010]当接收到客户端的数据获取请求后,根据所述数据获取请求的发起时间点和时间节点i,确定客户端是否具备根据所述数据队列获取分配数据的权限;
[0011]当客户端具备所述权限,则根据所述数据队列获取分配数据发送给所述客户端。
[0012]可选的,所述按序将分配数据放入数据队列中包括:
[0013]根据分配数据的权限属性,在所属权限属性的数据队列中按时间节点顺序将分配数据进行存放。
[0014]可选的,根据分配数据的属性,在所属属性的数据队列中按时间节点顺序将分配数据进行存放包括:
[0015]将具备可重复发放权限属性的分配数据,按时间节点顺序将分配数据放入第一数据队列;
[0016]将具备不可重复发放权限属性的分配数据,按时间节点顺序将分配数据放入第二数据队列。
[0017]可选的,还包括:
[0018]当接收到客户端的数据获取请求后,根据所述请求提取分配记录表中该客户端的分配数据获取记录;
[0019]当记录客户端已获取具备不可重复发放权限属性的分配数据,则禁止当前客户端根据所述数据队列获取分配数据;
[0020]当记录客户端未获取具备不可重复发放权限属性的分配数据,则允许当前客户端根据所述数据队列获取分配数据。
[0021]可选的,还包括:
[0022]当接收到客户端的数据获取请求后,如果所述数据队列中的分配数据发放完毕,则提示客户端分配数据已发放完毕。
[0023]可选的,所述当接收到客户端的数据获取请求后,根据所述数据获取请求的发起时间点和时间节点i,确定客户端是否具备根据所述数据队列获取分配数据的权限包括:
[0024]基于对应所述数据队列的时间节点,判断发起时间点是否达到或者超过的一时间节点i ;
[0025]如果未达到任何时间节点i,则确定所述客户端不具备获取数据队列的分配数据的权限;
[0026]如果达到或者超过的一时间节点i,则确定所述客户端具备获取数据队列排头的分配数据的权限。
[0027]可选的,所述当接收到客户端的数据获取请求后,根据所述数据获取请求的发起时间点和时间节点i,确定客户端是否具备根据所述数据队列获取分配数据的权限之前还包括:
[0028]为客户端随机分配一概率数值,当所述概率数值不符合阈值要求,则禁止该客户端根据所述数据队列获取分配数据。
[0029]可选的,所述当接收到客户端的数据获取请求后,根据所述数据获取请求的发起时间点和时间节点i,确定客户端是否具备根据所述数据队列获取分配数据的权限之前还包括:
[0030]判断客户端发送的数据获取请求的次数是否超过阈值;如果超过,则禁止该客户端根据所述数据队列获取分配数据。
[0031]本发明还公开了一种数据发送装置,包括:
[0032]数据获取模块,适于获取待分配的分配数据,以及待分配的第一时间节点和第二时间节点;
[0033]打点模块,适于获取所述分配数据中分配数据的总数N,在第一时间节点和第二时间节点之间随机确定N个互不相同的时间节点i ;
[0034]队列存放模块,适于将每个时间节点i与分配数据进行对应,并按序将分配数据放入数据队列中;
[0035]权限分析模块,适于当接收到客户端的数据获取请求后,根据所述数据获取请求的发起时间点和时间节点i,确定客户端是否具备根据所述数据队列获取分配数据的权限;
[0036]数据发送模块,适于当客户端具备所述权限,则根据所述数据队列获取分配数据发送给所述客户端。
[0037]可选的,所述队列存放模块包括:
[0038]属性队列存放模块,适于根据分配数据的权限属性,在所属权限属性的数据队列中按时间节点顺序将分配数据进行存放。
[0039]可选的,所述属性队列存放模块包括:
[0040]第一队列存放模块,适于将具备可重复发放权限属性的分配数据,按时间节点顺序将分配数据放入第一数据队列;
[0041]第二队列存放模块,适于将具备不可重复发放权限属性的分配数据,按时间节点顺序将分配数据放入第二数据队列。
[0042]可选的,还包括:
[0043]记录提取模块,适于当接收到客户端的数据获取请求后,根据所述请求提取分配记录表中该客户端的分配数据获取记录;
[0044]第一权限分析模块,适于当记录客户端已获取具备不可重复发放权限属性的分配数据,则禁止当前客户端根据所述数据队列获取分配数据;
[0045]第二权限分析模块,适于当记录客户端未获取具备不可重复发放权限属性的分配数据,则允许当前客户端根据所述数据队列获取分配数据。
[0046]可选的,还包括:
[0047]完毕判断模块,适于当接收到客户端的数据获取请求后,如果所述数据队列中的分配数据发放完毕,则提示客户端分配数据已发放完毕。
[0048]可选的,所述权限分析模块包括:
[0049]时间点判断模块,适于基于对应所述数据队列的时间节点,判断发起时间点是否达到或者超过的一时间节点i ;
[0050]第一队列数据判断模块,适于如果未达到任何时间节点i,则确定所述客户端不具备获取数据队列的分配数据的权限;
[0051]第二队列数据判断模块,适于如果达到或者超过的一时间节点i,则确定所述客户端具备获取数据队列排头的分配数据的权限。
[0052]可选的,所述权限分析模块还包括:
[0053]第三权限分析模块,适于为客户端随机分配一概率数值,当所述概率数值不符合阈值要求,则禁止该客户端根据所述数据队列获取分配数据。
[0054]可选的,所述当接收到客户端的数据获取请求后,根据所述数据获取请求的发起时间点和时间节点i,确定客户端是否具备根据所述数据队列获取分配数据的权限时还包括:
[0055]第四权限分析模块,适于判断客户端发送的数据获取请求的次数是否超过阈值;如果超过,则禁止该客户端根据所述数据队列获取分配数据。[0056]根据本发明的一种数据发送方法可以将获取所述分配数据中分配数据的总数N,在第一时间节点和第二时间节点之间随机确定N个互不相同的时间节点i,然后将每个时间节点i与分配数据进行对应,并按序将分配数据放入数据队列中,当接收到客户端的数据获取请求后,根据所述数据获取请求的发起时间点和时间节点i,确定客户端是否具备根据所述数据队列获取分配数据的权限,当客户端具备所述权限,则根据所述数据队列获取分配数据发送给所述客户端,由此解决了对于系统来说,维持每个待分配的数据,等待符合初步要求的客户端进行提取,系统资源占用较高,影响系统性能,并且由待分配数据被任意获取,最后在系统统计哪些分配数据未发出、哪些数据已发出时,也需要遍历每个分配数据,资源占用高,速度慢、效率低的问题取得了在分配数据时方便维护、降低系统资源的占用、提高数据性能,在最后统计分配数据时,降低系统资源的占用、提高统计效率的有益效果。
[0057]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【专利附图】

【附图说明】
[0058]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0059]图1示出了根据本发明一个实施例的一种数据发送方法的流程示意图;
[0060]图2示出了根据本发明一个实施例的一种数据发送方法的流程示意图;
[0061]图2a示出了根据本发明一个实施例的上传后的奖品列表示例;
[0062]图2b示出了根据本发明一个实施例的上传奖品数据界面示例;
[0063]图3示出了根据本发明一个实施例的一种数据发送装置的结构示意图;
[0064]图4示出了根据本发明一个实施例的一种数据发送装置的结构示意图。
【具体实施方式】
[0065]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0066]实施例一
[0067]参照图1,其示出了本发明一种数据发送方法的流程示意图,具体可以包括:
[0068]步骤102,获取待分配的分配数据,以及待分配的第一时间节点和第二时间节点;
[0069]在本发明实施例中,以在网络平台中发放奖品数据的应用场景为例进行说明,则所述的分配数据则可为奖品数据,本发明不对具体的应用场景加以限制。
[0070]比如网络平台设置了 N个奖项,则技术人员上传N个奖项的奖品数据,然后设置待分配的时间段,该时间段由第一时间节点和第二时间节点确定,比如2013-9-3023:592013-10-300:00。[0071]步骤104,获取所述分配数据中分配数据的总数N,在第一时间节点和第二时间节点之间随机确定N个互不相同的时间节点i;
[0072]在获取到奖品数据和第一时间节点timel和第二时间节点time2后,获取奖品数
据的总个数N,在timel和time2之间随机选择N个互不相同的时间节点ti (i=l, 2,3......N),在本发明实施例中,可随机均匀的选择N个互不相同的时间节点。
[0073]步骤106,将每个时间节点i与分配数据进行对应,并按序将分配数据放入数据队列中;
[0074]将N奖品数据分别对应一个时间节点,该对应可随机对应,也可按奖品等级逐级对应,然后将对应时间节点的奖品数据按时间先后顺序存入数据队列中。在本发明实施例中,可将奖品的标识存入队列中。
[0075]优选的,所述按序将分配数据放入数据队列中包括:
[0076]A12,根据分配数据的权限属性,在所属权限属性的数据队列中按时间节点顺序将分配数据进行存放。
[0077]在实际中,奖品数据可设置权限属性,比如不可重复发放权限属性,即针对该奖品数据,服务器只能将该类奖品数据给同一客户端用户发放一次,同一客户端只可以获取一个该种奖品个数。比如可重复发放权限属性,即针对该奖品数据,服务器可以重复发放给同一客户端用户,同一客户端只可以获取多个该种奖品个数。另外,可重复发放权限属性中还可设置多种可重复发放属性,比如可重复发放2次、3次等,针对每种属性设置一个队列。
[0078]进一步的,根据分配数据的属性,在所属属性的数据队列中按时间节点顺序将分配数据进行存放包括:
[0079]步骤A22,将具备可重复发放权限属性的分配数据,按时间节点顺序将分配数据放入第一数据队列;
[0080]比如设置Ml张优惠券、M2张电影票为可重复发放权限,那么服务器可针对同一 ID发送多个优惠券,同一 ID也可重复获取优惠券、电影票,即可将该类奖品数据按对应的时间节点i的先后顺序放入可重复发放队列,即第一数据队列。
[0081]步骤A24,将具备不可重复发放权限属性的分配数据,按时间节点顺序将分配数据放入第二数据队列。
[0082]比如设置M3台手机为可重复发放权限,那么服务器只能针对同一 ID发送I个优惠券,同一 ID也只能获取I台手机,即可将该类奖品数据或者时间节点i按对应的时间节点i的先后顺序放入不可重复发放队列,即第二数据队列。
[0083]当然本申请中还可能存在其他权限属性的奖品数据,可相应的构建数据队列,将相应权限属性的奖品数据或者时间节点放入对应的数据队列中。
[0084]步骤108,当接收到客户端的数据获取请求后,根据所述数据获取请求的发起时间点和时间节点i,确定客户端是否具备根据所述数据队列获取分配数据的权限;
[0085]比如用户在客户端中点击抽奖,客户端接收到该点击抽奖的动作后,生成数据获取请求,将所述数据获取请求发送给服务器,服务器接收到所述数据获取请求后,即可分析所述数据获取请求的发起时间点。在本发明实施例中,可在客户端侧封装数据获取请求时将其当前系统时间作为发起时间点封装在内,由服务器侧进行解析;也可由服务器侧在接收到所述数据获取请求时,将接收时刻作为发起时间点。[0086]然后将发起时间点与数据队列对应的时间节点进行比较,判断客户端是否具备根据所述数据队列获取分配数据的权限。
[0087]优选的,所述当接收到客户端的数据获取请求后,根据所述数据获取请求的发起时间点和时间节点i,确定客户端是否具备根据所述数据队列获取分配数据的权限之前还包括:
[0088]步骤A26,为客户端随机分配一概率数值,当所述概率数值不符合阈值要求,则禁止该客户端根据所述数据队列获取分配数据。
[0089]本步骤可以理解为计算客户端的中奖概率。比如当服务器接收到抽奖请求后,执行抽奖概率脚本,计算一抽奖概率分配给该客户端用户,如果满足概率则允许进入步骤108。
[0090]优选的,所述当接收到客户端的数据获取请求后,根据所述数据获取请求的发起时间点和时间节点i,确定客户端是否具备根据所述数据队列获取分配数据的权限时还包括:
[0091]步骤A28,判断客户端发送的数据获取请求的次数是否超过阈值;如果超过,则禁止该客户端根据所述数据队列获取分配数据。
[0092]可以理解本步骤为用户抽奖次数,当用户点击抽奖的次数超过阈值(比如3次),则不允许其进入步骤108,如果未超过阈值,则允许其进入步骤108。
[0093]优选的,所述当接收到客户端的数据获取请求后,根据所述数据获取请求的发起时间点和时间节点i,确定客户端是否具备根据所述数据队列获取分配数据的权限包括
[0094]步骤A31,基于对应所述数据队列的时间节点,判断发起时间点是否达到或者超过的一时间节点i ;
[0095]或者队列从排头开始有奖品数据“奖品1、奖品2”,其对应的“tl、t2……”的时间节点。
[0096]步骤A32,如果未达到任何时间节点i,则确定所述客户端不具备获取数据队列的分配数据的权限;
[0097]比如用户在tl时间节点之前t0时刻点击抽奖,由于队列中所有数据均大于t0,则用户无法获取数据队列中任何奖品数据。
[0098]步骤A34,如果达到或者超过的一时间节点i,则确定所述客户端具备获取数据队列排头的分配数据的权限;
[0099]如果用户在[tl,t2)区间中点击抽奖,则判断数据队列中tl之前是否还有奖品,实际上没有,用户可抽取奖品I。
[0100]如果用户在[t2,t3)区间点击抽奖,则判断数据队列中t2之前是否还有奖品,如果tl的奖品I未被抽中,则队列中还有tl的奖品1,则为该用户分配奖品1,如果tl的奖品被抽中,则队列中不存在tl的奖品I 了,则为该用户分配奖品2。
[0101]其他情况以此类推。
[0102]另外,还包括:
[0103]步骤A36,当接收到客户端的数据获取请求后,如果所述数据队列中的分配数据发放完毕,则提示客户端分配数据已发放完毕。
[0104]即数据队列中所有的奖品数据被发放完毕,则新的客户端用户即使中奖也无法获取奖品数据,则服务器会客户端分配数据已发放完毕。
[0105]步骤110,当客户端具备所述权限,则根据所述数据队列获取分配数据发送给所述
客户端。
[0106]当判断该用户能够获取数据队列中的奖品后,则根据所述数据队列获取分配数据,发送给所述客户端。比如当数据队列中存储的是分配数据的标识时,则根据所述标识提取实际的奖品信息发送给客户端用户。在实际中,比如用户抽中了优惠券,则可从数据表中提取优惠码发送给客户端用户;比如用户抽中了手机,则将验证码和奖品信息发送给客户端客户。
[0107]在本发明实施例中,可从数据队列排头开始获取相应的分配数据,发送给客户端,然后将发送的分配数据从队列中剔除。
[0108]在本发明实施例中,可将待分配的分配数据的标识放入数据队列,与实际存储的待分配数据进行对应。在发送分配数据时,根据分配数据标识从数据库中提取分配数据发送给客户端。
[0109]本发明实施例可以将获取所述分配数据中分配数据的总数N,在第一时间节点和第二时间节点之间随机确定N个互不相同的时间节点i,然后将每个时间节点i与分配数据进行对应,并按序将分配数据放入数据队列中,当接收到客户端的数据获取请求后,根据所述数据获取请求的发起时间点和时间节点i,确定客户端是否具备根据所述数据队列获取分配数据的权限,当客户端具备所述权限,则根据所述数据队列获取分配数据发送给所述客户端,由此解决了对于系统来说,维持每个待分配的数据,等待符合初步要求的客户端进行提取,系统资源占用较高,影响系统性能,并且由待分配数据被任意获取,最后在系统统计哪些分配数据未发出、哪些数据已发出时,也需要遍历每个分配数据,资源占用高,速度慢、效率低的问题取得了在分配数据时方便维护、降低系统资源的占用、提高数据性能,在最后统计分配数据时,降低系统资源的占用、提高统计效率的有益效果。
[0110]实施例二
[0111]参照图2,其示出了本发明一种数据发送方法的流程示意图,具体可以包括:
[0112]步骤202,服务器获取待分配的分配数据,以及待分配的第一时间节点和第二时间节点;
[0113]如图2a本发明可设置活动时间段,然后设奖品分配时间段,比如特供机周年活动的活动日期定为2013-6-19 23:55至2013-7-6 00:00,而发放日期定为2013-6-22 23:55至2013-7-4 00:00,发放时间定为8时至22时。
[0114]在本发明实施例中,对于网络平台发放奖品数据,可首先上传奖品数据以及发送时间。如图2a,其为上传后获得的奖品列表,总共包括4个等级的奖品。在奖品列表中还可进行奖品数据的编辑和删除工作。如图2b为上传奖品数据界面示例的截图,技术人员可通过图2b的接口上传待分配数据,如图所示奖品数据指奖品的附加数据如优惠码等,文件格式可为csv格式,行数和奖品数量相等并且一一对应,每行最多三个字段,字段名称为infol, info2, info3,字段之间用“,”隔开;奖品描述中含有掩码,如#drawdesc#,#infol#,用户抽中奖后会被替换成实际的信息,返回给用户。
[0115]在本发明实施例中,如果调整了活动的开始时间,开始时间以前随机确定的时间节点自动无效,只要时间节点没有过,都可以随意重新调整发放密度和发放时间段,可以保证不会多发或者漏发,极大的简便了运营的工作。
[0116]步骤204,服务器获取所述分配数据中分配数据的总数N,在第一时间节点和第二时间节点之间随机确定N个互不相同的时间节点i ;
[0117]步骤206,服务器将每个时间节点i与分配数据进行对应,将具备可重复发放权限属性的分配数据,按时间节点顺序将分配数据放入第一数据队列;将具备不可重复发放权限属性的分配数据,按时间节点顺序将分配数据放入第二数据队列。
[0118]步骤208,客户端发送获取数据请求到服务器;
[0119]数据获取请求可包括用户ID、密码等身份信息,可包括点击抽奖的发起时间点,还可包括当前抽奖次数等。
[0120]步骤210,服务器接收所述数据获取请求,验证客户端身份是否合法;如果合法进入步骤212,如果不合法进入步骤216 ;
[0121]比如用户ID和密码是否正确等身份信息验证。
[0122]步骤212,服务器验证客户端的抽奖次数是否超过阈值,如果未超过,则进入步骤214,如果超过,进入步骤216;
[0123]步骤214,服务器基于对应所述数据队列的时间节点,判断发起时间点是否达到或者超过的一时间节点i ;如果达到或者超过的一时间节点i,进入步骤218 ;如果未达到任何时间节点i,则进入步骤216 ;
[0124]步骤216,则确定所述客户端不具备获取数据队列的分配数据的权限;
[0125]步骤218,则确定所述客户端具备获取数据队列排头的分配数据的权限;
[0126]还可通知客户端未能获取分配数据。本发明可根据实际情况进行通知,比如抽奖次数不够,奖品已经抽完,身份信息错误等等。
[0127]步骤220,当客户端具备所述权限,根据所述数据队列获取分配数据发送给所述客户端,并将队列中被发送的分配数据剔除。
[0128]本实施例各步骤原理与实施例一介绍的步骤原理类似,在此不再详述。
[0129]实施例三
[0130]参照图3,其示出了一种数据发送装置的结构示意图,包括:
[0131]数据获取模块302,适于获取待分配的分配数据,以及待分配的第一时间节点和第二时间节点;
[0132]打点模块304,适于获取所述分配数据中分配数据的总数N,在第一时间节点和第二时间节点之间随机确定N个互不相同的时间节点i ;
[0133]队列存放模块306,适于将每个时间节点i与分配数据进行对应,并按序将分配数据放入数据队列中;
[0134]权限分析模块308,适于当接收到客户端的数据获取请求后,根据所述数据获取请求的发起时间点和时间节点i,确定客户端是否具备根据所述数据队列获取分配数据的权限;
[0135]数据发送模块310,适于当客户端具备所述权限,则根据所述数据队列获取分配数据发送给所述客户端。
[0136]优选的,所述队列存放模块包括:
[0137]属性队列存放模块,适于根据分配数据的权限属性,在所属权限属性的数据队列中按时间节点顺序将分配数据进行存放。
[0138]优选的,所述属性队列存放模块包括:
[0139]第一队列存放模块,适于将具备可重复发放权限属性的分配数据,按时间节点顺序将分配数据放入第一数据队列;
[0140]第二队列存放模块,适于将具备不可重复发放权限属性的分配数据,按时间节点顺序将分配数据放入第二数据队列。
[0141]优选的,还包括:
[0142]记录提取模块,适于当接收到客户端的数据获取请求后,根据所述请求提取分配记录表中该客户端的分配数据获取记录;
[0143]第一权限分析模块,适于当记录客户端已获取具备不可重复发放权限属性的分配数据,则禁止当前客户端根据所述数据队列获取分配数据;
[0144]第二权限分析模块,适于当记录客户端未获取具备不可重复发放权限属性的分配数据,则允许当前客户端根据所述数据队列获取分配数据。
[0145]优选的,还包括:
[0146]完毕判断模块,适于当接收到客户端的数据获取请求后,如果所述数据队列中的分配数据发放完毕,则提示客户端分配数据已发放完毕。
[0147]优选的,所述权限分析模块包括:
[0148]时间点判断模块,适于基于对应所述数据队列的时间节点,判断发起时间点是否达到或者超过的一时间节点i ;
[0149]第一队列数据判断模块,适于如果未达到任何时间节点i,则确定所述客户端不具备获取数据队列的分配数据的权限;
[0150]第二队列数据判断模块,适于如果达到或者超过的一时间节点i,则确定所述客户端具备获取数据队列排头的分配数据的权限。
[0151]优选的,所述权限分析模块还包括:
[0152]第三权限分析模块,适于为客户端随机分配一概率数值,当所述概率数值不符合阈值要求,则禁止该客户端根据所述数据队列获取分配数据。
[0153]优选的,所述当接收到客户端的数据获取请求后,根据所述数据获取请求的发起时间点和时间节点i,确定客户端是否具备根据所述数据队列获取分配数据的权限时还包括:
[0154]第四权限分析模块,适于判断客户端发送的数据获取请求的次数是否超过阈值;如果超过,则禁止该客户端根据所述数据队列获取分配数据。
[0155]实施例四
[0156]参照图4,其示出了一种数据发送系统的结构示意图,包括:
[0157]服务器和客户端:
[0158]所述服务器400包括:
[0159]数据获取模块402,获取待分配的分配数据,以及待分配的第一时间节点和第二时间节点;
[0160]打点模块404,适于获取所述分配数据中分配数据的总数N,在第一时间节点和第二时间节点之间随机确定N个互不相同的时间节点i ;[0161]队列存放模块406,适于将每个时间节点i与分配数据进行对应,将具备可重复发放权限属性的分配数据,按时间节点顺序将分配数据放入第一数据队列;将具备不可重复发放权限属性的分配数据,按时间节点顺序将分配数据放入第二数据队列;
[0162]第一验证模块408,适于接收所述数据获取请求,验证客户端身份是否合法;
[0163]第二验证模块410,验证客户端的抽奖次数是否超过阈值;
[0164]时间判断模块412,适于基于对应所述数据队列的时间节点,判断发起时间点是否达到或者超过的一时间节点i ;
[0165]第一权限分析模块414,适于如果未达到任何时间节点i,则确定所述客户端不具备获取数据队列的分配数据的权限;
[0166]第二权限分析模块416,适于如果达到或者超过的一时间节点i,则确定所述客户端具备获取数据队列排头的分配数据的权限;
[0167]数据发送模块418,适于当客户端具备所述权限,根据所述数据队列获取分配数据发送给所述客户端,并将队列中被发送的分配数据剔除。
[0168]所述客户端500包括:
[0169]请求发送模块502,适于客户端发送获取数据请求到服务器。
[0170]在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0171]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0172]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身都作为本发明的单独实施例。
[0173]本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0174]此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0175]本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP )来实现根据本发明实施例的数据发送设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0176]应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0177]本发明公开了 Al、一种数据发送方法,包括:
[0178]获取待分配的分配数据,以及待分配的第一时间节点和第二时间节点;
[0179]获取所述分配数据中分配数据的总数N,在第一时间节点和第二时间节点之间随机确定N个互不相同的时间节点i;
[0180]将每个时间节点i与分配数据进行对应,并按序将分配数据放入数据队列中;
[0181]当接收到客户端的数据获取请求后,根据所述数据获取请求的发起时间点和时间节点i,确定客户端是否具备根据所述数据队列获取分配数据的权限;
[0182]当客户端具备所述权限,则根据所述数据队列获取分配数据发送给所述客户端。
[0183]A2、如Al所述的方法,其特征在于,所述按序将分配数据放入数据队列中包括:
[0184]根据分配数据的权限属性,在所属权限属性的数据队列中按时间节点顺序将分配数据进行存放。
[0185]A3、如A2所述的方法,其特征在于,根据分配数据的属性,在所属属性的数据队列中按时间节点顺序将分配数据进行存放包括:
[0186]将具备可重复发放权限属性的分配数据,按时间节点顺序将分配数据放入第一数据队列;
[0187]将具备不可重复发放权限属性的分配数据,按时间节点顺序将分配数据放入第二数据队列。
[0188]A4、如A3所述的方法,其特征在于,还包括:
[0189]当接收到客户端的数据获取请求后,根据所述请求提取分配记录表中该客户端的分配数据获取记录;
[0190]当记录客户端已获取具备不可重复发放权限属性的分配数据,则禁止当前客户端根据所述数据队列获取分配数据;
[0191]当记录客户端未获取具备不可重复发放权限属性的分配数据,则允许当前客户端根据所述数据队列获取分配数据。
[0192]A5、如Al所述的方法,其特征在于,还包括:
[0193]当接收到客户端的数据获取请求后,如果所述数据队列中的分配数据发放完毕,则提示客户端分配数据已发放完毕。
[0194]A6、如Al所述的方法,其特征在于,所述当接收到客户端的数据获取请求后,根据所述数据获取请求的发起时间点和时间节点i,确定客户端是否具备根据所述数据队列获取分配数据的权限包括:
[0195]基于对应所述数据队列的时间节点,判断发起时间点是否达到或者超过的一时间节点i ;
[0196]如果未达到任何时间节点i,则确定所述客户端不具备获取数据队列的分配数据的权限;
[0197]如果达到或者超过的一时间节点i,则确定所述客户端具备获取数据队列排头的分配数据的权限。
[0198]A7、如Al至A6其中之一所述的方法,其特征在于,所述当接收到客户端的数据获取请求后,根据所述数据获取请求的发起时间点和时间节点i,确定客户端是否具备根据所述数据队列获取分配数据的权限之前还包括: [0199]为客户端随机分配一概率数值,当所述概率数值不符合阈值要求,则禁止该客户端根据所述数据队列获取分配数据。
[0200]A8、如Al至A6其中之一所述的方法,其特征在于,所述当接收到客户端的数据获取请求后,根据所述数据获取请求的发起时间点和时间节点i,确定客户端是否具备根据所述数据队列获取分配数据的权限之前还包括:
[0201]判断客户端发送的数据获取请求的次数是否超过阈值;如果超过,则禁止该客户端根据所述数据队列获取分配数据。
[0202]本发明还公开了 B9、一种数据发送装置,包括:
[0203]数据获取模块,适于获取待分配的分配数据,以及待分配的第一时间节点和第二时间节点;
[0204]打点模块,适于获取所述分配数据中分配数据的总数N,在第一时间节点和第二时间节点之间随机确定N个互不相同的时间节点i ;
[0205]队列存放模块,适于将每个时间节点i与分配数据进行对应,并按序将分配数据放入数据队列中;
[0206]权限分析模块,适于当接收到客户端的数据获取请求后,根据所述数据获取请求的发起时间点和时间节点i,确定客户端是否具备根据所述数据队列获取分配数据的权限;
[0207]数据发送模块,适于当客户端具备所述权限,则根据所述数据队列获取分配数据发送给所述客户端。
[0208]BlO^n B9所述的装置,其特征在于,所述队列存放模块包括:
[0209]属性队列存放模块,适于根据分配数据的权限属性,在所属权限属性的数据队列中按时间节点顺序将分配数据进行存放。
[0210]B11、如BlO所述的装置,其特征在于,所述属性队列存放模块包括:
[0211]第一队列存放模块,适于将具备可重复发放权限属性的分配数据,按时间节点顺序将分配数据放入第一数据队列;
[0212]第二队列存放模块,适于将具备不可重复发放权限属性的分配数据,按时间节点顺序将分配数据放入第二数据队列。
[0213]B12、如Bll所述的装置,其特征在于,还包括:
[0214]记录提取模块,适于当接收到客户端的数据获取请求后,根据所述请求提取分配记录表中该客户端的分配数据获取记录;
[0215]第一权限分析模块,适于当记录客户端已获取具备不可重复发放权限属性的分配数据,则禁止当前客户端根据所述数据队列获取分配数据;
[0216]第二权限分析模块,适于当记录客户端未获取具备不可重复发放权限属性的分配数据,则允许当前客户端根据所述数据队列获取分配数据。
[0217]B13、如B9所述的装置,其特征在于,还包括:
[0218]完毕判断模块,适于当接收到客户端的数据获取请求后,如果所述数据队列中的分配数据发放完毕,则提示客户端分配数据已发放完毕。
[0219]B14、如B9所述的装置,其特征在于,所述权限分析模块包括:
[0220]时间点判断模块,适于基于对应所述数据队列的时间节点,判断发起时间点是否达到或者超过的一时间节点i ;
[0221]第一队列数据判断模块,适于如果未达到任何时间节点i,则确定所述客户端不具备获取数据队列的分配数据的权限;
[0222]第二队列数据判断模块,适于如果达到或者超过的一时间节点i,则确定所述客户端具备获取数据队列排头的分配数据的权限。
[0223]B15、如B9至B14其中之一所述的装置,其特征在于,所述权限分析模块还包括:
[0224]第三权限分析模块,适于为客户端随机分配一概率数值,当所述概率数值不符合阈值要求,则禁止该客户端根据所述数据队列获取分配数据。
[0225]B16、如B9至B14其中之一所述的装置,其特征在于,所述当接收到客户端的数据获取请求后,根据所述数据获取请求的发起时间点和时间节点i,确定客户端是否具备根据所述数据队列获取分配数据的权限时还包括:
[0226]第四权限分析模块,适于判断客户端发送的数据获取请求的次数是否超过阈值;如果超过,则禁止该客户端根据所述数据队列获取分配数据。
【权利要求】
1.一种数据发送方法,包括: 获取待分配的分配数据,以及待分配的第一时间节点和第二时间节点; 获取所述分配数据中分配数据的总数N,在第一时间节点和第二时间节点之间随机确定N个互不相同的时间节点i; 将每个时间节点i与分配数据进行对应,并按序将分配数据放入数据队列中; 当接收到客户端的数据获取请求后,根据所述数据获取请求的发起时间点和时间节点i,确定客户端是否具备根据所述数据队列获取分配数据的权限; 当客户端具备所述权限,则根据所述数据队列获取分配数据发送给所述客户端。
2.如权利要求1所述的方法,其特征在于,所述按序将分配数据放入数据队列中包括: 根据分配数据的权限属性,在所属权限属性的数据队列中按时间节点顺序将分配数据进行存放。
3.如权利要求2所述的方法,其特征在于,根据分配数据的属性,在所属属性的数据队列中按时间节点 顺序将分配数据进行存放包括: 将具备可重复发放权限属性的分配数据,按时间节点顺序将分配数据放入第一数据队列; 将具备不可重复发放权限属性的分配数据,按时间节点顺序将分配数据放入第二数据队列。
4.如权利要求3所述的方法,其特征在于,还包括: 当接收到客户端的数据获取请求后,根据所述请求提取分配记录表中该客户端的分配数据获取记录; 当记录客户端已获取具备不可重复发放权限属性的分配数据,则禁止当前客户端根据所述数据队列获取分配数据; 当记录客户端未获取具备不可重复发放权限属性的分配数据,则允许当前客户端根据所述数据队列获取分配数据。
5.如权利要求1所述的方法,其特征在于,还包括: 当接收到客户端的数据获取请求后,如果所述数据队列中的分配数据发放完毕,则提示客户端分配数据已发放完毕。
6.如权利要求1所述的方法,其特征在于,所述当接收到客户端的数据获取请求后,根据所述数据获取请求的发起时间点和时间节点i,确定客户端是否具备根据所述数据队列获取分配数据的权限包括: 基于对应所述数据队列的时间节点,判断发起时间点是否达到或者超过的一时间节点i ; 如果未达到任何时间节点i,则确定所述客户端不具备获取数据队列的分配数据的权限; 如果达到或者超过的一时间节点i,则确定所述客户端具备获取数据队列排头的分配数据的权限。
7.一种数据发送装置,包括: 数据获取模块,适于获取待分配的分配数据,以及待分配的第一时间节点和第二时间节点;打点模块,适于获取所述分配数据中分配数据的总数N,在第一时间节点和第二时间节点之间随机确定N个互不相同的时间节点i ; 队列存放模块,适于将每个时间节点i与分配数据进行对应,并按序将分配数据放入数据队列中; 权限分析模块,适于当接收到客户端的数据获取请求后,根据所述数据获取请求的发起时间点和时间节点i,确定客户端是否具备根据所述数据队列获取分配数据的权限; 数据发送模块,适于当客户端具备所述权限,则根据所述数据队列获取分配数据发送给所述客户端。
8.如权利要求7所述的装置,其特征在于,所述队列存放模块包括: 属性队列存放模块,适于根据分配数据的权限属性,在所属权限属性的数据队列中按时间节点顺序将分配数据进行存放。
9.如权利要求8所述的装置,其特征在于,所述属性队列存放模块包括: 第一队列存放模块,适于将具备可重复发放权限属性的分配数据,按时间节点顺序将分配数据放入第一数据队列; 第二队列存放模块,适于将具备不可重复发放权限属性的分配数据,按时间节点顺序将分配数据放入第二数据队列。
10.如权利要求9所述的装置,其特征在于,还包括: 记录提取模块,适于当接收到客户端的数据获取请求后,根据所述请求提取分配记录表中该客户端的分配数据获取记录; 第一权限分析模块,适于当记录客户端已获取具备不可重复发放权限属性的分配数据,则禁止当前客户端根据所述数据队列获取分配数据; 第二权限分析模块,适于当记录客户端未获取具备不可重复发放权限属性的分配数据,则允许当前客户端根据所述数据队列获取分配数据。
【文档编号】H04L29/06GK103713895SQ201310632777
【公开日】2014年4月9日 申请日期:2013年11月29日 优先权日:2013年11月29日
【发明者】季士普, 任寰 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1