消息計(jì)數(shù)方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別涉及一種消息計(jì)數(shù)方法及裝置。
【背景技術(shù)】
[0002]在諸如微博之類的社交應(yīng)用中,若用戶A收聽了用戶B,則服務(wù)器需要將用戶B發(fā)表且用戶A未讀的消息的數(shù)量統(tǒng)計(jì)到用戶A首頁(yè)的未讀消息計(jì)數(shù)中,以便用戶A在登錄首頁(yè)后可以對(duì)用戶B新發(fā)表的消息進(jìn)行查看。
[0003]現(xiàn)有的一種消息計(jì)數(shù)方法包括:服務(wù)器獲取終端上次讀取未讀消息計(jì)數(shù)的讀取時(shí)間和用戶的收聽用戶列表;對(duì)于收聽用戶列表中的每個(gè)收聽用戶,服務(wù)器對(duì)該收聽用戶在讀取時(shí)間之后發(fā)表的消息的數(shù)目相加,得到消息計(jì)數(shù);將所有收聽用戶的消息計(jì)數(shù)相加后得到未讀消息計(jì)數(shù)。
[0004]發(fā)明人在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在以下缺陷:
[0005]服務(wù)器需要獲取收聽用戶列表,再獲取每個(gè)收聽用戶發(fā)表的消息,使得統(tǒng)計(jì)未讀消息計(jì)數(shù)的計(jì)算量較大,影響了對(duì)未讀消息的計(jì)數(shù)效率。
【發(fā)明內(nèi)容】
[0006]為了解決服務(wù)器獲取每個(gè)收聽用戶發(fā)表的消息影響對(duì)未讀消息的計(jì)數(shù)效率的問題,本發(fā)明實(shí)施例提供了一種消息計(jì)數(shù)方法及裝置。所述技術(shù)方案如下:
[0007]第一方面,本發(fā)明實(shí)施例提供了一種消息計(jì)數(shù)方法,所述方法包括:
[0008]在與終端建立連接后,接收所述終端發(fā)送的讀取請(qǐng)求,所述讀取請(qǐng)求中攜帶有用戶標(biāo)識(shí),所述用戶標(biāo)識(shí)用于標(biāo)識(shí)在所述終端中登錄的用戶;
[0009]獲取所述用戶的收聽用戶列表以及所述終端上次讀取未讀消息計(jì)數(shù)的上次讀取時(shí)間,所述收聽用戶列表包括所述用戶收聽的至少一個(gè)收聽用戶;
[0010]獲取每個(gè)收聽用戶最近一次發(fā)表消息的發(fā)表時(shí)間;
[0011]對(duì)于發(fā)表時(shí)間在所述上次讀取時(shí)間之后的收聽用戶,將所有所述收聽用戶在所述上次讀取時(shí)間之后發(fā)表的消息的數(shù)目相加,得到本次的未讀消息計(jì)數(shù)。
[0012]第二方面,本發(fā)明實(shí)施例提供了一種消息計(jì)數(shù)裝置,所述裝置包括:
[0013]請(qǐng)求接收模塊,用于在與終端建立連接后,接收所述終端發(fā)送的讀取請(qǐng)求,所述讀取請(qǐng)求中攜帶有用戶標(biāo)識(shí),所述用戶標(biāo)識(shí)用于標(biāo)識(shí)在所述終端中登錄的用戶;
[0014]信息獲取模塊,用于獲取所述用戶的收聽用戶列表以及所述終端上次讀取未讀消息計(jì)數(shù)的上次讀取時(shí)間,所述收聽用戶列表包括所述用戶收聽的至少一個(gè)收聽用戶;
[0015]時(shí)間獲取模塊,用于獲取每個(gè)收聽用戶最近一次發(fā)表消息的發(fā)表時(shí)間;
[0016]消息計(jì)數(shù)模塊,用于對(duì)于所述時(shí)間獲取模塊獲取到的發(fā)表時(shí)間在所述上次讀取時(shí)間之后的收聽用戶,將所有所述收聽用戶在所述上次讀取時(shí)間之后發(fā)表的消息的數(shù)目相力口,得到本次的未讀消息計(jì)數(shù)。
[0017]通過獲取用戶的收聽用戶列表以及終端上次讀取未讀消息計(jì)數(shù)的上次讀取時(shí)間,該收聽用戶列表包括用戶收聽的至少一個(gè)收聽用戶;獲取每個(gè)收聽用戶最近一次發(fā)表消息的發(fā)表時(shí)間;對(duì)于發(fā)表時(shí)間在上次讀取時(shí)間之后的收聽用戶,將所有收聽用戶在上次讀取時(shí)間之后發(fā)表的消息的數(shù)目相加,得到本次的未讀消息計(jì)數(shù),可以篩選出在上次讀取時(shí)間之后發(fā)表消息的收聽用戶,避免了對(duì)在上次讀取時(shí)間之后未發(fā)表消息的收聽用戶的訪問,解決了服務(wù)器獲取每個(gè)收聽用戶發(fā)表的消息影響對(duì)未讀消息的計(jì)數(shù)效率的問題,達(dá)到了提高對(duì)未讀消息的計(jì)數(shù)效率的效果。
【附圖說明】
[0018]為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0019]圖1是本發(fā)明一個(gè)實(shí)施例提供的消息計(jì)數(shù)方法的方法流程圖;
[0020]圖2是本發(fā)明另一實(shí)施例提供的消息計(jì)數(shù)方法的方法流程圖;
[0021]圖3是本發(fā)明一個(gè)實(shí)施例提供的消息計(jì)數(shù)裝置的結(jié)構(gòu)框架圖;
[0022]圖4是本發(fā)明再一實(shí)施例提供的消息計(jì)數(shù)裝置的結(jié)構(gòu)框架圖;
[0023]圖5是本發(fā)明一個(gè)實(shí)施例提供的服務(wù)器的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0024]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。
[0025]請(qǐng)參考圖1,其示出了本發(fā)明一個(gè)實(shí)施例提供的消息計(jì)數(shù)方法的方法流程圖,該消息計(jì)數(shù)方法可以應(yīng)用于服務(wù)器中。該消息計(jì)數(shù)方法,包括:
[0026]步驟101,在與終端建立連接后,接收終端發(fā)送的讀取請(qǐng)求,該讀取請(qǐng)求中攜帶有用戶標(biāo)識(shí),該用戶標(biāo)識(shí)用于標(biāo)識(shí)在終端中登錄的用戶;
[0027]讀取請(qǐng)求是終端訪問社交應(yīng)用的首頁(yè)時(shí),向服務(wù)器發(fā)送的讀取未讀消息計(jì)數(shù)的請(qǐng)求。未讀消息計(jì)數(shù)是對(duì)收聽用戶發(fā)表且用戶未查看過的消息的計(jì)數(shù),收聽用戶是用戶在社交應(yīng)用中所收聽的用戶。
[0028]步驟102,獲取用戶的收聽用戶列表以及終端上次讀取未讀消息計(jì)數(shù)的上次讀取時(shí)間,該收聽用戶列表包括用戶收聽的至少一個(gè)收聽用戶;
[0029]上次讀取時(shí)間是服務(wù)器記錄的、終端上次讀取未讀消息計(jì)數(shù)的時(shí)間。
[0030]步驟103,獲取每個(gè)收聽用戶最近一次發(fā)表消息的發(fā)表時(shí)間;
[0031]步驟104,對(duì)于發(fā)表時(shí)間在上次讀取時(shí)間之后的收聽用戶,將所有收聽用戶在上次讀取時(shí)間之后發(fā)表的消息的數(shù)目相加,得到本次的未讀消息計(jì)數(shù)。
[0032]若某些收聽用戶在上次讀取時(shí)間之后未發(fā)表消息,則對(duì)這些收聽用戶統(tǒng)計(jì)的未讀消息計(jì)數(shù)為0。由于服務(wù)器統(tǒng)計(jì)這些收聽用戶的未讀消息計(jì)數(shù)并不會(huì)改變未讀消息計(jì)數(shù),并且會(huì)浪費(fèi)時(shí)間,因此,服務(wù)器可以先篩選出在上次讀取時(shí)間之后發(fā)表過消息的收聽用戶,再對(duì)篩選出的收聽用戶的未讀消息計(jì)數(shù)進(jìn)行統(tǒng)計(jì),以節(jié)省對(duì)未讀消息計(jì)數(shù)的統(tǒng)計(jì)時(shí)間,提高對(duì)未讀消息的計(jì)數(shù)效率。
[0033]綜上所述,本發(fā)明實(shí)施例提供的消息計(jì)數(shù)方法,通過獲取用戶的收聽用戶列表以及終端上次讀取未讀消息計(jì)數(shù)的上次讀取時(shí)間,該收聽用戶列表包括用戶收聽的至少一個(gè)收聽用戶;獲取每個(gè)收聽用戶最近一次發(fā)表消息的發(fā)表時(shí)間;對(duì)于發(fā)表時(shí)間在上次讀取時(shí)間之后的收聽用戶,將所有收聽用戶在上次讀取時(shí)間之后發(fā)表的消息的數(shù)目相加,得到本次的未讀消息計(jì)數(shù),可以篩選出在上次讀取時(shí)間之后發(fā)表消息的收聽用戶,避免了對(duì)在上次讀取時(shí)間之后未發(fā)表消息的收聽用戶的訪問,解決了服務(wù)器獲取每個(gè)收聽用戶發(fā)表的消息影響對(duì)未讀消息的計(jì)數(shù)效率的問題,達(dá)到了提高對(duì)未讀消息的計(jì)數(shù)效率的效果。
[0034]請(qǐng)參考圖2,其示出了本發(fā)明另一實(shí)施例提供的消息計(jì)數(shù)方法的方法流程圖,該消息計(jì)數(shù)方法可以應(yīng)用于服務(wù)器中。該消息計(jì)數(shù)方法,包括:
[0035]步驟201,在與終端建立連接后,接收終端發(fā)送的讀取請(qǐng)求,該讀取請(qǐng)求中攜帶有用戶標(biāo)識(shí),該用戶標(biāo)識(shí)用于標(biāo)識(shí)在終端中登錄的用戶;
[0036]讀取請(qǐng)求是終端訪問社交應(yīng)用的首頁(yè)時(shí),向服務(wù)器發(fā)送的讀取未讀消息計(jì)數(shù)的請(qǐng)求。未讀消息計(jì)數(shù)是對(duì)收聽用戶發(fā)表且用戶未查看過的消息的計(jì)數(shù),收聽用戶是用戶在社交應(yīng)用中所收聽的用戶。
[0037]步驟202,獲取用戶的收聽用戶列表以及終端上次讀取未讀消息計(jì)數(shù)的上次讀取時(shí)間,該收聽用戶列表包括用戶收聽的至少一個(gè)收聽用戶;
[0038]終端會(huì)在讀取請(qǐng)求中攜帶用戶標(biāo)識(shí),服務(wù)器根據(jù)用戶標(biāo)識(shí)可以確定用戶,獲取該用戶的收聽用戶列表和該用戶上次使用終端讀取未讀消息計(jì)數(shù)的上次讀取時(shí)間。
[0039]本實(shí)施例中,收聽用戶列表是服務(wù)器從用于記錄收聽關(guān)系的中轉(zhuǎn)服務(wù)器中獲取得到的。優(yōu)選地,服務(wù)器還可以對(duì)獲取到的用戶收聽列表進(jìn)行緩存,以便下次可以直接從緩存中獲取該收聽用戶列表,提高對(duì)用戶收聽列表的獲取效率。
[0040]進(jìn)一步地,服務(wù)器還可以對(duì)緩存中的收聽用戶列表進(jìn)行更新。比如,當(dāng)用戶編輯了收聽用戶列表中的收聽用戶時(shí),服務(wù)器可以根據(jù)編輯內(nèi)容對(duì)緩存中的收聽用戶列表進(jìn)行更新,或,服務(wù)器可以重新從中轉(zhuǎn)服務(wù)器中獲取更新后的收聽用戶列表。又比如,當(dāng)收聽用戶列表的緩存時(shí)間超過預(yù)先設(shè)置的過期時(shí)間時(shí),服務(wù)器可以重新從中轉(zhuǎn)服務(wù)器中獲取收聽用戶列表,以保證收聽用戶列表的準(zhǔn)確性。
[0041]本實(shí)施例中,服務(wù)器可以將上次讀取時(shí)間和用戶標(biāo)識(shí)進(jìn)行對(duì)應(yīng)存儲(chǔ)。
[0042]步驟203,獲取每個(gè)收聽用戶最近一次發(fā)表消息的發(fā)表時(shí)間;
[0043]在收聽用戶將發(fā)表的消息發(fā)送給用于轉(zhuǎn)發(fā)消息的中轉(zhuǎn)服務(wù)器后,中轉(zhuǎn)服務(wù)器將消息發(fā)送給收聽該收聽用戶的用戶的服務(wù)器,