CN101394415B - 用于结构化覆盖网络的资源广播交互机制的方法及装置 - Google Patents
用于结构化覆盖网络的资源广播交互机制的方法及装置 Download PDFInfo
- Publication number
- CN101394415B CN101394415B CN200710122008A CN200710122008A CN101394415B CN 101394415 B CN101394415 B CN 101394415B CN 200710122008 A CN200710122008 A CN 200710122008A CN 200710122008 A CN200710122008 A CN 200710122008A CN 101394415 B CN101394415 B CN 101394415B
- Authority
- CN
- China
- Prior art keywords
- resource
- message
- broadcast
- node
- layer
- 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.)
- Expired - Fee Related
Links
Images
Abstract
本发明实施例提供了一种用于结构化覆盖网络的资源广播交互机制的方法及装置,属于电通信技术领域。该方法包括:通过哈希算法将相同资源信息映射到同一节点上,也就是将相同资源的本地IP地址及该资源MD(消息摘要)值传递到该节点,该节点即成为索引节点,当所有其他节点搜索资源时,可先找到该索引节点,从而可获得到包含该相同资源的所有IP地址,然后利用高层协议进行具体传输,有效地降低网络初始化时的网络负载,从而改善P2P网络的传输性能,可广泛地应用于因特网的信息共享技术中。
Description
技术领域
本发明涉及电通信技术领域,尤其涉及一种用于结构化覆盖网络的资源广播交互机制的方法及装置。
背景技术
随着因特网的发展,使得分布在不同地方的数据、程序和信息都能够在网上实现资源共享,最大限度地发挥各地资源的作用,从而提高了工作效率,也大大降低了工作成本。
资源共享涉及多方面的内容,比如网络架构、查询信息路径等,对等网络就是一种用于信息共享的网络架构,在这种网络架构中,没有专用的服务器,也没有专用的工作站,也就是网上各台计算机有相同的功能,无主从之分,任一台计算机都是既可作为服务器,设定共享资源供网络中其他计算机所使用,又可作为工作站,分享其他服务器的资源。
目前最为流行的三种P2P网络(对等网络)模型分别是:
1)基于集中式目录结构,以Napster为代表。中央集中式的Napster利用中央服务器负责目录管理,则可能因服务器的限制,存在服务量无法提高和单点崩溃的问题。
2)基于广播式定位方法的非结构化的对等网络模型,以Gnutella为代表。非结构化对等网络的模型如Gnutella及Freenet由于没有中央服务器,在搜寻数据时是以flooding的方式将消息散步在网络上,从而可能会造成消息泛滥的问题,也使得系统的可扩展性无法提升,并且会加重网络的负荷。
3)结构化覆盖网络模型,以Chord为代表。结构化覆盖网络路由协议如CAN、Chord、Pastry和Tapestry等可利用哈希算法将数据和节点运算成一个键值,利用键值来完成数据的放置和维护,但在该中网络模型所使用的算法中,没有介绍任意一个节点上存有的任意数据如何放置和传递到工作站上。
由上所述,可以发现现有技术存在至少以下问题:
在结构化P2P搜索算法中,基本上都采用哈希算法将相同的资源映射到同一个节点上的方式,但这种方式国际上并没有具体的标准,使得该种算法的可靠性以及可实现性较差。
发明内容
本发明实施例提供一种用于结构化覆盖网络的资源广播交互机制的方法及装置,从而给用户提供一种性能可靠、易于实现的P2P网络模型。
本发明实施例的目的是通过以下技术方案实现的:
本发明实施例提供一种用于结构化覆盖网络的资源广播交互机制的方法,包括:
利用哈希算法将源节点的资源信息映射到索引节点;
通过所述索引节点得到所述源节点的资源信息;
根据所述资源信息以及利用高层协议传输所述源节点的资源。
所述资源信息包括资源的IP地址和消息摘要值。
所述高层协议包括超文本传输协议和文件传输协议。
所述通过所述索引节点得到所述源节点的资源信息的方法进一步包括:
P2P层向DATA层发送P2P本地资源请求消息;
当所述DATA层收到向所述P2P层发送所述P2P本地资源请求消息时,所述DATA层向所述P2P层发送包含资源列表的P2P本地资源响应消息;
所述P2P层收到所述P2P本地资源响应消息后,根据所述资源列表向所 述索引节点发送P2P本地资源广播消息。
所述向所述索引节点发送P2P本地资源广播消息的方法包括采用定时广播方式或者增量广播方式。
所述资源列表包括文件名和文件消息摘要值。
所述关键值表包括文件消息摘要值和文件所在节点的IP地址。
所述通过所述索引节点得到所述源节点的资源信息的方法之前进一步包括:
DATA层生成文件资源,并形成资源列表。
本发明实施例还提供一种用于结构化覆盖网络的资源广播交互机制的装置,包括:
资源广播机制模块,用于利用哈希算法将源节点的资源信息映射到索引节点;
消息处理模块,用于通过所述索引节点得到所述源节点的资源信息;
资源发布机制消息交互模块,用于根据所述资源信息以及利用高层协议传输所述源节点的资源。
所述消息处理模块包括:
消息接收单元,用于接收所述P2P本地资源请求消息、所述P2P本地资源响应消息和P2P本地资源广播消息。
消息处理单元,根据所述消息接收模块接收到的消息获得所述源节点的资源信息。
由上述技术方案可知,本发明实施例实现了在P2P网络模型中以Chord算法为代表的结构化覆盖网络的资源广播交互机制,有利于将Chord算法等结构化P2P搜索算法真正应用于实际网络中,并且在DATA层可采用多种不同的具体传输协议,有效地降低网络初始化时的网络负载,从而改善P2P网络的传输性能。
附图说明
图1为本发明实施例对P2P本地资源请求消息处理的流程图;
图2为本发明实施例对P2P本地资源响应消息处理的流程图;
图3为本发明实施例对P2P本地资源广播消息处理的流程图;
图4为本发明实施例采用Chord算法的纯分布结构覆盖网络结构示意图。
具体实施方式
本发明实施例通过哈希算法将相同资源信息映射到同一节点上,也就是将相同资源的本地IP地址及该资源MD(消息摘要)值传递到该节点,该节点即成为索引节点,当所有其他节点搜索资源时,可先找到该索引节点,从而可获得到包含该相同资源的所有IP地址,然后利用高层协议进行具体传输,高层协议可包括:http(超文件传输协议)、ftp(文件传输)等协议。
本发明实施例的技术方案包括三部分,资源广播机制、消息处理过程以及资源发布机制消息交互,下面分别对上述部分进行描述。
一、资源广播机制
在本发明实施例中的资源广播交互机制采用的是P2P搜索算法的广播交互机制,资源广播可采用定时或增量广播方式。在本发明实施例中资源广播交互机制的实现可通过P2P本地资源请求消息(p2p_Iocal_resource_request)、P2P本地资源响应消息(p2p_Iocal_resource_response)、P2P本地资源广播消息(p2p_Iocal_resource_broadcast)三条控制消息以及资源表(resource_table)、关键值表(key_value_table)两张表的建立和维护来实现。
下面对在本发明实施例中采用的上述三条控制消息以及两张表的格式作详细说明。
p2p_Iocal_resource_request消息格式只有一项PK_TYPE,用于标识包类型,在本发明实施例中可采用32位。
p2p_Iocal_resource_response消息的格式包括PK_TYPE和RESOURCE_LIST两项,PK_TYPE用于标识包类型,RESOURCE_LIST用于存储DATA层产生的资源列表指针。
p2p_Iocal_resource_broadcast消息的格式包括SOURCE、DEST、PK_TYPE、FILE_NAME、FILE_MD、DEST_FINAL、SUCCESSOR_FLAG七项。其中,SOURCE用于标识原地址,DEST用于标识下一条目的节点地址,PK_TYPE用于标识包类型,FILE_NAME用于标识文件的名称,FILE_MD是文件名的MD值,DEST_FINAL是为路由层的预留域,SUCCESSOR_FLAG是用于标识是否是successor(后继节点)。
resource_table结构包括resource_keyword和resource_keyword_md两项,分别是文件名和文件名MD值。
Key_value_table的结构包括resource_keyword_md和resource_ip_addr两项,分别是文件名MD值和该文件所在节点IP地址。
采用上述格式的控制消息、资源表和关键值表可使得在本发明实施例中的资源广播机制有效的降低网络开销。
二、消息处理过程
根据上面的描述可知,在本发明实施例中有三条控制消息,即p2p_Iocal_resource_request、p2p_Iocal_resource_response和p2p_Iocal_resource_broadcast。
下面将结合本发明实施例附图对本发明上述三条控制消息的处理过程作详细说明。
1)p2p_Iocal_resource_request消息处理过程
如图1所示,为本发明实施例对p2p_Iocal_resource_request消息处理的流程图,p2p_Iocal_resource_request消息由P2P层向上层定期发送,用以维护本节点所有的资源。在本发明实施例中将DATA层作为P2P层的上层,在初始化时会由DATA层随机生成文件资源,并形成资源列表。当DATA层收到p2p_Iocal_resource_request消息,DATA层会向P2P层发p2p_Iocal_resource_response消息,其中会包含DATA层资源列表。具体步骤如下:
步骤11、开始;
初始化时DATA层随机生成文件资源,并形成资源列表。
步骤12、创建p2p_Iocal_resource_response消息,然后,执行步骤23;
当DATA层收到p2p_Iocal_resource_request消息后,会创建p2p_Iocal_resource_response消息;
步骤13、将本地资源列表写入响应消息,然后,执行步骤24;
将本地资源列表写入p2p_Iocal_resource_response消息中;
步骤14、将p2p_Iocal_resource_response消息发往P2P,然后,执行步骤25;
DATA层会向P2P层发包含DATA层资源列表的p2p_Iocal_resource_response消息;
步骤15、结束。
p2p_Iocal_resource_request消息处理结束。
通过上述步骤将包含有资源列表的p2p_Iocal_resource_response消息发送到P2P层。
2)p2p_Iocal_resource_response消息处理过程
如图2所示,为本发明实施例对P2P本地资源响应消息处理的流程图, p2p_Iocal_resource_response消息由DATA层发往P2P层。P2P层收到p2p_Iocal_resource_response消息后,会根据得到的DATA层资源列表,分别根据各资源的文件名计算出其相应的MD值,并写入resource_table中,具体步骤如下:
步骤21、开始;
步骤22、读取文件名和MD值;
在本步骤中根据得到的DATA资源列表,分别读取各资源的文件名和计算出其相应的MD值。
步骤23、将MD值和源地址写入resource_table表;
上述源地址是指放置资源节点的IP地址。
在本发明实施例中resource_table结构包括resource_keyword和resource_keyword_md两项,分别是文件名和文件名MD值。
步骤24、p2p_Iocal_resource_response消息处理结束。
通过上述步骤将MD值和源地址写入resource_table表中。
在本发明实施例中可根据所选模式不同,采用定时或增量广播方式,向successor(MD)发送p2p_Iocal_resource_broadcast消息。
3)p2p_Iocal_resource_broadcast消息处理过程
如图3所示,为本发明实施例对P2P本地资源广播消息处理的流程图,P2P层收到p2p_Iocal_resource_response消息后,向下层发送p2p_Iocal_resource_broadcast消息,将索引消息告知索引节点。p2p_Iocal_resource_broadcast消息由资源所在节点发往索引节点,采用的是各P2P算法的本身机制,在本发明实施例中可采用Chord算法定位后继节点。后继节点收到p2p_Iocal_resource_broadcast消息后,将该消息中所包含文件名MD值和源地址写入key_value_table(关键值表)中,具体步骤如下:
步骤31、开始;
步骤32、读取资源列表,获得文件名(所需查找文件的文件名),然后,执行步骤33;
步骤33、根据文件名,计算各文件名MD值,然后,执行步骤34;
步骤34、将文件名及MD值写入key_value_table中,然后,执行步骤35;
上述Key_value_table的结构包括resource_keyword_md和resource_ip_addr两项,分别是文件名MD值和该文件所在节点IP地址。
步骤35、采用何种广播方式,若定时,执行步骤36;若采用增量,执行步骤37;
步骤36、向successor(MD)发p2p_Iocal_resource_broadcast消息;
步骤37、向改变了的文件successor(MD)发p2p_Iocal_resource_broadcast消息;
步骤38、p2p_Iocal_resource_broadcast消息处理过程结束。
通过上述三个步骤,实现了本发明实施例中的消息处理过程,也就是在本发明实施例通过哈希算法将相同资源信息映射到同一节点上,也就是将相同资源的本地IP地址及该资源MD(消息摘要)值传递到该节点,该节点即成为索引节点,当所有其他节点搜索资源时,可先找到该索引节点,从而可获得到包含该相同资源的所有IP地址。
本发明实施例在P2P网络模型中采用Chord算法,但并不限于Chord算法,其他如CAN、Pastry等算法同样也适用本发明实施例。
如图4所示,为本发明实施例采用Chord算法的纯分布结构覆盖网络结构示意图。从图中可知,将网络分为四层,第一层包括:源节点、索引节点的前继节点(Predecessor(successor(MD)))、索引节点(successor(MD));第二层为数据层(DATA层);第三层为P2P层;第四层为下 层。其中,位于P2P层上的DATA层,可用于具体文件的产生和发送,在本发明实施例中,DATA层可采用http、ftp等协议实现高层数据的传输。
下面以在采用Chord算法的结构化覆盖网络环境下,源节点发布某文件资源为例,阐述本发明实施例,如图4所示,源节点P2P层发p2p_Iocal_resource_request消息到DATA层,获取资源列表,DATA层返回p2p_Iocal_resource_response消息到P2P层,更新resource_table后,将某一文件名及MD值写入p2p_Iocal_resource_broadcast消息,按照Chord算法,经几跳后传到successor(MD)的前继节点,predecessor(successor(MD))将p2p_Iocal_resource_broadcast消息的successor_flag项置为true,再转发到后继节点。Successor(MD)收到p2p_Iocal_resource_broadcast消息后,将MD值和源IP地址写入key_value_table表,这样就将源节点的资源发布到了其后继节点上,从而实现本发明实施例中的资源发布和广播机制。
本发明实施例实现了在P2P网络模型中以Chord算法为代表的结构化覆盖网络的资源广播交互机制,有利于将Chord算法等结构化P2P搜索算法真正应用于实际网络中,并且在DATA层可采用多种不同的具体传输协议,有效地降低网络初始化时的网络负载,从而改善P2P网络的传输性能。
本发明实施例还提供了一种实施上述方法的装置,一种用于结构化覆盖网络的资源广播交互机制的装置,包括:
1)资源广播机制模块,用于利用哈希算法将源节点的资源信息映射到索引节点;
2)消息处理模块,用于通过所述索引节点得到所述源节点的资源信息;
该消息处理模块,可包括:
消息接收单元,用于接收所述P2P本地资源请求消息、所述P2P本地资源响应消息和P2P本地资源广播消息。
消息处理单元,根据所述消息接收模块接收到的消息获得所述源节点的资源信息。
3)资源发布机制消息交互模块,用于根据所述资源信息以及利用高层协议传输所述源节点的资源。
本发明实施例实现了在P2P网络模型中以Chord算法为代表的结构化覆盖网络的资源广播交互机制,有利于将Chord算法等结构化P2P搜索算法真正应用于实际网络中,并且在DATA层可采用多种不同的具体传输协议,有效地降低网络初始化时的网络负载,从而改善P2P网络的传输性能。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (7)
1.一种用于结构化覆盖网络的资源广播交互机制的方法,其特征在于,包括:
利用哈希算法将源节点的资源信息映射到索引节点;
通过所述索引节点得到所述源节点的资源信息,具体包括:DATA层生成文件资源,并形成资源列表;P2P层向DATA层发送P2P本地资源请求消息;当所述DATA层收到所述P2P层发送的所述P2P本地资源请求消息时,所述DATA层向所述P2P层发送包含资源列表的P2P本地资源响应消息;所述P2P层收到所述P2P本地资源响应消息后,根据所述资源列表向所述索引节点发送P2P本地资源广播消息;
根据所述资源信息以及利用高层协议传输所述源节点的资源。
2.根据权利要求1所述的用于结构化覆盖网络的资源广播交互机制的方法,其特征在于,所述资源信息包括资源的IP地址和消息摘要值。
3.根据权利要求1所述的用于结构化覆盖网络的资源广播交互机制的方法,其特征在于,所述高层协议包括超文本传输协议和文件传输协议。
4.根据权利要求1所述的用于结构化覆盖网络的资源广播交互机制的方法,其特征在于,所述向所述索引节点发送P2P本地资源广播消息的方法包括采用定时广播方式或者增量广播方式。
5.根据权利要求1所述的用于结构化覆盖网络的资源广播交互机制的方法,其特征在于,所述资源列表包括文件名和文件消息摘要值。
6.一种用于结构化覆盖网络的资源广播交互机制的装置,其特征在于,包括:
资源广播机制模块,用于利用哈希算法将源节点的资源信息映射到索引节点;
消息处理模块,用于通过所述索引节点得到所述源节点的资源信息,具体包括:DATA层生成文件资源,并形成资源列表;P2P层向DATA层发送P2P本地资源请求消息;当所述DATA层收到向所述P2P层发送所述P2P本地资源请求消息时,所述DATA层向所述P2P层发送包含资源列表的P2P本地资源响应消息;所述P2P层收到所述P2P本地资源响应消息后,根据所述资源列表向所述索引节点发送P2P本地资源广播消息;
资源发布机制消息交互模块,用于根据所述资源信息以及利用高层协议传输所述源节点的资源。
7.根据权利要求6所述的用于结构化覆盖网络的资源广播交互机制的装置,其特征在于,所述消息处理模块包括:
消息接收单元,用于接收所述P2P本地资源请求消息、所述P2P本地资源响应消息和P2P本地资源广播消息。
消息处理单元,根据所述消息接收单元接收到的消息获得所述源节点的资源信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710122008A CN101394415B (zh) | 2007-09-19 | 2007-09-19 | 用于结构化覆盖网络的资源广播交互机制的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710122008A CN101394415B (zh) | 2007-09-19 | 2007-09-19 | 用于结构化覆盖网络的资源广播交互机制的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101394415A CN101394415A (zh) | 2009-03-25 |
CN101394415B true CN101394415B (zh) | 2012-08-29 |
Family
ID=40494487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710122008A Expired - Fee Related CN101394415B (zh) | 2007-09-19 | 2007-09-19 | 用于结构化覆盖网络的资源广播交互机制的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101394415B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101656618B (zh) | 2009-09-11 | 2012-09-05 | 中兴通讯股份有限公司 | 一种基于结构化对等网络的多媒体消息广播方法及系统 |
CN103248695A (zh) * | 2013-05-07 | 2013-08-14 | 北京奇虎科技有限公司 | 文件下载方法、系统及cdn中的服务器节点 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1625119A (zh) * | 2004-12-09 | 2005-06-08 | 中国科学院软件研究所 | 构建于结构化P2P网络之上的pub/sub系统的路由方法 |
-
2007
- 2007-09-19 CN CN200710122008A patent/CN101394415B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1625119A (zh) * | 2004-12-09 | 2005-06-08 | 中国科学院软件研究所 | 构建于结构化P2P网络之上的pub/sub系统的路由方法 |
Non-Patent Citations (1)
Title |
---|
于婧.SSON_一种基于结构化P2P网络路由的语义覆盖网络结构.《计算机科学》.2007,第34卷(第6期),第4-6,18页. * |
Also Published As
Publication number | Publication date |
---|---|
CN101394415A (zh) | 2009-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102523256B (zh) | 内容的管理方法的方法、装置和系统 | |
CN101969468B (zh) | 查询服务器集群系统及查询方法 | |
CN100518125C (zh) | 通信装置、系统和方法 | |
CN101420337A (zh) | 一种资源定位的方法、装置和索引服务器 | |
WO2010127618A1 (zh) | 一种实现流媒体内容服务的系统和方法 | |
CN101640623A (zh) | 在对等网络中搜索资源的方法和设备 | |
CN100473007C (zh) | 内容交换网络 | |
CN103354525A (zh) | 基于OpenFlow实现广域网任播负载均衡的系统和方法 | |
CN105656964A (zh) | 数据推送的实现方法及装置 | |
CN101179475B (zh) | 一种以对等网络方式下载地图数据的方法 | |
CN103107944A (zh) | 一种内容定位方法和路由设备 | |
CN101394415B (zh) | 用于结构化覆盖网络的资源广播交互机制的方法及装置 | |
US20100153557A1 (en) | Method and apparatus for building personal network and network federation | |
CN103024018A (zh) | 一种在单台设备运行多cdn服务进程的方法及装置 | |
CN107404438A (zh) | 网络路由方法和网络路由系统 | |
Coulson et al. | A component‐based middleware framework for configurable and reconfigurable Grid computing | |
CN101494664A (zh) | 基于jxta的p2p推式网络存储方法 | |
Banerjee et al. | The survey, research challenges, and opportunities in ICN | |
KR101057897B1 (ko) | 센서 네트워크 공유를 위한 오버레이 기반 연동 네트워크 구조 | |
Takeda et al. | New structured p2p network with dynamic load balancing scheme | |
JP2005234878A (ja) | リソース検索システム、および方法 | |
Quiroz et al. | A framework for distributed content-based web services notification in Grid systems | |
Rodrigues | Data Storage Solutions for the Federation of Sensor Networks | |
Huang et al. | Study of distributed P2P information sharing system | |
CN115622938A (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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120829 Termination date: 20130919 |