欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種對即時(shí)通訊業(yè)務(wù)進(jìn)行處理的方法及系統(tǒng)的制作方法

文檔序號(hào):7783315閱讀:193來源:國知局
一種對即時(shí)通訊業(yè)務(wù)進(jìn)行處理的方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種對即時(shí)通訊業(yè)務(wù)進(jìn)行處理的方法及系統(tǒng),屬于互聯(lián)網(wǎng)通信領(lǐng)域。該方法包括:選舉服務(wù)器接收至少兩個(gè)數(shù)據(jù)服務(wù)器發(fā)送的注冊請求消息;選舉服務(wù)器將第一次接收的注冊請求信息對應(yīng)的數(shù)據(jù)服務(wù)器設(shè)置為主服務(wù)器,將其他的數(shù)據(jù)服務(wù)器設(shè)置為從服務(wù)器,通過主服務(wù)器接收前端代理設(shè)備發(fā)送的即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)并處理即時(shí)通訊業(yè)務(wù);選舉服務(wù)器監(jiān)聽主服務(wù)器和從服務(wù)器,當(dāng)監(jiān)聽到主服務(wù)器出現(xiàn)故障或者當(dāng)主服務(wù)器與前端代理設(shè)備之間的網(wǎng)絡(luò)出現(xiàn)故障時(shí),將其中一個(gè)從服務(wù)器設(shè)置為新的主服務(wù)器,以通過新的主服務(wù)器接收前端代理設(shè)備發(fā)送的即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)并處理即時(shí)通訊業(yè)務(wù)。本發(fā)明可以提高即時(shí)通訊業(yè)務(wù)的吞吐量。
【專利說明】一種對即時(shí)通訊業(yè)務(wù)進(jìn)行處理的方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)通信領(lǐng)域,特別涉及一種對即時(shí)通訊業(yè)務(wù)進(jìn)行處理的方法及系統(tǒng)。
【背景技術(shù)】
[0002]在互聯(lián)網(wǎng)通信技術(shù)中,當(dāng)用戶使用某個(gè)即時(shí)通訊業(yè)務(wù)時(shí),服務(wù)器需要對該即時(shí)通訊業(yè)務(wù)進(jìn)行處理。
[0003]目前,提供了一種對即時(shí)通訊業(yè)務(wù)進(jìn)行處理的方法,具體為:遠(yuǎn)程數(shù)據(jù)服務(wù)器包括主服務(wù)器和從服務(wù)器,主服務(wù)器與從服務(wù)器位于不同的機(jī)房中,且主服務(wù)器與即時(shí)通訊業(yè)務(wù)對應(yīng)的分區(qū)服務(wù)器位于同一個(gè)機(jī)房中。終端向遠(yuǎn)程數(shù)據(jù)服務(wù)器中寫入即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)時(shí),終端將該即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)發(fā)送給分區(qū)服務(wù)器,分區(qū)服務(wù)器將該即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)轉(zhuǎn)發(fā)給主服務(wù)器;主服務(wù)器接收該即時(shí)通訊業(yè)務(wù)的數(shù)據(jù),對該即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)進(jìn)行處理,將處理后的數(shù)據(jù)進(jìn)行存儲(chǔ)并將處理后的數(shù)據(jù)發(fā)送給從服務(wù)器,使從服務(wù)器將處理的數(shù)據(jù)進(jìn)行存儲(chǔ)。
[0004]在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題:
[0005]由于從服務(wù)器中存儲(chǔ)的數(shù)據(jù)是主服務(wù)器發(fā)送的,并且當(dāng)主服務(wù)器出現(xiàn)故障或者當(dāng)分區(qū)服務(wù)器與主服務(wù)器之間的網(wǎng)絡(luò)出現(xiàn)故障時(shí),從服務(wù)器不能將接收的數(shù)據(jù)同步到其他的從服務(wù)器,所以無法為終端提供可靠的即時(shí)通訊業(yè)務(wù);并且分區(qū)服務(wù)器需要將接收的即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)從自身所在的機(jī)房發(fā)送到從服務(wù)器所在的機(jī)房,如此,變成了分區(qū)服務(wù)器跨機(jī)房寫即時(shí)通訊業(yè)務(wù)的數(shù)據(jù),影響了即時(shí)通訊業(yè)務(wù)的吞吐量。

【發(fā)明內(nèi)容】

[0006]為了解決現(xiàn)有技術(shù)的問題,本發(fā)明實(shí)施例提供了一種對即時(shí)通訊業(yè)務(wù)進(jìn)行處理的方法及系統(tǒng)。所述技術(shù)方案如下:
[0007]一方面,提供了一種對即時(shí)通訊業(yè)務(wù)進(jìn)行處理的方法,所述方法包括:
[0008]選舉服務(wù)器接收至少兩個(gè)數(shù)據(jù)服務(wù)器發(fā)送的注冊請求消息;
[0009]所述選舉服務(wù)器將第一次接收的注冊請求信息對應(yīng)的數(shù)據(jù)服務(wù)器設(shè)置為主服務(wù)器,將其他的數(shù)據(jù)服務(wù)器設(shè)置為從服務(wù)器,以通過所述主服務(wù)器接收前端代理設(shè)備發(fā)送的即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)并處理所述即時(shí)通訊業(yè)務(wù);
[0010]所述選舉服務(wù)器監(jiān)聽所述主服務(wù)器和所述從服務(wù)器,當(dāng)監(jiān)聽到所述主服務(wù)器出現(xiàn)故障或者當(dāng)所述主服務(wù)器與所述前端代理設(shè)備之間的網(wǎng)絡(luò)出現(xiàn)故障時(shí),將其中一個(gè)從服務(wù)器設(shè)置為新的主服務(wù)器,以通過所述新的主服務(wù)器接收所述前端代理設(shè)備發(fā)送的即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)并處理所述即時(shí)通訊業(yè)務(wù)。
[0011]另一方面,提供了一種對即時(shí)通訊業(yè)務(wù)進(jìn)行處理的系統(tǒng),所述系統(tǒng)包括:選舉服務(wù)器和至少兩個(gè)數(shù)據(jù)服務(wù)器;
[0012]所述選舉服務(wù)器,用于接收所述至少兩個(gè)數(shù)據(jù)服務(wù)器發(fā)送的注冊請求消息;[0013]所述選舉服務(wù)器,用于將第一次接收的注冊請求信息對應(yīng)的數(shù)據(jù)服務(wù)器設(shè)置為主服務(wù)器,將其他的數(shù)據(jù)服務(wù)器設(shè)置為從服務(wù)器,以通過所述主服務(wù)器接收前端代理設(shè)備發(fā)送的即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)并處理所述即時(shí)通訊業(yè)務(wù);
[0014]所述選舉服務(wù)器,用于監(jiān)聽所述主服務(wù)器和所述從服務(wù)器,當(dāng)監(jiān)聽到所述主服務(wù)器出現(xiàn)故障或者當(dāng)所述主服務(wù)器與所述前端代理設(shè)備之間的網(wǎng)絡(luò)出現(xiàn)故障時(shí),將其中一個(gè)從服務(wù)器設(shè)置為新的主服務(wù)器,以通過所述新的主服務(wù)器接收所述前端代理設(shè)備發(fā)送的即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)并處理所述即時(shí)通訊業(yè)務(wù)。
[0015]在本發(fā)明實(shí)施例中,選舉服務(wù)器將第一次接收的注冊請求消息對應(yīng)的數(shù)據(jù)服務(wù)器設(shè)置為主服務(wù)器,將其他的數(shù)據(jù)服務(wù)器設(shè)置為從服務(wù)器后,當(dāng)前端代理設(shè)備接收到終端發(fā)送的即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)時(shí),將該即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)發(fā)送給主服務(wù)器,通過主服務(wù)器對該即時(shí)通訊業(yè)務(wù)進(jìn)行處理。當(dāng)選舉服務(wù)器監(jiān)聽到主服務(wù)器出現(xiàn)故障或者當(dāng)主服務(wù)器與前端代理設(shè)備之間的網(wǎng)絡(luò)出現(xiàn)故障時(shí),將其中一個(gè)從服務(wù)器設(shè)置為新的主服務(wù)器后,當(dāng)前端代理設(shè)備再次接收到終端發(fā)送的即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)時(shí),該選舉服務(wù)器直接將該即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)發(fā)送給新的主服務(wù)器,通過該新的主服務(wù)器對該即時(shí)通訊業(yè)務(wù)進(jìn)行處理。由于前端代理設(shè)備、主服務(wù)器和從服務(wù)器均位于不同的機(jī)房中,所以,當(dāng)主服務(wù)器出現(xiàn)故障或者前端代理設(shè)備與主服務(wù)器之間的網(wǎng)絡(luò)出現(xiàn)故障時(shí),前端代理設(shè)備不需要將即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)先發(fā)送到主服務(wù)器所在的機(jī)房再發(fā)送到新的主服務(wù)器所在的機(jī)房,可以直接將該即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)發(fā)送給新的主服務(wù)器,不需要跨機(jī)房發(fā)送該即時(shí)通訊業(yè)務(wù)的數(shù)據(jù),進(jìn)而提高了即時(shí)通訊業(yè)務(wù)的吞吐量。
【專利附圖】

