首页> 中国专利> 一种分布式数据库集群系统对等处理系统及处理方法

一种分布式数据库集群系统对等处理系统及处理方法

摘要

本发明公开了一种分布式数据库集群系统对等处理系统,包括数个客户端、数个工作节点和数个存储节点,数个所述工作节点相互关联,形成工作集群,每个所述的客户端用于生成请求信息流发送至工作集群,接收工作集群返回的处理结果集;每个所述工作节点用于与工作集群中的其它工作节点关联,读取请求信息流并将请求信息流转化为数据信息流,对工作集群中的工作节点进行任务分割,对分割后的数据信息流进行中间处理,同时从存储集群获取处理结果集并输出至客户端;每个所述存储节点用于对存储数据进行过滤,接收工作集群的数据信息流,生成处理结果集并输出至工作集群。本发明还公开了一种分布式数据库集群系统对等处理方法。

著录项

说明书

技术领域

本发明属于分布式数据库技术领域,具体涉及一种分布式数据库集群系统对等处理系统及处理方法。

背景技术

分布式数据库系统通常使用较小的计算机系统,每台计算机中都可能有DBMS的一份完整拷贝副本,或者部分拷贝副本,并具有自己局部的数据库,位于不同地点的许多计算机通过网络互相连接,共同组成一个完整的、全局的逻辑上集中、物理上分布的大型数据库。

分布式数据库的数据一般采用对等处理的方式进行,也就是将工作节点相互关联。对于整个工作集群而言,各工作节点相互关联且具有相等的能力,接入其中一个工作节点即可接入整个工作集群。但,目前分布式数据库的数据对等处理方式太过庞杂,处理方式不稳定,不能满足日益发展的需求。

发明内容

本发明所要解决的技术问题便是针对上述现有技术的不足,提供一种分布式数据库集群系统数据分流方法,对等处理的方式简单且处理效率较高。

本发明所采用的技术方案是:一种分布式数据库集群系统对等处理系统,包括数个客户端、数个工作节点和数个存储节点,数个所述工作节点相互关联,形成工作集群,数个所述存储节点相互关联,形成存储集群;

每个所述的客户端用于生成请求信息流发送至工作集群,接收工作集群返回的处理结果集;

每个所述工作节点用于与工作集群中的其它工作节点关联,读取请求信息流并将请求信息流转化为数据信息流,对工作集群中的工作节点进行任务分割,对分割后的数据信息流进行中间处理,同时从存储集群获取处理结果集并输出至客户端;

每个所述存储节点用于对存储在自身节点的数据进行过滤,接收工作集群的数据信息流,生成处理结果集并输出至工作集群。

本发明还公开了一种分布式数据库集群系统对等处理方法,包括以下步骤:

步骤10、客户端连通工作集群中任意一工作节点,发送查询请求至该工作节点;

步骤20、接收查询请求的工作节点根据查询请求的内容进行任务分割并生成查询任务,指定查询任务待发送的目标存储节点,并将该查询任务输出至存储集群中对应的存储节点;

步骤30、存储集群中对应的存储节点根据接收到的查询请求提取相关数据,生成处理结果集,输出至工作集群,对数据进行进一步处理后将数据发送至进行任务分割的工作节点;

步骤40、进行任务分割的工作节点接收处理结果集,将进行中间处理后的结果集输出至客户端。

其中一个实施例中,还包括存储数据过滤步骤,具体如下:

客户端发送过滤条件至工作集群中任意一工作节点,该工作节点接收过滤条件并进行任务分割,将过滤条件传输至存储集群,存储集群中每个存储节点根据过滤条件对存储的数据进行过滤,调取过滤后的数据并生成处理结果集,输出至工作集群,对数据进行进一步处理后输出至接收过滤条件的工作节点。

其中一个实施例中,步骤20中,所述的任务分割,具体如下:

提取生成的数据信息流中包含的存储节点的编号并根据该编号对数据信息流进行分组,将分组后的数据流传输至对应编号的存储节点。

其中一个实施例中,步骤30和存储数据过滤步骤中,所述的对数据进行进一步处理包括数值运算或统计计算。

其中一个实施例中,步骤40中,所述的中间处理,具体如下:

对每个工作节点进行编号,设置每个工作节点可以使用的计算单元总数并按编号顺序设置每个工作节点的计算顺序;

