一种服务器集群文件的更新方法及装置制造方法及图纸

技术编号:11072121 阅读:102 留言:0更新日期:2015-02-25 11:30
本申请提供了一种服务器集群文件的更新方法及装置;方法包括:将待更新的应用关联的各服务器主机分别按照该服务器主机所属的业务分组分入子队列,各子队列中属于一个机房的服务器主机相邻排列;将各业务子队列按任意顺序连接为一个总队列;将所述总队列中的各服务器主机均匀分配到不同更新队列中;对各更新队列分批执行文件更新操作。本申请能够减小服务器集群文件在更新时对线上业务产生的影响。

【技术实现步骤摘要】

本专利技术涉及计算机领域,尤其涉及一种服务器集群文件的更新方法及装置
技术介绍
对于业务规模庞大的网站,单个应用(即一组采用文件内容,提供相同的一个或多个业务功能的服务模块的统称)使用较大规模的服务器分布在多个机房对外提供服务,同时因为需要在高并发量业务访问的时候优先保证核心业务的使用,会对单个应用划分多个业务分组,隔离不同应用对该服务的调用,避免相互影响。当应用因业务功能升级需要对所在的服务器集群更新时,一般会导致服务器不能提供对外服务一些时间。因此在这样的应用格局下,会根据当时服务器的负载情况,动态调整更新的服务器分批数,需要在尽量短的时间内更新完成,且又不影响用户的正常访问。现有的技术方案可供参考的比较少,业界涉及此类切片更新情况,一般有以下实现方法:一种是一个一个机房的发布,一般是停一个机房,更新一个机房,这样的影响面较大,特别在一些机房数较少、机房服务器数量或配置高低分布不均匀的情况下,极容易对业务的支撑能力产生影响;另一种是顺序或随机打乱主机分布,直接切片为几部分发布,这样仍有可能导致某个业务分组被分在同一批里进行更新操作,而导致访问可能受到影响。
技术实现思路
本申请要解决的技术问题是如何减小服务器集群文件在更新时对线上业务产生的影响。为了解决上述问题,本申请提供了一种服务器集群文件的更新方法,包括:将待更新的应用关联的各服务器主机分别按照该服务器主机所属的业务分组分入子队列,各子队列中属于一个机房的服务器主机相邻排列;将各业务子队列按任意顺序连接为一个总队列;将所述总队列中的各服务器主机均匀分配到不同更新队列中;对各更新队列分批执行文件更新操作。可选地,将所述总队列中的各服务器主机均匀分配到不同更新队列中的步骤包括:分别用所述总队列中的各服务器主机在该总队列中的序号对N取模;将所述总队列中的各服务器主机分配到取模的结果所表示的更新队列中;所述N为更新的批次数。可选地,将待更新的应用关联的各服务器主机分别按照该服务器主机所属的业务分组分入子队列,各子队列中属于一个机房的服务器主机相邻排列的步骤包括:将待更新的应用关联的服务器主机,按照各服务器主机所属的机房排序成一个初始队列;从所述初始队列中将属于每个业务分组的服务器主机从所述初始队列中提取出,形成各个业务子队列,提取后剩下的主机形成通用子队列;各子队列中服务器主机按照这些服务器主机在初始队列中的顺序进行排列。可选地,将各业务子队列按任意顺序连接为一个总队列的步骤是指:将各个业务子队列相连接后再连接到通用子队列后形成所述总队列。本申请还提供了一种服务器集群文件的更新装置,包括:分组单元,用于将待更新的应用关联的各服务器主机分别按照该服务器主机所属的业务分组分入子队列,各子队列中属于一个机房的服务器主机相邻排列;连接单元,用于将各业务子队列按任意顺序连接为一个总队列;分配单元,用于将所述总队列中的各服务器主机均匀分配到不同更新队列中;更新单元,用于对各更新队列分批执行文件更新操作。可选地,所述分配单元包括:取模模块,用于分别用所述总队列中的各服务器主机在该总队列中的序号对N取模;分配模块,用于将所述总队列中的各服务器主机分配到取模的结果所表示的更新队列中;所述N为更新的批次数。可选地,所述分组单元包括:排列模块,用于将待更新的应用关联的服务器主机,按照各服务器主机所属的机房排序成一个初始队列;提取模块,用于从所述初始队列中将属于每个业务分组的服务器主机从所述初始队列中提取出,形成各个业务子队列,提取后剩下的主机形成通用子队列;各子队列中服务器主机按照这些服务器主机在初始队列中的顺序进行排列。可选地,所述连接单元将各业务子队列按任意顺序连接为一个总队列是指:所述连接单元将各个业务子队列相连接后再连接到通用子队列后形成所述总队列。本申请的至少一个备选方案可以将应用关联的所有服务器主机均匀的将放置在各个更新的批次中(均匀程度:无论服务器总数多少,服务器更新数量最多的批次和最少的批次数量相差不超过1台),避免出现服务的终止,保证服务的持续性,最大程度减少因文件更新对线上业务产生影响,同时对应用的部署架构无要求;更新的分批数可根据业务需要动态调整,由于每批更新的服务器主机较为平均,避免了对线上业务的支撑能力产生波动;而且无论应用关联的服务器主机属于单个或多个机房、有或没有业务分组的情况都可以适用。本申请的优化方案给出了均匀分配服务器主机到各更新批次的各种具体实现方式。当然,实施本申请的任一产品必不一定需要同时达到以上所述的所有优点。附图说明图1为实施例一中服务器集群文件的更新方法的流程示意图;图2a为实施例一中例子里各服务器主机的示意图;图2b为实施例一中例子里初始队列的示意图;图2c为实施例一中例子里总队列的示意图;图2d为实施例一中例子里分2批更新时各更新队列的示意图;图2e为实施例一中例子里分3批更新时各更新队列的示意图;图2f为实施例一中例子里分4批更新时各更新队列的示意图。具体实施方式下面将结合附图及实施例对本申请的技术方案进行更详细的说明。需要说明的是,如果不冲突,本申请实施例以及实施例中的各个特征可以相互结合,均在本申请的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。在一个典型的配置中,服务器集群中的主机可包括多个处理器(CPU)、一个或多个输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM),快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储本文档来自技高网...
一种服务器集群文件的更新方法及装置

