【技术实现步骤摘要】
处理写请求或读请求的方法、交换机、控制节点
本专利技术涉及信息
,并且更具体地,涉及一种处理写请求或读请求的方法、交换机、控制节点。
技术介绍
随着数据量的爆炸式增长,传统的外置存储系统由于性能和容量无法线性扩展而很难满足数据中心的要求,分布式存储系统应运而生。在分布式存储系统中,为确保数据的高可用性,通过在各个存储节点间实现对所述数据的冗余,如可以通过独立磁盘冗余阵列(RedundantArrayofIndependentDisks,RAID)等方式实现数据冗余,这样可以确保在单个存储节点故障时,所述数据不丢失,业务不中断。为现有技术中分布式存储系统中,当主机有数据需要写入时,将写请求通过交换机发送给任一存储节点,所述任一存储节点会将所述写请求中的数据进行分片操作后基于每一个分片生成新的写请求,然后再将每一个所述新的写请求通过所述交换机再分别发送给其它存储节点保存。经专利技术人分析发现,在现有技术中存在以下不足:交换机工作负荷重:来自所述主机的写请求的数据需要在所述交换机上传输2次才能完成数据写入,导致网络资源浪费以及交换机工作负荷重。
技术实现思路
本专利技术实施例提供了一种处理写请求或读请求的方法、交换机、控制节点,能够实现在分布式存储系统中待写入的数据只需要在交换机上传输1次,由此降低所述交换机的工作负荷、节省网络资源,而且还大大降低了写请求的处理时延,提升了所述分布式存储系统的处理效率和性能。第一方面,提供了一种处理写请求的方法,其中,所述方法应用于交换机,所述交换机中预先配置有转发表,所述转发表包含多条转发记录,每一条转发记录包含主机地址、服 ...
【技术保护点】
一种处理写请求的方法,其特征在于,所述方法应用于交换机,所述交换机中预先配置有转发表,所述转发表包含多条转发记录,每一条转发记录包含主机地址、服务交换机地址、卷、冗余等级编号以及存储节点地址,所述方法包括:接收来自主机的第一写请求,所述第一写请求中携带第一元数据以及第一数据;基于所述第一元数据查询所述转发表以获取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个第二读完成消息中携带的数据进行重组;向所述主机发送第...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。