CN110471947B - Query method based on distributed search engine, server and storage medium - Google Patents

Query method based on distributed search engine, server and storage medium Download PDF

Info

Publication number
CN110471947B
CN110471947B CN201910613288.2A CN201910613288A CN110471947B CN 110471947 B CN110471947 B CN 110471947B CN 201910613288 A CN201910613288 A CN 201910613288A CN 110471947 B CN110471947 B CN 110471947B
Authority
CN
China
Prior art keywords
server
node
records
query
record
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
CN201910613288.2A
Other languages
Chinese (zh)
Other versions
CN110471947A (en
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.)
Guangzhou Shiyuan Electronics Thecnology Co Ltd
Original Assignee
Guangzhou Shiyuan Electronics Thecnology 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 Guangzhou Shiyuan Electronics Thecnology Co Ltd filed Critical Guangzhou Shiyuan Electronics Thecnology Co Ltd
Priority to CN201910613288.2A priority Critical patent/CN110471947B/en
Publication of CN110471947A publication Critical patent/CN110471947A/en
Application granted granted Critical
Publication of CN110471947B publication Critical patent/CN110471947B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Fuzzy Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The application discloses a query method based on a distributed search engine, which is characterized in that a master node distributes a query request to a master node in a server, so that the master node distributes the query request to slave nodes in the server where the master node is located again, the problem of processing bottleneck caused by the fact that the master node distributes the query request to all nodes in a server cluster in the prior art is solved, load balancing on all nodes is realized, processing overhead on the master node can be reduced, and accordingly query efficiency and response time of the query are improved.

Description

