结合主从备份和纠删码的内存计算系统高可用优化方法

文档序号:8543630阅读:295来源:国知局
结合主从备份和纠删码的内存计算系统高可用优化方法
【技术领域】
[0001] 本发明设及高可用系统技术领域,具体地,设及结合主从备份和纠删码的内存计 算系统高可用优化方法。
【背景技术】
[0002] 内存键值系统等内存计算系统由于其易失性,通常需要使用主从数据备份的方式 防止岩机引起的数据丢失和服务不可用,如Redis。利用主从数据备份实现高可用内存键值 系统的方法主要将服务器集群分为多个组,其中每组包含一个主节点和一到多个从节点。 其中主节点提供键值更新请求与键值查询请求,从节点为主节点保存相同的内存信息,并 只接收主节点发送的更新请求。当主服务器出现错误时,从节点可W成为新的主节点并为 客户端提供服务。由于从节点要维持和主节点相同的内存信息,所W从节点使用内存和主 节点一致,从而引入大量的内存冗余,降低了内存的利用效率。
[0003] 与主从备份不同,纠删码是一种能够将数据进行编码,在数据丢失的情况下,利用 编码恢复数据的可靠性保证技术。利用纠删码保护系统数据,可将服务器集群分为M个数 据节点和N个码节点。该M+N个节点拥有相同的内存空间,其中N个码节点上的内存数据 由M个数据节点上同地址内存数据的不同编码公式所得。当其中不超过N个节点岩机时, 可通过M+N个节点中任意M个节点进行恢复。

【发明内容】

