CN112365333B - 实时动态流量分配方法、系统、电子设备及存储介质 - Google Patents
实时动态流量分配方法、系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112365333B CN112365333B CN202011294499.3A CN202011294499A CN112365333B CN 112365333 B CN112365333 B CN 112365333B CN 202011294499 A CN202011294499 A CN 202011294499A CN 112365333 B CN112365333 B CN 112365333B
- Authority
- CN
- China
- Prior art keywords
- pushing
- score
- adjusting
- barrel
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000004364 calculation method Methods 0.000 claims abstract description 8
- 238000000926 separation method Methods 0.000 claims abstract description 6
- 238000004590 computer program Methods 0.000 claims description 10
- 210000001061 forehead Anatomy 0.000 claims description 6
- 238000012163 sequencing technique Methods 0.000 claims description 5
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 101100481876 Danio rerio pbk gene Proteins 0.000 description 3
- 101100481878 Mus musculus Pbk gene Proteins 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000003672 processing method Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Finance (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Complex Calculations (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种实时动态流量分配方法、系统、电子设备及存储介质,实时动态流量分配方法,包括:分桶步骤:对每一实时的在线请求流量进行模型打分获得模型分值集合,对模型分值集合进行分桶获得多个分值桶;推送步骤:将每一分值桶的模型分值与一调额推送阈值进行比较后,根据每一分值桶的初始概率进行推送;计算步骤:根据多个时间槽的实际推送比例与目标推送比例获得比例差值;比较步骤:将比例差值与第一阈值进行比较后输出比较结果;调整步骤:根据比较结果调整初始概率,或,根据比较结果调整初始概率及调额推送阈值,调整后继续进行推送。
Description
技术领域
本发明涉及实时推荐系统下的流量分配,具体地说,尤其涉及一种基于推荐系统的实时动态流量分配方法、系统、电子设备及存储介质。
背景技术
常见推荐系统往往会根据给定的阈值对模型打分结果进行划分,反馈是否推荐的结果。而固定阈值的方法往往不能满足需要进行流量控制的推荐系统。
例如,基于金融的推荐系统中,由于风控需求,流量需要先经过风控决策包过滤掉高风险客户。通过风控决策包的流量后需要对对照组和模型的流量进行分配。经过第二次分流后,模型如何选择需要投放的人群呢?现有技术中是通过实时推荐请求进入模型后得到打分,根据阈值进行判断是否需要给该流量进行推荐。
但是在实际使用中,还是存在以下缺陷:
1、将模型输出打分通过固定阈值进行划分,会导致对最终推荐总流量不可控。
2、阈值设置过大,待推荐总流量的质量情况普遍比较差的时候,可能导致无法推荐出指定的推荐量。阈值设置过小,待推荐总流量普遍质量较高的情况下,可能导致大量更加优秀的流量无法推荐。尤其是冷启动阶段,无法在一开始就得到一个比较合适的阈值,而各时段的流量分布情况往往又不相同。
3、将阈值配置在redis缓存,可以人工干预阈值大小,根据实时的推荐情况,对阈值进行合理的调整。
4、需要花费一定的人工成本,不够智能。
因此亟需开发一种克服上述缺陷的基于推荐系统的实时动态流量分配方法、系统、电子设备及存储介质。
发明内容
针对上述问题,本发明提供一种实时动态流量分配方法,其中,包括:
分桶步骤:对每一实时的在线请求流量进行模型打分获得模型分值集合,对所述模型分值集合进行分桶获得多个分值桶;
推送步骤:将每一所述分值桶的模型分值与一调额推送阈值进行比较后,根据每一所述分值桶的初始概率进行推送;
计算步骤:根据多个时间槽的实际推送比例与目标推送比例获得比例差值;
比较步骤:将所述比例差值与第一阈值进行比较后输出比较结果;
调整步骤:根据所述比较结果调整所述初始概率,或,根据所述比较结果调整所述初始概率及所述调额推送阈值,调整后继续进行推送。
上述的实时动态流量分配方法,其中,所述分桶步骤包括:
打分步骤:对所述在线请求流量进行模型打分获得模型分数;
排序步骤:对多个所述模型分数进行排序获得所述模型分值集合;
划分步骤:将所述模型分值集合划分为多个所述分值桶,以使每一所述分值桶的在线请求流量大致相同。
上述的实时动态流量分配方法,其中,所述调整步骤包括:
第一调整步骤:当所述比例差值小于所述第一阈值时调整所述初始概率及所述调额推送阈值;或;
第二调整步骤:当所述比例差值大于等于所述第一阈值时调整所述初始概率。
上述的实时动态流量分配方法,其中,调整所述初始概率的步骤中包括:根据以下公式获得当前时刻各个所述分值桶的推荐概率:
其中,diff为当时间槽t后的近M个时间槽位内实际推送总量与目标推送量差值,Pt+1(dk)为当前时刻的各桶的推荐概率,Pt(dk)为前一个时间槽位的各桶推荐概率,K为目标推送比例,R为调额请求次数;Rt为调额推送次数P时间槽内请求次数,Pt为时间槽内推送次数。
上述的实时动态流量分配方法,其中,调整所述调额推送阈值的步骤包括:
当目标推送比例大于第二阈值时,维护最小堆将所述调额推送阈值调整为最小堆的堆顶。
当K小于等于第二阈值时,维护最大堆将所述调额推送阈值调整为最小堆的堆顶。
本发明还提供一种实时动态流量分配系统,其中,包括:
分桶单元:对每一实时的在线请求流量进行模型打分获得模型分值集合,对所述模型分值集合进行分桶获得多个分值桶;
推送单元:将每一所述分值桶的模型分值与一调额推送阈值进行比较后,根据每一所述分值桶的初始概率进行推送;
计算单元:根据多个时间槽的实际推送比例与目标推送比例获得比例差值;
比较单元:将所述比例差值与第一阈值进行比较后输出比较结果;
调整单元:根据所述比较结果调整所述初始概率,或,根据所述比较结果调整所述初始概率及所述调额推送阈值,调整后继续进行推送。
上述的实时动态流量分配系统,其中,所述分桶单元包括:
打分模块:对所述在线请求流量进行模型打分获得模型分数;
排序模块:对多个所述模型分数进行排序获得所述模型分值集合;
划分模块:将所述模型分值集合划分为多个所述分值桶,以使每一所述分值桶的在线请求流量大致相同。
上述的实时动态流量分配系统,其中,所述调整单元包括:
第一调整模块:当所述比例差值小于所述第一阈值时调整所述初始概率及所述调额推送阈值;
第二调整模块:当所述比例差值大于等于所述第一阈值时调整所述初始概率。
本发明还提供一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如上述中任一项所述的实时动态流量分配方法。
本发明还提供一种可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如上述中任一项所述的实时动态流量分配方法。
综上所述,本发明相对于现有技术其功效在于:
1.传统的分桶方式会出现各桶内数量差异巨大的问题。当前推送的流量略与目标推送流量有差距时,阈值下降到下一个分桶时,流量差异巨大。从而可能出现阈值在两个分桶间来回跳动,导致数据流量变化异常。而基于概率密度的分桶方式,使得阈值变化平滑,整体数据流量分布接近原始流量分布。
2.通过实时优化各桶的推荐概率,使得一天内的流量变化平滑,从而更接近原始的数据分布。而传统的固定推荐概率,无法捕捉到每天不同时间段流量的动态变化,会推荐算法的结果展示。
3.基于最大(小)堆的实时获取阈值,既节约内存又减少阈值计算时间。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为模型打分Lift曲线图;
图2为本发明的实时动态流量分配方法的流程图;
图3为图2中步骤S1的分步骤流程图;
图4为图2中步骤S5的分步骤流程图;
图5为本发明的实时动态流量分配方法的应用流程图;
图6为某推荐系统的离线验证打分分布图;
图7为本发明的实时动态流量分配系统的结构示意图;
图8为本发明的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地说明,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。另外,在附图及实施方式中所使用相同或类似标号的元件/构件是用来代表相同或类似部分。
关于本文中所使用的“第一”、“第二”、“S1”、“S2”、…等,并非特别指称次序或顺位的意思,也非用以限定本发明,其仅为了区别以相同技术用语描述的元件或操作。
关于本文中所使用的方向用语,例如:上、下、左、右、前或后等,仅是参考附图的方向。因此,使用的方向用语是用来说明并非用来限制本创作。
关于本文中所使用的“包含”、“包括”、“具有”、“含有”等等,均为开放性的用语,即意指包含但不限于。
关于本文中所使用的“及/或”,包括所述事物的任一或全部组合。
关于本文中的“多个”包括“两个”及“两个以上”;关于本文中的“多组”包括“两组”及“两组以上”。
关于本文中所使用的用语“大致”、“约”等,用以修饰任何可以微变化的数量或误差,但这些微变化或误差并不会改变其本质。一般而言,此类用语所修饰的微变化或误差的范围在部分实施例中可为20%,在部分实施例中可为10%,在部分实施例中可为5%或是其他数值。本领域技术人员应当了解,前述提及的数值可依实际需求而调整,并不以此为限。
某些用以描述本申请的用词将于下或在此说明书的别处讨论,以提供本领域技术人员在有关本申请的描述上额外的引导。
请参照图1,图1为模型打分Lift曲线图。如图1所示,某模型的离线验证,得到如下的模型打分Lift曲线图。Lift曲线的横坐标表示数据集的topK%,纵坐标表示效果提升了Y倍。举例,图中某点的坐标为(53,1.2),即选取模型打分的top53%曝光后有希望得到1.2倍的响应率。而实际推荐系统需要根据模型打分和阈值去决定是否给实时流量进行曝光。那么在线流量经过模型打分后,如何能实时动态调整阈值,并获取模型打分topK%的流量呢?本发明针对这一问题提出了推荐系统的实时动态流量分配方法。
其中,实时动态流量分配方法设置为:
1.模型分值分桶为(0,d1,d2,d3,…,dk-1,dk,dk+1,…,dN-1,1),共N个分值分桶;
2.模型分值范围为(0,1];
3.调额推送阈值为:threshold,(dk<threshold<=dk+1);
4.调整流量推送概率时,考虑t时刻最近M个时间槽位的推送量。
请参照图2,图2为本发明的实时动态流量分配方法的流程图。如图2所示,本发明的实时动态流量分配方法包括:
分桶步骤S1:对每一实时的在线请求流量进行模型打分获得模型分值集合,对所述模型分值集合进行分桶获得多个分值桶。
推送步骤S2:将每一所述分值桶的模型分值与一调额推送阈值进行比较后,根据每一所述分值桶的初始概率进行推送。
计算步骤S3:根据多个时间槽的实际推送比例与目标推送比例获得比例差值,其中由于在线流量的不稳定性和不可预估性,我们对在线流量进行时间分片,根据当前分片的流量分布估算下一时刻的流量分布。假设时间分片区间为2min,则每2min为一个时间槽位,但本发明时间槽位的具体设置进行限制。
比较步骤S4:将所述比例差值与第一阈值进行比较后输出比较结果。
调整步骤S5:根据所述比较结果调整所述初始概率,或,根据所述比较结果调整所述初始概率及所述调额推送阈值,调整后继续进行推送。
请参照图3,图3为图2中步骤S1的分步骤流程图。如图3所示,所述分桶步骤S1包括:
打分步骤S11:对所述在线请求流量进行模型打分获得模型分数;
排序步骤S12:对多个所述模型分数进行排序获得所述模型分值集合;
划分步骤S13:将所述模型分值集合划分为多个所述分值桶,以使每一所述分值桶的在线请求流量大致相同。
请参照图4,图4为图2中步骤S5的分步骤流程图。如图4所示,所述调整步骤S5包括:
第一调整步骤S51:当所述比例差值小于所述第一阈值时调整所述初始概率及所述调额推送阈值;或;
第二调整步骤S52:当所述比例差值大于等于所述第一阈值时调整所述初始概率。
其中,第一调整步骤S51及第二调整步骤S52中调整所述初始概率的步骤中包括:根据以下公式获得当前时刻各个所述分值桶的推荐概率:
其中,diff为当时间槽t后的近M个时间槽位内实际推送总量与目标推送量差值,Pt+1(dk)为当前时刻的各桶的推荐概率,Pt(dk)为前一个时间槽位的各桶推荐概率,K为目标推送比例,R为调额请求次数;Rt为调额推送次数P时间槽内请求次数,Pt为时间槽内推送次数。
其中,第一调整步骤S51中调整所述调额推送阈值的步骤包括:
当目标推送比例大于第二阈值时,维护最小堆将所述调额推送阈值调整为最小堆的堆顶。
当K小于等于第二阈值时,维护最大堆将所述调额推送阈值调整为最小堆的堆顶。
请参照图5,图5为本发明的实时动态流量分配方法的应用流程图。如图5所示,以下结合图5具体说明本发明的实时动态流量分配方法的工作过程。
实时动态流量分配方法整体流程如下:
1、对每一条实时在线请求流量进行模型打分,得到模型打分score。
2、当score>=threshold时,将根据概率P(score)随机决定是否对该流量进行推送,即伪随机推送。
3、当随机推送的结果为推送时,累加当前时间槽内的推送次数。
4、重复1-3,直到当前时间槽结束。
5、计算近M个时间槽的推送比例(本专利中M=20)
6、当abs(近M个时间槽的推送比例-K%)>0.03时,根据近M个时间槽位内实际推送总量与目标推送量差值调整各分桶的推送概率P(x)(见2.2.3),并对threshold进行调整((见2.2.4))。
7、当abs(近M个时间槽的推送比例-K%)<=0.03时,只需要调整各分桶的推送概率P(x)。
具体说明如下:
1、时间分片
由于在线流量的不稳定性和不可预估性,我们对在线流量进行时间分片,根据当前分片的流量分布估算下一时刻的流量分布。假设时间分片区间为2min,则每2min为一个时间槽位。
2、模型打分分桶
模型分值范围为(0,1],对模型分值划分为N组(0,d1,d2,d3,…,dk-1,dk,dk+1,…,dN-1,1)。根据最近N个时间槽位的各个分值桶的数据量分布,调整各个桶内的被推送概率。
常用打分分桶思路可以以固定区间进行分组,以0.1为间隔划分为10个预测组,即(0,0.1],(0.1,0.2],(0.2,0.3],.......(0.9,1]。多数情况下,模型打分效果都不是均匀的。如图6所示,图6为某推荐系统的离线验证打分分布图。这种分布有偏的情况是非常常见的,如果仍然按固定区间进行分组,会导致各桶内数量差异巨大。当前推送的流量略与目标推送流量有差距时,阈值下降到下一个分桶时,流量差异巨大。由此本发明提出了一种基于概率密度分布的分桶方法。
近M个时间槽内的在线请求打分经过排序后:<s1,s2,s3,…,so>。o即M个时间槽位内的请求:
Ri为第i次
假设第k-1个时间槽位点dk-1为sj,则第k个时间槽位点dk的求解如下:
即按打分排序后,从低分到高分累加计数,当数量满足o(请求的数量)/N(桶总数量),则记为分位点。
3、实时优化各桶的推荐概率
不同分桶区间内的初始推送概率P(x)不同。
冷启动阶段的模型打分推送概率函数如下,其中x为模型打分:
每个时间槽之后,则需要根据历史的流量分布调整P(x)。
t+1个时间槽的Pt+1(dk)如下:
其中,
1)Pt+1(dk)为当前时刻的各桶的推荐概率。
2)Pt(dk)为前一个时间槽位的各桶推荐概率。
3)diff为当时间槽t后的近M个时间槽位内实际推送总量与目标推送量差值:
K给定值。
4、实时调整推荐阈值
为了调整阈值,内存中实时维护一个最大(小)堆。最大(小)堆算法此处不再赘述。为节约内存,维护最大堆还是最小堆由推送的目标流量比例K值决定。
当K>50时,维护最小堆,最小堆只保留当日截止t个时间槽位为止的所有请求量的topK%,阈值调整为最小堆的堆顶。
当K<=50时,维护最大堆,最大堆只保留当日截止t个时间槽位为止的所有请求量的top(1-K%),阈值调整为最小堆的堆顶。
请参照图7,图7为本发明的实时动态流量分配系统的结构示意图。如图7所示,本发明的实时动态流量分配系统包括:
分桶单元11:对每一实时的在线请求流量进行模型打分获得模型分值集合,对所述模型分值集合进行分桶获得多个分值桶;
推送单元12:将每一所述分值桶的模型分值与一调额推送阈值进行比较后,根据每一所述分值桶的初始概率进行推送;
计算单元13:根据多个时间槽的实际推送比例与目标推送比例获得比例差值;
比较单元14:将所述比例差值与第一阈值进行比较后输出比较结果;
调整单元15:根据所述比较结果调整所述初始概率,或,根据所述比较结果调整所述初始概率及所述调额推送阈值,调整后继续进行推送。
其中,所述分桶单元11包括:
打分模块111:对所述在线请求流量进行模型打分获得模型分数;
排序模块112:对多个所述模型分数进行排序获得所述模型分值集合;
划分模块113:将所述模型分值集合划分为多个所述分值桶,以使每一所述分值桶的在线请求流量大致相同。
其中,所述调整单元15包括:
第一调整模块151:当所述比例差值小于所述第一阈值时调整所述初始概率及所述调额推送阈值;
第二调整模块152:当所述比例差值大于等于所述第一阈值时调整所述初始概率。
请参照图8,图8本发明的电子设备的结构示意图。如图8所示,
本实施例揭示了一种电子设备的一种具体实施方式。电子设备可以包括处理器81以及存储有计算机程序指令的存储器82。
具体地,上述处理器81可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
其中,存储器82可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器82可包括硬盘驱动器(Hard Disk Drive,简称为HDD)、软盘驱动器、固态驱动器(SolidState Drive,简称为SSD)、闪存、光盘、磁光盘、磁带或通用串行总线(Universal SerialBus,简称为USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器82可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器82可在数据处理装置的内部或外部。在特定实施例中,存储器82是非易失性(Non-Volatile)存储器。在特定实施例中,存储器82包括只读存储器(Read-Only Memory,简称为ROM)和随机存取存储器(RandomAccess Memory,简称为RAM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable Read-Only Memory,简称为PROM)、可擦除PROM(Erasable ProgrammableRead-Only Memory,简称为EPROM)、电可擦除PROM(Electrically Erasable ProgrammableRead-Only Memory,简称为EEPROM)、电可改写ROM(Electrically Alterable Read-OnlyMemory,简称为EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合适的情况下,该RAM可以是静态随机存取存储器(Static Random-Access Memory,简称为SRAM)或动态随机存取存储器(Dynamic Random Access Memory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储器(Fast Page Mode Dynamic Random Access Memory,简称为FPMDRAM)、扩展数据输出动态随机存取存储器(Extended Date Out Dynamic RandomAccess Memory,简称为EDODRAM)、同步动态随机存取内存(Synchronous Dynamic Random-Access Memory,简称SDRAM)等。
存储器82可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器81所执行的可能的计算机程序指令。
处理器81通过读取并执行存储器82中存储的计算机程序指令,以实现上述实施例中的任意一种处理方法。
在其中一些实施例中,电子设备还可包括通信接口83和总线80。其中,如图8所示,处理器81、存储器82、通信接口83通过总线80连接并完成相互间的通信。
通信接口83用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。通信端口83还可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。
总线80包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。总线80包括但不限于以下至少之一:数据总线(Data Bus)、地址总线(Address Bus)、控制总线(ControlBus)、扩展总线(Expansion Bus)、局部总线(Local Bus)。举例来说而非限制,总线80可包括图形加速接口(Accelerated Graphics Port,简称为AGP)或其他图形总线、增强工业标准架构(Extended Industry Standard Architecture,简称为EISA)总线、前端总线(FrontSide Bus,简称为FSB)、超传输(Hyper Transport,简称为HT)互连、工业标准架构(Industry Standard Architecture,简称为ISA)总线、无线带宽(InfiniBand)互连、低引脚数(Low Pin Count,简称为LPC)总线、存储器总线、微信道架构(Micro ChannelArchitecture,简称为MCA)总线、外围组件互连(Peripheral Component Interconnect,简称为PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial AdvancedTechnology Attachment,简称为SATA)总线、视频电子标准协会局部(Video ElectronicsStandards Association Local Bus,简称为VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线80可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
另外,结合上述实施例中处理方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种处理方法。
综上所述,本发明具有以下效果:不仅解决了传统的分桶方式会出现各桶内数量差异巨大的问题;而且通过实时优化各桶的推荐概率,使得一天内的流量变化平滑,从而更接近原始的数据分布。同时基于最大(小)堆的实时获取阈值,既节约内存又减少阈值计算时间。
尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (7)
1.一种实时动态流量分配方法,其特征在于,包括:
分桶步骤:对每一实时的在线请求流量进行模型打分获得模型分值集合,对所述模型分值集合进行分桶获得多个分值桶;
推送步骤:将每一所述分值桶的模型分值与一调额推送阈值进行比较后,根据每一所述分值桶的初始概率进行推送;
计算步骤:根据多个时间槽的实际推送比例与目标推送比例获得比例差值;
比较步骤:将所述比例差值与第一阈值进行比较后输出比较结果;
调整步骤:根据所述比较结果调整所述初始概率,或,根据所述比较结果调整所述初始概率及所述调额推送阈值,调整后继续进行推送;
其中,所述调整步骤包括:
第一调整步骤:当所述比例差值小于所述第一阈值时调整所述初始概率及所述调额推送阈值;或;
第二调整步骤:当所述比例差值大于等于所述第一阈值时调整所述初始概率;
其中,第一调整步骤及第二调整步骤中调整所述初始概率的步骤中包括:根据以下公式获得当前时刻各个所述分值桶的推荐概率:
其中,diff为当时间槽t后的近M个时间槽位内实际推送总量与目标推送量差值,Pt+1(dk)为当前时刻的各桶的推荐概率,Pt(dk)为前一个时间槽位的各桶推荐概率,K为目标推送比例,R为调额请求次数;Rt为调额推送次数P时间槽内请求次数,Pt为时间槽内推送次数,N为共N个分值桶。
2.如权利要求1所述的实时动态流量分配方法,其特征在于,所述分桶步骤包括:
打分步骤:对所述在线请求流量进行模型打分获得模型分数;
排序步骤:对多个所述模型分数进行排序获得所述模型分值集合;
划分步骤:将所述模型分值集合划分为多个所述分值桶,以使每一所述分值桶的在线请求流量大致相同。
3.如权利要求1所述的实时动态流量分配方法,其特征在于,调整所述调额推送阈值的步骤包括:
当目标推送比例大于第二阈值时,维护最小堆将所述调额推送阈值调整为最小堆的堆顶;
当K小于等于第二阈值时,维护最大堆将所述调额推送阈值调整为最小堆的堆顶。
4.一种实时动态流量分配系统,其特征在于,包括:
分桶单元:对每一实时的在线请求流量进行模型打分获得模型分值集合,对所述模型分值集合进行分桶获得多个分值桶;
推送单元:将每一所述分值桶的模型分值与一调额推送阈值进行比较后,根据每一所述分值桶的初始概率进行推送;
计算单元:根据多个时间槽的实际推送比例与目标推送比例获得比例差值;
比较单元:将所述比例差值与第一阈值进行比较后输出比较结果;
调整单元:根据所述比较结果调整所述初始概率,或,根据所述比较结果调整所述初始概率及所述调额推送阈值,调整后继续进行推送;
其中,所述调整单元包括:
第一调整模块:当所述比例差值小于所述第一阈值时调整所述初始概率及所述调额推送阈值;
第二调整模块:当所述比例差值大于等于所述第一阈值时调整所述初始概率;
其中,其中,第一调整模块及第二调整模块调整所述初始概率包括:根据以下公式获得当前时刻各个所述分值桶的推荐概率:
其中,diff为当时间槽t后的近M个时间槽位内实际推送总量与目标推送量差值,Pt+1(dk)为当前时刻的各桶的推荐概率,Pt(dk)为前一个时间槽位的各桶推荐概率,K为目标推送比例,R为调额请求次数;Rt为调额推送次数P时间槽内请求次数,Pt为时间槽内推送次数,N为共N个分值桶。
5.如权利要求4所述的实时动态流量分配系统,其特征在于,所述分桶单元包括:
打分模块:对所述在线请求流量进行模型打分获得模型分数;
排序模块:对多个所述模型分数进行排序获得所述模型分值集合;
划分模块:将所述模型分值集合划分为多个所述分值桶,以使每一所述分值桶的在线请求流量大致相同。
6.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至3中任一项所述的实时动态流量分配方法。
7.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至3中任一项所述的实时动态流量分配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011294499.3A CN112365333B (zh) | 2020-11-18 | 2020-11-18 | 实时动态流量分配方法、系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011294499.3A CN112365333B (zh) | 2020-11-18 | 2020-11-18 | 实时动态流量分配方法、系统、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112365333A CN112365333A (zh) | 2021-02-12 |
CN112365333B true CN112365333B (zh) | 2024-04-05 |
Family
ID=74533467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011294499.3A Active CN112365333B (zh) | 2020-11-18 | 2020-11-18 | 实时动态流量分配方法、系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112365333B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113378066B (zh) * | 2021-07-12 | 2022-07-29 | 杭州弧途科技有限公司 | 一种兼职岗位推荐系统的流量控制方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110532465A (zh) * | 2019-08-16 | 2019-12-03 | 北京齐尔布莱特科技有限公司 | 一种网站内容的推荐方法及推荐系统 |
CN110765354A (zh) * | 2019-10-22 | 2020-02-07 | 北京字节跳动网络技术有限公司 | 信息的推送方法、装置、电子设备及存储介质 |
CN111859172A (zh) * | 2019-09-24 | 2020-10-30 | 北京嘀嘀无限科技发展有限公司 | 信息推送方法、装置、电子设备和计算机可读存储介质 |
-
2020
- 2020-11-18 CN CN202011294499.3A patent/CN112365333B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110532465A (zh) * | 2019-08-16 | 2019-12-03 | 北京齐尔布莱特科技有限公司 | 一种网站内容的推荐方法及推荐系统 |
CN111859172A (zh) * | 2019-09-24 | 2020-10-30 | 北京嘀嘀无限科技发展有限公司 | 信息推送方法、装置、电子设备和计算机可读存储介质 |
CN110765354A (zh) * | 2019-10-22 | 2020-02-07 | 北京字节跳动网络技术有限公司 | 信息的推送方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112365333A (zh) | 2021-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11853018B2 (en) | Determining causal models for controlling environments | |
EP2958001A1 (en) | Application software displaying method and device | |
CN111368887B (zh) | 雷雨天气预测模型的训练方法及雷雨天气预测方法 | |
CN110347706B (zh) | 用于处理查询的方法、数据库系统和计算机可读存储介质 | |
CN112365333B (zh) | 实时动态流量分配方法、系统、电子设备及存储介质 | |
US10248618B1 (en) | Scheduling snapshots | |
CN111783107B (zh) | 一种多源可信数据接入方法、装置及设备 | |
CN112181498B (zh) | 并发控制方法、装置和设备 | |
CN110798527B (zh) | 一种节点数据部署方法、装置、系统及介质 | |
CN113779322B (zh) | 用于图检索的方法、装置、设备以及计算机可读存储介质 | |
CN109033295A (zh) | 超大数据集的合并方法及装置 | |
CN110276070B (zh) | 一种语料处理方法、装置及存储介质 | |
CN111445191A (zh) | 一种配送难度的预估方法、装置和存储介质 | |
CN111125158A (zh) | 数据表处理方法、装置、介质及电子设备 | |
CN114882713A (zh) | 基于多场景的信号控制方法、系统、设备和存储介质 | |
CN109739817B (zh) | 一种在大数据存储系统中存储数据文件的方法及系统 | |
CN111737555A (zh) | 热点关键词的选取方法、设备和存储介质 | |
CN110955515A (zh) | 一种文件的处理方法、装置、电子设备及存储介质 | |
CN112527482A (zh) | 基于移动边缘云平台的任务管理方法及系统 | |
CN110659347A (zh) | 关联文书确定方法、装置、计算机设备及存储介质 | |
CN114219501B (zh) | 样本标注资源分配方法、装置及应用 | |
CN111104569A (zh) | 数据库表的区域切分方法、装置及存储介质 | |
CN114647386B (zh) | 基于人工智能的大数据分布式存储方法 | |
CN111158883B (zh) | 用于操作系统任务分类的方法、装置及计算机 | |
CN117112236B (zh) | 基于数据涌流及波动性预测的辖区服务器配置方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |