基于对等网络的联合搜索系统

文档序号:26588519发布日期:2021-09-10 20:06阅读:74来源:国知局
基于对等网络的联合搜索系统

1.本发明涉及对等网络中的信息搜素和信息共享技术领域,具体地,涉及一种基于对等网络的联合搜索系统。


背景技术:

2.搜索引擎指自动从因特网搜集信息,经过一定整理以后,提供给用户进行查询的系统。因特网上的信息浩瀚万千,而且毫无秩序,所有的信息像汪洋上的一个个小岛,网页链接是这些小岛之间纵横交错的桥梁,而搜索引擎,则为用户绘制一幅一目了然的信息地图,供用户随时查阅。
3.公开号为cn112632394a的中国发明专利,公开了一种基于企业用户搜索行为特征的企业级搜索方法及搜索引擎,该方法包括以下步骤:收录企业员工搜索时常用的关键词和企业行业属性相关的关键词,形成企业内部的搜索词库;搭建员工搜索行为权重模型;当企业内的员工登录系统并进行搜索操作时,系统从员工输入的搜索内容中提取关键词,以及从员工的往期搜索行为数据中提取员工的搜索行为特征,然后通过员工搜索行为权重模型计算出提取的关键词的权重;系统后台依据搜索条件返回相应的结果数据,并将结果数据按照相应关键词权重值由大到小的顺序在页面上排列显示。本发明为企业级用户提供一种快速搜索方案,使企业员工在搜索企业内部数据时,能够快速获得符合搜索习惯的数据结果。
4.传统搜索引擎使用“信息采集

集中存储

用户检索”的流程来完成搜索引擎的功能。主要有以下几点缺陷:1、信息获取:传统搜素引擎通过爬虫的方式来获取网络资源,只能搜索到网页和一部分文档格式的资源,难以覆盖全网络的内容复杂、形式多变的资源。同时爬虫难以发现冷门资源、独立资源以及短时间内发布的资源,有覆盖面窄,及时性差等缺点。2、资源所有者的主动性:使用传统搜索引擎,资源所有者没有办法快速发布资源(被搜索引擎搜索到)以及删除资源(无法被搜素引擎搜索到)。当用户发布或删除资源后,需要等待一段较长的、不确定的时间,搜索引擎才能做出相应的更新。除此之外,资源所有者没有办法在搜索引擎的平台上得到完全公正的排名,搜索引擎平台可以决定页面的任意排序。


技术实现要素:

