CN112632193A - 一种分布式数据库集群系统数据分流方法 - Google Patents
一种分布式数据库集群系统数据分流方法 Download PDFInfo
- Publication number
- CN112632193A CN112632193A CN202110254934.8A CN202110254934A CN112632193A CN 112632193 A CN112632193 A CN 112632193A CN 202110254934 A CN202110254934 A CN 202110254934A CN 112632193 A CN112632193 A CN 112632193A
- Authority
- CN
- China
- Prior art keywords
- server
- data
- information flow
- master
- control information
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种分布式数据库集群系统数据分流方法,包括如下步骤:设置主控服务器并设置所管理的数据对象;设置数据对象的标识,关联主控服务器;设置工作服务器;设置存储服务器;主控服务器分别连接工作服务器与存储服务器;客户端连通工作服务器;工作服务器接收请求信息流,处理后转化为控制信息流;识别控制信息流,将该控制信息流与数据对象进行匹配;生成处理后的控制信息流并将其输出至存储服务器;调取与元数据对应的数据并转化为数据信息流;工作服务器获取数据信息流,处理后生成处理结果集,输出至客户端。本发明极大的降低了网络流量,减轻了主控服务器的工作负载。
Description
技术领域
本发明属于分布式数据库技术领域,具体涉及一种分布式数据库集群系统数据分流方法。
背景技术
分布式数据库系统通常使用较小的计算机系统,每台计算机中都可能有DBMS的一份完整拷贝副本,或者部分拷贝副本,并具有自己局部的数据库,位于不同地点的许多计算机通过网络互相连接,共同组成一个完整的、全局的逻辑上集中、物理上分布的大型数据库。
分布式数据库的数据处理一般是由主控服务器、工作服务器和存储服务器完成。目前,市面上常规的数据处理方式是采用MPP系统进行处理。这样的处理方式大多是由主控服务器接受用户请求,然后进行任务分配。这样的方式,主控服务器的数据流过大,主控服务器的工作负载过大,时间一长主控服务器就会成为整个系统中的一个性能瓶颈。因此,要如何保证整个数据处理过程中的安全稳定,是亟待解决的问题。
发明内容
本发明所要解决的技术问题便是针对上述现有技术的不足,提供一种分布式数据库集群系统数据分流方法,工作服务器和主控服务器之间只有控制信息流和元数据流,而无直接的数据信息流,这样的设计,极大的降低了网络流量,减轻了主控服务器的工作负载。
本发明所采用的技术方案是:一种分布式数据库集群系统数据分流方法,包括如下步骤:
步骤10、设置数个主控服务器并设置每个主控服务器所管理的数据对象;
步骤20、设置每个数据对象的标识,关联该标识与主控服务器;
步骤30、设置数个工作节点,依次连接每个工作节点,形成工作服务器;
步骤40、设置数个存储节点,依次连接每个存储节点,形成存储服务器;
步骤50、主控服务器分别连接工作服务器与存储服务器;
步骤60、客户端连通工作服务器,发送查询请求并生成对应的请求信息流,传输至工作服务器;
步骤70、工作服务器接收请求信息流,处理后转化为控制信息流;
步骤80、工作服务器识别控制信息流,将该控制信息流与数据对象进行匹配,将完成匹配的控制信息流输出至与之关联的主控服务器;
步骤90、主控服务器接收并处理该控制信息流,获取该控制信息流对应的存储于主控服务器中的元数据,生成处理后的控制信息流并将其输出至存储服务器;
步骤100、存储服务器接收处理后的控制信息流,调取与元数据对应的数据并转化为数据信息流,输出至工作服务器;
步骤110、工作服务器获取数据信息流,处理后生成处理结果集,输出至客户端。
其中一个实施例中,步骤10中,每个所述的主控服务器均包括一个主控节点和至少一个备用节点,依次连接主控节点和每个备用节点,构成主控服务器。
其中一个实施例中,所述的主控节点死亡后,依次启动备用节点。
其中一个实施例中,步骤20中,数据对象的标识与主控服务器通过HASH关联。
其中一个实施例中,步骤20中,需控制每个数据对象的标识在合理的范围内,具体如下:
每个主控服务器分配其管理的每个数据对象的标识且通过该主控服务器自身的唯一性算法为每个数据对象设置唯一的标识,并按每个数据对象的分配顺序由小到大分配标识。
其中一个实施例中,步骤60中,客户端通过网络负载均衡器与工作服务器连通。
其中一个实施例中,步骤60中,客户端连通工作服务器中的任意一工作节点,即可与工作服务器连通。
本发明的有益效果在于:客户端的请求信息流经工作服务器处理后传输至主控服务器,主控服务器处理后,直接通过存储服务器调取数据至工作服务器,因此,工作服务器和主控服务器之间只有控制信息流和存储于主控服务器中的元数据流,而无直接的数据信息流,这样的设计,极大的降低了网络流量,减轻了主控服务器的工作负载。
附图说明
图1为本发明结构框图。
具体实施方式
下面将结合附图及具体实施例对本发明作进一步详细说明。
如图1所示,本发明公开了一种分布式数据库集群系统数据分流方法,包括如下步骤:
步骤10、设置数个主控服务器并设置每个主控服务器所管理的数据对象;本步骤中,由主控服务器对数据对象的存放位置进行管理。主控服务器包括主控节点和备用节点。其中,主控节点为主节点,负责对外提供数据对象信息的访问;备份节点用于提供高可用服务。所述的数据对象为数据库管理数据时的最小单位,一个数据对象可以包含多条数据。
步骤20、设置每个数据对象的标识,关联该标识与主控服务器;本步骤中,对每一个数据对象都分配一个全局唯一的标识符,用于标识数据对象的全局唯一性,避免数据对象出现重复的情况。所述的数据对象标识为能够唯一标识数据对象在整个集群中的编号。
步骤30、设置数个工作节点,依次连接每个工作节点,形成工作服务器;本步骤中,可形成工作服务器,以用于处理用户的访问请求。工作服务器由多个工作节点组成,可以提高客户端的访问能力,增强数据的计算能力,并且可以对工作服务器的节点进行扩展。
步骤40、设置数个存储节点,依次连接每个存储节点,形成存储服务器;本步骤中,通过形成的存储服务器来进行数据对象的实际存储和读取。存储服务器由多个存储节点组成,提供更多的存储容量,实现数据的分散存储,提高数据的访问能力,并且可以对存储服务器的节点进行扩展。
步骤50、主控服务器分别连接工作服务器与存储服务器;本步骤中,工作服务器的每个节点与主控服务器进行连接,可以访问主控服务器上的数据对象的标识。存储服务器与主控服务器进行连接,使主控服务器在分配存储对象存放位置时可以根据实际存储服务器的情况进行分配。
步骤60、客户端连通工作服务器,发送查询请求并生成对应的请求信息流,传输至工作服务器;本步骤中,客户端发送的请求会由对应的工作节点进行接收,并由该工作节点进行处理生成请求信息流。请求信息流包含用户的请求信息、数据结构信息等信息。
步骤70、工作服务器接收请求信息流,处理后转化为控制信息流;本步骤中,将请求信息流转化为控制信息流,控制信息流包含数据对象的标识、数据对象存放的存储节点等信息。
步骤80、工作服务器识别控制信息流,将该控制信息流与数据对象进行匹配,将完成匹配的控制信息流输出至与之关联的主控服务器;本步骤中,与主控服务器进行交互,获取数据对象的控制信息,形成独立的访问流。由于数据对象的控制信息流并不是持续变化的或控制信息流只是进行增量的变化,因此可以在工作服务器缓存数据对象的控制信息流,从而减少对主控服务器的访问。
步骤90、主控服务器接收并处理该控制信息流,获取该控制信息流对应的存储于主控服务器中的元数据,生成处理后的控制信息流并将其输出至存储服务器;本步骤中,产生的控制信息流将直接下放至存储服务器,减少返回给工作服务器的中间访问次数。因此,可让控制信息流实现顺序流转,减少交互,避免冲突访问。本步骤中,可以在工作服务器缓存数据对象的元数据信息,从而减少对主控服务器的访问。所述的元数据为数据对象存储信息的基本单位信息,包含存储节点的编号、存放的文件地址、所属的数据对象等数据。
步骤100、存储服务器接收处理后的控制信息流,调取与元数据对应的数据并转化为数据信息流,输出至工作服务器;本步骤中,可进行控制信息流到数据信息流的转换,获取用户需要访问的初始数据,并且产生的数据信息流不再原路返回,而是输出至工作服务器,进行后续的计算。因此,本步骤是控制信息流的终点,同时是数据信息流的起点。本步骤实现了控制信息流和数据信息流的分开流转,从而减少了网络冲突,实现数据的快速传递。
步骤110、工作服务器获取数据信息流,处理后生成处理结果集,输出至客户端。本步骤中,工作服务器接收存储服务器的数据信息流之后,将进行进一步的计算任务,例如求和、分组统计等操作。
本实施例中,步骤10中,每个所述的主控服务器均包括一个主控节点和至少一个备用节点,依次连接主控节点和每个备用节点,构成主控服务器。主控节点主要进行当前分布式数据库集群中数据对象的管理;备用节点用于保证当前分布式数据库集群的主控节点高可用,避免因硬件故障引起的主控节点死亡,而造成当前分布式数据库集群不可用、甚至导致数据对象管理信息分配故障的情况出现。因此,主控服务器中需要包含一个主控节点和至少一个备用节点,当主控服务器全部失效时,分布式数据库集群将停止对外提供服务器。
本实施例中,所述的主控节点死亡后,依次启动备用节点。上述方式,实现了数据对象的集中管理,同时也保证了主控节点的高可用,防止硬件故障等其它因素导致集群的不可用,使数据库集群具有容错性。所述的节点死亡也称节点宕机,是由外部因素(例如物理机故障、数据库节点进程崩溃等因素)引起分布式数据库集群节点故障的现象。由于分布式数据库集群中的每个节点都将被设置一个节点号来唯一标识。同时,一个分布式数据库集群正常情况下只有一个主控节点。因此,为了保证高可用,需要对主控节点进行镜像备份,备用节点可以设置一个或多个。如果主控节点出现故障,将按照备用节点的节点号顺序进行切换,不需要在备用节点间进行随机选择。
本实施例中,步骤20中,数据对象的标识与主控服务器通过HASH关联。上述方式,利用HASH的特性避免数据对象的标识在主控服务器管理的时候出现不均匀的情况,提高了数据对象标识的访问速度。同时,数据对象被删除的时候,标识可以回收继续分配给新的数据对象重复使用。所述的HASH一般翻译做散列、杂凑,或音译为哈希,是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。
本实施例中,步骤20中,需控制每个数据对象的标识在合理的范围内,具体如下:
每个主控服务器分配其管理的每个数据对象的标识且通过该主控服务器自身的唯一性算法为每个数据对象设置唯一的标识,并按每个数据对象的分配顺序由小到大分配标识。
上述方式,首先由主控服务器进行分配管理,保证标识在产生的过程中具有唯一性。其次,在分配标识给数据对象的时候,是由标识编号的从大到小的顺序进行分配的。其优势在于利用本步骤的策略可以实现全局唯一和集中管理。
本实施例中,步骤60中,客户端通过网络负载均衡器与工作服务器连通。上述方式,从降低用户投入成本的角度出发,不限制用户网络负载均衡器的选择。同时,用户不用手动选择工作服务器,而是交由负载均衡器根据实际的负载情况选择工作服务器进行接入,可减少用户的手动控制,实现资源自动调度。所述的网络负载均衡器通过判断当前各个工作服务器的实际硬件资源情况,选择当前压力较小的一个工作服务器,进行与客户端的连接。
本实施例中,步骤60中,客户端连通工作服务器中的任意一工作节点,即可与工作服务器连通。上述方式,可避免出现访问瓶颈,提高客户端的访问速度和分布式数据库集群处理高并发请求的能力。并且,通过工作服务器的横向扩展,可增强处理的能力。因此,上述方式,既可以通过工作节点的扩展达到性能的提升,也可以通过缩减工作节点的数量达到节约资源的目的。
为了保证每个数据对象的标识都被控制在合理的范围内,每个数据对象的标识分配必须由管理它的主控服务器进行分配。
本发明的客户端的请求信息流经工作服务器处理后传输至主控服务器,主控服务器处理后,直接通过存储服务器调取数据至工作服务器,因此,工作服务器和主控服务器之间只有控制信息流和存储于主控服务器中的元数据流,而无直接的数据信息流,这样的设计,极大的降低了网络流量,减轻了主控服务器的工作负载。
以上所述实施例仅表达了本发明的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (7)
1.一种分布式数据库集群系统数据分流方法,其特征在于,包括如下步骤:
步骤10、设置数个主控服务器并设置每个主控服务器所管理的数据对象;
步骤20、设置每个数据对象的标识,关联该标识与主控服务器;
步骤30、设置数个工作节点,依次连接每个工作节点,形成工作服务器;
步骤40、设置数个存储节点,依次连接每个存储节点,形成存储服务器;
步骤50、主控服务器分别连接工作服务器与存储服务器;
步骤60、客户端连通工作服务器,发送查询请求并生成对应的请求信息流,传输至工作服务器;
步骤70、工作服务器接收请求信息流,处理后转化为控制信息流;
步骤80、工作服务器识别控制信息流,将该控制信息流与数据对象进行匹配,将完成匹配的控制信息流输出至与之关联的主控服务器;
步骤90、主控服务器接收并处理该控制信息流,获取该控制信息流对应的存储于主控服务器中的元数据,生成处理后的控制信息流并将其输出至存储服务器;
步骤100、存储服务器接收处理后的控制信息流,调取与元数据对应的数据并转化为数据信息流,输出至工作服务器;
步骤110、工作服务器获取数据信息流,处理后生成处理结果集,输出至客户端。
2.根据权利要求1所述的一种分布式数据库集群系统数据分流方法,其特征在于,步骤10中,每个所述的主控服务器均包括一个主控节点和至少一个备用节点,依次连接主控节点和每个备用节点,构成主控服务器。
3.根据权利要求2所述的一种分布式数据库集群系统数据分流方法,其特征在于,所述的主控节点死亡后,依次启动备用节点。
4.根据权利要求1所述的一种分布式数据库集群系统数据分流方法,其特征在于,步骤20中,数据对象的标识与主控服务器通过HASH关联。
5.根据权利要求4所述的一种分布式数据库集群系统数据分流方法,其特征在于,步骤20中,需控制每个数据对象的标识在合理的范围内,具体如下:
每个主控服务器分配其管理的每个数据对象的标识且通过该主控服务器自身的唯一性算法为每个数据对象设置唯一的标识,并按每个数据对象的分配顺序由小到大分配标识。
6.根据权利要求1所述的一种分布式数据库集群系统数据分流方法,其特征在于,步骤60中,客户端通过网络负载均衡器与工作服务器连通。
7.根据权利要求6所述的一种分布式数据库集群系统数据分流方法,其特征在于,步骤60中,客户端连通工作服务器中的任意一工作节点,即可与工作服务器连通。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110254934.8A CN112632193A (zh) | 2021-03-09 | 2021-03-09 | 一种分布式数据库集群系统数据分流方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110254934.8A CN112632193A (zh) | 2021-03-09 | 2021-03-09 | 一种分布式数据库集群系统数据分流方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112632193A true CN112632193A (zh) | 2021-04-09 |
Family
ID=75297754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110254934.8A Withdrawn CN112632193A (zh) | 2021-03-09 | 2021-03-09 | 一种分布式数据库集群系统数据分流方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112632193A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113590316A (zh) * | 2021-07-23 | 2021-11-02 | 中共四川省委组织部 | 一种基于国产cpu的数据库集群处理方法 |
CN114358666A (zh) * | 2022-03-21 | 2022-04-15 | 成都奕阳现代科技有限公司 | 一种川菜工业化生产过程质量控制方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110196827A1 (en) * | 2010-02-09 | 2011-08-11 | Yonatan Zunger | Method and system for efficiently replicating data in non-relational databases |
CN103246741A (zh) * | 2013-05-20 | 2013-08-14 | 成都市欧冠信息技术有限责任公司 | 分布式数据库系统的远程快速调用方法 |
US20170262504A1 (en) * | 2016-03-11 | 2017-09-14 | Sap Se | Dynamic aggregation of queries |
CN109684412A (zh) * | 2018-12-25 | 2019-04-26 | 成都虚谷伟业科技有限公司 | 一种分布式数据库系统 |
CN110928943A (zh) * | 2018-08-29 | 2020-03-27 | 阿里巴巴集团控股有限公司 | 一种分布式数据库及数据写入方法 |
CN111897638A (zh) * | 2020-07-27 | 2020-11-06 | 广州虎牙科技有限公司 | 分布式任务调度方法及系统 |
-
2021
- 2021-03-09 CN CN202110254934.8A patent/CN112632193A/zh not_active Withdrawn
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110196827A1 (en) * | 2010-02-09 | 2011-08-11 | Yonatan Zunger | Method and system for efficiently replicating data in non-relational databases |
CN103246741A (zh) * | 2013-05-20 | 2013-08-14 | 成都市欧冠信息技术有限责任公司 | 分布式数据库系统的远程快速调用方法 |
US20170262504A1 (en) * | 2016-03-11 | 2017-09-14 | Sap Se | Dynamic aggregation of queries |
CN110928943A (zh) * | 2018-08-29 | 2020-03-27 | 阿里巴巴集团控股有限公司 | 一种分布式数据库及数据写入方法 |
CN109684412A (zh) * | 2018-12-25 | 2019-04-26 | 成都虚谷伟业科技有限公司 | 一种分布式数据库系统 |
CN111897638A (zh) * | 2020-07-27 | 2020-11-06 | 广州虎牙科技有限公司 | 分布式任务调度方法及系统 |
Non-Patent Citations (1)
Title |
---|
SC_WUSHENGYONG: "虚谷DBMS介绍", 《HTTPS://WENKU.BAIDU.COM/VIEW/A5066C6EF5335A8102D22034.HTML》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113590316A (zh) * | 2021-07-23 | 2021-11-02 | 中共四川省委组织部 | 一种基于国产cpu的数据库集群处理方法 |
CN114358666A (zh) * | 2022-03-21 | 2022-04-15 | 成都奕阳现代科技有限公司 | 一种川菜工业化生产过程质量控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106789362B (zh) | 一种设备管理方法及网管系统 | |
US10275184B2 (en) | Framework for volatile memory query execution in a multi node cluster | |
US10002148B2 (en) | Memory-aware joins based in a database cluster | |
US8639816B2 (en) | Distributed computing based on multiple nodes with determined capacity selectively joining resource groups having resource requirements | |
US7370029B2 (en) | Method of changing system configuration in shared-nothing database management system | |
JP2003022209A (ja) | 分散サーバーシステム | |
CN103905537A (zh) | 分布式环境下管理工业实时数据存储的系统 | |
CN112632193A (zh) | 一种分布式数据库集群系统数据分流方法 | |
WO2022222579A1 (zh) | 一种基于数据库中间件集群的高可用客户端负载均衡方法 | |
CN110740155B (zh) | 分布式系统中的请求处理方法及装置 | |
CN107277144B (zh) | 一种分布式高并发云存储数据库系统及其负荷均衡方法 | |
CN112948178A (zh) | 一种数据处理方法、装置、系统、设备及介质 | |
US5720024A (en) | Highly reliable distributed computing system | |
CN111209305B (zh) | 查询数据的方法、数据节点、分布式数据库、计算设备 | |
CN110113217B (zh) | 微服务管理方法、装置、管理平台及存储介质 | |
CN110928911A (zh) | 审校请求处理系统、方法、装置、计算机可读存储介质 | |
CN109298949A (zh) | 一种分布式文件系统的资源调度系统 | |
CN108459926B (zh) | 数据异地备份方法、装置及计算机可读介质 | |
CN108400999B (zh) | 一种数据库集群镜像节点的负载均衡方法及装置 | |
CN112380040B (zh) | 一种消息处理的方法、装置、电子设备及存储介质 | |
CN115102961A (zh) | 一种高并发网络访问分流方法及装置 | |
CN115604271A (zh) | 一种基于微服务的软硬件互补的负载均衡方法 | |
CN112597173A (zh) | 一种分布式数据库集群系统对等处理系统及处理方法 | |
CA2431424A1 (en) | Method and apparatus for distributing and reusing object identifiers | |
CN112527760A (zh) | 数据存储方法、装置、服务器及介质 |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210409 |