CN116048429B - 一种多副本读写方法及装置 - Google Patents

一种多副本读写方法及装置 Download PDF

Info

Publication number
CN116048429B
CN116048429B CN202310339477.1A CN202310339477A CN116048429B CN 116048429 B CN116048429 B CN 116048429B CN 202310339477 A CN202310339477 A CN 202310339477A CN 116048429 B CN116048429 B CN 116048429B
Authority
CN
China
Prior art keywords
data
storage units
target storage
copies
terminal
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.)
Active
Application number
CN202310339477.1A
Other languages
English (en)
Other versions
CN116048429A (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.)
Chuangyun Rongda Information Technology Tianjin Co ltd
Original Assignee
Chuangyun Rongda Information Technology Tianjin 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 Chuangyun Rongda Information Technology Tianjin Co ltd filed Critical Chuangyun Rongda Information Technology Tianjin Co ltd
Priority to CN202310339477.1A priority Critical patent/CN116048429B/zh
Publication of CN116048429A publication Critical patent/CN116048429A/zh
Application granted granted Critical
Publication of CN116048429B publication Critical patent/CN116048429B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0608Saving storage space on storage systems
    • 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/0629Configuration or reconfiguration of storage systems
    • 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
    • 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)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种多副本读写方法及装置,涉及计算机技术领域,包括以下步骤:对保存数据所需的副本数量、收集计算机状态信息的周期间隔和小文件阈值进行配置;根据配置的周期间隔,周期性的收集集群中多个计算机设备的状态信息,状态信息包括网络状态、负载状态、存储单元剩余容量以及宕机信息;接收终端携带数据的写请求,根据配置的副本数量以及收集到的状态信息选择多个目标存储单元;对选择的多个目标存储单元进行写操作,将终端写请求携带的数据保存至多个目标存储单元并记录多个保存结果;并做出相应的措施。本发明可自由配置副本数,根据收集的各种状态信息选择存储单元,可以异步的重写副本,保证数据的一致性,提高系统可靠性。

Description

