处理写请求或读请求的方法、交换机、控制节点技术

技术编号:17784152 阅读:38 留言:0更新日期:2018-04-22 15:33
本发明专利技术实施例提供一种处理写请求或读请求的方法、交换机及控制节点。在所述交换机中保存有转发表,并且所述交换机具备分片及冗余计算能力,当所述交换机接收第一写请求后,基于所述转发表直接对所述第一写请求中携带的数据进行分片并计算冗余分片,然后生成相应个数的第二写请求,然后直接将所述第二写请求分别发送给相应的存储节点以完成数据保存。这样,所述第一写请求中的数据只需要在所述交换机上传输1次就能完成保存,由此大大减少了交换机的工作负荷以及网络资源的浪费,减少写请求处理的时延,大大提升了系统的处理效率和性能。

【技术实现步骤摘要】
处理写请求或读请求的方法、交换机、控制节点
本专利技术涉及信息
,并且更具体地,涉及一种处理写请求或读请求的方法、交换机、控制节点。
技术介绍
随着数据量的爆炸式增长,传统的外置存储系统由于性能和容量无法线性扩展而很难满足数据中心的要求,分布式存储系统应运而生。在分布式存储系统中,为确保数据的高可用性,通过在各个存储节点间实现对所述数据的冗余,如可以通过独立磁盘冗余阵列(RedundantArrayofIndependentDisks,RAID)等方式实现数据冗余,这样可以确保在单个存储节点故障时,所述数据不丢失,业务不中断。为现有技术中分布式存储系统中,当主机有数据需要写入时,将写请求通过交换机发送给任一存储节点,所述任一存储节点会将所述写请求中的数据进行分片操作后基于每一个分片生成新的写请求,然后再将每一个所述新的写请求通过所述交换机再分别发送给其它存储节点保存。经专利技术人分析发现,在现有技术中存在以下不足:交换机工作负荷重:来自所述主机的写请求的数据需要在所述交换机上传输2次才能完成数据写入,导致网络资源浪费以及交换机工作负荷重。
技术实现思路
本专利技术实施例提供了一种处理写请求或读请求的方法、交换机、控制节点,能够实现在分布式存储系统中待写入的数据只需要在交换机上传输1次,由此降低所述交换机的工作负荷、节省网络资源,而且还大大降低了写请求的处理时延,提升了所述分布式存储系统的处理效率和性能。第一方面,提供了一种处理写请求的方法,其中,所述方法应用于交换机,所述交换机中预先配置有转发表,所述转发表包含多条转发记录,每一条转发记录包含主机地址、服务交换机地址、卷、冗余等级编号以及存储节点地址,所述方法包括:接收来自主机的第一写请求,所述第一写请求中携带第一元数据以及第一数据;基于所述第一元数据查询所述转发表以获取K条转发记录,K大于等于2;基于所述K条转发记录中的冗余等级编号对所述第一数据进行分片操作,得到K个分片;基于所述K条转发记录中的冗余等级编号及存储节点地址生成K个第二写请求,所述K个第二写请求中的每一个第二写请求携带第二数据,所述第二数据为所述K个分片中的1个分片;分别向K个存储节点发送所述K个第二写请求。结合第一方面,在第一种可能的实现方式中,所述第一元数据包含第一源地址、第一目的地址、存储索引及数据净荷长度,其中所述第一源地址为所述主机的地址,所述第一目的地址为所述交换机的地址,所述数据净荷长度用于指示所述第一数据的大小;则所述基于所述第一元数据查询所述转发表具体为:基于所述第一源地址、第一目的地址和存储索引分别匹配所述转发表中所述每一条转发记录的主机地址、服务交换机地址和卷以获取所述K条转发记录。可选的,所述第一元数据还可以包括存储类型、序列号。可选的,所述分片操作为基于所查询的冗余等级编号将所述第一数据划分为多个数据分片,并且基于所述多个数据分片计算至少1个冗余分片,所述多个数据分片以及所述至少1个冗余分片构成对应于所述第一数据的K个分片。可选的,所述K个第二写请求中的每一个第二写请求还携带第二元数据,所述第二元数据包括第二源地址、第二目的地址、存储索引、冗余等级编号及数据净荷长度,其中所述第二源地址为所述交换机的地址,所述第二目的地址为所述K条转发记录中的1条转发记录的存储节点地址,所述冗余等级编号为所述K条转发记录中的1条转发记录的冗余等级编号,所述数据净荷长度用于指示所述1个分片的大小。可选的,所述第二元数据还可以包括存储类型、序列号。可选的,所述交换机还可以创建状态表,用于记录针对所述第一写请求处理的状态信息。结合第一方面,可选的,所述方法还包括:所述K个存储节点分别接收来自所述交换机的第二写请求;以所述接收到的第二写请求所携带的第二元数据中的所述存储索引以及所述冗余等级编号作为键来存储所述接收到的第二写请求中携带的第二数据;向所述交换机发送第二写成功消息。可选的,所述方法还包括:所述交换机分别接收来自所述K个存储节点的第二写成功消息;向所述主机发送第一写成功消息。可选的,所述交换机还可以基于所述每一个第二写成功消息更新所述状态表,即根据所述第二写成功消息所携带的第二元数据信息查询所述状态表,修改所述状态表中对应行的操作状态。进一步的,可选的,所述交换机还可以删除所述状态表。可以看出,在所述交换机中保存有转发表,则当为所述交换机接收到来自所述主机的所述第一写请求后,可以基于所述转发表直接对所述第一写请求中携带的数据进行分片并计算冗余分片,然后生成相应个数的所述第二写请求,然后直接将所述第二写请求分别发送给相应的存储节点以保存其携带的数据,这样就可以完成所述第一写请求中携带的数据的保存。在本专利技术实施例中,所述第一写请求中的数据只需要在所述交换机上传输1次就能完成保存,避免了像现有技术那种需要传输2次才能保存,由此大大减少了交换机的工作负荷以及网络资源的浪费,也减少了一次写请求处理的时延,大大提升了分布式存储系统的处理效率和性能。第二方面,还提供一种处理读请求的方法,所述方法应用于交换机,所述交换机中预先配置有转发表,所述转发表包含多条转发记录,每一条转发记录包含主机地址、服务交换机地址、卷、冗余等级编号以及存储节点地址,所述方法包括:接收来自主机的第一读请求,所述第一读请求中携带第三元数据;基于所述第三元数据查询所述转发表以获取K条转发记录,K大于等于2;基于所述K条转发记录中的冗余等级编号及存储节点地址生成K个第二读请求;分别向K个存储节点发送所述K个第二读请求。可选的,所述第三元数据包含第三源地址、第三目的地址、存储索引及数据净荷长度,其中所述第三源地址为所述主机的地址,所述第三目的地址为所述交换机的地址,所述数据净荷长度用于指示需要读取的数据的大小;则所述基于所述第三元数据查询所述转发表具体为:基于所述第三元数据中的所述第三源地址、所述第三目的地址及所述存储索引分别匹配所述转发表中所述每一条转发记录的主机地址、服务交换机地址和卷以获取所述K条转发记录。可选的,所述交换机还可以创建状态表,用于记录针对所述第一读请求处理的状态信息。可选的,所述K个第二读请求中的每一个第二读请求还携带第四元数据,所述第四元数据包括第四源地址、第四目的地址、存储索引、冗余等级编号及数据净荷长度,其中所述第四源地址为所述交换机的地址,所述第四目的地址为所述K条转发记录中的1条转发记录的存储节点地址,所述冗余等级编号为所述K条转发记录中的1条转发记录的冗余等级编号,所述数据净荷长度用于指示需要读取的数据的大小,所述方法还包括:所述K个存储节点中的每一个存储节点接收来自所述交换机的第二读请求;以所述第二读请求所携带的第四元数据中的所述存储索引以及所述冗余等级编号作为键读取数据;向所述交换机发送第二读完成消息,所述第二读完成消息携带所述读取的数据。可选的,所述方法还包括:所述交换机分别接收来自所述K个存储节点中的每一个存储节点的第二读完成消息;对所述K个第二读完成消息中携带的数据进行重组;向所述主机发送第一读完成消息,所述第一读完成消息中携带所述重组后的数据。可选的,所述交换机还可以基于所述每一个第二读完成消息更新所述状态表,即根据所述第二读完成消息所携带的元数据信息查询所述状态表,修改所述本文档来自技高网...
处理写请求或读请求的方法、交换机、控制节点

