本发明特别涉及一种广告投放引擎生成方法及投放引擎、广告投放方法及系统。
背景技术:
广告投放引擎,是指在广告约束条件下,为客户端每一次广告请求匹配最优的广告内容并下发给客户端播放广告。
广告投放引擎收到客户端广告请求,在广告约束条件下,广告投放引擎需要在耗时较短的情况下从众多广告库存中筛选出满足条件的广告,对广告针对收益进行排序,将优先级高的广告下发给客户端,保证广告收益尽可能高。
为了匹配最优广告,实现千人千面的广告展示效果。广告投放引擎往往会利用大量复杂的策略:基于用户标签的算法、lookalike、地域定向等。这也就使得广告投放引擎所涉及的广告筛选策略、广告约束条件复杂多变,现有技术中都是用编写代码的方式实现,因而在日常的广告投放引擎产品迭代中要消耗大量的人力去编写代码以用于更新和维护这些广告策略,费时费力且容易出现程序bug。
技术实现要素:
本发明的目的在于,针对上述现有技术的不足,提供一种广告投放引擎生成方法及投放引擎、广告投放方法及系统,利用规则引擎替代编写代码来实现广告投放引擎的广告逻辑,广告投放引擎中广告逻辑实现更简单,开发速度更快,节约人力成本,降低bug率。
为解决上述技术问题,本发明所采用的技术方案是:
一种广告投放引擎生成方法,其特点是包括以下步骤:
步骤a1,总结归纳广告策略;
步骤a2,基于规则引擎的规则语法,对步骤a1中总结归纳的广告策略做规则抽象,将广告策略抽象成规则引擎能够解释的规则脚本;
步骤a3,将步骤a2中抽象出的规则脚本替代原来广告投放引擎中的对应的代码逻辑。实现用规则引擎解释执行原代码逻辑。
作为一种优选方式,所述步骤a1中,总结归纳广告策略包括整合出广告筛选策略和广告排序策略。
基于同一个发明构思,本发明还提供了一种由所述广告投放引擎生成方法生成的广告投放引擎。
基于同一个发明构思,本发明还提供了一种广告投放方法,其特点是利用所述广告投放引擎,包括以下步骤:
步骤b1,广告投放引擎收到客户端发起的广告请求;
步骤b2,广告投放引擎通过广告策略处理广告请求,产生候选广告;
步骤b3,广告投放引擎将优先级高的候选广告下发给客户端进行广告曝光。
作为一种优选方式,所述步骤b2中的广告策略包括广告筛选策略和广告排序策略。
基于同一个发明构思,本发明还提供了一种广告投放系统,包括客户端:用于发起广告请求,并用于对接收的广告进行广告曝光;
其特点是还包括所述广告投放引擎:用于接收客户端发起的广告请求,并通过广告策略处理广告请求以产生候选广告,用于将优先级高的候选广告下发给客户端。
作为一种优选方式,所述广告策略包括广告筛选策略和广告排序策略。
规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策,其接受数据输入,解释业务规则,并根据业务规则做出业务决策。
本发明通过整合广告投放引擎中复杂多样的广告筛选、广告排序等策略,在规则引擎的要求下,高度抽象出规则,利用规则替代代码实现,利用规则引擎解释广告策略逻辑。
与现有通过代码编写方法实现广告投放引擎中的广告逻辑相比,本发明通过规则引擎高层次规则抽象来实现广告投放引擎中的广告逻辑,广告投放引擎中广告逻辑实现更简单,能有效地简化广告投放引擎逻辑的开发工作,能有效地加速开发和节约人力成本;策略包含在规则中并与代码分离,降低系统耦合,增强项目的结构性和可维护性,减少程序bug。
附图说明
图1为本发明广告投放引擎生成方法流程图。
图2为本发明应用前后广告投放引擎内部框架图。
图3为本发明广告投放方法处理流程图。
具体实施方式
从图1~图3中能够比较清楚地看出本发明广告处理流程和广告投放引擎的内部结构。
如附图1所示,广告投放引擎生成方法包括以下步骤:
步骤a1,总结归纳广告策略;总结归纳广告策略包括整合出广告筛选策略和广告排序策略等。
步骤a2,基于规则引擎的规则语法,对步骤a1中总结归纳的广告策略做规则抽象,将广告策略抽象成规则引擎能够解释的规则脚本;
步骤a3,将步骤a2中抽象出的规则脚本替代原来广告投放引擎中的对应的代码逻辑。实现用规则引擎解释执行原代码逻辑。
通过上面的步骤,利用规则引擎解释执行广告策略,实现了如图2所示的广告投放引擎框架变化,有效地降低了代码与策略的耦合度,使得广告投放引擎的结构更加健壮,可维护性更强。同时,现有技术在维护复杂多变的广告策略的过程中,编写基础代码需要消耗较多时间且难以避免bug,本发明通过维护较高层次规则语句,简化了广告逻辑的更新与维护工作,有效地缩短了维护时间并节约人力成本,降低bug率。
本发明所述广告投放方法,利用所述广告投放引擎,如图3所示,包括以下步骤:
步骤b1,广告投放引擎收到客户端发起的广告请求;广告请求携带客户端用户信息、播放器信息、视频信息等;
步骤b2,广告投放引擎通过广告策略(包括广告筛选策略和广告排序策略等)处理广告请求,产生候选广告;
步骤b3,广告投放引擎将优先级高的候选广告下发给客户端进行广告曝光。
本发明所述广告投放系统包括客户端和所述广告投放引擎,其中:
客户端:用于发起广告请求,并用于对接收的广告进行广告曝光;
广告投放引擎:用于接收客户端发起的广告请求,并通过广告策略(包括广告筛选策略和广告排序策略等)处理广告请求以产生候选广告,用于将优先级高的候选广告下发给客户端。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是局限性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护范围之内。
1.一种广告投放引擎生成方法,其特征在于,包括以下步骤:
步骤a1,总结归纳广告策略;
步骤a2,基于规则引擎的规则语法,对步骤a1中总结归纳的广告策略做规则抽象,将广告策略抽象成规则引擎能够解释的规则脚本;
步骤a3,将步骤a2中抽象出的规则脚本替代原来广告投放引擎中的对应的代码逻辑。
2.如权利要求1所述的广告投放引擎生成方法,其特征在于,所述步骤a1中,总结归纳广告策略包括整合出广告筛选策略和广告排序策略。
3.一种由权利要求1或2所述广告投放引擎生成方法生成的广告投放引擎。
4.一种广告投放方法,其特征在于,利用如权利要求3所述的广告投放引擎,包括以下步骤:
步骤b1,广告投放引擎收到客户端发起的广告请求;
步骤b2,广告投放引擎通过广告策略处理广告请求,产生候选广告;
步骤b3,广告投放引擎将优先级高的候选广告下发给客户端进行广告曝光。
5.如权利要求4所述的广告投放方法,其特征在于,所述步骤b2中的广告策略包括广告筛选策略和广告排序策略。
6.一种广告投放系统,包括客户端:用于发起广告请求,并用于对接收的广告进行广告曝光;
其特征在于,还包括如权利要求3所述的广告投放引擎:用于接收客户端发起的广告请求,并通过广告策略处理广告请求以产生候选广告,用于将优先级高的候选广告下发给客户端。
7.如权利要求6所述的广告投放系统,其特征在于,所述广告策略包括广告筛选策略和广告排序策略。