終端顯示,避免了該η個(gè)轉(zhuǎn)發(fā)消息轉(zhuǎn)發(fā)的原創(chuàng)消息出現(xiàn)η次給用戶造成的騷擾,也降低了網(wǎng)絡(luò)傳輸負(fù)荷。
[0046]假設(shè)步驟12中,服務(wù)器統(tǒng)計(jì)到某一原創(chuàng)消息被無意義的轉(zhuǎn)發(fā)(即只是對(duì)原創(chuàng)消息進(jìn)行轉(zhuǎn)發(fā),轉(zhuǎn)發(fā)用戶并在轉(zhuǎn)發(fā)消息中添加任何其他信息如轉(zhuǎn)發(fā)用戶的評(píng)論等,這種轉(zhuǎn)發(fā)也可以稱為空轉(zhuǎn),這種轉(zhuǎn)發(fā)生成的消息可稱為無意義的轉(zhuǎn)發(fā)消息或空轉(zhuǎn)消息)多次,且該原創(chuàng)消息是步驟11中用戶請(qǐng)求讀取的網(wǎng)絡(luò)社交消息,則對(duì)于該原創(chuàng)消息的多次空轉(zhuǎn),服務(wù)器可以僅將該原創(chuàng)消息的空轉(zhuǎn)次數(shù)及最后一次空轉(zhuǎn)該原創(chuàng)消息的用戶信息返回給發(fā)送請(qǐng)求的終端,避免了將所有不必要的無意義的轉(zhuǎn)發(fā)消息都發(fā)送給終端造成的網(wǎng)絡(luò)傳輸負(fù)荷,以及給閱讀用戶帶來的瀏覽困難的問題。
[0047]需要說明的是,被聚合的多個(gè)轉(zhuǎn)發(fā)消息仍被存儲(chǔ)在服務(wù)器中,只是在發(fā)送給終端時(shí)進(jìn)行了聚合,終端側(cè)不做詳細(xì)顯示。
[0048]本發(fā)明實(shí)施例提供的聚合消息的方法中,接收終端發(fā)送的讀取消息的請(qǐng)求,可以包括:接收終端發(fā)送的讀取轉(zhuǎn)發(fā)消息的請(qǐng)求。例如,某一用戶想知道好友發(fā)給自己的轉(zhuǎn)發(fā)消息時(shí),可以通過某一終端向服務(wù)器發(fā)送請(qǐng)求,相應(yīng)地,服務(wù)器接收該終端發(fā)送的該用戶請(qǐng)求讀取轉(zhuǎn)發(fā)消息的請(qǐng)求。
[0049]當(dāng)服務(wù)器接收的是終端發(fā)送的讀取轉(zhuǎn)發(fā)消息的請(qǐng)求時(shí),統(tǒng)計(jì)所述請(qǐng)求讀取的消息中原創(chuàng)消息的轉(zhuǎn)發(fā)消息,可包括:統(tǒng)計(jì)用戶好友發(fā)送給所述用戶的轉(zhuǎn)發(fā)消息列表中,轉(zhuǎn)發(fā)對(duì)象為同一原創(chuàng)消息的轉(zhuǎn)發(fā)消息。所述用戶為通過所述終端發(fā)送讀取轉(zhuǎn)發(fā)消息的請(qǐng)求的用戶。
[0050]例如,張三要讀取自己收到的轉(zhuǎn)發(fā)消息,并通過終端發(fā)起請(qǐng)求,相應(yīng)地,服務(wù)器根據(jù)該請(qǐng)求從數(shù)據(jù)庫中找到張三的好友發(fā)給張三的所有轉(zhuǎn)發(fā)消息,這些轉(zhuǎn)發(fā)消息可以列表的形式存儲(chǔ)。之后,服務(wù)器可統(tǒng)計(jì)列表中轉(zhuǎn)發(fā)了同一原創(chuàng)消息的轉(zhuǎn)發(fā)消息。
[0051]當(dāng)存在轉(zhuǎn)發(fā)對(duì)象為同一原創(chuàng)消息的多個(gè)轉(zhuǎn)發(fā)消息時(shí),對(duì)于所述多個(gè)轉(zhuǎn)發(fā)消息,所述縮減轉(zhuǎn)發(fā)消息可為所述多個(gè)轉(zhuǎn)發(fā)消息中的最后η個(gè)轉(zhuǎn)發(fā)消息,其中,η大于I且小于所述多個(gè)轉(zhuǎn)發(fā)消息的數(shù)量,所述聚合結(jié)果還可包括:所述多個(gè)轉(zhuǎn)發(fā)消息中的最后一個(gè)轉(zhuǎn)發(fā)消息。
[0052]例如,張三和李四先后都向某一用戶發(fā)送了某一原創(chuàng)消息的轉(zhuǎn)發(fā)消息,則服務(wù)器接收到終端發(fā)送的該用戶讀取轉(zhuǎn)發(fā)消息的請(qǐng)求時(shí),統(tǒng)計(jì)到張三和李四發(fā)送的轉(zhuǎn)發(fā)消息都是對(duì)該原創(chuàng)消息的轉(zhuǎn)發(fā),則說明存在轉(zhuǎn)發(fā)對(duì)象為同一原創(chuàng)消息的多個(gè)轉(zhuǎn)發(fā)消息。則對(duì)于張三和李四發(fā)送的轉(zhuǎn)發(fā)消息,服務(wù)器只將最后對(duì)該原創(chuàng)消息進(jìn)行轉(zhuǎn)發(fā)的李四發(fā)送的轉(zhuǎn)發(fā)消息以及該原創(chuàng)消息被轉(zhuǎn)發(fā)次數(shù)(即該原創(chuàng)消息的轉(zhuǎn)發(fā)消息的數(shù)量)發(fā)送給終端進(jìn)行顯示,而不是重復(fù)顯示轉(zhuǎn)發(fā)內(nèi)容相同的轉(zhuǎn)發(fā)消息。需要說明的是,服務(wù)器也可以將最后幾個(gè)(如兩個(gè)、三個(gè)或四個(gè)等)轉(zhuǎn)發(fā)消息的用戶信息與最后一條轉(zhuǎn)發(fā)消息及轉(zhuǎn)發(fā)消息的數(shù)量一起發(fā)送給終端。
[0053]通常,網(wǎng)絡(luò)社交用戶可能接收到同一原創(chuàng)消息的轉(zhuǎn)發(fā)消息,也可能接收不同原創(chuàng)消息的轉(zhuǎn)發(fā)消息,這兩種轉(zhuǎn)發(fā)消息往往同時(shí)存在。例如,甲和乙向張三轉(zhuǎn)發(fā)了原創(chuàng)消息A (對(duì)應(yīng)轉(zhuǎn)發(fā)消息al和轉(zhuǎn)發(fā)消息a2),而丙向張三轉(zhuǎn)發(fā)了原創(chuàng)消息B (對(duì)應(yīng)轉(zhuǎn)發(fā)消息b),丁向張三轉(zhuǎn)發(fā)了原創(chuàng)消息C (對(duì)應(yīng)轉(zhuǎn)發(fā)消息c)。這種情況下,當(dāng)張三請(qǐng)求讀取發(fā)給自己的轉(zhuǎn)發(fā)消息時(shí),本發(fā)明實(shí)施例提供的聚合消息的方法,還可包括:
[0054]將所述網(wǎng)絡(luò)社交消息中除所述多個(gè)轉(zhuǎn)發(fā)消息以外的轉(zhuǎn)發(fā)消息,發(fā)送給所述終端進(jìn)行顯示,其中,所述網(wǎng)絡(luò)社交消息中除所述多個(gè)轉(zhuǎn)發(fā)消息以外的轉(zhuǎn)發(fā)消息,與所述多個(gè)轉(zhuǎn)發(fā)消息中的最后一個(gè)轉(zhuǎn)發(fā)消息,按照轉(zhuǎn)發(fā)時(shí)間以倒序的方式排列。
[0055]假設(shè)上述例子中,甲、乙、丙和丁向張三發(fā)送轉(zhuǎn)發(fā)消息的時(shí)間順序?yàn)?乙、甲、丁、丙,對(duì)于轉(zhuǎn)發(fā)消息al和轉(zhuǎn)發(fā)消息a2,服務(wù)器可僅選取轉(zhuǎn)發(fā)消息al作為發(fā)送給終端的對(duì)象之一,另外還要將轉(zhuǎn)發(fā)消息b和轉(zhuǎn)發(fā)消息c作為發(fā)送給終端的對(duì)象。具體地,服務(wù)器將轉(zhuǎn)發(fā)消息al、轉(zhuǎn)發(fā)消息b和轉(zhuǎn)發(fā)消息c按照轉(zhuǎn)發(fā)時(shí)間進(jìn)行排序,并將轉(zhuǎn)發(fā)消息al和轉(zhuǎn)發(fā)消息a2總數(shù)放在轉(zhuǎn)發(fā)消息al的消息框中,然后發(fā)送給終端。終端接收到這些消息后,屏幕上從上到下依次顯示轉(zhuǎn)發(fā)消息al及轉(zhuǎn)發(fā)數(shù)量2、轉(zhuǎn)發(fā)消息c和轉(zhuǎn)發(fā)消息b。
[0056]或者,本發(fā)明實(shí)施例提供的聚合消息的方法中,接收終端發(fā)送的讀取消息的請(qǐng)求,可以包括:接收終端發(fā)送的讀取原創(chuàng)消息的請(qǐng)求。例如,某一用戶在終端的網(wǎng)絡(luò)社交產(chǎn)品的用戶界面上點(diǎn)擊某一名人的一個(gè)原創(chuàng)消息或者自己的某一原創(chuàng)消息時(shí),則通過該終端向服務(wù)器發(fā)送了請(qǐng)求,相應(yīng)地,服務(wù)器接收該終端發(fā)送的該用戶請(qǐng)求讀取該原創(chuàng)消息的請(qǐng)求。
[0057]當(dāng)服務(wù)器接收終端發(fā)送的用戶讀取原創(chuàng)消息的請(qǐng)求時(shí),本發(fā)明實(shí)施例提供的聚合消息的方法中,所述同一原創(chuàng)消息可為所述請(qǐng)求讀取的原創(chuàng)消息,所述多個(gè)轉(zhuǎn)發(fā)消息為多個(gè)無意義的轉(zhuǎn)發(fā)消息,所述多個(gè)無意義的轉(zhuǎn)發(fā)消息的數(shù)量滿足預(yù)設(shè)的閾值,所述無意義的轉(zhuǎn)發(fā)消息為轉(zhuǎn)發(fā)用戶未添加信息的轉(zhuǎn)發(fā)消息。
[0058]對(duì)于原創(chuàng)消息的相關(guān)信息,用戶一般只想看到有意義的信息,如評(píng)論信息、轉(zhuǎn)發(fā)的數(shù)量或評(píng)論的數(shù)量等等。其中,有的轉(zhuǎn)發(fā)消息只是單純的轉(zhuǎn)發(fā),如果按照時(shí)間線給出這些轉(zhuǎn)發(fā)消息,會(huì)給只想看評(píng)論消息的用戶造成閱讀難度,因?yàn)橛脩艨床坏接幸饬x的內(nèi)容,相應(yīng)地,也會(huì)給網(wǎng)絡(luò)帶來不必要的負(fù)擔(dān)。因此,可以考慮當(dāng)無意義的轉(zhuǎn)發(fā)消息超過一定數(shù)量,如3,則對(duì)于無意義的轉(zhuǎn)發(fā)消息,只顯示最后一個(gè)轉(zhuǎn)發(fā)消息的用戶信息及無意義的轉(zhuǎn)發(fā)消息的數(shù)量,其余轉(zhuǎn)發(fā)消息和評(píng)論消息按照消息的產(chǎn)生時(shí)間排列。
[0059]例如,某一原創(chuàng)消息被轉(zhuǎn)發(fā)了 m次,其中帶評(píng)論的轉(zhuǎn)發(fā)有η次,則被空轉(zhuǎn)的次數(shù)為m-n次,假設(shè)閾值為6,則當(dāng)m-n彡6時(shí),則對(duì)于m_n次無意義的轉(zhuǎn)發(fā)消息,服務(wù)器只將其中最后一個(gè)轉(zhuǎn)發(fā)消息的用戶信息及數(shù)量m-n發(fā)送給終端進(jìn)行顯示。其中,該原創(chuàng)消息可以是步驟11中用戶請(qǐng)求讀取的自己的原創(chuàng)消息,也可以是別的用戶的原創(chuàng)消息。
[0060]其中,閾值可根據(jù)實(shí)際需要預(yù)設(shè),不限于上述實(shí)例給出的數(shù)值。
[0061]如果用戶請(qǐng)求讀取的原創(chuàng)消息,還有除上述無意義的轉(zhuǎn)發(fā)消息以外的帶評(píng)論的轉(zhuǎn)發(fā)消息,則,本發(fā)明實(shí)施例提供的聚合消息的方法,還可包括:
[0062]將所述用戶請(qǐng)求讀取的原創(chuàng)消息的轉(zhuǎn)發(fā)消息中,除所述無意義的轉(zhuǎn)發(fā)消息以外的轉(zhuǎn)發(fā)消息,按照轉(zhuǎn)發(fā)時(shí)間順序排列后,發(fā)送給所述終端進(jìn)行顯示。
[0063]例如,某一原創(chuàng)消息被轉(zhuǎn)發(fā)了 m次,其中帶評(píng)論的轉(zhuǎn)發(fā)有η次,且m-n > N,其中,N為閾值。當(dāng)某一用戶通過終端請(qǐng)求讀取該原創(chuàng)消息時(shí),對(duì)于m-n次無意義的轉(zhuǎn)發(fā),服務(wù)器將最后一次轉(zhuǎn)發(fā)的用戶信息及m-n作為返回給該用戶的信息的同時(shí),還將η次帶評(píng)論的轉(zhuǎn)發(fā)(對(duì)應(yīng)η個(gè)轉(zhuǎn)發(fā)消息)作為返回該用戶的信息。并且這η個(gè)轉(zhuǎn)發(fā)消息按照時(shí)間順序進(jìn)行排列。
[0064]如果用戶請(qǐng)求讀取的原創(chuàng)消息,還有除上述無意義的轉(zhuǎn)發(fā)消息以外評(píng)論消息,則,本發(fā)明實(shí)施例提供的聚合消息的方法,還可包括:
[0065]將所述用戶請(qǐng)求讀取的原創(chuàng)消息的評(píng)論消息發(fā)送給所述終端。
[0066]例如,某一原創(chuàng)消息被評(píng)論了 P次,被空轉(zhuǎn)了 m次,且m > N,其中,N為閾值。當(dāng)某一用戶通過終端請(qǐng)求讀取該原創(chuàng)消息時(shí),對(duì)于m次無意義的轉(zhuǎn)發(fā),服務(wù)器將最后一次轉(zhuǎn)發(fā)的用戶信息及m作為返回給該用戶的信息的同時(shí),還將P次評(píng)論(對(duì)應(yīng)P個(gè)評(píng)論消息)作為返回該用戶的信息。并且這P個(gè)評(píng)論消息按照時(shí)間順序進(jìn)行排列。
[0067]假設(shè)該原創(chuàng)消息還被帶評(píng)論的轉(zhuǎn)發(fā)了 η次(對(duì)應(yīng)η個(gè)轉(zhuǎn)發(fā)消息),則服務(wù)器還進(jìn)一步將這η個(gè)轉(zhuǎn)發(fā)消息返回給所述終端。具體地,這η個(gè)轉(zhuǎn)發(fā)消息和P個(gè)評(píng)論消息按照時(shí)間順序排列,一起被服務(wù)器發(fā)送給用戶的終端。
[0068]假設(shè)發(fā)起讀取原創(chuàng)消息的請(qǐng)求的用戶,還要進(jìn)一步讀取m-n次或m次空轉(zhuǎn)的詳細(xì)信息,則,將聚合結(jié)果發(fā)送給所述終端之后,還可包括:
[0069]接收所述終端發(fā)送的讀取所述無意義的轉(zhuǎn)發(fā)消息的請(qǐng)求;
[0070]根據(jù)所述讀取所述原創(chuàng)消息的無意義的轉(zhuǎn)發(fā)消息的請(qǐng)求,將所述無意義的轉(zhuǎn)發(fā)消息發(fā)送給所述終端。
[0071]例如,用戶點(diǎn)擊終端上顯示的網(wǎng)絡(luò)社交產(chǎn)品的用戶界面上的“轉(zhuǎn)發(fā)”按鈕,相應(yīng)地,服務(wù)器接收到終端發(fā)送的讀取無意義的轉(zhuǎn)發(fā)消息的請(qǐng)求,則服務(wù)器將所有無意義的轉(zhuǎn)發(fā)消息按轉(zhuǎn)發(fā)時(shí)間的先后時(shí)間排序后發(fā)送給終端進(jìn)行顯示。
[0072]本發(fā)明實(shí)施例提供的聚合消息的方法中,還可實(shí)時(shí)進(jìn)行聚合更新。具體地,將聚合結(jié)果發(fā)送給所述終端之后,還可包括:
[0073]記錄與所述多個(gè)轉(zhuǎn)發(fā)消息的轉(zhuǎn)發(fā)對(duì)象相同的新轉(zhuǎn)發(fā)消息;
[0074]對(duì)所述多個(gè)轉(zhuǎn)發(fā)消息及所述新轉(zhuǎn)發(fā)消息進(jìn)行聚合,將新的聚合結(jié)果發(fā)送給所述終端,所述新的聚合結(jié)果中,轉(zhuǎn)發(fā)消息數(shù)量等于所述多個(gè)轉(zhuǎn)發(fā)消息的數(shù)量加1,用戶信息包括所述新轉(zhuǎn)發(fā)消息的用戶信息。
[0075]假如終端接收到服務(wù)器根據(jù)用戶請(qǐng)求返回的信息之后,用戶在閱讀這些信息的過程,可能用戶還會(huì)進(jìn)一步接收到別的用戶發(fā)送的轉(zhuǎn)發(fā)消息,且該轉(zhuǎn)發(fā)消息與之前接收的轉(zhuǎn)發(fā)消息的轉(zhuǎn)發(fā)對(duì)象相同,或者是讀取的原創(chuàng)消息的又被空轉(zhuǎn)了一次,則服務(wù)器可以對(duì)同一原創(chuàng)消息的多個(gè)轉(zhuǎn)發(fā)消息進(jìn)行再次統(tǒng)計(jì),或者對(duì)用戶請(qǐng)求讀取的原創(chuàng)消息的無意義的轉(zhuǎn)發(fā)消息進(jìn)行再次統(tǒng)計(jì),之后把最新的轉(zhuǎn)發(fā)消息的條數(shù)或空轉(zhuǎn)次數(shù)以及最新的用戶信息重新發(fā)送給終端,以覆蓋之前發(fā)送給終端的信息。
[0076]下面通過圖2-圖6對(duì)聚合消息的方法做進(jìn)一步詳細(xì)說明。
[0077]參見圖2,某一用戶通過一終端讀取好友發(fā)送給自己的消息列表時(shí),如圖3所示,該用戶通過網(wǎng)絡(luò)社交產(chǎn)品的用戶界面上的“動(dòng)態(tài)”按鈕時(shí),相應(yīng)地,服務(wù)器執(zhí)行步驟21至步驟25。
[0078]步驟21中,服務(wù)器接收該終端發(fā)送的該用戶讀取轉(zhuǎn)發(fā)消息的請(qǐng)求。
[0079]步驟22中,服務(wù)器根據(jù)步驟21中接收的請(qǐng)求拉取該用戶的好友轉(zhuǎn)發(fā)消息列表。
[0080]步驟23中,服務(wù)器判斷好友轉(zhuǎn)發(fā)消息列表中是否有針對(duì)同一原創(chuàng)消息的轉(zhuǎn)發(fā)消息,也即判斷好友轉(zhuǎn)