Query method based on distributed search engine, server and storage medium
Technical Field
The present application relates to the field of computers, and in particular, to a query method, a server, and a storage medium based on a distributed search engine.
Background
The distributed search engine has the characteristics of high effectiveness and fault tolerance. In the current SolrCloud architecture, the query process includes: one node (node) in the SolrCloud cluster receives a query request, the node comprises a board and a replica, the node monitors the nodes of all servers in the SolrCloud cluster through a zookeeper (distributed unified coordinator), distributes the query request to the nodes of all servers for individual scoring, and obtains a query result according to the queried record.
As can be seen from the above query method: when the future data volume continues to increase, the size of the whole SolrCloud cluster is also larger and larger, the number of servers in the SolrCloud cluster may be tens of machines, and even hundreds of machines, the number of nodes deployed in the SolrCloud cluster may be hundreds, and the current distributed query method can cause communication between servers to become a processing bottleneck, so that the problem of low query efficiency and long response time of the whole distributed search engine occurs.
Disclosure of Invention
In order to solve the problems of low query efficiency and long response time of a distributed search engine in the prior art, the embodiment of the application provides a query method, a server and a storage medium based on the distributed search engine.
In a first aspect, an embodiment of the present application provides a query method based on a distributed search engine, including: receiving a query request, selecting a target server in a service cluster, arranging a plurality of nodes in the target server, selecting a total node from the plurality of nodes arranged in the target server, and sending the query request to the total node; the query request is used for instructing the total node to send the query request to each server in a first server set for processing, and the first server set comprises servers except the target server in the server cluster.
In one possible design, selecting a target server in a server cluster includes: randomly selecting a server from the server cluster as a target server; or monitoring the load information of each server in the server cluster, and selecting the server with the lightest load in the server cluster as a target server. Load information of the server includes, but is not limited to: one or more of the number of users, CPU occupancy, throughput, and transmission rate.
In one possible design, selecting one node from the plurality of nodes of the target server deployment as the total node includes:
randomly selecting one node from a plurality of nodes deployed by a target server as a total node; or (b)
Monitoring load information corresponding to each of a plurality of nodes deployed in a target server;
and taking the node with the least load of the nodes deployed in the target server as a total node.
In a second aspect, an embodiment of the present application provides a query method based on a distributed search engine, including: receiving a query request;
determining a main node corresponding to each server in the first server set; the target server is located in the server cluster, and is provided with a total node and at least one slave node;
Sending a query request to a master node corresponding to each server in the first server set;
combining the records queried in the total node with at least one record queried from the node deployed in the target server to obtain a first record set;
receiving a second record set sent by a main node corresponding to each server in the first server set in response to the query request;
and merging the first record set and the second record set to obtain a third record set.
In one possible design, the determining a master node corresponding to each server in the first set of servers includes:
randomly selecting one node from at least one node deployed in a server as a master node; or (b)
Detecting load information corresponding to each of at least one node deployed by the server;
the node with the least load is selected as the master node.
In one possible design, before determining the master node corresponding to each server in the first set of servers, the method further includes:
querying at least one server deployed in the server cluster and nodes deployed in each server in a distributed unified coordinator.
In one possible design, the merging the first record set and the second record set to obtain a third record set includes:
performing a union operation on the records in the first record set and the second record set;
the records after the union collection operation are arranged in ascending order according to the scores;
selecting a first preset number of records based on the ascending arrangement result to generate a third record set, wherein the first preset number of records is the preset number of records with the largest score in the ascending arrangement result; or (b)
The records after the union operation are arranged in descending order according to the scores;
and selecting a second preset number of records based on the descending order of the results to generate a third record set, wherein the second preset number of records is the preset number of records with the largest scores in the descending order of the results.
In one possible design, after the merging the first record set and the second record set to obtain the third record set, the method further includes:
acquiring nodes where all records in the third record set are located;
sending a query request to the node where each record in the third record set is located;
receiving a query result sent by a node where each record in the third record is located in response to a query request;
And combining the query results to obtain a final result.
In a third aspect, an embodiment of the present application provides a query method based on a distributed search engine, including: receiving a query request from a master node deployed in a target server; combining the records inquired on the master node with the records inquired on at least one slave node associated with the master node to obtain a second record set; the second record set is sent to the total node in the target server.
In one possible design, the merging the record queried on the master node with the record queried on the at least one slave node associated with the master node to obtain the second record set includes:
performing union collection operation on the records queried on the master node and the records queried on the at least one slave node;
the records after the union collection operation are arranged in ascending order according to the scores;
selecting a first preset number of records to generate a second record set based on the ascending results, wherein the first preset number of records are the preset number of records with the largest scores in the ascending results; or (b)
The records after the union operation are arranged in descending order according to the scores;
and selecting a second preset number of records based on the descending order of the results to generate a second record set, wherein the second preset number of records is the preset number of records with the largest scores in the descending order of the results.
An embodiment of the present application further provides an apparatus, which may implement the query method based on the distributed search engine of the first aspect to the third aspect. The device may be, for example, a chip or a server. The above method may be implemented by software, hardware, or by hardware executing corresponding software.
In one possible implementation, the apparatus includes a processor and a memory in its structure; the processor is configured to support the apparatus to perform corresponding functions in the communication method described above. The memory is used to couple with the processor, which holds the necessary programs (instructions) and/or data for the device. Optionally, the communication device may further comprise a communication interface for supporting communication between the device and other network elements.
In another possible implementation manner, the apparatus may include unit modules that perform corresponding actions in the above method.
In yet another possible implementation, the system includes a processor and a transceiver, the processor being coupled to the transceiver, the processor being configured to execute a computer program or instructions to control the transceiver to receive and transmit information; the processor is also adapted to implement the above-described method when the processor executes the computer program or instructions. The transceiver device may be a transceiver, a transceiver circuit, or an input/output interface. When the device is a chip, the transceiver is a transceiver circuit or an input/output interface.
When the device is a chip, the transmitting unit may be an output unit, such as an output circuit or a communication interface; the receiving unit may be an input unit such as an input circuit or a communication interface.
In yet another aspect, an embodiment of the present application provides an apparatus, including: a memory and a processor; wherein the memory stores a set of program code and the processor is configured to invoke the program code stored in the memory to perform the method of aspects.
Yet another aspect of the embodiments of the present application provides a computer-readable storage medium having instructions stored therein, which when run on a computer, cause the computer to perform the method of the above aspects.
A further aspect of embodiments of the application provides a computer program product comprising instructions which, when run on a computer, cause the computer to perform the method of the above aspects.
In the embodiment of the application, a query request is received, a target server is selected from a plurality of nodes deployed by the target server in a server cluster to be used as a total node, and the query request is sent to the total node; the received query request is sent to a certain node deployed in the server cluster, the node processes the query request, the problem of overload caused by processing the query request by a specific node in the prior art is solved, the query request in the application can be sent to any node in the server cluster for processing, the load balance of the nodes in the server cluster can be realized, and the response time of the query result is reduced.
Drawings
In order to more clearly illustrate the embodiments of the application or the technical solutions in the prior art, the drawings that are required in the embodiments or the description of the prior art will be briefly described, it being obvious that the drawings in the following description are only some embodiments of the application, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a network architecture diagram of a distributed search system provided by an embodiment of the present application;
FIG. 2 is a flow chart of a query method based on a distributed search engine according to an embodiment of the present application;
FIG. 3 is another flow chart of a query method based on a distributed search engine according to an embodiment of the present application;
FIG. 4 is another flow chart of a query method based on a distributed search engine according to an embodiment of the present application;
FIG. 5 is another flow chart of a query method based on a distributed search engine according to an embodiment of the present application;
FIG. 6A is an example of a network architecture diagram of a distributed system according to an embodiment of the present application;
FIG. 6B is another flow chart of a query method based on a distributed search engine according to an embodiment of the present application;
FIG. 7 is a schematic view of an apparatus according to an embodiment of the present application;
fig. 8 is another schematic structural view of an apparatus according to an embodiment of the present application.
Detailed Description
The present application will be described in further detail with reference to the drawings and examples, in order to make the objects, technical solutions and advantages of the present application more apparent. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the application. Meanwhile, in the description of the present application, the terms "first", "second", and the like are used only to distinguish the description, and are not to be construed as indicating or implying relative importance. It will be apparent to one skilled in the art that the present application may be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known systems, devices, circuits, and methods are omitted so as not to obscure the description of the present application with unnecessary detail.
Referring to fig. 1, a network architecture diagram of a distributed search system according to an embodiment of the present application includes a terminal device, a front server, and a distributed search engine. The distributed search engine comprises a server cluster and a distributed unified coordinator (not shown in the figure), wherein the server cluster comprises a plurality of servers, the terminal equipment is connected with each server in the server cluster through a front-end server, and each server in the server cluster comprises a plurality of nodes.
The number of the terminal devices may be one or more, the number of the servers in the server cluster may be a plurality, and the number of the nodes deployed in the servers may be a plurality. For example: referring to fig. 1, a terminal device in a distributed search system includes: terminal device 1, terminal device 2, terminal devices 3, …. The server cluster in the distributed search system includes a server 1, a server 2, and servers 3 and …. The nodes deployed in the server 1 include: node 11, node 12, node 13, …, the nodes deployed in server 2 include node 21, node 22, node 23, …, and the nodes deployed in server 3 include: node 31, node 32, nodes 33, …. The distributed unified coordinator may store information about servers in the server cluster, such as: server number, server location, hardware information, load information, etc., and information about nodes deployed in the server, such as: node location, number of nodes, load information, etc.
The terminal device in the application comprises, but is not limited to: tablet computers, personal computers, smart wearable devices, cell phones, personal digital assistants, and the like.
In order to illustrate the technical scheme of the application, the following description is made by specific examples.
Referring to fig. 2, fig. 2 is a flow chart of a load balancing method provided by an embodiment of the present application, where in the embodiment of the present application, the method includes:
s201, receiving a query request.
Specifically, the query request is used to query the distributed search engine for target data, the types of which include, but are not limited to: document, video, picture, etc. The type of query request may be an HTTP (HyperText Transfer Protocol ) request. The server cluster comprises a plurality of servers, and the servers can be Windows servers, unix servers or Linux servers, etc., and the application is not limited. The query request may carry one or more of an identification of each server included in the server cluster, an identification of a node deployed on each server, and a mapping relationship between the node and the server.
The front-end server may be a physical server or a virtual machine deployed in the physical server, which is not limited by the embodiment of the present application.
S202, selecting a target server from the server cluster.
Specifically, the front-end server determines the target server from the server cluster, and the method for determining the target server may be: the front-end server randomly selects one server from the server cluster as a target server, or monitors load information of each server in the server cluster, wherein the load information comprises but is not limited to: one or more of throughput, transfer rate, and CPU occupancy.
In one possible implementation, the front-end server randomly selects one server from the servers as the target server, for example: the server cluster consists of n servers, the numbers of each server are respectively 0, 1, 2, … and n-1, a random number is generated according to a random algorithm, then the random number is divided by n to obtain a remainder, and the obtained remainder is the selected server.
In another possible implementation manner, the front-end server monitors load information of each server in the server cluster, and takes the server with the minimum load information as a target server.
For example, the load information is a CPU occupancy rate, the server cluster is composed of a server 1, a server 2 and a server 3, the front-end server monitors that the CPU occupancy rate of the server 1 is 10%, the CPU occupancy rate of the server 2 is 20%, the CPU occupancy rate of the server 3 is 50%, and the front-end server determines that the load of the server 1 is the lightest, and the front-end server takes the server 1 as a target server.
S203, selecting one node from a plurality of nodes deployed by the target server as a total node.
Specifically, the target server comprises a plurality of nodes, the nodes represent core in SolrCloud, and the front-end server selects one node from the plurality of nodes deployed by the target server as a total selection node according to a preset selection rule. For other servers except the target server in the server cluster, the front-end server selects one node from a plurality of nodes of the target server according to a preset selection rule as a total node, wherein the total node is a node for intensively processing the query request and the query response in the server.
In one possible implementation, the front-end server randomly selects one node from a plurality of nodes of the target server as the total node.
For example, a plurality of nodes in the front-end server are numbered in advance, the numbers are 0, 1, 2, … and n respectively, the front-end server randomly generates a random number, and then the random number is divided by the number of the nodes in the target server to obtain a remainder, and the remainder is the number of the nodes.
In another possible implementation manner, the front-end server monitors load information of each node in the target server, and takes the node with the lightest load as the total node according to the load information.
For example, the nodes deployed in the target server are: the load information is the number of query requests, the number of query requests on the node 1 is 1000, the number of query requests on the node 2 is 1500, and the number of query requests on the node 3 is 500, which are detected by the front-end server.
The method for selecting the total node from the target server by the front-end server can be as follows: the target server randomly selects one node from a plurality of nodes as a total node, or the front-end server monitors load information of each node in the target server, wherein the load information comprises the number of inquiry requests, and the node with the smallest load is used as the total node.
S204, sending the query request to the total node.
Specifically, the front-end server can send a query request to the total node through an HTTP request, the total node responds to the query request, and the query request is sent to nodes except the total node in the target server to respond; and meanwhile, the total nodes send the query requests to all servers in the first server set, the total nodes corresponding to all servers in the first server set respectively respond to the query requests, and all the query requests are prevented from being processed by specific nodes, so that the load balance of the nodes on all the servers is realized.
According to the embodiment of the application, a query request is received, a target server is selected from a plurality of nodes deployed by the target server in a server cluster to be used as a total node, and the query request is sent to the total node; the received query request is sent to a certain node deployed in the server cluster, the node processes the query request, the problem of overload caused by processing the query request by a specific node each time in the prior art is solved, the query request in the application can be sent to any node in the server cluster for processing, the load balance of the nodes in the server cluster can be realized, and the response time of the query result is reduced.
Referring to fig. 3, a flowchart of a query method based on a distributed search engine according to an embodiment of the present application is provided, where in the embodiment of the present application, the method includes:
s301, receiving a query request.
Specifically, the query request carries a keyword, where the query request is used to query the corresponding target data according to the keyword, and the query request may be from a front-end server in the embodiment of fig. 2, or may be from a terminal device of a user, or from other devices, which is not limited in the embodiments of the present application. The application relates to a method for processing a query request and a query response in a target server, and particularly relates to a method for processing a query request and a query response in a centralized way, which is characterized in that a server where a total node is located is used for receiving the query request, wherein the total node is a logic entity for processing the query request and the query response in a centralized way in the target server, and the target server is a physical entity for processing the query request and the query response in a centralized way. The target server is any one of the servers in the server cluster selected according to a preset rule, for example: selecting a server with the least load in the server cluster as a target server; the server cluster comprises at least one first set of servers in addition to the target servers.
For example, referring to the distributed search engine shown in FIG. 1, a server cluster includes: the system comprises a server 1, a server 2 and a server 3, wherein a node 11, a node 12 and a node 13 are arranged in the server 1, a node 21, a node 22 and a node 23 are arranged in the server 2, a node 31, a node 32 and a node 33 are arranged in the server 3, the server 1 is assumed to be a target server, the node 11 is a total node, and the server 2 where the total node is located receives a query request from a front-end server 11.
S302, determining a master node corresponding to each server in the first server set.
Specifically, the first server set is a server except for the target server in the server cluster, for each server in the first server set, the nodes in the server are divided into a master node and a slave node, the master node is used for receiving the query request, distributing the query request, and merging records, and the slave node is mainly used for querying the corresponding records according to the query request.
For example, the server cluster includes a server 1, a server 2 and a server 3, the server 1 includes a node 11, a node 12 and a node 13, the server 2 includes a node 21, a node 22 and a node 23, the server 3 includes a node 31, a node 32 and a node 33, the node 11 in the server 1 is a total node, the node 21 in the server 2 is a master node, and the node 31 in the server 3 is a master node.
In one possible implementation, determining a master node of each server in the server cluster except for the server where the master node is located includes: one node is randomly selected from each server to be used as a master node.
For example, n nodes are deployed in the server, n is an integer greater than 1, the numbers of the n nodes are divided into 0, 1, 2, … and n, the total node generates a random number, the random number is divided by the number n of the nodes to obtain a remainder, the remainder is the number of the selected node, when the remainder is 0, the node with the number 0 is selected as the master node, and when the remainder is 1, the node with the number 1 is selected as the master node.
In another possible implementation manner, determining a master node of each server except a server where the total node is located in the server cluster includes: and monitoring the load information of each node in the server, and taking the node with the lightest load as a main node.
For example, 3 nodes are deployed in the server, node 11, node 12 and node 13, the total node monitors the number of query requests on node 11 to be 1000, the number of query requests on node 12 to be 2000, the number of query requests on node 13 to be 500, the total node determines that the load on node 13 is the lightest, and the total node selects node 13 as the master node, then node 11 and node 12 are slave nodes.
S303, sending a query request to a master node corresponding to each server in the first server set.
Specifically, the order in which the target server where the master node is located sends the query requests to the master node of each server other than the target server is not limited by the present application, for example: the target server may sequentially send the query requests from small to large according to the numbers of the servers, or the target server sequentially sends the query requests from large to small according to the numbers of the servers, or the target server simultaneously sends the query requests to the master nodes of the servers except the target server.
For example: according to the example of S302, node 21 is the master node in server 2, node 31 is the master node in server 3, node 11 sends a query request to node 21, node 11 sends a query request to node 31, node 21 receives a query request from node 11, and node 31 receives a query request from node 11.
S304, combining the records queried in the total node and at least one record queried from the node deployed in the target server to obtain a first record set.
And S305, combining the first record set and the second record set from each master node in the server cluster to obtain a third record set.
By implementing the embodiment of the application, the master node distributes the query request to the master node in the server, so that the master node distributes the query request to the slave nodes in the server where the master node is located again, the problem of processing bottleneck caused by the fact that the master node distributes the query request to all nodes in the server cluster in the prior art is solved, the load balance on each node is realized, and the processing overhead on the master node can be reduced, thereby improving the query efficiency and reducing the response time of the query.
Referring to fig. 4, another flow chart of a query method based on a distributed search engine according to an embodiment of the present application is provided, where in the embodiment of the present application, the method includes:
s401, receiving a query request.
Specifically, the query request carries a keyword, where the query request is used to query the corresponding target data according to the keyword, and the query request may come from a front-end server, or may come from a terminal device of a user, or come from other devices. The server where the master node is located receives the query request, and the server where the master node is located is called a target server, and at least one slave node is deployed in addition to the master node in the target server. The target server is one server in a server cluster, and the server cluster comprises at least one server in addition to the target server.
For example, a server cluster includes: server 1, server 2, server 3 and server 4, node 11 and node 12 are deployed in server 1, node 21 and node 22 are deployed in server 2, node 31 and node 32 are deployed in server 3, node 41 and node 42 are deployed in server 4, server 2 is the target server, node 21 is the total node in the target server, and server 2 receives the query request from the front-end server.
S402, querying at least one server deployed in a server cluster and nodes deployed in each server in a distributed unified coordinator.
Specifically, the distributed unified coordinator pre-stores or pre-configures configuration information representing a mapping relationship between the server cluster and the servers and a mapping relationship between the servers and the nodes, and the target server determines the servers deployed in the server cluster and the nodes deployed in each server according to the configuration information.
For example: the distributed unified coordinator is pre-stored or pre-configured with a mapping relationship between the server and the node, and role information of the node, for example, the mapping relationship is represented as the following table 1:
TABLE 1
S403, determining a master node corresponding to each server in the first server set.
Specifically, the first server set of the present application represents servers except for the target server in the server cluster, the number of the servers in the first server set is one or more, and the target server can determine the master node in the first server set according to a preset selection rule.
In one possible implementation, the target server randomly selects one node in the first set of servers as the master node, for example: for a certain server in the first server set, n nodes are deployed in the server, n is an integer greater than 1, the numbers of the n nodes are respectively 0, 1, 2, … and n, the target server generates a random number according to a preset random number generation method, the random number and the number n of the nodes are subjected to modulo to obtain a remainder, the range of the remainder is 0-n-1, and the remainder is used as the number of the main node.
In another possible implementation manner, for any one server in the first server set, the target server obtains load information of the server, and the target server may monitor load information of each node of the server deployment, or may obtain each node of the server deployment from the distributed unified coordinator, and take the node with the lightest load as a master node in the server.
S404, sending a query request to a master node corresponding to each server in the first server set.
Specifically, the order in which the target server sends the query requests to the first server set is not limited by the present application, for example: the target server sequentially sends the query requests from small to large according to the numbers of the servers, or the target server sequentially sends the query requests from large to small according to the numbers of the servers, or the target server simultaneously sends the query requests to the main nodes of all servers except the target server.
For example, according to the example of S401, the server 2 is the target server, the node 21 in the server 2 is the total node, the node 11 in the server 1 is the master node, the node 41 in the server 4 is the master node, the node 31 in the server 3 is the master node, and the total node 21 in the server 2 simultaneously sends the query request to the nodes 11, 31 and 41.
S405, combining the records queried in the total node and at least one record queried from the node deployed in the target server to obtain a first record set.
Specifically, the master node sends a query request to at least one slave node deployed in the target server. The master node can query each node in the target server in the distributed unified coordinator, and the role information of each node in the target server, wherein the role identified by the role information comprises the master node and the slave nodes, and the target server is provided with one master node and at least one slave node.
For example, the server 1 is deployed with a node 11, a node 12, and a node 13, where the node 11 is a master node, the node 12 and the node 13 are slave nodes, and the node 12 sends a query request to the node 11 and the node 12, where the query request is used to instruct the node 12 and the node 13 to query corresponding records, and the records include an id, a primary key, and a score of the target object.
The total node queries corresponding records in the index according to the query request, the records comprise id, primary key and score of the target object, and the number of the queried records can be multiple. The total node may rank the plurality of records in ascending or descending order according to the score.
The method comprises the steps that a master node receives records sent by at least one slave node deployed in a target server, the at least one slave node deployed in the server where the master node is located queries corresponding records in an index according to a query request, the records comprise id, a primary key and scores of a target object, and the master node receives the records sent by the at least one slave node. For example: according to the example of S304, node 11 receives records sent from node 12 and node 13. And combining the record queried by the master node and the record from at least one slave node deployed in a server where the master node is located to obtain a first record.
For example: the merging method can be as follows: the records inquired by the total node 11 and the records from at least one slave node are arranged in ascending order or descending order according to the scores, and the records with the preset quantity are taken as required records under the condition of ascending order; in the case of the descending order, the preceding preset number of records is taken as the required record. The preset number of values is not applied for limitation and can be set as needed.
S406, receiving a second record set sent by a master node corresponding to each server in the first server set in response to the query request.
Specifically, each master node in the first server set sends a second record set to the master node, wherein the second record set comprises at least one record, and the record comprises one or more of an ID, a master key and a score of target data.
S407, performing union collection operation on the records in the first record set and the second record set.
S408, the records after the union operation are arranged in ascending order according to the scores.
S409, selecting a first preset number of records to generate a third record set based on the ascending arrangement result.
Specifically, the merging process may refer to the description of S405, which is not repeated herein. The first preset number of records is the preset number of records with the largest score in the ascending arrangement result.
For example: node 11 obtains a first record set according to the query result, node 21 merges own record with the records of node 22 and node 23 to obtain a second record set, node 31 merges own record with the records of node 32 and node 33 to obtain a second record set, and node 11 merges the first record set, the second record set from node 21 and the second record set from node 31 to obtain a third record set.
S410, acquiring nodes where all records in the third record set are located.
Specifically, the target server may query the distributed unified coordinator for the node where each record in the third record set is located.
S411, sending a query request to the node where each record in the third record set is located.
S412, receiving a query result sent by the node where each record in the third record is located in response to the query request.
S413, combining the query results to obtain a final result.
By implementing the embodiment of the application, the master node distributes the query request to the master node in the server, so that the master node distributes the query request to the slave nodes in the server where the master node is located again, the problem of processing bottleneck caused by the fact that the master node distributes the query request to all nodes in the server cluster in the prior art is solved, the load balance on each node is realized, and the processing overhead on the master node can be reduced, thereby improving the query efficiency and reducing the response time of the query.
Referring to fig. 5, another flow chart of a query method based on a distributed search engine according to an embodiment of the present application is provided, where in the embodiment of the present application, the method includes:
s501, receiving a query request from a total node deployed in a target server.
Specifically, a master node in the server receives a query request from a master node, where the query request carries a keyword, and the server is configured with the master node and at least one slave node, where the master node is a node on the target server determined in the embodiment of fig. 2. The query request is used to request a query in a distributed search engine for target data, the types of target data including, but not limited to, one or more of documents, pictures, audio, and video.
S502, combining the records inquired on the master node and the records inquired on at least one slave node associated with the master node to obtain a second record set.
Specifically, the second record set includes at least one record, where the record represents one or more of an ID, a primary key, and a score of the target data, and the server may combine the records in a score ordering manner.
In one possible implementation, the record queried on the master node and the record queried on the at least one slave node are subjected to a union operation; the records after the union operation are arranged in descending order according to the scores; selecting a first preset number of records based on the ascending results to generate a second record set, wherein the first preset number of records are the preset number of records with the largest scores in the ascending results; or the records after the union operation are arranged in ascending order according to the scores; and selecting a second preset number of records based on the descending order of the results to generate a second record set, wherein the second preset number of records is the preset number of records with the largest scores in the descending order of the results.
S503, sending the second record set to the total node deployed by the target server.
In particular, the master node in the server may send the second record set using HTTP protocol, TCP (Transmission Control Protocol transmission control protocol) protocol or UDP (User Datagram Protocol, user packet protocol) protocol.
According to the embodiment of the application, the main node in the server receives the query request from the total node, and then secondarily distributes the query request to other nodes in the server, and the main node bears part of the processing cost of the total node, so that the load balance among all the nodes is realized, the processing cost of the total node is reduced, the query efficiency can be improved, and the query response time can be reduced.
Referring to fig. 6A, a specific schematic diagram of a distributed search system according to an embodiment of the present application is provided, where in the embodiment of the present application, the distributed search system includes: terminal equipment 1 to terminal equipment 3, front-end server 11, server 1 to server 3, node 11 and node 12 are disposed in server 1, node 21 and node 22 are disposed in server 2, and node 31 and node 32 are disposed in server 3. Wherein, the server 1 is a target server, the node 11 is a total node, the node 21 is a master node in the server 2, and the node 31 is a master node in the server 3.
Based on the structural schematic diagram of the distributed search system in fig. 6A, fig. 6B illustrates in detail a query method based on a distributed search engine according to an embodiment of the present application:
s601, the terminal device 1 transmits a query request to the front end server 4, and the front end server 4 receives the query request from the terminal device 1.
S602, the front-end server 4 selects the server 1 as a target server.
S603, the front-end server 4 selects the node 11 as a total node.
S604, the front end server 4 sends a query request to the node 11, and the node 11 receives the query request from the front end server 4.
S605, the node 11 selects the node 21 in the server 2 and the node 31 in the server 3 as the master nodes.
S606, the node 11 transmits a query request to the node 21, and the node 21 receives the query request from the node 11.
S607, the node 11 transmits a query request to the node 31, and the node 31 receives the query request from the node 11.
The order of execution of S606 and S607 is not limited by the present application, S606 may be executed prior to S607, S606 may be executed after S607, S606 may be executed simultaneously with S607, and the present application is not limited by the present application.
S608, the node 11 queries the record. Wherein, the node 11 queries the corresponding record according to the query request.
S609, the node 11 transmits a query request to the node 12, and the node 12 receives the query request from the node 11.
S610, the node 12 queries the record.
S611, the node 12 transmits the record to the node 11, and the node 12 receives the record from the node 11.
Wherein the record sent by the node 12 is a record queried according to the query request.
S612, the node 11 merges the records to obtain a first record set. Wherein the node 11 merges the record queried by itself with the record from the node 12 to obtain a first record set.
S613, the node 21 queries the record. Wherein the node 21 queries the corresponding record according to the query request.
S614, node 21 transmits a query request to node 22, and node 22 receives the query request from node 21.
S615, node 22 queries the record.
S616, node 22 transmits the record to node 21.
S617, the node 21 merges the records to obtain a second record set. Wherein node 21 merges the records queried by itself with the records from node 22 to obtain a second record set.
S618, the node 31 queries the record.
S619, the node 31 transmits a query request to the node 32, and the node 32 receives the query request from the node 31.
S620, the node 32 queries the record.
S621, the node 32 transmits the record to the node 31, and the node 31 receives the record from the node 32.
S622, the node 31 merges the records to obtain a second record set. Wherein the node 31 merges the record queried by itself with the record from the node 32 to obtain a second record set.
S623, node 31 sends the second record set to node 11, and node 11 receives the second record set from node 31.
S624, the node 21 sends the second record set to the node 11, and the node 11 receives the second record set from the node 21.
S625, the node 11 combines the first record set and the second record set to obtain a third record set. Wherein node 11 merges the first record set generated by itself with the second record set from node 21 and node 31 to obtain a third record set.
By implementing the embodiment of the application, the master node distributes the query request to the master node in the server, so that the master node distributes the query request to the slave nodes in the server where the master node is located again, the problem of processing bottleneck caused by the fact that the master node distributes the query request to all nodes in the server cluster in the prior art is solved, the load balance on each node is realized, and the processing overhead on the master node can be reduced, thereby improving the query efficiency and reducing the response time of the query.
Fig. 2 to fig. 6B illustrate in detail a query method based on a distributed search engine according to an embodiment of the present application.
Referring to fig. 7, fig. 7 is a schematic structural diagram of an apparatus according to an embodiment of the present application, where the apparatus 7 may include a receiving unit 301, a processing unit 302, and a transmitting unit 303.
Embodiment one: the device 7 is a front-end server.
A receiving unit 301, configured to receive a query request.
A processing unit 302, configured to select a target server from a server cluster; wherein the target server has a plurality of nodes deployed.
The processing unit 302 is further configured to select one node from the plurality of nodes deployed by the target server as a total node;
a sending unit 303, configured to send the query request to the total node; the query request is used for instructing the total node to send the query request to each server in a first server set for processing, and the first server set comprises servers except the target server in the server cluster.
Optionally, the selecting, by the processing unit 302, the target server in the server cluster includes:
randomly selecting a server from the server cluster as the target server; or (b)
Monitoring load information of each server in the server cluster;
and selecting the server with the least load in the server cluster as the target server.
Optionally, the processing unit 302 selects one node from the plurality of nodes deployed by the target server as a total node, including:
randomly selecting one node from a plurality of nodes deployed by the target server as a total node; or (b)
Monitoring load information corresponding to each of a plurality of nodes deployed in the target server;
and taking the node with the least load of the nodes deployed in the target server as a total node.
Embodiment two: the device 7 is a target server.
A receiving unit 301, configured to receive a query request.
A processing unit 302, configured to determine a master node corresponding to each server in the first server set; the target server is located in the server cluster, and is deployed with a master node and at least one slave node.
A sending unit 303, configured to send a query request to a master node corresponding to each server in the first server set;
the processing unit 302 is further configured to combine the record queried in the total node with at least one record queried from the node deployed in the target server, to obtain a first record set.
The receiving unit 301 is further configured to receive a second record set sent by a master node corresponding to each server in the first server set in response to the query request;
the processing unit 302 is further configured to combine the first record set and the second record set to obtain a third record set.
Optionally, the processing unit 302 determines a master node corresponding to each server in the first server set, including:
randomly selecting one node from at least one node deployed in a server as a master node; or (b)
Detecting load information corresponding to each of at least one node deployed by the server;
the node with the least load is selected as the master node.
Optionally, the processing unit 302 is further configured to:
querying at least one server deployed in the server cluster and nodes deployed in each server in a distributed unified coordinator.
Optionally, the processing unit 302 merges the first record set and the second record set to obtain a third record set, including:
performing a union operation on the records in the first record set and the second record set;
the records after the union collection operation are arranged in ascending order according to the scores;
Selecting a first preset number of records based on the ascending arrangement result to generate a third record set, wherein the first preset number of records is the preset number of records with the largest score in the ascending arrangement result; or (b)
The records after the union operation are arranged in descending order according to the scores;
and selecting a second preset number of records based on the descending order of the results to generate a third record set, wherein the second preset number of records is the preset number of records with the largest scores in the descending order of the results.
Optionally, the processing unit 302 is further configured to obtain a node where each record in the third record set is located;
the sending unit 303 is further configured to send a query request to a node where each record in the third record set is located;
the receiving unit 301 is further configured to receive a query result sent by a node where each record in the third record is located in response to a query request.
The processing unit 302 is further configured to combine the query results to obtain a final result.
Embodiment III: the device 7 is a server.
A receiving unit 301, configured to receive a query request from a total node deployed in a target server.
A processing unit 302, configured to combine the record queried on the master node with the record queried on the at least one slave node associated with the master node to obtain a second record set;
And a sending unit 303, configured to send the second record set to a total node deployed in the target server.
Optionally, the processor 302 combines the record queried on the master node with the record queried on the at least one slave node associated with the master node to obtain the second record set includes:
performing union collection operation on the records queried on the master node and the records queried on the at least one slave node;
the records after the union collection operation are arranged in ascending order according to the scores;
selecting a first preset number of records to generate a second record set based on the ascending results, wherein the first preset number of records are the preset number of records with the largest scores in the ascending results; or (b)
The records after the union operation are arranged in descending order according to the scores;
and selecting a second preset number of records based on the descending order of the results to generate a second record set, wherein the second preset number of records is the preset number of records with the largest scores in the descending order of the results.
The device 7 may be a server, the device 7 may also be a field-programmable gate array (FPGA), application specific integrated chip, system on chip (SoC), central processing unit (central processor unit, CPU), network processor (network processor, NP), digital signal processing circuit, microcontroller (micro controller unit, MCU), programmable controller (programmable logic device, PLD) or other integrated chip that implements the relevant functions.
The embodiment of the present application and the method embodiment of fig. 2 to 6B are based on the same concept, and the technical effects brought by the same concept, and the specific process can refer to the description of the method embodiment of fig. 2 to 6B, which is not repeated here.
Fig. 8 is a schematic structural diagram of a device provided by an embodiment of the present application, hereinafter referred to as device 8, where the device 8 may be integrated in the foregoing server, as shown in fig. 8, and the device includes: memory 802, processor 801, and transceiver 803.
The memory 802 may be a separate physical unit, and may be connected to the processor 801 and the transceiver 803 via a bus. The memory 802, the processor 801, the transceiver 803 may also be integrated together, implemented in hardware, or the like.
The memory 802 is used to store a program implementing the above method embodiment, or the respective modules of the apparatus embodiment, and the processor 801 calls the program to perform the operations of the above method embodiment.
Alternatively, when part or all of the query method based on the distributed search engine of the above embodiment is implemented by software, the apparatus may include only the processor. The memory for storing the program is located outside the device and the processor is connected to the memory via a circuit/wire for reading and executing the program stored in the memory.
The processor may be a central processor (central processing unit, CPU), a network processor (network processor, NP) or a combination of CPU and NP.
The processor may further comprise a hardware chip. The hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (programmable logic device, PLD), or a combination thereof. The PLD may be a complex programmable logic device (complex programmable logic device, CPLD), a field-programmable gate array (field-programmable gate array, FPGA), general-purpose array logic (generic array logic, GAL), or any combination thereof.
The memory may include volatile memory (RAM), such as random-access memory (RAM); the memory may also include a nonvolatile memory (non-volatile memory), such as a flash memory (flash memory), a hard disk (HDD) or a Solid State Drive (SSD); the memory may also comprise a combination of the above types of memories.
In the above embodiments, the transmitting unit or the transmitter performs the steps of transmitting the above embodiments of the method, the receiving unit or the receiver performs the steps of receiving the above embodiments of the method, and other steps are performed by other modules or processors. The transmitting unit and the receiving unit may constitute a transceiving unit, and the receiver and the transmitter may constitute a transceiver.
The embodiment of the application also provides a computer storage medium which stores a computer program, and the computer program is used for executing the query method of the distributed search engine provided by the embodiment.
The embodiment of the application also provides a computer program product containing instructions, which when run on a computer, cause the computer to execute the query method of the distributed search engine provided by the embodiment.
It will be appreciated by those skilled in the art that embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.

