CN101399713B - 测量网络节点邻近度的方法 - Google Patents
测量网络节点邻近度的方法 Download PDFInfo
- Publication number
- CN101399713B CN101399713B CN2008101989307A CN200810198930A CN101399713B CN 101399713 B CN101399713 B CN 101399713B CN 2008101989307 A CN2008101989307 A CN 2008101989307A CN 200810198930 A CN200810198930 A CN 200810198930A CN 101399713 B CN101399713 B CN 101399713B
- Authority
- CN
- China
- Prior art keywords
- round
- trip delay
- vector
- client node
- server
- 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.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种测量网络节点邻近度的方法,包括以下步骤:1)客户端节点向服务器列表中的服务器同时发送登录请求,其中所述各客户端节点的服务器列表中设有至少一个相同的服务器地址;2)客户端节点根据所述服务器返回的登录回应信息得到网络位置矢量;3)采用相似度算法根据所述网络位置矢量计算至少两个客户端节点之间的邻近度。本发明直接复用客户端节点登录服务器的登录回应信息得到网络位置矢量,再根据相似度算法测量网络节点间的邻近度,不需要额外的设备,不需要安装新的协议,也不需要发送额外的网络测试包。既有升级简单、便于推广的优点,又减轻了系统设备和网络负载的负担。
Description
【技术领域】
本发明涉及互联网通信技术领域,尤其涉及一种测量网络节点邻近度的方法。
【背景技术】
网络节点之间的邻近度信息对于因特网的网络应用具有重要的参考意义。由于在广域网中通信时延对网络操作的整个执行时间与效率都有较大的影响,因此在因特网的许多应用中,如果能够预先测量到主机之间的网络距离,就可以明显地提高应用程序的网络传输性能。例如,对于即时通讯系统,与通信双方都较为邻近的第三方节点,可以用作通信双方的数据传输的中转节点,从而提供质量较高的中转通道。对于文件共享/下载类网络应用,选择与下载用户较为邻近的节点作为种子节点,有利于提高下载速率。而对于P2P流媒体应用,从邻近节点获取流媒体数据可以保证更优质、更流畅的播放。总而言之,测量网络中各节点的邻近度具有重要的意义。
目前,一般基于网络坐标对节点之间的网络距离进行测量,基于网络坐标的测量方法是一种通过少量的端到端测量来估算节点之间的网络距离的测量方法,其基本思路是将网络建模为一个欧几里德空间,并适当地定义其坐标系统和距离函数。对于任何网络节点,可以根据少量的测量结果将其映射到欧几里德空间的一个点上,从而根据任意两个点的坐标,就可以估算出这两个点之间的距离。基于坐标的方法是将因特网抽象成为一个几何模型,在几何空间中用点表示因特网中的主机,这样只需要每个终端主机维持一个坐标。主机间的距离可以直接通过坐标的计算而得出。显然,基于坐标的方法对于表示大量的位置信息是非常有效的。
全局网络定位(Global Network Positioning,GNP)就是一种基于网络坐标的测量系统。该系统测量节点之间距离的方法一般包括以下步骤:首先挑选 一部分主机(一般5到20个)设为地标(Iandmark)节点,并将这些节点的坐标计算出来作为其它节点的参考点;其它节点测量其自身到这些地标节点之间的距离,然后计算出自身的相对坐标,将两个节点的相对坐标进行比较,从而得到这两个节点之间的距离。
但是,采用全局网络定位的方式测量节点之间的距离有以下不足之处:
1、这种方式需要额外的设备来发送额外的测试包,以测试节点到地标节点之间的距离。利用额外的设备来发送大量的测试包会加重这些设备的负担,影响其本身的工作性能。而额外发送的测试包需要参与测量的各方需要配备额外的协议,使得各方都支持测量协议,从而增加了系统复杂度。此外,额外发送的测试包还大大加重了网络的负载。
2、这种方式其坐标计算较为复杂,存在较大的计算开销,且其准确度与地标节点的布置密切关联,测量结果受地标节点的影响较大,而布置合理精确的地标节点需要较高难度的网络规划,因此其测量结果的稳定性和可靠性较差。此外,由于地标节点的坐标本身需要通过测量而计算,而其他节点坐标也需要通过到地标节点的测量而计算,因此网络波动会对测量结果产生两次影响,因此测量结果受网络波动的影响较大,网络轻微波动可能会产生截然不同的坐标结果,从而对两点间网络距离估计造成的误差也较大,进一步降低了测量结果的稳定性与可靠性。
【发明内容】
本发明的目的是提供一种测量网络节点邻近度的方法,该方法简单而便于实施,且能够稳定可靠地获得较为准确的测量结果。
为达到上述目的,本发明提出以下的技术方案:
一种测量网络节点邻近度的方法,包括以下步骤:
1)、客户端节点向服务器列表中的服务器同时发送登录请求,其中所述各客户端节点的服务器列表中设有至少一个相同的服务器地址;
2)、客户端节点根据所述服务器返回的登录回应信息得到网络位置矢量,所述网络位置矢量包括接入概率矢量和/或往返时延矢量;
3)、采用相似度算法根据所述网络位置矢量计算至少两个客户端节点之间的邻近度。
其中,所述网络位置矢量为接入概率矢量,所述步骤2)具体包括过程:
客户端节点在接收所述服务器返回的登录回应信息后,记录最先返回登录成功的服务器地址数据;
根据历史记录的服务器地址数据统计所述客户端节点接入各服务器的概率分别为x1、x2......xN,其中各xi之和为1;
根据以下公式得到客户端节点的接入概率矢量X:
X=(x1,x2,...,xN)。
其中,所述步骤3)具体包括过程:
采用相似度算法根据所述接入概率矢量计算两个客户端节点的接入概率矢量夹角的余弦值或正弦值。
优选地,所述步骤3)具体包括过程:
采用余弦相似度算法根据所述接入概率矢量计算两个客户端节点的接入概率矢量夹角的余弦值distx:
其中,distx(A,B)表示客户端节点A、B之间接入概率矢量夹角的余弦值, 分别表示客户端节点A、B的接入概率矢量,xai(i=1,2...,N)和xbi(i=1,2...,N)分别为客户端节点A、B接入服务器的概率。
其中,所述网络位置矢量为往返时延矢量,所述步骤2)具体包括过程:
客户端节点在接收服务器返回的登录回应信息后,记录当次所有返回的服务器地址数据及登录对应服务器的往返时延数据;
根据所述记录的服务器地址数据及对应往返时延数据计算所述客户端节点接收服务器回应信息的往返时延分别为t1、t2......tN;
根据以下公式得到客户端节点的往返时延矢量T为:
T=(t1-1,t2-1,...,tN-1)。
其中,所述计算往返时延的过程具体包括:
取所述当次记录的服务器地址数据及登录对应服务器的往返时延数据作为客户端节点接收服务器回应信息的往返时延。
其中,所述记录所有返回的服务器地址及对应的往返时延过程之后,还进一步包括:
将当次记录的服务器地址数据及登录对应服务器的往返时延数据与历史记录的服务器地址数据及登录对应服务器的往返时延数据的平均值进行比较,如果两者相差超过设定值,则取所述当次记录的服务器地址数据及登录对应服务器的往返时延数据作为客户端节点接收服务器回应信息的往返时延。
其中,所述得到客户端节点的往返时延矢量过程之后,还进一步包括:
将所述往返时延矢量与根据历史记录的往返时延矢量数据的平均值得到的往返时延矢量进行比较,如果两者相差超过设定值,则取所述当次记录数据重新计算客户端节点的往返时延矢量。
其中,所述计算往返时延的过程具体包括:
从所述历史记录的服务器地址数据及登录对应服务器的往返时延数据中取两次以上记录数据的平均值作为所述客户端节点接收服务器回应信息的往返时延。
其中,所述步骤3)具体包括过程:
采用相似度算法根据所述往返时延矢量计算两个客户端节点的往返时延矢量夹角的余弦值或正弦值。
优选地,所述步骤3)具体包括过程:
采用余弦相似度算法根据所述往返时延矢量计算两个客户端节点的往返时延矢量夹角的余弦值distT:
其中,distT(A,B)表示客户端节点A、B之间往返时延矢量夹角的余弦值, 分别表示客户端节点A、B的往返时延矢量,tai(i=1,2,...,N)和tbi(i=1,2,...,N)分别为客户端节点A、B接收服务器Si回应信息的往返时延。
其中,所述步骤3)具体包括过程:
每个客户端节点将自身的网络位置矢量发送到其它客户端节点,同时接收其它客户端节点的网络位置矢量;
各客户端节点根据相似度算法计算其与一个其它客户端节点之间的邻近度。
优选地,所述客户端节点之间通过gossip协议发送网络位置矢量。
其中,所述步骤3)具体包括过程:
各客户端节点将网络位置矢量上报到服务器或超级节点;
所述服务器或超级节点根据相似度算法计算至少两个客户端节点之间的邻近度。
从以上技术方案可以看出,本发明直接复用客户端节点登录服务器这一现有的网络操作,从登录回应信息中获取相应的数据,然后得到网络位置矢量,再根据相似度算法即可测量出网络节点间的邻近度。本发明不需要额外的设备,不需要安装新的协议,也不需要发送额外的网络测试包。既具有升级简单、便于推广的优点,又减轻了系统设备和网络负载的负担。
从以上技术方案可以看出,本发明直接复用客户端节点登录服务器这一现有的网络操作,从登录回应信息中获取相应的数据,然后得到网络位置矢量,再根据相似度算法即可测量出网络节点间的邻近度。本发明不需要额外的设备,不需要安装新的协议,也不需要发送额外的网络测试包。既具有升级简单、便于推广的优点,又减轻了系统设备和网络负载的负担。
【附图说明】
图1为本发明方法的基本流程图。
【具体实施方式】
下面结合具体的实施例及说明书附图对本发明的技术方案进行详细的描述。
本发明提供一种测量网络节点邻近度的方法,如图1所示,该方法主要包括以下步骤:
步骤S101、客户端节点向服务器列表中的服务器同时发送登录请求,其中所述各客户端节点的服务器列表中设有至少一个相同的服务器地址。
步骤S102、客户端节点根据所述服务器返回的登录回应信息获得网络位置矢量。
步骤S103、采用相似度算法根据所述网络位置矢量计算至少两个客户端节点之间的邻近度。
对于步骤S101,客户端节点一般以分布式登录的形式接入服务器,分布式登录方式能更好地满足用户规模迅速膨胀、海量用户接入对网络的需求。在分布式登录系统中,分布设立有多个登录服务器,单个客户端节点只需向其中任何一台登录服务器登录成功即可。客户端节点可以显式输入用户ID与相关密码,在准入网络之前进行严格的身份认证,通过身份认证之后方可接到服务器上;客户端节点还可以隐式生成一个计算机标识,并以此登录到相关服务器。
并行登录方式是分布式登录中的一种。在并行登录方式中,客户端节点根据预先获得的服务器列表,同时向列表中多个条目的登录服务器请求登录,第一个返回的成功应答将被客户端节点采纳。
在本发明中,一般采用并行登录的方式,具体过程如下:
客户端节点根据预先获得的服务器列表,向列表中多个登录服务器同时发出登录请求,其中所述各客户端节点的服务器列表中设有至少一个相同的服务器地址。
在本发明中,如果某两个网络节点所指向的登录服务器集合没有交集,则采用相似度算法的计算结果为0,无法准确测量这两个客户端节点之间的网络距离。为了确保各个客户端节点的参考登录服务器集合存在交集,可以在各客户端节点的服务器列表中设定至少一个相同的服务器地址。当然,如果各客户端节点的服务器列表中设置的服务器地址完全相同,即其服务器列表中设定的登录服务器完全一致,则其测量的准确度就更高。在优选的实施方式中,服务器地址为服务器IP地址。
对于步骤S102,各客户端节点根据登录服务器返回的登录回应信息获取服务器地址数据和登录对应服务器的往返时延数据,并以此获取自身的网络位置矢量,所述网络位置矢量包括接入概率矢量和往返延时矢量。
首先,客户端节点向多个登录服务器发出登录请求,在接收登录回应信息后,除了记录原先正常记录的回应信息外,客户端节点还扩展记录了服务器地址数据和登录对应服务器的往返时延数据:
本次会话最终接入的服务器地址,即最先返回登录成功的服务器地址;
登录对应服务器的往返时延(RTT)。由于实际网络中客户端节点接收到的各服务器登录回应与自身网络情况密切相关,因此以上数据能够在一定程度上作为客户端节点网络的衡量。
客户端节点本机保持往返时延与接入服务器地址的一段时间内的历史记录,在后续计算客户端节点网络位置时使用这些统计数据,从而减少单次样本带来的误差,提高整体准确度。
记录过程之后,客户端节点根据获取的服务器地址和往返时延计算该客户端节点的网络矢量,网络矢量一般包括接入概率矢量和往返时延矢量。
对于时延抖动幅度较大的网络,客户端节点时延信息的准确度较低,采用 往返时延矢量计算邻近度的测量结果准确度也降低,因此对于这种网络可以优先采用接入概率矢量。
其它网络一般优先采用往返时延矢量对客户端节点之间的邻近度进行测量。
对于步骤S103,在本发明中一般可以采用相似度算法来获得两个客户端节点的网络位置矢量之间的余弦值或正弦值,通过余弦值或正弦值的大小测量两个客户端节点之间的网络距离。
本发明采用相似度算法计算节点间的邻近度,计算过程简单,且本发明只关注网络节点间的相对位置,不需要设置参考节点,因此不要额外、精确地布置或选择定位服务器资源,测量结果的稳定性和可靠性较高。进一步,本发明根据历史记录或当此登录回应信息中的数据进行计算,网络波动对测量误差的影响只有一次,因此网络波动造成的影响相对较弱,进一步提高了测量结果的稳定性与可靠性。
实施例一
本实施例是在步骤S102中采用客户端节点基于接入概率的网络位置矢量——接入概率矢量,其具体过程如下:
首先,客户端节点在接收服务器返回的登录回应信息时,记录最先返回登录成功的服务器地址数据;然后结合历史记录的服务器地址数据统计所述客户端节点接入各服务器的概率。客户端节点计算获得某一服务器地址的次数与获得所有服务器地址总数的比例,得到其接入该服务器的概率,同理可得到其接入其它服务器的概率。
客户端节点本机保持一段时间内服务器地址的历史记录,在后续计算客户 端节点网络位置时使用这些统计数据,从而减少单次样本带来的误差,提高整体准确度。采用的历史记录越多,测量结果的精确度就越高。
最后将服务器列表中客户端节点进行登录的服务器记为Si,各服务器分别为S1、S2......SN,客户端节点接入服务器Si的概率xi分别为x1、x2......xN,很显然,各xi之和为1,根据下列公式得到客户端节点的接入概率矢量X为:
X=(x1,x2,...,xN)。
由于实际环境下客户端节点会自动登录到最先成功回应的服务器,因此这里X整体上能够表示客户端节点与各个登录服务器之间的连接关系,如果客户端节点几乎总登录至某台服务器Si,则对应元素xi较大,其他元素都较为接近0,因此矢量X虽能直观反映网络较为邻近的登录服务器,却无法体现与其他服务器间距的差异性,其粒度相对较粗。
实施例二
本实施例是在步骤S102中采用客户端节点基于接入延迟的网络位置矢量——往返时延矢量,其具体过程如下:
首先,客户端节点在接收服务器返回的登录回应信息时,记录当次所有返回的服务器地址数据及登录对应服务器的往返时延数据;由服务器地址可以得知本次哪些服务器返回了消息,进一步还可得知本次这些服务器的往返延时。
然后,取所述当次记录的服务器地址数据及登录对应服务器的往返时延数据作为客户端节点接收服务器回应信息的往返时延。
将服务器列表中客户端节点进行登录的服务器记为Si,各服务器分别为S1、S2......SN,客户端节点接收服务器Si回应信息的往返时延ti分别为t1、t2......tN,根据下列公式得到客户端节点的往返时延矢量T为:
T=(t1-1,t2-1,...,tN-1)。
由于矢量T的元素定义为各时延的倒数,如果某登录服务器一直未返回回应消息,则相应ti取值为∞,而如果时延越大(与对应登录服务器网络间距越远),对应的矢量元素ti-1就越小,反之,如果时延越小(与对应登录服务器网络间距越近)则对应的矢量元素ti-1就越大,充分体现与其他服务器间距的差异性。从这个定义可以看出,往返时延矢量T涵盖了每个登录服务器的实际网络时延,并且较接入概率矢量X更为精确反映客户端节点的网络位置信息。
实施例三
本实施例也是在步骤S102中采用客户端节点基于接入延迟的网络位置矢量——往返时延矢量,与实施例二不同的是,实施例二中采用当次记录的服务器地址数据及登录对应服务器的往返时延数据进行矢量计算,而本实施例中采用历史记录的服务器地址数据及登录对应服务器的往返时延数据的平均值进行计算,其具体过程如下:
首先,客户端节点在接收服务器返回的登录回应信息时,记录当次所有返回的服务器地址数据及登录对应服务器的往返时延数据;由服务器地址可以得知本次哪些服务器返回了消息,进一步还可得知本次这些服务器的往返延时。
从历史记录的服务器地址数据及登录对应服务器的往返时延数据中取两次以上记录数据的平均值作为所述客户端节点接收服务器回应信息的往返时延。
客户端节点本机保持一段时间内往返时延的历史记录,在后续计算客户端节点网络位置时使用这些统计数据,从而减少单次样本带来的误差,提高整体准确度。采用的历史记录越多,测量结果的精确度就越高。
将服务器列表中客户端节点进行登录的各各服务器分别记作S1、S2......SN,客户端节点接收服务器Si回应信息的往返时延ti(i=1,2,...,N),根据下列公式得到客户端节点的往返时延矢量T为:
T=(t1-1,t2-1,...,tN-1)。
由于矢量T的元素定义为各时延的倒数,如果某登录服务器一直未返回回应消息,则相应ti取值为∞,而如果时延越大(与对应登录服务器网络间距越远),对应的矢量元素ti-1就越小,反之,如果时延越小(与对应登录服务器网络间距越近)则对应的矢量元素ti-1就越大,充分体现与其他服务器间距的差异性。从这个定义可以看出,往返时延矢量T涵盖了每个登录服务器的实际网络时延,并且较接入概率矢量X更为精确反映客户端节点的网络位置信息。
实施例四
在实施例二的基础上,本实施还在记录所有返回的服务器地址及对应的往返时延过程之后,将当次记录的服务器地址数据及登录对应服务器的往返时延数据与历史记录的服务器地址数据及登录对应服务器的往返时延数据的平均值进行比较,如果两者相差超过设定值,则取所述当次记录的服务器地址数据及登录对应服务器的往返时延数据作为客户端节点接收服务器回应信息的往返时延,而不取历史记录的服务器地址数据及登录对应服务器的往返时延数据的平均值。
这样处理的意义在于,如果用户计算机接入方式发生较大变动,例如携带笔记本电脑出差时,前后的测量情况可能迥然不同,则该测量的准确度降低。这时,应当优先采用当次登录的服务器地址数据及登录对应服务器的往返时延数据进行测量,以保证测量结果的准确性。
实施例五
在实施例二的基础上,本实施还在计算得到客户端节点的往返时延矢量过程之后,将所述往返时延矢量与根据历史记录的往返时延矢量数据的平均值得 到的往返时延矢量进行比较,如果两者相差超过设定值,则取所述当次记录数据重新计算客户端节点的往返时延矢量,而不取历史记录数据的平均值。
本实施例的优点与实施例四类似,不同之处在于:实施例四中比较过程在接收记录数据之后即进行判断,而本实施例是在计算得出网络位置矢量之后进行比较过程。
实施例六
在本发明中,可以采用相似度算法根据所述接入概率矢量计算两个客户端节点的接入概率矢量夹角的余弦值或正弦值以测量两个客户端节点之间的网络距离。
在实施例一中,通过记录客户端节点登录服务器返回的服务器地址数据,得到了各客户端节点接入概率矢量,本实施例是在实施例一的基础上,采用余弦相似度算法对实施例一中得到的客户端节点的接入概率矢量进行余弦相似度计算,以测量两个客户端节点之间的网络距离。当然,在不脱离本发明构思的前提下,采用其它的相似度算法进行计算,也应当属于本发明的保护范围。
以客户端节点A、B为例,其具体过程如下:
采用余弦相似度算法根据接入概率矢量计算两个客户端节点的接入概率矢量夹角的余弦值distx:
其中,distx(A,B)表示客户端节点A、B之间接入概率矢量夹角的余弦值, 分别表示客户端节点A、B的接入概率矢量,xai和xbi分别为客户端节 点A、B接入服务器Si的概率(i=1,2,...,N)。
考虑两个客户端节点A与B,A基于接入概率的网络位置矢量为Xa=(xa1,xa2,...,xaN)。类似地,B所对应的矢量Xb遵循同样的定义:Xb=(xb1,xb2,...,xbN)。
余弦相似度的几何意义是两个矢量夹角的余弦值,因此其值域是区间[0,1]。根据其数学特性,如果矢量的某一个元素相对较大(所有元素都是非负),则其对计算它与另外矢量的余弦相似度的贡献就较为显著。因此,对于X这种粗粒度的估计而言,如果两个矢量中相同编号元素都较大(两者登录到某服务器的概率都较大),则其余弦相似度也较大。
本发明所定义的两类粒度的矢量表示都能够粗略表示节点的网络坐标,且较为准确估计出两点间的网络距离:余弦相似度大,则两节点网络距离较近,反之,余弦相似度小,两节点网络距离较远。
实施例七
在本发明中,可以采用相似度算法根据所述接入概率矢量计算两个客户端节点的往返时延矢量夹角的余弦值或正弦值以测量两个客户端节点之间的网络距离。
在实施例二、三、四、五中,通过记录客户端节点登录服务器返回的服务器地址数据和登录对应服务器的往返时延数据,得到了各客户端节点的往返时延矢量,本实施例是在实施例二、三、四、五的基础上,采用余弦相似度算法对上述实施例中得到的客户端节点的往返时延矢量进行计算余弦相似度计算,以测量两个客户端节点之间的网络距离。当然,在不脱离本发明构思的前提下,采用其它的相似度算法进行计算,也应当属于本发明的保护范围。
以客户端节点A、B为例,其具体过程如下:
采用余弦相似度算法根据往返时延矢量计算两个客户端节点的往返时延矢量夹角的余弦值distT:
其中,distT(A,B)表示客户端节点A、B之间往返时延矢量夹角的余弦值, 分别表示客户端节点A、B的往返时延矢量,tai和tbi分别为客户端节点A、B接收服务器Si回应信息的往返时延(i=1,2,...,N)。
考虑两个客户端节点A与B,A基于接入延迟的网络位置矢量为Ta=(ta1,ta2,...,taN)。类似地,B所对应的矢量Tb遵循同样的定义:Tb=(tb1,tb2,...,tbN)。
余弦相似度的几何意义是两个矢量夹角的余弦值,因此其值域是区间[0,1]。根据其数学特性,如果矢量的某一个元素相对较大(所有元素都是非负),则其对计算它与另外矢量的余弦相似度的贡献就较为显著。因此,对于T这种细粒度的估计而言,如果两个矢量中相同编号元素都较大(两者到某服务器的延迟都较小,此时根据准确度较高且常用的网络延迟的三角不等式原理:考虑三个点A、B和C,任意两点距离小于第三点与它们两点距离之和,因此,如果距离AB和AC都很小,则推断BC距离也较小。
本发明所定义的两类粒度的矢量表示都能够粗略表示节点的网络坐标,且较为准确估计出两点间的网络距离:余弦相似度大,则两节点网络距离较近,反之,余弦相似度小,两节点网络距离较远。实施例八
在上述所有实施例的基础上,本实施例在步骤S102之后,包括过程:
每个客户端节点将自身的网络位置矢量发送到其它客户端节点,同时接收 其它客户端节点的网络位置矢量;各客户端节点根据相似度算法计算其与一个其它客户端节点之间的邻近度。
客户端节点之间可以通过gossip协议等方式扩散网络位置矢量,从而单个客户端节点都可以收集到其他所有客户端节点的网络位置矢量。gossip协议是一种分布式协议,在p2p系统中分发信息,具有良好的可扩展性和更强的健壮性。
在本实施例中,相似度计算过程在客户端节点中完成,该客户端节点可以根据测量结果在后续的网络应用中,优先选择邻近度较高的客户端节点。
实施例九
在上述所有实施例的基础上,本实施例在步骤S102之后,包括过程:
各客户端节点将网络位置矢量上报到服务器或超级节点;所述服务器或超级节点根据相似度算法计算至少两个客户端节点之间的邻近度。
在本实施例中,相似度计算过程在服务器或超级客户端节点完成。所有的客户端节点可以将网络矢量信息都上报到服务器或超级客户端节点进行统一管理,在邻近或中转节点选择时,服务器或超级节点计算客户端节点之间的网络距离矩阵将其作为判断指标之一,优先考虑较为邻近的节点。另外,服务器还可以将邻近度信息用于节点的网络聚类和分群
需要说明的是,在本发明中,记录服务器地址数据或登录对应服务器的往返时延数据的过程并不仅仅局限于由客户端节点进行记录,也可以在客户端节点接收登录回应信息后,上传到超级客户端节点或服务器,由客户端节点进行记录。
下面对本发明技术方案进行举例说明,以利于本发明技术方案的理解:
当客户端节点A登录即时通讯工具时,每次尝试5个服务器(S1到S5)。客户端节点A同时向这5个服务器发出登录请求,在接收登录回应时,客户端节点扩展记录服务器地址数据和登录对应服务器的往返时延数据,结合历史数据并根据上述网络位置矢量定义,得到其基于接入概率的接入概率矢量XA为(0.7,0.1,0.2,0,0),基于返回时延的往返时延矢量TA为(10-1,30-1,20-1,60-1,200-1),这里矢量TA的各分量单位为毫秒-1。
同样,当客户端节点B登录即时通讯工具时,每次尝试向5个服务器(S1到S5)发送登录请求。客户端节点B同时向这5个服务器发出登录请求,在接收登录回应时,客户端节点扩展记录服务器地址数据和登录对应服务器的往返时延数据,结合历史数据并根据上述网络位置矢量定义,得到其基于接入概率的接入概率矢量XB为(0.2,0.3,0.2,0.2,0.1),基于返回时延的往返时延矢量TB为(30-1,20-1,40-1,50-1,90-1),这里矢量TB的各分量单位为毫秒-1。
当客户端节点C登录即时通讯工具时,每次尝试向5个服务器(S1到S5)发送登录请求。客户端节点C同时向这5个服务器发出登录请求,在接收登录回应时,客户端节点扩展记录服务器地址数据和登录对应服务器的往返时延数据,结合历史数据并根据上述网络位置矢量定义,得到其基于接入概率的接入概率矢量XC为(0.5,0.2,0.2,0,0.1),基于返回时延的往返时延矢量TC为(20-1,30-1,40-1,200-1,60-1),这里矢量TC的各分量单位为毫秒-1。
假设相关对象(集中服务器,或者某个客户端节点)获得A、B、C的X与T矢量值。需要比较B、C两者谁距离A更近。
根据公式计算:
得到distx(A,B)=0.6093,distx(A,C)=0.9569;distT(A,B)=0.8128,distT(A,C)=0.9464。由此可见,两种情况下客户端节点A、C之间的邻近度比客户端节点A、B之间的邻近度大,这说明客户端节点A与客户端节点C的网络距离更近,而客户端节点A与客户端节点B的网络距离相对较远,从而客户端节点A后续在选择邻近客户端节点进行相关服务时,应当优先选择客户端节点C。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (14)
1.一种测量网络节点邻近度的方法,其特征在于,包括以下步骤:
1)、客户端节点向服务器列表中的服务器同时发送登录请求,其中所述各客户端节点的服务器列表中设有至少一个相同的服务器地址;
2)、客户端节点根据所述服务器返回的登录回应信息得到网络位置矢量;
3)、采用相似度算法根据所述网络位置矢量计算至少两个客户端节点之间的邻近度。
2.根据权利要求1所述的测量网络节点邻近度的方法,其特征在于,所述网络位置矢量为接入概率矢量,所述步骤2)具体包括过程:
客户端节点在接收所述服务器返回的登录回应信息后,记录最先返回登录成功的服务器地址数据;
根据历史记录的服务器地址数据统计所述客户端节点接入各服务器的概率分别为x1、x2......xN,其中各xi之和为1;
根据以下公式得到客户端节点的接入概率矢量X:
X=(x1,x2,...,xN)。
3.根据权利要求2所述的测量网络节点邻近度的方法,其特征在于,所述步骤3)具体包括过程:
采用相似度算法根据所述接入概率矢量计算两个客户端节点的接入概率矢量夹角的余弦值或正弦值。
5.根据权利要求1所述的测量网络节点邻近度的方法,其特征在于,所述网络位置矢量为往返时延矢量,所述步骤2)具体包括过程:
客户端节点在接收服务器返回的登录回应信息后,记录当次所有返回的服务器地址数据及登录对应服务器的往返时延数据;
根据所述记录的服务器地址数据及对应往返时延数据计算所述客户端节点接收服务器回应信息的往返时延分别为t1、t2......tN;
根据以下公式得到客户端节点的往返时延矢量T为:
T=(t1-1,t2-1,...,tN-1)。
6.根据权利要求5所述的测量网络节点邻近度的方法,其特征在于,所述计算往返时延的过程具体包括:
取所述当次记录的服务器地址数据及登录对应服务器的往返时延数据作为客户端节点接收服务器回应信息的往返时延。
7.根据权利要求6所述的测量网络节点邻近度的方法,其特征在于,所述记录所有返回的服务器地址及对应的往返时延过程之后,还进一步包括:
将当次记录的服务器地址数据及登录对应服务器的往返时延数据与历史记录的服务器地址数据及登录对应服务器的往返时延数据的平均值进行比较,如果两者相差超过设定值,则取所述当次记录的服务器地址数据及登录对应服务器的往返时延数据作为客户端节点接收服务器回应信息的往返时延。
8.根据权利要求6所述的测量网络节点邻近度的方法,其特征在于,所述得到客户端节点的往返时延矢量过程之后,还进一步包括:
将所述往返时延矢量与根据历史记录的往返时延矢量数据的平均值得到的往返时延矢量进行比较,如果两者相差超过设定值,则取所述当次记录数据重新计算客户端节点的往返时延矢量。
9.根据权利要求5所述的测量网络节点邻近度的方法,其特征在于,所述 计算往返时延的过程具体包括:
从所述历史记录的服务器地址数据及登录对应服务器的往返时延数据中取两次以上记录数据的平均值作为所述客户端节点接收服务器回应信息的往返时延。
10.根据权利要求5所述的测量网络节点邻近度的方法,其特征在于,所述步骤3)具体包括过程:
采用相似度算法根据所述往返时延矢量计算两个客户端节点的往返时延矢量夹角的余弦值或正弦值。
12.根据权利要求1至11中任一项所述的测量网络节点邻近度的方法,其特征在于,所述步骤3)具体包括过程:
每个客户端节点将自身的网络位置矢量发送到其它客户端节点,同时接收其它客户端节点的网络位置矢量;
各客户端节点根据相似度算法计算其与一个其它客户端节点之间的邻近度。
13.根据权利要求12所述的测量网络节点邻近度的方法,其特征在于,所述客户端节点之间通过gossip协议发送网络位置矢量。
14.根据权利要求1至11中任一项所述的测量网络节点邻近度的方法,其特征在于,所述步骤3)具体包括过程:
各客户端节点将网络位置矢量上报到服务器或超级节点;
所述服务器或超级节点根据相似度算法计算至少两个客户端节点之间的邻近度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101989307A CN101399713B (zh) | 2008-09-28 | 2008-09-28 | 测量网络节点邻近度的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101989307A CN101399713B (zh) | 2008-09-28 | 2008-09-28 | 测量网络节点邻近度的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101399713A CN101399713A (zh) | 2009-04-01 |
CN101399713B true CN101399713B (zh) | 2011-04-20 |
Family
ID=40517987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101989307A Active CN101399713B (zh) | 2008-09-28 | 2008-09-28 | 测量网络节点邻近度的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101399713B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103024091B (zh) * | 2011-09-26 | 2016-05-25 | 阿里巴巴集团控股有限公司 | 获得网络客户端真实物理地址的方法及装置 |
CN103701846B (zh) * | 2013-09-18 | 2016-09-28 | 南京邮电大学 | 基于节点临近度估计的对等网络资源搜索优化方法 |
CN106487547B (zh) * | 2015-08-26 | 2019-06-21 | 中国移动通信集团公司 | 一种评估网络性能指标变化趋势的方法及装置 |
WO2017035789A1 (zh) * | 2015-09-01 | 2017-03-09 | 深圳好视网络科技有限公司 | 一种数据传输方法及系统 |
CN110572813A (zh) * | 2018-05-19 | 2019-12-13 | 北京融信数联科技有限公司 | 一种基于移动大数据的手机用户行为相似度分析方法 |
CN110445652A (zh) * | 2019-08-08 | 2019-11-12 | 北京众享比特科技有限公司 | 网络距离预测方法、装置、终端主机和介质 |
CN113127826B (zh) * | 2021-04-27 | 2023-05-23 | 富途网络科技(深圳)有限公司 | 验证方法及相关装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1320001A (zh) * | 2000-02-03 | 2001-10-31 | 数码通电讯有限公司 | 定位系统 |
US20060018625A1 (en) * | 2004-07-20 | 2006-01-26 | Johnson Carolynn R | User defined default recording mode rules |
WO2007014176A1 (en) * | 2005-07-25 | 2007-02-01 | Qualcomm Incorporated | Method and apparatus for locating a wireless local area network in a wide area network |
CN1988550A (zh) * | 2005-12-21 | 2007-06-27 | 中国科学院电子学研究所 | 一种无线传感器网络无锚点定位的分布式实现方法 |
-
2008
- 2008-09-28 CN CN2008101989307A patent/CN101399713B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1320001A (zh) * | 2000-02-03 | 2001-10-31 | 数码通电讯有限公司 | 定位系统 |
US20060018625A1 (en) * | 2004-07-20 | 2006-01-26 | Johnson Carolynn R | User defined default recording mode rules |
WO2007014176A1 (en) * | 2005-07-25 | 2007-02-01 | Qualcomm Incorporated | Method and apparatus for locating a wireless local area network in a wide area network |
CN1988550A (zh) * | 2005-12-21 | 2007-06-27 | 中国科学院电子学研究所 | 一种无线传感器网络无锚点定位的分布式实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101399713A (zh) | 2009-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101399713B (zh) | 测量网络节点邻近度的方法 | |
CN112132447B (zh) | 一种基于区块链的算力网络信任评估与保障算法 | |
US11490299B2 (en) | Distributed processing for determining network paths | |
Zhang et al. | A domain partition-based trust model for unreliable clouds | |
CN104995870B (zh) | 多目标服务器布局确定方法和装置 | |
Wang et al. | Crowdsensing-based consensus incident report for road traffic acquisition | |
Alsboui et al. | Enabling distributed intelligence for the Internet of Things with IOTA and mobile agents | |
US20190149424A1 (en) | Continuous monitoring for performance evaluation of service interfaces | |
CN103067297B (zh) | 一种基于资源消耗预测的动态负载均衡方法及装置 | |
EP2409242B1 (en) | Network status detection | |
Patsakis et al. | Interoperable privacy-aware e-participation within smart cities | |
CN102609610B (zh) | 使用移动计算设备传感器生成私人空间的地图 | |
CN103119535A (zh) | 用于分派功率消耗的系统和方法 | |
CN113033082A (zh) | 基于异构算力感知的去中心化联邦学习框架及建模方法 | |
CN110322578A (zh) | 一种考勤方法及装置 | |
TW201140335A (en) | Fine-grained location determination of networked computers | |
CN102006234A (zh) | 一种用于优化p2p网络流量的方法和装置 | |
Baier et al. | MapCorrect: Automatic correction and validation of road maps using public sensing | |
CN105119751A (zh) | 一种基于环境实时感知的服务评估及选取方法 | |
CN103218295B (zh) | Esb消息处理能力的测试方法和系统 | |
CN113283778A (zh) | 一种基于安全性评价的分层汇聚联邦学习方法 | |
Lohitha et al. | Integrated publish/subscribe and push-pull method for cloud based IoT framework for real time data processing | |
CN103209102A (zh) | Web服务质量的分布式测量系统和方法 | |
Ullah et al. | Smart grid block-chain (BC) conceptual framework: Bi-directional models for renewable energy district and utility | |
CN105812204B (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20180913 Address after: 100089 Beijing Haidian District Zhichun Road 49 No. 3 West 309 Patentee after: Tencent cloud computing (Beijing) limited liability company Address before: 518044 East 403 room, Sai Ge science and Technology Park, Futian District Zhenxing Road, Shenzhen, Guangdong, China, 2 Patentee before: Tencent Technology (Shenzhen) Co., Ltd. |