网络广告策略匹配方法及系统的制作方法

文档序号:6372131阅读:146来源:国知局
专利名称:网络广告策略匹配方法及系统的制作方法
技术领域
本发明涉及网络广告投放领域,尤其涉及网络广告投放技术中所要用到的网络广告策略匹配方法及其系统。
背景技术
随着广告检索的快速发展,广告精准投放一直是广告搜索的重点。广告精准投放的主要目标如下实时性(性能)对于广告主下单的投放策略,能够实时生效,对满足投放策略的用户群进行广告展示;准确性(精度)根据广告主制定的投放策略可以精准的找到满足条件的用户。广告实时投放类似于一般的文本检索,为了降低响应时间(从下发一个投放策略到策略生效之间的延迟),提高投放策略的性能,同时,为了保证广告投放的准确性,需要设 计高效准确的广告策略匹配算法。实际应用中,广告策略在不断添加,同时例如用户的网络访问日志数据流等用户的网络访问数据也不断的更新,新的待进行广告策略匹配的网络访问数据会不断添加,过时的网络访问数据会被传送到数据中心或者删除,这就要求通过高效地进行广告策略匹配从而实时地通过用户的网络访问数据发现所有满足某个投放策略的用户,否则会出现广告投放不及时,或者用户日志数据流拥塞等性能和准确度方面的问题。下面结合图I至图3来说明现有技术。图I示出现有技术中基于倒排索引来进行广告投放策略匹配的流程图。下面简单说明该流程的各步骤步骤S110,读取待扫描的用户行为数据流;步骤S120,针对每个用户行为数据,检索倒排索引(参考图3);步骤S130,如果表达式中某个谓词G (如age G {3})命中,则相应的存储到结果集合中;步骤S140,根据结果集合,查找投放列表中被命中的注册的需要投放的策略表达式。例如,对于用户行为数据“age=3 and gender=F”,则根据图3所示的倒排索引的k=2的列可知,标识为C2的需要投放的策略表达式中的全部谓词均被命中,因此该策略被命中。步骤S150,清空结果集合,并返回到步骤S130。下面说明如何根据注册的广告投放策略(亦简称策略)表达式(图2)构建倒排索引(图3),图2和/或图3中,ID为注册的广告投放策略表达式的标识,K为表达式的长度。谓词e表示集合的包含关系,每个谓词e算作表达式的一个大小,而谓词任则不计算大小。首先,将要投放的广告投放策略表达式按大小排序。然后,对策略表达式里的每个谓词(如age G {3},其中age是属性,{3}是属性age对应的值),对该谓词的每个属性值对建立投放列表(Posting List),每项投放列表里的节点表示了这样一种关系某个策略表达式是否有该谓词存在(如图3中的K为1,键值为(age,3),投放列表为(5,e),说明了图2中c5表达式中age=3成立,(5, G )中的5表不表达式的编号c5)。在用户的网络访问数据中的某个策略表达式到来的时候,依次检索相应的投放列表,但是该方法忽略了当大规模策略注册到投放系统中的时候,某个属性的值本身判定也是非常耗时的(如age属性,可能有多个age值需要判定),会出现严重的性能瓶颈
发明内容
本发明所要解决的技术问题之一是需要提供一种能够提高广告投放策略匹配效率的网络广告策略匹配方法及系统。为了解决上述技术问题,本发明提供了一种网络广告策略匹配方法,其特征在于,包括匹配处理,所述匹配处理包括第一获取步骤,获取用户的网络行为数据;匹配步骤,将所述网络行为数据作为预先基于各个广告投放策略构建的第一 AC自动机的输入,将所述第一 AC自动机的输出确定为与所述用户匹配的广告投放策略;其中,所述第一 AC自动机的单词查找树是通过将所述各个广告投放策略作为模式串而构建的单词查找树。根据本发明另一方面的方法,还包括更新处理,所述更新处理包括第二获取步骤,获取广告投放策略;更新步骤,构建或更新第二 AC自动机,其中,利用所获取的广告投放策略来构建或更新所述第二 AC自动机的单词查找树。根据本发明另一方面的方法,在第二获取步骤中,将所获取的广告投放策略存储在指定哈希表中;在更新步骤中,在更新所述第二 AC自动机时,利用存储在所述哈希表中的广告投放策略来重新构建所述第二 AC自动机的单词查找树。根据本发明另一方面的方法,还包括切换处理在满足预设条件时,将所述第二AC自动机用作所述匹配处理中的第一 AC自动机,而将切换前的第一 AC自动机用作所述更新处理中的第二 AC自动机。根据本发明另一方面的方法,所述预设条件为如下至少之一所获取的广告投放策略数量大于预定数量;距离上次互换超出预设时间段;接收到关于进行互换的用户指
/Jn o根据本发明另一方面的方法,分别利用不同的计算机进程或线程并行地执行所述投放处理和所述更新处理。根据本发明另一方面的方法,所述切换处理进一步包括在满足预设条件时,将所述第二 AC自动机用作所述匹配处理中的第一 AC自动机,且在基于切换后的第一 AC自动机来更新切换后的第二 AC自动机之后,再将切换前的第一 AC自动机用作所述更新处理中的第二 AC自动机。根据本发明另一方面的方法,所述匹配步骤中,将关于搜索词和/或用户地址的所述用户行为数据作为预先基于关于搜索词和/或用户地址的各个广告投放策略构建的第一 AC自动机的输入,将所述第一 AC自动机的输出确定为与所述用户匹配的广告投放策略;针对关于广告标识和/或广告类型的用户行为数据,利用哈希表和/或字典来确定与所述用户匹配的广告投放策略,其中,所述第一 AC自动机的单词查找树是通过将所述关于搜索词和/或户地址的各个广告投放策略作为模式串而构建的单词查找树;所述哈希表中存储了关于广告标识和/或广告类型的各个广告投放策略。根据本发明另一方面,还提供了一种广告策略匹配系统。该系统包括匹配器,所述匹配器包括第一获取单元,其获取用户的网络行为数据;匹配单元,其将所述网络行为数据作为预先基于各个广告投放策略构建的第一 AC自动机的输入,将所述第一 AC自动机的输出确定为与所述用户匹配的广告投放策略;其中,所述第一 AC自动机的单词查找树是通过将所述各个广告投放策略作为模式串而构建的单词查找树。根据本发明另一方面的系统,还包括更新器。所述更新器包括第二获取单元,其获取广告投放策略;更新单元,其构建或更新第二 AC自动机,其中,利用所获取的广告投放 策略来构建或更新所述第二 AC自动机的单词查找树。根据本发明另一方面的系统,还包括切换器,用于在满足预设条件时,将所述第二AC自动机用作所述匹配处理中的第一AC自动机,而将切换前的第一AC自动机用作所述更新处理中的第二 AC自动机。根据本发明另一方面的系统,所述预设条件为如下至少之一所获取的广告投放策略数量大于预定数量;距离上次互换超出预设时间段;接收到关于进行互换的用户指
/Jn o根据本发明另一方面的系统,所述匹配单元将关于搜索词和/或用户地址的所述用户行为数据作为预先基于关于搜索词和/或用户地址的各个广告投放策略构建的第一AC自动机的输入,将所述第一AC自动机的输出确定为与所述用户匹配的广告投放策略;针对关于广告标识和/或广告类型的用户行为数据,利用哈希表和/或字典来确定与所述用户匹配的广告投放策略,其中,所述第一 AC自动机的单词查找树是通过将所述关于搜索词和/或户地址的各个广告投放策略作为模式串而构建的单词查找树;所述哈希表中存储了关于广告标识和/或广告类型的各个广告投放策略。相比现有技术中基于倒排索引来进行广告策略匹配,本发明的一个或多个实施例利用基于各广告投放策略建立的AC自动机来进行广告策略匹配,能够体现各广告投放策略中属性域上的谓词之间的共享关系、甚至考虑了这种表达式之间的共享关系(相同或者相似的谓词表达式)。此外,通过利用基于各广告投放策略建立的AC自动机来进行广告策略匹配,将AC自动机而非倒排索引用于匹配广告投放策略的基础数据,可以提高了当投放策略是中文投放策略时的广告投放策略匹配效率,提高构建用于匹配广告投放策略的基础数据的效率,降低响应时间,以及/或者减小用于匹配广告投放策略的基础数据的效率的数据量。本发明的其他优点、目标,和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书,权利要求书,以及附图中所特别指出的结构来实现和获得。


