基于时间间隔动态调整目标数据命中的方法和装置制造方法

文档序号:6502731阅读:162来源:国知局
基于时间间隔动态调整目标数据命中的方法和装置制造方法
【专利摘要】本申请提供了基于时间间隔动态调整目标数据命中的方法和装置。该方法包括:将任一目标数据命中事件的单位时间划分为N个时间段;向N个时间段中的每一时间段输入与该时间段对应的目标数据;接收到加入所述目标数据命中事件的请求时,识别接收到所述请求时所处的当前时间段,判断当前时间段是否还有未被命中的目标数据;在判断出当前时间段还存在未被命中的目标数据时,确定当前时间段对应的目标数据命中基数,并生成一个随机数;利用所述目标数据命中基数和随机数确定当前时间段内所述请求是否命中目标数据。采用本发明,实现了基于时间间隔动态调整目标数据的命中,均衡地实现目标数据的命中。
【专利说明】基于时间间隔动态调整目标数据命中的方法和装置

【技术领域】
[0001] 本申请涉及计算机技术,特别涉及基于时间间隔动态调整目标数据命中的方法和 装直。

【背景技术】
[0002] 现有的目标数据命中形式多种多样,而目标数据的命中策略及算法也呈现多样 化,下面以目标数据为奖品、目标数据命中为中奖为例主要描述目前比较常用的目标数据 命中方法:
[0003] 方法1,该方法1是根据每天的奖品数量,随机计算出中奖的次数,当某一用户抽 奖时的抽奖次数刚好命中该次数时,该用户中奖,反之,该用户不中奖。
[0004] 方法2,该方法2根据每天抽出奖品的数量,随机算出奖品中奖的时间,当用户在 该时间抽奖时,用户中奖,反之,该用户不中奖。
[0005] 但是,上述方法1和方法2均存在比较明显的缺点:
[0006] 方法1,其缺点很明显,假设计算出来的中奖次数是1000,那么放奖点都是1000的 倍数,这样,方法1就体现出并非真正的随机出奖,缺乏公平性,容易被恶意刷奖。
[0007] 而方法2,其也有缺点,因为在方法2中所有奖品的放奖时间都被计算出来了,这 样会造成中奖人数都集中在某些时间点,会导致这些时间点外的用户根本不可能中奖,有 失公平性。


【发明内容】

[0008] 本申请提供了基于时间间隔动态调整目标数据命中的方法和装置,以基于时间间 隔动态调整目标数据的命中,均衡地实现目标数据的命中。
[0009] 本申请提供的技术方案包括:
[0010] 一种基于时间间隔动态调整目标数据命中的方法,包括:
[0011] 将任一目标数据命中事件的单位时间划分为Ν个时间段;
[0012] 向Ν个时间段中的每一时间段输入与该时间段对应的目标数据;
[0013] 接收到加入所述目标数据命中事件的请求时,识别接收到所述请求时所处的当前 时间段,判断当前时间段是否还有未被命中的目标数据;
[0014] 在判断出当前时间段还存在未被命中的目标数据时,确定当前时间段对应的目标 数据命中基数,并生成一个随机数;
[0015] 利用所述目标数据命中基数和随机数确定当前时间段内所述请求是否命中目标 数据。
[0016] 一种基于时间间隔动态调整目标数据命中的装置,包括:
[0017] 划分单元,用于将任一目标数据命中事件的单位时间划分为Ν个时间段;
[0018] 输入单元,用于向Ν个时间段中的每一时间段输入与该时间段对应的目标数据;
[0019] 判断单元,用于接收到请求加入所述目标数据命中事件的请求时,识别接收到所 述请求时所处的当前时间段,判断当前时间段是否还有未被命中的目标数据;
[0020] 确定单元,用于在所述判断单元的判断结果为否时,确定当前时间段对应的目标 数据命中基数,并生成一个随机数;
[0021] 命中单元,用于利用所述目标数据命中基数和随机数确定当前时间段内所述请求 是否命中目标数据。
[0022] 由以上技术方案可以看出,本发明中,将活动的单位时间划分为N个时间段,并针 对每一时间段输入对应的目标数据,这样可以避免在高峰期活动一开始便瞬间输入完而在 大部分的时间里没有用户命中目标数据,最大可能的保证目标数据输入的均匀。

【专利附图】

【附图说明】
[0023] 图1为本发明实施例提供的方法流程图;
[0024] 图2为本发明实施例提供的装置结构图。