按照工作节点的编号顺序进行计算单元的排列;

根据客户端指定的计算资源总数或默认的计算资源使用数提取每个工作节点的计算单元并对工作集群接收处理结果集进行计算。

其中一个实施例中,步骤40中,包括协助处理步骤,具体如下:

接收请求信息流的工作节点向工作集群中其余的工作节点发送协助处理请求,工作集群中被发送协助处理请求的工作节点接收协助处理请求;

被发送协助处理请求的工作节点接收存储集群生成的处理结果集并进行中间处理。

其中一个实施例中,所述的接收请求信息流的工作节点通过远程调用方式向工作集群中其余的工作节点发送协助处理请求。

本发明的有益效果在于:

1、以工作节点为数据处理的接入点和数据处理的中转点,使得工作节点起到关联客户端和存储节点的作用,数据均在工作节点进行中转,使得数据的处理方式更加简单和明晰;

2、各工作节点间可进行相互协作,使得数据的处理更精准和高效。

附图说明

图1为本发明结构框图。

具体实施方式

下面将结合附图及具体实施例对本发明作进一步详细说明。

如图1所示,本发明公开了一种分布式数据库集群系统对等处理系统,包括数个客户端、数个工作节点和数个存储节点,数个所述工作节点相互关联,形成工作集群,数个所述存储节点相互关联,形成存储集群;

每个所述的客户端用于生成请求信息流发送至工作集群,接收工作集群返回的处理结果集;

每个所述工作节点用于与工作集群中的其它工作节点关联,读取请求信息流并将请求信息流转化为数据信息流,对工作集群中的工作节点进行任务分割,对分割后的数据信息流进行中间处理,同时从存储集群获取处理结果集并输出至客户端;

每个所述存储节点用于对存储在自身节点的数据进行过滤,接收工作集群的数据信息流,生成处理结果集并输出至工作集群。

本分布式数据库集群系统所述的客户端为除数据库服务端以外的所有的连接数据库的工具,包括控制台、驱动和管理器工具等,用户可使用客户端向服务端发送任务请求。

本分布式数据库集群系统所述的工作节点主要功能为接收用户请求并参与数据计算任务,最终将计算处理之后的数据返回给用户;每个工作节点都具有相同的功能场景。

本分布式数据库集群系统所述的存储节点用于管理数据的存储,其包括数据的缓存和持久化存储,可以接收数据访问请求,进行数据扫描和处理,并返回结果。

本分布式数据库集群系统所述的分布式数据库集群是一套系统集群,由多个物理服务器(例如柜式服务器)组成。每个物理服务器赋予不同的集群角色,称为节点,例如工作节点和存储节点。

本发明还公开了一种分布式数据库集群系统对等处理方法,包括以下步骤:

步骤10、客户端连通工作集群中任意一工作节点,发送查询请求至该工作节点;本步骤中,可实现所有工作节点都可以接收客户端的请求,并且可以提高客户端的访问并发数,避免出现单点瓶颈,充分利用硬件资源。连接工作节点时用户需要指定连接的工作节点,或者使用负载均衡分配组件自动分配连接的工作节点。

步骤20、接收查询请求的工作节点根据查询请求的内容进行任务分割并生成查询任务,指定查询任务待发送的目标存储节点,并将该查询任务输出至存储集群中对应的存储节点;本步骤中,接收查询请求的工作节点首先将任务传输给目标存储节点,然后目标存储节点开始扫描数据,这样可以让目标存储节点快速输出数据,减少中间操作步骤。而,整个存储集群中的其它存储节点也可以同时接收任务,实现并发扫描,极大的减少数据访问时间。

步骤30、存储集群中对应的存储节点根据接收到的查询请求提取相关数据,生成处理结果集,输出至工作集群,对数据进行进一步处理后将数据发送至进行任务分割的工作节点;本步骤中,所有的工作节点都可以参与数据计算,实现运算能力的并发执行,缩短运行时间,提高硬件资源利用率。

步骤40、进行任务分割的工作节点接收处理结果集,将进行中间处理后的结果集输出至客户端。本步骤中,接收客户端请求的工作节点,最后将结果返回给客户端;此过程中,用户不会出现访问与结果不一致的情况;并且,在使用负载均衡分配组件的情况下,负载均衡分配组件可以准确获取工作节点的负载情况作为分配参考值。

本实施例中,还包括存储数据过滤步骤,具体如下:

