一种数据查询系统及其构建方法与相应的数据查询方法技术方案

技术编号:5197155 阅读:214 留言:0更新日期:2012-04-11 18:40
一种数据查询系统,包括客户端,查询组件代理以及与该查询组件代理连接的一个或多个查询组件;客户端用于向查询组件代理发送客户端请求;查询组件代理用于保存查询组件的查询组件号、查询组件实例以及查询组件的负载情况,并根据查询组件上报的所述查询组件的客户端请求负载情况进行更新;以及接收客户端请求,并根据负载均衡的原则,选择一个查询组件返回给所述客户端;查询组件用于向查询组件代理发送查询组件号与查询组件实例进行注册,并上报所述查询组件的客户端请求负载情况;以及处理所述客户端请求并将处理结果返回给所述客户端。相应地,还提供该数据查询系统的构建方法以及数据查询方法。本发明专利技术保证了数据查询系统的高可用性。

【技术实现步骤摘要】

本专利技术涉及数据查询领域,尤其涉及一种数据查询系统及其构建方法与相应的 数据查询方法。
技术介绍
在数据查询系统构建中,尤其是在性能数据查询系统构建中,或者网站服务 器的构建中,往往需要接收从客户端发送来的诸多客户端请求,其中客户端可以是 GUKGraphical User Interface,图形用户界面),客户端或者Web客户端,这些客户端请 求往往都会涉及到大规模的数据网络传递,而且返回的数据还需要进行一些逻辑计算、 归并以及排序之类的处理。例如,性能数据查询系统中,采集到的性能数据经过处理后 存储到性能报表中,数据查询系统中往往需要通过查询组件先从后台数据库中查询出符 合条件的性能报表中的性能数据,再将这些性能数据从后台经过网络传递回来,返回的 性能数据再经过一些 逻辑计算被封装成适合GUI显示的数据结构;如果是分布式系统的 话,还会接收从不同的数据源来的数据,在数据查询系统中合并,最终提供给GUI用于 显不。目前查询组件一般都采用直接构建的方式,并且在逻辑上具有唯一性,也就是 说一个数据查询系统只有一个查询组件,所有的客户端请求(包括GUI,客户端或Web客 户端的客户端请求)都在这个查询组件中去处理,往往会出现由于请求的增多而导致服 务不能及时响应,从而降低处理效率。因此,由于查询组件的唯一特性,也使得查询组件不具备可扩展性,不具备可 伸缩性,也不能通过添加硬件设备来提升请求处理的效率,影响系统本身的可用性。
技术实现思路
本专利技术要解决的技术问题是提供一种数据查询系统及其构建方法与相应的数据 查询方法,保证了数据查询系统的高可用性。为了解决上述问题,本专利技术提供了一种数据查询系统,包括客户端,所述数据 查询系统还包括一个查询组件代理以及与该查询组件代理连接的一个或多个查询组件; 其中,所述客户端,用于向所述查询组件代理发送客户端请求;所述查询组件代理,用于保存所述查询组件的查询组件号、查询组件实例以及 查询组件的负载情况,并根据查询组件上报的所述查询组件的客户端请求负载情况进行 更新;以及接收所述客户端请求,并根据负载均衡的原则,选择一个查询组件返回给所 述客户端;所述查询组件,用于向查询组件代理发送查询组件号与查询组件实例进行注 册,并上报所述查询组件的客户端请求负载情况;以及处理所述客户端请求并将处理结 果返回给所述客户端。进一步地,上述数据查询系统还具有如下特征所述客户端请求负载情况为所述查询组件上正在处理的客户端请求的数量,所 述负载均衡原则为所述查询组件上当前正在处理的客户端请求个数最少;或者,所述客户 端请求负载情况为所述查询组件上的客户端请求的处理权重, 所述负载均衡原则为所述查询组件上当前正在处理的所述客户端请求的处理权重最小。进一步地,上述数据查询系统还具有如下特征所述数据查询系统进一步包括查询组件号分配器和负载均衡控制器;其中,所述查询组件号分配器,用于在所述查询组件启动时,给所述查询组件分配一 个唯一的未被其他查询组件占用的查询组件号;所述负载均衡控制器,用于在所述数据查询系统运行过程中,根据数据查询系 统运行指标或根据接收到的用户的控制命令,向所述查询组件发送启动指令,指示所述 查询组件启动;其中,负载均衡控制器根据接收到的用户的控制命令向查询组件发送启动指 令,或者负载均衡控制器根据所述数据查询系统运行指标设置启动阈值,并监测所述数 据查询系统的运行状况,如果数据查询系统运行指标达到所述启动阈值,则向所述查询 组件发送启动指令。进一步地,上述数据查询系统还具有如下特征所述数据查询系统运行指标为数据查询系统的使用规模,客户端请求的响应 性,客户端请求的数目,系统支持的客户请求的计算量,请求在处理时CPU的耗时以及 占用资源中的一种或多种。为了解决上述问题,本专利技术还提供了一种上述数据查询系统的构建方法,具体 包括如下步骤启动一个查询组件代理以及启动一个或多个查询组件,所述查询组件启动后向 所述查询组件代理发送查询组件号与查询组件实例进行注册,并上报所述查询组件的客 户端请求负载情况,所述查询组件代理保存所述查询组件号、查询组件实例以及所述查 询组件的客户端请求负载情况的映射关系,并根据所述查询组件上报的客户端请求负载 情况更新保存的所述客户端请求负载情况;所述查询组件代理接收到客户端请求后,按照负载均衡的原则,选择一个查询 组件返回给客户端,所述查询组件更新所述查询组件的客户端请求负载情况。进一步地,上述构建方法还具有如下特征所述启动一个或多个查询组件,在所述数据查询系统开始运行时同时启动所有 查询组件。或者,所述数据查询系统还包括一个负载均衡控制器;所述启动一个或多个查 询组件,是在所述数据查询系统运行过程中,所述负载均衡控制器根据数据查询系统运 行指标或根据接收到的用户的控制命令,向所述查询组件发送启动指令,指示所述查询 组件启动;其中,负载均衡控制器是根据接收到的用户的控制命令向查询组件发送启动指 令,或者负载均衡控制器根据所述数据查询系统运行指标设置启动阈值,并监测所述数 据查询系统的运行状况,如果数据查询系统运行指标达到所述启动阈值,则向所述查询组件发送启动指令;所述数据查询系统运行指标为数据查询系统的使用规模,客户端请求的响应 性,客户端请求的数目,系统支持的客户请求的计算量,请求在处理时CPU的耗时以及 占用资源中 的一种或多种。进一步地,上述构建方法还具有如下特征所述客户端请求负载情况为所述查询组件上正在处理的客户端请求的数量,所 述负载均衡原则为所述查询组件上当前正在处理的客户端请求个数最少;或者,所述客户端请求负载情况为所述查询组件上的客户端请求的处理权重, 所述负载均衡原则为所述查询组件上当前正在处理的所述客户端请求的处理权重最小。进一步地,上述构建方法还具有如下特征所述查询组件代理保存所述查询组件号、查询组件实例以及所述查询组件的客 户端请求负载情况的映射关系,并根据所述查询组件上报的客户端请求负载情况更新保 存的客户端请求负载情况,具体包括如下步骤所述查询组件代理初始化两个哈希表,第一哈希表用来保存所述查询组件号和 所述查询组件实例的映射关系,第二哈希表用来保存所述查询组件号和所述查询组件上 客户端请求负载情况的映射关系;所述查询组件代理接受查询组件的注册后,将所述查询组件号和查询组件实例 的映射关系保存在所述第一哈希表中;所述查询组件代理接受所述查询组件的周期心跳联系,并定期更新所述第二哈 希表中查询组件上客户端请求负载情况。进一步地,上述构建方法还具有如下特征所述客户端请求负载情况为所述查询组件上正在处理的客户端请求的数量,所 述查询组件更新所述客户端请求负载情况具体为所述查询组件在处理所述客户端请求前,所述查询组件正在处理的客户端请求 数计数加一个计数单位值;所述查询组件向客户端返回请求结果前,所述查询组件正在处理的客户端请求 数减所述计数单位值。进一步地,上述构建方法还具有如下特征所述查询组件向所述查询组件代理发送查询组件号与查询组件实例进行注册, 并上报所述查询组件的客户端请求负载情况,具体包括如下步骤A、所述查询组件启动一定时器;B、定时时间到,所述查询组件判断向所述查询组件代理注册是否成功,如果不 成功,执行步骤C;如果本文档来自技高网...

