流量控制方法、装置、电子设备及计算机可读存储介质与流程

文档序号:28563181发布日期:2022-01-19 17:01阅读:90来源:国知局
流量控制方法、装置、电子设备及计算机可读存储介质与流程

1.本技术涉及互联网技术领域,特别涉及一种流量控制方法、装置、电子设备及计算机可读存储介质。


背景技术:

2.随着互联网技术的发展,在应用程序等平台进行流量投放逐渐成为各类业务重要的宣传方式。考虑到流量的有限性,如何合理的进行流量控制,成为亟待解决的问题。
3.相关技术中,通过用户对应的转化率进行流量的分配。其中,用户对应的转化率用于指示用户接收到流量之后基于该流量产生价值的概率。对于任一个用户,首先基于该用户的用户画像预测该用户对应的转化率。若转化率大于阈值,则向该用户展示一次流量,也就是进行一次流量的分配。
4.然而,在用户流量较小的情况下,转化率大于阈值的用户数量也较少,因而成功分配给用户的流量数量小于允许分配的流量数量,从而造成流量的浪费。而在用户流量较大的情况下,转化率大于阈值的用户数量也较多,则允许分配的流量会在较短时间内全部被分配给用户,从而导致流量难以触达后续用户。可见,无论是哪种情况,采用相关技术中提供的方法进行分配均会导致流量的利用效率不高。


技术实现要素:

