[发明专利]应用于分布式服务器集群的数据存储方法和服务器有效
申请号: | 201710464719.4 | 申请日: | 2017-06-19 |
公开(公告)号: | CN107295080B | 公开(公告)日: | 2020-12-18 |
发明(设计)人: | 王天宇 | 申请(专利权)人: | 北京百度网讯科技有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐;马晓亚 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用于 分布式 服务器 集群 数据 存储 方法 | ||
1.一种应用于分布式服务器集群的数据存储方法,其特征在于,所述服务器集群包括多个节点,所述方法包括:
服务器集群中的主节点接收数据写入请求,所述数据写入请求包括待写入数据;
所述主节点将所述数据写入请求广播至所述服务器集群中的各个分组,每个分组包括至少一个节点且至少一个分组包括至少两个节点;
所述主节点响应于接收到超过半数的分组反馈的确认消息,向发出所述数据写入请求的客户端发送写入成功的通知消息;
其中,若所述分组中不包含所述主节点,所述分组响应于所述分组中存在至少一个节点将所述待写入数据成功写入内存,向所述主节点反馈所述确认消息。
2.根据权利要求1所述的方法,其特征在于,若所述分组中包含所述主节点,所述分组响应于所述主节点将所述待写入数据成功写入内存,向所述主节点反馈所述确认消息。
3.根据权利要求1所述的方法,其特征在于,若所述分组中包含所述主节点和至少一个从节点,所述分组响应于所述主节点和所述分组内的至少一个从节点将所述待写入数据成功写入内存,向所述主节点反馈所述确认消息。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于向所述主节点反馈所述确认消息的分组数量低于半数,或在预设时间内超过半数的分组中每个分组中所有节点均未收到所述主节点广播的心跳消息,所述服务器集群中的一个从节点作为候选节点向各分组发出选举请求;
响应于所述候选节点接收到超过半数的分组中每个分组的所有节点的同意消息,将所述候选节点切换为新的主节点。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:按照各节点部署的物理位置将所述服务器集群中的多个节点划分为多个分组。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述主节点响应于接收到超过半数的分组反馈的确认消息,向反馈所述确认消息的各分组发送数据同步确认消息。
7.一种应用于分布式数据服务器集群的数据存储服务器,其特征在于,包括:
接收单元,用于接收数据写入请求,所述数据写入请求包括待写入数据;
广播单元,用于将所述数据写入请求广播至所述服务器集群中的各个分组,每个分组包括至少一个节点,且至少一个分组包括至少两个节点;
发送单元,用于响应于接收到超过半数的分组反馈的确认消息,向发出所述数据写入请求的客户端发送写入成功的通知消息;
其中,若所述分组中不包含所述服务器集群中的主节点,所述分组用于响应于所述分组中存在至少一个节点将所述待写入数据成功写入内存,向所述主节点反馈所述确认消息。
8.根据权利要求7所述的服务器,其特征在于,所述服务器还包括:
请求单元,用于响应于向所述主节点反馈所述确认消息的分组数量低于半数,或在预设时间内超过半数的分组中每个分组中所有主节点均未收到所述主节点广播的心跳消息,作为候选节点向各分组发出选举请求;以及
切换单元,用于响应于接收到超过半数的分组中每个分组的所有节点的同意消息,切换为新的主节点。
9.根据权利要求7所述的服务器,其特征在于,所述服务器还包括:
确认单元,配置用于响应于接收到超过半数的分组反馈的确认消息,向反馈所述确认消息的各分组发送数据同步确认消息。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百度网讯科技有限公司,未经北京百度网讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710464719.4/1.html,转载请声明来源钻瓜专利网。