一种基于服务器集群系统的插件部署方法、装置和系统的制作方法

文档序号:7801916
一种基于服务器集群系统的插件部署方法、装置和系统的制作方法
【专利摘要】本发明提供了一种基于服务器集群系统的插件部署方法,所述服务器集群系统包括多台服务器,所述方法包括:分别与所述服务器集群系统中的各个服务器建立连接通道;通过各个连接通道,并行向各个服务器发送目标插件;远程执行预设命令以完成所述目标插件的部署。本发明能够实现服务器集群系统中大规模的服务器的插件部署,相比逐台部署插件方法效率得到极大提高。
【专利说明】一种基于服务器集群系统的插件部署方法、装置和系统
【技术领域】
[0001]本发明涉及网络【技术领域】,具体涉及一种基于服务器集群系统的插件部署方法、装置和系统。
【背景技术】
[0002]服务器集群系统指的是远程数据中心内大规模的服务器组成的系统,基于服务器集群系统的插件指的是该服务器集群系统中的服务器为了实现某些功能而安装的软件、脚本、驱动或者工具等。
[0003]由于服务器集群系统中涉及的服务器数量巨大,所以逐台部署插件的方法效率极低。目前,并不存在能够有效解决基于服务器集群系统的插件部署问题。

【发明内容】

[0004]本发明提供了一种基于服务器集群系统的插件部署方法、装置和系统,能够实现服务器集群系统中大规模的服务器的插件部署,相比逐台部署插件方法效率得到极大提闻。
[0005]本发明提供了一种基于服务器集群系统的插件部署方法,所述服务器集群系统包括多台服务器,所述方法包括:
[0006]分别与所述服务器集群系统中的各个服务器建立连接通道;
[0007]通过各个连接通道,并行向各个服务器发送目标插件;
[0008]远程执行预设命令以完成所述目标插件的部署。
[0009]优选地,所述分别与所述服务器集群系统中的各个服务器建立连接通道,具体为:
[0010]采用paramiko模块,分别与所述服务器集群系统中的各个服务器建立连接通道。
[0011]优选地,所述方法还包括:
[0012]接收各个服务器返回的所述目标插件的部署结果。
[0013]优选地,所述方法还包括:
[0014]接收各个服务器发送的所述目标插件的运行数据;
[0015]将所述运行数据存储为日志。
[0016]优选地,所述方法还包括:
[0017]远程执行预设命令以运行各个服务器的目标插件。
[0018]优选地,所述方法还包括:
[0019]远程执行预设命令以控制各个服务器的目标插件。
[0020]本发明还提供了一种基于服务器集群系统的插件部署装置,所述服务器集群系统包括多台服务器,所述装置包括:
[0021]建立模块,用于分别与所述服务器集群系统中的各个服务器建立连接通道;
[0022]发送模块,用于通过各个连接通道,并行向各个服务器发送目标插件;[0023]执行模块,用于远程执行预设命令以完成所述目标插件的部署。
[0024]优选地,所述建立模块为具体用于采用paramiko模块,分别与所述服务器集群系统中的各个服务器建立连接通道的模块。
[0025]优选地,所述装置还包括:
[0026]第一接收模块,用于接收各个服务器返回的所述目标插件的部署结果。
[0027]优选地,所述装置还包括:
[0028]第二接收模块,用于接收各个服务器发送的所述目标插件的运行数据;
[0029]存储模块,用于将所述运行数据存储为日志。
[0030]优选地,所述装置还包括:
[0031]第二执行模块,用于远程执行预设命令以运行各个服务器的目标插件。
[0032]优选地,所述装置还包括:
[0033]第三执行模块,用于远程执行预设命令以控制各个服务器的目标插件。
[0034]本发明还提供了一种基于服务器集群系统的插件部署系统,所述服务器集群系统包括多台服务器,所述系统包括第一服务器;
[0035]所述第一服务器用于分别与所述服务器集群系统中的各个服务器建立连接通道;通过各个连接通道,并行向各个服务器发送目标插件;远程执行预设命令以完成所述目标插件的部署。
[0036]优选地,所述第一服务器具体用于采用paramiko模块,分别与所述服务器集群系统中的各个服务器建立连接通道。
[0037]优选地,所述系统还包括第二服务器,所述第二服务器用于接收各个服务器返回的所述目标插件的部署结果,并将所述部署结果发送至所述第一服务器。
[0038]优选地,所述第二服务器还用于接收各个服务器发送的所述目标插件的运行数据,并将所述运行数据存储为日志。
[0039]本发明提供的基于服务器集群系统的插件部署方法中,首先分别与所述服务器集群系统中的各个服务器建立连接通道;其次,通过各个连接通道,并行向各个服务器发送目标插件;最后,远程执行预设命令以完成所述目标插件的部署,。本发明能够实现服务器集群系统中大规模的服务器的插件部署,相比逐台部署插件方法效率得到极大提高。
【专利附图】

