CN111143427A - 基于在网计算的分布式信息检索方法、系统与装置 - Google Patents
基于在网计算的分布式信息检索方法、系统与装置 Download PDFInfo
- Publication number
- CN111143427A CN111143427A CN201911166655.5A CN201911166655A CN111143427A CN 111143427 A CN111143427 A CN 111143427A CN 201911166655 A CN201911166655 A CN 201911166655A CN 111143427 A CN111143427 A CN 111143427A
- Authority
- CN
- China
- Prior art keywords
- retrieval
- preliminary
- result
- network
- server
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
- H04L67/5651—Reducing the amount or size of exchanged application data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于在网计算的分布式信息检索方法,包括:根据用户的检索要求,代理服务器通过网络向检索服务器发出检索指令;通过该检索服务器进行检索以获取初步检索结果,并发送至该网络;在该网络中对该初步检索结果进行聚合,获得聚合检索结果并发送至该代理服务器;通过该代理服务器从该聚合检索结果中选出最终检索结果并反馈给该用户。本发明利用网络的可编程交换机,对检索服务器获得的初步检索结果进行在网聚合,以减小网络中检索数据的传输量,从而有效降低网络通信开销,也不影响正常的数据高速转发。
Description
技术领域
本发明涉及分布式信息检索领域,特别涉及一种基于在网计算的分布式信息检索方法和系统。
背景技术
随着信息技术的不断发展和互联网的日益普及,网络中存储的数据(如文本、图片、视频等)呈现爆炸性的增长。在日常生产与生活中,不同用户常常需要从海量的数据中搜索满足其需求的数据信息。为此,构建高吞吐量、低延迟的分布式信息检索系统(搜索引擎)显得尤为重要。
分布式信息检索系统主要依赖于计算机集群。海量数据内容存储于集群分布式文件系统中,并通过哈希计算等方法形成不同数据的特征值。而检索服务器通过哈希表等数据结构构建数据特征值与数据内容位置间的关系。当收到用户的查询请求,检索服务器会将根据请求数据特征在其维护的哈希表中进行线性查找,找到与之匹配的哈希桶,而桶中存储的数据即是可能的查询答案。然后,检索服务器将查询到的所有答案统一发送的代理服务器上进行重排序等操作,然后向用户返回Top-K查询结果的具体内容。
当前,分布式信息检索系统主要了采用MapReduce或Active DHT等成熟分布式框架以降低开发成本。对于高维数据特征值的计算,大多采用了局部敏感哈希方法及其相关的变体,具体如下:
(1)局部敏感哈希(LSH)。
LSH被公认为是在高维空间中对相似数据进行索引的最为有效方法之一。对于d维点空间点p∈Rd,随机选择k(d>k>0)个LSH函数(即h1,h2,...,hk)分别进行哈希计算,从而产生k个hash值。然后将生成的哈希值串接起来,形成一个代表点p特征值的k维向量,其表示为S(p)=(h1(p),h2(p),...,hk(p))。
(2)三元位置敏感哈希(TLSH)。
TLSH[4]是LSH的变体,其主要思想是通过构造TLSH函数将d维点p∈Rd投影到集合{0,1,*}中。逻辑上来讲,TLSH函数通过分割超平面的方法将高维点p哈希为一个值,但该值仅限于0、1或*。其中,*表示任意匹配。因此,在k个TLSH函数下,将生成一个k位的三态序列字符串,该字符串也就是点p的k维特征值。
但是,分布式检索系统在不同检索服务器中进行数据查询,然后将查询到的答案返回给集中式的代理服务器进行进一步处理(如重排序),具体如图1所示。这种通信模型将会导致“in-cast”的问题。此外,分布式检索系统需要同时支持成千上万的并发查询。因此,网络中需要同时传输大量的答案数据,从而导致网络的拥塞。而网络的拥塞必然导致检索效率的降低。
发明内容
本发明针对现有技术的不足,提出一种分布式信息检索方法,利用在网计算减小网络中需要同时传输的检索结果数据,从而避免网络的拥塞,提高检索效率。
具体来说,本发明的基于在网计算的分布式信息检索方法,包括:根据用户的检索要求,代理服务器通过网络向检索服务器发出检索指令;通过该检索服务器进行检索以获取初步检索结果,并发送至该网络;在该网络中对该初步检索结果进行聚合,获得聚合检索结果并发送至该代理服务器;通过该代理服务器从该聚合检索结果中选出最终检索结果并反馈给该用户。
本发明所述的分布式信息检索方法,其中该检索服务器进行检索时,通过快速检索路径和慢速检索路径进行并行检索,并将通过该快速检索路径获取的第一检索结果和通过该慢速检索路径获取的第二检索结果合并为该初步检索结果,其中该快速检索路径是利用该索服务器的TCAM组件的并联电路实现,该慢速检索路径是通过该索服务器内设置的搜索算法软件实现。
本发明所述的分布式信息检索方法,其中通过该网络的交换机对该初步检索结果进行聚合,其中该交换机从其物理端口接收该初步检索结果生成的IP数据包后,根据该交换机的预配置状态自动机对该IP数据包解析出该初步检索结果,并通过该交换机的流水线匹配识别待合并的初步检索结果,将该待合并的初步检索结果存储至该交换机的寄存器内进行存储和合并操作。
本发明所述的分布式信息检索方法,其中该初步检索结果以对应检索指令的ID为该初步检索结果的ID,则对该初步检索结果进行聚合的步骤还包括:
对于该交换机的多个该寄存器,当解析出新的初步检索结果时,将该初步检索结果的ID依次与各该寄存器存储的数据的ID进行比较,若存在相同ID的寄存器,则将该初步检索结果存储至该相同ID的寄存器的末尾,反之则存储至数据为空的寄存器,若不存在数据为空的寄存器则存储至有最多数据的寄存器。
本发明还提出一种基于在网计算的分布式信息检索系统,包括:检索指令模块,用于根据用户的检索要求,代理服务器通过网络向检索服务器发出检索指令;初步检索模块,用于通过该检索服务器进行检索以获取初步检索结果,并发送至该网络;在网聚合模块,用于在该网络中对该初步检索结果进行聚合,获得聚合检索结果并发送至该代理服务器;最终结果模块,用于通过该代理服务器从该聚合检索结果中选出最终检索结果并反馈给该用户。
本发明所述的分布式信息检索系统,其中该初步检索模块包括:快速检索模块,用于通过该检索服务器的TCAM组件的并联电路获取第一检索结果;慢速检索模块,用于通过该索服务器内设置的搜索算法软件U获取第二检索结果;结果合并模块,用于将该第一检索结果和该二检索结果合并为该初步检索结果。
本发明所述的分布式信息检索系统,其中该在网聚合模块通过该网络的交换机对该初步检索结果进行聚合,其中该交换机从其物理端口接收该初步检索结果生成的IP数据包后,根据该交换机的预配置状态自动机对该IP数据包解析出该初步检索结果,并通过该交换机的流水线匹配识别待合并的初步检索结果,将该待合并的初步检索结果存储至该交换机的寄存器内进行存储和合并操作。
本发明所述的分布式信息检索系统,其中该在网聚合模块还包括:寄存器替换模块,用于选取寄存器进行数据存储和聚合;其中,对于该交换机的多个该寄存器,当解析出新的初步检索结果时,将该初步检索结果的ID依次与各该寄存器存储的数据的ID进行比较,若存在相同ID的寄存器,则将该初步检索结果存储至该相同ID的寄存器的末尾,反之则存储至数据为空的寄存器,若不存在数据为空的寄存器则存储至有最多数据的寄存器;该初步检索结果的ID为该初步检索结果对应检索指令的ID。
本发明还提出一种可读存储介质,存储有可执行指令,该可执行指令用于执行如前所述的基于在网计算的分布式信息检索方法。
本发明还提出一种数据处理装置,包括:设置在网络中的代理服务器,该代理服务器设置有如前所述的可读存储介质,该代理服务器的处理器调取并执行该可读存储介质中的可执行指令,以根据用户的检索要求生成检索指令并通过网络发送给检索服务器,选取最终检索结果反馈给该用户;;设置在该网络中的交换机,该交换机设置有如前所述的可读存储介质,该交换机的处理器调取并执行该可读存储介质中的可执行指令,以进行对初步检索结果的聚合;设置在该网络中的检索服务器,设置有如前所述的可读存储介质,该检索服务器的处理器调取并执行该可读存储介质中的可执行指令,以根据该检索指令获取该初步检索结果。
本发明的分布式检索方法,利用网络的可编程交换机,对检索服务器获得的初步检索结果进行在网聚合,以减小网络中检索数据的传输量,从而有效降低网络通信开销,也不影响正常的数据高速转发。
附图说明
图1是现有技术的分布式检索系统查询过程示意图。
图2是本发明的基于在网计算的分布式信息检索方法流程图。
图3是本发明的检索服务器信息检索快慢路径示意图。
图4是本发明的可编程交换机的数据流图。
图5是本发明的可编程交换机的数据包聚合功能示意图。
图6是本发明的可编程交换机内寄存器替换策略示意图。
图7是本发明的三元匹配运算算法示意图。
图8是本发明的寄存器选择与策略替换算法示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明提出的基于在网计算的分布式信息检索方法和系统进一步详细说明。应当理解,此处所描述的具体实施方法仅仅用以解释本发明,并不用于限定本发明。
发明人在部署分布式信息检索系统后进行高并发查询操作时,发现网络中存在着大量的答案数据包,这直接降低了系统的检索效率。因此,发明人觉得如果能够降低网络中传输的数据包,减少通信开销,这有助于提升检索系统的整体性能。
近年来,网络已经具有计算能力,如智能网卡与可编程交换机(如P4交换机)。这使得传统在终端服务器上的计算任务可以卸载到网络中进行成为了可能。此外,网络在一定程度上可以看到“全局”的数据状态与信息,有利于整体的优化与调度。
因此,发明人利用可编程交换机识别并聚合网络中的答案数据包,既可有效降低网络通信开销,同时也不影响正常的数据高速转发。
高性能分布式检索系统是支撑海量数据检索的关键。随着检索算法效率的提升,网络性能逐渐成了瓶颈所在,然而现有技术并未对网络通信进行很好的优化。为此,本发明提出一种基于在网计算的高性能分布式信息检索方法(以下简称为-NetSHa),可以提高分布式信息检索系统中网络通信的效率。
首先,在检索服务器端,本发明采用了快慢路径,即通过TCAM和检索软件分别进行检索。具体来说,NetSHa采用TCAM(ternary content addressable memory,一种三态内容寻址存储器)组件来加速每个检索服务器中的数据查询。但是,由于TCAM的成本和内存的限制,这意味着其容量空间有限。为此,NetSHa采用了一种快慢路径,NetSHa在逻辑上将每个服务器Server分为两部分:TCAM组件(快速路径)和服务器主机(慢速路径)。快速路径利用TCAM的并联电路非常快速地搜索其全部内容,而慢速路径则采用搜索算法的软件实现。
其次,本发明采用了匹配任意三态序列的位运算算法。对于任何一个三态序列key,都需要将其转换为两个二进制序列key.p和key.m。并且key.p等于key的序列,但是所有的“*”位都已被“0”替换。key.m是指key的掩码。更具体地说,对于key中的任意位,如果为“*”,则key.m中的对应位设置为“1”。否则,需要将其设置为“0”。例如key=011**0*,则key.p=0110000,key.m=0001101。接下来,在键key1.m和键key2.m之间进行按位“或”运算,以获得整体不需要考虑位的掩码key.m。然后使用key1.p和key2.p,分别与key.m进行按位“或”运算,最后比较运算后的结果,即可判断key1和key2是否匹配。
再次,本发明还采用了可编程交换机聚合的答案数据包。在NetSHa中,通过可编程交换机来聚合和转发数据包。可编程交换机从物理端口接收IP数据包,并根据其预配置状态自动机进行数据包的解析,然后通过交换机流水线匹配识别待合并的答案数据包,并进入流水线的“聚合”表进行查询答案数据的合并。“聚合”表利用可编程交换机的寄存器进行查询答案的储存以及聚合。在对初步检索结果进行聚合的过程中,还采用了对寄存器的替换策略:交换机中的寄存器数量决定了它可以并行执行多少个聚合任务。但寄存器的数量是有限的。如果所有寄存器都被占用,则带有新查询ID的NetSHa数据包将无法被处理。为此,本发明采用了一种替换策略,以便选择合适的寄存器。此策略是基于权重的选择机制。简而言之,将选择承载最多数据对的寄存器。NetSHa数据包一个接一个地访问寄存器。它将查询ID与寄存器中存储的ID进行比较。如果找到“空”寄存器,则将返回该寄存器。否则,将选择带有最多数据对的寄存器。为了实现上述优化,NetSHa扩展了常规网络协议以使可编程交换机能够识别可聚合的数据包,并设计了基于位的匹配算法和内存调度机制以提高分布式检索系统的整体效率。
图2是本发明的基于在网计算的分布式信息检索方法流程图,如图2所示,本发明的包括:
步骤S1,根据用户的检索要求,代理服务器通过网络向检索服务器发出检索指令;
步骤S2,检索服务器接收到检索指令后,根据检索指令进行信息检索以获取初步检索结果,并将获取的初步检索解结果发送至网络,其中,本发明是基于分布式信息检索系统,因此将有至少一个检索服务器参与信息检索,且每个参与信息检索的检索服务器,当检索到与检索指令对应的信息后,都可能获得一个或多个初步检索结果;获取初步检索结果后,连同其对应的检索指令的ID生成IP数据包并传送至网络;
为提高检索服务器的检索性能,本发明采用了快慢路径并行检索方式,图3是本发明的检索服务器信息检索快慢路径示意图。如图3所示,具体来说,当检索服务器进行检索时,通过快速检索路径和慢速检索路径进行并行检索,其中,快速检索路径是利用检索服务器的TCAM组件的并联电路实现,慢速检索路径是通过索服务器内设置的搜索算法软件实现,通过快速检索路径可以获取第一检索结果,通过慢速检索路径可以获取的第二检索结果,将第一检索结果与第二检索结果进行合并,则得到对应检索指令的初步检索结果;
步骤S3,在网络中进行在网计算,将初步检索结果聚合为聚合检索结果,并将聚合检索结果发送至代理服务器;通过对初始检索结果进行聚合,可以减少网络中传输的数据量,提升网络的传输性能;图4是本发明的可编程交换机的数据流图,图5是本发明的可编程交换机的数据包聚合功能示意图。如图4、5所示,本发明通过网络中的可编程交换机进行聚合操作,具体包括:1)当可编程交换机从其物理端口接收到初步检索结果生成的IP数据包后,根据可编程交换机的预配置状态自动机对IP数据包进行解析,获得初步检索结果;2)通过可编程交换机的流水线匹配识别待合并的初步检索结果,将该待合并的初步检索结果存储至该交换机的寄存器内进行存储和合并操作;
图6是本发明的可编程交换机内寄存器替换策略示意图。如图6所示,当可编程交换机的多个寄存器时,本发明还提出一种寄存器的替换策略,即,当解析出新的初步检索结果时,将初步检索结果的ID依次与各寄存器存储的数据的ID进行比较,若存在相同ID的寄存器,则将初步检索结果存储至这个寄存器的末尾,若不存在相同ID的寄存器,则将初步检索结果存储至数据为空的寄存器,若也不存在数据为空的寄存器,则将初步检索结果存储至有最多数据的寄存器。
步骤S4,通过该代理服务器从该聚合检索结果中选出最终检索结果并反馈给该用户。
下面详细说明本发明的各个关键点:
一、快慢路径
NetSHa采用TCAM组件来加速检索服务器中的查询。但是,TCAM的成本和内存限制意味着它的容量有限。为此,NetSHa采用了一种快慢路径。
具体地说,NetSHa在逻辑上将每个服务器上的哈希表分分割成两部分,一部分部署在TCAM组件(快速路径),另一部分部署到服务器主机上(慢速路径)。快速路径利用TCAM的并联电路非常快速地搜索其全部内容。在慢速路径中,采用搜索算法的软件实现。当查询到达服务器时,它将查询快速路径和慢速路径中的所有哈希桶。然后,服务器将来自两个路径的答案组合起来,以构成其最终的候选答案。
二、匹配任意三态序列的位运算算法
对于任何一个三态序列key,都需要将其转换为两个二进制序列key.p和key.m。并且key.p等于key的序列,但是所有的“*”位都已被“0”替换。key.m是指key的掩码。更具体地说,对于key中的任意位,如果为“*”,则key.m中的对应位设置为“1”。否则,需要将其设置为“0”。例如key=011**0*,则key.p=0110000,key.m=0001101。
接下来,讨论如何匹配两个三态序列,即key1和key2。首先在键key1.m和键key2.m之间进行按位“或”运算,以获得整体不需要考虑位的掩码key.m。接下来,使用key1.p和key2.p,分别与key.m进行按位“或”运算。最后,比较运算后的结果,即可判断key1和key2是否匹配。
例如,假设key1=011**0*(key1.m=0001101和key1.p=0110000)和key2=01*1*1*(key2.m=0010101和key2.p=0101010)。可以得key.m=key1.m|key2.m=0011101。计算key1.p=key1.p|key.m=0111101和key2.p=key2.p|key.m=0111111。因为key1.p不等于key2.p,所以key1与key2不匹配。本发明提出的匹配任意三态序列的位运算算法在对哈希桶进行匹配时具有较低的复杂度,并且只需要执行三个按位“或”运算。一般而言,该搜索算法的复杂度为O(n),其中n是服务器主机中哈希桶的数量。本发明的三元匹配运算算法如图7所示,图7中的key1和key2即为上述的两个待比较的三态序列,如果二者相匹配,则返回true,否则返回false。
三、可编程交换机中的聚合
在NetSHa中,部署了可编程交换机来聚合和转发数据包。附图2给出了用于数据包聚合的可编程交换机的逻辑处理。具体来说,可编程交换机从物理端口接收IP数据包,并根据其预配置的状态自动机将其解析数据包头。接下来,它配置一个表(IP ToS表)以标识IPToS保留位为1的NetSHa数据包。对于NetSHa数据包,它们需要跳转到“聚合”表以进行进一步处理(也称为数据包聚合)。IP ToS保留位为0的其他数据包被视为常规数据包,随后正常转发。
在“聚合”表中,交换机执行轻量级的数据包聚合。这是通过使用交换机寄存器来完成的,每个寄存器都类似于一个数组。为了完成聚合任务,交换机将基于其寄存器初始化为全局“二维数组”。每个寄存器存储两种类型的数据:状态和数据对。这些状态记录了用于标识特定查询的查询ID,以及用于指示该寄存器中已经携带的数据对的个数。而每个寄存器用于承载数据对的最大容量是相同的,这被视为阈值。如果携带的数据对的数量等于阈值,则寄存器将根据其携带的数据对和查询ID构造一个新的NetSHa数据包,然后将其作为常规数据包进行转发。接下来,它重置其状态,包括查询ID和计数器值,并等待下一个数据包。
四、替换策略
当一个数据包进入“聚合”表时,它将选择一个寄存器进行填充。如果已经有一个具有相同查询ID的寄存器,则数据包会将其数据对附加到寄存器的末尾,直到已满为止。否则,它需要选择一个“空”寄存器来填充分组数据对。从这个意义上讲,现有的实现采用线性搜索来确定寄存器。然而,交换机中的寄存器数量决定了它可以并行执行多少个聚合任务。然而,寄存器的数量是有限的。这导致了一个问题,如果所有寄存器都被占用,则带有新查询ID的NetSHa数据包将无法进行处理。为了应对这一挑战,本发明采用了替换策略,以便选择合适的寄存器。此策略是基于权重的选择机制。简而言之,将选择承载最多数据对的寄存器。如图4所示,NetSHa数据包一个接一个地访问寄存器。它将查询ID与寄存器的ID进行比较。如果它们相同,则返回寄存器。否则,它将在可能的情况下遍历所有寄存器以记录第一个“空”寄存器。如果找到“空”寄存器,则将返回该寄存器。否则,将选择带有最多数据对的寄存器(称为替换寄存器)。图8说明了本发明的寄存器选择与策略替换算法,其中输入参数q代表到达的数据包查询ID,R代表交换机中一组寄存器,n代表寄存器的个数,整个算法逻辑会按照(相同查询ID寄存器>空闲寄存器>当前装载最多数据对寄存器)优先级顺序返回所选择的寄存器。为避免丢失数据,如果替换了寄存器,则必须首先聚合其现有数据对,构造一个NetSHa数据包并进行传输。此后,可以清除该寄存器并将其用于处理新的数据。
本发明还提出一种数据处理装置,用于进行基于在网计算的分布式信息检索处理,以及一种可读存储介质,可读存储介质存储有可执行指令,可执行指令被处理器执行时,实现上述基于同构多链的并行事务处理方法;本发明的数据处理装置包括:代理服务器和检索服务器,连接代理服务器和检索服务器的网络,以及设置于网络中的可编程交换机;其中,代理服务器的处理器调取可读存储介质的可执行指令,以根据用户的检索要求生成检索指令,并通过网络将检索指令发送给检索服务器,以及在接收到聚合检索结果后,从中选取最终检索结果反馈给用户;检索服务器的处理器调取可读存储介质的可执行指令,以根据该检索指令获取该初步检索结果;可编程交换机的处理器调取并执行该可读存储介质中的可执行指令,以进行对初步检索结果的聚合。本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件(例如处理器)完成,所述程序可以存储于可读存储介质中,如只读存储器、磁盘或光盘等。上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块可以采用硬件的形式实现,例如通过集成电路来实现其相应功能,也可以采用软件功能模块的形式实现,例如通过处理器执行存储于存储器中的程序/指令来实现其相应功能。本发明实施例不限制于任何特定形式的硬件和软件的结合。
本发明提出了一种通过在网计算来加速分布式检索系统的新方法。本发明的方法不会更改分布式检索系统的体系架构,而是在两个方面进行了优化:其一,利用可编程交换机的计算能力来聚合答案数据包,从而减少网络中传输的数据包数量;其二,设计了一种带有TCAM组件部署的快速机制,以加快分布式服务器中相似数据项的匹配。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变形,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (10)
1.一种基于在网计算的分布式信息检索方法,其特征在于,包括:
根据用户的检索要求,代理服务器通过网络向检索服务器发出检索指令;
通过该检索服务器进行检索以获取初步检索结果,并发送至该网络;
在该网络中对该初步检索结果进行聚合,获得聚合检索结果并发送至该代理服务器;
通过该代理服务器从该聚合检索结果中选出最终检索结果并反馈给该用户。
2.如权利要求1所述的分布式信息检索方法,其特征在于,该检索服务器进行检索时,通过快速检索路径和慢速检索路径进行并行检索,并将通过该快速检索路径获取的第一检索结果和通过该慢速检索路径获取的第二检索结果合并为该初步检索结果,其中该快速检索路径是利用该索服务器的TCAM组件的并联电路实现,该慢速检索路径是通过该索服务器内设置的搜索算法软件实现。
3.如权利要求1所述的分布式信息检索方法,其特征在于,通过该网络的交换机对该初步检索结果进行聚合,其中该交换机从其物理端口接收该初步检索结果生成的IP数据包后,根据该交换机的预配置状态自动机对该IP数据包解析出该初步检索结果,并通过该交换机的流水线匹配识别待合并的初步检索结果,将该待合并的初步检索结果存储至该交换机的寄存器内进行存储和合并操作。
4.如权利要求3所述的分布式信息检索方法,其特征在于,该初步检索结果以对应检索指令的ID为该初步检索结果的ID,则对该初步检索结果进行聚合的步骤还包括:
对于该交换机的多个该寄存器,当解析出新的初步检索结果时,将该初步检索结果的ID依次与各该寄存器存储的数据的ID进行比较,若存在相同ID的寄存器,则将该初步检索结果存储至该相同ID的寄存器的末尾,反之则存储至数据为空的寄存器,若不存在数据为空的寄存器则存储至有最多数据的寄存器。
5.一种基于在网计算的分布式信息检索系统,其特征在于,包括:
检索指令模块,用于根据用户的检索要求,代理服务器通过网络向检索服务器发出检索指令;
初步检索模块,用于通过该检索服务器进行检索以获取初步检索结果,并发送至该网络;
在网聚合模块,用于在该网络中对该初步检索结果进行聚合,获得聚合检索结果并发送至该代理服务器;
最终结果模块,用于通过该代理服务器从该聚合检索结果中选出最终检索结果并反馈给该用户。
6.如权利要求5所述的分布式信息检索系统,其特征在于,该初步检索模块包括:
快速检索模块,用于通过该检索服务器的TCAM组件的并联电路获取第一检索结果;
慢速检索模块,用于通过该索服务器内设置的搜索算法软件U获取第二检索结果;
结果合并模块,用于将该第一检索结果和该二检索结果合并为该初步检索结果。
7.如权利要求5所述的分布式信息检索系统,其特征在于,该在网聚合模块通过该网络的交换机对该初步检索结果进行聚合,其中该交换机从其物理端口接收该初步检索结果生成的IP数据包后,根据该交换机的预配置状态自动机对该IP数据包解析出该初步检索结果,并通过该交换机的流水线匹配识别待合并的初步检索结果,将该待合并的初步检索结果存储至该交换机的寄存器内进行存储和合并操作。
8.如权利要求7所述的分布式信息检索系统,其特征在于,该在网聚合模块还包括:寄存器替换模块,用于选取寄存器进行数据存储和聚合;其中,对于该交换机的多个该寄存器,当解析出新的初步检索结果时,将该初步检索结果的ID依次与各该寄存器存储的数据的ID进行比较,若存在相同ID的寄存器,则将该初步检索结果存储至该相同ID的寄存器的末尾,反之则存储至数据为空的寄存器,若不存在数据为空的寄存器则存储至有最多数据的寄存器;该初步检索结果的ID为该初步检索结果对应检索指令的ID。
9.一种可读存储介质,存储有可执行指令,该可执行指令用于执行如权利要求1~4任一项所述的基于在网计算的分布式信息检索方法。
10.一种数据处理装置,包括:
设置在网络中的代理服务器,该代理服务器设置有如权利要求9所述的可读存储介质,该代理服务器的处理器调取并执行该可读存储介质中的可执行指令,以根据用户的检索要求生成检索指令并通过网络发送给检索服务器,选取最终检索结果反馈给该用户;
设置在该网络中的交换机,该交换机设置有如权利要求9所述的可读存储介质,该交换机的处理器调取并执行该可读存储介质中的可执行指令,以进行对初步检索结果的聚合;
设置在该网络中的检索服务器,设置有如权利要求9所述的可读存储介质,该检索服务器的处理器调取并执行该可读存储介质中的可执行指令,以根据该检索指令获取该初步检索结果。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911166655.5A CN111143427B (zh) | 2019-11-25 | 2019-11-25 | 基于在网计算的分布式信息检索方法、系统与装置 |
PCT/CN2019/126227 WO2021103207A1 (zh) | 2019-11-25 | 2019-12-18 | 基于在网计算的分布式信息检索方法、系统与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911166655.5A CN111143427B (zh) | 2019-11-25 | 2019-11-25 | 基于在网计算的分布式信息检索方法、系统与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111143427A true CN111143427A (zh) | 2020-05-12 |
CN111143427B CN111143427B (zh) | 2023-09-12 |
Family
ID=70516654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911166655.5A Active CN111143427B (zh) | 2019-11-25 | 2019-11-25 | 基于在网计算的分布式信息检索方法、系统与装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111143427B (zh) |
WO (1) | WO2021103207A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111931033A (zh) * | 2020-08-11 | 2020-11-13 | 深圳市欢太科技有限公司 | 一种检索方法、检索装置及服务器 |
WO2021249023A1 (zh) * | 2020-06-08 | 2021-12-16 | 华为技术有限公司 | 集合通信系统中控制报文处理方法、装置、设备及系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101694672A (zh) * | 2009-10-16 | 2010-04-14 | 华中科技大学 | 一种分布式安全检索系统 |
JP2010113491A (ja) * | 2008-11-06 | 2010-05-20 | Nec Access Technica Ltd | ウェブ検索システム、ウェブ検索方法、およびウェブ検索プログラム |
CN102436513A (zh) * | 2012-01-18 | 2012-05-02 | 中国电子科技集团公司第十五研究所 | 分布式检索方法和系统 |
CN102521350A (zh) * | 2011-12-12 | 2012-06-27 | 浙江大学 | 基于历史点击数据的分布式信息检索集合选择方法 |
CN104050235A (zh) * | 2014-03-27 | 2014-09-17 | 浙江大学 | 基于集合选择的分布式信息检索方法 |
US20150326480A1 (en) * | 2014-05-07 | 2015-11-12 | Alcatel Lucent | Conditional action following tcam filters |
US20170052731A1 (en) * | 2015-08-17 | 2017-02-23 | Mellanox Technologies Tlv Ltd. | Efficient lookup of tcam-like rules in ram |
CN107967219A (zh) * | 2017-11-27 | 2018-04-27 | 北京理工大学 | 一种基于tcam的大规模字符串高速查找方法 |
CN108241627A (zh) * | 2016-12-23 | 2018-07-03 | 北京神州泰岳软件股份有限公司 | 一种异构数据存储查询方法和系统 |
US20190220401A1 (en) * | 2018-01-16 | 2019-07-18 | Marvell Israel (M.I.S.L) Ltd. | Method and apparatus for search engine cache |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2518638A3 (en) * | 2011-04-27 | 2013-01-23 | Verint Systems Limited | System and method for keyword spotting using multiple character encoding schemes |
CN104023039B (zh) * | 2013-02-28 | 2018-02-02 | 国际商业机器公司 | 数据包传输方法和装置 |
CN109033123B (zh) * | 2018-05-31 | 2023-09-22 | 康键信息技术(深圳)有限公司 | 基于大数据的查询方法、装置、计算机设备和存储介质 |
-
2019
- 2019-11-25 CN CN201911166655.5A patent/CN111143427B/zh active Active
- 2019-12-18 WO PCT/CN2019/126227 patent/WO2021103207A1/zh active Application Filing
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010113491A (ja) * | 2008-11-06 | 2010-05-20 | Nec Access Technica Ltd | ウェブ検索システム、ウェブ検索方法、およびウェブ検索プログラム |
CN101694672A (zh) * | 2009-10-16 | 2010-04-14 | 华中科技大学 | 一种分布式安全检索系统 |
CN102521350A (zh) * | 2011-12-12 | 2012-06-27 | 浙江大学 | 基于历史点击数据的分布式信息检索集合选择方法 |
CN102436513A (zh) * | 2012-01-18 | 2012-05-02 | 中国电子科技集团公司第十五研究所 | 分布式检索方法和系统 |
CN104050235A (zh) * | 2014-03-27 | 2014-09-17 | 浙江大学 | 基于集合选择的分布式信息检索方法 |
US20150326480A1 (en) * | 2014-05-07 | 2015-11-12 | Alcatel Lucent | Conditional action following tcam filters |
US20170052731A1 (en) * | 2015-08-17 | 2017-02-23 | Mellanox Technologies Tlv Ltd. | Efficient lookup of tcam-like rules in ram |
CN108241627A (zh) * | 2016-12-23 | 2018-07-03 | 北京神州泰岳软件股份有限公司 | 一种异构数据存储查询方法和系统 |
CN107967219A (zh) * | 2017-11-27 | 2018-04-27 | 北京理工大学 | 一种基于tcam的大规模字符串高速查找方法 |
US20190220401A1 (en) * | 2018-01-16 | 2019-07-18 | Marvell Israel (M.I.S.L) Ltd. | Method and apparatus for search engine cache |
CN110046286A (zh) * | 2018-01-16 | 2019-07-23 | 马维尔以色列(M.I.S.L.)有限公司 | 用于搜索引擎缓存的方法和装置 |
Non-Patent Citations (1)
Title |
---|
吴广印;: "分布式学术搜索引擎研制及其大数据应用" * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021249023A1 (zh) * | 2020-06-08 | 2021-12-16 | 华为技术有限公司 | 集合通信系统中控制报文处理方法、装置、设备及系统 |
CN111931033A (zh) * | 2020-08-11 | 2020-11-13 | 深圳市欢太科技有限公司 | 一种检索方法、检索装置及服务器 |
Also Published As
Publication number | Publication date |
---|---|
WO2021103207A1 (zh) | 2021-06-03 |
CN111143427B (zh) | 2023-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7177874B2 (en) | System and method for generating and processing results data in a distributed system | |
US7827182B1 (en) | Searching for a path to identify where to move entries among hash tables with storage for multiple entries per bucket during insert operations | |
US8103764B2 (en) | Method and apparatus for matching trigger pattern | |
US20040186832A1 (en) | System and method for controlling processing in a distributed system | |
US8923306B2 (en) | Phased bucket pre-fetch in a network processor | |
US20040181522A1 (en) | Shared memory router system and method for node communication in a distributed system | |
Wang et al. | Fast name lookup for named data networking | |
CN111937360B (zh) | 最长前缀匹配 | |
CN101009656A (zh) | 路由系统及其管理规则条目的方法 | |
CN110226159B (zh) | 在网络交换机上执行数据库功能的方法 | |
CN108710629B (zh) | 基于命名数据网络的Top-k查询方法及系统 | |
CN111143427B (zh) | 基于在网计算的分布式信息检索方法、系统与装置 | |
US20140358886A1 (en) | Internal search engines architecture | |
US11652744B1 (en) | Multi-stage prefix matching enhancements | |
US9083725B2 (en) | System and method providing hierarchical cache for big data applications | |
CN110169019B (zh) | 数据库功能定义的网络交换机和数据库系统 | |
Bhowmik et al. | Distributed control plane for software-defined networks: A case study using event-based middleware | |
US20140114995A1 (en) | Scalable high speed relational processor for databases and networks | |
US20040181524A1 (en) | System and method for distributed processing in a node environment | |
Zhang et al. | Accelerating LSH-based distributed search with in-network computation | |
US20200134308A1 (en) | Configuring and performing character pattern recognition in a data plane circuit | |
US11782895B2 (en) | Cuckoo hashing including accessing hash tables using affinity table | |
CN110046286A (zh) | 用于搜索引擎缓存的方法和装置 | |
Zhang et al. | NetSHa: In-network acceleration of LSH-based distributed search | |
EP3203388B1 (en) | Database table index |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |