于接收推送消息的 客戶端的數(shù)據(jù)源和/或與用戶標(biāo)識(shí)關(guān)聯(lián)的其它客戶端的數(shù)據(jù)源。該其它客戶端包括社交類 應(yīng)用客戶端、電商類應(yīng)用客戶端、支付類應(yīng)用客戶端、語(yǔ)音類應(yīng)用客戶端、娛樂(lè)類應(yīng)用客戶 端、短視頻客戶端、工具類應(yīng)用客戶端中的至少一種。
[0044] 對(duì)于同一個(gè)用戶來(lái)說(shuō),該用戶在用于接收推送消息的客戶端中的用戶標(biāo)識(shí)和該 用戶在其它客戶端中的用戶標(biāo)識(shí)可以相同或者相關(guān)聯(lián)。用戶標(biāo)識(shí)通常為用戶用于登錄客 戶端的賬號(hào)。比如,用戶用于登錄A客戶端的賬號(hào)和用于登錄B客戶端的賬號(hào)相同,均為 "123XXX"。當(dāng)用戶在不同客戶端中使用相同的用戶標(biāo)識(shí)時(shí),服務(wù)器可根據(jù)該用戶標(biāo)識(shí)從 不同客戶端的數(shù)據(jù)源中獲取用戶屬性數(shù)據(jù)和/或歷史行為數(shù)據(jù)。再比如,用戶用于登錄A 客戶端的賬號(hào)為" 123XXX",用于登錄B客戶端的賬號(hào)為"456XXX",賬號(hào)" 123XXX"和賬號(hào) "456XXX"之間存在關(guān)聯(lián)關(guān)系,該關(guān)聯(lián)關(guān)系用于表明上述兩個(gè)賬號(hào)為同一個(gè)用戶使用。當(dāng)用 戶在不同客戶端中使用相關(guān)聯(lián)的用戶標(biāo)識(shí)時(shí),服務(wù)器可根據(jù)用戶在用于接收推送消息的客 戶端中的用戶標(biāo)識(shí)以及用戶標(biāo)識(shí)間的關(guān)聯(lián)關(guān)系查詢確定用戶在其它客戶端中的用戶標(biāo)識(shí), 并根據(jù)用戶在其它客戶端中的用戶標(biāo)識(shí)從其它客戶端中獲取用戶屬性數(shù)據(jù)和/或歷史行 為數(shù)據(jù)。
[0045] 步驟302,檢測(cè)用戶屬性數(shù)據(jù)和/或歷史行為數(shù)據(jù)是否滿足消息的推送條件。
[0046] 服務(wù)器預(yù)先為不同的消息設(shè)置不同的推送條件。對(duì)于服務(wù)器中存儲(chǔ)的每一條消 息,在將該消息推送給每個(gè)用戶之前,服務(wù)器檢測(cè)獲取到的與該用戶相關(guān)的數(shù)據(jù)是否滿足 消息的推送條件。
[0047]其中,服務(wù)器檢測(cè)用戶屬性數(shù)據(jù)是否滿足消息的推送條件的過(guò)程可包括如下幾個(gè) 步驟:
[0048]第一,將用戶屬性數(shù)據(jù)與消息對(duì)應(yīng)的預(yù)設(shè)用戶屬性數(shù)據(jù)進(jìn)行比對(duì)。
[0049]服務(wù)器預(yù)先為不同的消息設(shè)置不同的預(yù)設(shè)用戶屬性數(shù)據(jù)。預(yù)設(shè)用戶屬性數(shù)據(jù)包括 但不限于地區(qū)、性別、年齡值、生日、IP地址、學(xué)校、學(xué)歷、愛(ài)好、工作、星座、生肖、血型中的至 少一種。預(yù)設(shè)用戶屬性數(shù)據(jù)可依據(jù)消息的不同,有選擇性、有針對(duì)性地進(jìn)行設(shè)置。仍然以消 息為歌手劉XX在XX市的演唱會(huì)消息為例,該消息對(duì)應(yīng)的預(yù)設(shè)用戶屬性數(shù)據(jù)可以為:性別 "女"、年齡值"25-40"、地區(qū)"XX市"。另外,假設(shè)服務(wù)器獲取到的三個(gè)用戶的用戶屬性數(shù)據(jù) 如下表-1所示:
[0050]
[0051]表-1
[0052] 可選的,服務(wù)器在獲取用戶屬性數(shù)據(jù)后,可對(duì)用戶屬性數(shù)據(jù)進(jìn)行預(yù)處理。其中,預(yù) 處理包括但不限于從多種用戶屬性數(shù)據(jù)中篩選出需要的用戶屬性數(shù)據(jù)、將獲取的用戶屬性 數(shù)據(jù)轉(zhuǎn)換為需要的用戶屬性數(shù)據(jù)、統(tǒng)一用戶屬性數(shù)據(jù)的數(shù)據(jù)格式等等。比如,服務(wù)器可根據(jù) IP地址查詢IP地址歸屬地,將上述IP地址轉(zhuǎn)換為地區(qū)相關(guān)的數(shù)據(jù)。如上述IP地址1對(duì)應(yīng) 于XX市,IP地址2對(duì)應(yīng)于AA市,IP地址3對(duì)應(yīng)于BB市。之后,服務(wù)器分別將每個(gè)用戶的 用戶屬性數(shù)據(jù)與消息對(duì)應(yīng)的預(yù)設(shè)用戶屬性數(shù)據(jù)進(jìn)行比對(duì),檢測(cè)用戶屬性數(shù)據(jù)與預(yù)設(shè)用戶屬 性數(shù)據(jù)是否相符。
[0053] 第二,當(dāng)用戶屬性數(shù)據(jù)與預(yù)設(shè)用戶屬性數(shù)據(jù)相符時(shí),確定用戶屬性數(shù)據(jù)滿足消息 的推送條件。
[0054] 當(dāng)用戶屬性數(shù)據(jù)與預(yù)設(shè)用戶屬性數(shù)據(jù)相符時(shí),服務(wù)器確定用戶屬性數(shù)據(jù)滿足消息 的推送條件,并執(zhí)行下述步驟303。其中,確定用戶屬性數(shù)據(jù)與預(yù)設(shè)用戶屬性數(shù)據(jù)相符的條 件可以為每一種對(duì)應(yīng)的數(shù)據(jù)均匹配,或者相匹配的數(shù)據(jù)種數(shù)大于預(yù)定閾值。
[0055] 比如,當(dāng)確定用戶屬性數(shù)據(jù)與預(yù)設(shè)用戶屬性數(shù)據(jù)相符的條件為每一種對(duì)應(yīng)的數(shù)據(jù) 均匹配時(shí),上述表-1中的用戶1的用戶屬性數(shù)據(jù)與演唱會(huì)消息對(duì)應(yīng)的預(yù)設(shè)用戶屬性數(shù)據(jù)相 符,而用戶2、用戶3的用戶屬性數(shù)據(jù)與演唱會(huì)消息對(duì)應(yīng)的預(yù)設(shè)用戶屬性數(shù)據(jù)不符。也即,用 戶1滿足該演唱會(huì)消息的推送條件,而用戶2和用戶3不滿足該演唱會(huì)消息的推送條件。
[0056] 在一種可能的實(shí)施方式中,上述第一個(gè)步驟可包括如下兩個(gè)子步驟:
[0057] 1、根據(jù)預(yù)定對(duì)應(yīng)關(guān)系將用戶屬性數(shù)據(jù)轉(zhuǎn)換為第一字符串,該預(yù)定對(duì)應(yīng)關(guān)系包括不 同用戶屬性數(shù)據(jù)與不同字符之間的對(duì)應(yīng)關(guān)系;
[0058] 2、將第一字符串和預(yù)設(shè)用戶屬性數(shù)據(jù)對(duì)應(yīng)的第二字符串進(jìn)行比對(duì)。
[0059] 服務(wù)器預(yù)先設(shè)置不同用戶屬性數(shù)據(jù)與不同字符之間的對(duì)應(yīng)關(guān)系。比如,針對(duì)性別 的對(duì)應(yīng)關(guān)系為:女對(duì)應(yīng)于〇、男對(duì)應(yīng)于1 ;針對(duì)地區(qū)的對(duì)應(yīng)關(guān)系為=XX市對(duì)應(yīng)于1、AA市對(duì)應(yīng) 于2、BB市對(duì)應(yīng)于3等等;年齡值所對(duì)應(yīng)的字符可直接以年齡值表示。根據(jù)上述對(duì)應(yīng)關(guān)系, 服務(wù)器將用戶1的用戶屬性數(shù)據(jù)轉(zhuǎn)換為"0321",將用戶2的用戶屬性數(shù)據(jù)轉(zhuǎn)換為"0182", 將用戶3的用戶屬性數(shù)據(jù)轉(zhuǎn)換為"1303"。同時(shí),演唱會(huì)消息對(duì)應(yīng)的預(yù)設(shè)用戶屬性數(shù)據(jù)可轉(zhuǎn) 換為"0251"、"0261"至"0401"。服務(wù)器分別將每個(gè)用戶的用戶屬性數(shù)據(jù)對(duì)應(yīng)的第一字符 串和預(yù)設(shè)用戶屬性數(shù)據(jù)對(duì)應(yīng)的第二字符串進(jìn)行比對(duì),當(dāng)?shù)诙址写嬖诘谝蛔址畷r(shí), 確定用戶屬性數(shù)據(jù)滿足消息的推送條件。
[0060] 通過(guò)將用戶屬性數(shù)據(jù)轉(zhuǎn)換為字符串,將用戶屬性數(shù)據(jù)與預(yù)設(shè)用戶屬性數(shù)據(jù)之間的 比對(duì)轉(zhuǎn)換為兩個(gè)字符串之間的比對(duì),可以提高數(shù)據(jù)比對(duì)的效率。特別的,當(dāng)服務(wù)器中存在大 量的待推送的消息、且獲取的用戶屬性數(shù)據(jù)的數(shù)據(jù)量也較大時(shí),通過(guò)上述方式可大大提高 數(shù)據(jù)比對(duì)的效率。
[0061] 進(jìn)一步地,服務(wù)器可通過(guò)預(yù)定算法計(jì)算第一字符串的摘要,將第一字符串的摘要 和第二字符串的摘要進(jìn)行比對(duì),可進(jìn)一步提高大數(shù)據(jù)量時(shí)的數(shù)據(jù)比對(duì)效率。其中,預(yù)定算法 可以是哈希算法、消息摘要算法等。
[0062] 另外,服務(wù)器檢測(cè)歷史行為數(shù)據(jù)是否滿足消息的推送條件的過(guò)程可包括如下幾個(gè) 步驟:
[0063] 第一,檢測(cè)歷史行為數(shù)據(jù)中是否存在消息對(duì)應(yīng)的預(yù)設(shè)歷史行為數(shù)據(jù)。
[0064] 服務(wù)器預(yù)先為不同的消息設(shè)置不同的預(yù)設(shè)歷史行為數(shù)據(jù)。預(yù)設(shè)歷史行為數(shù)據(jù)包括 用戶在網(wǎng)絡(luò)上產(chǎn)生的歷史操作行為的記錄。預(yù)設(shè)歷史行為數(shù)據(jù)可依據(jù)消息的不同,有選擇 性、有針對(duì)性地進(jìn)行設(shè)置。仍然以消息為歌手劉XX在XX市的演唱會(huì)消息為例,該消息對(duì)應(yīng) 的預(yù)設(shè)歷史行為數(shù)據(jù)可以為:用戶在最近一個(gè)月內(nèi),在某個(gè)音樂(lè)播放類應(yīng)用中搜索或下載 過(guò)歌手劉XX的歌曲。對(duì)應(yīng)的,服務(wù)器獲取的歷史行為數(shù)據(jù)包括不同用戶在該音樂(lè)播放類應(yīng) 用中最近一個(gè)月內(nèi)的搜索記錄和/或下載記錄。
[0065] 可選的,服務(wù)器在獲取歷史行為數(shù)據(jù)后,可對(duì)歷史行為數(shù)據(jù)進(jìn)行預(yù)處理。其中,預(yù) 處理包括但不限于從多種歷史行為數(shù)據(jù)中篩選出需要的歷史行為數(shù)據(jù)、將來(lái)自不同數(shù)據(jù)源 的歷史行為數(shù)據(jù)進(jìn)行整合、統(tǒng)一歷史行為數(shù)據(jù)的數(shù)據(jù)格式等等。之后,服務(wù)器分別將每個(gè)用 戶的歷史行為數(shù)據(jù)與消息對(duì)應(yīng)的預(yù)設(shè)歷史行為數(shù)據(jù)進(jìn)行比對(duì),檢測(cè)歷史行為數(shù)據(jù)中是否存 在預(yù)設(shè)歷史行為數(shù)據(jù)。
[0066] 第二,若歷史行為數(shù)據(jù)中存在預(yù)設(shè)歷史行為數(shù)據(jù),則確定歷史行為數(shù)據(jù)滿足消息 的推送條件。
[0067] 當(dāng)歷史行為數(shù)據(jù)中存在預(yù)設(shè)歷史行為數(shù)據(jù)時(shí),服務(wù)器確定歷史行為數(shù)據(jù)滿足消息 的推送條件,并執(zhí)行下述步驟303。比如,當(dāng)服務(wù)器從用戶2的歷史行為數(shù)據(jù)中查詢確定用 戶2在最近一個(gè)月內(nèi)、在上述音樂(lè)播放類應(yīng)用中下載過(guò)歌手劉XX的歌曲時(shí),服務(wù)器確定用 戶2的歷史行為數(shù)據(jù)滿足消息的推送條件。
[0068] 可選的,當(dāng)歷史行為數(shù)據(jù)中存在預(yù)設(shè)歷史行為數(shù)據(jù)時(shí),服務(wù)器可直接執(zhí)行下述步 驟303,將消息推送給用戶所使用的客戶端?;蛘?,當(dāng)歷史行為數(shù)據(jù)中存在預(yù)設(shè)歷史行為數(shù) 據(jù)時(shí),服務(wù)器還可執(zhí)行如下幾個(gè)步驟:
[0069] 1、將與歷史行為數(shù)據(jù)關(guān)聯(lián)的用戶標(biāo)識(shí)存儲(chǔ)于預(yù)設(shè)標(biāo)識(shí)集中;
[0070] 2、在接收到客戶端發(fā)送的攜帶有用戶標(biāo)識(shí)的消息獲取請(qǐng)求時(shí),檢測(cè)消息獲取請(qǐng)求 中攜帶的用戶標(biāo)識(shí)是否存在于預(yù)設(shè)標(biāo)識(shí)集中;
[0071] 3、若消息獲取請(qǐng)求中攜帶的用戶標(biāo)識(shí)存在于預(yù)設(shè)標(biāo)識(shí)集中,則執(zhí)行下述步驟303。
[0072] 預(yù)設(shè)標(biāo)識(shí)集用于存儲(chǔ)滿足消息的推送條件的用戶標(biāo)識(shí)。服務(wù)器可預(yù)先獲取不同用 戶的歷史行為數(shù)據(jù),并對(duì)歷史行為數(shù)據(jù)進(jìn)行檢測(cè),以確定是否滿足消息的推送條件。當(dāng)確定 滿足消息的推送條件時(shí),獲取用戶在用于接收推送消息的客戶端中的用戶標(biāo)識(shí),并存儲(chǔ)該 用戶標(biāo)識(shí)。之后,當(dāng)服務(wù)器接收到客戶端發(fā)送的攜帶有用戶標(biāo)識(shí)的消息獲取請(qǐng)求時(shí),服務(wù)器 檢測(cè)該請(qǐng)求中攜帶的用戶標(biāo)識(shí)是否為之前存儲(chǔ)的用戶標(biāo)識(shí)中的一個(gè),若是則執(zhí)行下述步驟 303。
[0073] 步驟303,若用戶屬性數(shù)據(jù)和歷史行為數(shù)據(jù)中的至少一項(xiàng)滿足消息的推送條件,則 將消息推送給用戶所使用的客戶端。
[0074] 當(dāng)用戶屬性數(shù)據(jù)和歷史行為數(shù)據(jù)中的至少一項(xiàng)滿足消息的推送條件時(shí),也即當(dāng)用 戶屬性數(shù)據(jù)滿足消息的推送條件或者當(dāng)歷史行為數(shù)據(jù)滿足消息的推送條件時(shí),服務(wù)器通過(guò) 網(wǎng)絡(luò)將消息推送給用戶所使用的客戶端。比如,上述用戶1的用戶屬性數(shù)據(jù)滿足演唱會(huì)消 息的推送條件,則服務(wù)器將該演唱會(huì)消息推送給用戶1所使用的客戶端。上述用戶2的歷 史行為數(shù)據(jù)滿足演唱會(huì)消息的推送條件,則服務(wù)器將該演唱會(huì)消息也推送給用戶2所使用 的客戶端。
[0075] 另外,當(dāng)用戶屬性數(shù)據(jù)和歷史行為數(shù)據(jù)均不滿足消息的推送條件時(shí),服務(wù)器不進(jìn) 行消息推送。比如,