5.本技术实施例提供了一种流量控制方法、装置、电子设备及计算机可读存储介质,以解决相关技术流量的利用效率不高的问题。所述技术方案如下:
6.一方面,提供了一种流量控制方法,所述方法包括:
7.确定需要分配的目标流量的目标数量,所述目标数量为历史时间段内的流量的期望分配总量与已分配总量之间的差值;
8.获取多个时间层中各个时间层对应的期望分配数量,获取所述各个时间层对应的期望转化数量,所述多个时间层为需要分配所述目标流量的时间层;
9.基于所述目标数量、所述各个时间层对应的期望分配数量和所述各个时间层对应的期望转化数量,通过背包算法确定所述各个时间层对应的第一参竞率,所述第一参竞率为第一数值或第二数值,所述第一数值用于指示为所述背包算法的求解结果,所述第二数值用于指示不为所述背包算法的求解结果;
10.基于所述目标流量的属性从所述第一数值和所述第二数值中选择得到目标数值,将所述目标流量分配至第一参竞率为所述目标数值的时间层。
11.在示例性实施例中,所述基于所述目标数量、所述各个时间层对应的期望分配数量和所述各个时间层对应的期望转化数量,通过背包算法确定所述各个时间层对应的第一参竞率,包括:
12.获取所述各个时间层对应的第二参竞率,所述第二参竞率为所述第一数值或所述第二数值;
13.将所述各个时间层中的第一时间层对应的第二参竞率确定为所述第一时间层对应的第一参竞率,所述第一时间层的第二参竞率为所述目标数值;
14.计算所述第一时间层对应的期望分配数量总和,将所述目标数量与所述第一时间层对应的期望分配数量总和之间的差值作为参考分配量;
15.基于所述参考分配量、第二时间层对应的期望分配数量和第二时间层对应的期望转化数量,通过背包算法将所述第二时间层对应的第二参竞率更新为所述第二时间层对应的第一参竞率,所述第二时间层为所述各个时间层中除所述第一时间层以外的其他时间层。
16.在示例性实施例中,所述基于所述目标流量的属性从所述第一数值和所述第二数值中选择得到目标数值,将所述目标流量分配至第一参竞率为所述目标数值的时间层,包括:
17.确定所述第一参竞率为所述目标数值的时间层对应的期望分配数量总和;
18.响应于所述第一参竞率为所述目标数值的时间层对应的期望分配数量总和大于所述目标数量,从所述第一参竞率为目标数值的时间层中确定目标时间层;
19.计算所述第一参竞率为目标数值的时间层对应的期望分配数量总和与所述目标数量之间的第一差值,计算所述目标时间层对应的期望分配数量与所述第一差值之间的第二差值,将第二差值的流量分配至所述目标时间层;
20.对于所述第一参竞率为目标数值的时间层中除所述目标时间层以外的其他任一时间层,将所述任一时间层对应的期望分配数量的流量分配至所述任一时间层。
21.在示例性实施例中,所述历史时间段包括多个历史时间片,所述多个时间层位于多个时间片中,所述获取多个时间层中各个时间层对应的期望分配数量,包括:
22.获取所述多个历史时间片中的各个历史时间片对应的已分配数量,确定所述多个历史时间片和所述多个时间片之间的分配数量比例;
23.基于所述各个历史时间片对应的已分配数量和所述分配数量比例,计算得到所述多个时间片中的各个时间片对应的期望分配数量;
24.对于任一时间片,基于所述任一时间片对应的期望分配数量确定位于所述任一时间片中的各个时间层对应的期望分配数量。
25.在示例性实施例中,所述对于任一时间片,基于所述任一时间片对应的期望分配数量确定位于所述任一时间片中的各个时间层对应的期望分配数量,包括:
26.确定所述任一时间片中的各个时间层在所述任一时间片中的占比;
27.对于任一时间层,将所述任一时间片对应的期望分配数量与所述任一时间层在所述任一时间片中的占比之间的乘积确定为所述任一时间层对应的期望分配数量。
28.在示例性实施例中,所述基于所述目标流量的属性从所述第一数值和所述第二数值中选择得到目标数值,将所述目标流量分配至第一参竞率为所述目标数值的时间层,包括:
29.响应于所述目标流量的属性为第一属性,选择所述第一数值作为所述目标数值,所述第一属性用于指示所述目标流量为所述历史时间段内期望分配但未分配的流量;
30.在第一参竞率为第一数值的时间层中增加所述目标流量。
31.在示例性实施例中,所述基于所述目标流量的属性从所述第一数值和所述第二数
值中选择得到目标数值,将所述目标流量分配至第一参竞率为所述目标数值的时间层,包括:
32.响应于所述目标流量的属性为第二属性,选择所述第二数值作为所述目标数值,所述第二属性用于指示所述目标流量为所述历史时间段内期望分配且超额分配的流量;
33.在第一参竞率为第二数值的时间层中减少所述目标流量。
34.一方面,提供了一种流量控制装置,所述装置包括:
35.第一确定模块,用于确定需要分配的目标流量的目标数量,所述目标数量为历史时间段内的流量的期望分配总量与已分配总量之间的差值;
36.获取模块,用于获取多个时间层中各个时间层对应的期望分配数量,获取所述各个时间层对应的期望转化数量,所述多个时间层为需要分配所述目标流量的时间层;
37.第二确定模块,用于基于所述目标数量、所述各个时间层对应的期望分配数量和所述各个时间层对应的期望转化数量,通过背包算法确定所述各个时间层对应的第一参竞率,所述第一参竞率为第一数值或第二数值,所述第一数值用于指示为所述背包算法的求解结果,所述第二数值用于指示不为所述背包算法的求解结果;
38.选择模块,用于基于所述目标流量的属性从所述第一数值和所述第二数值中选择得到目标数值,将所述目标流量分配至第一参竞率为所述目标数值的时间层。
39.在示例性实施例中,所述获取模块,用于获取所述各个时间层对应的第二参竞率,所述第二参竞率为所述第一数值或所述第二数值;将所述各个时间层中的第一时间层对应的第二参竞率确定为所述第一时间层对应的第一参竞率,所述第一时间层的第二参竞率为所述目标数值;计算所述第一时间层对应的期望分配数量总和,将所述目标数量与所述第一时间层对应的期望分配数量总和之间的差值作为参考分配量;基于所述参考分配量、第二时间层对应的期望分配数量和第二时间层对应的期望转化数量,通过背包算法将所述第二时间层对应的第二参竞率更新为所述第二时间层对应的第一参竞率,所述第二时间层为所述各个时间层中除所述第一时间层以外的其他时间层。
40.在示例性实施例中,所述选择模块,用于确定所述第一参竞率为所述目标数值的时间层对应的期望分配数量总和;响应于所述第一参竞率为所述目标数值的时间层对应的期望分配数量总和大于所述目标数量,从所述第一参竞率为目标数值的时间层中确定目标时间层;计算所述第一参竞率为目标数值的时间层对应的期望分配数量总和与所述目标数量之间的第一差值,计算所述目标时间层对应的期望分配数量与所述第一差值之间的第二差值,将第二差值的流量分配至所述目标时间层;对于所述第一参竞率为目标数值的时间层中除所述目标时间层以外的其他任一时间层,将所述任一时间层对应的期望分配数量的流量分配至所述任一时间层。
41.在示例性实施例中,所述历史时间段包括多个历史时间片,所述多个时间层位于多个时间片中,所述第二确定模块,用于获取所述多个历史时间片中的各个历史时间片对应的已分配数量,确定所述多个历史时间片和所述多个时间片之间的分配数量比例;基于所述各个历史时间片对应的已分配数量和所述分配数量比例,计算得到所述多个时间片中的各个时间片对应的期望分配数量;对于任一时间片,基于所述任一时间片对应的期望分配数量确定位于所述任一时间片中的各个时间层对应的期望分配数量。
42.在示例性实施例中,所述第二确定模块,用于确定所述任一时间片中的各个时间
层在所述任一时间片中的占比;对于任一时间层,将所述任一时间片对应的期望分配数量与所述任一时间层在所述任一时间片中的占比之间的乘积确定为所述任一时间层对应的期望分配数量。
43.在示例性实施例中,所述选择模块,用于响应于所述目标流量的属性为第一属性,选择所述第一数值作为所述目标数值,所述第一属性用于指示所述目标流量为所述历史时间段内期望分配但未分配的流量;在第一参竞率为第一数值的时间层中增加所述目标流量。
44.在示例性实施例中,所述选择模块,用于响应于所述目标流量的属性为第二属性,选择所述第二数值作为所述目标数值,所述第二属性用于指示所述目标流量为所述历史时间段内期望分配且超额分配的流量;在第一参竞率为第二数值的时间层中减少所述目标流量。
45.一方面,提供了一种电子设备,所述电子设备包括存储器及处理器;所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以使所述电子设备实现本技术的任一种示例性实施例所提供的流量控制方法。
46.一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令,所述指令由处理器加载并执行,以使计算机实现本技术的任一种示例性实施例所提供的流量控制方法。
47.另一方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序或指令,所述计算机程序或指令被处理器执行,以使计算机实现本技术的任一种示例性实施例所提供的流量控制方法。
48.本技术实施例所提供的技术方案带来的有益效果至少包括:
49.通过背包算法将需要分配的流量分配至各个时间层,从而保证了进行分配后各个时间层能够提供较大的转化数量。因此,本实施例所提供的分配方式提高了流量的利用效率。
附图说明
50.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
51.图1是本技术实施例提供的实施环境示意图;
52.图2是本技术实施例提供的流量控制方法的流程图;
53.图3是本技术实施例提供的流量控制装置的结构示意图;
54.图4是本技术实施例提供的电子设备的结构示意图。
具体实施方式
55.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
56.本技术实施例提供了一种流量控制方法,该方法可应用于如图1所示的实施环境
中。图1中,包括至少一个电子设备11和服务器12,服务器12可与电子设备11进行通信连接,以将流量分配给电子设备11。
57.其中,电子设备11可以是任何一种可与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互的电子产品,例如pc(personal computer,个人计算机)、手机、智能手机、pda(personal digital assistant,个人数字助手)、可穿戴设备、掌上电脑ppc(pocket pc)、平板电脑、智能车机、智能电视、智能音箱等。
58.服务器12可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。
59.本领域技术人员应能理解上述电子设备11和服务器12仅为举例,其他现有的或今后可能出现的电子设备或服务器如可适用于本技术,也应包含在本技术保护范围以内,并在此以引用方式包含于此。
60.基于上述图1所示的实施环境,参见图2,本技术实施例提供了一种流量控制方法,该方法可应用于图1所示的服务器中。如图2所示,该方法包括如下的步骤201-204。
61.201,确定需要分配的目标流量的目标数量,目标数量为历史时间段内的流量的期望分配总量与已分配总量之间的差值。
62.其中,对流量进行分配的目的在于提高流量的利用效率。流量的利用效率越高,则通过接收流量转化为客户的用户数量就越多。示例性地,流量是指投放广告所需花费的资源,或者是指投放广告的次数。以所投放的广告为弹窗类广告为例,流量即为弹窗类广告的弹出次数。
63.本实施例在对流量进行实际分配之前,首先将需要流量控制时间划分为多个时间片。各时间片的时长可根据实际需要确定,本实施例不对时间片的时长加以限定。例如,时间片的时长为5分钟,则能够将一天划分为60
×
24
÷
5=288个时间片。划分得到多个时间片之后,确定各个时间片对应的期望分配数量,也就是计划在各个时间片内分配的流量的理论数量。能够理解的是,所有时间片对应的期望分配数量之和往往是根据实际情况确定的。以流量为投放广告所需花费的资源为例,所有时间片对应的期望分配数量之和为可支配的资源总额。
64.在对流量进行实际分配之后,各时间片内流量的实际分配数量均可能与期望分配数量存在偏差。因此,实际分配过程中在每个时间片的结束时间点处,均需要根据结束时间点之前的各个时间片计算该偏差,以基于该偏差对结束时间点之后的各个时间片的期望分配数量进行调整。示例性地,本实施例中在每个时间片的结束时间点处执行201-204,或者说执行201-204的当前时刻是所有时间片中任一个时间片的结束时间点。
65.其中,结束时间点之前的时间段为历史时间段,结束时间点之前的所有时间片即为历史时间段所包括的历史时间片。将各个历史时间片对应的期望分配数量之和作为历史时间段内的期望分配总量,将各个历史时间片对应的实际分配数量作为历史时间段内流量的已分配总量,则历史时间段所包括的各个历史时间片内流量的期望分配总量与已分配总量之间的差值,即为上述用于对结束时间点之后的各个时间片的期望分配数量进行调整的偏差。在本实施例中,将历史时间段所包括的各个历史时间片内流量的期望分配总量与已分配总量之间的差值作为需要分配的目标流量的目标数量。
66.在示例性实施例中,目标流量包括两种不同属性,即第一属性和第二属性。其中,
第一属性用于指示目标流量为历史时间段内期望分配但未分配的流量,也就是说在历史时间段内的流量的期望分配总量大于已分配总量。相应地,后续对目标流量进行分配是指:增大结束时间点之后的各个时间片的期望分配数量,从而避免所有时间片均结束之后仍有未成功分配的流量,进而避免造成流量的浪费。第二属性用于指示目标流量为历史时间段内期望分配且超额分配的流量,也就是说在历史时间段内的流量的期望分配总量小于已分配总量。相应地,后续对目标流量进行分配是指:减小结束时间点之后的各个时间片的期望分配数量,从而保证各个时间片均能够分配到流量、避免流量提前被分配完毕。
67.另外,不同的时间片对应不同的用户流量,而不同用户流量的流量质量也有所不同。因此,不同时间片除了分别对应有期望分配数量以外,还分别对应有期望转化数量。其中,时间片对应的期望转化数量是指在该时间片内接收到流量的所有用户中预计能够转化为客户的用户数量。因此,流量质量越高,则时间片对应的期望转化数量越大。流量质量越低,则时间片对应的期望转化数量越小。
68.对于上述各个时间片对应的期望分配数量及期望转化数量,本实施例可通过离线测试的方式进行确定。示例性地,本实施例将用于测试的时间段划分为多个时间片。对于任一个时间片,向该时间片对应的用户流量所包括的每个用户均分配流量,再统计所有用户中转化为客户的用户数量。之后,将该时间片内分配的流量的总数量作为该时间片对应的期望分配数量,由于该过程中对时间片所包括的每个用户均分配了流量,因而该期望分配数量实际上等于时间片对应的用户流量所包括的用户数量。另外,将转化为客户的用户数量作为该时间片对应的期望转化数量。在对流量进行实际分配时,便可参考测试得到的各时间片对应的期望分配数量及期望转化数量,来确定实际分配时各时间片对应的期望分配数量及期望转化数量。当然,除了离线测试的方式以外,本实施例还可以通过其他可行的方式确定实际分配时各个时间片对应的期望分配数量及期望转化数量。
69.进一步地,对于任一个时间片,还需要将时间片划分为多个时间层,时间层与转化率范围一一对应。对于时间片内用户流量所包括的任一个用户,根据该用户的用户画像可预测得到该用户对应的转化率,用户对应的转化率用于指示该用户接收到流量之后转化为客户的概率。之后,用户对应的转化率位于哪一个转化率范围内,则该用户属于转化率范围对应的时间层。由此可知,时间片内所包括的任一个时间层均可包括一个或多个用户。在本实施例中,不对时间片所包括的时间层数量加以限定,根据实际需要进行确定即可。例如,一个时间片内包括十个时间层。
70.在离线测试过程中,得到的各时间片对应的期望分配数量及期望转化数量之后,还需要确定时间片所包括的各时间层对应的期望分配数量及期望转化数量,以便于后续根据测试得到的各时间层对应的期望分配数量及期望转化数量,来确定实际分配时各时间层对应的期望分配数量及期望转化数量。离线测试时,由于时间层包括一个或多个用户,因而时间层对应的期望分配数量即为分配给时间层内所有用户的流量的数量,时间层对应的期望转化数量即为时间层所包括的用户中转化为客户的用户数量。能够理解的是,时间片所包括的所有时间层对应的期望分配数量之和与时间片对应的期望分配数量相等,时间片所包括的所有时间层对应的期望转化数量之和与时间片对应的期望转化数量相等。
71.示例性地,在进行离线测试之后,本实施例计算离线测试过程中各个时间层对应的期望转化数量与时间层对应的期望分配数量之间的比值,作为时间层对应的转化率。之
后,将时间层、时间层对应的期望分配数量、时间层对应的期望转化数量、时间层对应的转化率以及时间层对应的转化率范围对应存储,以便于实际分配时使用。
72.202,获取多个时间层中各个时间层对应的期望分配数量,获取各个时间层对应的期望转化数量,多个时间层为需要分配目标流量的时间层。
73.根据201中的说明可知,目标流量是用于对当前时刻之后的各个时间片的期望分配数量进行调整的资源,需要分配目标流量的多个时间层即为当前时刻之后的各个时间片所包括的时间层。因此,需要获取需要分配目标流量的各个时间层对应的期望分配数量及期望转化数量,以便于在后续的203及204中根据目标流量进行调整。
74.示例性地,本实施例可读取201中离线测试之后存储的时间层对应的期望分配数量及期望转化数量,将读取的期望分配数量及期望转化数量直接作为需要分配目标流量的时间层对应的期望分配数量及期望转化数量。
75.或者,在示例性实施例中,历史时间段包括多个历史时间片,多个时间层位于多个时间片中,获取各个时间层对应的期望分配数量,包括:获取多个历史时间片中的各个历史时间片对应的已分配数量,确定多个历史时间片和多个时间片之间的分配数量比例。基于各个历史时间片对应的已分配数量和分配数量比例,计算得到多个时间片中的各个时间片对应的期望分配数量。对于任一时间片,基于任一时间片对应的期望分配数量确定位于任一时间片中的各个时间层对应的期望分配数量。
76.其中,历史时间段是指当前时刻之前的时间段,历史时间段包括的历史时间层则是指当前时刻之前的各时间片所包括的时间层。由于历史时间层是已经对流量进行实际分配过的时间层,因而能够获取到各个历史时间层对应的流量的已分配数量。
77.对于分配数量比例,示例性地,本实施例将离线测试得到的各个时间片的期望分配数量之间的比例作为分配数量比例,从而使得每对相邻的时间片之间均具有一个分配数量比例。因此,可以根据各个历史时间片对应的已分配数量以及分配数量比例计算得到需要分配目标流量的多个时间片对应的期望分配数量。
78.例如,在离线测试过程中,a、b、c三个相邻的时间片对应的期望分配数量分别为200、300及400,则可确定a、b时间片之间的分配数量比例为2:3,b、c时间片之间的分配数量比例为3:4。若本次执行201-204的时刻为a时间片的结束时间点,则a时间片即为历史时间片,b、c时间片即为需要分配目标流量的时间片。若a时间片的已分配数量为300,则根据a、b时间片之间的分配数量比例2:3可计算出b时间片的期望分配数量为450。之后,再根据b、c之间的分配数量比例3:4可计算出c时间片的期望分配数量为600。
79.在计算得到需要分配目标流量的多个时间片对应的期望分配数量之后,便可进一步确定出时间片所包括的各个时间层对应的期望分配数量。在示例性实施例中,对于任一时间片,基于任一时间片对应的期望分配数量确定位于任一时间片中的各个时间层对应的期望分配数量,包括:确定任一时间片中的各个时间层在任一时间片中的占比。对于任一时间层,将任一时间片对应的期望分配数量与任一时间层在任一时间片中的占比之间的乘积确定为任一时间层对应的期望分配数量。
80.示例性地,对于任一个时间层,本实施计算离线测试过程中该时间层对应的期望分配数量在时间片对应的期望分配数量中的占比,将该占比作为时间层在时间层所在时间片中的占比。例如,在离线测试过程中,测试得到d时间片对应的期望分配数量为1000,d时
间片中d1时间层对应的期望分配数量为400,d2时间层对应的期望分配数量为600。则,d1时间层的占比为0.4,d2时间层的占比为0.6。
81.在实际分配过程中,根据时间片对应的期望数量和时间层对应的占比之间的乘积,能够计算得到时间层的期望分配数量。例如,d时间片对应的期望分配数量为2000,且d时间片中的d1时间层的占比为0.4,d时间片中的d2时间层的占比为0.6,则d1时间层对应的期望分配数量为0.4
×
2000=800,d2时间层对应的期望分配数量为0.6
×
2000=1200。
82.需要说明的是,在按照时间片的期望分配数量和占比确定时间层的期望分配数量之后,还需要相应的确定时间层的期望转化数量。示例性地,本实施例将时间层的期望分配数量与实际转化率之间的乘积作为时间层的期望转化数量。其中,实际转换率是指离线测试中该时间层的期望分配数量与期望转化数量之间的比值。
83.203,基于目标数量、各个时间层对应的期望分配数量和各个时间层对应的期望转化数量,通过背包算法确定各个时间层对应的第一参竞率,第一参竞率为第一数值或第二数值,第一数值用于指示为背包算法的求解结果,第二数值用于指示不为背包算法的求解结果。
84.其中,背包算法是用于求解0-1背包问题的算法。在0-1背包问题中,提供多件物品以及容积为v的背包,每件物品分别对应有体积c及价值w。在0-1背包问题的求解过程中,需要不重复的选择物品放入背包内,从而在背包内物品的体积之和不超过背包容积v的前提下,使得背包内物品的价值之和最高。0及1代表物品可能具有的两种状态,0代表物品未被选择放入背包内,1代表物品被选择放入背包内。
85.在本实施例中,通过采用背包算法,将确定各个时间层对应的第一参竞率的过程转化为求解0-1背包问题的过程。在确定过程中,需要分配的流量的目标数量等价于背包的容积v,各个时间层等价于待放入背包中的物品。202中获取的各个时间层对应的期望分配数量等价于物品的体积c,202中获取的各个时间层对应的期望转化数量等价于物品的价值w。通过求解0-1背包问题,能够从需要分配目标流量的所有时间层中选择出多个时间层,所选择的时间层对应的期望分配数量之和不大于目标流量的目标数量,且所选择的时间层对应的期望转化数量之和最大。因此,也就是流量的利用效率高。在本实施例中,所选择出的时间层(放入背包的时间层)即为背包算法的求解结果,此种时间层的第一参竞率为第一数值。未被选择的时间层(不放入背包的时间层)则不为背包算法的求解结果,此种时间层的第一参竞率为第二数值。本实施例不对第一数值和第二数值加以限定,例如,第一数值为1,第二数值为0。
86.在示例性实施例中,基于目标数量、各个时间层对应的期望分配数量以及各个时间层对应的期望转化数量,通过背包算法确定各个时间层对应的第一参竞率,包括如下的步骤2031-2034。
87.2031,获取各个时间层对应的第二参竞率,第二参竞率为第一数值或第二数值。
88.其中,考虑到实际分配过程中的分配效率问题,本实施例在离线测试过程中首先确定各个时间层对应的第二参竞率,则在实际分配过程中便能够在第二参竞率的基础上进行更新得到上述第一参竞率,从而提高分配效率、减少进行分配所需的处理资源。在第二参竞率的基础上进行更新得到上述第一参竞率的过程会在后文中进行说明,此处先不进行赘述。
89.示例性地,本实施例在离线测试的过程中同样通过背包算法确定各个时间层对应的第二参竞率。其中,背包容量v根据实际情况确定,响应于流量为投放广告所需花费的资源,则背包容量v为可支配的资源总额。响应于流量为投放广告的次数,则背包容量v为预计投放广告的总次数。另外,各个时间层为物品,离线测试得到的时间层对应期望分配数量为物品体积c,离线测试得到的时间层对应的期望转化数量为物品价值w。由此,便能够确定各个时间层对应的第二参竞率为第一数值或第二数值。之后,可对各个时间层对应的第二参竞率进行存储,以便于实际分配过程中读取存储的第二参竞率,从而实现了各个时间层对应的第二参竞率的获取。
90.2032,将各个时间层中的第一时间层对应的第二参竞率确定为第一时间层对应的第一参竞率,第一时间层的第二参竞率为目标数值。
91.其中,响应于目标流量的属性为第一属性,则目标数值为第一数值。其中,由于第一时间层是离线测试的过程中第二参竞率被确定为第一数值的时间层,因而说明第一时间层是能够提供较大转化数量的时间层。因此,在后续分配目标流量的过程中,需要将目标流量增加至该时间层。因此,可直接将该时间层的第二参竞率作为该时间层对应的第一参竞率,也就是该时间层的第一参竞率为第一数值。
92.或者,响应于目标流量的属性为第二属性,则目标数值为第二数值。其中,由于第一时间层是离线测试过程中第二参竞率被确定为第二数值的时间层,因而说明第一时间层是仅能提供较小转化数量的时间层。因此,在后续分配目标流量的过程中,需要从这些仅能提供较小转化数量的时间层中减少目标流量,从而避免了从能提供较大转化数量的时间层中减少目标流量。因此,可直接将该时间层的第二参竞率作为该时间层对应的第一参竞率,也就是该时间层的第一参竞率为第二数值。
93.2033,计算第一时间层对应的期望分配数量总和,将目标数量与第一时间层对应的期望分配数量总和之间的差值作为参考分配量。
94.由于需要将目标流量分配至第一时间层,因而首先从目标流量的目标数量中扣除各个第一时间层对应的期望分配数量总和,从而得到剩余的参考分配量的流量。响应于该参考分配量的绝对值大于0,则可以继续执行2033,也就是将剩余的参考分配量的流量分配至第二时间层中。
95.2034,基于参考分配量、第二时间层对应的期望分配数量和第二时间层对应的期望转化数量,通过背包算法将第二时间层对应的第二参竞率更新为第二时间层对应的第一参竞率,第二时间层为各个时间层中除第一时间层以外的其他时间层。
96.由于第二时间层为各个时间层中除第一时间层以外的其他时间层,且第一时间层的第二参竞率为目标数值,因而第二时间层也即是第二参竞率不为目标数值的时间层。
97.响应于目标流量的属性为第一属性,则目标数值为第一数值,因而第二时间层即为第二参竞率为第二数值的时间层。通过背包算法对第二时间层对应的第二参竞率进行更新,从而使得部分第二时间层的参竞率由第二数值更新为第一数值(即这部分第二时间层的第二参竞率为第二数值,但在背包算法中被作为求解结果,因而参竞率发生了更新,从而使得第一参竞率为第一数值),另一部分第二时间层的参竞率仍保持为第二数值(即这部分第二时间层的第二参竞率为第二数值,在背包算法中也未被作为求解结果,因而参竞率仍保持为第二数值,也即是第一参竞率为第二数值)。在后续参考分配量的流量的分配过程
中,第一参竞率为第一数值的第二时间层能够增加到流量,而第一参竞率为第二数值的第二时间层不能够增加到流量。
98.或者,响应于目标流量的属性为第二属性,则目标数值为第二数值,因而第二时间层即为第二参竞率为第一数值的时间层。通过背包算法对第二时间层对应的第二参竞率进行更新,从而使得部分第二时间层的参竞率由第一数值更新为第二数值(即这部分第二时间层的第二参竞率为第一数值,但在背包算法中未被作为求解结果,因而参竞率发生了更新,从而使得第一参竞率为第二数值),另一部分第二时间层的参竞率仍保持为第一数值(即这部分第二时间层的第二参竞率为第一数值,在背包算法中被作为了求解结果,因而参竞率仍保持为第一数值,也即是第一参竞率为第一数值)。在后续参考分配量的流量的分配过程中,第一参竞率为第一数值的第二时间层不会被减少流量,而第一参竞率为第二数值的第二时间层会被减少流量。
99.204,基于目标流量的属性从第一数值和第二数值中选择得到目标数值,将目标流量分配至第一参竞率为目标数值的时间层。
100.在一些实施方式中,在进行目标流量的分配时,按照时间层的期望分配数量进行分配。其中,根据目标流量的属性不同,分配方式也有所不同,参见如下说明。
101.在示例性实施例中,基于目标流量的属性从第一数值和第二数值中选择得到目标数值,将目标流量分配至第一参竞率为目标数值的时间层,包括:响应于目标流量的属性为第一属性,选择第一数值作为目标数值,第一属性用于指示目标流量为历史时间段内期望分配但未分配的流量。在第一参竞率为第一数值的时间层中增加目标流量。其中,由于第一数值用于指示为背包算法的求解结果,因而第一参竞率为第一数值的时间层能够提供较大的转化数量。因此,需要将目标流量增加至第一参竞率为第一数值的时间层中,以获得较大的转化数量。
102.或者,在示例性实施例中,基于目标流量的属性从第一数值和第二数值中选择得到目标数值,将目标流量分配至第一参竞率为目标数值的时间层,包括:响应于目标流量的属性为第二属性,选择第二数值作为目标数值,第二属性用于指示目标流量为历史时间段内期望分配且超额分配的流量。在第一参竞率为第二数值的时间层中减少目标流量。其中,由于第二数值用于指示不为背包算法的求解结果,因而第一参竞率为第二数值的时间层仅能提供较小的转换数量。因此,需要从第一参竞率为第二数值的时间层中减少目标流量,从而避免在第一参竞率为第一数值的时间层中减少流量,以获得较大的转化数量。
103.在将流量分配给用户的过程中,响应于检测到任一个用户访问待投放流量的页面,则确定该用户访问页面的时间,该时间可通过时间戳进行指示。之后,根据该用户访问页面的时间确定用户所在的时间片。以将一天划分为288个时长为5分钟的时间片为例,若用户访问页面的时间为11:57,则该用户位于11:55-12:00的时间片中。接着,根据该用户的用户画像预测得到该用户对应的转化率,由于时间片所包括的时间层对应有转化率范围,因而该用户对应的转化率位于哪一个转化率范围内,则该用户属于转化率范围对应的时间层。
104.在确定用户所属的时间层之后,根据该时间层对应的第一参竞率确定是否将一个流量分配给该用户。其中,若时间层对应的第一参竞率为第一数值,则将一个流量分配给该用户,该用户能够接收到流量。并且,响应于将一个流量分配给用户,则将该时间层已分配
的流量数量加一。相应地,若目标流量的属性为第一属性,且时间层对应的第一参竞率为第二数值,则不向用户分配流量。
105.在目标流量的分配过程中,目标流量的目标数量可能存在不能被恰好分配至整数个时间层的情况。因此,在示例性实施例中,将目标流量分配至第一参竞率为1的时间层,包括如下的过程2041-2043。
106.2041,确定第一参竞率为目标数值的时间层对应的期望分配数量总和。响应于第一参竞率为目标数值的时间层对应的期望分配数量总和大于目标数量,从第一参竞率为目标数值的时间层中确定目标时间层。
107.其中,响应于第一参竞率为目标数值的时间层对应的期望分配数量总和大于目标数量,则说明目标流量不能恰好被分配至整数个时间层。例如,三个第一参竞率为目标数值的时间层分别为e、f和g,时间层e的期望分配数量为200,时间层f的期望分配数量为300,时间层g的期望分配数量为500,则期望分配数量总和为1000。如果目标流量的目标数量小于1000,例如为600,则目标流量不能恰好被分配至整数个时间层。因此,需要从第一参竞率为目标数值的时间层中确定目标时间层。在一些实施方式中,该目标时间层是时间上最晚的时间层。在进行分配时,不再按照该目标时间层对应的期望分配数量进行目标流量的分配,而是需要基于对第一参竞率为目标数值的各个时间层中除目标时间层以外的其他时间层的分配情况,来进行目标时间层的流量分配,详见2042。
108.2042,计算第一参竞率为目标数值的时间层对应的期望分配数量总和与目标数量之间的第一差值,计算目标时间层对应的期望分配数量与第一差值之间的第二差值,将第二差值的流量分配至目标时间层。
109.其中,第一差值即为第一参竞率为目标数值的时间层对应的期望分配数量总和超出目标数量的部分,或者说目标数量不能提供的部分。因此,需要从目标时间层对应的期望分配数量中减去该第一差值,得到第二差值,从而将第二差值的流量分配至目标时间层。仍以2041中的举例为例,如果时间层g为目标时间层,则第一差值为1000-600=400,第二差值为500-400=100。
110.2043,对于第一参竞率为目标数值的时间层中除目标时间层以外的其他任一时间层,将任一时间层对应的期望分配数量的流量分配至任一时间层。
111.仍以2041中的举例为例,如果时间层g为目标时间层,则时间层g不会按照期望分配数量分配500的目标流量,而是按照第二差值分配100的流量。对于其他任一个时间层,直接按照任一个时间层对应的期望分配数量分配相应的流量即可。例如在上例中,时间层e按照期望分配数量分配2000的目标流量,时间层f按照期望分配数量分配300的流量。能够理解的是,本实施例中需要分配的目标流量的目标数量等于上述第二差值与除目标时间层以外的其他任一时间层对应的期望分配数量之和。另外,在一些实施方式中,目标时间层还可以参与后续的流量的分配过程,后续流量的分配过程也可按照上述201-204中的说明进行,此处不再进行赘述。示例性地,在目标时间层参与后续的流量的分配过程时,将上述第一差值作为该目标时间层的期望分配数量。
112.综上所述,本实施例通过背包算法将需要分配的流量分配至各个时间层,从而保证了进行分配后各个时间层能够提供较大的转化数量。因此,本实施例所提供的分配方式提高了流量的利用效率。
113.本技术实施例提供了一种流量控制装置,参见图3,该装置包括:
114.第一确定模块301,用于确定需要分配的目标流量的目标数量,目标数量为历史时间段内的流量的期望分配总量与已分配总量之间的差值;
115.获取模块302,用于获取多个时间层中各个时间层对应的期望分配数量,获取各个时间层对应的期望转化数量,多个时间层为需要分配目标流量的时间层;
116.第二确定模块303,用于基于目标数量、各个时间层对应的期望分配数量和各个时间层对应的期望转化数量,通过背包算法确定各个时间层对应的第一参竞率,第一参竞率为第一数值或第二数值,第一数值用于指示为背包算法的求解结果,第二数值用于指示不为背包算法的求解结果;
117.选择模块304,用于基于目标流量的属性从第一数值和第二数值中选择得到目标数值,将目标流量分配至第一参竞率为目标数值的时间层。
118.在示例性实施例中,获取模块302,用于获取各个时间层对应的第二参竞率,第二参竞率为第一数值或第二数值;将各个时间层中的第一时间层对应的第二参竞率确定为第一时间层对应的第一参竞率,第一时间层的第二参竞率为目标数值;计算第一时间层对应的期望分配数量总和,将目标数量与第一时间层对应的期望分配数量总和之间的差值作为参考分配量;基于参考分配量、第二时间层对应的期望分配数量和第二时间层对应的期望转化数量,通过背包算法将第二时间层对应的第二参竞率更新为第二时间层对应的第一参竞率,第二时间层为各个时间层中除第一时间层以外的其他时间层。
119.在示例性实施例中,选择模块304,用于确定第一参竞率为目标数值的时间层对应的期望分配数量总和;响应于第一参竞率为目标数值的时间层对应的期望分配数量总和大于目标数量,从第一参竞率为目标数值的时间层中确定目标时间层;计算第一参竞率为目标数值的时间层对应的期望分配数量总和与目标数量之间的第一差值,计算目标时间层对应的期望分配数量与第一差值之间的第二差值,将第二差值的流量分配至目标时间层;对于第一参竞率为目标数值的时间层中除目标时间层以外的其他任一时间层,将任一时间层对应的期望分配数量的流量分配至任一时间层。
120.在示例性实施例中,历史时间段包括多个历史时间片,多个时间层位于多个时间片中,第二确定模块303,用于获取多个历史时间片中的各个历史时间片对应的已分配数量,确定多个历史时间片和多个时间片之间的分配数量比例;基于各个历史时间片对应的已分配数量和分配数量比例,计算得到多个时间片中的各个时间片对应的期望分配数量;对于任一时间片,基于任一时间片对应的期望分配数量确定位于任一时间片中的各个时间层对应的期望分配数量。
121.在示例性实施例中,第二确定模块303,用于确定任一时间片中的各个时间层在任一时间片中的占比;对于任一时间层,将任一时间片对应的期望分配数量与任一时间层在任一时间片中的占比之间的乘积确定为任一时间层对应的期望分配数量。
122.在示例性实施例中,选择模块304,用于响应于目标流量的属性为第一属性,选择第一数值作为目标数值,第一属性用于指示目标流量为历史时间段内期望分配但未分配的流量;在第一参竞率为第一数值的时间层中增加目标流量。
123.在示例性实施例中,选择模块304,用于响应于目标流量的属性为第二属性,选择第二数值作为目标数值,第二属性用于指示目标流量为历史时间段内期望分配且超额分配
的流量;在第一参竞率为第二数值的时间层中减少目标流量。
124.综上所述,本实施例通过背包算法将需要分配的流量分配至各个时间层,从而保证了进行分配后各个时间层能够提供较大的转化数量。因此,本实施例所提供的分配方式提高了流量的利用效率。
125.需要说明的是,上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
126.参见图4,其示出了本技术实施例提供的一种电子设备400的结构示意图。该电子设备400可以是便携式移动电子设备,比如:智能手机、平板电脑、mp3播放器(moving picture experts group audio layer iii,动态影像专家压缩标准音频层面3)、mp4(moving picture experts group audio layer iv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。电子设备400还可能被称为用户设备、便携式电子设备、膝上型电子设备、台式电子设备等其他名称。
127.通常,电子设备400包括有:处理器401和存储器402。
128.处理器401可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器401可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)所组成的群组中的至少一种硬件形式来实现。处理器401也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器401可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏405所需要显示的内容的渲染和绘制。一些实施例中,处理器401还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
129.存储器402可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器402还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器402中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器401所执行以实现本技术中方法实施例提供的流量控制方法。
130.在一些实施例中,电子设备400还可选包括有:外围设备接口403和至少一个外围设备。处理器401、存储器402和外围设备接口403之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口403相连。具体地,外围设备包括:射频电路404、显示屏405、摄像头406、音频电路407、定位组件408和电源409所组成的群组中的至少一种。
131.外围设备接口403可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器401和存储器402。在一些实施例中,处理器401、存储器402和外围设备接口403被集成在同一芯片或电路板上;在一些其他实施例中,处理器401、存储器402和外
positioning system,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
137.电源409用于为电子设备400中的各个组件进行供电。电源409可以是交流电、直流电、一次性电池或可充电电池。当电源409包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
138.在一些实施例中,电子设备400还包括有一个或多个传感器410。该一个或多个传感器410包括但不限于:加速度传感器411、陀螺仪传感器412、压力传感器413、指纹传感器414、光学传感器415以及接近传感器416。
139.加速度传感器410可以检测以电子设备400建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器411可以用于检测重力加速度在三个坐标轴上的分量。处理器401可以根据加速度传感器411采集的重力加速度信号,控制显示屏405以横向视图或纵向视图进行用户界面的显示。加速度传感器411还可以用于游戏或者用户的运动数据的采集。
140.陀螺仪传感器412可以检测电子设备400的机体方向及转动角度,陀螺仪传感器412可以与加速度传感器411协同采集用户对电子设备400的3d动作。处理器401根据陀螺仪传感器412采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
141.压力传感器413可以设置在电子设备400的侧边框和/或显示屏405的下层。当压力传感器413设置在电子设备400的侧边框时,可以检测用户对电子设备400的握持信号,由处理器401根据压力传感器413采集的握持信号进行左右手识别或快捷操作。当压力传感器413设置在显示屏405的下层时,由处理器401根据用户对显示屏405的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件所组成的群组中的至少一种。
142.指纹传感器414用于采集用户的指纹,由处理器401根据指纹传感器414采集到的指纹识别用户的身份,或者,由指纹传感器414根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器401授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器414可以被设置电子设备400的正面、背面或侧面。当电子设备400上设置有物理按键或厂商logo时,指纹传感器414可以与物理按键或厂商logo集成在一起。
143.光学传感器415用于采集环境光强度。在一个实施例中,处理器401可以根据光学传感器415采集的环境光强度,控制显示屏405的显示亮度。具体地,当环境光强度较高时,调高显示屏405的显示亮度;当环境光强度较低时,调低触示屏404的显示亮度。在另一个实施例中,处理器401还可以根据光学传感器415采集的环境光强度,动态调整摄像头组件406的拍摄参数。
144.接近传感器416,也称距离传感器,通常设置在电子设备400的前面板。接近传感器416用于采集用户与电子设备400的正面之间的距离。在一个实施例中,当接近传感器416检测到用户与电子设备400的正面之间的距离逐渐变小时,由处理器401控制显示屏405从亮屏状态切换为息屏状态;当接近传感器416检测到用户与电子设备400的正面之间的距离逐渐变大时,由处理器401控制显示屏405从息屏状态切换为亮屏状态。
145.本领域技术人员可以理解,图4中示出的结构并不构成对电子设备400的限定,可
以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
146.本技术实施例提供了一种电子设备,电子设备包括存储器及处理器;存储器中存储有至少一条指令,至少一条指令由处理器加载并执行,以实现本技术的任一种示例性实施例所提供的流量控制方法。
147.本技术实施例提供了一种计算机可读存储介质,计算机可读存储介质中存储有至少一条指令,指令由处理器加载并执行以实现本技术的任一种示例性实施例所提供的流量控制方法。
148.上述所有可选技术方案,可以采用任意结合形成本技术的可选实施例,在此不再一一赘述。
149.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
150.以上所述仅为本技术的实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1