CN106844399A - 分布式数据库***及其自适应方法 - Google Patents
分布式数据库***及其自适应方法 Download PDFInfo
- Publication number
- CN106844399A CN106844399A CN201510890348.7A CN201510890348A CN106844399A CN 106844399 A CN106844399 A CN 106844399A CN 201510890348 A CN201510890348 A CN 201510890348A CN 106844399 A CN106844399 A CN 106844399A
- Authority
- CN
- China
- Prior art keywords
- data
- back end
- node
- fragmentation
- triplicate
- 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.)
- Granted
Links
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/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures 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/21—Design, administration or maintenance of databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种分布式数据库***及其自适应方法,所述***包括控制节点、客户端API及数据节点,控制节点用于管理***的数据节点,计算***的数据路由并广播给客户端API及数据节点;客户端API用于为数据访问者提供读/写数据的接口并将接收到的数据操作请求按照本地缓存的数据路由,转发给相应的数据节点;数据节点用于存储数据分片,以及根据本地缓存的数据路由,处理收到的数据操作请求。本发明使得数据访问路径更短,效率更高;且数据节点无主备之分,使得***负载更加均衡;数据迁移过程更加平滑和均匀。
Description
技术领域
本发明涉及数据库领域,尤其涉及一种分布式数据库***及其自适应方法。
背景技术
分布式数据库一般是有多台具有计算、存储、网络通讯功能的数据节点构成的数据库集群***,具有高性能、高可靠的优点,已在电信、银行、互联网等行业广泛使用;现有的分布式数据库由数据访问代理节点和数据存储节点组成,数据存储节点按照数据关键字被分成多个数据存储集群,每个数据存储集群有1个数据存储主节点和多个数据存储备节点,主节点提供读写数据服务,备节点仅提供读数据服务,主节点写入的数据会复制到备节点;数据访问代理节点负责代理数据访问者的数据操作请求,并转发到对应的数据存储集群的相应数据存储节点处理;这种分布式数据库因数据节点较多,数据节点间相互依赖,带来如下问题:
1、访问效率低
现有分布式数据库中有专门的数据访问代理节点,延长了数据访问者的数据访问路径,降低了数据访问者的处理效率;
2、节点间数据容量和负荷不均衡
数据存储节点间有主备之分,使得在写数据的频率较高时,只能在主节点上写入数据,导致主节点的负荷较重,易达到性能瓶颈,而数据备节点因只提供读服务,且有多个节点,资源利用不充分,导致数据节点间数据容量和负荷不均衡,部分数据节点存在性能瓶颈或者资源浪费;当某个数据节点故障后,其上面的数据只能被单个或者部分数据节点(备用节点)分担处理,加剧节点间负载不均衡;
3、数据分布难以调整,数据难以平滑迁移
一旦增减数据节点时,特别是在虚拟化环境下,数据节点的弹性伸缩是常态,需经常调整数据在数据节点上的分布,需人工执行命令或者重启来调整数据的分布或者数据分布调整的过程较长,给分布式数据库稳定运行和服务质量带来较大的风险;
4、状态维护复杂
数据存储主备节点间采用主备单向复制,主节点故障,需要重新选举新的主节点,***状态维护复杂;
目前业界对于以上分布式数据库的问题,通常处理方式是:把数据按照范围或者数据关键字的HASH值划分为多个分片,再按照一致性HASH算法,将分片均匀分布到数据节点上,但对于每个分片的副本(备份)分布未考虑节点间的均匀性;以上基于一致性HASH分布方式又带来了新的问题,即在增减节点时,有时调整的分片很少,有时调整的分片较多,数据分片在节点间调整是不可预见的,迁移的数据分片数量不可控。
发明内容
本发明实施例提供一种分布式数据库***及其自适应方法,以改善现有分布式数据库***内的节点间负荷不均衡、数据分布难以调整、数据迁移不平滑及维护复杂的问题。
本发明公开了一种分布式数据库***,上述***包括控制节点、客户端API及数据节点,上述
控制节点,用于管理***的数据节点,计算***的数据路由并广播给客户端API及数据节点;
客户端API,用于为数据访问者提供读/写数据的接口,并将接收到的数据操作请求按照本地缓存的数据路由,转发给相应的数据节点;
数据节点,用于存储数据分片,以及根据本地缓存的数据路由,处理收到的数据操作请求。
优选地,上述数据节点以虚拟机或者计算存储主机方式部署在上述***中。
优选地,上述客户端AP以动态库或插件方式供数据访问者操作。
优选地,上述控制节点,用于实时监控***中数据节点的数量及状态变化,并在数据节点数量变化时,执行节点扩容/缩容操作;在数据节点状态变化时,更新数据路由中对应数据节点的状态并广播更新后的数据路由。
优选地,上述客户端API,用于根据收到数据操作请求中的数据关键字,计算请求数据对应的数据分片,并在本地缓存的数据路由中查找每个数据分片所在的数据节点;以及按照本地缓存的数据节点选取规则,将上述数据操作请求转发给相应的数据节点。
优选地,上述数据节点,用于在收到数据操作请求后,在本地缓存的数据路由中查找上述数据操作请求中的数据分片是否存储在本数据节点中;并在上述数据分片未存储在本数据节点时,在本地缓存的数据路由中查找上述数据分片所在的数据节点,并将上述数据操作请求转发给找到的数据节点;在上述数据分片存储在本数据节点中时,执行上述数据操作请求,并向数据访问者返回数据操作响应。
优选地,上述数据节点,用于周期性向上述控制节点上报自身状态;以及在链路变化时,实时向控制节点上报自身状态;
上述控制节点,用于周期性更新数据路由。
优选地,上述数据节点,用于执行数据恢复操作及数据复制操作;
上述控制节点,用于按照预设的分域规则,对数据节点进行分域。
本发明进一步公开了一种分布式数据库***的自适应方法,上述方法在***上电后,执行以下步骤:
控制节点计算***的数据路由并广播给客户API及所有数据节点;
客户端API接收访问者的数据操作请求,按照本地缓存的数据路由,将上述请求转发给对应的数据节点;
数据节点处理收到的数据操作请求,并返回数据操作响应给访问者。
优选地,上述控制节点在计算***的数据路由前,还执行以下步骤:
按照预设的分域规则,对数据节点进行分域。
优选地,上述分域规则为:若数据节点归属的主机/服务器数量为1,则将所述数据节点划分为左域或右域;若数据节点归属的主机/服务器数量大于等于2,则按照数据节点归属的主机/服务器均匀分布原则,将数据节点划分为左域和右域,使属于同一主机/服务器的数据节点位于同一域。
优选地,上述控制节点根据***的数据节点数量及数据分片数量,计算每个数据节点上需要分布的数据分片数量,生成数据路由。
优选地,上述客户端API按照本地缓存的数据路由,将上述请求转发给对应的数据节点步骤具体为:
根据数据操作请求中的数据关键字,计算相应的数据分片;
在本地缓存的数据路由中查找每个数据分片对应的数据节点;
按照预设的数据节点选择规则,将上述数据操作请求分别转发给找到的数据节点。
优选地,上述数据节点选取规则为:
当查找到的数据分片对应的数据节点数为1时,直接将上述数据操作请求转发给上述数据节点;
当查找到的数据分片对应的数据节点数大于1时,判断上述数据操作请求的类型,若为写操作,则查看上述每个数据节点中的上述数据分片的副本号及数据节点的状态,将上述数据操作请求发送给状态正常且副本号小的数据节点;若为读操作,则将上述数据操作请求发送给负荷最小的数据节点。
优选地,上述数据节点通过如下方法处理收到的数据操作请求:
在本地缓存的数据路由中查找上述数据操作请求中的数据分片是否存储在本数据节点中;若是,则执行上述数据操作请求,并向数据访问者返回数据操作响应;否则,在本地缓存的数据路由中查找上述数据分片所在的数据节点,将上述数据操作请求转发给找到的数据节点。
优选地,上述执行数据操作请求具体为:
当上述数据操作请求为写操作时,根据访问者的操作方式,对数据分片存储于本地的副本进行增加、修改或删除操作;
当上述数据操作请求为读操作时,从数据分片存储于本地的副本中读取数据。
优选地,上述方法数据操作请求为写操作时,在处理完上述数据操作请求后,执行数据复制流程,具体为:
记录数据分片变更的数据或者全数据;
在本地缓存的数据路由中查找上述数据分片其余副本所在的数据节点,向数据分片其余副本所在的数据节点复制上述数据分片变更的数据或全数据。
优选地,上述控制节点在***运行过程中,还执行以下步骤:
实时监控***中是否有数据节点新增或者删除,若有数据节点新增,则执行节点扩容操作;若有数据节点删除,则执行节点缩容操作。
优选地,上述节点扩容操作具体包括以下步骤:
计算要迁移到新增数据节点上的第一副本数据分片列表及第二副本数据分片列表;
在新增数据节点上为待迁入数据分片分配第三副本,重新计算***的数据路由并广播;
等待新增数据节点恢复数据;
收到新增数据节点上报的自身状态,根据预设的扩容规则,重新计算***的数据路由并广播;
通知所有数据节点删除本地所有数据分片的第三副本;
确认所有数据节点删除完成后,删除本地数据路由中的第三副本,重新计算***的数据路由并广播。
优选地,上述计算要迁移到新增数据节点上的第一副本数据分片列表及第二副本数据分片列表步骤具体为:
用数据分片总数除以包含新增数据节点在内的数据节点总数,计算出每个数据节点要存储的平均数据分片数量;
用每个数据节点的当前数据分片数量减去计算得到的平均数据分片数量,计算出从每个原有数据节点应迁移到新增数据节点的数据分片数量;
所有要从原有数据节点中迁出的数据分片的第一副本组成新增数据节点的第一副本数据分片列表,所有要从原有数据节点中迁出的数据分片的第二副本组成新增数据节点的第二副本数据分片列表。
优选地,上述预设的扩容规则为:
通知原有数据节点将本地待迁移到新增数据节点上的数据分片的第一副本切换为第三副本;同时通知新增数据节点将对应的数据分片的第三副本切换为第一副本;
通知原有数据节点将本地待迁移到新增数据节点上的数据分片的第二副本切换为第三副本;同时通知新增数据节点将对应的数据分片的第三副本切换为第二副本。
优选地,上述节点缩容操作具体包括以下步骤:
计算各剩余节点上第一副本数据分片列表和第二副本数据分片列表;
在剩余数据节点上为待迁入数据分片分配第三副本,重新计算***的数据路由并广播;
等待其余数据节点恢复数据;
等待其余数据节点复制数据;
收到其余数据节点上报的自身状态,根据预设的缩容规则,重新计算***的数据路由并广播;
通知所有数据节点删除本地所有数据分片的第三副本;
确认所有数据节点删除完成后,删除本地数据路由中的第三副本,重新计算***的数据路由并广播。
优选地,上述计算各剩余节点上第一副本数据分片列表和第二副本数据分片列表步骤具体为:
用数据分片总数除以剩余数据节点数,计算出剩余数据节点中每个数据节点要存储的平均数据分片数量;
用平均数据分片数量减去每个剩余数据节点上当前数据分片数量,计算出每个剩余数据节点上应从待关闭节点迁入的数据分片数;
根据预设的数据分片分布原则,将待删除数据节点上的数据分片第一副本和第二副本,分配到剩余数据节点上,得到每个剩余节点上第一副本数据分片列表和第二副本数据分片列表。
优选地,上述预设的缩容规则为:
通知待删除数据节点将待迁移数据分片的第一副本切换为第三副本;同时通知存储有上述数据分片第三副本的剩余数据节点将上述数据分片的第三副本切换为第一副本;
通知待删除数据节点将待迁移数据分片的第二副本切换为第三副本;同时通知存储有上述数据分片第三副本的剩余数据节点将上述数据分片的第三副本切换为第二副本。
优选地,上述数据分片分布原则为:
每个数据节点上的数据分片数量尽量相同;且
每个数据分片的第一副本和第二副本分布在不同域的数据节点上;以及
每个数据节点上所有第一副本数据分片的第二副本均匀分布在异域的所有数据节点上。
优选地,上述数据节点通过如下步骤恢复数据:
查询本地数据路由,获取本节点上第一副本数据分片的第三副本所在的数据节点;
向第三副本所在的数据节点复制相应数据分片;
恢复完成,向控制节点上报自身状态。
优选地,上述增加的数据节点为新加入***的数据节点;
上述删除的数据节点包括:因负担小于预设值而需要删除的数据节点及因收到用户删除指令而要求删除的数据节点。
优选地,上述客户端API通过对数据关键字取HASH值,再对HASH值取数据分片总数的模值方式来确定请求数据的分片数量。
与现有技术相比,本发明无需经过专门的代理访问节点,数据访问路径更短,效率更高;数据分片存储和管理,数据节点无主备之分,同分片的多副本数据可相互复制,使得分布式数据库的节点间负载更加均衡;数据路由自动计算和分发,数据迁移过程可控,更加平滑和均匀,无需人工干预,且不会中断访问。
附图说明
图1是本发明所述分布式数据库***的框架示意图;
图2是本发明所述分布式数据库***自适应方法优选实施例流程图;
图3是本发明所述分布式数据库***自适应方法中数据节点发现过程优选实施例流程图;
图4是本发明所述分布式数据库***自适应方法中数据节点状态管理过程优选实施例流程图;
图5是本发明所述分布式数据库***自适应方法中数据复制优选实施例流程图;
图6是本发明所述分布式数据库***自适应方法中节点扩容操作优选实施例流程图;
图7是本发明所述分布式数据库***自适应方法中节点缩容操作优选实施例流程图;
图8是本发明所述分布式数据库***自适应方法中数据节点恢复数据过程优选实施例流程图;
为了使本发明的技术方案更加清楚、明了,下面将结合附图作进一步详述。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如图1所示,是本发明所述分布式数据库***的框架示意图;本实施例包括控制节点10、客户端API 20、数据节点30,本实施例包括4个数据节点30;其中,
控制节点10,用于管理***的数据节点30,计算***的数据路由并广播给客户端API 20及数据节点30;具体包括:
周期性更新数据路由并广播;
实时监控***中数据节点30的数量及状态变化,并在***中的数据节点30的数量变化时,执行节点扩容/缩容操作;
在数据节点30状态变化时,更新数据路由中对应数据节点30的状态并广播更新后的数据路由;以及
按照预设的分域规则,对数据节点30进行分域;
上述分域规则为:
若数据节点归属的主机/服务器数量为1,则将所述数据节点划分为左域或右域;若数据节点归属的主机/服务器数量大于等于2,则按照数据节点归属的主机/服务器均匀分布原则(即使分布在左域和右域中的主机/服务器数量尽量相同),将数据节点划分为左域和右域,使属于同一主机/服务器的数据节点位于同一域。
例如,如图1所示,将4个数据节点依次从左到右编号为1-4;若4个数据节点归属于同1个主机/服务器,则将4个数据节点全部划分到左域或者右域;若4个数据节点归属于同2个主机/服务器,假设编号为1和2的数据节点归属于第一主机/服务器,编号3和4的数据节点归属于第二主机/服务器;则将归属于第一主机/服务器的数据节点1和2划分为左域,将归属于第二主机/服务器的数据节点3和4划分为右域,那么每个域下均拥有2个数据节点;或者假设编号为1、2和3的数据节点归属于第一主机/服务器,编号为4的数据节点归属于第二主机/服务器,则将归属于第一主机/服务器的数据节点1、2和3划分为左域,将归属于第二主机/服务器的数据节点4划分为右域,那么左域拥有3个数据节点;右域拥有1个数据节点;
为了实现数据分片的均衡和数据的可靠性,控制节点10计算数据路由应满足以下数据分片分布原则:
每个数据节点上的数据分片数量尽量相同;且
每个数据分片的第一副本和第二副本分布在不同域的数据节点上;以及
每个数据节点上所有第一副本数据分片的第二副本均匀分布在异域的所有数据节点上;例如当前数据节点位于左域,其上共有10个数据分片的第一副本,按照以上分布原则,这10个数据分片的第二副本应均匀分布在右域的所有数据节点上,假设右域有2个数据节点,则右域的每个数据节点上分布有上述10个数据分片的第二副本中的5个。
如图1所示,本实施例中,分布式数据库***共有4个数据节点30,共存储有16个数据分片,数据分片的第一副本分别用数字1-16标记;第二副本分别用数字1'-16'标记,每个数据节点30上均保存4个数据分片的第一副本和4个数据分片的第二副本;第一副本中的数据分片与第二副本中的数据分片完全不同。
客户端API 20,用于为数据访问者提供读/写数据的接口,并将接收到的数据操作请求按照本地缓存的数据路由,发送给相应的数据节点30;具体为:
根据收到数据操作请求中的数据关键字,计算对应的数据分片,并在本地缓存的数据路由中查找每个数据分片所在的数据节点30;计算数据分片的算法可以是对数据关键字取HASH值,再对HASH值取数据分片总数的模值方式来确定请求数据的分片数量;也可以按照数据关键字的前缀、后缀范围来划分数据分片;
按照本地缓存的数据节点选取规则,将所述数据操作请求转发给相应的数据节点30;
客户端API 20以动态库/插件方式供数据访问者操作;
数据节点30,以虚拟机或者计算存储主机方式部署在***中,可被配置归属为左域或者右域;用于:
存储数据分片;
数据分片是指根据数据关键字把数据切分为多个分片,不同分片的数据不同,每个数据分片有第一副本、第二副本和第三副本,第三副本只在增减数据节点过程中临时使用,多个副本间的数据是相同的,且同一数据分片的多个副本按照数据分片分布原则,被存储在不同域的数据节点上;
缓存收到的数据路由,以及处理收到的数据操作请求,数据操作请求包括读、写操作;具体为:在收到数据操作请求后,在本地缓存的数据路由中查找所述数据操作请求中的数据分片是否存储在本数据节点30中;并在所述数据分片未存储在本数据节点30中时,在本地缓存的数据路由中查找所述数据分片所在的数据节点30,并将所述数据操作请求转发给找到的数据节点30;在所述数据分片存储在本数据节点30中时,执行所述数据操作请求,并向数据访问者返回数据操作响应;
重启或者数据路由变化时,执行数据恢复操作;
在数据分片变化时,例如执行写操作后数据分片内容变更,记录变更的数据或全数据,并执行数据复制操作;将变更的数据或者全数据复制到含有相同数据分片的其他数据节点30上;
周期性向所述控制节点10上报自身状态;以及在链路变化时,实时向控制节点10上报自身状态。
本发明分布式数据库***的拓扑对数据访问者隐藏,实现了分布式数据库和数据访问者的解耦。
如图2所示,是本发明所述分布式数据库***自适应方法优选实施例流程图;本实施例包括以下步骤:
步骤S101:***上电,控制节点10按照预设的分域规则,对数据节点30进行分域,然后计算***的数据路由,并广播给客户API 20及所有数据节点30;
本步骤根据***的数据节点30数量、数据分片数量及预设的路由计算原则,计算每个数据节点30上需要分布的数据分片的第一副本列表和第二副本列表,生成数据路由。
控制节点10在***运行过程中,还负责数据节点发现及状态管理,过程分别如图3及图4所示;
步骤S102:***初始化完成后,客户端API 20接收访问者的数据操作请求;
步骤S103:根据数据操作请求中的数据关键字,计算相应的数据分片;
本步骤通过采用对数据关键字取HASH值,再对HASH值取数据分片总数的模值的方式来确定请求数据的分片数量;也可以按照数据关键字的前缀、后缀范围来划分数据分片;
步骤S104:在本地缓存的数据路由中查找每个数据分片对应的数据节点30,按照预设的数据节点选取规则,将所述数据操作请求分别转发给相应的数据节点30;
数据路由即为每个数据分片和数据节点30的对应关系。
数据节点选取规则为:当查找到的数据分片对应的数据节点30数为1时,直接将所述数据操作请求转发给所述数据节点30;
当查找到的数据分片对应的数据节点30数大于1时,判断所述数据操作请求的类型,若为写操作,则查看所述每个数据节点30中的所述数据分片的副本号及数据节点30的状态,将所述数据操作请求发送给状态正常且副本号小的数据节点30;若为读操作,则将所述数据操作请求发送给负荷最小的数据节点30。
步骤S105:数据节点30收到的数据操作请求,在本地缓存的数据路由中查找所述数据操作请求中的数据分片是否存储在本数据节点30中;若是,则执行步骤S106;否则,执行步骤S107;
本步骤通过解析数据操作请求中的数据关键字,查看请求数据的数据分片是否属于本节点;若是,则所述请求数据对应的数据分片存储在本数据节点30,否则,所述请求数据对应的数据分片未存储在本数据节点30。
步骤S106:执行所述数据操作请求,向数据访问者返回数据操作响应,当前数据分片处理结束;
本步骤中,执行数据操作请求具体为:
当所述数据操作请求为写操作时,根据访问者的操作方式,对数据分片存储于本地的副本进行增加、修改或删除操作;
当所述数据操作请求为读操作时,从数据分片存储于本地的副本中读取数据。
本发明中,在数据操作请求为写操作时,处理完所述数据操作请求后,还执行如图5所示的数据复制流程;即在数据节点30修改本地的数据后,需要把变更后的数据复制到同分片的其他副本所在的数据节点30上。
步骤S107:本地缓存的数据路由中查找所述数据分片所在的数据节点30,按照预设的数据节点选取规则,将所述数据操作请求转发给相应的与本节点通信正常的数据节点。
即若数据操作请求对应的数据分片在本数据节点30,则在本地处理,读写本地的数据;若数据操作请求对应的数据分片不在本数据节点30,则转发到对应的节点处理。
如图3所示,是本发明所述分布式数据库***自适应方法中数据节点发现过程优选实施例流程图;本实施例包括以下步骤:
步骤S201:控制节点10实时监控***中是否有数据节点30新增或者删除,若发现有数据节点30新增,则执行步骤S202;若发现有数据节点30删除,则执行步骤S203;
新增的数据节点即为新加入的数据节点;
删除的数据节点包括:因负担小于预设值而需要删除的数据节点及因收到用户删除指令而要求删除的数据节点。
步骤S202:执行节点扩容操作,当前发现处理结束;
节点扩容操作具体如图6所示;
步骤S203:执行节点缩容操作,当前发现处理结束。
节点缩容操作具体如图7所示。
如图4所示,是本发明所述分布式数据库***自适应方法中数据节点状态管理过程优选实施例流程图;本实施例包括以下步骤:
步骤S301:控制节点10收到数据节点30上报的自身状态;
步骤S302:查看所述状态,为若正常,则当前状态处理结束;若为异常,则执行步骤S303;
步骤S303:更新数据路由中所述数据节点30的状态,并广播更新后的数据路由。
如图5所示,是本发明所述分布式数据库***自适应方法中数据复制优选实施例流程图;本实施例包括以下步骤:
步骤S301:执行写操作的数据节点30记录本次写操作的数据分片变更的数据或者全数据;
步骤S302:在本地缓存的数据路由中查找所述数据分片其余副本所在的数据节点30;
步骤S303:向数据分片其余副本所在的数据节点30复制所述数据分片变更的数据或全数据。
复制变更的数据或全数据到同分片的其他副本所在的数据节点30,包括允许存储有第一副本的数据节点30写入数据后,复制变更的数据或全数据到该分片的第二、第三副本所在的数据节点30,也允许在存储有第二或者第三副本的数据节点30写入数据后,复制变更的数据或全数据到该分片的第一、第三副本或者第一、第二副本所在的数据节点30,即允许数据副本间的相互复制,相同分片的副本间的相同数据相互复制可能存在的冲突问题,可通过时间戳来解决,即通过比较数据的更新时间戳,来确定是通过合并、覆盖来变更数据还是放弃变更。
数据复制过程中,被复制数据的数据节点,可同步完成相应数据更新,也可异步完成相应数据更新。
如图6所示,是本发明所述分布式数据库***自适应方法中节点扩容操作优选实施例流程图;本实施例包括以下步骤:
步骤S401:控制节点10计算要迁移到新增数据节点30上的第一副本数据分片列表及第二副本数据分片列表;具体包括以下步骤:
用数据分片总数除以包含新增数据节点30在内的数据节点总数,计算出每个数据节点要存储的平均数据分片数量,应比原有数据节点30的当前数据分片数量少;
用每个原有数据节点30的当前数据分片数量减去计算得到的平均数据分片数量,计算出从每个原有数据节点30应迁移到新增数据节点30的数据分片数量;
所有要从原有数据节点30中迁出的数据分片的第一副本组成新增数据节点30的第一副本数据分片列表,所有要从原有数据节点30中迁出的数据分片的第二副本组成新增数据节点30的第二副本数据分片列表;此时的列表中的数据为空;
步骤S402:在新增数据节点30上为待迁入数据分片分配第三副本;重新计算***的数据路由并广播;
步骤S403:等待新增数据节点30恢复数据;
数据节点恢复数据过程如图8所示;
步骤S404:收到新增数据节点30上报的自身状态,根据预设的扩容规则,重新计算***的数据路由并广播;
所述预设的扩容规则为:
通知原有数据节点30将本地待迁移到新增数据节点30上的数据分片的第一副本切换为第三副本;同时通知新增数据节点将对应的数据分片的第三副本切换为第一副本;
通知原有数据节点30将本地待迁移到新增数据节点30上的数据分片的第二副本切换为第三副本;同时通知新增数据节点30将对应的数据分片的第三副本切换为第二副本。
步骤S405:通知所有数据节点30删除本地所有数据分片的第三副本;
步骤S406:确认所有数据节点30删除完成后,删除本地数据路由中的第三副本,重新计算***的数据路由并广播。
如图7所示,是本发明所述分布式数据库***自适应方法中节点缩容操作优选实施例流程图;本实施例包括以下步骤:
步骤S501:控制节点10计算各剩余数据节点30的第一副本数据分片列表及第二副本数据分片列表;本步骤具体包括以下步骤:
用数据分片总数除以剩余数据节点30数,计算出剩余数据节点30中每个数据节点30要存储的平均数据分片数量,应比减少节点前要多;
用平均数据分片数量减去每个剩余数据节点30上当前数据分片数量,计算出每个剩余数据节点30上应从待关闭节点迁入的数据分片数;
根据预设的数据分片分布原则,将待删除数据节点30上的数据分片第一副本和第二副本,分配到剩余数据节点30上,得到每个剩余节点上第一副本数据分片列表和第二副本数据列表列表;
步骤S502:在剩余数据节点30上为待迁入数据分片分配第三副本,重新计算***的数据路由并广播;
步骤S503:等待剩余数据节点30恢复数据;
数据节点30恢复数据过程如图8所示;
步骤S504:等待剩余数据节点30复制数据;
数据节点30复制数据过程如图5所示;
步骤S505:收到剩余数据节点30上报的自身状态,根据预设的缩容规则,重新计算***的数据路由并广播;
预设的缩容规则为:
通知待删除数据节点30将待迁移数据分片的第一副本切换为第三副本;同时通知存储有所述数据分片第三副本的剩余数据节点30将所述数据分片的第三副本切换为第一副本;
通知待删除数据节点30将待迁移数据分片的第二副本切换为第三副本;同时通知存储有所述数据分片第三副本的剩余数据节点30将所述数据分片的第三副本切换为第二副本。
步骤S506:通知所有数据节点30删除本地所有数据分片的第三副本;
步骤S507:确认所有数据节点30删除完成后,删除本地数据路由中的第三副本,重新计算***的数据路由并广播。
如图8所示,是本发明所述分布式数据库***自适应方法中数据节点恢复数据过程优选实施例流程图;本实施例包括以下步骤:
步骤S601:查询本地数据路由,获取本节点上第一副本数据分片的第三副本所在的数据节点30;
步骤S602:向第三副本所在的数据节点30复制相应数据分片;
收到数据分片的数据节点30,将收到的数据分片存入对应的第三副本中;
步骤S603:所有第一副本数据分片均恢复完成后,向控制节点10上报自身状态。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (28)
1.一种分布式数据库***,其特征在于,所述***包括控制节点、客户端API及数据节点,所述
控制节点,用于管理***的数据节点,计算***的数据路由并广播给客户端API及数据节点;
客户端API,用于为数据访问者提供读/写数据的接口,并将接收到的数据操作请求按照本地缓存的数据路由,转发给相应的数据节点;
数据节点,用于存储数据分片,以及根据本地缓存的数据路由,处理收到的数据操作请求。
2.如权利要求1所述的分布式数据库***,其特征在于,所述数据节点以虚拟机或者计算存储主机方式部署在所述***中。
3.如权利要求1所述的分布式数据库***,其特征在于,所述客户端AP以动态库或插件方式供数据访问者操作。
4.如权利要求1-3任一项所述的分布式数据库***,其特征在于,
所述控制节点,用于实时监控***中数据节点的数量及状态变化,并在数据节点数量变化时,执行节点扩容/缩容操作;在数据节点状态变化时,更新数据路由中对应数据节点的状态并广播更新后的数据路由。
5.如权利要求1-3任一项所述的分布式数据库***,其特征在于,
所述客户端API,用于根据收到数据操作请求中的数据关键字,计算请求数据对应的数据分片,并在本地缓存的数据路由中查找每个数据分片所在的数据节点;以及按照本地缓存的数据节点选取规则,将所述数据操作请求转发给相应的数据节点。
6.如权利要求4所述的分布式数据库***,其特征在于,
所述数据节点,用于在收到数据操作请求后,在本地缓存的数据路由中查找所述数据操作请求中的数据分片是否存储在本数据节点中;并在所述数据分片未存储在本数据节点时,在本地缓存的数据路由中查找所述数据分片所在的数据节点,并将所述数据操作请求转发给找到的数据节点;在所述数据分片存储在本数据节点中时,执行所述数据操作请求,并向数据访问者返回数据操作响应。
7.如权利要求1所述的分布式数据库***,其特征在于,
所述数据节点,用于周期性向所述控制节点上报自身状态;以及在链路变化时,实时向控制节点上报自身状态;
所述控制节点,用于周期性更新数据路由。
8.如权利要求1所述的分布式数据库***,其特征在于,所述数据节点,用于执行数据恢复操作及数据复制操作;
所述控制节点,用于按照预设的分域规则,对数据节点进行分域。
9.一种分布式数据库***的自适应方法,其特征在于,所述方法在***上电后,执行以下步骤:
控制节点计算***的数据路由并广播给客户API及所有数据节点;
客户端API接收访问者的数据操作请求,按照本地缓存的数据路由,将所述请求转发给对应的数据节点;
数据节点处理收到的数据操作请求,并返回数据操作响应给访问者。
10.如权利要求9所述的分布式数据库***的自适应方法,其特征在于,所述控制节点在计算***的数据路由前,还执行以下步骤:
按照预设的分域规则,对数据节点进行分域。
11.如权利要求10所述的分布式数据库***的自适应方法,其特征在于,所述分域规则为:若数据节点归属的主机/服务器数量为1,则将所述数据节点划分为左域或右域;若数据节点归属的主机/服务器数量大于等于2,则按照数据节点归属的主机/服务器均匀分布原则,将数据节点划分为左域和右域,使属于同一主机/服务器的数据节点位于同一域。
12.如权利要求9或10所述的分布式数据库***的自适应方法,其特征在于,所述控制节点根据***的数据节点数量及数据分片数量,计算每个数据节点上需要分布的数据分片数量,生成数据路由。
13.如权利要求9或10所述的分布式数据库***的自适应方法,其特征在于,所述客户端API按照本地缓存的数据路由,将所述请求转发给对应的数据节点步骤具体为:
根据数据操作请求中的数据关键字,计算相应的数据分片;
在本地缓存的数据路由中查找每个数据分片对应的数据节点;
按照预设的数据节点选择规则,将所述数据操作请求分别转发给找到的数据节点。
14.如权利要求13所述的分布式数据库***的自适应方法,其特征在于,所述数据节点选取规则为:
当查找到的数据分片对应的数据节点数为1时,直接将所述数据操作请求转发给所述数据节点;
当查找到的数据分片对应的数据节点数大于1时,判断所述数据操作请求的类型,若为写操作,则查看所述每个数据节点中的所述数据分片的副本号及数据节点的状态,将所述数据操作请求发送给状态正常且副本号小的数据节点;若为读操作,则将所述数据操作请求发送给负荷最小的数据节点。
15.如权利要求9或10所述的分布式数据库***的自适应方法,其特征在于,所述数据节点通过如下方法处理收到的数据操作请求:
在本地缓存的数据路由中查找所述数据操作请求中的数据分片是否存储在本数据节点中;若是,则执行所述数据操作请求,并向数据访问者返回数据操作响应;否则,在本地缓存的数据路由中查找所述数据分片所在的数据节点,将所述数据操作请求转发给找到的数据节点。
16.如权利要求15所述的分布式数据库***的自适应方法,其特征在于,所述执行数据操作请求具体为:
当所述数据操作请求为写操作时,根据访问者的操作方式,对数据分片存储于本地的副本进行增加、修改或删除操作;
当所述数据操作请求为读操作时,从数据分片存储于本地的副本中读取数据。
17.如权利要求16所述的分布式数据库***的自适应方法,其特征在于,所述方法数据操作请求为写操作时,在处理完所述数据操作请求后,执行数据复制流程,具体为:
记录数据分片变更的数据或者全数据;
在本地缓存的数据路由中查找所述数据分片其余副本所在的数据节点,向数据分片其余副本所在的数据节点复制所述数据分片变更的数据或全数据。
18.如权利要求9或10所述的分布式数据库***的自适应方法,其特征在于,所述控制节点在***运行过程中,还执行以下步骤:
实时监控***中是否有数据节点新增或者删除,若有数据节点新增,则执行节点扩容操作;若有数据节点删除,则执行节点缩容操作。
19.如权利要求18所述的分布式数据库***的自适应方法,其特征在于,所述节点扩容操作具体包括以下步骤:
计算要迁移到新增数据节点上的第一副本数据分片列表及第二副本数据分片列表;
在新增数据节点上为待迁入数据分片分配第三副本,重新计算***的数据路由并广播;
等待新增数据节点恢复数据;
收到新增数据节点上报的自身状态,根据预设的扩容规则,重新计算***的数据路由并广播;
通知所有数据节点删除本地所有数据分片的第三副本;
确认所有数据节点删除完成后,删除本地数据路由中的第三副本,重新计算***的数据路由并广播。
20.如权利要求19所述的分布式数据库***的自适应方法,其特征在于,所述计算要迁移到新增数据节点上的第一副本数据分片列表及第二副本数据分片列表步骤具体为:
用数据分片总数除以包含新增数据节点在内的数据节点总数,计算出每个数据节点要存储的平均数据分片数量;
用每个数据节点的当前数据分片数量减去计算得到的平均数据分片数量,计算出从每个原有数据节点应迁移到新增数据节点的数据分片数量;
所有要从原有数据节点中迁出的数据分片的第一副本组成新增数据节点的第一副本数据分片列表,所有要从原有数据节点中迁出的数据分片的第二副本组成新增数据节点的第二副本数据分片列表。
21.如权利要求19所述的分布式数据库***的自适应方法,其特征在于,所述预设的扩容规则为:
通知原有数据节点将本地待迁移到新增数据节点上的数据分片的第一副本切换为第三副本;同时通知新增数据节点将对应的数据分片的第三副本切换为第一副本;
通知原有数据节点将本地待迁移到新增数据节点上的数据分片的第二副本切换为第三副本;同时通知新增数据节点将对应的数据分片的第三副本切换为第二副本。
22.如权利要求18所述的分布式数据库***的自适应方法,其特征在于,所述节点缩容操作具体包括以下步骤:
计算各剩余节点上第一副本数据分片列表和第二副本数据分片列表;
在剩余数据节点上为待迁入数据分片分配第三副本,重新计算***的数据路由并广播;
等待其余数据节点恢复数据;
等待其余数据节点复制数据;
收到其余数据节点上报的自身状态,根据预设的缩容规则,重新计算***的数据路由并广播;
通知所有数据节点删除本地所有数据分片的第三副本;
确认所有数据节点删除完成后,删除本地数据路由中的第三副本,重新计算***的数据路由并广播。
23.如权利要求22所述的分布式数据库***的自适应方法,其特征在于,所述计算各剩余节点上第一副本数据分片列表和第二副本数据分片列表步骤具体为:
用数据分片总数除以剩余数据节点数,计算出剩余数据节点中每个数据节点要存储的平均数据分片数量;
用平均数据分片数量减去每个剩余数据节点上当前数据分片数量,计算出每个剩余数据节点上应从待关闭节点迁入的数据分片数;
根据预设的数据分片分布原则,将待删除数据节点上的数据分片第一副本和第二副本,分配到剩余数据节点上,得到每个剩余节点上第一副本数据分片列表和第二副本数据分片列表。
24.如权利要求22所述的分布式数据库***的自适应方法,其特征在于,所述预设的缩容规则为:
通知待删除数据节点将待迁移数据分片的第一副本切换为第三副本;同时通知存储有所述数据分片第三副本的剩余数据节点将所述数据分片的第三副本切换为第一副本;
通知待删除数据节点将待迁移数据分片的第二副本切换为第三副本;同时通知存储有所述数据分片第三副本的剩余数据节点将所述数据分片的第三副本切换为第二副本。
25.如权利要求23所述的分布式数据库***的自适应方法,其特征在于,所述数据分片分布原则为:
每个数据节点上的数据分片数量尽量相同;且
每个数据分片的第一副本和第二副本分布在不同域的数据节点上;以及
每个数据节点上所有第一副本数据分片的第二副本均匀分布在异域的所有数据节点上。
26.如权利要求19或22所述的分布式数据库***的自适应方法,其特征在于,所述数据节点通过如下步骤恢复数据:
查询本地数据路由,获取本节点上第一副本数据分片的第三副本所在的数据节点;
向第三副本所在的数据节点复制相应数据分片;
恢复完成,向控制节点上报自身状态。
27.如权利要求18所述的分布式数据库***的自适应方法,其特征在于,
所述增加的数据节点为新加入***的数据节点;
所述删除的数据节点包括:因负担小于预设值而需要删除的数据节点及因收到用户删除指令而要求删除的数据节点。
28.如权利要求13所述的分布式数据库***的自适应方法,其特征在于,所述客户端API通过对数据关键字取HASH值,再对HASH值取数据分片总数的模值方式来确定请求数据的分片数量。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510890348.7A CN106844399B (zh) | 2015-12-07 | 2015-12-07 | 分布式数据库***及其自适应方法 |
PCT/CN2016/103964 WO2017097059A1 (zh) | 2015-12-07 | 2016-10-31 | 分布式数据库***及其自适应方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510890348.7A CN106844399B (zh) | 2015-12-07 | 2015-12-07 | 分布式数据库***及其自适应方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106844399A true CN106844399A (zh) | 2017-06-13 |
CN106844399B CN106844399B (zh) | 2022-08-09 |
Family
ID=59012671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510890348.7A Active CN106844399B (zh) | 2015-12-07 | 2015-12-07 | 分布式数据库***及其自适应方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106844399B (zh) |
WO (1) | WO2017097059A1 (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273187A (zh) * | 2017-06-29 | 2017-10-20 | 深信服科技股份有限公司 | 读取位置获取方法及装置、计算机装置、可读存储介质 |
CN108073696A (zh) * | 2017-12-11 | 2018-05-25 | 厦门亿力吉奥信息科技有限公司 | 基于分布式内存数据库的gis应用方法 |
CN108319656A (zh) * | 2017-12-29 | 2018-07-24 | 中兴通讯股份有限公司 | 实现灰度发布的方法、装置及计算节点和*** |
CN108664222A (zh) * | 2018-05-11 | 2018-10-16 | 北京奇虎科技有限公司 | 一种区块链***及其应用方法 |
CN108712488A (zh) * | 2018-05-11 | 2018-10-26 | 北京奇虎科技有限公司 | 一种基于区块链的数据处理方法、装置、区块链*** |
CN108737534A (zh) * | 2018-05-11 | 2018-11-02 | 北京奇虎科技有限公司 | 一种基于区块链的数据传输方法、装置、区块链*** |
CN108845892A (zh) * | 2018-04-19 | 2018-11-20 | 北京百度网讯科技有限公司 | 分布式数据库的数据处理方法、装置、设备和计算机存储介质 |
CN108881415A (zh) * | 2018-05-31 | 2018-11-23 | 广州亿程交通信息集团有限公司 | 分布式实时大数据分析*** |
CN109189561A (zh) * | 2018-08-08 | 2019-01-11 | 广东亿迅科技有限公司 | 一种基于mpp架构的事务处理***及其方法 |
CN109933568A (zh) * | 2019-03-13 | 2019-06-25 | 安徽海螺集团有限责任公司 | 一种工业大数据平台***及其查询方法 |
CN110175069A (zh) * | 2019-05-20 | 2019-08-27 | 广州南洋理工职业学院 | 基于广播信道的分布式事务处理***及方法 |
CN111090687A (zh) * | 2019-12-24 | 2020-05-01 | 腾讯科技(深圳)有限公司 | 数据处理方法及装置、***、计算机可读存储介质 |
CN111291124A (zh) * | 2020-02-12 | 2020-06-16 | 杭州涂鸦信息技术有限公司 | 一种数据存储方法及其***和设备 |
CN111338806A (zh) * | 2020-05-20 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 一种业务控制方法及装置 |
CN111400112A (zh) * | 2020-03-18 | 2020-07-10 | 深圳市腾讯计算机***有限公司 | 分布式集群的存储***的写入方法、装置及可读存储介质 |
CN111538772A (zh) * | 2020-04-14 | 2020-08-14 | 北京宝兰德软件股份有限公司 | 数据的交换处理方法、装置、电子设备及存储介质 |
CN112084267A (zh) * | 2020-07-29 | 2020-12-15 | 北京思特奇信息技术股份有限公司 | 解决分布式数据库全局广播的方法 |
WO2021147926A1 (en) * | 2020-01-20 | 2021-07-29 | Huawei Technologies Co., Ltd. | Methods and systems for hybrid edge replication |
CN113535656A (zh) * | 2021-06-25 | 2021-10-22 | 中国人民大学 | 数据访问方法、装置、设备及存储介质 |
CN114237520A (zh) * | 2022-02-28 | 2022-03-25 | 广东睿江云计算股份有限公司 | 一种ceph集群数据均衡方法以及*** |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844399B (zh) * | 2015-12-07 | 2022-08-09 | 中兴通讯股份有限公司 | 分布式数据库***及其自适应方法 |
CN107579865A (zh) * | 2017-10-18 | 2018-01-12 | 北京奇虎科技有限公司 | 分布式代码服务器的权限管理方法、装置及*** |
CN112214466B (zh) * | 2019-07-12 | 2024-05-14 | 海能达通信股份有限公司 | 分布式集群***及数据写入方法、电子设备、存储装置 |
CN111835848B (zh) * | 2020-07-10 | 2022-08-23 | 北京字节跳动网络技术有限公司 | 数据分片方法、装置、电子设备及计算机可读介质 |
CN113312005B (zh) * | 2021-06-22 | 2022-11-01 | 青岛理工大学 | 基于区块链的物联网数据扩容存储方法、***及计算设备 |
CN117667944B (zh) * | 2023-12-12 | 2024-06-18 | 支付宝(杭州)信息技术有限公司 | 用于分布式图数据库的副本扩容方法、装置及*** |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7761407B1 (en) * | 2006-10-10 | 2010-07-20 | Medallia, Inc. | Use of primary and secondary indexes to facilitate aggregation of records of an OLAP data cube |
CN103078927A (zh) * | 2012-12-28 | 2013-05-01 | 合一网络技术(北京)有限公司 | 一种key-value数据分布式缓存***及其方法 |
CN103095806A (zh) * | 2012-12-20 | 2013-05-08 | 中国电力科学研究院 | 一种面向大电网的实时数据库***的负载均衡管理*** |
CN103324539A (zh) * | 2013-06-24 | 2013-09-25 | 浪潮电子信息产业股份有限公司 | 一种作业调度管理***及方法 |
CN103475566A (zh) * | 2013-07-10 | 2013-12-25 | 北京发发时代信息技术有限公司 | 一种实时消息交换平台及分布式集群组建方法 |
CN103516809A (zh) * | 2013-10-22 | 2014-01-15 | 浪潮电子信息产业股份有限公司 | 一种高扩展、高性能的分布式存储体系结构 |
CN103780482A (zh) * | 2012-10-22 | 2014-05-07 | 华为技术有限公司 | 一种获取内容方法及用户设备、缓存节点 |
CN103838770A (zh) * | 2012-11-26 | 2014-06-04 | ***通信集团北京有限公司 | 一种数据逻辑分区的方法和*** |
CN104317899A (zh) * | 2014-10-24 | 2015-01-28 | 西安未来国际信息股份有限公司 | 一种大数据分析与处理***及访问方法 |
CN104333512A (zh) * | 2014-10-30 | 2015-02-04 | 北京思特奇信息技术股份有限公司 | 一种分布式内存数据库访问***及方法 |
CN104380690A (zh) * | 2012-06-15 | 2015-02-25 | 阿尔卡特朗讯 | 用于推荐服务的隐私保护***的架构 |
CN105007238A (zh) * | 2015-07-22 | 2015-10-28 | 中国船舶重工集团公司第七0九研究所 | 轻量级跨平台消息中间件的实现方法及*** |
WO2017097059A1 (zh) * | 2015-12-07 | 2017-06-15 | 中兴通讯股份有限公司 | 分布式数据库***及其自适应方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104283906B (zh) * | 2013-07-02 | 2018-06-19 | 华为技术有限公司 | 分布式存储***、集群节点及其区间管理方法 |
CN103870602B (zh) * | 2014-04-03 | 2017-05-31 | 中国科学院地理科学与资源研究所 | 数据库空间分片复制方法及*** |
CN104239417B (zh) * | 2014-08-19 | 2017-06-09 | 天津南大通用数据技术股份有限公司 | 一种分布式数据库数据分片后动态调整方法及装置 |
CN104615657A (zh) * | 2014-12-31 | 2015-05-13 | 天津南大通用数据技术股份有限公司 | 一种节点支持多数据分片的分布式集群的扩容和缩容方法 |
-
2015
- 2015-12-07 CN CN201510890348.7A patent/CN106844399B/zh active Active
-
2016
- 2016-10-31 WO PCT/CN2016/103964 patent/WO2017097059A1/zh active Application Filing
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7761407B1 (en) * | 2006-10-10 | 2010-07-20 | Medallia, Inc. | Use of primary and secondary indexes to facilitate aggregation of records of an OLAP data cube |
CN104380690A (zh) * | 2012-06-15 | 2015-02-25 | 阿尔卡特朗讯 | 用于推荐服务的隐私保护***的架构 |
CN103780482A (zh) * | 2012-10-22 | 2014-05-07 | 华为技术有限公司 | 一种获取内容方法及用户设备、缓存节点 |
CN103838770A (zh) * | 2012-11-26 | 2014-06-04 | ***通信集团北京有限公司 | 一种数据逻辑分区的方法和*** |
CN103095806A (zh) * | 2012-12-20 | 2013-05-08 | 中国电力科学研究院 | 一种面向大电网的实时数据库***的负载均衡管理*** |
CN103078927A (zh) * | 2012-12-28 | 2013-05-01 | 合一网络技术(北京)有限公司 | 一种key-value数据分布式缓存***及其方法 |
CN103324539A (zh) * | 2013-06-24 | 2013-09-25 | 浪潮电子信息产业股份有限公司 | 一种作业调度管理***及方法 |
CN103475566A (zh) * | 2013-07-10 | 2013-12-25 | 北京发发时代信息技术有限公司 | 一种实时消息交换平台及分布式集群组建方法 |
CN103516809A (zh) * | 2013-10-22 | 2014-01-15 | 浪潮电子信息产业股份有限公司 | 一种高扩展、高性能的分布式存储体系结构 |
CN104317899A (zh) * | 2014-10-24 | 2015-01-28 | 西安未来国际信息股份有限公司 | 一种大数据分析与处理***及访问方法 |
CN104333512A (zh) * | 2014-10-30 | 2015-02-04 | 北京思特奇信息技术股份有限公司 | 一种分布式内存数据库访问***及方法 |
CN105007238A (zh) * | 2015-07-22 | 2015-10-28 | 中国船舶重工集团公司第七0九研究所 | 轻量级跨平台消息中间件的实现方法及*** |
WO2017097059A1 (zh) * | 2015-12-07 | 2017-06-15 | 中兴通讯股份有限公司 | 分布式数据库***及其自适应方法 |
Non-Patent Citations (2)
Title |
---|
K. YAMAMOTO 等: "Analysis of distributed route selection scheme in wireless ad hoc networks", 《2004 IEEE 15TH INTERNATIONAL SYMPOSIUM ON PERSONAL, INDOOR AND MOBILE RADIO COMMUNICATIONS (IEEE CAT. NO.04TH8754)》 * |
陈森利 等: "电力计量采集***中分布式缓存***研究", 《信息技术》 * |
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273187A (zh) * | 2017-06-29 | 2017-10-20 | 深信服科技股份有限公司 | 读取位置获取方法及装置、计算机装置、可读存储介质 |
CN108073696A (zh) * | 2017-12-11 | 2018-05-25 | 厦门亿力吉奥信息科技有限公司 | 基于分布式内存数据库的gis应用方法 |
CN108073696B (zh) * | 2017-12-11 | 2020-10-27 | 厦门亿力吉奥信息科技有限公司 | 基于分布式内存数据库的gis应用方法 |
CN108319656A (zh) * | 2017-12-29 | 2018-07-24 | 中兴通讯股份有限公司 | 实现灰度发布的方法、装置及计算节点和*** |
CN108845892A (zh) * | 2018-04-19 | 2018-11-20 | 北京百度网讯科技有限公司 | 分布式数据库的数据处理方法、装置、设备和计算机存储介质 |
CN108664222B (zh) * | 2018-05-11 | 2020-05-15 | 北京奇虎科技有限公司 | 一种区块链***及其应用方法 |
CN108712488B (zh) * | 2018-05-11 | 2021-09-10 | 北京奇虎科技有限公司 | 一种基于区块链的数据处理方法、装置、区块链*** |
CN108664222A (zh) * | 2018-05-11 | 2018-10-16 | 北京奇虎科技有限公司 | 一种区块链***及其应用方法 |
CN108737534B (zh) * | 2018-05-11 | 2021-08-24 | 北京奇虎科技有限公司 | 一种基于区块链的数据传输方法、装置、区块链*** |
CN108737534A (zh) * | 2018-05-11 | 2018-11-02 | 北京奇虎科技有限公司 | 一种基于区块链的数据传输方法、装置、区块链*** |
CN108712488A (zh) * | 2018-05-11 | 2018-10-26 | 北京奇虎科技有限公司 | 一种基于区块链的数据处理方法、装置、区块链*** |
CN108881415A (zh) * | 2018-05-31 | 2018-11-23 | 广州亿程交通信息集团有限公司 | 分布式实时大数据分析*** |
CN108881415B (zh) * | 2018-05-31 | 2020-11-17 | 广州亿程交通信息集团有限公司 | 分布式实时大数据分析*** |
CN109189561A (zh) * | 2018-08-08 | 2019-01-11 | 广东亿迅科技有限公司 | 一种基于mpp架构的事务处理***及其方法 |
CN109933568A (zh) * | 2019-03-13 | 2019-06-25 | 安徽海螺集团有限责任公司 | 一种工业大数据平台***及其查询方法 |
CN110175069A (zh) * | 2019-05-20 | 2019-08-27 | 广州南洋理工职业学院 | 基于广播信道的分布式事务处理***及方法 |
CN110175069B (zh) * | 2019-05-20 | 2023-11-14 | 广州南洋理工职业学院 | 基于广播信道的分布式事务处理***及方法 |
CN111090687A (zh) * | 2019-12-24 | 2020-05-01 | 腾讯科技(深圳)有限公司 | 数据处理方法及装置、***、计算机可读存储介质 |
CN111090687B (zh) * | 2019-12-24 | 2023-03-10 | 腾讯科技(深圳)有限公司 | 数据处理方法及装置、***、计算机可读存储介质 |
WO2021147926A1 (en) * | 2020-01-20 | 2021-07-29 | Huawei Technologies Co., Ltd. | Methods and systems for hybrid edge replication |
CN111291124A (zh) * | 2020-02-12 | 2020-06-16 | 杭州涂鸦信息技术有限公司 | 一种数据存储方法及其***和设备 |
CN111400112B (zh) * | 2020-03-18 | 2021-04-13 | 深圳市腾讯计算机***有限公司 | 分布式集群的存储***的写入方法、装置及可读存储介质 |
CN111400112A (zh) * | 2020-03-18 | 2020-07-10 | 深圳市腾讯计算机***有限公司 | 分布式集群的存储***的写入方法、装置及可读存储介质 |
CN111538772A (zh) * | 2020-04-14 | 2020-08-14 | 北京宝兰德软件股份有限公司 | 数据的交换处理方法、装置、电子设备及存储介质 |
CN111338806A (zh) * | 2020-05-20 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 一种业务控制方法及装置 |
CN112084267A (zh) * | 2020-07-29 | 2020-12-15 | 北京思特奇信息技术股份有限公司 | 解决分布式数据库全局广播的方法 |
CN112084267B (zh) * | 2020-07-29 | 2024-06-07 | 北京思特奇信息技术股份有限公司 | 解决分布式数据库全局广播的方法 |
CN113535656A (zh) * | 2021-06-25 | 2021-10-22 | 中国人民大学 | 数据访问方法、装置、设备及存储介质 |
CN113535656B (zh) * | 2021-06-25 | 2022-08-09 | 中国人民大学 | 数据访问方法、装置、设备及存储介质 |
CN114237520A (zh) * | 2022-02-28 | 2022-03-25 | 广东睿江云计算股份有限公司 | 一种ceph集群数据均衡方法以及*** |
CN114237520B (zh) * | 2022-02-28 | 2022-07-08 | 广东睿江云计算股份有限公司 | 一种ceph集群数据均衡方法以及*** |
Also Published As
Publication number | Publication date |
---|---|
WO2017097059A1 (zh) | 2017-06-15 |
CN106844399B (zh) | 2022-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106844399A (zh) | 分布式数据库***及其自适应方法 | |
US11360854B2 (en) | Storage cluster configuration change method, storage cluster, and computer system | |
CN102148850B (zh) | 一种集群***的业务处理方法及集群*** | |
US8676951B2 (en) | Traffic reduction method for distributed key-value store | |
CN109597567B (zh) | 一种数据处理方法和装置 | |
US20090157776A1 (en) | Repartitioning live data | |
JP7270755B2 (ja) | 分散システムでのメタデータルーティング | |
US10831612B2 (en) | Primary node-standby node data transmission method, control node, and database system | |
US20140108358A1 (en) | System and method for supporting transient partition consistency in a distributed data grid | |
CN108833503A (zh) | 一种基于ZooKeeper的Redis集群方法 | |
KR101670343B1 (ko) | 피어투피어 데이터 복제를 위한 방법, 장치, 및 시스템 및 마스터 노드 전환을 위한 방법, 장치, 및 시스템 | |
CN109992206B (zh) | 数据分布存储方法及相关装置 | |
US11068537B1 (en) | Partition segmenting in a distributed time-series database | |
CN109918021B (zh) | 数据处理方法和装置 | |
CN113010496B (zh) | 一种数据迁移方法、装置、设备和存储介质 | |
CN104410531B (zh) | 冗余的***架构方法 | |
CN107682411A (zh) | 一种大规模sdn控制器集群及网络*** | |
CN108777723B (zh) | Arl表管理*** | |
JP2007524325A (ja) | 投票を活用した無停止サービスシステム及びそのシステムにおける情報更新及び提供方法 | |
CN106873902A (zh) | 一种文件存储***、数据调度方法及数据节点 | |
CN107656980B (zh) | 应用于分布式数据库***中的方法及分布式数据库*** | |
CN107395406B (zh) | 在线***的在线状态数据处理方法、装置及*** | |
CN107908713A (zh) | 一种基于Redis集群的分布式动态杜鹃过滤***及其过滤方法 | |
JP7398567B2 (ja) | 動的適応型パーティション分割 | |
US20190391969A1 (en) | Difference management apparatus, storage system, difference management method, and program |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |