一种无结构p2p网络及其数据查询方法和索引更新方法

文档序号:6581264阅读:178来源:国知局
专利名称:一种无结构p2p网络及其数据查询方法和索引更新方法
技术领域
本发明涉及电信网络数据通信领域,具体涉及一种无结构P2P网络及其数据查询 方法、索引更新方法。
背景技术
随着电信通信技术和多媒体业务的不断发展,可靠性高实现分布式存储的P2P网 络在电信网络得到越来越多的运用。 P2P技术在互联网中的应用现已极为广泛,在文件下载、文件共享、分布式存储、视 频流媒体等领域P2P作为一种比较成熟的技术在互联网上大规模地被应用。由于互联网上 的终端用户具有地理位置分散、用户行为离散不可控、终端所处网络异质等特点,目前在互 联网上所使用的大都为结构化的P2P网络拓扑,如拥有统一管理服务器的集中式P2P和基 于DHT技术的全分布式P2P。 但是在电信网络中,主机节点具有与互联网中的终端截然不同的性质。在电信网 络中,主机节点具有计算及存储性能高、节点数量规模小、网络带宽资源丰富、在线时间长 且稳定等特性。在电信网络环境下,如果采用传统的结构化的P2P方式将主机节点组织起 来,则将引入大量不必要的维护性能开销,因此在电信网络中,用无结构的P2P方式是一种 比较优化的选择。 现有的无结构P2P方式多采用洪泛或是Gossip等机制维护其网络拓扑以及进行 数据查询等操作,而这种无指向性的消息机制也将给系统带来大量不必要的网络及性能开 销,特别是在高并发时段,大量的洪泛或Gossip消息将可能阻塞整个网络,导致网络瘫痪。
因此,现有的基于洪泛及Gossip的维护与查询机制已经无法适应具有大量数据 查询请求的场景。