Claims (8)

1. A distributed search engine-based query method, comprising:
receiving a query request, wherein the query request is used for querying target data in a distributed search engine;
monitoring load information corresponding to at least one node deployed by each server in a first server set, and selecting the node with the lightest load as a master node, wherein the first server set comprises servers except for a target server in a server cluster, the target server is located in the server cluster, the target server is deployed with a total node and at least one slave node, the target server is determined based on the load information of each server in the server cluster, the target server is the server with the lightest load in the server cluster, the total node is determined based on the load information corresponding to each of a plurality of nodes deployed in the target server, the total node is the node with the lightest load in a plurality of nodes of the target server, the total node is used for intensively processing query requests and query responses, the load information of each server is CPU occupation rate, and the load information corresponding to each of the plurality of nodes is the number of query requests;
Sending the query request to a master node corresponding to each server in the first server set;
the records inquired in the total node and at least one record inquired from the node deployed in the target server are arranged in ascending order or descending order according to the score; under the condition of ascending arrangement, taking the preset number of records at the back as a first record set; taking the previous preset number of records as a first record set under the condition of descending order;
receiving a second record set sent by a main node corresponding to each server in the first server set in response to the query request;
performing a union operation on the records in the first record set and the second record set; the records after the union collection operation are arranged in ascending order according to the scores; selecting a first preset number of records based on the ascending arrangement result to generate a third record set, wherein the first preset number of records is the preset number of records with the largest score in the ascending arrangement result; or, the records after the union operation are arranged in descending order according to the scores; selecting a second preset number of records based on the descending order of the results to generate a third record set, wherein the second preset number of records is the preset number of records with the largest scores in the descending order of the results;
Acquiring the node where each record in the third record set is located;
sending a query request to the node where each record in the third record set is located;
receiving a query result sent by a node where each record in the third record is located in response to a query request;
and combining the query results to obtain a final result.
2. The method of claim 1, wherein prior to determining the master node for each server in the first set of servers, the method further comprises:
querying at least one server deployed in the server cluster and nodes deployed in each server in a distributed unified coordinator.
3. A distributed search engine-based query method, comprising:
receiving a query request from a total node deployed in a target server, wherein the target server is determined based on load information of each server in a server cluster, the target server is the server with the lightest load in the server cluster, the total node is determined based on load information corresponding to each of a plurality of nodes deployed in the target server, the total node is the node with the lightest load in the plurality of nodes of the target server, the total node is used for intensively processing the query request and the query response, the load information of each server is CPU occupancy rate, the load information corresponding to each of the plurality of nodes is the number of the query requests, the query request is used for querying target data in a distributed search engine, and the target server is deployed with the total node and at least one slave node;
Performing union collection operation on records queried on a master node and records queried on at least one slave node associated with the master node, wherein the master node is determined based on load information of at least one node deployed by each server in a server set, the master node is the node with the lightest load in the at least one node, and the server set comprises servers except a target server in a server cluster;
the records after the union collection operation are arranged in ascending order according to the scores; selecting a first preset number of records to generate a second record set based on the ascending results, wherein the first preset number of records are the preset number of records with the largest scores in the ascending results; or, the records after the union operation are arranged in descending order according to the scores; and selecting a second preset number of records based on the descending order of the results to generate a second record set, wherein the second preset number of records is the preset number of records with the largest scores in the descending order of the results.
4. A server, wherein the server is a target server, the target server comprising:
a receiving unit, configured to receive a query request, where the query request is used to query target data in a distributed search engine;
The processing unit is used for monitoring load information corresponding to at least one node deployed by each server in a first server set, and selecting the node with the lightest load as a master node, wherein the first server set comprises servers except for a target server in a server cluster, the target server is positioned in the server cluster, the target server is deployed with a total node and at least one slave node, the target server is determined based on the load information of each server in the server cluster, the target server is the server with the lightest load in the server cluster, the total node is determined based on the load information corresponding to each of a plurality of nodes deployed in the target server, the total node is the node with the lightest load in a plurality of nodes of the target server, the total node is used for intensively processing query requests and query responses, the load information of each server is CPU occupation rate, and the load information corresponding to each of the plurality of nodes is the number of query requests;
a sending unit, configured to send the query request to a master node corresponding to each server in the first server set;
The processing unit is further configured to rank up or down the records queried in the total node and at least one record queried from a node deployed in the target server according to the score; under the condition of ascending arrangement, taking the preset number of records at the back as a first record set; taking the previous preset number of records as a first record set under the condition of descending order;
the receiving unit is further configured to receive a second record set sent by a master node corresponding to each server in the first server set in response to the query request;
the processing unit is further used for performing union collection operation on the records in the first record set and the second record set; the records after the union collection operation are arranged in ascending order according to the scores; selecting a first preset number of records based on the ascending arrangement result to generate a third record set, wherein the first preset number of records is the preset number of records with the largest score in the ascending arrangement result; or, the records after the union operation are arranged in descending order according to the scores; selecting a second preset number of records based on the descending order of the results to generate a third record set, wherein the second preset number of records is the preset number of records with the largest scores in the descending order of the results;
The processing unit is further configured to obtain a node where each record in the third record set is located;
the sending unit is further configured to send a query request to a node where each record in the third record set is located;
the receiving unit is further configured to receive a query result sent by a node where each record in the third record is located in response to a query request;
and the processing unit is also used for combining the query results to obtain a final result.
5. The server of claim 4, wherein the processing unit is further configured to:
querying at least one server deployed in the server cluster and nodes deployed in each server in a distributed unified coordinator.
6. A server, comprising:
a receiving unit, configured to receive a query request from a total node deployed in a target server, where the target server is determined based on load information of each server in a server cluster, the target server is a server with a lightest load in the server cluster, the total node is determined based on load information corresponding to each of a plurality of nodes deployed in the target server, the total node is a node with a lightest load in the plurality of nodes of the target server, the total node is configured to centrally process the query request and the query response, the load information of each server is a CPU occupancy rate, the load information corresponding to each of the plurality of nodes is a query request number, and the query request is configured to query target data in a distributed search engine, and the target server is deployed with the total node and at least one slave node;
The processing unit is used for carrying out union collection operation on records inquired on a master node and records inquired on at least one slave node related to the master node, the master node is determined based on load information of at least one node deployed by each server in a server set, the master node is the node with the lightest load in the at least one node, and the server set comprises servers except for a target server in a server cluster; the records after the union collection operation are arranged in ascending order according to the scores; selecting a first preset number of records to generate a second record set based on the ascending results, wherein the first preset number of records are the preset number of records with the largest scores in the ascending results; or, the records after the union operation are arranged in descending order according to the scores; selecting a second preset number of records based on the descending order of the results to generate a second record set, wherein the second preset number of records is the preset number of records with the largest scores in the descending order of the results;
and the sending unit is used for sending the second record set to the total node deployed in the target server.
7. A server comprising a processor and a memory, wherein the memory is adapted to store a computer program, the computer program comprising program instructions, the processor being adapted to invoke the program instructions to perform the method of any of claims 1-3.
8. A computer readable storage medium, characterized in that the computer readable storage medium stores a computer program comprising program instructions which, when executed by a processor, cause the processor to perform the method of any of claims 1-3.
CN201910613288.2A 2019-07-09 2019-07-09 Query method based on distributed search engine, server and storage medium Active CN110471947B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910613288.2A CN110471947B (en) 2019-07-09 2019-07-09 Query method based on distributed search engine, server and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910613288.2A CN110471947B (en) 2019-07-09 2019-07-09 Query method based on distributed search engine, server and storage medium

