本发明实施例涉及分布式存储,尤其涉及一种在分布式存储系统中写数据的方法、装置、设备和介质。
背景技术:
1、在分布式存储系统中,由于网络延迟、节点故障等原因,数据的复制和更新可能出现不一致的情况。raft是一种分布式一致性算法,raft通过引入领导者选举和日志复制机制,保障了分布式存储系统中节点之间数据的一致性。raft将节点分为领导(即leader)节点和跟随(即follower)节点,raft通过领导节点来处理请求和协调数据复制,当领导节点故障时,需要从跟随节点中选举出新的领导节点。
2、在实现本发明的过程中,发明人发现,由于网络拓扑复杂,从感知领导节点故障到选举出新的领导节点,耗时较长,且这段时间内写数据服务是不可用的,会造成业务应用的抖动和卡顿。
技术实现思路
1、本发明实施例提供一种在分布式存储系统中写数据的方法、装置、设备和介质,能够避免节点异常导致的业务应用的抖动和卡顿,提升用户体验。
2、第一方面,本发明实施例提供的在分布式存储系统中写数据的方法,包括:
3、响应客户端的写数据请求,从分布式存储系统的服务节点组中识别出正常服务节点和异常服务节点;
4、将正常服务节点和异常服务节点的备用服务节点确定为目标服务节点;
5、根据写数据请求创建写数据日志,并将写数据日志同步给目标服务节点;
6、通知目标服务节点执行写数据日志对应的写数据操作。
7、第二方面,本发明实施例提供的在分布式存储系统中写数据的装置,包括:
8、节点识别模块,用于响应客户端的写数据请求,从分布式存储系统的服务节点组中识别出正常服务节点和异常服务节点;
9、节点确定模块,用于将正常服务节点和异常服务节点的备用服务节点确定为目标服务节点;
10、日志同步模块,用于根据写数据请求创建写数据日志,并将写数据日志同步给目标服务节点;
11、写数据模块,用于通知目标服务节点执行写数据日志对应的写数据操作。
12、第三方面,本发明实施例提供的电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现如本发明任一实施例的在分布式存储系统中写数据的方法。
13、第四方面,本发明实施例提供的计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任一实施例的在分布式存储系统中写数据的方法。
14、本发明实施例的方案,可以响应客户端的写数据请求,从分布式存储系统的服务节点组中识别出正常服务节点和异常服务节点;将正常服务节点和异常服务节点的备用服务节点确定为目标服务节点;根据写数据请求创建写数据日志,并将写数据日志同步给目标服务节点;通知目标服务节点执行写数据日志对应的写数据操作。本发明采用无领导节点的架构,在某个服务节点异常时,直接启用异常服务节点的备用服务节点,通过将写数据日志同步给各个目标服务节点并通知目标服务节点执行写数据日志对应的写数据操作,保障了节点间数据的一致;直接启用异常服务节点的备用服务节点,不需要选举新的领导节点,没有等待和确认选举新的领导节点的时间损耗,在节点异常时,可以实现秒级切换,业务应用无感知,避免了节点异常导致的业务应用的抖动和卡顿,提升了用户体验。
1.一种在分布式存储系统中写数据的方法,其特征在于,包括:
2.根据权利要求1所述的写数据的方法,其特征在于,所述将所述写数据日志同步给所述目标服务节点,包括:
3.根据权利要求2所述的写数据的方法,其特征在于,在通知所述目标服务节点执行所述写数据日志对应的写数据操作之前,还包括:
4.根据权利要求2或3所述的写数据的方法,其特征在于,所述通知所述目标服务节点执行所述写数据日志对应的写数据操作,包括:
5.根据权利要求1所述的写数据的方法,其特征在于,所述方法还包括:
6.根据权利要求1所述的写数据的方法,其特征在于,所述从分布式存储系统的服务节点组中识别出正常服务节点和异常服务节点,包括:
7.根据权利要求6所述的写数据的方法,其特征在于,所述节点状态表通过如下方式创建:
8.一种在分布式存储系统中写数据的装置,其特征在于,包括:
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7中任一项所述的在分布式存储系统中写数据的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至7中任一项所述的在分布式存储系统中写数据的方法。