一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种根据节点实际网络动态调整分享策略的方法与流程

2022-06-02 15:10:11 来源:中国专利 TAG:


1.本发明涉及分布式网络技术领域,尤其涉及一种根据节点实际网络动态调整分享策略的方法。


背景技术:

2.p2p是一种分布式网络,网络中的节点共享他们所拥有的资源,通过对等网络提供服务和内容,节点(peer)之间可以直接访问而无需经过中间实体。在此网络中每个节点即是提供者(父节点),又是资源获取者(子节点)。
3.由于每个节点的网络环境复杂,节点直接分享资源就需要考虑到网络环境。目前p2p节点之间资源分享策略有很多,有固定带宽上限的,有限定分享节点的个数,或者直接不做任何限制独占带宽的分享策略。这些或多或少都有一些弊端,因为海量的节点网络情况非常复杂,有些上行带宽极小,有的上行带宽很大,有些网络环境不稳定,有些网络上行带宽被其他设备占用,种种情况都直接影响到了资源分享的稳定性,以及节点用户的体验。因为如果节点网络不稳定、或者独占了整个节点的网络资源,用户就使用其他应用或者设备就会卡顿。当然也有根据节点网络带宽上限做出动态调整的策略,但是当前节点网络环境是变化的,就导致上行带宽的上限也是变化的。
4.例如,家庭网络的带宽上行是5mbps,下行是50mbps,但是网络是一个家庭都在使用,第一个人在看电视剧占用了20mbps的下行带宽,第二个人在上传照片、视频到云盘,占用了4mbps的上行带宽,此时如果p2p节点计算出来的家庭网络带宽就是下行30mbps,上行1mbps,显然是错误的。如果节点独占了整个网络的上行带宽,第一个人和第二个人就都会被影响。
5.再假如家庭网络的上行5mbps,下行50mbps,邻居家里是上行100mbps,下行200mbps,偏僻的区域是上行0.5mbps,下行4mbps。那么如果固定资源分享带宽的上限或者节点个数都是不合适的,因为每个网络环境都是有差别的,有些不满足,有些没有充分利用。
6.因此,当前的p2p节点之间的资源分享策略,因为海量的节点网络情况非常复杂,有些上行带宽极小,有些网络环境不稳定,有些网络上行带宽被其他设备占用,要么浪费了上行带宽,要么独占了上行带宽导致用户反感,种种情况都直接影响到了分享数据的稳定性,以及用户的体验。


技术实现要素:

