一种分布式系统中升级文件分发方法

文档序号:7895276阅读:287来源:国知局
专利名称:一种分布式系统中升级文件分发方法
技术领域
本发明涉及电通信技术领域,尤其涉及一种分布式系统中文件分发方法。
背景技术
随着互联网应用的快速发展和用户规模的不断膨胀,需要大量服务器群共同协作实现共同协作提供网络服务。分布式系统则是规模网络服务的基础架构。随着用户需求的不断变化,分布式系统上的文件更新速度越来越频繁。一个有代表性的文件升级如图I所示,全网各主机服务器向管理服务器轮询下载相应的新版本升级文件并升级。然而一套分布式系统包括几百甚至上万台服务器,升级文件的下载流量高度集中在管理服务器上,造成全网流量的不均衡分布,因此管理服务器通常是整个系统文件升级的瓶颈。基于P2P的分布式模式也是常见的文件分发方法,P2P技术认为所有互联的设备互为对等体。由于用户与服务器之间的连接是双向的,用户彼此之间也是可以互相访问的,所以,当多个用户同时下载同一个文件时,他们可以互相上传已经下载的文件的一部分。这样重新分配向用户上传的开销之后,将大大减轻服务器的压力,从而可以克服集中模式的缺点,BitTorrent实现了这种分布式文件分发模式。基于P2P技术的分布式文件分发模式有着优良的伸缩性,但是如何保证效率和可靠性是其面临的技术难题。P2P分发模式在文件上传到服务器前将文件分块,互联设备下载文件块,并与网络中的其他设备分享下载的文件块,因此互联设备需要有效找出哪些互联设备已有文件的哪些部分以及它们应该被送到哪里。同时互联设备的连接是随机的,经常只有几分钟,没有服务质量的保证。网络中的设备随时有可能下线,需要重新寻找资源下载,并有可能某些文件块处于极少数互联设备中,拥有这些文件块的互联设备不再提供上传,就可能被永久丢失。而在电信级的分布式文件系统中,服务质量和传输的可靠性是非常重要的,因此如何将升级文件可靠快速可控地更新部署到全部系统设备,将是网络管理系统的巨大挑战。

发明内容
本发明提出一种分布式系统中文件分发方法,用以支持大规模网络升级,克服现有技术方案中心下载服务器的处理能力瓶颈以及P2P模式可靠性差的问题。本发明的核心思想是管理服务器为每个升级文件维护一个地址池,记录升级文件所有可用的下载地址及其相关信息。管理服务器本身也可以提供升级文件的下载服务,每当一个主机成功下载升级文件后,管理服务器将把升级文件在该主机上的下载地址添加进下载地址池,其他主机可以从地址池中的地址下载升级文件。随着更多的主机成功升级,地址池的可用地址也将增多,升级文件整个网络的分发速度也将呈几何级别的上升。管理服务器负责全网所有主机的升级管理,它可以根据预先定义的分发策略和升级调度算法,控制每台主机从地址池中选择一个地址下载指定升级文件,并对该主机上的应用程序进行安装升级。当主机下载完升级文件后,可以为其他主机提供升级文件的下载服务。对于一个未升级主机,如何从地址池中选择一个地址来下载升级文件,将由升级调度算法决定。所述升级调度算法包括就近原则,管理服务器可以选择一个地理位置或者网络位置距离未升级主机最近的URL地址;负载均衡原则,管理服务器可以选择当前负载最少的URL地址来下载服务,尽量保证地址池中下载服务器的负载均衡。权重原则,在负载均衡的基础上,区别考虑提供下载服务主机的服务能力,权重高的主机,其负载可以适当加大。权重低的主机,其负载可以适当减少。权重可以人工指定,也可以根据主机软硬件资源计算。本发明公开了一种分布式系统中升级文件分发方法,应用于包括管理服务器与至 少一个主机的分布式系统进行升级文件分发,所述升级文件分发方法包括步骤步骤I、管理服务器定义升级文件分发策略和升级调度算法,加载待升级文件,初始化升级文件的下载地址池;步骤2、管理服务器根据分发策略,选择主机进行升级,根据升级调度算法从地址池中选择升级文件下载地址,指定该地址作为所述主机的升级文件下载地址;步骤3、主机收到管理服务器指令后,从指定的地址下载升级文件;步骤4、主机下载升级文件成功后,报告管理服务器结果和所述主机上的升级文件访问地址,管理服务器将所述访问地址加入地址池;步骤5、管理服务器根据分发策略选择其他未升级主机进行升级,直至所有主机完成升级文件下载升级。进一步地,所述的步骤3还包括步骤主机从指定的地址下载升级文件后,对下载升级文件做合法性校验。其中,每个主机上均部署一个代理,所述代理可以接收管理服务器指令并与其它主机上的代理通讯。其中,所述的升级文件分发策略包括主机升级时间,升级文件类型、版本、大小和校验方式。其中,所述的升级调度算法采用就近原则,管理服务器选择一个地理位置或者网络位置距离未升级主机最近的地址,指定该地址作为所述主机的升级文件下载地址;所述的升级调度算法也可以采用负载均衡原则,管理服务器选择当前负载最少的地址,指定该地址作为所述主机的升级文件下载地址;所述的升级调度算法还可以采用负载均衡与权重相结合的原则,管理服务器选择当前负载较少的地址,同时根据提供下载服务主机的服务能力,权重高的主机,其负载可以适当加大,权重低的主机,其负载可以适当减少,指定优选的地址作为所述主机的升级文件下载地址。进一步地,当所述管理服务器上存在多个需要升级的文件时,管理服务器为每个升级文件定义升级文件分发策略和升级调度算法,并为每一个升级文件维护一个下载地址池。本方法适用于任何分布式系统,包括各种云系统。通过本发明分布式系统文件分发方法,具有如下技术效果I、根据定义的分发策略,系统中各主机按照分发策略在指定时间下载,可以实现文件的自动升级安装;2、通过设定下载地址池,并采用升级调度算法,可以避免因为中心下载服务器的瓶颈,而造成全网下载的拥塞和单点故障,可以统筹控制并充分利用全网各服务器的资源能力,快速并可控地更新部署全网服务节点;3、采用下载后进行文件校验的方法,可以保证文件传输的可靠校验,保证文件的
可靠性。


