本發(fā)明涉及用戶畫(huà)像領(lǐng)域,特別是涉及一種基于用戶畫(huà)像計(jì)算目標(biāo)人群的方法、計(jì)算引擎及計(jì)算設(shè)備。
背景技術(shù):
在產(chǎn)品研發(fā)過(guò)程中,確定明確的目標(biāo)用戶至關(guān)重要。為了讓開(kāi)發(fā)人員在研發(fā)過(guò)程中能夠拋開(kāi)個(gè)人喜好,將焦點(diǎn)關(guān)注在目標(biāo)用戶的動(dòng)機(jī)和行為上,Alan Cooper提出了Persona(用戶畫(huà)像)這一概念。用戶畫(huà)像是真實(shí)用戶的虛擬代表,是建立在一系列真實(shí)數(shù)據(jù)(Marketing data,Usability data)之上的用戶模型。
在移動(dòng)互聯(lián)網(wǎng)App中,會(huì)對(duì)用戶的基本特征和行為數(shù)據(jù)進(jìn)行提煉,以建立用戶畫(huà)像,建立的用戶畫(huà)像包括用戶的多個(gè)特征,根據(jù)這些特征可以抽取出對(duì)應(yīng)的標(biāo)簽類(lèi)別,根據(jù)這些標(biāo)簽可以抽取出很多個(gè)維度,根據(jù)這些維度可以建立一系列的計(jì)算規(guī)則,從而計(jì)算出符合預(yù)期的人群。當(dāng)需要計(jì)算的人群越來(lái)越多時(shí),人群之間就會(huì)存在一定的依賴(lài)關(guān)系,如何在保持計(jì)算的可靠性的同時(shí),提高人群的計(jì)算效率是目前面臨的主要問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的一個(gè)目的在于提供一種目標(biāo)人群的方法、計(jì)算引擎及計(jì)算設(shè)備,其能夠在保持人群計(jì)算的可靠性的同時(shí),提高人群的計(jì)算效率
根據(jù)本發(fā)明的一個(gè)方面,提供了一種用于計(jì)算目標(biāo)人群的方法,包括:建立至少一個(gè)任務(wù)隊(duì)列,其中,每個(gè)任務(wù)隊(duì)列包含至少一個(gè)人群計(jì)算任務(wù),每個(gè)人群計(jì)算任務(wù)所對(duì)應(yīng)的目標(biāo)人群具有預(yù)定的人群定義規(guī)則,并且不同的人群計(jì)算任務(wù)所對(duì)應(yīng)的目標(biāo)人群之間具有預(yù)定的生成依賴(lài)關(guān)系;為每個(gè)任務(wù)隊(duì)列分配一個(gè)計(jì)算模塊,計(jì)算模塊基于與其對(duì)應(yīng)的任務(wù)隊(duì)列中的人群計(jì)算任務(wù)所對(duì)應(yīng)的目標(biāo)人群的人群定義規(guī)則及其生成依賴(lài)關(guān)系,使用計(jì)算用數(shù)據(jù)進(jìn)行計(jì)算以得到目標(biāo)人群,其中,計(jì)算用數(shù)據(jù)是與用戶畫(huà)像相關(guān)的 數(shù)據(jù)。
由此,所建立的每個(gè)任務(wù)隊(duì)列對(duì)應(yīng)于一個(gè)計(jì)算模塊,不同的計(jì)算模塊可以并行執(zhí)行其對(duì)應(yīng)的任務(wù)隊(duì)列下的人群計(jì)算任務(wù),其中計(jì)算模塊在計(jì)算過(guò)程中還參考了人群之間的生成依賴(lài)關(guān)系,從而保證人群計(jì)算邏輯不會(huì)出錯(cuò)的同時(shí),還可以提高人群的計(jì)算效率。
在本發(fā)明一個(gè)實(shí)施例中,該方法還可以包括:人群計(jì)算判斷步驟,用于判斷至少一個(gè)任務(wù)隊(duì)列中的人群計(jì)算任務(wù)所對(duì)應(yīng)的第一目標(biāo)人群所依賴(lài)的第二目標(biāo)人群是否計(jì)算完成,在判定計(jì)算完成的情況下,用于計(jì)算第一目標(biāo)人群的計(jì)算模塊根據(jù)第一目標(biāo)人群的人群定義規(guī)則使用第二目標(biāo)人群進(jìn)行計(jì)算以得到第一目標(biāo)人群。在判定人去計(jì)算任務(wù)所依賴(lài)的其它人群計(jì)算完成后,才執(zhí)行該任務(wù)的計(jì)算,可以充分保證計(jì)算過(guò)程的穩(wěn)定性。
在本發(fā)明一個(gè)實(shí)施例中,該方法還可以包括:為至少一個(gè)任務(wù)隊(duì)列建立一個(gè)可計(jì)算隊(duì)列;在判定計(jì)算完成的情況下,將人群計(jì)算任務(wù)寫(xiě)入可計(jì)算隊(duì)列,以便于對(duì)應(yīng)的計(jì)算模塊對(duì)可計(jì)算隊(duì)列中的人群計(jì)算任務(wù)進(jìn)行計(jì)算。
在本發(fā)明一個(gè)實(shí)施例中,至少一個(gè)計(jì)算模塊包括多個(gè)計(jì)算單元,多個(gè)計(jì)算單元配置為能夠并行處理不同的人群計(jì)算任務(wù)。由此可以進(jìn)一步提高人群計(jì)算效率。
在本發(fā)明一個(gè)實(shí)施例中,任務(wù)隊(duì)列為先入先出隊(duì)列,配置為周期性地讀取新的人群計(jì)算任務(wù)。
在本發(fā)明一個(gè)實(shí)施例中,至少一個(gè)任務(wù)隊(duì)列可以包括:初始人群任務(wù)隊(duì)列,初始人群任務(wù)隊(duì)列中的人群計(jì)算任務(wù)所對(duì)應(yīng)的目標(biāo)人群為初始人群,初始人群是基于預(yù)定的人群定義規(guī)則對(duì)用戶畫(huà)像進(jìn)行圈定得到的人群;衍生人群任務(wù)隊(duì)列,衍生人群任務(wù)隊(duì)列中的人群計(jì)算任務(wù)所對(duì)應(yīng)的目標(biāo)人群為衍生人群,衍生人群是基于初始人群和/或其它衍生人群生成的人群;以及群組人群任務(wù)隊(duì)列,群組人群任務(wù)隊(duì)列中的人群計(jì)算任務(wù)所對(duì)應(yīng)的目標(biāo)人群為群組人群,群組人群基于預(yù)定的群組構(gòu)建規(guī)則由初始人群和/或衍生人群構(gòu)成的群組中的人群。
由此,可以將屬于同一類(lèi)別下的人群計(jì)算任務(wù)寫(xiě)入同一任務(wù)隊(duì)列,使得同一任務(wù)隊(duì)列中的計(jì)算模塊的計(jì)算邏輯基本相同,從而可以降低計(jì)算的復(fù)雜度,進(jìn)一步提高計(jì)算效率。
在本發(fā)明一個(gè)實(shí)施例中,該方法還可以包括:在對(duì)應(yīng)于初始人群任務(wù) 隊(duì)列的計(jì)算模塊計(jì)算得到初始人群后,更新衍生人群任務(wù)隊(duì)列和/或群組人群任務(wù)隊(duì)列中的人群計(jì)算任務(wù)的任務(wù)狀態(tài);并且/或者在對(duì)應(yīng)于衍生人群任務(wù)隊(duì)列的計(jì)算模塊計(jì)算得到衍生人群后,更新衍生人群任務(wù)隊(duì)列和/或群組人群任務(wù)隊(duì)列中的人群計(jì)算任務(wù)的任務(wù)狀態(tài)。
根據(jù)本發(fā)明的另一個(gè)方面,還提供了一種用于計(jì)算目標(biāo)人群的計(jì)算引擎,包括:至少一個(gè)任務(wù)隊(duì)列,每個(gè)任務(wù)隊(duì)列配置為獲取至少一個(gè)人群計(jì)算任務(wù),每個(gè)人群計(jì)算任務(wù)所對(duì)應(yīng)的目標(biāo)人群具有預(yù)定的人群定義規(guī)則,并且不同的人群計(jì)算任務(wù)所對(duì)應(yīng)的目標(biāo)人群之間具有預(yù)定的生成依賴(lài)關(guān)系;以及至少一個(gè)計(jì)算模塊,每個(gè)計(jì)算模塊對(duì)應(yīng)于一個(gè)任務(wù)隊(duì)列,計(jì)算模塊配置為基于與其對(duì)應(yīng)的任務(wù)隊(duì)列中的人群計(jì)算任務(wù)所對(duì)應(yīng)的目標(biāo)人群的人群定義規(guī)則及其生成依賴(lài)關(guān)系,使用計(jì)算用數(shù)據(jù)進(jìn)行計(jì)算以得到目標(biāo)人群,其中,計(jì)算用數(shù)據(jù)是與用戶畫(huà)像相關(guān)的數(shù)據(jù)。
在本發(fā)明一個(gè)實(shí)施例中,該計(jì)算引擎還可以包括:至少一個(gè)依賴(lài)性判斷模塊,每個(gè)依賴(lài)性判斷模塊對(duì)應(yīng)于一個(gè)任務(wù)隊(duì)列,依賴(lài)性判斷模塊配置為判斷其所對(duì)應(yīng)的任務(wù)隊(duì)列中的人群計(jì)算任務(wù)所對(duì)應(yīng)的第一目標(biāo)人群所依賴(lài)的第二目標(biāo)人群是否計(jì)算完成,在依賴(lài)性判斷模塊判定計(jì)算完成的情況下,與其對(duì)應(yīng)的計(jì)算模塊使用第二目標(biāo)人群按照第一目標(biāo)人群的人群定義規(guī)則進(jìn)行計(jì)算以得到第一目標(biāo)人群。
在本發(fā)明一個(gè)實(shí)施例中,該計(jì)算引擎還可以包括:至少一個(gè)可計(jì)算隊(duì)列,每個(gè)可計(jì)算隊(duì)列對(duì)應(yīng)于一個(gè)任務(wù)隊(duì)列,其中,在依賴(lài)性判斷模塊判定計(jì)算完成的情況下,將人群計(jì)算任務(wù)寫(xiě)入可計(jì)算隊(duì)列,以便于對(duì)應(yīng)的計(jì)算模塊對(duì)可計(jì)算隊(duì)列中的人群計(jì)算任務(wù)計(jì)算進(jìn)行計(jì)算。
在本發(fā)明一個(gè)實(shí)施例中,至少一個(gè)計(jì)算模塊包括多個(gè)計(jì)算單元,多個(gè)計(jì)算單元配置為能夠并行處理不同的人群計(jì)算任務(wù)。
在本發(fā)明一個(gè)實(shí)施例中,任務(wù)隊(duì)列為先入先出隊(duì)列,配置為周期性地讀取新的人群計(jì)算任務(wù)。
在本發(fā)明一個(gè)實(shí)施例中,至少一個(gè)任務(wù)隊(duì)列可以包括:初始人群任務(wù)隊(duì)列,初始人群任務(wù)隊(duì)列中的人群計(jì)算任務(wù)所對(duì)應(yīng)的目標(biāo)人群為初始人群,初始人群是基于預(yù)定的人群定義規(guī)則對(duì)用戶畫(huà)像進(jìn)行圈定得到的人群;衍生人群任務(wù)隊(duì)列,衍生人群任務(wù)隊(duì)列中的人群計(jì)算任務(wù)所對(duì)應(yīng)的目標(biāo)人群為衍生人群,衍生人群是基于一個(gè)或多個(gè)初始人群和/或一個(gè)或多個(gè)其它衍 生人群生成的人群;以及群組人群任務(wù)隊(duì)列,群組人群任務(wù)隊(duì)列中的人群計(jì)算任務(wù)所對(duì)應(yīng)的目標(biāo)人群為群組人群,群組人群是基于預(yù)定的群組構(gòu)建規(guī)則由一個(gè)或多個(gè)初始人群和/或一個(gè)或多個(gè)衍生人群構(gòu)成的群組中的人群。
在本發(fā)明一個(gè)實(shí)施例中,在對(duì)應(yīng)于初始人群任務(wù)隊(duì)列的計(jì)算模塊計(jì)算得到初始人群后,更新衍生人群任務(wù)隊(duì)列和/或群組人群任務(wù)隊(duì)列中的人群計(jì)算任務(wù)的任務(wù)狀態(tài),并且/或者在對(duì)應(yīng)于衍生人群任務(wù)隊(duì)列的計(jì)算模塊計(jì)算得到衍生人群后,更新衍生人群任務(wù)隊(duì)列和/或群組人群任務(wù)隊(duì)列中的人群計(jì)算任務(wù)的任務(wù)狀態(tài)。
在本發(fā)明一個(gè)實(shí)施例中,初始人群任務(wù)隊(duì)列對(duì)應(yīng)的計(jì)算模塊包括多個(gè)圈定計(jì)算單元,圈定計(jì)算單元用于基于相應(yīng)的人群定義規(guī)則對(duì)用戶畫(huà)像進(jìn)行圈定以得到目標(biāo)初始人群;衍生人群任務(wù)隊(duì)列對(duì)應(yīng)的計(jì)算模塊包括多個(gè)集合計(jì)算單元,集合計(jì)算單元用于基于相應(yīng)的人群定義規(guī)則對(duì)其依賴(lài)的初始人群和/或其它衍生人群進(jìn)行集合運(yùn)算,以得到目標(biāo)衍生人群;群組人群任務(wù)隊(duì)列對(duì)應(yīng)的計(jì)算模塊包括多個(gè)去重計(jì)算單元,去重計(jì)算單元用于基于相應(yīng)的群組定義規(guī)則排除其依賴(lài)的初始人群和/或其它衍生人群中的重復(fù)數(shù)據(jù),以得到目標(biāo)群組人群。
根據(jù)本發(fā)明的又一個(gè)方面,還提供了一種計(jì)算設(shè)備,包括:存儲(chǔ)器,用于存儲(chǔ)計(jì)算用數(shù)據(jù)和/或計(jì)算得到的數(shù)據(jù),其中,計(jì)算用數(shù)據(jù)是與用戶畫(huà)像相關(guān)的數(shù)據(jù);以及一個(gè)或多個(gè)處理器,一個(gè)或多個(gè)處理器配置為執(zhí)行以下操作:建立至少一個(gè)任務(wù)隊(duì)列,其中,每個(gè)任務(wù)隊(duì)列包含至少一個(gè)人群計(jì)算任務(wù),每個(gè)人群計(jì)算任務(wù)所對(duì)應(yīng)的目標(biāo)人群具有預(yù)定的人群定義規(guī)則,并且不同的人群計(jì)算任務(wù)所對(duì)應(yīng)的目標(biāo)人群之間具有預(yù)定的生成依賴(lài)關(guān)系;為每個(gè)任務(wù)隊(duì)列分配一個(gè)計(jì)算模塊,計(jì)算模塊基于與其對(duì)應(yīng)的任務(wù)隊(duì)列中的人群計(jì)算任務(wù)所對(duì)應(yīng)的目標(biāo)人群的人群定義規(guī)則及其生成依賴(lài)關(guān)系,使用計(jì)算用數(shù)據(jù)進(jìn)行計(jì)算以得到目標(biāo)人群。
本發(fā)明的基于用戶畫(huà)像計(jì)算目標(biāo)人群的方法、計(jì)算引擎及計(jì)算設(shè)備,可以建立多個(gè)任務(wù)隊(duì)列,所建立的每個(gè)任務(wù)隊(duì)列對(duì)應(yīng)于一個(gè)計(jì)算模塊,不同的計(jì)算模塊可以并行執(zhí)行其對(duì)應(yīng)的任務(wù)隊(duì)列下的人群計(jì)算任務(wù),其中計(jì)算模塊在計(jì)算過(guò)程中還參考了人群之間的生成依賴(lài)關(guān)系,由此在保證人群計(jì)算邏輯不會(huì)出錯(cuò)的同時(shí),還可以提高人群的計(jì)算效率。
附圖說(shuō)明
通過(guò)結(jié)合附圖對(duì)本公開(kāi)示例性實(shí)施方式進(jìn)行更詳細(xì)的描述,本公開(kāi)的上述以及其它目的、特征和優(yōu)勢(shì)將變得更加明顯,其中,在本公開(kāi)示例性實(shí)施方式中,相同的參考標(biāo)號(hào)通常代表相同部件。
圖1是示出了根據(jù)本發(fā)明一實(shí)施例的計(jì)算設(shè)備的功能框圖。
圖2是示出了根據(jù)本發(fā)明一實(shí)施例的人群計(jì)算系統(tǒng)的功能框圖。
圖3是示出了根據(jù)本發(fā)明一實(shí)施例的計(jì)算引擎的功能框圖。
圖4是示出了根據(jù)本發(fā)明一實(shí)施例的人群計(jì)算方法的示意性流程圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開(kāi)的優(yōu)選實(shí)施方式。雖然附圖中顯示了本公開(kāi)的優(yōu)選實(shí)施方式,然而應(yīng)該理解,可以以各種形式實(shí)現(xiàn)本公開(kāi)而不應(yīng)被這里闡述的實(shí)施方式所限制。相反,提供這些實(shí)施方式是為了使本公開(kāi)更加透徹和完整,并且能夠?qū)⒈竟_(kāi)的范圍完整地傳達(dá)給本領(lǐng)域的技術(shù)人員。
下面將參照?qǐng)D1至圖4來(lái)具體地描述本發(fā)明的實(shí)施例。圖1是示出了根據(jù)本發(fā)明一實(shí)施例的計(jì)算設(shè)備100的功能框圖。
如圖1所示,計(jì)算設(shè)備100包括存儲(chǔ)器110和一個(gè)或多個(gè)處理器120。處理器120與存儲(chǔ)器110相連接。在本發(fā)明的一個(gè)實(shí)施例中,計(jì)算設(shè)備100的上述以及圖1中未示出的其他部件也可以彼此相連接,例如通過(guò)總線。應(yīng)當(dāng)理解,圖1所示的計(jì)算設(shè)備結(jié)構(gòu)框圖僅僅是出于示例的目的,而不是對(duì)本發(fā)明范圍的限制。本領(lǐng)域技術(shù)人員可以根據(jù)需要,增添或替換其他部件。
存儲(chǔ)器110可以用于存儲(chǔ)處理器120所需的計(jì)算用數(shù)據(jù)和/或經(jīng)處理器120處理得到的數(shù)據(jù)。其中,計(jì)算用數(shù)據(jù)可以是與用戶畫(huà)像相關(guān)的數(shù)據(jù),例如可以是用戶畫(huà)像所包含的特征和用戶畫(huà)像對(duì)應(yīng)的用戶標(biāo)簽。其中存儲(chǔ)器110可包括存儲(chǔ)文件形式或其他形式的內(nèi)容的任何類(lèi)型的存儲(chǔ)設(shè)備中的一個(gè)或多個(gè),包括磁硬盤(pán)驅(qū)動(dòng)器、固態(tài)硬驅(qū)、半導(dǎo)體存儲(chǔ)設(shè)備、閃存,或者能夠存儲(chǔ)程序指令或數(shù)字信息的任何其他計(jì)算機(jī)可讀可寫(xiě)存儲(chǔ)介質(zhì)。
處理器120能夠從存儲(chǔ)器110獲取計(jì)算用數(shù)據(jù),建立至少一個(gè)任務(wù)隊(duì) 列,其中,每個(gè)任務(wù)隊(duì)列包含至少一個(gè)人群計(jì)算任務(wù),并為每個(gè)任務(wù)隊(duì)列分配一個(gè)計(jì)算模塊,計(jì)算模塊能夠基于與其對(duì)應(yīng)的任務(wù)隊(duì)列中的人群計(jì)算任務(wù)所對(duì)應(yīng)的目標(biāo)人群的人群定義規(guī)則及其生成依賴(lài)關(guān)系,使用計(jì)算用數(shù)據(jù)進(jìn)行計(jì)算以得到目標(biāo)人群。
圖2是示出了根據(jù)本發(fā)明構(gòu)建的人群計(jì)算系統(tǒng)的功能框圖,如圖2所示,系統(tǒng)包括存儲(chǔ)模塊500、計(jì)算引擎200以及人群管理裝置300。下文述及的計(jì)算引擎200和人群管理裝置300所能實(shí)現(xiàn)的功能都可以由圖1中的處理器120執(zhí)行相應(yīng)的操作來(lái)實(shí)現(xiàn)。
存儲(chǔ)模塊500可以是Hive數(shù)據(jù)存儲(chǔ)庫(kù),其可以存儲(chǔ)用戶畫(huà)像、用戶基礎(chǔ)標(biāo)簽以及人群計(jì)算引擎200計(jì)算完成的結(jié)果等等。
人群管理裝置300可以根據(jù)需要計(jì)算的目標(biāo)人群的人群定義規(guī)則,生成一個(gè)或多個(gè)人群計(jì)算任務(wù),并將其下發(fā)給計(jì)算引擎200。
計(jì)算引擎200可以包括多個(gè)任務(wù)隊(duì)列203和多個(gè)與任務(wù)隊(duì)列203一一對(duì)應(yīng)的計(jì)算模塊201。任務(wù)隊(duì)列203可以從人群管理裝置300讀取人群計(jì)算任務(wù),此處任務(wù)隊(duì)列203可以是先入先出隊(duì)列,其可以周期性地從人群管理裝置300讀取新的人群計(jì)算任務(wù)。
計(jì)算模塊201可以使用計(jì)算用數(shù)據(jù)對(duì)與其對(duì)應(yīng)的任務(wù)隊(duì)列203中的人群計(jì)算任務(wù)進(jìn)行計(jì)算,以得到目標(biāo)人群。其中,不同的計(jì)算模塊201可以并行執(zhí)行其對(duì)應(yīng)的任務(wù)隊(duì)列中的人群計(jì)算任務(wù)。計(jì)算用數(shù)據(jù)可以是與用戶畫(huà)像相關(guān)的數(shù)據(jù),例如可以是用戶畫(huà)像包含的特征數(shù)據(jù)和和用戶畫(huà)像對(duì)應(yīng)的用戶標(biāo)簽。
由于每個(gè)人群計(jì)算任務(wù)所對(duì)應(yīng)的目標(biāo)人群具有預(yù)定的人群定義規(guī)則,并且不同的人群計(jì)算任務(wù)所對(duì)應(yīng)的目標(biāo)人群之間可能具有一定的生成依賴(lài)關(guān)系。例如,目標(biāo)人群A的定義規(guī)則可以是人群C和人群D的交集,由此目標(biāo)人群A的生成依賴(lài)于人群C和人群D。因此計(jì)算模塊201在計(jì)算任務(wù)隊(duì)列203中的人群計(jì)算任務(wù)時(shí),需要考慮人群計(jì)算任務(wù)所對(duì)應(yīng)的目標(biāo)人群的人群定義規(guī)則及其生成依賴(lài)關(guān)系。
本文述及的人群之間的生成依賴(lài)關(guān)系是指某個(gè)人群在建立過(guò)程中需要依賴(lài)其它人群。為了便于理解,下面以人群分為初始人群、衍生人群以及群組人群為例來(lái)進(jìn)行說(shuō)明。應(yīng)該知道,本文述及的人群不限于下文所描述的三種人群,例如還可以是下文所描述的人群的其它變形。
初始人群是基于預(yù)定的人群定義規(guī)則對(duì)用戶畫(huà)像進(jìn)行圈定得到的人群,其在建立過(guò)程中不需要依賴(lài)其它人群。也就是說(shuō),初始人群可以是根據(jù)用戶畫(huà)像的特征標(biāo)識(shí)直接進(jìn)行圈定計(jì)算的人群。
衍生人群是基于初始人群或者其它衍生人群生成的人群,可以根據(jù)其定義規(guī)則通過(guò)對(duì)所依賴(lài)的人群進(jìn)行集合運(yùn)算得到。例如,可以將初始人群A和初始人群B的交集定義為衍生人群C,通過(guò)求初始人群A和初始人群B的交集就可以得到衍生人群C。
群組人群是基于預(yù)定的群組構(gòu)建規(guī)則由初始人群和/或衍生人群構(gòu)成的群組中的人群。例如,可以將初始人群A、初始人群B以及衍生人群C設(shè)置為一個(gè)群組,然后對(duì)組內(nèi)的人群進(jìn)行排除冗余數(shù)據(jù)的處理,由此就可以得到一個(gè)群組人群。
由于不同類(lèi)型的人群的依賴(lài)關(guān)系不同,因此對(duì)應(yīng)于不同類(lèi)型人群的計(jì)算任務(wù)的執(zhí)行邏輯也不盡相同。具體地說(shuō),初始人群的計(jì)算不需要依賴(lài)其它人群,因此對(duì)應(yīng)于初始人群的計(jì)算任務(wù),可以直接使用計(jì)算模塊進(jìn)行計(jì)算。衍生人群的計(jì)算可能依賴(lài)初始人群或其它衍生人群,因此在執(zhí)行衍生人群的計(jì)算前需要檢驗(yàn)其依賴(lài)條件是否達(dá)成。相應(yīng)地,群組人群的計(jì)算可能依賴(lài)初始人群或衍生人群,因此在執(zhí)行群組人群的計(jì)算前也需要檢驗(yàn)其依賴(lài)條件是否達(dá)成。
針對(duì)初始人群、衍生人群以及群組人群的上述特點(diǎn),本發(fā)明提出了一種新的計(jì)算引擎。圖3是示出了本發(fā)明一具體實(shí)施例下的計(jì)算引擎200的結(jié)構(gòu)示意圖。
如圖3所示,計(jì)算引擎200包括三個(gè)任務(wù)隊(duì)列,分別是初始人群任務(wù)隊(duì)列210、衍生人群任務(wù)隊(duì)列220以及群組人群任務(wù)隊(duì)列230。初始人群任務(wù)隊(duì)列210中的人群計(jì)算任務(wù)所對(duì)應(yīng)的目標(biāo)人群為初始人群,衍生人群任務(wù)隊(duì)列220中的人群計(jì)算任務(wù)所對(duì)應(yīng)的目標(biāo)人群為衍生人群,群組人群任務(wù)隊(duì)列230中的人群計(jì)算任務(wù)所對(duì)應(yīng)的目標(biāo)人群為群組人群。
由此本發(fā)明針對(duì)上述三類(lèi)人群,分別建立獨(dú)立的任務(wù)隊(duì)列,將屬于同一類(lèi)別的人群計(jì)算任務(wù)寫(xiě)入同一任務(wù)隊(duì)列,使得每一任務(wù)隊(duì)列下的計(jì)算模塊計(jì)算人群計(jì)算任務(wù)的計(jì)算邏輯基本相同,從而可以降低計(jì)算模塊計(jì)算的復(fù)雜度,提高人群計(jì)算效率。
進(jìn)一步地,可以為初始人群任務(wù)隊(duì)列210配置優(yōu)先級(jí)查看模塊211, 優(yōu)先級(jí)查看模塊211可以按照初始人群任務(wù)隊(duì)列210中的多個(gè)初始人群計(jì)算任務(wù)的優(yōu)先級(jí)順序,從初始人群任務(wù)隊(duì)列210中選取任務(wù)寫(xiě)入可計(jì)算隊(duì)列212,計(jì)算模塊213可以直接執(zhí)行可計(jì)算隊(duì)列212中的任務(wù)的計(jì)算。其中,計(jì)算模塊213可以由多個(gè)圈定計(jì)算單元215組成,圈定計(jì)算單元215可以基于相應(yīng)的人群定義規(guī)則對(duì)用戶畫(huà)像進(jìn)行圈定以得到初始人群,多個(gè)圈定計(jì)算單元215可以并行計(jì)算不同的任務(wù)。
進(jìn)一步地,也可以為衍生人群任務(wù)隊(duì)列220配置依賴(lài)性判斷模塊221,依賴(lài)性判斷模塊221可以用于判斷衍生人群任務(wù)隊(duì)列中的衍生人群計(jì)算任務(wù)計(jì)算所依賴(lài)的其它人群是否計(jì)算完成。在判定完成的情況下,可以將該人群計(jì)算任務(wù)寫(xiě)入可計(jì)算隊(duì)列222,以便于對(duì)應(yīng)的計(jì)算模塊223能夠?qū)捎?jì)算隊(duì)列222中的人群計(jì)算任務(wù)計(jì)算進(jìn)行計(jì)算。在判定沒(méi)有完成的情況下,可以將該人群計(jì)算任務(wù)重新寫(xiě)入衍生人群任務(wù)隊(duì)列220。其中,計(jì)算模塊223可以包括多個(gè)集合計(jì)算單元225,集合計(jì)算單元225可以基于相應(yīng)的人群定義規(guī)則對(duì)其依賴(lài)的初始人群和/或其它衍生人群進(jìn)行集合運(yùn)算,以得到目標(biāo)衍生人群。
相應(yīng)地,群組人群任務(wù)隊(duì)列230也對(duì)應(yīng)設(shè)置有依賴(lài)性判斷模塊231,依賴(lài)性判斷模塊231可以用于判斷群組人群任務(wù)隊(duì)列中的群組人群計(jì)算任務(wù)計(jì)算所依賴(lài)的其它人群是否計(jì)算完成。在判定完成的情況下,可以將該人群計(jì)算任務(wù)寫(xiě)入可計(jì)算隊(duì)列232,以便于對(duì)應(yīng)的計(jì)算模塊233能夠?qū)捎?jì)算隊(duì)列232中的人群計(jì)算任務(wù)計(jì)算進(jìn)行計(jì)算。在判定沒(méi)有完成的情況下,可以將該人群計(jì)算任務(wù)重新寫(xiě)入群組人群任務(wù)隊(duì)列230。其中,計(jì)算模塊233可以包括多個(gè)去重計(jì)算單元235,去重計(jì)算單元235可以基于相應(yīng)的群組定義規(guī)則排除其依賴(lài)的初始人群和/或其它衍生人群中的重復(fù)數(shù)據(jù),以得到目標(biāo)群組人群。
由于初始人群計(jì)算任務(wù)所對(duì)應(yīng)的初始人群可能是衍生人群計(jì)算任務(wù)和/或群組人群計(jì)算任務(wù)計(jì)算所依賴(lài)的數(shù)據(jù),因此在計(jì)算模塊213完成初始人群的計(jì)算后,可以將計(jì)算完成消息通知衍生人群任務(wù)隊(duì)列220和/或群組人群任務(wù)隊(duì)列230,以便于能夠及時(shí)更新衍生人群任務(wù)隊(duì)列220和/或群組人群任務(wù)隊(duì)列230中的人群計(jì)算任務(wù)的任務(wù)狀態(tài)。具體地,計(jì)算模塊213完成初始人群的計(jì)算后,可以將計(jì)算完成消息通知給衍生人群任務(wù)隊(duì)列220和/或群組人群任務(wù)隊(duì)列230下的依賴(lài)性判斷模塊,以便于依賴(lài)性判斷模塊 能夠及時(shí)發(fā)現(xiàn)任務(wù)隊(duì)列中依賴(lài)條件已經(jīng)達(dá)成的人群計(jì)算任務(wù),并將其寫(xiě)入計(jì)算隊(duì)列,以使得計(jì)算模塊能夠第一時(shí)間對(duì)其進(jìn)行計(jì)算。
相應(yīng)地,衍生人群計(jì)算任務(wù)所對(duì)應(yīng)的衍生人群也可能是其它衍生人群計(jì)算任務(wù)和/或群組人群計(jì)算任務(wù)計(jì)算所依賴(lài)的前提條件,因此在計(jì)算模塊223完成衍生人群的計(jì)算后,可以將計(jì)算完成消息通知給衍生人群隊(duì)列220和/或群組人群隊(duì)列230,以便于能夠及時(shí)更新衍生人群任務(wù)隊(duì)列220和/或群組人群任務(wù)隊(duì)列230中的任務(wù)狀態(tài)。
至此結(jié)合圖3詳細(xì)說(shuō)明了針對(duì)初始人群、衍生人群以及群組人群所設(shè)計(jì)的計(jì)算引擎200的具體構(gòu)造。
圖4是示出了根據(jù)本發(fā)明一實(shí)施例的用于計(jì)算目標(biāo)人群的方法的示意性流程圖。其中,基于圖4所示的方法可以構(gòu)建2、圖3所示的計(jì)算引擎,此處僅就方法可以包括的步驟進(jìn)行示意性說(shuō)明,對(duì)于其中涉及的細(xì)節(jié)可以參見(jiàn)上文圖2、圖3的描述。
參見(jiàn)圖4,在步驟S510,建立至少一個(gè)任務(wù)隊(duì)列,其中,每個(gè)任務(wù)隊(duì)列包含至少一個(gè)人群計(jì)算任務(wù),每個(gè)人群計(jì)算任務(wù)所對(duì)應(yīng)的目標(biāo)人群具有預(yù)定的人群定義規(guī)則,并且不同的人群計(jì)算任務(wù)所對(duì)應(yīng)的目標(biāo)人群之間具有預(yù)定的生成依賴(lài)關(guān)系。
在步驟S520,為每個(gè)任務(wù)隊(duì)列分配一個(gè)計(jì)算模塊,計(jì)算模塊基于與其對(duì)應(yīng)的任務(wù)隊(duì)列中的人群計(jì)算任務(wù)所對(duì)應(yīng)的目標(biāo)人群的人群定義規(guī)則及其生成依賴(lài)關(guān)系,使用計(jì)算用數(shù)據(jù)進(jìn)行計(jì)算以得到目標(biāo)人群,其中,計(jì)算用數(shù)據(jù)是與用戶畫(huà)像相關(guān)的數(shù)據(jù)。
在本發(fā)明的一個(gè)實(shí)施例中,方法還可以包括人群計(jì)算判斷步驟,用于判斷至少一個(gè)任務(wù)隊(duì)列中的人群計(jì)算任務(wù)所對(duì)應(yīng)的第一目標(biāo)人群所依賴(lài)的第二目標(biāo)人群是否計(jì)算完成,在判定計(jì)算完成的情況下,用于計(jì)算第一目標(biāo)人群的計(jì)算模塊可以根據(jù)第一目標(biāo)人群的人群定義規(guī)則使用第二目標(biāo)人群進(jìn)行計(jì)算以得到第一目標(biāo)人群。
在本發(fā)明的一個(gè)實(shí)施例中,方法還可以包括:為至少一個(gè)任務(wù)隊(duì)列建立一個(gè)可計(jì)算隊(duì)列;在判定計(jì)算完成的情況下,將人群計(jì)算任務(wù)寫(xiě)入可計(jì)算隊(duì)列,以便于對(duì)應(yīng)的計(jì)算模塊對(duì)可計(jì)算隊(duì)列中的人群計(jì)算任務(wù)進(jìn)行計(jì)算。
上文中已經(jīng)參考附圖詳細(xì)描述了根據(jù)本發(fā)明的基于用戶畫(huà)像計(jì)算目標(biāo)人群的方法、計(jì)算引擎及計(jì)算設(shè)備。
此外,根據(jù)本發(fā)明的方法還可以實(shí)現(xiàn)為一種計(jì)算機(jī)程序,該計(jì)算機(jī)程序包括用于執(zhí)行本發(fā)明的上述方法中限定的上述各步驟的計(jì)算機(jī)程序代碼指令。或者,根據(jù)本發(fā)明的方法還可以實(shí)現(xiàn)為一種計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)可讀介質(zhì),在該計(jì)算機(jī)可讀介質(zhì)上存儲(chǔ)有用于執(zhí)行本發(fā)明的上述方法中限定的上述功能的計(jì)算機(jī)程序。本領(lǐng)域技術(shù)人員還將明白的是,結(jié)合這里的公開(kāi)所描述的各種示例性邏輯塊、模塊、電路和算法步驟可以被實(shí)現(xiàn)為電子硬件、計(jì)算機(jī)軟件或兩者的組合。
附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個(gè)實(shí)施例的系統(tǒng)和方法的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)記的功能也可以以不同于附圖中所標(biāo)記的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專(zhuān)用的基于硬件的系統(tǒng)來(lái)實(shí)現(xiàn),或者可以用專(zhuān)用硬件與計(jì)算機(jī)指令的組合來(lái)實(shí)現(xiàn)。
以上已經(jīng)描述了本發(fā)明的各實(shí)施例,上述說(shuō)明是示例性的,并非窮盡性的,并且也不限于所披露的各實(shí)施例。在不偏離所說(shuō)明的各實(shí)施例的范圍和精神的情況下,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō)許多修改和變更都是顯而易見(jiàn)的。本文中所用術(shù)語(yǔ)的選擇,旨在最好地解釋各實(shí)施例的原理、實(shí)際應(yīng)用或?qū)κ袌?chǎng)中的技術(shù)的改進(jìn),或者使本技術(shù)領(lǐng)域的其它普通技術(shù)人員能理解本文披露的各實(shí)施例。