【技术保护点】
一种服务器集群文件的更新方法,包括:将待更新的应用关联的各服务器主机分别按照该服务器主机所属的业务分组分入子队列,各子队列中属于一个机房的服务器主机相邻排列;将各业务子队列按任意顺序连接为一个总队列;将所述总队列中的各服务器主机均匀分配到不同更新队列中;对各更新队列分批执行文件更新操作。

【技术特征摘要】
1.一种服务器集群文件的更新方法,包括:
将待更新的应用关联的各服务器主机分别按照该服务器主机所属的业务
分组分入子队列,各子队列中属于一个机房的服务器主机相邻排列;
将各业务子队列按任意顺序连接为一个总队列;
将所述总队列中的各服务器主机均匀分配到不同更新队列中;
对各更新队列分批执行文件更新操作。
2.如权利要求1所述的方法,其特征在于,将所述总队列中的各服务器
主机均匀分配到不同更新队列中的步骤包括:
分别用所述总队列中的各服务器主机在该总队列中的序号对N取模;
将所述总队列中的各服务器主机分配到取模的结果所表示的更新队列
中;所述N为更新的批次数。
3.如权利要求1或2所述的方法,其特征在于,将待更新的应用关联的
各服务器主机分别按照该服务器主机所属的业务分组分入子队列,各子队列
中属于一个机房的服务器主机相邻排列的步骤包括:
将待更新的应用关联的服务器主机,按照各服务器主机所属的机房排序
成一个初始队列;
从所述初始队列中将属于每个业务分组的服务器主机从所述初始队列中
提取出,形成各个业务子队列,提取后剩下的主机形成通用子队列;各子队
列中服务器主机按照这些服务器主机在初始队列中的顺序进行排列。
4.如权利要求3所述的方法,其特征在于,将各业务子队列按任意顺序
连接为一个总队列的步骤是指:
将各个业务子队列相连接后再连接到通用子队列后形成所述总队列。
5....

【专利技术属性】
技术研发人员:陆兴木
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1