Publications (2)

Publication Number Publication Date
CN110471947A CN110471947A (en) 2019-11-19
CN110471947B true CN110471947B (en) 2023-11-10

Family

ID=68507111

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910613288.2A Active CN110471947B (en) 2019-07-09 2019-07-09 Query method based on distributed search engine, server and storage medium

Country Status (1)

Country Link
CN (1) CN110471947B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112433842B (en) * 2020-04-15 2022-04-19 上海哔哩哔哩科技有限公司 Method and equipment for distributing master node and slave node in service cluster
CN111708935A (en) * 2020-05-15 2020-09-25 深圳市世强元件网络有限公司 Multi-node word segmentation system and method for keyword search
CN113836186B (en) * 2021-09-28 2023-10-10 北京环境特性研究所 Simulation data query method and device based on ES search engine

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101950300A (en) * 2010-09-20 2011-01-19 华南理工大学 Hierarchical structure, distributed search engine system and implementation method thereof
CN102289508A (en) * 2011-08-31 2011-12-21 上海西本网络科技有限公司 Distributed cache array and data inquiry method thereof
CN106844405A (en) * 2015-12-07 2017-06-13 杭州海康威视数字技术股份有限公司 Data query method and apparatus
CN108205561A (en) * 2016-12-19 2018-06-26 北京国双科技有限公司 data query system, method and device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101950300A (en) * 2010-09-20 2011-01-19 华南理工大学 Hierarchical structure, distributed search engine system and implementation method thereof
CN102289508A (en) * 2011-08-31 2011-12-21 上海西本网络科技有限公司 Distributed cache array and data inquiry method thereof
CN106844405A (en) * 2015-12-07 2017-06-13 杭州海康威视数字技术股份有限公司 Data query method and apparatus
CN108205561A (en) * 2016-12-19 2018-06-26 北京国双科技有限公司 data query system, method and device