5.针对现有技术中的缺陷,本发明提供一种基于对等网络的联合搜索系统。
6.根据本发明提供的一种基于对等网络的联合搜索系统,所述方案如下:
7.第一方面,提供了一种基于对等网络的联合搜索系统,所述系统包括:多个节点,且各节点之间通过双向连接或单向连接的方式彼此联系,多个节点分别组成了第一层网络和第二层网络。
8.优选的,所述双向连接表示两个节点之间互相保存对方的节点信息,并维持一段交流;当一个节点离线时,另一个节点能够发现对方已经离线,此时连接断开;
9.而单向连接的方向从连接方指向被连接方,连接方保存被连接方的信息,被连接
方不知道对方的存在。
10.优选的,所述第一层网络是非结构化的分布式网络,节点通过一个特定的组网方式加入网络,加入网络的节点互相连接;
11.第二层网络是集中式的分布式网络,所有的节点单向连接到一个中心索引服务器。
12.优选的,所述第一层网络和第二层网络是并列的,同时存在,都拥有资源发布和资源搜索功能,其中,资源搜索能够同时进行;
13.在两个网络中使用资源发布和资源搜索功能都需要节点已经加入第一个网络,才有相应的资格。
14.优选的,节点入网的资格审查具体包括:节点在加入第一层网络之前,需要进行一项资格审查,系统会检测设备的存储性能及网络性能;
15.若设备性能合格,节点信息会被加入到节点管理服务器中,同时还需确认一项约定,即连续长时间在线约定,该约定也保存在节点管理服务器上;
16.加入第一层网络后,节点会和邻居节点保持长时间的联系,同时,邻居节点会检测该节点是否遵守约定并将相应的结果向节点管理服务器报告;
17.经过节点管理服务器的验证后,该节点的信誉分会增加或扣除,节点管理服务器会拒绝信誉分过低的节点加入网络;
18.加入到网络中之后,节点会获得使用第一层网络服务的资格,节点在使用第一层网络服务时,会联系中心索引服务器,此时中心索引服务器向节点管理服务器验证该节点是否有资格使用第一层网络服务。
19.优选的,还包括节点在第一层网络中与其他节点建立连接的方式即组网方式,当一个节点拥有另一个节点的节点信息时,能够请求该节点与该节点建立连接。
20.优选的,还包括第一层网络搜索方式、第二层网络搜索方式以及第一、二层网络组合搜索。
21.优选的,还包括资源发布,每一个网络中的节点都拥有资源库和资源索引库,节点参与网络能够只进行资源搜索而不进行资源发布;当节点需要资源发布时,节点能选择在第一层网络发布资源,或在第二层网络发布资源,也能同时发布。
22.优选的,还包括资源修改和删除,其中资源修改需同时在资源索引不变的情况下,而资源发布者只需要在本地资源库修改资源即可。
23.优选的,还包括节点退出,节点退出的操作一部分是网络操作,另一部分是资源操作;此外,节点退出分为正常退出和异常退出过程。
24.与现有技术相比,本发明具有如下的有益效果:
25.1、理论上所有的网络中资源都能够被搜索到,资源拥有者从发布资源的一刻起,该资源就已经加入网络,且能够被搜索到;当资源拥有者想要删除该资源时,可以主动使得该资源不会再被搜索到;资源搜索具有公平的页面排序方法,确保整体而言,相对更优质的资源比起同类资源能够被优先搜索得到,同时没有人能够在不付出代价的情况下使某一个资源比其他同类资源更容易被所有用户搜索到;
26.2、联合搜索系统所依赖的网络不会完全依赖于中心服务器或是超级节点,同时确保网络中各节点的公平性,不会有节点可以在网络中比其他节点付出更少的资源且获得更
优质的服务;网络的均衡性,节点连接平衡不会产生区域集中现象或边缘节点;网络的相对稳定性,节点不会频繁加入或退出网络;
27.3、联合搜索系统另一特性可以确保性能较差的或频繁加入和退出网络的设备可以正常加入并使用网络,同时不会给网络带来负面影响。
附图说明
28.通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
29.图1为单向连接示意图;
30.图2为双向连接示意图;
31.图3为第一层、第二层网络同时并列存在示意图;
32.图4为节点入网流程示意图;
33.图5为含有代理机制的网络示意图;
34.图6为自主与其他节点建立连接的示意图;
35.图7为寻求节点管理服务器的推荐并与其他节点建立连接的示意图;
36.图8为节点管理服务器的节点推荐部分工作流程示意图;
37.图9为第二层网络中搜索方式示意图;
38.图10为第一层网络搜索方式(局部视图);
39.图11为第一层网络搜索方式(全局视图);
40.图12为资源推荐过程示意图;
41.图13为资源索引库和资源库示意图;
42.图14为资源修改和删除示意图;
43.图15为节点退出的网络部分示意图;
44.图16为节点退出的资源部分示意图。
具体实施方式
45.下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
46.本发明实施例提供了一种基于对等网络的联合搜索系统,参照图1和图2所示,联合搜索系统包含了网络结构、组网方式、搜索方式、资源发布、资源修改和删除、节点退出等方面,以下分别阐述。
47.网络结构:
48.网络中节点的联系包含双向连接和单向连接两种类型,这两种节点联系方式的参与方都是两个节点。其中双向连接表示两个节点之间互相保存对方的节点信息,并维持一段交流。当一个节点离线时,另一个节点能够发现对方已经离线,此时连接断开。单向连接的方向从连接方指向被连接方,连接方保存被连接方的信息,被连接方不知道对方的存在。
49.参照图3所示,联合搜索引擎的第一层网络结构是非结构化的分布式网络,节点通
过一个特定的组网方式加入网络,加入网络的节点互相连接。第二层网络结构是集中式的分布式网络,所有的节点单向连接到一个中心索引服务器。注意这两层网络是并列的,同时存在的。
50.两层网络都拥有资源发布和资源搜索功能,特别是资源搜索可以同时进行。在两个网络中使用资源发布和资源搜索功能都需要节点已经加入第一个网络,才有相应的资格。
51.网络中还有一个节点管理服务器,所有节点(包括中心索引服务器)都单向连接到节点管理服务器。这一层网络不包含资源发布和资源搜索功能,所以不算作网络的一个核心层次。
52.参照图4和图5所示,节点入网的资格审查和节点代理具体包括:第二层网络中的节点单向连接到中心索引服务器,单向连接并不是真正的连接,不存在加入和退出网络的步骤。但是使用第二层网络的服务的前提是加入第一层网络,下面讨论节点加入第一层网络的过程。
53.节点在加入第一层网络之前,需要进行一项资格审查,系统会检测设备的存储性能及网络性能。
54.当设备性能合格时,节点信息会被加入到节点管理服务器中,同时还需要确认一项约定,即连续长时间在线约定。该约定也保存在节点管理服务器上。加入第一层网络后,节点会和邻居节点保持长时间的联系,这段过程中,邻居节点会检测该节点是否遵守约定并将相应的结果向节点管理服务器报告。经过节点管理服务器的验证后,该节点的信誉分会增加或扣除。节点管理服务器会拒绝信誉分过低的节点加入网络。加入到网络中之后,节点会获得使用第一层网络服务的资格。节点在使用第一层网络服务时,一定会联系中心索引服务器,此时中心索引服务器向节点管理服务器验证该节点是否有资格使用第一层网络服务。
55.当设备性能不合格或者信誉分不合格时,节点会被拒绝加入网络,这样的节点被称为边缘节点。此时节点想要使用网络只有一种选择,即使用代理。代理节点必须是已加入网络的节点。代理节点并不是对边缘节点直接开放的,边缘节点必须拥有代理节点的密码才能够使用代理节点。也就是说,边缘节点想要加入网络必须拥有一个自己的代理节点,否则无法加入网络。例如普通用户可以使用长期在线的电脑或者闲置的服务器作为代理节点,然后使用手机这个边缘节点连接自己的代理节点。代理节点可以接受多个边缘节点,一个用户可以将自己的代理节点分享给多个设备,或者分享给他人使用。网络对于代理节点行为的要求和网络中其他节点相同,对于边缘节点没有任何要求。代理节点全权代理边缘节点的所有操作,包括资源发布和搜索。在网络中看,代理节点和其他节点没有任何区别。边缘节点和代理节点之间的通信过程不属于网络中的通信内容。
56.参照图6所示,组网方式即是节点在第一层网络中与其他节点建立连接的方式。
57.与其他节点建立连接:当一个节点拥有另一个节点的节点信息时,可以请求该节点与该节点建立连接。此时被请求的节点需要严格验证请求节点的身份。如果请求节点是自己足够信任的节点,可以选择直接与该节点建立连接。这种方式保留给“朋友节点”直接建立连接。现实中一个用户可能在网络中持有多个节点,或者自己的朋友有某个节点在网络中,或者已知某个节点上有自己感兴趣的内容,用户希望这样的节点互相连接,则可以采
取这种方式。如果请求节点是一个陌生节点,那么被请求节点需要向节点管理服务器验证该节点是否可靠。如果节点可靠,则与该节点建立连接,否则拒绝与该节点建立连接。当被请求节点面对陌生节点的请求,放弃向节点管理服务器验证该节点或者忽略验证结果,仍与该节点建立连接时,参与连接的节点是未经过设备性能验证或者违背长时间在线约定的节点。与这样的节点建立连接,产生的不良后果需要自己承担。
58.参照图7所示,寻求节点管理服务器的推荐:一个节点想要与其他节点建立连接,首先需要知道对方的节点信息。除了在网络以外获取节点信息的方式,在网络中获取节点信息只保留了一种方式,即寻求节点管理服务器的推荐。
59.节点管理服务器负责维护一个以节点度从小到大排序的节点信息列表,只有入网时通过资格验证,且信誉分合格的节点的节点信息才会存在于该列表之中。当节点向节点管理服务器寻求节点推荐时,服务器综合考虑节点的信誉分和节点的度数,从节点度最小的一部分节点中随机推荐一些节点,并把这些节点的节点信息发送给请求者。注意节点管理服务器并不知道节点的资源内容,所以难以做不随机不公正的推荐。
60.节点寻求节点管理服务器地推荐的时机,一是在节点刚加入网络时,二是在节点认为自己负载过低时。
61.参照图8所示,节点管理服务器的维护:前面已经提到,入网时通过资格验证,且信誉分合格的节点的节点信息会被保存在节点管理服务器中。除了节点的节点信息,节点管理服务器还保存节点的度,即同一时刻节点建立连接的节点的个数。
62.节点主动将自己的相邻节点个数信息推送给节点管理服务器。如果节点多报相邻节点数量,那么很难得到节点管理服务器的推荐,只会在第一层网络中连接很少的节点。如果节点少报相邻节点数量,那么会得到很多推荐,从而负担大量的网络负载,直到超出其承受能力。
63.节点主动发送相邻节点个数信息的时机,一是在有邻居节点加入或退出网络时,二是周期性地发送。
64.参照图9所示,该联合搜索系统所包括的搜索方式,其中第二层网络搜索方式为:节点将关键词发送给中心索引服务器,服务器在资源索引库中查找合适的资源索引,并将该资源索引及资源所在节点的节点信息返回给请求节点。
65.参照图10和图11所示,第一层网络搜索方式:第一层网络中使用迭代递增泛洪搜索。当节点需要查找某资源时,生成ttl设置为1的查询报文,并发送给所有邻居节点。邻居节点收到后,将ttl值减去1,发现ttl变为0,于是在自己的资源索引库中查询相应的关键词,如果找到合适的结果,就将该资源索引和对应的节点信息返回给请求者。当请求者对此轮搜索结果不满意时,可以增大ttl值,再进行一次查询。查询报文经过的节点会首先将ttl值减去1,如果ttl值为0,就在自己的资源索引库中查找,并返回相应的结果,否则直接转发该查询报文到所有的邻居节点。
66.ttl的递增不是无上限的,网络中ttl的值规定了一个上限,当节点收到ttl值大于此上限的查询报文时,直接丢弃,拒绝为其转发。采用ttl上限机制的好处是,节点必须主动建立多条连接,否则只能获得较差的查询结果。
67.第一层网络查询方式的性能优化:为了避免环路重复,每一个查询请求都会带有一个编号,编号中带有发起查询的节点的信息,所以不同节点的查询请求的编号一定会不
同。
68.当节点收到一个查询报文时,会检查其编号是否已经存在于编号缓存中。如果已经存在,该节点会直接丢弃查询报文,不会对其进行重复的查找或转发。如果不存在,节点会将该查询编号存入编号缓存,并正常处理该次查询。
69.参照图12所示,第一层网络资源推荐:第一层网络中包含一个投票机制,即资源推荐。当用户搜索下载到一个资源,并认为该资源值得自己推荐时,可以为该资源投票。投票,即推荐操作会在自己的资源索引库中保存该资源的索引信息以及所在节点信息,并通知所在节点自己已推荐该资源。由于这些信息所占存储空间很小,所以用户推荐其他节点的资源不会有大的负面影响。节点推荐资源不仅能帮助其他节点更快搜索到该资源,还会让自己下一次更快搜索到该资源。
70.当一个节点发布的资源被其他很多节点推荐时,该资源的索引信息遍布在网络中更大的范围,于是一个搜索用户可能搜索到很多同样的索引信息。一方面,资源索引信息遍布更大的范围可以使得整个网络中的节点普遍更容易搜索到这个资源,达到推荐的效果。另一方面,搜索节点可以统计有多少次搜索到索引信息相同的资源,当资源的重复数量很高时,可以认为该资源被很多节点推荐,并以此作为参考。
71.第一、二层网络组合搜索:考虑一个用户实际使用网络的搜索功能时,他可以快速得到第一层网络中的搜索结果,此时第二层网络中的搜索正在进行。如果一开始的搜索结果还不满足用户的需要,用户可以继续深入第二层网络中的搜索,以获得需要的结果。当第二层网络中ttl到达上限时,搜索结束,此时网络中的资源已经被遍历。
72.参照图13所示,联合搜索系统中包括的资源发布具体为:每一个网络中的节点都拥有资源库和资源索引库。资源库中保存的是资源本身,节点可以为资源库中的资源设置不同的保密等级。资源库应对的是资源获取请求,当其他节点通过本节点的节点信息请求某一个特定资源时,节点检查请求节点是否有资格获取该资源。如果有资格,节点将资源库中的资源发送给请求节点。否则,拒绝该节点的资源获取请求。
73.资源索引库保存的是资源索引信息,节点也可以为资源索引库中的资源设置不同的保密等级。资源索引库中还保存了一个额外信息称为推荐节点列表,即对于每一个资源索引,有哪些节点为其投票,这主要是为了方便之后的资源修改与删除。资源索引库应对的是资源搜索请求。当节点需要在资源索引库中搜索某个资源索引时,首先检查请求节点的身份,然后在请求节点身份对应的范围内查找资源索引信息。将找到的结果返回给请求节点。
74.一个节点的资源库中包含的是自己的资源,也是自己选择愿意加入网络中的资源。一个节点的资源索引库中不仅包含自己的资源库中资源的索引,还可以包含其推荐的资源中的资源索引。一个节点的资源库和资源索引库的内容完全掌握在自己手中,其他任何节点没有对资源库和资源索引库的操作权限。当一个节点的资源库或资源索引库中出现任何非法的内容时,节点对此负责。
75.资源发布:节点参与网络可以只进行资源搜索而不进行资源发布。当节点需要资源发布时,节点有两个选择,一是在第一层网络发布资源,二是在第二层网络发布资源,当然也可以同时发布。只要执行资源发布,就必须在本地资源库中保存资源索引对应的资源。资源索引信息通过自动生成或自己主动编辑得到。在第一层网络中发布资源即将该资源索
引发送给中心索引服务器,让中心索引服务器为该资源索引投票。在第二层网络中发布资源即将该资源索引添加到自己的资源索引库中。
76.参照图14所示,联合搜索系统中包括资源修改和删除,资源修改需同时在资源索引不变的情况下,资源发布者只需要在本地资源库修改资源即可。下面讨论的资源修改意指资源索引的修改。
77.前面已经多次提到,为了支持被推荐的资源索引的修改和删除操作,当节点1(中心索引服务器也可以是这里的节点1)想要推荐节点2的某资源时,需要将自己的节点信息发送给节点2,表示自己将推荐节点2的某资源(当节点1取消推荐该资源时,也需要类似的操作)。从而节点2在该资源的推荐节点列表中缓存节点1的信息。当节点2想要修改或删除该资源时,会向该资源索引的推荐节点列表中的节点(如果节点2向中心索引服务器发布过该资源,那么中心索引服务器也会在该资源的推荐节点列表中)发送资源修改或删除提醒并收到回复。被提醒的节点会在自己的资源索引库中修改或删除该资源。节点2也会修改或删除自己的资源索引库中该资源的索引。如果没有收到回复,则认为该节点异常下线,从资源推荐节点列表中删除该节点。
78.参照图15所示,联合搜索系统中包括节点退出,节点退出的操作一部分是网络操作,另一部分是资源操作。除此之外,节点退出分为正常退出和异常退出过程。
79.节点退出的网络部分:当节点正常退出第一层网络时,需要向邻居节点汇报自己即将退出。异常退出时,邻居节点也会通过连接断线发现其已经异常退出。邻居节点向节点管理服务器报告其退出过程,并由节点管理服务器进行一次确认。如果在其承诺在线期间内退出,则会扣除相应的信誉积分。
80.参照图16所示,节点退出的资源部分:节点正常退出时,需要对其所有推荐的资源做一遍取消推荐操作,即通知对方节点自己将下线,不再推荐该资源。但此时的取消推荐不会从节点的资源索引库中删除资源索引和资源所在节点信息,而是暂存起来。在节点下一次上线时,依次探查该资源索引是否还有效(即未被删除或修改)。对于有效资源,再进行一次资源推荐操作。对于无效资源,进行相应的修改。
81.节点退出时,可以选择对自己发布的所有资源做一次资源删除操作,也可以选择不删除。如果选择不删除该资源索引,则需要留下网络外联系方式,以便其他节点找到该资源时,能够联系到该资源的所有者以获取该资源。但是这种方式可以被推荐节点拒绝,推荐节点可以直接删除其资源索引,或者过一段时间删除,完全在其掌控之中。当然节点退出时也可能不对自己发布的资源做任何操作,这种情形被视为节点异常退出。
82.当节点异常退出时,一定没有做资源删除操作。此时,网络中可能存在这样一种状态,即节点内资源索引库中存有某资源索引,但是该资源索引对应的资源所在的节点已经不在线,且没有网络外联系方式。当这种情况发生时,即一个节点搜索资源得到某资源索引,并发现该资源索引对应的资源所在的节点不可达时,会通知给自己这个资源索引的节点(也可能是中心索引服务器)该节点已经不在线。此时推荐节点了解到自己推荐的某资源所在节点已经异常退出网络,可以选择暂时保留该资源索引,等待一段合理时间后探查所在节点是否在线从而做出相应的动作,或者也可以直接删除该资源索引。
83.在以上系统描述以外,补充说明一些节点不当行为的后果,辅助理解系统的工作方式。
84.部分节点不当行为的后果:
85.只在第一层网络中连接很少的节点:用户在第一层网络中的资源搜索和资源发布都受限。资源发布受限是因为自己连接的节点太少,其他节点不容易通过泛洪方式找到本节点的资源。资源搜索受限是因为搜索算法设置了ttl上限,当邻居节点发送的泛洪查找报文具有过大的ttl时,节点拒绝为其转发。只连接很少的节点的情况下,泛洪搜索的覆盖率会很低。
86.节点只使用第二层网络的资源搜索和资源发布功能,但只在第一层网络中连接很少的节点(不负担第一层网络的泛洪查找):如果用户只使用辅助搜索(第二层网络资源搜索),那么自然必须承担其后果(搜索结果有可能被平台控制,资源发布者没有将资源发布到第二层网络那么就搜索不到,中心索引服务器可能不在线)。如果用户只使用第二层网络资源发布,那么这是允许的。因为用户完全没有使用第一层网络的资源搜索,即不会造成其他节点的性能消耗,那么自然也不必承担责任。而只使用第二层网络资源发布导致的后果(将资源索引交给中心索引服务器,自己无法决定其是否能够被其他节点搜索得到)必须自己承担。
87.本发明实施例提供了一种基于对等网络的联合搜索系统,能够确保网络中各节点的公平性,不会有节点可以在网络中比其他节点付出更少的资源且获得更优质的服务;网络的均衡性,节点连接平衡不会产生区域集中现象或边缘节点;网络的相对稳定性,节点不会频繁加入或退出网络;联合搜索系统还可以确保性能较差的或频繁加入和退出网络的设备可以正常加入并使用网络,同时不会给网络带来负面影响。
88.本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
89.以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本技术的实施例和实施例中的特征可以任意相互组合。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1