数据发送、接收的方法、装置、服务器及计算机程序产品与流程

文档序号:13520906阅读:170来源:国知局

本发明涉及数据传输技术领域,特别涉及数据发送、接收的方法、装置、服务器及计算机程序产品。



背景技术:

云端机器人是将认知系统放在云里,身体、驱动、传感器放在机器人本体上,通过移动通信将二者连接起来的智能机器人;云端机器人是智能仿人机器人发展的方向。

cdn(contentdeliverynetwork,内容分发网络)是一个策略性部署的整体系统,包括分布式存储、负载均衡、网络请求的重定向和内容管理四个方面,而内容管理和全局的网络流量管理是cdn的核心所在,通过用户就近性和服务器负载的判断,cdn确保内容以一种极为高效的方式为用户的请求提供服务。

目前cdn的应用越来越普遍。cdn通过大量部署pop(pointofpresence,边缘服务器),在边缘服务器上设置缓存,用以缓存用户访问的数据,以提高用户的数据访问速度。

cdn的网络架构一般是将pop分为两级,即:靠近用户分布的缓存服务为一级缓存,集中回源的缓存服务为二级缓存,以降低了客户的源站服务器压力,同时可以提高服务质量。通常情况下,一级缓存部署在各运营商网络内,二级缓存部署在互联互通好的bgp(bordergatewayprotocol,边界网关协议)机房。一级缓存和二级缓存通过标准的http(hypertexttransferprotocol,超文本传输协议)进行数据传输。

现有技术不足在于:目前的idc(internetdatacenter,互联网数据中心)市场,大多是按照带宽进行收费,即便实际的带宽利用率很低,使用者也许要按照采购的带宽进行缴费。现有的cdn网络中的一级缓存和二级缓存之间采用http协议数据传输带宽利用率较低,没有合理利用带宽资源。



技术实现要素:

本发明实施例提出了一种主要解决现有的cdn网络中的一级缓存和二级缓存之间数据传输带宽利用率较低的技术方案。

本发明实施例第一方面提供了一种数据发送方法,包括如下步骤:

探测一级缓存与二级缓存之间的链路质量或者探测所述二级缓存的带宽利用率,得到探测结果;所述一级缓存为内容分发网络cdn中靠近用户分布的缓存,用于缓存用户访问的数据;所述二级缓存为cdn中用于集中回源的缓存;

当所述探测结果为所述一级缓存与所述二级缓存之间的链路质量低于第一阈值,或者,所述二级缓存的带宽利用率低于第二阈值时,基于arq采用udp发送一级缓存中的数据。

本发明实施例第二方面提供了一种数据发送装置,包括:

探测模块,用于探测一级缓存与二级缓存之间的链路质量或者探测所述二级缓存的带宽利用率,得到探测结果;所述一级缓存为内容分发网络cdn中靠近用户分布的缓存,用于缓存用户访问的数据;所述二级缓存为cdn中用于集中回源的缓存;

第一发送模块,用于当所述探测结果为所述一级缓存与所述二级缓存之间的链路质量低于第一阈值,或者,所述二级缓存的带宽利用率低于第二阈值时,基于arq采用udp发送一级缓存中的数据;所述一级缓存用于缓存用户访问的数据。

本发明实施例第三方面提供了一种数据接收方法,包括如下步骤:

当一级缓存与二级缓存之间的链路质量低于第一阈值,或者,所述二级缓存的带宽利用率低于第二阈值时,接收基于arq控制采用udp发送的来自所述一级缓存的数据,并且将所述数据从udp格式转换为http格式;所述一级缓存为内容分发网络cdn中靠近用户分布的缓存,用于缓存用户访问的数据;所述二级缓存为cdn中用于集中回源的缓存;

将http格式的数据缓存至二级缓存。

本发明实施例第四方面提供了一种数据接收装置,包括:

接收转换模块,用于当一级缓存与二级缓存之间的链路质量低于第一阈值,或者,所述二级缓存的带宽利用率低于第二阈值时,接收基于arq控制采用udp发送的来自所述一级缓存的数据,并且将所述数据从udp格式转换为http格式;所述一级缓存为内容分发网络cdn中靠近用户分布的缓存,用于缓存用户访问的数据;所述二级缓存为cdn中用于集中回源的缓。

缓存模块,用于将http格式的数据缓存至二级缓存。

本发明实施例第五方面提供了一种服务器,其特征在于,所述服务器包括:

