CN111291124A - 一种数据存储方法及其系统和设备 - Google Patents
一种数据存储方法及其系统和设备 Download PDFInfo
- Publication number
- CN111291124A CN111291124A CN202010089665.XA CN202010089665A CN111291124A CN 111291124 A CN111291124 A CN 111291124A CN 202010089665 A CN202010089665 A CN 202010089665A CN 111291124 A CN111291124 A CN 111291124A
- Authority
- CN
- China
- Prior art keywords
- data
- service node
- service
- service nodes
- nodes
- 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.)
- Pending
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
-
- 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
Abstract
本发明涉及一种适用于灵活槽位的数据存储方法,包括以下步骤:获取对应分布式数据库的服务节点的第一服务节点信息;根据第一服务节点信息将数据存储在每个服务节点上;获取对应分布式数据库的服务节点变化后的第二服务节点信息;根据第二服务节点信息将数据存储在每个服务节点上;根据数据与每个服务节点的对应关系生成route信息表;根据route信息表调用存储在对应服务节点上的数据。通过本发明的技术方案,能够保证数据库集群的可靠性和高性能要求。
Description
技术领域
本发明涉及数据存储技术领域,尤其涉及一种数据存储方法及其系统、计算机可读存储介质、计算机设备。
背景技术
在数据库领域,有两个场景需要经常去考虑的,一是数据可靠性,二是速度要快即高性能,尤其是在内存数据库上,更是需要保证这两点;为了保证可靠性,往往通过同步,热备节点等方式来保证,但是同步信息会造成一定的性能损耗和延时,使性能有所降低。采用固定槽位的方法,可能给节点扩容和缩减上造成一定的困难,且运维较为笨重。
发明内容
本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
为此,本发明的目的在于提供一种数据存储方法及系统、可读存储介质、计算机设备,其能够保证数据库集群的可靠性和高性能要求。
为实现上述目的,本发明第一方面的技术方案提供了一种适用于灵活槽位的数据存储方法,包括以下步骤:获取对应分布式数据库的服务节点的第一服务节点信息;根据第一服务节点信息将数据存储在每个服务节点上;获取对应分布式数据库的服务节点变化后的第二服务节点信息;根据第二服务节点信息将数据存储在每个服务节点上;根据数据与每个服务节点的对应关系生成route信息表;根据route信息表调用存储在对应服务节点上的数据。
在该技术方案中,可以在分布式数据库中动态增加或删除服务节点,在服务节点变化时,分数据及其服务节点的的分布关系也会发生变化,即route信息表的内容发生变化,客户端能够根据最新的route信息表调用相应的服务,从而实现在增加节点时或者移除节点时动态的数据平衡和修复。
在上述技术方案中,优选地,数据存储包括以下步骤:对数据的进行拆分,得到多个分数据;将多个分数据分布在服务节点上;为至少一个服务节点上的分数据在其余服务节点上设置分数据副本。
在该技术方案中,通过将整个数据拆分成若干分数据,在其中某一数据发生变化时,只需更新对应数据的分数据即可,当多个数据发生变化时,多个对应数据的分数据可同时进行更新,从而有效解决了数据的存储数量过大时加载耗时长的问题,进而能够有效提高工作效率,保证数据库集群的高可靠性和高性能。
本发明第二方面的技术方案提供了一种适用于灵活槽位的数据存储系统,包括:获取模块,被设置为用于获取对应分布式数据库的服务节点的第一服务节点信息以及服务节点变化后的第二服务节点信息;路由模块,被设置为用于根据第一服务节点信息将数据存储在每个服务节点上以及根据第二服务节点信息将数据存储在每个服务节点上;计算引擎模块,被设置为用于根据数据与每个服务节点的对应关系生成route信息表;服务调用模块,被设置为用于根据route信息表调用存储在对应服务节点上的数据。
在该技术方案中,可以在分布式数据库中动态增加或删除服务节点,在服务节点变化时,分数据及其服务节点的的分布关系也会发生变化,即route信息表的内容发生变化,客户端能够根据最新的route信息表调用相应的服务,从而实现在增加节点时或者移除节点时动态的数据平衡和修复。
在上述技术方案中,优选地,路由模块包括:拆分单元,被设置为用于对数据的进行拆分,得到多个分数据;路由单元,被设置为用于将多个分数据分布在服务节点上;备份单元,被设置为用于为至少一个服务节点上的分数据在其余服务节点上设置分数据副本。
在该技术方案中,通过将用于存储数据的整个数据拆分成若干分数据,在其中某一数据发生变化时,只需更新对应数据的分数据即可,当多个数据发生变化时,多个对应数据的分数据可同时进行更新,从而有效解决了数据的存储数量过大时加载耗时长的问题,进而能够有效提高工作效率,保证数据库集群的高可靠性和高性能。
在上述任一技术方案中,优选地,数据分表的数量为服务节点的数量的整数倍。
在上述任一技术方案中,优选地,每个服务节点上的数据分表的数量相同。
在上述任一技术方案中,优选地,副本设置在部分服务节点上。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了本发明一个实施例所涉及数据存储方法的流程框图;
图2示出了本发明另一个实施例所涉及数据存储方法的流程框图;
图3示出了本发明第三个实施例所涉及数据存储系统的结构框图;
图4示出了本发明第四个实施例所涉及数据存储系统的流程框图;
图5示出了本发明实施例所涉及数据存储方法的原理框图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不限于下面公开的具体实施例的限制。
下面参照图1至图5描述根据本发明一些实施例的数据存储方法及系统、可读存储介质、计算机设备,可以在分布式数据库中动态增加或删除服务节点,在服务节点变化时,分数据及其服务节点的的分布关系也会发生变化,即route信息表的内容发生变化,客户端能够根据最新的route信息表调用相应的服务,从而实现在增加节点时或者移除节点时动态的数据平衡和修复。
如图1和图5所示,按照本发明一个实施例的适用于灵活槽位的数据存储方法,包括以下步骤:
S1,获取对应分布式数据库的服务节点的第一服务节点信息;
S2,根据第一服务节点信息将数据存储在每个服务节点上;
S3,获取对应分布式数据库的服务节点变化后的第二服务节点信息;
S4,根据第二服务节点信息将数据存储在每个服务节点上;
S5,根据数据与每个服务节点的对应关系生成route信息表;
S6,根据route信息表调用存储在对应服务节点上的数据。
在该实施例中,可以在分布式数据库中动态增加或删除服务节点,在服务节点变化时,分数据及其服务节点的的分布关系也会发生变化,即route信息表的内容发生变化,客户端能够根据最新的route信息表调用相应的服务,从而实现在增加节点时或者移除节点时动态的数据平衡和修复。
如图2所示,在本发明一些可能的实施例中,数据存储包括以下步骤:
S71,对数据(如mysql的table等)的进行拆分,得到多个分数据(如128个或256个);
S72,将多个分数据分布在服务节点上;
S73,为至少一个服务节点上的分数据在其余服务节点上设置分数据副本。
在该实施例中,通过将整个数据拆分成若干分数据,在其中某一数据发生变化时,只需更新对应数据的分数据即可,当多个数据发生变化时,多个对应数据的分数据可同时进行更新,从而有效解决了数据的存储数量过大时加载耗时长的问题,进而能够有效提高工作效率,保证数据库集群的高可靠性和高性能。
如图5所示,dal:分布式数据库的访问客户端;etcd:注册发现服务;Route:数据路由模块;compute engine(CE):计算引擎模块;T1~n:分布在分布式数据库内部的各个分数据及其副本;节点:分布式数据库中的单个服务节点。图中
(1):路由数据向客户端同步,客户端发起的数据请求;
(2):从路由模块直接获取数据;
(3):路由模块将数据请求转发到其他服务节点;
(4):计算引擎模块将各个服务节点的数据进行相互同步,用来计算数据迁移;
(5):计算出的结果同步给路由模块
(6):各个节点通过注册发现中心进行相互发现;
(7):可以对节点数动态添加和移除,随节点数的变化,数据表的分布关系也会发生变化,变化策略由CE决定。
如图3所示,按照本发明另一个实施例的适用于灵活槽位的数据存储系统100,包括:
获取模块10,被设置为用于获取对应分布式数据库的服务节点的第一服务节点信息以及服务节点变化后的第二服务节点信息;
路由模块20,被设置为用于根据第一服务节点信息将数据存储在每个服务节点上以及根据第二服务节点信息将数据存储在每个服务节点上;
计算引擎模块30,被设置为用于根据数据与每个服务节点的对应关系生成route信息表;
服务调用模块40,被设置为用于根据route信息表调用存储在对应服务节点上的数据。
如图4所示,在本发明另一些可能的实施例中,路由模块20包括:
拆分单元21,被设置为用于对数据的进行拆分,得到多个分数据;
路由单元22,被设置为用于将多个分数据分布在服务节点上;
备份单元23,被设置为用于为至少一个服务节点上的分数据在其余服务节点上设置分数据副本。
在该实施例中,通过将用于存储数据的整个数据拆分成若干分数据,在其中某一数据发生变化时,只需更新对应数据的分数据即可,当多个数据发生变化时,多个对应数据的分数据可同时进行更新,从而有效解决了数据的存储数量过大时加载耗时长的问题,进而能够有效提高工作效率,保证数据库集群的高可靠性和高性能。
在上述任一实施例中,优选地,分数据的数量为服务节点的数量的整数倍。
在上述任一实施例中,优选地,每个服务节点上存储的分数据的数量相同。
需要说明的是,每个服务节点上的分数据的数量可以相同,也可以不同,可以根据实际需要将多个分数据均匀设置在每个服务节点上,或者多个分数据随机分配在所有服务节点上,上述技术方案均属于本发明的保护范围。
在上述任一实施例中,优选地,分数据副本设置在其余至少一个服务节点上。
需要说明的是,设置在某一服务节点上的副本为对应另一服务节点上的分数据,即分数据及其副本并未在同一服务节点上,这样一来,即使其中一个服务节点上的分数据丢失,也能够在其他服务节点上找到对应丢失的分数据的副本。
基于上述如图1和图2所示方法,相应的,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施例所述的适用于灵活槽位的数据存储方法的步骤。
基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景的方法。
基于上述如图1和图2所示的方法,以及图3和图4所示的虚拟装置实施例,为了实现上述目的,本申请实施例还提供了一种计算机设备,其特征在于,包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述任一实施例所述的适用于灵活槽位的数据存储方法的步骤。
可选地,该计算机设备还可以包括用户接口、网络接口、摄像头、射频(RadioFrequency,RF)电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如蓝牙接口、WI-FI接口)等。
本领域技术人员可以理解,本实施例提供的一种计算机设备结构并不构成对该计算机设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储介质中还可以包括操作系统、网络通信模块。操作系统是管理和保存计算机设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与该实体设备中其它硬件和软件之间通信。
在本说明书的描述中,术语“一个实施例”、“一些实施例”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种适用于灵活槽位的数据存储方法,其特征在于,包括以下步骤:
获取对应分布式数据库的服务节点的第一服务节点信息;
根据所述第一服务节点信息将数据存储在每个所述服务节点上;
获取对应所述分布式数据库的所述服务节点变化后的第二服务节点信息;
根据所述第二服务节点信息将所述数据存储在每个所述服务节点上;
根据所述数据与每个所述服务节点的对应关系生成route信息表;
根据所述route信息表调用存储在对应所述服务节点上的所述数据。
2.根据权利要求1所述的数据存储方法,其特征在于,所述数据存储包括以下步骤:
对所述数据的进行拆分,得到多个分数据;
将多个所述分数据分布在所述服务节点上;
为至少一个所述服务节点上的所述分数据在其余所述服务节点上设置分数据副本。
3.根据权利要求1或2所述的数据存储方法,其特征在于:所述分数据的数量为所述服务节点的数量的整数倍。
4.根据权利要求3所述的数据存储方法,其特征在于:每个所述服务节点上存储的所述分数据的数量相同。
5.根据权利要求1或2所述的数据存储方法,其特征在于:所述分数据副本设置在其余至少一个所述服务节点上。
6.一种适用于灵活槽位的数据存储系统,其特征在于,包括:
获取模块,被设置为用于获取对应分布式数据库的服务节点的第一服务节点信息以及所述服务节点变化后的第二服务节点信息;
路由模块,被设置为用于根据所述第一服务节点信息将数据存储在每个所述服务节点上以及根据所述第二服务节点信息将所述数据存储在每个所述服务节点上;
计算引擎模块,被设置为用于根据所述数据与每个所述服务节点的对应关系生成route信息表;
服务调用模块,被设置为用于根据所述route信息表调用存储在对应所述服务节点上的所述数据。
7.根据权利要求6所述的数据存储系统,其特征在于,所述路由模块包括:
拆分单元,被设置为用于对所述数据的进行拆分,得到多个分数据;
路由单元,被设置为用于将多个所述分数据分布在所述服务节点上;
备份单元,被设置为用于为至少一个所述服务节点上的所述分数据在其余所述服务节点上设置分数据副本。
8.根据权利要求6或7所述的数据存储系统,其特征在于:所述分数据的数量为所述服务节点的数量的整数倍;和/或
所述分数据副本设置在其余至少一个所述服务节点上;和/或
每个所述服务节点上的所述分数据的数量相同。
9.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1至5中任一项所述的适用于灵活槽位的数据存储方法的步骤。
10.一种计算机设备,其特征在于,包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现如权利要求1至5中任一项所述的适用于灵活槽位的数据存储方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010089665.XA CN111291124A (zh) | 2020-02-12 | 2020-02-12 | 一种数据存储方法及其系统和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010089665.XA CN111291124A (zh) | 2020-02-12 | 2020-02-12 | 一种数据存储方法及其系统和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111291124A true CN111291124A (zh) | 2020-06-16 |
Family
ID=71030743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010089665.XA Pending CN111291124A (zh) | 2020-02-12 | 2020-02-12 | 一种数据存储方法及其系统和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111291124A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591970A (zh) * | 2011-12-31 | 2012-07-18 | 北京奇虎科技有限公司 | 一种分布式键-值查询方法和查询引擎系统 |
US20160162562A1 (en) * | 2013-08-21 | 2016-06-09 | Kabushiki Kaisha Toshiba | Database system, computer program product, and data processing method |
CN105930498A (zh) * | 2016-05-06 | 2016-09-07 | 中国银联股份有限公司 | 一种分布式数据库的管理方法及系统 |
CN106844399A (zh) * | 2015-12-07 | 2017-06-13 | 中兴通讯股份有限公司 | 分布式数据库系统及其自适应方法 |
CN108153759A (zh) * | 2016-12-05 | 2018-06-12 | 中国移动通信集团公司 | 一种分布式数据库的数据传输方法、中间层服务器及系统 |
CN110334091A (zh) * | 2019-05-09 | 2019-10-15 | 重庆天蓬网络有限公司 | 一种数据分片分布式处理方法、系统、介质和电子设备 |
-
2020
- 2020-02-12 CN CN202010089665.XA patent/CN111291124A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591970A (zh) * | 2011-12-31 | 2012-07-18 | 北京奇虎科技有限公司 | 一种分布式键-值查询方法和查询引擎系统 |
US20160162562A1 (en) * | 2013-08-21 | 2016-06-09 | Kabushiki Kaisha Toshiba | Database system, computer program product, and data processing method |
CN106844399A (zh) * | 2015-12-07 | 2017-06-13 | 中兴通讯股份有限公司 | 分布式数据库系统及其自适应方法 |
CN105930498A (zh) * | 2016-05-06 | 2016-09-07 | 中国银联股份有限公司 | 一种分布式数据库的管理方法及系统 |
CN108153759A (zh) * | 2016-12-05 | 2018-06-12 | 中国移动通信集团公司 | 一种分布式数据库的数据传输方法、中间层服务器及系统 |
CN110334091A (zh) * | 2019-05-09 | 2019-10-15 | 重庆天蓬网络有限公司 | 一种数据分片分布式处理方法、系统、介质和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104951353B (zh) | 一种对vnf实现加速处理的方法及装置 | |
KR101547498B1 (ko) | 하이브리드 클라우드 환경에서 데이터를 분산하는 방법 및 장치 | |
CN110278284B (zh) | 一种服务调用方法及装置 | |
US8112659B2 (en) | Reducing recovery time for business organizations in case of disasters | |
JP5203733B2 (ja) | コーディネータサーバ、データ割当方法及びプログラム | |
CN108664660A (zh) | 时序数据库的分布式实现方法、装置、设备及存储介质 | |
KR101663215B1 (ko) | 데이터 저장 방법 및 장치 | |
JP2005196602A (ja) | 無共有型データベース管理システムにおけるシステム構成変更方法 | |
CN105468720A (zh) | 集成分布式数据处理系统的方法、相应系统及其数据处理方法 | |
CN110442610A (zh) | 负载均衡的方法、装置、计算设备以及介质 | |
CN110601922A (zh) | 一种对照实验的实现方法、装置、电子设备和存储介质 | |
US20120166492A1 (en) | Database transfers using constraint free data | |
CN110830580B (zh) | 一种存储数据同步方法及装置 | |
JP2017037446A (ja) | ゲームサーバ装置および分散処理方法 | |
CN108073423A (zh) | 一种加速器加载方法、系统和加速器加载装置 | |
CN111159219A (zh) | 一种数据管理方法、装置、服务器及存储介质 | |
CN108200211B (zh) | 集群中镜像文件下载的方法、节点和查询服务器 | |
CN111291124A (zh) | 一种数据存储方法及其系统和设备 | |
CN106815318A (zh) | 一种时序数据库的集群化方法及系统 | |
CN112395313A (zh) | 全局序列生成方法、装置、电子设备及计算机存储介质 | |
JP2006261949A (ja) | 処理実行ノードを動的に変更する分散処理システム、及び当該分散処理システムにおいて使用される情報処理装置 | |
KR20110035665A (ko) | 실시간으로 대용량 랭킹을 산정하기 위한 랭킹 데이터 시스템, 랭킹 질의 시스템 및 랭킹 산정 방법 | |
CN113505111B (zh) | 一种共享目录挂载方法及分布式网络附加存储系统 | |
CN115037754A (zh) | 一种负载均衡方法及装置 | |
JP2019041241A (ja) | 振り分けシステム |
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 |