推送消息的方法、服務(wù)器、客戶端裝置和系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了推送消息的方法、服務(wù)器、客戶端裝置和系統(tǒng)。所述方法包括:接收客戶端發(fā)送的消息在客戶端側(cè)被用戶查看的時(shí)間和/或地點(diǎn)信息,并保存到數(shù)據(jù)庫(kù)中;根據(jù)所述數(shù)據(jù)庫(kù)中的信息,確定消息在客戶端側(cè)被用戶查看的期望時(shí)間和/或地點(diǎn);將指定消息發(fā)送到客戶端,以及將確定的消息在客戶端側(cè)被用戶查看的期望時(shí)間和/或地點(diǎn)通知給客戶端,使得客戶端在滿足所述期望時(shí)間和/或地點(diǎn)條件時(shí)彈出所述指定消息。本發(fā)明的技術(shù)方案,通過收集用戶的查看消息的時(shí)間和/或地點(diǎn)信息,并通過分析確定用戶最可能查看推送消息的時(shí)間和/或地點(diǎn),據(jù)此進(jìn)行消息推送,最大程度地避免推送消息對(duì)用戶造成的打擾。
【專利說(shuō)明】推送消息的方法、服務(wù)器、客戶端裝置和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,具體涉及推送消息的方法、服務(wù)器、客戶端裝置 和系統(tǒng)。
【背景技術(shù)】
[0002] 隨著移動(dòng)互聯(lián)網(wǎng)技術(shù)的發(fā)展,手機(jī)等智能移動(dòng)終端已經(jīng)成為人們生活中必不可少 的集通信和娛樂為一體的工具。各種安裝在移動(dòng)終端上應(yīng)用也越來(lái)越多,例如購(gòu)物類的應(yīng) 用、通信類應(yīng)用、手機(jī)管理類應(yīng)用以及綜合功能類應(yīng)用等等。
[0003] 很多應(yīng)用都會(huì)向用戶推送一些消息,如版本升級(jí)消息、廣告促銷消息、新歌推薦消 息等等。
[0004] 現(xiàn)有技術(shù)中,在推送消息時(shí),在服務(wù)器端人為控制,在想推送消息的時(shí)候就會(huì)向客 戶端側(cè)發(fā)送消息,客戶端就會(huì)彈出該消息。這種隨機(jī)推送的方式往往會(huì)打擾到用戶。例如 用戶在開會(huì)的時(shí)候,或者在進(jìn)行其他工作相關(guān)的活動(dòng)的時(shí)候,此時(shí)推送消息會(huì)影響用戶所 進(jìn)行的活動(dòng),打擾用戶。
【發(fā)明內(nèi)容】
[0005] 鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上 述問題的推送消息的方法、服務(wù)器、客戶端裝置和系統(tǒng)。
[0006] 依據(jù)本發(fā)明的一個(gè)方面,提供了一種推送消息的方法,包括:
[0007] 接收客戶端發(fā)送的消息在客戶端側(cè)被用戶查看的時(shí)間和/或地點(diǎn)信息,并保存到 數(shù)據(jù)庫(kù)中;
[0008] 根據(jù)所述數(shù)據(jù)庫(kù)中的信息,確定消息在客戶端側(cè)被用戶查看的期望時(shí)間和/或地 占.
[0009] 將指定消息發(fā)送到客戶端,以及將確定的消息在客戶端側(cè)被用戶查看的期望時(shí)間 和/或地點(diǎn)通知給客戶端,使得客戶端在滿足所述期望時(shí)間和/或地點(diǎn)條件時(shí)彈出所述指 定消息。
[0010] 可選地,該方法進(jìn)一步包括:
[0011] 接收客戶端在滿足所述期望時(shí)間和/或地點(diǎn)時(shí)發(fā)送的推送詢問消息;
[0012] 根據(jù)數(shù)據(jù)庫(kù)中的最新信息,重新確定所述指定消息在該客戶端側(cè)被用戶查看的期 望時(shí)間和/或地點(diǎn),并返回給該客戶端,使得該客戶端在滿足所述重新確定的期望時(shí)間和/ 或地點(diǎn)時(shí)彈出所述指定消息。
[0013] 可選地,所述根據(jù)所述數(shù)據(jù)庫(kù)中的信息,確定消息在客戶端側(cè)被用戶查看的期望 時(shí)間包括:
[0014] 將消息在不同客戶端側(cè)被用戶查看的期望時(shí)間,在時(shí)間軸上散列開來(lái),以避免不 同客戶端同一時(shí)間發(fā)送推送詢問消息導(dǎo)致的集中訪問壓力。
[0015] 可選地,該方法進(jìn)一步包括:根據(jù)消息的類型屬性,為不同類型的消息設(shè)置不同的 標(biāo)簽;
[0016] 在根據(jù)所述數(shù)據(jù)庫(kù)中的信息,確定消息在客戶端側(cè)被用戶查看的期望時(shí)間和/或 地點(diǎn)之前,該方法進(jìn)一步包括:提取待推送的消息的標(biāo)簽;確定推送消息的目標(biāo)用戶池;
[0017] 所述根據(jù)所述數(shù)據(jù)庫(kù)中的信息,確定消息在客戶端側(cè)被用戶查看的期望時(shí)間和/ 或地點(diǎn)包括:對(duì)于所述目標(biāo)用戶池中的每個(gè)用戶,根據(jù)所述數(shù)據(jù)庫(kù)中的信息,確定具有不同 標(biāo)簽的各待推送的消息在該用戶的客戶端側(cè)被該用戶查看的期望時(shí)間和/或地點(diǎn)。
[0018] 可選地,當(dāng)待推送的消息是包含多條消息的消息列表時(shí),所述提取待推送的消息 的標(biāo)簽包括:
[0019] 提取所述消息列表中的每條消息的標(biāo)簽進(jìn)行加權(quán)組合,組成初選標(biāo)簽集合,然后 對(duì)初選標(biāo)簽集合中的標(biāo)簽按照權(quán)值進(jìn)行排序,取權(quán)值最高預(yù)設(shè)個(gè)數(shù)的標(biāo)簽作為所述消息列 表的標(biāo)簽。
[0020] 可選地,該方法進(jìn)一步包括:客戶端側(cè)安裝有消息推送應(yīng)用;
[0021] 所述接收客戶端發(fā)送的消息在客戶端側(cè)被用戶查看的時(shí)間和/或地點(diǎn),是接收客 戶端側(cè)安裝的消息推送應(yīng)用發(fā)送的消息在客戶端側(cè)被用戶查看的時(shí)間和/或地點(diǎn)信息;
[0022] 使得客戶端在滿足所述期望時(shí)間和/或地點(diǎn)條件時(shí)彈出所述指定消息,是使得客 戶端側(cè)安裝的消息推送應(yīng)用在滿足所述期望時(shí)間和/或地點(diǎn)條件時(shí)彈出所述指定消息。
[0023] 可選地,該方法進(jìn)一步包括:接收客戶端側(cè)安裝的消息推送應(yīng)用發(fā)送的該消息推 送應(yīng)用被用戶訪問的時(shí)間和/或地點(diǎn)信息,并保存到數(shù)據(jù)庫(kù)中;
[0024] 所述對(duì)于所述目標(biāo)用戶池中的每個(gè)用戶,根據(jù)所述數(shù)據(jù)庫(kù)中的信息,確定具有不 同標(biāo)簽的各待推送消息在該用戶的客戶端側(cè)被該用戶查看的期望時(shí)間和/或地點(diǎn)包括:
[0025] 對(duì)于所述目標(biāo)用戶池中的每個(gè)用戶,和待推送的每種標(biāo)簽的消息,依次按照如下 順序進(jìn)行確定,
[0026] 首先、如果數(shù)據(jù)庫(kù)中存在該種標(biāo)簽的消息在客戶端側(cè)被該用戶查看的時(shí)間和/或 地點(diǎn)信息,則根據(jù)該信息確定該種標(biāo)簽的消息在客戶端側(cè)被該用戶查看的期望時(shí)間和/或 地點(diǎn);
[0027] 然后、如果數(shù)據(jù)庫(kù)中不存在該種標(biāo)簽的消息在客戶端側(cè)被該用戶查看的時(shí)間和/ 或地點(diǎn)信息,則根據(jù)數(shù)據(jù)庫(kù)中的消息推送應(yīng)用被該用戶訪問的時(shí)間和/或地點(diǎn)信息,確定 該種標(biāo)簽的消息在客戶端側(cè)被該用戶查看的期望時(shí)間和/或地點(diǎn);
[0028] 最后、如果數(shù)據(jù)庫(kù)中也不存在消息推送應(yīng)用被該用戶訪問的時(shí)間和/或地點(diǎn)信 息,則綜合數(shù)據(jù)庫(kù)中的已有數(shù)據(jù)確定該種標(biāo)簽的消息在客戶端側(cè)被用戶查看的熱門時(shí)間和 /或地點(diǎn),將該熱門時(shí)間和/或地點(diǎn)作為該種標(biāo)簽的消息在客戶端側(cè)被該用戶查看的期望 時(shí)間和/或地點(diǎn)。
[0029] 依據(jù)本發(fā)明的另一個(gè)方面,提供了一種推送消息的方法,包括:
[0030] 向服務(wù)器發(fā)送消息被用戶查看的時(shí)間和/或地點(diǎn)信息,使得服務(wù)器將這些信息保 存到數(shù)據(jù)庫(kù)中,并根據(jù)數(shù)據(jù)庫(kù)中的信息,確定消息被用戶查看的期望時(shí)間和/或地點(diǎn);
[0031] 接收服務(wù)器發(fā)送的指定消息,以及服務(wù)器確定的所述消息在客戶端側(cè)被用戶查看 的期望時(shí)間和/或地點(diǎn);
[0032] 在滿足所述期望時(shí)間和/或地點(diǎn)條件時(shí)彈出所述指定消息。
[0033] 可選地,該方法進(jìn)一步包括:
[0034] 在滿足所述期望時(shí)間和/或地點(diǎn)時(shí)先向服務(wù)器發(fā)送的推送詢問消息;
[0035] 接收服務(wù)器返回的根據(jù)數(shù)據(jù)庫(kù)中的最新信息重新確定的所述指定消息在該客戶 端側(cè)被用戶查看的期望時(shí)間和/或地點(diǎn);
[0036] 在滿足所述重新確定的期望時(shí)間和/或地點(diǎn)時(shí)再?gòu)棾鏊鲋付ㄏⅰ?br>
[0037] 可選地,該方法進(jìn)一步包括:
[0038] 由消息推送應(yīng)用向服務(wù)器發(fā)送消息被用戶查看的時(shí)間和/或地點(diǎn)信息;
[0039] 以及,由消息推送應(yīng)用在滿足所述期望時(shí)間和/或地點(diǎn)條件時(shí)彈出所述指定消 肩、。
[0040] 可選地,該方法進(jìn)一步包括:
[0041] 由消息推送應(yīng)用向服務(wù)器發(fā)送的該消息推送應(yīng)用被用戶訪問的時(shí)間和/或地點(diǎn) 信息,使得服務(wù)器將這些信息保存到數(shù)據(jù)庫(kù)中,并在確定消息被用戶查看的期望時(shí)間和/ 或地點(diǎn)時(shí),也參考這些數(shù)據(jù)。
[0042] 依據(jù)本發(fā)明的一個(gè)方面,提供了一種推送消息的服務(wù)器,該服務(wù)器包括:接收單 元、數(shù)據(jù)庫(kù)單元、確定單元和發(fā)送單元;
[0043] 所述接收單元,適于接收客戶端發(fā)送的消息在客戶端側(cè)被用戶查看的時(shí)間和/或 地點(diǎn)信息,并保存到數(shù)據(jù)庫(kù)單元中;
[0044] 所述數(shù)據(jù)庫(kù)單元,適于保存消息在客戶端側(cè)被用戶查看的時(shí)間和/或地點(diǎn)信息;
[0045] 所述確定單元,適于根據(jù)所述數(shù)據(jù)庫(kù)單元中的信息,確定消息在客戶端側(cè)被用戶 查看的期望時(shí)間和/或地點(diǎn);
[0046] 所述發(fā)送單元,適于將指定消息發(fā)送到客戶端,以及將確定的消息在客戶端側(cè)被 用戶查看的期望時(shí)間和/或地點(diǎn)通知給客戶端,使得客戶端在滿足所述期望時(shí)間和/或地 點(diǎn)條件時(shí)彈出所述指定消息。
[0047] 可選地,所述接收單元,進(jìn)一步適于接收客戶端在滿足所述期望時(shí)間和/或地點(diǎn) 時(shí)發(fā)送的推送詢問消息;
[0048] 所述確定單元,進(jìn)一步適于在所述接收單元收到所述推送詢問消息時(shí),根據(jù)數(shù)據(jù) 庫(kù)單元中的最新信息,重新確定所述指定消息在該客戶端側(cè)被用戶查看的期望時(shí)間和/或 地點(diǎn);
[0049] 所述發(fā)送單元,進(jìn)一步適于將重新確定所述指定消息在該客戶端側(cè)被用戶查看的 期望時(shí)間和/或地點(diǎn)發(fā)送給該客戶端,使得該客戶端在滿足所述重新確定的期望時(shí)間和/ 或地點(diǎn)時(shí)彈出所述指定消息。
[0050] 可選地,所述確定單元,適于在根據(jù)所述數(shù)據(jù)庫(kù)單元中的信息,確定消息在客戶端 側(cè)被用戶查看的期望時(shí)間時(shí),將消息在不同客戶端側(cè)被用戶查看的期望時(shí)間,在時(shí)間軸上 散列開來(lái),以避免不同客戶端同一時(shí)間發(fā)送推送詢問消息導(dǎo)致的集中訪問壓力。
[0051] 可選地,該服務(wù)器進(jìn)一步包括:標(biāo)簽提取單元和預(yù)處理單元;
[0052] 所述標(biāo)簽提取單元,適于根據(jù)消息的類型屬性,為不同類型的消息設(shè)置不同的標(biāo) 簽;
[0053] 所述預(yù)處理單元,適于提取待推送的消息的標(biāo)簽,確定推送消息的目標(biāo)用戶池;
[0054] 所述確定單元,適于對(duì)于所述目標(biāo)用戶池中的每個(gè)用戶,根據(jù)所述數(shù)據(jù)庫(kù)單元中 的信息,確定具有不同標(biāo)簽的各待推送的消息在該用戶的客戶端側(cè)被該用戶查看的期望時(shí) 間和/或地點(diǎn)。
[0055] 可選地,所述預(yù)處理單元,適于在待推送的消息是包含多條消息的消息列表時(shí),提 取所述消息列表中的每條消息的標(biāo)簽進(jìn)行加權(quán)組合,組成初選標(biāo)簽集合,然后對(duì)初選標(biāo)簽 集合中的標(biāo)簽按照權(quán)值進(jìn)行排序,取權(quán)值最高預(yù)設(shè)個(gè)數(shù)的標(biāo)簽作為所述消息列表的標(biāo)簽。
[0056] 可選地,所述接收單元,適于接收客戶端側(cè)安裝的消息推送應(yīng)用發(fā)送的消息在客 戶端側(cè)被用戶查看的時(shí)間和/或地點(diǎn)信息;
[0057] 所述發(fā)送單元,適于將指定消息發(fā)送到客戶端,以及將確定的消息在客戶端側(cè)被 用戶查看的期望時(shí)間和/或地點(diǎn)通知給客戶端,使得客戶端側(cè)安裝的消息推送應(yīng)用在滿足 所述期望時(shí)間和/或地點(diǎn)條件時(shí)彈出所述指定消息。
[0058] 可選地,所述接收單元,進(jìn)一步適于接收客戶端側(cè)安裝的消息推送應(yīng)用發(fā)送的該 消息推送應(yīng)用被用戶訪問的時(shí)間和/或地點(diǎn)信息,并保存到數(shù)據(jù)庫(kù)單元中;
[0059] 所述確定單元,進(jìn)一步適于對(duì)于所述目標(biāo)用戶池中的每個(gè)用戶,和待推送的每種 標(biāo)簽的消息,依次按照如下順序進(jìn)行確定該種標(biāo)簽的消息在客戶端側(cè)被該用戶查看的期望 時(shí)間和/或地點(diǎn):
[0060] 首先、如果數(shù)據(jù)庫(kù)單元中存在該種標(biāo)簽的消息在客戶端側(cè)被該用戶查看的時(shí)間和 /或地點(diǎn)信息,則根據(jù)該信息確定該種標(biāo)簽的消息在客戶端側(cè)被該用戶查看的期望時(shí)間和 /或地點(diǎn);
[0061] 然后、如果數(shù)據(jù)庫(kù)單元中不存在該種標(biāo)簽的消息在客戶端側(cè)被該用戶查看的時(shí)間 和/或地點(diǎn)信息,則根據(jù)數(shù)據(jù)庫(kù)單元中的消息推送應(yīng)用被該用戶訪問的時(shí)間和/或地點(diǎn)信 息,確定該種標(biāo)簽的消息在客戶端側(cè)被該用戶查看的期望時(shí)間和/或地點(diǎn);
[0062] 最后、如果數(shù)據(jù)庫(kù)單元中也不存在消息推送應(yīng)用被該用戶訪問的時(shí)間和/或地點(diǎn) 信息,則綜合數(shù)據(jù)庫(kù)單元中的已有數(shù)據(jù)確定該種標(biāo)簽的消息在客戶端側(cè)被用戶查看的熱門 時(shí)間和/或地點(diǎn),將該熱門時(shí)間和/或地點(diǎn)作為該種標(biāo)簽的消息在客戶端側(cè)被該用戶查看 的期望時(shí)間和/或地點(diǎn)。
[0063] 依據(jù)本發(fā)明的另一個(gè)方面,提供了一種推送消息的客戶端裝置,該客戶端裝置包 括:發(fā)送單元、接收單元和彈出單元;
[0064] 所述發(fā)送單元,適于向服務(wù)器發(fā)送消息被用戶查看的時(shí)間和/或地點(diǎn)信息,使得 服務(wù)器將這些信息保存到數(shù)據(jù)庫(kù)單元中,并根據(jù)數(shù)據(jù)庫(kù)單元中的信息,確定消息被用戶查 看的期望時(shí)間和/或地點(diǎn);
[0065] 所述接收單元,適于接收服務(wù)器發(fā)送的指定消息,以及服務(wù)器確定的所述消息在 客戶端裝置側(cè)被用戶查看的期望時(shí)間和/或地點(diǎn);
[0066] 所述彈出單元,適于在滿足所述重新確定的期望時(shí)間和/或地點(diǎn)時(shí)彈出所述指定 消息。
[0067] 可選地,所述發(fā)送單元,進(jìn)一步適于在滿足所述期望時(shí)間和/或地點(diǎn)時(shí)先向服務(wù) 器發(fā)送的推送詢問消息;
[0068] 所述接收單元,進(jìn)一步適于接收服務(wù)器返回的根據(jù)數(shù)據(jù)庫(kù)單元中的最新信息重新 確定的所述指定消息在該客戶端裝置側(cè)被用戶查看的期望時(shí)間和/或地點(diǎn);
[0069] 所述彈出單元,適于在滿足所述重新確定的期望時(shí)間和/或地點(diǎn)時(shí)再?gòu)棾鏊鲋?定消息。
[0070] 可選地,該客戶端裝置包括消息推送應(yīng)用單元,該消息推送應(yīng)用單元包括所述發(fā) 送單元、所述接收單元和所述彈出單元。
[0071] 可選地,所述發(fā)送單元,進(jìn)一步適于向服務(wù)器發(fā)送的所述消息推送應(yīng)用單元被用 戶訪問的時(shí)間和/或地點(diǎn)信息,使得服務(wù)器將這些信息保存到數(shù)據(jù)庫(kù)單元中,并在確定消 息被用戶查看的期望時(shí)間和/或地點(diǎn)時(shí),也參考這些數(shù)據(jù)。
[0072] 依據(jù)本發(fā)明的又一個(gè)方面,提供了一種推送消息的系統(tǒng),該系統(tǒng),包括:上述任一 項(xiàng)所述的服務(wù)器,以及上述任一項(xiàng)所述的客戶端裝置。
[0073] 綜上所述,本發(fā)明這種接收客戶端發(fā)送的消息在客戶端側(cè)被用戶查看的時(shí)間和/ 或地點(diǎn)信息,并保存到數(shù)據(jù)庫(kù)中;根據(jù)所述數(shù)據(jù)庫(kù)中的信息,確定消息在客戶端側(cè)被用戶查 看的期望時(shí)間和/或地點(diǎn);將指定消息發(fā)送到客戶端,以及將確定的消息在客戶端側(cè)被用 戶查看的期望時(shí)間和/或地點(diǎn)通知給客戶端,使得客戶端在滿足所述期望時(shí)間和/或地點(diǎn) 條件時(shí)彈出所述指定消息的技術(shù)方案,由于通過收集用戶的查看消息的時(shí)間和/或地點(diǎn)信 息,并通過分析確定用戶最可能查看推送消息的時(shí)間和/或地點(diǎn),據(jù)此進(jìn)行消息推送,因此 最大程度地避免推送消息對(duì)用戶造成的打擾。
[0074] 上述說(shuō)明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段, 而可依照說(shuō)明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠 更明顯易懂,以下特舉本發(fā)明的【具體實(shí)施方式】。
【專利附圖】
【附圖說(shuō)明】
[0075] 通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通 技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明 的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
[0076] 圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種推送消息的方法的流程圖;
[0077] 圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的另一種推送消息的方法的流程圖;
[0078] 圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的選取推薦的APP的系統(tǒng)的實(shí)現(xiàn)架構(gòu)圖;
[0079] 圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的又一種推送消息的方法的流程圖;
[0080] 圖5示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種推送消息的服務(wù)器的結(jié)構(gòu)框圖;
[0081] 圖6示出了根據(jù)本發(fā)明又一個(gè)實(shí)施例的一種推送消息的服務(wù)器的結(jié)構(gòu)框圖;
[0082] 圖7示出了根據(jù)本發(fā)明一個(gè)實(shí)施例一種推送消息的客戶端裝置的結(jié)構(gòu)框圖;
[0083] 圖8示出了根據(jù)本發(fā)明一個(gè)實(shí)施例一種推送消息的系統(tǒng)的示意圖。
【具體實(shí)施方式】
[0084] 下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開 的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例 所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍 完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0085] 圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種推送消息的方法的流程圖。如圖1所示, 該方法包括:
[0086] 步驟S110,接收客戶端發(fā)送的消息在客戶端側(cè)被用戶查看的時(shí)間和/或地點(diǎn)信 息,并保存到數(shù)據(jù)庫(kù)中;所述數(shù)據(jù)庫(kù)中的信息定時(shí)更新。
[0087] 在本發(fā)明的實(shí)施例中,"時(shí)間和/或地點(diǎn)信息"表示的是:時(shí)間信息,或者地點(diǎn)信 息,或者時(shí)間和地點(diǎn)信息。"消息在客戶端側(cè)被用戶查看的時(shí)間"即為用戶點(diǎn)擊并查看所推 送的消息的時(shí)間。"消息在客戶端側(cè)被用戶查看的地點(diǎn)"即為用戶點(diǎn)擊并查看所推送的消息 時(shí)所處的地理位置,可以利用經(jīng)緯度表示,客戶端側(cè)可以通過GPS服務(wù)獲得地理位置信息。 [0088] 在本發(fā)明的實(shí)施例中,客戶端發(fā)送的消息在客戶端側(cè)被用戶查看的時(shí)間和/或地 點(diǎn)信息中,還包括用戶的標(biāo)識(shí),用于識(shí)別一個(gè)用戶。
[0089] 步驟S120,根據(jù)所述數(shù)據(jù)庫(kù)中的信息,確定消息在客戶端側(cè)被用戶查看的期望時(shí) 間和/或地點(diǎn)。
[0090] 在本發(fā)明的實(shí)施例中,服務(wù)器端分析數(shù)據(jù)庫(kù)中的信息,統(tǒng)計(jì)用戶最有可能點(diǎn)擊查 看推送消息的時(shí)間和/或地點(diǎn)。例如,統(tǒng)計(jì)每一天的數(shù)據(jù),計(jì)算在一天的哪個(gè)時(shí)間段用戶最 有可能點(diǎn)擊查看推送的消息,以及在哪些地域用戶最有可能點(diǎn)擊查看推送的消息。還可以 計(jì)算前一周中,用戶在何時(shí)何地點(diǎn)擊推送消息的次數(shù)最多,則該時(shí)該地即為消息在客戶端 側(cè)被用戶查看的期望時(shí)間和地點(diǎn)。
[0091] 步驟S130,將指定消息發(fā)送到客戶端,以及將確定的消息在客戶端側(cè)被用戶查看 的期望時(shí)間和/或地點(diǎn)通知給客戶端,使得客戶端在滿足所述期望時(shí)間和/或地點(diǎn)條件時(shí) 彈出所述指定消息。
[0092] 圖1所示的方法中,由于通過收集用戶的查看消息的時(shí)間和/或地點(diǎn)信息,并通過 分析確定用戶最可能查看推送消息的時(shí)間和/或地點(diǎn),據(jù)此進(jìn)行消息推送,因此最大程度 地避免推送消息對(duì)用戶造成的打擾。
[0093] 圖1所示的方法中,服務(wù)器端根據(jù)數(shù)據(jù)庫(kù)中的已有信息確定了消息推送的時(shí)間和 /或地點(diǎn)后,只需要將消息和確定的相應(yīng)時(shí)間和/或地點(diǎn)發(fā)送給各個(gè)客戶端,客戶端根據(jù)相 應(yīng)的時(shí)間和/或地點(diǎn)彈出消息即可。這樣,消息和確定的時(shí)間和/或地點(diǎn)發(fā)送到客戶端后 就不能再改變。
[0094] 在本發(fā)明的另一個(gè)實(shí)施例中對(duì)圖1所示的方法進(jìn)行了進(jìn)一步的改進(jìn),客戶端在根 據(jù)確定的時(shí)間和/或地點(diǎn)彈出消息之前再次詢問服務(wù)器端推送的時(shí)機(jī)。這種方式相對(duì)靈 活,可以取消已發(fā)送的消息,也能修正推送的時(shí)機(jī)。該改進(jìn)的方法如圖2所示。
[0095] 圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的另一種推送消息的方法的流程圖。參見圖2, 該方法包括:
[0096] 步驟S210,接收客戶端發(fā)送的消息在客戶端側(cè)被用戶查看的時(shí)間和/或地點(diǎn)信 息,并保存到數(shù)據(jù)庫(kù)中;所述數(shù)據(jù)庫(kù)中的信息定時(shí)更新。
[0097] 步驟S220,根據(jù)所述數(shù)據(jù)庫(kù)中的信息,確定消息在客戶端側(cè)被用戶查看的期望時(shí) 間和/或地點(diǎn)。
[0098] 步驟S230,將指定消息發(fā)送到客戶端,以及將確定的消息在客戶端側(cè)被用戶查看 的期望時(shí)間和/或地點(diǎn)通知給客戶端。
[0099] 步驟S240,接收客戶端在滿足所述期望時(shí)間和/或地點(diǎn)時(shí)發(fā)送的推送詢問消息;
[0100] 步驟S250,根據(jù)數(shù)據(jù)庫(kù)中的最新信息,重新確定所述指定消息在該客戶端側(cè)被用 戶查看的期望時(shí)間和/或地點(diǎn),并返回給該客戶端,使得該客戶端在滿足所述重新確定的 期望時(shí)間和/或地點(diǎn)時(shí)彈出所述指定消息。
[0101] 在該改進(jìn)的方法中,對(duì)于某個(gè)消息,確定的眾多用戶的推送時(shí)間相同的話,服務(wù)器 端會(huì)在該時(shí)間點(diǎn)收到眾多的推送詢問消息,導(dǎo)致客戶端集中訪問服務(wù)器,造成服務(wù)器端的 壓力。對(duì)此,在步驟S220中,根據(jù)所述數(shù)據(jù)庫(kù)中的信息,確定消息在客戶端側(cè)被用戶查看的 期望時(shí)間,具體為:將消息在不同客戶端側(cè)被用戶查看的期望時(shí)間,在時(shí)間軸上散列開來(lái), 以避免不同客戶端同一時(shí)間發(fā)送推送詢問消息導(dǎo)致的集中訪問壓力。
[0102] 在本發(fā)明的又一個(gè)實(shí)施例中,對(duì)圖1所示方法或?qū)D2所示方法進(jìn)一步改進(jìn),具體 進(jìn)一步包括:
[0103] (1)根據(jù)消息的類型屬性,為不同類型的消息設(shè)置不同的標(biāo)簽。
[0104] 例如,可以根據(jù)推送消息的內(nèi)容設(shè)置消息的標(biāo)簽,如"游戲"、"女性APP"等總結(jié)性 的關(guān)鍵字或者關(guān)鍵字集合。
[0105] (2)在根據(jù)所述數(shù)據(jù)庫(kù)中的信息,確定消息在客戶端側(cè)被用戶查看的期望時(shí)間和 /或地點(diǎn)之前,該方法進(jìn)一步包括:提取待推送的消息的標(biāo)簽;確定推送消息的目標(biāo)用戶 池;
[0106] (3)所述根據(jù)所述數(shù)據(jù)庫(kù)中的信息,確定消息在客戶端側(cè)被用戶查看的期望時(shí)間 和/或地點(diǎn)包括:對(duì)于所述目標(biāo)用戶池中的每個(gè)用戶,根據(jù)所述數(shù)據(jù)庫(kù)中的信息,確定具有 不同標(biāo)簽的各待推送的消息在該用戶的客戶端側(cè)被該用戶查看的期望時(shí)間和/或地點(diǎn)。
[0107] 在本發(fā)明的一個(gè)實(shí)施例中,上述的方法進(jìn)一步包括:客戶端側(cè)安裝有消息推送應(yīng) 用;所述接收客戶端發(fā)送的消息在客戶端側(cè)被用戶查看的時(shí)間和/或地點(diǎn),是接收客戶端 側(cè)安裝的消息推送應(yīng)用發(fā)送的消息在客戶端側(cè)被用戶查看的時(shí)間和/或地點(diǎn)信息;使得客 戶端在滿足所述期望時(shí)間和/或地點(diǎn)條件時(shí)彈出所述指定消息,是使得客戶端側(cè)安裝的消 息推送應(yīng)用在滿足所述期望時(shí)間和/或地點(diǎn)條件時(shí)彈出所述指定消息。
[0108] 并且進(jìn)一步包括:接收客戶端側(cè)安裝的消息推送應(yīng)用發(fā)送的該消息推送應(yīng)用被用 戶訪問的時(shí)間和/或地點(diǎn)信息,并保存到數(shù)據(jù)庫(kù)中。所述對(duì)于所述目標(biāo)用戶池中的每個(gè)用 戶,根據(jù)所述數(shù)據(jù)庫(kù)中的信息,確定具有不同標(biāo)簽的各待推送消息在該用戶的客戶端側(cè)被 該用戶查看的期望時(shí)間和/或地點(diǎn)包括:
[0109] 對(duì)于所述目標(biāo)用戶池中的每個(gè)用戶,和待推送的每種標(biāo)簽的消息,依次按照如下 A、B、C順序進(jìn)行確定,
[0110] A、如果數(shù)據(jù)庫(kù)中存在該種標(biāo)簽的消息在客戶端側(cè)被該用戶查看的時(shí)間和/或地 點(diǎn)信息,則根據(jù)該信息確定該種標(biāo)簽的消息在客戶端側(cè)被該用戶查看的期望時(shí)間和/或地 占.
[0111] B、如果數(shù)據(jù)庫(kù)中不存在該種標(biāo)簽的消息在客戶端側(cè)被該用戶查看的時(shí)間和/或 地點(diǎn)信息,則根據(jù)數(shù)據(jù)庫(kù)中的消息推送應(yīng)用被該用戶訪問的時(shí)間和/或地點(diǎn)信息,確定該 種標(biāo)簽的消息在客戶端側(cè)被該用戶查看的期望時(shí)間和/或地點(diǎn);
[0112] C、如果數(shù)據(jù)庫(kù)中也不存在消息推送應(yīng)用被該用戶訪問的時(shí)間和/或地點(diǎn)信息,則 綜合數(shù)據(jù)庫(kù)中的已有數(shù)據(jù)確定該種標(biāo)簽的消息在客戶端側(cè)被用戶查看的熱門時(shí)間和/或 地點(diǎn),將該熱門時(shí)間和/或地點(diǎn)作為該種標(biāo)簽的消息在客戶端側(cè)被該用戶查看的期望時(shí)間 和/或地點(diǎn)。
[0113] 下面以消息推送應(yīng)用具體為手機(jī)助手為例,對(duì)上述方案進(jìn)行說(shuō)明,包括如下部 分:
[0114] 第一、待推送消息的標(biāo)簽提取
[0115] 提取待推送消息的標(biāo)簽作為消息類型的標(biāo)志。有兩種提取方式,一種由人工指定, 一種由自動(dòng)算法計(jì)算出來(lái)。特征較為統(tǒng)一的情況由人工指定,比如推送女生喜歡的app,指 定"女生"為消息標(biāo)簽。當(dāng)待推送的消息是包含多條消息的消息列表時(shí),提取所述消息列表 中的每條消息的標(biāo)簽進(jìn)行加權(quán)組合,組成初選標(biāo)簽集合,然后對(duì)初選標(biāo)簽集合中的標(biāo)簽按 照權(quán)值進(jìn)行排序,取權(quán)值最高預(yù)設(shè)個(gè)數(shù)的標(biāo)簽作為所述消息列表的標(biāo)簽。即推送消息不是 統(tǒng)一的一種類型的app的時(shí)需要自動(dòng)提取,如推送一個(gè)個(gè)性化列表,代表用戶可能喜歡的 各種類型app,則取每個(gè)被推送app中所有標(biāo)簽進(jìn)行加權(quán)組合,組成初選標(biāo)簽集合,然后再 按照計(jì)算的最終權(quán)值排序,取最高的5個(gè)標(biāo)簽作為此次推送的標(biāo)簽。解釋一下每個(gè)app中 的標(biāo)簽數(shù)據(jù),這個(gè)數(shù)據(jù)是已經(jīng)存在的,并且有相應(yīng)的權(quán)值。在本發(fā)明的一個(gè)實(shí)施例中標(biāo)簽的 權(quán)值是由手機(jī)助手詳情頁(yè)標(biāo)簽選項(xiàng)的點(diǎn)擊數(shù)據(jù)計(jì)算出來(lái)。在本發(fā)明的其他實(shí)施例中也可以 考慮其他因素計(jì)算權(quán)值。
[0116] 第二、推送用戶的選取
[0117] 可以根據(jù)需求選擇被推送的用戶池。一般為了減少計(jì)算成本或者采取人工策略, 設(shè)置一些用戶的限制范圍,如限制為活躍用戶,多長(zhǎng)時(shí)間間隔打開過手機(jī)助手的用戶,在某 個(gè)省份下的用戶等等,通過用戶的歷史行為數(shù)據(jù)我們可以得到類似上面的一些統(tǒng)計(jì)結(jié)果。 此部分計(jì)算結(jié)果是一個(gè)等待被推送的用戶池。
[0118] 第三、查詢數(shù)據(jù)庫(kù)
[0119] 利用以上兩個(gè)部分的數(shù)據(jù)(用戶,消息標(biāo)簽)可以在這個(gè)數(shù)據(jù)庫(kù)中查詢出每個(gè)用 戶適合推送的時(shí)間和地域范圍。具體可以根據(jù)如上所述的A、B、C順序進(jìn)行確定。
[0120] 例如,在本發(fā)明的一個(gè)實(shí)施例中,數(shù)據(jù)庫(kù)會(huì)每天更新一次、用戶數(shù)據(jù)會(huì)通過網(wǎng)頁(yè)和 客戶端打點(diǎn)的方式搜集到服務(wù)器集群中,服務(wù)端會(huì)計(jì)算三種數(shù)據(jù):一種是在知道某個(gè)用戶 和某個(gè)標(biāo)簽的條件下,查詢什么時(shí)間和地點(diǎn)會(huì)點(diǎn)擊消息,第二種是在知道某個(gè)用戶的條件 下,查詢什么時(shí)間和地點(diǎn)會(huì)操作手機(jī)助手,第三種是哪些地點(diǎn)范圍和時(shí)間段用戶最可能點(diǎn) 擊消息和操作手機(jī)助手。得到如上數(shù)據(jù)之后,在得到用戶池,以及待推送的消息標(biāo)簽之后, 可以在數(shù)據(jù)庫(kù)中查詢并綜合得到每個(gè)用戶的推送時(shí)間和地點(diǎn)范圍。大概的綜合選擇算法 為,首先利用第一種數(shù)據(jù)獲取常用時(shí)間和地點(diǎn),如果獲取不到,則利用第二種,如果再獲取 不到數(shù)據(jù)則用第三種數(shù)據(jù)。如此依據(jù)重要性依次取得用戶最可能點(diǎn)擊消息的時(shí)機(jī),則最小 化了打擾用戶的影響程度。
[0121] 當(dāng)推送的消息主要是推薦新的APP (應(yīng)用)時(shí),在本發(fā)明的實(shí)施例中還給出了如下 選取推薦的APP的方案。具體參見圖3。
[0122] 圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的選取推薦的APP的系統(tǒng)的實(shí)現(xiàn)架構(gòu)圖。如3 所示,該APP推薦系統(tǒng)主要分為五層結(jié)構(gòu) :
[0123] 產(chǎn)品展現(xiàn)層:即用戶在手機(jī)助手里看到的所有推薦頁(yè)面;
[0124] 服務(wù)端前端接口 :用于將推薦接口返回的數(shù)據(jù)重新封裝成前端能展示的形式;
[0125] 推薦數(shù)據(jù)接口:用于取得不同推薦引擎的數(shù)據(jù),拼裝成統(tǒng)一的推薦數(shù)據(jù);
[0126] 推薦引擎:根據(jù)不同的算法,不同的算法推薦出數(shù)據(jù);
[0127] 數(shù)據(jù)層:應(yīng)用的原始數(shù)據(jù),包括應(yīng)用名稱、應(yīng)用標(biāo)簽、應(yīng)用分類等;用戶的打點(diǎn)數(shù) 據(jù),包括用戶瀏覽的行為、用戶下載的行為。
[0128] 打點(diǎn)算法:打點(diǎn)是指將用戶的一些特定的行為上報(bào)服務(wù)器,以進(jìn)行用戶行為分析, 目前主要類型的打點(diǎn)為:
[0129] 1.用戶瀏覽行為打點(diǎn),將用戶當(dāng)前正在瀏覽的app的id發(fā)送到服務(wù)器保存;
[0130] 2.用戶下載行為打點(diǎn),將用戶正在下載的app的id發(fā)送到服務(wù)器保存,同時(shí)需要 存儲(chǔ)此app是根據(jù)什么app推薦出來(lái)的。
[0131] 打點(diǎn)日志抽?。?br>
[0132] 本算法中涉及的打點(diǎn)日志抽取是指通過hadoop平均的mapreduce技術(shù),對(duì)前10 天的打點(diǎn)日志進(jìn)行分析和處理,處理方法如下:
[0133] 1.逐條分析打點(diǎn)日志,若此日志為推薦算法的打點(diǎn)日志,則抽取日志中的瀏覽app id或下載app id。同時(shí)需要抽取哪個(gè)app推薦了此app導(dǎo)致被瀏覽或下載。
[0134] 2.統(tǒng)計(jì)每個(gè)被展示過或被下載過的app的展示次數(shù)和下載次數(shù),每次行為都是一 個(gè)app id與app id的對(duì),同時(shí)還有展示次數(shù)和下載次數(shù)的屬性。
[0135] 3.根據(jù)展示次數(shù)和下載次數(shù),可以得到轉(zhuǎn)化率。根據(jù)轉(zhuǎn)化率可以對(duì)這些app id與 app id對(duì)排序,最后就成為本算法的輸入。
[0136] 算法細(xì)節(jié):
[0137] A)從每天的打點(diǎn)日志(hadoop)里取出基于所有推薦算法的下載和展示行為?;?于此行為,可以獲得某個(gè)app推薦另外的app的下載轉(zhuǎn)化率。
[0138] B)選擇近10天的下載轉(zhuǎn)化率數(shù)據(jù),加權(quán)求和得到10天的下載轉(zhuǎn)化率。通過此轉(zhuǎn) 化率,得到近10天內(nèi),某個(gè)特定的app推薦哪些其他的app的轉(zhuǎn)化率較高。
[0139] C)推薦與某個(gè)app相關(guān)聯(lián)的app的時(shí)候,就選擇統(tǒng)計(jì)數(shù)據(jù)中轉(zhuǎn)化率高的排在前面, 轉(zhuǎn)化率低的排在后面。
[0140] D)此算法在進(jìn)行app唯一推薦的時(shí)候,可以在轉(zhuǎn)化率大于0的app中根據(jù)轉(zhuǎn)化率 作為權(quán)重選擇待推薦的app。
[0141] 以上是服務(wù)器端的消息推送流程,下面介紹客戶端側(cè)的消息推送流程。
[0142] 圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的又一種推送消息的方法的流程圖。參見圖4, 該方法包括:
[0143] 步驟S410,向服務(wù)器發(fā)送消息被用戶查看的時(shí)間和/或地點(diǎn)信息,使得服務(wù)器將 這些信息保存到數(shù)據(jù)庫(kù)中,并根據(jù)數(shù)據(jù)庫(kù)中的信息,確定消息被用戶查看的期望時(shí)間和/ 或地點(diǎn);
[0144] 步驟S420,接收服務(wù)器發(fā)送的指定消息,以及服務(wù)器確定的所述消息在客戶端側(cè) 被用戶查看的期望時(shí)間和/或地點(diǎn);
[0145] 步驟S430,在滿足所述期望時(shí)間和/或地點(diǎn)條件時(shí)彈出所述指定消息。
[0146] 在本發(fā)明的一個(gè)實(shí)施例中,圖4所示的方法進(jìn)一步包括:在滿足所述期望時(shí)間和/ 或地點(diǎn)時(shí)先向服務(wù)器發(fā)送的推送詢問消息;接收服務(wù)器返回的根據(jù)數(shù)據(jù)庫(kù)中的最新信息重 新確定的所述指定消息在該客戶端側(cè)被用戶查看的期望時(shí)間和/或地點(diǎn);在滿足所述重新 確定的期望時(shí)間和/或地點(diǎn)時(shí)再?gòu)棾鏊鲋付ㄏⅰ?br>
[0147] 在本發(fā)明的一個(gè)實(shí)施例中,圖4所示的方法進(jìn)一步包括:由消息推送應(yīng)用向服務(wù) 器發(fā)送消息被用戶查看的時(shí)間和/或地點(diǎn)信息;以及,由消息推送應(yīng)用在滿足所述期望時(shí) 間和/或地點(diǎn)條件時(shí)彈出所述指定消息。
[0148] 在本發(fā)明的一個(gè)實(shí)施例中,圖4所示的方法進(jìn)一步包括:由消息推送應(yīng)用向服務(wù) 器發(fā)送的該消息推送應(yīng)用被用戶訪問的時(shí)間和/或地點(diǎn)信息,使得服務(wù)器將這些信息保存 到數(shù)據(jù)庫(kù)中,并在確定消息被用戶查看的期望時(shí)間和/或地點(diǎn)時(shí),也參考這些數(shù)據(jù),具體參 見圖2所示實(shí)施例以及相關(guān)描述。
[0149] 圖5示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種推送消息的服務(wù)器的結(jié)構(gòu)框圖。如圖5 所示,該服務(wù)器500包括:接收單元501、數(shù)據(jù)庫(kù)單元502、確定單元503和發(fā)送單元504。
[0150] 接收單元501,適于接收客戶端發(fā)送的消息在客戶端側(cè)被用戶查看的時(shí)間和/或 地點(diǎn)信息,并保存到數(shù)據(jù)庫(kù)單元502中。
[0151] 數(shù)據(jù)庫(kù)單元502,適于保存消息在客戶端側(cè)被用戶查看的時(shí)間和/或地點(diǎn)信息,這 些信息被定時(shí)更新。
[0152] 確定單元503,適于根據(jù)所述數(shù)據(jù)庫(kù)單元502中的信息,確定消息在客戶端側(cè)被用 戶查看的期望時(shí)間和/或地點(diǎn)。
[0153] 發(fā)送單元504,適于將指定消息發(fā)送到客戶端,以及將確定的消息在客戶端側(cè)被用 戶查看的期望時(shí)間和/或地點(diǎn)通知給客戶端,使得客戶端在滿足所述期望時(shí)間和/或地點(diǎn) 條件時(shí)彈出所述指定消息。
[0154] 在本發(fā)明的一個(gè)實(shí)施例中,
[0155] 所述接收單元501,進(jìn)一步適于接收客戶端在滿足所述期望時(shí)間和/或地點(diǎn)時(shí)發(fā) 送的推送詢問消息;
[0156] 所述確定單元503,進(jìn)一步適于在所述接收單元收到所述推送詢問消息時(shí),根據(jù)數(shù) 據(jù)庫(kù)單元502中的最新信息,重新確定所述指定消息在該客戶端側(cè)被用戶查看的期望時(shí)間 和/或地點(diǎn);
[0157] 所述發(fā)送單元504,進(jìn)一步適于將重新確定所述指定消息在該客戶端側(cè)被用戶查 看的期望時(shí)間和/或地點(diǎn)發(fā)送給該客戶端,使得該客戶端在滿足所述重新確定的期望時(shí)間 和/或地點(diǎn)時(shí)彈出所述指定消息。
[0158] 在本發(fā)明的一個(gè)實(shí)施例中,所述確定單元503,適于在根據(jù)所述數(shù)據(jù)庫(kù)單元502中 的信息,確定消息在客戶端側(cè)被用戶查看的期望時(shí)間時(shí),將消息在不同客戶端側(cè)被用戶查 看的期望時(shí)間,在時(shí)間軸上散列開來(lái),以避免不同客戶端同一時(shí)間發(fā)送推送詢問消息導(dǎo)致 的集中訪問壓力。
[0159] 圖6示出了根據(jù)本發(fā)明又一個(gè)實(shí)施例的一種推送消息的服務(wù)器的結(jié)構(gòu)框圖。如圖 6所示,該服務(wù)器600包括:接收單元601、數(shù)據(jù)庫(kù)單元602、確定單元603和發(fā)送單元604, 這些單元的與圖5中的接收單元501、數(shù)據(jù)庫(kù)單元502、確定單元503和發(fā)送單元504-- 對(duì)應(yīng)相同。此外,該服務(wù)器600還包括:標(biāo)簽提取單元605和預(yù)處理單元606 ;
[0160] 所述標(biāo)簽提取單元605,適于根據(jù)消息的類型屬性,為不同類型的消息設(shè)置不同的 標(biāo)簽;
[0161] 所述預(yù)處理單元606,適于提取待推送的消息的標(biāo)簽,確定推送消息的目標(biāo)用戶 池;
[0162] 所述確定單元603,適于對(duì)于所述目標(biāo)用戶池中的每個(gè)用戶,根據(jù)所述數(shù)據(jù)庫(kù)單元 602中的信息,確定具有不同標(biāo)簽的各待推送的消息在該用戶的客戶端側(cè)被該用戶查看的 期望時(shí)間和/或地點(diǎn)。
[0163] 在本發(fā)明的一個(gè)實(shí)施例中,所述接收單元601,適于接收客戶端側(cè)安裝的消息推送 應(yīng)用發(fā)送的消息在客戶端側(cè)被用戶查看的時(shí)間和/或地點(diǎn)信息。所述發(fā)送單元604,適于將 指定消息發(fā)送到客戶端,以及將確定的消息在客戶端側(cè)被用戶查看的期望時(shí)間和/或地點(diǎn) 通知給客戶端,使得客戶端側(cè)安裝的消息推送應(yīng)用在滿足所述期望時(shí)間和/或地點(diǎn)條件時(shí) 彈出所述指定消息。
[0164] 在本發(fā)明的一個(gè)實(shí)施例中,所述接收單元601,進(jìn)一步適于接收客戶端側(cè)安裝的消 息推送應(yīng)用發(fā)送的該消息推送應(yīng)用被用戶訪問的時(shí)間和/或地點(diǎn)信息,并保存到數(shù)據(jù)庫(kù)單 元中。所述確定單元604,進(jìn)一步適于對(duì)于所述目標(biāo)用戶池中的每個(gè)用戶,和待推送的每種 標(biāo)簽的消息,依次按照如下順序進(jìn)行確定該種標(biāo)簽的消息在客戶端側(cè)被該用戶查看的期望 時(shí)間和/或地點(diǎn):
[0165] 首先、如果數(shù)據(jù)庫(kù)單元602中存在該種標(biāo)簽的消息在客戶端側(cè)被該用戶查看的時(shí) 間和/或地點(diǎn)信息,則根據(jù)該信息確定該種標(biāo)簽的消息在客戶端側(cè)被該用戶查看的期望時(shí) 間和/或地點(diǎn);
[0166] 然后、如果數(shù)據(jù)庫(kù)單元602中不存在該種標(biāo)簽的消息在客戶端側(cè)被該用戶查看的 時(shí)間和/或地點(diǎn)信息,則根據(jù)數(shù)據(jù)庫(kù)中的消息推送應(yīng)用被該用戶訪問的時(shí)間和/或地點(diǎn)信 息,確定該種標(biāo)簽的消息在客戶端側(cè)被該用戶查看的期望時(shí)間和/或地點(diǎn);
[0167] 最后、如果數(shù)據(jù)庫(kù)單元602中也不存在消息推送應(yīng)用被該用戶訪問的時(shí)間和/或 地點(diǎn)信息,則綜合數(shù)據(jù)庫(kù)中的已有數(shù)據(jù)確定該種標(biāo)簽的消息在客戶端側(cè)被用戶查看的熱門 時(shí)間和/或地點(diǎn),將該熱門時(shí)間和/或地點(diǎn)作為該種標(biāo)簽的消息在客戶端側(cè)被該用戶查看 的期望時(shí)間和/或地點(diǎn)。
[0168] 圖7示出了根據(jù)本發(fā)明一個(gè)實(shí)施例一種推送消息的客戶端裝置的結(jié)構(gòu)框圖。如圖 7所示,該推送消息的客戶端裝置700包括:發(fā)送單元701、接收單元702和彈出單元703。
[0169] 所述發(fā)送單元701,適于向服務(wù)器發(fā)送消息被用戶查看的時(shí)間和/或地點(diǎn)信息,使 得服務(wù)器將這些信息保存到數(shù)據(jù)庫(kù)單元中,并根據(jù)數(shù)據(jù)庫(kù)單元中的信息,確定消息被用戶 查看的期望時(shí)間和/或地點(diǎn);
[0170] 所述接收單元702,適于接收服務(wù)器發(fā)送的指定消息,以及服務(wù)器確定的所述消息 在客戶端裝置側(cè)被用戶查看的期望時(shí)間和/或地點(diǎn);
[0171] 所述彈出單元703,適于在滿足所述重新確定的期望時(shí)間和/或地點(diǎn)時(shí)彈出所述 指定消息。
[0172] 在本發(fā)明的一個(gè)實(shí)施例中,所述發(fā)送單元701,進(jìn)一步適于在滿足所述期望時(shí)間和 /或地點(diǎn)時(shí)先向服務(wù)器發(fā)送的推送詢問消息。所述接收單元702,進(jìn)一步適于接收服務(wù)器返 回的根據(jù)數(shù)據(jù)庫(kù)中的最新信息重新確定的所述指定消息在該客戶端裝置側(cè)被用戶查看的 期望時(shí)間和/或地點(diǎn)。所述彈出單元703,適于在滿足所述重新確定的期望時(shí)間和/或地點(diǎn) 時(shí)再?gòu)棾鏊鲋付ㄏⅰ?br>
[0173] 在本發(fā)明的一個(gè)實(shí)施例中,該推送消息的客戶端裝置700包括消息推送應(yīng)用單元 710,該消息推送應(yīng)用單元710包括所述發(fā)送單元701、所述接收單元702和所述彈出單元 703。
[0174] 所述發(fā)送單元701,進(jìn)一步適于向服務(wù)器發(fā)送的所述消息推送應(yīng)用單元被用戶訪 問的時(shí)間和/或地點(diǎn)信息,使得服務(wù)器將這些信息保存到數(shù)據(jù)庫(kù)單元中,并在確定消息被 用戶查看的期望時(shí)間和/或地點(diǎn)時(shí),也參考這些數(shù)據(jù)。
[0175] 圖8示出了根據(jù)本發(fā)明一個(gè)實(shí)施例一種推送消息的系統(tǒng)的示意圖。如圖8所示, 該系統(tǒng),包括:服務(wù)器810,多個(gè)客戶端裝置820。
[0176] 服務(wù)器820可以是圖5中的推送消息的服務(wù)器500,也可以是圖6中的推送消息的 服務(wù)器600??蛻舳搜b置820可以是圖7中的推送消息的客戶端裝置700。
[0177] 綜上所述,本發(fā)明這種接收客戶端發(fā)送的消息在客戶端側(cè)被用戶查看的時(shí)間和/ 或地點(diǎn)信息,并保存到數(shù)據(jù)庫(kù)中;根據(jù)所述數(shù)據(jù)庫(kù)中的信息,確定消息在客戶端側(cè)被用戶查 看的期望時(shí)間和/或地點(diǎn);將指定消息發(fā)送到客戶端,以及將確定的消息在客戶端側(cè)被用 戶查看的期望時(shí)間和/或地點(diǎn)通知給客戶端,使得客戶端在滿足所述期望時(shí)間和/或地點(diǎn) 條件時(shí)彈出所述指定消息的技術(shù)方案,由于通過收集用戶的查看消息的時(shí)間和/或地點(diǎn)信 息,并通過分析確定用戶最可能查看推送消息的時(shí)間和/或地點(diǎn),據(jù)此進(jìn)行消息推送,因此 最大程度地避免推送消息對(duì)用戶造成的打擾。
[0178] 需要說(shuō)明的是:
[0179] 在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬裝置或者其它設(shè)備固有相關(guān)。 各種通用裝置也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類裝置所要求 的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對(duì)任何特定編程語(yǔ)言。應(yīng)當(dāng)明白,可以利用各種 編程語(yǔ)言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語(yǔ)言所做的描述是為了披露本發(fā) 明的最佳實(shí)施方式。
[0180] 在此處所提供的說(shuō)明書中,說(shuō)明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施 例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu) 和技術(shù),以便不模糊對(duì)本說(shuō)明書的理解。
[0181] 類似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在 上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施 例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保 護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說(shuō),如下面 的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個(gè)實(shí)施例的所有特征。因此, 遵循【具體實(shí)施方式】的權(quán)利要求書由此明確地并入該【具體實(shí)施方式】,其中每個(gè)權(quán)利要求本身 都作為本發(fā)明的單獨(dú)實(shí)施例。
[0182] 本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地 改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中。可以把實(shí)施例中的模塊或單 元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或 子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任 何組合對(duì)本說(shuō)明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開 的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說(shuō)明書(包括伴 隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可以由提供相同、等同或相似目的的替代 特征來(lái)代替。
[0183] 此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例 中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的 范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任 意之一都可以以任意的組合方式來(lái)使用。
[0184] 本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行 的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用 微處理器或者數(shù)字信號(hào)處理器(DSP)來(lái)實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的推送消息的服務(wù)器、客戶 端裝置和系統(tǒng)中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行 這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程 序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者 多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者 以任何其他形式提供。
[0185] 應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說(shuō)明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng) 域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中, 不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞"包含"不排除存在 未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞"一"或"一個(gè)"不排除存在多個(gè)這 樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來(lái) 實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過同一個(gè)硬件 項(xiàng)來(lái)具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為 名稱。
[0186] 本發(fā)明公開了 A1、一種推送消息的方法,其中,包括:接收客戶端發(fā)送的消息在客 戶端側(cè)被用戶查看的時(shí)間和/或地點(diǎn)信息,并保存到數(shù)據(jù)庫(kù)中;根據(jù)所述數(shù)據(jù)庫(kù)中的信息, 確定消息在客戶端側(cè)被用戶查看的期望時(shí)間和/或地點(diǎn);將指定消息發(fā)送到客戶端,以及 將確定的消息在客戶端側(cè)被用戶查看的期望時(shí)間和/或地點(diǎn)通知給客戶端,使得客戶端在 滿足所述期望時(shí)間和/或地點(diǎn)條件時(shí)彈出所述指定消息。
[0187] A2、如A1所述的方法,其中,該方法進(jìn)一步包括:接收客戶端在滿足所述期望時(shí)間 和/或地點(diǎn)時(shí)發(fā)送的推送詢問消息;根據(jù)數(shù)據(jù)庫(kù)中的最新信息,重新確定所述指定消息在 該客戶端側(cè)被用戶查看的期望時(shí)間和/或地點(diǎn),并返回給該客戶端,使得該客戶端在滿足 所述重新確定的期望時(shí)間和/或地點(diǎn)時(shí)彈出所述指定消息。
[0188] A3、如A2所述的方法,其中,所述根據(jù)所述數(shù)據(jù)庫(kù)中的信息,確定消息在客戶端側(cè) 被用戶查看的期望時(shí)間包括:將消息在不同客戶端側(cè)被用戶查看的期望時(shí)間,在時(shí)間軸上 散列開來(lái),以避免不同客戶端同一時(shí)間發(fā)送推送詢問消息導(dǎo)致的集中訪問壓力。
[0189] A4、如A1-A3中任一項(xiàng)所述的方法,其中,該方法進(jìn)一步包括:根據(jù)消息的類型屬 性,為不同類型的消息設(shè)置不同的標(biāo)簽;
[0190] 在根據(jù)所述數(shù)據(jù)庫(kù)中的信息,確定消息在客戶端側(cè)被用戶查看的期望時(shí)間和/或 地點(diǎn)之前,該方法進(jìn)一步包括:提取待推送的消息的標(biāo)簽;確定推送消息的目標(biāo)用戶池;
[0191] 所述根據(jù)所述數(shù)據(jù)庫(kù)中的信息,確定消息在客戶端側(cè)被用戶查看的期望時(shí)間和/ 或地點(diǎn)包括:對(duì)于所述目標(biāo)用戶池中的每個(gè)用戶,根據(jù)所述數(shù)據(jù)庫(kù)中的信息,確定具有不同 標(biāo)簽的各待推送的消息在該用戶的客戶端側(cè)被該用戶查看的期望時(shí)間和/或地點(diǎn)。
[0192] A5、如A4所述的方法,其中,當(dāng)待推送的消息是包含多條消息的消息列表時(shí),所述 提取待推送的消息的標(biāo)簽包括:提取所述消息列表中的每條消息的標(biāo)簽進(jìn)行加權(quán)組合,組 成初選標(biāo)簽集合,然后對(duì)初選標(biāo)簽集合中的標(biāo)簽按照權(quán)值進(jìn)行排序,取權(quán)值最高預(yù)設(shè)個(gè)數(shù) 的標(biāo)簽作為所述消息列表的標(biāo)簽。
[0193] A6、如A4所述的方法,其中,該方法進(jìn)一步包括:客戶端側(cè)安裝有消息推送應(yīng)用;
[0194] 所述接收客戶端發(fā)送的消息在客戶端側(cè)被用戶查看的時(shí)間和/或地點(diǎn),是接收客 戶端側(cè)安裝的消息推送應(yīng)用發(fā)送的消息在客戶端側(cè)被用戶查看的時(shí)間和/或地點(diǎn)信息;
[0195] 使得客戶端在滿足所述期望時(shí)間和/或地點(diǎn)條件時(shí)彈出所述指定消息,是使得客 戶端側(cè)安裝的消息推送應(yīng)用在滿足所述期望時(shí)間和/或地點(diǎn)條件時(shí)彈出所述指定消息。
[0196] A7、如A6所述的方法,其中,該方法進(jìn)一步包括:接收客戶端側(cè)安裝的消息推送應(yīng) 用發(fā)送的該消息推送應(yīng)用被用戶訪問的時(shí)間和/或地點(diǎn)信息,并保存到數(shù)據(jù)庫(kù)中;
[0197] 所述對(duì)于所述目標(biāo)用戶池中的每個(gè)用戶,根據(jù)所述數(shù)據(jù)庫(kù)中的信息,確定具有不 同標(biāo)簽的各待推送消息在該用戶的客戶端側(cè)被該用戶查看的期望時(shí)間和/或地點(diǎn)包括:
[0198] 對(duì)于所述目標(biāo)用戶池中的每個(gè)用戶,和待推送的每種標(biāo)簽的消息,依次按照如下 順序進(jìn)行確定,
[0199] 首先、如果數(shù)據(jù)庫(kù)中存在該種標(biāo)簽的消息在客戶端側(cè)被該用戶查看的時(shí)間和/或 地點(diǎn)信息,則根據(jù)該信息確定該種標(biāo)簽的消息在客戶端側(cè)被該用戶查看的期望時(shí)間和/或 地點(diǎn);
[0200] 然后、如果數(shù)據(jù)庫(kù)中不存在該種標(biāo)簽的消息在客戶端側(cè)被該用戶查看的時(shí)間和/ 或地點(diǎn)信息,則根據(jù)數(shù)據(jù)庫(kù)中的消息推送應(yīng)用被該用戶訪問的時(shí)間和/或地點(diǎn)信息,確定 該種標(biāo)簽的消息在客戶端側(cè)被該用戶查看的期望時(shí)間和/或地點(diǎn);
[0201] 最后、如果數(shù)據(jù)庫(kù)中也不存在消息推送應(yīng)用被該用戶訪問的時(shí)間和/或地點(diǎn)信 息,則綜合數(shù)據(jù)庫(kù)中的已有數(shù)據(jù)確定該種標(biāo)簽的消息在客戶端側(cè)被用戶查看的熱門時(shí)間和 /或地點(diǎn),將該熱門時(shí)間和/或地點(diǎn)作為該種標(biāo)簽的消息在客戶端側(cè)被該用戶查看的期望 時(shí)間和/或地點(diǎn)。
[0202] 本發(fā)明還公開了 B8、一種推送消息的方法,其中,包括:
[0203] 向服務(wù)器發(fā)送消息被用戶查看的時(shí)間和/或地點(diǎn)信息,使得服務(wù)器將這些信息保 存到數(shù)據(jù)庫(kù)中,并根據(jù)數(shù)據(jù)庫(kù)中的信息,確定消息被用戶查看的期望時(shí)間和/或地點(diǎn);接收 服務(wù)器發(fā)送的指定消息,以及服務(wù)器確定的所述消息在客戶端側(cè)被用戶查看的期望時(shí)間和 /或地點(diǎn);在滿足所述期望時(shí)間和/或地點(diǎn)條件時(shí)彈出所述指定消息。
[0204] B9、如B8所述的方法,其中,該方法進(jìn)一步包括:在滿足所述期望時(shí)間和/或地點(diǎn) 時(shí)先向服務(wù)器發(fā)送的推送詢問消息;接收服務(wù)器返回的根據(jù)數(shù)據(jù)庫(kù)中的最新信息重新確定 的所述指定消息在該客戶端側(cè)被用戶查看的期望時(shí)間和/或地點(diǎn);在滿足所述重新確定的 期望時(shí)間和/或地點(diǎn)時(shí)再?gòu)棾鏊鲋付ㄏⅰ?br>
[0205] B10、如B8或B9所述的方法,其中,該方法進(jìn)一步包括:由消息推送應(yīng)用向服務(wù)器 發(fā)送消息被用戶查看的時(shí)間和/或地點(diǎn)信息;以及,由消息推送應(yīng)用在滿足所述期望時(shí)間 和/或地點(diǎn)條件時(shí)彈出所述指定消息。
[0206] B11、如B10所述的方法,其中,該方法進(jìn)一步包括:
[0207] 由消息推送應(yīng)用向服務(wù)器發(fā)送的該消息推送應(yīng)用被用戶訪問的時(shí)間和/或地點(diǎn) 信息,使得服務(wù)器將這些信息保存到數(shù)據(jù)庫(kù)中,并在確定消息被用戶查看的期望時(shí)間和/ 或地點(diǎn)時(shí),也參考這些數(shù)據(jù)。
[0208] 本發(fā)明還公開了 C12、一種推送消息的服務(wù)器,其中,該服務(wù)器包括:接收單元、數(shù) 據(jù)庫(kù)單元、確定單元和發(fā)送單元;
[0209] 所述接收單元,適于接收客戶端發(fā)送的消息在客戶端側(cè)被用戶查看的時(shí)間和/或 地點(diǎn)信息,并保存到數(shù)據(jù)庫(kù)單元中;
[0210] 所述數(shù)據(jù)庫(kù)單元,適于保存消息在客戶端側(cè)被用戶查看的時(shí)間和/或地點(diǎn)信息;
[0211] 所述確定單元,適于根據(jù)所述數(shù)據(jù)庫(kù)單元中的信息,確定消息在客戶端側(cè)被用戶 查看的期望時(shí)間和/或地點(diǎn);
[0212] 所述發(fā)送單元,適于將指定消息發(fā)送到客戶端,以及將確定的消息在客戶端側(cè)被 用戶查看的期望時(shí)間和/或地點(diǎn)通知給客戶端,使得客戶端在滿足所述期望時(shí)間和/或地 點(diǎn)條件時(shí)彈出所述指定消息。
[0213] C13、如C12所述的服務(wù)器,其中,
[0214] 所述接收單元,進(jìn)一步適于接收客戶端在滿足所述期望時(shí)間和/或地點(diǎn)時(shí)發(fā)送的 推送詢問消息;
[0215] 所述確定單元,進(jìn)一步適于在所述接收單元收到所述推送詢問消息時(shí),根據(jù)數(shù)據(jù) 庫(kù)單元中的最新信息,重新確定所述指定消息在該客戶端側(cè)被用戶查看的期望時(shí)間和/或 地點(diǎn);
[0216] 所述發(fā)送單元,進(jìn)一步適于將重新確定所述指定消息在該客戶端側(cè)被用戶查看的 期望時(shí)間和/或地點(diǎn)發(fā)送給該客戶端,使得該客戶端在滿足所述重新確定的期望時(shí)間和/ 或地點(diǎn)時(shí)彈出所述指定消息。
[0217] C14、如C13所述的服務(wù)器,其中,
[0218] 所述確定單元,適于在根據(jù)所述數(shù)據(jù)庫(kù)單元中的信息,確定消息在客戶端側(cè)被用 戶查看的期望時(shí)間時(shí),將消息在不同客戶端側(cè)被用戶查看的期望時(shí)間,在時(shí)間軸上散列開 來(lái),以避免不同客戶端同一時(shí)間發(fā)送推送詢問消息導(dǎo)致的集中訪問壓力。
[0219] C15、如C12-C14中任一項(xiàng)所述的服務(wù)器,其中,該服務(wù)器進(jìn)一步包括:標(biāo)簽提取單 元和預(yù)處理單元;
[0220] 所述標(biāo)簽提取單元,適于根據(jù)消息的類型屬性,為不同類型的消息設(shè)置不同的標(biāo) 簽;
[0221] 所述預(yù)處理單元,適于提取待推送的消息的標(biāo)簽,確定推送消息的目標(biāo)用戶池;
[0222] 所述確定單元,適于對(duì)于所述目標(biāo)用戶池中的每個(gè)用戶,根據(jù)所述數(shù)據(jù)庫(kù)單元中 的信息,確定具有不同標(biāo)簽的各待推送的消息在該用戶的客戶端側(cè)被該用戶查看的期望時(shí) 間和/或地點(diǎn)。
[0223] C16、如C15所述的服務(wù)器,其中,
[0224] 所述預(yù)處理單元,適于在待推送的消息是包含多條消息的消息列表時(shí),提取所述 消息列表中的每條消息的標(biāo)簽進(jìn)行加權(quán)組合,組成初選標(biāo)簽集合,然后對(duì)初選標(biāo)簽集合中 的標(biāo)簽按照權(quán)值進(jìn)行排序,取權(quán)值最高預(yù)設(shè)個(gè)數(shù)的標(biāo)簽作為所述消息列表的標(biāo)簽。
[0225] C17、如C15所述的服務(wù)器,其中,
[0226] 所述接收單元,適于接收客戶端側(cè)安裝的消息推送應(yīng)用發(fā)送的消息在客戶端側(cè)被 用戶查看的時(shí)間和/或地點(diǎn)信息;
[0227] 所述發(fā)送單元,適于將指定消息發(fā)送到客戶端,以及將確定的消息在客戶端側(cè)被 用戶查看的期望時(shí)間和/或地點(diǎn)通知給客戶端,使得客戶端側(cè)安裝的消息推送應(yīng)用在滿足 所述期望時(shí)間和/或地點(diǎn)條件時(shí)彈出所述指定消息。
[0228] C18、如C17所述的服務(wù)器,其中,
[0229] 所述接收單元,進(jìn)一步適于接收客戶端側(cè)安裝的消息推送應(yīng)用發(fā)送的該消息推送 應(yīng)用被用戶訪問的時(shí)間和/或地點(diǎn)信息,并保存到數(shù)據(jù)庫(kù)單元中;
[0230] 所述確定單元,進(jìn)一步適于對(duì)于所述目標(biāo)用戶池中的每個(gè)用戶,和待推送的每種 標(biāo)簽的消息,依次按照如下順序進(jìn)行確定該種標(biāo)簽的消息在客戶端側(cè)被該用戶查看的期望 時(shí)間和/或地點(diǎn):
[0231] 首先、如果數(shù)據(jù)庫(kù)單元中存在該種標(biāo)簽的消息在客戶端側(cè)被該用戶查看的時(shí)間和 /或地點(diǎn)信息,則根據(jù)該信息確定該種標(biāo)簽的消息在客戶端側(cè)被該用戶查看的期望時(shí)間和 /或地點(diǎn);
[0232] 然后、如果數(shù)據(jù)庫(kù)單元中不存在該種標(biāo)簽的消息在客戶端側(cè)被該用戶查看的時(shí)間 和/或地點(diǎn)信息,則根據(jù)數(shù)據(jù)庫(kù)單元中的消息推送應(yīng)用被該用戶訪問的時(shí)間和/或地點(diǎn)信 息,確定該種標(biāo)簽的消息在客戶端側(cè)被該用戶查看的期望時(shí)間和/或地點(diǎn);
[0233] 最后、如果數(shù)據(jù)庫(kù)單元中也不存在消息推送應(yīng)用被該用戶訪問的時(shí)間和/或地點(diǎn) 信息,則綜合數(shù)據(jù)庫(kù)單元中的已有數(shù)據(jù)確定該種標(biāo)簽的消息在客戶端側(cè)被用戶查看的熱門 時(shí)間和/或地點(diǎn),將該熱門時(shí)間和/或地點(diǎn)作為該種標(biāo)簽的消息在客戶端側(cè)被該用戶查看 的期望時(shí)間和/或地點(diǎn)。
[0234] 本發(fā)明還公開了 D19、一種推送消息的客戶端裝置,其中,該客戶端裝置包括:發(fā) 送單元、接收單元和彈出單元;
[0235] 所述發(fā)送單元,適于向服務(wù)器發(fā)送消息被用戶查看的時(shí)間和/或地點(diǎn)信息,使得 服務(wù)器將這些信息保存到數(shù)據(jù)庫(kù)單元中,并根據(jù)數(shù)據(jù)庫(kù)單元中的信息,確定消息被用戶查 看的期望時(shí)間和/或地點(diǎn);
[0236] 所述接收單元,適于接收服務(wù)器發(fā)送的指定消息,以及服務(wù)器確定的所述消息在 客戶端裝置側(cè)被用戶查看的期望時(shí)間和/或地點(diǎn);
[0237] 所述彈出單元,適于在滿足所述重新確定的期望時(shí)間和/或地點(diǎn)時(shí)彈出所述指定 消息。
[0238] D20、如D19所述客戶端裝置,其中,
[0239] 所述發(fā)送單元,進(jìn)一步適于在滿足所述期望時(shí)間和/或地點(diǎn)時(shí)先向服務(wù)器發(fā)送的 推送詢問消息;
[0240] 所述接收單元,進(jìn)一步適于接收服務(wù)器返回的根據(jù)數(shù)據(jù)庫(kù)單元中的最新信息重新 確定的所述指定消息在該客戶端裝置側(cè)被用戶查看的期望時(shí)間和/或地點(diǎn);
[0241] 所述彈出單元,適于在滿足所述重新確定的期望時(shí)間和/或地點(diǎn)時(shí)再?gòu)棾鏊鲋?定消息。
[0242] D21、如D19或D20所述的客戶端裝置,其中,該客戶端裝置包括消息推送應(yīng)用單 元,該消息推送應(yīng)用單元包括所述發(fā)送單元、所述接收單元和所述彈出單元。
[0243] D22、如D21所述的客戶端裝置,其中,
[0244] 所述發(fā)送單元,進(jìn)一步適于向服務(wù)器發(fā)送的所述消息推送應(yīng)用單元被用戶訪問的 時(shí)間和/或地點(diǎn)信息,使得服務(wù)器將這些信息保存到數(shù)據(jù)庫(kù)單元中,并在確定消息被用戶 查看的期望時(shí)間和/或地點(diǎn)時(shí),也參考這些數(shù)據(jù)。
[0245] 本發(fā)明還公開了 E23、一種推送消息的系統(tǒng),其中,該系統(tǒng),包括:如C12-C18中任 一項(xiàng)所述的服務(wù)器,以及多個(gè)如D19-D22中任一項(xiàng)所述的客戶端裝置。
【權(quán)利要求】
1. 一種推送消息的方法,其中,包括: 接收客戶端發(fā)送的消息在客戶端側(cè)被用戶查看的時(shí)間和/或地點(diǎn)信息,并保存到數(shù)據(jù) 庫(kù)中; 根據(jù)所述數(shù)據(jù)庫(kù)中的信息,確定消息在客戶端側(cè)被用戶查看的期望時(shí)間和/或地點(diǎn); 將指定消息發(fā)送到客戶端,以及將確定的消息在客戶端側(cè)被用戶查看的期望時(shí)間和/ 或地點(diǎn)通知給客戶端,使得客戶端在滿足所述期望時(shí)間和/或地點(diǎn)條件時(shí)彈出所述指定消 肩、。
2. 如權(quán)利要求1所述的方法,其中,該方法進(jìn)一步包括: 接收客戶端在滿足所述期望時(shí)間和/或地點(diǎn)時(shí)發(fā)送的推送詢問消息; 根據(jù)數(shù)據(jù)庫(kù)中的最新信息,重新確定所述指定消息在該客戶端側(cè)被用戶查看的期望時(shí) 間和/或地點(diǎn),并返回給該客戶端,使得該客戶端在滿足所述重新確定的期望時(shí)間和/或地 點(diǎn)時(shí)彈出所述指定消息。
3. 如權(quán)利要求2所述的方法,其中,所述根據(jù)所述數(shù)據(jù)庫(kù)中的信息,確定消息在客戶端 側(cè)被用戶查看的期望時(shí)間包括: 將消息在不同客戶端側(cè)被用戶查看的期望時(shí)間,在時(shí)間軸上散列開來(lái),以避免不同客 戶端同一時(shí)間發(fā)送推送詢問消息導(dǎo)致的集中訪問壓力。
4. 一種推送消息的方法,其中,包括: 向服務(wù)器發(fā)送消息被用戶查看的時(shí)間和/或地點(diǎn)信息,使得服務(wù)器將這些信息保存到 數(shù)據(jù)庫(kù)中,并根據(jù)數(shù)據(jù)庫(kù)中的信息,確定消息被用戶查看的期望時(shí)間和/或地點(diǎn); 接收服務(wù)器發(fā)送的指定消息,以及服務(wù)器確定的所述消息在客戶端側(cè)被用戶查看的期 望時(shí)間和/或地點(diǎn); 在滿足所述期望時(shí)間和/或地點(diǎn)條件時(shí)彈出所述指定消息。
5. 如權(quán)利要求4所述的方法,其中,該方法進(jìn)一步包括: 在滿足所述期望時(shí)間和/或地點(diǎn)時(shí)先向服務(wù)器發(fā)送的推送詢問消息; 接收服務(wù)器返回的根據(jù)數(shù)據(jù)庫(kù)中的最新信息重新確定的所述指定消息在該客戶端側(cè) 被用戶查看的期望時(shí)間和/或地點(diǎn); 在滿足所述重新確定的期望時(shí)間和/或地點(diǎn)時(shí)再?gòu)棾鏊鲋付ㄏⅰ?br>
6. -種推送消息的服務(wù)器,其中,該服務(wù)器包括:接收單元、數(shù)據(jù)庫(kù)單元、確定單元和 發(fā)送單元; 所述接收單元,適于接收客戶端發(fā)送的消息在客戶端側(cè)被用戶查看的時(shí)間和/或地點(diǎn) 信息,并保存到數(shù)據(jù)庫(kù)單元中; 所述數(shù)據(jù)庫(kù)單元,適于保存消息在客戶端側(cè)被用戶查看的時(shí)間和/或地點(diǎn)信息; 所述確定單元,適于根據(jù)所述數(shù)據(jù)庫(kù)單元中的信息,確定消息在客戶端側(cè)被用戶查看 的期望時(shí)間和/或地點(diǎn); 所述發(fā)送單元,適于將指定消息發(fā)送到客戶端,以及將確定的消息在客戶端側(cè)被用戶 查看的期望時(shí)間和/或地點(diǎn)通知給客戶端,使得客戶端在滿足所述期望時(shí)間和/或地點(diǎn)條 件時(shí)彈出所述指定消息。
7. 如權(quán)利要求6所述的服務(wù)器,其中, 所述接收單元,進(jìn)一步適于接收客戶端在滿足所述期望時(shí)間和/或地點(diǎn)時(shí)發(fā)送的推送 詢問消息; 所述確定單元,進(jìn)一步適于在所述接收單元收到所述推送詢問消息時(shí),根據(jù)數(shù)據(jù)庫(kù)單 元中的最新信息,重新確定所述指定消息在該客戶端側(cè)被用戶查看的期望時(shí)間和/或地 占. 所述發(fā)送單元,進(jìn)一步適于將重新確定所述指定消息在該客戶端側(cè)被用戶查看的期望 時(shí)間和/或地點(diǎn)發(fā)送給該客戶端,使得該客戶端在滿足所述重新確定的期望時(shí)間和/或地 點(diǎn)時(shí)彈出所述指定消息。
8. -種推送消息的客戶端裝置,其中,該客戶端裝置包括:發(fā)送單元、接收單元和彈出 單元; 所述發(fā)送單元,適于向服務(wù)器發(fā)送消息被用戶查看的時(shí)間和/或地點(diǎn)信息,使得服務(wù) 器將這些信息保存到數(shù)據(jù)庫(kù)單元中,并根據(jù)數(shù)據(jù)庫(kù)單元中的信息,確定消息被用戶查看的 期望時(shí)間和/或地點(diǎn); 所述接收單元,適于接收服務(wù)器發(fā)送的指定消息,以及服務(wù)器確定的所述消息在客戶 端裝置側(cè)被用戶查看的期望時(shí)間和/或地點(diǎn); 所述彈出單元,適于在滿足所述重新確定的期望時(shí)間和/或地點(diǎn)時(shí)彈出所述指定消 肩、。
9. 如權(quán)利要求8所述客戶端裝置,其中, 所述發(fā)送單元,進(jìn)一步適于在滿足所述期望時(shí)間和/或地點(diǎn)時(shí)先向服務(wù)器發(fā)送的推送 詢問消息; 所述接收單元,進(jìn)一步適于接收服務(wù)器返回的根據(jù)數(shù)據(jù)庫(kù)單元中的最新信息重新確定 的所述指定消息在該客戶端裝置側(cè)被用戶查看的期望時(shí)間和/或地點(diǎn); 所述彈出單元,適于在滿足所述重新確定的期望時(shí)間和/或地點(diǎn)時(shí)再?gòu)棾鏊鲋付ㄏ? 肩、。
10. -種推送消息的系統(tǒng),其中,該系統(tǒng),包括:如權(quán)利要求6-7中任一項(xiàng)所述的服務(wù) 器,以及多個(gè)如權(quán)利要求8-9中任一項(xiàng)所述的客戶端裝置。
【文檔編號(hào)】H04L12/58GK104065565SQ201410261923
【公開日】2014年9月24日 申請(qǐng)日期:2014年6月12日 優(yōu)先權(quán)日:2014年6月12日
【發(fā)明者】胡聰 申請(qǐng)人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司