一种数据传输方法及装置的制造方法
【专利摘要】本发明实施例提供一种数据传输方法及装置,方法为,分别获取任意一业务对应的第一通信链路目的设备端口号和第二通信链路目的设备端口号;分别获取第一通信链路的第一链路质量参数和第二通信链路的第二链路质量参数;根据第一链路质量参数和第二链路质量参数,从第一通信链路和第二通信链路中选择链路质量最优的通信链路;将选择的通信链路目的设备端口号发送至第一CDN节点;第一CDN节点在进行任意一业务时,通过确定的目的设备端口号对应的通信链路传输数据。采用本发明实施例技术方案,每一个目的设备的端口号为固定值,因此,通过目的设备的端口号区分不同通信链路,无须维护IP地址,有效降低了CDN节点的负担,以及系统负担。
【专利说明】
一种数据传输方法及装置
技术领域
[0001]本发明实施例涉及通信技术领域,尤其涉及一种传输方法及装置。
【背景技术】
[0002]在⑶N(Content Delivery Network ;内容分发网络)节点之间通过网络进行信息传输的过程中,所采用的协议为TCP (Transmiss1n Control Protocol ;传输控制协议)。由于不同CDN节点之间通信链路的通信质量存在差异,为了保证CDN节点之间数据的正常传输,在⑶N节点之间建立基于UDP(User Datagram Protocol ;用户数据传输协议)的通信链路,使不同CDN节点之间的数据既可以通过TCP链路进行传输,也可以通过UDP链路进行传输,从而保证了数据传输的可靠性。
[0003]基于上述TCP链路以及UDP链路,通过预设的IP (Internet Protocol)地址-链路标识配置表,进行通信链路的选择;其中,所述IP地址-链路标识配置表中包含每一个设备的IP地址与通信链路标识之间的对应关系。具体的,第一 CDN节点中存在一维护设备维护IP地址-链路标识配置表,当一个⑶N节点(以下称为第一⑶N节点)中存在任意一源设备需要与另一 CDN节点(以下称为第二 CDN节点)中的目的设备进行数据传输时,维护设备即从需要传输的数据中确定目的设备的目的IP地址,并从所述IP地址-链路标识配置表中查找所述目的IP地址对应的通信链路标识;并通过查找到的通信链路标识指示的通信链路,传输所述数据。
[0004]由于第一CDN节点中的各个设备可能与大量的其他CDN节点中的设备存在数据传输行为,因此,第一 CDN节点中的维护设备需要维护大量的IP地址和通信链路标识之间的对应关系,增加了 CDN节点的负担;并且,由于IP地址-链路标识配置表中仅保存静态的IP地址和链路标识配置表之间的对应关系,当查找到的通信链路标识指示的通信链路当前时刻通信质量不佳时,待传输的数据仍需要从查找到的通信链路标识指示的通信链路中传输,从而造成通信链路拥堵,数据传输效率低的问题。
[0005]由此可见,采用上述技术方案进行数据传输时,⑶N节点需要维护大量的IP地址和通信链路标识的对应关系,从而造成CDN节点负担重,系统维护困难,以及数据传输效率低的问题。
【发明内容】
[0006]本发明实施例提供一种数据传输方法及装置,用以解决目前在数据传输过程中,存在CDN节点负担重,系统维护困难,以及数据传输效率低的问题。
[0007]本发明实施例提供的具体技术方案如下:
[0008]本发明实施例提供一种数据传输方法,应用于内容分发网络,包括:
[0009]分别获取任意一业务对应的第一通信链路目的设备端口号和第二通信链路目的设备端口号;其中,所述第一通信链路为TCP链路,所述第二通信链路为UDP链路;
[0010]分别获取所述第一通信链路的第一链路质量参数和所述第二通信链路的第二链路质量参数;
[0011]根据所述第一链路质量参数和第二链路质量参数,从所述第一通信链路和所述第二通信链路中选择链路质量最优的通信链路;
[0012]将选择的通信链路目的设备端口号发送至第一⑶N节点,通知所述第一⑶N节点在进行所述任意一业务时,通过选取的所述目的设备端口号对应的通信链路传输数据。
[0013]本发明实施例提供一种数据传输装置,包括:
[0014]端口号获取单元,用于分别获取任意一业务对应的第一通信链路目的设备端口号和第二通信链路目的设备端口号;其中,所述第一通信链路为TCP链路,所述第二通信链路为UDP链路;
[0015]链路质量参数获取单元,用于分别获取所述第一通信链路的第一链路质量参数和所述第二通信链路的第二链路质量参数;
[0016]选择单元,用于根据所述第一链路质量参数和第二链路质量参数,从所述第一通信链路和所述第二通信链路中选择链路质量最优的通信链路;
[0017]发送单元,用于将选择的通信链路目的设备端口号发送至第一⑶N节点;以通知所述第一 CDN节点在进行所述任意一业务时,通过选取的所述目的设备端口号对应的通信链路传输数据。
[0018]本发明实施例中,分别获取任意一业务对应的第一通信链路目的设备端口号和第二通信链路目的设备端口号;其中,所述第一通信链路为TCP链路,所述第二通信链路为UDP链路;分别获取所述第一通信链路的第一链路质量参数和所述第二通信链路的第二链路质量参数;根据所述第一链路质量参数和第二链路质量参数,从所述第一通信链路和所述第二通信链路中选择链路质量最优的通信链路;将选择的通信链路目的设备端口号发送至第一⑶N节点;通知所述第一⑶N节点在进行所述任意一业务时,通过选取的所述目的设备端口号对应的通信链路传输数据。采用本发明实施例技术方案,由于目的设备的端口号为固定值,因此,CDN节点在数据传输过程中,通过目的设备的端口号区分不同通信链路,无须在本地维护IP地址-链路标识配置表,有效降低了 CDN节点的负担,降低了系统维护难度;并且,实时判断不同通信链路的通信质量,选择通信质量更优的通信链路进行数据传输,避免了通信链路拥堵问题,有效提高了数据传输效率。
【附图说明】
[0019]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0020]图1为本发明实施例中通信系统结构示意图;
[0021]图2为本发明实施例中数据传输流程图;
[0022]图3为本发明实施例中数据传输装置结构示意图。
【具体实施方式】
[0023]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0024]参阅图1所示,为本发明实施例中通信系统架构示意图,该通信系统包含多个CDN节点,每一个⑶N节点均包含至少一个设备,且不同⑶N节点之间通过TCP链路或者UDP链路进行信息交互。本发明实施例中,仅以通信系统中包含第一 CDN节点和第二 CDN节点,且第一⑶N节点和第二⑶N节点之间进行信息交互的过程,第一⑶N节点和第二⑶N节点之间既建立TCP链路,又建立UDP链路为例,介绍数据传输过程。
[0025]可选的,上述第一⑶N节点或者第二⑶N节点的任意一设备中安装有一具备链路选择功能的装置,用于从TCP链路和UDP链路中选择一条通信链路进行数据传输;或者,在第一⑶N节点或者第二⑶N节点中设置代理服务器,该代理服务器用于从TCP链路和UDP链路中选择一条通信链路进行数据传输。以下以第一 CDN节点或者第二 CDN节点中包含代理服务器为例,详细介绍数据传输过程。
[0026]下面结合说明书附图,对本发明实施例作进一步详细描述。
[0027]实施例一
[0028]参阅图2所示,本发明实施例中,第一 CDN节点向第二 CDN节点进行数据传输的过程,包括:
[0029]步骤200:分别获取任意一业务对应的第一通信链路目的设备端口号和第二通信链路目的设备端口号;其中,所述第一通信链路为TCP链路,所述第二通信链路为UDP链路。
[0030]本发明实施例中,第一⑶N节点和第二⑶N节点中均包含至少一个设备,针对每一个设备的指定业务,物理端口号均为唯一值,例如,任意一设备中提供网页浏览业务的端口的物理端口号为80、提供FTP(File Transfer Protocol ;文件传输协议)业务的物理端口号为21。
[0031]可选的,代理服务器针对第二⑶N节点中包含的每一个目的设备均执行如下操作:代理服务器读取该目的设备能够提供的每一项业务对应的物理端口号;该物理端口号为任意一业务对应的第一通信链路目的设备端口号,将该物理端口号进行处理之后,获取的处理后的端口号为该任意一业务对应的第二通信链路目的设备端口号。
[0032]其中,上述第一通信链路为TCP链路;第二通信链路为UDP链路。
[0033]可选的,将该物理端口号进行处理之后,获取的处理后的端口号为该任意一业务对应的第二通信链路目的设备端口号,具体包括:代理服务器将该任意一业务对应的第一通信链路目的设备端口号与预设数值进行累加,将累加得到的值确定为该任意一业务对应的第二通信链路目的设备端口号;例如,任意一设备中提供网页浏览业务的端口的物理端口号为80,则该网页浏览业务对应的第一通信链路目的设备端口号为80,该网页浏览业务对应的第二通信链路目的设备端口号为(a+80),a为预设数值。其中,上述预设数值为根据预设具体应用场景设置的值,该预设数值与物理端口号的累计值与任意一物理端口号均不同。
[0034]采用上述技术方案,针对一个目的设备的任意一业务,代理服务器根据端口号区分不同的通信链路,代理服务器仅需要维护端口号和通信链路标识之间的对应关系即可,由于每一个设备对应同一个业务的端口号均相同,因此,端口号的数量远远小于大量设备的IP地址的数量,因此,代理服务器无须维护每一条通信链路标识和每一个设备的IP地址之间的对应关系,减少了系统工作量;此外,针对一个目的设备的任意一业务,代理服务器仅需要管理为第二通信链路配置的目的设备端口号,无须记录每一个通信链路对应的设备的IP地址,降低了对数据的维护难度。
[0035]步骤210:分别获取所述第一通信链路的第一链路质量参数和所述第二通信链路的第二链路质量参数。
[0036]本发明实施例中,代理服务器获取第一通信链路的第一链路质量参数,以及获取第二通信链路的第二链路质量参数。其中,该第一链路质量参数至少包括第一 CDN节点的第一下载速率;第二链路质量参数至少包括第一 CDN节点的第二下载速率以及数据传输丢包率。
[0037]可选的,代理服务器获取第一通信链路的第一链路质量参数的过程,具体包括:代理服务器模拟第一⑶N节点中的任意一设备,通过第一通信链路从第二⑶N节点下载第一测试数据包,获取自下载第一测试数据包开始至下载完毕第一测试数据包的时长,其中,该第一测试数据包占用的存储空间大小已知,且第一测试数据包占用的存储空间大小小于预设阈值,这是因为不同设备的性能可能存在差异,当第一测试数据包较大时,不同设备得到的第一链路质量参数可能存在差异,占用存储空间较小的数据包能够减弱不同设备性能差异对测试结果带来的影响,并且,采用占用存储空间较大的测试数据包进行测试时,需要耗费较长的时间,且耗费较多的资源,才能获取测试结果;代理服务器根据获取的时长和第一测试数据包占用存储空间的大小,计算第一通信链路的第一下载速率,并将第一下载速率作为第一通信链路的第一链路质量参数。
[0038]可选的,代理服务器获取第二通信链路的第二链路质量参数的过程,具体包括:代理服务器模拟第一⑶N节点中的任意一设备,通过第二通信链路从第二⑶N节点下载第一测试数据包,获取自下载第一测试数据包开始至下载完毕第一测试数据包的时长,其中,该第一测试数据包占用的存储空间大小已知,且第一测试数据包占用的存储空间大小小于预设阈值,这是因为不同设备的性能可能存在差异,当第一测试数据包较大时,不同设备得到的第一链路质量参数可能存在差异,占用存储空间较小的数据包能够减弱不同设备性能差异对测试结果带来的影响,并且,采用占用存储空间较大的测试数据包进行测试时,需要耗费较长的时间,且耗费较多的资源,才能获取测试结果;代理服务器根据获取的时长和第一测试数据包占用存储空间的大小,计算第二通信链路的第二下载速率,并将第二下载速率作为第二通信链路的第二链路质量参数。
[0039]可选的,代理服务器将预设数目的第二测试数据包发送至第二⑶N节点,其中,该预设数目根据具体应用场景预先设置;较佳的,该第二测试数据包占用存储空间的大小小于预设阈值;在通过TCP链路或者UDP链路进行数据通信的过程中,代理服务器通过TCP链路或者UDP链路发送数据包时,当对端设备接收到该数据包时,会向代理服务器发送反馈消息,因此,针对任意一第二测试数据包,当代理服务器在预设时长未接收到第二 CDN节点发送的反馈消息时,代理服务器即认为该任意一第二测试数据包未发送成功;代理服务器采用上述方式确定未传输成功的第二测试数据包的数目;代理服务器计算未传输成功的第二测试数据包的数目与预设数目之间的比值,将该比值作为第二通信链路的数据传输丢包率。
[0040]进一步的,第一链路质量参数还可以包括第一数据传输成功率,第二链路质量参数还包括第二数据传输成功率。可选的,该第一数据传输成功率可以采用计算数据传输丢包率的方式进行计算,即通过第一通信链路向第二 CDN节点发送多个测试数据包,检测该多个测试包中发送成功的测试数据包的数目,并根据该数目计算第一数据传输成功率;同理,代理服务器通过第二通信链路向第二 CDN节点发送多个测试数据包,从而获取第二数据传输成功率。
[0041]可选的,在获取第一通信链路的第一链路质量参数和第二通信链路的第二链路质量参数的过程中,代理服务器采用HTTP (HyperText Transfer Protocol ;超文本传输协议),从第二⑶N节点下载第一测试数据包。
[0042]可选的,代理服务器按照预设周期,分别获取所述第一通信链路的第一链路质量参数和所述第二通信链路的第二链路质量参数。其中,该预设周期可以根据具体应用场景预先设置,该预设周期不应设置的过大,以保证代理服务器能动态获取第一通信链路的第一链路质量参数和所述第二通信链路的第二链路质量参数,从而保证数据总是能在通信质量更有的通信链路上传输。例如,将预设周期设置为五分钟。
[0043]步骤220:根据所述第一链路质量参数和第二链路质量参数,从所述第一通信链路和所述第二通信链路中选择链路质量最优的通信链路。
[0044]本发明实施例中,代理服务器根据获取的第一链路质量参数和第二链路质量参数,从第一通信链路和第二通信链路中选择最优的通信链路。
[0045]进一步的,当代理服务器按照预设周期,分别获取所述第一通信链路的第一链路质量参数和所述第二通信链路的第二链路质量参数时,在代理服务器根据获取的第一链路质量参数和第二链路质量参数,从第一通信链路和第二通信链路中选择最优的通信链路之前,代理服务器对第一链路质量参数和第二链路质量参数进行预处理;具体的,代理服务器获取距离当前时刻最近的多个测试周期的第一链路质量参数,将该多个测试周期的第一链路质量参数和当前测试周期的第一链路质量参数进行平均化处理,并将平均化处理后的第一链路质量参数确定为当前测试周期的第一链路质量参数。同理,代理服务器获取距离当前时刻最近的多个测试周期的第二链路质量参数,将该多个测试周期的第二链路质量参数和当前测试周期的第二链路质量参数进行平均化处理,并将平均化处理后的第二链路质量参数确定为当前测试周期的第二链路质量参数。
[0046]其中,上述平均化处理可以为计算算术平均值,也可以为计算几何平均值。
[0047]采用上述技术方案,代理服务器对获取的第一链路质量参数和第二链路质量参数进行平均化处理,避免了由于当前周期内突发事件造成的测量结果误差大的问题,提高了最终获取的第一链路质量参数和第二链路质量参数的准确性。
[0048]可选的,代理服务器根据获取的第一链路质量参数和第二链路质量参数,从第一通信链路和第二通信链路中选择最优的通信链路,具体包括:根据所述数据传输丢包率,对所述第二下载速率进行修正;从所述第一链路质量参数和修正后的第二下载速率中选择最大的下载速率,将选择的下载速率对应的通信链路确定为链路质量最优的通信链路。
[0049]可选的,代理服务器根据所述数据传输丢包率,对所述第二下载速率进行修正,具体包括:当所述数据传输丢包率低于预设丢包率门限值时,将所述第二下载速率确定为修正后的第二下载速率;当所述数据传输丢包率达到预设丢包率门限值时,修正后的第二下载速率满足如下公式:S = STXC + LR;其中,S为修正后的第二下载速率,ST为第二下载速率;C为预设常数,根据具体应用场景进行调整,如C = 0.1 ;LR为数据传输丢包率。可选的,预设丢包率门限值根据具体应用场景不同预先设置,如预设丢包率门限值为10 %。
[0050]进一步的,当所述第一链路质量参数包括第一数据传输成功率,第二链路质量参数还包括第二数据传输成功率时,代理服务器根据第一数据传输成功率,以及第二数据传输成功率,第一下载速率和修正后的第二下载速率,从所述第一通信链路和所述第二通信链路中选择链路质量最优的通信链路;具体的,代理服务器分别获取所述第一下载速率对应的权重值,修正后的第二下载速率对应的权重值,第一数据传输成功率对应的权重值,第二数据传输成功率对应的权重值;根据所述第一下载速率和第一下载速率对应的权重值,第一数据传输成功率和第一数据传输成功率对应的权重值,获取所述第一通信链路的通信质量综合值;代理服务器根据所述修正后的第二下载速率和修正后的第二下载速率对应的权重值,第二数据传输成功率和第二数据传输成功率对应的权重值,获取所述第二通信链路的通信质量综合值;从所述第一通信链路和第二通信链路中,选择通信质量综合值最大的通信链路确定为链路质量最优的通信链路。
[0051]可选的,任意一通信链路对应的通信质量综合值满足如下公式:
[0052]T = aXv+bXs
[0053]其中,T表示通信质量综合值;v表示下载速率;a表示下载速率的权重值;s表示数据传输成功率;b表示数据传输成功率的权重值。较佳的,a < b。
[0054]采用上述技术方案,代理服务器通过计算第一通信链路的通信质量综合值和第二通信链路的通信质量综合值,从第一通信链路和第二通信链路中选择质量最优的通信链路,使得选取的通信链路为下载速率最高且数据传输成功率最高的通信链路,从而保证了后续第一⑶N节点和第二⑶N节点之间数据的传输。
[0055]步骤230:将选择的通信链路目的设备端口号发送至第一⑶N节点,通知所述第一CDN节点在进行所述任意一业务时,通过选择的所述目的设备端口号对应的通信链路传输数据。
[0056]本发明实施例中,代理服务器根据预先获取的所述任意一业务对应的第一通信链路目的设备端口号和第二通信链路目的设备端口号,确定选择的通信链路目的设备端口号,并将选择的通信链路的目的设备端口号发送至第一 CDN节点,使第一 CDN节点中的各个设备在进行指定业务时,第一 CDN节点能够获取该业务对应的目的设备端口号。
[0057]本发明实施例中,第一 CDN节点中的各个设备在进行任意一业务时,能够获取该任意一业务对应的目的设备端口号,并获取该目的设备端口号对应的通信链路;例如,第一CDN节点中的设备A请求网页浏览业务时,若检测到当前测试周期的端口号为80,则设备A选择TCP链路与第二 CDN节点进行信息交互;若检测到当前周期的端口号为(a+80),则设备A选择UDP链路与第二⑶N节点进行信息交互。
[0058]进一步的,第一⑶N节点中的设备发送至目的设备的数据中还包括目的设备的IP地址;第一 CDN节点获取所述目的设备端口号后,根据所述目的设备端口号对应的通信链路标识,以及所述目的设备的IP地址,将所述数据通过所述通信链路发送至IP地址指示的目的设备。
[0059]采用本发明实施例技术方案,由于每一个目的设备的端口号为固定值,因此,通过目的设备的端口号区分不同通信链路,CDN节点在数据传输过程中,无须维护大量的IP地址,有效降低了 CDN节点的负担,以及系统维护难度;并且,选择通信质量最优的通信链路进行数据传输,能够有效提高带宽利用率。
[0060] 基于上述技术方案,参阅图3所示,本发明实施例还提供一种数据传输装置,应用于内容分发网络,包括端口号获取单元30,链路质量参数获取单元31,选择单元32,发送单元33,其中:
[0061 ] 端口号获取单元30,用于分别获取任意一业务对应的第一通信链路目的设备端口号和第二通信链路目的设备端口号;其中,所述第一通信链路为TCP链路,所述第二通信链路为UDP链路;
[0062]链路质量参数获取单元31,用于分别获取所述第一通信链路的第一链路质量参数和所述第二通信链路的第二链路质量参数;
[0063]选择单元32,用于根据所述第一链路质量参数和第二链路质量参数,从所述第一通信链路和所述第二通信链路中选择链路质量最优的通信链路;
[0064]发送单元33,用于将选择的通信链路目的设备端口号发送至第一⑶N节点;以通知所述第一 CDN节点在进行所述任意一业务时,通过选取的所述目的设备端口号对应的通信链路传输数据.
[0065]其中,所述链路质量参数获取单元31,具体用于:针对所述第一通信链路,从第二CDN节点下载第一测试数据包,获取第一下载速率,将所述第一下载速率确定为所述第一链路质量参数;针对所述第二通信链路,从第二 CDN节点下载第一测试数据包,获取第二下载速率;并将预设数目的第二测试数据包发送至第二 CDN节点,获取数据传输丢包率;将所述第二下载速率和所述数据传输丢包率确定为所述第二链路质量参数。
[0066]可选的,所述选择单元32,具体用于:根据所述数据传输丢包率,对所述第二下载速率进行修正;从所述第一下载速率和修正后的第二下载速率中选择最大的下载速率,将选择的下载速率对应的通信链路确定为链路质量最优的通信链路。
[0067]所述选择单元32根据所述数据传输丢包率,对所述第二下载速率进行修正,具体包括:当所述数据传输丢包率低于预设丢包率门限值时,将所述第二下载速率确定为修正后的第二下载速率;当所述数据传输丢包率达到预设丢包率门限值时,修正后的第二下载速率满足如下公式:S = STXC^LR ;其中,S为修正后的第二下载速率,ST为第二下载速率;C为预设常数,LR为数据传输丢包率。
[0068]所述第一链路质量参数还包括第一数据传输成功率,第二链路质量参数还包括第二数据传输成功率;所述选择单元32,具体用于:根据所述第一链路质量参数和第二链路质量参数,从所述第一通信链路和所述第二通信链路中选择链路质量最优的通信链路,具体包括:分别获取所述第一下载速率对应的权重值,所述修正后的第二下载速率对应的权重值,所述第一数据传输成功率对应的权重值,所述第二数据传输成功率对应的权重值;根据所述第一下载速率和所述第一下载速率对应的权重值,所述第一数据传输成功率和所述第一数据传输成功率对应的权重值,获取所述第一通信链路的通信质量综合值;根据所述修正后的第二下载速率和所述修正后的第二下载速率对应的权重值,所述第二数据传输成功率和所述第二数据传输成功率对应的权重值,获取所述第二通信链路的通信质量综合值;从所述第一通信链路和第二通信链路中,选择通信质量综合值最大的通信链路确定为链路质量最优的通信链路。
[0069]综上所述,针对任意一业务,代理服务器分别获取该任意一业务对应的第一通信链路目的设备端口号和第二通信链路目的设备端口号;分别获取所述第一通信链路的第一链路质量参数和所述第二通信链路的第二链路质量参数;根据所述第一链路质量参数和第二链路质量参数,从所述第一通信链路和所述第二通信链路中选择链路质量最优的通信链路;将选择的通信链路目的设备端口号发送至第一 CDN节点;通知所述第一 CDN节点在进行所述任意一业务时,通过选取的所述目的设备端口号对应的通信链路传输数据。采用本发明实施例技术方案,由于目的设备的端口号为固定值,因此,CDN节点在数据传输过程中,通过目的设备的端口号区分不同通信链路,无须在本地维护IP地址-链路标识配置表,有效降低了 CDN节点的负担,降低了系统维护难度;并且,实时判断不同通信链路的通信质量,选择通信质量更优的通信链路进行数据传输,避免了通信链路拥堵问题,有效提高了数据传输效率。
[0070]以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0071]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0072]最后应说明的是:以上实施例仅用以说明本发明实施例的技术方案,而非对其限制;尽管参照前述实施例对本发明实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例各实施例技术方案的精神和范围。
【主权项】
1.一种数据传输方法,应用于内容分发网络CDN,其特征在于,所述方法包括: 获取任意一业务对应的第一通信链路目的设备端口号和第二通信链路目的设备端口号;其中,所述第一通信链路为传输控制协议TCP链路,所述第二通信链路为数据用户协议UDP链路; 分别获取所述第一通信链路的第一链路质量参数和所述第二通信链路的第二链路质量参数; 根据所述第一链路质量参数和第二链路质量参数,从所述第一通信链路和所述第二通信链路中选择链路质量最优的通信链路; 将选择的通信链路目的设备端口号发送至第一 CDN节点,通知所述第一 CDN节点在进行所述任意一业务时,通过选取的所述目的设备端口号对应的通信链路传输数据。2.根据权利要求1所述的方法,其特征在于,分别获取所述第一通信链路的第一链路质量参数和所述第二通信链路的第二链路质量参数,具体包括: 针对所述第一通信链路,从第二 CDN节点下载第一测试数据包,获取第一下载速率,将所述第一下载速率确定为所述第一链路质量参数; 针对所述第二通信链路,从第二 CDN节点下载第一测试数据包,获取第二下载速率;并将预设数目的第二测试数据包发送至第二 CDN节点,获取数据传输丢包率;将所述第二下载速率和所述数据传输丢包率确定为所述第二链路质量参数。3.根据权利要求2所述的方法,其特征在于,根据所述第一链路质量参数和第二链路质量参数,从所述第一通信链路和所述第二通信链路中选择链路质量最优的通信链路,具体包括: 根据所述数据传输丢包率,对所述第二下载速率进行修正; 从所述第一下载速率和修正后的第二下载速率中选择最大的下载速率,将选择的下载速率对应的通信链路确定为链路质量最优的通信链路。4.根据权利要求3所述的方法,其特征在于,根据所述数据传输丢包率,对所述第二下载速率进行修正,具体包括: 当所述数据传输丢包率低于预设丢包率门限值时,将所述第二下载速率确定为修正后的第二下载速率; 当所述数据传输丢包率达到预设丢包率门限值时,修正后的第二下载速率满足如下公式:S = STXC + LR;其中,S为修正后的第二下载速率,ST为第二下载速率;C为预设常数,LR为数据传输丢包率。5.根据权利要求4所述的方法,其特征在于,所述第一链路质量参数还包括第一数据传输成功率,第二链路质量参数还包括第二数据传输成功率; 根据所述第一链路质量参数和第二链路质量参数,从所述第一通信链路和所述第二通信链路中选择链路质量最优的通信链路,具体包括: 分别获取所述第一下载速率对应的权重值,所述修正后的第二下载速率对应的权重值,所述第一数据传输成功率对应的权重值,所述第二数据传输成功率对应的权重值; 根据所述第一下载速率和所述第一下载速率对应的权重值,所述第一数据传输成功率和所述第一数据传输成功率对应的权重值,获取所述第一通信链路的通信质量综合值; 根据所述修正后的第二下载速率和所述修正后的第二下载速率对应的权重值,所述第二数据传输成功率和所述第二数据传输成功率对应的权重值,获取所述第二通信链路的通信质量综合值; 从所述第一通信链路和第二通信链路中,选择通信质量综合值最大的通信链路确定为链路质量最优的通信链路。6.一种数据传输装置,应用于内容分发网络CDN,其特征在于,包括: 端口号获取单元,用于分别获取任意一业务对应的第一通信链路目的设备端口号和第二通信链路目的设备端口号;其中,所述第一通信链路为传输控制协议TCP链路,所述第二通信链路为数据用户协议UDP链路; 链路质量参数获取单元,用于分别获取所述第一通信链路的第一链路质量参数和所述第二通信链路的第二链路质量参数; 选择单元,用于根据所述第一链路质量参数和第二链路质量参数,从所述第一通信链路和所述第二通信链路中选择链路质量最优的通信链路; 发送单元,用于将选择的通信链路目的设备端口号发送至第一 CDN节点;以通知所述第一 CDN节点在进行所述任意一业务时,通过选取的所述目的设备端口号对应的通信链路传输数据。7.根据权利要求6所述的装置,其特征在于,所述链路质量参数获取单元,具体用于: 针对所述第一通信链路,从第二 CDN节点下载第一测试数据包,获取第一下载速率,将所述第一下载速率确定为所述第一链路质量参数; 针对所述第二通信链路,从第二 CDN节点下载第一测试数据包,获取第二下载速率;并将预设数目的第二测试数据包发送至第二 CDN节点,获取数据传输丢包率;将所述第二下载速率和所述数据传输丢包率确定为所述第二链路质量参数。8.根据权利要求7所述的装置,其特征在于,所述选择单元,具体用于: 根据所述数据传输丢包率,对所述第二下载速率进行修正; 从所述第一下载速率和修正后的第二下载速率中选择最大的下载速率,将选择的下载速率对应的通信链路确定为链路质量最优的通信链路。9.根据权利要求8所述的装置,其特征在于,所述选择单元根据所述数据传输丢包率,对所述第二下载速率进行修正,具体包括: 当所述数据传输丢包率低于预设丢包率门限值时,将所述第二下载速率确定为修正后的第二下载速率; 当所述数据传输丢包率达到预设丢包率门限值时,修正后的第二下载速率满足如下公式:S = STXC + LR;其中,S为修正后的第二下载速率,ST为第二下载速率;C为预设常数,LR为数据传输丢包率。10.根据权利要求9所述的装置,其特征在于,所述第一链路质量参数还包括第一数据传输成功率,第二链路质量参数还包括第二数据传输成功率; 所述选择单元,具体用于: 根据所述第一链路质量参数和第二链路质量参数,从所述第一通信链路和所述第二通信链路中选择链路质量最优的通信链路,具体包括: 分别获取所述第一下载速率对应的权重值,所述修正后的第二下载速率对应的权重值,所述第一数据传输成功率对应的权重值,所述第二数据传输成功率对应的权重值; 根据所述第一下载速率和所述第一下载速率对应的权重值,所述第一数据传输成功率和所述第一数据传输成功率对应的权重值,获取所述第一通信链路的通信质量综合值;根据所述修正后的第二下载速率和所述修正后的第二下载速率对应的权重值,所述第二数据传输成功率和所述第二数据传输成功率对应的权重值,获取所述第二通信链路的通信质量综合值; 从所述第一通信链路和第二通信链路中,选择通信质量综合值最大的通信链路确定为链路质量最优的通信链路。
【文档编号】H04L12/917GK105897615SQ201510584030
【公开日】2016年8月24日
【申请日】2015年9月14日
【发明人】曹立权
【申请人】乐视云计算有限公司