发明内容
本发明的主要目的是提供一种无结构P2P网络及其数据查询方法、索引更新方 法,以提高查询效率,减少网络负载。 本发明的技术问题是通过以下技术方案予以解决的一种无结构P2P网络的数据 查询方法,具体包括以下步骤无结构P2P网络的每个节点均设置和实时更新一索引单元, 该索引单元包括索引信息;查询发起节点通过本节点索引单元的索引信息获取具有目标数 据的目标节点信息,并向目标节点发起数据请求。 本实施方式的索引单元分层次设置该索引单元的索引信息包括在先查询的直接 索引信息和/或在后查询的间接索引信息,该直接索引信息包括目标节点信息,该间接索 引信息用来从其记录的节点索引单元中获取直接索引信息。 其中,直接索引为查询发起节点先通过直接索引信息发起直接索引,直接索引成 功时,查询发起节点将相应直接索引信息的时间戳更新为当前时间,直接索引失败时,查询 发起节点删除相应直接索引信息,对应的目标节点将查询发起节点与目标数据关联并插入到间接索引信息中。 其中,间接索引为查询发起节点在没有直接索引信息或者直接索引失败时查询间接索引信息向定向查询节点发起间接索引。在间接索引成功时查询发起节点将节点信息插入直接索引信息并删除间接索引信息的相关内容;在间接索引失败时查询发起节点删除间接索引信息的相关内容,对应的定向查询节点将查询发起节点的信息插入间接索引信息。 在间接索引成功时,查询发起节点插入直接索引信息的节点信息包括三种情况相关直接索引信息有效的,为定向查询节点直接索引信息中与目标数据有关的节点信息;相关直接索引信息有效并且本地存储目标数据的,为定向查询节点直接索引信息中与目标数据有关的节点信息再加上本地节点信息;没有相关直接索引信息但是本地存储目标数据的,为定向查询节点的本地节点信息。 除了直接和间接索引之外,在该查询发起节点的索引单元没有目标数据的直接索
引信息和/或间接索引信息时,查询发起节点向其它节点发送广播查询消息。具有目标数
据的节点向查询发起节点发送响应消息,查询发起节点将响应的节点信息记录到直接索引
信息,没有响应的节点将查询发起节点和目标数据的关联插入间接索引信息。 无结构P2P网络的节点在删除数据块时,向其它节点广播删除消息,收到删除消
息的节点更新或删除索引信息。 优选的,每个节点对自身索引单元的实时更新为将其它节点的查询动作记录在直接索引信息和/或间接索引信息上的自学习性实时更新。 本发明还涉及一种无结构P2P网络的自学性索引更新方法,具体包括以下步骤无结构P2P网络的每个节点均设置和实时更新索引单元,该索引单元包括索引信息;每个节点将有关的查询动作记录在索引信息中,自学性实时更新该索引单元。
优选的,该索引单元的索引信息包括直接索引信息和间接索引信息,该直接索引信息包括目标节点信息,该间接索引信息用来从其记录的节点索引单元中获取直接索引信息;查询发起节点通过直接索引信息向目标节点发起直接索引,通过间接索引信息向定向查询节点发起间接索引;该自学性实时更新包括直接索引信息的更新和间接索引信息的更新。 该直接索引信息更新包括直接索引成功时,查询发起节点将相应直接索引信息的时间戳更新为当前时间;直接索引失败时,查询发起节点删除相应直接索引信息;在间接索引成功时查询发起节点将节点信息插入直接索引信息;查询发起节点发送广播查询消息时,具有目标数据的节点向查询发起节点发送响应消息,查询发起节点将响应的节点信息记录到直接索引信息;节点在删除数据块广播删除消息时,收到删除消息的节点更新或删除直接索引信息。 该间接索引信息更新包括直接索引失败时,目标节点将查询发起节点与目标数据关联并插入到间接索引信息中;在间接索引成功时,查询发起节点删除间接索引信息的相关内容;在间接索引失败时查询发起节点删除间接索引信息的相关内容;在间接索引失败时,定向查询节点将查询发起节点的信息插入间接索引信息;查询发起节点发送广播查询消息时,没有响应的节点将查询发起节点和目标数据的关联插入间接索引信息;节点在删除数据块广播删除消息时,收到删除消息的节点更新或删除间接索引信息。
本发明进一步涉及一种无结构P2P网络系统,包括构成自治域的若干节点,每个 节点包括具有索引信息的索引单元,实时更新该索引单元的更新单元,用于将节点有关的 查询动作记录在索引单元的索引信息中。 该节点还包括,数据请求单元,用于节点在作为查询发起节点时,通过索引信息获 取具有目标数据的目标节点信息,并向目标节点发起数据请求。 该索引单元的索引信息包括在先查询的直接索引信息和在后查询的间接索引信 息,该直接索引信息包括目标节点信息,该间接索引信息用来从其记录的节点索引单元中 获取直接索引信息;该数据请求单元的数据请求操作包括通过直接索引信息向目标节点发 起直接索引和/或通过间接索引信息向定向查询节点发起间接索引;该更新单元包括直 接索引信息更新单元和间接索引信息更新单元。 该直接索引信息更新单元,用于在直接索引成功时,将相应直接索引信息的时间 戳更新为当前时间,直接索引失败时,删除相应直接索引信息;还用于在间接索引成功时, 将目标节点信息插入直接索引信息。 该间接索引信息更新单元,用于在直接索引失败时,将查询发起节点与目标数据
关联并插入到目标节点的间接索引信息中;还用于在间接索引成功时,将目标节点信息插
入直接索引信息并删除间接索引信息的相关内容;还用于在间接索引失败时,删除间接索
引信息的相关内容,并将查询发起节点的信息插入定向查询节点的间接索引信息。 该节点还包括,广播单元,用于在该查询发起节点的索引单元没有目标数据的直
接索引信息和间接索引信息或者该查询发起节点间接索引失败时,向其它节点发送广播查
询消息;该直接索引信息更新单元,还用于将广播查询响应的节点信息记录到直接索引信
息;该间接索引信息更新单元,还用于将查询发起节点和目标数据的关联插入没有响应的
节点的间接索引信息中。 该广播单元,还用于该节点删除目标数据后向其他节点广播删除消息;该直接索 引信息更新单元,还用于收到删除消息后更新或删除被删除目标数据的直接索引信息;该 间接索引信息更新单元,还用于收到删除消息后更新或删除被删除目标数据的间接索引信 息。 该节点还包括,删除单元,用于在索引单元存储空间已满的情况下,对该间接索引 信息的表项进行随机删除,以插入新的表项;还用于在间接索引信息的内容没有达到门限 的情况下,对该直接索引信息的表项进行时间排序,对最久未被使用的表项进行删除操作, 以插入新的表项。 本发明提供了在无结构P2P网络下采用索引信息进行数据查询以及对索引信息 进行实时更新的方法,提高了查询效率,减少了网络负载。