存储器,一个或多个处理器,通信接口,总线以及一个或多个模块,所述处理器、所述存储器和所述通信接口通过所述总线连接并完成相互间的通信;所述一个或多个模块被存储在所述存储器中,并被配置成由所述一个或多个处理器执行,所述一个或多个模块包括用于执行所述数据发送方法中各个步骤的指令。

本发明实施例第六方面提供了一种计算机程序产品,所述计算机程序产品包括计算机可读的存储介质和内嵌于其中的计算机程序机制,所述计算机程序机制包括用于执行所述数据发送方法中各个步骤的指令。

本发明实施例第七方面提供了一种服务器,其特征在于,所述服务器包括:

存储器,一个或多个处理器,通信接口,总线以及一个或多个模块,所述处理器、所述存储器和所述通信接口通过所述总线连接并完成相互间的通信;所述一个或多个模块被存储在所述存储器中,并被配置成由所述一个或多个处理器执行,所述一个或多个模块包括用于执行所述数据接收方法中各个步骤的指令。

本发明实施例第八方面提供了一种计算机程序产品,所述计算机程序产品包括计算机可读的存储介质和内嵌于其中的计算机程序机制,所述计算机程序机制包括用于执行所述数据接收方法中各个步骤的指令。

有益效果如下:

当前的cdn网络中的一级缓存和二级缓存之间采用http协议传输数据,由于http协议是建立在tcp(transmissioncontrolprotocol,传输控制协议)之上的一种应用,最显著的特点是客户端发送的每次请求都需要服务器反馈响应,需要多次握手通信,导致了cdn网络中的一级缓存和二级缓存之间数据传输慢、带宽利用率较低的问题。

由于本发明实施例所提供的技术方案,在一级缓存和二级缓存之间建立了arq传输隧道,在一级缓存侧增加了探测模块,并对一级缓存现有的传输控制模块进行改进,探测一级缓存与二级缓存之间的链路质量或者探测二级缓存的带宽负载,当探测结果为所述一级缓存与所述二级缓存之间的链路质量低于第一阈值,或者,所述二级缓存的带宽利用率低于第二阈值时,基于arq采用udp发送一级缓存中的数据,因为udp不是面向连接的,传送数据前并不与对方建立连接,对接收到的数据也不发送确认信号,因此,基于arq控制的udp传输方式,可以有效提高cdn网络中一级缓存和二级缓存的数据传输速度和效率。

附图说明

下面将参照附图描述本发明的具体实施例,其中:

图1为本发明实施例一中数据发送方法的流程示意图;

图2为本实施例中arq模块示意图;

图3为本发明实施例一中数据发送装置的结构示意图;

图4为本发明实施例一中数据接收方法的流程示意图;

图5为本发明实施例一中数据接收装置的结构示意图;

图6为本发明实施例提供的服务器(一)的结构示意图;

图7为本发明实施例提供的服务器(二)的结构示意图;

图8为本发明实施例中cdn一级缓存侧的设备的代理结构示意图;

图9为本发明实施例中cdn一级缓存侧代理的处理流程示意图;

图10采用本发明实施例提供的方案后,cdn一级缓存侧的设备发送数据的流程示意图。

具体实施方式

为了使本发明的技术方案及优点更加清楚明白,以下结合附图对本发明的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本发明的一部分实施例,而不是所有实施例的穷举。并且在不冲突的情况下,本说明中的实施例及实施例中的特征可以互相结合。

发明人在发明过程中注意到:当前的cdn网络中的一级缓存和二级缓存之间采用http协议传输数据,由于http协议是建立在tcp之上的一种应用,tcp协议传输数据之前需要经过多次握手通信,客户端发送的每次请求都需要服务器反馈响应,需要多次握手通信,会导致现有的cdn网络中的一级缓存和二级缓存之间数据传输慢、带宽利用率较低的问题。

另外,在目前的idc(internetdatacenter,互联网数据中心)大多是按照带宽进行收费,即便实际的带宽利用率很低,使用者也许要按照采购的带宽进行缴费。在这种情况下,可以提高带宽利用率以合理利用带宽资源。

为了便于本发明的实施,下面以实例进行说明。

实施例一

基于此,本发明实施例提出了数据发送、接收的方法、装置、服务器及计算机程序产品,下面进行说明。

图1为本发明实施例一中数据发送方法的流程示意图,如图1所示,该数据发送方法,可以包括如下步骤:

