掌桥专利:专业的专利平台
掌桥专利
首页

一种数据存储方法、装置、设备及机器可读存储介质

文献发布时间:2023-06-19 18:37:28


一种数据存储方法、装置、设备及机器可读存储介质

技术领域

本公开涉及通信技术领域,尤其是涉及一种数据存储方法、装置、设备及机器可读存储介质。

背景技术

随高清视频、图像处理、视频监控等技术的发展,用户数据容量正变得越来越大,而且用户对存储数据的读写性能的要求也在同步增加。用户在选购存储产品时,通常会对性能提出明确的要求,以满足业务的需要;在许多业务场景下,存储的性能不仅仅是快慢的区别,甚至会影响到业务本身是否能够正常运行,以文件数字化为例,在档案馆、图书馆将纸质图书数字化后,存储到存储服务器中,当越来越多的数字化图书存储进来,存储集群的容量将会越来越大;同时会有大量的用户进行并发的访问,如果存储集群的读写性能差、读写延迟高,将会降低用户使用的友好度,影响数字化的推进。因此提升存储集群的读写性能十分关键。

随着数字化的发展,分布式存储使用领域越来越多,存储系统上的数据也随之增多,进而读写操作造成的网络带宽资源消耗增加,使得网络带宽资源十分重要。

在一些情况下,需要执行存储集群内的文件、数据复制操作,由于存储集群的各存储设备通过网络设备连接到存储集群,并通过集群内网络交互数据,该项复制操作需要消耗较多的网络带宽资源。

发明内容

有鉴于此,本公开提供一种数据存储方法、装置及电子设备、机器可读存储介质,以改善上述集群内复制数据消耗网络资源较多的问题。

具体地技术方案如下:

本公开提供了一种数据存储方法,应用于存储集群设备,所述存储集群设备包括若干用于存储数据的存储设备,所述方法包括:响应于数据复制命令,解析关联于该数据复制命令的数据源地址和数据目的地址,判断数据源地址和数据目的地址是否均属于本存储集群;根据数据源地址和数据目的地址均属于本存储集群的判断结果,解析数据源文件的数据分布信息;根据数据源文件的数据分布信息,建立与数据源文件分布于相同存储设备的数据目标文件,执行本地设备数据复制。

作为一种技术方案,所述根据数据源文件的数据分布信息,建立与数据源文件分布于相同存储设备的数据目标文件,执行本地设备数据复制,包括:所述根据数据源文件的数据分布信息,建立与数据源文件分布于相同磁盘的数据目标文件,执行本地磁盘数据复制。

作为一种技术方案,所述根据数据源地址和数据目的地址均属于本存储集群的判断结果,解析数据源文件的数据分布信息,包括:所述根据数据源地址和数据目的地址均属于本存储集群的判断结果,解析数据源文件的副本文件的数据分布信息;所述根据数据源文件的数据分布信息,建立与数据源文件分布于相同存储设备的数据目标文件,执行本地设备数据复制,包括:根据数据源文件的副本文件的数据分布信息,建立与数据源文件的副本文件分布于相同存储设备的数据目标文件的副本文件,执行副本文件的本地设备数据复制。

作为一种技术方案,所述执行本地设备数据复制,包括:响应于执行的关于数据目标文件和数据目标文件的副本文件的本地设备数据复制完成的事件,反馈数据复制完成的答复信息。

本公开同时提供了一种数据存储装置,应用于存储集群设备,所述存储集群设备包括若干用于存储数据的存储设备,所述方法包括:地址模块,用于响应于数据复制命令,解析关联于该数据复制命令的数据源地址和数据目的地址,判断数据源地址和数据目的地址是否均属于本存储集群;解析模块,用于根据数据源地址和数据目的地址均属于本存储集群的判断结果,解析数据源文件的数据分布信息;复制模块,用于根据数据源文件的数据分布信息,建立与数据源文件分布于相同存储设备的数据目标文件,执行本地设备数据复制。

作为一种技术方案,所述根据数据源文件的数据分布信息,建立与数据源文件分布于相同存储设备的数据目标文件,执行本地设备数据复制,包括:所述根据数据源文件的数据分布信息,建立与数据源文件分布于相同磁盘的数据目标文件,执行本地磁盘数据复制。

作为一种技术方案,所述根据数据源地址和数据目的地址均属于本存储集群的判断结果,解析数据源文件的数据分布信息,包括:所述根据数据源地址和数据目的地址均属于本存储集群的判断结果,解析数据源文件的副本文件的数据分布信息;所述根据数据源文件的数据分布信息,建立与数据源文件分布于相同存储设备的数据目标文件,执行本地设备数据复制,包括:根据数据源文件的副本文件的数据分布信息,建立与数据源文件的副本文件分布于相同存储设备的数据目标文件的副本文件,执行副本文件的本地设备数据复制。

作为一种技术方案,所述执行本地设备数据复制,包括:响应于执行的关于数据目标文件和数据目标文件的副本文件的本地设备数据复制完成的事件,反馈数据复制完成的答复信息。

本公开同时提供了一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,处理器执行所述机器可执行指令以实现前述的数据存储方法。

本公开同时提供了一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现前述的数据存储方法。

本公开提供的上述技术方案至少带来了以下有益效果:

在执行数据复制命令时,首先分析复制产生的数据是否将存储于与数据源相同的数据集群,若是则根据数据源文件的数据分布,将复制产生的数据目的文件也存储于存储集群内存储数据源文件的存储设备,从而使得在复制文件时,不发生存储设备与存储设备之间的数据传递,避免因此产生网络数据传输,不占用业务网络和存储网络,降低网络带宽资源消耗。

附图说明

为了更加清楚地说明本公开实施方式或者现有技术中的技术方案,下面将对本公开实施方式或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开中记载的一些实施方式,对于本领域普通技术人员来讲,还可以根据本公开实施方式的这些附图获得其他的附图。

图1是本公开一种实施方式中的数据存储方法的流程图;

图2是本公开一种实施方式中的数据存储装置的结构图;

图3是本公开一种实施方式中的电子设备的硬件结构图。

具体实施方式

在本公开实施方式使用的术语仅仅是出于描述特定实施方式的目的,而非限制本公开。本公开和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本公开实施方式可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

在一种技术方案中,先将需要备份的数据全量读取出来,然后在向目的地址全量写入,在同一集群数据备份场景,相当于执行了一次全量数据读取和全量数据写入操作。

具体地,当前同一分布式集群数据复制,以分布式存储2副本,复制一个文件为例,流程如下:用户选择要备份数据,然后执行“cp源数据文件目的文件”命令;对于分布式存储来说,CP命令会触发以下动作,首先读取源文件数据,根据数据位置分配算法,找到主副本所在磁盘位置,数据读取到内存中,然后在目的地执行创建写,根据数据分配算法,选出承载副本的磁盘,然后创建出目的文件,最后将内存中已读出的内容,写入目的文件中(多副本完成写入)。

以上技术方案数据需要经过大量的网络传输,读取数据、数据写入,数据均会通过业务网各全量传输一次,副本数据还会通过存储网全量传输一次。

有鉴于此,本公开提供一种数据存储方法、装置及电子设备、机器可读存储介质,以改善上述集群内复制数据消耗网络资源较多的问题。

具体地,技术方案如后述。

在一种实施方式中,本公开提供了一种数据存储方法,应用于存储集群设备,所述存储集群设备包括若干用于存储数据的存储设备,所述方法包括:响应于数据复制命令,解析关联于该数据复制命令的数据源地址和数据目的地址,判断数据源地址和数据目的地址是否均属于本存储集群;根据数据源地址和数据目的地址均属于本存储集群的判断结果,解析数据源文件的数据分布信息;根据数据源文件的数据分布信息,建立与数据源文件分布于相同存储设备的数据目标文件,执行本地设备数据复制。

具体地,如图1,包括以下步骤:

步骤S11,响应于数据复制命令,解析关联于该数据复制命令的数据源地址和数据目的地址,判断数据源地址和数据目的地址是否均属于本存储集群;

步骤S12,根据数据源地址和数据目的地址均属于本存储集群的判断结果,解析数据源文件的数据分布信息;

步骤S13,根据数据源文件的数据分布信息,建立与数据源文件分布于相同存储设备的数据目标文件,执行本地设备数据复制。

判断数据源地址和数据目的地址是否均属于本存储集群的结果为并非均属于本存储集群时,则按照原有流程执行该数据复制命令。

在执行数据复制命令时,首先分析复制产生的数据是否将存储于与数据源相同的数据集群,若是则根据数据源文件的数据分布,将复制产生的数据目的文件也存储于存储集群内存储数据源文件的存储设备,从而使得在复制文件时,不发生存储设备与存储设备之间的数据传递,避免因此产生网络数据传输,不占用业务网络和存储网络,降低网络带宽资源消耗。

在一种实施方式中,所述根据数据源文件的数据分布信息,建立与数据源文件分布于相同存储设备的数据目标文件,执行本地设备数据复制,包括:所述根据数据源文件的数据分布信息,建立与数据源文件分布于相同磁盘的数据目标文件,执行本地磁盘数据复制。

在一种实施方式中,所述根据数据源地址和数据目的地址均属于本存储集群的判断结果,解析数据源文件的数据分布信息,包括:所述根据数据源地址和数据目的地址均属于本存储集群的判断结果,解析数据源文件的副本文件的数据分布信息;所述根据数据源文件的数据分布信息,建立与数据源文件分布于相同存储设备的数据目标文件,执行本地设备数据复制,包括:根据数据源文件的副本文件的数据分布信息,建立与数据源文件的副本文件分布于相同存储设备的数据目标文件的副本文件,执行副本文件的本地设备数据复制。

