CN110069220B - 分布式调度方法、装置、设备及计算机可读存储介质 - Google Patents
分布式调度方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110069220B CN110069220B CN201910349213.8A CN201910349213A CN110069220B CN 110069220 B CN110069220 B CN 110069220B CN 201910349213 A CN201910349213 A CN 201910349213A CN 110069220 B CN110069220 B CN 110069220B
- Authority
- CN
- China
- Prior art keywords
- fragment
- hard disk
- disk file
- virtual hard
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
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
技术领域
本发明涉及分布式存储技术领域,尤其涉及分布式调度方法、装置、设备及计算机可读存储介质。
背景技术
近年来,超融合系统在政府、企业、学校等机构应用越来越广泛,在诸多生产业务系统发挥着重要的作用。在超融合系统中,超融合虚拟硬盘文件往往是大文件,需要进行分片处理,而对于每个分片,需要分布式存储多个分片副本来满足系统的可用性、可靠性和数据存取效率的要求。
目前市面上的分布式存储系统,分片存放策略主要有两种。其一:所有分片集中在一个主机上,虽然虚拟机可以本地访问,性能卓越,但是虚拟机文件大小受限于单台主机,对于大的虚拟机文件很不友好,实际上,市面上成熟的分布式存储系统很少使用这种方案。其二:每个分片副本都使用同样的打散技术(如分布式一致性算法),副本数据完全打散到所有的主机节点上,这样文件大小不受主机的空间限制,但是由于分片副本之间没有什么关联性,因此失去了虚拟机本地访问的可能性,读取数据因为跨主机访问而时延增加,而且网络消耗也大大增加了,于是性能大打折扣。
发明内容
本发明的主要目的在于提出一种分布式调度方法、装置、设备及计算机可读存储介质,旨在解决现有的基于超融合的分布式存储系统所存在的数据读取性能不高的技术问题。
为实现上述目的,本发明提供一种分布式调度方法,所述分布式调度方法包括如下步骤:
当接收到虚拟机的虚拟硬盘文件写入请求时,获取待写入的第一虚拟硬盘文件,将所述第一虚拟硬盘文件划分为若干个分片,并从所述若干个分片中选取一个分片作为首分片;
按照预设规则,在分布式存储系统中写入所述首分片的若干个分片副本,并记录所述首分片的若干个分片副本的第一写入位置信息;
根据所述第一写入位置信息,在所述分布式存储系统中写入所述第一虚拟硬盘文件的非首分片的若干个分片副本,以使所述分布式存储系统的至少一个主机上包含所述第一虚拟硬盘文件的各分片的至少一个分片副本;
将包含所述第一虚拟硬盘文件的各分片的至少一个分片副本的主机作为聚合主机,将所述虚拟机调度到所述聚合主机上运行。
优选地,所述从所述若干个分片中选取一个分片作为首分片的步骤包括:
为所述若干个分片设置不同的编号,将编号最小的分片作为首分片。
优选地,所述按照预设规则,在分布式存储系统中写入所述首分片的若干个分片副本的步骤包括:
检测所述分布式存储系统是否写入过所述虚拟机的第二虚拟硬盘文件;
若所述分布式存储系统写入过所述虚拟机的第二虚拟硬盘文件,则获取所述第二虚拟硬盘文件的首分片的若干个分片副本的第二写入位置信息;
根据所述第二写入位置信息,在所述在分布式存储系统中写入所述第一虚拟硬盘文件的首分片的若干个分片副本。
优选地,所述根据所述第二写入位置信息,在所述在分布式存储系统中写入所述第一虚拟硬盘文件的首分片的若干个分片副本的步骤包括:
将所述第二写入位置信息中包含的主机,作为待写入所述第一虚拟硬盘文件的首分片的若干个分片副本的第一目标主机;
将所述第一虚拟硬盘文件的首分片的若干个分片副本写入所述第一目标主机中的一个或多个主机。
优选地,所述检测所述分布式存储系统是否写入过所述虚拟机的第二虚拟硬盘文件的步骤之后,还包括:
若所述分布式存储系统未写入过所述虚拟机的第二虚拟硬盘文件,则获取所述分布式存储系统当前的负载信息以及所述首分片的若干个分片副本的分片大小;
根据所述负载信息和所述分片大小在所述分布式存储系统中写入所述首分片的若干个分片副本。
优选地,所述根据所述第一写入位置信息,在所述分布式存储系统中写入所述第一虚拟硬盘文件的非首分片的若干个分片副本,以使所述分布式存储系统的至少一个主机上包含所述第一虚拟硬盘文件的各分片的至少一个分片副本的步骤包括:
将所述第一写入位置信息中包含的主机,作为待写入所述第一虚拟硬盘文件的非首分片的若干个分片副本的第二目标主机;
将所述第一虚拟硬盘文件的非首分片的若干个分片副本写入所述第二目标主机中的一个或多个主机。
优选地,所述将所述虚拟机调度到所述聚合主机上运行的步骤包括:
当检测到当前存在多个聚合主机时,统计每个聚合主机所包含的分片副本数;
将所述虚拟机调度到包含分片副本数最多的聚合主机上运行。
此外,为实现上述目的,本发明还提供一种分布式调度装置,所述分布式调度装置包括:
选取程序模块,用于当接收到虚拟机的虚拟硬盘文件写入请求时,获取待写入的第一虚拟硬盘文件,将所述第一虚拟硬盘文件划分为若干个分片,并从所述若干个分片中选取一个分片作为首分片;
第一写入程序模块,用于按照预设规则,在分布式存储系统中写入所述首分片的若干个分片副本,并记录所述首分片的若干个分片副本的第一写入位置信息;
第二写入程序模块,用于根据所述第一写入位置信息,在所述分布式存储系统中写入所述第一虚拟硬盘文件的非首分片的若干个分片副本,以使所述分布式存储系统的至少一个主机上包含所述第一虚拟硬盘文件的各分片的至少一个分片副本;
调度程序模块,用于将包含所述第一虚拟硬盘文件的各分片的至少一个分片副本的主机作为聚合主机,将所述虚拟机调度到所述聚合主机上运行。
此外,为实现上述目的,本发明还提供一种分布式调度设备,所述分布式调度设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的分布式调度程序,所述分布式调度程序被所述处理器执行时实现如上所述的分布式调度方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有分布式调度程序,所述分布式调度程序被处理器执行时实现如上所述的分布式调度方法的步骤。
本发明提出的分布式调度方法,首先从待写入的第一虚拟硬盘文件的若干个分片中选取一个首分片,然后在分布式存储系统中写入该首分片的若干个分片副本,进而根据该首分片的若干个分片副本的第一写入位置信息写入该第一虚拟硬盘文件的非首分片的若干个分片副本,以使分布式存储系统的至少一个主机上包含该第一虚拟硬盘文件的各分片的至少一个分片副本,通过这种根据首分片的分片副本的写入位置信息写入后续非首分片的分片副本的方式,实现了不同分片的分片副本的关联写入,从而能够保证第一虚拟硬盘文件的各分片的至少一个副本聚合到同一个主机上,之后,再将包含该第一虚拟硬盘文件的各分片的至少一个分片副本的主机作为聚合主机,并将虚拟机调度到该聚合主机上运行,保证了尽量多的副本可以本地访问,从而降低了读取数据时的时延和网络消耗,提高了分布式存储系统的数据读取性能。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明分布式调度方法第一实施例的流程示意图;
图3为本发明网络舆情分析装置一实施例的模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明实施例分布式调度设备可以是PC机或服务器(如X86服务器)设备。
如图1所示,该分布式调度设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及分布式调度程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的分布式调度程序,并执行以下分布式调度方法实施例中的操作。
基于上述硬件结构,提出本发明分布式调度方法实施例。
参照图2,图2为本发明分布式调度方法第一实施例的流程示意图,所述方法包括:
步骤S10,当接收到虚拟机的虚拟硬盘文件写入请求时,获取待写入的第一虚拟硬盘文件,将所述第一虚拟硬盘文件划分为若干个分片,并从所述若干个分片中选取一个分片作为首分片;
本实施例分布式调度方法应用于超融合架构中的分布式调度设备。所谓超融合架构(Hyper-Converged Infrastructure,或简称“HCI”),是指在同一套单元设备(x86服务器)中不仅仅具备计算、网络、存储和服务器虚拟化等资源和技术,而且还包括缓存加速、重复数据删除、在线数据压缩、备份软件、快照技术等元素,而多节点可以通过网络聚合起来,实现模块化的无缝横向扩展,形成统一的资源池。在超融合架构中,该分布式调度设备可以是x86服务器,其上搭载有分布式存储系统。
超融合虚拟硬盘文件往往是大文件,需要进行分片处理。在本实施例中,当分布式存储系统接收到虚拟机(客户端)的虚拟硬盘文件写入请求时,首先获取待写入的第一虚拟硬盘文件,并将该第一虚拟硬盘文件划分为若干个分片,其中分片的划分数量可以是预设值,也可以根据第一虚拟文件的大小而定,本实施例对此不作限定;然后,分布式存储系统从划分的若干个分片中选取一个分片作为首分片,该首分片即作为后续第一个写入分布式存储系统的分片。
具体地,步骤S10中从所述若干个分片中选取一个分片作为首分片的步骤可以进一步包括:为所述若干个分片设置不同的编号,将编号最小的分片作为首分片。
比如当前将第一虚拟硬盘文件划分为了3个分片,则可以将这3个分片分别编号为1~3,并选取编号为1的分片作为首分片。这种通过编号获取首分片的方式简单易行,且有利于对不同的分片进行区分。此外,也可以从划分的分片中随机选取一个分片作为首分片,具体实施时可灵活设置。
步骤S20,按照预设规则,在分布式存储系统中写入所述首分片的若干个分片副本,并记录所述首分片的若干个分片副本的第一写入位置信息;
为提高分布式存储系统的可靠性和可用性,可以采用多副本存储技术,即向分布式存储系统的不同主机写入文件分片的副本,当某一主机发生故障时,可以从其它主机读取文件副本。在本实施例中,当分布式文件系统获取到首分片后,可以按照预设规则,在分布式存储系统中写入该首分片的若干个分片副本,并记录该首分片的若干个分片副本的第一写入位置信息,其中首分片的分片副本数量不作限定,第一写入位置用于表示第一虚拟硬盘文件的首分片的若干个分片副本所写入的主机。
具体实施时,分片副本的写入规则可以为:若该第一虚拟硬盘文件是分布式文件系统写入的第一个文件,则可以根据负载均衡原理,结合分布式存储系统中各主机当前的负载信息以及首分片的若干个分片副本的分片大小,在分布式存储系统中写入该首分片的若干个分片副本;若该第一虚拟硬盘文件不是分布式文件系统写入的第一个文件,则可以结合上一个写入文件的首分片副本的写入位置,将该第一虚拟硬盘文件的首分片副本写入与之相同的位置。
步骤S30,根据所述第一写入位置信息,在所述分布式存储系统中写入所述第一虚拟硬盘文件的非首分片的若干个分片副本,以使所述分布式存储系统的至少一个主机上包含所述第一虚拟硬盘文件的各分片的至少一个分片副本;
该步骤中,根据首分片的分片副本的第一写入位置信息,在分布式存储系统中写入第一虚拟硬盘文件的非首分片的若干个分片副本,以使分布式存储系统的至少一个主机上包含第一虚拟硬盘文件的各分片的至少一个分片副本,由此实现将同一文件的分片副本聚合到一个主机上,便于后续直接从本地读取文件。
具体地,在一实施方式中,该步骤S30可以包括:将所述第一写入位置信息中包含的主机,作为待写入所述第一虚拟硬盘文件的非首分片的若干个分片副本的第二目标主机;将所述第一虚拟硬盘文件的非首分片的若干个分片副本写入所述第二目标主机中的一个或多个主机。
比如,第一虚拟硬盘文件的首分片的若干个分片副本的写入位置包括主机A、主机B和主机C,则可以将该第一虚拟硬盘文件的非首分片的若干个分片副本写入主机A、主机B和主机C中的一个或多个主机,以使至少一个主机上包含该第一虚拟硬盘文件的各分片(包括首分片和各非首分片)的至少一个分片副本。如此后续读取该第一虚拟硬盘文件时只需要从一个主机上读取,大大提高了分布式存储系统的读取性能。
当然,根据所述第一写入位置信息,在所述分布式存储系统中写入所述第一虚拟硬盘文件的非首分片的若干个分片副本,以使所述分布式存储系统的至少一个主机上包含所述第一虚拟硬盘文件的各分片的至少一个分片副本并不限于上述方式,比如还可以从第一写入位置信息中的多个主机中选取一个目标主机,然后将第一虚拟硬盘文件的非首分片的若干个分片副本写入该目标主机,具体实施时可以灵活设置。
步骤S40,将包含所述第一虚拟硬盘文件的各分片的至少一个分片副本的主机作为聚合主机,将所述虚拟机调度到所述聚合主机上运行。
该步骤中,将包含第一虚拟硬盘文件的各分片的至少一个分片副本的主机作为聚合主机,将虚拟机调度到该聚合主机上运行,即将虚拟机迁移到该聚合主机的物理机上运行,以保证尽量多的副本可以本地访问。
本实施例提出的分布式调度方法,首先从待写入的第一虚拟硬盘文件的若干个分片中选取一个首分片,然后在分布式存储系统中写入该首分片的若干个分片副本,进而根据该首分片的若干个分片副本的第一写入位置信息写入该第一虚拟硬盘文件的非首分片的若干个分片副本,以使分布式存储系统的至少一个主机上包含该第一虚拟硬盘文件的各分片的至少一个分片副本,通过这种根据首分片的分片副本的写入位置信息写入后续非首分片的分片副本的方式,实现了不同分片的分片副本的关联写入,从而能够保证第一虚拟硬盘文件的各分片的至少一个副本聚合到同一个主机上,之后,再将包含该第一虚拟硬盘文件的各分片的至少一个分片副本的主机作为聚合主机,并将虚拟机调度到该聚合主机上运行,保证了尽量多的副本可以本地访问,从而降低了读取数据时的时延和网络消耗,提高了分布式存储系统的数据读取性能。
进一步地,基于本发明分布式调度方法第一实施例,提出本发明分布式调度方法第二实施例。
在本实施例中,上述步骤S20可以进一步包括:检测所述分布式存储系统是否写入过所述虚拟机的第二虚拟硬盘文件;若所述分布式存储系统写入过所述虚拟机的第二虚拟硬盘文件,则获取所述第二虚拟硬盘文件的首分片的若干个分片副本的第二写入位置信息;根据所述第二写入位置信息,在所述在分布式存储系统中写入所述第一虚拟硬盘文件的首分片的若干个分片副本。
具体地,假设虚拟机当前有两个待写入的虚拟硬盘文件1和2,其中虚拟硬盘文件1为当前请求写入的虚拟硬盘文件,则当写入该硬盘文件1的首分片时,可以检测在此之前分布式存储系统是否写入过虚拟硬盘文件2,若是,则获取预先保存的虚拟硬盘文件2的首分片的若干个分片副本的第二写入位置信息,然后根据该第二写入位置信息,在分布式存储系统中写入该虚拟硬盘文件1的首分片的若干个分片副本。
通过上述方式,实现了不同虚拟硬盘文件的首分片的分片副本的关联写入,为将不同虚拟硬盘文件的首分片聚合到相同的主机上提供了保证。
进一步地,根据所述第二写入位置信息,在所述在分布式存储系统中写入所述第一虚拟硬盘文件的首分片的若干个分片副本的步骤可以包括:将所述第二写入位置信息中包含的主机,作为待写入所述第一虚拟硬盘文件的首分片的若干个分片副本的第一目标主机;将所述第一虚拟硬盘文件的首分片的若干个分片副本写入所述第一目标主机中的一个或多个主机。
具体地,假设上述虚拟硬盘文件2的首分片的若干个分片副本的写入位置包括主机A、主机B和主机C,则可以将第一虚拟硬盘文件1的首分片的若干个分片副本写入主机A、主机B和主机C中的一个或多个主机中,其中每个主机中写入的分片副本数量不作限定,比如第一虚拟硬盘文件1的首分片有3个分片副本1、2和3,则可以将副本1写入主机A,副本2写入主机B,副本3写入主机C,也可以将副本1和2写入主机A,副本3写入主机B,主机C不写入副本。
通过上述方式,实现了将不同虚拟硬盘文件的首分片尽量聚合到相同的主机上,为后续确定聚合主机,进而使得来自于不同虚拟硬盘文件的尽量多的副本可以本地访问提供了保证。
当然,根据所述第二写入位置信息,在所述在分布式存储系统中写入所述第一虚拟硬盘文件的首分片的若干个分片副本并不限于上述方式,比如还可以从第二写入位置信息中的多个主机中选取一个目标主机,然后将第一虚拟硬盘文件的首分片的若干个分片副本写入该目标主机,具体实施时可以灵活设置。
进一步地,检测所述分布式存储系统是否写入过所述虚拟机的第二虚拟硬盘文件的步骤之后,还可以包括:若所述分布式存储系统未写入过所述虚拟机的第二虚拟硬盘文件,则获取所述分布式存储系统当前的负载信息以及所述首分片的若干个分片副本的分片大小;根据所述负载信息和所述分片大小在所述分布式存储系统中写入所述首分片的若干个分片副本。
在本实施例中,若分布式存储系统未写入过所述虚拟机的第二虚拟硬盘文件,则说明当前是第一次写入虚拟硬盘文件,此时可以获取分布式存储系统当前的负载信息以及上述首分片的若干个分片副本的分片大小,然后根据获取到的负载信息和分片大小在分布式存储系统中写入第一虚拟硬盘文件的首分片的若干个分片副本,以满足分布式存储系统的负载均衡需求。
进一步地,基于本发明分布式调度方法第一、第二实施例,提出本发明分布式调度方法第三实施例。
在本实施例中,所述将所述虚拟机调度到所述聚合主机上运行的步骤包括:当检测到当前存在多个聚合主机时,统计每个聚合主机所包含的分片副本数;将所述虚拟机调度到包含分片副本数最多的聚合主机上运行。
在本实施例中,当当前只存在一个聚合主机时,可以直接将虚拟机调度到该主机上运行;当当前存在多个聚合主机,即多个主机上均包含所述第一虚拟硬盘文件的各分片的至少一个分片副本时,可以统计每个聚合主机所包含的分片副本数,然后将虚拟机调度到包含分片副本数最多的聚合主机上运行,如此保证了尽可能多的副本能够被虚拟机本地访问,进一步提高了分布式存储系统的数据读取性能。
本发明还提供一种分布式调度装置。参照图3,图3为本发明网络舆情分析装置一实施例的模块示意图。本实施例中,所述分布式调度装置包括:
选取程序模块10,用于当接收到虚拟机的虚拟硬盘文件写入请求时,获取待写入的第一虚拟硬盘文件,将所述第一虚拟硬盘文件划分为若干个分片,并从所述若干个分片中选取一个分片作为首分片;
第一写入程序模块20,用于按照预设规则,在分布式存储系统中写入所述首分片的若干个分片副本,并记录所述首分片的若干个分片副本的第一写入位置信息;
第二写入程序模块30,用于根据所述第一写入位置信息,在所述分布式存储系统中写入所述第一虚拟硬盘文件的非首分片的若干个分片副本,以使所述分布式存储系统的至少一个主机上包含所述第一虚拟硬盘文件的各分片的至少一个分片副本;
调度程序模块40,用于将包含所述第一虚拟硬盘文件的各分片的至少一个分片副本的主机作为聚合主机,将所述虚拟机调度到所述聚合主机上运行。
上述各程序模块实现的方法及有益效果可参照本发明分布式调度方法实施例,此处不再赘述。
本发明还提供一种计算机可读存储介质。
本发明计算机可读存储介质上存储有分布式调度程序,所述分布式调度程序被处理器执行时实现如上所述的分布式调度方法的步骤。
其中,在所述处理器上运行的分布式调度程序被执行时所实现的方法可参照本发明分布式调度方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (11)
1.一种分布式调度方法,其特征在于,所述分布式调度方法包括如下步骤:
当接收到虚拟机的虚拟硬盘文件写入请求时,获取待写入的第一虚拟硬盘文件,将所述第一虚拟硬盘文件划分为若干个分片,并从所述若干个分片中选取一个分片作为首分片;
按照预设规则,在分布式存储系统中写入所述首分片的若干个分片副本,并记录所述首分片的若干个分片副本的第一写入位置信息;
根据所述第一写入位置信息,在所述分布式存储系统中写入所述第一虚拟硬盘文件的非首分片的若干个分片副本,以使所述分布式存储系统的至少一个主机上包含所述第一虚拟硬盘文件的各分片的至少一个分片副本;
将包含所述第一虚拟硬盘文件的各分片的至少一个分片副本的主机作为聚合主机,将所述虚拟机调度到所述聚合主机上运行;
其中,所述预设规则包括:若所述第一虚拟硬盘文件是所述分布式存储系统写入的第一个文件,则结合所述分布式存储系统中各主机当前的负载信息以及首分片的若干个分片副本的分片大小,在所述分布式存储系统中写入所述首分片的若干个分片副本。
2.如权利要求1所述的分布式调度方法,其特征在于,所述从所述若干个分片中选取一个分片作为首分片的步骤包括:
为所述若干个分片设置不同的编号,将编号最小的分片作为首分片。
3.如权利要求1所述的分布式调度方法,其特征在于,所述按照预设规则,在分布式存储系统中写入所述首分片的若干个分片副本的步骤包括:
检测所述分布式存储系统是否写入过所述虚拟机的第二虚拟硬盘文件;
若所述分布式存储系统写入过所述虚拟机的第二虚拟硬盘文件,则获取所述第二虚拟硬盘文件的首分片的若干个分片副本的第二写入位置信息;
根据所述第二写入位置信息,在所述在分布式存储系统中写入所述第一虚拟硬盘文件的首分片的若干个分片副本。
4.如权利要求3所述的分布式调度方法,其特征在于,所述根据所述第二写入位置信息,在所述在分布式存储系统中写入所述第一虚拟硬盘文件的首分片的若干个分片副本的步骤包括:
将所述第二写入位置信息中包含的主机,作为待写入所述第一虚拟硬盘文件的首分片的若干个分片副本的第一目标主机;
将所述第一虚拟硬盘文件的首分片的若干个分片副本写入所述第一目标主机中的一个或多个主机。
5.如权利要求3所述的分布式调度方法,其特征在于,所述检测所述分布式存储系统是否写入过所述虚拟机的第二虚拟硬盘文件的步骤之后,还包括:
若所述分布式存储系统未写入过所述虚拟机的第二虚拟硬盘文件,则获取所述分布式存储系统当前的负载信息以及所述首分片的若干个分片副本的分片大小;
根据所述负载信息和所述分片大小在所述分布式存储系统中写入所述首分片的若干个分片副本。
6.如权利要求1所述的分布式调度方法,其特征在于,所述预设规则还包括:
若所述第一虚拟硬盘文件不是所述分布式存储系统写入的第一个文件,则结合上一个写入文件的首分片副本的写入位置,将所述第一虚拟硬盘文件的首分片副本写入与所述写入位置相同的位置。
7.如权利要求1至6中任一项所述的分布式调度方法,其特征在于,所述根据所述第一写入位置信息,在所述分布式存储系统中写入所述第一虚拟硬盘文件的非首分片的若干个分片副本,以使所述分布式存储系统的至少一个主机上包含所述第一虚拟硬盘文件的各分片的至少一个分片副本的步骤包括:
将所述第一写入位置信息中包含的主机,作为待写入所述第一虚拟硬盘文件的非首分片的若干个分片副本的第二目标主机;
将所述第一虚拟硬盘文件的非首分片的若干个分片副本写入所述第二目标主机中的一个或多个主机。
8.如权利要求1至6中任一项所述的分布式调度方法,其特征在于,所述将所述虚拟机调度到所述聚合主机上运行的步骤包括:
当检测到当前存在多个聚合主机时,统计每个聚合主机所包含的分片副本数;
将所述虚拟机调度到包含分片副本数最多的聚合主机上运行。
9.一种分布式调度装置,其特征在于,所述分布式调度装置包括:
选取程序模块,用于当接收到虚拟机的虚拟硬盘文件写入请求时,获取待写入的第一虚拟硬盘文件,将所述第一虚拟硬盘文件划分为若干个分片,并从所述若干个分片中选取一个分片作为首分片;
第一写入程序模块,用于按照预设规则,在分布式存储系统中写入所述首分片的若干个分片副本,并记录所述首分片的若干个分片副本的第一写入位置信息;其中,所述预设规则包括:若所述第一虚拟硬盘文件是所述分布式存储系统写入的第一个文件,则结合所述分布式存储系统中各主机当前的负载信息以及首分片的若干个分片副本的分片大小,在所述分布式存储系统中写入所述首分片的若干个分片副本;
第二写入程序模块,用于根据所述第一写入位置信息,在所述分布式存储系统中写入所述第一虚拟硬盘文件的非首分片的若干个分片副本,以使所述分布式存储系统的至少一个主机上包含所述第一虚拟硬盘文件的各分片的至少一个分片副本;
调度程序模块,用于将包含所述第一虚拟硬盘文件的各分片的至少一个分片副本的主机作为聚合主机,将所述虚拟机调度到所述聚合主机上运行。
10.一种分布式调度设备,其特征在于,所述分布式调度设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的分布式调度程序,所述分布式调度程序被所述处理器执行时实现如权利要求1至8中任一项所述的分布式调度方法的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有分布式调度程序,所述分布式调度程序被处理器执行时实现如权利要求1至8中任一项所述的分布式调度方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910349213.8A CN110069220B (zh) | 2019-04-25 | 2019-04-25 | 分布式调度方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910349213.8A CN110069220B (zh) | 2019-04-25 | 2019-04-25 | 分布式调度方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110069220A CN110069220A (zh) | 2019-07-30 |
CN110069220B true CN110069220B (zh) | 2022-02-22 |
Family
ID=67369342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910349213.8A Active CN110069220B (zh) | 2019-04-25 | 2019-04-25 | 分布式调度方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110069220B (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9430342B1 (en) * | 2009-12-01 | 2016-08-30 | Netapp, Inc. | Storage system providing hierarchical levels of storage functions using virtual machines |
US9367343B2 (en) * | 2014-08-29 | 2016-06-14 | Red Hat Israel, Ltd. | Dynamic batch management of shared buffers for virtual machines |
CN105677516B (zh) * | 2016-01-07 | 2019-11-05 | 成都市思叠科技有限公司 | 一种计算靠近存储云平台中高效可靠的备份恢复方法 |
CN106354548A (zh) * | 2016-08-31 | 2017-01-25 | 天津南大通用数据技术股份有限公司 | 分布式数据库系统中虚拟集群创建、管理方法及装置 |
CN107885758B (zh) * | 2016-09-30 | 2021-11-19 | 华为技术有限公司 | 一种虚拟节点的数据迁移方法和虚拟节点 |
CN109246198B (zh) * | 2018-08-16 | 2022-01-07 | 杭州数梦工场科技有限公司 | 一种基于分布式存储集群的云主机启动控制方法和系统 |
-
2019
- 2019-04-25 CN CN201910349213.8A patent/CN110069220B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110069220A (zh) | 2019-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11327799B2 (en) | Dynamic allocation of worker nodes for distributed replication | |
US9413683B2 (en) | Managing resources in a distributed system using dynamic clusters | |
US9870288B2 (en) | Container-based processing method, apparatus, and system | |
US11461027B2 (en) | Deduplication-aware load balancing in distributed storage systems | |
EP3108371B1 (en) | Modified memory compression | |
US20190243702A1 (en) | Tracking status and restarting distributed replication | |
EP3522042A1 (en) | Method and apparatus for information processing, server and computer readable medium | |
US8375200B2 (en) | Embedded device and file change notification method of the embedded device | |
US10649905B2 (en) | Method and apparatus for storing data | |
US20140115252A1 (en) | Block storage-based data processing methods, apparatus, and systems | |
US10091293B2 (en) | Rapid cloud-based image centralization | |
JP2014513338A5 (ja) | 仮想ディスクの最適圧縮のための方法、コンピュータ可読記憶媒体及びシステム | |
CN108475201B (zh) | 一种虚拟机启动过程中的数据获取方法和云计算系统 | |
US9609044B2 (en) | Methods, systems, and media for stored content distribution and access | |
CN108459824B (zh) | 一种数据修改写方法及装置 | |
US20170315928A1 (en) | Coarse-grained cache replacement scheme for a cloud-backed deduplication storage system | |
CN111880967A (zh) | 云场景下的文件备份方法、装置、介质和电子设备 | |
US10579419B2 (en) | Data analysis in storage system | |
CN112631994A (zh) | 数据迁移方法及系统 | |
CN110069220B (zh) | 分布式调度方法、装置、设备及计算机可读存储介质 | |
US20170315930A1 (en) | Cache scoring scheme for a cloud-backed deduplication storage system | |
CN107340974B (zh) | 一种虚拟磁盘的迁移方法及迁移装置 | |
CN112181662B (zh) | 任务调度方法、装置、电子设备及存储介质 | |
US10824640B1 (en) | Framework for scheduling concurrent replication cycles | |
US20160232166A1 (en) | Method and Apparatus for Accessing File |
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 |