步骤101、探测一级缓存与二级缓存之间的链路质量或者探测所述二级缓存的带宽利用率,得到探测结果;所述一级缓存为内容分发网络cdn中靠近用户分布的缓存,用于缓存用户访问的数据;所述二级缓存为cdn中用于集中回源的缓存;

步骤102、当所述探测结果为所述一级缓存与所述二级缓存之间的链路质量低于第一阈值,或者,所述二级缓存的带宽利用率低于第二阈值时,基于arq采用udp发送一级缓存中的数据。

具体实施中,所述数据发送方法可以在cdn一级缓存侧的设备上实施。可以在现有cdn设备的基础上进行改进,例如,在现有的cdn一级缓存侧的设备的代理上增加探测模块和基于arq控制udp的处理功能模块,探测所述一级缓存与所述二级缓存之间的链路质量或者探测所述二级缓存的带宽利用率,并基于探测结果进行一级缓存中数据的发送,具体的:当探测结果为所述一级缓存与所述二级缓存之间的链路质量低于第一阈值,或者,所述二级缓存的带宽利用率低于第二阈值时,基于arq采用udp发送一级缓存中的数据;反之,当探测结果为所述一级缓存与所述二级缓存之间的链路质量不低于第一阈值,并且,所述二级缓存的带宽利用率不低于第二阈值时,采用http发送一级缓存中的数据。

与cdn一级缓存侧的设备相对应地,在cdn二级缓存侧的设备的代理中增加arq处理功能模块,所述arq处理功能模块可以接收来自一级缓存的基于arq控制的udp格式的数据转换为http格式后缓存至二级缓存中。

其中,链路质量可以通过数据丢包率来衡量,具体实施中,还可以综合考虑误码率和时延等参数,这里不做具体限定。

具体实施中,如果需要考虑二级缓存的带宽利用率时,也可以对二级缓存的带宽利用率进行探测。

探测所述二级缓存的带宽利用率可以通过snmp(simplenetworkmanagementprotocol,简单网络管理协议)获取。

在实施中采用snmp的方式是由于snmp方式比较常用、主流,易于本领域技术人员使用/理解,所以这里以snmp为例;但是,从理论上来说,用其他的方式也是可以的,只要能够实探测所述二级缓存的带宽利用率即可,snmp仅用于教导本领域技术人员具体如何实施本发明,但并不意味仅能使用snmp,实施过程中可以结合实践需要来确定相应的方式。

图2为本实施例中arq模块示意图,如图2所示,通过arq客户端1和arq客户端2在cdn一级缓存侧的设备和cdn二级缓存侧的设备之间建立arq传输隧道,实现cdn一级缓存和二级缓存之间基于arq控制udp的数据传输。

arq是一种自动重新请求协议是osi(opensysteminterconnection,开放式系统互联)模型中数据链路层和传输层的错误纠正协议之一,通过使用确认和超时这两个机制,在不可靠服务的基础上实现可靠的信息传输。如果发送方在发送后一段时间之内没有收到来自接收方确认帧,发送方就重新发送。arq包括停止等待arq协议和联系arq协议,错误检测,正面确认,超时重传和负面确认及重传等机制。

arq协议被广泛使用在无线网络中,应用在无线通讯的链路层。在有线网络中,也有基于arq的实现。比如开源的kcp协议是arq协议快速和可靠的实现一种,kcp能以比tcp浪费10%-20%的带宽的代价,换取平均时延降低30%-40%,且最大延迟降低三倍的传输效果,数据传输速度能提升近十倍。kcp协议只提供传输控制的算法,不提供底层协议的数据收发。使用者可以根据自己的业务需求,编写实现代码。kcp的项目在https://github.com/skywind3000/kcp。整个协议只有ikcp.h,ikcp.c两个源文件,可以方便的集成到用户自己的协议栈中。将这两个文件集成到自己开发的项目中,增加几行代码,就能实现一套完善的arq可靠协议实现。

在实施中采用kcp、udp的方式是由于kcp、udp方式比较常用、主流,易于本领域技术人员使用/理解,所以这里以kcp、udp为例;但是,从理论上来说,用其他的方式也是可以的,只要能够实现基于arq进行不面向连接或数据传输前握手协议简化的数据传输即可,kcp、udp仅用于教导本领域技术人员具体如何实施本发明,但并不意味仅能使用kcp、udp,实施过程中可以结合实践需要来确定相应的方式。