【具体实施方式】
[0025] 为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对 本发明进行详细描述。
[0026] 本发明提供的方法如图1所示:
[0027] 参见图1,图1为本发明实施例提供的方法流程图。如图1所示,该流程可包括以 下步骤:
[0028] 步骤101,将任一目标数据命中事件的单位时间划分为N个时间段。
[0029] 作为本发明的一个实施例,目标数据命中事件的单位时间可为一天,当然,也可为 其他时间,比如一周、一月等,本发明并不限定。
[0030] 至于单位时间被划分的时间段,其依赖于单位时间的定义。
[0031] 其中,当单位时间具体实现时定义为一天时,该划分出的时间段可定义为一个小 时,也可为两个小时等。
[0032] 当单位时间具体实现时定义为大于一天的时间,比如两天,或一周时,该划分出的 时间段可定义为一天,或者多个小时等。
[0033] 优选地,本发明实施例中,N如何确定,完全是基于设定的目标数据控制粒度确定 的,当目标数据的控制粒度越大,N取值越大,反之,目标数据的控制粒度越小,N取值越小。 以单位时间定义为一天,该划分出的时间段定义为小时为例,则当目标数据的控制粒度比 较大时,N可取值比较大的数值,比如为24, S卩,将目标数据命中事件的一天划分为24个小 时,而当目标数据的控制粒度较小时,N可取值比较大的数值,比如为12等,以N取值为12 为例,则当目标数据的控制粒度较小时,可将目标数据命中事件的一天划分为12个小时。
[0034] 步骤102,向N个时间段中每一时间段输入与该时间段对应的目标数据。
[0035] 本发明中,具体如何实现向N个时间段中每一时间段输入对应的目标数据,其可 通过配置文件来控制。比如,向N个时间段中预测出的请求加入所述目标数据命中事件的 用户人数多的时间段输入多的目标数据,向N个时间段中预测出的请求加入所述目标数据 命中事件的用户人数少的时间段输入少的目标数据。
[0036] 步骤103,接收到加入所述目标数据命中事件的请求时,识别接收到所述请求时所 处的当前时间段,判断当前时间段是否还有未被命中的目标数据,如果否,执行步骤104,如 果是,执行步骤105。
[0037] 本发明中,基于步骤102的描述可以知道,每一时间段对应的目标数据数量已固 定,基于此,作为本发明的一个实施例,可对每一时间段的目标数据通过一个对应的存储文 件记录。其中,当一时间段中的一目标数据被用户发送的请求命中时,则将该时间段对应的 存储文件记录的该目标数据标识为命中。
[0038] 基于此,本步骤103中,判断当前时间段是否还有未被命中的目标数据可具体为:
[0039] 从当前时间段对应的存储文件中查找是否存在未被标识为命中的目标数据,当查 找到时,则判断出当前时间段还有未被命中的目标数据,反之,判断出当前时间段没有未被 命中的目标数据。
[0040] 需要说明的是,上述针对步骤103的实现,只是一个举例,并非限定本发明。
[0041] 步骤104,提供目标数据未命中的通知。结束当前流程。
[0042] 步骤105,在判断出当前时间段还存在未被命中的目标数据时,确定当前时间段对 应的目标数据命中基数,并生成一个随机数。
[0043] 作为本发明的一个实施例,确定当前时间段对应的目标数据命中基数具体实现时 可采用以下两种方式实现:
[0044] 方式 1 :
[0045] 本方式1需要实时统计每一设定时间段内请求加入所述目标数据命中事件的用 户人数。其中,该设定时间段可依据经验预先设置,比如5分钟、10分钟等,其一般小于上述 划分出的时间段。
[0046] 基于此,本方式1下,确定当前时间段对应的目标数据命中基数包括:
[0047] 获取已统计出的距离当前时间段最近的设定时间段内的用户人数;
[0048] 将获取的用户人数作为所述目标数据命中基数。
[0049] 至此,完成方式1的描述。在方式1中,不同设定时间段内的用户人数是不同的, 这保证确定出的目标数据命中基数是动态变化的。
[0050] 方式 2 :
[0051] 本方式2下,需要根据实际经验预先为所述活动配置一个目标数据命中概率。
[0052] 基于此,本方式2下,所述确定当前时间段对应的目标数据命中基数包括:
[0053] 步骤al,计算所述目标数据命中概率的倒数;
[0054] 步骤a2,利用所述目标数据命中概率的倒数和所述当前时间段内的目标数据数量 计算当前时间段对应的目标数据命中基数。
[0055] 其中,以目标数据命中概率为p为例,则步骤a2可通过以下算法实现:
[0056] N2=S*l/p ;
[0057] 其中,S当前时间段内的目标数据数量,N2表示当前时间段对应的目标数据命中基 数。
[0058] 至此,完成方式2的描述。
[0059] 需要说明的是,本发明中,至于采用方式1还是采用方式2确定当前时间段对应的 目标数据命中基数,其可预先设定,具体实现时可为:设置活动的标志位(flag),当该flag 被设置为方式1的标识时,则采用方式1确定当前时间段对应的目标数据命中基数,而当 flag被设置为方式2的标识时,则采用方式2确定当前时间段对应的目标数据命中基数。
[0060] 需要说明的是,上述方式1、方式2只是一种举例,并非用于限定本发明,本发明中 确定当前时间段对应的目标数据命中基数还可采用其他方式,这里不再一一赘述。
[0061] 还有,本步骤105中,生成随机数可通过预先构造一个随机数函数而实现。
[0062] 步骤106,利用所述目标数据命中基数和随机数确定当前时间段内所述请求是否 命中目标数据。
[0063] 本步骤106中,所述利用目标数据命中基数和随机数确定当前时间段内所述请求 是否命中目标数据可包括:
[0064] 步骤bl,将所述随机数和所述目标数据命中基数进行模运算,得到第一值;
[0065] 以随机数为M,目标数据命中基数为N为例,则步骤bl具体可通过以下公式实现:
[0066] R=M%N,
[0067] 其中,R为第一值。
[0068] 步骤b2,比较所述第一值和当前时间段内的目标数据数量,如果前者大于等于后 者,则确定当前时间段内所述请求未命中目标数据,如果前者小于后者,则确定当前时间段 内所述请求命中目标数据。
[0069] 优选地,本发明中,确定当前时间段内所述请求命中目标数据可包括以下步骤:
[0070] 步骤cl,将所述随机数和当前时间段内的目标数据数量进行模运算,得到第二 值;
[0071] 以随机数为M,当前时间段内的目标数据数量为S为例,则步骤cl具体可通过以下 公式实现:
[0072] r=M%N,
[0073] 其中,r为第二值。
[0074] 步骤c2,从已设置的数据类型区间中获取包含所述第二值的数据类型区间,将获 取的数据类型区间对应的数据类型确定为所述目标数据所属的数据类型。
[0075] 本发明中,可针对每一种类型设置对应的数据类型区间。假设目标数据分为A、B、 C、D四种类型,在当前时间段内该四种类型的目标数据数量分别为a、b、c、d,其中,a、b、c、 d之和为当前时间段内的目标数据数量,则本发明针对这四种类型设置对应的数据类型区 间可为:
[0076] [0, a),代表类型A对应的数据类型区间。
[0077] [a,a+b),代表类型B对应的数据类型区间。
[0078] [a+b,a+b+c),代表类型C对应的数据类型区间。
[0079] [a+b+c,S),代表类型D对应的数据类型区间。
[0080] 基于此,本步骤c2就从已设置的数据类型区间中找到所述第二值具体落在的数 据类型区间,将该找到的数据类型区间对应的数据类型确定为目标数据所属的类型。
[0081] 步骤C3,判断当前时间段内是否存在属于该确定的数据类型中的目标数据,如果 是,则确定所述请求命中目标数据。
[0082] 本步骤c3中,如果当前时间段内不存在属于该确定的数据类型中的目标数据,则 确定所述请求未命中目标数据。
[0083] 至此,完成图1所示的流程。
[0084] 从图1所示流程可以看出,本发明中,将所述目标数据命中事件的单位时间划分 为N个时间段,并针对每一时间段输入对应的目标数据,这样可以避免在高峰期一开始便 瞬间输入目标数据而在大部分的时间里没有用户命中目标数据,最大可能的保证目标数据 的均匀命中。
[0085] 进一步地,本发明中,将命中数据的类型划分区间,保证了越珍贵的目标数据输入 的概率越小,符合现实场景的要求。
[0086] 优选地,本发明中,该方法还进一步包括以下步骤:
[0087] 实时检测N个时间段;
[0088] 在检测到任一时间段已过期、但还存在未被命中的目标数据时,将该存在的未被 命中的目标数据移到还未过期的时间段。通过该步骤,能够避免浪费的目标数据。
[0089] 以上对本发明提供的方法进行了描述,下面对本发明提供的装置进行描述:
[0090] 参见图2,图2为本发明实施例提供的装置结构图。该装置应用于基于时间间隔动 态调整目标数据命中的方法,该装置包括:
[0091] 划分单元,用于将任一目标数据命中事件的单位时间划分为N个时间段,所述N是 基于设定的目标数据控制粒度确定的,目标数据的控制粒度越大,N取值越大,目标数据的 控制粒度越小,N取值越小;
[0092] 输入单元,用于向N个时间段中的每一时间段输入与该时间段对应的目标数据;
[0093] 判断单元,用于接收到请求加入所述目标数据命中事件的请求时,识别接收到所 述请求时所处的当前时间段,判断当前时间段是否还有未被命中的目标数据;
[0094] 确定单元,用于在所述判断单元的判断结果为否时,确定当前时间段对应的目标 数据命中基数,并生成一个随机数;
[0095] 命中单元,用于利用所述目标数据命中基数和随机数确定当前时间段内所述请求 是否命中目标数据。
[0096] 优选地,本发明中,该装置进一步包括:
[0097] 统计单元,用于实时统计每一设定时间段内请求加入所述目标数据命中事件的用 户人数;
[0098] 基于此,所述确定单元确定当前时间段对应的目标数据命中基数包括:
[0099] 获取已统计出的距离当前时间段最近的设定时间段内的用户人数;
[0100] 将获取的用户人数作为所述目标数据命中基数。
[0101] 优选地,本发明中,该装置进一步包括:
[0102] 配置单元,用于存放针对所述目标数据命中事件配置的一个目标数据命中概率;
[0103] 基于此,所述确定单元确定当前时间段对应的目标数据命中基数包括:
[0104] 计算所述目标数据命中概率的倒数;
[0105] 利用所述目标数据命中概率的倒数和所述当前时间段内的目标数据数量计算当 前时间段对应的目标数据命中基数。
[0106] 优选地,本发明中,所述命中单元包括:
[0107] 计算子单元,用于将所述随机数和所述目标数据命中基数进行模运算,得到第一 值;
[0108] 确定子单元,用于比较所述第一值和当前时间段内的目标数据数量,如果前者大 于等于后者,则确定当前时间段内所述请求未命中目标数据,如果前者小于后者,则确定当 前时间段内所述请求命中目标数据。
[0109] 其中,所述确定子单元确定当前时间段内所述请求命中目标数据包括:
[0110] 将所述随机数和当前时间段内的目标数据数量进行模运算,得到第二值;
[0111] 从已设置的数据类型区间中获取包含所述第二值的数据类型区间;
[0112] 将获取的数据类型区间对应的数据类型确定为目标数据所属的数据类型;
[0113] 判断当前时间段内是否存在属于该确定的数据类型中的目标数据,如果是,则确 定所述请求命中目标数据。
[0114] 优选地,本发明中,该装置进一步包括:
[0115] 检测单元,用于实时检测N个时间段,在检测到任一时间段已过期、但还存在未被 命中的目标数据时,将该存在的未被命中的目标数据移到还未过期的时间段。
[0116] 至此,完成图2所示的装置结构描述。
[0117] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精 神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【权利要求】
1. 一种基于时间间隔动态调整目标数据命中的方法,其特征在于,该方法包括: 将任一目标数据命中事件的单位时间划分为N个时间段; 向N个时间段中的每一时间段输入与该时间段对应的目标数据; 接收到加入所述目标数据命中事件的请求时,识别接收到所述请求时所处的当前时间 段,判断当前时间段是否还有未被命中的目标数据; 在判断出当前时间段还存在未被命中的目标数据时,确定当前时间段对应的目标数据 命中基数,并生成一个随机数; 利用所述目标数据命中基数和随机数确定当前时间段内所述请求是否命中目标数据。
2. 根据权利要求1所述的方法,其特征在于,所述向N个时间段中每一时间段输入与该 时间段对应的目标数据包括: 向N个时间段中预测出的请求加入所述目标数据命中事件的用户人数多的时间段输 入多的目标数据,向N个时间段中预测出的请求加入所述目标数据命中事件的用户人数少 的时间段输入少的目标数据。
3. 根据权利要求1所述的方法,其特征在于,在判断出当前时间段不存在未被命中的 目标数据时,该方法进一步包括: 提供目标数据未命中的通知。
4. 根据权利要求1所述的方法,其特征在于,该方法进一步包括: 实时统计每一设定时间段内请求加入所述目标数据命中事件的用户人数; 所述确定当前时间段对应的目标数据命中基数包括: 获取已统计出的距离当前时间段最近的设定时间段内的用户人数; 将获取的用户人数作为所述目标数据命中基数。
5. 根据权利要求1所述的方法,其特征在于,该方法进一步包括: 为所述目标数据命中事件配置一个目标数据命中概率; 所述确定当前时间段对应的目标数据命中基数包括: 计算所述目标数据命中概率的倒数; 利用所述目标数据命中概率的倒数和所述当前时间段内的目标数据数量计算当前时 间段对应的目标数据命中基数。
6. 根据权利要求1所述的方法,其特征在于,所述利用目标数据命中基数和随机数确 定当前时间段内所述请求是否命中目标数据包括: 将所述随机数和所述目标数据命中基数进行模运算,得到第一值; 比较所述第一值和当前时间段内的目标数据数量,如果前者大于等于后者,则确定当 前时间段内所述请求未命中目标数据,如果前者小于后者,则确定当前时间段内所述请求 命中目标数据。
7. 根据权利要求6所述的方法,其特征在于,所述确定当前时间段内所述请求命中目 标数据包括: 将所述随机数和当前时间段内的目标数据数量进行模运算,得到第二值; 从已设置的数据类型区间中获取包含所述第二值的数据类型区间; 将获取的数据类型区间对应的数据类型确定为目标数据所属的数据类型; 判断当前时间段内是否存在属于该确定的数据类型中的目标数据,如果是,则确定所 述请求命中目标数据。
8. 根据权利要求1所述的方法,其特征在于,该方法进一步包括: 实时检测N个时间段; 在检测到任一时间段已过期、但还存在未被命中的目标数据时,将该存在的未被命中 的目标数据移到还未过期的时间段。
9. 一种基于时间间隔动态调整目标数据命中的装置,其特征在于,该装置包括: 划分单元,用于将任一目标数据命中事件的单位时间划分为N个时间段; 输入单元,用于向N个时间段中的每一时间段输入与该时间段对应的目标数据; 判断单元,用于接收到请求加入所述目标数据命中事件的请求时,识别接收到所述请 求时所处的当前时间段,判断当前时间段是否还有未被命中的目标数据; 确定单元,用于在所述判断单元的判断结果为否时,确定当前时间段对应的目标数据 命中基数,并生成一个随机数; 命中单元,用于利用所述目标数据命中基数和随机数确定当前时间段内所述请求是否 命中目标数据。
10. 根据权利要求9所述的装置,其特征在于,该装置进一步包括: 统计单元,用于实时统计每一设定时间段内请求加入所述目标数据命中事件的用户人 数; 所述确定单元确定当前时间段对应的目标数据命中基数包括: 获取已统计出的距离当前时间段最近的设定时间段内的用户人数; 将获取的用户人数作为所述目标数据命中基数。
11. 根据权利要求9所述的装置,其特征在于,该装置进一步包括: 配置单元,用于存放针对所述目标数据命中事件配置的一个目标数据命中概率; 所述确定单元确定当前时间段对应的目标数据命中基数包括: 计算所述目标数据命中概率的倒数; 利用所述目标数据命中概率的倒数和所述当前时间段内的目标数据数量计算当前时 间段对应的目标数据命中基数。
12. 根据权利要求9所述的装置,其特征在于,所述命中单元包括: 计算子单元,用于将所述随机数和所述目标数据命中基数进行模运算,得到第一值; 确定子单元,用于比较所述第一值和当前时间段内的目标数据数量,如果前者大于等 于后者,则确定当前时间段内所述请求未命中目标数据,如果前者小于后者,则确定当前时 间段内所述请求命中目标数据。
13. 根据权利要求12所述的装置,其特征在于,所述确定子单元确定当前时间段内所 述请求命中目标数据包括: 将所述随机数和当前时间段内的目标数据数量进行模运算,得到第二值; 从已设置的数据类型区间中获取包含所述第二值的数据类型区间; 将获取的数据类型区间对应的数据类型确定为目标数据所属的数据类型; 判断当前时间段内是否存在属于该确定的数据类型中的目标数据,如果是,则确定所 述请求命中目标数据。
14. 根据权利要求9所述的装置,其特征在于,该装置进一步包括: 检测单元,用于实时检测N个时间段,在检测到任一时间段已过期、但还存在未被命中 的目标数据时,将该存在的未被命中的目标数据移到还未过期的时间段。
【文档编号】G06F19/00GK104156551SQ201310176375
【公开日】2014年11月19日 申请日期:2013年5月14日 优先权日:2013年5月14日
【发明者】赵丹 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1