CN101645831B - 一种p2p系统中的节点组织方法 - Google Patents
一种p2p系统中的节点组织方法 Download PDFInfo
- Publication number
- CN101645831B CN101645831B CN2009100835575A CN200910083557A CN101645831B CN 101645831 B CN101645831 B CN 101645831B CN 2009100835575 A CN2009100835575 A CN 2009100835575A CN 200910083557 A CN200910083557 A CN 200910083557A CN 101645831 B CN101645831 B CN 101645831B
- Authority
- CN
- China
- Prior art keywords
- node
- index server
- nodes
- index
- route
- 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)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种P2P系统中的节点组织方法。该方法包括:1)采用哈希算法对节点的IP地址进行操作,设定节点标识符;2)采用数学上的异或运算来计算节点间的距离;3)通过索引服务器实现新节点加入时的并发加入;4)通过索引服务器实现节点路由到目标节点时的就近路由。该方法结合索引服务器与DHT技术,索引服务器保存系统中部分节点的信息,当新节点加入时,通过索引服务器实现并发加入,从而提高节点的加入速度;路由到目标节点时,通过索引服务器实现就近路由,从而提高节点的路由速度。而且,即使索引服务器发生故障,节点仍然能够通过DHT的方式找到合适的合作节点以获取媒体数据,从而可避免单点故障,提高系统的健壮性。
Description
技术领域
本发明涉及计算机网络领域,更具体地,本发明涉及一种P2P系统中的节点组织方法。
背景技术
近年来,随着互联网的迅猛发展和普及,对等网络(Peer-to-Peer,简称P2P)技术迅速成为计算机界关注的热门话题,财富杂志更将P2P列为影响Internet未来的四项科技之一。
与传统的分布式系统相比,P2P技术具有无可比拟的优势。在P2P系统中,每个节点的地位都是对等的,既是资源获取者,也是资源提供者。通过充分利用用户节点提供的资源,P2P技术在可扩展性、容错性、资源利用率等方面都具有巨大的优势。同时,P2P技术也具有广阔的应用前景,资源共享、分布式计算、协同工作、即时通信等多个领域的P2P应用层出不穷。
在P2P系统中,所有节点以某种方法组织起来,共同构建了基于应用层的覆盖网。目前常见的节点组织方法可以分为两类:基于索引服务器的方式与基于DHT(分布式哈希表)的方式。
在基于索引服务器的方式中,索引服务器保存了系统中所有节点的信息。当节点加入时,索引服务器按照某种策略选择并返回一些节点作为新加入节点的合作节点。在系统规模较小的情况下,索引服务器能够迅速地响应节点的请求;但是随着系统规模的扩大,索引服务器逐渐成为系统的瓶颈所在,响应时间变得无法忍受。而且这种方式也存在着单点故障的缺陷:如果索引服务器发生故障,将导致整个系统无法正常工作。
在基于DHT的方式中,不需要特殊的服务器,每个节点按照一定规则存储部分节点的路由信息,从而能够保证路由到系统中任意一个节点。基于DHT的方式能够避免单点故障的缺陷,在每个节点之间实现负载均衡;但是,无论是新节点加入系统,还是路由到指定的目标节点,平均需要logN/2跳,而在应用层覆盖网中,通过逻辑链路相连的节点往往在物理网络上相隔甚远,这使得基于DHT的方式具有无法接受的延时。
发明内容
为克服现有P2P系统中节点组织方法的种种缺陷,本发明提供一种结合索引服务器与DHT技术的P2P系统中的节点组织方法。在该方法中,索引服务器有选择地保存系统中部分节点的信息,当新节点加入时,通过索引服务器实现并发加入,从而提高节点的加入速度;路由到目标节点时,通过索引服务器实现就近路由,从而提高节点的路由速度。而且,即使索引服务器发生故障,节点仍然能够通过DHT的方式找到合适的合作节点以获取媒体数据,从而可避免单点故障,提高系统的健壮性。
为实现上述目的,本发明提出的P2P系统中的节点组织方法,包括以下步骤:
1)设定节点标识符:
采用哈希算法,如SHA-1、MD4、MD5等,对节点的IP地址进行操作,将节点映射到m位(m为预先设定的常数,取值为64~160)的二进制标识符空间,从而为每个节点分配唯一的m位的二进制标识符作为其节点标识符。
2)节点间距离的计算:
采用数学上的异或运算来计算系统中的节点间距离,对于节点p1,p2,其距离 即对应的二进制位相同时结果为0,不同时结果为1。
3)节点的并发加入:
a)当节点加入系统时,首先向索引服务器发送“注册”请求。收到“注册”请求后,索引服务器以一定概率(如0.05~0.1中的某个值)决定是否保存该节点的索引信息,如果是,则保存其索引信息;
b)接着,索引服务器从保存的索引信息中随机选择并返回若干个节点的索引信息,作为新加入节点的初始邻居节点,帮助其加入整个系统;
c)收到索引服务器返回的索引信息后,节点将这些初始邻居节点加入路由表中,并分别以这些节点为路由的起始节点,以本节点的标识符为目标,同时执行多个DHT协议提供的路由操作。在路由过程中,节点将按照由远到近的顺序收集到系统中许多节点的信息,并将根据这些信息来填充与完善自己的路由表;与此同时,节点也将自己的信息发布到路由路径中的其它节点上,从而完成新节点的加入过程。
4)节点的就近路由:
a)当节点路由到目标节点时,首先向索引服务器发送“查询”请求,
b)如果索引服务器中存放了目标节点的索引信息,则立即返回索引信息,路由过程结束;否则,索引服务器从所保存的索引信息中选择并返回与目标节点距离最近的节点(设为节点a)的信息;
c)路由请求发起节点以节点a为路由的起始节点,执行DHT协议提供的路由操作,从而路由到最终的目标节点;
d)如果索引服务器发生故障,节点路由仍然能够顺利进行:节点将从路由表中选择与目标节点距离最近的节点,并以其为路由的起始节点,执行DHT协议提供的路由操作,从而路由到最终的目标节点。
本发明的P2P系统中的节点组织方法的优点在于:通过本发明的应用,不但能够避免P2P系统中的单点故障,从而可提高系统的健壮性,而且通过借助索引服务器的查询功能,实现并发加入以提高节点的加入速度,实现就近路由以提高节点的路由速度。
附图说明
图1为本发明的采用结合索引服务器与DHT技术的节点组织方法的P2P系统的架构。
图2为本发明的P2P系统中的节点组织方法中节点并发加入的流程图。
图3为本发明的P2P系统中的节点组织方法中节点就近路由的流程图。
图4为本发明的采用结合索引服务器与DHT技术的节点组织方法的P2P系统的一具体应用场景。
具体实施方式
下面,参照附图对本发明提出的P2P系统中结合索引服务器与DHT技术的节点组织方法进行详细说明。
图1为采用结合索引服务器与DHT技术的节点组织方法的P2P系统的架构。如图1所示,在系统中,所有节点以环状的方式构成了基于DHT方式的应用层覆盖网,系统中仍然存在中心式的索引服务器,并且索引服务器有选择地保存了系统中部分节点的索引信息。图中实线箭头表示系统中的数据流,虚线箭头表示系统中的信令流。在该系统中,索引服务器的功能描述如下:有选择地保存了系统中部分节点的信息,并响应节点发送的“注册”请求与“查询”请求。
本发明的P2P系统中的节点组织方法,结合索引服务器与DHT技术,当新节点加入时,通过索引服务器实现并发加入,提高节点的加入速度;路由到目标节点时,通过索引服务器实现就近路由,提高节点的路由速度。而且,即使索引服务器发生故障,节点仍然能够通过DHT的方式找到合适的合作节点以获取媒体数据,可避免单点故障,提高系统的健壮性。具体包括如下步骤:
1)设定节点标识符:
采用哈希算法,如SHA-1、MD4、MD5等,对节点的IP地址进行操作,将节点映射到m位(m为预先设定的常数,取值为64~160)的二进制标识符空间,从而为每个节点分配唯一的m位的二进制标识符作为其节点标识符。
这里,可以通过对节点的IP地址执行SHA-1操作从而生成128位节点标识符。
2)节点间距离的计算:
采用数学上的异或运算来计算系统中的节点间距离,定义节点p1,p2的距离 即对应的二进制位相同时结果为0,不同时结果为1。
3)节点的并发加入:
图2是本发明的P2P系统中的节点组织方法中节点并发加入的流程图。如图2所示,当新节点加入时,通过索引服务器实现并发加入,具体包括以下步骤:
a)当节点p加入系统时,首先向索引服务器发送“注册”请求,索引服务器收到“注册”请求后,以一定概率(如0.05~0.1中的某个值)决定是否保存该节点的索引信息,如果是,则保存其索引信息;
b)接着,索引服务器从保存的索引信息中随机选择并返回若干个节点的索引信息,作为节点p的初始邻居节点,帮助其加入整个系统;c)收到索引服务器返回的初始邻居节点列表后,节点p将这些节点加入路由表中,并分别以这些节点为路由的起始节点,以本节点的标识符为目标,同时执行多个DHT协议提供的路由操作。在路由过程中,节点p将按照由远到近的顺序收集到系统中许多节点的信息,并将根据这些信息来填充与完善自己的路由表;与此同时,节点p也将自己的信息发布到路由路径中的其它节点上,从而完成新节点的加入过程。
4)节点的就近路由:
图3是本发明的P2P系统中的节点组织方法中节点就近路由的流程图。如图3所示,当节点路由到目标节点时,通过索引服务器实现就近路由,具体包括以下步骤:
a)当节点p路由到目标节点时,首先向索引服务器发送“查询”请求;
b)如果索引服务器中存放了目标节点的索引信息,则立即返回索引信息,路由过程结束;否则,索引服务器从所保存的索引信息中选择并返回与目标节点距离最近的节点(设为节点a)的信息;
c)路由请求发起节点p以节点a为路由的起始节点,执行DHT协议提供的路由操作,从而路由到最终的目标节点;
d)如果索引服务器发生故障,节点路由仍然能够顺利进行:节点p从路由表中选择与目标节点距离最近的节点,并以其为路由的起始节点,执行DHT协议提供的路由操作,从而路由到最终的目标节点。
实施例:
下面通过一个具体例子,对本发明提供的P2P系统中的节点组织方法的步骤流程作进一步阐述。
图3为本发明的采用结合索引服务器与DHT技术的节点组织方法的P2P系统的一具体应用场景。如图3所示,本发明提供的方法的一个具体应用场景如下:在本场景中具有下列设备:索引服务器、节点1~15。其中,索引服务器中保存了节点1,5,9,13的索引信息,而节点1-15的标识符分别为:
假设此时节点12发起请求,希望路由到节点1。下面描述路由的过程步骤:
(1)节点12向索引服务器发送“查询”请求,查询节点1的索引信息;
(2)索引服务器未保存节点1的索引信息,因此,选择并返回与节点1距离最近的节点,即节点2的索引信息,两者距离为1;
综上所述,在P2P系统中结合索引服务器与DHT技术进行节点组织,不但能够避免P2P系统中的单点故障,提高系统的健壮性,而且通过借助索引服务器的查询功能,实现并发加入以提高节点的加入速度,实现就近路由以提高节点的路由速度。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非对其限制,并且在应用上可以延伸到其他的修改、变化、应用和实施例,同时认为所有这样的修改、变化、应用、实施例都在本发明的精神和范围内。
Claims (3)
1.一种P2P系统中的节点组织方法,包括以下步骤:
1)设定节点标识符:
采用哈希算法对节点的IP地址进行操作,将节点映射到m位的二进制标识符空间,从而为每个节点分配唯一的m位的二进制标识符作为其节点标识符,其中,m为预先设定的常数,取值为64~160;
2)节点间距离的计算:
3)节点的并发加入:当新节点加入时,通过索引服务器实现并发加入,
a)当节点加入系统时,首先向索引服务器发送注册请求,收到注册请求后,索引服务器以一定概率,决定是否保存该节点的索引信息,如果判断结果为是,则保存其索引信息;
b)接着,索引服务器从保存的索引信息中随机选择并返回若干个节点的索引信息,作为新加入节点的初始邻居节点,帮助其加入整个系统;
c)收到索引服务器返回的索引信息后,节点将这些初始邻居节点加入路由表中,并分别以这些节点为路由的起始节点,以本节点的标识符为目标,同时执行多个DHT协议提供的路由操作,在路由过程中,节点将按照由远到近的顺序收集到系统中许多节点的信息,并将根据这些信息来填充与完善自己的路由表;与此同时,节点也将自己的信息发布到路由路径中的其它节点上,从而完成新节点的加入过程;
4)节点的就近路由:当节点路由到目标节点时,通过索引服务器实现就近路由,
a)当节点路由到目标节点时,首先向索引服务器发送查询请求;
b)如果索引服务器中存放了目标节点的索引信息,则立即返回索引信息,路由过程结束,否则,索引服务器从所保存的索引信息中选择并返回与目标节点距离最近的节点a的信息;
c)路由请求发起节点以节点a为路由的起始节点,执行DHT协议提供的路由操作,从而路由到最终的目标节点;
d)如果索引服务器发生故障,节点将从路由表中选择与目标节点距离最近的节点,并以其为路由的起始节点,执行DHT协议提供的路由操作,从而路由到最终的目标节点。
2.如权利要求1所述的P2P系统中的节点组织方法,其特征在于,所述步骤1)中,对节点的IP地址进行操作时所采用的哈希算法为:SHA-1、MD4或MD5。
3.如权利要求1所述的P2P系统中的节点组织方法,其特征在于,所述步骤3)中,所述索引服务器以0.05~0.1范围内的任意一个概率保存节点的索引信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100835575A CN101645831B (zh) | 2009-05-08 | 2009-05-08 | 一种p2p系统中的节点组织方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100835575A CN101645831B (zh) | 2009-05-08 | 2009-05-08 | 一种p2p系统中的节点组织方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101645831A CN101645831A (zh) | 2010-02-10 |
CN101645831B true CN101645831B (zh) | 2011-12-07 |
Family
ID=41657555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100835575A Active CN101645831B (zh) | 2009-05-08 | 2009-05-08 | 一种p2p系统中的节点组织方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101645831B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102480422B (zh) * | 2010-11-30 | 2016-03-02 | 中兴通讯股份有限公司 | P2p终端在p2p叠加网中的通讯方法和系统 |
CN102572602B (zh) * | 2012-01-16 | 2016-06-29 | 电子科技大学 | 在p2p直播流系统中基于dht的分布式索引实现方法 |
CN106506497B (zh) * | 2016-11-04 | 2019-08-30 | 广州华多网络科技有限公司 | 伪造白名单ip地址检测方法、装置及服务器 |
CN108848191A (zh) * | 2018-07-26 | 2018-11-20 | 深圳市元征科技股份有限公司 | 一种节点连接方法及相关设备 |
CN110046160B (zh) * | 2019-03-15 | 2021-07-20 | 中国科学院计算技术研究所 | 一种基于条带的一致性哈希存储系统构建方法 |
CN110442773B (zh) * | 2019-08-13 | 2023-07-18 | 深圳市网心科技有限公司 | 分布式系统中节点缓存方法、系统、装置及计算机介质 |
CN113438308B (zh) * | 2021-06-23 | 2022-12-23 | 上海简苏网络科技有限公司 | 一种基于区块链的高效通信方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030126291A1 (en) * | 2001-12-28 | 2003-07-03 | Wang Ben B. | Method and message distributor for routing requests to a processing node |
CN1859304A (zh) * | 2006-02-13 | 2006-11-08 | 华为技术有限公司 | 一种邻居发现的实现方法 |
CN101047550A (zh) * | 2006-03-28 | 2007-10-03 | 华为技术有限公司 | 一种p2p网络的组内结构及其组网方法 |
CN101119271A (zh) * | 2007-07-05 | 2008-02-06 | 中国科学技术大学 | 一种基于结构化p2p应用服务平台及其实现方法 |
CN101409665A (zh) * | 2007-10-08 | 2009-04-15 | 华为技术有限公司 | 对p2p网络节点进行路由处理的方法和装置 |
-
2009
- 2009-05-08 CN CN2009100835575A patent/CN101645831B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030126291A1 (en) * | 2001-12-28 | 2003-07-03 | Wang Ben B. | Method and message distributor for routing requests to a processing node |
CN1859304A (zh) * | 2006-02-13 | 2006-11-08 | 华为技术有限公司 | 一种邻居发现的实现方法 |
CN101047550A (zh) * | 2006-03-28 | 2007-10-03 | 华为技术有限公司 | 一种p2p网络的组内结构及其组网方法 |
CN101119271A (zh) * | 2007-07-05 | 2008-02-06 | 中国科学技术大学 | 一种基于结构化p2p应用服务平台及其实现方法 |
CN101409665A (zh) * | 2007-10-08 | 2009-04-15 | 华为技术有限公司 | 对p2p网络节点进行路由处理的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101645831A (zh) | 2010-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101645831B (zh) | 一种p2p系统中的节点组织方法 | |
EP2514174B1 (en) | Method and apparatus for decomposing a peer-to-peer network and using a decomposed peer-to-peer network | |
EP2612487B1 (en) | Method and arrangement in a peer-to-peer network | |
WO2022237569A1 (zh) | 一种交易验重方法、装置、设备以及介质 | |
Duan et al. | A novel load balancing scheme for mobile edge computing | |
CN115622938A (zh) | 算力服务处理方法、装置及系统 | |
CN102378407B (zh) | 一种物联网中的对象名字解析系统及其解析方法 | |
Akavipat et al. | ReDS: A framework for reputation-enhanced DHTs | |
Wang et al. | Trust‐aware query routing in P2P social networks | |
US20060209717A1 (en) | Distributed storing of network position information for nodes | |
CN113641869A (zh) | 一种人机物融合环境下的数字对象访问方法和系统 | |
CN101917475B (zh) | 一种基于p2p模式的psrd普适服务资源发现方法 | |
Abe | Blockchain storage load balancing among dht clustered nodes | |
He et al. | Chord4s: A p2p-based decentralised service discovery approach | |
JP2008269141A (ja) | オーバレイ検索装置、オーバレイ検索システム、オーバレイ検索方法およびオーバレイ検索用プログラム | |
Xiao et al. | A proposal of survivable virtual network embedding algorithm | |
CN106202303A (zh) | 一种Chord路由表压缩方法及优化文件查找方法 | |
Zhang et al. | Enabling routing control in a DHT | |
Zhang et al. | Research on enterprise DNS security scheme based on blockchain technology | |
Hof et al. | Design of a secure distributed service directory for wireless sensornetworks | |
JP4689541B2 (ja) | 情報探索システム、装置、方法及びプログラム | |
Lösch et al. | Weighted load balancing in distributed hash tables | |
KR102723059B1 (ko) | 블록체인 시스템의 도메인 기반 트랜잭션 처리 대상의 네트워크 접속 경로를 확정하는 방법 및 장치 | |
Pirró et al. | ERGOT: Combining DHTs and SONs for semantic-based service discovery on the grid | |
Kalala et al. | EigenTrust for Hierarchically Structured Chord |
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: 20210803 Address after: Room 1601, 16th floor, East Tower, Ximei building, No. 6, Changchun Road, high tech Industrial Development Zone, Zhengzhou, Henan 450001 Patentee after: Zhengzhou xinrand Network Technology Co.,Ltd. Address before: 100190 Institute of acoustics, Chinese Academy of Sciences, No. 21 West Fourth Ring Road, Haidian District, Beijing Patentee before: INSTITUTE OF ACOUSTICS, CHINESE ACADEMY OF SCIENCES |