关于arq的详细说明可以参见标准协议rfc3366,这里不再赘述。

其中,所述一级缓存将用户访问的数据进行缓存,周期或非周期性地将缓存的数据发送至集中回源的二级缓存中,便于后续用户进行数据访问。

本发明实施例中的第一阈值、第二阈值可以是根据技术经验人工设置,也可以是通过历史数据统计得出,这里不做具体限定。

本实施例中提供的数据发送方法具有合理利用arq数据传输准确率的优点,可以首先探测一级缓存与二级缓存之间的链路质量,若链路质量低于第一阈值,则基于arq采用udp进行数据发送;若链路质量不低于第一阈值,则继续探测二级缓存的带宽利用率,若二级缓存的带宽利用率低于第二阈值,则基于arq采用udp进行数据发送,否则,采用http发送数据。

上述的探测示例为优选实施例,具体实施中,本领域技术人员也可以结合具体需要,首先探测二级缓存的带宽利用率,若二级缓存的带宽利用率低于第二阈值,则基于arq采用udp进行数据发送;否则,继续探测一级缓存与二级缓存之间的链路质量,若链路质量低于第一阈值,则基于arq采用udp进行数据发送,否则,采用http发送数据。

这里不限定一级缓存与二级缓存之间的链路质量和二级缓存的带宽利用率探测的先后顺序。

实施中,实施数据发送方法,还可以包括:

在探测一级缓存与二级缓存之间的链路质量或者探测所述二级缓存的带宽利用率之前,接收来自所述二级缓存的连接请求。

有益效果:可以在接收到来自二级缓存的连接请求后,进行探测,按需合理探测。

实施中,基于arq控制采用udp发送一级缓存中的数据,可以具体包括:

将所述一级缓存中的数据从http格式转化成udp格式后,基于arq采用udp发送一级缓存中的数据。

所述数据发送方法还可以包括:

当所述探测结果为所述一级缓存与所述二级缓存之间的链路质量不低于第一阈值,并且,所述二级缓存的带宽利用率不低于第二阈值时,采用http向所述二级缓存发送数据。

有益效果:可以在探测结果为所述一级缓存与所述二级缓存之间的链路质量不低于第一阈值,并且,所述二级缓存的带宽利用率不低于第二阈值时,采用http向所述二级缓存发送数据,结合探测结果合理选择数据传输的方式。

本发明实施例提供的数据发送方法通过探测一级缓存与二级缓存之间的链路质量或者探测所述二级缓存的带宽利用率,得到探测结果;当所述探测结果为所述一级缓存与所述二级缓存之间的链路质量低于第一阈值,或者,所述二级缓存的带宽利用率低于第二阈值时,基于arq采用udp发送一级缓存中的数据,可以在cdn一级缓存侧和二级缓存侧链路质量不佳或二级缓存侧带宽利用率较低时,基于arq采用udp发送一级缓存中的数据,有效加快数据传输数据,提供带宽利用效率。

基于上述数据发送方法的同一发明构思,本发明实施例中还提供了一种数据发送装置,该数据发送装置的实施可以参见数据发送方法的相关说明,重复之处不再赘述。

图3示出了本发明实施例一中数据发送装置的结构示意图,如图3所示,该数据发送装置可以包括:

探测模块301,用于探测一级缓存与二级缓存之间的链路质量或者探测所述二级缓存的带宽利用率,得到探测结果;所述一级缓存为内容分发网络cdn中靠近用户分布的缓存,用于缓存用户访问的数据;所述二级缓存为cdn中用于集中回源的缓存;

第一发送模块302,用于当所述探测结果为所述一级缓存与所述二级缓存之间的链路质量低于第一阈值,或者,所述二级缓存的带宽利用率低于第二阈值时,基于arq采用udp发送一级缓存中的数据;所述一级缓存用于缓存用户访问的数据。

具体实施中,所述数据发送装置可以对应于cdn一级缓存侧,可以在现有cdn设备的基础上进行改进,例如,在现有的cdn一级缓存侧增加探测模块和基于arq控制udp的处理功能模块,由探测模块来探测所述一级缓存与所述二级缓存之间的链路质量或者探测所述二级缓存的带宽利用率,第一发送模块并基于探测结果进行一级缓存中数据的发送,具体的:当探测结果为所述一级缓存与所述二级缓存之间的链路质量低于第一阈值,或者,所述二级缓存的带宽利用率低于第二阈值时,第一发送模块基于arq采用udp发送一级缓存中的数据;反之,当探测结果为所述一级缓存与所述二级缓存之间的链路质量不低于第一阈值,并且,所述二级缓存的带宽利用率不低于第二阈值时,第一发送模块采用http发送一级缓存中的数据。

