CN101420390A - 互联网即时通讯数据的传输方法、装置及系统 - Google Patents
互联网即时通讯数据的传输方法、装置及系统 Download PDFInfo
- Publication number
- CN101420390A CN101420390A CNA2008101858387A CN200810185838A CN101420390A CN 101420390 A CN101420390 A CN 101420390A CN A2008101858387 A CNA2008101858387 A CN A2008101858387A CN 200810185838 A CN200810185838 A CN 200810185838A CN 101420390 A CN101420390 A CN 101420390A
- Authority
- CN
- China
- Prior art keywords
- terminal
- voice
- video data
- target
- transfer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种互联网中的语音传输方法、装置及系统。所述方法包括:发布终端向中转服务器发送语音及/或视频数据和中转信息,所述中转信息用于指定接收所述语音及/或视频数据的多个目标终端;所述中转服务器根据所述中转信息将所述语音及/或视频数据向所述多个目标终端发送。
Description
技术领域
本发明涉及计算机网络技术,特别地涉及一种互联网即时通讯数据的传输方法、装置及系统。
背景技术
目前的互联网即时通讯系统中,在进行即时通讯时既有一对一的通讯形式,也有一对多的通讯形式,即发言者将语音及/或视频数据传输给多个会话参与人。如图1所示,用户P与用户A、B、C进行即时通讯,用户A、B、C分别与用户P有直接连接,用户P发出的语音及/或视频数据同时向用户A、B、C传输。
在一对多的通讯方式中,随着参与人数的增多,发言者向参与人传输即时通讯数据时需要的网络带宽也在增大。以即时语音通讯为例,在网络带宽和语音编码压缩率不变的情况下,发言者向多个会话参与人发送语音,在会话参与人的人数到达一定数目时,会话参与人接收的语音会发生延时现象。又如在图1中,如果用户P向多个用户发送语音及/或视频数据,例如向用户A-E传送语音及/或视频数据,则该语音及/或视频数据在传输至用户A-E时会发生延时,语音的传输质量下降。
发明内容
本发明的主要目的是提供一种互联网中的即时通讯数据传输方法、装置及系统,可解决现有技术中当接收语音及/或视频数据的用户数量增大时即时通讯数据的传输质量下降的问题。
本发明实施例提供如下的技术方案:
一种互联网即时通讯数据传输方法,包括:
发布终端向中转服务器发送语音及/或视频数据和中转信息,所述中转信息用于指定接收所述语音及/或视频数据的多个目标终端;
所述中转服务器根据所述中转信息将所述语音及/或视频数据向所述多个目标终端发送。
一种互联网即时通讯数据传输系统包括:
发布模块,用于发送语音及/或视频数据和中转信息,所述中转信息用于指定接收所述语音及/或视频数据的多个目标终端;
中转模块,用于根据所述中转信息将所述语音及/或视频数据向所述多个目标终端发送。
另一种互联网即时通讯数据传输系统包括:
发布装置及多个终端,其中:
所述发布装置用于发送语音及/或视频数据和中转信息,所述中转信息用于指定接收所述语音及/或视频数据的所述多个终端;
所述多个终端中的每个终端包括终端接收模块及/或终端中转模块,其中:
终端接收模块,用于接收所述语音及/或视频数据和中转信息;
终端中转模块,用于根据所述中转信息将所述语音及/或视频数据向所述多个终端发送。
一种互联网中转服务器,包括:
服务器接收模块,用于接收语音及/或视频数据和中转信息,所述中转信息用于指定接收所述语音及/或视频数据的多个目标终端;
服务器中转模块,用于根据中转信息确定目标终端,并将所述语音及/或视频数据向所确定的多个目标终端发送。
一种即时通讯数据发布终端,包括:
终端第一发送模块,用于向中转服务器发送语音及/或视频数据;
终端第二发送模块,用于向中转服务器发送中转信息,所述中转信息用于指定接收所述语音及/或视频数据的多个目标终端。
根据本发明实施例中的技术方案,发布终端将语音及/或视频数据向连接的中转服务器发送,由中转服务器将语音及/或视频数据转发至接收语音及/或视频数据的目标终端。因为将发布终端向多个目标终端的数据转发任务分配给中转服务器完成,所以使用本发明实施例的技术方案能够降低发布终端的网络带宽及资源消耗压力,使得在接收语音及/或视频数据的用户数量增大时仍然能够保证语音及/或视频数据的传输质量。
附图说明
图1为现有技术中互联网用户之间语音及/或视频数据传输示意图;
图2为本发明实施例中的方法流程图;
图3A为本发明实施例中的网络结构示意图;
图3B为本发明实施例中另一种网络结构示意图;
图4为本发明第一实施例中互联网即时通讯数据传输系统结构示意图;
图5为本发明第二实施例中互联网即时通讯数据传输系统结构示意图;
图6为本发明第三实施例中互联网即时通讯数据传输系统结构示意图;
图7为本发明实施例中转服务器结构示意图;
图8为本发明实施例中即时通讯数据发布终端结构示意图。
具体实施方式
在利用互联网进行即时通讯时,发起通讯的终端装置需要将语音及/或视频数据发送至其他需要接收的终端装置以完成用户之间语音及/或视频的传递。在本发明实施例中,利用中转服务器接收和转发语音及/或视频数据,具体如图2所示,包括如下步骤:
步骤S23:发布终端向中转服务器发送语音及/或视频数据和中转信息。中转信息指定了接收语音及/或视频数据的多个目标终端。
中转信息中具体指定哪些目标终端来接收语音及/或视频数据,可以由发布终端选择。用户可以在发布终端选择接收自己所发出语音及/或视频数据的目标终端的标识信息,在即时通讯系统中,该标识信息可以是用户在该即时通讯系统中的ID等可用于识别其身份的信息;用户也可以选择接收语音及/或视频数据的终端装置的网络地址(IP地址或终端装置网卡的MAC(Media AccessControl,介质访问控制)地址)。通常即时通讯软件都需要其使用者进行注册,该即时通讯软件会分配给每个注册用户相应的ID,用户还可为该ID设置相关信息,如名称、年龄、爱好等,ID及相关信息都将存储在该即时通讯软件的数据库服务器中。用户通过自己的ID登录后,可根据ID号或相关信息搜索其他注册用户以进行通讯,还可将其他注册用户添加为自己的好友,即在数据库中建立多个ID之间的关联。用户需要发起群组通讯时,可将需要参与群组通讯的多个用户的ID加入到该群组中,在群组通讯时,默认会将群组中一个用户的语音及/或视频数据以广播方式发送至群组中的其他所有用户。通常,正在参与一个群组通讯的用户会有其所在群组的成员列表(如成员的ID列表),当用户有数据需要发送时,会根据该列表将数据发送至各成员。
用户所选择的终端装置的标识信息包含在中转信息中,与语音及/或视频数据一起发送给中转服务器,由此中转服务器在接收到语音及/或视频数据的同时能够得知应该将哪些终端作为接收语音及/或视频数据目标终端。另外,在群组通讯中,用户登录通讯服务侧,例如通讯服务器,或者由中转服务器提供通讯服务,在通讯服务侧即保存参与群组通讯的用户的信息,例如其昵称或ID等识别信息。以中转服务器提供通讯服务为例,中转服务器保存参与语音及/或视频数据发送和接收的终端信息,例如群体通讯的用户的信息,有A,B,C,D四个用户参与群组通讯,则当用户A发言,他将自己的语音及/或视频数据信息发送到中转服务器时,后者根据该语音及/或视频数据信息来自于A即可判断该语音及/或视频数据信息是发往群组中其他三个用户,即B、C和D。当然,用户A同时可在多个群组中,所以在发送数据时还需在数据包中包含群组的标识信息以识别是发往哪个群组的数据包。所以在这种应用环境中,上述的中转信息也可以是发布终端本身的标识信息,例如IP地址、发布终端网卡的MAC地址等可在网络中标识发布终端的信息。在使用即时通讯软件进行语音及/或视频交互时,每个客户端在向其他客户端发送数据时,都相当于发布终端,而在接收其他客户端发送的数据时,都相当于目标终端。
步骤S24:所述中转服务器根据所述中转信息将所述语音及/或视频数据向所述多个目标终端发送。
在步骤S23中,中转服务器已经确定了接收语音及/或视频数据的目标终端,所以将语音及/或视频数据向这些目标终端发送之后,就完成了用户语音信息向其他用户的传送。
由于中转服务器分担了发布终端将语音及/或视频数据发送给多个目标终端的工作,发布终端只需进行相对少量的数据发送工作,在多人群组通讯时,可极大的降低发布终端的系统资源消耗。而在网络侧的中转服务器的硬件配置及网络环境能够灵活扩充使得中转服务器具有比发布终端具有更大带宽。
较佳地,发布终端在发送语音及/或视频数据之前,还可包括:
发布终端采集语音及/或视频信号。本步骤中的语音及/或视频信号主要是用户通过麦克风或摄像头等语音或视频输入装置输入至发布终端。
发布终端对采集的语音及/或视频信号进行编码,形成语音及/或视频数据包。本步骤中,编码一般是由发布终端的软件来完成。语音质量与编码方式的压缩率成反比,压缩率越大,语音质量越低,压缩所得的数据包体积越小。其中,视频编码可采用H.264与MPEG4等常用视频编码算法进行,而音频编码可采用G.723.1,G.729A及iLBC(Internet Low Bit Rate Codec)等算法进行。当目标终端接收到所述语音及/或视频数据后,采用与发布终端相同的编码算法对数据包进行解码,则可获得相应的语音及/或视频信号,并可通过目标终端的语音及/或视频输出设备输出。需要指出的是,在一个通讯群组中,每个终端既可是发布终端(在需要发送语音及/或视频数据时),也可是目标终端(在需要接收其他终端发送的语音及/或视频数据时)。
在实际网络中,中转服务器不一定与用户指定的所有目标终端直接连接,例如图3A所示,发布终端T0与中转服务器RS1连接,当发布终端T0需要将语音传送至终端T1-T5,终端T1、T2与中转服务器RS1连接,终端T3、T4和T5与中转服务器RS2连接。在这种情况下,中转服务器RS1在收到终端T0发来的语音及/或视频数据和中转信息后,需要先判断自身与中转信息指定的终端是否连接,然后采取相应的动作。如图3A,例如发布终端T0需要将语音及/或视频数据传送至目标终端T1,则发布终端T0先将语音及/或视频数据传送至中转服务器RS1并在中转信息中指定了终端T1接收语音及/或视频数据,中转服务器RS1则判断自身是否与目标终端T1连接,在本例中,中转服务器RS1与终端T1连接,则中转服务器RS1将语音及/或视频数据向终端T1发送。又如,图3A中,发布终端T0需要将语音及/或视频数据传送至目标终端T3,则中转服务器RS1在收到发布终端T1发送的语音及/或视频数据和中转信息后,判断得出自身没有与发布终端T1指定的目标终端T3连接,在这种情况下,中转服务器RS1需要查找与目标终端T3连接的中转服务器,例如查找得到中转服务器RS2,则中转服务器RS1将发布终端T1发送的语音及/或视频数据和中转信息转发至中转服务器RS2,中转服务器RS2根据收到的中转信息,将收到的语音及/或视频数据转发至目标终端T3。再如,发布终端T0需要将语音及/或视频数据发送至目标终端T1-T5,则中转服务器RS1在收到发布终端T0发送的语音及/或视频数据和中转信息后,判断得出自身与目标终端T1、T2连接,而未与终端T3-T5连接。于是将语音及/或视频数据发往终端T1、T2,而且查得中转服务器RS2与T3-T5连接,所以中转服务器RS1将终端T0发送的语音及/或视频数据和中转信息转发至中转服务器RS2,由后者进一步发往终端T3-T5。较佳地,所述中转服务器可通过终端连接列表来确定与自身连接的终端,该终端连接列表中可记录与该中转服务器连接的终端的标识信息(IP地址或MAC地址等),当接收到发布终端所发送的中转信息时,查找该终端连接列表中是否有中转信息中所包含的目标终端,如有,则说明该中转服务器与所述目标终端有连接。当中转信息中指定的目标终端与中转服务器连接时,将语音及/或视频数据发送至该目标终端。
当中转服务器未与中转信息中的目标终端连接时,中转服务器可查找与所述目标终端连接的其他中转服务器,并将所述语音及/或视频数据和所述中转信息发送至所述其他中转服务器,所述其他中转服务器根据所述中转信息将所述语音及/或视频数据向所述目标终端传输。
较佳地,中转服务器还可通过终端路由列表来确定到达未与自身连接的终端的路径,该终端路由列表中可记录通过其他中转服务器能到达的终端,例如,在图3A中,中转服务器RS1中可存储一个终端路由列表,其中记录了通过与自己连接的另一个中转服务器RS2可到达终端T3及T4的路由信息。当然,终端路由列表中也可存储通过未与自身连接的一个或多个中转服务器才能到达的终端,例如,RS1的终端路由列表可存储如下路由信息:通过RS4可达到RS3,通过RS3可到达终端T6。
为了减轻中转服务器的带宽压力,发布终端也可以将语音及/或视频数据直接发往一个或多个目标终端,如图3B所示,终端T0与终端T6、T7和T8连接,而终端T6、T7和T8与中转服务器RS1也连接。当终端T0向终端T1-T8发送语音及/或视频数据时,可以全部通过中转服务器RS1转发,也可以通过预定规则选择一个或多个终端,向其直接发送语音及/或视频数据,比如在发布终端有足够的网络带宽时,可选择与其连接速度较快的目标终端,直接向这些目标终端传输数据,而其他需要接收数据的目标终端则通过中转服务器获取数据。这样中转服务器RS1只需向较少数目的终端转发语音及/或视频数据,从而带宽压力较低。当终端T0选择向连接的其他终端发送语音及/或视频数据时,可以根据与其他终端之间的网络连接状况来选择终端。例如,当终端T0需要向终端T1-T8传输语音及/或视频数据时,终端T0检测与终端T6、T7及T8的数据传输速率分别为2Mb/S、1Mb/S和1.8Mb/S,则选择其中传输速率较快的两个终端,即终端T6和终端T8,于是终端T0直接向终端T6、T8传输数据,并将除去自身已直接发送了数据的目标终端以外的需接收语音及/或视频数据的目标终端列入中转信息中,即终端T1-T5以及T7将被列入中转信息中,其将从中转服务器获取数据。
在终端T0检测与其他终端之间的数据传输速率时,可以使用专门的测试数据包,也可用语音及/或视频数据本身作为测试数据包,以节省网络带宽。在上例中,终端T0需要测试与终端T6-T8之间的网络连接状况,则向终端T6-T8发送语音及/或视频数据包,终端T6-T8在收到后向终端T0发送响应数据包,终端T0根据发送语音及/或视频数据包与收到终端T6-T8发出的相应的响应数据包之间的时间间隔就可以得出与终端T6-T8之间的网络连接状况,当所述时间间隔低于预设的阈值时,则说明两个终端之间的网络连接状况较好,根据网络连接状况,在本例中选择了终端T6和T8直接接收终端T0发送的语音及/或视频数据。
终端T0发送的语音及/或视频数据的编码过程,可以根据语音及/或视频数据的传输成功率,对编码的数据压缩率作出调整,不同的编码有不同的数据压缩率,数据压缩率越高,则压缩获得的数据包体积越小,但语音及/或视频的质量越低;反之,获得的数据包体积越大,但语音及/或视频的质量越高。当终端T0向连接的其他终端例如终端T6和T8发送语音及/或视频数据时,检测与终端T6和T8之间的数据包传输成功率,若该成功率在设定的阈值范围内,则和终端T6和T8发送语音及/或视频数据,即不调整当前编码的数据压缩率。另一方面,如果终端T0与终端T6和T8之间的数据包传输成功率低于设定的阈值范围,则要提高编码的数据压缩率,反之可保持或降低编码的数据压缩率,以获得更好的通讯质量。当采用不同的编码算法或压缩率进行编码时,需在数据包里面加入一个标识,用以区分不同的编码算法或压缩率,这样,目标终端才能采用相应的编码算法正确解码。
则较佳地,所述发布终端向所述的至少一个终端发送语音及/或视频数据之前进一步包括:发布终端采集语音及/或视频信号并进行编码;
所述发布终端向所述一个或多个目标终端发送语音及/或视频数据包括:
发布终端检测与连接的目标终端之间的数据包传输成功率;
若所述成功率低于设定的阈值范围,则提高所述编码的压缩率,然后向所述连接的终端发送语音及/或视频数据。
如果经测试,能够在接收语音数据的终端侧清晰地辨识语音,或所接收到的视频数据较流畅,则还可以适当增加直接接收发布终端T0发送的语音及/或视频数据的目标终端。例如本例中,目标终端T7直接接收发布终端T0发送的语音及/或视频数据,并停止从中转服务器RS1接收转发的语音及/或视频数据。如果终端侧收到的语音数据在网络传输时数据包丢失严重,使得语音不易辨识,则应当适应减少直接接收终端T0发送的语音及/或视频数据的终端数,例如将终端T7改为接收中转服务器RS1转发的语音及/或视频数据,或者将终端T6或T8改为接收中转服务器RS1转发的语音及/或视频数据。以上的方法都是调整接收语音及/或视频数据的目标终端的分配,分配的一部分由发布终端T0直接发送语音及/或视频数据,另一部分由中转服务器RS1转发语音及/或视频数据。这样能够合理地利用网络带宽,提供尽可能好的语音及/或视频数据传输质量。
如图3B所示,如果另有终端T10需要接收终端T0发出的语音及/或视频数据,例如在语音或视频会议中,有新的听众加入,则终端T10可以从连接的终端T6接收语音及/或视频数据,终端T6提供这种中转的前提是终端T6的带宽足够宽,例如大于设定的阈值,以保证与终端T10的语音及/或视频数据传输质量。在实际运用中,所述中转服务器与所述目标终端可为同一个物理终端。
较佳地,所述中转服务器可以为需要接收发布终端所发送数据的目标终端,即一个终端可作为目标终端接收发布终端发送的语音及/或视频数据,同时还可作为中转服务器根据从发布终端接收到的中转信息将所述语音及/或视频数据向其他目标终端发送,此时,目标终端与中转服务器在同一个物理终端上,例如在同一台电脑上。
基于上述方法,本发明实施例中提供若干种系统及装置。
如图4所示,是本发明实施例提供的互联网即时通讯数据传输系统40,包括:
发布模块41,用于发送语音及/或视频数据和中转信息,所述中转信息用于指定接收所述语音及/或视频数据的多个目标终端;
中转模块42,用于根据所述中转信息将所述语音及/或视频数据向所述多个目标终端发送。
当所述中转模块42与目标终端连接时,则可直接将所述语音及/或视频数据发送至目标终端。则较佳地,所述中转模块42可包括:
判断单元,用于通过终端连接列表来确定与其连接的终端,该终端连接列表中记录与该中转模块42连接的终端的标识信息;
第一发送单元,用于当中转信息中指定的目标终端与中转模块42连接时,将语音及/或视频数据发送至该目标终端。
当所述中转模块42未与目标终端连接时,可将所述语音及/或视频数据发送至与目标终端连接的其他中转模块42。则较佳地,所述中转模块42可包括:
查找单元,用于当所述中转信息中指定的目标终端未与所述中转模块42连接时,查找与所述目标终端连接的其他中转模块42;
第二发送单元,用于将所述语音及/或视频数据和所述中转信息发送至所述其他中转模块42。
较佳地,所述查找单元可包括:
存储子单元,用于存储终端路由列表,该终端路由列表中记录通过其他中转模块42所能到达的终端的标识信息;
查询子单元,用于通过终端路由列表来确定到达未与自身连接的终端的路径。
当所述发布模块所在装置的网络带宽或处理资源较充足时,可直接向一个或多个目标终端发送语音及/或视频数据。则较佳地,所述系统40还可包括:
直接发送模块43,用于直接向一个或多个目标终端发送语音及/或视频数据。
较佳地,所述直接发送模块43可包括:
检测单元,用于检测所述装置与连接的目标终端之间的数据传输速率;
选取单元,用于按速率由高到低选取设定数目的目标终端;
第三发送单元,用于将所述语音及/或视频数据向选取的一个或多个目标终端发送。
较佳地,所述检测单元可包括:
接收子单元,用于向连接的目标终端发送语音及/或视频数据包,并接收目标终端返回的响应数据包;
计算子单元,用于根据所述接收子单元发送语音及/或视频数据包与接收到所述响应数据包之间的时间间隔得出所述数据传输速率。
在对语音及/或视频信号进行编码时,可根据网络传输速率选择不同的编码方式或压缩率,以在数据传输速率及通讯质量之间获得平衡。则较佳地,所述系统40还可包括:
编码模块45,用于采集语音及/或视频信号并进行编码;
测试模块46,用于检测与连接的目标终端之间的数据包传输成功率,若所述成功率低于设定的阈值范围,则提高所述编码的压缩率,然后向所述连接的终端发送语音及/或视频数据。
较佳地,所述直接发送模块43还可进一步用于:
判断自身网络带宽是否大于设定的阈值,若是,则向所述一个或多个目标终端发送语音及/或视频数据。
较佳地,所述系统40还可包括:
中转信息确认模块44,用于将除去自身已直接发送了数据的目标终端以外的需接收语音及/或视频数据的目标终端列入中转信息。
如图5所示,较佳地,所述发布模块41可位于所述系统40中的发布终端,而所述中转模块42位于所述系统40中的中转服务器。
如图6所示,本发明实施例还提供一种互联网即时通讯数据传输系统60,包括:
发布装置61及多个终端62(在不同实施例中,终端62有不同构成,在图6中分别标识为62a-d),其中:
所述发布装置61用于发送语音及/或视频数据和中转信息,所述中转信息用于指定接收所述语音及/或视频数据的所述多个终端;
所述多个终端62中的每个终端包括终端接收模块及/或终端中转模块,其中:
终端接收模块63,用于接收所述语音及/或视频数据和中转信息;
终端中转模块64,用于根据所述中转信息将所述语音及/或视频数据向所述多个终端发送。
在该系统60中,所述终端62既是一个目标终端,用于接收发布终端发出的语音及/或视频数据,同时也是一个中转服务器,用于根据中转信息将语音及/或视频数据转发给其他目标终端。
如图6中所示,终端62可有不同构成,62a-d,终端62a既可用于接收发布终端发出的语音及/或视频数据,同时也可根据中转信息将语音及/或视频数据转发给其他终端。终端62b及62d则仅用于接收发布终端发出的语音及/或视频数据。终端62c则相当于前述的中转服务器,仅用于根据中转信息将语音及/或视频数据转发给其他终端。
上述的中转服务器RS1和RS2的一种内部结构如图7中所示的中转服务器70的结构,包括了服务器接收模块71和服务器中转模块72。服务器接收模块71用于接收语音及/或视频数据和中转信息,该中转信息用于指定接收该语音及/或视频数据的多个目标终端。这里的语音及/或视频数据和中转信息同时来自于发布终端,例如图3中的终端T0。服务器中转模块72用于根据中转信息确定目标终端,并将所述语音及/或视频数据向所确定的多个目标终端发送。例如在图3A中,终端T0需要将语音及/或视频数据传送至终端T1和终端T2,则服务器中转模块72根据终端T0发送的中转信息确定目标终端就是终端T1和终端T2,并将语音及/或视频数据向目标终端发送。
较佳地,所述服务器中转模块72的一种结构是包括:
服务器判断单元,用于通过终端连接列表来确定与其连接的终端,该终端连接列表中记录与该中转服务器连接的终端的标识信息;及服务器第一发送单元,用于当中转信息中指定的目标终端与中转服务器连接时,将所述语音及/或视频数据向所述目标终端发送。
较佳地,所述服务器中转模块72的另一种结构是包括:
服务器查找单元,用于当所述中转信息中指定的目标终端未与所述中转服务器连接时,查找与所述目标终端连接的其他中转服务器;及服务器第二发送单元,用于将所述语音及/或视频数据和所述中转信息发送至所述其他中转服务器。
较佳地,服务器查找单元的一种内部结构可以是包括:
服务器存储子单元,用于存储终端路由列表,该终端路由列表中记录通过其他中转服务器所能到达的目标终端的标识信息;及服务器查询子单元,用于通过终端路由列表来确定到达未与自身连接的目标终端的路径。
下面说明本发明实施例中发送语音及/或视频数据的终端例如终端T0的结构。如图8所示,本发明实施例中的即时通讯数据发布终端80包括终端第一发送模块81和终端第二发送模块82。终端第一发送模块81用于向中转服务器发送语音及/或视频数据。终端第二发送模块82用于向中转服务器发送中转信息,该中转信息用于指定接收语音及/或视频数据的多个目标终端。所述中转服务器与所述目标终端在物理上可为一体,例如在同一台电脑中。
即时通讯数据发布终端80还可以包括终端第三发送模块83,用于直接向与即时通讯数据发布终端80连接的一个或多个目标终端发送语音及/或视频数据。终端第三发送模块83的一种内部结构可包括:
终端检测单元、终端选取单元和终端发送单元。终端检测单元用于检测即时通讯数据发布终端80与连接的目标终端之间的数据传输速率。终端选取单元用于按速率由高到低选取设定数目的目标终端。终端发送单元用于将语音及/或视频数据向选取的一个或多个目标终端发送。
较佳地,对于终端检测单元,它的一种内部结构是包括:
终端接收子单元,用于向连接的目标终端发送语音及/或视频数据包,并接收目标终端返回的响应数据包;及终端计算子单元,用于根据所述终端接收子单元发送语音及/或视频数据包与接收到所述响应数据包之间的时间间隔得出所述数据传输速率。
在本发明实施例中,采用中转服务器对发布终端发出的语音及/或视频数据进行转发,其减轻了发布终端向多个目标终端转发数据的压力,利用中转服务器较大的带宽来保证即时通讯数据传输质量,同时对于没有与该中转服务器连接的终端,能够利用中转服务器之间属于局域网内的中转操作使语音及/或视频数据到达这些终端。为了减轻中转服务器的带宽压力,发出语音及/或视频数据的终端也可以将语音及/或视频数据直接发送至其他终端。通过检测终端之间的连接速率以及语音及/或视频数据传输成功率,能够适当分配接收语音及/或视频数据的终端,使网络的带宽能够合理利用,从而进一步保证语音的传输质量。此外,终端装置在收到语音及/或视频数据后,能够根据网络带宽选择向其他终端转发语音及/或视频数据,从而扩大了语音及/或视频数据的传播范围,适用于例如会议等参与人数较多且人数不固定的应用场合。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (30)
1、一种互联网即时通讯数据传输方法,其特征在于,包括:
发布终端向中转服务器发送语音及/或视频数据和中转信息,所述中转信息用于指定接收所述语音及/或视频数据的多个目标终端;
所述中转服务器根据所述中转信息将所述语音及/或视频数据向所述多个目标终端发送。
2、根据权利要求1所述的方法,其特征在于,所述中转服务器根据所述中转信息将所述语音及/或视频数据向所述多个目标终端发送,包括:
中转服务器通过终端连接列表来确定与其连接的终端,该终端连接列表中记录与该中转服务器连接的终端的标识信息;
当中转信息中指定的目标终端与中转服务器连接时,将语音及/或视频数据发送至该目标终端。
3、根据权利要求1所述的方法,其特征在于,所述中转服务器根据所述中转信息将所述语音及/或视频数据向所述多个目标终端发送,包括:
当所述中转信息中指定的目标终端未与所述中转服务器连接时,所述中转服务器查找与所述目标终端连接的其他中转服务器,并将所述语音及/或视频数据和所述中转信息发送至所述其他中转服务器,所述其他中转服务器根据所述中转信息将所述语音及/或视频数据向所述目标终端传输。
4、根据权利要求3所述的方法,其特征在于,所述查找与所述目标终端连接的其他中转服务器包括:
中转服务器通过终端路由列表来确定到达未与自身连接的终端的路径,该终端路由列表中记录通过其他中转服务器所能到达的终端的标识信息。
5、根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
所述发布终端直接向一个或多个目标终端发送语音及/或视频数据。
6、根据权利要求5所述的方法,其特征在于,所述方法进一步包括:
所述发布终端将除去自身已直接发送了数据的目标终端以外的需接收语音及/或视频数据的目标终端列入中转信息。
7、根据权利要求5或6所述的方法,其特征在于,所述发布终端直接向一个或多个目标终端发送语音及/或视频数据包括:
发布终端检测与连接的目标终端之间的数据传输速率,按该速率由高到低选取一个或多个目标终端;
发布终端向选取的一个或多个目标终端发送语音及/或视频数据。
8、根据权利要求7所述的方法,其特征在于,所述发布终端检测与连接的目标终端之间的数据传输速率包括:
发布终端向连接的目标终端发送语音及/或视频数据包;
所述连接的目标终端收到所述语音及/或视频数据包之后向发布终端发送响应数据包;
发布终端根据发送所述语音及/或视频数据包与接收到所述响应数据包之间的时间间隔得出所述数据传输速率。
9、根据权利要求7所述的方法,其特征在于:
所述发布终端向所述的至少一个终端发送语音及/或视频数据之前进一步包括:发布终端采集语音及/或视频信号并进行编码;
所述发布终端向所述一个或多个目标终端发送语音及/或视频数据包括:
发布终端检测与连接的目标终端之间的数据包传输成功率;
若所述成功率低于设定的阈值范围,则提高所述编码的压缩率,然后向所述连接的终端发送语音及/或视频数据。
10、根据权利要求7所述的方法,其特征在于,所述发布终端直接向所述一个或多个目标终端发送语音及/或视频数据包括:
所述发布终端判断自身网络带宽是否大于设定的阈值,若是,则向所述一个或多个目标终端发送语音及/或视频数据。
11、一种互联网即时通讯数据传输系统,其特征在于,包括:
发布模块,用于发送语音及/或视频数据和中转信息,所述中转信息用于指定接收所述语音及/或视频数据的多个目标终端;
中转模块,用于根据所述中转信息将所述语音及/或视频数据向所述多个目标终端发送。
12、根据权利要求11所述的系统,其特征在于,所述中转模块包括:
判断单元,用于通过终端连接列表来确定与其连接的终端,该终端连接列表中记录与该中转模块连接的终端的标识信息;
第一发送单元,用于当中转信息中指定的目标终端与中转模块连接时,将语音及/或视频数据发送至该与中转模块连接的目标终端。
13、根据权利要求11所述的系统,其特征在于,所述中转模块包括:
查找单元,用于当所述中转信息中指定的目标终端未与所述中转模块连接时,查找与所述目标终端连接的其他中转模块;
第二发送单元,用于将所述语音及/或视频数据和所述中转信息发送至所述其他中转模块。
14、根据权利要求13所述的系统,其特征在于,所述查找单元包括:
存储子单元,用于存储终端路由列表,该终端路由列表中记录通过其他中转模块所能到达的终端的标识信息;
查询子单元,用于通过终端路由列表来确定到达未与自身连接的终端的路径。
15、根据权利要求11所述的系统,其特征在于,还包括:
直接发送模块,用于直接向一个或多个目标终端发送语音及/或视频数据。
16、根据权利要求15所述的系统,其特征在于,还包括:
中转信息确认模块,用于将除去自身已直接发送了数据的目标终端以外的需接收语音及/或视频数据的目标终端列入中转信息。
17、根据权利要求15或16所述的系统,其特征在于,所述直接发送模块包括:
检测单元,用于检测所述装置与连接的目标终端之间的数据传输速率;
选取单元,用于按速率由高到低选取设定数目的目标终端;
第三发送单元,用于将所述语音及/或视频数据向选取的一个或多个目标终端发送。
18、根据权利要求17所述的系统,其特征在于,所述检测单元包括:
接收子单元,用于向连接的目标终端发送语音及/或视频数据包,并接收目标终端返回的响应数据包;
计算子单元,用于根据所述接收子单元发送语音及/或视频数据包与接收到所述响应数据包之间的时间间隔得出所述数据传输速率。
19、根据权利要求17所述的系统,其特征在于,还包括:
编码模块,用于采集语音及/或视频信号并进行编码;
测试模块,用于检测与连接的目标终端之间的数据包传输成功率,若所述成功率低于设定的阈值范围,则提高所述编码的压缩率,然后向所述连接的终端发送语音及/或视频数据。
20、根据权利要求17所述的系统,其特征在于,所述直接发送模块进一步用于:
判断自身网络带宽是否大于设定的阈值,若是,则向所述一个或多个目标终端发送语音及/或视频数据。
21、根据权利要求11、12、13、14、15、16、18、19或20项所述的系统,其特征在于:
所述发布模块位于发布终端;
所述中转模块位于中转服务器。
22、一种互联网即时通讯数据传输系统,其特征在于,包括:
发布装置及多个终端,其中:
所述发布装置用于发送语音及/或视频数据和中转信息,所述中转信息用于指定接收所述语音及/或视频数据的所述多个终端;
所述多个终端中的每个终端包括终端接收模块及/或终端中转模块,其中:
终端接收模块,用于接收所述语音及/或视频数据和中转信息;
终端中转模块,用于根据所述中转信息将所述语音及/或视频数据向所述多个终端发送。
23、一种互联网中转服务器,其特征在于,包括:
服务器接收模块,用于接收语音及/或视频数据和中转信息,所述中转信息用于指定接收所述语音及/或视频数据的多个目标终端;
服务器中转模块,用于根据中转信息确定目标终端,并将所述语音及/或视频数据向所确定的多个目标终端发送。
24、如权利要求23所述的服务器,其特征在于,所述服务器中转模块包括:
服务器判断单元,用于通过终端连接列表来确定与其连接的终端,该终端连接列表中记录与该中转服务器连接的终端的标识信息;
服务器第一发送单元,用于当中转信息中指定的目标终端与中转服务器连接时,将所述语音及/或视频数据向所述连接的目标终端发送。
25、如权利要求23所述的服务器,其特征在于,所述服务器中转模块包括:
服务器查找单元,用于当所述中转信息中指定的目标终端未与所述中转服务器连接时,查找与所述目标终端连接的其他中转服务器;
服务器第二发送单元,用于将所述语音及/或视频数据和所述中转信息发送至所述其他中转服务器。
26、如权利要求25所述的服务器,其特征在于,所述服务器查找单元包括:
服务器存储子单元,用于存储终端路由列表,该终端路由列表中记录通过其他中转服务器所能到达的目标终端的标识信息;
服务器查询子单元,用于通过终端路由列表来确定到达未与自身连接的目标终端的路径。
27、一种即时通讯数据发布终端,其特征在于,包括:
终端第一发送模块,用于向中转服务器发送语音及/或视频数据;
终端第二发送模块,用于向中转服务器发送中转信息,所述中转信息用于指定接收所述语音及/或视频数据的多个目标终端。
28、如权利要求27所述的终端,其特征在于,进一步包括:
终端第三发送模块,用于直接向与所述装置连接的一个或多个目标终端发送语音及/或视频数据。
29、如权利要求28所述的终端,其特征在于,所述终端第三发送模块包括:
终端检测单元,用于检测所述装置与连接的目标终端之间的数据传输速率;
终端选取单元,用于按速率由高到低选取设定数目的目标终端;
终端发送单元,用于将所述语音及/或视频数据向选取的一个或多个目标终端发送。
30、如权利要求29所述的终端,其特征在于,所述终端检测单元包括:
终端接收子单元,用于向连接的目标终端发送语音及/或视频数据包,并接收目标终端返回的响应数据包;
终端计算子单元,用于根据所述终端接收子单元发送语音及/或视频数据包与接收到所述响应数据包之间的时间间隔得出所述数据传输速率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008101858387A CN101420390A (zh) | 2008-12-18 | 2008-12-18 | 互联网即时通讯数据的传输方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008101858387A CN101420390A (zh) | 2008-12-18 | 2008-12-18 | 互联网即时通讯数据的传输方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101420390A true CN101420390A (zh) | 2009-04-29 |
Family
ID=40631003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008101858387A Pending CN101420390A (zh) | 2008-12-18 | 2008-12-18 | 互联网即时通讯数据的传输方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101420390A (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546194A (zh) * | 2010-12-24 | 2012-07-04 | 联想(北京)有限公司 | 显示数据处理方法、系统及服务器 |
CN102647576A (zh) * | 2011-02-22 | 2012-08-22 | 中兴通讯股份有限公司 | 视频交互方法及系统 |
CN103024212A (zh) * | 2012-12-04 | 2013-04-03 | 中国软件与技术服务股份有限公司 | 提供语音服务的方法、终端及系统 |
CN103780621A (zh) * | 2014-01-23 | 2014-05-07 | 深圳联友科技有限公司 | 一种远程桌面共享方法及系统 |
CN103841141A (zh) * | 2012-11-23 | 2014-06-04 | 腾讯科技(深圳)有限公司 | 一种多媒体通信系统和方法 |
WO2015010556A1 (en) * | 2013-07-22 | 2015-01-29 | Tencent Technology (Shenzhen) Company Limited | Methods,devices,and systems for controlling audio and video transmission channel |
CN104426954A (zh) * | 2013-08-28 | 2015-03-18 | 北大方正集团有限公司 | 数据传输方法及智能转发设备 |
CN105208065A (zh) * | 2014-06-24 | 2015-12-30 | 腾讯科技(深圳)有限公司 | 文件发送方法及装置 |
CN105357465A (zh) * | 2015-11-17 | 2016-02-24 | 贵阳朗玛信息技术股份有限公司 | 一种实现视频通话的方法及视频中继服务器 |
CN105763632A (zh) * | 2016-04-12 | 2016-07-13 | 刘健文 | 一种在多个客户端之间传输文件的文件传输方法 |
CN105933202A (zh) * | 2016-04-13 | 2016-09-07 | 郑州悉知信息科技股份有限公司 | 一种消息处理方法及装置 |
CN107517395A (zh) * | 2017-10-10 | 2017-12-26 | 成都学知乐科技有限公司 | 基于远程视频技术的在线教学方法 |
CN107613263A (zh) * | 2017-10-10 | 2018-01-19 | 成都学知乐科技有限公司 | 一种便于随时使用的远程学习系统 |
WO2019144653A1 (zh) * | 2018-01-25 | 2019-08-01 | 中兴通讯股份有限公司 | 融合设备媒体控制方法、装置及通信终端 |
CN111158726A (zh) * | 2019-12-31 | 2020-05-15 | 重庆菲莫科技有限公司 | 一种煤矿终端数据更新方法及系统 |
CN111866440A (zh) * | 2020-07-29 | 2020-10-30 | 全时云商务服务股份有限公司 | 一种推送视频数据方法、装置、设备及存储介质 |
-
2008
- 2008-12-18 CN CNA2008101858387A patent/CN101420390A/zh active Pending
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546194A (zh) * | 2010-12-24 | 2012-07-04 | 联想(北京)有限公司 | 显示数据处理方法、系统及服务器 |
CN102647576A (zh) * | 2011-02-22 | 2012-08-22 | 中兴通讯股份有限公司 | 视频交互方法及系统 |
WO2012113303A1 (zh) * | 2011-02-22 | 2012-08-30 | 中兴通讯股份有限公司 | 视频交互方法及系统 |
CN103841141A (zh) * | 2012-11-23 | 2014-06-04 | 腾讯科技(深圳)有限公司 | 一种多媒体通信系统和方法 |
CN103841141B (zh) * | 2012-11-23 | 2018-12-11 | 腾讯科技(深圳)有限公司 | 一种多媒体通信系统和方法 |
CN103024212B (zh) * | 2012-12-04 | 2016-03-09 | 中国软件与技术服务股份有限公司 | 提供语音服务的方法、终端及系统 |
CN103024212A (zh) * | 2012-12-04 | 2013-04-03 | 中国软件与技术服务股份有限公司 | 提供语音服务的方法、终端及系统 |
WO2015010556A1 (en) * | 2013-07-22 | 2015-01-29 | Tencent Technology (Shenzhen) Company Limited | Methods,devices,and systems for controlling audio and video transmission channel |
CN104426954A (zh) * | 2013-08-28 | 2015-03-18 | 北大方正集团有限公司 | 数据传输方法及智能转发设备 |
CN104426954B (zh) * | 2013-08-28 | 2017-12-19 | 北大方正集团有限公司 | 数据传输方法及智能转发设备 |
CN103780621A (zh) * | 2014-01-23 | 2014-05-07 | 深圳联友科技有限公司 | 一种远程桌面共享方法及系统 |
CN103780621B (zh) * | 2014-01-23 | 2019-05-24 | 深圳联友科技有限公司 | 一种远程桌面共享方法及系统 |
CN105208065A (zh) * | 2014-06-24 | 2015-12-30 | 腾讯科技(深圳)有限公司 | 文件发送方法及装置 |
CN105357465A (zh) * | 2015-11-17 | 2016-02-24 | 贵阳朗玛信息技术股份有限公司 | 一种实现视频通话的方法及视频中继服务器 |
CN105763632A (zh) * | 2016-04-12 | 2016-07-13 | 刘健文 | 一种在多个客户端之间传输文件的文件传输方法 |
CN105933202A (zh) * | 2016-04-13 | 2016-09-07 | 郑州悉知信息科技股份有限公司 | 一种消息处理方法及装置 |
CN107517395A (zh) * | 2017-10-10 | 2017-12-26 | 成都学知乐科技有限公司 | 基于远程视频技术的在线教学方法 |
CN107613263A (zh) * | 2017-10-10 | 2018-01-19 | 成都学知乐科技有限公司 | 一种便于随时使用的远程学习系统 |
WO2019144653A1 (zh) * | 2018-01-25 | 2019-08-01 | 中兴通讯股份有限公司 | 融合设备媒体控制方法、装置及通信终端 |
CN110086748A (zh) * | 2018-01-25 | 2019-08-02 | 中兴通讯股份有限公司 | 融合设备媒体控制方法、装置及通信终端 |
CN111158726A (zh) * | 2019-12-31 | 2020-05-15 | 重庆菲莫科技有限公司 | 一种煤矿终端数据更新方法及系统 |
CN111866440A (zh) * | 2020-07-29 | 2020-10-30 | 全时云商务服务股份有限公司 | 一种推送视频数据方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101420390A (zh) | 互联网即时通讯数据的传输方法、装置及系统 | |
CN109068186B (zh) | 丢包率的处理方法和装置 | |
US9462018B2 (en) | Multiway peer-to-peer media streaming | |
CN101707686A (zh) | 一种移动终端之间共享视频的方法及系统 | |
CN102150443A (zh) | 用于在即时消息用户和短消息服务用户之间进行通信的系统和方法 | |
US8472338B2 (en) | Efficient transmission of data to multiple network nodes | |
CN102185856B (zh) | 组队游戏中组队视频方法、装置及系统 | |
CN104620611A (zh) | 消息传递服务活跃设备 | |
CN103929349A (zh) | 一种添加即时消息联系人的方法、装置和系统 | |
CN102594672A (zh) | 适用于低可靠网络环境下高质量互联网通讯的方法及系统 | |
CN103220258A (zh) | 会议混音方法、终端和媒体资源服务器 | |
US20150002618A1 (en) | Collaboration extension system | |
CN101459615A (zh) | 一种传输报文的方法、端口和系统 | |
US9826009B2 (en) | Balance management of scalability and server loadability for internet protocol (IP) audio conference based upon monitored resource consumption | |
CN101626546A (zh) | 一种无线视频会议中实现数据广播的方法及系统 | |
CN103428070A (zh) | 即时群体通信方法、会话管理服务器及客户端 | |
CN102957729A (zh) | 一种多媒体会议音视频传输方法及设备 | |
CN105634931B (zh) | 消息业务处理方法及即时通讯服务器 | |
US20140073301A1 (en) | Method and apparatus for conferencing of text messages | |
CN107995201B (zh) | 数据的传输方法及装置、服务器及存储介质 | |
CN101557352B (zh) | 一种实现群组消息业务的方法和系统 | |
CN105049221B (zh) | 通过路由设备实现终端装置接收会议共享信息的方法及系统 | |
CN100388781C (zh) | 会议延时方法 | |
CN101904152B (zh) | 通信方法、设备和装置 | |
CN106507215A (zh) | 一种采用域服务支持网状结构的视频流传输方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20090429 |