CN101599886B - 分布式结构化网络中的查询方法、系统和设备 - Google Patents

分布式结构化网络中的查询方法、系统和设备 Download PDF

Info

Publication number
CN101599886B
CN101599886B CN 200810110485 CN200810110485A CN101599886B CN 101599886 B CN101599886 B CN 101599886B CN 200810110485 CN200810110485 CN 200810110485 CN 200810110485 A CN200810110485 A CN 200810110485A CN 101599886 B CN101599886 B CN 101599886B
Authority
CN
China
Prior art keywords
keyword
node
content
checked
weights
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
Application number
CN 200810110485
Other languages
English (en)
Other versions
CN101599886A (zh
Inventor
王铁英
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Gaohang Intellectual Property Operation Co ltd
Taizhou Haitong Asset Management Co ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN 200810110485 priority Critical patent/CN101599886B/zh
Publication of CN101599886A publication Critical patent/CN101599886A/zh
Application granted granted Critical
Publication of CN101599886B publication Critical patent/CN101599886B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明的实施例公开了一种分布式结构化网络中的查询方法、系统和设备。该方法包括:第一节点接收到第二节点发送的携带查询数组的查询请求,所述查询数组中包括多个待查询的关键词;所述第一节点根据所述多个待查询的关键词,获取查询结果;所述第一节点将所述查询结果向所述第二节点发送。本发明的实施例中,通过对所查询的关键词的扩展,实现了多关键词的查询,扩展了查询可选择的范围,与单一关键词的查询相比得到了更加全面和完备的查询结果。

Description

分布式结构化网络中的查询方法、系统和设备
技术领域
本发明涉及通信技术领域,尤其涉及一种分布式结构化网络中的查询方法、系统和设备。 
背景技术
P2P(Peer to Peer,对等网络)中,各节点通过直接交换来共享资源和服务,每个节点既可以是服务器,也可以是客户端,而不依赖于集中式的服务器。P2P网络技术主要应用于对等计算、协同工作、搜索引擎、资源共享等。随着P2P应用的不断发展和研究,其结构也不断改变和完善。 
在分布式结构化P2P网络中,每个节点都有固定的地址,整个网络具有相对稳定而规则的拓扑结构。根据拓扑结构,可以给网络的每个节点指定一个逻辑地址,并把地址和节点的位置对应起来。P2P网络的逻辑地址通常由Hash(哈希)函数得到的,每个节点都保存一张DHT(Distributed Hash Table,分布式哈希表)进行路由,所以结构化P2P网络通常也叫做DHT网络。 
在分布式结构化网络中,以各种DHT算法实现的网络进行的内容共享为例。用户在共享文件夹中放置希望共享给他用户的内容,用户一旦登陆这个系统,终端的软件就会对这些共享的内容进行统计,获取索引信息并将索引信息放置到网络中的对应节点上。其他用户可以通过输入关键词在DHT网络上进行检索。通过关键词匹配,用户可以查询到相关的内容信息:包括内容的一些属性和存储的位置等等。 
发明人在实现本发明的过程中,发现现有技术至少存在以下问题: 
在分布式结构化网络中,目前查询的实现方法是从文件名中获取关键词的信息;如果在该网络中进行文档共享,进行的检索也是以文档的文件名来进行检索,而无法实现全文搜索,导致搜索结果不准确。 
发明内容
本发明的实施例提供一种分布式结构化网络中的查询方法、系统和设备,用于扩大分布式结构化网络中的查询范围,获得更全面的查询结果。 
本发明的实施例提供一种分布式结构化网络中的查询方法,包括:选择共享内容并提取共享内容中的关键词;计算关键词的权值并排列,得到关键词组;第一节点接收到第二节点发送的携带查询数组的查询请求,所述查询数组中包括多个待查询的关键词; 
所述第一节点根据所述多个待查询的关键词,获取查询结果; 
所述第一节点将所述查询结果向所述第二节点发送。 
本发明的实施例还提供一种分布式结构化网络中的查询方法,包括: 
获取查询命令中的多个待查询的关键词; 
生成包括所述待查询的关键词的查询数组; 
将每个待查询的关键词分别作为索引关键词,获取与所述查询数组中每个待查询的关键词所对应的节点; 
向与所述查询数组中的每个关键词所对应的节点发送携带所述查询数组的查询请求。 
本发明的实施例还提供一种分布式结构化网络中的查询设备,包括: 
消息处理模块,用于选择共享内容并提取共享内容中的关键词,计算关键词的权值并排列,得到关键词组,接收到第二节点发送的携带查询数组的查询请求,所述查询数组中包括多个待查询的关键词; 
索引查询模块,用于根据所述消息处理模块接收到的多个待查询的关键词,获取查询结果; 
消息转发模块,用于将所述索引查询模块获取到的查询结果向所述第二节点发送。 
本发明的实施例还提供一种分布式结构化网络中的查询设备,包括: 
关键词获取模块,用于获取查询命令中的多个待查询的关键词; 
查询数组生成模块,用于生成包括所述关键词获取模块获取的多个待查询的关键词的查询数组; 
节点获取模块,用于将所述关键词获取模块获取的每个待查询的关键词分别作为索引关键词,获取与所述查询数组中每个待查询的关键词所对应的 节点; 
查询请求发送模块,用于向所述节点获取模块获取的节点发送携带所述查询数组的查询请求。 
本发明的实施例还提供一种分布式结构化网络中的查询系统,包括: 
第一节点,用于选择共享内容并提取共享内容中的关键词,计算关键词的权值并排列,得到关键词组,接收第二节点发送的携带查询数组的查询请求,所述查询数组中包括多个待查询的关键词;根据所述多个待查询的关键词,获取查询结果并将所述查询结果向所述第二节点发送; 
第二节点,用于获取查询命令中的多个待查询的关键词;生成包括所述待查询的关键词的查询数组;将每个待查询的关键词分别作为索引关键词获取对应的节点;向所述获取到的对应节点发送携带所述查询数组的查询请求,所述获取到的对应节点包括所述第一节点。 
与现有技术相比,本发明的实施例具有以下优点: 
通过对所查询的关键词的扩展,实现了多关键词的查询,扩展了查询可选择的范围,与以单一关键词进行的查询相比,能够获取更加全面和完备的查询结果。 
图1是本发明实施例中终端创建共享内容的流程图; 
附图说明
图2是本发明实施例中终端上传共享内容的示意图; 
图3是本发明实施例中文词表的形式示意图; 
图4是本发明实施例中节点对接收到的包进行存储的流程图; 
图5A和图5B是本发明的实施例中节点对接收到的查询命令进行查询的流程图; 
图6A和图6B是本发明的实施例中节点进行查询的流程图; 
图7是本发明的实施例中节点进行过滤处理的流程图; 
图8是本发明的实施例中节点进行查询的示意图; 
图9是本发明的实施例中节点退出的流程图; 
图10是本发明的实施例中节点设备的结构示意图; 
图11是本发明的实施例中节点设备的另一结构示意图; 
图12是本发明的实施例中节点设备的结构示意图; 
图13是本发明的实施例中节点设备的另一结构示意图。 
具体实施方式
本发明的实施例提供一种分布式结构化网络中的查询方法。分布式结构化网络(以DHT网络为例)主要是由普通节点组成,在该网络中,通过节点之间的自动调节来完善整个网络的整体架构。根据用户的选择,在分布式结构化网络中,节点可以选择成为网络中的一个节点,也可以通过其他接入节点参与网络中的业务应用。节点只需要安装相关的软件,就表示节点加入到了该系统。 
以DHT网络为例,DHT网络中路由搜索的主要特点包括: 
①散列表的建立:节点标识符采用节点名字(如IP地址)的Hash值;对象的标识符采用对象名的Hash值;每个节点存储一张散列表,记录对象标识符与节点物理地址的映射。 
②内容的查找:内容查找通过<Key,Value>对来查询,Key指对象标识符,Value指Key所对应的数值,可以自定义,如表示某个文件的名字之类。 
③定位关键字所在的节点:将各个节点所具有的<key,value>对保存在与对象标识符相近的节点标识符的机器中,使对象标识符与节点标识符相对应。 
④<key,value>对的流动:当有新节点或新的<key,value>对出现时,将对应的<key,value>对转移到对应的节点上;当旧节点离开时,将其存储的<key,value>对转移到相邻的节点上。 
本发明实施例所涉及的系统主要是针对内容共享,用户需要在终端建立一个共享文件夹,并把一些共享内容放置到该共享文件夹中。终端可以提取出这些内容的关键词发送到DHT网络中,建立索引。 
本发明的实施例中,终端创建共享内容的流程图如图1所示,包括以下步骤: 
步骤s101、选择共享内容并提取共享内容中的关键词。 
具体的,终端启动后,检查本地共享文件夹中的共享内容,并将其中的关键词Key提取出来。提取关键词Key的位置可以包括文件名、作者、关键词等,大小可以精确到Byte。其中,以文本文档为例,文本文档中需要提取的关键词的位置主要包括:文件名、标题、作者、单位、正文的关键词、以及文章的开始、结束以及中间位置等。 
步骤s102、计算关键词的权值并排列,得到关键词组。 
具体的,对于每一个关键词Key,获取到该关键词Key的位置后,需要计算该关键词Key的权值。对于同一个关键词Key出现在上述不同位置时,不同位置的权重可相同或不同。以下以权值表示关键词所处的位置的权重,不同位置所对应的权值相同或不同。对于同一个关键词Key,将该关键词Key所在位置对应的权值进行累加,同一位置多次出现时进行该位置对应的权值的多次累加,最终得到的值即为该关键词Key的权值。关键词Key的权值越大,表示关键词Key越能表示共享内容。例如,对于以下位置,每一个位置所对应的权值分别为: 
文件名中-a;标题中-b;正文中-c;文章摘要中-e;关键词-g;文章开头段落或者结束段落-d;被特殊标识的-f。如果一个关键词Key在以上所有的范围中都出现过一次,那么该关键词Key的权值为:a+b+c+d+e+f+g。 
之后,对于不同的关键词Keys,按照其权值进行排列,得到关键词组KeyArray[n],该关键词组表示共享内容的特征向量。例如在KeyArray[n]中包括所有关键词的KeyList,如Key_i1、Key_i2…Key_in共n个关键词Key。 
步骤s103、收集共享内容的元数据信息并组成包。 
具体的,终端统计并收集共享内容的元数据信息,包括共享内容存储的位置以及终端的信息等,并将收集到的信息组成一个包Packet。例如,一个包Packet中可以包括:ContentID、Value、Metadata以及AddrInfo。其中: 
ContentID:表示该共享内容在该网络中的唯一标识; 
Value:表示关于关键词和该关键词的权值的信息,其中可以包括<Weight_i,Key_i>;Key_i表示在该共享内容中出现的关键词,Weight_i表 示该关键词的权值; 
Metadata:包括该共享内容的相关属性如文件格式、大小、关键词数量IndexNum等等。 
AddrInfo:记录终端和用户的信息。 
步骤s104、将包发送到网络。 
具体的,终端可以将这些信息传递到Node1=Hash(KeyArray[0]).Node上进行存储,即对KeyArray[0]进行Hash运算得到Node1;Node1再把这个内容传递到Node2=Hash(KeyArray[1]).Node,并进行存储;Node2,再进行转发,最后把这个内容传递到节点Node(N)=Hash(KeyArray【N-1】).Node。该步骤中的N是由系统确定。收到该包的其他节点可以根据该Packet的内容在本地维护该终端的相关信息,该信息可用于之后的内容查询流程。 
上述步骤s101~s104描述的终端创建共享内容的示意图如图2所示。终端生成包Packet,并上传到接入节点,通过接入节点将该Packet的内容传递到DHT网络中各个哈希对应的节点上。该过程请参考上述步骤s101~s104,在此不进行重复描述。 
网络中的节点接收到其他节点发送的携带元数据信息的包后,在本地对接收到的包进行存储。需要存储的内容分别存储在节点本地的内容表和文词表中,以下分别对内容表和文词表的内容进行介绍: 
对于内容表,其中包括的内容为:ContentID、Value、Metadata以及AddrList。其中: 
ContentID:表示该共享内容在该网络中的唯一标识; 
Value:表示关于关键词和该关键词的权值的信息,其中可以包括<Weight_i,Key_i>;Key_i表示在该共享内容中出现的关键词,Weight_i表示该关键词的权值; 
Metadata:包括该共享内容的相关属性如文件格式、大小、关键词数量IndexNum等等。 
AddrList:记录了目前哪些节点拥有该共享内容。 
对于文词表,可以用矩阵的形式来表示,其格式如图3所示,其中行表示 关键词Key,列表示共享内容在该网络中的唯一标识ContentID。行列交叉之处的数值表示在该ContentID表示的共享内容中是否存在该关键词Key。例如如果为1,则表示该ContentID表示的共享内容有该关键词Key,如果为0则表示没有;当然也可以采用其他数值,在此不重复描述。 
本发明的实施例中,节点对接收到的包进行存储的步骤如图4所示,包括以下步骤: 
步骤s401、获取包中的ContentID。 
步骤s402、查询内容表,判断内容表中是否已经存在相同的ContentID,存在时进行步骤s403,否则进行步骤s404。 
步骤s403、将包中的AddrInfo所记录的用户信息存储到内容表的ContentID所对应的AddrList中并结束。 
步骤s404、将该包中的信息添加到内容表中。具体的,根据包中的内容在内容表中建立相应的ContentID、Value、Metadata以及AddrList。 
步骤s405、将该包的Value中存在的关键词和ContentID关系添加到文词表中。 
本发明的实施例中,节点对接收到的查询命令进行查询的步骤如图5A所示,包括: 
步骤s51、获取查询命令中的多个待查询的关键词。 
步骤s52、生成包括多个待查询的关键词的查询数组。 
步骤s53、将每个待查询的关键词分别作为索引关键词,获取与查询数组中每个待查询的关键词所对应的节点。 
步骤s54、向与查询数组中的每个关键词所对应的节点发送携带查询数组的查询请求。 
本发明的实施例中,节点对接收到的查询命令进行查询的步骤如图5B所示,包括: 
步骤s501、获取查询命令中待查询的关键词以及每个关键词的权值大小。 
步骤s502、按照权值大小对所述待查询的关键词进行排列,生成包括按照权值大小排列的待查询关键词的查询数组。 
具体的,终端从文件或者输入的查询文字中提取出需要搜索的关键词,然后把提取到的关键词按照权值进行排列,获得一个查询数组SearchValue。 
步骤s503、将每个待查询的关键词分别作为索引关键词,获取与查询数组中每个索引关键词所对应的节点。 
步骤s504、向与每个索引关键词组中的每个关键词所对应的节点发送携带所述查询数组的查询请求。 
具体的,终端可以选取查询数组SearchValue中权值最大的前M个关键词作为查询的关键路径。根据本地维护的网络中各节点的索引信息,对该M个关键词中每一个关键词IndexKey分别选取对应的节点,如Node1=Hash(IndexKey【0】).Node、Node2=Hash(IndexKey【1】).Node…,然后将该查询数组SearchValue发送到所选取的各个节点上。在发送的方式上,终端可以一次性把所有的内容传递给所有与M个IndexKey对应的DHT网络节点,然后这些节点并发的在本地进行查询;或在在OpenDHT上实现应用层组播,首先将查询数组SearchValue发送到Hash(IndexKey【0】).Node,然后再进行通过应用层组播,传递到其他M-1个节点上。 
本发明的实施例还提供一种分布式结构化网络中的查询方法,如图6A所示,包括以下步骤: 
步骤s61、第一节点接收到第二节点发送的携带查询数组的查询请求,查询数组中包括多个待查询的关键词。 
具体的,该多个待查询的关键词可以按照权值大小进行排列,该多个待查询的关键词中,包括一关键词与第一节点对应,该关键词即为第一节点的索引关键词。 
步骤s62、第一节点根据待查询的多个关键词,获取查询结果。 
步骤s63、第一节点将查询结果向第二节点发送。 
具体的,当节点接收到其他节点发送的对特定的查询数组SearchValue进行检索的请求,其中包括与本节点对应的IndexKey,如图6B所示,进行以下查询流程: 
步骤s601、查询本地的文词表的Key中是否拥有该IndexKey,若有则继续 步骤s602,否则结束。 
步骤s602、根据文词表,获取拥有该IndexKey的所有ContentID。 
步骤s603、对于每一ContentID,分别获取不同ContentID中的所包括的Value。 
步骤s604、对获取到的Value进行过滤操作。 
具体的,对于每一ContentID的Value,分别与SearchValue中比IndexKey权值大的其他关键词Key进行比较,过滤掉在比IndexKey权值大的关键词Key所对应的节点上已经检索过的Value。该步骤的目的在于:由于在多个节点之间可能存储着相同的节点备份,所以需要对查询到的内容进行过滤,防止反馈的信息中包括过多的重复内容。例如查询数组为(A,B,C,D,E,F),发送到D哈希所对应的节点4上,该请况下如果节点4上存在相应登记的关键词组(O,B,D,G,J),就要把该关键词组过滤掉,因为已经在B对应的节点上登记过。 
步骤s605、获取剩余的Value和SearchKey的相关性,按照相关性的大小对Value进行排列后得到查询结果。 
上述步骤s604中对获取到的Value进行过滤操作的一例如下:假设一节点上存在两个Value关键词文档,该节点对应的索引关键词为IndexKey,一个是查询Value_O,另一个是被比较关键词文档Value_C,Value_O和Value_C中关键词Key的数量分别是IndexNum_O和IndexNum_C。查询过程中与该节点对应的关键词为IndexKey。当Value_O和Value_C中所包括的关键词Key分别按照权值大小排序时,该IndexKey在Value_O和Value_C中的位置分别是KeyPos_O和KeyPos_C。初始设定过滤索引数量为ComNum=IndexNum_O,则过滤处理流程如图7所示,包括以下步骤: 
步骤s701、获取IndexKey在Value_O和Value_C中的位置,分别为KeyPos_O和KeyPos_C。 
步骤s702、设置ComNum的值为IndexNum_C。 
步骤s703、把在Value_O中权值大于IndexKey的关键词组成一个组ComArray。 
步骤s704、判断KeyPos_C是否大于等于IndexNum_C,不是则进行步骤s705,否则进行步骤s706。 
步骤s705、设置ComNum的值为KeyPos_C并继续。 
步骤s706、判断Value_C中前ComNum个Key中是否存在CommArray中的某一个或者多个关键词,如果存在则结束对当前两个Value关键词文档的过滤操作、继续进行其他Value关键词文档的过滤操作,否则进行步骤s707。 
步骤s707、进行相似度计算并结束。 
相似度计算的一例如下:假设两个共享内容各自对应的Value_O和Value_C,首先对把两者Value_O和Value_C进行向量扩展,具体的扩展方法如下: 
首先假设Value_O=(A1,A2,A3,…,An),Value_C=(B1,B2,B3,…,Bm),并以向量Value_X表示以上两个向量的并集:n为向量Value_O的维数,m为向量Value_C的维数。 
Value_X=Value_O∩Value_C=(X1,X2,X3,…,Xt),t≥n,m,t为向量Value_X的维数。 
将Value_O和Value_C扩展为t维向量,对于没有在Value_X中出现的单位设置为0,则向量扩展后的结果为: 
Value_O→Value_XO=(XO1,XO2,XO3,……,XOt) 
Value_C→Value_XC=(XC1,XC2,XC3,……,XCt) 
根据向量扩展后的结果,Value_O和Value_C的相似度计算方法为: 
Similar _ OC = &Sigma; i = 1 t XO i &times; XC i [ ( &Sigma; k = 1 t XO k 2 ) ( &Sigma; k = 1 t XC k 2 ) ] 1 / 2
得到Value_O和Value_C的相似度。 
上述描述查询流程的示意图如图8所示。终端通过接入节点接入网络后,将需要查找的关键词组发送到接入节点,接入节点根据该关键词组中的索引关键词,将该关键词组发送到与索引关键词哈希对应的DHT网络中的其他节点上。接收到关键词组的其他节点进行关键词查询,并对查询结果进行过滤, 以与KeyN哈希对应的节点为例,在查询到的结果中,过滤掉有关键词Keyi(i=1,2…N-1)且其权值大于KeyN的结果。各节点将最终的查询结果通过接入节点发送到终端。该查询过程请参考上述图6以及图7中的描述,在此不进行重复描述。 
本发明的实施例中,还提供了一种某节点退出时,网络中其他节点进行的节点退出流程。当一节点检测到特定节点退出网络时,若发现本地内容表中的特定内容只在该特定节点存在,则将该特定内容从本地内容表中删除,将该特定内容以及对应的关键词从本地文词表中删除;若发现本地内容表中的特定内容不只在该特定节点存在时,从与该特定内容对应的节点记录中删除该特定节点。如图9所示,该节点退出时的处理流程包括以下步骤: 
步骤s901、网络节点检测到某个本地登记的节点退出。 
步骤s902、对于本地的内容表中的每一ContentID,判断该ContentID的Addlist中是否只存在该节点,是则进行步骤s903,否则进行步骤s905。 
步骤s903、从文词表中删除该ContentID。 
步骤s904、从内容表中删除该ContentID,并进行步骤s906。 
步骤s905、从ContentID的Addlist中将该节点删除。 
步骤s906、判断是否为首次发现该节点退出,是则进行步骤s907,否则结束。 
步骤s907、根据节点的ContentID中的Value和IndexNum,通知其他节点。 
基于本发明的实施例中提供的方法,通过对所查询的关键词的扩展,实现了多关键词的查询,扩展了查询可选择的范围,使得网络上的索引登记不仅仅限于内容的文件名或者标题,而且还可以扩展到内容正文中的摘要、内容、作者等内容,与单一关键词的查询相比得到了更加全面和完备的查询结果。另外,通过对查询结果的过滤,防止了相同内容的多次返回;且通过相似度排序功能,使得查询返回的结果更加人性化。 
本发明的实施例中还提供一种分布式结构化网络中的查询系统,包括第一节点和第二节点。其中: 
第一节点,用于接收第二节点发送的携带查询数组的查询请求,查询数组中包括多个待查询的关键词;根据多个待查询的关键词,获取查询结果并将查询结果向第二节点发送。 
第二节点,用于获取查询命令中的多个待查询的关键词;生成包括待查询的关键词的查询数组;将每个待查询的关键词分别作为索引关键词获取对应的节点;向获取到的对应节点发送携带查询数组的查询请求,获取到的对应节点包括第一节点。 
本发明的实施例中,还提供一种节点设备,作为第一节点用于分布式结构化网络中的关键词查询,其结构如图10所示,包括: 
消息处理模块10,用于接收到第二节点发送的携带查询数组的查询请求,所述查询数组中包括多个待查询的关键词。 
索引查询模块20,用于根据消息处理模块10接收到的多个待查询的关键词,获取查询结果。 
消息转发模块30,用于将索引查询模块20获取到的查询结果向所述第二节点发送。 
本发明的实施例中,如图11所示,该节点设备中: 
消息处理模块10可以进一步包括第一消息处理子模块11,用于接收第二节点发送的查询数组的查询请求,该查询数组中包括多个待查询的关键词且多个待查询的关键词按照权值大小排列,该多个待查询的关键词中存在一关键词与第一节点对应,该与第一节点对应关键词为所述第一节点的索引关键词。 
该节点设备还包括: 
内容过滤模块40,用于对索引查询模块20获取到的查询结构进行过滤。 
相似度获取模块50,用于对内容过滤模块40过滤后的查询结果根据相似度进行排序,并将处理后的查询结果发送给消息转发模块30。 
索引存储模块60,用于接收网络中其他节点发送的包。 
内容管理模块70,用于对索引存储模块60接收到的包进行存储;并将内容提供给索引查询模块20用于查询,内容包括内容表和文词表。 
内容管理统计模块80,用于获取共享内容的信息并组成包,将组成的包通过消息转发模块30向网络中的其他节点发送。 
退出管理模块90,用于检测到网络中的第三节点退出时,对内容管理模块70中存储的所述第三节点上存在的内容进行修改。 
本发明的实施例还提供一种查询设备,作为第二节点用于分布式结构化网络中的关键词查询,其结构如图12所示,包括: 
关键词获取模块110,用于获取查询命令中的多个待查询的关键词。 
查询数组生成模块120,用于生成包括关键词获取模块110获取的多个待查询的关键词的查询数组。 
节点获取模块130,用于将关键词获取模块110获取的每个待查询的关键词分别作为索引关键词,获取与所述查询数组中每个待查询的关键词所对应的节点。 
查询请求发送模块140,用于向节点获取模块130获取的节点发送携带查询数组生成模块120获取的查询数组的查询请求。 
另外,如图13所示,该节点设备还可以包括: 
关键词权值获取模块150,用于获取关键词获取模块110获取的每个待查询的关键词的权值大小;并提供给查询数组生成模块120用于对查询数组中的待查询的关键词按照权值大小进行排列。 
基于本发明的实施例中提供的系统和设备,通过对所查询的关键词的扩展,实现了多关键词的查询,扩展了查询可选择的范围,使得网络上的索引登记不仅仅限于内容的文件名或者标题,而且还可以扩展到内容正文中的摘要、内容、作者等内容,与单一关键词的查询相比得到了更加全面和完备的查询结果。另外,通过对查询结果的过滤,防止了相同内容的多次返回;且通过相似度排序功能,使得查询返回的结果更加人性化。 
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台网络设备执行本发明各个实施例所述的方法。 
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。 

Claims (24)

1.一种分布式结构化网络中的查询方法,其特征在于,包括:
选择共享内容并提取共享内容中的关键词;
计算关键词的权值并排列,得到关键词组;
第一节点接收到第二节点发送的携带查询数组的查询请求,所述查询数组中包括多个待查询的关键词;
所述第一节点根据所述多个待查询的关键词,获取查询结果;
所述第一节点将所述查询结果向所述第二节点发送。
2.如权利要求1所述分布式结构化网络中的查询方法,其特征在于,所述第一节点接收到第二节点发送的携带查询数组的查询请求包括:
所述第一节点接收第二节点发送的查询数组的查询请求,所述查询数组中包括多个待查询的关键词且所述多个待查询的关键词按照权值大小排列。
3.如权利要求2所述分布式结构化网络中的查询方法,其特征在于,所述查询数组的多个待查询的关键词中,存在一关键词与所述第一节点对应,所述与第一节点对应关键词为所述第一节点的索引关键词。
4.如权利要求3所述分布式结构化网络中的查询方法,其特征在于,所述第一节点根据所述多个待查询的关键词,获取查询结果包括:
所述第一节点在内容索引中获取包括所述索引关键词的内容索引;
所述第一节点获取所述内容索引对应的内容所包括的关键词组;
所述第一节点对获取到的关键词组进行过滤;
所述第一节点获取过滤后的关键词与所述索引关键词的相关性;
所述第一节点将所述过滤后剩余的关键词按照相关性大小进行排序后,得到查询结果。
5.如权利要求4所述分布式结构化网络中的查询方法,其特征在于,所述第一节点对获取到的关键词组进行过滤包括:
获取需要进行过滤的第一关键词组Value_O和第二关键词组Value_C;所述Value_O中的索引关键词数量为IndexNum_O,所述Value_C中的索引关键词数量为IndexNum_C;初始化比较向量ComNum为IndexNum_C;
获取所述索引关键词IndexKey在所述Value_O中的位置KeyPos_O,和在所述Value_C中的位置KeyPos_C;
将所述Value_O中权值大于所述IndexKey的关键词组成比较词组ComArray;
所述Value_C中IndexKey的权值大于IndexNum_C的权值时,设置ComNum为KeyPos_C;
所述Value_C的前ComNum个关键词中存在至少一个关键词与所述ComArray中的关键词相同时,结束过滤;否则继续所述获取相关性的操作。
6.如权利要求1所述分布式结构化网络中的查询方法,其特征在于,所述第一节点接收到第二节点发送的携带查询数组的查询请求前,还包括:
所述第一节点获取本地共享内容的关键词;
所述第一节点获取每一关键词的权值;
所述第一节点将所述各关键词按照权值进行排列并组成包;
所述第一节点根据所述排列结果,获取与前特定个关键词中每个关键词对应的节点;
所述第一节点将所述包向所述获取到的节点发送。
7.如权利要求6所述分布式结构化网络中的查询方法,其特征在于,所述第一节点将所述包向所述获取到的节点发送包括:
所述第一节点向每个获取到的节点分别发送所述包;或
所述第一节点根据所述排列结果,向与第一个关键词对应的节点发送所述包,由所述与第一个关键词对应的节点向与第二个关键词对应的节点发送所述包。
8.如权利要求6或7所述分布式结构化网络中的查询方法,其特征在于,所述包中除包括关键词以及每一关键词对应的权值外,还包括:所述第一节点上存储的共享内容的标识、所述共享内容的属性、所述第一节点的信息中的一种或多种。
9.如权利要求1所述分布式结构化网络中的查询方法,其特征在于,所述第一节点接收到第二节点发送的携带查询数组的查询请求前,还包括:
所述第一节点接收其他节点发送的包;
所述第一节点对所述接收到的包进行存储。
10.如权利要求9所述分布式结构化网络中的查询方法,其特征在于,所述第一节点对所述接收到的包进行存储包括:
所述第一节点获取所述包中的内容的标识;
所述第一节点判断获取到的内容的标识在本地的内容表中是否存在;
存在时,所述第一节点将发送所述包的节点的信息添加到与所述内容对应的节点记录中;不存在时,所述第一节点将所述包中的内容标识、关键词以及每一关键词对应的权值、内容的属性、节点信息中的一种或多种添加到本地的内容表,将所述包中的内容标识以及对应的关键词添加到本地的文词表。
11.如权利要求1所述分布式结构化网络中的查询方法,其特征在于,所述第一节点将所述查询结果向所述第二节点发送后,还包括:
所述第一节点检测到网络中的第三节点退出;
所述第一节点发现本地内容表中的特定内容只在所述第三节点存在时,将所述特定内容从本地内容表中删除,将所述特定内容以及对应的关键词从本地文词表中删除;所述第一节点发现本地内容表中的特定内容不只在所述第三节点存在时,从与所述特定内容对应的节点记录中删除所述第三节点。
12.如权利要求2、3、6、或7中任一项所述分布式结构化网络中的查询方法,其特征在于,所述关键词对应的权值具体包括:
对于特定的内容,提取所述内容中同一关键词出现的不同位置与次数;
根据预先设置的不同位置所对应的权值,获取所述关键词在所述内容中的权值。
13.一种分布式结构化网络中的查询方法,其特征在于,包括:
获取查询命令中的多个待查询的关键词;
生成包括所述待查询的关键词的查询数组;
将每个待查询的关键词分别作为索引关键词,获取与所述查询数组中每个待查询的关键词所对应的节点;
向与所述查询数组中的每个关键词所对应的节点发送携带所述查询数组的查询请求。
14.如权利要求13所述方法,其特征在于,所述获取查询命令中的多个待查询关键词后,还包括:获取每个待查询的关键词的权值大小;
所述生成包括所述待查询的关键词的查询数组包括:
按照权值大小对所述待查询的关键词进行排列,生成包括按照权值大小排列的待查询的关键词的查询数组。
15.如权利要求13或14所述分布式结构化网络中的查询方法,其特征在于,所述向与所述查询数组中的每个关键词所对应的节点发送携带所述查询数组的查询请求包括:
向与每个待查询的关键词所对应的节点分别发送携带所述查询数组的查询请求;或
获取所述查询数组中未查询且权值最大或者最小的关键词作为第一个索引关键词,向与所述第一个索引关键词对应的节点发送携带所述查询数组的查询请求,由所述与第一个索引关键词对应的节点使用相同的方法获取第二个索引关键词,向与所述第二个索引关键词对应的节点发送所述携带所述查询数组的查询请求。
16.一种分布式结构化网络中的查询设备,其特征在于,包括:
消息处理模块,用于选择共享内容并提取共享内容中的关键词,计算关键词的权值并排列,得到关键词组,接收到第二节点发送的携带查询数组的查询请求,所述查询数组中包括多个待查询的关键词;
索引查询模块,用于根据所述消息处理模块接收到的多个待查询的关键词,获取查询结果;
消息转发模块,用于将所述索引查询模块获取到的查询结果向所述第二节点发送。
17.如权利要求16所述分布式结构化网络中的查询设备,其特征在于,所述消息处理模块包括第一消息处理子模块,用于接收第二节点发送的查询数组的查询请求,所述查询数组中包括多个待查询的关键词且所述多个待查询的关键词按照权值大小排列,所述多个待查询的关键词中存在一关键词与第一节点对应,所述与第一节点对应关键词为所述第一节点的索引关键词。
18.如权利要求16或17所述分布式结构化网络中的查询设备,其特征在于,还包括:
内容过滤模块,用于对所述索引查询模块获取到的查询结果进行过滤;
相似度获取模块,用于对所述内容过滤模块过滤后的查询结果根据相似度进行排序。
19.如权利要求16或17所述分布式结构化网络中的查询设备,其特征在于,还包括:
索引存储模块,用于接收网络中其他节点发送的包;
内容管理模块,用于对所述索引存储模块接收到的包进行存储;并将存储的内容提供给所述索引查询模块用于查询,所述内容包括内容表和文词表。
20.如权利要求16或17所述分布式结构化网络中的查询设备,其特征在于,还包括:
内容管理统计模块,用于获取共享内容的信息并组成包,将所述组成的包通过所述消息转发模块向网络中的其他节点发送。
21.如权利要求16或17所述分布式结构化网络中的查询设备,其特征在于,还包括:
退出管理模块,用于检测到网络中的第三节点退出时,对所述内容管理模块中存储的所述第三节点上存在的内容进行修改。
22.一种分布式结构化网络中的查询设备,其特征在于,包括:
关键词获取模块,用于获取查询命令中的多个待查询的关键词;
查询数组生成模块,用于生成包括所述关键词获取模块获取的多个待查询的关键词的查询数组;
节点获取模块,用于将所述关键词获取模块获取的每个待查询的关键词分别作为索引关键词,获取与所述查询数组中每个待查询的关键词所对应的节点;
查询请求发送模块,用于向所述节点获取模块获取的节点发送携带所述查询数组的查询请求。
23.如权利要求22所述的分布式结构化网络中的查询设备,其特征在于,还包括:
关键词权值获取模块,用于获取每个待查询的关键词的权值大小;并提供给所述查询数组生成模块用于对查询数组中的待查询的关键词按照权值大小进行排列。
24.一种分布式结构化网络中的查询系统,其特征在于,包括:
第一节点,用于选择共享内容并提取共享内容中的关键词,计算关键词的权值并排列,得到关键词组;
接收第二节点发送的携带查询数组的查询请求,所述查询数组中包括多个待查询的关键词;根据所述多个待查询的关键词,获取查询结果并将所述查询结果向所述第二节点发送;
第二节点,用于获取查询命令中的多个待查询的关键词;生成包括所述待查询的关键词的查询数组;将每个待查询的关键词分别作为索引关键词获取对应的节点;向所述获取到的对应节点发送携带所述查询数组的查询请求,所述获取到的对应节点包括所述第一节点。
CN 200810110485 2008-06-05 2008-06-05 分布式结构化网络中的查询方法、系统和设备 Active CN101599886B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200810110485 CN101599886B (zh) 2008-06-05 2008-06-05 分布式结构化网络中的查询方法、系统和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200810110485 CN101599886B (zh) 2008-06-05 2008-06-05 分布式结构化网络中的查询方法、系统和设备

Publications (2)

Publication Number Publication Date
CN101599886A CN101599886A (zh) 2009-12-09
CN101599886B true CN101599886B (zh) 2013-01-02

Family

ID=41421147

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200810110485 Active CN101599886B (zh) 2008-06-05 2008-06-05 分布式结构化网络中的查询方法、系统和设备

Country Status (1)

Country Link
CN (1) CN101599886B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103329117A (zh) * 2011-01-25 2013-09-25 日本电气株式会社 信息处理设备、信息处理系统、信息处理方法和信息处理程序
CN103049572B (zh) * 2013-01-04 2015-08-05 福建星网视易信息系统有限公司 适用于有时效保证通讯系统的点对点通讯的文件检索方法
CN104376014B (zh) * 2013-08-15 2018-03-23 中国科学院声学研究所 一种结构化p2p网络中的资源发布及查询方法
CN104978327B (zh) * 2014-04-03 2019-10-25 中国移动通信集团河南有限公司 一种查询数据的方法、管理控制节点及目标数据节点
CN107704475B (zh) * 2016-08-10 2021-12-14 泰康保险集团股份有限公司 多层分布式非结构化数据存储方法、查询方法及装置
CN106446207B (zh) * 2016-09-30 2019-11-12 北京美到家科技有限公司 美妆库建库方法、个性化美妆辅助方法及其装置
CN110022222B (zh) * 2018-01-10 2022-02-25 中兴通讯股份有限公司 一种dht网络的管理方法、网络节点、管理节点及系统
CN109104466B (zh) * 2018-07-24 2021-01-26 南京邮电大学 一种基于P2P的WoT资源管理方法
CN110059109B (zh) * 2019-03-12 2023-11-21 湖北华中电力科技开发有限责任公司 数据查询的装置、方法及存储介质
US11914658B2 (en) 2020-05-15 2024-02-27 Shenzhen Sekorm Component Network Co., Ltd Multi-node word segmentation system and method for keyword search

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101073080A (zh) * 2004-12-09 2007-11-14 国际商业机器公司 推荐搜索引擎关键词

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101073080A (zh) * 2004-12-09 2007-11-14 国际商业机器公司 推荐搜索引擎关键词

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
杨静等.基于分布化元数据管理的P2P文件共享模型研究.《计算机工程与应用》.2006,(第20期), *

Also Published As

Publication number Publication date
CN101599886A (zh) 2009-12-09

Similar Documents

Publication Publication Date Title
CN101599886B (zh) 分布式结构化网络中的查询方法、系统和设备
US8359318B2 (en) System and method for distributed index searching of electronic content
KR100567005B1 (ko) 계층 복합 문서로부터의 정보 검색
US6795820B2 (en) Metasearch technique that ranks documents obtained from multiple collections
US9165085B2 (en) System and method for publishing aggregated content on mobile devices
CN107451208B (zh) 一种数据搜索方法与装置
EP2629212A1 (en) Method for storing and searching tagged content items in a distributed system
US20070100798A1 (en) Community built result sets and methods of using the same
Stribling et al. OverCite: A cooperative digital research library
WO2009031915A1 (fr) Système et procédés de stockage, de recherche et d&#39;extraction des informations sur la base d&#39;ensembles de données faiblement organisés et décentralisés
CN102164186A (zh) 一种实现云搜索服务的方法及系统
US9195745B2 (en) Dynamic query master agent for query execution
WO2007132342A1 (en) Documentary search procedure in a distributed information system
JP5557824B2 (ja) 階層ファイルストレージに対する差分インデクシング方法
CN102915312B (zh) 网站中的信息发布方法和系统
CN105589910A (zh) 基于HBase的海量交易数据检索及系统
JP5211180B2 (ja) データベース管理装置、データベース管理プログラム、データベース管理方法、データベース管理システム
WO2010083698A1 (zh) 一种深层网移动搜索方法、服务器及系统
Wang et al. A decentralized search engine for dynamic web communities
EP1595217A2 (en) System and method for processing a request using multiple database units
Hinds et al. Managing metadata for distributed information servers
Ren et al. haps: Supporting effective and efficient full-text p2p search with peer dynamics
CN103365966A (zh) 物联网节点信息存储方法及装置
WO2009078729A1 (en) A method for improving search engine efficiency
Bender et al. P2p directories for distributed web search: From each according to his ability, to each according to his needs

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

Effective date of registration: 20201201

Address after: Building 2, No. 3, Fuqian Road, Hailing District, Taizhou City, Jiangsu Province

Patentee after: Taizhou Haitong Asset Management Co.,Ltd.

Address before: Unit 2414-2416, main building, no.371, Wushan Road, Tianhe District, Guangzhou City, Guangdong Province

Patentee before: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Effective date of registration: 20201201

Address after: Unit 2414-2416, main building, no.371, Wushan Road, Tianhe District, Guangzhou City, Guangdong Province

Patentee after: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right