分布式数据库系统的制作方法
未命名
07-23
阅读:154
评论:0
1.本发明涉及数据库技术领域,尤其是涉及一种分布式数据库系统。
背景技术:
2.分布式数据库为了实现分布式数据管理,将数据在多个数据中心的多台服务器节点上进行分布存储,并在各种事务处理过程中频繁的在各节点之间进行数据的异地调度和落盘存储。在一些数据量大的应用系统中,需要将海量数据按照一定的算法分布在多个数据库中。随着时间的推移和数据的增多,数据的分布不再均衡,导致有些数据库压力过大,有些数据库压力偏小,压力过大会对数据库服务器的cpu、内存等资源、网络带宽造成极大的影响,压力过小则不能充分利用服务器资源,造成资源的浪费。
技术实现要素:
3.针对以上至少一个技术问题,本发明实施例提供一种分布式数据库系统。
4.本发明实施例提供的分布式数据库系统包括一个云数据库节点和多个分布式数据库节点,各个分布式数据库节点均通过网络与所述云数据库节点通信连接,其中:
5.所述云数据库节点中的控制单元用于:监测各个分布式数据库节点各自的存储压力;在一个分布式数据库节点的存储压力达到阈值时,调用负载均衡进程,通过所述负载均衡进程将该分布式数据库节点中的部分数据转移至存储压力未达到阈值的分布式数据库节点中,以实现负载均衡。
6.本发明实施例提供的分布式数据库系统,由于该系统中包括云数据库节点,该节点中的控制单元监测各个分布式数据库节点各自的存储压力;在一个分布式数据库节点的存储压力达到阈值时,调用负载均衡进程,通过所述负载均衡进程将该分布式数据库节点中的部分数据转移至存储压力未达到阈值的分布式数据库节点中,以实现负载均衡,从而避免资源的浪费。
附图说明
7.图1为本发明一个实施例中分布式数据库系统的架构示意图;
8.图2为本发明一个实施例中分布式数据库系统中各个分布式数据库节点中的数据分级的示意图;
9.图3为本发明一个实施例中分布式数据库系统中各个分布式数据库节点中负载均衡后的数据分布示意图。
具体实施方式
10.第一方面,本发明实施例提供一种分布式数据库系统,参见图1~3,该系统包括一个云数据库节点和多个分布式数据库节点,各个分布式数据库节点均通过网络与所述云数据库节点通信连接,其中:
11.所述云数据库节点中的控制单元用于:监测各个分布式数据库节点各自的存储压力;在一个分布式数据库节点的存储压力达到阈值时,调用负载均衡进程,通过所述负载均衡进程将该分布式数据库节点中的部分数据转移至存储压力未达到阈值的分布式数据库节点中,以实现负载均衡。
12.也就是说,分布式数据库系统中不仅包括多个分布式数据库节点,还包括一个云数据库节点,该云数据库节点具有数据存储的能力,还作为负载分析中心和数据中转中心,实时监测各分布式数据库节点的负载压力、用户活跃程度等。各个分布式数据库节点管理本地的数据,实现分布式数据库节点所需的基本功能和存储需求。
13.在一个实施例中,所述云数据库节点中的控制单元还可以用于:根据各个分布式数据库节点的用户访问记录和数据访问记录,通过神经网络模型,预测各个分布式数据库节点各自在未来预设时间段内的预活跃数据,并将各个分布式数据库的预活跃数据存储在所述云数据库节点中,以供各个分布式数据库节点调用。
14.由于云数据库节点能够通过神经网络模型进行预活跃数据的预测,因此云数据库节点具有人工智能的计算能力,因此云数据库节点也称为ai云数据库。各个分布式数据库节点即图1中的节点数据库1~n,n为大于1的正整数。
15.可理解的是,云数据库节点作为分布式数据库系统的负载分析中心和数据中转中心,并承担一定的存储功能。云数据库节点通过ai预测出各个分布式数据库节点各自的预活跃数据后,在数据迁移过程中,将各个分布式数据库节点的预活跃数据存储在云数据库节点中。在分布式数据库节点访问到预活跃数据时,不需从其他节点进行调取,只需访问云数据库节点即可,降低了数据传输开销。
16.在一个实施例中,所述云数据库节点中的控制单元还可以用于:根据各个分布式数据库节点各自的用户访问记录,将各个分布式数据库节点划分为不同活跃度等级的节点;根据各个分布式数据库节点的活跃度等级,对各个分布式数据库节点进行数据存储规划。
17.也就是说,云数据库节点的控制单元(例如,云数据库节点的cpu)会根据各个分布式数据库节点各自的用户访问记录,得到各个分布式数据库节点各自的用户访问量,一个分布式数据库节点的用户访问量越大,则说明这个分布式数据库节点的活跃度越高,因此将该分布式数据库节点的活跃度等级设置的越高。这样云数据库节点在进行负载均衡时,可以根据各个分布式数据库节点的活跃度等级,对各个分布式数据库节点进行数据存储规划,即对各个分布式数据库节点的数据存储进行规划。例如,活跃度等级越高的分布式数据库节点可以多存储较为重要的数据,活跃度等级较低的分布式数据库节点可以多存储没那么重要的数据。
18.在一个实施例中,各个分布式数据库节点可以被划分为活跃度等级依次降低的一级活跃节点、二级活跃节点和三级活跃节点;所述一级活跃节点、所述二级活跃节点和所述三级活跃节点的用户访问量依次下降。
19.可见,一级活跃节点的用户访问量最大,三级活跃节点的用户访问量最小,二级活跃节点的用户访问量在最大和最小之间。
20.进一步的,所述云数据库节点中的控制单元可以进一步用于:根据每一个分布式数据库节点的数据访问记录,将该分布式数据库节点中的数据划分为不同活跃度等级的数
据;根据各个分布式数据库节点的活跃度等级和每一个分布式数据库节点中各个数据的活跃度等级,对各个分布式数据库节点进行数据存储规划。
21.也就是说,在对各个分布式数据库节点进行数据存储规划时,不仅需要考虑各个分布式数据库节点的活跃度等级,还要考虑每一个分布式数据库节点中的各个数据的活跃度等级。依据各个分布式数据库节点的活跃度等级和每一个分布式数据库节点中各个数据的活跃度等级,综合来对各个分布式数据库节点进行数据存储的规划。
22.可知,每一个分布式数据库节点具有对应的活跃度等级,该活跃度等级是节点的活跃度等级,是依据该分布式数据库节点的用户访问记录而确定的。而每一个分布式数据库节点中的每一个数据还具有对应的活跃度等级,该活跃度等级是数据的活跃度等级,是数据访问记录确定的。用户访问记录体现的是用户访问量,数据访问记录体现的是数据访问频率。
23.在一个实施例中,每一个分布式数据库节点中的数据可以被划分为活跃度等级依次降低的一级活跃数据、二级活跃数据和三级活跃数据;所述一级活跃数据、所述二级活跃数据和所述三级活跃数据的数据访问频率依次下降。
24.可见,一级活跃数据的数据访问频率最大,三级活跃数据的数据访问频率最小,二级活跃数据的数据访问频率位于最大和最小之间。
25.在一个实施例中,所述云数据库节点中的控制单元可以具体用于:控制活跃度等级越高的节点存储越多的活跃度等级越高的数据,以实现数据存储规划。
26.也就是说,云数据库节点中的控制单元在根据各个分布式数据库节点的活跃度等级和每一个分布式数据库节点中各个数据的活跃度等级,对各个分布式数据库节点进行数据存储规划时,可以使得活跃度等级较高的分布式数据库节点存储较多的数据,且该数据为活跃度等级较高的数据。
27.即,一个分布式数据节点的活跃度等级越高,则该节点中活跃度等级较高的数据的占比较高,活跃度等级较低的数据的占比较低。
28.具体的,参见图3,所述云数据库节点中的控制单元可以具体用于:控制所述一级活跃节点存储自己的一级活跃数据,根据所述一级活跃节点的余量存储相应量的二级活跃数据,并将其余的活跃数据转移至所述三级活跃节点中进行存储。
29.可理解的是,一级活跃节点的用户访问量大,一级活跃节点中的一级活跃数据的数据量也较为庞大,因此一级活跃节点的cpu性能和存储空间的负载较大,因此在一级活跃节点中只保留一级活跃数据,根据存储空间的余量保留一部分二级活跃数据,将其余的二级活跃与三级活跃数据迁出至低等级的活跃节点中,例如,三级活跃节点。
30.具体的,参见图3,所述云数据库节点中的控制单元可以具体用于:控制所述二级活跃节点存储自己的一级活跃数据和二级活跃数据,并将自己的三级活跃数据转移至所述三级活跃节点中进行存储。
31.可理解的是,二级活跃节点的用户访问量和活跃等级较高的数据量相对适中,cpu性能和存储空间有相对余量,因此保留一级活跃数据、二级活跃数据,将三级活跃数据迁出至低等级活跃节点,例如,三级活跃节点。
32.具体的,参见图3,所述云数据库节点中的控制单元可以具体用于:控制所述三级活跃节点存储自己的一级活跃数据、二级活跃数据和三级活跃数据,并将从活跃度等级较
高的分布式数据库节点转移来的数据进行存储。
33.可理解的是,三级活跃节点通常用户访问量较小,活跃等级较高的数据量也较少,cpu性能和存储空间拥有较大余量,因此三级活跃节点保留本节点所有等级数据,并可接收高等级活跃节点的二级或三级活跃数据。
34.可理解的是,一级活跃节点通常为经济发达城市部署的数据库节点,用户访问量大;三级活跃节点通常为经济较为落后地区部署的数据库节点,用户访问量很少。活跃等级较高的分布式数据库节点中的一级活跃数据的数据量是比较大的。
35.可见,云数据库节点在进行负载均衡时,不仅考虑到各个分布式数据库节点的存储压力等信息,还考虑到分布式数据库节点的活跃度等级、分布式数据库节点中的数据的活跃度等级,实现合理的存储规划。
36.可理解的是,由于分布式数据库节点较为分散,因为经济或地理等原因,不同分布式数据库节点的cpu性能、存储性能和活跃用户数量会有很大差异,以往的负载均衡方法大多数根据过去一段时间的用户活跃数据来进行数据迁移,以此达到负载均衡的目的,但这种方法不能预测用户行为,当前未活跃用户在未来可能继续活跃,也可能不再活跃,以此造成负载均衡过程后,数据库节点间需要频繁交换数据。而本发明实施例提供的系统中的ai云数据库中的控制单元可以基于ai预测出未来一段时间内的预活跃数据,进而将预活跃数据存储在ai云数据库中,可以避免后续数据库节点之间需要进行频繁的数据交换操作。
37.可理解的是,本发明实施例结合ai人工智能提出一种分布式数据库系统。该系统中使用云数据库节点作为负载分析中心和数据中转中心,比较各个分布式数据库节点的用户活跃情况,以确定各个分布式数据库节点各自对应的活跃度等级。针对每一个分布式数据库节点,比较各个数据的数据活跃情况,以确定每一个分布式数据库节点中各个数据各自对应的活跃度等级。根据均衡算法、各个分布式数据库节点的cpu和存储压力,计算迁移数据与迁移路径,将活跃等级较高的分布式数据库节点中的活跃等级较低的数据迁移至活跃等级较低的活跃节点中,实现数据的合理存储布局,充分利用各个分布式数据库节点的cpu性能和存储空间。而且,本发明实施例中云数据库节点还会预测出每一个分布式数据局节点的预活跃数据,然后将预活跃数据存储在云数据库节点中,降低分布式数据局节点访问其他分布式数据库节点的通信开销。可见,本发明实施例提供的系统可以解决分布式数据库节点之间负载失衡、均衡过程通信开销大的问题。
38.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
39.本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、挂件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
40.以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
技术特征:
1.一种分布式数据库系统,其特征在于,包括一个云数据库节点和多个分布式数据库节点,各个分布式数据库节点均通过网络与所述云数据库节点通信连接,其中:所述云数据库节点中的控制单元用于:监测各个分布式数据库节点各自的存储压力;在一个分布式数据库节点的存储压力达到阈值时,调用负载均衡进程,通过所述负载均衡进程将该分布式数据库节点中的部分数据转移至存储压力未达到阈值的分布式数据库节点中,以实现负载均衡。2.根据权利要求1所述的系统,其特征在于,所述云数据库节点中的控制单元还用于:根据各个分布式数据库节点的用户访问记录和数据访问记录,通过神经网络模型,预测各个分布式数据库节点各自在未来预设时间段内的预活跃数据,并将各个分布式数据库的预活跃数据存储在所述云数据库节点中,以供各个分布式数据库节点调用。3.根据权利要求1所述的系统,其特征在于,所述云数据库节点中的控制单元还用于:根据各个分布式数据库节点各自的用户访问记录,将各个分布式数据库节点划分为不同活跃度等级的节点;根据各个分布式数据库节点的活跃度等级,对各个分布式数据库节点进行数据存储规划。4.根据权利要求3所述的系统,其特征在于,所述云数据库节点中的控制单元进一步用于:根据每一个分布式数据库节点的数据访问记录,将该分布式数据库节点中的数据划分为不同活跃度等级的数据;根据各个分布式数据库节点的活跃度等级和每一个分布式数据库节点中各个数据的活跃度等级,对各个分布式数据库节点进行数据存储规划。5.根据权利要求4所述的系统,其特征在于,所述云数据库节点中的控制单元具体用于:控制活跃度等级越高的节点存储越多的活跃度等级越高的数据,以实现数据存储规划。6.根据权利要求5所述的系统,其特征在于,各个分布式数据库节点被划分为活跃度等级依次降低的一级活跃节点、二级活跃节点和三级活跃节点;所述一级活跃节点、所述二级活跃节点和所述三级活跃节点的用户访问量依次下降。7.根据权利要求6所述的系统,其特征在于,每一个分布式数据库节点中的数据被划分为活跃度等级依次降低的一级活跃数据、二级活跃数据和三级活跃数据;所述一级活跃数据、所述二级活跃数据和所述三级活跃数据的数据访问频率依次下降。8.根据权利要求7所述的系统,其特征在于,所述云数据库节点中的控制单元具体用于:控制所述一级活跃节点存储自己的一级活跃数据,根据所述一级活跃节点的余量存储相应量的二级活跃数据,并将其余的活跃数据转移至所述三级活跃节点中进行存储。9.根据权利要求7所述的系统,其特征在于,所述云数据库节点中的控制单元具体用于:控制所述二级活跃节点存储自己的一级活跃数据和二级活跃数据,并将自己的三级活跃数据转移至所述三级活跃节点中进行存储。10.根据权利要求7所述的系统,其特征在于,所述云数据库节点中的控制单元具体用于:控制所述三级活跃节点存储自己的一级活跃数据、二级活跃数据和三级活跃数据,并将从活跃度等级较高的分布式数据库节点转移
来的数据进行存储。
技术总结
本发明提供一种分布式数据库系统,系统包括一个云数据库节点和多个分布式数据库节点,各个分布式数据库节点均通过网络与所述云数据库节点通信连接,其中:所述云数据库节点中的控制单元用于:监测各个分布式数据库节点各自的存储压力;在一个分布式数据库节点的存储压力达到阈值时,调用负载均衡进程,通过所述负载均衡进程将该分布式数据库节点中的部分数据转移至存储压力未达到阈值的分布式数据库节点中,以实现负载均衡,从而避免资源的浪费。费。费。
技术研发人员:于帆 赵鑫鑫 姜凯 王雄儒
受保护的技术使用者:山东浪潮科学研究院有限公司
技术研发日:2023.04.19
技术公布日:2023/7/22
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
