CN102004997A - 广告播发方法与相关系统 - Google Patents
广告播发方法与相关系统 Download PDFInfo
- Publication number
- CN102004997A CN102004997A CN2010105602428A CN201010560242A CN102004997A CN 102004997 A CN102004997 A CN 102004997A CN 2010105602428 A CN2010105602428 A CN 2010105602428A CN 201010560242 A CN201010560242 A CN 201010560242A CN 102004997 A CN102004997 A CN 102004997A
- Authority
- CN
- China
- Prior art keywords
- waiting
- date
- broadcasting
- record
- field
- 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.)
- Pending
Links
Images
Abstract
本发明实施例公开了广告播发方法与相关系统,其中,一种广告播发方法包括:生成包含播发时间信息的排期表;筛选出排期表中满足播发条件的排期记录,并根据所述排期记录播发相应的广告,所述播发条件为当前时间与所述排期记录包含的播发时间信息相匹配。本发明的技术方案能够有效节省系统资源,减轻系统的运行负担。
Description
技术领域
本发明涉及广告播发前端技术领域,尤其涉及一种广告播发方法及相关系统。
背景技术
所谓广告排期,指的是将某广告的媒体流信息(如图片或音视频等)与广告位、预播发的日期和时间、播发地区等信息进行关联,使得广电运营商可根据该广告排期在相应的时间和广告位播发该广告。
在广告播发系统中,使广告能在指定的时间点准确的播发出来是广告播发系统所涉及的关键的技术之一。
现有技术中,当确定了某个广告的播发时间后,则在该广告中植入计时器,将当前时间作为计时器的起始时间,并开始计时,当计时器到达广告预定播发的起始时间时,触发广告播发装置按照预置的时间间隔播发该广告。例如当前时间为2010-8-1 10:00,某个广告预定在2010-8-5 18:00到2010-8-722:00这一时间段内每隔1小时播发,则在该广告中植入计时器,设定计时起始时间为当前时间,即2010-8-1 10:00,计时器开始计时,当计时到达2010-8-518:00时,其触发广告播发装置每隔1小时播发该广告,计时器继续计时,当计时到达2010-8-7 22:00时,触发广告播发装置停止播发广告。
但是,目前广告商为了提高广告的被关注程度,很多时候会选择将广告投放在某几个特定的时间段进行播发,而上述通过在广告中植入计时器的方式,只能够指定广告在某个连续的时间段中按照固定的时间间隔播发,如果要在某几个特定的时间段播发,就要植入多个计时器。例如,若预定在2010-8-1至2010-8-31这一个月内的每个周一、周六,在20:00-22:00这个时间段中每隔1小时播发某广告,则需要在该广告中植入至少八个计时器;又例如,若预定在某一天的某几个时间段如8:00-12:00,18:00-20:00播发某广告,则需要在该广告中植入至少两个计时器;而如果某广告预定在某几个特别的日期的某几个时间段播发,则需要植入更多的计时器来实现。随着广告数量的增加,广告播发系统中计时器的数量必然会在短期内膨胀,一方面,由于在广告中植入计时器的配置繁琐,计时器数量的增加必然要浪费工作人员的大量时间和精力,另一方面,计时器的运行需要占用一定的系统资源,因此计时器数量越多,其占用的系统资源也必然增加,这必然导致系统的运行负担加重。
发明内容
本发明实施例提供了一种广告播发方法及相关系统,用于节省系统资源,减轻系统的运行负担。
为解决上述技术问题,本发明实施例提供以下技术方案:
一种广告播发方法,包括:
生成包含播发时间信息的排期表;
筛选出排期表中满足播发条件的排期记录,并根据上述排期记录播发相应的广告,上述播发条件为当前时间与上述排期记录包含的播发时间信息相匹配。
一种广告播发系统,包括:
生成单元,用于生成包含播发时间信息的排期表;
筛选播发单元,用于筛选出满足播发条件的排期记录,并根据上述排期记录播发相应的广告,上述播发条件为当前时间与上述排期记录包含的上述播发时间信息相匹配。
由上可见,本发明实施例中,将广告的播发时间信息存储在一张排期表中,通过查询排期表中的排期记录,筛选出满足播发条件的排期记录后播发相应的广告,一方面,以数据表的形式存储广告的播发时间信息,静态的数据表只占用系统少量的存储空间,无须占用系统的中央处理器(CPU,Central Processing Unit)资源,另一方面,由于查询并筛选出满足播发条件的排期记录的过程始终是在一张数据表中完成的,因此,排期记录数量的增加并不会影响查询和筛选的难度,而查询和筛选的过程所占用的系统的CPU资源相对固定,不会因排期记录数量的增加而使系统的运行负担加重。综上,本发明实施例提供的技术方案能有效地节省系统资源,减轻系统的运行负担。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中广告播发方法的一个实施例流程示意图;
图1-a为本发明实施例中的排期表在数据库中的实体结构示意图;
图2为本发明实施例中广告播发方法的另一个实施例流程示意图;
图3为本发明实施例中的筛选流程示意图;
图4为本发明实施例中的冲突检测流程示意图;
图5为本发明实施例中广告播发系统的结构示意图。
具体实施方式
本发明实施例提供了广告播发方法、相关装置及系统。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面对本发明实施例中的广告播发方法进行描述,请参阅图1,本发明实施例中的广告播发方法一个实施例包括以下步骤:
101、生成包含播发时间信息的排期表;
在实际应用中,当用户拟定好某一个广告的排期策略,确定好该广告的预播发时间后,可通过广告播发系统对该广告进行排期操作,根据用户输入的指令,广告播发系统生成包含该广告的播发时间信息的排期表,以作为该广告播发的时间依据。
在一种应用场景下,上述播发时间信息可包括:用于记录播发模式的模式字段、用于记录播发起始日期的起始日期字段、用于记录播发结束日期的结束日期字段、用于记录播发日期二进制值的具体日期字段,以及用于记录播发时间二进制值的具体时间字段;
上述模式字段的值可包括连续、每天、每周和每月等,不同的模式字段值分别指示不同的播发模式,用户可根据需求选择相应的模式字段值输入,以指定相应的播发模式。例如,“连续”值可指示在从起始日期的某一时间点开始,到结束日期的某一时间点结束的每一分钟都播发广告,如2010-8-1 14:00至2010-8-30 22:00内的每一分钟都播发广告;“每天”值可指示在从起始日期到结束日期内每天的某几个时间段播发广告,如2010-8-1至2010-8-30内每天的14:00-15:00,18:00-22:00播发广告;“每周”值可指示在从起始日期到结束日期内每周的某几天的某几个时间段播发广告,如2010-8-1至2010-8-30内每周六、日的14:00-15:00,18:00-22:00播发广告;“每月”值可指示的是从起始日期到结束日期每月的某几号的某几个时间段播发广告,如2010-8-1至2010-8-30内每月的1号、10号的14:00-15:00,18:00-22:00播发广告等。而根据用户输入的模式字段指令,广告播发系统可依据预置的播发模式字段与具体日期字段、具体时间字段的关联关系,生成相应的具体日期字段选择界面和具体时间字段选择界面,以便于用户继续进一步的排期操作。
在实际应用中,排期表通常关联着多个表,如用于存储播发系统的广告位信息的广告位表、用于存储播发系统的素材信息的素材表、用于存储播发系统的用户信息的用户表等,其除了包含播发时间信息之外,还包含其它关联表的引用信息,通常,排期表中的每条排期记录对应于一条广告,且引用一个广告位、一个素材和一个用户等。
例如,一个表名为A_Schedule的排期表,关联着广告位表A_Slot、素材表A_Meterial以及用户表A_User,其包含的字段有:排期记录的序号scheduleID,排期记录的名称scheduleName,播发模式字段policyMode,起始日期字段startDate,结束日期字段endDate,具体日期字段dateMask,与dateMask一一映射的可读日期字符串readableDate(可用于界面显示),具体时间字段timeMask,以及与timeMask一一映射的可读时间字符串readableTime(可用于界面显示)。将scheduleID定义为排期表的主键(PK,primary key),将排期表引用的广告位表A_Slot的序号slotID、素材表A_Meterial的序号meterialID和用户表A_User的序号userID分别定义为外键(FK,Foreign Key)1、FK2和FK3,通过定义的外键可与上述广告位表、素材表和用户表建立链接关系。上述排期表在数据库中的实体结构可如图1-a所示,图中箭头指示的是排期表所引用的表。
在一种应用场景下,广告播发系统会对新增的排期记录的进行冲突检测,即判断新增的排期记录包含的播放时间信息、引用的广告位是否与排期表中已有的排期记录包含的播放时间信息、引用的广告位冲突,若冲突,则删除该条新增的排期记录,并输出告警信号,以便用户获知后重新对该广告进行播放时间或广告位的编排,从而避免因用户的错误编排而出现不同广告在相同的播发时间和相同的广告位播发,而造成冲突的情况。
102、筛选出排期表中满足播发条件的排期记录,并根据该条排期记录播发相应的广告;
可在广告播发系统中预置筛选的时间间隔,每隔一定时间执行一次筛选过程。其中,上述播发条件为当前时间与排期表中的排期记录包含的播发时间信息相匹配,可通过判断当前时间是否与排期表中的排期记录包含的播发时间信息相匹配来进行筛选。
在一种应用场景下,上述播发时间信息可包括用于记录播发模式的模式字段、用于记录播发起始日期的起始日期字段、用于记录播发结束日期的结束日期字段、用于记录播发日期二进制值的具体日期字段,以及用于记录播发时间二进制值的具体时间字段;可先获取上述起始日期字段至上述结束日期字段记录的日期段中包含当前日期的所有排期记录,再对获取到的所有排期记录逐一进行匹配,即,将当前日期与排期记录包含的具体日期字段进行匹配,再将已匹配的排期记录包含的具体时间字段与当前时间进行匹配,若仍匹配,则可判断该条排期记录满足播发条件,将其筛选出来。
在一种应用场景下,若定义了在具体日期字段与具体时间字段中,数值1为有效值,则在将当前日期与排期记录包含的具体日期字段进行匹配时,可先根据具体日期字段的生成规则,将可判断当前日期转化为相应的二进制值,将转化后的当前日期的二进制值与该条排期记录包含的具体日期字段值进行相与,若相与的结果中数值1的个数大于0,则可判断当前日期与该条排期记录包含的具体日期字段匹配,之后继续二次匹配,根据具体时间字段的生成规则,将当前时间转化为相应的二进制值,将转化后的当前时间的二进制值与该条排期记录的具体时间字段值进行相与,若相与的结果中数值1的个数大于0,则当前时间与该条记录包含的具体时间字段匹配,该条记录满足播发条件。当然,在具体日期字段与具体时间字段中,也可定义数值0为有效值,则在进行上述匹配时,可将上述相与的计算过程替换为相或的计算过程,当相或的结果中数值0的个数大于0时,则可判断匹配,此处不作限定。
在筛选出满足播发条件的排期记录后,根据该条排期记录播发相应的广告。例如,在筛选出满足播发条件的排期记录后,广告播发系统可根据该条排期记录中的定义为FK的字段,获知该条排期记录对应的广告的广告位信息、素材信息及用户信息等,从而对该广告进行播发。
需要说明的是,本发明实施例所提供的技术方案主要是使广告能在到达指定的播发时间时被播发,至于广告播发系统在筛选出满足播发条件的排期记录之后的具体播发过程为本领域技术人员所知悉,本发明实施例中不对该过程进行具体阐述。
由上可见,本发明实施例中,将广告的播发时间信息存储在一张排期表中,通过查询排期表中的排期记录,筛选出满足播发条件的排期记录后播发相应的广告,一方面,以数据表的形式存储广告的播发时间信息,静态的数据表只占用系统少量的存储空间,无须占用系统的CPU资源,另一方面,由于查询并筛选出满足播发条件的排期记录的过程始终是在一张数据表中完成的,因此,排期记录数量的增加并不会影响查询和筛选的难度,而查询和筛选的过程所占用的系统的CPU资源相对固定,不会因排期记录数量的增加而使系统的运行负担加重。综上,本发明实施例提供的技术方案能有效地节省系统资源,减轻系统的运行负担。
下面对本发明实施例中植入冲突检测流程的广告播发方法进行描述,请参阅图2,本发明实施例中广告播发方法另一个实施例包括:
201、生成包含播发时间信息的排期表;
具体内容可如图1中的步骤101所描述,此处不再赘述。
202、判断新增的排期记录是否与上述排期表中已有的排期记录冲突;
当广告播发系统发现有新增的排期记录时,其触发执行冲突检测流程,即判断新增的排期记录是否与上述排期表中已有的排期记录冲突,若冲突,则执行步骤203,若不冲突,则执行步骤204。
为了避免出现不同广告在相同的播发时间和相同的广告位播发,而造成冲突的情况,广告系统可通过判断排期表中是否存在有与新增的排期记录包含相同的播发时间信息、引用的广告位信息的排期记录,来实现冲突检测流程。
203、删除上述新增的排期记录,并输出告警信号;
当广告播发系统检测到新增的排期记录与排期表中已有的排期记录冲突时,删除该条新增的排期记录,并输出告警信号,以使用户获知新增的排期记录与已有的排期记录发生冲突。上述告警信号可以是图形信号、文字信号或音频信号等信号,此处不作限定。
204、将上述新增的排期记录添加到排期表中;
205、筛选出排期表中满足播发条件的排期记录,并根据该条排期记录播发相应的广告;
具体内容可如图1中的步骤102所描述,此处不再赘述。
由上可见,本发明实施例中,将广告的播发时间信息存储在一张排期表中,通过查询排期表中的排期记录,筛选出满足播发条件的排期记录后播发相应的广告,一方面,以数据表的形式存储广告的播发时间信息,静态的数据表只占用系统少量的存储空间,无须占用系统的CPU资源,另一方面,由于查询并筛选出满足播发条件的排期记录的过程始终是在一张数据表中完成的,因此,排期记录数量的增加并不会影响查询和筛选的难度,而查询和筛选的过程所占用的系统的CPU资源相对固定,不会因排期记录数量的增加而使系统的运行负担加重。综上,本发明实施例提供的技术方案能有效地节省系统资源,减轻系统的运行负担。同时,在广告系统中植入冲突检测的流程,避免因用户的错误编排而出现不同广告在相同的播发时间和相同的广告位播发,造成冲突的情况,使得广告播发系统更为可靠。
为便于更好的理解本发明实施例中的技术方案,下面对本发明实施例中的广告播发方法中的筛选流程进行详细描述,请参阅图3,本发明实施例中广告播发方法中的筛选流程具体包括:
301、查询排期表中的排期记录,获取起始日期字段至结束日期字段记录的日期段中包含当前日期的所有排期记录;
查询排期表中的排期记录,获取满足以下条件的所有排期记录:
起始日期字段值<=当前日期&&结束日期字段值>=当前日期;
其中,起始日期字段和结束日期字段为排期记录包含的字段。
302、读取获取到的所有排期记录中的首条排期记录;
对步骤301获取的排期记录进行逐一匹配,读取要进行匹配的排期记录。
303、判断当前日期是否与当前读取的排期记录中包含的具体日期字段相匹配;
将当前日期与排期记录包含的具体日期字段进行匹配,若匹配,则执行步骤304,若不匹配,则执行步骤306。
在一种应用场景下,若定义了在具体日期字段中,数值1为有效值,则在将当前日期与排期记录包含的具体日期字段进行匹配时,可先根据具体日期字段的生成规则,将当前日期转化为相应的二进制值,将转化后的当前日期的二进制值与该条排期记录包含的具体日期字段值进行相与,若相与的结果中数值1的个数大于0,则可判断当前日期与该条排期记录包含的具体日期字段匹配,反之亦然。当然,在具体日期字段与具体时间字段中,也可定义数值0为有效值,则在进行上述匹配时,可将上述相与的计算过程替换为相或的计算过程,当相或的结果中数值0的个数大于0时,则可判断匹配,此处不作限定。
304、判断当前时间是否与当前读取的排期记录中包含的具体时间字段相匹配;
将当前时间与当前读取的排期记录中包含的具体时间字段进行匹配,若匹配,则执行步骤305,若不匹配,则执行步骤306。
在一种应用场景下,若定义了在具体时间字段值中,数值1为有效值,则在将当前日期与排期记录包含的具体时间字段进行匹配时,可先根据具体时间字段的生成规则,将当前时间转化为相应的二进制值,将转化后的当前时间的二进制值与该条排期记录包含的具体时间字段值进行相与,若相与的结果中数值1的个数大于0,则可判断当前时间与该条排期记录包含的具体日期字段匹配,反之亦然。当然,在具体日期字段与具体时间字段中,也可定义数值0为有效值,则在进行上述匹配时,可将上述相与的计算过程替换为相或的计算过程,当相或的结果中数值0的个数大于0时,则可判断匹配,此处不作限定。
305、根据当前读取的排期记录播发相应的广告;
在筛选出满足播发条件的排期记录后,根据该条排期记录播发相应的广告。例如,在筛选出满足播发条件的排期记录后,广告播发系统可根据该条排期记录中的定义为FK的字段,获知该条排期记录对应的广告的广告位信息、素材信息及用户信息等,从而对该广告进行播发。
306、判断当前读取的排期记录是否是获取到的所有排期记录中的最后一条;
在对当前读取的排期记录进行完二次匹配后,可判断其是否是步骤301中获取到的所有排期记录中的最后一条,若是,则执行步骤308,若否,则执行步骤307。
307、读取下一条排期记录;
从步骤301获取到的所有排期记录中读取下一条排期记录,并执行步骤303。
308、结束筛选。
结束本次筛选流程,并可根据广告播发系统预置的时间间隔,经一定时间后执行下一次筛选流程。
由上可见,本发明实施例中,将广告的播发时间信息存储在一张排期表中,通过查询排期表中的排期记录,筛选出满足播发条件的排期记录后播发相应的广告,一方面,以数据表的形式存储广告的播发时间信息,静态的数据表只占用系统少量的存储空间,无须占用系统的CPU资源,另一方面,由于查询并筛选出满足播发条件的排期记录的过程始终是在一张数据表中完成的,因此,排期记录数量的增加并不会影响查询和筛选的难度,而查询和筛选的过程所占用的系统的CPU资源相对固定,不会因排期记录数量的增加而使系统的运行负担加重。综上,本发明实施例提供的技术方案能有效地节省系统资源,减轻系统的运行负担。
为便于更好的理解本发明实施例中的技术方案,下面以一具体应用场景对本发明的广告播发方法进行详细描述。
当某广告预定在2010-8-1至2010-8-31中的周六、日的12:00-14:00播发时,则其相应的排期记录包含的播发时间信息的各字段的值可如表1所示:
表1
字段 | 含义 | 具体值 |
policyMode | 播发模式 | 每周 |
startDate | 播发起始日期 | 2010-8-1 |
endDate | 播发结束日期 | 2010-8-31 |
dateMask | 播发日期二进制值 | 10000010 |
readableDate | 可读日期字符串 | [SUNDAY,SATURDAY] |
timeMask | 播发时间二进制值 | 000000000000111000000000 |
readableTime | 可读时间字符串 | 12:00-14:00 |
上述表是定义在dateMask(具体日期字段)和timeMask(具体时间字段)中,数值1为有效值,dateMask包含8位二进制值,从左到右,第一位指示周日,第二位指示周一,以此类推,最后一位为无效位,因此,周六、日所对应dateMask值为“10000010”,而timeMask包含24位二进制值,以小时为最小单位,从左到右,第一位指示00:00,第二位指示01:00,以此类推,最后一位指示23:00,而12:00-14:00由dateMask的第13位、14位和15位指示,当值取1时该位有效,可由“000000000000111000000000”表示,当然,也可以分钟为最小单位,则其位数相应增多,此处不作限定。
若当前日期为该日期段中的周六的21:00,则可根据上述dateMask的生成规则,将当前日期转换为相应的二进制值“10000000”,再与dateMask的值“10000010”相与,相与结果数值1的个数大于0,可判断dateMask与当前日期匹配;之后根据上述timeMask的生成规则,将当前时间转换为相应的二进制值“000000000000000000000100”(第22位的值有效),与timeMask的值“000000000000111000000000”相与,相与结果数值1的个数小于或等于0,则可判断timeMask与当前时间不匹配,不对该排期记录对应的广告进行播发。
若定义在dateMask(具体日期字段)和timeMask(具体时间字段)中,数值0为有效值,则其相应的排期记录包含的播发时间信息的各字段的值可如表2所示:
表2
字段 | 含义 | 具体值 |
policyMode | 播发模式 | 每周 |
startDate | 播发起始日期 | 2010-8-1 |
endDate | 播发结束日期 | 2010-8-31 |
dateMask | 播发日期二进制值 | 01111101 |
readableDate | 可读日期字符串 | [SUNDAY,SATURDAY] |
timeMask | 播发时间二进制值 | 111111111111000111111111 |
readableTime | 可读时间字符串 | 12:00-14:00 |
类似的,若当前日期为该日期段中的周六的21:00,则可根据上述dateMask的生成规则,将当前日期转换为相应的二进制值“01111111”,再与dateMask的值“01111101”相或,相或结果数值0的个数大于0,可判断dateMask与当前日期匹配;之后根据上述timeMask的生成规则,将当前时间转换为相应的二进制值“111111111111111111111011”(第22位的值有效),与timeMask的值“111111111111000111111111”相或,相或结果数值0的个数小于或等于0,则可判断timeMask与当前时间不匹配,不对该排期记录对应的广告进行播发。
下面对本发明实施例中的广告播发方法中的冲突检测流程进行详细描述。为便于描述,在本发明实施例中,分别用startDate0、endDate0、policyMode0、dateMask0、timeMask0和slot0指代新增的排期记录中包含的起始日期字段值、结束日期字段值、播发模式字段值、具体日期字段值、具体时间字段值和广告位序号值。请参阅图4,本发明实施例中广告播发方法中的冲突检测流程具体包括:
401、查询排期表中的排期记录,获取需进行检测的所有排期记录;
通常,排期表中的每条排期记录对应于一条广告,且引用一个广告位、一个素材和一个用户等,排期表中的排期记录除了包含播发时间信息之外,还包含其它关联表的引用信息(如广告位序号字段、素材序号字段和用户序号字段等),其在数据库中的结构实体可如图1-a所示。
对新增的排期表进行冲突检测,目的是为了防止因用户的错误编排而出现不同广告在相同的播发时间和相同的广告位播发的情况,因此,当广告播发系统发现有新增的排期记录,其并不需要将新增的排期记录与排期表中的所有排期记录都进行冲突检测,而只需要将排期表中的包含的广告位序号字段值与slot0相同,且包含的起始日期字段值、结束日期字段值与startDate0、endDate0有公共交集的排期记录与新增的排期记录进行冲突检测即可。
因此,当广告播发系统发现有新增的排期记录时,其可根据新增的排期记录查询排期表中已有的排期记录,获取满足以下条件的所有排期记录:
起始日期字段值<=endDate0&&结束日期字段值>=startDate0&&广告位序号字段值=slot0;
其中,上述表达式中的起始日期字段、结束日期字段和广告位序号字段为排期表中的排期记录包含的字段。例如当新增的排期记录的startDate0为2010-11-17,endDate0为2010-11-21,slot0为1时,则可获取排期表中包含的起始日期字段值小于或等于2010-11-21、结束日期字段值大于或等于2010-11-17,且广告位序号字段值等于1的所有排期记录。
402、读取获取到的所有排期记录中的首条排期记录;
读取步骤401获取到的排期记录中的首条排期记录,将新增的排期记录与读取的排期记录进行冲突检测。
403、选取比较日期轴的起点和终点;
比较当前读取的排期记录包含的起始日期字段值和新增排期记录包含的startDate0的大小,将大的值作为比较日期轴的起点;比较当前读取的排期记录包含的结束日期字段值和新增排期记录包含的endDate0的大小,将小的值作为比较日期轴的终点。
例如,若当前读取的排期记录包含的起始日期字段值和结束日期字段值分别为2010-11-18和2010-11-20,新增的排期记录的包含的startDate0和endDate0分别为2010-11-17和2010-11-21,则通过比较读取的排期记录包含的起始日期字段值和新增的排期记录包含的startDate0的大小,将2010-11-18作为比较日期轴的起点;通过比较当前读取的排期记录包含的结束日期字段值和新增排期记录包含的endDate0的大小后,将2010-11-20作为比较日期轴的终点。则选取的比较日期轴为2010-11-18至2010-11-20。
404、分别构建新增的排期记录的比较时间轴和当前读取的排期记录的比较时间轴;
根据步骤403选取的比较日期轴、新增的排期记录包含的policyMode0和timeMask0,构建新增的排期记录的比较时间轴(以下用timeaxis0代述);根据步骤403选取的比较日期轴、当前读取的排期记录包含的播发模式字段值(以下用policyMode1代述)和具体时间字段值(以下用timeMask1代述),构建当前读取的排期记录的比较时间轴(以下用timeaxis1代述)。
例如,假设当前读取的排期记录包含的起始日期字段值和结束日期字段值分别为2010-11-18和2010-11-20,新增的排期记录的包含的startDate0和endDate0分别为2010-11-17和2010-11-21,则由步骤403可得比较日期轴为2010-11-18至2010-11-20;假设policyMode0和policyMode1均为“每天”,timeMask0为“14:00-18:00”,timeMask1为“17:00-19:00”,若广告播发系统预置小时为最小单位,二进制数值1为有效值,则可构建24位二进制值替代一天中的24小时,上述比较日期轴2010-11-18至2010-11-20即可由24*3位,即72位二进制值替代,第一位表示2010-11-18的00:00,最后一位表示2010-11-20的23:00,以此类推,根据policyMode0和timeMask0、policyMode1和timeMask1,将相应的位数取1,即可分别构建出timeaxis0和timeMask1。当然,若广告播发系统预置分钟为最小单位,则构建位数相应增多,此处不作限定。
405、判断新增的排期记录的比较时间轴和当前读取的排期记录的比较时间轴是否冲突;
在一种应用场景下,若广告播发系统预置二进制数值1为有效值,则将步骤404构建的timeaxis0和timeMask1进行相与,若相与结果数值1的个数大于0,则可判断新增的排期记录与当前读取的排期记录冲突,执行步骤406;若相与结果数值1的个数小于或等于0,则可判断新增的排期记录与当前读取的排期记录不冲突,执行步骤407。
406、删除新增的排期记录,并输出告警信号,执行步骤410;
当广告播发系统检测到新增的排期记录与排期表中已有的排期记录冲突时,删除该条新增的排期记录,并输出告警信号,以使用户获知新增的排期记录与已有的排期记录发生冲突。上述告警信号可以是图形信号、文字信号或音频信号等信号,此处不作限定。
407、判断当前读取的排期记录是否是获取到的所有排期记录中的最后一条;
判断当前读取的排期记录是否是步骤401中获取到的所有排期记录中的最后一条,若是,则执行步骤408,若否,执行步骤409。
408、将新增的排期记录添加到排期表中,执行步骤410;
409、读取下一条排期记录;
从步骤401获取到的所有排期记录中读取下一条排期记录,并执行步骤403。
410、结束冲突检测;
结束本次冲突检测流程,并在发现有下一条新增的排期记录时,重新执行冲突检测流程。
由上可见,本发明实施例中,通过在广告系统中植入冲突检测的流程,避免因用户的错误编排而出现不同广告在相同的播发时间和相同的广告位播发,造成冲突的情况,使得广告播发系统更为可靠。
本发明实施例还提供了用于实现上述广告播发方法的广告播发系统,如图5所示,本发明实施例中的广告播发系统包括:
生成单元501,用于生成包含播发时间信息的排期表;
在一种应用场景下,生成单元501可包括第一生成单元和第二生成单元。
其中,第一生成单元用于生成播发时间信息,其中,播发时间信息包括用于记录播发模式的模式字段、用于记录播发起始日期的起始日期字段、用于记录播发结束日期的结束日期字段、用于记录播发日期二进制值的具体日期字段,以及用于记录播发时间二进制值的具体时间字段的;
第二生成单元用于生成包含第一生成单元生成的播发时间信息的排期表。
在实际应用中,第二生成单元生成的排期表通常关联着多个表,如用于存储播发系统的广告位信息的广告位表、用于存储播发系统的素材信息的素材表、用于存储播发系统的用户信息的用户表等,其除了包含播发时间信息之外,还包含其它关联表的引用信息,通常,排期表中的每条排期记录对应于一条广告,且引用一个广告位、一个素材和一个用户等。
筛选播发单元502,用于筛选出满足播发条件的排期记录,并根据筛选出的排期记录播发相应的广告,其中,播发条件为当前时间与排期记录包含的上述播发时间信息相匹配;
在一种应用场景下,筛选播发单元502可包括:
查询获取单元,用于查询排期表中的排期记录,获取起始日期字段至结束日期字段记录的日期段中包含当前日期的所有排期记录;
其中,上述起始日期字段和上述结束日期字段为排期记录包含的字段。
第一读取单元,用于读取上述查询获取单元获取到的所有排期记录中的首条排期记录;
第一判断单元,用于判断当前日期是否与当前读取的排期记录包含的具体日期字段相匹配,若是,则触发第二判断单元,若否,则触发第三判断单元;
在一种应用场景下,第一判断单元可包括日期转化单元和日期匹配判断单元;
其中,日期转化单元可用于根据排期记录包含的具体日期字段的生成规则,将当前日期转化为相应的二进制值,
在一种应用场景下,当定义了在上述具体日期字段中,数值1为有效值时,日期匹配判断单元可用于将上述日期转化单元转化的当前日期的二进制值与当前读取的排期记录包含的具体日期字段的二进制值相与,若相与的结果中数值1的个数大于0,则可判断当前日期与该具体日期字段匹配,触发第二判断单元,若相与的结果中数值1的个数小于或等于0,则判断当前日期与该具体日期字段不匹配,触发第三判断单元。
第二判断单元,用于判断当前时间是否与当前读取的排期记录包含的具体时间字段相匹配,若是,则触发播发单元,若否,则触发第三判断单元;
播发单元,用于根据当前读取的排期记录播发相应的广告;
在筛选出满足播发条件的排期记录后,播发单元根据该条排期记录播发相应的广告。例如,在筛选出满足播发条件的排期记录后,播发单元可根据该条排期记录中的定义为FK的字段,获知该条排期记录对应的广告的广告位信息、素材信息及用户信息等,从而对该广告进行播发。
第三判断单元,用于判断当前读取的排期记录是否是上述查询获取单元获取到的所有排期记录中的最后一条排期记录,若是,则结束筛选,若否,则触发第二读取单元;
可理解的是,当结束筛选之后,可根据广告播发系统预置的时间间隔,经一定时间后执行下一次筛选流程。
第二读取单元,用于从上述查询获取单元获取到的所有排期记录中读取下一条排期记录,并触发上述第一判断单元。
其中,广告播发系统还可包括:
冲突检测单元,用于对新增的排期记录进行冲突检测;
其中,冲突检测单元可包括判断单元,告警单元和存储单元;
其中,判断单元用于判断新增的排期记录是否与排期表中已有的排期记录冲突,若冲突,则触发告警单元,若不冲突,则触发存储单元;
其中,告警单元用于删除上述新增的排期记录,并输出告警信号;
其中,存储单元用于将上述新增的排期记录添加到排期表中。
由上可见,本发明实施例中,将广告的播发时间信息存储在一张排期表中,通过查询排期表中的排期记录,筛选出满足播发条件的排期记录后播发相应的广告,一方面,以数据表的形式存储广告的播发时间信息,静态的数据表只占用系统少量的存储空间,无须占用系统的CPU资源,另一方面,由于查询并筛选出满足播发条件的排期记录的过程始终是在一张数据表中完成的,因此,排期记录数量的增加并不会影响查询和筛选的难度,而查询和筛选的过程所占用的系统的CPU资源相对固定,不会因排期记录数量的增加而使系统的运行负担加重。综上,本发明实施例提供的技术方案能有效地节省系统资源,减轻系统的运行负担。
需要说明的是,本发明实施例的广告播发系统可用于实现上述方法实施例中的全部技术方案,其各个功能模块的功能可以根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述实施例中的相关描述,此处不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,随机存储器、磁盘或光盘等。
以上对本发明所提供的一种广告播发方法与相关系统进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种广告排期方法,其特征在于,包括:
生成包含播发时间信息的排期表;
筛选出排期表中满足播发条件的排期记录,并根据所述排期记录播发相应的广告,所述播发条件为当前时间与所述排期记录包含的播发时间信息相匹配。
2.根据权利要求1所述的方法,其特征在于,
所述播发时间信息包括:
用于记录播发模式的模式字段、用于记录播发起始日期的起始日期字段、用于记录播发结束日期的结束日期字段、用于记录播发日期二进制值的具体日期字段,以及用于记录播发时间二进制值的具体时间字段。
3.根据权利要求2所述的方法,其特征在于,
所述生成包含播发时间信息的排期表的步骤之后包括:
对新增的排期记录进行冲突检测,具体步骤包括:
判断新增的排期记录是否与所述排期表中已有的排期记录冲突,若冲突,则删除所述新增的排期记录,并输出告警信号,若不冲突,则将所述新增的排期记录添加到所述排期表中。
4.根据权利要求2或3所述的方法,其特征在于,
所述筛选出排期表中满足播发条件的排期记录,并根据所述排期记录播发相应的广告的步骤,具体包括:
A1.查询所述排期表中的排期记录,获取所述起始日期字段至所述结束日期字段记录的日期段中包含当前日期的所有排期记录;
A2.读取所述获取到的所有排期记录中的首条排期记录;
A3.判断当前日期是否与当前读取的排期记录中包含的所述具体日期字段相匹配,若是,则执行步骤A4,若否,则执行步骤A6;
A4.判断当前时间是否与当前读取的排期记录中包含的所述具体时间字段相匹配,若是,则执行步骤A5,若否,则执行步骤A6;
A5.根据当前读取的排期记录播发相应的广告;
A6.判断当前读取的排期记录是否是所述获取到的所有排期记录中的最后一条,
若是,则结束筛选,若否,则从所述获取到的所有排期记录中读取下一条排期记录,并执行步骤A3。
5.根据权利要求4所述的方法,其特征在于,
所述步骤A3包括:
根据所述具体日期字段的生成规则,将当前日期转化为相应的二进制值;
将所述当前日期的二进制值与当前读取的排期记录包含的所述具体日期字段的二进制值相与,若相与的结果中数值1的个数大于0,则判断所述当前日期与所述具体日期字段匹配,执行步骤A4,若相与的结果中数值1的个数小于或等于0,则判断所述当前日期与所述具体日期字段不匹配,执行步骤A6;
所述步骤A4包括:
根据所述具体时间字段的生成规则,将当前时间转化为相应的二进制值;
将所述当前时间的二进制值与当前读取的排期记录包含的所述具体时间字段的二进制值相与,若相与的结果中数值1的个数大于0,则判断所述当前时间与所述具体时间字段匹配,执行步骤A5,若相与的结果中数值1的个数小于或等于0,则判断所述当前时间与所述具体时间字段不匹配,执行步骤A6。
6.一种广告播发系统,其特征在于,包括:
生成单元,用于生成包含播发时间信息的排期表;
筛选播发单元,用于筛选出满足播发条件的排期记录,并根据所述排期记录播发相应的广告,所述播发条件为当前时间与所述排期记录包含的所述播发时间信息相匹配。
7.根据权利要求6所述的系统,其特征在于,
所述生成单元包括第一生成单元和第二生成单元,
所述第一生成单元用于生成播发时间信息,所述播发时间信息包括用于记录播发模式的模式字段、用于记录播发起始日期的起始日期字段、用于记录播发结束日期的结束日期字段、用于记录播发日期二进制值的具体日期字段,以及用于记录播发时间二进制值的具体时间字段;
所述第二生成单元用于生成包含所述第一生成单元生成的播发时间信息的排期表。
8.根据权利要求7所述的系统,其特征在于,还包括:
冲突检测单元,用于对新增的排期记录进行冲突检测;
其中,冲突检测单元包括判断单元,告警单元和存储单元;
所述判断单元用于判断新增的排期记录是否与所述排期表中已有的排期记录冲突,若冲突,则触发告警单元,若不冲突,则触发存储单元;
所述告警单元用于删除所述新增的排期记录,并输出告警信号;
所述存储单元用于将所述新增的排期记录添加到所述排期表中。
9.根据权利要求7或8所述的系统,其特征在于,
所述筛选播发单元包括:
查询获取单元,用于查询所述排期表中的排期记录,获取所述起始日期字段至所述结束日期字段记录的日期段中包含当前日期的所有排期记录;
第一读取单元,用于读取所述查询获取单元获取到的所有排期记录中的首条排期记录;
第一判断单元,用于判断当前日期是否与当前读取的排期记录包含的所述具体日期字段相匹配,若是,则触发第二判断单元,若否,则触发第三判断单元;
第二判断单元,用于判断当前时间是否与当前读取的排期记录包含的所述具体时间字段相匹配,若是,则触发播发单元,若否,则触发第三判断单元;
播发单元,用于根据当前读取的排期记录播发相应的广告;
第三判断单元,用于判断当前读取的排期记录是否是所述查询获取单元获取到的所有排期记录中的最后一条排期记录,若是,则结束筛选,若否,则触发第二读取单元;
第二读取单元,用于从所述查询获取单元获取到的所有排期记录中读取下一条排期记录,并触发所述第一判断单元。
10.根据权利要求9所述的系统,其特征在于,
所述第一判断单元包括:
日期转化单元,用于根据所述具体日期字段的生成规则,将当前日期转化为相应的二进制值;
日期匹配判断单元,用于将所述日期转化单元转化的当前日期的二进制值与当前读取的排期记录包含的具体日期字段的二进制值相与,若相与的结果中数值1的个数大于0,则判断所述当前日期与所述具体日期字段匹配,触发所述第二判断单元,若相与的结果中数值1的个数小于或等于0,则判断所述当前日期与所述具体日期字段不匹配,触发所述第三判断单元;
所述第二判断单元包括:
时间转化单元,用于根据所述具体时间字段的生成规则,将当前时间转化为相应的二进制值;
时间匹配判断单元,用于将所述时间转化单元转化的当前时间的二进制值与当前读取的排期记录包含的具体时间字段的二进制值相与,若相与的结果中数值1的个数大于0,则判断所述当前时间与所述具体时间字段匹配,触发所述播发单元,若相与的结果中数值1的个数小于或等于0,则判断所述当前日期与所述具体日期字段不匹配,触发所述第三判断单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105602428A CN102004997A (zh) | 2010-11-25 | 2010-11-25 | 广告播发方法与相关系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105602428A CN102004997A (zh) | 2010-11-25 | 2010-11-25 | 广告播发方法与相关系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102004997A true CN102004997A (zh) | 2011-04-06 |
Family
ID=43812339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010105602428A Pending CN102004997A (zh) | 2010-11-25 | 2010-11-25 | 广告播发方法与相关系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102004997A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102663581A (zh) * | 2012-03-05 | 2012-09-12 | 北京千橡网景科技发展有限公司 | 用于存储事件排期的方法和装置 |
CN104967877A (zh) * | 2014-10-31 | 2015-10-07 | 腾讯科技(北京)有限公司 | 一种获取在播放视频时产生的异常信息的方法及装置 |
CN105321063A (zh) * | 2015-10-10 | 2016-02-10 | 北京齐尔布莱特科技有限公司 | 生成排期数据的方法、客户端及计算设备 |
CN107580240A (zh) * | 2017-09-12 | 2018-01-12 | 中广热点云科技有限公司 | 一种高效广告排期方法和系统 |
CN108833584A (zh) * | 2018-06-29 | 2018-11-16 | 掌阅科技股份有限公司 | 消息推送方法、终端、服务器及计算机存储介质 |
CN109640132A (zh) * | 2018-12-21 | 2019-04-16 | 江西华兴信息产业有限公司 | 一种节目播放排期方法及设备 |
CN111199424A (zh) * | 2019-12-27 | 2020-05-26 | 五八有限公司 | 一种广告投放方法、装置、终端设备及存储介质 |
CN112291482A (zh) * | 2020-09-23 | 2021-01-29 | 湖南声广信息科技有限公司 | 一种广播电台广告自动编排方法和终端 |
CN112788386A (zh) * | 2019-11-06 | 2021-05-11 | 西安诺瓦星云科技股份有限公司 | 节目排期生成方法及其装置 |
CN114445100A (zh) * | 2020-10-30 | 2022-05-06 | 阿里巴巴集团控股有限公司 | 广告排期方法、装置、电子设备及计算机可读介质 |
-
2010
- 2010-11-25 CN CN2010105602428A patent/CN102004997A/zh active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102663581A (zh) * | 2012-03-05 | 2012-09-12 | 北京千橡网景科技发展有限公司 | 用于存储事件排期的方法和装置 |
CN104967877A (zh) * | 2014-10-31 | 2015-10-07 | 腾讯科技(北京)有限公司 | 一种获取在播放视频时产生的异常信息的方法及装置 |
CN105321063A (zh) * | 2015-10-10 | 2016-02-10 | 北京齐尔布莱特科技有限公司 | 生成排期数据的方法、客户端及计算设备 |
CN107580240B (zh) * | 2017-09-12 | 2019-06-28 | 中广热点云科技有限公司 | 一种高效广告排期方法和系统 |
CN107580240A (zh) * | 2017-09-12 | 2018-01-12 | 中广热点云科技有限公司 | 一种高效广告排期方法和系统 |
CN108833584A (zh) * | 2018-06-29 | 2018-11-16 | 掌阅科技股份有限公司 | 消息推送方法、终端、服务器及计算机存储介质 |
CN108833584B (zh) * | 2018-06-29 | 2020-07-24 | 掌阅科技股份有限公司 | 消息推送方法、终端、服务器及计算机存储介质 |
CN109640132A (zh) * | 2018-12-21 | 2019-04-16 | 江西华兴信息产业有限公司 | 一种节目播放排期方法及设备 |
CN112788386A (zh) * | 2019-11-06 | 2021-05-11 | 西安诺瓦星云科技股份有限公司 | 节目排期生成方法及其装置 |
CN112788386B (zh) * | 2019-11-06 | 2023-12-05 | 西安诺瓦星云科技股份有限公司 | 节目排期生成方法及其装置 |
CN111199424A (zh) * | 2019-12-27 | 2020-05-26 | 五八有限公司 | 一种广告投放方法、装置、终端设备及存储介质 |
CN112291482A (zh) * | 2020-09-23 | 2021-01-29 | 湖南声广信息科技有限公司 | 一种广播电台广告自动编排方法和终端 |
CN114445100A (zh) * | 2020-10-30 | 2022-05-06 | 阿里巴巴集团控股有限公司 | 广告排期方法、装置、电子设备及计算机可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102004997A (zh) | 广告播发方法与相关系统 | |
US20230283826A1 (en) | Targeting content based on location | |
CN101180875B (zh) | 广播网络资产交付的定向印象模型 | |
US9396475B2 (en) | Intelligent targeting of tags in a broadcast network | |
JP5934460B2 (ja) | 広告時間枠競売のためのシステム及び方法 | |
US20030172376A1 (en) | User controlled targeted advertisement placement for receiver modules | |
CN100452828C (zh) | 接收机级上的显示视听序列的方法及显示序列的接收机 | |
JP2009505234A (ja) | 放送広告財務管理のための方法 | |
CN103500218A (zh) | 信息展示方法、装置和系统 | |
CN101673297A (zh) | 一种日程信息的设置、提示方法、系统及移动终端 | |
CN101610399A (zh) | 计划类业务调度系统和实现计划类业务调度的方法 | |
CN101127848A (zh) | 广播节目预约设备、广播节目预约方法及其节目 | |
CN103534964A (zh) | 接收设备、接收方法和程序 | |
CN102542437B (zh) | 一种任务到期提醒的方法及装置 | |
CN105306720A (zh) | 一种闹钟及其实现方法 | |
US20060212409A1 (en) | Method for placing advertisements in a broadcast system | |
CN110430529A (zh) | 一种语音助手提醒的方法、装置 | |
CN101916409A (zh) | 一种以广告时段为核心的广告业务管理方法 | |
JP5337747B2 (ja) | 課金装置、課金方法及びプログラム | |
JP7462900B2 (ja) | テレワーク支援装置、テレワーク支援方法、およびプログラム | |
US20020194254A1 (en) | Method and system for providing and utilizing total package program with advertisement | |
CN115168320A (zh) | 时段去重处理方法、装置、终端设备以及存储介质 | |
Analytics | Research areas | |
KR20140087967A (ko) | 통합 광고 장치 | |
Cao et al. | Policy Deliberation and Enactment Corrects Market Inattention: Evidence from the Building Energy Benchmarking Law in Philadelphia |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110406 |