CN117061503A - 镜像文件管理方法、装置、计算机可读介质及电子设备 - Google Patents
镜像文件管理方法、装置、计算机可读介质及电子设备 Download PDFInfo
- Publication number
- CN117061503A CN117061503A CN202311310217.8A CN202311310217A CN117061503A CN 117061503 A CN117061503 A CN 117061503A CN 202311310217 A CN202311310217 A CN 202311310217A CN 117061503 A CN117061503 A CN 117061503A
- Authority
- CN
- China
- Prior art keywords
- image file
- node
- image
- distributed
- task
- 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
Links
- 238000007726 management method Methods 0.000 title claims abstract description 70
- 230000005540 biological transmission Effects 0.000 claims abstract description 89
- 238000000034 method Methods 0.000 claims abstract description 55
- 230000008569 process Effects 0.000 claims description 33
- 238000012545 processing Methods 0.000 claims description 28
- 238000001514 detection method Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 19
- 238000005538 encapsulation Methods 0.000 claims description 5
- 238000010792 warming Methods 0.000 claims description 5
- 230000002688 persistence Effects 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 14
- 230000006854 communication Effects 0.000 description 13
- 238000012423 maintenance Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 9
- 238000007689 inspection Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 238000010438 heat treatment Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- 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/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/10015—Access to distributed or replicated servers, e.g. using brokers
-
- 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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/101—Server selection for load balancing based on network conditions
-
- 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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1012—Server selection for load balancing based on compliance of requirements or conditions with available server resources
-
- 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/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请的实施例可应用于云技术、人工智能、智慧交通、辅助驾驶等各种场景,具体提供了一种镜像文件管理方法、装置、计算机可读介质及电子设备。该方法包括:获取指定分布式节点对应的镜像预热任务队列;检测中心节点与指定分布式节点之间的网络传输通道;若检测到该网络传输通道的带宽占用小于或等于设定值,则从镜像预热任务队列中选择目标任务;将目标任务发送至指定分布式节点,以使指定分布式节点拉取与目标任务对应的镜像文件,并基于与中心节点之间的网络状态调整镜像文件的下载速率。本申请实施例可以在实现镜像文件预热的前提下,尽可能减少对中心节点(如中心云服务器)与分布式节点(如分布式云服务器)之间的网络传输通道的影响。
Description
技术领域
本申请涉及计算机及通信技术领域,具体而言,涉及一种镜像文件管理方法、装置、计算机可读介质及电子设备。
背景技术
在分布式场景下,服务器可能会以集群的形式分布在不同的地理位置节点上以构成分布式节点,分布式节点和中心节点保持通信并接受中心节点的管控,其中就包括对镜像文件的管理。比如,为了确保使用者在分布式节点中及时使用镜像文件,需要中心节点对分布式节点所要使用的镜像文件进行预热处理,即提前将镜像文件传输给分布式节点,考虑到网络带宽的限制,如何能够在实现镜像预热的前提下,尽可能减少对中心节点与分布式节点之间的网络传输通道的影响是亟待解决的技术问题。
发明内容
本申请的实施例提供了一种镜像文件管理方法、装置、计算机可读介质及电子设备,可以在实现镜像文件预热的前提下,尽可能减少对中心节点与分布式节点之间的网络传输通道的影响。
本申请的其它特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供了一种分布式系统的镜像文件管理方法,包括:获取指定分布式节点对应的镜像预热任务队列,所述镜像预热任务队列中的镜像预热任务用于指示所述指定分布式节点从中心节点的镜像仓库中下载相应的镜像文件;检测所述中心节点与所述指定分布式节点之间的网络传输通道;若检测到所述中心节点与所述指定分布式节点之间的网络传输通道的带宽占用小于或等于设定值,则从所述镜像预热任务队列中选择待处理的目标任务;将所述目标任务发送至所述指定分布式节点,以使所述指定分布式节点从所述镜像仓库中拉取与所述目标任务对应的镜像文件,并基于与所述中心节点之间的网络状态调整镜像文件的下载速率。
根据本申请实施例的一个方面,提供了一种分布式系统的镜像文件管理方法,包括:接收镜像预热任务,所述镜像预热任务用于指示分布式节点从中心节点的镜像仓库中下载指定镜像文件,所述镜像预热任务是镜像文件管理系统在检测到所述中心节点与所述分布式节点之间的网络传输通道的带宽占用小于或等于设定值时发送的;根据所述镜像预热任务从所述镜像仓库中下载所述指定镜像文件;在下载所述指定镜像文件的过程中,根据所述中心节点与所述分布式节点之间的网络状态调整所述指定镜像文件的下载速率。
根据本申请实施例的一个方面,提供了一种分布式系统的镜像文件管理装置,包括:获取单元,配置为获取指定分布式节点对应的镜像预热任务队列,所述镜像预热任务队列中的镜像预热任务用于指示所述指定分布式节点从中心节点的镜像仓库中下载相应的镜像文件;检测单元,配置为检测所述中心节点与所述指定分布式节点之间的网络传输通道;选择单元,配置为若检测到所述中心节点与所述指定分布式节点之间的网络传输通道的带宽占用小于或等于设定值,则从所述镜像预热任务队列中选择待处理的目标任务;发送单元,配置为将所述目标任务发送至所述指定分布式节点,以使所述指定分布式节点从所述镜像仓库中拉取与所述目标任务对应的镜像文件,并基于与所述中心节点之间的网络状态调整镜像文件的下载速率。
在本申请的一些实施例中,基于前述方案,所述检测单元还配置为:检测所述镜像预热任务队列中的任务执行情况;若检测到所述镜像预热任务队列中的任务均未处于执行状态,且所述中心节点与所述指定分布式节点之间的网络传输通道的带宽占用小于或等于设定值,则从所述镜像预热任务队列中选择待处理的一个目标任务。
在本申请的一些实施例中,基于前述方案,所述镜像文件管理装置还包括:接收单元,配置为接收镜像文件预热请求,所述镜像文件预热请求用于请求从所述镜像仓库中将指定镜像文件下载至指定分布式节点中;生成单元,配置为根据所述镜像文件预热请求生成镜像文件预热任务,并将所述镜像文件预热任务添加至所述指定分布式节点对应的镜像预热任务队列中。
在本申请的一些实施例中,基于前述方案,所述生成单元配置为:根据所述指定分布式节点中所包含的物理服务器的状态信息,从所述指定分布式节点中所包含的物理服务器中选择用于存储镜像文件的目标物理服务器;根据所述目标物理服务器及所述镜像文件预测请求进行封装处理,得到所述镜像文件预热任务。
在本申请的一些实施例中,基于前述方案,所述检测单元还配置为:检测所述指定分布式节点中所包含的各个物理服务器的存储空间占用情况;所述镜像文件管理装置还包括:处理单元,配置为若检测到所述指定分布式节点中存储空间占用超过设定阈值的目标物理服务器的数量小于或等于设定数量,则将所述目标物理服务器中的镜像文件迁移至所述指定分布式节点中的其它物理服务器中。
在本申请的一些实施例中,基于前述方案,所述处理单元还配置为:若检测到所述指定分布式节点中存储空间占用超过设定阈值的目标物理服务器的数量大于所述设定数量,则对所述指定分布式节点中所包含的物理服务器的镜像文件进行删减处理。
在本申请的一些实施例中,基于前述方案,所述处理单元配置为根据以下方式中的至少一个对所述指定分布式节点中所包含的物理服务器的镜像文件进行删减处理:按照镜像文件的最近使用时间由远至近的顺序、优先删除不存在虚拟子机的镜像文件。
在本申请的一些实施例中,基于前述方案,所述镜像文件管理装置还包括:处理单元,配置为在将所述目标任务发送至所述指定分布式节点之后,从所述镜像预热任务队列中删除所述目标任务;以及在接收到所述指定分布式节点返回的任务执行结果信息时,将所述任务执行结果信息进行持久化保存,并将下载成功的镜像文件与所述指定分布式节点进行关联存储。
在本申请的一些实施例中,基于前述方案,所述检测单元配置为:周期性检测所述中心节点与所述指定分布式节点之间的网络传输通道的带宽占用情况;若在一个检测周期内检测到所述中心节点与所述指定分布式节点之间的网络传输通道的带宽占用大于所述设定值,或者检测到所述镜像预热任务队列中存在执行中的任务,则等待下一检测周期。
根据本申请实施例的一个方面,提供了一种分布式系统的镜像文件管理装置,包括:接收单元,配置为接收镜像预热任务,所述镜像预热任务用于指示分布式节点从中心节点的镜像仓库中下载指定镜像文件,所述镜像预热任务是镜像文件管理系统在检测到所述中心节点与所述分布式节点之间的网络传输通道的带宽占用小于或等于设定值时发送的;下载单元,配置为根据所述镜像预热任务从所述镜像仓库中下载所述指定镜像文件;调整单元,配置为在下载所述指定镜像文件的过程中,根据所述中心节点与所述分布式节点之间的网络状态调整所述指定镜像文件的下载速率。
在本申请的一些实施例中,基于前述方案,所述调整单元配置为:若检测到所述中心节点与所述分布式节点之间的网络传输质量在设定时长内持续大于设定质量阈值,则按照第一设定步长依次增加所述下载速率,直至所述下载速率增加到第一速率阈值;若检测到所述中心节点与所述分布式节点之间的网络传输质量小于或等于所述设定质量阈值,则按照第二设定步长依次减小所述下载速率,直至所述下载速率减小到第二速率阈值或者所述网络传输质量大于所述设定质量阈值。
根据本申请实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的分布式系统的镜像文件管理方法。
根据本申请实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个计算机程序,当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述电子设备实现如上述实施例中所述的分布式系统的镜像文件管理方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取并执行该计算机程序,使得该电子设备执行上述各种可选实施例中提供的分布式系统的镜像文件管理方法。
在本申请的一些实施例所提供的技术方案中,通过检测中心节点与指定分布式节点之间的网络传输通道,并在检测到中心节点与指定分布式节点之间的网络传输通道的带宽占用小于或等于设定值时,从镜像预热任务队列中选择待处理的目标任务,然后将目标任务发送至指定分布式节点,以使指定分布式节点从镜像仓库中拉取与目标任务对应的镜像文件,并基于与中心节点之间的网络状态调整镜像文件的下载速率,使得中心节点在将镜像预热任务发送至分布式节点之前,可以对中心节点与分布式节点之间的网络传输通道的带宽占用情况进行检测,并且在中心节点与分布式节点之间的网络传输通道的带宽占用较小时,再向分布式节点发送镜像预热任务,这样可以保证镜像文件的下载过程是在中心节点与分布式节点之间的网络传输通道的带宽占用较小的情况下进行的,进而可以在实现镜像文件预热的前提下,尽可能减少对中心节点与分布式节点之间的网络传输通道的影响。同时,分布式节点通过根据与中心节点之间的网络状态调整镜像文件的下载速率,使得可以实现对镜像文件下载速率的动态调整,避免镜像文件的下载过程对中心节点与分布式节点之间的网络传输通道造成较大影响。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
图1示出了一种中心节点对分布式节点的镜像文件进行预热处理的流程图。
图2示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图。
图3示出了根据本申请的一个实施例的分布式系统的镜像文件管理方法的流程图。
图4示出了根据本申请的一个实施例的分布式系统的镜像文件管理方法的流程图。
图5示出了根据本申请的一个实施例的分布式系统的镜像文件管理方法的流程图。
图6示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图。
图7示出了根据本申请的一个实施例的分布式系统的镜像文件管理方法的流程图。
图8示出了根据本申请的一个实施例的分布式系统的镜像文件管理装置的框图。
图9示出了根据本申请的一个实施例的分布式系统的镜像文件管理装置的框图。
图10示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在参考附图以更全面的方式描述示例实施方式。然而,示例的实施方式能够以各种形式实施,且不应被理解为仅限于这些范例;相反,提供这些实施方式的目的是使得本申请更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,本申请所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,有许多具体细节从而可以充分理解本申请的实施例。然而,本领域技术人员应意识到,在实施本申请的技术方案时可以不需用到实施例中的所有细节特征,可以省略一个或更多特定细节,或者可以采用其它的方法、元件、装置、步骤等。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
需要说明的是:在本文中提及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
可以理解的是,本申请在收集相关数据(如镜像文件、网络传输通道的带宽占用、网络传输质量等数据)之前以及在收集相关数据的过程中,都可以显示提示界面或者弹窗,该提示界面或者弹窗用于提示用户当前正在搜集相关数据,使得本申请仅仅在获取到用户对该提示界面或者弹窗发出的确认操作后,才开始执行获取相关数据的相关步骤,否则(即未获取到用户对该提示界面或者弹窗发出的确认操作时),结束获取相关数据的相关步骤,即不获取相关数据。换句话说,本申请所采集的所有数据都是在用户同意并授权的情况下进行采集的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
在分布式场景下,服务器可能会以集群的形式分布在不同的地理位置节点上以构成分布式节点,分布式节点和中心节点保持通信并接受中心节点的管控,其中就包括对镜像文件的管理。比如,为了确保使用者在分布式节点中及时使用镜像文件,需要中心节点对分布式节点所要使用的镜像文件进行预热处理,即提前将镜像文件传输给分布式节点。但是,受限于网络传输通道的带宽大小、链路稳定性,以及集群存储资源等的限制,中心节点无法像管控自身的镜像文件一样来管控分布式节点中的镜像文件,而是需要考虑到网络和资源的使用情况来对分布式节点的镜像文件进行预热和调度处理。
在一个实施例中,中心节点对分布式节点的镜像文件进行预热处理的过程如图1所示,包括如下步骤:
S101,运维人员选择需要预热的镜像文件、镜像文件需要预热到的集群(即分布式节点)及集群中用于存储镜像文件的物理服务器。
S102,镜像预热系统根据运维人员选择的信息进行封装处理,生成镜像预热任务。
S103,镜像预热系统持久化任务信息并启动异步任务执行S104。
S104,检查需要预热的镜像文件是否存在,以及物理服务器的状态。比如检测物理服务器是否正常运行、物理服务器的网络是否畅通,物理服务器的存储空间是否能够容纳需要预热的镜像文件等。
S105,判断是否检查通过,若是,则执行S106;否则,执行S109。
S106,镜像预热系统进行任务流转,通知对应的物理服务器中的代理装置下载镜像文件。
S107,物理服务器中的代理装置接收镜像预热系统发送的任务,然后从中心节点的镜像仓库中拉取对应的镜像文件,并保存在物理服务器的本地目录下。如果镜像文件拉取成功,则执行S108;如果镜像文件拉取失败,则执行S109。
S108,镜像预热系统更新镜像文件的预热位置信息。
S109,镜像预热系统更新镜像预热任务的执行状态,并保存任务执行结果。
S110,镜像预热系统返回任务执行状态和执行结果至运维人员端(如运维人员使用的客户端)。
S111,运维人员端(如运维人员使用的客户端)展示任务执行状态和执行结果。
虽然图1所示实施例的技术方案能够实现对镜像文件的预热处理,但是在预热时并没有关注网络传输通道的带宽占用情况,并且也不会对镜像文件下载时的流量进行控制,那么会导致文件下载时的流量会一直处于当前网络带宽的峰值。由于在分布式场景下的网络带宽有限,而且中心节点与分布式节点之间的管控过程与镜像文件的下载过程共用一条链路,因此会导致镜像文件的预热流量挤占其他正常流量(如管控过程的流量、用户请求的流量等),进而会造成近似于网络不可访问的情况。同时,由于分布式节点的物理服务器集群的存储资源和中心节点相比是十分有限的,不能把所有镜像文件都提前预热到物理服务器集群中,这会把物理服务器集群的可用存储空间占满,所以需要更加充分的利用物理服务器集群的存储空间、以及在必要时对镜像文件进行淘汰处理。
基于此,本申请实施例的技术方案提出了一种新的分布式系统的镜像文件管理方法。具体地,如图2所示,在应用于本申请实施例的镜像文件管理方法的系统架构中,包括:中心节点210,以及一个或多个分布式节点220(图2中仅示出了一个分布式节点的情况),分布式节点220中包含有一个或多个物理服务器(比如图2中分布式节点220包含了物理服务器1、物理服务器2和物理服务器3等)。
在本申请的一个实施例中,运维人员可以通过客户端230向中心节点210发送镜像文件预热请求,该镜像文件预热请求用于请求从中心节点的镜像仓库中将指定镜像文件下载至指定分布式节点中,比如将镜像仓库中的指定镜像文件下载至分布式节点220中,中心节点210(具体可以是部署在中心节点210中的镜像文件管理系统来执行)在接收到该镜像文件预热请求之后,可以根据分布式节点220中所包含的物理服务器的状态信息(如可用存储空间信息、网络状态信息等),从分布式节点220中所包含的物理服务器中选择用于存储镜像文件的目标物理服务器(比如可以选择物理服务器2),然后根据选择的目标物理服务器及镜像文件预测请求进行封装处理,得到镜像文件预热任务,并将镜像文件预热任务添加至分布式节点220对应的镜像预热任务队列中。
中心节点210可以周期性检测与分布式节点220之间的网络传输通道,如果检测到中心节点210与分布式节点220之间的网络传输通道的带宽占用小于或等于设定值,则可以从镜像预热任务队列中选择待处理的目标任务,然后将目标任务发送至分布式节点220。分布式节点220在接收到该目标任务之后,可以基于该目标任务从中心节点210的镜像仓库中拉取与该目标任务对应的镜像文件(具体可以是由所选择的目标物理服务器,如物理服务器2来拉取),并基于与中心节点210之间的网络状态调整镜像文件的下载速率。
可见,本申请实施例的技术方案使得中心节点210在与分布式节点220之间的网络传输通道的带宽占用较小时,再向分布式节点220发送镜像预热任务,这样可以保证镜像文件的下载过程是在中心节点210与分布式节点220之间的网络传输通道的带宽占用较小的情况下进行的,进而可以在实现镜像文件预热的前提下,尽可能减少对中心节点210与分布式节点220之间的网络传输通道的影响。同时,分布式节点220通过根据与中心节点210之间的网络状态调整镜像文件的下载速率,使得可以实现对镜像文件下载速率的动态调整,避免镜像文件的下载过程对中心节点210与分布式节点220之间的网络传输通道造成较大影响。
需要说明的是,分布式节点220和中心节点210在实现时可以是提供各种服务的服务器,其可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器。其中,分布式节点220与中心节点210之间可以通过有线通信链路或者无线通信链路进行通信。客户端230在实现时可以是任意的终端设备,比如智能手机、平板电脑、笔记本电脑、台式计算机、智能语音交互设备、智能家电、车载终端、飞行器等,但并不局限于此。本申请实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等。
在一个具体的应用场景中,中心节点210可以是中心云,分布式节点220可以是分布式云,中心云与分布式云可以一起向外提供云技术(Cloud technology)服务,比如提供数据的计算、储存、处理和共享等服务。同时,根据实现需要,本申请实施例中的系统架构可以具有任意数目的客户端230、中心节点210和分布式节点220。
以下对本申请实施例的技术方案的实现细节进行详细阐述:
图3示出了根据本申请的一个实施例的分布式系统的镜像文件管理方法的流程图,该分布式系统的镜像文件管理方法可以由中心节点来执行,具体比如可以由部署在中心节点内的镜像文件管理系统来执行。参照图3所示,该分布式系统的镜像文件管理方法至少包括步骤S310至步骤S340,详细介绍如下:
在步骤S310中,获取指定分布式节点对应的镜像预热任务队列,该镜像预热任务队列中的镜像预热任务用于指示指定分布式节点从中心节点的镜像仓库中下载相应的镜像文件。
在本申请的实施例中,镜像预热任务指的是根据运营人员的指示,将镜像文件从中心节点的镜像仓库中下载到分布式节点的物理服务器中。具体地,由于在分布式节点中部署虚拟子机需要使用到镜像文件,因此在部署虚拟子机之前,可以先将对应的镜像文件下载到分布式节点中,这样使得用户在部署虚拟子机时无需等待镜像文件的下载过程,也就是说可以通过镜像文件的预热处理来减少用户等待镜像文件下载的时长。
在一些可选的实施例中,指定分布式节点对应的镜像预热任务队列是用于存储针对该指定分布式节点的镜像文件预热任务。具体而言,中心节点可以接收运维人员发送的用于请求从镜像仓库中将指定镜像文件下载至指定分布式节点中的镜像文件预热请求,然后可以根据镜像文件预热请求生成镜像文件预热任务,并将镜像文件预热任务添加至指定分布式节点对应的镜像预热任务队列中。
可选地,如果镜像文件预热请求中包含有具体的物理服务器信息,该物理服务器信息所指示的物理服务器是用于存储从镜像仓库中下载的指定镜像文件,那么中心节点可以根据该物理服务器信息、该镜像文件预热请求所指示的指定镜像文件的信息及指定分布式节点信息进行封装处理,以生成镜像文件预热任务。
如果镜像文件预热请求中不包含具体的物理服务器信息,那么中心节点可以根据指定分布式节点中所包含的物理服务器的状态信息,从指定分布式节点中所包含的物理服务器中选择用于存储镜像文件的目标物理服务器,比如可以选择剩余存储空间最大的物理服务器作为目标物理服务器,或者可以选择剩余存储空间能够容纳指定镜像文件、且网络状态较优的物理服务器作为目标物理服务器。在选择出目标物理服务器之后,可以根据目标物理服务器及镜像文件预测请求(具体是该镜像文件预热请求所指示的指定镜像文件的信息及指定分布式节点信息)进行封装处理,得到镜像文件预热任务。
在步骤S320中,检测中心节点与指定分布式节点之间的网络传输通道。
在一些可选的实施例中,检测中心节点与指定分布式节点之间的网络传输通道的过程具体可以是检测中心节点与指定分布式节点之间的网络传输通道的带宽占用情况。可选地,可以按照一定的周期来进行检测,即可以周期性地检测中心节点与指定分布式节点之间的网络传输通道的带宽占用情况,如果在一个检测周期内检测到中心节点与指定分布式节点之间的网络传输通道的带宽占用大于设定值,那么可以等待下一检测周期。如果在一个检测周期内检测到中心节点与指定分布式节点之间的网络传输通道的带宽占用小于设定值,那么可以执行下述步骤S330。
在步骤S330中,若检测到中心节点与指定分布式节点之间的网络传输通道的带宽占用小于或等于设定值,则从镜像预热任务队列中选择待处理的目标任务。
在本申请的实施例中,通过在检测到中心节点与指定分布式节点之间的网络传输通道的带宽占用小于或等于设定值时,从镜像预热任务队列中选择待处理的目标任务,可以保证镜像文件的预热处理过程是在中心节点与分布式节点之间的网络传输通道的带宽占用较小的情况下进行的,进而可以在实现镜像文件预热的前提下,尽可能减少对中心节点与分布式节点之间的网络传输通道的影响。
在一些可选的实施例中,中心节点可以在网络带宽允许的情况下,从镜像预热任务队列中选择多个目标任务发送给指定分布式节点进行执行。
当然,考虑到分布式系统中网络带宽的限制,中心节点也可以控制在同一时间只处理一个镜像预热任务。在这种情况下,中心节点还需要检测镜像预热任务队列中的任务执行情况,并且在检测到中心节点与指定分布式节点之间的网络传输通道的带宽占用小于或等于设定值、且镜像预热任务队列中的任务均未处于执行状态时,再从镜像预热任务队列中选择一个目标任务。此外,在按照一定的周期进行检测时,除了在检测到中心节点与指定分布式节点之间的网络传输通道的带宽占用大于设定值时,等待下一检测周期,还需要在检测到镜像预热任务队列中存在执行中的任务时,等待下一检测周期。
在步骤S340中,将目标任务发送至指定分布式节点,以使指定分布式节点从镜像仓库中拉取与目标任务对应的镜像文件,并基于与中心节点之间的网络状态调整镜像文件的下载速率。
在一些可选的实施例中,中心节点在将目标任务发送至指定分布式节点之后,可以从镜像预热任务队列中删除目标任务。并且在接收到指定分布式节点返回的任务执行结果信息时,可以将任务执行结果信息进行持久化保存。其中,任务执行结果信息可以是任务执行成功的信息或者任务执行失败的信息,如果根据任务执行结果信息确定任务执行成功,那么中心节点可以将下载成功的镜像文件与指定分布式节点进行关联存储,以便于记录指定分布式节点下载了哪些镜像文件。
基于图3所示实施例的技术方案,如图4所示,根据本申请的一个实施例的分布式系统的镜像文件管理方法,至少包括步骤S410至步骤S430,详细介绍如下:
在步骤S410中,检测指定分布式节点中所包含的各个物理服务器的存储空间占用情况。
在步骤S420中,若检测到指定分布式节点中存储空间占用超过设定阈值的目标物理服务器的数量小于或等于设定数量,则将目标物理服务器中的镜像文件迁移至指定分布式节点中的其它物理服务器中。
在一些可选的实施例中,该设定阈值在实际应用时可以根据实现需要进行设定,比如可以是物理服务器的存储空间的90%、80%等。该设定数量也可以根据实际情况进行设定,比如可以是指定分布式节点中物理服务器总数量的一半,或者也可以是在其它物理服务器能够容纳需要迁移的镜像文件的前提下所确定出的数量值。
在步骤S430中,若检测到指定分布式节点中存储空间占用超过设定阈值的目标物理服务器的数量大于设定数量,则对指定分布式节点中所包含的物理服务器的镜像文件进行删减处理。
在一些可选的实施例中,如果指定分布式节点中存储空间占用超过设定阈值的目标物理服务器的数量大于设定数量,那么说明指定分布式节点中的物理服务器都无法再容纳迁移的镜像文件,因此需要对指定分布式节点中所包含的物理服务器的镜像文件进行删减处理。
可选地,可以根据以下方式中的至少一个对指定分布式节点中所包含的物理服务器的镜像文件进行删减处理:按照镜像文件的最近使用时间由远至近的顺序、优先删除不存在虚拟子机的镜像文件。比如,可以优先删除最久未使用、且不存在虚拟子机的镜像文件;然后删除最久未使用,但存在虚拟子机的镜像文件;如果这两种情况都不满足,那么可以按照最近使用时间由远至近的顺序进行删除。
图4所示实施例的技术方案使得可以对分布式节点中的镜像文件进行调度管理,进而可以在保障分布式节点中的物理服务器具有空间余量的情况,尽可能利用分布式节点中整个物理服务器集群的存储空间,以提高存储空间的利用率。
图5示出了根据本申请的一个实施例的分布式系统的镜像文件管理方法的流程图,该分布式系统的镜像文件管理方法可以由分布式节点来执行,具体比如可以由分布式节点内的物理服务器来执行。参照图5所示,该分布式系统的镜像文件管理方法至少包括步骤S510至步骤S530,详细介绍如下:
在步骤S510中,接收镜像预热任务,该镜像预热任务用于指示分布式节点从中心节点的镜像仓库中下载指定镜像文件,该镜像预热任务是镜像文件管理系统在检测到中心节点与分布式节点之间的网络传输通道的带宽占用小于或等于设定值时发送的。
需要说明的是,镜像文件管理系统生成镜像预热任务以及向分布式节点发送镜像预热任务的过程参照前述实施例的技术方案,不再赘述。
在步骤S520中,根据镜像预热任务从镜像仓库中下载指定镜像文件。
在一些可选的实施例中,分布式节点可以根据镜像预热任务所指示的指定镜像文件的信息(如下载地址等),从中心节点的镜像仓库中下载指定镜像文件。
在步骤S530中,在下载指定镜像文件的过程中,根据中心节点与分布式节点之间的网络状态调整指定镜像文件的下载速率。
在一些可选的实施例中,根据中心节点与分布式节点之间的网络状态调整指定镜像文件的下载速率的过程,具体可以是:在检测到中心节点与分布式节点之间的网络传输质量在设定时长内持续大于设定质量阈值时,按照第一设定步长依次增加下载速率,直至下载速率增加到第一速率阈值。可选地,第一设定步长和第一速率阈值在具体实施时可以根据实际需要进行设定,比如第一设定步长可以是10%的带宽,第一速率阈值可以是80%的带宽等。
需要说明的是,网络传输质量可以通过丢包率和/或时延来进行表征,比如若中心节点与分布式节点之间的网络传输通道的丢包率小于设定丢包率阈值、时延小于设定时延阈值,说明中心节点与分布式节点之间的网络传输质量大于设定质量阈值;若中心节点与分布式节点之间的网络传输通道的丢包率大于设定丢包率阈值,或者时延大于设定时延阈值,说明中心节点与分布式节点之间的网络传输质量小于或等于设定质量阈值。
在一些可选的实施例中,在下载指定镜像文件的过程中,如果检测到中心节点与分布式节点之间的网络传输质量小于或等于设定质量阈值,则可以按照第二设定步长依次减小下载速率,直至下载速率减小到第二速率阈值或者网络传输质量大于设定质量阈值。可选地,第二设定步长和第二速率阈值在具体实施时也可以根据实际需要进行设定,比如第二设定步长可以是10%的带宽或者调整时的下载速率的一半,第二速率阈值可以是1%的带宽等。
在图5所示的技术方案中,分布式节点通过根据与中心节点之间的网络状态调整镜像文件的下载速率,使得可以实现对镜像文件下载速率的动态调整,进而可以在网络传输质量较高时,通过增加下载速率来提高镜像文件的下载速度;而在网络传输质量较低时,可以通过降低下载速率来避免镜像文件的下载过程对中心节点与分布式节点之间的网络传输通道造成较大影响。
以上分别从中心节点和分布式节点的角度对本申请实施例的技术方案进行了说明,以下以中心节点是中心云、分布式节点是分布式云为例,对本申请实施例的技术方案的实现细节进行详细阐述:
如图6所示,在应用本申请实施例的技术方案的一个系统架构中,中心云内部署有镜像预热调度系统,该镜像预热调度系统包括预热任务模块、调度模块和检测模块。分布式云内部署有集群A(图6所示示例仅示出了一个集群的情况),集群A中包含有多个物理服务器,每个物理服务器中可以部署有代理装置。
在一些可选的实施例中,镜像预热调度系统中的预热任务模块用于进行镜像预热任务的构建处理、调度镜像预热任务执行,以及对任务执行结果进行持久化处理。镜像预热调度系统中的调度模块用于对分布式云中的镜像文件进行调度管理,比如进行镜像文件的淘汰处理以及镜像文件的迁移处理等。镜像预热调度系统中的检测模块用于对中心云与分布式云之间的VPN(Virtual Private Network,虚拟专用网络)通道进行检测,并且用于对分布式云中集群的存储空间进行检测。
在一些可选的实施例中,分布式云中的物理服务器是用于存储镜像文件的,其中的代理装置可以与中心云中的镜像预热调度系统进行通信,以从中心云的镜像仓库中下载对应的镜像文件。
基于图6所示的系统架构,如图7所示为本申请实施例中镜像文件管理的具体流程,包括如下步骤:
S701,运维人员选择需要预热的镜像文件、镜像文件需要预热到的集群(即分布式节点)。除此之外,运维人员也可以选择集群中用于存储镜像文件的物理服务器。当然,运维人员也可以不选择物理服务器,那么镜像预热调度系统可以根据集群内物理服务器的可用空间自动选择合适的物理服务器。
S702,如果运维人员没有选择物理服务器,那么镜像预热调度系统会自动选择合适的物理服务器。比如,可以选择剩余存储空间最大的物理服务器,或者选择剩余存储空间能够容纳需要预热的镜像文件、且网络通信状态较优的物理服务器等。
S703,镜像预热调度系统封装镜像预热任务并持久化任务信息。
S704,镜像预热调度系统将镜像预热任务加入集群任务队列。可见,在图7所示的实施例中,当生成镜像预热任务之后,并不会立即启动任务,而是将得到的镜像预热任务加入到集群对应的任务队列中。
S705,镜像预热调度系统检查任务队列中的任务是否在执行。若是,则执行S707;否则,执行S706。
需要说明的是,可以通过一个定时任务来触发检查过程,比如可以每分钟检查一次或者半分钟检查一次等。考虑到镜像文件下载时对带宽占用较高,本申请实施例中可以控制镜像预热任务在同一时间只有一个在进行处理,所以需要在S705中进行任务执行情况的检测。在本申请的其它实施例中,镜像预热任务在同一时间也可以有多个同时进行处理。
S706,镜像预热调度系统检查网络链路带宽是否占用高。即检查中心云与分布式云之间的网络传输通道的链路带宽是否占用较高。若是,则执行S707;否则,执行S708。
可选地,除了检查中心云与分布式云之间的网络传输通道的带宽占用情况之外,还可以检查中心云与分布式云之间的网络传输通道的出入包量、丢包率、通道延时等。
S707,任务挂起并轮询检查任务队列。即本次检查周期结束,不执行任务队列中的任务,等待下个检查周期再次进行检查。
需要说明的是,在S705至S707中,首先查询当前集群对应的任务队列是否已经有正在镜像预热的任务,如果已经有任务在执行,那么就结束检查,并等待下一次检查。如果没有正在预热的任务,那么检查中心云与分布式云之间的网络链路,这里需要注意的是,中心云与分布式云之间一般通过VPN通道连接,这是因为中心云与分布式云之间需要经过公网,而VPN通道能够保障数据安全。如果检查到中心云与分布式云之间的网络链路的当前带宽占用率已经达到阈值,那么本次定时任务也将结束,并等待下一次定时任务。如果没有正在预热的任务,并且网络链路满足带宽占用小于阈值的情况,则再执行S708。
在本申请的其它实施例中,也可以先进行网络链路带宽占用情况的检查,再检查任务队列中的任务是否在执行;或者也可以同时进行网络链路带宽占用情况的检查,以及检查任务队列中的任务是否在执行。
S708,镜像预热调度系统获取队列中排在第一位的任务。
S709,镜像预热调度系统启动任务执行,并更改任务状态。即图7所示实施例的技术方案是通过消息队列的方式通知所选择的物理服务器上的代理装置处理镜像预热任务。
S710,物理服务器中的代理装置接收镜像预热调度系统发送的任务,然后从中心云的镜像仓库中拉取对应的镜像文件,并保存在物理服务器的本地目录下。
S711,判断在拉取镜像文件的过程中,中心云与分布式云之间的网络传输通道的网络丢包延时是否上升。若是,则执行S712;否则,执行S714。
S712,将镜像文件的下载速率减半直到下降至最低。
S713,判断网络是否恢复。若是,则执行S714;否则,执行S712。
S714,将镜像文件的下载速率按照固定值逐步进行上浮,直至到达阈值时不再上浮。
S715,判断镜像文件是否预热完成,即判断镜像文件是否从镜像仓库中下载完成。若是,则执行S716;否则,返回执行S711。
需要说明的是,在S710至S715中,代理装置在刚开始下载时可以以一个较低的速率拉取镜像文件(比如可以是带宽的10%),同时不断对VPN通道进行检测,在发现一段时间内(比如可以是5分钟)这一下载速率不会对VPN通道的丢包率和时延造成影响后,会将下载速率上浮(比如可以上浮带宽的10%),并继续观察VPN通道,直到下载速率增加到带宽的80%(该数值仅为示例)并停止继续提高。在镜像文件的下载过程中,如果出现VPN通道的丢包率和时延出现明显升高,则可以将下载速率调整为当前下载速率的一半,如果网络没有恢复则继续下降至当前速率的一半,直到下降至带宽的1%以下,并保持这一下载速率。如果网络的丢包率和时延恢复到正常情况,则保持当前下载速率一个周期(比如可以为5分钟),然后开始按照上述过程逐步上浮下载速率。可见,图7所示的实施例中可以在下载镜像文件的过程中,不断动态调整镜像文件下载速率,以在网络传输质量较高时,通过增加下载速率来提高镜像文件的下载速度;而在网络传输质量较低时,可以通过降低下载速率来避免镜像文件的下载过程对中心节点与分布式节点之间的网络传输通道造成较大影响。
S716,代理装置在下载完镜像文件后,将任务执行状态和执行结果返回给镜像预热调度系统,镜像预热调度系统更新镜像预热位置信息。
S717,镜像预热调度系统更新镜像预热任务的执行状态,并保存任务结果。并且可以将预热成功(即下载成功)的镜像文件与物理服务器关联起来,以便于记录物理服务器上已经存储有哪些镜像文件。
S718,镜像预热调度系统返回任务执行状态和执行结果至运维人员端(如运维人员使用的客户端)。
S719,运维人员端(如运维人员使用的客户端)展示任务执行状态和执行结果。
在本申请的一个实施例中,镜像预热调度系统也可以在集群或者单个物理服务器的存储空间不足时(比如存储空间占用超过90%则认为存储空间不足),对镜像文件进行淘汰(即删除)或迁移处理。具体地,由于物理服务器的存储空间是各个组件、服务共用的,如果淘汰镜像文件,一方面是淘汰不会影响正常的功能使用,另一方面是镜像文件往往比较大,淘汰后也能腾出更多存储空间。同时,考虑到镜像文件在淘汰后可能会再次使用,那么如果重新从中心云的镜像仓库中进行下载,则会影响用户创建对应虚拟子机的时间,因此镜像预热调度系统可以优先选择迁移镜像文件。即将存储空间不足的物理服务器中的镜像文件迁移到另一台有足够存储空间的物理服务器上。而如果整个集群中的所有物理服务器都出现存储空间不足的情况,那么可以进行镜像文件的淘汰处理,在进行淘汰时,可以优先对最久未使用,且不存在虚拟子机的镜像文件进行淘汰,然后淘汰最久未使用,但对应有虚拟子机的镜像文件,如果这两种情况都不满足,则按照最近使用时间从远到近的顺序进行淘汰处理。
本申请上述实施例的技术方案可以通过镜像预热处理,将镜像文件提前加载到物理服务器上,从而加快镜像文件的启动速度,减少用户等待时间,提高了用户的体验。而通过对中心云与分布式云之间的网络链路进行检测,并动态调整镜像文件的下载速度,可以减少对正常网络流量的影响。而通过控制预热任务的并发量和下发任务前的网络检测,使得可以在网络允许的情况下再进行镜像预热的相关操作,避免对中心云与分布式云之间的正常通信过程造成影响。此外,通过迁移和淘汰镜像文件,可以在保障物理服务器具有空间余量的情况下,尽可能利用整个集群的存储空间,提高了空间利用率。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的分布式系统的镜像文件管理方法。对于本申请装置实施例中未披露的细节,请参照本申请上述的分布式系统的镜像文件管理方法的实施例。
图8示出了根据本申请的一个实施例的分布式系统的镜像文件管理装置的框图,该分布式系统的镜像文件管理装置可以应用于中心节点,具体比如可以应用于部署在中心节点内的镜像文件管理系统。
参照图8所示,根据本申请的一个实施例的分布式系统的镜像文件管理装置800,包括:获取单元802、检测单元804、选择单元806和发送单元808。
其中,获取单元802配置为获取指定分布式节点对应的镜像预热任务队列,所述镜像预热任务队列中的镜像预热任务用于指示所述指定分布式节点从中心节点的镜像仓库中下载相应的镜像文件;检测单元804配置为检测所述中心节点与所述指定分布式节点之间的网络传输通道;选择单元806配置为若检测到所述中心节点与所述指定分布式节点之间的网络传输通道的带宽占用小于或等于设定值,则从所述镜像预热任务队列中选择待处理的目标任务;发送单元808配置为将所述目标任务发送至所述指定分布式节点,以使所述指定分布式节点从所述镜像仓库中拉取与所述目标任务对应的镜像文件,并基于与所述中心节点之间的网络状态调整镜像文件的下载速率。
在本申请的一些实施例中,基于前述方案,所述检测单元804还配置为:检测所述镜像预热任务队列中的任务执行情况;若检测到所述镜像预热任务队列中的任务均未处于执行状态,且所述中心节点与所述指定分布式节点之间的网络传输通道的带宽占用小于或等于设定值,则从所述镜像预热任务队列中选择待处理的一个目标任务。
在本申请的一些实施例中,基于前述方案,所述镜像文件管理装置800还包括:接收单元,配置为接收镜像文件预热请求,所述镜像文件预热请求用于请求从所述镜像仓库中将指定镜像文件下载至指定分布式节点中;生成单元,配置为根据所述镜像文件预热请求生成镜像文件预热任务,并将所述镜像文件预热任务添加至所述指定分布式节点对应的镜像预热任务队列中。
在本申请的一些实施例中,基于前述方案,所述生成单元配置为:根据所述指定分布式节点中所包含的物理服务器的状态信息,从所述指定分布式节点中所包含的物理服务器中选择用于存储镜像文件的目标物理服务器;根据所述目标物理服务器及所述镜像文件预测请求进行封装处理,得到所述镜像文件预热任务。
在本申请的一些实施例中,基于前述方案,所述检测单元804还配置为:检测所述指定分布式节点中所包含的各个物理服务器的存储空间占用情况;所述镜像文件管理装置800还包括:处理单元,配置为若检测到所述指定分布式节点中存储空间占用超过设定阈值的目标物理服务器的数量小于或等于设定数量,则将所述目标物理服务器中的镜像文件迁移至所述指定分布式节点中的其它物理服务器中。
在本申请的一些实施例中,基于前述方案,所述处理单元还配置为:若检测到所述指定分布式节点中存储空间占用超过设定阈值的目标物理服务器的数量大于所述设定数量,则对所述指定分布式节点中所包含的物理服务器的镜像文件进行删减处理。
在本申请的一些实施例中,基于前述方案,所述处理单元配置为根据以下方式中的至少一个对所述指定分布式节点中所包含的物理服务器的镜像文件进行删减处理:按照镜像文件的最近使用时间由远至近的顺序、优先删除不存在虚拟子机的镜像文件。
在本申请的一些实施例中,基于前述方案,所述镜像文件管理装置800还包括:处理单元,配置为在将所述目标任务发送至所述指定分布式节点之后,从所述镜像预热任务队列中删除所述目标任务;以及在接收到所述指定分布式节点返回的任务执行结果信息时,将所述任务执行结果信息进行持久化保存,并将下载成功的镜像文件与所述指定分布式节点进行关联存储。
在本申请的一些实施例中,基于前述方案,所述检测单元804配置为:周期性检测所述中心节点与所述指定分布式节点之间的网络传输通道的带宽占用情况;若在一个检测周期内检测到所述中心节点与所述指定分布式节点之间的网络传输通道的带宽占用大于所述设定值,或者检测到所述镜像预热任务队列中存在执行中的任务,则等待下一检测周期。
图9示出了根据本申请的一个实施例的分布式系统的镜像文件管理装置的框图,该分布式系统的镜像文件管理装置可以应用于分布式节点,具体比如可以应用于分布式节点内的物理服务器。
参照图9所示,根据本申请的一个实施例的分布式系统的镜像文件管理装置900,包括:接收单元902、下载单元904和调整单元906。
其中,接收单元902配置为接收镜像预热任务,所述镜像预热任务用于指示分布式节点从中心节点的镜像仓库中下载指定镜像文件,所述镜像预热任务是镜像文件管理系统在检测到所述中心节点与所述分布式节点之间的网络传输通道的带宽占用小于或等于设定值时发送的;下载单元904配置为根据所述镜像预热任务从所述镜像仓库中下载所述指定镜像文件;调整单元906配置为在下载所述指定镜像文件的过程中,根据所述中心节点与所述分布式节点之间的网络状态调整所述指定镜像文件的下载速率。
在本申请的一些实施例中,基于前述方案,所述调整单元906配置为:若检测到所述中心节点与所述分布式节点之间的网络传输质量在设定时长内持续大于设定质量阈值,则按照第一设定步长依次增加所述下载速率,直至所述下载速率增加到第一速率阈值;若检测到所述中心节点与所述分布式节点之间的网络传输质量小于或等于所述设定质量阈值,则按照第二设定步长依次减小所述下载速率,直至所述下载速率减小到第二速率阈值或者所述网络传输质量大于所述设定质量阈值。
图10示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图,该电子设备可以是前述实施例中的中心节点或者分布式节点。
需要说明的是,图10示出的电子设备的计算机系统1000仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图10所示,计算机系统1000可以包括中央处理单元(Central ProcessingUnit,CPU)1001,其可以根据存储在只读存储器(Read-Only Memory,ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(Random Access Memory,RAM)1003中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM 1003中,还存储有系统操作所需的各种程序和数据。CPU 1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(Input /Output,I/O)接口1005也连接至总线1004。
以下部件可以连接至I/O接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序用于执行流程图所示的方法。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理单元(CPU)1001执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储计算机程序的有形介质,该计算机程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机程序的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个计算机程序,当上述一个或者多个计算机程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台电子设备执行根据本申请实施方式的方法。
比如,电子设备可以是中心节点,那么中心节点可以执行图3或图4所示的分布式系统的镜像文件管理方法;再如,电子设备可以是分布式节点,那么分布式节点可以执行图5所示的分布式系统的镜像文件管理方法。
本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (15)
1.一种分布式系统的镜像文件管理方法,其特征在于,包括:
获取指定分布式节点对应的镜像预热任务队列,所述镜像预热任务队列中的镜像预热任务用于指示所述指定分布式节点从中心节点的镜像仓库中下载相应的镜像文件;
检测所述中心节点与所述指定分布式节点之间的网络传输通道;
若检测到所述中心节点与所述指定分布式节点之间的网络传输通道的带宽占用小于或等于设定值,则从所述镜像预热任务队列中选择待处理的目标任务;
将所述目标任务发送至所述指定分布式节点,以使所述指定分布式节点从所述镜像仓库中拉取与所述目标任务对应的镜像文件,并基于与所述中心节点之间的网络状态调整镜像文件的下载速率。
2.根据权利要求1所述的分布式系统的镜像文件管理方法,其特征在于,所述镜像文件管理方法还包括:检测所述镜像预热任务队列中的任务执行情况;
若检测到所述中心节点与所述指定分布式节点之间的网络传输通道的带宽占用小于或等于设定值,则从所述镜像预热任务队列中选择待处理的目标任务,包括:
若检测到所述镜像预热任务队列中的任务均未处于执行状态,且所述中心节点与所述指定分布式节点之间的网络传输通道的带宽占用小于或等于设定值,则从所述镜像预热任务队列中选择一个待处理的目标任务。
3.根据权利要求1所述的分布式系统的镜像文件管理方法,其特征在于,所述镜像文件管理方法还包括:
接收镜像文件预热请求,所述镜像文件预热请求用于请求从所述镜像仓库中将指定镜像文件下载至指定分布式节点中;
根据所述镜像文件预热请求生成镜像文件预热任务,并将所述镜像文件预热任务添加至所述指定分布式节点对应的镜像预热任务队列中。
4.根据权利要求3所述的分布式系统的镜像文件管理方法,其特征在于,根据所述镜像文件预热请求生成镜像文件预热任务,包括:
根据所述指定分布式节点中所包含的物理服务器的状态信息,从所述指定分布式节点中所包含的物理服务器中选择用于存储镜像文件的目标物理服务器;
根据所述目标物理服务器及所述镜像文件预测请求进行封装处理,得到所述镜像文件预热任务。
5.根据权利要求1所述的分布式系统的镜像文件管理方法,其特征在于,所述镜像文件管理方法还包括:
检测所述指定分布式节点中所包含的各个物理服务器的存储空间占用情况;
若检测到所述指定分布式节点中存储空间占用超过设定阈值的目标物理服务器的数量小于或等于设定数量,则将所述目标物理服务器中的镜像文件迁移至所述指定分布式节点中的其它物理服务器中。
6.根据权利要求5所述的分布式系统的镜像文件管理方法,其特征在于,所述镜像文件管理方法还包括:
若检测到所述指定分布式节点中存储空间占用超过设定阈值的目标物理服务器的数量大于所述设定数量,则对所述指定分布式节点中所包含的物理服务器的镜像文件进行删减处理。
7.根据权利要求6所述的分布式系统的镜像文件管理方法,其特征在于,根据以下方式中的至少一个对所述指定分布式节点中所包含的物理服务器的镜像文件进行删减处理:
按照镜像文件的最近使用时间由远至近的顺序、优先删除不存在虚拟子机的镜像文件。
8.根据权利要求1所述的分布式系统的镜像文件管理方法,其特征在于,所述镜像文件管理方法还包括:
在将所述目标任务发送至所述指定分布式节点之后,从所述镜像预热任务队列中删除所述目标任务;以及
在接收到所述指定分布式节点返回的任务执行结果信息时,将所述任务执行结果信息进行持久化保存,并将下载成功的镜像文件与所述指定分布式节点进行关联存储。
9.根据权利要求1至8中任一项所述的分布式系统的镜像文件管理方法,其特征在于,检测所述中心节点与所述指定分布式节点之间的网络传输通道,包括:
周期性检测所述中心节点与所述指定分布式节点之间的网络传输通道的带宽占用情况;
若在一个检测周期内检测到所述中心节点与所述指定分布式节点之间的网络传输通道的带宽占用大于所述设定值,或者检测到所述镜像预热任务队列中存在执行中的任务,则等待下一检测周期。
10.一种分布式系统的镜像文件管理方法,其特征在于,包括:
接收镜像预热任务,所述镜像预热任务用于指示分布式节点从中心节点的镜像仓库中下载指定镜像文件,所述镜像预热任务是镜像文件管理系统在检测到所述中心节点与所述分布式节点之间的网络传输通道的带宽占用小于或等于设定值时发送的;
根据所述镜像预热任务从所述镜像仓库中下载所述指定镜像文件;
在下载所述指定镜像文件的过程中,根据所述中心节点与所述分布式节点之间的网络状态调整所述指定镜像文件的下载速率。
11.根据权利要求10所述的分布式系统的镜像文件管理方法,其特征在于,根据所述中心节点与所述分布式节点之间的网络状态调整所述指定镜像文件的下载速率,包括:
若检测到所述中心节点与所述分布式节点之间的网络传输质量在设定时长内持续大于设定质量阈值,则按照第一设定步长依次增加所述下载速率,直至所述下载速率增加到第一速率阈值;
若检测到所述中心节点与所述分布式节点之间的网络传输质量小于或等于所述设定质量阈值,则按照第二设定步长依次减小所述下载速率,直至所述下载速率减小到第二速率阈值或者所述网络传输质量大于所述设定质量阈值。
12.一种分布式系统的镜像文件管理装置,其特征在于,包括:
获取单元,配置为获取指定分布式节点对应的镜像预热任务队列,所述镜像预热任务队列中的镜像预热任务用于指示所述指定分布式节点从中心节点的镜像仓库中下载相应的镜像文件;
检测单元,配置为检测所述中心节点与所述指定分布式节点之间的网络传输通道;
选择单元,配置为若检测到所述中心节点与所述指定分布式节点之间的网络传输通道的带宽占用小于或等于设定值,则从所述镜像预热任务队列中选择待处理的目标任务;
发送单元,配置为将所述目标任务发送至所述指定分布式节点,以使所述指定分布式节点从所述镜像仓库中拉取与所述目标任务对应的镜像文件,并基于与所述中心节点之间的网络状态调整镜像文件的下载速率。
13.一种分布式系统的镜像文件管理装置,其特征在于,包括:
接收单元,配置为接收镜像预热任务,所述镜像预热任务用于指示分布式节点从中心节点的镜像仓库中下载指定镜像文件,所述镜像预热任务是镜像文件管理系统在检测到所述中心节点与所述分布式节点之间的网络传输通道的带宽占用小于或等于设定值时发送的;
下载单元,配置为根据所述镜像预热任务从所述镜像仓库中下载所述指定镜像文件;
调整单元,配置为在下载所述指定镜像文件的过程中,根据所述中心节点与所述分布式节点之间的网络状态调整所述指定镜像文件的下载速率。
14.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至11中任一项所述的分布式系统的镜像文件管理方法。
15.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个计算机程序,当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述电子设备实现如权利要求1至11中任一项所述的分布式系统的镜像文件管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311310217.8A CN117061503B (zh) | 2023-10-11 | 2023-10-11 | 镜像文件管理方法、装置、计算机可读介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311310217.8A CN117061503B (zh) | 2023-10-11 | 2023-10-11 | 镜像文件管理方法、装置、计算机可读介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117061503A true CN117061503A (zh) | 2023-11-14 |
CN117061503B CN117061503B (zh) | 2024-01-26 |
Family
ID=88659416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311310217.8A Active CN117061503B (zh) | 2023-10-11 | 2023-10-11 | 镜像文件管理方法、装置、计算机可读介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117061503B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140006354A1 (en) * | 2010-05-03 | 2014-01-02 | Panzura, Inc. | Executing a cloud command for a distributed filesystem |
US20140115124A1 (en) * | 2011-12-20 | 2014-04-24 | Huawei Technologies Co., Ltd. | Method, Apparatus and System for Downloading File in Content Delivery Network |
CN104158904A (zh) * | 2014-08-28 | 2014-11-19 | 重庆邮电大学 | 一种云辅助移动p2p网络协同下载方法 |
US20150319214A1 (en) * | 2014-04-30 | 2015-11-05 | Futurewei Technologies, Inc. | Enhancing dash-like content streaming for content-centric networks |
US20190386923A1 (en) * | 2018-06-18 | 2019-12-19 | Akamai Technologies, Inc. | Download management with congestion mitigation for over the air content delivery to vehicles |
CN110661862A (zh) * | 2019-09-20 | 2020-01-07 | 网宿科技股份有限公司 | 一种预热资源文件的方法和中心管理系统 |
CN110740174A (zh) * | 2019-09-30 | 2020-01-31 | 北京字节跳动网络技术有限公司 | 文件下载限速方法、装置及电子设备 |
CN111343220A (zh) * | 2018-12-18 | 2020-06-26 | 北京京东尚科信息技术有限公司 | 转发器、分布式文件传输方法、系统、介质及电子设备 |
CN112565325A (zh) * | 2019-09-26 | 2021-03-26 | 华为技术有限公司 | 镜像文件管理方法、装置及系统、计算机设备、存储介质 |
CN115794139A (zh) * | 2023-01-16 | 2023-03-14 | 腾讯科技(深圳)有限公司 | 镜像数据处理方法、装置、设备以及介质 |
CN116166379A (zh) * | 2023-02-16 | 2023-05-26 | 南京烽火星空通信发展有限公司 | 一种基于云平台的镜像裁剪及多架构镜像构建方法 |
CN116614517A (zh) * | 2023-04-26 | 2023-08-18 | 江苏博云科技股份有限公司 | 一种针对边缘计算场景的容器镜像预热及分发方法 |
CN116633938A (zh) * | 2022-02-11 | 2023-08-22 | 华为云计算技术有限公司 | 一种调度方法及装置 |
-
2023
- 2023-10-11 CN CN202311310217.8A patent/CN117061503B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140006354A1 (en) * | 2010-05-03 | 2014-01-02 | Panzura, Inc. | Executing a cloud command for a distributed filesystem |
US20140115124A1 (en) * | 2011-12-20 | 2014-04-24 | Huawei Technologies Co., Ltd. | Method, Apparatus and System for Downloading File in Content Delivery Network |
US20150319214A1 (en) * | 2014-04-30 | 2015-11-05 | Futurewei Technologies, Inc. | Enhancing dash-like content streaming for content-centric networks |
CN104158904A (zh) * | 2014-08-28 | 2014-11-19 | 重庆邮电大学 | 一种云辅助移动p2p网络协同下载方法 |
US20190386923A1 (en) * | 2018-06-18 | 2019-12-19 | Akamai Technologies, Inc. | Download management with congestion mitigation for over the air content delivery to vehicles |
CN111343220A (zh) * | 2018-12-18 | 2020-06-26 | 北京京东尚科信息技术有限公司 | 转发器、分布式文件传输方法、系统、介质及电子设备 |
CN110661862A (zh) * | 2019-09-20 | 2020-01-07 | 网宿科技股份有限公司 | 一种预热资源文件的方法和中心管理系统 |
CN112565325A (zh) * | 2019-09-26 | 2021-03-26 | 华为技术有限公司 | 镜像文件管理方法、装置及系统、计算机设备、存储介质 |
CN110740174A (zh) * | 2019-09-30 | 2020-01-31 | 北京字节跳动网络技术有限公司 | 文件下载限速方法、装置及电子设备 |
CN116633938A (zh) * | 2022-02-11 | 2023-08-22 | 华为云计算技术有限公司 | 一种调度方法及装置 |
CN115794139A (zh) * | 2023-01-16 | 2023-03-14 | 腾讯科技(深圳)有限公司 | 镜像数据处理方法、装置、设备以及介质 |
CN116166379A (zh) * | 2023-02-16 | 2023-05-26 | 南京烽火星空通信发展有限公司 | 一种基于云平台的镜像裁剪及多架构镜像构建方法 |
CN116614517A (zh) * | 2023-04-26 | 2023-08-18 | 江苏博云科技股份有限公司 | 一种针对边缘计算场景的容器镜像预热及分发方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117061503B (zh) | 2024-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107590001B (zh) | 负载均衡方法及装置、存储介质、电子设备 | |
CN108696374B (zh) | 更新客户端配置的方法和装置 | |
EP3873066A1 (en) | Method for managing resource state information, and resource downloading system | |
CN107547629B (zh) | 客户端静态资源下载的方法、装置、电子设备和可读介质 | |
CN107357896A (zh) | 数据库集群的扩容方法、装置、系统和数据库集群系统 | |
WO2023072042A1 (en) | Event-driven provisioning of elastic orchestration platform | |
CN109428926B (zh) | 一种调度任务节点的方法和装置 | |
CN114301980A (zh) | 容器集群的调度方法、装置、系统及计算机可读介质 | |
CN111935270A (zh) | 基于边缘计算平台的通信方法、装置、介质及电子设备 | |
CN110809043B (zh) | 一种基于物联网的数据处理方法、装置、设备及存储介质 | |
CN114296953A (zh) | 一种多云异构系统及任务处理方法 | |
CN107818027B (zh) | 名字节点主备切换的方法、装置和分布式系统 | |
CN117061503B (zh) | 镜像文件管理方法、装置、计算机可读介质及电子设备 | |
CN116961918A (zh) | 令牌获取方法和装置 | |
CN111061723A (zh) | 工作流实现方法及装置 | |
CN113452727B (zh) | 一种设备云化的业务处理方法、装置和可读介质 | |
CN111479137B (zh) | 线路地址的提供方法、装置、服务器及存储介质 | |
CN113238808B (zh) | 一种消息推送方法和装置 | |
CN106919411A (zh) | 适用于Linux的操作系统更新系统及其方法 | |
CN113778504B (zh) | 一种发布方法、发布系统及路由装置 | |
CN109450818A (zh) | 物联网信息下发的方法、装置、设备和介质 | |
CN116112880B (zh) | 基于mq的高并发短信发送方法和装置 | |
CN108600025B (zh) | 一种系统自动容灾的方法和装置 | |
CN111179097B (zh) | 保单批改的方法、装置、电子设备和存储介质 | |
WO2022267692A1 (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 |