一种数据存储方法和装置制造方法及图纸

技术编号:17485830 阅读:35 留言:0更新日期:2018-03-17 10:16
本申请提供一种数据存储方法和装置,该方法包括:获取待存储的第一数据文件、第一数据文件对应的第一LUN标识;根据第一集群视图信息确定第一LUN标识对应的多个第一OSD;所述第一集群视图信息包括第一LUN标识与第一OSD的对应关系;将所述第一数据文件拆分成多个数据块,确定每个数据块对应的第一OSD,并将数据块发送给对应的第一OSD,以使所述第一OSD存储所述数据块;将所述第一数据文件对应的元数据存储到所述监控服务器。通过本申请的技术方案,元数据的数量大大减少,减轻元数据的访问频率和数量,提高集群访问性能,节省元数据占用的存储资源。同时提供基于集群视图版本的零数据迁移的扩容方案,减少集群扩容过程对系统性能的影响。

A data storage method and device

The invention provides a data storage method and device. The method comprises the following steps: first, to get the corresponding data files stored first data file is determined according to the first LUN logo; a plurality of first OSD first LUN identifier corresponding to the first cluster view information; the corresponding relation between the first cluster view information includes a first LUN logo with the first OSD; the first data file is split into a plurality of data blocks, each block corresponding to determine the first OSD, and the data sent to the first OSD corresponding to the first OSD, storing the data blocks; storing the metadata corresponding to the first data file to the monitoring server. Through the technical scheme of this application, the number of metadata is greatly reduced, which reduces the access frequency and quantity of metadata, improves the performance of cluster access, and saves the storage resources occupied by metadata. At the same time, the expansion scheme of zero data migration based on the cluster view version is provided to reduce the impact of the cluster expansion process on the system performance.

