CN116893789A - 一种数据管理方法、系统、装置、设备及计算机存储介质 - Google Patents

一种数据管理方法、系统、装置、设备及计算机存储介质 Download PDF

Info

Publication number
CN116893789A
CN116893789A CN202311155059.3A CN202311155059A CN116893789A CN 116893789 A CN116893789 A CN 116893789A CN 202311155059 A CN202311155059 A CN 202311155059A CN 116893789 A CN116893789 A CN 116893789A
Authority
CN
China
Prior art keywords
target
data
storage node
address mapping
mapping information
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
CN202311155059.3A
Other languages
English (en)
Other versions
CN116893789B (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202311155059.3A priority Critical patent/CN116893789B/zh
Publication of CN116893789A publication Critical patent/CN116893789A/zh
Application granted granted Critical
Publication of CN116893789B publication Critical patent/CN116893789B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据管理方法、系统、装置、设备及计算机存储介质,涉及存储技术领域,应用于存储系统中的目标存储节点,获取目标存储节点连接的主机设备发送的地址映射信息获取请求;响应于地址映射信息获取请求,发送目标存储节点的目标地址映射信息至主机设备,以使主机设备基于目标地址映射信息访问目标存储节点中的数据;其中,目标地址映射信息包括目标存储节点按照目标磁盘阵列方法对数据进行处理后生成的数据逻辑卷和磁盘阵列间的地址映射信息。本发明中,由存储节点自身生成相应的地址映射信息,保证了地址映射信息的可靠性,避免了单点性能瓶颈,此外,只需按照本发明方法便可以快速接入新存储节点,可扩展性好,适用性好。

Description

一种数据管理方法、系统、装置、设备及计算机存储介质
技术领域
本发明涉及存储技术领域,更具体地说,涉及一种数据管理方法、系统、装置、电子设备及计算机可读存储介质。
背景技术
随着大数据时代的到来,数据规模呈现体量庞大和增长迅速的特点,对存储系统的构建提出了重大挑战,不仅需要存储系统有极高的数据读写I/O(Input/Output,输入/输出)性能,也要有良好的可扩展性,可以在不影响系统正常运行的前提下动态地增加存储系统规模并获得相应的性能提升,进一步的,在大数据存储数据中心,存储节点间采用校验冗余策略是提高数据可靠性的重要方法,然而,此方法存在性能瓶颈,适用性差。
综上所述,如何提高存储系统中数据管理方法的适用性是目前本领域技术人员亟待解决的问题。
发明内容
本发明的目的是提供一种数据管理方法,其能在一定程度上解决如何提高存储系统中数据管理方法的适用性的技术问题。本发明还提供了一种数据管理系统、装置、电子设备及计算机可读存储介质。
根据本发明实施例的第一方面,提供一种数据管理方法,应用于存储系统中的目标存储节点,包括:
获取所述目标存储节点连接的主机设备发送的地址映射信息获取请求;
响应于所述地址映射信息获取请求,发送所述目标存储节点的目标地址映射信息至所述主机设备,以使所述主机设备基于所述目标地址映射信息访问所述目标存储节点中的数据;
其中,所述目标地址映射信息包括所述目标存储节点按照目标磁盘阵列方法对数据进行处理后生成的数据逻辑卷和磁盘阵列间的地址映射信息。
在一示例性实施例中,还包括:
获取其他存储节点发送的镜像写请求;
响应于所述镜像写请求,缓存所述镜像写请求对应的镜像数据;
待按照所述目标磁盘阵列方法进行数据处理时,读回所述镜像数据进行处理。
在一示例性实施例中,所述缓存所述镜像写请求对应的镜像数据,包括:
确定所述镜像数据的第一标识信息及接收时刻信息;
生成所述镜像数据的关键词;
按照预设日志格式,基于所述第一标识信息、所述接收时刻信息、所述关键词生成所述镜像数据的镜像数据日志;
对所述镜像数据进行压缩,得到压缩镜像数据;
通过日志写方式缓存所述镜像数据日志及所述压缩镜像数据至本地磁盘。
在一示例性实施例中,所述发送所述目标存储节点的目标地址映射信息至所述主机设备之前,还包括:
获取所述主机设备发送的待存储的目标数据;
获取所述目标磁盘阵列方法;
按照所述目标磁盘阵列方法对所述目标数据进行处理,得到校验冗余数据;
将所述校验冗余数据存入目标磁盘阵列中,所述目标磁盘阵列包括所述目标存储节点中的多个磁盘组组成的阵列;
生成所述目标数据的所述地址映射信息。
在一示例性实施例中,所述将所述校验冗余数据存入目标磁盘阵列中之前,还包括:
对于所述目标存储节点所需存储的每类所述目标数据,预估每类所述目标数据的数据量;
确定每类所述目标数据进行磁盘阵列处理时需求的最小磁盘组数;
确定所述目标存储节点的磁盘组总数量;
确定所述磁盘组总数量与所有所述最小磁盘组数间的差值;
确定所有所述目标数据的数据量的和值;
对于每类所述目标数据,确定所述目标数据的数据量与所述和值的比值,确定所述比值与所述差值的乘积值,将所述乘积值与所述目标数据的最小磁盘组数的和值作为所述目标数据的目标数量值,随机选取所述目标数量值个磁盘组生成所述目标数据的所述目标磁盘阵列。
在一示例性实施例中,所述按照所述目标磁盘阵列方法对所述目标数据进行处理,得到校验冗余数据之后,还包括:
确定所述校验冗余数据在所述目标磁盘阵列中的存储位置;
确定所述校验冗余数据的第二标识信息;
生成所述存储位置和所述第二标识信息的哈希值;
通过校验冗余逻辑卷存储所述哈希值。
在一示例性实施例中,所述通过校验冗余逻辑卷存储所述哈希值之后,还包括:
获取所述目标存储节点的目标信息,所述目标信息包括所述目标存储节点的名称、网络接口标识;
基于所述目标信息、所述数据逻辑卷和所述校验冗余逻辑卷生成所述目标存储节点的系统元数据;
将所述系统元数据存储至目标位置。
在一示例性实施例中,所述获取所述主机设备发送的待存储的目标数据之后,还包括:
获取所述目标存储节点的磁盘阵列初始化位图表、磁盘阵列重构位图表;
获取所述目标存储节点的数据分块更新位图表和缓存数据分块索引表,所述缓存数据分块索引表包括记录数据分块的状态的索引表;
基于所述磁盘阵列初始化位图表、所述磁盘阵列重构位图表、所述数据分块更新位图表和所述缓存数据分块索引表生成数据分块元数据。
在一示例性实施例中,所述获取所述主机设备发送的待存储的目标数据之后,所述获取所述目标磁盘阵列方法之前,还包括:
存储所述目标数据;
将所述目标存储节点的标识信息转换为二进制的第一数值;
生成表征响应信息的二进制的第二数值,所述响应信息用于表征已存储所述目标数据;
将所述第一数值和所述第二数值进行拼接,得到目标数值;
向所述主机设备发送所述目标数值。
在一示例性实施例中,所述将所述校验冗余数据存入目标磁盘阵列中,包括:
对于所述目标磁盘阵列中的每个磁盘组,确定所述磁盘组进行写聚合的数据量阈值;
按照所述数据量阈值对待写入所述磁盘组中的所述校验冗余数据进行聚合,得到聚合数据;
将所述聚合数据写入所述磁盘组。
在一示例性实施例中,所述将所述校验冗余数据存入目标磁盘阵列中,包括:
对于所述目标磁盘阵列中的每个磁盘组,确定所述磁盘组进行延迟写的时长值;
在所述时长值的累积时间内,对待写入所述磁盘组中的所述校验冗余数据进行累积,得到累积数据;
将所述累积数据存入所述目标磁盘阵列中。
在一示例性实施例中,所述将所述校验冗余数据存入目标磁盘阵列中之后,还包括:
获取预设频率值;
对于所述目标存储节点中的已访问数据,若所述已访问数据的访问频率大于所述预设频率值,则将所述已访问数据确定为活跃数据;
在所述目标存储节点的本地磁盘上,通过日志缓存所述活跃数据。
在一示例性实施例中,所述将所述校验冗余数据存入目标磁盘阵列中之后,还包括:
若所述磁盘组出现故障,则进入降级状态;
待所述磁盘组恢复后,进入重构状态,对恢复后的所述磁盘组进行重构恢复;
待重构完成后,进入正常状态。
在一示例性实施例中,所述对恢复后的所述磁盘组进行重构恢复,包括:
对于恢复后的所述磁盘组中的每个缺失数据,根据所述缺失数据的磁盘阵列冗余关系,在所述日志中查找,若查找到所述缺失数据,则将所述缺失数据写入恢复后的所述磁盘组中;
若未查找到所述缺失数据,则在其他磁盘组中查找与所述缺失数据属于相同条带的目标数据分块和校验冗余分块,基于所述目标磁盘阵列方法、所述目标数据分块和所述校验冗余分块恢复出所述缺失数据,将所述缺失数据写入恢复后的所述磁盘组中。
在一示例性实施例中,所述获取所述目标存储节点连接的主机设备发送的地址映射信息获取请求之前,还包括:
基于设定的带外方式确定与所述主机设备间的第一逻辑信道和第二逻辑信道;
所述获取所述目标存储节点连接的主机设备发送的地址映射信息获取请求,包括:
通过所述第一逻辑信道获取所述主机设备发送的所述地址映射信息获取请求;
所述发送所述目标存储节点的目标地址映射信息至所述主机设备,包括:
通过所述第二逻辑信道发送所述目标地址映射信息至所述主机设备。
根据本发明实施例的第二方面,提供一种数据管理方法,应用于存储系统中的主机设备,包括:
发送地址映射信息获取请求至所述存储系统中的各个目标存储节点;
接收所述目标存储节点响应所述地址映射信息获取请求后发送的目标地址映射信息,所述目标地址映射信息包括所述目标存储节点按照目标磁盘阵列方法对数据进行处理后生成的数据逻辑卷和磁盘阵列间的地址映射信息;
基于所述目标地址映射信息访问所述目标存储节点中的数据。
在一示例性实施例中,所述基于所述目标地址映射信息访问所述目标存储节点中的数据,包括:
获取待访问数据的数据逻辑卷;
基于所述待访问数据的数据逻辑卷和所述目标地址映射信息确定所述待访问数据的磁盘阵列;
基于所述待访问数据的磁盘阵列生成相应的访问请求;
并行发送所述访问请求至对应的所述目标存储节点以访问所述待访问数据。
在一示例性实施例中,所述并行发送所述访问请求至对应的所述目标存储节点以访问所述待访问数据,包括:
获取存储节点与虚拟磁盘间的对应关系;
基于所述对应关系,确定各个所述目标存储节点对应的目标虚拟磁盘;
通过所述目标虚拟磁盘并行发送所述访问请求至对应的所述目标存储节点以访问所述待访问数据。
根据本发明实施例的第三方面,提供一种数据管理装置,应用于存储系统中的目标存储节点,包括:
第一获取模块,用于获取所述目标存储节点连接的主机设备发送的地址映射信息获取请求;
第一发送模块,用于响应于所述地址映射信息获取请求,发送所述目标存储节点的目标地址映射信息至所述主机设备,以使所述主机设备基于所述目标地址映射信息访问所述目标存储节点中的数据;
其中,所述目标地址映射信息包括所述目标存储节点按照目标磁盘阵列方法对数据进行处理后生成的数据逻辑卷和磁盘阵列间的地址映射信息。
根据本发明实施例的第四方面,提供一种数据管理装置,应用于存储系统中的主机设备,包括:
第二发送模块,用于发送地址映射信息获取请求至所述存储系统中的各个目标存储节点;
第一接收模块,用于接收所述目标存储节点响应所述地址映射信息获取请求后发送的目标地址映射信息,所述目标地址映射信息包括所述目标存储节点按照目标磁盘阵列方法对数据进行处理后生成的数据逻辑卷和磁盘阵列间的地址映射信息;
第一访问模块,用于基于所述目标地址映射信息访问所述目标存储节点中的数据。
根据本发明实施例的第五方面,提供一种数据管理系统,包括主机设备、与所述主机设备连接的目标数量个目标存储节点;
所述主机设备,用于发送地址映射信息获取请求至各个所述目标存储节点;基于目标地址映射信息访问所述目标存储节点中的数据;
所述目标存储节点,用于响应于所述地址映射信息获取请求,发送所述目标存储节点的所述目标地址映射信息至所述主机设备,所述目标地址映射信息包括所述目标存储节点按照目标磁盘阵列方法对数据进行处理后生成的数据逻辑卷和磁盘阵列间的地址映射信息。
根据本发明实施例的第六方面,提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上任一所述数据管理方法的步骤。
根据本发明实施例的第七方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述数据管理方法的步骤。
本发明提供的一种数据管理方法,应用于存储系统中的目标存储节点,获取目标存储节点连接的主机设备发送的地址映射信息获取请求;响应于地址映射信息获取请求,发送目标存储节点的目标地址映射信息至主机设备,以使主机设备基于目标地址映射信息访问目标存储节点中的数据;其中,目标地址映射信息包括目标存储节点按照目标磁盘阵列方法对数据进行处理后生成的数据逻辑卷和磁盘阵列间的地址映射信息。
本发明的有益效果是:由存储节点自身对存储的数据进行磁盘阵列处理并生成相应的地址映射信息,保证了地址映射信息的可靠性,且避免了主机设备对所有存储节点的数据进行集中式的磁盘阵列处理,避免了单点性能瓶颈,此外,当有新的存储节点接入时,只需按照本发明方法便可以生成对应的地址映射信息来供主机设备进行数据访问,可扩展性好,适用性好。本发明提供的一种数据管理系统、装置、电子设备及计算机可读存储介质也解决了相应技术问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种数据管理方法的第一流程图;
图2为本发明实施例提供的一种数据管理方法的第二流程图;
图3为本发明实施例提供的一种数据管理方法的第三流程图;
图4为本发明实施例提供的一种数据管理方法的第四流程图;
图5为本发明实施例提供的一种数据管理装置的第一结构示意图;
图6为本发明实施例提供的一种数据管理装置的第二结构示意图;
图7为存储节点的架构示意图;
图8为数据管理系统的架构示意图;
图9为本发明实施例提供的一种电子设备的结构示意图;
图10为本发明实施例提供的一种电子设备的另一结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1为本发明实施例提供的一种数据管理方法的第一流程图。
本发明实施例提供的一种数据管理方法,应用于存储系统中的目标存储节点,可以包括以下步骤:
步骤S101:获取目标存储节点连接的主机设备发送的地址映射信息获取请求。
实际应用中,当存储系统中的主机设备需要访问存储系统中的存储节点中的数据时,可以先发送地址映射信息获取请求至对应的目标存储节点以开启数据访问操作。需要说明的是,主机设备的类型可以根据实际需要确定,比如主机设备可以为服务器、用户电脑等;此外,目标存储节点指的是参与数据访问操作的存储节点,且存储节点可以是独立的CPU(Central Processing Unit,中央处理器)、内存、网络接口和大容量的磁盘阵列等,用来存储应用服务器的数据等。
步骤S102:响应于地址映射信息获取请求,发送目标存储节点的目标地址映射信息至主机设备,以使主机设备基于目标地址映射信息访问目标存储节点中的数据;其中,目标地址映射信息包括目标存储节点按照目标磁盘阵列方法对数据进行处理后生成的数据逻辑卷和磁盘阵列间的地址映射信息。
实际应用中,目标存储节点在获取主机设备发送的地址映射信息获取请求后,当响应该地址映射信息获取请求后,便可以发送目标存储节点的目标地址映射信息至主机设备,以使主机设备基于目标地址映射信息访问目标存储节点中的数据。且目标存储节点中的目标地址映射信息包括目标存储节点按照目标磁盘阵列方法对数据进行处理后生成的数据逻辑卷和磁盘阵列间的地址映射信息,也即本发明中由目标存储节点对数据进行磁盘阵列(Redundant Arrays of Independent Disks,RAID)处理来生成相应的地址映射信息,其中目标存储节点所应用的目标磁盘阵列方法可以根据具体应用场景来确定,比如目标磁盘阵列方法可以为RAID1、RAID6等,本发明在此不做具体限定。
本发明提供的一种数据管理方法,应用于存储系统中的目标存储节点,获取目标存储节点连接的主机设备发送的地址映射信息获取请求;响应于地址映射信息获取请求,发送目标存储节点的目标地址映射信息至主机设备,以使主机设备基于目标地址映射信息访问目标存储节点中的数据;其中,目标地址映射信息包括目标存储节点按照目标磁盘阵列方法对数据进行处理后生成的数据逻辑卷和磁盘阵列间的地址映射信息。本发明的有益效果是:由存储节点自身对存储的数据进行磁盘阵列处理并生成相应的地址映射信息,保证了地址映射信息的可靠性,且避免了主机设备对所有存储节点的数据进行集中式的磁盘阵列处理,避免了单点性能瓶颈,此外,当有新的存储节点接入时,只需按照本发明方法便可以生成对应的地址映射信息来供主机设备进行数据访问,可扩展性好,适用性好。
请参阅图2,图2为本发明实施例提供的一种数据管理方法的第二流程图。
在前述实施例基础上,本发明实施例提供的一种数据管理方法,应用于存储系统中的目标存储节点,可以包括以下步骤:
步骤S201:获取目标存储节点连接的主机设备发送的地址映射信息获取请求。
步骤S202:响应于地址映射信息获取请求,发送目标存储节点的目标地址映射信息至主机设备,以使主机设备基于目标地址映射信息访问目标存储节点中的数据;其中,目标地址映射信息包括目标存储节点按照目标磁盘阵列方法对数据进行处理后生成的数据逻辑卷和磁盘阵列间的地址映射信息。
步骤S203:获取其他存储节点发送的镜像写请求。
步骤S204:响应于镜像写请求,缓存镜像写请求对应的镜像数据。
步骤S205:待按照目标磁盘阵列方法进行数据处理时,读回镜像数据进行处理。
实际应用中,除了主机设备会往存储节点上写数据之外,存储节点间也可能进行数据读写,比如一个存储节点需将自身的数据镜像到另一存储节点中,为了满足此种需求,目标存储节点还可以获取其他存储节点发送的镜像写请求;响应于镜像写请求,缓存镜像写请求对应的镜像数据;待按照目标磁盘阵列方法进行数据处理时,读回镜像数据进行处理,此时也即按照目标磁盘阵列方法将镜像数据进行冗余落盘。也即目标存储节点并非在获取镜像写请求后便进行镜像数据的写入,而是先缓存镜像数据,等待自身进行磁盘阵列处理时,再真正将镜像数据落盘,也即真正按照目标磁盘阵列方法将镜像数据写入自身,如此一来,可以避免I/O性能突增,保证I/O稳定性。
具体应用场景中,目标存储节点在缓存镜像写请求对应的镜像数据的过程中,可以通过日志写方式缓存镜像写请求对应的镜像数据至本地磁盘,以快速、条理化的缓存镜像数据。具体的,为了兼顾镜像数据的查询便捷性及磁盘消耗,可以确定镜像数据的第一标识信息及接收时刻信息;生成镜像数据的关键词;按照预设日志格式,基于第一标识信息、接收时刻信息、关键词生成镜像数据的镜像数据日志;对镜像数据进行压缩,得到压缩镜像数据;通过日志写方式缓存镜像数据日志及压缩镜像数据至本地磁盘等。
请参阅图3,图3为本发明实施例提供的一种数据管理方法的第三流程图。
在前述实施例基础上,本发明实施例提供的一种数据管理方法,应用于存储系统中的目标存储节点,可以包括以下步骤:
步骤S301:获取主机设备发送的待存储的目标数据。
步骤S302:获取目标磁盘阵列方法。
步骤S303:按照目标磁盘阵列方法对目标数据进行处理,得到校验冗余数据。
步骤S304:将校验冗余数据存入目标磁盘阵列中,目标磁盘阵列包括目标存储节点中的多个磁盘组组成的阵列。
步骤S305:生成目标数据的地址映射信息。
步骤S306:获取目标存储节点连接的主机设备发送的地址映射信息获取请求。
步骤S307:响应于地址映射信息获取请求,发送目标存储节点的目标地址映射信息至主机设备,以使主机设备基于目标地址映射信息访问目标存储节点中的数据;其中,目标地址映射信息包括目标存储节点按照目标磁盘阵列方法对数据进行处理后生成的数据逻辑卷和磁盘阵列间的地址映射信息。
实际应用中,目标存储节点在发送目标存储节点的目标地址映射信息至主机设备之前,还可以先通过磁盘阵列方法存储主机设备发送的数据,并生成相应的地址映射信息,也即可以获取主机设备发送的待存储的目标数据;获取目标磁盘阵列方法;按照目标磁盘阵列方法对目标数据进行处理,得到校验冗余数据;将校验冗余数据存入目标磁盘阵列中,目标磁盘阵列包括目标存储节点中的多个磁盘组组成的阵列;生成目标数据的地址映射信息。不难理解,当主机设备向多个目标存储节点并行发送对应的目标数据后,每个目标存储节点均可以对自身接收的目标数据进行磁盘阵列处理,最终便是存储节点并行对主机设备发送的目标数据进行磁盘阵列处理。
需要说明的是,目标存储节点可以支持多个目标磁盘阵列方法,且可以有多个目标磁盘阵列,也即可以视情况来将目标存储节点中的多个磁盘组划分为多个目标磁盘阵列方法对应的目标磁盘阵列,且实际应用中,可以综合根据目标磁盘阵列方法、数据类型及数据大小等来生成目标磁盘阵列,也即每类数据可以对应一个目标磁盘阵列,且目标磁盘阵列的大小与该类数据的数据大小及目标磁盘阵列方法的磁盘组需求量成正相关关系,比如存在类型1和类型2两类数据,类型1的数据大小预计为10G(Gigabyte,十亿字节),类型2的数据大小预计为30G,类型1的目标磁盘阵列方法至少需求3个磁盘组,类型2的目标磁盘阵列方法至少需求5个磁盘组,假设目标存储节点中共有16个磁盘组,则可以将3+(16-3-5)*10/(10+30)=5个磁盘组来生成类型1的数据的目标磁盘阵列,将5+(16-3-5)*30/(10+30)=11个磁盘组来生成类型2的数据的目标磁盘阵列。也即对于目标存储节点所需存储的每类数据,可以预估每类数据的数据量;确定每类数据进行磁盘阵列处理时需求的最小磁盘组数;确定目标存储节点的磁盘组总数量;确定该磁盘组总数量与所有最小磁盘组数间的差值;确定所有数据量的和值;对于每类数据,确定该类数据的数据量与和值的比值,确定该比值与差值的乘积值,将该乘积值与该类数据的最小磁盘组数的和值作为该类数据的目标数量值,随机选取目标数量值个磁盘组来生成该类数据的目标磁盘阵列。
具体应用场景中,目标存储节点在获取主机设备发送的待存储的目标数据之后,为了便于管理目标数据,还可以通过数据逻辑卷存储目标数据的信息。比如通过数据逻辑卷管理目标数据的标识、存储位置、大小等。
具体应用场景中,目标存储节点在按照目标磁盘阵列方法对目标数据进行处理,得到校验冗余数据之后,为了便于管理校验冗余信息,还可以通过校验冗余逻辑卷存储校验冗余数据的信息。比如通过校验冗余逻辑卷管理校验冗余数据的大小、标识、存储位置等,且在此过程中,为了缓解存储量,可以确定校验冗余数据在目标磁盘阵列中的存储位置;确定校验冗余数据的第二标识信息;生成存储位置和第二标识信息的哈希值;通过校验冗余逻辑卷存储哈希值等。
具体应用场景中,目标存储节点在通过校验冗余逻辑卷存储哈希值之后,还可以获取目标存储节点的目标信息,目标信息包括目标存储节点的名称、网络接口标识;基于目标信息、数据逻辑卷和校验冗余逻辑卷生成目标存储节点的系统元数据并存储,比如将系统元数据存储至目标位置等,以便借助该系统元数据对目标存储节点进行设备状态管理。类似的,目标存储节点在获取主机设备发送的待存储的目标数据之后,还可以获取目标存储节点的磁盘阵列初始化位图表、磁盘阵列重构位图表,其中磁盘阵列初始化位图表用于记录对应磁盘组是否初始化完成,磁盘阵列重构位图表用于记录对应磁盘组是否重构完成;获取目标存储节点的数据分块更新位图表和缓存数据分块索引表,缓存数据分块索引表包括记录数据分块的状态的索引表,以保证数据分块状态的元数据不会因为单个节点异常宕机而丢失;基于磁盘阵列初始化位图表、磁盘阵列重构位图表、数据分块更新位图表和缓存数据分块索引表生成数据分块元数据,以便借助该数据分块元数据进行数据分块状态管理。也即本发明中的元数据可以分为系统元数据和数据分块元数据,当然也可以根据实际需要来灵活调整元数据的类型,此外,还可以根据实际需要来调整元数据的更新方式,比如定时更新、实时更新等,本发明在此不做具体限定。
实际应用中,目标存储节点在获取主机设备发送的待存储的目标数据之后,获取目标磁盘阵列方法之前,为了避免占用主机设备的时间,还可以存储目标数据,并向主机设备发送已存储目标数据的响应信息,以使主机设备可以继续处理其他业务。在此过程中,为了便于主机设备和目标存储节点间交互该响应信息,目标存储节点在存储目标数据之后,可以将目标存储节点的标识信息转换为二进制的第一数值;生成表征响应信息的二进制的第二数值,且响应信息用于表征已存储目标数据;将第一数值和第二数值进行拼接,得到目标数值;向主机设备发送目标数值,相应的,主机设备在接收到该目标数值后,经解析便可以得到表征目标存储节点已存储目标数据的信息。
实际应用中,目标存储节点在将校验冗余数据存入目标磁盘阵列中的过程中,为了缓解写性能消耗,对于目标磁盘阵列中的每个磁盘组,可以确定磁盘组进行写聚合的数据量阈值;按照该数据量阈值对待写入磁盘组中的校验冗余数据进行聚合,得到聚合数据,将聚合数据写入磁盘组。
实际应用中,目标存储节点在将校验冗余数据存入目标磁盘阵列中的过程中,为了避免写性能消耗集中爆发,可以通过延迟写方式,将校验冗余数据存入目标磁盘阵列中。具体的,对于目标磁盘阵列中的每个磁盘组,可以确定磁盘组进行延迟写的时长值;在时长值的累积时间内,对待写入磁盘组中的校验冗余数据进行累积,得到累积数据;最后将累积数据一起存入目标磁盘阵列中。
实际应用中,目标存储节点在将校验冗余数据存入目标磁盘阵列中之后,还可以获取预设频率值;对于目标存储节点中的已访问数据,若已访问数据的访问频率大于预设频率值,则将已访问数据确定为活跃数据;在目标存储节点的本地磁盘上,通过日志缓存活跃数据,以便后续需要时直接从本地磁盘上读取活跃数据进行处理,提高活跃数据的处理效率。
具体应用场景中,目标存储节点将校验冗余数据存入目标磁盘阵列中之后,若磁盘组出现故障,则可以进入降级状态,以借助该降级状态表征磁盘组出现故障;待磁盘组恢复后,进入重构状态,对恢复后的磁盘组进行重构恢复,以借助该重构状态表征对磁盘组进行数据恢复,且在磁盘组的数据恢复成功后,也即重构完成后,可以进入正常状态,以借助该正常状态表征磁盘组可以正常使用。以简化数据冗余一致性的管理。
需要说明的是,具体应用场景中,对于存储系统而言,可以通过“心跳”机制来监控和管理所有的存储节点,存储节点自己监控内部的磁盘状态。当存储节点主动上报内部磁盘故障或者监测到某个存储节点失效时,系统进入降级状态,执行降级状态读写协议。存储节点的内部故障修复或者新的存储节点加入到系统中后,存储集群进入重构状态,执行重构状态读写协议。直到所有的数据重新恢复一致的冗余关系后,存储集群再恢复到正常状态。其中,存储系统为了保证系统的高可用性,会使用两个存储节点组成一个IO组,两个节点分别连接双端口硬盘的一个端口,IO组中的两个节点互为对端节点,一个或多个IO组便组成存储集群,存储集群中节点可相互通信。
具体应用场景中,目标存储节点在按照目标磁盘阵列方法对恢复后的磁盘组进行重构恢复的过程中,对于恢复后的磁盘组中的每个缺失数据,根据缺失数据的磁盘阵列冗余关系,在日志中查找,若查找到缺失数据,则将缺失数据写入恢复后的磁盘组中;若未查找到缺失数据,则在其他磁盘组中查找与缺失数据属于相同条带的目标数据分块和校验冗余分块,基于目标磁盘阵列方法、目标数据分块和校验冗余分块恢复出缺失数据,将缺失数据写入恢复后的磁盘组中。如此一来,若日志中记录的活跃数据是磁盘组中的缺失数据,则可以不必执行磁盘阵列重构,可以减少磁盘阵列冗余计算时数据分块的同步传输和计算负担。
具体应用场景中,为了保证目标存储节点和主机设备间交互目标地址映射关系的稳定性,目标存储节点还可以通过带外方式管理目标地址映射信息,具体的,在获取目标存储节点连接的主机设备发送的地址映射信息获取请求之前,可以基于设定的带外方式确定与主机设备间的第一逻辑信道和第二逻辑信道;相应的,后续通过第一逻辑信道获取主机设备发送的地址映射信息获取请求,通过第二逻辑信道发送目标地址映射信息至主机设备。其中,带外方式也即通过不同的物理通道传送管理控制信息和数据信息,两者完全独立,互不影响,假如将网络管理比喻成街道,那么带内管理就是一条行人和机动车共用的街道,而带外管理就是一条把人行道和机动车道分开的街道,当街道机动车道出现障碍物并造成机动车无法正常行驶时,可以通过人行道过去把障碍物移走来恢复机动车道的正常通行。
请参阅图4,图4为本发明实施例提供的一种数据管理方法的第四流程图。
本发明实施例提供的一种数据管理方法,应用于存储系统中的主机设备,可以包括以下步骤:
步骤S401:发送地址映射信息获取请求至存储系统中的各个目标存储节点。
步骤S402:接收目标存储节点响应地址映射信息获取请求后发送的目标地址映射信息,目标地址映射信息包括目标存储节点按照目标磁盘阵列方法对数据进行处理后生成的数据逻辑卷和磁盘阵列间的地址映射信息。
步骤S403:基于目标地址映射信息访问目标存储节点中的数据。
实际应用中,主机设备在基于目标地址映射信息访问目标存储节点中的数据的过程中,可以获取待访问数据的数据逻辑卷,比如获取用户请求的待访问数据的数据逻辑卷等,且该数据逻辑卷指的是用户所能看到的逻辑卷;基于待访问数据的数据逻辑卷和目标地址映射信息确定待访问数据的磁盘阵列;基于待访问数据的磁盘阵列生成相应的访问请求;并行发送访问请求至对应的目标存储节点以并行访问待访问数据,在此过程中,目标存储节点可以根据访问请求中待访问数据的磁盘阵列来读取待访问数据返回给主机设备等。
具体应用场景中,主机设备在并行发送访问请求至对应的目标存储节点以访问待访问数据的过程中,为保证并行准确性及可靠性,可以获取存储节点与虚拟磁盘间的对应关系;基于该对应关系,确定各个目标存储节点对应的目标虚拟磁盘;通过目标虚拟磁盘并行发送访问请求至对应的目标存储节点以访问待访问数据,此时,虚拟磁盘与目标存储节点间可以是一一对应的关系。
具体应用场景中,主机设备接收目标存储节点响应地址映射信息获取请求后发送的目标地址映射信息之后,为便于管理地址映射信息,还可以将目标地址映射信息缓存至地址映射表。
本发明提供的应用于主机设备的数据管理方法中的描述可以参阅应用于目标存储节点的数据管理方法中的相应描述,在此不再赘述。需要说明的是,整个存储系统的数据读性能不再受限于前端的主机设备等集中管理服务器,可以充分发挥多个存储节点的并发读写性能,系统扩展性高,可以避免出现前端集中式管理的读写性能瓶颈问题。
请参阅图5,图5为本发明实施例提供的一种数据管理装置的第一结构示意图。
本发明实施例提供的一种数据管理装置,应用于存储系统中的目标存储节点,可以包括:
第一获取模块11,用于获取目标存储节点连接的主机设备发送的地址映射信息获取请求;
第一发送模块12,用于响应于地址映射信息获取请求,发送目标存储节点的目标地址映射信息至主机设备,以使主机设备基于目标地址映射信息访问目标存储节点中的数据;
其中,目标地址映射信息包括目标存储节点按照目标磁盘阵列方法对数据进行处理后生成的数据逻辑卷和磁盘阵列间的地址映射信息。
本发明实施例提供的一种数据管理装置,应用于存储系统中的目标存储节点,还可以包括:
第二获取模块,用于获取其他存储节点发送的镜像写请求;
第一缓存模块,用于响应于镜像写请求,缓存镜像写请求对应的镜像数据;
第一读回模块,用于待按照目标磁盘阵列方法进行数据处理时,读回镜像数据进行处理。
本发明实施例提供的一种数据管理装置,应用于存储系统中的目标存储节点,第一缓存模块可以包括:
第一缓存单元,用于确定镜像数据的第一标识信息及接收时刻信息;生成镜像数据的关键词;按照预设日志格式,基于第一标识信息、接收时刻信息、关键词生成镜像数据的镜像数据日志;对镜像数据进行压缩,得到压缩镜像数据;通过日志写方式缓存镜像数据日志及压缩镜像数据至本地磁盘。
本发明实施例提供的一种数据管理装置,应用于存储系统中的目标存储节点,还可以包括:
第三获取模块,用于第一发送模块发送目标存储节点的目标地址映射信息至主机设备之前,获取主机设备发送的待存储的目标数据;
第四获取模块,用于获取目标磁盘阵列方法;
第一处理模块,用于按照目标磁盘阵列方法对目标数据进行处理,得到校验冗余数据;
第一写入模块,用于将校验冗余数据存入目标磁盘阵列中,目标磁盘阵列包括目标存储节点中的多个磁盘组组成的阵列;
第一生成模块,用于生成目标数据的地址映射信息。
本发明实施例提供的一种数据管理装置,应用于存储系统中的目标存储节点,还可以包括:
生成模块,用于第一写入模块将校验冗余数据存入目标磁盘阵列中之前,对于目标存储节点所需存储的每类目标数据,预估每类目标数据的数据量;确定每类目标数据进行磁盘阵列处理时需求的最小磁盘组数;确定目标存储节点的磁盘组总数量;确定磁盘组总数量与所有最小磁盘组数间的差值;确定所有目标数据的数据量的和值;对于每类目标数据,确定目标数据的数据量与和值的比值,确定比值与差值的乘积值,将乘积值与目标数据的最小磁盘组数的和值作为目标数据的目标数量值,随机选取目标数量值个磁盘组生成目标数据的目标磁盘阵列。
本发明实施例提供的一种数据管理装置,应用于存储系统中的目标存储节点,还可以包括:
第一存储模块,用于第一处理模块按照目标磁盘阵列方法对目标数据进行处理,得到校验冗余数据之后,确定校验冗余数据在目标磁盘阵列中的存储位置;确定校验冗余数据的第二标识信息;生成存储位置和第二标识信息的哈希值;通过校验冗余逻辑卷存储哈希值。
本发明实施例提供的一种数据管理装置,应用于存储系统中的目标存储节点,还可以包括:
第五获取模块,用于第二存储模块通过校验冗余逻辑卷存储哈希值之后,获取目标存储节点的目标信息,目标信息包括目标存储节点的名称、网络接口标识;
第二生成模块,用于基于目标信息、数据逻辑卷和校验冗余逻辑卷生成目标存储节点的系统元数据,将系统元数据存储至目标位置。
本发明实施例提供的一种数据管理装置,应用于存储系统中的目标存储节点,还可以包括:
第六获取模块,用于第三获取模块获取主机设备发送的待存储的目标数据之后,获取目标存储节点的磁盘阵列初始化位图表、磁盘阵列重构位图表;
第七获取模块,用于获取目标存储节点的数据分块更新位图表和缓存数据分块索引表,缓存数据分块索引表包括记录数据分块的状态的索引表;
第三生成模块,用于基于磁盘阵列初始化位图表、磁盘阵列重构位图表、数据分块更新位图表和缓存数据分块索引表生成数据分块元数据。
本发明实施例提供的一种数据管理装置,应用于存储系统中的目标存储节点,还可以包括:
第三存储模块,用于第三获取模块获取主机设备发送的待存储的目标数据之后,第四获取模块获取目标磁盘阵列方法之前,存储目标数据,将目标存储节点的标识信息转换为二进制的第一数值;生成表征响应信息的二进制的第二数值,响应信息用于表征已存储目标数据;将第一数值和第二数值进行拼接,得到目标数值;向主机设备发送目标数值。
本发明实施例提供的一种数据管理装置,应用于存储系统中的目标存储节点,第一写入模块可以包括:
第一写入单元,用于对于目标磁盘阵列中的每个磁盘组,确定磁盘组进行写聚合的数据量阈值;按照数据量阈值对待写入磁盘组中的校验冗余数据进行聚合,得到聚合数据,将聚合数据写入磁盘组。
本发明实施例提供的一种数据管理装置,应用于存储系统中的目标存储节点,第一写入模块可以包括:
第二写入单元,用于对于目标磁盘阵列中的每个磁盘组,确定磁盘组进行延迟写的时长值;在时长值的累积时间内,对待写入磁盘组中的校验冗余数据进行累积,得到累积数据;将累积数据存入目标磁盘阵列中。
本发明实施例提供的一种数据管理装置,应用于存储系统中的目标存储节点,还可以包括:
第二缓存模块,用于第一写入模块将校验冗余数据存入目标磁盘阵列中之后,获取预设频率值;对于目标存储节点中的已访问数据,若已访问数据的访问频率大于预设频率值,则将已访问数据确定为活跃数据;在目标存储节点的本地磁盘上,通过日志缓存活跃数据。
本发明实施例提供的一种数据管理装置,应用于存储系统中的目标存储节点,还可以包括:
第二处理模块,用于第一写入模块将校验冗余数据存入目标磁盘阵列中之后,若磁盘组出现故障,则进入降级状态;待磁盘组恢复后,进入重构状态,对恢复后的磁盘组进行重构恢复;待重构完成后,进入正常状态。
本发明实施例提供的一种数据管理装置,应用于存储系统中的目标存储节点,第二处理模块可以包括:
恢复单元,用于对于恢复后的磁盘组中的每个缺失数据,根据缺失数据的磁盘阵列冗余关系,在日志中查找,若查找到缺失数据,则将缺失数据写入恢复后的磁盘组中;若未查找到缺失数据,则在其他磁盘组中查找与缺失数据属于相同条带的目标数据分块和校验冗余分块,基于目标磁盘阵列方法、目标数据分块和校验冗余分块恢复出缺失数据,将缺失数据写入恢复后的磁盘组中。
本发明实施例提供的一种数据管理装置,应用于存储系统中的目标存储节点,还可以包括:
管理模块,用于第一获取模块获取目标存储节点连接的主机设备发送的地址映射信息获取请求之前,基于设定的带外方式确定与主机设备间的第一逻辑信道和第二逻辑信道;
相应的,第一获取模块具体用于:通过第一逻辑信道获取主机设备发送的地址映射信息获取请求;
第一发送模块具体用于:通过第二逻辑信道发送目标地址映射信息至主机设备。
请参阅图6,图6为本发明实施例提供的一种数据管理装置的第二结构示意图。
本发明实施例提供的一种数据管理装置,应用于存储系统中的主机设备,可以包括:
第二发送模块21,用于发送地址映射信息获取请求至存储系统中的各个目标存储节点;
第一接收模块22,用于接收目标存储节点响应地址映射信息获取请求后发送的目标地址映射信息,目标地址映射信息包括目标存储节点按照目标磁盘阵列方法对数据进行处理后生成的数据逻辑卷和磁盘阵列间的地址映射信息;
第一访问模块23,用于基于目标地址映射信息访问目标存储节点中的数据。
本发明实施例提供的一种数据管理装置,应用于存储系统中的主机设备,第一访问模块可以包括:
第一获取单元,用于获取待访问数据的数据逻辑卷;
第一确定单元,用于基于待访问数据的数据逻辑卷和目标地址映射信息确定待访问数据的磁盘阵列;
第一生成单元,用于基于待访问数据的磁盘阵列生成相应的访问请求;
第一发送单元,用于并行发送访问请求至对应的目标存储节点以访问待访问数据。
本发明实施例提供的一种数据管理装置,应用于存储系统中的主机设备,第一发送单元可以具体用于:获取存储节点与虚拟磁盘间的对应关系;基于对应关系,确定各个目标存储节点对应的目标虚拟磁盘;通过目标虚拟磁盘并行发送访问请求至对应的目标存储节点以访问待访问数据。
本发明实施例提供的一种数据管理装置,应用于存储系统中的主机设备,还可以包括:
第三缓存模块,用于第一接收模块接收目标存储节点响应地址映射信息获取请求后发送的目标地址映射信息之后,将目标地址映射信息缓存至地址映射表。
本发明还提供了一种数据管理系统,其均具有本发明实施例提供的一种数据管理方法具有的对应效果。本发明实施例提供的一种数据管理系统,包括主机设备、与主机设备连接的目标数量个目标存储节点;
主机设备,用于发送地址映射信息获取请求至各个目标存储节点;基于目标地址映射信息访问目标存储节点中的数据;
目标存储节点,用于响应于地址映射信息获取请求,发送目标存储节点的目标地址映射信息至主机设备,目标地址映射信息包括目标存储节点按照目标磁盘阵列方法对数据进行处理后生成的数据逻辑卷和磁盘阵列间的地址映射信息。
本发明提供的数据管理系统的相应描述可以参与上述实施例,在此不再赘述。
需要说明的是,具体应用场景中,可以根据需要来灵活调整存储节点的具体架构。比如存储节点的架构可以如图7所示,可以包括操作系统层、底层驱动、网络接口和处理器等,其中,操作系统层可以包括驱动程序、内核程序、文件系统、管理监控系统、分配模块、文件转换模块、数据管理模块,底层驱动可以包括元数据功能模块、缓存、冗余管理功能模块和磁盘组等;其中,文件转换模块、数据管理模块和分配模块配合工作,负责应用程序读写文件时,参数的解析以及文件到逻辑卷的转换;内核程序提供操作系统级别的逻辑功能;文件系统可以提供对文件的归类以及大文件和小文件的逻辑判断;操作系统层的驱动程序实现适配各个外设的代码逻辑功能;处理器执行汇编程序指令,用于处理主机I/O请求;磁盘组1构成1号RAID阵列,磁盘组2构成2号RAID阵列,以此类推,磁盘组N构成N号RAID阵列,1号RAID阵列、2号RAID阵列......N号RAID阵列一起构成RAID组;元数据功能模块负责管理应用程序的数据请求到存储节点上数据之间的映射;冗余管理功能模块维护和管理存储节点之间数据的冗余关系,保证不会因为单个存储节点的故障而导致用户数据不能访问或丢失,并提供数据重构机制和恢复策略等。进一步的,还需说明的是,存储节点中的元数据管理和冗余管理功能分离是本存储系统的特点,元数据功能模块在数据通道的前端可以以带外方式管理资源地址映射,冗余管理功能模块可以在数据通道的后端以RAID1/RAID6等分级存储方式管理存储节点上多个数据分块计算校验的冗余关系。
需要说明的是,具体应用场景中,可以根据需要来灵活调整数据管理系统的具体架构。比如数据管理系统的架构可以如图8所示,其中,应用程序上的网络磁盘从元数据功能模块获取地址映射关系后,缓存到地址映射表(mapping table),再将请求通过虚拟磁盘(Virtual Disk,VD)直接发送到对应的存储节点上的数据收发模块,根据相应状态的数据读写协议完成读写操作。且存储节点的镜像卷用于存储其他存储节点镜像过来的镜像数据,数据逻辑卷(data-volume)存储应用程序读写的原始数据,而校验冗余逻辑卷(parity-volume)存储不同存储节点间的RAID校验分块数据,数据收发模块接收处理存储节点发起的数据读写请求,当存储节点异步计算RAID时,进程(RAID-update)也向冗余数据收发模块发起校验块的读写请求,此外,若冗余管理功能模块要读取或者恢复存储节点上的数据,则直接访问存储节点的数据收发模块获取数据。此时,从主机用户上的应用程序读写数据角度看,存储集群可以是一个条带或镜像的系统(RAID6阵列以条带形式、RAID1以镜像形式),并发读写多个存储节点能充分发挥分布式存储系统的性能优势,而从存储节点上的数据存储关系看,是一个RAID系统,系统有较优的空间利用率和数据可靠性优势。
为了便于理解本申请的数据管理方案,现结合图8中的主机用户2来对其过程进行说明:
主机用户2中的应用程序在用户控制下获取待存储的目标数据,将目标数据分为3份目标子数据,并通过虚拟磁盘并行将目标子数据分别发送至存储节点2、3、4,假设将目标子数据1发送至存储节点2,将目标子数据2发送至存储节点3,将目标子数据3发送至存储节点4;
存储节点2通过自身的数据收发模块接收目标子数据1,借助数据逻辑卷存储目标子数据1的信息;
存储节点2通过自身的冗余管理功能模块对目标子数据1进行RAID处理,生成相应的校验冗余数据;
存储节点2通过自身的校验冗余逻辑卷存储校验冗余数据的信息,并通过冗余数据收发模块将校验冗余数据写入自身对应的磁盘组中;
存储节点2通过自身的元数据功能模块来根据目标子数据1的数据逻辑卷和RAID地址生成相应的地址映射信息并存储;
若需要进行数据重构,则存储节点2通过冗余管理功能模块中的进程向冗余数据收发模块读取非故障磁盘组中的相应数据,根据读取的相应数据进行数据重构并通过冗余数据收发模块写入恢复后的磁盘组中,存储节点3、存储节点4对目标子数据2、目标子数据3的处理过程与此类似;
主机用户2中的应用程序通过虚拟磁盘向存储节点2、存储节点3和存储节点4发送地址映射信息获取请求;
存储节点2、存储节点3和存储节点4分别将自身的地址映射信息传输给主机用户2中的应用程序;
主机用户2中的应用程序将接收的地址映射信息存入地址映射表;
主机用户2中的应用程序在用户控制下确定待访问数据,并通过地址映射表确定待访问数据的RAID地址;
主机用户2中的应用程序基于待访问数据的RAID地址生成相应的访问请求,并行发送访问请求至对应的存储节点2、存储节点3和存储节点4以访问待访问数据。
本发明还提供了一种电子设备及计算机可读存储介质,其均具有本发明实施例提供的一种数据管理方法具有的对应效果。请参阅图9,图9为本发明实施例提供的一种电子设备的结构示意图。
本发明实施例提供的一种电子设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如上任一实施例所描述数据管理方法的步骤。
请参阅图10,本发明实施例提供的另一种电子设备中还可以包括:与处理器202连接的输入端口203,用于传输外界输入的命令至处理器202;与处理器202连接的显示单元204,用于显示处理器202的处理结果至外界;与处理器202连接的通信模块205,用于实现电子设备与外界的通信。显示单元204可以为显示面板、激光扫描使显示器等;通信模块205所采用的通信方式包括但不局限于移动高清链接技术(Mobile High-Definition Link,MHL)、通用串行总线(Universal Serial Bus,USB)、高清多媒体接口(High-DefinitionMultimedia Interface,HDMI)、无线连接:无线保真技术(WIreless Fidelity,WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术。
本发明实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如上任一实施例所描述数据管理方法的步骤。
本发明所涉及的计算机可读存储介质包括随机存储器(Random Access Memory,RAM)、内存、只读存储器(Read-Only Memory,ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM(Compact Disc Read-Only Memory,只读光盘)、或技术领域内所公知的任意其它形式的存储介质。
本发明实施例提供的数据管理系统、装置、电子设备及计算机可读存储介质中相关部分的说明请参见本发明实施例提供的数据管理方法中对应部分的详细说明,在此不再赘述。另外,本发明实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (23)

1.一种数据管理方法,其特征在于,应用于存储系统中的目标存储节点,包括:
获取所述目标存储节点连接的主机设备发送的地址映射信息获取请求;
响应于所述地址映射信息获取请求,发送所述目标存储节点的目标地址映射信息至所述主机设备,以使所述主机设备基于所述目标地址映射信息访问所述目标存储节点中的数据;
其中,所述目标地址映射信息包括所述目标存储节点按照目标磁盘阵列方法对数据进行处理后生成的数据逻辑卷和磁盘阵列间的地址映射信息。
2.根据权利要求1所述的方法,其特征在于,还包括:
获取其他存储节点发送的镜像写请求;
响应于所述镜像写请求,缓存所述镜像写请求对应的镜像数据;
待按照所述目标磁盘阵列方法进行数据处理时,读回所述镜像数据进行处理。
3.根据权利要求2所述的方法,其特征在于,所述缓存所述镜像写请求对应的镜像数据,包括:
确定所述镜像数据的第一标识信息及接收时刻信息;
生成所述镜像数据的关键词;
按照预设日志格式,基于所述第一标识信息、所述接收时刻信息、所述关键词生成所述镜像数据的镜像数据日志;
对所述镜像数据进行压缩,得到压缩镜像数据;
通过日志写方式缓存所述镜像数据日志及所述压缩镜像数据至本地磁盘。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述发送所述目标存储节点的目标地址映射信息至所述主机设备之前,还包括:
获取所述主机设备发送的待存储的目标数据;
获取所述目标磁盘阵列方法;
按照所述目标磁盘阵列方法对所述目标数据进行处理,得到校验冗余数据;
将所述校验冗余数据存入目标磁盘阵列中,所述目标磁盘阵列包括所述目标存储节点中的多个磁盘组组成的阵列;
生成所述目标数据的所述地址映射信息。
5.根据权利要求4所述的方法,其特征在于,所述将所述校验冗余数据存入目标磁盘阵列中之前,还包括:
对于所述目标存储节点所需存储的每类所述目标数据,预估每类所述目标数据的数据量;
确定每类所述目标数据进行磁盘阵列处理时需求的最小磁盘组数;
确定所述目标存储节点的磁盘组总数量;
确定所述磁盘组总数量与所有所述最小磁盘组数间的差值;
确定所有所述目标数据的数据量的和值;
对于每类所述目标数据,确定所述目标数据的数据量与所述和值的比值,确定所述比值与所述差值的乘积值,将所述乘积值与所述目标数据的最小磁盘组数的和值作为所述目标数据的目标数量值,随机选取所述目标数量值个磁盘组生成所述目标数据的所述目标磁盘阵列。
6.根据权利要求4所述的方法,其特征在于,所述按照所述目标磁盘阵列方法对所述目标数据进行处理,得到校验冗余数据之后,还包括:
确定所述校验冗余数据在所述目标磁盘阵列中的存储位置;
确定所述校验冗余数据的第二标识信息;
生成所述存储位置和所述第二标识信息的哈希值;
通过校验冗余逻辑卷存储所述哈希值。
7.根据权利要求6所述的方法,其特征在于,所述通过校验冗余逻辑卷存储所述哈希值之后,还包括:
获取所述目标存储节点的目标信息,所述目标信息包括所述目标存储节点的名称、网络接口标识;
基于所述目标信息、所述数据逻辑卷和所述校验冗余逻辑卷生成所述目标存储节点的系统元数据;
将所述系统元数据存储至目标位置。
8.根据权利要求4所述的方法,其特征在于,所述获取所述主机设备发送的待存储的目标数据之后,还包括:
获取所述目标存储节点的磁盘阵列初始化位图表、磁盘阵列重构位图表;
获取所述目标存储节点的数据分块更新位图表和缓存数据分块索引表,所述缓存数据分块索引表包括记录数据分块的状态的索引表;
基于所述磁盘阵列初始化位图表、所述磁盘阵列重构位图表、所述数据分块更新位图表和所述缓存数据分块索引表生成数据分块元数据。
9.根据权利要求4所述的方法,其特征在于,所述获取所述主机设备发送的待存储的目标数据之后,所述获取所述目标磁盘阵列方法之前,还包括:
存储所述目标数据;
将所述目标存储节点的标识信息转换为二进制的第一数值;
生成表征响应信息的二进制的第二数值,所述响应信息用于表征已存储所述目标数据;
将所述第一数值和所述第二数值进行拼接,得到目标数值;
向所述主机设备发送所述目标数值。
10.根据权利要求4所述的方法,其特征在于,所述将所述校验冗余数据存入目标磁盘阵列中,包括:
对于所述目标磁盘阵列中的每个磁盘组,确定所述磁盘组进行写聚合的数据量阈值;
按照所述数据量阈值对待写入所述磁盘组中的所述校验冗余数据进行聚合,得到聚合数据;
将所述聚合数据写入所述磁盘组。
11.根据权利要求4所述的方法,其特征在于,所述将所述校验冗余数据存入目标磁盘阵列中,包括:
对于所述目标磁盘阵列中的每个磁盘组,确定所述磁盘组进行延迟写的时长值;
在所述时长值的累积时间内,对待写入所述磁盘组中的所述校验冗余数据进行累积,得到累积数据;
将所述累积数据存入所述目标磁盘阵列中。
12.根据权利要求4所述的方法,其特征在于,所述将所述校验冗余数据存入目标磁盘阵列中之后,还包括:
获取预设频率值;
对于所述目标存储节点中的已访问数据,若所述已访问数据的访问频率大于所述预设频率值,则将所述已访问数据确定为活跃数据;
在所述目标存储节点的本地磁盘上,通过日志缓存所述活跃数据。
13.根据权利要求12所述的方法,其特征在于,所述将所述校验冗余数据存入目标磁盘阵列中之后,还包括:
若所述磁盘组出现故障,则进入降级状态;
待所述磁盘组恢复后,进入重构状态,对恢复后的所述磁盘组进行重构恢复;
待重构完成后,进入正常状态。
14.根据权利要求13所述的方法,其特征在于,所述对恢复后的所述磁盘组进行重构恢复,包括:
对于恢复后的所述磁盘组中的每个缺失数据,根据所述缺失数据的磁盘阵列冗余关系,在所述日志中查找,若查找到所述缺失数据,则将所述缺失数据写入恢复后的所述磁盘组中;
若未查找到所述缺失数据,则在其他磁盘组中查找与所述缺失数据属于相同条带的目标数据分块和校验冗余分块,基于所述目标磁盘阵列方法、所述目标数据分块和所述校验冗余分块恢复出所述缺失数据,将所述缺失数据写入恢复后的所述磁盘组中。
15.根据权利要求1所述的方法,其特征在于,所述获取所述目标存储节点连接的主机设备发送的地址映射信息获取请求之前,还包括:
基于设定的带外方式确定与所述主机设备间的第一逻辑信道和第二逻辑信道;
所述获取所述目标存储节点连接的主机设备发送的地址映射信息获取请求,包括:
通过所述第一逻辑信道获取所述主机设备发送的所述地址映射信息获取请求;
所述发送所述目标存储节点的目标地址映射信息至所述主机设备,包括:
通过所述第二逻辑信道发送所述目标地址映射信息至所述主机设备。
16.一种数据管理方法,其特征在于,应用于存储系统中的主机设备,包括:
发送地址映射信息获取请求至所述存储系统中的各个目标存储节点;
接收所述目标存储节点响应所述地址映射信息获取请求后发送的目标地址映射信息,所述目标地址映射信息包括所述目标存储节点按照目标磁盘阵列方法对数据进行处理后生成的数据逻辑卷和磁盘阵列间的地址映射信息;
基于所述目标地址映射信息访问所述目标存储节点中的数据。
17.根据权利要求16所述的方法,其特征在于,所述基于所述目标地址映射信息访问所述目标存储节点中的数据,包括:
获取待访问数据的数据逻辑卷;
基于所述待访问数据的数据逻辑卷和所述目标地址映射信息确定所述待访问数据的磁盘阵列;
基于所述待访问数据的磁盘阵列生成相应的访问请求;
并行发送所述访问请求至对应的所述目标存储节点以访问所述待访问数据。
18.根据权利要求17所述的方法,其特征在于,所述并行发送所述访问请求至对应的所述目标存储节点以访问所述待访问数据,包括:
获取存储节点与虚拟磁盘间的对应关系;
基于所述对应关系,确定各个所述目标存储节点对应的目标虚拟磁盘;
通过所述目标虚拟磁盘并行发送所述访问请求至对应的所述目标存储节点以访问所述待访问数据。
19.一种数据管理装置,其特征在于,应用于存储系统中的目标存储节点,包括:
第一获取模块,用于获取所述目标存储节点连接的主机设备发送的地址映射信息获取请求;
第一发送模块,用于响应于所述地址映射信息获取请求,发送所述目标存储节点的目标地址映射信息至所述主机设备,以使所述主机设备基于所述目标地址映射信息访问所述目标存储节点中的数据;
其中,所述目标地址映射信息包括所述目标存储节点按照目标磁盘阵列方法对数据进行处理后生成的数据逻辑卷和磁盘阵列间的地址映射信息。
20.一种数据管理装置,其特征在于,应用于存储系统中的主机设备,包括:
第二发送模块,用于发送地址映射信息获取请求至所述存储系统中的各个目标存储节点;
第一接收模块,用于接收所述目标存储节点响应所述地址映射信息获取请求后发送的目标地址映射信息,所述目标地址映射信息包括所述目标存储节点按照目标磁盘阵列方法对数据进行处理后生成的数据逻辑卷和磁盘阵列间的地址映射信息;
第一访问模块,用于基于所述目标地址映射信息访问所述目标存储节点中的数据。
21.一种数据管理系统,其特征在于,包括主机设备、与所述主机设备连接的目标数量个目标存储节点;
所述主机设备,用于发送地址映射信息获取请求至各个所述目标存储节点;基于目标地址映射信息访问所述目标存储节点中的数据;
所述目标存储节点,用于响应于所述地址映射信息获取请求,发送所述目标存储节点的所述目标地址映射信息至所述主机设备,所述目标地址映射信息包括所述目标存储节点按照目标磁盘阵列方法对数据进行处理后生成的数据逻辑卷和磁盘阵列间的地址映射信息。
22.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至18任一项所述数据管理方法的步骤。
23.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至18任一项所述数据管理方法的步骤。
CN202311155059.3A 2023-09-08 2023-09-08 一种数据管理方法、系统、装置、设备及计算机存储介质 Active CN116893789B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311155059.3A CN116893789B (zh) 2023-09-08 2023-09-08 一种数据管理方法、系统、装置、设备及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311155059.3A CN116893789B (zh) 2023-09-08 2023-09-08 一种数据管理方法、系统、装置、设备及计算机存储介质

Publications (2)

Publication Number Publication Date
CN116893789A true CN116893789A (zh) 2023-10-17
CN116893789B CN116893789B (zh) 2024-01-19

Family

ID=88311081

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311155059.3A Active CN116893789B (zh) 2023-09-08 2023-09-08 一种数据管理方法、系统、装置、设备及计算机存储介质

Country Status (1)

Country Link
CN (1) CN116893789B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117806568A (zh) * 2024-02-29 2024-04-02 山东云海国创云计算装备产业创新中心有限公司 一种数据更新方法、装置、设备和存储介质
CN117806568B (zh) * 2024-02-29 2024-06-07 山东云海国创云计算装备产业创新中心有限公司 一种数据更新方法、装置、设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100100660A1 (en) * 2008-10-20 2010-04-22 Nec Corporation Network storage system, disk array device, host device, access control method, and data access method
CN103608784A (zh) * 2013-06-26 2014-02-26 华为技术有限公司 网络卷创建方法、数据存储方法、存储设备和存储系统
CN110868466A (zh) * 2019-11-13 2020-03-06 上海焜耀网络科技有限公司 一种用于分布式存储网络的存储方法、系统及设备
CN111538460A (zh) * 2020-04-20 2020-08-14 江苏芯盛智能科技有限公司 Raid功能实现方法及相关装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100100660A1 (en) * 2008-10-20 2010-04-22 Nec Corporation Network storage system, disk array device, host device, access control method, and data access method
CN103608784A (zh) * 2013-06-26 2014-02-26 华为技术有限公司 网络卷创建方法、数据存储方法、存储设备和存储系统
CN110868466A (zh) * 2019-11-13 2020-03-06 上海焜耀网络科技有限公司 一种用于分布式存储网络的存储方法、系统及设备
CN111538460A (zh) * 2020-04-20 2020-08-14 江苏芯盛智能科技有限公司 Raid功能实现方法及相关装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117806568A (zh) * 2024-02-29 2024-04-02 山东云海国创云计算装备产业创新中心有限公司 一种数据更新方法、装置、设备和存储介质
CN117806568B (zh) * 2024-02-29 2024-06-07 山东云海国创云计算装备产业创新中心有限公司 一种数据更新方法、装置、设备和存储介质

Also Published As

Publication number Publication date
CN116893789B (zh) 2024-01-19

Similar Documents

Publication Publication Date Title
JP6538780B2 (ja) 分散型データベースシステムのシステム全体のチェックポイント回避
JP6522812B2 (ja) 分散型データベースシステム用高速クラッシュ回復
US8850124B1 (en) Method, system, apparatus, and computer-readable medium for implementing caching in a storage system
JP6404907B2 (ja) 効率的な読み取り用レプリカ
US8539191B2 (en) Estimating space in a compressed volume
CN100405304C (zh) 基于存储区域网络的高速固态存储设备的实现方法
CN112632069B (zh) 哈希表数据存储管理方法、装置、介质和电子设备
KR20150036281A (ko) 스마트 메모리 버퍼
CN104765575A (zh) 信息存储处理方法
CN102207830A (zh) 一种缓存动态分配管理方法及装置
CN108733326B (zh) 一种磁盘处理方法及装置
CN108089825B (zh) 一种基于分布式集群的存储系统
WO2023015866A1 (zh) 一种数据写入方法、装置、系统、电子设备及存储介质
CN101751470B (zh) 用于存储和/或检索数据集的系统及其方法
CN104765574A (zh) 数据云端存储方法
US11379326B2 (en) Data access method, apparatus and computer program product
US20190347165A1 (en) Apparatus and method for recovering distributed file system
CN113703672A (zh) 一种超融合系统及其io请求下发方法、物理服务器
CN110928496B (zh) 一种在多控存储系统上的数据处理方法及装置
CN111309245A (zh) 一种分层存储写入方法和装置、读取方法和装置及系统
US11775194B2 (en) Data storage method and apparatus in distributed storage system, and computer program product
US20210223957A1 (en) Storage apparatus and storage control method
CN116893789B (zh) 一种数据管理方法、系统、装置、设备及计算机存储介质
CN115079936A (zh) 一种数据写入方法及装置
CN113051428A (zh) 一种摄像机前端存储备份的方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant