具有高度可擴(kuò)展性的廣告匹配方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開(kāi)了具有高度可擴(kuò)展性的廣告匹配方法和系統(tǒng),方法:根據(jù)XML配置文件構(gòu)造哈希樹(shù)結(jié)構(gòu),以及該哈希樹(shù)結(jié)構(gòu)的不同層次的子節(jié)點(diǎn);根據(jù)數(shù)據(jù)庫(kù)中存儲(chǔ)的廣告的屬性,組織為被訪問(wèn)的實(shí)體對(duì)象,并根據(jù)實(shí)體對(duì)象存入到哈希樹(shù)結(jié)構(gòu)中的對(duì)應(yīng)的子節(jié)點(diǎn)或創(chuàng)建的子節(jié)點(diǎn)中,并進(jìn)行網(wǎng)絡(luò)緩存;投放廣告時(shí),先判斷客戶端所要獲取的廣告的投放條件,根據(jù)該投放條件查找哈希樹(shù)結(jié)構(gòu)中的對(duì)應(yīng)的子節(jié)點(diǎn)中存儲(chǔ)的至少一個(gè)實(shí)體對(duì)象;再根據(jù)查找到的至少一個(gè)實(shí)體對(duì)象和預(yù)設(shè)的過(guò)濾條件進(jìn)行過(guò)濾處理,得出可投放的廣告。本發(fā)明解決了多層次的投放優(yōu)先級(jí)邏輯,只能固化在程序代碼中,一旦要調(diào)整優(yōu)先級(jí),就涉及到代碼的修改和系統(tǒng)升級(jí)等問(wèn)題。
【專利說(shuō)明】具有高度可擴(kuò)展性的廣告匹配方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本申請(qǐng)涉及廣告匹配領(lǐng)域,具體地說(shuō),涉及一種具有高度可擴(kuò)展性的廣告匹配方法和系統(tǒng)。
【背景技術(shù)】
[0002]在視頻網(wǎng)站上進(jìn)行廣告投放時(shí),通常會(huì)有多種不同廣告定向投放(以下簡(jiǎn)稱定投)條件:比如地區(qū)定投、按視頻所屬頻道的定投、按關(guān)鍵字定投、按視頻組(多個(gè)視頻或劇集組合而成的一組視頻)定投、劇場(chǎng)輪播(指定用戶觀看特定劇場(chǎng)中的視頻時(shí),不同輪次投放某些指定的廣告),不同定向條件還可能進(jìn)行組合形成一種新的組合定投。
[0003]通常,不同定投方式是有優(yōu)先級(jí)差別的,比如常見(jiàn)的優(yōu)先級(jí)從高到低排列有:劇場(chǎng)類定向 > 視頻組定向 > 用戶定向 > 關(guān)鍵字定向 > 頻道定向,同樣的定向條件下還可能有更加詳細(xì)的優(yōu)先級(jí)要求比如同樣是做視頻組定向的廣告,有頻次控制要求(指定一段時(shí)間內(nèi)每個(gè)用戶最多可以看到廣告的次數(shù))的廣告的優(yōu)先級(jí)要高于不要求頻次控制的廣告,這樣就形成了多層次的投放優(yōu)先級(jí)。
[0004]常見(jiàn)的廣告系統(tǒng)往往是僅僅做單層次的優(yōu)先級(jí)配置,在廣告投放的時(shí)候,按照事先設(shè)定的不同定向方式的優(yōu)先級(jí)從高到低查找廣告。這種方式的缺陷顯而易見(jiàn):
(1)多層次的投放優(yōu)先級(jí)邏輯,只能固化在程序代碼中,一旦要調(diào)整優(yōu)先級(jí),就涉及到代碼的修改和系統(tǒng)升級(jí);
(2)這種僅根據(jù)定投條件來(lái)確定優(yōu)先級(jí)的方式無(wú)法應(yīng)對(duì)特殊的優(yōu)先級(jí)要求,比如系統(tǒng)要求通常情況下視頻組定向的廣告優(yōu)先級(jí)強(qiáng)于頻道定向,但是有一個(gè)特殊廣告由于投放周期即將結(jié)束,但由于廣告投放量嚴(yán)重不足,現(xiàn)在需要在保持其它廣告仍然滿足原有的視頻組定向優(yōu)先于頻道定向的前提下,單獨(dú)提高這一個(gè)頻道定向廣告的優(yōu)先級(jí),使之高于所有視頻組定向的廣告,如果遇到這種情況,即使使用前面所述方法也是無(wú)法實(shí)現(xiàn)的。
[0005]綜上所述,如何提供一種具有可擴(kuò)展性的廣告匹配方式,便成為亟待解決的技術(shù)問(wèn)題。
【發(fā)明內(nèi)容】
[0006]有鑒于此,本申請(qǐng)所要解決的技術(shù)問(wèn)題是提供了一種具有高度可擴(kuò)展性的廣告匹配方法和系統(tǒng),以解決多層次的投放優(yōu)先級(jí)邏輯,只能固化在程序代碼中,一旦要調(diào)整優(yōu)先級(jí),就涉及到代碼的修改和系統(tǒng)升級(jí)等問(wèn)題。
[0007]為了解決上述技術(shù)問(wèn)題,本申請(qǐng)公開(kāi)了一種具有高度可擴(kuò)展性的廣告匹配方法,其特征在于,包括:
根據(jù)XML配置文件構(gòu)造哈希樹(shù)結(jié)構(gòu),以及該哈希樹(shù)結(jié)構(gòu)的不同層次的子節(jié)點(diǎn);
根據(jù)數(shù)據(jù)庫(kù)中存儲(chǔ)的廣告的屬性,組織為被訪問(wèn)的實(shí)體對(duì)象,并根據(jù)所述實(shí)體對(duì)象存入到所述哈希樹(shù)結(jié)構(gòu)中的對(duì)應(yīng)的子節(jié)點(diǎn)或創(chuàng)建的子節(jié)點(diǎn)中,并進(jìn)行網(wǎng)絡(luò)緩存;
投放所述廣告時(shí),先判斷客戶端所要獲取的廣告的投放條件,根據(jù)該投放條件查找所述哈希樹(shù)結(jié)構(gòu)中的對(duì)應(yīng)的子節(jié)點(diǎn)中存儲(chǔ)的至少一個(gè)所述實(shí)體對(duì)象;
再根據(jù)查找到的至少一個(gè)所述實(shí)體對(duì)象和預(yù)設(shè)的過(guò)濾條件進(jìn)行過(guò)濾處理,得出可投放的所述廣告。
[0008]優(yōu)選地,其中,根據(jù)XML配置文件構(gòu)造哈希樹(shù)結(jié)構(gòu),以及該哈希樹(shù)結(jié)構(gòu)的不同層次的子節(jié)點(diǎn),進(jìn)一步還包括:當(dāng)所述XML配置文件進(jìn)行修改后,對(duì)應(yīng)的所述哈希樹(shù)結(jié)構(gòu),以及該哈希樹(shù)結(jié)構(gòu)的不同層次的子節(jié)點(diǎn)也會(huì)在緩存裝載的時(shí)候進(jìn)行對(duì)應(yīng)的修改。
[0009]優(yōu)選地,其中,所述預(yù)設(shè)的過(guò)濾條件包括:廣告的預(yù)設(shè)投放量已經(jīng)耗盡、該廣告時(shí)長(zhǎng)超出當(dāng)前視頻正片可投最大時(shí)長(zhǎng)和當(dāng)前用戶觀看次數(shù)已達(dá)系統(tǒng)要求的單用戶觀看次數(shù)上限。
[0010]優(yōu)選地,其中,根據(jù)數(shù)據(jù)庫(kù)中存儲(chǔ)的廣告的屬性,組織為被訪問(wèn)的實(shí)體對(duì)象,并根據(jù)所述實(shí)體對(duì)象存入到所述哈希樹(shù)結(jié)構(gòu)中的對(duì)應(yīng)的子節(jié)點(diǎn)或創(chuàng)建的子節(jié)點(diǎn)中,并進(jìn)行網(wǎng)絡(luò)緩存;進(jìn)一步為:根據(jù)數(shù)據(jù)庫(kù)中存儲(chǔ)的廣告的屬性,組織為被訪問(wèn)的實(shí)體對(duì)象,并根據(jù)所述實(shí)體對(duì)象存入到所述哈希樹(shù)結(jié)構(gòu)中的對(duì)應(yīng)的子節(jié)點(diǎn)中,如未找到對(duì)應(yīng)的子節(jié)點(diǎn)則創(chuàng)建的子節(jié)點(diǎn)并存入其中,再進(jìn)行網(wǎng)絡(luò)緩存。
[0011]優(yōu)選地,其中,在所述哈希樹(shù)結(jié)構(gòu)的葉子節(jié)點(diǎn)位置設(shè)置至少4個(gè)節(jié)點(diǎn),分別表示廣告所定向的視頻組、用戶身份信息、關(guān)鍵字和頻道。
[0012]為了解決上述技術(shù)問(wèn)題,本申請(qǐng)還公開(kāi)了一種具有高度可擴(kuò)展性的廣告匹配系統(tǒng),該系統(tǒng)與數(shù)據(jù)庫(kù)相耦接,其特征在于,該系統(tǒng)包括:廣告緩存模塊和廣告投放模塊,
所述廣告緩存模塊,分別與所述數(shù)據(jù)庫(kù)和廣告投放模塊相耦接,用于根據(jù)XML配置文件構(gòu)造哈希樹(shù)結(jié)構(gòu),以及該哈希樹(shù)結(jié)構(gòu)的不同層次的子節(jié)點(diǎn);然后根據(jù)所述數(shù)據(jù)庫(kù)中存儲(chǔ)的廣告的屬性,組織為被訪問(wèn)的實(shí)體對(duì)象,并根據(jù)所述實(shí)體對(duì)象存入到所述哈希樹(shù)結(jié)構(gòu)中的對(duì)應(yīng)的子節(jié)點(diǎn)或創(chuàng)建的子節(jié)點(diǎn)中,并進(jìn)行網(wǎng)絡(luò)緩存;
所述廣告投放模塊,分別與所述廣告緩存模塊和客戶端相耦接,用于投放所述廣告時(shí),先判斷該廣告的投放條件,根據(jù)該投放條件查找所述廣告緩存模塊上的哈希樹(shù)結(jié)構(gòu)中的對(duì)應(yīng)的子節(jié)點(diǎn)中存儲(chǔ)的至少一個(gè)所述實(shí)體對(duì)象;再根據(jù)查找到的至少一個(gè)所述實(shí)體對(duì)象和預(yù)設(shè)的過(guò)濾條件進(jìn)行過(guò)濾處理,得出可投放的所述廣告反饋給所述客戶端。
[0013]優(yōu)選地,其中,所述廣告緩存模塊,進(jìn)一步還用于:當(dāng)所述XML配置文件進(jìn)行修改后,對(duì)應(yīng)的所述哈希樹(shù)結(jié)構(gòu),以及該哈希樹(shù)結(jié)構(gòu)的不同層次的子節(jié)點(diǎn)也會(huì)在緩存裝載的時(shí)候進(jìn)行對(duì)應(yīng)的修改。
[0014]優(yōu)選地,其中,所述預(yù)設(shè)的過(guò)濾條件包括:廣告的預(yù)設(shè)投放量已經(jīng)耗盡、該廣告時(shí)長(zhǎng)超出當(dāng)前視頻正片可投最大時(shí)長(zhǎng)和當(dāng)前用戶觀看次數(shù)已達(dá)系統(tǒng)要求的單用戶觀看次數(shù)上限。
[0015]優(yōu)選地,其中,所述廣告緩存模塊,進(jìn)一步還用于:根據(jù)數(shù)據(jù)庫(kù)中存儲(chǔ)的廣告的屬性,組織為被訪問(wèn)的實(shí)體對(duì)象,并根據(jù)所述實(shí)體對(duì)象存入到所述哈希樹(shù)結(jié)構(gòu)中的對(duì)應(yīng)的子節(jié)點(diǎn)中,如未找到對(duì)應(yīng)的子節(jié)點(diǎn)則創(chuàng)建的子節(jié)點(diǎn)并存入其中,再進(jìn)行網(wǎng)絡(luò)緩存。
[0016]優(yōu)選地,其中,在所述哈希樹(shù)結(jié)構(gòu)的葉子節(jié)點(diǎn)位置設(shè)置至少4個(gè)節(jié)點(diǎn),分別表示廣告所定向的視頻組、用戶身份信息、關(guān)鍵字和頻道。
[0017]與現(xiàn)有技術(shù)相比,本申請(qǐng)所述的一種具有高度可擴(kuò)展性的廣告匹配方法和系統(tǒng),達(dá)到了如下效果: I)本申請(qǐng)能夠提供一種具有可擴(kuò)展性的廣告匹配方式,以解決多層次的投放優(yōu)先級(jí)邏輯,只能固化在程序代碼中,一旦要調(diào)整優(yōu)先級(jí),就涉及到代碼的修改和系統(tǒng)升級(jí)。
[0018]2)本申請(qǐng)還能夠解決一個(gè)特殊廣告由于投放周期即將結(jié)束,例如:但由于廣告投放量嚴(yán)重不足,如何解決在保持其它廣告仍然滿足原有廣告優(yōu)先級(jí)的大前提下,自由調(diào)整某個(gè)特定廣告的優(yōu)先級(jí)的問(wèn)題。
[0019]當(dāng)然,實(shí)施本申請(qǐng)的任一產(chǎn)品必不一定需要同時(shí)達(dá)到以上所述的所有技術(shù)效果。
[0020]
【專利附圖】
【附圖說(shuō)明】
[0021]此處所說(shuō)明的附圖用來(lái)提供對(duì)本申請(qǐng)的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本申請(qǐng)的示意性實(shí)施例及其說(shuō)明用于解釋本申請(qǐng),并不構(gòu)成對(duì)本申請(qǐng)的不當(dāng)限定。在附圖中:
圖1是本申請(qǐng)實(shí)施例一中所述的具有高度可擴(kuò)展性的廣告匹配方法的流程圖。
[0022]圖2和3是采用實(shí)施例一方法具體應(yīng)用實(shí)施例二的參考流程圖。
[0023]圖4是本申請(qǐng)實(shí)施例三中所述的具有高度可擴(kuò)展性的廣告匹配系統(tǒng)結(jié)構(gòu)框圖。
[0024]【具體實(shí)施方式】
[0025]如在說(shuō)明書(shū)及權(quán)利要求當(dāng)中使用了某些詞匯來(lái)指稱特定組件。本領(lǐng)域技術(shù)人員應(yīng)可理解,硬件制造商可能會(huì)用不同名詞來(lái)稱呼同一個(gè)組件。本說(shuō)明書(shū)及權(quán)利要求并不以名稱的差異來(lái)作為區(qū)分組件的方式,而是以組件在功能上的差異來(lái)作為區(qū)分的準(zhǔn)則。如在通篇說(shuō)明書(shū)及權(quán)利要求當(dāng)中所提及的“包含”為一開(kāi)放式用語(yǔ),故應(yīng)解釋成“包含但不限定于”?!按笾隆笔侵冈诳山邮盏恼`差范圍內(nèi),本領(lǐng)域技術(shù)人員能夠在一定誤差范圍內(nèi)解決所述技術(shù)問(wèn)題,基本達(dá)到所述技術(shù)效果。此外,“耦接”一詞在此包含任何直接及間接的電性耦接手段。因此,若文中描述一第一裝置耦接于一第二裝置,則代表所述第一裝置可直接電性耦接于所述第二裝置,或通過(guò)其他裝置或耦接手段間接地電性耦接至所述第二裝置。說(shuō)明書(shū)后續(xù)描述為實(shí)施本申請(qǐng)的較佳實(shí)施方式,然所述描述乃以說(shuō)明本申請(qǐng)的一般原則為目的,并非用以限定本申請(qǐng)的范圍。本申請(qǐng)的保護(hù)范圍當(dāng)視所附權(quán)利要求所界定者為準(zhǔn)。
[0026]實(shí)施例一
如圖1所示,為本申請(qǐng)實(shí)施例一所述的具有高度可擴(kuò)展性的廣告匹配方法流程,該方法包括:
步驟101,根據(jù)XML (擴(kuò)展標(biāo)記語(yǔ)言)配置文件構(gòu)造哈希樹(shù)結(jié)構(gòu),以及該哈希樹(shù)結(jié)構(gòu)的不同層次的子節(jié)點(diǎn);
步驟102,根據(jù)數(shù)據(jù)庫(kù)中存儲(chǔ)的廣告的屬性,組織為被訪問(wèn)的實(shí)體對(duì)象,并根據(jù)所述實(shí)體對(duì)象存入到所述哈希樹(shù)結(jié)構(gòu)中的對(duì)應(yīng)的子節(jié)點(diǎn)或創(chuàng)建的子節(jié)點(diǎn)中,并進(jìn)行網(wǎng)絡(luò)緩存(緩存哈希樹(shù)結(jié)構(gòu)(HashTree)和adldeaMap對(duì)象(也可以稱為廣告實(shí)體對(duì)象表));
步驟103,投放所述廣告時(shí),先判斷客戶端所要獲取的廣告的投放條件,根據(jù)該投放條件查找所述哈希樹(shù)結(jié)構(gòu)中的對(duì)應(yīng)的子節(jié)點(diǎn)中存儲(chǔ)的至少一個(gè)所述實(shí)體對(duì)象;
步驟104,再根據(jù)查找到的至少一個(gè)所述實(shí)體對(duì)象和預(yù)設(shè)的過(guò)濾條件進(jìn)行過(guò)濾處理,得出可投放的所述廣告。[0027]其中,步驟101進(jìn)一步還包括:當(dāng)所述XML配置文件進(jìn)行修改后,對(duì)應(yīng)的所述哈希樹(shù)結(jié)構(gòu),以及該哈希樹(shù)結(jié)構(gòu)的不同層次的子節(jié)點(diǎn)也會(huì)在緩存裝載的時(shí)候進(jìn)行對(duì)應(yīng)的修改。
[0028]其中,步驟104,所述預(yù)設(shè)的過(guò)濾條件為:廣告的預(yù)設(shè)投放量已經(jīng)耗盡、該廣告時(shí)長(zhǎng)超出當(dāng)前視頻正片可投最大時(shí)長(zhǎng)和當(dāng)前用戶觀看次數(shù)已達(dá)系統(tǒng)要求的單用戶觀看次數(shù)上限等。
[0029]其中,步驟102,所述數(shù)據(jù)庫(kù)中存儲(chǔ)的廣告的屬性,包括:廣告的URL地址(即廣告素材地址),廣告相關(guān)的監(jiān)測(cè)地址(廣告曝光監(jiān)測(cè)URL地址、廣告被點(diǎn)擊監(jiān)測(cè)URL地址)等內(nèi)容,這里不作具體限定。
[0030]另外,步驟102,根據(jù)數(shù)據(jù)庫(kù)中存儲(chǔ)的廣告的屬性,組織為被訪問(wèn)的實(shí)體對(duì)象,并根據(jù)所述實(shí)體對(duì)象存入到所述哈希樹(shù)結(jié)構(gòu)中的對(duì)應(yīng)的子節(jié)點(diǎn)或創(chuàng)建的子節(jié)點(diǎn)中,并進(jìn)行網(wǎng)絡(luò)緩存;進(jìn)一步為:根據(jù)數(shù)據(jù)庫(kù)中存儲(chǔ)的廣告的屬性,組織為被訪問(wèn)的實(shí)體對(duì)象,并根據(jù)所述實(shí)體對(duì)象存入到所述哈希樹(shù)結(jié)構(gòu)中的對(duì)應(yīng)的子節(jié)點(diǎn)中,如未找到對(duì)應(yīng)的子節(jié)點(diǎn)則創(chuàng)建的子節(jié)點(diǎn)并存入其中,再進(jìn)行網(wǎng)絡(luò)緩存。
[0031]另外,步驟103具體為:通過(guò)分布式緩存工具將上一步(步驟102)中所述緩存中的所述哈希樹(shù)結(jié)構(gòu)(HashTree)和adldeaMap (廣告實(shí)體對(duì)象表)數(shù)據(jù)拉取到前端投放服務(wù)器的內(nèi)存中,然后前端投放服務(wù)可以根據(jù)當(dāng)前用戶請(qǐng)求參數(shù)在HashTree中查找廣告的素材ID,然后根據(jù)素材ID到adldeaMap中找到該素材ID對(duì)應(yīng)的實(shí)體對(duì)象(也可以稱為ADIdea對(duì)象),并根據(jù)該對(duì)象構(gòu)造出廣告的代碼返回(可以使返回給廣告請(qǐng)求方(即請(qǐng)求客戶端))。
[0032]另外,步驟101中,構(gòu)造的哈希樹(shù)結(jié)構(gòu)(HashTree)的不同層次的子節(jié)點(diǎn),一般設(shè)置為5層的子節(jié)點(diǎn),其中:
第一層有2個(gè)子節(jié)點(diǎn)(也可以稱之為T(mén)ree節(jié)點(diǎn)),分別對(duì)應(yīng)于常規(guī)定向方式(common)的HashTree樹(shù)和劇場(chǎng)中按輪次循環(huán)播放(theater_lunbo)的HashTree。
[0033]第二層:
對(duì)于第一個(gè)Tree節(jié)點(diǎn),其第一層Node節(jié)點(diǎn)表示當(dāng)前層次存放廣告定向的平臺(tái)類型(device_type);
第三層:
表示廣告的優(yōu)先級(jí),該屬性是以數(shù)字表示的,是按從小到大有序排列的節(jié)點(diǎn)序列; 第四層;
表示廣告定向的地區(qū)(area);
第五層:
設(shè)置4個(gè)節(jié)點(diǎn)(葉子節(jié)點(diǎn))分別表示廣告所定向的視頻組、用戶ID (ID身份信息也就是廣告素材的ID)、關(guān)鍵字和頻道。當(dāng)然這里不限于4個(gè)節(jié)點(diǎn)。
[0034]其中,哈希樹(shù)結(jié)構(gòu)(HashTree)包含3個(gè)屬性:name、KMap和KNode,其中:
name:它對(duì)應(yīng)于XML配置文件中的Tree節(jié)點(diǎn)的名稱(也就是第一層),用來(lái)表示哈希樹(shù)結(jié)構(gòu)所對(duì)應(yīng)的類型。
[0035]KMap:是一個(gè)多層的遞歸Map結(jié)構(gòu)(也就是前述的第二至五層),它的Key-Value對(duì)中的Value可以是一個(gè)新的Map (對(duì)應(yīng)的同層級(jí)的KNode為非葉子節(jié)點(diǎn)時(shí)),也可以是一個(gè)List (對(duì)應(yīng)的同層級(jí)的KNode為葉子節(jié)點(diǎn)時(shí)),它就是HashTree中最終用于存放廣告的投放條件的容器; KNode:用于存放HashTree的結(jié)構(gòu)描述文件中的信息,KNode的name屬性和amode屬性分別對(duì)應(yīng)于XML配置文件中的Node節(jié)點(diǎn)的同名屬性,KNode還包含了一個(gè)列表,列表中每個(gè)元素也都是KNode類型節(jié)點(diǎn),也就是說(shuō)KNode是一個(gè)遞歸的數(shù)據(jù)結(jié)構(gòu)。
[0036]如圖2和3所示,這里采用本發(fā)明所述方法列舉以具體應(yīng)用實(shí)施例二 (也可以稱為實(shí)施例)進(jìn)行說(shuō)明:
步驟一,如圖2所示,假設(shè)有某廣告A,其ID為81 (ID也就是廣告素材的ID),產(chǎn)品類型為常規(guī)投放,投放條件為:投放在PC端,優(yōu)先級(jí)別為2,定向地區(qū)為“廣東省”,定投關(guān)鍵字
“搞笑”。
[0037]步驟二,根據(jù)其產(chǎn)品類型為常規(guī)投放,可知它與htree.xml配置文件中的Ad根節(jié)點(diǎn)下name屬性值為” common”的Tree節(jié)點(diǎn)(第一層)對(duì)應(yīng),它應(yīng)該存入到類型為common的HashTree的KMap中同時(shí)進(jìn)行緩存;(假設(shè)此廣告在裝入類型為“common”的HashTree之前,HashTree中的KMap結(jié)構(gòu)(如圖2所示))。
[0038]步驟三,投放所述廣告時(shí),對(duì)HashTree中的KNode節(jié)點(diǎn)進(jìn)行如下遍歷過(guò)程(如圖2所示):
訪問(wèn)KNode的第一層key為device_type,則根據(jù)廣告A定向的設(shè)備類型為PC,可以定位到KMap的第一級(jí)對(duì)應(yīng)的Key (即廣告素材ID)為P (P表示PC端,M表示Mobile端);訪問(wèn)KNode下一層子節(jié)點(diǎn),key為priority,則根據(jù)廣告A的優(yōu)先級(jí)為2,可以定位到KMap的第二級(jí)對(duì)應(yīng)的Key為2 ;
訪問(wèn)KNode再下一層子節(jié)點(diǎn),key為area,則根據(jù)廣告A的定向地區(qū)為廣東省,可以定位到KMap的第三級(jí)對(duì)應(yīng)的key為a42 ;
再訪問(wèn) KNode 下一層子節(jié)點(diǎn),key 有 4 個(gè):videogroup、userid、keyword、channel,則根據(jù)廣告A的定投條件為關(guān)鍵字“搞笑”,可知與之匹配的key為”keyword”,于是可以KMap的第三級(jí)對(duì)應(yīng)的key為” k搞笑”,該節(jié)點(diǎn)在KMap的路徑” P/2/a42”下并不存在,所以要新建一個(gè)K-V節(jié)點(diǎn),節(jié)點(diǎn)的K為“k搞笑”,V為一個(gè)新的List,List中添加廣告A的ID:81 ;
如圖3所示,假設(shè)某次廣告請(qǐng)求中,包含如下信息:本次請(qǐng)求來(lái)自于PC端,請(qǐng)求來(lái)源地區(qū)為:廣東省,關(guān)鍵字為:搞笑,請(qǐng)求來(lái)自于節(jié)目《爸爸去哪兒》(節(jié)目ID為500)的播放頁(yè),該視頻的上傳者ID為:120,那么我們將針對(duì)圖第3附圖中的結(jié)構(gòu)進(jìn)行如下查找過(guò)程:首先,定位請(qǐng)求平臺(tái):PC端,于是可以定位到KMap的第一層的節(jié)點(diǎn)P ;
其次,按照優(yōu)先級(jí)從高到低依次訪問(wèn)KMap第二層的I和2兩個(gè)節(jié)點(diǎn);
第三,定位請(qǐng)求地區(qū),發(fā)現(xiàn)只有a42這個(gè)節(jié)點(diǎn)可以匹配,于是定位到KMap的第三層節(jié)點(diǎn):P/2/a42 ;
第四,定位第四層的videogroup、userid、keyword、channel,發(fā)現(xiàn)用戶ID和關(guān)鍵字所對(duì)應(yīng)的2個(gè)節(jié)點(diǎn)“ul20”和“k搞笑”都可以匹配上,于是可以找到2個(gè)可投廣告列表,其中包括廣告ID:38、56、81等;
最后,過(guò)濾掉這2個(gè)列表中的一些不可投放的廣告ID,然后得到可投的ID列表,其中過(guò)濾操作包括:廣告的預(yù)設(shè)投放量已經(jīng)耗盡、該廣告時(shí)長(zhǎng)超出當(dāng)前視頻正片可投最大時(shí)長(zhǎng)、當(dāng)前用戶觀看次數(shù)已達(dá)系統(tǒng)要求的單用戶觀看次數(shù)上限等等。
[0039]實(shí)施例三
如圖4所示,為本申請(qǐng)實(shí)施例三所述的具有高度可擴(kuò)展性的廣告匹配系統(tǒng)框圖,該系統(tǒng)與數(shù)據(jù)庫(kù)(存放廣告的數(shù)據(jù)庫(kù),其可以是客戶端,也可以是服務(wù)器這里不做限定)相耦接,該系統(tǒng)包括:廣告緩存模塊401和廣告投放模塊402,其中,
所述廣告緩存模塊401,分別與所述數(shù)據(jù)庫(kù)和廣告投放模塊402相耦接,用于根據(jù)XML配置文件構(gòu)造哈希樹(shù)結(jié)構(gòu),以及該哈希樹(shù)結(jié)構(gòu)的不同層次的子節(jié)點(diǎn);然后根據(jù)所述數(shù)據(jù)庫(kù)中存儲(chǔ)的廣告的屬性,組織為被訪問(wèn)的實(shí)體對(duì)象,并根據(jù)所述實(shí)體對(duì)象存入到所述哈希樹(shù)結(jié)構(gòu)中的對(duì)應(yīng)的子節(jié)點(diǎn)或創(chuàng)建的子節(jié)點(diǎn)中,并進(jìn)行網(wǎng)絡(luò)緩存(緩存哈希樹(shù)結(jié)構(gòu)(HashTree )和adldeaMap對(duì)象(也可以稱為廣告實(shí)體對(duì)象表));
所述廣告投放模塊402,分別與所述廣告緩存模塊401和客戶端相耦接,用于投放所述廣告時(shí),先判斷該廣告的投放條件,根據(jù)該投放條件查找所述廣告緩存模塊401上的哈希樹(shù)結(jié)構(gòu)中的對(duì)應(yīng)的子節(jié)點(diǎn)中存儲(chǔ)的至少一個(gè)所述實(shí)體對(duì)象;再根據(jù)查找到的至少一個(gè)所述實(shí)體對(duì)象和預(yù)設(shè)的過(guò)濾條件進(jìn)行過(guò)濾處理,得出可投放的所述廣告反饋給所述客戶端。
[0040]其中,所述廣告緩存模塊401進(jìn)一步還用于:當(dāng)所述XML配置文件進(jìn)行修改后,對(duì)應(yīng)的所述哈希樹(shù)結(jié)構(gòu),以及該哈希樹(shù)結(jié)構(gòu)的不同層次的子節(jié)點(diǎn)也會(huì)在緩存裝載的時(shí)候自動(dòng)更新。
[0041]其中,所述廣告投放模塊402中所述預(yù)設(shè)的過(guò)濾條件為:廣告的預(yù)設(shè)投放量已經(jīng)耗盡、該廣告時(shí)長(zhǎng)超出當(dāng)前視頻正片可投最大時(shí)長(zhǎng)、當(dāng)前用戶觀看次數(shù)已達(dá)系統(tǒng)要求的單用戶觀看次數(shù)上限等。當(dāng)然這里過(guò)濾條件還可以包括其他方式,這里不作具體限定。
[0042]其中,所述數(shù)據(jù)庫(kù)中存儲(chǔ)的廣告的屬性,包括:廣告的URL地址(即廣告素材地址),廣告相關(guān)的監(jiān)測(cè)地址(廣告曝光監(jiān)測(cè)URL地址、廣告被點(diǎn)擊監(jiān)測(cè)URL地址)等內(nèi)容,這里不作具體限定。
[0043]另外,所述廣告緩存模塊401中,根據(jù)數(shù)據(jù)庫(kù)中存儲(chǔ)的廣告的屬性,組織為被訪問(wèn)的實(shí)體對(duì)象,并根據(jù)所述實(shí)體對(duì)象存入到所述哈希樹(shù)結(jié)構(gòu)中的對(duì)應(yīng)的子節(jié)點(diǎn)或創(chuàng)建的子節(jié)點(diǎn)中,并進(jìn)行網(wǎng)絡(luò)緩存;進(jìn)一步為:根據(jù)數(shù)據(jù)庫(kù)中存儲(chǔ)的廣告的屬性,組織為被訪問(wèn)的實(shí)體對(duì)象,并根據(jù)所述實(shí)體對(duì)象存入到所述哈希樹(shù)結(jié)構(gòu)中的對(duì)應(yīng)的子節(jié)點(diǎn)中,如未找到對(duì)應(yīng)的子節(jié)點(diǎn)則創(chuàng)建的子節(jié)點(diǎn)并存入其中,再進(jìn)行網(wǎng)絡(luò)緩存。
[0044]另外,所述廣告投放模塊402具體為:通過(guò)分布式緩存工具將廣告緩存模塊401中所述緩存的所述哈希樹(shù)結(jié)構(gòu)(HashTree)和adldeaMap (廣告實(shí)體對(duì)象表)數(shù)據(jù)拉取出來(lái)(可以拉取到本地計(jì)算機(jī)上),然后根據(jù)投放條件在HashTree中查找廣告的素材ID,然后根據(jù)素材ID到adldeaMap中找到該素材ID對(duì)應(yīng)的實(shí)體對(duì)象(也可以稱為ADIdea對(duì)象),并根據(jù)該對(duì)象構(gòu)造出廣告的代碼返回(可以使返回給廣告請(qǐng)求方(即請(qǐng)求客戶端))。
[0045]另外,所述廣告緩存模塊401中,構(gòu)造的哈希樹(shù)結(jié)構(gòu)(HashTree)的不同層次的子節(jié)點(diǎn),一般設(shè)置為5層的子節(jié)點(diǎn),其中:
第一層有2個(gè)子節(jié)點(diǎn)(也可以稱之為T(mén)ree節(jié)點(diǎn)),分別對(duì)應(yīng)于常規(guī)定向方式(common)的HashTree樹(shù)和劇場(chǎng)中按輪次循環(huán)播放(theater_lunbo)的HashTree。
[0046]第二層:
對(duì)于第一個(gè)Tree節(jié)點(diǎn),其第一層Node節(jié)點(diǎn)表示當(dāng)前層次存放廣告定向的平臺(tái)類型(device_type);
第三層:
表示廣告的優(yōu)先級(jí),該屬性是以數(shù)字表示的,是按從小到大有序排列的節(jié)點(diǎn)序列; 第四層;
表示廣告定向的地區(qū)(area);
第五層:
設(shè)置4個(gè)節(jié)點(diǎn)(葉子節(jié)點(diǎn))分別表示廣告所定向的視頻組、用戶ID (ID也就是廣告素材的ID)、關(guān)鍵字、頻道。
[0047]其中,哈希樹(shù)結(jié)構(gòu)(HashTree)包含3個(gè)屬性:name、KMap和KNode,其中:
name:它對(duì)應(yīng)于XML配置文件中的Tree節(jié)點(diǎn)的名稱(也就是第一層),用來(lái)表示哈希樹(shù)結(jié)構(gòu)所對(duì)應(yīng)的類型。
[0048]KMap:是一個(gè)多層的遞歸Map結(jié)構(gòu)(也就是前述的第二至五層),它的Key-Value對(duì)中的Value可以是一個(gè)新的Map (對(duì)應(yīng)的同層級(jí)的KNode為非葉子節(jié)點(diǎn)時(shí)),也可以是一個(gè)List (對(duì)應(yīng)的同層級(jí)的KNode為葉子節(jié)點(diǎn)時(shí)),它就是HashTree中最終用于存放廣告的投放條件的容器;
KNode:用于存放HashTree的結(jié)構(gòu)描述文件中的信息,KNode的name屬性和amode屬性分別對(duì)應(yīng)于XML配置文件中的Node節(jié)點(diǎn)的同名屬性,KNode還包含了一個(gè)列表,列表中每個(gè)元素也都是KNode類型節(jié)點(diǎn),也就是說(shuō)KNode是一個(gè)遞歸的數(shù)據(jù)結(jié)構(gòu)。
[0049]由于方法部分已經(jīng)對(duì)本申請(qǐng)實(shí)施例進(jìn)行了詳細(xì)描述,這里對(duì)實(shí)施例中涉及的方法與系統(tǒng)對(duì)應(yīng)部分的展開(kāi)描述省略,不再贅述。對(duì)于系統(tǒng)中具體內(nèi)容的描述可參考所述方法實(shí)施例的內(nèi)容,這里不再具體限定。
[0050]與現(xiàn)有技術(shù)相比,本申請(qǐng)所述的一種具有高度可擴(kuò)展性的廣告匹配方法和系統(tǒng),達(dá)到了如下效果:
I)本申請(qǐng)能夠提供一種具有可擴(kuò)展性的廣告匹配方式,以解決多層次的投放優(yōu)先級(jí)邏輯,只能固化在程序代碼中,一旦要調(diào)整優(yōu)先級(jí),就涉及到代碼的修改和系統(tǒng)升級(jí)。
[0051]2)本申請(qǐng)還能夠解決一個(gè)特殊廣告由于投放周期即將結(jié)束,例如:但由于廣告投放量嚴(yán)重不足,如何解決在保持其它廣告仍然滿足原有廣告優(yōu)先級(jí)的大前提下,自由調(diào)整某個(gè)特定廣告的優(yōu)先級(jí)的問(wèn)題。
[0052]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請(qǐng)的實(shí)施例可提供為方法、裝置、或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤(pán)存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
[0053]上述說(shuō)明示出并描述了本申請(qǐng)的若干優(yōu)選實(shí)施例,但如前所述,應(yīng)當(dāng)理解本申請(qǐng)并非局限于本文所披露的形式,不應(yīng)看作是對(duì)其他實(shí)施例的排除,而可用于各種其他組合、修改和環(huán)境,并能夠在本文所述發(fā)明構(gòu)想范圍內(nèi),通過(guò)上述教導(dǎo)或相關(guān)領(lǐng)域的技術(shù)或知識(shí)進(jìn)行改動(dòng)。而本領(lǐng)域人員所進(jìn)行的改動(dòng)和變化不脫離本申請(qǐng)的精神和范圍,則都應(yīng)在本申請(qǐng)所附權(quán)利要求的保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種具有高度可擴(kuò)展性的廣告匹配方法,其特征在于,包括: 根據(jù)XML配置文件構(gòu)造哈希樹(shù)結(jié)構(gòu),以及該哈希樹(shù)結(jié)構(gòu)的不同層次的子節(jié)點(diǎn); 根據(jù)數(shù)據(jù)庫(kù)中存儲(chǔ)的廣告的屬性,組織為被訪問(wèn)的實(shí)體對(duì)象,并根據(jù)所述實(shí)體對(duì)象存入到所述哈希樹(shù)結(jié)構(gòu)中的對(duì)應(yīng)的子節(jié)點(diǎn)或創(chuàng)建的子節(jié)點(diǎn)中,并進(jìn)行網(wǎng)絡(luò)緩存; 投放所述廣告時(shí),先判斷客戶端所要獲取的廣告的投放條件,根據(jù)該投放條件查找所述哈希樹(shù)結(jié)構(gòu)中的對(duì)應(yīng)的子節(jié)點(diǎn)中存儲(chǔ)的至少一個(gè)所述實(shí)體對(duì)象; 再根據(jù)查找到的至少一個(gè)所述實(shí)體對(duì)象和預(yù)設(shè)的過(guò)濾條件進(jìn)行過(guò)濾處理,得出可投放的所述廣告。
2.如權(quán)利要求1所述的具有高度可擴(kuò)展性的廣告匹配方法,其特征在于,根據(jù)XML配置文件構(gòu)造哈希樹(shù)結(jié)構(gòu),以及該哈希樹(shù)結(jié)構(gòu)的不同層次的子節(jié)點(diǎn),進(jìn)一步還包括:當(dāng)所述XML配置文件進(jìn)行修改后,對(duì)應(yīng)的所述哈希樹(shù)結(jié)構(gòu),以及該哈希樹(shù)結(jié)構(gòu)的不同層次的子節(jié)點(diǎn)也會(huì)在緩存裝載的時(shí)候進(jìn)行對(duì)應(yīng)的修改。
3.如權(quán)利要求1所述的具有高度可擴(kuò)展性的廣告匹配方法,其特征在于,所述預(yù)設(shè)的過(guò)濾條件包括:廣告的預(yù)設(shè)投放量已經(jīng)耗盡、該廣告時(shí)長(zhǎng)超出當(dāng)前視頻正片可投最大時(shí)長(zhǎng)和當(dāng)前用戶觀看次數(shù)已達(dá)系統(tǒng)要求的單用戶觀看次數(shù)上限。
4.如權(quán)利要求1所述的具有高度可擴(kuò)展性的廣告匹配方法,其特征在于,根據(jù)數(shù)據(jù)庫(kù)中存儲(chǔ)的廣告的屬性,組織為被訪問(wèn)的實(shí)體對(duì)象,并根據(jù)所述實(shí)體對(duì)象存入到所述哈希樹(shù)結(jié)構(gòu)中的對(duì)應(yīng)的子節(jié)點(diǎn)或創(chuàng)建的子節(jié)點(diǎn)中,并進(jìn)行網(wǎng)絡(luò)緩存;進(jìn)一步為:根據(jù)數(shù)據(jù)庫(kù)中存儲(chǔ)的廣告的屬性,組織為被訪問(wèn)的實(shí)體對(duì)象,并根據(jù)所述實(shí)體對(duì)象存入到所述哈希樹(shù)結(jié)構(gòu)中的對(duì)應(yīng)的子節(jié)點(diǎn)中,如未找到對(duì)應(yīng)的子節(jié)點(diǎn)則創(chuàng)建的子節(jié)點(diǎn)并存入其中,再進(jìn)行網(wǎng)絡(luò)緩存。
5.如權(quán)利要求1所述的具有高度可擴(kuò)展性的廣告匹配方法,其特征在于,在所述哈希樹(shù)結(jié)構(gòu)的葉子節(jié)點(diǎn)位置設(shè)置至少4個(gè)節(jié)點(diǎn),分別表示廣告所定向的視頻組、用戶身份信息、關(guān)鍵字和頻道。
6.一種具有高度可擴(kuò)展性的廣告匹配系統(tǒng),該系統(tǒng)與數(shù)據(jù)庫(kù)相耦接,其特征在于,該系統(tǒng)包括:廣告緩存模塊和廣告投放模塊, 所述廣告緩存模塊,分別與所述數(shù)據(jù)庫(kù)和廣告投放模塊相耦接,用于根據(jù)XML配置文件構(gòu)造哈希樹(shù)結(jié)構(gòu),以及該哈希樹(shù)結(jié)構(gòu)的不同層次的子節(jié)點(diǎn);然后根據(jù)所述數(shù)據(jù)庫(kù)中存儲(chǔ)的廣告的屬性,組織為被訪問(wèn)的實(shí)體對(duì)象,并根據(jù)所述實(shí)體對(duì)象存入到所述哈希樹(shù)結(jié)構(gòu)中的對(duì)應(yīng)的子節(jié)點(diǎn)或創(chuàng)建的子節(jié)點(diǎn)中,并進(jìn)行網(wǎng)絡(luò)緩存; 所述廣告投放模塊,分別與所述廣告緩存模塊和客戶端相耦接,用于投放所述廣告時(shí),先判斷該廣告的投放條件,根據(jù)該投放條件查找所述廣告緩存模塊上的哈希樹(shù)結(jié)構(gòu)中的對(duì)應(yīng)的子節(jié)點(diǎn)中存儲(chǔ)的至少一個(gè)所述實(shí)體對(duì)象;再根據(jù)查找到的至少一個(gè)所述實(shí)體對(duì)象和預(yù)設(shè)的過(guò)濾條件進(jìn)行過(guò)濾處理,得出可投放的所述廣告反饋給所述客戶端。
7.如權(quán)利要求6所述的具有高度可擴(kuò)展性的廣告匹配系統(tǒng),其特征在于,所述廣告緩存模塊,進(jìn)一步還用于:當(dāng)所述XML配置文件進(jìn)行修改后,對(duì)應(yīng)的所述哈希樹(shù)結(jié)構(gòu),以及該哈希樹(shù)結(jié)構(gòu)的不同層次的子節(jié)點(diǎn)也會(huì)在緩存裝載的時(shí)候進(jìn)行對(duì)應(yīng)的修改。
8.如權(quán)利要求6所述的具有高度可擴(kuò)展性的廣告匹配系統(tǒng),其特征在于,所述預(yù)設(shè)的過(guò)濾條件包括:廣告的預(yù)設(shè)投放量已經(jīng)耗盡、該廣告時(shí)長(zhǎng)超出當(dāng)前視頻正片可投最大時(shí)長(zhǎng)和當(dāng)前用戶觀看次數(shù)已達(dá)系統(tǒng)要求的單用戶觀看次數(shù)上限。
9.如權(quán)利要求6所述的具有高度可擴(kuò)展性的廣告匹配系統(tǒng),其特征在于,所述廣告緩存模塊,進(jìn)一步還用于:根據(jù)數(shù)據(jù)庫(kù)中存儲(chǔ)的廣告的屬性,組織為被訪問(wèn)的實(shí)體對(duì)象,并根據(jù)所述實(shí)體對(duì)象存入到所述哈希樹(shù)結(jié)構(gòu)中的對(duì)應(yīng)的子節(jié)點(diǎn)中,如未找到對(duì)應(yīng)的子節(jié)點(diǎn)則創(chuàng)建的子節(jié)點(diǎn)并存入其中,再進(jìn)行網(wǎng)絡(luò)緩存。
10.如權(quán)利要求6所述的具有高度可擴(kuò)展性的廣告匹配系統(tǒng),其特征在于,在所述哈希樹(shù)結(jié)構(gòu)的葉子節(jié)點(diǎn)位置設(shè)置至少4個(gè)節(jié)點(diǎn),分別表示廣告所定向的視頻組、用戶身份信息、關(guān)鍵字和頻道。
【文檔編號(hào)】G06Q30/02GK104021176SQ201410241160
【公開(kāi)日】2014年9月3日 申請(qǐng)日期:2014年6月3日 優(yōu)先權(quán)日:2014年6月3日
【發(fā)明者】張?jiān)其h, 張緩迅, 周盛, 姚鍵, 潘柏宇, 盧述奇 申請(qǐng)人:合一信息技術(shù)(北京)有限公司