CN103188132A - 基于内容分发网络的即时通讯方法及系统 - Google Patents
基于内容分发网络的即时通讯方法及系统 Download PDFInfo
- Publication number
- CN103188132A CN103188132A CN2011104522280A CN201110452228A CN103188132A CN 103188132 A CN103188132 A CN 103188132A CN 2011104522280 A CN2011104522280 A CN 2011104522280A CN 201110452228 A CN201110452228 A CN 201110452228A CN 103188132 A CN103188132 A CN 103188132A
- Authority
- CN
- China
- Prior art keywords
- access point
- data
- instant communication
- cdn
- communication client
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了基于内容分发网络CDN的即时通讯方法及系统,其中,该方法包括:进行即时通讯的各即时通讯客户端探测CDN中的最近接入点,分别接入最近接入点,向最近接入点发送上传数据,所述上传数据包含通讯数据和目标客户标识;最近接入点将上传数据转发给连接有目标客户标识所对应即时通讯客户端的目标接入点;目标接入点将上传数据中的通讯数据下发给目标客户标识对应的即时通讯客户端。本发明方案能够减少即时通讯所占用的带宽,提高通讯质量。
Description
技术领域
本发明涉及即时通讯技术,尤其涉及基于内容分发网络(CDN,ContentDelivery Network)的即时通讯方法及系统。
背景技术
这里以即时通讯客户端A与即时通讯客户端B之间的即时通讯为例,对现有即时通讯方案进行说明。即时通讯客户端A登录即时通讯服务器,获知即时通讯客户端B在线,向即时通讯服务器发起与即时通讯客户端B进行通讯的请求;即时通讯服务器接收请求后将即时通讯客户端B的IP地址发送给即时通讯客户端A,并将即时通讯客户端A的IP地址发送给即时通讯客户端B;即时通讯客户端A和即时通讯客户端B根据对方的IP地址找到两者之间最快的通讯链路,两者通过找到的该通讯链路直接进行数据传输。
上述为两个即时通讯客户端之间的即时通讯,多个即时通讯客户端之间的即时通讯与之类似,进行即时通讯的多个即时通讯客户端两两之间建立最快的通讯链路,分别进行数据传输;这里假设涉及的即时通讯客户端包括即时通讯客户端A、即时通讯客户端B、即时通讯客户端C、即时通讯客户端D和即时通讯客户端E,对于即时通讯客户端A,当即时通讯客户端A需要上传通讯数据时,将通讯数据复制5份,分别通过与各即时通讯客户端之间的链路,将数据传送给相应的即时通讯客户端;多份通讯数据将占用非对称数字用户环路(ADSL,Asymmetric Digital Subscriber Line)中较大的带宽量。如果即时通讯人数较多,对网络的上行带宽要求较高,而现有的ADSL带宽技术难以支撑。
并且,由于各即时通讯客户端使用不同运营商提供的网络进行数据传输,如某些采用电信网络,某些采用联通网络,不同网络的通信质量存在差异,影响了通讯质量。
现有技术中一般只支持两个用户之间的视频聊天,以及最多6个用户之间的语音聊天。假设要支持即时通讯客户端A、即时通讯客户端B、即时通讯客户端C三者的视频聊天,为了保障即时通讯客户端之间的数据传输质量,使用户之间能够流畅的聊天,要求A、B、C三个即时通讯客户端使用的网络质量非常高,且需要占用较大的带宽,由于通讯质量的限制,目前还没能提供更多人数的语音、视频聊天的功能。
可见,对于多人即时通讯的情况,现有的即时通讯方案存在占用较大带宽、通讯质量较差的缺陷。
发明内容
本发明提供了一种基于CDN的即时通讯方法,该方法能够减少即时通讯所占用的带宽,提高通讯质量。
本发明还提供了一种基于CDN的即时通讯系统,该系统能够减少即时通讯所占用的带宽,提高通讯质量。
本发明还提供了一种即时通讯客户端,该即时通讯客户端能够减少即时通讯所占用的带宽,提高通讯质量。
一种基于CDN的即时通讯方法,该方法包括:
进行即时通讯的各即时通讯客户端探测CDN中的最近接入点,分别接入最近接入点,向最近接入点发送上传数据,所述上传数据包含通讯数据和目标客户标识;
最近接入点将上传数据转发给连接有目标客户标识所对应即时通讯客户端的目标接入点;
目标接入点将上传数据中的通讯数据下发给目标客户标识对应的即时通讯客户端。
一种基于CDN的即时通讯系统,该系统包括进行即时通讯的各即时通讯客户端,以及CDN包含的各接入点;
所述即时通讯客户端,用于探测CDN中的最近接入点,接入最近接入点,向最近接入点发送上传数据,所述上传数据包含通讯数据和目标客户标识;
所述最近接入点,用于将上传数据转发给连接有目标客户标识所对应即时通讯客户端的目标接入点;
所述目标接入点,用于将上传数据中的通讯数据下发给目标客户标识对应的即时通讯客户端。
一种即时通讯客户端,该即时通讯客户端包括探测单元、上传数据发送单元和通讯数据接收单元;
所述探测单元,用于探测CDN中的最近接入点,接入最近接入点,向所述上传数据发送单元发送启动指令;
所述上传数据发送单元,用于在接收启动指令后,向最近接入点发送上传数据,所述上传数据包含通讯数据和目标客户标识;
所述通讯数据接收单元,用于接收所述最近接入点下发的通讯数据。
从上述方案可以看出,本发明中,进行即时通讯的即时通讯客户端仅与CDN网络中的最近接入点进行数据传输,对于多人即时通讯的情况,将一份上传数据发送给最近接入点,再由最近接入点通过CDN转发给目标即时通讯客户端;这样,即时通讯客户端无需进行数据备份,不存在将多份数据同时发送给多个即时通讯客户端而引起的占用较多带宽的缺陷,减少了即时通讯所占用的带宽。
并且,各即时通讯客户端都通过CDN网络进行数据传输,不存在因为各即时通讯客户端使用的网络存在差异而引起通信质量的问题,进而,提高了通讯质量。
附图说明
图1为本发明基于CDN的即时通讯方法示意性流程图;
图2为本发明进行最近接入点寻找的示意图实例;
图3为本发明即时通讯客户端接入最近接入点的示意图实例;
图4为本发明即时通讯客户端通过最近接入点进行即时通讯的示意图实例。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明进一步详细说明。
本发明中,进行即时通讯的即时通讯客户端仅与CDN网络中的最近接入点进行数据传输,并不直接与其他即时通讯客户端进行通讯。参见图1,为本发明基于CDN的即时通讯方法示意性流程图,其包括以下步骤:
步骤101,进行即时通讯的各即时通讯客户端探测CDN中的最近接入点,分别接入最近接入点。
预先地,即时通讯客户端登录即时通讯服务器,获知在线的好友客户信息,从在线好友客户中选择进行即时通讯的目标客户;而后执行步骤101进行最近接入点探测。
本步骤所述探测CDN中的最近接入点包括:根据CDN节点序列表,同时向CDN中各接入点发送探测包,接收响应包,计算接收响应包时刻与发送探测包时刻之间的延迟间隔;比较各接入点的延迟间隔,将延迟间隔最短的接入点作为最近接入点。
CDN包含多个接入点,所述CDN节点序列中包含了CDN中各接入点IP地址,即时通讯客户端按照CDN节点序列表,由各接入点IP地址同时向接入点发送探测包。该探测包可具体为控制报文协议(ICMP,Internet Control MessageProtocol)数据包。
参见图2,为本发明进行最近接入点的寻找示意图实例,本实例中假设CDN包括接入点0、接入点1、接入点2、接入点3和接入点4,且即时通讯客户端A的最近接入点为接入点0。
步骤102,即时通讯客户端向最近接入点发送上传数据,所述上传数据包含通讯数据和目标客户标识。
参见图3,为进行即时通讯的即时通讯客户端向各自最近接入点发送上传数据的示意图实例,其中,即时通讯客户端A、B、C、D、E的最近接入点分别为接入点0、1、2、4、4。
步骤103,最近接入点将上传数据转发给连接有目标客户标识所对应即时通讯客户端的目标接入点。
CDN,是通过在网络各处放置节点服务器所构成的在现有互联网基础之上的一层智能网络,所述节点服务器即前述的接入点。CDN能够实时地根据网络流量和各接入点的连接、负载状况以及接入点到用户的距离等综合信息,将用户的请求导向离目标用户最近的接入点上;其目的是使用户就近取得所需内容,解决网络拥挤的状况,提高用户访问网站的响应速度。
根据CDN的特点,某接入点获知目标接入点信息之后,CDN能为该接入点寻找到与目标接入点之间的链路,而后便可通过该链路与目标接入点之间进行数据传输。CDN为该接入点寻找到与目标接入点之间的链路,有多种方式,包括:CDN为该接入点寻找到与目标接入点之间的最快链路;或者,CDN为该接入点寻找到与目标接入点之间的端对端专用链路,该端到端专用链路中可能有其他接入点进行转接;或者,CDN为该接入点寻找到与目标接入点之间的普通公共通用网络链路;或者,CDN采用自行搭建的加速网络或边界网关协议(BGP,Border Gateway Protocol)设备,转发该接入点与目标接入点之间传输的数据,以建立该接入点与目标接入点之间的链路。
连接有目标客户标识所对应即时通讯客户端的接入点便为目标接入点,CDN知悉各接入点的信息,包括与各接入点连接的即时通讯客户端信息,所述即时通讯客户端信息可表现为采用该即时通讯客户端进行即时通讯的客户的客户标识;CDN获知目标客户标识,便可查询出连接有目标客户标识所对应即时通讯客户端的接入点。最近接入点接收上传数据后,CDN为该最近接入点寻找到与目标接入点之间的链路,而后,最近接入点通过该链路将上传数据发送给目标接入点。
具体实现时,还可以在所述上传数据包含目标接入点标识;步骤101所述各即时通讯客户端探测CDN中的最近接入点之后,该方法还包括:各即时通讯客户端向协商服务器发送各自探测到的最近接入点标识,并从协商服务器获取进行即时通讯的其他即时通讯客户端的最近接入点标识,其他即时通讯客户端的最近接入点标识即目标接入点标识;相应地,本步骤所述最近接入点将上传数据转发给连接有目标客户标识所对应即时通讯客户端的目标接入点为:最近接入点将上传数据转发给目标接入点标识对应的目标接入点。所述协商服务器可具体为即时通讯登录服务器,也可以是独立设置的其他服务器。
参见图4,为进行即时通讯的各即时通讯客户端通过CDN进行数据传输的实例。图中,用户E和用户D在同一个局域网内,即连接到同一个接入点上;如果局域网内带宽充足,可以允许连接到同一个节点的两个即时通讯客户端直接进行数据传输。
步骤104,目标接入点将上传数据中的通讯数据下发给目标客户标识对应的即时通讯客户端。
即时通讯客户端与最近接入点之间可具体采用用户数据包协议(UDP,User Datagram Protocol)进行数据传输。
本发明中,进行即时通讯的即时通讯客户端仅与CDN网络中的最近接入点进行数据传输,并不直接与其他即时通讯客户端进行通讯。对于多人即时通讯的情况,将一份上传数据发送给最近接入点,再由最近接入点通过CDN转发给目标即时通讯客户端。这样,即时通讯客户端无需进行数据备份,不存在将多份数据同时发送给多个即时通讯客户端而引起的占用较多带宽的缺陷,减少了即时通讯所占用的带宽。
并且,各即时通讯客户端都通过CDN网络进行数据传输,不存在因为各即时通讯客户端使用的网络存在差异而引起通信质量的问题,进而,提高了通讯质量。
由于减少了即时通讯所占用的带宽,提高了通讯质量,可在即时通讯中增加3个以上用户的视频通讯功能,以及7人以上的语音通讯功能。这样,本发明方案可应用于3人以上的视频聊天,相应地,步骤102中各即时通讯客户端向最近接入点发送的所述上传数据包括视频数据。
本发明还提供了一种基于CDN的即时通讯系统,该系统包括进行即时通讯的各即时通讯客户端,以及CDN包含的各接入点;
所述即时通讯客户端,用于探测CDN中的最近接入点,接入最近接入点,向最近接入点发送上传数据,所述上传数据包含通讯数据和目标客户标识;
所述最近接入点,用于将上传数据转发给连接有目标客户标识所对应即时通讯客户端的目标接入点;
所述目标接入点,用于将上传数据中的通讯数据下发给目标客户标识对应的即时通讯客户端。
可选地,该即时通讯客户端包括探测单元、上传数据发送单元和通讯数据接收单元;
所述探测单元,用于探测CDN中的最近接入点,接入最近接入点,向所述上传数据发送单元发送启动指令;
所述上传数据发送单元,用于在接收启动指令后,向最近接入点发送上传数据,所述上传数据包含通讯数据和目标客户标识;
所述通讯数据接收单元,用于接收所述最近接入点下发的通讯数据。
可选地,所述探测单元包括探测数据收发子单元和比较子单元;
所述探测数据收发子单元,用于根据CDN节点序列表,向CDN中各接入点发送探测包,接收响应包,计算接收响应包时刻与发送探测包时刻之间的延迟间隔,传送给所述比较子单元;
所述比较子单元,用于比较各接入点的延迟间隔,将延迟间隔最短的接入点作为最近接入点。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种基于内容分发网络CDN的即时通讯方法,其特征在于,该方法包括:
进行即时通讯的各即时通讯客户端探测CDN中的最近接入点,分别接入最近接入点,向最近接入点发送上传数据,所述上传数据包含通讯数据和目标客户标识;
最近接入点将上传数据转发给连接有目标客户标识所对应即时通讯客户端的目标接入点;
目标接入点将上传数据中的通讯数据下发给目标客户标识对应的即时通讯客户端。
2.如权利要求1所述的方法,其特征在于,所述探测CDN中的最近接入点包括:
根据CDN节点序列表,向CDN中各接入点发送探测包,接收响应包,计算接收响应包时刻与发送探测包时刻之间的延迟间隔;
比较各接入点的延迟间隔,将延迟间隔最短的接入点作为最近接入点。
3.如权利要求2述的方法,其特征在于,所述探测包为控制报文协议ICMP数据包。
4.如权利要求1所述的方法,其特征在于,所述上传数据还包含目标接入点标识;
所述各即时通讯客户端探测CDN中的最近接入点之后,该方法还包括:各即时通讯客户端向协商服务器发送各自探测到的最近接入点标识,并从协商服务器获取进行即时通讯的其他即时通讯客户端的最近接入点标识;
所述最近接入点将上传数据转发给连接有目标客户标识所对应即时通讯客户端的目标接入点为:最近接入点将上传数据转发给目标接入点标识对应的目标接入点。
5.如权利要求4的方法,其特征在于,所述协商服务器为即时通讯登录服务器。
6.如权利要求1至5中任一项所述的方法,其特征在于,所述进行即时通讯的各即时通讯客户端探测CDN中的最近接入点之前,该方法还包括:
即时通讯客户端登录即时通讯服务器,选择进行即时通讯的目标即时通讯客户端。
7.如权利要求1至5中任一项所述的方法,其特征在于,进行即时通讯的即时通讯客户端为3个以上,各即时通讯客户端向最近接入点发送的所述上传数据包括视频数据。
8.一种基于CDN的即时通讯系统,其特征在于,该系统包括进行即时通讯的各即时通讯客户端,以及CDN包含的各接入点;
所述即时通讯客户端,用于探测CDN中的最近接入点,接入最近接入点,向最近接入点发送上传数据,所述上传数据包含通讯数据和目标客户标识;
所述最近接入点,用于将上传数据转发给连接有目标客户标识所对应即时通讯客户端的目标接入点;
所述目标接入点,用于将上传数据中的通讯数据下发给目标客户标识对应的即时通讯客户端。
9.一种即时通讯客户端,其特征在于,该即时通讯客户端包括探测单元、上传数据发送单元和通讯数据接收单元;
所述探测单元,用于探测CDN中的最近接入点,接入最近接入点,向所述上传数据发送单元发送启动指令;
所述上传数据发送单元,用于在接收启动指令后,向最近接入点发送上传数据,所述上传数据包含通讯数据和目标客户标识;
所述通讯数据接收单元,用于接收所述最近接入点下发的通讯数据。
10.如权利要求9所述的即时通讯客户端,其特征在于,所述探测单元包括探测数据收发子单元和比较子单元;
所述探测数据收发子单元,用于根据CDN节点序列表,向CDN中各接入点发送探测包,接收响应包,计算接收响应包时刻与发送探测包时刻之间的延迟间隔,传送给所述比较子单元;
所述比较子单元,用于比较各接入点的延迟间隔,将延迟间隔最短的接入点作为最近接入点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110452228.0A CN103188132B (zh) | 2011-12-29 | 2011-12-29 | 基于内容分发网络的即时通讯方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110452228.0A CN103188132B (zh) | 2011-12-29 | 2011-12-29 | 基于内容分发网络的即时通讯方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103188132A true CN103188132A (zh) | 2013-07-03 |
CN103188132B CN103188132B (zh) | 2016-01-20 |
Family
ID=48679103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110452228.0A Active CN103188132B (zh) | 2011-12-29 | 2011-12-29 | 基于内容分发网络的即时通讯方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103188132B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103997693A (zh) * | 2014-06-11 | 2014-08-20 | 北京邮电大学 | 机会网络中面向视频投递质量优化的激励方法 |
CN104967642A (zh) * | 2014-08-21 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 内容分发方法及装置 |
CN105245578A (zh) * | 2015-09-11 | 2016-01-13 | 北京金山安全软件有限公司 | 一种上传数据的方法、数据上传系统及数据上传装置 |
CN105763827A (zh) * | 2014-12-16 | 2016-07-13 | 深圳市腾讯计算机系统有限公司 | 音视频通话方法、装置及系统 |
CN108600088A (zh) * | 2018-04-16 | 2018-09-28 | 成都医云科技有限公司 | 数据处理方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101652968A (zh) * | 2007-01-31 | 2010-02-17 | 先进技术控股公司 | 混合有线和无线通用接入网 |
CN101677324A (zh) * | 2008-09-17 | 2010-03-24 | 华为技术有限公司 | 业务管理方法、终端、网络系统及相关设备 |
US20110145317A1 (en) * | 2009-12-15 | 2011-06-16 | At&T Intellectual Property I, L.P. | Data routing in a content distribution network for mobility delivery |
-
2011
- 2011-12-29 CN CN201110452228.0A patent/CN103188132B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101652968A (zh) * | 2007-01-31 | 2010-02-17 | 先进技术控股公司 | 混合有线和无线通用接入网 |
CN101677324A (zh) * | 2008-09-17 | 2010-03-24 | 华为技术有限公司 | 业务管理方法、终端、网络系统及相关设备 |
US20110145317A1 (en) * | 2009-12-15 | 2011-06-16 | At&T Intellectual Property I, L.P. | Data routing in a content distribution network for mobility delivery |
Non-Patent Citations (1)
Title |
---|
刘孝国等: "CDN技术在即时通信系统服务器端设计中的应用", 《实验室科学》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103997693A (zh) * | 2014-06-11 | 2014-08-20 | 北京邮电大学 | 机会网络中面向视频投递质量优化的激励方法 |
CN103997693B (zh) * | 2014-06-11 | 2017-06-16 | 北京邮电大学 | 机会网络中面向视频投递质量优化的激励方法 |
CN104967642A (zh) * | 2014-08-21 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 内容分发方法及装置 |
CN104967642B (zh) * | 2014-08-21 | 2019-02-12 | 腾讯科技(深圳)有限公司 | 内容分发方法及装置 |
CN105763827A (zh) * | 2014-12-16 | 2016-07-13 | 深圳市腾讯计算机系统有限公司 | 音视频通话方法、装置及系统 |
CN105763827B (zh) * | 2014-12-16 | 2019-09-03 | 深圳市腾讯计算机系统有限公司 | 音视频通话方法、装置及系统 |
CN105245578A (zh) * | 2015-09-11 | 2016-01-13 | 北京金山安全软件有限公司 | 一种上传数据的方法、数据上传系统及数据上传装置 |
CN105245578B (zh) * | 2015-09-11 | 2019-06-07 | 北京金山安全软件有限公司 | 一种上传数据的方法、数据上传系统及数据上传装置 |
CN108600088A (zh) * | 2018-04-16 | 2018-09-28 | 成都医云科技有限公司 | 数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103188132B (zh) | 2016-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2154821B1 (en) | Method and apparatus for sending and receiving multicast packets | |
JP4292890B2 (ja) | マルチキャスト配信方法、配信装置およびシステム | |
US8280989B2 (en) | Method, system and apparatus for provisioning a communication client | |
US20100088427A1 (en) | Selective Routing of Data Transmission Between Clients | |
EP1704686B1 (en) | Directed pppoe session initiation over a switched ethernet | |
US20120076009A1 (en) | Shared wi-fi / wireless broadband access | |
US20120236739A1 (en) | Network device, and multi-wide area network interface selection module and method | |
WO2013076638A1 (en) | Improved replication management for remote multicast replication network | |
WO2013040970A1 (zh) | 中继节点选择方法及装置 | |
WO2012065531A1 (zh) | 实现中继选择的方法及装置、系统 | |
CN103188132B (zh) | 基于内容分发网络的即时通讯方法及系统 | |
US11032122B2 (en) | Multicast delay diagnosis method and apparatus | |
US8619777B2 (en) | Admission control for receiving traffic at hosts | |
JP5011433B2 (ja) | 他のペアの近傍にあるペアグループを決定する方法、関連するサーバ及び解析装置 | |
KR20120057172A (ko) | 무선 접속장치, l2 스위치 및 이를 이용한 멀티캐스트 핸드오버 지원방법 | |
EP3402120A2 (en) | Methods, apparatuses and computer-readable mediums for managing multicast channels in access networks | |
CN108965428A (zh) | 直播数据的传输方法、装置、电子设备、系统 | |
US20100064182A1 (en) | Communication system | |
US20040054781A1 (en) | Method for establishing point to point or point to multiple points internet connection(s) | |
CN110545213A (zh) | 计算机网络数据流量监测系统及方法 | |
TWI581624B (zh) | 串流服務系統、串流服務方法以及串流服務控制裝置 | |
US9154333B2 (en) | Balanced management of scalability and server loadability for internet protocol (IP) audio conferencing based upon monitored resource consumption | |
KR101445047B1 (ko) | 토폴로지 서버의 지원으로 통신 아키텍처에 분산된 노드의 네트워크에 대한 기밀 또는 보호 액세스 | |
JP3682439B2 (ja) | データ通信システム及び方法、サーバ装置、クライアント装置、並びにプログラム | |
CN114285788A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |