[发明专利]处理写请求或读请求的方法、交换机、控制节点有效
申请号: | 201610896118.6 | 申请日: | 2016-10-13 |
公开(公告)号: | CN107948233B | 公开(公告)日: | 2021-01-08 |
发明(设计)人: | 陈灿 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 熊永强;李稷芳 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 处理 请求 方法 交换机 控制 节点 | ||
本发明实施例提供一种处理写请求或读请求的方法、交换机及控制节点。在所述交换机中保存有转发表,并且所述交换机具备分片及冗余计算能力,当所述交换机接收第一写请求后,基于所述转发表直接对所述第一写请求中携带的数据进行分片并计算冗余分片,然后生成相应个数的第二写请求,然后直接将所述第二写请求分别发送给相应的存储节点以完成数据保存。这样,所述第一写请求中的数据只需要在所述交换机上传输1次就能完成保存,由此大大减少了交换机的工作负荷以及网络资源的浪费,减少写请求处理的时延,大大提升了系统的处理效率和性能。
技术领域
本发明涉及信息技术领域,并且更具体地,涉及一种处理写请求或读请求的方法、交换机、控制节点。
背景技术
随着数据量的爆炸式增长,传统的外置存储系统由于性能和容量无法线性扩展而很难满足数据中心的要求,分布式存储系统应运而生。在分布式存储系统中,为确保数据的高可用性,通过在各个存储节点间实现对所述数据的冗余,如可以通过独立磁盘冗余阵列(Redundant Array of Independent Disks, RAID)等方式实现数据冗余,这样可以确保在单个存储节点故障时,所述数据不丢失,业务不中断。为现有技术中分布式存储系统中,当主机有数据需要写入时,将写请求通过交换机发送给任一存储节点,所述任一存储节点会将所述写请求中的数据进行分片操作后基于每一个分片生成新的写请求,然后再将每一个所述新的写请求通过所述交换机再分别发送给其它存储节点保存。
经发明人分析发现,在现有技术中存在以下不足:
交换机工作负荷重:来自所述主机的写请求的数据需要在所述交换机上传输2次才能完成数据写入,导致网络资源浪费以及交换机工作负荷重。
发明内容
本发明实施例提供了一种处理写请求或读请求的方法、交换机、控制节点,能够实现在分布式存储系统中待写入的数据只需要在交换机上传输1次, 由此降低所述交换机的工作负荷、节省网络资源,而且还大大降低了写请求的处理时延,提升了所述分布式存储系统的处理效率和性能。
第一方面,提供了一种处理写请求的方法,其中,所述方法应用于交换机,所述交换机中预先配置有转发表,所述转发表包含多条转发记录,每一条转发记录包含主机地址、服务交换机地址、卷、冗余等级编号以及存储节点地址,所述方法包括:
接收来自主机的第一写请求,所述第一写请求中携带第一元数据以及第一数据;
基于所述第一元数据查询所述转发表以获取K条转发记录,K大于等于2;
基于所述K条转发记录中的冗余等级编号对所述第一数据进行分片操作,得到K个分片;
基于所述K条转发记录中的冗余等级编号及存储节点地址生成K个第二写请求,所述K个第二写请求中的每一个第二写请求携带第二数据,所述第二数据为所述K个分片中的1个分片;
分别向K个存储节点发送所述K个第二写请求。
结合第一方面,在第一种可能的实现方式中,所述第一元数据包含第一源地址、第一目的地址、存储索引及数据净荷长度,其中所述第一源地址为所述主机的地址,所述第一目的地址为所述交换机的地址,所述数据净荷长度用于指示所述第一数据的大小;
则所述基于所述第一元数据查询所述转发表具体为:
基于所述第一源地址、第一目的地址和存储索引分别匹配所述转发表中所述每一条转发记录的主机地址、服务交换机地址和卷以获取所述K条转发记录。
可选的,所述第一元数据还可以包括存储类型、序列号。
可选的,所述分片操作为基于所查询的冗余等级编号将所述第一数据划分为多个数据分片,并且基于所述多个数据分片计算至少1个冗余分片,所述多个数据分片以及所述至少1个冗余分片构成对应于所述第一数据的K个分片。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610896118.6/2.html,转载请声明来源钻瓜专利网。