CN112328947B - 待推荐媒体信息的分配方法、装置及存储介质 - Google Patents

待推荐媒体信息的分配方法、装置及存储介质 Download PDF

Info

Publication number
CN112328947B
CN112328947B CN202011616419.1A CN202011616419A CN112328947B CN 112328947 B CN112328947 B CN 112328947B CN 202011616419 A CN202011616419 A CN 202011616419A CN 112328947 B CN112328947 B CN 112328947B
Authority
CN
China
Prior art keywords
recommended
media information
distribution
target
recommendation
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
Application number
CN202011616419.1A
Other languages
English (en)
Other versions
CN112328947A (zh
Inventor
袁从德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202011616419.1A priority Critical patent/CN112328947B/zh
Publication of CN112328947A publication Critical patent/CN112328947A/zh
Application granted granted Critical
Publication of CN112328947B publication Critical patent/CN112328947B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请提供了一种待推荐媒体信息的分配方法、装置、电子设备及存储介质,涉及区块链技术;方法包括:获取待推荐媒体信息对应目标时间段的计划分配数量、待推荐媒体信息的历史分配数量、以及历史分配数量对应的分配误差;结合计划分配数量、历史分配数量以及分配误差,确定待推荐媒体信息对应目标时间段的目标分配数量;基于目标分配数量,响应分布式推荐系统中各推荐服务针对待推荐媒体信息的获取请求,为各推荐服务分配待推荐媒体信息;当为各推荐服务分配的待推荐媒体信息的数量之和达到目标分配数量时,停止分配待推荐媒体信息;通过本申请,能够保证媒体信息的平稳分发,提高媒体信息的分发效率。

Description

待推荐媒体信息的分配方法、装置及存储介质
技术领域
本申请涉及互联网和区块链技术领域,尤其涉及一种待推荐媒体信息的分配方法、装置、电子设备及存储介质。
背景技术
相关技术中,通过运营人员配置某个待推荐媒体信息的分发量,进行待推荐媒体信息的分发,而媒体信息推荐是一个高并发的场景,相关技术中无法实现对待推荐媒体信息的合理分配,很可能在某些时间点出现媒体信息同时大量下发的情况,导致媒体信息井喷式分发。
发明内容
本申请实施例提供一种待推荐媒体信息的分配方法、装置、电子设备及存储介质,能够保证媒体信息的平稳分发,提高媒体信息的分发效率。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种待推荐媒体信息的分配方法,包括:
获取待推荐媒体信息对应目标时间段的计划分配数量、所述待推荐媒体信息的历史分配数量、以及所述历史分配数量对应的分配误差;
结合所述计划分配数量、所述历史分配数量以及所述分配误差,确定所述待推荐媒体信息对应所述目标时间段的目标分配数量;
基于所述目标分配数量,响应分布式推荐系统中各推荐服务针对所述待推荐媒体信息的获取请求,为各所述推荐服务分配所述待推荐媒体信息;
当为各所述推荐服务分配的所述待推荐媒体信息的数量之和达到所述目标分配数量时,停止分配所述待推荐媒体信息。
本申请实施例还提供一种待推荐媒体信息的分配装置,包括:
获取模块,用于获取待推荐媒体信息对应目标时间段的计划分配数量、所述待推荐媒体信息的历史分配数量、以及所述历史分配数量对应的分配误差;
确定模块,用于结合所述计划分配数量、所述历史分配数量以及所述分配误差,确定所述待推荐媒体信息对应所述目标时间段的目标分配数量;
分配模块,用于基于所述目标分配数量,响应分布式推荐系统中各推荐服务针对所述待推荐媒体信息的获取请求,为各所述推荐服务分配所述待推荐媒体信息;
停止分配模块,用于当为各所述推荐服务分配的所述待推荐媒体信息的数量之和达到所述目标分配数量时,停止分配所述待推荐媒体信息。
上述方案中,所述获取模块,还用于当所述目标时间段之前存在至少两个时间段时,获取与所述目标时间段相邻的前一时间段内所述待推荐媒体信息的第一历史分配数量、以及所述待推荐媒体信息对应所述前一时间段的第一计划分配数量;
基于所述第一历史分配数量、以及所述第一计划分配数量,确定所述历史分配数量对应的分配误差。
上述方案中,所述获取模块,还用于当所述目标时间段之前存在至少两个时间段时,获取所述至少两个时间段中各所述时间段内所述待推荐媒体信息的第二历史分配数量、以及所述待推荐媒体信息对应各所述时间段的第二计划分配数量;
针对各所述时间段,基于所述第二历史分配数量、以及所述第二计划分配数量,确定所述时间段对应的中间分配误差;
将各所述时间段对应的中间分配误差进行加和,得到所述历史分配数量对应的分配误差。
上述方案中,所述确定模块,还用于基于所述计划分配数量以及所述历史分配数量,确定分配数量差值;
获取所述计划分配数量对应的第一调节因子、所述分配误差对应的第二调节因子、以及所述分配数量差值对应的第三调节因子;
基于所述第一调节因子、第二调节因子以及第三调节因子,结合所述计划分配数量、所述分配误差以及所述分配数量差值,确定所述待推荐媒体信息对应所述目标时间段的目标分配数量。
上述方案中,所述确定模块,还用于将所述计划分配数量以及相应的第一调节因子输入比例积分微分控制器的比例控制单元;
将所述分配误差以及相应的第二调节因子输入所述比例积分微分控制器的积分控制单元;
将所述分配数量差值以及相应的第三调节因子输入所述比例积分微分控制器的微分控制单元;
通过所述比例控制单元、积分控制单元以及微分控制单元,基于所述第一调节因子、第二调节因子以及第三调节因子,结合所述计划分配数量、所述分配误差以及所述分配数量差值,确定所述待推荐媒体信息对应所述目标时间段的目标分配数量。
上述方案中,所述确定模块,还用于当所述待推荐媒体信息为至少两个时,针对各所述待推荐媒体信息执行如下处理:
结合所述计划分配数量、所述历史分配数量以及所述分配误差,确定所述待推荐媒体信息对应所述目标时间段的中间目标分配数量;
获取预设时间周期内所述至少两个待推荐媒体信息的平均历史曝光数量、以及所述待推荐媒体信息对应的目标分配比例,所述目标分配比例为所述待推荐媒体信息在所述预设时间周期内的历史分配数量与所述至少两个待推荐媒体信息在所述预设时间周期内的历史分配总数量的比值;
基于所述平均历史曝光数量、所述目标分配比例以及所述计划分配数量,确定所述中间目标分配数量对应的修正参数;
基于所述修正参数以及所述中间目标分配数量,确定所述待推荐媒体信息对应所述目标时间段的目标分配数量。
上述方案中,所述分配模块,还用于生成与所述目标分配数量相适配的目标数量的令牌;
响应分布式推荐系统中各推荐服务针对所述待推荐媒体信息的获取请求,返回所述待推荐媒体信息,并
为各所述推荐服务针对所述待推荐媒体信息,从所述目标数量的令牌中,选取并分配第一数量的令牌;
其中,所述第一数量的令牌,用于指示所述推荐服务将所述待推荐媒体信息推荐至终端的次数。
上述方案中,所述停止分配模块,还用于针对所述待推荐媒体信息,获取为各所述推荐服务分配的令牌的数量之和;
当为各所述推荐服务分配的令牌的数量之和达到所述目标数量时,停止为各所述推荐服务分配对应所述待推荐媒体信息的令牌。
上述方案中,所述分配模块,还用于生成与所述目标分配数量对应的分配数量记录,所述分配数量记录用于记录所述待推荐媒体信息对应的剩余推荐次数;
响应分布式推荐系统中各推荐服务针对所述待推荐媒体信息的获取请求,针对每个所述获取请求,返回所述待推荐媒体信息及相应的推荐数量信息;
其中,所述推荐数量信息,用于指示所述推荐服务将所述待推荐媒体信息推荐至终端的次数;
基于返回至各所述推荐服务的所述推荐数量信息,更新所述分配数量记录中所述待推荐媒体信息对应的剩余推荐次数。
上述方案中,所述分配模块,还用于响应所述分布式推荐系统中各推荐服务针对所述待推荐媒体信息的获取请求,将各推荐服务针对所述待推荐媒体信息的获取请求加入先入先出的缓冲队列;
依据各获取请求所处所述缓冲队列中的排序,依次为各所述推荐服务分配所述待推荐媒体信息。
上述方案中,所述分配模块,还用于当所述待推荐媒体信息为至少两个、且所述待推荐媒体信息存在相应的优先级时,获取各所述待推荐媒体信息对应的优先级;
响应分布式推荐系统中各推荐服务针对所述待推荐媒体信息的获取请求,按照各所述待推荐媒体信息对应的优先级,依次为各所述推荐服务分配各所述待推荐媒体信息。
上述方案中,所述装置还包括:
调整模块,用于当所述待推荐媒体信息为至少两个、且所述待推荐媒体信息存在相应的优先级时,对分配的所述至少两个待推荐媒体信息中第一待推荐媒体信息的数量进行监测;
当监测到当前已分配的所述第一待推荐媒体信息的数量低于分配数量阈值时,调整所述第一待推荐媒体信息对应的优先级为高优先级;
相应地,所述分配模块,还用于响应分布式推荐系统中各推荐服务针对所述第一待推荐媒体信息以及第二待推荐媒体信息的获取请求,其中,所述第一待推荐媒体信息对应的优先级高于所述第二待推荐媒体信息对应的优先级;
优先为各所述推荐服务分配所述第一待推荐媒体信息。
上述方案中,所述装置还包括:
分数确定模块,用于针对至少两个待推荐对象,分别确定各所述待推荐对象与所述待推荐媒体信息的对象匹配分数;
其中,所述对象匹配分数,用于表征所述待推荐对象针对所述待推荐媒体信息执行交互行为的可能性;
相应地,所述述装置还包括:
推荐模块,用于从所述至少两个待推荐对象中,选取对象匹配分数符合推荐条件的目标待推荐对象;
优先为所述目标待推荐对象推荐所述待推荐媒体信息。
本申请实施例还提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的待推荐媒体信息的分配方法。
本申请实施例还提供一种计算机可读存储介质,存储有可执行指令,所述可执行指令被处理器执行时,实现本申请实施例提供的待推荐媒体信息的分配方法。
本申请实施例具有以下有益效果:
基于获取的待推荐媒体信息对应目标时间段的计划分配数量、历史分配数量以及历史分配数量对应的分配误差,确定待推荐媒体信息对应目标时间段的目标分配数量,然后根据目标分配数量,为各推荐服务分配待推荐媒体信息,直至分配的待推荐媒体信息的数量之和达到目标分配数量时停止分配;
如此,在媒体信息分配时,可以通过确定每个时间段的目标分配数量,进而按照该目标分配数量在相应时间段内进行待推荐媒体信息的分配,能够从整体上保证了媒体信息的平稳分发,避免出现媒体信息井喷式下发的情况;同时目标分配数量是基于历史分配数量以及分配误差确定,如此保证媒体信息能够按照预期计划量进行分发,提高媒体信息的分发效率。
附图说明
图1是本申请实施例提供的待推荐媒体信息的分配系统100的架构示意图;
图2是本申请实施例提供的待推荐媒体信息的分配方法的电子设备500的结构示意图;
图3是本申请实施例提供的待推荐媒体信息的分配方法的流程示意图;
图4是本申请实施例提供的基于PID计算目标分配数量的流程示意图;
图5是本申请实施例提供的基于PID+令牌桶的待推荐媒体信息的分配方法的示意图;
图6为本申请实施例提供的区块链网络600的应用架构示意图;
图7是本申请实施例提供的区块链网络600中区块链的结构示意图;
图8是本申请实施例提供的区块链网络600的功能架构示意图;
图9是本申请实施例提供的待推荐媒体信息的分配方法的流程示意图;
图10A是本申请实施例提供的基于PID的流量调控系统的架构图;
图10B是本申请实施例提供的有无PID流量调控的曝光量数据曲线示意图;
图11是本申请实施例提供的待推荐媒体信息的分配装置555的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)签名,即数字签名,只有信息的发送者才能产生的、别人无法伪造的一段数字串,同时也是对信息的发送者发送信息真实性的有效证明;数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证,是非对称密钥加密技术与数字摘要技术的应用。
2)交易(Transaction),等同于计算机术语“事务”,交易包括了需要提交到区块链网络执行的操作,并非单指商业语境中的交易,鉴于在区块链技术中约定俗成地使用了“交易”这一术语,本申请实施例遵循了这一习惯。
例如,部署(Deploy)交易用于向区块链网络中的节点安装指定的智能合约并准备好被调用;调用(Invoke)交易用于通过调用智能合约在区块链中追加交易的记录,并对区块链的状态数据库进行操作,包括更新操作(包括增加、删除和修改状态数据库中的键值对)和查询操作(即查询状态数据库中的键值对)。
3)区块链(Blockchain),是由区块(Block)形成的加密的、链式的交易的存储结构。
4)区块链网络(Blockchain Network),通过共识的方式将新区块纳入区块链的一系列的节点的集合。
5)账本(Ledger),是区块链(也称为账本数据)和与区块链同步的状态数据库的统称。其中,区块链是以文件系统中的文件的形式来记录交易;状态数据库是以不同类型的键(Key)值(Value)对的形式来记录区块链中的交易,用于支持对区块链中交易的快速查询。
6)智能合约(Smart Contracts),也称为链码(Chaincode)或应用代码,部署在区块链网络的节点中的程序,节点执行接收的交易中所调用的智能合约,来对状态数据库的键值对数据进行更新或查询的操作。
7)共识(Consensus),是区块链网络中的一个过程,用于在涉及的多个节点之间对区块中的交易达成一致,达成一致的区块将被追加到区块链的尾部,实现共识的机制包括工作量证明(PoW,Proof of Work)、权益证明(PoS,Proof of Stake)、股份授权证明(DPoS,Delegated Proof-of-Stake)、消逝时间量证明(PoET,Proof of Elapsed Time)等。
8)客户端,终端中运行的用于提供各种服务的应用程序,例如即时通讯客户端、视频播放客户端。
9)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
10)保量,是运营人员做内容或者账号扶持的重要手段,运营人员对需要保量的视频等媒体信息设定保量范围、保量面向群体等参数,由推荐侧进行保量下发。
11)比例-积分-微分控制器(PID,proportion integration differentiation):属于无模型控制,分别由比例单元(P)、积分单元(I)和微分单元(D)组成,一般来说,通过调整这三个单元的增益Kp,Ki和Kd来确定PID控制特性。
其中,比例调节作用:是按照比例反应系统的偏差,系统一旦出现了偏差,比例调节立即产生调节作用用于减少偏差。比例作用大,可以加快调节,减少误差,但是过大的比例,使系统的稳定性下降,甚至造成系统的稳定。
积分调节作用:是使系统消除稳态误差,有误差,积分调节就进行,直至无差,积分调节停止。加入积分调节可以使系统稳定性下降,动态响应变慢。
微分调节作用;反应系统偏差信号的变化率,具有预见性,能遇见偏差的趋势,因此产生超前的控制作用,可以改善系统的动态性能,在微分选择合适的情况下,可以减少超调,减少调节时间。微分作用对噪声干扰有放大作用,因此过强的加微分调节,对系统抗干扰不利。
12)令牌桶算法:是网络流量整形(Traffic Shaping)和速率限制(RateLimiting)中最常使用的一种算法。典型情况下,令牌桶算法用来控制发送到网络上的数据的数目,并允许突发数据的发送。令牌桶算法和漏桶算法是效果一样,但方向相反的算法。随着时间流逝,系统会按恒定1/QPS时间间隔(如果QPS=100,则间隔是10ms)往桶里加入令牌,如果令牌桶满了就不再加,新请求来临时,会各自拿走一个令牌,如果没有令牌就阻塞或者拒接服务。令牌桶的另一个好处就是可以方便改变速度,一旦需要提高速率,则按需提高放入桶中的令牌速度。
基于上述对本申请实施例中涉及的名词和术语的解释,下面说明本申请实施例提供的待推荐媒体信息的分配系统。参见图1,图1是本申请实施例提供的待推荐媒体信息的分配系统的架构示意图,为实现支撑一个示例性应用,终端(示例性示出了终端400-1)通过网络300连接至少一个推荐服务器(示例性示出了推荐服务器200-1、200-2以及200-3)、以及分配服务器100,其中,分配服务器100用于向各推荐服务器(比如推荐服务器200-1)分配待推荐媒体信息,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线或有线链路实现数据传输。
分配服务器100,用于获取待推荐媒体信息对应目标时间段的计划分配数量、所述待推荐媒体信息的历史分配数量、以及所述历史分配数量对应的分配误差;结合所述计划分配数量、所述历史分配数量以及所述分配误差,确定所述待推荐媒体信息对应所述目标时间段的目标分配数量;
终端(如终端400-1),用于响应于用户操作,发送媒体信息推荐指令至推荐服务器(比如推荐服务器200-1);
推荐服务器(比如推荐服务器200-1),用于响应于媒体信息推荐指令,发送针对所述待推荐媒体信息的获取请求至分配服务器100;
分配服务器100,用于基于所述目标分配数量,响应分布式推荐系统中各推荐服务针对所述待推荐媒体信息的获取请求,为各所述推荐服务分配所述待推荐媒体信息;当为各所述推荐服务分配的所述待推荐媒体信息的数量之和达到所述目标分配数量时,停止分配所述待推荐媒体信息。
在实际应用中,服务器(如分配服务器100以及推荐服务器)可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端(如终端400-1)可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能电视、智能手表等,但并不局限于此。终端(如终端400-1)以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
参见图2,图2是本申请实施例提供的待推荐媒体信息的分配方法的电子设备500的结构示意图。在实际应用中,电子设备500可以为图1示出的服务器或终端,以电子设备500为图1示出的服务器为例,对实施本申请实施例的待推荐媒体信息的分配方法的电子设备进行说明,本申请实施例提供的电子设备500包括:至少一个处理器510、存储器550、至少一个网络接口520和用户接口530。电子设备500中的各个组件通过总线系统540耦合在一起。可理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统540。
处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口530包括使得能够呈现媒体内容的一个或多个输出装置531,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口530还包括一个或多个输入装置532,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器550可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。
存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器550旨在包括任意适合类型的存储器。
在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块553,用于经由一个或多个与用户接口530相关联的输出装置531(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块554,用于对一个或多个来自一个或多个输入装置532之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的待推荐媒体信息的分配装置可以采用软件方式实现,图2示出了存储在存储器550中的待推荐媒体信息的分配装置555,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块5551、确定模块5552、分配模块5553和停止分配模块5554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的待推荐媒体信息的分配装置可以采用软硬件结合的方式实现,作为示例,本申请实施例提供的待推荐媒体信息的分配装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的待推荐媒体信息的分配方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable LogicDevice)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
基于上述对本申请实施例提供的待推荐媒体信息的分配系统及电子设备的说明,下面说明本申请实施例提供的待推荐媒体信息的分配方法。在一些实施例中,本申请实施例提供的待推荐媒体信息的分配方法可由服务器或终端单独实施,或由服务器及终端协同实施,下面以服务器实施为例说明本申请实施例提供的待推荐媒体信息的分配方法。
参见图3,图3是本申请实施例提供的待推荐媒体信息的分配方法的流程示意图,本申请实施例提供的待推荐媒体信息的分配方法包括:
步骤101:服务器获取待推荐媒体信息对应目标时间段的计划分配数量、待推荐媒体信息的历史分配数量、以及历史分配数量对应的分配误差。
这里,该服务器可以是分布式推荐系统中的中心控制服务器,和至少一个推荐服务器构成该分布式推荐系统,用于为各推荐服务器进行待推荐媒体信息的分配、下发等;该服务器还可以是分布式推荐系统中的一个推荐服务器,可以通过选举机制从多个推荐服务器中选举得到,也可以预先配置。
在实际应用中,服务器在进行待推荐媒体信息的分配时,首先确定该待推荐媒体信息的目标分配数量。在实际实施时,待推荐媒体信息的总分配量是预先设置的,比如针对推荐场景中的媒体信息的保量任务,该总分配量即为需要保量的数量;同时待推荐媒体信息的总分配量是分配周期的,即需要在预设的一个时间周期内完成该总分配量的下发从而完成保量任务,比如针对待推荐媒体信息A,总分配量为10000,分配周期为25小时。
在本申请实施例中,为避免某个时间出现流量井喷式下发的问题,服务器可以将总分配周期划分为多个时间段,然后确定每个时间段内的计划分配数量,从而基于确定的计划分配数量,在该时间段内控制各推荐服务器完成该计划分配数量的媒体信息的下发。但是在实际应用中,每个时间段只有在理想情况下才会完成指定的计划分配数量的下发,因此会存在某个时间段的待推荐媒体信息的实际分配数量达不到计划分配数量、或者超过计划分配数量的问题,从而影响整体的待推荐媒体信息的分配控制。
基于此,在本申请实施例中,服务器需要根据目标时间段之前的分配情况,确定当前目标时间段的待推荐媒体信息的目标分配数量。具体地,服务器需要获取待推荐媒体信息对应目标时间段的计划分配数量(即理想情况下的分配数量,比如总分配量为10000,分配周期为25小时,目标时间段为1小时,那么该目标时间段的计划分配数量即为400)、待推荐媒体信息的历史分配数量、以及该历史分配数量对应的分配误差。这里,该历史分配数量可以是与目标时间段相邻的前一时间段的实际分配数量;该分配误差可以是与目标时间段相邻的前一时间段的实际分配数量和计划分配数量的差值,也可以是该目标时间段之前的各时间段的实际分配数量和计划分配数量的差值之和。
在一些实施例中,服务器可通过如下方式获取历史分配数量对应的分配误差:当目标时间段之前存在至少两个时间段时,获取与目标时间段相邻的前一时间段内待推荐媒体信息的第一历史分配数量、以及待推荐媒体信息对应前一时间段的第一计划分配数量;基于第一历史分配数量、以及第一计划分配数量,确定历史分配数量对应的分配误差。
这里,当分配误差是与目标时间段相邻的前一时间段的实际分配数量和计划分配数量的差值时,服务器可通过如下方式确定分配误差:获取与目标时间段相邻的前一时间段内待推荐媒体信息的第一历史分配数量、以及待推荐媒体信息对应前一时间段的第一计划分配数量;计算第一历史分配数量以及第一计划分配数量之间的差值,得到历史分配数量对应的分配误差。
在一些实施例中,服务器还可通过如下方式获取历史分配数量对应的分配误差:当目标时间段之前存在至少两个时间段时,获取至少两个时间段中各时间段内待推荐媒体信息的第二历史分配数量、以及待推荐媒体信息对应各时间段的第二计划分配数量;针对各时间段,基于第二历史分配数量、以及第二计划分配数量,确定时间段对应的中间分配误差;将各时间段对应的中间分配误差进行加和,得到历史分配数量对应的分配误差。
这里,当分配误差是该目标时间段之前的各时间段的实际分配数量和计划分配数量的差值之和时,服务器可通过如下方式确定分配误差:当目标时间段之前存在至少两个时间段时,获取每个时间段内待推荐媒体信息的第二历史分配数量、以及待推荐媒体信息对应各时间段的第二计划分配数量,然后计算各时间段对应的第二历史分配数量、以及第二计划分配数量之间的差值,从而得到各时间段的中间分配误差;最后将各时间段对应的中间分配误差进行加和,得到历史分配数量对应的分配误差。
步骤102:结合计划分配数量、历史分配数量以及分配误差,确定待推荐媒体信息对应目标时间段的目标分配数量。
在确定待推荐媒体信息对应目标时间段的计划分配数量、待推荐媒体信息的历史分配数量、以及历史分配数量对应的分配误差后,结合计划分配数量、历史分配数量以及分配误差,确定待推荐媒体信息对应目标时间段的目标分配数量。
在一些实施例中,服务器可通过如下方式确定待推荐媒体信息对应目标时间段的目标分配数量:基于计划分配数量以及历史分配数量,确定分配数量差值;获取计划分配数量对应的第一调节因子、分配误差对应的第二调节因子、以及分配数量差值对应的第三调节因子;基于第一调节因子、第二调节因子以及第三调节因子,结合计划分配数量、分配误差以及分配数量差值,确定待推荐媒体信息对应目标时间段的目标分配数量。
基于此,服务器可将计划分配数量以及相应的第一调节因子输入比例积分微分控制器的比例控制单元;将分配误差以及相应的第二调节因子输入比例积分微分控制器的积分控制单元;将分配数量差值以及相应的第三调节因子输入比例积分微分控制器的微分控制单元;通过比例控制单元、积分控制单元以及微分控制单元,基于第一调节因子、第二调节因子以及第三调节因子,结合计划分配数量、分配误差以及分配数量差值,确定待推荐媒体信息对应目标时间段的目标分配数量。
在本申请实施例中,通过PID控制器来实现目标分配数量的计算。参见图4,图4是本申请实施例提供的基于PID计算目标分配数量的流程示意图。这里,PID控制器由比例控制单元、积分控制单元以及微分控制单元构成。当确定待推荐媒体信息对应目标时间段的计划分配数量、待推荐媒体信息的历史分配数量、以及历史分配数量对应的分配误差后,确定计划分配数量以及历史分配数量的分配数量差值;然后分别获取计划分配数量、分配误差以及分配数量差值对应的调节因子;从而通过PID控制器基于计划分配数量、分配误差以及分配数量差值、以及相应的调节因子确定待推荐媒体信息对应目标时间段的目标分配数量。
具体地,将计划分配数量以及相应的第一调节因子输入PID控制器的比例控制单元;将分配误差以及相应的第二调节因子输入PID控制器的积分控制单元;将分配数量差值以及相应的第三调节因子输入PID控制器的微分控制单元,从而基于比例控制单元、积分控制单元以及微分控制单元,结合输入的各参数确定待推荐媒体信息对应目标时间段的目标分配数量。在实际应用中,PID控制的计算公式为:
Figure 57415DEST_PATH_IMAGE001
其中,
Figure 771293DEST_PATH_IMAGE002
是比例调节因子(即第一调节因子),
Figure 331456DEST_PATH_IMAGE003
是积分调节因子(即第二调节因子),
Figure 257824DEST_PATH_IMAGE004
是微分调节因子(即第三调节因子),
Figure 603355DEST_PATH_IMAGE005
表示
Figure 956976DEST_PATH_IMAGE006
时间段对应的目标分配数量,
Figure 505900DEST_PATH_IMAGE007
是每个时间段理想情况下的计划分配数量,
Figure 235959DEST_PATH_IMAGE008
是前一时间段的历史分配数量,
Figure 435996DEST_PATH_IMAGE009
是计划分配数量
Figure 960518DEST_PATH_IMAGE007
和历史分配数量
Figure 763782DEST_PATH_IMAGE008
的分配数量差值,
Figure 31953DEST_PATH_IMAGE010
是前面
Figure 86496DEST_PATH_IMAGE006
时间段之前的所有时间段内欠发或者超发的数量,即
Figure 798231DEST_PATH_IMAGE006
时间段之前的所有时间段内的分配误差。
在一些实施例中,当待推荐媒体信息为至少两个时,服务器可针对各待推荐媒体信息执行如下处理,以确定待推荐媒体信息对应目标时间段的目标分配数量:结合计划分配数量、历史分配数量以及分配误差,确定待推荐媒体信息对应目标时间段的中间目标分配数量;获取预设时间周期内至少两个待推荐媒体信息的平均历史曝光数量、以及待推荐媒体信息对应的目标分配比例;基于平均历史曝光数量、目标分配比例以及计划分配数量,确定中间目标分配数量对应的修正参数;基于修正参数以及中间目标分配数量,确定待推荐媒体信息对应目标时间段的目标分配数量。
其中,该目标分配比例,为待推荐媒体信息在预设时间周期内的历史分配数量与至少两个待推荐媒体信息在预设时间周期内的历史分配总数量的比值。
这里,该预设时间周期可以是最近7天,获取预设时间周期内至少两个待推荐媒体信息的平均历史曝光数量即为,获取最近7天中每天目标时间段的待推荐媒体信息的历史曝光数量,从而得到平均历史曝光数量。
在实际应用中,大盘流量曲线每天都是波动的,有波峰也有波谷,如果PID流量调控不参考大盘流量,在波谷的时候大量分发,会提升该时段的保量曝光量占比,对用户的干扰会增加。因此,基于上述PID控制器计算得到目标时间段的目标分配数量之后,还会参照大盘流量对基于PID控制器计算得到目标时间段的目标分配数量做适应性调整,具体地,首先可通过如下方式计算得到目标分配数量的修正参数
Figure 305436DEST_PATH_IMAGE011
Figure 377297DEST_PATH_IMAGE012
其中,
Figure 551927DEST_PATH_IMAGE013
是预设时间周期(比如近7天)的目标时间段的各个待推荐媒体信息的平均历史曝光数量,
Figure 667519DEST_PATH_IMAGE014
是待推荐媒体信息
Figure 927599DEST_PATH_IMAGE015
在预设时间周期内的历史分配数量与至少两个待推荐媒体信息在预设时间周期内的历史分配总数量的比值(比如可以是最大比值),
Figure 537572DEST_PATH_IMAGE016
是指待推荐媒体信息
Figure 566708DEST_PATH_IMAGE015
在目标时间段的计划分配数量,分母+1是为了防止分母为0会异常。需要说明的是,历史分配数量即为历史曝光数量,在本申请中,待推荐媒体信息只有曝光后才可计入实际分配数量(即历史分配数量)。
然后结合计算得到的调控因子,修正基于PID计算服务单元计算得到当前时间段的目标下发数量:
Figure 620246DEST_PATH_IMAGE017
其中,
Figure 102043DEST_PATH_IMAGE018
是修正后的目标分配数量,
Figure 515707DEST_PATH_IMAGE019
是修正前的目标分配数量。
步骤103:基于目标分配数量,响应分布式推荐系统中各推荐服务针对待推荐媒体信息的获取请求,为各推荐服务分配待推荐媒体信息。
这里,服务器在确定目标时间段内待推荐媒体信息的目标分配数量后,当接收到分布式推荐系统中各推荐服务(可以为推荐服务器)针对待推荐媒体信息的获取请求时,响应于各推荐服务的获取请求,基于该目标分配数量,为各推荐服务分配待推荐媒体。
在一些实施例中,服务器可通过如下方式为各推荐服务分配待推荐媒体信息:当待推荐媒体信息为至少两个、且待推荐媒体信息存在相应的优先级时,获取各待推荐媒体信息对应的优先级;响应分布式推荐系统中各推荐服务针对待推荐媒体信息的获取请求,按照各待推荐媒体信息对应的优先级,依次为各推荐服务分配各待推荐媒体信息。
在实际应用中,当待推荐媒体信息为至少两个时,则可以对待推荐媒体信息设置相应的优先级,以便于服务器按照优先级的高低向各推荐服务分配待推荐媒体信息。具体地,该待推荐媒体信息的优先级的设置,可以根据待推荐媒体信息的内容的重要度来设置,比如一些重要时事的短视频等待推荐媒体信息,则可以设置较高的优先级;还可以根据待推荐媒体信息对应的发布用户来设置,具体优先级的设置方式可以根据需要自行确定,在本申请实施例中不作限定。
而在服务器接收到各推荐服务的获取请求后,获取各待推荐媒体信息对应的优先级;响应于各推荐服务针对待推荐媒体信息的获取请求,按照各待推荐媒体信息对应的优先级,具体可以是按照优先级从高到低的方式,依次为各推荐服务分配各待推荐媒体信息。
在一些实施例中,当待推荐媒体信息为至少两个、且待推荐媒体信息存在相应的优先级时,服务器可对分配的至少两个待推荐媒体信息中第一待推荐媒体信息的数量进行监测;当监测到当前已分配的第一待推荐媒体信息的数量低于分配数量阈值时,调整第一待推荐媒体信息对应的优先级为高优先级;
基于此,服务器可通过如下方式为各推荐服务分配待推荐媒体信息:响应分布式推荐系统中各推荐服务针对第一待推荐媒体信息以及第二待推荐媒体信息的获取请求,优先为各推荐服务分配第一待推荐媒体信息。其中,第一待推荐媒体信息对应的优先级高于第二待推荐媒体信息对应的优先级。
在实际应用中,有时候是无法保证每个待推荐媒体信息都会被分配至推荐服务,因此服务器还会对分配的至少两个待推荐媒体信息中第一待推荐媒体信息的数量进行监测;当监测到当前已分配的第一待推荐媒体信息的数量低于分配数量阈值时,则可以将第一待推荐媒体信息对应的优先级暂时调整为高优先级。如此,服务器在接收到各推荐服务器针对第一待推荐媒体信息以及第二待推荐媒体信息的获取请求时,因为第一待推荐媒体信息对应的优先级高于第二待推荐媒体信息对应的优先级,则可以优先为各推荐服务分配第一待推荐媒体信息,以保证第一待推荐媒体信息可以优先下发,从而提高第一待推荐媒体信息的下发数量。
在一些实施例中,当待推荐媒体信息为至少两个、且待推荐媒体信息存在相应的优先级时,服务器可获取各待推荐媒体信息对应的优先级;并确定处于各同一优先级的第三待推荐媒体信息与第四待推荐媒体信息的推荐紧急程度;
基于此,服务器可通过如下方式为各推荐服务分配待推荐媒体信息:响应分布式推荐系统中各推荐服务针对第三待推荐媒体信息以及第四待推荐媒体信息的获取请求,优先为各推荐服务分配第三待推荐媒体信息。其中,第三待推荐媒体信息对应的推荐紧急程度高于第四待推荐媒体信息对应的推荐紧急程度。
这里,服务器针对处于同一优先级的至少两个待推荐媒体信息,可以确定该处于各同一优先级的第三待推荐媒体信息与第四待推荐媒体信息的推荐紧急程度。具体地,每个待推荐媒体信息的推荐紧急程度可通过如下公式确定:
Figure 399349DEST_PATH_IMAGE021
其中,
Figure 136972DEST_PATH_IMAGE022
表示目标分配数量,
Figure 106065DEST_PATH_IMAGE023
表示当前已经分配的数量,
Figure 57840DEST_PATH_IMAGE024
表示目标时间段的结束时间,
Figure 61568DEST_PATH_IMAGE025
表示所处目标时间段的当前时间。
如此,服务器在接收到各推荐服务器针对第三待推荐媒体信息以及第四待推荐媒体信息的获取请求时,因为第三待推荐媒体信息对应的推荐紧急程度高于第四待推荐媒体信息对应的推荐紧急程度,则可以优先为各推荐服务分配第三待推荐媒体信息,以保证第三待推荐媒体信息可以优先下发,从而提高第三待推荐媒体信息的下发数量。
在一些实施例中,当待推荐媒体信息为至少两个且待推荐媒体信息存在相应的优先级时,服务器可获取各待推荐媒体信息对应的优先级;并确定处于各同一优先级的第五待推荐媒体信息与第六待推荐媒体信息的目标分配速度分数;
基于此,服务器可通过如下方式为各推荐服务分配待推荐媒体信息:响应分布式推荐系统中各推荐服务针对第五待推荐媒体信息以及第六待推荐媒体信息的获取请求,优先为各推荐服务分配第五待推荐媒体信息。其中,第五待推荐媒体信息对应的目标分配速度分数高于第六待推荐媒体信息对应的目标分配速度分数。
这里,服务器针对处于同一优先级的至少两个待推荐媒体信息,可以确定该处于各同一优先级的第五待推荐媒体信息与第六待推荐媒体信息的目标分配速度分数。具体地,每个待推荐媒体信息的目标分配速度分数可通过如下公式确定:
首先,单个待推荐媒体信息的分配速度可以基于如下公式得到:
Figure 456909DEST_PATH_IMAGE026
其中,
Figure 647718DEST_PATH_IMAGE022
表示目标分配数量,
Figure 403185DEST_PATH_IMAGE023
表示当前已经分配的数量,
Figure 995840DEST_PATH_IMAGE024
表示目标时间段的结束时间,
Figure 326196DEST_PATH_IMAGE025
表示所处目标时间段的当前时间。
单个待推荐媒体信息的分配速度因子可以基于如下公式得到:
Figure 269882DEST_PATH_IMAGE027
基于此,针对同一优先级级别的任务,其分配速度可以通过如下公式计算:
Figure 829039DEST_PATH_IMAGE029
其中,
Figure 541780DEST_PATH_IMAGE030
为优先级,
Figure 13344DEST_PATH_IMAGE031
为优先级调控因子,
Figure 444325DEST_PATH_IMAGE032
为速度调控因子。基于此可以对之前下发的快的待推荐媒体信息控一下分配速度,让下发的慢的待推荐媒体信息优先发送,从而提高下发数量、以及下发速度。
如此,服务器在接收到各推荐服务器针对第五待推荐媒体信息以及第六待推荐媒体信息的获取请求时,因为第五待推荐媒体信息对应的目标分配速度分数高于第六待推荐媒体信息对应的目标分配速度分数,则可以优先为各推荐服务分配第五待推荐媒体信息,以保证第五待推荐媒体信息可以优先下发,从而提高第五待推荐媒体信息的下发数量、以及下发速度。
在一些实施例中,服务器可通过如下方式为各推荐服务分配待推荐媒体信息:生成与目标分配数量相适配的目标数量的令牌;响应分布式推荐系统中各推荐服务针对待推荐媒体信息的获取请求,返回待推荐媒体信息,并为各推荐服务针对待推荐媒体信息,从目标数量的令牌中,选取并分配第一数量的令牌;其中,该第一数量的令牌,用于指示推荐服务将待推荐媒体信息推荐至终端的次数。
在一些实施例中,服务器可通过如下方式停止分配待推荐媒体信息:针对待推荐媒体信息,获取为各推荐服务分配的令牌的数量之和;当为各推荐服务分配的令牌的数量之和达到目标数量时,停止为各推荐服务分配对应待推荐媒体信息的令牌。
这里,可通过令牌桶算法为各推荐服务分配待推荐媒体信息。当确定目标分配数量后,服务器生成与目标分配数量相适配的目标数量的令牌,比如目标分配数量为100,那么也可以生成100个令牌;响应于各推荐服务针对待推荐媒体信息的获取请求,将待推荐媒体信息返回至各推荐服务,同时为各推荐服务针对待推荐媒体信息,从目标数量的令牌中,选取并分配第一数量的令牌,比如在返回待推荐媒体信息A的同时,针对该待推荐媒体信息A选取并分配10个令牌至各推荐服务。这里,该第一数量的令牌,用于指示推荐服务将待推荐媒体信息推荐至终端的次数。
各推荐服务接收到服务器分配的待推荐媒体信息以及相应的第一数量的令牌后,执行如下处理:将待推荐媒体信息推荐至设置有媒体信息推荐客户端的终端,并将第一数量的令牌减少第二数量(第二数量不超过第一数量)的令牌,比如推荐服务每推荐一次待推荐媒体信息至终端,第一数量的令牌均减少1个令牌,直至第一数量的令牌减少至0,或者不足以支持推荐服务再次推荐待推荐媒体信息至终端为止。此时,当待推荐媒体信息为多个时,推荐服务还可以记录令牌数量归零对应的待推荐媒体信息,然后按照预设的时间间隔(比如15s)异步地服务器再次请求该待推荐媒体信息的令牌。具体地,推荐服务获取上一次获取请求的发送时间以及获取请求发送周期,当基于上一次的发送时间以及发送周期确定获取请求的发送时间再次到达时,发送该待推荐媒体信息的获取请求至服务器,以再次请求该待推荐媒体信息的令牌。
当服务器接收到推荐服务针对待推荐媒体信息的获取请求时,首先针对该待推荐媒体信息,获取各推荐服务分配的令牌的数量之和,如果为各推荐服务分配的令牌的数量之和未达到目标数量,则再次针对该待推荐媒体信息返回第一数量的令牌,并将目标数量的令牌再次减去该第一数量的令牌。如果为各推荐服务分配的令牌的数量之和达到目标数量,则不再响应推荐服务的获取请求,即停止为推荐服务分配该媒体信息的令牌,以使推荐服务停止对待推荐媒体信息的推荐,控制待推荐媒体信息的下发量。
在一些实施例中,服务器也可通过如下方式为各推荐服务分配待推荐媒体信息:生成与目标分配数量对应的分配数量记录,该分配数量记录用于记录待推荐媒体信息对应的剩余推荐次数;响应分布式推荐系统中各推荐服务针对待推荐媒体信息的获取请求,针对每个获取请求,返回待推荐媒体信息及相应的推荐数量信息;基于返回至各推荐服务的推荐数量信息,更新分配数量记录中待推荐媒体信息对应的剩余推荐次数。其中,该推荐数量信息,用于指示推荐服务将待推荐媒体信息推荐至终端的次数。
在实际应用中,服务器该对各推荐服务进行待推荐媒体信息的分配时,还可以生成目标分配数量对应的分配数量记录,以记录待推荐媒体信息对应的剩余推荐次数。当接收到各推荐服务针对待推荐媒体信息的获取请求时,响应于各推荐服务的获取请求,针对每个获取请求,返回待推荐媒体信息及相应的推荐数量信息,然后基于返回至各推荐服务的推荐数量信息,更新分配数量记录中待推荐媒体信息对应的剩余推荐次数。即如果针对待推荐媒体信息A返回的推荐数量信息为10时,则将分配数量记录中的剩余推荐次数减去10。这里,该推荐数量信息,用于指示推荐服务将待推荐媒体信息推荐至终端的次数。
当推荐服务接收到服务器返回的待推荐媒体信息及相应的推荐数量信息后,按照推荐数量信息,将待推荐媒体信息推荐至终端,并每当待推荐媒体信息推荐一次至终端时,推荐数量信息相应的减少1次,直至推荐数量信息归零。之后,推荐服务可以再次发送待推荐媒体信息的获取请求至服务器。
当服务器接收到推荐服务针对待推荐媒体信息的获取请求时,首先针对该待推荐媒体信息,获取相应的分配数量记录,如果分配数量记录中该待推荐媒体信息对应的剩余推荐次数不为零,则针对该待推荐媒体信息下发相应的推荐数量信息;如果分配数量记录中该待推荐媒体信息对应的剩余推荐次数为零,则停止针对该待推荐媒体信息下发相应的推荐数量信息,以使推荐服务停止对待推荐媒体信息的推荐,控制待推荐媒体信息的下发量。
在一些实施例中,服务器还可通过如下方式为各推荐服务分配待推荐媒体信息:响应分布式推荐系统中各推荐服务针对待推荐媒体信息的获取请求,将各推荐服务针对待推荐媒体信息的获取请求加入先入先出的缓冲队列;依据各获取请求所处缓冲队列中的排序,依次为各推荐服务分配待推荐媒体信息。
在实际应用中,由于服务器需要响应多个推荐服务器的获取请求,因此,为提高响应效率和避免同时响应请求导致媒体信息超发的现象出现,服务器响应各推荐服务针对待推荐媒体信息的获取请求,将各推荐服务针对待推荐媒体信息的获取请求加入先入先出的缓冲队列;从而依据各获取请求所处缓冲队列中的排序,依次为各推荐服务分配待推荐媒体信息。
步骤104:当为各推荐服务分配的待推荐媒体信息的数量之和达到目标分配数量时,停止分配待推荐媒体信息。
这里,当处于目标时间段内,当前的为各推荐服务分配的待推荐媒体信息的数量之和达到目标时间段对应的目标分配数量时,则停止分配待推荐媒体信息至各推荐服务,以使推荐服务停止对待推荐媒体信息的推荐,控制待推荐媒体信息的下发量。
在一些实施例中,当服务器也具备推荐服务器的功能时,服务器可针对至少两个待推荐对象,分别确定各待推荐对象与待推荐媒体信息的对象匹配分数;从至少两个待推荐对象中,选取对象匹配分数符合推荐条件的目标待推荐对象;优先为目标待推荐对象推荐待推荐媒体信息。其中,该对象匹配分数,用于表征待推荐对象针对待推荐媒体信息执行交互行为的可能性。
在实际应用中,该服务器可以是分布式推荐系统中的一个推荐服务器,可以通过选举机制从多个推荐服务器中选举得到,也可以预先配置。基于此,服务器还可以根据待推荐媒体信息与待推荐对象的对象匹配分数选择目标待推荐对象,以优先将待推荐媒体信息推荐至目标待推荐对象。
由于该对象匹配分数,用于表征待推荐对象针对待推荐媒体信息执行交互行为的可能性,基于对象匹配分数选择目标待推荐对象,可以选择对象匹配分数符合推荐条件的目标待推荐对象,比如对象匹配分数降序排序靠前的待推荐对象、或者也可以选择对象匹配分数达到分数阈值的待推荐对象。如此,服务器优先将待推荐媒体信息推荐至目标待推荐对象,可以提高待推荐媒体信息的曝光率,点击率等,同时还提高了用户的体验。由于在本申请中真实曝光的媒体信息才计入实际分配数量,因此还提升了分配的效率与效果。
在一些实施例中,当服务器也具备推荐服务器的功能时,当向目标对象进行媒体信息推荐、且待推荐媒体信息为至少两个时,服务器可分别确定各待推荐媒体信息与目标对象的信息匹配分数;从至少两个待推荐媒体信息中,选取信息匹配分数符合推荐条件的目标推荐媒体信息;优先将目标推荐媒体信息推荐至目标对象。其中,该信息匹配分数,用于表征目标对象针对待推荐媒体信息执行交互行为的可能性。
在实际应用中,该服务器可以是分布式推荐系统中的一个推荐服务器,可以通过选举机制从多个推荐服务器中选举得到,也可以预先配置。基于此,当对目标对象进行媒体信息推荐时,服务器还可以根据至少一个待推荐媒体信息与目标对象的信息匹配分数选择目标待推荐媒体信息,以优先将目标待推荐媒体信息推荐至目标对象。
由于该信息匹配分数,用于表征目标对象针对待推荐媒体信息执行交互行为的可能性,基于信息匹配分数选择目标待推荐媒体信息,可以选择信息匹配分数符合推荐条件的目标待推荐媒体信息比如信息匹配分数降序排序靠前的待推荐媒体信息、或者也可以选择信息匹配分数达到分数阈值的待推荐媒体信息。如此,服务器优先将目标待推荐媒体信息推荐至目标对象,可以提高目标待推荐媒体信息的曝光率,点击率等,同时还提高了用户的体验。由于在本申请中真实曝光的媒体信息才计入实际分配数量,因此还提升了分配的效率与效果。
下面以基于PID计算待推荐媒体信息对应目标时间段的目标分配数量,并基于令牌桶对待推荐媒体信息进行分配为例,对本申请实施例提供的待推荐媒体信息的分配方法进行说明,参见图5,图5是本申请实施例提供的基于PID+令牌桶的待推荐媒体信息的分配方法的示意图。这里,PID计算服务单元针对当前时间段的PID计算任务(即计算当前时间段的待推荐媒体信息的目标分配数量),实时监控当前时间段的上一时间段所分配媒体信息的曝光数据,然后基于当前时间段的上一时间段所分配媒体信息的曝光数据(需要说明的是,只有真实曝光的媒体信息才计入实际分配数量),计算当前时间段的媒体信息的目标分配数量,进而通过策略服务,结合预设的分配策略(比如优先级分配策略),通过令牌桶的方式调控媒体信息的分配速度,即控制目标分配数量的待推荐媒体信息的分配。
应用本申请上述实施例,基于获取的待推荐媒体信息对应目标时间段的计划分配数量、历史分配数量以及历史分配数量对应的分配误差,确定待推荐媒体信息对应目标时间段的目标分配数量,然后根据目标分配数量,为各推荐服务分配待推荐媒体信息,直至分配的待推荐媒体信息的数量之和达到目标分配数量时停止分配;
如此,在媒体信息分配时,可以通过确定每个时间段的目标分配数量,进而按照该目标分配数量在相应时间段内进行待推荐媒体信息的分配,能够从整体上保证了媒体信息的平稳分发,避免出现媒体信息井喷式下发的情况;同时目标分配数量是基于历史分配数量以及分配误差确定,如此保证媒体信息能够按照预期计划量进行分发,提高媒体信息的分发效率。
这里,服务器还可以结合区块链技术,将待推荐媒体信息对应目标时间段的目标分配数量存储至区块链网络中,以使服务器在各推荐服务分配待推荐媒体信息时,能够直接从区块链网络中获取到待推荐媒体信息对应目标时间段的目标分配数量。
在实际应用中,服务器确定待推荐媒体信息对应目标时间段的目标分配数量后,生成用于存储目标分配数量的交易,并发送生成的交易至区块链网络的节点,以使节点对交易共识后将目标分配数量存储至区块链网络;在存储至区块链网络之前,服务器还可获取目标分配数量对应的密钥的摘要信息;将得到的密钥的摘要信息存储至区块链网络。
接下来对本申请实施例中的区块链网络进行说明。图6为本申请实施例提供的区块链网络的应用架构示意图,包括区块链网络600(示例性示出了共识节点610,如共识节点610-1至共识节点610-3)、认证中心700、业务主体800,下面分别说明。
区块链网络600的类型是灵活多样的,例如可以为公有链、私有链或联盟链中的任意一种。以公有链为例,任何业务主体的电子设备(例如终端/服务器),都可以在不需要授权的情况下接入区块链网络600;以联盟链为例,业务主体在获得授权后其下辖的电子设备可以接入区块链网络600。如此,成为区块链网络600中的客户端节点。
在一些实施例中,客户端节点可以只作为区块链网络600的观察者,即提供支持业务主体发起交易(例如,用于上链存储数据或查询链上数据)功能,对于区块链网络600的共识节点610的功能,例如排序功能、共识服务和账本功能等,客户端节点可以缺省或者有选择性(例如,取决于业务主体的具体业务需求)地实施。从而,可以将业务主体的数据和业务处理逻辑最大程度迁移到区块链网络600中,通过区块链网络600实现数据和业务处理过程的可信和可追溯。
区块链网络600中的共识节点接收来自不同业务主体(如业务主体800)的客户端节点(如归属于业务主体800的客户端节点810)提交的交易,执行交易以更新账本或者查询账本,执行交易的各种中间结果或最终结果可以返回至业务主体的客户端节点中显示。
下面以业务主体接入区块链网络以实现目标分配数量的获取为例说明区块链的示例性应用。
参见图6,数据报文的传输方法涉及的业务主体800,从认证中心700进行登记注册获得数字证书,数字证书中包括业务主体的公钥、以及认证中心700对业务主体的公钥和身份信息签署的数字签名,用来与业务主体针对交易的数字签名一起附加到交易中,并被发送到区块链网络,以供区块链网络从交易中取出数字证书和签名,验证消息的可靠性(即是否未经篡改)和发送消息的业务主体的身份信息,区块链网络会根据身份进行验证,例如是否具有发起交易的权限。业务主体下辖的电子设备(例如终端或者服务器)运行的客户端都可以向区块链网络600请求接入而成为客户端节点。
首先,业务主体800的客户端节点810在获取目标分配数量时,生成用于获取区块链中存储的目标分配数量的交易,在交易中指定了实现目标分配数量的获取操作需要调用的智能合约、以及向智能合约传递的参数,交易还携带了客户端节点810的数字证书、签署的数字签名(例如,使用客户端节点810的数字证书中的私钥,对交易的摘要进行加密得到),并将交易广播到区块链网络600中的共识节点。
然后,区块链网络600的共识节点610接收到交易时,对交易携带的数字证书和数字签名进行验证,验证成功后,根据交易中携带的业务主体800的身份,确认业务主体800是否是具有交易权限,数字签名和权限验证中的任何一个验证判断都将导致交易失败。验证成功后签署共识节点610自己的数字签名(例如,使用节点610-1的私钥对交易的摘要进行加密得到),并继续在区块链网络600中广播。
最后,区块链网络600中的共识节点610接收到验证成功的交易后,将交易填充到新的区块中,并进行广播。区块链网络600中的共识节点610在广播新区块时,会对新区块进行共识过程,如果共识成功,则将新区块追加到自身所存储的区块链的尾部,并根据交易的结果更新状态数据库,执行新区块中的交易:对于提交的获取目标分配数量的交易,从状态数据库中查询目标分配数量对应的键值对,并返回交易结果。
作为区块链的示例,参见图7,图7是本申请实施例提供的区块链网络600中区块链的结构示意图,每个区块的头部既可以包括区块中所有交易的哈希值,同时也包含前一个区块中所有交易的哈希值,新产生的交易的记录被填充到区块并经过区块链网络中节点的共识后,会被追加到区块链的尾部从而形成链式的增长,区块之间基于哈希值的链式结构保证了区块中交易的防篡改和防伪造。
下面说明本申请实施例提供的区块链网络的示例性的功能架构,参见图8,图8是本申请实施例提供的区块链网络600的功能架构示意图,包括应用层1、共识层2、网络层3、数据层4和资源层5,下面分别进行说明。
资源层5封装了实现区块链网路600中的各个节点610的计算资源、存储资源和通信资源。
数据层4封装了实现账本的各种数据结构,包括以文件系统中的文件实现的区块链,键值型的状态数据库和存在性证明(例如区块中交易的哈希树)。
网络层3封装了点对点(P2P,Point to Point)网络协议、数据传播机制和数据验证机制、接入认证机制和业务主体身份管理的功能。
其中,P2P网络协议实现区块链网络600中节点610之间的通信,数据传播机制保证了交易在区块链网络600中的传播,数据验证机制用于基于加密学方法(例如数字证书、数字签名、公/私钥对)实现节点610之间传输数据的可靠性;接入认证机制用于根据实际的业务场景对加入区块链网络600的业务主体的身份进行认证,并在认证通过时赋予业务主体接入区块链网络600的权限;业务主体身份管理用于存储允许接入区块链网络600的业务主体的身份、以及权限(例如能够发起的交易的类型)。
共识层2封装了区块链网络600中的节点610对区块达成一致性的机制(即共识机制)、交易管理和账本管理的功能。共识机制包括POS、POW和DPOS等共识算法,支持共识算法的可插拔。
交易管理用于验证节点610接收的交易中携带的数字签名,验证业务主体的身份信息,并根据身份信息判断确认其是否具有权限进行交易(从业务主体身份管理读取相关信息);对于获得接入区块链网络600的授权的业务主体而言,均拥有认证中心颁发的数字证书,业务主体利用自己的数字证书中的私钥对提交的交易进行签名,从而声明自己的合法身份。
账本管理用于维护区块链和状态数据库。对于取得共识的区块,追加到区块链的尾部;执行取得共识的区块中的交易,当交易包括更新操作时更新状态数据库中的键值对,当交易包括查询操作时查询状态数据库中的键值对并向业务主体的客户端节点返回查询结果。支持对状态数据库的多种维度的查询操作,包括:根据区块序列号(例如交易的哈希值)查询区块;根据区块哈希值查询区块;根据交易序列号查询区块;根据交易序列号查询交易;根据业务主体的账号(序列号)查询业务主体的账号数据;根据通道名称查询通道中的区块链。
应用层1封装了区块链网络能够实现的各种业务,包括交易的溯源、存证和验证等。
接下来继续对本申请实施例提供的待推荐媒体信息的分配方法进行说明,本申请实施例提供的待推荐媒体信息的分配方法可以由至少一个推荐服务器以及分配服务器协同实施。参见图9,图9为本申请实施例提供的待推荐媒体信息的分配方法的流程示意图,包括:
步骤201:分配服务器获取待推荐媒体信息对应目标时间段的计划分配数量、待推荐媒体信息的历史分配数量、以及历史分配数量对应的分配误差。
步骤202:结合计划分配数量、历史分配数量以及分配误差,确定待推荐媒体信息对应目标时间段的目标分配数量。
步骤203:生成与目标分配数量相适配的目标数量的令牌。
步骤204:推荐服务器发送针对待推荐媒体信息的获取请求至分配服务器。
步骤205:分配服务器响应各推荐服务针对待推荐媒体信息的获取请求,返回待推荐媒体信息,并为各推荐服务针对待推荐媒体信息,从目标数量的令牌中,选取并分配第一数量的令牌。
这里,该第一数量的令牌,用于指示推荐服务将待推荐媒体信息推荐至终端的次数。
步骤206:推荐服务器接收待推荐媒体信息以及第一数量的令牌,并基于第一数量的令牌将待推荐媒体信息推荐至终端。
这里,推荐服务器接收待推荐媒体信息以及第一数量的令牌后,将待推荐媒体信息推荐至设置有媒体信息推荐客户端的终端,并将第一数量的令牌减少第二数量(第二数量不超过第一数量)的令牌,直至第一数量的令牌减少至0。
步骤207:记录令牌数量归零对应的待推荐媒体信息,按照预设的时间间隔异步地向分配服务器再次发送针对待推荐媒体信息的获取请求。
这里,该预设时间间隔可以是15s,即为获取请求的发送周期。具体地,推荐服务获取上一次获取请求的发送时间以及获取请求发送周期,当基于上一次的发送时间以及发送周期确定获取请求的发送时间再次到达时,发送该待推荐媒体信息的获取请求至分配服务器,以再次请求该待推荐媒体信息的令牌。
步骤208:分配服务器接收到推荐服务针对待推荐媒体信息的获取请求时,针对该待推荐媒体信息,获取各推荐服务分配的令牌的数量之和。
步骤209:当为各推荐服务分配的令牌的数量之和未达到目标数量时,针对待推荐媒体信息返回第一数量的令牌。
这里,分配服务器在确定为各推荐服务分配的令牌的数量之和未达到目标数量时,再次针对待推荐媒体信息返回第一数量的令牌,并将目标数量的令牌再次减去该第一数量的令牌;同时将目标数量的令牌减去该第一数量的令牌。
步骤210:当为各推荐服务分配的令牌的数量之和达到目标数量时,停止为各推荐服务分配对应待推荐媒体信息的令牌。
应用本申请上述实施例,基于获取的待推荐媒体信息对应目标时间段的计划分配数量、历史分配数量以及历史分配数量对应的分配误差,确定待推荐媒体信息对应目标时间段的目标分配数量,然后根据目标分配数量,为各推荐服务分配待推荐媒体信息,直至分配的待推荐媒体信息的数量之和达到目标分配数量时停止分配;
如此,在媒体信息分配时,可以通过确定每个时间段的目标分配数量,进而按照该目标分配数量在相应时间段内进行待推荐媒体信息的分配,能够从整体上保证了媒体信息的平稳分发,避免出现媒体信息井喷式下发的情况;同时目标分配数量是基于历史分配数量以及分配误差确定,如此保证媒体信息能够按照预期计划量进行分发,提高媒体信息的分发效率。
下面将说明本申请实施例在一个实际的应用场景中的示例性应用。
相关技术中,多采用令牌桶算法或漏桶算法等方式来控制任务的分配速度,但是该种方式只能从整体上控制分配量,在某些特定的时间点大量新配的保量任务可能会同时大量分配,会出现流量井喷式分配,导致用户体验折损较大,不能平滑分配,而且不能保证所有的保量任务都能分配。
基于此,本申请实施例提供一种待推荐媒体信息的分配方法,接下来进行详细说明。这里,该待推荐媒体信息即为保量任务对应的媒体信息,比如短视频等,分配过程即为任务分配量的控制过程。
下面,首先说明本申请实施例提供的用于待推荐媒体信息的分配方法的PID流量调控系统,参见图10A,图10A是本申请实施例提供的基于PID的流量调控系统的架构图,从最底层往上依次是:实时流计算中心、调控Item配置中心、PID调控中心。其中,
实时流计算中心:用于监测客户端用户针对媒体信息流的实时行为,包括曝光、点赞、转发和分享等交互行为,根据实时回流日志,通过Flink/FlowSvr计算框架聚合计算并获取不同物料下每条待推荐媒体信息的实时曝光数据,不同物料包括:不同场景信息(保量、热点等)。然后根据实时监控结果,更新redis数据库中的每条待推荐媒体信息所对应任务(比如保量任务)的数据,比如每个时间段内所分配的每条待推荐媒体信息的曝光数据、待推荐媒体信息的已分配数量、剩余分配数量、已分配时间、剩余分配时间等。
调控Item配置中心:这里,Item即项目,包括每条待推荐媒体信息对应的保量任务、热点任务、直播保量任务、商业化任务等。项目数据打点服务根据事实流计算中心的实时监控情况,记录每条待推荐媒体信息在不同物料(比如保量、热点)下的曝光情况,并通过实时调控看板呈现给运营人员,由运营人员对一些短视频等待推荐媒体信息进行流量扶持的配置,比如在调控项目任务管理中心进行待推荐媒体信息的保量任务的配置,这里调控项目任务管理中心主要包括保量任务管理中心、热点任务管理中心、直播保量任务管理中心、商业化任务管理中心等。
PID调控中心:针对特定的场景和物料(比如保量召回、热点召回等),PID计算服务通过PID接入服务获取PID计算任务,比如待推荐媒体信息的保量任务。为完成待推荐媒体信息的保量任务,PID计算服务需要计算每个时间段的待推荐媒体信息的目标分配数量,具体地,实时监控当前时间段的上一时间段所分配媒体信息的曝光数据,然后基于当前时间段的上一时间段所分配媒体信息的曝光数据(需要说明的是,只有真实曝光的媒体信息才计入实际分配数量),计算当前时间段的媒体信息的目标分配数量。在实际应用中,还可以结合大盘下的所有待推荐媒体信息的曝光数据,对目标分配数量进行修正,以得到修正后的目标分配数量,进而通过policy服务(即策略服务),结合预设的分配策略(比如优先级分配策略),通过令牌桶的方式调控媒体信息的分配速度以避免超发,即控制修正后的目标分配数量的待推荐媒体信息的分配。
接下来对比例积分微分控制器PID调控中心进行说明,参见图5,图5是本申请实施例提供的基于PID+令牌桶的待推荐媒体信息的分配方法的示意图。这里,PID计算服务单元针对当前时间段的PID计算任务(即计算当前时间段的待推荐媒体信息的目标分配数量),实时监控当前时间段的上一时间段所分配媒体信息的曝光数据,然后基于当前时间段的上一时间段所分配媒体信息的曝光数据(需要说明的是,只有真实曝光的媒体信息才计入实际分配数量),计算当前时间段的媒体信息的目标分配数量。在实际应用中,还可以结合大盘下的所有待推荐媒体信息的曝光数据,对目标分配数量进行修正,以得到修正后的目标分配数量,进而通过policy服务(即策略服务),结合预设的分配策略(比如优先级分配策略),通过令牌桶的方式调控媒体信息的分配速度以避免超发,即控制修正后的目标分配数量的待推荐媒体信息的分配。其中,
PID计算服务单元,即PID控制器,通过比例、积分、微分计算某个媒体信息在指定时间段内对应的目标分配数量,计算流程如图4所示,图4是本申请实施例提供的基于PID计算目标分配数量的流程示意图,包括:
1)比例控制单元:假设某个保量任务对应的媒体信息要发1000条,预计要发10个小时,则每个小时计划发100条(记为e(k),即整个分配周期内每个时间段内理想情况下计划的分配量)可以完成。通过计算当前真实要发的量,比例调控系数越大达到预期总发放量的速度越快。
2)积分控制单元:单单比例控制存在一些不足,比如计划发100条实际只发了75条,这样计划发放和实际发放之间,存在暂态误差。如果在后续分发不补上25条,暂态误差会成为稳态误差。要完成分发计划,需要把总的累计暂态误差补回来,为方便调节给累计暂态误差一个调节参数(记为
Figure 541594DEST_PATH_IMAGE003
),通过控制
Figure 374421DEST_PATH_IMAGE003
调控减少稳态误差的速度,当值过大会导致超发,当值过小会导致发不完,
Figure 518351DEST_PATH_IMAGE003
的取值与调控周期和误差容忍度密切相关,建议值的范围为0.8~2之间。每个时间段的计划分发量和真实分发量的差值(记为e(n)),总暂态误差计算方法为累计之前每个时间段的暂态误差。
3)微分控制单元:在离散情况下就是调节当前时间段(即t时刻)和当前时间段的上一时间段(即t-1时刻)的error差值,调节控制中的震荡。通常微分环节相当于放大了反馈信号中的高频信号,如果系数取得不好会引起高频震荡。大部分应用都只采用PID(不影响稳态精度)或者双闭环PID。
PID计算服务的计算公式为:
Figure 171049DEST_PATH_IMAGE033
其中,第一项
Figure 72009DEST_PATH_IMAGE034
是比例项,第二项
Figure 493763DEST_PATH_IMAGE035
是积分项,第三项
Figure 838288DEST_PATH_IMAGE036
是微分项,
Figure 978282DEST_PATH_IMAGE037
是系数,在离散的时候可以简化为:
Figure 682933DEST_PATH_IMAGE038
其中,每一项前面都有系数,这些系数都是需要根据实际情况确定。离散化的公式很适合编程,为了编程实现方便,将系数进行统一,得到:
Figure 224773DEST_PATH_IMAGE039
其中,
Figure 238734DEST_PATH_IMAGE037
是比例调节因子,
Figure 866024DEST_PATH_IMAGE003
是积分调节因子,
Figure 108787DEST_PATH_IMAGE004
是微分调节因子,
Figure 787024DEST_PATH_IMAGE005
表示
Figure 457040DEST_PATH_IMAGE006
时间段内应当完成的目标分配数量,
Figure 837205DEST_PATH_IMAGE008
是上一时间段内的历史分配数量,
Figure 135856DEST_PATH_IMAGE007
是整个分配周期内每个时间段理想情况下的计划分配数量,
Figure 652288DEST_PATH_IMAGE010
是前面所有时间段内欠发或者超发的分配量,表征已分配的时间段内的分配量的暂态误差。
推荐系统是基于PID调控中心和至少一个推荐服务器构成的分布式系统,基于上述PID计算服务计算得到当前时间段媒体信息的目标分配数量之后,为了精准控制每个推荐服务器的媒体信息的下发量,在本申请实施例中引入了令牌桶中控服务。首先,令牌桶中控服务根据当前时间段应当要完成的目标分配数量,在相应的令牌桶中生成目标数量的令牌;当接收到各推荐服务器发送的第一次请求时,将全量在发任务(即每个需要保量的待推荐媒体信息)均下发至相应的推荐服务器,同时针对每个在发任务,分配第一数量(比如10个)的令牌token;
然后,推荐服务器基于接收到的全量在发任务以及第一数量的令牌后,针对每个在发任务均执行以下处理:
下发一次在发任务(即向终端推荐一次待推荐媒体信息),该在发任务的令牌数量减1;当某个在发任务对应的令牌消耗完(即令牌数量归零)时,记录令牌消耗完的在发任务,按照预设的时间间隔(比如15s)异步向令牌桶中控服务再次请求该在发任务的令牌;
令牌桶中控服务中若确定该在发任务的令牌没有消耗完,则响应于该请求再次返回第一数量的令牌,并在令牌桶中控服务将该在发任务对应的令牌的目标数量减去该第一数量,直至令牌桶中控服务中该在发任务对应的令牌消耗完后,停止分配该在发任务。
这里,令牌桶中控服务中使用原子操作的方式更新令牌,以防止并发请求导致的超发现象。同时定时遍历缓存中的在发任务,如果超过目标时长(比如12小时)没有更新,将该在发任务删掉,防止内存泄漏。
在实际应用中,大盘流量曲线每天都是波动的,有波峰也有波谷,如果PID流量调控不参考大盘流量,在波谷的时候大量分发,会提升该时段的保量曝光量占比,对用户的干扰会增加。因此,基于上述PID计算服务单元计算得到当前时间段应当完成的目标分配数量之后,还会参照大盘流量对基于PID计算服务单元计算得到当前时间段的目标分配数量做适应性调整,具体地,可通过如下方式计算得到目标分配数量的修正参数
Figure 493205DEST_PATH_IMAGE011
Figure 95088DEST_PATH_IMAGE040
其中,
Figure 430385DEST_PATH_IMAGE041
是预设时间周期(比如近7天)的目标时间段的所下发的各个待推荐媒体信息的平均历史曝光数量,
Figure 801324DEST_PATH_IMAGE014
是待推荐媒体信息
Figure 78721DEST_PATH_IMAGE015
在预设时间周期内的历史分配数量(即曝光量)占至少两个待推荐媒体信息在预设时间周期内的历史分配总数量(即总曝光量)的最大比例,
Figure 151588DEST_PATH_IMAGE042
是指待推荐媒体信息
Figure 539845DEST_PATH_IMAGE015
在目标时间段的计划分配数量,分母+1是为了防止分母为0会异常。
然后结合计算得到的修正参数,修正基于PID计算服务单元计算得到当前时间段的目标分配数量:
Figure 765289DEST_PATH_IMAGE017
其中,
Figure 213588DEST_PATH_IMAGE018
是修正后的目标分配数量,
Figure 540796DEST_PATH_IMAGE019
是修正前的目标分配数量。然后基于修正后的目标分配数量进行待推荐媒体信息的分配。
在实际应用中,仅通过PID流控没法保证每个任务都会有下发,在本申请实施例中可通过如下方式保证保量任务的0下发:
1、针对不同级别的任务设置不同的优先级,保证高优先级的任务优先下发。示例性地,可根据任务内容的重要度来设置优先级,比如一些重要时事的短视频的保量任务,则优先级高。
2、针对运行了一段时间还是0下发的任务暂时提升优先级;
3、同优先级下可根据任务分发的紧急度召回。具体地,每个任务的任务分发紧急度的衡量函数为:
Figure 732743DEST_PATH_IMAGE020
其中,
Figure 78273DEST_PATH_IMAGE022
表示目标分配数量,
Figure 949671DEST_PATH_IMAGE023
表示当前已经分配的数量,
Figure 747862DEST_PATH_IMAGE024
表示目标时间段的结束时间,
Figure 743500DEST_PATH_IMAGE025
表示所处目标时间段的当前时间。
基于此,可以优先分发任务分发紧急度较高的任务。
在实际应用中,针对处于同一优先级级别的多个任务,需要控制各任务之间匀速分配。其中,单任务的分配速度可以基于如下公式得到:
Figure 428691DEST_PATH_IMAGE026
其中,
Figure 218792DEST_PATH_IMAGE022
表示目标分配数量,
Figure 769859DEST_PATH_IMAGE023
表示当前已经分配的数量,
Figure 552876DEST_PATH_IMAGE024
表示目标时间段的结束时间,
Figure 607420DEST_PATH_IMAGE025
表示所处目标时间段的当前时间。
单任务的速度因子可以基于如下公式得到:
Figure 568423DEST_PATH_IMAGE027
当任务对应的分配量异常(比如分配量非常大)时,可以采用
Figure 341207DEST_PATH_IMAGE043
对该任务进行分配,具体地
Figure 163800DEST_PATH_IMAGE044
针对同一优先级级别的任务,其分配速度可以通过如下公式计算:
Figure 604009DEST_PATH_IMAGE045
其中,
Figure 735913DEST_PATH_IMAGE030
为优先级,
Figure 236471DEST_PATH_IMAGE031
为优先级调控因子,
Figure 846444DEST_PATH_IMAGE032
为速度调控因子,基于此可以对之前下发的快的任务控一下速,让下发的慢的任务多发。
在实际应用中,还可以结合用户兴趣、任务优先级和速度因子综合打分选择当前用户要下发的任务,综合打分有两种融合方式,具体的选择或变换可以结合业务场景进行调整:
1)将用户和保量短视频自然排序分乘上兴趣调控因子融合分作为综合打分公式如下:
Figure 141159DEST_PATH_IMAGE046
其中,
Figure 929118DEST_PATH_IMAGE047
是用户和保量短视频的自然排序分,可以根据用户的长期或者短期的兴趣画像、待下发任务的历史点击率、转发数量、转发人群等综合因素确定,
Figure 676494DEST_PATH_IMAGE048
是兴趣调控因子。
2)将下发速度作为用户和保量短视频自然排序分的调控因子进行融合打分:
Figure 90158DEST_PATH_IMAGE049
在实际应用中,还可以结合MAB(multi-armed bandit)试探,自动控制比例、积分、微分的调控因子;或者进一步结合人群探索、热点放大通路做个性化流量调控。
基于此,以媒体信息的保量任务为例,对本申请实施例提供的待推荐媒体信息的分配方法的有益效果进行说明。这里,实验是在保量任务数(即需要进行保量任务的待推荐媒体信息的数量),保量任务的保量VV总量以及保量VV总量相对大盘VV总量占比基本稳定的前提下进行的。这里,VV即需要进行保量任务的待推荐媒体信息的曝光量。
参见图10B,图10B是本申请实施例提供的有无PID流量调控的曝光量数据曲线示意图。这里,灰色曲线是有PID流量调控的分钟级VV数据(即分钟级曝光量数据),黑色曲线是无PID流量调控的分钟级VV数据(即分钟级曝光量数据),由此可见有PID流量调控的曝光量数据曲线更平滑。
以PID流量调控应用在短视频保量的场景为例进一步说明本申请实施例所带来的有益效果:
实验组:保量有PID流量调控 5%流量
对照组:保量无PID流量调控 5%流量
实验期:2020-09-18~2020-09-20
结果:有效人均曝光量相对提升+0.14%;有效人均播放时长+6.04S。
结论:当有一批保量任务到来(有些保量是机器定期批量配置、有些是运营定期批量匹配),保量任务尽最大能力下发会出现井喷式下发和保量任务下发拥塞,会产生流量陡增。因为流量分配不合理,会导致有些任务不能按照预期的量进行分发,同时因为没有兼顾用户兴趣,用户的体验是下降的。PID流量调控,按照保量生命周期和用户偏好,在全局维度统筹每个保量任务有序平稳下发,保证保量有序完成,提升了用户体验。
应用本申请上述实施例,实现了分钟级流量精准控制,既能保证按照目标曝光量分发,又能合理利用根据并发量合理分配下发速度,且控制的流量能参照大盘做适应性调整;同时通过提权的方式避免任务的0下发,并且能够控制同级别的任务之间匀速下发。
下面继续说明本申请实施例提供的待推荐媒体信息的分配装置555,在一些实施例中,待推荐媒体信息的分配装置可采用软件模块的方式实现。参见图11,图11是本申请实施例提供的待推荐媒体信息的分配装置555的结构示意图,本申请实施例提供的待推荐媒体信息的分配装置555包括:
获取模块5551,用于获取待推荐媒体信息对应目标时间段的计划分配数量、所述待推荐媒体信息的历史分配数量、以及所述历史分配数量对应的分配误差;
确定模块5552,用于结合所述计划分配数量、所述历史分配数量以及所述分配误差,确定所述待推荐媒体信息对应所述目标时间段的目标分配数量;
分配模块5553,用于基于所述目标分配数量,响应分布式推荐系统中各推荐服务针对所述待推荐媒体信息的获取请求,为各所述推荐服务分配所述待推荐媒体信息;
停止分配模块5554,用于当为各所述推荐服务分配的所述待推荐媒体信息的数量之和达到所述目标分配数量时,停止分配所述待推荐媒体信息。
在一些实施例中,所述获取模块5551,还用于当所述目标时间段之前存在至少两个时间段时,获取与所述目标时间段相邻的前一时间段内所述待推荐媒体信息的第一历史分配数量、以及所述待推荐媒体信息对应所述前一时间段的第一计划分配数量;
基于所述第一历史分配数量、以及所述第一计划分配数量,确定所述历史分配数量对应的分配误差。
在一些实施例中,所述获取模块5551,还用于当所述目标时间段之前存在至少两个时间段时,获取所述至少两个时间段中各所述时间段内所述待推荐媒体信息的第二历史分配数量、以及所述待推荐媒体信息对应各所述时间段的第二计划分配数量;
针对各所述时间段,基于所述第二历史分配数量、以及所述第二计划分配数量,确定所述时间段对应的中间分配误差;
将各所述时间段对应的中间分配误差进行加和,得到所述历史分配数量对应的分配误差。
在一些实施例中,所述确定模块5552,还用于基于所述计划分配数量以及所述历史分配数量,确定分配数量差值;
获取所述计划分配数量对应的第一调节因子、所述分配误差对应的第二调节因子、以及所述分配数量差值对应的第三调节因子;
基于所述第一调节因子、第二调节因子以及第三调节因子,结合所述计划分配数量、所述分配误差以及所述分配数量差值,确定所述待推荐媒体信息对应所述目标时间段的目标分配数量。
在一些实施例中,所述确定模块5552,还用于将所述计划分配数量以及相应的第一调节因子输入比例积分微分控制器的比例控制单元;
将所述分配误差以及相应的第二调节因子输入所述比例积分微分控制器的积分控制单元;
将所述分配数量差值以及相应的第三调节因子输入所述比例积分微分控制器的微分控制单元;
通过所述比例控制单元、积分控制单元以及微分控制单元,基于所述第一调节因子、第二调节因子以及第三调节因子,结合所述计划分配数量、所述分配误差以及所述分配数量差值,确定所述待推荐媒体信息对应所述目标时间段的目标分配数量。
在一些实施例中,所述确定模块5552,还用于当所述待推荐媒体信息为至少两个时,针对各所述待推荐媒体信息执行如下处理:
结合所述计划分配数量、所述历史分配数量以及所述分配误差,确定所述待推荐媒体信息对应所述目标时间段的中间目标分配数量;
获取预设时间周期内所述至少两个待推荐媒体信息的平均历史曝光数量、以及所述待推荐媒体信息对应的目标分配比例,所述目标分配比例为所述待推荐媒体信息在所述预设时间周期内的历史分配数量与所述至少两个待推荐媒体信息在所述预设时间周期内的历史分配总数量的比值;
基于所述平均历史曝光数量、所述目标分配比例以及所述计划分配数量,确定所述中间目标分配数量对应的修正参数;
基于所述修正参数以及所述中间目标分配数量,确定所述待推荐媒体信息对应所述目标时间段的目标分配数量。
在一些实施例中,所述分配模块5553,还用于生成与所述目标分配数量相适配的目标数量的令牌;
响应分布式推荐系统中各推荐服务针对所述待推荐媒体信息的获取请求,返回所述待推荐媒体信息,并
为各所述推荐服务针对所述待推荐媒体信息,从所述目标数量的令牌中,选取并分配第一数量的令牌;
其中,所述第一数量的令牌,用于指示所述推荐服务将所述待推荐媒体信息推荐至终端的次数。
在一些实施例中,所述停止分配模块5554,还用于针对所述待推荐媒体信息,获取为各所述推荐服务分配的令牌的数量之和;
当为各所述推荐服务分配的令牌的数量之和达到所述目标数量时,停止为各所述推荐服务分配对应所述待推荐媒体信息的令牌。
在一些实施例中,所述分配模块5553,还用于生成与所述目标分配数量对应的分配数量记录,所述分配数量记录用于记录所述待推荐媒体信息对应的剩余推荐次数;
响应分布式推荐系统中各推荐服务针对所述待推荐媒体信息的获取请求,针对每个所述获取请求,返回所述待推荐媒体信息及相应的推荐数量信息;
其中,所述推荐数量信息,用于指示所述推荐服务将所述待推荐媒体信息推荐至终端的次数;
基于返回至各所述推荐服务的所述推荐数量信息,更新所述分配数量记录中所述待推荐媒体信息对应的剩余推荐次数。
在一些实施例中,所述分配模块5553,还用于响应所述分布式推荐系统中各推荐服务针对所述待推荐媒体信息的获取请求,将各推荐服务针对所述待推荐媒体信息的获取请求加入先入先出的缓冲队列;
依据各获取请求所处所述缓冲队列中的排序,依次为各所述推荐服务分配所述待推荐媒体信息。
在一些实施例中,所述分配模块5553,还用于当所述待推荐媒体信息为至少两个、且所述待推荐媒体信息存在相应的优先级时,获取各所述待推荐媒体信息对应的优先级;
响应分布式推荐系统中各推荐服务针对所述待推荐媒体信息的获取请求,按照各所述待推荐媒体信息对应的优先级,依次为各所述推荐服务分配各所述待推荐媒体信息。
在一些实施例中,所述装置还包括:
调整模块,用于当所述待推荐媒体信息为至少两个、且所述待推荐媒体信息存在相应的优先级时,对分配的所述至少两个待推荐媒体信息中第一待推荐媒体信息的数量进行监测;
当监测到当前已分配的所述第一待推荐媒体信息的数量低于分配数量阈值时,调整所述第一待推荐媒体信息对应的优先级为高优先级;
相应地,所述分配模块5553,还用于响应分布式推荐系统中各推荐服务针对所述第一待推荐媒体信息以及第二待推荐媒体信息的获取请求,其中,所述第一待推荐媒体信息对应的优先级高于所述第二待推荐媒体信息对应的优先级;
优先为各所述推荐服务分配所述第一待推荐媒体信息。
在一些实施例中,所述装置还包括:
分数确定模块,用于针对至少两个待推荐对象,分别确定各所述待推荐对象与所述待推荐媒体信息的对象匹配分数;
其中,所述对象匹配分数,用于表征所述待推荐对象针对所述待推荐媒体信息执行交互行为的可能性;
相应地,所述述装置还包括:
推荐模块,用于从所述至少两个待推荐对象中,选取对象匹配分数符合推荐条件的目标待推荐对象;
优先为所述目标待推荐对象推荐所述待推荐媒体信息。
应用本申请上述实施例,基于获取的待推荐媒体信息对应目标时间段的计划分配数量、历史分配数量以及历史分配数量对应的分配误差,确定待推荐媒体信息对应目标时间段的目标分配数量,然后根据目标分配数量,为各推荐服务分配待推荐媒体信息,直至分配的待推荐媒体信息的数量之和达到目标分配数量时停止分配;
如此,在媒体信息分配时,可以通过确定每个时间段的目标分配数量,进而按照该目标分配数量在相应时间段内进行待推荐媒体信息的分配,能够从整体上保证了媒体信息的平稳分发,避免出现媒体信息井喷式下发的情况;同时目标分配数量是基于历史分配数量以及分配误差确定,如此保证媒体信息能够按照预期计划量进行分发,提高媒体信息的分发效率。
本申请实施例还提供一种电子设备,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的待推荐媒体信息的分配方法。
本申请实施例还提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例提供的待推荐媒体信息的分配方法。
本申请实施例还提供一种计算机可读存储介质,存储有可执行指令,所述可执行指令被处理器执行时,实现本申请实施例提供的待推荐媒体信息的分配方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

Claims (13)

1.一种待推荐媒体信息的分配方法,其特征在于,所述方法包括:
获取待推荐媒体信息对应目标时间段的计划分配数量、所述待推荐媒体信息的历史分配数量、以及所述历史分配数量对应的分配误差;
基于所述计划分配数量以及所述历史分配数量,确定分配数量差值;
获取所述计划分配数量对应的第一调节因子、所述分配误差对应的第二调节因子、以及所述分配数量差值对应的第三调节因子;
将所述计划分配数量以及相应的第一调节因子输入比例积分微分控制器的比例控制单元;
将所述分配误差以及相应的第二调节因子输入所述比例积分微分控制器的积分控制单元;
将所述分配数量差值以及相应的第三调节因子输入所述比例积分微分控制器的微分控制单元;
通过所述比例控制单元、积分控制单元以及微分控制单元,基于所述第一调节因子、第二调节因子以及第三调节因子,结合所述计划分配数量、所述分配误差以及所述分配数量差值,确定所述待推荐媒体信息对应所述目标时间段的目标分配数量;
基于所述目标分配数量,响应分布式推荐系统中各推荐服务针对所述待推荐媒体信息的获取请求,为各所述推荐服务分配所述待推荐媒体信息;
当为各所述推荐服务分配的所述待推荐媒体信息的数量之和达到所述目标分配数量时,停止分配所述待推荐媒体信息。
2.如权利要求1所述的方法,其特征在于,所述获取所述历史分配数量对应的分配误差,包括:
当所述目标时间段之前存在至少两个时间段时,获取与所述目标时间段相邻的前一时间段内所述待推荐媒体信息的第一历史分配数量、以及所述待推荐媒体信息对应所述前一时间段的第一计划分配数量;
基于所述第一历史分配数量、以及所述第一计划分配数量,确定所述历史分配数量对应的分配误差。
3.如权利要求1所述的方法,其特征在于,所述获取所述历史分配数量对应的分配误差,包括:
当所述目标时间段之前存在至少两个时间段时,获取所述至少两个时间段中各所述时间段内所述待推荐媒体信息的第二历史分配数量、以及所述待推荐媒体信息对应各所述时间段的第二计划分配数量;
针对各所述时间段,基于所述第二历史分配数量、以及所述第二计划分配数量,确定所述时间段对应的中间分配误差;
将各所述时间段对应的中间分配误差进行加和,得到所述历史分配数量对应的分配误差。
4.如权利要求1所述的方法,其特征在于,所述结合所述计划分配数量、所述历史分配数量以及所述分配误差,确定所述待推荐媒体信息对应所述目标时间段的目标分配数量,包括:
当所述待推荐媒体信息为至少两个时,针对各所述待推荐媒体信息执行如下处理:
结合所述计划分配数量、所述历史分配数量以及所述分配误差,确定所述待推荐媒体信息对应所述目标时间段的中间目标分配数量;
获取预设时间周期内所述至少两个待推荐媒体信息的平均历史曝光数量、以及所述待推荐媒体信息对应的目标分配比例,所述目标分配比例为所述待推荐媒体信息在所述预设时间周期内的历史分配数量与所述至少两个待推荐媒体信息在所述预设时间周期内的历史分配总数量的比值;
基于所述平均历史曝光数量、所述目标分配比例以及所述计划分配数量,确定所述中间目标分配数量对应的修正参数;
基于所述修正参数以及所述中间目标分配数量,确定所述待推荐媒体信息对应所述目标时间段的目标分配数量。
5.如权利要求1所述的方法,其特征在于,所述基于所述目标分配数量,响应分布式推荐系统中各推荐服务针对所述待推荐媒体信息的获取请求,为各所述推荐服务分配所述待推荐媒体信息,包括:
生成与所述目标分配数量相适配的目标数量的令牌;
响应分布式推荐系统中各推荐服务针对所述待推荐媒体信息的获取请求,返回所述待推荐媒体信息,并
为各所述推荐服务针对所述待推荐媒体信息,从所述目标数量的令牌中,选取并分配第一数量的令牌;
其中,所述第一数量的令牌,用于指示所述推荐服务将所述待推荐媒体信息推荐至终端的次数。
6.如权利要求5所述的方法,其特征在于,所述当为各所述推荐服务分配的所述待推荐媒体信息的数量之和达到所述目标分配数量时,停止分配所述待推荐媒体信息,包括:
针对所述待推荐媒体信息,获取为各所述推荐服务分配的令牌的数量之和;
当为各所述推荐服务分配的令牌的数量之和达到所述目标数量时,停止为各所述推荐服务分配对应所述待推荐媒体信息的令牌。
7.如权利要求1所述的方法,其特征在于,所述基于所述目标分配数量,响应分布式推荐系统中各推荐服务针对所述待推荐媒体信息的获取请求,为各所述推荐服务分配所述待推荐媒体信息,包括:
生成与所述目标分配数量对应的分配数量记录,所述分配数量记录用于记录所述待推荐媒体信息对应的剩余推荐次数;
响应分布式推荐系统中各推荐服务针对所述待推荐媒体信息的获取请求,针对每个所述获取请求,返回所述待推荐媒体信息及相应的推荐数量信息;
其中,所述推荐数量信息,用于指示所述推荐服务将所述待推荐媒体信息推荐至终端的次数;
基于返回至各所述推荐服务的所述推荐数量信息,更新所述分配数量记录中所述待推荐媒体信息对应的剩余推荐次数。
8.如权利要求1所述的方法,其特征在于,所述响应分布式推荐系统中各推荐服务针对所述待推荐媒体信息的获取请求,为各所述推荐服务分配所述待推荐媒体信息,包括:
响应所述分布式推荐系统中各推荐服务针对所述待推荐媒体信息的获取请求,将各推荐服务针对所述待推荐媒体信息的获取请求加入先入先出的缓冲队列;
依据各获取请求所处所述缓冲队列中的排序,依次为各所述推荐服务分配所述待推荐媒体信息。
9.如权利要求1所述的方法,其特征在于,所述响应分布式推荐系统中各推荐服务针对所述待推荐媒体信息的获取请求,为各所述推荐服务分配所述待推荐媒体信息,包括:
当所述待推荐媒体信息为至少两个、且所述待推荐媒体信息存在相应的优先级时,获取各所述待推荐媒体信息对应的优先级;
响应分布式推荐系统中各推荐服务针对所述待推荐媒体信息的获取请求,按照各所述待推荐媒体信息对应的优先级,依次为各所述推荐服务分配各所述待推荐媒体信息。
10.如权利要求1所述的方法,其特征在于,所述方法还包括:
当所述待推荐媒体信息为至少两个、且所述待推荐媒体信息存在相应的优先级时,对分配的所述至少两个待推荐媒体信息中第一待推荐媒体信息的数量进行监测;
当监测到当前已分配的所述第一待推荐媒体信息的数量低于分配数量阈值时,调整所述第一待推荐媒体信息对应的优先级为高优先级;
相应地,所述响应分布式推荐系统中各推荐服务针对所述待推荐媒体信息的获取请求,为各所述推荐服务分配所述待推荐媒体信息,包括:
响应分布式推荐系统中各推荐服务针对所述第一待推荐媒体信息以及第二待推荐媒体信息的获取请求,其中,所述第一待推荐媒体信息对应的优先级高于所述第二待推荐媒体信息对应的优先级;
优先为各所述推荐服务分配所述第一待推荐媒体信息。
11.如权利要求1所述的方法,其特征在于,所述方法还包括:
针对至少两个待推荐对象,分别确定各所述待推荐对象与所述待推荐媒体信息的对象匹配分数;
其中,所述对象匹配分数,用于表征所述待推荐对象针对所述待推荐媒体信息执行交互行为的可能性;
相应地,所述方法还包括:
从所述至少两个待推荐对象中,选取对象匹配分数符合推荐条件的目标待推荐对象;
优先为所述目标待推荐对象推荐所述待推荐媒体信息。
12.一种待推荐媒体信息的分配装置,其特征在于,所述装置包括:
获取模块,用于获取待推荐媒体信息对应目标时间段的计划分配数量、所述待推荐媒体信息的历史分配数量、以及所述历史分配数量对应的分配误差;
确定模块,用于基于所述计划分配数量以及所述历史分配数量,确定分配数量差值;获取所述计划分配数量对应的第一调节因子、所述分配误差对应的第二调节因子、以及所述分配数量差值对应的第三调节因子;将所述计划分配数量以及相应的第一调节因子输入比例积分微分控制器的比例控制单元;将所述分配误差以及相应的第二调节因子输入所述比例积分微分控制器的积分控制单元;将所述分配数量差值以及相应的第三调节因子输入所述比例积分微分控制器的微分控制单元;通过所述比例控制单元、积分控制单元以及微分控制单元,基于所述第一调节因子、第二调节因子以及第三调节因子,结合所述计划分配数量、所述分配误差以及所述分配数量差值,确定所述待推荐媒体信息对应所述目标时间段的目标分配数量;
分配模块,用于基于所述目标分配数量,响应分布式推荐系统中各推荐服务针对所述待推荐媒体信息的获取请求,为各所述推荐服务分配所述待推荐媒体信息;
停止分配模块,用于当为各所述推荐服务分配的所述待推荐媒体信息的数量之和达到所述目标分配数量时,停止分配所述待推荐媒体信息。
13.一种计算机可读存储介质,其特征在于,存储有可执行指令,所述可执行指令被执行时,用于实现如权利要求1至11任一项所述的待推荐媒体信息的分配方法。
CN202011616419.1A 2020-12-31 2020-12-31 待推荐媒体信息的分配方法、装置及存储介质 Active CN112328947B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011616419.1A CN112328947B (zh) 2020-12-31 2020-12-31 待推荐媒体信息的分配方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011616419.1A CN112328947B (zh) 2020-12-31 2020-12-31 待推荐媒体信息的分配方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN112328947A CN112328947A (zh) 2021-02-05
CN112328947B true CN112328947B (zh) 2021-04-16

