CN111274320B - 分布式存储系统的控制方法、装置及分布式存储系统 - Google Patents
分布式存储系统的控制方法、装置及分布式存储系统 Download PDFInfo
- Publication number
- CN111274320B CN111274320B CN202010055251.5A CN202010055251A CN111274320B CN 111274320 B CN111274320 B CN 111274320B CN 202010055251 A CN202010055251 A CN 202010055251A CN 111274320 B CN111274320 B CN 111274320B
- Authority
- CN
- China
- Prior art keywords
- warehouse
- host
- working
- execution
- storage system
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种分布式存储系统的控制方法、装置及分布式存储系统,该方法应用于分布式存储系统的控制主机,分布式存储系统包括多个工作主机,控制主机为分布式存储系统中任意一个工作主机,该方法包括:接收客户端发送的对仓库进行操作的仓库操作请求;获取仓库与多个工作主机的关联信息,并根据关联信息确定执行主机;将仓库操作请求发送至执行主机,以使得执行主机执行仓库操作请求。通过上述方式,本申请能够协同多个工作主机同时工作来提高对仓库操作请求的处理能力,提高分布式存储系统的工作效率,可以满足高并发场景的应用需求。
Description
技术领域
本申请涉及数据存储技术领域,具体涉及一种分布式存储系统的控制方法、装置及分布式存储系统。
背景技术
GIT为分布式版本控制系统,主要提供文件存储和内容的获取,其具有以下优点:速度快、设计简单、可以同时允许几千个分支同时进行开发和切换以及避免出现集中式版本管理工具所出现的单点故障问题等优势;然而现有的GIT存储服务基本上都是单主机服务,由于单个主机的磁盘操作是有上限的,造成了同时支持的客户端请求的数量有限,无法支持高并发的应用场景。
发明内容
本申请提供一种分布式存储系统的控制方法、装置及分布式存储系统,能够提高处理性能,可应用在多并发的场景中。
第一方面,本申请提供一种分布式存储系统的控制方法,应用于分布式存储系统的控制主机,分布式存储系统包括多个工作主机,控制主机为分布式存储系统中任意一个工作主机,该方法包括:
接收客户端发送的对仓库进行操作的仓库操作请求;
获取仓库与多个工作主机的关联信息,并根据关联信息确定执行主机;
将仓库操作请求发送至执行主机,以使得执行主机执行仓库操作请求。
第二方面,本申请提供一种分布式存储系统的控制装置,应用于分布式存储系统的控制主机,分布式存储系统包括多个工作主机,控制主机为分布式存储系统中任意一个工作主机,该控制装置包括:
接收模块,用于接收客户端发送的对仓库进行操作的仓库操作请求;
选择模块,用于获取仓库与多个工作主机的关联信息,并根据关联信息确定执行主机;
发送模块,用于将仓库操作请求发送至执行主机,以使得执行主机执行仓库操作请求。
第三方面,本申请提供一种分布式存储系统,该分布式存储系统包括多个工作主机,控制主机为分布式存储系统中任意一个工作主机,其中,控制主机用于执行上述的分布式存储系统的控制方法。
本申请公开了一种分布式存储系统的控制方法、装置及分布式存储系统,通过控制主机可接收客户端发送的仓库操作请求,然后利用关联信息从多个工作主机中选择出执行主机,执行主机可对当前客户端发送的仓库操作请求及时处理;通过协同多个工作主机同时工作来提高对仓库操作请求的处理能力,提高分布式存储系统的工作效率,可以满足高并发场景的应用需求。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1是本申请提供的分布式存储系统的控制方法一实施例的流程示意图;
图2是本申请提供的分布式存储系统的控制方法另一实施例的流程示意图;
图3是图2所示的实施例中执行仓库操作请求后的流程示意图;
图4是图3所示的实施例中步骤32的流程示意图;
图5是本申请提供的分布式存储系统的控制装置一实施例的结构示意图;
图6是本申请提供的分布式存储系统的控制装置另一实施例的结构示意图;
图7是本申请提供的分布式存储系统一实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。另外,虽然在装置示意图中进行了功能模块的划分,但是在某些情况下,可以以不同于装置示意图中的模块划分。
本申请的实施例提供了一种分布式存储系统的控制方法、装置及分布式存储系统,可应用于数据存储技术领域。其中,控制方法可以应用于分布式存储系统的控制主机,该分布式存储系统包括多个工作主机,控制主机为该分布式存储系统中任意一个工作主机。其中,分布式存储系统具体可以为GIT存储系统或其他文件存储系统,工作主机可以为终端、服务器或其组合,终端可以是笔记本电脑、台式电脑、个人数字助理等电子设备;服务器可以为独立的服务器。
请参阅图1,图1是本申请提供的分布式存储系统的控制方法一实施例的流程示意图,该方法包括:
步骤11:接收客户端发送的对仓库进行操作的仓库操作请求。
该控制方法应用于控制主机,客户端可向控制主机发送仓库请求操作,该仓库请求操作可为读取操作或写入操作,即向仓库写入数据或读取仓库中的数据,仓库为操作请求的具体操作对象,可以为GIT仓库或其他存储系统文件。
步骤12:获取仓库与多个工作主机的关联信息,并根据关联信息确定执行主机。
分布式存储系统包括多个工作主机,控制主机为分布式存储系统中的任意一个工作主机,控制主机可与其他多个工作主机连接,相互之间可进行数据交互,控制主机可获取仓库与多个工作主机的关联信息,该关联信息包括仓库与控制主机及其他多个工作主机之间的关联关系,利用该关联关系可以从多个工作主机中选择出执行该仓库请求操作的条件最优的工作主机作为执行主机,具体地,该执行主机可以为当前待处理任务比较少的工作主机、已经处理过仓库操作请求的工作主机或性能比较高的工作主机。
具体地,控制主机可从缓存设备中获取到关联信息,该缓存设备可以为外设的缓存设备或者设置在控制主机内的缓存设备。
步骤13:将仓库操作请求发送至执行主机,以使得执行主机执行仓库操作请求。
控制主机确定执行该仓库请求操作的执行主机后,为了方便执行主机执行仓库操作请求,控制主机将该仓库操作请求转发给执行主机,此时,该仓库操作请求处于等待被该执行主机执行的状态。
在一些实施例中,控制主机将执行主机的信息返回给客户端。
例如,工作主机的数量为100个,编号分别为1-100,控制主机从这100个工作主机中选择第3个工作主机作为执行主机,可将该仓库操作请求转发给第3个工作主机,以使得第3个工作主机执行该仓库操作请求,控制主机将第3个工作主机的信息发送给客户端,以通知客户端执行该仓库操作请求的是第3个工作主机。
本实施例中控制主机通过根据获取到的仓库与多个工作主机的关联信息,从多个工作主机中选择出执行主机,以使得执行主机处理客户端当前发送的仓库操作请求,该控制方法能够在接收到多个仓库操作请求时,通过协同多个工作主机同时工作来提高对仓库操作请求的处理能力,提高分布式存储系统的工作效率,满足高并发场景的应用需求。
请参阅图2,图2是本申请提供的分布式存储系统的控制方法另一实施例的流程示意图,该方法包括:
步骤21:接收客户端发送的对仓库进行操作的仓库操作请求。
该控制方法应用于控制主机,客户端可向控制主机发送仓库请求操作,该仓库请求操作可为读取操作或写入操作,即向仓库写入数据或读取仓库中的数据,仓库为操作请求的具体操作对象,可以为GIT仓库或其他存储系统文件。
步骤22:根据仓库操作请求,获取仓库的仓库信息。
控制主机在接收到客户端发送的仓库操作请求后,根据该仓库操作请求可从缓存设备中获取与该仓库相关的仓库信息,仓库信息包括仓库名、仓库地址、仓库子文件或仓库中的数据。
步骤23:根据仓库信息判断仓库是否存在。
控制主机在获取到仓库信息后,可根据该仓库信息判断仓库是否已存在,如果与仓库操作请求对应的仓库不存在,则可以执行步骤24以生成该仓库;如果与仓库操作请求对应的仓库已经存在,则可以执行步骤25。
步骤24:若与仓库操作请求对应的仓库不存在,则进行初始化以生成仓库。
控制主机在根据仓库信息判断出仓库操作请求对应的仓库不存在时,可进行初始化生成新的仓库,以便对该新的仓库进行操作,具体地,初始化生成仓库为生成一个仓库文件夹,该文件夹包括配置文件、头文件和/或目录文件等。
步骤25:根据仓库操作请求,获取多个工作主机的信息,并从缓存设备中获取仓库的仓库操作记录,仓库操作记录包括仓库与多个工作主机的关联信息。
在仓库操作请求对应的仓库已经存在的情况下,可获取多个工作主机的信息,工作主机的信息包括每个工作主机的未处理请求数,未处理请求数为工作主机当前等待处理的所有操作请求的数量;并从缓存设备中获取该仓库的仓库操作记录,仓库操作记录包括该仓库信息、该仓库的历史仓库操作请求信息、历史仓库操作请求对应的执行主机信息以及仓库和执行主机之间的关联信息。
例如,根据对仓库1的操作请求,获取到仓库1的仓库操作记录如表1所示:
表1仓库1的仓库操作记录表
从表1中的信息可得出仓库1曾关联过工作主机A1、工作主机A2及工作主机A3,工作主机A1作为执行主机执行过操作请求Q1,工作主机A2执行过操作请求Q2,工作主机A3执行过操作请求Q3,但仓库1与工作主机A1、A2已经解除关联关系,目前仓库1与多个工作主机的关联信息为:仓库1与工作主机A3已关联,仓库1与工作主机A1、A2及其他多个工作主机(不包括工作主机A3)未关联。
步骤26:根据关联信息从多个工作主机中查询与仓库已关联的工作主机。
控制主机在获取到仓库与多个工作主机的关联信息后,可利用该关联信息从多个工作主机查找与当前的仓库操作请求对应的仓库已关联的工作主机,若查询到已关联的工作主机,则执行步骤27;若未查询到已关联的工作主机,则执行步骤28。
步骤27:若查询到已关联的工作主机,则确定已关联的工作主机为执行主机。
执行主机在接收到仓库操作请求后,需要构建数据操作环境,为了减少构建数据操作环境这一步骤,控制主机优先选择曾经处理过该仓库的操作请求的工作主机作为执行主机,即如果从关联信息中查询到已关联的工作主机,可选择与仓库操作请求对应的仓库已关联的工作主机作为执行主机。
如上例,根据仓库1与多个工作主机的关联信息可以确定工作主机A3为当前仓库操作请求的执行主机。
步骤28:若未查询到已关联的工作主机,则从多个工作主机中选择未处理请求数最少的工作主机作为执行主机,并将仓库与执行主机进行关联。
如果关联信息中不存在与仓库请求操作对应的仓库已关联的工作主机,可选择未处理请求数最少的工作主机作为执行主机,以减少操作请求等待执行的时间,提高存储系统工作效率,并将该仓库请求操作对应的仓库与执行主机关联起来。
如上例,如果仓库1与工作主机A3的关联状态也为未关联状态,则仓库1与工作主机A3的关联关系为未关联,而此时确定工作主机A4的未处理请求数最少,则选择工作主机A4作为当前仓库操作请求的执行主机,并将仓库与执行主机进行关联,即将仓库1与工作主机A4的绑定状态更新为已关联状态。
在一些实施例中,从多个工作主机中选择未处理请求数最少的工作主机作为执行主机的步骤还包括:分别获取与该仓库有过关联关系的工作主机中未处理请求数最少的工作主机和与该仓库未有过关联关系的工作主机中未处理请求数最少的工作主机,将两者的未处理请求数进行比较,根据比较值确定最终的执行主机。
具体地,可设置一个阈值,当比较结果小于阈值时,选择有过关联关系的工作主机中未处理请求数最少的工作主机作为执行主机;当比较结果大于阈值时,选择未有过关联关系的工作主机中未处理请求数最少的工作主机作为执行主机。
如上例,设置阈值为2,工作主机A1、A2、A3和仓库1有过关联关系,但目前都已解除关联关系,三者未处理请求数最少的工作主机为A1,A1的未处理请求数为600,其他与该仓库未有过关联关系的工作主机中,未处理请求数最少的工作主机为A4,A4的未处理请求数为500,将600和500进行比较得到比较结果为1.2,小于阈值2,则选择工作主机A1作为执行主机。
步骤29:将仓库操作请求发送至执行主机,以使得执行主机执行仓库操作请求。
控制主机在确定了执行该仓库请求操作的执行主机后,将该仓库操作请求转发给执行主机,以使得执行主机执行仓库操作请求。
在一些实施例中,控制主机在将仓库操作请求发送至执行主机后,可将执行主机的未处理请求数加一,并在执行主机执行仓库操作请求后,将执行主机的未处理请求数减一。
具体地,控制主机在将仓库操作请求发送至执行主机后,执行主机的未处理请求操作增加一个,相应地,控制主机将执行主机的未处理请求数加一;同时,在执行主机执行仓库操作请求后,执行主机的未处理请求操作减少一个,相应地,控制主机将执行主机的未处理请求数减一,根据仓库操作请求的执行,该执行主机的信息也进行相应地更新。
在一些实施例中,若控制主机接收到执行主机发送的获取该仓库的仓库信息的请求,将该仓库信息发送给执行主机,以使得执行主机执行仓库操作请求。
具体地,执行主机在接收到仓库操作请求后,执行主机先判断本机是否存在该仓库,若不存在该仓库,则向控制主机发送获取该仓库的仓库信息的请求,控制主机在接收到该获取仓库信息的请求后,将该仓库的仓库信息发送给执行主机,执行主机接收到该仓库信息后对该仓库进行操作,具体包括对仓库的文件进行读取或者写入操作,仓库信息得到更新。
某工作主机在被确定为某仓库的执行主机时,已经将该仓库和该工作主机进行关联,该仓库往后的所有操作请求都会自动分配到该工作主机,该工作主机关联的仓库越多,该工作主机的未处理请求数会随着关联仓库的增多而越来越大,该工作主机当前的处理负荷可能已经过量,为了平衡分布式存储系统中各工作主机的处理量,可根据实际情况随时调整各仓库和各工作主机的关联关系,从而提高系统性能。
在一些实施例中,如图3所示,为了根据工作主机实际情况随时调整各仓库和各工作主机的关联关系,在执行主机执行仓库操作请求后,控制主机还可执行步骤31-33:
步骤31:在执行主机执行仓库操作请求后,获取执行主机当前的未处理请求数。
执行主机在处理完仓库操作请求时,向控制主机发送该仓库操作请求已经处理完成的信息,控制主机在获取到执行主机发送的该仓库操作请求已经处理完成的信息时,可从缓存设备中获取执行主机当前的未处理请求数,以确定是否更改该仓库操作请求对应的仓库与该执行主机之间的关联关系。
步骤32:将当前的未处理请求数与预设值进行比较,并根据比较结果确定仓库和执行主机最终的关联关系。
将获取到的执行主机当前的未处理请求数与预设值进行比较,以判断执行主机当前的处理负荷是否比较大,从而确定仓库和执行主机最终的关联关系。
在一些实施例中,如图4所示,将当前的未处理请求数与预设值进行比较,并根据比较结果确定仓库和执行主机最终的关联关系的步骤包括步骤321-323:
步骤321:判断当前的未处理请求数是否大于预设值。
判断该执行主机当前的未处理请求数是否大于预设值,若大于则执行步骤322,若小于或等于则执行步骤323,预设的数量阈值可以为用户设定的值或存储系统默认值,比如1000。
步骤322:若当前的未处理请求数大于预设值,则解除仓库和执行主机的关联关系。
若执行主机当前的未处理请求数大于预设值,则表明该执行主机当前需要处理的操作请求较多,为了缓解该执行主机的处理量,控制主机可解除该仓库与执行主机之间的关联关系,以便之后再有该仓库的仓库操作请求时,选择其他执行条件更优的工作主机作为新的执行主机,而该执行主机则可以先处理完自身未处理的操作请求,在此过程中,该执行主机可以与多个仓库解除关联关系,直到该执行主机的未处理请求数减少到预设值时,才不再与仓库解除关联关系。
步骤323:若当前的未处理请求数不大于预设值,则保持仓库和执行主机的关联关系。
若执行主机当前的未处理请求数小于或等于预设值,则表示当前执行主机未处理的操作请求尚在允许范围以内,能够及时处理控制主机转发的仓库操作请求,此时则保持该仓库和该执行主机的关联关系。
在一些实施例中,控制主机还可以在确定执行主机之前,比较工作主机当前的未处理请求数,将未处理请求数符合预设值作为选择执行主机的其中一个条件。
步骤33:根据最终的关联关系,更新仓库与多个工作主机的关联信息。
在根据比较结果确定仓库与执行主机之间的关联关系后,可对关联信息进行更新,即如果仓库与执行主机之间的关联关系解除,则在关联信息修改二者之间的关联关系,以更新关联信息;如果仓库与执行主机之间的关联关系未解除,则不对关联信息进行更改。
在一些实施例中,在执行主机执行仓库操作请求后,如果控制主机接收到执行主机发送的仓库操作请求的操作结果,可根据操作结果更新仓库的仓库信息,并将操作结果发送给客户端。
执行主机在接收到控制主机转发的仓库操作请求后,可根据该仓库操作请求对该仓库进行操作,并在操作执行完后将操作结果发送至控制主机,控制主机可将该操作结果发送至客户端,该操作结果包括操作完成标识和/或操作后的仓库,该操作完成标识用于表示已经完成对仓库的操作,具体地,操作完成标识还包括操作成功和操作失败两种,控制主机根据操作结果对该仓库的仓库信息进行更新。
在一具体的实施例中,执行主机可在对仓库操作请求处理完毕后,先发送操作完成标识给控制主机,然后在其空闲时推送操作后的仓库信息给控制主机,实现数据的同步;可以理解地,在其他实施例中,执行主机也可同时发送操作完成标识和操作后的仓库信息给控制主机。
本实施例提供一种分布式存储系统的控制方法,控制主机可根据获取到的该仓库和多个主机的关联信息,选择已关联的或当前未处理请求数最少的工作主机作为执行主机来处理仓库操作请求;通过判别各工作主机的实际情况,选择执行条件最优的工作主机作为执行主机来执行仓库操作请求,充分利用了多主机并发的工作优势,能够在接收到多个仓库操作请求时,通过协同多个工作主机同时工作来提高对仓库操作请求的处理能力,提高分布式存储系统的工作效率,满足高并发场景的应用需求。
请参阅图5,图5是本申请提供的分布式存储系统的控制装置一实施例的结构示意图,分布式存储系统的控制装置50,应用于分布式存储系统的控制主机,分布式存储系统包括多个工作主机,控制主机为分布式存储系统中任意一个工作主机,控制装置50包括:接收模块501、选择模块502以及发送模块503。
接收模块501用于接收客户端发送的对仓库进行操作的仓库操作请求。
选择模块502,用于获取仓库与多个工作主机的关联信息,并根据关联信息确定执行主机。
发送模块503,用于将仓库操作请求发送至执行主机,以使得执行主机执行仓库操作请求。
本实施例中的分布式存储系统的控制装置50可通过协同多个工作主机同时工作来提高对仓库操作请求的处理能力,能够在接收到多个仓库操作请求时将仓库操作请求转移至合适的工作主机进行处理,满足高并发场景的应用需求。
请参阅图6,图6是本申请提供的分布式存储系统的控制装置另一实施例的结构示意图,分布式存储系统的控制装置60包括:接收模块601、信息获取模块602、仓库判断模块603、仓库生成模块604、记录获取模块605、主机查询模块606以及发送模块607。
接收模块601,用于接收客户端发送的对仓库进行操作的仓库操作请求。
信息获取模块602,用于根据仓库操作请求,获取仓库的仓库信息。
仓库判断模块603,用于根据仓库信息判断仓库是否存在。
仓库生成模块604,用于在仓库不存在时进行初始化以生成仓库。
记录获取模块605,用于获取多个工作主机的信息,并从缓存设备中获取仓库的仓库操作记录,其中,工作主机的信息包括工作主机的未处理请求数,仓库操作记录包括仓库与多个工作主机的关联信息。
主机查询模块606,用于根据关联信息从多个工作主机中查询与仓库已关联的工作主机;若查询到已关联的工作主机,则确定已关联的工作主机为执行主机;若未查询到已关联的工作主机,则从多个工作主机中选择未处理请求数最少的工作主机作为执行主机,并将仓库与执行主机进行关联。
发送模块607,用于将仓库操作请求发送至执行主机,以使得执行主机执行仓库操作请求。
在一些实施例中,如图6所示,发送模块607包括加减模块6071与仓库发送模块6072。
加减模块6071,用于将仓库操作请求发送至执行主机后,将执行主机的未处理请求数加一。
仓库发送模块6072,用于在接收到执行主机获取仓库的仓库信息的请求时,将仓库信息发送给执行主机,以使得执行主机执行仓库操作请求。
在一些实施例中,加减模块6071还用于在执行主机执行仓库操作请求后,将执行主机的未处理请求数减一。
在一些实施例中,如图6所示,控制装置60还包括数量获取模块608、数量判断模块609以及信息更新模块610。
数量获取模块608,用于在执行主机执行仓库操作请求后,获取执行主机当前的未处理请求数。
数量判断模块609,用于将当前的未处理请求数与预设值进行比较,并根据比较结果确定仓库和执行主机最终的关联关系。
信息更新模块610,用于根据最终的关联关系,更新仓库与多个工作主机的关联信息。
在一些实施例中,数量判断模块609还用于判断当前的未处理请求数是否大于预设值;若当前的未处理请求数大于预设值,则解除仓库和执行主机的关联关系;若当前的未处理请求数不大于预设值,则保持仓库和执行主机的关联关系。
在一些实施例中,接收模块601还用于在执行主机执行仓库操作请求后,接收执行主机发送的仓库操作请求的操作结果。
信息更新模块610还用于根据操作结果更新仓库的仓库信息,并将操作结果发送给客户端。
请参阅图7,图7是本申请提供的分布式存储系统一实施例的结构示意图,分布式存储系统70包括多个工作主机71,控制主机711为分布式存储系统中任意一个工作主机,控制主机711用于执行上述实施例中的分布式存储系统的控制方法。
在本申请所提供的几个实施方式中,应该理解到,所揭露的方法以及设备,可以通过其它的方式实现。例如,以上所描述的设备实施方式仅仅是示意性的,例如,功能模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施方式方案的目的。
另外,在本申请各个实施方式中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
以上仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (9)
1.一种分布式存储系统的控制方法,其特征在于,应用于所述分布式存储系统的控制主机,所述分布式存储系统包括多个工作主机,所述控制主机为所述分布式存储系统中任意一个工作主机,所述方法包括:
接收客户端发送的对仓库进行操作的仓库操作请求;
获取所述仓库与所述多个工作主机的关联信息,并根据所述关联信息确定执行主机;
将所述仓库操作请求发送至所述执行主机,以使得所述执行主机执行所述仓库操作请求;
所述获取所述仓库与所述多个工作主机的关联信息,并根据所述关联信息确定执行主机,包括:
根据所述仓库操作请求,获取所述多个工作主机的信息,并从缓存设备中获取所述仓库的仓库操作记录,其中,所述工作主机的信息包括所述工作主机的未处理请求数,所述仓库操作记录包括所述仓库与所述多个工作主机的关联信息;
根据所述关联信息从所述多个工作主机中查询与所述仓库已关联的工作主机;
若查询到所述已关联的工作主机,则确定所述已关联的工作主机为所述执行主机;
若未查询到所述已关联的工作主机,则从所述多个工作主机中选择未处理请求数最少的工作主机作为所述执行主机,并将所述仓库与所述执行主机进行关联。
2.根据权利要求1所述的分布式存储系统的控制方法,其特征在于,所述接收客户端发送的对仓库进行操作的仓库操作请求,还包括:
根据所述仓库操作请求,获取所述仓库的仓库信息;
根据所述仓库信息判断所述仓库是否存在;
若所述仓库不存在,则进行初始化以生成所述仓库。
3.根据权利要求1所述的分布式存储系统的控制方法,其特征在于,所述将所述仓库操作请求发送至所述执行主机,以使得所述执行主机执行所述仓库操作请求,包括:
将所述仓库操作请求发送至所述执行主机后,将所述执行主机的未处理请求数加一;
若接收到所述执行主机获取所述仓库的仓库信息的请求,则将所述仓库信息发送给所述执行主机,以使得所述执行主机执行所述仓库操作请求。
4.根据权利要求3所述的分布式存储系统的控制方法,其特征在于,所述方法还包括:
在所述执行主机执行所述仓库操作请求后,将所述执行主机的未处理请求数减一。
5.根据权利要求1所述的分布式存储系统的控制方法,其特征在于,所述方法还包括:
在所述执行主机执行所述仓库操作请求后,获取所述执行主机当前的未处理请求数;
将所述当前的未处理请求数与预设值进行比较,并根据比较结果确定所述仓库和所述执行主机最终的关联关系;
根据所述最终的关联关系,更新所述仓库与所述多个工作主机的关联信息。
6.根据权利要求5所述的分布式存储系统的控制方法,其特征在于,所述将所述当前的未处理请求数与预设值进行比较,并根据比较结果确定所述仓库和所述执行主机最终的关联关系,包括:
判断所述当前的未处理请求数是否大于所述预设值;
若所述当前的未处理请求数大于所述预设值,则解除所述仓库和所述执行主机的关联关系;
若所述当前的未处理请求数不大于所述预设值,则保持所述仓库和所述执行主机的关联关系。
7.根据权利要求1所述的分布式存储系统的控制方法,其特征在于,所述方法还包括:
在所述执行主机执行所述仓库操作请求后,接收所述执行主机发送的所述仓库操作请求的操作结果;
根据所述操作结果更新所述仓库的仓库信息,并将所述操作结果发送给所述客户端。
8.一种分布式存储系统的控制装置,其特征在于,应用于所述分布式存储系统的控制主机,所述分布式存储系统包括多个工作主机,所述控制主机为所述分布式存储系统中任意一个工作主机,所述装置包括:
接收模块,用于接收客户端发送的对仓库进行操作的仓库操作请求;
记录获取模块,用于获取多个工作主机的信息,并从缓存设备中获取仓库的仓库操作记录,其中,工作主机的信息包括工作主机的未处理请求数,仓库操作记录包括仓库与多个工作主机的关联信息;
主机查询模块,用于根据关联信息从多个工作主机中查询与仓库已关联的工作主机;若查询到已关联的工作主机,则确定已关联的工作主机为执行主机;若未查询到已关联的工作主机,则从多个工作主机中选择未处理请求数最少的工作主机作为执行主机,并将仓库与执行主机进行关联;
发送模块,用于将仓库操作请求发送至执行主机,以使得执行主机执行仓库操作请求;
数量获取模块,用于在执行主机执行仓库操作请求后,获取执行主机当前的未处理请求数;
数量判断模块,用于将当前的未处理请求数与预设值进行比较,并根据比较结果确定仓库和执行主机最终的关联关系;
信息更新模块,用于根据最终的关联关系,更新仓库与多个工作主机的关联信息。
9.一种分布式存储系统,其特征在于,所述分布式存储系统包括多个工作主机,控制主机为所述分布式存储系统中任意一个工作主机,其中,所述控制主机用于执行权利要求1-7中任意一项所述的分布式存储系统的控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010055251.5A CN111274320B (zh) | 2020-01-17 | 2020-01-17 | 分布式存储系统的控制方法、装置及分布式存储系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010055251.5A CN111274320B (zh) | 2020-01-17 | 2020-01-17 | 分布式存储系统的控制方法、装置及分布式存储系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111274320A CN111274320A (zh) | 2020-06-12 |
CN111274320B true CN111274320B (zh) | 2023-09-12 |
Family
ID=70998824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010055251.5A Active CN111274320B (zh) | 2020-01-17 | 2020-01-17 | 分布式存储系统的控制方法、装置及分布式存储系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111274320B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104050297A (zh) * | 2014-07-03 | 2014-09-17 | 中国工商银行股份有限公司 | 一种查询事务分配方法及装置 |
CN104462370A (zh) * | 2014-12-09 | 2015-03-25 | 北京百度网讯科技有限公司 | 分布式任务调度系统及方法 |
CN108989106A (zh) * | 2018-07-17 | 2018-12-11 | 郑州云海信息技术有限公司 | 一种分布式集群的数据处理方法、装置及系统 |
CN109286663A (zh) * | 2018-09-14 | 2019-01-29 | 郑州云海信息技术有限公司 | 一种分布式系统业务分配方法、装置及设备 |
-
2020
- 2020-01-17 CN CN202010055251.5A patent/CN111274320B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104050297A (zh) * | 2014-07-03 | 2014-09-17 | 中国工商银行股份有限公司 | 一种查询事务分配方法及装置 |
CN104462370A (zh) * | 2014-12-09 | 2015-03-25 | 北京百度网讯科技有限公司 | 分布式任务调度系统及方法 |
CN108989106A (zh) * | 2018-07-17 | 2018-12-11 | 郑州云海信息技术有限公司 | 一种分布式集群的数据处理方法、装置及系统 |
CN109286663A (zh) * | 2018-09-14 | 2019-01-29 | 郑州云海信息技术有限公司 | 一种分布式系统业务分配方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111274320A (zh) | 2020-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10754835B2 (en) | High-efficiency deduplication module of a database-management system | |
US7765189B2 (en) | Data migration apparatus, method, and program for data stored in a distributed manner | |
US8086810B2 (en) | Rapid defragmentation of storage volumes | |
US7827368B2 (en) | Snapshot format conversion method and apparatus | |
EP3786802A1 (en) | Method and device for failover in hbase system | |
CN114968127B (zh) | 对象计算存储系统、数据处理方法、客户端及存储介质 | |
CN113032099A (zh) | 云计算节点、文件管理方法及装置 | |
CN108475201A (zh) | 一种虚拟机启动过程中的数据获取方法和云计算系统 | |
CN108304144B (zh) | 数据写入、读取方法与系统、数据读写系统 | |
CN116501700B (zh) | 一种app格式化文件离线存储方法、装置、设备及存储介质 | |
CN111274320B (zh) | 分布式存储系统的控制方法、装置及分布式存储系统 | |
CN112711606A (zh) | 数据库访问方法、装置、计算机设备和存储介质 | |
CN111431951B (zh) | 一种数据处理方法、节点设备、系统及存储介质 | |
JP2016009225A (ja) | データベース管理装置、データベース管理方法、プログラムおよび記録媒体 | |
US9069821B2 (en) | Method of processing files in storage system and data server using the method | |
CN114840488B (zh) | 一种基于超融合结构的分布式存储方法、系统及存储介质 | |
US20050267888A1 (en) | Method for process substitution on a database management system | |
CN114490540A (zh) | 数据存储方法、介质、装置和计算设备 | |
CN110209343B (zh) | 数据存储方法、装置、服务器及存储介质 | |
US11030010B2 (en) | Processing storage management request based on current and threshold processor load using request information | |
CN112685130A (zh) | 分布式存储环境下的虚拟机备份方法、装置和存储介质 | |
CN117992257B (zh) | 一种分布式数据库并行数据采集处理方法 | |
CN111881085B (zh) | 一种读写带宽性能的优化方法及系统 | |
CN117290160A (zh) | 数据库读写分离集群的备份方法、存储介质与设备 | |
US20230168924A1 (en) | Apparatus for preloading data in distributed computing environment and method using the same |
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 |