虚拟存储方法及设备的制作方法

文档序号:7980335阅读:307来源:国知局
虚拟存储方法及设备的制作方法
【专利摘要】本发明提供一种虚拟存储方法及设备,方法包括:接收客户端根据映射关系表生成的块设备读写请求,所述块设备读写请求中包含块设备标识、块设备中的存储位置和读写内容;根据所述块设备标识定位块设备,并根据所述块设备中的存储位置定位数据位置,并完成对所述读写内容的操作。根据本发明的虚拟存储的方法及设备,通过建立存储节点与虚拟磁盘之间的映射关系,使得客户端在访问虚拟磁盘时直接访问存储节点,提高虚拟存储性能。
【专利说明】虚拟存储方法及设备
【技术领域】
[0001]本发明涉及信息存储技术,尤其涉及一种虚拟存储方法及设备。
【背景技术】
[0002]随着网络技术的飞速发展,网络数据存储量迅速增加,具有集中性和高效性的虚拟存储系统将替代传统的直接附加存储方式,成为虚拟存储系统的主体。虚拟存储为通过对存储系统或存储服务的内部功能进行抽象、隐藏或隔离,使存储或数据的管理与应用、月艮务器、网络资源的管理分离,从而实现应用和网络的独立管理。
[0003]随着实际生活中虚拟存储需求的大量增加,如何有效实现虚拟存储成为亟需解决的问题。

【发明内容】

[0004]本发明提供一种虚拟存储方法及设备,以有效实现虚拟存储。
[0005]本发明第一个方面提供一种虚拟存储方法,包括:
[0006]存储节点接收客户端根据映射关系表生成的块设备读写请求,所述块设备读写请求中包含块设备标识、块设备中的存储位置和读写内容;
[0007]存储节点根据所述块设备标识定位块设备,并根据所述块设备中的存储位置定位数据位置,并完成对所述读写内容的操作。
[0008]本发明另一个方面提供一种虚拟存储方法,包括:
[0009]接收用户对于虚拟磁盘的读写操作,并根据所述虚拟磁盘读写操作和映射关系表生成块设备读写请求,所述块设备读写请求包括所所述块设备标识、块设备的存储位置和读与内容;
[0010]向所述块设备所在存储节点发送所述块设备读写请求,使得存储节点能够根据所述块设备读写请求中的设备标识定位所述块设备,并依据块设备读写请求中的存储位置和读写内容完成读写内容的操作。
[0011]本发明再一个方面提供一种虚拟存储方法,包括:
[0012]根据客户端的虚拟磁盘标识与块设备的块设备标识以及所述虚拟磁盘存储位置对应于所述块设备中的存储位置建立映射关系表;
[0013]向所述客户端返回所述映射关系表,以使所述客户端在需要读写所述块设备时,通过所述虚拟磁盘和所述映射关系表生成读写请求。
[0014]本发明再一个方面提供一种存储节点,包括:
[0015]第一接收模块,用于接收客户端根据映射关系表生成的块设备读写请求,所述块设备读写请求中包含块设备标识、块设备中的存储位置和读写内容;
[0016]第一处理模块,用于根据所述块设备标识定位块设备,并根据所述块设备中的存储位置定位数据位置,并完成对所述读写内容的操作。
[0017]本发明又一个方面提供一种客户端,包括:[0018]第二接收模块,用于接收用户对于虚拟磁盘的读写操作;
[0019]第二处理模块,用于根据所述虚拟磁盘读写操作和所述映射关系表生成块设备读写请求;
[0020]发送模块,用于向所述块设备所在存储节点发送所述块设备读写请求。本发明另一个方面提供一种主空制节点,包括:
[0021]建立映射关系表模块,用于根据客户端的虚拟磁盘标识与块设备的块设备标识以及所述虚拟磁盘存储位置对应于所述块设备中的存储位置建立映射关系表;
[0022]发送映射关系表模块,用于向所述客户端返回所述映射关系表,以使所述客户端在需要读写所述块设备时,通过所述虚拟磁盘和所述映射关系表生成读写请求。
[0023]本发明的又一方面提供一种虚拟存储系统,包括上述任一项所述的存储节点、客户端以及主控制节点。
[0024]由上述技术方案可知,本发明提供的虚拟存储方法及设备,通过建立虚拟磁盘与块设备之间的映射关系表,并将该映射关系表存储在客户端,使得客户端在访问虚拟磁盘时,直接通过包含虚拟磁盘标识和块设备标识的映射关系的映射关系表访问块设备,这样,不仅能够使客户端无需经过中间层次直接与存储节点进行交互,提高虚拟存储性能,还能够以较低的成本实现虚拟存储。
【专利附图】

【附图说明】
[0025]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0026]图1为根据本发明一实施例的虚拟存储方法的流程示意图;
[0027]图2为根据本发明另一实施例的虚拟存储方法的流程示意图;
[0028]图3为根据本发明又一实施例的虚拟存储方法的流程示意图;
[0029]图4为根据本发明再一实施例的存储节点的结构示意图;
[0030]图5为根据本发明再一实施例的存储节点的结构示意图;
[0031]图6为根据本发明另一实施例的客户端的结构示意图;
[0032]图7为根据本发明另一实施例的主控制节点的结构示意图。
【具体实施方式】
[0033]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0034]实施例一
[0035]本实施例提供一种虚拟存储方法,其适用于的虚拟存储架构包括实际存储数据的存储节点中的块设备、客户端的虚拟磁盘以及管理块设备和虚拟磁盘的主控制节点。本实施例的虚拟存储方法,将所有存储节点中的块设备利用起来,构成一个大的存储池,主控制节点根据客户端的创建虚拟磁盘的创建请求将块设备按需分配,并在建立虚拟磁盘与块设备的映射关系后,使得客户在访问虚拟磁盘时不需要再通过主控制节点,而是利用映射关系直接访问实际存储数据的存储节点。存储节点、主控制节点和客户端均可以为计算机或服务器。本实施例的虚拟存储方法的执行主体为存储节点。需要指出的是,客户端为虚拟磁盘的宿主机。
[0036]如图1所示,为根据本实施例的虚拟存储方法的流程示意图。
[0037]步骤101,存储节点接收客户端根据映射关系表生成的块设备读写请求,块设备读写请求中包含块设备标识、块设备中的存储位置和读写内容。
[0038]读写内容在不同的操作环境下代表了不同的含义,具体为:在读操作时,读写内容为所要读取的数据的大小;在写操作时,读写内容为所要写入存储设备的数据内容。
[0039]该块设备标识可以是由以下至少任意一种形式组成的:数字、英文字母、或字符,用以标识块设备。一个存储节点中可以包含一个或多个块设备,具体举例来说,当存储节点为一台计算机时,块设备可以是c盘,当然还可以是d盘或e盘等。用户可以根据实际需要自行定义该块设备,例如只将存储节点中的c盘作为块设备,或者是将c盘中的一部分作为块设备,具体可以根据需要自行设定。
[0040]块设备信息包括块设备大小、块设备名称、块设备的存储位置和块设备所在的存储节点的IP(Intemet Protocol,网络之间互连的协议)地址,还可以包括块设备所在的存储节点的MAC (Media Access Control)地址、块设备所在的存储节点的端口地址、块设备所在的存储节点的监听端口信息。主控制节点可以是计算机或服务器,用于为块设备和虚拟磁盘分配标识,建立块设备和虚拟磁盘之间的映射关系。主控制节点在接收到块设备的注册请求之后,就根据块设备信息为块设备分配块设备标识。
[0041]步骤102,存储节点根据块设备标识定位块设备,并根据块设备中的存储位置定位数据位置,并完成对读写内容的操作。
[0042]该步骤一种具体地实现方式可以是,当存储节点接收到块设备读写请求后,针对该块设备读写请求生成块设备读写响应,并发送至客户端,当客户端接收到该块设备读写响应后,就根据映射关系表直接对该块设备进行访问,执行读写操作。
[0043]客户端在接收到虚拟磁盘读写请求后,根据自身存储的虚拟磁盘与块设备的对应关系以及块设备的存储位置,可以直接向存储节点发送块设备读写请求,块设备读写请求中包括块设备的标识和块设备的存储位置,可选地,映射关系表还可以包括块设备的其它信息,例如块设备大小以及块设备所归属的存储节点的IP地址等,这样客户端根据该块设备标识可以获取与该块设备标识对应的所有块设备信息。客户端直接访问块设备的方式为远程登录技术,为现有技术,在此不再赘述。
[0044]根据本实施例的虚拟存储方法,通过为块设备分配块设备标识,以便在客户端进行读写操作时,直接通过包含虚拟磁盘标识和块设备标识的映射关系的映射关系表访问块设备,这样,不仅能够使客户端无需经过中间层次直接与存储节点进行交互,提高虚拟存储性能,还能够以较低的成本实现虚拟存储。
[0045]实施例二
[0046]本实施例基于实施例一提供一种虚拟存储方法。
[0047]具体地,当存储节点启动时,本实施例的虚拟存储方法还包括:[0048]步骤Ila:存储节点获取自身的配置文件。
[0049]步骤Ilb:根据配置文件,判断是第一次连接主控制节点,则向主控制节点发送注册请求,否则向主控制节点发送激活请求。
[0050]具体地,存储节点的配置文件中存在一标识信息,该标识信息用于表示该存储节点是否为第一次启动,例如当该标识信息为“O”时表示该存储节点为第一次启动,并在该存储节点第一次启动之后,修改该标识信息,以便以后该存储节点重新启动时,能够通过配置文件中的该标识信息识别出该存储节点不是第一次启动,例如将该标识信息修改为“I”。
[0051]本实施例中,存储节点向主控制节点发送注册请求是在其启动时进行发送的。存储节点启动,可能包括两种情况,一种情况是存储节点第一次启动,就说明该存储节点没有向主控制发送过注册请求,此时在启动后需要向注册节点发送注册请求,所述注册请求中包含了请求类型、主控制节点的IP地址(还可以包括主控制节点的MAC地址和/或端口号)和存储节点中所包含的块设备信息等,例如发送http格式的注册请求请求,具体为“http://namenode/datanode ? action = register&ip = 10.71.99.74&port = 8081&data _ransfer_port = 8082&mac = 00-18-82-83-36-4c&target.file.1 = /home/xyl/block_de vice&target.size.1 = 74&target.mac.1 = 00-18-82-83-36_4c”,以使主控制节点为该存储节点中的各块设备分配块设备标识,例如主控制节点返回Json格式的响应消息node_id":2," result":true, " targetlist":[{" index":1," targetid":3}]},其中,"node_id": 2代表存储节点标识为2, result表示返回结果,具体地,true表示注册成功返回,false表示注册失败,"targetlist "代表目标块设备列表,index代表目标块设备的索引号,“I”表示第I个块设备,"targetid":3代表该存储节点的块设备标识为3。这样,上述响应消息就代表与标识为“2”的存储节点中的第I个块设备的标识为“3”。
[0052]其中,块设备标识可以是根据块设备所在的存储节点的地址生成的,这样客户端在获取到块设备标识时,也就同时获取到了块设备所在的存储节点的地址,该地址可以是存储节点的IP地址。具体举例来 说,块设备标识为“202.118.16.28_c”,这样就表示块设备是IP地址为“202.118.16.28”的存储节点中的c盘,即存储节点标识为202.118.16.28。块设备标识和存储节点标识都是整个网络中唯一的标识,即不会出现网络中的两个存储节点具有相同的存储节点标识的情况,也不会出现两个块设备具有相同的块设备标识的情况。这样,客户端在获取了块设备标识和块设备的存储位置之后,也同样就知道了该块设备位于哪一个存储节点,能够准确找到所要访问的块设备。
[0053]能够想到,获取块设备标识的同时还可以获得其它信息,例如块设备大小、块设备名称和块设备所在的存储节点的IP地址(Internet Protocol,网络之间互连的协议),此外还可以包括块设备所在的存储节点的MAC (Media Access Control)地址、块设备所在的存储节点的端口地址、块设备所在的存储节点的监听端口信息、和/或块设备所在的存储节点的大小及名称,上述信息均可以包含在映射关系表中。本发明各实施例中均以获取块设备标识为例进行说明,所述块设备标识为块设备中各种信息里的一种。
[0054]另外一种存储节点启动的情况是:存储节点在出现问题并解决后重新启动,此时可以判断该存储节点已经向主控制节点发送过注册请求,此时就不要再重新发送注册请求,而是发送激活请求以使主控制节点得知该存储节点重新运行或者由主控制节点根据该激活请求激活存储节点,激活请求具体可以发送http请求,例如http://namen0de/datanode ? action = register&node_id = 2”。
[0055]还可以是,在注册请求和激活请求中都包括配置文件的标识,例如,注册请求中包括标识“0”,激活请求中包括标识“1”,主控制节点根据请求中的标识,就可以判断该请求是注册请求还是激活请求,再根据判断结果执行相应的操作。
[0056]根据本实施例的虚拟存储方法,当存储节点启动时,通过存储节点的配置文件判断是否需要重新向网络发送注册请求,这样能够避免存储节点重复发送注册请求,增加主控制节点的负担。
[0057]优选地,在通过激活请求或注册请求建立完存储节点和主控制节点之间的连接后,本实施例的虚拟存储方法还包括:
[0058]每隔预设时间,检测存储节点与主控制节点之间是否保持通信,使得存储节点出现异常无法完成存储时候,由主控制节点更新客户端的映射关系表,分配能够完成存储功能的其它存储节点。
[0059]这里的预设时间可以根据实际需要自行设定,例如I分钟、5分钟或者I小时。检测存储节点与主控制节点之间是否保持通信具体可以是:向主控制节点发送检测消息,如果在规定时间内接收到主控制节点根据检测信息作出的检测响应,则存储节点与主控制节点之间保持通信,否则,需要重新启动存储节点,以使存储节点向主控制节点发送激活请求,保持存储节点向主控制节点之间的通信。这样,通过周期性地检测存储节点与主控制节点之间是否保持通信,能够提高系统的可靠性,并能排除主控制节点在不知情的情况下发送指令给已经意外故障的存储节点。
[0060]本实施例的虚拟存储方法,还可以包括以下所描述的迁移操作。具体地,
`[0061]步骤12a,存储节点接收主控制节点发送的迁移指令,该迁移指令包括源块设备标识、源块设备的存储位置、目的块设备标识、目的块设备的存储位置和源块设备中迁移的数据大小。
[0062]。迁移指令可以采用http 方式,例如 “http://datanodeIP:port/migrate ?action = migrate_block &src_targetid = l&src_offset = l&dst_targetid =2&dst offset = 3&dst_ip = 10.71.99.77&dst_port = 8082”,涉及到不同存储节点之间的数据迁移时,所述迁移指令中还要包含目的块设备所在存储节点地址如dst_ip =
10.71.99.77, src_targetid和src_ofset分别对应迁移指令中的源块设备的标识和源块设备的存储位置,dst_targetid和dst_offset分别对应迁移指令中的目的块设备的标识和目的块设备的存储位置。本步骤的迁移命令可以是由主控制节点直接发起的,也可以是由客户端向主控制节点发起一迁移请求,再由主控制节点根据该迁移请求生成迁移命令并发送至源块设备。
[0063]步骤12b,源块设备所在的存储节点根据迁移指令降源块设备中的数据复制到目的块设备中。
[0064]复制方法可以米用建立TCP (Transmission Control Protocol,传输控制协议)套接字连接,从源块设备中的源文件中读取数据并存储到缓冲区中,然后写入到目的块设备中。复制完成后,可以发送迁移成功响应告知主控制节点完成迁移指令,例如“http://namenode:port/ maintenance ? action = block_migrate_notification& taskid =l&result = success”。
[0065]可选地,在步骤12b之后,还可以包括:释放源块设备中的数据。释放数据即意味着清除源块设备中的数据,这样可以确保整个网络中仅有一份该数据即可,避免存储空间的浪费。
[0066]可选地,在步骤12b之后还包括:在复制?呆作完成后,向王控制节点发送迁移完成消息,以使主控制节点得知迁移操作已经完成,更新映射关系表。主控制节点更新映射关系表,除了将源块设备标识对应的虚拟磁盘标识与源块设备标识的对应关系改为虚拟磁盘标识与目的块设备标识的对应关系,还要建立虚拟磁盘的存储位置与目的块设备的存储位置的对应关系。
[0067]另外,在迁移操作进行时,如果此时有客户端向源块设备进行写操作,此时源块设备所在的源存储节点也响应客户端发送的块设备写请求,在目的块设备的存储位置基础上计算增加迁移的数据大小后的迁移后目的块设备的存储位置,并根据迁移后的目的块设备的存储位置执行块设备写请求。
[0068]根据本实施例的虚拟存储方法,通过对存储节点的块设备进行迁移操作,能够有效管理存储节点的存储空间,优化存储节点的性能。
[0069]实施例三
[0070]本实施例提供一种虚拟存储方法,其适用于的虚拟存储架构包括实际存储数据的存储节点中的的块设备、客户端的虚拟磁盘以及管理块设备和虚拟磁盘的主控制节点。本实施例的虚拟存储方法,将所有存储节点中的块设备利用起来,构成一个大的存储池,根据客户端的创建虚拟磁盘的创建请求将块设备按需分配,并通过建立虚拟磁盘与块设备的映射关系,使得客户在访问虚拟磁盘时直接访问实际存储数据的块设备,其中,“块设备”指的是存储节点中被用于虚拟存储的部分。存储节点、主控制节点和客户端均可以为计算机或服务器。本实施例的虚拟存储方法的执行主体为客户。本实施例中块设备的存储位置主要通过地址偏移量来体现。需要指出的是,客户端为虚拟磁盘的宿主机。
[0071]如图2所示,为根据本实施例的虚拟存储方法的流程示意图,该虚拟存储方法包括:
[0072]步骤201,客户端接收用户对于虚拟磁盘的读写操作。
[0073]可选地,在步骤201之前还包括虚拟磁盘的创建的过程,具体地:
[0074]步骤200a:客户端向主控制节点发送创建虚拟磁盘的创建请求。这里的创建请求可以包括:客户端的IP地址、客户端的MAC地址和/或虚拟磁盘的大小。
[0075]该步骤中虚拟磁盘的信息包括虚拟磁盘的大小、虚拟磁盘的存储位置、虚拟磁盘的MAC地址、IP地址等等,还可以包括虚拟磁盘的分片单位,每一个分片单位可以对应一个块设备。如表1所示,为映射关系表中的一部分。
[0076]表1
[0077]
【权利要求】
1.一种虚拟存储方法,其特征在于,包括: 存储节点接收客户端根据映射关系表生成的块设备读写请求,所述块设备读写请求中包含块设备标识、块设备中的存储位置和读写内容; 存储节点根据所述块设备标识定位块设备,并根据所述块设备中的存储位置定位数据位置,并完成对所述读写内容的操作。
2.根据权利要求1所述的虚拟存储方法,其特征在于,所述映射关系表具体包括: 所述客户端的虚拟磁盘标识与所述块设备标识的映射关系; 还包括所述虚拟磁盘存储位置对应于块设备中的存储位置的映射关系。
3.根据权利要求1或2所述的虚拟存储方法,其特征在于,当所述存储节点启动时,所述方法还包括: 获取所述存储节点的配置文件; 根据所述配置文件,判断是第一次连接所述主控制节点,则向所述主控制节点发送注册请求,否则向所述主控制节点发送激活请求。
4.根据权利要求3所述虚拟存储方法,其特征在于,在向所述主控制节点发送注册请求之后,还包括: 接收所述主控制节点为所述 存储节点中的块设备分配的块设备标识。
5.根据权利要求3所述虚拟存储方法,其特征在于, 所述激活请求中包含存储节点标识,以使所述主控制节点根据所述存储节点标识重新获取自身存储的对应块设备信息。
6.根据权利要求1~5任一所述的虚拟存储方法,其特征在于,所述方法还包括: 所述存储节点接收所述主控制节点发送的迁移指令,所述迁移指令包括源块设备的标识、源块设备的存储位置、目的块设备的标识、目的块设备的存储位置和源块设备中迁移的数据大小; 所述存储节点根据所述迁移指令降所述源块设备中的数据复制到所述目的块设备中。
7.根据权利要求6所述的虚拟存储方法,其特征在于,存储节点在执行所述迁移指令过程中,收到客户端的块设备写请求时,还包括: 所述存储节点响应块设备写请求; 在所述目的块设备的存储位置基础上计算增加迁移的数据大小后的迁移后的存储位置,并根据所述迁移后的存储位置执行所述块设备写请求。
8.根据权利要求1~7中任一项所述的虚拟存储方法,其特征在于,在存储节点建立完与主控制节点连接后,还包括: 每隔预设时间,检测与所述主控制节点之间是否保持通信,使得所述存储节点出现异常无法完成存储时候,由所述主控制节点更新所述客户端的映射关系表,分配能够完成存储功能的其它存储节点。
9.一种虚拟存储方法,其特征在于,包括: 接收用户对于虚拟磁盘的读写操作,并根据所述虚拟磁盘读写操作和映射关系表生成块设备读写请求,所述块设备读写请求包括所所述块设备标识、块设备的存储位置和读写内容; 向所述块设备所在存储节点发送所述块设备读写请求,使得存储节点能够根据所述块设备读写请求中的设备标识定位所述块设备,并依据块设备读写请求中的存储位置和读写内容完成读写内容的操作。
10.根据权利要求9所述的虚拟存储方法,其特征在于,所述虚拟磁盘的由用户申请创建,其创建过程具体包括: 向主控制节点发送虚拟磁盘的创建请求; 接收并保存所述主控制节点返回的虚拟磁盘信息和所述映射关系表; 根据所述虚拟磁盘信息创建所述虚拟磁盘。
11.根据权利要求9所述的虚拟存储方法,其特征在于,所述接收用户对于虚拟磁盘的读写操作,并根据所述虚拟磁盘读写操作和所述映射关系表生成块设备读写请求具体包括: 判断所述读写操作是否指向不同的块设备,如果是,则根据所述读写操作和映射关系表生成不同块设备的读写请求。
12.根据权利要求9~11中任一项所述的虚拟存储方法,其特征在于,所述方法还包括: 接收所述主控制节点发送删除虚拟磁盘的删除指令,并根据所述删除指令删除所述虚拟磁盘,所述删除指令中包括虚拟磁盘标识和客户端地址标识; 更新客户端中存储的所述映射关系表。
13.根据权利要求10~12任一所述的虚拟存储方法,其特征在于,所述创建清求包括所述客户端的IP地址、客户端的`MAC地址和/或所述虚拟磁盘的大小。
14.一种虚拟存储方法,其特征在于,包括: 根据客户端的虚拟磁盘标识与块设备的块设备标识以及所述虚拟磁盘存储位置对应于所述块设备中的存储位置建立映射关系表; 向所述客户端返回所述映射关系表,以使所述客户端在需要读写所述块设备时,通过所述虚拟磁盘和所述映射关系表生成读写请求。
15.根据权利要求14所述的虚拟存储方法,其特征在于,还包括, 对所述存储节点进行迁移操作,或者接收所述客户端的迁移请求并根据所述迁移请求生成迁移指令并对所述存储节点进行迁移操作; 所述迁移操作包括: 向源块设备发送迁移指令,所述迁移指令包括源块设备标识、源块设备的存储位置、目标块设备标识和目的块设备的存储位置,以指示所述源块设备将所源块设备中的数据复制到所述目标块设备中。
16.根据权利要求14或15所述的虚拟存储方法,其特征在于,所述映射关系表中还包括所述块设备所在存储节点的IP地址、存储节点的MAC地址、存储节点中各块设备的块设备名称和/或块设备大小。
17.根据权利要求14~16中任一项所述的虚拟存储方法,其特征在于,还包括: 向所述客户端发送删除指令,所述删除指令中包括虚拟磁盘的标识和客户端MAC地址,以指示所述客户端删除所述虚拟磁盘并更新所述映射关系表。
18.根据权利要求14~17中任一项所述的虚拟存储方法,其特征在于,在所述根据所述客户端的虚拟磁盘标识与所述块设备标识以及所述虚拟磁盘存储位置对应于块设备中的存储位置建立映射关系表之前,还包括: 为所述块设备分配所述块设备标识,所述块设备标识是根据所述块设备所在的存储节点的地址生成的。
19.一种存储节点,其特征在于,包括: 第一接收模块,用于接收客户端根据映射关系表生成的块设备读写请求,所述块设备读写请求中包含块设备标识、块设备中的存储位置和读写内容; 第一处理模块,用于根据所述块设备标识定位块设备,并根据所述块设备中的存储位置定位数据位置,并完成对所述读写内容的操作。
20.根据权利要求19所述的存储节点,其特征在于,所述映射关系表具体包括: 所述客户端的虚拟磁盘标识与所述块设备标识的映射关系以及所述虚拟磁盘存储位置对应于块设备中的存储位置的映射关系。
21.根据权利要求19或20所述的存储节点,其特征在于,所述存储节点还包括: 判断模块,用于当所述存储节点启动时,获取所述存储节点的配置文件,并根据所述配置文件判断是否第一次连接所述主控制节点,当判断结果为是时,触发发送注册请求模块,当判断结果为否时,触发发送激活请求模块; 所述发送注册请求模块,用于向所述主控制节点发送注册请求; 所述发送激活请求模块,用于向所述主控制节点发送激活请求。
22.根据权利要求19~21中任一项所述的存储节点,其特征在于,还包括: 所述第一接收模块,还用于接收所述主控制节点发送的迁移指令,所述迁移指令包括源块设备的标识、源块设备的存储位置、目的块设备的标识、目的块设备的存储位置和源块设备中迁移的数据大小; 所述第一处理模块,还用于根据所述迁移指令将所述源块设备中的数据复制到所述目的块设备中。
23.根据权利要求19~22中任一项所述的存储节点,其特征在于,还包括: 检测模块,用于每隔预设时间,检测与所述主控制节点之间是否保持通信,使得存储节点出现异常无法完成存储时候,由主控制节点更新客户端的映射关系表,分配能够完成存储功能的其它存储节点。
24.一种客户端,其特征在于,包括: 第二接收模块,用于接收用户对于虚拟磁盘的读写操作;第二处理模块,用于根据所述虚拟磁盘读写操作和所述映射关系表生成块设备读写请求; 发送模块,用于向所述块设备所在存储节点发送所述块设备读写请求。
25.根据权利要求24所述的客户端,其特征在于,所述客户端还包括创建模块和存储模块用于创建虚拟磁盘,包括: 所述发送模块,还用于向主控制节点发送虚拟磁盘的创建请求; 所述第二接收模块,还用于接收主控制节点返回的虚拟磁盘信息和映射关系表,所述虚拟磁盘信息包括所述虚拟磁盘标识以及与所述虚拟磁盘标识对应的虚拟磁盘具体内容; 存储模块,用于保存所述主控制节点返回的虚拟磁盘信息和所述映射关系表;创建模块,用于根据所述虚拟磁盘信息创建所述虚拟磁盘。
26.根据权利要求24所述的客户端,其特征在于,所述客户端还包括删除模块和更新模块,其中: 删除模块,用于接收所述主控制节点发送删除虚拟磁盘的删除指令,并根据所述删除指令删除所述虚拟磁盘,所述删除指令中包括虚拟磁盘标识和客户端地址; 更新模块,用于更新所述映射关系表。
27.根据权利要求24~26中任一项所述的客户端,其特征在于,所述第二处理模块包括: 判断子模块,用于判断所述读写操作是否指向不同的块设备,如果是,则触发所述生成子模块; 生成子模块,用于根据所述读写操作和映射关系表生成不同块设备的读写请求。
28.—种主控制节点,其特征在于,包括: 建立映射关系表模块,用于根据客户端的虚拟磁盘标识与块设备的块设备标识以及所述虚拟磁盘存储位置对应于所述块设备中的存储位置建立映射关系表; 发送映射关系表模块,用于向所述客户端返回所述映射关系表,以使所述客户端在需要读写所述块设备时,通过所述虚拟磁盘和所述映射关系表生成读写请求。
29.根据权利要求28所述的主控制节点,其特征在于,所述主控制节点还包括迁移模块和发送模块,其中:` 迁移模块,用于生成包括源块设备标识、源块设备的存储位置、目标块设备标识和目的块设备的存储位置的迁移指令; 发送模块,用于向所述源块设备发送迁移指令,以指示所述源块设备将所源块设备中的数据复制到所述目标块设备中。
30.根据权利要求28或29所述的主控制节点,其特征在于,所述主控制节点还包括删除指令1吴块,其中: 生成删除指令模块,用于生成包含虚拟磁盘的标识和客户端MAC地址的删除指令;所述发送模块,还用于向所述客户端发送删除指令,以指示所述客户端删除所述虚拟磁盘并更新所述映射关系表。
31.一种虚拟存储系统,包括根据权利要求20~23任一项所述的存储节点、根据权利要求24~27任一项所述的客户端以及根据权利要求28~30任一项所述的主控制节点。
【文档编号】H04L29/08GK103516755SQ201210215699
【公开日】2014年1月15日 申请日期:2012年6月27日 优先权日:2012年6月27日
【发明者】徐亚力, 邹现军 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1