本發(fā)明涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別涉及一種用戶賬號(hào)管理方法及裝置。
背景技術(shù):
隨著網(wǎng)絡(luò)技術(shù)的快速發(fā)展,出現(xiàn)了各種類型的服務(wù)器。服務(wù)器提供有直播聊天室,通常情況下,終端可以通過用戶賬號(hào)登錄至該直播聊天室中,也可以退出該直播聊天室。
在實(shí)際應(yīng)用過程中,服務(wù)器可以對(duì)直播聊天室內(nèi)的用戶賬號(hào)進(jìn)行管理,管理過程包括:當(dāng)服務(wù)器接收到終端通過用戶賬號(hào)發(fā)送的登錄請(qǐng)求時(shí),將該用戶賬號(hào)添加至該直播聊天室內(nèi),也即是,將該用戶賬號(hào)與該直播聊天室的標(biāo)識(shí)之間對(duì)應(yīng)存儲(chǔ)至自身的系統(tǒng)資源中,當(dāng)接收到該終端通過該用戶賬號(hào)發(fā)送的退出直播聊天室的退出請(qǐng)求時(shí),該服務(wù)器將該用戶賬號(hào)從該直播聊天室中刪除,也即是,將該用戶賬號(hào)從該系統(tǒng)資源中刪除。
在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題:上述僅僅是對(duì)請(qǐng)求登錄和請(qǐng)求退出的用戶賬號(hào)進(jìn)行管理,管理對(duì)象具有一定的局限性。
技術(shù)實(shí)現(xiàn)要素:
為了解決現(xiàn)有技術(shù)的問題,本發(fā)明實(shí)施例提供了一種用戶賬號(hào)管理方法及裝置。所述技術(shù)方案如下:
第一方面,提供了一種用戶賬號(hào)管理方法,所述方法包括:
當(dāng)檢測(cè)到直播聊天室有上行消息時(shí),向連接管理代理CMP發(fā)送上行消息指示,以通過CMP通知當(dāng)前加入所述直播聊天室的各用戶進(jìn)行消息拉??;
維護(hù)用戶對(duì)應(yīng)的對(duì)象,等待CMP回調(diào);
根據(jù)CMP回調(diào)信息,確定處于穩(wěn)定離線狀態(tài)的用戶,所述穩(wěn)定離線狀態(tài)是指持續(xù)處于離線狀態(tài)的時(shí)長(zhǎng)達(dá)到第一預(yù)設(shè)時(shí)長(zhǎng)的狀態(tài)和/或經(jīng)過統(tǒng)計(jì)持續(xù)處于離線狀態(tài)的次數(shù)達(dá)到預(yù)設(shè)次數(shù)的狀態(tài);
將確定為處于穩(wěn)定離線狀態(tài)的用戶對(duì)應(yīng)的用戶賬號(hào)從所述直播聊天室內(nèi)刪除。
可選地,所述維護(hù)用戶對(duì)應(yīng)的對(duì)象,等待CMP回調(diào),具體包括:
根據(jù)用戶歷史狀態(tài)信息,確定統(tǒng)計(jì)為離線狀態(tài)的用戶;所述用戶歷史狀態(tài)信息根據(jù)CMP歷史回調(diào)信息得到;
根據(jù)用戶消息拉取情況,確定未進(jìn)行消息拉取的用戶;
創(chuàng)建并維護(hù)統(tǒng)計(jì)為離線狀態(tài)的用戶及未進(jìn)行消息拉取的用戶對(duì)應(yīng)的對(duì)象,等待CMP回調(diào)。
可選地,所述根據(jù)CMP回調(diào)信息,確定處于穩(wěn)定離線狀態(tài)的用戶,包括:
對(duì)本次CMP做回調(diào)的各用戶,根據(jù)本次回調(diào)信息及所述用戶歷史狀態(tài)信息,將用戶狀態(tài)信息中離線狀態(tài)的時(shí)長(zhǎng)達(dá)到所述第一預(yù)設(shè)時(shí)長(zhǎng)和/或持續(xù)處于離線狀態(tài)的次數(shù)達(dá)到所述預(yù)設(shè)次數(shù)的用戶,確定為處于穩(wěn)定離線狀態(tài)的用戶;
所述CMP回調(diào)信息中包括做回調(diào)的用戶的當(dāng)前狀態(tài)。
可選地,所述方法還包括:
根據(jù)CMP回調(diào)信息及確定處于穩(wěn)定離線狀態(tài)的用戶,更新用戶歷史狀態(tài)信息;具體為:
清除所述用戶歷史狀態(tài)信息中所述確定為處于穩(wěn)定離線狀態(tài)的用戶對(duì)應(yīng)的用戶狀態(tài)統(tǒng)計(jì)信息;
對(duì)于所述用戶狀態(tài)信息中統(tǒng)計(jì)為離線狀態(tài)、而所述CMP回調(diào)信息指示為在線狀態(tài)的用戶,將對(duì)應(yīng)的用戶狀態(tài)統(tǒng)計(jì)信息進(jìn)行清零。
可選地,所述方法還包括:
獲取直播聊天室對(duì)應(yīng)的白名單用戶,所述白名單用戶包括主播用戶及主播或管理員設(shè)置的不進(jìn)行刪除的用戶;
所述維護(hù)用戶對(duì)應(yīng)的對(duì)象,等待CMP回調(diào);根據(jù)CMP回調(diào)信息,確定處于穩(wěn)定離線狀態(tài)的用戶的操作,為針對(duì)所述直播聊天室中除所述白名單用戶外的用戶。
第二方面,提供了一種用戶賬號(hào)管理方法,所述方法包括:
當(dāng)接收到直播聊天室的服務(wù)器的上行消息指示時(shí),通知當(dāng)前加入所述直播聊天室內(nèi)的各用戶進(jìn)行消息拉?。?/p>
對(duì)所述服務(wù)器維護(hù)的用戶對(duì)應(yīng)的對(duì)象做回調(diào),反饋回調(diào)信息,以使所述服務(wù)器根據(jù)所述回調(diào)信息,確定并刪除處于穩(wěn)定離線狀態(tài)的用戶對(duì)應(yīng)的用戶賬號(hào),所述穩(wěn)定離線狀態(tài)是指持續(xù)處于離線狀態(tài)的時(shí)長(zhǎng)達(dá)到第一預(yù)設(shè)時(shí)長(zhǎng)的狀態(tài)和/或經(jīng)過統(tǒng)計(jì)持續(xù)處于離線狀態(tài)的次數(shù)達(dá)到預(yù)設(shè)次數(shù)的狀態(tài)。
可選地,所述回調(diào)信息包括做回調(diào)的用戶的當(dāng)前狀態(tài);
所述方法還包括:
根據(jù)與所述直播聊天室內(nèi)的各用戶之間的交互信息,確定并更新用戶當(dāng)前狀態(tài),所述當(dāng)前狀態(tài)包括在線狀態(tài)或離線狀態(tài);
所述交互信息包括重連消息,所述重連消息為客戶端檢測(cè)到用戶由離線轉(zhuǎn)為在線時(shí),由客戶端通過軟件開發(fā)工具包SDK自動(dòng)發(fā)起;
其中,當(dāng)接收到所述連接消息時(shí),將發(fā)送所述連接消息的用戶的當(dāng)前狀態(tài)更新為在線狀態(tài)。
第三方面,提供了一種用戶賬號(hào)管理裝置,所述裝置包括:
通知模塊,用于當(dāng)檢測(cè)到直播聊天室有上行消息時(shí),向連接管理代理CMP發(fā)送上行消息指示,以通過CMP通知當(dāng)前加入所述直播聊天室的各用戶進(jìn)行消息拉??;
維護(hù)模塊,用于維護(hù)用戶對(duì)應(yīng)的對(duì)象,等待CMP回調(diào);
確定模塊,用于根據(jù)CMP回調(diào)信息,確定處于穩(wěn)定離線狀態(tài)的用戶,所述穩(wěn)定離線狀態(tài)是指持續(xù)處于離線狀態(tài)的時(shí)長(zhǎng)達(dá)到第一預(yù)設(shè)時(shí)長(zhǎng)的狀態(tài)和/或經(jīng)過統(tǒng)計(jì)持續(xù)處于離線狀態(tài)的次數(shù)達(dá)到預(yù)設(shè)次數(shù)的狀態(tài);
刪除模塊,用于將確定為處于穩(wěn)定離線狀態(tài)的用戶對(duì)應(yīng)的用戶賬號(hào)從所述直播聊天室內(nèi)刪除。
可選地,所述維護(hù)模塊用于:
根據(jù)用戶歷史狀態(tài)信息,確定統(tǒng)計(jì)為離線狀態(tài)的用戶;所述用戶歷史狀態(tài)信息根據(jù)CMP歷史回調(diào)信息得到;
根據(jù)用戶消息拉取情況,確定未進(jìn)行消息拉取的用戶;
創(chuàng)建并維護(hù)統(tǒng)計(jì)為離線狀態(tài)的用戶及未進(jìn)行消息拉取的用戶對(duì)應(yīng)的對(duì)象,等待CMP回調(diào)。
第四方面,提供了一種用戶賬號(hào)管理裝置,所述裝置包括:
通知模塊,用于當(dāng)接收到直播聊天室的服務(wù)器的上行消息指示時(shí),通知當(dāng)前加入所述直播聊天室內(nèi)的各用戶進(jìn)行消息拉??;
反饋模塊,用于對(duì)所述服務(wù)器維護(hù)的用戶對(duì)應(yīng)的對(duì)象做回調(diào),反饋回調(diào)信息,以使所述服務(wù)器根據(jù)所述回調(diào)信息,確定并刪除處于穩(wěn)定離線狀態(tài)的用戶對(duì)應(yīng)的用戶賬號(hào),所述穩(wěn)定離線狀態(tài)是指持續(xù)處于離線狀態(tài)的時(shí)長(zhǎng)達(dá)到第一預(yù)設(shè)時(shí)長(zhǎng)的狀態(tài)和/或經(jīng)過統(tǒng)計(jì)持續(xù)處于離線狀態(tài)的次數(shù)達(dá)到預(yù)設(shè)次數(shù)的狀態(tài)。
本發(fā)明實(shí)施例提供的技術(shù)方案帶來的有益效果是:當(dāng)檢測(cè)到直播聊天室內(nèi)有上行消息時(shí),向CMP發(fā)送上行消息指示,以通過該CMP通知當(dāng)前加入該直播聊天室的各用戶對(duì)該上行消息進(jìn)行拉取。之后,維護(hù)用戶對(duì)應(yīng)的對(duì)象,等待CMP回調(diào),根據(jù)CMP回調(diào)信息,確定處于穩(wěn)定離線狀態(tài)的用戶,由于當(dāng)用戶處于穩(wěn)定離線狀態(tài)時(shí),說明該用戶已經(jīng)在較長(zhǎng)時(shí)長(zhǎng)內(nèi)持續(xù)處于離線狀態(tài),因此,可以將確定為處于穩(wěn)定離線狀態(tài)的用戶對(duì)應(yīng)的用戶賬號(hào)從該直播聊天室內(nèi)刪除,如此,增加了管理對(duì)象,并且,由于將穩(wěn)定離線狀態(tài)的用戶賬號(hào)進(jìn)行了刪除處理,從而節(jié)省了系統(tǒng)資源。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1A是根據(jù)一示例性實(shí)施例示出的一種實(shí)施環(huán)境示意圖。
圖1B是根據(jù)一示例性實(shí)施例示出的一種用戶賬號(hào)管理方法的流程圖。
圖1C是根據(jù)另一示例性實(shí)施例示出的一種用戶賬號(hào)管理方法流程圖。
圖2是根據(jù)另一示例性實(shí)施例示出的一種用戶賬號(hào)管理方法的流程圖。
圖3是根據(jù)一示例性實(shí)施例示出的一種用戶賬號(hào)管理裝置的結(jié)構(gòu)示意圖。
圖4是根據(jù)另一示例性實(shí)施例示出的一種用戶賬號(hào)管理裝置的結(jié)構(gòu)示意圖。
圖5是根據(jù)一示例性實(shí)施例示出的一種用戶賬號(hào)管理裝置500的框圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。
圖1A是根據(jù)一示例性實(shí)施例示出的一種實(shí)施環(huán)境示意圖,該實(shí)施環(huán)境中主要包括服務(wù)器110和多個(gè)終端120,該多個(gè)終端120均可以通過有線網(wǎng)絡(luò)或者無(wú)線網(wǎng)絡(luò)分別與該服務(wù)器110建立連接。進(jìn)一步,該服務(wù)器110可以采用一個(gè)獨(dú)立的服務(wù)負(fù)責(zé)與各個(gè)終端120之間建立連接,在本發(fā)明實(shí)施例中,該獨(dú)立的服務(wù)為CMP(Connection Management Proxy,連接管理代理)。也即是,終端120與該服務(wù)器110之間的通信可以通過該CMP來進(jìn)行。
其中,該服務(wù)器110可以提供直播聊天室,該服務(wù)器110可以為一臺(tái)服務(wù)器,也可以是由多臺(tái)服務(wù)器集成的服務(wù)器集群,主要用于實(shí)現(xiàn)下述圖1B和圖2實(shí)施例所示的用戶賬號(hào)管理方法。
其中,該多個(gè)終端120均可以分別通過用戶賬號(hào)登錄至上述直播聊天室中,對(duì)于該多個(gè)終端120中的每個(gè)終端120,該終端120可以為諸如手機(jī)、平板電腦和計(jì)算機(jī)等之類的終端,本發(fā)明實(shí)施例對(duì)此不做限定。
圖1B是根據(jù)一示例性實(shí)施例示出的一種用戶賬號(hào)管理方法流程圖,該用戶賬號(hào)管理方法可以包括如下幾個(gè)步驟:
步驟101:當(dāng)檢測(cè)到直播聊天室有上行消息時(shí),向連接管理代理CMP發(fā)送上行消息指示,以通過CMP通知當(dāng)前加入該直播聊天室的各用戶進(jìn)行消息拉取。
本申請(qǐng)中的上行消息,具體為需要發(fā)給加入聊天室用戶的消息。
步驟102:維護(hù)用戶對(duì)應(yīng)的對(duì)象,等待CMP回調(diào)。
步驟103:根據(jù)CMP回調(diào)信息,確定處于穩(wěn)定離線狀態(tài)的用戶,該穩(wěn)定離線狀態(tài)是指持續(xù)處于離線狀態(tài)的時(shí)長(zhǎng)達(dá)到第一預(yù)設(shè)時(shí)長(zhǎng)的狀態(tài)和/或經(jīng)過統(tǒng)計(jì)持續(xù)處于離線狀態(tài)的次數(shù)達(dá)到預(yù)設(shè)次數(shù)的狀態(tài)。
步驟104:將確定為處于該穩(wěn)定離線狀態(tài)的用戶對(duì)應(yīng)的用戶賬號(hào)從該直播聊天室內(nèi)刪除。
在本發(fā)明實(shí)施例中,當(dāng)檢測(cè)到直播聊天室內(nèi)有上行消息時(shí),向CMP發(fā)送上行消息指示,以通過該CMP通知當(dāng)前加入該直播聊天室的各用戶對(duì)該上行消息進(jìn)行拉取。之后,維護(hù)用戶對(duì)應(yīng)的對(duì)象,等待CMP回調(diào),根據(jù)CMP回調(diào)信息,確定處于穩(wěn)定離線狀態(tài)的用戶,由于當(dāng)用戶處于穩(wěn)定離線狀態(tài)時(shí),說明該用戶已經(jīng)在較長(zhǎng)時(shí)長(zhǎng)內(nèi)持續(xù)處于離線狀態(tài),因此,可以將確定為處于穩(wěn)定離線狀態(tài)的用戶對(duì)應(yīng)的用戶賬號(hào)從該直播聊天室內(nèi)刪除,如此,增加了管理對(duì)象,實(shí)現(xiàn)了對(duì)聊天室內(nèi)用戶賬號(hào)的關(guān)聯(lián),并且,由于將穩(wěn)定離線狀態(tài)的用戶賬號(hào)進(jìn)行了刪除處理,從而節(jié)省了系統(tǒng)資源。
可選地,維護(hù)用戶對(duì)應(yīng)的對(duì)象,等待CMP回調(diào),具體包括:
根據(jù)用戶歷史狀態(tài)信息,確定統(tǒng)計(jì)為離線狀態(tài)的用戶;所述用戶歷史狀態(tài)信息根據(jù)CMP歷史回調(diào)信息得到;根據(jù)用戶消息拉取情況,確定未進(jìn)行消息拉取的用戶;
創(chuàng)建并維護(hù)統(tǒng)計(jì)為離線狀態(tài)的用戶及未進(jìn)行消息拉取的用戶對(duì)應(yīng)的對(duì)象,等待CMP回調(diào)。
可選地,根據(jù)CMP回調(diào)信息,確定處于所述穩(wěn)定離線狀態(tài)的用戶,包括:
對(duì)本次CMP做回調(diào)的各用戶,根據(jù)本次回調(diào)信息及所述用戶歷史狀態(tài)信息,將用戶狀態(tài)信息中離線狀態(tài)的時(shí)長(zhǎng)達(dá)到所述第一預(yù)設(shè)時(shí)長(zhǎng)和/或持續(xù)處于離線狀態(tài)的次數(shù)達(dá)到所述預(yù)設(shè)次數(shù)的用戶,確定為處于所述穩(wěn)定離線狀態(tài)的用戶;
所述CMP回調(diào)信息中包括做回調(diào)的用戶的當(dāng)前狀態(tài)。
本申請(qǐng)中,CMP根據(jù)與各用戶終端之間的交互消息,確定用戶的當(dāng)前狀態(tài),并在CMP回調(diào)消息中攜帶用戶當(dāng)前狀態(tài)信息。
直播聊天室的服務(wù)器,根據(jù)本次CMP回調(diào)信息更新所述用戶歷史狀態(tài)信息,對(duì)本次CMP回調(diào)信息確定當(dāng)前狀態(tài)為離線狀態(tài)的,離線計(jì)數(shù)加1,同時(shí)根據(jù)離線狀態(tài)對(duì)應(yīng)時(shí)間,確定是否達(dá)到所述第一預(yù)設(shè)時(shí)長(zhǎng)。
可選地,所述方法還包括:
根據(jù)CMP回調(diào)信息及確定處于所述穩(wěn)定離線狀態(tài)的用戶,更新用戶歷史狀態(tài)信息;具體為:
清除所述用戶歷史狀態(tài)信息中所述確定為處于所述穩(wěn)定離線狀態(tài)的用戶對(duì)應(yīng)的用戶狀態(tài)統(tǒng)計(jì)信息;
對(duì)于所述用戶狀態(tài)信息中統(tǒng)計(jì)為離線狀態(tài)、而所述CMP回調(diào)信息指示為在線狀態(tài)的用戶,將對(duì)應(yīng)的用戶狀態(tài)統(tǒng)計(jì)信息進(jìn)行清零。
可選地,所述方法還包括:
獲取直播聊天室對(duì)應(yīng)的白名單用戶,所述白名單用戶包括主播用戶及主播或管理員設(shè)置的不進(jìn)行刪除的用戶;
所述維護(hù)用戶對(duì)應(yīng)的對(duì)象,等待CMP回調(diào);根據(jù)CMP回調(diào)信息,確定處于所述穩(wěn)定離線狀態(tài)的用戶的操作,為針對(duì)所述直播聊天室中除所述白名單用戶外的用戶。
上述所有可選技術(shù)方案,均可按照任意結(jié)合形成本發(fā)明的可選實(shí)施例,本發(fā)明實(shí)施例對(duì)此不再一一贅述。
圖1C是根據(jù)另一示例性實(shí)施例示出的一種用戶賬號(hào)管理方法流程圖,該用戶賬號(hào)管理方法可以包括如下幾個(gè)步驟:
步驟112:當(dāng)接收到直播聊天室的服務(wù)器的上行消息指示時(shí),通知當(dāng)前加入該直播聊天室內(nèi)的各用戶進(jìn)行消息拉取。
步驟114:對(duì)該服務(wù)器維護(hù)的用戶對(duì)應(yīng)的對(duì)象做回調(diào),反饋回調(diào)信息,以使該服務(wù)器根據(jù)該回調(diào)信息,確定并刪除處于穩(wěn)定離線狀態(tài)的用戶對(duì)應(yīng)的用戶賬號(hào),該穩(wěn)定離線狀態(tài)是指持續(xù)處于離線狀態(tài)的時(shí)長(zhǎng)達(dá)到第一預(yù)設(shè)時(shí)長(zhǎng)的狀態(tài)和/或經(jīng)過統(tǒng)計(jì)持續(xù)處于離線狀態(tài)的次數(shù)達(dá)到預(yù)設(shè)次數(shù)的狀態(tài)。
在本發(fā)明實(shí)施例中,當(dāng)接收到直播聊天室的服務(wù)器的上行消息指示時(shí),通知該直播聊天室內(nèi)的各用戶進(jìn)行消息拉取,對(duì)該服務(wù)器維護(hù)的用戶對(duì)應(yīng)的對(duì)象做回調(diào),反饋回調(diào)信息,以使該服務(wù)器根據(jù)該回調(diào)信息,確定并刪除處于穩(wěn)定離線狀態(tài)的用戶對(duì)應(yīng)的用戶賬號(hào),該穩(wěn)定離線狀態(tài)是指持續(xù)處于離線狀態(tài)的時(shí)長(zhǎng)達(dá)到第一預(yù)設(shè)時(shí)長(zhǎng)的狀態(tài)和/或經(jīng)過統(tǒng)計(jì)持續(xù)處于離線狀態(tài)的次數(shù)達(dá)到預(yù)設(shè)次數(shù)的狀態(tài),如此,增加了管理對(duì)象,并且,由于將穩(wěn)定離線狀態(tài)的用戶賬號(hào)進(jìn)行了刪除處理,從而節(jié)省了系統(tǒng)資源。
可選地,該回調(diào)信息包括做回調(diào)的用戶的當(dāng)前狀態(tài);
該方法還包括:
根據(jù)與該直播聊天室內(nèi)的各用戶之間的交互信息,確定并更新用戶當(dāng)前狀態(tài),該當(dāng)前狀態(tài)包括在線狀態(tài)或離線狀態(tài);
該交互信息包括心跳消息、重連消息等一切交互信息,該重連消息為客戶端檢測(cè)到用戶由離線轉(zhuǎn)為在線時(shí),由客戶端通過軟件開發(fā)工具包SDK自動(dòng)發(fā)起;
其中,當(dāng)接收到該連接消息時(shí),將發(fā)送該連接消息的用戶的當(dāng)前狀態(tài)更新為在線狀態(tài),尤其是針對(duì)離線用戶,當(dāng)收到用戶的重連消息時(shí),立即將該用戶狀態(tài)更新為在線狀態(tài),從而使得下一次需要發(fā)送上行消息時(shí),通過CMP回調(diào)通知服務(wù)器該用戶轉(zhuǎn)換為在線狀態(tài)。
上述所有可選技術(shù)方案,均可按照任意結(jié)合形成本發(fā)明的可選實(shí)施例,本發(fā)明實(shí)施例對(duì)此不再一一贅述。
圖2是根據(jù)另一示例性實(shí)施例示出的一種用戶賬號(hào)管理方法流程圖,本實(shí)施例以該用戶賬號(hào)管理方法應(yīng)用于服務(wù)器中進(jìn)行舉例說明,該用戶賬號(hào)管理方法可以包括如下幾個(gè)步驟:
步驟201:當(dāng)檢測(cè)到直播聊天室有上行消息時(shí),向CMP發(fā)送上行消息指示,以通過CMP通知當(dāng)前加入該直播聊天室內(nèi)的各用戶進(jìn)行消息拉取。
在實(shí)際應(yīng)用場(chǎng)景中,服務(wù)器可以提供直播聊天室,直播聊天室可以在視頻直播業(yè)務(wù)中為主播和觀眾之間提供消息實(shí)時(shí)互動(dòng)的云服務(wù),直播聊天室的特點(diǎn)在于,直播聊天室內(nèi)可以容納海量的用戶賬號(hào),且能夠支持海量的上行消息并發(fā)。
通常情況下,為了保證高性能,直播聊天室的絕大部分操作都是純內(nèi)存操作,例如,當(dāng)用戶賬號(hào)登錄至該直播聊天室時(shí),服務(wù)器將該用戶賬號(hào)和該直播聊天室的標(biāo)識(shí)對(duì)應(yīng)存儲(chǔ)至系統(tǒng)資源中,如此,對(duì)于系統(tǒng)資源消耗非常高。其中,該直播聊天室的標(biāo)識(shí)可以用于唯一標(biāo)識(shí)一個(gè)直播聊天室。
在實(shí)際實(shí)現(xiàn)過程中,可能由于網(wǎng)絡(luò)信號(hào)不穩(wěn)定等因素,導(dǎo)致當(dāng)前加入該直播聊天室的部分用戶長(zhǎng)時(shí)間處于離線狀態(tài),在該種情況下,如果該直播聊天室內(nèi)有新的上行消息,長(zhǎng)時(shí)間處于離線狀態(tài)的用戶對(duì)應(yīng)的用戶賬號(hào)也無(wú)法獲取到,但是該用戶賬號(hào)仍然占用著系統(tǒng)資源,導(dǎo)致資源浪費(fèi),為此,本發(fā)明實(shí)施例提供了一種用戶賬號(hào)管理方法,以對(duì)直播聊天室內(nèi)長(zhǎng)時(shí)間處于離線狀態(tài)的用戶進(jìn)行刪除管理。
其中,上述直播聊天室內(nèi)產(chǎn)生的上行消息可以是由該直播聊天室內(nèi)的任一用戶賬號(hào)發(fā)送的,也可以是由該直播聊天室的管理員發(fā)布的,本發(fā)明實(shí)施例對(duì)此不做限定。
上述上行消息指示用于指示CMP通知當(dāng)前加入該直播聊天室內(nèi)的各用戶進(jìn)行消息拉取,且做CMP回調(diào)。
也即是,當(dāng)CMP接收到直播聊天室的服務(wù)器的上行消息指示時(shí),通知當(dāng)前加入該直播聊天室內(nèi)的各用戶進(jìn)行消息拉取,并對(duì)服務(wù)器維護(hù)的用戶對(duì)應(yīng)的對(duì)象做回調(diào),反饋回調(diào)信息,以使該服務(wù)器根據(jù)該回調(diào)信息,確定并刪除處于穩(wěn)定離線狀態(tài)的用戶對(duì)應(yīng)的用戶賬號(hào)。
其中,為了確保各個(gè)用戶能夠穩(wěn)定地獲取到該上行消息,這里可以采用通知、拉取的方式使得該終端來獲取該上行消息。
也即是,該服務(wù)器通過該CMP向用戶對(duì)應(yīng)的用戶賬號(hào)所在的終端發(fā)送拉取通知消息,以使該終端通過該用戶賬號(hào)從該直播聊天室內(nèi)拉取該上行消息。其中,該終端通過該用戶賬號(hào)從該直播聊天室內(nèi)拉取該上行消息的實(shí)現(xiàn)過程可以包括:該終端通過該用戶賬號(hào)向該服務(wù)器發(fā)送上行消息拉取請(qǐng)求,該服務(wù)器通過該CMP接收該上行消息拉取請(qǐng)求,之后,將該上行消息發(fā)送給該用戶賬號(hào)所在的終端。該終端從該直播聊天室內(nèi)拉取到該上行消息后,即可在自身的顯示界面中顯示該上行消息。
步驟202:獲取直播聊天室對(duì)應(yīng)的白名單用戶,該白名單用戶包括主播用戶及主播或管理員設(shè)置的不進(jìn)行刪除的用戶。
在本發(fā)明實(shí)施例中,還可以設(shè)置白名單,在實(shí)際實(shí)現(xiàn)過程中,可以不對(duì)該白名單用戶進(jìn)行刪除操作,即后續(xù)步驟中所涉及的維護(hù)用戶對(duì)應(yīng)的對(duì)象,等待CMP回調(diào);根據(jù)CMP回調(diào)信息,確定處于所述穩(wěn)定離線狀態(tài)的用戶的操作,為針對(duì)該直播聊天室中除該白名單用戶外的用戶。
也即是,在直播聊天室內(nèi),一些重要的用戶賬號(hào)可能不需要?jiǎng)h除,例如,主播的用戶賬號(hào)或賬號(hào)級(jí)別較高的用戶賬號(hào)等,因此,在執(zhí)行本發(fā)明實(shí)施例所提供的用戶賬號(hào)管理的過程中,可以將該白名單用戶排除掉,以免將白名單用戶誤刪除。
另外,為了便于服務(wù)器判斷直播聊天室內(nèi)哪些用戶屬于白名單用戶,可以預(yù)先設(shè)置白名單,具體地:服務(wù)器接收白名單設(shè)置請(qǐng)求,該白名單設(shè)置請(qǐng)求中攜帶用戶賬號(hào),將該白名單設(shè)置請(qǐng)求中攜帶的用戶賬號(hào)存儲(chǔ)至該白名單中,從而得到白名單用戶。
上述排除白名單用戶,即不對(duì)白名單用戶對(duì)應(yīng)的用戶賬號(hào)進(jìn)行刪除,提高了用戶體驗(yàn)。例如,對(duì)于主播來說,即使該主播離線,也不將該主播的用戶賬號(hào)刪除,如此,一旦主播的用戶賬號(hào)所在的終端再次檢測(cè)到信號(hào),不需要重新申請(qǐng)加入直播聊天室,即可自動(dòng)恢復(fù)在線狀態(tài)。
另外,需要說明的是,在設(shè)置白名單的過程中,還可以限定白名單中存儲(chǔ)的用戶賬號(hào)的數(shù)量,例如,可以限定該白名單中存儲(chǔ)的用戶賬號(hào)的數(shù)量為預(yù)設(shè)數(shù)量,該預(yù)設(shè)數(shù)量可以由用戶根據(jù)實(shí)際需求自定義設(shè)置,也可以由該服務(wù)器默認(rèn)設(shè)置,例如,該預(yù)設(shè)數(shù)量可以為5,本發(fā)明實(shí)施例對(duì)此不做限定。
上述限定白名單中存儲(chǔ)的用戶賬號(hào)的數(shù)量,如此,即使不對(duì)該白名單用戶對(duì)應(yīng)的用戶賬號(hào)進(jìn)行刪除處理,對(duì)系統(tǒng)的資源的浪費(fèi)也是有限的。
需要說明的是,這里僅是以設(shè)置白名單為例進(jìn)行說明,在另一實(shí)施例中,還可以不設(shè)置白名單,即該步驟202為可選步驟。
步驟203:維護(hù)用戶對(duì)應(yīng)的對(duì)象,等待CMP回調(diào)。
服務(wù)器向CMP發(fā)送上行消息指示后,維護(hù)用戶對(duì)應(yīng)的對(duì)象,并等待CMP回調(diào),即如前文所述,該上行消息指示不僅用于CMP通知當(dāng)前加入該直播聊天室內(nèi)的各用戶進(jìn)行消息拉取,還用于指示CMP做回調(diào)。
在實(shí)際應(yīng)用場(chǎng)景中,由于直播聊天室內(nèi)大部分的用戶為在線狀態(tài),而當(dāng)服務(wù)器通過CMP通知各用戶進(jìn)行消息拉取后,需要維護(hù)一個(gè)對(duì)象來等待CMP回調(diào),如此,所維護(hù)的對(duì)象的生命周期相對(duì)比較長(zhǎng),這樣的對(duì)象無(wú)法被回收,可能導(dǎo)致系統(tǒng)內(nèi)存資源不足,當(dāng)通過Java實(shí)現(xiàn)時(shí),會(huì)造成較頻繁的Full GC(Gabage Collection,垃圾回收),而Full GC為了掃描存活的對(duì)象,會(huì)造成系統(tǒng)瞬間停頓。
為此,當(dāng)服務(wù)器通過CMP回調(diào)時(shí),可以根據(jù)CMP歷史回調(diào)信息,從加入該直播聊天室內(nèi)的用戶中只選擇必須回調(diào)的用戶。
具體地,根據(jù)用戶歷史狀態(tài)信息,確定統(tǒng)計(jì)為離線狀態(tài)的用戶,所述用戶歷史狀態(tài)信息根據(jù)CMP歷史回調(diào)信息得到,根據(jù)用戶消息拉取情況,確定未進(jìn)行消息拉取的用戶,創(chuàng)建并維護(hù)統(tǒng)計(jì)為離線狀態(tài)的用戶及未進(jìn)行消息拉取的用戶對(duì)應(yīng)的對(duì)象,等待CMP回調(diào)。
也就是說,在CMP回調(diào)時(shí),服務(wù)器只回調(diào)上一次賬號(hào)狀態(tài)為離線狀態(tài)的用戶賬號(hào),以及雖然上一次賬號(hào)狀態(tài)為在線狀態(tài),但是截止至本次回調(diào)時(shí)間為止,一直未來拉取上行消息的用戶賬號(hào),如此,可以減小回調(diào)對(duì)象的數(shù)量。
步驟204:根據(jù)CMP回調(diào)信息,確定處于穩(wěn)定離線狀態(tài)的用戶,所述穩(wěn)定離線狀態(tài)是指持續(xù)處于離線狀態(tài)的時(shí)長(zhǎng)達(dá)到第一預(yù)設(shè)時(shí)長(zhǎng)的狀態(tài)和/或經(jīng)過統(tǒng)計(jì)持續(xù)處于離線狀態(tài)的次數(shù)達(dá)到預(yù)設(shè)次數(shù)的狀態(tài)。
其中,該第一預(yù)設(shè)時(shí)長(zhǎng)可以由用戶根據(jù)實(shí)際需求自定義設(shè)置,例如30秒,也可以由該服務(wù)器默認(rèn)設(shè)置,本發(fā)明實(shí)施例對(duì)此不做限定。
其中,該預(yù)設(shè)次數(shù)可以由用戶根據(jù)實(shí)際需求自定義設(shè)置,例如30次,也可以由該服務(wù)器默認(rèn)設(shè)置,本發(fā)明實(shí)施例對(duì)此不做限定。
具體地,對(duì)本次CMP做回調(diào)的各用戶,根據(jù)本次回調(diào)信息及所述用戶歷史狀態(tài)信息,將用戶狀態(tài)信息中離線狀態(tài)的時(shí)長(zhǎng)達(dá)到所述第一預(yù)設(shè)時(shí)長(zhǎng)和/或持續(xù)處于離線狀態(tài)的次數(shù)達(dá)到所述預(yù)設(shè)次數(shù)的用戶,確定為處于所述穩(wěn)定離線狀態(tài)的用戶,該CMP回調(diào)信息中包括做回調(diào)的用戶的當(dāng)前狀態(tài)。
將用戶狀態(tài)信息中離線狀態(tài)的時(shí)長(zhǎng)達(dá)到所述第一預(yù)設(shè)時(shí)長(zhǎng)和/或持續(xù)處于離線狀態(tài)的次數(shù)達(dá)到所述預(yù)設(shè)次數(shù)的用戶,確定為處于所述穩(wěn)定離線狀態(tài)的用戶的具體實(shí)現(xiàn)可以包括如下三種實(shí)現(xiàn)方式:
第一種方式:用戶歷史狀態(tài)信息中統(tǒng)計(jì)有用戶歷史持續(xù)離線次數(shù),如果根據(jù)本次回調(diào)信息確定該用戶的賬號(hào)狀態(tài)為離線狀態(tài),則統(tǒng)計(jì)持續(xù)離線次數(shù)加1,并判斷統(tǒng)計(jì)后的離線次數(shù)是否達(dá)到該預(yù)設(shè)次數(shù),該離線次數(shù)是指通過回調(diào)CMP確定賬號(hào)狀態(tài)連續(xù)為離線狀態(tài)的次數(shù),如果統(tǒng)計(jì)后的離線次數(shù)達(dá)到該預(yù)設(shè)次數(shù),則確定該用戶賬號(hào)當(dāng)前處于該穩(wěn)定離線狀態(tài)。
也即是,在實(shí)際實(shí)現(xiàn)過程中,如前文所述,在CMP給服務(wù)器的回調(diào)中,服務(wù)器可以獲知用戶的賬號(hào)狀態(tài),如果該用戶賬號(hào)為離線狀態(tài),例如,若第一次確定該用戶賬號(hào)為離線狀態(tài),則統(tǒng)計(jì)該用戶賬號(hào)處于離線狀態(tài)的次數(shù)為1次,假設(shè)通過offlineCount來標(biāo)記,服務(wù)器判斷統(tǒng)計(jì)后的離線次數(shù)offlineCount是否達(dá)到預(yù)設(shè)次數(shù),若該離線次數(shù)offlineCount達(dá)到該預(yù)設(shè)次數(shù),則確定該用戶的賬號(hào)狀態(tài)為穩(wěn)定離線狀態(tài),如果若該離線次數(shù)offlineCount未達(dá)到該預(yù)設(shè)次數(shù),則該服務(wù)器等待該直播聊天室中再次出現(xiàn)新的上行消息。
當(dāng)該直播聊天室中再次產(chǎn)生上行消息時(shí),該服務(wù)器再次執(zhí)行上述步驟,并通過CMP回調(diào)該用戶的賬號(hào)狀態(tài),若該用戶的賬號(hào)狀態(tài)仍為離線狀態(tài),則該服務(wù)器再次統(tǒng)計(jì)離線次數(shù),即將offlineCount加1,并判斷統(tǒng)計(jì)后的離線次數(shù)是否達(dá)到預(yù)設(shè)次數(shù)。按照該過程,若經(jīng)過多次統(tǒng)計(jì)后確定該用戶賬號(hào)持續(xù)處于離線狀態(tài),則確定該用戶賬號(hào)處于穩(wěn)定離線狀態(tài)。否則,若第N次通過CMP回調(diào)該用戶的賬號(hào)狀態(tài)為在線狀態(tài),說明該用戶賬號(hào)只是瞬間離線,在該種情況下,服務(wù)器將該離線次數(shù)offlineCount進(jìn)行清零,其中,N小于預(yù)設(shè)次數(shù)。
第二種方式:用戶歷史狀態(tài)信息中記錄有用戶持續(xù)為離線狀態(tài)的時(shí)長(zhǎng),如果該用戶的賬號(hào)狀態(tài)為離線狀態(tài),則根據(jù)本次回調(diào)時(shí)間或離線狀態(tài)對(duì)應(yīng)的時(shí)間戳確定持續(xù)離線時(shí)長(zhǎng),并判斷確定后的持續(xù)離線時(shí)長(zhǎng)是否大于或等于第一預(yù)設(shè)時(shí)長(zhǎng),該持續(xù)離線時(shí)長(zhǎng)是指在當(dāng)前時(shí)間點(diǎn)與當(dāng)前時(shí)間點(diǎn)之前最近登錄的時(shí)間點(diǎn)之間的時(shí)間段內(nèi)持續(xù)處于離線狀態(tài)的時(shí)長(zhǎng),若確定后的持續(xù)離線時(shí)長(zhǎng)大于或等于該第一預(yù)設(shè)時(shí)長(zhǎng),則確定該用戶賬號(hào)當(dāng)前處于該穩(wěn)定離線狀態(tài)。
其中,該第一預(yù)設(shè)時(shí)長(zhǎng)可以由用戶根據(jù)實(shí)際需求自定義設(shè)置,也可以由該服務(wù)器默認(rèn)設(shè)置,本發(fā)明實(shí)施例對(duì)此不做限定。
也即是,在實(shí)際實(shí)現(xiàn)過程中,如前文所述,在CMP給服務(wù)器的回調(diào)中,服務(wù)器可以獲知該用戶的賬號(hào)狀態(tài),如果該用戶賬號(hào)為離線狀態(tài),例如,若第一次確定該用戶賬號(hào)為離線狀態(tài),則該服務(wù)器記錄當(dāng)前的系統(tǒng)時(shí)間offlineTime1,當(dāng)該直播聊天室中再一次產(chǎn)生上行消息時(shí),該服務(wù)器再次執(zhí)行上述步驟,通過CMP回調(diào)該用戶的賬號(hào)狀態(tài),若該用戶的賬號(hào)狀態(tài)仍為離線狀態(tài),則該服務(wù)器記錄當(dāng)前的系統(tǒng)時(shí)間offlineTime2,確定該系統(tǒng)時(shí)間offlineTime2與上一次記錄的系統(tǒng)時(shí)間offlineTime1之間的差值,該差值即為上述持續(xù)離線時(shí)長(zhǎng),并判斷該持續(xù)離線時(shí)長(zhǎng)是否大于或等于第一預(yù)設(shè)時(shí)長(zhǎng),如果該持續(xù)離線時(shí)長(zhǎng)小于該第一預(yù)設(shè)時(shí)長(zhǎng),則等待下一次直播聊天室中產(chǎn)生新的上行消息,按照該種方式,當(dāng)持續(xù)離線時(shí)長(zhǎng)大于或等于該第一預(yù)設(shè)時(shí)長(zhǎng)時(shí),確定該用戶的賬號(hào)狀態(tài)為穩(wěn)定離線狀態(tài)。
其中,與第一種實(shí)現(xiàn)方式類似,若在該過程中,該用戶的賬號(hào)狀態(tài)為在線狀態(tài),說明該用戶賬號(hào)只是瞬間離線,在該種情況下,服務(wù)器將用戶歷史狀態(tài)中記錄的持續(xù)離線時(shí)長(zhǎng)進(jìn)行清零。
第三種方式:即以上兩種方式結(jié)合,滿足其一即判斷為穩(wěn)定離線狀態(tài),或者:當(dāng)用戶持續(xù)離線次數(shù)達(dá)到預(yù)設(shè)次數(shù),同時(shí)持續(xù)離線時(shí)長(zhǎng)達(dá)到第一預(yù)設(shè)時(shí)長(zhǎng)即判為穩(wěn)定離線狀態(tài)。根據(jù)上述描述可見,服務(wù)器還可以根據(jù)CMP回調(diào)信息及確定處于所述穩(wěn)定離線狀態(tài)的用戶,更新用戶歷史狀態(tài)信息,具體為:清除該用戶歷史狀態(tài)信息中確定為處于該穩(wěn)定離線狀態(tài)的用戶對(duì)應(yīng)的用戶狀態(tài)統(tǒng)計(jì)信息,對(duì)于該用戶狀態(tài)信息中統(tǒng)計(jì)為離線狀態(tài)、而該CMP回調(diào)信息指示為在線狀態(tài)的用戶,將對(duì)應(yīng)的用戶狀態(tài)統(tǒng)計(jì)信息進(jìn)行清零。
也即是,如果確定用戶的用戶賬號(hào)為穩(wěn)定離線狀態(tài),則將該用戶賬號(hào)對(duì)應(yīng)的用戶狀態(tài)統(tǒng)計(jì)信息進(jìn)行清除,以便于后續(xù)重新對(duì)該用戶的用戶賬號(hào)進(jìn)行管理。并且,如上文所述,如果該用戶狀態(tài)信息中統(tǒng)計(jì)為離線狀態(tài)、而該CMP回調(diào)信息指示為在線狀態(tài)的用戶,說明該用戶僅是瞬間離線,在該種情況下,需要對(duì)該用戶對(duì)應(yīng)的用戶狀態(tài)統(tǒng)計(jì)信息進(jìn)行清零,以便于后續(xù)重新對(duì)該用戶賬號(hào)的賬號(hào)狀態(tài)進(jìn)行統(tǒng)計(jì)。
另外,在本發(fā)明實(shí)施例中,可以通過該CMP來不斷監(jiān)測(cè)用戶的賬號(hào)狀態(tài),例如:該CMP根據(jù)與各用戶之間的交互消息確定并更新用戶當(dāng)前狀態(tài),交互消息包括各種消息,例如每隔第二預(yù)設(shè)時(shí)長(zhǎng)發(fā)送的心跳消息、連接消息、重連消息等,其中,該第二預(yù)設(shè)時(shí)長(zhǎng)可以由用戶根據(jù)實(shí)際需求自定義設(shè)置,也可以由該服務(wù)器默認(rèn)設(shè)置,本發(fā)明實(shí)施例對(duì)此不做限定。
其中,該交互信息包括重連消息,該重連消息為客戶端檢測(cè)到用戶由離線轉(zhuǎn)為在線時(shí),由客戶端通過SDK(Software Development Kit,軟件開發(fā)工具包)自動(dòng)發(fā)起。
上述通過CMP監(jiān)測(cè)各個(gè)用戶賬號(hào)的賬號(hào)狀態(tài)后,可以將對(duì)應(yīng)的賬號(hào)狀態(tài)存儲(chǔ)至系統(tǒng)資源中。因此,基于上述監(jiān)測(cè)的各個(gè)用戶賬號(hào)的賬號(hào)狀態(tài),服務(wù)器通過回調(diào)該CMP,根據(jù)CMP回調(diào)信息,即可確定所維護(hù)的用戶當(dāng)前的賬號(hào)狀態(tài)。
步驟205:將確定為處于所述穩(wěn)定離線狀態(tài)的用戶對(duì)應(yīng)的用戶賬號(hào)從所述直播聊天室內(nèi)刪除。
如果確定用戶處于穩(wěn)定離線狀態(tài),則說明該用戶不是暫時(shí)離線,在該種情況下,可以將該用戶對(duì)應(yīng)的用戶賬號(hào)從該直播聊天室中刪除,如此,可以節(jié)約服務(wù)器的系統(tǒng)資源。在實(shí)際實(shí)現(xiàn)過程中,可能該用戶賬號(hào)在該直播聊天室內(nèi)產(chǎn)生數(shù)據(jù),因此,在刪除過程中,還可以將該用戶賬號(hào)對(duì)應(yīng)的賬號(hào)信息一起從該直播聊天室內(nèi)刪除。
由于將處于穩(wěn)定離線狀態(tài)的用戶對(duì)應(yīng)的用戶賬號(hào)從該直播聊天室中刪除后,對(duì)于終端來說,無(wú)法獲知該用戶對(duì)應(yīng)的用戶賬號(hào)已經(jīng)被從服務(wù)器中刪除,當(dāng)該用戶從離線狀態(tài)切換至在線狀態(tài)時(shí),為了能夠使得終端通過該用戶對(duì)應(yīng)的用戶賬號(hào)能夠直接登錄到該直播聊天室中,在本發(fā)明實(shí)施例中,在終端側(cè)可以采用SDK實(shí)現(xiàn)自動(dòng)連接。
也即是,當(dāng)檢測(cè)到用戶賬號(hào)從離線狀態(tài)切換至在線狀態(tài)時(shí),該終端通過該SDK自動(dòng)向該服務(wù)器發(fā)送重連請(qǐng)求,該重連請(qǐng)求中攜帶該用戶賬號(hào)和該直播聊天室的標(biāo)識(shí),該服務(wù)器接收到該自動(dòng)登錄請(qǐng)求后,將該用戶賬號(hào)添加至該直播聊天室內(nèi),也即是,該服務(wù)器將該用戶賬號(hào)和該直播聊天室的標(biāo)識(shí)之間對(duì)應(yīng)存儲(chǔ)至自身的系統(tǒng)資源中。
如此,即使該服務(wù)器將該用戶賬號(hào)從系統(tǒng)資源中刪除,一旦檢測(cè)到用戶賬號(hào)從離線狀態(tài)切換至在線狀態(tài),說明用戶賬號(hào)可以正常收發(fā)直播聊天室內(nèi)的上行消息,因此,該終端通過SDK自動(dòng)重新登錄該直播聊天室,避免需要用戶手動(dòng)重新查找該直播聊天室并觸發(fā)登錄操作,避免用戶感受到被刪除過程,從而提高了用戶體驗(yàn)。
在本發(fā)明實(shí)施例中,當(dāng)檢測(cè)到直播聊天室內(nèi)有上行消息時(shí),向CMP發(fā)送上行消息指示,以通過該CMP通知當(dāng)前加入該直播聊天室的各用戶對(duì)該上行消息進(jìn)行拉取。之后,維護(hù)用戶對(duì)應(yīng)的對(duì)象,等待CMP回調(diào),根據(jù)CMP回調(diào)信息,確定處于穩(wěn)定離線狀態(tài)的用戶,由于當(dāng)用戶處于穩(wěn)定離線狀態(tài)時(shí),說明該用戶已經(jīng)在較長(zhǎng)時(shí)長(zhǎng)內(nèi)持續(xù)處于離線狀態(tài),因此,可以將確定為處于穩(wěn)定離線狀態(tài)的用戶對(duì)應(yīng)的用戶賬號(hào)從該直播聊天室內(nèi)刪除,如此,增加了管理對(duì)象,并且,由于將穩(wěn)定離線狀態(tài)的用戶賬號(hào)進(jìn)行了刪除處理,從而節(jié)省了系統(tǒng)資源。
圖3是根據(jù)一示例性實(shí)施例示出的一種用戶賬號(hào)管理裝置的結(jié)構(gòu)示意圖,該用戶賬號(hào)管理裝置可以由軟件、硬件或者兩者的結(jié)合實(shí)現(xiàn)。該用戶賬號(hào)管理裝置可以包括:
通知模塊310,用于當(dāng)檢測(cè)到直播聊天室有上行消息時(shí),向連接管理代理CMP發(fā)送上行消息指示,以通過CMP通知當(dāng)前加入該直播聊天室的各用戶進(jìn)行消息拉取;
維護(hù)模塊320,用于維護(hù)用戶對(duì)應(yīng)的對(duì)象,等待CMP回調(diào);
確定模塊330,用于根據(jù)CMP回調(diào)信息,確定處于穩(wěn)定離線狀態(tài)的用戶,該穩(wěn)定離線狀態(tài)是指持續(xù)處于離線狀態(tài)的時(shí)長(zhǎng)達(dá)到第一預(yù)設(shè)時(shí)長(zhǎng)的狀態(tài)和/或經(jīng)過統(tǒng)計(jì)持續(xù)處于離線狀態(tài)的次數(shù)達(dá)到預(yù)設(shè)次數(shù)的狀態(tài);
刪除模塊340,用于將確定為處于該穩(wěn)定離線狀態(tài)的用戶對(duì)應(yīng)的用戶賬號(hào)從該直播聊天室內(nèi)刪除。
可選地,該維護(hù)模塊320用于:
根據(jù)用戶歷史狀態(tài)信息,確定統(tǒng)計(jì)為離線狀態(tài)的用戶;該用戶歷史狀態(tài)信息根據(jù)CMP歷史回調(diào)信息得到;
根據(jù)用戶消息拉取情況,確定未進(jìn)行消息拉取的用戶;
創(chuàng)建并維護(hù)統(tǒng)計(jì)為離線狀態(tài)的用戶及未進(jìn)行消息拉取的用戶對(duì)應(yīng)的對(duì)象,等待CMP回調(diào)。
所述確定模塊330根據(jù)CMP回調(diào)信息,確定處于所述穩(wěn)定離線狀態(tài)的用戶,具體包括:
對(duì)本次CMP做回調(diào)的各用戶,根據(jù)本次回調(diào)信息及所述用戶歷史狀態(tài)信息,將用戶狀態(tài)信息中離線狀態(tài)的時(shí)長(zhǎng)達(dá)到所述第一預(yù)設(shè)時(shí)長(zhǎng)和/或持續(xù)處于離線狀態(tài)的次數(shù)達(dá)到所述預(yù)設(shè)次數(shù)的用戶,確定為處于所述穩(wěn)定離線狀態(tài)的用戶;所述CMP回調(diào)信息中包括做回調(diào)的用戶的當(dāng)前狀態(tài)。
所述裝置還包括:更新模塊;
所述更新模塊用于根據(jù)CMP回調(diào)信息及確定處于所述穩(wěn)定離線狀態(tài)的用戶,更新用戶歷史狀態(tài)信息;具體用于:
清除所述用戶歷史狀態(tài)信息中所述確定為處于所述穩(wěn)定離線狀態(tài)的用戶對(duì)應(yīng)的用戶狀態(tài)統(tǒng)計(jì)信息;
對(duì)于所述用戶狀態(tài)信息中統(tǒng)計(jì)為離線狀態(tài)、而所述CMP回調(diào)信息指示為在線狀態(tài)的用戶,將對(duì)應(yīng)的用戶狀態(tài)統(tǒng)計(jì)信息進(jìn)行清零。
所述裝置還包括:白名單設(shè)置模塊;
所述白名單設(shè)置模塊用于獲取直播聊天室對(duì)應(yīng)的白名單用戶,所述白名單用戶包括主播用戶及主播或管理員設(shè)置的不進(jìn)行刪除的用戶;
相應(yīng)的,維護(hù)模塊320、確定模塊330、刪除模塊340只針對(duì)所述直播聊天室中除所述白名單用戶外的用戶進(jìn)行操作。
在本發(fā)明實(shí)施例中,當(dāng)檢測(cè)到直播聊天室內(nèi)有上行消息時(shí),向CMP發(fā)送上行消息指示,以通過該CMP通知當(dāng)前加入該直播聊天室的各用戶對(duì)該上行消息進(jìn)行拉取。之后,維護(hù)用戶對(duì)應(yīng)的對(duì)象,等待CMP回調(diào),根據(jù)CMP回調(diào)信息,確定處于穩(wěn)定離線狀態(tài)的用戶,由于當(dāng)用戶處于穩(wěn)定離線狀態(tài)時(shí),說明該用戶已經(jīng)在較長(zhǎng)時(shí)長(zhǎng)內(nèi)持續(xù)處于離線狀態(tài),因此,可以將確定為處于穩(wěn)定離線狀態(tài)的用戶對(duì)應(yīng)的用戶賬號(hào)從該直播聊天室內(nèi)刪除,如此,增加了管理對(duì)象,并且,由于將穩(wěn)定離線狀態(tài)的用戶賬號(hào)進(jìn)行了刪除處理,從而節(jié)省了系統(tǒng)資源。
圖4是根據(jù)一示例性實(shí)施例示出的一種用戶賬號(hào)管理裝置的結(jié)構(gòu)示意圖,該用戶賬號(hào)管理裝置可以由軟件、硬件或者兩者的結(jié)合實(shí)現(xiàn)。該用戶賬號(hào)管理裝置可以包括:
通知模塊410,用于當(dāng)接收到直播聊天室的服務(wù)器的上行消息指示時(shí),通知當(dāng)前加入所述直播聊天室內(nèi)的各用戶進(jìn)行消息拉?。?/p>
反饋模塊420,用于對(duì)所述服務(wù)器維護(hù)的用戶對(duì)應(yīng)的對(duì)象做回調(diào),反饋回調(diào)信息,以使所述服務(wù)器根據(jù)所述回調(diào)信息,確定并刪除處于所述穩(wěn)定離線狀態(tài)的用戶對(duì)應(yīng)的用戶賬號(hào),所述穩(wěn)定離線狀態(tài)是指持續(xù)處于離線狀態(tài)的時(shí)長(zhǎng)達(dá)到第一預(yù)設(shè)時(shí)長(zhǎng)的狀態(tài)和/或經(jīng)過統(tǒng)計(jì)持續(xù)處于離線狀態(tài)的次數(shù)達(dá)到預(yù)設(shè)次數(shù)的狀態(tài)。
進(jìn)一步的,所述裝置還包括:
用戶狀態(tài)確定模塊,用于根據(jù)與所述直播聊天室內(nèi)的各用戶之間的交互信息,確定并更新用戶當(dāng)前狀態(tài),所述當(dāng)前狀態(tài)包括在線狀態(tài)或離線狀態(tài);
所述交互信息包括重連消息,所述重連消息為客戶端檢測(cè)到用戶由離線轉(zhuǎn)為在線時(shí),由客戶端通過軟件開發(fā)工具包SDK自動(dòng)發(fā)起;
所述用戶狀態(tài)確定模塊還用于當(dāng)接收到所述連接消息時(shí),將發(fā)送所述連接消息的用戶的當(dāng)前狀態(tài)更新為在線狀態(tài)。
在本發(fā)明實(shí)施例中,當(dāng)接收到直播聊天室的服務(wù)器的上行消息指示時(shí),通知該直播聊天室內(nèi)的各用戶進(jìn)行消息拉取,對(duì)該服務(wù)器維護(hù)的用戶對(duì)應(yīng)的對(duì)象做回調(diào),反饋回調(diào)信息,以使該服務(wù)器根據(jù)該回調(diào)信息,確定并刪除處于穩(wěn)定離線狀態(tài)的用戶對(duì)應(yīng)的用戶賬號(hào),該穩(wěn)定離線狀態(tài)是指持續(xù)處于離線狀態(tài)的時(shí)長(zhǎng)達(dá)到第一預(yù)設(shè)時(shí)長(zhǎng)的狀態(tài)和/或經(jīng)過統(tǒng)計(jì)持續(xù)處于離線狀態(tài)的次數(shù)達(dá)到預(yù)設(shè)次數(shù)的狀態(tài),如此,增加了管理對(duì)象,并且,由于將穩(wěn)定離線狀態(tài)的用戶賬號(hào)進(jìn)行了刪除處理,從而節(jié)省了系統(tǒng)資源。
需要說明的是:上述實(shí)施例提供的用戶賬號(hào)管理裝置在實(shí)現(xiàn)用戶賬號(hào)管理方法時(shí),僅以上述各功能模塊的劃分進(jìn)行舉例說明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將設(shè)備的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實(shí)施例提供的用戶賬號(hào)管理裝置與用戶賬號(hào)管理方法實(shí)施例屬于同一構(gòu)思,其具體實(shí)現(xiàn)過程詳見方法實(shí)施例,這里不再贅述。
圖5是根據(jù)一示例性實(shí)施例示出的一種用戶賬號(hào)管理裝置500的框圖。例如,裝置500可以被提供為一服務(wù)器。參照?qǐng)D5,裝置500包括處理組件522,其進(jìn)一步包括一個(gè)或多個(gè)處理器,以及由存儲(chǔ)器532所代表的存儲(chǔ)器資源,用于存儲(chǔ)可由處理組件522的執(zhí)行的指令,例如應(yīng)用程序。存儲(chǔ)器532中存儲(chǔ)的應(yīng)用程序可以包括一個(gè)或一個(gè)以上的每一個(gè)對(duì)應(yīng)于一組指令的模塊。此外,處理組件522被配置為執(zhí)行指令,以執(zhí)行上述圖1B或圖2實(shí)施例所示的用戶賬號(hào)管理方法。
裝置500還可以包括一個(gè)電源組件526被配置為執(zhí)行裝置500的電源管理,一個(gè)有線或無(wú)線網(wǎng)絡(luò)接口550被配置為將裝置500連接到網(wǎng)絡(luò),和一個(gè)輸入輸出(I/O)接口558。裝置500可以操作基于存儲(chǔ)在存儲(chǔ)器532的操作系統(tǒng),例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,F(xiàn)reeBSDTM或類似。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。
以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。