图1是本实施方式无结构P2P网络的数据查询方法的简要流程图; 图2是本实施方式无结构P2P网络的数据查询方法中无索引信息数据查询过程示
意图; 图3是本实施方式无结构P2P网络的数据查询方法中在有直接索引信息场景下数 据查询过程示意 图4是本实施方式无结构P2P网络的数据查询方法中在有间接索引信息场景下数据查询过程示意图; 图5是本实施方式无结构P2P网络的数据查询方法中数据删除过程示意 图6是本实施方式无结构P2P网络系统的结构示意图。
具体实施例方式
下面通过具体实施例结合附图对本发明实施例作进一步详细说明。 本发明涉及无结构P2P网络,包括构成自治域的若干节点,自治域的每个节点均
设置和实时更新索引单元。该索引单元包括需优先查询的直接索引信息和在后查询间接索
引信息,自治域中的查询发起节点通过本节点的索引单元获取目标数据的直接索引信息并
向目标节点发起数据请求,本实施例中的数据查询方法将节点自身资源引入到索引选择机
制中,该选择机制通过索引信息,采用直接索引或者间接索引的选择实现的。本实施例的自
治域内各个节点的索引单元将过往发生的有关查询的动作信息以直接索引信息或间接索
引信息的方式记录下来,为后续的数据查询尽量提供本地索引信息,尽量减少发送无指向
性消息,同时也灵活运用无指向性消息和定向查询消息,实现数据快速高效查询,并且也大
大节省了网络带宽及性能开销,从而解决网络拥塞问题。 无结构P2P网络自治域的每个节点上设置和实时更新索引单元,该索引单元在本发明实施例中为索引表,当然也可以是采取其他能实现保存索引信息的其他形式。上述索引的表项的内容为数据请求基本单元(以下简称数据块或者目标数据)与本域内可能与此数据块相关的其它节点的映射索引信息。 表项内容分为两种情况,包括优先查询的直接索引信息和在后查询的间接索引信
息。直接索引信息表项保存的是具有某数据块内容的目标节点信息及最近使用该表项的时
间戳。通过直接索引信息,存储有该表项的节点可直接向目标节点发起数据请求。 间接索引信息表项保存一个或多个其它节点信息,这些节点或者具有该数据块的
直接索引信息表项或者具有该数据块;存储有间接索引信息表项的节点,可向间接索引信
息表项中的节点发起定向查询请求,以从其记录的节点的索引单元中获取直接索引信息,
进而再执行直接索引操作,以向目标节点发起数据请求。 请参考图l,所示为本实施例中数据查询及请求的简要流程图,说明如下 步骤S101、查询发起节点需要查询目标数据,首先查看在本地索引表中有没有相
关直接索引信息,若有则根据直接索引信息,直接向目标节点发起数据请求; 步骤S102、若查询发起节点本地没有相关直接索引信息或者直接索引信息数据请
求失败,则查询发起节点删除相应直接索引信息后,查看本地索引表中是否有间接索引信
息,若有相关间接索引信息,则向间接索引信息记录的定向查询节点发起定向查询请求。在
特定时间内查询发起节点若收到有效的可发起数据请求的节点信息,则将相关节点信息插
入到索引表的直接索引信息中,并删除相应的间接索引信息,然后触发直接索引数据请求
过程。若在特定时间内查询发起节点没有收到有效的可发起数据请求的节点信息,则删除
相应的间接索引信息,触发广播查询过程; 步骤S103、若查询发起节点本地索引表没有记录任何相关索引信息或者通过索引信息的数据请求过程失败,节点向自治域内其他节点发送广播查询消息。接收到广播查询消息的节点检查自身是否存储有目标数据,若有,则把自身节点信息和/或本地保存的与 目标数据有关的节点索引信息发送给广播发起节点,若没有,则不响应并将广播发起节点 插入到本地间接索引信息中;在特定时间后,广播发起节点将接收到的有效的可发起数据 请求的节点信息插入到本地直接索引信息中,继而触发直接索引数据请求过程,最终获得 目标数据。 本实施方式中,自治域的每个节点对自身索引单元的实时更新为涉及的节点均参 与的自学习性实时更新。同域内各个节点的索引单元将过往发生的有关查询的动作信息以 直接或间接索引信息的方式记录下来,为后续的数据查询尽量提供本地索引信息,使得数 据查询更具有自学习性。 以下详细说明本实施例的数据查询方法。 请参考图2,所示为本发明查询发起节点在没有相关索引信息的情况下查找并请 求数据的过程示意图。当无结构P2P网络自治域内的查询发起节点需要查找一个本地没有 的目标数据时,若查询发起节点本地没有关于目标数据的任何直接索引信息或是间接索引 信息,则查询发起节点向本自治域内所有其它节点发送广播查询消息,然后等待其它节点 向查询发起节点发送响应消息。说明如下 21、自治域中某节点需要目标数据时,则其向域中其它所有节点发送广播查询消 息,并等待其它节点的响应; 22、域中接收广播的节点查看本地是否有目标数据,若有目标数据,则将自身的存 储、网络带宽、计算资源、负载情况以及本地存储的与目标数据相邻的(即查询发起节点接 下来可能会请求的)数据信息一起作为响应消息发回给查询发起节点;若接收广播的节点 本地没有目标数据则不响应此广播查询消息,但认为查询发起节点最终将以某种形式成功 地获得有关目标数据的索引信息,因此收到广播查询信息的各节点将查询发起节点的信息 与被请求数据块相关联,并加入到本地的间接索引信息中; 23、等待特定时间后,查询发起节点在接收到来自其它节点返回的有效的响应消 息后,将发送响应消息的节点信息与相关目标数据进行关联并记录到本地的直接索引信息 中,然后筛选出一个或多个最合适的节点发起数据请求;
24、被请求节点随即将目标数据发送给查询发起节点。 以上过程实际是在一次查询中,查询发起节点与被广播查询节点都在学习的过 程,从而逐步积累并了解域内的数据分布情况。 在查询发起节点的索引单元已经更新有了经过学习的直接和间接索引信息时,则 通过索引单元进行数据查询及数据请求。优先查询直接索引信息,具体情况如下
(1)若查询发起节点本地有直接索引信息,先利用直接索引信息,在直接索引信息 足够的情况下,该查询发起节点则根据以往记录的对端带宽等资源状况信息从直接索引信 息记录中选取一个或多个目标节点,向其发起数据通信请求。 请参考图3,所示为本实施例中查询发起节点利用直接索引信息查找并请求数据 的过程示意图,说明如下 31、自治域中查询发起节点需要目标数据时,在本地相应的直接索引信息表项中 选出一个或多个目标节点发起数据请求; 32、域中接收到数据请求的目标节点若检查到在本地已经没有目标数据,则向查询发起节点发送数据请求失败消息,并将查询发起节点与目标数据的关联信息插入到本地间接索引信息中,查询发起节点在收到数据请求失败消息后将与此次失败查询所对应的直接索引信息从列表中删除; 33、域中接收到数据请求的目标节点在本地有目标数据的情况下响应数据请求,
查询发起节点则对直接索引信息表中的时间戳更新为当前时间。若在特定时间内没有节点
响应查询发起节点的数据请求,则查询发起节点在有间接索引信息的情况下将触发间接索
引查询过程,若没有相应的间接索引信息,则触发广播查询过程以查询目标数据,在此过程
中可以不再对之前查询失败的节点发送广播消息,也可以对其他所有节点发送广播消息。
(2)若直接索引信息中记录的目标节点不足够或已失效,或者本地只有间接索引
信息,则利用间接索引信息展开间接索引过程。 请参考图4,所示为本实施例中节点利用间接索引信息查找并请求数据的过程示意图,说明如下 41、自治域中查询发起节点需要目标数据时,其在本地相应的间接索引信息表项中选出一个或多个定向查询节点发起定向查询请求; 42、域中接收到定向查询请求的定向查询节点在本地直接索引信息表中查询与被请求目标数据相关的节点信息,若相关直接索引仍然有效,则将相关节点信息发送给查询发起节点;若该定向查询节点本地亦存储有目标数据,在此情况下,若定向查询节点的直接索引表中有有效信息,则将自身信息与直接索引表中节点信息一起发送给查询发起节点,若定向查询节点没有相关的有效直接索引信息,则只将自身信息发送给查询发起节点;若定向查询节点本身没有目标数据且直接索引表中表项已经失效,则将查询发起节点的信息插入到本地间接索引表中,然后向查询发起节点发送数据查询失败消息,查询发起节点在接收到失败消息后则将相应的间接索引信息表项删除; 43、等待特定时间之后,若查询发起节点接收到有效节点信息,则将这些节点信息插入到直接索引信息列表中,并在间接索引信息表中删除相应的表项,然后根据返回的节点信息筛选出一个或多个最合适的节点发起数据请求; 44、域中接收到数据请求的目标节点若本地仍然存储有目标数据则响应查询发起节点的数据请求,开始数据传送; 45、若域中接收到数据请求的目标节点本地已经没有目标数据,则向查询发起节点发送数据请求失败消息,查询发起节点在接收到数据请求失败消息后将本地相关直接索引表项删除。 在特定时间内,若查询发起节点没有收到有效的节点信息或者数据请求全部失败,则将触发广播查询过程以查询目标数据,在此过程中可以不再对之前查询失败的节点发送广播消息,也可以对其他所有节点发送广播消息。 由于在现实网络系统中服务器的存储能力有限,因此P2P网络自治域中的节点会有删除已有数据块的操作。在这种情况下,为了避免删除数据块造成索引信息无效的情况,各个节点在删除数据块的同时,需要向同自治域内的其它节点广播删除消息。节点在接收到删除消息后,则需要将本地索引单元中相关的索引信息进行更新或删除。由于在节点上发生数据块删除的操作不会太频繁,因此不会对网络造成负担。
请参考图5,所示为本发明中节点删除本地数据的过程示意图,说明如下
51、一个无结构P2P网络自治域中的某个节点在本地存储容到特定门限后,该节 点向本自治域中的其它所有节点发送广播删除消息,通知其它节点其删除的媒体内容的信 息; 52、接收到广播删除通知消息的节点将本地学习信息中与广播删除消息发出节点 及相关媒体内容的信息进行更新或是删除。 在查询发起节点与目标节点或者定向查询节点进行直接或间接索引信息更新的 过程中,若索引表存储空间已满,则首先检查间接索引表项中内容数量是否超过特定门限, 若已经超过,则在间接索引表项中随机删除相应数量的表项,以插入新的表项。若间接索引 表项中内容没有达到门限,在直接索引信息表项中,每一条表项均有相应的时间戳,在表项 被插入到索引信息表项中或者在查询过程中使用到该表项时,表项相应的时间戳将被更新 为当前时间,然后根据这个时间戳进行表项排序后,对最久未被使用到的表项进行删除操 作,以插入新的表项。 本实施方式中的数据查询方法适用于电信网络节点自治域,由于电信网络中节点 具有计算及存储性能高、节点数量规模小、网络带宽资源丰富、在线时间长且稳定等特性, 因此在这种环境下,本实施例能很好地避免在无结构P2P中大量洪泛式消息给系统带来的 网络阻塞的隐患,并且将节点自身资源引入到选择机制中,从而使系统自身具有一定负载 均衡的能力。 请参考图6,图6所示为本实施例的系统结构示意图。 本发明的无结构P2P网络可进一步模块化为一种无结构P2P网络系统。 该网络系统包括构成自治域的若干节点(10-1 10-N)。每个节点(10-1 10-N)
通过网络接口 52彼此互联,每一节点包括具有索引信息的索引单元54、数据请求单元56、
自学性实时更新该索引单元54的更新单元57、广播单元58以及删除单元59。该更新单元
57用于将节点有关的查询动作记录在索引单元54的索引信息中。 该索引单元54的索引信息包括在先查询的直接索引信息541和在后查询的间接 索引信息542。该直接索引信息541包括目标节点信息,该间接索引信息542用来从其记录 的节点索引单元中获取直接索引信息。该数据请求单元56的数据请求操作包括通过直接 索引信息541向目标节点发起直接索引和/或通过间接索引信息542向定向查询节点发起 间接索引。 该更新单元57包括直接索引信息更新单元571和间接索引信息更新单元572。 上述索引单元和更新单元可以合在一起,也可以分别设置。 该数据请求单元56用于节点在作为查询发起节点时,通过索引信息获取具有目 标数据的目标节点信息,并向目标节点发起数据请求。 其中,该直接索引信息更新单元571,在直接索引成功时,将相应直接索引信息 541的时间戳更新为当前时间,直接索引失败时,删除相应直接索引信息541 ;在间接索引 成功时,将目标节点信息插入直接索引信息541。 该间接索引信息更新单元572,在直接索引失败时,将查询发起节点与目标数据关 联并插入到目标节点的间接索引信息542中;在间接索引成功时,将目标节点信息插入直 接索引信息541并删除间接索引信息542的相关内容;在间接索引失败时,删除间接索引信 息542的相关内容,并将查询发起节点的信息插入定向查询节点的间接索引信息542。
该广播单元58,在该查询发起节点的索引单元54没有目标数据的直接索引信息 和间接索引信息或者该查询发起节点间接索引失败时,向其它节点发送广播查询消息。对 应该广播查询过程,该直接索引信息更新单元571将广播查询响应的节点信息记录到直接 索引信息。该间接索引信息更新单元572将查询发起节点和目标数据的关联插入没有响应 的节点的间接索引信息中。 该广播单元58还用于该节点删除目标数据后向其他节点广播删除消息。对应该 广播单元58的删除广播过程,该直接索引信息更新单元571收到删除消息后更新或删除被 删除目标数据的直接索引信息。该间接索引信息更新单元572,收到删除消息后更新或删除 被删除目标数据的间接索引信息。 该删除单元59在索引单元54存储空间已满的情况下,对该间接索引信息542的 表项进行随机删除,以插入新的表项;在间接索引信息的内容没有达到门限的情况下,对该 直接索引信息541的表项进行时间排序,对最久未被使用的表项进行删除操作,以插入新 的表项。 本发明与现有技术相比的有益效果是1)本发明的P2P网络数据查询方法和系 统,在无结构P2P网络自治域的每个节点设置和实时更新索引单元,自治域中的查询发起 节点通过本节点的索引单元获取目标数据的直接索引信息并向目标节点发起数据请求,从 而将节点自身资源引入到选择机制中,同域内各个节点的索引单元将过往发生的有关查询 的动作信息以直接或间接索引信息的方式记录下来,为后续的数据查询尽量提供本地索引 信息,尽量减少发送无指向性消息,大大节省了网络带宽及性能开销,解决网络拥塞问题; 2)本发明的P2P网络数据查询方法和系统,在索引单元未更新有目标数据的直接索引信息 和/或间接索引信息时,或者自治域内的节点删除数据块时,才发送广播查询消息以及广 播删除消息等无指向性消息,在间接索引时发送定向查询信息,数据查询方式灵活,实现高 效数据查询定位,有效提高了自治域内节点间的数据查询效率与命中率;3)本发明的P2P 网络数据查询方法和系统,通过域内每个节点实施更新维护一份直接和间接索引信息,将 节点自身资源引入到选择机制中,将索引资源分布在多个节点,使得系统自身具有一定的 负载均衡能力;4)本发明的P2P网络数据查询方法和系统,在电信网络中运用无结构P2P 方式,由于在电信网络中,主机节点具有计算及存储性能高、节点数量规模小、网络带宽资 源丰富、在线时间长且稳定等特性,舍弃传统结构化P2P将减少大量不必要的维护性能开 销5)本发明的P2P网络数据查询方法和系统,自治域的每个节点对自身索引单元的实时更 新为涉及的节点均参与的自学习性实时更新,同域内各个节点的索引单元将过往发生的有 关查询的动作信息以直接或间接索引信息的方式记录下来,为后续的数据查询尽量提供本 地索引信息,使得数据查询更具有自学习性。 以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发
明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱 离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
权利要求
一种无结构P2P网络的数据查询方法,具体包括以下步骤无结构P2P网络的每个节点均设置和实时更新索引单元,所述索引单元包括索引信息;查询发起节点通过本节点索引单元的索引信息获取具有目标数据的目标节点信息,并向目标节点发起数据请求。
2. 根据权利要求1所述的无结构P2P网络的数据查询方法,其特征在于所述索引单元的索引信息包括在先查询的直接索引信息和/或在后查询的间接索引信息,所述直接索引信息包括目标节点信息,所述间接索引信息用来从其记录的节点索引单元中获取直接索引信息。
3. 根据权利要求2所述的无结构P2P网络的数据查询方法,其特征在于查询发起节点先查询直接索引信息发起直接索引,直接索引成功时,查询发起节点将相应直接索引信息的时间戳更新为当前时间,直接索引失败时,查询发起节点删除相应直接索引信息,对应的目标节点将查询发起节点与目标数据关联并插入到间接索引信息中。
4. 根据权利要求2所述的无结构P2P网络的数据查询方法,其特征在于查询发起节点在没有直接索引信息或者直接索引失败时查询间接索引信息向定向查询节点发起间接索引,在间接索引成功时查询发起节点将节点信息插入直接索引信息并删除间接索引信息的相关内容;在间接索引失败时查询发起节点删除间接索引信息的相关内容,对应的定向查询节点将查询发起节点的信息插入间接索引信息。
5. 根据权利要求4所述的无结构P2P网络的数据查询方法,其特征在于在间接索引成功时,查询发起节点插入直接索引信息的节点信息包括三种情况相关直接索引信息有效的,为定向查询节点直接索引信息中与目标数据有关的节点信息;相关直接索引信息有效并且本地存储目标数据的,为定向查询节点直接索引信息中与目标数据有关的节点信息再加上本地节点信息;没有相关直接索引信息但是本地存储目标数据的,为定向查询节点的本地节点信息。
6. 根据权利要求2-5任意一项所述的无结构P2P网络的数据查询方法,其特征在于在所述查询发起节点的索引单元没有目标数据的直接索引信息和间接索引信息时或者所述查询发起节点间接索引失败时,查询发起节点向其它节点发送广播查询消息,具有目标数据的节点向查询发起节点发送响应消息,查询发起节点将响应的节点信息记录到直接索引信息,没有响应的节点将查询发起节点和目标数据的关联插入间接索引信息。
7. 根据权利要求6所述的无结构P2P网络的数据查询方法,其特征在于无结构P2P网络的节点在删除数据块时,向其它节点广播删除消息,收到删除消息的节点更新或删除索引信息。
8. 根据权利要求7所述的无结构P2P网络的数据查询方法,其特征在于每个节点对自身索引单元的实时更新为将其它节点的查询动作记录在直接索引信息和/或间接索引信息上的自学习性实时更新。
9. 一种无结构P2P网络的自学性索引更新方法,具体包括以下步骤无结构P2P网络的每个节点均设置索引单元,所述索引单元包括索引信息;每个节点将有关的查询动作记录在索引信息中,自学性实时更新所述索引单元。
10. 根据权利要求9所述的无结构P2P网络的自学性索引更新方法,其特征在于所述索引单元的索引信息包括直接索引信息和间接索引信息,所述直接索引信息包括目标节点 信息,所述间接索引信息用来从其记录的节点索引单元中获取直接索引信息;所述自学性 实时更新包括直接索引信息的更新和间接索引信息的更新。
11. 根据权利要求10所述的无结构P2P网络的自学性索引更新方法,其特征在于所 述直接索引信息更新包括直接索引成功时,查询发起节点将相应直接索引信息的时间戳 更新为当前时间;直接索引失败时,查询发起节点删除相应直接索引信息;在间接索引成 功时查询发起节点将节点信息插入直接索引信息并删除间接索引信息的相关内容;查询发 起节点发送广播查询消息时,具有目标数据的节点向查询发起节点发送响应消息,查询发 起节点将响应的节点信息记录到直接索引信息;节点在删除数据块广播删除消息时,收到 删除消息的节点更新或删除直接索引信息。
12. 根据权利要求10或11所述的无结构P2P网络的自学性索引更新方法,其特征在 于所述间接索引信息更新包括直接索引失败时,目标节点将查询发起节点与目标数据 关联并插入到间接索引信息中;在间接索引成功时,查询发起节点删除间接索引信息的相 关内容;在间接索引失败时查询发起节点删除间接索引信息的相关内容;在间接索引失败 时,定向查询节点将查询发起节点的信息插入间接索引信息;查询发起节点发送广播查询 消息时,没有响应的节点将查询发起节点和目标数据的关联插入间接索引信息;节点在删 除数据块广播删除消息时,收到删除消息的节点更新或删除间接索引信息。
13. —种无结构P2P网络系统,包括构成自治域的若干节点,其特征在于每个节点包括具有索引信息的索引单元,实时更新所述索引单元的更新单元,用于将节点有关的查询动作记录在所述索引单元 的索引信息中。
14. 根据权利要求13所述的无结构P2P网络系统,其特征在于所述节点还包括,数据请求单元,用于节点在作为查询发起节点时,通过索引信息获取 具有目标数据的目标节点信息,并向目标节点发起数据请求。
15. 根据权利要求14所述的无结构P2P网络系统,其特征在于所述索引单元的索引 信息包括在先查询的直接索引信息和在后查询的间接索引信息,所述直接索引信息包括目 标节点信息,所述间接索引信息用来从其记录的节点索引单元中获取直接索引信息;所述数据请求单元的数据请求操作包括通过直接索引信息向目标节点发起直接索引 和/或通过间接索引信息向定向查询节点发起间接索引; 所述更新单元包括直接索引信息更新单元和间接索引信息更新单元。
16. 根据权利要求15所述的无结构P2P网络系统,其特征在于所述直接索引信息更 新单元,用于在直接索引成功时,将相应直接索引信息的时间戳更新为当前时间,直接索引 失败时,删除相应直接索引信息;还用于在间接索引成功时,将目标节点信息插入直接索引信息。
17. 根据权利要求15所述的无结构P2P网络系统,其特征在于所述间接索引信息更 新单元,用于在直接索引失败时,将查询发起节点与目标数据关联并插入到目标节点的间 接索引信息中;还用于在间接索引成功时,将目标节点信息插入直接索引信息并删除间接索引信息的相关内容;还用于在间接索引失败时,删除间接索引信息的相关内容,并将查询发起节点的信息插入定向查询节点的间接索引信息。
18. 根据权利要求13-17所述的无结构P2P网络系统,其特征在于所述节点还包括,广播单元,用于在所述查询发起节点的索引单元没有目标数据的直接索引信息和间接索引信息或者所述查询发起节点间接索引失败时,向其它节点发送广播查询消息;所述直接索引信息更新单元,还用于将广播查询响应的节点信息记录到直接索引信息;所述间接索引信息更新单元,还用于将查询发起节点和目标数据的关联插入没有响应的节点的间接索引信息中。
19. 根据权利要求18所述的无结构P2P网络系统,其特征在于所述广播单元,还用于所述节点删除目标数据后向其他节点广播删除消息;所述直接索引信息更新单元,还用于收到删除消息后更新或删除被删除目标数据的直接索引信息;所述间接索引信息更新单元,还用于收到删除消息后更新或删除被删除目标数据的间接索引信息。
20. 根据权利要求19所述的无结构P2P网络系统,其特征在于所述节点还包括,删除单元,用于在索引单元存储空间已满的情况下,对所述间接索引信息的表项进行随机删除,以插入新的表项;还用于在间接索引信息的内容没有达到门限的情况下,对所述直接索引信息的表项进行时间排序,对最久未被使用的表项进行删除操作,以插入新的表项。
全文摘要
本发明公开了一种无结构P2P网络及其数据查询方法、索引更新方法,上述数据查询方法包括以下步骤无结构P2P网络的每个节点均设置和实时更新索引单元,该索引单元包括索引信息;查询发起节点通过本节点索引单元的索引信息获取具有目标数据的目标节点信息,并向目标节点发起数据请求。本发明提供了在无结构P2P网络下采用索引信息进行数据查询的方法,并且对索引信息进行实时更新,提高了查询效率,减少了网络负载。
文档编号G06F17/30GK101710902SQ20091018880
公开日2010年5月19日 申请日期2009年12月10日 优先权日2009年12月10日
发明者周扬, 林昕, 王文东, 王洪波, 程时端 申请人:北京邮电大学;中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1