本发明实施例提供的数据发送装置,由于包括了可以探测所述一级缓存与所述二级缓存之间的链路质量或者探测所述二级缓存的带宽利用率的探测模块,当所述探测模块反馈的探测结果为所述一级缓存与所述二级缓存之间的链路质量低于第一阈值或者所述二级缓存的带宽利用率低于第二阈值时,第一发送模块基于arq采用udp发送一级缓存中的数据的传输控制模块,可以在cdn一级缓存和二级缓存链路质量不佳或二级缓存侧带宽利用率较低时,基于arq采用udp发送一级缓存中的数据,有效加快数据传输数据,提供带宽利用效率。

实施中,所述数据发送装置还可以包括:第一接收模块303,用于在探测所述一级缓存与所述二级缓存之间的链路质量或者探测所述二级缓存的带宽利用率之前,接收来自所述二级缓存的连接请求。

有益效果:探测模块可以在第一接收模块接收到来自二级缓存的连接请求后,进行探测,按需合理探测。

实施中,所述第一发送模块可以进一步用于当所述探测结果为所述一级缓存与所述二级缓存之间的链路质量不低于第一阈值,并且,所述二级缓存的带宽利用率不低于第二阈值时,采用http向所述二级缓存发送数据。

有益效果:可以在探测结果为所述一级缓存与所述二级缓存之间的链路质量不低于第一阈值,并且,所述二级缓存的带宽利用率不低于第二阈值时,采用http向所述二级缓存发送数据,结合探测结果合理选择数据传输的方式。

实施中,所述第一发送模块可以具体用于将所述一级缓存中的数据从超文本传输协议http格式转化成udp格式后,基于arq采用udp发送出去。

具体实施中,由于现有的一级缓存输出的基本是http格式的,第一发送模块在发送数据之前,需要将来自一级缓存的http格式的数据转换为udp格式后,基于arq采用udp进行发送。

基于与上述数据发送方法及设备属于一个总的发明构思,本发明实施例还提供了一种数据接收方法与装置,相关的重复之处不再赘述。

图4为本发明实施例一中数据接收方法的流程示意图,如图4所示,所述数据接收方法可以包括如下步骤:

步骤401、当一级缓存与二级缓存之间的链路质量低于第一阈值,或者,所述二级缓存的带宽利用率低于第二阈值时,接收基于arq控制采用udp发送的来自所述一级缓存的数据,并且将所述数据从udp格式转换为http格式;所述一级缓存为内容分发网络cdn中靠近用户分布的缓存,用于缓存用户访问的数据;所述二级缓存为cdn中用于集中回源的缓存;

步骤402、将http格式的数据缓存至二级缓存。

本发明实施例提供的数据接收方法可以在cdn二级缓存侧的设备上实施,当所述一级缓存与所述二级缓存之间的链路质量低于第一阈值,或者,所述二级缓存的带宽利用率低于第二阈值时,接收基于arq控制采用udp发送的来自所述一级缓存的数据,并且将所述数据从udp格式转换为http格式,将http格式的数据缓存至二级缓存,可以在cdn一级缓存侧和二级缓存侧链路质量不佳或二级缓存侧带宽利用率较低时,接收并缓存基于arq采用udp发送一级缓存中的数据,有效加快数据传输数据,提供带宽利用效率。

实施中,所述数据接收方法还可以包括:

在接收基于arq控制采用udp发送的来自所述一级缓存的数据之前,向所述一级缓存发送连接请求。

有益效果:在接收来自一级缓存的数据之前,发送连接请求,可以方便cdn一级缓存侧进行按需合理探测。

实施中,当所述一级缓存与所述二级缓存之间的链路质量不低于第一阈值,并且,所述二级缓存的带宽利用率不低于第二阈值时,可以将来自所述一级缓存的http格式的数据缓存至二级缓存。

有益效果:可以在当所述一级缓存与所述二级缓存之间的链路质量不低于第一阈值,并且,所述二级缓存的带宽利用率不低于第二阈值时,缓存来自所述一级缓存的http格式的数据至二级缓存,结合实际的数据传输条件合理选择数据传输的方式。