一种多副本读写方法及装置
技术领域
本发明涉及计算机技术领域,特别是涉及 一种多副本读写方法及装置。
背景技术
当今互联网行业,数据和流量爆发式增长,由于单台计算机计算能力有限、存储空间有限,传统的单台计算机系统已经远远不能满足需求。而且一旦发生不可恢复的故障,该系统将无法继续提供服务,同时存储的数据会丢失,造成巨大的损失。
为了摆脱单台计算机资源的束缚,提高系统整体的可用性和安全性,大多数公司在研发的时候都采用分布式架构。而在分布式系统中数据一般采用多副本冗余的方式来保证数据安全和高可用。现有技术的多副本形式一般采用固定的副本数,比如三副本,且分为主副本、一到多个从副本,主副本和从副本之间工作模式为数据先保存到主副本,然后同步到从副本。副本数的设置比较固定,不能适配所有场景,比如有的用户计算机设备较少,就会将副本数设置为2,有的用户计算机设备比较多,对数据安全性要求高,就可以将副本数设置3或者4。多副本分布比较固定,不能智能的选择副本分布。
为了区分主从副本,数据先写到主副本,再从主副本同步到从副本。这里存在两种问题,问题1:假如数据写到主副本成功后就给终端返回成功,有可能在主副本同步到从副本的时候失败,导致数据只存一份在主副本上面,就会产生数据丢失的风险;问题2:假如数据写到主副本成功,且等主副本同步到从副本成功后,再给终端返回成功,这样响应时间就会加长。
发明内容
本发明提供了一种多副本读写方法及装置,可以解决现有技术中存在的问题。
本发明提供 一种多副本读写方法,该方法用于分布式架构中的数据保存,包括以下步骤:
对保存数据所需的副本数量、收集计算机设备状态信息的周期间隔和小文件阈值进行配置;
根据配置的周期间隔,周期性的收集集群中多个计算机设备的状态信息,所述状态信息包括网络状态、负载状态、存储单元剩余容量以及宕机信息;
接收终端携带数据的写请求,根据配置的副本数量以及收集到的状态信息选择多个目标存储单元;
对选择的多个目标存储单元进行写操作,将终端写请求携带的数据保存至多个目标存储单元并记录多个保存结果;
对多个保存结果进行判断,当失败的次数小于副本数量的一半时,记录失败的副本个数和成功的目标存储单元,异步的对新的目标存储单元进行智能选择并进行重写,给终端返回成功的信息;当失败的次数大于等于副本数量的一半时,删除上传成功的数据,给终端返回失败的信息。
优选的,当失败的次数小于副本数量的一半时,记录失败的副本个数和成功的目标存储单元的同时,还需要对已经成功的目标存储单元进行过滤。
优选的,根据配置的副本数量以及收集到的状态信息选择多个目标存储单元,包括以下步骤:
根据本计算设备的存储单元的剩余容量判断是否将本计算机设备的存储单元作为目标存储单元;
筛选出集群中未宕机的计算机设备;
过滤集群中网络状态差的计算机设备;
选择出负载状态低且存储单元剩余容量多的多个计算机设备作为剩余的目标存储单元。
优选的,所述将终端写请求携带的数据保存至多个目标存储单元时不区分主从副本,开启多个任务同时进行数据保存。
优选的,所述给终端返回成功的信息包括目标存储单元的全局唯一识别码UUID、路径和数据的大小。
优选的,还包括对多个目标存储单元进行读操作的方法,具体包括以下步骤:
接收终端携带多个目标存储单元的UUID、路径和数据的大小的读请求;
根据读请求携带的多个目标存储单元的UUID,首先判断目标存储单元是否存在于本计算机设备上;
当目标存储单元存在于本计算机设备时,根据路径直接读取对应的数据,并将数据返回给终端;
当目标存储单元不存在于本计算机设备时,再次根据读请求携带的多个目标存储单元的UUID筛选出多个目标计算机设备;
将读请求携带的数据的大小与小文件阈值进行比较,判断数据是否为小文件;
当数据是小文件时,智能的选择确定两个目标计算机设备,开启两个任务同时到目标计算机设备上读取对应路径的数据,将优先读取成功的数据返回给终端;当数据不是小文件时,从多个目标计算机设备中选取一个网络通畅的计算机设备读取对应路径的数据,并将数据返回给终端。
优选的,通过ping程序周期性的ping集群中计算机设备的IP地址,计算该周期内ping每个计算机设备的成功率,通过成功率来表示每个计算机设备的网络状态。
一种多副本读写装置,所述多副本读写装置集成在计算机设备内部,包括:
配置单元,对保存数据所需的副本数量、收集计算机设备状态信息的周期间隔和小文件阈值进行配置;
收集单元,用于根据配置的周期间隔,周期性的收集集群中多个计算机设备的状态信息,所述状态信息包括网络状态、负载状态、存储单元剩余容量以及宕机信息;
选择单元,用于接收终端携带数据的写请求,根据配置的副本数量以及收集到的状态信息选择多个目标存储单元;
写操作单元,用于对选择的多个目标存储单元进行写操作,将终端写请求携带的数据保存至多个目标存储单元并记录多个保存结果;
判断单元,用于对多个保存结果进行判断,当失败的次数小于副本数量的一半时,记录失败的副本个数和成功的目标存储单元,异步的对新的目标存储单元进行智能选择并进行重写,给终端返回成功的信息;当失败的次数大于等于副本数量的一半时,删除上传成功的数据,给终端返回失败的信息。
与现有技术相比,本发明的有益效果是:
用户可以自由配置副本数,提高用户的体验。根据收集的各种状态信息智能的选择存储单元,充分利用各个计算机节点资源。采用全部写成功或大于半数写成功返回写成功信息,如果小于半数的写失败,多副本读写装置也能异步的重写副本,保证数据的一致性,提高系统可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的多副本读写装置在分布式系统中的实施架构图;
图2为本发明实施例中一种多副本读写方法的流程图;
图3为本发明实施例中写操作的流程图;
图4为本发明实施例中读操作的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种多副本读写方法,用于分布式架构中的数据保存,包括以下步骤:
第一步:对保存数据所需的副本数量、收集计算机设备状态信息的周期间隔和小文件阈值进行配置。根据用户启动时配置的参数设置副本数量,如果不配置,副本数默认2,这里将副本数记为N。根据用户启动时配置的参数设置周期间隔,如果不配置,周期默认为30秒。根据用户启动时配置的参数设置小文件阈值,如果不配置,周期默认为1M。此配置作用在于提高读性能,如果文件的大小小于配置的阈值,则认为该文件为小文件。
第二步:根据配置的周期间隔,周期性的收集计算设备的状态信息,包括网络状态、负载状态、存储单元剩余容量以及宕机信息。
周期性的ping集群中其它计算机设备的IP地址,然后计算该周期内ping各个计算机设备的成功率,通过这个成功率来表示网络状态。ping是一种因特网包探索器,用于测试网络连接量的程序。
第三步:接收终端携带数据的写请求,根据配置的副本数量以及收集到的状态信息选择多个目标存储单元。具体的,存储单元可为硬盘。在接收到终端的数据后,首先判断本计算机设备的硬盘剩余容量,如果剩余容量还比较大,就优先选择本计算机设备的硬盘作为目标硬盘之一,原因是本计算机硬盘性能高,且节省带宽。如果选了本计算机硬盘则还需要选择N-1个硬盘,如果没有选本计算机硬盘,则还需要选择N个,这里将还需要选择的硬盘数称为M。根据收集到的状态信息,判断集群中计算机设备是否宕机,筛选出未宕机的计算机设备,再过滤掉网络状态很差的计算机设备,然后根据负载状态的高低以及硬盘剩余容量选出M个硬盘。经过上述过程,本次多副本保存的目标硬盘全部选出。之后就是进行数据保存了,这里为了提高性能,不区分主从副本,开启多个任务同时进行数据保存,如果是本计算机硬盘,则直接保存,如果是其它计算机节点的硬盘,则将数据通过集群内的网络转发到其它节点的计算机设备上进行保存。
第四步:对选择的多个目标存储单元进行写操作,将终端写请求携带的数据保存至多个目标存储单元并记录保存结果。
第五步:对保存结果进行判断。如果多副本保存时出现失败的情况,且失败次数小于N/2(如过N等于4,则这里意思是失败次数小于2),则记录失败的副本个数以及成功的硬盘,然后异步的对新的硬盘进行智能选择并进行重写,该选择过程除了之前的步骤外,还要过滤掉已经成功的硬盘,开启异步任务后就给终端返回成功的信息,该信息包含硬盘的UUID和保存在硬盘的路径以及数据的大小。这种情况返回成功,也是能保证数据安全性。这样可以降低终端的响应时长,提高写性能。
如果失败次数大于等于N/2,则异步开启任务删除上传成功的数据,开启异步任务之后给终端返回失败。这样就可以节省硬盘空间。
第六步:本发明的一种多副本读写方法还包括对目标存储单元进行数据读取的过程,即对多个目标存储单元进行读操作。这里以文件为例,终端在请求中携带多个硬盘UUID和文件路径以及数据的大小,根据携带的多个UUID,判断硬盘是否存在于本计算机上,如果存在,则直接从本计算机硬盘读取对应路径的文件,并将数据返回给终端。如果不存在,则根据UUID找到存有该文件的目标计算机设备,然后根据数据的大小判断该文件是否为小文件。一般用户在读取文件的时候,大文件注重吞吐量,小文件注重IOPS,IOPS是一个用于计算机存储设备(如硬盘(HDD)、固态硬盘(SSD)或存储区域网络(SAN))性能测试的量测方式,可以视为是每秒的读写次数。如果是小文件,则智能的选择确定两个目标计算机,开启2个任务同时到目标计算机设备上读取该文件,哪个任务先返回读取成功,就将该任务读取的文件返回给终端。如果不是小文件,则该装置通过收集到的信息,从目标计算机设备中选取一个网络通畅的计算机设备进行文件读取,然后返回给终端。
本发明的一种多副本读写装置集成在计算机内部,包括配置单元、收集单元、选择单元、写操作单元和判断单元。配置单元对保存数据所需的副本数量、收集计算机设备状态信息的周期间隔和小文件阈值进行配置。收集单元根据配置的周期间隔,周期性的收集计算设备的状态信息,状态信息包括网络状态、负载状态、存储单元剩余容量以及宕机信息。选择单元接收终端携带数据的写请求,根据配置的副本数量以及收集到的状态信息选择多个目标存储单元。写操作单元对选择的多个目标存储单元进行写操作,将终端写请求携带的数据保存至多个目标存储单元并记录多个保存结果。判断单元对对多个保存结果进行判断,当失败的次数小于副本数量的一半时,记录失败的副本个数和成功的目标存储单元,异步的对新的目标存储单元进行智能选择并进行重写,给终端返回成功的信息;当失败的次数大于等于副本数量的一半时,删除上传成功的数据,给终端返回失败的信息。
实施例1
参照图1,本发明的多副本读写装置位于分布式系统中,分布式系统的具体实施架构包括计算机设备 100、多副本读写装置101和存储单元102,将多副本读写装置101集成到计算机100中。存储单元102可以是本计算机硬盘,也可以是远端存储,比如对象存储、SAN存储、NAS存储等。集成后计算机设备100就可以用于多副本读写,主要用于周期性的收集各种状态,然后根据收集的各种状态智能的选择副本分布,进行多副本读写操作。
终端用于向多副本读写装置发送请求,终端可以是浏览器、实现该装置提供的访问接口的外部程序、shell命令。本发明可以包含一到多个计算机设备、一到多个存储单元和一到多个多副本读写装置。
参照图2,是本实施例的流程图,具体包括以下步骤:
S1、在集群中启动多副本读写装置,这里使用默认的副本数为2,也可以自由配置该副本数,现有的多副本技术,具有副本数局限性,采用固定副本数。
S2、该装置根据设置的周期间隔,周期性的收集计算设备的网络状态、负载状态、存储单元剩余容量以及宕机信息。该周期间隔可以30秒或1分钟,但是不建议太长。收集的目标分两类,一类是本计算机设备上的,本计算机设备上只收集存储单元剩余容量即可,因为如果能接收到终端的访问请求,表示该计算机设备没有宕机且网络正常。另外一类是集群中其它的计算机设备,该装置通过远程过程RPC技术访问集群中其它计算机,从而收集需要的各种信息。将收集的信息保存在该装置内部,本实施例保存在内存中,以供该装置后续的使用。
在本实施例中,该装置启动时会自动获取目标存储单元的UUID,UUID是个全局唯一识别码。
S3、收到终端的写请求后,该装置会从内存中获取收集的状态信息,智能的选择存储单元。
S4、对智能选择的存储单元进行多副本读写操作。
参照图3,具体的写操作包括以下步骤:
S10、收到终端携带数据的写请求。
S11、该装置首先判断本计算机的存储单元的剩余容量,如果剩余容量还比较大,就优先选择本计算机设备的存储单元作为目标存储单元之一,原因是本计算机存储单元性能高,且节省带宽。如果选了本计算机存储单元则还需要选择N-1个存储单元,如果没有选本计算机存储单元,则还需要选择N个,这里将还需要选择的存储单元数称为M。根据该装置收集到的信息,判断集群中计算机设备是否宕机,筛选出未宕机的计算机设备,再过滤掉网络状态很差的计算机设备,然后根据负载状态的高低以及存储单元剩余容量选出M个存储单元,最终多副本保存的目标存储单元全部选出。
判断本计算机存储单元是否符合条件的过程如下:从内存中获取到该装置周期性获取的各种状态,找到本计算机的存储单元信息,然后判断本计算机的存储单元的剩余容量是否大于某个值,比如10Gigabyte(吉字节)或者20Gigabyte,也可以判断剩余容量百分比是否大于某个百分比,比如存储单元整体容量为2Terabyte(太字节),剩余容量为1Terabyte,也就是说剩余容量百分比为50%,如果满足则将本计算机的存储单元作为存储单元之一,如果不满足则不选。
判断集群中其它计算机的存储单元是否符合条件的过程如下:从内存中获取到该装置周期性获取的各种状态,找到其他计算机的是否宕机的信息,选出未宕机的计算机。
剩余状态采用打分的方法进行最终选择,也就是按照收集的状态的不同,给定不同的分数,状态越有利于读写,给定的分数也越高。
找到其他计算机的网络状态信息,选出网络状态ping的成功率大于40%的,且进行网络状态ping成功率排序,排序规则按成功率从大到小排列。打分按照成功率的最终排序,排在越前面分数越高。
找到其他计算机的负载状态,按照负载从低到高排序,打分按照负载的最终排序,排在越前面分数越高。
找到其他计算机的存储单元剩余容量信息,可以按照之前的剩余容量或者剩余百分比选出满足条件的存储单元,然后按照剩余容量或者剩余百分比从大到小排列,排在越前面分数越高。
经过上述3次打分,最终会得到一个分数列表,然后从列表中选择需要的数量的存储单元。
S12、进行数据保存,这里为了提高性能,不区分主从副本,开启多个任务同时进行数据保存,如果是本计算机设备存储单元,则直接保存,如果是其它计算机设备的存储单元,则将数据通过集群内的网络转发到其它节点的该装置上进行保存,记录每个任务返回的状态,该状态可以知道本任务是否将数据成功写入到对应的存储单元。
S13、判断是否全部保存成功,如果不是全部保存成功,则在该装置内部记录失败的副本个数以及成功的存储单元的UUID,继续执行S14,否则执行S18;
S14、判断失败的次数是否小于N/2(如N表示副本数且等于4,则失败次数小于2),如果是则执行S15,否则执行S16;
S15、在该装置内部异步的进行智能选择存储单元进行重写补全副本数量,该选择过程除了之前的步骤外,还要过滤掉已经成功的存储单元,且选择的存储单元数量等于失败次数,继续执行S18;
S16、判断失败次数是否等于N,如果是则直接给终端返回失败,结束本流程。如果不是则执行S17;
S17、进入此分支表示失败次数大于等于N/2,则异步开启任务删除上传成功的数据,开启异步任务之后给终端返回失败,结束本流程。这样就可以节省存储单元的空间。
S18、数据全部保存成功,给终端返回成功的信息,该信息包含存储单元的UUID和保存在存储单元的路径以及数据的大小。
参照图4,读取的过程,这里以文件为例,包括以下步骤:
S20、终端在请求中携带多个存储单元的UUID和文件路径以及数据的大小,这些信息在终端保存成功后会返回;
S21、该装置根据多个目标存储单元的UUID,判断目标存储单元是否存在于本计算机设备上,如果不存在则执行S22,否则执行S26;
S22、则根据请求携带的UUID和周期性收集的计算机状态信息,找到存有该文件的目标计算机设备;
S23、根据请求携带的文件大小判断该文件的大小是否小于小文件阈值,该阈值在装置启动时可以配置,默认为1M。一般用户在读取文件的时候,大文件注重吞吐量,小文件注重IOPS。如果是小文件则执行S24,否则执行S25;
S24、通过智能选择副本的方式确定两个目标计算机设备,开启2个任务同时到目标计算机设备上通过该装置读取文件,哪个任务先返回读取成功,就将该任务读取的文件返回给终端,结束本流程。
S25、通过智能选择副本的方式确定一个目标计算机,通过目标计算机设备的该装置读取该文件,执行S27;
S26、则直接读取本计算机存储单元;
S27、返回给终端读取的文件,结束本流程。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (7)