【技术保护点】
一种处理写请求的方法,其特征在于,所述方法应用于交换机,所述交换机中预先配置有转发表,所述转发表包含多条转发记录,每一条转发记录包含主机地址、服务交换机地址、卷、冗余等级编号以及存储节点地址,所述方法包括:接收来自主机的第一写请求,所述第一写请求中携带第一元数据以及第一数据;基于所述第一元数据查询所述转发表以获取K条转发记录,K大于等于2;基于所述K条转发记录中的冗余等级编号对所述第一数据进行分片操作,得到K个分片;基于所述K条转发记录中的冗余等级编号及存储节点地址生成K个第二写请求,所述K个第二写请求中的每一个第二写请求携带第二数据,所述第二数据为所述K个分片中的1个分片;分别向K个存储节点发送所述K个第二写请求。

【技术特征摘要】
1.一种处理写请求的方法,其特征在于,所述方法应用于交换机,所述交换机中预先配置有转发表,所述转发表包含多条转发记录,每一条转发记录包含主机地址、服务交换机地址、卷、冗余等级编号以及存储节点地址,所述方法包括:接收来自主机的第一写请求,所述第一写请求中携带第一元数据以及第一数据;基于所述第一元数据查询所述转发表以获取K条转发记录,K大于等于2;基于所述K条转发记录中的冗余等级编号对所述第一数据进行分片操作,得到K个分片;基于所述K条转发记录中的冗余等级编号及存储节点地址生成K个第二写请求,所述K个第二写请求中的每一个第二写请求携带第二数据,所述第二数据为所述K个分片中的1个分片;分别向K个存储节点发送所述K个第二写请求。2.根据权利要求1所述的方法,其特征在于,所述第一元数据包含第一源地址、第一目的地址、存储索引及数据净荷长度,其中所述第一源地址为所述主机的地址,所述第一目的地址为所述交换机的地址,所述数据净荷长度用于指示所述第一数据的大小;则所述基于所述第一元数据查询所述转发表具体为:基于所述第一源地址、第一目的地址和存储索引分别匹配所述转发表中所述每一条转发记录的主机地址、服务交换机地址和卷以获取所述K条转发记录。3.根据权利要求1所述的方法,其特征在于,所述K个第二写请求中的每一个第二写请求还携带第二元数据,所述第二元数据包括第二源地址、第二目的地址、存储索引、冗余等级编号及数据净荷长度,其中所述第二源地址为所述交换机的地址,所述第二目的地址为所述K条转发记录中的1条转发记录的存储节点地址,所述冗余等级编号为所述K条转发记录中的1条转发记录的冗余等级编号,所述数据净荷长度用于指示所述1个分片的大小。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:所述K个存储节点分别接收来自所述交换机的第二写请求;以所述接收到的第二写请求所携带的第二元数据中的所述存储索引以及所述冗余等级编号作为键来存储所述接收到的第二写请求中携带的第二数据;向所述交换机发送第二写成功消息。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:所述交换机分别接收来自所述K个存储节点的第二写成功消息;向所述主机发送第一写成功消息。6.一种处理读请求的方法,其特征在于,所述方法应用于交换机,所述交换机中预先配置有转发表,所述转发表包含多条转发记录,每一条转发记录包含主机地址、服务交换机地址、卷、冗余等级编号以及存储节点地址,所述方法包括:接收来自主机的第一读请求,所述第一读请求中携带第三元数据;基于所述第三元数据查询所述转发表以获取K条转发记录,K大于等于2;基于所述K条转发记录中的冗余等级编号及存储节点地址生成K个第二读请求;分别向K个存储节点发送所述K个第二读请求。7.根据权利要求6所述的方法,其特征在于,所述第三元数据包含第三源地址、第三目的地址、存储索引及数据净荷长度,其中所述第三源地址为所述主机的地址,所述第三目的地址为所述交换机的地址,所述数据净荷长度用于指示需要读取的数据的大小;则所述基于所述第三元数据查询所述转发表具体为:基于所述第三元数据中的所述第三源地址、所述第三目的地址及所述存储索引分别匹配所述转发表中所述每一条转发记录的主机地址、服务交换机地址和卷以获取所述K条转发记录。8.根据权利要求7所述的方法,其特征在于,所述K个第二读请求中的每一个第二读请求还携带第四元数据,所述第四元数据包括第四源地址、第四目的地址、存储索引、冗余等级编号及数据净荷长度,其中所述第四源地址为所述交换机的地址,所述第四目的地址为所述K条转发记录中的1条转发记录的存储节点地址,所述冗余等级编号为所述K条转发记录中的1条转发记录的冗余等级编号,所述数据净荷长度用于指示需要读取的数据的大小,所述方法还包括:所述K个存储节点中的每一个存储节点接收来自所述交换机的第二读请求;以所述第二读请求所携带的第四元数据中的所述存储索引以及所述冗余等级编号作为键读取数据;向所述交换机发送第二读完成消息,所述第二读完成消息携带所述读取的数据。9.根据权利要求8所述的方法,其特征在于,所述方法还包括:所述交换机分别接收来自所述K个存储节点中的每一个存储节点的第二读完成消息;对所述K个第二读完成消息中携带的数据进行重组;向所述主机发送第...

【专利技术属性】
技术研发人员:陈灿
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1