基于上述数据接收方法的同一发明构思,本发明实施例中还提供了一种数据接收装置,该数据接收装置的实施可以参见数据接收方法的相关说明,重复之处不再赘述。

图5为本发明实施例一中数据接收装置的结构示意图,如图5所示,所述数据接收装置可以包括:

接收转换模块501,用于当一级缓存与二级缓存之间的链路质量低于第一阈值,或者,所述二级缓存的带宽利用率低于第二阈值时,接收基于arq控制采用udp发送的来自所述一级缓存的数据,并且将所述数据从udp格式转换为http格式;所述一级缓存为内容分发网络cdn中靠近用户分布的缓存,用于缓存用户访问的数据;所述二级缓存为cdn中用于集中回源的缓。

缓存模块502,用于将http格式的数据缓存至二级缓存。

具体实施中,所述数据接收装置是与上述的数据发送装置相对应的,可以在cdn二级缓存侧增加arq处理功能模块,所述arq处理功能模块可以接收来自一级缓存的基于arq控制的udp格式的数据转换为http格式后缓存至二级缓存中。

本发明实施例提供的数据接收装置,由于包括了当一级缓存与二级缓存之间的链路质量低于第一阈值,或者,所述二级缓存的带宽利用率低于第二阈值时,接收所述一级缓存基于arq控制采用udp发送的数据,并且将所述数据从udp格式转换为http格式的接收转换模块,可以接收cdn一级缓存侧基于arq采用udp发送过来的数据,可以配合cdn一级缓存侧在一级缓存和二级缓存链路质量不佳或二级缓存带宽利用率较低时,接收并缓存cdn一级缓存侧基于arq采用udp发送一级缓存中的数据,有效加快数据传输数据,提供带宽利用效率。

实施中,所述数据接收装置还可以包括:

第二发送模块503,用于在接收基于arq控制采用udp发送的来自所述一级缓存的数据之前,向所述一级缓存发送连接请求。

有益效果:在接收来自cdn一级缓存侧的数据之前,由第二发送模块发送连接请求,可以方便cdn一级缓存侧进行按需合理探测。

实施中,所述缓存模块可以进一步用于当所述一级缓存与所述二级缓存之间的链路质量不低于第一阈值,并且,所述二级缓存的带宽利用率不低于第二阈值时,将来自所述一级缓存的http格式的数据缓存至二级缓存。

具体实施中,当所述一级缓存与所述二级缓存之间的链路质量不低于第一阈值,并且,所述二级缓存的带宽利用率不低于第二阈值时,可以沿用现有技术中的数据接收方式,将来自一级缓存侧的http格式数据直接缓存至二级缓存中。

有益效果:可以在当所述一级缓存与所述二级缓存之间的链路质量不低于第一阈值,并且,所述二级缓存的带宽利用率不低于第二阈值时,缓存来自所述一级缓存的http格式的数据,结合实际的数据传输条件合理选择数据传输的方式。

基于上述数据发送方法的同一发明构思,本发明实施例提供了一种服务器(一)。

图6为本发明实施例提供的服务器(一)的结构示意图。如图6所示,所述服务器(一)可以包括:

存储器620,一个或多个处理器610,通信接口630,总线以及一个或多个模块,所述处理器、所述存储器和所述通信接口通过所述总线连接并完成相互间的通信;所述一个或多个模块被存储在所述存储器中,并被配置成由所述一个或多个处理器执行,所述一个或多个模块包括用于执行上述数据发送方法中各个步骤的指令。

基于上述数据接收方法的同一发明构思,本发明实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机可读的存储介质和内嵌于其中的计算机程序机制,所述计算机程序机制包括用于执行上述数据发送方法中各个步骤的指令。

基于上述数据接收方法的同一发明构思,本发明实施例提供了一种服务器(二)。

图7为本发明实施例提供的服务器(二)的结构示意图,如图7所示,所述服务器(二)可以包括:

存储器720,一个或多个处理器720,通信接口730,总线以及一个或多个模块,所述处理器、所述存储器和所述通信接口通过所述总线连接并完成相互间的通信;所述一个或多个模块被存储在所述存储器中,并被配置成由所述一个或多个处理器执行,所述一个或多个模块包括用于执行所述数据接收方法中各个步骤的指令。

基于上述数据接收方法的同一发明构思,本发明实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机可读的存储介质和内嵌于其中的计算机程序机制,所述计算机程序机制包括用于执行所述数据接收方法中各个步骤的指令。

