[发明专利]数据写入方法、装置和电子设备在审
申请号: | 202011167636.7 | 申请日: | 2020-10-27 |
公开(公告)号: | CN114489464A | 公开(公告)日: | 2022-05-13 |
发明(设计)人: | 张丞 | 申请(专利权)人: | 北京金山云网络技术有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京超凡宏宇专利代理事务所(特殊普通合伙) 11463 | 代理人: | 徐丽 |
地址: | 100000 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 写入 方法 装置 电子设备 | ||
本发明提供了一种数据写入方法、装置和电子设备,该方法包括:接收针对目标数据的数据写入请求;基于存储节点的运行状态,确定用于写入目标数据的目标存储块,该目标存储块的主副本设置在本地节点,该目标存储块的从副本设置在除本地节点以外的存储节点;将目标数据写入目标存储块的主副本和从副本中。该方式在确定写入数据的存储块时,参考了各个存储节点的运行状态,因此可以减少将目标数据写入设置在异常状态的存储节点的从副本的概率,从而减少了写入失败的概率,也提升了整个分布式集群的稳定性和可用性。
技术领域
本发明涉及数据存储技术领域,尤其是涉及一种数据写入方法、装置和电子设备。
背景技术
相关技术中,分布式存储系统的强一致性写入流程,通常是由客户端发送写请求到主节点,主节点接收写请求,并将写请求携带的数据写入本地,然后将写请求发送到所有从节点;该从节点写入成功后,会向主节点发送写入成功的消息,如果在指定时间内没有接收到从节点返回的写入成功的消息,主节点会再次向该从节点发送写请求,直到该从节点返回写入成功的消息;当所有从节点均写入成功后,主节点向客户端发送写入成功消息;当写请求达到预设时长,未收到所有从节点返回的写入成功的消息,向客户端发送写入失败的消息。
上述写入流程中,如果某个从节点宕机或者不可用,主节点将写请求发送到该节点后会无限重试,直到从节点恢复才能够写入成功,因此容易导致写请求超时,引起写入失败或者吞吐量抖动,从而影响整个分布式集群的稳定性和可用性。
发明内容
本发明的目的在于提供一种数据写入方法、装置和电子设备,以减少写入失败和吞吐量抖动,提高整个分布式集群的稳定性和可用性。
第一方面,本发明实施例提供了一种数据写入方法,该方法包括:接收针对目标数据的数据写入请求;基于存储节点的运行状态,确定用于写入目标数据的目标存储块;其中,该目标存储块的主副本设置在本地节点;该目标存储块的从副本,设置在除本地节点以外的存储节点;将目标数据写入目标存储块的主副本和从副本中。
在可选的实施方式中,上述存储节点的运行状态包括正常状态和异常状态;该异常状态的存储节点的节点信息保存在预设的状态存储单元;上述基于存储节点的运行状态,确定用于写入目标数据的目标存储块的步骤,包括:基于状态存储单元保存的节点信息,确定异常状态的存储节点;将设置在处于异常状态的存储节点的从副本,确定为异常副本;从本地节点对应的多个存储块中,将异常副本对应的存储块之外的存储块,确定为备选存储块;从备选存储块中,确定用于写入目标数据的目标存储块。
在可选的实施方式中,上述从备选存储块中,确定用于写入目标数据的目标存储块的方式,包括下述中的一种:将备选存储块中,最后一次写入数据的时间距离当前时间最近的备选存储块确定为目标存储块;从备选存储块中,将存储空间剩余量最大的备选存储块确定为目标存储块;从备选存储块中,随机确定一个备选存储块作为目标存储块。
在可选的实施方式中,上述将目标数据写入目标存储块的主副本和从副本中的步骤之后,上述方法还包括:如果接收到从副本所处的存储节点返回的写入失败消息,将从副本所处的存储节点确定为处于异常状态的存储节点,提取写入失败消息携带的节点信息;其中,该节点信息包括IP地址和端口号;将提取到的节点信息保存至预设的状态存储单元;其中,该状态存储单元中保存有处于异常状态的存储节点的节点信息。
在可选的实施方式中,上述将提取到的节点信息保存至预设的状态存储单元的步骤之后,该方法还包括:向返回写入失败消息的存储节点发送目标数据的数据写入请求;如果返回写入失败消息的存储节点返回写入成功消息,将存储节点的节点信息从状态存储单元中删除;如果返回写入失败消息的存储节点返回写入失败消息,继续执行向返回写入失败消息的存储节点发送目标数据的数据写入请求,直到存储节点返回写入成功消息。
在可选的实施方式中,上述状态存储单元保存的节点信息,通过下述方式获得:通过主动探测器,检测存储节点的运行状态;如果检测到存储节点处于异常状态,将该存储节点的节点信息保存至状态存储单元。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京金山云网络技术有限公司,未经北京金山云网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011167636.7/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置