一种精确查找P2P系统就近资源节点的系统和方法
技术领域
本发明涉及计算机领域,尤其涉及一种精确查找P2P系统就近资源节点的系统和方法。
背景技术
随着互联网带宽提升,智能设备,智能家居等概念深入人心,各种智能设备以及半智能设备已经进入各种家庭和公司网络中。在此前提下用户对下行带宽的需求越来越大,造成资源提供商的CDN服务网络带宽压力越来越大,运营支出越来越多,且网络拥塞等情况越来越严重。因此P2P(Peer-to-Peer)技术在目前互联网行业中利用越来越普遍。P2P技术是充分利用用户的带宽,使得用户利用带宽满足自身网络需求外能给其他用户提供带宽,减小对资源服务商CDN网络的带宽压力。P2P网络是基于共享的分布式的网络系统,其中每一个参与用户就是一个节点(peer),该网络多以每个节点即是客户端也是服务器,即是资源的需求者也是资源的提供者。
在现实网络情况下,由于运营商,地域等先天条件造成很多P2P网络系统的连接率低,以及资源获取能力不足和资源下载缓慢等情况。所以我们需要一套能尽快找到同地域同运营商,甚至是局域网内的节点。在此前提下本发明设计出精准查找获取就近资源节点的系统和方法。
发明内容
针对现有技术的不足,本发明提供了一种精确查找P2P系统就近资源节点的系统和方法,能够提高P2P系统的连接效率和缩短连接耗时,同时解决跨区域等问题。
为了解决上述技术问题,本发明还提供了一种精确查找P2P系统就近资源节点的系统,包括:
硬件平台,用于支撑和驱动系统的运行;
系统服务器,用于提供服务器与硬件平台的操作对接,完成区域内信息交换,具体包括多台Channel服务器、Proxy服务器、Relay服务器和Dispatcher服务器,其中Dispatcher服务器用于对已登陆节点进行地域分配,实现地域隔离;
数据存储结构,用于将数据内容按区域存储在不同链表节点中。
优选地,所述数据内容包括节点信息、资源信息以及资源和节点的关联信息。
优选地,所述Dispatcher服务器配置有全网服务器信息和所有IP与地域相关配置信息,且拥有负载均衡能力。
优选地,所述Dispatcher服务器能够调配Proxy服务器和Relay服务器。
优选地,所述Channel服务器是业务请求处理服务器,也是节点和资源相关信息存储服务器。
进一步地,所述Proxy服务器是业务请求分发服务器,具有服务器负载均衡能力,所述Relay服务器是NAT穿越中间服务器。
相应地,本发明提供了一种精确查找P2P系统就近资源节点的方法,包括以下步骤:
S1、Channel服务器获取用户请求信息和节点信息,首先在节点所在区域查找节点,若有,则直接定位节点所在区域,若没有,则通过Dispatcher服务器在邻近区域内查找节点并定位节点所在区域;
S2、搜索所述节点所在区域内的其他系统服务器信息,向所述节点反馈查询结果;
S3、根据所述节点的资源信息,Proxy服务器通过算法分发给指定Channel服务器来处理,在Channel服务器中查找该资源的相关资源节点信息,若有,则直接返回该节点信息,若没有,则新建存储该节点信息并将其返回;
S4、在Channel服务器中查找资源和节点的关联信息,若有,则直接返回该关联信息,若没有,则新建存储该关联信息并将其返回。
优选地,所述Dispatcher服务器配置有全网服务器信息和所有IP与地域相关配置信息,且拥有负载均衡能力。
优选地,所述Dispatcher服务器为节点分配其所在区域内的Proxy服务器和Relay服务器。
优选地,所述Channel服务器是业务请求处理服务器,也是节点和资源相关信息存储服务器。
本发明的有益效果是:
本发明提供了一种精确查找P2P系统就近资源节点的系统和方法,通过采用Dispatcher服务器对已登陆节点进行地域分配,实现地域隔离,不仅能够提高P2P系统的连接效率和缩短连接耗时,还能解决跨区域等问题。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本发明一种精确查找P2P系统就近资源节点的系统的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的一个实施例中,P2P系统包括多台Channel服务器、Proxy服务器、Relay服务器和Dispatcher服务器,
该服务器架构包括:
1、特殊的服务器调配方式,Proxy服务器和Relay服务器的调配由Dispatcher服务器来完成,确保三类服务器都属于同一个大区域。
2、Dispatcher进一步被配置拥有全网服务器信息,拥有所有IP与地域相关配置信息,Dispatcher服务器拥有负载均衡能力,避免部分机器业务分配不均。
3、特殊的数据存储结构,所有的节点信息和对应的资源信息都按指定结构进行存储,结构中按照区域不同存储在不同的链表节点中,数据存储内容结构更清晰。
4、数据存储结构中,数据内容按照区域存储在不同的链表节点中,所以查询过程中进行修改,不再是全网进行查找,而是先确定请求节点所在区域,然后在对应区域中去获取需要的请求信息。
5、数据查找后返回的是本区域内的其他节点信息,在连接和下载的过程中,提升了连接成功率和缩短了资源下载时间。同时由于所有服务器处理的都是区域内的信息交换,减少了服务器的自身的业务处理压力。
6、所述P2P网络中需要NAT的其他节点信息是同区域的,减少了区域间的干扰,进一步优化了Channel服务器的监控、管理、统计等业务需求。系统被区分在单区域中,所有单区域服务器问题不会影响整个P2P系统的整体运行,只会影响该区域自身的P2P系统运行。
本发明服务端设计架构的目的是为了在P2P系统中更精准的访问就近节点。在部署上区别传统P2P系统增加了Dispatcher服务器,完成对所有登陆上来的节点信息的地域服务器分配,已完成从数据接入开始就进行了地域隔离。在配置方面增加了对于地域与IP的关联配置,能探测节点所在的地域。在数据结构方面,对数据存储结构进行了修改,在存储中将节点信息和资源信息分开存储,资源信息存储结构中增加与节点信息的关联关系,存储结构中将这种关联关系按照地域不同分别存储在链表中不同的节点位置。
Channel服务器是业务请求处理服务器,也是节点和资源相关信息存储服务器。Proxy服务器为业务请求分发,以及服务器负载均衡处理。Relay服务器为P2PNAT穿越中间服务器。Dispatcher服务器为节点分配指定区域内的Proxy服务器和Relay服务器。
进一步地,如图1所示,描述peer与Channel服务器、Proxy服务器、Relay服务器、Dispatcher服务器之间的数据交互,以及之间的相互调配。
Peer与Dispatcher服务器交互:Peer启动时登陆到Dispatcher服务器,向其发送请求,上报自身的节点信息,Dispatcher服务器根据请求内容和节点信息查找地域配置表定位该peer的区域信息,同时在服务器列表中查找同区域内的其他系统服务器信息,向peer反馈查询到的服务器信息。
Peer与Channel服务器交互:当peer拥有了某视频内容,peer向Channel服务器上报资源信息,Proxy服务器通过算法分发给一个指定的Channel服务器来处理。在资源信息内容中peer需要上报自身的节点信息。在配置文件中查找确定该peer所在的区域,记录所在区域,再在Channel服务器的resource服务器中查找是否有该资源的相关资源节点信息,若没有则在资源信息存储表中新建一个记录存储该节点信息,并返回该节点信息,若有则直接返回该节点信息。然后再根据该节点信息查找是否有关联该资源的peer信息,若没有则直接新建节点存储该资源和节点的关联信息,返回节点信息,若有则直接返回节点信息,将关联节点存储,存储位置为资源信息存储表中对应对应资源所在结构中,且存储该节点的位置须在结构中对应的地域链表位置节点中。
当peer播放某个视频时,会向Channel服务器发送资源请求消息,请求拥有资源的其他peer信息,Proxy服务器收到请求后将通过算法转发给指定Channel服务器来处理。请求内容中需上报该peer自身的节点信息,查找地域配置信息确定该peer所在的区域。根据请求的资源信息,在存储资源信息表中查找是否又该资源信息,若没有直接返回NULL,若存在返回该相关信息。该资源信息存储表结构中存有对应资源的相关信息,以及资源和所在peer以及peer的地域等的关联信息。根据资源信息查找到对应的资源存储表结构后,进而可以查找到对应资源和peer,以及peer的地域相关连信息。根据请求peer的地域信息,反馈回对应地域的其他peer信息。所以该P2P资源存储结构能反馈回需要请求的同区域的对应其他peer相关信息。
当peer接收到返回的其他peer后,peer通过Relay服务器向所有返回的其他peer发起TCPNAT穿越请求,若穿越成功则peer和其他peer发起NAT连接,连接完成后分别向其他peer下载对应资源数据,完成对该资源的下载。
本发明的有益效果具体为:本发明一种精确查找P2P系统就近资源节点的系统和方法,充分利用P2P系统的穿越成熟技术的同时,极大的优化了系统,提升了系统节点间链接的耗时和链接的成功率,同时保证节点间的信息交换都处于同一区域内,极大的减少了数据跨区域链接情况,减少服务的调度压力。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。