【附圖說明】
[0016]為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0017]圖1是本發(fā)明實(shí)施例一提供的一種對即時(shí)通訊業(yè)務(wù)進(jìn)行處理的方法流程圖;
[0018]圖2是本發(fā)明實(shí)施例二提供的一種對即時(shí)通訊業(yè)務(wù)進(jìn)行處理的方法流程圖;
[0019]圖3是本發(fā)明實(shí)施例二提供的一種對即時(shí)通訊業(yè)務(wù)進(jìn)行處理的系統(tǒng)架構(gòu)圖;
[0020]圖4是本發(fā)明實(shí)施例二提供的另一種對即時(shí)通訊業(yè)務(wù)進(jìn)行處理的方法流程圖;
[0021]圖5是本發(fā)明實(shí)施例二提供的一種聊天分區(qū)界面示意圖;
[0022]圖6是本發(fā)明實(shí)施例二提供的另一種對即時(shí)通訊業(yè)務(wù)進(jìn)行處理的系統(tǒng)架構(gòu)圖;
[0023]圖7是本發(fā)明實(shí)施例三提供的一種對即時(shí)通訊業(yè)務(wù)進(jìn)行處理的系統(tǒng)結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0024]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。
[0025]實(shí)施例一
[0026]本發(fā)明實(shí)施例提供了一種對即時(shí)通訊業(yè)務(wù)進(jìn)行處理的方法,參見圖1,該方法包括:[0027]步驟101:選舉服務(wù)器接收至少兩個(gè)數(shù)據(jù)服務(wù)器發(fā)送的注冊請求消息;
[0028]步驟102:選舉服務(wù)器將第一次接收的注冊請求信息對應(yīng)的數(shù)據(jù)服務(wù)器設(shè)置為主服務(wù)器,將其他的數(shù)據(jù)服務(wù)器設(shè)置為從服務(wù)器,以通過主服務(wù)器接收前端代理設(shè)備發(fā)送的即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)并處理該即時(shí)通訊業(yè)務(wù);
[0029]步驟103:選舉服務(wù)器監(jiān)聽主服務(wù)器和從服務(wù)器,當(dāng)監(jiān)聽到主服務(wù)器出現(xiàn)故障或者當(dāng)主服務(wù)器與前端代理設(shè)備之間的網(wǎng)絡(luò)出現(xiàn)故障時(shí),將其中一個(gè)從服務(wù)器設(shè)置為新的主服務(wù)器,以通過新的主服務(wù)器接收前端代理設(shè)備發(fā)送的即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)并處理該即時(shí)通訊業(yè)務(wù)。
[0030]其中,選舉服務(wù)器將第一次接收的注冊請求消息對應(yīng)的數(shù)據(jù)服務(wù)器設(shè)置為主服務(wù)器,將其他的數(shù)據(jù)服務(wù)器設(shè)置為從服務(wù)器之后,還包括:
[0031]選舉服務(wù)器根據(jù)主服務(wù)器的網(wǎng)絡(luò)之間互連的協(xié)議IP地址和端口號(hào),從已存儲(chǔ)的IP地址、端口號(hào)和節(jié)點(diǎn)身份標(biāo)識(shí)ID的對應(yīng)關(guān)系中獲取主服務(wù)器所在的分區(qū)服務(wù)器集群對應(yīng)的節(jié)點(diǎn)ID ;
[0032]選舉服務(wù)器向前端代理設(shè)備發(fā)送加入消息,該加入消息攜帶節(jié)點(diǎn)ID、主服務(wù)器的角色信息、IP地址和端口號(hào)、以及從服務(wù)器的角色信息、IP地址和端口號(hào);
[0033]前端代理設(shè)備根據(jù)該節(jié)點(diǎn)ID,將主服務(wù)器的角色信息、IP地址和端口號(hào),以及從服務(wù)器的角色信息、IP地址和端口號(hào)加入哈希環(huán)中對應(yīng)的節(jié)點(diǎn)中。
[0034]進(jìn)一步地,當(dāng)監(jiān)聽到主服務(wù)器出現(xiàn)故障或者當(dāng)主服務(wù)器與前端代理設(shè)備之間的網(wǎng)絡(luò)出現(xiàn)故障時(shí),將其中一個(gè)從服務(wù)器設(shè)置為新的主服務(wù)器之后,還包括:
[0035]選舉服務(wù)器向前端代理設(shè)備發(fā)送更新消息,更新消息中攜帶節(jié)點(diǎn)ID、主服務(wù)器的IP地址和端口號(hào),以及新的主服務(wù)器的新角色信息、IP地址和端口號(hào);
[0036]前端代理設(shè)備根據(jù)節(jié)點(diǎn)ID、主服務(wù)器的IP地址和端口號(hào),從哈希環(huán)中刪除主服務(wù)器的角色信息、IP地址和端口號(hào);
[0037]前端代理設(shè)備根據(jù)節(jié)點(diǎn)ID、新的主服務(wù)器的IP地址和端口號(hào),從該哈希環(huán)中獲取新的主服務(wù)器的角色信息,將獲取的角色信息替換為新角色信息。
[0038]進(jìn)一步地,該方法還包括:
[0039]第一終端向第一終端接入的第一前端代理設(shè)備發(fā)送入座請求消息,該入座請求消息攜帶第一用戶的ID和頻道的頻道ID ;
[0040]第一前端代理設(shè)備根據(jù)該頻道ID,將該入座請求消息發(fā)送給頻道對應(yīng)的分區(qū)服務(wù)器集群包括的主服務(wù)器;
[0041]主服務(wù)器根據(jù)第一用戶的ID和頻道ID,在頻道的聊天分區(qū)中為第一用戶分配座位;
[0042]第一前端代理設(shè)備接收第一終端發(fā)送的第一用戶的ID、頻道ID和聊天內(nèi)容,并根據(jù)頻道ID將第一用戶的ID和聊天內(nèi)容發(fā)送給分區(qū)服務(wù)器集群包括的聊天服務(wù)器;
[0043]聊天服務(wù)器根據(jù)第一用戶的ID,將第一用戶的ID和聊天內(nèi)容發(fā)送給聊天分區(qū)包括的第二用戶對應(yīng)的第二終端,第二用戶為聊天分區(qū)中除第一用戶之外的其他用戶。
[0044]其中,第一前端代理設(shè)備根據(jù)頻道ID,將該入座請求消息發(fā)送給頻道對應(yīng)的分區(qū)服務(wù)器集群包括的主服務(wù)器,包括:
[0045]第一前端代理設(shè)備對頻道ID進(jìn)行一致性哈希運(yùn)算,得到頻道接入的分區(qū)服務(wù)器集群對應(yīng)的節(jié)點(diǎn)ID ;
[0046]第一前端代理設(shè)備根據(jù)節(jié)點(diǎn)ID,從哈希環(huán)中獲取對應(yīng)的節(jié)點(diǎn);
[0047]第一前端代理設(shè)備根據(jù)節(jié)點(diǎn)中的主服務(wù)器的角色信息從節(jié)點(diǎn)中獲取主服務(wù)器的IP地址和端口號(hào);
[0048]第一前端代理設(shè)備根據(jù)主服務(wù)器的IP地址和端口號(hào),將該入座請求消息發(fā)送給主服務(wù)器。
[0049]其中,主服務(wù)器根據(jù)第一用戶的ID和頻道ID,在頻道的聊天分區(qū)中為第一用戶分配座位,包括:
[0050]主服務(wù)器根據(jù)第一用戶的ID,獲取第一用戶的身份信息;
[0051]如果第一用戶的身份信息為會(huì)員用戶,則主服務(wù)器根據(jù)第一用戶的ID和頻道ID,在頻道的聊天分區(qū)包括的特權(quán)區(qū)域中為第一用戶分配座位;
[0052]如果第一用戶的身份信息為普通用戶,則主服務(wù)器根據(jù)第一用戶的ID和頻道ID,在聊天分區(qū)包括的普通區(qū)域中為第一用戶分配座位。
[0053]優(yōu)選地,主服務(wù)器根據(jù)第一用戶的ID和頻道ID,在頻道的聊天分區(qū)包括的特權(quán)區(qū)域中為第一用戶分配座位,包括:
[0054]主服務(wù)器獲取頻道的聊天分區(qū)中的每個(gè)分區(qū)組包括的特權(quán)區(qū)域中的用戶的第一個(gè)數(shù),以及獲取每個(gè)分區(qū)組包括的普通區(qū)域中的用戶的第二個(gè)數(shù);
[0055]主服務(wù)器將每個(gè)分區(qū)組對應(yīng)的第二個(gè)數(shù)分別除以每個(gè)分區(qū)組對應(yīng)的第一個(gè)數(shù),得到每個(gè)分區(qū)組對應(yīng)的第一數(shù)值;
[0056]主服務(wù)器從聊天分區(qū)包括的分區(qū)組中,選擇最大的第一數(shù)值對應(yīng)的分區(qū)組,如果選擇的分區(qū)組包括的特權(quán)區(qū)域中存在空閑的座位,則從選擇的分區(qū)組包括的特權(quán)區(qū)域中選擇一個(gè)空閑的座位,并將選擇的空閑座位分配給第一用戶;
[0057]如果選擇的分區(qū)組包括的特權(quán)區(qū)域中不存在空閑的座位,則主服務(wù)器在該聊天分區(qū)中創(chuàng)建一個(gè)分區(qū)組,并在創(chuàng)建的分區(qū)組中創(chuàng)建一個(gè)特權(quán)區(qū)域,并從創(chuàng)建的特權(quán)區(qū)域中選擇一個(gè)空閑的座位,并將選擇的空閑的座位分配給第一用戶。
[0058]優(yōu)選地,主服務(wù)器根據(jù)第一用戶的ID和頻道ID,在該聊天分區(qū)包括的普通區(qū)域中為第一用戶分配座位,包括:
[0059]主服務(wù)器獲取頻道的聊天分區(qū)中的每個(gè)分區(qū)組包括的用戶的個(gè)數(shù),選擇用戶的個(gè)數(shù)最少的分區(qū)組;
[0060]在選擇的分區(qū)組包括的普通區(qū)域中,判斷是否存在用戶數(shù)最多且存在空閑座位的普通區(qū)域,如果是,則主服務(wù)器從用戶數(shù)最多且存在空閑座位的普通區(qū)域中選擇一個(gè)空閑的座位,并將選擇的空閑的座位分配給第一用戶;
[0061]如果否,則主服務(wù)器在選擇的分區(qū)組中創(chuàng)建一個(gè)普通區(qū)域,并從創(chuàng)建的普通區(qū)域中選擇一個(gè)空閑的座位,并將選擇的空閑的座位分配給第一用戶。
[0062]其中,聊天服務(wù)器根據(jù)第一用戶的ID,將第一用戶的ID和聊天內(nèi)容發(fā)送給聊天分區(qū)包括的第二用戶對應(yīng)的第二終端,包括:
[0063]聊天服務(wù)器根據(jù)第一用戶的ID,從已存儲(chǔ)的用戶ID、分區(qū)組ID和區(qū)域ID的對應(yīng)關(guān)系中獲取對應(yīng)的分區(qū)組ID和區(qū)域ID ;
[0064]聊天服務(wù)器根據(jù)分區(qū)組ID和區(qū)域ID,從用戶ID、分區(qū)組ID和區(qū)域ID的對應(yīng)關(guān)系中獲取第二用戶的ID ;
[0065]聊天服務(wù)器根據(jù)第二用戶的ID,從已存儲(chǔ)的用戶ID與前端代理設(shè)備的標(biāo)識(shí)的對應(yīng)關(guān)系中獲取第二用戶對應(yīng)的第二終端接入的第二前端代理設(shè)備的標(biāo)識(shí);
[0066]聊天服務(wù)器根據(jù)第二前端代理設(shè)備的標(biāo)識(shí),將第一用戶的ID和聊天內(nèi)容發(fā)送給
第二終端。
[0067]在本發(fā)明實(shí)施例中,選舉服務(wù)器將第一次接收的注冊請求消息對應(yīng)的數(shù)據(jù)服務(wù)器設(shè)置為主服務(wù)器,將其他的數(shù)據(jù)服務(wù)器設(shè)置為從服務(wù)器后,當(dāng)前端代理設(shè)備接收到終端發(fā)送的即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)時(shí),將該即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)發(fā)送給主服務(wù)器,通過主服務(wù)器對該即時(shí)通訊業(yè)務(wù)進(jìn)行處理。當(dāng)選舉服務(wù)器監(jiān)聽到主服務(wù)器出現(xiàn)故障或者當(dāng)主服務(wù)器與前端代理設(shè)備之間的網(wǎng)絡(luò)出現(xiàn)故障時(shí),將其中一個(gè)從服務(wù)器設(shè)置為新的主服務(wù)器后,當(dāng)前端代理設(shè)備再次接收到終端發(fā)送的即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)時(shí),該選舉服務(wù)器直接將該即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)發(fā)送給新的主服務(wù)器,通過該新的主服務(wù)器對該即時(shí)通訊業(yè)務(wù)進(jìn)行處理。由于前端代理設(shè)備、主服務(wù)器和從服務(wù)器均位于不同的機(jī)房中,所以,當(dāng)主服務(wù)器出現(xiàn)故障或者前端代理設(shè)備與主服務(wù)器之間的網(wǎng)絡(luò)出現(xiàn)故障時(shí),前端代理設(shè)備不需要將即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)先發(fā)送到主服務(wù)器所在的機(jī)房再發(fā)送到新的主服務(wù)器所在的機(jī)房,可以直接將該即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)發(fā)送給新的主服務(wù)器,不需要跨機(jī)房發(fā)送該即時(shí)通訊業(yè)務(wù)的數(shù)據(jù),進(jìn)而提高了即時(shí)通訊業(yè)務(wù)的吞吐量。
[0068]實(shí)施例二
[0069]本發(fā)明實(shí)施例提供了一種對即時(shí)通訊業(yè)務(wù)進(jìn)行處理的方法,參見圖2,該方法包括:
[0070]步驟201:選舉服務(wù)器接收至少兩個(gè)數(shù)據(jù)服務(wù)器發(fā)送的注冊請求消息;
[0071]其中,當(dāng)數(shù)據(jù)服務(wù)器啟動(dòng)后,數(shù)據(jù)服務(wù)器會(huì)向選舉服務(wù)器發(fā)送注冊請求消息,該注冊請求消息中攜帶該數(shù)據(jù)服務(wù)器的IP (Internet Protocol,網(wǎng)絡(luò)之間互連的協(xié)議)地址和
端口號(hào)。
[0072]如圖3所示的系統(tǒng)架構(gòu)圖中,該系統(tǒng)中包括終端、前端代理設(shè)備、選舉服務(wù)器、主服務(wù)器和從服務(wù)器,主服務(wù)器和從服務(wù)器位于同一個(gè)分區(qū)服務(wù)器集群中。該系統(tǒng)中的從服務(wù)器還可以繼續(xù)擴(kuò)展,執(zhí)行該即時(shí)通訊業(yè)務(wù)中的其他操作。
[0073]步驟202:選舉服務(wù)器將第一次接收的注冊請求信息對應(yīng)的數(shù)據(jù)服務(wù)器設(shè)置為主服務(wù)器,將其他的數(shù)據(jù)服務(wù)器設(shè)置為從服務(wù)器;
[0074]其中,選舉服務(wù)器接收數(shù)據(jù)服務(wù)器發(fā)送的注冊請求消息時(shí)會(huì)記錄接收該注冊請求消息的接收時(shí)間,根據(jù)接收的至少兩個(gè)數(shù)據(jù)服務(wù)器的注冊請求消息的接收時(shí)間,將接收時(shí)間最早的一個(gè)數(shù)據(jù)服務(wù)器設(shè)置為主服務(wù)器,將其他的數(shù)據(jù)服務(wù)器設(shè)置為從服務(wù)器。
[0075]進(jìn)一步地,當(dāng)選舉服務(wù)器設(shè)置主服務(wù)器和從服務(wù)器之后,選舉服務(wù)器向該主服務(wù)器發(fā)送第一回復(fù)消息,該第一回復(fù)消息攜帶主服務(wù)器的角色信息、從服務(wù)器的角色信息、從服務(wù)器的IP地址和端口號(hào);并向從服務(wù)器發(fā)送第二回復(fù)消息,該第二回復(fù)消息攜帶從服務(wù)器的角色信息、主服務(wù)器的角色信息、主服務(wù)器的IP地址和端口號(hào)。
[0076]其中,角色信息用于指示數(shù)據(jù)服務(wù)器是主服務(wù)器還是從服務(wù)器。
[0077]其中,選舉服務(wù)器設(shè)置主服務(wù)器和從服務(wù)器之后,該主服務(wù)器和從服務(wù)器便構(gòu)成了一個(gè)分區(qū)服務(wù)器集群,并通知該分區(qū)服務(wù)器集群中的每個(gè)服務(wù)器自身所在的分區(qū)服務(wù)器集群中包括的每個(gè)服務(wù)器的角色信息、IP地址和端口號(hào)。
[0078]其中,上述步驟中至少兩個(gè)數(shù)據(jù)服務(wù)器啟動(dòng)的時(shí)間可能不同,所以選舉服務(wù)器可以在接收到第一個(gè)數(shù)據(jù)服務(wù)器發(fā)送的注冊請求消息之后,將第一個(gè)數(shù)據(jù)服務(wù)器設(shè)置為分區(qū)服務(wù)器集群的主服務(wù)器,將后續(xù)接收的數(shù)據(jù)服務(wù)器設(shè)置為該分區(qū)服務(wù)器集群的從服務(wù)器。當(dāng)然,選舉服務(wù)器也可以接收到第一個(gè)數(shù)據(jù)服務(wù)器發(fā)送的注冊請求消息之后不執(zhí)行設(shè)置主服務(wù)器的步驟,可以在接收到第二個(gè)數(shù)據(jù)服務(wù)器發(fā)送的注冊請求消息之后,將第一個(gè)數(shù)據(jù)服務(wù)器設(shè)置為主服務(wù)器,將第二個(gè)數(shù)據(jù)服務(wù)器設(shè)置為從服務(wù)器,將第二個(gè)數(shù)據(jù)服務(wù)器之后接收的注冊請求消息的數(shù)據(jù)服務(wù)器也設(shè)置為從服務(wù)器。
[0079]其中,從服務(wù)器可以為聊天服務(wù)器。
[0080]步驟203:選舉服務(wù)器根據(jù)主服務(wù)器的IP地址和端口號(hào),從已存儲(chǔ)的IP地址、端口號(hào)和節(jié)點(diǎn)ID (identity,身份標(biāo)識(shí))的對應(yīng)關(guān)系中獲取主服務(wù)器所在的分區(qū)服務(wù)器集群對應(yīng)的節(jié)點(diǎn)ID ;
[0081]其中,一個(gè)分區(qū)服務(wù)器集群對應(yīng)一個(gè)節(jié)點(diǎn),所以選擇服務(wù)器可以根據(jù)該分區(qū)服務(wù)器集群包括的主服務(wù)器的IP地址和端口號(hào),從已存儲(chǔ)的IP地址、端口號(hào)和節(jié)點(diǎn)ID的對應(yīng)關(guān)系中獲取主服務(wù)器所在的分區(qū)服務(wù)器集群對應(yīng)的節(jié)點(diǎn)ID,還可以根據(jù)該分區(qū)服務(wù)器集群包括的從服務(wù)器的IP地址和端口號(hào),從已存儲(chǔ)的IP地址、端口號(hào)和節(jié)點(diǎn)ID的對應(yīng)關(guān)系中獲取主服務(wù)器所在的分區(qū)服務(wù)器集群對應(yīng)的節(jié)點(diǎn)ID。
[0082]其中,主服務(wù)器的IP地址和端口號(hào)是主服務(wù)器發(fā)送給選舉服務(wù)器的注冊請求消息中攜帶的IP地址和端口號(hào),從服務(wù)器的IP地址和端口號(hào)是從服務(wù)器發(fā)送給選舉服務(wù)器的注冊請求消息中攜帶的IP地址和端口號(hào),且IP地址、端口號(hào)和節(jié)點(diǎn)ID的對應(yīng)關(guān)系中的節(jié)點(diǎn)ID是選舉服務(wù)器事先為每個(gè)數(shù)據(jù)服務(wù)器配置的節(jié)點(diǎn)ID。
[0083]步驟204:選舉服務(wù)器向前端代理設(shè)備發(fā)送加入消息,該加入消息攜帶該節(jié)點(diǎn)ID、主服務(wù)器的角色信息、IP地址和端口號(hào)、以及從服務(wù)器的角色信息、IP地址和端口號(hào);
[0084]其中,每個(gè)用戶對應(yīng)的終端都會(huì)接入一個(gè)前端代理設(shè)備,通過該前端代理設(shè)備將信息發(fā)送給頻道對應(yīng)的分區(qū)服務(wù)器集群,所以選舉服務(wù)器會(huì)將該分區(qū)服務(wù)器集群包括的主服務(wù)器的角色信息、IP地址和端口號(hào)、以及從服務(wù)器的角色信息、IP地址和端口號(hào)發(fā)送給前端代理設(shè)備。
[0085]步驟205:前端代理設(shè)備根據(jù)節(jié)點(diǎn)ID,將主服務(wù)器的角色信息、IP地址和端口號(hào),以及從服務(wù)器的角色信息、IP地址和端口號(hào)加入哈希環(huán)中對應(yīng)的節(jié)點(diǎn)中,以通過主服務(wù)器接收前端代理設(shè)備發(fā)送的即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)并處理該即時(shí)通訊業(yè)務(wù);
[0086]其中,在前端代理設(shè)備中存儲(chǔ)哈希環(huán),該哈希環(huán)中包括多個(gè)分區(qū)服務(wù)器集群對應(yīng)的節(jié)點(diǎn),且每個(gè)節(jié)點(diǎn)均存在自身對應(yīng)的節(jié)點(diǎn)ID。
[0087]需要補(bǔ)充說明的是,為了便于對該哈希環(huán)包括的節(jié)點(diǎn)中的信息進(jìn)行維護(hù),可以在該哈希環(huán)包括的節(jié)點(diǎn)中設(shè)置角色信息、IP地址和端口號(hào)的對應(yīng)關(guān)系,當(dāng)前端代理設(shè)備接收到選舉服務(wù)器發(fā)送的主服務(wù)器的角色信息、IP地址和端口號(hào),以及從服務(wù)器的角色信息、IP地址和端口號(hào)時(shí),該前端代理設(shè)備將主服務(wù)器的角色信息、IP地址和端口號(hào)存儲(chǔ)在角色信息、IP地址和端口號(hào)的對應(yīng)關(guān)系中,以及將從服務(wù)器的角色信息、IP地址和端口號(hào)存儲(chǔ)在角色信息、IP地址和端口號(hào)的對應(yīng)關(guān)系中。
[0088]進(jìn)一步地,前端代理設(shè)備根據(jù)節(jié)點(diǎn)ID,將主服務(wù)器角色信息、IP地址和端口號(hào),以及從服務(wù)器的角色信息、IP地址和端口號(hào)加入哈希環(huán)中對應(yīng)的節(jié)點(diǎn)之后,當(dāng)前端代理設(shè)備接收到接入的終端發(fā)送的即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)時(shí),該前端代理設(shè)備可以將該即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)發(fā)送給該主服務(wù)器,通過該主服務(wù)器對該即時(shí)通訊業(yè)務(wù)進(jìn)行處理。并且當(dāng)主服務(wù)器中存儲(chǔ)對該即時(shí)通訊業(yè)務(wù)進(jìn)行處理的結(jié)果時(shí),該主服務(wù)器根據(jù)自身所在的分區(qū)服務(wù)器集群包括的從服務(wù)器的IP地址和端口號(hào),將該處理結(jié)果發(fā)送給該分區(qū)服務(wù)器集群包括的從服務(wù)器,使該分區(qū)服務(wù)器集群中的從服務(wù)器和主服務(wù)器中存儲(chǔ)的數(shù)據(jù)相同。
[0089]步驟206:選舉服務(wù)器監(jiān)聽主服務(wù)器和從服務(wù)器,當(dāng)監(jiān)聽到主服務(wù)器出現(xiàn)故障或者當(dāng)主服務(wù)器與前端代理設(shè)備之間的網(wǎng)絡(luò)出現(xiàn)故障時(shí),將其中一個(gè)從服務(wù)器設(shè)置為新的主服務(wù)器;
[0090]具體地,選舉服務(wù)器監(jiān)聽主服務(wù)器和從服務(wù)器,當(dāng)選舉服務(wù)器監(jiān)聽到主服務(wù)器出現(xiàn)故障或者當(dāng)主服務(wù)器與前端代理設(shè)備之間的網(wǎng)絡(luò)出現(xiàn)故障時(shí),如果該分區(qū)服務(wù)器集群包括多個(gè)從服務(wù)器,則該選舉服務(wù)器立即從該多個(gè)從服務(wù)器隨機(jī)選擇一個(gè)從服務(wù)器,將選擇的從服務(wù)器設(shè)置為新的主服務(wù)器;如果該分區(qū)服務(wù)器集群包括一個(gè)從服務(wù)器,則該選舉服務(wù)器立即將該從服務(wù)器設(shè)置為新的主服務(wù)器。
[0091]步驟207:選舉服務(wù)器向前端代理設(shè)備發(fā)送更新消息,該更新消息中攜帶節(jié)點(diǎn)ID、出現(xiàn)故障的主服務(wù)器的IP地址和端口號(hào),以及新的主服務(wù)器的新角色信息、IP地址和端口號(hào);
[0092]步驟208:前端代理設(shè)備根據(jù)節(jié)點(diǎn)ID、主服務(wù)器的IP地址和端口號(hào),從哈希環(huán)中刪除主服務(wù)器的角色信息、IP地址和端口號(hào);
[0093]具體地,前端代理設(shè)備根據(jù)節(jié)點(diǎn)ID,從哈希環(huán)中查找對應(yīng)的節(jié)點(diǎn),并根據(jù)主服務(wù)器的IP地址和端口號(hào),從查找的節(jié)點(diǎn)中刪除主服務(wù)器的角色信息、IP地址和端口號(hào)。
[0094]步驟209:前端代理設(shè)備根據(jù)節(jié)點(diǎn)ID、新的主服務(wù)器的IP地址和端口號(hào),從哈希環(huán)中獲取新的主服務(wù)器的角色信息,將獲取的角色信息替換為接收的新角色信息,以通過新的主服務(wù)器接收前端代理設(shè)備發(fā)送的即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)并處理該即時(shí)通訊業(yè)務(wù)。
[0095]具體地,前端代理設(shè)備根據(jù)節(jié)點(diǎn)ID,從哈希環(huán)中查找對應(yīng)的節(jié)點(diǎn),根據(jù)新的主服務(wù)器的IP地址和端口號(hào),從查找的節(jié)點(diǎn)中獲取新的主服務(wù)器的角色信息,將獲取的角色信息替換為接收的新的角色信息。當(dāng)前端代理設(shè)備接收到接入的終端發(fā)送的即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)時(shí),該前端代理設(shè)備可以將該即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)發(fā)送給該新的主服務(wù)器,通過該新的主服務(wù)器對該即時(shí)通訊業(yè)務(wù)進(jìn)行處理。
[0096]進(jìn)一步地,當(dāng)除上述至少兩個(gè)數(shù)據(jù)服務(wù)器之外的其他數(shù)據(jù)服務(wù)器啟動(dòng)時(shí),該新啟動(dòng)的數(shù)據(jù)服務(wù)器向選舉服務(wù)器發(fā)送注冊請求消息,該注冊請求信息攜帶該新啟動(dòng)的數(shù)據(jù)服務(wù)器的IP地址和端口號(hào);選舉服務(wù)器接收該注冊請求信息,從分區(qū)服務(wù)器集群中檢測沒有從服務(wù)器的分區(qū)服務(wù)器集群,如果檢測到,則將該新啟動(dòng)的數(shù)據(jù)服務(wù)器設(shè)置為檢測到的分區(qū)服務(wù)器集群的從服務(wù)器;選舉服務(wù)器向檢測到的分區(qū)服務(wù)器集群包括的主服務(wù)器發(fā)送第三回復(fù)消息,該第三回復(fù)消息攜帶該新啟動(dòng)的數(shù)據(jù)服務(wù)器的角色信息、IP地址和端口號(hào);以及向該新啟動(dòng)的數(shù)據(jù)服務(wù)器發(fā)送第四回復(fù)消息,該第四回復(fù)消息攜帶該新啟動(dòng)的數(shù)據(jù)服務(wù)器的角色信息、檢測到的分區(qū)服務(wù)器集群包括的主服務(wù)器的角色信息、IP地址和端口號(hào)。
[0097]其中,如果選舉服務(wù)器沒有檢測到不存在從服務(wù)器的分區(qū)服務(wù)器集群,則選舉服務(wù)器從每個(gè)分區(qū)服務(wù)器集群中獲取與該新啟動(dòng)的數(shù)據(jù)服務(wù)器的IP地址位于同一個(gè)IP段的分區(qū)服務(wù)器集群,將該新啟動(dòng)的數(shù)據(jù)服務(wù)器設(shè)置為獲取的分區(qū)服務(wù)器集群的從服務(wù)器。
[0098]其中,在本發(fā)明實(shí)施例中,選舉服務(wù)器監(jiān)聽主服務(wù)器和從服務(wù)器,當(dāng)監(jiān)聽到主服務(wù)器出現(xiàn)故障或者當(dāng)主服務(wù)器與前端代理設(shè)備之間的網(wǎng)絡(luò)出現(xiàn)故障時(shí),該選舉服務(wù)器立即將其中一個(gè)從服務(wù)器設(shè)置為新的主服務(wù)器,通過該新的主服務(wù)器接收前端代理設(shè)備發(fā)送的即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)并對該即時(shí)通訊業(yè)務(wù)進(jìn)行處理,進(jìn)而避免當(dāng)主服務(wù)器出現(xiàn)故障時(shí)從服務(wù)器不能升級(jí)為主服務(wù)器,以及避免了主服務(wù)器出現(xiàn)故障時(shí),終端無法向該分區(qū)服務(wù)器集群包括的從服務(wù)器中寫入該即時(shí)通訊業(yè)務(wù)的數(shù)據(jù),進(jìn)而無法對該即時(shí)通訊業(yè)務(wù)進(jìn)行處理。由于前端代理設(shè)備、主服務(wù)器和從服務(wù)器均位于不同的機(jī)房中,所以,當(dāng)主服務(wù)器出現(xiàn)故障或者前端代理設(shè)備與主服務(wù)器之間的網(wǎng)絡(luò)出現(xiàn)故障時(shí),前端代理設(shè)備不需要將即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)先發(fā)送到主服務(wù)器所在的機(jī)房再發(fā)送到新的主服務(wù)器所在的機(jī)房,可以直接將該即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)發(fā)送給新的主服務(wù)器,不需要跨機(jī)房,進(jìn)而提高了即時(shí)通訊業(yè)務(wù)的吞吐量。
[0099]其中,通過上述201-209的步驟對該分區(qū)服務(wù)器集群進(jìn)行設(shè)置及維護(hù)后,可以根據(jù)如下的步驟通過上述的主服務(wù)器對即時(shí)通訊業(yè)務(wù)進(jìn)行處理,參見圖4,具體對即時(shí)通訊業(yè)務(wù)進(jìn)行處理的方法包括:
[0100]步驟301:第一終端向第一終端接入的第一前端代理設(shè)備發(fā)送入座請求消息,該入座請求消息攜帶第一用戶的ID和頻道的頻道ID ;
[0101]其中,第一終端向第一前端代理設(shè)備發(fā)送入座請求消息之前,第一終端需要進(jìn)入該頻道。
[0102]第一終端進(jìn)入該頻道的步驟具體可以為:第一終端向會(huì)話服務(wù)器發(fā)送進(jìn)入請求消息,該進(jìn)入請求消息攜帶第一用戶的ID和該頻道的頻道ID ;會(huì)話服務(wù)器接收該進(jìn)入請求消息,根據(jù)該頻道ID,將該用戶的ID存儲(chǔ)在該頻道對應(yīng)的用戶列表中,以及根據(jù)該頻道ID,從已存儲(chǔ)的頻道ID與應(yīng)用標(biāo)識(shí)的對應(yīng)關(guān)系中獲取對應(yīng)的應(yīng)用標(biāo)識(shí),并將該頻道對應(yīng)的用戶列表中的用戶標(biāo)識(shí)和該頻道包括的應(yīng)用標(biāo)識(shí)發(fā)送給前端代理設(shè)備,使前端代理設(shè)備將該頻道對應(yīng)的用戶列表中的用戶標(biāo)識(shí)和該頻道包括的應(yīng)用標(biāo)識(shí)轉(zhuǎn)發(fā)給第一終端。
[0103]第一終端接收該頻道對應(yīng)的用戶列表中的用戶標(biāo)識(shí)和該頻道包括的應(yīng)用標(biāo)識(shí),力口載該用戶列表和該應(yīng)用標(biāo)識(shí)對應(yīng)的應(yīng)用,以進(jìn)入該頻道。
[0104]步驟302:第一前端代理設(shè)備根據(jù)該頻道ID,將入座請求消息發(fā)送給該頻道對應(yīng)的分區(qū)服務(wù)器集群包括的主服務(wù)器;
[0105]具體地,第一前端代理設(shè)備對該頻道ID進(jìn)行一致性哈希運(yùn)算,得到該頻道接入的分區(qū)服務(wù)器集群對應(yīng)的節(jié)點(diǎn)ID ;第一前端代理設(shè)備根據(jù)節(jié)點(diǎn)ID,從哈希環(huán)中獲取對應(yīng)的節(jié)點(diǎn);第一前端代理設(shè)備根據(jù)獲取的節(jié)點(diǎn)中的主服務(wù)器的角色信息從該節(jié)點(diǎn)中獲取主服務(wù)器的IP地址和端口號(hào);第一前端代理設(shè)備根據(jù)主服務(wù)器的IP地址和端口號(hào),將該入座請求消息發(fā)送給主服務(wù)器。
[0106]其中,第一前端代理設(shè)備可以根據(jù)獲取的節(jié)點(diǎn)中的主服務(wù)器的角色信息,從該節(jié)點(diǎn)的角色信息、IP地址和端口號(hào)的對應(yīng)關(guān)系中獲取該主服務(wù)器的IP地址和端口號(hào)。
[0107]步驟303:主服務(wù)器根據(jù)第一用戶的ID,獲取第一用戶的身份信息;
[0108]具體地,主服務(wù)器從已存儲(chǔ)的會(huì)員列表中查找第一用戶的ID,如果查找到,則確定第一用戶的身份信息為會(huì)員用戶,如果沒有查找到,則確定第一用戶的身份信息為普通用戶。
[0109]步驟304:如果第一用戶的身份信息為會(huì)員用戶,則主服務(wù)器根據(jù)第一用戶的ID和該頻道ID,在該頻道的聊天分區(qū)包括的特權(quán)區(qū)域中為第一用戶分配座位;
[0110]具體地,本步驟可以通過如下(I)- (5)的步驟來實(shí)現(xiàn),包括:
[0111](I)、主服務(wù)器獲取該頻道的聊天分區(qū)中的每個(gè)分區(qū)組包括的特權(quán)區(qū)域中的用戶的第一個(gè)數(shù),以及獲取每個(gè)分區(qū)組包括的普通區(qū)域中的用戶的第二個(gè)數(shù);
[0112]其中,頻道的聊天分區(qū)中包括多個(gè)分區(qū)組,且每個(gè)分區(qū)組包括一個(gè)特權(quán)區(qū)域和多個(gè)普通區(qū)域,特權(quán)區(qū)域中包括多個(gè)座位,以及每個(gè)普通區(qū)域中包括多個(gè)座位。
[0113]可選地,分區(qū)組中也可以包括多個(gè)特權(quán)區(qū)域,且特權(quán)區(qū)域的個(gè)數(shù)小于普通區(qū)域的個(gè)數(shù)。
[0114](2)、主服務(wù)器將每個(gè)分區(qū)組對應(yīng)的第二個(gè)數(shù)分別除以每個(gè)分區(qū)組對應(yīng)的第一個(gè)數(shù),得到每個(gè)分區(qū)組對應(yīng)的第一數(shù)值;
[0115](3)、主服務(wù)器從該聊天分區(qū)包括的分區(qū)組中,選擇最大的第一數(shù)值對應(yīng)的分區(qū)組;
[0116]具體地,主服務(wù)器將該聊天分區(qū)包括的每個(gè)分區(qū)組對應(yīng)的第一數(shù)值進(jìn)行比較,從每個(gè)分區(qū)組對應(yīng)的第一數(shù)值中選擇一個(gè)最大的第一數(shù)值,并選擇最大的第一數(shù)值對應(yīng)的分區(qū)組。
[0117](4)、如果選擇的分區(qū)組包括的特權(quán)區(qū)域中存在空閑的座位,則主服務(wù)器從選擇的分區(qū)組包括的特權(quán)區(qū)域中選擇一個(gè)空閑的座位,并將選擇的空閑座位分配給第一用戶;
[0118]具體地,主服務(wù)器判斷選擇的分區(qū)組包括的特權(quán)區(qū)域中是否存在空閑的座位,如果選擇的分區(qū)組包括的特權(quán)區(qū)域中存在空閑的座位,則主服務(wù)器從選擇的分區(qū)組包括的特權(quán)區(qū)域中隨機(jī)選擇一個(gè)空閑的座位,并將選擇的空閑座位分配給第一用戶。
[0119](5)、如果選擇的分區(qū)組包括的特權(quán)區(qū)域中不存在空閑的座位,則主服務(wù)器在該聊天分區(qū)中創(chuàng)建一個(gè)分區(qū)組,并在創(chuàng)建的分區(qū)組中創(chuàng)建一個(gè)特權(quán)區(qū)域,并從創(chuàng)建的特權(quán)區(qū)域中選擇一個(gè)空閑的座位,并將選擇的空閑的座位分配給第一用戶。
[0120]進(jìn)一步地,主服務(wù)器還可以在創(chuàng)建的分區(qū)組中創(chuàng)建多個(gè)普通區(qū)域。
[0121]進(jìn)一步地,主服務(wù)器將選擇的空閑座位分配給第一用戶之后,主服務(wù)器根據(jù)第一用戶的ID,獲取第一用戶的用戶頭像,并將第一用戶的用戶頭像綁定在為第一用戶分配的座位上。
[0122]進(jìn)一步地,如果第一用戶沒有設(shè)置自己的頭像,則主服務(wù)器可以獲取默認(rèn)的用戶頭像,將默認(rèn)的用戶頭像作為第一用戶的用戶頭像,并綁定在為第一用戶分配的座位上。
[0123]其中,該頻道的聊天分區(qū)中不僅包括第一用戶的用戶頭像,還包括其他用戶的用戶頭像,當(dāng)主服務(wù)器將第一用戶的用戶頭像綁定在為第一用戶分配的座位上之后,主服務(wù)器將該頻道的聊天分區(qū)發(fā)送給第一前端代理設(shè)備,使第一前端代理設(shè)備將該聊天分區(qū)發(fā)送給第一終端。并且主服務(wù)器還根據(jù)第一用戶的ID,獲取第一用戶所在聊天分區(qū)的其他用戶的ID,將第一用戶的ID和第一用戶的用戶頭像發(fā)送給其他用戶對應(yīng)的終端,使其他用戶對應(yīng)的終端在第一用戶所在的座位上顯示第一用戶的用戶頭像。
[0124]由于頻道的聊天分區(qū)包括多個(gè)分區(qū)組,而每個(gè)用戶對應(yīng)的終端上只顯示該用戶所在分區(qū)組中的用戶頭像,其他分區(qū)組中的用戶頭像不顯示在該終端的屏幕上,當(dāng)用戶查看其他分區(qū)組中的用戶時(shí),該用戶可以向終端發(fā)送切換指令,使終端將屏幕上顯示的分區(qū)組的用戶頭像進(jìn)行切換。
[0125]其中,該頻道中還包括直播視頻屏幕或者表演屏幕,以及聊天內(nèi)容顯示區(qū)域,用戶可以在直播視頻屏幕上觀看正在直播的視頻,還可以與該聊天分區(qū)中的其他用戶聊天,并將聊天內(nèi)容顯示在聊天內(nèi)容顯示區(qū)域中。
[0126]其中,位于不同區(qū)域的用戶,可能其對應(yīng)的終端上顯示的聊天內(nèi)容顯示區(qū)域中顯示的聊天內(nèi)容不同。
[0127]例如,第一終端接收第一前端代理設(shè)備發(fā)送的聊天分區(qū)后,第一終端可以顯示如圖5所示的聊天分區(qū)界面,該聊天分區(qū)界面中包括表演屏幕、特權(quán)區(qū)域、普通區(qū)域、用戶的頭像和聊天內(nèi)容顯示區(qū)域。
[0128]步驟305:如果第一用戶的身份信息為普通用戶,則主服務(wù)器根據(jù)第一用戶的ID和該頻道ID,在該頻道的聊天分區(qū)包括的普通區(qū)域中為第一用戶分配座位;
[0129]具體地,本步驟可以通過如下(a) - (C)的步驟來實(shí)現(xiàn),包括:
[0130](a)、主服務(wù)器獲取該頻道的聊天分區(qū)中的每個(gè)分區(qū)組包括的用戶的個(gè)數(shù),選擇用戶的個(gè)數(shù)最少的分區(qū)組;
[0131]具體地,主服務(wù)器獲取該頻道的聊天分區(qū)中的每個(gè)分區(qū)組包括的用戶的個(gè)數(shù),將每個(gè)分區(qū)組包括的用戶的個(gè)數(shù)進(jìn)行比較,選擇用戶的個(gè)數(shù)最少的分區(qū)組。
[0132](b)、在選擇的分區(qū)組包括的普通區(qū)域中,判斷是否存在用戶數(shù)最多且存在空閑座位的普通區(qū)域,如果是,則從用戶數(shù)最多且存在空閑座位的普通區(qū)域中選擇一個(gè)空閑的座位,并將選擇的空閑的座位分配給第一用戶;
[0133]具體地,在選擇的分區(qū)組包括的普通區(qū)域中,統(tǒng)計(jì)每個(gè)普通區(qū)域中的用戶的個(gè)數(shù),將統(tǒng)計(jì)的個(gè)數(shù)進(jìn)行比較,選擇用戶的個(gè)數(shù)最大的普通區(qū)域,判斷選擇的普通區(qū)域中是否存在空閑的座位,如果存在,則從選擇的普通區(qū)域中隨機(jī)選擇一個(gè)空閑的座位,將選擇的空閑的座位分配給第一用戶。
[0134](C)、如果否,則在選擇的分區(qū)組中創(chuàng)建一個(gè)普通區(qū)域,并從創(chuàng)建的普通區(qū)域中選擇一個(gè)空閑的座位,并將選擇的空閑的座位分配給第一用戶。
[0135]進(jìn)一步地,主服務(wù)器還可以在創(chuàng)建的分區(qū)組中創(chuàng)建特權(quán)區(qū)域。
[0136]步驟306:第一前端代理設(shè)備接收第一終端發(fā)送的第一用戶的ID、頻道ID和聊天內(nèi)容,并根據(jù)該頻道ID將第一用戶的ID和聊天內(nèi)容發(fā)送給該分區(qū)服務(wù)器集群包括的聊天服務(wù)器;
[0137]具體地,第一前端代理設(shè)備接收第一終端發(fā)送的第一用戶的ID、頻道ID和聊天內(nèi)容,對該頻道ID進(jìn)行一致性哈希運(yùn)算,得到該頻道接入的分區(qū)服務(wù)器集群對應(yīng)的節(jié)點(diǎn)ID。第一前端代理設(shè)備根據(jù)該節(jié)點(diǎn)ID,從哈希環(huán)中獲取對應(yīng)的節(jié)點(diǎn),從該節(jié)點(diǎn)中獲取聊天服務(wù)器的IP地址和端口號(hào);根據(jù)聊天服務(wù)器的IP地址和端口號(hào),將第一用戶的ID和聊天內(nèi)容發(fā)送給該分區(qū)服務(wù)器集群包括的聊天服務(wù)器。
[0138]其中,當(dāng)?shù)谝挥脩襞c與該聊天分區(qū)中的其他用戶聊天時(shí),第一終端向第一前端代理設(shè)備發(fā)送第一用戶的ID、頻道ID和聊天內(nèi)容。
[0139]如圖6所示的系統(tǒng)架構(gòu)圖中,該系統(tǒng)包括第一終端、第一前端代理設(shè)備、選舉服務(wù)器和分區(qū)服務(wù)器集群,該分區(qū)服務(wù)器集群不僅包括主服務(wù)器、從服務(wù)器,還包括聊天服務(wù)器,當(dāng)?shù)谝挥脩舭l(fā)送聊天內(nèi)容時(shí),第一用戶對應(yīng)的第一終端向第一終端接入的第一前端代理設(shè)備發(fā)送聊天內(nèi)容,使第一前端代理設(shè)備將該聊天內(nèi)容發(fā)送給該聊天服務(wù)器。
[0140]步驟307:聊天服務(wù)器根據(jù)第一用戶的ID,將第一用戶的ID和聊天內(nèi)容發(fā)送給該聊天分區(qū)包括的第二用戶對應(yīng)的第二終端,第二用戶為該聊天分區(qū)中除第一用戶之外的其他用戶。
[0141]具體地,本步驟可以通過如下(I)- (4)的步驟來實(shí)現(xiàn),包括:
[0142](I)、聊天服務(wù)器根據(jù)第一用戶的ID,從已存儲(chǔ)的用戶ID、分區(qū)組ID和區(qū)域ID的對應(yīng)關(guān)系中獲取對應(yīng)的分區(qū)組ID和區(qū)域ID ;
[0143](2)、聊天服務(wù)器根據(jù)該分區(qū)組ID和區(qū)域ID,從用戶ID、分區(qū)組ID和區(qū)域ID的對應(yīng)關(guān)系中獲取第二用戶的ID ;
[0144]具體地,聊天服務(wù)器根據(jù)該分區(qū)組ID和區(qū)域ID,從用戶ID、分區(qū)組ID和區(qū)域ID的對應(yīng)關(guān)系中獲取對應(yīng)的用戶ID,從獲取的用戶ID中刪除第一用戶的ID,得到第二用戶的ID0
[0145]其中,第二用戶為與第一用戶位于同一個(gè)區(qū)域中的其他用戶,將第一用戶的聊天內(nèi)容發(fā)送給該第二用戶,如此,同一個(gè)區(qū)域中的用戶只能看到自己所在區(qū)域中的用戶的聊天內(nèi)容,避免了當(dāng)該頻道的聊天分區(qū)中的用戶較多時(shí),該聊天分區(qū)中的所有用戶均能看到每個(gè)用戶的聊天內(nèi)容時(shí)出現(xiàn)聊天內(nèi)容雜亂的現(xiàn)象。
[0146](3)、聊天服務(wù)器根據(jù)第二用戶的ID,從已存儲(chǔ)的用戶ID與前端代理設(shè)備的標(biāo)識(shí)的對應(yīng)關(guān)系中獲取第二用戶對應(yīng)的第二終端接入的第二前端代理設(shè)備的標(biāo)識(shí);
[0147](4)、聊天服務(wù)器根據(jù)第二前端代理設(shè)備的標(biāo)識(shí),將第一用戶的ID和聊天內(nèi)容發(fā)
送給第二終端。
[0148]其中,聊天服務(wù)器中存儲(chǔ)的數(shù)據(jù)與該分區(qū)服務(wù)器集群包括的主服務(wù)器中存儲(chǔ)的數(shù)據(jù)相同,所以通過聊天服務(wù)器將第一用戶的ID和聊天內(nèi)容發(fā)送給第二用戶對應(yīng)的第二終端,保證了聊天內(nèi)容能準(zhǔn)確地發(fā)送到對應(yīng)的第二終端中。
[0149]進(jìn)一步地,還可以將第一用戶的聊天內(nèi)容發(fā)送給該聊天分區(qū)內(nèi)所有的用戶,但是一般用戶對應(yīng)的終端上只顯示在用戶所在區(qū)域中的用戶的聊天內(nèi)容,當(dāng)用戶想要查看該聊天分區(qū)內(nèi)所有用戶的聊天內(nèi)容時(shí),該用戶可以向終端發(fā)送切換指令,該終端根據(jù)該切換指令向用戶顯示該聊天分區(qū)內(nèi)所有用戶的聊天內(nèi)容。
[0150]在本發(fā)明實(shí)施例中,選舉服務(wù)器監(jiān)聽主服務(wù)器和從服務(wù)器,當(dāng)監(jiān)聽到主服務(wù)器出現(xiàn)故障或者當(dāng)主服務(wù)器與前端代理設(shè)備之間的網(wǎng)絡(luò)出現(xiàn)故障時(shí),該選舉服務(wù)器立即將其中一個(gè)從服務(wù)器設(shè)置為新的主服務(wù)器,通過該新的主服務(wù)器接收前端代理設(shè)備發(fā)送的即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)并對該即時(shí)通訊業(yè)務(wù)進(jìn)行處理,進(jìn)而避免當(dāng)主服務(wù)器出現(xiàn)故障時(shí)從服務(wù)器不能升級(jí)為主服務(wù)器,以及避免了主服務(wù)器出現(xiàn)故障時(shí),終端無法向該分區(qū)服務(wù)器集群包括的從服務(wù)器中寫入該即時(shí)通訊業(yè)務(wù)的數(shù)據(jù),進(jìn)而無法對該即時(shí)通訊業(yè)務(wù)進(jìn)行處理。由于前端代理設(shè)備、主服務(wù)器和從服務(wù)器均位于不同的機(jī)房中,所以,當(dāng)主服務(wù)器出現(xiàn)故障或者前端代理設(shè)備與主服務(wù)器之間的網(wǎng)絡(luò)出現(xiàn)故障時(shí),前端代理設(shè)備不需要將即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)先發(fā)送到主服務(wù)器所在的機(jī)房再發(fā)送到新的主服務(wù)器所在的機(jī)房,可以直接將該即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)發(fā)送給新的主服務(wù)器,不需要跨機(jī)房,進(jìn)而提高了即時(shí)通訊業(yè)務(wù)的吞吐量。頻道的聊天分區(qū)中設(shè)置多個(gè)分區(qū)組,并在每個(gè)分區(qū)組中設(shè)置特權(quán)區(qū)域和普通區(qū)域,使更多的用戶可以進(jìn)入該頻道,并且當(dāng)?shù)谝挥脩襞c其他用戶進(jìn)行聊天時(shí),聊天服務(wù)器根據(jù)第一用戶的ID,從已存儲(chǔ)的用戶ID、分區(qū)組ID和區(qū)域ID的對應(yīng)關(guān)系中獲取到與第一用戶在同一個(gè)區(qū)域中的第二用戶,避免了該頻道的聊天分區(qū)中的用戶較多時(shí),將聊天內(nèi)容發(fā)送給所有的用戶時(shí)出現(xiàn)聊天內(nèi)容雜亂的現(xiàn)象。
[0151]實(shí)施例三
[0152]參見圖7,本發(fā)明實(shí)施例提供了一種對即時(shí)通訊業(yè)務(wù)進(jìn)行處理的系統(tǒng),該系統(tǒng)包括:選舉服務(wù)器401和至少兩個(gè)數(shù)據(jù)服務(wù)器402 ;
[0153]選舉服務(wù)器401,用于接收至少兩個(gè)數(shù)據(jù)服務(wù)器發(fā)送的注冊請求消息;
[0154]選舉服務(wù)器401,用于將第一次接收的注冊請求信息對應(yīng)的數(shù)據(jù)服務(wù)器設(shè)置為主服務(wù)器,將其他的數(shù)據(jù)服務(wù)器設(shè)置為從服務(wù)器,以通過主服務(wù)器接收前端代理設(shè)備發(fā)送的即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)并處理該即時(shí)通訊業(yè)務(wù);
[0155]選舉服務(wù)器401,用于監(jiān)聽主服務(wù)器和從服務(wù)器,當(dāng)監(jiān)聽到主服務(wù)器出現(xiàn)故障或者當(dāng)主服務(wù)器與前端代理設(shè)備之間的網(wǎng)絡(luò)出現(xiàn)故障時(shí),將其中一個(gè)從服務(wù)器設(shè)置為新的主服務(wù)器,以通過新的主服務(wù)器接收前端代理設(shè)備發(fā)送的即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)并處理該即時(shí)通訊業(yè)務(wù)。
[0156]進(jìn)一步地,該系統(tǒng)還包括:
[0157]選舉服務(wù)器401,用于根據(jù)主服務(wù)器的網(wǎng)絡(luò)之間互連的協(xié)議IP地址和端口號(hào),從已存儲(chǔ)的IP地址、端口號(hào)和節(jié)點(diǎn)身份標(biāo)識(shí)ID的對應(yīng)關(guān)系中獲取主服務(wù)器所在的分區(qū)服務(wù)器集群對應(yīng)的節(jié)點(diǎn)ID ;
[0158]選舉服務(wù)器401,用于向前端代理設(shè)備發(fā)送加入消息,該加入消息攜帶節(jié)點(diǎn)ID、主服務(wù)器的角色信息、IP地址和端口號(hào)、以及從服務(wù)器的角色信息、IP地址和端口號(hào);
[0159]前端代理設(shè)備,用于根據(jù)節(jié)點(diǎn)ID,將主服務(wù)器的角色信息、IP地址和端口號(hào),以及從服務(wù)器的角色信息、IP地址和端口號(hào)加入哈希環(huán)中對應(yīng)的節(jié)點(diǎn)中。
[0160]進(jìn)一步地,該系統(tǒng)還包括:
[0161]選舉服務(wù)器401,用于向前端代理設(shè)備發(fā)送更新消息,更新消息中攜帶節(jié)點(diǎn)ID、主服務(wù)器的IP地址和端口號(hào),以及新的主服務(wù)器的新角色信息、IP地址和端口號(hào);
[0162]前端代理設(shè)備,用于根據(jù)節(jié)點(diǎn)ID、主服務(wù)器的IP地址和端口號(hào),從哈希環(huán)中刪除主服務(wù)器的角色信息、IP地址和端口號(hào);
[0163]前端代理設(shè)備,用于根據(jù)節(jié)點(diǎn)ID、新的主服務(wù)器的IP地址和端口號(hào),從哈希環(huán)中獲取新的主服務(wù)器的角色信息,將獲取的角色信息替換為新角色信息。
[0164]進(jìn)一步地,該系統(tǒng)還包括:
[0165]第一終端,用于向第一終端接入的第一前端代理設(shè)備發(fā)送入座請求消息,該入座請求消息攜帶第一用戶的ID和頻道的頻道ID ;
[0166]第一前端代理設(shè)備,用于根據(jù)頻道ID,將入座請求消息發(fā)送給頻道對應(yīng)的分區(qū)服務(wù)器集群包括的主服務(wù)器;
[0167]主服務(wù)器,用于根據(jù)第一用戶的ID和頻道ID,在頻道的聊天分區(qū)中為第一用戶分配座位;
[0168]第一前端代理設(shè)備,用于接收第一終端發(fā)送的第一用戶的ID、頻道ID和聊天內(nèi)容,并根據(jù)頻道ID將第一用戶的ID和聊天內(nèi)容發(fā)送給分區(qū)服務(wù)器集群包括的聊天服務(wù)器;
[0169]聊天服務(wù)器,用于根據(jù)第一用戶的ID,將第一用戶的ID和聊天內(nèi)容發(fā)送給聊天分區(qū)包括的第二用戶對應(yīng)的第二終端,第二用戶為聊天分區(qū)中除第一用戶之外的其他用戶。
[0170]其中,第一前端代理設(shè)備,用于對頻道ID進(jìn)行一致性哈希運(yùn)算,得到頻道接入的分區(qū)服務(wù)器集群對應(yīng)的節(jié)點(diǎn)ID ;
[0171]第一前端代理設(shè)備,用于根據(jù)節(jié)點(diǎn)ID,從哈希環(huán)中獲取對應(yīng)的節(jié)點(diǎn);
[0172]第一前端代理設(shè)備,用于根據(jù)節(jié)點(diǎn)中的主服務(wù)器的角色信息從節(jié)點(diǎn)中獲取主服務(wù)器的IP地址和端口號(hào);
[0173]第一前端代理設(shè)備,用于根據(jù)主服務(wù)器的IP地址和端口號(hào),將入座請求消息發(fā)送給主服務(wù)器。
[0174]其中,主服務(wù)器,用于根據(jù)第一用戶的ID,獲取第一用戶的身份信息;
[0175]主服務(wù)器,用于如果第一用戶的身份信息為會(huì)員用戶,則根據(jù)第一用戶的ID和頻道ID,在頻道的聊天分區(qū)包括的特權(quán)區(qū)域中為第一用戶分配座位;
[0176]主服務(wù)器,用于如果第一用戶的身份信息為普通用戶,則根據(jù)第一用戶的ID和頻道ID,在聊天分區(qū)包括的普通區(qū)域中為第一用戶分配座位。
[0177]其中,主服務(wù)器,用于獲取頻道的聊天分區(qū)中的每個(gè)分區(qū)組包括的特權(quán)區(qū)域中的用戶的第一個(gè)數(shù),以及獲取每個(gè)分區(qū)組包括的普通區(qū)域中的用戶的第二個(gè)數(shù);
[0178]主服務(wù)器,用于將每個(gè)分區(qū)組對應(yīng)的第二個(gè)數(shù)分別除以每個(gè)分區(qū)組對應(yīng)的第一個(gè)數(shù),得到每個(gè)分區(qū)組對應(yīng)的第一數(shù)值;
[0179]主服務(wù)器,用于從聊天分區(qū)包括的分區(qū)組中,選擇最大的第一數(shù)值對應(yīng)的分區(qū)組,如果選擇的分區(qū)組包括的特權(quán)區(qū)域中存在空閑的座位,則從選擇的分區(qū)組包括的特權(quán)區(qū)域中選擇一個(gè)空閑的座位,并將選擇的空閑座位分配給第一用戶;
[0180]主服務(wù)器,用于如果選擇的分區(qū)組包括的特權(quán)區(qū)域中不存在空閑的座位,則在聊天分區(qū)中創(chuàng)建一個(gè)分區(qū)組,并在創(chuàng)建的分區(qū)組中創(chuàng)建一個(gè)特權(quán)區(qū)域,并從創(chuàng)建的特權(quán)區(qū)域中選擇一個(gè)空閑的座位,并將選擇的空閑的座位分配給第一用戶。
[0181]其中,主服務(wù)器,用于獲取頻道的聊天分區(qū)中的每個(gè)分區(qū)組包括的用戶的個(gè)數(shù),選擇用戶的個(gè)數(shù)最少的分區(qū)組;
[0182]主服務(wù)器,用于在選擇的分區(qū)組包括的普通區(qū)域中,判斷是否存在用戶數(shù)最多且存在空閑座位的普通區(qū)域,如果是,則從用戶數(shù)最多且存在空閑座位的普通區(qū)域中選擇一個(gè)空閑的座位,并將選擇的空閑的座位分配給第一用戶;
[0183]主服務(wù)器,用于如果否,則在選擇的分區(qū)組中創(chuàng)建一個(gè)普通區(qū)域,并從創(chuàng)建的普通區(qū)域中選擇一個(gè)空閑的座位,并將選擇的空閑的座位分配給第一用戶。
[0184]其中,聊天服務(wù)器,用于根據(jù)第一用戶的ID,從已存儲(chǔ)的用戶ID、分區(qū)組ID和區(qū)域ID的對應(yīng)關(guān)系中獲取對應(yīng)的分區(qū)組ID和區(qū)域ID ;
[0185]聊天服務(wù)器,用于根據(jù)分區(qū)組ID和區(qū)域ID,從用戶ID、分區(qū)組ID和區(qū)域ID的對應(yīng)關(guān)系中獲取第二用戶的ID ;
[0186]聊天服務(wù)器,用于根據(jù)第二用戶的ID,從已存儲(chǔ)的用戶ID與前端代理設(shè)備的標(biāo)識(shí)的對應(yīng)關(guān)系中獲取第二用戶對應(yīng)的第二終端接入的第二前端代理設(shè)備的標(biāo)識(shí);
[0187]聊天服務(wù)器,用于根據(jù)第二前端代理設(shè)備的標(biāo)識(shí),將第一用戶的ID和聊天內(nèi)容發(fā)送給第二終端。
[0188]在本發(fā)明實(shí)施例中,選舉服務(wù)器將第一次接收的注冊請求消息對應(yīng)的數(shù)據(jù)服務(wù)器設(shè)置為主服務(wù)器,將其他的數(shù)據(jù)服務(wù)器設(shè)置為從服務(wù)器后,當(dāng)前端代理設(shè)備接收到終端發(fā)送的即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)時(shí),將該即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)發(fā)送給主服務(wù)器,通過主服務(wù)器對該即時(shí)通訊業(yè)務(wù)進(jìn)行處理。當(dāng)選舉服務(wù)器監(jiān)聽到主服務(wù)器出現(xiàn)故障或者當(dāng)主服務(wù)器與前端代理設(shè)備之間的網(wǎng)絡(luò)出現(xiàn)故障時(shí),將其中一個(gè)從服務(wù)器設(shè)置為新的主服務(wù)器后,當(dāng)前端代理設(shè)備再次接收到終端發(fā)送的即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)時(shí),該選舉服務(wù)器直接將該即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)發(fā)送給新的主服務(wù)器,通過該新的主服務(wù)器對該即時(shí)通訊業(yè)務(wù)進(jìn)行處理。由于前端代理設(shè)備、主服務(wù)器和從服務(wù)器均位于不同的機(jī)房中,所以,當(dāng)主服務(wù)器出現(xiàn)故障或者前端代理設(shè)備與主服務(wù)器之間的網(wǎng)絡(luò)出現(xiàn)故障時(shí),前端代理設(shè)備不需要將即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)先發(fā)送到主服務(wù)器所在的機(jī)房再發(fā)送到新的主服務(wù)器所在的機(jī)房,可以直接將該即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)發(fā)送給新的主服務(wù)器,不需要跨機(jī)房發(fā)送該即時(shí)通訊業(yè)務(wù)的數(shù)據(jù),進(jìn)而提高了即時(shí)通訊業(yè)務(wù)的吞吐量。
[0189]需要說明的是:上述實(shí)施例提供的對即時(shí)通訊業(yè)務(wù)進(jìn)行處理的系統(tǒng)在對即時(shí)通訊業(yè)務(wù)進(jìn)行處理時(shí),僅以上述各功能模塊的劃分進(jìn)行舉例說明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將系統(tǒng)的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實(shí)施例提供的對即時(shí)通訊業(yè)務(wù)進(jìn)行處理的系統(tǒng)與對即時(shí)通訊業(yè)務(wù)進(jìn)行處理的方法實(shí)施例屬于同一構(gòu)思,其具體實(shí)現(xiàn)過程詳見方法實(shí)施例,這里不再贅述。
[0190]上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
[0191]本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。
[0192]以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種對即時(shí)通訊業(yè)務(wù)進(jìn)行處理的方法,其特征在于,所述方法包括: 選舉服務(wù)器接收至少兩個(gè)數(shù)據(jù)服務(wù)器發(fā)送的注冊請求消息; 所述選舉服務(wù)器將第一次接收的注冊請求信息對應(yīng)的數(shù)據(jù)服務(wù)器設(shè)置為主服務(wù)器,將其他的數(shù)據(jù)服務(wù)器設(shè)置為從服務(wù)器,以通過所述主服務(wù)器接收前端代理設(shè)備發(fā)送的即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)并處理所述即時(shí)通訊業(yè)務(wù); 所述選舉服務(wù)器監(jiān)聽所述主服務(wù)器和所述從服務(wù)器,當(dāng)監(jiān)聽到所述主服務(wù)器出現(xiàn)故障或者當(dāng)所述主服務(wù)器與所述前端代理設(shè)備之間的網(wǎng)絡(luò)出現(xiàn)故障時(shí),將其中一個(gè)從服務(wù)器設(shè)置為新的主服務(wù)器,以通過所述新的主服務(wù)器接收所述前端代理設(shè)備發(fā)送的即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)并處理所述即時(shí)通訊業(yè)務(wù)。
2.如權(quán)利要求1所述的方法,其特征在于,所述選舉服務(wù)器將第一次接收的注冊請求消息對應(yīng)的數(shù)據(jù)服務(wù)器設(shè)置為主服務(wù)器,將其他的數(shù)據(jù)服務(wù)器設(shè)置為從服務(wù)器之后,還包括: 所述選舉服務(wù)器根據(jù)所述主服務(wù)器的網(wǎng)絡(luò)之間互連的協(xié)議IP地址和端口號(hào),從已存儲(chǔ)的IP地址、端口號(hào)和節(jié)點(diǎn)身份標(biāo)識(shí)ID的對應(yīng)關(guān)系中獲取所述主服務(wù)器所在的分區(qū)服務(wù)器集群對應(yīng)的節(jié)點(diǎn)ID ; 所述選舉服務(wù)器向前端代理設(shè)備發(fā)送加入消息,所述加入消息攜帶所述節(jié)點(diǎn)ID、所述主服務(wù)器的角色信息、IP地址和端口號(hào)、以及所述從服務(wù)器的角色信息、IP地址和端口號(hào);所述前端代理設(shè)備根據(jù)所述節(jié)點(diǎn)ID,將所述主服務(wù)器的角色信息、IP地址和端口號(hào),以及所述從服務(wù)器的角色信息、IP地址和端口號(hào)加入哈希環(huán)中對應(yīng)的節(jié)點(diǎn)中。
3.如權(quán)利要求2所述的方法,其特征在于,所述當(dāng)監(jiān)聽到所述主服務(wù)器出現(xiàn)故障或者當(dāng)所述主服務(wù)器與所述前端代`理設(shè)備之間的網(wǎng)絡(luò)出現(xiàn)故障時(shí),將其中一個(gè)從服務(wù)器設(shè)置為新的主服務(wù)器之后,還包括: 所述選舉服務(wù)器向所述前端代理設(shè)備發(fā)送更新消息,所述更新消息中攜帶所述節(jié)點(diǎn)ID、所述主服務(wù)器的IP地址和端口號(hào),以及所述新的主服務(wù)器的新角色信息、IP地址和端□號(hào); 所述前端代理設(shè)備根據(jù)所述節(jié)點(diǎn)ID、所述主服務(wù)器的IP地址和端口號(hào),從所述哈希環(huán)中刪除所述主服務(wù)器的角色信息、IP地址和端口號(hào); 所述前端代理設(shè)備根據(jù)所述節(jié)點(diǎn)ID、所述新的主服務(wù)器的IP地址和端口號(hào),從所述哈希環(huán)中獲取所述新的主服務(wù)器的角色信息,將所述獲取的角色信息替換為所述新角色信肩、O
4.如權(quán)利要求1-3任一權(quán)利要求所述的方法,其特征在于,所述方法還包括: 第一終端向所述第一終端接入的第一前端代理設(shè)備發(fā)送入座請求消息,所述入座請求消息攜帶第一用戶的ID和頻道的頻道ID ; 所述第一前端代理設(shè)備根據(jù)所述頻道ID,將所述入座請求消息發(fā)送給所述頻道對應(yīng)的分區(qū)服務(wù)器集群包括的主服務(wù)器; 所述主服務(wù)器根據(jù)所述第一用戶的ID和所述頻道ID,在所述頻道的聊天分區(qū)中為所述第一用戶分配座位; 所述第一前端代理設(shè)備接收所述第一終端發(fā)送的所述第一用戶的ID、所述頻道ID和聊天內(nèi)容,并根據(jù)所述頻道ID將所述第一用戶的ID和所述聊天內(nèi)容發(fā)送給所述分區(qū)服務(wù)器集群包括的聊天服務(wù)器; 所述聊天服務(wù)器根據(jù)所述第一用戶的ID,將所述第一用戶的ID和所述聊天內(nèi)容發(fā)送給所述聊天分區(qū)包括的第二用戶對應(yīng)的第二終端,所述第二用戶為所述聊天分區(qū)中除所述第一用戶之外的其他用戶。
5.如權(quán)利要求4所述的方法,其特征在于,所述第一前端代理設(shè)備根據(jù)所述頻道ID,將所述入座請求消息發(fā)送給所述頻道對應(yīng)的分區(qū)服務(wù)器集群包括的主服務(wù)器,包括: 所述第一前端代理設(shè)備對所述頻道ID進(jìn)行一致性哈希運(yùn)算,得到所述頻道接入的分區(qū)服務(wù)器集群對應(yīng)的節(jié)點(diǎn)ID ; 所述第一前端代理設(shè)備根據(jù)所述節(jié)點(diǎn)ID,從哈希環(huán)中獲取對應(yīng)的節(jié)點(diǎn); 所述第一前端代理設(shè)備根據(jù)所述節(jié)點(diǎn)中的主服務(wù)器的角色信息從所述節(jié)點(diǎn)中獲取所述主服務(wù)器的IP地址和端口號(hào); 所述第一前端代理設(shè)備根據(jù)所述主服務(wù)器的IP地址和端口號(hào),將所述入座請求消息發(fā)送給所述主服務(wù)器。
6.如權(quán)利要求4所述的方法,其特征在于,所述主服務(wù)器根據(jù)所述第一用戶的ID和所述頻道ID,在所述頻道的聊天分區(qū)中為所述第一用戶分配座位,包括: 所述主服務(wù)器根據(jù)所述第一用戶的ID,獲取所述第一用戶的身份信息; 如果所述第一用戶的身份信息為會(huì)員用戶,則所述主服務(wù)器根據(jù)所述第一用戶的ID和所述頻道ID,在所述頻道的聊天分區(qū)包括的特權(quán)區(qū)域中為所述第一用戶分配座位; 如果所述第一用戶的身份信息為普通用戶,則所述主服務(wù)器根據(jù)所述第一用戶的ID和所述頻道ID,在所述聊天分區(qū)包括的普通區(qū)域中為所述第一用戶分配座位。
7.如權(quán)利要求6所述的方法,其特征在于,所述主服務(wù)器根據(jù)所述第一用戶的ID和所述頻道ID,在所述頻道的聊天分區(qū)包括的特權(quán)區(qū)域中為所述第一用戶分配座位,包括: 所述主服務(wù)器獲取所述頻道的聊天分區(qū)中的每個(gè)分區(qū)組包括的特權(quán)區(qū)域中的用戶的第一個(gè)數(shù),以及獲取所述每個(gè)分區(qū)組包括的普通區(qū)域中的用戶的第二個(gè)數(shù); 所述主服務(wù)器將所述每個(gè)分區(qū)組對應(yīng)的所述第二個(gè)數(shù)分別除以所述每個(gè)分區(qū)組對應(yīng)的第一個(gè)數(shù),得到所述每個(gè)分區(qū)組對應(yīng)的第一數(shù)值; 所述主服務(wù)器從所述聊天分區(qū)包括的分區(qū)組中,選擇最大的第一數(shù)值對應(yīng)的分區(qū)組,如果選擇的分區(qū)組包括的特權(quán)區(qū)域中存在空閑的座位,則從選擇的分區(qū)組包括的特權(quán)區(qū)域中選擇一個(gè)空閑的座位,并將選擇的空閑座位分配給所述第一用戶; 如果選擇的分區(qū)組包括的特權(quán)區(qū)域中不存在空閑的座位,則所述主服務(wù)器在所述聊天分區(qū)中創(chuàng)建一個(gè)分區(qū)組,并在創(chuàng)建的分區(qū)組中創(chuàng)建一個(gè)特權(quán)區(qū)域,并從創(chuàng)建的特權(quán)區(qū)域中選擇一個(gè)空閑的座位,并將選擇的空閑的座位分配給所述第一用戶。
8.如權(quán)利要求6所述的方法,其特征在于,所述主服務(wù)器根據(jù)所述第一用戶的ID和所述頻道ID,在所述聊天分區(qū)包括的普通區(qū)域中為所述第一用戶分配座位,包括: 所述主服務(wù)器獲取所述頻道的聊天分區(qū)中的每個(gè)分區(qū)組包括的用戶的個(gè)數(shù),選擇用戶的個(gè)數(shù)最少的分區(qū)組; 在選擇的分區(qū)組包括的普通區(qū)域中,判斷是否存在用戶數(shù)最多且存在空閑座位的普通區(qū)域,如果是,則所述主服務(wù)器從所述用戶數(shù)最多且存在空閑座位的普通區(qū)域中選擇一個(gè)空閑的座位,并將選擇的空閑的座位分配給所述第一用戶;如果否,則所述主服務(wù)器在所述選擇的分區(qū)組中創(chuàng)建一個(gè)普通區(qū)域,并從創(chuàng)建的普通區(qū)域中選擇一個(gè)空閑的座位,并將選擇的空閑的座位分配給所述第一用戶。
9.如權(quán)利要求4所述的方法,其特征在于,所述聊天服務(wù)器根據(jù)所述第一用戶的ID,將所述第一用戶的ID和所述聊天內(nèi)容發(fā)送給所述聊天分區(qū)包括的第二用戶對應(yīng)的第二終端,包括: 所述聊天服務(wù)器根據(jù)所述第一用戶的ID,從已存儲(chǔ)的用戶ID、分區(qū)組ID和區(qū)域ID的對應(yīng)關(guān)系中獲取對應(yīng)的分區(qū)組ID和區(qū)域ID ; 所述聊天服務(wù)器根據(jù)所述分區(qū)組ID和所述區(qū)域ID,從所述用戶ID、分區(qū)組ID和區(qū)域ID的對應(yīng)關(guān)系中獲取第二用戶的ID ; 所述聊天服務(wù)器根據(jù)所述第二用戶的ID,從已存儲(chǔ)的用戶ID與前端代理設(shè)備的標(biāo)識(shí)的對應(yīng)關(guān)系中獲取所述第二用戶對應(yīng)的第二終端接入的第二前端代理設(shè)備的標(biāo)識(shí); 所述聊天服務(wù)器根據(jù)所述第二前端代理設(shè)備的標(biāo)識(shí),將所述第一用戶的ID和所述聊天內(nèi)容發(fā)送給 所述第二終端。
10.一種對即時(shí)通訊業(yè)務(wù)進(jìn)行處理的系統(tǒng),其特征在于,所述系統(tǒng)包括:選舉服務(wù)器和至少兩個(gè)數(shù)據(jù)服務(wù)器; 所述選舉服務(wù)器,用于接收所述至少兩個(gè)數(shù)據(jù)服務(wù)器發(fā)送的注冊請求消息; 所述選舉服務(wù)器,用于將第一次接收的注冊請求信息對應(yīng)的數(shù)據(jù)服務(wù)器設(shè)置為主服務(wù)器,將其他的數(shù)據(jù)服務(wù)器設(shè)置為從服務(wù)器,以通過所述主服務(wù)器接收前端代理設(shè)備發(fā)送的即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)并處理所述即時(shí)通訊業(yè)務(wù); 所述選舉服務(wù)器,用于監(jiān)聽所述主服務(wù)器和所述從服務(wù)器,當(dāng)監(jiān)聽到所述主服務(wù)器出現(xiàn)故障或者當(dāng)所述主服務(wù)器與所述前端代理設(shè)備之間的網(wǎng)絡(luò)出現(xiàn)故障時(shí),將其中一個(gè)從服務(wù)器設(shè)置為新的主服務(wù)器,以通過所述新的主服務(wù)器接收所述前端代理設(shè)備發(fā)送的即時(shí)通訊業(yè)務(wù)的數(shù)據(jù)并處理所述即時(shí)通訊業(yè)務(wù)。
11.如權(quán)利要求10所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 所述選舉服務(wù)器,用于根據(jù)所述主服務(wù)器的網(wǎng)絡(luò)之間互連的協(xié)議IP地址和端口號(hào),從已存儲(chǔ)的IP地址、端口號(hào)和節(jié)點(diǎn)身份標(biāo)識(shí)ID的對應(yīng)關(guān)系中獲取所述主服務(wù)器所在的分區(qū)服務(wù)器集群對應(yīng)的節(jié)點(diǎn)ID ; 所述選舉服務(wù)器,用于向前端代理設(shè)備發(fā)送加入消息,所述加入消息攜帶所述節(jié)點(diǎn)ID、所述主服務(wù)器的角色信息、IP地址和端口號(hào)、以及所述從服務(wù)器的角色信息、IP地址和端□號(hào); 所述前端代理設(shè)備,用于根據(jù)所述節(jié)點(diǎn)ID,將所述主服務(wù)器的角色信息、IP地址和端口號(hào),以及所述從服務(wù)器的角色信息、IP地址和端口號(hào)加入哈希環(huán)中對應(yīng)的節(jié)點(diǎn)中。
12.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 所述選舉服務(wù)器,用于向所述前端代理設(shè)備發(fā)送更新消息,所述更新消息中攜帶所述節(jié)點(diǎn)ID、所述主服務(wù)器的IP地址和端口號(hào),以及所述新的主服務(wù)器的新角色信息、IP地址和端口號(hào); 所述前端代理設(shè)備,用于根據(jù)所述節(jié)點(diǎn)ID、所述主服務(wù)器的IP地址和端口號(hào),從所述哈希環(huán)中刪除所述主服務(wù)器的角色信息、IP地址和端口號(hào); 所述前端代理設(shè)備,用于根據(jù)所述節(jié)點(diǎn)ID、所述新的主服務(wù)器的IP地址和端口號(hào),從所述哈希環(huán)中獲取所述新的主服務(wù)器的角色信息,將所述獲取的角色信息替換為所述新角色信息。
13.如權(quán)利要求10-12任一權(quán)利要求所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 第一終端,用于向所述第一終端接入的第一前端代理設(shè)備發(fā)送入座請求消息,所述入座請求消息攜帶第一用戶的ID和頻道的頻道ID ; 所述第一前端代理設(shè)備,用于根據(jù)所述頻道ID,將所述入座請求消息發(fā)送給所述頻道對應(yīng)的分區(qū)服務(wù)器集群包括的主服務(wù)器; 所述主服務(wù)器,用于根據(jù)所述第一用戶的ID和所述頻道ID,在所述頻道的聊天分區(qū)中為所述第一用戶分配座位; 所述第一前端代理設(shè)備,用于接收所述第一終端發(fā)送的所述第一用戶的ID、所述頻道ID和聊天內(nèi)容,并根據(jù)所述頻道ID將所述第一用戶的ID和所述聊天內(nèi)容發(fā)送給所述分區(qū)服務(wù)器集群包括的聊天服務(wù)器; 所述聊天服務(wù)器,用于根據(jù)所述第一用戶的ID,將所述第一用戶的ID和所述聊天內(nèi)容發(fā)送給所述聊天分區(qū)包括的第二用戶對應(yīng)的第二終端,所述第二用戶為所述聊天分區(qū)中除所述第一用戶之外的其他用戶。
14.如權(quán)利要求13所述的系統(tǒng),其特征在于, 所述第一前端代理設(shè)備,用于對所述頻道ID進(jìn)行一致性哈希運(yùn)算,得到所述頻道接入的分區(qū)服務(wù)器集群對應(yīng)的節(jié)點(diǎn)ID ; 所述第一前端代理設(shè)備,用于根據(jù)所述節(jié)點(diǎn)ID,從哈希環(huán)中獲取對應(yīng)的節(jié)點(diǎn); 所述第一前端代理設(shè)備,用于根據(jù)所述節(jié)點(diǎn)中的主服務(wù)器的角色信息從所述節(jié)點(diǎn)中獲取所述主服務(wù)器的IP地址和端口號(hào); 所述第一前端代理設(shè)備,用于根據(jù)所述主服務(wù)器的IP地址和端口號(hào),將所述入座請求消息發(fā)送給所述主服務(wù)器。
15.如權(quán)利要求13所述的系統(tǒng),其特征在于, 所述主服務(wù)器,用于根據(jù)所述第一用戶的ID,獲取所述第一用戶的身份信息; 所述主服務(wù)器,用于如果所述第一用戶的身份信息為會(huì)員用戶,則根據(jù)所述第一用戶的ID和所述頻道ID,在所述頻道的聊天分區(qū)包括的特權(quán)區(qū)域中為所述第一用戶分配座位;所述主服務(wù)器,用于如果所述第一用戶的身份信息為普通用戶,則根據(jù)所述第一用戶的ID和所述頻道ID,在所述聊天分區(qū)包括的普通區(qū)域中為所述第一用戶分配座位。
16.如權(quán)利要求15所述的系統(tǒng),其特征在于, 所述主服務(wù)器,用于獲取所述頻道的聊天分區(qū)中的每個(gè)分區(qū)組包括的特權(quán)區(qū)域中的用戶的第一個(gè)數(shù),以及獲取所述每個(gè)分區(qū)組包括的普通區(qū)域中的用戶的第二個(gè)數(shù); 所述主服務(wù)器,用于將所述每個(gè)分區(qū)組對應(yīng)的所述第二個(gè)數(shù)分別除以所述每個(gè)分區(qū)組對應(yīng)的第一個(gè)數(shù),得到所述每個(gè)分區(qū)組對應(yīng)的第一數(shù)值; 所述主服務(wù)器,用于從所述聊天分區(qū)包括的分區(qū)組中,選擇最大的第一數(shù)值對應(yīng)的分區(qū)組,如果選擇的分區(qū)組包括的特權(quán)區(qū)域中存在空閑的座位,則從選擇的分區(qū)組包括的特權(quán)區(qū)域中選擇一個(gè)空閑的座位,并將選擇的空閑座位分配給所述第一用戶; 所述主服務(wù)器,用于如果選擇的分區(qū)組包括的特權(quán)區(qū)域中不存在空閑的座位,則在所述聊天分區(qū)中創(chuàng)建一個(gè)分區(qū)組,并在創(chuàng)建的分區(qū)組中創(chuàng)建一個(gè)特權(quán)區(qū)域,并從創(chuàng)建的特權(quán)區(qū)域中選擇一個(gè)空閑的座位,并將選擇的空閑的座位分配給所述第一用戶。
17.如權(quán)利要求15所述的系統(tǒng),其特征在于, 所述主服務(wù)器,用于獲取所述頻道的聊天分區(qū)中的每個(gè)分區(qū)組包括的用戶的個(gè)數(shù),選擇用戶的個(gè)數(shù)最少的分區(qū)組; 所述主服務(wù)器,用于在選擇的分區(qū)組包括的普通區(qū)域中,判斷是否存在用戶數(shù)最多且存在空閑座位的普通區(qū)域,如果是,則從所述用戶數(shù)最多且存在空閑座位的普通區(qū)域中選擇一個(gè)空閑的座位,并將選擇的空閑的座位分配給所述第一用戶; 所述主服務(wù)器,用于如果否,則在所述選擇的分區(qū)組中創(chuàng)建一個(gè)普通區(qū)域,并從創(chuàng)建的普通區(qū)域中選擇一個(gè)空閑的座位,并將選擇的空閑的座位分配給所述第一用戶。
18.如權(quán)利要求13所述的系統(tǒng),其特征在于, 所述聊天服務(wù)器,用于根據(jù)所述第一用戶的ID,從已存儲(chǔ)的用戶ID、分區(qū)組ID和區(qū)域ID的對應(yīng)關(guān)系中獲取對應(yīng)的分區(qū)組ID和區(qū)域ID ; 所述聊天服務(wù)器,用于根據(jù)所述分區(qū)組ID和所述區(qū)域ID,從所述用戶ID、分區(qū)組ID和區(qū)域ID的對應(yīng)關(guān)系中獲取第二用戶的ID ; 所述聊天服務(wù)器,用于根據(jù)所述第二用戶的ID,從已存儲(chǔ)的用戶ID與前端代理設(shè)備的標(biāo)識(shí)的對應(yīng)關(guān)系中獲取所述第二用戶對應(yīng)的第二終端接入的第二前端代理設(shè)備的標(biāo)識(shí); 所述聊天服務(wù)器,用于根據(jù)所述第二前端代理設(shè)備的標(biāo)識(shí),將所述第一用戶的ID和所述聊天內(nèi)容發(fā)送給所述第二終端。
【文檔編號(hào)】H04L12/58GK103731341SQ201310752590
【公開日】2014年4月16日 申請日期:2013年12月30日 優(yōu)先權(quán)日:2013年12月30日
【發(fā)明者】古培昌, 李牧, 李佳林 申請人:廣州華多網(wǎng)絡(luò)科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
交口县| 吉木萨尔县| 航空| 临潭县| 白水县| 池州市| 江川县| 郧西县| 新闻| 临朐县| 锡林郭勒盟| 延边| 辽源市| 姚安县| 多伦县| 芮城县| 佛学| 阿拉尔市| 连山| 建阳市| 巴彦县| 明星| 将乐县| 渭南市| 夏河县| 临沧市| 鹿泉市| 江阴市| 襄樊市| 原阳县| 营山县| 客服| 万盛区| 汉川市| 湖州市| 天镇县| 保山市| 历史| 上虞市| 图们市| 安顺市|