Family

ID=74301867

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011616419.1A Active CN112328947B (zh) 2020-12-31 2020-12-31 待推荐媒体信息的分配方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN112328947B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113301433B (zh) * 2021-04-23 2022-09-09 北京达佳互联信息技术有限公司 一种数据处理方法、装置、电子设备和存储介质
CN113515432B (zh) * 2021-06-24 2021-12-10 浙江口碑网络技术有限公司 对象展示方法、装置、计算机设备及计算机可读存储介质
CN113378066B (zh) * 2021-07-12 2022-07-29 杭州弧途科技有限公司 一种兼职岗位推荐系统的流量控制方法
CN114338705B (zh) * 2021-11-24 2023-12-01 阿里巴巴(中国)有限公司 内容分发网络cdn节点的资源水位控制方法、设备及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108446382A (zh) * 2018-03-20 2018-08-24 百度在线网络技术(北京)有限公司 用于推送信息的方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014015128A2 (en) * 2012-07-18 2014-01-23 The Trustees Of Princeton University Multiscale spectral nanoscopy
CN106982250B (zh) * 2017-03-03 2020-06-02 北京小米移动软件有限公司 信息推送方法及装置
CN108683608B (zh) * 2018-08-21 2022-06-07 北京京东尚科信息技术有限公司 分配流量的方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108446382A (zh) * 2018-03-20 2018-08-24 百度在线网络技术(北京)有限公司 用于推送信息的方法和装置