客户端发送过滤条件至工作集群中任意一工作节点,该工作节点接收过滤条件并进行任务分割,将过滤条件传输至存储集群,存储集群中每个存储节点根据过滤条件对存储的数据进行过滤,调取过滤后的数据并生成处理结果集,输出至工作集群,对数据进行进一步处理后输出至接收过滤条件的工作节点。本步骤中,存储节点可以提前根据过滤条件进行数据过滤,找到存储节点中符合用户预期的数据,减少工作节点向下一步骤返回数据时的网络传输量,缩短传输时间。但,执行存储数据过滤步骤时,用户需要给出有效的过滤条件。

本实施例中,步骤20中,所述的任务分割,具体如下:

提取生成的数据信息流中包含的存储节点的编号并根据该编号对数据信息流进行分组,将分组后的数据流传输至对应编号的存储节点。本步骤中,通过提前获取数据的管理信息(例如数据所处的存储节点的编号)可以提前进行任务分配,使任务可以准确进行传输,提高数据访问时间。执行本步骤时,数据的管理信息会在当前进行任务分配的工作节点进行缓存,因此减少了管理信息的获取时间。

本实施例中,步骤30和存储数据过滤步骤中,所述的对数据进行进一步处理包括数值运算或统计计算。本步骤中,存储节点从硬盘上读取数据后,可以根据用户的请求条件进行下一步运算,减少上层节点的计算量,并且缩短请求时间。

本实施例中,步骤40中,所述的中间处理,具体如下:

对每个工作节点进行编号,设置每个工作节点可以使用的计算单元总数并按编号顺序设置每个工作节点的计算顺序;

按照工作节点的编号顺序进行计算单元的排列;

根据客户端指定的计算资源总数或默认的计算资源使用数提取每个工作节点的计算单元并对工作集群接收处理结果集进行计算。

本步骤中,将系统使用权限充分的赋予给用户,但有一定的限制条件,避免用户过度使用硬件资源。为避免硬件资源过度占有,导致硬件和操作系统的调度能力降低,所以需要配置分布式数据库集群可以使用的最大硬件资源,例如CPU核数。另外用户也需要设定当前请求需要使用的计算资源数量。

本实施例中,步骤40中,包括协助处理步骤,具体如下:

接收请求信息流的工作节点向工作集群中其余的工作节点发送协助处理请求,工作集群中被发送协助处理请求的工作节点接收协助处理请求;

被发送协助处理请求的工作节点接收存储集群生成的处理结果集并进行中间处理。

本步骤中,实现了所有工作节点的并行执行。接收请求的工作节点可以调度其它工作节点共同参与从存储节点接受数据并运算,实现了真正的分布式计算。当协助工作的工作节点在接收存储节点的数据时,采用一对一或一对多的方式,即一个工作节点可以从一个或多个存储节点处获取数据,从而避免数据传输混乱和传输瓶颈。

本实施例中,所述的接收请求信息流的工作节点通过远程调用方式向工作集群中其余的工作节点发送协助处理请求。本步骤中,可以进行资源的集中分配和管理。并且,本步骤使用的远程调用的方式可以减少任务传输时间,提高传输的可靠性;同时,在网络故障时可以及时终止任务,避免计算资源的不必要浪费。

本发明中,任务分割时根据分割权重比例进行分割。因为每个存储节点的存储数据的多少由集群系统的均衡算法和权重来分配的,已经基本保证了数据的均衡分布,因此任务分割不需要考虑每个分组的数据分布情况。

在进行任务分割之后,存储节点只进行过滤和调取的工作,因此需要对存储节点反馈的数据进行一定的分析处理,因此需要进行中间处理。而,本申请中的中间处理是按照用户指定的计算资源总数或者根据默认的计算资源使用数来进行计算节点的分配。

本申请中所述的数据过滤实际上是对数据的裁剪,裁剪的条件由客户端发起,每个存储节点均可根据裁剪条件对存储的数据进行过滤,这样的操作可大大减少网络上的数据传输。

本发明以工作节点为数据处理的接入点和数据处理的中转点,使得工作节点起到关联客户端和存储节点的作用,数据均在工作节点进行中转,使得数据的处理方式更加简单和明晰;各工作节点间可进行相互协作,使得数据的处理更精准和高效。

以上所述实施例仅表达了本发明的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号