节点间距离的度量方法及系统的制作方法
【专利摘要】本发明提供了一种节点间距离的度量方法,包括:获取第一节点和第二节点之间的数据传输速率、往返时间和丢包率;根据所述数据传输速率、往返时间和丢包率度量所述第一节点和第二节点之间的距离,其中,所述数据传输速率与所述距离成反比,所述往返时间、所述丢包率与所述距离成正比;相应的还提供一种节点间距离的度量系统;本发明的节点间距离的度量方法及系统解决了现有技术中节点间距离度量不准确、不可靠的技术问题。
【专利说明】
节点间距离的度量方法及系统
技术领域
[0001]本发明涉及互联网技术领域,特别涉及一种节点间距离的度量方法及系统。
【背景技术】
[0002]Q)N(Content Delivery Network,内容分发网络)是一种通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络。CDN能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上,其目的是能够选择离用户相对较近的节点向用户发送用户所需的内容,缓解网络拥挤的状况,提高网站的响应速度。
[0003]现有技术中,采用两个节点之间的下载速度来衡量两个节点之间的距离,但是,实际网络环境中,不仅下载速度影响两个节点之间的距离,还存在其它因素对两点之间的距离的影响,例如两个节点之间的RTT (Round-tr iP Time往返时间)值、两个节点之间通信时的丢包率等因素,因此传统的只采用下载速度来衡量两个节点之间的距离是不准确的、不可靠的,依据这样的度量距离来为用户选择的所谓最近节点并不一定就是实际上最近的节点,从而不能够为用户提供最优的服务,影响用户体验。
【发明内容】
[0004]本发明提供一种节点间距离的度量方法及系统,用于解决现有技术中节点间距离度量不准确、不可靠的技术问题。
[0005]根据本发明的一个方面,提供了一种节点间距离的度量方法,包括:
[0006]获取第一节点和第二节点之间的数据传输速率、往返时间和丢包率;
[0007]根据所述数据传输速率、往返时间和丢包率度量所述第一节点和第二节点之间的距离,其中,所述数据传输速率与所述距离成反比,所述往返时间、所述丢包率与所述距离成正比。
[0008]根据本发明的另一个方面,提供一种节点间距离的度量系统,包括:
[0009]度量值确定模块,用于获取第一节点和第二节点之间的数据传输速率、往返时间和丢包率;
[0010]距离度量模块,用于根据所述数据传输速率、往返时间和丢包率度量所述第一节点和第二节点之间的距离,其中,所述数据传输速率与所述距离成反比,所述往返时间、所述丢包率与所述距离成正比。
[0011]本发明实施方式的节点间距离的度量方法及方法,通过探测第一节点和第二节点间通信时的数据传输速率、往返时间和丢包率,并综合考虑数据传输速率、往返时间和丢包率进行加权和来确定两节点间的距离,使得最终确定的两节点间的距离更加准确可靠,从而也为CDN调度提供了最可靠的最近节点的确定方法,提升了为用户提供的服务的质量,保证了用户体验。
【附图说明】
[0012]为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0013]图1为本发明的节点间距离度量方法的一实施方式的流程图;
[0014]图2为本发明的节点间距离度量方法的另一实施方式的流程图;
[0015]图3为本发明的节点间距离度量系统的一实施方式的示意图;
[0016]图4为本发明的节点间距离度量系统的另一实施方式的示意图。
【具体实施方式】
[0017]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0018]需要说明的是,在不冲突的情况下,本申请中的实施方式及实施方式中的特征可以相互组合。
[0019]本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
[0020]本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0021]最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0022 ]如图1所示,本发明的一实施方式的节点间距离的度量方法,包括:
[0023 ] S11、获取第一节点和第二节点之间的数据传输速率、往返时间和丢包率;
[0024]S12、根据数据传输速率、往返时间和丢包率度量所述第一节点和第二节点之间的距离,其中,数据传输速率与距离成反比,往返时间、丢包率与距离成正比。
[0025]本实施方式中第一节点向第二节点发送请求消息可以是实际应用中两个节点间以往的请求与响应的历史数据,也可以是为了度量两个节点间的距离而专门发送的测试请求信息;同样确定第一节点和第二节点之间的数据传输速率、往返时间和丢包率也可以是根据历史数据采集的信息或者是根据测试请求信息确定的。
[0026]本实施方式中通过综合考虑两节点间的下载速率、往返时间和丢包率来度量两节点之间的距离(其中下载速率为两个节点之间进行数据传输的速度的衡量,下载速率越大说明两节点之间的距离越近,所以下载速率与两节点之间的距离成反比;往返时间为两节点之间进行一次完整的通信的时间,往返时间越短说明两节点间距离越近;丢包率为两节点之间通信时传输信息的完整性的度量,丢包率越大则表明两节点之间传输信息的越不完整,即两节点间的距离越大),使得最终确定的两节点之间的距离值更可靠,从而能够为CDN系统进行内容的分发提供更可靠的调度依据,保证对用户的服务质量,从而有助于提升用户体验。
[0027]本实施方式中的数据传输速率和往返时间直接进行监测得到;其中,往返时间简单来说就是发送方从发送数据开始,到收到来自接受方的确认信息所经历的时间,其在计算机网络中它是一个重要的性能指标,表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认),总共经历的时延,RTT值由三个部分决定:即链路的传播时间、末端系统的处理时间以及路由器的缓存中的排队和处理时间;其中,前面两个部分的值作为一个TCP连接相对固定,路由器的缓存中的排队和处理时间会随着整个网络拥塞程度的变化而变化,所以RTT的变化在一定程度上反映了网络拥塞程度的变化。
[0028]丢包率(Loss Tolerance或Packet Loss Rate)是指测试中所丢失数据包数量占所发送数据组的比率,计算方法是:“[(输入报文-输出报文)/输入报文]*100%”,本实施方式中的丢包率为第一节点发送的数据减去第二节点接收到的数据除以第一节点发送的数据乘以百分百。
[0029]如图2所示,在一些实施方式中,根据所述数据传输速率、往返时间和丢包率度量所述第一节点和第二节点之间的距离包括:
[0030]S21、对所述数据传输速率的倒数、往返时间和丢包率分别赋予第一权重、第二权重、第三权重;
[0031]S22、对数据传输速率的倒数、往返时间和丢包率进行加权求和,利用求得的和值度量第一节点和第二节点之间的距离。
[0032]本实施方式中,通过为数据传输速率的倒数、往返时间和丢包率分别赋予第一权重、第二权重、第三权重并进行求和的方式来度量两个节点之间的距离,其中第一权重、第二权重、第三权重可根据需求进行调整,以达到对节点间距离的更加准确可靠的度量,例如当网络环境变化时(如网络运营商对不同地域内的网络环境进行调整)数据传输速率的倒数、往返时间和丢包率对节点间距离的度量的影响所占的比重必然发生变化,这时就可以根据调整第一权重、第二权重、第三权重的方法实现对上述三个因子所占比重的调整,从而更加准确可靠的度量两个节点间的距离。
[0033]在一些实施方式中,第一权重、第二权重、第三权重为动态变化的,且满足以下公式:
[0034]Cii = Ai Pi = Bi Yi = Ci;
[0035]Q10 = Ao β’ο = Β。γ 'ο = Co;
[0036](!^根据“^和?确定-^根据爲’^和爲^角定,γ ’i根据γ ’i—ι和yi确定;
[0037]a、为第一权重的第i个值,β’?为第二权重的第i个值γ、为第三权重的第i个值,ai为参考第一权重、队为参考第二权重、γ i为参考第三权重,A1、B1、Ci为根据参考模型确定的值,参考模型根据多个节点的节点间的距离和节点间的历史传输速率、历史往返时间和历史丢包率的关系而建立,i从I到N。
[0038]在本实施方式中,模型指的是根据各个节点间距离的历史表现数据确定的最小生成树,其中各个节点间距离的历史表现数据由网络运营商或者历史统计数据得到;或者模型根据各个节点间相互响应质量的历史数据生成的最下生成树。
[0039]本发明的技术方案在于,设两节点之间的距离为:
[0040]L = a ’ i/ν+β’江+γ ’ id 公式I
[0041]其中dnY\为大于0小于I的待定系数,V为下载速度,r为往返时间,d为丢包率。
[0042]本实施方式中生成的最小生成树中的各个点为单独的CDN节点,并且每一个节点到另一个节点之间的距离是已经固定的,各个节点之间的距离是已经量化的为固定的距离值;将各个节点中两两节点间的距离值以及两节点间的历史传输速率、历史往返时间和历史丢包率代入公式I中以确定公式I中的三个加权系数。
[0043]两节点间的历史传输速率、历史往返时间和历史丢包率为距离当前时间固定时间段内的历史数据,例如距离当前时间10天内的历史数据。第一权重、第二权重、第三权重按照预定时间间隔(例如10天)不短更新确定,其中第一次计算得到α’ο = Αο β’ο = Βο γ ’o = Co分别作为第一权重、第二权重、第三权重,当第二次计算时得到^二六工βι = Βι T1 = C1,此时,第一权重a ’ i由€( ’ (^Pa1的加权和确定,第二权重β’工由0’ 的加权和确定,第三权重γ、由γ ’0和T1的加权和确定,依次类推确定后续的第一权重、第二权重、第三权重;这样通过前一权重值以及当前计算的权重值的加权和来确定当前实际应用的权重值的方法使的实际应用的权重值可以根据需求在前一权重值以及当前计算的权重值之间调整,以确定更加准确的实际应用的权重值,从而保证量节点间距离度量的准确性与可靠性。
[0044]在一些实施方式中,a’i根据a’1-dPai确定,β’?根据β’?-:^Ρβ?确定,γ ’ i根据γ Vi和Y i确定表现为:
[0045]a’i=(K-l)/Ka’i—ι+1/Kai
[0046]β\=(Κ-1)/Κβνι+1/Κ&
[0047]γ’i=(K-l)/Ky’i—ι+1/Κγ i
[0048]K为正整数。
[0049]本实施方式中,通过为前一权重设置加权系数(K-l)/K,为当前计算的权重设置加权系数1/Κ,来加权求和确定实际应用的权重,使得最终得到的实际应用的权重值相对接近前一权重值(因为(K-D/K大于或等于1/Κ),从而不会使得实际应用的权重与前一权重之间不会有太大的波动,避免了因网络环境突变(非正常调整)而引起的权重的变化,以保证对节点间距离的度量的可靠性与准确性。
[0050]在一些实施方式中,第一权重、第二权重、第三权重之和为I,即对三个权重之间进行了归一化处理,以便于更加合理的调整数据传输速率的倒数、往返时间和丢包率三者之间的比重。
[0051]此外,本发明还提供一种⑶N调度方法,采用上述任一实施方式的节点间距离的度量方法确定距离请求用户最近的⑶N节点调度给请求用户。
[°°52] 本发明实施方式中可以通过硬件处理器(hardware processor)来实现相关功能模块。
[0053]需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作合并,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0054]在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0055]如图3所示,本发明的实施方式还提供一种节点间距离的度量系统,包括:
[0056]度量值确定模块,用于获取所述第一节点和所述第二节点之间的数据传输速率、往返时间和丢包率;
[0057]距离度量模块,用于根据所述数据传输速率、往返时间和丢包率度量所述第一节点和第二节点之间的距离,其中,所述数据传输速率与所述距离成反比,所述往返时间、所述丢包率与所述距离成正比。
[0058]本实施方式中通过综合考虑两节点间的下载速率、往返时间和丢包率来度量两节点之间的距离(其中下载速率为两个节点之间进行数据传输的速度的衡量,下载速率越大说明两节点之间的距离越近,所以下载速率与两节点之间的距离成反比;往返时间为两节点之间进行一次完整的通信的时间,往返时间越短说明两节点间距离越近;丢包率为两节点之间通信时传输信息的完整性的度量,丢包率越大则表明两节点之间传输信息的越不完整,即两节点间的距离越大),使得最终确定的两节点之间的距离值更可靠,从而能够为CDN系统进行内容的分发提供更可靠的调度依据,保证对用户的服务质量,从而有助于提升用户体验。
[0059]如图4所示,在一些实施方式中,距离度量模块包括:
[0060]权重赋予单元,用于对数据传输速率的倒数、往返时间和丢包率分别赋予第一权重、第二权重、第三权重;
[0061]加权求和单元,用于对数据传输速率的倒数、往返时间和丢包率进行加权求和,利用求得的和值度量所述第一节点和第二节点之间的距离。
[0062]本实施方式中,通过为数据传输速率的倒数、往返时间和丢包率分别赋予第一权重、第二权重、第三权重并进行求和的方式来度量两个节点之间的距离,其中第一权重、第二权重、第三权重可根据需求进行调整,以达到对节点间距离的更加准确可靠的度量,例如当网络环境变化时(如网络运营商对不同地域内的网络环境进行调整)数据传输速率的倒数、往返时间和丢包率对节点间距离的度量的影响所占的比重必然发生变化,这时就可以根据调整第一权重、第二权重、第三权重的方法实现对上述三个因子所占比重的调整,从而更加准确可靠的度量两个节点间的距离。
[0063]在一些实施方式中,第一权重、第二权重、第三权重为动态变化的,且满足以下公式:
[0064]CXi = Ai Pi = Bi yi = Ci;
[0065]α’ο = Αο β’ο = Βο γ ' ο = Co ;
[0066](^根据“^和?确定-^根据爲’^和爲痛定,γ ’i根据γ ’1-1和yi确定;
[0067]a、为第一权重的第i个值,β’?为第二权重的第i个值γ、为第三权重的第i个值,ai为参考第一权重、队为参考第二权重、γ i为参考第三权重,A1、B1、Ci为根据参考模型确定的值,所述参考模型根据多个节点的节点间的距离和节点间的历史传输速率、历史往返时间和历史丢包率的关系而建立,i从I到N。
[0068]在一些实施方式中,a’i根据a’i—JPai确定,β’?根据β’?—dPPi确定,γ ’ i根据γ Vi和Y i确定表现为:
[0069]a,i=(K-l)/Ka,1-1+l/Kai
[0070]β\=(Κ-1)/Κβνι+1/Κ&
[0071]γ,i=(K-l)/Ky Vι+1/Κγ i
[0072]K为正整数。
[0073]本实施方式中,通过为前一权重设置加权系数(K-l)/K,为当前计算的权重设置加权系数1/Κ,来加权求和确定实际应用的权重,使得最终得到的实际应用的权重值相对接近前一权重值(因为(K-D/K大于或等于1/Κ),从而不会使得实际应用的权重与前一权重之间不会有太大的波动,避免了因网络环境突变(非正常调整)而引起的权重的变化,以保证对节点间距离的度量的可靠性与准确性。
[0074]在一些实施方式中,第一权重、第二权重、第三权重之和为I,即对三个权重之间进行了归一化处理,以便于更加合理的调整数据传输速率的倒数、往返时间和丢包率三者之间的比重。
[0075]以上所描述的方法实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0076]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0077]本领域内的技术人员应明白,本发明的实施方式可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施方式、完全软件实施方式、或结合软件和硬件方面的实施方式的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0078]本发明是参照根据本发明实施方式的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0079]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0080]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【主权项】
1.一种节点间距离的度量方法,包括: 获取第一节点和第二节点之间的数据传输速率、往返时间和丢包率; 根据所述数据传输速率、往返时间和丢包率度量所述第一节点和第二节点之间的距离,其中,所述数据传输速率与所述距离成反比,所述往返时间、所述丢包率与所述距离成正比。2.根据权利要求1所述的节点间距离的度量方法,其特征在于,所述根据所述数据传输速率、往返时间和丢包率度量所述第一节点和第二节点之间的距离包括: 对所述数据传输速率的倒数、往返时间和丢包率分别赋予第一权重、第二权重、第三权重; 对所述数据传输速率的倒数、往返时间和丢包率进行加权求和,利用求得的和值度量所述第一节点和第二节点之间的距离。3.根据权利要求2所述的节点间距离的度量方法,其特征在于,所述第一权重、第二权重、第三权重,分别为:α?=Α?β? = Β? Yi = Ci;α’ο=Αοβ’() = Β() γ ’o = Co; (!’廉据^^和^确定^’廉据爲’^和爲滴定,γ ’i根据γ VI和γ i确定;i从I至IjN;a’i为第一权重的第i个值,β’?为第二权重的第i个值,γ ’i为第三权重的第i个值,ai为参考第一权重、Pi为参考第二权重、Y i为参考第三权重,A1、B1、Ci为根据参考模型确定的值,所述参考模型根据多个节点的节点间的距离和节点间的历史传输速率、历史往返时间和历史丢包率的关系而建立。4.根据权利要求3所述的节点间距离的度量方法,其特征在于,所述a,,根据a,η和(^确定,β’?根据β Vi和Pi确定,γ ’i根据γ Vi和γ i确定表现为: a,i=(K-l)/Ka,1-1+l/Kai β’i= (K-1)/Κβ’Η+1/Κ& γ,?=(Κ-1)/Κγ,i—i+l/Kyi K为正整数。5.根据权利要求2-4中任一项所述的节点间距离的度量方法,其特征在于,所述第一权重、第二权重、第三权重之和为I。6.—种节点间距离的度量系统,包括: 度量值确定模块,用于获取第一节点和第二节点之间的数据传输速率、往返时间和丢包率; 距离度量模块,用于根据所述数据传输速率、往返时间和丢包率度量所述第一节点和第二节点之间的距离,其中,所述数据传输速率与所述距离成反比,所述往返时间、所述丢包率与所述距离成正比。7.根据权利要求6所述的节点间距离的度量系统,其特征在于,所述距离度量模块包括: 权重赋予单元,用于对所述数据传输速率的倒数、往返时间和丢包率分别赋予第一权重、第二权重、第三权重; 加权求和单元,用于对所述数据传输速率的倒数、往返时间和丢包率进行加权求和,利用求得的和值度量所述第一节点和第二节点之间的距离。8.根据权利要求7所述的节点间距离的度量方法,其特征在于,所述第一权重、第二权重、第三权重,分别为:Cti=AiPi = Bi γ i = Ci;α’ο=Αοβ’() = Β() γ ’o = Co; a’i由a’1-jPcti的加权和确定,加权和确定,γ \由γ VjPyi的加权和确定,i从I到N; a’i为第一权重的第i个值,β’?为第二权重的第i个值γ ’i为第三权重的第i个值,ai为参考第一权重、Pi为参考第二权重、γ i为参考第三权重,A1、B1、Ci为根据参考模型确定的值,所述参考模型根据多个节点的节点间的距离和节点间的历史传输速率、历史往返时间和历史丢包率的关系而建立。9.根据权利要求8所述的节点间距离的度量方法,其特征在于,所述a,,根据a,η和(^确定,β’?根据β Vi和Pi确定,γ ’i根据γ Vi和γ i确定表现为: a,i=(K-l)/Ka,1-1+l/Kai β’i= (K-1)/Κβ’Η+1/Κ& γ,?=(Κ-1)/Κγ,i—i+l/Kyi K为正整数。10.根据权利要求6-9任一项所述的节点间距离的度量方法,其特征在于,所述第一权重、第二权重、第三权重之和为I。
【文档编号】H04L12/733GK105897582SQ201510888109
【公开日】2016年8月24日
【申请日】2015年12月7日
【发明人】李洪福
【申请人】乐视云计算有限公司