【技术实现步骤摘要】
一种数据存储方法和装置
本申请涉及通信
,尤其涉及一种数据存储方法和装置。
技术介绍
随着移动网络、大数据、云计算的大量应用,对存储容量和存储性能提出了越来越高的要求,Ceph(基于LinuxPB的分布式文件系统)、GFS(GoogleFileSystem,基于Linux的专有分布式文件系统)、Gluster、HDFS(HadoopDistributedFileSystem,分布式文件系统)等分布式文件系统均得到了快速的发展。其中,分布式文件系统可以包括多个OSD(ObjectStorageDevice,对象存储设备),OSD是数据存储服务单元,一个OSD可以对应一个物理磁盘。为了实现数据文件的存储,将数据文件拆分成多个数据对象,获取每个数据对象的元数据(metadata),并将该数据对象存储到OSD,将该元数据存储到分布式文件系统的管理节点。其中,数据对象的元数据,可以包括数据对象在OSD中的存储位置、数据对象的大小、时间信息(如创建时间、修改时间、访问时间)、属性(如只读、隐藏)、文件类型、打开方式等。但是,由于针对每个数据对象均需要存储元数据,当数据对象的数量很多时,所有数据对象的元数据会占用大量存储资源,并且需要频繁的访问分布式文件系统的管理节点,以从管理节点读取元数据,占用了大量读取资源。
技术实现思路
本申请提供一种数据存储方法,应用于客户端,所述方法包括:获取待存储的第一数据文件、所述第一数据文件对应的第一LUN标识;根据第一集群视图信息确定所述第一LUN标识对应的多个第一OSD;其中,所述第一集群视图信息是从监控服务器获取的,且所述第一集群视图信息包括第一LUN标识与第一OSD的对应关系;将所述第一数据文件拆分成多个数据块,确定每个数据块对应的第一OSD,将数据块发送给对应的第一OSD,以使所述第一OSD存储所述数据块;将所述第一数据文件对应的元数据存储到所述监控服务器。本申请提供一种数据存储装置,应用于客户端,所述装置包括:获取模块,用于获取待存储的第一数据文件、所述第一数据文件对应的第一逻辑单元号LUN标识;根据第一集群视图信息确定所述第一LUN标识对应的多个第一对象存储设备OSD;其中,所述第一集群视图信息是从监控服务器获取的,所述第一集群视图信息包括第一LUN标识与第一OSD的对应关系;处理模块,用于将所述第一数据文件拆分成多个数据块;确定模块,用于确定每个数据块对应的第一OSD;发送模块,用于将数据块发送给对应的第一OSD,以使所述第一OSD存储所述数据块;将所述第一数据文件对应的元数据存储到所述监控服务器。基于上述技术方案,本申请实施例中,仅存储整个数据文件的元数据,大大减少元数据数量,节省元数据占用的存储资源。由于只从监控服务器读取整个数据文件的元数据,不用读取大量元数据,从而可以减轻客户端的处理压力,减轻元数据的访问频率和数量,提高集群访问性能,提高元数据的获取效率,减轻元数据管理的复杂度。附图说明为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。图1是本申请一种实施方式中的应用场景示意图;图2是本申请一种实施方式中的LUN与OSD的对应关系的示意图;图3是本申请一种实施方式中的数据存储方法的流程图;图4A-图4D是本申请一种实施方式中的数据块的存储示意图;图5是本申请另一种实施方式中的数据存储方法的流程图;图6A-图6D是本申请一种实施方式中的扩容后的数据块存储示意图;图7是本申请一种实施方式中的数据存储装置的结构图;图8是本申请一种实施方式中的客户端的硬件结构图。具体实施方式在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。本申请实施例中提出一种数据存储方法,该方法可以应用于包括客户端和服务器的系统,如分布式文件系统,服务器可以包括数据服务器(Dataserver)和监控服务器(Monitorserver),参见图1所示,为分布式文件系统的结构图。其中,客户端可以是用户进行数据写入/数据读取的接口,用户通过客户端访问数据服务器,从而在数据服务器写入数据、从数据服务器读取数据。其中,监控服务器用于监控数据服务器的健康状态、管理数据服务器的存储资源、存储数据服务器的元数据和集群视图信息。若数据服务器的健康状态是异常,则用于快速恢复数据服务器的故障。用户可以通过管理接口连接到监控服务器,从而管理数据服务器的存储资源,查询数据服务器的存储的元数据和集群视图信息。监控服务器通常是高可用模式,以避免监控服务器故障。其中,数据服务器可以包括多个OSD,每个OSD均用于存储数据。此外,一个LUN(LogicalUnitNumber,逻辑单元号)可以对应多个OSD,每个OSD相当于一个物理磁盘,LUN可以是这些物理磁盘组成的逻辑存储介质。此外,为每个OSD提供独立的OSD服务进程,该OSD服务进程用于对该OSD进行处理。例如,可以为OSD1提供OSD服务进程1,并为OSD2提供OSD服务进程2,这样,若接收到客户端发送的针对OSD1的处理请求,则由OSD服务进程1进行处理,在处理过程中,OSD服务进程1可以在OSD1的物理磁盘中写入数据或者从OSD1的物理磁盘中读取数据;若接收到客户端发送的针对OSD2的处理请求,则由OSD服务进程2进行处理,以此类推。通过为每个OSD提供独立的OSD服务进程,可以在OSD服务进程异常时,快速恢复OSD服务进程,且不会对其它OSD服务进程造成影响。例如,当OSD服务进程1异常时,则OSD服务进程2可以继续工作,由于OSD服务进程1只对OSD1提供服务,OSD服务进程1管理的资源很少,因此可以快速恢复OSD服务进程1。例如,LUN1可以对应OSD1、OSD2、OSD3、OSD4,LUN2对应OSD5、OSD6、OSD7、OSD8,若用户需要将数据写入到LUN1中,则客户端是将数据写入到LUN1对应的OSD1、OSD2、OSD3、OSD4中,以此类推。在一个例子中,参见图2所示,为LUN与OSD的对应关系的示例,LUN1对应OSD1和OSD2,LUN2对应OSD2和OSD3,LUN3对应OSD3和OSD4。假设OSD1是10G存储空间,OSD2是20G存储空间,OSD3是20G存储空间,OSD4是8G存储空间,则:LUN1可以占用OSD1的10G存储空间、占用OSD2的1本文档来自技高网...
一种数据存储方法和装置

【技术保护点】
一种数据存储方法,其特征在于,应用于客户端,所述方法包括:获取待存储的第一数据文件、所述第一数据文件对应的第一逻辑单元号LUN标识;根据第一集群视图信息确定所述第一LUN标识对应的多个第一对象存储设备OSD;其中,所述第一集群视图信息是从监控服务器获取的,且所述第一集群视图信息包括第一LUN标识与第一OSD的对应关系;将所述第一数据文件拆分成多个数据块,确定每个数据块对应的第一OSD,将数据块发送给对应的第一OSD,以使所述第一OSD存储所述数据块;将所述第一数据文件对应的元数据存储到所述监控服务器。

【技术特征摘要】
1.一种数据存储方法,其特征在于,应用于客户端,所述方法包括:获取待存储的第一数据文件、所述第一数据文件对应的第一逻辑单元号LUN标识;根据第一集群视图信息确定所述第一LUN标识对应的多个第一对象存储设备OSD;其中,所述第一集群视图信息是从监控服务器获取的,且所述第一集群视图信息包括第一LUN标识与第一OSD的对应关系;将所述第一数据文件拆分成多个数据块,确定每个数据块对应的第一OSD,将数据块发送给对应的第一OSD,以使所述第一OSD存储所述数据块;将所述第一数据文件对应的元数据存储到所述监控服务器。2.根据权利要求1所述的方法,其特征在于,所述确定每个数据块对应的第一OSD的过程,具体包括:为每个数据块分别设置对象标识符OID,不同数据块的OID不同;采用第一hash算法对数据块的OID进行hash处理,得到hash处理结果,并将所述hash处理结果对应的第一OSD,确定为所述数据块对应的第一OSD;第一hash算法用于使不同第一OSD对应的数据块数量的差小于预设阈值。3.根据权利要求1所述的方法,其特征在于,所述确定每个数据块对应的第一OSD的过程,具体包括:将所述多个数据块划分到N个数据组中,其中,每个数据组中包括至少两个数据块,所述N的取值大于等于第一OSD的总数量;采用均衡策略确定每个数据组对应的第一OSD,其中,所述均衡策略用于使不同第一OSD对应的数据块数量的差小于预设阈值;将数据组对应的第一OSD,确定为所述数据组中的至少两个数据块对应的第一OSD。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取待存储的第二数据文件、所述第二数据文件对应的第二LUN标识;根据第二集群视图信息确定第二LUN标识对应的多个第二OSD;其中,所述多个第二OSD包括第一OSD和扩容OSD,第二集群视图信息是从监控服务器获取的,第二集群视图信息包括第二LUN标识与第二OSD的对应关系;将所述第二数据文件拆分成多个数据块,确定每个数据块对应的第二OSD,将数据块发送给对应的第二OSD,以使所述第二OSD存储所述数据块;将所述第二数据文件对应的元数据存储到所述监控服务器。5.根据权利要求4所述的方法,其特征在于,所述确定每个数据块对应的第二OSD的过程,具体包括:从所述第二集群视图信息中获取每个第二OSD的权重因子;其中,所述扩容OSD的权重因子大于所述第一OSD的权重因子;为每个数据块分别设置OID,不同数据块的OID不同;采用第二hash算法对数据块的OID进行hash处理,得到hash处理结果,并将所述hash处理结果对应的第二OSD,确定为所述数据块对应的第二OSD;其中,所述第二hash算法用于使权重因子越大的第二OSD,对应的数据块数量越多。6.一种数据存储装置,其特征在于,应用于客户端,所述装置包括:获取模块...

【专利技术属性】
技术研发人员:李航
申请(专利权)人:新华三技术有限公司
类型:发明
国别省市:浙江,33

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

1