【附图说明】
[0040]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0041]图1为本发明实施例一提供的基于服务器集群系统的插件部署的方法流程图;
[0042]图2为本发明实施例二提供的基于服务器集群系统的插件部署的方法流程图;
[0043]图3为本发明实施例三提供的基于服务器集群系统的插件部署装置结构示意图;
[0044]图4为本发明实施例三提供的基于服务器集群系统的插件部署系统结构示意图。
【具体实施方式】[0045]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0046]实施例一
[0047]参考图1,图1为本实施例提供的基于服务器集群系统的插件部署方法流程图,所述方法包括:
[0048]SlOl:分别与所述服务器集群系统中的各个服务器建立连接通道。
[0049]服务器集群系统包括多个服务器,本实施例在为所述服务器集群系统中的各个服务器部署插件之前,首先需要分别与各个服务器建立连接通道。
[0050]实际操作中,可以利用socket、ssh技术分别与各个服务器建立连接通道。优选地,本实施例中还提出采用paramiko模块,与服务器建立连接通道的方法,其中,所述连接通道可以为ssh或者sftp通道。paramiko是用python语言编写的一个模块,遵循SSH2协议,支持以加密的认证方式进行远程服务器的连接,能够保证与远程服务器的信息传输的安全。
[0051]本实施例中,分别与各个服务器建立连接通道的操作可以是多线程并发执行的,能够较大的提高插件部署的效率。
[0052]S102:通过各个连接通道,并行向各个服务器发送目标插件。
[0053]本实施例中,在完成与各个服务器的连接通道的建立后,通过各个连接通道,分别向建立连接的服务器发送目标插件。
[0054]具体的,目标插件可以被称作一种工具,同时所述目标插件存在唯一的标识,用于唯一确定该插件。所述目标插件包括资源包,资源包有唯一的版本号,所述资源包中包含资源文件,其中一个资源文件被称为可执行的文件,目标插件的资源包中必须至少包括一个可执行文件。当所述目标插件被远程推送的服务器上时,所述目标插件在服务器上被远程安装部署。
[0055]S103:远程执行预设命令以完成所述目标插件的部署。
[0056]本实施例中,本地预先设置插件部署的命令,当目标插件被发送至远程服务器时,可以远程执行预设命令,以使得远程服务器可以执行所述目标插件,最终完成所述目标插件的部署。
[0057]为了保证目标插件的部署成功,当远程服务器执行所述目标插件后,接收服务器发送的目标插件的部署结果,以确定所述目标插件是否部署成功。如果,所述目标插件没有部署成功,则可以重新进行该目标插件的部署直到部署成功。
[0058]当目标插件被部署在各个服务器上后,本实施例可以远程执行预设命令以运行各个服务器的目标插件。同时,可以远程执行预先设置的命令,实现远程控制各个服务器上部署的目标插件,例如,删除所述目标插件、修改所述目标插件等。
[0059]另外,由于所述目标插件在所述服务器集群系统中的各个服务器上运行时会产生运行数据,本实施例为了能够系统管理各个插件,可以接收各个服务器发送的运行数据,并将其存储为日志,以供后续查看。
[0060]本实施例提供的基于服务器集群系统的插件部署方法中,首先分别与所述服务器集群系统中的各个服务器建立连接通道;其次,通过各个连接通道,并行向各个服务器发送目标插件;最后,远程执行预设命令以完成所述目标插件的部署。本实施例能够实现服务器集群系统中大规模的服务器的插件部署,相比逐台部署插件方法效率得到极大提高。
[0061]实施例二
[0062]参考图2,图2为本实施例提供的基于服务器集群系统的插件部署的方法流程图,其中,本实施例利用管理服务器和日志服务器实现基于服务器集群系统的查件部署,所述方法具体包括:
[0063]S201:管理服务器采用paramiko模块,并发分别与所述服务器集群系统中的各个服务器建立连接通道。
[0064]本实施例中,管理服务器采用paramiko模块多线程并发与远程服务器集群系统建立多个SSh或者Sftp通道。
[0065]实际操作中,管理服务器可以将服务器集群系统中的服务器分成多个组,服务器和组进行绑定,每个组中的服务器具有使用同一个插件的权限。当任意一个插件需要被部署时,可以首先确定其所在的组中的服务器,将该插件部署在改组中的服务器上。
[0066]S202:通过各个连接通道,所述管理服务器并行向各个服务器发送目标插件;
[0067]实际操作中,所述管理服务器将目标插件以文件的形式通过ssh通道或者Sftp通道拷贝到远程服务器集群的各个服务器上。
[0068]S203:所述管理服务器远程执行预设命令,通过各个连接通道使得远程服务器中的目标插件被执行,完成目标插件的部署。
[0069]其中,管理服务器可以通过ssh通道远程执行命令,执行被推送的服务器的插件。
[0070]S204:各个服务器将所述目标插件的部署结果返回至所述管理服务器,当所述部署结果为失败时,所述管理服务器重新为所述服务器部署目标插件。
[0071]S205:各个服务器将所述目标插件的运行数据传送至日志服务器。
[0072]实际操作中,各个服务器的用户在定制插件的时候,需要实现日志服务器的特定http接口,插件运行时就能将自身运行的状况通过http请求(POST请求)发送给日志服务器。
[0073]S206:所述日志服务器将运行数据保存为运行日志。
[0074]其中,所述日志服务器会将运行日志中的数据存储在本地数据库或者日志文件中。所述运行日志中记录插件的具体使用情况,包括部署目标服务器列表、部署成败状况、部署次数、下载次数等,记录各个服务器用户的操作,包括部署了哪些插件、部署到的目标服务器,部署人相关信息等等。
[0075]S207:所述日志服务器负责处理大部分运行日志,并向所述管理服务器反馈无法处理的严重信息,如插件崩溃等。
[0076]其中,信息的重要程度和反馈的时机等都可以在各个远程服务器和日志服务器中进行配置。
[0077]S208:当所述管理服务器接收到来自所述日志服务器反馈的重要信息时,处理所
述重要信息。
[0078]本实施例提供的基于服务器集群的插件部署方法能够实现服务器集群系统中大规模的服务器的插件部署,相比逐台部署插件方法效率得到极大提高。[0079]实施例三
[0080]参考图3,图3为本实施例提供的基于服务器集群系统的插件部署装置结构示意图,其中,所述服务器集群系统包括多台服务器,所述装置包括:
[0081]建立模块301,用于分别与所述服务器集群系统中的各个服务器建立连接通道;
[0082]发送模块302,用于通过各个连接通道,并行向各个服务器发送目标插件;
[0083]第一执行模块303,用于远程执行预设命令以完成所述目标插件的部署。
[0084]其中,所述建立模块为具体用于采用paramiko模块,分别与所述服务器集群系统中的各个服务器建立连接通道的模块。
[0085]另外,所述装置还包括:
[0086]第一接收模块,用于接收各个服务器返回的所述目标插件的部署结果。
[0087]同时,所述装置还可以包括:
[0088]第二接收模块,用于接收各个服务器发送的所述目标插件的运行数据;
[0089]存储模块,用于将所述运行数据存储为日志。
[0090]另外,所述装置还可以包括:
[0091]第二执行模块,用于远程执行预设命令以运行各个服务器的目标插件。
[0092]第三执行模块,用于远程执行预设命令以控制各个服务器的目标插件。
[0093]参考图4,图4为本实施例提供的一种基于服务器集群系统的插件部署系统结构示意图,其中,所述服务器集群系统包括多台服务器,所述系统包括第一服务器401和第二服务器402 ;
[0094]所述第一服务器401用于分别与所述服务器集群系统中的各个服务器建立连接通道;通过各个连接通道,并行向各个服务器发送目标插件;远程执行预设命令以完成所述目标插件的部署。
[0095]所述第二服务器402用于接收各个服务器返回的所述目标插件的部署结果,并将所述部署结果发送至所述第一服务器。
[0096]所述第二服务器402还用于接收各个服务器发送的所述目标插件的运行数据,并将所述运行数据存储为日志。
[0097]另外,所述第一服务器具体用于采用paramiko模块,分别与所述服务器集群系统中的各个服务器建立连接通道。
[0098]本实施例提供的基于服务器集群的插件部署装置和系统通过与服务器集群中的服务器建立连接通道,利用连接通道完成插件的部署,这样能够实现服务器集群系统中大规模的服务器的插件部署,相比逐台部署插件方法效率得到极大提高。
[0099]对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0100]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。[0101]以上对本发明实施例所提供的基于服务器集群系统的插件部署方法、装置和系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
【权利要求】
1.一种基于服务器集群系统的插件部署方法,其特征在于,所述服务器集群系统包括多台服务器,所述方法包括: 分别与所述服务器集群系统中的各个服务器建立连接通道; 通过各个连接通道,并行向各个服务器发送目标插件; 远程执行预设命令以完成所述目标插件的部署。
2.根据权利要求1所述的方法,其特征在于,所述分别与所述服务器集群系统中的各个服务器建立连接通道,具体为: 采用paramiko模块,分别与所述服务器集群系统中的各个服务器建立连接通道。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括: 接收各个服务器返回的所述目标插件的部署结果。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括: 接收各个服务器发送的所述目标插件的运行数据; 将所述运行数据存储为日志。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括: 远程执行预设命令以运行各个服务器的目标插件。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括: 远程执行预设命令以控制各个服务器的目标插件。
7.一种基于服务器集群系统的插件部署装置,其特征在于,所述服务器集群系统包括多台服务器,所述装置包括: 建立模块,用于分别与所述服务器集群系统中的各个服务器建立连接通道; 发送模块,用于通过各个连接通道,并行向各个服务器发送目标插件; 第一执行模块,用于远程执行预设命令以完成所述目标插件的部署。
8.根据权利要求7所述的装置,其特征在于,所述建立模块为具体用于采用paramiko模块,分别与所述服务器集群系统中的各个服务器建立连接通道的模块。
9.根据权利要求7或8所述的装置,其特征在于,所述装置还包括: 第一接收模块,用于接收各个服务器返回的所述目标插件的部署结果。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括: 第二接收模块,用于接收各个服务器发送的所述目标插件的运行数据; 存储模块,用于将所述运行数据存储为日志。
11.根据权利要求7所述的装置,其特征在于,所述装置还包括: 第二执行模块,用于 远程执行预设命令以运行各个服务器的目标插件。
12.根据权利要求7所述的装置,其特征在于,所述装置还包括: 第三执行模块,用于远程执行预设命令以控制各个服务器的目标插件。
13.一种基于服务器集群系统的插件部署系统,其特征在于,所述服务器集群系统包括多台服务器,所述系统包括第一服务器; 所述第一服务器用于分别与所述服务器集群系统中的各个服务器建立连接通道;通过各个连接通道,并行向各个服务器发送目标插件;远程执行预设命令以完成所述目标插件的部署。
14.根据权利要求13所述的系统,其特征在于,所述第一服务器具体用于采用paramiko模块,分别与所述服务器集群系统中的各个服务器建立连接通道。
15.根据权利要求13或14所述的系统,其特征在于,所述系统还包括第二服务器,所述第二服务器用于接收各个服务器返回的所述目标插件的部署结果,并将所述部署结果发送至所述第一服务器。
16.根据权利要求15所述的系统,其特征在于,所述第二服务器还用于接收各个服务器发送的所述目标插件的运行数据,并将 所述运行数据存储为日志。
【文档编号】H04L29/08GK103888550SQ201410163117
【公开日】2014年6月25日 申请日期:2014年4月22日 优先权日:2014年4月22日
【发明者】李必忠 申请人:北京搜狐新媒体信息技术有限公司
再多了解一些
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1