Also Published As

Publication number Publication date
CN110471947A (en) 2019-11-19

Similar Documents

Publication Publication Date Title
CN110471947B (en) Query method based on distributed search engine, server and storage medium
CN110716796B (en) Intelligent task scheduling method and device, storage medium and electronic equipment
US9396154B2 (en) Multi-core processor for managing data packets in communication network
US20090235250A1 (en) Management machine, management system, management program, and management method
CN110650209B (en) Method and device for realizing load balancing
CN111327647A (en) Method and device for providing service to outside by container and electronic equipment
CN111046045A (en) Method, device, equipment and storage medium for processing data tilt
CN105868218B (en) A kind of data processing method and electronic equipment
CN104395890A (en) System and method for providing low latency to applications using heterogeneous processors
CN111159219A (en) Data management method, device, server and storage medium
CN108595483B (en) Data processing method and related device
EP2840499A1 (en) Parallel computer system, control program for management device, and method of controlling parallel computer system
CN110069406B (en) Automatic triggering TPC-DS test method and system
CN114003337A (en) Access request distribution method and device
CN110035128A (en) A kind of live streaming dispatching method, device, live broadcast system and storage medium
CN111400301A (en) Data query method, device and equipment
CN111159131A (en) Performance optimization method, device, equipment and computer readable storage medium
CN106534247B (en) The method and apparatus of list downloading
CN107634978B (en) Resource scheduling method and device
CN114095571A (en) Data processing method, data service bus, terminal and storage medium
JP2018013994A (en) Program, computer and information processing method
CN111131497B (en) File transmission method and device, electronic equipment and storage medium
CN111427682B (en) Task allocation method, system, device and equipment
US10193965B2 (en) Management server and operation method thereof and server system
CN109510855B (en) Event distribution system, method and device

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