为了便于本发明的实施,下面以实例进行说明。

本发明实施例二以cdn实际应用场景为例,对本发明实施例一进行详细描述。

实施例二

在cdn一级缓存侧的设备上部署一个代理,这个代理既有http代理服务器的功能,又支持arq协议,具有探测功能,可以探测一级缓存和二级缓存之间的链路质量,通过snmp协议从二级缓存获取二级缓存的带宽使用情况。具体的,该代理包括http代理服务器功能模块、支持arq的功能模块、探测模块和配置模块,具体实施中,可以在现有的一级缓存侧的设备代理上增加探测模块和支持arq的功能模块。支持arq的功能模块可以根据例如kcp协议实现的一种快速可靠的udp传输隧道;探测模块负责探测cdn一级缓存和二级缓存之间的链路质量,探测方式可以采用icmp(internetcontrolmessageprotocol,internet控制报文协议)协议,并可以通过例如snmp协议探测二级缓存的带宽利用率;配置模块负责配置变量信息,这里不做具体限定。

图8为本发明实施例中cdn一级缓存侧的设备的代理结构示意图,http代理服务器功能模块、支持arq的功能模块1、探测模块和配置模块之间的关系如图8所示。

图9为本发明实施例中cdn一级缓存侧代理的处理流程示意图,如图9所示,具体如下:

步骤901、开始;

步骤902、接收二级缓存的连接请求;

步骤903、探测cdn一级缓存和二级缓存的链路质量或二级缓存的带宽利用率,根据探测结果,确定基于http传输或者基于arq传输;

步骤904、当链路质量低于第一阈值(例如误码率高于15%),或者,所述二级缓存的带宽利用率低于第二阈值(例如带宽利用率低于50%)时,采用arq方式传输;

步骤905、链路质量不低于第一阈值(例如误码率不高于15%),并且,所述二级缓存的带宽利用率不低于第二阈值(例如带宽利用率不低于50%)时,采用http进行数据传输;

步骤906、传输完毕,关闭连接;

步骤907、结束。

在cdn二级缓存侧的设备上,部署一个支持arq协议的应用,以配合一级缓存侧的设备进行数据接收处理。

图10采用本发明实施例提供的方案后,cdn一级缓存侧的设备发送数据的流程示意图,如图10所示,具体如下:

步骤1001、一级缓存侧的设备代理的探测模块周期或非周期性(例如,可以在接收到二级缓存侧的设备的连接请求后)地探测,具体探测内容包括:cdn一、二级缓存侧的设备之间的链路质量或者探测二级缓存侧的设备的带宽利用率;

步骤1002、一级缓存侧的设备代理接收到一级缓存的连接请求后,根据步骤1001的探测结果,确定采用可靠的arq传输,或者,确定直接采用http传输。

步骤1003、若一级缓存侧的设备代理确定采用可靠的arq传输,将来自一级缓存中的http格式的数据转换成udp的数据格式,通过在cdn一、二级缓存的设备之间增设的arq隧道传输至二级缓存侧的设备的支持arq协议的应用对应的功能模块2,由支持arq的功能模块2将接收的数据从udp格式转换为http格式后,发送至二级缓存进行缓存。

步骤1004、若确定直接采用http传输,将二级缓存侧的设备的请求的位于一级缓存中的数据直接以http格式发送至二级缓存,并将来自二级缓存的响应信息返回给一级缓存。

本发明实施例提供的方案,基于对cdn一、二级缓存侧的设备的改进,根据探测到的cdn一、二级缓存侧的设备之间的链路质量或者二级缓存侧的设备的带宽利用率的,确定具体采用arq传输还是采用http直接传输,可以灵活地根据cdn一级缓存和二级缓存的链路质量或二级缓存的带宽利用率,合理地选择数据传输的方式,有效加快数据传输数据,提供带宽利用效率。

上述实施例中,均可以采用现有的功能元器件模块来实施。例如,处理模块可以采用现有的数据处理元器件,至少,现有定位技术中采用的定位服务器上便具备实现该功能元器件;至于接收模块,则是任意一个具备信号传输功能的设备都具备的元器件;同时,处理模块进行的a、n参数计算、强度调整等采用的都是现有的技术手段,本领域技术人员经过相应的设计开发即可实现。

为了描述的方便,以上所述装置的各部分以功能分为各种模块或单元分别描述。当然,在实施本发明时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1