1.一种多副本读写方法,其特征在于,该方法用于分布式架构中的数据保存,包括以下步骤:
对保存数据所需的副本数量、收集计算机设备状态信息的周期间隔和小文件阈值进行配置;
根据配置的周期间隔,周期性的收集集群中多个计算机设备的状态信息,所述状态信息包括网络状态、负载状态、存储单元剩余容量以及宕机信息;
接收终端携带数据的写请求,根据配置的副本数量以及收集到的状态信息选择多个目标存储单元;
对选择的多个目标存储单元进行写操作,将终端写请求携带的数据保存至多个目标存储单元并记录多个保存结果;
对多个保存结果进行判断,当失败的次数小于副本数量的一半时,记录失败的副本个数和成功的目标存储单元,异步的对新的目标存储单元进行智能选择并进行重写,给终端返回成功的信息;当失败的次数大于等于副本数量的一半时,删除上传成功的数据,给终端返回失败的信息;
所述将终端写请求携带的数据保存至多个目标存储单元时不区分主从副本,开启多个任务同时进行数据保存。
2.如权利要求1所述的一种多副本读写方法,其特征在于,当失败的次数小于副本数量的一半时,记录失败的副本个数和成功的目标存储单元的同时,还需要对已经成功的目标存储单元进行过滤。
3.如权利要求1所述的一种多副本读写方法,其特征在于,根据配置的副本数量以及收集到的状态信息选择多个目标存储单元,包括以下步骤:
根据本计算设备的存储单元的剩余容量判断是否将本计算机设备的存储单元作为目标存储单元;
筛选出集群中未宕机的计算机设备;
过滤集群中网络状态差的计算机设备;
选择出负载状态低且存储单元剩余容量多的多个计算机设备作为剩余的目标存储单元。
4.如权利要求1所述的一种多副本读写方法,其特征在于,所述给终端返回成功的信息包括目标存储单元的全局唯一识别码UUID、路径和数据的大小。
5.如权利要求4所述的一种多副本读写方法,其特征在于,还包括对多个目标存储单元进行读操作的方法,具体包括以下步骤:
接收终端携带多个目标存储单元的UUID、路径和数据的大小的读请求;
根据读请求携带的多个目标存储单元的UUID,首先判断目标存储单元是否存在于本计算机设备上;
当目标存储单元存在于本计算机设备时,根据路径直接读取对应的数据,并将数据返回给终端;
当目标存储单元不存在于本计算机设备时,再次根据读请求携带的多个目标存储单元的UUID筛选出多个目标计算机设备;
将读请求携带的数据的大小与小文件阈值进行比较,判断数据是否为小文件;
当数据是小文件时,智能的选择确定两个目标计算机设备,开启两个任务同时到目标计算机设备上读取对应路径的数据,将优先读取成功的数据返回给终端;当数据不是小文件时,从多个目标计算机设备中选取一个网络通畅的计算机设备读取对应路径的数据,并将数据返回给终端。
6.如权利要求1所述的一种多副本读写方法,其特征在于,通过ping程序周期性的ping集群中计算机设备的IP地址,计算该周期内ping每个计算机设备的成功率,通过成功率来表示每个计算机设备的网络状态。
7.一种多副本读写装置,其特征在于,所述多副本读写装置集成在计算机设备内部,包括:
配置单元,对保存数据所需的副本数量、收集计算机设备状态信息的周期间隔和小文件阈值进行配置;
收集单元,用于根据配置的周期间隔,周期性的收集集群中多个计算机设备的状态信息,所述状态信息包括网络状态、负载状态、存储单元剩余容量以及宕机信息;
选择单元,用于接收终端携带数据的写请求,根据配置的副本数量以及收集到的状态信息选择多个目标存储单元;
写操作单元,用于对选择的多个目标存储单元进行写操作,将终端写请求携带的数据保存至多个目标存储单元并记录多个保存结果;
判断单元,用于对多个保存结果进行判断,当失败的次数小于副本数量的一半时,记录失败的副本个数和成功的目标存储单元,异步的对新的目标存储单元进行智能选择并进行重写,给终端返回成功的信息;当失败的次数大于等于副本数量的一半时,删除上传成功的数据,给终端返回失败的信息;
所述将终端写请求携带的数据保存至多个目标存储单元时不区分主从副本,开启多个任务同时进行数据保存。
CN202310339477.1A 2023-04-03 2023-04-03 一种多副本读写方法及装置 Active CN116048429B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310339477.1A CN116048429B (zh) 2023-04-03 2023-04-03 一种多副本读写方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310339477.1A CN116048429B (zh) 2023-04-03 2023-04-03 一种多副本读写方法及装置

