节点间距离的度量方法及系统与流程

文档序号:13110112阅读:447来源:国知局
技术领域本发明涉及互联网技术领域,特别涉及一种节点间距离的度量方法及系统。

背景技术:
CDN(ContentDeliveryNetwork,内容分发网络)是一种通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络。CDN能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上,其目的是能够选择离用户相对较近的节点向用户发送用户所需的内容,缓解网络拥挤的状况,提高网站的响应速度。现有技术中,采用两个节点之间的下载速度来衡量两个节点之间的距离,但是,两节点之间的下载速度是在随时间不断的变化的,因此通过下载速度衡量的节点间的距离需要不断的更新才能保证该距离的准确性,但是每一次更新节点间距离都要发送大量的数据来重新测试两节点间的下载速度,以确定节点间距离,这必然要花费大量的带宽以及其它的网络资源在下载速度的测试上,这就造成了对网络资源的极大的浪费。因此,急需一种既能够保证节点间距离得到及时的更新以保证该节点间距离的准确性,从而保证为用户提供优质的服务,又能够以最小的网络资源的开销来完成节点间距离的更新的方法。

技术实现要素:
本发明提供一种节点间距离的度量方法及系统,用于解决上述技术问题。根据本发明的一个方面,提供了一种节点间距离的度量方法,包括:在预设时间段内从第一节点向第二节点发送多次测试数据以获取所述预设时间段内的平均往返时间;在多个所述预设时间段内从第一节点向第二节点分别发送多次测试数据以获取所述多个预设时间段内的平均丢包率;至少根据所述平均往返时间和平均丢包率度量所述第一节点和第二节点之间的距离,其中,所述平均往返时间、所述平均丢包率与所述距离成正比。根据本发明的另一个方面,提供一种节点间距离的度量系统,包括:平均往返时间确定模块,用于在预设时间段内从第一节点向第二节点发送多次测试数据以获取所述预设时间段内的平均往返时间;平均丢包率确定模块,用于在多个所述预设时间段内从第一节点向第二节点分别发送多次测试数据以获取所述多个预设时间段内的平均丢包率;距离度量模块,用于至少根据所述平均往返时间和平均丢包率度量所述第一节点和第二节点之间的距离,其中,所述平均往返时间、所述平均丢包率与所述距离成正比。本发明实施方式的节点间距离的度量方法及系统,通过探测第一节点和第二节点间通信时的平均往返时间和平均丢包率,并综合考虑平均往返时间和平均丢包率来度量两节点间的距离,由于平均往返时间和平均丢包率是可以通过网络资源消耗极少的且操作简单的ping测试直接得到的,从而实现了及时的更新节点间距离以保证该节点间距离的准确性,为用户提供优质的服务,又以最小的网络资源开销完成了节点间距离的更新。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明的节点间距离度量方法的一实施方式的流程图;图2为本发明的节点间距离度量方法的另一实施方式的流程图;图3为本发明的节点间距离度量方法的又一实施方式的流程图;图4为本发明的节点间距离度量方法的再一实施方式的流程图;图5为本发明的节点间距离度量系统的一实施方式的示意图;图6为本发明的节点间距离度量系统的另一实施方式的示意图;图7为本发明的节点间距离度量系统的又一实施方式的示意图;图8为本发明的节点间距离度量系统的再一实施方式的示意图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施方式及实施方式中的特征可以相互组合。本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。如图1所示,本发明的一实施方式的节点间距离的度量方法,包括:在预设时间段内从第一节点向第二节点发送多次测试数据以获取所述预设时间段内的平均往返时间;在多个所述预设时间段内从第一节点向第二节点分别发送多次测试数据以获取所述多个预设时间段内的平均丢包率;至少根据所述平均往返时间和平均丢包率度量所述第一节点和第二节点之间的距离,其中,所述平均往返时间、所述平均丢包率与所述距离成正比。本实施例中,通过探测第一节点和第二节点间通信时的平均往返时间和平均丢包率,并综合考虑平均往返时间和平均丢包率来度量两节点间的距离,由于平均往返时间和平均丢包率是可以通过网络资源消耗极少的且操作简单的ping测试直接得到的,从而实现了及时的更新节点间距离以保证该节点间距离的准确性,为用户提供优质的服务,又以最小的网络资源开销完成了节点间距离的更新。如图2所示,在本发明的一实施方式的节点间距离的度量方法中,在预设时间段内从第一节点向第二节点发送多次测试数据以获取所述预设时间段内的平均往返时间包括:从第一节点向第二节点发送多次测试数据得到多个往返时间;对所述多个往返时间求平均值得到所述平均往返时间。本实施例中,通过在预设时间段内从第一节点向第二节点发送多次数据以确定多个往返时间,然后对得到的多个往返时间求平均值得到平均往返时间,避免了因突发情况导致的单次往返时间过长或者极短的情况对最终节点间距离的度量的影响。如图3所示,在本发明的一实施方式的节点间距离的度量方法中,在多个所述预设时间段内从第一节点向第二节点发送多次测试数据以获取所述多个预设时间段内的平均丢包率包括:在多个所述预设时间段内从第一节点向第二节点发送多次测试数据得到多个丢包率;对所述多个丢包率求平均值得到所述平均丢包率。本实施例中,通过在设置了多个预设时间段,并且依次在每一个时间段内分别发送多次测试数据以得到多个丢包率,然后对得到的多个丢包率求平均值得到平均丢包率,避免了因突发情况导致的只测一次得到的丢包率过大或者过小的情况对最终节点间距离的度量的影响。如图4所示,在本发明的一实施方式的节点间距离的度量方法中,至少根据所述平均往返时间和平均丢包率度量所述第一节点和第二节点之间的距离包括:对所述往返时间和丢包率分别赋予第一权重、第二权重;对所述往返时间和丢包率进行加权求和,利用求得的和值度量所述第一节点和第二节点之间的距离。本发明的所有实施例中所述的节点间距离并不是地理上的实际距离,而是一种度量节点间通信质量的量化,而两节点之间的往返时间越长、丢包率越大则表明两节点间的通信质量越差,两节点间的节点间距离也就越长,因此综合考虑两节点间的往返时间越长、丢包率进行加权求和来度量两节点间的距离。本实施例中只列举了通过两节点之间的往返时间越长、丢包率来度量节点间距离,但并不限于此,还可以综合考虑可能会对两节点间的通信质量造成影响的其它的因素。本实施方式中,通过平均往返时间和平均丢包率分别赋予第一权重、第二权重并进行求和的方式来度量两个节点之间的距离,其中第一权重、第二权重可根据需求进行调整,以达到对节点间距离的更加准确可靠的度量,例如当网络环境变化时(如网络运营商对不同地域内的网络环境进行调整)往返时间和丢包率对节点间距离的度量的影响所占的比重必然发生变化,这时就可以根据调整第一权重、第二权重的方法实现对上述因子所占比重的调整,从而更加准确可靠的度量两个节点间的距离。此外,两节点间的距离越短,则表明两节点间的下载速度就越快,即下载速度与两节点间的距离成反比:L=1/v,其中L为节点间距,v为节点间的下载速度。因此,节点间距离可以由以下公式确定:L=1/v=α1r+α2d;(1-1)其中L为节点间距,v为节点间的下载速度,r为平均往返时间,d为平均丢包率,α1为第一权重,α2为第二权重。本实施例中的只要将第一权重α1、第二权重α2两个未知参数确定下来,以后对距离L的更新就可以只测试两节点间的平均往返时间r和平均丢包率d即可。由上述公式(1-1)可知,可以通过测试一次节点间的下载速度v,并在测试下载速度v的过程中测试多对平均往返时间和平均丢包率(rn,dn)(因为测试下载速度v时要发送大量的测试数据,这样也就可以在测v期间得到多对的平均往返时间和平均丢包率了),其中n为测试的平均往返时间和平均丢包率的对数,可以根据需要设定n。然后基于得到的多对平均往返时间和平均丢包率(rn,dn)根据最小二乘法确定第一权重α1、第二权重α2。为使本实施例更加清楚,结合一下具体示例进行描述:其中x代表平均往返时间r,y代表平均丢包率d。在我们研究两个变量(x,y)之间的相互关系时,通常可以得到一系列成对的数据(x1,y1.x2,y2...xn,yn);将这些数据描绘在x-y直角坐标系中,若发现这些点在一条直线附近,可以令这条直线方程为:yi=a0+a1x(1-2)由公式(1-1)可得:r=1/vα1-dα2/α1(1-3)由此可得,a0=1/vα1,a1=-α2/α1,是任意实数。为建立这直线方程就要确定a0和a1,应用《最小二乘法原理》,将实测值Yi与计算值Yj(Yj=a0+a1X)的差(Yi-Yj)的平方和∑(Yi-Yj)2最小为“优化判据”。令:把式(1-2)代入式(1-4)中得:当∑(Yi-Yj)2最小时,可用函数对a0、a1求偏导数,令这两个偏导数等于零。∑2(a0+a1*Xi-Yi)=0(1-6)∑2Xi(a0+a1*Xi-Yi)=0(1-7)亦即:na0+(∑Xi)a1=∑Yi(1-8)(∑Xi)a0+(∑Xi^2)a1=∑(Xi*Yi)(1-9)得到的两个关于a0、a1为未知数的两个方程组,解这两个方程组得出:a0=(∑Yi)/n-a1(∑Xi)/n(1-10)a1=[n∑(XiYi)-(∑Xi∑Yi)]/(n∑Xi^2-∑Xi∑Xi)(1-11)再根据求得的a0、a1确定第一权重α1、第二权重α2即可。本实施方式中第一节点向第二节点发送的测试数据可以是实际应用中两个节点间以往的请求与响应的历史数据,也可以是为了度量两个节点间的距离而专门发送的测试请求信息;同样确定第一节点和第二节点之间的平均往返时间和平均丢包率也可以是根据历史数据采集的信息或者是根据测试请求信息确定的。本实施方式中通过综合考虑两节点间的往返时间和丢包率来度量两节点之间的距离(其中往返时间为两节点之间进行一次完整的通信的时间,往返时间越短说明两节点间距离越近;丢包率为两节点之间通信时传输信息的完整性的度量,丢包率越大则表明两节点之间传输信息的越不完整,即两节点间的距离越大),因为节点间的往返时间和丢包率可以通过ping测试就能够得到,而且这种测试消耗的网络资源也是非常小的,因此可以在保证不过度消耗浪费网络资源的情况下及时的更新两节点间的距离,使得最终确定的两节点之间的距离值更可靠,从而能够为CDN系统进行内容的分发提供更可靠的调度依据,保证对用户的服务质量,从而有助于提升用户体验。本实施方式中的往返时间直接进行监测得到;其中,往返时间简单来说就是发送方从发送数据开始,到收到来自接受方的确认信息所经历的时间,其在计算机网络中它是一个重要的性能指标,表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认),总共经历的时延,RTT值由三个部分决定:即链路的传播时间、末端系统的处理时间以及路由器的缓存中的排队和处理时间;其中,前面两个部分的值作为一个TCP连接相对固定,路由器的缓存中的排队和处理时间会随着整个网络拥塞程度的变化而变化,所以RTT的变化在一定程度上反映了网络拥塞程度的变化。丢包率(LossTolerance或PacketLossRate)是指测试中所丢失数据包数量占所发送数据组的比率,计算方法是:“[(输入报文-输出报文)/输入报文]*100%”,本实施方式中的丢包率为第一节点发送的数据减去第二节点接收到的数据除以第一节点发送的数据乘以百分百。此外,本发明还提供一种CDN调度方法,采用上述任一实施方式的节点间距离的度量方法确定距离请求用户最近的CDN节点调度给请求用户。本发明实施方式中可以通过硬件处理器(hardwareprocessor)来实现相关功能模块。需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作合并,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。如图5所示,本发明的实施方式还提供一种节点间距离的度量系统,包括:平均往返时间确定模块,用于在预设时间段内从第一节点向第二节点发送多次测试数据以获取所述预设时间段内的平均往返时间;平均丢包率确定模块,用于在多个所述预设时间段内从第一节点向第二节点分别发送多次测试数据以获取所述多个预设时间段内的平均丢包率;距离度量模块,用于至少根据所述平均往返时间和平均丢包率度量所述第一节点和第二节点之间的距离,其中,所述平均往返时间、所述平均丢包率与所述距离成正比。本实施例中,通过探测第一节点和第二节点间通信时的平均往返时间和平均丢包率,并综合考虑平均往返时间和平均丢包率来度量两节点间的距离,由于平均往返时间和平均丢包率是可以通过网络资源消耗极少的且操作简单的ping测试直接得到的,从而实现了及时的更新节点间距离以保证该节点间距离的准确性,为用户提供优质的服务,又以最小的网络资源开销完成了节点间距离的更新。如图6所示,在一些实施方式中,平均往返时间确定模块包括:往返时间确定单元,用于从第一节点向第二节点发送多次测试数据得到多个往返时间;第一均值单元,用于对所述多个往返时间求平均值得到所述平均往返时间。本实施例中,通过在预设时间段内从第一节点向第二节点发送多次数据以确定多个往返时间,然后对得到的多个往返时间求平均值得到平均往返时间,避免了因突发情况导致的单次往返时间过长或者极短的情况对最终节点间距离的度量的影响。如图7所示,在一些实施方式中,平均丢包率确定模块包括:丢包率确定单元,用于在多个所述预设时间段内从第一节点向第二节点发送多次测试数据得到多个丢包率;第二均值单元,用于对所述多个丢包率求平均值得到所述平均丢包率。本实施例中,通过在设置了多个预设时间段,并且依次在每一个时间段内分别发送多次测试数据以得到多个丢包率,然后对得到的多个丢包率求平均值得到平均丢包率,避免了因突发情况导致的只测一次得到的丢包率过大或者过小的情况对最终节点间距离的度量的影响。如图8所示,在一些实施方式中,距离度量模块包括:权重分配单元,用于对所述往返时间和丢包率分别赋予第一权重、第二权重;加权求和单元,用于对所述往返时间和丢包率进行加权求和,以利用求得的和值度量所述第一节点和第二节点之间的距离。本发明的所有实施例中所述的节点间距离并不是地理上的实际距离,而是一种度量节点间通信质量的量化,而两节点之间的往返时间越长、丢包率越大则表明两节点间的通信质量越差,两节点间的节点间距离也就越长,因此综合考虑两节点间的往返时间越长、丢包率进行加权求和来度量两节点间的距离。本实施例中只列举了通过两节点之间的往返时间越长、丢包率来度量节点间距离,但并不限于此,还可以综合考虑可能会对两节点间的通信质量造成影响的其它的因素。本实施方式中,通过平均往返时间和平均丢包率分别赋予第一权重、第二权重并进行求和的方式来度量两个节点之间的距离,其中第一权重、第二权重可根据需求进行调整,以达到对节点间距离的更加准确可靠的度量,例如当网络环境变化时(如网络运营商对不同地域内的网络环境进行调整)往返时间和丢包率对节点间距离的度量的影响所占的比重必然发生变化,这时就可以根据调整第一权重、第二权重的方法实现对上述因子所占比重的调整,从而更加准确可靠的度量两个节点间的距离。在一些实施例中,距离由以下公式确定:L=α1r+α2d;其中L为节点间距,r为平均往返时间,d为平均丢包率,α1为第一权重,α2为第二权重。以上所描述的方法实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。本领域内的技术人员应明白,本发明的实施方式可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施方式、完全软件实施方式、或结合软件和硬件方面的实施方式的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施方式的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1