CN101827121A - 在raid中创建文件的方法、服务端和系统 - Google Patents

在raid中创建文件的方法、服务端和系统 Download PDF

Info

Publication number
CN101827121A
CN101827121A CN201010124952.6A CN201010124952A CN101827121A CN 101827121 A CN101827121 A CN 101827121A CN 201010124952 A CN201010124952 A CN 201010124952A CN 101827121 A CN101827121 A CN 101827121A
Authority
CN
China
Prior art keywords
raid group
file
virtual
raid
virtual raid
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201010124952.6A
Other languages
English (en)
Other versions
CN101827121B (zh
Inventor
黄志昊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Huawei Technology Co Ltd
Original Assignee
Huawei Symantec Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Symantec Technologies Co Ltd filed Critical Huawei Symantec Technologies Co Ltd
Priority to CN201010124952.6A priority Critical patent/CN101827121B/zh
Publication of CN101827121A publication Critical patent/CN101827121A/zh
Application granted granted Critical
Publication of CN101827121B publication Critical patent/CN101827121B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例中提供了一种在RAID中创建文件的方法、服务端和系统,所述方法包括:接收来自客户端的创建文件的请求信息,根据所述请求信息确定对应的至少一个虚拟RAID组,从所述至少一个虚拟RAID组中,确定优先级最高的第一虚拟RAID组,获取所述第一虚拟RAID组中的存储节点的标识,并将携带所述第一虚拟RAID组中的存储节点的标识的创建文件分布信息发送给所述客户端,以供所述客户端在所述第一虚拟RAID组中的存储节点上创建文件。本发明实施例在RAID中创建文件时,通过为每个虚拟RAID组设定优先级,使得在创建文件时,能够灵活选用优先级较高的虚拟RAID组中的存储节点,使得各存储节点的负载和数据存储得到均衡,提高了分布式存储的性能。

Description

在RAID中创建文件的方法、服务端和系统
技术领域
本发明涉及数据存储领域,特别是涉及一种在RAID中创建文件的方法、服务端和系统。
背景技术
随着存储技术的发展,分布式存储运用越来越广泛,分布式存储即数据分布存储在不同的存储节点上,分布式存储通常采用独立冗余磁盘阵列(Redundant Array of Independent Disk,以下简称RAID)的存储模式,以提高传输速率和提供容错功能。
基于对象级别的分布式存储,具有数据共享的优点和良好的可扩展性,其中,对象是数据管理的基本单元。在基于对象级别的分布式存储系统中,当客户端需要在RAID中创建文件时,向元数据服务器发起创建文件请求,元数据服务器收到请求后,在多个存储节点上创建文件对象,客户端根据创建的文件对象将文件数据分别存放在这些存储节点。
在现有技术的分布式存储方式中,采用了以下方法:客户端在RAID中创建文件时,向元数据服务器发起创建文件请求,创建文件请求中可以指定文件分条个数、文件大小以及存储文件数据的存储节点,元数据服务器根据创建文件请求计算文件对象的组织方式,即计算如何划分文件数据,以及如何存储划分后的文件数据,并在客户端指定的存储节点上创建文件对象。在创建了文件对象后,元数据服务器向客户端发送文件分布信息,客户端收到文件分布信息后,根据创建的文件对象将文件数据存放在相应的存储节点上。
在对现有技术进行研究后,发明人发现,现有技术中,在RAID中创建文件时,选择存储节点的方式缺乏灵活性,有可能会造成各存储节点的负载和存储数据的不平均,导致数据存储的均衡性得不到保障。
发明内容
本发明实施例提供一种在RAID中创建文件的方法、服务端和系统,用于实现分布式数据存储的均衡性。
本发明实施例提供了一种在独立冗余磁盘阵列RAID中创建文件的方法,包括:
接收来自客户端的创建文件的请求信息;
根据所述请求信息确定对应的至少一个虚拟RAID组,所述虚拟RAID组中包括至少一个存储节点;
从所述至少一个虚拟RAID组中,确定优先级最高的第一虚拟RAID组;
获取所述第一虚拟RAID组中的存储节点的标识,并将携带所述第一虚拟RAID组中的存储节点的标识的创建文件分布信息发送给所述客户端,以供所述客户端在所述第一虚拟RAID组中的存储节点上创建文件。
本发明实施例还提供了一种在独立冗余磁盘阵列RAID中创建文件的服务端,包括:
接收模块,用于接收来自客户端的创建文件的请求信息;
第一确定模块,用于根据所述接收模块接收的所述请求信息确定对应的至少一个虚拟RAID组,所述虚拟RAID组包括至少一个存储节点;
第二确定模块,用于从所述第一确定模块确定的所述至少一个虚拟RAID组中,确定优先级最高的第一虚拟RAID组;
发送模块,用于获取所述第二确定模块确定的所述第一虚拟RAID组中的存储节点的标识,并将携带所述第一虚拟RAID组中的存储节点的标识的创建文件分布信息发送给所述客户端,以供所述客户端在所述第一虚拟RAID组中的存储节点上创建文件。
本发明实施例还提供了一种在独立冗余磁盘阵列RAID中创建文件的系统,包括客户端和本发明实施例提供的一种在独立冗余磁盘阵列RAID中创建文件的服务端。
本发明实施例在RAID中创建文件时,通过接收来自客户端的创建文件的请求信息,根据所述请求信息确定对应的虚拟RAID组,所述虚拟RAID组中包括至少一个存储节点;获取所述虚拟RAID组的优先级,所述虚拟RAID组的优先级至少由所述虚拟RAID组中的存储节点的负载大小所确定,从所述虚拟RAID组中,确定优先级最高的第一虚拟RAID组,获取所述第一虚拟RAID组中的存储节点的标识,并创建文件分布信息发送给所述客户端,以供所述客户端在所述第一虚拟RAID组中的存储节点上创建文件,使得在创建文件时,能够灵活选用优先级较高的虚拟RAID组中的存储节点,使得各存储节点的负载和数据存储得到均衡,提高了分布式存储的性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明第一实施例提供的在RAID中创建文件的方法的流程图;
图2为本发明第二实施例提供的在RAID中创建文件的方法的流程图;
图3为本发明第三实施例提供的在RAID中创建文件的方法的流程图;
图4为本发明第四实施例提供的在RAID中创建文件的服务端的结构示意图;
图5为本发明第五实施例提供的在RAID中创建文件的系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明第一实施例提供的一种在RAID中创建文件的方法的流程图,本实施例在RAID中创建文件的方法的执行主体可以为元数据服务器,参见图1,方法包括:
步骤11、接收来自客户端的创建文件的请求信息。
步骤12、根据该请求信息确定对应的至少一个虚拟RAID组,虚拟RAID组中包括至少一个存储节点。
在本实施例中,虚拟RAID组对应于逻辑上划分的一组存储节点,与现有的磁盘阵列不同,虚拟RAID组是在逻辑上将一组存储节点划分为磁盘阵列以便于存储数据,如将存储节点0和存储节点1划分为一组,对应于虚拟RAID组1,将存储节点1和存储节点2划分为一组,对应于虚拟RAID组2。每个虚拟RAID组的成员可以交叉,由此使得数据存储方式更加灵活。在选择了虚拟RAID组1创建文件对象时,则会将文件数据存储在存储节点0和存储节点1上;在选择了虚拟RAID组2创建文件对象时,则会将文件数据存储在存储节点1和存储节点2上。
步骤13、从该至少一个虚拟RAID组中,确定优先级最高的第一虚拟RAID组。
其中,该虚拟RAID组的优先级至少由该虚拟RAID组中的存储节点的负载大小所确定。
步骤12在确定了对应的虚拟RAID组后,就可以进一步从这些虚拟RAID组中,确定优先级最高的第一虚拟RAID组的优先级。在本实施中,需预先设置虚拟RAID组的优先级。可选的,可以根据虚拟RAID组中的存储节点的负载大小设置虚拟RAID组的优先级,存储节点的负载大小体现为CPU占用率和网络占用率等参考信息,存储节点的负载大小可以采用加权计算的方法得到,可以综合考虑存储节点的CPU占用率和网络占用率等参考信息,为每个参考信息分配一个权值,进行加权计算得到存储节点的负载大小。如可以为CPU占用率分配权值为2,为网络占用率分配权值为3,则当某一个存储节点的CPU占用率为40%,网络占用率为50%时,通过加权计算得到其负载为2*40%+3*50%=2.3,当另一存储节点的CPU占用率为50%,网络占用率为70%时,通过加权计算得到其负载为2*50%+3*70%=3.1,则可以看出其负载大于前者。
在设置虚拟RAID组的优先级时,可以采用以下两种方式:
方式一:考虑到虚拟RAID组在进行数据存储时,每个节点上都需要存储数据,因此,可以根据虚拟RAID组中的负载最大的存储节点确定该虚拟RAID组的优先级,即某个RAID组中如果包含负载最大的存储节点,则其设置的优先级最低,若某个虚拟RAID组中的负载最大的存储节点的负载,小于其他虚拟RAID组中的负载最大的存储节点的负载,则其设置的优先级最高。
方式二:根据虚拟RAID组中的所有存储节点的负载大小确定该虚拟RAID组的优先级,即所有存储节点的负载之和最大的虚拟RAID组,其设置的优先级最低;所有存储节点的负载之和最小的虚拟RAID组,其设置的优先级最高。
另外,设置虚拟RAID组的优先级时,用户可以采用自定义的方式,例如:用户希望将数据集中放在某个虚拟RAID组时,倾向于将这个虚拟RAID组的优先级设为最高,这样能够灵活选用优先级较高的虚拟RAID组中的存储节点来存储数据。
上述两种设置优先级的方式都能实现数据存储的负载均衡,但各有侧重点,方式一对每个存储节点的负载都进行了考虑,优先选择所有存储节点负载都较低的虚拟RAID组。方式二考虑虚拟RAID组的整体性能,优先选择所有存储节点负载之和最小的虚拟RAID组。在实际应用中,可以根据具体的需求选择优先级设置的方式。
此外,也可以结合虚拟RAID组的存储节点的负载大小以及存储空间的大小,设置虚拟RAID组的优先级。如某一虚拟RAID组对应的存储节点的负载较小,存储空间较大,则可以设置该虚拟RAID组的优先级较高。
在获取了该虚拟RAID组的优先级后,就可以根据优先级从该虚拟RAID组中,选取优先级最高的第一虚拟RAID组。
步骤14、获取该第一虚拟RAID组中的存储节点的标识,并创建文件分布信息发送给客户端,以供该客户端在该第一虚拟RAID组中的存储节点上创建文件。
其中,该创建文件分布信息用于标识该第一虚拟RAID组中包括的存储节点,例如:第一虚拟RAID组中包括存储节点0、存储节点1和存储节点2,创建文件分布信息用于标识这些节点。
本实施例中,在RAID中创建文件时,通过为每个虚拟RAID组分配优先级,使得在创建文件时,能够灵活选用优先级较高的虚拟RAID组对应的存储节点,使得各存储节点的负载和数据存储得到均衡,提高了存储性能。
图2为本发明第二实施例提供的一种在RAID中创建文件的方法的流程图,本实施例在RAID中创建文件的方法的执行主体可以为元数据服务器,参见图2,在RAID中创建文件的方法包括:
步骤21、接收来自客户端的创建文件的请求信息。
客户端发送的创建文件的请求信息中包括创建文件的基本信息,如文件的大小和类型等信息,此外,创建文件的请求信息中还可以包括RAID级别信息,使得元数据服务器可以根据RAID级别信息选择相应级别的虚拟RAID组创建文件对象。
其中,RAID级别的定义如下:
1.RAID0级,无冗余无校验的磁盘阵列。数据同时分布在各个磁盘驱动器上。
2.RAID1级,镜像磁盘阵列。每一个磁盘驱动器都有一个镜像磁盘驱动器,镜像磁盘驱动器随时保持与原磁盘驱动器的内容一致。
3.RAID2级,纠错海明码磁盘阵列。
4.RAID3和RAID4,奇校验或偶校验的磁盘阵列。不论有多少数据盘,均使用一个校验盘,采用奇偶校验的方法检查错误。
5.RAID5级,无独立校验盘的奇偶校验磁盘阵列。同样采用奇偶校验来检查错误,但没有独立的校验盘,校验信息分布在各个磁盘驱动器上。
6.RAID10级,RAID10也被称为镜象阵列条带,是一个Raid 0与Raid1的组合体,利用奇偶校验实现条带集镜像,继承了Raid0的快速和Raid1的安全。RAID10以RAID 0为执行阵列,以RAID 1为数据保护阵列,每个磁盘都有一个镜象磁盘,具有与RAID 1一样的容错能力。
元数据服务器根据客户端发送的创建文件的请求信息中的RAID级别信息,采用相应的方式创建文件对象,例如,请求信息中的RAID级别信息为1,则元数据服务器采用镜像的方式创建文件对象,即在选择的虚拟RAID组对应的每个存储节点上创建一致的文件对象,客户端在创建文件时,在该虚拟RAID组对应的每个存储节点创建镜像文件。若请求信息中的RAID级别信息为2,则元数据服务器以纠错码的方式创建文件对象,客户端在创建文件时,以纠错码的方式在该虚拟RAID组对应的每个存储节点上存储文件数据。
步骤22、根据该请求信息中的RAID级别信息确定对应的至少一个虚拟RAID组,并从该至少一个虚拟RAID组中,确定优先级最高的第一虚拟RAID组。
元数据服务器根据客户端发送的请求信息,确定对应的虚拟RAID组,为客户端创建文件做准备。在请求信息中包括RAID级别信息时,元数据服务器根据RAID级别信息,确定RAID级别与请求信息中的RAID级别信息相匹配的虚拟RAID组。由上述方法可知,本实施例根据RAID级别信息确定对应的虚拟RAID组,能够使得数据存储的方式更加灵活,满足用户多样化的需求。
在确定了对应的虚拟RAID组后,就可以进一步获取每个虚拟RAID组的优先级,并从中选取优先级最高的第一虚拟RAID组。其中,虚拟RAID组的优先级需要进行预先设置,设置的方法可以与第一实施例中的方法相同,不再赘述。为便于表示虚拟RAID组的优先级,在本实施例中,0表示优先级最高。
在实际应用中,元数据服务器可以存储一份动态RAID分配路由表(Dynamic RAID Route Table,以下简称DDRT)表,以用于根据用户的请求信息查询确定对应的虚拟RAID组,并确定最高优先级的虚拟RAID组。DDRT表中包括但不限于以下信息:虚拟RAID组号,虚拟RAID组的级别、虚拟RAID组对应的存储节点。虚拟RAID组的优先级。参见表1为元数据服务器中的DDRT表的内容。
 RAID ID   级别   存储节点   优先级
  0   0   0、1   0
  1   1   1、3   1
  2   2   0、1、2、3   2
  3   1   2、3   3
  4   3   0、1   2
  5   1   1、2、3   0
表1
根据上述DDRT表,元数据服务器根据用户发送的请求信息,就能查询确定对应的虚拟RAID组,如客户端发送的请求信息中RAID级别信息为1,则元数据服务器可查询到RAID级别信息为1的虚拟RAID组的组号为1、3和5,并可进一步选择优先级最高的组号为5的虚拟RAID组。
需要说明的是,当在虚拟RAID组中加入了新的存储节点时,则需要更新DDRT表项,并可以将该虚拟RAID组的优先级设置为0,以便于对其优先使用。当虚拟RAID组中删除了存储节点时,则也需要更新该DDRT表项,更新该虚拟RAID组内的存储节点成员。
步骤23、获取该第一虚拟RAID组对应的存储节点的标识,并创建文件分布信息发送给客户端,以供该客户端在该第一虚拟RAID组中的存储节点上创建文件。
元数据服务器选择了第一虚拟RAID组后,向对应的存储节点发送创建文件对象的信息,在对应的存储节点上创建相应的文件对象,以使得客户端能够在该对应的存储节点上创建文件。元数据服务器创建了文件对象后,向客户端发送文件分布信息,客户端根据文件分布信息在对应的存储节点上创建文件。
如在上述步骤中,客户端发送了RAID级别信息为1的请求信息。元数据服务器查询到匹配的虚拟RAID组的组号为3和5,从中选出优先级最高的组号为5的虚拟RAID组,在对应的存储节点1、2和3上以镜像的方式创建文件对象,并向客户端发送文件分布信息,以使得客户端在存储节点1、2和3上以镜像的方式创建文件。
通过上述方法就实现了客户端在RAID中创建文件,在实际应用中,存储节点是的状态是会发生变化的。考虑到存储节点状态对RAID的存储性能的影响,本实施例中,还可以进一步根据存储节点的状态,对各虚拟RAID组的优先级进行动态的更新,以实现各存储节点的负载均衡。
在更新各虚拟RAID组的优先级时,可以根据虚拟RAID组中的存储节点的负载大小,更新其优先级,如某一时刻,组号为1的虚拟RAID组中的存储节点的负载减小了,则相应提高其优先级,以优先在该虚拟RAID组中的存储节点上存储数据。此外,也可以结合虚拟RAID组的存储节点的负载大小以及存储空间的大小,更新虚拟RAID组的优先级。如某一时刻,组号为2的虚拟RAID组对应的存储节点的负载减小了,存储空间增加,则相应提高其优先级。
从上述方法可以看出。通过为每个虚拟RAID组分配优先级,并定期更新,可以有效均衡各存储节点的负载和数据存储,提高存储性能。
当客户端读取数据时,向元数据服务器发送读取文件的请求信息,元数据服务器根据客户端需要读取的文件对象,查询获取相应的虚拟RAID组,并向客户端返回文件分布信息,客户端根据文件分布信息在对应的存储节点上读取文件。从RAID中读取文件的方法与现有技术类似,不再赘述。
本实施例在RAID中创建文件时,通过为每个虚拟RAID组分配优先级,使得在创建文件时,能够灵活使用优先级较高的虚拟RAID组的存储节点,同时根据各存储节点的状态,动态调整各虚拟RAID组的优先级,实现了各存储节点的负载和数据存储的均衡,提高了数据存储性能。
图3为本发明第三实施例提供的一种在RAID中创建文件的方法的流程图,本实施例中的方法的执行主体可以为元数据服务器,参见图3,在RAID中创建文件的方法包括:
步骤31、接收来自客户端的创建文件的请求信息。
客户端发送的创建文件的请求信息中包括创建文件的基本信息,如文件的大小和类型等信息,此外,客户端还可以根据创建的文件的具体应用,在该请求信息中添加创建文件的等级信息,以使得元数据服务器可以根据文件的等级信息查询并获取相应配置的虚拟RAID组创建文件对象。如文件等级1所表示的常用文件,可以存储在配置较高的存储节点上,文件等级2所表示不常用文件,可以存储在配置一般的存储节点上。
步骤32、根据该请求信息中的文件的等级信息确定对应的至少一个虚拟RAID组,并从该至少一个虚拟RAID组中,确定优先级最高的第一虚拟RAID组。
在本实施例中,可以预先设定不同等级的文件存储在不同配置的存储节点上,如重要且可能会经常访问的文件,可以存储在配置较好的存储节点上;不太重要且不会常访问的文件可以存储在配置一般的存储节点上。因此,可以预先设定文件的等级与存储节点配置的匹配条件,例如,文件等级为1表示常用文件,文件等级为2表示不常用文件。相应的,存储节点的配置信息为1,表示其为配置较高的存储节点,能快速的读写数据;存储节点的的配置信息为2,表示其对应的存储节点为配置一般的存储节点。则在元数据服务器中,可以设置文件等级1与存储节点的配置信息1相匹配,文件等级2与存储节点的配置信息2相匹配。
由上述方法可知,本实施例根据文件的等级信息确定对应的虚拟RAID组,能够使得重要且可能会经常访问的文件,存放在配置较好的存储节点上,使得配置较好的存储节点能够得到更充分的利用,提高了系统的存储性能。
根据客户端发送的请求信息,元数据服务器确定对应的虚拟RAID组,为客户端创建文件做准备。在请求信息中包括文件的等级信息时,元数据服务器根据请求信息中的文件的等级信息,确定配置信息与请求信息中的文件的等级信息相匹配的虚拟RAID组。
在确定了对应的虚拟RAID组后,就可以进一步获取每个虚拟RAID组的优先级,并从中获取优先级最高的第一虚拟RAID组。其中,虚拟RAID组的优先级需要进行预先设置,设置的方法可以与第一实施例中的方法相同,不再赘述。
在实际应用中,元数据服务器可以存储一份DDRT表,以用于根据用户的请求信息查询确定对应的虚拟RAID组,并确定最高优先级的虚拟RAID组。DDRT表中包括但不限于以下信息:虚拟RAID组号,虚拟RAID组对应的存储节点的配置信息、虚拟RAID组对应的存储节点。虚拟RAID组的优先级。参见表2为元数据服务器中的DDRT表的内容。
 RAID ID   配置   存储节点   优先级
  0   1   0、1   0
  1   2   1、3   1
  2   3   0、1、2、3   2
  3   1   2、3   3
  4   1   0、1   2
  5   1   1、2、3   2
表2
根据上述DDRT表,元数据服务器根据用户发送的请求信息,就能查询确定对应的虚拟RAID,如客户端的请求信息中包括文件的等级为1,则元数据服务器查询到配置为1的虚拟RAID组的组号为0、3、4和5,并可进一步选择优先级最高的组号为0的虚拟RAID组。
步骤33、获取该第一虚拟RAID组对应的存储节点的标识,并创建文件分布信息发送给客户端,以供该客户端在该第一虚拟RAID组中的存储节点上创建文件。
元数据服务器选择了虚拟RAID组后,向对应的存储节点发送创建文件对象的信息,在对应的存储节点上创建相应的文件对象,以使得客户端能够在该对应的存储节点上创建文件。元数据服务器创建了文件对象后,向客户端发送文件分布信息,客户端根据文件分布信息在对应的存储节点上存储文件。
如在上述步骤中,客户端发送的请求信息中文件等级信息为1,元数据服务器查询到匹配的虚拟RAID组的组号为0、3、4和5,从中选出优先级最高的组号为0的虚拟RAID组,在对应的存储节点0和1上创建文件对象,并向客户端发送文件分布信息,以使得客户端在存储节点0和1上创建文件。
通过上述方法就实现了客户端在RAID中创建文件,在实际应用中,存储节点是的状态是会发生变化的。考虑到存储节点状态对RAID的存储性能的影响,本实施例中,还可以进一步根据存储节点的状态,对各虚拟RAID组的优先级进行更新,以实现各存储节点动态的负载均衡,方法与第二实施例中的方法相同,不再赘述。
本实施例在RAID中创建文件时,通过为每个虚拟RAID组分配优先级,使得在创建文件时,能够灵活使用优先级较高的虚拟RAID组的存储节点,同时根据各存储节点的状态,动态调整各虚拟RAID组的优先级,实现各存储节点的负载均衡,提高了数据存储性能。
以上分别介绍了在RAID中根据RAID级别信息,和根据文件等级信息为客户端创建文件的方法。在本发明实施例中,还可以将两者进行结合,即客户端发送的创建文件的请求信息中即包括RAID等级信息,也包括文件等级信息,此时,需要同时根据RAID等级信息和文件等级信息,确定对应的虚拟RAID组,且该对应的虚拟RAID组的RAID级别与请求信息中的RAID级别信息相匹配,该对应的虚拟RAID组对应的存储节点的配置信息与请求信息中的文件的等级信息相匹配。然后从该对应的虚拟RAID组中确定优先最高的第一虚拟RAID组,并进行创建文件的相关处理,方法与上述方法类似,此处不再赘述。
图4为本发明第四实施例提供的在虚拟RAID组中创建文件的服务端的结构示意图,该服务端可以为元数据服务器,如图4所示,该服务端可包括:接收模块41、第一确定模块42、第二确定模块43和发送模块44。
接收模块41,用于接收来自客户端的创建文件的请求信息。
第一确定模块42,用于根据该接收模块41接收的该请求信息确定对应的至少一个虚拟RAID组,该虚拟RAID组包括至少一个存储节点。
第二确定模块43,用于从该第一确定模块确定的该至少一个虚拟RAID组中,确定优先级最高的第一虚拟RAID组。
发送模块44,用于获取该第二确定模块43确定的该第一虚拟RAID组中的存储节点的标识,并将携带该第一虚拟RAID组中的存储节点的标识的创建文件分布信息发送给该客户端,以供该客户端在该第一虚拟RAID组中的存储节点上创建文件。
在实际应用中,存储节点是的状态是会发生变化的。考虑到存储节点状态对存储性能的影响,本实施例中,还可以进一步根据存储节点的状态,对各虚拟RAID组的优先级进行调整,以实现各存储节点的负载均衡,该服务端还包括:
状态获取模块45,用于获取至少一个虚拟RAID组中的存储节点的状态信息。
更新模块46,用于根据该状态获取模块获取的该存储节点的状态信息,更新该至少一个虚拟RAID组中各虚拟RAID组的优先级。
其中,第一确定模块42,用于当该请求信息中包括RAID级别信息时,根据该请求信息中的RAID级别信息,确定与该请求信息中的RAID级别信息相匹配的至少一个虚拟RAID组;或者,当该请求信息中包括文件的等级信息时,根据该请求信息中的文件的等级信息,确定与该请求信息中的文件的等级信息相匹配的至少一个虚拟RAID组。
另外,当该客户端发送的请求信息中同时包括RAID级别信息和文件等级信息时,则第一确定模块42还用于根据该请求信息中的RAID级别信息和文件的类型信息,确定对应的虚拟RAID组,且该对应的虚拟RAID组的RAID级别与该请求信息中的RAID级别信息相匹配,该对应的虚拟RAID组中的存储节点的配置信息与该请求信息中的文件的等级信息相匹配。
在本实施例中,服务端可以存储一份DDRT表,以用于根据用户的请求信息查询确定对应的虚拟RAID组,并确定最高优先级的第一虚拟RAID组。此时,第二确定模块43,包括:
优先级获取单元431,用于从预先设置的动态RAID分配路由表中,获取对应的至少一个虚拟RAID组的优先级,该动态RAID分配路由表中包括虚拟RAID组的优先级信息;
确定单元432,用于根据优先级获取单元431获取的该优先级,确定该至少一个虚拟RAID组中优先级最高的第一虚拟RAID组。
本实施例中服务端的功能及结构可参见图1至图3对应实施例的记载,在此不再赘述。
本实施例在RAID中创建文件时,通过为每个虚拟RAID组分配优先级,使得在RAID中创建文件时,能够灵活使用优先级较高的虚拟RAID组的存储节点,同时根据各存储节点的状态,动态调整各虚拟RAID组的优先级,实现各存储节点的负载均衡,使得系统的存储性能得到提高。
图5为本发明第五实施例提供的在虚拟RAID组中创建文件的系统的结构示意图,如5所示,本实施例的系统可包括:客户端51和服务端52。
服务端52,用于接收来自客户端51的创建文件的请求信息;根据该请求信息确定对应的至少一个虚拟RAID组,该虚拟RAID组包括至少一个存储节点;从该至少一个虚拟RAID组中,确定优先级最高的第一虚拟RAID组;获取该第一虚拟RAID组中的存储节点的标识,创建文件分布信息并发送给客户端51,以供该客户端51在该第一虚拟RAID组中的存储节点上创建文件。
本实施例中,服务端52的功能及结构可参见图4对应实施例的记载,客户端51与服务端52之间的交互机理和效果可参见图1~图3对应实施例的记载,在此不再赘述。
本实施例在RAID中创建文件时,通过为每个虚拟RAID组分配优先级,使得在创建文件时,能够灵活使用优先级较高的虚拟RAID组的存储节点,同时根据各存储节点的状态,动态调整各虚拟RAID组的优先级,实现各存储节点的负载均衡,使得系统的存储性能得到提高。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域普通技术人员可以理解:实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令对应的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。

Claims (9)

1.一种在独立冗余磁盘阵列RAID中创建文件的方法,其特征在于,包括:
接收来自客户端的创建文件的请求信息;
根据所述请求信息确定对应的至少一个虚拟RAID组,所述虚拟RAID组中包括至少一个存储节点;
从所述至少一个虚拟RAID组中,确定优先级最高的第一虚拟RAID组;
获取所述第一虚拟RAID组中的存储节点的标识,并将携带所述第一虚拟RAID组中的存储节点的标识的创建文件分布信息发送给所述客户端,以供所述客户端在所述第一虚拟RAID组中的存储节点上创建文件。
2.根据权利要求1所述的在RAID中创建文件的方法,其特征在于,所述从所述至少一个虚拟RAID组中,确定优先级最高的第一虚拟RAID组,包括:
从预先设置的动态RAID分配路由表中,获取所述对应的至少一个虚拟RAID组的优先级,所述动态RAID分配路由表中包括虚拟RAID组的优先级信息;
根据所述优先级,确定所述至少一个虚拟RAID组中优先级最高的第一虚拟RAID组。
3.根据权利要求2中所述的在RAID中创建文件的方法,其特征在于,所述方法还包括:
获取所述至少一个虚拟RAID组中的存储节点的状态信息;
根据所述存储节点的状态信息,更新所述至少一个虚拟RAID组中各虚拟RAID组的优先级。
4.根据权利要求1所述的在RAID中创建文件的方法,其特征在于,所述根据所述请求信息确定对应的至少一个虚拟RAID组包括:
当所述请求信息中包括RAID级别信息时,根据所述请求信息中的RAID级别信息,确定与所述请求信息中的RAID级别信息相匹配的至少一个虚拟RAID组;或者,
当所述请求信息中包括文件的等级信息时,根据所述请求信息中的文件的等级信息,确定与所述请求信息中的文件的等级信息相匹配的至少一个虚拟RAID组。
5.一种在独立冗余磁盘阵列RAID中创建文件的服务端,其特征在于,包括:
接收模块,用于接收来自客户端的创建文件的请求信息;
第一确定模块,用于根据所述接收模块接收的所述请求信息确定对应的至少一个虚拟RAID组,所述虚拟RAID组包括至少一个存储节点;
第二确定模块,用于从所述第一确定模块确定的所述至少一个虚拟RAID组中,确定优先级最高的第一虚拟RAID组;
发送模块,用于获取所述第二确定模块确定的所述第一虚拟RAID组中的存储节点的标识,并将携带所述第一虚拟RAID组中的存储节点的标识的创建文件分布信息发送给所述客户端,以供所述客户端在所述第一虚拟RAID组中的存储节点上创建文件。
6.根据权利要求5所述的在RAID中创建文件的服务端,其特征在于,所述第二确定模块,包括:
优先级获取单元,用于从预先设置的动态RAID分配路由表中,获取所述对应的至少一个虚拟RAID组的优先级,所述动态RAID分配路由表中包括虚拟RAID组的优先级信息;
确定单元,用于根据所述优先级获取单元获取的所述优先级,确定所述至少一个虚拟RAID组中优先级最高的第一虚拟RAID组。
7.根据权利要求6所述的在RAID中创建文件的服务端,其特征在于,还包括:
状态获取模块,用于获取所述至少一个虚拟RAID组中存储节点的状态信息;
更新模块,用于根据所述状态获取模块获取的所述存储节点的状态信息,更新所述至少一个虚拟RAID组中各虚拟RAID组的优先级。
8.根据权利要求5所述的在RAID中创建文件的服务端,其特征在于,
所述第一确定模块,用于当所述请求信息中包括RAID级别信息时,根据所述请求信息中的RAID级别信息,确定与所述请求信息中的RAID级别信息相匹配的至少一个虚拟RAID组;或者,当所述请求信息中包括文件的等级信息时,根据所述请求信息中的文件的等级信息,确定与所述请求信息中的文件的等级信息相匹配的至少一个虚拟RAID组。
9.一种在独立冗余磁盘阵列RAID中创建文件的系统,其特征在于,包括客户端和如权利要求5-8任一权利要求所述的服务端。
CN201010124952.6A 2010-03-12 2010-03-12 在raid中创建文件的方法、服务端和系统 Active CN101827121B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010124952.6A CN101827121B (zh) 2010-03-12 2010-03-12 在raid中创建文件的方法、服务端和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010124952.6A CN101827121B (zh) 2010-03-12 2010-03-12 在raid中创建文件的方法、服务端和系统

Publications (2)

Publication Number Publication Date
CN101827121A true CN101827121A (zh) 2010-09-08
CN101827121B CN101827121B (zh) 2013-01-30

Family

ID=42690821

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010124952.6A Active CN101827121B (zh) 2010-03-12 2010-03-12 在raid中创建文件的方法、服务端和系统

Country Status (1)

Country Link
CN (1) CN101827121B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102123087A (zh) * 2011-02-18 2011-07-13 天津博宇铭基信息科技有限公司 快速定标多级转发负载均衡方法及多级转发网络系统
CN102521014A (zh) * 2011-12-06 2012-06-27 北京航空航天大学 虚拟机的部署方法及装置
CN103608784A (zh) * 2013-06-26 2014-02-26 华为技术有限公司 网络卷创建方法、数据存储方法、存储设备和存储系统
CN103731505A (zh) * 2014-01-17 2014-04-16 中国联合网络通信集团有限公司 一种数据分布式存储方法及系统
CN103905517A (zh) * 2012-12-28 2014-07-02 中国移动通信集团公司 一种数据存储方法及设备
CN103902224A (zh) * 2012-12-26 2014-07-02 华为技术有限公司 数据存储的方法及数据存储管理设备及系统
CN105242883A (zh) * 2015-10-13 2016-01-13 深圳市讯方技术股份有限公司 基于磁盘阵列虚拟化的存储实验系统及方法
CN105389129A (zh) * 2015-11-11 2016-03-09 北京汉柏科技有限公司 一种云计算系统中虚拟云盘实现方法
CN107092437A (zh) * 2016-02-17 2017-08-25 杭州海康威视数字技术股份有限公司 数据写入、读取方法及装置、云存储系统
CN107092525A (zh) * 2016-02-18 2017-08-25 深圳市深信服电子科技有限公司 数据缓存方法和装置
WO2019062101A1 (zh) * 2017-09-30 2019-04-04 深圳市华德安科技有限公司 Raid管理方法、装置及计算机可读存储介质
CN109634518A (zh) * 2018-10-29 2019-04-16 成都华为技术有限公司 一种存储资源配置方法及装置
CN111324293A (zh) * 2018-12-14 2020-06-23 杭州海康威视系统技术有限公司 一种存储系统、存储数据的方法、读取数据的方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005043378A2 (en) * 2003-11-03 2005-05-12 Network Appliance, Inc. Dynamic parity distribution technique
CN101055510A (zh) * 2006-04-14 2007-10-17 中兴通讯股份有限公司 提高流媒体数据读写效率的方法
CN101510143A (zh) * 2009-03-13 2009-08-19 杭州华三通信技术有限公司 动态分配存储空间的方法、系统和存储装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005043378A2 (en) * 2003-11-03 2005-05-12 Network Appliance, Inc. Dynamic parity distribution technique
CN101055510A (zh) * 2006-04-14 2007-10-17 中兴通讯股份有限公司 提高流媒体数据读写效率的方法
CN101510143A (zh) * 2009-03-13 2009-08-19 杭州华三通信技术有限公司 动态分配存储空间的方法、系统和存储装置

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102123087B (zh) * 2011-02-18 2014-01-08 天津博宇铭基信息科技有限公司 快速定标多级转发负载均衡方法及多级转发网络系统
CN102123087A (zh) * 2011-02-18 2011-07-13 天津博宇铭基信息科技有限公司 快速定标多级转发负载均衡方法及多级转发网络系统
CN102521014A (zh) * 2011-12-06 2012-06-27 北京航空航天大学 虚拟机的部署方法及装置
CN102521014B (zh) * 2011-12-06 2015-02-04 北京航空航天大学 虚拟机的部署方法及装置
CN103902224A (zh) * 2012-12-26 2014-07-02 华为技术有限公司 数据存储的方法及数据存储管理设备及系统
CN103905517A (zh) * 2012-12-28 2014-07-02 中国移动通信集团公司 一种数据存储方法及设备
CN103608784B (zh) * 2013-06-26 2015-06-10 华为技术有限公司 网络卷创建方法、数据存储方法、存储设备和存储系统
CN103608784A (zh) * 2013-06-26 2014-02-26 华为技术有限公司 网络卷创建方法、数据存储方法、存储设备和存储系统
WO2014205667A1 (zh) * 2013-06-26 2014-12-31 华为技术有限公司 网络卷创建方法、数据存储方法、存储设备和存储系统
CN103731505A (zh) * 2014-01-17 2014-04-16 中国联合网络通信集团有限公司 一种数据分布式存储方法及系统
CN105242883A (zh) * 2015-10-13 2016-01-13 深圳市讯方技术股份有限公司 基于磁盘阵列虚拟化的存储实验系统及方法
CN105389129A (zh) * 2015-11-11 2016-03-09 北京汉柏科技有限公司 一种云计算系统中虚拟云盘实现方法
CN107092437A (zh) * 2016-02-17 2017-08-25 杭州海康威视数字技术股份有限公司 数据写入、读取方法及装置、云存储系统
US11586673B2 (en) 2016-02-17 2023-02-21 Hangzhou Hikvision Digital Technology Co., Ltd. Data writing and reading method and apparatus, and cloud storage system
CN107092525A (zh) * 2016-02-18 2017-08-25 深圳市深信服电子科技有限公司 数据缓存方法和装置
WO2019062101A1 (zh) * 2017-09-30 2019-04-04 深圳市华德安科技有限公司 Raid管理方法、装置及计算机可读存储介质
CN109634518A (zh) * 2018-10-29 2019-04-16 成都华为技术有限公司 一种存储资源配置方法及装置
CN111324293A (zh) * 2018-12-14 2020-06-23 杭州海康威视系统技术有限公司 一种存储系统、存储数据的方法、读取数据的方法及装置
CN111324293B (zh) * 2018-12-14 2022-08-05 杭州海康威视系统技术有限公司 一种存储系统、存储数据的方法、读取数据的方法及装置

Also Published As

Publication number Publication date
CN101827121B (zh) 2013-01-30

Similar Documents

Publication Publication Date Title
CN101827121B (zh) 在raid中创建文件的方法、服务端和系统
CN102265277B (zh) 数据存储系统的操作方法和装置
CN102004769B (zh) 文件管理方法、设备及存储系统
CN102546782B (zh) 一种分布式系统及其数据操作方法
CN102317923B (zh) 存储系统
CN102137133B (zh) 内容分发的方法、系统及调度服务器
CN102413156B (zh) 一种分布式数据存储系统和方法
US8560884B2 (en) Application recovery in a file system
CN102668516A (zh) 一种云消息服务中实现消息传递的方法和装置
CN102664914A (zh) 一种IS/DFS-Image分布式文件存储查询系统
CN105242983A (zh) 一种数据存储方法以及一种数据存储管理服务器
US20030221064A1 (en) Storage system and storage subsystem
CN104142871B (zh) 用于数据备份的方法、装置和分布式文件系统
CN105468302A (zh) 一种处理数据的方法、装置及系统
CN101945394A (zh) 许可证管理方法、装置与系统
CN102982182A (zh) 一种数据存储规划方法及装置
CN109254873B (zh) 数据备份方法、相关装置及系统
CN104424052A (zh) 一种自动冗余的分布式存储系统及方法
US8386741B2 (en) Method and apparatus for optimizing data allocation
CN103580918A (zh) 一种配置数据处理方法及装置
CN104994135A (zh) 存储系统中融合san及nas存储架构的方法及装置
CN103412860A (zh) 数据库扩展方法、数据库扩展装置和数据库系统
US20200401340A1 (en) Distributed storage system
CN101539874B (zh) 一种实现数据镜像的系统、方法及网络装置
CN105607872A (zh) 一种存储装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD.

Free format text: FORMER NAME: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES CO., LTD.

CP01 Change in the name or title of a patent holder

Address after: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee after: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.

Address before: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee before: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220907

Address after: No. 1899 Xiyuan Avenue, high tech Zone (West District), Chengdu, Sichuan 610041

Patentee after: Chengdu Huawei Technologies Co.,Ltd.

Address before: 611731 Qingshui River District, Chengdu hi tech Zone, Sichuan, China

Patentee before: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.