WO2011035608A1 - 一种数据查询***及其构建方法与相应的数据查询方法 - Google Patents
一种数据查询***及其构建方法与相应的数据查询方法 Download PDFInfo
- Publication number
- WO2011035608A1 WO2011035608A1 PCT/CN2010/073521 CN2010073521W WO2011035608A1 WO 2011035608 A1 WO2011035608 A1 WO 2011035608A1 CN 2010073521 W CN2010073521 W CN 2010073521W WO 2011035608 A1 WO2011035608 A1 WO 2011035608A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- query
- query component
- component
- client
- client request
- Prior art date
Links
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/2455—Query execution
-
- 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/21—Design, administration or maintenance of databases
- G06F16/217—Database tuning
Definitions
- the present invention relates to the field of data query, and in particular, to a data query system, a method for constructing the same, and a corresponding data query method.
- the client can be a graphical user interface ( Graphical User Interface) , GUI ), client or web client
- GUI Graphical User Interface
- client or web client these client requests often involve large-scale data network delivery, and the returned data also needs to be processed such as logic calculation, merging and sorting.
- the collected performance data is processed and stored in the performance report.
- the query component first needs to query the performance data in the performance report that meets the conditions from the background database.
- the performance data is passed back from the background through the network, and the returned performance data is encapsulated into a data structure suitable for GUI display through some logic calculations; if it is a distributed system, it also receives data from different data sources.
- the data query system merges and is finally provided to the GUI for display.
- query components generally use a direct build method and are logically unique, that is, a data query system has only one query component, and all client requests (including GUI client and web client client) Requests are processed in this query component, and there are often cases where the service cannot respond in time due to an increase in requests, thereby reducing processing efficiency.
- the query component is not scalable, not scalable, and can not improve the efficiency of request processing by adding hardware devices, affecting the availability of the system itself.
- the technical problem to be solved by the present invention is to provide a data query system and its construction method and corresponding The data query method ensures the high availability of the data query system.
- the present invention provides a data query system, including a client, the data query system further includes a query component agent and one or more query components connected to the query component agent; wherein, the client The end is configured to: send a client request to the query component proxy, and receive a processing result of the query component; the query component proxy is set to: save the query component number of the query component, query the component instance, and query the component client Requesting a load situation, and updating a client request load condition of the saved query component according to a client request load condition of the query component reported by the query component; and receiving the client request, and selecting a query according to the principle of load balancing Returning the component to the client; the query component is configured to send a query component number to the query component agent to register with the query component instance, and report the client request load condition of the query component; and when the query component is Query processing component agent selected The query component when processing the client request and returns a processing result to the client.
- the client request load condition is the number of client requests being processed on
- the client request load condition is a processing weight of a client request on the query component
- the load balancing principle is that a processing weight of the client request currently being processed on the query component is the smallest.
- the data query system further includes a query component number allocator and a load balancing controller; wherein, the query component number allocator is set to: when the query component is started, assigning the query component a unique one is not otherwise Querying the component number occupied by the component; the load balancing controller is configured to: send a startup instruction to the query component to indicate that the query component is started during the running of the data query system.
- the load balancing controller is configured to send a startup finger to the query component as follows And: sending a startup instruction to the query component according to the received control command of the user, or the load balancing controller is further configured to: set a startup threshold according to the data query system operation indicator; and the load balancing controller is set to press
- the startup instruction is sent to the query component as follows:
- the load balancing controller monitors the running status of the data query system, and if the data query system operation indicator reaches the startup threshold, sends a startup instruction to the query component.
- the operation index of the data query system is the usage scale of the data query system, the responsiveness of the client request, the number of client requests, the calculation amount of the client request supported by the system, the time spent by the CPU during processing, and the occupied resources. One or more.
- the present invention further provides a method for constructing the foregoing data query system, which specifically includes the following steps: starting a query component proxy and starting one or more query components, the query component being started to the query component
- the agent sends the query component number to register with the query component instance, and the client requests the load condition of the query component, and the query component agent saves the query component number, the query component instance, and the client of the query component.
- the step of initiating one or more query components includes: starting all query components simultaneously when the data query system starts running; or, before the step of starting one or more query components, the method further includes: setting a load balancing controller The load balancing controller sets a startup threshold according to the data query system operation indicator; and the step of starting the one or more query components includes: the load balancing controller is configured during the operation of the data query system
- the query component sends a startup instruction, indicating that the query component is started;
- the load balancing controller sends a startup command to the query component according to the received control command of the user, or the load balancing controller monitors the running status of the data query system, and if the data query system operation indicator reaches the startup threshold Sending a start command to the query component.
- the operation index of the data query system is the usage scale of the data query system, the responsiveness of the client request, the number of client requests, the calculation amount of the client request supported by the system, the time spent by the CPU during processing, and the occupied resources.
- the client request load condition is the number of client requests being processed on the query component, and the load balancing principle is that the number of client requests currently being processed on the query component is the least;
- the client request load condition is a processing weight of a client request on the query component
- the load balancing principle is that a processing weight of the client request currently being processed on the query component is the smallest.
- the step of the query component agent storing the query component number, the query component instance, and the client request load condition of the query component includes: the query component agent initializing two hash tables, the first hash table And a mapping relationship between the query component number and the query component instance, where the second hash table is configured to save a mapping relationship between the query component number and a client request load condition on the query component; and the query After receiving the registration of the query component, the component proxy saves the mapping relationship between the query component number and the query component instance in the first hash table; and updates the saved client according to the client request load reported by the query component.
- the step of requesting the load condition includes: the query component agent receiving a periodic heartbeat contact of the query component, and periodically updating a client request load condition on the query component in the second hash table.
- the method further includes: the query component processing the client request, and returning the processing result to the client; the query component before the step of processing the client request by the query component
- the step of updating the client request load condition includes: counting, by the query component, the number of client requests being processed plus a count unit value; and before the step of querying the component returning the processing result to the client, the query component updates the Guest
- the step of the client requesting the load condition further includes: reducing the number of client requests being processed by the query component by one of the count unit values.
- the step of the query component sending the query component number to the query component agent to register with the query component instance, and reporting the client request load status of the query component includes: A. The query component starts a timer;
- step B determines whether the registration with the query component agent is successful. If not, the step C is performed; if successful, determining that the client request load is sent to the query component last time. Whether it is successful; if successful, step D is performed, otherwise step C is performed; C, the query component registers with the query component proxy, and returns to step B;
- the query component sends the client request load status to the query component proxy, and returns to step 8.
- the present invention further provides a data query method, including the following steps: a client sends a client request to a query component proxy; the query component proxy selects a query component according to the principle of load balancing, and The query component is returned to the client; the query component processes the client request and returns the processing result to the client.
- the client request load condition is the number of client requests being processed on the query component, and the load balancing principle is that the number of client requests currently being processed on the query component is the least;
- the client request load condition is a processing weight of a client request on the query component
- the load balancing principle is that a processing weight of the client request currently being processed on the query component is the smallest.
- the above data query system and data query method ensure high availability of the data query system, To overcome the shortcomings of the existing data query system, when the client request increases, the single query component cannot respond in time.
- FIG. 1 is a flow chart of saving and updating a mapping relationship after a query component agent is started according to an embodiment of the present invention
- FIG. 2 is a dynamic startup of a query component according to an embodiment of the present invention, and registering and reporting a query component number and a client request load situation
- FIG. 3 is a flowchart of a query component agent acquiring a query component according to a load balancing principle according to an embodiment of the present invention
- FIG. 4 is a flowchart of a data query method according to an embodiment of the present invention.
- the data query system in this embodiment includes a client, a query component proxy, and one or more query components connected to the query component proxy; wherein, the client is configured to: send a client request to the query component proxy; query component The proxy is set to: save the query component number of the query component, the query component instance, and the load condition of the query component, and update according to the client request load condition of the query component reported by the query component; and receive the client request, and according to the load balancing
- a query component is selected and returned to the client; the query component is set to: send the query component number to the query component proxy to register with the query component instance, report the client request load status of the query component, and process the client request and process the result.
- the data query system may further include: a query component number allocator and a load balancing controller; wherein, the query component number allocator is set to: assign a unique query group to the other query group
- the load balancing controller is set to: the load balancing controller is configured to: during the running of the data query system, send a startup instruction to the query component according to the data query system operation indicator or according to the received user control command, and instruct the query component to start;
- the load balancing controller may send a startup instruction to the query component according to the received user control command, and the load balancing controller may further set the startup threshold according to different data query system operation indicators, and monitor the running status of the data query system.
- the data query system operation indicator may be the use scale of the data query system, the responsiveness of the client request, the number of client requests, and system support. One or more of the amount of computation requested by the client, the time spent by the CPU at the time of processing, and the resource usage.
- this embodiment provides a method for constructing the above data query system; this embodiment extends an original query component into one or more query components, and creates a query component agent for managing the one or more Query components; each of the query components can be set to handle all types of client requests, without limiting the type of client requests that each query component can handle; the query component agent is also used to receive client requests, and The principle of load balancing selects the query component to return to the client that sends the request; thus, it can be seen that the client request in this embodiment is not directly sent to the query component.
- the construction method of this embodiment specifically includes the following steps: Step 1: Start a query component agent and one or more query components, and after the query component starts, send a query component number and a query component instance to the query component agent to register, and query the component.
- the client requests the load
- the query component agent saves the query component number of the query component, the query component instance, and the mapping relationship with the client request load of the query component, and updates the client request load according to the report component report.
- the query component periodically determines the registration status to the query component agent, and the period sexually report the client request load status for the query component agent to update; this can make the coupling between the various parts of the system smaller and more fault-tolerant.
- it can also be other implementation manners, such as the query component receiving a client request to make a judgment.
- the query component periodically determines the registration status of the query component agent, and periodically reports the client request load status for the query component agent to update. Specifically, when a query component is started, the query component queries the component. The number and the query component instance are sent to the query component proxy to register with the query component proxy; the query component proxy receives the registration of the query component, and saves the mapping relationship between the query component number of the query component and the query component instance; the query component agent manages one or Multiple query components, and receiving client requests; wherein, management includes receiving registrations of the initiated query components, saving query component numbers, querying component instances, and mapping the client component load conditions of the query components, and updating the client request load Situation; among them,
- the query component agent selects the query component according to the load condition of the client request, and finds Querying the component instance (instance), so that the query component represented by the query component instance is returned to the client;
- FIG. 1 is a specific embodiment of saving and updating the mapping relationship after the query component agent starts, in this embodiment, the query component is
- the client request load condition is the number of client requests being processed on the query component, and specifically includes the following steps: Step 101: The query component agent initializes two hash tables, and a hash table QRYS is used to save the query component number and the query component instance.
- a hash table QRYN is used to save the mapping relationship between the query component number and the number of client requests being processed on the query component; in another embodiment, the query component number, the query component instance, and each can also be Query the mapping of the request being processed on the component Saved in a table;
- Step 102 The query component agent receives the registration of the query component, and saves the mapping relationship between the query component number and the query component instance in the hash table QRYS;
- Step 103 The query component agent receives the periodic heartbeat contact of the query component, and the query component passes the query component number and the number of client requests being processed by the query component as parameters to the query component proxy, and the query component proxy updates the hash table QRY.
- the component number and the number of client requests being processed by the query component may periodically update the query component number in the hash table QRYN and the number of client requests being processed by the query component; or may be a real-time update, or the query component agent may instruct the query component to send the processing as needed.
- There are several implementation methods such as the number of client requests.
- the equalization controller dynamically starts the query component according to the data query system operation index or according to the received user control command, and the startup of each query component is independent; wherein the load balancing controller is configured to send a startup instruction to the query component, Instructing the query component to start; further, the load balancing controller may send a startup instruction to the query component according to the received user control command, and the load balancing controller may further set the startup threshold according to different data query system operation indicators, and monitor the data.
- Query system operation The situation, if the data query system running indicator reaches the threshold, sending a start instruction to the query component; wherein, the data query system operation indicator may be the use scale of the data query system, the responsiveness of the client request, the number of client requests, The amount of calculation requested by the system for the client request, the time spent by the CPU at the time of processing, and one or more of the resources.
- FIG. 2 shows a preferred embodiment of the query component dynamically starting, and registering and uploading the component number and the client request load.
- the specific steps include the following steps: Step 201: The query component acquires one that is not occupied by other query components.
- Query component number can be assigned to the query component by a query component number allocator; the query component allocator is set to: assign a unique query component number to the query component that is not occupied by other query components;
- the query component number can also be pre-configured into the query component. In this case, step 201 can be saved.
- Step 202 The query component sets a variable to save the client request load status of the current query component, such as the number of client requests being processed;
- Step 203 The query component starts a timer; the timing of the timer The time can be set according to the operation of the actual data query system, and the present invention is not limited thereto; further, in this step, the variable 1 for indicating whether the registration is successful or not, and the last request to send the client request to the query component proxy can be further initialized. Whether the load is successful or not; however, the present invention is not limited to the method for determining whether the registration is successful and whether the sending client request load is successful.
- Step 204 The time is up, the query component determines whether the registration with the query component agent is successful, if not, step 205 is performed; if successful, step 206 is performed;
- the value of the variable one can be determined;
- Step 205 Register with the query component proxy, and return to step 204; if the variable one is set, the step further includes setting the value of the variable one according to whether the registration is successful; When the registration is successful, set the variable represented by the Boolean variable to True, otherwise set to False;
- Step 206 Determine whether the client request payload (such as the number of client requests) was sent to the query component proxy heartbeat last successfully; if successful, Step 207 is performed, otherwise step 205 is performed; if the value of the variable 2 is determined;
- Step 207 Send the client request load status to the query component agent, such as the number of client requests currently being processed; return to step 204;
- the way of setting variable two this step further includes setting the value of variable two according to the result of sending the client request load condition to the query component agent.
- the embodiment of the present embodiment can also be applied to the registration and non-dynamic startup.
- the query component is registered by means of a breakpoint, that is, registration at startup, and then periodically sends the number of requests currently being requested by the client to the query component agent, maintaining the connection between the query component and the query component agent.
- a breakpoint that is, registration at startup
- client requests are often divided into different data sources or backgrounds. These client requests are not related to each other, but if they are all done through a query component, Will make them affect each other, this program will try to reduce d, unnecessary coupling between them.
- Step 2 After receiving the client request, the query component agent selects a query component and returns it to the client according to the principle of load balancing.
- load balancing principles such as: It can be obtained every time the client receives the client.
- the weight is the responsiveness of the system to the client request; for example, the larger the amount of data, the greater the impact on responsiveness; therefore, when the query component is selected according to the processing weight of the client request, it may be based on the client request currently being processed.
- the least-computed query component is returned to the client, or may select one or more of the query components that are least CPU-intensive when processing the client request, and return to the client, etc.; therefore, when the client requests the load condition to The number of client requests being processed on the query component, the load
- the principle of balancing is to minimize the number of client requests currently being processed on the query component; or, when the client request load condition is the processing weight of the client request on the query component, the load balancing principle is to query the client currently processing on the component.
- the processing weight of the end request is the smallest.
- Step 3 is an embodiment of a query component agent obtaining a query component according to a load balancing principle, including the following steps: Step 301: A query component agent obtains, from a hash table QRY, the number of client requests that all query components are processing; Step 302: The query component agent obtains the query component number with the smallest number of client requests being processed. If there are more than one query request, the random number is selected, and other embodiments may be used, for example, the query component number is the smallest.
- Step 303 Find the corresponding query component instance from the hash table QRYS and return it to the client according to the obtained query component number;
- the third step querying the component update load component of the component update query component; if the client request load condition is the number of client requests being processed by the query component, the specific query may be: the query component queries the component request count before processing the client request. Add a unit count value, such as 1, before returning the result of the request to the client, the number of client requests being processed by the query component is reduced by the same unit count value; if the client request load condition is the processing weight of the client request, the query The component then calculates the processing weight of the current client request and updates it.
- the invention can dynamically meet the requirements of the system by adding a query component, so that the dynamic scalability of the system is good, and the solution itself can be applied to any application requiring high scalability, which may be a management information system.
- a management information system which may be a management information system.
- MIS Management Information System
- information query system information query system
- performance data query system especially the performance data query system on the network management.
- the embodiment also provides a method for querying data based on the data query system.
- the method specifically includes the following steps: Step 401: A client sends a client request to a query component proxy.
- the agent selects the query component according to the principle of load balancing, and returns the query component to the client; and step 403, the query component processes the client request, and returns the processing result to the client.
- Industrial Applicability The solution of the present invention has an equal processing capability for each query component compared to the conventional single component query, which focuses on processing the query request, that is, the query component is no longer logically unique.
- the selection of the query component is handled by the query component proxy, making the query component highly scalable.
- the query component can be dynamically added, and the newly added query component can be deployed on another machine to improve the response capability by adding a hardware device without Affects the client requests being processed, greatly improving the availability of data query systems.
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Computer And Data Communications (AREA)
Description
一种数据查询***及其构建方法与相应的数据查询方法
技术领域 本发明涉及数据查询领域, 尤其涉及一种数据查询***及其构建方法与 相应的数据查询方法。
背景技术
在数据查询***构建中, 尤其是在性能数据查询***构建中, 或者网站 服务器的构建中, 往往需要接收从客户端发送来的诸多客户端请求, 其中客 户端可以是图形用户界面( Graphical User Interface, GUI ) ,客户端或者 Web 客户端, 这些客户端请求往往都会涉及到大规模的数据网络传递, 而且返回 的数据还需要进行一些逻辑计算、 归并以及排序之类的处理。 例如, 性能数 据查询***中, 釆集到的性能数据经过处理后存储到性能报表中, 数据查询 ***中往往需要通过查询组件先从后台数据库中查询出符合条件的性能报表 中的性能数据, 再将这些性能数据从后台经过网络传递回来, 返回的性能数 据再经过一些逻辑计算被封装成适合 GUI显示的数据结构;如果是分布式系 统的话, 还会接收从不同的数据源来的数据, 在数据查询***中合并, 最终 提供给 GUI用于显示。
发明内容 目前查询组件一般都釆用直接构建的方式, 并且在逻辑上具有唯一性, 也就是说一个数据查询***只有一个查询组件,所有的客户端请求(包括 GUI 客户端和 Web客户端的客户端请求)都在这个查询组件中去处理,往往会出 现由于请求的增多而导致服务不能及时响应, 从而降低处理效率。 此外, 由于查询组件的唯一特性, 也使得查询组件不具备可扩展性, 不 具备可伸缩性, 也不能通过添加硬件设备来提升请求处理的效率, 影响*** 本身的可用性。 本发明要解决的技术问题是提供一种数据查询***及其构建方法与相应
的数据查询方法, 保证了数据查询***的高可用性。 为了解决上述问题, 本发明提供了一种数据查询***, 包括客户端, 所 述数据查询***还包括一个查询组件代理以及与该查询组件代理连接的一个 或多个查询组件; 其中, 所述客户端设置为: 向所述查询组件代理发送客户端请求, 以及接收查 询组件的处理结果; 所述查询组件代理设置为: 保存所述查询组件的查询组件号、 查询组件 实例以及查询组件的客户端请求负载情况, 并根据查询组件上报的所述查询 组件的客户端请求负载情况更新保存的查询组件的客户端请求负载情况; 以 及接收所述客户端请求, 并根据负载均衡的原则, 选择一个查询组件返回给 所述客户端; 所述查询组件, 用于向查询组件代理发送查询组件号与查询组件实例进 行注册, 并上报所述查询组件的客户端请求负载情况; 以及当该查询组件为 所述查询处理组件代理所选择的查询组件时, 处理所述客户端请求并将处理 结果返回给所述客户端。 所述客户端请求负载情况为所述查询组件上正在处理的客户端请求的数 量, 所述负载均衡原则为所述查询组件上当前正在处理的客户端请求个数最 少;
或者, 所述客户端请求负载情况为所述查询组件上的客户端请求的处理 权重, 所述负载均衡原则为所述查询组件上当前正在处理的所述客户端请求 的处理权重最小。 所述数据查询***还包括查询组件号分配器和负载均衡控制器; 其中, 所述查询组件号分配器设置为: 在所述查询组件启动时, 给所述查询组 件分配一个唯一的未被其他查询组件占用的查询组件号; 所述负载均衡控制器设置为: 在所述数据查询***运行过程中, 向所述 查询组件发送启动指令, 指示所述查询组件启动。 所述负载均衡控制器是是设置为按如下方式向所述查询组件发送启动指
令: 根据接收到的用户的控制命令向查询组件发送启动指令, 或者 所述负载均衡控制器还设置为: 根据所述数据查询***运行指标设置启 动阔值; 以及负载均衡控制器是设置为按如下方式向所述查询组件发送启动 指令: 负载均衡控制器监测所述数据查询***的运行状况, 如果数据查询系 统运行指标达到所述启动阔值, 则向所述查询组件发送启动指令。 所述数据查询***运行指标为数据查询***的使用规模、 客户端请求的 响应性、 客户端请求的数目、 ***支持的客户请求的计算量、 请求在处理时 CPU的耗时以及占用资源中的一种或多种。
为了解决上述问题,本发明还提供了一种上述数据查询***的构建方法, 具体包括如下步骤: 启动一个查询组件代理以及启动一个或多个查询组件, 所述查询组件启 动后向所述查询组件代理发送查询组件号与查询组件实例进行注册, 并上才艮 所述查询组件的客户端请求负载情况, 所述查询组件代理保存所述查询组件 号、 查询组件实例以及所述查询组件的客户端请求负载情况的映射关系, 并 根据所述查询组件上报的客户端请求负载情况更新保存的所述客户端请求负 载情况; 以及 所述查询组件代理接收到客户端请求后, 按照负载均衡的原则, 选择一 个查询组件, 并将选择的查询组件返回给客户端, 所述查询组件更新所述查 询组件的客户端请求负载情况。 所述启动一个或多个查询组件的步骤包括: 在数据查询***开始运行时 同时启动所有查询组件; 或者, 启动一个或多个查询组件的步骤之前, 所述方法还包括: 设置负 载均衡控制器, 所述负载均衡控制器根据数据查询***运行指标设置启动阔 值; 以及所述启动一个或多个查询组件的步骤包括: 在所述数据查询***运 行过程中, 所述负载均衡控制器所述查询组件发送启动指令, 指示所述查询 组件启动;
其中, 负载均衡控制器是根据接收到的用户的控制命令向查询组件发送 启动指令, 或者, 负载均衡控制器监测所述数据查询***的运行状况, 如果 数据查询***运行指标达到所述启动阔值,则向所述查询组件发送启动指令。 所述数据查询***运行指标为数据查询***的使用规模、 客户端请求的 响应性、 客户端请求的数目、 ***支持的客户请求的计算量、 请求在处理时 CPU的耗时以及占用资源中的一种或多种。 所述客户端请求负载情况为所述查询组件上正在处理的客户端请求的数 量, 所述负载均衡原则为所述查询组件上当前正在处理的客户端请求个数最 少;
或者, 所述客户端请求负载情况为所述查询组件上的客户端请求的处理 权重, 所述负载均衡原则为所述查询组件上当前正在处理的所述客户端请求 的处理权重最小。 所述查询组件代理保存所述查询组件号、 查询组件实例以及所述查询组 件的客户端请求负载情况的映射关系的步骤包括: 所述查询组件代理初始化两个哈希表, 第一哈希表用来保存所述查询组 件号和所述查询组件实例的映射关系, 第二哈希表用来保存所述查询组件号 和所述查询组件上客户端请求负载情况的映射关系; 以及 所述查询组件代理接收查询组件的注册后, 将所述查询组件号和查询组 件实例的映射关系保存在所述第一哈希表中; 根据所述查询组件上报的客户端请求负载情况更新保存的客户端请求负 载情况的步骤包括: 所述查询组件代理接收所述查询组件的周期心跳联系, 并定期更新所述第二哈希表中查询组件上客户端请求负载情况。 选择一个查询组件的步骤之后, 所述方法还包括: 所述查询组件处理所 述客户端请求, 并将处理结果返回给客户端; 查询组件处理所述客户端请求 的步骤之前, 所述查询组件更新所述客户端请求负载情况的步骤包括: 所述 查询组件正在处理的客户端请求数计数加一个计数单位值; 以及 查询组件向客户端返回处理结果的步骤之前, 所述查询组件更新所述客
户端请求负载情况的步骤还包括: 所述查询组件正在处理的客户端请求数减 一个所述计数单位值。 所述查询组件向所述查询组件代理发送查询组件号与查询组件实例进行 注册, 并上报所述查询组件的客户端请求负载情况的步骤包括: A、 所述查询组件启动一定时器;
B、 定时时间到, 所述查询组件判断向所述查询组件代理注册是否成功, 如果不成功, 执行步骤 C; 如果成功, 判断上一次向所述查询组件代理心跳 发送所述客户端请求负载情况是否成功; 如果成功, 执行步骤 D, 否则执行 步骤 C; C、 所述查询组件向所述查询组件代理注册, 返回步骤 B;
D、 所述查询组件向所述查询组件代理发送所述客户端请求负载情况, 返回步骤8。
为了解决上述问题,本发明还提供了一种数据查询方法, 包括如下步骤: 客户端向查询组件代理发送客户端请求; 所述查询组件代理才艮据负载均衡的原则, 选择查询组件, 并将该查询组 件返回给所述客户端; 所述查询组件处理所述客户端请求, 并将处理结果返回给所述客户端。 所述客户端请求负载情况为所述查询组件上正在处理的客户端请求的数 量, 所述负载均衡原则为所述查询组件上当前正在处理的客户端请求个数最 少;
或者, 所述客户端请求负载情况为所述查询组件上的客户端请求的处理 权重, 所述负载均衡原则为所述查询组件上当前正在处理的所述客户端请求 的处理权重最小。
上述数据查询***和数据查询方法保证了数据查询***的高可用性, 可
以克服现有数据查询***中, 当客户端请求增多时, 单一查询组件不能及时 响应的缺陷。
附图概述 图 1是本发明实施例查询组件代理启动后保存并更新映射关系流程图; 图 2是本发明实施例查询组件动态地启动, 以及注册和上报查询组件号 与客户端请求负载情况的流程图; 图 3是本发明实施例查询组件代理根据负载均衡原则获取查询组件的流 程图; 图 4是本发明实施例数据查询方法流程图。
本发明的较佳实施方式 下面结合附图详细说明本发明的具体实施方式。 本实施例中的数据查询***, 包括客户端、 一个查询组件代理以及一个 或多个与该查询组件代理连接的查询组件; 其中, 客户端设置为: 向查询组件代理发送客户端请求; 查询组件代理设置为: 保存查询组件的查询组件号、 查询组件实例以及 查询组件的负载情况, 并根据查询组件上报的查询组件的客户端请求负载情 况进行更新; 以及接收客户端请求, 并根据负载均衡的原则, 选择一个查询 组件返回给客户端; 查询组件设置为: 向查询组件代理发送查询组件号与查询组件实例进行 注册, 上报查询组件的客户端请求负载情况, 以及处理客户端请求并将处理 结果返回给客户端。 上述数据查询***还可以进一步包括: 一个查询组件号分配器和一个负 载均衡控制器; 其中, 查询组件号分配器设置为: 给查询组件分配一个唯一的未被其他查询组
件占用的查询组件号; 负载均衡控制器设置为: 在数据查询***运行过程中, 根据数据查询系 统运行指标或根据接收到的用户的控制命令, 向查询组件发送启动指令, 指 示查询组件启动; 其中, 负载均衡控制器可以根据接收到的用户的控制命令向查询组件发 送启动指令, 负载均衡控制器还可以根据不同的数据查询***运行指标设置 启动阔值, 并监测数据查询***的运行状况, 如果数据查询***运行指标达 到该阔值, 则向查询组件发送启动指令; 其中, 数据查询***运行指标可以为数据查询***的使用规模、 客户端 请求的响应性、 客户端请求的数目、 ***支持的客户请求的计算量、 请求在 处理时 CPU的耗时以及占用资源中的一种或多种。
基于上述数据查询***, 本实施例给出上述数据查询***的构建方法; 本实施例将原来的一个查询组件扩展为一个或多个查询组件, 并创建一 个查询组件代理用来管理该一个或多个查询组件; 其中每个查询组件都可以 设置为能够处理所有类型的客户端请求, 不限制每个查询组件能够处理的客 户端请求的类型; 查询组件代理还用于接收客户端请求, 并根据负载均衡的原则选择查询 组件返回给发送请求的客户端; 由此可见, 本实施例中客户端请求不是直接 发送给查询组件的。 本实施例的构建方法具体包括如下步骤: 第一步: 启动查询组件代理以及一个或多个查询组件, 查询组件启动后 向查询组件代理发送查询组件号和查询组件实例进行注册, 并向查询组件代 理上 4艮客户端请求负载情况, 查询组件代理保存查询组件的查询组件号、 查 询组件实例以及与查询组件的客户端请求负载情况的映射关系, 并根据查询 组件的上报更新客户端请求负载情况; 优选地, 查询组件周期性地判断向查询组件代理的注册情况, 以及周期
性的上报客户端请求负载情况, 以供查询组件代理进行更新; 这样可以使系 统中的各个部分之间的耦合更小, 容错性更加好。 当然也可以是其他实施方式, 如查询组件接收到一个客户端请求就进行 判断等。
查询组件周期性地判断向查询组件代理的注册情况, 以及周期性的上报 客户端请求负载情况, 以供查询组件代理进行更新具体包括: 当某个查询组件启动后, 该查询组件将其查询组件号和查询组件实例发 送给查询组件代理, 从而向查询组件代理进行注册; 查询组件代理接收查询 组件的注册, 保存该查询组件的查询组件号与查询组件实例的映射关系; 查询组件代理管理一个或多个查询组件, 并接收客户端请求; 其中, 管 理包括接收启动的查询组件的注册, 保存查询组件号、 查询组件实例以及查 询组件的客户端请求负载情况的映射关系, 以及更新客户端请求负载情况; 其中,
查询组件上客户端请求负载情况, 可以是查询组件上正在处理的客户端 请求的数目, 还可以是查询组件上客户端请求的处理权重; 查询组件代理根据客户端请求负载情况选择查询组件, 找到查询组件实 例 (instance ) , 从而将该查询组件实例表示的查询组件返回给客户端; 图 1所示为一个查询组件代理启动后保存以及更新映射关系的具体实施 例, 本实施例中查询组件上客户端请求负载情况为查询组件上正在处理的客 户端请求数目, 具体包括如下步骤: 步骤 101 : 查询组件代理初始化两个哈希表, 一个哈希表 QRYS用来保 存查询组件号和查询组件实例的映射关系,一个哈希表 QRYN用来保存查询 组件号和查询组件上正在处理的客户端请求数目的映射关系; 在另一实施例中, 也可以将查询组件号、 查询组件实例以及每个查询组 件上正在处理的请求的映射关系保存在一个表中; 步骤 102: 查询组件代理接收查询组件的注册, 并将查询组件号和查询 组件实例的映射关系保存在哈希表 QRYS中;
步骤 103: 查询组件代理接收查询组件的周期心跳联系, 查询组件将查 询组件号以及该查询组件正在处理的客户端请求个数作为参数传递给查询组 件代理,查询组件代理更新哈希表 QRY 中查询组件号和查询组件正在处理 的客户端请求个数。 此步骤中,查询组件代理可以是定期更新哈希表 QRYN中查询组件号和 查询组件正在处理的客户端请求个数; 也可以是实时更新, 或者查询组件代 理根据需要指示查询组件发送正在处理的客户端请求个数等多种实施方式; 第一步中, 启动查询组件可以由也有多种实施方式: 如可以在数据查询***开始运行时同时启动所有查询组件; 也可在运行过程中由负载均衡控制器根据数据查询***运行指标或根据 接收到的用户的控制命令, 动态地启动查询组件, 而且每个查询组件的启动 都是独立的; 其中负载均衡控制器用于向查询组件发送启动指令, 指示查询 组件启动; 进一步地, 负载均衡控制器可以根据接收到的用户的控制命令向查询组 件发送启动指令, 负载均衡控制器还可以根据不同的数据查询***运行指标 设置启动阔值, 并监测数据查询***的运行状况, 如果数据查询***运行指 标达到该阔值, 则向查询组件发送启动指令; 其中, 数据查询***运行指标可以为数据查询***的使用规模, 客户端 请求的响应性, 客户端请求的数目, ***支持的客户请求的计算量, 请求在 处理时 CPU的耗时, 占用资源中的一种或多种。 图 2所示为查询组件动态地启动, 以及注册和上 ^艮查询组件号与客户端 请求负载情况的优选的实施例, 具体包括如下步骤: 步骤 201 : 查询组件获取一个未被其他查询组件占用的查询组件号; 查询组件号可以是由一个查询组件号分配器分配给查询组件; 该查询组件分配器设置为: 向查询组件分配一个唯一的未被其他查询组 件占用的查询组件号; 当然, 查询组件号也可以预先配置到查询组件中, 此时步骤 201可以省
略; 步骤 202: 查询组件设置一个变量用来保存目前该查询组件的客户端请 求负载情况, 如正在处理的客户端请求的个数; 步骤 203: 查询组件启动一定时器; 该定时器的定时时间可以根据实际数据查询***的运行进行设置, 本发 明对此并不限定; 此外, 本步骤中还可以进一步初始化用来表示注册是否成功的变量一和 表示上一次向查询组件代理发送客户端请求负载是否成功的变量二; 但本发 明并不限于此方法对注册是否成功和发送客户端请求负载是否成功进行限 定, 如还可以是根据与查询组件代理进行交互通知查询组件是否成功; 其中变量一和变量二可以是布尔变量, 用 True表示成功, 用 False表示 失败, 当然也可以是其他变量。 步骤 204: 定时时间到, 查询组件判断向查询组件代理注册是否成功, 如果不成功, 执行步骤 205; 如果成功, 执行步骤 206;
如可以根据变量一的值进行判断; 步骤 205: 向查询组件代理注册, 返回步骤 204; 如果釆用设置变量一的方式, 此步骤进一步包括按照注册是否成功的结 果设置变量一的值; 如: 当注册成功, 将布尔变量表示的变量一置为 Ture, 否则置为 False; 步骤 206: 判断上一次向查询组件代理心跳发送客户端请求负载(如客 户端请求个数)是否成功; 如果成功, 执行步骤 207 , 否则执行步骤 205; 如可以根据变量二的值进行判断; 步骤 207: 向查询组件代理发送客户端请求负载情况, 如当前正在处理 的客户端请求数目; 返回步骤 204; 如果釆用设置变量二的方式, 此步骤进一步还包括按照向查询组件代理 发送客户端请求负载情况是否成功的结果设置变量二的值。
当然, 非动态启动的注册和上 也可以釆用本实施例的实施方式。 上述优选实施例中,查询组件通过断点续连的方法,也就是启动时注册, 然后周期发送当前正在客户端请求个数给查询组件代理, 保持查询组件和查 询组件代理之间的联系。 特别是在分布式***中, 不同客户端请求往往会被 分到不同的数据源或者后台去做, 这些客户端请求之间本身不具备关联性, 但是如果都通过一个查询组件去做的话, 就会使得他们相互影响, 本方案将 尽量减 d、他们之间不必要的耦合。
第二步: 查询组件代理接收到客户端请求后, 按照负载均衡的原则, 选 择一个查询组件返回给客户端; 其中, 负载均衡原则有很多种, 如: 可以是在每次接收到客户端获取查 询组件时, 都选择一个当前正在处理的客户端请求个数最少的查询组件返回 给客户端; 或者可以是根据客户端请求的处理权重, 将当前处理权重最小的 查询组件返回给客户端; 处理权重是***对客户端请求的响应性; 如, 数据量越大, 对响应性的 影响越大; 因此, 根据客户端请求的处理权重选择查询组件时, 可以是根据 当前正在处理的客户端请求的计算量最小的查询组件返回给客户端, 或者可 以选择当前处理客户端请求时 CPU耗时最少的查询组件返回给客户端等中 的一种或多种; 因此, 当客户端请求负载情况为所述查询组件上正在处理的客户端请求 的数量时,负载均衡原则为查询组件上当前正在处理的客户端请求个数最少; 或者,当客户端请求负载情况为查询组件上的客户端请求的处理权重时, 负载均衡原则为查询组件上当前正在处理的客户端请求的处理权重最小。 图 3所示为查询组件代理根据负载均衡原则获取查询组件的实施例, 包 括如下步骤: 步骤 301: 查询组件代理从哈希表 QRY 中获取所有查询组件正在处理 的客户端请求的个数;
步骤 302: 查询组件代理获取正在处理的客户端请求的个数最小的查询 组件号, 若是查询请求个数最小的不止一个, 随机抽取一个, 当然也可以是 其他实施方式, 如查询组件号最小的等; 步骤 303 : 根据获取的查询组件号从哈希表 QRYS中找到对应的查询组 件实例返回给客户端;
第三步: 查询组件更新查询组件的客户端请求负载情况; 如客户端请求负载情况为查询组件正在处理的客户端请求数, 具体可以 是: 查询组件在处理客户端请求前, 查询组件请求计数加一个单位计数值, 如 1 , 向客户端返回请求结果前, 查询组件正在处理的客户端请求数计数减 一个同样的单位计数值; 如客户端请求负载情况为客户端请求的处理权重, 查询组件则计算当前 客户端请求的处理权重并更新。
本发明由于能够动态地通过添加查询组件来满足***的需求, 使得*** 的动态扩展性好, 这个方案本身也可推而广之应用到任何需要高可伸缩性的 应用, 具体可以是管理信息***(Management Information System, MIS ) , 信息查询***, 性能数据查询***, 尤其是网管上的性能数据查询***等。
相应地, 本实施例还给出基于上述数据查询***的数据查询的方法, 如 图 4所示, 具体包括如下步骤: 步骤 401、 客户端向查询组件代理发送客户端请求; 步骤 402、 查询组件代理才艮据负载均衡的原则, 选择查询组件, 并将该 查询组件返回给客户端; 以及 步骤 403、 查询组件处理客户端请求, 并将处理结果返回给客户端。
工业实用性 本发明的方案与传统单一组件查询, 集中处理查询请求的方案相比, 每 个查询组件都具有平等的处理能力, 即查询组件在逻辑上不再具有唯一性。 查询组件的选择交由查询组件代理去做, 使得查询组件具备高可伸缩性。 当 查询请求较多以至于现有的查询组件不能有效处理时, 能动态地增加查询组 件, 而新增的查询组件可以部署在别的机器上, 达到通过添加硬件设备来提 升响应能力而又不影响正在处理的客户端请求, 极大地提升可数据查询*** 的可用性。
Claims
1、一种数据查询***, 包括客户端, 所述数据查询***还包括一个查询 组件代理以及与该查询组件代理连接的一个或多个查询组件; 其中, 所述客户端设置为: 向所述查询组件代理发送客户端请求, 以及接收查 询组件的处理结果; 所述查询组件代理设置为: 保存所述查询组件的查询组件号、 查询组件 实例以及查询组件的客户端请求负载情况, 并根据查询组件上报的所述查询 组件的客户端请求负载情况更新保存的查询组件的客户端请求负载情况; 以 及接收所述客户端请求, 并根据负载均衡的原则, 选择一个查询组件处理所 述客户端请求, 并将所述查询组件返回给所述客户端; 所述查询组件设置为: 向查询组件代理发送查询组件号与查询组件实例 进行注册, 并上报所述查询组件的客户端请求负载情况; 以及当该查询组件 为所述查询处理组件代理所选择的查询组件时, 处理所述客户端请求并将处 理结果返回给所述客户端。
2、 如权利要求 1所述的数据查询***, 其中: 所述客户端请求负载情况为所述查询组件上正在处理的客户端请求的数 量, 所述负载均衡原则为所述查询组件上当前正在处理的客户端请求个数最 少;
或者, 所述客户端请求负载情况为所述查询组件上的客户端请求的处理 权重, 所述负载均衡原则为所述查询组件上当前正在处理的所述客户端请求 的处理权重最小。
3、如权利要求 1或 2所述的数据查询***, 其中, 所述数据查询***还 包括查询组件号分配器和负载均衡控制器; 其中, 所述查询组件号分配器设置为: 在所述查询组件启动时, 给所述查询组 件分配一个唯一的未被其他查询组件占用的查询组件号; 所述负载均衡控制器设置为:在所述数据查询***运行过程中,向所述查 询组件发送启动指令, 指示所述查询组件启动。
4、 如权利要求 3所述的数据查询***, 其中: 所述负载均衡控制器是设置为按如下方式向所述查询组件发送启动指 令: 根据接收到的用户的控制命令向查询组件发送启动指令, 或者 所述负载均衡控制器还设置为: 根据所述数据查询***运行指标设置启 动阔值; 以及负载均衡控制器是设置为按如下方式向所述查询组件发送启动 指令: 负载均衡控制器监测所述数据查询***的运行状况, 如果数据查询系 统运行指标达到所述启动阔值, 则向所述查询组件发送启动指令。
5、 如权利要求 4所述的数据查询***, 其中: 所述数据查询***运行指标为数据查询***的使用规模、 客户端请求的 响应性、 客户端请求的数目、 ***支持的客户请求的计算量、 请求在处理时 CPU的耗时以及占用资源中的一种或多种。
6、 一种数据查询***的构建方法, 该构建方法包括: 启动一个查询组件代理以及启动一个或多个查询组件, 所述查询组件启 动后向所述查询组件代理发送查询组件号与查询组件实例进行注册, 并上才艮 所述查询组件的客户端请求负载情况, 所述查询组件代理保存所述查询组件 号、 查询组件实例以及所述查询组件的客户端请求负载情况的映射关系, 并 根据所述查询组件上报的客户端请求负载情况更新保存的所述客户端请求负 载情况; 以及 所述查询组件代理接收到客户端请求后, 按照负载均衡的原则, 选择一 个查询组件, 并将所述查询组件返回给客户端, 所述查询组件更新所述查询 组件的客户端请求负载情况。
7、 如权利要求 6所述的构建方法, 其中: 所述启动一个或多个查询组件的步骤包括: 在所述数据查询***开始运 行时同时启动所有查询组件; 或者, 启动一个或多个查询组件的步骤之前, 所述方法还包括: 设置负载均衡 控制器, 所述负载均衡控制器根据数据查询***运行指标设置启动阔值; 以 及所述启动一个或多个查询组件的步骤包括: 在所述数据查询***运行过程 中, 所述负载均衡控制器向所述查询组件发送启动指令, 指示所述查询组件 启动; 其中, 负载均衡控制器是根据接收到的用户的控制命令向查询组件发送 启动指令, 或者, 负载均衡控制器监测所述数据查询***的运行状况, 如果 数据查询***运行指标达到所述启动阔值 ,则向所述查询组件发送启动指令。
8、 如权利要求 7所述的构建方法, 其中: 所述数据查询***运行指标为数据查询***的使用规模、 客户端请求的 响应性、 客户端请求的数目、 ***支持的客户请求的计算量、 请求在处理时 CPU的耗时以及占用资源中的一种或多种。
9、 如权利要求 6或 7或 8所述的构建方法, 其中: 所述客户端请求负载情况为所述查询组件上正在处理的客户端请求的数 量, 所述负载均衡原则为所述查询组件上当前正在处理的客户端请求个数最 少;
或者, 所述客户端请求负载情况为所述查询组件上的客户端请求的处理 权重, 所述负载均衡原则为所述查询组件上当前正在处理的所述客户端请求 的处理权重最小。
10、 如权利要求 6或 7或 8所述的构建方法, 其中: 所述查询组件代理保存所述查询组件号、 查询组件实例以及所述查询组 件的客户端请求负载情况的映射关系的步骤包括: 所述查询组件代理初始化两个哈希表, 第一哈希表用来保存所述查询组 件号和所述查询组件实例的映射关系, 第二哈希表用来保存所述查询组件号 和所述查询组件上客户端请求负载情况的映射关系; 以及 所述查询组件代理接收查询组件的注册后, 将所述查询组件号和查询组 件实例的映射关系保存在所述第一哈希表中; 根据所述查询组件上报的客户端请求负载情况更新保存的客户端请求负 载情况的步骤包括: 所述查询组件代理接收所述查询组件的周期心跳联系, 并定期更新所述第二哈希表中查询组件上客户端请求负载情况。
11、 如权利要求 9所述的构建方法, 其中: 选择一个查询组件的步骤之后, 所述方法还包括: 所述查询组件处理所 述客户端请求, 并将处理结果返回给客户端; 查询组件处理所述客户端请求的步骤之前, 所述查询组件更新所述客户 端请求负载情况的步骤包括: 所述查询组件正在处理的客户端请求数计数加 一个计数单位值; 以及 查询组件向客户端返回处理结果的步骤之前, 所述查询组件更新所述客 户端请求负载情况的步骤还包括: 所述查询组件正在处理的客户端请求数减 一个所述计数单位值。
12、 如权利要求 6或 7所述的构建方法, 其中, 所述查询组件向所述查 询组件代理发送查询组件号与查询组件实例进行注册, 并上 所述查询组件 的客户端请求负载情况的步骤包括: A、 所述查询组件启动一定时器;
B、 定时时间到, 所述查询组件判断向所述查询组件代理注册是否成功, 如果不成功, 执行步骤 C; 如果成功, 判断上一次向所述查询组件代理心跳 发送所述客户端请求负载情况是否成功; 如果成功, 执行步骤 D, 否则执行 步骤 C; C、 所述查询组件向所述查询组件代理注册, 返回步骤 B;
D、 所述查询组件向所述查询组件代理发送所述客户端请求负载情况,
13、 一种数据查询方法, 该数据查询方法包括: 客户端向查询组件代理发送客户端请求; 所述查询组件代理才艮据负载均衡的原则, 选择查询组件, 并将该查询组 件返回给所述客户端; 以及 所述查询组件处理所述客户端请求, 并将处理结果返回给所述客户端。
14、 如权利要求 13所述的数据查询方法, 其中: 所述客户端请求负载情况为所述查询组件上正在处理的客户端请求的数 量, 所述负载均衡原则为所述查询组件上当前正在处理的客户端请求个数最 少;
或者, 所述客户端请求负载情况为所述查询组件上的客户端请求的处理 权重, 所述负载均衡原则为所述查询组件上当前正在处理的所述客户端请求 的处理权重最小。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/497,702 US8909666B2 (en) | 2009-09-23 | 2010-06-03 | Data query system and constructing method thereof and corresponding data query method |
EP10818302.1A EP2472416B1 (en) | 2009-09-23 | 2010-06-03 | Data query system and constructing method thereof and corresponding data query method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101781036A CN102023997B (zh) | 2009-09-23 | 2009-09-23 | 一种数据查询***及其构建方法与相应的数据查询方法 |
CN200910178103.6 | 2009-09-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011035608A1 true WO2011035608A1 (zh) | 2011-03-31 |
Family
ID=43795352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2010/073521 WO2011035608A1 (zh) | 2009-09-23 | 2010-06-03 | 一种数据查询***及其构建方法与相应的数据查询方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8909666B2 (zh) |
EP (1) | EP2472416B1 (zh) |
CN (1) | CN102023997B (zh) |
WO (1) | WO2011035608A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104023059A (zh) * | 2014-06-06 | 2014-09-03 | 陕西理工学院 | 一种减轻服务设备响应的服务代理方法 |
CN104902001A (zh) * | 2015-04-07 | 2015-09-09 | 杭州电子科技大学 | 基于操作***虚拟化的Web请求负载均衡方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103281343B (zh) * | 2013-01-07 | 2016-06-29 | 广西电网公司 | 一种基于代理机制的通用历史数据服务的实现方法 |
CN107818122A (zh) * | 2016-09-14 | 2018-03-20 | 深圳市优朋普乐传媒发展有限公司 | 一种代理组件、搜索管理方法及搜索管理*** |
CN108270840B (zh) * | 2017-01-04 | 2021-08-31 | 阿里巴巴集团控股有限公司 | 一种业务监控、业务数据的搜索方法、装置和电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101169785A (zh) * | 2007-11-21 | 2008-04-30 | 浪潮电子信息产业股份有限公司 | 集群数据库***的动态负载均衡方法 |
CN201114128Y (zh) * | 2007-09-12 | 2008-09-10 | 福建富士通信息软件有限公司 | 企业搜索引擎装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7668740B1 (en) * | 2000-09-22 | 2010-02-23 | Ita Software, Inc. | Method, system, and computer program product for interfacing with information sources |
US7203747B2 (en) * | 2001-05-25 | 2007-04-10 | Overture Services Inc. | Load balancing system and method in a multiprocessor system |
US20030115259A1 (en) * | 2001-12-18 | 2003-06-19 | Nokia Corporation | System and method using legacy servers in reliable server pools |
US8239535B2 (en) * | 2005-06-06 | 2012-08-07 | Adobe Systems Incorporated | Network architecture with load balancing, fault tolerance and distributed querying |
US8150917B2 (en) * | 2006-09-22 | 2012-04-03 | Microsoft Corporation | High availability conferencing |
EP2073505B1 (en) * | 2007-12-17 | 2012-04-04 | Nokia Siemens Networks Oy | Query routing in distributed database system |
JPWO2010098034A1 (ja) * | 2009-02-24 | 2012-08-30 | 日本電気株式会社 | 分散データベース管理システムおよび分散データベース管理方法 |
US8037076B2 (en) * | 2009-05-11 | 2011-10-11 | Red Hat, Inc. | Federated indexing from hashed primary key slices |
CA2709498A1 (en) * | 2009-07-10 | 2011-01-10 | Xkoto Inc. | System and method for subunit operations in a database |
US9984327B2 (en) * | 2010-06-17 | 2018-05-29 | Palo Alto Research Center Incorporated | System and method for parallel graph searching utilizing parallel edge partitioning |
-
2009
- 2009-09-23 CN CN2009101781036A patent/CN102023997B/zh active Active
-
2010
- 2010-06-03 US US13/497,702 patent/US8909666B2/en active Active
- 2010-06-03 EP EP10818302.1A patent/EP2472416B1/en active Active
- 2010-06-03 WO PCT/CN2010/073521 patent/WO2011035608A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201114128Y (zh) * | 2007-09-12 | 2008-09-10 | 福建富士通信息软件有限公司 | 企业搜索引擎装置 |
CN101169785A (zh) * | 2007-11-21 | 2008-04-30 | 浪潮电子信息产业股份有限公司 | 集群数据库***的动态负载均衡方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104023059A (zh) * | 2014-06-06 | 2014-09-03 | 陕西理工学院 | 一种减轻服务设备响应的服务代理方法 |
CN104902001A (zh) * | 2015-04-07 | 2015-09-09 | 杭州电子科技大学 | 基于操作***虚拟化的Web请求负载均衡方法 |
CN104902001B (zh) * | 2015-04-07 | 2018-04-06 | 杭州电子科技大学 | 基于操作***虚拟化的Web请求负载均衡方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2472416B1 (en) | 2019-08-07 |
CN102023997A (zh) | 2011-04-20 |
EP2472416A1 (en) | 2012-07-04 |
CN102023997B (zh) | 2013-03-20 |
EP2472416A4 (en) | 2016-09-21 |
US8909666B2 (en) | 2014-12-09 |
US20120226702A1 (en) | 2012-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11418620B2 (en) | Service request management | |
Lee et al. | Load-balancing tactics in cloud | |
CN111615066B (zh) | 一种基于广播的分布式微服务注册及调用方法 | |
JP7020616B2 (ja) | リソーススケジューリングのための方法およびシステム | |
US8095935B2 (en) | Adapting message delivery assignments with hashing and mapping techniques | |
CN109104483B (zh) | 一种基于事件通知的微服务动态负载均衡的方法及装置 | |
WO2018174965A1 (en) | Dynamic advertisement routing | |
WO2013078875A1 (zh) | 内容的管理方法的方法、装置和*** | |
WO2021238796A1 (zh) | 下载任务异步处理方法、装置、***和存储介质 | |
WO2021254331A1 (zh) | 资源管理方法、***、代理服务器及存储介质 | |
WO2011035608A1 (zh) | 一种数据查询***及其构建方法与相应的数据查询方法 | |
US9736235B2 (en) | Computer system, computer, and load balancing method | |
WO2018003031A1 (ja) | 仮想化管理プログラム、仮想化管理装置および仮想化管理方法 | |
WO2015039475A1 (zh) | 一种域名解析方法、服务器及*** | |
US20180063236A1 (en) | Producer system registration | |
US20070265976A1 (en) | License distribution in a packet data network | |
JP5735899B2 (ja) | サービス提供システム、ファイル更新方法、および分散管理装置 | |
JP2001202318A (ja) | データ配信システム | |
WO2007059667A1 (fr) | Procede d'obtention de donnees d'alarme des elements de reseau | |
WO2017169471A1 (ja) | 処理システムおよび処理方法 | |
US10715608B2 (en) | Automatic server cluster discovery | |
CN110401708B (zh) | 基于服务器负载状态的会话处理***及方法 | |
CN113268327A (zh) | 事务请求的处理方法、装置和电子设备 | |
JP2017174038A (ja) | 情報処理システム、情報処理方法およびプログラム | |
JP4089506B2 (ja) | ファイル共有システム及びサーバー並びにプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10818302 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13497702 Country of ref document: US Ref document number: 2010818302 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |