WO2023197670A1 - 一种分布式存储系统控制方法、装置及可读存储介质 - Google Patents

一种分布式存储系统控制方法、装置及可读存储介质 Download PDF

Info

Publication number
WO2023197670A1
WO2023197670A1 PCT/CN2022/141132 CN2022141132W WO2023197670A1 WO 2023197670 A1 WO2023197670 A1 WO 2023197670A1 CN 2022141132 W CN2022141132 W CN 2022141132W WO 2023197670 A1 WO2023197670 A1 WO 2023197670A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
copy
node
log
storage
Prior art date
Application number
PCT/CN2022/141132
Other languages
English (en)
French (fr)
Inventor
臧林劼
Original Assignee
苏州浪潮智能科技有限公司
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 苏州浪潮智能科技有限公司 filed Critical 苏州浪潮智能科技有限公司
Publication of WO2023197670A1 publication Critical patent/WO2023197670A1/zh

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/0604Improving or facilitating administration, e.g. storage management
    • 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
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Abstract

一种分布式存储系统控制方法、装置及可读存储介质,涉及信息技术领域。该分布式存储系统控制方法,通过在配置完成后,将节点中主副本的副本数据以及从副本的副本数据均写入日志中,同时通过日志完成数据存储指令的传输以及存储数据的写入,在主副本的存储数据写入完成后,反馈确认字符给客户端,客户端接收到确认字符后,进行从副本存储数据的写入。与以往采取同步主副本及从副本的方法相比,该方法对客户端与主副本进程、从副本进程间的存储数据写入过程是异步操作,在主副本传输至从副本的过程中,客户端无需等待,依然可以正常进行其他工作,无需同现有方式一样等待主副本及从副本的写入完成后的响应,从而大幅度降低了数据写入的时间成本。

Description

一种分布式存储系统控制方法、装置及可读存储介质
相关申请的交叉引用
本申请要求于2022年04月13日提交中国专利局,申请号为202210389331.3,申请名称为“一种分布式存储系统控制方法、装置及可读存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及信息技术领域,特别是涉及一种分布式存储系统控制方法、装置及可读存储介质。
背景技术
近年来,随着云计算、数字化转型,产生的数据量呈指数级增长,因此,对海量数据存储有新的技术要求,因此分布式存储系统的应用越来越广,为了保证数据的安全性,防止数据丢失,现有的分布式存储系统的数据写入通常采取主从副本复制方法,通过同步主从副本中的数据内容,从而达到对数据进行存储。
现有的分布式存储系统控制方法,数据对象经过转储文件分析工具(Crash)在程序编译时加入地址(MAP)文件,并且通过定位行号从而计算出要传入规则组(Placement Groups,PG)后,先对主副本进行写入,然后经过主副本将数据复制到从副本,从副本数据复制完成后通知主副本,当所有的从副本复制写入完成并通知主副本完成写入后,主副本才响应客户端,本次写入完成,因此,在副本同步复制达到一致性的过程,客户端的请求是处于等待阻塞状态的,会增加数据一致性同步过程的时延成本。
发明内容
本申请的目的是提供一种分布式存储系统控制方法,以便于解决当前的分布式存储系统在写入数据时,时间成本过高的问题。
为解决上述技术问题,本申请提供一种分布式存储系统控制方法,包括:
对分布式存储系统中的目标节点进行初始配置,其中,目标节点为分布式存储系统中的一个节点;
在目标节点接收到数据存储请求后,将目标节点的主副本的副本数据以及从副本的副本数据写入日志中,并将数据存储请求记录在日志中;
根据数据存储请求,将存储数据写入日志中,通过日志将存储数据写入主副本中并进行落盘;
当存储数据落盘成功后,控制主副本反馈确认字符给客户端;
在客户端接收到确认字符后,将存储数据写入到从副本中并进行落盘。
在一些实施例中,在根据数据存储请求,将存储数据写入日志中,通过日志将存储数据写入主副本中并进行落盘之前:
将存储数据写入备份日志中,其中,备份日志为通过单独分区挂载,保存在固态存储硬盘中的日志;
当将存储数据写入到从副本中并进行落盘过程中出现故障时,从备份日志中提取存储数据复制到替补主副本中;
将替补主副本中的存储数据复制到从副本中;
当存储数据写入到从副本中并进行落盘过程中未出现故障时,则进入将存储数据写入到从副本中并进行落盘的步骤。
在一些实施例中,在对分布式存储系统中的目标节点进行初始配置之前,还包括:
检测不同节点的节点资源,节点资源包括节点的内存使用率与CPU使用率,副本进程磁盘的unit比例;
根据节点资源,生成各节点的权重值,其中,节点资源中的内存使用率、CPU使用率和副本进程磁盘的unit比例均与权重值负相关;
根据各节点的权重值,确定各节点中的请求响应顺序,其中,权重值与请求响应顺序正相关;
选取权重值最高的节点为目标节点。
在一些实施例中,该方法还包括:
每隔预设时间,根据存储数据的落盘情况删除部分或全部日志。
在一些实施例中,该方法还包括:
当接收到数据读取请求时,将存储数据读取请求映射到权重值最高的节点中的从副本;
判断存储数据读取请求对应的日志是否存在;
若是,则从主副本中读取存储数据;
若否,则从从副本中读取存储数据。
在一些实施例中,对分布式存储系统中的目标节点进行初始配置包括:
控制客户端与Monitor建立链接,并获取集群的地址信息,发送集群的句柄给Monitor;
控制目标节点接收Monitor反馈的配置信息;
控制目标节点读取Monitor中的集群配置参数,并接收设置完成的配置文件。
在一些实施例中,该方法还包括:
当数据存储请求被响应后,控制从副本反馈确认字符给客户端。
为解决上述问题,本申请还提供一种分布式存储系统控制装置,包括:
配置模块,用于对目标节点进行分布式存储系统的初始配置,其中,目标节点为分布式存储系统中的一个节点;
主写入模块,用于在目标节点接收到数据存储请求后,将目标节点的主副本的副本数据以及从副本的副本数据写入日志中,并将数据存储请求记录在日志中;
发送模块,用于根据数据存储请求,将存储数据写入日志中,通过日志将存储数据写入主副本中并进行落盘;
反馈模块,用于当存储数据落盘成功后,控制主副本反馈确认字符给客户端;
从写入模块,用于在客户端接收到确认字符后,将存储数据写入到从副本中并进行落盘。
在一些实施例中,该装置还包括:
备份写入模块,用于将存储数据写入备份日志中,其中,备份日志为通过单独分区挂载,保存在固态存储硬盘中的日志;
提取模块,用于当将存储数据写入到从副本中并进行落盘过程中出现故障时,从备份日志中提取存储数据复制到替补主副本中;
复制模块,用于将替补主副本中的存储数据复制到从副本中。
在一些实施例中,该装置还包括:
检测模块,用于检测不同节点的节点资源,节点资源包括节点的内存使用率与CPU使用率,副本进程磁盘的unit比例;
权重生成模块,用于根据节点资源,生成各节点的权重值,其中,节点资源中的内存使用率、CPU使用率和副本进程磁盘的unit比例均与权重值负相关;
响应确定模块,用于根据各节点的权重值,确定各节点中的请求响应顺序,其中,权重值与请求响应顺序正相关;
选取模块,用于选取权重值最高的节点为目标节点。
在一些实施例中,该装置还包括:
删除模块,用于每隔预设时间,根据存储数据的落盘情况删除部分或全部日志。
在一些实施例中,该装置还包括:
映射模块,用于当接收到数据读取请求时,将存储数据读取请求映射到权重值最高的节点中的从副本;
判断模块,用于判断存储数据读取请求对应的日志是否存在,若是,开启主读取模块,若否,开启从读取模块;
主读取模块,用于从主副本中读取存储数据;
从读取模块,用于从从副本中读取存储数据。
为解决上述问题,本申请还提供一种分布式存储系统控制装置,包括存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现上述的分布式存储系统控制方法的步骤。
为解决上述问题,本申请还提供一种非易失性可读存储介质,包括非易失性可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的分布式存储系统控制方法的步骤。
本申请所提供的分布式存储系统控制方法,通过在配置完成后,将节点中的主副本的副本数据以及从副本的副本数据均写入日志中,同时通过日志完成数据存储指令的传输以及存储数据的写入,在主副本的存储数据写入完成落盘后,反馈确认字符给客户端,随后客户端接收到确认字符后,进行从副本的存储数据的写入,与以往采取同步主副本及从副本的方法相比,本申请中通过日志即异步非阻塞模式进行的数据写入,即请求者向接收者发起请求后,客户端不等待所有副本通知主副本的响应,可以继续其他操作,当写入操作完成以后,将完成状态和结果通知接收者,主副本再响应给客户端,因此,该过程对客户端与主副本进程,从副本进程间的存储数据写入过程是异步操作,因此在主副本传输至从副本的过程中,客户端无需等待,依然可以正常进行其他工作,无需同现有方式等待主副本及从副本的写入完成后的响应,从而大幅度降低了存储数据写入的时间成本。
本申请所提供的分布式存储系统控制装置,及计算机可读存储介质与上述分布式存储系统控制方法对应,因此有益效果同上。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种分布式存储系统控制方法;
图2为本申请实施例提供的一种数据传输故障处理方法的示意图;
图3为本申请实施例提供的一种分布式存储系统数据写入方法流程图;
图4为本申请实施例提供的一种分布式存储系统控制装置示意图;
图5为本申请另一实施例提供的分布式存储系统控制装置的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种分布式存储系统控制方法,以便于解决当前的分布式存储系统在写入数据时,时间成本过高的问题,核心在于,采取Master-Slave主从副本复制方法,但对于方法中的数据传输方式进行改进,通过异步的方式进行传输,从而达到解决上述问题的效果。
PG是一个逻辑的概念,一个PG包含多个对象存储程序(Object-based Storage,OSD)。引入PG这一层其实是为了更好的分配数据和定位数据,其中OSD为运行副本所需要的控制程序,在此后均以副本本身代指副本及其对应的OSD,相应的,PG则视为数据节点,为包含多个副本的数据节点,此后不再进行赘述。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
图1为本申请实施例提供的一种分布式存储系统控制方法,如图1所示,该方法包括:
S10:对分布式存储系统中的目标节点进行初始配置,其中,目标节点为分布式存储系统中的一个节点;
分布式存储系统,是将数据分散存储在多台独立的设备上。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。
“节点”一概念被应用于许多领域。在程序语言中,节点是XML文件中有效而完整的结构的最小单元。需要说明的是,本实施例中的分布式存储系统中的初始配置具体过程不进行限定,即对于其接口类型,以及相应的配置信息传输过程等等均不进行限定,一般情况下, 进行初始配置通常选用Object,Block和File System三种协议访问接口,通过客户端发送IO读写请求,进行Message消息处理。在本实施例中,对于目标节点本身以及目标节点的选取方法等等均不进行具体限定,可以理解的是,在本实施例中每个节点均可以被选择为目标节点,即响应该存储请求的节点,考虑到数据的正常传输,优选较为空闲的节点作为目标节点。
S11:在目标节点接收到数据存储请求后,将目标节点的主副本的副本数据以及从副本的副本数据写入日志中,并将数据存储请求记录在日志中;
根据分布式集群系统数据一致性保护策略(副本或纠删),其中,基于副本冗余的容错机制是将原始数据复制成多份,每一份称为一个副本。纠删是通过利用纠删码算法将原始的数据进行编码得到冗余,并将数据和冗余一并存储起来,以达到容错的目的,将k块原始的数据元素通过一定的编码计算,得到M块冗余元素,纠删策略的副本总数是K+M。
可以理解的是,节点作为副本的载体,因此一个节点中存在多个副本,在本实施例中对于主副本以及从副本本身的个数以及相应的副本数据等等不进行具体限定,在本实施例中的副本数据,即代指运行主副本以及运行从副本及相关的副本写入的数据,在此后不进行赘述。
需要说明的是,本申请中所提到的日志均指代计算机中的journal日志也就是常说的redo log,用于故障恢复和持久化,一般存放在数据文件的/journal文件夹下,此后不再赘述。在本实施例中,对于数据请求,以及其附带的存储数据内容等等均不进行具体限定,可以理解的是,该请求由客户端发送给节点后转存在日志中,对于请求所需要表达的具体操作指令,由日志进行记录,在此后不进行赘述。
S12:根据数据存储请求,将存储数据写入日志中,通过日志将存储数据写入主副本中并进行落盘;
可以理解的是,存储数据即本次存储请求对应的需要进行分布式存储处理的数据,在本实施例中对于存储数据的具体类型以及相应内容不进行限定。
需要说明的是,本实施例中的落盘,即指代将存储数据发送至存储磁盘中,便于长久存储,一般采取下刷的方式进行执行,通过存储磁盘进行长久化存储,在本实施例中,对于存储数据落盘的具体方法,以及存储数据本身的数据类型,内容等等均不进行限定,且可以理解的是,通过存储数据发送至日志,从而使通过日志进行转存,从而保证了传输数据操作本身的事务性和原子性。
S13:当存储数据落盘成功后,控制主副本反馈确认字符给客户端;
本实施例中对于主副本反馈的确认字符的具体内容不进行具体限定,需要说明的是,本处的存储数据落盘成功后,即主副本中的存储数据全部发送至存储磁盘中,对于如何确认存储数据是否落盘成功,可以调取主副本所在的日志的传输数据过程,或者直接对目标存储磁盘中的数据进行提取检验,以及对于传输信息接口中的传输日志进行调取检测等等,在本实施例中对于该方案不进行具体限定。
S14:在客户端接收到确认字符后,将存储数据写入到从副本中并进行落盘。
需要说明的是,通过上述方法,即可以达到异步非阻塞式的信息传输,即客户端是先接收到主副本传输数据落盘完成的信息后,再进行主副本到从副本的存储数据写入及落盘,在本实施例中对于客户端接收确认字符的方式不进行限定,可以理解的是,针对于S14步骤, 客户端接收到字符后通常反馈一个新的写入信息,从而提示节点程序开始对从副本进行存储数据的写入以及落盘。
本实施例所提供的分布式存储系统控制方法,通过在配置完成后,将节点中的主副本的副本数据以及从副本的副本数据均写入日志中,同时通过日志完成数据存储指令的传输以及存储数据的写入,在主副本的存储数据写入完成落盘后,反馈确认字符给客户端,随后客户端接收到确认字符后,进行从副本的存储数据的写入,与以往采取同步主副本及从副本的方法相比,本申请中通过日志即异步非阻塞模式进行的数据写入,即请求者向接收者发起请求后,客户端不等待所有副本通知主副本的响应,可以继续其他操作,当写入操作完成以后,将完成状态和结果通知接收者,主副本再响应给客户端,因此,该过程对客户端与主副本进程,从副本进程间的存储数据写入过程是异步操作,因此在主副本传输至从副本的过程中,客户端无需等待,依然可以正常进行其他工作,无需同现有方式等待主副本及从副本的写入完成后的响应,从而大幅度降低了存储数据写入的时间成本。
考虑到在数据传输的过程中,可能出现主副本故障的问题,因此本实施例中在针对故障场景下,充分考虑数据的完整性提出优选方案,在根据数据存储请求,将存储数据发送至日志,通过日志将存储数据写入主副本中并进行落盘之前,还包括:
将存储数据写入备份日志中,其中,备份日志为通过单独分区挂载,保存在固态存储硬盘中的日志;
当将存储数据写入到从副本中并进行落盘过程中出现故障时,从备份日志中提取存储数据复制到替补主副本中;
将替补主副本中的存储数据复制到从副本中;
当存储数据写入到从副本中并进行落盘过程中未出现故障时,则进入将存储数据写入到从副本中并进行落盘的步骤。
需要说明的是,实施例中阐述了备份日志即备份日志为通过单独分区挂载,保存在固态存储硬盘中的日志,其中固态存储硬盘即固态硬盘(Solid State Drives),简称固盘,固态硬盘(Solid State Drive)用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元组成。固态硬盘在接口的规范和定义、功能及使用方法上与传统硬盘的完全相同,在产品外形和尺寸上也完全与传统硬盘一致,但I/O性能相对于传统硬盘大大提升。
挂载(mounting)是指由操作系统使一个存储设备(诸如硬盘、CD-ROM或共享资源)上的计算机文件和目录可供用户通过计算机的文件系统访问的一个过程,因此容易理解的是,备份日志传输到固态存储硬盘中的存储数据一般是通过下刷的方式进行。
图2为本申请实施例提供的一种数据传输故障处理方法的示意图,如图2所示,主副本传输完成,落盘成功时,传输进程出现故障掉,例如主副本宕机等问题,此时从副本的数据还没有写入成功,根据分布式存储Monitor进程监控会选举出一个新的副本作为替补主副本,然后根据转存分区的journal进行数据重写,再进行副本数据的继续写入,转存记录journal日志机制,通过日志不仅能保证数据正确写入,同时,在发生故障时,可以通过日志恢复数据,保证了数据的完整性和安全性。
考虑到不同的节点所对应的性能不同,因此在选取目标节点时,应该优先选取空闲的节点,在此提出优选方案,在对分布式存储系统中的目标节点进行初始配置之前,还包括:
检测不同节点的节点资源,节点资源包括节点的内存使用率与CPU使用率,副本进程磁盘的unit比例;
根据节点资源,生成各节点的权重值,其中,节点资源中的内存使用率、CPU使用率和副本进程磁盘的unit比例均与权重值负相关;
根据各节点的权重值,确定各节点中的请求响应顺序,其中,权重值与请求响应顺序正相关;
选取权重值最高的节点为目标节点。
需要说明的是中央处理器(Central Processing Unit,CPU)是解释计算机指令以及处理计算机软件中的数据。电脑中所有操作都由CPU负责读取指令,对指令译码并执行指令的核心部件。因此CPU使用率即节点中执行的操作所占用CPU的百分比,内存使用率即节点中的磁盘存储内存的使用情况,副本进程磁盘的unit比例即一秒中有百分之多少的时间用于I/O操作,或者说一秒中有多少时间I/O队列是非空的,在本实施例中只限定权重值与上述三个参数负相关,对于具体如何计算得到权重值不进行限定。
可以理解的是,根据生成的权重值的数据,即可大致区分不同节点中的空闲状况,即权重值越大,节点越空闲,节点中的操作指令越小,同时节点中存储的数据越小,因此可以根据权重值从而选取出最空闲的节点作为目标节点,从而保证了存储数据发送的目标节点的业务处理速度以及相应的存储数据空间大小。
为了保证日志中的空间能够再次利用,在此提出优选方案,该方法还包括:
每隔预设时间,根据存储数据的落盘情况删除部分或全部日志。
需要说明的是,本步骤在数据存储传输过程中,或是数据存储传输完成后都可以执行,根据存储数据的落盘情况,即可以选择性删除日志,例如,可以设定当存储数据落盘一分钟后,删除该存储数据对应的日志,当识别到整个节点的完全完成一次存储数据传输及落盘后,可以直接删除该次存储数据传输的全部日志,从而达到保证存储空间的以及运行程序的有效利用的效果。
上述实施例中提出了在写入存储数据时,利用删除存储数据对应日志,从而达到保证存储空间以及运行程序的有效利用的效果,考虑到在读取数据时,可能存在主副本已经写入磁盘持久化存储后,但从副本还未写入磁盘的情况,造成读数据不一致的问题,因此在此提出优选方案,该方法还包括:
当接收到数据读取请求时,将存储数据读取请求映射到权重值最高的节点中的从副本;
判断存储数据读取请求对应的日志是否存在;
若是,则从主副本中读取存储数据;
若否,则从从副本中读取存储数据。
可以理解的是,本实施例中的映射为计算机中的地址映射,即为了保证CPU执行指令时可正确访问存储单元,将用户程序中的逻辑地址转换为运行时由机器直接寻址的物理地址,在本实施例中,即通过CPU读取磁盘中的存储数据的物理地址通过映射的方式与从副本中的逻辑地址对应,从而读取到需要的存储数据。
需要说明的是,在本实施例中,对于数据读取请求的发起对象,以及请求的具体内容和请求方式均不进行限定,可以理解的是,存储数据读取请求对应的日志即该存储数据对应的主副本及从副本的数据存储时所用的日志,从上述实施例中可以看出,当存储数据落盘完成 时,日志会被全部删除,因此检测日志是否存在,既可以判断存储数据是否全部落盘,从而保证读取到的存储数据的准确性。
上述实施例中,未对如何进行分布式存储系统中的目标节点进行初始配置具体限定,在此提出优选方案,对分布式存储系统中的目标节点进行初始配置包括:
控制客户端与Monitor建立链接,并获取集群的地址信息,发送集群的句柄给Monitor;
控制目标节点接收Monitor反馈的配置信息;
控制目标节点读取Monitor中的集群配置参数,并接收设置完成的配置文件。
集群是一种用于集团调度指挥通信的移动通信系统,主要应用在专业移动通信领域。该系统具有的可用信道可为系统的全体用户共用,具有自动选择信道功能,它是共享资源、分担费用、共用信道设备及服务的多用途、高效能的无线调度通信系统。
句柄,是整个Windows编程的基础。一个句柄是指使用的一个唯一的整数值,即一个4字节(64位程序中为8字节)长的数值,来标识应用程序中的不同对象和同类对象中的不同的实例,诸如,一个窗口,按钮,图标,滚动条,输出设备,控件或者文件等。应用程序能够通过句柄访问相应的对象的信息。
需要说明的是,Monitor即监视器,在本实施例中为分布式存储系统的监视程序,可以理解的是监视程序中记录之前写入的配置参数,以及对当前分布式存储系统的配置参数以及运行状态等等进行监视及检测。通过与Monitor的通讯,从而完成关于目标节点即本次分布式存储系统运行的初始配置,从而达到保证存储空间的以及运行程序的有效利用的效果。
考虑到上述实施例中提及,从副本也需要进行数据落盘处理,在此提出优选方案,该方法还包括:
当数据存储请求被响应后,控制从副本反馈确认字符给客户端。
图3为本申请实施例提供的一种分布式存储系统数据写入方法流程图,如图3所示,该方案为本申请中的一种较为完整的数据写入方法,最终,通过从副本反馈确认字符到客户端从而结束本次数据写入流程,以便于通知客户端进行结束进程或断电等后续处理,从而达到节省资源的效果。
在上述实施例中,对于分布式存储系统控制方法进行了详细描述,本申请还提供分布式存储系统控制装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
图4为本申请实施例提供的一种分布式存储系统控制装置示意图,该装置包括:
配置模块10,用于对目标节点进行分布式存储系统的初始配置,其中,目标节点为分布式存储系统中的一个节点;
主写入模块11,用于在目标节点接收到数据存储请求后,将目标节点的主副本的副本数据以及从副本的副本数据写入日志中,并将数据存储请求记录在日志中;
发送模块12,用于根据数据存储请求,将存储数据发送至日志,通过日志将存储数据写入主副本中并进行落盘;
反馈模块13,用于当存储数据落盘成功后,控制主副本反馈确认字符给客户端;
从写入模块14,用于在客户端接收到确认字符后,将存储数据写入到从副本中并进行落盘。
在一些实施例中,该装置还包括:
备份写入模块,用于将存储数据写入备份日志中,其中,备份日志为通过单独分区挂载,保存在固态存储硬盘中的日志;
提取模块,用于当将存储数据写入到从副本中并进行落盘过程中出现故障时,从备份日志中提取存储数据复制到替补主副本中;
复制模块,用于将替补主副本中的存储数据复制到从副本中。
在一些实施例中,该装置还包括:
检测模块,用于检测不同节点的节点资源,节点资源包括节点的内存使用率与CPU使用率,副本进程磁盘的unit比例;
权重生成模块,用于根据节点资源,生成各节点的权重值,其中,节点资源中的内存使用率、CPU使用率和副本进程磁盘的unit比例均与权重值负相关;
响应确定模块,用于根据各节点的权重值,确定各节点中的请求响应顺序,其中,权重值与请求响应顺序正相关;
选取模块,用于选取权重值最高的节点为目标节点。
在一些实施例中,该装置还包括:
删除模块,用于每隔预设时间,根据存储数据的落盘情况删除部分或全部日志。
在一些实施例中,该装置还包括:
映射模块,用于当接收到数据读取请求时,将存储数据读取请求映射到权重值最高的节点中的从副本;
判断模块,用于判断存储数据读取请求对应的日志是否存在,若是,开启主读取模块,若否,开启从读取模块;
主读取模块,用于从主副本中读取存储数据;
从读取模块,用于从从副本中读取存储数据。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例及其对应的有益效果请参见方法部分的实施例的描述,这里暂不赘述。
图5为本申请另一实施例提供的分布式存储系统控制装置的结构图,如图5所示,分布式存储系统控制装置包括:存储器20,用于存储计算机程序;
处理器21,用于执行计算机程序时实现如上述实施例中所提到的分布式存储系统控制方法的步骤。
本实施例提供的分布式存储系统控制装置可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用数字信号处理(Digital Signal Processor,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(Central Processing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还 可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的分布式存储系统控制方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括Windows、Unix、Linux等。数据203可以包括但不限于分布式存储系统控制方法中涉及的数据等。
在一些实施例中,分布式存储系统控制装置还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图5中示出的结构并不构成对分布式存储系统控制装置的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的分布式存储系统控制装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:上述实施例中涉及的分布式存储系统控制方法。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例及其对应的有益效果请参见方法部分的实施例的描述,这里暂不赘述。
最后,本申请还提供一种非易失性可读存储介质对应的实施例。非易失性可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个非易失性可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个方法实施例的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
由于非易失性可读存储介质部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例及其对应的有益效果请参见方法部分的实施例的描述,这里暂不赘述。
以上对本申请所提供的一种分布式存储系统控制方法、装置及可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要 素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (20)

  1. 一种分布式存储系统控制方法,其特征在于,包括:
    对分布式存储系统中的目标节点进行初始配置,其中,所述目标节点为所述分布式存储系统中的一个节点;
    在所述目标节点接收到数据存储请求后,将所述目标节点的主副本的副本数据以及从副本的副本数据写入日志中,并将所述数据存储请求记录在所述日志中;
    根据所述数据存储请求,将存储数据写入所述日志中,通过所述日志将所述存储数据写入所述主副本中并进行落盘;
    当所述存储数据落盘成功后,控制所述主副本反馈确认字符给客户端;
    在所述客户端接收到所述确认字符后,将所述存储数据写入到所述从副本中并进行落盘。
  2. 根据权利要求1所述的分布式存储系统控制方法,其特征在于,在所述根据所述数据存储请求,将存储数据写入所述日志中,通过所述日志将所述存储数据写入主副本中并进行落盘之前,还包括:
    将所述存储数据写入备份日志中,其中,所述备份日志为通过单独分区挂载,保存在固态存储硬盘中的日志;
    当将所述存储数据写入到所述从副本中并进行落盘过程中出现故障时,从所述备份日志中提取所述存储数据复制到替补主副本中;
    将所述替补主副本中的所述存储数据复制到所述从副本中;
    当所述存储数据写入到所述从副本中并进行落盘过程中未出现故障时,则进入所述将所述存储数据写入到所述从副本中并进行落盘的步骤。
  3. 根据权利要求1所述的分布式存储系统控制方法,其特征在于,在所述对分布式存储系统中的目标节点进行初始配置之前,还包括:
    检测不同节点的节点资源,所述节点资源包括所述节点的内存使用率与CPU使用率,副本进程磁盘的unit比例;
    根据所述节点资源,生成各所述节点的权重值,其中,所述节点资源中的所述内存使用率、所述CPU使用率和所述副本进程磁盘的unit比例均与所述权重值负相关;
    根据各所述节点的所述权重值,确定各所述节点中的请求响应顺序,其中,所述权重值与所述请求响应顺序正相关;
    选取所述权重值最高的节点为所述目标节点。
  4. 根据权利要求1所述的分布式存储系统控制方法,其特征在于,还包括:
    每隔预设时间,根据所述存储数据的落盘情况删除部分或全部所述日志。
  5. 根据权利要求3所述的分布式存储系统控制方法,其特征在于,还包括:
    当接收到所述数据读取请求时,将所述存储数据读取请求映射到所述权重值最高的节点中的从副本;
    判断所述存储数据读取请求对应的所述日志是否存在;
    若是,则从所述主副本中读取所述存储数据;
    若否,则从所述从副本中读取所述存储数据。
  6. 根据权利要求1至5任意一项所述的分布式存储系统控制方法,其特征在于,所 述对分布式存储系统中的目标节点进行初始配置包括:
    控制所述客户端与Monitor建立链接,并获取集群的地址信息,发送所述集群的句柄给所述Monitor;
    控制所述目标节点接收所述Monitor反馈的配置信息;
    控制所述目标节点读取所述Monitor中的集群配置参数,并接收设置完成的配置文件。
  7. 根据权利要求5所述的分布式存储系统控制方法,其特征在于,还包括:
    当所述数据存储请求被响应后,控制所述从副本反馈确认字符给所述客户端。
  8. 根据权利要求1所述的分布式存储系统控制方法,其特征在于,所述目标节点为空闲的节点。
  9. 根据权利要求1所述的分布式存储系统控制方法,其特征在于,在所述当所述存储数据落盘成功后,控制所述主副本反馈确认字符给客户端之前,还包括:
    通过调取所述主副本所在的日志的传输数据过程,确认所述存储数据是否落盘成功。
  10. 根据权利要求1所述的分布式存储系统控制方法,其特征在于,在所述当所述存储数据落盘成功后,控制所述主副本反馈确认字符给客户端之前,还包括:
    通过对目标存储磁盘中的数据进行提取检验,确认所述存储数据是否落盘成功。
  11. 根据权利要求1所述的分布式存储系统控制方法,其特征在于,在所述当所述存储数据落盘成功后,控制所述主副本反馈确认字符给客户端之前,还包括:
    通过对传输信息接口中的传输日志进行调取检测,确认所述存储数据是否落盘成功。
  12. 根据权利要求1所述的分布式存储系统控制方法,其特征在于,所述通过所述日志将所述存储数据写入所述主副本中并进行落盘,包括:
    通过所述日志将所述存储数据写入所述主副本中并采取下刷的方式进行落盘。
  13. 根据权利要求2所述的分布式存储系统控制方法,在所述从所述备份日志中提取所述存储数据复制到替补主副本中之前,还包括:
    通过分布式存储Monitor进程监控,选举出一个新的副本作为替补主副本。
  14. 根据权利要求5所述的分布式存储系统控制方法,其特征在于,所述根据各所述节点的所述权重值,确定各所述节点中的请求响应顺序,包括:
    根据各所述节点的所述权重值,确定各所述节点中的空闲状况,其中,所述节点的所述权重值越大,所述节点越空闲,所述节点中的操作指令越小,所述节点中存储的数据越小;
    根据各所述节点中的空闲状况,确定各所述节点中的请求响应顺序。
  15. 根据权利要求14所述的分布式存储系统控制方法,其特征在于,所述目标节点为最空闲的节点。
  16. 根据权利要求5所述的分布式存储系统控制方法,其特征在于,所述从所述从副本中读取所述存储数据,包括:
    读取所述存储数据的物理地址,并通过映射的方式,将所述存储数据的物理地址与所述从副本中的逻辑地址对应,从而读取到所述存储数据。
  17. 一种分布式存储系统控制装置,其特征在于,包括:
    配置模块,用于对目标节点进行分布式存储系统的初始配置,其中,所述目标节点为所述分布式存储系统中的一个节点;
    主写入模块,用于在所述目标节点接收到数据存储请求后,将所述目标节点的主副本的副本数据以及从副本的副本数据写入日志中,并将所述数据存储请求记录在所述日志中;
    发送模块,用于根据所述数据存储请求,将存储数据写入所述日志中,通过所述日志将所述存储数据写入主副本中并进行落盘;
    反馈模块,用于当所述存储数据落盘成功后,控制所述主副本反馈确认字符给客户端;
    从写入模块,用于在所述客户端接收到所述确认字符后,将所述存储数据写入到所述从副本中并进行落盘。
  18. 根据权利要求17所述的分布式存储系统控制装置,其特征在于,还包括:
    备份写入模块,用于将所述存储数据写入备份日志中,其中,所述备份日志为通过单独分区挂载,保存在固态存储硬盘中的日志;
    提取模块,用于当将所述存储数据写入到所述从副本中并进行落盘过程中出现故障时,从所述备份日志中提取所述存储数据复制到替补主副本中;
    复制模块,用于将所述替补主副本中的所述存储数据复制到所述从副本中。
  19. 一种分布式存储系统控制装置,其特征在于,包括存储器,用于存储计算机程序;
    处理器,用于执行所述计算机程序时实现如权利要求1至16任一项所述的分布式存储系统控制方法的步骤。
  20. 一种非易失性可读存储介质,其特征在于,所述非易失性可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至16任一项所述的分布式存储系统控制方法的步骤。
PCT/CN2022/141132 2022-04-13 2022-12-22 一种分布式存储系统控制方法、装置及可读存储介质 WO2023197670A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210389331.3 2022-04-13
CN202210389331.3A CN114637475A (zh) 2022-04-13 2022-04-13 一种分布式存储系统控制方法、装置及可读存储介质

Publications (1)

Publication Number Publication Date
WO2023197670A1 true WO2023197670A1 (zh) 2023-10-19

Family

ID=81951804

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/141132 WO2023197670A1 (zh) 2022-04-13 2022-12-22 一种分布式存储系统控制方法、装置及可读存储介质

Country Status (2)

Country Link
CN (1) CN114637475A (zh)
WO (1) WO2023197670A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117666970A (zh) * 2024-01-30 2024-03-08 杭州阿里云飞天信息技术有限公司 数据存储方法以及数据存储装置

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114637475A (zh) * 2022-04-13 2022-06-17 苏州浪潮智能科技有限公司 一种分布式存储系统控制方法、装置及可读存储介质
CN115168367B (zh) * 2022-09-07 2022-11-25 太极计算机股份有限公司 一种大数据的数据配置方法和系统
CN115904253B (zh) * 2023-01-09 2023-06-13 苏州浪潮智能科技有限公司 一种数据传输方法、装置、一种存储系统及设备和介质
CN116048429B (zh) * 2023-04-03 2023-07-04 创云融达信息技术(天津)股份有限公司 一种多副本读写方法及装置
CN116301663A (zh) * 2023-05-12 2023-06-23 新华三技术有限公司 一种数据存储方法、装置及主机
CN117149097B (zh) * 2023-10-31 2024-02-06 苏州元脑智能科技有限公司 一种分布式存储系统数据访问控制方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106406750A (zh) * 2016-08-23 2017-02-15 浪潮(北京)电子信息产业有限公司 一种数据操作方法及系统
CN108196978A (zh) * 2017-12-22 2018-06-22 新华三技术有限公司 数据存储方法、装置、数据存储系统及可读存储介质
CN111368002A (zh) * 2020-03-05 2020-07-03 广东小天才科技有限公司 一种数据处理方法、系统、计算机设备和存储介质
CN111813334A (zh) * 2020-06-04 2020-10-23 中国科学院上海微系统与信息技术研究所 一种Ceph的写性能优化和双控节点组合方法
CN113204530A (zh) * 2021-04-22 2021-08-03 平安消费金融有限公司 分布式文件系统的数据写入方法、装置、设备以及介质
CN114637475A (zh) * 2022-04-13 2022-06-17 苏州浪潮智能科技有限公司 一种分布式存储系统控制方法、装置及可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106406750A (zh) * 2016-08-23 2017-02-15 浪潮(北京)电子信息产业有限公司 一种数据操作方法及系统
CN108196978A (zh) * 2017-12-22 2018-06-22 新华三技术有限公司 数据存储方法、装置、数据存储系统及可读存储介质
CN111368002A (zh) * 2020-03-05 2020-07-03 广东小天才科技有限公司 一种数据处理方法、系统、计算机设备和存储介质
CN111813334A (zh) * 2020-06-04 2020-10-23 中国科学院上海微系统与信息技术研究所 一种Ceph的写性能优化和双控节点组合方法
CN113204530A (zh) * 2021-04-22 2021-08-03 平安消费金融有限公司 分布式文件系统的数据写入方法、装置、设备以及介质
CN114637475A (zh) * 2022-04-13 2022-06-17 苏州浪潮智能科技有限公司 一种分布式存储系统控制方法、装置及可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117666970A (zh) * 2024-01-30 2024-03-08 杭州阿里云飞天信息技术有限公司 数据存储方法以及数据存储装置
CN117666970B (zh) * 2024-01-30 2024-05-07 杭州阿里云飞天信息技术有限公司 数据存储方法以及数据存储装置

Also Published As

Publication number Publication date
CN114637475A (zh) 2022-06-17

Similar Documents

Publication Publication Date Title
WO2023197670A1 (zh) 一种分布式存储系统控制方法、装置及可读存储介质
WO2021238267A1 (zh) 基于集群文件系统的数据备份方法、装置及可读存储介质
US6950915B2 (en) Data storage subsystem
KR102547126B1 (ko) 블록 스토리지 시스템들을 위한 분산된 복제본
JP3762846B2 (ja) サーバのグループに関する作業負荷管理を行うデータ処理装置および方法
US10922135B2 (en) Dynamic multitasking for distributed storage systems by detecting events for triggering a context switch
US8473462B1 (en) Change tracking for shared disks
US11321291B2 (en) Persistent version control for data transfer between heterogeneous data stores
US10353872B2 (en) Method and apparatus for conversion of virtual machine formats utilizing deduplication metadata
US20090144345A1 (en) System and article of manufacture for consistent copying of storage volumes
JP2017539000A (ja) 格納クライアントファイルシステム用格納ボリュームの動的スケーリング
US20100185587A1 (en) Data movement with reduced service outage
US11880280B2 (en) Variable number and size of put operations for storage backup
CN109471699B (zh) 基于Qcow2镜像文件的差异位图特性的虚拟机增量备份系统
JP2005025683A (ja) 記憶システム及び記憶装置システム
US11604705B2 (en) System and method for cloning as SQL server AG databases in a hyperconverged system
US10872036B1 (en) Methods for facilitating efficient storage operations using host-managed solid-state disks and devices thereof
US7194562B2 (en) Method, system, and program for throttling data transfer
WO2021112909A1 (en) Managing replication state for deleted objects
US7117329B2 (en) Method of managing generation of backup data and storage control device used therefor
WO2021174698A1 (zh) 虚拟机快照创建方法、装置、存储介质及计算机设备
WO2024041433A1 (zh) 数据处理方法以及装置
WO2015055036A1 (zh) 一种备份对象的发送、备份方法、生产端、灾备端及系统
CN105760456A (zh) 一种保持数据一致性的方法和装置
CN114996053A (zh) 一种远程卷复制传输方法、系统、装置及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22937297

Country of ref document: EP

Kind code of ref document: A1