本发明属于广告排期技术,具体涉及一种广告排期方法。
背景技术:
自助打印机一般安装在小区、学校或其他地方,且各自助打印机通过云平台管理,以方便人们能随时随地按需打印。自助打印机上配置有广播播放器,在实现自助打印的同时,还能够播放广告,以增加自助打印机的收益。由于不同地区所针对的人群不同,故不同地区的自助打印机需要播放不同的广告,以实现资源的合理利用。
现有地铁广告和电梯视频广告一般采用轮播的形式。但这种广告排期方式不适用于安装在小区或学校内的自助打印机。
因此,有必须开发一种新的广告排期方法。
技术实现要素:
本发明的目的是提供一种广告排期方法,能针对不同分组投放的终端机,在不同时间进行广告排期,保证不同的空间时间里,能精准控制终端机播放不同的广告。
本发明所述的广告排期方法,用于不同分组投放的终端机的广告排期,包括以下步骤:
步骤一、创建广告项目,设置投放时间段、投放广告视频时长、每天预投放次数、投放分配原则和投放区域及分组;
步骤二、读取所选区域及其分组在所选时间段内的时间段占用表;
步骤三、计算出该时间段占用表中每天已被占用的时间段;
步骤四、循环遍历每天已被占用的时间段,求出每天可用时间段;
步骤五、根据投放广告视频时长修正所述步骤四中的可用时间段,使每段时间为videotime的整数倍;
步骤六、按照所选择的投放分配原则计算出需要使用的时间段,并保存到所选择分组对应的时间占用表中,广告项目创建完毕。
进一步,所述步骤六中,所述投放分配原则为平均投放原则,具体为:
a.将每一天的时间划分为多个时间段:
b.计算每个时间段可用时间片、每天可用时间片总数k1、每天中所有时间段的时间片数最小值kmin及每天可用时间段数m;
每个时间段可用时间片的计算公式为:
每个时间段可用时间片=(结束时间-开始时间)/videotime;videotime为预投入广告的时长;
c.根据每天的预投放次数k2,遍历计算出每天中每个时间段需要投放的次数;
(1)若k1≤k2,则将每天的可用时间段m全部分配;
(2)若k1>k2,则判断条件1是否满足;
条件1、kmin*m≥k2;
若条件1满足,则计算出每天的每个时间段的投放次数,计算公式如下:
每个时间段的投放次数=k2/m,若存在余数,则将余数分给第一个可用时间段;
若条件1不满足,则先给每个时间段分配kmin个,利用剩余每段可用时间片数和剩余投放次数进行遍历,直至剩余投放次数分配完成;
d.根据每个时间段的投放次数和每天可用时间段,得出最终分配时间段;
计算公式为:每个时间段的结束时间=每个时间段的开始时间+该段时间投放次数*videotime。
进一步,所述步骤六中,所述投放分配原则为偏好投放原则,具体为:
a.将每一天的时间划分为多个时间段,其中至少一个时间段为偏好时间段,其余时间段为非偏好时间段;
b、偏好设置;
c、计算每个时间段可用时间片、每天可用时间片总数k1、每天中所有时间段的时间片数最小值kmin及每天可用时间段数m;
每个时间段可用时间片的计算公式为:
每个时间段可用时间片=(结束时间-开始时间)/videotime;videotime为预投入广告的时长;
d、根据每天的预投放次数k2和偏好设置,遍历计算出每天中每个时间段需要投放的次数,具体为:
(1)计算偏好时间段预投放次数k3,计算公式如下:
k3=k2/2;
(2)判断偏好时间段的可用时间片k4与偏好时间段预投放次数k3的关系;
若k4≥k3,则分配偏好时间段的投放次数为k3,并将剩余投放次数平均投放到剩余时间段;
若k4<k3,则分配偏好时间段的投放次数为k4,并将剩余投放次数平均投放到剩余时间段;
e、根据每个时间段的投放次数和每天可用时间段,得出最终分配时间段;
计算公式为:每个时间段的结束时间=每个时间段的开始时间+该段时间投放次数*videotime。
进一步,所述步骤五中、根据投放广告视频时长修正所述步骤四中的可用时间段,具体为:
遍历步骤三中的每天中的每一段时间,然后修改每个时间段的结束时间,每个时间段的结束时间的计算公式如下:
结束时间=结束时间-(结束时间-开始时间)%videotime。
进一步,所述终端机为自助打印机。
本发明具有以下优点:通过本发明所述的方法,只需简单设置排期条件,就能够对全国所有投放的终端机进行广告的精准投放控制。从而让广告市场人员能够根据不同区域、不同时间进行广告屏销售,尽可能使得广告收入达到最大化。
附图说明
图1为本发明的流程图。
具体实施方式
下面结合附图对本发明作进一步说明。
如图1所示的广告排期方法,用于不同分组投放的终端机的广告排期,包括以下步骤:
步骤一、创建广告项目,设置投放时间段、投放广告视频时长、每天预投放次数、投放分配原则和投放区域及分组;
设置广告投放的相关参数,比如:
投放时间段:2016-11-5~2016-11-6;
每天预投放次数:1180次;
投放广告视频时长:45s;
投放区域:某学院(某学院分为多个分组,包括第一分组、第二分组和第三分组等);
投放分组:第一分组;
投放原则:平均投放或偏好投放原则,用户根据需求选择。
步骤二、读取所选区域及其分组在所选时间段内的时间段占用表;
如选择时间段为:2016-11-5~2016-11-6,结果为:
[["2016-11-57:00:00","2016-11-58:00:00"],
["2016-11-512:00:00","2016-11-513:00:00"],
["2016-11-67:00:00","2016-11-68:00:00"],
["2016-11-612:00:00","2016-11-613:00:00"],
["2016-11-617:00:00","2016-11-618:00:00"]]
//注:若选出的时间段之间是连续的,则进行两段合并操作。
步骤三、计算出该时间段占用表中每天已被占用的时间段;
如上例中的为:[2,3]。其中:2表示2016-11-5,占用2段,3表示2016-11-6,占用了3段。
从而可以结合步骤二中的结果计算出每天占用了的时间段。如:2016-11-5~2016-11-6的占用时间段为:
[
[["2016-11-57:00:00","2016-11-58:00:00"],["2016-11-512:00:00","2016-11-513:00:00"]],
[["2016-11-67:00:00","2016-11-68:00:00"],["2016-11-612:00:00","2016-11-613:00:00"],["2016-11-617:00:00","2016-11-618:00:00"]]
]
步骤四、循环遍历每天已被占用的时间段,求出每天可用时间段;
如:
[
[["2016-11-58:00:00","2016-11-512:00:00"],["2016-11-513:00:00","2016-11-524:00:00"]],
[["2016-11-68:00:00","2016-11-612:00:00"],["2016-11-613:00:00","2016-11-617:00:00"],["2016-11-618:00:00","2016-11-624:00:00"]]
]
步骤五、根据投放广告视频时长修正所述步骤四中的可用时间段,使每段时间为videotime的整数倍;
遍历步骤四中的每天中的每个时间段,然后修改每个时间段的结束时间,每个时间段的结束时间的计算公式如下:结束时间=结束时间-(结束时间-开始时间)%videotime。
以videotime=45s为例,步骤五输出的结果为(此例中正好都是整数倍):
[
[["2016-11-58:00:00","2016-11-512:00:00"],["2016-11-513:00:00","2016-11-524:00:00"]],
[["2016-11-68:00:00","2016-11-612:00:00"],["2016-11-613:00:00","2016-11-617:00:00"],["2016-11-618:00:00","2016-11-624:00:00"]]
]
步骤六、按照平均投放原则或偏好投放原则计算出需要使用的时间段,并保存到所选择分组对应的时间占用表中。
本发明中,所述步骤六中,当所选择的投放分配原则为平均投放原则时,具体为:
a、将每一天的时间划分为多个时间段;本实施例中,将每一天的时间划分为三个时间段进行说明,三个时间段分别为:7:00-12:00,12:00-18:00,18:00-24:00。
遍历步骤五中的结果,把步骤五中的每个可用时间段都分配到以上规定的三个时间段里得出:
[
[
[["2016-11-58:00:00","2016-11-512:00:00"]],#属于7:00-12:00
[["2016-11-513:00:00","2016-11-518:00:00"]],#属于12:00-18:00
[["2016-11-518:00:00","2016-11-524:00:00"]],#属于18:00-24:00
],
[
[["2016-11-68:00:00","2016-11-612:00:00"]],#属于7:00-12:00
[["2016-11-613:00:00","2016-11-617:00:00"]],#属于12:00-18:00
[["2016-11-618:00:00","2016-11-624:00:00"]],#属于18:00-24:00
]
]。
b.计算每个时间段可用时间片、每天可用时间片总数k1、每天中所有时间段的时间片数最小值kmin及每天可用时间段数m;
每个时间段可用时间片的计算公式为:
每个时间段可用时间片=(结束时间-开始时间)/videotime;videotime为预投入广告视频时长;
如videotime=45s,最终得出结果为。
[
[#2016-11-5
7:00-12:00,[320],
12:00-18:00,[400],
18:00-24:00,[480]
],
[#2016-11-6
7:00-12:00,[320],
12:00-18:00,[320],
18:00-24:00,[480]
]
]
2016-11-5总共可用时间片数:1200。
2016-11-6总共可用时间片数:1120。
2016-11-5所有时间段的时间片数最小值:320。
2016-11-6所有时间段的时间片数最小值:320。
2016-11-5可用时间段数:3。
2016-11-6可用时间段数:3。
c.根据每天的预投放次数k2遍历计算出每天中每个时间段需要投放的次数;以每天的预投放次数k2为1180次为例进行说明:
(1)若k1≤k2,则将每天的可用时间段m全部分配;比如:2016-11-6这一天,2016-11-6的总共可用时间片数k1为1120次,全部分配后的结果为[[320],[320],[480]],并记录冲突状态。
(2)若k1>k2,比如:2016-11-5这一天,2016-11-5的总共可用时间片数k1为1200次,则判断条件1是否满足;
条件1、kmin*m≥k2;
若条件1满足,则计算出每天的每个时间段的投放次数,计算公式如下:
每个时间段的投放次数=k2/m,若存在余数,则将余数分给第一个可用时间段;
若条件1不满足,比如:2016-11-5这一天的kmin为320次,m为3,320*3<1180。则先给每个时间段分配kmin个,如2016-11-5这一天分配的结果为[[320],[320],[320]],利用剩余每段可用时间片数([[0],[80],[160]])和剩余投放次数(1180-960=220.)进行遍历,直至剩余投放次数分配完成,最终得出2016-11-5每段时间投放次数为[[320],[400],[460]]。
本步骤输出的结果为:
[
[#2016-11-5
7:00-12:00,[320],
12:00-18:00,[400],
18:00-24:00,[460]
],
[#2016-11-6
7:00-12:00,[320],
12:00-18:00,[320],
18:00-24:00,[480]
]
]
d.根据每个时间段的投放次数和每天可用时间段,得出最终分配时间段;
计算公式为:每个时间段的结束时间=每个时间段的开始时间+该段时间投放次数*videotime。
[
[
[["2016-11-58:00:00","2016-11-512:00:00"]],#属于7:00-12:00
[["2016-11-513:00:00","2016-11-518:00:00"]],#属于12:00-18:00
[["2016-11-518:00:00","2016-11-523:45:00"]],#属于18:00-24:00
],
[
[["2016-11-68:00:00","2016-11-612:00:00"]],#属于7:00-12:00
[["2016-11-613:00:00","2016-11-617:00:00"]],#属于12:00-18:00
[["2016-11-618:00:00","2016-11-624:00:00"]],#属于18:00-24:00
]
]。
本发明中,所述步骤六中,当选择的投放分配原则为偏好投放原则时,具体为:
a、将每一天的时间划分为多个时间段,其中至少一个时间段为偏好时间段,其余时间段为非偏好时间段;
比如:把每天分成6段,分别为:7:00-9:00,9:00-12:00,12:00-14:00,14:00-18:00,18:00-20:00,20:00-24:00),比如:偏好时间段为7:00-9:00,12:00-14:00,18:00-20:00。
遍历步骤五中的结果,把每段时间都分配到以上规定的6个时间段里得出:
[
[
[["2016-11-58:00:00","2016-11-59:00:00"]],#7:00-9:00
[["2016-11-59:00:00","2016-11-512:00:00"]],#9:00-12:00
[["2016-11-513:00:00","2016-11-514:00:00"]],#12:00-14:00
[["2016-11-514:00:00","2016-11-518:00:00"]],#14:00-18:00
[["2016-11-518:00:00","2016-11-520:00:00"]],#18:00-20:00
[["2016-11-520:00:00","2016-11-524:00:00"]]#20:00-24:00
],
[
[["2016-11-68:00:00","2016-11-69:00:00"]],#7:00-9:00
[["2016-11-69:00:00","2016-11-612:00:00"]],#9:00-12:00
[["2016-11-613:00:00","2016-11-614:00:00"]],#12:00-14:00
[["2016-11-614:00:00","2016-11-617:00:00"]],#14:00-18:00
[["2016-11-618:00:00","2016-11-620:00:00"]],#18:00-20:00
[["2016-11-620:00:00","2016-11-624:00:00"]]#20:00-24:00
],
]
b、偏好设置;比如:客户选择的偏好时间段为7:00-9:00。
c、计算每个时间段可用时间片、每天可用时间片总数k1、每天中所有时间段的时间片数最小值kmin及每天可用时间段数m;
每个时间段可用时间片的计算公式为:
每个时间段可用时间片=(结束时间-开始时间)/videotime;videotime为预投入广告的时长;
如videotime=45s,最终得出结果为。
[#2016-11-5
#7:00-9:00[80],
#9:00-12:00[240],
#12:00-14:00[80],
#14:00-18:00[320],
#18:00-20:00[160],
#20:00-24:00[320],
[#2016-11-6
#7:00-9:00[80],
#9:00-12:00[240],
#12:00-14:00[80],
#14:00-18:00[240],
#18:00-20:00[160],
#20:00-24:00[320]
]
]
2016-11-5总共可用时间片数:1200;
2016-11-6总共可用时间片数:1120。
2016-11-5所有时间段的时间片数最小值:80。
2016-11-6所有时间段的时间片数最小值:80。
2016-11-5可用时间段数:6。
2016-11-6可用时间段数:6。
d、根据每天的预投放次数k2(如一天投放1180次,)和偏好设置,遍历计算出每天中每个时间段需要投放的次数,具体为:
(1)计算偏好时间段预投放次数k3,计算公式如下:
k3=k2/2;
本例中,k3=1180/2=590,单位:次。
(2)判断偏好时间段的可用时间片k4与偏好时间段预投放次数k3的关系;
若k4≥k3,则分配偏好时间段的投放次数为k3,并将剩余投放次数平均投放到剩余时间段;
若k4<k3,则分配偏好时间段的投放次数为k4,并将剩余投放次数平均投放到剩余时间段;
本例中,k4=80,单位:次,k4<k3,则本步骤输出的结果为:
[
[#2016-11-5
#7:00-9:00[80],
#9:00-12:00[240],
#12:00-14:00[80],
#14:00-18:00[310],
#18:00-20:00[160],
#20:00-24:00[310],
[#2016-11-6
#7:00-9:00[80],
#9:00-12:00[240],
#12:00-14:00[80],
#14:00-18:00[240],
#18:00-20:00[160],
#20:00-24:00[320]
],
e、根据每个时间段的投放次数和每天可用时间段,得出最终分配时间段;
计算公式为:每个时间段的结束时间=每个时间段的开始时间+该段时间投放次数*videotime。
[["2016-11-58:00:00","2016-11-59:00:00"]],#7:00-9:00
[["2016-11-59:00:00","2016-11-512:00:00"]],#9:00-12:00
[["2016-11-513:00:00","2016-11-514:00:00"]],#12:00-14:00
[["2016-11-514:00:00","2016-11-517:52:30"]],#14:00-18:00
[["2016-11-518:00:00","2016-11-520:00:00"]],#18:00-20:00
[["2016-11-520:00:00","2016-11-523:52:30"]],#20:00-24:00
],
[
[["2016-11-68:00:00","2016-11-69:00:00"]],#7:00-9:00
[["2016-11-69:00:00","2016-11-612:00:00"]],#9:00-12:00
[["2016-11-613:00:00","2016-11-614:00:00"]],#12:00-14:00
[["2016-11-614:00:00","2016-11-617:00:00"]],#14:00-18:00
[["2016-11-618:00:00","2016-11-620:00:00"]],#18:00-20:00
[["2016-11-620:00:00","2016-11-624:00:00"]]#20:00-24:00
],
],
广告项目创建完毕,当广告项目创建完毕后,给该广告项目添加广告素材,广告播放器每天在预定时间(比如:凌晨)获取所在分组当天的时间占用表,进而播放器就可以按照排期时间点进行精准的广告播放了。
本发明中,所述终端机为自助打印机。将自助打印机安装在小区、学校或其他地方,且各自助打印机通过云平台管理,以方便人们能随时随地按需打印。自助打印机上配置有广播播放器,在实现自助打印的同时,还能够播放广告,以增加自助打印机的收益。