CN102882900A - 大规模服务器集群应用部署方法和大规模服务器集群 - Google Patents
大规模服务器集群应用部署方法和大规模服务器集群 Download PDFInfo
- Publication number
- CN102882900A CN102882900A CN2011101933479A CN201110193347A CN102882900A CN 102882900 A CN102882900 A CN 102882900A CN 2011101933479 A CN2011101933479 A CN 2011101933479A CN 201110193347 A CN201110193347 A CN 201110193347A CN 102882900 A CN102882900 A CN 102882900A
- Authority
- CN
- China
- Prior art keywords
- server
- deployment
- application
- fragment
- application server
- 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
Images
Landscapes
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
Abstract
一种大规模服务器集群应用部署方法及相应的大规模服务器集群,其中所述方法包括:步骤1:所述大规模服务器集群中的中心部署服务器将一个应用的部署包切分成多个片段,并将切分后的多个片段部署于所述大规模服务器集群中的多个应用服务器上;以及步骤2:各个所述应用服务器在被部署完所述部署包的所有片段后,将所述所有片段拼合成一个完整的部署包。本发明减轻了部署服务器性能负载,加快了从部署服务器向应用服务器分发应用部署包的速度和效率,消除部署服务器的处理和网络资源瓶颈,做到应用部署的时间与集群内的应用服务器数量无关,也无需如传统的分层分发技术的C/S架构那样维护大量的分层部署节点,还降低了开发和维护的难度。
Description
技术领域
本申请涉及大规模服务器集群的应用部署,尤其涉及在大型网站的后端服务器集群中(例如大于2000台服务器的规模)实现应用部署的方法、集群。
背景技术
在现在的互联网公司巨头,比如Google、Facebook、yahoo等网站,为了支撑海量用户的访问,其后端往往存在着上万台服务器集群来提供服务。原本在只有十几台服务器的集群运行和维护过程中使用的应用部署的成熟技术在同时维护成千上万台服务器的时候,就暴露出了性能瓶颈。
例如,研发部门研发出了一个新的应用,这个新的应用能否快速稳定地部署到后端成千上万台服务器并以最快的时间为用户提供服务关系着公司的业务水平和赢利效果。
已知的服务器集群应用部署技术采用的是C/S架构,如图1所示,通过一台部署服务器,先把应用打包部署到这一台部署服务器上,然后这一台部署服务器对集群内的从服务器分发这个应用的包。或者,各从服务器轮流排队,等待部署服务器对其进行部署。
在大规模服务器集群的情况下,已知一种应用部署技术是在C/S架构的基础上,采用分层的分发技术,如图2所示,先把应用打包,部署到一台中心部署服务器,再由这一台中心部署服务器将应用包部署到多台主部署服务器上,然后再由这些主部署服务器同时向其从服务器分发应用包。然而这样的分层部署方式造成管理上的复杂和不便,以及成本的增加,例如,需要专门设置和管理大量的专用于部署的部署服务器。
从上述的已知技术的架构图中可以看出,在大规模服务器集群的情况下,已知的应用部署技术暴露出了如下缺点或问题:
1、通过C/S模式部署应用时,当部署服务器需要部署的从服务器数量很大,部署服务器的网络吞吐性能和硬件负载就会出现瓶颈。比如一台部署服务器要同时向1000台从服务器分发应用包,远远超过了现在服务器网卡带宽的性能指标。随着需要部署应用的从服务器的增多,对部署服务器带宽的要求就越来越高,分发的速度也就越来越慢,并且非常容易引起部署服务器崩溃。而若采用各从服务器轮流排队由同一台部署服务器对其进行部署的情况,则部署周期过长。
2、如果为了避免上述缺点的发生而对服务器集群进行分层,则需要通过多层的C/S架构以使得每台部署服务器向有限的从服务器分发应用部署包。这样就意味着维护成本、管理成本和开发成本的上升。本来一个应用的负载均衡设备后的所有后端服务器的软件环境往往是统一的,为了应用的部署,人为地划分出部署层次来。每个层次的部署节点都要单独地进行管理、操作、维护,每个部署节点还要为了向不同的应用服务器分发应用部署包而开发不同的部署代码,这样就造成了严重的浪费,使得服务器集群的维护和管理变得越来越复杂。
3、同时,已知的基于C/S架构的部署技术,无法满足在大规模服务器集群中快速部署应用的需求,一个对千台服务器的集群部署动辄需要耗费1~2个小时的时间,严重地影响了应用上线的时间进度。
发明内容
为了解决上述问题,本申请一个方面提出了一种大规模服务器集群应用部署方法,所述方法包括:步骤1:所述大规模服务器集群中的中心部署服务器将一个应用的部署包切分成多个片段,并将切分后的多个片段部署于所述大规模服务器集群中的多个应用服务器上;以及步骤2:各个所述应用服务器在被部署完所述部署包的所有片段后,将所述所有片段拼合成一个完整的部署包。
本申请的另一个方面提出了一种大规模服务器集群,所述大规模服务器集群包括:一个中心部署服务器和多个应用服务器,其中,所述中心部署服务器用于将一个应用的部署包切分成多个片段,并将该切分后的多个片段部署于所述多个应用服务器上;以及各个所述应用服务器在被部署完所述部署包的所有片段后,将所述所有片段拼合成一个完整的部署包。
本申请的实现大规模服务器集群应用快速部署的方法及集群大大减轻了部署服务器的性能负载,成许多倍地加快了从部署服务器向应用服务器分发应用部署包的速度和效率,基本上消除部署服务器的处理瓶颈和网络资源瓶颈,可以做到应用部署的时间即发布时间几乎与集群内的应用服务器数量无关,也无需如传统的分层分发技术的C/S架构那样维护大量的分层部署节点,还降低了开发和维护的难度。
通过以下参照附图对本申请实施例的说明,本申请的上述以及其它目的、特征和优点将更加明显。
附图说明
下面将参照所附附图来描述本申请的实施例,其中:
图1是已知技术中采用C/S架构部署应用的示意图;
图2是已知技术中采用分层分发技术的C/S架构部署应用的示意图;
图3是采用本申请的实现大规模服务器集群应用快速部署的方法部署应用的示意图;
图4是本申请的实现大规模服务器集群应用快速部署的方法的一个实施例的示意流程图;
图5是图4所述的方法的一个实施例的示意流程图;以及
图6是图4所述的方法的另一个实施例的示意流程图。
具体实施方式
在下文中,将参照附图详细描述本申请的实施例。
图3是采用本申请的实现大规模服务器集群应用快速部署的方法部署应用的示意图。如图3中所示,本申请的大规模服务器集群包括一个中心部署服务器和多个应用服务器。为了便于说明,图3中仅示出了5个应用服务器,即应用服务器1、应用服务器2、应用服务器3...应用服务器M...以及应用服务器N,然而本申请所涉及的服务器集群中的应用服务器的实际数目可以为成千上万个。
不同于已知技术中的C/S架构和分层的C/S架构,在本申请中,大规模服务器集群的中心部署服务器把一个应用的部署包切分成多个应用部署片段(下文简称片段),例如可按照固定大小切分成多个片段,并将这些片段的每一个分别部署(例如随机部署)到不同的应用服务器上。
图3中的箭头示例性地表示了应用部署片段在网络中可能的一种流向。由于每个应用部署片段很小,所以只需要很少的网络资源和很短的时间就能将这些片段部署到应用服务器上。然后每个应用服务器通过中心部署服务器提供的关于这些片段的分布路径信息向其它已部署了一些片段的应用服务器拉取自己需要的片段。例如,应用服务器3可以不直接从中心部署服务器获得应用部署包的片段,而是从应用服务器1和N获得应用部署包的不同片段,并且还可以从其它应用服务器获得自己所需的片段。作为另一个实施例,这时应用服务器仍然可以从中心部署服务器拉取片段,以便充分利用中心部署服务器的资源。同时,其它应用服务器也可以从应用服务器3获得所需的片段。
每一个应用服务器在获得了该应用的部署包的所有片段之后,将这些片段拼合成一个完整的部署包。
在部署过程中,集群中的每一个应用服务器都可以把自己的关于当前已经拉取的片段的片段信息反馈给中心部署服务器,由中心部署服务器统计汇总,以指示其它应用服务器拉取片段的路径,集群中的每一个应用服务器都可以向其它应用服务器提供自己已经拉取的片段,每一个应用服务器都可以从最优(例如最近或速度最快的)路径来获得所需要的片段,因此消除了传统C/S部署技术中存在的部署服务器处理瓶颈和网络资源瓶颈。
根据本发明的一个实施例,本申请的大规模服务器集群应用部署方法可以分为两个基本步骤,即,在第一个步骤中,所述大规模服务器集群中的中心部署服务器将一个应用的部署包切分成多个片段,并将该切分后的多个片段部署于所述大规模服务器集群中的多个应用服务器上;在第二个步骤中,所述应用服务器在被部署完所述部署包的所有片段后,将所述所有片段拼合成一个完整的部署包。
图4是本申请的实现大规模服务器集群应用快速部署的方法的步骤的一个实施例的示意流程图,图4结合图3一起示意性地示出了本申请的实现大规模服务器集群应用快速部署的方法的一个更具体的实施例。
下面将结合如图4中所示的各个步骤来进一步描述本申请实现大规模服务器集群应用快速部署的方法。
在步骤S0,开始启动应用部署。
在步骤S1,大规模服务器集群的中心部署服务器将一个应用的部署包切分成多个片段。
被切分后的多个片段将被部署于多个应用服务器上。例如,由中心部署服务器向相应应用服务器发送用于通知拉取片段的拉取指令,然后,在步骤S2,由接收到拉取指令的相应应用服务器分别到中心部署服务器拉取片段。作为另一个替代方案,也可以将步骤S1替换为中心部署服务器直接将切分后的片段分别发送至相应的应用服务器上,这样就可以省略如图4中所示的步骤S2。
在图4所示的步骤S2中,相应应用服务器接收到拉取指令后分别到中心部署服务器拉取片段。
由于各应用服务器此时还缺少其它片段,所以各应用服务器在随后的过程中将会继续从中心部署服务器或其它应用服务器拉取其它尚未拉取的片段。应用服务器可以通过从中心服务器上获取所需要的片段的路径的方式去拉取尚未拉取的片段。如在图4所示的步骤S3中,应用服务器主动到中心部署服务器上获取所需要的其它片段的路径。可以理解,这里也可以有替换的方案,即,中心部署服务器也可以将它所知道的片段的路径信息主动分发给各个应用服务器,让应用服务器自己选择合适的路径来拉取所需要的片段。
接下来,在步骤S4,应用服务器按照获取所需要的其它片段的路径去拉取所需要的其它片段,然后向中心部署服务器报告关于该其它片段的片段信息。
最后,在步骤S5,当一个应用服务器在拉取完应用的部署包的所有片段后,将所有片段拼合成一个完整的部署包。
根据一个实施例,在步骤S1中,中心部署服务器在切分部署包的同时,将所切分的多个片段与将要部署的应用服务器对应。例如,中心部署服务器可以根据将要部署的应用服务器的连接状态、负载、IP地址、时间以及机器名中的一个或任意组合计算出的随机数或者哈希值,将将要部署的应用服务器与多个片段一一对应,并将对应关系包含在拉取指令中发送给将要部署的应用服务器。然后在步骤S2中,将要部署的应用服务器按照拉取指令中的对应关系指定的片段到中心部署服务器上拉取片段。或者,作为另一种方案,在步骤S1中,将所切分的多个片段与将要部署的应用服务器一一对应之后,直接根据所述对应关系将相应片段发送至相应的应用服务器上,相应的应用服务器直接接收中心部署服务器主动发送过来的片段,那么,则可以省略步骤S2。
根据另一个实施例,在步骤S1中,中心部署服务器只将部署包切分成多个片段,而在步骤S2中,在应用服务器到中心部署服务器拉取片段的过程中,将所切分的多个片段一一对应到将要部署的应用服务器。例如,可以按应用服务器连接到中心部署服务器的连接先后次序依次拉取所切分的片段,或者按负载均衡原则负载较轻的应用服务器优先拉取所切分的片段,或者按IP地址、机器名等的一个或任意组合指定应用服务器以便使部署时负载分布均匀。
在步骤S4与步骤S5之间,应用服务器可以判断是否已拉取完部署包的所有片段,如果判断结果为尚未拉取完所有片段,就返回到步骤S3,如果判断结果为已经拉取完所有片段,则进入步骤S5。
应当理解,中心部署服务器第一次向应用服务器部署片段时,中心服务器知道哪个片段部署在哪个应用服务器上,因此,这时没有必要由应用服务器向中心部署服务器报告片段信息,中心部署服务器只要记录该片段信息即可。如果中心部署服务器不知道哪个片段部署在哪个应用服务器上,那么,将由应用服务器向中心部署服务器报告片段信息。关于片段的片段信息可以包括所述片段的地址以及该片段的代号,例如,所拉取片段的标识、所拉取片段被存储在当前应用服务器上的目录路径、以及当前应用服务器的地址等信息。
在步骤S3中,中心部署服务器可以根据所需要的片段当前所在的应用服务器的连接状态、负载、IP地址、时间以及机器名中的一个或任意组合计算出的随机数或者哈希值,提供应用服务器所需要的片段的路径。例如,可以将所需要的片段当前所在的应用服务器中负载较轻的应用服务器作为优先拉取路径,以便使部署时负载分布均匀。
另外,在步骤S5或S5之前的任一步骤或任意步骤的组合中,应用服务器可以获得应用的部署包的MD5码,以便于应用服务器在步骤S5中使用MD5码对所拼合成的部署包进行校验。
作为另一个实施例,中心部署服务器为应用服务器提供的所需要的片段的路径可以包括所述中心部署服务器自身,即,在步骤S3中,中心部署服务器首次部署完毕所切分的片段之后,仍然可以作为片段的提供者继续参与到以后的部署过程中。
图4所示的各步骤所描述的仅仅是一种可能的实施方式,旨在说明本发明的精神和实质,根据具体的情况,各步骤可以被适当修改、拆分或组合。
图5是图4所述的方法的一个实施例的示意流程图,其中假设所涉及的大规模服务器集群包括一个中心部署服务器和N个应用服务器,例如N可以是2000以上,甚至超过10000。
如图5中所示,在步骤S10,开始启动应用部署。
在步骤S 11,大规模服务器集群的中心部署服务器把一个应用的部署包切分成N个应用部署片段。本领域技术人员可以根据实际情况(例如集群中需要部署的应用服务器数量或安装包大小)按照各种标准将应用的部署包切分成N个应用部署片段。例如,可以将一个应用的部署包按照固定大小切分成N个部署片段,通过切分得到的部署片段也可称为“分片”。
中心部署服务器将将要部署的N个应用服务器一一对应到这N个片段。例如,中心部署服务器可以根据将要部署的各应用服务器的连接状态、负载、IP地址、时间以及机器名中的一个或任意组合计算出的随机数或者哈希值,将各应用服务器一一对应到不同的具体片段。比如,应用服务器1对应于第E个片段,应用服务器2对应于第F个片段,应用服务器3对应于第H个片段。
然后,中心部署服务器向这N个应用服务器发送包含上述对应关系的拉取指令,通知或邀请这N个应用服务器到中心部署服务器去拉取已经拆分好的应用部署片段。
在步骤S12,各应用服务器在接收到拉取指令之后,自动启动用于拉取其指定片段的相关进程。然后,各应用服务器分别到中心部署服务器拉取片段,并可以获得该应用的部署包的MD5码。比如,应用服务器1拉取了第E个片段,应用服务器2拉取了第F个片段,应用服务器3拉取了第H个片段。每一个应用服务器一旦成功拉取完所部署的一个片段,就向中心部署服务器报告关于该片段的片段信息,从而中心部署服务器可以实时统计各应用服务器已获取的片段的片段信息。
应用服务器所报告的片段信息包括用于拉取该片段所需要的信息。本领域技术人员可以根据实际情况或各种需要,按照各种标准来配置片段的片段信息。
例如,片段的片段信息可以包括所述片段的地址以及该片段的代号,例如,所拉取片段的标识、所拉取片段备存储在当前应用服务器上的目录路径、以及当前应用服务器的地址等信息。
然后,在步骤S13,各应用服务器到中心部署服务器上获取各自所需要的其它部署片段的路径。中心部署服务器可以根据应用服务器所需要的片段当前所在的应用服务器的连接状态、负载、IP地址、时间以及机器名中的一个或任意组合计算出的随机数或者哈希值,为应用服务器提供所需要的片段的片段路径。例如,可以将负载较轻的应用服务器作为优先拉取路径,以便使部署时负载分布均匀。
然后,在步骤S14,各应用服务器根据中心部署服务器提供的片段路径到其他应用服务器拉取所需要的部署片段。
比如,应用服务器1拉取了第E个片段,应用服务器2拉取了第F个片段,应用服务器3拉取了第H个片段。当应用服务器1从中心部署服务器获得了片段F、H的片段信息后,就可以从应用服务器2、3上分别拉取片段F、H。
然后,在步骤S15,每一个应用服务器一旦成功拉取完一个片段就向中心部署服务器报告各自的关于该片段的片段信息。
也就是说,在整个部署期间,中心部署服务器一直实时统计汇总各应用服务器反馈的各自的关于当前已经拉取的片段的片段信息,并整理,以便于尚未部署完毕的应用服务器查询使用。应用服务器分别从中心部署服务器获得尚未拉取的其它片段的片段信息,并根据该信息从其它应用服务器拉取自己尚未拉取的其它片段。作为另一个实施例,中心部署服务器为应用服务器提供的所需要的片段的路径可以包括所述中心部署服务器自身,即,在步骤S13中,中心部署服务器首次部署完毕所切分的片段之后,仍然可以作为片段的提供者继续参与到以后的部署过程中,在条件适当的情况下为合适的应用服务器提供一定量的片段。其中,在步骤S16,应用服务器判断是否已经拉取完将要部署的应用的部署包的所有片段。如果判断的结果为尚未拉取完该应用的部署包的所有片段,就重复进行上述步骤S13至S16,以从其它应用服务器拉取自己尚未拉取的片段。
同时,本领域普通技术人员可以理解,图5中的步骤S11、S12(即,在步骤S11中中心部署服务器切分部署包并指定对应的应用服务器,在步骤S12中应用服务器按照对应关系拉取所切分的片段。)也可以按照图4中的步骤S1、S2那样有另一种实施方式。简言之,在步骤S11只切分部署包,而在步骤S12中,在应用服务器拉取片段的过程中让应用服务器与所切分的片段对应。
如果应用服务器在步骤S16判断已拉取完该应用的部署包的所有片段,那么该应用服务器就在步骤S17将该应用的部署包的所有片段拼合成一个完整的部署包,并校验该应用的部署包的MD5值,从而完成了在该应用服务器上的应用部署。最终,通过图5中步骤S10至步骤S17的过程,可以以极快的速度平稳完成集群中所有应用服务器的应用部署。
图6是图4所述的方法的另一个实施例的示意流程图。
图6与图5的不同之处在于,在步骤S21,中心部署服务器将应用部署包仅拆分成M个片段并向所有N个应用服务器发送拉取指令,其中M<N,且M为大于1的自然数,例如,N可以超过10000,M可以是几十、几百或几千,预先指定M个应用服务器可以实际拉取到这M个片段,例如,中心部署服务器可以根据将要部署的应用服务器的连接状态、负载、IP地址、时间以及机器名中的一个或任意组合计算出的随机数或者哈希值,指定M个将要部署的应用服务器;以及在步骤S22,由M个应用服务器去拉取所切分的片段,根据一个实施例,在所有N个应用服务器中,预先指定的M个应用服务器接收到拉取指令后到中心部署服务器分别拉取一个不同的片段,这时,这M个应用服务器之外的其它应用服务器暂不从中心服务器拉取片段,这M个应用服务器在分别拉取完一个不同的片段之后向中心部署服务器报告关于该片段的片段信息。
接下来的步骤与图5中一样,由于所有N个应用服务器都收到了拉取指令,所以会不停向中心服务器请求并获取所需要的片段的路径。然后所有N个应用服务器会执行与图5中S13至S17相同的步骤S23至S27,从而分别拉取各自所需要的片段。最终,通过图6中步骤S20至步骤S27的过程,可以以极快的速度平稳完成集群中所有应用服务器的应用部署。
同时,本领域普通技术人员可以理解,图6中的步骤S21、S22(在步骤S21中中心部署服务器切分部署包并指定M个将要部署的应用服务器与所切分的M个片段的对应关系,在步骤S22中应用服务器按照对应关系拉取所切分的片段。)也可以按照图4中的S1、S2那样有不同的实施方式。简言之,在步骤S21只切分部署包,而在步骤S22中在应用服务器拉取片段的过程中让M个将要部署的应用服务器与所切分的M个片段对应,即,在步骤S21中并不具体指定由哪M个应用服务器拉取片段,而是在步骤S22中,在应用服务器到中心部署服务器拉取片段的过程中,指定M个应用服务器来拉取片段。例如,可以按前M个应用服务器连接到中心部署服务器的连接先后次序依次拉取所切分的片段,或者按照负载均衡原则,例如负载较轻的M个应用服务器优先拉取所切分的片段,或者按IP地址、机器名等参数分片划分出M个代表应用服务器以便使部署时负载分布均匀。
与图5的实施例相比,图6的实施例适合于处理更大规模的服务器集群,这是因为,尽管集群中的应用服务器总数N很大,但是可以选择将应用的部署包切分成合适大小的M块,M可以远小于N,这样,就可以使部署过程以缓和的方式开始,从而能够进一步避免初始拉取时可能产生的网络拥挤。
通过上面结合图3至图6对本申请的实现大规模服务器集群应用快速部署的方法的实施例的描述,可以看到,由于本申请所针对的大规模服务器集群中的应用服务器的数目为成千上万,而每一个应用服务器都可以作为一个部署服务器向其它应用服务器分发自己已经拉取的应用部署包的片段,从而与传统的C/S架构的部署技术相比,大大减轻了部署服务器的性能负载。并且由于各应用服务器可以同时向多个同级的应用服务器并行地拉取不同的片段,成许多倍地加快了从部署服务器向应用服务器分发应用部署包的速度和效率。而且,集群中的应用服务器越多,部署得也越快。这样一来,就可以从基本上消除部署服务器的处理瓶颈和网络资源瓶颈。
采用本申请的实现大规模服务器集群应用快速部署的方法、集群及装置,在网络稳定的情况下,可以做到应用部署的时间即发布时间几乎与集群内的应用服务器数量无关,部署成千上万个应用服务器的时间与目前部署一至两个应用服务器所需要的时间几乎相等。
而且,本申请的大规模服务器集群应用快速部署的方法也无需如传统的分层分发技术的C/S架构那样维护大量的分层部署节点。另外,由于每个应用服务器上的用于拉取部署包的代码(即进程)是一致的,因此还降低了开发和维护的难度。
虽然已参照典型实施例描述了本申请,但应当理解,所用的术语是说明和示例性、而非限制性的术语。由于本申请能够以多种形式具体实施而不脱离发明的精神或实质,所以应当理解,上述实施例不限于任何前述的细节,而应在随附权利要求所限定的精神和范围内广泛地解释,因此落入权利要求或其等效范围内的全部变化和改型都应为随附权利要求所涵盖。
Claims (18)
1.一种大规模服务器集群应用部署方法,所述方法包括:
步骤1:所述大规模服务器集群中的中心部署服务器将一个应用的部署包切分成多个片段,并将切分后的多个片段部署于所述大规模服务器集群中的多个应用服务器上;以及
步骤2:各个所述应用服务器在被部署完所述部署包的所有片段后,将所述所有片段拼合成一个完整的部署包。
2.根据权利要求1所述的方法,其中,所述步骤1包括:
步骤111:所述大规模服务器集群中的中心部署服务器将所述一个应用的部署包切分成所述多个片段之后,将所述切分后的多个片段分别发送至相应应用服务器上;
步骤112:所述应用服务器从所述中心部署服务器上获取所需要的其它片段的路径;以及
步骤113:所述应用服务器按照所获取的路径去拉取所需要的其它片段,然后向所述中心部署服务器报告关于所述其它片段的片段信息。
3.根据权利要求1所述的方法,其中,所述步骤1包括:
步骤121:在所述步骤1中,所述大规模服务器集群中的中心部署服务器将所述一个应用的部署包切分成所述多个片段之后,向应用服务器发送拉取指令;
步骤122:所述应用服务器接收到所述拉取指令后到所述中心部署服务器拉取片段;
步骤123:所述应用服务器从所述中心部署服务器上获取所需要的其它片段的路径;以及
步骤124:所述应用服务器按照所获取的路径去拉取所需要的其它片段,然后向所述中心部署服务器报告关于所述其它片段的片段信息。
4.根据权利要求2所述的方法,其中,
在所述步骤113之后还包括以下判断步骤:
所述应用服务器判断是否已拉取完所述部署包的所有片段,如果判断结果为尚未拉取完所有片段,就返回到所述步骤112,如果判断结果为已经拉取完所有片段,则进入所述步骤2。
5.根据权利要求3所述的方法,其中,
在所述步骤124之后还包括以下判断步骤:
所述应用服务器判断是否已拉取完所述部署包的所有片段,如果判断结果为尚未拉取完所有片段,就返回到所述步骤123,如果判断结果为已经拉取完所有片段,则进入所述步骤2。
6.根据权利要求2所述的方法,其中,
在所述步骤111中,所述中心部署服务器将所切分的多个片段与所有所述应用服务器一一对应,并将切分后的多个片段分别发送至所有所述应用服务器中相应应用服务器上。
7.根据权利要求2所述的方法,其中,
在所述步骤111中,所述中心部署服务器将所切分的多个片段与部分所述应用服务器一一对应,并将切分后的多个片段分别发送至所有所述应用服务器中相应应用服务器上。
8.根据权利要求3所述的方法,其中,
在所述步骤121中,所述中心部署服务器使所切分的多个片段与所有所述应用服务器具有一一对应的对应关系,并根据所述对应关系向所有所述应用服务器发送拉取指令,并且
在所述步骤122中,所有所述应用服务器接收到所述拉取指令后,根据所述对应关系到所述中心部署服务器分别拉取一个不同的片段。
9.根据权利要求3所述的方法,其中,
在所述步骤121中,所述中心部署服务器使所切分的多个片段与部分所述应用服务器具有一一对应的对应关系,并根据所述对应关系向所述部分所述应用服务器发送拉取指令,并且
在所述步骤122中,所述部分所述应用服务器接收到所述拉取指令后,根据所述对应关系到所述中心部署服务器分别拉取一个不同的片段。
10.根据权利要求3所述的方法,其中,
在所述步骤122中,所述中心部署服务器在所述应用服务器拉取片段的拉取过程中将所切分的多个片段与所有所述应用服务器一一对应。
11.根据权利要求3所述的方法,其中,
在所述步骤122中,所述中心部署服务器在所述应用服务器拉取片段的拉取过程中将所切分的多个片段与部分所述应用服务器一一对应。
12.根据权利要求6或7所述的方法,其中,
在所述步骤111中,所述中心部署服务器根据所述应用服务器的连接状态、负载、IP地址、时间以及机器名中的一个或任意组合计算出的随机数或者哈希值,将所述相应应用服务器与所述多个片段一一对应。
13.根据权利要求8或9所述的方法,其中,
在所述步骤121中,所述中心部署服务器根据所述应用服务器的连接到所述中心部署服务器的连接先后次序、负载、IP地址、机器名中的一个或任意组合,将所述应用服务器与所述多个片段一一对应。
14.根据权利要求2所述的方法,其中,
在所述步骤112中,所述中心部署服务器根据所述所需要的其它片段当前所在的应用服务器的连接状态、负载、IP地址、时间以及机器名中的一个或任意组合计算出的随机数或者哈希值,提供所述所需要的其它片段的路径。
15.根据权利要求3所述的方法,其中,
在所述步骤123中,所述中心部署服务器根据所述所需要的其它片段当前所在的应用服务器连接到所述中心部署服务器的连接先后次序或负载均衡原则,提供所述所需要的其它片段的路径。
16.根据权利要求2或3所述的方法,其中,
所述片段的片段信息包括所述片段的地址以及该片段的代号。
17.根据权利要求1所述的方法,其中,
在所述步骤1或步骤2中,所述应用服务器获得所述一个应用的部署包的MD5码,以及
在所述步骤2中,所述应用服务器使用所述MD5码对所拼合成的部署包进行校验。
18.一种大规模服务器集群,所述大规模服务器集群包括:
一个中心部署服务器和多个应用服务器,其中,
所述中心部署服务器用于将一个应用的部署包切分成多个片段,并将该切分后的多个片段部署于所述多个应用服务器上;以及
各个所述应用服务器在被部署完所述部署包的所有片段后,将所述所有片段拼合成一个完整的部署包。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110193347.9A CN102882900B (zh) | 2011-07-11 | 2011-07-11 | 大规模服务器集群应用部署方法和大规模服务器集群 |
HK13102821.6A HK1175613A1 (zh) | 2011-07-11 | 2013-03-07 | 大規模服務器集群應用部署方法和大規模服務器集群 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110193347.9A CN102882900B (zh) | 2011-07-11 | 2011-07-11 | 大规模服务器集群应用部署方法和大规模服务器集群 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102882900A true CN102882900A (zh) | 2013-01-16 |
CN102882900B CN102882900B (zh) | 2016-06-22 |
Family
ID=47484043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110193347.9A Active CN102882900B (zh) | 2011-07-11 | 2011-07-11 | 大规模服务器集群应用部署方法和大规模服务器集群 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102882900B (zh) |
HK (1) | HK1175613A1 (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103763389A (zh) * | 2014-01-28 | 2014-04-30 | 从兴技术有限公司 | 一种自动部署方法、部署服务模块及部署应用模块 |
CN103856353A (zh) * | 2014-03-06 | 2014-06-11 | 上海爱数软件有限公司 | 一种业务日志数据访问与统计分析的方法及装置 |
CN104079657A (zh) * | 2014-07-07 | 2014-10-01 | 用友软件股份有限公司 | 基于模板的可配置的集群部署装置及方法 |
CN104580094A (zh) * | 2013-10-21 | 2015-04-29 | 中兴通讯股份有限公司 | 图像的传输方法及装置 |
CN106254470A (zh) * | 2016-08-08 | 2016-12-21 | 广州唯品会信息科技有限公司 | 分布式作业分片分配方法和装置 |
CN106856509A (zh) * | 2017-02-27 | 2017-06-16 | 郑州云海信息技术有限公司 | 一种基于knl集群的大规模数据的处理方法及系统 |
CN107180017A (zh) * | 2016-03-11 | 2017-09-19 | 阿里巴巴集团控股有限公司 | 一种样本序列化方法和装置 |
CN108027829A (zh) * | 2015-07-10 | 2018-05-11 | 起元技术有限责任公司 | 在具有分布式数据库系统的网络中提供数据库访问控制的系统和架构 |
CN108280329A (zh) * | 2018-01-22 | 2018-07-13 | 台州风达机器人科技有限公司 | 一种用于软件运行的验证放行方法 |
CN108494774A (zh) * | 2018-03-26 | 2018-09-04 | 广东工业大学 | 一种用于加强匿名通信系统安全性的抗链路控制攻击方法 |
CN110022344A (zh) * | 2017-11-01 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 通信方法、非暂时性计算机可读存储介质、存储访问系统 |
CN110532096A (zh) * | 2019-08-28 | 2019-12-03 | 广东乐之康医疗技术有限公司 | 一种多节点分组并行部署的系统和方法 |
CN110881058A (zh) * | 2018-09-06 | 2020-03-13 | 阿里巴巴集团控股有限公司 | 请求调度方法、装置、服务器及存储介质 |
CN111988182A (zh) * | 2020-08-28 | 2020-11-24 | 北京中电兴发科技有限公司 | 一种大规模服务器集群的部署方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1949227A (zh) * | 2006-10-24 | 2007-04-18 | 北京搜狗科技发展有限公司 | 一种针对可播放媒体文件的搜索方法、系统及装置 |
US20090198756A1 (en) * | 2008-02-06 | 2009-08-06 | Sap Ag | Representation of data transformation processes for parallelization |
CN101534205A (zh) * | 2008-03-11 | 2009-09-16 | 中国网通集团宽带业务应用国家工程实验室有限公司 | 应用层组播业务实现方法、终端和系统 |
-
2011
- 2011-07-11 CN CN201110193347.9A patent/CN102882900B/zh active Active
-
2013
- 2013-03-07 HK HK13102821.6A patent/HK1175613A1/zh unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1949227A (zh) * | 2006-10-24 | 2007-04-18 | 北京搜狗科技发展有限公司 | 一种针对可播放媒体文件的搜索方法、系统及装置 |
US20090198756A1 (en) * | 2008-02-06 | 2009-08-06 | Sap Ag | Representation of data transformation processes for parallelization |
CN101534205A (zh) * | 2008-03-11 | 2009-09-16 | 中国网通集团宽带业务应用国家工程实验室有限公司 | 应用层组播业务实现方法、终端和系统 |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104580094A (zh) * | 2013-10-21 | 2015-04-29 | 中兴通讯股份有限公司 | 图像的传输方法及装置 |
CN103763389A (zh) * | 2014-01-28 | 2014-04-30 | 从兴技术有限公司 | 一种自动部署方法、部署服务模块及部署应用模块 |
CN103856353A (zh) * | 2014-03-06 | 2014-06-11 | 上海爱数软件有限公司 | 一种业务日志数据访问与统计分析的方法及装置 |
CN104079657A (zh) * | 2014-07-07 | 2014-10-01 | 用友软件股份有限公司 | 基于模板的可配置的集群部署装置及方法 |
CN108027829A (zh) * | 2015-07-10 | 2018-05-11 | 起元技术有限责任公司 | 在具有分布式数据库系统的网络中提供数据库访问控制的系统和架构 |
CN108027829B (zh) * | 2015-07-10 | 2022-07-29 | 起元技术有限责任公司 | 用于管理数据库事务的方法、设备和计算机可读介质 |
CN107180017A (zh) * | 2016-03-11 | 2017-09-19 | 阿里巴巴集团控股有限公司 | 一种样本序列化方法和装置 |
CN107180017B (zh) * | 2016-03-11 | 2021-05-28 | 阿里巴巴集团控股有限公司 | 一种样本序列化方法和装置 |
CN106254470B (zh) * | 2016-08-08 | 2019-06-14 | 广州品唯软件有限公司 | 分布式作业分片分配方法和装置 |
CN106254470A (zh) * | 2016-08-08 | 2016-12-21 | 广州唯品会信息科技有限公司 | 分布式作业分片分配方法和装置 |
CN106856509A (zh) * | 2017-02-27 | 2017-06-16 | 郑州云海信息技术有限公司 | 一种基于knl集群的大规模数据的处理方法及系统 |
CN110022344A (zh) * | 2017-11-01 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 通信方法、非暂时性计算机可读存储介质、存储访问系统 |
CN110022344B (zh) * | 2017-11-01 | 2022-05-31 | 阿里巴巴集团控股有限公司 | 通信方法、非暂时性计算机可读存储介质、存储访问系统 |
CN108280329B (zh) * | 2018-01-22 | 2020-06-02 | 北京数科网维技术有限责任公司 | 一种用于软件运行的验证放行方法 |
CN108280329A (zh) * | 2018-01-22 | 2018-07-13 | 台州风达机器人科技有限公司 | 一种用于软件运行的验证放行方法 |
CN108494774A (zh) * | 2018-03-26 | 2018-09-04 | 广东工业大学 | 一种用于加强匿名通信系统安全性的抗链路控制攻击方法 |
CN110881058A (zh) * | 2018-09-06 | 2020-03-13 | 阿里巴巴集团控股有限公司 | 请求调度方法、装置、服务器及存储介质 |
CN110881058B (zh) * | 2018-09-06 | 2022-04-12 | 阿里巴巴集团控股有限公司 | 请求调度方法、装置、服务器及存储介质 |
CN110532096A (zh) * | 2019-08-28 | 2019-12-03 | 广东乐之康医疗技术有限公司 | 一种多节点分组并行部署的系统和方法 |
CN110532096B (zh) * | 2019-08-28 | 2022-12-30 | 深圳市云存宝技术有限公司 | 一种多节点分组并行部署的系统和方法 |
CN111988182A (zh) * | 2020-08-28 | 2020-11-24 | 北京中电兴发科技有限公司 | 一种大规模服务器集群的部署方法 |
CN111988182B (zh) * | 2020-08-28 | 2022-03-11 | 北京中电兴发科技有限公司 | 一种大规模服务器集群的部署方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102882900B (zh) | 2016-06-22 |
HK1175613A1 (zh) | 2013-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102882900A (zh) | 大规模服务器集群应用部署方法和大规模服务器集群 | |
US10142175B2 (en) | Provisioning high performance computing clusters | |
CN107463582B (zh) | 分布式部署Hadoop集群的方法及装置 | |
KR102082355B1 (ko) | 대용량 네트워크 데이터의 처리 기법 | |
Heintz et al. | End-to-end optimization for geo-distributed mapreduce | |
CN103516807A (zh) | 一种云计算平台服务器负载均衡系统及方法 | |
CN102147809B (zh) | 一种并行文件系统及其管理方法 | |
JP5934828B2 (ja) | P2p基盤のストリーミングサービスのデータストリームをパケット化するシステムおよび方法 | |
US20130191436A1 (en) | Building large scale infrastructure using hybrid clusters | |
CA2840106A1 (en) | Offline download method, multimedia file download method and system thereof | |
CN103248645A (zh) | Bt离线数据下载系统及方法 | |
CN103297275A (zh) | Web网管客户端模块动态发现与加载的系统及方法 | |
CN102833101B (zh) | 一种分布式网络系统的软件升级方法及设备 | |
CN104754008B (zh) | 网络存储节点、网络存储系统以及用于网络存储节点的装置和方法 | |
US20120179778A1 (en) | Applying networking protocols to image file management | |
CN103164253A (zh) | 虚拟机部署系统及方法 | |
CN101895536A (zh) | 多媒体信息共享方法 | |
WO2009083826A1 (en) | Methods and systems for generating availability management framework (amf) configurations | |
CN103281356A (zh) | 一种分发文件的方法及系统 | |
CN103237063B (zh) | 一种云存储方法及其云控制服务器、云存储服务器和系统 | |
CN102624932A (zh) | 基于索引的异地云数据同步方法 | |
CN102436501A (zh) | 一种基于web的并行文件管理系统 | |
CN103297542A (zh) | 一种支持构件在线伸缩的云操作系统总线及均衡方法 | |
CN111352726A (zh) | 一种基于容器化微服务的流数据处理方法及装置 | |
Zhao et al. | Dream-(l) g: A distributed grouping-based algorithm for resource assignment for bandwidth-intensive applications in the cloud |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1175613 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1175613 Country of ref document: HK |