买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种分布式数据库的多副本实现方法和装置_合肥申威睿思信息科技有限公司_202310157937.9 

申请/专利权人:合肥申威睿思信息科技有限公司

申请日:2023-02-23

公开(公告)日:2024-03-05

公开(公告)号:CN115964445B

主分类号:G06F16/27

分类号:G06F16/27;G06F16/2455;G06F11/10

优先权:

专利状态码:有效-授权

法律状态:2024.03.05#授权;2023.05.02#实质审查的生效;2023.04.14#公开

摘要:本发明公开了一种分布式数据库的多副本实现方法和装置,该方法包括:根据编码缓存矩阵数据结构初始化编码缓存矩阵和预设分片键;主节点接收目标数据,构建编码缓存矩阵,基于预设分片键和预设纠删码算法对目标数据进行分片编码处理,得到分片数据以及冗余数据,并从分片数据从节点中确定目标分片数据从节点,从冗余数据从节点中确定目标冗余数据从节点;根据分片数据、冗余数据、目标分片数据从节点和目标冗余数据从节点,对目标数据进行分发处理;分发处理包括一级分发处理和二级分发处理,从而高效的实现了分布式数据库的多副本,并进一步提高了存储空间利用率,进而可充分发挥系统加速硬件的计算能力,保证了HTAP系统的可用性。

主权项:1.一种分布式数据库的多副本实现方法,其特征在于,所述方法应用于包括主节点和多个从节点的分布式数据库中,预先将各所述从节点划分为用于保存分片数据的分片数据从节点和用于保存冗余数据的冗余数据从节点,所述方法包括:根据编码缓存矩阵数据结构初始化编码缓存矩阵和预设分片键;所述主节点接收目标数据,构建所述编码缓存矩阵,基于预设分片键和预设纠删码算法对所述目标数据进行分片编码处理,得到所述分片数据,以及与所述分片数据对应的所述冗余数据,并从所述分片数据从节点中确定目标分片数据从节点,从所述冗余数据从节点中确定目标冗余数据从节点;根据所述分片数据、所述冗余数据、所述目标分片数据从节点和所述目标冗余数据从节点,对所述目标数据进行分发处理;其中,所述分发处理包括一级分发处理和二级分发处理;所述编码缓存矩阵数据结构包括3个字段,分别为分片数据行数、冗余数据行数和预设行空间大小;设所述分片数据行数为M,所述冗余数据行数为N,所述预设行空间大小的值为Rmax;其中,所述编码缓存矩阵由多个行组成,各所述行被划分为与各所述分片数据从节点对应的分片数据行和与各所述冗余数据从节点对应的冗余数据行,所述分片数据行用于缓存所述分片数据,所述冗余数据行用于缓存所述冗余数据,基于预设纠删码算法进行编码运算的所述分片数据是从所述分片数据行获取的;所述预设分片键用于确定所述分片数据行与所述分片数据从节点一一对应的关系;初始化编码缓存矩阵时,所述分片数据行数M由所述分片数据从节点的数量确定,所述冗余数据行数N由所述冗余数据从节点的数量确定;所述分片数据包括一级分片数据和二级分片数据,所述冗余数据包括一级冗余数据和二级冗余数据,或所述冗余数据仅包括所述一级冗余数据,所述一级分片数据和所述一级冗余数据由目标数据生成并由所述主节点分发至各从节点,所述二级分片数据和所述二级冗余数据由所述一级分片数据生成,由当前从节点分发至其他从节点;所述主节点接收目标数据,构建所述编码缓存矩阵,基于预设分片键和预设纠删码算法对所述目标数据进行分片编码处理的步骤包括:所述主节点接收所述目标数据,构建所述编码缓存矩阵;根据所述预设分片键对所述目标数据进行分组,得到所述目标数据对应的元组数据,并将所述目标数据对应的元组数据缓存到所述编码缓存矩阵的所述分片数据行中;获取已缓存到所述分片数据行中的元组数据长度为Ls,并根据Ls和Rmax为各所述分片数据行中的元组数据添加填充数据,得到与所述目标数据对应的所述一级分片数据,其中,Ls小于或等于Rmax;基于预设纠删码算法对所有所述一级分片数据进行编码运算,生成与所述一级分片数据对应的所述一级冗余数据,以及所述一级冗余数据的元组数量为N_Ls,其中,所述一级冗余数据缓存需要的所述冗余数据行数,以及分发需要的所述目标冗余数据从节点的数量均为N_Ls;将所有所述一级冗余数据缓存到所述冗余数据行中;所述一级分发处理的步骤包括:所述主节点将所述分片数据行中缓存的所有一级分片数据从所述主节点分发至所述目标分片数据从节点;将所述冗余数据行中缓存的所有一级冗余数据从所述主节点分发到所述目标冗余数据从节点;释放所述编码缓存矩阵;所述二级分发处理的步骤包括:所述分片数据从节点接收所述一级分片数据,对各所述一级分片数据进行复制,生成副本数据,将所述副本数据分发至其他从节点;或,所述分片数据从节点接收所述一级分片数据,构建所述编码缓存矩阵,基于预设分片键和所述预设纠删码算法对各所述一级分片数据以行为单位进行分片编码处理,得到所述二级分片数据,以及与所述二级分片数据对应的二级冗余数据,并从所述分片数据从节点中确定目标分片数据从节点,从其它所述冗余数据从节点中确定目标冗余数据从节点,并将所述二级分片数据分发至所述目标分片数据从节点,将所述二级分片数据对应的二级冗余数据分发至所述目标冗余数据从节点,释放所述编码缓存矩阵;或,所述分片数据从节点接收所述一级分片数据,构建所述编码缓存矩阵,基于预设分片键和所述预设纠删码算法对各所述一级分片数据以列或列组为单位进行分片编码处理,得到所述二级分片数据,以及与所述二级分片数据对应的二级冗余数据,并从所述分片数据从节点中确定目标分片数据从节点,从其它所述冗余数据从节点中确定目标冗余数据从节点,并将所述二级分片数据分发至所述目标分片数据从节点,将所述二级分片数据对应的二级冗余数据分发至所述目标冗余数据从节点,释放所述编码缓存矩阵。

全文数据:

权利要求:

百度查询: 合肥申威睿思信息科技有限公司 一种分布式数据库的多副本实现方法和装置

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。