Publications (2)

Publication Number Publication Date
CN116048429A CN116048429A (zh) 2023-05-02
CN116048429B true CN116048429B (zh) 2023-07-04

Family

ID=86133606

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310339477.1A Active CN116048429B (zh) 2023-04-03 2023-04-03 一种多副本读写方法及装置

Country Status (1)

Country Link
CN (1) CN116048429B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105760556A (zh) * 2016-04-19 2016-07-13 江苏物联网研究发展中心 低延时高吞吐量的多副本文件读写优化方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101378406A (zh) * 2008-10-08 2009-03-04 南京邮电大学 一种数据网格副本的选择方法
WO2013093994A1 (ja) * 2011-12-19 2013-06-27 富士通株式会社 ストレージシステム、データリバランシングプログラム及びデータリバランシング方法
CN103530362B (zh) * 2013-10-12 2017-01-04 清华大学 一种用于多副本分布式系统的计算机数据读写方法
CN105550306A (zh) * 2015-12-14 2016-05-04 北京奇虎科技有限公司 多副本数据的读写方法及系统
CN107045426B (zh) * 2017-04-14 2020-12-15 北京粉笔蓝天科技有限公司 一种多副本读取方法和系统
WO2021226905A1 (zh) * 2020-05-14 2021-11-18 深圳市欢太科技有限公司 一种数据存储方法、系统及存储介质
CN111880740B (zh) * 2020-07-29 2024-05-24 平安科技(深圳)有限公司 数据处理方法、装置、计算机系统及可读存储介质
CN114489464A (zh) * 2020-10-27 2022-05-13 北京金山云网络技术有限公司 数据写入方法、装置和电子设备
CN112486942A (zh) * 2020-12-09 2021-03-12 北京金山云网络技术有限公司 一种文件数据的多副本存储方法及多副本存储系统
CN114637475A (zh) * 2022-04-13 2022-06-17 苏州浪潮智能科技有限公司 一种分布式存储系统控制方法、装置及可读存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105760556A (zh) * 2016-04-19 2016-07-13 江苏物联网研究发展中心 低延时高吞吐量的多副本文件读写优化方法