在一种实施方式中,所述执行本地设备数据复制,包括:响应于执行的关于数据目标文件和数据目标文件的副本文件的本地设备数据复制完成的事件,反馈数据复制完成的答复信息。

在一种实施方式中,在存储集群中的数据原地复制,即可以实现数据零网络传输,可以避免额外网络带宽占用,由于数据复制过程都是本地进行,可以提升复制性能。

具体地,客户端发送数据复制命令CP命令到存储集群,存储集群收到CP命令,先去MDS查询源文件的数据分布信息,在获取到源文件分布信息后,MDS进行目的文件创建,目的文件创建将采用源文件一致的数据分布策略,目的文件底层对象内容,通过本地存储设备复制的方式,从数据源文件对象复制到数据目的文件的对象中。为了进一步节约存储设备内的硬件总线带宽和CPU性能的消耗,可以进一步限定使得响应于CP命令执行的数据复制通过本地磁盘复制的方式执行,即进一步使得数据目的文件分布的磁盘与数据源文件分布的磁盘相同。

具体地,客户端向分布式存储集群发起同集群数据复制命令,分布式存储通过源和目的检测,确认是同集群数据复制,元数据管理模块先查询源文件的数据分布信息,然后创建目的文件,目的文件的数据分布信息采用源文件的数据分布信息,保证源文件的数据存储对象和新的目的文件数据存储对象分布在同一块磁盘上,MDS向源文件的主对象发出数据复制请求,同时将目的对象名传递过去,源文件主对象收到同主机数据复制请求后,进行本地磁盘数据复制,同时将本地对象数据复制请求发往从副本,从副本收到本地数据对象复制请求后,和主副本动作一致,进行本地磁盘数据复制,从副本本地数据复制完成后,会答复主副本本地数据复制完成,主副本自己的本地数据复制和从副本的数据复制都完成后,答复客户端,数据复制完成。

在一种实施方式中,本公开同时提供了一种数据存储装置,如图2,应用于存储集群设备,所述存储集群设备包括若干用于存储数据的存储设备,所述方法包括:地址模块21,用于响应于数据复制命令,解析关联于该数据复制命令的数据源地址和数据目的地址,判断数据源地址和数据目的地址是否均属于本存储集群;解析模块22,用于根据数据源地址和数据目的地址均属于本存储集群的判断结果,解析数据源文件的数据分布信息;复制模块23,用于根据数据源文件的数据分布信息,建立与数据源文件分布于相同存储设备的数据目标文件,执行本地设备数据复制。

在一种实施方式中,所述根据数据源文件的数据分布信息,建立与数据源文件分布于相同存储设备的数据目标文件,执行本地设备数据复制,包括:所述根据数据源文件的数据分布信息,建立与数据源文件分布于相同磁盘的数据目标文件,执行本地磁盘数据复制。

在一种实施方式中,所述根据数据源地址和数据目的地址均属于本存储集群的判断结果,解析数据源文件的数据分布信息,包括:所述根据数据源地址和数据目的地址均属于本存储集群的判断结果,解析数据源文件的副本文件的数据分布信息;所述根据数据源文件的数据分布信息,建立与数据源文件分布于相同存储设备的数据目标文件,执行本地设备数据复制,包括:根据数据源文件的副本文件的数据分布信息,建立与数据源文件的副本文件分布于相同存储设备的数据目标文件的副本文件,执行副本文件的本地设备数据复制。

在一种实施方式中,所述执行本地设备数据复制,包括:响应于执行的关于数据目标文件和数据目标文件的副本文件的本地设备数据复制完成的事件,反馈数据复制完成的答复信息。

装置实施方式与对应的方法实施方式相同或相似,在此不再赘述。

在一种实施方式中,本公开提供了一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,处理器执行所述机器可执行指令以实现前述的数据存储方法,从硬件层面而言,硬件架构示意图可以参见图3所示。

在一种实施方式中,本公开提供了一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现前述的数据存储方法。

这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。

上述实施方式阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本公开时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本领域内的技术人员应明白,本公开的实施方式可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施方式、完全软件实施方式、或结合软件和硬件方面的实施方式的形式。而且,本公开实施方式可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本公开是参照根据本公开实施方式的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

本领域技术人员应明白,本公开的实施方式可提供为方法、系统或计算机程序产品。因此,本公开可以采用完全硬件实施方式、完全软件实施方式、或者结合软件和硬件方面的实施方式的形式。而且,本公开可以采用在一个或者多个其中包含有计算机可用程序代码的计算机可用存储介质(可以包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

以上所述仅为本公开的实施方式而已,并不用于限制本公开。对于本领域技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的权利要求范围之内。

技术分类

06120115636990