[0004] 针对现有技术中的缺陷,本发明的目的是提供一种结合主从备份和纠删码的内存 计算系统高可用优化方法。
[0005] 根据本发明提供的一种结合主从备份和纠删码的内存计算系统高可用优化方法, 包括如下步骤:
[0006] 步骤1 ;将分布式系统分为多个组,每个组包括M个主节点和N个从节点,且M和N 均大于零;M个主节点的B区和N个从节点的D区具有相同的内存空间,其中,N个从节点上 的D区内存数据能够由M个主节点B区上同内存地址的内存数据根据不同编码公式得到; 任意从节点C区均包含M个主节点A区的有效数据;
[0007] -每个所述主节点上的内存包括;A区和B区,所述A区用于保存元数据,所述B区 用于保存值数据,其中,元数据包括键到值数据地址的索引和内存分配信息,值数据包括所 在主节点上所有键对应的值数据;
[000引-每个所述从节点上的内存包括;C区和D区;所述C区用于保存备份元数据,所述D区用于保存值数据编码;
[0009] 步骤2 ;引入纠删码的更新操作保护值数据;
[0010] 步骤3 ;当一主节点发生岩机后,任一从节点构成恢复节点代替该主节点处理用 户请求,并利用在线恢复协议恢复丢失数据。
[0011] 优选地,所述步骤2包括:
[0012] 步骤2. 1 ;根据用户的写请求,主节点为所述写请求中的待写入的值数据分配内 存地址;
[0013] 步骤2. 2 ;主节点计算得到所述待写入的值数据与所分配内存地址上原内存数据 的差值,将所述写请求中的待写入的值数据替换为所得差值并转发给从节点;
[0014] 步骤2.3 ;当写请求对应的写操作为同步写操作时,从节点使用缓存区将所述写 请求缓存,并回复主节点,相应的更新操作需等到主节点收到所有从节点回复后继续进 行;
[0015] 步骤2. 4 ;主节点执行索引修改与值数据修改;
[0016] 步骤2.5 ;当写请求对应的写操作为同步写操作时,主节点发送确认信息至从节 点,同时从节点需等到主节点确认信息后继续执行;
[0017] 步骤2. 6 ;从节点执行纠删码和元数据更新操作;
[0018] 异步更新操作仅含上述步骤2. 1、2. 2、2. 4、2. 6。
[0019] 优选地,所述步骤3包括:
[0020] 步骤3. 1 ;恢复节点接收用户请求后,根据备份元数据得到待恢复内存地址,开始 恢复内存数据,或在服务空闲时主动开始恢复内存数据;
[0021] 步骤3. 2 ;恢复节点根据主节点崩溃数量设定恢复所设及到的主节点、从节点,并 发送恢复请求至所有所述设及到的主节点;
[0022] 步骤3. 3 ;接收到恢复请求的主节点向所有所述设及到的从节点发送恢复所需数 据,所述设及到的从节点收到恢复所需数据后:
[002引-若该待恢复内存地址不存在相应的纠删码拷贝,则为该恢复请求生成纠删码拷 贝,将收到的恢复所需数据按恢复公式操作在该纠删码拷贝上;
[0024] -若该待恢复内存地址存在相应的纠删码拷贝,则直接更新该纠删码拷贝;
[0025] -若在对恢复所需数据的接收已开始但尚没有接收完毕的过程中收到主节点的更 新请求,且该纠删码拷贝正等待该主节点的恢复所需数据,则待恢复内存地址相应的原纠 删码和纠删码拷贝都需要执行更新操作;
[0026] 步骤3. 4 ;从节点接收到所有主节点的恢复所需数据,且进行过恢复操作后,将恢 复结果返回给恢复节点;
[0027] 步骤3. 5 ;恢复节点对收到的恢复结果做出计算,并恢复出原始值数据,继续处理 用户请求。
[002引与现有技术相比,本发明具有如下的有益效果:
[0029] 1、本发明提供的方法通过使用纠删码对数据进行保护,减少数据的冗余度,提高 计算机系统内存的使用效率。
[0030] 2、本发明提供的方法利用主从备份保护元数据,并利用在线恢复算法,缩短节点 奔溃后系统不可用时间,提高内存键值系统的可用性。
[0031] 3、提高内存使用效率的同时,保持高性能和并行数据恢复能力。
【附图说明】
[0032] 通过阅读参照W下附图对非限制性实施例所作的详细描述,本发明的其它特征、 目的和优点将会变得更明显:
[0033] 图1为本发明提供的结合主从备份和纠删码的系统结构与更新流程图;
[0034] 图2为本发明提供的在线恢复流程图。
【具体实施方式】
[0035] 下面结合具体实施例对本发明进行详细说明。W下实施例将有助于本领域的技术 人员进一步理解本发明,但不W任何形式限制本发明。应当指出的是,对本领域的普通技术 人员来说,在不脱离本发明构思的前提下,还可W做出若干变形和改进。该些都属于本发明 的保护范围。
[0036] 本发明提出的结合主从备份和纠删码的内存计算系统高可用优化方法,包括如下 步骤:
[0037] 步骤1 ;将分布式系统分为多个组,每个组保护M个主节点和N个从节点,且M和N 的值均大于或等于1 ;
[003引-每个所述主节点上的内存包括;A区和B区,所述A区用于保存元数据,所述B区 用于保存值数据,其中元数据包括键到值数据地址的索引和内存分配信息,值数据包括该 节点上所有键对应的值数据;
[0039] -每个所述从节点上的内存包括;C区和D区;所述C区用于保存备份元数据,所述 D区用于保存值数据编码;
[0040] 步骤2 ;引入纠删码的更新操作保护值数据;
[004U步骤3 ;当一主节点发生岩机后,任一从节点构成恢复节点代替该主节点处理请 求,并利用在线恢复协议恢复丢失数据。
[0042] 优选地,所述步骤2包括:
[0043] 步骤2. 1 ;主节点为新写入的值数据分配内存;
[0044] 步骤2. 2 ;主节点计算值数据与分配地址上原内存数据的差值,将原请求中的值 数据替换为所得差值并转发给从节点;
[0045] 步骤2.3 ;当写请求对应的写操作为同步写操作时,从节点使用缓存区将所述写 请求缓存,并回复主节点,相应的更新操作需等到主节点收到所有从节点回复后继续进 行;
[0046] 步骤2. 4 ;主节点执行索引修改与值数据修改;
[0047] 步骤2.5;当写请求对应的写操作为同步写操作时,主节点发送确认信息至从节 点,同时从节点需等到主节点确认信息后继续执行;
[0048] 步骤2. 6 ;从
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1