Also Published As

Publication number Publication date
CN116048429A (zh) 2023-05-02

Similar Documents

Publication Publication Date Title
JP5381336B2 (ja) 管理プログラム、管理装置および管理方法
US20090228669A1 (en) Storage Device Optimization Using File Characteristics
US7933938B2 (en) File storage system, file storing method and file searching method therein
US7890716B2 (en) Method of managing time-based differential snapshot
CN109947363B (zh) 一种分布式存储系统的数据缓存方法
US9996421B2 (en) Data storage method, data storage apparatus, and storage device
JP6024296B2 (ja) 情報処理装置、コピー制御プログラム、およびコピー制御方法
US20070061540A1 (en) Data storage system using segmentable virtual volumes
CN107329704B (zh) 一种缓存镜像方法及控制器
JP2009151519A (ja) ストレージ管理装置、ストレージ管理プログラムおよびストレージシステム
US20100235574A1 (en) Storage management apparatus, storage system, and storage management method
US7587552B2 (en) Computer system and performance tuning method
US9348711B2 (en) Copy control apparatus and copy control method
CN111857592A (zh) 基于对象存储系统的数据存储方法及装置、电子设备
WO2023207492A1 (zh) 一种数据处理方法、装置、设备及可读存储介质
CN103019623A (zh) 存储盘处理方法及装置
US7849264B2 (en) Storage area management method for a storage system
CN111309245A (zh) 一种分层存储写入方法和装置、读取方法和装置及系统
JP4322240B2 (ja) 再起動方法、システム及びプログラム
US9804781B2 (en) Storage media performance management
US8732531B2 (en) Information processing apparatus, method of controlling information processing apparatus, and control program
CN116048429B (zh) 一种多副本读写方法及装置
CN116414661B (zh) 分布式存储的固态硬盘处理方法和装置
KR102152724B1 (ko) 감시 시스템의 영상 관리 장치 및 방법
TW202147121A (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