Also Published As

Publication number Publication date
CN112328947A (zh) 2021-02-05

Similar Documents

Publication Publication Date Title
CN112328947B (zh) 待推荐媒体信息的分配方法、装置及存储介质
US10783267B2 (en) Centralized throttling service
US9846771B2 (en) Low latency, high payload, high volume API gateway
US10997098B2 (en) Quality of service policy sets
CN106055412B (zh) 用于动态管理计算容量请求的方法和系统
RU2376627C2 (ru) Архитектура для управления доступом к услуге от конкурирующих клиентов
US20190325115A1 (en) Systems and methods for decentralized content distribution
US9372627B2 (en) Dynamic feedback-based throughput control for black-box storage systems
CN109313572A (zh) 通用自动缩放
US20150249707A1 (en) Triggering workload movement based on policy stack having multiple selectable inputs
US8621586B1 (en) Using baseline profiles in adaptive authentication
US20200226546A1 (en) Global optimizer for supply chain
US9497028B1 (en) System and method for remote storage auditing
CN107104984A (zh) 跨异质设备类型的统一策略
Wang et al. Present or future: Optimal pricing for spot instances
CN110769274A (zh) 基于区块链网络的直播信息处理方法、装置、电子设备及存储介质
US20090259661A1 (en) Controlling Modification of Components in a Content Management System
CN114830158A (zh) 用于分布式计算系统中的交易验证的方法和系统
Do et al. Toward service selection game in a heterogeneous market cloud computing
JP4855736B2 (ja) データ管理の調整
CN114978998B (zh) 一种流量控制方法、装置、终端及存储介质
US11798358B2 (en) Casino decentralized management to collect and share player credit data
CN111260408B (zh) 一种资源播放控制方法、装置、设备及存储介质
CN113010799A (zh) 媒体信息的获取方法、装置、电子设备及存储介质
KR102685884B1 (ko) 하나 이상의 블록체인 환경에서의 자산 거래 시스템, 자산 거래 방법 및 장치

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40038309

Country of ref document: HK