图I为现有技术文件发布结构示意图;图2为本发明实施例文件发布结构示意图;图3为本发明分布式系统文件分发方法流程示意图。
具体实施例方式下面结合附图和实施例对本发明技术方案做进一步详细说明,以下实施例不构成对本发明的限定。假设分布式式系统由一系列主机组成,主机可以是物理服务器,也可以是虚拟机,主机上可以运行一个或者多个应用程序(Application)。系统中部署一个管理服务器,负责管理全网所有的主机以及主机上的应用程序。每个主机上均部署一个特殊应用程序,称之为代理(Agent)。代理可以接收管理服务器指令并与其它主机上的代理通讯。管理服务器负责全网所有主机的升级管理,它可以根据预先定义的分发策略和升级调度算法,控制每台主机从地址池中选择一个地址下载指定升级文件,并对该主机上的应用程序进行安装升级。主机需要将本地已下载升级文件访问URL告知管理服务器,管理服务器可以让其他主机访问该URL下载升级文件。这样,每台主机既可以从其他主机下载升级文件,可以充当管理服务器,为其他主机提供下载服务器。以下通过如图2所示的实例来详细阐述本发明的分布式系统文件分发方法,所述分布式系统包括管理服务器和主机1,主机2,主机3三台主机,其中指定升级调度算法是选择负载最小的地址提供下载服务,并发任务数为1,所述的地址是URL地址。其升级流程如图3所示,包括步骤步骤301、管理服务器定义升级文件分发策略和升级调度算法,加载待升级文件,初始化升级文件的下载地址池。管理服务器负责全网所有主机的升级管理,它可以根据预先定义的分发策略,控制每台主机在指定时间从指定URL地址下载指定升级文件,并对该主机上的应用程序进行安装升级。分发策略包括但不限于主机升级时间,升级文件类型、版本、大小和校验方法。升级调度算法包括就近原则,管理服务器可以选择一个地理位置或者网络位置距离未升级主机最近的URL地址;负载均衡原则,管理服务器可以选择当前负载最少的URL地址来下载服务,尽量保证地址池中下载服务器的负载均衡。权重原则,在负载均衡的基础上,区别考虑提供下载服务主机的服务能力,权重高的主机,其负载可以适当加大。权重低的主机,其负载可以适当减少。权重可以人工指定,也可以根据主机软硬件资源计算。。初始化升级文件的下载地址池,该池中只有升级管理系统地址。
本实施例采用负载均衡原则,校验方法采用MD5校验。初始话的地址池仅包括管理服务器本身提供的URL地址。步骤302、管理服务器根据分发策略,首先选择主机I升级,因为此时地址池中只有管理服务器一个地址,因此主机将从管理服务器下载升级文件。步骤303、主机I的代理收到指令后,向管理服务器下载升级文件。步骤304、主机I的代理下载成功后,对下载的升级文件进行MD5校验,并报告管理服务器结果和主机I上的升级文件访问URL地址。步骤305、管理服务器更新下载地址池,根据分发策略选择主机2进行升级,此时地址池中有两个地址管理服务器和主机I。根据负载均衡原则,因为管理服务器的负载为1,而主机I的负载为0,因此管理服务器决定主机2的下载URL地址指向主机I。步骤306、主机2的代理收到指令后,向主机I下载升级文件。步骤307、主机2的代理下载成功后,对下载的升级文件进行MD5校验,并报告管理服务器结果和主机2上的升级文件访问URL地址。步骤308、管理服务器更新下载地址池,根据分发策略选择主机3进行升级,此时地址池中有三个地址管理服务器、主机I和主机2。因为主机2的负载最小,因此管理服务器决定主机3的下载URL地址指向主机2。步骤309、主机3的代理收到指令后,向主机2下载升级文件。步骤310、主机3的代理下载成功后,对下载的升级文件进行MD5校验,并报告管理服务器结果和主机3上的升级文件访问URL地址。至此完成这个网络的文件升级。其中主机可以采用FTP/SFTP/HTTP/HTTPS或者其它传输协议提供本地升级文件的下载服务,并保证传输安全。以上实施例仅用以说明本发明的技术方案而非对其进行限制,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1.ー种分布式系统中升级文件分发方法,应用于包括管理服务器与至少ー个主机的分布式系统进行升级文件分发,其特征在于,所述升级文件分发方法包括步骤 步骤I、管理服务器定义升级文件分发策略和升级调度算法,加载待升级文件,初始化升级文件的下载地址池; 步骤2、管理服务器根据分发策略,选择主机进行升级,根据升级调度算法从地址池中选择升级文件下载地址,指定该地址作为所述主机的升级文件下载地址; 步骤3、所述主机收到管理服务器指令后,从指定的地址下载升级文件; 步骤4、所述主机下载升级文件成功后,报告管理服务器结果和所述主机上的升级文件访问地址,管理服务器将所述访问地址加入地址池; 步骤5、管理服务器根据分发策略选择其他未升级主机进行升级,直至所有主机完成升级文件下载升级。
2.根据权利要求I所述的分布式系统中升级文件分发方法,其特征在于,所述的步骤3还包括步骤所述主机从指定的地址下载升级文件后,对下载升级文件做合法性校验。
3.根据权利要求I所述的分布式系统中升级文件分发方法,其特征在于,每个主机上均部署ー个代理,所述代理可以接收管理服务器指令并与其它主机上的代理通讯。
4.根据权利要求1-3任一项权利要求所述的分布式系统中升级文件分发方法,其特征在于,所述的分发策略包括主机升级时间,升级文件类型、版本、大小和校验方式。
5.根据权利要求1-3任一项权利要求所述的分布式系统中升级文件分发方法,其特征在于,所述的升级调度算法采用就近原则,管理服务器选择ー个地理位置或者网络位置距离未升级主机最近的地址,指定该地址作为所述主机的升级文件下载地址。
6.根据权利要求1-3任一项权利要求所述的分布式系统中升级文件分发方法,其特征在于,所述的升级调度算法采用负载均衡原则,管理服务器选择当前负载最少的地址,指定该地址作为所述主机的升级文件下载地址。
7.根据权利要求1-3任一项权利要求所述的分布式系统中升级文件分发方法,其特征在于,所述的升级调度算法采用负载均衡与权重相结合的原则,管理服务器选择当前负载较少的地址,同时根据提供下载服务主机的服务能力,权重高的主机,其负载可以适当加大,权重低的主机,其负载可以适当減少,指定优选的地址作为所述主机的升级文件下载地址。
8.根据权利要求I所述的分布式系统中升级文件分发方法,其特征在干,当所述管理服务器上存在多个需要升级的文件时,管理服务器为每个升级文件定义分发策略和升级调度算法,并为每一个升级文件维护ー个下载地址池。
全文摘要
本发明公开了一种分布式系统中文件分发方法,应用于包括管理服务器与至少一个主机的分布式系统进行文件分发,管理服务器负责全网所有主机的升级管理,它可以根据预先定义的分发策略和升级调度算法,控制每台主机从地址池中选择一个地址下载指定升级文件,并对该主机上的应用程序进行安装升级。主机将本地已下载升级文件访问地址告知管理服务器,管理服务器可以让其他主机访问该地址下载升级文件。每台主机既可以从其他主机下载升级文件,又可以充当下载服务器,为其他主机提供文件下载服务。本发明可以应用于包括云系统在内的任何分布式系统,可以有效避免管理服务器的瓶颈,并充分利用全网各服务器的资源能力,快速并可控地进行文件分发。
文档编号H04L29/08GK102761599SQ201210144810
公开日2012年10月31日 申请日期2012年5月10日 优先权日2012年5月10日
发明者肖翔 申请人:Ut斯达康通讯有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1