7.本发明的主要目的是提供一种可以根据节点实际网络动态调整分享策略的方法,该方法能最大限度的利用父节点的上行带宽,同时也不影响父节点所在网络其他的应用使用上行带宽,从而可以解决用户主观意识到p2p独占上行带宽,导致用户体验差等问题。
8.为了实现上述主要目的,本发明提供的一种根据节点实际网络动态调整分享策略的方法,包括登录ts服务器获取pear列表;为每个pear创建一个线程,并利用pear信息进行
数据穿透;当穿透成功后间隔第一预设时间向节点发送一次心跳包,并判断心跳包发送时间是否超时,如是,累计超时的次数,并根据第二预设时间内的超时次数确定节点,建立父子关系;通过解析心跳包信息更新父子节点区间,并计算父子节点区间差值;根据父子节点的区间差值变化动态调整分享策略,并根据该策略生成网络的各种执行指令。
9.进一步的方案中,所述为每个pear创建一个线程,利用pear信息进行数据穿透,包括:将对应pear的信息发送给ts服务器,向ts服务器申请数据穿透,ts服务器将转发消息给对应的节点,当对应节点确认符合穿透条件后回复ts服务器,ts服务器回复消息给发起数据穿透申请的节点,两个节点相互之间开始进行数据穿透,其中,在所有节点登录ts服务器,上传所有节点的状态信息,该信息包括用于穿透的pear信息等。
10.更进一步的方案中,所述判断心跳包发送时间是否超时,包括:若第三预设时间内超时次数大于预设次数后,即认为网络不稳定,则确定该节点为子节点,并建立父子关系,将心跳时间改为200ms,并从父节点获取区间数据。
11.更进一步的方案中,所述判断心跳包发送时间是否超时,包括:若第三预设时间内超时次数小于预设次数,且区间数据大于对等的节点,则确定该节点为父节点,建立父子关系,并将心跳时间改为200ms。
12.更进一步的方案中,所述根据父子节点的区间差值变化动态调整分享策略,包括:统计父子节点的区间差值大于100块的子节点个数,并统计该子节点个数占总的子节点的个数比例;若区间差值大于100块的子节点个数超过总的子节点个数比例的1/5,则认为网络延迟较大,当前网络存在拥堵情况,断开一个区间差值最大的子节点连接。
13.更进一步的方案中,所述根据父子节点的区间差值变化动态调整分享策略,包括:若区间差值大于100块的子节点个数不超过总的子节点个数比例的1/5,统计区间差值小于32块的子节点个数,并统计该子节点个数占总的子节点个数比例;若区间差值小于32块的子节点个数超过总的子节点个数比例的2/3,则认为延迟极低,当前网络非常良好,该父节点继续与其他节点建立父子关系,并分享数据,同时请求ts服务器,获取更多的pear列表。
14.更进一步的方案中,所述根据父子节点的区间差值变化动态调整分享策略,包括:若区间差值小于32块的子节点个数比例不超过总的子节点个数比例的2/3,统计区间差值小于100块并大于32块的子节点个数,并统计该子节点个数占总的子节点个数比例;若区间差值小于100块并大于32块的子节点个数超过总的子节点个数的1/2,则认为网络延迟低,当前网络利用率较高,该父节点还可以继续作为父节点与其他节点建立关系,并分享数据。
15.更进一步的方案中,所述根据父子节点的区间差值变化动态调整分享策略,包括:若区间差值小于100块并大于32块的子节点个数没有超过总的子节点个数的1/2,则认为网络延迟正常,当前网络利用率快达到极限,停止作为父节点与其他节点建立关系,以保证网络畅通。
16.更进一步的方案中,所述数据穿透包括主动穿透,具体为:向sp服务器定时请求下发列表,收到sp服务器返回的下发列表,判断对应节点是否符合穿透条件,如是,则向ts服务器请求数据穿透,判断是否在规定时间内收到回应,如是,则收到ts服务器转发的确认穿透指令,进入穿透队列。
17.更进一步的方案中,所述数据穿透包括主动穿透,具体为:收到ts服务器转发的确认穿透指令,判断对应节点是否符合穿透条件,如是,则进入穿透队列,同时向ts服务器发
送确认穿透的信号。
18.由此可见,本发明通过父子节点的区间差值变化,可以动态的调整分享策略,从而最大限度的利用父节点的上行带宽,同时也不影响父节点所在网络其他的应用使用上行带宽,提高了上行带宽的利用率,能够充分利用网络资源、加大系统吞吐量,且算法简单,有利于软、硬件实现,降低了设备成本。因此,本发明通过父子节点的区间差值变化动态调整分享策略,可以避免用户主观意识到p2p独占上行带宽,导致用户体验差的情况。
附图说明
19.图1是本发明一种根据节点实际网络动态调整分享策略的方法实施例的流程图。
20.图2是本发明一种根据节点实际网络动态调整分享策略的方法实施例具体流程图。
21.图3是本发明一种根据节点实际网络动态调整分享策略的方法实施例中关于数据穿透的原理图。
22.图4是本发明一种根据节点实际网络动态调整分享策略的方法实施例中关于数据穿透的流程图。
23.图5是本发明一种根据节点实际网络动态调整分享策略的方法实施例中关于父子节点的区间差值变化的示意图。
24.图6是本发明一种根据节点实际网络动态调整分享策略的方法实施例中关于父子节点的区间差值范围的示意图。
25.以下结合附图及实施例对本发明作进一步说明。
具体实施方式
26.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
27.参见图1与图2,本发明的一种根据节点实际网络动态调整分享策略的方法,包括以下步骤:
28.步骤s1,登录ts服务器获取pear列表。
29.步骤s2,为每个pear创建一个线程,并利用pear信息进行数据穿透。
30.步骤s3,当穿透成功后间隔第一预设时间向节点(np)发送一次心跳包,并判断心跳包发送时间是否超时,如是,累计超时的次数,并根据第二预设时间内的超时次数确定节点,建立父子关系。
31.步骤s4,通过解析心跳包信息更新父子节点区间,并计算父子节点区间差值。
32.步骤s5,根据父子节点的区间差值变化动态调整分享策略,并根据该策略生成网络的各种执行指令。
33.在步骤s2中,为每个pear创建一个线程,利用pear信息进行数据穿透,具体包括:将对应pear的信息发送给ts服务器,向ts服务器申请数据穿透,ts服务器将转发消息给对应的节点,当对应节点确认符合穿透条件后回复ts服务器,ts服务器回复消息给发起数据
穿透申请的节点,两个节点相互之间开始进行数据穿透,其中,在所有节点登录ts服务器,上传所有节点的状态信息,该信息包括用于穿透的pear信息等。
34.在步骤s3中,判断心跳包发送时间是否超时,具体包括:若第三预设时间内超时次数大于预设次数后,即认为网络不稳定,则确定该节点为子节点,并建立父子关系,将心跳时间改为200ms,并从父节点获取区间数据。
35.在步骤s3中,判断心跳包发送时间是否超时,具体包括:若第三预设时间内超时次数小于预设次数,且区间数据大于对等的节点,则确定该节点为父节点,建立父子关系,并将心跳时间改为200ms。
36.在步骤s5中,根据父子节点的区间差值变化动态调整分享策略,具体包括:统计父子节点的区间差值大于100块的子节点个数,并统计该子节点个数占总的子节点的个数比例。
37.若区间差值大于100块的子节点个数超过总的子节点个数比例的1/5,则认为网络延迟较大,当前网络存在拥堵情况,断开一个区间差值最大的子节点连接。
38.在步骤s5中,根据父子节点的区间差值变化动态调整分享策略,包括:若区间差值大于100块的子节点个数不超过总的子节点个数比例的1/5,统计区间差值小于32块的子节点个数,并统计该子节点个数占总的子节点个数比例。
39.若区间差值小于32块的子节点个数超过总的子节点个数比例的2/3,则认为延迟极低,当前网络非常良好,该父节点继续与其他节点建立父子关系,并分享数据,同时请求ts服务器,获取更多的pear列表。
40.在步骤s5中,根据父子节点的区间差值变化动态调整分享策略,包括:若区间差值小于32块的子节点个数比例不超过总的子节点个数比例的2/3,统计区间差值小于100块并大于32块的子节点个数,并统计该子节点个数占总的子节点个数比例。
41.若区间差值小于100块并大于32块的子节点个数超过总的子节点个数的1/2,则认为网络延迟低,当前网络利用率较高,该父节点还可以继续作为父节点与其他节点建立关系,并分享数据。
42.在步骤s5中,根据父子节点的区间差值变化动态调整分享策略,包括:若区间差值小于100块并大于32块的子节点个数没有超过总的子节点个数的1/2,则认为网络延迟正常,当前网络利用率快达到极限,停止作为父节点与其他节点建立关系,以保证网络畅通。
43.具体的,本实施例的父子关系为两个节点之间拉取数据的关系,例如,一个节点从sp服务器获取到的数据较多,另外一个节点从sp服务器获取到的数据较少,那么获取到的数据较多的节点分享给获取到的数据较少的节点。那么,在穿透之后两个节点相互交流了节点数据谁多谁少,多的就为父节点,少的为子节点。
44.其中,本实施例的区间数据为节目的视频数据;本实施例的pear为节点用于穿透的信息,具体包括:wan口的ip和port,nat口的ip和port等;pearlist为一个pear的列表,该列表包含多个pear;ts服务器:与所有节点保持连接,用户节点之间穿透的数据交互;sp服务器:节点从sp服务器获取节目数据,相当于是节目源。
45.如图3和图4所示,本发明提供一种数据穿透原理,具体为:在所有节点登录ts服务器后,上传所有节点的状态信息,包括用于穿透的pear信息等。在节点播放节目之后从ts服务器获取同时看该节目的其他节点的pearlist,并为每个pear起一个线程去处理穿透。其
中,该线程表现为:将对应pear的信息发送给ts服务器,申请穿透,ts服务器将转发消息给对应的节点,对应节点判断符合穿透条件后回复ts服务器,ts服务器回复消息给发起穿透的节点,两个节点开始相互穿透。
46.其中,数据穿透包括主动穿透,其具体为:向sp服务器定时请求下发列表,收到sp服务器返回的下发列表,判断对应节点是否符合穿透条件,如是,则向ts服务器请求数据穿透,判断是否在规定时间内收到回应,如是,则收到ts服务器转发的确认穿透指令,进入穿透队列。
47.其中,数据穿透包括主动穿透,其具体为:收到ts服务器转发的确认穿透指令,判断对应节点是否符合穿透条件,如是,则进入穿透队列,同时向ts服务器发送确认穿透的信号。
48.在实际应用中,具体参见图2。本发明提供的一种根据节点实际网络动态调整分享策略的方法,其具体包括以下流程:
49.首先,登录ts服务器获取pearlist。
50.然后,为每个pear起一个线程,利用pear的信息进行穿透。
51.接着,当穿透成功后与节点保持5s一次的心跳,并判断心跳是否超时,累计超时的次数。
52.在上述过程中,如果一分钟内超时次数大于3次即认为网络不稳定,不配做父节点分享数据,则确定该节点为子节点,并建立父子关系,将心跳时间改为200ms,并从父节点获取区间数据;如果一分钟内超时次数小于3次,且区间大于对等的节点,确定为父节点。建立父子关系,并将心跳超时改为200ms。
53.然后,父节点通过解析心跳信息更新区间,并计算父子节点区间差值。
54.在统计区间差值大于100块的子节点个数,并统计占总的子节点个数比例,如果超过1/5,即认为延迟较大,当前网络存在拥堵情况,断开一个区间差值最大的子节点连接。
55.如果区间差值大于100块的子节点个数不超过1/5,统计区间差值小于32块的子节点个数,并统计占总的子节点个数比例。如果超过2/3,即认为延迟极低,当前网络非常良好,上行带宽还有富余,继续作为父节点与其他节点建立关系,并分享数据。同时请求ts服务器,获取更多的pearlist。
56.如果区间差值小于32块的子节点个数比例不超过2/3,统计区间差值小于100块并大于32块的子节点个数,并统计占总的子节点个数比例。如果超过1/2,即认为延迟低,当前网络利用率较高,还可以继续作为父节点与其他节点建立关系,并分享数据。如果不超过1/2,即认为延迟正常,当前网络利用率快达到极限,停止作为父节点与其他节点建立关系,保证网络畅通。
57.如图5和图6所示,图5为父子节点的区间差值随着时间的关系,越来越大的情况,当区间差值越来越大,说明父子节点中间分享数据存在问题了。
58.当区间差值大于100,说明父子节点之间分享数据受阻,分享情况异常,该异常情况占总个数的比例在1/5,即认为父节点上行带宽已经不能满足现有的子节点数据分享,需要断开一个。
59.当区间差值在0-32,说明父子节点之间分享数据非常顺畅,分享情况良好,父节点上行带宽并没有受阻。为了排除干扰,所以引入了区间差值良好占总个数的比例。比如:一
共有6个子节点,但是这6个子节点中有4个符合上面良好范围,另外一个在正常范围,一个在异常区间(1/6异常《1/5),那么就可以认为父节点还可以给新的子节点分享数据;如果6个子节点中4个符合良好范围,2个在异常范围,那么就需要断开一个异常的子节点。
60.当区间差值在32-100范围,即认为该子节点与父节点分享情况正常。这种分享情况正常占1/2以上,且其他子节点分享情况在良好,那么就认为父节点的上行带宽良好,还可以继续分享新的子节点。比如:6个子节点,有3个在良好范围,3个在正常;2个在良好,3个正常,1个异常;1个良好,4个正常,1个异常;1个良好,5个正常;等等都是满足父节点可以再次分享给新的子节点。
61.由此可见,本发明通过父子节点的区间差值变化,可以动态的调整分享策略,从而最大限度的利用父节点的上行带宽,同时也不影响父节点所在网络其他的应用使用上行带宽,提高了上行带宽的利用率,能够充分利用网络资源、加大系统吞吐量,且算法简单,有利于软、硬件实现,降低了设备成本。因此,本发明通过父子节点的区间差值变化动态调整分享策略,可以避免用户主观意识到p2p独占上行带宽,导致用户体验差的情况。
62.需要说明的是,在本说明书中所谈到的“一个实施例”、“另一个实施例”、“实施例”、“优选实施例”等,指的是结合该实例描述的具体特征、结构或者特点包含在本技术概括描述的至少一个实施例中。在说明书中多个地方出现同种表述不是一定指的是同一个实施例。进一步来说,结合任一实施例描述一个具体特征、结构或者特点时,所要主张的是结合其他实施例来实现这种特征、结构或者特点也落在本发明内。尽管这里参照本发明的多个解释性实例对本发明进行了描述,但是,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式降落在本技术公开的原则范围和精神之内。更具体地说,在本技术公开、附图和权利要求的范围内,可以对主题结合布局的组成部件和/或布局进行的变形和改进外,对于本领域技术人员来说,其他的用途也将是明显。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献