数据处理方法、装置及电子设备与流程

allin2026-01-21  20


本申请涉及数据处理,尤其涉及数据处理方法、装置及电子设备。


背景技术:

1、当分布式存储系统的使用容量达到一定阈值后会无法进行数据的写入,因此,为了保持分布式存储系统的可用性需要进行节点扩容。节点扩容会导致虚节点到物理节点的映射关系发生变化,即部分虚节点被映射至了新的物理节点上,为保证在节点扩容完成后,这些被映射至新的物理节点上的虚节点的数据不会出现在原来对应的物理节点中,以保证数据的一致性,需要将这些虚节点在缓存中的数据完成刷盘,同时删除对应的日志记录。

2、目前在实际应用中,在发生节点扩容时会将所接收的写数据请求插入至缓存队列中,等待上述虚节点在缓存中的数据完成刷盘之后,再将缓存队列中的写数据请求直接透传给写时重定向模块以进行写时重定向处理。但是,在上述过程中,若刷盘时间较长,则会导致已接收的写数据请求长时间未被处理,从而会导致分布式存储系统的性能下降。


技术实现思路

1、有鉴于此,本申请提供了数据处理方法、装置及电子设备,以避免分布式存储系统在发生节点扩容时的性能下降问题。

2、本申请实施例提供一种数据处理方法,该方法应用于分布式存储系统中的任一指定存储节点;指定存储节点是指分布式存储系统在本次节点扩容前所包含的存储节点;该方法包括:

3、获得虚节点迁移集合,依据虚节点迁移集合确定本节点对应的虚节点迁移子集;并将在当前时间点之前已接收的且未处理完成的至少一个数据处理请求的信息记录至第一处理链表中;虚节点迁移集合是由至少一个在本次节点扩容时映射至新增的存储节点上的虚节点构成的;

4、接收数据处理请求,在数据处理请求为写数据请求时,写数据请求指示了与数据所要写入的存储位置相匹配的虚节点对应的节点标识;若确定节点标识对应的虚节点在虚节点迁移子集中,则将写数据请求添加至用于缓存需进行写时重定向处理的写数据请求的缓存队列中;否则,将写数据请求的信息添加至第二处理链表中,直至发现第一处理链表中的数据处理请求均被处理完成;

5、当发现第二处理链表中的写数据请求均被处理完成时,对当前刷盘链表中的写数据请求对应的缓存数据进行刷盘,直至达到设定刷盘停止条件;设定刷盘停止条件是指:目标日志对象被删除;目标日志对象中记录有第一处理链表中的最后被处理的写数据请求所对应的操作日志。

6、本申请实施例还提供一种数据处理装置,该装置配置于分布式存储系统中的任一指定存储节点;指定存储节点是指分布式存储系统在本次节点扩容前所包含的存储节点;该装置包括:

7、获得模块,用于获得虚节点迁移集合,依据虚节点迁移集合确定本节点对应的虚节点迁移子集;并将在当前时间点之前已接收的且未处理完成的至少一个数据处理请求的信息记录至第一处理链表中;虚节点迁移集合是由至少一个在本次节点扩容时映射至新增的存储节点上的虚节点构成的;

8、接收模块,用于接收数据处理请求,在数据处理请求为写数据请求时,写数据请求指示了与数据所要写入的存储位置相匹配的虚节点对应的节点标识;若确定节点标识对应的虚节点在虚节点迁移子集中,则将写数据请求添加至用于缓存需进行写时重定向处理的写数据请求的缓存队列中;否则,将写数据请求的信息添加至第二处理链表中,直至发现第一处理链表中的数据处理请求均被处理完成;

9、刷盘模块,用于当发现第二处理链表中的写数据请求均被处理完成时,对当前刷盘链表中的写数据请求对应的缓存数据进行刷盘,直至达到设定刷盘停止条件;设定刷盘停止条件是指:目标日志对象被删除;目标日志对象中记录有第一处理链表中的最后被处理的写数据请求所对应的操作日志。

10、本申请实施例还提供一种电子设备,该电子设备包括:

11、处理器;以及

12、存储器,在该存储器中存储有计算机程序指令,计算机程序指令在被处理器运行时使得处理器执行如上方法的步骤。

13、本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,该计算机程序指令在被处理器运行时使得处理器执行如上方法中的步骤。

14、由以上技术方案可以看出,本申请实施例中通过在分布式存储系统发生节点扩容时,先确定本节点对应的虚节点迁移子集,之后,对于所接收的所对应虚节点不在该虚节点迁移子集中的写数据请求,将该写数据请求添加至第二处理链表中等待正常处理,无需等待虚节点刷盘完成后再进行处理,这样能够有效避免分布式存储系统在发生节点扩容时的性能下降问题,提高数据处理效率。



技术特征:

1.一种数据处理方法,其特征在于,所述方法应用于分布式存储系统中的任一指定存储节点;所述指定存储节点是指所述分布式存储系统在本次节点扩容前所包含的存储节点;所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述虚节点迁移集合是由目标存储节点基于预配置的所有虚节点、以及所述分布式存储系统在本次节点扩容后所包含的所有存储节点确定的;所述目标存储节点是指检测到节点扩容事件的指定存储节点。

3.根据权利要求1所述的方法,其特征在于,本节点预配置了n个用于处理数据处理请求的线程,n大于1;每个线程对应一个部分虚节点迁移子集;各线程对应的部分虚节点迁移子集不同;各线程对应的部分虚节点迁移子集构成所述虚节点迁移子集。

4.根据权利要求1所述的方法,其特征在于,所述目标日志对象通过以下方式确定:

5.根据权利要求4所述的方法,其特征在于,在获得当前正在使用的日志对象以作为目标日志对象之后,该方法进一步包括:

6.根据权利要求1所述的方法,其特征在于,该方法进一步包括:

7.根据权利要求2所述的方法,其特征在于,该方法进一步包括:

8.一种数据处理装置,其特征在于,所述装置配置于分布式存储系统中的任一指定存储节点;所述指定存储节点是指所述分布式存储系统在本次节点扩容前所包含的存储节点;所述装置包括:

9.根据权利要求8所述的装置,其特征在于,虚节点迁移集合是由目标存储节点基于预配置的所有虚节点、以及分布式存储系统在本次节点扩容后所包含的所有存储节点确定的;目标存储节点是指检测到节点扩容事件的指定存储节点;和/或,

10.一种电子设备,其特征在于,该电子设备包括:


技术总结
本申请实施例提供数据处理方法、装置及电子设备。本申请实施例中通过在分布式存储系统发生节点扩容时,先确定本节点对应的虚节点迁移子集,之后,对于所接收的所对应虚节点不在该虚节点迁移子集中的写数据请求,将该写数据请求添加至第二处理链表中等待正常处理,无需等待虚节点刷盘完成后再进行处理,这样能够有效避免分布式存储系统在发生节点扩容时的性能下降问题,提高数据处理效率。

技术研发人员:毛培霖
受保护的技术使用者:新华三信息技术有限公司
技术研发日:
技术公布日:2024/10/31
转载请注明原文地址: https://www.8miu.com/read-25784.html

最新回复(0)