【技术保护点】
一种数据查询系统,包括客户端,其特征在于,所述数据查询系统还包括一个查询组件代理以及与该查询组件代理连接的一个或多个查询组件;其中,所述客户端,用于向所述查询组件代理发送客户端请求;所述查询组件代理,用于保存所述查询组件的查询组件号、查询组件实例以及查询组件的负载情况,并根据查询组件上报的所述查询组件的客户端请求负载情况进行更新;以及接收所述客户端请求,并根据负载均衡的原则,选择一个查询组件返回给所述客户端;所述查询组件,用于向查询组件代理发送查询组件号与查询组件实例进行注册,并上报所述查询组件的客户端请求负载情况;以及处理所述客户端请求并将处理结果返回给所述客户端。

【技术特征摘要】
1.一种数据查询系统,包括客户端,其特征在于,所述数据查询系统还包括一个查 询组件代理以及与该查询组件代理连接的一个或多个查询组件;其中,所述客户端,用于向所述查询组件代理发送客户端请求;所述查询组件代理,用于保存所述查询组件的查询组件号、查询组件实例以及查 询组件的负载情况,并根据查询组件上报的所述查询组件的客户端请求负载情况进行更 新;以及接收所述客户端请求,并根据负载均衡的原则,选择一个查询组件返回给所述 客户端;所述查询组件,用于向查询组件代理发送查询组件号与查询组件实例进行注册,并 上报所述查询组件的客户端请求负载情况;以及处理所述客户端请求并将处理结果返回 给所述客户端。2.如权利要求1所述的数据查询系统,其特征在于所述客户端请求负载情况为所述查询组件上正在处理的客户端请求的数量,所述负 载均衡原则为所述查询组件上当前正在处理的客户端请求个数最少;或者,所述客户端请求负载情况为所述查询组件上的客户端请求的处理权重,所述 负载均衡原则为所述查询组件上当前正在处理的所述客户端请求的处理权重最小。3.如权利要求1或2所述的数据查询系统,其特征在于,所述数据查询系统进一步包 括查询组件号分配器和负载均衡控制器;其中,所述查询组件号分配器,用于在所述查询组件启动时,给所述查询组件分配一个唯 一的未被其他查询组件占用的查询组件号;所述负载均衡控制器,用于在所述数据查询系统运行过程中,根据数据查询系统运 行指标或根据接收到的用户的控制命令,向所述查询组件发送启动指令,指示所述查询 组件启动;其中,负载均衡控制器根据接收到的用户的控制命令向查询组件发送启动指令,或 者负载均衡控制器根据所述数据查询系统运行指标设置启动阈值,并监测所述数据查询 系统的运行状况,如果数据查询系统运行指标达到所述启动阈值,则向所述查询组件发 送启动指令。4.如权利要求3所述的数据查询系统,其特征在于所述数据查询系统运行指标为数据查询系统的使用规模,客户端请求的响应性,客 户端请求的数目,系统支持的客户请求的计算量,请求在处理时CPU的耗时以及占用资 源中的一种或多种。5.—种如权利要求1所述的数据查询系统的构建方法,其特征在于,所述构建方法具 体包括如下步骤启动一个查询组件代理以及启动一个或多个查询组件,所述查询组件启动后向所述 查询组件代理发送查询组件号与查询组件实例进行注册,并上报所述查询组件的客户端 请求负载情况,所述查询组件代理保存所述查询组件号、查询组件实例以及所述查询组 件的客户端请求负载情况的映射关系,并根据所述查询组件上报的客户端请求负载情况 更新保存的所述客户端请求负载情况;所述查询组件代理接收到客户端请求后,按照负载均衡的原则,选择一个查询组件 返回给客户端,所述查询组件更新所述查询组件的客户端请求负载情况。6.如权利要求5所述的构建方法,其特征在于所述启动一个或多个查询组件,在所述数据查询系统开始运行时同时启动所有查询 组件。或者,所述数据查询系统还包括一个负载均衡控制器;所述启动一个或多个查询组 件,是在所述数据查询系统运行过程中,所述负载均衡控制器根据数据查询系统运行指 标或根据接收到的用户的控制命令,向所述查询组件发送启动指令,指示所述查询组件 启动;其中,负载均衡控制器是根据...

【专利技术属性】
技术研发人员:孙鸣
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1