專利名稱:一種實(shí)現(xiàn)多用戶語音會話的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)及通信技術(shù)領(lǐng)域,尤其涉及一種實(shí)現(xiàn)多用戶語音會 話的方法及系統(tǒng)。
背景技術(shù):
網(wǎng)絡(luò)即時通信(IM)工具發(fā)展到今天,已經(jīng)被大多數(shù)的網(wǎng)民所接受,進(jìn)行
日常的交流與溝通,對于IM即時通信軟件的發(fā)展過程來說,已經(jīng)從最早的 支持普通的文本溝通逐步變成了更加豐富的包括圖文混合溝通以及語音與視 頻的溝通方式,通過實(shí)現(xiàn)語音與視頻的交流方式,使得在不同地點(diǎn)無法見面的 IM用戶之間的溝通變得更加及時有效和生動豐富,極大的滿足了用戶的使用 需求。
隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,用戶都不再局限于進(jìn)行單對單的語音會話,而 是實(shí)現(xiàn)了多用戶語音會話,滿足用戶更豐富更多場景下的交流與溝通,用戶之 間進(jìn)行語音會話即為用戶之間發(fā)送語音數(shù)據(jù)包。
下面用IM軟件來說明現(xiàn)有技術(shù)中實(shí)現(xiàn)多用戶語音傳輸?shù)姆椒?,該方法?括以下步驟
步驟一會話發(fā)起用戶終端運(yùn)行、登陸該IM軟件,并向?yàn)樵揑M軟件提 供服務(wù)的IM服務(wù)器發(fā)起建立會話請求,要求建立有效可信任的IM多用戶語標(biāo)識。
步驟二 IM服務(wù)器對該會話發(fā)起用戶終端進(jìn)行鑒權(quán),當(dāng)滿足要求后向該 用戶終端返回建立成功提示消息,則該會話發(fā)起用戶終端通過該IM服務(wù)器向 參與會話的其他用戶終端發(fā)送建立傳輸控制協(xié)議(TCP)長鏈接通道的請求。
步驟三參與會話的用戶終端接收到該長鏈接請求后,則利用鏈接參數(shù)中 新建立的語音群組標(biāo)識更新本地語音群組信息,并對該發(fā)起會話用戶終端進(jìn)行 鑒權(quán),當(dāng)滿足要求后則與會話發(fā)起人建立長鏈接通道。
步驟四每一參與會話用戶終端根據(jù)IM多用戶語音群組信息中其他成員 信息發(fā)起與其他參與會話用戶終端之間的語音傳輸長鏈接過程,通過這種方 式,多用戶會話語音群組的成員之間兩兩建立了語音傳輸通道。
步驟五當(dāng)參與^^舌的成員之間建立成功語音傳輸通道后,任一成員都可 以在任意時間向其他成員發(fā)送語音數(shù)據(jù)流,并且接收其他成員發(fā)送的語音數(shù)據(jù) 流,即實(shí)現(xiàn)多用戶語音傳輸過程。
現(xiàn)有的實(shí)現(xiàn)多用戶語音傳輸?shù)姆椒▽儆谌p工的處理方法,即在同一通道 中同時進(jìn)行了語音數(shù)據(jù)流的發(fā)送與接收過程,這樣占用了大量的帶寬,并且對 于低配置的用戶終端而言,由于資源占用率高,可能會影響該用戶終端的其他 工作;另外,由于任意用戶可以在任意時間發(fā)送語音數(shù)據(jù)流,會使得語音數(shù)據(jù) 流混雜,并不能達(dá)到用戶之間的有效溝通,多用戶之間的語音數(shù)據(jù)傳輸?shù)挠行?性和可控性差,用戶體驗(yàn)較差。
發(fā)明內(nèi)容
本發(fā)明提供一種實(shí)現(xiàn)多用戶語音會話的方法及系統(tǒng),以解決現(xiàn)有技術(shù)中存 在的多用戶語音傳輸時占有帶寬較大、用戶終端資源占用率高和語音數(shù)據(jù)傳輸 的有效性和可控性差的問題。
本發(fā)明提供一種實(shí)現(xiàn)多用戶語音會話的方法,應(yīng)用于即時通信系統(tǒng)中,在 該即時通信系統(tǒng)中建立即時通信多用戶語音群組,并為該語音群組設(shè)置群組控 制設(shè)備,該方法包括
用戶終端向所述群組控制設(shè)備發(fā)送含有用戶標(biāo)識的會話請求;
所述群組控制設(shè)備收到該會話請求后,將該會話請求中的用戶標(biāo)識置于為 該群組創(chuàng)建的隊(duì)列中;
發(fā)起會話請求的用戶終端按照所述隊(duì)列中的排列順序,在該群組中進(jìn)行會話。
所述群組控制設(shè)備為所述群組中的第 一用戶終端,或該即時通信系統(tǒng)中的 服務(wù)器,當(dāng)所述群組控制設(shè)備為所述群組中的第一用戶終端時,所述設(shè)置群組
控制設(shè)備包括
所述第一用戶終端向所述群組中的用戶終端發(fā)送控制請求,該控制請求中 包括自身用戶標(biāo)識;
接收到所述控制請求的用戶終端對該控制請求中含有的用戶標(biāo)識進(jìn)行鑒 權(quán),在鑒權(quán)通過后,保存該用戶標(biāo)識,并向第一用戶終端返回響應(yīng)信息。 所述群組控制設(shè)備將該會話請求中的用戶標(biāo)識置于該群組的語音隊(duì)列中
的步驟包括
該會話請求進(jìn)行排隊(duì);
所述群組控制設(shè)備將該會話請求中的用戶標(biāo)識,按照排隊(duì)的順序置于所述 語音隊(duì)列中的對應(yīng)位置。
所述發(fā)起會話請求的用戶終端按照所述隊(duì)列中的排列順序,在該群組中進(jìn) 行會話的步驟包括
Al 、判斷當(dāng)前隊(duì)列中發(fā)送語音數(shù)據(jù)的用戶終端的傳輸持續(xù)時間是否達(dá)到預(yù) 先設(shè)定值,或傳輸通道中數(shù)據(jù)傳輸?shù)某掷m(xù)時間是否達(dá)到預(yù)先設(shè)定值,如果是, 則中斷該當(dāng)前用戶終端的會話;
A2、將隊(duì)列中的下一用戶終端作為當(dāng)前用戶終端進(jìn)行會話,返回步驟A1。
所述發(fā)起會話請求的用戶終端進(jìn)行會話的步驟包括
發(fā)起會話請求的用戶終端向所述群組中的用戶終端發(fā)送語音數(shù)據(jù);或,
發(fā)起會話請求的用戶終端向所述群組控制設(shè)備發(fā)送語音數(shù)據(jù),該群組控制 設(shè)備收到該語音數(shù)據(jù)后,將該語音數(shù)據(jù)發(fā)送給所述群組中的用戶終端。
本發(fā)明還提供一種實(shí)現(xiàn)多用戶語音會話的系統(tǒng),該系統(tǒng)包括即時通信多用
戶群組,該即時通信多用戶群組包括群組控制設(shè)備和兩個以上用戶終端,其中, 所述群組控制設(shè)備,用于接收所述用戶終端發(fā)送的含有用戶標(biāo)識的會話請
求,并將該會話請求中的用戶標(biāo)識置于為該群組創(chuàng)建的隊(duì)列中;
所述用戶終端,用于向所述群組控制設(shè)備發(fā)送含有用戶標(biāo)識的會話請求, 按照所述隊(duì)列中的排列順序,在該群組中進(jìn)行會話。
所述群組控制設(shè)備包括接收單元和控制單元,其中,
所述接收單元,用于接收所述用戶終端發(fā)送的含有用戶標(biāo)識的會話請求, 并將該會話請求發(fā)送給所述控制單元;
所述控制單元,用于將該會話請求中的用戶標(biāo)識置于為該群組創(chuàng)建的隊(duì)列中。
所述用戶終端包括
發(fā)送單元,用于向所述群組控制設(shè)備發(fā)送所述含有用戶標(biāo)識的會話請求; 會話單元,用于按照所述隊(duì)列中的排列順序,在該群組中進(jìn)行會話。 所述群組控制設(shè)備還包括
控制請求單元,用于將控制請求發(fā)送給鑒權(quán)單元,并接收該鑒權(quán)單元返回 的響應(yīng)信息,該控制請求中包含該群組控制設(shè)備標(biāo)識; 所述用戶終端還包括
所述鑒權(quán)單元,用于接收所述控制請求單元發(fā)送的所述控制請求,對該請 求中的標(biāo)識進(jìn)行鑒權(quán),在鑒權(quán)通過后,保存該標(biāo)識,并向所述控制請求單元返 回響應(yīng)信息。
所述控制單元包括
排隊(duì)單元,用于按照發(fā)送會話請求的先后順序和/或用戶終端優(yōu)先級,將該 會話請求進(jìn)行排隊(duì);
安置單元,用于將該會話請求中的用戶標(biāo)識,按照排隊(duì)的順序置于所述語 音隊(duì)列中的對應(yīng)位置。
所述用戶終端還包括
時間判斷單元,用于判斷當(dāng)前隊(duì)列中發(fā)送語音數(shù)據(jù)的用戶終端的傳輸持續(xù) 時間是否達(dá)到預(yù)先設(shè)定值,或傳輸通道中數(shù)據(jù)傳輸?shù)某掷m(xù)時間是否達(dá)到預(yù)先設(shè)
定值,如果是,則向所述會話單元發(fā)送中斷信號;
所述會話單元,還用于當(dāng)接收到所述中斷信號后,中斷該當(dāng)前用戶終端的 會話,并將隊(duì)列中的下一用戶終端作為當(dāng)前用戶終端進(jìn)行會話。
所述會話單元包括
第一采集單元,用于采集語音數(shù)據(jù);
第 一發(fā)送單元,用于將所述語音數(shù)據(jù)發(fā)送給所述群組中的用戶終端。
所述會話單元包括
第二采集單元,用于采集語音數(shù)據(jù);
第二發(fā)送單元,用于將所述語音數(shù)據(jù)發(fā)送給所述群組控制設(shè)備; 所述群組控制設(shè)備還包括
轉(zhuǎn)發(fā)單元,用于接收所述第二發(fā)送單元發(fā)送的語音數(shù)據(jù),并將該語音數(shù)據(jù) 轉(zhuǎn)發(fā)給所述群組中的用戶終端。
本發(fā)明通過用戶終端向群組控制設(shè)備發(fā)送含有用戶標(biāo)識的會話請求,群組 控制設(shè)備將該會話請求中的用戶標(biāo)識置于為該群組創(chuàng)建的隊(duì)列中,該發(fā)起會話 請求的用戶終端按照隊(duì)列中的排列順序,在該群組中進(jìn)行會話的方法,減少了 帶寬的占用,降低了用戶終端對數(shù)據(jù)處理的負(fù)擔(dān),并且使得語音傳輸過程更加 有序、可控,保證了溝通的順暢,用戶體驗(yàn)較好。
圖1為本發(fā)明系統(tǒng)結(jié)構(gòu)示意圖2為本發(fā)明系統(tǒng)實(shí)施例1中終端和群組控制設(shè)備結(jié)構(gòu)示意圖; 圖3為本發(fā)明系統(tǒng)實(shí)施例2中終端和群組控制設(shè)備結(jié)構(gòu)示意圖; 圖4為本發(fā)明方法實(shí)施例中步驟流程示意圖。
具體實(shí)施例方式
下面結(jié)合說明書附圖對本發(fā)明作進(jìn)一步詳細(xì)描述。
如圖1所示,為本發(fā)明系統(tǒng)結(jié)構(gòu)示意圖,該實(shí)現(xiàn)多用戶語音會話系統(tǒng)包括 即時通信多用戶群組,該即時通信多用戶群組包括群組控制設(shè)備和兩個以上用 戶終端。其中,群組控制設(shè)備用于接收所述用戶終端發(fā)送的含有用戶標(biāo)識的會
話請求,并將該會話請求中的用戶標(biāo)識置于為該群組創(chuàng)建的隊(duì)列中;用戶終端 用于向所述群組控制設(shè)備發(fā)送含有用戶標(biāo)識的會話請求,按照所述隊(duì)列中的排 列順序,在該群組中進(jìn)行會話。
如圖2所示,所述群組控制設(shè)備包括接收單元11和控制單元12。其中, 接收單元11用于接收所述用戶終端發(fā)送的含有用戶標(biāo)識的會話請求,并將該 會話請求發(fā)送給控制單元12;控制單元12用于將該會話請求中的用戶標(biāo)識置 于為該群組創(chuàng)建的隊(duì)列中。
所述用戶終端包括發(fā)送單元21和會話單元22。其中,發(fā)送單元21用于向 所述群組控制設(shè)備發(fā)送所述含有用戶標(biāo)識的會話請求;會話單元22用于按照 所述隊(duì)列中的排列順序,在該群組中進(jìn)行會話。
所述群組控制設(shè)備還包括控制請求單元13,用于將控制請求發(fā)送給鑒權(quán)單 元23,并接收該鑒權(quán)單元23返回的響應(yīng)信息,該控制請求中包含該群組控制 設(shè)備標(biāo)識。
所述用戶終端還包括鑒權(quán)單元23,用于接收所述控制請求單元13發(fā)送的 所述控制請求,對該請求中的標(biāo)識進(jìn)行鑒權(quán),在鑒權(quán)通過后,保存該標(biāo)識,并 向所述控制請求單元13返回響應(yīng)信息。
所述控制單元12包括排隊(duì)單元31和安置單元32,其中,排隊(duì)單元31用 于按照發(fā)送會話請求的先后順序和/或用戶終端優(yōu)先級,將該會話請求進(jìn)行排 隊(duì);安置單元32用于將該會話請求中的用戶標(biāo)識,按照排隊(duì)的順序置于所述 語音隊(duì)列中的對應(yīng)位置。
所述用戶終端還包括時間判斷單元24,用于判斷當(dāng)前隊(duì)列中發(fā)送語音數(shù)據(jù)
的用戶終端的傳輸持續(xù)時間是否達(dá)到預(yù)先設(shè)定值,或傳輸通道中數(shù)據(jù)傳輸?shù)某?br>
續(xù)時間是否達(dá)到預(yù)先設(shè)定值,如果是,則向所述會話單元22發(fā)送中斷信號;
所述會話單元22還用于當(dāng)接收到所述中斷信號后,中斷該當(dāng)前用戶終端 的會話,并將隊(duì)列中的下一用戶終端作為當(dāng)前用戶終端進(jìn)行會話。
如圖2所示,為實(shí)施例1中終端和群組控制i殳備結(jié)構(gòu)示意圖,在此例中, 語音數(shù)據(jù)由發(fā)送該語音數(shù)據(jù)的終端發(fā)送至群組中的用戶終端,所述會話單元22 包括第一采集單元41和第一發(fā)送單元42,其中,第一采集單元41用于采集語 音數(shù)據(jù);第一發(fā)送單元42用于將所述語音數(shù)據(jù)發(fā)送給所述群組中的用戶終端。 另外,語音數(shù)據(jù)可以通過其他方式傳輸?shù)饺航M中的用戶終端,如圖3所示, 為實(shí)施例2中終端和群組控制設(shè)備結(jié)構(gòu)示意圖,在此例中,語音數(shù)據(jù)由發(fā)送該 語音數(shù)據(jù)的終端先發(fā)送至群組控制設(shè)備,在由該群組控制設(shè)備轉(zhuǎn)發(fā)到群組中的 用戶終端。所述會話單元22包括第二采集單元43和笫二發(fā)送單元44,其中, 第二采集單元43用于采集語音數(shù)據(jù);第二發(fā)送單元44用于將所述語音數(shù)據(jù)發(fā) 送給所述群組控制設(shè)備。所述群組控制設(shè)備還包括轉(zhuǎn)發(fā)單元14,用于接收所述 第二發(fā)送單元44發(fā)送的語音數(shù)據(jù),并將該語音數(shù)據(jù)轉(zhuǎn)發(fā)給所述群組中的用戶 終端。
在本發(fā)明中,首先在即時通信系統(tǒng)中建立即時通信多用戶語音群組,并為 該語音群組設(shè)置群組控制設(shè)備,然后用戶終端向該群組控制設(shè)備發(fā)送含有用戶 標(biāo)識的會話請求,群組控制設(shè)備收到該會話請求后,將該會話請求中的用戶標(biāo) 識置于為該群組創(chuàng)建的隊(duì)列中,最后發(fā)起會話請求的用戶終端按照所述隊(duì)列中 的排列順序,在該群組中進(jìn)行會話。在本發(fā)明中,用戶之間進(jìn)行語音會話即為 用戶向群組中的終端發(fā)送語音數(shù)據(jù),并接收群組中其它用戶發(fā)送的語音數(shù)據(jù)。
下面結(jié)合具體實(shí)施例詳細(xì)說明本發(fā)明方法。本發(fā)明方法實(shí)施例中運(yùn)行IM 軟件進(jìn)行多用戶語音會話,中要進(jìn)行A、 B、 C和D四個用戶終端的語音會話 過程。如圖4所示,為本實(shí)施例中方法步驟流程示意圖,該方法包括以下步驟
步驟401:在IM系統(tǒng)中建立IM多用戶語音群組,并為該語音群組設(shè)置群
組控制設(shè)備。
用戶終端A首先運(yùn)行該IM軟件,在IM服務(wù)器上登錄,然后向該IM服 務(wù)器發(fā)起建立IM多用戶語音群組的請求。該請求中包含希望加入該語音群組 的用戶終端標(biāo)識,即A、 B、 C和D的用戶終端標(biāo)識,其中A用戶終端標(biāo)識還 加入了發(fā)起請求的標(biāo)記,告知IM服務(wù)器用戶終端A為發(fā)起請求的用戶終端, 該請求中還包括協(xié)議命令號,告知IM服務(wù)器希望請求的協(xié)議命令。
IM服務(wù)器收到用戶終端A發(fā)送的建立多用戶語音群組的請求后,對請求 中的標(biāo)識信息按照約定的方式進(jìn)行解密和解析處理,判斷是否是有效信息。在 本實(shí)施例中可以設(shè)定加入IM多用戶語音群組的用戶必須已經(jīng)成功登錄該IM 服務(wù)器,當(dāng)IM服務(wù)器判斷出接收到的信息中有未成功登陸IM服務(wù)器的用戶 終端標(biāo)識,則說明該請求無效,當(dāng)標(biāo)識信息中所有用戶終端標(biāo)識對應(yīng)的用戶終 端都已成功登陸IM服務(wù)器時,則表示該請求有效,則提取協(xié)議命令號,確定 是建立IM多用戶語音群組的協(xié)議命令,則生成新的IM多用戶語音群組,保 存該新生成的語音群組的信息,該語音群組信息包括語音群組標(biāo)識、希望加 入語音群組的用戶終端標(biāo)識(A、 B、 C和D的用戶終端標(biāo)識)以及語音群組 名稱。隨后,IM服務(wù)器將成功創(chuàng)建IM多用戶語音群組的信息發(fā)送給用戶終端 A,用戶終端A對信息進(jìn)行解密及解析處理,得到生成的語音群組的標(biāo)識和語 音群組的相關(guān)信息。
IM服務(wù)器成功創(chuàng)建IM多用戶語音群組后,根據(jù)保存的用戶終端標(biāo)識查詢 這些用戶終端的登錄互聯(lián)網(wǎng)協(xié)議(IP)和端口 (Port)信息。由于已經(jīng)確認(rèn)所 有加入語音群組的用戶終端已經(jīng)成功登陸IM服務(wù)器,因此該IM服務(wù)器分別 向所述加入語音群組的用戶終端發(fā)送語音群組建立成功的數(shù)據(jù)包,該數(shù)據(jù)包中 包括所述新建立的語音群組信息。
用戶終端A根據(jù)保存的用戶終端B、 C和D的標(biāo)識向每一用戶終端發(fā)送與 其進(jìn)行TCP長鏈接的請求,該請求中還包括用戶終端A的標(biāo)識和所述建立的 語音群組標(biāo)識。用戶終端B、 C和D收到該TCP長鏈接請求后,判斷用戶終
端A是否為有效可信任用戶終端。例如,在QQ軟件中,若用戶終端A為用 戶終端B的好友,則說明用戶終端A達(dá)到信任級別,若用戶終端A在用戶終 端B的陌生人或黑名單中時,則說明用戶終端A未達(dá)到信任級別,當(dāng)然也可 以根據(jù)其他條件來進(jìn)行判斷。當(dāng)用戶終端B、 C和D判斷用戶終端A為有效可 信任的用戶終端時,則接受該TCP長鏈接請求。同樣,用戶終端B、 C和D 之間也可以4艮據(jù)類似方法進(jìn)行TCP長鏈接請求,實(shí)現(xiàn)加入語音群組的用戶終 端之間兩兩建立連4妄通道。
在本發(fā)明中,群組控制設(shè)備可以為參與群組中的任意一個用戶終端,為區(qū) 別于其它用戶終端將該用戶終端稱為第一用戶終端,也可以是該IM系統(tǒng)中包 含的服務(wù)器等,在本實(shí)施例中設(shè)定群組控制設(shè)備為用戶終端A,即該用戶終端 A為所述第一用戶終端,則設(shè)置該用戶終端A為群組控制設(shè)備的方法為用戶 終端A向群組中的用戶終端發(fā)送控制請求,即向用戶終端B、 C和D發(fā)送控制 請求,該控制請求中包括用戶終端A標(biāo)識。用戶終端B、 C和D對控制請求中 含有的用戶終端A標(biāo)識進(jìn)行鑒權(quán),當(dāng)鑒權(quán)通過時保存用戶終端A標(biāo)識并向用 戶終端A返回響應(yīng)信息,承認(rèn)用戶終端A為群組控制設(shè)備,在本發(fā)明中可以 有多種鑒權(quán)的條件,在本實(shí)施例中設(shè)定當(dāng)用戶終端A為用戶終端B、 C和D的 好友時即通過鑒權(quán)。
上述用戶終端之間兩兩建立連接通道的過程在本發(fā)明中不是必需的,因?yàn)?當(dāng)一次只有一個用戶終端發(fā)送語音數(shù)據(jù),占用帶寬少,因此該數(shù)據(jù)包可以發(fā)送 至群組控制設(shè)備,由該群組控制設(shè)備將該語音數(shù)據(jù)發(fā)送給所述群組中的用戶終 端;當(dāng)然也可以根據(jù)用戶終端之間兩兩建立的連接通道向群組中的用戶終端發(fā) 送語音數(shù)據(jù)。
步驟402:用戶終端向群組控制設(shè)備發(fā)送含有用戶標(biāo)識的會話請求,該群 組控制設(shè)備收到該會話請求后,將該會話請求中的用戶標(biāo)識置于為該群組創(chuàng)建 的隊(duì)列中,然后發(fā)起會話請求的用戶終端按照所述隊(duì)列中的排列順序,在該群 組中進(jìn)行會話。 在本實(shí)施例中,設(shè)定用戶終端A為群組控制設(shè)備,且語音數(shù)據(jù)是通過用戶 終端之間兩兩建立的TCP長鏈接通道傳輸?shù)摹?br>
在進(jìn)行多用戶語音傳輸?shù)倪^程中,要求進(jìn)行語音會話用戶終端向群組控制 設(shè)備發(fā)送會話請求。在本實(shí)施例中,設(shè)定用戶終端B向用戶終端A發(fā)送會話 請求,要求進(jìn)行語音通信,該會話請求中包含終端B標(biāo)識。用戶終端A收到 用戶終端B發(fā)送的會話請求后,判斷當(dāng)前多用戶語音傳輸通道中的狀態(tài),該狀 態(tài)可能為"空閑"或"忙碌"。其中,當(dāng)語音傳輸通道中沒有音頻數(shù)據(jù)傳輸時 可以認(rèn)為此時通道處于空閑狀態(tài),但是由于在實(shí)際進(jìn)行語音通信時,同一用戶 一次發(fā)送數(shù)據(jù)包時可能是有停頓的,因此,在本實(shí)施例中當(dāng)通道中沒有數(shù)據(jù)傳 輸?shù)某掷m(xù)時間達(dá)到預(yù)定的時間時,才認(rèn)為此時通道中處于空閑狀態(tài),或者發(fā)送 語音數(shù)據(jù)的用戶終端的傳輸持續(xù)時間達(dá)到預(yù)先設(shè)定值時也可以認(rèn)為通道中處 于空閑狀態(tài);當(dāng)語音傳輸通道中有數(shù)據(jù)傳輸,或在間隔時間小于所述預(yù)定時間 時有數(shù)據(jù)傳輸,或發(fā)送語音數(shù)據(jù)的用戶終端的傳輸持續(xù)時間未達(dá)到預(yù)先設(shè)定值 時,認(rèn)為此時處于忙碌狀態(tài)。
若當(dāng)用戶終端A判斷此時處于空閑狀態(tài)時,用戶終端B可以進(jìn)行會話, 即發(fā)送語音數(shù)據(jù),用戶終端A可以將用戶終端B的標(biāo)識發(fā)送給用戶終端C和 D,用戶終端C和D記錄當(dāng)前要進(jìn)行語音會話的用戶終端B的標(biāo)識。此時用戶 終端B將要發(fā)送的語音數(shù)據(jù)按照預(yù)先設(shè)定的編碼方式進(jìn)行編碼,并通過TCP 長鏈接通道向用戶終端A、用戶終端C和用戶終端D發(fā)送,用戶終端A、用 戶終端C和用戶終端D接收到用戶終端B發(fā)送的數(shù)據(jù)后,按照相應(yīng)的解碼方 式進(jìn)行解碼,獲得原始音頻數(shù)據(jù)并向用戶播放。當(dāng)然,用戶終端B也可以向用 戶終端A發(fā)送編碼后的數(shù)據(jù),用戶終端A收到該數(shù)據(jù)后4艮據(jù)已保存的標(biāo)識信 息向用戶終端C和用戶終端D發(fā)送。
判斷當(dāng)前隊(duì)列中發(fā)送語音數(shù)據(jù)的用戶終端的傳輸持續(xù)時間是否達(dá)到預(yù)先 設(shè)定值,或傳輸通道中數(shù)據(jù)傳輸?shù)某掷m(xù)時間是否達(dá)到預(yù)先設(shè)定值,如果是,則 中斷該當(dāng)前用戶終端的會話,并將隊(duì)列中的下一用戶終端作為當(dāng)前用戶終端進(jìn)
行會話,重復(fù)上述判斷。若當(dāng)用戶終端A判斷此時處于忙碌狀態(tài)時,如此時用 戶終端C正在發(fā)送語音數(shù)據(jù),且用戶終端D在B之前C之后發(fā)送會話請求, 則用戶終端A將用戶終端B進(jìn)行排隊(duì),位于D之后。當(dāng)判斷用戶終端C的傳 輸持續(xù)時間達(dá)到預(yù)先i殳定值,或數(shù)據(jù)傳輸?shù)某掷m(xù)時間是否達(dá)到預(yù)先設(shè)定值時, 中斷用戶終端C的會話,通道處于空閑狀態(tài)時,將用戶終端D作為當(dāng)前終端 進(jìn)行會話,即發(fā)送語音數(shù)據(jù),并同時重復(fù)上述判斷過程。當(dāng)用戶終端D的會話 結(jié)束后才將用戶終端B作為當(dāng)前終端進(jìn)行會話,即發(fā)送語音數(shù)據(jù)。
在上述過程中,用戶終端A是按照發(fā)送會話請求的先后順序?qū)σ筮M(jìn)行語 音會話請求的用戶終端進(jìn)行排隊(duì)的,當(dāng)然也可以按照發(fā)送會話請求的先后順序 和/或用戶終端優(yōu)先級,將該會話請求進(jìn)行排隊(duì),再將該會話請求中的用戶標(biāo)識 按照排隊(duì)的順序置于所述語音隊(duì)列中的對應(yīng)位置。例如,當(dāng)該IM軟件為QQ 軟件時,該優(yōu)先級的高低可以根據(jù)積分的高低來判斷,當(dāng)然也可以根據(jù)其他的 條件來判斷。
在本實(shí)施例中,設(shè)定用戶終端B的優(yōu)先級最高,用戶終端C優(yōu)先級次之, 用戶終端D優(yōu)先級最低。當(dāng)用戶終端C正在發(fā)送語音數(shù)據(jù)時,用戶終端D向 用戶終端A發(fā)送會話請求,用戶終端A將用戶終端D排隊(duì)在用戶終端C后。 當(dāng)在用戶終端C還未發(fā)送結(jié)束時用戶終端B也向用戶終端A發(fā)送會話請求, 此時用戶終端A才艮據(jù)優(yōu)先級信息進(jìn)行排隊(duì),將用戶終端B排隊(duì)在用戶終端C 后,將用戶終端D排隊(duì)在用戶終端B后。
通過本發(fā)明方法,在進(jìn)行多用戶語音傳輸時,在某一個時間內(nèi)只有一個用 戶在進(jìn)行語音的發(fā)送,而其他用戶均處于接收狀態(tài),減少了帶寬的占用,降低 了用戶終端對數(shù)據(jù)處理的負(fù)擔(dān),并且使得語音的接收和發(fā)送過程更加有序、可 控,保證了溝通的順暢,用戶體驗(yàn)較好。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā) 明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及 其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權(quán)利要求
1、一種實(shí)現(xiàn)多用戶語音會話的方法,應(yīng)用于即時通信系統(tǒng)中,其特征在于,在該即時通信系統(tǒng)中建立即時通信多用戶語音群組,并為該語音群組設(shè)置群組控制設(shè)備,該方法包括用戶終端向所述群組控制設(shè)備發(fā)送含有用戶標(biāo)識的會話請求;所述群組控制設(shè)備收到該會話請求后,將該會話請求中的用戶標(biāo)識置于為該群組創(chuàng)建的隊(duì)列中;發(fā)起會話請求的用戶終端按照所述隊(duì)列中的排列順序,在該群組中進(jìn)行會話。
2、 如權(quán)利要求1所述的方法,其特征在于,所述群組控制設(shè)備為所述群 組中的第一用戶終端,或該即時通信系統(tǒng)中的服務(wù)器,當(dāng)所述群組控制設(shè)備為 所述群組中的第一用戶終端時,所述設(shè)置群組控制設(shè)備包括所述第一用戶終端向所述群組中的用戶終端發(fā)送控制請求,該控制請求中 包括自身用戶標(biāo)識;接收到所述控制請求的用戶終端對該控制請求中含有的用戶標(biāo)識進(jìn)行鑒 權(quán),在鑒權(quán)通過后,保存該用戶標(biāo)識,并向第一用戶終端返回響應(yīng)信息。
3、 如權(quán)利要求1所述的方法,其特征在于,所述群組控制設(shè)備將該會話 請求中的用戶標(biāo)識置于該群組的語音隊(duì)列中的步驟包括所述群組控制設(shè)備按照發(fā)送會話請求的先后順序和/或用戶終端優(yōu)先級,將 該會話請求進(jìn)行排隊(duì);所述群組控制設(shè)備將該會話請求中的用戶標(biāo)識,按照排隊(duì)的順序置于所述 語音隊(duì)列中的對應(yīng)位置。
4、 如權(quán)利要求1所述的方法,其特征在于,所述發(fā)起會話請求的用戶終 端按照所述隊(duì)列中的排列順序,在該群組中進(jìn)行會話的步驟包括先設(shè)定值,或傳輸通道中數(shù)據(jù)傳輸?shù)某掷m(xù)時間是否達(dá)到預(yù)先設(shè)定值,如果是,則中斷該當(dāng)前用戶終端的^S舌;A2、將隊(duì)列中的下一用戶終端作為當(dāng)前用戶終端進(jìn)行會話,返回步驟A1。
5、 如權(quán)利要求1或4所述的方法,其特征在于,所述發(fā)起會話請求的用 戶終端進(jìn)行會話的步驟包括發(fā)起會話請求的用戶終端向所述群組中的用戶終端發(fā)送語音數(shù)據(jù);或, 發(fā)起會話請求的用戶終端向所述群組控制設(shè)備發(fā)送語音數(shù)據(jù),該群組控制 設(shè)備收到該語音數(shù)據(jù)后,將該語音數(shù)據(jù)發(fā)送給所述群組中的用戶終端。
6、 一種實(shí)現(xiàn)多用戶語音會話的系統(tǒng),其特征在于,該系統(tǒng)包括即時通信 多用戶群組,該即時通信多用戶群組包括群組控制設(shè)備和兩個以上用戶終端, 其中,所述群組控制設(shè)備,用于接收所述用戶終端發(fā)送的含有用戶標(biāo)識的會話請求,并將該會話請求中的用戶標(biāo)識置于為該群組創(chuàng)建的隊(duì)列中;所述用戶終端,用于向所述群組控制設(shè)備發(fā)送含有用戶標(biāo)識的會話請求, 按照所述隊(duì)列中的排列順序,在該群組中進(jìn)行會話。
7、 如權(quán)利要求6所述的系統(tǒng),其特征在于,所述群組控制設(shè)備包括接收 單元和控制單元,其中,所述接收單元,用于接收所述用戶終端發(fā)送的含有用戶標(biāo)識的會話請求,并將該會話請求發(fā)送給所述控制單元;所述控制單元,用于將該會話請求中的用戶標(biāo)識置于為該群組創(chuàng)建的隊(duì)列中。
8、 如權(quán)利要求7所述的系統(tǒng),其特征在于,所述用戶終端包括 發(fā)送單元,用于向所述群組控制設(shè)備發(fā)送所述含有用戶標(biāo)識的會話請求; 會話單元,用于按照所述隊(duì)列中的排列順序,在該群組中進(jìn)行會話。
9、 如權(quán)利要求8所述的系統(tǒng),其特征在于,所述群組控制設(shè)備還包括 控制請求單元,用于將控制請求發(fā)送給鑒權(quán)單元,并接收該鑒權(quán)單元返回的響應(yīng)信息,該控制請求中包含該群組控制設(shè)備標(biāo)識; 所述用戶終端還包括所述鑒權(quán)單元,用于接收所述控制請求單元發(fā)送的所述控制請求,對該請 求中的標(biāo)識進(jìn)行鑒4又,在鑒庫又通過后,保存該標(biāo)識,并向所述控制請求單元返 回響應(yīng)信息。
10、 如權(quán)利要求7所述的系統(tǒng),其特征在于,所述控制單元包括 排隊(duì)單元,用于按照發(fā)送會話請求的先后順序和/或用戶終端優(yōu)先級,將該會話請求進(jìn)行排隊(duì);安置單元,用于將該會話請求中的用戶標(biāo)識,按照排隊(duì)的順序置于所述語 音隊(duì)列中的對應(yīng)位置。
11、 如權(quán)利要求8所述的系統(tǒng),其特征在于,所述用戶終端還包括時間判斷單元,用于判斷當(dāng)前隊(duì)列中發(fā)送語音數(shù)據(jù)的用戶終端的傳輸持續(xù) 時間是否達(dá)到預(yù)先設(shè)定值,或傳輸通道中數(shù)據(jù)傳輸?shù)某掷m(xù)時間是否達(dá)到預(yù)先設(shè) 定值,如果是,則向所述會話單元發(fā)送中斷信號;所述會話單元,還用于當(dāng)接收到所述中斷信號后,中斷該當(dāng)前用戶終端的 會話,并將隊(duì)列中的下 一用戶終端作為當(dāng)前用戶終端進(jìn)行會話。
12、 如權(quán)利要求8所述的系統(tǒng),其特征在于,所述會話單元包括 第一采集單元,用于采集語音數(shù)據(jù);第一發(fā)送單元,用于將所述語音數(shù)據(jù)發(fā)送給所述群組中的用戶終端。
13、 如權(quán)利要求8所述的系統(tǒng),其特征在于,所述會話單元包括 第二采集單元,用于采集語音數(shù)據(jù);第二發(fā)送單元,用于將所述語音數(shù)據(jù)發(fā)送給所述群組控制設(shè)備; 所述群組控制設(shè)備還包括轉(zhuǎn)發(fā)單元,用于接收所述第二發(fā)送單元發(fā)送的語音數(shù)據(jù),并將該語音數(shù)據(jù) 轉(zhuǎn)發(fā)給所述群組中的用戶終端。
全文摘要
本發(fā)明公開了一種實(shí)現(xiàn)多用戶語音會話的方法,應(yīng)用于即時通信系統(tǒng)中,在該即時通信系統(tǒng)中建立即時通信多用戶語音群組,并為該語音群組設(shè)置群組控制設(shè)備,該方法包括用戶終端向所述群組控制設(shè)備發(fā)送含有用戶標(biāo)識的會話請求;所述群組控制設(shè)備收到該會話請求后,將該會話請求中的用戶標(biāo)識置于為該群組創(chuàng)建的隊(duì)列中;發(fā)起會話請求的用戶終端按照所述隊(duì)列中的排列順序,在該群組中進(jìn)行會話。通過本發(fā)明方法,減少了帶寬的占用,降低了用戶終端對數(shù)據(jù)處理的負(fù)擔(dān),并且使得語音傳輸過程更加有序、可控,保證了溝通的順暢,用戶體驗(yàn)較好。本發(fā)明還公開了一種實(shí)現(xiàn)多用戶語音會話的系統(tǒng)。
文檔編號H04L12/18GK101183961SQ20061016834
公開日2008年5月21日 申請日期2006年12月26日 優(yōu)先權(quán)日2006年12月26日
發(fā)明者斌 李 申請人:騰訊科技(深圳)有限公司