附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中图I示出现有技术中基于倒排索引来进行广告投放策略匹配的流程图。图2示出注册的投放策略表达式的数据结构;图3示出基于图2的投放策略表达式构建倒排索引的数据结构。图4示出根据本发明实施例的一种网络广告策略匹配方法的流程示意图。图5示出根据本发明实施例的广告系统的数据流向示意图。图6不出了基于he、hers、his、she作为单词查找树的模式串而构建的AC自动机的示意图。
具体实施例方式以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。在本发明中,可以通过一个或多个通过逻辑关系连接的谓词表达式来表示一个广告投放策略,例如,在广告投放策略“age=3and gender=F”由两个谓词表达式“age=3”和“gender=F”构成,其中,“=”是谓词,age和gender是属性。第一实施例图4示出根据本实施例的一种网络广告策略匹配方法的流程示意图。网络广告策略匹配方法包括匹配处理。匹配处理负责基于用户的网络访问数据,确定与该用户匹配的广告投放策略。下面结合图4和图5来详细说明本实施例的网络广告策略匹配方法的匹配处理,也称为策略扫描功能/处理,参考图5。步骤S410,获取用户的网络行为数据,进入步骤S420。例如,在线接收用户的搜索词、访问地址、网络访问日志、用户搜索词行为数据流、用户web访问行为数据流、用户广告点击行为数据流等网络访问数据,参考图5。其中,搜索词指用户通过搜索引擎等输入的词汇,访问地址包括例如访问URL (统一资源定位符,Uniform/Universal Resource Locator)、网络访问的网站IP等,网络访问日志可包括访问过的广告标识(广告ID)、广告类型、用户访问时间等。当然,也可从数据库中或从第三方提供的数据中获取用户的网络行为数据。步骤S420,进行匹配处理,以将用户的网络行为数据作为第一 AC自动机的输入,并将该第一 AC自动机的输出确定为与所述用户匹配的广告投放策略。该第一 AC自动机的输入是预先基于各个广告投放策略而构建的。该第一 AC自动机的单词查找树是通过将各个广告投放策略作为模式串(亦称模式字符串)而构建的单词查找树。需要重点说明的是,第一 AC自动机可以是一次性构建好的。也可以是在创建后利用本实施例的更新处理来进行在线更新的。也就是说,本实施例的网络广告策略匹配方法还可包括更新处理。下面详细说明更新处理的各步骤。
步骤S430,获取广告投放策略。与用户的网络访问数据类似,即可通过在线实时接收来获取广告投放策略,也可离线地获取。更具体地,可以通过在广告系统中设置投放策略获取接口来在线地从广告管理中心等模块或系统中获取投放策略。本发明不限制广告投放策略来源,只要能够获取广告投放策略即可,优选为在线实时获取。步骤S440,进行更新处理,以构建或更新第二 AC自动机,其中,利用所获取的广告投放策略来构建或更新所述第二 AC自动机的单词查找树。综上可知,第一 AC自动机是用于匹配处理,而第二 AC自动机用于更新处理。为了在更新广告投放策略的同时,不影响正在进行的匹配处理。使得可以尽可能基于当前较新的广告投放策略来进行匹配处理。本实施例还可包括步骤S450。
步骤S450,在满足预设条件时,进行切换处理。更具体地,可定时或不定时地进行切换处理,将第二 AC自动机用作第一 AC自动机,以用于匹配处理,而将切换前的第一AC自动机用作第二AC自动机,以用于更新处理。这种切换操作可手动进行也可设置为自动进行。切换过程可以理解为,存在两个指针,指针A指向第一 AC自动机,指针B指向第二AC自动机。进行切换时,只需交换指针A与指针B。交换完之后,指针A指向第二 AC自动机,指针B指向第一 AC自动机。需要说明的是,当进行切换后,由于切换后的第二 AC自动机实际为之前用于进行匹配处理的第一AC自动机,因此,其所体现的广告投放策略并不是最新的。因此优选地,上述切换处理还进一步包括将创建好的第二 AC自动机用作第一 AC自动机,以用于匹配处理,而将切换前的第一 AC自动机用作第二 AC自动机,且基于切换后的第一 AC自动机更新切换后的第二自动机,以将更新后的第二 AC自动机用于上述基于所获取的广告投放策略来进行更新的更新处理。本实施例优选为在线实时地接收来自网络的广告投放策略以更新第二 AC自动机。用户可以预先设定一定的条件,使得当条件满足时,上述第一和第二AC自动机互换,从而使得可以在并行进行广告策略匹配处理和更新处理时,不出现数据访问冲突。此外,两个AC自动机的设置也提高了系统稳定性。更进一步,优选为分别利用不同的计算机进程或线程并行执行所述匹配处理和所述更新处理,这样匹配处理和更新处理很好地共享系统资源的同时,又保证了两者之一出现故障时不相互干扰。下面更具体地说明本发明匹配处理、更新处理、切换处理三者结合的技术效果。通常的广告投放系统中,有成百上千个线程在处理用户的网络行为数据流,同时有很多投放策略通过web端不断的生成并添加到广告系统中,AC自动机本身要进行同步和更新。如果避免利用AC自动机进行广告策略匹配的匹配处理(亦称扫描功能)和更新处理可同时却不发生数据读写不冲突,是广告系统的投放执行能力的关键。为了保证AC自动机扫描功能和AC自动机的更新功能可以同步进行,本实施例采用了同步镜像的方案。对于更新策略请求,直接将策略更新到镜像AC自动机(对应于第二AC自动机)中。对于用于请求基于日志等网络访问数据进行匹配的请求(亦简称日志扫描请求),首先根据当前指针,获取当前的扫描AC自动机(对应于第一 AC自动机),可以进行安全的扫描操作。当自动机的批量更新完毕以后,则可进行扫描自动机与更新自动机的“一键”切换,换而言之,用户可以通过按下某一个设定键来进行切换。举个例子来说,假设在广告系统当前状态中,自动机A作为扫描AC自动机被广告系统用来执行扫描功能,而自动机B作为镜像AC自动机则被广告系统用来执行更新功能。当有新的更新策略请求时,广告系统在自动机B上进行更新操作,当更新操作完成后,自动机A和自动机B的功能角色进行一键切换,结果是,现在的自动机A被当作镜像AC自动机,用来存储下一次的更新策略,而自动机B则被当作扫描AC自动机,执行扫描操作。当自动机A和B的功能角色进行一键切换之后,存储有最新的策略的自动机B是扫描AC自动机,它负责对进来的用户行为数据进行扫描,从而相比未设置镜像AC自动机的方案,进一步提高了广告策略投放的实时性。此外,预设条件可以是所获取的广告投放策略数量大于预定数量、距离上次互换超出预设时间段、接收到关于进行互换的用户指示等。用户可以根据业务需求灵活设置。需要说明的是,广告投放的策略有多种类型,包括按照用户访问URL,用户搜索词,用户访问广告ID和用户访问广告类型。
进一步地,参考图5,针对关于广告标识和/或广告类型的用户行为数据,利用哈希表和/或字典来确定与所述用户匹配的广告投放策略,其中,哈希表中存储了关于广告标识和/或广告类型的各个广告投放策略。这样,可以进一步考虑到广告标识和/或广告类型的易检索的特点,从而进一步降低响应时间。此外,为了保证策略的完整性检查,防止自动机构建失败和策略信息丢失,本发明还可以采用哈希表来对步骤S430中所获取的广告投放策略添加(存储)至哈希表中以进行实时备份,这样,备份的哈希表不被其它涉及写操作的线程等访问,可保证所有广告投放策略的安全备份。因为AC自动机更新是一个从零开始构建的过程,该AC自动机之前所构建的自动机结构将在下一次更新中丢失。因此,实时备份的哈希表还作为一种全局的存储结构,将所有从策略扫描功能/处理启动开始到目前的所有策略进行缓存一份。这样,AC自动机更新的策略将取自全局的哈希表,避免了策略信息的丢失。此外,通过基于各广告投放策略建立的AC自动机来进行广告策略匹配,当有多个注册的广告投放策略表达式需要匹配时,不需要将用户数据与各广告策略投放表达式依次匹配,而能一次匹配就能找到所有与该用户数据匹配的策略表达式,从而相比传统的需逐一匹配各谓词表达式的技术,可以提高匹配效率。第二实施例本实施例提供一种与第一实施例的网络广告策略匹配方法相对应的广告策略匹配系统。参考图4,广告策略匹配系统包括匹配器10、切换器20和更新器30。所述匹配器10包括第一获取单元11,其获取用户的网络行为数据;匹配单元12,其将所述网络行为数据作为预先基于各个广告投放策略构建的第一 AC自动机的输入,将所述第一AC自动机的输出确定为与所述用户匹配的广告投放策略;其中,所述第一AC自动机的单词查找树是通过将所述各个广告投放策略作为模式串而构建的单词查找树。更新器20包括第二获取单元21,其获取广告投放策略;更新单元22,其构建或更新第二AC自动机,其中,利用所获取的广告投放策略来构建或更新所述第二AC自动机的单词查找树。换理器30用于在满足预设条件时,将所述第二 AC自动机用作所述匹配处理中的第一 AC自动机,而将切换前的第一 AC自动机用作所述更新处理中的第二 AC自动机。更具体地,本实施例的匹配器10、切换器20、更新器30分别用于执行与第一实施例中的匹配处理、切换处理和更新处理。第一获取单元11、匹配单元12、第二获取单元21、匹配单元12分别用于执行第一实施例中步骤S410、S420、S430和S440的操作。上述第一实施例中针对匹配处理、切换处理和更新处理以及它们的相关步骤的说明,同样适用于本实施例。为了便于理解本发明,图6示出了基于he、hers、his、she作为单词查找树的模式串而构建的AC自动机的示意图。此外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采 用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
权利要求
1.一种网络广告策略匹配方法,其特征在于,包括匹配处理,所述匹配处理包括 第一获取步骤,获取用户的网络行为数据; 匹配步骤,将所述网络行为数据作为预先基于各个广告投放策略构建的第一 AC自动机的输入,将所述第一 AC自动机的输出确定为与所述用户匹配的广告投放策略;其中, 所述第一 AC自动机的单词查找树是通过将所述各个广告投放策略作为模式串而构建的单词查找树。
2.根据权利要求I所述的方法,其特征在于,还包括更新处理,所述更新处理包括 第二获取步骤,获取广告投放策略; 更新步骤,构建或更新第二 AC自动机,其中,利用所获取的广告投放策略来构建或更新所述第二 AC自动机的单词查找树。
3.根据权利要求2所述的方法,其特征在于 在所述第二获取步骤中,将所获取的广告投放策略存储在指定哈希表中; 在所述更新步骤中,在更新所述第二 AC自动机时,利用存储在所述哈希表中的广告投放策略来重新构建所述第二 AC自动机的单词查找树。
4.根据权利要求2所述的方法,其特征在于,还包括切换处理 在满足预设条件时,将所述第二AC自动机用作所述匹配处理中的第一AC自动机,而将切换前的第一 AC自动机用作所述更新处理中的第二 AC自动机。
5.根据权利要求4所述的方法,其特征在于,所述预设条件为如下至少之一 所获取的广告投放策略数量大于预定数量; 距离上次互换超出预设时间段; 接收到关于进行互换的用户指示。
6.根据权利要求4所述的方法,其特征在于,分别利用不同的计算机进程或线程并行地执行所述投放处理和所述更新处理。
7.根据权利要求4所述的方法,其特征在于,所述切换处理进一步包括 在满足预设条件时,将所述第二AC自动机用作所述匹配处理中的第一AC自动机,且在基于切换后的第一 AC自动机来更新切换后的第二 AC自动机之后,再将切换前的第一 AC自动机用作所述更新处理中的第二 AC自动机。
8.根据权利要求I至7中任一项所述的方法,其特征在于,所述匹配步骤中, 将关于搜索词和/或用户地址的所述用户行为数据作为预先基于关于搜索词和/或用户地址的各个广告投放策略构建的第一 AC自动机的输入,将所述第一 AC自动机的输出确定为与所述用户匹配的广告投放策略; 针对关于广告标识和/或广告类型的用户行为数据,利用哈希表和/或字典来确定与所述用户匹配的广告投放策略,其中, 所述第一 AC自动机的单词查找树是通过将所述关于搜索词和/或户地址的各个广告投放策略作为模式串而构建的单词查找树; 所述哈希表中存储了关于广告标识和/或广告类型的各个广告投放策略。
9.一种广告策略匹配系统,其特征在于,包括匹配器,所述匹配器包括 第一获取单元,其获取用户的网络行为数据; 匹配单元,其将所述网络行为数据作为预先基于各个广告投放策略构建的第一 AC自动机的输入,将所述第一 AC自动机的输出确定为与所述用户匹配的广告投放策略; 其中,所述第一 AC自动机的单词查找树是通过将所述各个广告投放策略作为模式串而构建的单词查找树。
10.根据权利要求9的系统,其特征在于,还包括更新器,所述更新器包括 第二获取单元,其获取广告投放策略; 更新单元,其构建或更新第二 AC自动机,其中,利用所获取的广告投放策略来构建或更新所述第二 AC自动机的单词查找树。
11.根据权利要求10的系统,其特征在于,还包括 切换器,用于在满足预设条件时,将所述第二 AC自动机用作所述匹配处理中的第一 AC自动机,而将切换前的第一 AC自动机用作所述更新处理中的第二 AC自动机。
12.根据权利要求11所述的系统,其特征在于,所述预设条件为如下至少之一 所获取的广告投放策略数量大于预定数量; 距离上次互换超出预设时间段; 接收到关于进行互换的用户指示。
13.根据权利要求8至12中任一项所述的系统,其特征在于 所述匹配单元将关于搜索词和/或用户地址的所述用户行为数据作为预先基于关于搜索词和/或用户地址的各个广告投放策略构建的第一 AC自动机的输入,将所述第一 AC自动机的输出确定为与所述用户匹配的广告投放策略; 针对关于广告标识和/或广告类型的用户行为数据,利用哈希表和/或字典来确定与所述用户匹配的广告投放策略,其中, 所述第一 AC自动机的单词查找树是通过将所述关于搜索词和/或户地址的各个广告投放策略作为模式串而构建的单词查找树; 所述哈希表中存储了关于广告标识和/或广告类型的各个广告投放策略。
全文摘要
本发明公开了一种网络广告策略匹配方法及系统。该方法包括匹配处理。该匹配处理包括第一获取步骤,获取用户的网络行为数据;匹配步骤,将所述网络行为数据作为预先基于各个广告投放策略构建的第一AC自动机的输入,将所述第一AC自动机的输出确定为与所述用户匹配的广告投放策略;其中,所述第一AC自动机的单词查找树是通过将所述各个广告投放策略作为模式串而构建的单词查找树。这样,能够提高广告投放策略匹配效率。
文档编号G06Q30/02GK102799996SQ20121021443
公开日2012年11月28日 申请日期2012年6月25日 优先权日2012年6月25日
发明者罗峰, 黄苏支, 李娜 申请人:亿赞普(北京)科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1