CN112632193A - 一种分布式数据库集群系统数据分流方法 - Google Patents

一种分布式数据库集群系统数据分流方法 Download PDF

Info

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
Application number
CN202110254934.8A
Other languages
English (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.)
Chengdu Xugu Weiye Technology Co ltd
Original Assignee
Chengdu Xugu Weiye Technology 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 Chengdu Xugu Weiye Technology Co ltd filed Critical Chengdu Xugu Weiye Technology Co ltd
Priority to CN202110254934.8A priority Critical patent/CN112632193A/zh
Publication of CN112632193A publication Critical patent/CN112632193A/zh
Withdrawn legal-status Critical Current

Links

Images

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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/278Data partitioning, e.g. horizontal or vertical partitioning
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • 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

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中,客户端连通工作服务器中的任意一工作节点,即可与工作服务器连通。
CN202110254934.8A 2021-03-09 2021-03-09 一种分布式数据库集群系统数据分流方法 Withdrawn CN112632193A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 广州虎牙科技有限公司 分布式任务调度方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
SC_WUSHENGYONG: "虚谷DBMS介绍", 《HTTPS://WENKU.BAIDU.COM/VIEW/A5066C6EF5335A8102D22034.HTML》 *

Cited By (2)

* Cited by examiner, † Cited by third party
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