CN109977306B - 广告引擎的实现方法、系统、服务器及介质 - Google Patents
广告引擎的实现方法、系统、服务器及介质 Download PDFInfo
- Publication number
- CN109977306B CN109977306B CN201910195270.5A CN201910195270A CN109977306B CN 109977306 B CN109977306 B CN 109977306B CN 201910195270 A CN201910195270 A CN 201910195270A CN 109977306 B CN109977306 B CN 109977306B
- Authority
- CN
- China
- Prior art keywords
- node
- processing
- advertisement
- executing
- advertisement request
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0269—Targeted advertisements based on user profile or attribute
- G06Q30/0271—Personalized advertisement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0276—Advertisement creation
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请是关于一种广告引擎的实现方法、系统、服务器及介质,涉及计算机网络技术领域,可以增强广告引擎的可复用性。本申请的实施例包括:接收广告请求,广告请求中包括广告请求所属种类,广告请求用于请求获取待投放的广告信息。然后选择广告请求所属种类对应的图元素,广告请求所属种类对应的图元素用于执行广告请求所属种类的广告处理流程。再串行执行选择的图元素中各节点元素对应的处理阶段,每个节点元素用于执行广告处理流程中的一个处理阶段,节点元素对应的处理阶段中包括节点元素中各步骤元素对应的处理步骤。再返回处理结果,处理结果中包括待投放的广告信息。
Description
技术领域
本公开涉及计算机网络技术领域,尤其涉及广告引擎的实现方法、系统、服务器及介质。
背景技术
广告引擎的用途是投放广告主的广告,以产生经济效益。在广告引擎中,广告位的处理流程被分为准入、定向召回、粗排和精排等阶段。随着网络广告市场的日益庞大,每天都需要新增许多新的广告位,新广告位中处理流程可能与老广告位中处理流程大致相同,但处理流程中的各处理阶段可能相差较大。例如:新广告位与老广告位的精排阶段的过滤方式不同。
相关技术中,在添加新的广告位时,采用复制老广告位对应的代码,根据新广告位的处理流程,在老广告位代码的基础上,进行修改,获得新广告位对应的代码。但是,老广告位各处理阶段代码中有大量的如果(if)和否则(else)判断逻辑,若要修改部分判断逻辑代码,则需要修改与之关联的大量判断逻辑代码,可见老广告位代码耦合严重。因此相关技术的广告引擎可复用性差。
发明内容
为克服相关技术中存在的问题,本公开提供一种广告引擎的实现方法、系统、服务器及介质。
根据本公开实施例的第一方面,提供一种广告引擎的实现方法,包括:
接收广告请求,所述广告请求中包括所述广告请求所属种类,所述广告请求用于请求获取待投放的广告信息;
选择所述广告请求所属种类对应的图元素,所述广告请求所属种类对应的图元素用于执行所述广告请求所属种类的广告处理流程,所述图元素为由各个节点元素按照预设连接方式构成的网络结构图,每个节点元素用于执行所述广告处理流程中的一个处理阶段;
串行执行选择的图元素中各节点元素对应的处理阶段,节点元素对应的处理阶段中包括节点元素中各步骤元素对应的处理步骤,每个步骤元素用于执行一个处理阶段中的一个处理步骤;
返回处理结果,所述处理结果中包括所述待投放的广告信息。
可选的,所述串行执行选择的图元素中各节点元素对应的处理阶段,包括:
针对一个节点元素,若节点元素存在前置节点,则节点元素从第一数据元素中获取所述前置节点的处理结果,并根据所述处理结果执行节点元素对应的处理阶段;
将每个节点元素执行对应的处理阶段后得到的处理结果存储于所述第一数据元素中。
可选的,所述串行执行选择的图元素中各节点元素对应的处理阶段,包括:
针对一个节点元素,串行执行节点元素中各步骤元素对应的处理步骤。
可选的,所述串行执行节点元素中各步骤元素对应的处理步骤,包括:
针对一个步骤元素,若步骤元素存在前置步骤,则步骤元素从第二数据元素中获取所述前置步骤的处理结果,并根据所述处理结果执行步骤元素对应的处理步骤;
将每个步骤元素执行对应的处理步骤后得到的处理结果存储于所述第二数据元素中。
可选的,所述串行执行节点元素中各步骤元素对应的处理步骤,包括:
针对一个步骤元素,若步骤元素关联了策略元素,则获取关联的策略元素中的指定处理逻辑,在执行步骤元素对应的处理步骤的过程中执行所述指定处理逻辑。
根据本公开实施例的第二方面,提供一种广告引擎系统,包括:
接收模块,被配置为接收广告请求,所述广告请求中包括所述广告请求所属种类,所述广告请求用于请求获取待投放的广告信息;
选择模块,被配置为选择所述接收模块接收的所述广告请求所属种类对应的图元素,所述广告请求所属种类对应的图元素用于执行所述广告请求所属种类的广告处理流程,所述图元素为由各个节点元素按照预设连接方式构成的网络结构图,每个节点元素用于执行所述广告处理流程中的一个处理阶段;
执行模块,被配置为串行执行所述选择模块选择的图元素中各节点元素对应的处理阶段,节点元素对应的处理阶段中包括节点元素中各步骤元素对应的处理步骤,每个步骤元素用于执行一个处理阶段中的一个处理步骤;
返回模块,被配置为返回所述执行模块执行的处理结果,所述处理结果中包括所述待投放的广告信息。
可选的,所述执行模块,具体被配置为:
针对一个节点元素,若节点元素存在前置节点,则节点元素从第一数据元素中获取所述前置节点的处理结果,并根据所述处理结果执行节点元素对应的处理阶段;
将每个节点元素执行对应的处理阶段后得到的处理结果存储于所述第一数据元素中。
可选的,所述执行模块,具体被配置为:
针对一个节点元素,串行执行节点元素中各步骤元素对应的处理步骤。
可选的,所述执行模块,具体被配置为:
针对一个步骤元素,若步骤元素存在前置步骤,则步骤元素从第二数据元素中获取所述前置步骤的处理结果,并根据所述处理结果执行步骤元素对应的处理步骤;
将每个步骤元素执行对应的处理步骤后得到的处理结果存储于所述第二数据元素中。
可选的,所述执行模块,具体被配置为:
针对一个步骤元素,若步骤元素关联了策略元素,则获取关联的策略元素中的指定处理逻辑,在执行步骤元素对应的处理步骤的过程中执行所述指定处理逻辑。
根据本公开实施例的第三方面,提供一种广告引擎的实现服务器,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:执行所述存储器上所存放的指令时,实现如上第一方面所述的广告引擎的实现方法。
根据本申请实施例的第四方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行如上第一方面所述的广告引擎的实现方法。
根据本申请实施例的第五方面,提供一种计算机程序产品,当所述计算机程序产品中的指令由服务器的处理器执行时,使得服务器能够执行如上第一方面所述的广告引擎的实现方法。
本公开的实施例提供的技术方案可以包括以下有益效果:在接收到广告请求后,选择广告请求所属种类对应的图元素,然后串行执行选择的图元素中各节点元素对应的处理阶段,其中,节点元素对应的处理阶段中包括节点元素中各步骤元素对应的处理步骤,再返回处理结果。本公开的实施例中广告处理流程被拆分为各处理阶段,一个处理阶段对应一个节点元素。一个处理阶段又被拆分为各处理步骤,一个处理步骤对应一个步骤元素。由于每个处理阶段的处理逻辑在不同的节点元素中执行,每个处理步骤的处理逻辑在不同的步骤元素中执行,修改一个步骤元素的处理逻辑时,不会影响其他步骤元素的处理逻辑。所以在添加新广告位时,可以根据新广告位的处理流程,只修改与老广告位处理流程中不同的处理步骤,不需要修改大量的逻辑代码,因此本公开的实施例提供的技术方案能够达到将各节点元素解耦和各步骤元素解耦的效果,所以本公开能够增强广告引擎的可复用性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种广告引擎的实现方法的流程图。
图2是根据一示例性实施例示出的一种广告引擎的配置方法的流程图。
图3是根据一示例性实施例示出的一种广告引擎的配置方法的示意图。
图4是根据一示例性实施例示出的一种广告引擎系统的框图。
图5是根据一示例性实施例示出的一种服务器的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种广告引擎的实现方法的流程图,如图1所示,广告引擎的实现方法用于服务器中,包括以下步骤。
在步骤S101中,接收广告请求。
其中,广告请求中包括广告请求所属种类,广告请求用于请求获取待投放的广告信息。
示例性的,广告请求可以由终端或其他设备发送。
可选的,广告请求中可以包括:终端标识、广告请求所属种类、终端的互联网协议(Internet Protocol,IP)地址和终端所在的地区的经纬度信息等。
在步骤S102中,选择广告请求所属种类对应的图元素。
其中,广告请求所属种类对应的图元素用于执行广告请求所属种类的广告处理流程,图元素为由各个节点元素按照预设连接方式构成的网络结构图,每个节点元素用于执行广告处理流程中的一个处理阶段。
示例性的,若广告请求所属种类为搜索广告;那么可以选择搜索广告对应的图元素1。例如:在购物软件中输入:手机,点击搜索按钮后,显示的页面中包括“猜你喜欢”标识的广告为搜索广告。
若广告请求所属种类为信息流广告;那么可以选择信息流广告对应的图元素2。例如:在社交软件的好友动态页面出现的广告为信息流广告。
在步骤S103中,串行执行选择的图元素中各节点元素的处理阶段。
其中,每个节点元素用于执行广告处理流程中的一个处理阶段,例如:处理阶段为:准入、定向召回、粗排或精排等。节点元素对应的处理阶段中包括节点元素中各步骤元素对应的处理步骤,每个步骤元素用于执行一个处理阶段中的一个处理步骤。例如:处理步骤为:计算各广告得分、过滤得分低的广告或对各广告竞价等。
可选的,针对一个节点元素,若节点元素存在前置节点,则节点元素从第一数据元素中获取前置节点的处理结果,并根据处理结果执行节点元素对应的处理阶段。并将每个节点元素执行对应的处理阶段后得到的处理结果存储于第一数据元素中。也可以理解为,一个图元素关联的第一数据元素供该图元素中的各节点元素共用。
针对一个节点元素,可以串行执行节点元素中各步骤元素对应的处理步骤。可选的,针对一个步骤元素,若步骤元素存在前置步骤,则步骤元素从第二数据元素中获取前置步骤的处理结果,并根据处理结果执行步骤元素对应的处理步骤。并将每个步骤元素执行对应的处理步骤后得到的处理结果存储于第二数据元素中。也可以理解为,一个节点元素关联的第二数据元素供该节点元素中的各步骤元素共用。
可选的,针对一个步骤元素,若步骤元素关联了策略元素,则获取关联的策略元素中的指定处理逻辑,在执行步骤元素对应的处理步骤的过程中执行指定处理逻辑。
需要说明的是,在图元素执行结束后,可以对各第一数据元素和各第二数据元素进行清理,以便存储响应下一个广告请求产生的数据。
在步骤S104中,返回处理结果。
其中,处理结果中包括待投放的广告信息。
可选的,可以向请求待投放的广告信息的终端或其他设备发送待投放的广告信息。待投放的广告信息中包括:广告标识、广告封面和广告标题等。
本公开的实施例提供的技术方案可以包括以下有益效果:在接收到广告请求后,选择广告请求所属种类对应的图元素,然后串行执行选择的图元素中各节点元素对应的处理阶段,其中,节点元素对应的处理阶段中包括节点元素中各步骤元素对应的处理步骤,再返回处理结果。本公开的实施例中广告处理流程被拆分为各处理阶段,一个处理阶段对应一个节点元素。一个处理阶段又被拆分为各处理步骤,一个处理步骤对应一个步骤元素。由于每个处理阶段的处理逻辑在不同的节点元素中执行,每个处理步骤的处理逻辑在不同的步骤元素中执行,修改一个步骤元素的处理逻辑时,不会影响其他步骤元素的处理逻辑。所以在添加新广告位时,可以根据新广告位的处理流程,只修改与老广告位处理流程中不同的处理步骤,不需要修改大量的逻辑代码,因此本公开的实施例提供的技术方案能够达到将各节点元素解耦和各步骤元素解耦的效果,所以本公开能够增强广告引擎的可复用性。
图2是根据一示例性实施例示出的一种广告引擎的配置方法的流程图,如图2所示,在接收广告请求之前,还可以为每个种类的广告请求生成一个图元素,包括以下步骤:
在步骤S201中,生成上下文(Context)对象。
其中,Context对象用于管理图元素及数据元素。
在本实施例中,可以为每个线程生成一个Context对象。每个线程可以处理一个广告请求,多个线程可以并行处理多个广告请求。
在步骤S202中,在上下文对象中添加至少一个图元素。
其中,每个图元素用于执行一个种类的广告处理流程。
在本实施例中,可以将广告种类的数量,确定为在Context对象中添加的图元素的数量。或者,在Context对象中添加预设数量的图元素。
需要说明的是,可以根据各个种类的广告的处理流程,预先配置需要在Context对象中添加的的图元素的数量。例如:若两种广告处理流程相似,可以为这两种广告配置一个图元素。
可选的,可以为每个图元素关联一个第一数据元素。其中,第一数据元素用于存储关联的图元素中各节点元素的处理结果。若一个节点元素需要其前置节点元素的处理结果,可以从该节点元素所在的图元素关联的第一数据元素中获得。
在步骤S203中,分别在每个图元素中添加至少一个节点元素。
可选的,可以为每个节点元素关联一个第二数据元素。其中,第二数据元素用于存储关联的节点元素中各步骤元素的处理结果。若一个步骤元素需要其前置步骤的处理结果,可以从该步骤元素所在的节点元素关联的第二数据元素中获得。
需要说明的是,若节点元素中只有一个步骤元素,那么该步骤元素的处理结果可以存储在该节点元素所在的图元素关联的第一数据元素中,此时该节点可以不关联第二数据元素。
在图元素中添加节点元素的方法为:针对每个图元素,根据预设配置信息生成图元素对应的至少一个节点元素;然后根据预设的执行顺序,将图元素对应的节点元素组成一组可串行执行的节点元素添加入图元素中。
在本实施例中,节点元素可以为同步节点、异步节点或合并节点。其中,同步节点用于处理不需要发送数据请求的处理逻辑;异步节点用于处理需要发送数据请求的处理逻辑;合并节点设置为异步节点的后置节点,用于根据异步节点收到数据响应,并处理完成后得到的处理结果,进行处理。
例如:在粗排阶段,需要获取用户画像信息,则需要向存储器发送用户画像信息请求,此时粗排阶段对应的节点元素为异步节点。
需要说明的是,同步节点包括一个过程(Process)接口,在同步节点开始执行前调用。
异步节点包括一个Process接口和一个等待(Wait)接口,Process接口在异步节点开始执行前调用,Wait接口由后置的合并节点调用。
合并节点包括一个Process接口,Process接口在合并节点开始执行前调用,且在调用Process接口之前,需要调用前置的异步节点的Wait接口。
可选的,可以根据广告处理流程的复杂度,以及对广告处理流程划分的细化程度,预先配置在各图元素中添加的节点元素的数量,进而服务器可根据配置信息在每个图元素中添加节点元素。
在步骤S204中,分别在每个节点元素中添加至少一个步骤元素。
需要说明的是,可以根据广告处理阶段的复杂度,以及对广告处理阶段划分的细化程度,预先配置在各节点元素中添加的步骤元素的数量,进而服务器可根据配置信息在每个节点元素中添加步骤元素。
可选的,还可以根据预设的步骤元素与策略元素的对应关系,将各策略元素与对应的步骤元素关联。策略元素用于执行关联的步骤元素的指定处理逻辑。
需要说明的是,可以根据广告处理步骤的复杂度,以及对广告处理步骤划分的细化程度,预先配置各步骤元素是否需要关联策略元素,若需要关联策略元素还可以预先配置需要关联的策略元素的数量,进而服务器可根据配置信息将每个策略元素与其对应的步骤元素关联。
示例性的,若步骤元素对应的广告处理步骤为竞价,该步骤元素关联的策略元素中可以包括一个计算公式。该策略元素在执行时,从该策略元素所在的节点元素关联的第二数据元素中获取计算该公式需要获得的已知量,再根据公式获得计算结果,将计算结果保存在该策略元素所在的节点元素关联的第二数据元素中。
可选的,策略元素还可以用于向数据存储方请求参数阈值。例如:步骤元素对应的广告处理步骤为竞价,该步骤元素关联的策略元素可以向数据存储方请求最低价格,然后根据请求到的最低价格判断各广告的出价是否高于最低价格,保留出价高于最低价格的广告,并保存至该策略元素所在的节点元素关联的第二数据元素中。
本公开的实施例提供的技术方案还可以包括以下有益效果:相关技术中,在收到广告请求后,需要请求分配大量的内存,影响广告引擎的稳定性,且使得广告引擎处理广告请求消耗的时间较长。而在本公开的实施例中,由于在图元素中添加了数据元素,并且在收到广告请求前就预先给各数据元素分配了内存,所以在接收到广告请求后,无需再次请求分配内存,所以本公开能够提升广告引擎的稳定性和执行效率。
示例性的,参见图3,图3是根据一示例性实施例示出的一种广告引擎的配置方法的示意图。
如图3所示,上下文对象中包括图元素1、图元素2和图元素3;图元素1关联第一数据元素1,图元素2关联第一数据元素2,图元素3关联第一数据元素3。在图元素1中包括同步节点1、同步节点2、异步节点1和合并节点1;同步节点1关联第二数据元素1,同步节点2关联第二数据元素2,合并节点1关联第二数据元素3(异步节点1可以只用于发送数据请求,并将接收到的数据响应保存至图元素1关联的第一数据元素1中,所以异步节点1可以不关联第二数据元素)。
节点元素中包括各个步骤元素,以同步节点2为例,同步节点2包括步骤元素1、步骤元素2和步骤元素3。步骤元素1关联策略元素1和策略元素2,步骤元素2关联策略元素3。
需要说明的是,在图3所示的广告引擎的配置方法的示意图中,虽然同步节点2和异步节点1看似是并行处理,实际上是先处理异步节点1,在异步节点1发送数据请求后,执行同步节点2;在同步节点2处理完成后,再根据异步节点1收到的数据响应,继续处理异步节点1。由此可见,在图元素中添加异步节点可以缩短响应广告请求的处理时间。
本公开的实施例提供的技术方案还可以包括以下有益效果:相关技术中,广告处理流程的各处理阶段中包括易变处理逻辑和不易变的处理逻辑,且易变处理逻辑和不易变的处理逻辑耦合在一起,使得相关技术的广告引擎可维护性差。而在本公开的实施例中,由于将广告流程拆分为各处理阶段,每个处理阶段分别对应一个节点元素;并将节点元素的处理逻辑拆分为各处理步骤,每个处理步骤对应一个步骤元素,且步骤元素可以关联策略元素。可以将易变的逻辑放在策略元素中执行,不易变的处理逻辑放在步骤元素中执行,在对广告引擎的代码进行修改时,可以只修改策略元素中的代码。这样可以达到步骤元素和策略元素解耦的效果,所以本公开能够增强广告引擎的可维护性。
图4是根据一示例性实施例示出的一种广告引擎系统的框图。参照图4,该系统包括接收模块401、选择模块402、执行模块403和返回模块404。
接收模块401,被配置为接收广告请求,广告请求中包括广告请求所属种类,广告请求用于请求获取待投放的广告信息;
选择模块402,被配置为选择接收模块401接收的广告请求所属种类对应的图元素,广告请求所属种类对应的图元素用于执行广告请求所属种类的广告处理流程,图元素为由各个节点元素按照预设连接方式构成的网络结构图,每个节点元素用于执行广告处理流程中的一个处理阶段;
执行模块403,被配置为串行执行选择模块402选择的图元素中各节点元素对应的处理阶段,节点元素对应的处理阶段中包括节点元素中各步骤元素对应的处理步骤,每个步骤元素用于执行一个处理阶段中的一个处理步骤;
返回模块404,被配置为返回执行模块403执行的处理结果,处理结果中包括待投放的广告信息。
可选的,执行模块403,可以具体被配置为:
针对一个节点元素,若节点元素存在前置节点,则节点元素从第一数据元素中获取前置节点的处理结果,并根据处理结果执行节点元素对应的处理阶段;
将每个节点元素执行对应的处理阶段后得到的处理结果存储于第一数据元素中。
可选的,执行模块403,可以具体被配置为:
针对一个节点元素,串行执行节点元素中各步骤元素对应的处理步骤。
可选的,执行模块403,可以具体被配置为:
针对一个步骤元素,若步骤元素存在前置步骤,则步骤元素从第二数据元素中获取前置步骤的处理结果,并根据处理结果执行步骤元素对应的处理步骤;
将每个步骤元素执行对应的处理步骤后得到的处理结果存储于第二数据元素中。
可选的,执行模块403,可以具体被配置为:
针对一个步骤元素,若步骤元素关联了策略元素,则获取关联的策略元素中的指定处理逻辑,在执行步骤元素对应的处理步骤的过程中执行指定处理逻辑。
关于上述实施例中的系统,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图5是根据一示例性实施例示出的一种用于广告引擎的实现装置500的框图。例如,装置500可以被提供为一服务器。参照图5,装置500包括处理组件522,其进一步包括一个或多个处理器,以及由存储器532所代表的存储器资源,用于存储可由处理组件522的执行的指令,例如应用程序。存储器532中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件522被配置为执行指令,以执行上述方法。
装置500还可以包括一个电源组件526被配置为执行装置500的电源管理,一个有线或无线网络接口550被配置为将装置500连接到网络,和一个输入/输出(I/O)接口558。装置500可以操作基于存储在存储器532的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
另外,本申请实施例还提供了一种非临时性计算机可读存储介质,当存储介质中的指令由服务器的处理器执行时,使得服务器能够执行本申请实施例所提供的一种广告引擎的实现方法的步骤。
另外,本申请实施例还提供一种计算机程序产品,当计算机程序产品中的指令由服务器的处理器执行时,使得服务器能够执行本申请实施例所提供的一种广告引擎的实现方法的步骤。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (12)
1.一种广告引擎的实现方法,其特征在于,包括:
接收广告请求,所述广告请求中包括所述广告请求所属种类,所述广告请求用于请求获取待投放的广告信息;
选择所述广告请求所属种类对应的图元素,所述广告请求所属种类对应的图元素用于执行所述广告请求所属种类的广告处理流程,所述图元素为由各个节点元素按照预设连接方式构成的网络结构图,每个节点元素用于执行所述广告处理流程中的一个处理阶段,图元素添加在上下文Context对象中,所述Context对象用于管理图元素;节点元素的类型包括同步节点、异步节点和合并节点,其中,同步节点用于处理不需要发送数据请求的处理逻辑;异步节点用于处理需要发送数据请求的处理逻辑;合并节点为异步节点的后置节点,用于根据异步节点收到数据响应并处理完成后得到的处理结果,进行处理;
串行执行选择的图元素中各节点元素对应的处理阶段,节点元素对应的处理阶段中包括节点元素中各步骤元素对应的处理步骤,每个步骤元素用于执行一个处理阶段中的一个处理步骤;
返回处理结果,所述处理结果中包括所述待投放的广告信息。
2.根据权利要求1所述的广告引擎的实现方法,其特征在于,所述串行执行选择的图元素中各节点元素对应的处理阶段,包括:
针对一个节点元素,若节点元素存在前置节点,则节点元素从第一数据元素中获取所述前置节点的处理结果,并根据所述处理结果执行节点元素对应的处理阶段;
将每个节点元素执行对应的处理阶段后得到的处理结果存储于所述第一数据元素中。
3.根据权利要求1或2所述的广告引擎的实现方法,其特征在于,所述串行执行选择的图元素中各节点元素对应的处理阶段,包括:
针对一个节点元素,串行执行节点元素中各步骤元素对应的处理步骤。
4.根据权利要求3所述的广告引擎的实现方法,其特征在于,所述串行执行节点元素中各步骤元素对应的处理步骤,包括:
针对一个步骤元素,若步骤元素存在前置步骤,则步骤元素从第二数据元素中获取所述前置步骤的处理结果,并根据所述处理结果执行步骤元素对应的处理步骤;
将每个步骤元素执行对应的处理步骤后得到的处理结果存储于所述第二数据元素中。
5.根据权利要求4所述的广告引擎的实现方法,其特征在于,所述串行执行节点元素中各步骤元素对应的处理步骤,包括:
针对一个步骤元素,若步骤元素关联了策略元素,则获取关联的策略元素中的指定处理逻辑,在执行步骤元素对应的处理步骤的过程中执行所述指定处理逻辑。
6.一种广告引擎系统,其特征在于,包括:
接收模块,被配置为接收广告请求,所述广告请求中包括所述广告请求所属种类,所述广告请求用于请求获取待投放的广告信息;
选择模块,被配置为选择所述接收模块接收的所述广告请求所属种类对应的图元素,所述广告请求所属种类对应的图元素用于执行所述广告请求所属种类的广告处理流程,所述图元素为由各个节点元素按照预设连接方式构成的网络结构图,每个节点元素用于执行所述广告处理流程中的一个处理阶段,图元素添加在上下文Context对象中,所述Context对象用于管理图元素;节点元素的类型包括同步节点、异步节点和合并节点,其中,同步节点用于处理不需要发送数据请求的处理逻辑;异步节点用于处理需要发送数据请求的处理逻辑;合并节点为异步节点的后置节点,用于根据异步节点收到数据响应并处理完成后得到的处理结果,进行处理;
执行模块,被配置为串行执行所述选择模块选择的图元素中各节点元素对应的处理阶段,节点元素对应的处理阶段中包括节点元素中各步骤元素对应的处理步骤,每个步骤元素用于执行一个处理阶段中的一个处理步骤;
返回模块,被配置为返回所述执行模块执行的处理结果,所述处理结果中包括所述待投放的广告信息。
7.根据权利要求6所述的广告引擎系统,其特征在于,所述执行模块,具体被配置为:
针对一个节点元素,若节点元素存在前置节点,则节点元素从第一数据元素中获取所述前置节点的处理结果,并根据所述处理结果执行节点元素对应的处理阶段;
将每个节点元素执行对应的处理阶段后得到的处理结果存储于所述第一数据元素中。
8.根据权利要求6或7所述的广告引擎系统,其特征在于,所述执行模块,具体被配置为:
针对一个节点元素,串行执行节点元素中各步骤元素对应的处理步骤。
9.根据权利要求8所述的广告引擎系统,其特征在于,所述执行模块,具体被配置为:
针对一个步骤元素,若步骤元素存在前置步骤,则步骤元素从第二数据元素中获取所述前置步骤的处理结果,并根据所述处理结果执行步骤元素对应的处理步骤;
将每个步骤元素执行对应的处理步骤后得到的处理结果存储于所述第二数据元素中。
10.根据权利要求9所述的广告引擎系统,其特征在于,所述执行模块,具体被配置为:
针对一个步骤元素,若步骤元素关联了策略元素,则获取关联的策略元素中的指定处理逻辑,在执行步骤元素对应的处理步骤的过程中执行所述指定处理逻辑。
11.一种广告引擎的实现服务器,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收广告请求,所述广告请求中包括所述广告请求所属种类,所述广告请求用于请求获取待投放的广告信息;
选择所述广告请求所属种类对应的图元素,所述广告请求所属种类对应的图元素用于执行所述广告请求所属种类的广告处理流程,所述图元素为由各个节点元素按照预设连接方式构成的网络结构图,每个节点元素用于执行所述广告处理流程中的一个处理阶段,图元素添加在上下文Context对象中,所述Context对象用于管理图元素;节点元素的类型包括同步节点、异步节点和合并节点,其中,同步节点用于处理不需要发送数据请求的处理逻辑;异步节点用于处理需要发送数据请求的处理逻辑;合并节点为异步节点的后置节点,用于根据异步节点收到数据响应并处理完成后得到的处理结果,进行处理;
串行执行选择的图元素中各节点元素对应的处理阶段,节点元素对应的处理阶段中包括节点元素中各步骤元素对应的处理步骤,每个步骤元素用于执行一个处理阶段中的一个处理步骤;
返回处理结果,所述处理结果中包括所述待投放的广告信息。
12.一种非临时性计算机可读存储介质,其特征在于,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行一种广告引擎的实现方法,所述方法包括:
接收广告请求,所述广告请求中包括所述广告请求所属种类,所述广告请求用于请求获取待投放的广告信息;
选择所述广告请求所属种类对应的图元素,所述广告请求所属种类对应的图元素用于执行所述广告请求所属种类的广告处理流程,所述图元素为由各个节点元素按照预设连接方式构成的网络结构图,每个节点元素用于执行所述广告处理流程中的一个处理阶段,图元素添加在上下文Context对象中,所述Context对象用于管理图元素;节点元素的类型包括同步节点、异步节点和合并节点,其中,同步节点用于处理不需要发送数据请求的处理逻辑;异步节点用于处理需要发送数据请求的处理逻辑;合并节点为异步节点的后置节点,用于根据异步节点收到数据响应并处理完成后得到的处理结果,进行处理;
串行执行选择的图元素中各节点元素对应的处理阶段,节点元素对应的处理阶段中包括节点元素中各步骤元素对应的处理步骤,每个步骤元素用于执行一个处理阶段中的一个处理步骤;
返回处理结果,所述处理结果中包括所述待投放的广告信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910195270.5A CN109977306B (zh) | 2019-03-14 | 2019-03-14 | 广告引擎的实现方法、系统、服务器及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910195270.5A CN109977306B (zh) | 2019-03-14 | 2019-03-14 | 广告引擎的实现方法、系统、服务器及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109977306A CN109977306A (zh) | 2019-07-05 |
CN109977306B true CN109977306B (zh) | 2021-08-20 |
Family
ID=67078965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910195270.5A Active CN109977306B (zh) | 2019-03-14 | 2019-03-14 | 广告引擎的实现方法、系统、服务器及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109977306B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115827121B (zh) * | 2023-01-16 | 2023-05-16 | 南京国睿信维软件有限公司 | 基于图元素的异步仿真执行引擎系统及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107027057A (zh) * | 2017-03-31 | 2017-08-08 | 北京奇艺世纪科技有限公司 | 一种广告投放策略选择方法及装置 |
CN107168782A (zh) * | 2017-04-24 | 2017-09-15 | 复旦大学 | 一种基于Spark与GPU的并行计算系统 |
CN108647360A (zh) * | 2018-05-18 | 2018-10-12 | 南通大学 | 一种多线程的出租车大数据存取及处理的方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880969A (zh) * | 2011-07-13 | 2013-01-16 | 阿里巴巴集团控股有限公司 | 广告投放方法、广告投放服务器及广告投放系统 |
CN107169785A (zh) * | 2017-03-31 | 2017-09-15 | 北京奇艺世纪科技有限公司 | 一种广告投放方法及装置 |
US10552161B2 (en) * | 2017-06-21 | 2020-02-04 | International Business Machines Corporation | Cluster graphical processing unit (GPU) resource sharing efficiency by directed acyclic graph (DAG) generation |
CN109145200A (zh) * | 2018-07-13 | 2019-01-04 | 百度在线网络技术(北京)有限公司 | 推广展现的方法、装置、设备和计算机存储介质 |
-
2019
- 2019-03-14 CN CN201910195270.5A patent/CN109977306B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107027057A (zh) * | 2017-03-31 | 2017-08-08 | 北京奇艺世纪科技有限公司 | 一种广告投放策略选择方法及装置 |
CN107168782A (zh) * | 2017-04-24 | 2017-09-15 | 复旦大学 | 一种基于Spark与GPU的并行计算系统 |
CN108647360A (zh) * | 2018-05-18 | 2018-10-12 | 南通大学 | 一种多线程的出租车大数据存取及处理的方法 |
Non-Patent Citations (2)
Title |
---|
《Pipeline介绍》;黑小白少爷;《简书》;20180825;第1-2页 * |
如何打造高质量的SSP广告引擎(内部干活分享);李振博;《微信公众平台》;20171228;第一、三部分 * |
Also Published As
Publication number | Publication date |
---|---|
CN109977306A (zh) | 2019-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018133863A1 (zh) | 广告曝光频次的控制方法、广告交易平台 | |
WO2017107826A1 (zh) | 一种业务信息的推送方法和装置 | |
US9886705B2 (en) | Advertisement opportunity bidding | |
US11605107B2 (en) | Handling search queries | |
WO2018149371A1 (zh) | 推送信息订单的流量、服务分配方法、装置及存储介质 | |
US12067596B2 (en) | Computer implemented method for partner pixelling for user identification | |
CN111125497A (zh) | 一种信息推荐方法、装置、处理器以及存储介质 | |
CN111639279A (zh) | 图形码生成方法、目标页面加载方法和装置 | |
CN105279168A (zh) | 支持自然语言的数据查询方法、开放平台及用户终端 | |
CN108122124A (zh) | 信息推送方法、平台及系统 | |
CN109977306B (zh) | 广告引擎的实现方法、系统、服务器及介质 | |
CN106570060B (zh) | 一种信息流中数据的随机抽取方法及装置 | |
US20160217490A1 (en) | Automatic Computation of Keyword Bids For Pay-Per-Click Advertising Campaigns and Methods and Systems Incorporating The Same | |
AU2020203282B2 (en) | Method and system for matching multi-dimensional data units in electronic information system | |
CN108966034B (zh) | 虚拟物品显示方法、装置和存储介质 | |
CN111147568B (zh) | 身份数据的同步方法及装置 | |
CN111031052B (zh) | 基于多应用程序的数据处理方法、计算设备及存储介质 | |
CN112231011B (zh) | 基于activiti的流程图调整方法、装置、电子设备和存储介质 | |
CN114372813A (zh) | 一种信息推广方法、装置、服务器和存储介质 | |
JP7134963B2 (ja) | サービスデータ処理方法及びデバイス | |
CN108932624B (zh) | 用户信息映射方法及服务器、计算机可读存储介质 | |
CN107015863B (zh) | 一种资源分配方法和装置 | |
CN106385427B (zh) | 一种基于业务对象的业务处理方法和装置 | |
CN111586133B (zh) | 一种信息推送方法及相关装置 | |
CN114240527B (zh) | 资源推送方法、装置、电子设备、可读介质及计算机程序 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |